@import url('data:text/css,');
:root{--acid:#dcff51;--cyan:#49e8ff;--ink:#070b13;--muted:#93a0af}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:#f4f6f8;font-family:Arial,Helvetica,sans-serif;overflow:hidden}button,select{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--acid);outline-offset:4px}#game,#vignette{position:fixed;inset:0;width:100%;height:100%;display:block}#vignette{pointer-events:none;background:linear-gradient(90deg,rgba(4,8,15,.95),rgba(4,8,15,.12) 65%),linear-gradient(0deg,rgba(4,8,15,.7),transparent 35%);transition:opacity .5s}body.racing #vignette{opacity:0}#menu{position:relative;height:100dvh;padding:32px 4.5%;display:grid;grid-template-columns:1fr 450px;grid-template-rows:64px 1fr 40px;gap:18px}header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:start}.brand{font-size:20px;font-weight:950;letter-spacing:-1px;color:white;text-decoration:none}.brand span{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:var(--muted)}.edition{text-align:right;font-size:11px;letter-spacing:3px}.edition b{color:var(--acid)}.edition small{display:block;font-size:8px;color:var(--muted);margin-top:7px;letter-spacing:1px}.intro{align-self:center;margin-top:-50px}.eyebrow{font-size:10px;letter-spacing:4px;color:var(--acid);font-weight:700}h1{font-size:clamp(80px,10vw,170px);line-height:.79;letter-spacing:-10px;margin:30px 0;transform:skew(-9deg);font-weight:950}h1 span{display:block;color:var(--acid)}h1 i{font-size:.65em;position:absolute;top:0;left:2.6em;font-style:normal;color:var(--acid)}.tagline{color:#afbac8;font-size:16px;line-height:1.6}.setup{align-self:center;background:rgba(6,12,22,.78);border:1px solid #ffffff20;backdrop-filter:blur(16px);padding:24px;box-shadow:0 20px 80px #0005}.selectheading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:var(--muted);margin-bottom:12px}.selectheading span:last-child{color:var(--cyan);font-size:8px}.choices{display:flex;gap:6px;margin-bottom:15px}.choices button{flex:1;text-align:left;background:#ffffff05;border:1px solid #ffffff16;padding:12px 9px;font-size:13px;font-weight:800;transition:.2s}.choices button b{display:block;color:var(--muted);font-size:9px;margin-bottom:12px}.choices button span{display:block;font-size:7px;letter-spacing:.8px;margin-top:7px;font-weight:400;color:var(--muted)}.choices button.selected{border-color:var(--acid);background:#dcff5110}.choices button.selected b{color:var(--acid)}#stats{display:flex;gap:14px;padding:4px 0 22px;font-size:8px;color:#a4aebb;letter-spacing:1px}#stats i{display:block;background:var(--acid);height:2px;margin-top:5px}.tracks button{font-size:10px;padding:13px 8px}.options{font-size:10px;display:flex;justify-content:space-between;gap:10px;align-items:center;margin:20px 0}.options label{display:flex;gap:7px;align-items:center;color:var(--muted)}select{background:#111b29;border:1px solid #ffffff20;color:white;padding:7px;font-size:10px}input{accent-color:var(--acid)}#start{display:flex;justify-content:space-between;width:100%;background:var(--acid);color:#101608;padding:19px 18px;border:0;font-size:13px;letter-spacing:1px;font-weight:900}#start:hover{background:white}#record{font-size:9px;letter-spacing:1px;color:var(--muted);margin:14px 0 0}footer{grid-column:1/-1;display:flex;align-items:center;gap:20px;font-size:8px;letter-spacing:1px;color:var(--muted)}footer span{margin-right:auto}footer button{background:none;border:none;font-size:9px;color:#d9e0e9}#hud{position:fixed;inset:0;padding:26px 34px;pointer-events:none}#hud button{pointer-events:auto}.hudtop{display:flex;justify-content:space-between}.hudtop small,.hudbottom small{font-size:9px;letter-spacing:2px;color:#bbcadb;display:block}.hudtop b{display:block;font-size:54px;font-style:italic}.hudtop b span{font-size:19px;color:var(--muted)}.lapbox{text-align:center}.lapbox b{font-size:26px}.lapbox>span{font-size:13px;letter-spacing:2px}#pause{border:1px solid #ffffff40;background:#0b1425aa;width:40px;height:40px}#map{position:absolute;top:115px;right:22px;background:#07101b77;border-radius:8px}.hudbottom{position:absolute;bottom:30px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:end}.weapon b{display:block;font-size:20px;margin:8px 0;color:var(--cyan)}.weapon>span{font-size:8px;color:var(--muted)}.bar{height:4px;width:180px;background:#ffffff25;margin:12px 0 8px}.bar i{display:block;height:100%;width:100%;background:var(--cyan)}#boostbar{background:var(--acid)}.speed{text-align:right}.speed b{font-size:70px;font-weight:900;font-style:italic;line-height:1}.speed>span{font-size:9px;margin-left:7px}.speed .bar{margin-left:auto}#event{position:absolute;top:30%;left:0;right:0;text-align:center;font-size:18px;letter-spacing:5px;color:var(--acid);font-weight:800;text-shadow:0 2px 20px #000;transition:opacity .3s}#countdown{position:absolute;inset:34% 0 auto;text-align:center;font-size:110px;font-weight:950;font-style:italic;text-shadow:0 0 60px var(--cyan)}#overlay{position:fixed;inset:0;background:#030813c9;backdrop-filter:blur(14px);place-items:center;z-index:5}#overlay:not([hidden]){display:grid}#overlay>div{width:min(480px,90vw);text-align:center}h2{font-size:38px;letter-spacing:-2px}#overlay button,dialog button{display:block;width:100%;padding:15px;margin:10px 0;background:#152031;border:1px solid #ffffff25;font-size:12px;font-weight:bold}#resume,dialog button{background:var(--acid)!important;color:#0b1307}#overlayText{line-height:1.8;font-size:13px;color:#c2cfde}dialog{background:#0a111e;color:white;border:1px solid #ffffff40;max-width:600px;padding:30px;line-height:1.9;font-size:13px}dialog::backdrop{background:#000a}#touch{display:none}#fatal{position:fixed;inset:20%;background:#171e2b;padding:40px;z-index:20;line-height:1.8}[hidden]{display:none!important}@media(pointer:coarse){#touch{display:flex;position:absolute;bottom:18px;left:16px;right:16px;gap:9px;pointer-events:auto}#touch button{touch-action:none;user-select:none;width:60px;height:55px;border:1px solid #a6ddff66;background:#101d35a9;border-radius:12px;font-weight:bold;font-size:12px}#touch button:nth-child(3){margin-left:auto}#touch button:nth-child(5){background:#dcff5133} .hudbottom{bottom:92px}.speed b{font-size:48px}}@media(max-width:900px){#menu{padding:20px;grid-template-columns:1fr 390px;gap:12px}.setup{padding:16px}h1{font-size:100px;letter-spacing:-6px}.intro .tagline{font-size:12px}footer span{max-width:180px;line-height:1.6}.options{font-size:8px;gap:2px}#map{width:120px;height:95px}}@media(max-width:650px){#menu{overflow:auto;grid-template-columns:1fr;grid-template-rows:48px auto auto auto;height:100dvh;gap:16px}.intro{margin:0;display:flex;align-items:center;gap:25px}.intro .eyebrow{display:none}h1{font-size:66px;margin:12px 0;letter-spacing:-4px}h1 i{display:none}.tagline{margin-left:auto}.setup{align-self:start}.choices button b{margin-bottom:7px}.setup .options{margin:12px 0}#stats{padding-bottom:15px}#start{padding:15px}footer{gap:10px;font-size:7px}footer span{font-size:6px}footer button{font-size:8px}#hud{padding:16px}.hudtop b{font-size:38px}.hudbottom{left:16px;right:16px}.weapon b{font-size:14px}.bar{width:120px}#touch{gap:5px}#touch button{width:49px;height:50px;font-size:10px}.hudtop small{font-size:8px}#event{font-size:12px;letter-spacing:2px}.edition{font-size:9px}.brand{font-size:16px}}
@media(max-height:600px) and (min-width:651px){#menu{overflow:auto;grid-template-rows:45px auto 28px;gap:12px;padding:16px 4%}.intro{margin:0}.setup{padding:14px}h1{font-size:92px}.choices{margin-bottom:10px}.choices button b{margin-bottom:5px}#stats{padding-bottom:14px}.options{margin:12px 0}#start{padding:14px}}

.tracks{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tracks button{padding:12px;font-size:11px}.tracks button span{font-size:8px}#trackDescription{color:#adbccc;font-size:10px;line-height:1.6;margin:0 0 12px;min-height:32px}#menu{overflow:auto}.setup{margin-block:10px}@media(max-height:750px) and (min-width:651px){#menu{grid-template-rows:48px auto 28px;gap:8px;padding-block:18px}.setup{padding:17px}.choices button b{margin-bottom:6px}.tracks button{padding:10px}#stats{padding-bottom:15px}.options{margin:12px 0}#start{padding:15px}}

/* Race feedback and an actual two-handed mobile layout. */
#status{position:absolute;top:22%;left:0;right:0;text-align:center;color:var(--cyan);font-size:11px;letter-spacing:2px;text-shadow:0 2px 6px #000}#status.danger{color:#ff668e}
#leaders{position:absolute;top:135px;left:34px;width:155px;font-size:10px;background:#07111c77;padding:8px;border-left:2px solid #ffffff30}
#leaders>div,#results>div{display:flex;align-items:center;gap:12px;padding:7px 2px;border-bottom:1px solid #ffffff13}#leaders b{color:#96a8ba}#leaders small{margin-left:auto;color:#95a7b9;font-size:9px}.you{color:var(--acid)}
#driftGauge{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);text-align:center;min-width:190px}#driftGauge .bar{width:190px;margin:10px auto}#driftbar{width:0}#driftLabel{font-size:8px;letter-spacing:1px;color:#d0dbe4}
#results{max-height:240px;overflow:auto;margin:18px 0;font-size:11px;text-align:left}#results>div{padding:7px 10px;background:#ffffff04}#results strong{margin-left:auto;font-size:10px}#results>div>span:nth-child(3){color:#9aafc5;font-size:9px}#overlay{overflow:auto;padding:24px 0}#overlayTitle{margin:12px 0}#overlayText{font-size:12px}
@media(pointer:coarse){#touch{justify-content:space-between;align-items:end;gap:16px;pointer-events:none;bottom:max(14px,env(safe-area-inset-bottom))}#touch>div{pointer-events:auto}#touch .steering-controls{display:flex;gap:10px}#touch .action-controls{display:grid;grid-template-columns:repeat(3,54px);gap:7px}#touch button{margin:0!important;width:54px;height:46px;border-radius:12px;background:#11223dce;font-size:10px;border-color:#bbd4ed66}#touch .steering-controls button{width:64px;height:65px;font-size:20px}#touch [data-key="KeyX"]{background:#24cfff30}#touch [data-key="ShiftLeft"]{background:#dcff5133}#touch [data-key="KeyC"]{background:#11223dce}.hudbottom{bottom:135px}#driftGauge{bottom:135px;min-width:112px}#driftGauge .bar{width:112px}#driftLabel{font-size:7px;letter-spacing:.2px;display:block;max-width:120px}#leaders{display:none}}
@media(max-width:650px){#status{top:24%;font-size:9px}#driftGauge{min-width:100px}#driftGauge .bar{width:100px}.hudbottom .weapon{max-width:115px}.hudbottom .weapon small{font-size:7px;letter-spacing:.8px}.speed .bar{width:100px}.speed b{font-size:40px}.weapon b{font-size:12px}#results{max-height:190px}.hudtop{padding-top:env(safe-area-inset-top)}}
@media(max-height:480px){#map{top:80px;width:100px;height:78px}.hudtop b{font-size:32px}.lapbox b{font-size:20px}#event{top:35%}#status{top:25%}.hudbottom{bottom:125px}#driftGauge{bottom:125px}}
#touch button.pressed{background:#3a5b7de8!important;border-color:var(--cyan);box-shadow:0 0 16px #49e8ff33;transform:scale(.96)}
@media(pointer:coarse){#touch{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}}
@media(max-width:380px){#touch{left:10px;right:10px;gap:8px}#touch .steering-controls{gap:8px}#touch .steering-controls button{width:58px}#touch .action-controls{grid-template-columns:repeat(3,49px);gap:6px}#touch button{width:49px}}

#inspect{width:100%;display:flex;justify-content:space-between;background:#101e2cbb;border:1px solid #7dd4ff50;color:#b5e6ff;padding:11px 12px;font-size:9px;letter-spacing:1.4px;margin:-7px 0 19px}#inspect:hover{border-color:var(--cyan);color:white}
#inspector{position:fixed;inset:0;padding:30px 4%;pointer-events:none;background:linear-gradient(180deg,#020915a1,transparent 28%,transparent 75%,#020915b8);z-index:2}#inspector button{pointer-events:auto;background:#071422ba;border:1px solid #c5e6ff50;padding:13px 17px;font-size:10px;letter-spacing:1px}#inspector header{display:flex;justify-content:space-between;align-items:start}#inspector header button{margin-top:7px}#inspector h2{font-size:60px;font-style:italic;letter-spacing:-3px;margin:9px 0}#inspectionRole{font-size:12px;color:#bed0de}#inspector .inspectFeatures{position:absolute;right:4%;top:40%;display:grid;gap:15px;text-align:right;font-size:9px;letter-spacing:1px;color:#b0c9d9}#inspector .inspectFeatures span{border-right:2px solid var(--cyan);padding-right:12px}#inspector footer{position:absolute;bottom:28px;left:4%;right:4%;display:flex;justify-content:space-between}#inspector footer p{font-size:10px;letter-spacing:.6px;color:#d1e7f4;margin:0}#inspector footer>div{display:flex;gap:8px}body.inspecting #game{touch-action:none;cursor:grab}body.inspecting #game:active{cursor:grabbing}body.inspecting #vignette{opacity:0}
@media(max-width:650px){#inspector{padding:20px}#inspector h2{font-size:42px}#inspectionRole{font-size:10px;max-width:200px}#inspector .inspectFeatures{display:none}#inspector footer{bottom:max(24px,env(safe-area-inset-bottom));left:20px;right:20px;gap:7px;flex-wrap:wrap}#inspector footer p{order:3;width:100%;text-align:center;font-size:9px;margin-top:14px}#inspector footer>div:last-child{margin-left:auto}#inspector header .eyebrow{font-size:7px;letter-spacing:2px}}

.gyroPanel{margin:0 0 16px;padding:12px;border:1px solid #5ac8ff30;background:#11203377}.gyroButtons{display:flex;gap:8px}.gyroButtons button{background:#152b3d;border:1px solid #7cdcff50;padding:10px;color:#c2efff;font-size:9px;font-weight:bold;letter-spacing:.8px}#gyroToggle{flex:1}.gyroPanel button:disabled{opacity:.45;cursor:default}.gyroPanel p{font-size:9px;line-height:1.6;color:#abc2d2;margin:9px 0}.gyroPanel summary{font-size:9px;color:#b7d1e4;cursor:pointer}.gyroSettings{display:grid;gap:8px;padding-top:12px;font-size:10px;color:#c0d3e2}.gyroSettings>label:first-child{display:flex;justify-content:space-between}.gyroSettings input[type=range]{width:100%;accent-color:var(--cyan)}.gyroSettings input[type=checkbox]{vertical-align:middle}body.gyro-enabled #gyroToggle{border-color:var(--cyan);color:var(--cyan)}#gyroRaceTools{position:absolute;left:50%;top:96px;transform:translateX(-50%);display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:1px;color:var(--cyan);background:#071323b0;padding:5px 8px;border:1px solid #5ad6ff40;pointer-events:auto}#gyroRaceTools button{background:none;border:1px solid #7cdcff60;font-size:8px;padding:7px 9px}#menu .setup{margin-block:18px}@media(max-height:600px){#gyroRaceTools{top:75px}.gyroPanel{padding:9px;margin-bottom:12px}.gyroPanel p{margin:6px 0}}@media(max-width:650px){#gyroRaceTools{top:90px;white-space:nowrap;font-size:7px;gap:5px}.gyroButtons button{font-size:8px}.gyroPanel p{font-size:9px}}

.trackPicker,.leaguePicker{display:flex;align-items:center;gap:10px;color:#abc0d0;font-size:9px;letter-spacing:1px;margin:12px 0}.trackPicker select,.leaguePicker select{flex:1;min-width:0;padding:11px;font-weight:bold}#trackMusic{font-size:8px;color:var(--cyan);letter-spacing:1px;margin:8px 0 12px}.careerBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #ffffff20;padding-top:14px;margin-top:15px;font-size:9px}.careerBar b{margin-left:auto;color:var(--acid);font-size:14px}.careerBar small{width:100%;color:#a0b2c4;font-size:8px}.menuActions{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:6px;margin-top:12px}.menuActions button{background:#16283a;border:1px solid #7ccfff40;padding:12px 5px;font-size:9px;font-weight:bold}.raceMenu{display:flex;gap:7px}#raceOptions{width:40px;height:40px;background:#0b1425aa;border:1px solid #ffffff40}.hubDialog{width:min(720px,94vw);max-height:88dvh;overflow:auto;padding:24px}.hubDialog header{display:flex;justify-content:space-between;align-items:center;gap:14px}.hubDialog header h2{font-size:27px;letter-spacing:-1px;margin:0 0 12px}.hubDialog header button{width:auto;font-size:9px;padding:10px;margin:0}.hubDialog>label{display:block;margin:18px 0;font-size:12px}.hubDialog label select,.hubDialog label input:not([type=checkbox]){display:block;width:100%;margin-top:8px}.hubDialog input:not([type=range],[type=checkbox]){background:#152336;color:white;border:1px solid #ffffff30;padding:12px;font-size:14px}.hubDialog input[type=range]{accent-color:var(--cyan)}.hubDialog output{float:right;color:var(--cyan)}.hubDialog p{font-size:11px;line-height:1.7;color:#a9bdce}.hubDialog button{border-color:#78c8ff40}.hubDialog button:disabled{opacity:.4;cursor:default}#upgradeCards{display:grid;grid-template-columns:1fr 1fr;gap:12px}#upgradeCards article{border:1px solid #ffffff25;background:#132030;padding:15px}#upgradeCards h3{font-size:13px;margin:0 0 5px}#upgradeCards article span{font-size:9px;color:var(--cyan)}.upgradeLevels{display:flex;gap:5px;margin:14px 0}.upgradeLevels i{height:5px;flex:1;background:#ffffff22}.upgradeLevels i.filled{background:var(--acid)}#upgradeCards button{font-size:10px;padding:12px}#shopWallet,#raceReward{color:var(--acid);font-size:18px;font-weight:bold}.accountActions{display:flex;gap:8px;flex-wrap:wrap}.accountActions button{width:auto;flex:1;min-width:150px}.boardFilters{display:flex;flex-wrap:wrap;gap:8px}.boardFilters select{flex:1;min-width:120px;padding:10px}.hubDialog table{width:100%;font-size:11px;text-align:left;border-collapse:collapse}.hubDialog td,.hubDialog th{padding:10px 7px;border-bottom:1px solid #ffffff20}#scoreCounter{position:absolute;top:75px;left:34px;font-size:9px;pointer-events:none}#scoreCounter b{font-size:23px;color:var(--acid);margin-right:6px}#scoreCounter span{display:block;color:#e4dba8;font-size:8px;margin-top:3px}#leaders{top:150px}#syncState{font-size:10px;color:#adc2d3}
@media(max-width:650px){.hubDialog{padding:18px}.hubDialog header h2{font-size:23px}#upgradeCards{grid-template-columns:1fr}.hubDialog table{font-size:10px}#scoreCounter{top:68px;left:16px}#scoreCounter b{font-size:20px}#scoreCounter span{font-size:7px;max-width:115px}#gyroRaceTools{top:105px}#menu .setup{margin-block:0}.menuActions button{font-size:8px}}@media(max-height:480px){#scoreCounter{top:65px}#gyroRaceTools{top:95px}}
/* v3: one clear menu, then one dedicated race preparation screen. */
#menu{grid-template-columns:minmax(280px,1fr) minmax(380px,490px);grid-template-rows:56px 1fr auto;max-width:1600px;margin:auto;padding:28px 5%;gap:24px;overflow:auto}#menu .intro{margin:0;align-self:center}#menu h1{font-size:clamp(96px,11vw,170px)}.homePanel{align-self:center;background:linear-gradient(145deg,#0d1a29ed,#07111ce8);border:1px solid #8bb6d334;border-radius:16px;padding:26px;box-shadow:0 24px 90px #0005;backdrop-filter:blur(18px)}.homePanel h2{font-size:32px;letter-spacing:-1px;margin:8px 0 12px}.homeDescription{color:#b1c3d4;line-height:1.7;font-size:14px;margin:0 0 20px}.mainNavigation{display:grid;gap:8px}.mainNavigation button{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;padding:16px 18px;border:1px solid #84c5e72c;background:#142435;border-radius:9px;min-height:65px}.mainNavigation button:hover{border-color:var(--cyan);background:#1a3145}.mainNavigation b{display:block;font-size:17px}.mainNavigation small{display:block;font-size:11px;color:#b5c7d8;margin-top:5px;line-height:1.4}.mainNavigation i{font-style:normal;color:var(--cyan);font-size:17px}.mainNavigation .primaryAction{background:var(--acid);border-color:var(--acid);color:#101805;min-height:76px}.mainNavigation .primaryAction:hover{background:#ecffac}.primaryAction small,.primaryAction i{color:#34451b}.careerBar{font-size:12px;padding-top:18px;margin-top:20px}.careerBar small{font-size:11px}.setupTitle{display:flex;align-items:center;gap:16px;margin-bottom:24px}.setupTitle h2{font-size:25px;letter-spacing:-.8px;margin:0}.setupTitle button{border:1px solid #a2cee53f;background:#142635;padding:11px;font-size:11px;white-space:nowrap}#menu .setup{border-radius:16px;padding:24px;margin:0;align-self:start}.selectheading{font-size:12px;letter-spacing:1px}.selectheading span:last-child{font-size:10px}.choices button{font-size:15px;padding:14px 10px}.choices button span{font-size:10px}.choices button b{font-size:11px;margin-bottom:9px}#stats{font-size:10px;padding-bottom:17px}#trackDescription{font-size:12px;line-height:1.6}.trackPicker,.leaguePicker{font-size:11px}.trackPicker select,.leaguePicker select{font-size:12px}.options{font-size:12px;gap:12px;flex-wrap:wrap}.options select{font-size:12px}#start{font-size:15px;padding:18px}.drivingDetails{border:1px solid #75c9e833;border-radius:7px;margin:16px 0}.drivingDetails>summary{padding:13px;color:#bed4e5;font-size:12px;cursor:pointer}.drivingDetails .gyroPanel{margin:0;border:0;border-top:1px solid #75c9e82a}.gyroPanel p,.gyroPanel summary,.gyroButtons button{font-size:11px}.musicPreview{display:flex;align-items:center;gap:12px;justify-content:space-between}#trackMusic{font-size:10px;line-height:1.5;letter-spacing:.5px}.musicPreview button{background:#173448;border:1px solid #75c9e84a;border-radius:5px;color:#cff4ff;padding:10px;font-size:10px;white-space:nowrap}#musicStatus{font-size:11px;color:#b8cfdd;margin:0}#record{font-size:10px;line-height:1.5}#menu footer{font-size:10px;flex-wrap:wrap;gap:14px}#menu footer button{font-size:11px;min-height:40px}#menu footer span:last-of-type{margin-right:auto}#raceHelp{width:40px;height:40px;background:#0b1425aa;border:1px solid #ffffff40;font-weight:bold;font-size:20px}#fatal{inset:auto 16px 16px;max-width:620px;margin:auto;padding:15px 20px;border:1px solid #f5b47166;border-radius:8px;font-size:13px;z-index:4;background:#2c1e15ec;pointer-events:none}
.helpDialog{width:min(840px,95vw);max-width:none;font-size:14px;line-height:1.7;border-radius:12px}.helpDialog header{position:sticky;top:-24px;background:#0a111ef5;padding:12px 0;z-index:1}.helpDialog header h2{font-size:31px;margin:0}.helpDialog header .eyebrow{margin:0 0 4px;font-size:10px}.helpDialog p,.helpDialog li{font-size:14px;color:#bbccdb;line-height:1.8}.helpDialog b{color:#f1f6fa}.helpDialog .helpLead{font-size:16px;color:#dce9f4}.firstRace{border:1px solid #dcff5144;background:#dcff510a;border-radius:8px;padding:18px 20px;margin:20px 0}.firstRace h3{color:var(--acid);margin:0 0 10px;font-size:17px}.firstRace ol{margin:0;padding-left:21px}.firstRace li+li{margin-top:9px}.helpDialog details{border-top:1px solid #ffffff24}.helpDialog summary{cursor:pointer;padding:18px 4px;font-size:15px;font-weight:bold;color:#d9efff}.helpContent{padding:0 4px 18px}.helpDialog table{font-size:13px}.helpDialog table th{color:var(--cyan)}.helpDialog table td{padding:10px 7px}.pickupGuide{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.pickupGuide article{padding:14px;border:1px solid #ffffff25;background:#122236;border-radius:7px}.pickupGuide article p{font-size:12px;margin-bottom:0}.hubDialog header button{background:#1e3448!important;color:#eff8ff}body:has(dialog[open]) #fatal{display:none}
@media(max-width:800px){#menu{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;padding:20px;gap:20px}#menu header{grid-column:1}#menu .intro{display:flex;align-items:center;justify-content:space-between;gap:20px}#menu .intro .eyebrow{display:none}#menu h1{font-size:76px;letter-spacing:-5px;margin:14px 0}#menu h1 i{display:none}#menu .tagline{font-size:13px}.homePanel{width:100%;max-width:560px;justify-self:center;padding:23px}#menu.preparing .intro{display:none}#menu .setup{width:100%;max-width:600px;justify-self:center;padding:22px}.setupTitle{margin-bottom:20px}.helpDialog{padding:18px}.helpDialog header{top:-18px}.pickupGuide{grid-template-columns:1fr}.helpDialog header h2{font-size:27px}#menu footer span:last-of-type{display:none}}@media(max-height:650px) and (min-width:801px){#menu{padding-block:18px;grid-template-rows:45px auto auto;gap:16px}.homePanel{padding:20px}.homePanel .homeDescription{display:none}.mainNavigation{gap:6px}.mainNavigation button{padding:12px 15px;min-height:54px}.mainNavigation small{font-size:10px}.mainNavigation .primaryAction{min-height:62px}.careerBar{margin-top:12px;padding-top:12px}#menu h1{font-size:100px}.homePanel h2{font-size:26px}}@media(max-width:380px){#menu{padding:14px}.homePanel,#menu .setup{padding:17px}.mainNavigation button{padding:14px}.homePanel h2{font-size:28px}.choices button{font-size:12px}.choices button span{font-size:8px}.setupTitle{gap:10px}.setupTitle h2{font-size:22px}.trackPicker,.leaguePicker{display:block}.trackPicker select,.leaguePicker select{width:100%;margin-top:7px}.musicPreview{align-items:start}.helpDialog p,.helpDialog li{font-size:13px}}

/* Keep native selection, image dragging and long-press callouts out of racing. */
body.racing #game,body.racing #hud,body.racing #overlay,body.racing #vignette{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
body.racing #game,body.racing #hud,body.racing #touch,body.racing #touch button{touch-action:none}
body.racing{overscroll-behavior:none}
input,textarea,[contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;touch-action:auto}
.paintPicker{margin:0 0 18px}.paintPicker>label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#bfd1df}.paintPicker input{width:55px;height:35px;background:#172637;border:1px solid #ffffff40;padding:3px}.paintSwatches{display:flex;gap:8px;margin-top:10px}.paintSwatches button{background:var(--paint);width:29px;height:29px;border:2px solid #ffffff55;border-radius:50%;padding:0;min-width:0}.paintSwatches button:hover{outline:2px solid white;outline-offset:2px}.ghostChoice{display:flex;align-items:center;gap:9px;font-size:13px;margin-top:15px;color:#bfe8f5}.guestNotice{font-size:11px;line-height:1.7;color:#afc2d3;margin:9px 0}#ghostHud{position:absolute;top:115px;left:50%;transform:translateX(-50%);font-size:12px;color:#93f0ff;background:#071827bd;border:1px solid #74dbff44;border-radius:6px;padding:8px 12px}#accountMode{font-size:11px}@media(max-width:650px){#ghostHud{top:145px;font-size:10px;white-space:nowrap}}
#coursePreview{width:100%;height:145px;display:block;background:#081723;border:1px solid #74dfff29;border-radius:7px;margin:10px 0}

/* Account access and visual language choice on the first screen. */
.welcomeControls{border-block:1px solid #94bbd62b;padding:15px 0;margin:16px 0 18px;display:grid;gap:15px}.homeAccountButton{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 14px;border:1px solid #74dfff65;border-radius:8px;background:#163448;color:#e2f7ff;text-align:left;font-size:13px;font-weight:700;line-height:1.4}.homeAccountButton>svg{width:19px;height:19px;flex:none;color:var(--cyan)}.homeAccountButton>span:last-child{margin-left:auto;color:var(--cyan)}.homeAccountButton:hover:not(:disabled){border-color:var(--cyan);background:#1b455a}.homeAccountButton:disabled{cursor:default;background:#112433;color:#b5cbd8;border-color:#779bb345}#homeAccountStatus{font-size:11px;color:#aabfce;line-height:1.6;margin:8px 0 0}.homeLanguages>#languageHeading{display:block;font-size:11px;color:#b7cbd9;margin-bottom:9px}.languageChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.languageChoices button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 5px;background:#102131;border:1px solid #90bbd238;border-radius:8px;min-height:80px;color:#bcd0df;font-size:11px}.languageChoices img{display:block;width:42px;height:28px;object-fit:cover;border-radius:3px;box-shadow:0 2px 8px #0005;pointer-events:none}.languageChoices button:hover{border-color:var(--cyan);background:#173346}.languageChoices button[aria-pressed=true]{border-color:var(--acid);background:#dcff5110;color:#f3ffce}.languageCheck{display:none;position:absolute;top:5px;right:6px;color:var(--acid);font-weight:bold;font-size:12px}.languageChoices button[aria-pressed=true] .languageCheck{display:block}.homePanel{align-self:start}.homePanel .homeDescription{font-size:12px;margin-bottom:16px}@media(max-height:760px) and (min-width:801px){.homePanel{padding:20px}.homePanel>.eyebrow{margin-top:0}.homePanel h2{font-size:27px;margin-bottom:8px}.welcomeControls{margin:12px 0;padding:12px 0;gap:10px}.languageChoices button{min-height:68px;padding:7px 5px;gap:5px}.languageChoices img{width:36px;height:24px}.homePanel .homeDescription{display:none}.mainNavigation button{min-height:52px;padding:10px 14px}.mainNavigation .primaryAction{min-height:61px}.careerBar{margin-top:12px;padding-top:12px}}@media(max-width:800px){.homePanel{align-self:start}.welcomeControls{margin-top:14px}.homeAccountButton{font-size:12px}.languageChoices button{min-height:76px}.languageChoices img{width:42px;height:28px}}@media(max-width:380px){.languageChoices{gap:6px}.languageChoices button{font-size:10px}.homeAccountButton{padding:11px 10px;font-size:11px}}


/* Viewport layout: account and language controls always sit at the top. */
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
#menu{height:var(--viewport-height,100dvh);min-height:0;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto;padding:16px max(20px,env(safe-area-inset-left));gap:12px}
#menu .menuHeader{align-items:center;gap:16px;min-width:0;padding-right:52px}
.welcomeControls{margin:0 0 0 auto;padding:0;border:0;display:flex;align-items:center;gap:18px;min-width:0}
.homeLanguages{order:-1;flex:none}.homeLanguages>#languageHeading{display:none}
.languageChoices{display:flex;gap:6px}.languageChoices button{min-height:44px;flex-direction:row;padding:6px 9px;gap:6px;font-size:10px}
.languageChoices img{width:27px;height:18px}.languageCheck{top:0;right:2px;font-size:9px}
.homeAccount{max-width:320px}.homeAccountButton{min-height:42px;padding:8px 12px;font-size:12px}#homeAccountStatus{font-size:9px;line-height:1.3;margin:4px 0 0}
.homePanel{align-self:center;min-height:0}.homePanel h2{font-size:27px}.homePanel>.eyebrow{margin-top:0}
#menu.preparing{grid-template-columns:1fr}#menu.preparing .intro{display:none}
#menu .setup{align-self:center;justify-self:center;width:100%;max-width:740px;padding:18px}
.setupTitle{margin-bottom:12px}.setupSteps{display:flex;gap:8px;margin-bottom:14px}.setupSteps button{flex:1;background:#132638;border:1px solid #789bb650;border-radius:6px;padding:10px;font-size:12px}.setupSteps button[aria-pressed=true]{color:var(--acid);border-color:var(--acid)}
.setupPaging{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.setupPaging button{background:#173448;border:1px solid #75c9e84a;padding:12px 18px;font-size:12px;border-radius:6px}#setupNext{margin-left:auto}#start{margin-top:12px}.setupPage .drivingDetails{margin:8px 0}.setupPage #coursePreview{height:100px}.setupPage #stats{padding-bottom:10px}.setupPage .guestNotice{margin:6px 0}.setupPage .options{margin:12px 0}
#fullscreenToggle{position:fixed;z-index:8;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));display:grid;place-items:center;width:42px;height:42px;border:1px solid #8ddaff66;border-radius:8px;background:#0b1c2ee8;color:#d7f6ff;font-size:28px;line-height:1;touch-action:manipulation}
body.racing #fullscreenToggle{top:max(62px,env(safe-area-inset-top));bottom:auto}body.inspecting #fullscreenToggle{top:80px}
#fullscreenStatus{position:fixed;z-index:9;bottom:12px;left:50%;transform:translateX(-50%);margin:0;padding:10px;background:#0b1c2e;color:#e0efff;font-size:12px;pointer-events:none}#fullscreenStatus:empty{display:none}
/* Long reference material remains accessible with touch, wheel and keyboard. */
*{scrollbar-width:none}*::-webkit-scrollbar{display:none}
@media(max-width:800px){
 #menu{grid-template-rows:auto auto minmax(0,1fr) auto;padding:12px max(12px,env(safe-area-inset-left));gap:8px}
 #menu.preparing{grid-template-rows:auto minmax(0,1fr) auto}
 #menu .menuHeader{align-items:start;gap:8px;flex-wrap:wrap;padding-right:50px}
 .brand{font-size:14px}.brand span{font-size:6px;letter-spacing:1px}
 .welcomeControls{flex:1;justify-content:flex-end;gap:7px;flex-wrap:wrap}
 .homeAccount{max-width:260px}.homeAccountButton{min-height:34px;font-size:10px;padding:6px 8px}.homeAccountButton>svg{width:14px;height:14px}#homeAccountStatus{max-width:260px;font-size:8px}
 .languageChoices button{min-height:34px;padding:5px}.languageChoices button>span:not(.languageCheck){display:none}.languageChoices img{width:25px;height:17px}
 #menu .intro{gap:12px}#menu h1{font-size:48px;margin:6px 0;letter-spacing:-3px}#menu .tagline{font-size:11px;line-height:1.4;margin:0}
 .homePanel{padding:16px;align-self:center}.homePanel h2{font-size:25px;margin:4px 0 10px}.homePanel .homeDescription{display:none}.mainNavigation{gap:6px}.mainNavigation button{min-height:48px;padding:9px 12px}.mainNavigation .primaryAction{min-height:54px}.mainNavigation b{font-size:15px}.mainNavigation small{font-size:10px;margin-top:3px}.careerBar{padding-top:10px;margin-top:10px;font-size:10px}.careerBar small{font-size:9px}
 #menu footer{gap:8px;font-size:8px}#menu footer button{font-size:9px;min-height:28px}#menu footer span{font-size:7px}
 #menu .setup{padding:14px}.setupTitle h2{font-size:22px}.setupSteps button{font-size:11px;padding:8px}.setupTitle{gap:10px;margin-bottom:10px}.choices button{font-size:12px;padding:10px}.setupPage .paintPicker{margin-bottom:12px}.setupPage #inspect{margin-bottom:0}.setupPage .trackPicker{margin:9px 0}
}
@media(max-height:500px){#menu .intro{display:none}#menu{grid-template-rows:auto minmax(0,1fr) auto;gap:6px;padding-block:6px}#menu h1{font-size:60px}.homePanel{padding:12px}.homePanel h2{font-size:22px}.homePanel>.eyebrow{display:none}.mainNavigation{grid-template-columns:1fr 1fr}.mainNavigation .primaryAction{grid-column:1/-1}.mainNavigation button{min-height:40px;padding:7px 10px}.mainNavigation small{display:none}.careerBar{margin-top:7px;padding-top:7px}.homePanel .homeDescription{display:none}#menu .setup{padding:10px}}
#menu.preparing{grid-template-columns:minmax(0,1fr)}#menu>*,.setupPage,.musicPreview>*{min-width:0}.setupPage select{max-width:100%}.musicPreview{flex-wrap:wrap}.homeAccountButton{overflow-wrap:anywhere}
@media(max-width:800px){#menu{grid-template-columns:minmax(0,1fr)}}

#fullscreenToggle svg{width:23px;height:23px;pointer-events:none}

#menu footer #installApp{color:var(--acid);border:1px solid #dcff5150;border-radius:5px;padding:6px 10px;white-space:nowrap}#installDialog{max-width:540px;border-radius:12px}#installDialog p{font-size:14px}#menu footer{min-width:0}
@media(max-width:420px){#menu footer{gap:6px}#menu footer>span{display:none}#menu footer #installApp{margin-right:auto}}
