*,:before,:after{box-sizing:border-box}:root{--bg:#0a0d11;--ink:#f4f1ea;--muted:#f4f1ea94;--line:#f4f1ea24;--amber:#f0b24a;--amber-soft:#ffd79a;--glass:#0c10149e;--radius:18px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif}html,body{background:var(--bg);width:100%;height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;padding:0;overflow:hidden}body{overscroll-behavior:none}#app{position:fixed;inset:0;overflow:hidden}#scene{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}#scene:active{cursor:grabbing}.vignette{pointer-events:none;z-index:2;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#00000047 80%,#00000080 100%),linear-gradient(#080a0c38,#0000 18% 82%,#080a0c40);position:absolute;inset:0}.grain{pointer-events:none;opacity:.16;z-index:3;mix-blend-mode:overlay;background-image:repeating-radial-gradient(circle at 17% 32%,#ffffff17 0 1px,#0000 1px 3px);background-size:3px 3px;animation:.9s steps(2,end) infinite grainShift;position:absolute;inset:-50%}@keyframes grainShift{0%{transform:translate(0,0)}50%{transform:translate(-1px,1px)}to{transform:translate(1px,-1px)}}.hud{z-index:6;pointer-events:none;opacity:0;justify-content:space-between;align-items:flex-start;gap:18px;padding:clamp(16px,2.4vw,30px) clamp(16px,2.6vw,36px);transition:opacity .8s .2s;display:flex;position:absolute;inset:0 0 auto}body.driving .hud{opacity:1}.hud-brand{align-items:center;gap:12px;display:flex}.brand-mark{border:1.5px solid var(--amber);border-radius:50%;width:22px;height:22px;position:relative;box-shadow:0 0 18px #f0b24a59}.brand-mark:after{content:"";background:var(--amber);border-radius:50%;position:absolute;inset:5px}.hud-brand strong{letter-spacing:.24em;font-size:12px;font-weight:700;display:block}.hud-brand span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:10px;display:block}.hud-stats{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(1.2);background:#0a0e1261;border-radius:12px;gap:clamp(14px,2.4vw,34px);padding:8px 18px;display:flex}.stat{flex-direction:column;gap:2px;min-width:54px;display:flex}.stat-label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:9px}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:14px;font-weight:500}.stat-value em{letter-spacing:.14em;color:var(--muted);margin-left:2px;font-size:9px;font-style:normal}.stat-gear .stat-value{color:var(--amber-soft)}.hud-actions{pointer-events:auto;gap:8px;display:flex}.icon-btn{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);height:34px;color:var(--ink);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#0a0e126b;border-radius:10px;align-items:center;gap:7px;padding:0 12px;font-size:10.5px;transition:background .2s,border-color .2s,transform .2s;display:flex}.icon-btn svg{opacity:.85;width:16px;height:16px}.icon-btn:hover{background:#1e242abf;border-color:#f0b24a73}.icon-btn:active{transform:scale(.97)}.icon-btn.is-off{color:var(--muted)}.icon-btn.is-off .muted-x{opacity:1!important}.muted-x{opacity:0;stroke:#e2705f!important}.speed-badge{z-index:6;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#0a0e1266;border-radius:12px;align-items:baseline;gap:6px;padding:10px 16px 9px;transition:opacity .7s .3s,transform .7s .3s;display:flex;position:absolute;bottom:clamp(18px,3vw,34px);right:clamp(16px,2.6vw,36px);transform:translateY(6px)}body.driving .speed-badge{opacity:1;transform:none}.speed-badge span{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:24px;font-weight:600}.speed-badge small{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:9px}.toast{z-index:8;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);letter-spacing:.1em;text-transform:uppercase;opacity:0;pointer-events:none;background:#0a0e12b8;border-radius:100px;padding:10px 18px;font-size:11px;transition:opacity .35s,transform .35s;position:absolute;bottom:10%;left:50%;transform:translate(-50%,12px)}.toast.show{opacity:1;transform:translate(-50%)}.touch-ui{z-index:7;padding:0 clamp(14px, 4vw, 30px) max(18px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute;inset:auto 0 0}body.touch-mode.driving .touch-ui{display:flex}.touch-steer,.touch-pedals{pointer-events:auto;gap:12px;display:flex}.touch-btn{-webkit-backdrop-filter:blur(10px);color:var(--ink);font:inherit;-webkit-user-select:none;user-select:none;touch-action:none;background:#0c10146b;border:1px solid #ffffff2e;place-items:center;transition:background .1s,transform .1s;display:grid}.touch-btn svg{width:26px;height:26px}.touch-btn.steer{border-radius:50%;width:72px;height:72px}.touch-btn.pedal{letter-spacing:.14em;border-radius:50%;width:76px;height:76px;font-size:12px;font-weight:600}.touch-btn.pedal.gas{background:#78521a59;border-color:#f0b24a80}.touch-btn.brake{border-color:#e2705f66;width:62px;height:62px;margin-bottom:6px}.touch-btn.active{background:#f0b24a52;transform:scale(.95)}.overlay{z-index:20;background:radial-gradient(100% 100% at 70% 40%,#0a0d1161,#06080ad1 70%);justify-content:center;align-items:center;padding:clamp(18px,4vw,56px);transition:opacity .55s,visibility .55s;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay[hidden]{display:none}.overlay.start{background:linear-gradient(100deg,#06090cf0 0%,#070a0dd1 36%,#080c1040 68%,#080c100d 100%),linear-gradient(#0000 45%,#050709bf);justify-content:flex-start;align-items:flex-end}.start .panel{-webkit-backdrop-filter:blur(22px)saturate(1.1);background:linear-gradient(160deg,#10151ad1,#090c0fb3);border:1px solid #ffffff1a;border-radius:26px;width:min(560px,100%);padding:clamp(26px,4vw,46px);animation:.9s cubic-bezier(.16,1,.3,1) both panelIn;box-shadow:0 40px 120px #0000008c}@keyframes panelIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--amber);margin:0 0 18px;font-size:10px}h1{letter-spacing:-.04em;margin:0 0 20px;font-size:clamp(38px,5.6vw,68px);font-weight:600;line-height:.94}h1 span{font-family:var(--serif);letter-spacing:-.02em;color:var(--amber-soft);font-style:italic;font-weight:400}h2{letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(26px,3.4vw,38px);font-weight:600}.lede{color:#f4f1eaad;max-width:46ch;margin:0 0 26px;font-size:13.5px;line-height:1.7}.controls-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:26px;display:grid}.controls-grid.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.controls-grid div{color:var(--muted);align-items:center;gap:6px;min-height:26px;font-size:11px;display:flex}.controls-grid div span{margin-left:2px}.touch-hint{border-left:2px solid var(--amber);color:#f4f1ea9e;margin:0 0 22px;padding-left:11px;font-size:12px;line-height:1.65;display:none}body.touch-mode .touch-hint{display:block}body.touch-mode .keyboard-hints{display:none}kbd{min-width:24px;height:22px;font-family:var(--font);color:#f4f1eae6;background:#ffffff12;border:1px solid #ffffff29;border-bottom-color:#ffffff14;border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.panel-footer{flex-direction:column;gap:12px;display:flex}.primary-btn{color:#201506;height:52px;font-family:var(--font);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#ffd085,#f0b24a 60%,#d9973a);border:none;border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:0 26px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 14px 40px #f0b24a38,inset 0 1px #ffffff80}.primary-btn svg{width:18px;height:18px}.primary-btn:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 18px 48px #f0b24a4d,inset 0 1px #ffffff80}.primary-btn:active{transform:translateY(0)scale(.995)}.ghost-btn{border:1px solid var(--line);height:46px;color:var(--ink);font:inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:11px;padding:0 22px;font-size:11px;transition:background .2s,border-color .2s}.ghost-btn:hover{background:#ffffff0f;border-color:#f0b24a66}.hint{letter-spacing:.1em;color:#f4f1ea66;text-transform:uppercase;margin:0;font-size:10px}.pause .overlay,.help .overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06080ab8}.overlay.pause,.overlay.help{-webkit-backdrop-filter:blur(14px)saturate(.9);background:#06080a99}.panel.small{background:linear-gradient(160deg,#11161beb,#090c0fe0);border:1px solid #ffffff1a;border-radius:22px;width:min(520px,100%);padding:clamp(24px,3.4vw,38px);animation:.6s cubic-bezier(.16,1,.3,1) both panelIn;box-shadow:0 40px 120px #0009}.panel.small .primary-btn{width:100%;margin-top:22px}.pause-actions{flex-direction:column;gap:10px;display:flex}.pause-actions .primary-btn{width:100%;margin-top:0}.loading{z-index:40;background:#0a0d11;place-items:center;transition:opacity .7s,visibility .7s;display:grid;position:absolute;inset:0}.loading.done{opacity:0;visibility:hidden}.loading-inner{flex-direction:column;align-items:center;gap:20px;display:flex}.loading-inner p{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10px}.spinner{border:1.5px solid #ffffff1f;border-top-color:var(--amber);border-radius:50%;width:38px;height:38px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=860px){.hud-stats,.hud-brand span{display:none}.overlay.start{background:linear-gradient(#080c1026,#06090c8c 45%,#050709eb 90%);justify-content:center;align-items:flex-end}.start .panel{border-radius:22px;width:100%;max-width:560px;padding:24px 22px 26px}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.lede{margin-bottom:20px;font-size:12.5px}.speed-badge{top:78px;bottom:auto;right:16px}}@media (width<=520px){h1{font-size:clamp(34px,10.5vw,46px)}.hud{padding:14px 16px}.hud-actions .icon-btn span{display:none}.icon-btn{padding:0 9px}.controls-grid div{font-size:10px}.panel.small{padding:24px 20px}}@media (hover:none) and (pointer:coarse){.touch-ui{display:none}body.touch-mode.driving .touch-ui{display:flex}}@media (prefers-reduced-motion:reduce){.grain,.start .panel,.panel.small{animation:none}}
