:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#17110d;--ink-2:#221a14;--panel:#1c1510d1;--panel-solid:#1c1510;--line:#e9cda22e;--sand:#e9cda2;--sand-dim:#b39a78;--amber:#f0a03c;--hot:#e0592a;--green:#6fd08c;--red:#e05252;--purple:#b98cf0;--surface-1:#16100cb8;--surface-2:#e9cda20d;--surface-3:#e9cda21a;--glass-blur:blur(14px) saturate(1.2);--accent:var(--amber);--focus:0 0 0 2px var(--ink), 0 0 0 4px var(--amber);--ease:cubic-bezier(.2, .8, .2, 1);--dur:.22s;--display:"Avenir Next Condensed", "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--hud-pad:clamp(10px, 2vw, 22px);--radius:12px;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--ink);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{color:var(--sand);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{position:fixed;inset:0}canvas{touch-action:none;width:100%;height:100%;display:block}[hidden]{display:none!important}button{font:inherit;color:inherit;border:1px solid var(--line);cursor:pointer;background:#e9cda20f;border-radius:8px;padding:9px 16px;transition:background .14s,border-color .14s,transform 60ms}button:hover:not(:disabled){background:#e9cda221;border-color:#e9cda266}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,[role=tab]:focus-visible{box-shadow:var(--focus);outline:none}button.primary{background:linear-gradient(180deg, var(--amber), var(--hot));color:#2a1608;border-color:#0000;font-weight:650}button.primary:hover:not(:disabled){filter:brightness(1.08);background:linear-gradient(180deg, var(--amber), var(--hot))}input[type=text],input[type=number]{font:inherit;color:inherit;border:1px solid var(--line);background:#00000052;border-radius:8px;width:100%;padding:9px 12px}input[type=text]:focus,input[type=number]:focus{border-color:var(--amber);outline:none}input[type=range]{width:100%;accent-color:var(--amber)}.screen{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;background:radial-gradient(120% 90% at 50% 0,#342418db,#0c0806f5);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(880px,100%);padding:clamp(18px,3vw,32px);box-shadow:0 30px 90px #0000008c}.card h1{font:italic 800 clamp(30px, 5vw, 48px) / 1 var(--display);letter-spacing:.01em;text-transform:uppercase;background:linear-gradient(92deg, var(--sand), var(--amber));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 4px}.card .tagline{color:var(--sand-dim);margin:0 0 22px}.field{margin-bottom:16px}.field>label{letter-spacing:.08em;text-transform:uppercase;color:var(--sand-dim);margin-bottom:6px;font-size:12px;display:block}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.classes{margin-bottom:2px}.record-list .cls{font:600 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sand-dim);border-radius:4px;padding:3px 5px}.record-list .cls:empty{display:none}.record-list .cls.grippy{color:var(--green);background:#6fd08c1f}.record-list .cls.loose{color:var(--amber);background:#f0a03c24}.record-list .cls.sim{color:#9fe8ff;background:#57d9f01f}.models{flex-wrap:wrap;gap:6px;display:flex}.model{border:1px solid var(--line);color:var(--sand-dim);letter-spacing:.02em;cursor:pointer;background:#ffffff0a;border-radius:9px;padding:7px 12px;font:600 12px/1 inherit}.model:hover{color:var(--sand);border-color:#e9cda266}.model[aria-pressed=true]{color:var(--ink);background:var(--amber);border-color:var(--amber)}.models.disabled{opacity:.4;pointer-events:none}.sub-field+.sub-field{margin-top:12px}.sub-label{letter-spacing:.1em;text-transform:uppercase;color:var(--sand-dim);margin-bottom:6px;font-size:10.5px;font-weight:700;display:block}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;background-clip:padding-box;border:2px solid #0000;border-radius:8px;width:30px;height:30px;padding:0}.swatch.stock{position:relative}.swatch.stock:after{content:"";border:1.5px solid #0000;border-color:#ffffffbf #0000 #0000 #ffffffbf;border-radius:3px;position:absolute;inset:5px}.swatch[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 2px #00000080}.muted{color:var(--sand-dim);font-size:13px}.hint{color:var(--sand-dim);font-size:12px}.error{color:var(--red);min-height:18px;font-size:13px}kbd,.keybind{font:11px/1 var(--mono);border:1px solid var(--line);white-space:nowrap;color:inherit;background:#e9cda21a;border-radius:5px;padding:4px 7px}.keybind{cursor:pointer;min-width:42px}.keybind:hover{border-color:#e9cda273}.keybind.listening{border-color:var(--amber);color:var(--amber)}.tracks{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.track{text-align:left;justify-items:start;gap:2px;padding:9px 12px;display:grid}.track strong{font-weight:600}.track span{color:var(--sand-dim);font-size:11px;font-family:var(--mono)}.track[aria-pressed=true]{border-color:var(--amber);background:#f0a03c24}.track .pb{color:var(--amber)}.track .pb:empty{display:none}.tracks.busy .track{opacity:.55;cursor:progress}.tracks.busy .track.loading{opacity:1;border-color:var(--amber)}.track.loading .pb{color:var(--sand-dim)}.record-list{gap:4px;max-height:200px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.record-list li{background:#00000040;border-radius:8px;align-items:baseline;gap:10px;padding:5px 10px;font-size:13px;display:flex}.record-list .pos{font:11px/1 var(--mono);color:var(--sand-dim);min-width:14px}.record-list .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-list .time{font-family:var(--mono);margin-left:auto}.record-list li:first-child .time{color:var(--amber)}.champ-list{gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.champ-list li{background:#00000040;border-radius:8px;align-items:baseline;gap:10px;padding:5px 10px;font-size:13px;display:flex}.champ-list li.you{background:#f0a03c1a}.champ-list .pos{font:11px/1 var(--mono);color:var(--sand-dim);min-width:14px}.champ-list .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.champ-list .meta{color:var(--sand-dim);white-space:nowrap;margin-left:auto;font-size:11px}.champ-list .gained{font:700 11px/1 var(--mono);color:var(--green)}.champ-list .gained:empty{display:none}.champ-list .pts{font:700 14px/1 var(--mono);text-align:right;min-width:26px}.champ-list li:first-child .pts{color:var(--amber)}.player-list{gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.player-list li{background:#00000040;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;display:flex}.dot{border-radius:50%;flex:none;width:11px;height:11px;box-shadow:0 0 0 1px #00000080}.tag{letter-spacing:.08em;text-transform:uppercase;color:var(--sand-dim);margin-left:auto;font-size:11px}.tag.ready{color:var(--green)}#hud{pointer-events:none;z-index:20;font-variant-numeric:tabular-nums;position:fixed;inset:0}.hud-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;position:absolute}#hud-lap{top:var(--hud-pad);left:var(--hud-pad);line-height:1.15}#hud-lap .big{letter-spacing:-.01em;font-size:clamp(20px,3.4vw,30px);font-weight:700}#hud-lap .sub{color:var(--sand-dim);letter-spacing:.06em;text-transform:uppercase;font-size:12px}#hud-times{top:var(--hud-pad);text-align:center;min-width:190px;left:50%;transform:translate(-50%)}#hud-times .current{font:700 clamp(20px, 3.4vw, 30px) / 1.1 var(--mono)}#hud-times .best{font:12px/1.4 var(--mono);color:var(--sand-dim)}#hud-times .delta{font:700 15px/1.3 var(--mono);color:var(--red);margin-top:2px}#hud-times .delta.ahead{color:var(--green)}#hud-times.flash .best{color:var(--green);animation:1.1s ease-out bestflash}@keyframes bestflash{0%{color:#fff;text-shadow:0 0 18px var(--green)}to{color:var(--green);text-shadow:none}}#hud-sectors{top:calc(var(--hud-pad) + 104px);text-align:center;position:absolute;left:50%;transform:translate(-50%)}#hud-sectors .pills{justify-content:center;gap:6px;display:flex}#hud-sectors .sector{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--line);border-radius:8px;flex-direction:column;align-items:center;gap:1px;min-width:78px;padding:5px 8px 6px;transition:border-top-color .18s,color .18s;display:flex}#hud-sectors .sector .lbl{font:600 9px/1 var(--mono);letter-spacing:.14em;color:var(--sand-dim)}#hud-sectors .sector .val{font:700 13px/1.2 var(--mono);color:var(--sand-dim)}#hud-sectors .sector.done .val{color:var(--sand)}#hud-sectors .sector .leader{font:600 9px/1.2 var(--mono);letter-spacing:.02em;color:var(--sand-dim);text-overflow:ellipsis;white-space:nowrap;max-width:96px;overflow:hidden}#hud-sectors .sector .leader.you{color:var(--purple)}#hud-sectors .sector.down{border-top-color:var(--green)}#hud-sectors .sector.down .val{color:var(--green)}#hud-sectors .sector.up{border-top-color:var(--red)}#hud-sectors .sector.up .val{color:var(--red)}#hud-sectors .sector.best{border-top-color:var(--purple)}#hud-sectors .sector.best .val{color:var(--purple)}#hud-sectors .theoretical{font:11px/1.3 var(--mono);letter-spacing:.08em;color:var(--purple);opacity:.85;margin-top:5px}#hud-cue{top:calc(var(--hud-pad) + 196px);background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--amber);color:var(--amber);font:700 16px/1 var(--mono);letter-spacing:.04em;border-radius:999px;align-items:center;gap:9px;padding:6px 14px 7px;display:flex;position:absolute;left:50%;transform:translate(-50%)}#hud-cue .speed:after{content:" km/h";color:var(--sand-dim);font-size:11px;font-weight:400}#hud-cue .chev{gap:2px;display:flex}#hud-cue .chev:empty{display:none}#hud-cue .chev i{border:3px solid;border-width:0 3px 3px 0;width:9px;height:9px;display:block}#hud-cue .chev.l i{transform:rotate(135deg)}#hud-cue .chev.r i{transform:rotate(-45deg)}#hud-cue .word{letter-spacing:.14em}#hud-cue.brake{color:var(--red);border-top-color:var(--red);animation:.5s ease-in-out infinite cuepulse}@keyframes cuepulse{50%{opacity:.6}}#hud-speed{bottom:var(--hud-pad);left:var(--hud-pad);min-width:150px}#hud-speed .kmh{font:700 clamp(26px, 4.6vw, 40px) / 1 var(--mono)}#hud-speed .kmh span{color:var(--sand-dim);margin-left:4px;font-size:13px;font-weight:400}#hud-speed .kmh .gear{float:right;color:var(--sand);padding-left:12px;font-size:.8em}.revs{background:#00000073;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.revs>i{background:var(--sand-dim);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.revs.shift>i{background:var(--hot)}.drift-meter{background:#00000073;border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.drift-meter>i{background:linear-gradient(90deg, var(--amber), var(--hot));transform-origin:0;border-radius:3px;height:100%;transition:transform 60ms linear;display:block;transform:scaleX(0)}.boost-meter{background:#00000073;border:1px solid #0000;border-radius:4px;height:9px;margin-top:5px;overflow:hidden}.boost-meter>i{transform-origin:0;background:linear-gradient(90deg,#2f7fd8,#57d9f0);border-radius:4px;height:100%;transition:transform 80ms linear;display:block;transform:scaleX(0)}.boost-meter.ready{border-color:#57d9f0bf}.boost-meter.active{border-color:#fff}.boost-meter.active>i{background:linear-gradient(90deg,#57d9f0,#fff)}#hud-speed .tow{letter-spacing:.16em;color:#9fe8ff;text-align:center;margin-top:6px;font-size:10px;font-weight:700}#hud-board{bottom:var(--hud-pad);right:var(--hud-pad);min-width:210px;padding:8px 10px}#hud-board ol{gap:3px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}#hud-board li{align-items:center;gap:7px;display:flex}#hud-board .pos{color:var(--sand-dim);width:15px;font:11px/1 var(--mono)}#hud-board .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#hud-board .gap{font:11px/1 var(--mono);color:var(--sand-dim);margin-left:auto}#hud-board li.you .nm{color:#fff;font-weight:600}#minimap{top:var(--hud-pad);right:var(--hud-pad);border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);position:absolute}#hud-banner{text-align:center;letter-spacing:.04em;text-shadow:0 6px 30px #000000b3;font-weight:800;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}#hud-banner .count{color:var(--amber);font-size:clamp(64px,15vw,160px);line-height:1}#hud-banner .msg{color:var(--sand);font-size:clamp(22px,4.4vw,44px)}#hud-banner .msg.warn{color:var(--red);animation:.9s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}#hud-item{top:calc(var(--hud-pad) + 78px);left:var(--hud-pad);align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex}#hud-item[hidden]{display:none}#hud-item .icon{border:1px solid var(--line);background:#00000059;border-radius:10px;place-items:center;width:46px;height:46px;display:grid}#hud-item .icon svg{width:32px;height:32px}#hud-item.empty .icon{opacity:.45}#hud-item.ready .icon{border-color:var(--item-color,var(--amber));box-shadow:0 0 14px var(--item-color,var(--amber));animation:.9s ease-in-out infinite itemready}#hud-item.ready .meta b{color:var(--item-color,inherit)}#hud-item .meta{flex-direction:column;gap:2px;display:flex}#hud-item .meta b{font:800 15px/1 var(--display);letter-spacing:.06em}#hud-item .meta span{color:var(--sand-dim);letter-spacing:.12em;font-size:11px}@keyframes itemready{50%{box-shadow:0 0 3px var(--item-color,var(--amber))}}#hud-callouts{top:calc(var(--hud-pad) + 196px);right:var(--hud-pad);pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute}#hud-callouts .pop{font-family:var(--display);letter-spacing:.05em;text-shadow:0 4px 18px #000000bf;transform-origin:100%;animation:callout 1.5s var(--ease) forwards;flex-direction:column;align-items:flex-end;font-weight:800;display:flex}#hud-callouts .pop b{font-size:clamp(24px,4vw,40px);line-height:1}#hud-callouts .pop span{letter-spacing:.18em;color:var(--sand);font-size:clamp(11px,1.6vw,14px)}#hud-callouts .gain b{color:var(--green)}#hud-callouts .loss b{color:var(--sand-dim);font-size:clamp(20px,3.4vw,32px)}#hud-callouts .drift b{color:var(--amber)}#hud-callouts .lost b{color:var(--red);font-size:clamp(20px,3.4vw,32px)}@keyframes callout{0%{opacity:0;transform:translate(24px)scale(.8)}12%{opacity:1;transform:translate(0)scale(1.08)}22%{transform:scale(1)}75%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(12px)}}#hud-combo{bottom:calc(var(--hud-pad) + 64px);font-family:var(--display);text-shadow:0 3px 14px #000c;pointer-events:none;flex-direction:column;align-items:center;font-weight:800;display:flex;position:absolute;left:50%;transform:translate(-50%)}#hud-combo .mult{letter-spacing:.22em;color:var(--sand);font-size:13px}#hud-combo .pts{font:700 clamp(22px, 3.6vw, 34px) / 1 var(--mono);color:var(--amber)}#hud-combo[data-mult="3"] .pts,#hud-combo[data-mult="4"] .pts{color:var(--hot)}#hud-combo[data-mult="5"] .pts{color:var(--purple)}#hud-conn{top:calc(var(--hud-pad) + 4px);color:var(--sand-dim);align-items:center;gap:6px;font-size:11px;display:flex;position:absolute;left:50%;transform:translate(calc(120px - 50%))}#hud-conn .dot{width:8px;height:8px}#hud-conn .dot.online{background:var(--green)}#hud-conn .dot.connecting{background:var(--amber)}#hud-conn .dot.offline{background:var(--red)}#nameplates{pointer-events:none;z-index:15;position:fixed;inset:0;overflow:hidden}.nameplate{border:1px solid var(--line);white-space:nowrap;will-change:transform;transform-origin:50% 100%;background:#140e0ab8;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:12px;display:flex;position:absolute;top:0;left:0}.nameplate .dot{width:8px;height:8px}.nameplate.stale{opacity:.5}.results-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.results-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--sand-dim);border-bottom:1px solid var(--line);padding:6px 10px;font-size:11px}.results-table td{border-bottom:1px solid #e9cda212;padding:9px 10px}.results-table td.time{font-family:var(--mono)}.results-table tr.you{background:#f0a03c1a}.results-table .pts{font-family:var(--mono);text-align:right;width:52px;color:var(--sand-dim)}.results-table td.pts.scored{color:var(--green);font-weight:700}.champ-line{color:var(--sand-dim);margin:14px 0 0;font-size:12.5px}.results-table .pos{font:700 16px/1 var(--mono);color:var(--amber);width:34px}button.danger{color:var(--red);background:#e052521f;border-color:#e0525299}#speed-fx{pointer-events:none;opacity:var(--speed,0);transition:opacity .25s linear;position:absolute;inset:0}#speed-fx .vignette{background:radial-gradient(70% 55% at 50% 48%,#0000 45%,#1e10068c 100%);position:absolute;inset:0}#speed-fx .lines{opacity:.45;background:repeating-conic-gradient(#ffecc880 0deg .35deg,#0000 .35deg 9deg);position:absolute;inset:-12%;-webkit-mask-image:radial-gradient(58% 46%,#0000 62%,#000 100%);mask-image:radial-gradient(58% 46%,#0000 62%,#000 100%)}#touch{z-index:25;pointer-events:none;position:fixed;inset:0}#touch .zone{pointer-events:auto;touch-action:none;height:55%;position:absolute;bottom:0}#touch .zone.left{width:50%;left:0}#touch .zone.right{width:50%;right:0}#touch .wheel{background:#140e0a66;border:2px solid #e9cda23d;border-radius:50%;width:128px;height:128px;position:absolute;bottom:26px;left:26px}#touch .wheel i{will-change:transform;background:#f0a03c8c;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}#touch .pedal{border:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;pointer-events:auto;touch-action:none;background:#140e0a80;border-radius:14px;place-items:center;width:92px;height:62px;font-size:12px;display:grid;position:absolute;right:26px}#touch .pedal.gas{bottom:100px}#touch .pedal.brake{bottom:26px}#touch .pedal.hand{width:74px;bottom:26px;right:130px}#touch .pedal.boost{width:74px;bottom:100px;right:130px}#touch .pedal.item{background:#f0a03c4d;bottom:174px;right:26px}#touch .pedal.item-back{background:#f0a03c4d;width:74px;bottom:174px;right:130px}#touch .pedal.item-drop{height:40px;font-size:11px;bottom:248px;right:26px}#touch .pedal.item[hidden],#touch .pedal.item-back[hidden],#touch .pedal.item-drop[hidden]{display:none}#touch .pedal.active{color:#2a1608;background:#f0a03c73}#loading{z-index:60;background:radial-gradient(120% 90% at 50% 20%,#3a2a1c,#0d0906);place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}#loading .wrap{text-align:center;width:min(320px,80vw)}#loading h1{letter-spacing:-.02em;background:linear-gradient(92deg, var(--sand), var(--amber));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 18px;font-size:30px}#loading .bar{background:#e9cda226;border-radius:2px;height:4px;overflow:hidden}#loading .bar>i{background:linear-gradient(90deg, var(--amber), var(--hot));width:0%;height:100%;transition:width .25s;display:block}#loading .label{color:var(--sand-dim);margin-top:10px;font-size:12px}.control-list{grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;margin:18px 0;display:grid}.control-list .what{color:var(--sand-dim)}input.needed{border-color:var(--red);box-shadow:0 0 0 3px #e052522e}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}select{font:inherit;color:inherit;border:1px solid var(--line);background:#00000052;border-radius:8px;padding:8px 10px}select:disabled{opacity:.55}.brand{font:italic 800 22px/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--sand);margin:0}.brand em{font-style:inherit;background:linear-gradient(92deg, var(--amber), var(--hot));color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin:0 0 6px}button.cta{font:italic 800 17px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;border-radius:10px;padding:13px 28px;box-shadow:0 10px 30px #e0592a47}button.cta.is-ready{color:var(--green);box-shadow:none;background:#6fd08c1f;border-color:#6fd08c8c}button.ghost-danger:hover:not(:disabled){color:var(--red);background:#e052521a;border-color:#e052528c}.icon-btn{background:var(--surface-1);width:40px;height:40px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:10px;place-items:center;padding:0;display:grid}.icon-btn svg{width:20px;height:20px}.menu{z-index:40;padding:max(16px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:var(--ink);grid-template:"top top top""rail panel."minmax(0,1fr)"bar bar bar"/auto minmax(340px,460px) 1fr;gap:14px 16px;display:grid;position:fixed;inset:0}.menu-stage{z-index:0;position:absolute;inset:0}.menu-stage canvas{cursor:grab}.menu-stage canvas:active{cursor:grabbing}.menu-shade{z-index:0;pointer-events:none;background:linear-gradient(90deg,#0c0806d1 0%,#0c080680 34%,#0000 62%),linear-gradient(#0000 78%,#0c0806d9 100%),linear-gradient(#0c080699 0%,#0000 14%);position:absolute;inset:0}.menu-top,.menu-rail,.menu-panel,.action-bar{z-index:1;position:relative}.menu-top{grid-area:top;justify-content:space-between;align-items:center;gap:12px;display:flex}.menu-top-right{align-items:center;gap:8px;display:flex}.driver-chip{border:1px solid var(--line);background:var(--surface-1);height:40px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);cursor:text;border-radius:10px;align-items:center;gap:8px;padding:0 6px 0 12px;display:flex}.driver-chip svg{width:18px;height:18px;color:var(--amber);flex:none}.driver-chip input[type=text]{background:0 0;border:none;width:150px;padding:6px 4px;font-weight:600}.driver-chip:focus-within{border-color:var(--amber)}.driver-chip input.needed{box-shadow:none}.driver-chip:has(input.needed){border-color:var(--red);box-shadow:0 0 0 3px #e0525233}.menu-rail{flex-direction:column;grid-area:rail;align-self:start;gap:6px;display:flex}.rail-tab{width:76px;color:var(--sand-dim);letter-spacing:.06em;text-transform:uppercase;background:0 0;border-color:#0000;border-radius:12px;justify-items:center;gap:5px;padding:12px 6px 10px;font:600 11px/1 inherit;display:grid;position:relative}.rail-tab svg{width:24px;height:24px}.rail-tab:hover:not(:disabled){color:var(--sand);background:var(--surface-2);border-color:#0000}.rail-tab[aria-selected=true]{color:var(--amber);background:var(--surface-1);border-color:var(--line);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.rail-tab[aria-selected=true]:before{content:"";background:var(--amber);border-radius:2px;width:3px;position:absolute;top:14px;bottom:14px;left:-1px}.rail-tab .badge{background:var(--green);min-width:17px;height:17px;color:var(--ink);font:700 10px/17px var(--mono);border-radius:9px;padding:0 4px;font-style:normal;position:absolute;top:6px;right:10px}.menu-panel{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface-1);min-height:0;max-height:100%;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);scrollbar-width:thin;border-radius:16px;grid-area:panel;align-self:start;padding:20px 22px 8px;overflow:auto;box-shadow:0 30px 80px #00000073}.pane:not([hidden]){animation:pane-in var(--dur) var(--ease)}@keyframes pane-in{0%{opacity:0;transform:translateY(6px)}}.pane-title{font:italic 800 26px/1 var(--display);letter-spacing:.02em;text-transform:uppercase;margin:0 0 16px}.menu-panel .field{margin-bottom:20px}.callout{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;margin:0 0 16px;padding:10px 12px}.rules{flex-wrap:wrap;gap:14px 22px;display:flex}.rules .sub-field+.sub-field{margin-top:0}.room-code{font-family:var(--mono);color:var(--amber);letter-spacing:.04em;text-transform:none}.player-list li.you{background:#f0a03c1a}.player-list .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.host-tag{font:700 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}.host-tag:empty{display:none}.color-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--sand-dim);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:12px;display:inline-flex}.color-chip input[type=color]{cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;padding:0}.track{padding:12px 14px}.cam-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cam-card{text-align:left;background:var(--surface-2);color:var(--sand-dim);border-radius:12px;align-content:start;justify-items:start;gap:4px;padding:10px 12px 12px;display:grid}.cam-card svg{width:48px;height:32px;margin-bottom:4px}.cam-card strong{color:var(--sand);font-weight:650}.cam-card small{font-size:11px;line-height:1.35}.cam-card[aria-pressed=true]{color:var(--amber);border-color:var(--amber);background:#f0a03c1f}.cam-card[aria-pressed=true] strong{color:var(--amber)}.cam-card[aria-pressed=true] small{color:var(--sand-dim)}.action-bar{flex-wrap:wrap;grid-area:bar;align-items:center;gap:12px 16px;display:flex}.summary{flex-wrap:wrap;flex:260px;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface-1);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px}.chip:first-child{color:var(--amber);border-color:#f0a03c73}.action-bar .error{text-align:right;flex:200px;min-height:0;margin:0}.action-bar .error:empty{display:none}.actions{align-items:center;gap:8px;margin-left:auto;display:flex}.actions>button:not(.cta){background:var(--surface-1);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}#settings{z-index:55;position:fixed;inset:0}.sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in var(--dur) ease;background:#0805038c;position:absolute;inset:0}.sheet{background:var(--panel-solid);border-left:1px solid var(--line);width:min(480px,100%);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);animation:sheet-in calc(var(--dur) * 1.3) var(--ease);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-30px 0 80px #00000080}@keyframes sheet-in{0%{opacity:0;transform:translate(40px)}}@keyframes fade-in{0%{opacity:0}}.sheet-head{justify-content:space-between;align-items:center;padding:18px 20px 12px;display:flex}.sheet-head h2{font:italic 800 26px/1 var(--display);letter-spacing:.02em;text-transform:uppercase;margin:0}.sheet-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;padding:0 20px;display:flex;overflow-x:auto}.sheet-tabs [role=tab]{color:var(--sand-dim);background:0 0;border:none;border-radius:0;flex:none;padding:10px 12px;font-size:13px;font-weight:600;box-shadow:inset 0 -2px #0000}.sheet-tabs [role=tab]:hover{color:var(--sand);background:0 0}.sheet-tabs [role=tab][aria-selected=true]{color:var(--amber);box-shadow:inset 0 -2px 0 var(--amber)}.sheet-body{overscroll-behavior:contain;flex:1;padding:18px 20px 24px;overflow:auto}.sheet-body .control-list{margin:0}.switch-row{cursor:pointer;border-bottom:1px solid #e9cda214;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.switch-text{gap:2px;display:grid}.switch-text b{font-weight:600}.switch-text small{color:var(--sand-dim);font-size:12px}input[role=switch]{appearance:none;border:1px solid var(--line);cursor:pointer;width:42px;height:24px;transition:background var(--dur) ease;background:#e9cda229;border-radius:12px;flex:none;margin:0;position:relative}input[role=switch]:before{content:"";background:var(--sand);width:18px;height:18px;transition:transform var(--dur) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}input[role=switch]:checked{background:var(--amber);border-color:var(--amber)}input[role=switch]:checked:before{background:var(--ink);transform:translate(18px)}.slider-row{gap:8px;margin-bottom:16px;display:grid}.slider-row>label{justify-content:space-between;font-weight:600;display:flex}.slider-row>label span{font:12px/1.4 var(--mono);color:var(--amber)}.seg{border:1px solid var(--line);background:#00000040;border-radius:10px;padding:3px;display:inline-flex}.seg button{color:var(--sand-dim);background:0 0;border:none;border-radius:7px;padding:7px 16px;font-weight:600}.seg button[aria-pressed=true]{background:var(--amber);color:var(--ink)}#pause{z-index:45;animation:fade-in var(--dur) ease;background:linear-gradient(270deg,#0a0705d9 0%,#0a070559 55%,#0a070533);justify-content:flex-end;display:flex;position:fixed;inset:0}.pause-sheet{width:min(420px,100%);height:100%;padding:max(28px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) 28px;background:var(--surface-1);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-left:1px solid var(--line);animation:sheet-in calc(var(--dur) * 1.3) var(--ease);flex-direction:column;justify-content:center;gap:16px;display:flex;overflow:auto}.pause-sheet h1{font:italic 800 48px/1 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0}.pause-sheet .tagline{color:var(--sand-dim);margin:0}.pause-sheet .field{margin:0}.pause-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pause-actions button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.pause-actions svg{width:18px;height:18px}.pause-sheet .hint{margin:0}.results-card{width:min(720px,100%)}.results-table tr.p1 .pos{color:#f5c84c}.results-table tr.p2 .pos{color:#d6dbe0}.results-table tr.p3 .pos{color:#d08a52}.keycaps{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:4px 0 18px;display:grid}.keycaps>div{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.keycaps kbd{border-bottom-width:3px;padding:5px 8px;font-size:12px}.tips{color:var(--sand-dim);gap:8px;margin:0;padding-left:18px;font-size:13px;display:grid}#onboarding .card{width:min(640px,100%)}@media (max-width:720px){.menu{padding:max(12px, env(safe-area-inset-top)) 16px 0;flex-direction:column;gap:10px;display:flex;overflow:auto}.menu-shade{display:none}.menu>*{flex:none}.menu-stage{flex:none;order:2;height:34vh;min-height:200px;margin:0 -16px;position:relative;inset:auto}.menu-top{order:0}.menu-rail{scrollbar-width:none;flex-direction:row;order:1;align-self:stretch;overflow-x:auto}.rail-tab{flex:1 1 0;grid-auto-flow:column;justify-content:center;gap:5px;width:auto;min-width:0;padding:9px 4px;font-size:10.5px}.rail-tab svg{width:18px;height:18px}.rail-tab[aria-selected=true]:before{width:auto;height:3px;inset:auto 14px -1px}.menu-panel{flex:none;order:3;margin-top:-28px;padding:18px 16px 4px;overflow:visible}.action-bar{padding:12px 16px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#120d0af0;order:4;margin:0 -16px;position:sticky;bottom:0}.summary{display:none}.action-bar .error{text-align:left;flex-basis:100%}.actions{flex:1;margin-left:0}.actions .cta{flex:1}.driver-chip input[type=text]{width:110px}.brand{font-size:19px}.cam-picker{gap:6px}.cam-card{padding:8px}.cam-card small{display:none}.cam-card:disabled small{display:block}.pause-sheet h1{font-size:38px}.sheet-tabs{padding:0 12px}.sheet-tabs [role=tab]{padding:10px 8px}}@media (prefers-reduced-motion:reduce){.menu *,#settings *,#pause,#pause *{transition:none!important;animation:none!important}#hud-callouts .pop{animation-name:callout-fade}}@keyframes callout-fade{0%,70%{opacity:1}to{opacity:0}}
