:root{color:#171827;font-synthesis:none;text-rendering:optimizelegibility;--orange:#ff5b22;--orange-dark:#df3f0a;--ink:#171827;--muted:#687083;--cream:#fffaf0;--yellow:#ffcc36;--cyan:#27d7e5;background:#f3f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.eyebrow{color:var(--orange);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:950;display:block}.brandLockup{color:var(--ink);letter-spacing:-.04em;align-items:center;gap:.7rem;font-family:Arial Black,Impact,sans-serif;font-size:1.04rem;font-style:italic;text-decoration:none;display:inline-flex}.brandLockup strong{color:var(--orange)}.brandMark{border:3px solid var(--ink);background:var(--yellow);width:2.25rem;height:2.25rem;box-shadow:3px 3px 0 var(--ink);color:var(--ink);border-radius:.7rem .25rem;place-items:center;font-size:1.35rem;line-height:1;display:inline-grid;transform:rotate(-3deg)}.homePage{background:linear-gradient(90deg,#17182706 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#17182706 1px,#0000 1px) 0 0/32px 32px,radial-gradient(circle at 74% 26%,#27d7e53b,#0000 28%),#f7f6f0;min-height:100vh}.homeNav,.topBar{z-index:20;border-bottom:1px solid #1718271a;justify-content:space-between;align-items:center;width:min(1440px,100% - 3rem);min-height:76px;margin:0 auto;display:flex;position:relative}.serverStatus{color:#8b4250;letter-spacing:.1em;align-items:center;gap:.45rem;font-size:.69rem;font-weight:900;display:inline-flex}.serverStatus.online{color:#157b4c}.heroSection{grid-template-columns:minmax(380px,.86fr) minmax(500px,1.14fr);align-items:center;gap:clamp(2rem,5vw,6rem);width:min(1440px,100% - 3rem);min-height:690px;margin:0 auto;padding:3rem 0 4.5rem;display:grid}.heroCopy{z-index:4;position:relative}.heroKicker{color:var(--orange-dark);letter-spacing:.1em;text-transform:uppercase;background:#ffffffb3;border:1px solid #ff5b224d;border-radius:999px;align-items:center;gap:.4rem;padding:.42rem .7rem;font-size:.69rem;font-weight:900;display:inline-flex}.heroCopy h1{letter-spacing:-.09em;text-transform:uppercase;margin:1rem 0 .7rem;font-family:Arial Black,Impact,sans-serif;font-size:clamp(4rem,7.2vw,7.6rem);font-style:italic;line-height:.84}.heroCopy h1 em{color:var(--orange);font-style:inherit}.heroCopy>p{color:#50586b;max-width:570px;margin:1.5rem 0 1.7rem;font-size:clamp(1rem,1.4vw,1.18rem);font-weight:550;line-height:1.6}.entryCard{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #1718271f;border-radius:1.35rem;width:min(100%,510px);padding:1rem;box-shadow:0 24px 70px #2023321f,5px 5px #17182714}.entryCard>label{color:#525a6e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .4rem .2rem;font-size:.72rem;font-weight:900;display:block}.entryCard>input,.joinRow input{width:100%;height:52px;color:var(--ink);background:#fff;border:2px solid #d9dce3;border-radius:.85rem;outline:0;padding:0 .9rem;font-weight:750;transition:border-color .15s,box-shadow .15s}.entryCard input:focus{border-color:var(--orange);box-shadow:0 0 0 4px #ff5b221f}.heroPrimary,.startButton{color:#fff;letter-spacing:-.03em;text-transform:uppercase;background:linear-gradient(135deg,#ff6b2c,#f3420a);border:0;border-radius:.85rem;justify-content:center;align-items:center;gap:.55rem;width:100%;min-height:52px;margin-top:.75rem;font-family:Arial Black,Impact,sans-serif;font-style:italic;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 7px #bd3008,0 12px 24px #ed440e33}.heroPrimary:hover:not(:disabled),.startButton:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 9px #bd3008,0 15px 28px #ed440e3d}.heroPrimary:active:not(:disabled),.startButton:active:not(:disabled){transform:translateY(5px);box-shadow:0 2px #bd3008}.heroPrimary:disabled,.startButton:disabled{filter:grayscale(.55);opacity:.56;box-shadow:0 4px #8b8c93}.inviteNotice,.formError{color:#176975;background:#e7fafb;border-radius:.7rem;align-items:center;gap:.45rem;margin-bottom:.75rem;padding:.65rem .75rem;font-size:.82rem;font-weight:700;display:flex}.formError{color:#b93713;background:#fff0eb}.orDivider{color:#8b91a1;text-transform:uppercase;align-items:center;gap:.7rem;margin:.85rem 0 .6rem;font-size:.68rem;font-weight:800;display:flex}.orDivider:before,.orDivider:after{content:"";background:#e1e2e8;flex:1;height:1px}.joinRow{grid-template-columns:1fr 100px;gap:.55rem;display:grid}.joinRow input{text-align:center;letter-spacing:.16em;height:44px}.joinRow button{background:var(--ink);color:#fff;border:0;border-radius:.75rem;font-weight:900}.joinRow button:disabled{opacity:.45}.heroFacts{color:#6e7483;flex-wrap:wrap;gap:1.2rem;margin-top:1.5rem;font-size:.74rem;display:flex}.heroFacts span{align-items:center;gap:.35rem;display:inline-flex}.heroFacts strong{color:var(--ink)}.heroVisual{min-width:0;position:relative}.heroVisual .garagePreview{border:0;border-radius:48% 48% 20% 20%;height:clamp(480px,54vw,650px);overflow:hidden;transform:rotate(1deg);box-shadow:inset 0 0 0 1px #17182712,0 35px 100px #1f65752e}.heroNumber{z-index:0;color:#1718270d;font-family:Arial Black,Impact,sans-serif;font-size:12rem;font-style:italic;line-height:1;position:absolute;top:-3rem;right:1rem}.heroSticker{z-index:3;border:3px solid var(--ink);background:var(--yellow);width:96px;height:96px;box-shadow:5px 5px 0 var(--ink);text-align:center;border-radius:50%;place-items:center;font-family:Arial Black,Impact,sans-serif;font-size:1rem;font-style:italic;line-height:.95;display:grid;position:absolute;bottom:3.5rem;right:-1.2rem;transform:rotate(9deg)}.heroCaption{z-index:3;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171827d9;border-radius:999px;align-items:center;gap:.55rem;padding:.6rem .8rem;font-size:.7rem;font-weight:800;display:flex;position:absolute;bottom:1.5rem;left:2rem}.heroCaption span,.liveBadge span{background:#4ade80;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #4ade80}.speedLines{z-index:4;pointer-events:none;position:absolute;inset:12% -6% auto 10%}.speedLines i{background:var(--orange);border-radius:9px;width:80px;height:3px;position:absolute;right:0;transform:rotate(-12deg)}.speedLines i:nth-child(2){background:var(--yellow);width:44px;top:20px;right:-18px}.speedLines i:nth-child(3){background:var(--cyan);width:60px;top:45px;right:12px}.speedLines i:nth-child(4){width:28px;top:74px;right:-12px}.howItWorks{border-top:1px solid #1718271a;width:min(1440px,100% - 3rem);margin:0 auto;padding:3rem 0 5rem}.howItWorks>div{background:#dedfdc;border:1px solid #dedfdc;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1.1rem;display:grid}.howItWorks article{background:#faf9f4;min-height:160px;padding:1.5rem;position:relative}.howItWorks article>strong{color:#ff5b2229;font-family:Arial Black,Impact,sans-serif;font-size:3.5rem;font-style:italic;position:absolute;top:1rem;right:1rem}.howItWorks h2{text-transform:uppercase;margin:1.4rem 0 .35rem;font-family:Arial Black,Impact,sans-serif;font-size:1rem;font-style:italic}.howItWorks p{max-width:300px;color:var(--muted);margin:0;font-size:.85rem;line-height:1.5}.lobbyPage{background:linear-gradient(#eef8f9 0,#f8f5ed 340px);min-height:100vh;padding-bottom:4rem}.topBar{width:min(1540px,100% - 2.4rem)}.roomPill{background:#ffffffd1;border:1px solid #d8dce2;border-radius:999px;align-items:center;gap:.55rem;padding:.35rem .42rem .35rem .7rem;display:flex}.roomPill>span{color:#818898;letter-spacing:.12em;font-size:.58rem;font-weight:900}.roomPill>strong{letter-spacing:.12em;font-family:Arial Black,Impact,sans-serif;font-size:.86rem}.roomPill button,.iconButton{color:#454b5a;background:#eef0f2;border:0;border-radius:50%;place-items:center;width:31px;height:31px;display:grid}.textButton{color:#656c7c;background:0 0;border:0;align-items:center;gap:.4rem;font-size:.78rem;font-weight:800;display:flex}.lobbyIntro{justify-content:space-between;align-items:end;gap:2rem;width:min(1540px,100% - 2.4rem);margin:0 auto;padding:2.2rem 0 1.5rem;display:flex}.lobbyIntro h1{letter-spacing:-.07em;text-transform:uppercase;margin:.3rem 0 0;font-family:Arial Black,Impact,sans-serif;font-size:clamp(2rem,4vw,3.8rem);font-style:italic;line-height:1}.lobbyIntro h1 em{color:var(--orange);font-style:inherit}.lobbyIntro p{color:#687083;max-width:650px;margin:.7rem 0 0;font-size:.9rem}.shareButton{border:2px solid var(--ink);background:var(--yellow);min-height:43px;box-shadow:3px 3px 0 var(--ink);color:var(--ink);border-radius:.75rem;flex:none;align-items:center;gap:.45rem;padding:0 1rem;font-weight:900;display:flex}.toastError{z-index:100;color:#a6320d;background:#fff4ef;border:1px solid #ffc7b4;border-radius:.8rem;padding:.7rem 1rem;font-size:.82rem;font-weight:800;position:fixed;top:88px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #551f0e2e}.lobbyGrid{grid-template-columns:minmax(290px,.8fr) minmax(430px,1.2fr) minmax(310px,.85fr);align-items:start;gap:1rem;width:min(1540px,100% - 2.4rem);margin:0 auto;display:grid}.panelSurface{background:#ffffffe6;border:1px solid #1718271c;border-radius:1.05rem;overflow:hidden;box-shadow:0 16px 40px #1f293712}.garagePanel,.raceSetup,.racersPanel{padding:1rem}.sectionHeader{justify-content:space-between;align-items:center;gap:.8rem;min-height:42px;display:flex}.sectionHeader h2{letter-spacing:-.03em;text-transform:uppercase;align-items:center;gap:.4rem;margin:.18rem 0 0;font-family:Arial Black,Impact,sans-serif;font-size:1rem;font-style:italic;display:flex}.liveBadge,.hostBadge{color:#21814c;letter-spacing:.08em;background:#ebfaf0;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .5rem;font-size:.58rem;font-weight:900;display:inline-flex}.hostBadge{color:#875d00;background:#fff4ce}.garagePreview{background:#dff7ff;border:1px solid #17182714;border-radius:.85rem;width:100%;height:320px;margin:.85rem 0;overflow:hidden}.garagePreview.compact{height:220px}.customizer{gap:.52rem;display:grid}.customizer>label{color:#697184;letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem;font-size:.64rem;font-weight:900}.swatchRow{flex-wrap:wrap;gap:.45rem;display:flex}.swatch{color:#1a1b24;border:3px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 0 0 1px #d4d7df}.swatch.active{box-shadow:0 0 0 2px var(--ink);transform:scale(1.06)}.segmented{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.segmented button{color:#646b7b;background:#f7f7f6;border:1px solid #d9dce3;border-radius:.55rem;min-height:38px;font-size:.7rem;font-weight:850}.segmented button.active{border-color:var(--ink);background:var(--ink);color:#fff}.trackCards{gap:.55rem;margin-top:.85rem;display:grid}.trackCard{min-height:91px;color:var(--ink);text-align:left;background:#fafafa;border:1px solid #dfe1e5;border-radius:.8rem;grid-template-columns:32px 90px 1fr auto;align-items:center;gap:.65rem;padding:.45rem .7rem;transition:transform .14s,border-color .14s,box-shadow .14s;display:grid;position:relative;overflow:hidden}.trackCard:not(:disabled):hover{border-color:#afb3bd;transform:translate(3px)}.trackCard:disabled{cursor:default;opacity:.78}.trackCard.active{border:2px solid var(--orange);background:#fffaf7;box-shadow:0 5px 18px #ff5b221f}.trackNumber{color:#a4a9b3;font-family:Arial Black,Impact,sans-serif;font-size:.8rem;font-style:italic}.trackArt{background:linear-gradient(#7fd2ed 0 52%,#438e45 52%);border-radius:.55rem;height:68px;display:block;position:relative;overflow:hidden}.trackArt:after{content:"";background:#393b42;border:5px solid #f1f1ea;border-radius:50%;width:38px;height:84px;position:absolute;bottom:-20px;left:29px;transform:rotate(28deg)}.theme-snow .trackArt{background:linear-gradient(#1a3155 0 52%,#c6edf0 52%)}.theme-snow .trackArt:after{background:#27354a;border-color:#4cf0ff}.theme-desert .trackArt{background:linear-gradient(#f6b860 0 52%,#d49b43 52%)}.theme-desert .trackArt:after{border-color:#fff0c7}.trackInfo{gap:.18rem;min-width:0;display:grid}.trackInfo strong{letter-spacing:-.03em;text-transform:uppercase;font-family:Arial Black,Impact,sans-serif;font-size:.86rem;font-style:italic}.trackInfo small{color:#767d8d;font-size:.66rem;line-height:1.25}.difficulty{color:#338050;text-transform:uppercase;background:#e9f7ec;border-radius:999px;padding:.3rem .45rem;font-size:.58rem;font-weight:900}.difficulty.medium{color:#9a6810;background:#fff4cf}.difficulty.wild{color:#c34520;background:#ffe5dd}.selectedTick{background:var(--orange);color:#fff;border-radius:0 0 0 .65rem;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:-1px;right:-1px}.lapControl{background:#f3f4f4;border-radius:.8rem;justify-content:space-between;align-items:center;margin-top:.8rem;padding:.75rem;display:flex}.lapControl strong{text-transform:uppercase;align-items:center;gap:.4rem;margin-top:.2rem;font-family:Arial Black,Impact,sans-serif;font-size:.84rem;font-style:italic;display:flex}.stepper{background:#fff;border:1px solid #d8dbe0;border-radius:.65rem;align-items:center;display:flex;overflow:hidden}.stepper button{background:#fff;border:0;place-items:center;width:36px;height:36px;display:grid}.stepper button:disabled{color:#c5c7cd}.stepper span{border-left:1px solid #e2e3e6;border-right:1px solid #e2e3e6;place-items:center;width:36px;height:36px;font-weight:950;display:grid}.selectedTrackSummary{border:1px dashed #d6d8dd;border-radius:.75rem;align-items:center;gap:.65rem;margin-top:.7rem;padding:.55rem;display:flex}.selectedTrackSummary>div{flex:1;display:grid}.selectedTrackSummary small{color:#9297a2;letter-spacing:.1em;font-size:.55rem;font-weight:900}.selectedTrackSummary strong{font-size:.76rem}.selectedTrackSummary>span:last-child{background:var(--ink);color:#fff;border-radius:999px;padding:.3rem .42rem;font-size:.6rem;font-weight:900}.miniTrack{background:#4b9a50;border-radius:.4rem;width:43px;height:31px}.miniTrack.theme-snow{background:#7cc7d2}.miniTrack.theme-desert{background:#dda753}.racersPanel{position:sticky;top:.8rem}.playerCount{background:#edf0f2;border-radius:999px;padding:.33rem .5rem;font-size:.65rem}.racerList{gap:.4rem;margin-top:.85rem;display:grid}.racerRow{background:#fafafa;border:1px solid #e3e4e7;border-radius:.7rem;grid-template-columns:25px 30px 1fr auto auto;align-items:center;gap:.45rem;min-height:58px;padding:.45rem;display:grid;position:relative}.racerRow.self{background:#fff7f3;border-color:#ff5b2261}.gridNumber{color:#aaaeb7;text-align:center;font-family:Arial Black,Impact,sans-serif;font-size:.72rem;font-style:italic}.racerDot{border:3px solid #fff;border-radius:50% 50% 45% 45%;width:27px;height:27px;box-shadow:0 0 0 1px #ced1d8}.racerIdentity{gap:.1rem;min-width:0;display:grid}.racerIdentity strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.racerIdentity strong small{color:var(--orange);font-size:.5rem}.racerIdentity>span{color:#8b909d;align-items:center;gap:.25rem;font-size:.59rem;display:flex}.readyState{color:#9a9eaa;text-transform:uppercase;align-items:center;gap:.2rem;font-size:.58rem;font-weight:900;display:inline-flex}.readyState.ready{color:#19854d}.kickButton{color:#aaadb5;background:0 0;border:0;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.kickButton:hover{color:#d84517;background:#ffe8e0}.racerRow.waiting{color:#9a9faa;border-style:dashed;grid-template-columns:25px 24px 1fr;font-size:.68rem}.waitingPulse{border:2px dotted #aeb2ba;border-radius:50%;width:18px;height:18px;animation:4s linear infinite spin}.lobbyActions{border-top:1px solid #e5e6e8;gap:.55rem;margin-top:1rem;padding-top:1rem;display:grid}.secondaryAction{color:#4d5362;background:#f7f8f8;border:1px solid #d6d9df;border-radius:.75rem;justify-content:center;align-items:center;gap:.4rem;min-height:44px;font-weight:900;display:flex}.secondaryAction.readyAction{color:#197746;background:#ebfaef;border-color:#5bc786}.lobbyActions .startButton{min-height:48px;margin:0}.hostHint{color:#8a909e;text-align:center;margin:0;font-size:.68rem;line-height:1.4}.leaderboard{box-shadow:none;border-radius:.8rem;margin-top:.75rem}.leaderboard .sectionHeader{padding:.75rem .8rem .55rem}.recordList{margin:0;padding:0 .65rem .65rem;list-style:none;display:grid}.recordList li{color:#646b79;border-top:1px solid #ececef;grid-template-columns:28px 1fr auto;align-items:center;min-height:35px;font-size:.68rem;display:grid}.recordRank{color:#797f8d;background:#eef0f2;border-radius:50%;place-items:center;width:21px;height:21px;font-size:.58rem;font-weight:950;display:grid}.recordList li.podium .recordRank{color:#664900;background:#ffda57}.recordList li.rank2 .recordRank{color:#4b5563;background:#dce2ea}.recordList li.rank3 .recordRank{color:#6f351f;background:#e5b68d}.recordName{text-overflow:ellipsis;white-space:nowrap;padding-right:.4rem;font-weight:750;overflow:hidden}.recordList li>strong{color:var(--ink);font-variant-numeric:tabular-nums}.emptyBoard{color:#8b909c;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:90px;padding:1rem;font-size:.68rem;display:flex}.emptyBoard strong{color:#565d6c}.spinning{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.racePage{color:#fff;background:#111827;position:fixed;inset:0;overflow:hidden}.racePage>canvas{inset:0;width:100%!important;height:100%!important;position:absolute!important}.raceHudTop{z-index:20;pointer-events:none;background:linear-gradient(#070a13d9,#0000);justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:62px;padding:.7rem 1rem;display:flex;position:absolute;top:0;left:0}.raceLogo{font-family:Arial Black,Impact,sans-serif;font-size:.78rem;font-style:italic}.raceLogo span{background:var(--yellow);color:#171827;border-radius:.4rem;place-items:center;width:27px;height:27px;margin-right:.4rem;display:inline-grid}.raceLogo strong{color:var(--orange)}.raceTrackName{letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070a1394;border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.68rem;font-weight:900;display:flex}.raceHudTop button{color:#fff;pointer-events:auto;background:#070a1394;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:.35rem;padding:.48rem .7rem;font-size:.65rem;font-weight:800;display:flex}.racePosition{z-index:20;filter:drop-shadow(0 4px 2px #00000059);align-items:end;gap:.35rem;display:flex;position:absolute;top:78px;left:1rem}.racePosition strong{letter-spacing:-.1em;font-family:Arial Black,Impact,sans-serif;font-size:clamp(3rem,6vw,5.2rem);font-style:italic;line-height:.8}.racePosition sup{color:var(--yellow);letter-spacing:0;font-size:.32em}.racePosition span{color:#ffffffbd;text-transform:uppercase;font-size:.7rem;font-weight:900}.raceStats{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0d17b8;border:1px solid #ffffff21;border-radius:.85rem;display:flex;position:absolute;top:78px;right:1rem;overflow:hidden;box-shadow:0 10px 30px #0000002e}.raceStats>div{border-left:1px solid #ffffff1a;gap:.18rem;min-width:95px;padding:.55rem .75rem;display:grid}.raceStats>div:first-child{border:0}.raceStats span{color:#ffffff8c;letter-spacing:.1em;font-size:.52rem;font-weight:900}.raceStats strong{font-variant-numeric:tabular-nums;font-family:Arial Black,Impact,sans-serif;font-size:.86rem;font-style:italic}.raceStats i{color:#ffffff73;font-size:.75em}.speedometer{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle,#0a0d17b8 50%,#0a0d176b);border:2px solid #ffffff47;border-radius:50%;align-content:center;place-items:center;width:126px;height:126px;display:grid;position:absolute;bottom:1.1rem;right:1.2rem;box-shadow:inset 0 0 0 7px #ffffff0d,0 8px 35px #00000040}.speedometer svg{color:var(--yellow);position:absolute;top:17px}.speedometer strong{margin-top:17px;font-family:Arial Black,Impact,sans-serif;font-size:2.1rem;font-style:italic;line-height:1}.speedometer>span{color:#ffffff94;letter-spacing:.12em;font-size:.52rem;font-weight:900}.speedometer small{background:#b84316;border-radius:999px;padding:.28rem .5rem;font-size:.51rem;font-weight:950;position:absolute;bottom:-19px}.speedometer.boosting{border-color:#36eaff;box-shadow:inset 0 0 25px #36eaff52,0 0 30px #36eaff59}.controlsHint{z-index:20;color:#ffffff9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b1494;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .6rem;font-size:.6rem;display:flex;position:absolute;bottom:1.2rem;left:1rem}.controlsHint kbd{color:#fff;background:#ffffff1f;border:1px solid #ffffff3d;border-radius:.3rem;padding:.2rem .32rem;font-size:.55rem;font-weight:900}.raceAbilityHud{z-index:24;pointer-events:none;align-items:end;gap:.6rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.driftMeter{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b14a6;border:1px solid #ffffff26;border-radius:.6rem;gap:.28rem;width:132px;padding:.45rem .55rem;display:grid}.driftMeter>span{color:#ffffffad;letter-spacing:.1em;font-size:.49rem;font-weight:950}.driftMeter>i{background:#ffffff21;border-radius:99px;height:7px;overflow:hidden}.driftMeter b{border-radius:inherit;background:linear-gradient(90deg,#ffb52c,#ff4c21 60%,#36eaff);width:0;height:100%;transition:width 80ms linear;display:block;box-shadow:0 0 9px #ff6b21}.driftMeter.active{border-color:#ffb52ca6}.powerupButton{color:#fff;text-align:left;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:auto;background:#080b14bd;border:2px solid #ffffff4d;border-radius:.85rem;grid-template-rows:1fr 1fr;grid-template-columns:28px 1fr;align-items:center;min-width:118px;min-height:58px;padding:.45rem .65rem;display:grid;box-shadow:0 8px 24px #0000004d}.powerupButton svg{color:#7e879a;grid-row:1/3}.powerupButton strong{align-self:end;font-family:Arial Black,Impact,sans-serif;font-size:.7rem;font-style:italic}.powerupButton small{color:#ffffff80;letter-spacing:.08em;align-self:start;font-size:.46rem;font-weight:900}.powerupButton.turbo{border-color:#36eaff;box-shadow:0 0 22px #36eaff59}.powerupButton.turbo svg{color:#36eaff}.powerupButton.shield{border-color:#a78bfa;box-shadow:0 0 22px #a78bfa59}.powerupButton.shield svg{color:#c4b5fd}.powerupButton.spring{border-color:#ffe347;box-shadow:0 0 22px #ffe34752}.powerupButton.spring svg{color:#ffe347}.powerupButton:disabled{cursor:default;opacity:.65}.raceStatusPills{gap:.35rem;display:flex;position:absolute;bottom:calc(100% + .45rem);left:50%;transform:translate(-50%)}.raceStatusPills span{color:#d9f7ff;letter-spacing:.08em;white-space:nowrap;background:#084062b8;border:1px solid #7ddcffb3;border-radius:999px;padding:.28rem .48rem;font-size:.5rem;font-weight:950}.countdown{z-index:30;color:#fff;text-shadow:8px 8px 0 #171827, 12px 12px 0 var(--orange);pointer-events:none;font-family:Arial Black,Impact,sans-serif;font-size:clamp(8rem,20vw,17rem);font-style:italic;line-height:1;animation:.65s ease-out both countPop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-5deg)}.countdown.go{color:var(--yellow);font-size:clamp(6rem,16vw,13rem)}@keyframes countPop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(-5deg)}35%{opacity:1}to{transform:translate(-50%,-50%)scale(1)rotate(-5deg)}}.kartNameTag{color:#fff;white-space:nowrap;pointer-events:none;background:#0c0f18b8;border:1px solid #ffffff40;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:850}.mobileControls{display:none}.resultsBackdrop{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070a12bd;place-items:center;padding:1rem;display:grid;position:absolute;inset:0;overflow:auto}.resultsCard{width:min(580px,100%);box-shadow:0 30px 100px #0006, 7px 7px 0 var(--orange);color:var(--ink);text-align:center;background:#fffaf1;border:2px solid #ffffff40;border-radius:1.35rem;padding:1.4rem;position:relative}.winnerCrown{border:3px solid var(--ink);background:var(--yellow);width:58px;height:58px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:-28px;left:50%;transform:translate(-50%)rotate(-5deg)}.resultsCard>.eyebrow{margin-top:1.2rem}.resultsCard>h1{letter-spacing:-.07em;text-transform:uppercase;margin:.2rem 0 0;font-family:Arial Black,Impact,sans-serif;font-size:clamp(2rem,6vw,3.4rem);font-style:italic}.resultsCard>p{color:#6c7280;margin:.35rem 0 1rem;font-size:.78rem}.finishList{gap:.35rem;display:grid}.finishList>div{text-align:left;background:#fff;border:1px solid #e3e1dc;border-radius:.6rem;grid-template-columns:28px 18px 1fr auto;align-items:center;gap:.45rem;min-height:42px;padding:0 .55rem;font-size:.7rem;display:grid}.finishList>div>span{text-align:center;font-family:Arial Black,Impact,sans-serif;font-style:italic}.finishList i{border-radius:50%;width:14px;height:14px}.finishList small{color:#737987;font-variant-numeric:tabular-nums}.resultsCard .leaderboard{text-align:left}.resultActions{grid-template-columns:1.3fr .7fr;gap:.55rem;margin-top:.8rem;display:grid}.resultActions .startButton{min-height:45px;margin:0}.waitingForHost{color:#765500;background:#fff2c7;border-radius:.7rem;justify-content:center;align-items:center;gap:.4rem;font-size:.7rem;font-weight:800;display:flex}@media (width<=1180px){.heroSection{grid-template-columns:minmax(350px,.95fr) minmax(420px,1.05fr)}.lobbyGrid{grid-template-columns:minmax(280px,.8fr) minmax(410px,1.2fr)}.racersPanel{grid-column:1/-1;position:static}.racerList{grid-template-columns:repeat(2,1fr)}.lobbyActions{grid-column:1/-1}}@media (width<=800px){.homeNav,.topBar,.heroSection,.howItWorks,.lobbyIntro,.lobbyGrid{width:min(100% - 1.25rem,680px)}.heroSection{flex-direction:column;min-height:0;padding-top:2rem;display:flex}.heroCopy{width:100%}.heroCopy h1{font-size:clamp(3.8rem,17vw,6rem)}.heroVisual{width:100%}.heroVisual .garagePreview{height:480px}.howItWorks>div{grid-template-columns:1fr}.howItWorks article{min-height:125px}.lobbyIntro{flex-direction:column;align-items:start}.lobbyGrid{grid-template-columns:1fr}.racersPanel{grid-column:auto}.racerList{grid-template-columns:1fr}.topBar .textButton{font-size:0}.topBar .textButton svg{width:20px;height:20px}.raceTrackName{display:none}.raceStats{top:72px}.raceStats>div{min-width:78px;padding:.5rem}.raceStats>div:nth-child(3),.controlsHint{display:none}.mobileControls{z-index:25;pointer-events:none;justify-content:space-between;align-items:end;padding:0 1rem;display:flex;position:absolute;inset:auto 0 1.1rem}.touchSteer,.touchPedals{pointer-events:auto;gap:.5rem;display:flex}.mobileControls button{color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none;background:#090c1485;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.mobileControls{padding:0 .5rem}.touchSteer,.touchPedals{gap:.25rem}.mobileControls .touchDrift{background:#a64d0a99;border-color:#ffb836b3;align-self:center;width:42px;height:42px;font-size:.48rem;font-weight:950}.touchPedals button:first-child{background:#127a4b8c;border-color:#3eee9fa6;width:62px;height:62px}.speedometer{width:105px;height:105px;bottom:90px;right:1rem}.speedometer strong{font-size:1.7rem}.raceAbilityHud{bottom:92px}.driftMeter{display:none}.powerupButton{min-width:108px;min-height:50px}}@media (width<=520px){.homeNav{min-height:64px}.serverStatus{font-size:0}.serverStatus svg{width:18px;height:18px}.heroSection{gap:1rem}.heroCopy h1{margin-top:.8rem}.heroCopy>p{margin-top:1rem}.heroFacts{gap:.75rem}.heroVisual .garagePreview{border-radius:42% 42% 18% 18%;height:370px}.heroSticker{width:78px;height:78px;font-size:.8rem;right:0}.lobbyIntro{padding-top:1.3rem}.shareButton{justify-content:center;width:100%}.roomPill>span{display:none}.garagePreview{height:280px}.trackCard{grid-template-columns:25px 64px 1fr}.trackArt{height:58px}.difficulty{display:none}.raceLogo{font-size:0}.raceLogo span{margin:0;font-size:.75rem}.raceHudTop button{font-size:0}.raceHudTop button svg{width:19px;height:19px}.racePosition{top:72px}.racePosition strong{font-size:3.3rem}.raceStats{right:.6rem}.raceStats>div{min-width:70px}.resultActions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
