@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--lime:#d9fa42;--ink:#111412;--muted:#87928a;--line:#ffffff20}*{box-sizing:border-box}body{margin:0;background:#111412;color:#f1f3e9;font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button{color:inherit}#scene{position:fixed;inset:0;z-index:-2}canvas{display:block;width:100%;height:100%}#vignette{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#10141088,transparent 55%),linear-gradient(0deg,#111412 0%,transparent 60%)}header{height:104px;display:flex;align-items:center;justify-content:space-between;margin:0 4.5%;border-bottom:1px solid var(--line);position:relative;z-index:3}.brand-mark{display:grid;place-items:center;font-size:48px;font-weight:800;line-height:1;transform:skew(-14deg);color:var(--lime)}#brand{display:flex;gap:13px;color:inherit;text-decoration:none;font-family:'Barlow Condensed',Impact,sans-serif;font-size:24px;font-weight:800;line-height:.9;letter-spacing:1px}.sub-brand{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:5px;margin-top:8px}nav{display:flex;gap:40px;height:100%}.nav{border:0;background:none;font-size:11px;letter-spacing:1.7px;font-weight:700;position:relative;opacity:.5;padding:0 5px}.nav.active{opacity:1}.nav.active:after{content:'';height:3px;position:absolute;bottom:-1px;background:var(--lime);left:0;right:0}.nav i{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%;margin-left:6px}.wallet{border:1px solid #65715a;background:#17201870;padding:13px 17px;display:flex;align-items:center;gap:14px;font-size:11px;border-radius:3px}.sol-mark{font-size:26px;color:var(--lime);line-height:16px}.page{padding:42px 4.5% 20px;min-height:calc(100vh - 158px)}.eyebrow{font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:10px;font-weight:600;color:#c6cdbb}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}.tag{border:1px solid #ffffff26;margin-left:12px;padding:5px 8px;font-size:8px}h1,h2{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:800;font-size:clamp(72px,8.6vw,144px);line-height:.89;letter-spacing:-2px;margin:24px 0 24px;position:relative;pointer-events:none}h1 span,h2 em{color:var(--lime);font-style:normal}.hero-description{font-size:13px;line-height:1.8;color:#aeb8ac;max-width:290px}.vehicle-label{position:absolute;right:8%;top:53%;display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:2px}.vehicle-label div span{display:block;font-size:8px;letter-spacing:1px;color:#a4ac9c;margin-top:7px}.crosshair{font-size:25px;color:var(--lime)}.label-line{width:70px;height:1px;background:#ffffff44}.hero-bottom{display:grid;grid-template-columns:1.3fr 1fr .9fr;gap:4vw;margin-top:65px;align-items:end}.play-card{background:#1b201be8;border:1px solid #505b4155;padding:20px;max-width:420px;border-radius:5px;backdrop-filter:blur(10px)}.card-top{display:flex;justify-content:space-between}.small-label{font-size:9px;font-weight:600;letter-spacing:1.5px;color:#9eaa95}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:18px 0}.mode-tabs button{border:1px solid #ffffff19;text-align:left;background:#ffffff03;padding:12px 10px;font-size:12px;font-weight:700;border-radius:3px}.mode-tabs button span{display:block;font-size:8px;letter-spacing:1px;margin-top:5px;font-weight:400;color:#9ba68e}.mode-tabs button.selected{border-color:#d9fa4280;background:#d9fa420b}.primary{border:0;background:var(--lime);color:#161c0b;min-height:54px;padding:15px 20px;font-size:12px;font-weight:800;letter-spacing:1px;width:100%;display:flex;justify-content:space-between;align-items:center;border-radius:2px}.primary:hover:not(:disabled){background:#eaff8b}.arrow{font-size:27px;font-weight:400;line-height:20px}.card-note{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#8f9b84;margin-top:12px}.hero-info{padding-bottom:5px}.info-row{display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding:12px 0}.info-row>span:first-child{font-size:9px;color:#6c7b65}.info-row strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;min-width:58px}.info-row>span:last-child{font-size:11px;color:#9ba58f;margin-left:auto}.text-button{background:none;border:0;font-size:9px;letter-spacing:1px;padding:0;font-weight:600;display:flex;align-items:center;gap:20px;color:#c3cdb6}.hero-info>.text-button{margin-top:20px}.sol-card{border-left:1px solid var(--line);padding:5px 0 5px 32px;display:flex;align-items:start;flex-direction:column;gap:12px}.sol-icon{color:var(--lime);font-size:38px;line-height:28px}.sol-card strong{font-size:20px;line-height:1.3;font-weight:500;letter-spacing:-.5px}.status-pill{color:#b5bca9;font-size:8px;border:1px solid #8a94744a;background:#68745615;border-radius:20px;padding:5px 9px;letter-spacing:1px}.sol-card .text-button{font-size:8px;margin-top:3px}footer{margin:15px 4.5% 0;border-top:1px solid var(--line);padding:20px 0;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#74806c}footer>span:nth-child(2){font-size:7px}footer button{background:none;border:0;font-size:9px;letter-spacing:1px;color:#9da88f}.hidden{display:none!important}.garage-controls{max-width:360px;background:#172018d9;padding:24px;margin-top:32px;border:1px solid var(--line)}.swatches{display:flex;gap:13px;margin:20px 0}.swatches button{background:var(--paint);width:29px;height:29px;border-radius:50%;border:3px solid #151b14;outline:1px solid #ffffff30}.swatches button.selected{outline:2px solid var(--lime);outline-offset:3px}.garage-controls p{font-size:11px;line-height:1.8;color:#9da98f}.outline{border:1px solid #ffffff30;background:#141a1480;padding:14px 17px;font-size:10px;letter-spacing:1px;border-radius:3px}.garage-controls>.outline{margin:12px 0 20px;width:100%}.reward-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;max-width:1040px;margin:40px 0}.reward-main,.reward-side{background:#151c16ed;border:1px solid var(--line);padding:30px;backdrop-filter:blur(20px)}#reward-address{font-size:16px;margin:20px 0;overflow-wrap:anywhere}.reward-numbers{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:25px 0}.reward-numbers span{display:block;font-size:8px;letter-spacing:1px;color:#9ca58e}.reward-numbers strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:44px;font-weight:600;display:block;margin-top:10px}.reward-numbers small{font-size:16px;color:#a7b690}.reward-numbers strong.inactive{font-size:30px;color:#a6b191}.reward-layout p{font-size:12px;line-height:1.8;color:#9da98f}.reward-side>div{display:flex;flex-direction:column;gap:7px;border-bottom:1px solid var(--line);padding:21px 0;font-size:12px;font-weight:400}.reward-side>div span{font-size:9px;color:#89947d}.reward-side>div span.ready{color:var(--lime)}#loading{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;border:1px solid #788553;background:#20271af5;box-shadow:0 10px 70px #0008;display:flex;align-items:center;gap:18px;padding:17px 24px;min-width:330px;border-radius:4px;pointer-events:none}.loader-icon{color:var(--lime);font-size:32px}#loading b{display:block;font-size:10px;letter-spacing:1px}#loading-progress{display:block;font-size:10px;color:#a7b195;margin-top:6px}#model-retry{pointer-events:auto;border:0;background:var(--lime);color:#111;padding:10px;font-size:9px}#hud{position:fixed;inset:0;pointer-events:none;z-index:4}#hud button{pointer-events:auto}.hud-top{display:flex;justify-content:space-between;align-items:start;padding:25px 30px}.scoreboard{display:flex;background:#0d1618e8;border:1px solid #ffffff28;box-shadow:0 8px 35px #0005;border-radius:4px;overflow:hidden}.team{display:flex;align-items:center;gap:25px;padding:15px 22px;border-left:4px solid var(--lime)}.team small{font-size:10px;letter-spacing:2px}.team b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:42px;line-height:1}.team.rival{border:0;border-right:4px solid #ff6839}.clock{text-align:center;padding:12px 30px;border-left:1px solid #ffffff22;border-right:1px solid #ffffff22}.clock>span{font-family:'Barlow Condensed',Impact,sans-serif;font-size:30px;display:block}.clock small{font-size:7px;letter-spacing:2px;color:#a2aca8}.hud-bottom{position:absolute;bottom:30px;left:30px;right:30px;display:flex;align-items:end;justify-content:space-between}.telemetry b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:65px;font-weight:600;line-height:.8}.telemetry span{font-size:10px;margin-left:8px;color:#9daaaa}.game-help{display:flex;gap:20px;font-size:8px;letter-spacing:1px;color:#aab9ad}.boost-widget{text-align:right;width:160px}.boost-widget>span{font-size:8px;letter-spacing:2px;color:#c4d4b7}.boost-widget strong{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:55px;line-height:1;color:var(--lime)}.boost-track{height:5px;background:#ffffff25;margin-top:10px}.boost-track i{display:block;width:100%;height:100%;background:var(--lime)}#match-message{position:absolute;top:35%;left:0;right:0;text-align:center;font-family:'Barlow Condensed',Impact,sans-serif;font-size:90px;font-weight:800;letter-spacing:2px;text-shadow:0 5px 50px #000;color:var(--lime)}#match-message small{display:block;font-family:'DM Sans',sans-serif;font-size:13px;color:white;letter-spacing:4px;margin-top:10px}dialog{width:min(520px,90vw);background:#1a211a;color:#f0f4e8;border:1px solid #5c6848;border-radius:5px;padding:40px;box-shadow:0 20px 150px #0009}dialog::backdrop{background:#060a08ba;backdrop-filter:blur(8px)}#close-modal{position:absolute;right:15px;top:12px;background:none;border:0;font-size:26px;color:#99a68b}dialog h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:42px;line-height:1;margin:15px 0 25px;font-weight:700}dialog p{font-size:12px;line-height:1.8;color:#b3bea9}dialog a{color:var(--lime)}dialog .primary{margin-top:16px}dialog .outline{width:100%;margin-top:12px}.control-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.control-row kbd{color:var(--lime);font-size:11px}.setting-row{display:flex;justify-content:space-between;align-items:center;margin:25px 0;font-size:12px}.setting-row select{background:#26301e;color:#fff;padding:9px;border:1px solid #ffffff30}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);z-index:30;background:#d9fa42;color:#182008;padding:15px 24px;border-radius:4px;font-size:12px;max-width:90vw;transition:transform .2s;pointer-events:none}#toast.show{transform:translateX(-50%) translateY(0)}#mobile-controls{display:none}.playing #vignette{background:linear-gradient(0deg,#07101070,transparent 25%)}
@media(min-width:1500px){.hero-bottom{margin-top:12vh}h1{margin-top:40px}}@media(max-height:800px) and (min-width:900px){header{height:80px}.page{padding-top:28px}h1,h2{font-size:95px;margin:20px 0}.hero-bottom{margin-top:38px}.hero-description{font-size:12px}.vehicle-label{top:48%}.play-card{padding:15px}.info-row{padding:9px 0}footer{padding:16px 0}}@media(max-width:900px){header{height:82px}.wallet{font-size:10px;padding:11px;gap:8px}nav{gap:18px}h1,h2{font-size:90px}.hero-bottom{grid-template-columns:1.3fr 1fr;gap:30px;margin-top:240px}.sol-card{display:none}.vehicle-label{top:58%;right:6%}.tag{display:none}.reward-layout{grid-template-columns:1fr}.page{min-height:calc(100vh - 155px)}footer>span:nth-child(2){max-width:240px;text-align:center;font-size:6px}.game-help{display:none}}@media(max-width:600px){header{margin:0 5%;height:76px;flex-wrap:wrap}#brand{font-size:19px;gap:6px}.brand-mark{font-size:34px}.sub-brand{font-size:7px;letter-spacing:3px}nav{gap:16px;position:absolute;top:82px;left:0;height:28px}.nav{font-size:9px}.wallet{font-size:9px}.wallet>span:last-child{display:none}.page{padding:65px 5% 10px}.eyebrow{font-size:7px;letter-spacing:1.5px}h1,h2{font-size:71px;letter-spacing:-1.5px;margin:23px 0}.hero-description{font-size:11px}.hero-bottom{grid-template-columns:1fr;margin-top:220px;gap:25px}.hero-info{display:none}.play-card{max-width:none}.vehicle-label{top:440px;right:6%;font-size:8px}.vehicle-label div span{font-size:6px}.label-line{width:30px}footer>span:nth-child(2){display:none}footer{font-size:6px;margin:15px 5% 0}.garage-controls{margin-top:210px}.reward-layout{margin-top:25px}.reward-main,.reward-side{padding:20px}.hud-top{padding:12px;gap:10px}.hud-top>.outline{padding:10px}.hud-top>.outline span{display:none}.team{padding:10px 12px;gap:10px}.team b{font-size:30px}.team small{font-size:8px;letter-spacing:0}.clock{padding:7px 16px}.clock>span{font-size:25px}.clock small{font-size:6px;letter-spacing:1px}.hud-bottom{bottom:140px;left:20px;right:20px}.telemetry b{font-size:45px}.boost-widget{width:110px}.boost-widget strong{font-size:40px}.boost-widget>span{font-size:7px}#match-message{font-size:65px}.playing #mobile-controls{display:flex;position:absolute;bottom:15px;left:15px;right:15px;justify-content:space-between;align-items:end;pointer-events:auto}#mobile-controls>div:first-child{text-align:center}#mobile-controls button{width:43px;height:42px;margin:2px;background:#14201bbd;border:1px solid #ffffff50;border-radius:6px;touch-action:none;user-select:none;font-size:18px}#mobile-controls>div:last-child{display:flex;gap:8px}#mobile-controls>div:last-child button{width:60px;height:60px;font-size:10px;background:#d9fa4230;border-color:#d9fa4270}dialog{padding:28px}dialog h3{font-size:35px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Roadster League: restrained electric showroom. */
:root{--lime:#e8f4ff;--ink:#080b10;--muted:#8b96a5;--line:#d6e9ff24}body{background:#080b10;color:#f4f6fa}#vignette{background:linear-gradient(90deg,#080b10bf,transparent 58%),linear-gradient(0deg,#080b10 0%,transparent 70%)}header{height:92px}.brand-mark{font-size:38px;color:#c3e6ff}#brand{font-family:'DM Sans',sans-serif;font-size:17px;font-weight:600;letter-spacing:3px}.sub-brand{font-size:8px;letter-spacing:6px;font-weight:400}.nav.active:after{height:1px}.wallet{background:#ffffff05;border-color:#ffffff35;border-radius:0}.page{padding-top:52px}.eyebrow{color:#b3c2d4;font-size:9px;letter-spacing:2.5px}.tag{border:0;color:#67788d}.live-dot{background:#addefe;box-shadow:0 0 15px #62c2ff}h1,h2{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(58px,6.3vw,110px);line-height:1.05;font-weight:500;letter-spacing:-3.5px;margin:30px 0 22px}h1 span,h2 em{color:#b9c9d8}.hero-description{color:#8e9caa;font-size:12px;line-height:1.9}.vehicle-label{top:51%;right:7%;font-size:10px}.vehicle-label div span{color:#9aa8b8;font-size:7px}.hero-bottom{grid-template-columns:1.35fr 1.1fr .7fr;gap:4vw;margin-top:90px}.play-card{max-width:465px;padding:20px;background:linear-gradient(135deg,#1a2330df,#0c1119ee);border:1px solid #d6e9ff26;border-radius:0}.mode-tabs{grid-template-columns:1fr 1fr 1fr;gap:6px}.mode-tabs button{font-size:9px;padding:13px 8px;border-radius:0;letter-spacing:.5px}.mode-tabs button span{font-size:7px;letter-spacing:.3px;color:#8b9aac}.mode-tabs button.selected{background:#d7eeff0d;border-color:#b8d4ef80}.primary{background:#e8edf2;border-radius:0;color:#0c141c;font-size:10px;letter-spacing:1.6px;min-height:49px}.primary:hover:not(:disabled){background:#fff}.small-label{color:#8b9bae;font-size:8px}.card-note{font-size:7px;color:#78899c;letter-spacing:.7px}.flight-specs{display:flex;justify-content:space-between;gap:18px;margin:28px 0}.flight-specs>div{display:flex;flex-direction:column;gap:12px}.flight-specs strong{font-size:34px;letter-spacing:-1px;font-weight:400}.flight-specs strong span{font-size:13px;color:#94a6b8;margin:0 3px}.flight-specs small{font-size:7px;letter-spacing:1px;color:#8393a7}.text-button{color:#c6d3e0;font-size:8px;letter-spacing:1.4px}.sol-card{padding-left:24px;gap:14px}.sol-card strong{font-size:19px;font-weight:400;letter-spacing:0}.status-pill{color:#8195a9;border-color:#8195a944;background:#8195a908;font-size:7px;border-radius:0}.garage-controls,.reward-main,.reward-side{background:#0d1520eb}.garage-controls p,.reward-layout p{color:#91a1b3}footer{color:#637388}.outline{background:#111b2780;border-radius:0}dialog{background:#111923;border-color:#6f869b65;border-radius:0}dialog h3{font-family:'DM Sans',sans-serif;font-size:34px;letter-spacing:-1.2px;font-weight:500}dialog p{color:#9cacbd}.setting-row select{background:#1d2a39}#loading{background:#111b28f5;border-color:#536c8490}#toast{background:#e8edf2;color:#0c141c}.join-row{display:flex;gap:10px;margin-top:18px}.join-row input{min-width:0;flex:1;border:1px solid #d6e9ff40;background:#050a11;color:white;font:500 17px 'DM Sans',sans-serif;letter-spacing:3px;padding:12px;text-transform:uppercase}.join-row .outline{width:auto;margin:0}.altimeter{font-size:8px;letter-spacing:2px;margin-top:14px;color:#a2b9cd}.altimeter strong{font-weight:400;margin-left:8px;color:white}#network-status{color:#b4ddfa}#lobby-code{letter-spacing:6px;color:#d0e9ff}.playing #mobile-controls>div:last-child button{background:#b4ddfa22;border-color:#b4ddfa88}
@media(min-width:1500px){.hero-bottom{margin-top:14vh}}@media(max-height:800px) and (min-width:900px){header{height:76px}.page{padding-top:32px}h1,h2{font-size:75px;margin-top:24px}.hero-bottom{margin-top:62px}.vehicle-label{top:48%}}
@media(max-width:1100px){.hero-bottom{grid-template-columns:1.35fr 1fr;gap:30px}.sol-card{display:none}.hero-info{min-width:0}}@media(max-width:900px){h1,h2{font-size:74px}.hero-bottom{margin-top:255px}.vehicle-label{top:54%}.flight-specs{gap:12px}.flight-specs strong{font-size:30px}}
@media(max-width:600px){header{height:76px}#brand{font-size:13px;letter-spacing:2px}.brand-mark{font-size:27px}.sub-brand{font-size:6px;letter-spacing:4px}.page{padding-top:66px}h1,h2{font-size:clamp(42px,11.5vw,69px);letter-spacing:-2px}.hero-description{font-size:11px}.hero-bottom{grid-template-columns:1fr;margin-top:250px}.vehicle-label{top:430px}.hero-info{display:none}.play-card{max-width:none}.eyebrow{font-size:7px;letter-spacing:1.7px}.mode-tabs button{font-size:9px}.mode-tabs button span{font-size:6px}.wallet{padding:10px;font-size:8px;gap:7px}.sol-mark{font-size:20px}}

@media(max-width:600px){#mobile-controls>div:last-child{gap:4px}#mobile-controls>div:last-child button{width:48px;height:54px;margin:1px}}
