:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#0c1218;color:#edf2ec;--lime:#dcff68;--muted:#9baeb2;--cyan:#6de4ed}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#23373a,transparent 55%),#0c1218}main{max-width:1440px;margin:auto;padding:26px 32px}header{display:flex;align-items:center;gap:24px;margin-bottom:22px}.brand{font-size:30px;font-weight:950;font-style:italic;letter-spacing:-2px;text-decoration:none;color:var(--lime)}.brand span{font-size:11px;letter-spacing:2px;color:#edf2ec;font-style:normal;margin-left:14px}.edition{margin-left:auto;font-size:10px;letter-spacing:2px;color:var(--muted)}.edition span{color:var(--lime);margin-left:12px}button{font:700 11px Arial;letter-spacing:1px;border:1px solid #ffffff25;border-radius:9px;color:#edf2ec;background:#18252bd9;padding:13px 18px;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:hover{border-color:var(--lime)}button:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.game{position:relative;isolation:isolate;overflow:hidden;border:1px solid #c7efed30;border-radius:18px;background:#5e9193;aspect-ratio:5/3;box-shadow:0 30px 80px #0006}canvas{width:100%;height:100%;display:block;touch-action:none}.hud{position:absolute;z-index:2;top:22px;left:24px;right:130px;display:flex;gap:8px;pointer-events:none}.hud>div{min-width:105px;padding:12px 17px;background:linear-gradient(135deg,#101f2dec,#162b32b8);border:1px solid #ffffff1c;border-radius:10px;box-shadow:0 5px 20px #07162020}.hud>div:first-child{min-width:155px;border-top:2px solid var(--lime)}.hud small{display:block;font-size:8px;letter-spacing:2px;margin-bottom:5px;color:#bdcccf}.hud strong{font-size:30px;font-style:italic;font-variant-numeric:tabular-nums}.hud em{font-size:10px;font-style:normal;color:var(--lime)}.race-tools{position:absolute;z-index:3;top:22px;right:24px;display:flex;align-items:center;gap:15px}.race-tools span{font-size:8px;letter-spacing:2px;color:#d0dfdd;text-shadow:0 1px 5px #000}.race-tools button{width:44px;padding:0;font-size:18px;background:#10212cda}.race-progress{position:absolute;top:0;left:0;right:0;height:3px;z-index:3;background:#ffffff16}.race-progress b{display:block;width:0;height:100%;background:var(--lime);box-shadow:0 0 12px var(--lime)}.meters{position:absolute;top:110px;bottom:auto;left:24px;width:200px;background:#101f2ddc;border:1px solid #ffffff20;border-radius:10px;padding:8px 14px;pointer-events:none;z-index:2}.meters div{display:flex;gap:12px;align-items:center;margin:8px 0}.meters span{width:38px;font-size:9px;font-weight:700;letter-spacing:1px}.meters i{flex:1;height:6px;background:#ffffff16;border-radius:5px;overflow:hidden}.meters b{display:block;height:100%;background:var(--lime);width:100%;transition:width .1s linear}#nitro{background:var(--cyan)}#notice{position:absolute;z-index:3;top:25%;width:100%;text-align:center;color:var(--lime);font-size:14px;font-weight:900;letter-spacing:2px;text-shadow:0 2px 8px #000;pointer-events:none}.overlay{position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#0c1a29f5,#0c1a29bf 48%,#0c1a2910);display:flex;align-items:center;padding:6%;overflow-y:auto}.overlay[hidden],.pause-panel[hidden]{display:none}.intro{max-width:480px}.eyebrow{font-size:9px;letter-spacing:3px;color:var(--lime)}h1{font-size:clamp(48px,8vw,112px);font-weight:950;font-style:italic;letter-spacing:-5px;line-height:.86;margin:22px 0;text-shadow:0 5px 30px #0002}h1 span{color:var(--lime)}.intro p{color:#c1ced2;font-size:13px;line-height:1.7;max-width:350px}.route-chips{display:flex;gap:8px;margin:20px 0}.route-chips span{font-size:8px;letter-spacing:1px;border:1px solid #d5ece42b;padding:7px 9px;border-radius:4px}.primary{background:var(--lime);color:#172620;border:0;margin:17px 0;padding:18px 23px;min-width:250px;display:flex;justify-content:space-between;font-size:12px;box-shadow:0 6px 24px #dfff6518}.primary:hover{background:#edffa9}.auto-setting{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.auto-setting input{accent-color:var(--lime);width:19px;height:19px;margin:0}.auto-setting span{font-size:10px;color:var(--muted)}#best{font-size:9px;letter-spacing:1.5px;color:#a8b9bd;margin-top:14px}.mobile-hint{display:none;color:var(--muted);font-size:10px;margin-top:15px}.route-stamp{margin-left:auto;align-self:flex-end;text-align:right;color:#ecf4dc}.route-stamp span{display:block;font-size:9px;letter-spacing:3px}.route-stamp strong{display:block;font-size:90px;font-weight:900;font-style:italic;line-height:1.2;color:#dcff6880}.pause-panel{position:absolute;inset:0;z-index:7;background:#081725d9;backdrop-filter:blur(12px);display:grid;place-items:center;text-align:center;padding:24px}.pause-panel h2{font-style:italic;font-size:32px;letter-spacing:-1px}.pause-panel p{font-size:13px;color:var(--muted)}.pause-panel .primary{margin:24px auto 12px}footer{display:flex;gap:22px;align-items:center;padding:22px 0;font-size:9px;letter-spacing:.7px;color:var(--muted)}footer b{color:#e5ede8;margin:0 5px}.footer-tag{margin-left:auto;color:var(--lime)}.caption{border-top:1px solid #ffffff15;padding-top:16px;color:#7e939a;font-size:11px;line-height:1.6}.touch{display:none;position:absolute;z-index:4;bottom:max(20px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));align-items:flex-end;justify-content:space-between;pointer-events:none}.touch>div{display:flex;gap:10px;pointer-events:auto}.touch button{width:66px;height:66px;padding:0;border-radius:50%;border:1px solid #ffffff35;background:#10212be0;box-shadow:0 6px 20px #0003;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;font-size:28px;display:flex;flex-direction:column;align-items:center;justify-content:center}.touch small{font-size:7px;letter-spacing:1px;margin-top:2px}.touch .steering button{width:72px;height:72px;border-radius:20px;font-size:48px;line-height:1}.touch .boost{color:var(--cyan);border-color:#6de4ed80}.touch .strike{color:var(--lime);border-color:#dcff6880}.touch .brake{color:#ffae95}.touch button.active{background:var(--lime);color:#14231b;transform:scale(.95)}.auto-throttle .touch .gas{display:none}.game:not(.racing) .touch,.game:not(.racing) .race-tools,.game:not(.racing) .meters,.game:not(.racing) .hud{visibility:hidden}
@media(max-width:1100px){.race-tools span{display:none}.hud>div{min-width:90px;padding:10px 12px}.hud>div:first-child{min-width:135px}}
@media(any-pointer:coarse),(max-width:700px){.touch{display:flex}.mobile-hint{display:block}.playing{overflow:hidden;overscroll-behavior:none}.playing .game{position:fixed;inset:0;border:0;border-radius:0;width:100%;height:100%;height:100dvh;aspect-ratio:auto;z-index:20}.playing .hud{top:max(16px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(116px,calc(env(safe-area-inset-right) + 110px))}.playing .race-tools{top:max(16px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}.hud{gap:5px}.hud>div{min-width:0;flex:1;padding:8px}.hud>div:first-child{min-width:0;flex:1.25}.hud strong{font-size:23px}.hud em{font-size:8px}.hud small{font-size:7px;letter-spacing:1px}.touch .actions{display:grid;grid-template-columns:repeat(2,58px);gap:8px}.touch .actions button{width:58px;height:58px}.auto-throttle .actions .boost{grid-column:2;grid-row:1 / 3;align-self:center}.touch .steering{gap:8px}.touch .steering button{width:62px;height:72px}.meters{width:175px;left:max(14px,env(safe-area-inset-left));top:calc(max(16px,env(safe-area-inset-top)) + 80px);bottom:auto}.pause-panel .primary{min-height:52px}.race-tools span{display:none}}
@media(max-width:700px){main{padding:16px 12px}header{margin-bottom:16px;justify-content:space-between;gap:8px}.brand span{font-size:9px;letter-spacing:1px;margin-left:8px}.edition{display:none}header button{padding:10px;font-size:9px}.game{aspect-ratio:auto;height:calc(100svh - 100px);min-height:540px;border-radius:14px}.overlay{padding:30px 25px;background:linear-gradient(180deg,#0c1a29cc,#0c1a29ee);align-items:center}.intro{max-width:100%}h1{font-size:clamp(64px,19vw,90px);letter-spacing:-4px}.intro p{font-size:13px}.route-stamp{display:none}.route-chips{gap:6px}.route-chips span{font-size:7px}.auto-setting span{flex-basis:100%;margin-left:27px}.primary{width:100%;min-height:56px}.hud strong{font-size:19px}.hud em{font-size:7px}.hud>div{padding:8px 6px}.hud small{font-size:6px}.hud{left:12px;right:116px}.meters{width:155px}footer{flex-wrap:wrap;gap:12px;line-height:1.7}.footer-tag{display:none}.caption{font-size:10px}#notice{top:23%;font-size:12px}.touch{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}}
@media(max-height:500px) and (orientation:landscape){main{padding:12px}.overlay{padding:18px max(30px,env(safe-area-inset-left));align-items:center}.intro{max-width:460px}h1{font-size:52px;margin:10px 0;line-height:.9}.intro p{font-size:11px;line-height:1.4;margin:8px 0}.route-chips{margin:9px 0}.auto-setting span{display:none}.primary{min-height:44px;margin:10px 0;padding:13px 18px}.mobile-hint{display:none}#best{margin-top:5px;font-size:8px}.touch .actions{display:flex;gap:8px}.touch .actions button{width:56px;height:56px}.touch .steering button{height:60px;width:64px}.meters{top:calc(max(16px,env(safe-area-inset-top)) + 80px);bottom:auto;width:165px}.hud strong{font-size:22px}.route-stamp strong{font-size:65px}.playing .hud{max-width:540px}.touch{bottom:max(15px,env(safe-area-inset-bottom))}.game{min-height:300px}.pause-panel h2{margin:12px 0}}
#menu-return{margin-top:14px;font-size:9px;min-height:44px}#menu-return[hidden]{display:none}@media(max-width:700px){.hud>div:nth-child(3) strong{font-size:17px}.hud>div:nth-child(3) em{display:block;font-size:7px;margin-top:2px}}

.race-tools{gap:8px}#sound-race{font-size:17px}.pause-panel #sound-pause{margin-right:8px}@media(max-width:700px){.playing .hud{right:max(65px,calc(env(safe-area-inset-right) + 60px))}.playing #sound-race{position:absolute;right:0;top:54px}.hud{right:65px}}
.name-field{margin:16px 0}.name-field label{display:block;color:#bdcccf;font-size:8px;font-weight:700;letter-spacing:1.5px;margin-bottom:8px}.name-field input{display:block;width:100%;max-width:350px;background:#0d1b25d9;border:1px solid #7a93884d;border-radius:7px;color:#edf2ec;padding:12px 14px;font:16px Arial;min-height:46px;outline-offset:3px}.name-field input:focus{outline:2px solid var(--lime)}.name-field input[aria-invalid=true]{border-color:#ffae95}.name-field small{display:block;font-size:9px;line-height:1.5;color:var(--muted);margin-top:7px;max-width:350px}#name-error{display:block;color:#ffae95;font-size:11px;line-height:1.5;max-width:350px;margin-top:6px}#name-error:empty{display:none}button:disabled{cursor:wait;opacity:.6}.overlay .intro{padding:8px 0}@media(max-height:700px){.overlay{align-items:flex-start}.overlay h1{font-size:64px;margin:14px 0}.overlay .route-chips{margin:12px 0}}@media(max-height:500px) and (orientation:landscape){.overlay h1{font-size:42px}.overlay .intro{max-width:460px;padding:4px 0}.name-field{margin:10px 0}.name-field input{min-height:44px;padding:10px 12px}.route-stamp{position:sticky;bottom:10px}.overlay{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}}
.overlay{align-items:flex-start}.overlay .intro{margin-top:auto;margin-bottom:auto}

@media(any-pointer:coarse),(max-width:700px){.playing .meters{top:calc(max(16px,env(safe-area-inset-top)) + 80px);bottom:auto;left:max(14px,env(safe-area-inset-left))}}
/* Keep touch gameplay free of text selection and long-press callouts. */
.game,.game *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game{touch-action:manipulation}.game input[type=text],.game textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;touch-action:auto}
.race-rewards{position:absolute;z-index:2;top:110px;right:24px;width:168px;border:1px solid #ffffff20;border-radius:10px;padding:10px 13px;background:#101f2ddc;pointer-events:none}.race-rewards small{display:block;font-size:7px;letter-spacing:1px;color:#bdcccf}.race-rewards strong{display:block;font-size:24px;font-style:italic;font-variant-numeric:tabular-nums;margin:3px 0}.race-rewards>span{display:block;color:var(--lime);font-size:8px;font-weight:700;letter-spacing:1px}.race-rewards i{display:block;height:3px;background:#ffffff14;margin:7px 0;border-radius:4px;overflow:hidden}.race-rewards b{display:block;height:100%;background:var(--lime);width:0}.game:not(.racing) .race-rewards{visibility:hidden}.garage{margin-top:16px;max-width:350px}.garage>span{display:flex;justify-content:space-between;font-size:8px;color:#bdcccf;letter-spacing:1px}.garage small{font-size:8px;color:var(--cyan);letter-spacing:0}.garage>div{display:flex;gap:6px;margin-top:9px}.garage .paint{flex:1;min-width:0;padding:10px 4px;font-size:8px;letter-spacing:.5px;border-top:3px solid var(--paint)}.volt{--paint:#dfff65}.ice{--paint:#6dd8ed}.ember{--paint:#ff925d}.phantom{--paint:#d79cef}.paint[aria-pressed=true]{background:#dfff6515;outline:1px solid var(--paint)}.paint:disabled{cursor:default;opacity:.35}.result-panel{max-width:400px;margin:18px 0;padding:16px;border:1px solid #dfff6550;background:#162a2780;border-radius:10px}.result-panel[hidden]{display:none}#result-medal{color:var(--lime);font-size:10px;letter-spacing:2px;font-weight:700}#result-score{display:block;font-size:42px;font-weight:900;font-style:italic;margin:6px 0}.intro .result-panel p{font-size:10px;line-height:1.6;margin:6px 0}.result-panel small{display:block;font-size:10px;line-height:1.6;color:var(--cyan);margin-top:10px}@media(any-pointer:coarse),(max-width:700px){.race-rewards{top:calc(max(16px,env(safe-area-inset-top)) + 108px);right:max(14px,env(safe-area-inset-right));width:118px;padding:8px 10px}.race-rewards strong{font-size:20px}.race-rewards small{font-size:6px;letter-spacing:.6px}.race-rewards>span{font-size:7px}.garage>div{gap:5px}}@media(max-height:500px) and (orientation:landscape){.race-rewards{top:calc(max(16px,env(safe-area-inset-top)) + 62px);width:140px}.garage{margin-top:10px}}
.intro .objectives{max-width:350px;font-size:9px;color:#9bc4bc;line-height:1.6;margin:14px 0 0}
.tilt-setting{margin-top:14px;max-width:350px}.tilt-setting>div{display:flex;gap:8px}.tilt-setting button{font-size:9px;flex:1}.tilt-setting button[aria-pressed=true],.tilt-pause button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan);background:#6de4ed10}.tilt-setting small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:8px}.tilt-pause{display:flex;gap:8px;justify-content:center;margin:14px 0}.tilt-pause button{font-size:9px}.tilt-setting button:disabled,.tilt-pause button:disabled{cursor:default;opacity:.4}

.icon-arrow-up-right{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}
.primary{align-items:center}.primary .icon-arrow-up-right{width:18px;height:18px}

/* Motorsport instruments: matte housings, restrained lighting, clear telemetry. */
:root{--panel:#10171eeF;--rim:#8a9ca53b}
body{background:radial-gradient(ellipse at 50% 0,#263039,transparent 65%),#090e13}
.game{border-radius:10px;border-color:#82969b45;box-shadow:0 24px 80px #0008,0 1px 0 #ffffff12 inset}
button{border-radius:5px;background:linear-gradient(#28323b,#171e26);box-shadow:0 1px 0 #ffffff12 inset,0 3px 8px #0003}
.hud{right:136px;align-items:flex-start;gap:1px}
.hud>div{min-width:110px;border-radius:0;padding:14px 18px;background:linear-gradient(140deg,#263039f2,var(--panel));border:1px solid var(--rim);box-shadow:0 5px 18px #0003}
.hud>div:first-child{border-top:1px solid var(--rim);border-radius:7px 0 7px 7px;min-width:168px;width:168px;padding:12px 12px 8px}
.hud>div:last-child{border-radius:0 7px 7px 0}
.hud small{font:700 8px Arial;letter-spacing:1.6px;color:#96a6af;margin-bottom:8px}
.hud strong{font:700 30px 'Arial Narrow',Arial,sans-serif;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#f6f8f6}
.hud em{font:600 9px Arial;letter-spacing:.5px;color:#abb7bd}
.speed-instrument{position:relative;text-align:center}
.speed-dial{display:block;width:140px;height:84px;margin:auto;overflow:visible;fill:#dfff65}
.dial-track,.dial-arc{fill:none;stroke:#48525b;stroke-width:3}
.dial-arc{stroke:var(--lime);stroke-dasharray:100;stroke-dashoffset:100}
.dial-ticks{stroke:#b0bcc3;stroke-width:1;fill:none}
#speed-needle{stroke:#ff805c;stroke-width:2;fill:none}
.speed-instrument #speed{display:block;margin-top:3px;font-size:26px}
.position-instrument{border-bottom:2px solid var(--lime)!important}
.race-tools span{display:none}.race-tools button{background:linear-gradient(#2b353eee,#111922ee);border-color:var(--rim);border-radius:5px}
.race-progress{height:4px;background:#050a0dcc}.race-progress b{box-shadow:none;background:linear-gradient(90deg,#829959,var(--lime))}
.meters{top:198px;width:168px;border-radius:6px;background:var(--panel);border-color:var(--rim);padding:8px 12px}
.meters span{width:65px;font-size:7px;letter-spacing:1px;color:#a8b5bd}
.meters i{height:5px;border-radius:1px;background:repeating-linear-gradient(90deg,#46515a 0 7px,#1b242c 7px 9px)}
.meters b{border-radius:0;mask-image:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 9px)}
.race-rewards{top:88px;background:var(--panel);border-color:var(--rim);border-radius:6px}
.race-rewards strong{font-style:normal;font-size:23px;letter-spacing:-.5px}.race-rewards small{color:#a5b4bc}
.low-time .time-instrument{border-bottom:2px solid #ff805c}.low-condition .meters{border-color:#ff805c99}
.boost-active .speed-instrument{border-color:#6de4edaa;box-shadow:0 0 22px #6de4ed25}
#notice{top:32%;font-size:12px;letter-spacing:1.4px;text-shadow:0 2px 6px #000,0 0 16px #000}
.overlay{padding:36px 5%;gap:40px;background:linear-gradient(90deg,#090f16f5 0%,#0d151deb 42%,#0d151d59 76%,#0d151d35)}
.overlay .intro{max-width:420px;flex:1;min-width:0;padding:12px 0}
.overlay h1{font-size:clamp(56px,6.8vw,92px);letter-spacing:-4px;line-height:.9;margin:20px 0}
.eyebrow{font:700 8px Arial;letter-spacing:2px;color:#b2c0c7}
.intro>p{font-size:12px;color:#a6b4bc;line-height:1.7;max-width:340px}
.route-chips{margin:18px 0;border-block:1px solid #ffffff15;padding:11px 0;gap:18px}
.route-chips span{border:0;padding:0;color:#d5dfdf;font-weight:700;font-size:8px;letter-spacing:1px}
.name-field input{border-radius:4px;background:#090f16b3;box-shadow:0 2px 7px #0004 inset;border-color:#91a6b23b}
.primary{background:linear-gradient(115deg,#e5ff94,#b9db56);border-radius:4px;color:#182210;box-shadow:0 2px 0 #f6ffba66 inset,0 5px 18px #0005;letter-spacing:1.3px}
.garage .paint{background:linear-gradient(#2a343e,#141c24);border-radius:3px;border-top-width:4px;min-height:44px}
.garage .paint[aria-pressed=true]{box-shadow:0 0 0 1px var(--paint),0 0 16px #dcff6810;background:#253126}
.route-stamp{width:260px;flex:0 0 260px;align-self:center;text-align:left;padding:24px;background:linear-gradient(140deg,#202b34ed,#0c141bea);border:1px solid #b7cbd12e;border-radius:7px;box-shadow:0 16px 40px #0004;margin-left:auto}
.route-stamp .briefing-label{font-size:8px;letter-spacing:1.6px;color:#9aacb6}
.route-stamp h2{font-size:21px;font-style:italic;font-weight:800;letter-spacing:-.6px;line-height:1.15;margin:14px 0}
.course-map{display:block;width:100%;height:auto;margin:20px 0;stroke:var(--lime);fill:var(--lime)}
.map-grid{stroke:#c1d9e30b;stroke-width:1;fill:none}.map-coast{stroke:#6de4ed40;stroke-width:2;fill:none}
.map-road{fill:none;stroke-width:3;stroke-linecap:round}.course-map text{fill:#afbec6;stroke:none;font:8px Arial;letter-spacing:1px}
.briefing-stat{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff12;padding:14px 0}
.briefing-stat span{font-size:7px;letter-spacing:1px;color:#8fa3ae}.briefing-stat b{font-size:20px;font-variant-numeric:tabular-nums}.briefing-stat small{font-size:7px;color:#9aabb5}
.route-stamp p{font-size:10px;line-height:1.8;color:#a4b4be;border-top:1px solid #ffffff12;padding-top:15px;margin-bottom:0}
.pause-panel{background:#080f17de}.pause-panel>div{width:min(100%,360px);padding:28px 24px;border:1px solid var(--rim);border-radius:7px;background:linear-gradient(140deg,#263039,#101820);box-shadow:0 20px 70px #0006}
.pause-panel h2{font-size:29px}.pause-panel .primary{min-width:0;width:100%}
.result-panel{background:linear-gradient(140deg,#25352c,#141e20);border-radius:5px;box-shadow:0 8px 24px #0003}
.touch button{border-radius:12px;background:linear-gradient(145deg,#39434dea,#101820f2);border:1px solid #a8bac24d;box-shadow:0 2px 0 #dce9ee22 inset,0 -3px 0 #0005 inset,0 6px 14px #0004}
.touch .steering button{border-radius:12px}.control-icon{width:25px;height:25px;flex-shrink:0}.steering .control-icon{width:32px;height:32px}
.touch small{font:700 7px Arial;letter-spacing:1px;margin-top:5px}.touch button.active{background:linear-gradient(#dfff8b,#aaca4b);box-shadow:0 1px 5px #0005 inset;color:#16220d}
@media(max-width:1000px){.route-stamp{width:220px;flex-basis:220px;padding:18px}.overlay{gap:24px}.hud>div{min-width:90px;padding:12px}.hud>div:first-child{min-width:152px;width:152px}.meters{width:152px}}
@media(any-pointer:coarse),(max-width:700px){
  .hud{gap:2px;align-items:stretch}.hud>div,.hud>div:first-child{min-width:0;width:auto;flex:1;padding:8px;border-radius:4px;border:1px solid var(--rim)}
  .hud>div:first-child{flex:1.15;text-align:left}.speed-dial{display:none}.speed-instrument #speed{font-size:23px;margin:0}
  .hud strong{font-size:23px;letter-spacing:-.6px}.hud small{font-size:6px;letter-spacing:.8px;margin-bottom:5px}.hud em{font-size:7px}
  .meters,.playing .meters{width:154px;top:calc(max(16px,env(safe-area-inset-top)) + 75px);padding:5px 10px}.meters span{font-size:6px;width:60px}
  .race-rewards{top:calc(max(16px,env(safe-area-inset-top)) + 110px);width:118px;padding:8px 10px}
  #notice{top:30%;font-size:11px}.touch .actions button{border-radius:12px}.touch .steering button{border-radius:12px}
}
@media(max-width:700px){
  .overlay{padding:24px;background:linear-gradient(90deg,#090f16ee,#0d151dc9)}.overlay .intro{max-width:100%}.overlay h1{font-size:clamp(56px,16vw,78px)}
  .route-stamp{display:none}.route-chips{gap:16px}.hud>div{padding:8px 5px}.hud strong,.speed-instrument #speed{font-size:20px}.hud small{font-size:5.5px;letter-spacing:.5px}
  .hud>div:nth-child(3) strong{font-size:17px}.hud>div:nth-child(3) em{display:block}.pause-panel>div{padding:20px}
}
@media(max-height:500px) and (orientation:landscape){
  .overlay{padding:20px max(24px,env(safe-area-inset-left));gap:24px}.overlay h1{font-size:44px;margin:12px 0}.route-stamp{width:210px;flex-basis:210px;position:sticky;top:20px;align-self:flex-start;padding:16px}.course-map{height:100px;margin:10px 0}.briefing-stat{padding:8px 0}.route-stamp p{display:none}
  .race-rewards{top:calc(max(16px,env(safe-area-inset-top)) + 75px);width:128px}.race-rewards strong{font-size:18px}.pause-panel{overflow-y:auto;place-items:start center}.pause-panel>div{padding:16px 24px}.pause-panel h2{margin:10px 0}
}

.difficulty-field{max-width:350px;margin:16px 0}
.difficulty-field label{display:block;font-size:8px;font-weight:700;letter-spacing:1.5px;color:#bdcccf;margin-bottom:8px}
.difficulty-field select{display:block;width:100%;min-height:46px;border:1px solid #91a6b23b;border-radius:4px;background:#101820;color:#edf2ec;padding:10px 12px;font:16px Arial;cursor:pointer;touch-action:manipulation}
.difficulty-field select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.difficulty-field small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:7px}
.difficulty-field select:disabled{opacity:.5;cursor:wait}
.game select{-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default}
@media(max-height:500px) and (orientation:landscape){.difficulty-field{margin:10px 0}}
.route-chips{flex-wrap:wrap;row-gap:10px}
#lighting-status{color:#d8dda8}
.night-race #lighting-status{color:#a9c9ec}

/* Keep race setup scrollable independently of the always-accessible start action. */
.overlay{display:flex;flex-direction:column;align-items:stretch;gap:16px;overflow:hidden}
.menu-body{display:flex;gap:40px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;padding:2px 4px}
.menu-body .intro{flex:0 1 420px;margin-top:0;margin-bottom:0;padding:0}
.menu-actions{flex-shrink:0;position:relative;z-index:1;max-width:420px;padding:4px 0 0;background:linear-gradient(#0b131bf2,#0b131b);border-top:1px solid #ffffff15}
.menu-actions .primary{width:100%;min-width:0;margin:8px 0;min-height:52px}
.menu-actions #best{margin-top:8px;line-height:1.5}
.menu-actions #menu-return{margin-top:8px}
.menu-actions .mobile-hint{margin-top:8px}
.race-settings{max-width:350px;margin-top:14px;border:1px solid #91a6b23b;border-radius:5px;background:#101820c9}
.race-settings summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:12px;font-size:11px;color:#c3d0d7;cursor:pointer;list-style:none;touch-action:manipulation}
.race-settings summary::-webkit-details-marker{display:none}
.race-settings summary:after{content:'+';font-size:18px;color:var(--lime)}
.race-settings[open] summary:after{content:'−'}
.race-settings summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.settings-body{padding:4px 12px 14px;border-top:1px solid #ffffff12}
.settings-body .auto-setting{margin-top:12px}
@media(any-pointer:coarse),(max-width:700px){
  .overlay{padding:16px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:10px}
  .menu-body{gap:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .menu-body::-webkit-scrollbar{display:none}
  .menu-body .intro{max-width:none;flex:1}
  .menu-actions{max-width:none;background:#0b131bf5}
  .menu-actions .mobile-hint{display:none}
  .route-stamp{display:none}
  .overlay h1{font-size:clamp(30px,9vw,40px);line-height:1.05;letter-spacing:-1.5px;margin:12px 0}
  .overlay h1 br{display:none}.overlay h1 span{margin-left:8px}
  .intro>p{font-size:11px;line-height:1.5;margin:8px 0;max-width:none}
  .overlay .route-chips{padding:8px 0;margin:10px 0;gap:8px 12px}.route-chips span{font-size:7px;letter-spacing:.6px}
  .name-field,.difficulty-field{max-width:none;margin:10px 0}
  .name-field input{max-width:none;min-height:44px;padding:10px 12px}
  .name-field #name-hint{display:none}
  .difficulty-field select{min-height:44px}
  .difficulty-field small{font-size:9px;line-height:1.4;margin-top:5px}
  .race-settings{max-width:none;margin-top:10px}
  .result-panel{margin:10px 0;padding:12px}.result-panel #result-score{font-size:32px}
  .menu-actions #best{font-size:8px;letter-spacing:.7px}
}
@media(max-height:500px) and (orientation:landscape){
  .overlay{padding:12px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:8px}
  .menu-body .intro{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;max-width:none;flex:1;align-content:start}
  .intro>.eyebrow,.intro>h1,.intro>p,.intro>.route-chips,.intro>#result-panel{grid-column:1 / -1}
  .overlay h1{font-size:32px;margin:8px 0;line-height:1.05;letter-spacing:-1.5px}.overlay h1 br{display:none}.overlay h1 span{margin-left:8px}
  .overlay .route-chips{margin:6px 0;padding:6px 0}
  .race-settings{grid-column:1 / -1;margin-top:6px;max-width:none}
  .name-field,.difficulty-field{margin:6px 0;max-width:none}.name-field input{max-width:none}
  .route-stamp{display:none}.menu-actions{max-width:none;display:flex;align-items:center;gap:12px}
  .menu-actions .primary{width:auto;flex:1;margin:0;min-height:48px}.menu-actions #best{margin:0;font-size:8px;letter-spacing:.6px}
  .menu-actions #menu-return{margin:0}.menu-actions .mobile-hint{display:none}
}
@media(any-pointer:coarse),(max-width:700px){
  .game{height:calc(100svh - 120px);min-height:0;aspect-ratio:auto}
  .playing .game{height:100dvh}
}
@media(max-width:700px){.game{height:calc(100svh - 96px)}}
@media(max-height:500px) and (orientation:landscape){
  .game{height:calc(100svh - 96px);min-height:0;aspect-ratio:auto}
  .playing .game{height:100dvh}
}
