@font-face{font-family:Inter;src:url('../assets/font-4.ttf')}*{box-sizing:border-box}body{margin:0;background:#111315;color:#f3f0e9;font:16px Inter,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;background:#2b3035;border:1px solid #ffffff30;border-radius:4px;padding:12px 16px}button:hover{background:#383e43}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a9adb0;outline-offset:4px}a{color:inherit;text-decoration:none}header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #ffffff20;gap:20px}header>a:last-child{font-size:14px}.brand{display:flex;align-items:center;gap:14px;font-size:40px;font-weight:800;letter-spacing:-4px}.brand span{font-size:12px;letter-spacing:2px;line-height:1.65}.brand small{display:block;font-size:10px;letter-spacing:1.2px;color:#b4b4b4}.track-title{font-size:14px;letter-spacing:2px}.track-title>span:last-child{color:#a5a5a5}.flag{color:#a9adb0;letter-spacing:-4px;margin-right:15px}#game{position:relative;height:calc(100svh - 195px);min-height:530px;max-height:1100px;overflow:hidden;background:#667d79}#scene{display:block;width:100%;height:100%}.top-hud,.bottom-hud{position:absolute;left:30px;right:30px;display:flex;justify-content:space-between;pointer-events:none}.top-hud{top:24px;align-items:flex-start}.bottom-hud{bottom:22px;align-items:flex-end}.tools{display:flex;gap:7px;pointer-events:auto}.tools button{background:#191919dd;font-size:14px;padding:10px 12px}.session{display:grid;gap:7px;background:#181818d9;border-left:3px solid #a9adb0;padding:14px 20px;min-width:205px}.session strong{font-size:14px;letter-spacing:1px}.session>span:last-child{font-size:25px;font-variant-numeric:tabular-nums}.eyebrow{display:block;font-size:12px;letter-spacing:2px;color:#dbdbdb}.radio{position:absolute;top:145px;left:30px;padding:16px 20px;width:320px;max-width:calc(100% - 60px);background:#191919e8;border:1px solid #ffffff20;border-radius:4px}.radio strong{display:block;font-size:20px;margin:8px 0}.radio p{font-size:14px;color:#dddddd;line-height:1.55;margin:0}.deadline{height:3px;background:#ffffff20;margin-top:13px}.deadline i{display:block;height:100%;width:0;background:#a9adb0}.map-panel{position:absolute;right:30px;top:105px;background:#191919bb;padding:8px 12px;border-radius:5px;pointer-events:none}.map-panel canvas{display:block;width:160px;height:155px}.map-panel>span{font-size:10px;letter-spacing:1.5px;color:#dbdbdb}.speed{display:grid;grid-template-columns:38px auto;align-items:center;text-align:center;background:#191919df;padding:12px 28px 16px;border:1px solid #ffffff20;border-radius:6px;min-width:220px}.speed>span{grid-row:1/3;font-size:29px;color:#a9adb0;border-right:1px solid #ffffff30;margin-right:12px;padding-right:15px}.speed strong{font:600 58px/1 Inter,Arial;font-variant-numeric:tabular-nums;letter-spacing:-3px}.speed small{font-size:10px;letter-spacing:3px}.rpm{grid-column:1/3;height:4px;background:#ffffff20;margin-top:12px}.rpm i{display:block;background:#a9adb0;height:100%;width:0}.condition,.score{min-width:170px;padding:14px 18px;background:#191919df;border-radius:4px}.condition strong,.score strong{display:block;font-size:28px;line-height:1.4}.condition small,.score small{font-size:10px;letter-spacing:1px;color:#d2d2d2}.health-track{height:3px;background:#fff3;margin:3px 0 8px}.health-track i{display:block;height:100%;width:100%;background:#a9adb0}.score{text-align:right}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0f0f0fe8 0%,#101010bc 36%,#10101010 90%);display:flex;align-items:center;padding:25px 7%;overflow:auto}.start-card{max-width:530px}.start-card h1{font-size:clamp(42px,4.6vw,70px);line-height:1.01;letter-spacing:-3px;margin:20px 0}.start-card em{font-style:normal;color:#a9adb0}.start-card p{line-height:1.55;color:#e2e2e2}.setup{display:flex;gap:20px;align-items:center;margin:22px 0;font-size:14px}.setup label{display:grid;gap:8px;flex:1}.setup select{color:#fff;background:#2b3035;border:1px solid #ffffff40;padding:11px;max-width:240px;font-size:14px}.setup .check{display:block}.check input{accent-color:#a9adb0;width:18px;height:18px;vertical-align:middle}.check small{display:block;color:#bdbdbd;font-size:12px;line-height:1.4;margin-top:6px}.primary{background:#a9adb0;color:#111315;border:0;font-weight:700;min-width:220px;padding:16px 26px}.primary:hover{background:#a9adb0}kbd{font:11px Inter,Arial;padding:2px 5px;border:1px solid #ffffff40;border-radius:3px;color:#eeeeee}.keys{font-size:12px}.start-card .fine{font-size:12px;color:#b4b4b4;max-width:430px}.credit-link{font-size:12px;text-decoration:underline;color:#c4c4c4}.controls{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;gap:30px;border-top:1px solid #ffffff25}.steering{display:flex;gap:12px;align-items:center}.steering button{font-size:25px;min-width:66px;padding:9px;touch-action:none;user-select:none}.steering button.active{background:#a9adb0;color:#111}.steer-meter{width:100px;text-align:center}.steer-meter span{font-size:10px;letter-spacing:1px;color:#aaaaaa}.steer-meter>div{height:3px;background:#fff3;margin-top:10px;position:relative}.steer-meter i{position:absolute;left:50%;width:6px;height:11px;background:#a9adb0;top:-4px}.pedals{display:flex;gap:24px;max-width:650px;flex:1;justify-content:flex-end}.pedal{display:block;max-width:300px;flex:1;font-size:12px;letter-spacing:1.4px}.pedal output{float:right;font-variant-numeric:tabular-nums;color:#cdcdcd}.pedal input{display:block;width:100%;height:25px;accent-color:#a9adb0;touch-action:none;margin:3px 0 0}.brake input{accent-color:#fb9272}footer{display:flex;justify-content:space-between;padding:14px 30px;gap:25px;font-size:11px;letter-spacing:1px;border-top:1px solid #ffffff20;color:#b1b1b1}footer details{max-width:600px;font-size:12px;line-height:1.6;letter-spacing:0}footer summary{cursor:pointer;text-align:right}footer a{text-decoration:underline}.muted{color:#848484;margin-left:12px}#countdown{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font-size:130px;font-weight:700;color:#a9adb0;text-shadow:0 3px 30px #000}#feedback{position:absolute;left:50%;top:100px;transform:translateX(-50%);font-size:15px;font-weight:bold;color:#111;background:#a9adb0;padding:12px 20px;border-radius:4px;opacity:0;transition:opacity .2s;max-width:80%;text-align:center}#feedback.show{opacity:1}.result{max-width:680px;width:100%;max-height:100%;padding:10px 0}.result h1{font-size:45px;margin:10px 0 15px;letter-spacing:-2px}.result .stats{display:flex;gap:35px;margin:20px 0}.stats strong{display:block;font-size:30px;color:#a9adb0}.stats span{font-size:12px}.result ol{padding:0;list-style:none;max-height:190px;overflow:auto}.result li{border-top:1px solid #ffffff30;padding:9px 0;font-size:13px;line-height:1.4}.result li strong{color:#a9adb0}.result li.failed strong{color:#ffb598}.result li span{display:block;color:#c6c6c6}.result p{font-size:14px;line-height:1.5}.overlay[hidden],#countdown[hidden]{display:none}.paused-card h1{font-size:50px}.error-card{max-width:500px}.error-card p{line-height:1.6}@media(max-width:760px){header{height:65px;padding:0 16px}.brand{font-size:32px}.brand span{font-size:10px}.brand small,.track-title{display:none}header>a:last-child{font-size:12px}#game{height:calc(100svh - 210px);min-height:470px}.top-hud{top:12px;left:12px;right:12px}.session{padding:9px 12px;min-width:140px}.session .eyebrow{font-size:9px}.session strong{font-size:11px}.session>span:last-child{font-size:20px}.tools{gap:4px}.tools button{font-size:11px;padding:9px 7px}.tools kbd{display:none}.radio{left:12px;top:109px;width:255px;padding:11px 13px;max-width:calc(100% - 110px)}.radio strong{font-size:16px}.radio p{font-size:12px}.eyebrow{font-size:10px}.map-panel{right:8px;top:105px;padding:5px}.map-panel canvas{width:86px;height:100px}.map-panel>span{display:none}.bottom-hud{left:12px;right:12px;bottom:13px;gap:8px}.condition,.score{padding:8px;min-width:78px}.condition strong,.score strong{font-size:21px}.condition .eyebrow,.score .eyebrow{font-size:8px;letter-spacing:.4px}.score small,.condition small{font-size:8px;letter-spacing:0}.speed{padding:10px 10px;min-width:137px;grid-template-columns:28px auto}.speed strong{font-size:40px}.speed>span{font-size:20px;padding-right:7px;margin-right:7px}.overlay{padding:20px;background:#151515da}.start-card h1{font-size:43px;margin:15px 0}.start-card>p{font-size:14px;margin:10px 0}.setup{margin:14px 0;gap:12px}.setup select{max-width:195px;font-size:12px}.start-card .keys{font-size:11px}.start-card .fine{font-size:10px}.controls{padding:12px;gap:12px;flex-wrap:wrap}.steering{gap:8px}.steering button{min-width:54px}.steer-meter{width:52px}.pedals{gap:14px;min-width:140px}.pedal{font-size:10px;letter-spacing:.4px}.pedal output{float:none;display:block;font-size:10px}.pedal input{height:30px}footer{padding:12px;font-size:9px;gap:10px}footer .muted{display:none}footer details{font-size:10px}#feedback{top:83px;font-size:12px;min-width:210px;padding:8px}.result h1{font-size:36px}.result .stats{gap:25px}.result ol{max-height:140px}.result li{font-size:12px}}@media(max-height:660px) and (min-width:761px){#game{min-height:470px}.start-card h1{font-size:45px;margin:12px 0}.setup{margin:12px 0}.start-card p{margin:10px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Larger driving controls and calmer input. */
.track-title b{font-weight:500}.hold-pedal{min-width:115px;height:62px;font-weight:700;letter-spacing:1px;touch-action:none;user-select:none}.hold-pedal small{display:block;font-size:10px;letter-spacing:1px;margin-top:4px;font-weight:400}.gas-button{background:#a9adb0;color:#1c1c1c;border-color:#a9adb0}.brake-button{background:#603329;border-color:#ae6958}.hold-pedal.active{box-shadow:inset 0 0 0 3px #fff9;transform:translateY(2px)}.steering button{min-width:72px;height:62px}.steer-meter{width:155px}.steer-meter input{width:100%;accent-color:#a9adb0;height:22px;touch-action:none;margin-top:9px}.steer-meter>div{display:none}.fine-pedals{align-self:center;position:relative;font-size:12px;min-width:85px}.fine-pedals summary{cursor:pointer;color:#c5c5c5}.fine-pedals>div{position:absolute;bottom:36px;right:0;background:#111315;padding:20px;width:300px;z-index:20;border:1px solid #727272;border-radius:8px;display:flex;gap:20px}.track-setup{border-top:1px solid #ffffff25;padding-top:15px}.start-card{max-width:580px}.start-card h1{font-size:clamp(40px,4vw,60px);margin:15px 0}.setup{margin:14px 0}.start-card .fine{margin-bottom:5px}.overlay{background:linear-gradient(90deg,#131313e8 0%,#131313a8 45%,#12121200 85%)}#game{height:calc(100svh - 217px);min-height:590px}.map-panel{background:#181818b5}.radio{background:#181818d9}#scene{filter:saturate(1.07)}@media(max-width:760px){.overlay{background:#101010dc}.steer-meter{width:75px}.steering button{min-width:52px;height:60px}.hold-pedal{min-width:70px;height:60px;font-size:12px;padding:7px}.controls{gap:10px}.pedals{gap:8px;min-width:0}.fine-pedals{min-width:0;font-size:10px}.fine-pedals summary{max-width:48px}.fine-pedals>div{width:260px}.track-setup select{max-width:210px;width:100%}.setup{gap:12px;margin:11px 0}.setup label{min-width:0}.setup select{max-width:100%;width:100%}.start-card h1{font-size:38px;margin:12px 0}.start-card>p{font-size:13px}.start-card .fine{font-size:11px}#game{height:calc(100svh - 205px);min-height:595px}.start-card .eyebrow{font-size:9px}.keys{max-width:350px}}@media(max-width:420px){.controls{justify-content:center}.steer-meter{width:80px}.steering{flex:1;justify-content:space-between}.pedals{flex:1;justify-content:space-between;min-width:200px}.hold-pedal{min-width:77px}}
.controls{position:sticky;bottom:0;background:#111315;z-index:12}@media(max-width:760px){#game.playing{height:calc(100svh - 235px);min-height:390px}.playing .overlay{align-items:flex-start}.playing .paused-card{margin:auto 0}.playing .result{max-height:none}}

.volume{font-size:10px;display:grid;gap:4px;background:#191919dd;padding:5px 10px;border-radius:4px;width:98px}.volume input{width:100%;accent-color:#a9adb0;margin:0;height:18px}@media(max-width:760px){.volume{width:60px;font-size:8px;padding:4px}.tools{flex-wrap:wrap;justify-content:flex-end;max-width:205px}}

/* Readable setup, with driving instruments reserved for the active session. */
#game:has(#overlay:not([hidden])) :is(.top-hud,.bottom-hud,.radio,.map-panel){visibility:hidden}
#game:not(.playing){height:auto;min-height:650px}
#game:not(.playing) #scene{position:absolute;inset:0}
#game:not(.playing) .overlay{position:relative;min-height:650px;padding-block:3rem}
body:has(#game:not(.playing)) .controls{display:none}
.start-card h1{letter-spacing:-.045em;line-height:1.08;text-wrap:balance}
.start-card .fine,.keys,.credit-link,.check small{font-size:.875rem;line-height:1.6}
.start-card .eyebrow,.volume,.map-panel>span,.speed small,.condition small,.score small{font-size:.75rem;letter-spacing:.04em}
.setup select{font-size:1rem;min-height:48px}
.start-card>p{font-size:1rem;line-height:1.65}
.overlay{background:linear-gradient(90deg,#111315f5,#111315d9 52%,#11131555)}
.tools button{min-height:44px}.volume{width:100px}
@media(max-width:760px){
 .overlay{background:#111315ed}
 .setup{flex-wrap:wrap;gap:1rem}.setup label{flex-basis:100%}
 .start-card .eyebrow{font-size:.75rem}.start-card .fine{font-size:.875rem}
 .start-card h1{font-size:clamp(2rem,9vw,2.625rem)}
 .volume{width:82px;font-size:.75rem}.tools{max-width:210px}
 .hold-pedal small,.fine-pedals{font-size:.75rem;letter-spacing:0}
}
