/* The library and analysis use the same surface tokens in both themes. */
[data-accent-style="frosted"] #product-workspace,[data-theme="dark"][data-accent-style="frosted"] #product-workspace{--accent-glass:var(--surface);--accent-glass-border:var(--line);--accent-glass-edge:transparent;--accent-glass-shadow:0 1px 3px #00000006}
[data-accent-style="frosted"] :is(.session-rail,.summary-strip,.analysis-card,.analysis-disclosure,.chart-card,.sector-cell,.analysis-focus){background:var(--surface);border-color:var(--line);box-shadow:none}
[data-accent-style="frosted"] :is(.section-toolbar,.analysis-disclosure>summary){background:var(--surface);box-shadow:none}
[data-accent-style="frosted"] :is(.opportunity-card,.corner-analysis-card,.corner-table){background:var(--surface)}
[data-accent-style="frosted"] .session-rail{border-radius:0}
[data-accent-style="frosted"] #improvement-analysis>summary{background:linear-gradient(105deg,color-mix(in srgb,var(--secondary) 10%,var(--surface)),var(--surface))}
[data-accent-style="frosted"] .section-label h2{color:var(--ink)}
/* Overview: discrete visual anchors, with a small genuine lap-time rhythm. */
.session-overview{padding:20px 22px}.session-overview-grid{gap:18px 26px}.overview-stat{display:flex;gap:12px;align-items:flex-start;min-width:0}.session-overview-grid .overview-stat>.overview-stat-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--secondary);flex-shrink:0}.overview-stat-icon .icon{width:18px;height:18px}.overview-stat>div>span{font-size:11px;color:var(--secondary);line-height:1.5}.overview-stat strong{font-size:20px;margin:5px 0}.overview-stat:last-child strong{font-size:13px;line-height:1.7}.overview-pace{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;margin-top:23px;padding-top:20px;border-top:1px solid var(--line)}.overview-pace>div>strong,.overview-pace>div>small{display:block}.overview-pace>div>strong{font-size:14px;font-weight:600;margin:7px 0}.overview-pace>div>small{font-size:11px;color:var(--secondary)}.overview-lap-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;max-height:130px;overflow:auto}.overview-lap-bar{display:grid;grid-template-columns:45px minmax(10px,1fr) 66px;gap:10px;align-items:center;font-size:10px;color:var(--secondary)}.overview-lap-bar i{height:5px;width:var(--lap-width);border-radius:2px;background:color-mix(in srgb,var(--secondary) 42%,var(--surface));display:block}.overview-lap-bar b{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}.overview-lap-bar.best i{background:var(--gain)}.overview-lap-bar.best b{color:var(--gain)}.session-overview-note{margin-top:16px;font-size:11px}
/* Tools stay beside the views they control. */
.section-toolbar{flex-wrap:wrap;gap:10px}.map-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.map-toolbar-actions #focus-view{min-height:32px;padding:6px 9px;font-size:11px}.map-toolbar-actions #focus-view .icon{width:14px;height:14px}.line-view-toggle{min-height:32px!important;font-size:11px!important;gap:6px;padding:6px 9px!important}.line-view-toggle[aria-pressed=true]{background:var(--surface-alt);border-color:var(--secondary);box-shadow:inset 0 -2px var(--red)}.heat-lap-controls{display:flex;border:1px solid var(--line);padding:2px;border-radius:6px;background:var(--surface-alt)}.heat-lap-controls button{font-size:10px;border-radius:4px;padding:5px 8px;min-height:25px}.heat-lap-controls [aria-pressed=true]{background:var(--surface);box-shadow:0 1px 3px #0002;font-weight:650}.focus-view #focus-view{display:none}
/* Clearly separated views and a denser consistency workspace. */
.advanced-tabs{gap:7px;padding:10px 16px;background:var(--surface-alt)}.advanced-tabs button{padding:9px 15px;min-height:38px;border:1px solid transparent;border-radius:7px;color:var(--secondary);gap:8px}.advanced-tabs button[aria-selected=true]{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:0 2px 5px #0000000d;font-weight:650}.advanced-tabs button[aria-selected=true]>span{color:var(--red)}.advanced-tabs button>span{font-size:17px;line-height:1}.advanced-tabs button:not([aria-selected=true]):hover{background:color-mix(in srgb,var(--surface) 60%,transparent)}
.consistency-heading{margin:0 0 12px;gap:15px}.consistency-heading h3{font-size:17px;margin:0 0 5px;letter-spacing:-.3px}.consistency-trend{font-size:12px;margin-bottom:3px;line-height:1.5}.consistency-heading small{font-size:10px}.data-provenance{font-size:10px;padding:4px 7px}.consistency-kpis{gap:8px}.consistency-kpis>div{padding:10px 13px;background:var(--surface-alt);border-color:transparent;border-radius:7px}.consistency-kpis strong{font-size:21px;margin:4px 0;letter-spacing:-.5px}.consistency-kpis strong small{font-size:12px}.consistency-kpis span,.consistency-kpis small{font-size:10px}.progression-chart{margin-top:10px;border-radius:7px}.progression-chart-top{padding:10px 13px 1px;font-size:11px}.progression-chart-top span{font-size:10px}.progression-scroll svg{height:145px;max-height:145px}.progression-point text{font-size:10px}.consistency-insights{gap:14px;padding:12px 0}.consistency-insights strong{font-size:14px;margin:4px 0}.consistency-insights span,.consistency-insights small{font-size:10px}.consistency-insights .text-button{font-size:10px;padding:2px 0}.consistency-controls{margin:13px 0 10px;gap:10px}.consistency-controls label{font-size:11px}.consistency-controls>span{font-size:10px}.consistency-controls select{font-size:11px;padding:6px}.consistency-table th,.consistency-table td{padding:4px 5px;min-width:72px}.consistency-table thead th{padding:9px 5px;font-size:11px}.consistency-table th:first-child{min-width:152px;padding:5px 10px}.consistency-table small{margin-top:3px;font-size:9px}.consistency-table th>button{font-size:11px;padding:3px 0 5px}.consistency-table .consistency-cell{padding:7px 5px;background:transparent}.consistency-cell strong{font-size:12px}.consistency-cell.is-best{color:var(--gain);background:color-mix(in srgb,var(--gain) 10%,transparent)!important}.consistency-cell.is-worst{color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent)!important}.consistency-cell.is-worst small{color:var(--red)}.consistency-table .excluded .consistency-cell{background:transparent!important}.consistency-status-picker{display:flex;position:relative;align-items:center;max-width:128px}.consistency-table .consistency-status-picker select{appearance:none;max-width:none;border:1px solid color-mix(in srgb,var(--secondary) 40%,var(--line));background:var(--surface-alt);border-radius:5px;color:var(--ink);font-size:11px;padding:5px 24px 5px 9px;min-height:30px;line-height:18px}.consistency-status-picker>span{position:absolute;right:8px;pointer-events:none;color:var(--secondary);font-size:13px}.consistency-table .excluded .consistency-status-picker{opacity:1}.consistency-method{margin-top:13px;font-size:11px}.quality-note{color:var(--secondary);background:var(--surface-alt);padding:8px 10px;border-radius:5px}
@media(max-width:1050px){.map-toolbar-actions{gap:5px}.map-view-switch button{padding:6px 8px}.consistency-kpis>div{padding:9px}}
@media(max-width:760px){.session-overview-grid{gap:18px 12px}.overview-stat{gap:8px}.session-overview-grid .overview-stat>.overview-stat-icon{width:28px;height:28px;border-radius:7px}.overview-stat-icon .icon{width:15px;height:15px}.overview-stat strong{font-size:17px}.overview-pace{grid-template-columns:1fr;gap:12px}.overview-lap-bars{gap:8px 16px}.advanced-tabs{padding:9px 10px;gap:5px}.advanced-tabs button{font-size:11px;padding:8px 10px}.consistency-heading{flex-direction:row;flex-wrap:wrap;gap:8px}.consistency-insights{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.consistency-insights>div{padding:0 8px 0 0;border:0}.consistency-insights strong{font-size:12px}.consistency-insights strong small{font-size:11px;margin-left:0;display:block}.map-toolbar-actions{justify-content:flex-start;width:100%}.map-toolbar-actions .map-view-switch{margin-left:auto}.map-toolbar-actions #focus-view{font-size:10px;padding:6px}.section-toolbar{padding:10px 12px}.line-view-toggle .icon{display:none}.map-view-switch button{font-size:10px;padding:6px}.progression-chart-top{flex-wrap:wrap;gap:3px}.consistency-controls>span{width:auto}.overview-lap-bars{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.advanced-tabs button{transition:none}}
/* Allow scrollable data tables to shrink inside the outer CSS grid. */
.app-shell>main{min-width:0;max-width:100%}.analysis-disclosure-body,.progression-chart,.consistency-table-scroll,.corner-table-scroll{min-width:0}.csv-session-label,#csv-session-label{min-width:0;overflow-wrap:anywhere}
@media(max-width:850px){.app-shell{grid-template-columns:minmax(0,1fr)}}
