:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2;background-color:#242424}html,body{height:100%}body{margin:0;min-width:320px;display:flex;flex-direction:column;background-color:inherit}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.settings-page{max-width:720px;margin:0 auto;padding:32px 24px 48px;color:#f5f5f5}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}.settings-header h1{margin:0;font-size:1.75rem;font-weight:600}.settings-back-link{color:#7bc4ff;text-decoration:none;font-size:.95rem}.settings-back-link:hover{text-decoration:underline}.settings-card{background:#202020f2;border:1px solid #333;border-radius:12px;padding:24px;box-shadow:0 8px 24px #00000040}.settings-card h2{margin:0 0 12px;font-size:1.25rem;font-weight:600}.settings-help-text{margin:0 0 16px;color:#c8c8c8;line-height:1.5}.settings-label{display:block;font-size:.9rem;color:#d0d0d0;margin-bottom:8px}.settings-select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #444;background:#1f1f1f;color:#f5f5f5;font-size:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.settings-select:focus{outline:none;border-color:#7bc4ff;box-shadow:0 0 0 2px #7bc4ff33}.settings-active-event{margin-top:20px;padding-top:16px;border-top:1px solid #333;display:flex;flex-direction:column;gap:8px}.settings-active-name{font-weight:600;font-size:1.1rem}.settings-active-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;color:silver}.settings-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#7bc4ff1f;color:#7bc4ff;font-size:.75rem;text-transform:uppercase}@media (max-width: 640px){.settings-page{padding:24px 16px 40px}.settings-card{padding:20px}}.admin-page{--card-bg: #1a1a1a;--card-border: #333;--muted: #aaa;--accent: #e5e7eb;--row-odd: #1a1a1a;--row-even: #222}.admin-page .topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-page .section-card{border:1px solid var(--card-border);background:var(--card-bg);border-radius:8px;padding:12px 14px}.admin-dashboard{display:grid;gap:18px;padding:18px}.dashboard-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px}.dashboard-hero h1{margin-bottom:4px}.hero-summary{display:grid;grid-auto-flow:column;gap:18px;background:#ffffff08;border:1px solid var(--card-border);border-radius:10px;padding:12px 18px}.hero-summary dl{margin:0;display:grid;gap:4px}.hero-summary dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.hero-summary dd{margin:0;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.metric-card{display:grid;grid-template-columns:1fr auto;gap:12px;border-radius:12px;padding:16px;border:1px solid var(--card-border);background:linear-gradient(145deg,#242424e6,#141414e6);text-decoration:none;color:var(--accent);transition:transform .15s ease,border-color .15s ease}.metric-card:hover{transform:translateY(-2px);border-color:#94a3b840}.metric-card .metric-title{display:block;font-weight:600}.metric-card .metric-description{margin:6px 0 0;font-size:.85rem;color:var(--muted)}.metric-card .metric-value{font-size:2rem;font-weight:700}.metric-card.accent-sky{box-shadow:inset 0 0 0 1px #38bdf840}.metric-card.accent-violet{box-shadow:inset 0 0 0 1px #a78bfa38}.metric-card.accent-emerald{box-shadow:inset 0 0 0 1px #34d39938}.metric-card.accent-amber{box-shadow:inset 0 0 0 1px #fde68a33}.metric-card.accent-fuchsia{box-shadow:inset 0 0 0 1px #f472b638}.summary-pill{display:grid;grid-template-columns:auto auto;gap:6px;align-items:center;border-radius:999px;padding:6px 12px;font-size:.85rem;border:1px solid rgba(148,163,184,.2)}.summary-pill strong{font-size:1rem}.summary-pill.tone-success{background:#22c55e1a;border-color:#22c55e40}.summary-pill.tone-warning{background:#f973161f;border-color:#f9731633}.summary-pill.tone-muted{opacity:.7}.control-section .section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.control-totals{display:flex;flex-wrap:wrap;gap:10px}.control-table{display:grid;gap:12px}.control-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.baseline-hint{font-size:.85rem}.control-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) minmax(180px,auto);gap:12px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.16);background:#11182759}.control-label{display:grid;gap:4px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;background:#6366f129;border:1px solid rgba(99,102,241,.25);color:var(--accent)}.badge.subtle{background:#94a3b826;border-color:#94a3b840}.control-progress .progress-track{position:relative;overflow:hidden;border-radius:999px;background:#1e293bb3;height:14px}.control-progress .progress-bar{position:absolute;top:0;bottom:0;transition:width .3s ease}.progress-bar.success{background:#34d399cc}.progress-bar.info{background:#3b82f6b3}.progress-bar.warning{background:#f87171b3}.control-stats{display:flex;flex-direction:column;gap:4px;font-size:.8rem;text-align:right}.empty-hint{padding:16px;text-align:center;border-radius:10px;background:#0f172a73;border:1px dashed rgba(148,163,184,.2)}.admin-page h1,.admin-page h2{margin:0 0 8px}.admin-page .muted{color:var(--muted)}.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 48px)}.admin-sidebar{border-right:1px solid var(--card-border);background:#141414;display:flex;flex-direction:column;gap:8px}.admin-sidebar .brand{font-weight:700;padding:12px 14px}.admin-sidebar .nav{display:flex;flex-direction:column;padding:6px;gap:4px}.admin-sidebar .nav .nav-link{padding:8px 10px;border-radius:6px;color:var(--accent);text-decoration:none}.admin-sidebar .nav .nav-link:hover{background:#1f1f1f}.admin-sidebar .nav .nav-link.active{background:#242424;border:1px solid #333}.admin-sidebar .sidebar-footer{margin-top:auto;padding:12px 10px;display:grid;gap:8px}.admin-content{padding:12px}.stat-card{display:grid;border:1px solid var(--card-border);background:var(--card-bg);border-radius:8px;padding:12px 14px;text-decoration:none;color:var(--accent)}.stat-card:hover{background:#222}.stat-title{font-size:.9rem;color:var(--muted)}.stat-value{font-size:1.6rem;font-weight:700}.admin-page .gt{width:100%;border:1px solid var(--card-border);border-radius:8px;overflow:hidden}.admin-page .gt-header{background:#333;font-weight:600;border-bottom:1px solid var(--card-border)}.admin-page .gt-header>*{padding:6px 8px}.admin-page .gt-body{position:relative}.admin-page .gt-row{border-bottom:1px solid #2b2b2b}.admin-page .gt-row.row-odd{background:var(--row-odd)}.admin-page .gt-row.row-even{background:var(--row-even)}.admin-page .gt-cell{padding:6px 8px;display:flex;align-items:center;min-height:32px}.admin-page input,.admin-page select{color:#e5e7eb;background:#111;border:1px solid #333;border-radius:6px;padding:8px 10px}.admin-page input::placeholder{color:#777}.admin-page input:focus,.admin-page select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e540}.admin-page button{border:1px solid #333;background:#1a1a1a;border-radius:6px;padding:8px 12px;cursor:pointer;color:#e5e7eb}.admin-page button:hover{background:#2a2a2a}.admin-page button:disabled{opacity:.6;cursor:default}.server-settings-table .gt-cell{align-items:center}.server-settings-table .gt-row{min-height:40px}.server-settings-table input,.server-settings-table select{padding:4px 8px;font-size:.95rem}.server-settings-table button{padding:6px 8px;font-size:.9rem}.ingest-table .gt-row,.kv-table .gt-row{min-height:36px}.key-chip{padding:8px 10px;border:1px solid #333;border-radius:4px;background:#111;font-family:monospace;color:#e5e7eb}.purge-result{background:var(--card-bg);padding:12px;border-radius:8px;border:1px solid var(--card-border)}.purge-result h4{color:var(--accent);margin:0 0 12px}.purge-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.purge-stat-item{color:var(--accent)}.purge-result-footer{margin-top:12px;color:var(--muted);font-size:14px}.kv-bracket-anchors{display:grid;gap:12px}.kv-bracket-anchors .muted{color:var(--muted)}.kv-anchor-table-wrapper{max-width:100%;overflow-x:auto}.kv-anchor-table,.kv-anchor-preview table{width:100%;border-collapse:collapse;font-size:.88rem}.kv-anchor-table th,.kv-anchor-table td,.kv-anchor-preview th,.kv-anchor-preview td{border-bottom:1px solid rgba(148,163,184,.2);padding:6px 8px;text-align:left}.kv-anchor-table thead th{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:#94a3b8e6}.kv-anchor-table input,.kv-anchor-table select{width:100%;box-sizing:border-box;padding:4px 6px;background:#0f172aa6;border:1px solid rgba(148,163,184,.3);color:#e2e8f0;border-radius:4px}.kv-anchor-actions{display:flex;gap:8px;flex-wrap:wrap}.kv-anchor-actions button,.kv-anchor-save button{padding:6px 10px;border-radius:4px;border:1px solid rgba(148,163,184,.35);background:#334155a6;color:#e2e8f0;cursor:pointer}.kv-anchor-actions button[disabled],.kv-anchor-save button[disabled]{opacity:.4;cursor:not-allowed}.kv-anchor-save{display:flex;align-items:center;gap:12px}.kv-anchor-errors{margin:0;padding:0 0 0 18px;list-style:disc;color:#fca5a5;font-size:.85rem}.kv-anchor-preview h4{margin:0 0 6px;font-size:.9rem}#root{padding:0;width:100vw;height:100%;text-align:left}.app-container{display:flex;justify-content:space-between;width:100vw;box-sizing:border-box;gap:4px;padding:0 16px}.races-container{flex:1;min-width:300px;margin-right:0;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:4px}.schedule-container{flex:0 1 auto;min-width:0;display:flex;justify-content:center}.schedule-wrapper{display:flex;padding:8px 0}.leaderboard-container{flex:1;min-width:300px;margin-left:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.race-box{margin-bottom:12px;padding:8px;border-radius:8px;background-color:#1a1a1a;border:1px solid #333}.race-box h3{margin:0 0 6px;color:#888}.current-race{border-color:#0f0;border-width:1px;background-color:#2a2a2a}.current-race h3{color:#fff;margin:0}.race-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.race-timer{font-family:monospace;font-size:24px;color:#0f0;background-color:#1e2a1e;padding:4px 12px;border-radius:4px;min-width:80px;text-align:right}.racing-text{color:#0f0}.next-text{color:orange}.source-info{display:none;font-size:.7em;color:#fff;margin-left:8px}.qr-code-container{display:flex;justify-content:center;margin-top:16px}.recent-time{animation:highlight 2s;background-color:#2a4a2a;border-radius:4px;padding:2px 4px}@keyframes highlight{0%{background-color:#4a2a2a}to{background-color:#2a4a2a}}.position-change{animation:fadeIn .5s ease-in}.position-change{animation:fadeIn .5s ease-in;font-size:.8em;margin-top:2px}.app-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #333;background-color:#1a1a1a;padding:4px 12px}.app-header-time{flex:1;display:flex;justify-content:center}.subscription-status-indicator{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;font-size:.85rem;border:1px solid rgba(59,130,246,.35);background:#2563eb26;color:#bfdbfe}.subscription-status-indicator.initializing{border-color:#3b82f666;background:#2563eb2e;color:#bfdbfe}.subscription-status-indicator.reconnecting{border-color:#f59e0b73;background:#b453092e;color:#fcd34d}.subscription-status-indicator.backfilling{border-color:#10b98173;background:#0478572e;color:#6ee7b7}.subscription-status-indicator.error{border-color:#ef444499;background:#7f1d1d3d;color:#fca5a5}.subscription-status-indicator__collections{font-size:.75rem;opacity:.8}.app-shell{display:flex;flex-direction:column;height:100vh;min-height:0;background-color:#242424;overflow:hidden;position:relative}.app-main-content{display:flex;justify-content:space-between;width:100vw;box-sizing:border-box;gap:4px;margin-top:12px;flex:1;min-height:0;overflow:hidden}.app-main-content.mobile{flex-direction:column;margin-top:0;overflow-y:auto}.app-main-left,.app-main-right{display:flex;flex-direction:column;min-height:0}.app-main-left{flex:.9;gap:12px;min-width:320px}.app-main-right{flex:1.1;min-width:340px}.app-main-right .leaderboard-container{flex:1}.app-legend-inline{flex-shrink:0;padding:8px 12px 12px;border-radius:8px;background-color:#1a1a1a;border:1px solid #333}.app-main-content.mobile .app-legend-inline{display:none}.app-settings-button,.app-refresh-button{display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;border:1px solid #444;background:#202020e6;color:#e0e0e0;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.app-settings-button:hover,.app-settings-button:focus-visible,.app-refresh-button:hover,.app-refresh-button:focus-visible{background:#383838f2;border-color:#7bc4ff;color:#fff;outline:none}.app-settings-button:focus-visible,.app-refresh-button:focus-visible{box-shadow:0 0 0 3px #7bc4ff40}.app-refresh-button:disabled{cursor:not-allowed;opacity:.6}.app-refresh-icon{display:inline-block;font-size:20px;line-height:1}.app-refresh-button[data-refreshing=true] .app-refresh-icon{animation:app-refresh-spin .8s linear infinite}@keyframes app-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-header .app-settings-button,.app-header .app-refresh-button{margin-left:16px;flex-shrink:0}.app-mobile-header{display:flex;align-items:center;gap:12px;background-color:#1a1a1a;border-bottom:1px solid #333;padding:8px 12px}.app-mobile-header .view-selector{flex:1;display:flex;justify-content:space-around;background-color:transparent;border-bottom:none;min-width:0}.app-mobile-header .view-selector button{border-bottom:2px solid transparent}.app-mobile-header .view-selector button.active{border-bottom:2px solid #fff}.app-mobile-header .app-settings-button,.app-mobile-header .app-refresh-button{flex-shrink:0}.app-mobile-header-status{display:flex;justify-content:center;padding:4px 12px 8px;background-color:#1a1a1a;border-bottom:1px solid #333}@media (max-width: 640px){.app-settings-button,.app-refresh-button{padding:5px}}.app-legend{display:flex;justify-content:center;padding:8px;flex-shrink:0}.app-right-pane-toggle{display:flex;gap:8px;padding:8px 12px;justify-content:center;border-bottom:1px solid #333;background-color:#1a1a1a}.app-right-pane-toggle button{padding:6px 16px;border-radius:6px;border:1px solid #444;background:#202020e6;color:#e0e0e0;cursor:pointer;transition:all .2s ease;font-size:.95rem}.app-right-pane-toggle button:hover{background:#383838f2;border-color:#666}.app-right-pane-toggle button.active{background:#7bc4ff33;border-color:#7bc4ff;color:#fff}.legend-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;width:100%}.legend-item{display:flex;align-items:center;gap:8px;margin-right:16px}.legend-square{width:16px;height:16px}.legend-square-fastest-overall{width:16px;height:16px;background-color:var(--fastest-lap-color)}.legend-square-personal-best{width:16px;height:16px;background-color:var(--personal-best-color)}.legend-square-overall-fastest{width:16px;height:16px;background-color:var(--overall-fastest-color)}.legend-square-overall-personal-best{width:16px;height:16px;background-color:var(--overall-personal-best-color)}.pattern-hatched{background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.2),rgba(0,0,0,.2) 2px,transparent 2px,transparent 4px)}.favorite-toggle{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff}.favorite-toggle:hover:not(:disabled){background:#fff3;border-color:#ffffff4d;transform:scale(1.05)}.favorite-toggle:focus-visible{outline:2px solid #9ba3ff;outline-offset:2px}.favorite-toggle:active:not(:disabled){transform:scale(.95)}.favorite-row{background:linear-gradient(90deg,#9ba3ff1a,#9ba3ff0d)}.favorite-row:hover{background:linear-gradient(90deg,#9ba3ff26,#9ba3ff14)}@keyframes favoritePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.favorite-icon.animate{animation:favoritePulse .3s ease-in-out}.view-selector{display:flex;justify-content:space-around;background-color:#1a1a1a;border-bottom:1px solid #333}.view-selector button{flex:1;padding:8px;min-height:44px;background:none;color:#fff;border:none;border-bottom:2px solid transparent;cursor:pointer}.view-selector button.active{border-bottom:2px solid #fff}.view-selector button:focus{outline:none;border:none;border-bottom:2px solid transparent}.view-selector button:active{border:none;border-bottom:2px solid transparent}.view-selector button:focus.active{border-bottom:2px solid #fff}.channel-square{width:16px;height:16px;border:1px solid #666;margin-left:4px;display:inline-block;vertical-align:middle}:root{--fastest-lap-color: #1a472a;--personal-best-color: #2a2a4a;--overall-fastest-color: #4a1a1a;--overall-personal-best-color: #1a1a4a}.laps-view{display:flex;flex-direction:column;gap:4px}.race-info{display:flex;flex-direction:column;gap:4px;width:100%;overflow-x:hidden}.race-number{font-size:16px;font-weight:700;color:#888;padding:4px 8px;background-color:transparent;border-radius:4px}.race-number a{color:#888;text-decoration:none}.race-number a:hover{color:#aaa}.gt-header{background-color:#333;font-weight:700;display:grid}.gt-header>*{padding:4px;border:1px solid black}.gt-row{background-color:var(--row-bg, var(--table-bg-odd))}.laps-table .gt-row.predicted-row{background:#94a3b82e;font-style:italic;color:#e2e8f0e6}.laps-table .gt-row.predicted-row [data-col=pos],.laps-table .gt-row.predicted-row [data-col=name]{background-color:var(--row-bg, rgba(148, 163, 184, .18))}.gt-cell{border:1px solid black;padding:4px;overflow:hidden;position:relative}.laps-table .gt-cell[data-col=pos]{position:sticky;left:0;z-index:2;background:var(--row-bg, var(--table-bg-odd))}.laps-table .gt-cell[data-col=name]{position:sticky;left:56px;z-index:2;background:var(--row-bg, var(--table-bg-odd));white-space:nowrap}.laps-table .gt-header [data-col=pos]{position:sticky;left:0;z-index:4;background:#333}.laps-table .gt-header [data-col=name]{position:sticky;left:56px;z-index:4;background:#333}.laps-table .gt-cell>.lap-fastest-overall,.laps-table .gt-cell>.lap-personal-best,.laps-table .gt-cell>.lap-overall-fastest,.laps-table .gt-cell>.lap-overall-personal-best,.laps-table .gt-cell>.pattern-hatched{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:4px;box-sizing:border-box}.lap-fastest-overall{background-color:var(--fastest-lap-color)}.lap-personal-best{background-color:var(--personal-best-color)}.lap-overall-fastest{background-color:var(--overall-fastest-color)}.lap-overall-personal-best{background-color:var(--overall-personal-best-color)}.flex-row{display:flex;flex-direction:row;align-items:center;gap:4px}.laps-table .gt-row.favorite-row{background:linear-gradient(90deg,#9ba3ff1a,#9ba3ff0d)}.laps-table .gt-row.favorite-row:hover{background:linear-gradient(90deg,#9ba3ff26,#9ba3ff14)}.laps-table .gt-row.favorite-row [data-col=pos],.laps-table .gt-row.favorite-row [data-col=name]{background-color:var(--row-bg, var(--table-bg-odd));background-image:linear-gradient(90deg,#9ba3ff1a,#9ba3ff0d)}.laps-table .gt-row.favorite-row:hover [data-col=pos],.laps-table .gt-row.favorite-row:hover [data-col=name]{background-color:var(--row-bg, var(--table-bg-odd));background-image:linear-gradient(90deg,#9ba3ff26,#9ba3ff14)}.next-race-card{border:1px solid #333;border-radius:6px;padding:10px 12px;background:#161616;margin-bottom:10px}.next-race-card[data-predicted-race=true]{border-style:dashed;opacity:.9}.next-race-card--dense{padding:6px 8px;margin-bottom:6px}.next-race-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.next-race-title{font-weight:600;color:#ddd;font-size:.95rem}.next-race-grid{display:grid;gap:4px}.next-race-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 520px){.next-race-grid--two{grid-template-columns:1fr}}.next-race-slot{padding:2px 0;border:none;background:transparent}.next-race-slot[data-predicted=true]{color:#e2e8f0d6;font-style:italic}.slot-line{display:flex;align-items:center;gap:10px;min-width:0}.slot-channel-group{display:inline-flex;align-items:center;gap:2px}.slot-channel{letter-spacing:.3px;color:#bbb;font-size:.86rem}.next-race-slot[data-predicted=true] .slot-channel{color:#bfdbfebf}.slot-name{color:#eee;font-weight:400;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-race-slot[data-predicted=true] .slot-name{color:#e2e8f0e0}.next-race-slot .channel-square{width:12px;height:12px;border-color:#555}.slot-channel-group .channel-square{margin-left:0}.finals-race-panel{background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:8px;padding:1rem;margin-bottom:1rem}.finals-race-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,215,0,.2)}.finals-race-header h3{margin:0;font-size:1.125rem;font-weight:700;color:gold}.finals-race-progress{font-size:.75rem;color:#ffed4e;font-weight:600}.finals-race-active-heat{background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem;text-align:center}.active-heat-label{font-size:.875rem;font-weight:600;color:#2196f3;text-transform:uppercase;letter-spacing:.5px}.finals-race-message{background:#ffc1071a;border:1px solid rgba(255,193,7,.2);border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.75rem;color:#ffc107;text-align:center}.finals-race-standings{margin-bottom:.75rem}.finals-race-standings table{width:100%;border-collapse:collapse;font-size:.875rem}.finals-race-standings thead{background:#ffffff08}.finals-race-standings th{padding:.5rem .375rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.3px;color:#fff9;border-bottom:1px solid rgba(255,255,255,.1)}.finals-race-standings td{padding:.5rem .375rem;border-bottom:1px solid rgba(255,255,255,.05)}.finals-race-standings tr[data-champion=true]{background:linear-gradient(90deg,#ffd70026,#ffd7000d);font-weight:600}.finals-race-standings .pos,.finals-race-standings .wins,.finals-race-standings .pts{text-align:center;width:50px}.finals-race-standings .pilot{font-weight:500}.champion-icon{margin-left:.25rem;font-size:.875rem}.finals-race-champion{background:linear-gradient(135deg,gold,#ffed4e);color:#000;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:700;text-align:center}.leaderboard-container{flex:1;min-width:300px;margin-left:0;margin-bottom:12px;padding:8px;border-radius:8px;background-color:#1a1a1a;border:1px solid #333;display:flex;flex-direction:column;gap:6px;min-height:0;max-height:100%;overflow:hidden}.leaderboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:visible}.leaderboard-toolbar-left,.leaderboard-toolbar-right{display:flex;align-items:center;gap:8px}.leaderboard-table-viewport{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.leaderboard-table-viewport.autoscrolling{cursor:default}.leaderboard-table-viewport .leaderboard-table{flex:1;display:flex;flex-direction:column;min-height:0}.leaderboard-table-viewport .leaderboard-table .gt-scroll{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;touch-action:pan-y pan-x;padding-right:4px}.leaderboard-table-viewport.autoscrolling .gt-scroll{overflow:hidden!important}.gt{width:100%;--table-bg-odd: #1a1a1a;--table-bg-even: #222;--table-bg-hover: #2a2a2a}.gt-header{background-color:#333;font-weight:700;display:grid;gap:0;position:sticky;top:0;z-index:3}.gt-header>*{padding:4px 8px;border:1px solid black}.gt-body{position:relative}.gt-row{transition:transform .3s ease-out;background-color:var(--row-bg, var(--table-bg-odd))}.gt-row.row-odd{--row-bg: var(--table-bg-odd)}.gt-row.row-even{--row-bg: var(--table-bg-even)}.gt-row:hover{background-color:var(--table-bg-hover)}.gt-cell{border:1px solid black;padding:4px 8px;overflow:hidden;position:relative;font-family:monospace}.leaderboard-table .gt-cell[data-col=position]{position:sticky;left:0;z-index:2;background:var(--row-bg, var(--table-bg-odd))}.leaderboard-table .gt-cell[data-col=pilot]{position:sticky;left:32px;z-index:2;background:var(--row-bg, var(--table-bg-odd))}.leaderboard-table .gt-header [data-col=position]{position:sticky;left:0;z-index:4;background:#333}.leaderboard-table .gt-header [data-col=pilot]{position:sticky;left:32px;z-index:4;background:#333}.leaderboard-table .gt-row.favorite-row [data-col=position],.leaderboard-table .gt-row.favorite-row [data-col=pilot]{background-color:var(--row-bg, var(--table-bg-odd));background-image:linear-gradient(90deg,#9ba3ff1a,#9ba3ff0d)}.leaderboard-table .gt-row.favorite-row:hover [data-col=position],.leaderboard-table .gt-row.favorite-row:hover [data-col=pilot]{background-color:var(--row-bg, var(--table-bg-odd));background-image:linear-gradient(90deg,#9ba3ff26,#9ba3ff14)}.leaderboard-table .gt-row.split-after .gt-cell{border-top:2px solid #6b7280}.gt-cell>.fade-overflow:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,var(--row-bg, var(--table-bg-odd)) 90%);pointer-events:none}.leaderboard-pilot-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.leaderboard-table .gt-cell[data-col=pilot]{white-space:nowrap}.leaderboard-pilot-link:hover,.leaderboard-pilot-link:focus-visible{text-decoration:underline}.position-container{display:flex;flex-direction:column;align-items:center}.position-change{animation:fadeIn .5s ease-in;font-size:.8em;margin-top:2px;color:#0f0}.position-improved{animation:moveUpAndForward 1s ease-out;z-index:10;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes moveUpAndForward{0%{transform:translateZ(0) translateY(0);background-color:var(--table-bg-hover)}25%{transform:translateZ(50px) translateY(0);background-color:#3a3a3a}75%{transform:translateZ(50px) translateY(-100%);background-color:#3a3a3a}to{transform:translateZ(0) translateY(0);background-color:var(--table-bg-hover)}}.recent-time{animation:highlight 2s;background-color:#2a4a2a;border-radius:4px;padding:2px 4px;display:inline-block}@keyframes highlight{0%{background-color:#4a2a2a}50%{background-color:#2a4a2a}to{background-color:#2a4a2a}}.source-info{font-size:.7em;color:#aaa;margin-left:6px}.racing-text{color:#0f0;font-weight:700}.next-text{color:orange;font-weight:700}.done-text{color:#888;font-style:italic}.channel-display{display:flex;align-items:center;gap:4px}.elim-diagram-container{position:relative;width:100%;height:100%;min-height:480px;background:radial-gradient(circle at top left,#282a38a6,#13141cf2);color:#f1f5f9;overflow:hidden;touch-action:none}.elim-diagram-toolbar{position:absolute;top:.75rem;left:.75rem;right:.75rem;display:flex;align-items:center;justify-content:flex-end;z-index:2}.elim-diagram-rounds{display:flex;gap:.4rem;flex-wrap:wrap}.elim-round-chip{background:#0f172aa6;border:1px solid rgba(148,163,184,.35);border-radius:9999px;padding:.35rem .9rem;font-size:.75rem;color:#e2e8f0;cursor:pointer;transition:background .15s ease,border-color .15s ease}.elim-round-chip:hover,.elim-round-chip:focus-visible{background:#3b82f659;border-color:#3b82f699;outline:none}.elim-diagram-zoom{background:#0f172ab3;border:1px solid rgba(148,163,184,.4);border-radius:.75rem;padding:.2rem .8rem;font-size:.75rem;color:#cbd5f5}.elim-diagram-controls{display:flex;align-items:center;gap:.5rem}.elim-reset-btn{padding:.25rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#1e293bbf;color:#e2e8f0;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background .15s ease,border-color .15s ease}.elim-reset-btn:hover,.elim-reset-btn:focus-visible{background:#3b82f659;border-color:#3b82f699;outline:none}.elim-diagram-stage{position:absolute;top:0;left:0;will-change:transform}.elim-diagram-svg{-webkit-user-select:none;user-select:none}.elim-edge{stroke-width:4;opacity:.25;stroke-linejoin:bevel;stroke-linecap:square}.elim-edge[data-state=active]{stroke-width:5;opacity:.85}.elim-edge[data-state=completed]{stroke-width:4;opacity:.55}.elim-edge--advance{stroke:#0ea5e9}.elim-edge--drop{stroke:#f97316}.elim-node{font-family:Inter,system-ui,sans-serif}.elim-node-rect{fill:#1e293be6;stroke:#94a3b840;stroke-width:1}.elim-node-rect[data-status=active]{stroke:#38bdf8e6;stroke-width:2}.elim-node-rect[data-status=completed]{stroke:#86efaccc}.elim-node-rect[data-current=true]{stroke:#0f0;stroke-width:3}.elim-node-card{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:.75rem;box-sizing:border-box;gap:.5rem}.elim-node-card header{display:flex;align-items:baseline;gap:.5rem}.elim-node-title{font-size:.9rem;font-weight:600;color:#fff}.elim-node-sub{font-size:.75rem;color:#94a3b8;font-weight:500}.elim-node-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem;height:100%;overflow-y:auto}.elim-node-slot{display:grid;grid-template-columns:1.4rem 2rem 1fr auto;gap:.35rem;align-items:center;font-size:.72rem;padding:.25rem .35rem;border-radius:.4rem;background:#0f172abf}.elim-node-slot[data-winner=true]{background:#10b98159;color:#fff}.elim-node-slot[data-eliminated=true]{background:#ef44444d;color:#fff}.elim-node-slot[data-predicted=true]{background:#94a3b82e;color:#e2e8f0d9;font-style:italic}.elim-node-slot[data-predicted=true] .slot-channel{color:#94c5ffd9}.elim-node-slot[data-predicted=true] .slot-name{color:#e2e8f0eb}.elim-node-slot .slot-position{font-variant-numeric:tabular-nums;color:#e2e8f0}.elim-node-slot[data-predicted=true] .slot-position{color:#e2e8f0db}.elim-node-slot[data-winner=true] .slot-position{color:#d1fae5}.elim-node-slot[data-eliminated=true] .slot-position{color:#fecaca}.elim-node-slot .slot-channel{font-weight:600;color:#7dd3fc}.elim-node-slot .slot-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.elim-node-slot .slot-destination{font-size:.65rem;font-weight:600;color:#94a3b8;white-space:nowrap;padding-left:.25rem}.elim-node-slot[data-winner=true] .slot-destination{color:#a7f3d0}.elim-node-slot[data-eliminated=true] .slot-destination{color:#fca5a5}.elim-diagram-container:focus-visible{outline:2px solid rgba(59,130,246,.7);outline-offset:2px}.bracket-view{display:flex;flex-direction:column;height:100%;width:100%}.bracket-view-finals{position:absolute;bottom:0;left:0;right:0;max-height:50vh;overflow-y:auto;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.8) 10%,rgba(0,0,0,.95) 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem;border-top:1px solid rgba(255,255,255,.1);z-index:10}.bracket-view-finals::-webkit-scrollbar{width:8px}.bracket-view-finals::-webkit-scrollbar-track{background:#0000004d}.bracket-view-finals::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.bracket-view-finals::-webkit-scrollbar-thumb:hover{background:#fff6}.finals-module{background:var(--color-surface-secondary, #1a1a1a);border:1px solid var(--color-border, #333);border-radius:12px;padding:1.5rem;margin-top:2rem}.finals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-border, #333)}.finals-header h3{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text-primary, #ffffff)}.finals-header-info{display:flex;gap:1rem;align-items:center}.finals-heat-count{font-size:.875rem;color:var(--color-text-secondary, #999);font-weight:600}.finals-champion-badge{background:linear-gradient(135deg,gold,#ffed4e);color:#000;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.finals-message{padding:1rem;margin-bottom:1rem;border-radius:8px;font-size:.875rem;text-align:center}.finals-message--warning{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#ffc107}.finals-message--success{background:#4caf501a;border:1px solid rgba(76,175,80,.3);color:#4caf50}.finals-standings{margin-bottom:1.5rem}.finals-table{width:100%;border-collapse:collapse;font-size:.875rem}.finals-table thead{background:#ffffff08}.finals-table th{padding:.75rem .5rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;color:var(--color-text-secondary, #999);border-bottom:1px solid var(--color-border, #333)}.finals-table .col-position{width:60px;text-align:center}.finals-table .col-wins{width:80px;text-align:center}.finals-table .col-points{width:100px;text-align:center}.finals-table .col-heats{width:80px;text-align:center}.finals-row{transition:background .2s}.finals-row:hover{background:#ffffff0d}.finals-row[data-champion=true]{background:linear-gradient(90deg,#ffd70026,#ffd7000d);font-weight:600}.finals-row td{padding:.75rem .5rem;border-bottom:1px solid rgba(255,255,255,.05)}.finals-row .col-position,.finals-row .col-wins,.finals-row .col-points,.finals-row .col-heats{text-align:center}.champion-icon{margin-left:.25rem;font-size:1rem}.finals-heats{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border, #333)}.finals-heats h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-text-primary, #ffffff)}.finals-heats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.finals-heat-card{background:#ffffff08;border:1px solid var(--color-border, #333);border-radius:8px;padding:.75rem;transition:all .2s}.finals-heat-card[data-current=true]{border-color:var(--color-accent, #2196f3);box-shadow:0 0 0 1px var(--color-accent, #2196f3)}.finals-heat-card[data-active=true]{background:#2196f31a;border-color:#2196f380}.finals-heat-card[data-completed=true]{background:#4caf500d}.heat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.heat-number{font-weight:700;font-size:.875rem;color:var(--color-text-primary, #ffffff)}.heat-status{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary, #999)}.finals-heat-card[data-active=true] .heat-status{color:var(--color-accent, #2196f3)}.finals-heat-card[data-completed=true] .heat-status{color:var(--color-success, #4caf50)}.heat-results{list-style:none;margin:0;padding:0}.heat-result{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.75rem}.result-position{font-weight:700;min-width:20px;color:var(--color-text-secondary, #999)}.result-pilot{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary, #ffffff)}.result-points{font-weight:600;color:var(--color-text-secondary, #999);font-size:.7rem}.pilot-page{display:flex;flex-direction:column;gap:16px;padding:16px}.pilot-header{display:flex;flex-direction:column;gap:12px}.pilot-header-main{display:flex;flex-direction:column;gap:4px}.pilot-back-link{color:#9ba3ff;text-decoration:none;font-size:.9rem}.pilot-back-link.secondary{color:#fff}.pilot-header-main h1{margin:0;font-size:2rem;line-height:1.2}.pilot-given-name{font-size:1rem;color:#bbb}.pilot-header-meta{display:flex;flex-wrap:wrap;gap:8px}.pilot-meta-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background-color:#ffffff0f;border-radius:999px;font-size:.9rem}.pilot-meta-sub{color:#9bd2ff;font-size:.8rem}.pilot-stat-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.pilot-stat-card{background-color:#ffffff0a;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.pilot-stat-card--empty{opacity:.65}.pilot-stat-label{font-size:.85rem;color:#9ba3ff;text-transform:uppercase;letter-spacing:.04em}.pilot-stat-value{font-size:1.3rem;font-weight:600}.pilot-stat-subtitle{font-size:.85rem;color:#bbb}.pilot-tabs{display:flex;gap:4px;background-color:#ffffff0a;border-radius:999px;padding:4px;align-self:flex-start}.pilot-tabs button{border:none;background:none;color:#fff;padding:8px 16px;border-radius:999px;cursor:pointer;font-size:.95rem}.pilot-tabs button.active{background-color:#9ba3ff;color:#0d0d0d;font-weight:600}.pilot-tabs button:focus-visible{outline:2px solid #9ba3ff;outline-offset:2px}.pilot-tab-panel{background-color:#00000059;border-radius:16px;padding:16px;min-height:240px}.pilot-empty-state{text-align:center;padding:48px 16px;color:#bbb}.pilot-not-found{padding:48px 16px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}@media (min-width: 768px){.pilot-header{flex-direction:row;justify-content:space-between;align-items:flex-end}.pilot-header-main{max-width:60%}}.pilot-analytics-tab{display:flex;flex-direction:column;gap:16px}.pilot-analytics-controls{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}.pilot-axis-toggle{display:inline-flex;gap:4px;background-color:#ffffff14;border-radius:999px;padding:4px}.pilot-axis-toggle button{border:none;background:none;color:#fff;padding:6px 14px;border-radius:999px;cursor:pointer;font-size:.9rem}.pilot-axis-toggle button.active{background-color:#9ba3ff;color:#12131f;font-weight:600}.pilot-axis-toggle button:disabled{opacity:.45;cursor:not-allowed}.pilot-overlay-toggles{display:flex;flex-wrap:wrap;gap:12px}.pilot-overlay-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:#ddd}.pilot-overlay-toggle input{accent-color:#9ba3ff}.pilot-overlay-color{display:inline-block;width:12px;height:12px;border-radius:4px}.pilot-analytics-chart-area{position:relative;height:clamp(280px,50vh,420px)}.pilot-analytics-chart-wrapper{position:relative;width:100%;height:100%;background:#0c0c12a6;border-radius:16px;overflow:hidden}.pilot-analytics-toolbar{display:flex;gap:8px}.pilot-analytics-toolbar button{border:none;padding:6px 12px;border-radius:6px;background-color:#ffffff1f;color:#fff;cursor:pointer}.pilot-race-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.pilot-race-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background-color:#ffffff14;font-size:.85rem}.pilot-race-chip-color{display:inline-block;width:14px;height:14px;border-radius:50%}.pilot-tooltip{display:flex;flex-direction:column;gap:4px;background-color:#0c0c12eb;padding:8px 10px;border-radius:8px;color:#fff}.pilot-tooltip-title{font-weight:600}.pilot-analytics-chart-wrapper svg rect[data-testid*=bar]{fill:#ffffffe6!important;stroke:#fff3;stroke-width:1px;rx:2px;ry:2px;transition:opacity .2s ease}.pilot-analytics-chart-wrapper svg rect[data-testid*=bar]:hover{opacity:1}.pilot-lap-table-tab{display:flex;flex-direction:column;gap:12px}.pilot-lap-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.pilot-lap-count{font-size:.9rem;color:#bbb}.pilot-lap-sort{display:inline-flex;gap:4px;background-color:#ffffff14;border-radius:999px;padding:4px}.pilot-lap-sort button{border:none;background:none;color:#fff;padding:6px 14px;border-radius:999px;cursor:pointer;font-size:.9rem}.pilot-lap-sort button.active{background-color:#9ba3ff;color:#12131f;font-weight:600}.pilot-lap-table .pilot-lap-time--best{color:#71e0c9;font-weight:600}.pilot-lap-table .pilot-lap-channel{display:inline-flex;align-items:center;gap:8px}.pilot-lap-channel-placeholder{width:16px;height:16px;border-radius:4px;background-color:#ffffff1f;display:inline-block}.pilot-lap-race{display:flex;flex-direction:column;gap:2px}.pilot-lap-table .gt-row:hover{background-color:#ffffff0f}.pilot-upcoming-tab{display:flex;flex-direction:column;gap:16px}.pilot-next-card{background:linear-gradient(135deg,#9ba3ff40,#71e0c92e);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:16px;color:#fff}.pilot-next-card h2{margin:0;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffffd1}.pilot-next-card p{margin:0;font-size:1.4rem;font-weight:600}.pilot-next-countdown{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;background-color:#12131f59;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.pilot-upcoming-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pilot-upcoming-card{background-color:#ffffff0d;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.pilot-upcoming-card h3{margin:0;font-size:1.05rem;color:#fff}.pilot-upcoming-card p{margin:2px 0 0;color:#bbb;font-size:.9rem}.pilot-upcoming-meta{display:flex;flex-direction:column;gap:10px}.pilot-upcoming-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.pilot-upcoming-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#fff9}.pilot-upcoming-channel{display:inline-flex;align-items:center;gap:8px}.pilot-upcoming-channel-placeholder{width:16px;height:16px;border-radius:4px;background-color:#ffffff1f;display:inline-block}.pilot-upcoming-competitors{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.pilot-upcoming-competitor{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border-radius:999px;background-color:#ffffff14;font-size:.85rem}.pilot-upcoming-empty{color:#bbb;font-size:.85rem}
