/* Session library: quiet rows, immediate overview, deliberate entry to analysis. */
.session-library{max-width:1580px;margin:0 auto;padding:42px 40px 64px;color:var(--ink)}
.library-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.library-heading h1{font-size:34px;letter-spacing:-1px;margin:7px 0 10px}.library-heading p{font-size:14px;color:var(--secondary);margin:0}.library-heading .eyebrow{font-size:10px;letter-spacing:1.8px}.library-actions{display:flex;gap:9px}.library-actions .button{min-height:42px}
.library-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:24px}.library-tabs button{font-size:15px;padding:13px 2px;border-bottom:2px solid transparent;border-radius:0;color:var(--secondary);gap:9px}.library-tabs button[aria-selected=true]{border-color:var(--red);color:var(--ink);font-weight:650}.library-tabs button span{background:var(--surface-alt);padding:2px 7px;border-radius:5px;font-size:11px}
.library-filters{display:grid;grid-template-columns:1.4fr repeat(3,minmax(140px,1fr));gap:14px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.library-filters label,.library-result-toolbar>label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--secondary)}.library-filters input,.library-filters select,.library-result-toolbar select{min-width:0;width:100%;height:38px;background:var(--canvas);border:1px solid var(--line);border-radius:7px;color:var(--ink);padding:7px 10px;font:inherit;font-size:13px;color-scheme:light dark}
[data-theme=light] .library-filters input,[data-theme=light] .library-filters select,[data-theme=light] .library-result-toolbar select{color-scheme:light}[data-theme=dark] .library-filters input,[data-theme=dark] .library-filters select,[data-theme=dark] .library-result-toolbar select{color-scheme:dark}
.library-result-toolbar{display:flex;align-items:center;gap:18px;padding:20px 0 14px;flex-wrap:wrap;font-size:12px;color:var(--secondary)}.library-result-toolbar>label{flex-direction:row;align-items:center;white-space:nowrap}.library-result-toolbar>label:last-child{margin-left:auto}.library-result-toolbar select{width:auto;height:34px}.library-favorites input{accent-color:var(--red)}.text-button{font-size:12px;font-weight:550;color:var(--ink);text-decoration:underline;text-underline-offset:4px;padding:5px 0}.text-button:hover{color:var(--red)}
.session-library-row{background:var(--surface);border:1px solid var(--line);border-radius:11px;margin:10px 0;overflow:hidden;transition:border-color .15s}.session-library-row:has([aria-expanded=true]){border-color:color-mix(in srgb,var(--secondary) 50%,var(--line))}.session-row-main{display:grid;grid-template-columns:32px 135px minmax(150px,1fr) 160px auto;gap:18px;align-items:center;padding:22px 20px}.session-favorite{color:var(--muted);font-size:25px;width:30px;min-height:38px}.session-favorite[aria-pressed=true]{color:var(--red)}.session-date strong{font-size:13px;font-weight:550;display:block}.session-date small,.session-identity small,.session-identity>span{display:block;font-size:12px;color:var(--secondary);line-height:1.6;margin-top:5px}.session-identity h2{font-size:18px;letter-spacing:-.3px;margin:0}.session-row-pace strong{display:block;font-size:23px;font-weight:650;font-variant-numeric:tabular-nums;margin:5px 0}.session-row-pace>span,.session-row-pace>small{font-size:11px;color:var(--secondary)}.session-row-actions{display:flex;align-items:center;gap:8px}.session-row-actions .button{min-height:39px;font-size:12px}.session-source{font-size:9px;color:var(--muted);letter-spacing:1px;margin-right:6px}.session-overview{border-top:1px solid var(--line);padding:22px;background:color-mix(in srgb,var(--canvas) 68%,var(--surface))}.session-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 30px}.session-overview-grid>div>span,.session-overview-grid small{display:block;font-size:11px;color:var(--secondary);line-height:1.5}.session-overview-grid strong{font-size:20px;display:block;margin:8px 0;font-weight:600;font-variant-numeric:tabular-nums}.session-overview-grid>div:last-child strong{font-size:14px;line-height:1.6}.session-overview-note,.session-overview-notes{font-size:12px;line-height:1.65;color:var(--secondary);margin:20px 0 0}.session-overview-notes b{color:var(--ink);margin-right:12px}.library-footer{display:flex;justify-content:space-between;gap:20px;padding:15px 0;font-size:11px;line-height:1.6;color:var(--muted)}.library-empty{text-align:center;padding:65px 20px;border:1px dashed var(--line);border-radius:12px;color:var(--secondary)}.library-empty h2{color:var(--ink);font-size:22px}.library-empty>.icon,.library-empty>span>.icon{width:36px;height:36px}.library-empty p{font-size:14px;margin:12px 0 24px}.library-empty .button{margin:auto}
/* Advanced tabs preserve the corner review, with a measured progression view. */
.advanced-tabs{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 18px}.advanced-tabs button{padding:15px 0;border-bottom:2px solid transparent;border-radius:0;color:var(--secondary);font-size:13px}.advanced-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--red);font-weight:600}
.consistency-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:6px 0 22px}.consistency-heading h3{font-size:21px;margin:0 0 13px;letter-spacing:-.4px}.consistency-trend{font-size:14px;color:var(--ink);margin:0 0 7px}.consistency-trend.is-faster{color:var(--gain)}.consistency-heading small,.data-provenance{font-size:11px;color:var(--secondary);line-height:1.6}.data-provenance{border:1px solid var(--line);padding:5px 9px;border-radius:5px;white-space:nowrap}.consistency-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.consistency-kpis>div{border:1px solid var(--line);border-radius:9px;padding:16px;background:var(--surface)}.consistency-kpis span,.consistency-kpis small{display:block;color:var(--secondary);font-size:11px;line-height:1.5}.consistency-kpis strong{display:block;font-size:24px;font-variant-numeric:tabular-nums;margin:9px 0;font-weight:600}.consistency-kpis strong small{display:inline;font-size:14px}
.progression-chart{border:1px solid var(--line);border-radius:9px;margin-top:15px;background:var(--surface);overflow:hidden}.progression-chart-top{display:flex;justify-content:space-between;padding:15px 18px;font-size:12px;gap:10px}.progression-chart-top span{color:var(--secondary);font-size:11px}.progression-scroll{overflow-x:auto;max-width:100%}.progression-scroll svg{display:block;width:100%;height:auto;max-height:250px}.progression-baseline{stroke:var(--line)}.progression-line{fill:none;stroke:var(--blue);stroke-width:2}.progression-median{stroke:var(--muted);stroke-dasharray:4 5;opacity:.5}.progression-median-label{fill:var(--muted);font-size:10px}.progression-point{cursor:pointer;outline:none}.progression-point circle{fill:var(--surface);stroke:var(--blue);stroke-width:2}.progression-point .progression-hit{fill:transparent;stroke:none}.progression-point.selected circle:not(.progression-hit){fill:var(--blue)}.progression-point text{fill:var(--secondary);font:11px Inter,sans-serif}.progression-point.selected text{fill:var(--ink);font-weight:650}.progression-point.excluded{opacity:.4}.progression-point.excluded circle:not(.progression-hit){stroke:var(--muted);stroke-dasharray:2 2}.progression-point:focus circle:not(.progression-hit),.progression-point:hover circle:not(.progression-hit){stroke:var(--red);stroke-width:4}
.consistency-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.consistency-insights>div{border-right:1px solid var(--line);padding-right:16px}.consistency-insights>div:last-child{border:0}.consistency-insights span,.consistency-insights small{display:block;font-size:11px;color:var(--secondary);line-height:1.5}.consistency-insights strong{display:block;font-size:16px;margin:8px 0;font-weight:600}.consistency-insights strong small{display:inline;font-size:14px;margin-left:8px}.consistency-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0 13px}.consistency-controls label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--secondary)}.consistency-controls select,.consistency-table select{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:7px;font-size:12px}.consistency-controls input{accent-color:var(--red)}.consistency-controls>span{font-size:11px;margin-left:auto;color:var(--secondary)}
.consistency-table-scroll{max-height:620px;overflow:auto;border:1px solid var(--line);border-radius:9px;isolation:isolate}.consistency-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;background:var(--surface);font-variant-numeric:tabular-nums}.consistency-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.consistency-table th,.consistency-table td{padding:9px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;text-align:center;min-width:84px}.consistency-table th:first-child{position:sticky;left:0;z-index:2;background:var(--surface);min-width:145px;text-align:left;padding-left:14px}.consistency-table thead th{position:sticky;top:0;z-index:3;background:var(--surface-alt);font-size:12px;font-weight:600;padding:12px 8px}.consistency-table thead th:first-child{z-index:4;background:var(--surface-alt)}.consistency-table small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:var(--secondary)}.consistency-table th>button{font-size:12px;font-weight:600;padding:6px 0;display:block}.consistency-table td>button:not(.consistency-cell){font-size:12px;padding:10px}.consistency-table select{max-width:120px;font-size:10px;padding:4px 6px;min-height:27px;width:100%}.consistency-table .consistency-cell{display:block;width:100%;padding:9px 5px;border-radius:5px;background:color-mix(in srgb,var(--red) calc(var(--cell-heat) * 100%),transparent)}.consistency-cell strong{font-size:13px;font-weight:550}.consistency-cell.is-best{color:var(--gain);background:color-mix(in srgb,var(--gain) 8%,transparent)!important}.consistency-cell.is-best small{color:var(--gain)}.consistency-cell:hover{outline:1px solid var(--blue)}.consistency-table .excluded td,.consistency-table .excluded th>button{opacity:.4}.consistency-table .selected th:first-child{box-shadow:inset 3px 0 var(--blue)}.consistency-table tfoot th,.consistency-table tfoot td{background:var(--surface-alt);font-size:11px}.consistency-unavailable{color:var(--muted);white-space:normal!important;max-width:140px}.consistency-method{margin:18px 0 2px;font-size:12px;line-height:1.7;color:var(--secondary)}.consistency-method summary{cursor:pointer;font-weight:550}.consistency-empty{padding:25px;background:var(--surface);border:1px dashed var(--line);border-radius:9px;font-size:13px;line-height:1.6}
/* Focus view changes only presentation; the same map/video/chart nodes stay linked. */
.focus-view{--development-toolbar-height:0px!important;padding-top:0!important}.focus-view .development-toolbar,.focus-view .global-nav,.focus-view .session-rail,.focus-view .workspace-heading,.focus-view .summary-strip,.focus-view .csv-session-bar,.focus-view .analysis-insights,.focus-view .sector-summary,.focus-view .custom-sector-summary,.focus-view .workspace-footer{display:none!important}.focus-view .app-shell{display:block!important}.focus-view main{max-width:none;width:100%;padding:12px 20px 18px!important;margin:0}.focus-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px}.focus-bar>strong{font-size:14px;font-weight:550}.focus-bar>div{display:flex;gap:8px}.focus-view .analysis-card{margin:0}.focus-view .section-toolbar{padding:8px 14px;min-height:40px}.focus-view .lap-distances{padding-bottom:8px}.focus-view .map-wrap:not(.expanded){height:clamp(280px,calc(100dvh - 500px),650px);min-height:0}.focus-view .playback-bar{padding:8px 15px;min-height:48px}.focus-view .telemetry-section{margin-top:12px}.focus-view .telemetry-header{margin-bottom:8px}.focus-view .chart-card{margin:0}.focus-view #graphs{display:grid!important;grid-template-columns:repeat(var(--focus-count,1),minmax(0,1fr));gap:10px}.focus-view #graphs[data-count="2"]{--focus-count:2}.focus-view #graphs[data-count="3"]{--focus-count:3}.focus-view .chart-card .telemetry-chart{height:165px}.focus-view #create-sector{display:none!important}.focus-view .map-wrap.expanded{inset:12px}.focus-view .graph-workspace{margin:0}.focus-view .lap-video-card{min-height:0}
@media(min-width:1100px){
 .focus-view .map-video-row.has-video{--focus-media-height:clamp(280px,calc(100dvh - 500px),650px);display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:var(--focus-media-height)}
 .focus-view .has-video>.video-panel:not(.video-expanded),.focus-view .has-video>.video-panel:not(.video-expanded)>.video-cards{display:contents}
 .focus-view .has-video>.video-panel:not(.video-expanded) .lap-video-card{height:var(--focus-media-height);grid-column:2;grid-row:1;margin:0;min-height:0}
 .focus-view .has-video .map-wrap{grid-column:1;grid-row:1;height:var(--focus-media-height)!important}
 .focus-view .has-video>.video-panel:not(.video-expanded) .video-frame{height:100%;min-height:0;max-height:none;aspect-ratio:auto}
 .focus-view .comparison-video{grid-template-rows:repeat(2,calc(var(--focus-media-height) / 2))!important;grid-template-columns:1.4fr 1fr!important}
 .focus-view .comparison-video .map-wrap{grid-column:1;grid-row:1/3}
 .focus-view .comparison-video>.video-panel:not(.video-expanded) .lap-video-card{height:calc(var(--focus-media-height) / 2);grid-column:2!important}
 .focus-view .comparison-video>.video-panel:not(.video-expanded) [data-video-slot="a"]{grid-row:1!important}
 .focus-view .comparison-video>.video-panel:not(.video-expanded) [data-video-slot="b"]{grid-row:2!important}
 .focus-view .comparison-video .video-empty{padding:8px;min-height:0}.focus-view .comparison-video .video-empty-icon{display:none}.focus-view .comparison-video .video-empty h4{margin:7px}
}
@media(min-width:1800px){
 .focus-view .map-video-row.comparison-video{grid-template-columns:1fr 1.65fr 1fr!important;grid-template-rows:var(--focus-media-height)!important}
 .focus-view .comparison-video .map-wrap{grid-column:2;grid-row:1}
 .focus-view .comparison-video>.video-panel:not(.video-expanded) .lap-video-card{height:var(--focus-media-height);grid-row:1!important}
 .focus-view .comparison-video>.video-panel:not(.video-expanded) [data-video-slot="a"]{grid-column:1!important}
 .focus-view .comparison-video>.video-panel:not(.video-expanded) [data-video-slot="b"]{grid-column:3!important;grid-row:1!important}
}
.focus-view .video-panel:not(.video-expanded) .video-panel-tools{display:none}
@media(max-width:1100px){.session-row-main{grid-template-columns:28px 115px minmax(180px,1fr) 145px;gap:12px}.session-row-actions{grid-column:3/5;justify-content:flex-end}.library-actions{flex-direction:column}.focus-view .has-video .map-wrap:not(.expanded){height:380px}.focus-view .video-panel:not(.video-expanded) .video-frame{height:240px}.focus-view .video-panel:not(.video-expanded){margin-top:8px}.focus-view main{padding:12px!important}}
@media(max-width:760px){.session-library{padding:26px 16px 40px}.library-heading{align-items:flex-start}.library-heading h1{font-size:28px}.library-heading p{max-width:230px;line-height:1.6}.library-actions .button{font-size:11px;padding:9px}.library-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:12px}.session-row-main{grid-template-columns:24px 1fr auto;padding:16px 12px;gap:13px}.session-date{grid-column:2;display:flex;gap:8px;align-items:center}.session-date small{margin:0}.session-identity{grid-column:2;grid-row:2}.session-row-pace{grid-column:3;grid-row:2;text-align:right}.session-row-pace strong{font-size:20px}.session-row-pace>span{display:block;max-width:105px;line-height:1.5}.session-row-actions{grid-column:2/4}.session-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.session-overview-grid strong{font-size:17px}.library-footer{flex-direction:column}.library-result-toolbar{gap:12px}.consistency-heading{flex-direction:column;gap:10px}.consistency-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.consistency-insights{grid-template-columns:1fr;gap:13px}.consistency-insights>div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:12px}.advanced-tabs{gap:20px;padding:0 13px}.advanced-tabs button{font-size:12px}.consistency-controls>span{margin-left:0;width:100%}.consistency-kpis strong{font-size:21px}.focus-bar{align-items:flex-start}.focus-bar>strong{max-width:145px;font-size:12px;line-height:1.5}.focus-bar>div{flex-wrap:wrap;justify-content:flex-end}.focus-bar .button{font-size:11px;padding:7px}.focus-view #graphs{display:block!important}.focus-view .chart-card{margin-bottom:10px}.focus-view .map-wrap:not(.expanded){height:430px!important}}
@media(prefers-reduced-motion:reduce){.session-library-row{transition:none}}

.observed-map-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 18px 12px;border-bottom:1px solid var(--line);font-size:12px}.observed-map-tools>span{font-weight:600}.observed-map-tools small{display:block;font-size:10px;font-weight:400;color:var(--secondary);margin-top:4px}.observed-map-tools>div{display:flex;align-items:center;gap:4px}.observed-map-tools button{min-width:33px;min-height:32px;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:15px}.observed-map-tools button:last-child{font-size:12px;padding:0 10px}.observed-map-tools button:disabled{opacity:.3;cursor:default}.observed-map-tools output{width:42px;text-align:center;font-size:11px;color:var(--secondary)}.observed-circuit{touch-action:pan-y}.observed-circuit.zoomed{cursor:grab;touch-action:none}.observed-circuit.zoomed:active{cursor:grabbing}.observed-circuit:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.observed-corner-label{pointer-events:none}.observed-corner-label path{stroke:var(--secondary);stroke-width:1;stroke-dasharray:3 3;opacity:.7;vector-effect:non-scaling-stroke}.observed-corner-label circle{fill:var(--surface);stroke:var(--secondary);stroke-width:1.5}.observed-corner-label rect{fill:var(--surface);stroke:var(--line);stroke-width:1}.observed-corner-label text{fill:var(--ink);font-size:12px;font-weight:650;font-family:Inter,sans-serif}
/* Keep compact-screen Focus controls outside the trace and graph plotting areas. */
.focus-view .lap-distances{display:none}.focus-view .chart-readouts{display:none}.focus-view .chart-head{flex-wrap:nowrap!important;gap:7px;min-height:32px}.focus-view .metric-select{max-width:calc(100% - 64px)}.focus-view .chart-head .metric-help{display:none}.focus-view .close-chart{margin-left:auto}.focus-view .map-wrap:not(.expanded) .map-telemetry{top:65px!important;left:16px!important;right:auto!important;width:184px!important;display:block!important;padding:8px 10px!important}.focus-view .map-wrap:not(.expanded) .map-telemetry .map-data-head{grid-template-columns:46px 46px;justify-content:end;gap:7px;margin-bottom:6px;padding-bottom:5px;min-height:18px}.focus-view .map-wrap:not(.expanded) .map-telemetry .map-data-row{display:grid;grid-template-columns:58px 46px 46px;align-items:center;gap:3px 7px;margin-bottom:5px}.focus-view .map-wrap:not(.expanded) .map-telemetry .map-data-label{grid-column:auto;display:block;margin:0;font-size:9px;line-height:1.15}.focus-view .map-wrap:not(.expanded) .map-data-label small{display:block;float:none;font-size:8px;margin-top:2px}.focus-view .map-wrap:not(.expanded) .map-telemetry .map-data-row strong{font-size:16px}.focus-view .map-wrap:not(.expanded) .map-attribution{left:auto;right:85px;bottom:55px;font-size:8px}.focus-view .map-wrap:not(.expanded) .map-data-row:last-child{margin-bottom:0}
@media(max-width:700px){.focus-view .map-wrap:not(.expanded) .map-telemetry.comparison-values{top:120px!important}.focus-view .map-wrap:not(.expanded) .map-attribution{right:16px;bottom:140px}}

@media(min-width:761px){.focus-view .chart-card{padding-top:8px;padding-bottom:4px}.focus-view #graph-navigation{min-height:28px;padding-top:3px;padding-bottom:3px}.focus-view .map-wrap:not(.expanded) .map-controls{top:56px;gap:3px}.focus-view .map-wrap:not(.expanded) .map-controls .map-small{width:28px;height:26px;min-height:26px;padding:3px}.focus-view .map-wrap:not(.expanded) .map-controls>span{height:3px}.focus-view .map-wrap:not(.expanded) .map-controls .icon{width:14px;height:14px}}

@media(min-width:761px) and (max-width:1099px){.focus-view #graphs[data-count="3"]{--focus-count:2}}
