@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#effaf4;background:#071315;color-scheme:dark;--mint:#a7f4ce;--line:#adffd333;--display:'Space Grotesk',sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}#world{width:100%;height:100%;display:block;outline:0;touch-action:none}.game-shell{position:fixed;inset:0;isolation:isolate}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#061013cc,transparent 80%),linear-gradient(0deg,#03131666,transparent 25%,transparent 85%,#071519b0);z-index:1}.topbar{position:absolute;top:0;left:0;right:0;padding:24px 34px;display:flex;justify-content:space-between;align-items:center;z-index:5;pointer-events:none}.topbar>*{pointer-events:auto}.brand{font:700 24px var(--display);letter-spacing:-1px;display:flex;gap:10px;align-items:center}.brand svg{height:31px;width:30px;color:var(--mint);transform:rotate(-9deg)}.brand span{font-weight:400}.top-actions{display:flex;gap:10px;align-items:center}.top-link{font-size:12px;color:#afc6bb;padding:10px 14px;border:1px solid #a2c5b329;border-radius:6px;background:#0b202466}.utility{display:grid;place-items:center;width:37px;height:37px;border:1px solid #a2c5b337;border-radius:6px;background:#0b202499;color:#bad4c6;font-size:16px}.utility:hover,.top-link:hover{background:#264334}.loading{position:absolute;inset:0;display:grid;place-content:center;gap:16px;text-align:center;z-index:20;background:#071719}.loading strong{font:500 32px var(--display);letter-spacing:-1px}.loading span{font-size:14px;color:#93b8a5}.loading-track{width:250px;height:3px;background:#294234;margin:5px auto}.loading-track i{display:block;width:10%;height:100%;background:var(--mint);transition:width .3s}.loading.hidden{display:none}.menu{position:absolute;z-index:4;left:7%;top:50%;transform:translateY(-45%);max-width:540px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:2px;color:#a7c8b6;font-weight:500;margin-bottom:18px}.eyebrow i{width:6px;height:6px;background:var(--mint);border-radius:100%;box-shadow:0 0 12px #a7f4ce88}.menu h1{font:700 clamp(66px,7.8vw,122px)/.9 var(--display);letter-spacing:-7px;text-shadow:0 4px 30px #0003}.menu h1 em{font-style:normal;color:var(--mint);display:block;margin-top:5px}.menu>p{font-size:16px;line-height:1.7;color:#b0c6bc;max-width:350px;margin:24px 0 27px}.menu-label{font-size:10px;letter-spacing:2px;color:#82a292;margin-bottom:10px}.racer-choice{display:flex;gap:8px;margin-bottom:23px}.racer-choice button{display:flex;align-items:center;gap:6px;background:#102729b3;border:1px solid #6e9e8245;border-radius:5px;font-size:12px;padding:9px 12px;color:#b5cebf;transition:.2s}.racer-choice button i{background:var(--color);width:6px;height:6px;border-radius:50%}.racer-choice button[aria-pressed=true]{border-color:var(--mint);color:#f0fff5;background:#254b3880}.racer-choice button:hover{background:#274c39}.primary{background:var(--mint);color:#0c251a;display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:6px;font-size:16px;padding:16px 21px;font-weight:700;min-width:270px;box-shadow:0 0 30px #b3ffd313}.primary:hover{background:#d1ffe5;transform:translateY(-1px)}.primary kbd{background:#00000012;border:1px solid #0b2b1829;font-size:10px;padding:4px 6px;border-radius:4px}.menu-options{display:flex;align-items:center;gap:15px;margin-top:16px;font-size:12px;color:#97b5a2}.menu-options label{display:flex;gap:7px;align-items:center;cursor:pointer}.menu-options input{accent-color:var(--mint)}.menu-options button{background:none;color:#b8d7c4;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:0}.record{font-size:11px;color:#819f8a;margin-top:15px;min-height:15px}.circuit-card{position:absolute;right:34px;bottom:29px;z-index:3;width:225px;padding:19px 20px;border:1px solid #accac72b;border-radius:8px;background:#071c218c;backdrop-filter:blur(12px)}.circuit-card small{font-size:10px;letter-spacing:2px;color:#93b4a3}.circuit-card h2{font:500 21px var(--display);margin:8px 0 13px}.circuit-card>div{display:flex;justify-content:space-between;border-top:1px solid #bdd9c32a;padding-top:13px;font-size:11px;color:#91b09e}.circuit-card b{color:#daeadf;font-weight:500}.build-stamp{position:absolute;bottom:27px;left:34px;font-size:10px;color:#7c9c90;letter-spacing:.5px;z-index:2}.hud{position:absolute;inset:0;z-index:3;pointer-events:none}.hud[hidden]{display:none}.hud-top{position:absolute;top:93px;left:34px;right:34px;display:flex;gap:28px;align-items:flex-start}.position-panel{display:flex;align-items:baseline;gap:4px;min-width:90px}.position-panel strong{font:600 69px/.9 var(--display);letter-spacing:-4px}.position-panel>span{font:500 22px var(--display);color:#8aaf99}.hud-lap{border-left:1px solid #bad7bb42;padding-left:24px}.hud-lap>small,.hud-time>small{display:block;font-size:10px;letter-spacing:2px;color:#94b59f;margin-bottom:6px}.hud-lap>div{font:500 27px var(--display);letter-spacing:-1px}.hud-lap span{color:#9ab4a1;font-size:18px}.hud-time>div{font:500 27px var(--display);font-variant-numeric:tabular-nums;letter-spacing:-1px}.standings{position:absolute;left:35px;top:185px;display:grid;gap:6px;width:145px}.standing{display:flex;gap:10px;align-items:center;padding:7px 9px;font-size:11px;color:#bfd5c9;border-radius:4px;background:#0920247a;border:1px solid transparent}.standing.you{background:#baf7cd15;border:1px solid #b4f4cc50;color:#dfffeb}.standing>i{width:5px;height:5px;border-radius:100%;background:var(--racer)}.standing small{color:#77a08b;margin-left:auto;font-size:8px}.standings .rank{color:#78a086;font-size:10px;width:8px}.minimap{position:absolute;right:27px;top:97px;width:185px;height:180px;background:#071d2166;border:1px solid #b1d6be20;border-radius:12px;backdrop-filter:blur(5px)}.minimap canvas{width:100%;height:100%}.minimap span{position:absolute;bottom:10px;left:0;width:100%;text-align:center;font-size:8px;letter-spacing:2px;color:#8cac95}.speedometer{position:absolute;bottom:36px;right:35px;min-width:168px;text-align:right}.speed-number{font:500 82px/.9 var(--display);letter-spacing:-6px;text-shadow:0 3px 20px #0005}.speedometer small{font-size:10px;letter-spacing:3px;color:#98b3a1;display:block;margin-top:8px}.speed-bars{display:flex;justify-content:flex-end;gap:3px;margin-top:17px}.speed-bars i{display:block;width:7px;height:13px;transform:skewX(-15deg);background:#91bba329}.speed-bars i.active{background:var(--mint);box-shadow:0 0 10px #b0ffcd4d}.item-hud{position:absolute;bottom:33px;left:35px;display:flex;gap:13px;align-items:center}.item-icon{display:grid;place-items:center;width:63px;height:63px;border:1px solid #adfacd69;background:#102b26c9;border-radius:11px;font:31px var(--display);color:var(--mint);box-shadow:inset 0 0 22px #a2fac012}.item-label small{font-size:9px;letter-spacing:1.5px;color:#91b59c;display:block;margin-bottom:6px}.item-label strong{font:500 17px var(--display);display:block}.item-label kbd{display:inline-block;font:9px var(--display);letter-spacing:1px;border:1px solid #92b9a03d;padding:3px 5px;border-radius:3px;color:#a6c7b0;margin-top:7px}.drift-hud{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:195px;text-align:center}.drift-hud small{font-size:9px;letter-spacing:2px;color:#abcdb6}.drift-track{height:4px;background:#9ac9ac24;border-radius:4px;margin-top:9px;overflow:hidden}.drift-track i{display:block;width:0;height:100%;background:#93f5ce;transition:background .2s}.drift-hud p{margin-top:7px;font-size:9px;color:#769880}.center-message{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);z-index:6;pointer-events:none;text-align:center;white-space:nowrap;font:700 100px var(--display);color:#c3ffde;text-shadow:0 3px 0 #1b5b3a,0 0 60px #9befb570;letter-spacing:-4px}.center-message.event{top:30%;font-size:26px;letter-spacing:1px;color:#d2ffe1;text-shadow:0 3px 20px #0008}.status-message{position:absolute;left:50%;top:95px;transform:translateX(-50%);font-size:11px;letter-spacing:2px;color:#f2cda5;z-index:4;text-shadow:0 2px 6px #0008}.panel-overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#020f15ad;backdrop-filter:blur(9px)}.panel-overlay[hidden]{display:none}.panel{border:1px solid #648f7970;border-radius:13px;background:#0a2025eb;padding:34px;width:420px;max-width:calc(100vw - 30px);max-height:92vh;overflow:auto;box-shadow:0 25px 90px #0004}.panel h2{font:500 35px var(--display);letter-spacing:-1.5px;margin-bottom:12px}.panel>p{font-size:14px;color:#a2bcac;line-height:1.7;margin-bottom:21px}.panel .primary{width:100%;margin-top:20px}.secondary{width:100%;padding:12px;border:1px solid #658e774d;color:#b3cbbd;background:#18362e66;border-radius:6px;font-size:13px;margin-top:10px}.controls-list{display:grid;gap:14px;margin:25px 0}.controls-list>div{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#b6cfc0}.controls-list kbd{font:11px var(--display);padding:6px 9px;border:1px solid #7fa68b4d;border-radius:5px;color:#d7f1df}.result-position{font:500 88px/.9 var(--display);letter-spacing:-6px;color:var(--mint);margin:22px 0}.result-position small{font-size:25px;letter-spacing:-1px;color:#8bac96}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #bfdac42a;padding-top:19px}.result-stats small{display:block;font-size:10px;letter-spacing:1px;color:#83a58f;margin-bottom:6px}.result-stats strong{font:500 21px var(--display)}.touch-controls{position:absolute;bottom:25px;left:20px;right:20px;z-index:7;display:none;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:8px}.touch-controls button{pointer-events:auto;width:55px;height:55px;border:1px solid #b9eacc66;border-radius:50%;background:#16362c9e;color:#d7f7e3;font-size:22px;user-select:none;touch-action:none}.touch-controls button[data-key=throttle]{background:#98f2c877;color:#f3fff7}.touch-controls button[data-key=drift],.touch-controls button[data-key=item]{font-size:10px}.touch-controls button:active{background:#9ce8b8ad}.error-message{color:#ffc2ac!important;max-width:460px;line-height:1.6}.menu.hidden,.circuit-card.hidden,.build-stamp.hidden{display:none}.racing .vignette{background:linear-gradient(0deg,#03131680,transparent 23%,transparent 72%,#061418a0)}.racing .top-link{display:none}.racing .brand{font-size:21px}.racing .brand svg{height:25px}.sound-on{color:var(--mint);border-color:var(--mint)}[hidden]{display:none!important}
@media(max-width:800px){.topbar{padding:20px}.brand{font-size:21px}.menu{left:6%;max-width:430px}.menu h1{font-size:82px;letter-spacing:-5px}.menu>p{font-size:14px;max-width:290px}.racer-choice{gap:5px}.racer-choice button{padding:8px;font-size:10px}.circuit-card{right:20px;bottom:22px;width:185px;padding:15px}.circuit-card h2{font-size:18px}.build-stamp{left:20px;bottom:22px;font-size:9px}.hud-top{left:21px;top:90px;gap:17px}.position-panel strong{font-size:52px}.position-panel{min-width:62px}.hud-lap{padding-left:16px}.hud-lap>div,.hud-time>div{font-size:21px}.minimap{width:140px;height:140px;top:84px;right:18px}.standings{left:20px;top:163px;width:118px}.standing{font-size:10px;padding:6px;gap:6px}.item-hud{left:20px;bottom:28px}.speedometer{right:21px;bottom:30px}.speed-number{font-size:66px}.drift-hud{width:150px}.center-message.event{font-size:19px}.status-message{top:155px;font-size:10px}}
@media(pointer:coarse){.racing .touch-controls{display:flex}.racing .speedometer{bottom:110px}.racing .item-hud{bottom:115px}.racing .drift-hud{bottom:39px}.drift-hud p{display:none}.drift-hud{width:90px}}
@media(max-width:560px){.topbar{padding:16px}.brand{font-size:19px}.brand svg{width:24px}.top-link{display:none}.menu{top:48%;left:7%}.menu h1{font-size:76px}.menu .eyebrow{font-size:9px;letter-spacing:1.5px}.menu>p{margin:20px 0;font-size:14px;width:255px}.racer-choice{gap:4px}.racer-choice button{padding:9px 7px;font-size:10px}.primary{min-width:260px;font-size:15px;padding:15px 18px}.menu-options{font-size:11px}.menu-options button{font-size:11px}.circuit-card{bottom:22px;left:7%;right:auto;width:86%;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.circuit-card small{display:none}.circuit-card h2{font-size:17px;margin:0}.circuit-card>div{padding:0;border:0;gap:14px;font-size:9px}.build-stamp{display:none}.hud-top{top:77px;left:17px;gap:12px}.position-panel{min-width:55px}.position-panel strong{font-size:46px}.position-panel>span{font-size:16px}.hud-lap{padding-left:12px}.hud-lap>small,.hud-time>small{font-size:8px;letter-spacing:1px}.hud-lap>div,.hud-time>div{font-size:20px}.hud-time{display:none}.hud-lap span{font-size:13px}.minimap{width:117px;height:117px;right:13px;top:75px}.standings{left:16px;top:138px;width:101px;gap:4px}.standing{font-size:9px;padding:5px}.standing small{font-size:7px}.minimap span{font-size:6px;bottom:8px}.speedometer{right:18px}.speed-number{font-size:58px}.speedometer small{font-size:8px}.speed-bars i{width:4px;height:9px}.item-icon{width:44px;height:44px;font-size:24px}.item-hud{left:18px;gap:8px}.item-label strong{font-size:13px}.item-label small{font-size:7px}.item-label kbd{font-size:7px}.drift-hud{width:88px}.drift-hud small{font-size:7px}.center-message{font-size:78px}.center-message.event{font-size:15px;white-space:normal;width:90%;top:38%}.status-message{top:208px;font-size:8px}.panel{padding:26px}.touch-controls{left:14px;right:14px;bottom:27px}.touch-controls button{width:42px;height:42px;font-size:18px}.touch-controls>div{gap:5px}.touch-controls button[data-key=drift],.touch-controls button[data-key=item]{font-size:8px}}
@media(max-height:620px){.menu{top:52%;transform:translateY(-42%)}.menu h1{font-size:70px}.menu>p{margin:15px 0}.menu .eyebrow{margin-bottom:12px}.racer-choice{margin-bottom:14px}.record{display:none}.circuit-card{bottom:17px}.build-stamp{display:none}}
@media(max-width:700px){.racing .touch-controls{display:flex}.racing .speedometer{bottom:109px}.racing .item-hud{bottom:113px}.racing .drift-hud{bottom:40px;width:80px}.drift-hud p{display:none}}
@media(max-width:560px){.menu h1{font-size:clamp(56px,19.4vw,76px)}}
@media(max-width:560px) and (max-height:700px){.menu h1{font-size:58px}.menu{top:47%}.menu>p{margin:14px 0}.circuit-card{display:none}}
.network-status{font-size:10px;letter-spacing:1px;color:#a7f4ce;border:1px solid #a7f4ce33;border-radius:5px;padding:8px 10px;background:#092024b3}.practice-button{display:block;background:none;color:#a6c8b5;font-size:12px;padding:10px 0 0;text-decoration:underline;text-underline-offset:4px}.menu .connection-note{font-size:12px;line-height:1.5;color:#efd5a3;margin:10px 0 0;max-width:340px;min-height:18px}.menu .connection-note:empty{display:none}@media(max-width:560px){.network-status{font-size:8px;padding:6px}.top-actions{gap:6px}.racing .network-status{position:absolute;top:205px;right:14px}.menu{transform:translateY(-43%)}}
.menu-options{flex-wrap:wrap;gap:10px 15px;max-width:calc(100vw - 50px)}.menu-options .rewards-button{color:var(--mint)}
.graphics-select{display:flex;align-items:center;gap:8px;font-size:12px;color:#b6d2c2}.graphics-select select{font:inherit;color:#dffaea;background:#16312e;border:1px solid #7fa68b70;border-radius:5px;padding:5px 8px;cursor:pointer}.graphics-select select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.graphics-settings{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0 10px}.graphics-settings>span{font-size:11px;color:#a7c8b6;font-variant-numeric:tabular-nums}.panel .graphics-hint{font-size:12px;line-height:1.6;margin-bottom:15px}.racing .minimap{backdrop-filter:none;background:#071d21b3}.game-shell[data-graphics=smooth] .speed-bars i.active{box-shadow:none}
.results-card{width:520px}.results-card .result-position{font-size:64px;margin:16px 0}.results-card .result-stats{gap:12px}.result-rewards{margin-top:22px;padding-top:18px;border-top:1px solid #bfdac42a}.result-rewards h3{font:500 18px var(--display);margin:0 0 4px}.reward-kind{font-size:11px!important;color:#a9c8b5!important;line-height:1.5!important;margin:0 0 13px!important}.race-reward{display:flex;align-items:center;gap:12px;border:1px solid #75958535;border-radius:8px;padding:11px 12px;margin-top:8px;background:#0c2427}.race-reward.earned{border-color:#a5e8bd77;background:linear-gradient(115deg,#284234,#102a29)}.race-reward>div{flex:1;min-width:0}.race-reward strong{display:block;font:500 13px var(--display)}.race-reward div>span{display:block;margin-top:4px;font-size:10px;color:#9fbbae;line-height:1.5}.race-reward>small{font-size:8px;letter-spacing:1px;color:#89a99b}.race-reward.earned>small{color:#baf3c8}.badge-emblem{display:grid;place-items:center;flex-shrink:0;width:38px;height:42px;border:1px solid currentColor;border-radius:10px 10px 15px 15px;background:#132e2a;color:#ecd299;font:26px var(--display)}.badge-lap{color:#c6b0f4}.badge-finish{color:#9decc9}.reward-status{font-size:11px;line-height:1.6;color:#91b29e;margin-top:12px}.trophy-panel{width:540px}.trophy-panel>p{margin-bottom:16px}.badge-card{display:flex;align-items:center;gap:18px;margin:12px 0;padding:17px;border:1px solid #bfdac430;border-radius:10px;background:#102829}.badge-card.earned{border-color:#a5e8bd77;background:linear-gradient(110deg,#253e33,#0f2829)}.badge-card.locked .badge-emblem{opacity:.45}.badge-card .badge-emblem{width:52px;height:58px;font-size:35px}.badge-card h3{font:500 18px var(--display);margin:5px 0}.badge-card small{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:#9bb8a7}.badge-card p{font-size:12px;color:#a2bcae;line-height:1.5;margin:0 0 9px}.badge-card strong{font-size:11px;font-weight:500;color:#c1eace}.badge-counts{display:block;font-size:10px;color:#86a994;margin-top:4px}.trophy-panel .reward-rules{font-size:11px;line-height:1.6;margin:16px 0 12px;color:#8fac9b}.trophy-panel .reward-storage{font-size:10px;color:#7e9e8d;line-height:1.5;margin:0}.trophy-panel .primary{margin-top:18px}
@media(max-width:560px){.results-card{padding:23px}.results-card h2{font-size:29px}.race-reward{gap:9px;padding:9px}.race-reward>small{font-size:7px;letter-spacing:.3px}.race-reward strong{font-size:12px}.race-reward .badge-emblem{width:31px;height:36px;font-size:23px}.badge-card{gap:12px;padding:13px}.badge-card .badge-emblem{width:42px;height:48px;font-size:29px}.badge-card h3{font-size:16px}.trophy-panel{padding:24px}.menu-options{gap:10px 12px}}
