:root{--accent:#ff7a1a;--accent-2:#ffc23d;--ink:#f3f1ec;--dim:#f3f1ec9e;--faint:#f3f1ec38;--panel:#0c0e12b8;--panel-solid:#0e1014;--line:#ffffff1a;--font:Bahnschrift, "DIN Alternate", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#07090c;margin:0;overflow:hidden}#game{filter:saturate(1.08)contrast(1.04);width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:none}.screen{display:none;position:absolute;inset:0;pointer-events:auto!important}.screen.on{display:flex}button{color:inherit;cursor:pointer;font-family:inherit}.kbd{border:1px solid var(--faint);text-align:center;letter-spacing:.02em;background:#ffffff0f;border-bottom-width:2px;border-radius:5px;min-width:1.7em;padding:.12em .45em;font-size:.82em;display:inline-block}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:600}.vignette{background:radial-gradient(120% 90% at 50% 40%,#05070a00 40%,#05070ac7 100%)}#loading{z-index:50;background:#07090c;flex-direction:column;justify-content:center;align-items:center;gap:28px;transition:opacity .7s}#loading.fade{opacity:0;pointer-events:none!important}.logo{text-align:center;line-height:.9}.logo .a{letter-spacing:.06em;font-size:clamp(44px,8vw,104px);font-weight:700;font-stretch:75%}.logo .b{letter-spacing:.72em;color:var(--accent);margin-top:14px;padding-left:.72em;font-size:clamp(13px,1.6vw,20px)}.bar{background:var(--line);width:min(420px,60vw);height:3px;overflow:hidden}.bar i{background:var(--accent);width:0%;height:100%;transition:width .25s;display:block}#loadLabel{letter-spacing:.18em;color:var(--dim);text-transform:uppercase;min-height:1.2em;font-size:12px}#loadTip{color:var(--dim);text-align:center;max-width:70vw;font-size:14px;position:absolute;bottom:7vh}#menu{background:linear-gradient(90deg,#05070adb 0%,#05070a59 42%,#05070a00 70%),linear-gradient(#05070a00 60%,#05070a99);justify-content:space-between;align-items:flex-end;padding:6vh 6vw}#menu .left{flex-direction:column;justify-content:space-between;gap:5vh;height:100%;display:flex}#menu .logo{text-align:left}.nav{flex-direction:column;gap:4px;display:flex}.nav button{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);background:0 0;border:0;border-left:3px solid #0000;padding:9px 18px;font-size:clamp(20px,2.5vw,32px);font-stretch:80%;transition:all .16s}.nav button:hover,.nav button:focus-visible{color:var(--ink);border-left-color:var(--accent);background:linear-gradient(90deg,#ff7a1a29,#0000);outline:none;padding-left:28px}.nav button.primary{color:var(--ink)}.statline{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);gap:34px;font-size:13px;display:flex}.statline b{color:var(--ink);letter-spacing:.02em;font-size:26px;font-weight:600;display:block}#menu .right{text-align:right;color:var(--dim);letter-spacing:.08em;align-self:flex-end;font-size:12px;line-height:1.7}.sheet{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:6px;flex-direction:column;width:min(1080px,94vw);max-height:90vh;margin:auto;display:flex;overflow:hidden}.sheet header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:22px 28px 16px;display:flex}.sheet header h2{letter-spacing:.06em;text-transform:uppercase;margin:4px 0 0;font-size:34px;font-weight:600;font-stretch:80%}.sheet .body{padding:22px 28px;overflow:auto}.sheet footer{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;padding:16px 28px;display:flex}.btn{border:1px solid var(--faint);letter-spacing:.14em;text-transform:uppercase;background:#ffffff0d;border-radius:3px;padding:11px 22px;font-size:15px;transition:all .15s}.btn:hover{border-color:var(--ink);background:#ffffff1f}.btn.go{background:var(--accent);border-color:var(--accent);color:#140a02;font-weight:700}.btn.go:hover{background:#ff9440}.btn:disabled{opacity:.35;cursor:not-allowed}.dimmed{background:#05070a8c}#garage{background:linear-gradient(90deg,#05070acc 0%,#05070a00 34% 62%,#05070ad1 100%);justify-content:space-between;align-items:stretch;padding:4vh 4vw}.carlist{flex-direction:column;gap:10px;width:min(330px,30vw);display:flex}.carlist h2,.carinfo h2{letter-spacing:.06em;text-transform:uppercase;margin:6px 0 14px;font-size:34px;font-weight:600;font-stretch:80%}.carcard{border:1px solid var(--line);text-align:left;background:#0c0e1299;border-radius:3px;padding:13px 16px;transition:all .15s;position:relative}.carcard:hover{border-color:var(--faint)}.carcard.sel{border-color:var(--accent);background:#ff7a1a1f}.carcard .k{letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-size:11px}.carcard .n{letter-spacing:.04em;margin-top:2px;font-size:22px}.carcard .tag{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);font-size:11px;position:absolute;top:14px;right:14px}.carinfo{flex-direction:column;justify-content:flex-end;gap:14px;width:min(360px,32vw);display:flex}.carinfo p{color:var(--dim);margin:0;font-size:15px;line-height:1.45}.stat{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);grid-template-columns:96px 1fr 34px;align-items:center;gap:12px;font-size:12px;display:grid}.stat .track{background:var(--line);height:5px}.stat .track i{background:var(--ink);height:100%;transition:width .35s;display:block}.stat b{color:var(--ink);text-align:right;font-size:14px}.specs{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:10px;padding-top:14px;display:grid}.specs div{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:11px}.specs b{color:var(--ink);letter-spacing:.02em;font-size:20px;display:block}.swatches{gap:8px;display:flex}.swatches button{border:2px solid var(--faint);border-radius:50%;width:28px;height:28px;padding:0}.swatches button:hover{border-color:var(--ink)}.row{align-items:center;gap:10px;display:flex}.wallet{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:13px}.wallet b{color:var(--accent-2);font-size:18px}.evgrid{grid-template-columns:minmax(280px,1fr) minmax(300px,420px);gap:22px;display:grid}#bigmap{aspect-ratio:1;border:1px solid var(--line);background:#0b0d10;border-radius:4px;width:100%}.evlist{flex-direction:column;gap:6px;max-height:62vh;padding-right:4px;display:flex;overflow:auto}.ev{border:1px solid var(--line);text-align:left;background:#ffffff08;border-radius:3px;grid-template-columns:8px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.ev:hover{border-color:var(--faint);background:#ffffff12}.ev .dot{border-radius:2px;width:8px;height:34px}.ev .t{letter-spacing:.03em;font-size:17px}.ev .s{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:11px}.ev .r{text-align:right;color:var(--dim);letter-spacing:.06em;font-size:12px}.stars{color:var(--accent-2);letter-spacing:.12em;font-size:15px}.stars i{color:var(--faint);font-style:normal}.setgrid{grid-template-columns:1fr 1fr;gap:16px 34px;display:grid}.set label{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:8px;font-size:12px;display:block}.seg{border:1px solid var(--line);border-radius:3px;display:flex;overflow:hidden}.seg button{border:0;border-right:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);background:0 0;flex:1;padding:9px 6px;font-size:13px}.seg button:last-child{border-right:0}.seg button.on{background:var(--ink);color:#0c0e12;font-weight:700}input[type=range]{width:100%;accent-color:var(--accent)}.note{color:var(--dim);margin-top:6px;font-size:12px;line-height:1.4}#pause{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(90deg,#05070ae6,#05070a80 50%,#05070a40);justify-content:flex-start;align-items:center;padding-left:7vw}#pause h2{letter-spacing:.08em;text-transform:uppercase;margin:6px 0 22px;font-size:52px;font-stretch:80%}.controls{background:var(--panel);border:1px solid var(--line);color:var(--dim);border-radius:6px;grid-template-columns:auto auto;align-items:center;gap:9px 22px;padding:22px 26px;font-size:14px;display:grid;position:absolute;top:50%;right:6vw;transform:translateY(-50%)}.controls h3{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);grid-column:1/-1;margin:0 0 6px;font-size:12px}#results{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05070a99;justify-content:center;align-items:center}.res{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:6px;min-width:min(560px,90vw);padding:38px 46px}.res h2{letter-spacing:.06em;text-transform:uppercase;margin:8px 0 4px;font-size:40px;font-stretch:80%}.res .big{letter-spacing:.02em;font-variant-numeric:tabular-nums;margin:18px 0 6px;font-size:84px;font-weight:700;line-height:1}.res .stars{font-size:40px}.res .pb{color:var(--accent-2);letter-spacing:.24em;text-transform:uppercase;min-height:1.3em;font-size:13px}.res .rew{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);justify-content:center;gap:36px;margin:22px 0 26px;font-size:12px;display:flex}.res .rew b{color:var(--ink);font-size:26px;display:block}.res .targets{color:var(--dim);letter-spacing:.1em;margin-bottom:20px;font-size:12px}#hud{display:none;position:absolute;inset:0}#hud.on{display:block}.cluster{width:300px;height:230px;position:absolute;bottom:3vh;right:2.4vw}.cluster svg{position:absolute;inset:0}.cluster .speed{letter-spacing:-.01em;font-variant-numeric:tabular-nums;text-shadow:0 2px 24px #0009;font-size:86px;font-weight:700;font-stretch:85%;line-height:.8;position:absolute;bottom:54px;right:44px}.cluster .unit{letter-spacing:.3em;color:var(--dim);font-size:13px;position:absolute;bottom:30px;right:46px}.cluster .gear{color:var(--accent);text-shadow:0 2px 16px #0009;font-size:44px;font-weight:700;position:absolute;bottom:62px;left:58px}.cluster .nitro{background:#ffffff24;height:5px;position:absolute;bottom:8px;left:30px;right:44px}.cluster .nitro i{background:linear-gradient(90deg,#25c8ff,#9fe6ff);width:100%;height:100%;display:block}.cluster .nlabel{letter-spacing:.28em;color:var(--dim);font-size:10px;position:absolute;bottom:17px;left:30px}#minimap{background:#0b0d10;border:2px solid #ffffff47;border-radius:50%;width:210px;height:210px;position:absolute;bottom:3vh;left:2.4vw;box-shadow:0 8px 40px #00000080}.place{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);text-shadow:0 1px 8px #000;font-size:12px;position:absolute;bottom:calc(3vh + 224px);left:2.4vw}.place b{color:var(--ink);letter-spacing:.06em;font-size:20px;font-weight:600;display:block}.topleft{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-shadow:0 1px 8px #000;align-items:center;gap:22px;font-size:11px;display:flex;position:absolute;top:3vh;left:2.4vw}.topleft b{color:var(--ink);letter-spacing:.04em;font-size:20px;display:block}.lvl{border:2px solid var(--accent);width:46px;height:46px;color:var(--ink);background:#0c0e1299;border-radius:50%;place-items:center;font-size:20px;font-weight:700;display:grid}.topright{text-align:right;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-shadow:0 1px 8px #000;font-size:12px;position:absolute;top:3vh;right:2.4vw}.topright b{color:var(--ink);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:22px;display:block}#actpanel{text-align:center;min-width:340px;display:none;position:absolute;top:3vh;left:50%;transform:translate(-50%)}#actpanel.on{display:block}#actpanel .name{letter-spacing:.3em;text-transform:uppercase;color:var(--accent);text-shadow:0 1px 8px #000;font-size:12px}#actpanel .timer{font-variant-numeric:tabular-nums;text-shadow:0 2px 20px #000000b3;font-size:54px;font-weight:700;line-height:1.05}#actpanel .sub{letter-spacing:.16em;color:var(--dim);text-transform:uppercase;text-shadow:0 1px 8px #000;font-size:13px}#actpanel .prog{background:#ffffff29;height:4px;margin-top:8px}#actpanel .prog i{background:var(--accent-2);width:0;height:100%;transition:width .3s;display:block}#count{text-shadow:0 6px 60px #000000b3;opacity:0;font-size:190px;font-weight:700;font-stretch:80%;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}#count.pop{animation:.9s ease-out pop}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.7)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}#prompt{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;min-width:380px;padding:14px 22px;display:none;position:absolute;bottom:20vh;left:50%;transform:translate(-50%)}#prompt.on{display:block}#prompt .t{letter-spacing:.04em;margin:2px 0;font-size:24px}#prompt .d{color:var(--dim);margin-bottom:8px;font-size:13px}#prompt .a{letter-spacing:.1em;color:var(--ink);font-size:13px}#toasts{flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:16vh;left:50%;transform:translate(-50%)}.toast{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;min-width:300px;padding:12px 28px 14px;animation:.35s ease-out tin,.5s ease-in 3.6s forwards tout}.toast .k{letter-spacing:.3em;text-transform:uppercase;color:var(--dim);font-size:11px}.toast .v{font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1.1}.toast .s{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:12px}@keyframes tin{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes tout{to{opacity:0;transform:translateY(-10px)}}#drift{text-align:center;text-shadow:0 2px 16px #000000b3;display:none;position:absolute;top:24vh;left:50%;transform:translate(-50%)}#drift.on{display:block}#drift .k{letter-spacing:.3em;text-transform:uppercase;color:#b6ff3b;font-size:12px}#drift .v{font-variant-numeric:tabular-nums;font-size:46px;font-weight:700}#hint{color:var(--dim);white-space:nowrap;background:#0c0e128c;border-radius:30px;gap:20px;padding:9px 18px;font-size:13px;transition:opacity 1.2s;display:flex;position:absolute;bottom:3.4vh;left:50%;transform:translate(-50%)}#hint.hide{opacity:0}#flash{letter-spacing:.24em;text-transform:uppercase;color:var(--ink);opacity:0;text-shadow:0 1px 8px #000;font-size:13px;transition:opacity .4s;position:absolute;top:12vh;right:2.4vw}#flash.on{opacity:1}#warn{letter-spacing:.24em;text-transform:uppercase;color:var(--accent-2);text-shadow:0 1px 10px #000;font-size:15px;display:none;position:absolute;top:44%;left:50%;transform:translate(-50%)}#warn.on{display:block}@media (max-width:900px){.carcard .tag{margin-top:4px;display:block;position:static}.carlist h2,.carinfo h2{font-size:24px}.cluster .speed{font-size:70px}.cluster{transform-origin:100% 100%;transform:scale(.75)}#minimap{width:150px;height:150px}.place{bottom:calc(3vh + 162px)}.controls,#hint{display:none}.evgrid,.setgrid{grid-template-columns:1fr}}
