:root{--hud-top-gap:36px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f6f3e7;background:#172721;color-scheme:dark;-webkit-text-size-adjust:100%;font-synthesis:none}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}body{position:fixed;inset:0}
button,a{touch-action:none}button{font:inherit;cursor:pointer;border:0;color:inherit}a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:3px solid #fff3ad;outline-offset:5px}[hidden]{display:none!important}
#app{position:relative;width:min(100%,600px);height:100%;margin:auto;overflow:hidden;background:#24392e;isolation:isolate;box-shadow:0 0 100px #0005}
#road{display:block;width:100%;height:100%;touch-action:none}
/* Blur only the scene. UI controls never share a backdrop-filter layer. */
.overlay-open>#road{filter:blur(8px)}
.overlay-open>.dashboard,.overlay-open>.controls,.overlay-open>.road-notice{visibility:hidden}
.topbar{position:absolute;z-index:8;inset:0 0 auto;display:grid;grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);align-items:center;gap:12px 8px;padding:calc(env(safe-area-inset-top,0px) + var(--hud-top-gap)) max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));pointer-events:none;background:transparent}
.race-readout,.run-stats,.wallet-badge{text-shadow:0 1px 2px #081b14,0 -1px 2px #081b14}
.topbar>.all-games{justify-self:start}.header-centre{grid-column:2;grid-row:1;min-width:0;text-align:center;font-variant-numeric:tabular-nums}.race-readout{display:flex;flex-direction:column;align-items:center;justify-content:center;height:44px;gap:2px}.race-readout>strong{font-size:28px;letter-spacing:-1px;line-height:1;font-weight:850}.race-readout.long-score>strong{font-size:22px}.score-unit{font:7px ui-monospace,monospace;letter-spacing:1.5px;color:#adbeaa}
.run-stats{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:18px;min-height:14px;font-size:10px;font-variant-numeric:tabular-nums;color:#b9cbb1;white-space:nowrap}.run-stats>span{display:flex;align-items:center;gap:5px}.pass-count>span{font-size:15px;color:#f0b77e}.pass-count b{font-weight:650}.run-stats .run-gold{display:flex;align-items:center;margin:0;font-size:10px;gap:5px}.run-stats .traffic-level{margin:0;padding:0;border:0;border-radius:0;background:none;color:#9db29d;font:700 9px ui-monospace,monospace}.run-stats .traffic-level.raised{color:#ffe0a9}
.drive-instruments{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);inset-inline:0;margin-inline:auto;width:min(144px,calc(100% - 208px));display:flex;flex-direction:column;align-items:center;gap:7px}
.all-games,.tools button,.small-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #eaf3e029;border-radius:50%;background:#1b3025;font-size:23px;pointer-events:auto}
.topbar .all-games,.topbar .tools button{flex-shrink:0;padding:0;-webkit-appearance:none;appearance:none}
.tools{display:flex;gap:8px;grid-column:3;grid-row:1;justify-self:end}.topbar svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tools button:disabled{color:#8fa58c}.sound-off,#sound[data-enabled="false"] .sound-waves{display:none}#sound[data-enabled="false"] .sound-off{display:block}
.dashboard{position:absolute;inset:0;z-index:2;pointer-events:none;font-variant-numeric:tabular-nums}
.speed{position:relative;flex-shrink:0;width:78px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#10251ded;text-shadow:0 2px 8px #0004}
.speed-ring{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:3;stroke-linecap:round}.dial-track{stroke:#d8e9c629}.dial-fill{stroke:#f8a16a;stroke-dasharray:100;stroke-dashoffset:56}
.speed>strong{font-size:28px;line-height:1;font-style:italic;font-weight:850;letter-spacing:-1.3px}.speed>span{font:8px ui-monospace,monospace;margin-top:5px;letter-spacing:1px;color:#c4cfb8}
.controls{position:absolute;z-index:4;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);height:92px;pointer-events:none}
#accelerate{position:absolute;bottom:0;right:max(22px,env(safe-area-inset-right));pointer-events:auto;display:grid;place-items:center;width:74px;height:92px;border:1px solid #ffd1a270;border-radius:25px;background:linear-gradient(150deg,#fcb478,#dc7544);box-shadow:0 5px 0 #9b4e2e,0 12px 25px #10231e70;transition:transform .1s,box-shadow .1s}
#accelerate svg{width:40px;height:58px;transform:rotate(6deg)}.pedal-body{fill:#763c2455;stroke:#573c30;stroke-width:2}.pedal-grip{fill:none;stroke:#503a2d;stroke-width:3;stroke-linecap:round}
#accelerate.held{background:linear-gradient(150deg,#d1f4ac,#99ca78);transform:translateY(4px);box-shadow:0 1px 0 #5f824a,0 8px 25px #10231e70;border-color:#d2f8b2}#accelerate.held svg{transform:rotate(0) translateY(2px)}
.road-notice{position:absolute;top:calc(env(safe-area-inset-top,0px) + var(--hud-top-gap) + 94px);left:max(10px,calc(50% - var(--opposing-offset,58px)*1.37 - 122px));z-index:3;display:flex;align-items:center;gap:5px;width:min(112px,calc(50% - var(--opposing-offset,58px)*1.37 - 20px));padding:9px 6px;border:2px solid #f7b575;border-radius:13px;background:#3b2a20f5;color:#ffe3b4;box-shadow:0 4px 18px #101b1c99;opacity:0;pointer-events:none;font-variant-numeric:tabular-nums}
.road-notice.visible{opacity:1}.road-notice svg{flex-shrink:0;width:18px;height:24px;fill:#ffbc7340;stroke:#ffd092;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.road-notice>div{display:flex;flex-direction:column;gap:1px}.road-notice span{font-size:8px;letter-spacing:.5px;font-weight:850}.road-notice strong{display:flex;align-items:baseline;gap:3px}.road-notice b{font:850 23px/1 ui-monospace,monospace;letter-spacing:-1px}.road-notice small{font-size:7px;font-weight:750;letter-spacing:.3px}.road-notice.urgent{border-color:#ff8a70;background:#612f29f5;color:#fff0d2;box-shadow:0 0 0 3px #ff795c22,0 4px 20px #101b1c99;animation:hazard .65s ease-in-out infinite alternate}.road-notice.urgent svg{stroke:#ffb69c;fill:#ff775733}
@keyframes hazard{to{box-shadow:0 0 0 6px #ff795c12,0 0 24px #ff795c44}}
.overlay{position:absolute;inset:0;z-index:5;padding:calc(env(safe-area-inset-top,0px) + 90px) 30px calc(env(safe-area-inset-bottom,0px) + 24px);overflow:auto;touch-action:pan-y;background:linear-gradient(#13251e5e,#14271d1a 25%,#14271d35 65%,#10211dd9)}
.menu-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;position:relative}
.finish-stripe{width:70px;height:11px;transform:skew(-15deg);background:repeating-conic-gradient(#e3e8c880 0 25%,transparent 0 50%) 0/11px 11px;margin-bottom:19px}
h1{font-size:clamp(75px,21vw,116px);line-height:.82;letter-spacing:-5px;font-style:italic;text-align:center;margin:0;font-weight:950;transform:translateX(-4px);text-shadow:0 5px 28px #14251c99}h1 em{font-style:inherit;color:#ff9d61}
.menu-bottom{display:flex;flex-direction:column;align-items:center;margin-top:auto;padding-top:45px;width:100%}
.play-button{display:grid;place-items:center;width:88px;height:88px;border:1px solid #ffc69a;border-radius:50%;background:linear-gradient(145deg,#ffba7d,#eb8650);color:#283426;box-shadow:0 5px 0 #9c502e,0 15px 40px #0d241b6b;flex-shrink:0}
.play-button:active{transform:translateY(4px);box-shadow:0 1px 0 #9c502e}.triangle{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:24px solid #283426;margin-left:6px}
.menu-record{display:flex;align-items:center;gap:8px;color:#e1e8cc;font-size:13px;margin-top:22px;font-variant-numeric:tabular-nums}.menu-record>span{color:#e7b16c;font-size:21px}.menu-record b{font-weight:600}
.legend{display:flex;justify-content:center;gap:21px;margin-top:28px;font-size:11px;color:#e6e7d1}.legend>span{display:flex;align-items:center;gap:9px}.legend b{display:grid;place-items:center;min-width:29px;height:29px;font-size:18px;font-style:italic;color:#f7af75;border:1px solid #f7af753b;border-radius:9px}
.result-overlay,.pause-overlay{z-index:7;display:flex;flex-direction:column;align-items:center;background:#10211de0;padding:calc(env(safe-area-inset-top,0px) + 88px) 28px calc(env(safe-area-inset-bottom,0px) + 132px);overflow:hidden}
.result-card{width:min(100%,390px);min-height:0;max-height:100%;margin:auto 0;flex:0 1 auto;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;text-align:center}.result-card h2{font-weight:900;font-style:italic;font-size:43px;letter-spacing:-1.6px;line-height:1.05;margin:0 0 9px}.result-card>p{color:#b9c9ae;font-size:13px;margin:0}
.result-score{font-weight:900;font-size:67px;letter-spacing:-3.5px;margin:30px 0 20px;color:#ffae78;font-variant-numeric:tabular-nums;white-space:nowrap}.result-stats{display:flex;justify-content:center;align-items:center;gap:37px;font-size:13px;color:#c8d8b7}.result-stats i{font-style:normal;font-size:21px;color:#e7b16c;vertical-align:middle;margin-right:5px}.result-stats b{font-weight:600}
.result-actions{position:absolute;left:max(22px,env(safe-area-inset-left,0px));right:max(22px,env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 24px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;margin:0;z-index:1}.result-actions .terminal-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;max-width:180px;height:80px;min-height:80px;padding:8px 12px;border-radius:22px;font-size:11px;font-weight:850;letter-spacing:.8px;line-height:1.2}.result-actions .terminal-action:last-child{justify-self:end}.result-actions .terminal-action svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.result-actions .terminal-action .resume-icon{fill:currentColor;stroke:none}.small-button{width:44px;height:44px;font-size:25px}
.crash-flash{position:absolute;z-index:8;inset:0;pointer-events:none;background:#ffcf96;opacity:0}.crash-flash.active{animation:impact .18s ease-out}.menu-open #pause{display:none}
.menu-button{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;width:154px;min-height:56px;padding:12px 20px;border:1.5px solid #b0cc9b88;border-radius:17px;background:linear-gradient(145deg,#35513d,#213b2c);box-shadow:0 3px 0 #0c241c,0 7px 18px #0d231c66;color:#ecf3d7;font-size:13px;font-weight:800;letter-spacing:1.3px}.menu-button svg{width:25px;height:25px;fill:none;stroke:#edc28a;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.menu-button:active{transform:translateY(2px);box-shadow:0 1px 0 #0c241c}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes impact{0%{opacity:.2}100%{opacity:0}}
@media(max-height:690px){.overlay{padding-top:calc(env(safe-area-inset-top,0px) + 77px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 18px)}h1{font-size:75px}.finish-stripe{margin-bottom:16px}.menu-bottom{padding-top:28px}.play-button{width:75px;height:75px}.menu-record{margin-top:16px}.legend{margin-top:18px}.result-overlay,.pause-overlay{padding-top:calc(env(safe-area-inset-top,0px) + 76px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 132px)}.result-card h2{font-size:35px}.result-score{font-size:56px;margin:20px 0 14px}}
@media(orientation:landscape) and (max-height:600px){#app{width:100%;max-width:1100px}.topbar{padding-left:calc(env(safe-area-inset-left,0px) + 15px);padding-right:calc(env(safe-area-inset-right,0px) + 15px)}.controls{left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 24px)}.road-notice{top:106px}.overlay{padding:78px calc(env(safe-area-inset-right,0px) + 30px) calc(env(safe-area-inset-bottom,0px) + 22px) calc(env(safe-area-inset-left,0px) + 30px)}.menu-content{display:grid;grid-template-columns:1fr 1fr;column-gap:35px;max-width:800px;margin:auto;align-content:center}.finish-stripe{display:none}h1{grid-column:1;font-size:85px;margin:auto}.menu-bottom{grid-column:2;padding:0;margin:0}.menu-record{margin-top:14px}.legend{margin-top:20px;gap:25px}.result-overlay,.pause-overlay{padding:calc(env(safe-area-inset-top,0px) + 76px) max(30px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 122px) max(30px,env(safe-area-inset-left,0px))}.result-overlay .result-card{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;width:min(650px,100%);align-items:center}.result-overlay .result-card h2,.result-overlay .result-card>p{grid-column:1}.result-overlay .result-rewards{grid-column:2;grid-row:1/3;margin:0}.result-overlay .result-stats{grid-column:2;grid-row:3;gap:12px 18px}.result-overlay .result-score{grid-column:1;grid-row:3;font-size:clamp(30px,6vw,50px);letter-spacing:-2px;margin:10px 0 0}.result-card h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){.road-notice.urgent{animation:none!important}.crash-flash.active{animation:none!important}}
@media(display-mode:standalone){html,body{height:100vh;height:100lvh}}
@media(max-width:360px){.distance>strong{font-size:24px;letter-spacing:-.8px}.pass-count{font-size:10px}}

#brake{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:0;pointer-events:auto;display:grid;place-items:center;width:74px;height:74px;border:1px solid #fbb29488;border-radius:22px;background:linear-gradient(145deg,#d88b73,#a95143);box-shadow:0 5px 0 #72352e,0 12px 25px #10231e70;transition:transform .1s,box-shadow .1s}
#brake svg{width:52px;height:43px}.brake-body{fill:#713b3366;stroke:#512c28;stroke-width:2}.brake-grip{stroke:#4d2b25;stroke-width:3;stroke-linecap:round;fill:none}
#brake.held{background:linear-gradient(145deg,#ffc2a0,#ee775c);transform:translateY(4px);box-shadow:0 1px 0 #72352e,0 0 28px #ed775144;border-color:#ffdfc0}
#sound[data-audio="inactive"][aria-pressed="false"]{color:#d5dec8}
@media(orientation:landscape) and (max-height:600px){#brake{left:calc(env(safe-area-inset-left,0px) + 27px)}#accelerate{right:calc(env(safe-area-inset-right,0px) + 27px)}}


.coin{display:inline-block;flex-shrink:0;width:14px;height:14px;border:2px solid #f9d783;border-radius:50%;background:#d4a449;box-shadow:inset 0 0 0 2px #a87933;vertical-align:-2px}
.wallet-badge{display:flex;justify-content:center;align-items:center;gap:7px;color:#ffe3a1;font-size:14px;font-variant-numeric:tabular-nums}
.run-gold{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:7px;color:#edcd83;font-size:11px}.run-gold .coin{width:11px;height:11px;border-width:1.5px}
.traffic-level{display:inline-block;margin-left:4px;padding:2px 5px;border:1px solid #bed0b240;border-radius:5px;color:#c5d3b8;font:700 9px ui-monospace,monospace;transition:color .3s,border-color .3s,background .3s}.traffic-level.raised{color:#ffe3a1;border-color:#e8b16f;background:#996d3640}
.combo{position:absolute;top:calc(env(safe-area-inset-top,0px) + 130px);left:50%;transform:translateX(-50%) rotate(-4deg);display:flex;align-items:baseline;gap:5px;color:#ffe3a1;text-shadow:0 2px 8px #10211d;font-style:italic}.combo b{font-size:33px;font-weight:950;line-height:1}.combo>span{font-size:8px;letter-spacing:1px;font-weight:800}
.gold-bonus{position:absolute;top:calc(env(safe-area-inset-top,0px) + 136px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;color:#ffe3a1;text-shadow:0 2px 8px #10211d;white-space:nowrap}.gold-bonus b{font-size:20px}.gold-bonus>span{font-size:8px;letter-spacing:1px}
.garage-button{display:grid;grid-template-columns:34px 1fr 16px;align-items:center;gap:13px;width:min(100%,234px);min-height:58px;padding:9px 15px;margin-top:23px;border:1.5px solid #f3bf83b3;border-radius:15px;background:linear-gradient(145deg,#3c513b,#213a2c);box-shadow:0 4px 0 #0d241c,0 8px 20px #091f1a66;text-align:left}.garage-button:active{transform:translateY(3px);box-shadow:0 1px 0 #0d241c}.garage-icon{width:32px;height:32px;stroke:#f8c58d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.garage-copy{display:flex;flex-direction:column;gap:3px}.garage-copy strong{font-size:15px;letter-spacing:1.8px;font-weight:850;color:#fff1d4}.garage-copy small{font-size:10px;color:#d0d9bb}.garage-arrow{color:#f8c58d;font-size:30px;font-weight:400;line-height:1}.garage-button+.menu-record{margin-top:13px}
.result-rewards{display:flex;justify-content:center;align-items:center;gap:20px;margin:-3px 0 23px;font-size:13px;color:#f5d793}.result-rewards>span{display:flex;align-items:center;gap:6px}.result-rewards>span+span{font-size:9px;letter-spacing:.8px}.result-rewards>span+span>b{font-size:19px;letter-spacing:0}
.garage-overlay{position:absolute;z-index:9;inset:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y;background:radial-gradient(ellipse at 50% 20%,#314637,#14271f 65%);padding:calc(env(safe-area-inset-top,0px) + 25px) max(20px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 22px) max(20px,env(safe-area-inset-left,0px))}
.garage-content{flex:1;min-height:0;width:100%;max-width:520px;margin:0 auto;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:1px 1px 2px}.garage-heading{display:flex;flex-shrink:0;align-items:center;gap:13px;width:100%;max-width:520px;margin:0 auto 24px}.garage-heading>div:first-child{margin-right:auto}.eyebrow{font-size:8px;letter-spacing:2px;color:#a5b69d}.garage-heading h2{font-size:35px;line-height:1;font-weight:950;font-style:italic;letter-spacing:-1.5px;margin:6px 0 0}.garage-wallet{display:flex;align-items:center;gap:7px;font-size:15px;font-variant-numeric:tabular-nums;color:#f9db94}.garage-heading .small-button{font-size:28px;background:#152d24}
.car-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.car-card{position:relative;overflow:hidden;min-width:0;text-align:center;border:1px solid #a9c09b26;border-radius:17px;background:linear-gradient(150deg,#71826520,#0e211c66);padding:12px 7px 10px}.car-card.selected{border-color:#f0b777;background:linear-gradient(150deg,#c5945230,#182f24);box-shadow:0 0 22px #efb6770a}.car-stage{height:127px;display:grid;place-items:center;position:relative}.car-stage:after{content:'';position:absolute;left:4px;right:4px;bottom:6px;height:1px;background:linear-gradient(90deg,transparent,#d0d5b333,transparent)}
[data-car=sprint]{--paint:#ff9b59;--shade:#c56436;--stripe:#542e22}[data-car=muscle]{--paint:#a8cdeb;--shade:#557b9f;--stripe:#243f58}[data-car=gt]{--paint:#e7e9ce;--shade:#a4ad8c;--stripe:#507363}
.car-card h3{margin:4px 0 11px;font-size:15px;font-style:italic;letter-spacing:-.3px}.car-card button,.upgrade-row button{border:1px solid #f3be81a3;border-radius:10px;background:#f1b878;color:#263529;min-height:38px;padding:8px 10px;font-weight:800;font-size:11px;white-space:nowrap}.car-card button{width:100%;padding:8px 2px}.car-card button:disabled,.upgrade-row button:disabled{border-color:#b9c9a92b;background:#203a2d;color:#a9b79c;cursor:default}.car-card.selected button:disabled{color:#edc998;background:#7a623133;border-color:#c799574d}.car-card.locked .garage-car{filter:saturate(.6);opacity:.75}
.car-card h3 small{font:600 8px ui-monospace,monospace;color:#b8c8a9;margin-left:3px;letter-spacing:0}
.tuning{margin-top:25px;border:1px solid #adc39b26;border-radius:18px;padding:18px;background:#0b201c70}.tuning-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.tuning-heading h3{margin:0;font-size:22px;font-style:italic;letter-spacing:-.5px}.tuning-heading>span{font-size:8px;letter-spacing:1.3px;color:#a6b69c}.car-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 0 21px;border-bottom:1px solid #bfd0b322}.car-stats>div{display:flex;flex-direction:column;gap:7px}.car-stats span{font-size:9px;color:#b0c1a5;white-space:nowrap}.car-stats b{font-size:17px;letter-spacing:-.5px;font-weight:750;color:#e6e9ce;white-space:nowrap}
.upgrade-row{display:flex;justify-content:space-between;align-items:center;padding-top:16px;gap:15px}.upgrade-row>div{flex:1}.upgrade-row h4{margin:0 0 9px;font-size:13px;font-weight:650}.upgrade-row small{color:#b4c5a5;font-size:10px;font-weight:400;margin-left:7px}.upgrade-row button{min-width:92px}.level-bar{display:flex;gap:5px;max-width:140px}.level-bar i{flex:1;height:4px;background:#9bb38c30;transform:skew(-15deg);border-radius:1px}.level-bar[data-level="1"] i:nth-child(1),.level-bar[data-level="2"] i:nth-child(-n+2),.level-bar[data-level="3"] i:nth-child(-n+3),.level-bar[data-level="4"] i:nth-child(-n+4),.level-bar[data-level="5"] i{background:#e9b67d}
.garage-tip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:19px 3px 0;font-size:10px;color:#afbea1}.garage-tip>span{color:#ecc38b}
@media(max-height:690px){.garage-button{margin-top:17px;min-height:48px;width:min(100%,218px);padding-top:6px;padding-bottom:6px}.garage-button+.menu-record{margin-top:11px}.menu-bottom{padding-top:20px}h1{font-size:65px}.legend{margin-top:14px}.garage-overlay{padding-top:calc(env(safe-area-inset-top,0px) + 18px)}.garage-heading{margin-bottom:16px}.car-stage{height:109px}.tuning{margin-top:17px;padding:15px}.car-stats{padding:14px 0 16px}.upgrade-row{padding-top:12px}.garage-tip{margin-top:14px}}
@media(max-width:360px){.garage-overlay{padding-left:14px;padding-right:14px}.car-card{padding-left:5px;padding-right:5px}.car-card h3{font-size:14px}.car-grid{gap:7px}.garage-heading{gap:10px}.garage-heading h2{font-size:31px}.car-stats b{font-size:15px}.result-score{font-size:49px}}
@media(orientation:landscape) and (max-height:600px){.menu-content h1{font-size:85px}.garage-button{margin-top:16px}.garage-button+.menu-record{margin-top:8px}.legend{margin-top:12px}.garage-content{max-width:790px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-content:start}.garage-heading{max-width:790px;margin-bottom:16px}.tuning{margin-top:0}.car-stage{height:111px}.car-stats{padding:11px 0 14px}.garage-tip{grid-column:1/-1;margin-top:16px}.combo{top:124px}}

.garage-car{display:block;width:min(86px,100%);height:auto;aspect-ratio:160/216;object-fit:contain}
@media(max-height:690px){.garage-car{width:min(77px,100%)}}
@media(orientation:landscape) and (max-height:600px){.garage-car{width:min(78px,100%)}}

.upgrade-effect{font-size:10px;color:#d1ddbf;margin:-3px 0 9px;font-variant-numeric:tabular-nums;white-space:nowrap}.upgrade-row h4{margin-bottom:8px}.upgrade-row{border-bottom:1px solid #bfd0b311;padding-bottom:14px}.upgrade-row:last-child{border:0;padding-bottom:0}
@media(orientation:landscape) and (max-height:600px){.car-grid{align-self:start;position:sticky;top:0}}

@media(max-width:360px){.road-notice{gap:4px}.road-notice svg{width:16px}.road-notice b{font-size:22px}.road-notice small{font-size:6px}}

.prototype-card{display:grid;grid-template-columns:94px 1fr;gap:10px;text-align:left;margin-top:18px;padding:17px 14px;border-color:#82d9c44d;background:radial-gradient(ellipse at 10% 30%,#43776e55,transparent 65%),#102c26}.prototype-card.selected{border-color:#92efd2;background:radial-gradient(ellipse at 10% 30%,#43776e77,transparent 65%),#102c26}.prototype-art{display:grid;place-items:center;min-width:0}.prototype-art .garage-car{width:min(96px,100%)}.prototype-tag{font:700 7px ui-monospace,monospace;letter-spacing:1px;color:#88d8c6}.prototype-info{min-width:0}.prototype-info h3{font-size:27px;margin:5px 0 3px;letter-spacing:-.8px}.prototype-caption{margin:0 0 12px;font-size:10px;color:#c1d7c3}.prototype-requirements{padding:0;margin:0 0 12px;list-style:none;font-size:9px;color:#bccfb9}.prototype-requirements li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 8px;padding:5px 0;border-bottom:1px solid #a3d6bd14}.prototype-requirements b{font-size:9px;font-weight:650;color:#c5d5be}.prototype-requirements li.met,.prototype-requirements li.met b{color:#92efd2}.prototype-requirements li.met:before{content:'✓';margin-right:-3px}.prototype-info button{width:100%;background:#a2e5c7;color:#183b31;border-color:#b5f6d6}.prototype-guide{font-size:10px;line-height:1.55;color:#b9d5c5;margin:10px 0 14px}
.thrust-button{position:absolute;pointer-events:auto;right:max(24px,env(safe-area-inset-right));bottom:122px;width:66px;min-height:70px;padding:7px 6px 9px;border:1.5px solid #72d8c36b;border-radius:19px;background:linear-gradient(145deg,#244d45,#17362f);box-shadow:0 4px 0 #0c241d,0 8px 18px #0c231f70;display:flex;flex-direction:column;align-items:center;gap:4px;color:#b7eed6}.thrust-button:disabled{cursor:default;color:#9eb9a9;opacity:.8}.thrust-button svg{width:27px;height:27px;fill:#8ce3cc33;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.thrust-button strong{font:800 9px ui-monospace,monospace;letter-spacing:.3px}.thrust-meter{width:40px;height:3px;background:#b9e9ca22;border-radius:3px;overflow:hidden}.thrust-meter i{display:block;height:100%;background:#a9f7cb;width:0}.thrust-button.ready{color:#d9ffdd;border-color:#bdffc8;box-shadow:0 4px 0 #275d45,0 0 22px #94ffc32b}.thrust-button.held{background:#93dfbf;color:#183a31;transform:translateY(3px);box-shadow:0 1px 0 #275d45}.flight-status{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + var(--hud-top-gap) + 142px);transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #88e4c58c;border-radius:9px;background:#143c32ef;color:#c7ffe4;white-space:nowrap;box-shadow:0 4px 14px #10251c88}.flight-status>span{font-size:8px;font-weight:850;letter-spacing:.8px}.flight-status b{font:850 17px ui-monospace,monospace}.flight-status small{font-size:7px}.flight-status.danger{border-color:#ffac89;background:#5b3029ee;color:#ffdbc2}
@media(max-width:360px){.prototype-card{grid-template-columns:70px 1fr;padding:13px 10px;gap:8px}.prototype-tag{font-size:6px;letter-spacing:.5px}.prototype-info h3{font-size:24px}.prototype-requirements{font-size:8px}.prototype-requirements b{font-size:8px}.thrust-button{right:25px;bottom:116px;width:62px;min-height:66px}.flight-status{top:174px}}
@media(orientation:landscape) and (max-height:600px){.garage-content{grid-template-areas:'cars tuning' 'prototype tuning' 'tip tip';row-gap:18px}.car-grid{grid-area:cars;position:static}.prototype-card{grid-area:prototype;margin:0}.tuning{grid-area:tuning}.garage-tip{grid-area:tip;margin-top:0}.flight-status{top:144px}.thrust-button{bottom:113px}}


.tools .fullscreen-button,.fullscreen-exit{display:none}#fullscreen[aria-pressed="true"] .fullscreen-enter{display:none}#fullscreen[aria-pressed="true"] .fullscreen-exit{display:block}
@media(hover:hover) and (pointer:fine){#app{width:100%;max-width:none;box-shadow:none}}
@media(min-width:700px) and (hover:hover) and (pointer:fine){.tools .fullscreen-button{display:grid}}
html:fullscreen{width:100%;height:100%;background:#172721}html:-webkit-full-screen{width:100%;height:100%;background:#172721}

.result-bonuses{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;margin:19px 0 0;color:#b9e8d5;font-size:8px;font-weight:750;letter-spacing:.5px}.result-bonuses>span{display:flex;align-items:center;gap:5px}.result-bonuses b{font-size:12px;letter-spacing:0}.result-bonuses>strong{color:#e5f9bd;font-size:11px;white-space:nowrap}
@media(orientation:landscape) and (max-height:600px){.result-bonuses{grid-column:1/-1;margin-top:12px}}
@media(orientation:landscape) and (max-height:380px){.result-overlay .result-card h2{font-size:30px}.result-overlay .result-score{margin-top:4px}.result-bonuses{margin-top:6px}}

.adrenaline{width:100%;color:#b9dbbf;transition:color .2s}
.adrenaline-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:4px;font:700 7px ui-monospace,monospace;letter-spacing:.3px}.adrenaline-heading strong{font:inherit}.adrenaline-heading b{font:750 8px ui-monospace,monospace;letter-spacing:0}.adrenaline-track{display:block;height:3px;border-radius:2px;background:#badbc329;overflow:hidden}.adrenaline-track i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#b7e9bf}
.adrenaline.hot{color:#ffe0a9}.adrenaline.hot .adrenaline-track i{background:#ffd48d}.adrenaline.gained{color:#d6f7d5}.adrenaline.active{color:#ffe0ac}.adrenaline.active .adrenaline-track{background:#eac07e38}.adrenaline.active .adrenaline-track i{background:#ffcb86}
.combo{top:calc(env(safe-area-inset-top,0px) + var(--hud-top-gap) + 95px)}.gold-bonus{top:calc(env(safe-area-inset-top,0px) + var(--hud-top-gap) + 98px)}
.adrenaline-tip{font-size:9px;color:#b5c7ab;text-align:center;margin:15px 0 0;line-height:1.5}.adrenaline-tip b{font-size:8px;font-weight:750;letter-spacing:.4px;color:#ffd19b;white-space:nowrap}
.result-overdrive{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px 14px;margin-top:15px;color:#ffd49f;font-size:8px;letter-spacing:.6px}.result-overdrive b{font-size:12px;letter-spacing:0}.result-overdrive strong{font-size:10px}
@media(orientation:landscape) and (max-height:600px){:root{--hud-top-gap:12px}.combo{top:104px}.gold-bonus{top:107px}.adrenaline-tip{margin-top:10px}.result-overdrive{grid-column:1/-1;margin-top:9px}}
@media(max-width:360px){.race-readout>strong{font-size:23px}.race-readout.long-score>strong{font-size:17px}.run-stats{gap:14px}.adrenaline-tip{font-size:8px}}

/* One primary race action, with garage and the optional guide beside each other. */
#menu .build-version{position:absolute;left:calc(env(safe-area-inset-left,0px) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 7px);color:#a9bda2;opacity:.65;font:8px/1.2 ui-monospace,monospace;letter-spacing:.5px;pointer-events:none}
#menu .menu-bottom{width:min(100%,348px);padding-top:28px;gap:0}
#menu .menu-record{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;margin:0 0 17px;text-shadow:0 2px 8px #10211d}
#menu .record-caption{font:650 8px ui-monospace,monospace;letter-spacing:1.6px;color:#afc0a6}
#menu .menu-record>strong{display:flex;align-items:center;gap:7px;min-width:0}
#menu .menu-record>strong>span{font-size:20px;color:#e9bd83;line-height:1}
#menu .menu-record b{font-size:17px;font-weight:700;letter-spacing:-.3px;color:#e4ebd1;white-space:nowrap}
.race-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:66px;padding:16px 23px;border:1px solid #ffd1a5;border-radius:19px;background:linear-gradient(125deg,#ffbd80,#ec8752);box-shadow:0 4px 0 #9c502e,0 12px 30px #0d241b44;color:#253729;text-align:left}
.race-button>span{font-size:23px;line-height:1;font-weight:950;font-style:italic;letter-spacing:2px}
.race-button>svg{width:29px;height:29px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.race-button:active{transform:translateY(3px);box-shadow:0 1px 0 #9c502e}
.menu-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;width:100%;margin-top:16px}
#menu .menu-secondary>button{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-width:0;min-height:62px;padding:11px 15px;margin:0;border:1px solid #bfd2a947;border-radius:16px;background:#193629d9;box-shadow:0 3px 0 #0d241c66;color:#e9eed6;text-align:left}
#menu .menu-secondary>button:active{transform:translateY(2px);box-shadow:0 1px 0 #0d241c66}
#menu .menu-secondary svg{display:block;width:25px;height:25px;flex-shrink:0;fill:none;stroke:#edc18b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#menu .menu-secondary .garage-copy{gap:4px}
#menu .menu-secondary strong,.guide-button>span{font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.8px;white-space:nowrap}
#menu .menu-secondary small{font-size:10px;color:#b7c8ad;line-height:1}
.help-dialog{width:min(440px,calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:calc(100% - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:0;border:1px solid #b7d0a747;border-radius:24px;background:#152c23;color:#edf1da;box-shadow:0 20px 80px #0006;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y}
.help-dialog[open]{display:flex;flex-direction:column}.help-dialog::backdrop{background:#071711cc}
.help-heading{flex-shrink:0;padding:26px 25px 21px;border-bottom:1px solid #b7d0a71c}.help-heading h2{font-size:31px;line-height:1.05;font-weight:900;font-style:italic;letter-spacing:-1px;margin:9px 0 0}.help-heading h2:focus{outline:none}
.help-content{min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:4px 25px}
.help-step{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid #b7d0a71c}.help-step:last-child{border:0}.help-number{padding-top:3px;flex-shrink:0;font:700 10px ui-monospace,monospace;color:#edba82}.help-step h3{font-size:14px;line-height:1.25;margin:0 0 7px;font-weight:750}.help-step p{font-size:12px;line-height:1.65;color:#bbcdb2;margin:0}
.help-footer{flex-shrink:0;padding:18px 25px 24px;border-top:1px solid #b7d0a71c}.help-footer a{display:block;text-align:center;margin:0 0 16px;color:#efbb8c;font-size:12px;touch-action:manipulation}.help-footer button{width:100%;min-height:48px;border-radius:13px;background:#eeb37c;border:1px solid #f9cb9c;color:#253729;font-size:11px;font-weight:850;letter-spacing:1.3px}
@media(max-height:690px){#menu .menu-bottom{padding-top:20px}#menu .menu-record{margin-bottom:14px}.race-button{min-height:60px;padding:14px 20px}.menu-secondary{margin-top:14px}#menu .menu-secondary>button{min-height:57px}}
@media(max-width:360px){#menu .menu-secondary>button{padding:10px 12px;gap:8px}#menu .menu-secondary svg{width:22px;height:22px}#menu .menu-secondary strong,.guide-button>span{font-size:9px;letter-spacing:.5px}#menu .record-caption{font-size:7px;letter-spacing:1px}#menu .menu-record b{font-size:16px}.help-heading{padding:22px 20px 18px}.help-content{padding-inline:20px}.help-footer{padding:16px 20px 20px}}
@media(orientation:landscape) and (max-height:600px){#menu .menu-bottom{padding:0;width:min(100%,340px)}.help-heading{padding:18px 22px 15px}.help-heading h2{font-size:26px}.help-content{padding-inline:22px}.help-footer{padding:13px 22px 17px}.help-step{padding:14px 0}}
