@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700;800;900&display=swap');
:root{--green:#c4ff43;--purple:#b663ff;--white:#f4f5f2;--muted:#a7afba;--yellow:#f6d965;--black:#080a0d}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--black);color:var(--white);font-family:Heebo,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:5px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}#game{position:relative;width:100%;height:100dvh;min-height:320px;overflow:hidden;touch-action:none}#track{position:absolute;inset:0;width:100%;height:100%;display:block}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,5,8,.5),transparent 25%,transparent 65%,rgba(3,5,8,.65))}#hit-flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse,transparent 45%,#ec7a17);transition:opacity .18s;z-index:4}.topbar{position:absolute;z-index:8;top:max(24px,env(safe-area-inset-top));left:4%;right:4%;display:flex;direction:ltr;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:white;display:flex;flex-direction:column;line-height:1}.brand b{font:italic 900 37px Arial,sans-serif;letter-spacing:-2px}.brand b span{font-size:12px;vertical-align:top;letter-spacing:0;margin-left:3px}.brand small{font:700 9px Arial,sans-serif;letter-spacing:1.8px;margin-top:6px;color:#b8bec6}.location{direction:rtl;font-size:14px;color:#d6dce0;display:flex;align-items:center;gap:12px;padding:9px 18px;border:1px solid #ffffff1c;background:#13181c70;border-radius:30px}.location i{font-style:normal;color:#596269}.live-dot{background:var(--green);height:6px;width:6px;border-radius:100%;box-shadow:0 0 10px #c4ff4370}.utilities{display:flex;gap:8px}.icon-btn{position:relative;width:40px;height:40px;border:1px solid #ffffff24;border-radius:100%;background:#13181c70;font:24px Arial}.icon-btn:hover{background:#ffffff20}.slash{position:absolute;left:10px;top:18px;width:19px;border-top:1.5px solid white;transform:rotate(-50deg)}.screen{position:absolute;inset:0;z-index:5}#start-screen{background:linear-gradient(270deg,#05080cee 0%,#05080cc9 25%,#05080c55 48%,transparent 66%)}.intro{position:absolute;right:7%;top:50%;transform:translateY(-47%);width:430px;max-width:40vw}.eyebrow{direction:ltr;display:flex;gap:12px;align-items:center;justify-content:flex-end;font:600 12px Arial,sans-serif;letter-spacing:2px;color:#c8cfd6}.eyebrow>span{width:25px;border-top:2px solid var(--green)}.eyebrow i{font-size:10px;font-style:normal;letter-spacing:1px;color:#6a737e;margin-right:auto}h1{font-size:clamp(60px,6.8vw,104px);line-height:1.04;letter-spacing:-4px;margin:24px 0 16px;font-weight:900}h1 span{color:var(--green)}.intro-line{font-size:20px;margin:0;color:#c6ccd3}.rules{display:flex;flex-direction:column;gap:15px;margin:30px 0}.rules>div{display:flex;align-items:center;gap:14px}.rules b{width:40px;height:40px;border:1px solid #ffffff22;background:#11161ca6;border-radius:10px;display:grid;place-items:center;font:28px Arial}.rules span{font-size:15px;font-weight:600}.rules small{display:block;font-size:13px;font-weight:400;color:#9da6b3}.purple{color:var(--purple)!important}.kebab{color:#e99a58}.yellow{color:var(--yellow)!important}.primary{display:flex;align-items:center;justify-content:space-between;min-height:62px;width:100%;padding:12px 25px;background:var(--green);color:#151b06;border-radius:5px;font-size:23px;font-weight:800;box-shadow:0 0 35px #c4ff4310;transition:background .15s,transform .15s}.primary:hover{background:#dcff93;transform:translateY(-2px)}.primary span{font-family:Arial;font-weight:400;font-size:28px}.input-hint{color:#979eaa;font-size:12px;margin-top:15px;text-align:center}kbd{font:11px Arial;border:1px solid #ffffff2a;padding:3px 5px;border-radius:3px;display:inline-block;margin:0 2px;color:#d2d6dc}i{font-style:normal}.input-hint i{padding:0 5px}.touch-hint{display:none}.car-label{position:absolute;left:11%;bottom:17%;direction:ltr;display:flex;gap:16px;align-items:center;font:italic 700 17px Arial}.car-label>span{font:italic 800 42px Arial;color:#ffffff40}.car-label div{border-left:2px solid var(--purple);padding-left:16px;letter-spacing:1px}.car-label div span{display:block;color:#9ba6b0;font:10px Arial;letter-spacing:2px;margin-top:7px}.start-footer{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;color:#b0b7bf;font-size:13px}.start-footer span:last-child{font:11px Arial;letter-spacing:1.5px}.start-footer i{color:#606e79;margin-left:15px}.modal{background:#06090ddb;backdrop-filter:blur(12px);display:grid;place-items:center;padding:80px 20px 20px;overflow:auto}.panel{width:420px;max-width:100%;text-align:center}.panel .eyebrow{justify-content:center}.panel h2{font-size:43px;line-height:1.15;letter-spacing:-1.5px;margin:22px 0 10px}.panel p{color:#aab3bd;font-size:15px;margin-bottom:27px}.text-btn{background:none;color:#aab4bd;font-size:14px;padding:16px}.result-score{display:flex;flex-direction:column;margin:22px 0}.result-score span{color:#aab3bd;font-size:14px}.result-score strong{font:italic 800 66px Arial;color:var(--green)}.results{display:flex;justify-content:space-around;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:17px 0;margin:0 0 28px}.results div{display:flex;flex-direction:column}.results b{font:700 25px Arial}.results span{font-size:12px;color:#aab3bd;margin-top:6px}#hud{position:absolute;inset:0;pointer-events:none;z-index:3}.score-block{position:absolute;top:115px;right:4%;display:flex;flex-direction:column;text-align:right;text-shadow:0 2px 12px #000}.score-block>small{font-size:13px;letter-spacing:1px;color:#b2bac2}.score-block strong{font:italic 800 clamp(32px,4.3vw,58px) Arial;letter-spacing:1px}.score-block>span{font-size:12px;color:#c3ccd4;margin-top:4px}.rearview{position:absolute;top:95px;width:180px;height:69px;left:50%;transform:translateX(-50%);border:1px solid #8792a740;border-radius:4px;box-shadow:0 8px 30px #0006}.rearview>span{position:absolute;bottom:-25px;width:100%;text-align:center;font-size:12px;color:#e4e7eb}.danger-track{position:absolute;bottom:0;height:3px;width:100%;background:#ffffff20;direction:ltr}.danger-track i{display:block;background:var(--green);width:30%;height:100%;transition:width .15s,background .15s}.speed-block{position:absolute;left:4%;bottom:100px;display:flex;align-items:flex-end;gap:10px;direction:ltr;text-shadow:0 2px 10px #000}.speed-block strong{font:italic 800 78px Arial;line-height:.9}.speed-block>span{font-size:15px}.speed-block small{display:block;font-size:11px;color:#a4adb5}.boost-meter{position:absolute;right:4%;bottom:105px;width:230px}.boost-meter>div:first-child{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}.boost-meter b{color:#ce98ff;font-family:Arial}.boost-track{height:8px;background:#a26cdd25;transform:skewX(-15deg);direction:ltr}.boost-track i{display:block;width:35%;height:100%;background:var(--purple);box-shadow:0 0 16px #a343ff88}#event{position:absolute;top:35%;width:100%;text-align:center;font-size:23px;font-weight:800;text-shadow:0 2px 15px #000;transition:opacity .2s;opacity:0}#controls{position:absolute;z-index:6;bottom:max(20px,env(safe-area-inset-bottom));left:4%;right:4%;direction:ltr;display:flex;justify-content:space-between;pointer-events:none}.steer-controls,.action-controls{display:flex;gap:10px;align-items:center}.drive-btn{pointer-events:auto;touch-action:none;width:65px;height:62px;border:1px solid #c4cedd38;border-radius:9px;background:#1b253485;font-size:23px;user-select:none;backdrop-filter:blur(6px)}.drive-btn.active,.drive-btn:active{background:#dde8ff40;border-color:white}.drift-btn{font:bold italic 14px Arial;min-width:86px}.drift-btn small{display:block;font:10px Heebo,Arial;margin-top:5px;color:#b7c1cc}.nitro-btn{font-size:24px;border-color:#b866ff99;background:#651fa65c;box-shadow:inset 0 0 16px #ae50ff10}.nitro-btn span{display:block;font:600 11px Heebo,Arial}.nitro-btn.active{background:#a443ffe0}#game-help{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:20px;direction:rtl;color:#a7b4c1;font-size:12px;z-index:4;white-space:nowrap}#loading{position:absolute;inset:0;background:#070a0d;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;color:#b9c0c9}.loader{width:38px;height:38px;border:2px solid #ffffff15;border-top-color:var(--green);border-radius:100%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(pointer:fine){#controls{display:none!important}.boost-meter{bottom:48px}.speed-block{bottom:48px}}
@media(max-width:700px){.topbar{top:max(18px,env(safe-area-inset-top));left:5%;right:5%}.brand b{font-size:29px}.brand small{font-size:7px;letter-spacing:1.2px}.location{font-size:11px;gap:6px;border:0;padding:0;background:none}.utilities{gap:5px}.icon-btn{width:34px;height:34px;font-size:21px}#start-screen{background:linear-gradient(0deg,#05080d 0%,#05080df5 12%,#05080dba 42%,transparent 77%)}.intro{right:7%;left:7%;width:auto;max-width:none;top:auto;bottom:67px;transform:none}.eyebrow{font-size:10px;letter-spacing:1.3px}.eyebrow i{font-size:9px}h1{font-size:58px;line-height:1.03;letter-spacing:-2.5px;margin:13px 0 10px}h1 br{display:none}.intro-line{font-size:17px}.rules{flex-direction:row;gap:13px;justify-content:space-between;margin:22px 0}.rules>div{align-items:flex-start;flex-direction:column;gap:7px;flex:1}.rules b{height:31px;width:31px;font-size:23px;border-radius:6px}.rules span{font-size:14px}.rules small{font-size:12px;line-height:1.5;margin-top:3px;max-width:97px}.primary{min-height:57px;font-size:21px;padding:10px 21px}.input-hint{font-size:11px;margin-top:11px}.desktop-hint{display:none}.touch-hint{display:block}.start-footer{bottom:max(18px,env(safe-area-inset-bottom));left:7%;right:7%;font-size:11px}.start-footer span:last-child{font-size:8px;letter-spacing:1px}.start-footer i{display:none}.car-label{top:28%;left:8%;bottom:auto;font-size:11px}.car-label>span{font-size:29px}.car-label div{padding-left:10px}.car-label div span{font-size:7px;letter-spacing:1px}.score-block{top:92px;right:5%}.score-block strong{font-size:31px}.score-block>span{font-size:10px}.rearview{top:96px;width:132px;height:52px;left:25%;border-radius:4px}.rearview>span{font-size:10px;bottom:-22px}.speed-block{left:5%;bottom:115px}.speed-block strong{font-size:51px}.speed-block>span{font-size:12px}.speed-block small{font-size:10px}.boost-meter{width:43%;right:5%;bottom:116px}.boost-meter>div:first-child{font-size:11px}.drive-btn{width:58px;height:59px}.drift-btn{min-width:75px;font-size:12px}#controls{left:5%;right:5%}.steer-controls,.action-controls{gap:7px}#event{font-size:20px;top:31%}#game-help{display:none!important}.panel h2{font-size:36px}.panel p{font-size:13px}.result-score strong{font-size:57px}.modal{padding-top:95px}}
@media(max-height:650px) and (max-width:700px){h1{font-size:43px}.rules{margin:15px 0}.intro{bottom:52px}.intro-line{font-size:15px}.rules small{display:none}.rules>div{flex-direction:row;gap:6px;align-items:center}.car-label{display:none}.eyebrow{font-size:9px}.primary{min-height:49px}.panel h2{font-size:29px}.panel p{margin-bottom:12px}.result-score{margin:12px 0}.results{margin-bottom:15px;padding:12px 0}.result-score strong{font-size:45px}}
@media(max-height:500px) and (min-width:701px){.intro{top:52%;max-width:40vw}h1{font-size:54px;margin:10px 0}.rules{margin:15px 0;gap:8px}.rules small{display:none}.rules b{height:28px;width:28px;font-size:22px}.intro-line{font-size:16px}.primary{min-height:47px;font-size:19px}.input-hint{display:none}.eyebrow i{display:none}.topbar{top:14px}.start-footer{bottom:14px}.panel h2{font-size:26px}.panel p{margin:10px}.modal{padding-top:62px}.results{padding:9px 0;margin-bottom:12px}.result-score{margin:10px}.result-score strong{font-size:42px}}
@media(prefers-reduced-motion:reduce){.loader{animation:none}.primary{transition:none}}

/* Named drivers and community results. Scroll only the panels, never the road. */
.driver-name{display:block;text-align:right;font-size:15px;font-weight:600;margin-top:15px}
.driver-name input{display:block;width:100%;min-height:48px;margin-top:7px;padding:10px 14px;border:1px solid #718050;background:#10171cee;color:#fff;font:16px Heebo,Arial,sans-serif;border-radius:5px;outline-offset:3px;touch-action:auto}
#name-note{display:block;font-size:12px;color:#b2bcc6;margin:7px 0 14px}
#leaderboard-btn{display:block;margin:0 auto;padding:12px;font-size:15px}
#start-screen{overflow:auto;touch-action:pan-y}.intro{position:relative;top:auto;right:auto;transform:none;margin:110px 7% 95px auto;width:430px;max-width:40vw}.intro h1{font-size:clamp(52px,5.8vw,82px);margin:12px 0}.rules{margin:20px 0;gap:10px}.input-hint{margin-top:0}
.modal{touch-action:pan-y;align-items:safe center}.panel{padding-bottom:20px}
.end-leaderboard{margin:18px 0;border-top:1px solid #687d443d;padding-top:10px}.end-leaderboard h3{margin:5px 0;font-size:20px}.panel #save-state{font-size:14px;margin:8px 0;color:#cddabc}
[data-board]{font-size:15px;line-height:1.6;color:#bec8d2;max-height:265px;overflow:auto;touch-action:pan-y;text-align:right}
[data-board] ol{list-style:none;margin:10px 0;padding:0}[data-board] li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 9px;border-bottom:1px solid #ffffff13;font-size:15px}[data-board] li>span{font:italic 700 14px Arial;color:#879587}[data-board] b{overflow-wrap:anywhere;font-weight:600}[data-board] strong{color:#eaf4df;font:700 17px Arial}[data-board] .is-player{background:#c4ff4314;border-inline-start:2px solid #c4ff43;color:#dfffaa}
#leaderboard-dialog{width:440px;max-width:calc(100vw - 32px);max-height:85dvh;overflow:auto;background:#0b1119;color:#fff;border:1px solid #738452;border-radius:12px;padding:20px;font:16px Heebo,Arial,sans-serif;touch-action:pan-y}#leaderboard-dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}#leaderboard-dialog h2{margin:0;font-size:28px}#leaderboard-dialog p{color:#aeb8c3;font-size:14px}#board-close{display:block;margin-inline-start:auto;padding:5px 10px;min-height:40px}
.embedded .topbar{left:72px}.embedded .location{display:none}
@media(max-width:700px){.intro{margin:270px 7% 85px;width:auto;max-width:none;bottom:auto}.intro h1{font-size:42px;letter-spacing:-1px}.intro .rules{gap:9px;margin:14px 0}.intro .rules small{display:none}.intro .rules>div{flex-direction:row;align-items:center;gap:6px}.intro .rules span{font-size:13px}.intro .rules b{width:23px;height:26px;font-size:19px}.intro .eyebrow i{font-size:11px}.car-label{top:200px}.start-footer{position:fixed;pointer-events:none}.start-footer a{pointer-events:auto}.intro-line{font-size:16px}.driver-name{margin-top:10px}.panel h2{font-size:30px}.panel .result-score{margin:12px 0}.panel .results{margin-bottom:12px}#end-screen{align-items:start;padding-top:90px}.end-leaderboard [data-board]{max-height:215px}}
@media(max-height:700px) and (max-width:700px){.intro{margin-top:145px}.car-label{display:none}}
@media(max-height:520px) and (min-width:701px){.intro{margin-top:80px;top:auto;right:auto;max-width:45vw}.intro h1{font-size:42px}.intro .rules{margin:10px 0}.car-label{bottom:20%}#end-screen{align-items:start}}
/* Touch Drive: leave the driving surface clear; only boost needs a button. */
#game[data-mode="playing"] #track{cursor:grab}
#game.steering #track{cursor:grabbing}
#game{touch-action:auto}#game[data-mode="playing"]{touch-action:none}
#controls{align-items:flex-end;bottom:max(22px,env(safe-area-inset-bottom));left:5%;right:5%}
#drag-hint{direction:rtl;max-width:210px;color:#d1dbe2;font-size:14px;text-shadow:0 2px 12px #000;transition:opacity .4s;pointer-events:none;line-height:1.5;padding-bottom:14px}
#drag-hint>span{font:28px Arial;display:block;letter-spacing:4px;color:#d8f4a3;margin-bottom:3px}
#drag-hint small{display:block;font-size:12px;color:#98a6b1}
#drag-hint.learned{opacity:0}
.nitro-btn{width:94px;height:94px;border-radius:50%;border:2px solid #c88bffb0;background:radial-gradient(circle at 40% 25%,#7a37a9ba,#221038db 76%);box-shadow:0 0 25px #ad56ff20,inset 0 0 0 6px #c59ee817;font-size:35px;backdrop-filter:blur(12px)}
.nitro-btn span{font-size:14px;font-weight:700;margin-top:2px}
.nitro-btn.active{background:#9639dcdd;box-shadow:0 0 35px #bd72ff80,inset 0 0 0 6px #ecd4ff35;border-color:#f1d7ff}
.steering-note{font-size:14px!important;line-height:1.7}
.credits-link{font-size:12px;color:#8796a3;margin-right:12px;text-decoration:none}.credits-link:hover{color:#c4ff43}
#game[data-mode="playing"] .location{opacity:0;pointer-events:none}
#game[data-mode="playing"] .vignette{background:linear-gradient(180deg,#02070950,transparent 19%,transparent 70%,#02060970)}
.boost-meter{bottom:148px;width:190px}
.speed-block{bottom:42px}
.speed-block strong{font-size:69px}
.rearview{top:30px;height:60px;width:180px;background:#1a253155;border-color:#92a9b24d;border-radius:12px 12px 30px 30px;overflow:visible}
.rearview>span{font-size:12px;bottom:-22px}
.score-block{top:110px}
#event{font-size:21px;top:29%}
#game.boosting .vignette{box-shadow:inset 0 0 110px #9557ec28}
#oncoming-alert{position:absolute;top:190px;left:50%;transform:translateX(-50%);background:#1b160de6;border:1px solid #efba54a0;border-radius:8px;padding:10px 25px;text-align:center;box-shadow:0 0 35px #d9962420;color:#ffe0a0;min-width:245px}
#oncoming-alert b{display:block;font-size:18px}#oncoming-alert span{font-size:13px;color:#dfc8a4}
@media(pointer:fine){.boost-meter{bottom:45px}.speed-block{bottom:45px}}
@media(max-width:700px){
 #oncoming-alert{top:190px;padding:8px 16px;min-width:235px}#oncoming-alert b{font-size:16px}#oncoming-alert span{font-size:13px}
 .rearview{top:94px;left:26%;height:48px;width:140px}
 .rearview>span{font-size:12px;bottom:-24px}
 .score-block{top:96px;right:5%}.score-block>span{font-size:12px}
 .speed-block{bottom:132px;left:5%}.speed-block strong{font-size:51px}
 .boost-meter{bottom:143px;right:5%;width:39%}.boost-meter>div:first-child{font-size:12px}
 #drag-hint{font-size:14px;max-width:200px}.nitro-btn{width:88px;height:88px}
 #event{top:29%;font-size:18px;padding:0 20px}
 .car-label{top:23%}.credits-link{display:block;margin:0;font-size:11px}
 .start-footer{align-items:flex-end}
}
@media(max-height:500px) and (orientation:landscape){
 #oncoming-alert{top:105px;padding:5px 18px}#oncoming-alert b{font-size:14px}#oncoming-alert span{font-size:12px}
 .rearview{top:15px;width:140px;height:45px}.score-block{top:80px}.score-block strong{font-size:30px}
 .speed-block{bottom:32px;left:5%}.speed-block strong{font-size:44px}
 .boost-meter{bottom:115px;width:145px}.nitro-btn{width:78px;height:78px}
 #drag-hint{font-size:13px;margin-left:110px;padding-bottom:0}#drag-hint>span,#drag-hint small{display:none}
 #controls{bottom:22px}.intro{max-width:42vw;right:auto;top:auto;margin-top:80px}.rules{flex-direction:row;gap:8px}.rules b{display:none}.rules span{font-size:12px}.intro h1{font-size:44px}.intro-line{font-size:15px}.car-label{bottom:17%;left:9%}.start-footer{font-size:11px}
 #game-help{display:none!important}
}
