.pitwall{--dash-bg: #0d1117;--dash-panel: #121820;--dash-subtle: #171f29;--dash-raised: #1c2632;--dash-border: #2a3441;--dash-row-border: #202a36;--dash-text: #e6edf5;--dash-muted: #95a5b9;--dash-accent: #5ad4e9;--dash-selected: #172e3b;--dash-green: #65d9a0;--dash-yellow: #f4cf6d;--dash-red: #ff727b;--dash-purple: #d29cff;--dash-compare: #e8bb66;display:flex;flex-direction:column;position:relative;height:100%;min-height:0;color:var(--dash-text);background:var(--dash-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:12px;line-height:1.4;color-scheme:dark}[data-theme=light] .pitwall{--dash-bg: #edf0f3;--dash-panel: #fafbfd;--dash-subtle: #eef2f6;--dash-raised: #e3e9ef;--dash-border: #c8d2dd;--dash-row-border: #e0e6ed;--dash-text: #162738;--dash-muted: #566a7e;--dash-accent: #087489;--dash-selected: #e0f1f5;--dash-green: #167146;--dash-yellow: #846409;--dash-red: #c63748;--dash-purple: #8241b6;--dash-compare: #916009;color-scheme:light}.pitwall *,.pitwall *:before,.pitwall *:after{box-sizing:border-box}.pitwall button{font:inherit;cursor:pointer}.pitwall button,.pitwall table{color:inherit}.pitwall button:focus-visible,.pitwall [tabindex]:focus-visible,.pitwall select:focus-visible{outline:2px solid var(--dash-accent);outline-offset:-2px}.pitwall button{-webkit-tap-highlight-color:transparent}.pitwall h2,.pitwall p{margin:0}.pitwall .mono,.timing-table,.pit-table,.tyre-age{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums}.pitwall .muted{color:var(--dash-muted)}.pitwall .fastest{color:var(--dash-purple)}.pitwall .text-left{text-align:left}.dashboard-grid{position:relative;display:grid;grid-template-columns:var(--timing-width, 448px) minmax(0,1fr) var(--sidebar-width, 286px);flex:1;min-height:0;overflow:hidden;border:1px solid var(--dash-border)}.dashboard-toolbar{display:flex;align-items:center;flex:0 0 28px;min-width:0;gap:9px;border:1px solid var(--dash-border);border-bottom:0;background:var(--dash-subtle);padding:0 4px}.dashboard-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:27px;border:0;padding:0 6px;background:transparent;color:var(--dash-muted);font-size:11px;white-space:nowrap}.dashboard-toolbar button:hover{background:var(--dash-raised);color:var(--dash-text)}.dashboard-toolbar button:disabled{cursor:default;opacity:.5}.dashboard-toolbar .favorite-toggle.active{color:var(--dash-yellow)}.layout-hint{color:var(--dash-muted);font-size:11px}.dashboard-tool-actions{display:flex;margin-left:auto;align-items:center}.dashboard-notice{position:absolute;z-index:20;top:28px;right:0;max-width:min(100%,460px);display:flex;align-items:center;gap:6px;border:1px solid var(--dash-border);padding:7px 9px;background:var(--dash-raised);font-size:11px}.dashboard-notice button{background:transparent;border:0;padding:4px;line-height:0}.panel-resizer{position:absolute;z-index:8;top:0;bottom:0;width:7px;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.resizer-timing{left:calc(var(--timing-width) - 3px)}.resizer-sidebar{right:calc(var(--sidebar-width) - 3px)}.panel-resizer:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:transparent}.panel-resizer:hover:after,.panel-resizer:focus-visible:after{width:2px;background:var(--dash-accent)}.favorite-strip{display:flex;align-items:center;flex:0 0 26px;min-height:26px;overflow-x:auto;scrollbar-width:none;gap:4px;padding:0 6px;border-bottom:1px solid var(--dash-border);white-space:nowrap;background:var(--dash-subtle)}.favorite-strip>span{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--dash-yellow)}.favorite-strip button{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;border:0;height:24px;background:transparent;padding:0 5px;font-size:11px}.favorite-strip button:hover,.favorite-strip button.active{background:var(--dash-selected)}.favorite-strip button>i{width:2px;height:11px;background:var(--team-color)}.favorite-strip button>span{color:var(--dash-muted)}.dashboard-panel{min-width:0;min-height:0;background:var(--dash-panel);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;flex:0 0 28px;height:28px;padding:0 8px;border-bottom:1px solid var(--dash-border);background:var(--dash-subtle);gap:6px}.panel-heading h2{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.panel-heading h2>svg{color:var(--dash-muted)}.section-code{color:var(--dash-muted);font-family:Consolas,monospace;font-size:11px;font-weight:400;letter-spacing:.07em}.heading-note{font-size:11px;color:var(--dash-muted);white-space:nowrap}.compact-empty{padding:14px 8px;color:var(--dash-muted);font-size:12px}.timing-panel{display:flex;flex-direction:column;border-right:1px solid var(--dash-border)}.qualifying-phase{padding:1px 4px;border:1px solid var(--dash-border);color:var(--dash-accent);font:600 11px Consolas,monospace}.timing-scope,.timing-freshness{font-size:11px;font-weight:400;color:var(--dash-muted);letter-spacing:0}.timing-freshness{color:var(--dash-yellow)}.interval-stale,.interval-unknown{color:var(--dash-muted);text-decoration:underline dotted;text-underline-offset:3px}.panel-tabs{display:flex;align-self:stretch;margin-right:-8px}.panel-tabs button{border:0;border-left:1px solid var(--dash-border);border-bottom:2px solid transparent;padding:0 11px;background:transparent;color:var(--dash-muted);font-size:11px}.panel-tabs button:hover{background:var(--dash-raised);color:var(--dash-text)}.panel-tabs button[aria-selected=true]{color:var(--dash-accent);background:var(--dash-panel);border-bottom-color:var(--dash-accent)}.timing-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--dash-border) transparent}.timing-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;font-size:13px;line-height:1}.timing-table .col-position{width:29px}.timing-table .col-driver{width:77px}.timing-table .col-gap{width:83px}.timing-table .col-interval{width:78px}.timing-table .col-lap{width:89px}.timing-table .col-tyre{width:58px}.timing-table .col-pits{width:42px}.timing-table thead{position:sticky;top:0;z-index:2}.timing-table th,.timing-table td{height:26px;padding:0 7px 0 3px;text-align:right;border-bottom:1px solid var(--dash-row-border);white-space:nowrap;overflow:hidden}.timing-table thead th{height:28px;font-family:Microsoft YaHei,sans-serif;font-size:11px;font-weight:400;color:var(--dash-muted);background:var(--dash-subtle);border-bottom-color:var(--dash-border)}.timing-table thead th:first-child{text-align:center}.timing-table tbody tr{cursor:pointer}.timing-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--dash-subtle) 38%,transparent)}.timing-table tbody tr:hover{background:var(--dash-raised)}.timing-table tbody tr.selected{background:var(--dash-selected)}.timing-table tbody tr.selected .position-cell{color:var(--dash-accent);box-shadow:inset 2px 0 var(--dash-accent)}.timing-table .position-cell{text-align:center;padding:0;font-size:12px;color:var(--dash-muted)}.timing-table .driver-cell{text-align:left;padding:0 3px 0 9px;position:relative;font-weight:650}.driver-color{position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--team-color)}.driver-code{letter-spacing:.015em}.driver-state{font-size:11px;letter-spacing:-.06em;margin-left:4px;color:var(--dash-yellow)}.state-retired,.state-out,.retired .driver-code{color:var(--dash-muted)}.timing-table .leader-value{color:var(--dash-muted);font-size:11px;letter-spacing:.03em}.tyre-readout{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;gap:5px}.tyre{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;border:1.5px solid currentColor;border-radius:50%;line-height:1;font-size:11px;font-weight:750;font-family:Consolas,monospace}.tyre-soft{color:var(--dash-red)}.tyre-medium{color:var(--dash-yellow)}.tyre-hard{color:var(--dash-text)}.tyre-intermediate{color:var(--dash-green)}.tyre-wet{color:#7daffa}.tyre-unknown{color:var(--dash-muted)}.tyre-age{width:18px;text-align:right;font-size:11px;color:var(--dash-muted)}.stint-sequence{display:flex;gap:9px;align-items:center;overflow:hidden}.stint-item{display:inline-flex;gap:4px;align-items:center}.stint-item small{color:var(--dash-muted);font-size:11px}.panel-footnote{display:flex;justify-content:space-between;gap:8px;flex:0 0 24px;padding:0 8px;align-items:center;color:var(--dash-muted);font-size:11px;border-top:1px solid var(--dash-border)}.panel-footnote>span,.map-legend>span{display:inline-flex;gap:4px;align-items:center}.legend-swatch{display:inline-block;width:5px;height:5px}.fastest-swatch{background:var(--dash-purple)}.selected-swatch{width:7px;height:7px;border:1px solid var(--dash-accent);border-radius:50%}.dashboard-center{min-height:0;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--dash-border);container-type:inline-size;container-name:monitor-center}.circuit-panel{flex:1;display:flex;flex-direction:column;min-height:220px}.track-state{display:inline-flex;align-items:center;gap:5px;color:var(--dash-muted);font-size:11px}.track-state>i,.data-age>i{width:5px;height:5px;border-radius:50%;background:currentColor}.flag-green{color:var(--dash-green)}.flag-yellow,.flag-sc,.flag-vsc{color:var(--dash-yellow)}.flag-red{color:var(--dash-red)}.circuit-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background-image:radial-gradient(var(--dash-border) .6px,transparent .6px);background-size:16px 16px}.circuit-caption{position:absolute;left:10px;top:9px;right:10px;display:flex;align-items:start;justify-content:space-between;gap:8px;z-index:1;font-size:11px;pointer-events:none}.circuit-caption>span{background:var(--dash-panel)}.circuit-name{color:var(--dash-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;max-width:65%}.circuit-caption b{color:var(--dash-text);font-weight:500}.circuit-canvas{position:relative;flex:1;min-height:0;margin:30px 8px 24px}.circuit-svg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.track-outline{fill:none;stroke:var(--dash-border);stroke-width:14px;stroke-linejoin:round;stroke-linecap:round}.track-centerline{fill:none;stroke:var(--dash-panel);stroke-width:8px;stroke-linejoin:round;stroke-linecap:round}.car-marker{cursor:pointer}.marker-target{fill:transparent}.marker-dot{stroke:var(--dash-panel);stroke-width:1.5px}.selected-marker-ring{fill:none;stroke:var(--dash-accent);stroke-width:1.4px}.car-marker.is-old .marker-dot{opacity:.45}.car-marker.is-old .selected-marker-ring{stroke-dasharray:3 2}.car-marker:focus-visible .marker-dot{stroke:var(--dash-accent);stroke-width:3px}.marker-label-back{fill:var(--dash-panel);stroke:var(--dash-border);stroke-width:.7px}.marker-label{fill:var(--dash-text);font:600 12px Consolas,monospace}.map-legend{position:absolute;bottom:7px;left:10px;right:10px;display:flex;justify-content:space-between;gap:8px;font-size:11px}.map-legend>span{background:var(--dash-panel)}.track-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--dash-muted);padding:8px}.track-empty p{color:var(--dash-text);font-size:12px}.track-empty>span{font-size:11px}.weather-strip{min-height:28px;flex:0 0 28px;display:flex;align-items:center;justify-content:space-around;padding:0 5px;border-top:1px solid var(--dash-row-border);background:var(--dash-panel);color:var(--dash-muted);font-size:11px}.weather-strip>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.weather-strip b{font-family:Consolas,monospace;font-weight:500;color:var(--dash-text);font-size:11px}.weather-strip .weather-freshness{color:var(--dash-yellow);font-size:11px}.weather-stale b,.weather-unknown b{color:var(--dash-muted);text-decoration:underline dotted;text-underline-offset:3px}.drs-badge{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;white-space:nowrap;min-height:18px;padding:0 4px;border:1px solid var(--dash-border);font:11px/16px Consolas,Microsoft YaHei,sans-serif;color:var(--dash-muted)}.drs-badge b{font-weight:500}.drs-badge small{font:inherit}.drs-on{color:var(--dash-green);border-color:color-mix(in srgb,var(--dash-green) 45%,var(--dash-border));background:color-mix(in srgb,var(--dash-green) 8%,transparent)}.drs-available{color:var(--dash-yellow)}.drs-badge.is-stale{color:var(--dash-muted);border-style:dashed;background:transparent}.drs-badge.is-compact{min-height:14px;padding:0 3px;line-height:13px;border:0}.telemetry-panel{display:flex;flex-direction:column;flex:0 0 258px;border-top:1px solid var(--dash-border)}.telemetry-panel.is-comparing{flex-basis:280px}.comparison-selector{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--dash-muted)}.comparison-selector select{height:23px;max-width:112px;border:1px solid var(--dash-border);border-radius:2px;background:var(--dash-panel);color:var(--dash-text);font:11px Consolas,Microsoft YaHei,sans-serif;padding:0 3px}.is-comparing .data-age{color:var(--dash-muted)}.comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:5px}.comparison-table th,.comparison-table td{border-bottom:1px solid var(--dash-row-border);text-align:right;padding:0 5px}.comparison-table thead th{height:24px;font-size:11px;font-weight:400;color:var(--dash-muted);white-space:nowrap}.comparison-table th:first-child{text-align:left;width:28%;padding-left:0}.comparison-table tbody td{font:13px Consolas,Microsoft YaHei,monospace;font-variant-numeric:tabular-nums}.comparison-table tbody th,.comparison-table tbody td{height:43px}.comparison-table .gear-drs-heading{line-height:11px}.gear-drs-heading small{display:block;font-size:11px}.gear-drs-value{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:16px}.comparison-table tbody th>div{display:flex;gap:6px;align-items:center}.comparison-table tbody th b{font-size:13px}.comparison-table tbody th small{display:block;font-size:11px;color:var(--dash-muted);font-weight:400;white-space:nowrap}.comparison-key{font:700 11px Consolas,monospace;color:var(--dash-accent)}.comparison-b .comparison-key{color:var(--dash-compare)}.comparison-old th small{color:var(--dash-yellow)}.trace-legend{gap:10px!important}.trace-legend b{font:600 11px Consolas,monospace}.trace-a{color:var(--dash-accent)}.trace-b{color:var(--dash-compare)}.comparison-trace.trace-a .speed-line{stroke:var(--dash-accent)}.comparison-trace.trace-b .speed-line{stroke:var(--dash-compare);stroke-dasharray:5 3}.comparison-trace.trace-a .speed-point{fill:var(--dash-accent)}.comparison-trace.trace-b .speed-point{fill:var(--dash-compare)}.comparison-laps>span{white-space:nowrap}.data-age{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--dash-green);white-space:nowrap}.data-age.is-stale{color:var(--dash-muted)}.telemetry-content{padding:0 9px}.selected-driver-heading{height:32px;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--dash-row-border)}.selected-driver-heading>div{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.driver-number{color:var(--dash-muted);border-left:3px solid var(--team-color);padding-left:6px;font-size:12px}.selected-driver-heading strong{font:650 14px Consolas,monospace}.selected-driver-name{color:var(--dash-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-driver-team{font-size:11px;color:var(--dash-muted);text-align:right;white-space:nowrap}.telemetry-values{height:62px;display:flex;align-items:center;gap:14px}.telemetry-values>div:not(.pedals){position:relative;display:flex;align-items:baseline;gap:3px;padding-top:12px}.metric-label{position:absolute;top:0;left:0;font-size:11px;color:var(--dash-muted)}.telemetry-values strong{font-weight:500;line-height:1}.speed-value strong{font-size:32px;min-width:55px;letter-spacing:-1.5px}.telemetry-values small{font-size:11px;color:var(--dash-muted)}.gear-value{min-width:28px}.gear-value strong{font-size:26px}.rpm-value strong{font-size:18px;min-width:50px}.old-telemetry .metric-label{text-decoration:underline dotted;text-underline-offset:3px}.pedals{margin-left:auto;flex:1;max-width:195px;min-width:103px;display:flex;flex-direction:column;gap:8px;padding-top:4px}.pedal-row{display:flex;gap:5px;align-items:center;font-size:11px}.pedal-row>span{color:var(--dash-muted);white-space:nowrap}.pedal-row b{width:34px;text-align:right;font-weight:500;font-size:11px}.pedal-track{height:5px;flex:1;min-width:20px;background:var(--dash-raised)}.pedal-track>span{display:block;height:100%}.throttle-level{background:var(--dash-green)}.brake-level{background:var(--dash-red)}.speed-trace{height:108px;display:flex;flex-direction:column}.trace-caption{display:flex;justify-content:space-between;font-size:11px;flex:0 0 15px;height:15px}.trace-caption>span{display:inline-flex;align-items:center;gap:4px;color:var(--dash-muted)}.speed-trace-plot{position:relative;flex:1;min-height:0}.speed-trace-chart{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.chart-grid{stroke:var(--dash-row-border);stroke-width:.8px}.chart-axis{fill:var(--dash-muted);font:11px Consolas,monospace}.chart-empty-label{fill:var(--dash-muted);font:12px Microsoft YaHei,sans-serif}.speed-line{fill:none;stroke:var(--team-color, var(--dash-accent));stroke-width:1.8px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.speed-point{fill:var(--team-color, var(--dash-accent))}.selected-laps{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:25px;border-top:1px solid var(--dash-row-border);font-size:11px;color:var(--dash-muted)}.selected-laps b{margin-left:4px;color:var(--dash-text);font-size:11px;font-weight:400}.race-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.messages-panel{flex:1;display:flex;flex-direction:column;min-height:155px}.count-badge{color:var(--dash-muted);font-size:11px}.message-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--dash-border) transparent}.race-message{padding:8px 9px;border-bottom:1px solid var(--dash-row-border);border-left:2px solid transparent}.message-meta{display:flex;align-items:center;gap:7px;margin-bottom:3px}.message-meta time{font-size:11px;color:var(--dash-muted)}.message-category{text-transform:uppercase;color:var(--dash-muted);font-size:11px}.message-driver{padding:0 3px;font:600 11px Consolas,monospace!important;color:var(--dash-accent)!important;background:var(--dash-raised);border:0;margin-left:auto}.race-message>p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.message-fastest{border-left-color:var(--dash-purple)}.message-fastest .message-category{color:var(--dash-purple)}.message-flag-yellow,.message-flag-sc,.message-flag-vsc{border-left-color:var(--dash-yellow)}.message-flag-yellow .message-category,.message-flag-sc .message-category,.message-flag-vsc .message-category{color:var(--dash-yellow)}.message-flag-red{border-left-color:var(--dash-red)}.message-flag-red .message-category{color:var(--dash-red)}.message-flag-green{border-left-color:var(--dash-green)}.original-toggle{padding:3px 0 0;border:0;background:transparent;display:inline-flex;align-items:center;gap:2px;color:var(--dash-muted)!important;font-size:11px!important}.original-toggle .rotated{transform:rotate(180deg)}.race-message .message-original{margin-top:5px;color:var(--dash-muted);font-size:11px}.pits-panel{flex:0 0 auto;border-top:1px solid var(--dash-border)}.pit-table-wrapper{min-height:80px}.pit-table{border-collapse:collapse;width:100%;font-size:11px;table-layout:fixed}.pit-table th,.pit-table td{height:25px;padding:0 9px;text-align:right;border-bottom:1px solid var(--dash-row-border)}.pit-table th:first-child{width:72px;text-align:left}.pit-table thead th{color:var(--dash-muted);font:11px Microsoft YaHei,sans-serif;height:22px}.pit-table tbody tr:last-child>*{border-bottom:0}.pit-driver{display:flex;align-items:center;gap:5px;font-weight:600!important;padding:0;border:0;background:transparent}.pit-driver i{width:3px;height:10px;background:var(--team-color, var(--dash-muted))}.strategy-panel{flex:0 0 auto;border-top:1px solid var(--dash-border)}.strategy-content{padding:0 8px 5px}.strategy-scale{height:22px;display:grid;grid-template-columns:36px 1fr 1fr 1fr;color:var(--dash-muted);font:11px Consolas,monospace;align-items:center;padding-right:24px}.strategy-scale span:nth-child(3){text-align:center}.strategy-scale span:last-child{text-align:right}.strategy-row{height:24px;display:flex;align-items:center;gap:7px;width:100%;padding:0 3px;border:0;background:transparent;text-align:left}.strategy-row.selected{background:var(--dash-selected)}.strategy-row:hover{background:var(--dash-raised)}.strategy-code{font-size:11px;width:30px;flex-shrink:0}.stint-track{position:relative;flex:1;height:12px;background:var(--dash-raised);overflow:hidden}.stint-bar{position:absolute;height:100%;top:0;border-right:1px solid var(--dash-panel);font:700 11px/12px Consolas,monospace;text-align:center;color:var(--dash-panel)}.stint-soft{background:var(--dash-red)}.stint-medium{background:var(--dash-yellow)}.stint-hard{background:var(--dash-text)}.stint-intermediate{background:var(--dash-green)}.stint-wet{background:#7daffa}.stint-unknown{background:var(--dash-muted)}.stint-no-data{position:absolute;left:4px;top:-3px;font-size:11px;color:var(--dash-muted)}.strategy-row .tyre{width:14px;height:14px;font-size:11px}.compound-legend{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--dash-muted)}.compound-legend>span{display:inline-flex;align-items:center;gap:3px}.compound-legend .tyre{width:14px;height:14px;font-size:11px;border-width:1px}.mobile-dashboard-nav{display:none}@media(min-width:760px)and (max-height:819px){.timing-panel .panel-footnote{display:none}}@media(min-width:1440px){.telemetry-panel{flex-basis:278px}.telemetry-panel.is-comparing{flex-basis:300px}.speed-trace{height:128px}}@media(min-width:760px)and (max-width:1199px){.dashboard-grid{grid-template-columns:420px minmax(0,1fr);overflow-y:auto}.timing-panel{grid-row:span 2}.dashboard-center{min-height:575px;border-right:0}.race-sidebar{grid-column:2;display:grid;grid-template-columns:1fr;overflow:visible;border-top:1px solid var(--dash-border)}.messages-panel{min-height:240px;max-height:350px}.strategy-panel{padding-bottom:5px}.timing-table .col-gap{width:77px}.timing-table .col-interval{width:73px}.timing-table .col-lap{width:86px}.timing-table .col-driver{width:72px}.timing-table .col-tyre{width:53px}.telemetry-values{gap:10px}.rpm-value{display:none!important}.selected-driver-team,.section-code{display:none}}@media(max-width:1199px){.panel-resizer,.layout-hint{display:none}}@container monitor-center (max-width: 430px){.rpm-value{display:none!important}.selected-driver-team{display:none}.telemetry-values{gap:10px}.comparison-laps b{margin-left:2px}}@media(min-width:760px)and (max-width:899px){.dashboard-grid{grid-template-columns:386px minmax(0,1fr)}.timing-table .col-interval{width:65px}.timing-table .col-gap{width:71px}.timing-table .col-driver{width:61px}.timing-table .col-tyre{width:48px}.timing-table th,.timing-table td{padding-right:3px}.driver-state,.weather-strip .weather-rain{display:none}.panel-footnote>span:nth-child(2){display:none}.selected-driver-name{display:none}}@media(max-width:759px){.pitwall{display:flex;flex-direction:column}.dashboard-toolbar{flex-basis:44px}.dashboard-toolbar button{height:43px}.dashboard-notice{top:44px}.favorite-strip{flex-basis:44px;min-height:44px}.favorite-strip button{height:43px}.mobile-dashboard-nav{flex:0 0 44px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--dash-border);border-bottom:0;background:var(--dash-subtle)}.mobile-dashboard-nav button{border:0;border-right:1px solid var(--dash-border);border-bottom:2px solid transparent;background:transparent;color:var(--dash-muted);display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px}.mobile-dashboard-nav button:last-child{border-right:0}.mobile-dashboard-nav button.active{color:var(--dash-accent);border-bottom-color:var(--dash-accent);background:var(--dash-panel)}.dashboard-grid{flex:1;height:auto;display:flex;min-height:0}.timing-panel,.dashboard-center,.race-sidebar{display:none;width:100%;border:0}.mobile-view-timing .timing-panel,.mobile-view-track .dashboard-center,.mobile-view-telemetry .dashboard-center{display:flex}.mobile-view-track .telemetry-panel,.mobile-view-telemetry .circuit-panel{display:none}.mobile-view-messages .race-sidebar{display:flex;overflow-y:auto}.panel-heading{height:36px;flex-basis:36px}.panel-tabs button{min-width:44px;padding:0 10px}.timing-panel .panel-heading{min-height:44px}.timing-table tbody th,.timing-table tbody td{height:44px}.timing-table thead th{height:30px}.driver-color{top:12px;bottom:12px}.panel-footnote{min-height:28px}.circuit-panel{min-height:280px}.weather-strip{height:36px;flex-basis:36px}.telemetry-panel{flex:1;border:0;overflow-y:auto}.telemetry-panel.is-comparing{flex:1}.comparison-selector select{height:32px}.telemetry-panel>.panel-heading{min-height:44px}.telemetry-content{padding:0 12px}.selected-driver-heading{height:48px}.telemetry-values{height:84px;gap:14px}.speed-trace{height:190px;margin-top:8px}.selected-laps{min-height:44px}.messages-panel{flex:0 0 auto;min-height:210px;overflow:visible}.message-scroll{max-height:45vh}.race-message{padding:9px 10px}.original-toggle,.message-driver{min-height:30px}.pit-driver{min-height:44px}.pit-table td{height:44px}.strategy-row{height:36px}.strategy-content{padding-bottom:12px}.compound-legend{margin-top:10px}}@media(max-width:439px){.timing-race .compact-column{display:none}.timing-table .col-position{width:26px}.timing-table .col-driver{width:69px}.timing-table .col-gap{width:84px}.timing-table .col-lap{width:91px}.timing-table .col-tyre{width:57px}.timing-table th,.timing-table td{padding-right:5px}.panel-footnote>span:nth-child(2){font-size:11px}.telemetry-values{gap:12px}.rpm-value{display:none!important}.selected-driver-team{display:none}.selected-driver-name{font-size:11px}.timing-sectors .col-driver{width:60px}.timing-sectors .col-lap{width:85px}.timing-sectors{font-size:12px}.timing-tyres .col-driver{width:63px}}@media(max-width:359px){.timing-race .col-driver{width:60px}.timing-race .col-gap{width:74px}.timing-race .col-lap{width:83px}.timing-race .col-tyre{width:47px}.panel-footnote>span:nth-child(2){display:none}.timing-panel .section-code{display:none}}.free-pitwall{--motion-spring: cubic-bezier(.22, 1.3, .36, 1);--motion-ease: cubic-bezier(.2, .7, .2, 1)}.free-pitwall button{transition:background-color .14s ease,color .14s ease,transform .17s var(--motion-spring)}.free-pitwall button:active:not(:disabled){transform:translateY(1px) scale(.985)}.free-pitwall .panel-tabs button[aria-selected=true],.free-pitwall .mobile-dashboard-nav button.active{box-shadow:inset 0 -1px var(--dash-accent)}.free-pitwall .dashboard-center{overflow:hidden}.gap-panel{display:flex;flex-direction:column;flex:1;min-height:190px}.gap-caption{display:flex;justify-content:space-between;align-items:center;min-height:25px;padding:0 8px;font-size:11px;color:var(--dash-muted);border-bottom:1px solid var(--dash-row-border)}.gap-field{flex:1;min-height:45px;overflow-y:auto;padding:3px 6px;scrollbar-width:thin;scrollbar-color:var(--dash-border) transparent}.gap-group{display:flex;align-items:center;min-height:30px;border-bottom:1px solid var(--dash-row-border)}.gap-group:last-child{border-bottom:0}.gap-group-label{flex:0 0 35px;font-size:10px;color:var(--dash-muted)}.gap-group-cars{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;min-width:0}.gap-car-unit{display:inline-flex;align-items:center;min-height:28px}.gap-car{display:flex;align-items:center;gap:5px;min-height:26px;padding:2px 5px;background:var(--dash-subtle);border:1px solid var(--dash-border);border-left:2px solid var(--team-color);font-family:Consolas,monospace!important}.gap-car.selected{background:var(--dash-selected);border-top-color:var(--dash-accent);border-right-color:var(--dash-accent);border-bottom-color:var(--dash-accent)}.gap-car b{font-size:12px}.gap-car-rank{font-size:10px;color:var(--dash-muted)}.gap-car .tyre{width:13px;height:13px;font-size:10px}.gap-car small{font-size:10px;color:var(--dash-muted);min-width:33px;text-align:right}.gap-link{display:flex;align-items:baseline;gap:1px;min-height:26px;padding:0 5px;border:0;background:transparent;color:var(--dash-accent)!important;font-size:10px!important}.gap-link small{font-size:9px;color:var(--dash-muted)}.gap-link{position:relative;flex:0 0 auto;align-self:stretch;padding:0;min-height:28px}.gap-link>span{position:absolute;left:0;right:0;top:1px;text-align:center;font-size:9px;white-space:nowrap}.gap-link>i{position:absolute;left:2px;right:2px;bottom:6px;height:1px;background:var(--dash-accent)}.gap-link>i:after{content:"";position:absolute;right:0;top:-2px;width:4px;height:4px;border-right:1px solid var(--dash-accent);border-top:1px solid var(--dash-accent);transform:rotate(45deg)}.gap-link.separate-link>i{background:var(--dash-muted)}.gap-link>b{position:absolute;bottom:0;left:50%;transform:translate(-50%) rotate(20deg);padding:0 2px;background:var(--dash-panel);color:var(--dash-muted);font-size:12px;line-height:13px}.group-break-label{display:block;font-size:8px;margin-top:1px}.lap-order-delta{margin-left:auto;color:var(--dash-muted);font-size:11px}.is-train .gap-group-label{color:var(--dash-accent)}.pair-trend{flex:0 0 137px;border-top:1px solid var(--dash-border);padding-top:4px}.trend-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 8px;font-size:11px;min-height:20px}.trend-heading small{color:var(--dash-muted)}.trend-readout{display:inline-flex;align-items:center;gap:3px;color:var(--dash-muted);font-size:11px}.trend-readout b{font-weight:400;margin-left:3px}.trend-approaching{color:var(--dash-green)}.trend-opening{color:var(--dash-compare)}.gap-trend-chart{width:100%;height:92px;display:block}.gap-trend-line{fill:none;stroke:var(--dash-accent);stroke-width:1.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}.insight-caption{color:var(--dash-muted);font-size:10px;padding:3px 8px;line-height:1.5}.lap-order-row{display:flex;align-items:center;width:100%;min-height:29px;padding:0 5px;gap:9px;border:0;border-bottom:1px solid var(--dash-row-border);background:transparent}.lap-order-row.selected{background:var(--dash-selected)}.lap-order-row>span:first-child{width:28px;color:var(--dash-muted)}.lap-order-row b{border-left:3px solid var(--team-color);padding-left:5px}.lap-order-bar{flex:1;height:4px;background:var(--dash-subtle)}.lap-order-bar i{display:block;height:100%;background:var(--team-color)}.driver-timing-panel{display:flex;flex-direction:column;flex:0 0 258px;border-top:1px solid var(--dash-border)}.driver-summary{display:flex;align-items:center;gap:9px;flex:0 0 29px;padding:0 8px;border-bottom:1px solid var(--dash-row-border);white-space:nowrap;font-size:11px}.driver-summary>div{flex:1;display:flex;align-items:center;gap:6px;overflow:hidden;border-left:3px solid var(--team-color);padding-left:5px}.driver-summary>div>b{font-size:13px}.driver-summary>div>span{color:var(--dash-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.driver-lap-summary{display:flex;justify-content:space-between;min-height:24px;align-items:center;padding:0 8px;font-size:10px;color:var(--dash-muted)}.driver-lap-summary b{color:var(--dash-text);margin-left:5px;font-size:12px;font-weight:400}.driver-detail-tabs{display:flex;align-items:center;flex:0 0 25px;border-bottom:1px solid var(--dash-border);border-top:1px solid var(--dash-row-border)}.driver-detail-tabs button{align-self:stretch;padding:0 8px;background:transparent;border:0;border-right:1px solid var(--dash-border);border-bottom:2px solid transparent;color:var(--dash-muted);font-size:11px}.driver-detail-tabs button[aria-selected=true]{color:var(--dash-accent);border-bottom-color:var(--dash-accent);background:var(--dash-subtle)}.driver-detail-tabs>span{margin-left:auto;padding-right:8px;font:10px Consolas,monospace}.driver-detail-content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.recent-laps-table{width:100%;table-layout:fixed;border-collapse:collapse;font:11px Consolas,monospace;font-variant-numeric:tabular-nums}.recent-laps-table th,.recent-laps-table td{text-align:right;height:24px;padding:0 7px;border-bottom:1px solid var(--dash-row-border)}.recent-laps-table th:first-child{width:32px;text-align:center;color:var(--dash-muted);font-weight:400}.recent-laps-table thead{position:sticky;top:0;background:var(--dash-subtle)}.recent-laps-table thead th{color:var(--dash-muted);font-size:10px;font-weight:400}.delta-faster{color:var(--dash-green)}.lap-deleted{color:var(--dash-muted)}.lap-deleted>span{text-decoration:line-through}.lap-deleted>small{font:8px sans-serif;margin-left:3px;color:var(--dash-yellow)}.driver-sectors{padding:7px 0}.driver-sector-comparison{display:flex;gap:8px;align-items:center;padding:3px 8px 8px}.driver-sector-comparison>b{width:30px;font-size:11px}.driver-sector-comparison>div{flex:1;min-width:0}.driver-sector-comparison>div>span{display:flex;justify-content:space-between;color:var(--dash-muted);font-size:10px}.driver-sector-comparison>div>span>b{color:var(--dash-text);font-size:12px;font-weight:400}.mini-sector-strip{display:flex;gap:1px;width:100%;height:4px;margin-top:4px}.mini-sector-strip i{flex:1;min-width:1px;height:100%}.mini-missing{color:var(--dash-muted);font:10px/4px Consolas,monospace}.mini-unknown{background:var(--dash-border)}.mini-pending{background:transparent;border:1px solid var(--dash-border)}.mini-complete{background:var(--dash-yellow)}.mini-personal-best{background:var(--dash-green)}.mini-session-best{background:var(--dash-purple)}.mini-legend{display:inline-flex;gap:4px;margin-left:5px;align-items:center}.mini-legend i{width:7px;height:4px;display:inline-block}.timing-sectors .mini-sector-strip{margin:3px 0}.timing-sectors td{padding-top:3px}.result-table .result-driver-col{width:143px}.result-table .result-laps-col{width:36px}.result-table .result-status-col{width:72px}.result-table tbody th,.result-table tbody td{height:30px}.result-table .driver-cell small{display:inline-block;margin-left:7px;max-width:90px;text-overflow:ellipsis;overflow:hidden;vertical-align:middle;color:var(--dash-muted);font:9px sans-serif}.result-table .result-row-status{font:10px sans-serif;color:var(--dash-muted);text-overflow:ellipsis}.result-status{font-size:10px;color:var(--dash-muted);white-space:nowrap}.result-status.provisional{color:var(--dash-yellow)}.result-source{display:flex;flex-direction:column;padding:5px 8px;gap:2px;border-top:1px solid var(--dash-border);font-size:10px;color:var(--dash-muted)}.race-review{display:flex;flex-direction:column;flex:1;min-height:245px;overflow-y:auto;scrollbar-width:thin}.key-moments{flex:0 0 auto}.key-moment{width:100%;display:flex;align-items:center;gap:7px;min-height:45px;padding:5px 8px;background:transparent;border:0;border-bottom:1px solid var(--dash-row-border);text-align:left}.key-moment.selected{background:var(--dash-selected)}.key-moment .moment-index{color:var(--dash-accent);font-size:14px}.key-moment>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0;gap:2px}.key-moment b{font-size:11px;font-weight:500}.key-moment small{font-size:10px;color:var(--dash-muted)}.key-moment time{flex-shrink:0;color:var(--dash-muted);font-size:10px}.review-timeline{flex:0 0 auto;padding:0 8px 5px}.timeline-scale{display:flex;align-items:center;gap:5px;height:27px;color:var(--dash-muted);font-size:9px}.timeline-scale>span{width:42px}.timeline-scale time:last-child{margin-left:auto}.timeline-row{display:flex;align-items:center;height:23px;gap:9px}.timeline-row>span{flex:0 0 32px;color:var(--dash-muted);font-size:10px}.timeline-track{position:relative;flex:1;height:18px;border-bottom:1px solid var(--dash-row-border);margin-right:5px}.timeline-dot{position:absolute;width:7px;height:10px;padding:0;top:4px;transform:translate(-50%);border:0;background:var(--dash-muted)}.timeline-dot.fact-flag{background:var(--dash-yellow)}.timeline-dot.fact-position{background:var(--dash-accent)}.timeline-dot.fact-pit{background:var(--dash-purple)}.timeline-dot.fact-tyre{background:var(--dash-green)}.timeline-state{position:absolute;top:7px;height:4px;opacity:.45;background:var(--dash-yellow)}.timeline-track .state-green{background:var(--dash-green)}.timeline-track .state-red{background:var(--dash-red)}.timeline-track .state-finished{background:var(--dash-text)}.timeline-dot.selected{outline:2px solid var(--dash-text);outline-offset:1px}.timeline-dot:active:not(:disabled){transform:translate(-50%)}.timeline-gap{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(130deg,transparent 0 3px,var(--dash-border) 3px 4px);border-left:1px dashed var(--dash-muted);border-right:1px dashed var(--dash-muted)}.timeline-evidence{min-height:36px;padding:5px 8px;background:var(--dash-subtle);border-top:1px solid var(--dash-border);border-bottom:1px solid var(--dash-border);display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--dash-muted)}.timeline-evidence b{font-size:11px;color:var(--dash-text);font-weight:500}.timeline-evidence small{font-size:9px}.review-coverage{min-height:25px;display:flex;align-items:center;padding:0 8px;gap:4px;font-size:10px;color:var(--dash-muted)}.review-coverage button{display:inline-flex;align-items:center;gap:3px;margin-left:auto;background:transparent;border:0;padding:3px;color:var(--dash-muted)}.review-coverage .rotated{transform:rotate(180deg)}.review-event-list{flex:0 0 auto;max-height:160px;overflow-y:auto;border-top:1px solid var(--dash-border);animation:detail-reveal .18s var(--motion-spring)}.review-event-list button,.live-event-band button{display:flex;align-items:center;width:100%;gap:8px;padding:3px 8px;min-height:24px;border:0;background:transparent;text-align:left;font-size:10px}.review-event-list time,.live-event-band time{color:var(--dash-muted)}.race-review.is-compact{flex:0 0 auto;min-height:0;max-height:91px;border-top:1px solid var(--dash-border)}.race-review.is-compact .panel-heading{flex-basis:23px;height:23px}.race-review.is-compact .panel-heading h2{font-size:11px}.live-event-band{display:flex;flex-direction:column;min-height:24px;overflow-y:auto}.live-event-band>span{color:var(--dash-muted);font-size:10px;padding:5px 8px}.stint-start-unknown{background-image:repeating-linear-gradient(135deg,transparent 0 3px,#0004 3px 4px);border-left:2px dashed var(--dash-panel)}.free-pitwall .race-message{padding:6px 8px}.free-pitwall .race-message>p{font-size:11px;line-height:1.5}.free-pitwall .strategy-row{height:23px}.free-pitwall .comparison-selector select{max-width:102px}@keyframes detail-reveal{0%{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(min-width:760px)and (max-width:1199px){.free-pitwall .dashboard-center{min-height:575px}.free-pitwall .result-table .result-driver-col{width:111px}.free-pitwall .result-table .driver-cell small{display:block;margin-left:0;font-size:8px}.free-pitwall .result-table .result-status-col{width:59px}}@media(max-width:759px){.free-pitwall .dashboard-center{min-height:0}.free-pitwall.mobile-view-field .dashboard-center,.free-pitwall.mobile-view-driver .dashboard-center{display:flex}.free-pitwall.mobile-view-field .driver-timing-panel,.free-pitwall.mobile-view-driver .gap-panel,.free-pitwall.mobile-view-driver .race-review,.free-pitwall.mobile-view-field .race-review.is-compact{display:none}.free-pitwall .gap-panel,.free-pitwall .race-review,.free-pitwall .driver-timing-panel{flex:1;min-height:0;border-top:0}.free-pitwall .driver-timing-panel .panel-heading{flex-basis:44px}.free-pitwall .driver-summary{flex-basis:44px;gap:7px}.free-pitwall .driver-summary>div>span{display:none}.free-pitwall .driver-lap-summary{min-height:36px}.free-pitwall .driver-detail-tabs{flex-basis:44px}.free-pitwall .driver-detail-tabs>span{display:none}.free-pitwall .driver-detail-tabs button{flex:1}.free-pitwall .recent-laps-table th,.free-pitwall .recent-laps-table td{height:36px;padding:0 5px}.free-pitwall .gap-car,.free-pitwall .gap-link{min-height:40px}.free-pitwall .gap-group{min-height:44px}.free-pitwall .gap-group-label{flex-basis:29px}.free-pitwall .gap-car{gap:4px;padding:0 4px}.free-pitwall .gap-link{padding:0 4px}.free-pitwall .pair-trend{flex-basis:168px;padding-top:8px}.free-pitwall .gap-trend-chart{height:112px}.free-pitwall .result-table tbody th,.free-pitwall .result-table tbody td{height:44px}.free-pitwall .result-table .result-driver-col{width:107px}.free-pitwall .result-table .result-status-col{width:58px}.free-pitwall .result-table .result-laps-col{width:30px}.free-pitwall .result-table .driver-cell small{display:block;margin:4px 0 0;font-size:8px}.free-pitwall .result-table td{font-size:11px}.free-pitwall .key-moment{min-height:61px}.free-pitwall .timeline-row{height:36px}.free-pitwall .timeline-track{height:28px}.free-pitwall .timeline-dot{height:19px}.free-pitwall .timeline-state{height:6px;top:10px}.free-pitwall .review-coverage{min-height:44px}.free-pitwall .review-event-list button{min-height:36px}.free-pitwall .driver-sector-comparison{min-height:55px}.free-pitwall .mini-sector-strip{height:6px}.free-pitwall .strategy-row{height:36px}}@media(prefers-reduced-motion:reduce){.free-pitwall *,.free-pitwall *:before,.free-pitwall *:after{animation:none!important;transition:none!important}.free-pitwall button:active:not(:disabled){transform:none}}[data-motion=off] .free-pitwall *,.free-pitwall[data-motion=off] *,[data-motion=off] .free-pitwall *:before,[data-motion=off] .free-pitwall *:after{animation:none!important;transition:none!important}[data-motion=off] .free-pitwall button:active:not(:disabled){transform:none}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;background:#0d1015}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled,select:disabled{cursor:default;opacity:.45}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #66baff;outline-offset:2px}button{color:inherit}button svg{flex:none}button{display:inline-flex;align-items:center;justify-content:center;gap:5px}a{color:inherit}.mono{font-family:Cascadia Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.app-shell{--app-bg:#0d1015;--app-panel:#13171e;--app-alt:#191f28;--app-line:#2b3340;--app-text:#e7ecf3;--app-muted:#99a5b6;--app-accent:#73bdff;--app-selected:#1a2c3e;--app-green:#6bdea3;--app-yellow:#efd278;--app-red:#ff7182;color:var(--app-text);background:var(--app-bg);height:100dvh;min-height:360px;display:flex;flex-direction:column;font-size:13px;line-height:1.4;overflow:hidden}.app-shell[data-theme=light]{--app-bg:#eef1f5;--app-panel:#fff;--app-alt:#f4f6f9;--app-line:#d6dde6;--app-text:#1c2838;--app-muted:#536477;--app-accent:#0963a8;--app-selected:#e5f0fb;--app-green:#087949;--app-yellow:#886300;--app-red:#c62942}.app-header{height:40px;flex:none;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid var(--app-line);background:var(--app-panel);gap:34px}.brand{display:flex;align-items:center;gap:3px;white-space:nowrap;text-decoration:none;font-size:18px;letter-spacing:-.7px;font-weight:800}.brand-mark{font-style:italic;color:var(--app-red);font-size:20px;letter-spacing:-2px;margin-right:2px}.brand-divider{height:16px;width:1px;background:var(--app-line);margin:0 9px}.brand-sub{font-family:Consolas,monospace;font-size:11px;letter-spacing:2px;color:var(--app-muted);font-weight:400}.app-nav{display:flex;height:100%;align-items:stretch;gap:8px}.app-nav>button,.nav-current{border:0;background:none;color:var(--app-muted);padding:0 10px;font-size:12px;display:flex;align-items:center;gap:6px}.app-nav>button:hover{color:var(--app-text)}.nav-current{color:var(--app-accent);border-bottom:2px solid var(--app-accent)}.header-tools{margin-left:auto;display:flex;align-items:center;gap:8px}.source-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;border:1px solid var(--app-line);padding:2px 6px;line-height:16px;border-radius:3px;white-space:nowrap;color:var(--app-muted)}.source-dot,.footer-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--app-accent)}.source-live .source-dot{background:var(--app-green)}.source-demo .source-dot{background:var(--app-yellow)}.icon-button{background:none;border:0;min-width:28px;height:28px;padding:4px;color:var(--app-muted);border-radius:3px}.icon-button:hover{background:var(--app-alt);color:var(--app-text)}.session-bar{height:32px;flex:none;display:flex;align-items:center;background:var(--app-alt);border-bottom:1px solid var(--app-line);gap:0;white-space:nowrap}.session-title{display:flex;align-items:center;gap:8px;padding:0 10px;min-width:0}.session-title strong{font-size:13px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.session-title>svg{color:var(--app-muted)}.session-kind{font-size:11px;color:var(--app-muted)}.lap-counter{border-left:1px solid var(--app-line);border-right:1px solid var(--app-line);padding:0 12px;font-size:12px}.lap-counter b{font-size:14px}.lap-counter span{color:var(--app-muted)}.track-status{display:flex;align-items:center;gap:5px;padding:0 12px;font-size:11px;color:var(--app-muted)}.track-status i{width:5px;height:5px;background:currentColor;border-radius:50%}.track-green{color:var(--app-green)}.track-yellow,.track-sc,.track-vsc{color:var(--app-yellow)}.track-red{color:var(--app-red)}.session-actions{margin-left:auto;display:flex;align-items:center;gap:2px;padding-right:6px}.quiet-button{background:none;border:0;padding:3px 7px;min-height:25px;color:var(--app-muted);font-size:11px;border-radius:2px}.quiet-button:hover{background:var(--app-panel)}.quiet-button[aria-pressed=true]{background:var(--app-selected);color:var(--app-accent)}.playback-bar{height:34px;flex:none;display:flex;align-items:center;gap:10px;padding:0 8px;background:var(--app-panel);border-bottom:1px solid var(--app-line)}.transport{display:flex;gap:2px;align-items:center}.play-button{width:26px;height:26px;border:1px solid var(--app-line);background:var(--app-alt);color:var(--app-text);border-radius:3px}.app-shell select{height:25px;border:1px solid var(--app-line);background:var(--app-panel);color:var(--app-text);border-radius:3px;padding:2px 4px;font-size:12px}.transport select{border:0;background:transparent;font-size:11px;padding-left:3px}.playback-time{font-size:11px;white-space:nowrap;min-width:98px}.playback-time span{color:var(--app-muted)}.timeline{flex:1;min-width:30px;height:14px;accent-color:var(--app-accent);cursor:pointer;margin:0 6px}.delay-control{display:flex;align-items:center;gap:6px;white-space:nowrap;color:var(--app-muted);font-size:11px}.delay-control select{width:57px}.monitor-body{flex:1;min-height:0;padding:3px 4px;overflow:hidden}.app-footer{height:22px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:11px;color:var(--app-muted);border-top:1px solid var(--app-line);background:var(--app-panel);gap:10px;white-space:nowrap}.app-footer>span:first-child{display:flex;align-items:center;gap:6px}.footer-dot{background:var(--app-green)}.footer-dot.warning{background:var(--app-yellow)}.app-notification{min-height:30px;flex:none;display:flex;align-items:center;gap:8px;padding:0 8px;background:var(--app-selected);color:var(--app-text);font-size:12px;border-bottom:1px solid var(--app-line)}.app-notification>svg{flex:none;color:var(--app-accent)}.app-notification .icon-button{margin-left:auto;flex:none}.app-dialog{width:min(92vw,540px);max-height:85dvh;padding:0;border:1px solid var(--app-line);border-radius:6px;background:var(--app-panel);color:var(--app-text);box-shadow:0 20px 70px #0006;font:inherit;overflow:auto}.app-dialog::backdrop{background:#050910b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.history-dialog{width:min(92vw,690px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;height:45px;padding:0 12px;background:var(--app-alt);border-bottom:1px solid var(--app-line);position:sticky;top:0;z-index:1}.dialog-heading h2{font-size:14px;margin:0;font-weight:600}.dialog-content{padding:14px}.dialog-note{font-size:12px;color:var(--app-muted);line-height:1.7;margin:12px 0}.history-filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.history-filters label{display:flex;align-items:center;gap:6px;font-size:12px}.muted{color:var(--app-muted);font-size:12px}.session-list{border:1px solid var(--app-line);max-height:45dvh;overflow:auto}.session-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 11px;background:var(--app-panel);border:0;border-bottom:1px solid var(--app-line);text-align:left}.session-item:last-child{border-bottom:0}.session-item:hover:not(:disabled){background:var(--app-selected)}.session-item>div{min-width:0;flex:1}.session-item strong{display:block;font-size:13px}.session-item span{display:block;font-size:11px;color:var(--app-muted);margin-top:2px}.session-item time{font-size:11px;color:var(--app-muted);white-space:nowrap}.loading-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:120px;color:var(--app-muted)}.dialog-error{font-size:12px;background:color-mix(in srgb,var(--app-red) 9%,var(--app-panel));border:1px solid color-mix(in srgb,var(--app-red) 40%,var(--app-line));padding:10px;line-height:1.6;margin:10px 0}.dialog-error button{color:var(--app-accent);background:none;border:0;padding:2px 8px;text-decoration:underline}.import-progress{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--app-accent)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--app-line);gap:14px}.setting-row>span:first-child{flex:1}.setting-row small{display:block;font-size:11px;line-height:1.5;color:var(--app-muted);max-width:320px;margin-top:4px}.service-state{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.help-content{font-size:13px;line-height:1.7}.help-content ol{padding-left:21px}.help-content li{margin:10px 0}.app-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--app-muted);padding:20px;text-align:center}.app-empty h2{font-size:17px;color:var(--app-text)}.app-empty button{border:1px solid var(--app-line);padding:7px 12px;background:var(--app-alt);border-radius:3px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}@media(max-width:1000px){.app-header{gap:12px}.brand-sub,.brand-divider{display:none}.app-nav{gap:0}.track-status{padding:0 8px}.session-title strong{max-width:170px}.session-kind{display:none}}@media(max-width:759px){.app-header{height:44px;padding:0 8px;gap:8px}.app-nav{display:none}.header-tools{gap:3px}.source-badge{font-size:11px}.session-bar{height:auto;min-height:34px;flex-wrap:wrap;padding-top:3px;gap:4px 0}.session-title{padding-left:8px}.session-title strong{font-size:12px;max-width:180px}.lap-counter{font-size:11px;padding:0 7px}.lap-counter b{font-size:12px}.track-status{font-size:11px;margin-left:auto}.session-actions{width:100%;justify-content:flex-end;border-top:1px solid var(--app-line);padding:1px 6px}.playback-bar{height:auto;min-height:42px;gap:4px;padding:3px 5px;flex-wrap:wrap}.transport{gap:0}.playback-time{min-width:80px;font-size:11px}.timeline{min-width:60px;margin:0 2px}.delay-control{font-size:11px;gap:2px}.delay-control select{width:49px;font-size:11px}.monitor-body{padding:2px}.app-footer{font-size:11px;height:24px;padding:0 5px;gap:4px}.footer-clock{display:none}.app-notification{font-size:11px}.session-item{gap:6px}.session-item time{font-size:11px}.history-filters{gap:8px}.dialog-content{padding:10px}.brand{font-size:17px}}@media(max-width:390px){.playback-bar .timeline{order:3;flex-basis:100%;height:14px}.delay-control{margin-left:auto}.track-status{padding-right:6px}.session-title strong{max-width:144px}.app-footer>span:last-child{max-width:48%;overflow:hidden;text-overflow:ellipsis}}@media(pointer:coarse){.icon-button{min-width:44px;min-height:44px}.app-header{min-height:48px}.quiet-button{min-height:44px;padding:4px 9px}.play-button{min-width:40px;min-height:40px}.app-shell select{min-height:36px;font-size:16px}.app-footer{min-height:26px}.app-dialog button{min-height:40px}}.featured-replay{display:flex;align-items:center;gap:10px;width:calc(100% - 28px);margin:14px 14px 0;padding:10px 12px;text-align:left;border:1px solid var(--app-line);background:var(--app-selected);border-radius:3px;color:var(--app-text)}.featured-replay>span:first-of-type{flex:1}.featured-replay strong{font-size:13px;display:block}.featured-replay small{display:block;font-size:11px;color:var(--app-muted);margin-top:3px}.featured-label{font-size:12px;color:var(--app-accent)}.timeline-wrap{position:relative;flex:1;min-width:70px;height:22px;display:flex;align-items:center;margin:0 4px}.timeline-wrap .timeline{width:100%;margin:0;min-width:0}.buffered-track{position:absolute;bottom:0;left:2px;right:2px;height:2px;pointer-events:none;background:var(--app-line)}.buffered-track i{position:absolute;height:100%;background:var(--app-accent);opacity:.65}.seek-form{display:flex;align-items:center;gap:2px}.seek-form input{width:57px;height:24px;border:1px solid var(--app-line);background:var(--app-panel);color:var(--app-text);border-radius:3px;padding:2px 5px;font:11px Consolas,monospace}.seek-form .quiet-button{font-size:11px;padding:2px 4px}.buffering-notice{min-height:30px;flex:none;display:flex;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--app-line);background:var(--app-selected);font-size:12px}.buffering-notice svg{flex:none}.buffering-notice span{flex:1}.buffering-notice button{border:1px solid var(--app-line);background:var(--app-panel);color:var(--app-accent);border-radius:3px;padding:2px 8px;flex:none}.empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.open-error{margin:0;border-width:0 0 1px;padding:6px 10px}.featured-replays{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 12px 0}.featured-replays .featured-replay{width:100%;margin:0;min-width:0}.session-search{flex:1;min-width:140px}.session-search input{width:100%;min-width:0}.history-filters input,.history-dates input{height:28px;border:1px solid var(--app-line);border-radius:3px;background:var(--app-panel);color:var(--app-text);padding:3px 6px;font-size:12px}.history-dates{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--app-muted)}.history-dates label{display:flex;gap:5px;align-items:center}.history-dates input{max-width:140px}.session-library .session-list{max-height:43dvh}.session-library .dialog-note{margin:9px 0}.session-library .session-item time{white-space:normal;max-width:110px;text-align:right}.app-empty>p{max-width:550px;line-height:1.8}@media(max-width:1000px){.seek-form{display:none}}@media(max-width:759px){.timeline-wrap{order:3;flex-basis:100%;height:20px;margin:0 3px}.playback-bar .timeline-wrap .timeline{height:14px;order:0}.playback-time{min-width:100px}.delay-control{margin-left:auto}.featured-replays{grid-template-columns:1fr;padding:10px 10px 0}.featured-replays .featured-replay{padding:8px 10px}.history-dates{gap:6px}.history-dates input{width:120px}.session-library .session-item strong{font-size:12px}.session-library .session-item time{font-size:11px;max-width:95px}.buffering-notice{font-size:11px}.app-notification{padding:4px 8px}.empty-actions button{min-height:36px}}.monitor-body{padding:0}.next-session{min-height:30px;display:flex;align-items:center;gap:12px;padding:3px 10px;border-bottom:1px solid var(--app-line);background:var(--app-panel);font-size:11px;flex:none}.next-label{color:var(--app-muted);font:10px Consolas,monospace;letter-spacing:1px}.next-session strong{font-size:12px;font-weight:600}.next-session strong span{color:var(--app-muted);font-weight:400;margin-left:5px}.next-date{color:var(--app-muted)}.next-countdown{color:var(--app-accent);margin-left:auto;font-size:13px}.next-unknown,.schedule-stale{color:var(--app-muted)}.schedule-stale{font-size:10px}.view-context{min-height:29px;display:flex;align-items:center;justify-content:space-between;padding:1px 9px;gap:8px;border-bottom:1px solid var(--app-line);background:var(--app-panel);flex:none;font-size:11px;color:var(--app-muted)}.view-context>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-context .quiet-button{white-space:nowrap}.app-nav>button.nav-current{color:var(--app-accent);border-bottom:2px solid var(--app-accent)}.setting-row input[type=checkbox]{accent-color:var(--app-accent);width:17px;height:17px}.app-shell[data-motion=on] .quiet-button,.app-shell[data-motion=on] .icon-button{transition:transform .16s cubic-bezier(.2,.8,.2,1.15),background-color .12s ease}.app-shell[data-motion=on] .quiet-button:active,.app-shell[data-motion=on] .icon-button:active{transform:scale(.96)}.app-shell[data-motion=on] .app-dialog[open]{animation:dialog-appear .18s cubic-bezier(.2,.8,.2,1.1)}@keyframes dialog-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.app-shell[data-motion=off] *,.app-shell[data-motion=off] *:before,.app-shell[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){.app-shell *,.app-shell *:before,.app-shell *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:759px){.next-session{gap:6px;flex-wrap:wrap;padding:4px 8px;min-height:43px}.next-label{font-size:9px}.next-session strong{font-size:11px}.next-date{font-size:10px;order:3;width:100%}.next-countdown{font-size:12px}.schedule-stale{display:none}.view-context{font-size:10px;padding:2px 8px}.session-title strong{max-width:130px}.app-notification{padding:5px 8px}.monitor-body{padding:0}}
