:root{--ink:#fff;--ink-soft:#fffc;--shadow:#040c2099;--panel:#08143094;--touch-tach:clamp(84px, 24vh, 112px);--accent:#9cc4ff;--modal-panel:#0f1f42;--button:#ffffff17;--button-hover:#ffffff29;--primary:#2f6bff;--focus:#ffd23f;--penalty:#ff8a3d;--ahead:#5cf08f;--behind:#ff6b6b;--ahead-panel:#127840d1;--behind-panel:#961e26d1;--ghost:#4aa8ff;--touch-fill:#0a16306b;--touch-edge:#ffffff59;--touch-held:#78aaff8c;--gutter:16px;--safe-top:max(12px, env(safe-area-inset-top));--safe-right:max(var(--gutter), env(safe-area-inset-right));--safe-bottom:max(var(--gutter), env(safe-area-inset-bottom));--safe-left:max(var(--gutter), env(safe-area-inset-left));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:#0b1426;height:100%;margin:0;overflow:hidden}body{color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit}[hidden]{display:none!important}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}.hud-hint{top:max(12px, env(safe-area-inset-top));left:max(var(--gutter), env(safe-area-inset-left));color:var(--ink-soft);text-shadow:0 1px 3px var(--shadow);font-size:.8rem;position:absolute;right:280px}.hud-gauges{right:max(var(--gutter), env(safe-area-inset-right));bottom:max(var(--gutter), env(safe-area-inset-bottom));pointer-events:none;align-items:flex-end;gap:10px;display:flex;position:absolute}.gauge-tach{filter:drop-shadow(0 2px 6px #00000073);width:clamp(130px,22vh,186px);height:auto;overflow:visible}.gauge-back{fill:#080c148c}.gauge-track,.gauge-redzone,.gauge-revs{fill:none;stroke-width:15px}.gauge-track{stroke:#ffffff29}.gauge-redzone{stroke:#8a1c1c}.gauge-revs{stroke:#f97316}.gauge-revs.is-high{stroke:#ef4444}.gauge-tick{stroke:#fff;stroke-width:2px}.gauge-mark{fill:#fff;text-anchor:middle;dominant-baseline:central;font:700 13px system-ui,sans-serif}.gauge-face{fill:#f3f4f6}.gauge-unit-label,.gauge-speed-unit{letter-spacing:.08em;text-anchor:middle;font:700 9px system-ui,sans-serif}.gauge-unit-label{fill:#4b5563}.gauge-rpm{fill:#111827;font-variant-numeric:tabular-nums;text-anchor:middle;font:800 23px system-ui,sans-serif}.gauge-gear{fill:#b91c1c;text-anchor:middle;font:900 46px system-ui,sans-serif}.gauge-speed-box{fill:#111827}.gauge-speed{fill:#fff;font-variant-numeric:tabular-nums;text-anchor:middle;font:800 22px system-ui,sans-serif}.gauge-speed-unit{fill:#cbd5e1}.gauge-damage{stroke:#ffffff8c;stroke-width:1.2px;filter:drop-shadow(0 1px 3px #00000080);width:clamp(24px,4.2vh,32px);height:auto;margin-bottom:10px}#hud.is-touch .gauge-damage{width:20px;margin-bottom:0}.gauge-side{justify-items:end;gap:6px;margin-bottom:8px;display:grid}.gauge-steering{align-items:center;gap:6px;display:flex}.gauge-wheel{filter:drop-shadow(0 2px 4px #00000073);width:62px;height:62px}.gauge-wheel-ring{fill:#080c148c;stroke:#84cc16;stroke-width:6px}.gauge-wheel-rim{fill:none;stroke:#e5e7eb;stroke-width:6px}.gauge-wheel-spoke{fill:#e5e7eb}.gauge-wheel-mark{fill:#ef4444}.gauge-angle{font-variant-numeric:tabular-nums;background:#080c14bf;border-radius:50%;place-items:center;width:42px;height:42px;font:700 .8rem system-ui,sans-serif;display:grid}.gauge-pedals{gap:4px;display:grid}.gauge-pedal{letter-spacing:.06em;text-shadow:0 1px 3px var(--shadow);grid-template-columns:auto 110px 2.6ch;align-items:center;gap:8px;font-size:.68rem;font-weight:800;display:grid}.gauge-pedal-label{justify-self:end}.gauge-pedal-value{font-variant-numeric:tabular-nums;text-align:right}.gauge-bar{background:#080c148c;border:2px solid;border-radius:3px;height:11px;padding:2px}.gauge-bar-fill{transform-origin:0;background:currentColor;height:100%;display:block;transform:scaleX(0)}.gauge-pedal.is-brake{color:#f87171}.gauge-pedal.is-throttle{color:#a3e635}.gauge-pedal.is-handbrake{color:#60a5fa}.gauge-assist{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-shadow:0 1px 3px var(--shadow);font-size:.7rem;font-weight:700}.hud-toast{max-width:calc(100% - 2 * var(--gutter));background:var(--panel);text-align:center;border-radius:999px;padding:8px 18px;font-weight:600;position:absolute;top:20%;left:50%;transform:translate(-50%)}.hud-penalty{top:var(--safe-top);background:var(--panel);color:var(--penalty);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.hud-race{top:calc(var(--safe-top) + 34px);background:var(--panel);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:6px 14px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}#hud.is-timed .hud-hint{display:none}.hud-timing{top:var(--safe-top);left:var(--safe-left);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;border-radius:14px;min-width:128px;padding:6px 14px 8px;position:absolute}.hud-clock{font-size:1.9rem;font-weight:800;line-height:1.1}.hud-gap{color:var(--behind);font-size:1.15rem;font-weight:800}.hud-gap.is-ahead{color:var(--ahead)}#hud.is-timed .hud-penalty{top:calc(var(--safe-top) + 86px);left:var(--safe-left);transform:none}.hud-progress{top:calc(var(--safe-top) + 10px);width:min(42vw,420px);height:6px;box-shadow:0 1px 4px var(--shadow);background:#ffffff47;border-radius:3px;position:absolute;left:50%;transform:translate(-50%)}.hud-progress-split{background:#ffffffbf;width:2px;height:16px;margin-left:-1px;position:absolute;top:-5px}.hud-progress-you,.hud-progress-ghost{border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.hud-progress-you{z-index:1;border:3px solid var(--primary);background:#fff}.hud-progress-ghost{background:var(--ghost);box-shadow:0 0 8px var(--ghost)}.hud-progress-ghost:before,.hud-progress-ghost:after{content:"";background:var(--ghost);border-radius:2px;width:4px;height:11px;position:absolute;bottom:9px}.hud-progress-ghost:before{left:2px;transform:rotate(-14deg)}.hud-progress-ghost:after{right:2px;transform:rotate(14deg)}.hud-split{top:calc(var(--safe-top) + 72px);background:var(--panel);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:6px 16px;font-size:1.2rem;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.hud-split.is-ahead{background:var(--ahead-panel)}.hud-split.is-behind{background:var(--behind-panel)}.hud-notes{top:var(--safe-top);right:var(--safe-right);justify-items:end;gap:6px;display:grid;position:absolute}.hud-note{background:var(--panel);color:var(--ink-soft);opacity:.8;border-radius:12px;grid-template-columns:auto auto;align-items:center;column-gap:4px;padding:4px 12px 6px 8px;display:grid}.hud-note svg{width:40px;height:34px}.hud-note-grade{min-width:.7ch;font-size:1.6rem;font-weight:900;line-height:1}.hud-note-words{letter-spacing:.06em;text-align:center;text-transform:uppercase;grid-column:1/-1;font-size:.72rem;font-weight:700}.hud-note-words:empty{display:none}.hud-note.is-next{color:var(--ink);opacity:1}.hud-note.is-next svg{width:56px;height:47px}.hud-note.is-next .hud-note-grade{font-size:2.3rem}#hud.is-touch .hud-notes{top:calc(var(--safe-top) + var(--touch-tach) + 8px)}@media (max-height:460px){#hud.is-touch .hud-note:not(.is-next){display:none}}#hud.is-touch .hud-timing{left:calc(var(--safe-left) + 3 * clamp(40px, 12vh, 52px) + 34px);min-width:0;padding:4px 12px 6px}#hud.is-touch .hud-progress{width:min(30vw,320px)}#hud.is-touch .hud-clock{font-size:1.4rem}#hud.is-touch .hud-gap{font-size:.95rem}#hud.is-touch.is-timed .hud-penalty{top:calc(var(--safe-top) + 66px);left:calc(var(--safe-left) + 3 * clamp(40px, 12vh, 52px) + 34px)}.hud-big{color:var(--focus);text-shadow:0 4px 18px #0000008c;font-size:clamp(3.5rem,16vh,8rem);font-style:italic;font-weight:900;line-height:1;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.hud-big.is-popping{animation:.9s ease-out forwards hud-pop}@keyframes hud-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)}20%{opacity:1;transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}@media (prefers-reduced-motion:reduce){.hud-big.is-popping{animation:none}}.hud-hold{letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 3px var(--shadow);justify-items:center;gap:6px;font-size:.85rem;font-weight:700;display:grid;position:absolute;top:calc(20% + 52px);left:50%;transform:translate(-50%)}.hud-hold-bar{background:#fff3;border-radius:3px;width:160px;height:6px;overflow:hidden}.hud-hold-fill{background:var(--focus);transform-origin:0;height:100%;transform:scaleX(0)}.hud-fade{opacity:0;background:#050a14;position:absolute;inset:0}#hud.is-touch .hud-hint{display:none}#hud.is-touch .hud-gauges{top:var(--safe-top);right:var(--safe-right);bottom:auto}#hud.is-touch .gauge-side{display:none}#hud.is-touch .gauge-tach{width:var(--touch-tach)}.hud-telemetry{left:max(var(--gutter), env(safe-area-inset-left));bottom:max(var(--gutter), env(safe-area-inset-bottom));white-space:pre;background:#0000008c;border-radius:10px;margin:0;padding:10px 12px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute}@media (max-width:720px){.hud-hint{display:none}.gauge-pedal{grid-template-columns:auto 72px 2.6ch}}.modal{z-index:2000;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;background:#040a189e;place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.modal-panel{background:var(--modal-panel);-webkit-user-select:text;user-select:text;border-radius:18px;width:100%;max-width:760px;max-height:100%;padding:20px 24px 22px;overflow:auto;box-shadow:0 18px 60px #00000073}.modal-title{margin:0 0 14px;font-size:1.5rem;font-weight:800;line-height:1.2}.modal-row{gap:8px;display:flex}.modal-row+.modal-row{margin-top:8px}.modal-button,.modal-segment{background:var(--button);cursor:pointer;border:0;border-radius:12px;flex:1;min-height:44px;padding:8px 14px;font-weight:600}.modal-button:hover,.modal-segment:hover{background:var(--button-hover)}.modal-button.is-primary,.modal-segment[aria-pressed=true]{background:var(--primary)}.modal-segment:disabled{opacity:.45;cursor:default}.modal-button:focus,.modal-segment:focus{outline:3px solid var(--focus);outline-offset:2px}.pause-menu{grid-template-columns:minmax(200px,1fr) minmax(260px,1.5fr);gap:22px 28px;display:grid}.pause-settings{align-content:start;gap:16px;display:grid}.modal-setting-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-size:.8rem;font-weight:700}.modal-note{color:var(--ink-soft);margin:8px 0 0;font-size:.85rem;line-height:1.4}.modal-dialog{max-width:600px}.modal-dialog-body{align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.modal-portrait{background:#cfe3ff;border-radius:50%;flex:none;width:116px;height:116px;overflow:hidden}.modal-portrait svg{width:100%;height:100%;display:block}.modal-dialog-text p{margin:0 0 10px;line-height:1.45}.modal-quote{color:var(--accent);font-size:1.1rem;font-style:italic;font-weight:600}@media (max-width:620px){.pause-menu{grid-template-columns:1fr}.modal-dialog-body{text-align:center;flex-direction:column;align-items:center}}@media (max-height:460px){.modal-panel{padding:14px 18px 16px}.modal-title{margin-bottom:10px;font-size:1.2rem}.modal-button,.modal-segment{min-height:38px;padding:6px 12px}.modal-portrait{width:88px;height:88px}}.touch{--pad:clamp(64px, 23vh, 108px);--tool:clamp(40px, 12vh, 52px);pointer-events:none;position:fixed;inset:0}.touch-tools,.touch-steer,.touch-tilt,.touch-right{pointer-events:auto;position:absolute}.touch-tools{top:var(--safe-top);left:var(--safe-left);gap:10px;display:flex}.touch-tool{width:var(--tool);height:var(--tool);border:2px solid var(--touch-edge);background:var(--touch-fill);border-radius:50%;place-items:center;padding:0;font-size:1.5rem;font-weight:800;line-height:1;display:grid}.touch-tool svg{fill:currentColor;width:56%;height:56%}.touch-steer{left:calc(var(--safe-left) - 10px);bottom:calc(var(--safe-bottom) - 10px);gap:14px;padding:10px;display:flex}.touch-pad{width:var(--pad);height:var(--pad);border:2px solid var(--touch-edge);background:var(--touch-fill);border-radius:22px;place-items:center;display:grid}.touch-pad svg{width:46%;height:46%}.touch-tilt{left:var(--safe-left);bottom:var(--safe-bottom);background:var(--touch-fill);color:var(--ink-soft);border-radius:14px;justify-items:center;gap:6px;padding:10px 14px;font-size:.8rem;display:grid}.touch-tilt-track{background:#fff3;border-radius:3px;width:110px;height:6px;position:relative}.touch-tilt-track i{background:var(--accent);border-radius:50%;width:16px;height:16px;margin-left:-8px;position:absolute;top:-5px;left:50%}.touch-right{right:var(--safe-right);bottom:var(--safe-bottom);justify-items:end;gap:10px;display:grid}.touch-shift{gap:10px;display:flex}.touch-pedals{align-items:flex-end;gap:12px;display:flex}.touch-pedal,.touch-handbrake,.touch-auto{border:2px solid var(--touch-edge);background:var(--touch-fill);letter-spacing:.06em;text-transform:uppercase;place-items:center;font-size:.8rem;font-weight:800;display:grid}.touch-pedal{width:calc(var(--pad) * .82);height:calc(var(--pad) * 1.45);border-radius:18px}.touch-pedal.is-throttle{height:calc(var(--pad) * 1.6);border-color:#78dc8c99}.touch-pedal.is-brake{border-color:#ff786e99}.touch-handbrake{width:calc(var(--pad) * .7);height:calc(var(--pad) * .7);margin-bottom:calc(var(--pad) * .75);border-radius:50%}.touch-auto{color:#a0ebaaf2;border-radius:12px;align-self:flex-end;padding:8px 10px;font-size:.7rem}.touch .is-held{background:var(--touch-held);border-color:#fff}.touch-rotate{z-index:3000;padding:var(--gutter);text-align:center;pointer-events:auto;background:#0b1426;place-items:center;font-size:1.3rem;font-weight:700;display:none;position:fixed;inset:0}@media (orientation:portrait){.touch-ui .touch-rotate{display:grid}}#hud.is-cinematic>:not(.hud-intro):not(.hud-fade):not(.hud-toast){display:none!important}.hud-intro{left:var(--safe-left);bottom:calc(var(--safe-bottom) + 12px);max-width:calc(100% - 2 * var(--gutter));border-left:6px solid var(--ghost);background:linear-gradient(90deg,#081430e0,#08143080);padding:14px 22px 16px;animation:.6s ease-out both intro-in;position:absolute}.hud-intro-title{letter-spacing:.02em;text-transform:uppercase;font-size:clamp(1.8rem,7vh,3.2rem);font-style:italic;font-weight:900;line-height:1}.hud-intro-facts{color:var(--accent);margin-top:6px;font-size:1.1rem;font-weight:700}.hud-intro-skip{color:var(--ink-soft);margin-top:10px;font-size:.8rem}@keyframes intro-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hud-intro{animation:none}}.title-screen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;width:100%;max-width:1100px;max-height:100%;display:grid}.title-art{place-items:center;min-width:0;display:grid}.title-photo{max-width:100%;max-height:min(80vh,660px);box-shadow:0 0 0 3px var(--ghost), 0 18px 50px #00000080;border:8px solid #fff;border-radius:6px;display:block;transform:rotate(-3deg)}.title-side{background:#0a1634cc;border-radius:18px;gap:12px;max-width:520px;padding:18px 22px 20px;display:grid;box-shadow:0 18px 60px #00000073}.title-logo{justify-self:center;width:clamp(90px,22vh,170px);height:auto}.title-heading{text-align:center;margin:0;display:grid}.title-stage{letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-size:.9rem;font-weight:800}.title-question{font-size:clamp(1.7rem,6vh,2.8rem);font-style:italic;font-weight:900;line-height:1.05}.title-dare{text-align:center;color:var(--ink-soft);margin:-6px 0 0;font-style:italic}.title-go{color:#14213d;letter-spacing:.06em;cursor:pointer;background:linear-gradient(#ffd23f,#ffab1a);border:0;border-radius:16px;flex:1;min-height:64px;font-size:2rem;font-style:italic;font-weight:900;box-shadow:0 6px #c77d00,0 10px 24px #00000059}.title-go:focus{outline-offset:3px;outline:3px solid #fff}.title-go:active{transform:translateY(3px);box-shadow:0 3px #c77d00}.title-screen .modal-segments{flex-wrap:wrap}.title-screen .modal-segment{flex:auto}.title-footer{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;margin-top:2px;font-size:.72rem}.title-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 4px;font-weight:700;text-decoration:underline}.title-link:focus-visible{outline:2px solid var(--accent)}.credits{width:min(560px,100%);max-height:calc(100dvh - 2 * var(--gutter));grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;display:grid}.credits-maker{margin:0;font-weight:700}.credits-body{gap:12px;padding-right:4px;display:grid;overflow-y:auto}.credits-section p{color:var(--ink-soft);margin:4px 0 0;font-size:.85rem;line-height:1.45}.credits-link{color:var(--accent);font-weight:700}.title-records{text-align:center;font-variant-numeric:tabular-nums;margin:0;font-weight:700}@media (max-height:520px){.title-logo,.title-screen .modal-note,.title-dare{display:none}.title-side{gap:8px;padding:12px 16px 14px}.title-question{font-size:1.5rem}.title-go{min-height:50px;font-size:1.6rem}.title-screen .modal-setting-title{margin-bottom:4px}.title-screen{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:14px}.title-side{max-width:560px;max-height:calc(100dvh - 2 * var(--gutter));gap:7px;overflow-y:auto}.title-go{min-height:44px}.title-screen .modal-segment{min-height:36px;padding:5px 8px;font-size:.85rem}.title-screen .modal-setting.is-inline{grid-template-columns:6.2em minmax(0,1fr);align-items:center;display:grid}.title-screen .modal-setting.is-inline .modal-setting-title{margin:0}.title-screen .modal-setting.is-tip .modal-note{grid-column:1/-1;margin-top:4px;display:block}}@media (max-aspect-ratio:4/5){.title-screen{grid-template-columns:minmax(0,1fr);align-content:start}.title-photo{max-height:34vh}.title-side{justify-self:center}}.results{max-width:580px}@media (min-width:900px){.results{justify-self:end;margin-right:4vw}.modal:has(.results){-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#040a1800 30%,#040a188c)}}.results-headline{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.results-time{font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:900;line-height:1.1}.results-gap{font-variant-numeric:tabular-nums;color:var(--behind);font-size:1.6rem;font-weight:800}.results-gap.is-ahead{color:var(--ahead)}.results-badge{background:var(--focus);color:#14213d;border-radius:999px;align-self:center;padding:4px 12px;font-weight:800}.results-line{color:var(--accent);margin:6px 0 14px;font-size:1.1rem;font-style:italic;font-weight:600}.results-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:14px}.results-table th,.results-table td{text-align:right;padding:4px 8px}.results-table th:first-child{text-align:left;color:var(--ink-soft);font-weight:600}.results-table tr:first-child th{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem}.results-table tr:last-child{border-top:1px solid #fff3;font-weight:800}.results-table .is-ahead{color:var(--ahead)}.results-table .is-behind{color:var(--behind)}.results-stats{grid-template-rows:auto auto;grid-auto-flow:column;justify-content:start;gap:2px 22px;margin:0 0 16px;display:grid}.results-stats dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem}.results-stats dd{margin:0;font-size:1.15rem;font-weight:800}.results-keep{margin-top:16px}.results-keep .modal-segments{flex-wrap:wrap}.results-save-title{margin-top:12px}
