:root{--bg:#0c1015;--panel:rgba(11,16,22,.87);--text:#f3f3ee;--muted:#bac0c5;--dim:#727c86;--line:rgba(214,221,225,.2);--amber:#f8c877;--amber-dark:#211a0d;--green:#bcddb0;--red:#ffb0a0;--radius:3px;--shadow:0 18px 70px #0005;font-family:Arial,Helvetica,system-ui,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--amber);outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-70px;z-index:40;background:var(--amber);color:var(--bg);padding:14px}.skip-link:focus{top:15px}#main-content{position:relative;min-height:860px;height:100svh;overflow:hidden}.race-stage{position:absolute;inset:0;overflow:hidden;background:var(--bg)}#track{width:100%;height:100%;display:block;outline:none}.garage-backdrop{position:absolute;inset:0;object-fit:cover;object-position:center;width:100%;height:100%;transition:opacity .65s}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#090e16d9 0%,#0a10187d 30%,transparent 66%),linear-gradient(0deg,#080d15c9,transparent 28%,transparent 78%,#070b1299)}.film-grain{position:absolute;inset:0;opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.rush-topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:22px;height:86px;padding:0 4vw;border-bottom:1px solid var(--line)}.back-link{font-size:19px;text-decoration:none;display:flex;align-items:center;gap:13px}.back-link>span{font-size:9px;font-weight:700;letter-spacing:2px}.top-edition{display:flex;align-items:center;gap:12px;margin-right:auto;margin-left:28px;font-size:9px;letter-spacing:1.5px}.top-edition b{display:block;font-weight:400;color:var(--amber);font-size:8px;letter-spacing:4px;margin-top:4px}.brand-mark{font-size:27px;font-style:italic;font-weight:950;letter-spacing:-5px;padding-right:4px}.rush-topbar nav{display:flex;gap:8px}.rush-small{border:1px solid var(--line);background:#0c121b55;color:var(--text);padding:10px 13px;border-radius:var(--radius);font-size:10px;line-height:1.4}.rush-small:hover:not(:disabled){background:#ffffff12;border-color:var(--text)}.rush-small[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:var(--amber);margin:0}.garage-title{position:absolute;z-index:2;left:5vw;top:128px}.garage-title .eyebrow>span{display:inline-block;margin-left:20px;color:var(--dim);border-left:1px solid var(--dim);padding-left:20px}.garage-title h1{font-size:clamp(55px,6.5vw,96px);font-weight:950;font-style:italic;letter-spacing:-5px;line-height:.82;margin:20px 0;position:relative}.garage-title h1 em{color:var(--amber);font-style:inherit}.garage-title h1>span{font-size:.75em;letter-spacing:-12px;margin-left:16px;color:var(--amber);font-weight:500}.tagline{font-size:13px;color:var(--muted);letter-spacing:.2px;margin:0}.garage-column{position:absolute;z-index:3;left:5vw;top:370px;width:350px}.garage-panel{background:transparent}fieldset{border:0;margin:0;padding:0;min-width:0}.setup-row,.skill-row{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:10px 0 16px;margin-bottom:12px}.setup-label{font-size:9px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}.mode-buttons{display:flex;gap:7px}.mode-buttons button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:8px 9px;font-size:12px}.mode-buttons button[aria-pressed=true]{color:var(--amber);border-color:var(--amber)}#skill-select{max-width:222px;min-width:178px;min-height:36px;border:1px solid var(--line);border-radius:var(--radius);padding:8px 28px 8px 10px;background:#111a24d9;color:var(--text);font-size:12px}.circuit-label{display:flex;justify-content:space-between;margin:18px 0 10px}.circuit-label>span{font-size:7px;color:var(--dim);letter-spacing:1px}.circuit-options{display:grid;gap:6px}.circuit-options button{display:flex;align-items:center;text-align:left;gap:14px;padding:9px 12px;border:1px solid var(--line);border-left:2px solid var(--line);background:#11182180;color:var(--text);border-radius:var(--radius);transition:background .2s}.circuit-options button[aria-pressed=true]{border-color:#f8c87755;border-left:2px solid var(--amber);background:#f8c87713}.route-number{font-size:12px;font-weight:400;color:var(--dim)}.circuit-options [aria-pressed=true] .route-number{color:var(--amber)}.circuit-options strong{font-size:12px;font-weight:500}.circuit-options small{font-size:7px;letter-spacing:1px;color:var(--dim);display:block;margin-top:4px}.circuit-options [aria-pressed=true] small{color:var(--muted)}.route-arrow{margin-left:auto;font-size:17px;font-weight:400;color:var(--muted)}.rush-primary{border:1px solid var(--amber);border-radius:var(--radius);background:var(--amber);color:var(--amber-dark);font-size:11px;letter-spacing:1px;font-weight:750;text-transform:uppercase;padding:13px 18px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:20px}.rush-primary:hover:not(:disabled){background:#ffdc9c}.start-button{width:100%;margin-top:18px;justify-content:space-between;min-height:49px}.start-button>span{font-size:20px;font-weight:400}.garage-note{font-size:10px;line-height:1.6;color:var(--muted);margin:11px 0 0;max-width:320px}.vehicle-spec{position:absolute;z-index:2;right:5vw;bottom:105px;text-align:right}.vehicle-spec>span{display:block;font-size:8px;letter-spacing:2px;color:var(--amber)}.vehicle-spec>strong{font-size:26px;font-weight:500;font-style:italic;letter-spacing:1px;display:block;margin:10px 0}.vehicle-spec>p{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.vehicle-spec i{display:inline-block;width:3px;height:3px;background:var(--amber);border-radius:50%;margin:0 9px 2px}.vehicle-spec>div{display:flex;gap:12px;justify-content:flex-end;margin-top:18px;align-items:center;font-size:8px;letter-spacing:1.3px}.vehicle-spec>div>span{color:var(--dim)}.vehicle-spec b{font-weight:400;border-bottom:1px solid var(--line);padding:4px 0}.rush-footer{position:absolute;bottom:0;left:4vw;right:4vw;z-index:5;height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:8px;color:var(--dim);letter-spacing:1.2px}.rush-footer b{font-weight:400;color:var(--muted);margin-right:12px}.rush-footer strong{color:var(--text);margin-left:10px}.rush-text{background:transparent;border:0;padding:7px 0;font-size:10px;color:var(--muted);text-underline-offset:4px;text-decoration:underline}.rush-text:hover{color:var(--text)}.engine-status{position:absolute;z-index:20;right:4vw;top:102px;max-width:320px;background:var(--panel);color:var(--muted);font-size:11px;padding:10px 14px;line-height:1.5;border-left:2px solid var(--amber)}.engine-status:empty{display:none}.driver-help{position:absolute;z-index:22;right:4vw;bottom:68px;width:370px;max-width:92vw;background:var(--panel);border:1px solid var(--line);padding:22px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}.driver-help h2{font-size:17px;margin:0 0 12px}.driver-help p{font-size:12px;color:var(--muted);line-height:1.65}.driver-help a{font-size:10px;color:var(--amber)}
body:is([data-phase=race],[data-phase=countdown]) #main-content,body[data-phase=results] #main-content{min-height:700px}body:is([data-phase=race],[data-phase=countdown]) .garage-backdrop,body[data-phase=results] .garage-backdrop{opacity:0;pointer-events:none}body:is([data-phase=race],[data-phase=countdown]) .scene-shade,body[data-phase=results] .scene-shade{background:linear-gradient(0deg,#080b1177,transparent 38%,transparent 70%,#080b1177)}body:is([data-phase=race],[data-phase=countdown]) .garage-column,body[data-phase=results] .garage-column{display:none}body:is([data-phase=race],[data-phase=countdown]) .rush-footer,body[data-phase=results] .rush-footer{display:none}body:is([data-phase=race],[data-phase=countdown]) .rush-topbar,body[data-phase=results] .rush-topbar{border-color:transparent;height:66px;background:linear-gradient(#070c12b0,transparent)}.race-hud{position:absolute;z-index:3;left:4vw;right:4vw;top:91px;display:flex;justify-content:space-between;pointer-events:none}.hud-left>span{font-size:8px;letter-spacing:2px;color:var(--amber)}.hud-left>strong{display:block;font-size:18px;font-weight:500;letter-spacing:1px;margin:7px 0 17px}.race-progress{width:210px}.progress-line{height:2px;background:#ffffff33;position:relative;margin-bottom:8px}.progress-line>div{width:0;height:100%;background:var(--amber);transition:width .5s}.progress-line>span{position:absolute;font-size:20px;top:-12px;left:0;color:var(--amber);transition:left .5s}.race-progress>span{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.hud-right{text-align:right}.hud-right>span{font-size:8px;letter-spacing:2px;color:var(--muted)}.hud-right>strong{display:block;font-size:32px;font-style:italic;line-height:1.2;margin:4px 0}.hud-score{font-size:9px;letter-spacing:1px;color:var(--muted);margin-top:10px}.hud-score>span{color:var(--text)}.hud-score i{font-style:normal;margin:0 7px;color:var(--dim)}.stage-bottom{position:absolute;z-index:4;right:4vw;bottom:42px;width:230px}.tachometer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:8px;color:var(--muted);font-style:italic}.tachometer>span:nth-last-of-type(-n+2){color:var(--amber)}.rev-track{width:100%;height:4px;background:linear-gradient(90deg,#ffffff20 70%,#da643055 70%);transform:skewX(-20deg)}.rev-track>i{display:block;height:100%;width:50%;background:var(--text);box-shadow:0 0 10px #ffffff44;transition:width .1s}.speedometer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:13px 0 10px}.speedometer>strong{font-size:76px;font-style:italic;font-weight:500;letter-spacing:-5px;line-height:1;font-variant-numeric:tabular-nums}.gear{font-size:22px;font-style:italic;color:var(--amber);border-right:1px solid var(--line);padding-right:16px;margin-right:5px}.speed-unit{font-size:9px;letter-spacing:1px;align-self:flex-end;margin-bottom:10px;color:var(--text)}.speed-unit small{font-size:5px;display:block;color:var(--muted);margin-top:4px;letter-spacing:1px}.nitro-display{display:grid;grid-template-columns:1fr auto;gap:8px 15px;align-items:center}.nitro-display>span{font-size:8px;letter-spacing:2px;color:var(--muted);display:flex;justify-content:space-between}.nitro-display b{font-weight:500;color:var(--amber);letter-spacing:1px}.nitro-cells{display:flex;gap:5px;grid-row:2;grid-column:1}.nitro-cells>i{height:3px;background:#ffffff25;flex:1;transform:skewX(-20deg)}.nitro-cells>i.charged{background:var(--amber);box-shadow:0 0 5px #f8c87750}.nitro-display>button{grid-row:1/3;grid-column:2;font-size:9px;padding:7px 10px}kbd{font:inherit;font-size:.9em;padding:1px 4px;border:1px solid var(--line);border-radius:2px;margin-left:4px;color:var(--muted)}.question-card{position:absolute;z-index:6;left:4vw;bottom:32px;width:460px;padding:20px 22px;background:linear-gradient(115deg,#0b1119ed,#0b1119bd);border:1px solid #b2bec32b;border-top:2px solid var(--amber);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(13px);max-height:calc(100svh - 235px);overflow:auto}.question-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.question-top .eyebrow{font-size:8px;letter-spacing:1.5px}.question-top .rush-text{font-size:9px}.question-prompt{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:11px 0 19px}.question-card h2{font-size:14px;font-weight:400;line-height:1.5;margin:0;max-width:180px;color:var(--muted)}.question-number{font-size:35px;font-weight:600;font-style:italic;letter-spacing:-1px;font-variant-numeric:tabular-nums;white-space:nowrap}.answer-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.answer-lanes button{border:1px solid var(--line);border-bottom:2px solid var(--line);border-radius:var(--radius);background:#111c2877;color:var(--text);text-align:left;padding:10px 12px;min-width:0}.answer-lanes small{font-size:7px;letter-spacing:1.3px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.answer-lanes strong{display:block;font-size:21px;font-style:italic;font-weight:600;letter-spacing:-.3px;margin-top:7px}.answer-lanes button[aria-pressed=true]{border-color:#f8c87788;border-bottom-color:var(--amber);background:#f8c87717}.answer-lanes button[aria-pressed=true] small{color:var(--amber)}.answer-lanes button:disabled{opacity:.65}.answer-lanes button.correct{opacity:1;border-color:var(--green);background:#bcddb018}.question-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:15px}.question-actions p{font-size:7px;letter-spacing:1px;color:var(--muted);line-height:1.7;margin:0}.question-actions p span{display:block}.question-actions .rush-primary{min-height:38px;font-size:9px;letter-spacing:.5px;padding:10px 13px}.answer-feedback{font-size:11px;line-height:1.6;color:var(--red);margin:0}.answer-feedback:not(:empty){margin-top:13px;padding-left:10px;border-left:1px solid currentColor}.answer-feedback.success{color:var(--green)}.rounding-hint{margin-top:16px;padding:12px 13px;background:#ffffff08}.rounding-hint p{font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 27px}.number-line{position:relative;height:1px;background:var(--muted);margin:0 8px}.number-line:before,.number-line:after,.number-line i{content:"";position:absolute;height:9px;width:1px;background:var(--muted);top:-4px;left:0}.number-line:after{left:100%}.number-line i{left:50%}.number-marker{position:absolute;top:-18px;font-size:9px;color:var(--amber);transform:translateX(-50%)}.number-marker:after{content:"▼";display:block;font-size:7px;line-height:6px;text-align:center}.number-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:9px}.pause-overlay{position:absolute;inset:0;z-index:30;background:#080d15b8;display:grid;place-items:center;backdrop-filter:blur(12px)}.pause-overlay>div{width:350px;max-width:90vw;text-align:center}.pause-overlay h2{font-size:70px;font-style:italic;font-weight:800;margin:20px 0 10px;letter-spacing:-2px}.pause-overlay p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:28px}.pause-overlay button{width:100%;margin:6px 0}.results-card{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:570px;max-width:92vw;max-height:80svh;overflow:auto;padding:38px;background:#0a1019e8;border:1px solid var(--line);border-top:3px solid var(--amber);backdrop-filter:blur(15px);box-shadow:var(--shadow)}.results-card h2{font-size:35px;line-height:1.05;text-transform:uppercase;font-style:italic;letter-spacing:-1px;margin:17px 0}.results-card>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.6}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;border-block:1px solid var(--line);margin:23px 0;gap:20px}.result-stats strong{display:block;color:var(--amber);font-size:33px;font-weight:500;font-style:italic}.result-stats span{font-size:8px;color:var(--muted);letter-spacing:1.5px}.result-actions{display:flex;gap:12px;margin-top:24px}.results-card details{font-size:11px;margin-top:20px;color:var(--muted);line-height:1.7}.results-card summary{cursor:pointer;color:var(--text)}.results-card li{margin-bottom:11px}.less-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1600px){.garage-title{top:15vh}.garage-column{top:44vh;width:390px}.garage-title h1{font-size:105px}.circuit-options button{padding:12px 14px}.question-card{width:510px;bottom:5vh}.stage-bottom{bottom:5vh}}
@media(max-height:850px) and (min-width:761px){#main-content{min-height:730px}.garage-title{top:111px}.garage-title h1{font-size:67px;margin:16px 0}.garage-column{top:307px}.circuit-options button{padding:7px 12px}.setup-row,.skill-row{padding:6px 0 10px;margin-bottom:8px}.circuit-label{margin:12px 0 8px}.garage-note{font-size:9px}.vehicle-spec{bottom:105px}.rush-footer{height:44px}.start-button{margin-top:12px}}
@media(max-width:1050px){.top-edition{display:none}.garage-backdrop{object-position:60% center}.garage-title h1{font-size:74px}.garage-column{width:310px}.garage-title,.garage-column{left:4vw}.vehicle-spec{right:4vw;max-width:290px}.vehicle-spec>strong{font-size:22px}.question-card{width:420px;padding:17px}.stage-bottom{width:190px}.speedometer>strong{font-size:64px}.race-hud{top:85px}.hud-left>strong{font-size:15px}}
@media(max-width:760px){#main-content{min-height:950px;height:100svh}.garage-backdrop{height:470px;object-position:68% top;mask-image:linear-gradient(#000 65%,transparent)}.scene-shade{background:linear-gradient(90deg,#0b10146b,transparent),linear-gradient(0deg,#0c1015 48%,transparent 80%)}.rush-topbar{height:66px;padding:0 18px;gap:8px}.back-link{font-size:20px;gap:8px}.back-link>span{display:none}.rush-topbar nav{gap:5px}.rush-small{font-size:9px;padding:8px 9px}.garage-title{left:23px;top:100px}.garage-title .eyebrow{font-size:8px}.garage-title h1{font-size:67px;letter-spacing:-4px;margin:18px 0}.tagline{font-size:11px}.garage-column{left:23px;right:23px;top:365px;width:auto}.circuit-options button{padding:11px 12px}.circuit-options strong{font-size:13px}.circuit-options small{font-size:8px}.setup-label{font-size:9px}.vehicle-spec{top:290px;right:23px;bottom:auto;text-align:right}.vehicle-spec>span,.vehicle-spec>div,.vehicle-spec>p{display:none}.vehicle-spec>strong{font-size:15px;letter-spacing:1px;color:var(--muted)}.rush-footer{left:23px;right:23px;gap:10px;font-size:7px;flex-wrap:wrap;align-content:center;row-gap:5px;height:70px;bottom:18px}.rush-footer>span:first-child{width:100%;font-size:7px}.rush-footer .rush-text{font-size:9px}.engine-status{top:76px;font-size:10px;max-width:65vw}.driver-help{right:20px;bottom:96px}.start-button{min-height:50px}.garage-note{font-size:11px}.race-hud{top:83px;left:20px;right:20px}.hud-left>span{font-size:7px}.hud-left>strong{font-size:12px;margin-bottom:12px}.race-progress{width:145px}.race-progress>span{font-size:7px}.hud-right>strong{font-size:26px}.hud-score{font-size:7px}.hud-score i{margin:0 3px}.stage-bottom{right:20px;bottom:auto;top:183px;width:144px}.tachometer{font-size:6px;gap:4px}.speedometer>strong{font-size:49px;letter-spacing:-3px}.speedometer{gap:6px;margin:8px 0}.gear{font-size:16px;padding-right:9px;margin-right:0}.speed-unit{font-size:7px;margin-bottom:5px}.speed-unit small{font-size:4px}.nitro-display{gap:5px 8px}.nitro-display>span{font-size:6px}.nitro-display button{font-size:8px;padding:6px 7px}.question-card{left:14px;right:14px;bottom:16px;width:auto;max-height:calc(100svh - 345px);padding:15px 16px}.question-card h2{font-size:12px;max-width:160px}.question-number{font-size:30px}.question-prompt{margin:8px 0 13px;gap:12px}.answer-lanes{gap:7px}.answer-lanes button{padding:8px 10px}.answer-lanes strong{font-size:20px}.question-actions{margin-top:12px}.answer-feedback{font-size:10px}.results-card{padding:25px;max-height:77svh}.results-card h2{font-size:29px}.result-stats{gap:12px}.result-stats strong{font-size:28px}body:is([data-phase=race],[data-phase=countdown]) #main-content,body[data-phase=results] #main-content{min-height:740px}.result-actions{gap:9px}.result-actions .rush-primary,.result-actions .rush-small{font-size:9px;padding:12px}.pause-overlay h2{font-size:60px}}
@media(max-width:390px){.rush-small{font-size:8px;padding:8px 7px}.garage-title h1{font-size:60px}.question-card{padding:13px}.question-number{font-size:27px}.question-card h2{font-size:11px}.answer-lanes strong{font-size:18px}.answer-lanes small{font-size:6px;letter-spacing:1px}.question-top .eyebrow{font-size:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Keep the complete driving UI reachable on small and landscape screens. */
body:is([data-phase=race],[data-phase=countdown]) #main-content,body[data-phase=results] #main-content{min-height:100svh}
@media(max-height:650px) and (min-width:761px){.question-card{left:22px;bottom:14px;width:390px;max-height:calc(100svh - 175px);padding:14px 16px}.question-number{font-size:29px}.question-prompt{margin:7px 0 12px}.question-card h2{font-size:12px}.stage-bottom{right:25px;bottom:22px;width:180px}.speedometer>strong{font-size:57px}.race-hud{left:25px;right:25px;top:74px}.hud-left>strong{font-size:13px;margin:4px 0 12px}.hud-right>strong{font-size:27px}}
@media(orientation:landscape) and (max-height:500px){.rush-topbar{height:48px!important;padding:0 18px}.rush-topbar nav{gap:5px}.rush-topbar .rush-small{padding:6px 8px;font-size:8px}.race-hud{top:60px;left:20px;right:20px}.hud-left{display:none}.hud-right{margin-left:auto}.hud-right>span{font-size:7px}.hud-right>strong{font-size:24px}.hud-score{font-size:7px;margin-top:4px}.question-card{left:18px;right:auto;bottom:12px;width:330px;max-height:calc(100svh - 76px);padding:12px 14px}.question-prompt{margin:5px 0 10px}.question-card h2{font-size:11px}.question-number{font-size:26px}.answer-lanes strong{font-size:17px}.answer-lanes button{padding:7px 9px}.question-actions{margin-top:10px}.question-top .eyebrow{font-size:7px}.stage-bottom{right:22px;top:auto;bottom:22px;width:145px}.speedometer>strong{font-size:47px}.tachometer{font-size:6px}.speedometer{margin:7px 0}.driver-help{max-height:70svh;overflow:auto}.pause-overlay h2{font-size:42px;margin:12px 0}.pause-overlay p:not(.eyebrow){margin-bottom:13px}.pause-overlay button{min-height:35px;padding:9px}.result-stats{padding:12px 0;margin:12px 0}.results-card{padding:22px}.results-card h2{font-size:25px}.result-actions{margin-top:12px}}
body[data-mode=practice] .hud-right>strong{font-size:23px}
@media(max-width:760px){body[data-mode=practice] .hud-right>strong{font-size:17px}}
@media(orientation:landscape) and (max-height:500px){.rounding-hint{margin-top:10px;padding:8px 10px}.rounding-hint p{font-size:9px;line-height:1.45;margin-bottom:23px}.question-actions{position:sticky;bottom:-12px;background:var(--panel);padding:7px 0 2px;margin-top:7px}.question-actions .rush-primary{min-height:34px;padding:8px 11px}}
/* Continuous driving and a live, selectable garage. */
.garage-backdrop{display:none}.garage-title{top:113px}.garage-title h1{font-size:clamp(54px,6.2vw,83px)}.garage-column{top:334px;width:335px}.vehicle-spec{bottom:105px;width:420px;max-width:44vw}.vehicle-spec>strong{font-size:25px}.vehicle-spec .car-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 0}.car-options button{position:relative;background:#111821b8;color:var(--text);border:1px solid var(--line);padding:12px 9px 10px;text-align:left;border-radius:var(--radius)}.car-options button[aria-pressed=true]{border-color:var(--amber);background:#f8c87719}.car-options b{display:block;font-size:11px;letter-spacing:.1px;border:0;padding:5px 0}.car-options small{display:block;font-size:7px;letter-spacing:1px;color:var(--muted)}.car-swatch{display:block!important;width:34px!important;height:6px!important;border-radius:2px!important;margin:0 0 5px!important}.car-swatch.silver{background:#b9c5ce}.car-swatch.blue{background:#2a6095}.car-swatch.red{background:#bb4237}.vehicle-spec .car-stats{display:block;font-size:8px;letter-spacing:.6px;line-height:1.8}.throttle-option{display:flex;align-items:center;gap:7px;color:var(--text);font-size:10px;margin-top:13px}.throttle-option input{accent-color:var(--amber)}.throttle-option span{margin-left:auto;color:var(--muted);font-size:8px}.garage-note{max-width:none}.question-card{width:390px;padding:16px 18px}.question-number{font-size:30px}.question-card h2{font-size:12px}.question-prompt{margin:9px 0 13px}.answer-lanes strong{font-size:19px}.answer-lanes button{padding:8px 10px}.question-actions{margin-top:11px}.question-actions p{font-size:8px;letter-spacing:.5px}.question-actions p span{font-size:8px;text-transform:none;letter-spacing:0}.question-actions>strong{font-size:17px;font-style:italic;color:var(--amber);white-space:nowrap}.drive-controls{position:absolute;z-index:9;left:calc(4vw + 410px);bottom:34px;display:flex;gap:6px;align-items:center}.drive-controls button{border:1px solid var(--line);background:#0b1119c9;color:var(--muted);border-radius:var(--radius);font-size:8px;padding:12px 9px;min-height:43px;touch-action:none;user-select:none}.drive-controls button.held{border-color:var(--amber);background:#f8c87733;color:var(--text)}.drive-controls .steering-buttons{display:flex;gap:6px}.steering-buttons button{font-size:18px;padding:6px 12px;min-width:42px}.drive-controls kbd{display:none}.race-notice{position:absolute;z-index:12;top:190px;left:50%;transform:translateX(-50%);background:#091119cc;border-left:2px solid var(--amber);padding:12px 18px;color:var(--amber);font-size:11px;letter-spacing:1.2px;max-width:80vw;text-align:center;pointer-events:none}.race-notice:empty{display:none}body[data-phase=results] .race-notice{display:none}.rounding-hint{margin-top:10px}.rounding-hint p{margin-bottom:24px}.answer-feedback{font-size:10px}#gate-distance{font-variant-numeric:tabular-nums}.question-number:empty{display:none}
@media(max-height:850px) and (min-width:761px){.garage-column{top:310px}.garage-title h1{font-size:65px}.garage-title{top:107px}.vehicle-spec{bottom:91px}.garage-note{font-size:9px}.throttle-option{margin-top:10px}.garage-column .circuit-options button{padding:7px 12px}}
@media(max-width:1100px) and (min-width:761px){.question-card{width:350px;padding:14px}.drive-controls{left:calc(4vw + 368px);bottom:32px;flex-wrap:wrap;max-width:160px;gap:5px}.drive-controls button{min-height:36px;padding:8px}.steering-buttons{width:100%}.drive-controls #drift-control{display:none}.vehicle-spec{width:360px}.car-options b{font-size:10px}.stage-bottom{width:180px}.question-number{font-size:28px}}
@media(max-width:760px){body[data-phase=garage] #main-content{min-height:1100px}body[data-phase=garage] .race-stage{height:455px}.garage-title{top:86px}.garage-title h1{font-size:55px}.garage-title .tagline{font-size:10px}.scene-shade{background:linear-gradient(90deg,#0a10185c,transparent 60%),linear-gradient(0deg,#0c1015 1%,transparent 30%,#0b101488 100%)}.vehicle-spec{top:350px;left:23px;right:23px;width:auto;max-width:none;bottom:auto;text-align:left}.vehicle-spec>span{display:none}.vehicle-spec>strong{display:block;margin:0 0 4px;font-size:15px}.vehicle-spec>p:not(.car-stats){display:none}.vehicle-spec .car-options{display:grid;margin-top:10px;gap:7px}.car-options button{padding:9px}.car-options b{font-size:10px}.car-options small{font-size:6px}.car-swatch{height:4px!important;width:28px!important;margin-bottom:2px!important}.vehicle-spec .car-stats{display:block;font-size:7px;margin:8px 0}.garage-column{top:515px;left:23px;right:23px;width:auto}.garage-column .circuit-options button{padding:10px 12px}.throttle-option span{font-size:7px}.garage-note{font-size:10px}.race-notice{top:156px;font-size:9px;padding:9px 10px;width:85%;max-width:85%;letter-spacing:.5px}.question-card{left:12px;right:12px;bottom:80px;width:auto;padding:11px 13px;max-height:calc(100svh - 440px)}.question-number{font-size:26px}.question-card h2{font-size:11px}.question-top .eyebrow{font-size:7px}.answer-lanes strong{font-size:17px}.answer-lanes small{font-size:6px;letter-spacing:.6px}.answer-lanes button{padding:7px 9px}.question-prompt{margin:5px 0 9px}.question-actions{margin-top:9px}.question-actions p{font-size:7px}.question-actions p span{font-size:7px}.question-actions>strong{font-size:15px}.stage-bottom{top:205px;right:17px;width:130px}.race-hud{top:82px}.speedometer>strong{font-size:44px}.drive-controls{left:12px;right:12px;bottom:14px;justify-content:space-between;gap:7px}.drive-controls button{min-height:49px;font-size:8px;padding:10px}.steering-buttons button{min-width:47px;font-size:22px}.drive-controls .steering-buttons{gap:7px}.drive-controls #drift-control{display:block}.rounding-hint p{font-size:9px}.question-actions{position:sticky;bottom:-11px;background:var(--panel);padding:6px 0 0}.garage-note{max-width:none}}
@media(max-width:760px) and (max-height:740px){.question-card{max-height:calc(100svh - 365px)}.stage-bottom{top:164px;width:110px}.speedometer>strong{font-size:36px}.race-notice{top:140px}.question-number{font-size:24px}}
@media(orientation:landscape) and (max-height:500px){.question-card{left:14px;bottom:13px;width:290px;max-height:calc(100svh - 70px);padding:10px 12px}.question-number{font-size:24px}.answer-lanes strong{font-size:15px}.answer-lanes button{padding:6px}.question-actions{bottom:-10px}.stage-bottom{top:auto;bottom:85px;width:135px}.drive-controls{left:auto;right:17px;bottom:14px;max-width:none}.drive-controls button{min-height:40px}.drive-controls .steering-buttons{width:auto}.drive-controls #drift-control{display:block}.race-notice{top:55px;width:auto;font-size:9px;max-width:45vw}.rounding-hint p{font-size:9px}.race-hud{top:55px}}
@media(min-width:761px){.vehicle-spec{padding:17px 18px 12px;background:linear-gradient(110deg,#0b1119dd,#0b1119b0);border:1px solid var(--line);backdrop-filter:blur(10px);bottom:81px}.vehicle-spec>strong{margin:8px 0}.vehicle-spec .car-options{margin-top:13px}.vehicle-spec .car-stats{margin-bottom:0}}
.drive-controls #drift-control{display:block}
/* Route navigation stays separate from the rounding panel and speedometer. */
.mini-map-card{position:absolute;z-index:5;top:198px;left:4vw;width:196px;padding:12px 13px 10px;background:linear-gradient(130deg,#0b1119e0,#0b1119a8);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px);pointer-events:none}
.map-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:1.6px;color:var(--muted)}
.map-heading span:last-child{color:var(--amber);font-size:9px;letter-spacing:.2px;text-align:right}
#mini-map{display:block;width:100%;height:157px;margin:6px 0}
#map-section{font-size:10px;line-height:1.4;margin:5px 0 7px;color:var(--text)}
.map-legend{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:6px;letter-spacing:.5px}
.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:5px;height:5px;display:inline-block;border-radius:50%}.map-player{background:var(--text)}.map-gate{background:var(--amber)}
@media(max-width:1100px) and (min-width:761px){.mini-map-card{top:180px;width:164px;padding:10px}#mini-map{height:125px}}
@media(max-width:760px){.mini-map-card{top:192px;left:14px;width:132px;padding:8px}#mini-map{height:99px;margin:4px 0}.map-heading{font-size:6px;letter-spacing:1px}.map-heading span:last-child{font-size:7px}#map-section{font-size:8px;margin:3px 0 5px}.map-legend{font-size:5px;letter-spacing:0}}
@media(max-width:760px) and (max-height:740px){.mini-map-card{top:169px;width:117px}#mini-map{height:84px}.map-legend{display:none}}
@media(min-width:761px) and (max-height:650px){.mini-map-card{top:155px;width:149px}#mini-map{height:105px}}
@media(orientation:landscape) and (max-height:500px){.mini-map-card{top:58px;left:318px;width:126px;padding:7px}#mini-map{height:85px}.map-legend{display:none}#map-section{font-size:7px;margin:3px 0 0}.map-heading{font-size:6px}.map-heading span:last-child{font-size:7px}}
/* Race classification and device records share a quiet motorsport treatment. */
.race-order{position:absolute;z-index:7;top:198px;right:4vw;width:172px;padding:10px 11px;background:linear-gradient(130deg,#0b1119e8,#0b1119b3);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px)}
.race-order-heading{display:flex;align-items:center;gap:7px;width:100%;border:0;background:transparent;color:var(--muted);padding:0;text-align:left;font-size:8px;letter-spacing:1.2px;min-height:22px}.race-order-heading b{color:var(--amber);font-size:10px;margin-left:auto;letter-spacing:.5px}.race-order-heading>span:last-child{font-size:11px;color:var(--text)}
.race-order-caption{margin:4px 0 6px;font-size:6px;letter-spacing:1.1px;color:var(--muted)}.race-order ol{margin:0;padding:0;list-style:none}.race-order li{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:5px;min-height:22px;font-size:9px;border-top:1px solid #ffffff09;font-variant-numeric:tabular-nums}.race-order li>span:first-child{color:var(--muted)}.race-order li>strong{font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-order li>span:last-child{font-size:8px;color:var(--muted)}.race-order li.is-player{color:var(--amber);background:#f8c87710;margin-inline:-5px;padding-inline:5px}.race-order li.is-player>span{color:var(--amber)}
.footer-actions{display:flex;align-items:center;gap:20px}.result-actions{flex-wrap:wrap}#run-record-message{color:var(--amber)}
.leaderboard-dialog{width:540px;max-width:calc(100vw - 28px);max-height:calc(100svh - 40px);margin:auto;padding:27px;background:#101821;color:var(--text);border:1px solid var(--line);border-top:3px solid var(--amber);border-radius:var(--radius);box-shadow:var(--shadow);overflow:auto}.leaderboard-dialog::backdrop{background:#060c14cc;backdrop-filter:blur(9px)}.leaderboard-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.leaderboard-header .eyebrow{margin:0}.leaderboard-header .rush-small{min-height:36px}.leaderboard-dialog h2{margin:15px 0 10px;font-size:36px;font-weight:700;font-style:italic;letter-spacing:-1px;text-transform:uppercase}.leaderboard-dialog>p{font-size:11px;line-height:1.7;color:var(--muted)}.leaderboard-tables{margin:22px 0}.leaderboard-dialog table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.leaderboard-dialog th{text-align:right;font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:500;padding:10px 8px}.leaderboard-dialog td{padding:12px 8px;text-align:right;font-size:13px;border-top:1px solid var(--line)}.leaderboard-dialog th:first-child,.leaderboard-dialog td:first-child{text-align:left;width:12%;color:var(--muted)}.leaderboard-dialog #race-board-table th:nth-child(2),.leaderboard-dialog #race-board-table td:nth-child(2){text-align:left}.leaderboard-dialog tr.is-player,.leaderboard-dialog tr.is-current-run{color:var(--amber);background:#f8c8770e}.leaderboard-dialog tr.is-player td:first-child,.leaderboard-dialog tr.is-current-run td:first-child{color:var(--amber)}.leaderboard-empty{border:1px solid var(--line);padding:25px 20px;font-size:13px;line-height:1.8;color:var(--muted)}.leaderboard-dialog .leaderboard-storage{font-size:10px;margin-bottom:0;border-top:1px solid var(--line);padding-top:15px}
@media(max-width:1100px) and (min-width:761px){.race-order{top:180px;right:4vw;width:164px}}
@media(min-width:761px) and (max-height:740px){.race-order{top:155px;right:25px;width:154px;padding:7px 9px}.race-order li{min-height:19px}.race-order-caption{margin:1px 0 4px}}
@media(max-width:760px){.race-order{top:169px;right:17px;width:130px;padding:5px 7px}.race-order ol,.race-order-caption{display:none}.race-order-heading{font-size:7px;letter-spacing:.6px;min-height:23px}.race-order-heading b{font-size:9px}.footer-actions{gap:15px}.leaderboard-dialog{padding:19px}.leaderboard-dialog h2{font-size:29px}.leaderboard-dialog th{font-size:7px;padding:9px 5px}.leaderboard-dialog td{padding:11px 5px;font-size:12px}.leaderboard-tables{margin:17px 0}}
@media(max-width:760px) and (max-height:740px){.race-order{top:279px;right:17px;width:110px;padding:3px 6px}.race-order-heading{min-height:22px;font-size:6px;gap:4px}.race-order-heading b{font-size:8px}}
@media(orientation:landscape) and (max-height:500px){.race-order{top:133px;right:22px;width:135px;padding:3px 7px}.race-order ol,.race-order-caption{display:none}.race-order-heading{font-size:7px;min-height:23px}.leaderboard-dialog{max-height:calc(100svh - 20px);padding:15px 22px}.leaderboard-dialog h2{font-size:27px;margin:8px 0}.leaderboard-tables{margin:10px 0}.leaderboard-dialog td{padding:8px}.leaderboard-dialog .leaderboard-storage{padding-top:10px}}

/* Keep the target number directly in the driver's sightline. */
.rounding-target{position:absolute;z-index:8;top:83px;left:50%;transform:translateX(-50%);width:310px;max-width:calc(100vw - 460px);padding:10px 22px 12px;background:linear-gradient(120deg,#0b1119e8,#0b1119a8);border:1px solid var(--line);border-bottom:2px solid var(--amber);border-radius:var(--radius);backdrop-filter:blur(10px);text-align:center;pointer-events:none}
.rounding-target .question-prompt{display:flex;flex-direction:column;gap:5px;margin:0}.rounding-target h2{margin:0;font-size:12px;font-weight:400;line-height:1.35;color:var(--muted)}.rounding-target .question-number{font-size:42px;line-height:1.05;color:var(--text);letter-spacing:-1px}.question-card .answer-lanes{margin-top:13px}.race-notice{top:185px;max-width:calc(100vw - 490px);font-size:10px}
.board-tabs{display:flex;gap:8px;margin:18px 0}.callsign-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.callsign-fields{display:grid;grid-template-columns:1fr 1fr 75px;gap:9px;margin-top:12px}.callsign-fields label{display:grid;gap:6px;color:var(--muted);font-size:9px;letter-spacing:.5px}.callsign-fields select{width:100%;min-width:0;min-height:37px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:8px;font-size:12px}.callsign-fields select:disabled{opacity:.7}.shared-board-controls p{font-size:10px;color:var(--muted);line-height:1.6}.shared-post-box{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.shared-post-box .rush-primary{width:100%;min-height:44px}.shared-post-box p{margin-bottom:0}.leaderboard-dialog .shared-personal{color:var(--amber);font-size:10px;border-left:2px solid var(--amber);padding-left:10px}.leaderboard-dialog #shared-board-table th:nth-child(2),.leaderboard-dialog #shared-board-table td:nth-child(2){text-align:left}.leaderboard-dialog #shared-board-table td{font-size:12px}.leaderboard-dialog #shared-board-table td:nth-child(2){min-width:120px}.leaderboard-dialog #shared-board-status{font-size:10px;line-height:1.6}
@media(max-width:1100px) and (min-width:761px){.rounding-target{max-width:calc(100vw - 420px);width:275px}.rounding-target .question-number{font-size:37px}.race-notice{max-width:calc(100vw - 395px)}}
@media(max-width:760px){body:is([data-phase=race],[data-phase=countdown]) #main-content,body[data-phase=results] #main-content{min-height:100svh}.race-hud{top:171px}.hud-left>strong{font-size:10px;margin:5px 0 8px}.hud-left>span{font-size:6px}.race-progress{width:135px}.hud-right>strong{font-size:23px;margin:2px 0}.hud-score{margin-top:4px}.rounding-target{top:72px;width:calc(100% - 40px);max-width:350px;padding:8px 14px 10px}.rounding-target .question-number{font-size:36px}.rounding-target h2{font-size:11px}.race-notice{top:230px;max-width:calc(100vw - 24px);width:auto;min-width:210px;font-size:8px;padding:7px 10px;margin:0}.mini-map-card{top:264px}.stage-bottom{top:279px}.race-order{top:385px;right:17px;width:130px}.question-card{bottom:80px;max-height:calc(100svh - 475px)}.question-card .answer-lanes{margin-top:9px}.leaderboard-dialog{width:560px}.leaderboard-dialog #shared-board-table td{font-size:10px}.leaderboard-dialog #shared-board-table td:nth-child(2){min-width:100px}.callsign-fields{grid-template-columns:1fr 1fr 65px;gap:6px}.callsign-heading .setup-label{font-size:8px;letter-spacing:1px}.callsign-fields select{font-size:11px}.leaderboard-dialog th{letter-spacing:.5px}}
@media(max-width:760px) and (max-height:740px){.race-hud{top:151px}.rounding-target{top:65px;padding:6px 13px 8px}.rounding-target .question-number{font-size:31px}.rounding-target h2{font-size:10px}.race-notice{top:212px}.mini-map-card{top:244px;width:113px;padding:7px}#mini-map{height:75px}.stage-bottom{top:254px;width:110px}.race-order{top:361px;width:110px;padding:3px 6px}.question-card{max-height:calc(100svh - 474px);padding:9px 11px}.question-top .rush-text{font-size:8px}.question-actions{margin-top:6px}.question-card .answer-lanes{margin-top:7px}.answer-lanes button{padding:5px 7px}.answer-lanes strong{font-size:16px;margin-top:4px}}
@media(orientation:landscape) and (max-height:500px){.rounding-target{top:55px;width:260px;max-width:calc(100vw - 365px);padding:6px 12px 8px}.rounding-target .question-number{font-size:29px}.rounding-target h2{font-size:10px}.race-hud{top:55px}.race-notice{top:137px;left:50%;width:240px;max-width:calc(100vw - 350px);font-size:8px;padding:7px 9px;margin:0}.mini-map-card{left:15px;top:57px;width:113px;padding:6px}#mini-map{height:64px}.map-heading{font-size:6px}#map-section{font-size:7px}.question-card{left:14px;right:auto;bottom:13px;width:290px;max-height:calc(100svh - 189px);padding:10px 12px}.stage-bottom{top:auto;bottom:85px;width:135px}.race-order{top:135px;right:22px;width:135px}.drive-controls{left:auto;right:17px;bottom:14px}.callsign-fields{grid-template-columns:1fr 1fr 75px}}
@media(orientation:landscape) and (max-height:500px){body:is([data-phase=race],[data-phase=countdown]) #main-content,body[data-phase=results] #main-content{min-height:100svh}}

/* Instruments follow the same engine and tire state as the sound and car. */
.engine-readout{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:8px;letter-spacing:1px;color:var(--muted);font-variant-numeric:tabular-nums}
#handling-state{color:var(--amber)}
.nitro-burn{grid-column:1/-1;height:3px;background:var(--line);overflow:hidden}
.nitro-burn i{display:block;width:100%;height:100%;background:var(--amber);transform-origin:left center;transition:transform .08s linear}
.audio-volume{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:16px 0 20px;color:var(--muted);text-align:left;font-size:11px}
.audio-volume output{color:var(--amber);font-variant-numeric:tabular-nums}
.audio-volume input{grid-column:1/-1;width:100%;margin:0;accent-color:var(--amber);cursor:pointer;min-height:24px}
.audio-volume input:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.pause-overlay .audio-volume{margin:0 0 18px}
.driver-help{max-height:calc(100svh - 115px);overflow:auto}
@media(max-width:760px){.engine-readout{font-size:6px;letter-spacing:.3px;margin-bottom:5px}.nitro-burn{height:2px}.pause-overlay h2{margin-top:10px}.pause-overlay p:not(.eyebrow){margin-bottom:18px}}
@media(min-width:761px) and (max-height:780px){body[data-phase=garage] #main-content{min-height:780px}.garage-column{top:286px}.garage-title{top:101px}.garage-title h1{font-size:60px}}
/* Garage paint controls use local cosmetic preferences only. */
.vehicle-spec .car-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.car-options button{min-height:68px}
.paint-customizer{margin-top:16px;padding-top:13px;border-top:1px solid var(--line);text-align:left}
.paint-customizer legend{float:left;width:100%;display:flex;justify-content:space-between;gap:12px;padding:0;margin-bottom:10px;font-size:8px;letter-spacing:1.4px;color:var(--muted)}
.paint-customizer legend span{color:var(--amber);letter-spacing:.5px}
.paint-options{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;clear:both}
.paint-options button{position:relative;height:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paint);box-shadow:inset 0 0 0 3px var(--bg)}
.paint-options button[aria-pressed=true]{outline:2px solid var(--amber);outline-offset:2px}
.paint-options button[aria-pressed=true]:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;font-size:16px;color:white;text-shadow:0 1px 3px black,0 0 3px black}
.paint-custom-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}
.paint-custom-row label{display:flex;align-items:center;gap:10px;color:var(--text);font-size:10px}
.paint-custom-row input{width:44px;height:30px;padding:2px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}
.paint-customizer input:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
.paint-customizer p{margin:6px 0 0;color:var(--dim);font-size:8px;letter-spacing:.2px}
.gate-info{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:7px;margin-bottom:8px}
.gate-info .eyebrow{font-size:8px;letter-spacing:1px}.gate-info strong{font-size:11px;font-weight:500;color:var(--amber);white-space:nowrap}
.race-notice{top:215px}
@media(min-width:761px){.vehicle-spec{bottom:75px}.vehicle-spec .car-options{margin-top:10px}.vehicle-spec>strong{font-size:23px;margin:7px 0}.vehicle-spec>p{margin:7px 0}}
@media(max-width:760px){body[data-phase=garage] #main-content{min-height:1310px}.vehicle-spec{top:350px}.garage-column{top:720px}.paint-customizer{margin-top:12px}.car-options button{min-height:62px}.paint-options button{height:32px}.gate-info{padding-bottom:6px;margin-bottom:6px}.gate-info .eyebrow{font-size:7px}.gate-info strong{font-size:10px}.race-hud{top:195px}.race-notice{top:254px}.mini-map-card{top:284px}.stage-bottom{top:294px}.race-order{top:413px}.question-card{max-height:calc(100svh - 500px)}}
@media(max-width:760px) and (max-height:740px){.race-hud{top:177px}.race-notice{top:236px}.mini-map-card{top:263px}.stage-bottom{top:274px}.race-order{top:382px}.question-card{max-height:calc(100svh - 493px)}}
@media(orientation:landscape) and (max-height:500px){.race-hud{top:55px}.race-notice{top:165px}.mini-map-card{top:57px}.stage-bottom{top:auto}.race-order{top:135px}.question-card{max-height:calc(100svh - 189px)}.gate-info{margin-bottom:5px;padding-bottom:5px}.gate-info .eyebrow{font-size:6px}.gate-info strong{font-size:9px}}
/* Answer-gate selection sits above the target, in one reading order. */
.rounding-target{width:360px;padding:10px 16px 12px;pointer-events:auto}
.rounding-target .question-top .eyebrow{font-size:8px;letter-spacing:1px}
.rounding-target .question-top .rush-text{font-size:8px;padding:3px 0}
.rounding-target .answer-lanes{margin:8px 0 12px;gap:7px}
.rounding-target .answer-lanes button{padding:7px 9px;text-align:left;min-height:51px}
.rounding-target .answer-lanes strong{font-size:19px;margin-top:4px}
.rounding-target .question-prompt{gap:4px}
.question-card .question-actions{margin-top:0}
.question-card .rounding-hint{margin-top:0}
.question-card .answer-feedback:not(:empty){margin-top:0;margin-bottom:10px}
.race-notice{top:292px}
@media(max-width:1100px) and (min-width:761px){.rounding-target{width:335px}.rounding-target .question-number{font-size:35px}}
@media(max-width:760px){.rounding-target{top:70px;width:calc(100% - 28px);max-width:365px;padding:8px 12px 10px}.rounding-target .question-top .eyebrow{font-size:7px}.rounding-target .answer-lanes{margin:6px 0 9px}.rounding-target .answer-lanes button{padding:6px 8px;min-height:45px}.rounding-target .answer-lanes strong{font-size:18px}.rounding-target .question-number{font-size:33px}.race-hud{top:280px}.race-notice{top:340px}.mini-map-card{top:370px}.stage-bottom{top:380px}.race-order{top:497px}.question-card{padding:10px 13px;max-height:calc(100svh - 594px)}}
@media(max-width:760px) and (max-height:740px){.rounding-target{top:63px;padding:6px 10px 8px}.rounding-target .answer-lanes{margin:5px 0 6px}.rounding-target .answer-lanes button{min-height:39px;padding:5px 7px}.rounding-target .answer-lanes strong{font-size:16px;margin-top:3px}.rounding-target .question-number{font-size:29px}.race-hud{top:252px}.race-notice{top:310px}.mini-map-card{top:338px}.stage-bottom{top:349px}.race-order{top:460px}.question-card{max-height:calc(100svh - 574px)}}
@media(orientation:landscape) and (max-height:500px){.rounding-target{top:53px;width:270px;max-width:calc(100vw - 365px);padding:5px 10px 7px}.rounding-target .question-top .eyebrow{font-size:6px}.rounding-target .answer-lanes{gap:5px;margin:5px 0 7px}.rounding-target .answer-lanes button{padding:4px 6px;min-height:36px}.rounding-target .answer-lanes strong{font-size:15px}.rounding-target .question-number{font-size:27px}.race-hud{top:55px}.race-notice{top:232px}.mini-map-card{top:57px}.stage-bottom{top:auto}.race-order{top:135px}.question-card{max-height:calc(100svh - 215px)}}
@media(max-width:760px) and (orientation:portrait){.mini-map-card{top:auto;bottom:154px}.stage-bottom{top:auto;bottom:182px}.race-order{top:auto;bottom:146px}}
@media(max-width:760px) and (max-height:740px) and (orientation:portrait){.mini-map-card{bottom:148px}.stage-bottom{bottom:178px}.race-order{bottom:142px}}
/* Open teaching feedback stays readable above secondary instruments. */
.question-card{z-index:10}
@media(max-width:760px) and (orientation:portrait){body:has(#rounding-hint:not([hidden])) .race-order{visibility:hidden}}
/* Seven choices fit in two rows, keeping the paint shop within the garage. */
.vehicle-spec .car-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.car-options button{padding:8px 6px;min-width:0}
.car-options b{font-size:10px;line-height:1.2}
.crash-status{position:absolute;z-index:9;left:50%;bottom:146px;transform:translateX(-50%);max-width:calc(100% - 36px);margin:0;padding:13px 20px;border:1px solid #ffaf73;border-left:4px solid #ffaf73;background:#261915ed;color:#ffe0c1;font-size:12px;font-weight:750;letter-spacing:1px;text-align:center;pointer-events:none;box-shadow:0 10px 30px #0007}
body[data-crash-state=protected] .crash-status{border-color:var(--amber);background:#17211fed;color:#e7f1e7}
@media(max-width:760px) and (orientation:portrait){.crash-status{bottom:auto;top:350px;width:calc(100% - 48px);font-size:10px;padding:10px 12px}.car-options b{font-size:9px}.car-options small{font-size:6px;letter-spacing:.4px}}
@media(max-width:760px) and (max-height:740px) and (orientation:portrait){.crash-status{top:317px}}
@media(orientation:landscape) and (max-height:500px){.crash-status{bottom:74px;padding:8px 14px;font-size:10px}}

/* A clear start signal above the stationary grid, with no flashing animation. */
.race-countdown{position:absolute;z-index:18;top:max(78px,11%);left:50%;transform:translateX(-50%);width:270px;max-width:calc(100vw - 32px);text-align:center;pointer-events:none;color:var(--text);padding:14px 18px 16px;background:linear-gradient(180deg,#0b1119e8,#0b11197a);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.race-countdown .eyebrow{margin:0 0 12px;font-size:9px;letter-spacing:2.5px;color:var(--muted)}
.start-lights{display:flex;justify-content:center;gap:13px}
.start-lights i{width:17px;height:17px;border-radius:50%;background:#252d38;border:2px solid #64707b}
.race-countdown[data-step="3"] .start-lights i:first-child,.race-countdown[data-step="2"] .start-lights i:nth-child(-n+2),.race-countdown[data-step="1"] .start-lights i{background:var(--red);border-color:var(--red)}
.race-countdown[data-step="go"] .start-lights i{background:var(--green);border-color:var(--green)}
#countdown-value{display:block;font-size:clamp(60px,8vw,80px);font-style:italic;font-weight:800;letter-spacing:-3px;line-height:1.05;margin:8px 0;color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 3px 12px #0008}
.race-countdown[data-step="go"] #countdown-value{color:var(--green)}
#countdown-help{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}
body[data-phase=countdown] .mini-map-card,body[data-phase=countdown] .race-order,body[data-phase=countdown] .hud-score{visibility:hidden}
@media(max-width:760px){.race-countdown{top:100px;width:240px;padding:12px 15px}#countdown-value{font-size:68px}}
@media(orientation:landscape) and (max-height:500px){.race-countdown{top:78px;left:18px;transform:none;width:180px;padding:8px 12px}.race-countdown .eyebrow{margin-bottom:7px;font-size:8px}.start-lights i{width:13px;height:13px}#countdown-value{font-size:52px;margin:5px 0}#countdown-help{font-size:9px}}

.damage-meter{margin-top:12px;font-size:9px;letter-spacing:1.2px;color:var(--muted)}.damage-meter>div:first-child{display:flex;justify-content:space-between;gap:8px}.damage-meter strong{color:var(--text);font-variant-numeric:tabular-nums}.damage-track{height:4px;margin-top:6px;background:#ffffff20;overflow:hidden}.damage-track i{display:block;width:100%;height:100%;background:var(--amber);transform:scaleX(0);transform-origin:left}.damage-meter[data-level=high] .damage-track i{background:var(--red)}.damage-meter[data-level=repair] .damage-track i{background:var(--green)}body[data-crash-state=repairing] .crash-status{border-color:var(--amber)}@media(max-width:760px),(orientation:landscape) and (max-height:500px){.damage-meter{font-size:7px;letter-spacing:.6px;margin-top:7px}.damage-track{margin-top:4px;height:3px}}

/* Earned boost guidance and named finish times. */
.nitro-reminder{grid-column:1/-1;margin:0;color:var(--amber);font-size:11px;line-height:1.4;text-align:center}
.nitro-reminder kbd{color:var(--text);font-weight:700}
.finish-name-form{margin:20px 0;padding:16px 0;border-block:1px solid var(--line)}
.finish-name-form label{display:block;color:var(--text);font-size:13px;font-weight:600;margin-bottom:10px}
.finish-name-fields{display:flex;gap:8px;flex-wrap:wrap}
.racer-name,.finish-name-fields input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:11px 12px;font:inherit;font-size:16px;min-width:0}
.racer-name{width:100%;margin-top:12px}
.finish-name-fields input{flex:1 1 150px;width:100%}
.finish-name-fields button{flex:1 1 160px;font-size:11px;padding:10px}
.finish-name-form p{color:var(--muted);font-size:11px;line-height:1.5;margin:10px 0 0}
.finish-name-form #finish-name-status{color:var(--green)}
.garage-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.garage-actions .start-button{margin-top:0;padding-inline:14px}
.home-leaderboard{min-height:52px;border-color:var(--amber);color:var(--amber);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:9px 7px;background:var(--panel)}
.home-leaderboard strong{font-size:13px;letter-spacing:.6px}
.home-leaderboard small{font-size:7px;letter-spacing:.2px;color:var(--text)}
.leaderboard-dialog{width:650px}
.board-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:9px;margin:18px 0}
.board-filters label{display:grid;gap:6px;font-size:11px;color:var(--muted)}
.board-filters select{min-width:0;width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:9px 7px;font:inherit;min-height:40px}
.leaderboard-tables{overflow-x:auto}
.leaderboard-dialog #shared-board-table{min-width:495px}
.leaderboard-dialog #shared-board-table td:last-child{font-size:10px;text-align:left}
#shared-last-race{margin:5px 0 10px;width:100%;color:var(--amber)}
@media(max-width:760px){.board-filters{grid-template-columns:1fr 1fr}.board-filters label:first-child{grid-column:1/-1}.board-filters select{font-size:16px}.garage-actions{gap:8px}.home-leaderboard strong{font-size:12px}}
.leaderboard-tables td:nth-child(2){overflow-wrap:anywhere;max-width:180px}
@media(max-width:760px){.nitro-reminder{font-size:9px;line-height:1.35}.finish-name-form{padding:12px 0}}
/* Keep gate instructions close to the top, leaving the road ahead visible. */
:root{--gate-panel:linear-gradient(120deg,#0b111966,#0b111933);--gate-answer:#111c2826;--gate-text-shadow:0 1px 3px var(--bg),0 0 5px var(--bg)}
.rounding-target{top:68px;padding-top:8px;padding-bottom:10px;background:var(--gate-panel);backdrop-filter:none;text-shadow:var(--gate-text-shadow)}
.rounding-target .answer-lanes button{background:var(--gate-answer);text-shadow:var(--gate-text-shadow)}
.rounding-target .answer-lanes button[aria-pressed=true]{background:#f8c87717}
.rounding-target .answer-lanes button.correct{background:#bcddb018}
.rounding-target .gate-info{padding-bottom:5px;margin-bottom:5px}
.rounding-target .answer-lanes{margin:5px 0}
.rounding-target .question-prompt{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}
.rounding-target h2{text-align:left;max-width:155px}
.race-notice{top:241px}
@media(min-width:1280px) and (min-height:501px){
  .rounding-target{top:8px;z-index:11}
  .race-notice{top:181px}
}
@media(max-width:760px) and (orientation:portrait){
  body:is([data-phase=race],[data-phase=countdown]) .rush-topbar{height:48px}
  .rounding-target{top:52px;padding-top:6px;padding-bottom:8px}
  .rounding-target h2{max-width:145px}
  .race-hud{top:216px}
  .race-notice{top:276px}
}
@media(max-width:760px) and (max-height:740px) and (orientation:portrait){
  .rounding-target{top:52px}
  .race-hud{top:204px}
  .race-notice{top:264px}
}
@media(orientation:landscape) and (max-height:500px){
  .rounding-target{top:53px;padding-top:5px;padding-bottom:7px}
  .rounding-target .question-prompt{gap:8px}
  .rounding-target h2{max-width:125px}
  .race-notice{top:196px}
}
