:root{--earth: #1a0c05;--earth-2: #2a160b;--earth-3: #3d2414;--ochre: #e46a1c;--ochre-2: #c2410c;--gold: #f2c14e;--sand: #f3e3c0;--text: #fbf3e4;--muted: #c9b79c;--good: #4ade80;--bad: #f87171;--blue: #60a5fa;--radius: 14px;--display: "Arial Black", "Arial Bold", Impact, system-ui, sans-serif;--body: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--earth);color:var(--text);font-family:var(--body);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body.playing{overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#app{min-height:100%}button{font:inherit}.btn{border:0;border-radius:999px;padding:.7em 1.4em;font-weight:700;cursor:pointer;color:var(--text);background:var(--earth-3);transition:transform .08s ease,filter .15s ease;touch-action:manipulation}.btn:hover{filter:brightness(1.12)}.btn:active{transform:scale(.97)}.btn:focus-visible,.chip:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.btn-primary{background:linear-gradient(180deg,var(--ochre),var(--ochre-2));color:#fff;box-shadow:0 4px #7c2d12}.btn-secondary{background:var(--sand);color:var(--earth);box-shadow:0 4px #a8895a}.btn-ghost{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 2px var(--earth-3)}.btn-big{font-size:1.15rem;padding:.8em 1.8em;min-width:11em}.chip{border:2px solid var(--earth-3);background:transparent;color:var(--muted);border-radius:999px;padding:.45em 1.1em;font-weight:700;cursor:pointer;touch-action:manipulation}.chip.on{background:var(--gold);border-color:var(--gold);color:var(--earth)}.error{color:var(--bad)}.rotate{display:none}@media(orientation:portrait)and (pointer:coarse){.rotate{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:16px;background:var(--earth);text-align:center;font:800 1.3rem var(--display);color:var(--gold)}.rotate-phone{width:64px;height:110px;border:6px solid var(--sand);border-radius:12px;animation:turn 2.2s ease-in-out infinite}.screen-host{visibility:hidden}}@keyframes turn{0%,20%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.rotate-phone{animation:none;transform:rotate(-90deg)}}.screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(ellipse 120% 60% at 50% 105%,rgba(228,106,28,.55),transparent 60%),linear-gradient(180deg,#2b1408 0%,var(--earth) 70%)}.loading{flex-direction:column;gap:16px;color:var(--muted)}.menu-card,.results-card{width:min(560px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.title{margin:0;font:900 clamp(2.4rem,9vw,4.4rem) / .9 var(--display);letter-spacing:-.02em;color:var(--gold);text-transform:uppercase;text-shadow:0 4px 0 #7c2d12,0 8px 24px rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center}.title-sub{font-size:.42em;letter-spacing:.3em;color:var(--sand);text-shadow:none;margin-top:.3em}.menu-art{width:min(320px,80%)}.menu-art svg{display:block;width:100%;height:auto}.menu-who{margin:0;color:var(--sand)}.menu-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}@media(max-height:520px){.menu-card{width:min(860px,100%);display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:8px;align-items:center}.menu-card .title{grid-column:1;grid-row:1}.menu-card .menu-art{grid-column:1;grid-row:2 / span 2;justify-self:center}.menu-card .menu-who{grid-column:2;grid-row:1}.menu-card .menu-actions{grid-column:2;grid-row:2;flex-direction:column}.title{font-size:clamp(2rem,7vw,3rem)}.btn-big{min-width:8em;padding:.65em 1.4em}}.setup-card{width:min(920px,100%)}.setup-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:center}.setup-car{display:flex;flex-direction:column;align-items:center;gap:8px}.setup-car-stage{display:flex;align-items:center;width:100%;gap:4px}.setup-car-canvas{flex:1;min-width:0;aspect-ratio:16 / 10;max-height:44vh;max-height:44dvh}.setup-car-name{font:900 1.5rem var(--display);text-transform:uppercase;color:var(--gold)}.setup-stats{width:min(320px,100%);display:flex;flex-direction:column;gap:5px}.stat-bar{display:grid;grid-template-columns:4.2em 1fr;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}.stat-track{height:8px;border-radius:999px;background:#00000059;overflow:hidden}.stat-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#e46a1c);transition:width .25s ease}.setup-options{display:flex;flex-direction:column;gap:8px}.stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#00000040;border-radius:12px;padding:4px 6px 4px 14px}.stepper-label{color:var(--muted);font-size:.85rem}.stepper-control{display:flex;align-items:center;gap:4px}.stepper-value{min-width:8.5em;text-align:center;font-weight:800}.arrow{border:0;background:transparent;color:var(--gold);font:900 1.7rem / 1 var(--display);width:44px;height:44px;border-radius:10px;cursor:pointer;touch-action:manipulation}.arrow:hover,.arrow:focus-visible{background:#f2c14e24}.arrow-big{font-size:2.6rem;width:52px;height:72px}.setup-drive{margin-top:6px}@media(max-width:640px)and (min-height:521px){.setup-body{grid-template-columns:1fr}}@media(max-height:520px){.setup-card .board-header{margin-bottom:4px}.setup-options{gap:4px}.stepper .arrow{height:36px}.setup-car-canvas{max-height:50vh;max-height:50dvh}}.spinner{width:36px;height:36px;border-radius:50%;border:4px solid rgba(242,193,78,.25);border-top-color:var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.board-screen{align-items:flex-start}.board-card{width:min(980px,100%)}.board-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.board-header h2{margin:0;font:900 1.8rem var(--display);color:var(--gold);text-transform:uppercase;flex:1}.board-scroll{overflow-x:auto;border-radius:var(--radius);background:#00000040}.board{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.board th,.board td{padding:10px 12px;text-align:left;white-space:nowrap}.board th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--earth-3)}.board td{border-bottom:1px solid rgba(255,255,255,.05)}.board .num{text-align:right}.board .rank{width:3em;color:var(--gold);font-weight:800}.board td.name{font-weight:700;white-space:normal}.board tr.you td{background:#f2c14e1f}.you-tag{margin-left:8px;font-size:.7rem;padding:2px 6px;border-radius:999px;background:var(--gold);color:var(--earth);vertical-align:middle}.board-empty{color:var(--muted);text-align:center;padding:24px 0}.board td.score{font:900 1.1rem var(--display);color:var(--gold)}.pips{display:inline-flex;gap:1px;white-space:nowrap}.pip{opacity:.22;filter:grayscale(1)}.pip.on{opacity:1;filter:none;color:#facc15}@media(max-width:760px){.board .wide{display:none}}@media(max-width:560px){.board th,.board td{padding:8px 6px}.board .phone{display:none}}.results-card h2{margin:0;font:900 clamp(2rem,7vw,3rem) var(--display);text-transform:uppercase;color:var(--gold)}.ending-wrecked .results-card h2,.ending-busted .results-card h2,.ending-blackedout .results-card h2{color:var(--bad)}.results-score{font:900 clamp(2.6rem,10vw,4rem) / 1 var(--display);display:flex;align-items:baseline;gap:10px}.results-score span{font:700 1rem var(--body);color:var(--muted)}.results-status{margin:0;color:var(--muted)}.results-status{display:flex;gap:8px;justify-content:center;min-height:1.6em}.rank-badge,.results-status .pb{font-weight:800;padding:2px 10px;border-radius:999px;background:#0000004d;color:var(--gold)}.results-status .pb{background:var(--good);color:var(--earth)}.results-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:4px 0 8px}.stat{background:#00000040;border-radius:10px;padding:10px 6px;display:flex;flex-direction:column;gap:2px}.stat-value{font-weight:800;font-size:1.1rem}.stat-label{font-size:.75rem;color:var(--muted)}@media(max-height:520px){.results-card{gap:6px;width:min(760px,100%)}.results-stats{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}}.game{position:fixed;inset:0;overflow:hidden;background:#000}.game-canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;inset:0;pointer-events:none;font-family:var(--body);--pad-top: max(8px, env(safe-area-inset-top));--pad-left: max(8px, env(safe-area-inset-left));--pad-right: max(8px, env(safe-area-inset-right))}.hud-blackout{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.6) 35%,#000 70%)}.hud-flash{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(220,38,38,.9))}.hud-score{position:absolute;top:var(--pad-top);left:50%;transform:translate(-50%);display:flex;align-items:baseline;gap:8px;padding:4px 14px;border-radius:999px;background:#110a0599;font-variant-numeric:tabular-nums}.hud-score-value{font:900 1.4rem var(--display);color:var(--text)}.hud-multiplier{font-weight:800;color:var(--muted)}.hud-multiplier.hot{color:var(--gold)}.hud-meters{position:absolute;top:var(--pad-top);left:var(--pad-left);display:grid;gap:4px;padding:6px 8px;border-radius:10px;background:#110a058c;width:clamp(140px,17vw,200px)}.hud-meter{display:grid;grid-template-columns:1.4em 1fr 3.2em;align-items:center;gap:6px;font-size:.7rem;font-weight:700}.hud-meter-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.hud-meter-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.hud-meter-bar{position:relative;height:8px;border-radius:999px;background:#ffffff1f;overflow:hidden}.hud-meter-fill{height:100%;width:0;border-radius:inherit;transition:width .2s linear}.hud-meter-mark{position:absolute;top:0;bottom:0;width:2px;background:#ffffffb3}.hud-meter-bac .hud-meter-fill{background:#f59e0b}.hud-meter-adrenaline .hud-meter-fill{background:#ef4444}.hud-meter-grease .hud-meter-fill{background:#eab308}.hud-meter-damage .hud-meter-fill{background:#a3a3a3}.hud-meter.danger .hud-meter-value{color:var(--bad)}.hud-meter-damage.danger .hud-meter-fill{background:#dc2626}.hud-buttons{position:absolute;top:var(--pad-top);right:var(--pad-right);display:flex;gap:8px}.hud-button{pointer-events:auto;width:44px;height:44px;border:0;border-radius:50%;background:#110a0599;color:var(--text);font-size:1.1rem;cursor:pointer;touch-action:manipulation}.hud-button:focus-visible{outline:3px solid var(--gold)}.hud-pops{position:absolute;top:calc(var(--pad-top) + 40px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.hud-pop{font:900 1.2rem var(--display);color:var(--gold);text-shadow:0 2px 6px rgba(0,0,0,.7);animation:pop-up 1.4s ease-out forwards}.hud-pop-big{font-size:1.7rem}@keyframes pop-up{0%{opacity:0;transform:translateY(8px) scale(.8)}15%{opacity:1;transform:none}to{opacity:0;transform:translateY(-28px)}}.hud-multiplier.dry{color:#6b7280}.hud-chase{position:absolute;top:calc(var(--pad-top) + 46px);right:var(--pad-right);display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font:900 1.1rem var(--display);font-variant-numeric:tabular-nums;animation:siren .5s steps(1) infinite}@keyframes siren{0%{background:#dc2626d9}50%{background:#2563ebd9}}.hud-stars{display:flex;gap:1px;font-size:1rem}.hud-star{color:#ffffff47}.hud-star.on{color:#facc15;text-shadow:0 0 6px rgba(0,0,0,.6)}.hud-chase[hidden]{display:none}.hud-meter-icon{font-size:.95rem;line-height:1}.hud-inset{position:absolute;border:3px solid #3d2414;border-radius:12px;box-shadow:0 0 0 1px #0009,inset 0 0 18px #000000b3}.hud-pause{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0502b8;pointer-events:auto}.hud-pause[hidden]{display:none}.hud-pause-card{width:min(620px,100%);max-height:100%;overflow-y:auto;padding:18px 22px;border-radius:var(--radius);background:var(--earth-2);box-shadow:0 20px 60px #00000080}.hud-pause-card h2{margin:0 0 8px;font:900 1.8rem var(--display);text-transform:uppercase;color:var(--gold)}.hud-pause-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.hud-keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem}.hud-keys-column{display:grid;grid-template-columns:max-content 1.6em 1fr;align-items:center;align-content:start;gap:8px 10px}.hud-keys-caps{display:flex;justify-content:flex-end;gap:3px;min-width:5.5em}.hud-keys-label{color:var(--text)}.hud-keys kbd{min-width:1.8em;padding:2px 5px;border-radius:5px;border:1px solid rgba(255,255,255,.25);border-bottom-width:3px;background:#ffffff0f;font:700 .8em var(--body);text-align:center;color:var(--text)}.hud-keys-icon{text-align:center;color:var(--sand)}@media(max-width:480px){.hud-keys{grid-template-columns:1fr;gap:8px}}@media(hover:none){.hud-keys{display:none}}.gear-selector{position:absolute;left:calc(var(--pad-left) + 4px);bottom:max(12px,env(safe-area-inset-bottom));width:clamp(130px,34vmin,230px);aspect-ratio:1;pointer-events:auto;touch-action:none;cursor:pointer}.gear-selector svg{display:block;width:100%;height:100%}.gear-plate{fill:#140e0ab8;stroke:#ffffff2e;stroke-width:1.5}.gear-slot{stroke:#050505;stroke-width:9;stroke-linecap:round}.gear-label{fill:#fbf3e48c;font:800 11px var(--body);text-anchor:middle;-webkit-user-select:none;user-select:none}.gear-label.on{fill:var(--gold)}.gear-n{font-size:8px}.gear-knob{fill:#d6d3d1;stroke:#1c1917;stroke-width:2}@media(max-height:460px){.hud-meters{gap:2px;padding:4px 6px}.hud-meter{font-size:.6rem}.hud-score-value{font-size:1.1rem}.hud-button{width:38px;height:38px}.hud-keys{font-size:.72rem}}
