:root{--c-ink:#f4f1ea;--c-ink-hi:#fff;--c-ink-2:#c3c8d4;--c-ink-3:#a0a9ba;--c-base:#0d1017;--c-panel:#090b11cc;--c-panel-2:#10131cdb;--c-line:#ffffff14;--c-line-2:#ffffff29;--c-accent:#ff7a1a;--c-accent-2:#ffa24a;--c-accent-3:#ffcb94;--c-accent-deep:#c74a0a;--c-accent-glow:#ff7a1a73;--c-on-accent:#170a02;--c-nos:#3fd2ff;--c-nos-2:#bff1ff;--c-time:#b38bff;--c-time-2:#e6d6ff;--c-ok:#3ddc84;--c-warn:#ffb020;--c-danger:#ff3b4a;--c-danger-2:#ff7480;--c-cop-red:#ff2a3c;--c-cop-blue:#2f7bff;--c-gold:#eed29d;--c-silver:#bed2df;--c-bronze:#d49b76;--g-primary:linear-gradient(180deg, #ff9442, #ff6a10);--g-panel:linear-gradient(180deg, #0e1119e6, #080a0fcc);--g-panel-deep:radial-gradient(ellipse at 0% 0%, #354c6333, transparent 55%), linear-gradient(160deg, #181e29fa, #090d14fa);--f-ui:Barlow, system-ui, -apple-system, "Segoe UI", sans-serif;--f-num:"Big Shoulders Display", Barlow, system-ui, sans-serif;--t-caption:11px;--t-label:12px;--t-body:13px;--t-body-lg:14px;--t-num:16px;--t-num-lg:22px;--r-1:4px;--r-2:8px;--r-3:14px;--r-pill:999px;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-snap:cubic-bezier(.3, 1.45, .55, 1);--safe-t:max(env(safe-area-inset-top), 12px);--safe-r:max(env(safe-area-inset-right), 12px);--safe-b:max(env(safe-area-inset-bottom), 12px);--safe-l:max(env(safe-area-inset-left), 12px);--shadow-panel:0 10px 30px #00000061, inset 0 1px 0 #ffffff0f;--text-shadow:0 1px 2px #000000bf, 0 0 10px #00000059}.hud,.hud *,.hud :before,.hud :after{box-sizing:border-box}.is-touch{--t-caption:12px}.hud{pointer-events:none;color:var(--c-ink);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;position:fixed;inset:0}.hud kbd{border:1px solid var(--c-line-2);border-radius:var(--r-1);min-width:1.6em;font:700 var(--t-caption)/1.4 var(--f-ui);letter-spacing:.08em;color:var(--c-ink);text-align:center;background:#ffffff0d;border-bottom-width:2px;margin:0 2px 0 8px;padding:1px 6px;display:inline-block}.hud-badge{background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r-1);font:700 var(--t-label)/1 var(--f-num);letter-spacing:.18em;text-transform:uppercase;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-panel);padding:5px 10px;position:absolute}.hud-hub-name{top:var(--safe-t);left:var(--safe-l);background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r-pill);color:var(--c-ink);font:600 var(--t-body) var(--f-ui);z-index:40;margin:0;padding:4px 10px;position:absolute}.hud-debug{left:var(--safe-l);bottom:calc(var(--safe-b) + 4px);color:var(--c-ink-2)}.hud-online{left:var(--safe-l);top:var(--safe-t);color:var(--c-accent-2);align-items:center;gap:8px;display:flex}.hud-online-dot{background:var(--c-ok);width:7px;height:7px;box-shadow:0 0 8px var(--c-ok);border-radius:50%;animation:1.4s ease-in-out infinite live-dot}@keyframes live-dot{50%{opacity:.35}}.hud-error{left:50%;bottom:calc(var(--safe-b) + 16px);background:var(--c-panel-2);border-radius:var(--r-2);max-width:calc(100vw - 32px);font:600 var(--t-label)/1.4 var(--f-ui);color:var(--c-ink);box-shadow:var(--shadow-panel);pointer-events:auto;z-index:120;border:1px solid #ff3b4a73;align-items:center;gap:14px;padding:10px 12px 10px 16px;display:flex;position:absolute;transform:translate(-50%)}.hud-error button{background:var(--c-accent);border-radius:var(--r-1);min-height:44px;color:var(--c-on-accent);font:800 var(--t-label) var(--f-ui);letter-spacing:.16em;border:none;flex-shrink:0;padding:0 16px}.hud-hint{left:calc(var(--safe-l) + 8px);bottom:calc(var(--safe-b) + 8px);background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r-2);max-width:min(520px,100vw - 330px);font:600 var(--t-caption)/1.6 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-2);text-align:center;box-shadow:var(--shadow-panel);animation:hint-in .5s var(--ease-out) .6s both, hint-out .4s ease-in 6.5s forwards;z-index:2;padding:8px 14px;position:absolute}@keyframes hint-in{0%{opacity:0;transform:translateY(10px)}}@keyframes hint-out{to{opacity:0;transform:translateY(6px)}}.hud-cluster{right:calc(var(--safe-r) + 8px);bottom:calc(var(--safe-b) + 6px);z-index:3;flex-direction:row;align-items:flex-end;gap:6px;display:flex;position:absolute}.hud-cluster>.drift{margin-bottom:14px}.hud-cluster-touch{right:auto;left:max(env(safe-area-inset-left), var(--touch-edge,14px));bottom:calc(max(env(safe-area-inset-bottom), var(--touch-edge,14px)) + var(--wheel-size,128px) + 10px);flex-direction:row-reverse;align-items:center}.hud-cluster-touch>.drift{margin-bottom:0}.cluster{--cl-size:248px;width:var(--cl-size);height:var(--cl-size);flex-shrink:0;position:relative}.cluster:before{content:"";border-radius:50%;position:absolute;inset:3%;box-shadow:0 10px 26px #0000008c}.cluster-compact{--cl-size:176px}.is-touch .cluster{--cl-size:var(--mobile-cluster-size,116px)}.is-portrait .hud-cluster-touch{flex-direction:column;align-items:flex-start}.cluster-layer{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dial-inner-ring{stroke:#ffffff0d;stroke-width:1px}.dial-track{fill:none;stroke:#ffffff17;stroke-width:9px}.dial-track-thin{stroke-width:6px}.dial-redline{fill:none;stroke:var(--c-cop-red);stroke-width:4px;opacity:.95}.dial-tick{stroke:#e6ebf573;stroke-width:1.2px}.dial-tick-major{stroke:#f5f8fff2;stroke-width:2.4px}.dial-tick-red{stroke:var(--c-cop-red);stroke-width:2.4px}.dial-num{font:800 15px var(--f-num);fill:var(--c-ink);text-anchor:middle}.dial-num-red{fill:var(--c-danger-2)}.dial-caption{font:700 var(--t-caption) var(--f-ui);letter-spacing:.14em;fill:#c8cedc73;text-anchor:middle}.cluster-compact .dial-caption,.is-touch .dial-caption,.is-touch .dial-num{display:none}.cluster-compact .dyn-unit{font-size:13px}.cluster-compact .dyn-glyph{font-size:16px}.is-touch .dyn-unit{display:none}.is-touch .dyn-glyph{font-size:24px}.dial-led-socket{fill:#0000008c;stroke:#ffffff1a;stroke-width:1px}.dyn-arc{fill:none;stroke-dasharray:100 100;stroke-dashoffset:100px;stroke-linecap:butt}.dyn-rpm{stroke:url(#cl-fill);stroke-width:9px}.dyn-nos{stroke:var(--c-nos);stroke-width:6px}.dyn-time{stroke:var(--c-time);stroke-width:6px}.dyn-hp{stroke:var(--c-ok);stroke-width:6px;transition:stroke .3s}.cluster.is-hurt .dyn-hp{stroke:var(--c-warn)}.cluster.is-lowhp .dyn-hp{stroke:var(--c-danger);animation:.8s steps(2,jump-none) infinite blink}.cluster.is-nos .dyn-nos{stroke:var(--c-nos-2);animation:.16s linear infinite alternate blink}.cluster.is-time .dyn-time{stroke:var(--c-time-2)}@keyframes blink{50%{opacity:.35}}.dyn-led{fill:#0000;transition:fill 60ms}.dyn-led.on.dyn-led-0,.dyn-led.on.dyn-led-1{fill:#4dff9a}.dyn-led.on.dyn-led-2{fill:#ffd23f}.dyn-led.on.dyn-led-3,.dyn-led.on.dyn-led-4{fill:#ff3040}.dyn-led.flash{fill:#9fd4ff!important}.dyn-label{font:800 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-anchor:middle}.dyn-label-nos{fill:var(--c-nos)}.dyn-label-hp{fill:var(--c-ok)}.dyn-label-time{fill:var(--c-time)}.dyn-glyph{letter-spacing:0;font-size:13px;font-weight:900}.dyn-speed{font:800 50px var(--f-num);fill:var(--c-ink-hi);text-anchor:middle;letter-spacing:-.5px;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#0000008c;stroke-width:3px}.dyn-speed-ghost{fill:#ffffff21;stroke:none}.dyn-unit{font:800 var(--t-caption) var(--f-ui);letter-spacing:.18em;fill:var(--c-accent-2);text-anchor:middle}.cluster-needle{transform-origin:50%;will-change:transform;filter:drop-shadow(0 0 4px #ff6a1fa6);position:absolute;inset:0}.cluster-needle svg{width:100%;height:100%;display:block}.hub-disc{fill:var(--c-base);stroke:#ffffff2e;stroke-width:1.5px}.cluster-shift-ring{fill:none;stroke:var(--c-accent);stroke-width:3px;opacity:0}.hub-gear{font:900 28px var(--f-num);fill:var(--c-ink-hi);text-anchor:middle;transform-box:fill-box;transform-origin:50%}.cluster.is-limiter .hub-gear{fill:var(--c-danger)}.drift{flex-direction:column;align-items:flex-end;gap:4px;min-height:0;display:flex;position:relative}.hud-cluster-touch .drift{align-items:flex-start}.drift-live{border-right:3px solid var(--c-nos);opacity:0;transition:opacity .18s var(--ease-out), transform .22s var(--ease-out);background:linear-gradient(270deg,#04121cd1,#04121c00);flex-direction:column;align-items:flex-end;padding:6px 12px 7px;display:flex;transform:translate(14px)}.hud-cluster-touch .drift-live{border-right:none;border-left:3px solid var(--c-nos);background:linear-gradient(90deg,#04121cd1,#04121c00);align-items:flex-start;transform:translate(-14px)}.drift-live.on{opacity:1;transform:none}.drift-live-num{font:800 40px/.95 var(--f-num);color:var(--c-nos-2);text-shadow:0 0 18px #3fd2ff8c, var(--text-shadow);font-variant-numeric:tabular-nums;transform-origin:100%}.drift-live-sub{font:800 var(--t-caption)/1.2 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--c-nos);text-shadow:var(--text-shadow)}.drift-bank{background:var(--c-panel);border-radius:var(--r-1);opacity:0;transform-origin:100%;border:1px solid #3fd2ff47;align-items:baseline;gap:8px;padding:4px 10px;transition:opacity .2s;display:flex}.drift-bank.on{opacity:1}.drift-bank-k{font:800 var(--t-caption) var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--c-nos)}.drift-bank-v{font:800 var(--t-num) var(--f-num);color:var(--c-nos-2);font-variant-numeric:tabular-nums}.drift-banked{white-space:nowrap;font:800 var(--t-label) var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--c-nos-2);text-shadow:var(--text-shadow);opacity:0;position:absolute;bottom:100%;right:0}.hud-cluster-touch .drift-banked{left:0;right:auto}.hud-tc{top:var(--safe-t);z-index:3;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 680px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.is-compact{--hud-side-reserve:216px}.hud-tc-compact{max-width:calc(100vw - 2 * var(--hud-side-reserve));gap:6px}.is-compact .toast{white-space:normal;min-width:0}.pills{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:6px;display:flex}.pill{background:var(--g-panel);border:1px solid var(--c-line);border-radius:var(--r-1);height:38px;box-shadow:var(--shadow-panel);white-space:nowrap;animation:pill-in .32s var(--ease-out) both;align-items:center;gap:8px;padding:0 14px;display:flex}.hud-tc-compact .pill{gap:5px;height:30px;padding:0 8px}.hud-tc-compact .pills{gap:4px}.hud-tc-compact .pill-mono{min-width:5em}.hud-tc-compact .pill-k{letter-spacing:.12em}@keyframes pill-in{0%{opacity:0;transform:translateY(-8px)}}.pill-k{font:800 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-2);text-shadow:var(--text-shadow)}.pill-v{font:800 var(--t-num-lg)/1 var(--f-num);color:var(--c-ink);font-variant-numeric:tabular-nums;text-shadow:var(--text-shadow)}.hud-tc-compact .pill-v{font-size:17px}.pill-v small{font-size:var(--t-body);color:var(--c-ink-3);margin-left:1px}.pill-v .pill-suf{font-size:var(--t-caption);color:var(--c-ink-2);vertical-align:top;margin-right:2px}.pill-time{border-color:#ff7a1a59}.pill-mono{color:var(--c-accent-2);text-align:center;min-width:5.4em}.pill-nav{gap:6px}.nav-arrow{width:22px;height:22px;fill:var(--c-accent);filter:drop-shadow(0 0 4px #ff7a1a99);will-change:transform}.hud-tc-compact .nav-arrow{width:18px;height:18px}.pill-nav.near{border-color:#ff7a1ab3}.pill-nav.near .nav-arrow{fill:var(--c-accent-3)}.mode-panel{text-align:center;background:var(--g-panel);border:1px solid var(--c-line);border-top:2px solid var(--mode-accent,var(--c-accent));border-radius:var(--r-1);min-width:210px;box-shadow:var(--shadow-panel);animation:pill-in .36s var(--ease-out) both;padding:8px 16px 10px}.turn-cue{border-radius:var(--r-1);min-width:210px;max-width:100%;box-shadow:var(--shadow-panel);background:linear-gradient(100deg,#1c1511db,#090d14cc);border:1px solid #ffb35c3d;align-items:center;gap:12px;padding:8px 12px;display:flex}.turn-cue svg{fill:none;width:30px;height:30px;stroke:var(--c-accent-2);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}.turn-cue .turn-left{transform:scaleX(-1)}.turn-cue div{white-space:nowrap;flex:1;gap:2px;display:grid}.turn-cue span{color:var(--c-ink-3);font:700 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-transform:uppercase}.turn-cue strong{color:var(--c-ink);font:800 var(--t-body-lg) var(--f-ui);text-transform:uppercase}.turn-cue b{color:var(--c-accent-3);font:800 24px var(--f-num);font-variant-numeric:tabular-nums}.turn-cue small{color:var(--c-ink-3);font-size:var(--t-label);margin-left:2px}.turn-cue.braking{border-color:#ff664db3}.turn-cue.braking svg,.turn-cue.braking span{color:var(--c-danger-2);stroke:var(--c-danger-2)}.results-st-score{color:var(--c-accent-2);font:700 14px var(--f-num);white-space:nowrap;font-variant-numeric:tabular-nums}.hud-tc-compact .turn-cue{gap:8px;min-width:180px;padding:5px 9px}.hud-tc-compact .turn-cue svg{width:24px;height:24px}.hud-tc-compact .turn-cue strong{font-size:var(--t-label)}.hud-tc-compact .turn-cue b{font-size:20px}.hud-tc-compact .mode-panel{min-width:180px;padding:5px 12px 7px}.mode-knockout{--mode-accent:#ff4d7a}.mode-trap{--mode-accent:var(--c-nos)}.mode-pursuit{--mode-accent:var(--c-cop-red);min-width:260px}.mode-pursuit.evading{--mode-accent:var(--c-ok)}.mode-k{font:800 var(--t-label) var(--f-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--mode-accent,var(--c-accent))}.mode-v{font:800 30px/1.05 var(--f-num);color:var(--c-ink);font-variant-numeric:tabular-nums}.hud-tc-compact .mode-v{font-size:22px}.mode-v small{font-size:var(--t-body);letter-spacing:.08em;color:var(--c-ink-3)}.mode-note{font:600 var(--t-caption)/1.3 var(--f-ui);letter-spacing:.02em;color:var(--c-ink-2);margin-top:2px}.hud-tc-compact .mode-note{display:none}.pursuit-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.pursuit-clock{font:800 30px/1 var(--f-num);color:var(--c-ink);font-variant-numeric:tabular-nums}.hud-tc-compact .pursuit-clock{font-size:22px}.pursuit-clock.urgent{color:var(--c-danger-2);animation:.9s ease-in-out infinite blink}.evade{align-items:center;gap:8px;margin-top:6px;display:flex}.evade-k{font:800 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ok)}.evade-bar{border-radius:var(--r-1);background:#ffffff14;flex:1;height:8px;position:relative;overflow:hidden}.evade-fill{transform-origin:0;background:linear-gradient(90deg,#1fae62,#7dffb4);transition:transform .14s linear;position:absolute;inset:0;box-shadow:0 0 10px #3ddc8499}.evade-ticks{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#0000008c calc(10% - 1px) 10%);position:absolute;inset:0}.evade-v{font:800 14px var(--f-num);color:var(--c-ink);font-variant-numeric:tabular-nums;text-align:right;min-width:4.2em}.evade-v small{color:var(--c-ink-3)}.wrong-way{font:900 22px var(--f-num);letter-spacing:.3em;text-transform:uppercase;color:var(--c-ink-hi);text-shadow:var(--text-shadow);animation:pill-in .26s var(--ease-out) both, blink 1s ease-in-out .26s infinite;background:linear-gradient(90deg,#78081200,#a00c18db,#78081200);align-items:center;gap:10px;padding:6px 18px;display:flex}.wrong-way-icon{font-size:1.1em}.mode-officer{border-top-color:var(--c-cop-blue)}.tc-pedal.tc-siren{--tone:var(--c-cop-red)}.tc-pedal.tc-block{--tone:var(--c-cop-blue)}.officer-siren{font:800 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-3)}.officer-siren.on{color:var(--c-cop-red);animation:.5s steps(2,jump-none) infinite blink}.officer-row{font:700 var(--t-label) var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-2);justify-content:space-between;gap:14px;margin-top:4px;display:flex}.officer-row strong{color:var(--c-ink)}.rotate-hint{background:var(--c-panel-2);border:1px solid var(--c-line-2);border-radius:var(--r-2);max-width:calc(100vw - 24px);font:600 var(--t-label)/1.4 var(--f-ui);color:var(--c-ink);box-shadow:var(--shadow-panel);pointer-events:auto;z-index:30;align-items:center;gap:12px;padding:8px 10px 8px 14px;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%)}.rotate-hint button{background:var(--c-accent);border-radius:var(--r-1);min-height:36px;color:var(--c-on-accent);font:800 var(--t-label) var(--f-ui);letter-spacing:.14em;text-transform:uppercase;border:none;flex-shrink:0;padding:0 12px}.pill-toll .pill-v{color:var(--c-warn)}.pill-toll.missed .pill-v{color:var(--c-ink-3);text-decoration:line-through}.mode-knockout.danger{border-color:#ff3b4ab3}.mode-knockout.danger .mode-note{color:var(--c-danger-2)}.evade-fill.ready{background:var(--c-ok)}.heat-bar{border-radius:var(--r-pill);background:#ffffff1a;height:3px;margin:6px 0 5px;overflow:hidden}.heat-bar-fill{transform-origin:0;background:var(--heat-accent,var(--c-warn));height:100%;transition:transform .18s linear}.heat-bar-fill.cooling{background:var(--c-nos)}.heat-tip{font:500 var(--t-caption)/1.3 var(--f-ui);letter-spacing:.02em;color:var(--c-ink-2);margin-top:5px}.place{top:calc(var(--safe-t) + 170px + 14px);right:calc(var(--safe-r) + 2px);z-index:3;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}.place-main{animation:place-pop .42s var(--ease-snap) both;text-shadow:var(--text-shadow);align-items:flex-start;padding:2px 4px 0 14px;display:flex}@keyframes place-pop{0%{opacity:.2;transform:scale(1.25)}}.place-num{font:900 76px/.82 var(--f-num);color:var(--c-ink);font-variant-numeric:tabular-nums}.place-side{flex-direction:column;justify-content:space-between;align-self:stretch;margin-left:4px;display:flex}.place-suf{font:900 24px/1 var(--f-num);color:var(--c-accent)}.place-of{font:800 20px/1 var(--f-num);color:var(--c-ink-2)}.standings{border-right:2px solid var(--c-line-2);background:linear-gradient(270deg,#080a0fe6,#080a0fbd);min-width:150px;margin:0;padding:4px 0;list-style:none}.st{font:700 var(--t-label) var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-2);align-items:center;gap:8px;padding:3px 10px;display:flex}.st.me{color:var(--c-ink);background:linear-gradient(270deg,#ff7a1a59,#ff7a1a00)}.st.out{opacity:.4;text-decoration:line-through}.st-pos{width:1.2em;font:800 14px var(--f-num);color:var(--c-ink-3)}.st.me .st-pos{color:var(--c-accent-2)}.st-chip{width:4px;height:14px}.toasts{top:max(calc(var(--hud-tc-bottom,56px) + 8px), calc(var(--safe-t) + 56px));max-width:calc(100vw - 2 * var(--hud-side-reserve,196px));z-index:4;transition:top .2s var(--ease-out);flex-direction:column;align-items:stretch;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{--tone:var(--c-accent-2);border-left:3px solid var(--tone);border-radius:var(--r-1);min-width:220px;box-shadow:var(--shadow-panel);white-space:nowrap;animation:toast-in .28s var(--ease-snap) both;background:linear-gradient(90deg,#080a10eb,#080a10b3);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:7px 18px 7px 12px;display:flex}.toast.leaving{animation:.22s ease-in forwards toast-out}.toast-boost{--tone:var(--c-nos)}.toast-danger{--tone:var(--c-danger)}.toast-mark{background:var(--tone);width:8px;height:8px;box-shadow:0 0 10px var(--tone);transform:rotate(45deg)}.toast-label{font:900 20px/1 var(--f-num);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-hi)}.toast-detail{font:800 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--tone)}.toast-count{font:900 13px/1 var(--f-num);color:var(--c-ink-hi);animation:toast-bump .26s var(--ease-snap) both;margin-left:2px}@keyframes toast-bump{0%{opacity:.4;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.toast-count{animation:none}}.is-compact .toast{min-width:0;max-width:calc(100vw - 352px);padding:5px 12px 5px 9px;overflow:hidden}.is-compact .toast-detail{text-overflow:ellipsis;min-width:0;overflow:hidden}.is-compact .toast-label{font-size:16px}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)scale(.92)}}@keyframes toast-out{to{opacity:0;transform:translate(24px)}}.cd{z-index:5;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:18%;left:0;right:0}.is-compact .cd{gap:4px;top:12%}.cd-gantry{border-radius:var(--r-pill);animation:pill-in .3s var(--ease-out) both;background:linear-gradient(#161a22,#07090d);border:1px solid #ffffff1f;gap:14px;padding:10px 18px;display:flex;box-shadow:0 12px 30px #0000008c,inset 0 1px #ffffff1a}.cd-gantry-go{animation:.65s ease-out both gantry-go}@keyframes gantry-go{0%{transform:scale(1.06)}25%{transform:scale(1)}72%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.is-compact .cd-gantry{gap:9px;padding:6px 12px}.cd-lamp{background:radial-gradient(circle at 40% 35%,#2a2e36,#0c0e12 70%);border-radius:50%;width:34px;height:34px;position:relative;box-shadow:inset 0 2px 6px #000c}.is-compact .cd-lamp{width:22px;height:22px}.cd-lamp:after{content:"";opacity:0;border-radius:50%;transition:opacity 90ms;position:absolute;inset:0}.cd-lamp-red:after{opacity:1;background:radial-gradient(circle at 40% 35%,#ffd0d0,#ff2a3c 45%,#8a0010 100%);box-shadow:0 0 22px 4px #ff2a3cb3}.cd-lamp-green:after{opacity:1;background:radial-gradient(circle at 40% 35%,#e8ffe8,#2bff7a 45%,#00702f 100%);box-shadow:0 0 26px 6px #2bff7ab3}.cd-num{font:900 clamp(110px, 25vh, 230px) / .9 var(--f-num);color:var(--c-ink-hi);-webkit-text-stroke:3px #0a0c12d9;paint-order:stroke fill;text-shadow:0 0 30px #ff7a1af2,0 0 70px #ff5a148c,0 6px #0006;animation:cd-in 1s var(--ease-out) both;will-change:transform, opacity, filter}.is-compact .cd-num{-webkit-text-stroke-width:2px;font-size:clamp(72px,24vh,130px)}.cd-num-go{color:#e9fff0;text-shadow:0 0 46px #2bff7ad9,0 6px #00000059;animation:cd-go .65s var(--ease-snap) both;letter-spacing:.04em}@keyframes cd-in{0%{opacity:0;filter:blur(10px);transform:scale(1.7)}18%{opacity:1;filter:blur();transform:scale(1)}88%{opacity:1;transform:scale(.97)}to{opacity:.7;transform:scale(.93)}}@keyframes cd-go{0%{opacity:0;filter:blur(8px);transform:scale(.5)}35%{opacity:1;filter:blur();transform:scale(1.12)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.cd-burst{width:260px;height:260px;animation:cd-burst .62s var(--ease-out) both;pointer-events:none;border:6px solid #78ffaacc;border-radius:50%;margin:-130px 0 0 -130px;position:absolute;top:calc(50% + 20px);left:50%;box-shadow:0 0 40px #2bff7a99,inset 0 0 40px #2bff7a66}@keyframes cd-burst{0%{opacity:.95;transform:scale(.25)}to{opacity:0;transform:scale(2.6)}}.cd-flash{pointer-events:none;background:radial-gradient(at 50% 40%,#dcffe68c,#dcffe600 70%);animation:.42s ease-out both cd-flash;position:fixed;inset:0}@keyframes cd-flash{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.cd-gantry,.cd-gantry-go,.cd-num,.cd-num-go{opacity:1;animation:none}.cd-burst,.cd-flash{display:none}}.heat{top:var(--safe-t);left:var(--safe-l);background:var(--g-panel);border:1px solid var(--c-line);border-left:3px solid var(--heat-accent,var(--c-warn));border-radius:var(--r-1);min-width:176px;box-shadow:var(--shadow-panel);z-index:3;animation:pill-in .3s var(--ease-out) both;padding:8px 12px 9px;position:absolute}.heat-hot{--heat-accent:var(--c-cop-red)}.heat-compact{min-width:0;padding:5px 9px 6px}.heat-head{align-items:center;gap:7px;display:flex}.heat-badge{width:16px;height:16px;fill:var(--heat-accent,var(--c-warn))}.heat-badge-star{fill:var(--c-base)}.heat-title{font:800 var(--t-label) var(--f-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--c-ink-2)}.heat-level{font:900 var(--t-num-lg)/1 var(--f-num);color:var(--heat-accent,var(--c-warn));margin-left:auto}.heat-chevrons{gap:4px;margin:6px 0 4px 4px;display:flex}.heat-chev{background:#ffffff1a;width:24px;height:10px;transform:skew(-28deg)}.heat-compact .heat-chev{width:18px;height:8px}.heat-chev.on{background:var(--c-warn);box-shadow:0 0 8px #ffb0208c}.heat-chev.on.red{background:var(--c-cop-red);animation:.5s step-end infinite siren-a;box-shadow:0 0 10px #ff2a3cb3}.heat-chev.on.blue{background:var(--c-cop-blue);animation:.5s step-end .25s infinite siren-a;box-shadow:0 0 10px #2f7bffb3}@keyframes siren-a{50%{opacity:.35}}.heat-sub{font:700 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-3)}.heat-compact .heat-sub{display:none}.siren{pointer-events:none;z-index:1;position:absolute;inset:0}.siren-l,.siren-r{opacity:0;width:22vw;position:absolute;top:0;bottom:0}.siren-l{background:linear-gradient(90deg,#2f7bff57,#2f7bff00);left:0}.siren-r{background:linear-gradient(270deg,#ff2a3c57,#ff2a3c00);right:0}.siren-warm .siren-r{opacity:.35;background:linear-gradient(270deg,#ff962838,#ff962800)}.siren-warm .siren-l{opacity:.35;background:linear-gradient(90deg,#ff962838,#ff962800)}.siren-on .siren-l{animation:.8s step-end infinite siren-edge}.siren-on .siren-r{animation:.8s step-end .4s infinite siren-edge}@keyframes siren-edge{0%{opacity:1}50%{opacity:.12}}html[data-quality=low] .siren-on .siren-l,html[data-quality=low] .siren-on .siren-r{opacity:.55;animation:none}.sfx{pointer-events:none;z-index:1;position:absolute;inset:0}.sfx-layer{opacity:0;will-change:opacity;position:absolute;inset:0}.sfx-impact{background:radial-gradient(at 50% 55%,#ff1e2800 56%,#ff1e284d 80%,#780008b8 100%)}.sfx-lowhp{background:radial-gradient(#a0000c00 56%,#a0000c3d 82%,#5a0006a3 100%);transition:opacity .4s}.sfx-lowhp.on{animation:1.1s ease-in-out infinite lowhp}@keyframes lowhp{0%,to{opacity:.45}18%{opacity:1}34%{opacity:.6}48%{opacity:.95}}.sfx-nos{transition:opacity .24s var(--ease-out);background:radial-gradient(#3cc8ff00 58%,#3cc8ff38 88%,#8278ff5c 100%)}.sfx-nos.on{opacity:1;animation:.14s linear infinite alternate nos-flicker}@keyframes nos-flicker{to{opacity:.78}}.results{padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);pointer-events:auto;z-index:80;touch-action:pan-y;background:radial-gradient(at 50% 40%,#0a0c13bd,#030407ed 72%);justify-content:center;align-items:center;animation:.26s ease-out both fade-in;display:flex;position:absolute;inset:0;overflow:hidden auto}.results-sweep{transform-origin:0;height:92px;animation:sweep .7s var(--ease-out) both;pointer-events:none;background:linear-gradient(90deg,#ff7a1a00,#ff7a1a3d,#ff7a1a00);position:absolute;top:34px;left:-60vw;right:-60vw;-webkit-mask-image:linear-gradient(#0000,#000 30% 70%,#0000);mask-image:linear-gradient(#0000,#000 30% 70%,#0000)}.results-win .results-sweep{background:linear-gradient(90deg,#ffbe3c00,#ffbe3c47,#ffbe3c00)}.results-lose .results-sweep{background:linear-gradient(90deg,#ff2a3c00,#ff2a3c42,#ff2a3c00)}@keyframes sweep{0%{opacity:0;transform:scaleX(0)}}@keyframes fade-in{0%{opacity:0}}.results-card{text-align:center;width:min(520px,100%);margin:auto;padding:22px 26px;position:relative}.results-kicker{font:800 var(--t-label) var(--f-ui);letter-spacing:.3em;text-transform:uppercase;color:var(--c-ink-3);animation:rise .4s var(--ease-out) 80ms both}.results-title{text-wrap:balance;overflow-wrap:anywhere;font:900 clamp(40px, 6.2vw, 84px) / 1 var(--f-num);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-hi);text-shadow:0 0 34px #ff7a1a80,0 4px #0006;animation:slam .52s var(--ease-snap) .12s both;margin-top:4px;position:relative}.results-win .results-title{color:#ffe2a8;text-shadow:0 0 40px #ffbe3ca6,0 4px #0006}.results-lose .results-title{color:#ffd0d4;text-shadow:0 0 40px #ff2a3c99,0 4px #0006}@keyframes slam{0%{opacity:0;filter:blur(8px);transform:scale(1.6)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.results-place{animation:rise .42s var(--ease-out) .22s both;justify-content:center;align-items:flex-start;margin-top:6px;display:flex}.results-place-num{font:900 64px/.85 var(--f-num);color:var(--c-ink-hi)}.results-place-suf{font:900 22px var(--f-num);color:var(--c-accent);margin:2px 8px 0 2px}.results-place-of{font:800 16px var(--f-num);letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink-3);align-self:flex-end}.results-sub{font:600 var(--t-body)/1.5 var(--f-ui);letter-spacing:.01em;color:var(--c-ink-2);margin-top:8px}.results-rows{border-top:1px solid var(--c-line);margin-top:16px}.results-row{border-bottom:1px solid var(--c-line);animation:row-in .38s var(--ease-out) both;justify-content:space-between;align-items:center;gap:12px;padding:9px 4px;display:flex}@keyframes row-in{0%{opacity:0;transform:translate(-18px)}}.results-k{text-align:left;min-width:0;font:700 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-3)}.results-v{text-align:right;min-width:0;font:800 var(--t-num-lg) var(--f-num);color:var(--c-ink-hi);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.results-badge{background:var(--c-accent);color:var(--c-on-accent);border-radius:var(--r-1);font:900 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-transform:uppercase;animation:badge-pop .5s var(--ease-snap) 1.1s both;padding:2px 7px}@keyframes badge-pop{0%{opacity:0;transform:scale(2)}}.results-standings{gap:3px;margin:14px 0 0;padding:0;list-style:none;display:grid}.results-st{border-radius:var(--r-1);font:700 var(--t-label) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-2);animation:row-in .36s var(--ease-out) both;background:#ffffff08;align-items:center;gap:10px;padding:5px 10px;display:flex}.results-st-name{overflow-wrap:anywhere;text-align:left;min-width:0}.results-st-pos,.results-st-chip,.results-st-tag{flex-shrink:0}.results-st.me{color:var(--c-ink);background:linear-gradient(90deg,#ff7a1a4d,#ff7a1a0a)}.results-st-pos{width:1.4em;font:800 var(--t-num) var(--f-num);color:var(--c-ink-3)}.results-st.me .results-st-pos{color:var(--c-accent-2)}.results-st-chip{width:4px;height:16px}.results-st-tag{color:var(--c-danger);margin-left:auto}.results-actions{animation:rise .4s var(--ease-out) .7s both;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.is-compact .results-card{padding:8px 12px}.is-compact .results-title{font-size:clamp(32px,9vh,50px)}.is-compact .results-sweep{height:64px;top:14px}.is-compact .results-rows{margin-top:8px}.is-compact .results-row{padding:5px 4px}.is-compact .results-v{font-size:18px}.is-compact .results-standings{display:none}.is-compact .results-actions{margin-top:10px}.btn{border-radius:var(--r-1);min-height:44px;font:800 var(--t-body) var(--f-ui);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;pointer-events:auto;transition:transform .12s var(--ease-out), background-color .16s, border-color .16s, color .16s, box-shadow .16s;-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 26px;display:inline-flex;position:relative}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{color:var(--c-on-accent);background:var(--g-primary);box-shadow:0 6px 18px #ff6a1052,inset 0 1px #ffffff59}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 26px #ff6a1080,inset 0 1px #ffffff73}.btn-accent{color:var(--c-on-accent);background:var(--c-accent-2)}.btn-ghost{color:var(--c-ink);border-color:var(--c-line-2);background:#ffffff0a}.btn-ghost:hover:not(:disabled){background:#ffffff17;border-color:#ffffff4d}.btn-danger{color:var(--c-danger-2);background:0 0;border-color:#ff3b4a66}.btn-danger:hover:not(:disabled){background:#ff3b4a1a}.btn-sm{min-height:40px;font-size:var(--t-label);letter-spacing:.16em;padding:0 16px}.btn:focus-visible,.menu-tab:focus-visible,.race-card:focus-visible,.car-card:focus-visible,.swatch:focus-visible,.seg:focus-visible,.pause-btn:focus-visible,.menu-close:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:3px}.tc-controls{pointer-events:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;--tc-bottom:max(env(safe-area-inset-bottom), var(--tc-edge));position:absolute;inset:0}.tc-wheel{width:var(--wheel-size);height:var(--wheel-size);left:max(env(safe-area-inset-left), var(--tc-edge));bottom:var(--tc-bottom);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;z-index:12;border-radius:50%;outline:none;position:absolute}.tc-wheel-base{background:radial-gradient(circle at 50% 38%,#262d398c,#080c12d9 70%);border:1px solid #dce7f633;border-radius:50%;transition:border-color .14s;position:absolute;inset:0;box-shadow:0 10px 26px #00000073,inset 0 1px #ffffff14}.tc-wheel.held .tc-wheel-base{border-color:#ffa24acc;box-shadow:0 4px 16px #0006,inset 0 0 18px #ff7a1a1a}.tc-wheel:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:4px}.tc-wheel-rim{will-change:transform;position:absolute;inset:8px}.tc-wheel-rim svg{width:100%;height:100%;display:block}.tc-rim{fill:none;stroke:url(#tc-rim-shade);stroke-width:11px}.tc-rim-edge{fill:none;stroke:#ebf2ff61;stroke-width:1.1px}.tc-rim-edge-in{stroke:#ffffff17}.tc-rim-grip{fill:none;stroke:#ffffff24;stroke-width:1.2px;stroke-dasharray:2 3}.tc-spoke{fill:none;stroke:#465060;stroke-width:7px;stroke-linecap:round}.tc-hub{fill:#141c27;stroke:#ff7a1aa6;stroke-width:1.5px}.tc-marker{fill:var(--c-accent)}.tc-wheel-hint{font:800 22px var(--f-num);color:#edf3fca6;text-shadow:0 1px 3px #000c;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tc-wheel-hint-l{left:2px}.tc-wheel-hint-r{right:2px}.tc-tilt{color:var(--c-ink);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.tc-tilt-bar{border-radius:var(--r-pill);will-change:transform;background:#edf3fcb3;height:2px;margin-top:-1px;position:absolute;top:50%;left:15%;right:15%}.tc-tilt-dot{background:var(--c-accent);border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;position:absolute;top:50%;left:50%}.tc-tilt-copy{pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:16%;left:0;right:0}.tc-tilt-label{font:800 13px var(--f-num);letter-spacing:.24em;text-indent:.24em}.tc-tilt-sub{font:600 var(--t-caption) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink-3)}.tc-pedals,.tc-utilities{right:max(env(safe-area-inset-right), var(--tc-edge));align-items:flex-end;gap:var(--tc-gap);display:flex;position:absolute}.tc-pedals{bottom:var(--tc-bottom)}.tc-utilities{bottom:calc(var(--tc-bottom) + var(--tc-gas-height) + var(--tc-gap));width:calc(var(--tc-utility-width) * 2 + var(--tc-gap));flex-wrap:wrap;justify-content:flex-end}.tc-pedal{--tone:#e6edf7;width:var(--tc-utility-width);height:var(--tc-utility-height);border-radius:var(--r-2);color:var(--c-ink);-webkit-user-select:none;user-select:none;pointer-events:auto;touch-action:none;cursor:pointer;z-index:10;appearance:none;transition:transform 90ms var(--ease-out), border-color 90ms, box-shadow 90ms;background:linear-gradient(155deg,#2e3746f5,#0b1018f0 78%);border:1px solid #c7d9f242;outline:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:0;display:flex;position:relative;box-shadow:0 4px #04070ca6,0 8px 18px #00000052,inset 0 1px #ffffff1f}.tc-pedal.down{color:var(--c-ink-hi);border-color:var(--tone);box-shadow:0 1px 0 #04070ccc, inset 0 2px 8px #0000007a, inset 0 0 0 1px var(--tone);background:linear-gradient(155deg,#434c5bfa,#181f2bfa);transform:translateY(3px)scale(.98)}.tc-pedal:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:4px}.tc-gas,.tc-brake{border-radius:var(--r-3) var(--r-3) var(--r-2) var(--r-2);justify-content:flex-end;padding-bottom:13px}.tc-gas:before,.tc-brake:before{content:"";border-radius:var(--r-1);pointer-events:none;background:repeating-linear-gradient(#c6d3e63d 0 2px,#0000 2px 7px);height:30%;position:absolute;top:12px;left:13px;right:13px;box-shadow:inset 0 1px #0006}.tc-gas{--tone:var(--c-accent-2);width:var(--tc-gas-width);height:var(--tc-gas-height);border-top-color:#ffa24ab8}.tc-brake{--tone:var(--c-danger-2);width:var(--tc-brake-width);height:var(--tc-brake-height);border-top-color:#ff8a948c}.tc-hb{--tone:#e4e9f2}.tc-nos{--tone:var(--c-nos);overflow:hidden}.tc-time{--tone:var(--c-time);overflow:hidden}.tc-nos:after,.tc-time:after{content:"";border-radius:var(--r-pill);pointer-events:none;background:#ffffff24;height:3px;position:absolute;bottom:3px;left:4px;right:4px}.tc-nos:before,.tc-time:before{content:"";border-radius:var(--r-pill);background:var(--tone);height:3px;box-shadow:0 0 6px var(--tone);pointer-events:none;z-index:1;transition:width .12s linear;position:absolute;bottom:3px;left:4px}.tc-nos:before{width:calc((100% - 8px) * var(--tc-nos-fill,100%) / 100%)}.tc-time:before{width:calc((100% - 8px) * var(--tc-time-fill,100%) / 100%)}.tc-controls.is-nos-active .tc-nos,.tc-controls.is-time-active .tc-time{border-color:var(--tone);box-shadow:0 0 14px color-mix(in srgb, var(--tone) 55%, transparent), inset 0 0 10px color-mix(in srgb, var(--tone) 25%, transparent)}.tc-icon{fill:none;width:22px;height:22px;stroke:var(--tone);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.tc-pedal.down .tc-icon{filter:drop-shadow(0 0 4px var(--tone))}.tc-label{font:700 var(--t-caption)/1 var(--f-ui);letter-spacing:.02em;text-shadow:0 1px 2px #0009}.tc-utilities .tc-pedal{gap:3px}.tc-utilities .tc-icon{width:18px;height:18px}.tc-utilities .tc-label{letter-spacing:.04em}@media (prefers-reduced-motion:reduce){.tc-pedal,.tc-wheel-base{transition:none}}.minimap{top:var(--safe-t);right:var(--safe-r);pointer-events:none;z-index:3;border-radius:50%;position:absolute;box-shadow:0 10px 28px #00000080}.minimap canvas{border-radius:50%;display:block}.minimap-rim{border:3px solid var(--c-base);border-radius:50%;position:absolute;inset:-3px;box-shadow:inset 0 0 0 1px #ffffff24,0 0 0 1px #ff7a1a59}.minimap-north{will-change:transform;position:absolute;inset:0}.minimap-north span{font:900 var(--t-caption) var(--f-num);color:var(--c-on-accent);background:var(--c-accent);border-radius:var(--r-1);padding:0 3px;line-height:12px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.hud.is-modal-open .hud-cluster,.hud.is-modal-open .minimap,.hud.is-modal-open .toasts,.hud.is-modal-open .hud-tc,.hud.is-modal-open .place,.hud.is-modal-open .siren,.hud.is-modal-open .hud-quick-bar,.hud.is-modal-open .heat{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility .15s}.hud-quick-bar{top:var(--safe-t);right:calc(env(safe-area-inset-right,0px) + 190px);z-index:20;pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute}.hud-quick-bar.compact{left:var(--safe-l);right:auto}.hud-quick-btn,.pause-btn{background:var(--c-panel);border:1px solid var(--c-line-2);border-radius:var(--r-1);min-width:44px;min-height:44px;color:var(--c-ink);font:800 var(--t-label) var(--f-ui);letter-spacing:.18em;text-transform:uppercase;pointer-events:auto;box-shadow:var(--shadow-panel);justify-content:center;align-items:center;gap:8px;padding:0 14px;transition:background .15s,border-color .15s,transform .12s;display:flex}.hud-quick-btn,.pause-btn.compact{padding:0}.hud-quick-btn svg{width:16px;height:16px}.pause-btn svg{fill:currentColor;width:14px;height:14px}.hud-quick-btn:hover,.pause-btn:hover{background:#141824e6;border-color:#ff7a1a99}.hud-quick-btn:active,.pause-btn:active{transform:scale(.95)}.hud-grip{background:var(--c-panel);border:1px solid var(--c-line-2);border-radius:var(--r-1);min-height:44px;color:var(--c-ink);font:800 var(--t-label) var(--f-ui);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;box-shadow:var(--shadow-panel);animation:toast-in .28s var(--ease-snap) both;align-items:center;gap:8px;padding:0 12px;display:flex}.hud-grip-k{color:var(--c-nos)}.hud-grip-snow .hud-grip-k{color:var(--c-ink-hi)}.hud-grip-v{color:var(--c-warn)}.is-compact .hud-grip{gap:6px;min-height:40px;padding:0 10px}.is-touch.is-narrow .hud-grip-k{display:none}.menu-backdrop{pointer-events:auto;z-index:100;background:radial-gradient(at 50% 30%,#0e10188c,#030407db 80%);justify-content:center;align-items:center;animation:.2s ease-out both fade-in;display:flex;position:absolute;inset:0}html:not([data-quality=low]) .menu-backdrop{-webkit-backdrop-filter:blur(10px)saturate(1.1)}html:not([data-quality=low]) .menu-backdrop.has-showroom{-webkit-backdrop-filter:none}html:not([data-quality=low]) .menu-backdrop.has-showroom:before{content:"";-webkit-backdrop-filter:blur(10px);pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-transparency:reduce){.menu-backdrop,html:not([data-quality=low]) .menu-backdrop.has-showroom:before{-webkit-backdrop-filter:none}.menu-backdrop{background:radial-gradient(at 50% 30%,#0e1018d9,#030407f7 80%)}}.menu-backdrop.leaving,.menu-backdrop.leaving *{pointer-events:none!important}.menu-backdrop.leaving{animation:.2s ease-in forwards fade-out}.menu-backdrop.leaving .menu-frame{animation:.2s ease-in forwards frame-out}@keyframes fade-out{to{opacity:0}}@keyframes frame-out{to{opacity:0;transform:translateY(10px)scale(.98)}}.menu-frame{width:min(880px,92vw);max-height:min(94vh,900px);background:var(--g-panel-deep);border:1px solid var(--c-line-2);border-radius:var(--r-3);max-height:min(94dvh,900px);animation:frame-in .26s var(--ease-out) both;touch-action:pan-x pan-y;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #0009,inset 0 1px #ffffff14}.menu-frame:focus,.results:focus,.rival-card:focus{outline:none}.menu-frame:before{content:"";background:linear-gradient(90deg, transparent, var(--c-accent), transparent);opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.menu-frame.wide{width:min(1240px,96vw);height:min(780px,92vh);height:min(780px,92dvh);max-height:none}.is-short .menu-frame{width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 16px);height:calc(100vh - 16px);border-radius:var(--r-2);height:calc(100dvh - 16px);max-height:none}@keyframes frame-in{0%{opacity:0;transform:translateY(14px)scale(.97)}}.menu-header{border-bottom:1px solid var(--c-line);flex-shrink:0;align-items:center;gap:16px;padding:14px 18px 0 22px;display:flex}.is-short .menu-header{gap:10px;padding:4px 8px 0 14px}.menu-brand{font:900 22px var(--f-num);letter-spacing:.3em;text-transform:uppercase;color:var(--c-ink-hi);flex-shrink:0;align-items:center;gap:8px;padding-bottom:12px;display:flex}.menu-brand svg{width:26px;height:26px;fill:var(--c-accent);filter:drop-shadow(0 0 8px #ff7a1a80)}.is-short .menu-brand{letter-spacing:.2em;padding-bottom:8px;font-size:16px}.is-short .menu-brand svg{width:20px;height:20px}.menu-tabs{scrollbar-width:none;flex:1;justify-content:flex-start;gap:2px;min-width:0;display:flex;position:relative;overflow-x:auto}.menu-tab{color:var(--c-ink-3);font:800 var(--t-label) var(--f-ui);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:10px 4px 14px;transition:color .16s}.is-short .menu-tab{letter-spacing:.12em;padding:10px 9px 11px}.menu-tab:hover,.menu-tab.is-active{color:var(--c-ink)}.menu-tab-ink{border-radius:var(--r-1) var(--r-1) 0 0;background:var(--c-accent);width:100px;height:3px;box-shadow:0 0 12px var(--c-accent-glow);transform-origin:0;transition:transform .26s var(--ease-out);position:absolute;bottom:0;left:0}.menu-close{border:1px solid var(--c-line);border-radius:var(--r-1);width:44px;height:44px;color:var(--c-ink);background:#ffffff0a;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:6px;transition:background .15s,transform .12s;display:flex}.menu-close:hover{background:#ffffff1a}.menu-close:active{transform:scale(.94)}.menu-close svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:16px;height:16px}.menu-body{--menu-pad-x:26px;--menu-pad-b:24px;overscroll-behavior:contain;touch-action:pan-x pan-y;min-height:0;padding:22px var(--menu-pad-x) var(--menu-pad-b);flex:1;position:relative;overflow-y:auto}.is-narrow .menu-body{--menu-pad-x:16px;--menu-pad-b:16px;padding:16px var(--menu-pad-x) var(--menu-pad-b)}.is-short .menu-body{--menu-pad-x:14px;--menu-pad-b:14px;padding:12px var(--menu-pad-x) var(--menu-pad-b)}.menu-body.body-garage{padding:0;overflow:hidden}.menu-panel{animation:panel-in .22s var(--ease-out) both}.body-garage .menu-panel{height:100%}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}}.section-label{font:800 var(--t-caption) var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--c-ink-3);margin:0 0 10px}.section-label .accent{color:var(--c-accent-2)}.card{border:1px solid var(--c-line);border-radius:var(--r-2);background:#ffffff08;padding:14px 16px}.card-note{font:500 var(--t-label)/1.45 var(--f-ui);color:var(--c-ink-3);margin-top:10px}.chip{border-radius:var(--r-1);color:var(--c-accent-2);font:700 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-transform:uppercase;border:1px solid #ff7a1a59;padding:4px 10px}.main-actions{border:0;min-width:0;margin:0;padding:0}.travel-status{color:var(--c-accent-2);font:600 var(--t-body) var(--f-ui);margin:0 0 14px}.active-race{border:1px solid var(--c-line-2);border-left:3px solid var(--c-accent);border-radius:var(--r-2);background:var(--c-panel-2);justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:16px 18px;display:flex}.active-race-copy{min-width:0}.active-race-state{color:var(--c-accent-2);font:600 var(--t-label) var(--f-ui)}.active-race h2{font:800 30px/1.1 var(--f-num);margin:5px 0 8px}.active-race h2 span{color:var(--c-ink-2);font:500 var(--t-body) var(--f-ui);margin-top:4px;display:block}.active-race p{color:var(--c-ink-2);font:500 var(--t-body) var(--f-ui);flex-wrap:wrap;gap:8px 18px;margin:0;display:flex}.active-race p span{color:var(--c-ink);font-variant-numeric:tabular-nums}.active-race .btn{flex-shrink:0}.controls-guide{border-top:1px solid var(--c-line-2);color:var(--c-ink-2);margin-top:20px}.controls-guide summary{cursor:pointer;width:-moz-fit-content;width:fit-content;font:600 var(--t-body) var(--f-ui);padding:14px 0}.controls-guide summary:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:3px}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;display:grid}.controls-grid>div{border-bottom:1px solid var(--c-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;display:flex}.controls-grid dt{font:500 var(--t-label) var(--f-ui)}.controls-grid dd{font:500 var(--t-label) var(--f-ui);margin:0}.hud .control-keys kbd{margin:0 2px}.controls-guide p{max-width:68ch;font:500 var(--t-label)/1.6 var(--f-ui)}.is-narrow .active-race{flex-wrap:wrap;gap:14px;padding:14px}.is-narrow .active-race .btn{width:100%}.is-narrow .controls-grid{grid-template-columns:1fr}.rival-portrait{border-radius:var(--r-2);flex-shrink:0;width:80px;display:block}.finish-window{color:var(--c-ink-2);font:600 var(--t-label) var(--f-ui);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;padding:10px 16px;display:flex}.finish-window strong{color:var(--c-accent-2);font:800 var(--t-num) var(--f-num)}.rival-name-row .rival-portrait{width:100px}.main-race{margin:0 0 8px}.main-race .section-label,.main-race .graphics-row{margin-bottom:8px}.main-tools{flex-direction:column;gap:10px;min-width:0;margin-top:8px;display:flex}.drive-bar{bottom:calc(-1 * var(--menu-pad-b));z-index:5;margin:18px calc(-1 * var(--menu-pad-x)) calc(-1 * var(--menu-pad-b));padding:10px var(--menu-pad-x);background:var(--g-panel-deep);border-top:1px solid var(--c-line-2);align-items:center;gap:12px;display:flex;position:sticky;box-shadow:0 -12px 24px #00000059}html:not([data-quality=low]) .drive-bar{-webkit-backdrop-filter:blur(8px)}.drive-bar-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drive-bar-k{font:800 var(--t-caption) var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--c-ink-3)}.drive-bar-v{font:700 var(--t-body-lg) var(--f-ui);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drive-bar-v span{color:var(--c-ink-3)}.drive-bar .btn{flex-shrink:0}.drive-bar .btn-primary{min-width:200px}.is-narrow .drive-bar-copy{display:none}.is-narrow .drive-bar .btn{flex:1;min-width:0;padding:0 12px}.is-short .main-tools{gap:8px}.is-short .main-actions{flex-direction:column;display:flex}.is-short .main-race{order:1}.is-short .campaign-spotlight{order:2}.is-short .map-select{order:0}.is-short .main-tools{order:4}.share-cta{border:1px solid var(--c-line-2);border-radius:var(--r-2);min-height:136px;color:var(--c-ink);text-align:left;pointer-events:auto;background:#151e2d;grid-template-columns:144px minmax(0,1fr) auto;align-items:center;gap:20px;padding:0 20px 0 0;display:grid;overflow:hidden}.share-cta-art{background:#273c64 url(/assets/ui/share-drive.jpg) 90% 60%/auto 160% no-repeat;align-self:stretch;min-height:136px}.share-cta-copy{min-width:0;padding:18px 0}.share-cta-title{color:var(--c-ink-hi);font:800 30px/1.05 var(--f-num);margin:0 0 6px}.share-cta-description{font:500 var(--t-body-lg)/1.4 var(--f-ui);color:var(--c-ink-2);margin:0}.share-cta-note{font:500 var(--t-label)/1.4 var(--f-ui);color:var(--c-ink-3);overflow-wrap:anywhere;margin:8px 0 0}.share-cta-button{border-radius:var(--r-1);background:var(--c-accent);min-width:154px;min-height:46px;color:var(--c-on-accent);font:700 var(--t-body)/1.3 var(--f-ui);white-space:nowrap;transition:background .16s, transform .16s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:10px 16px;display:inline-flex}.share-cta-button svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.share-cta-button:hover:not(:disabled){background:var(--c-accent-2)}.share-cta-button:active:not(:disabled){transform:translateY(1px)}.share-cta-button:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:4px}.share-cta.is-done .share-cta-button{background:var(--c-ok)}.share-cta.is-done .share-cta-note{color:var(--c-ok)}.share-cta.is-fail .share-cta-note{color:var(--c-danger-2)}.is-compact .share-cta{grid-template-columns:112px minmax(0,1fr);gap:0 16px;padding:0 16px 14px 0}.is-compact .share-cta-art{grid-row:1/3;margin-bottom:-14px}.is-compact .share-cta-title{font-size:26px}.is-compact .share-cta-copy{padding:14px 0 12px}.is-compact .share-cta-button{grid-column:2;justify-self:start}.is-narrow .share-cta{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px}.is-narrow .share-cta-art{border-radius:var(--r-1);grid-row:auto;min-height:106px;margin:0}.is-narrow .share-cta-copy{padding:0}.is-narrow .share-cta-description{font-size:var(--t-body)}.is-narrow .share-cta-button{grid-column:1/-1;justify-self:stretch;width:100%}.live-banner{color:var(--c-accent-2);font:800 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;border-radius:var(--r-1);background:#ff7a1a1a;border:1px solid #ff7a1a73;padding:7px 12px}.account-chip{flex-shrink:0;align-items:center;gap:8px;margin-bottom:6px;display:flex;position:relative}.account-chip-wait{width:18px;color:var(--c-ink-3)}.account-name,.account-link{font:800 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-transform:uppercase}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:88px;color:var(--c-accent-2);overflow:hidden}.account-link{color:var(--c-ink-2);cursor:pointer;background:0 0;border:none;padding:0}.account-link:hover{color:var(--c-ink)}.account-pop{z-index:5;border:1px solid var(--c-line-2);border-radius:var(--r-2);background:#0c0e14f5;width:min(280px,70vw);padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #00000073}.account-card{gap:8px;margin-top:10px;display:grid}.account-pop .account-card{margin-top:0}.account-field{font:700 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-3);gap:4px;display:grid}.account-input{border:1px solid var(--c-line-2);border-radius:var(--r-1);width:100%;height:40px;color:var(--c-ink);font:700 16px var(--f-ui);letter-spacing:.04em;background:#0006;padding:0 10px}.account-input:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:2px}.account-actions{flex-wrap:wrap;gap:6px;display:flex}.account-error{font:600 var(--t-label)/1.4 var(--f-ui);color:var(--c-danger-2)}.results-save{text-align:center;margin-top:16px}.results-save p{font:600 var(--t-body)/1.5 var(--f-ui);color:var(--c-ink-2);margin:0}.results-save-actions{margin-top:10px}.results-save .account-card{text-align:left}.history-block{margin-top:14px}.history-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.history-list li{border-radius:var(--r-1);font:700 var(--t-caption) var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-2);background:#ffffff08;grid-template-columns:minmax(0,1.4fr) auto auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.online-card{margin-top:4px}.is-short .online-card{padding:10px 12px}.online-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.online-row .btn-sm{flex-shrink:0;padding:0 12px}.online-players{flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.online-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.online-head .section-label{margin:0}.online-count{font:700 var(--t-caption) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink-3);white-space:nowrap}.driver-chip{border:1px solid var(--c-line-2);border-radius:var(--r-1);min-height:34px;color:var(--c-ink);font:700 var(--t-caption) var(--f-ui);letter-spacing:.08em;text-transform:uppercase;background:#00000047;align-items:center;gap:8px;padding:4px 10px 4px 8px;display:inline-flex}.driver-chip.is-me{border-color:#ffa24a8c}.driver-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:inset 0 0 0 1px #ffffff47}.driver-car{color:var(--c-ink-3);letter-spacing:.04em;text-transform:none;font-weight:600}.driver-tag{border-radius:var(--r-1);color:var(--c-accent-2);letter-spacing:.14em;background:#ffa24a29;padding:1px 6px}.driver-tag-guest{color:var(--c-ink-3);background:#ffffff14}.driver-invite{cursor:pointer;color:var(--c-accent-2);pointer-events:auto;background:0 0;border-style:dashed}.driver-invite:hover{background:#ffa24a1a}.online-link{border-radius:var(--r-1);color:var(--c-ink-2);font:600 var(--t-caption) var(--f-ui);letter-spacing:.04em;word-break:break-all;-webkit-user-select:all;user-select:all;background:#00000059;margin-top:8px;padding:6px 8px}.online-who{margin:0 0 10px}.online-hint{color:var(--c-accent-2)}.online-lost{margin-bottom:8px}.online-lost-label{font:700 var(--t-caption) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:#ff9098}.online-note{color:var(--c-accent-2)}.btn.is-done{color:#06130c;background:#4ad38a}.code-input{border:1px solid var(--c-line-2);border-radius:var(--r-1);width:96px;min-width:52px;height:40px;color:var(--c-ink);font:800 20px var(--f-num);letter-spacing:.24em;text-transform:uppercase;text-align:center;pointer-events:auto;background:#0006;flex:60px;padding:0 10px}.code-input:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:2px}.race-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.race-card{text-align:left;border:1px solid var(--c-line);border-radius:var(--r-2);min-height:56px;color:var(--c-ink);cursor:pointer;transition:transform .14s var(--ease-out), border-color .16s, background .16s;background:linear-gradient(145deg,#64819e24,#ffffff05);grid-template-rows:auto auto;grid-template-columns:30px 1fr;align-items:center;column-gap:10px;padding:10px 12px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 3px 10px #0000001f}.is-short .race-card{min-height:50px;padding:7px 10px}.race-card:after{content:"";transition:transform .5s var(--ease-out);background:linear-gradient(105deg,#0000 35%,#ffffff14 50%,#0000 65%);position:absolute;inset:0;transform:translate(-100%)}.race-card:hover:not(:disabled){background:linear-gradient(#ff7a1a24,#ff7a1a08);border-color:#ff7a1a8c;transform:translateY(-1px)}.race-card:hover:not(:disabled):after{transform:translate(100%)}.race-card:active:not(:disabled){transform:scale(.98)}.race-card-icon{fill:none;width:26px;height:26px;stroke:var(--c-accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;grid-row:1/span 2}.race-card-title{font:900 17px/1.05 var(--f-num);letter-spacing:.12em;text-transform:uppercase}.race-card-sub{font:700 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-3)}.garage{height:100%;min-height:340px;position:relative;overflow:hidden}.is-short .garage{min-height:0}.showroom{cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.showroom:active{cursor:grabbing}.showroom-cyc{background:radial-gradient(70% 60% at 38% 52%,#262b37 0%,#12151d 45%,#06070a 100%);position:absolute;inset:0}.showroom-cyc:after{content:"";background:radial-gradient(40% 100% at 38% 0,#ffecd61a,#0000 70%);height:40%;position:absolute;top:0;left:0;right:0}.showroom-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.showroom-status{z-index:2;max-width:min(32ch,100% - 52px);color:var(--c-ink);font-size:var(--t-caption);position:absolute;top:26px;left:26px}.showroom-angle:disabled{opacity:.5;cursor:default}.showroom-angles{max-width:calc(100% - var(--showroom-cover,0px) - 52px);border:1px solid var(--c-line-2);border-radius:var(--r-1);pointer-events:auto;z-index:2;background:#0a0c12c7;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex;position:absolute;bottom:42px;left:26px}.is-short .showroom-angles{bottom:28px;left:14px}.showroom-angle{border-radius:var(--r-1);min-width:44px;min-height:44px;color:var(--c-ink-3);font:800 var(--t-caption) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:0 10px;transition:background .14s,color .14s}.showroom-angle:hover{color:var(--c-ink)}.showroom-angle.is-active{background:var(--c-accent);color:var(--c-on-accent)}.showroom-rotate{border-left:1px solid var(--c-line-2);letter-spacing:.03em;text-transform:none}.is-narrow .showroom-angle{letter-spacing:.02em;padding-inline:7px}.garage-hero{pointer-events:none;animation:rise .42s var(--ease-out) both;text-shadow:0 2px 14px #000000c7;max-width:calc(100% - 420px);position:absolute;top:22px;left:26px}.is-short .garage-hero{max-width:calc(50% - 30px);top:10px;left:14px}.garage-hero-kicker{font:800 var(--t-caption) var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--c-accent-2)}.garage-hero-row{align-items:center;gap:12px;display:flex}.garage-hero-name{min-width:0;font:900 52px/.95 var(--f-num);letter-spacing:.04em;text-transform:uppercase;color:var(--c-ink-hi)}.is-short .garage-hero-name{font-size:32px}.garage-hero-stepper{pointer-events:auto;flex-shrink:0;gap:4px;display:inline-flex}.garage-step-btn{border:1px solid var(--c-line-2);border-radius:var(--r-1);width:34px;height:34px;color:var(--c-ink);font:800 20px/1 var(--f-num);cursor:pointer;background:#0e1119d1;justify-content:center;align-items:center;padding:0;transition:border-color .14s,background .14s,transform .12s;display:flex}.garage-step-btn:hover{border-color:var(--c-accent);background:#ff7a1a29}.garage-step-btn:active{transform:scale(.94)}.garage-hero-desc{font:500 var(--t-label)/1.5 var(--f-ui);letter-spacing:.01em;color:var(--c-ink-2);margin-top:2px}.garage-drag-hint{font:700 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-3);pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;bottom:14px;left:26px}.is-short .garage-drag-hint{bottom:6px;left:14px}.garage-drag-hint svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.garage-panel{overscroll-behavior:contain;touch-action:pan-y;background:var(--g-panel-deep);border:1px solid var(--c-line-2);border-radius:var(--r-2);width:356px;box-shadow:var(--shadow-panel);animation:panel-slide .3s var(--ease-out) both;padding:12px 14px 14px;position:absolute;top:12px;bottom:12px;right:12px;overflow-y:auto}.is-short .garage-panel{width:min(50%,360px);padding:10px 12px 12px;top:8px;bottom:8px;right:8px}@keyframes panel-slide{0%{opacity:0;transform:translate(24px)}}.garage-panel{flex-direction:column;display:flex}.garage-panel .section-label{margin-top:8px;margin-bottom:4px}.garage-cta{background:linear-gradient(#080a0f00,#080a0ff5 32%);margin-top:auto;margin-bottom:-14px;padding:8px 0 14px;position:sticky;bottom:-14px}.garage-cta .btn{width:100%;min-height:40px}.garage-panel .section-label:first-child{margin-top:0}.garage-roster-heading{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.garage-roster-heading>span:last-child{font:500 var(--t-caption) var(--f-ui);color:var(--c-ink-3)}.garage-equipment{color:var(--c-ink-2);font:500 var(--t-caption)/1.4 var(--f-ui);flex-wrap:wrap;gap:2px 10px;margin:6px 0 0;padding:0;list-style:none;display:flex}.garage-equipment li:before{content:"+";color:var(--c-accent-2);margin-right:5px}.car-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.car-card{text-align:left;border:1px solid var(--c-line);border-radius:var(--r-1);color:var(--c-ink);cursor:pointer;background:#ffffff08;flex-direction:column;gap:1px;padding:5px 8px;transition:border-color .16s,background .16s,transform .12s;display:flex;position:relative}.car-card:hover:not(:disabled){border-color:#ffffff47}.car-card:active:not(:disabled){transform:scale(.98)}.car-card.is-selected{border-color:var(--c-accent);background:linear-gradient(#ff7a1a29,#ff7a1a0a);box-shadow:inset 0 0 0 1px #ff7a1a59}.car-card.is-locked{opacity:1;cursor:pointer;color:var(--c-ink-3);background:repeating-linear-gradient(135deg,#ffffff05 0 6px,#ffffff0a 6px 12px)}.car-card-top{justify-content:space-between;align-items:center;gap:4px;padding-right:12px;display:flex}.car-card-name{font:900 14px var(--f-num);letter-spacing:.1em;text-transform:uppercase}.car-card.is-selected .car-card-name{color:var(--c-ink-hi)}.car-card-drive{font:800 var(--t-caption) var(--f-ui);letter-spacing:.1em;border-radius:var(--r-1);color:var(--c-ink-2);background:#ffffff12;padding:0 4px}.car-card.is-selected .car-card-drive{color:var(--c-accent-2);background:#ff7a1a40}.car-card-desc{font:700 var(--t-caption) var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-3)}.car-card-lock{fill:none;width:12px;height:12px;stroke:var(--c-ink-3);stroke-width:1.5px;position:absolute;top:7px;right:7px}@media not (min-width:700px){.hud:not(.is-short) .garage{--garage-preview-height:max(240px, 43%)}.hud:not(.is-short) .garage .showroom{height:var(--garage-preview-height);bottom:auto}.hud:not(.is-short) .garage-hero{max-width:calc(100% - 36px);top:14px;left:18px}.hud:not(.is-short) .garage-hero-name{font-size:clamp(26px,8vw,36px)}.hud:not(.is-short) .garage-hero-desc{display:none}.hud:not(.is-short) .garage-panel{top:var(--garage-preview-height);width:auto;padding:12px 14px 14px;bottom:10px;left:10px;right:10px}.hud:not(.is-short) .showroom-angles{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;max-width:none;display:grid;bottom:12px;left:18px;right:18px}.hud:not(.is-short) .garage-drag-hint{display:none}.hud:not(.is-short) .garage-cta{background:linear-gradient(#090b1000,#090b10fa 25%);margin-bottom:-14px;padding:10px 0 14px;position:sticky;bottom:-14px}.hud:not(.is-short) .car-card{padding:7px 9px}}.swatches{flex-wrap:wrap;gap:5px;padding:2px;display:flex}.swatch{background:radial-gradient(circle at 34% 28%, #ffffffbf 0 6%, #fff0 26%), radial-gradient(circle at 50% 60%, var(--swatch) 0 55%, color-mix(in srgb, var(--swatch) 55%, black) 100%);cursor:pointer;width:25px;height:25px;transition:transform .14s var(--ease-snap), border-color .14s;border:2px solid #ffffff1f;border-radius:50%;padding:0;position:relative;box-shadow:0 3px 8px #00000073}.swatch:hover{transform:scale(1.08)}.swatch.is-selected{border-color:var(--c-ink-hi);box-shadow:0 0 0 2px var(--c-accent), 0 3px 10px #00000080;transform:scale(1.1)}.is-short .swatch{width:26px;height:26px}.spec-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:5px;display:grid}.is-short .spec-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-bottom:4px}.is-short .spec{padding:5px}.is-short .spec-v{font-size:15px}.is-short .spec-k{letter-spacing:.08em}.is-short .garage-panel .section-label{margin-top:9px}.is-short .car-card{gap:1px;padding:6px 8px}.is-short .car-card-name{font-size:13px}.is-short .garage-cta{background:linear-gradient(#090b1000,#090b10fa 40%);margin-bottom:-12px;padding:10px 0 12px;position:sticky;bottom:-12px}.is-short .garage-cta .btn{min-height:40px}.spec{border-radius:var(--r-1);background:#ffffff08;flex-direction:column;padding:4px 6px;display:flex}.spec-v{font:800 19px/1 var(--f-num);color:var(--c-ink-hi);font-variant-numeric:tabular-nums}.spec-v small{font-size:var(--t-caption);color:var(--c-ink-3);margin-left:2px}.spec-k{font:700 var(--t-caption) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink-3);margin-top:3px}.stat-row{grid-template-columns:104px 1fr 48px;align-items:center;gap:8px;padding:2.5px 0;display:grid}.stat-k{font:700 var(--t-caption) var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-2)}.stat-bar{border-radius:var(--r-pill);background:#ffffff12;height:6px;position:relative;overflow:hidden}.stat-fill{transform-origin:0;background:linear-gradient(90deg, var(--c-accent-deep), var(--c-accent-2));border-radius:var(--r-pill);transition:transform .52s var(--ease-out);animation:stat-in .62s var(--ease-out) both;position:absolute;inset:0;box-shadow:0 0 8px #ff7a1a73}@keyframes stat-in{0%{transform:scaleX(0)}}.stat-v{font:800 14px var(--f-num);color:var(--c-ink);text-align:right;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:baseline;gap:3px;display:inline-flex}.stat-diff{font:800 var(--t-caption) var(--f-num)}.stat-diff.pos{color:var(--c-ok)}.stat-diff.neg{color:var(--c-danger)}.stats-sub-label{margin-top:18px}.impound-switch{border:1px dashed var(--c-line-2);border-radius:var(--r-2);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 14px;padding:10px 12px;display:flex}.impound-switch>span{font:500 var(--t-label)/1.45 var(--f-ui);color:var(--c-ink-2);flex:220px}.impound-switch .btn.is-on{color:var(--c-accent-2);border-color:#ff7a1a99}.stats-tab{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;display:grid}.stats-tab section{flex-direction:column;min-width:0;display:flex}.stats-tab .btn-danger{align-self:flex-start;margin-top:14px}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.record{border:1px solid var(--c-line);border-radius:var(--r-1);background:#ffffff08;flex-direction:column;padding:10px 12px;display:flex}.record-v{font:800 var(--t-num-lg)/1.05 var(--f-num);color:var(--c-ink-hi);font-variant-numeric:tabular-nums}.record-k{font:700 var(--t-caption) var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-3);margin-top:4px}.settings-card{flex-direction:column;gap:14px;display:flex}.slider-row{flex-direction:column;gap:8px;display:flex}.slider-head,.graphics-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.graphics-row{flex-wrap:wrap}.slider-k{font:700 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-2)}.slider-v{font:800 var(--t-num) var(--f-num);color:var(--c-accent-2);font-variant-numeric:tabular-nums}.slider{appearance:none;pointer-events:auto;cursor:pointer;background:0 0;width:100%;height:28px}.slider::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--c-accent) 0 var(--fill), #ffffff1a var(--fill) 100%);height:6px}.slider::-moz-range-track{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--c-accent) 0 var(--fill), #ffffff1a var(--fill) 100%);height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--c-ink-hi);border:3px solid var(--c-accent);border-radius:50%;width:20px;height:20px;margin-top:-7px;box-shadow:0 2px 6px #00000080}.slider::-moz-range-thumb{background:var(--c-ink-hi);border:3px solid var(--c-accent);border-radius:50%;width:16px;height:16px}.slider:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:2px}.segmented{border:1px solid var(--c-line);border-radius:var(--r-1);background:#00000059;grid-template-columns:repeat(5,auto);gap:2px;padding:2px;display:grid}.seg{border-radius:var(--r-1);min-height:40px;color:var(--c-ink-3);font:800 var(--t-caption) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:0 10px;transition:background .15s,color .15s}.seg:hover{color:var(--c-ink)}.seg.is-active{background:var(--c-accent);color:var(--c-on-accent)}.seg-pending{color:var(--c-accent-2)}.is-compact .graphics-row{flex-direction:column;align-items:stretch}.is-compact .segmented{grid-template-columns:repeat(5,minmax(0,1fr))}.diff-hint{color:var(--c-ink-3);letter-spacing:.08em}.segmented.cols-2{grid-template-columns:repeat(2,auto)}.is-compact .segmented.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented.cols-3{grid-template-columns:repeat(3,auto)}.is-compact .segmented.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.is-compact .seg{letter-spacing:.08em;min-height:44px;padding:0 4px}.rival{padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);pointer-events:auto;z-index:200;overscroll-behavior:contain;touch-action:pan-y;background:radial-gradient(#0a0a10b3,#020306eb 70%);justify-content:center;align-items:center;animation:.3s ease-out both fade-in;display:flex;position:absolute;inset:0;overflow:hidden auto}.rival-decoration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.rival-rays{background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--rival) 22%, transparent) 0deg 6deg, transparent 6deg 18deg);pointer-events:none;width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;animation:24s linear infinite rays;position:absolute;top:50%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 55%);mask-image:radial-gradient(circle,#000 0%,#0000 55%)}@keyframes rays{to{transform:rotate(360deg)}}.rival-card{border:1px solid color-mix(in srgb, var(--rival) 50%, transparent);border-radius:var(--r-3);width:min(540px,100%);box-shadow:0 0 80px color-mix(in srgb, var(--rival) 30%, transparent), 0 40px 100px #0009;animation:frame-in .36s var(--ease-out) both;background:linear-gradient(#161822f5,#0a0b10fa);flex-direction:column;flex-shrink:0;gap:16px;margin:auto;padding:24px 28px 22px;display:flex;position:relative}.is-compact .rival-card{gap:10px;padding:14px 18px}.rival-top{justify-content:space-between;align-items:center;display:flex}.rival-slot{font:800 var(--t-label) var(--f-ui);letter-spacing:.24em;text-transform:uppercase;color:var(--c-ink-3)}.rival-stamp{border:3px solid var(--c-danger);border-radius:var(--r-1);color:var(--c-danger-2);font:900 22px var(--f-num);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 0 12px #ff3b4a80;animation:stamp .62s var(--ease-snap) .26s both;padding:4px 14px;transform:rotate(-8deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-20deg)scale(2.6)}60%{opacity:1;transform:rotate(-8deg)scale(.92)}75%{transform:rotate(-6deg)scale(1.04)translate(2px)}to{transform:rotate(-8deg)scale(1)}}.rival-name-row{border-radius:var(--r-2);background:linear-gradient(90deg, color-mix(in srgb, var(--rival) 28%, transparent), transparent 75%);animation:row-in .42s var(--ease-out) .16s both;align-items:center;gap:18px;padding:14px;display:flex}.rival-name{overflow-wrap:anywhere;font:900 34px/1 var(--f-num);letter-spacing:.2em;color:var(--c-ink-hi)}.rival-tag{overflow-wrap:anywhere;font:700 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-3);margin-top:4px}.rival-spoils{border:1px solid var(--c-line);border-radius:var(--r-2);background:#ffffff08;padding:12px 14px}.rival-spoil{font:600 var(--t-body) var(--f-ui);color:var(--c-ink);animation:row-in .38s var(--ease-out) .6s both;padding:3px 0}.rival-card .btn{align-self:center}html[data-quality=low] .cluster:before{box-shadow:none}html[data-quality=low] .cluster-needle{filter:none}html[data-quality=low] .pill,html[data-quality=low] .mode-panel,html[data-quality=low] .toast,html[data-quality=low] .heat{box-shadow:none}.map-select{border-bottom:1px solid var(--c-line-2);margin-bottom:20px;padding-bottom:16px}.map-select-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.map-current-copy{min-width:0}.map-region{color:var(--c-ink-3);font:600 var(--t-label) var(--f-ui)}.map-select-heading h1{font:800 clamp(26px, 4vw, 40px)/1.05 var(--f-num);letter-spacing:-.01em;margin:3px 0 6px}.map-weather{color:var(--c-ink-2);font:500 var(--t-label)/1.4 var(--f-ui);display:block}.map-browse{letter-spacing:.06em;text-transform:none;flex-shrink:0;max-width:150px;min-height:44px;padding:8px 12px}.map-families{touch-action:pan-x pan-y;scrollbar-width:thin;gap:4px;margin:14px 0 12px;display:flex;overflow-x:auto}.map-family{border-radius:var(--r-1);min-height:44px;color:var(--c-ink-2);font:600 var(--t-body) var(--f-ui);background:0 0;border:1px solid #0000;flex:1 0 auto;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:flex}.map-family span{color:var(--c-ink-3);font-size:var(--t-caption)}.map-family:hover{background:#ffffff0d}.map-family.is-active{color:var(--c-accent-2);background:#ff7a1a1a;border-color:#ff7a1a73}.map-family:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:-2px}.map-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.is-narrow .map-row{margin:0 calc(-1 * var(--menu-pad-x));padding:2px var(--menu-pad-x) 6px;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scroll-padding-inline:var(--menu-pad-x);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.is-narrow .map-row::-webkit-scrollbar{display:none}.is-narrow .map-row .map-option{scroll-snap-align:start;flex:0 0 58%}.is-narrow .map-browse{max-width:106px}.is-narrow .map-family{padding-inline:9px}.is-narrow .map-family span,.is-narrow .campaign-spotlight p{display:none}.more-panel{border-top:1px solid var(--c-line-2)}.more-panel>summary{cursor:pointer;font:600 var(--t-body) var(--f-ui);color:var(--c-ink-2);padding:14px 0;list-style:none}.more-panel>summary:before{content:"▸ ";color:var(--c-accent-2)}.more-panel[open]>summary:before{content:"▾ "}.more-panel>:not(summary){margin-top:10px}.more-panel .controls-guide{border-top:0;margin-top:0}.roam-prompt{left:50%;top:calc(var(--safe-t) + 64px);max-width:min(560px, calc(100vw - 2 * var(--safe-l)));background:var(--c-panel-2);border:1px solid var(--c-line-2);border-left:3px solid var(--c-accent);border-radius:var(--r-2);box-shadow:var(--shadow-panel);pointer-events:auto;z-index:6;animation:pill-in .32s var(--ease-out) both;align-items:center;gap:16px;padding:10px 12px 10px 16px;display:flex;position:absolute;transform:translate(-50%)}.roam-prompt-copy{gap:2px;min-width:0;display:grid}.roam-prompt-copy strong{font:800 var(--t-body-lg) var(--f-ui);color:var(--c-ink)}.roam-prompt-copy span{font:500 var(--t-caption) var(--f-ui);color:var(--c-ink-2)}.roam-prompt-actions{flex-shrink:0;gap:8px;display:flex}.is-narrow .roam-prompt{flex-direction:column;align-items:stretch;gap:10px}.is-narrow .roam-prompt-actions .btn{flex:1}.map-option{text-align:left;min-width:0;color:var(--c-ink);border:1px solid var(--c-line-2);border-radius:var(--r-2);cursor:pointer;background:linear-gradient(160deg,#202d3b,#111923);flex-direction:column;padding:0;transition:border-color .16s,background .16s;display:flex;position:relative;overflow:hidden}.map-option:hover{border-color:var(--map-accent);background:#202b35}.map-option.selected{border-color:var(--map-accent);box-shadow:inset 0 -3px var(--map-accent), 0 4px 18px #0000004d}.map-option:focus-visible{outline:2px solid var(--map-accent);outline-offset:3px}.map-option:disabled{cursor:default}.map-select[aria-busy=true] .map-option{opacity:.65}.map-art{aspect-ratio:320/150;width:100%;height:auto;display:block}.map-option-name{font:800 18px/1.1 var(--f-num);padding:6px 10px 2px}.map-option-meta{font:500 var(--t-caption)/1.3 var(--f-ui);color:var(--c-ink-3);flex-direction:column;gap:2px;padding:0 10px 8px;display:flex}.map-option-meta span{color:var(--c-ink-2)}.map-option.selected .map-option-meta span{color:var(--map-accent)}.map-description{color:var(--c-ink-2);font:500 var(--t-label)/1.5 var(--f-ui);margin:12px 0 0}@media not (min-width:700px){.menu-header{flex-wrap:wrap;gap:8px;padding-left:14px;padding-right:10px}.menu-tabs{flex-basis:100%;order:5;justify-content:space-evenly;overflow:visible}.menu-brand{letter-spacing:.12em;margin-right:auto;font-size:18px}.menu-brand svg{width:20px;height:20px}.menu-tab{letter-spacing:.08em;padding-left:9px;padding-right:9px}.race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-art{object-fit:cover;max-height:96px}.map-option-meta{flex-flow:wrap;justify-content:space-between}.map-select-heading{align-items:start}.map-weather{font-size:var(--t-caption)}}.is-narrow .stats-tab{grid-template-columns:1fr}.is-narrow .menu-brand svg{display:none}.is-narrow .menu-brand{letter-spacing:.04em;font-size:16px}.is-narrow .menu-tab{letter-spacing:.04em;flex:1;padding-left:4px;padding-right:4px}.is-short .map-select-heading{margin-bottom:8px}.is-short .map-select-heading h1{font-size:26px}.is-short .map-art{height:60px}.is-short .map-option-meta span{display:none}.is-short .map-option-name{padding-top:6px;font-size:17px}.is-short .map-description{margin-top:6px}.is-short .map-select{margin-bottom:12px}@media (prefers-reduced-motion:reduce){.map-option{transition:none}}.is-touch .hud-quick-bar.compact{top:var(--safe-t);left:var(--safe-l);right:auto}.is-touch .minimap{top:var(--safe-t)}.is-compact .heat,.is-compact:not(.is-touch) .hud-online,.is-compact .hud-hub-name{top:calc(var(--safe-t) + 52px)}.is-compact .hud-hub-name~.heat,.hud-hub-name~.heat{top:calc(var(--safe-t) + 52px + 36px)}.is-narrow .hud-tc{top:calc(var(--safe-t) + 52px);width:max-content;max-width:calc(100vw - 24px)}.is-touch .hud-online{top:auto;bottom:calc(max(env(safe-area-inset-bottom), var(--touch-edge,14px)) + var(--wheel-size,128px) + var(--mobile-cluster-size,116px) + 24px)}.is-touch .hud-cluster-touch .drift-live{padding:4px 8px}.is-touch .drift-live-num{font-size:24px}.is-touch .drift-live-sub{letter-spacing:.1em}.is-touch .drift-bank{gap:5px;padding:3px 6px}.is-touch .drift-bank-k{letter-spacing:.1em}.is-touch .menu-close,.is-touch .garage-step-btn{width:44px;height:44px}.is-touch .showroom-angle button,.is-touch .account-input,.is-touch .online-row input{min-height:44px}.is-touch .account-link{min-width:44px;min-height:44px;padding:0 8px}.is-touch .swatch,.is-touch .is-short .swatch{width:44px;height:44px}.is-touch .swatches{gap:8px;padding:4px}.is-touch .slider{height:44px}.is-touch .menu-tab,.is-touch .btn-sm,.is-touch .car-card,.is-touch .garage-cta .btn{min-height:44px}.rival-name-row>div{min-width:0}.is-touch.is-portrait .hud-online{top:calc(var(--safe-t) + 178px);bottom:auto;left:auto;right:var(--safe-r);max-width:108px}.is-touch.is-narrow.is-portrait .hud-tc{top:calc(var(--safe-t) + 52px);left:var(--safe-l);right:calc(var(--safe-r) + 124px);align-items:stretch;gap:6px;width:auto;max-width:none;transform:none}.is-touch.is-narrow.is-portrait .hud-tc .pills{grid-template-columns:auto minmax(0,1fr);gap:4px;display:grid}.is-touch.is-narrow.is-portrait .hud-tc .pill{justify-content:center;gap:4px;min-width:0;padding:0 6px}.is-touch.is-narrow.is-portrait .hud-tc .pill-mono{min-width:0}.is-touch.is-narrow.is-portrait .hud-tc .turn-cue{gap:6px;min-width:0;padding:5px 6px}.is-touch.is-narrow.is-portrait .hud-tc .turn-cue svg{width:20px;height:20px}.is-touch.is-narrow.is-portrait .hud-tc .turn-cue span{display:none}.is-touch.is-narrow.is-portrait .hud-tc .turn-cue b{font-size:18px}.is-touch.is-narrow.is-portrait .hud-tc .mode-panel{min-width:0;padding:6px 8px}.is-touch.is-narrow.is-portrait .hud-tc .mode-k{letter-spacing:.1em}.is-touch.is-narrow.is-portrait .hud-tc .finish-window{gap:4px}.is-touch.is-narrow.is-portrait .hud-tc .finish-window strong{font-size:13px}.is-touch.is-narrow.is-portrait .heat-compact{top:calc(var(--safe-t) + 210px);left:auto;right:var(--safe-r);width:108px}.is-touch.is-narrow.is-portrait .heat-compact .heat-chevrons{gap:3px}.is-touch.is-narrow.is-portrait .heat-compact .heat-chev{width:14px}.is-touch.is-narrow.is-portrait .toasts{left:var(--safe-l);right:calc(var(--safe-r) + 124px);max-width:none;transform:none}.is-touch.is-narrow.is-portrait .toast{flex-wrap:wrap;gap:6px;min-width:0;max-width:none;padding:6px 8px}.is-touch.is-narrow.is-portrait .toast-label{font-size:12px}.is-touch.is-narrow.is-portrait .toast-detail{letter-spacing:.04em}.is-touch.is-narrow.is-portrait .results-k{letter-spacing:.1em}.is-touch.is-narrow.is-portrait .results-actions .btn{flex:92px;padding:0 12px}.is-touch.is-narrow.is-portrait .rival-name-row{gap:12px;padding:10px}.is-touch.is-narrow.is-portrait .rival-name-row .rival-portrait{width:64px}.is-touch.is-narrow.is-portrait .rival-name{letter-spacing:.08em;font-size:28px}.is-touch.is-narrow.is-portrait .rival-tag{letter-spacing:.1em}.is-touch.is-narrow.is-portrait .rival-stamp{letter-spacing:.12em;padding:4px 8px;font-size:18px}.is-touch.is-narrow:not(.is-portrait) .hud-tc{top:var(--safe-t);max-width:calc(100vw - 376px)}.is-touch.is-narrow:not(.is-portrait) .toasts{max-width:calc(100vw - 376px)}.is-touch.is-narrow:not(.is-portrait) .toast{flex-wrap:wrap;gap:5px;min-width:0;padding:5px 8px}.is-touch.is-narrow:not(.is-portrait) .toast-label{font-size:12px}.is-touch.is-narrow:not(.is-portrait) .toast-detail{letter-spacing:.04em}.is-touch:not(.is-short) .results-standings{max-height:168px;display:grid;overflow-y:auto}.is-touch:not(.is-short) .results-st{letter-spacing:.06em;gap:7px;padding:6px 8px}.campaign-spotlight{border-left:3px solid var(--story-accent);background:#ffffff06;margin-bottom:10px;padding:12px 14px}.campaign-spotlight-main{align-items:center;gap:18px;display:flex}.campaign-spotlight-main>div{flex:1;min-width:0}.campaign-spotlight-main .rival-portrait{flex-shrink:0;width:84px}.story-context{font:600 var(--t-label) var(--f-ui);color:var(--story-accent)}.campaign-spotlight h2{font:800 26px/1.05 var(--f-num);margin:4px 0 6px}.campaign-spotlight p{font:400 var(--t-body)/1.45 var(--f-ui);color:var(--c-ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:62ch;margin:0 0 8px;display:-webkit-box;overflow:hidden}.story-spotlight-actions{flex-wrap:wrap;gap:10px;display:flex}.campaign-spotlight-progress{border-top:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding-top:14px;display:flex}.campaign-spotlight-progress>span{font:500 var(--t-label) var(--f-ui);color:var(--c-ink-3);white-space:nowrap}.career-reputation{width:min(100%,430px);min-width:0;margin-bottom:12px}.career-reputation>div:first-child{font:500 var(--t-body) var(--f-ui);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.career-reputation strong{color:var(--c-ink)}.career-reputation span{color:var(--c-ink-2);font-variant-numeric:tabular-nums}.career-rep-track{border-radius:var(--r-pill);background:#ffffff1a;height:4px;margin-top:7px;overflow:hidden}.career-rep-track>span{background:var(--story-accent,var(--c-accent));height:100%;display:block}.career-reputation small{font:400 var(--t-caption)/1.4 var(--f-ui);color:var(--c-ink-3);margin-top:6px;display:block}.campaign-spotlight-progress .career-reputation{margin:0}.story-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.story-heading h1{font:800 48px/1 var(--f-num);margin:0 0 6px}.story-heading p{font:400 var(--t-body-lg)/1.5 var(--f-ui);color:var(--c-ink-2);margin:0}.story-medal-count{text-align:right;font:400 var(--t-label)/1.6 var(--f-ui);color:var(--c-ink-3);flex-shrink:0}.story-medal-count strong{color:var(--c-gold);font-weight:600}.story-chapters{gap:2px;margin:16px 0 12px;padding:5px 2px 12px;scroll-padding:10px;display:flex;overflow-x:auto}.story-chapter{text-align:left;border:0;border-bottom:2px solid var(--c-line-2);color:var(--c-ink);cursor:pointer;font-family:var(--f-ui);background:0 0;flex:1 0 130px;padding:12px 10px;position:relative}.story-chapter>span{font:800 25px/1 var(--f-num);color:var(--c-ink-3);margin-bottom:10px;display:block}.story-chapter strong{font-size:var(--t-label);font-weight:600;display:block}.story-chapter small{font-size:var(--t-caption);color:var(--c-ink-3);margin-top:4px;display:block}.story-chapter.selected{border-color:var(--story-accent);background:#ffffff09}.story-chapter.selected>span{color:var(--story-accent)}.story-chapter.locked>span{opacity:.55}.story-chapter:focus-visible,.story-event:focus-visible{outline:2px solid var(--c-ink);outline-offset:-2px}.story-chapter:disabled,.story-event:disabled{cursor:wait}.story-chapter-intro{align-items:center;gap:18px;margin:12px 0 16px;display:flex}.story-chapter-intro .rival-portrait{flex-shrink:0;width:88px}.story-chapter-intro>div{min-width:0}.story-chapter-intro h2{font:700 30px/1.1 var(--f-num);margin:6px 0 8px}.story-chapter-intro p{font:400 var(--t-body-lg)/1.55 var(--f-ui);color:var(--c-ink-2);max-width:68ch;margin:0}.story-course-board{border-top:1px solid var(--c-line-2);grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:24px;padding-top:20px;display:grid}.story-event-list{flex-direction:column;align-self:start;gap:2px;display:flex}.story-event{text-align:left;border:0;border-bottom:1px solid var(--c-line);width:100%;min-height:72px;color:var(--c-ink);cursor:pointer;font-family:var(--f-ui);background:0 0;align-items:center;gap:10px;padding:12px 10px;display:flex}.story-event>span:nth-child(2){flex:1;min-width:0}.story-event strong{font-size:var(--t-body-lg);font-weight:600;display:block}.story-event small{font-size:var(--t-caption);color:var(--c-ink-3);margin-top:5px;display:block}.story-event.selected{box-shadow:inset 2px 0 var(--story-accent);background:#ffffff0a}.story-event-state{font-size:var(--t-caption);color:var(--c-ink-3);flex-shrink:0}.story-medal{width:28px;font:700 22px var(--f-num);text-align:center;flex-shrink:0}.medal-0{color:var(--c-ink-3)}.medal-1{color:var(--c-bronze)}.medal-2{color:var(--c-silver)}.medal-3{color:var(--c-gold)}.story-briefing{min-width:0}.story-route-sketch{width:100%;height:158px;color:var(--story-accent);border-radius:var(--r-1);background:#0c1018;display:block}.story-route-meta{font:500 var(--t-caption) var(--f-ui);color:var(--c-ink-3);flex-wrap:wrap;justify-content:space-between;gap:4px;margin:10px 0 16px;display:flex}.story-briefing h3{font:700 30px/1.1 var(--f-num);margin:0 0 10px}.story-briefing p{font:400 var(--t-body-lg)/1.55 var(--f-ui);color:var(--c-ink-2);margin:0 0 16px}.story-objective{border-left:2px solid var(--story-accent);margin:16px 0;padding-left:12px}.story-objective strong{font:600 var(--t-body-lg)/1.4 var(--f-ui);display:block}.story-objective>span{font:400 var(--t-label)/1.5 var(--f-ui);color:var(--c-gold);margin-top:4px;display:block}.story-best{font:500 var(--t-label)/1.4 var(--f-ui);color:var(--c-ink-2)}.story-briefing blockquote{font:italic 400 var(--t-body)/1.5 var(--f-ui);color:var(--c-ink-3);margin:18px 0}.story-rewards{border-top:1px solid var(--c-line);margin:18px 0;padding-top:12px}.story-rewards strong{font:600 var(--t-label) var(--f-ui);margin-bottom:6px;display:block}.story-rewards>span{font:400 var(--t-label)/1.6 var(--f-ui);color:var(--c-ink-2)}.story-launch{width:100%;min-height:48px}.story-playbar{z-index:2;border-top:1px solid var(--c-line-2);background:#12151e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 0 4px;display:flex;position:sticky;bottom:0;box-shadow:0 -18px 18px #12151e}.story-playbar>div{flex:1;min-width:0}.story-playbar strong{font:600 var(--t-body-lg) var(--f-ui);display:block}.story-playbar span{font:400 var(--t-label)/1.4 var(--f-ui);color:var(--c-ink-2);margin-top:4px;display:block}.story-playbar .story-launch{flex-shrink:0;width:auto;max-width:100%}.story-playbar p{font:400 var(--t-label)/1.4 var(--f-ui);flex-basis:100%;margin:0!important}.story-error{color:var(--c-danger-2)!important}.story-loading{color:var(--story-accent)!important;margin-top:10px!important}.story-online{margin-top:12px!important}.story-online .btn{margin-top:10px}.story-journal{border-top:1px solid var(--c-line);font:400 var(--t-body-lg)/1.6 var(--f-ui);margin-top:24px}.story-journal summary{cursor:pointer;color:var(--story-accent);min-height:48px;padding:14px 0}.story-journal p{color:var(--c-ink-2);margin:0 0 14px}.story-mastery{border-top:1px solid var(--c-line-2);align-items:center;gap:14px;margin-top:18px;padding:18px 0 4px;display:flex}.story-mastery strong{font:600 var(--t-body-lg) var(--f-ui)}.story-mastery p{font:400 var(--t-label)/1.6 var(--f-ui);color:var(--c-ink-3);margin:6px 0 0}.campaign-result{text-align:left;border-top:1px solid var(--c-line-2);border-bottom:1px solid var(--c-line-2);margin-top:14px;padding:14px 0}.story-result-medal{font:600 18px var(--f-ui);align-items:center;gap:10px;display:flex}.story-result-medal>span{font-size:25px}.campaign-result p{font:400 var(--t-body)/1.5 var(--f-ui);color:var(--c-ink-2);margin:8px 0 12px}.story-earned{font:500 var(--t-body) var(--f-ui);justify-content:space-between;align-items:center;gap:12px;display:flex}.story-earned strong{color:var(--c-ok)}.story-earned>span{color:var(--c-ink-3);font-size:var(--t-label)}.story-unlock-note{font:500 var(--t-label)/1.5 var(--f-ui);color:var(--c-ink-2);margin-top:12px}.rival-story-ending{font:400 15px/1.6 var(--f-ui);color:var(--c-ink-2);text-align:left;margin:22px 0}.story-race-label{max-width:100%;text-shadow:var(--text-shadow);flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.story-race-label strong{font:600 var(--t-body) var(--f-ui);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.story-race-label>span{font:400 var(--t-caption) var(--f-ui);color:var(--c-ink-2)}.active-story-objective{font:500 var(--t-label) var(--f-ui);color:var(--c-ink-2);margin-top:8px}.swatch:disabled{opacity:.38;cursor:not-allowed;position:relative}.swatch:disabled:after{content:"◇";font:800 16px var(--f-ui);color:var(--c-ink);text-shadow:0 1px 4px #000}.is-narrow .campaign-spotlight{padding:12px}.is-narrow .campaign-spotlight-main{align-items:flex-start;gap:12px}.is-narrow .campaign-spotlight-main .rival-portrait{width:48px}.is-narrow .campaign-spotlight h2{font-size:26px}.is-narrow .story-spotlight-actions .btn{font-size:var(--t-label);letter-spacing:.1em;padding-inline:12px}.is-narrow .campaign-spotlight-progress{margin-top:12px;padding-top:10px;display:block}.is-narrow .campaign-spotlight-progress>span,.is-narrow .campaign-spotlight-progress .career-reputation small{display:none}.is-narrow .story-heading h1{font-size:40px}.is-narrow .story-heading p{font-size:var(--t-body);max-width:22ch}.is-narrow .story-chapter-intro{align-items:flex-start;gap:12px}.is-narrow .story-chapter-intro .rival-portrait{width:62px}.is-narrow .story-chapter-intro h2{font-size:25px}.is-narrow .story-chapter-intro p{font-size:var(--t-body)}.is-narrow .story-course-board{grid-template-columns:1fr;gap:20px}.is-narrow .story-event{min-height:64px}.is-narrow .story-earned{flex-wrap:wrap;gap:6px}.is-narrow .story-spotlight-actions .btn{min-height:44px}.is-narrow .story-playbar .story-launch{width:100%}.is-short .story-route-sketch{height:120px}.is-short .story-chapter-intro{margin-bottom:16px}.highway-hud{color:#f1eee5;width:310px;max-width:100%}.highway-readout{background:#14312ee0;border:1px solid #a2d5c073;border-radius:6px 6px 0 0;align-items:center;gap:13px;padding:10px 16px;display:flex}.highway-route-icon{stroke:#a1d7c3;stroke-width:2px;fill:none;flex-shrink:0;width:24px;height:36px}.highway-distance{text-align:left;flex-direction:column;flex:1;display:flex}.highway-distance strong{font:700 36px/1 var(--f-num);font-variant-numeric:tabular-nums}.highway-distance small{font:500 14px var(--f-ui);color:#c5ded1;margin-left:5px}.highway-distance span,.highway-passes span{font:500 12px/1.4 var(--f-ui);color:#c5ded1}.highway-passes{text-align:right;flex-direction:column;display:flex}.highway-passes strong{font:700 26px/1 var(--f-num);font-variant-numeric:tabular-nums}.highway-traffic{background:#0c1e1ee0;border-radius:0 0 6px 6px;justify-content:space-between;align-items:center;gap:15px;padding:5px 12px;font-size:12px;display:flex}.highway-traffic [role=meter]{background:#53796a;width:70px;height:4px;overflow:hidden}.highway-traffic i{transform-origin:0;background:#d4dba3;height:100%;display:block}.highway-tip{color:#f1eee5;text-shadow:0 1px 4px #122b27;margin:5px 0 0;font-size:12px}.highway-brief{background:#28746d24;border-left:3px solid #8ad6c4;padding:15px 18px}.highway-brief h2{font:800 30px/1 var(--f-num);margin:0 0 5px}.highway-brief p{max-width:64ch;color:var(--c-ink-2);margin:0;line-height:1.45}.highway-brief-notes{color:#a1d7c3;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:12px;display:flex}.is-compact .highway-hud{width:250px}.is-compact .highway-readout{gap:8px;padding:7px 10px}.is-compact .highway-distance strong{font-size:28px}.is-compact .highway-passes strong{font-size:23px}.is-short .highway-tip,.is-touch.is-narrow.is-portrait .highway-tip,.is-touch.is-narrow.is-portrait .highway-route-icon{display:none}.is-touch.is-narrow.is-portrait .highway-readout{flex-wrap:wrap;gap:5px}.is-touch.is-narrow.is-portrait .highway-distance span{font-size:12px}.is-touch.is-narrow.is-portrait .highway-passes{text-align:left;flex-direction:row;align-items:baseline;gap:5px}.is-touch.is-narrow.is-portrait .highway-traffic{flex-wrap:wrap;gap:3px}.is-touch.is-narrow.is-portrait .highway-hud{max-width:calc(100% - 10px)}.race-mode{margin:0 0 10px}.race-mode .segmented.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.race-mode .seg{min-height:44px;padding:0 12px}.race-mode-note{font:500 var(--t-label)/1.45 var(--f-ui);color:var(--c-ink-3);margin:6px 0 0}.race-card.is-queued{background:linear-gradient(#ff7a1a24,#ff7a1a08);border-color:#ff7a1a8c}.race-card.is-queued .race-card-sub{color:var(--c-accent-2)}.queue-clock{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;margin:0 0 10px;display:flex}.queue-clock-k{font:600 var(--t-body) var(--f-ui);color:var(--c-ink-2)}.queue-clock-v{font:800 44px/1 var(--f-num);letter-spacing:.02em;color:var(--c-ink-hi);font-variant-numeric:tabular-nums}.queue-clock-v.is-soon{color:var(--c-accent-2)}.queue-clock-v.is-text{font-size:var(--t-num-lg);letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent-2)}.is-short .queue-clock-v{font-size:32px}.driver-chip-empty{color:var(--c-ink-3);letter-spacing:.04em;text-transform:none;border-style:dashed}.queue-card .online-row .btn{flex:auto}.queue-card .online-head{flex-wrap:wrap;row-gap:4px}.ranks-tab{flex-direction:column;gap:12px;min-width:0;display:flex}.ranks-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 10px;display:flex}.ranks-head .section-label{margin:0}.ranks-total{font:700 var(--t-caption) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink-3);white-space:nowrap}.ranks-maps{flex-wrap:wrap;gap:6px;display:flex}.ranks-map{border:1px solid var(--c-line-2);border-radius:var(--r-pill);min-height:40px;color:var(--c-ink-2);font:700 var(--t-caption) var(--f-ui);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#ffffff0a;padding:0 12px;transition:background .15s,color .15s,border-color .15s}.ranks-map:hover{color:var(--c-ink);border-color:#ffffff4d}.ranks-map.is-active{background:var(--c-accent);color:var(--c-on-accent);border-color:#0000}.ranks-map:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:3px}.ranks-maps.is-scroll{scrollbar-width:none;flex-wrap:nowrap;margin:-3px;padding:3px;overflow-x:auto}.ranks-maps.is-scroll::-webkit-scrollbar{display:none}.ranks-maps.is-scroll .ranks-map{white-space:nowrap;flex-shrink:0;min-height:44px}.segmented.ranks-modes,.is-compact .segmented.ranks-modes{grid-template-columns:repeat(4,minmax(0,1fr))}.ranks-modes .seg{min-height:44px;padding:0 6px}.ranks-board{min-width:0}.ranks-status{font:500 var(--t-body)/1.5 var(--f-ui);color:var(--c-ink-2);margin:0;padding:12px 0}.ranks-status p{margin:0 0 10px}.ranks-list{overscroll-behavior:contain;border:1px solid var(--c-line);border-radius:var(--r-2);background:#0003;max-height:min(56vh,520px);overflow-y:auto}.is-short .ranks-list{max-height:44vh}.ranks-list:focus-visible{outline:2px solid var(--c-accent-2);outline-offset:2px}.ranks-live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ranks-row{border-bottom:1px solid var(--c-line);font:700 var(--t-label) var(--f-ui);letter-spacing:.06em;color:var(--c-ink-2);grid-template-columns:2.6em minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:7px 12px;display:grid}.ranks-row:last-child{border-bottom:0}.ranks-row-head{z-index:1;background:var(--g-panel-deep);font:800 var(--t-caption) var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-3);position:sticky;top:0}.ranks-row.is-me{color:var(--c-ink);background:linear-gradient(90deg,#ff7a1a4d,#ff7a1a0a)}.ranks-row.is-pinned{z-index:1;border-top:1px solid var(--c-line-2);background:linear-gradient(90deg, #ff7a1a4d, #ff7a1a0a), var(--c-base);position:sticky;bottom:0}.ranks-rank{font:800 var(--t-num) var(--f-num);color:var(--c-ink-3);font-variant-numeric:tabular-nums}.ranks-row.is-me .ranks-rank{color:var(--c-accent-2)}.ranks-rank.r1{color:var(--c-gold)}.ranks-rank.r2{color:var(--c-silver)}.ranks-rank.r3{color:var(--c-bronze)}.ranks-name{align-items:center;gap:6px;min-width:0;display:flex}.ranks-user{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ranks-tag{border-radius:var(--r-1);color:var(--c-nos);font:700 var(--t-caption) var(--f-ui);letter-spacing:.12em;text-transform:uppercase;background:#3fd2ff24;flex-shrink:0;padding:1px 6px}.ranks-tag-me{color:var(--c-accent-2);background:#ffa24a29}.ranks-car{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;min-width:0;color:var(--c-ink-3);font-weight:600;overflow:hidden}.ranks-val{text-align:right;font:800 var(--t-num) var(--f-num);color:var(--c-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.ranks-row-head .ranks-rank,.ranks-row-head .ranks-val{font:inherit;color:inherit}.ranks-guest{gap:10px;display:grid}.ranks-guest p{font:500 var(--t-body)/1.5 var(--f-ui);color:var(--c-ink-2);margin:0}.ranks-guest .account-card{max-width:420px}.is-narrow .ranks-row{grid-template-columns:2.4em minmax(0,1fr) auto;padding:7px 10px}.is-narrow .ranks-row:not(.ranks-row-head) .ranks-rank{grid-area:1/1}.is-narrow .ranks-row:not(.ranks-row-head) .ranks-name{grid-area:1/2}.is-narrow .ranks-row:not(.ranks-row-head) .ranks-val{grid-area:1/3}.is-narrow .ranks-row:not(.ranks-row-head) .ranks-car{grid-area:2/2/auto/span 2}.is-narrow .ranks-row-head .ranks-car{display:none}.results-board{border-radius:var(--r-1);font:700 var(--t-label)/1.4 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent-2);animation:rise .4s var(--ease-out) .6s both;background:#ff7a1a1a;border:1px solid #ff7a1a4d;margin:12px 0 0;padding:8px 10px}.roam-prompt-error{font:600 var(--t-caption) var(--f-ui);color:var(--c-danger-2)}
