:root{--bg:#0b0d10;--panel:#13161b;--panel-2:#1a1e25;--line:#262b33;--text:#e9ecf1;--muted:#8a93a1;--accent:#ff4d2e;--purple:#b46cff;--green:#36d07a;--yellow:#ffd23f;--red:#ff3b3b;--blue:#3b8bff;--track:#2c323c;--track-edge:#1d2129;--a:#e86a2c;--b:#3a9bea;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.45 Inter,system-ui,sans-serif}h1,h2,h3{letter-spacing:.02em;margin:0;font-family:Barlow Condensed,sans-serif}h2{text-transform:uppercase;color:var(--muted);font-size:15px;font-weight:600}button,input,select{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 12px}button{cursor:pointer;font-weight:600}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.45;cursor:not-allowed}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.error{color:var(--red)}.purple{color:var(--purple)}.green{color:var(--green)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.wordmark{font-size:56px;font-style:italic;font-weight:700;line-height:1}.wordmark span{color:var(--accent)}.wordmark.small{font-size:26px}.ghost{background:0 0}.link{color:var(--muted);background:0 0;border:none;padding:0;font-weight:500}.watch{background:var(--accent);border-color:var(--accent);color:#fff}.lobby{gap:20px;max-width:980px;margin:0 auto;padding:48px 16px 32px;display:grid}.tagline{color:var(--muted);margin:10px 0 0;font-size:16px}.join{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.join label,.sync label{gap:6px;display:grid}.join label span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.join-form{align-items:end;gap:10px;display:flex}.join .error{flex-basis:100%;margin:0}.code-input{letter-spacing:.25em;text-transform:uppercase;width:110px;font-family:JetBrains Mono,monospace}.weekends{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.weekend{background:var(--panel-2);border-radius:8px;padding:12px}.weekend h3{margin-bottom:8px;font-size:20px}.weekend h3 small{color:var(--muted);margin-left:4px;font-size:14px;font-weight:500}.weekend ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.weekend li{justify-content:space-between;align-items:center;gap:8px;display:flex}.weekend li button{padding:4px 10px;font-size:13px}.badge{color:var(--yellow);font-size:12px}.pulse{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}.admin{color:var(--muted)}.admin input{width:min(320px,100%);margin-top:8px}.fineprint{color:var(--muted);text-align:center;font-size:12px}.fantasy{gap:16px;max-width:1120px;margin:0 auto;padding:20px 16px 32px;display:grid}.fantasy-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.fantasy-tag{color:var(--muted);text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:600}.fantasy-out{margin-left:auto}.fantasy-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.league-name{color:var(--text);text-transform:none;font-size:32px;font-weight:700}.fantasy-title .code{letter-spacing:.08em;font-family:JetBrains Mono,monospace}.fantasy-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.fantasy-main,.fantasy-side{gap:14px;min-width:0;display:grid}.fantasy-form form,.pick-form form{gap:12px;margin-top:12px;display:grid}.fantasy-form label,.pick-grid label{gap:5px;min-width:0;display:grid}.fantasy-form label span,.pick-grid label span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.fantasy-form .code-input{width:140px}.fantasy-rules{grid-column:1/-1}.fantasy-rules p{margin:8px 0 0}.pick-form .muted{margin:0}.pick-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.pick-grid select{width:100%}.pick-form .watch{justify-self:start}.saved{align-self:center}.coming-up{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.coming-up li{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.reveal{gap:10px;display:grid}.reveal .panel-head,.result-line{margin:0}.data tr.me td{background:var(--panel-2)}.data td.hit{color:var(--green);font-weight:600}.data td.near{color:var(--yellow)}.league-table{margin-top:8px}.fantasy-side .muted{margin:8px 0 0}.driver-chip{align-items:center;gap:6px;display:inline-flex}.driver-chip i{border-radius:2px;width:4px;height:14px}.lobby-league{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lobby-league p{margin:4px 0 0}.room{gap:12px;padding:12px 16px 24px;display:grid}.room-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.room-head .code{letter-spacing:.1em;margin-left:auto;font-family:JetBrains Mono,monospace}.lap-counter{font-size:15px;font-weight:600}.banner{border:1px solid var(--red);cursor:pointer;background:#2a1416;border-radius:8px;margin:0;padding:8px 12px}.status{text-transform:uppercase;border-radius:6px;padding:3px 10px;font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700}.status-green{color:var(--green);background:#36d07a26}.status-sc,.status-sc_ending,.status-vsc,.status-vsc_ending{color:var(--yellow);background:#ffd23f2e}.status-red{color:var(--red);background:#ff3b3b33}.status-chequered{color:#000;background:#fff}.room-grid{grid-template-columns:minmax(420px,480px) minmax(0,1fr) 300px;align-items:start;gap:12px;display:grid}.centre,.side{gap:12px;display:grid}.tower{padding:8px}.tower-head,.tower-row{grid-template-columns:26px 62px 72px 76px 76px 34px 1fr;align-items:center;gap:6px;padding:0 8px;display:grid}.tower-head{color:var(--muted);text-transform:uppercase;height:28px;font-size:11px}.tower ol{margin:0;padding:0;list-style:none}.tower-row{border-top:1px solid var(--line);cursor:pointer;height:32px;font-size:13px}.tower-row:hover,.tower-row.selected{background:var(--panel-2)}.tower-row.selected-a{box-shadow:inset 3px 0 0 var(--a)}.tower-row.selected-b{box-shadow:inset 3px 0 0 var(--b)}.mini-sectors{gap:3px;display:flex}.rank{background:var(--panel-2);border-radius:2px;width:8px;height:8px;display:block}.tower-row.selected .rank-none{background:var(--line)}.rank-P{background:var(--purple)}.rank-G{background:var(--green)}.rank-Y{background:var(--yellow)}.tower-row .pos{text-align:right;font-family:Barlow Condensed,sans-serif;font-size:17px;font-weight:700}.driver{letter-spacing:.03em;align-items:center;gap:8px;font-family:Barlow Condensed,sans-serif;font-size:17px;font-weight:700;display:flex}.driver i{border-radius:2px;width:4px;height:18px}.tyre{align-items:center;gap:5px;display:flex}.tyre b{border:2px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;display:grid}.tyre small{color:var(--muted);font-family:JetBrains Mono,monospace}.tyre .pits{margin-left:4px}.map{height:min(56vh,560px);padding:0;position:relative}.map canvas{width:100%;height:100%;display:block}.map .muted{place-items:center;margin:0;display:grid;position:absolute;inset:0}.analysis{gap:14px;min-width:0;display:grid}.analysis>.muted{margin:12px 0}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;padding-bottom:8px;display:flex}.tabs button,.toggle button{color:var(--muted);background:0 0;border-color:#0000;padding:5px 10px;font-size:13px}.tabs button.active,.toggle button.active{background:var(--panel-2);border-color:var(--line);color:var(--text)}.tabs .closest{border-color:var(--line);color:var(--text);margin-left:auto}.driver-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.driver-tag{letter-spacing:.03em;white-space:nowrap;align-items:center;gap:6px;font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;display:inline-flex}.slot{color:#0b0d10;border-radius:4px;place-items:center;width:18px;height:18px;font-size:12px;font-style:normal;display:grid}.slot-A{background:var(--a)}.slot-B{background:var(--b)}.sectors{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.sector{background:var(--panel-2);border-radius:6px;grid-template-columns:auto 1fr;align-items:center;gap:2px 6px;padding:6px 8px;display:grid}.sector small{color:var(--muted);font-size:11px}.sector .rank{justify-self:end}.sector b{grid-column:1/-1;font-size:15px;font-weight:600}.chart{gap:6px;min-width:0;margin:0;display:grid}.chart figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.chart-title{color:var(--muted);font-size:12px}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:inline-flex}.chart-legend i,.chart-tip i{vertical-align:middle;border-radius:2px;width:10px;height:3px;margin-right:5px;display:inline-block}.chart-box{min-width:0;position:relative}.chart-box svg{display:block;overflow:hidden}.chart-empty{margin:0;padding-top:40px}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-zero{stroke:var(--muted);stroke-width:1px}.chart-mark{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart-cross{stroke:var(--text);stroke-width:1px;opacity:.6;pointer-events:none}.chart-band{fill:var(--yellow);opacity:.1}.chart-tick{fill:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px}.chart-dot{stroke:var(--panel);stroke-width:2px}.chart-tip{z-index:2;background:var(--bg);border:1px solid var(--line);pointer-events:none;white-space:nowrap;border-radius:6px;gap:3px;padding:7px 9px;font-size:12px;display:grid;position:absolute;top:8px}.chart-tip b{color:var(--muted);font-weight:500}.chart-tip span{align-items:center;display:flex}.chart-tip output{margin-left:auto;padding-left:14px}.lap-compare,.battle,.strategy,.race-charts{gap:16px;min-width:0;display:grid}.strategy>section,.race-charts>section{gap:10px;min-width:0;display:grid}.lap-pickers{flex-wrap:wrap;gap:12px;display:flex}.lap-picker{align-items:center;gap:8px;min-width:0;display:flex}.lap-picker select{max-width:230px;padding:5px 8px;font-size:13px}.verdict{margin:0;font-size:15px}.compare-grid{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.compare-charts{gap:14px;min-width:0;display:grid}.heatmap{gap:8px;min-width:0;margin:0;display:grid}.heatmap svg{background:var(--panel-2);border-radius:8px;width:100%;height:auto;display:block}.heatmap-marker{fill:var(--text);stroke:var(--bg);stroke-width:2px}.toggle{flex-wrap:wrap;gap:2px;display:flex}.toggle button{padding:3px 7px;font-size:12px}.ramp{align-items:center;gap:6px;display:inline-flex}.ramp i{background:linear-gradient(90deg,#1f3e60,#a8d8ff);border-radius:4px;width:90px;height:8px}.table-wrap{min-width:0;overflow-x:auto}.table-wrap.scroll{max-height:280px;overflow-y:auto}.data{border-collapse:collapse;width:100%;font-size:13px}.data caption{text-align:left;color:var(--muted);padding-bottom:6px;font-size:12px}.data th{text-align:left;color:var(--muted);white-space:nowrap;padding:4px 10px 6px 0;font-size:11px;font-weight:500}.data td{border-top:1px solid var(--line);white-space:nowrap;padding:5px 10px 5px 0}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.stat{background:var(--panel-2);border-radius:8px;gap:2px;padding:10px 12px;display:grid}.stat small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.stat b{font-size:22px;font-weight:600}.stat span{color:var(--muted);font-size:12px}.rejoin{gap:4px;margin:0;padding-left:18px;display:grid}.stints{gap:3px;display:grid}.stint-row{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;display:grid}.stint-name{font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:600}.stint-track{background:var(--panel-2);border-radius:3px;height:14px;position:relative;overflow:hidden}.stint-track i{color:#0b0d10;border-right:2px solid var(--panel);place-items:center;font-size:10px;font-style:normal;font-weight:700;display:grid;position:absolute;top:0;bottom:0}.driver-panel{align-content:start;gap:12px;min-width:0;display:grid}.driver-panel .muted{margin:0}.driver-head{align-items:center;gap:10px;display:flex}.driver-head .link{margin-left:auto}.gauges{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.readout{justify-items:center;font-family:Barlow Condensed,sans-serif;display:grid}.readout b{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:38px;line-height:1}.readout span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.bars{gap:7px;display:grid}.bar{color:var(--muted);grid-template-columns:62px minmax(0,1fr) 54px;align-items:center;gap:8px;font-size:12px;display:grid}.bar>div{background:var(--panel-2);border-radius:5px;height:10px;overflow:hidden}.bar i{height:100%;display:block}.bar output{text-align:right;color:var(--text)}.trace{background:var(--panel-2);border-radius:8px;width:100%;height:110px;display:block}.trace-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.trace-legend i{vertical-align:middle;width:10px;height:3px;margin-right:5px;display:inline-block}.playback{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.playback input[type=range]{min-width:160px;accent-color:var(--accent);background:0 0;border:none;flex:1;padding:0}.play{background:var(--accent);border-color:var(--accent);color:#fff;width:44px;height:40px}.time{font-size:13px}.rc ul{gap:4px;max-height:220px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:grid;overflow-y:auto}.rc li{border-left:3px solid var(--line);background:var(--panel-2);border-radius:4px;padding:6px 8px}.rc .flag-yellow{border-left-color:var(--yellow)}.rc .flag-red{border-left-color:var(--red)}.rc .flag-green{border-left-color:var(--green)}.rc .flag-blue{border-left-color:var(--blue)}.lap{color:var(--muted);margin-right:8px;font-family:JetBrains Mono,monospace;font-size:11px}.chat{gap:10px;display:grid;position:relative}.members{color:var(--muted);flex-wrap:wrap;justify-content:end;gap:6px;font-size:12px;display:flex}.members .host:after{content:" ★";color:var(--accent)}.messages{align-content:start;gap:6px;height:280px;margin:0;padding:0;font-size:13px;list-style:none;display:grid;overflow-y:auto}.messages b{color:var(--accent);margin-right:4px}.reactions{flex-wrap:wrap;gap:4px;display:flex}.emoji{background:0 0;border-color:#0000;padding:4px 7px;font-size:18px}.emoji:hover{background:var(--panel-2)}.chat-form{gap:8px;display:flex}.chat-form input{flex:1;min-width:0}.reaction-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.floating{font-size:30px;animation:2.5s ease-out forwards float-up;position:absolute;bottom:60px}@keyframes float-up{0%{opacity:1;transform:translateY(0)scale(.8)}to{opacity:0;transform:translateY(-260px)scale(1.4)}}.sync input[type=range]{accent-color:var(--accent);background:0 0;border:none;padding:0}.sync span{justify-content:space-between;display:flex}.sync p{margin:8px 0 0}.highlights{gap:10px;display:grid}.highlights figure{margin:0}.highlights iframe{aspect-ratio:16/9;background:#000;border:0;border-radius:8px;width:100%}.highlights figcaption{color:var(--muted);margin-top:4px;font-size:12px}@media (width<=1280px){.room-grid{grid-template-columns:minmax(400px,440px) minmax(0,1fr)}.side{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}}@media (width<=820px){.room-grid{grid-template-columns:1fr}.centre{order:-1}.fantasy-grid{grid-template-columns:1fr}.map{height:46vh}.gauges{grid-template-columns:auto auto}.bars{grid-column:1/-1}.wordmark{font-size:44px}.tower-head,.tower-row{grid-template-columns:26px 56px 66px 72px 0 34px 1fr}.tower-head>:nth-child(5),.tower-row>:nth-child(5){visibility:hidden}.compare-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.pulse,.floating{animation:none}}
