:root{--asphalt:#171b1d;--sea-glass:#a9bec7;--vermilion:#b74732;--solar:#e3dccb;--storm:#91b8c8;--chalk:#e8e3d8;--ink-blue:#182536;--hud-ink:#07121bc7;--hud-ink-soft:#0d1d28a8;--hud-edge:#e8e3d847;--hud-muted:#f4f0e8b3;--boot-progress:0%;color:var(--chalk);background:var(--asphalt);font-synthesis:none;text-rendering:geometricprecision;font-family:Avenir Next Condensed,Arial Narrow,sans-serif}*{box-sizing:border-box}html,body,#app,.game-shell{width:100%;height:100%;margin:0;overflow:hidden}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid var(--vermilion);outline-offset:4px}[hidden]{display:none!important}.game-shell{isolation:isolate;background:linear-gradient(155deg,#c8d5d8,#7899aa 46%,#24343c);position:relative}.world,.world canvas{width:100%;height:100%;position:absolute;inset:0}.world canvas{touch-action:none;display:block}.grain{z-index:2;pointer-events:none;opacity:.025;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.52'/%3E%3C/svg%3E");position:absolute;inset:0}.boot-screen,.start-screen,.pause-screen,.finish-screen{z-index:10;position:absolute;inset:0}.boot-screen{color:var(--ink-blue);background:var(--chalk);place-content:center;justify-items:center;transition:opacity .5s;display:grid}.brand-lockup{justify-items:center;line-height:1;display:grid}.brand-kicker,.brand-subtitle,.menu-eyebrow,.hud-label,.timing small,.charge-heading,.speed-block span,.control-ledger,.boot-screen p{letter-spacing:.12em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(.64rem,1vw,.76rem);font-weight:700}.brand-mark{letter-spacing:-.075em;margin:10px 0 6px;font-family:DIN Condensed,Avenir Next Condensed,Arial Narrow,sans-serif;font-size:clamp(4.8rem,18vw,13rem);font-style:italic;font-weight:900;font-stretch:75%}.brand-subtitle{color:var(--vermilion)}.boot-rule{background:#16263a29;width:min(420px,64vw);height:3px;margin-top:42px;overflow:hidden}.boot-rule span{width:var(--boot-progress);background:var(--vermilion);height:100%;transition:width .3s;display:block}.boot-screen p{color:#627078;margin:13px 0 0}.start-screen,.pause-screen,.finish-screen{background:linear-gradient(90deg,#0b1823f0 0%,#0b1823d6 31%,#0b182361 48%,#0000 56%);flex-direction:column;justify-content:center;padding:clamp(32px,4.5vw,72px);display:flex}.start-copy,.pause-screen,.finish-screen{align-items:flex-start}.start-copy{width:min(520px,88vw)}.menu-eyebrow{color:var(--sea-glass);margin-bottom:18px;display:block}.start-screen h1,.pause-screen h2,.finish-screen h2{letter-spacing:-.065em;text-transform:uppercase;margin:0;font-family:DIN Condensed,Avenir Next Condensed,Arial Narrow,sans-serif;font-size:clamp(4.2rem,10vw,9.2rem);font-style:italic;font-weight:900;line-height:.72}.event-lockup{align-items:end;gap:clamp(20px,2.5vw,38px);display:flex}.event-lockup h1{flex:none;font-size:clamp(4.7rem,6.4vw,6.9rem);line-height:.68}.event-lockup h1 em{color:var(--vermilion)}.track-mark{fill:none;stroke-linecap:square;stroke-linejoin:round;width:min(150px,25vw);margin-bottom:3px;overflow:visible}.track-mark-shadow{stroke:#030c147a;stroke-width:11px}.track-mark-route{stroke:#e8e3d8db;stroke-width:5px}.track-mark-center{stroke:#5ebdb994;stroke-dasharray:1 7;stroke-linecap:round;stroke-width:1.4px}.track-mark-start{stroke:var(--vermilion);stroke-width:8px}.track-mark-finish{stroke:var(--solar);stroke-width:4px}.track-mark-sector{fill:var(--ink-blue);stroke:var(--solar);stroke-width:1.6px}.track-mark-elevation{stroke:#5ebdb994;stroke-width:1.1px}.track-mark-label{fill:#e8e3d8ad;letter-spacing:.08em;font-family:SFMono-Regular,Consolas,monospace;font-size:6px;font-weight:700}.event-meta{border-top:1px solid #e8e3d83d;border-bottom:1px solid #e8e3d83d;grid-template-columns:repeat(4,minmax(80px,1fr));gap:1px;margin-top:20px;display:grid}.event-meta span{gap:4px;padding:11px 12px 10px 0;display:grid}.event-meta small{color:#e8e3d88c;letter-spacing:.12em;text-transform:uppercase;font-family:Arial Narrow,sans-serif;font-size:.62rem;font-weight:800}.event-meta strong{letter-spacing:.03em;text-transform:uppercase;font-size:.92rem}.start-screen h1 em{color:var(--vermilion);font-style:inherit}.start-copy>p{color:#f4f0e8d1;max-width:460px;margin:18px 0 22px;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.45}.primary-action,.text-action{cursor:pointer;letter-spacing:.055em;text-transform:uppercase;border:0;min-width:205px;font-weight:800}.primary-action{color:var(--ink-blue);background:var(--chalk);box-shadow:inset 5px 0 var(--vermilion);justify-content:space-between;align-items:center;gap:26px;padding:16px 18px;display:inline-flex}.start-copy .primary-action{width:248px;min-height:54px}.primary-action:hover{color:var(--chalk);background:var(--vermilion)}.primary-action kbd{color:#657077;font-family:SFMono-Regular,Consolas,monospace;font-size:.65rem}.text-action{color:#f4f0e8b8;text-align:left;background:0 0;padding:12px 0}.control-ledger{color:#f4f0e8a8;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:.62rem;display:flex;position:static}.control-ledger kbd{color:var(--chalk)}.hud{z-index:5;pointer-events:none;font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #050f16b8;position:absolute;inset:0}.race-order{top:max(28px, env(safe-area-inset-top));left:max(28px, env(safe-area-inset-left));background:linear-gradient(110deg, var(--hud-ink), var(--hud-ink-soft));border:1px solid var(--hud-edge);border-left:3px solid var(--vermilion);gap:6px;width:clamp(210px,12vw,228px);min-height:102px;padding:11px 14px 12px 16px;display:grid;position:absolute;box-shadow:0 10px 28px #050f1638}.race-order:after,.telemetry:after{content:"";background:var(--vermilion);width:44px;height:2px;position:absolute;top:-1px;left:15px}.race-order-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.race-order .hud-label{color:var(--solar)}.race-order-heading>span:last-child{color:var(--hud-muted);letter-spacing:.08em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.66rem;font-weight:700}.race-order-body{justify-content:space-between;align-items:end;gap:12px;display:flex}.race-order strong{font-family:DIN Condensed,Arial Narrow,sans-serif;font-size:4.5rem;font-style:italic;line-height:.72}.race-order strong small{margin-left:3px;font-size:.36em}.timing{gap:5px;min-width:96px;padding-bottom:1px;display:grid}.timing span{gap:2px;display:grid}.timing small{color:var(--hud-muted);font-size:.56rem}.timing strong{font-family:SFMono-Regular,Consolas,monospace;font-size:.98rem;font-style:normal;line-height:1}.telemetry{right:max(28px, env(safe-area-inset-right));bottom:max(28px, env(safe-area-inset-bottom));background:linear-gradient(110deg, var(--hud-ink-soft), var(--hud-ink));border:1px solid var(--hud-edge);border-left:3px solid var(--vermilion);grid-template-columns:minmax(190px,1fr) 140px;align-items:end;gap:18px;width:clamp(352px,24vw,390px);min-height:112px;padding:13px 16px 12px 19px;display:grid;position:absolute;box-shadow:0 10px 28px #050f1638}.charge{width:auto;padding-bottom:4px}.charge-heading{justify-content:space-between;margin-bottom:9px;font-size:.66rem;display:flex}.charge-heading strong{color:var(--solar)}.charge-track{background:#f4f0e83d;height:8px;position:relative;transform:skew(-22deg)}.charge-track:after{content:"";background:linear-gradient(90deg,#0000 32%,#101820d1 32% 34%,#0000 34% 65%,#101820d1 65% 67%,#0000 67%);position:absolute;inset:0}.charge-track span{width:var(--charge);background:linear-gradient(90deg, #234a78, var(--vermilion));height:100%;transition:width .1s linear;display:block;box-shadow:0 0 12px #b7473261}.charge[data-boosting] .charge-track span{background:var(--chalk);animation:.18s steps(2,end) infinite solar-pulse}.speed-block{grid-template-rows:1fr 1fr;grid-template-columns:auto minmax(30px,1fr);align-items:end;column-gap:8px;min-width:0;display:grid;position:relative}.speed-block>strong{letter-spacing:-.065em;grid-row:1/3;font-family:DIN Condensed,Arial Narrow,sans-serif;font-size:5.8rem;font-style:italic;font-weight:900;line-height:.72}.speed-block>span{color:var(--hud-muted);writing-mode:horizontal-tb;align-self:end;margin:0;font-size:.62rem;line-height:1}.speed-block>b{color:var(--solar);align-self:start;font-family:SFMono-Regular,Consolas,monospace;font-size:1.25rem;line-height:1;position:static}.race-countdown,.race-message{opacity:0;transition:opacity .16s,transform .16s;position:absolute;left:50%;transform:translate(-50%,16px)skew(-8deg)}.race-countdown[data-visible],.race-message[data-visible]{opacity:1;transform:translate(-50%)skew(-8deg)}.race-countdown{color:var(--chalk);font-family:DIN Condensed,Arial Narrow,sans-serif;font-size:clamp(7rem,18vw,15rem);font-style:italic;font-weight:900;line-height:1;top:31%}.race-message{color:var(--ink-blue);background:var(--vermilion);letter-spacing:.1em;text-shadow:none;text-transform:uppercase;padding:8px 16px;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:800;bottom:18%}.pause-screen,.finish-screen{background:linear-gradient(90deg,#0b1823f5,#0b1823d1 48%,#0b182333)}.pause-screen h2,.finish-screen h2{margin-bottom:42px;font-size:clamp(4rem,9vw,8rem)}.finish-screen h2{margin:0 0 30px}.finish-card{border:1px solid #e8e3d840;border-left:3px solid var(--vermilion);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(145deg,#101f2beb,#07121bb8);width:min(650px,92vw);padding:clamp(24px,3vw,42px);box-shadow:0 22px 60px #020a1057,inset 0 1px #ffffff14}.finish-topline{border-bottom:1px solid #e8e3d833;justify-content:space-between;align-items:center;gap:24px;padding-bottom:14px;display:flex}.finish-stamp,.finish-event,.finish-classified{letter-spacing:.14em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.65rem;font-weight:800}.finish-stamp{color:var(--ink-blue);background:var(--vermilion);padding:6px 9px 5px}.finish-event{color:var(--hud-muted);text-align:right}.finish-heading{grid-template-columns:112px 1fr;align-items:start;gap:clamp(18px,3vw,34px);margin-top:25px;display:grid}.finish-rank{border-right:1px solid #e8e3d833;gap:7px;padding-top:5px;display:grid}.finish-rank small,.finish-metrics small{color:var(--sea-glass);letter-spacing:.12em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:.64rem;font-weight:800}.finish-rank strong{letter-spacing:-.06em;font-family:DIN Condensed,Avenir Next Condensed,Arial Narrow,sans-serif;font-size:clamp(3.4rem,7vw,5.2rem);font-style:italic;font-weight:900;line-height:.76}.finish-rank strong small{color:var(--hud-muted);letter-spacing:0;margin-left:4px;font-size:.9rem}.finish-classified{color:var(--solar);letter-spacing:.2em;margin-bottom:24px;display:block}.finish-metrics{border-top:1px solid #f4f0e83d;border-bottom:1px solid #f4f0e83d;gap:clamp(36px,6vw,88px);width:100%;margin-bottom:26px;padding:14px 0;display:flex}.finish-metrics span{gap:5px;min-width:126px;display:grid}.finish-metrics small{display:block}.finish-metrics strong{letter-spacing:.02em;font-family:DIN Condensed,Avenir Next Condensed,Arial Narrow,sans-serif;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800}.pause-actions{gap:8px;display:grid}.touch-controls{z-index:7;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;display:none;position:absolute}.touch-controls>div{align-items:end;gap:7px;display:flex}.touch-controls button{width:58px;height:58px;color:var(--chalk);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#1d2d39d6,#07121bc2);border:1px solid #f4f0e86b;border-left:2px solid #b74732e0;border-radius:5px 5px 12px;align-content:center;justify-items:center;padding:0;transition:color 90ms,background 90ms,border-color 90ms,box-shadow 90ms,transform 90ms;display:grid;box-shadow:inset 0 1px #ffffff14,0 8px 20px #040c1242}.touch-controls button strong{letter-spacing:-.02em;font-family:DIN Condensed,Avenir Next Condensed,Arial Narrow,sans-serif;font-size:1.2rem;font-style:italic;font-weight:900;line-height:.9}.touch-controls button small{color:#f4f0e8ad;letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-family:SFMono-Regular,Consolas,monospace;font-size:.46rem;font-weight:800;line-height:1}.touch-system{position:absolute;bottom:146px;right:0}.touch-system button{width:48px;height:44px;box-shadow:none;background:#07121b75;border-color:#f4f0e83d #f4f0e83d #f4f0e83d #b7473280;border-radius:4px}.touch-system button strong{font-family:SFMono-Regular,Consolas,monospace;font-size:.72rem;font-style:normal}.touch-system button small{margin-top:3px;font-size:.4rem}.touch-steer button strong{font-size:1.65rem;font-style:normal}.touch-pedals{grid-template-rows:58px 70px;grid-template-columns:58px 70px;align-items:center!important;display:grid!important}.touch-pedals button[data-drive-action=drift]{grid-area:1/1}.touch-pedals button[data-drive-action=boost]{grid-area:1/2;justify-self:end}.touch-pedals button[data-drive-action=brake]{grid-area:2/1;align-self:end}.touch-pedals button[data-drive-action=throttle]{border-left-width:3px;border-left-color:var(--solar);width:70px;height:70px;color:var(--solar);background:linear-gradient(145deg,#b74732f0,#69261ee6);grid-area:2/2;place-self:end}.touch-pedals button[data-drive-action=throttle] strong{font-size:1.35rem}.touch-pedals button[data-drive-action=boost]{border-left-color:#e3dccbd1}.touch-controls button:active,.touch-controls button[data-active=true]{color:var(--ink-blue);border-color:var(--solar);border-left-color:var(--vermilion);background:var(--solar);transform:translateY(2px)scale(.96);box-shadow:inset 0 0 0 2px #b747326b,0 3px 10px #040c124d}.touch-controls button:active small,.touch-controls button[data-active=true] small{color:#182536c2}.touch-controls button:focus-visible{z-index:1;outline:2px solid var(--solar);outline-offset:3px;box-shadow:inset 0 0 0 1px var(--vermilion), 0 0 0 4px #07121bad}.touch-controls button:disabled,.touch-controls button[aria-disabled=true]{color:#f4f0e861;box-shadow:none;filter:grayscale();opacity:.42;background:#07121b47;border-style:dashed;border-color:#f4f0e829;transform:none}@keyframes solar-pulse{50%{opacity:.58}}@media (hover:none),(pointer:coarse){#app[data-state=racing] .touch-controls{display:flex}}@media (max-width:680px){.start-screen,.pause-screen,.finish-screen{padding:max(26px, env(safe-area-inset-top)) 22px max(34px, env(safe-area-inset-bottom));background:linear-gradient(#0b18231f,#0b1823a8 38%,#0b1823f5);justify-content:flex-end}.start-screen h1,.pause-screen h2,.finish-screen h2{font-size:clamp(4.1rem,22vw,7rem)}.finish-card{width:100%;padding:22px 18px 20px}.finish-topline{gap:12px}.finish-event{letter-spacing:.08em;font-size:.54rem}.finish-heading{grid-template-columns:82px 1fr;gap:16px;margin-top:20px}.finish-rank strong{font-size:3.7rem}.finish-screen h2{margin-top:0;margin-bottom:24px}.finish-metrics{gap:22px;margin-bottom:22px}.finish-metrics span{min-width:0}.finish-metrics strong{font-size:1.45rem}.event-lockup{gap:18px}.event-lockup h1{font-size:clamp(4rem,19vw,6rem)}.track-mark{width:118px}.event-meta{grid-template-columns:repeat(2,minmax(90px,1fr));margin-top:18px}.event-meta span{padding:8px 8px 7px 0}.start-copy>p{margin:24px 0 22px;font-size:.96rem}.control-ledger{display:none}.start-copy .primary-action{width:min(248px,100%)}.race-order{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));gap:4px;width:138px;min-height:60px;padding:7px 9px 8px 10px}.race-order strong{font-size:2.75rem}.race-order-heading{gap:6px}.race-order .hud-label,.race-order-heading>span:last-child{letter-spacing:.06em;font-size:.52rem}.race-order-body{gap:5px}.timing{gap:3px;min-width:58px;padding:0}.timing small{letter-spacing:.06em;font-size:.44rem}.timing strong{font-size:.66rem}.timing [data-best-lap-group]{display:none}.telemetry{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));grid-template-columns:minmax(68px,1fr) 58px;gap:6px;width:152px;min-height:62px;padding:7px 8px 8px 10px;bottom:auto}.charge{width:auto;padding-bottom:2px}.charge-heading{letter-spacing:.05em;white-space:nowrap;margin-bottom:5px;font-size:.46rem}.charge-track{height:5px}.speed-block>strong{font-size:2.9rem}.speed-block>span{font-size:.48rem}.speed-block>b{font-size:.8rem}.touch-controls button{width:52px;height:52px}.touch-controls>div{gap:6px}.touch-steer button{width:56px;height:58px}.touch-controls .touch-steer button strong{font-size:1.45rem}.touch-pedals{grid-template-rows:52px 64px;grid-template-columns:52px 64px}.touch-pedals button[data-drive-action=throttle]{width:64px;height:64px}.touch-system{gap:5px;bottom:128px;right:0}.touch-system button{width:46px;height:44px}}@media (max-width:680px) and (orientation:portrait){.race-order{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left))}.telemetry{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right))}.touch-controls{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left))}}@media (max-height:500px) and (pointer:coarse){.race-order{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));gap:4px;width:142px;min-height:60px;padding:7px 9px 8px 10px}.race-order strong{font-size:2.8rem}.race-order .hud-label,.race-order-heading>span:last-child{letter-spacing:.06em;font-size:.52rem}.race-order-body{gap:6px}.timing{gap:3px;min-width:60px;padding:0}.timing small{letter-spacing:.06em;font-size:.46rem}.timing strong{font-size:.7rem}.timing [data-best-lap-group]{display:none}.telemetry{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));grid-template-columns:minmax(96px,1fr) 62px;gap:7px;width:190px;min-height:60px;padding:7px 9px 8px 11px;bottom:auto}.charge{width:auto;padding-bottom:2px}.charge-heading{letter-spacing:.06em;white-space:nowrap;margin-bottom:5px;font-size:.5rem}.charge-track{height:5px}.touch-controls{right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));left:max(8px, env(safe-area-inset-left))}.touch-controls button{width:52px;height:52px}.touch-steer button{width:56px;height:56px}.touch-pedals{grid-template-rows:52px 64px;grid-template-columns:52px 64px}.touch-pedals button[data-drive-action=throttle]{width:64px;height:64px}.touch-system{gap:5px;bottom:128px;right:0}.touch-system button{width:46px;height:44px}.touch-controls .touch-steer button strong{font-size:1.4rem}.speed-block>strong{font-size:3rem}.speed-block>span{font-size:.5rem}.speed-block>b{font-size:.84rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
