:root{font-family:Arial,sans-serif;color:#fff7df;background:#17202e}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#344b57,#151b29 65%);min-height:100vh}main{max-width:1100px;margin:auto;padding:22px}header{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.brand span,.eyebrow{font-size:10px;font-weight:900;letter-spacing:.22em;color:#ffb348}.brand h1{font-size:40px;line-height:.9;letter-spacing:-.07em;margin:5px 0 0;font-style:italic}.brand em,h2 em{color:#ffb13b;font-style:inherit}.tagline{font-size:10px;font-weight:800;letter-spacing:.13em;color:#b7c5c0}.game-shell{border:1px solid #ffffff25;border-radius:14px;overflow:hidden;background:#182434;box-shadow:0 20px 60px #0007}.hud{display:grid;grid-template-columns:repeat(6,1fr);background:#102334;padding:12px 22px;gap:10px}.hud div{border-right:1px solid #ffffff20}.hud div:last-child{border:0}.hud small{display:block;color:#91b1b4;font-size:9px;font-weight:900;letter-spacing:.13em}.hud strong{display:block;font-size:20px;margin-top:3px;color:#fff6dd}.stage{position:relative;aspect-ratio:16/9;background:#87c3ce}canvas{display:block;width:100%;height:100%}.overlay,.challenge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#102334b8}.card{width:min(550px,90%);background:#122536ed;border:1px solid #ffffff35;border-radius:12px;padding:27px 34px;box-shadow:0 15px 40px #0006}.card h2{font-size:clamp(30px,5vw,52px);line-height:.9;letter-spacing:-.045em;font-style:italic;margin:12px 0}.card p{color:#d5e4df;line-height:1.45;font-size:14px}.instructions{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#e3eee8;font-size:12px}.instructions b{display:inline-block;color:#ffbd51;min-width:56px}.hint{font-size:12px!important;color:#a8c0c0!important}button{border:0;cursor:pointer;font-weight:900;font-family:inherit}#start,.answer,.accept{background:#ffb33e;color:#1b2630;padding:13px 20px;border-radius:6px;letter-spacing:.04em}#start span{margin-left:25px}.challenge .card{text-align:center;max-width:500px}.challenge h2{font-size:32px}.answers{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.answer{min-width:75px}.hidden{display:none!important}.notice{position:absolute;top:15px;left:50%;transform:translateX(-50%);background:#102334e8;border-radius:30px;padding:8px 15px;font-size:12px;font-weight:900;white-space:nowrap;opacity:0;transition:opacity .2s}.notice.show{opacity:1}.mobile-controls{display:flex;gap:6px;padding:10px;background:#102334}.mobile-controls button{flex:1;background:#294554;color:#fff5da;border-radius:6px;padding:12px 3px;font-size:12px;touch-action:none}.mobile-controls button:active{background:#f5a936;color:#182434}.footer{display:flex;justify-content:space-between;padding:12px 22px;color:#90a9a7;font-size:9px;letter-spacing:.1em;font-weight:800}.footer b{color:#ffb348;margin-left:8px}.note{text-align:center;color:#9db0b0;font-size:12px}@media(max-width:600px){main{padding:8px}header{padding:8px}.brand h1{font-size:30px}.tagline{display:none}.hud{padding:8px;gap:4px}.hud strong{font-size:14px}.hud small{font-size:8px}.card{padding:16px}.card p{font-size:12px}.card h2{font-size:29px}.instructions{font-size:10px}.footer{font-size:8px;padding:10px}.footer span:last-child{display:none}}
/* A phone-shaped game area on every screen. */
main{width:min(100%,460px);padding:12px;margin:auto}.tagline{display:none}.brand h1{font-size:30px}.game-shell{border-radius:14px}.stage{aspect-ratio:2/3}.hud{padding:9px 10px;gap:4px}.hud small{font-size:8px}.hud strong{font-size:15px}.card{padding:20px;width:90%}.card h2{font-size:34px}.card p{font-size:13px}.instructions{font-size:11px}.mobile-controls{display:grid;grid-template-columns:1fr 2fr 1fr;gap:7px;padding:10px}.mobile-controls button{min-height:48px}.mobile-controls button[data-action="brake"]{background:#ffbd36;color:#102334;font-size:15px}.mobile-controls button[data-action="horn"],.mobile-controls button[data-action="boost"]{grid-column:span 1}.footer{font-size:8px;padding:10px}.footer span:last-child{display:none}.notice{max-width:95%;white-space:normal;text-align:center}


#impact{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:1;background:radial-gradient(ellipse at 50% 70%,transparent 30%,rgba(231,57,31,.38) 100%);box-shadow:inset 0 0 30px rgba(255,75,32,.45)}.overlay{z-index:3}.notice{z-index:4}

#lives{color:#ff765e;letter-spacing:.02em}
/* Arcade dashboard and thumb-friendly mobile controls. */
.hud{display:block;padding:8px;background:#168bd0}.hud-primary{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:6px}.hud .hud-primary,.hud .hud-secondary,.hud .hud-chip{border:0}.hud-chip{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;background:#061e46;border-radius:9px;padding:5px 6px;box-shadow:inset 0 -2px 0 #0004}.hud .hud-chip strong{font-size:clamp(12px,3.5vw,19px);margin:0;color:white;white-space:nowrap}.hud-icon{font-size:22px;line-height:1;color:#ffdc34;text-shadow:0 2px #be7915}.clock-icon{color:white;text-shadow:none}.fuel-chip .hud-icon{font-size:16px}.fuel-meter{display:flex;gap:1px;width:48px;height:15px;padding:2px;background:#203b62;border:1px solid #7699bb;border-radius:3px}.fuel-meter i{flex:1;background:#354a64;border-radius:1px}.fuel-meter i.filled{background:#46e047}.fuel-meter i.amber{background:#ffcc21}.fuel-meter i.low{background:#ff5b3f}.fuel-chip #fuel{font-size:10px}.hud-secondary{display:flex;justify-content:space-around;padding:6px 2px 0;font-size:9px;font-weight:900;letter-spacing:.07em;color:#d8eeff}.hud .hud-secondary strong{display:inline;font-size:11px;margin:0;color:white}.hud .hud-secondary #lives{color:#ff7771}
.mobile-controls{display:grid;grid-template-columns:1fr .62fr 1fr;align-items:center;gap:6px;background:#0b2341;padding:8px 12px;user-select:none}.steering-control{text-align:center}.control-label{display:block;font-size:9px;letter-spacing:.12em;color:#b0c7d8;font-weight:900}.joystick{position:relative;width:94px;height:64px;margin:auto;border-radius:50%;background:#1c3854;border:3px solid #47617a;touch-action:none;box-shadow:inset 0 3px 8px #0008}.joy-knob{position:absolute;left:50%;top:50%;width:42px;height:42px;border-radius:50%;background:linear-gradient(#fff0a0,#ffb922);border:3px solid #714e09;box-shadow:0 3px 0 #08172c;transform:translate(-50%,-50%);pointer-events:none}.joy-arrow{position:absolute;top:22px;color:#a8bfcf;font-size:10px;pointer-events:none}.joy-left{left:6px}.joy-right{right:6px}.joystick button{position:absolute;top:0;width:50%;height:100%;opacity:0;padding:0;min-height:0}.joystick button[data-action=left]{left:0}.joystick button[data-action=right]{right:0}.mobile-controls .horn-button{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#315574;border-radius:50%;width:58px;height:58px;min-height:0;padding:2px;font-size:20px;justify-self:center}.horn-button small{font-size:9px}.pedals{display:grid;gap:5px}.mobile-controls .pedals button{min-height:34px;padding:5px;border-radius:18px;box-shadow:0 3px 0 #08172c}.mobile-controls .pedals button[data-action=boost]{background:#ffde3c;color:#0a2447}.mobile-controls .pedals button[data-action=brake]{background:#ffb51e;color:#0a2447;font-size:15px}.mobile-controls button:active{filter:brightness(.9)}
.challenge{z-index:5;background:#031939b8;align-items:flex-end;padding:10px}.challenge-card{width:100%;padding:18px 14px 16px;text-align:center;color:white;background:linear-gradient(145deg,#123967,#071c3c);border:3px solid #2d73a9;border-radius:20px;box-shadow:0 6px 0 #061126,0 10px 26px #0008}.challenge-card h2{font-size:clamp(23px,7vw,32px);line-height:1;margin:8px 0;color:#ffd829;text-shadow:2px 3px #9b4c00;letter-spacing:-.04em}.challenge-card p{font-weight:bold;margin:10px 0;font-size:15px}.challenge-card p b{font-size:23px}.challenge-kicker{font-size:10px;letter-spacing:.16em;font-weight:900;color:#a8d8ff}.challenge-timer{font-weight:900;font-size:12px;color:#bfe5ff}.challenge-timer span{font-size:22px;color:#ffd731}.challenge .answer{flex:1;min-width:0;background:#ffcf20;color:#062047;border-radius:14px;font-size:24px;box-shadow:0 4px 0 #b66f06;padding:10px 5px;touch-action:manipulation}.challenge-reward{display:inline-block;margin-top:15px;padding:7px 14px;border-radius:16px;background:#ffe246;color:#092447;font-size:12px;font-weight:900}.rhythm-sequence{display:flex;justify-content:center;gap:12px;margin:12px 0;color:#6f89a3;font-size:30px;font-weight:900}.rhythm-sequence .current{color:#ffe62a}.rhythm-sequence .done{color:#53eb85}.rhythm-buttons .answer{font-size:30px}
@media(max-width:360px){.hud .hud-chip strong{font-size:12px}.fuel-meter{width:35px}.mobile-controls{padding:7px}.joystick{width:86px;height:60px}.mobile-controls .horn-button{width:50px;height:50px}.challenge-card{padding:12px}}
.beat-track{position:relative;height:22px;margin:0 8px 10px;background:#183451;border:1px solid #6e87a4;border-radius:5px;overflow:hidden}.beat-line{position:absolute;left:50%;height:100%;width:3px;background:#ffe62a;box-shadow:0 0 8px #ffe62a}.beat-marker{position:absolute;top:0;left:0;transform:translateX(-50%);color:#77ff9c;line-height:20px;text-shadow:0 0 6px #27fc8c}
/* Conductor challenges: a ticket, countdown ring and arcade rhythm lane. */
.challenge{padding:8px;background:linear-gradient(transparent 0%,#0319396e 30%,#031939b8 100%)}.challenge-card{position:relative;overflow:hidden;border:3px solid #22568a;background:linear-gradient(150deg,#0a315f,#041b40 75%);box-shadow:0 5px 0 #061126,0 9px 20px #0008;padding:13px}.challenge-card:before{content:'♫  ♪  ♫  ♪';position:absolute;inset:0;color:#ffffff08;font-size:44px;letter-spacing:25px;line-height:3;transform:rotate(-22deg);pointer-events:none}.challenge-card>*{position:relative}.challenge-kicker{font-size:9px;color:#8ecbf4}.change-header{display:grid;grid-template-columns:1fr 1.45fr .62fr;align-items:center;gap:7px;margin-top:8px}.conductor-portrait{align-self:end;line-height:0}.conductor-portrait svg{display:block;width:100%;max-height:105px}.fare-ticket{display:grid;gap:2px;background:#fff9e6;border:3px solid #09213a;border-radius:13px;padding:8px;color:#081a30;font-size:clamp(16px,5vw,23px);font-weight:900;text-align:left;box-shadow:0 3px 0 #0005}.fare-ticket span{display:flex;justify-content:space-between;gap:4px}.fare-ticket b{font-size:inherit}.timer-ring{width:min(100%,68px);aspect-ratio:1;border:7px solid #ffd62a;border-right-color:#526270;border-radius:50%;display:grid;place-items:center;background:#0b2545;box-shadow:0 2px 0 #ac7508}.timer-ring span{font-size:clamp(25px,8vw,43px);font-weight:900}.challenge-card h2.change-question{color:#fff;font-size:clamp(22px,6vw,30px);letter-spacing:-.04em;text-shadow:1px 2px #102640;margin:12px 0}.challenge .answer{border:3px solid #0b2142;background:linear-gradient(#ffec44,#ffc300);border-radius:15px;font-size:clamp(23px,7vw,34px);box-shadow:0 4px 0 #b87805;padding:8px 3px}.challenge .answer.correct{background:linear-gradient(#29ee76,#00a64e);color:#fff;border-color:#b4ffbd;box-shadow:0 0 12px #5cff84,0 4px #006b38}.challenge .answer:disabled{opacity:1}.challenge-reward{border:2px solid #132948;box-shadow:0 3px 0 #9a6105;margin-top:12px}.challenge-feedback{height:0;font-size:17px;font-weight:900;transition:height .12s}.challenge-feedback.success,.challenge-feedback.miss{height:23px;margin-top:7px}.challenge-feedback.success{color:#8effab}.challenge-feedback.miss{color:#ffd4bd}.rhythm-card h2{font-size:clamp(23px,6.5vw,32px);margin:6px 0 2px}.rhythm-card p{font-size:13px;margin:5px 0}.rhythm-meta{display:flex;justify-content:space-between;color:#ffdc3a;font-size:10px;font-weight:900;margin:9px 4px 4px}.rhythm-clock{color:#e8f4ff}.rhythm-lane{border:2px solid #7895ac;border-radius:9px;background:#122e4b}.rhythm-sequence{margin:0;gap:22px;line-height:1.1;font-size:27px}.beat-track{height:18px;margin:0 8px 5px;background:#243a58}.beat-marker{font-size:18px;line-height:16px;color:#5dff8b}.rhythm-progress{display:flex;justify-content:center;gap:4px;margin:8px}.rhythm-progress i{width:28px;height:7px;border-radius:2px;background:#456076}.rhythm-progress i.done{background:#ffe32d;box-shadow:0 0 6px #ffe32d}.rhythm-buttons .answer{border-radius:50%;height:59px;max-width:76px;font-size:36px;line-height:1}.rhythm-card .challenge-reward{margin-top:9px}
/* Sequence challenge: clear directional input and one shared countdown. */
.sequence-card .rhythm-lane{padding:9px;margin-top:7px}.sequence-card .rhythm-sequence{gap:clamp(8px,4vw,18px);font-size:clamp(30px,10vw,43px);line-height:1}.sequence-card .rhythm-sequence span{display:grid;place-items:center;width:53px;height:50px;border-radius:7px;background:#243f5e;color:#a7bbca}.sequence-card .rhythm-sequence span.current{color:#fff2ac;box-shadow:inset 0 0 0 2px #ffe436}.sequence-card .rhythm-sequence span.done{background:#075c40;color:#75ff9c}.sequence-timer{height:9px;background:#30465f;border:1px solid #839ab0;border-radius:8px;overflow:hidden}.sequence-timer i{display:block;width:100%;height:100%;background:#ffe22d}.sequence-buttons{gap:5px}.sequence-buttons .answer{width:20%;height:57px;max-width:none;border-radius:13px;font-size:clamp(27px,9vw,36px)}
/* Arcade header, using drawn icons so it stays consistent across devices. */
.hud{padding:10px 10px 7px;background:linear-gradient(#28aaf0,#078dd4);box-shadow:inset 0 3px #82d6ff}.hud-primary{grid-template-columns:1fr 1fr 1.15fr;gap:7px}.hud-chip{height:43px;gap:6px;padding:5px;background:#061d43;border:2px solid #00102b;border-radius:11px;box-shadow:0 2px 0 #004d88,inset 0 1px #264971}.hud .hud-chip strong{font-weight:900;font-size:clamp(16px,4.4vw,22px);text-shadow:1px 2px #182b44}.hud-icon.star-icon{font-size:30px;color:#ffdf29;-webkit-text-stroke:1px #d29b0b;text-shadow:0 2px #bd7a04}.hud-svg{width:25px;height:25px;flex:none;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.fuel-icon{width:25px;height:25px}.fuel-meter{width:55px;height:19px;padding:2px;border:2px solid #477294;background:#132c50;box-shadow:inset 0 1px 2px #0008}.fuel-meter i{background:#304668}.fuel-meter i.filled{background:linear-gradient(#64f654,#20c834)}.fuel-meter i.amber{background:linear-gradient(#ffea48,#f8b900)}.fuel-meter i.low{background:linear-gradient(#ff9d4a,#e83f2c)}.hud .fuel-chip #fuel{font-size:10px;color:#cbe5f5}.hud-secondary{padding:7px 2px 0;color:#d8f1ff;font-size:9px}.hud .hud-secondary strong{font-size:11px}.conductor-portrait img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
/* A larger four-way pad is easier to read and tap on a phone. */
.sequence-card{padding:15px 14px 18px}.sequence-card .rhythm-lane{margin:8px 0 0}.sequence-card .rhythm-sequence span{height:54px}.sequence-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;align-items:center}.sequence-buttons .answer{width:100%;height:auto;aspect-ratio:1;max-width:none;border-radius:50%;font-family:Arial,sans-serif;font-size:clamp(35px,11vw,53px);line-height:1;background:linear-gradient(#ffe64d,#ffca08);border:4px solid #092043;box-shadow:0 5px 0 #bd7705,0 7px 0 #04152e}.sequence-buttons .answer:active{transform:translateY(3px);box-shadow:0 2px 0 #bd7705}.sequence-card .rhythm-progress{margin:12px}.sequence-card .challenge-reward{margin-top:16px}.sequence-card .rhythm-meta{margin-top:13px}
@media(max-width:360px){.hud .hud-chip strong{font-size:15px}.hud-svg{width:21px;height:21px}.fuel-meter{width:43px}.hud-chip{gap:3px}.sequence-buttons .answer{border-width:3px}}
/* Bolder mockup-inspired arcade panels and unambiguous challenge outcomes. */
.hud{padding:9px 10px 6px;background:linear-gradient(180deg,#3db5f4,#118bd1);box-shadow:inset 0 3px #7ed7ff}.hud-primary{gap:8px}.hud-chip{height:44px;background:linear-gradient(#092b58,#031638);border:2px solid #00102a;border-radius:13px;box-shadow:inset 0 2px #204d7b,0 3px 0 #0569a3}.hud .hud-chip strong{font-weight:1000;letter-spacing:-.04em;color:#fff;text-shadow:0 2px #163454}.hud .fuel-chip #fuel{letter-spacing:0}.hud-secondary{font-size:9px;letter-spacing:.1em;text-shadow:0 1px #076aa7}.hud .hud-secondary strong{font-weight:1000}.hud .hud-secondary #lives{color:#ff625d;text-shadow:0 1px #952b35}
.challenge-card{background:linear-gradient(150deg,#062b5a,#00173c 75%);border:4px solid #21578c;box-shadow:inset 0 2px #4f81ac,0 5px #00102c,0 10px 20px #0008}.challenge .answer{background:linear-gradient(#ffec55 0%,#ffdc18 55%,#ffbb00 100%);border:3px solid #06172e;border-radius:18px;box-shadow:inset 0 3px #fff390,0 5px #b86c00,0 7px #00132c;font-weight:1000;color:#001637;text-shadow:0 1px #ffef72}.challenge .answer.correct{background:linear-gradient(#50f584,#00a747);border-color:#c1ffd4;color:#fff;text-shadow:0 2px #08712f;box-shadow:0 0 12px #36f584,0 5px #006837}.challenge .answer.incorrect{background:linear-gradient(#ff9281,#e53c36);border-color:#ffd0c5;color:#fff;text-shadow:0 2px #a71a20;box-shadow:0 0 12px #ff5a50,0 5px #9d2021}.challenge-reward{background:linear-gradient(#ffed59,#ffbf00);border:3px solid #04172e;box-shadow:inset 0 2px #fff599,0 4px #a96600;font-size:13px}.challenge-feedback{display:none}.challenge-feedback.success,.challenge-feedback.miss{display:flex;flex-direction:column;align-items:center;justify-content:center;height:auto;min-height:46px;margin:11px auto 0;padding:5px 10px;border:2px solid;border-radius:12px;line-height:1.1}.challenge-feedback strong{font-size:19px;letter-spacing:.02em}.challenge-feedback span{font-size:10px;margin-top:3px;letter-spacing:.05em}.challenge-feedback.success{color:#ddffe5;background:#087842;border-color:#8cffb2}.challenge-feedback.miss{color:#fff0ed;background:#a3232c;border-color:#ffb5a9}.challenge-card:has(.challenge-feedback.success) .challenge-reward,.challenge-card:has(.challenge-feedback.miss) .challenge-reward{display:none}
.sequence-card h2{font-weight:1000;font-size:clamp(25px,7vw,34px);color:#ffe43c;-webkit-text-stroke:.5px #ffd400;text-shadow:0 3px #b35e00,2px 4px #001329}.sequence-card .rhythm-lane{background:linear-gradient(#263f60,#112847);border:2px solid #6d88a1;box-shadow:inset 0 3px 10px #071527;border-radius:10px}.sequence-card .rhythm-sequence{gap:7px;justify-content:space-around}.sequence-card .rhythm-sequence span{width:54px;background:#183557;border:2px solid #3e607c}.sequence-arrow svg{width:36px;height:36px;fill:#91a9bb;filter:drop-shadow(0 2px #091d33)}.sequence-arrow.up svg,.sequence-buttons [data-beat=up] svg{transform:rotate(90deg)}.sequence-arrow.down svg,.sequence-buttons [data-beat=down] svg{transform:rotate(-90deg)}.sequence-arrow.right svg,.sequence-buttons [data-beat=right] svg{transform:rotate(180deg)}.sequence-card .rhythm-sequence span.current{background:#1e425e;border-color:#ffe946;box-shadow:0 0 8px #ffe42980}.sequence-arrow.current svg{fill:#fff49a}.sequence-card .rhythm-sequence span.done{background:#075e43;border-color:#54ef99}.sequence-arrow.done svg{fill:#78ffad}.sequence-card .rhythm-sequence span.incorrect{background:#932b30;border-color:#ffb1a7;box-shadow:0 0 9px #ff604c}.sequence-arrow.incorrect svg{fill:#fff}.sequence-timer{height:13px;border:2px solid #ffdc2f;background:#253b49}.sequence-timer i{background:linear-gradient(#ffed50,#ffbe00)}.rhythm-progress i{height:9px;width:34px;background:#244153;border:1px solid #6c8292}.rhythm-progress i.done{background:#ffdf1b}.sequence-buttons .answer{display:grid;place-items:center;padding:10px;border-radius:50%;border:4px solid #06172e;box-shadow:inset 0 4px #fff18c,0 5px #b87500,0 8px #00122c}.sequence-buttons .answer svg{width:100%;height:100%;fill:#00193b;filter:drop-shadow(0 1px #dda900)}.sequence-buttons .answer.incorrect svg{fill:#fff}.sequence-buttons .answer:active{transform:translateY(3px)}
@media(max-width:360px){.sequence-card{padding:10px}.sequence-card .rhythm-sequence span{height:44px}.sequence-arrow svg{width:30px;height:30px}.sequence-buttons .answer{padding:7px}.challenge-feedback.success,.challenge-feedback.miss{min-height:40px;margin-top:8px}}
/* Controls float over the road; the transparent tray keeps the view open. */
.mobile-controls{position:absolute;left:0;right:0;bottom:0;z-index:2;display:grid;grid-template-columns:1fr .68fr 1fr;align-items:end;gap:5px;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(4,22,42,.48));pointer-events:none;user-select:none}.mobile-controls button,.joystick{pointer-events:auto}.steering-control{justify-self:start}.control-label{font-size:9px;color:#fff;letter-spacing:.13em;text-shadow:0 2px 4px #000}.joystick{width:100px;height:70px;border:2px solid #e5f7ff88;background:linear-gradient(#1c496885,#071c35b5);box-shadow:inset 0 2px 10px #001120aa,0 3px 6px #0006}.joy-knob{width:46px;height:46px;border:3px solid #072343;background:linear-gradient(#fff276,#ffca18);box-shadow:inset 0 3px #fff8ad,0 3px 0 #af7209,0 5px 8px #0008}.joy-arrow{color:white;top:25px;text-shadow:0 1px 2px #001}.mobile-controls .horn-button{width:57px;height:57px;justify-self:center;align-self:end;margin-bottom:6px;border:2px solid #e3f4ff96;background:linear-gradient(#3a7392dd,#163b5bdc);box-shadow:inset 0 2px #b8e6ff80,0 4px 7px #0008;color:white}.horn-button svg{width:25px;height:25px;fill:none;stroke:#fff4cc;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.horn-button small{font-size:9px;line-height:1}.pedals{justify-self:end;width:min(100%,142px);gap:6px}.mobile-controls .pedals button{min-height:39px;border:3px solid #092342;font-weight:1000;letter-spacing:.04em;box-shadow:inset 0 2px #fff5a0a6,0 4px 0 #6c490a,0 6px 8px #0007}.mobile-controls .pedals button[data-action=boost]{background:linear-gradient(#ffed70e8,#ffcd13ed);color:#061b3c}.mobile-controls .pedals button[data-action=brake]{background:linear-gradient(#ffc249f2,#f19107f2);color:#061b3c}.mobile-controls button:active{filter:brightness(1.12);transform:translateY(2px)}.footer{background:#102334}
@media(max-width:360px){.mobile-controls{padding:7px 9px 9px}.joystick{width:86px;height:62px}.joy-knob{width:42px;height:42px}.joy-arrow{top:21px}.mobile-controls .horn-button{width:51px;height:51px}.mobile-controls .pedals button{min-height:36px}}
.horn-prompt{position:absolute;z-index:1;top:12px;left:50%;transform:translateX(-50%);white-space:nowrap;border:2px solid #fff3a1;border-radius:18px;background:#ac7208e8;color:#fffbe1;padding:6px 10px;font-size:10px;font-weight:1000;letter-spacing:.04em;box-shadow:0 2px 5px #0006;pointer-events:none}.mobile-controls .horn-button.available{border-color:#ffe15d;box-shadow:0 0 0 3px #ffdf4b80,0 0 15px #ffd527bb,inset 0 2px #fff8b180}.notice.show~.horn-prompt{top:53px}
/* Splash, main menu and garage */
.front-screen{position:relative;overflow:hidden;border:3px solid #071a36;border-radius:18px;background:#092648;box-shadow:0 16px 50px #0008;min-height:610px;aspect-ratio:2/3}.front-screen.hidden{display:none}.front-screen#splash-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 40%,#13578a,#04172f)}#splash-art{display:block;width:100%;max-width:490px;object-fit:contain}.splash-loading{width:72%;margin:25px auto;text-align:center;font-size:10px;letter-spacing:.15em;color:#c9eaff}.splash-loading span{display:block;height:10px;margin-top:10px;border:2px solid #e3c543;border-radius:8px;background:#061830;overflow:hidden}.splash-loading i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ffb410,#fff25d);transform-origin:left;animation:loading-fill 1.5s ease-out}@keyframes loading-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}.menu-screen{display:flex;flex-direction:column;background:#092346}.menu-art{position:absolute;inset:0 0 10%;background-size:cover;background-position:center top}.menu-actions{position:absolute;bottom:3%;left:7%;right:7%;display:grid;gap:9px}.menu-actions button{min-height:61px;border:4px solid #061630;border-radius:18px;background:linear-gradient(#20c3c4,#047d8b);color:white;text-shadow:0 3px #004b5b;font-size:clamp(22px,7vw,30px);font-weight:1000;font-style:italic;box-shadow:inset 0 3px #a0fff1,0 4px #03203f}.menu-actions button.menu-primary{background:linear-gradient(#ffed3a,#ffb40b);color:#071a37;text-shadow:0 1px #ffed64;box-shadow:inset 0 3px #fff58d,0 4px #8a5800}.menu-wallet{text-align:center;color:#c5e5ed;font-size:10px;letter-spacing:.13em;font-weight:900}.menu-wallet strong{color:#ffdf42;font-size:15px}.garage-screen{display:flex;flex-direction:column;min-height:610px;aspect-ratio:auto;max-height:85vh;background:linear-gradient(155deg,#0c3b65,#061b3a 60%)}.garage-header{display:flex;align-items:center;gap:12px;padding:17px 15px 10px;background:#061c3bbd}.garage-header button{width:44px;height:44px;border-radius:12px;background:#244b6b;color:#fff;font-size:25px}.garage-header div:nth-child(2){flex:1}.garage-header span,.garage-wallet{font-size:9px;font-weight:900;letter-spacing:.13em;color:#8bc5e3}.garage-header h2{margin:2px 0;color:#ffdb31;font-size:29px;line-height:1;font-style:italic}.garage-wallet{text-align:right}.garage-wallet strong{display:block;font-size:19px;letter-spacing:0;color:white}.garage-intro{padding:0 15px;color:#c1d8e6;font-size:12px}.garage-list{overflow-y:auto;overscroll-behavior:contain;padding:0 11px 12px;display:grid;gap:7px;scrollbar-color:#5e9bc0 #0d2a4c}.garage-item{display:grid;grid-template-columns:42px minmax(0,1fr) 77px;align-items:center;gap:8px;background:#123b5e;border:1px solid #416d88;border-radius:12px;padding:9px}.garage-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#275b75;font-size:23px}.garage-copy h3{font-size:13px;margin:0;color:#fff3c6;letter-spacing:.02em}.garage-copy h3 small{font-size:9px;color:#ffc835}.garage-copy p{font-size:10px;line-height:1.3;margin:4px 0 0;color:#cee1e8}.unlock-note{display:block;margin-top:4px;color:#ffc76c;font-size:9px}.garage-buy{border:2px solid #121d2f;border-radius:10px;padding:9px 3px;background:linear-gradient(#ffed53,#ffb90c);color:#0c2139;box-shadow:0 3px #a76a08;font-size:12px}.garage-buy:disabled{background:#3d596c;color:#c7d6db;box-shadow:none}.garage-message{min-height:20px;color:#ffe37d;font-size:11px;font-weight:bold;padding:0 15px;margin:4px 0 8px}.menu-return{background:#315b78;color:white;margin-top:6px}.conductor-portrait.gold-chain:after{content:'✦';position:absolute;bottom:4%;left:44%;font-size:20px;color:#ffdc2c;text-shadow:0 1px #8f6400}
@media(max-width:360px){.front-screen{min-height:550px}.garage-screen{min-height:550px}.garage-item{grid-template-columns:36px minmax(0,1fr) 67px}.garage-icon{width:36px;height:36px}.garage-buy{font-size:11px}}
.menu-art{background-size:100% auto;background-position:center top;background-repeat:no-repeat;background-color:#061b3b}
.garage-icon svg{width:100%;height:100%;filter:drop-shadow(0 2px 2px #0009)}
/* Reference-inspired garage. */
.garage-screen{min-height:0;height:min(760px,calc(100vh - 110px));max-height:none;aspect-ratio:auto;background:#031a39;border:3px solid #062342}.garage-header{flex:none;min-height:64px;gap:7px;padding:7px 9px;background:linear-gradient(#0b3e69,#06234a);border-bottom:2px solid #119ed0}.garage-header button{width:50px;height:48px;flex:none;border:3px solid #11cadd;border-radius:13px;background:linear-gradient(#067a9b,#004a70);box-shadow:inset 0 2px #5bf5ff,0 3px #00152b;font-size:31px;line-height:1}.garage-header div:nth-child(2){text-align:center}.garage-header h2{font-size:clamp(28px,8vw,40px);font-weight:1000;letter-spacing:-.06em;color:#ffe126;text-shadow:0 3px #cf7000,2px 4px #00152e;-webkit-text-stroke:1px #05172d}.garage-wallet{min-width:77px;padding:7px 8px;border:3px solid #24548c;border-radius:12px;background:#061b3a;color:#ffdf35;font-size:19px;letter-spacing:0;white-space:nowrap}.garage-wallet span{display:inline;font-size:17px;color:#ffce1c;text-shadow:0 2px #8d5a04}.garage-wallet strong{display:inline;font-size:18px;color:#fff}.garage-hero{flex:none;aspect-ratio:941/475;background-position:center;background-size:cover;background-repeat:no-repeat;border-bottom:3px solid #07172e}.garage-section-title{flex:none;margin:-8px 12px 0;z-index:1;border:3px solid #0c345f;border-radius:13px 13px 0 0;background:linear-gradient(90deg,#05254c,#064474,#05254c);text-align:center;color:#ffdc21;font-size:clamp(24px,7vw,34px);font-style:italic;font-weight:1000;line-height:1.1;text-shadow:0 3px #ad6100,2px 4px #00132a;-webkit-text-stroke:.6px #04182d}.garage-list{min-height:0;flex:1;align-content:start;padding:3px 8px 10px;gap:4px;background:#031a39}.garage-item{grid-template-columns:82px minmax(0,1fr) 67px;gap:6px;min-height:66px;padding:4px 5px;border:2px solid #079ccc;border-radius:12px;background:linear-gradient(#0b3963,#042547);box-shadow:inset 0 1px #477aa4}.garage-icon{width:82px;height:53px;background:#092343;color:#ffe14b;font-size:28px;border-radius:7px}.garage-icon.illustrated{background:#062142;overflow:hidden}.garage-icon img{width:100%;height:100%;object-fit:contain;display:block}.garage-copy h3{font-size:clamp(12px,3.5vw,16px);font-style:italic;font-weight:1000;color:#fff;line-height:1;text-shadow:1px 2px #061324}.garage-copy h3 small{font-size:10px;color:#ffe642}.garage-copy p{font-size:clamp(9px,2.7vw,11px);line-height:1.12;font-weight:900;font-style:italic;color:#51e7fc;margin-top:4px}.garage-buy{height:43px;border:3px solid #08192a;border-radius:10px;background:linear-gradient(#fff24d,#ffca00);box-shadow:inset 0 2px #fff8a6,0 3px #b36a00;color:#03172d;font-size:17px;font-weight:1000}.garage-buy:disabled{background:#385368;color:#d1e1e6;border-color:#1e344a;box-shadow:none;font-size:10px}.garage-message{flex:none;margin:0;padding:3px 10px;min-height:20px;background:#031a39;text-align:center}.garage-item .unlock-note{font-size:9px;color:#ffd765}.garage-icon svg{width:100%;height:100%;filter:drop-shadow(0 2px 2px #0009)}
@media(max-width:360px){.garage-screen{min-height:0}.garage-header{min-height:56px}.garage-header button{width:43px;height:43px}.garage-item{grid-template-columns:70px minmax(0,1fr) 58px}.garage-icon{width:70px;height:48px}.garage-buy{font-size:14px}}
.garage-list{grid-auto-rows:max-content}.garage-item{min-height:72px}.garage-copy{min-width:0}.garage-copy p{line-height:1.2}.garage-item .unlock-note{line-height:1.2}
/* Pause and settings */
#pause-button{background:#092449;color:#fff;border:1px solid #80c7ed;border-radius:6px;padding:2px 8px;font-size:13px;font-weight:900;line-height:1;touch-action:manipulation}.pause-panel{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#00142bd9;padding:20px}.pause-card{display:grid;gap:9px;width:min(100%,340px);padding:22px;background:linear-gradient(#0c3a66,#061a3a);border:3px solid #1aa4d4;border-radius:19px;text-align:center;box-shadow:0 9px 25px #0009}.pause-card span{font-size:10px;letter-spacing:.16em;color:#82c9e8;font-weight:900}.pause-card h2{margin:0 0 5px;font-size:40px;font-style:italic;color:#ffe239;text-shadow:0 3px #a56100}.pause-card button,.settings-row button{min-height:44px;border:3px solid #07192d;border-radius:11px;background:linear-gradient(#158fae,#05647e);color:#fff;font-size:15px;box-shadow:inset 0 2px #8beafb,0 3px #00283e}.pause-card #pause-resume{background:linear-gradient(#ffed45,#ffb919);color:#071c38;box-shadow:inset 0 2px #fff5a4,0 3px #8b5600}.pause-card small{font-size:10px;color:#b6d0e1;line-height:1.3}.settings-screen{min-height:0;aspect-ratio:2/3;background:linear-gradient(145deg,#0d4971,#061c3a)}.settings-header{display:flex;align-items:center;gap:12px;padding:15px;background:#071f41;border-bottom:2px solid #00aed6}.settings-header button{width:44px;height:44px;border:2px solid #21c4df;border-radius:11px;background:#087490;color:#fff;font-size:27px}.settings-header h2{margin:0;color:#ffdf36;font-size:34px;font-style:italic;text-shadow:0 3px #a46a05}.settings-body{padding:18px;display:grid;gap:10px}.settings-row{display:flex;align-items:center;gap:8px;padding:14px;border:2px solid #2674a1;border-radius:12px;background:#0c3156}.settings-row div{flex:1}.settings-row b,.settings-row small{display:block}.settings-row small{margin-top:4px;font-size:11px;color:#b2d4e2}.settings-row button{padding:7px 11px;font-size:12px;min-width:75px}.menu-actions .menu-settings{background:linear-gradient(#224e74,#102b50);font-size:22px;min-height:51px;box-shadow:inset 0 2px #6c9bbd,0 4px #03203f}
/* Two-column garage layout, with performance reflecting fitted upgrades. */
.garage-screen{height:min(760px,calc(100vh - 110px))}.garage-hero{position:relative}.van-badge{position:absolute;right:8px;bottom:8px;transform:skew(-8deg);padding:5px 9px;border:2px solid #09c6dc;border-radius:7px;background:#061a37;color:#fff;font-size:12px;font-weight:1000;font-style:italic;box-shadow:0 2px #001124}.van-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;flex:none;padding:7px;background:#031b39;border-bottom:2px solid #12658e}.van-stats>div{display:flex;align-items:center;justify-content:center;gap:5px;border-right:1px solid #27719c}.van-stats>div:last-child{border:0}.van-stats>div>span{font-size:22px;color:white}.van-stats b{font-size:10px;letter-spacing:.02em;font-style:italic}.stat-bars{display:flex;gap:2px;margin-top:3px}.stat-bars i{width:9px;height:8px;background:#3b526a;transform:skew(-12deg);border-radius:1px}.stat-bars.speed i.on{background:#ffce0a}.stat-bars.handling i.on{background:#04d4db}.stat-bars.fuel i.on{background:#45ea47}.garage-tabs{display:grid;grid-template-columns:1fr 1fr;flex:none;gap:3px;padding:6px 7px 3px;background:#031a39}.garage-tabs button{height:40px;border:3px solid #092242;border-radius:10px;background:linear-gradient(#104373,#052748);color:#fff;font-style:italic;font-size:18px;font-weight:1000;text-shadow:0 2px #00172c}.garage-tabs button[aria-selected=true]{background:linear-gradient(#ffed3b,#ffbc00);color:#051931;text-shadow:none;box-shadow:inset 0 2px #fff899}.garage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;gap:6px}.garage-item{min-height:148px;display:grid;grid-template-columns:43% 1fr;grid-template-rows:1fr auto;align-items:center;gap:4px;padding:6px;border:2px solid #00a9d6;border-radius:12px}.garage-icon{width:100%;height:74px;background:transparent}.garage-icon.illustrated{background:transparent}.garage-icon img{object-fit:contain}.garage-copy h3{font-size:clamp(11px,3.2vw,15px)}.garage-copy p{font-size:clamp(9px,2.4vw,11px)}.garage-buy{grid-column:1 / -1;width:100%;height:38px;font-size:13px}.garage-buy:disabled.equipped{background:linear-gradient(#30de67,#039444);border-color:#b4ffd3;color:#fff;font-size:11px;box-shadow:inset 0 2px #b2ffc5}.garage-item .unlock-note{font-size:8px}
@media(max-width:360px){.garage-item{grid-template-columns:40% 1fr;min-height:145px}.garage-icon{width:100%;height:65px}.garage-buy{font-size:11px}.garage-hero{aspect-ratio:2.15/1}.van-stats{padding:4px}.garage-tabs button{height:35px;font-size:16px}}
/* Angled arcade buttons complement the supplied menu artwork. */
.menu-actions{left:9%;right:9%;gap:8px}.menu-actions button{transform:skew(-8deg);border-radius:12px;border-width:4px;font-weight:1000;letter-spacing:-.035em}.menu-actions .menu-primary{background:linear-gradient(#fff249,#ffb500);border-color:#06142e}.menu-actions #menu-garage{background:linear-gradient(#04d4d2,#007a8b);box-shadow:inset 0 2px #a4ffec,0 3px 0 #00394a}.menu-actions .menu-settings{background:linear-gradient(#225694,#0a2856)}
#night-overlay{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,10,39,.82),rgba(4,13,35,.53) 47%,rgba(6,13,28,.47));opacity:0}

#night-overlay{background:linear-gradient(180deg,rgba(3,10,39,.84),rgba(6,17,42,.48) 47%,rgba(6,16,34,.34))}
/* Supplied menu artwork, with live accessible hit areas and wallet. */
body.front-menu header,body.front-menu .note{display:none}.menu-screen{aspect-ratio:1007/1562;min-height:0}.menu-art{inset:0;background-size:100% 100%;background-position:center}.menu-actions{position:absolute;inset:0;display:block}.menu-actions button,.menu-actions button.menu-primary,.menu-actions .menu-settings{position:absolute;left:5%;width:90%;height:9.4%;min-height:0;margin:0;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:10px;color:transparent!important;text-shadow:none!important;transform:none;font-size:0}.menu-actions button:focus-visible{outline:3px solid white;outline-offset:2px}.menu-actions #menu-drive{top:63%}.menu-actions #menu-garage{top:73.4%}.menu-actions #menu-settings{top:84%}.menu-wallet{position:absolute;left:25%;right:24%;top:94.8%;height:4.1%;display:flex;align-items:center;justify-content:center;gap:5px;background:#071e43;color:#dceffa;font-size:clamp(9px,2.6vw,13px);letter-spacing:.12em}.menu-wallet strong{color:#ffe139;font-size:clamp(12px,3.3vw,18px)}
/* Refund controls remain available for every fitted item, including fully upgraded ones. */
.garage-item-actions{grid-column:1 / -1;display:flex;gap:5px;width:100%;align-self:end}.garage-item-actions .garage-buy{flex:1;min-width:0;width:auto;font-size:clamp(9px,2.9vw,13px)}.garage-sell{min-width:52px;padding:3px 5px;border:2px solid #ffd080;border-radius:8px;background:linear-gradient(#8f483e,#5d282a);color:#fff3df;font-size:10px;box-shadow:0 2px #351517;touch-action:manipulation}.garage-footer{flex:none;display:flex;align-items:center;gap:5px;min-height:28px;padding:3px 8px;background:#031a39}.garage-footer .garage-message{flex:1;min-height:0;margin:0;padding:0;text-align:left;font-size:9px}.sell-all{flex:none;padding:5px 8px;border:1px solid #c38265;border-radius:7px;background:#6d3330;color:#fff2dd;font-size:9px;touch-action:manipulation}.sell-all:disabled{opacity:.5}.garage-item .garage-buy.equipped:disabled{flex:1}
.garage-item-actions .garage-buy,.garage-sell{white-space:nowrap}.garage-item-actions .garage-buy{padding:2px 3px;letter-spacing:0;font-size:clamp(9px,2.5vw,12px)}.garage-buy:disabled.equipped{font-size:clamp(9px,2.3vw,11px)}
.garage-sell:disabled{opacity:.42;filter:grayscale(.7);box-shadow:none;cursor:not-allowed}
