@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#fff4df;background:#263a3f;font-synthesis:none;--ink:#243840;--cream:#fff4df;--accent:#f6bd69;--panel:#243840ee}*{box-sizing:border-box}body{margin:0;overflow:hidden}#game{display:block;width:100vw;height:100vh}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit;cursor:pointer;color:inherit;background:none;border:none}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.42;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.12)}header{position:absolute;inset:22px 28px auto;display:flex;align-items:center;gap:22px;z-index:2}.brand{font-family:Barlow Condensed,sans-serif;font-weight:800;font-size:25px;letter-spacing:1.5px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;background:#fff4dfe8;padding:7px 12px 7px 7px;border-radius:9px;box-shadow:0 3px 12px #24384015}.brand-icon{background:#f47a46;color:var(--cream);border-radius:5px;display:inline-grid;place-items:center;width:31px;height:31px;font-size:26px}.build-label{font-size:9px;letter-spacing:1.8px;color:var(--ink);font-weight:700}.build-label i{display:inline-block;width:5px;height:5px;background:#ef7844;border-radius:50%;margin-right:7px}.preferences{margin-left:auto;display:flex;align-items:center;gap:9px}.preferences label{display:flex;gap:8px;align-items:center;background:var(--panel);border:1px solid #ffffff20;padding:8px 11px;border-radius:7px;font-size:8px;letter-spacing:1px}.preferences select{font-size:10px;color:var(--cream);padding:4px}.preferences option{background:var(--ink)}#sound{border:1px solid #ffffff20;border-radius:7px;padding:13px 14px;font-size:9px;letter-spacing:1px;background:var(--panel)}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#24384040,transparent 65%)}.panel{position:absolute;top:50%;left:28px;transform:translateY(-50%);width:320px;padding:26px;background:var(--panel);border:1px solid #fff4df30;border-radius:12px;box-shadow:0 16px 50px #24384025}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--accent);font-weight:700}h1{font-family:Barlow Condensed,sans-serif;text-transform:uppercase;font-size:75px;line-height:.94;letter-spacing:-.5px;margin:17px 0 22px;font-weight:800}h1 em{font-style:normal;color:var(--accent)}.panel p{font-size:12px;line-height:1.8;color:#e7e7df;margin:0 0 23px}.primary{background:var(--accent);color:var(--ink);border-radius:6px;min-height:47px;padding:14px 20px;font-size:11px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;justify-content:space-between;gap:40px;box-shadow:0 4px 15px #16271e25}.primary span{font-size:21px}.welcome-controls{display:flex;gap:17px;margin-top:19px;font-size:8px;letter-spacing:.7px;color:#d0dad8;align-items:center}.welcome-controls span{display:flex;align-items:center;gap:6px}kbd{font:inherit;background:#ffffff0d;border:1px solid #ffffff25;border-radius:3px;padding:4px 5px;color:var(--cream)}.camera-views{position:absolute;right:28px;top:86px;display:flex;align-items:center;gap:4px;padding:5px;border-radius:8px;background:var(--panel);border:1px solid #ffffff20}.camera-views button{font-size:9px;letter-spacing:.8px;padding:10px 12px;border-radius:4px;color:#d1ddde}.camera-views button[aria-pressed=true]{background:var(--cream);color:var(--ink);font-weight:700}.camera-views small{font-size:8px;color:#c6d0cf;padding:0 8px;letter-spacing:.7px}.objective{position:absolute;left:28px;top:86px;width:260px;text-align:left;background:var(--panel);border:1px solid #ffffff20;padding:14px 17px;border-radius:8px}.objective strong{display:block;font-family:Barlow Condensed,sans-serif;font-size:25px;margin:5px 0 8px}.objective small{font-size:9px;color:#d1dbd8}.progress{height:4px;background:#ffffff18;margin:0 0 9px;border-radius:4px;overflow:hidden}.progress div{height:100%;width:0;background:var(--accent);transition:width .1s linear}.raceboard{position:absolute;left:28px;top:210px;width:260px;padding:13px 17px;background:var(--panel);border:1px solid #ffffff20;border-radius:8px;display:grid;gap:12px}.racer-row{display:grid;grid-template-columns:22px 38px 1fr 62px;align-items:center;gap:7px;font-size:10px}.racer-dot{width:21px;height:21px;border-radius:4px;background:var(--car);color:#243840;display:grid;place-items:center;font-size:9px;font-weight:800}.racer-bar{height:5px;border-radius:4px;background:#ffffff15;overflow:hidden}.racer-fill{height:100%;background:var(--car)}.racer-note{font-size:8px;text-align:right;color:#d1dbd8}.racer-row.claiming{color:var(--car)}.countdown{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font:800 110px Barlow Condensed,sans-serif;color:var(--cream);text-shadow:0 4px 25px #24384070;text-align:center;pointer-events:none}.countdown small{display:block;font:700 10px DM Sans,sans-serif;letter-spacing:3px;color:var(--accent)}.impact{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #f07844;opacity:0}footer{position:absolute;bottom:72px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:flex-end}.track-label{display:flex;flex-direction:column;gap:6px;background:var(--panel);padding:12px 16px;border-radius:8px;border:1px solid #ffffff20}.track-label strong{font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:600}.track-label>span:last-child{font-size:8px;letter-spacing:1.2px;color:#c7d3cf}.drive-hud{display:flex;align-items:center;gap:23px;background:var(--panel);padding:12px 17px;border-radius:8px;border:1px solid #ffffff20}.speed{display:flex;align-items:baseline;gap:7px}.speed strong{font-family:Barlow Condensed,sans-serif;font-size:54px;line-height:1}.speed span{font-size:8px;color:#c7d3cf}.divider{height:39px;width:1px;background:#ffffff20}.drive-hud>div:last-child{display:flex;flex-direction:column;gap:6px}.drive-hud>div:last-child strong{font-family:Barlow Condensed,sans-serif;font-size:26px}.controls{position:absolute;bottom:0;left:0;right:0;padding:16px 28px;display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.5px;background:#243840f2;border-top:1px solid #ffffff20}.controls span{display:flex;align-items:center;gap:5px;color:#c7d3cf}.controls button{font-size:9px;letter-spacing:.5px}.controls button:first-of-type{margin-left:auto}.victory{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:32px 38px;background:#243840f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;border:1px solid #f6bd6950;border-radius:12px;min-width:350px;max-width:90vw}.victory h2,.pause-overlay h2{font-family:Barlow Condensed,sans-serif;font-size:60px;text-transform:uppercase;margin:10px 0;color:var(--cream)}.victory p{font-size:12px;line-height:1.7}.victory button{margin:23px auto 0}.pause-overlay{position:absolute;inset:0;background:#243840c9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.pause-overlay>button:last-child{font-size:10px;letter-spacing:1px}.hidden{display:none!important}.loading{position:absolute;inset:0;background:var(--ink);display:flex;justify-content:center;align-items:center;gap:15px;font-size:11px;letter-spacing:2px}.loading span{width:15px;height:15px;border:2px solid #f6bd6930;border-top-color:var(--accent);border-radius:50%;animation:spin 1s infinite linear}.error{position:absolute;inset:20%;padding:30px;background:var(--ink);border:1px solid var(--accent);z-index:10}@keyframes spin{to{transform:rotate(360deg)}}body[data-mode=intro] footer{bottom:22px}@media(max-width:900px){.build-label,.camera-views small{display:none}.controls{gap:12px}}@media(max-width:750px){header{inset:14px 16px auto;gap:8px}.brand{font-size:18px;letter-spacing:.6px;padding:5px 8px 5px 5px}.brand-icon{width:26px;height:26px}.preferences{gap:5px}.preferences label{padding:5px 7px}.preferences label>span{display:none}#sound{padding:11px 8px;font-size:8px}.panel{left:16px;width:280px;padding:22px}.panel h1{font-size:64px}.camera-views{top:303px;left:16px;right:16px;justify-content:center}.camera-views button{flex:1;padding:9px 7px;font-size:8px}.objective{left:16px;top:74px;width:235px}.objective strong{font-size:23px}.raceboard{left:16px;top:195px;width:235px;padding:12px 15px}.racer-row{grid-template-columns:20px 33px 1fr 58px;gap:6px}.countdown{font-size:82px;top:47%}footer{left:16px;right:16px;bottom:102px}.track-label{padding:9px 11px}.track-label strong{font-size:20px}.track-label>span:last-child{font-size:6px}.drive-hud{gap:10px;padding:10px}.speed strong{font-size:37px}.drive-hud .eyebrow{font-size:8px;letter-spacing:1px}.controls{padding:13px 16px;gap:9px;flex-wrap:wrap}.controls span,.controls button{font-size:8px}.controls button:first-of-type{margin-left:0}.victory{min-width:0;width:90%;padding:28px}.victory h2{font-size:52px}body[data-mode=intro] .camera-views{top:72px}body[data-mode=intro] footer{bottom:16px}}@media(max-height:650px)and (min-width:751px){.panel h1{font-size:56px}.panel{padding:20px}.welcome-controls{margin-top:12px}.panel p{margin-bottom:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.local-settings{display:flex;flex-direction:column;gap:9px;margin-top:15px}.local-settings label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1px}.local-settings select{padding:8px;background:#fff5dd;color:#283b37;border:1px solid #283b3740;border-radius:5px;font:inherit}.local-settings button{background:transparent;border:1px solid #283b3740;color:#283b37;padding:10px;border-radius:5px;font-size:10px;letter-spacing:1px}@media(max-height:750px){.panel h1{font-size:52px}.panel{padding:18px}.local-settings{margin-top:10px;gap:6px}.welcome-controls{margin-top:12px}}.local-settings button{color:var(--cream);border-color:#fff5dd55}.panel{max-height:calc(100dvh - 180px);overflow-y:auto}.contest-notice{position:absolute;left:50%;top:160px;transform:translate(-50%);max-width:calc(100vw - 40px);padding:10px 18px;background:#fff4dfee;color:var(--ink);border-radius:6px;font:700 18px Barlow Condensed,sans-serif;text-align:center;pointer-events:none}.replay-banner{position:absolute;top:155px;right:28px;display:flex;align-items:center;gap:14px;padding:12px;background:var(--panel);border:1px solid var(--accent);border-radius:6px;font-size:11px;letter-spacing:1px}.replay-banner button{font-size:10px}.victory #watch-replay{display:block;margin-top:16px;font-size:10px;letter-spacing:1px}@media(max-width:750px){.contest-notice{top:355px;font-size:16px}.replay-banner{top:350px;right:16px}}.online-button{display:block;width:100%;border:1px solid #f6bd6970;border-radius:5px;padding:12px;margin-top:10px;color:var(--accent);font-size:10px;letter-spacing:1px}.rooms{position:absolute;z-index:25;left:50%;top:50%;transform:translate(-50%,-50%);width:480px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;background:#243840fa;border:1px solid #f6bd6950;border-radius:12px;padding:28px;box-shadow:0 15px 80px #14232c99}.rooms h2{font:700 42px Barlow Condensed,sans-serif;margin:8px 0}.rooms h3{letter-spacing:2px;font-size:13px}.rooms p{font-size:12px;line-height:1.5}.rooms label{display:flex;flex-direction:column;gap:6px;font-size:9px;letter-spacing:1px;margin:12px 0}.rooms input,.rooms select{width:100%;background:#fff4df;color:var(--ink);border:0;border-radius:5px;padding:10px;font:inherit;font-size:12px}.rooms .primary{margin:8px 0;font-size:11px}.room-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0}.room-actions button{font-size:11px}.room-member{display:flex;gap:10px;align-items:center;font-size:12px;padding:9px 0;border-bottom:1px solid #ffffff15}.room-member>span:last-child{margin-left:auto;font-size:10px}.room-swatch{width:16px;height:16px;border-radius:4px}.room-close{position:absolute;right:16px;top:12px;font-size:25px}#room-error{color:#ffb39c}#room-settings{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}#room-apply,#room-leave{font-size:10px;margin:10px 0}.racer-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.racer-row{grid-template-columns:22px minmax(38px,1fr) 1fr 62px}.series-status{position:absolute;right:28px;top:142px;max-width:260px;padding:11px 14px;background:var(--panel);border-radius:7px;display:flex;flex-direction:column;gap:6px;font-size:10px;pointer-events:none}.series-status strong{color:var(--accent);letter-spacing:1px}.series-status span{line-height:1.5}.series-row{display:grid;grid-template-columns:24px 1fr 58px;gap:9px;align-items:center;text-align:left;font-size:12px;padding:6px 0;border-bottom:1px solid #ffffff16}.series-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-row b{text-align:right}#series-results h3{font-size:10px;letter-spacing:1px;margin:14px 0 5px}.podium{display:flex;flex-direction:column;gap:5px;margin:15px auto 4px;padding:12px;background:#ffffff09;border-bottom:7px solid var(--winner);border-radius:5px}.podium span{font-size:9px;letter-spacing:2px}.podium strong{font:700 30px Barlow Condensed,sans-serif;color:var(--winner)}.podium b{font:700 38px Barlow Condensed,sans-serif}.victory{max-height:90dvh;overflow-y:auto}@media(max-width:750px){.series-status{right:16px;top:350px;max-width:210px;padding:8px;font-size:9px}}.podium{flex-direction:row;align-items:flex-end;justify-content:center;background:transparent;border:0;padding:0;gap:8px}.podium-place{display:flex;flex:1;flex-direction:column;justify-content:flex-end;min-height:var(--height);padding:10px 8px;background:#ffffff09;border-bottom:7px solid var(--winner);border-radius:5px;min-width:0}.podium-place strong{font-size:20px;overflow-wrap:anywhere}.podium-place span{font-size:8px;letter-spacing:1px}.podium-place b{font-size:30px}.panel .controller-status{font-size:10px;line-height:1.5;margin:12px 0 0;color:#c7d3cf}.controller-help{text-align:center;font-size:12px;line-height:1.9;padding:0 18px;max-width:620px;color:#e7e7df}.panel{top:94px;transform:none;max-height:calc(100dvh - 210px);overflow-y:auto}@media(max-height:900px){.panel h1{font-size:52px}.panel{padding:18px}.local-settings{gap:6px;margin-top:10px}.welcome-controls{margin-top:12px}}@media(max-width:750px){.panel{top:132px;max-height:calc(100dvh - 250px)}}#welcome #online{margin-top:0;margin-bottom:10px}
