:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e14;--panel:#141922;--panel-2:#1b2130;--row-alt:#11161f;--border:#252d3d;--text:#e6e9ef;--muted:#8a93a6;--accent:#e10600;--flag-green:#18a957;--flag-yellow:#f5c400;--flag-red:#e10600;--overall-best:#9b30d9;--class-best:#c77dff;--personal-best:#2ecc71;--status-on-track:#18a957;--status-out-lap:#f5c400;--status-pit:#2f80ed;--status-stopped:#e10600;--status-off:#5b6475;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}button{font:inherit;color:inherit;cursor:pointer}.topbar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:8px 16px;display:flex}.brand{color:var(--text);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:10px;font-size:1.15em;font-weight:700;text-decoration:none;display:flex}.brand-logo{aspect-ratio:173/62;height:28px;display:block}.topbar>.sim-badge{font-size:.75rem}.sim-logo{object-fit:contain;flex:none;max-width:96px;height:24px;display:block}.topbar-center{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.live-controls{align-items:center;gap:16px;min-width:0;display:flex}.topbar .class-filter{min-width:0;margin-bottom:0}.topbar .class-filter button{padding:4px 12px}.class-select{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--border);text-transform:uppercase;min-width:0;max-width:50vw;padding:4px 6px;display:none}.display-menu{flex:none;position:relative}.display-button{border:1px solid var(--border);color:var(--text);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:4px 10px;font-size:.85em;display:flex}.display-button.open,.display-button:hover{background:var(--panel-2)}.display-button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:14px;height:14px}.display-panel{z-index:20;background:var(--panel);border:1px solid var(--border);width:260px;max-width:calc(100vw - 32px);padding:4px 12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000073}.display-panel section{flex-direction:column;gap:8px;padding:10px 0;display:flex}.display-panel section+section{border-top:1px solid var(--border)}.display-panel h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.75em;font-weight:600}.display-panel .switch{text-transform:none;letter-spacing:0;white-space:normal;text-align:left;color:var(--text);font-size:.9em}.display-option,.display-text{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.display-option{font-size:.9em}.display-text{gap:0}.display-hint{color:var(--muted);font-size:.85em}.segmented{border:1px solid var(--border);display:flex}.segmented button{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:3px 10px}.segmented button.active{background:var(--panel-2);color:var(--text)}.switch{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:.85em;display:flex}.switch.on{color:var(--text)}.switch-track{background:var(--border);border-radius:8px;width:28px;height:16px;transition:background .15s;position:relative}.switch.on .switch-track{background:var(--accent)}.switch-thumb{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch.on .switch-thumb{transform:translate(12px)}.connection-note{color:var(--flag-yellow);font-size:.9em}.language-switch{border:1px solid var(--border);display:flex}.language-switch button{color:var(--muted);background:0 0;border:0;padding:4px 8px}.language-switch button.active{background:var(--panel-2);color:var(--text)}.page{max-width:1600px;margin:0 auto;padding:16px}.notice{color:var(--muted);text-align:center;padding:32px 0}.server-group+.server-group{margin-top:24px}.server-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:12px;margin:0 0 8px;font-size:1em;display:flex}.server-group-logo{object-fit:contain;max-width:120px;height:28px;display:block}.server-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.server-list a{background:var(--panel);border:1px solid var(--border);color:var(--text);align-items:center;gap:12px;padding:16px;text-decoration:none;display:flex}.server-list a:hover{border-color:var(--muted)}.server-name{font-weight:600}.server-list .pill{flex:none;margin-left:auto}.server-logo{object-fit:contain;flex:none;width:56px;height:40px;display:block}.server-label{flex-direction:column;gap:6px;min-width:0;display:flex}.server-classes{flex-wrap:wrap;gap:4px;display:flex}.class-chip{letter-spacing:.04em;border-radius:3px;padding:1px 6px;font-size:.7rem;font-weight:700}.sim-badge{letter-spacing:.04em;border:1px solid var(--border);color:var(--muted);vertical-align:middle;border-radius:3px;flex:none;padding:1px 6px;font-size:.7rem;font-weight:600}.pill{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--muted);padding:2px 8px;font-size:.75em}.pill.live{background:var(--accent);border-color:var(--accent);color:#fff}.session-header{background:var(--panel);border-top:4px solid var(--border);grid-template-columns:1fr auto auto auto;align-items:center;gap:16px 32px;margin-bottom:8px;padding:12px 16px;display:grid}.session-header.with-logo{grid-template-columns:auto 1fr auto auto auto}.session-header.no-weather{grid-template-columns:1fr auto auto}.session-header.with-logo.no-weather{grid-template-columns:auto 1fr auto auto}.session-logo{object-fit:contain;max-width:120px;height:48px;display:block}.session-header.flag-Green{border-top-color:var(--flag-green)}.session-header.flag-Yellow,.session-header.flag-FullCourseYellow{border-top-color:var(--flag-yellow)}.session-header.flag-Red{border-top-color:var(--flag-red)}.session-header.flag-Chequered{border-image:repeating-linear-gradient(90deg,#fff 0 8px,#000 8px 16px) 4}.session-title h1{text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:1.4em}.session-title p{color:var(--muted);margin:2px 0 0}.session-clock{flex-direction:column;align-items:center;display:flex}.session-clock .label,.session-weather dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75em}.session-clock .clock{font-variant-numeric:tabular-nums;font-size:2em;font-weight:700}.session-clock .sub{color:var(--muted);font-size:.85em}.session-flag{text-transform:uppercase;font-weight:700}.flag-Green .session-flag{color:var(--flag-green)}.flag-Yellow .session-flag,.flag-FullCourseYellow .session-flag{color:var(--flag-yellow)}.flag-Red .session-flag{color:var(--flag-red)}.session-weather{grid-template-columns:repeat(4,auto);gap:4px 16px;margin:0;display:grid}.session-weather dd{font-variant-numeric:tabular-nums;margin:0}.class-filter{gap:4px;margin-bottom:8px;display:flex;overflow-x:auto}.class-filter button{background:var(--panel);border:1px solid var(--border);border-bottom:3px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;padding:6px 14px;font-size:.85em}.class-filter button.active{background:var(--panel-2);border-color:var(--muted);font-weight:700}.live-screen{flex-direction:column;height:100dvh;display:flex}.live-screen .topbar{flex:none}.page.live{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;display:flex}.page.live>.session-header,.page.live>.class-filter,.page.live>.view-tabs,.live-table-pane>.legend{flex:none}.live-body{flex:1;gap:8px;min-height:0;display:flex}.live-table-pane{flex-direction:column;flex:0 auto;min-width:0;display:flex}.live-map-pane{background:var(--panel);border:1px solid var(--border);flex:1 1 0;align-items:flex-start;min-width:max(320px,25vw);display:flex}@media (width>=1000px){.live-body.no-map .live-table-pane{flex:1 1 0;max-width:1800px}.live-body.no-map table.timing{width:100%}.live-body.no-map .timing th.w-driver{width:var(--driver-width,13rem)}}.view-tabs{gap:4px;margin-bottom:8px;display:none}.view-tabs button{background:var(--panel);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;flex:1;padding:6px 14px;font-size:.85em}.view-tabs button.active{background:var(--panel-2);border-color:var(--muted);font-weight:700}.track-map{-webkit-user-select:none;user-select:none;width:100%;height:100%;max-height:100%;display:block}.map-track{fill:none;stroke:#5b6578;stroke-linejoin:round}.map-pit{fill:none;stroke:#343d50;stroke-linejoin:round;stroke-linecap:round}.map-sector-yellow,.map-sector-red,.map-sector-best,.map-sector-personal{fill:none;stroke-linejoin:round;stroke-linecap:round}.map-sector-yellow{stroke:var(--flag-yellow)}.map-sector-red{stroke:var(--flag-red)}.map-sector-best{stroke:var(--overall-best)}.map-sector-personal{stroke:var(--personal-best)}.map-sector{stroke:var(--muted)}.map-finish rect{fill:#111}.map-finish rect.light{fill:#fff;stroke:#111;stroke-width:.6px;vector-effect:non-scaling-stroke}.map-car{cursor:pointer;visibility:hidden}.map-car circle{stroke:var(--bg)}.map-car text{fill:#fff;text-anchor:middle;pointer-events:none;text-shadow:0 0 2px #000c;font-weight:700}.map-car.in-pit circle{fill-opacity:.4;stroke:none}.map-car.in-garage{opacity:.6}.map-car.selected circle{stroke:#fff}.live-map-pane.map-3d{align-items:stretch}.track-map-3d{-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;flex:1;width:100%;min-height:320px;position:relative;overflow:hidden}.track-map-3d:active{cursor:grabbing}.track-map-3d-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.map3d-cars{pointer-events:none;position:absolute;inset:0}.map3d-car{width:calc(var(--car-r,12px) * 2);height:calc(var(--car-r,12px) * 2);background:var(--car-color);border:2px solid var(--bg);color:#fff;font-weight:700;font-size:calc(var(--car-r,12px) * 1.05);text-shadow:0 0 2px #000c;cursor:pointer;pointer-events:auto;visibility:hidden;box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;top:0;left:0}.map3d-car.long{font-size:calc(var(--car-r,12px) * .85)}.map3d-car.in-pit{background:color-mix(in srgb, var(--car-color) 40%, transparent);border-color:#0000}.map3d-car.in-garage{opacity:.6}.map3d-car.selected{width:calc(var(--car-r,12px) * 2.7);height:calc(var(--car-r,12px) * 2.7);font-size:calc(var(--car-r,12px) * 1.4);border-color:#fff}.map3d-reset{z-index:100001;background:var(--panel-2);border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:8px;right:8px}.map3d-reset svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.table-wrap{border:1px solid var(--border);scrollbar-color:var(--muted) var(--panel);scrollbar-gutter:stable;flex:1;min-height:0;overflow:auto}table.timing{table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;width:0}.timing .w-pos{width:3rem}.timing .w-number{width:3.5rem}.timing .w-thumb{width:5.5rem}.timing .w-pic{width:3.5rem}.timing .w-status{width:1.25rem}.timing .w-driver{width:13rem}.timing .w-laps{width:3rem}.timing .w-gap,.timing .w-time{width:5.5rem}.timing .w-sector{width:4.5rem}.timing .w-pit{width:4rem}.timing .w-speed{width:3.5rem}.timing .w-tyre{width:4rem}.timing th{background:var(--panel-2);color:var(--text);text-transform:uppercase;letter-spacing:.05em;padding:8px 6px;font-size:.75em;font-weight:700;position:sticky;top:0}.timing td{border-top:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:5px 6px;overflow:hidden}.timing th{white-space:nowrap;text-overflow:ellipsis;z-index:1;overflow:hidden}.timing tbody tr{cursor:pointer}.timing tbody tr.selected,.timing tbody tr.selected:nth-child(2n){background:var(--panel-2);outline-offset:-1px;outline:1px solid #fff}.timing tbody tr.selected td{box-shadow:inset 0 1px #fff,inset 0 -1px #fff}.timing tbody tr.selected .sticky-pos{box-shadow:inset 0 1px #fff,inset 0 -1px #fff,inset 1px 0 #fff}.timing tr.selected td.team,.timing tr.selected .driver-name,.timing tr.selected .team-name{white-space:normal;overflow:visible}.timing tbody tr{background:var(--bg)}.timing tbody tr:nth-child(2n){background:var(--row-alt)}.timing .sticky-pos,.timing .sticky-number,.timing .sticky-status{background:inherit;position:sticky}.timing td.sticky-pos,.timing td.sticky-number,.timing td.sticky-status{z-index:1}.timing th.sticky-pos,.timing th.sticky-number,.timing th.sticky-status{z-index:2;background:var(--panel-2)}.timing .sticky-pos{left:0}.timing .sticky-number{left:3rem}.timing .sticky-status{left:6.5rem}.timing .num{text-align:right}.timing .center{text-align:center}.timing .left{text-align:left}.timing .pos,.timing .car-number,.timing .class-pos{font-weight:700}.timing td.thumb{text-align:center;padding-top:2px;padding-bottom:2px}.thumb-image{object-fit:contain;max-width:100%;height:28px;margin:0 auto;display:block}.class-badge{color:#fff;text-align:center;text-shadow:0 0 2px #0009;min-width:3em;padding:1px 6px;font-size:.8em;font-weight:700;display:inline-block}.tyres{text-align:center}.tyre-pair{gap:2px;display:inline-flex}.tyre{vertical-align:middle;width:20px;height:20px;font-weight:700;display:inline-block}.car-popup{z-index:20;background:var(--panel);border:1px solid var(--border);pointer-events:none;width:320px;font-size:.9em;position:fixed;box-shadow:0 8px 24px #00000080}.car-popup-header{align-items:center;gap:8px;min-height:44px;padding:6px 96px 6px 10px;font-size:1.05em;font-weight:700;display:flex}.car-popup-logo{object-fit:contain;flex:none;width:32px;height:32px}.car-popup-team{min-width:0}.car-popup-number{z-index:1;color:#fff;text-align:center;text-shadow:0 0 3px #000000b3;min-width:72px;padding:6px 12px;font-size:2.2em;font-weight:800;line-height:1.2;position:absolute;top:8px;right:10px;box-shadow:0 2px 8px #00000080}.car-popup-picture{background:var(--panel-2);min-height:24px}.car-popup-image{width:100%;height:auto;display:block}.car-popup-car{color:var(--muted);padding:4px 10px;font-size:.85em}.car-popup-footer{border-top:1px solid var(--border);background:var(--panel-2);padding:8px 10px 10px}.car-popup-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.8em}.car-popup-drivers{margin:0;padding:0;list-style:none}.car-popup-drivers li.current{font-weight:700}.car-popup-facts{flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;display:flex}.car-popup-facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8em}.car-popup-facts dd{font-variant-numeric:tabular-nums;margin:0}.car-popup-now{color:var(--personal-best);font-weight:400}.driver-name{color:var(--muted);text-overflow:ellipsis;font-style:italic;display:block;overflow:hidden}.team-name{text-overflow:ellipsis;font-weight:700;display:block;overflow:hidden}.timing td.status-cell{padding-left:0;padding-right:0}.status-bar{border-radius:2px;width:5px;height:2.2em;margin:0 auto;display:block}.bar-on-track{background:var(--status-on-track)}.bar-out-lap{background:var(--status-out-lap)}.bar-pit{background:var(--status-pit)}.bar-stopped{background:var(--status-stopped)}.bar-off{background:var(--status-off)}.timing td.pos-finished{background:linear-gradient(#0b0e14b3, #0b0e14b3), repeating-conic-gradient(#fff 0 25%, #000 0 50%) 0 0 / 10px 10px;text-shadow:0 0 3px #000}.timing td.pos-out{color:var(--flag-red);font-size:.85em}.status-Dnf td,.status-Disqualified td,.status-Garage td{opacity:.55}.hl-OverallBest{background:var(--overall-best);color:#fff;font-weight:700}.hl-ClassBest{color:var(--class-best);font-weight:700}.hl-PersonalBest{color:var(--personal-best)}.legend{flex-wrap:wrap;gap:12px;margin:12px 0 0;padding:0;font-size:.85em;list-style:none;display:flex}.legend li{padding:2px 8px}.legend li.legend-bar{background:0 0;align-items:center;gap:6px;display:flex}.legend li.legend-bar:before{content:"";background:var(--bar-color);border-radius:2px;width:5px;height:1.2em}.legend .bar-on-track{--bar-color:var(--status-on-track)}.legend .bar-out-lap{--bar-color:var(--status-out-lap)}.legend .bar-pit{--bar-color:var(--status-pit)}.legend .bar-stopped{--bar-color:var(--status-stopped)}.legend .bar-off{--bar-color:var(--status-off)}@media (width<=999px){table.timing{width:100%}.live-table-pane{flex:1}.col-thumb,.col-speed,.col-pit,.col-laps,.col-sector{display:none}.timing .w-driver{width:auto}}@media (width<=819px){.col-int{display:none}}table.timing.force-int .col-int,table.timing.force-sectors .col-sector{display:table-cell}@media (width<=999px){table.timing.force-sectors,table.timing.force-int{width:0;min-width:100%}table.timing.force-sectors .w-driver,table.timing.force-int .w-driver{width:10rem}}@media (width<=719px){.col-tyre,.col-pic,.col-last{display:none}.timing td,.timing th{padding:4px 3px}}@media (width<=999px){.view-tabs{display:flex}.live-map-pane{flex:1;min-width:0}.view-table .live-map-pane,.view-map .live-table-pane{display:none}}@media (width<=850px){.session-header,.session-header.no-weather{grid-template-columns:1fr auto;gap:8px 16px;padding:8px 12px}.session-header.with-logo,.session-header.with-logo.no-weather{grid-template-columns:auto 1fr auto}.session-logo{max-width:80px;height:36px}.session-weather{grid-column:1/-1}}@media (width<=560px){:root{font-size:13px}.page{padding:8px}.session-clock .clock{font-size:1.5em}.topbar{gap:8px;padding:8px}.brand{gap:6px;font-size:1em}.brand-logo{height:22px}.sim-logo{height:20px}.server-logo{width:44px;height:32px}}@media (width<=999px){.topbar{flex-wrap:wrap;row-gap:6px}.topbar .topbar-center{flex-wrap:wrap;flex-basis:100%;order:10;gap:8px 12px}.topbar-center:empty{display:none}.topbar .language-switch{margin-left:auto}.topbar .class-filter{display:none}.class-select{display:block}.display-menu{margin-left:auto}.display-panel{left:auto;right:0}.live-controls{flex:1;justify-content:space-between;gap:8px}.switch{font-size:.75em}.switch-track{width:24px;height:14px}.switch-thumb{width:10px;height:10px}.switch.on .switch-thumb{transform:translate(10px)}}
