:root{--ink:#24475b;--deep:#285d6b;--mint:#8edfd5;--coral:#ff929d;--cream:#fff5dc;--lilac:#bda0ed;--glass:#edf7ffb8;--line:#ffffffdc}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#88c7ee;color:var(--ink);font-family:"Avenir Next","PingFang TC","Microsoft JhengHei",system-ui,sans-serif}button,select,input{font:inherit}button{cursor:pointer;border:0;transition:transform .15s,background .15s,box-shadow .15s}button:hover{transform:translateY(-2px)}button:active{transform:translateY(1px)}button:focus-visible,select:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #ffe591;outline-offset:4px}[hidden]{display:none!important}#game{position:absolute;inset:0;width:100%;height:100%;outline:none}
#hud{position:absolute;inset:0;pointer-events:none;padding:22px 28px}header{display:flex;align-items:center;gap:14px;position:relative;z-index:10}.wordmark{display:flex;align-items:center;text-decoration:none;pointer-events:auto;filter:drop-shadow(0 3px 0 #1e4154);transform:rotate(-3deg);gap:1px;width:252px;flex:none}.brandStar{font-size:48px;color:#ffdc85;-webkit-text-stroke:2px #214458;line-height:1;margin-top:-3px}.smallStar{font-size:31px;color:#8ee4d6;margin:32px 0 0 -8px}.brandType{display:block;text-align:center;line-height:.87}.brandType>b{display:block;font-size:36px;font-weight:1000;letter-spacing:-2.1px;-webkit-text-stroke:1.4px #214458;paint-order:stroke fill}.brandType i{font-style:normal;color:#fff3d8}.brandType i:nth-child(2),.brandType i:nth-child(4){color:#ffabb2}.brandType i:nth-child(3),.brandType i:nth-child(7){color:#ffe196}.brandType i:nth-child(5){color:#9be5e1}.brandType small{display:block;font-size:24px;font-weight:1000;color:white;letter-spacing:-.7px;-webkit-text-stroke:2.4px #214458;paint-order:stroke fill;margin-top:4px}
.trackBadge{display:flex;align-items:center;gap:10px;padding:10px 17px;background:var(--glass);border:2px solid white;border-radius:26px;backdrop-filter:blur(14px);box-shadow:0 4px 20px #1d55751a}.anchorMark{font-size:28px;color:#ff9ca3}.trackBadge b{font-size:15px;font-weight:900;white-space:nowrap;letter-spacing:.2px}.trackBadge small{display:block;font-size:8px;font-weight:800;letter-spacing:2px;margin-top:4px}.session{margin-left:auto;white-space:nowrap;background:#f0f7ffe8;border:2px solid white;border-radius:28px;padding:11px 17px;font-size:10px;font-weight:900;letter-spacing:1.2px;box-shadow:0 4px 18px #1d55751a}header button{pointer-events:auto;width:43px;height:43px;border-radius:50%;background:#f9fdfff0;color:#315c72;border:2px solid white;box-shadow:0 4px 18px #1d557526;font-weight:900;font-size:22px}header button:disabled{opacity:.55}
#racehud{position:absolute;inset:110px 28px 24px}.position{display:flex;align-items:center;gap:10px;width:132px;padding:9px 14px;min-height:85px;background:#edf7ffbe;backdrop-filter:blur(12px);border:2px solid white;border-radius:24px;box-shadow:0 5px 20px #153f5920}.position>b{font-size:66px;font-weight:1000;letter-spacing:-4px;line-height:1;color:white;text-shadow:0 3px 0 #335b72;-webkit-text-stroke:.5px #3a6481}.position>span{font-size:22px;font-weight:900;white-space:nowrap}.position small{display:block;font-size:7px;letter-spacing:1.5px;margin-top:3px}
#leaderboard{position:absolute;left:0;top:102px;width:178px;display:flex;flex-direction:column;gap:6px}.standing{display:flex;align-items:center;gap:7px;min-height:37px;padding:5px 9px;background:#f3faffb0;backdrop-filter:blur(8px);border:1px solid #ffffffdc;border-radius:14px;font-size:10px;box-shadow:0 3px 12px #24475b10}.standing>b{width:10px;font-size:13px}.standing>i{font-style:normal;display:grid;place-items:center;border:2px solid white;width:24px;height:24px;flex:none;border-radius:50%;color:white;text-shadow:0 1px 2px #24475b75;font-weight:900;font-size:13px}.standing>strong{flex:1;font-size:10px}.standing>small{font-size:8px;letter-spacing:.5px;opacity:.75}.standing.player{background:#e8fff5df;border:2px solid #8de3cf;box-shadow:0 0 0 2px #fff9}
.minimap{position:absolute;right:0;top:0;width:200px;background:#f1faffb8;border:2px solid white;border-radius:25px;box-shadow:0 7px 24px #204b691a;padding:13px 10px 11px;backdrop-filter:blur(12px)}.mapHeader{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.mapHeader>span{font-size:9px;font-weight:900;letter-spacing:1px;line-height:1.5}.mapHeader>div{text-align:center}.mapHeader b{font-size:22px;line-height:1;font-weight:1000;display:block}.mapHeader small{font-size:8px;font-weight:800;letter-spacing:2px}.minimap canvas{display:block;width:176px;height:138px;margin:5px auto}.raceStats{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #fff9;padding:8px 6px 0}.raceStats small{font-size:7px;font-weight:900;letter-spacing:1px}.raceStats b{font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.speed{position:absolute;left:0;bottom:28px;min-width:207px;padding:7px 18px 25px;display:flex;align-items:baseline;gap:8px;border:2px solid white;border-radius:20px;background:#d4eafa6b;backdrop-filter:blur(11px);box-shadow:0 8px 22px #153f5925}.speed>b{font-size:56px;color:white;font-weight:1000;letter-spacing:-2px;line-height:1.05;text-shadow:0 3px 0 #527a94;font-variant-numeric:tabular-nums}.speed>span{font-size:12px;font-weight:900;letter-spacing:1px;color:white;text-shadow:0 2px 3px #24475b80}.speedbar{position:absolute;bottom:9px;left:18px;right:17px;height:11px;border-radius:4px;overflow:hidden;background:#e4f6ff66;transform:skewX(-18deg);z-index:1}.speedbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3ba9ff 0%,#60d7e1 43%,#fee795 75%,#ffac8b);mask:repeating-linear-gradient(90deg,#000 0 19px,transparent 19px 23px)}.speedSegments{display:none}
.driveStrip{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:stretch;width:640px;max-width:54vw;min-height:72px;padding:8px 12px;background:#294458a1;backdrop-filter:blur(12px);border:2px solid white;border-radius:20px;box-shadow:0 7px 25px #17384d30;color:white}.charge{display:flex;align-items:center;gap:10px;width:52%;padding:0 13px 0 0;border-right:1px solid #ffffff75}.driftBolt{display:grid;place-items:center;font-size:48px;font-weight:900;line-height:1;width:45px;flex:none;border:2px solid #daedff;border-radius:12px;background:linear-gradient(135deg,#3c81f6,#7778ff);color:#d5ffff;text-shadow:0 0 8px #56f7ff;box-shadow:inset 0 0 11px #ffffff40}.chargeText{flex:1}.chargeText>span{font-size:10px;letter-spacing:.3px;font-weight:850;line-height:1.5;display:block}.chargeTrack{height:5px;border-radius:4px;margin-top:7px;background:#ffffff36;overflow:hidden}.chargeTrack i{display:block;height:100%;width:0;background:#83e4e1;box-shadow:0 0 8px #d8f4ff}.itemCard{background:transparent;color:white;display:flex;align-items:center;gap:10px;flex:1;pointer-events:auto;text-align:left;padding:0 0 0 13px;min-width:0;border-radius:10px}.itemCard:hover{background:#f4fbff12;transform:none}.itemCard:disabled{cursor:default}.itemCard>span{display:grid;place-items:center;width:45px;height:49px;flex:none;border:2px solid #eaf1ff;border-radius:13px;background:linear-gradient(135deg,#e6ffffc0,#b5b4edb0);box-shadow:inset 0 0 9px #fff5}.itemCard svg{width:35px;height:35px;overflow:visible}.itemCard strong{display:block;font-size:11px;font-weight:850;line-height:1.5}.itemCard small{display:block;font-size:8px;opacity:.85;line-height:1.5;margin-top:2px}.hints{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:750;white-space:nowrap;color:white;text-shadow:0 1px 3px #1c405a}kbd{display:inline-block;font-family:inherit;font-size:9px;font-weight:800;color:#32546a;background:#f6fbffeb;border-radius:6px;box-shadow:0 2px 0 #758da680;padding:3px 6px;margin:0 2px}
#events{position:absolute;left:0;top:281px;max-width:265px;font-weight:850;font-size:11px;line-height:1.5}.event{background:#f7fcffb5;border:1px solid #fff;border-radius:12px;padding:5px 10px;margin:6px 0;backdrop-filter:blur(7px)}#warning{position:absolute;left:50%;transform:translateX(-50%);top:24%;color:#fff;background:#df7683e6;border:2px solid #fff;padding:11px 24px;border-radius:20px;letter-spacing:2px;font-weight:900}#status{position:absolute;left:50%;top:-14px;transform:translateX(-50%);padding:7px 13px;border:1px solid white;background:#f4fbffb3;border-radius:19px;font-size:9px;font-weight:900;letter-spacing:.8px;white-space:nowrap;color:#31536c;backdrop-filter:blur(12px)}#status:empty{display:none}#countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:136px;font-weight:1000;letter-spacing:-5px;color:#fff4dc;-webkit-text-stroke:3px #346979;text-shadow:0 8px 0 #24475b60,0 0 30px #fff6}
.overlay{position:absolute;inset:0;display:flex;align-items:center;padding:96px 5vw 28px;background:linear-gradient(90deg,#edf8fff0 0%,#f5faffdb 26%,#edf8ff96 37%,#edf8ff00 65%);pointer-events:none}.intro{width:420px;pointer-events:auto}.eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;color:#418899;margin-bottom:14px}h1{font-size:clamp(52px,5.4vw,80px);font-weight:1000;line-height:.99;letter-spacing:-2px;margin:0;color:#346b7a;text-shadow:0 4px 0 #fff9}.paradeTitle{display:block;font-family:"Snell Roundhand","Apple Chancery",cursive;font-style:italic;font-size:1.2em;font-weight:800;color:#f18599;letter-spacing:0;line-height:1.25;margin:0 0 0 33px;text-shadow:0 3px 0 #fff}.tagline{font-size:19px;font-weight:850;color:#327689;margin:15px 0 10px}.description{font-size:13px;line-height:1.8;color:#517b91;margin:0 0 19px}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;border:2px solid #fff;color:white;background:linear-gradient(120deg,#ff93c1,#ed87aa 66%,#fa9ab5);box-shadow:inset 0 0 0 2px #ffffff20,0 5px 0 #c76f98,0 9px 23px #d46a9426;border-radius:23px;padding:16px 22px;font-size:17px;font-weight:950;letter-spacing:.7px;margin:12px 0 19px}.primary span{font-size:25px}.primary:hover{background:linear-gradient(120deg,#ffa4cb,#f798b6);box-shadow:inset 0 0 0 2px #ffffff20,0 7px 0 #c76f98,0 11px 26px #d46a9440}.secondary{display:flex;align-items:center;justify-content:space-between;width:100%;border:2px solid white;border-radius:20px;background:#dceeffb8;color:#3e7290;padding:12px 20px;font-size:12px;font-weight:850;box-shadow:0 3px 12px #386ca412;margin:9px 0}.secondary:hover{background:#edf7ff}.crew{display:flex;flex-wrap:wrap;gap:6px;margin-top:21px}.crew>span{display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid white;border-radius:16px;background:#f9fcffb0;font-size:10px;font-weight:850}.crew i{width:9px;height:9px;border-radius:50%;box-shadow:inset 0 -2px 0 #21465c20}.papri{background:#77d6cc}.niko{background:#ff929d}.eldur{background:#397e85}.kiyo{background:#aa85d9}.tutorial{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px;font-size:9px;font-weight:750;line-height:1.8}.menuFoot{display:flex;justify-content:space-between;gap:12px;margin-top:22px;font-size:8px;font-weight:900;letter-spacing:1px;color:#719db2}.menuFoot>span:last-child{letter-spacing:0;font-weight:700}
.modal{position:absolute;inset:0;display:grid;place-items:center;background:#173f6065;backdrop-filter:blur(10px);z-index:20}.panel{width:min(438px,90vw);max-height:92vh;overflow:auto;padding:32px;background:linear-gradient(140deg,#f5fcfff5,#edf4ffed);border:2px solid white;border-radius:28px;box-shadow:0 18px 70px #24475b45;color:#335d77}.panel>small{font-size:9px;font-weight:900;letter-spacing:2px;color:#5794ad}.panel h2{font-size:31px;font-weight:950;line-height:1.2;margin:13px 0 22px;letter-spacing:-.8px}.panel label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0;font-size:12px;font-weight:800}.panel label:first-of-type{flex-direction:column;align-items:stretch}.panel select{border:1px solid #b7d7e8;background:#fff;color:#335d77;border-radius:12px;padding:11px}.panel .toggle{justify-content:start}.panel input{accent-color:#71bacb;width:18px;height:18px}.panel p{font-size:12px;line-height:1.8;color:#64849a}.panel .primary{font-size:15px;margin-top:14px}.panel .secondary{font-size:12px}.finishPanel>small{color:#af80ba}.finishPanel h2{color:#3c8193}.result{display:flex;align-items:center;gap:9px;padding:13px 0;border-top:1px solid #a3c9db42;font-size:12px}.result>b{width:13px;font-size:15px}.result>i{width:10px;height:10px;border-radius:50%;border:1px solid #fff}.result>strong{font-size:12px}.result>span{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums}.result.player{font-weight:950;color:#438b96}.result .ai{font-size:9px;opacity:.6}
#touch{position:absolute;bottom:105px;left:14px;right:14px;display:flex;justify-content:space-between;pointer-events:none;z-index:15}#touch>div{display:flex;gap:7px}#touch button{pointer-events:auto;touch-action:none;min-width:53px;height:51px;border-radius:17px;border:2px solid white;background:#355e85bc;color:white;font-size:10px;font-weight:900;backdrop-filter:blur(10px)}#touch [data-input=throttle]{background:#a0e7ceeb;color:#356274}#touch button.pressed{background:#ffe494;color:#24475b}
#qa{position:absolute;right:10px;bottom:10px;padding:7px 9px;width:320px;max-width:95vw;background:#fcffe7ed;border:1px solid white;border-radius:10px;z-index:30;font-size:10px;color:#24475b}#qa summary{cursor:pointer;font-weight:850}.qaControls{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.qaControls button,.qaControls select{font-size:10px;padding:5px;border:1px solid #bfd1d9;border-radius:4px;background:white;color:#24475b}#diagnostics{display:block;white-space:pre-wrap;font-size:9px;max-height:230px;overflow:auto}
@media(max-height:760px){.overlay{padding-top:100px}.intro{width:385px}h1{font-size:58px}.paradeTitle{font-size:1.14em;line-height:1.15}.eyebrow{margin-bottom:9px}.tagline{margin:11px 0 7px;font-size:16px}.description{margin-bottom:12px;font-size:12px}.primary{padding:13px 19px;margin:10px 0 16px;font-size:15px}.secondary{padding:10px 18px}.crew{margin-top:15px}.tutorial{margin-top:12px}.menuFoot{margin-top:16px}#racehud{top:100px}.standing{min-height:33px}#events{top:263px}.minimap{width:180px;padding:10px}.minimap canvas{width:156px;height:122px}.mapHeader b{font-size:20px}.speed>b{font-size:48px}.speed{min-width:180px}.driveStrip{min-height:65px;bottom:10px}.chargeText>span{font-size:9px}.driftBolt{font-size:39px;width:41px}.itemCard>span{width:41px;height:45px}.itemCard svg{width:30px;height:30px}}
@media(max-width:1100px){.trackBadge{padding:9px 12px}.trackBadge b{font-size:12px}.trackBadge small{font-size:7px;letter-spacing:1px}.wordmark{width:205px}.brandType>b{font-size:29px}.brandType small{font-size:20px}.brandStar{font-size:40px}.smallStar{font-size:25px}.session{font-size:8px;padding:10px 12px;letter-spacing:.8px}.driveStrip{width:560px;max-width:59vw}.charge{width:50%;gap:7px}.itemCard{padding-left:9px;gap:7px}.itemCard strong{font-size:10px}.speed{min-width:168px;padding-left:13px}.speed>b{font-size:47px}.speed>span{font-size:10px}}
@media(max-width:750px){#hud{padding:16px}header{gap:7px}.wordmark{width:173px}.brandType>b{font-size:25px}.brandType small{font-size:17px}.brandStar{font-size:31px}.smallStar{font-size:21px}.trackBadge{display:none}.session{font-size:7px;padding:8px 10px;letter-spacing:.3px}header button{width:34px;height:34px;font-size:17px;border-width:1px}#racehud{inset:84px 16px 22px}.position{width:105px;min-height:66px;padding:5px 11px;gap:7px;border-radius:19px}.position>b{font-size:48px}.position>span{font-size:18px}.position small{font-size:6px}.minimap{width:135px;border-radius:20px;padding:8px}.mapHeader>span{font-size:6px;letter-spacing:.4px}.mapHeader b{font-size:16px}.mapHeader small{font-size:6px}.minimap canvas{width:117px;height:92px;margin:4px auto}.raceStats{padding:6px 1px 0}.raceStats small{font-size:5px}.raceStats b{font-size:10px}#leaderboard{top:81px;width:133px;gap:4px}.standing{min-height:29px;padding:3px 6px;gap:5px;font-size:8px;border-radius:11px}.standing>i{width:20px;height:20px;font-size:10px}.standing>strong{font-size:8px}.standing>small{font-size:6px}.standing>b{font-size:10px;width:8px}#events{top:223px;max-width:170px;font-size:8px}.event{padding:4px 7px}.speed{bottom:112px;min-width:131px;padding:6px 11px 22px;border-radius:16px}.speed>b{font-size:39px}.speed>span{font-size:8px}.speedbar{left:12px;right:12px;height:9px}.driveStrip{max-width:none;width:calc(100vw - 32px);bottom:7px;min-height:65px;padding:7px 10px;border-radius:18px}.charge{width:50%;padding-right:9px}.chargeText>span{font-size:8px}.driftBolt{font-size:34px;width:35px;border-radius:10px}.itemCard>span{width:35px;height:41px;border-radius:10px}.itemCard svg{width:26px;height:26px}.itemCard strong{font-size:9px}.itemCard small{font-size:7px}.hints{display:none}#status{top:45px;max-width:80%;white-space:normal;text-align:center;font-size:7px;padding:5px 10px}#warning{top:35%;font-size:10px;padding:9px 15px}.overlay{padding:87px 24px 25px;background:linear-gradient(90deg,#f4faffeb,#f4faffbb 65%,#f4faff22)}.intro{width:340px;max-width:100%}h1{font-size:62px}.eyebrow{font-size:8px}.tagline{font-size:15px}.description{font-size:11px}.crew{gap:5px}.crew>span{font-size:8px;padding:5px 7px}.tutorial{font-size:8px;gap:7px}.menuFoot{font-size:6px;letter-spacing:.4px;gap:7px}.panel{padding:26px}.panel h2{font-size:27px}.result{font-size:11px}.result>strong{font-size:10px}.result>span{font-size:9px}#touch{bottom:108px}#touch button{min-width:43px;height:45px;font-size:8px}}
@media(max-width:470px){.wordmark{width:143px}.brandType>b{font-size:21px}.brandType small{font-size:14px}.brandStar{font-size:27px}.smallStar{display:none}.session{max-width:122px;white-space:normal;text-align:center;line-height:1.6;font-size:6px}.overlay{padding-top:95px}h1{font-size:53px}.tagline{font-size:13px}.trackBadge{display:none}.panel{padding:23px}#touch>div{gap:4px}#touch button{min-width:36px}.itemCard small{font-size:6px}}
/* Independent racer and vehicle setup; the live 3D preview uses both choices. */
.overlay{align-items:center;overflow-y:auto}.intro{width:440px;flex:none}h1{font-size:64px}.paradeTitle{font-size:1.12em;line-height:1.12}.tagline{font-size:16px;margin:9px 0 16px}.raceSetup{padding:14px;background:#f4fbffb0;border:1px solid white;border-radius:22px;box-shadow:0 6px 24px #3a768c12}.raceSetup label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:850}.raceSetup input,.raceSetup select{width:100%;min-height:35px;border:1px solid #aacddc;border-radius:10px;background:#ffffffdd;color:#24475b;padding:7px 10px;font-size:12px}.raceSetup input:focus-visible{outline:3px solid #ffe591;outline-offset:2px}.raceSetup fieldset{border:0;padding:0;margin:11px 0}.raceSetup legend{font-size:10px;font-weight:900;margin-bottom:6px;padding:0}.raceSetup legend small{font-size:9px;font-weight:600;color:#698a9e;margin-left:5px}.choices{display:flex;gap:5px;flex-wrap:wrap}.choices button{display:flex;align-items:center;gap:4px;min-height:31px;padding:5px 7px;background:#f9fcffe6;color:#3e6478;border:1px solid #bad5e3;border-radius:10px;font-size:10px;font-weight:850}.choices i{height:10px;width:10px;border-radius:50%;box-shadow:inset 0 0 0 1px #31536538;flex:none}.choices button[aria-pressed=true]{background:#d9f4ec;border:2px solid #459d96;padding:4px 6px;box-shadow:0 0 0 2px #fff8;color:#245d61}.trackField small{font-size:9px;font-weight:600;color:#62869b}.setupSummary{font-size:10px;font-weight:850;margin:9px 0 0;overflow-wrap:anywhere}.raceSetup .primary{min-height:44px;padding:10px 15px;font-size:14px;border-radius:15px;margin:11px 0 12px}.raceSetup .secondary{min-height:34px;padding:8px 14px;font-size:11px;border-radius:14px;margin:0}.tutorial{margin-top:12px;font-size:9px;gap:7px}.menuFoot{margin-top:12px}.previewCaption{position:absolute;right:13%;bottom:8%;display:flex;flex-direction:column;gap:5px;text-align:center;min-width:220px;color:#2e6373;text-shadow:0 2px 3px #fff;background:#edf8ffc4;padding:12px 20px;border:1px solid white;border-radius:20px;backdrop-filter:blur(8px)}.previewCaption small{font-size:10px;font-weight:750;letter-spacing:1px}.previewCaption strong{font-size:24px}.previewCaption span{font-size:12px;font-weight:850}.standing>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result>strong{overflow-wrap:anywhere;min-width:0;flex:1}.playerIdentity{position:absolute;top:26px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:800;background:#f4fbffae;border:1px solid white;padding:5px 10px;border-radius:15px;max-width:50%;text-align:center;overflow-wrap:anywhere}.finishIdentity{font-weight:850;overflow-wrap:anywhere}
@media(max-height:760px){.overlay{padding-top:88px;padding-bottom:18px}.intro{width:415px}h1{font-size:43px}.tagline{font-size:13px;margin:5px 0 9px}.raceSetup{padding:11px}.raceSetup fieldset{margin:8px 0}.choices button{min-height:28px;font-size:9px}.raceSetup input,.raceSetup select{min-height:32px;font-size:11px}.raceSetup .primary{min-height:40px;margin:9px 0 10px}.raceSetup .secondary{min-height:30px;padding:6px 12px}.tutorial{margin-top:8px;font-size:8px}.menuFoot{margin-top:8px}.previewCaption{bottom:6%;padding:9px 18px}}
@media(max-width:750px){.overlay{align-items:flex-start;padding:87px 20px 20px}.intro{width:380px;max-width:100%}h1{font-size:43px}.raceSetup{padding:11px}.tagline{font-size:13px;margin:6px 0 10px}.previewCaption{display:none}.choices{gap:4px}.choices button{font-size:9px}.playerIdentity{top:77px;font-size:8px;max-width:70%;width:max-content}.result>span{flex:none}}
@media(max-width:470px){.overlay{padding:88px 16px 18px}h1{font-size:37px}.raceSetup legend{font-size:9px}.choices button{font-size:8px;padding:5px;gap:3px}.choices button[aria-pressed=true]{padding:4px}.raceSetup{padding:10px}.tutorial{gap:5px}.menuFoot{font-size:6px}.result{gap:6px}}
/* Any% Kart groups characters by series while keeping car choices independent. */
.gameTitle{white-space:nowrap}.gameTitle span{display:inline;font-size:inherit;line-height:inherit;color:#69b9ab}.raceSetup .seriesField{margin-top:0}.seriesField .choices button{min-height:33px;font-size:11px}.raceSetup .trackField{margin-top:11px}.wordmark .brandType>b{font-size:42px;letter-spacing:-1.5px}.wordmark .brandType small{font-size:24px;letter-spacing:2px}.wordmark{width:205px}.previewCaption #previewSeries{font-size:10px;letter-spacing:0}.choices button:disabled{cursor:default}.choices button:disabled:hover{transform:none}
@media(max-width:750px){.wordmark{width:155px}.wordmark .brandType>b{font-size:30px}.wordmark .brandType small{font-size:18px}.seriesField .choices button{font-size:10px}#racehud{top:126px}.playerIdentity{top:-58px;max-width:100%;width:100%;line-height:1.5}#status{top:-24px}}
@media(max-width:470px){.wordmark{width:132px}.wordmark .brandType>b{font-size:26px}.wordmark .brandType small{font-size:15px}.seriesField .choices button{font-size:10px}}

/* Local four-player rooms share the existing selection and race presentation. */
.modeChoices{display:flex;gap:7px;margin:0 0 10px}.modeChoices button{padding:9px 15px;border:1px solid #a5cbd8;border-radius:12px;background:#f7fbffd9;font-size:12px;font-weight:850;color:#315e70}.modeChoices button[aria-pressed=true]{background:#d9f4ec;border:2px solid #459d96;padding:8px 14px}.roomHelp{font-size:10px;line-height:1.5}.joinRow{display:flex;gap:8px;align-items:flex-end}.joinRow label{flex:1}.joinRow .secondary{width:auto;flex:none;min-height:35px!important}#roomCodeInput{text-transform:uppercase;letter-spacing:3px}#roomError,#lobbyError{font-size:11px;color:#943b50;line-height:1.5}.lobby{margin-top:10px;padding:13px;border-radius:18px;background:#f3fbffdc;border:1px solid white}.roomHeading{display:flex;justify-content:space-between;align-items:center;font-size:11px}.roomHeading strong{font-size:22px;letter-spacing:3px}.roomHeading>b{font-size:13px}#roomPolicy{font-size:9px;line-height:1.6}.roomMember{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:8px 0;border-top:1px solid #c3dae3;font-size:11px}.roomMember small{grid-row:2;font-size:9px}.roomMember>b{grid-column:2;grid-row:1/3;align-self:center;font-size:9px;color:#397c70}.lobbyActions{display:flex;gap:8px;margin-top:10px}.lobbyActions button{flex:1;margin:0;padding:10px;font-size:11px}.roomExit{position:absolute;right:28px;top:77px;pointer-events:auto;z-index:15;border:1px solid white;padding:6px 12px;border-radius:12px;background:#edf8ffd9;color:#335b72;font-size:10px}.networkBanner{position:absolute;top:100px;left:50%;transform:translateX(-50%);z-index:30;max-width:90%;padding:10px 15px;border:1px solid white;border-radius:12px;background:#fff2dce8;font-size:11px;text-align:center}.raceSetup:has(#onlineEntry:not([hidden])){padding-bottom:12px}.overlay:has(#lobby:not([hidden])){align-items:flex-start}.overlay:has(#lobby:not([hidden])) .tutorial,.overlay:has(#lobby:not([hidden])) .menuFoot{display:none}
@media(max-height:800px){.overlay{padding-top:88px}.modeChoices{margin-bottom:7px}.modeChoices button{padding:7px 13px;font-size:10px}.modeChoices button[aria-pressed=true]{padding:6px 12px}.overlay:has(#onlineEntry:not([hidden])) .tutorial{display:none}.lobby{padding:11px}.roomMember{padding:6px 0}}
@media(max-width:750px){.roomExit{right:16px;top:99px;font-size:8px;padding:4px 8px}.networkBanner{top:100px}.modeChoices button{font-size:11px}.roomHeading strong{font-size:19px}.lobbyActions{flex-wrap:wrap}.roomMember{font-size:10px}}
