:root{--bg:#070910;--panel:#0e121b;--line:#252d3d;--text:#f7f7f4;--muted:#929bad;--acid:#d7ff3f;--blue:#4bb8ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;min-height:100vh}.hidden{display:none!important}.noise{position:fixed;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid #ffffff14}.brand{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.12em;display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;background:var(--acid);color:#070910;display:grid;place-items:center;transform:skew(-8deg);font-style:italic}.join-view{min-height:calc(100vh - 70px);display:grid;grid-template-columns:1.2fr minmax(320px,470px);gap:7vw;align-items:center;padding:7vw}.eyebrow,.step{font-weight:800;font-size:12px;letter-spacing:.22em;color:var(--acid)}h1,h2{font-family:"Bebas Neue",sans-serif;font-weight:400;line-height:.9;margin:12px 0}.join-copy h1{font-size:clamp(68px,9vw,142px)}.join-copy h1 span{color:transparent;-webkit-text-stroke:1px #fff}.subhead,.muted,.fine-print{color:var(--muted);line-height:1.6}.auth-card{background:linear-gradient(145deg,#141a25,#0a0d14);border:1px solid var(--line);padding:clamp(24px,4vw,48px);box-shadow:0 35px 100px #000}.auth-card h2{font-size:54px}.auth-card label,.studio label{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--muted);margin:22px 0 8px}.auth-card input,.studio input,.studio select{width:100%;background:#070910;border:1px solid #30394a;color:#fff;padding:15px;font:700 15px Inter;outline:none}.auth-card input:focus,.studio input:focus,.studio select:focus{border-color:var(--acid)}.btn{border:0;padding:16px 22px;font:800 11px Inter;letter-spacing:.12em;cursor:pointer}.btn-primary{background:var(--acid);color:#080a0f;width:100%;margin-top:20px}.btn-ghost{background:#ffffff0a;color:#fff;border:1px solid #ffffff24}.text-btn,.copy-btn{border:0;background:none;color:var(--muted);font-weight:800;letter-spacing:.1em;cursor:pointer}.fine-print{font-size:11px}.locker{padding:70px clamp(20px,6vw,90px);min-height:calc(100vh - 70px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:24px}.section-heading h2{font-size:clamp(55px,8vw,105px)}.room-code{font-size:10px;color:var(--muted);letter-spacing:.14em}.room-code strong{display:block;font:42px "Bebas Neue";color:var(--acid)}.copy-btn{font-size:9px;padding:0}.locker-status{display:flex;gap:25px;padding:18px 0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em}.live-dot{color:var(--acid);margin-left:auto}.live-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid);margin-right:7px}.locker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.bay{min-height:310px;background:var(--panel);border:1px solid var(--line);position:relative;overflow:hidden}.bay.mine{border-color:var(--acid);box-shadow:inset 0 -3px var(--acid)}.bay-photo{height:220px;width:100%;object-fit:cover;background:linear-gradient(145deg,#18202c,#0a0d14)}.bay-placeholder{height:220px;display:grid;place-items:center;color:#596274;font:24px "Bebas Neue";letter-spacing:.12em}.bay-info{padding:14px 16px}.bay-info b{font-size:15px;text-transform:uppercase}.bay-info span{display:block;color:var(--muted);font-size:10px;margin-top:5px}.racer-no{position:absolute;right:10px;top:5px;font:64px "Bebas Neue";color:#ffffff22}.ready-pill{position:absolute;left:12px;top:12px;padding:5px 8px;background:#0a0d14d9;color:var(--acid);font-size:9px;font-weight:800}.edit-btn{position:absolute;right:12px;bottom:12px}.commissioner-bar{margin-top:22px;border:1px solid #d7ff3f55;padding:18px;display:flex;align-items:center;justify-content:space-between}.commissioner-bar span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.studio{position:fixed;z-index:10;right:0;top:0;height:100vh;width:min(560px,100%);background:#0b0f17;border-left:1px solid var(--line);padding:40px;overflow:auto;box-shadow:-30px 0 90px #000}.studio h2{font-size:60px}.studio-close{position:absolute;right:22px;top:18px;border:0;background:none;color:#fff;font-size:36px;cursor:pointer}.photo-upload{height:250px!important;background:#131a25;display:grid!important;place-items:center;overflow:hidden;cursor:pointer}.photo-upload input{display:none}.photo-upload img{width:100%;height:100%;object-fit:cover;display:none}.photo-upload span{color:var(--acid)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.ready-check{display:flex!important;align-items:center;gap:10px}.ready-check input{width:auto}.ready-check span{color:#fff}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:var(--acid);color:#070910;padding:13px 20px;font-weight:800;z-index:30}@media(max-width:780px){.join-view{grid-template-columns:1fr;padding:55px 20px}.join-copy h1{font-size:21vw}.section-heading{align-items:flex-start;flex-direction:column}.locker{padding-top:45px}.locker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bay{min-height:245px}.bay-photo,.bay-placeholder{height:165px}.form-grid{grid-template-columns:1fr}.studio{padding:34px 22px}.brand{font-size:12px}}

.commissioner-actions{display:flex;gap:10px;flex-wrap:wrap}.btn.compact{width:auto;margin:0}.race-view{padding:44px clamp(16px,5vw,70px) 80px;min-height:calc(100vh - 70px);background:radial-gradient(circle at 50% 0,#131f36 0,#070910 45%,#04060a 100%)}.race-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.race-topline h2{font-size:clamp(58px,8vw,112px);margin-bottom:0}.race-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff16;border:1px solid #ffffff16;margin:22px 0}.race-hud>div{background:#0b1019;padding:15px 18px}.race-hud span{display:block;color:var(--muted);font-size:9px;letter-spacing:.15em;font-weight:800}.race-hud strong{display:block;margin-top:5px;font:34px "Bebas Neue";letter-spacing:.03em}.race-arena{position:relative;min-height:610px;overflow:hidden;border:1px solid #26344a;background:linear-gradient(#101b2f 0 29%,#08111d 29% 37%,#b26c31 37% 100%);box-shadow:0 35px 90px #000}.arena-lights{position:absolute;inset:0 0 auto 0;height:140px;background:radial-gradient(circle at 12% 40%,#fff8 0 2px,transparent 3px),radial-gradient(circle at 28% 28%,#fff7 0 2px,transparent 3px),radial-gradient(circle at 52% 32%,#fff8 0 2px,transparent 3px),radial-gradient(circle at 74% 25%,#fff7 0 2px,transparent 3px),radial-gradient(circle at 91% 42%,#fff8 0 2px,transparent 3px);background-size:110px 70px;filter:drop-shadow(0 0 12px #9bc6ff);opacity:.8}.crowd{position:absolute;top:150px;left:0;right:0;height:90px;background:repeating-linear-gradient(90deg,#182232 0 6px,#0e151f 6px 12px),linear-gradient(#26374d,#111925);opacity:.75;clip-path:polygon(0 25%,100% 0,100% 100%,0 100%)}.track-perspective{position:absolute;left:0;right:0;bottom:0;top:220px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 74px),linear-gradient(90deg,#9f5d2c,#c27a3d 49%,#a45f2e);perspective:900px}.track-perspective:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0005,transparent 12%,transparent 88%,#0005),repeating-linear-gradient(90deg,transparent 0 17%,#ffffff10 17% 17.2%)}.finish-banner{position:absolute;right:1.4%;top:0;bottom:0;width:42px;background:repeating-linear-gradient(45deg,#f5f5f5 0 8px,#171717 8px 16px);color:#fff;writing-mode:vertical-rl;text-orientation:mixed;font-size:8px;letter-spacing:.15em;display:flex;align-items:center;justify-content:center;z-index:3}.race-track{position:relative;z-index:2;padding:8px 0 12px}.race-lane{height:74px;position:relative;border-bottom:1px solid #ffffff1c}.racer-token{position:absolute;top:4px;width:108px;transition:left .45s linear;transform:translateX(-50%);text-align:center;filter:drop-shadow(0 10px 7px #0008)}.racer-face{width:47px;height:47px;border-radius:50%;overflow:hidden;border:3px solid #fff;background:#172236;margin:0 auto -5px;position:relative;z-index:3}.racer-face img{width:100%;height:100%;object-fit:cover}.racer-face span{display:grid;place-items:center;height:100%;font-weight:900}.kart-shell{height:31px;border-radius:16px 16px 8px 8px;background:linear-gradient(180deg,var(--suit),#151a22);border:2px solid var(--accent);position:relative;box-shadow:inset 0 -7px #0005}.kart-shell:before,.kart-shell:after{content:"";position:absolute;bottom:-5px;width:14px;height:14px;border-radius:50%;background:#080a0e;border:2px solid #4a5260}.kart-shell:before{left:8px}.kart-shell:after{right:8px}.kart-shell span{font:16px "Bebas Neue";line-height:28px;color:#fff;text-shadow:0 1px 2px #000}.racer-token>b{display:block;margin-top:8px;font-size:9px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-bottom{display:grid;grid-template-columns:minmax(260px,.9fr) 1.1fr;gap:14px;margin-top:14px}.standings-panel,.commentary-panel{border:1px solid var(--line);background:#0b1018;padding:16px}.panel-title{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--acid);margin-bottom:12px}.standing-row{height:52px;display:grid;grid-template-columns:30px 36px 1fr;gap:10px;align-items:center;border-top:1px solid #ffffff12}.standing-row>span{font:24px "Bebas Neue";color:#718099}.standing-face{width:31px;height:31px;border-radius:50%;overflow:hidden;background:#161f2d}.standing-face img{width:100%;height:100%;object-fit:cover}.standing-row b{font-size:11px;text-transform:uppercase}.commentary-panel{font:clamp(24px,3vw,46px) "Bebas Neue";line-height:1.05;display:flex;flex-direction:column;justify-content:flex-start}.commentary-panel .panel-title{font:800 10px Inter}.final-results{margin-top:24px;padding:30px;background:linear-gradient(145deg,#141a24,#080b11);border:1px solid #d7ff3f55;box-shadow:0 25px 80px #000}.final-results h2{font-size:clamp(56px,8vw,104px)}#finalResultsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.final-card{display:grid;grid-template-columns:58px 66px 1fr;align-items:center;gap:12px;background:#0d121b;border:1px solid #252d3d;padding:10px}.final-card.winner{border-color:var(--acid);box-shadow:inset 4px 0 var(--acid)}.final-place{font:42px "Bebas Neue";color:var(--muted)}.final-card.winner .final-place{color:var(--acid)}.final-card img{width:58px;height:58px;border-radius:50%;object-fit:cover}.final-card b{display:block;text-transform:uppercase}.final-card small{display:block;color:var(--muted);margin-top:4px}.race-setup-note{padding:14px;border:1px solid #ffffff18;background:#ffffff08;color:var(--muted);font-size:12px;line-height:1.5;margin-top:18px}
@media(max-width:780px){.commissioner-bar{align-items:flex-start;gap:14px;flex-direction:column}.commissioner-actions{width:100%}.commissioner-actions .btn{flex:1}.race-view{padding-top:28px}.race-topline{align-items:flex-start;flex-direction:column}.race-hud{grid-template-columns:1fr 1fr}.race-hud>div:last-child{grid-column:1/-1}.race-arena{min-height:560px}.track-perspective{top:185px}.race-lane{height:72px}.racer-token{width:83px}.racer-face{width:42px;height:42px}.race-bottom{grid-template-columns:1fr}.commentary-panel{min-height:150px}.final-results{padding:20px}#finalResultsGrid{grid-template-columns:1fr}}
