*{box-sizing:border-box}body{background:var(--background);color:var(--text-primary);margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Arial,sans-serif}header{color:#fff;background:#101820;padding:18px 22px 14px}
header h1{letter-spacing:0;margin:0 0 4px;font-size:22px}header p{color:#cbd5e1;margin:0}.view-control{flex:0 0 150px;width:150px}.view-control label{color:#cbd5e1;margin-bottom:3px}body.compact th,body.compact td{padding-top:2px;padding-bottom:2px;line-height:1.1}body.compact .leader-card table th,body.compact .leader-card table td{padding-top:2px!important;padding-bottom:2px!important}main{max-width:1500px;margin:0 auto;padding:18px}.toolbar,.grid,.compare-grid,.car-grid,.leader-grid,.pit-grid,.replay-grid{gap:12px;display:grid}.toolbar{grid-template-columns:minmax(220px,320px);align-items:end;margin-bottom:14px}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.pad{padding:14px}label{color:var(--text-secondary);margin-bottom:5px;font-size:12px;display:block}select,input[type=file],input[type=number],input[type=text]{border:1px solid var(--border);width:100%;min-width:0;min-height:36px;color:var(--text-primary);background:#fff;border-radius:6px;padding:7px 9px}button,input,select{font:inherit}button{touch-action:manipulation}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dataset-loader{z-index:1000;-webkit-backdrop-filter:blur(9px)saturate(.8);backdrop-filter:blur(9px)saturate(.8);background:radial-gradient(circle at 20% 20%,#c45a2733,#0000 34%),radial-gradient(circle at 80% 75%,#b4231829,#0000 32%),#050a10c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dataset-loader[hidden]{display:none}.dataset-loader-card{color:#f8fafc;text-align:center;background:linear-gradient(145deg,#131e28fa,#070e15fa);border:1px solid #ffffff1c;border-radius:24px;width:min(500px,100%);padding:28px 30px 25px;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000007a,inset 0 1px #ffffff0f}.dataset-loader-card:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 25%,#ffffff09 45%,#0000 65%);animation:4s ease-in-out infinite loader-sheen;position:absolute;inset:0;transform:translate(-100%)}.dataset-loader-card h2{color:#fff;margin:2px 0 5px;font-size:20px}.dataset-loader-message{color:#9cabb9;min-height:21px;margin:0 0 18px}.loader-track{isolation:isolate;background-image:linear-gradient(#f08a520b 1px,#0000 1px),linear-gradient(90deg,#f08a520b 1px,#0000 1px);background-size:24px 24px;border-radius:18px;width:min(390px,100%);height:190px;margin:0 auto 10px;position:relative}.loader-track:before{content:"";filter:blur(28px);background:#f08a5214;border-radius:50%;animation:2.4s ease-in-out infinite loader-ambient;position:absolute;inset:14% 19%}.loader-circuit{width:100%;height:100%;position:absolute;inset:0}.loader-road,.loader-road-glow,.loader-racing-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.loader-road-glow{stroke:#f08a522e;stroke-width:20px;filter:blur(7px)}.loader-road{stroke:#344552;stroke-width:13px}.loader-racing-line{stroke:#a9bbc7;stroke-width:1.5px;stroke-dasharray:5 8;animation:1s linear infinite loader-dashes}.loader-car{filter:drop-shadow(0 0 5px #ff4b3e)drop-shadow(0 0 10px #ff4b3eb3)}.loader-car-body{fill:#ef3f33;stroke:#ff8b80;stroke-width:1px}.loader-car-window{fill:#17202a}.loader-car-light{fill:#fff4cc;filter:drop-shadow(0 0 3px #fff)}.loader-car-trail{fill:url(#loaderTrail);opacity:.8}@keyframes loader-dashes{to{stroke-dashoffset:-13px}}@keyframes loader-car-lap{0%{transform:translate(43px,119px)rotate(-124deg)}10%{transform:translate(32px,72px)rotate(-55deg)}20%{transform:translate(91px,42px)rotate(0)}30%{transform:translate(145px,62px)rotate(34deg)}40%{transform:translate(190px,75px)rotate(-8deg)}50%{transform:translate(246px,42px)rotate(-12deg)}60%{transform:translate(315px,52px)rotate(18deg)}70%{transform:translate(356px,94px)rotate(76deg)}80%{transform:translate(324px,142px)rotate(166deg)}90%{transform:translate(225px,142px)rotate(174deg)}96%{transform:translate(110px,153px)rotate(-166deg)}to{transform:translate(43px,119px)rotate(-124deg)}}@keyframes loader-ambient{50%{opacity:.45;transform:scale(1.12)}}@keyframes loader-sheen{45%,to{transform:translate(120%)}}.loader-eyebrow{color:#f08a52;letter-spacing:.22em;text-transform:uppercase;font-size:10px;font-weight:800}.dataset-progress-meta{color:#718293;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:10px;font-weight:750;display:flex}.dataset-progress-percent{color:#e6fffb;font-variant-numeric:tabular-nums;font-size:12px}@media (prefers-reduced-motion:reduce){.loader-racing-line,.dataset-loader-card:before{animation:none}}.dataset-progress{background:#1e2c37;border-radius:99px;height:7px;overflow:hidden;box-shadow:inset 0 1px 3px #00000073}.dataset-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #f08a52, var(--accent));background-size:200% 100%;width:0%;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);animation:2.4s linear infinite dataset-progress-glow;display:block;box-shadow:0 0 12px #f08a528c}@keyframes dataset-progress-glow{to{background-position:200% 0}}@media (prefers-reduced-motion:reduce){.dataset-progress-bar{transition-duration:.8s;animation:none}}.kpis{margin-bottom:12px;display:block;overflow-x:auto}.kpi-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:620px}.kpi-table th,.kpi-table td{text-align:left;border-right:1px solid var(--border);padding:7px 10px}.kpi-table th:last-child,.kpi-table td:last-child{border-right:0}.kpi-table th{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:500}.kpi-table td{white-space:nowrap;font-size:18px;font-weight:700}.kpi-table td span{color:var(--text-secondary);text-overflow:ellipsis;margin-top:1px;font-size:11px;font-weight:400;display:block;overflow:hidden}.grid{grid-template-columns:.85fr 1.15fr}.driver-analysis-grid{grid-template-columns:1fr}.compare-grid{grid-template-columns:1fr 1fr;margin-top:14px}.car-grid{grid-template-columns:.9fr 1.1fr;margin-top:14px}h2{margin:0 0 10px;font-size:16px}.table-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.track-limit-table-control{justify-content:flex-end;align-items:center;gap:8px;margin:6px 0;display:flex}.track-limit-row td{background:#b4231814}.track-limit-mark{color:#b42318;white-space:nowrap;font-size:.78rem;font-weight:700}.track-limit-entry-selector{margin:12px 0}.track-limit-entry-selector select{min-width:280px;min-height:92px}.track-limit-entry-picker{flex:1 1 0;min-width:0;margin:0}.track-limit-entry-sheet{margin-top:18px}.track-limit-entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.track-limit-driver-total{color:var(--text-secondary);font-size:12px}.track-limit-driver-total strong{color:var(--text-primary);margin-left:4px}.track-limit-driver-summary{margin-top:18px}.track-limit-driver-summary h3{margin-top:0}.track-limit-driver-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.track-limit-driver-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.track-limit-driver-card span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.track-limit-driver-card strong{color:#b42318;font-size:18px}.track-limit-sector.is-violation{color:#b42318;background:#b423181f;font-weight:700;-webkit-text-decoration:line-through #b42318;text-decoration:line-through #b42318;text-decoration-thickness:2px;position:relative}.track-limit-sector.is-violation:after{content:"TL";margin-left:5px;font-size:10px;text-decoration:none;display:inline-block}.track-limit-corners{color:#b42318;white-space:nowrap;font-weight:700}.sort-status{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}h3{color:var(--text-secondary);margin:14px 0 8px;font-size:14px}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0f5;padding:4px 8px;line-height:1.2}th{color:var(--text-secondary);cursor:default;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:650}.table-sort-button{color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:-2px 0;padding:2px 0;display:inline-flex}.num .table-sort-button{justify-content:flex-end}.table-sort-button:hover{color:var(--accent-strong)}.car-compare-result{color:var(--positive);white-space:nowrap;font-weight:650}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:hover td{background:var(--table-row-hover);color:var(--text-primary)}canvas{background:#fff;border:1px solid #dfe4ec;border-radius:6px;width:100%;height:340px;display:block}#paceChart,#sectorChart,#movingAverageChart,#carChart{cursor:zoom-in}#paceChart{height:390px}#sectorChart{height:260px}#movingAverageChart{height:390px}#carChart{height:370px}.hint{color:var(--text-secondary);margin-top:8px;font-size:12px}.badge{color:#1849a9;background:#eef4ff;border-radius:999px;padding:2px 7px;font-size:12px;display:inline-block}.bad{color:var(--negative);background:#fef3f2}.warn{color:var(--warning);background:#fffaeb}.good{color:var(--positive);background:#ecfdf3}.scroll{max-height:420px;overflow:auto}.scroll table,.bop-table-wrap table{min-width:680px}.scroll.summary table{min-width:560px}.scroll.summary{max-height:900px}.ranking-scroll{max-height:720px}#ranking th:first-child,#ranking td:first-child{text-align:center;width:54px}#ranking .rank-cell{color:var(--text-secondary);font-weight:700}.compare-grid{align-items:stretch}.traffic-panel{flex-direction:column;min-height:0;display:flex}.traffic-panel .traffic-scroll{flex:1;min-height:0;max-height:none;overflow:auto}.traffic-panel .traffic-scroll thead th{background:var(--surface);z-index:2;position:sticky;top:0}.scroll.tall{max-height:none;overflow:auto hidden}.status{color:var(--text-secondary);margin-bottom:14px}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.top-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.tabs-row{flex:100%;order:3;align-items:flex-end;gap:16px;min-width:0;display:flex}.tabs-row .tabs{flex:auto;min-width:0}.top-controls .tabs{margin-bottom:0}.dataset-control{order:1;min-width:min(300px,100%)}.quick-upload-grid{flex:650px;order:2;grid-template-columns:repeat(5,minmax(145px,1fr));align-items:end;gap:8px;min-width:0;display:grid}.quick-upload-grid .quick-upload{min-width:0}.quick-upload-grid input[type=file]{width:100%;min-width:0}.quick-upload-grid button{white-space:nowrap;width:100%}.dataset-selectors{width:min(300px,100%);position:relative}.dataset-control label{color:var(--text-secondary);font-size:12px}.dataset-control select{width:100%;min-height:40px}.dataset-control select:disabled{cursor:not-allowed;opacity:.6;display:none}.dataset-selectors>select{display:none}.dataset-menu{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;padding:8px;position:relative;box-shadow:0 4px 12px #10182814}.dataset-menu ul{margin:0;padding:0;list-style:none}.dataset-menu li{min-width:150px;position:relative}.dataset-menu>ul>li>button{font-weight:600}.dataset-menu button{width:100%;color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 12px;display:block}.dataset-menu button:hover,.dataset-menu li:focus-within>button{background:#f1f3f5}.dataset-menu li.has-submenu>button:after{content:"›";float:right;color:var(--text-secondary);font-size:20px;line-height:16px}.dataset-menu li>ul{z-index:10;border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px;display:none;position:absolute;top:-8px;left:calc(100% + 2px);box-shadow:0 4px 12px #10182824}.dataset-menu li:hover>ul,.dataset-menu li.is-open>ul{display:block}.quick-upload{grid-template-columns:minmax(180px,240px) auto auto;align-items:end;gap:6px;min-width:0;display:grid}.quick-upload label{grid-column:1/-1;margin-bottom:-2px}.quick-upload input[type=file]{min-height:32px;padding:5px 7px}.quick-upload .secondary-btn{white-space:nowrap;min-height:32px;padding:6px 9px}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:8px 8px 0 0;min-width:0;padding:10px 13px;font-weight:650}.tab-btn[aria-selected=true]{border-color:var(--border);color:var(--text-primary);background:#fff;box-shadow:0 -2px 14px #14202d0d}.tab-panel[hidden]{display:none}.mini-controls{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.driver-picker{background:#fbfcfe;border:1px solid #edf0f5;border-radius:8px;margin:10px 0 12px;padding:10px}.driver-picker-top{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.chart-controls{grid-template-columns:minmax(220px,1.8fr) minmax(180px,180px) minmax(180px,180px) minmax(140px,180px) minmax(140px,180px);align-items:end;gap:10px;max-width:100%;margin:12px 0 10px;display:grid}.chart-controls .chart-event-legend{align-items:center;margin:0}.chart-scale-field[hidden]{display:none}.preset-row{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pill-btn{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px}.pill-btn:hover{border-color:var(--accent);color:var(--accent)}.secondary-btn{border:1px solid var(--border);width:100%;min-height:34px;color:var(--text-primary);cursor:pointer;overflow-wrap:anywhere;background:#fff;border-radius:6px;font-weight:650}.secondary-btn:hover{border-color:var(--accent);color:var(--accent)}.file-actions{gap:7px;margin-top:8px;display:grid}.status.error{color:var(--negative);font-weight:650}.status.good{color:var(--positive)}.speed-sector-controls{min-width:460px;margin-bottom:0}.selected-drivers{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:10px;display:grid}.driver-card{border:1px solid var(--border);border-left:4px solid var(--accent);background:#fff;border-radius:7px;min-width:0;padding:8px 9px}.driver-card strong,.driver-row strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.driver-meta{color:var(--text-secondary);margin-top:3px;font-size:12px}.driver-card button{float:right;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.driver-list{gap:8px;max-height:260px;padding-right:3px;display:grid;overflow:auto}.entry-group-card{background:#fff;border:1px solid #e4e9f0;border-radius:9px;padding:9px 10px 10px}.entry-group-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.entry-group-title{min-width:0}.entry-group-title strong,.entry-group-title .driver-meta{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.entry-group-actions{flex:none}.entry-runs-list{flex-wrap:wrap;gap:6px;display:flex}.run-chip{min-height:32px;color:var(--text-primary);cursor:pointer;font:inherit;background:#f8fafc;border:1px solid #dfe5ec;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;line-height:1.2;transition:border-color .16s,background-color .16s,box-shadow .16s;display:inline-flex}.run-chip:hover{border-color:var(--run-color,var(--accent));background:#fff;box-shadow:0 2px 8px #14202d14}.run-chip.is-selected{border-color:var(--run-color);background:color-mix(in srgb, var(--run-color) 8%, white)}.run-color-dot{background:#fff;border:2px solid #aab4c0;border-radius:50%;flex:0 0 10px;width:10px;height:10px}.run-chip.is-selected .run-color-dot{border-color:var(--run-color);background:var(--run-color);box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--run-color)}.driver-row{cursor:pointer;background:#fff;border:1px solid #edf0f5;border-radius:7px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 9px;display:grid}.driver-row button{cursor:pointer;min-width:76px}.driver-row.is-selected{background:#fff3eb;border-color:#ffc19f}.car-chart-panel{grid-column:1/-1;margin-top:0}.car-chart-picker{background:#fbfcfe;border:1px solid #edf0f5;border-radius:8px;margin:8px 0 12px;padding:10px}.car-chart-picker .selected-drivers{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:112px;padding:1px 2px 4px 1px;overflow:auto}.car-chart-tools{grid-template-columns:minmax(190px,.55fr) 1fr auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.car-candidate-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px;max-height:168px;padding-right:3px;display:grid;overflow:auto}.chart-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.chart-head h2{margin-bottom:3px}.chart-head p{max-width:760px;margin:0}.legend-note{color:var(--text-secondary);flex-wrap:wrap;gap:8px;margin:8px 0 10px;font-size:12px;display:flex}.legend-note span{align-items:center;gap:5px;display:inline-flex}.chart-event-legend button{border:1px solid var(--border);min-height:34px;color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:650;transition:border-color .18s,background-color .18s,color .18s,opacity .18s;display:inline-flex}.chart-event-legend button:hover{border-color:var(--accent);color:var(--accent);background:#f8fafc}.chart-event-legend button[aria-pressed=false]{opacity:.6;background:#f8fafc;text-decoration:none}.key{border-radius:2px;width:13px;height:10px;display:inline-block}.key.fcy{background:#fef08a;border:1px solid #facc15}.key.traffic{background:#475467;width:10px;height:10px}.key.filtered{opacity:.45;background:#98a2b3}.chart-tooltip{z-index:40;pointer-events:none;color:#fff;background:#101820f0;border-radius:6px;min-width:190px;padding:8px 10px;font-size:12px;line-height:1.35;display:none;position:fixed;box-shadow:0 10px 26px #0000002e}.chart-tooltip strong{margin-bottom:3px;font-size:13px;display:block}.modal{z-index:400;background:#0f172a9e;padding:26px;display:none;position:fixed;inset:0}.modal.open{display:block}.modal-card{background:#fff;border-radius:8px;flex-direction:column;height:100%;padding:18px;display:flex;box-shadow:0 22px 70px #00000052}.modal-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.modal-top h2{margin:0 0 3px}.modal-top p{color:var(--text-secondary);margin:0}.icon-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;min-width:36px;min-height:36px;font-size:20px;line-height:1}#modalChart{cursor:default;flex:1;height:auto;min-height:0}#carRanking td,#carRanking th{padding:8px 7px}#carRanking td:first-child{min-width:130px}.leader-grid,.pit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.leader-card h3{color:var(--text-primary);margin-top:0}.leader-card table th,.leader-card table td{padding:4px 7px}#entryTheoryTable,#carTheoryTable{table-layout:fixed;width:100%;min-width:0!important}#entryTheoryTable th:first-child,#entryTheoryTable td:first-child,#carTheoryTable th:first-child,#carTheoryTable td:first-child{overflow-wrap:anywhere;width:220px}#entryTheoryTable th,#entryTheoryTable td,#carTheoryTable th,#carTheoryTable td{padding-top:3px;padding-bottom:3px;line-height:1.2}.leader-grid .scroll.summary table{table-layout:fixed;min-width:0}.leader-grid .scroll.summary th:first-child,.leader-grid .scroll.summary td:first-child{width:42px}.leader-grid .scroll.summary th:nth-child(3),.leader-grid .scroll.summary td:nth-child(3){width:76px}.leader-grid .scroll.summary th:nth-child(4),.leader-grid .scroll.summary td:nth-child(4){width:68px}.leader-grid .scroll.summary th:nth-child(5),.leader-grid .scroll.summary td:nth-child(5){width:48px}@media (max-width:1400px) and (min-width:901px){.leader-grid .leader-card{padding:10px}.leader-grid .scroll.summary th,.leader-grid .scroll.summary td{padding-left:4px;padding-right:4px;font-size:13px}.leader-grid .scroll.summary th:first-child,.leader-grid .scroll.summary td:first-child{width:30px}.leader-grid .scroll.summary th:nth-child(3),.leader-grid .scroll.summary td:nth-child(3){width:68px}.leader-grid .scroll.summary th:nth-child(4),.leader-grid .scroll.summary td:nth-child(4){width:60px}.leader-grid .scroll.summary th:nth-child(5),.leader-grid .scroll.summary td:nth-child(5){width:36px}}tr.is-highlight td{background:#ecfdf3;border-bottom-color:#b7e4ca}tr.is-highlight td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.traffic-cell{white-space:nowrap}.pit-change{margin-bottom:12px}.pit-selector-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.pit-selector-head .hint{margin:0}.driver-picker .pit-selector-head .secondary-btn{width:auto;min-width:130px;padding:6px 10px}.driver-analysis-grid>.panel>.chart-head{margin-bottom:4px}.driver-analysis-grid>.panel>.chart-head h2{margin:0}.driver-analysis-grid .driver-picker{margin:4px 0 6px;padding:5px 6px}.driver-analysis-grid .pit-selector-head{margin-bottom:5px}.driver-analysis-grid .driver-picker-top label{margin-bottom:3px}.driver-analysis-grid .driver-picker-top input{min-height:32px;padding:5px 8px}.driver-picker{margin:8px 0 10px;padding:8px}.driver-picker .driver-picker-top{gap:7px;margin-bottom:7px}.driver-picker .driver-list{gap:5px;max-height:210px}.driver-picker .entry-group-card{padding:7px 8px}.driver-picker .entry-group-head{margin-bottom:5px}.driver-picker .entry-runs-list{gap:5px}.driver-picker .run-chip{gap:5px;min-height:28px;padding:4px 8px;font-size:11px}.driver-picker .run-color-dot{flex-basis:8px;width:8px;height:8px}.pit-selector-body[hidden]{display:none}.replay-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:start}.replay-controls{gap:10px;display:grid}.replay-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.replay-playbar{grid-template-columns:94px 1fr 84px;align-items:center;gap:10px;display:grid}.replay-playbar input[type=range]{width:100%}.replay-time{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-secondary);font-size:12px}.replay-map-controls{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;background:#fffffff0;border:1px solid #dfe4ece6;border-radius:8px;grid-template-columns:auto auto minmax(190px,1fr) auto auto auto;align-items:center;gap:8px;padding:9px 10px;display:grid;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 12px 32px #10182029}.replay-map-controls button{width:auto;min-width:68px;padding:0 12px}.replay-map-controls input[type=range]{width:100%}.replay-map-time,.replay-map-duration,.replay-map-position{font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;font-size:12px}.replay-map-position strong{color:var(--text-primary)}.replay-map-speed{color:var(--text-secondary);white-space:nowrap;grid-template-columns:auto 76px;align-items:center;gap:6px;font-size:12px;display:grid}.replay-map-speed select{min-height:32px;padding:5px 7px}.map-modal-card>.replay-map-controls{margin-bottom:10px;position:static}.replay-stage{border:1px solid var(--border);background:#e9edf2;border-radius:8px;min-height:560px;position:relative;overflow:hidden}.replay-stage-popover{z-index:4;border:1px solid var(--border);pointer-events:none;background:#fffffffa;border-radius:8px;min-width:250px;max-width:min(360px,100% - 24px);padding:10px;position:absolute;box-shadow:0 16px 40px #1018202e}.replay-stage-popover.is-pinned{pointer-events:auto}.replay-stage-popover[hidden]{display:none}.replay-stage-popover h3{color:var(--text-primary);margin:0 34px 8px 0}.replay-stage-popover .replay-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-stage-popover.is-pinned h3{cursor:grab;-webkit-user-select:none;user-select:none}.replay-stage-popover.is-dragging h3{cursor:grabbing}.replay-popover-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:#f8fafce6;border:0;border-radius:6px;place-items:center;font-size:20px;line-height:1;display:grid;position:absolute;top:8px;right:8px}.replay-popover-close:hover,.replay-popover-close:focus-visible{color:var(--text-primary);background:#eef2f7}.replay-stage img,.replay-stage svg{width:100%;height:100%;display:block;position:absolute;inset:0}.replay-stage img{object-fit:contain;z-index:1}.replay-stage svg{pointer-events:auto;z-index:2}.replay-stage.is-clickable{cursor:zoom-in}.replay-marker text{paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;fill:#101820;font-size:18px;font-weight:750}.replay-marker circle{stroke:#101820;stroke-width:2px;filter:drop-shadow(0 2px 3px #00000047)}.replay-marker{cursor:pointer;pointer-events:auto}.replay-marker.is-highlighted circle{stroke:#facc15;stroke-width:5px}.replay-marker.is-followed circle{stroke:#101820;stroke-width:5px}.replay-track-path,.replay-pit-path{pointer-events:none}.replay-track-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.replay-sector-1{stroke:#f59e0bb3;stroke-width:7px}.replay-sector-2{stroke:#ef4444ad;stroke-width:7px}.replay-sector-3{stroke:#06b6d4b3;stroke-width:7px}.replay-pit-path{stroke:#c45a27bf;stroke-width:5px;stroke-dasharray:12 10}.replay-marker-line{stroke:#101820;stroke-width:3px;stroke-linecap:round}.replay-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.replay-stat{background:#fbfcfe;border:1px solid #edf0f5;border-radius:7px;padding:8px}.replay-stat span{color:var(--text-secondary);font-size:11px;display:block}.replay-stat strong{margin-top:2px;font-size:14px;display:block}.replay-list{gap:6px;max-height:360px;padding-right:3px;display:grid;overflow:auto}.replay-entry{background:#fff;border:1px solid #edf0f5;border-radius:7px;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.replay-entry.is-highlighted{background:#fffbeb;border-color:#facc15}.replay-entry.is-followed{border-color:var(--accent);background:#ecfdf3}.replay-mini-btn{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:6px;min-height:28px;padding:4px 8px;font-size:12px}.replay-mini-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:700}.replay-entry input{margin:0}.replay-swatch{border:1px solid #10182040;border-radius:50%;width:14px;height:14px}.replay-entry strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.replay-event-list{max-height:180px;overflow:auto}.replay-info{background:#fbfcfe;border:1px solid #edf0f5;border-radius:7px;margin-top:10px;padding:10px}.replay-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.replay-info-grid div{border-bottom:1px solid #edf0f5;padding-bottom:5px}.replay-info-grid span{color:var(--text-secondary);font-size:11px;display:block}.replay-info-grid strong{font-size:13px;display:block}.map-modal-card{padding:14px}.map-modal-stage{flex:1;height:auto;min-height:0}@media (max-width:1050px){.toolbar,.kpis,.grid,.compare-grid,.car-grid,.mini-controls,.chart-controls,.leader-grid,.pit-grid,.theory-grid,.replay-grid{grid-template-columns:1fr 1fr}.replay-map-controls{grid-template-columns:auto auto minmax(160px,1fr) auto}.replay-map-position,.replay-map-speed{grid-column:auto}}@media (max-width:720px){body{font-size:13px}.view-control{float:none;flex-basis:190px;width:190px;margin-top:0;margin-left:5px}.view-control label{margin-bottom:4px}.view-control select{color:#17324d;border:2px solid #101820;border-radius:9px;min-height:46px;padding:8px 16px}header{padding:14px 14px 12px}header h1{font-size:18px}main{padding:10px}.panel{border-radius:7px;box-shadow:0 6px 18px #14202d0f}.pad{padding:11px}h2{font-size:15px}h3{font-size:13px}.status{border:1px solid var(--border);background:#fff;border-radius:7px;margin-bottom:10px;padding:9px 10px}.top-controls{gap:10px;margin-bottom:10px}.tabs{scrollbar-width:none;border-bottom:0;flex-wrap:nowrap;gap:6px;margin:0 -10px;padding:0 10px 8px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab-btn{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:999px;flex:none;padding:8px 11px}.tab-btn[aria-selected=true]{color:#fff;box-shadow:none;background:#101820;border-color:#101820}.dataset-control select,select,input[type=file],input[type=number],input[type=text]{min-height:42px}.toolbar,.kpis,.grid,.compare-grid,.car-grid,.mini-controls,.chart-controls,.leader-grid,.pit-grid,.theory-grid,.replay-grid,.replay-row,.replay-playbar,.replay-stats{grid-template-columns:1fr}.chart-head,.pit-selector-head,.modal-top{grid-template-columns:1fr;gap:8px;display:grid}.pit-selector-head .secondary-btn{width:100%}.driver-picker,.car-chart-picker{padding:9px}.selected-drivers{grid-template-columns:1fr}.driver-picker .selected-drivers{max-height:112px;padding:1px 2px 4px 1px;overflow:auto}.driver-row,.replay-entry{gap:7px}.driver-row button{min-width:66px}.chart-event-legend button,.pill-btn{min-height:36px}canvas{height:300px}#paceChart{height:320px}#sectorChart{height:240px}#movingAverageChart{height:320px}#carChart{height:300px}.scroll{max-height:360px}.scroll table,.bop-table-wrap table{min-width:620px}.replay-stage{height:min(68vh,420px);min-height:0}.modal{padding:10px}.modal-card{padding:12px}.map-modal-card{padding:10px}.replay-map-controls{grid-template-columns:1fr 1fr;align-items:stretch}.replay-map-controls input[type=range],.replay-map-time,.replay-map-duration,.replay-map-position,.replay-map-speed{grid-column:1/-1}.replay-map-speed,.driver-picker-top,.car-chart-tools{grid-template-columns:1fr}.preset-row{justify-content:flex-start}.kpi strong{font-size:18px}.top-controls{align-items:stretch}.dataset-control{width:100%}.dataset-selectors{grid-template-columns:1fr}}.soft-panel{box-shadow:none;background:#fbfcfe}.pit-upload-grid{grid-template-columns:1.3fr .5fr .5fr;align-items:end;gap:12px;margin:10px 0 12px;display:grid}.upload-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.upload-card{border:1px solid var(--border);background:#fbfcfe;border-radius:12px;flex-direction:column;align-items:stretch;gap:10px;padding:18px;display:flex}.upload-card h3,.upload-card p{margin:0}.upload-card input[type=file]{width:100%}.upload-status{min-height:42px;margin:0}@media (max-width:800px){.upload-grid{grid-template-columns:1fr}}.pit-status{margin-top:0}.badge.neutral{color:#1849a9;background:#eef4ff}.badge.tech{color:var(--negative);background:#fef3f2}.badge.joker{color:var(--warning);background:#fffaeb}.bop-upload-grid{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin:10px 0 12px;display:grid}.bop-file-selection{min-height:22px;color:var(--text-secondary);margin-top:7px;font-size:12px}.bop-file-selection.selected{color:var(--positive);font-weight:650}.bop-file-selection.selected:before{content:"✓";margin-right:6px;display:inline-block}.bop-summary-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:12px 0;display:grid}.bop-summary-grid .kpi{box-shadow:none}#panel-results .scroll{max-height:none;overflow:auto}#panel-results #resultsTable{min-width:100%}#panel-results #resultsTable.results-official{min-width:1500px}.bop-table-wrap{max-height:720px;overflow:auto}.bop-table-wrap thead th{z-index:2;background:#fff;position:sticky;top:0}.bop-car-title{font-weight:700}.bop-car-button{color:var(--accent);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.bop-car-button:hover{text-decoration:underline}.bop-summary-row{cursor:pointer}.bop-summary-row:hover td{background:#f8fafc}.bop-detail-row[hidden]{display:none}.bop-detail-cell{border-bottom:1px solid var(--border);background:#fbfcfe}.bop-detail-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;display:grid}.bop-detail-card{border:1px solid var(--border);background:#fff;border-radius:7px;padding:10px}.bop-detail-card h3{color:var(--text-primary);margin-top:0}.bop-detail-list{grid-template-columns:minmax(150px,.85fr) minmax(0,1fr);gap:6px 10px;display:grid}.bop-detail-list dt{color:var(--text-secondary);font-size:12px}.bop-detail-list dd{overflow-wrap:anywhere;margin:0;font-weight:650}.bop-cell-change{font-weight:700}.bop-cell-change.good{color:var(--positive);background:0 0}.bop-cell-change.bad{color:var(--negative);background:0 0}.bop-cell-change.warn{color:var(--warning);background:0 0}.bop-notes{max-width:390px;color:var(--text-secondary);font-size:12px}.bop-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.bop-meta{text-align:right;min-width:250px;color:var(--text-secondary);font-size:12px}.bop-meta strong{color:var(--text-primary);font-size:13px;display:block}.bop-delta{margin-top:2px;font-size:12px;font-weight:700;display:block}.bop-delta.good{color:var(--positive)}.bop-delta.bad{color:var(--negative)}.bop-delta.warn{color:var(--warning)}.bop-old-new{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:6px;min-width:150px;display:grid}.bop-old-new span{overflow-wrap:anywhere;min-width:0}.bop-arrow{color:var(--text-secondary)}.bop-compact td,.bop-compact th{padding:6px 7px}.export-layout{gap:14px;display:grid}.export-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.export-metadata-grid .wide,.export-comments{grid-column:1/-1}textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:110px;color:var(--text-primary);font:inherit;background:#fff;border-radius:6px;padding:9px}.export-entry-toolbar{align-items:end;gap:8px;margin-bottom:10px;display:flex}.export-entry-toolbar>div{flex:1}.export-entry-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:270px;padding-right:3px;display:grid;overflow:auto}.export-entry-row{border:1px solid var(--border);background:#fff;border-radius:7px;grid-template-columns:auto 1fr minmax(110px,145px);align-items:center;gap:9px;padding:9px;display:grid}.export-entry-row.is-selected{border-color:var(--accent);background:#f0fdfa}.export-entry-row input[type=checkbox]{width:18px;height:18px}.export-entry-row strong,.export-entry-row span{display:block}.export-entry-row span{color:var(--text-secondary);font-size:12px}.export-entry-row label{margin:0}.export-entry-row input[type=text]{min-height:32px;padding:5px 7px}.export-section-picker{border:1px solid var(--border);background:#f8fafc;border-radius:7px;grid-column:1/-1;padding:11px}.export-section-picker>label{margin-bottom:8px;font-weight:700}.export-section-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px;display:grid}.export-section-options label{align-items:center;gap:7px;margin:0;font-weight:400;display:flex}.export-section-options input{flex:none}.export-summary{grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0;display:grid}.export-summary div{border:1px solid var(--border);background:#f5f7f8;border-radius:7px;padding:10px}.export-summary span,.export-summary strong{display:block}.export-summary span{color:var(--text-secondary);font-size:11px}.export-summary strong{margin-top:2px;font-size:18px}.export-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.export-actions .secondary-btn{white-space:nowrap;flex:none;width:auto;min-width:180px}.export-actions .status{white-space:nowrap;flex:1;min-width:0;margin:0}@media (max-width:900px){.pit-upload-grid,.bop-upload-grid,.bop-summary-grid{grid-template-columns:1fr}.bop-head{display:block}.bop-meta{text-align:left;margin-top:10px}.bop-detail-grid,.export-entry-list,.export-section-options{grid-template-columns:1fr}}html{min-width:0;overflow-x:clip}@container (max-width:1079px){.shell-workspace #panel-car .car-grid{grid-template-columns:minmax(0,1fr)}}@container (min-width:1080px){.shell-workspace #panel-car .car-grid{grid-template-columns:minmax(680px,1.15fr) minmax(360px,.85fr)}}body{background:radial-gradient(circle at 12% -10%, #c45a2714, transparent 30rem), var(--background);min-width:0}
.app-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:12px max(20px,50vw - 732px);display:flex}.legacy-header-title{color:#f8fafc;letter-spacing:-.02em;margin:0;font-size:28px;line-height:1.2}.app-login-button{color:#fff;background:#a8461b;border:1px solid #f08a528c;border-radius:8px;flex:none;min-height:40px;padding:10px 16px;font-weight:700;text-decoration:none}.app-login-button:hover,.app-login-button:focus-visible{color:#fff;background:#c45a27;border-color:#ffc19f}.app-user-email{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;max-width:min(32vw,320px);font-size:14px;font-weight:650;overflow:hidden}.app-brand{color:#fff;align-items:center;gap:12px;text-decoration:none;display:flex}.app-brand>span:last-child{display:grid}.app-brand strong{letter-spacing:-.01em;font-size:16px}.app-brand small{color:#94a3b8;font-size:11px}.app-mark{color:#ffad7c;letter-spacing:.08em;background:#c45a272e;border:1px solid #f08a5259;border-radius:10px;place-items:center;width:38px;height:38px;font-size:11px;font-weight:800;display:grid}.app-nav{align-items:center;gap:8px;display:flex}.app-nav a{color:#cbd5e1;border-radius:8px;min-height:40px;padding:10px 13px;font-weight:650;text-decoration:none}.app-nav a:hover,.app-nav a:focus-visible{color:#fff;background:#ffffff14}.session-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin:4px 0 20px;display:flex}.session-heading h1{letter-spacing:-.035em;margin:2px 0 3px;font-size:clamp(24px,3vw,34px)}.session-heading p{color:var(--text-secondary);margin:0}.session-heading .session-eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:800}.session-state{color:#067647;background:#ecfdf3;border:1px solid #a6f4c5;border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.session-state span{background:#12b76a;border-radius:50%;width:7px;height:7px}.top-controls{border:1px solid var(--border);background:#ffffffe6;border-radius:12px;flex-wrap:wrap;justify-content:flex-start;align-items:end;gap:14px;width:100%;height:auto;min-height:0;padding:14px;display:flex;box-shadow:0 6px 18px #14202d0d}.dataset-control,.dataset-selectors,.density-control{order:0;min-width:0}.dataset-control{flex:720px;width:min(760px,100%);max-width:760px}.legacy-dataset-hooks{display:none!important}.dataset-tools,.native-dataset-picker{gap:12px;display:grid}.getraceresults-import{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));border-radius:var(--radius-panel);background:var(--surface);color:var(--text-primary);order:-1;padding:18px;box-shadow:0 4px 14px #0f172a14}.getraceresults-import .dataset-picker-head>div{gap:4px}.getraceresults-import .dataset-picker-head strong{color:var(--text-primary);font-size:17px}.getraceresults-import .dataset-picker-head span:not(.getraceresults-step),.getraceresults-import .dataset-picker-footer span:not(.getraceresults-step){color:var(--text-secondary)}.getraceresults-step{letter-spacing:.08em;text-transform:uppercase;font-weight:850;color:var(--accent-strong)!important;flex:none!important;font-size:10px!important}.getraceresults-url-row{border:1px solid color-mix(in srgb, var(--accent) 26%, var(--border));background:var(--surface-subtle);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(170px,220px);align-items:end;gap:12px;padding:14px;display:grid}.getraceresults-url-field,.getraceresults-category-row label{color:var(--text-primary);gap:5px;margin:0;font-size:12px;font-weight:800;display:grid}.getraceresults-url-field input{border:2px solid var(--accent);background:var(--control-background);min-height:46px;color:var(--text-primary);border-radius:8px;font-size:14px}.getraceresults-url-field input::placeholder{color:var(--text-secondary);opacity:.9}.getraceresults-url-field small{color:var(--text-secondary);font-size:11px;font-weight:500}.getraceresults-discover{min-height:46px;font-size:13px;font-weight:800}.getraceresults-category-row{grid-template-columns:auto minmax(220px,1fr);align-items:end;gap:12px;display:grid}.getraceresults-category-row select{border-color:var(--control-border);background:var(--control-background);min-height:46px;color:var(--text-primary);font-weight:700}.getraceresults-footer{padding-top:4px}.getraceresults-footer .dataset-picker-primary{min-width:220px}@media (max-width:760px){.getraceresults-url-row,.getraceresults-category-row{grid-template-columns:minmax(0,1fr)}.getraceresults-category-row .getraceresults-step{order:-1}}.dataset-downloader{border-top:1px solid var(--border);padding-top:14px}.dataset-picker-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dataset-picker-head>div{gap:2px;display:grid}.dataset-picker-head strong{font-size:14px}.dataset-picker-head span,.dataset-picker-footer span{color:var(--text-secondary);font-size:12px}.native-dataset-fields{grid-template-columns:minmax(100px,.55fr) minmax(180px,1fr) minmax(180px,1fr);gap:8px;display:grid}.native-dataset-fields label{color:var(--text-secondary);gap:4px;font-size:11px;font-weight:750;display:grid}.native-dataset-fields select{width:100%;min-height:44px;color:var(--text-primary);font-weight:650}.dataset-picker-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.dataset-picker-footer span{flex:auto}.dataset-picker-primary{color:#fff;min-width:150px;min-height:42px;font:inherit;cursor:pointer;background:#101820;border:1px solid #101820;border-radius:8px;padding:9px 14px;font-weight:750}.dataset-picker-primary:disabled{border-color:var(--border);color:#98a2b3;cursor:not-allowed;background:#eef1f5}.dataset-selectors{width:100%}.density-control{flex:0 0 170px;width:170px}.session-quick-select{width:100%;color:var(--text-primary);cursor:pointer;background-color:#fff;border:1px solid #cfd7e3;border-radius:9px;padding:10px 42px 10px 13px;font-weight:700;min-height:48px!important;display:block!important}.session-quick-select:hover{border-color:#98a2b3}.session-quick-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c45a271f}.dataset-menu[hidden]{display:none!important}.control-heading{margin-bottom:8px}.control-heading>div{gap:1px;display:grid}.control-heading strong{font-size:13px}.control-heading span{color:var(--text-secondary);font-size:11px}.dataset-menu{box-shadow:none;padding:4px}.dataset-menu button{min-height:40px}.density-control label{font-weight:650}.density-control select{min-height:48px}.gt4-admin-controls{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;width:100%;margin-top:10px;display:grid}.gt4-admin-controls .secondary-btn{width:100%}.gt4-admin-controls #gt4Status{grid-column:1/-1}.gt4-admin-controls[hidden]{display:none}.status{border:1px solid var(--border);background:#ffffffb8;border-radius:9px;margin:12px 0;padding:10px 12px;font-size:12px}.tabs{z-index:20;border:1px solid var(--border);scrollbar-width:thin;background:#fffffff2;border-radius:11px;flex-wrap:nowrap;gap:3px;margin:0 0 14px;padding:5px;position:sticky;top:0;overflow-x:auto;box-shadow:0 5px 18px #14202d0f}.tab-btn{border:0;border-radius:7px;flex:none;min-height:40px;padding:9px 12px}.tab-btn[aria-selected=true]{color:#fff;background:#101820}.tab-btn-secondary{color:var(--accent);margin-left:auto}.startup-error{z-index:1100;width:min(680px,100% - 24px);box-shadow:var(--shadow);color:#912018;background:#fef3f2;border:1px solid #fecdca;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:12px auto;padding:14px 16px;display:flex;position:sticky;top:12px}.startup-error>div{gap:2px;display:grid}.startup-error span{font-size:12px}.startup-error button{color:#fff;background:#b42318;border:0;border-radius:8px;min-height:40px;padding:8px 14px;font-weight:750}.offline-button{margin:10px 18px 0 auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #c45a276b}main,.tab-panel,.panel,.pad,.grid>*,.compare-grid>*,.car-grid>*,.leader-grid>*,.pit-grid>*,.replay-grid>*,.driver-picker,.pit-selector-body,.chart-controls,.chart-head{min-width:0;max-width:100%}canvas,svg,img{max-width:100%}.scroll,.bop-table-wrap{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}@media (max-width:720px){.app-header{min-height:60px;padding:10px 12px}.app-brand small,.session-state{display:none}.app-nav{gap:0}.app-nav a{min-height:44px;padding-inline:9px}main{width:100%;padding:14px 10px 28px;overflow:clip}.session-heading{align-items:flex-start;margin-bottom:14px}.session-heading h1{font-size:25px}.top-controls{width:100%;padding:11px;display:flex}.dataset-control{flex-basis:100%;width:100%;max-width:none}.density-control{display:none}.dataset-menu li,.dataset-menu button{min-width:0;max-width:100%}.dataset-menu li>ul{box-shadow:none;margin:3px 0 3px 10px;position:static}.gt4-admin-controls{grid-template-columns:minmax(0,1fr)}.dataset-picker-head,.dataset-picker-footer{flex-direction:column;align-items:stretch}.native-dataset-fields{grid-template-columns:minmax(0,1fr)}.dataset-picker-primary{width:100%}.tabs{margin-inline:0;padding:5px;scroll-padding-inline:5px}.tab-btn{min-height:44px}.tab-btn-secondary{margin-left:8px}.quick-upload-grid,.upload-grid,.pit-upload-grid{grid-template-columns:minmax(0,1fr)}.quick-upload,.quick-upload-grid .quick-upload{grid-template-columns:minmax(0,1fr);width:100%;display:grid}input,select,button,.secondary-btn,.pill-btn,.chart-controls>*,.pit-selector-head>*{min-width:0;max-width:100%}.chart-controls>button,.pit-selector-head .secondary-btn{width:100%}.preset-row,.chart-event-legend{max-width:100%;overflow-x:auto}.driver-picker-top,.car-chart-tools,.replay-map-controls,.replay-playbar{grid-template-columns:minmax(0,1fr)}.scroll table,.bop-table-wrap table{width:max-content;max-width:none}canvas{width:100%!important}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f5f7;--sidebar:#18212b;--surface:#fff;--surface-elevated:#fff;--surface-muted:#f0f2f4;--surface-subtle:#f6f7f8;--border:#dce1e6;--text-primary:#18212b;--text-secondary:#66717d;--accent:#a8461b;--accent-strong:#943b15;--accent-soft:#fae9df;--positive:#067647;--positive-surface:#ecfdf3;--positive-text:#067647;--negative:#b42318;--negative-surface:#fef3f2;--negative-text:#b42318;--warning:#b54708;--warning-surface:#fffaeb;--warning-text:#765d00;--fcy:#d0a400;--fastest:#7c3aed;--favourite:#7a5b00;--control-background:#fff;--control-hover:#f8eee8;--control-border:#aebdca;--control-active:#943b15;--control-active-text:#fff;--control-disabled:#eef2f6;--control-disabled-text:#667085;--focus-ring:#963c13;--table-row-hover:#f0f2f4;--text-selection-background:#ffad7c;--text-selection-color:#18212b;--radius-panel:12px;--timing-font:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--shadow:0 10px 28px #19222c0e;--bg:var(--background);--panel:var(--surface);--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--theme-dark-background:#10151b;--theme-dark-sidebar:#0d1217;--theme-dark-surface:#171e26;--theme-dark-surface-elevated:#1c252e;--theme-dark-surface-muted:#141b22;--theme-dark-surface-subtle:#101820;--theme-dark-border:#303a45;--theme-dark-text-primary:#edf1f4;--theme-dark-text-secondary:#a4afb9;--theme-dark-accent:#ffad7c;--theme-dark-accent-strong:#ffc19f;--theme-dark-accent-soft:#38251d;--theme-dark-positive:#6ee7b7;--theme-dark-positive-surface:#123329;--theme-dark-negative:#fda4af;--theme-dark-negative-surface:#3b1f24;--theme-dark-warning:#ffe469;--theme-dark-warning-surface:#3e350f;--theme-dark-control-background:#1c252e;--theme-dark-control-hover:#2a3037;--theme-dark-control-border:#4b5661;--theme-dark-control-disabled:#1d2732;--theme-dark-control-disabled-text:#8b99a8;--theme-dark-table-row-hover:#26323e;--theme-dark-text-selection-background:#ffad7c;--theme-dark-text-selection-color:#18212b;--theme-dark-shadow:0 14px 34px #0000003d}@media (prefers-color-scheme:dark){html[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:var(--theme-dark-background);--sidebar:var(--theme-dark-sidebar);--surface:var(--theme-dark-surface);--surface-elevated:var(--theme-dark-surface-elevated);--surface-muted:var(--theme-dark-surface-muted);--surface-subtle:var(--theme-dark-surface-subtle);--border:var(--theme-dark-border);--text-primary:var(--theme-dark-text-primary);--text-secondary:var(--theme-dark-text-secondary);--accent:var(--theme-dark-accent);--accent-strong:var(--theme-dark-accent-strong);--accent-soft:var(--theme-dark-accent-soft);--positive:var(--theme-dark-positive);--positive-surface:var(--theme-dark-positive-surface);--positive-text:var(--theme-dark-positive);--negative:var(--theme-dark-negative);--negative-surface:var(--theme-dark-negative-surface);--negative-text:var(--theme-dark-negative);--warning:var(--theme-dark-warning);--warning-surface:var(--theme-dark-warning-surface);--warning-text:var(--theme-dark-warning);--favourite:var(--theme-dark-warning);--control-background:var(--theme-dark-control-background);--control-hover:var(--theme-dark-control-hover);--control-border:var(--theme-dark-control-border);--control-active:#a8461b;--control-active-text:#fff;--control-disabled:var(--theme-dark-control-disabled);--control-disabled-text:var(--theme-dark-control-disabled-text);--table-row-hover:var(--theme-dark-table-row-hover);--text-selection-background:var(--theme-dark-text-selection-background);--text-selection-color:var(--theme-dark-text-selection-color);--focus-ring:#ffad7c;--shadow:var(--theme-dark-shadow);--bg:var(--background);--panel:var(--surface);--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border)}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:var(--theme-dark-background);--sidebar:var(--theme-dark-sidebar);--surface:var(--theme-dark-surface);--surface-elevated:var(--theme-dark-surface-elevated);--surface-muted:var(--theme-dark-surface-muted);--surface-subtle:var(--theme-dark-surface-subtle);--border:var(--theme-dark-border);--text-primary:var(--theme-dark-text-primary);--text-secondary:var(--theme-dark-text-secondary);--accent:var(--theme-dark-accent);--accent-strong:var(--theme-dark-accent-strong);--accent-soft:var(--theme-dark-accent-soft);--positive:var(--theme-dark-positive);--positive-surface:var(--theme-dark-positive-surface);--positive-text:var(--theme-dark-positive);--negative:var(--theme-dark-negative);--negative-surface:var(--theme-dark-negative-surface);--negative-text:var(--theme-dark-negative);--warning:var(--theme-dark-warning);--warning-surface:var(--theme-dark-warning-surface);--warning-text:var(--theme-dark-warning);--favourite:var(--theme-dark-warning);--control-background:var(--theme-dark-control-background);--control-hover:var(--theme-dark-control-hover);--control-border:var(--theme-dark-control-border);--control-active:#a8461b;--control-active-text:#fff;--control-disabled:var(--theme-dark-control-disabled);--control-disabled-text:var(--theme-dark-control-disabled-text);--table-row-hover:var(--theme-dark-table-row-hover);--text-selection-background:var(--theme-dark-text-selection-background);--text-selection-color:var(--theme-dark-text-selection-color);--focus-ring:#ffad7c;--shadow:var(--theme-dark-shadow);--bg:var(--background);--panel:var(--surface);--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border)}::selection{background:var(--text-selection-background);color:var(--text-selection-color)}
a{color:inherit;text-decoration:none}.app-shell{background:var(--background);grid-template-columns:224px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.is-collapsed{grid-template-columns:72px minmax(0,1fr)}#panel-bop{scroll-margin-top:76px}.desktop-sidebar{background:var(--sidebar);color:#d7e1ea;flex-direction:column;height:100vh;padding:14px 10px;display:flex;position:sticky;top:0;overflow:hidden}.shell-logo{color:#fff;white-space:nowrap;align-items:center;gap:10px;min-height:48px;padding:0 8px 16px;display:flex}.shell-logo b{color:#ffad7c;border:1px solid #f08a52;border-radius:9px;place-items:center;width:32px;height:32px;font-size:11px;display:grid}.shell-logo button{color:#94a3b8;background:0 0;border:0;margin-left:auto;font-size:24px}.is-collapsed .shell-logo span,.is-collapsed .desktop-sidebar nav span,.is-collapsed .sidebar-bottom>a,.is-collapsed .sidebar-bottom .user-menu{display:none}.desktop-sidebar nav{gap:3px;display:grid}.desktop-sidebar nav button,.sidebar-bottom>a{color:#b7c4d0;text-align:left;min-height:40px;font:inherit;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;padding:8px;display:flex}.desktop-sidebar nav button i{color:#ffad7c;width:14px;font-style:normal}.desktop-sidebar nav button:hover,.desktop-sidebar nav button.active,.sidebar-bottom>a:hover{color:#fff;background:#1b2a35}.sidebar-bottom{gap:8px;margin-top:auto;display:grid}.shell-content{min-width:0;container-type:inline-size}.shell-topbar{z-index:100;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:14px;min-height:60px;padding:8px 20px;display:flex;position:sticky;top:0}.session-launcher{color:var(--ink);background:0 0;border:0;font-weight:700}.data-status{color:var(--muted);align-items:center;gap:7px;margin-left:auto;font-size:12px;display:flex}.data-status i{background:var(--positive);border-radius:50%;width:7px;height:7px}.shell-topbar>a{color:var(--muted);padding:7px}.mobile-mark,.mobile-nav,.shell-workspace>.app-header{display:none}.shell-workspace main{max-width:1600px}.user-menu{position:relative}.avatar,.shell-login{border:1px solid var(--line);background:var(--surface-muted);width:34px;height:34px;color:var(--ink);border-radius:50%;place-items:center;font-weight:800;display:grid}.shell-login{border-radius:8px;width:auto;padding:0 12px}.user-popover{z-index:200;border:1px solid var(--line);background:var(--surface-elevated);min-width:220px;box-shadow:var(--shadow);border-radius:10px;padding:8px;display:grid;position:absolute;top:42px;right:0}.user-popover strong,.user-popover a,.user-popover button{color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:9px;overflow:hidden}.user-popover button{font:inherit;background:0 0;border:0}.user-popover a:hover,.user-popover button:hover{background:var(--surface-muted);border-radius:6px}.settings-page{padding:28px}.theme-choices{gap:8px;display:flex}.theme-choices button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);text-transform:capitalize;border-radius:8px;padding:0 16px}@media (max-width:760px){.app-shell,.app-shell.is-collapsed{padding-bottom:64px;display:block}.desktop-sidebar{display:none}.shell-topbar{min-height:56px;padding:7px 12px}.mobile-mark{font-weight:900;display:block;color:var(--accent)!important}.shell-topbar .session-launcher{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.data-status{display:none}.mobile-nav{z-index:300;border-top:1px solid var(--line);background:var(--surface-elevated);grid-template-columns:repeat(5,1fr);min-height:60px;display:grid;position:fixed;inset:auto 0 0}.mobile-nav>button,.mobile-nav>a{color:var(--muted);background:0 0;border:0;font-size:11px}.more-sheet{border:1px solid var(--line);background:var(--surface-elevated);min-width:200px;box-shadow:var(--shadow);border-radius:12px;padding:8px;display:grid;position:absolute;bottom:66px;right:8px}.more-sheet button,.more-sheet a{min-height:38px;color:var(--ink);text-align:left;background:0 0;border:0}.shell-workspace main{padding-bottom:18px}}.topbar-user-menu{display:none}.nav-status{color:#8ba0ae;letter-spacing:.04em;text-transform:uppercase;margin-left:auto;font-size:9px;font-weight:800}.button.disabled{cursor:not-allowed;opacity:.58}@media (max-width:760px){.topbar-user-menu{display:block}.more-backdrop{z-index:350;background:#02080f8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.more-sheet{width:100%;max-height:min(75vh,620px);padding:12px 12px calc(12px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;position:relative;bottom:auto;right:auto;overflow:auto}.more-sheet-heading{justify-content:space-between;align-items:center;padding:4px 8px 10px;display:flex}.more-sheet-heading button{text-align:center;min-width:40px;font-size:24px}.more-sheet a{border-radius:8px;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.more-sheet a:hover,.more-sheet a:focus-visible{background:var(--surface-muted)}.more-sheet a small{color:var(--muted);text-transform:uppercase;font-size:10px}}body{background:var(--background);color:var(--text-primary)}.desktop-sidebar{width:auto;padding:12px 10px}.desktop-sidebar>nav{scrollbar-width:thin;min-height:0;overflow-y:auto}.nav-group{border-bottom:1px solid #ffffff12;gap:2px;padding:7px 0 9px;display:grid}.nav-group:last-child{border-bottom:0}.nav-group>p{color:#718293;letter-spacing:.13em;text-transform:uppercase;margin:0 8px 5px;font-size:9px;font-weight:800}.desktop-sidebar nav a,.sidebar-bottom>a{color:#b7c4d0;border-radius:7px;align-items:center;gap:10px;min-height:36px;padding:7px 8px;font-size:12px;font-weight:650;display:flex}.desktop-sidebar nav a svg,.sidebar-bottom>a svg{color:#6f8797;flex:0 0 16px;width:16px;height:16px}.desktop-sidebar nav a:hover,.desktop-sidebar nav a.active,.sidebar-bottom>a:hover,.sidebar-bottom>a.active{color:#fff;background:#26323e}.desktop-sidebar nav a.active{box-shadow:inset 2px 0 #f08a52}.desktop-sidebar nav a.active svg{color:#f08a52}.is-collapsed .nav-group>p,.is-collapsed .desktop-sidebar nav a span,.is-collapsed .sidebar-bottom>a span{display:none}.shell-logo button svg{width:18px;transform:rotate(180deg)}.is-collapsed .shell-logo button svg{transform:none}.shell-topbar{min-height:64px}.session-switcher{min-width:220px;position:relative}.session-launcher{min-width:220px;color:var(--text-primary);text-align:left;border:1px solid #0000;border-radius:7px;gap:1px;padding:6px 28px 6px 9px;display:grid}.session-launcher:after{content:"⌄";color:var(--text-secondary);position:absolute;top:17px;right:10px}.session-launcher:hover,.session-launcher[aria-expanded=true]{border-color:var(--border);background:var(--surface-muted)}.session-launcher span{font-size:12px}.session-launcher small{color:var(--text-secondary);font-size:10px;font-weight:500}.session-switcher-popover{z-index:500;border:1px solid var(--border);background:var(--surface-elevated);border-radius:10px;gap:12px;width:min(430px,100vw - 24px);padding:14px;display:grid;position:absolute;top:50px;left:0;box-shadow:0 16px 40px #0f172a2e}.session-switcher-popover>div{justify-content:space-between;display:flex}.session-switcher-popover a{color:var(--accent);font-size:12px;font-weight:700}.session-switcher-popover p{color:var(--text-secondary);margin:0;font-size:12px}.data-status{color:var(--text-secondary)}.data-status.state-error i,.data-status.state-disconnected i{background:var(--negative)}.data-status.state-loading-source-files i,.data-status.state-parsing-csv i,.data-status.state-running-analysis i{background:var(--warning);animation:1.2s infinite pulse}.data-status.state-partially-loaded i{background:var(--warning)}.topbar-export{border:1px solid var(--border);border-radius:7px;align-items:center;gap:6px;min-height:34px;font-size:12px;font-weight:700;display:flex;color:var(--text-primary)!important;padding:0 10px!important}.topbar-export svg{width:15px}.standalone-page{width:min(1480px,100%);margin:0 auto;padding:36px clamp(20px,3vw,44px)}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-heading h1{letter-spacing:-.045em;margin:5px 0 9px;font-size:clamp(30px,3vw,40px);line-height:1.05}.page-heading p{max-width:720px;color:var(--text-secondary);margin:0}.eyebrow{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.heading-actions{gap:8px;display:flex}.button{border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 15px;font-size:12px;font-weight:750;display:inline-flex}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.secondary{background:var(--surface)}.session-section{margin-top:30px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:10px;display:flex}.section-heading h2{margin:2px 0 0;font-size:17px}.section-heading>a{color:var(--accent);font-size:12px;font-weight:750}.session-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.session-card{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);gap:15px;min-width:0;padding:18px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid;box-shadow:0 2px 5px #18212b06}.session-card:hover{border-color:color-mix(in srgb,var(--accent) 46%,var(--border));transform:translateY(-2px);box-shadow:0 10px 26px #18212b14}.session-card-head,.session-card-meta{color:var(--text-secondary);justify-content:space-between;gap:10px;font-size:10px;display:flex}.session-card h3{margin:2px 0;font-size:17px}.session-card p{color:var(--text-secondary);margin:0;font-size:11px}.favourite{color:#98a2b3;background:0 0;border:0;width:28px;height:28px;margin:-7px -7px 0 0;font-size:16px}.favourite.active{color:#d6a900}.source-badges{flex-wrap:wrap;gap:4px;min-height:23px;display:flex}.source-badges span{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-secondary);border-radius:5px;padding:4px 7px;font-size:9px;font-weight:700}.session-open{border-top:1px solid var(--border);color:var(--accent-strong);justify-content:space-between;padding-top:11px;font-size:11px;font-weight:800;display:flex}.session-search{max-width:520px;color:var(--text-secondary);gap:6px;margin-bottom:20px;font-size:11px;font-weight:700;display:grid}.session-search input{min-height:42px}.catalogue-feedback,.empty-state{border:1px dashed var(--border);border-radius:var(--radius-panel);background:var(--surface);text-align:left;justify-content:center;align-items:center;gap:16px;min-height:280px;padding:28px;display:flex}.catalogue-feedback p,.empty-state p{color:var(--text-secondary);margin:4px 0}.catalogue-feedback.error{border-style:solid;border-color:color-mix(in srgb,var(--negative) 35%,var(--border));justify-content:space-between}.catalogue-feedback.error>div:last-child{align-items:center;gap:9px;display:flex}.catalogue-feedback button{background:var(--accent);color:#fff;border:0;border-radius:7px;min-height:38px;padding:0 14px}.catalogue-feedback.error a{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text-primary);border-radius:7px;justify-content:center;align-items:center;padding:0 14px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.empty-state{text-align:center;flex-direction:column}.empty-state h2{margin:0}.empty-state>div:last-child{gap:8px;display:flex}.empty-state-icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:50%;place-items:center;font-size:24px;display:grid}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.session-workspace-header{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);justify-content:space-between;gap:24px;margin:4px 0 12px;padding:20px 22px;display:flex}.session-title-line{align-items:baseline;gap:12px;margin:3px 0 13px;display:flex}.session-title-line h1{letter-spacing:-.03em;margin:0;font-size:27px}.session-title-line>span{color:var(--text-secondary);font-size:15px;font-weight:700}.session-facts{gap:20px;margin:0;display:flex}.session-facts div{gap:2px;display:grid}.session-facts dt,.completeness>span{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.session-facts dd{font-family:var(--timing-font);margin:0;font-size:12px;font-weight:700}.completeness{align-content:start;gap:7px;max-width:470px;display:grid}.completeness>div{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.completeness>div>span{border:1px solid var(--border);color:var(--text-secondary);border-radius:5px;align-items:center;gap:5px;padding:4px 7px;font-size:9px;font-weight:700;display:flex}.completeness i{background:#98a2b3;border-radius:50%;width:6px;height:6px}.completeness .available i{background:var(--positive)}.completeness .missing{opacity:.62}.global-filter-bar{z-index:80;border:1px solid var(--border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:10px;margin-bottom:12px;padding:12px;display:grid;position:sticky;top:70px;box-shadow:0 4px 16px #0f172a0d}.chart-subhead{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.chart-subhead h3{margin:0}.chart-panel-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.chart-panel-actions button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-secondary);border-radius:7px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:750;display:inline-flex}.chart-panel-actions button:hover{border-color:var(--accent);color:var(--accent-strong)}.chart-panel-actions button:focus-visible,.chart-card canvas:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.chart-panel-actions svg{width:14px;height:14px}.chart-advanced-settings{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;margin-top:10px}.chart-advanced-settings summary{color:var(--text-secondary);cursor:pointer;padding:8px 10px;font-size:10px;font-weight:800}.chart-advanced-settings[open] summary{border-bottom:1px solid var(--border);color:var(--ink)}.chart-advanced-settings .chart-controls{margin:0;padding:10px}.overview-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.overview-panel-grid article{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);align-content:start;gap:8px;min-height:190px;padding:20px;display:grid}.overview-panel-grid h2{margin:0;font-size:18px}.overview-panel-grid article>p:not(.eyebrow){color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.overview-panel-grid a{color:var(--accent);align-self:end;margin-top:auto;font-size:11px;font-weight:800}.filter-bar-title{margin:0;font-size:14px;font-weight:800}.filter-toggle,.filter-reset,.global-filter-disclosure{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-secondary);white-space:nowrap;border-radius:8px;padding:0 12px;font-size:12px;font-weight:750}.filter-toggle:focus-visible,.filter-reset:focus-visible,.global-filter-disclosure:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.filter-toggle.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.filter-toggle.warning.active{border-color:var(--warning);background:var(--warning-surface);color:var(--warning-text)}.filter-reset{color:var(--accent-strong)}.filter-reset:disabled{cursor:not-allowed;opacity:.52}.global-filter-header,.global-filter-summary,.global-filter-actions{align-items:center;min-width:0;display:flex}.global-filter-header{justify-content:space-between;gap:12px}.global-filter-summary{flex-wrap:wrap;gap:8px 12px}.global-filter-active-count{background:var(--surface-muted);color:var(--text-secondary);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.global-filter-active-list{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.global-filter-chip{border:1px solid var(--border);background:var(--accent-soft);max-width:100%;color:var(--accent-strong);overflow-wrap:anywhere;border-radius:999px;padding:4px 8px;font-size:11px}.global-filter-actions{flex:none;gap:6px}.global-filter-disclosure{color:var(--text-primary)}.global-filter-description{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.global-filter-controls{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:10px;display:grid}.global-filter-controls[hidden]{display:none}.global-filter-field{min-width:0;color:var(--text-primary);align-content:start;gap:6px;font-size:12px;font-weight:700;display:grid}.global-filter-field select,.global-filter-field .filter-toggle{width:100%;min-height:40px}.global-filter-field small{color:var(--text-secondary);font-size:11px;font-weight:450;line-height:1.4}.global-filter-toggle-field .filter-toggle{justify-content:center}.app-shell .tabs{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.tool-state{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);align-items:center;gap:20px;min-height:180px;padding:28px;display:flex}.tool-state>svg{width:42px;color:var(--accent)}.tool-state>div{flex:1}.tool-state span{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.live-timing-panel{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);overflow:hidden}.live-timing-title{margin:0;padding:16px 20px 0;font-size:16px}.live-timing-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:18px;padding:18px 20px;display:flex}.live-timing-toolbar .eyebrow{letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:800}.live-timing-select-label{color:var(--text-secondary);margin-bottom:6px;font-size:11px;display:block}.live-timing-select{border:1px solid var(--border);background:var(--surface-elevated);min-width:260px;min-height:40px;color:var(--text-primary);font:inherit;border-radius:8px;padding:0 34px 0 11px;font-size:13px}.live-timing-frame-wrap{background:#fff;min-height:580px}.live-timing-frame{background:#fff;border:0;width:100%;height:min(78vh,920px);min-height:580px;display:block}.live-timing-attribution{border-top:1px solid var(--border);color:var(--text-secondary);margin:0;padding:10px 16px;font-size:11px}@media (min-width:1100px){.desktop-sidebar nav a,.sidebar-bottom>a{min-height:42px;font-size:14px}.desktop-sidebar nav a svg,.sidebar-bottom>a svg{flex-basis:18px;width:18px;height:18px}.nav-group>p{font-size:10px}.shell-logo{font-size:15px}.shell-topbar{min-height:70px;padding-inline:28px}.session-launcher span{font-size:14px}.session-launcher small,.data-status{font-size:12px}.topbar-export{min-height:38px;font-size:13px}.standalone-page{width:min(1600px,100%);padding:38px}.page-heading{margin-bottom:28px}.page-heading p{font-size:16px;line-height:1.55}.eyebrow{font-size:11px}.button{min-height:44px;padding-inline:18px;font-size:14px}.section-heading h2{font-size:20px}.section-heading>a{font-size:14px}.session-card-grid{gap:14px}.session-card{gap:16px;padding:18px}.session-card-head,.session-card-meta{font-size:12px}.session-card h3{font-size:19px}.session-card p{font-size:13px;line-height:1.5}.source-badges{gap:6px;min-height:26px}.source-badges span{padding:4px 7px;font-size:11px}.session-open{padding-top:13px;font-size:13px}}.tool-state h2{margin:4px 0}.tool-state p{color:var(--text-secondary);margin:0}.report-workflow{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);gap:14px;margin-bottom:12px;padding:18px;display:grid}.report-workflow-heading{justify-content:space-between;align-items:end;display:flex}.report-workflow-heading h2{margin:3px 0 0;font-size:20px}.report-workflow-heading>span{color:var(--accent);font-family:var(--timing-font);font-size:11px;font-weight:800}.report-steps{grid-template-columns:repeat(5,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.report-steps li{position:relative}.report-steps li:not(:last-child):after{z-index:0;background:var(--border);content:"";height:1px;position:absolute;top:18px;left:18px;right:-18px}.report-steps button{z-index:1;width:100%;color:var(--text-secondary);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:4px;font-size:10px;font-weight:750;display:flex;position:relative}.report-steps b{border:1px solid var(--border);background:var(--surface-elevated);width:28px;height:28px;color:var(--accent);font-family:var(--timing-font);border-radius:50%;flex:0 0 28px;place-items:center;display:grid}.report-presets{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.report-presets button{border:1px solid var(--border);background:var(--surface-muted);min-height:64px;color:var(--text-primary);text-align:left;border-radius:8px;gap:3px;padding:10px;display:grid}.report-presets button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.report-presets strong{font-size:11px}.report-presets span{color:var(--text-secondary);font-size:9px}.report-page-summary{border-top:1px solid var(--border);align-items:center;gap:12px;min-width:0;padding-top:11px;display:flex}.report-page-summary>strong{flex:none;font-size:10px}.report-page-summary ol{gap:5px;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.report-page-summary li{border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:5px;gap:7px;padding:5px 7px;font-size:9px;display:flex}.report-page-summary li b{color:var(--text-primary);font-family:var(--timing-font)}.report-page-summary p{color:var(--text-secondary);margin:0;font-size:10px}.export-section-options{max-height:340px;overflow:auto}.export-section-options label{border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.scroll table thead th,.bop-table-wrap table thead th{z-index:2;background:var(--surface-elevated);position:sticky;top:0}table td,table th,.kpi strong,.replay-clock,.dataset-progress-percent{font-variant-numeric:tabular-nums}table td[data-time],table .time,.delta{font-family:var(--timing-font)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{border-color:var(--border)!important;background-color:var(--surface-muted)!important;color:var(--text-primary)!important}html[data-theme=dark] .panel,html[data-theme=dark] .upload-card,html[data-theme=dark] .native-dataset-picker,html[data-theme=dark] .chart-card{border-color:var(--border);background:var(--surface)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.38}}@media (max-width:1100px){.session-card-grid,.global-filter-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.session-workspace-header{flex-direction:column}.completeness{max-width:none}.completeness>div{justify-content:flex-start}}@media (max-width:760px){.standalone-page{padding:20px 12px}.page-heading{flex-direction:column;align-items:stretch}.heading-actions{grid-template-columns:1fr 1fr;display:grid}.session-card-grid{grid-template-columns:1fr}.session-switcher{flex:1;min-width:0}.session-launcher{width:100%;min-width:0}.shell-topbar .topbar-export,.shell-topbar>a[aria-label=Appearance]{display:none}.mobile-nav>a,.mobile-nav>button{align-content:center;place-items:center;gap:3px;display:grid}.mobile-nav svg{width:18px;height:18px}.mobile-nav .active{color:var(--accent)}.session-workspace-header{padding:16px}.session-facts{grid-template-columns:1fr 1fr;display:grid}.overview-panel-grid{grid-template-columns:1fr}.global-filter-bar{-webkit-backdrop-filter:none;backdrop-filter:none;margin-inline:0;position:relative;top:auto}.global-filter-header{flex-direction:column;align-items:flex-start}.global-filter-summary{flex-direction:column;align-items:flex-start;gap:7px}.global-filter-actions{width:100%}.global-filter-actions button{flex:1}.global-filter-controls{grid-template-columns:1fr}.global-filter-active-list{max-height:92px;overflow:auto}.global-filter-description{font-size:12px}.tool-state{flex-direction:column;align-items:flex-start}.live-timing-toolbar{flex-direction:column;align-items:stretch}.live-timing-select{width:100%;min-width:0}.live-timing-frame-wrap,.live-timing-frame{min-height:70vh}.report-steps{grid-template-columns:1fr;gap:3px}.report-steps li:after{display:none}.report-presets{grid-template-columns:1fr 1fr}.report-page-summary{flex-direction:column;align-items:flex-start}}.page-heading{color:var(--text-primary);background:0 0}.session-workspace-header{background:var(--surface);color:var(--text-primary)}.page-heading .eyebrow,.session-workspace-header .session-eyebrow,.eyebrow{color:var(--accent)}.status{background:var(--surface-muted);color:var(--text-primary)}.dataset-loader-card{color:#f8fafc;background-color:#0b141c}.dataset-progress-meta{color:#a9bbc7}.driver-picker,.car-chart-picker,.soft-panel,.upload-card,.entry-group-card,.driver-card,.driver-row,.run-chip,.replay-stat,.replay-entry,.replay-info,.replay-map-controls,.replay-stage-popover,.modal-card,.bop-detail-cell,.bop-detail-card,.export-entry-row,.export-section-picker,.export-summary div,.chart-event-legend button,.bop-table-wrap thead th,textarea,select,input[type=file],input[type=number],input[type=text]{border-color:var(--border);background:var(--control-background);color:var(--text-primary)}.driver-picker,.car-chart-picker,.soft-panel,.upload-card,.entry-group-card,.driver-card,.driver-row,.replay-stat,.replay-entry,.replay-info,.export-section-picker,.export-summary div{background:var(--surface-subtle)}.run-chip:hover,.chart-event-legend button:hover,.bop-summary-row:hover td{background:var(--control-hover)}.run-chip.is-selected,.driver-row.is-selected,.export-entry-row.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text-primary)}.status.good,.good,.badge.good,.bop-cell-change.good{background:var(--positive-surface);color:var(--positive-text)}.status.error,.bad,.badge.bad,.bop-cell-change.bad{background:var(--negative-surface);color:var(--negative-text)}.warn,.badge.warn,.bop-cell-change.warn{background:var(--warning-surface);color:var(--warning-text)}.export-section-options label{color:var(--text-primary)}.favourite,.favourite.active{color:var(--favourite)}.replay-entry.is-highlighted{background:var(--warning-surface);color:var(--warning-text)}.replay-entry.is-followed,tr.is-highlight td{background:var(--positive-surface);color:var(--text-primary)}.replay-popover-close{background:var(--surface-subtle);color:var(--text-secondary)}.replay-popover-close:hover,.replay-popover-close:focus-visible{background:var(--control-hover);color:var(--text-primary)}button:not([class]){border:1px solid var(--control-border);background:var(--control-background);min-height:36px;color:var(--text-primary);cursor:pointer;border-radius:7px;padding:6px 11px}button:not([class]):hover{border-color:var(--accent);background:var(--control-hover);color:var(--accent-strong)}.secondary-btn,.pill-btn,.icon-btn,.filter-toggle,.filter-reset,.theme-choices button,.chart-panel-actions button,.replay-mini-btn,.topbar-export,.button.secondary{border-color:var(--control-border);background:var(--control-background);color:var(--text-primary)}.secondary-btn:hover,.pill-btn:hover,.icon-btn:hover,.filter-toggle:hover,.filter-reset:hover,.theme-choices button:hover,.chart-panel-actions button:hover,.replay-mini-btn:hover,.topbar-export:hover,.button.secondary:hover{border-color:var(--accent);background:var(--control-hover);color:var(--accent-strong)}.theme-choices button[aria-pressed=true],.filter-toggle.active,.replay-mini-btn[aria-pressed=true]{border-color:var(--control-active);background:var(--control-active);color:var(--control-active-text)}.tab-btn{color:var(--text-secondary)}.tab-btn[aria-selected=true]{border-color:var(--control-active);background:var(--control-active);color:var(--control-active-text);box-shadow:0 2px 8px color-mix(in srgb, var(--control-active) 28%, transparent)}.tab-btn-secondary{color:var(--accent-strong)}.dataset-menu,.dataset-menu li>ul{border-color:var(--control-border);background:var(--control-background)}.dataset-menu button:hover,.dataset-menu li:focus-within>button{background:var(--control-hover);color:var(--accent-strong)}.dataset-picker-primary,.button.primary,.catalogue-feedback button,.startup-error button,.form-card button.primary{border-color:var(--control-active);background:var(--control-active);color:var(--control-active-text)}.dataset-picker-primary:hover,.button.primary:hover,.catalogue-feedback button:hover,.startup-error button:hover,.form-card button.primary:hover{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--control-active-text)}button:disabled,.dataset-picker-primary:disabled{border-color:var(--control-border);background:var(--control-disabled);color:var(--control-disabled-text);cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.shell-logo button,.desktop-sidebar nav button,.mobile-nav>button,.more-sheet button,.user-popover button,.session-launcher,.report-steps button{background:0 0;border:0 #0000;border-radius:0;min-height:0;padding:0}.shell-logo button{color:#94a3b8}.desktop-sidebar nav button,.mobile-nav>button{color:var(--muted)}.more-sheet button,.user-popover button{min-height:38px;color:var(--text-primary);text-align:left;padding:0 10px}.more-sheet-heading button{text-align:center;min-width:40px;padding:0;font-size:24px}.report-steps button{min-height:0;color:var(--text-secondary);text-align:left;padding:4px}.dataset-menu button{min-height:0;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:6px;padding:10px 12px}.chart-series-legend{flex-wrap:wrap;gap:6px;margin:8px 0 12px;padding:4px 0;display:flex}.chart-series-legend[hidden]{display:none}.chart-series-legend button{border-color:var(--border);background:var(--surface);min-height:36px;color:var(--text-primary);padding-inline:10px}.chart-series-legend button[aria-pressed=false]{opacity:.58;background:var(--surface-muted)}.chart-series-legend .key{border:1px solid color-mix(in srgb, var(--text-primary) 25%, transparent);border-radius:50%;flex:none;width:11px;height:11px}.chart-series-legend button:hover{border-color:var(--accent);background:var(--control-hover);color:var(--accent-strong)}.favourite{border-radius:8px;width:40px;height:40px;margin:-8px -8px 0 0}.favourite:hover{background:var(--control-hover)}.source-badges span{font-size:10px}.report-steps button{min-height:44px}.report-presets button{min-height:72px}.theme-choices button{border-color:var(--border);background:var(--surface);min-width:150px;min-height:72px;color:var(--text-primary);text-align:left;text-transform:none;gap:5px;padding:12px 14px;display:grid}.theme-choices button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.theme-choices small{color:var(--text-secondary);font-size:11px;line-height:1.4}.settings-page .panel{max-width:760px}.settings-page .hint{color:var(--text-secondary)}.session-card:focus-within,.button:focus-visible,.filter-toggle:focus-visible,.theme-choices button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.data-status{white-space:nowrap}@media (max-width:760px){.catalogue-feedback.error{flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;min-height:220px}.catalogue-feedback.error>div:last-child{flex-wrap:wrap}.data-status.state-error,.data-status.state-partially-loaded{text-overflow:ellipsis;max-width:90px;margin-left:auto;font-size:9px;display:flex;overflow:hidden}.data-status.state-error i,.data-status.state-partially-loaded i{flex:0 0 7px}.settings-page{padding:20px 12px}.theme-choices{grid-template-columns:1fr;display:grid}.theme-choices button{min-width:0;min-height:60px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
