/* styles.css */
:root{--red:#e72e40;--ink:#1c252d;--muted:#7b858e;--line:#e7eaed;--blue:#4389ed;--compare:#f46561;--canvas:#f6f8f9;--radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--canvas);font-size:14px}button,input,select{font:inherit}button,a,select,input[type=range],input[type=checkbox]{cursor:pointer}button{color:inherit}button{background:none;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #86b6ff;outline-offset:3px}svg.icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .16s,border-color .16s}button:hover{background:#edf0f3}.global-nav{height:76px;display:flex;align-items:center;gap:24px;padding:0 30px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;gap:9px;align-items:center;font-size:18px;letter-spacing:3px;font-weight:750}.brand svg{width:38px;height:32px;stroke:var(--red);stroke-width:6;fill:none}.brand-light{font-weight:450}.nav-divider{width:1px;height:23px;background:var(--line)}.product-name{font-weight:550;font-size:15px;letter-spacing:-.2px}.global-nav nav{display:flex;align-self:stretch;gap:20px;margin-left:28px}.global-nav nav button{border-bottom:2px solid transparent;padding:0 4px;font-size:14px;color:#707a82;border-radius:0}.global-nav nav button.nav-current{border-bottom-color:var(--red);color:var(--ink)}.demo-badge{margin-left:auto;color:#818b92;font-size:11px;letter-spacing:1.6px;font-weight:650;white-space:nowrap}.app-shell{display:grid;grid-template-columns:222px minmax(0,1fr)}.session-rail{background:#fff;border-right:1px solid var(--line);padding:27px 16px;display:flex;flex-direction:column;min-height:calc(100vh - 76px)}.back-button{justify-content:flex-start;width:100%;padding:9px 11px;margin-bottom:25px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:14px;font-weight:550}.back-button .icon:last-child{margin-left:auto;width:15px}.rail-track{padding:0 10px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;color:#919aa1}.rail-track h2{font-size:16px;margin:12px 0 6px;letter-spacing:-.3px}.rail-track p{color:var(--muted);font-size:12px;margin:0 0 28px}.rail-label{display:flex;justify-content:space-between;padding:0 11px 13px;color:#818a91;font-size:12px}.lap-row{display:flex;align-items:center;gap:10px;width:100%;padding:14px 11px;margin-bottom:5px;border:1px solid transparent;border-radius:8px;text-align:left}.lap-row.selected{background:#edf4fe;border-color:#dbe8fc}.lap-number{border:1px solid #e2e6ea;border-radius:5px;width:27px;height:27px;display:grid;place-items:center;font-size:12px;color:#7e8993;background:#fff}.lap-row.selected .lap-number{border-color:#bad5fa;color:var(--blue)}.lap-main{display:flex;flex-direction:column;gap:3px}.lap-main strong{font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}.lap-main span{font-size:10px;letter-spacing:.6px;color:#94a0ac}.lap-row .lap-delta{margin-left:auto;color:#96a0a7;font-size:11px;font-variant-numeric:tabular-nums}.lap-row.selected .lap-delta{color:var(--blue)}.lap-best{color:var(--blue)!important}.rail-foot{margin-top:auto;display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--line);padding:19px 8px 0;color:#99a2aa}.rail-foot .icon{width:14px;margin-top:2px}.rail-foot p{font-size:12px;line-height:1.6;margin:0}main{max-width:1800px;width:100%;padding:28px 32px 0;margin:auto}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.breadcrumb{font-size:12px;color:#8e979e;margin-bottom:9px}.breadcrumb span{padding:0 10px;color:#bac1c6}h1{font-size:29px;font-weight:650;letter-spacing:-1px;margin:0 0 8px}.track-country{vertical-align:middle;font-size:10px;letter-spacing:1px;border:1px solid #dfe4e7;border-radius:4px;padding:3px 5px;margin-left:7px;color:#849097;font-weight:550}.workspace-heading p{color:#8a949d;font-size:12px;margin:0}.workspace-heading p span{margin:0 6px;color:#b6bfc6}.header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.button{background:#fff;border:1px solid #dfe4e8;padding:10px 13px;border-radius:7px;min-height:40px;font-size:13px;font-weight:550;white-space:nowrap;box-shadow:0 1px 2px #1c252d03}.button:hover{background:#f2f5f7;border-color:#bac6cf}.button.primary,.button.engaged{background:var(--red);color:#fff;border-color:var(--red)}.button.engaged:hover{background:#d92839}.button.icon-only{width:40px;padding:8px}.button.small{min-height:33px;padding:7px 10px;font-size:12px}.summary-strip{display:grid;grid-template-columns:1.13fr 1.2fr 1fr 1fr 1.1fr;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 0;margin-bottom:22px;box-shadow:0 2px 3px #13192002}.summary-strip>div{padding:0 24px;border-right:1px solid var(--line)}.summary-strip>div:last-child{border:0}.metric-label{color:#8a949d;font-size:12px;display:flex;gap:5px;align-items:center;white-space:nowrap}.metric-label .icon{width:12px;height:12px}.summary-strip strong{display:flex;align-items:center;gap:7px;font-size:24px;font-weight:600;letter-spacing:-.7px;font-variant-numeric:tabular-nums;margin-top:8px;white-space:nowrap}.summary-strip strong small{font-size:12px;font-weight:450;color:#929da5;letter-spacing:0}.summary-strip .best-pill{font-size:9px;color:#3880de;background:#eff5fe;border-radius:3px;padding:4px;font-weight:600}.summary-strip .weather-summary{display:flex;align-items:center;gap:14px}.weather-summary>.icon{color:#87949c;width:26px;height:26px}.analysis-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 3px 8px #13192003}.section-toolbar{display:flex;justify-content:space-between;align-items:center;padding:13px 18px}.section-label{display:flex;align-items:center;gap:9px;color:#929ba3;font-size:12px}.section-label>.icon{width:16px;height:16px;color:#56636f}.section-label h2{font-size:14px;color:#34414c;font-weight:600;margin:0}.quiet-separator{height:14px;width:1px;background:#dfe4e8;margin:0 4px}.map-view-switch{display:flex;gap:3px}.map-view-switch button{border-radius:5px;padding:6px 11px;color:#87949e;font-size:12px}.map-view-switch button.selected{background:#edf1f4;color:#33434f;font-weight:550}.map-wrap{background:#151d23;position:relative;height:365px;overflow:hidden;flex:1;min-width:0}.map-video-row{display:flex}.map-top{position:absolute;left:20px;right:16px;top:16px;display:flex;justify-content:space-between;z-index:3;pointer-events:none}.map-top>*{pointer-events:auto}.lap-chips{display:flex;gap:8px}.lap-chip{display:flex;align-items:center;gap:7px;background:#202c34d9;border:1px solid #36434c;border-radius:6px;padding:8px 10px;font-size:11px;color:#e1e7ec}.lap-chip i{width:6px;height:6px;border-radius:50%;background:var(--blue)}.lap-chip b{font-variant-numeric:tabular-nums;font-weight:500;margin-left:9px}.lap-chip.red i{background:var(--compare)}#map-stage,#circuit-svg{width:100%;height:100%;display:block}#map-stage{cursor:grab;touch-action:none}#map-stage:active{cursor:grabbing}#track-road{stroke:#444f55;stroke-width:13;fill:none;stroke-linecap:round;stroke-linejoin:round}#track-line-a{stroke:#61a5ff;stroke-width:2;fill:none;stroke-linejoin:round}.map-telemetry{position:absolute;left:20px;top:77px;pointer-events:none}.map-telemetry>div{margin-bottom:20px}.map-telemetry span{display:block;font-size:10px;color:#85939e}.map-telemetry strong{display:block;font-size:21px;color:#e7edf1;font-weight:500;letter-spacing:-.3px;margin-top:3px;font-variant-numeric:tabular-nums}.map-telemetry strong small{font-size:10px;color:#7d8d99;margin-left:6px;font-weight:400;letter-spacing:0}.map-controls{display:flex;flex-direction:column;gap:4px;position:absolute;right:16px;top:66px}.map-small{border:1px solid #3a464d;border-radius:5px;width:31px;height:30px;background:#202b33cf;color:#bac7cf;font-size:21px}.map-small:hover{background:#3c4a56}.map-small .icon{width:15px;height:15px}#map-north{height:40px;flex-direction:column;gap:1px;font-size:12px}#bearing-label{font-size:8px;color:#9eadb7}.map-controls>span{height:4px}.map-bottom{display:flex;justify-content:space-between;position:absolute;bottom:13px;left:20px;right:18px;align-items:center;font-size:10px;color:#81929e}.map-bottom label{display:flex;align-items:center;gap:5px}.map-bottom input{accent-color:#6d9cbe;width:11px;height:11px}.playback-bar{display:flex;align-items:center;gap:15px;padding:11px 19px;font-size:12px;color:#82909a}.play-button{background:#f1f5f8;border:1px solid #e6ebef;border-radius:50%;width:29px;height:29px;color:#435464}.play-button .icon{width:12px;height:12px}#play-time{font-variant-numeric:tabular-nums;color:#364956;min-width:49px}input[type=range]{accent-color:var(--blue);height:4px}#lap-position{flex:1;min-width:20px}.play-duration{font-variant-numeric:tabular-nums}.playback-bar select,.telemetry-actions select{border:0;color:#63737f;background:transparent;font-size:12px}.linked-label{display:flex;align-items:center;gap:5px;color:#9aa6af;font-size:11px;margin-left:7px;white-space:nowrap}.linked-label .icon{width:14px;height:14px}.telemetry-section{margin-top:23px}.telemetry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;gap:8px}.telemetry-actions{display:flex;gap:12px;align-items:center}.segmented{display:flex;background:#e9eef1;border-radius:6px;padding:3px}.segmented button{padding:5px 10px;font-size:11px;color:#85939d;border-radius:4px}.segmented button.active{background:white;color:#435360;box-shadow:0 1px 3px #1b354014}.chart-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px 8px;margin-bottom:10px;overflow:hidden}.chart-head{display:flex;align-items:center;gap:10px;margin-bottom:7px;min-height:27px}.chart-head h3{font-size:13px;margin:0;font-weight:600}.chart-head small{font-size:10px;color:#9aa6ae;font-weight:450;margin-left:5px}.chart-value{font-variant-numeric:tabular-nums;font-size:13px;font-weight:550;margin-left:auto}.blue-text{color:var(--blue)}.telemetry-chart{width:100%;height:132px;display:block;overflow:visible;touch-action:none}.workspace-footer{display:flex;justify-content:space-between;align-items:center;color:#a2aeb6;font-size:10px;margin-top:26px;padding:18px 0;border-top:1px solid #e9edf0}.workspace-footer>span:first-child{font-size:8px;letter-spacing:1.6px;display:flex;gap:7px;align-items:center}.footer-mark{font-size:13px;font-weight:800;font-style:italic;color:#a3aeb5}.workspace-footer button{font-size:10px;color:#8c99a3}kbd{font:10px inherit;border:1px solid #d7dfe5;border-radius:3px;padding:1px 4px;background:white}dialog{border:1px solid #dfe4e8;box-shadow:0 30px 90px #0b1b3550;border-radius:16px;padding:0;max-width:620px;width:calc(100% - 30px);max-height:85vh;color:var(--ink)}dialog::backdrop{background:#07142466;backdrop-filter:blur(4px)}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#1e303c;color:#fff;border-radius:9px;padding:12px 18px;opacity:0;pointer-events:none;transition:.2s;z-index:30;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(min-width:1600px){main{padding:32px 45px 0}.map-wrap{height:430px}}@media(max-width:1150px){.app-shell{grid-template-columns:185px 1fr}main{padding:24px 20px 0}.session-rail{padding:24px 10px}.summary-strip>div{padding:0 15px}.summary-strip strong{font-size:21px}.summary-strip .weather-summary{gap:7px}.product-name{display:none}.global-nav nav{margin-left:0}.header-actions{max-width:250px}.workspace-heading{align-items:flex-start}.summary-strip{grid-template-columns:repeat(4,1fr)}.summary-strip .weather-summary{display:none}}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.session-rail{display:none}.global-nav{height:62px;padding:0 18px;gap:14px}.global-nav nav{margin-left:auto;gap:12px}.demo-badge{display:none}.workspace-heading{gap:16px}h1{font-size:25px}.header-actions{max-width:100%;gap:5px}.header-actions .button{font-size:12px;padding:8px}.header-actions .icon{width:16px;height:16px}.map-wrap{height:360px}.summary-strip{margin-bottom:16px}.telemetry-actions{gap:6px}.linked-label{display:none}.workspace-footer>span:first-child{display:none}.map-video-row{flex-direction:column}}@media(max-width:560px){main{padding:19px 12px 0}.global-nav .brand{font-size:14px;letter-spacing:2px}.brand svg{width:30px}.global-nav nav button{font-size:12px}.nav-divider{display:none}.workspace-heading{flex-direction:column;margin-bottom:18px}.header-actions{width:100%;justify-content:flex-start}.header-actions .button{flex:1;white-space:nowrap}.header-actions .icon-only{flex:none}.summary-strip{grid-template-columns:repeat(2,1fr);row-gap:20px;padding:17px 0}.summary-strip>div:nth-child(2){border:0}.section-toolbar{padding:12px;gap:5px}.section-label{gap:6px}.map-view-switch button{padding:6px;font-size:11px}.section-toolbar .quiet-separator,.section-toolbar #map-lap-caption{display:none}.map-telemetry{left:13px;top:67px}.map-telemetry strong{font-size:17px}.map-top{left:12px}.map-controls{right:10px}.map-bottom{left:12px;font-size:9px}.map-bottom #map-instruction{max-width:110px}.telemetry-header{flex-wrap:wrap;row-gap:10px}.telemetry-actions{width:100%;justify-content:space-between}.telemetry-header>.section-label{padding-left:2px}.playback-bar{gap:10px;padding:10px 12px}.chart-card{padding:13px 10px 5px}.workspace-footer{font-size:9px}.play-duration{display:none}.telemetry-chart{height:130px}.map-wrap{height:330px}}
main{margin:0 auto}.map-top .lap-chip{cursor:pointer}.lap-chip .icon{width:11px;height:11px;color:#7f93a3}.comparison-close{color:#9babb8;padding:0 6px;font-size:20px}.chart-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}.chart-dot.purple{background:#9670d6}.metric-select{border:0;background:white;max-width:220px;font-size:14px;font-weight:550;color:#314452;padding-right:10px;outline-offset:4px}.chart-unit{color:#9aa5ad;font-size:12px}.metric-help{color:#94a2ad;border:1px solid #b3bdc5;width:13px;height:13px;display:grid;place-items:center;border-radius:50%;font-size:9px;cursor:help}.chart-readouts{display:flex;gap:18px;margin-left:auto;font-size:13px;font-variant-numeric:tabular-nums;font-weight:550}.red-text{color:#e86c67}.chart-axis{fill:#95a3ad;font:10px Inter,-apple-system,BlinkMacSystemFont,sans-serif}.close-chart{font-size:22px;color:#95a0a9;width:26px;height:26px;border-radius:5px}.sector-summary{margin-top:19px}.sector-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}.sector-heading h2{font-size:14px;margin:0;font-weight:600}.sector-heading>span{font-size:12px;color:#8e9ba5}.sector-heading button{margin-left:auto;font-size:12px;color:#7e909e}.sector-heading .icon{width:14px;height:14px}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.sector-cell{background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px 18px;align-items:flex-start;flex-direction:column;gap:7px}.sector-cell>span{font-size:10px;letter-spacing:1px;color:#8a9aa6}.sector-cell strong{font-weight:550;font-size:19px;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.sector-cell small{color:#9cabb5;font-size:11px}.sector-cell .time-loss{color:#dc7977}.sector-cell .time-gain{color:#339578}.partial-laps{display:flex;gap:9px;margin:18px 7px}.partial-laps button{color:#8696a3;font-size:12px;padding:5px;border-radius:4px}.partial-laps button.active{background:#edf4fe;color:var(--blue)}.mobile-lap-picker{display:none}.video-panel{width:360px;flex-shrink:0;background:#fafcfd;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:365px}.video-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 6px}.video-heading h3{font-size:14px;margin:0;font-weight:600}.video-heading button{font-size:21px;color:#9aa7b0}.video-session{display:flex;align-items:center;gap:8px;padding:0 16px 13px;font-size:12px;color:#85939e}.video-session select{background:transparent;border:0;color:#496171;font-size:12px;max-width:240px}.video-empty{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px}.video-empty-icon{font-size:40px;color:#a4b5c1;background:#edf2f6;border-radius:50%;width:65px;height:65px;display:grid;place-items:center}.video-empty h4{font-size:15px;font-weight:550;margin:18px 0 6px}.video-empty p{font-size:13px;color:#8699a6;max-width:245px;line-height:1.65;margin:0 0 16px}.video-empty>span{font-size:11px;color:#a0adb7;margin-top:10px}.video-privacy{font-size:11px;line-height:1.6;text-align:center;color:#9aabb7;padding:0 20px 20px}.video-frame{height:185px;background:#10171d;position:relative;display:flex;align-items:center}.video-frame video{width:100%;height:100%;object-fit:contain}.video-status{position:absolute;left:12px;right:12px;bottom:10px;text-align:center;font-size:11px;color:#fff;background:#101923b0;border-radius:4px}.video-status:empty{display:none}.video-filename{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#8a9eac;padding:10px 16px}.video-sync{padding:2px 16px 10px}.sync-label{display:flex;justify-content:space-between;margin-bottom:8px}.sync-label b{font-size:12px;font-weight:550}.sync-label span{font-size:11px;color:#9aaab5}.offset-controls{display:flex;align-items:center;gap:5px}.offset-controls>button:not(.button){border:1px solid #dce5eb;background:white;width:28px;height:30px;border-radius:5px;font-size:17px;color:#768b9b}.offset-controls input{width:76px;border:1px solid #dce5eb;height:30px;border-radius:5px;font-size:12px;text-align:center;font-variant-numeric:tabular-nums}.offset-controls .button{margin-left:auto;font-size:11px;padding:6px 8px;min-height:30px}.video-sync p{font-size:11px;line-height:1.55;color:#90a1ae;margin:8px 0 0}.video-footer{border-top:1px solid #e3e9ee;margin-top:auto;padding:10px 16px;display:flex;align-items:center;gap:10px;font-size:10px;color:#93a3af}.video-footer button{font-size:11px;padding:0;color:#6e879b}.video-footer span{margin-left:auto}#frame-align{padding-top:10px}#frame-align label{font-size:11px;color:#6b8292}#frame-align input{width:100%;margin:14px 0 8px}#frame-time{font-size:11px;color:#6c8494}.map-wrap.expanded{position:fixed;inset:20px;height:auto!important;z-index:20;border:6px solid #293941;border-radius:14px;box-shadow:0 0 0 30px #051019bb}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 27px 10px}.modal-heading h2{font-size:24px;letter-spacing:-.6px;font-weight:600;margin:7px 0}.modal-close{font-size:25px;color:#8ca0ad;border-radius:5px;width:30px;height:30px}.modal-body{padding:0 27px 25px}.modal-intro{font-size:14px;line-height:1.65;color:#81909b;margin:5px 0 22px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:23px}.modal-actions .button{font-size:14px}.field{margin-bottom:17px}.field label{display:block;font-size:13px;font-weight:550;margin:0 0 7px;color:#4f626e}.field select,.field input{width:100%;padding:10px 11px;background:white;border:1px solid #dce4e9;border-radius:6px;color:#425663;min-height:42px;font-size:14px}.field-note{color:#90a0ab;font-size:12px;line-height:1.65;margin:10px 0}.reference-preview{display:flex;align-items:center;padding:15px;background:#edf4fd;border:1px solid #dce9fb;border-radius:8px;margin-bottom:21px;gap:13px}.color-dot{width:8px;height:8px;background:var(--blue);border-radius:50%}.reference-preview b{font-size:14px;font-weight:550}.reference-preview small{display:block;font-size:12px;color:#8a9eae;margin-top:5px}.reference-preview strong{font-size:22px;font-weight:550;margin-left:auto;font-variant-numeric:tabular-nums;color:#4589e7}.filter-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.filter-row select{width:100%;border:1px solid #dfe6ea;padding:9px;border-radius:5px;background:white;font-size:12px;color:#647987}.session-result{width:100%;justify-content:flex-start;padding:19px 0;border-bottom:1px solid #e9edf0;text-align:left;gap:13px}.session-track-icon{background:#f0f4f7;border-radius:8px;width:40px;height:44px;display:grid;place-items:center;color:#859bad}.session-result b{font-size:14px;font-weight:550}.session-result small{display:block;font-size:11px;color:#8ca0ac;margin-top:5px}.session-result-time{margin-left:auto;text-align:right}.session-result-time b{font-size:17px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.library-foot{display:flex;justify-content:space-between;margin-top:24px;font-size:11px;color:#8ea0ad}.library-foot button{font-size:11px;padding:0;color:#6d8799}.empty-results{padding:25px 0;text-align:center;font-size:14px;color:#8b9fab}.lap-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.lap-choice{border:1px solid #e1e8ec;border-radius:8px;display:flex;justify-content:space-between;padding:16px;font-size:14px}.lap-choice.chosen{background:#edf4fd;border-color:#bed7fa;color:#4589e7}.lap-choice b{font-weight:550;font-variant-numeric:tabular-nums}.detail-grid{display:flex;gap:25px}.detail-column{flex:1}.detail-column h3{font-size:15px;color:#4689e9;display:flex;justify-content:space-between}.detail-column:nth-child(2) h3{color:#e7756c}.detail-column h3 span{font-size:14px}.detail-column dl{display:grid;grid-template-columns:1fr auto;gap:14px;font-size:13px}.detail-column dt{color:#8a9da9}.detail-column dd{margin:0;font-variant-numeric:tabular-nums;color:#4d6575}.export-form{display:grid;grid-template-columns:repeat(2,1fr);gap:0 15px}.export-checks{display:flex;flex-direction:column;gap:13px;font-size:13px;color:#6c8494}.export-checks label{display:flex;align-items:center;gap:8px}.export-checks input{accent-color:var(--blue)}.privacy-note{padding:17px;background:#f1f5f8;border-radius:9px;margin:18px 0}.privacy-note b{font-size:14px;font-weight:550}.privacy-note p{font-size:13px;line-height:1.65;color:#7f94a2;margin:7px 0 0}.session-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:15px 0 25px}.session-info-grid span{display:block;color:#8c9daa;font-size:12px;margin-bottom:6px}.session-info-grid b{font-size:16px;font-weight:550}.action-list{display:flex;flex-direction:column;gap:1px}.action-list button{justify-content:flex-start;padding:13px 0;font-size:14px;border-top:1px solid #e9eef1}.action-list .danger-action{color:#d56c6b;font-size:13px}.guide-steps>div{display:flex;gap:18px;margin:20px 0}.guide-steps>div>span{font-size:12px;color:#c0cbd3;font-weight:550;margin-top:4px}.guide-steps h3{font-size:16px;font-weight:550;margin:0 0 7px}.guide-steps p{font-size:14px;line-height:1.7;color:#8195a3;margin:0}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 35px;background:#f7f9fb;padding:18px;border:1px solid #e9eef2;border-radius:9px;font-size:12px;color:#78909f}.shortcut-grid span{display:flex;justify-content:space-between}.map-attribution{position:absolute;bottom:33px;left:20px;color:#839ba9;font-size:9px;z-index:2}.map-attribution a{text-decoration:underline}.map-tile{filter:saturate(.45) brightness(.58)}.layer-street #track-road{stroke:#13242bc0;stroke-width:10}.map-top .lap-chips{flex-wrap:wrap}.video-panel~.map-controls{display:none}
@media(max-width:1150px){.video-panel{width:315px}.video-frame{height:170px}.chart-readouts{font-size:12px;gap:10px}}@media(max-width:850px){.video-panel{width:100%;border-left:0;border-top:1px solid var(--line);min-height:0}.video-frame{height:240px}.video-empty{padding:30px}.video-empty-icon{width:50px;height:50px;font-size:34px}.video-empty h4{margin-top:13px}.sector-grid{gap:7px}.sector-cell{padding:13px}.video-filename,.video-sync,.video-footer{font-size:12px}.video-sync{max-width:500px;width:100%}.modal-intro,.guide-steps p{font-size:14px}}@media(max-width:560px){.chart-readouts{font-size:11px;gap:8px}.metric-select{font-size:12px;max-width:155px}.chart-unit{font-size:10px}.metric-help{display:none}.chart-head{gap:5px}.chart-dot{width:5px;height:5px}.sector-heading>span{display:none}.sector-grid{grid-template-columns:repeat(2,1fr)}.sector-cell strong{font-size:18px}.lap-chip{padding:7px;font-size:10px}.lap-chip b{margin-left:3px}.map-top{right:10px}.map-telemetry{top:100px}.map-telemetry>div{margin-bottom:17px}.filter-row{grid-template-columns:1fr}.modal-heading{padding:21px 19px 8px}.modal-body{padding:0 19px 20px}.modal-heading h2{font-size:23px}.export-form{grid-template-columns:1fr}.detail-grid{flex-direction:column;gap:5px}.library-foot{gap:14px;flex-direction:column}.shortcut-grid{gap:12px}.chart-axis{font-size:11px}.map-attribution{left:12px;font-size:8px}.section-label h2{font-size:14px}}
.metric-label,.rail-label,.section-label,.map-view-switch button,.chart-head small,.playback-bar,.sector-heading>span,.telemetry-actions select{font-size:12px}.map-telemetry span,.map-bottom,.map-attribution,.map-controls #bearing-label{font-size:10px}.header-actions{max-width:none}.header-actions .button{font-size:13px}.workspace-heading{gap:20px}.map-wrap{height:380px}.map-telemetry strong{font-size:23px}.telemetry-chart{height:150px}.chart-head{margin-bottom:4px}.chart-axis{font-size:11px}.chart-unit{font-size:12px}.map-top{z-index:3}.map-attribution{font-size:9px}.map-bottom label{font-size:11px}@media(max-width:1200px){.header-actions{max-width:275px}.workspace-heading{align-items:center}}@media(max-width:560px){.header-actions{max-width:none;flex-wrap:wrap}.header-actions .button{font-size:12px;flex:1 1 42%}.workspace-heading{align-items:flex-start}.chart-readouts{flex-wrap:wrap;gap:3px;text-align:right;justify-content:flex-end;max-width:118px}.map-wrap{height:355px}.map-telemetry strong{font-size:18px}.metric-select{max-width:148px}.map-attribution{max-width:260px;font-size:8px;bottom:36px}.chart-unit{display:none}}
.layer-street .map-telemetry{background:#101c24db;padding:12px;border-radius:7px;top:73px;left:18px}.layer-street .map-telemetry>div:last-child{margin-bottom:0}.layer-street .map-attribution,.layer-street .map-bottom{background:#101c24db;color:#c4d2dc;border-radius:4px;padding:3px 6px}.layer-street .map-telemetry span{color:#9bafbd}.layer-street .map-attribution a{color:#c9d9e5}@media(max-width:560px){.layer-street .map-telemetry{top:100px;left:10px;padding:9px}.layer-street .map-attribution{bottom:42px}}
@media(max-width:850px){.map-video-row>.map-wrap{flex:none;width:100%}}@media(max-width:560px){.map-telemetry{top:108px;left:13px}.map-telemetry span{font-size:10px}.map-telemetry strong{font-size:16px}.map-telemetry strong small{font-size:9px}.map-telemetry>div{margin-bottom:15px}.map-controls{top:66px}.map-bottom{bottom:12px}.map-attribution{bottom:42px}.map-telemetry{background:#151d239c;padding:6px;border-radius:5px}}
.app-shell{grid-template-columns:184px minmax(0,1fr)}
.session-rail{padding:26px 11px}.lap-row{gap:8px;padding:12px 8px}.lap-number{width:23px;height:25px}.lap-main strong{font-size:13px}.lap-row .lap-delta{font-size:10px}.rail-track{padding:0 7px}.partial-laps{gap:8px;margin:15px 4px}.theoretical-lap{border:1px dashed #d7c8ee;margin-top:14px;background:#faf7ff}.theoretical-lap .lap-number{color:#8965b7;border-color:#dcc9f5}.theoretical-lap .lap-main span{font-size:8px;letter-spacing:.5px;color:#8965b7}.theoretical-lap.selected{background:#f0e8ff;border-color:#b999e2}.theoretical-lap.selected .lap-number{border-color:#b999e2;color:#8965b7}
.compare-summary{display:flex;flex-direction:column;text-align:left;gap:4px}.compare-summary small{font-size:8px;letter-spacing:.8px;font-weight:550;opacity:.8}.compare-summary b{font-size:12px;font-weight:550}
.map-wrap{background:#e9eef1;height:400px}.map-tile{filter:saturate(.4) brightness(1.03)}.track-edge{fill:none;stroke:#b4c0c8;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}#track-road,.layer-street #track-road{stroke:#d3dce2;stroke-width:4.8;fill:none;stroke-linecap:round;stroke-linejoin:round}#track-line-a,#track-line-b{stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;fill:none}#track-line-a{stroke:#237cdd}#track-line-b{stroke:#e95652;stroke-dasharray:5 2.5}.sector-tick{stroke:#586f80;stroke-width:1.1;vector-effect:non-scaling-stroke}.sector-tick.start-finish{stroke:#1e303c;stroke-width:1.6}.sector-leader{fill:none;stroke:#879cac;stroke-width:.6;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;opacity:.65}.map-sector-label rect{fill:#f7fafce8;stroke:#c4d1da;stroke-width:.7}.map-sector-label text{font:9px Inter,-apple-system,BlinkMacSystemFont,sans-serif;fill:#526b7d;letter-spacing:.5px;font-weight:650}.driving-event{stroke:white;stroke-width:.85}.event-brake{fill:#e44e50}.event-turn{fill:#d79714}.event-accel{fill:#259b73}.map-telemetry,.layer-street .map-telemetry{background:#1b2b36ed;padding:11px 13px;border-radius:7px;top:77px;left:18px;box-shadow:0 2px 5px #10212b15}.map-telemetry>div{margin-bottom:15px}.map-telemetry>div:last-child{margin-bottom:0}.map-telemetry span{color:#a8b9c5}.map-telemetry strong{font-size:21px}.map-telemetry strong small{color:#a2b5c4}.map-bottom,.layer-street .map-bottom{background:transparent;padding:0;color:#566c7b}.map-option-toggles{display:flex;gap:12px;background:#1b2b36ed;color:#c6d3db;padding:6px 9px;border-radius:5px}.map-bottom input{accent-color:#80b5fa}.map-attribution,.layer-street .map-attribution{color:#6a7d8a;background:#f2f5f8db;border-radius:3px;padding:3px 5px;bottom:42px}.map-attribution a,.layer-street .map-attribution a{color:#566e7e}.event-legend{position:absolute;left:50%;top:61px;transform:translateX(-50%);display:flex;gap:14px;align-items:center;background:#f6f9fbeb;border:1px solid #d5dfe6;border-radius:5px;padding:6px 9px;color:#678093;font-size:9px;pointer-events:none;white-space:nowrap}.event-legend span{display:flex;align-items:center;gap:5px}.event-legend i{display:inline-block;width:6px;height:6px}.event-legend .legend-brake{background:#e44e50;border-radius:1px}.event-legend .legend-turn{background:#d79714;transform:rotate(45deg)}.event-legend .legend-accel{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid #259b73}
.comparison-axis{display:flex;align-items:center;gap:9px}.comparison-axis>span{font-size:12px;color:#8193a0}.graph-zoom-toolbar{display:flex;align-items:center;gap:9px;min-height:36px;margin:0 1px 10px;color:#8294a1;font-size:11px}.graph-zoom-toolbar>span:first-child{margin-right:4px}.graph-zoom-toolbar button{border:1px solid #dce4e9;background:#fff;border-radius:5px;height:27px;padding:0 9px;font-size:11px;color:#627c8e}.graph-zoom-toolbar button#graph-zoom-in,.graph-zoom-toolbar button#graph-zoom-out{font-size:17px;padding:0;width:27px}.graph-zoom-toolbar #graph-zoom-label{font-variant-numeric:tabular-nums;min-width:29px;text-align:center}.graph-zoom-toolbar input{max-width:170px;min-width:55px;flex:1;margin-left:auto}.graph-zoom-toolbar small{font-size:10px;white-space:nowrap}button:disabled{opacity:.42;cursor:default}.graph-zoom-toolbar input:disabled{opacity:.3}.telemetry-chart{height:185px}.add-graph-row{display:flex;align-items:center;justify-content:center;gap:13px;margin:13px 0 5px}.add-graph-row .button{border-style:dashed;background:transparent;color:#748b9c;padding:8px 16px}.add-graph-row>span{font-size:10px;color:#98a6b1}.sector-heading{gap:12px;flex-wrap:wrap}.sector-heading>button{margin-left:0}.sector-heading>button:last-child{margin-left:4px}.best-sectors-toggle{display:flex;gap:6px;align-items:center;color:#7c909e;font-size:11px;margin-left:auto}.best-sectors-toggle input{accent-color:#9871c4}.sector-cell{padding:13px 15px;gap:8px;transition:border-color .15s,background .15s;text-align:left}.sector-cell.active{background:#edf4ff;border-color:#73a8ee;box-shadow:inset 0 0 0 1px #b7d5fa}.sector-card-heading{display:flex;align-items:center;justify-content:space-between;width:100%}.sector-active-label{font-size:8px;letter-spacing:.4px;color:#3f82d7}.sector-time-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.sector-time-row>span{font-size:10px;white-space:nowrap}.sector-time-row strong{font-size:19px}.absolute-sector{border-top:1px solid #e0e6ee;width:100%;padding-top:9px;margin-top:2px;display:flex;flex-direction:column;gap:5px}.absolute-sector>span{font-size:8px;color:#9980b8;letter-spacing:.8px}.absolute-sector b{font-size:12px;color:#825dae;display:flex;justify-content:space-between;align-items:center;font-weight:550;font-variant-numeric:tabular-nums}.absolute-sector b small{font-weight:400;color:#927fa6;font-size:10px}.theoretical-note{font-size:12px;color:#9078aa;margin:0 0 12px}
.video-panel{width:100%;min-height:0;border-left:0;border-top:1px solid var(--line);background:#f8fafc;padding:15px 18px 18px}.video-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.video-section-heading h3{margin:0 0 4px;font-size:13px;font-weight:600}.video-section-heading span{font-size:10px;color:#92a1ae}.video-section-heading button{font-size:23px;color:#91a3b1}.video-cards{display:grid;grid-template-columns:1fr;gap:14px}.two-videos .video-cards{grid-template-columns:1fr 1fr}.lap-video-card{border:1px solid #dfe7ec;border-radius:9px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}.video-card-heading{display:flex;align-items:center;gap:9px;padding:12px 14px}.video-letter{display:grid;place-items:center;border-radius:5px;width:25px;height:25px;font-size:12px;color:#337fdc;background:#edf4fd}.video-letter.b{color:#d95c58;background:#fff0ef}.video-card-heading b{font-size:12px;font-weight:600}.video-card-heading small{display:block;color:#94a2ad;font-size:10px;margin-top:3px}.clip-local{margin-left:auto;color:#a3afb8;font-size:9px}.video-frame{height:250px;width:100%}.video-empty{min-height:236px;padding:19px}.video-empty-icon{width:43px;height:43px;font-size:30px}.video-empty h4{font-size:13px;margin-top:12px}.video-empty p{font-size:12px;margin-bottom:13px}.video-empty .button{min-height:35px;font-size:12px}.video-empty>span{font-size:10px}.video-sync{max-width:none}.frame-align{padding-top:12px}.frame-align label,.frame-time{font-size:10px;color:#879aaa}.frame-align input{width:100%;margin:14px 0 9px}.video-composite{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;min-height:236px;color:#947aaf}.video-composite b{font-size:14px}.video-composite p{max-width:300px;text-align:center;font-size:12px;line-height:1.7;color:#96a4ae}
@media(min-width:1600px){.map-wrap{height:430px}.telemetry-chart{height:210px}}
@media(max-width:1150px){.app-shell{grid-template-columns:169px minmax(0,1fr)}.session-rail{padding:24px 8px}.lap-row{padding:12px 6px;gap:6px}.lap-row .lap-delta{font-size:9px}.sector-cell{padding:12px 11px}.sector-time-row strong{font-size:17px}.sector-time-row>span{font-size:9px}.video-frame{height:215px}.header-actions{max-width:300px}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.header-actions{max-width:none}.session-rail{display:none}.telemetry-chart{height:180px}.map-wrap{height:380px}.graph-zoom-toolbar{gap:7px}.graph-zoom-toolbar small{display:none}.sector-heading>span{display:none}}
@media(max-width:560px){.map-wrap{height:380px}.event-legend{top:90px;gap:10px;font-size:8px;left:48%}.map-telemetry,.layer-street .map-telemetry{left:10px;top:126px;padding:8px 9px}.map-telemetry strong{font-size:16px}.map-telemetry span{font-size:9px}.map-telemetry>div{margin-bottom:12px}.map-bottom{left:10px;right:10px;bottom:10px;justify-content:center}.map-bottom #map-instruction{display:none}.map-option-toggles{gap:10px;width:100%;justify-content:center}.map-bottom label{font-size:10px}.map-attribution,.layer-street .map-attribution{left:10px;bottom:46px;max-width:290px;font-size:8px}.two-videos .video-cards{grid-template-columns:1fr}.video-panel{padding:13px 11px}.video-frame{height:205px}.graph-zoom-toolbar{flex-wrap:wrap;gap:6px}.graph-zoom-toolbar>span:first-child{display:none}.graph-zoom-toolbar input{max-width:80px}.telemetry-chart{height:160px}.comparison-axis{gap:8px}.comparison-axis>span{font-size:11px}.sector-heading{gap:10px}.best-sectors-toggle{margin-left:auto;font-size:10px}.sector-heading>button{font-size:10px}.sector-heading>button:last-child{margin-left:auto}.sector-time-row strong{font-size:18px}.sector-time-row>span{font-size:9px}.sector-cell{padding:13px 12px}.sector-card-heading{font-size:9px!important}.sector-active-label{font-size:7px}.header-actions .compare-summary small{font-size:7px}.header-actions .compare-summary b{font-size:11px}.event-legend+.map-telemetry{pointer-events:none}}

.sector-chart-label{font:10px Inter,-apple-system,BlinkMacSystemFont,sans-serif;fill:#899eae;letter-spacing:1px}.sector-chart-label.selected{fill:#4285db;font-weight:700}

.event-legend{left:20px;top:auto;bottom:66px;transform:none}@media(max-width:560px){.event-legend{left:10px;top:auto;bottom:68px}}

@media(max-width:560px){.event-legend{top:52px;bottom:auto}}
/* Refined circuit lines and custom-sector controls. */
.track-edge{stroke:#bbcbd6;stroke-width:9;filter:drop-shadow(0 1px 1px #58708022)}#track-road,.layer-street #track-road{stroke:#e1e9ef;stroke-width:7}.line-halo{stroke:#fff;stroke-width:4;stroke-opacity:.72;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}#track-line-a{stroke:#3988e9;stroke-width:2.35}#track-line-b{stroke:#ec6860;stroke-width:2.15;stroke-dasharray:none}.is-comparing #track-line-a{stroke-width:2.05}.is-comparing .line-halo{stroke-width:3.4;stroke-opacity:.55}.sector-leader{opacity:.38}.sector-tick{stroke-width:1.2}.map-wrap{background:#eaf0f4}.driving-event{stroke-width:1}.map-sector-label rect{fill:#ffffffed;stroke:#d4dfe6}.map-sector-label text{fill:#6b8293}
.graph-zoom-toolbar button.create-sector{height:31px;margin-left:7px;padding:0 12px;border-color:#b8d9d8;background:#f3fbfa;color:#288d88;font-size:12px;font-weight:550;white-space:nowrap}.graph-zoom-toolbar button.create-sector:hover{background:#e2f3f0}.marking-sector .telemetry-chart{cursor:crosshair}.marking-sector .chart-card{border-color:#acd5d1}.marking-sector [data-tooltip]{pointer-events:none}
#custom-sector-editor{background:#f3faf9;border:1px solid #bcded9;border-radius:11px;margin:0 0 12px;padding:16px 18px}.custom-editor-heading{display:flex;align-items:center;gap:11px}.custom-sector-symbol{background:#dff1ed;color:#208b82;border:1px solid #c4e4df;width:33px;height:33px;display:grid;place-items:center;border-radius:7px;font-size:20px}.custom-editor-heading strong{font-size:14px;font-weight:600;color:#32695f}.custom-editor-heading p{margin:4px 0 0;color:#7a9690;font-size:12px}.custom-editor-heading>button{margin-left:auto;color:#89a49d;font-size:24px}.custom-editor-controls{display:flex;align-items:flex-end;gap:12px;margin-top:16px}.custom-name{font-size:11px;color:#739189;display:flex;flex-direction:column;gap:6px;max-width:240px;flex:1}.custom-name input{width:100%;border:1px solid #cde1dc;border-radius:6px;background:white;color:#3b625a;padding:10px 11px;font-size:13px;height:40px}.sector-mark-button{display:flex;justify-content:flex-start;gap:9px;border:1px solid #d6e5e1;border-radius:7px;padding:9px 13px;background:#fff;min-width:125px;min-height:54px}.sector-mark-button>span:last-child{display:flex;flex-direction:column;gap:5px;text-align:left;color:#819a93;font-size:11px}.sector-mark-button b{font-size:13px;color:#427369;font-weight:550;font-variant-numeric:tabular-nums}.sector-mark-button.active{border-color:#50a99b;background:#e9f6f2;box-shadow:0 0 0 2px #b8e0d749}.mark-dot{height:18px;width:2px;background:#29998a;position:relative}.mark-dot:before{content:'';width:6px;height:6px;position:absolute;top:-2px;left:-2px;border-radius:50%;background:#29998a}.mark-dot.finish:before{border-radius:0}.draft-sector-time{margin-left:auto;padding-bottom:5px;display:flex;flex-direction:column;gap:5px;white-space:nowrap;font-size:12px;color:#468ba2;font-variant-numeric:tabular-nums}.draft-sector-time>span:only-child{color:#71948a;line-height:1.5}#save-custom-sector{background:#288f81;color:white;border-color:#288f81;height:40px;margin-bottom:5px;font-size:12px}.custom-editor-hint{font-size:11px;color:#8aa49d;margin:13px 0 0;line-height:1.6}.custom-sector-summary{margin-top:22px}.custom-summary-heading{display:flex;gap:14px;align-items:center;margin-bottom:12px}.custom-summary-heading h2{font-size:14px;font-weight:600;margin:0;color:#46796e}.custom-summary-heading>span{font-size:11px;color:#95a99f}.custom-sector-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr))}.custom-sector-card{border:1px solid #dbe7e1;border-radius:9px;background:#fff;overflow:hidden}.custom-sector-card.active{border-color:#64b5a9;box-shadow:0 0 0 1px #c8e5df;background:#f0faf7}.custom-sector-card .sector-cell{border:0;border-radius:0;background:transparent;width:100%;min-height:130px}.custom-sector-card .sector-card-heading{font-size:12px;letter-spacing:0;color:#478477;font-weight:550;gap:10px}.custom-sector-card .sector-active-label{color:#52a092;font-size:8px}.custom-range{font-size:10px!important;letter-spacing:0!important;color:#9aaaa5!important}.custom-sector-actions{display:flex;gap:16px;justify-content:flex-end;border-top:1px solid #e7efea;padding:8px 12px}.custom-sector-actions button{font-size:11px;color:#87a097;padding:2px 4px}.custom-sector-actions button:hover{color:#2d8775;background:#eef7f2}.custom-sector-card .absolute-sector{margin-top:3px}.custom-sector-card .sector-cell:hover{background:#eff9f680}
@media(max-width:1050px){.custom-editor-controls{flex-wrap:wrap}.custom-name{max-width:none;min-width:160px}.draft-sector-time{margin-left:0}.graph-zoom-toolbar input{max-width:90px}}
@media(max-width:560px){.graph-zoom-toolbar button.create-sector{margin-left:auto;font-size:11px;padding:0 9px}.graph-zoom-toolbar input{max-width:55px}.custom-editor-controls{gap:9px}.custom-name{flex:1 1 100%}.sector-mark-button{flex:1;min-width:110px}.draft-sector-time{flex:1;padding-top:5px}#custom-sector-editor{padding:13px 12px}.custom-editor-heading p{font-size:11px;line-height:1.5}.custom-editor-hint{font-size:10px}.custom-summary-heading{flex-wrap:wrap;gap:7px}.custom-sector-grid{grid-template-columns:1fr 1fr;gap:8px}.custom-sector-card .sector-cell{padding:12px 10px}.custom-sector-card .sector-card-heading{font-size:11px;flex-wrap:wrap;gap:4px}.custom-sector-card .sector-time-row strong{font-size:16px}.custom-summary-heading>span{font-size:10px}}
/* Stable playback targets and compact live lap values. */
#play-btn>*,.video-overlay-button>*,.video-settings summary svg{pointer-events:none}.play-button{min-width:34px;width:34px;height:34px;flex-shrink:0}.play-button [data-play-icon],.play-button [data-pause-icon],.video-play-button span{display:flex;align-items:center;justify-content:center}
.map-telemetry,.layer-street .map-telemetry{min-width:109px;padding:12px 14px}.map-telemetry.comparison-values{width:188px}.map-telemetry>div{margin-bottom:13px}.map-data-head{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-bottom:1px solid #ffffff1a;padding-bottom:9px;margin-bottom:12px!important}.map-telemetry .map-data-head span{font-size:10px;white-space:nowrap;font-weight:550}.map-data-row{display:grid;grid-template-columns:1fr;gap:2px 14px}.comparison-values .map-data-row{grid-template-columns:1fr 1fr}.map-telemetry .map-data-label{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:3px;color:#9fb2c0}.map-data-label small{font-size:9px;font-weight:400;color:#8196a6}.map-telemetry .map-data-row strong{font-size:22px;line-height:1.15;margin:0;letter-spacing:-.4px;white-space:nowrap}.map-telemetry .map-a{color:#aed0ff}.map-telemetry .map-b{color:#ffada4}.map-telemetry:not(.comparison-values) .map-a{color:#f0f5f9}.driving-event{stroke-width:1.3;filter:drop-shadow(0 1px 1px #162f4855)}#marker-a,#marker-b{filter:drop-shadow(0 1px 1px #162f4855)}
/* Footage occupies the panel; setup stays inside the Sync dropdown. */
.video-panel{position:relative;padding:0;background:#10161c;border:0;border-top:1px solid #dce4e8}.video-cards{display:grid;gap:2px;grid-template-columns:1fr;min-height:0}.two-videos .video-cards{grid-template-columns:1fr 1fr}.lap-video-card{border:0;border-radius:0;background:#10161c;overflow:visible;min-height:0;position:relative}.video-frame{position:relative;width:100%;height:auto;aspect-ratio:16/9;max-height:66vh;min-height:220px;background:#0b1117;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#090e13}.video-slot-badge{position:absolute;z-index:3;top:12px;left:12px;border:1px solid #6999d966;border-radius:5px;background:#162c47df;color:#b6d6ff;display:grid;place-items:center;width:25px;height:25px;font-size:11px;font-weight:650}.video-slot-badge.b{background:#482b2bdc;color:#ffb4ab;border-color:#c87c7566}.video-panel-tools{position:absolute;left:50%;transform:translateX(-50%);top:10px;z-index:8;display:flex;gap:8px}.video-overlay-button{color:#e1eaf3;border:1px solid #ffffff25;background:#152330da;min-width:33px;height:33px;padding:7px;border-radius:6px;gap:7px;font-size:11px;white-space:nowrap;backdrop-filter:blur(8px)}.video-overlay-button:hover{background:#30475bec;border-color:#ffffff55}.video-overlay-button .icon{width:16px;height:16px}.video-overlay-controls{position:absolute;z-index:4;left:12px;right:12px;bottom:10px;display:flex;align-items:center;gap:10px;color:white}.video-overlay-controls:before{content:'';position:absolute;inset:-26px -12px -10px;z-index:-1;background:linear-gradient(transparent,#080f18ad);pointer-events:none}.video-elapsed{color:#e4ebf2;font-size:12px;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000}.video-linked{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:10px;color:#a8bac9}.video-linked .icon{width:13px;height:13px}.video-play-button{width:36px;height:33px}.video-play-button .icon{width:15px;height:15px}.video-status{bottom:54px;left:50%;right:auto;transform:translateX(-50%);padding:5px 9px;white-space:nowrap;max-width:90%;font-size:11px;z-index:3}.video-settings{position:absolute;right:12px;top:12px;z-index:9;color:#475e6d}.video-settings summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;background:#152330da;border:1px solid #ffffff25;border-radius:6px;padding:7px 9px;color:#d7e4ef;font-size:11px;backdrop-filter:blur(8px)}.video-settings summary::-webkit-details-marker{display:none}.video-settings summary .icon{width:14px;height:14px}.video-settings summary .icon:last-child{width:11px}.video-settings[open] summary{background:#345166}.video-settings-menu{position:absolute;right:0;top:calc(100% + 7px);width:310px;max-width:calc(100vw - 40px);background:#fcfdfe;border:1px solid #dce5ec;border-radius:9px;box-shadow:0 15px 40px #07152260;overflow:auto;max-height:calc(66vh - 100px)}.video-settings-menu .video-filename{padding:12px 14px 11px;border-bottom:1px solid #e7edf1;margin-bottom:12px;color:#879cae;font-size:11px}.video-settings-menu .video-sync{padding:0 14px 13px;width:100%}.video-settings-menu .video-footer{padding:11px 14px;justify-content:space-between}.video-settings-menu .sync-label b{color:#4d687c;font-size:12px}.video-settings-menu .offset-controls input{width:65px}.video-settings-menu .offset-controls .button{font-size:10px;padding:6px}.video-settings-menu .frame-align label{display:block;line-height:1.5}.video-empty,.video-composite{width:100%;height:100%;min-height:220px;color:#c5d3df;padding:30px 15px}.video-empty-icon{background:#21313e;color:#91a9bc}.video-empty h4{color:#d5e0e9;margin-top:13px}.video-empty p,.video-empty>span,.video-composite p{color:#8199ad}.video-composite b{color:#b7a4d2}
.video-panel.video-expanded,.video-panel:fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;z-index:100;background:#070c11}.video-expanded .video-cards{height:100%;width:100%;grid-template-columns:1fr!important;align-items:stretch}.video-expanded[data-expanded="both"] .video-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:2px}.video-expanded[data-expanded="a"] [data-video-slot="b"],.video-expanded[data-expanded="b"] [data-video-slot="a"]{display:none}.video-expanded .lap-video-card{height:100%;min-height:0}.video-expanded .video-frame{height:100%;max-height:none;min-height:0;aspect-ratio:auto}.video-expanded .video-panel-tools{top:15px}.video-expanded .video-overlay-controls{left:18px;right:18px;bottom:16px}.video-expanded .video-settings-menu{max-height:calc(100vh - 125px)}.video-expanded .video-overlay-controls:before{inset:-50px -18px -16px}.video-expanded .video-slot-badge,.video-expanded .video-settings{top:18px}.video-expanded .video-empty,.video-expanded .video-composite{min-height:0}
@media(max-width:850px){.map-telemetry.comparison-values{width:165px}.map-telemetry .map-data-row strong{font-size:19px}}
@media(max-width:560px){.video-panel{padding:0}.two-videos .video-cards{grid-template-columns:1fr}.video-frame{min-height:210px;max-height:none}.video-settings-menu{width:290px;max-height:155px}.video-panel-tools{top:10px}.video-panel-tools .video-overlay-button{font-size:9px;padding:6px}.video-slot-badge{left:10px;top:10px}.video-settings{right:10px;top:10px}.video-settings summary{padding:6px;gap:4px;font-size:10px}.video-overlay-controls{left:10px;right:10px;bottom:9px}.video-expanded[data-expanded="both"] .video-settings summary span{display:none}.video-expanded[data-expanded="both"] .video-linked{display:none}.video-expanded[data-expanded="both"] .video-elapsed{font-size:10px}.video-expanded[data-expanded="both"] .video-overlay-controls{left:8px;right:8px;gap:5px}.video-expanded .video-settings-menu{max-width:calc(50vw - 15px);width:290px}.video-expanded .video-settings-menu .offset-controls{flex-wrap:wrap}.video-expanded .video-settings-menu .video-footer{gap:10px}.map-telemetry,.layer-street .map-telemetry{padding:10px;min-width:98px}.map-telemetry.comparison-values{width:128px;padding:9px}.map-data-head,.map-data-row{gap:2px 8px}.map-telemetry .map-data-head span{font-size:8px}.map-telemetry .map-data-row strong{font-size:16px}.map-telemetry .map-data-label{font-size:9px}.map-data-label small{font-size:8px}.map-telemetry>div{margin-bottom:10px}.map-telemetry .map-data-head{padding-bottom:7px;margin-bottom:9px!important}}

/* Keep the shared fullscreen control clear of the individual video controls. */
.two-videos:not([data-expanded="a"]):not([data-expanded="b"]) .video-slot-badge,.two-videos:not([data-expanded="a"]):not([data-expanded="b"]) .video-settings{top:52px}
.video-settings-menu,.video-expanded .video-settings-menu{max-height:var(--video-menu-height,155px);max-width:min(var(--video-menu-width,310px),calc(100vw - 40px))}.offset-controls :disabled{opacity:.45;cursor:default}
/* Theme switch and the shared fullscreen timeline. */
:root{--surface:#fff;--surface-alt:#f2f5f8;--surface-raised:#fff;--secondary:#687e8e;--chart-grid:#e9edef;--chart-mask:#dde2e7;color-scheme:light}
.theme-toggle{margin-left:4px;flex-shrink:0;min-height:36px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;gap:7px}.theme-toggle .icon{width:16px;height:16px}.theme-toggle:hover{background:var(--surface-alt)}
.fullscreen-transport{display:none;position:absolute;z-index:12;left:50%;transform:translateX(-50%);bottom:20px;width:min(850px,calc(100% - 40px));padding:12px 16px;border:1px solid #ffffff29;border-radius:12px;background:#14212eed;box-shadow:0 6px 30px #0003;color:#e8f1fa;align-items:center;gap:13px;backdrop-filter:blur(12px)}.fullscreen-transport>span{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.fullscreen-transport input{flex:1;min-width:40px;accent-color:#69aaff;height:28px}.fullscreen-transport [data-transport-play]>*{pointer-events:none;display:flex}.fullscreen-transport [data-transport-play]{min-width:36px}.map-wrap.expanded>.fullscreen-transport,.video-expanded>.fullscreen-transport{display:flex}.map-wrap.expanded .map-bottom{bottom:93px}.map-wrap.expanded .map-attribution{bottom:127px}.map-wrap.expanded .event-legend{bottom:151px;top:auto}.video-expanded .video-overlay-controls{bottom:100px}.video-expanded .video-status{bottom:145px}
.map-wrap.layer-none{background:var(--surface)}.layer-none .circuit-grid,.layer-none .track-edge,.layer-none #track-road,.layer-none #base-tiles{display:none}.layer-none .line-halo{stroke-opacity:.35}
.driving-event{stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 1.5px #10263999)}.event-brake{fill:#ef4658}.event-turn{fill:#f7b82e}.event-accel{fill:#13ad7e}#marker-a,#marker-b{filter:drop-shadow(0 1px 2px #0b264bbb)}
.telemetry-chart line[stroke="#e9edef"]{stroke:var(--chart-grid)}.telemetry-chart [data-sector-mask]{fill:var(--chart-mask)}
/* Deep charcoal surfaces keep A/B colors and driving events easy to distinguish. */
html[data-theme="dark"]{color-scheme:dark;--ink:#e1eaf2;--muted:#9eafbf;--line:#34373c;--canvas:#111214;--surface:#191b1e;--surface-alt:#25272b;--surface-raised:#24262b;--secondary:#a1b3c5;--blue:#72aeff;--compare:#ff8d83;--chart-grid:#34373c;--chart-mask:#17191d;--red:#eb5363}
[data-theme="dark"] .global-nav,[data-theme="dark"] .session-rail,[data-theme="dark"] .summary-strip,[data-theme="dark"] .analysis-card,[data-theme="dark"] .chart-card,[data-theme="dark"] .sector-cell,[data-theme="dark"] dialog,[data-theme="dark"] .back-button,[data-theme="dark"] .button,[data-theme="dark"] .metric-select,[data-theme="dark"] .lap-number,[data-theme="dark"] kbd,[data-theme="dark"] .custom-sector-card{background:var(--surface);border-color:var(--line);color:var(--ink)}
[data-theme="dark"] button:hover{background:var(--surface-alt)}[data-theme="dark"] .button.primary,[data-theme="dark"] .button.engaged{background:#cb3f50;border-color:#df5867;color:#fff}[data-theme="dark"] .button.primary:hover,[data-theme="dark"] .button.engaged:hover{background:#df4b5c}[data-theme="dark"] .nav-divider,[data-theme="dark"] .quiet-separator{background:var(--line)}
[data-theme="dark"] .lap-row.selected,[data-theme="dark"] .lap-choice.chosen,[data-theme="dark"] .reference-preview{background:#292d33;border-color:#4a5666;color:#b5d5ff}[data-theme="dark"] .lap-row.selected .lap-number{background:#2c3540;border-color:#4275a9;color:#bfdeff}[data-theme="dark"] .summary-strip .best-pill{background:#2e3540;color:#a1caff}[data-theme="dark"] .theoretical-lap{border-color:#5d5079;background:#241f36}[data-theme="dark"] .theoretical-lap.selected{background:#34294a;border-color:#8a71b6}
[data-theme="dark"] .workspace-heading p,[data-theme="dark"] .rail-track p,[data-theme="dark"] .rail-label,[data-theme="dark"] .breadcrumb,[data-theme="dark"] .metric-label,[data-theme="dark"] .section-label,[data-theme="dark"] .section-label>span,[data-theme="dark"] .eyebrow,[data-theme="dark"] .lap-main span,[data-theme="dark"] .lap-delta,[data-theme="dark"] .rail-foot,[data-theme="dark"] .workspace-footer,[data-theme="dark"] .global-nav nav button,[data-theme="dark"] .demo-badge{color:#96aabd}
[data-theme="dark"] .section-label h2,[data-theme="dark"] .global-nav nav button.nav-current,[data-theme="dark"] .sector-heading h2,[data-theme="dark"] .sector-time-row strong,[data-theme="dark"] .summary-strip strong,[data-theme="dark"] .chart-head h3{color:#e0eaf4}[data-theme="dark"] .track-country{border-color:var(--line);color:#94a9bc}[data-theme="dark"] .summary-strip>div,[data-theme="dark"] .rail-foot,[data-theme="dark"] .workspace-footer,[data-theme="dark"] .session-result,[data-theme="dark"] .lap-choice{border-color:var(--line)}
[data-theme="dark"] .map-view-switch button{color:#a1b4c6}[data-theme="dark"] .map-view-switch button.selected{background:#2b3e52;color:#e1edf9}[data-theme="dark"] .map-wrap{background:#15171a}[data-theme="dark"] .map-wrap.layer-none{background:var(--surface)}[data-theme="dark"] .track-edge{stroke:#484c52}[data-theme="dark"] #track-road{stroke:#2c3035}[data-theme="dark"] .line-halo{stroke:#15171a;stroke-opacity:.9}[data-theme="dark"] #track-line-a{stroke:#79b5ff}[data-theme="dark"] #track-line-b{stroke:#ff958a}[data-theme="dark"] .map-sector-label rect{fill:#292e35;stroke:#484e58}[data-theme="dark"] .map-sector-label text{fill:#bacada}[data-theme="dark"] .sector-leader{stroke:#91a9bd}[data-theme="dark"] .map-tile{filter:saturate(.4) brightness(.45)}[data-theme="dark"] .event-legend{background:#192b3bef;color:#b9cada;border-color:#344a5f}[data-theme="dark"] .map-attribution,[data-theme="dark"] .layer-street .map-attribution{background:#232629e8;color:#9eb5c9}[data-theme="dark"] .map-telemetry,[data-theme="dark"] .layer-street .map-telemetry{background:#282b30ed;border:1px solid #3d5266}
[data-theme="dark"] .playback-bar{border-color:var(--line);color:#a8bcce}[data-theme="dark"] .play-button{background:#2e333a;color:#c4dcf1}[data-theme="dark"] .playback-bar select,[data-theme="dark"] .telemetry-actions select{background:var(--surface);color:#c4d5e5}[data-theme="dark"] .segmented{background:#25292f}[data-theme="dark"] .segmented button{color:#8fa9bf}[data-theme="dark"] .segmented button.active{background:#444b56;color:#e2f0ff;box-shadow:none}[data-theme="dark"] .graph-zoom-toolbar button{background:#25292f;border-color:#424851;color:#c6dbed}[data-theme="dark"] .graph-zoom-toolbar{color:#9eb5c9}[data-theme="dark"] .chart-axis{fill:#95adc2}[data-theme="dark"] .sector-chart-label{fill:#829cb3}[data-theme="dark"] .sector-chart-label.selected{fill:#91c4ff}[data-theme="dark"] .chart-unit,[data-theme="dark"] .metric-help,[data-theme="dark"] .add-graph-row>span{color:#95adc2}[data-theme="dark"] .blue-text,[data-theme="dark"] .sector-time-row .blue-text{color:#87bbff}[data-theme="dark"] .red-text,[data-theme="dark"] .sector-time-row .red-text{color:#ff9b91}
[data-theme="dark"] .sector-cell.active{background:#20344d;border-color:#5985b4}[data-theme="dark"] .sector-card-heading,[data-theme="dark"] .sector-heading>span,[data-theme="dark"] .sector-heading button,[data-theme="dark"] .best-sectors-toggle{color:#9cb1c6}[data-theme="dark"] .sector-active-label{color:#91c4ff}[data-theme="dark"] .absolute-sector{border-color:#3a495a;background:#1f2a3d;color:#b5a5df}[data-theme="dark"] .absolute-sector span,[data-theme="dark"] .absolute-sector small{color:#ada2c4}[data-theme="dark"] .time-gain{color:#71d6b4}[data-theme="dark"] .time-loss{color:#f8988e}
[data-theme="dark"] .field select,[data-theme="dark"] .field input,[data-theme="dark"] .filter-row select,[data-theme="dark"] .custom-name input,[data-theme="dark"] .offset-controls input{background:#17191d;color:#d6e5f3;border-color:#41464e}[data-theme="dark"] .field label,[data-theme="dark"] .detail-column dd,[data-theme="dark"] .session-info-grid b{color:#c3d5e5}[data-theme="dark"] .modal-intro,[data-theme="dark"] .field-note,[data-theme="dark"] .guide-steps p,[data-theme="dark"] .privacy-note p,[data-theme="dark"] .export-checks,[data-theme="dark"] .detail-column dt{color:#9cafc1}[data-theme="dark"] .privacy-note,[data-theme="dark"] .session-track-icon,[data-theme="dark"] .guide-steps>div>span{background:#292d33;color:#b5cee7}[data-theme="dark"] .session-info-grid>div,[data-theme="dark"] .shortcut-grid>span{background:#25292e;border-color:#3c4149}[data-theme="dark"] .action-list button{border-color:#3c4149;color:#b4cbdf}
[data-theme="dark"] #custom-sector-editor{background:#142f31;border-color:#31585a}[data-theme="dark"] .custom-editor-heading strong,[data-theme="dark"] .custom-summary-heading h2{color:#92d8ca}[data-theme="dark"] .custom-editor-heading p,[data-theme="dark"] .custom-editor-hint,[data-theme="dark"] .custom-name{color:#97bbb5}[data-theme="dark"] .custom-sector-symbol{background:#244c47;border-color:#38766c;color:#a0e3d5}[data-theme="dark"] .sector-mark-button{background:#173c3b;border-color:#37655f}[data-theme="dark"] .sector-mark-button.active{background:#23534b;border-color:#6cbaac;box-shadow:none}[data-theme="dark"] .sector-mark-button b,[data-theme="dark"] .draft-sector-time{color:#ade4d9}[data-theme="dark"] .custom-sector-card.active{background:#183831;border-color:#549e8e;box-shadow:none}[data-theme="dark"] .custom-sector-card .sector-cell{background:transparent}[data-theme="dark"] .custom-sector-actions{border-color:#34574c}[data-theme="dark"] .graph-zoom-toolbar button.create-sector{background:#1c413d;border-color:#3a7165;color:#9cdbca}[data-theme="dark"] .custom-graph-mark rect{fill:#224940}[data-theme="dark"] .custom-graph-mark text{fill:#a0e4d1}
[data-theme="dark"] .video-settings-menu{background:#25282d;border-color:#454b54;color:#becfe0}[data-theme="dark"] .video-settings-menu .video-filename,[data-theme="dark"] .video-settings-menu .video-footer{border-color:#454b54}[data-theme="dark"] .video-settings-menu .sync-label b,[data-theme="dark"] .video-settings-menu .frame-align label{color:#b8ccdf}[data-theme="dark"] .video-settings-menu .offset-controls button{background:#333942;color:#c3d8ea;border-color:#4b5562}[data-theme="dark"] .video-settings-menu .video-footer button{color:#a1c7e5}[data-theme="dark"] .video-panel{border-color:var(--line)}
@media(max-width:560px){.global-nav{flex-wrap:wrap;height:auto;min-height:62px;padding:12px 16px;gap:8px 12px}.global-nav nav{order:3;flex-basis:100%;justify-content:center;align-self:auto;gap:25px}.global-nav nav button{padding:7px 0}.theme-toggle{margin-left:auto;font-size:11px;padding:7px 9px}.map-view-switch button{padding:6px 5px}.fullscreen-transport{width:calc(100% - 20px);bottom:12px;padding:10px;gap:7px}.fullscreen-transport [data-transport-duration]{display:none}.fullscreen-transport>span{font-size:10px}.fullscreen-transport .video-overlay-button{min-width:28px;width:28px}.map-wrap.expanded .map-bottom{bottom:87px}.map-wrap.expanded .event-legend{bottom:146px;top:auto}.video-expanded .video-overlay-controls{bottom:92px}.video-expanded .video-linked{display:none}}

[data-theme="dark"] #play-time,[data-theme="dark"] .play-duration,[data-theme="dark"] .map-bottom,[data-theme="dark"] #map-instruction,[data-theme="dark"] .linked-label{color:#a5bacd}[data-theme="dark"] .map-attribution a{color:#bfd3e5}
/* RaceBox branding and calm, consistent map instruments. */
:root{--red:#ea2127;--map-panel:#f9fafbf2;--map-panel-border:#cdd2d8;--map-panel-text:#3c434c;--map-panel-muted:#6d7580}.brand{display:flex;letter-spacing:normal}.brand img{display:block;width:168px;height:32px;object-fit:contain}.brand .logo-dark{display:none}[data-theme="dark"] .brand .logo-light{display:none}[data-theme="dark"] .brand .logo-dark{display:block}
html[data-theme="dark"]{--red:#ea2127;--ink:#e7e8eb;--muted:#a7a9af;--line:#34373c;--canvas:#111214;--surface:#191b1e;--surface-alt:#25272b;--surface-raised:#24262b;--secondary:#b1b3ba;--chart-grid:#34373c;--chart-mask:#17191d;--map-panel:#282b30ed;--map-panel-border:#484c53;--map-panel-text:#e2e4e9;--map-panel-muted:#afb3bc}
.button.primary,.button.engaged,[data-theme="dark"] .button.primary,[data-theme="dark"] .button.engaged{background:var(--red);border-color:var(--red);color:#fff}.button.primary:hover,.button.engaged:hover,[data-theme="dark"] .button.primary:hover,[data-theme="dark"] .button.engaged:hover{background:#d21b22;border-color:#d21b22}.global-nav nav button.nav-current{border-bottom-color:var(--red)}
.map-telemetry,.layer-street .map-telemetry,[data-theme="dark"] .map-telemetry,[data-theme="dark"] .layer-street .map-telemetry,.lap-chip,.map-small,.map-option-toggles,.event-legend,[data-theme="dark"] .event-legend{background:var(--map-panel);border:1px solid var(--map-panel-border);color:var(--map-panel-text);box-shadow:0 3px 12px #11182708;backdrop-filter:blur(10px);border-radius:8px}
.map-small:hover,.lap-chip:hover{background:var(--surface-raised)}.lap-chip{padding:8px 11px;font-size:11px}.lap-chip b{color:var(--map-panel-text)}.lap-chip .icon{color:var(--map-panel-muted)}.comparison-close{color:var(--map-panel-muted)}.map-telemetry .map-data-head{border-color:var(--map-panel-border)}.map-telemetry .map-data-label,.map-data-label small,.map-telemetry .map-data-head span{color:var(--map-panel-muted)}.map-telemetry .map-a,.map-telemetry:not(.comparison-values) .map-a{color:#376da9}.map-telemetry .map-b{color:#c94f49}[data-theme="dark"] .map-telemetry .map-a,[data-theme="dark"] .map-telemetry:not(.comparison-values) .map-a{color:#9cc5f6}[data-theme="dark"] .map-telemetry .map-b{color:#efaaa3}.map-telemetry .map-data-row strong{font-size:21px;font-weight:550}.map-telemetry>div{margin-bottom:10px}.map-option-toggles{padding:7px 10px}.map-bottom label{color:var(--map-panel-text)}.map-option-toggles input{accent-color:var(--red)}.map-attribution,.layer-street .map-attribution,[data-theme="dark"] .map-attribution,[data-theme="dark"] .layer-street .map-attribution{background:transparent;color:var(--map-panel-muted);bottom:107px}.map-attribution a,[data-theme="dark"] .map-attribution a{color:inherit}.map-bottom #map-instruction{display:none}
.event-legend,[data-theme="dark"] .event-legend{left:20px;bottom:18px;top:auto;transform:none;padding:5px;display:flex;flex-direction:column;align-items:stretch;gap:4px;max-width:calc(100% - 40px)}.event-type-toggles{display:flex;gap:3px}.event-type-toggles button{font-size:12px;gap:7px;padding:8px 9px;min-height:34px;border-radius:5px;color:var(--map-panel-text);border:1px solid transparent}.event-type-toggles button[aria-pressed="true"]{background:var(--surface);border-color:var(--line)}.event-type-toggles button[aria-pressed="false"]{opacity:.45}.event-legend i{width:10px;height:10px;flex-shrink:0}.event-lap-picker{display:flex;align-items:center;gap:4px;border-top:1px solid var(--line);padding:5px 4px 1px}.event-lap-picker>span{font-size:10px;margin-right:5px;color:var(--map-panel-muted)}.event-lap-picker button{font-size:11px;min-width:28px;padding:4px 7px;border-radius:4px;color:var(--map-panel-muted)}.event-lap-picker button[aria-pressed="true"]{background:var(--surface-alt);color:var(--map-panel-text);font-weight:650}.event-lap-picker small{font-size:10px;margin-left:auto;color:var(--map-panel-muted)}.event-brake{--event-color:#e74c55}.event-turn{--event-color:#e9ae29}.event-accel{--event-color:#16aa7a}.event-lap-b{fill:var(--surface)!important;stroke:var(--event-color);stroke-width:2.6}.event-lap-picker button[data-event-lap="a"][aria-pressed="true"]{color:var(--blue)}.event-lap-picker button[data-event-lap="b"][aria-pressed="true"]{color:var(--compare)}
.lap-sort{display:flex;align-items:center;gap:7px;margin:0 7px 14px}.lap-sort label{font-size:11px;color:var(--muted);white-space:nowrap}.lap-sort select{min-width:0;flex:1;padding:7px 4px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font-size:11px}.best-lap-row .lap-main strong,.best-lap-row .lap-main span,.best-lap-row .lap-delta{color:#218753!important}.best-lap-row .lap-number{background:#edf8f1;border-color:#b7ddc7;color:#238554}.best-lap-row.selected{border-color:#aad4bc;background:#f0f8f3}[data-theme="dark"] .best-lap-row .lap-main strong,[data-theme="dark"] .best-lap-row .lap-main span,[data-theme="dark"] .best-lap-row .lap-delta{color:#78c798!important}[data-theme="dark"] .best-lap-row.selected{background:#20332a;border-color:#3f7154}[data-theme="dark"] .best-lap-row .lap-number{background:#274033;border-color:#437958;color:#8bd2a7}.theoretical-lap,[data-theme="dark"] .theoretical-lap{display:flex;align-items:stretch;flex-direction:column;gap:10px;margin:16px 0 10px;padding:15px 12px;border:1px dashed #b9bbc2;background:linear-gradient(135deg,var(--surface),var(--surface-alt));border-radius:9px;position:relative}.theoretical-heading{display:flex;align-items:center;gap:6px;color:var(--red);font-size:9px;letter-spacing:.55px;font-weight:700;white-space:nowrap}.theoretical-heading>span{font-size:20px;line-height:16px}.theoretical-time{font-size:23px;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;letter-spacing:-.5px}.theoretical-source{display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--muted)}.theoretical-source b{font-size:9px;font-weight:500;border:1px solid var(--line);padding:3px 6px;border-radius:4px;align-self:flex-start}.theoretical-lap.selected,[data-theme="dark"] .theoretical-lap.selected{border:1px solid var(--red);box-shadow:inset 3px 0 var(--red);background:var(--surface-alt)}
#add-graph,[data-theme="dark"] #add-graph{background:var(--red);color:#fff;border:1px solid var(--red);padding:11px 22px;min-width:150px;font-size:13px;box-shadow:0 3px 10px #ea212720;opacity:1}#add-graph:hover{background:#d31b22}#add-graph:disabled,[data-theme="dark"] #add-graph:disabled{background:var(--surface-alt);border-color:var(--line);color:var(--muted);box-shadow:none;cursor:default}.add-graph-row{padding-top:12px;gap:14px}#compare-btn>.icon{width:20px;height:20px;stroke-width:1.5}
.field textarea{width:100%;resize:vertical;min-height:105px;max-height:240px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;line-height:1.6}.session-info-grid{grid-template-columns:repeat(3,1fr);margin-bottom:22px}.details-save-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.details-save-row>span{font-size:12px;color:#228b58}.share-details-toggle{display:flex;align-items:center;gap:8px;font-size:13px;margin:0 0 20px;color:var(--secondary)}.share-details-toggle input{accent-color:var(--red)}.field input:focus,.field textarea:focus{outline:2px solid #ea212750;outline-offset:2px}
.map-wrap.expanded .event-legend{bottom:102px;top:auto}.map-wrap.expanded .map-attribution{bottom:192px}
@media(max-width:560px){.brand img{width:147px;height:28px}.map-wrap{height:460px}.event-legend,[data-theme="dark"] .event-legend{left:10px;right:10px;max-width:none;bottom:53px}.event-type-toggles button{flex:1;padding:7px 4px;font-size:11px;gap:6px}.event-legend i{width:9px;height:9px}.map-attribution,.layer-street .map-attribution,[data-theme="dark"] .map-attribution{left:10px;bottom:143px;font-size:8px}.map-bottom{left:10px;right:10px;bottom:12px}.map-option-toggles{justify-content:flex-end;width:auto;margin-left:auto;gap:12px}.map-telemetry .map-data-row strong{font-size:17px}.map-wrap.expanded .event-legend{bottom:133px}.map-wrap.expanded .map-attribution{bottom:222px}.session-info-grid{grid-template-columns:repeat(3,1fr);gap:8px}}
.map-bottom{left:auto;right:18px;bottom:18px;width:auto;justify-content:flex-end}.map-wrap.expanded .map-bottom{left:auto;right:18px}@media(max-width:560px){.map-bottom{left:10px;right:10px;bottom:12px}.map-wrap.expanded .map-bottom{left:10px;right:10px}}
.event-legend,[data-theme="dark"] .event-legend{pointer-events:auto;z-index:5}
/* Revision 7: responsive footage, direct actions and pinned graph inspection. */
html[data-theme="dark"]{--canvas:#1b1c1f;--surface:#232528;--surface-alt:#2d3034;--surface-raised:#303338;--line:#404349;--chart-grid:#3d4045;--chart-mask:#25272b;--map-panel:#32353bed}
[data-theme="dark"] .map-wrap{background:#24262a}[data-theme="dark"] .line-halo{stroke:#24262a}[data-theme="dark"] .map-wrap.layer-none{background:var(--surface)}
.compare-control{display:flex;position:relative}.compare-control.is-comparing #compare-btn{padding-right:43px}.compare-control #quick-stop-compare{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:28px;width:28px;border-radius:5px;color:white;font-size:22px;background:#ffffff14}.compare-control #quick-stop-compare:hover{background:#ffffff30}
.is-comparing .driving-event.event-lap-a{fill:#3988e9!important;stroke:#fff;--event-color:#3988e9}.is-comparing .driving-event.event-lap-b{fill:#ec6860!important;stroke:#fff;stroke-width:2;--event-color:#ec6860}
[data-theme="dark"] .is-comparing .driving-event.event-lap-a{fill:#79b5ff!important}[data-theme="dark"] .is-comparing .driving-event.event-lap-b{fill:#ff958a!important}
.is-comparing .event-legend i{background:var(--map-panel-muted)}
[data-tooltip]{pointer-events:none}[data-tooltip].cursor-pinned{pointer-events:auto}[data-unpin]{cursor:pointer;outline:none}[data-unpin]:hover rect,[data-unpin]:focus rect{fill:#ffffff40}.cursor-pinned>rect{stroke:#95b4d0;stroke-width:1}.telemetry-chart{cursor:crosshair}
.video-quick-actions{position:absolute;right:12px;top:12px;display:flex;gap:5px;z-index:10}.video-settings{right:92px}.two-videos:not([data-expanded="a"]):not([data-expanded="b"]) .video-quick-actions{top:52px}.video-expanded .video-quick-actions{top:18px}
.analysis-card{container-type:inline-size}.map-video-row{display:grid;grid-template-columns:minmax(0,1fr);position:relative}.map-wrap{container-type:inline-size;flex:none}.video-panel{min-width:0}.lap-video-card{min-width:0}.video-panel.video-expanded,.video-panel:fullscreen{display:block!important}.video-expanded .video-cards{display:grid!important}.video-expanded .lap-video-card{grid-column:auto!important;grid-row:auto!important}
@container (min-width:1320px){
 .map-video-row.has-video:not(.comparison-video){grid-template-columns:minmax(560px,1.15fr) minmax(0,1fr)}
 .has-video:not(.comparison-video)>.map-wrap{grid-column:1;grid-row:1;height:460px}
 .has-video:not(.comparison-video)>.video-panel:not(.video-expanded){display:contents}
 .has-video:not(.comparison-video)>.video-panel:not(.video-expanded)>.video-cards{display:contents}
 .has-video:not(.comparison-video)>.video-panel:not(.video-expanded) .lap-video-card{grid-column:2;grid-row:1}
 .has-video:not(.comparison-video)>.video-panel:not(.video-expanded) .video-frame{height:100%;max-height:none;aspect-ratio:auto}
}
@container (min-width:1600px){
 .map-video-row.has-video.comparison-video{grid-template-columns:minmax(0,1fr) minmax(560px,1.4fr) minmax(0,1fr)}
 .has-video.comparison-video>.map-wrap{grid-column:2;grid-row:1;height:500px}
 .has-video.comparison-video>.video-panel:not(.video-expanded),.has-video.comparison-video>.video-panel:not(.video-expanded)>.video-cards{display:contents}
 .has-video.comparison-video>.video-panel:not(.video-expanded) [data-video-slot="a"]{grid-column:1;grid-row:1}
 .has-video.comparison-video>.video-panel:not(.video-expanded) [data-video-slot="b"]{grid-column:3;grid-row:1}
 .has-video.comparison-video>.video-panel:not(.video-expanded) .video-frame{height:100%;max-height:none;aspect-ratio:auto}
 .has-video.comparison-video>.video-panel:not(.video-expanded) .video-panel-tools{left:auto;right:12px;transform:none}
}
@container (max-width:620px){
 .lap-chips{flex-direction:column;align-items:flex-start;gap:7px}.lap-chips .comparison-close{position:absolute;left:180px;top:45px}.map-telemetry{top:76px;left:12px}.map-telemetry.comparison-values{top:126px;width:150px}.map-data-head,.map-data-row{gap:2px 8px}.map-telemetry .map-data-row strong{font-size:17px}.map-telemetry .map-data-head span{font-size:9px}
 .event-legend,[data-theme="dark"] .event-legend{left:10px;right:10px;bottom:53px;max-width:none}.event-type-toggles button{flex:1}.map-bottom{left:10px;right:10px;bottom:12px}.map-attribution,.layer-street .map-attribution,[data-theme="dark"] .map-attribution{left:10px;bottom:143px;font-size:8px}
}
@media(max-width:560px){.header-actions .compare-control{flex:1;min-width:0}.compare-control #compare-btn{width:100%}.video-settings{right:88px}.video-quick-actions{right:10px}.video-expanded[data-expanded="both"] .video-quick-actions{top:85px}.video-expanded[data-expanded="both"] .video-settings{right:10px}.video-expanded[data-expanded="both"] .video-slot-badge{left:8px}.map-telemetry.comparison-values{width:128px}}
.rail-toggle{height:32px;width:32px;align-self:flex-end;margin:-12px -6px 14px 0;border:1px solid var(--line);border-radius:6px;color:var(--secondary);background:var(--surface)}.rail-toggle .icon{width:18px;height:18px}.rail-compact-lap{display:none}.app-shell.rail-collapsed{grid-template-columns:94px minmax(0,1fr)}.rail-collapsed .session-rail{padding:24px 8px}.rail-collapsed .session-rail>*:not(.rail-toggle):not(.rail-compact-lap){display:none}.rail-collapsed .rail-toggle{align-self:center;margin:-9px 0 24px}.rail-collapsed .rail-toggle .icon{transform:rotate(180deg)}.rail-collapsed .rail-compact-lap{display:flex;flex-direction:column;gap:9px;align-items:center;padding:13px 3px;border:1px solid var(--line);border-radius:8px;background:var(--surface);width:100%;color:var(--ink)}.rail-compact-lap>span{font-size:10px;letter-spacing:1px;color:var(--muted)}.rail-compact-lap>b{font-size:11px;font-weight:500}.rail-compact-lap>strong{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--blue)}
@media(max-width:850px){.app-shell.rail-collapsed{grid-template-columns:1fr}.rail-toggle{display:none}}

.analysis-card:has(.map-wrap.expanded,.video-expanded){container-type:normal}
.video-settings-menu{right:-80px}@media(max-width:560px){.video-settings-menu{right:-78px}.video-expanded[data-expanded="both"] .video-settings-menu{right:0}}

.event-legend .legend-accel{width:11px;height:10px;border:0;background:#16aa7a;clip-path:polygon(50% 0,100% 100%,0 100%)}.is-comparing .event-legend .legend-accel{background:var(--map-panel-muted)}
/* Revision 8: compact graph controls and clearer selectors. */
.telemetry-section{margin-top:12px}.telemetry-header{margin-bottom:8px;min-height:38px}.chart-card{padding-top:12px}.chart-head{margin-bottom:5px;min-height:34px}
.metric-select,[data-theme="dark"] .metric-select{max-width:245px;min-width:84px;height:34px;padding:6px 28px 6px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-alt);color:var(--ink);font-size:13px;font-weight:550;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' stroke='%237d8790' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:12px;background-position:right 10px center}.metric-select:hover{border-color:#9baab7}.chart-dot{display:none}
.units-control{display:flex;align-items:center;gap:8px;padding:0 0 0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--secondary);font-size:12px;font-weight:550}.telemetry-actions .units-control select,[data-theme="dark"] .telemetry-actions .units-control select{height:38px;min-width:77px;padding:7px 10px;font-size:14px;font-weight:600;color:var(--ink);background:transparent;border:0;border-left:1px solid var(--line);border-radius:0 7px 7px 0}.units-control:hover{border-color:#9baab7}.units-control:focus-within{outline:2px solid #ea212750;outline-offset:2px}
#graph-navigation{border-top:1px solid var(--line);margin:0;padding:8px 0 1px;min-height:39px;gap:8px;flex-wrap:nowrap}#graph-navigation>span:first-child{display:inline;font-size:11px;margin:0 2px 0 0}#graph-navigation button{height:28px;min-width:28px;border-color:var(--line);background:var(--surface-alt);font-size:17px}#graph-navigation #graph-zoom-label{min-width:35px;font-size:11px}#graph-navigation input{max-width:240px;min-width:80px;width:150px;margin-left:auto;height:18px;flex:1}
.sector-heading #create-sector{margin-left:8px;min-height:34px;padding:7px 12px;border:1px solid #bfd8d3;border-radius:7px;background:#f0f9f6;color:#237b6f;font-size:12px;font-weight:550;white-space:nowrap}.sector-heading #create-sector:hover{background:#e1f1ec}[data-theme="dark"] .sector-heading #create-sector{background:#29463f;border-color:#49796c;color:#b4dfd0}.sector-heading #create-sector:disabled{opacity:.5}.sector-summary{margin-top:16px}
[data-tooltip] text{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}
@media(max-width:560px){.telemetry-header{row-gap:7px}.telemetry-actions{align-items:center}.units-control{gap:7px;padding-left:9px;font-size:11px}.telemetry-actions .units-control select{height:38px;min-width:73px;font-size:14px}.comparison-axis{gap:5px}.comparison-axis>span{font-size:10px}.segmented button{padding:6px 8px}.chart-head{flex-wrap:wrap;gap:7px}.chart-readouts{margin-left:auto;gap:8px}.metric-select{max-width:210px}.chart-head:has(.close-chart) .chart-readouts{margin-left:auto}.sector-heading #create-sector{margin-left:auto;font-size:12px}.sector-heading{gap:8px}#graph-navigation{gap:6px}#graph-navigation input{max-width:150px;min-width:65px}}
@media(max-width:560px){.header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.header-actions>.button,.header-actions>.compare-control{width:100%;min-width:0}.header-actions .button{min-height:43px}.compare-control.is-comparing #compare-btn{padding-right:34px;justify-content:flex-start;gap:6px}.compare-control #quick-stop-compare{right:5px;width:24px;height:26px}.compare-summary{min-width:0}.header-actions .compare-summary small{white-space:normal;letter-spacing:.2px;font-size:7px;line-height:1.3}.header-actions .compare-summary b{font-size:10px;white-space:nowrap}.header-actions #compare-btn>.icon{width:16px;height:16px}}

/* Revision 9: range detail, neutral sector blocks and independent preview chrome. */
.units-control:focus-within{outline:none}
.telemetry-actions .units-control select:focus{outline:none;box-shadow:none}
.units-control.keyboard-focus:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #4389ed40}
.absolute-sector,[data-theme="dark"] .absolute-sector{background:transparent;border-color:var(--line);color:var(--ink)}
.absolute-sector span,.absolute-sector small,[data-theme="dark"] .absolute-sector span,[data-theme="dark"] .absolute-sector small{color:var(--muted)}
.absolute-sector b,[data-theme="dark"] .absolute-sector b{color:var(--ink)}
.button.subscription-button,[data-theme="dark"] .button.subscription-button{background:var(--surface-alt);color:var(--muted);border-color:var(--line);box-shadow:none}
.button.subscription-button:hover,[data-theme="dark"] .button.subscription-button:hover{color:var(--ink);border-color:var(--muted)}
.subscription-button .icon:last-child{width:12px;height:12px;opacity:.8;margin-left:-3px}
.subscription-notice{display:flex;align-items:flex-start;gap:16px;margin:12px 0 24px;line-height:1.65;color:var(--secondary)}
.subscription-notice>.icon{width:42px;height:42px;padding:10px;background:var(--surface-alt);border:1px solid var(--line);border-radius:10px}
.subscription-notice p{margin:0;font-size:15px}
.driving-event .event-glyph{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[data-theme="dark"] .is-comparing .driving-event .event-glyph{stroke:#172532}
[data-marker-style="badges"] .event-legend i{clip-path:none;transform:none;border-radius:50%;width:14px;height:14px;display:grid;place-items:center;color:white;font-size:9px;font-style:normal;font-weight:700}
[data-marker-style="badges"] .legend-brake:after{content:'Ⅱ'}
[data-marker-style="badges"] .legend-turn:after{content:'↱'}
[data-marker-style="badges"] .legend-accel:after{content:'⌃'}
.development-toolbar{position:relative;z-index:25;background:#eceeef;color:#4b5158;border-bottom:1px solid #cbd0d5;font-size:12px;box-shadow:0 1px 4px #1015190a}
.development-topline{min-height:30px;display:flex;align-items:center;gap:14px;padding:0 18px}
.development-toolbar button{color:#4b5158;font-size:12px;border-radius:4px;min-height:27px;padding:4px 8px}
.development-toolbar button:hover{background:#dce1e5}
#development-toggle{font-weight:600;padding-left:0;gap:8px}
#development-toggle>span:first-child{font-family:ui-monospace,monospace;font-weight:600;color:#7e878f}
.development-chevron{transition:transform .15s}
#development-toggle[aria-expanded="true"] .development-chevron{transform:rotate(180deg)}
#development-status{color:#7b838a;font-size:11px;margin-left:auto;font-variant-numeric:tabular-nums}
#development-reset{border:1px solid #c2c9ce;min-height:23px;font-size:11px;padding:2px 8px}
#development-controls{display:flex;align-items:flex-end;gap:18px;padding:10px 18px 14px;border-top:1px solid #d8dde1;flex-wrap:wrap}
#development-resolution{display:flex;align-items:flex-end;gap:14px}
#development-controls label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:550;color:#737c84}
#development-controls select,#development-controls input{border:1px solid #c4ccd2;border-radius:5px;height:33px;background:#fff;color:#3b4650;padding:5px 8px;font-size:12px;font-weight:500}
#development-controls select{max-width:245px}
.development-dimensions{display:flex;gap:7px;align-items:flex-end}
.development-dimensions>span{margin-bottom:9px;color:#949da5}
.development-dimensions input{width:74px;font-variant-numeric:tabular-nums}
#development-controls button[type="submit"]{height:33px;background:#505b65;color:#fff;border:1px solid #505b65;padding:5px 13px}
.development-note{font-size:11px;color:#889198;max-width:210px;line-height:1.5;margin:0 0 2px auto}
.development-preview-active{overflow:hidden}
.development-preview{position:fixed;inset:30px 0 0;z-index:24;display:grid;place-items:center;overflow:auto;padding:20px;background:#d7dbdf;background-image:radial-gradient(#bbc2c8 1px,transparent 1px);background-size:12px 12px}
.development-frame-holder{position:relative;flex-shrink:0;box-shadow:0 4px 28px #252c3940;outline:1px solid #9ba5ad;background:var(--canvas)}
.development-frame-holder iframe{display:block;position:absolute;left:0;top:0;border:0;transform-origin:top left;background:var(--canvas)}
[data-theme="dark"] .development-toolbar{background:#303337;color:#c1c6cb;border-color:#50565b}
[data-theme="dark"] .development-toolbar button{color:#c1c6cb}
[data-theme="dark"] .development-toolbar button:hover{background:#44494f}
[data-theme="dark"] #development-controls{border-color:#474d53}
[data-theme="dark"] #development-controls label,[data-theme="dark"] #development-status{color:#abb2b9}
[data-theme="dark"] #development-controls select,[data-theme="dark"] #development-controls input{background:#24272b;color:#e2e6ea;border-color:#5b626a;color-scheme:dark}
[data-theme="dark"] .development-preview{background-color:#24272b;background-image:radial-gradient(#3d4248 1px,transparent 1px)}
@media(max-width:750px){.development-note{display:none}#development-controls{gap:12px}.development-topline{padding:0 10px;gap:8px}#development-status{font-size:10px}#development-resolution{flex-wrap:wrap;gap:10px}.development-toolbar #development-toggle{font-size:11px}}
@media(max-width:430px){#development-status{max-width:100px;line-height:1.25}#development-reset{max-width:78px}.development-topline{min-height:34px}#development-controls{padding:10px}.development-dimensions input{width:80px}#development-controls select{max-width:270px}}

/* Revision 10: optional compact deck, letter pins and session corner analysis. */
.theoretical-lap,[data-theme="dark"] .theoretical-lap{gap:4px;padding:10px 11px;margin-top:12px}
.theoretical-heading{gap:6px}.theoretical-heading>span{font-size:17px;line-height:18px}
.theoretical-time{font-size:20px;line-height:1.2}.theoretical-source{display:block;font-size:10px;line-height:1.35}
.driving-event .event-letter{fill:white;stroke:none;font:750 9px Inter,sans-serif}
.driving-event .event-stem{fill:none;stroke:currentColor;stroke-width:1.7}.event-brake{color:#e44e50}.event-turn{color:#d79714}.event-accel{color:#259b73}
.driving-event .event-pill{stroke:white;stroke-width:1.3}.driving-event .event-anchor{stroke:white;stroke-width:1}
.is-comparing .event-lap-a{color:#4389ed}.is-comparing .event-lap-b{color:#ed6c66}
[data-marker-style="pills"] .event-legend i{clip-path:none;transform:none;border-radius:4px;width:17px;height:15px;display:grid;place-items:center;color:white;font-size:10px;font-style:normal;font-weight:700}
[data-marker-style="pills"] .legend-brake:after{content:'B'}[data-marker-style="pills"] .legend-turn:after{content:'T'}[data-marker-style="pills"] .legend-accel:after{content:'A'}
.map-range-highlight{fill:none;stroke:#ea2127;stroke-opacity:.24;stroke-width:15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.analysis-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;align-items:start}
.analysis-disclosure{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden;min-width:0}
.analysis-disclosure[open]{grid-column:1/-1}
.analysis-disclosure>summary{display:flex;align-items:center;gap:9px;min-height:43px;padding:10px 13px;cursor:pointer;list-style:none}
.analysis-disclosure>summary::-webkit-details-marker{display:none}.analysis-disclosure>summary:hover{background:var(--surface-alt)}
.analysis-disclosure>summary strong{font-size:12px;font-weight:600}.analysis-disclosure>summary small{color:var(--muted);font-size:10px;margin-left:auto;white-space:nowrap}
.analysis-section-icon{color:var(--red);font-size:19px;line-height:18px}.analysis-chevron{font-size:17px;color:var(--muted);line-height:15px}.analysis-disclosure[open]>summary .analysis-chevron{transform:rotate(180deg)}
.analysis-disclosure[open]>summary{border-bottom:1px solid var(--line)}.analysis-disclosure-body{padding:18px}
.analysis-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:17px}.analysis-intro p{font-size:12px;line-height:1.6;margin:0;color:var(--secondary)}.analysis-intro>span{font-size:10px;line-height:1.5;color:var(--muted);text-align:right;max-width:250px}
.corner-analysis-grid,.opportunities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.corner-analysis-card,.opportunity-card{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden;min-width:0}
.corner-analysis-card.active,.opportunity-card.active{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.corner-card-open{width:100%;justify-content:flex-start;gap:10px;padding:12px;text-align:left}.corner-card-open>.corner-preview{width:48px;height:51px;flex:none}
.corner-card-open>span{min-width:0}.corner-card-open b{font-size:13px;font-weight:650}.corner-card-open small{display:block;font-size:9px;color:var(--muted);margin-top:4px;line-height:1.4}
.corner-card-open>strong{margin-left:auto;font-size:15px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}.corner-card-open>strong small{font-size:11px}
.corner-preview-bed{fill:none;stroke:var(--line);stroke-width:9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.corner-preview-line{fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.corner-preview-apex{fill:var(--red);stroke:var(--surface);stroke-width:1;vector-effect:non-scaling-stroke}.corner-preview-entry{fill:var(--surface);stroke:var(--blue);stroke-width:1.5;vector-effect:non-scaling-stroke}.corner-preview-exit{fill:var(--blue);stroke:var(--surface);stroke-width:1;vector-effect:non-scaling-stroke}
.corner-speed-phases{display:grid;grid-template-columns:repeat(3,1fr);padding:12px 8px;background:var(--surface-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.corner-speed-phases>div{padding:0 8px;border-right:1px solid var(--line)}.corner-speed-phases>div:last-child{border:0}.corner-speed-phases span{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.corner-speed-phases strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.corner-speed-phases strong small{font-size:9px;font-weight:400;margin-left:4px;color:var(--muted)}.corner-speed-phases>div>small{display:block;font-size:11px;margin-top:4px}
.corner-benchmark{padding:10px 12px;display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted);line-height:1.5}.corner-benchmark b{font-weight:600;color:var(--secondary)}
.corner-measurements{border-top:1px solid var(--line)}.corner-measurements>summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;padding:11px 12px;color:var(--secondary);font-size:11px}.corner-measurements>summary::-webkit-details-marker{display:none}.corner-measurements[open]>summary span{transform:rotate(45deg)}
.corner-measurements dl{margin:0;padding:0 12px 8px}.corner-measurements dl>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:10px;line-height:1.5}.corner-measurements dt{color:var(--muted)}.corner-measurements dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;max-width:59%}.corner-measurements dd span,.corner-measurements dd small{display:block}.corner-measurements dd small{color:var(--muted);font-size:9px}
.analysis-note{font-size:10px;color:var(--muted);line-height:1.6;margin:15px 0 0}.corner-measurements .analysis-note{padding:0 12px 12px;margin:0}
.opportunity-open{display:block;width:100%;text-align:left;padding:16px}.opportunity-open:hover{background:var(--surface-alt)}.opportunity-topline{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.opportunity-rank{color:var(--red);font-size:10px}.opportunity-evidence{margin-left:auto;border-radius:4px;padding:3px 5px;font-size:9px;background:var(--surface-alt);color:var(--muted);font-weight:400}
.opportunity-visual{display:flex;align-items:center;gap:18px;margin:18px 0}.opportunity-visual>.corner-preview{width:85px;height:85px;flex:none}.opportunity-visual>div>span,.opportunity-visual>div>small{display:block;font-size:9px;color:var(--muted);line-height:1.5}.opportunity-visual strong{display:block;font-size:27px;font-weight:650;letter-spacing:-.7px;margin:5px 0;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.opportunity-visual strong small{font-size:13px;font-weight:500;margin-left:4px;color:var(--muted)}
.opportunity-open h3{font-size:14px;font-weight:600;margin:0 0 9px;line-height:1.45}.opportunity-open p{font-size:11px;line-height:1.65;color:var(--secondary);margin:0 0 15px}.opportunity-laps{font-size:10px;line-height:1.6;color:var(--muted)}.opportunity-laps span{display:block}.opportunity-action{display:block;font-size:11px;color:var(--red);font-weight:600;margin-top:15px}
.opportunity-footer{border-top:1px solid var(--line);padding:10px 14px;display:flex;gap:10px;align-items:center;justify-content:space-between}.opportunity-footer>span{font-size:9px;color:var(--muted);line-height:1.5}.opportunity-footer>button{font-size:10px;white-space:nowrap;padding:7px 8px;border-radius:5px;background:var(--surface-alt);border:1px solid var(--line)}
.analysis-method{margin-top:16px;font-size:11px;color:var(--secondary);line-height:1.65}.analysis-method summary{cursor:pointer;color:var(--muted)}.analysis-method a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.analysis-focus{grid-column:1/-1;background:var(--surface);border-left:3px solid var(--red);border-radius:4px;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:11px;color:var(--secondary)}.analysis-focus button{padding:5px 7px;border-radius:4px;color:var(--red);font-size:11px;white-space:nowrap}
.telemetry-section{container-type:inline-size;container-name:telemetry}
[data-graph-style="compact"] #graphs{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:0 0 9px 9px;background:var(--surface);overflow:hidden}
[data-graph-style="compact"] .chart-card{border:0;border-radius:0;border-right:1px solid var(--line);margin:0;padding:9px 12px 0;min-width:0;background:transparent}
[data-graph-style="compact"] .chart-card:last-child{border-right:0}
[data-graph-style="compact"] .chart-head{gap:6px;flex-wrap:wrap;min-height:34px;margin-bottom:4px}
[data-graph-style="compact"] .chart-dot{display:none}[data-graph-style="compact"] .chart-unit{display:none}
[data-graph-style="compact"] .chart-readouts{font-size:10px;gap:5px;line-height:1.4;margin-left:auto;flex-direction:column;align-items:flex-end}
[data-graph-style="compact"] .metric-select{font-size:12px;max-width:155px;padding:6px 25px 6px 8px;height:31px}
[data-graph-style="compact"] .close-chart{width:20px;font-size:19px;flex:none}
#compact-graph-navigation{border:1px solid var(--line);border-bottom:0;background:var(--surface);border-radius:9px 9px 0 0;padding:0 12px}
#compact-graph-navigation #graph-navigation{border:0;min-height:35px;padding:3px 0}
#compact-graph-navigation input{max-width:260px}
@container telemetry (min-width:760px){[data-graph-style="compact"] #graphs:not([data-count="1"]){grid-template-columns:repeat(2,minmax(0,1fr))}}
@container telemetry (min-width:1080px){[data-graph-style="compact"] #graphs[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){
 [data-graph-style="compact"] .global-nav{height:58px}
 [data-graph-style="compact"] main{padding-top:16px}
 [data-graph-style="compact"] .workspace-heading{margin-bottom:12px}
 [data-graph-style="compact"] .summary-strip{padding:11px 0;margin-bottom:12px}
 [data-graph-style="compact"] .map-wrap:not(.expanded){height:320px}
 [data-graph-style="compact"] .playback-bar{padding-top:8px;padding-bottom:8px}
 [data-graph-style="compact"] .analysis-insights{margin-top:8px}
 [data-graph-style="compact"] .analysis-disclosure>summary{min-height:39px;padding-top:8px;padding-bottom:8px}
 [data-graph-style="compact"] .telemetry-section{margin-top:8px}
 [data-graph-style="compact"] .graph-footer{margin-top:7px}
}
@container (min-width:1080px){
 [data-graph-style="compact"] .map-video-row.has-video:not(.comparison-video){grid-template-columns:minmax(500px,1.1fr) minmax(0,1fr)}
 [data-graph-style="compact"] .map-video-row.has-video.comparison-video{grid-template-columns:minmax(0,1fr) minmax(500px,1.5fr) minmax(0,1fr)}
 [data-graph-style="compact"] .has-video>.map-wrap:not(.expanded){grid-column:1;grid-row:1;height:320px}
 [data-graph-style="compact"] .has-video.comparison-video>.map-wrap:not(.expanded){grid-column:2}
 [data-graph-style="compact"] .has-video>.video-panel:not(.video-expanded),[data-graph-style="compact"] .has-video>.video-panel:not(.video-expanded)>.video-cards{display:contents}
 [data-graph-style="compact"] .has-video>.video-panel:not(.video-expanded) .lap-video-card{grid-column:2;grid-row:1}
 [data-graph-style="compact"] .has-video.comparison-video>.video-panel:not(.video-expanded) [data-video-slot="a"]{grid-column:1}
 [data-graph-style="compact"] .has-video.comparison-video>.video-panel:not(.video-expanded) [data-video-slot="b"]{grid-column:3}
 [data-graph-style="compact"] .has-video>.video-panel:not(.video-expanded) .video-frame{height:100%;max-height:none;aspect-ratio:auto;min-height:0}
 [data-graph-style="compact"] .has-video.comparison-video>.video-panel:not(.video-expanded) .video-panel-tools{left:auto;right:12px;transform:none}
}
@media(max-width:1250px){.corner-analysis-grid,.opportunities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-card:last-child{grid-column:1/-1}.opportunity-card:last-child .opportunity-open{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.opportunity-card:last-child .opportunity-topline{grid-column:1/-1}.opportunity-card:last-child .opportunity-visual{grid-row:2/6}.analysis-intro{display:block}.analysis-intro>span{display:block;text-align:left;margin-top:5px;max-width:none}}
@media(max-width:650px){.analysis-insights{grid-template-columns:1fr}.analysis-disclosure-body{padding:12px}.analysis-disclosure>summary{padding:11px}.analysis-disclosure>summary strong{font-size:11px}.corner-analysis-grid,.opportunities-grid{grid-template-columns:1fr}.opportunity-card:last-child .opportunity-open{display:block}.corner-speed-phases strong{font-size:18px}.corner-benchmark{font-size:10px}.analysis-focus{gap:10px;line-height:1.5}.opportunity-visual{justify-content:flex-start;gap:26px}.opportunity-visual>.corner-preview{width:90px;height:90px}}
@media(min-width:1200px){
 [data-graph-style="compact"] .breadcrumb{display:none}
 [data-graph-style="compact"] .summary-strip{padding:8px 0}
 [data-graph-style="compact"] .summary-strip strong{font-size:22px;margin-top:5px}
 [data-graph-style="compact"] .section-toolbar{padding-top:8px;padding-bottom:8px;min-height:40px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-controls{display:grid;grid-template-columns:repeat(2,28px);gap:4px;top:63px;right:16px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-controls button{width:28px;height:28px;min-height:28px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) #map-north{grid-column:1/-1;width:100%;height:34px;flex-direction:row;gap:6px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) #fit-map{grid-column:1/-1;width:100%}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-attribution{bottom:3px;left:18px;font-size:7px;max-width:90%}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-telemetry{top:68px;padding:8px 10px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-data-row{margin-bottom:8px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-data-row:last-child{margin-bottom:0}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-data-row strong{font-size:18px}
}
@media(min-width:1200px) and (max-height:950px){[data-graph-style="compact"] .map-wrap:not(.expanded){height:275px}}
@container (min-width:1080px){@media(max-height:950px){[data-graph-style="compact"] .has-video>.map-wrap:not(.expanded){height:275px}}}
@container (min-width:1080px){
 [data-graph-style="compact"] .has-video>.video-panel:not(.video-expanded) .lap-video-card{height:320px}
 @media(max-height:950px){[data-graph-style="compact"] .has-video>.video-panel:not(.video-expanded) .lap-video-card{height:275px}}
}
@media(min-width:1200px){
 [data-graph-style="compact"] main{padding-top:12px}
 [data-graph-style="compact"] .workspace-heading{margin-bottom:10px}
 [data-graph-style="compact"] h1{font-size:25px;margin-bottom:4px}
 [data-graph-style="compact"] .summary-strip{padding:9px 0;margin-bottom:10px}
 [data-graph-style="compact"] .summary-strip>div{display:flex;align-items:center;gap:9px;padding:0 15px}
 [data-graph-style="compact"] .summary-strip strong{font-size:17px;margin:0;gap:4px;letter-spacing:-.3px}
 [data-graph-style="compact"] .summary-strip .metric-label{font-size:10px}
 [data-graph-style="compact"] .summary-strip .weather-summary>svg{display:none}
 [data-graph-style="compact"] .summary-strip .weather-summary>div{display:flex;align-items:center;gap:9px}
 [data-graph-style="compact"] .section-toolbar{padding:6px 16px;min-height:36px}
 [data-graph-style="compact"] .playback-bar{padding:5px 18px}
 [data-graph-style="compact"] .play-button{height:28px;width:28px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .event-legend{left:12px;right:auto;bottom:21px;max-width:calc(100% - 24px)}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .event-type-toggles button{font-size:10px;gap:5px;padding:6px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-bottom{bottom:21px;right:12px;left:auto}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-option-toggles{gap:7px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-bottom label{font-size:9px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .lap-chips{flex-direction:row;gap:5px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .lap-chip{font-size:10px;padding:6px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .lap-chip b{margin-left:2px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .comparison-close{position:static}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-telemetry.comparison-values{top:65px}
}
[data-graph-style="compact"] .telemetry-header{border:1px solid var(--line);border-radius:9px 9px 0 0;background:var(--surface);padding:6px 10px;gap:12px;margin-bottom:0;flex-wrap:wrap}
[data-graph-style="compact"] .telemetry-header .section-label h2{font-size:12px}
[data-graph-style="compact"] .telemetry-header #cursor-caption{font-size:10px}
[data-graph-style="compact"] .telemetry-header .quiet-separator{margin:0 2px}
[data-graph-style="compact"] #compact-graph-navigation{border:0;padding:0;flex:1;min-width:180px;max-width:310px;margin-left:auto}
[data-graph-style="compact"] #compact-graph-navigation #graph-navigation{min-height:30px;padding:0;gap:5px}
[data-graph-style="compact"] #compact-graph-navigation #graph-pan{width:85px;min-width:55px;max-width:120px}
[data-graph-style="compact"] #graphs{border-top:0}
@media(min-width:1200px){[data-graph-style="compact"] .units-control{font-size:10px;gap:7px;padding-left:8px}[data-graph-style="compact"] .telemetry-actions .units-control select{height:30px;font-size:12px;min-width:70px}}
@media(max-width:650px){[data-graph-style="compact"] #compact-graph-navigation{order:3;flex-basis:100%;max-width:none}[data-graph-style="compact"] .chart-card{border-right:0;border-bottom:1px solid var(--line)}}
@media(min-width:1200px){[data-graph-style="compact"] .map-wrap:not(.expanded) .map-controls>span{display:none}}
.analysis-insights:has(.analysis-disclosure[open]) .analysis-disclosure{grid-column:1/-1}
@media(min-width:1200px){
 [data-graph-style="compact"] main{padding-top:8px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .map-telemetry.comparison-values{width:184px;padding:6px 8px;top:60px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .comparison-values .map-data-head{grid-template-columns:46px 46px;justify-content:end;gap:7px;margin-bottom:5px;padding-bottom:5px;min-height:18px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .comparison-values .map-data-row{grid-template-columns:58px 46px 46px;align-items:center;gap:3px 7px;margin-bottom:4px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .comparison-values .map-data-row:last-child{margin-bottom:0}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .comparison-values .map-data-label{grid-column:auto;display:block;margin:0;font-size:8px;line-height:1.15}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .comparison-values .map-data-label small{display:block;font-size:7px;float:none;margin-top:2px}
 [data-graph-style="compact"] .map-wrap:not(.expanded) .comparison-values .map-data-row strong{font-size:16px}
}
[data-theme="dark"] .analysis-focus button,[data-theme="dark"] .opportunity-action,[data-theme="dark"] .opportunity-rank,[data-theme="dark"] .analysis-section-icon{color:#ff8b80}
[data-theme="dark"] .is-comparing .driving-event .event-letter{fill:#172532}

/* Revision 12: graphs-only deck, persistent section review and stronger RaceBox cues. */
:root{--gain:#167947;--loss:#bc3f3f;--brand-tint:#ea212709}
[data-theme="dark"]{--gain:#79dca6;--loss:#ffa299;--brand-tint:#ea21270d}
.global-nav{border-bottom-color:#ea21272b}.global-nav nav button.active{color:var(--red)}
.section-label h2{position:relative}.telemetry-header .section-label h2:before{content:'';display:inline-block;width:3px;height:13px;background:var(--red);border-radius:2px;margin-right:8px;vertical-align:-2px}
.section-toolbar{box-shadow:inset 3px 0 var(--red)}
.lap-row.selected{box-shadow:inset 3px 0 var(--red)}
.button.engaged,.button.primary{box-shadow:0 2px 6px #ea212715}
.analysis-insights{display:block}.analysis-insights .analysis-focus{margin-top:8px}
.analysis-disclosure{border-color:var(--line);border-top:2px solid #ea21277a}
.analysis-disclosure>summary{min-height:45px}.analysis-disclosure>summary strong{font-size:13px}
.analysis-section-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:6px;background:var(--brand-tint);flex:none}
.analysis-disclosure>summary:hover{background:var(--brand-tint)}
.advanced-insights{margin-top:14px}
.analysis-focus{gap:12px;line-height:1.45;min-height:43px}
.analysis-focus-actions{display:flex;gap:7px;flex:none}
.analysis-focus-actions [data-analysis-play]{background:var(--brand-tint);border:1px solid #ea212744;padding:6px 10px;font-weight:600}
.analysis-focus [data-focus-label]{font-size:12px}
.theoretical-short-name,.partial-time,.rail-compact-summary{display:none}
.theoretical-heading>.theoretical-full-name,.theoretical-heading>.theoretical-short-name{font-size:9px;line-height:1.3}
.app-shell.rail-collapsed .session-rail>.rail-compact-summary{display:flex;flex-direction:column;align-items:center;gap:5px;margin:0 0 12px;color:var(--secondary)}
.rail-compact-summary>span{font-size:11px;font-weight:650;letter-spacing:.6px}.rail-compact-summary>small{font-size:10px;color:var(--muted)}
.app-shell.rail-collapsed .session-rail>#lap-list{display:block;width:100%}
.rail-collapsed .rail-toggle{margin-bottom:14px}
.rail-collapsed .lap-row{display:flex;flex-direction:column;gap:5px;align-items:center;padding:10px 3px;margin-bottom:5px;width:100%;min-height:55px;border-radius:7px;border:1px solid var(--line)}
.rail-collapsed .lap-row.selected{border-color:#ea212780}
.rail-collapsed .lap-number{display:block;width:auto;height:auto;border:0;background:transparent;padding:0;font-size:10px;color:var(--secondary);line-height:1.2}
.rail-collapsed .lap-number:before{content:'Lap '}
.rail-collapsed .lap-main{display:block}.rail-collapsed .lap-main strong{font-size:13px;letter-spacing:-.4px}
.rail-collapsed .lap-main>span,.rail-collapsed .lap-delta{display:none}
.rail-collapsed .best-lap-row .lap-number,.rail-collapsed .best-lap-row .lap-main strong{color:var(--gain)}
.rail-collapsed .theoretical-heading{font-size:9px;letter-spacing:0;display:block;line-height:1.3}
.rail-collapsed .theoretical-full-name,.rail-collapsed .theoretical-diamond,.rail-collapsed .theoretical-source{display:none}
.rail-collapsed .theoretical-short-name{display:inline}.rail-collapsed .theoretical-time{font-size:13px}
.rail-collapsed .theoretical-lap{margin-top:10px;border-style:dashed;border-color:#ea212769}
.rail-collapsed .partial-laps{display:grid;grid-template-columns:1fr;gap:6px;padding-top:7px;border-top:1px solid var(--line)}
.rail-collapsed .partial-laps button{display:flex;flex-direction:column;gap:4px;font-size:10px;padding:8px 2px;border:1px solid var(--line);border-radius:6px}
.rail-collapsed .partial-laps button.active{border-color:var(--red);background:var(--brand-tint)}
.rail-collapsed .partial-time{display:block;font-size:12px;font-weight:550;color:var(--secondary)}
[data-graph-style="side-by-side"] #graphs{display:grid;grid-template-columns:1fr;gap:10px}
[data-graph-style="side-by-side"] .chart-card{margin-bottom:0;min-width:0}
[data-graph-style="side-by-side"] .chart-head{flex-wrap:wrap;gap:7px}
[data-graph-style="side-by-side"] .chart-readouts{gap:6px;flex-wrap:wrap}
[data-graph-style="side-by-side"] .metric-select{max-width:calc(100% - 65px)}


.opportunities-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,315px),1fr));align-items:stretch;gap:14px}
.opportunity-card{display:flex;flex-direction:column;border-top:3px solid #ea212759;background:var(--surface);transition:border-color .16s,box-shadow .16s}
.opportunity-card:hover{border-color:#ea212773;box-shadow:0 4px 16px #15212c08}
.opportunity-card.active{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.opportunity-card:last-child{grid-column:auto}
.opportunity-card .opportunity-open,.opportunity-card:last-child .opportunity-open{display:flex;flex-direction:column;flex:1;width:100%;padding:16px;text-align:left;gap:0;background:transparent}
.opportunity-card .opportunity-open:hover{background:var(--brand-tint)}
.opportunity-topline{width:100%;gap:9px;font-size:14px}
.opportunity-rank{display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:var(--brand-tint);font-size:11px;font-weight:700;flex:none}
.opportunity-section-name{font-size:14px;font-weight:650}.opportunity-section-name small{display:block;font-size:11px;font-weight:450;color:var(--muted);margin-top:3px}
.opportunity-evidence{font-size:10px;font-weight:500;padding:4px 6px;white-space:nowrap}
.opportunity-visual{width:100%;justify-content:space-between;gap:10px;margin:19px 0 17px;min-height:86px}
.opportunity-visual>.corner-preview{width:65px;height:80px;flex:none;padding:3px}
.opportunity-visual .opportunity-saving>span{font-size:12px;font-weight:550;color:var(--secondary)}
.opportunity-visual .opportunity-saving>small{font-size:11px;color:var(--muted)}
.opportunity-visual .opportunity-saving strong{font-size:28px;line-height:1.2;letter-spacing:-.8px;color:var(--gain);margin:6px 0;white-space:nowrap}
.opportunity-saving strong>small{color:var(--gain);font-size:14px;margin-left:4px}
.gain-range-separator{font-size:11px;font-weight:450;letter-spacing:0;margin:0 5px;color:var(--gain)}
.opportunity-pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;margin-bottom:14px}
.opportunity-pass{border:1px solid var(--line);border-radius:8px;overflow:hidden;text-align:left}
.current-pass{background:#c2434306;border-color:#be494920}.best-pass{background:#16865307;border-color:#16865325}
[data-theme="dark"] .current-pass{background:#e9615c08;border-color:#e9615c30}[data-theme="dark"] .best-pass{background:#34bb790a;border-color:#5dcb9138}
.opportunity-pass-heading{padding:9px 10px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.opportunity-pass-heading>span{font-size:10px;font-weight:650;letter-spacing:.35px;text-transform:uppercase}.opportunity-pass-heading>b{font-size:12px;font-weight:550}
.current-pass .opportunity-pass-heading,.current-pass dd,.current-pass .opportunity-pass-time strong{color:var(--loss)}
.best-pass .opportunity-pass-heading,.best-pass dd,.best-pass .opportunity-pass-time strong{color:var(--gain)}
.opportunity-pass dl{margin:0;padding:10px;display:grid;gap:11px}
.opportunity-pass dl>div{display:flex;flex-direction:column;gap:4px}.opportunity-pass dt{font-size:11px;color:var(--secondary)}
.opportunity-pass dd{margin:0;font-size:19px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums}
.opportunity-pass dd>small{font-size:10px;font-weight:450;margin-left:4px;color:var(--muted)}
.opportunity-pass-time{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;padding:9px 10px;border-top:1px solid var(--line)}
.opportunity-pass-time strong{font-size:16px;font-variant-numeric:tabular-nums}.opportunity-pass-time strong small{font-size:10px;margin-left:3px}
.opportunity-pass-time>span{font-size:9px;color:var(--muted)}
.opportunity-open .opportunity-description{font-size:12px;line-height:1.6;margin:0 0 15px;color:var(--secondary);width:100%}
.opportunity-action{font-size:12px;margin-top:auto;align-self:flex-start;font-weight:600;color:var(--red)}
.opportunity-footer{margin-top:auto;padding:11px 14px;gap:7px;flex-wrap:wrap}
.opportunity-footer>span{font-size:10px}.opportunity-footer>button{font-size:11px;font-weight:550;margin-left:auto;border-color:#ea212739;background:var(--brand-tint)}
@media(max-width:650px){.analysis-focus{align-items:flex-start;flex-direction:column;gap:6px}.analysis-focus-actions{width:100%;justify-content:space-between}.opportunity-card .opportunity-open,.opportunity-card:last-child .opportunity-open{padding:14px}.opportunity-visual{gap:8px}.opportunity-visual>.corner-preview{width:57px;height:75px}.opportunity-visual .opportunity-saving strong{font-size:27px}.opportunity-evidence{font-size:9px}.analysis-disclosure>summary strong{font-size:12px}.opportunity-pass dd{font-size:20px}}

/* Revision 13: quieter analysis surfaces and optional design accents. */
.global-nav{border-bottom-color:var(--line)}
.section-toolbar,.lap-row.selected{box-shadow:none}
.telemetry-header .section-label h2:before{display:none}
.theoretical-lap.selected,[data-theme="dark"] .theoretical-lap.selected{box-shadow:none}
.rail-collapsed .lap-row.selected{border-color:var(--blue)}
.analysis-disclosure{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.analysis-disclosure>summary{min-height:46px;padding:9px 14px;gap:10px}
.analysis-disclosure>summary strong{font-size:13px;font-weight:550}
.analysis-disclosure>summary:hover{background:var(--surface-alt)}
.analysis-section-icon{width:26px;height:26px;background:transparent;color:var(--muted);font-size:19px;border-radius:8px}
[data-theme="dark"] .analysis-section-icon{color:var(--muted)}
#improvement-analysis>summary{min-height:50px}
#improvement-analysis>summary strong{font-size:14px;font-weight:650;color:var(--ink)}
#improvement-analysis .analysis-section-icon{background:var(--brand-tint);color:var(--red);width:30px;height:30px}
#opportunity-count{padding:5px 8px;border-radius:6px;background:var(--brand-tint);color:var(--red);font-size:11px;font-weight:600}
[data-theme="dark"] #opportunity-count,[data-theme="dark"] #improvement-analysis .analysis-section-icon{color:#ffaaa3}
.analysis-focus{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:7px 11px;min-height:40px;gap:10px}
.analysis-focus [data-focus-label]{font-size:12px;color:var(--secondary)}
.analysis-focus button,[data-theme="dark"] .analysis-focus button{color:var(--secondary);font-size:11px}
.analysis-focus-actions [data-analysis-play]{border:1px solid var(--line);background:var(--surface-alt);padding:5px 9px;border-radius:6px}
.analysis-focus-actions [data-clear-analysis]{color:var(--muted)}
.opportunity-card{border:1px solid var(--line);border-radius:10px;box-shadow:none}
.opportunity-card:hover{border-color:var(--muted);box-shadow:none}
.opportunity-card.active{border-color:var(--blue);box-shadow:0 0 0 1px color-mix(in srgb,var(--blue) 35%,transparent)}
.opportunity-card .opportunity-open,.opportunity-card:last-child .opportunity-open{padding:15px;display:flex;flex-direction:column}
.opportunity-card .opportunity-open:hover{background:color-mix(in srgb,var(--surface-alt) 45%,transparent)}
.opportunity-topline{gap:8px}
.opportunity-rank{width:auto;height:auto;background:transparent;font-size:11px;color:var(--muted);font-weight:500}
[data-theme="dark"] .opportunity-rank{color:var(--muted)}
.opportunity-section-name{font-size:14px;font-weight:600}.opportunity-section-name small{font-size:11px}
.opportunity-evidence{font-size:10px;background:var(--surface-alt);font-weight:400}
.opportunity-visual{min-height:74px;margin:13px 0 12px;gap:8px}
.opportunity-visual>.corner-preview{width:68px;height:74px;padding:4px}
.opportunity-visual .opportunity-saving>span{font-size:11px;font-weight:450;color:var(--muted)}
.opportunity-visual .opportunity-saving strong{font-size:27px;margin:6px 0;letter-spacing:-.6px}
.opportunity-comparison{width:100%;margin:0 0 12px;border-top:1px solid var(--line)}
.pass-columns,.opportunity-comparison dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,.85fr) minmax(70px,.85fr);column-gap:8px;align-items:baseline}
.pass-columns{padding:10px 0 7px;font-size:11px;font-weight:550;text-align:right}
.pass-columns small{display:block;font-size:10px;font-weight:400;margin-top:3px}
.current-pass-value{color:var(--loss)}.best-pass-value{color:var(--gain)}
.opportunity-comparison dl{margin:0}.opportunity-comparison dl>div{padding:6px 0}
.opportunity-comparison dt{color:var(--secondary);font-size:11px;line-height:1.35}
.opportunity-comparison dd{margin:0;text-align:right;font-size:15px;font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap}
.opportunity-comparison dd small{font-size:9px;font-weight:400;color:var(--muted);margin-left:3px}
.opportunity-comparison .pass-time-row{border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.pass-time-row dd{font-size:13px}.pass-time-row dt{font-size:10px}
.opportunity-open .opportunity-description{font-size:12px;line-height:1.55;margin:0 0 10px}
.opportunity-action,[data-theme="dark"] .opportunity-action{font-size:11px;color:var(--secondary);font-weight:550}
.opportunity-footer{padding:10px 13px;background:color-mix(in srgb,var(--surface-alt) 35%,transparent)}
.opportunity-footer>button{background:var(--surface);border-color:var(--line);color:var(--ink);font-weight:550;font-size:11px;min-height:31px}
.opportunity-footer>button:hover{border-color:var(--muted)}
.opportunity-footer>button.is-comparing{color:var(--loss)}
.graph-plot-area{min-width:0;container-type:inline-size;container-name:graph-plots}
[data-graph-style="side-by-side"] .graph-workspace{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;align-items:start}
[data-graph-style="side-by-side"] #graphs{grid-template-columns:1fr}
[data-graph-style="side-by-side"] .add-graph-row{margin:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;align-self:stretch}
[data-graph-style="side-by-side"] #add-graph{width:40px;min-width:40px;max-width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--red);box-shadow:0 2px 6px #17212b06}
[data-graph-style="side-by-side"] #add-graph:hover:enabled{border-color:var(--red);background:var(--brand-tint)}
[data-graph-style="side-by-side"] #add-graph .icon{width:20px;height:20px}
[data-graph-style="side-by-side"] .add-graph-text{display:none}
[data-graph-style="side-by-side"] #graph-count{font-size:10px;line-height:1.4;text-align:center;max-width:42px}
@container graph-plots (min-width:760px){[data-graph-style="side-by-side"] #graphs:not([data-count="1"]){grid-template-columns:repeat(2,minmax(0,1fr))}}
@container graph-plots (min-width:1080px){[data-graph-style="side-by-side"] #graphs[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
.comparison-feedback{color:var(--loss);font-size:13px;line-height:1.5}.comparison-feedback:empty{display:none}
/* Revision 14: persistent development chrome and direct unit toggle. */
html{scroll-padding-top:calc(var(--development-toolbar-height,0px) + 12px)}
body{padding-top:var(--development-toolbar-height,0px)}
.development-toolbar{position:fixed;top:0;left:0;right:0;z-index:110;max-height:65dvh;overflow:auto;overscroll-behavior:contain}
.development-topline{position:sticky;top:0;background:inherit;z-index:1}
.telemetry-header .section-label{flex-wrap:wrap;min-width:0;row-gap:7px}
.units-toggle{display:inline-flex;align-items:center;flex-shrink:0;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt);gap:2px}
.units-toggle label{position:relative;cursor:pointer;display:flex}
.units-toggle input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.units-toggle span{display:flex;align-items:center;justify-content:center;min-width:47px;min-height:29px;padding:4px 9px;border-radius:6px;font-size:12px;font-weight:600;color:var(--secondary)}
.units-toggle input:checked+span{background:var(--surface);color:var(--red);box-shadow:0 1px 4px #00000014}
.units-toggle input:hover+span{color:var(--red)}
.units-toggle input:focus-visible+span{outline:2px solid var(--blue);outline-offset:1px}
.telemetry-actions:empty,.telemetry-actions:not(:has(#comparison-axis:not([hidden]))){display:none}
.map-wrap.expanded{inset:calc(var(--development-toolbar-height,0px) + 12px) 12px 12px;width:auto;max-width:none;height:auto!important}
.video-panel.video-expanded:not(:fullscreen){top:var(--development-toolbar-height,0px)!important;height:calc(100dvh - var(--development-toolbar-height,0px))!important}
@media(max-width:650px){.telemetry-header .section-label{width:100%}.telemetry-header .quiet-separator{display:none}.telemetry-header #cursor-caption{margin-left:auto;font-size:10px}.units-toggle span{min-width:42px;padding:4px 7px}.telemetry-actions{margin-left:0}.development-dimensions{max-width:100%}}

.opportunity-focused{padding:2px 0 8px;border-bottom:1px solid var(--line)}
.opportunity-focused .pass-columns>span:first-child{text-align:left;font-size:10px;line-height:1.4;color:var(--muted);font-weight:400}
.opportunity-focused dt{font-size:12px;font-weight:550;color:var(--ink)}
.opportunity-focused dt small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:3px}
.opportunity-focused dd{font-size:20px;letter-spacing:-.3px}
.opportunity-focused dl>div{padding:8px 0}
.opportunity-open .opportunity-description{font-size:12px;line-height:1.7;margin-bottom:16px}
/* v15 — local recordings, a focused opportunity view, and anchored onboarding. */
.csv-session-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-8px 0 15px;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface,#fff);font-size:11px;color:var(--muted)}.csv-session-bar span{min-width:0;overflow-wrap:anywhere}.csv-session-bar button{white-space:nowrap;border:1px solid var(--line);border-radius:6px;padding:7px 10px;color:var(--ink);font-weight:600;background:var(--canvas)}.csv-dialog{max-width:660px}.csv-drop{display:flex;flex-direction:column;align-items:center;gap:9px;padding:24px 18px;background:var(--canvas);border:1px dashed var(--muted);border-radius:10px;cursor:pointer;text-align:center}.csv-drop span{font-size:15px;font-weight:600;overflow-wrap:anywhere}.csv-drop small{font-size:11px;color:var(--muted)}.csv-drop input{max-width:100%;font-size:12px;margin-top:7px}.csv-drop.dragging{border-color:var(--red);background:#e72e4010}.csv-status,.csv-success,.csv-error{margin:14px 0;font-size:12px}.csv-success{color:var(--gain,#269267)}.csv-error{color:var(--loss,#df4f5f)}.csv-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding-bottom:15px;gap:12px}.csv-summary>div{display:flex;flex-direction:column;gap:5px}.csv-summary strong{font-size:24px;font-weight:600;letter-spacing:-.7px}.csv-summary span{font-size:11px;color:var(--muted)}.csv-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:16px 0}.csv-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}.csv-fields input,.csv-fields select{width:100%;min-width:0;background:var(--surface,#fff);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:10px}.csv-mapping{border:1px solid var(--line);border-radius:8px;padding:12px}.csv-mapping summary{font-size:12px;font-weight:600;cursor:pointer}.csv-laps{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.csv-laps>span{padding:6px 9px;border-radius:5px;background:var(--canvas);font-size:10px;color:var(--muted)}.csv-laps b{color:var(--ink);margin-left:6px;font-variant-numeric:tabular-nums}.csv-warning{font-size:11px;line-height:1.6;color:var(--muted)}.development-import{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important;align-self:end;min-height:35px;white-space:nowrap}.development-import input{accent-color:var(--red);width:16px;height:16px}.imported-map .track-edge,.imported-map #track-road{opacity:0}
.opportunity-v15{display:flex;flex-direction:column;overflow:hidden;border-radius:12px!important;box-shadow:0 3px 15px #00000003!important;background:var(--surface,#fff)!important;border:1px solid var(--line)!important}.opportunity-v15.active{border-color:var(--gain,#269267)!important}.opportunity-body{padding:20px 20px 16px;flex:1}.opportunity-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.opportunity-header h3{margin:7px 0 0;font-size:16px;font-weight:600;letter-spacing:-.35px}.opportunity-kicker{font-size:9px;color:var(--muted);letter-spacing:1px}.opportunity-header .corner-preview{width:68px;height:53px;flex-shrink:0;opacity:.85}.opportunity-v15 .opportunity-saving{display:flex;flex-direction:column;gap:5px;margin:0 0 18px}.opportunity-v15 .opportunity-saving strong{font-size:29px;line-height:1.2;letter-spacing:-1px;color:var(--gain,#229267);font-variant-numeric:tabular-nums}.opportunity-v15 .opportunity-saving strong small{font-size:14px;margin-left:5px}.opportunity-v15 .opportunity-saving>span{font-size:10px;color:var(--muted)}.opportunity-v15 .gain-range-separator{font-size:12px;letter-spacing:0;padding:0 6px;font-weight:400;vertical-align:middle}.opportunity-key-metrics{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.opportunity-key-metric{background:var(--canvas);border-radius:8px;padding:11px 12px}.opportunity-key-metric>span{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:550}.opportunity-key-metric>span small{font-size:9px;font-weight:400;color:var(--muted)}.opportunity-key-metric>div{display:flex;align-items:center;gap:15px;margin-top:9px}.opportunity-key-metric>div>span:not(.pass-arrow){display:flex;align-items:baseline;gap:7px}.opportunity-key-metric small{font-size:9px}.opportunity-key-metric b{font-size:19px;font-weight:550;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.pass-arrow{color:var(--muted);font-size:13px}.opportunity-v15 .opportunity-description{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 12px}.opportunity-evidence-line{font-size:10px;color:var(--muted);line-height:1.6}.opportunity-v15 .opportunity-footer{border-top:1px solid var(--line);padding:12px 16px;display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;background:transparent}.opportunity-v15 .opportunity-footer button{font-size:10px;padding:7px 9px;min-height:32px}.opportunity-v15 .opportunity-play{border-color:transparent;background:var(--canvas);font-weight:600;color:var(--ink)}.opportunity-v15 .opportunity-action{font-size:10px;margin:0;color:inherit}
.tour-overlay{position:fixed;inset:0;z-index:800;pointer-events:auto;background:#090c101a}.tour-popover{position:fixed;max-height:calc(100dvh - var(--development-toolbar-height,38px) - 24px);overflow:auto;pointer-events:auto;padding:22px;border:1px solid var(--line);border-radius:15px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 18px 80px #0006;z-index:802}.tour-highlight{outline:2px solid var(--red)!important;outline-offset:5px;box-shadow:0 0 0 6px #e72e4010!important;scroll-margin-block:calc(var(--development-toolbar-height,38px) + 20px)}.tour-step{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:1px}.tour-step button{font-size:22px;line-height:1;width:28px;height:28px;border-radius:5px}.tour-progress{display:flex;gap:4px;margin:12px 0 20px}.tour-progress i{height:3px;flex:1;background:var(--line);border-radius:2px}.tour-progress .done{background:var(--red)}.tour-popover h2{margin:0 0 11px;font-size:20px;letter-spacing:-.5px;font-weight:600}.tour-popover p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 23px}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-actions>button{font-size:11px;color:var(--muted);padding:8px 0}.tour-actions>div{display:flex;gap:8px;align-items:center}.tour-actions>div>button:not(.primary){font-size:12px;padding:8px}.tour-actions .button{min-height:36px;font-size:12px}.tour-active #product-workspace{pointer-events:none}.tour-active .development-toolbar{pointer-events:none}#help-btn{font-size:13px}#help-btn span{font-size:11px}
@media(max-width:650px){.csv-fields{grid-template-columns:1fr}.csv-session-bar{align-items:flex-start;flex-direction:column}.opportunity-body{padding:17px}.opportunity-v15 .opportunity-saving strong{font-size:28px}.global-nav{gap:10px}#help-btn{padding:7px}#help-btn span{display:none}}
/* v16: stronger opportunity previews and guide spotlight. */
.opportunity-header{gap:14px;margin-bottom:13px;align-items:center}.opportunity-header .corner-preview{width:126px;height:100px;max-width:43%;padding:8px;opacity:1;border:1px solid var(--line);border-radius:12px;background:linear-gradient(140deg,var(--canvas),color-mix(in srgb,var(--blue) 7%,var(--surface)));box-shadow:inset 0 1px 0 #ffffff10}.opportunity-v15 .opportunity-saving>.opportunity-promise{color:var(--ink);font-size:12px;font-weight:550;letter-spacing:0;margin-bottom:2px}.opportunity-v15 .opportunity-saving>span:last-child{font-size:10px;color:var(--muted)}
.tour-overlay{background:transparent}.tour-shade{position:fixed;background:#101217ad;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none}.tour-spotlight{position:fixed;border:2px solid #fff;border-radius:12px;box-shadow:0 0 0 2px #e72e40cc,0 0 25px #e72e4040;pointer-events:none}.tour-highlight{outline:none!important;box-shadow:none!important}.tour-popover{box-shadow:0 20px 90px #0009}.tour-active #product-workspace{user-select:none}
@media(prefers-reduced-transparency:reduce){.tour-shade{backdrop-filter:none;-webkit-backdrop-filter:none;background:#101217df}}
@media(max-width:650px){.opportunity-header .corner-preview{width:116px;height:94px}}


/* accent-variants.css */
/* Development-only visual directions. No media, plot or responsive sizing changes. */

/* Frosted glass: silver canvas, translucent-looking panels and polished edges.
   Static gradients give the glass its depth without a page-sized blur filter. */
[data-accent-style="frosted"] #product-workspace{
  --accent-glass:linear-gradient(125deg,#ffffffed,#edf0f4e8);
  --accent-glass-edge:#ffffff;
  --accent-glass-border:#cbd1d8;
  --accent-glass-shadow:0 7px 22px #26334313,inset 0 1px 0 #ffffff;
  background:radial-gradient(ellipse at 83% 6%,#f2cfd159,transparent 38%),linear-gradient(145deg,#e4e8ed,#f3f4f6 52%,#e1e5ea);
}
[data-theme="dark"][data-accent-style="frosted"] #product-workspace{
  --accent-glass:linear-gradient(125deg,#45484dee,#2c2f34eb);
  --accent-glass-edge:#ffffff36;
  --accent-glass-border:#62656c;
  --accent-glass-shadow:0 7px 22px #00000022,inset 0 1px 0 #ffffff27;
  background:radial-gradient(ellipse at 83% 6%,#c4626d25,transparent 38%),linear-gradient(145deg,#303339,#212328 52%,#383b41);
}
[data-accent-style="frosted"] :is(.global-nav,.session-rail){
  background:var(--accent-glass);border-color:var(--accent-glass-border);
  box-shadow:inset -1px 0 0 var(--accent-glass-edge),0 4px 18px #17212b0c;
}
[data-accent-style="frosted"] :is(.summary-strip,.analysis-card,.analysis-disclosure,.chart-card,.sector-cell,.analysis-focus){
  background:var(--accent-glass);border-color:var(--accent-glass-border);
  border-radius:16px;box-shadow:var(--accent-glass-shadow);
}
[data-accent-style="frosted"] :is(.section-toolbar,.analysis-disclosure>summary){
  background:var(--accent-glass);box-shadow:inset 0 1px 0 var(--accent-glass-edge);
}
[data-accent-style="frosted"] .section-toolbar .section-label>svg{color:var(--red)}
[data-accent-style="frosted"] .map-view-switch{background:color-mix(in srgb,var(--ink) 7%,transparent);border-radius:8px}
[data-accent-style="frosted"] .map-view-switch button.selected{background:var(--surface);box-shadow:0 2px 5px #15202d15;color:var(--ink)}
[data-accent-style="frosted"] .global-nav nav button.nav-current{background:transparent;box-shadow:none}
[data-accent-style="frosted"] .lap-row.selected:not(.best-lap-row){background:var(--accent-glass);border-color:var(--blue);box-shadow:var(--accent-glass-shadow)}
[data-accent-style="frosted"] :is(.back-button,.rail-toggle,.theme-toggle){background:var(--accent-glass);border-color:var(--accent-glass-border);box-shadow:inset 0 1px 0 var(--accent-glass-edge)}
[data-accent-style="frosted"] .metric-select{background-color:color-mix(in srgb,var(--surface) 80%,transparent);border-color:var(--accent-glass-border);box-shadow:inset 0 1px 0 var(--accent-glass-edge)}
[data-accent-style="frosted"] :is(.opportunity-card,.corner-analysis-card){background:color-mix(in srgb,var(--surface) 75%,transparent);border-radius:13px}
[data-accent-style="frosted"] .analysis-focus{background:var(--accent-glass)}
[data-accent-style="frosted"] #improvement-analysis>summary{background:linear-gradient(110deg,color-mix(in srgb,var(--red) 10%,var(--surface)),var(--surface-alt))}
[data-accent-style="frosted"][data-graph-style="compact"] :is(.telemetry-header,#graphs){background:var(--accent-glass);border-color:var(--accent-glass-border)}
[data-accent-style="frosted"][data-graph-style="compact"] .chart-card{border-radius:0;background:transparent;box-shadow:none}

/* RaceBox tint: large blush/oxblood surfaces, filled red navigation and controls. */
[data-accent-style="tint"] #product-workspace{
  --accent-tint-canvas:#f5e9e9;--accent-tint-panel:#f9dcdd;
  --accent-tint-border:#eab8bb;--accent-tint-ink:#86202a;
  --accent-tint-quiet:#ab6b73;--accent-tint-rail:#fff2f2;
  background:var(--accent-tint-canvas);
}
[data-theme="dark"][data-accent-style="tint"] #product-workspace{
  --accent-tint-canvas:#2e2225;--accent-tint-panel:#512c32;
  --accent-tint-border:#82515a;--accent-tint-ink:#ffced2;
  --accent-tint-quiet:#d5a6ac;--accent-tint-rail:#37262b;
}
[data-accent-style="tint"] .global-nav{background:var(--accent-tint-panel);border-color:var(--accent-tint-border)}
[data-accent-style="tint"] .global-nav nav button.nav-current{background:#ce202b;color:#fff;border-bottom-color:transparent;box-shadow:inset 0 -8px 0 #00000006}
[data-accent-style="tint"] .global-nav nav button:not(.nav-current){color:var(--accent-tint-ink)}
[data-accent-style="tint"] .session-rail{background:var(--accent-tint-rail);border-color:var(--accent-tint-border)}
[data-accent-style="tint"] :is(.summary-strip,.analysis-card,.analysis-disclosure,.chart-card,.analysis-focus){border-color:var(--accent-tint-border);box-shadow:0 3px 10px #70242b0c}
[data-accent-style="tint"] :is(.summary-strip,.section-toolbar,.analysis-disclosure>summary,.analysis-focus){background:var(--accent-tint-panel)}
[data-accent-style="tint"] .summary-strip>div{border-color:var(--accent-tint-border)}
[data-accent-style="tint"] .summary-strip .metric-label{color:var(--accent-tint-ink)}
[data-accent-style="tint"] .section-toolbar :is(h2,.section-label>svg,#map-lap-caption){color:var(--accent-tint-ink)}
[data-accent-style="tint"] .map-view-switch button{color:var(--accent-tint-ink)}
[data-accent-style="tint"] .map-view-switch button.selected{background:#c8202b;color:#fff}
[data-accent-style="tint"] .analysis-disclosure>summary :is(strong,.analysis-chevron){color:var(--accent-tint-ink)}
[data-accent-style="tint"] .analysis-disclosure>summary small{color:var(--accent-tint-quiet)}
[data-accent-style="tint"] #improvement-analysis>summary{background:linear-gradient(110deg,var(--accent-tint-panel),var(--accent-tint-rail))}
[data-accent-style="tint"] #improvement-analysis>summary strong{color:var(--accent-tint-ink)}
[data-accent-style="tint"] #improvement-analysis :is(.analysis-section-icon,#opportunity-count){background:#c8202b;color:#fff}
[data-accent-style="tint"] .analysis-focus [data-focus-label]{color:var(--accent-tint-ink)}
[data-accent-style="tint"] .analysis-focus-actions [data-analysis-play]{background:var(--surface);border-color:var(--accent-tint-border)}
[data-accent-style="tint"] .lap-row.selected:not(.best-lap-row){background:var(--accent-tint-panel);border-color:var(--accent-tint-border);box-shadow:0 3px 9px #78202912}
[data-accent-style="tint"] .chart-head{background:color-mix(in srgb,var(--accent-tint-panel) 55%,var(--surface));box-shadow:0 0 0 7px color-mix(in srgb,var(--accent-tint-panel) 55%,var(--surface));border-radius:3px}
[data-accent-style="tint"] :is(.metric-select,.back-button){border-color:var(--accent-tint-border)}
[data-accent-style="tint"] .opportunity-footer{background:var(--accent-tint-rail)}
[data-accent-style="tint"] .opportunity-footer>button{border-color:var(--accent-tint-border)}
[data-accent-style="tint"][data-graph-style="compact"] .telemetry-header{background:var(--accent-tint-panel);border-color:var(--accent-tint-border)}
[data-accent-style="tint"][data-graph-style="compact"] .chart-card{border-radius:0;box-shadow:none}

/* Sculpted capsules: warm stone backing, rounded islands and recessed controls. */
[data-accent-style="capsules"] #product-workspace{
  --accent-sculpture:#e5e2df;--accent-sculpture-panel:#faf9f7;
  --accent-sculpture-edge:#d6d1cc;--accent-sculpture-well:#e9e5e1;
  --accent-sculpture-shadow:0 5px 0 #cfcac466,0 9px 18px #3a312208;
  background:var(--accent-sculpture);
}
[data-theme="dark"][data-accent-style="capsules"] #product-workspace{
  --accent-sculpture:#292827;--accent-sculpture-panel:#3c3a38;
  --accent-sculpture-edge:#605c57;--accent-sculpture-well:#292725;
  --accent-sculpture-shadow:0 5px 0 #11111145,0 9px 18px #00000014;
}
[data-accent-style="capsules"] .global-nav{background:var(--accent-sculpture-panel);border-color:var(--accent-sculpture-edge)}
[data-accent-style="capsules"] .global-nav nav{align-items:center}
[data-accent-style="capsules"] .global-nav nav button{border:0;border-radius:22px;min-height:34px;padding:7px 13px;color:var(--secondary)}
[data-accent-style="capsules"] .global-nav nav button.nav-current{background:#33312f;color:#fff;box-shadow:inset 0 1px 0 #ffffff24}
[data-accent-style="capsules"] .session-rail{background:var(--accent-sculpture-well);border-color:var(--accent-sculpture-edge)}
[data-accent-style="capsules"] :is(.back-button,.rail-toggle,.theme-toggle,.header-actions .button){border-radius:24px}
[data-accent-style="capsules"] .summary-strip{background:transparent;border-color:transparent;box-shadow:none}
[data-accent-style="capsules"] .summary-strip>div{position:relative;isolation:isolate;background:transparent;border:0;border-radius:34px;box-shadow:none}
/* Grow only the decorative surface into the strip's existing vertical padding.
   Labels retain their exact positions; the pill no longer cuts behind their top edge. */
[data-accent-style="capsules"] .summary-strip>div::before{content:"";position:absolute;inset:-6px 3px;z-index:-1;pointer-events:none;background:var(--accent-sculpture-panel);border-radius:inherit;box-shadow:0 3px 0 var(--accent-sculpture-edge)}
[data-accent-style="capsules"] :is(.analysis-card,.analysis-disclosure,.chart-card,.sector-cell){border-radius:24px;background:var(--accent-sculpture-panel);border-color:var(--accent-sculpture-edge);box-shadow:var(--accent-sculpture-shadow)}
[data-accent-style="capsules"] .section-toolbar{background:var(--accent-sculpture-panel)}
[data-accent-style="capsules"] .map-view-switch{background:var(--accent-sculpture-well);border-radius:22px;box-shadow:inset 0 2px 3px #1b171712}
[data-accent-style="capsules"] .map-view-switch button{border-radius:20px}
[data-accent-style="capsules"] .map-view-switch button.selected{background:#33312f;color:#fff;box-shadow:0 2px 4px #00000014}
[data-accent-style="capsules"] .analysis-disclosure>summary{background:var(--accent-sculpture-panel)}
[data-accent-style="capsules"] #improvement-analysis>summary{background:var(--accent-sculpture-well)}
[data-accent-style="capsules"] :is(.analysis-section-icon,#improvement-analysis .analysis-section-icon){border-radius:50%;background:#33312f;color:#fff;box-shadow:inset 0 1px 0 #ffffff24}
[data-accent-style="capsules"] #opportunity-count{background:#c9232c;color:#fff;border-radius:16px}
[data-accent-style="capsules"] .analysis-focus{border-radius:24px;background:var(--accent-sculpture-panel);border-color:var(--accent-sculpture-edge);box-shadow:var(--accent-sculpture-shadow)}
[data-accent-style="capsules"] .analysis-focus-actions [data-analysis-play]{border-radius:20px;background:var(--accent-sculpture-well)}
[data-accent-style="capsules"] .lap-row{border-radius:24px}
[data-accent-style="capsules"] .lap-row.selected:not(.best-lap-row){background:var(--accent-sculpture-panel);border-color:var(--accent-sculpture-edge);box-shadow:var(--accent-sculpture-shadow)}
[data-accent-style="capsules"] .lap-row.selected .lap-number{border-radius:20px}
[data-accent-style="capsules"] .metric-select{border-radius:22px;background-color:var(--accent-sculpture-well);border-color:var(--accent-sculpture-edge);box-shadow:inset 0 2px 2px #1b17170b}
[data-accent-style="capsules"] :is(.opportunity-card,.corner-analysis-card){border-radius:18px;background:var(--surface);border-color:var(--accent-sculpture-edge)}
[data-accent-style="capsules"] .opportunity-footer>button{border-radius:20px}
[data-accent-style="capsules"][data-graph-style="compact"] .telemetry-header{border-radius:20px 20px 0 0;background:var(--accent-sculpture-panel);border-color:var(--accent-sculpture-edge)}
[data-accent-style="capsules"][data-graph-style="compact"] #graphs{border-radius:0 0 20px 20px;background:var(--accent-sculpture-panel);border-color:var(--accent-sculpture-edge);box-shadow:var(--accent-sculpture-shadow)}
[data-accent-style="capsules"][data-graph-style="compact"] .chart-card{border-radius:0;background:transparent;box-shadow:none}
[data-accent-style="capsules"] .rail-collapsed .lap-row{border-radius:14px}

/* Pit wall: bold team-red control decks and charcoal navigation / lap rail.
   Data plots stay on their normal light or dark canvas for familiar A/B contrast. */
[data-accent-style="pitwall"] #product-workspace{background:#e5e5e7;--accent-pit-chrome:#27272b;--accent-pit-edge:#47474e}
[data-theme="dark"][data-accent-style="pitwall"] #product-workspace{background:#19191c;--accent-pit-chrome:#303034;--accent-pit-edge:#535359}
[data-accent-style="pitwall"] .global-nav{background:#202024;color:#fff;border-color:#3e3e44}
[data-accent-style="pitwall"] .brand .logo-light{display:none}
[data-accent-style="pitwall"] .brand .logo-dark{display:block}
[data-accent-style="pitwall"] .global-nav :is(.product-name,.demo-badge){color:#eeeef1}
[data-accent-style="pitwall"] .global-nav .nav-divider{background:#595960}
[data-accent-style="pitwall"] .global-nav nav button{color:#c1c1c8}
[data-accent-style="pitwall"] .global-nav nav button.nav-current{background:#ea2127;color:#fff;border-bottom-color:transparent}
[data-accent-style="pitwall"] .theme-toggle{background:#38383e;border-color:#55555d;color:#f1f1f3}
[data-accent-style="pitwall"] .session-rail{background:#27272b;color:#f2f2f4;border-color:#44444b}
[data-accent-style="pitwall"] .session-rail :is(.rail-track p,.eyebrow,.rail-label,.lap-sort label,.rail-foot,.partial-laps,.rail-compact-summary,.rail-compact-summary>small){color:#b6b6c0}
[data-accent-style="pitwall"] .session-rail :is(.back-button,.rail-toggle,.lap-sort select){background:#3a3a41;color:#f2f2f4;border-color:#595960;border-radius:5px}
[data-accent-style="pitwall"] .session-rail .lap-row{border-radius:5px}
[data-accent-style="pitwall"] .session-rail .lap-row:hover{background:#393940}
[data-accent-style="pitwall"] .session-rail .lap-main>span,[data-accent-style="pitwall"] .session-rail .lap-delta{color:#b6b6c0}
[data-accent-style="pitwall"] .session-rail .lap-number{background:#424249;border-color:#5a5a64;color:#e1e1e7}
[data-accent-style="pitwall"] .session-rail .lap-row.selected:not(.best-lap-row){background:#d5232b;border-color:#f1474e;color:#fff;box-shadow:0 3px 8px #00000022}
[data-accent-style="pitwall"] .session-rail .lap-row.selected:not(.best-lap-row) :is(.lap-delta,.lap-main>span,.lap-number){color:#fff}
[data-accent-style="pitwall"] .session-rail .lap-row.selected:not(.best-lap-row) .lap-number{background:#ffffff20;border-color:#ffffff50}
[data-accent-style="pitwall"] .session-rail .best-lap-row .lap-main strong,[data-accent-style="pitwall"] .session-rail .best-lap-row .lap-main span,[data-accent-style="pitwall"] .session-rail .best-lap-row .lap-delta{color:#8bdfac!important}
[data-accent-style="pitwall"] .session-rail .best-lap-row .lap-number{background:#30483a;border-color:#567963;color:#9be2b7}
[data-accent-style="pitwall"] .session-rail .best-lap-row.selected{background:#264333;border-color:#5b9972}
[data-accent-style="pitwall"] .session-rail .theoretical-lap{background:#393940;border-color:#76767f;border-radius:5px}
[data-accent-style="pitwall"] .session-rail .theoretical-heading{color:#ffacae}
[data-accent-style="pitwall"] .session-rail .theoretical-time{color:#f3f3f5}
[data-accent-style="pitwall"] .session-rail .theoretical-source{color:#c0c0c8}
[data-accent-style="pitwall"] .session-rail .rail-foot{border-color:#515159}
[data-accent-style="pitwall"] .summary-strip{background:var(--accent-pit-chrome);border-color:var(--accent-pit-edge);border-radius:5px;box-shadow:0 4px 0 #00000010}
[data-accent-style="pitwall"] .summary-strip>div{border-color:#55555d}
[data-accent-style="pitwall"] .summary-strip :is(.metric-label,.weather-summary>.icon){color:#bdbdc7}
[data-accent-style="pitwall"] .summary-strip strong{color:#fff}
[data-accent-style="pitwall"] .summary-strip strong small:not(.best-pill){color:#bdbdc7}
[data-accent-style="pitwall"] .summary-strip .best-pill{background:#345841;color:#bce5c8}
[data-accent-style="pitwall"] :is(.analysis-card,.analysis-disclosure,.chart-card,.sector-cell,.analysis-focus){border-radius:5px;border-color:var(--accent-pit-edge)}
[data-accent-style="pitwall"] .section-toolbar{background:#cb1b24}
[data-accent-style="pitwall"] .section-toolbar :is(h2,.section-label>svg,#map-lap-caption){color:#fff}
[data-accent-style="pitwall"] .section-toolbar .quiet-separator{background:#ffffff55}
[data-accent-style="pitwall"] .map-view-switch button{color:#ffdcde;border-radius:3px}
[data-accent-style="pitwall"] .map-view-switch button:hover{background:#aa1921}
[data-accent-style="pitwall"] .map-view-switch button.selected{background:#fff;color:#a81720}
[data-accent-style="pitwall"] .analysis-disclosure>summary{background:var(--accent-pit-chrome)}
[data-accent-style="pitwall"] .analysis-disclosure>summary :is(strong,.analysis-chevron){color:#fff}
[data-accent-style="pitwall"] .analysis-disclosure>summary small{color:#c2c2ca}
[data-accent-style="pitwall"] .analysis-section-icon{background:#ffffff17;color:#fff;border-radius:4px}
[data-accent-style="pitwall"] #improvement-analysis>summary{background:#cb1b24}
[data-accent-style="pitwall"] #improvement-analysis>summary strong{color:#fff}
[data-accent-style="pitwall"] #improvement-analysis .analysis-section-icon{background:#ffffff26;color:#fff;border-radius:4px}
[data-accent-style="pitwall"] #opportunity-count{background:#fff;color:#a81720;border-radius:3px}
[data-accent-style="pitwall"] .analysis-focus{background:var(--accent-pit-chrome)}
[data-accent-style="pitwall"] .analysis-focus :is([data-focus-label],button){color:#e7e7ed}
[data-accent-style="pitwall"] .analysis-focus-actions [data-analysis-play]{background:#484850;border-color:#686873;border-radius:3px;color:#fff}
[data-accent-style="pitwall"] .analysis-focus-actions [data-clear-analysis]:hover{background:#484850}
[data-accent-style="pitwall"] .chart-head{background:var(--accent-pit-chrome);box-shadow:0 0 0 8px var(--accent-pit-chrome);border-radius:1px}
[data-accent-style="pitwall"] .chart-head :is(.chart-unit,.metric-help,.close-chart){color:#c4c4ce}
[data-accent-style="pitwall"] .chart-head .metric-select{background-color:#44444b;color:#fff;border-color:#63636e;border-radius:3px}
[data-accent-style="pitwall"] .chart-head .blue-text{color:#9bc9ff}
[data-accent-style="pitwall"] .chart-head .red-text{color:#ffa99e}
[data-accent-style="pitwall"] .chart-head .close-chart:hover{background:#4b4b54}
[data-accent-style="pitwall"] .opportunity-card,[data-accent-style="pitwall"] .corner-analysis-card{border-radius:5px}
[data-accent-style="pitwall"] .header-actions .button{border-radius:5px}
[data-accent-style="pitwall"][data-graph-style="compact"] :is(.telemetry-header,#graphs){border-color:var(--accent-pit-edge);border-radius:0}
[data-accent-style="pitwall"][data-graph-style="compact"] .chart-card{border-radius:0}

/* Keep rounded variants sensible in the narrow rail and dense mobile controls. */
@media(max-width:560px){
  [data-accent-style="capsules"] .global-nav nav button{padding:7px 11px}
  [data-accent-style="capsules"] .summary-strip>div{border-radius:24px}
  [data-accent-style="capsules"] :is(.analysis-card,.analysis-disclosure,.chart-card){border-radius:16px}
}

/* Frosted 2: smoked chrome, neutral graphite and directional silver light. */
[data-accent-style="frosted-2"] #product-workspace{
 --glass2-panel:linear-gradient(155deg,#ffffffdd 0%,#f1f2f4e6 38%,#e0e2e6e8 100%);--glass2-line:#adb0b98c;--glass2-well:#b8bcc52b;
 --glass2-shadow:inset 0 1px 0 #ffffff,0 4px 0 #a9adb520,0 12px 26px #24272e0a;
 background:radial-gradient(ellipse at 80% 0,#ffffff 0,transparent 50%),linear-gradient(130deg,#dadde2,#f0f1f3 50%,#d6d9df);
}
[data-theme="dark"][data-accent-style="frosted-2"] #product-workspace{
 --glass2-panel:linear-gradient(155deg,#505157e0 0%,#393a40ed 38%,#2c2d32f2 100%);--glass2-line:#8e909c5e;--glass2-well:#15161c44;
 --glass2-shadow:inset 0 1px 0 #c4c6d329,0 4px 0 #13141830,0 12px 26px #00000014;
 background:radial-gradient(ellipse at 80% 0,#6e707b38 0,transparent 50%),linear-gradient(130deg,#25262b,#34353b 50%,#24252a);
}
[data-accent-style="frosted-2"] :is(.global-nav,.session-rail){background:var(--glass2-panel);border-color:var(--glass2-line);box-shadow:inset 0 1px 0 #ffffff1a}
[data-accent-style="frosted-2"] .global-nav nav button.nav-current{background:var(--glass2-well);box-shadow:inset 0 1px 0 #ffffff14;color:var(--ink);border-radius:6px}
[data-accent-style="frosted-2"] :is(.summary-strip,.analysis-card,.analysis-disclosure,.chart-card,.sector-cell,.analysis-focus,.csv-session-bar){background:var(--glass2-panel);border:1px solid var(--glass2-line);border-radius:10px;box-shadow:var(--glass2-shadow)}
[data-accent-style="frosted-2"] :is(.section-toolbar,.analysis-disclosure>summary){background:linear-gradient(112deg,#ffffff0c 0 30%,#ffffff02 30% 69%,#ffffff09 69% 100%),var(--glass2-panel);box-shadow:inset 0 -1px 0 var(--glass2-line)}
[data-accent-style="frosted-2"] .summary-strip>div{border-color:var(--glass2-line)}
[data-accent-style="frosted-2"] .section-toolbar .section-label>svg{color:var(--red)}
[data-accent-style="frosted-2"] :is(.button:not(.primary):not(.engaged):not(.ai-coach-button),.back-button,.rail-toggle,.theme-toggle,.graph-zoom-toolbar button){background:var(--glass2-panel);border-color:var(--glass2-line);border-radius:6px;box-shadow:inset 0 1px 0 #ffffff19,0 2px 3px #00000009}
[data-accent-style="frosted-2"] .map-view-switch{padding:3px;background:var(--glass2-well);border:1px solid var(--glass2-line);border-radius:7px}
[data-accent-style="frosted-2"] .map-view-switch button{border-radius:4px}
[data-accent-style="frosted-2"] .map-view-switch button.selected{background:var(--glass2-panel);box-shadow:inset 0 1px 0 #ffffff20,0 1px 3px #00000017;color:var(--ink)}
[data-accent-style="frosted-2"] .lap-row{border-radius:7px}
[data-accent-style="frosted-2"] .lap-row.selected:not(.best-lap-row){background:linear-gradient(110deg,#4389ed24,#a5adbe13);border-color:#74a9e985;box-shadow:inset 0 1px 0 #ffffff12}
[data-accent-style="frosted-2"] .theoretical-lap{background:linear-gradient(130deg,#aab0c621,#aab0c604);border-radius:7px;border-color:#a4a8b366}
[data-accent-style="frosted-2"] :is(.opportunity-card.opportunity-v15,.corner-analysis-card){background:var(--glass2-panel)!important;border-color:var(--glass2-line)!important;border-radius:8px!important;box-shadow:var(--glass2-shadow)!important}
[data-accent-style="frosted-2"] .opportunity-key-metric{background:var(--glass2-well);border-radius:5px;box-shadow:none}
[data-accent-style="frosted-2"] .opportunity-header .corner-preview{background:linear-gradient(135deg,#b4bac720,#7b808b17);border-color:var(--glass2-line);border-radius:7px}
[data-accent-style="frosted-2"] .analysis-focus-actions [data-analysis-play]{background:var(--glass2-panel);border-color:var(--glass2-line);border-radius:6px}
[data-accent-style="frosted-2"][data-graph-style="compact"] :is(.telemetry-header,#graphs){background:var(--glass2-panel);border-color:var(--glass2-line)}
[data-accent-style="frosted-2"][data-graph-style="compact"] .chart-card{background:transparent;border:0;border-radius:0;box-shadow:none}
[data-accent-style="frosted-2"] .metric-select{background-color:var(--glass2-well);border-color:var(--glass2-line);border-radius:5px;box-shadow:none}
[data-accent-style="frosted-2"] .opportunity-card.opportunity-v15.active{border-color:var(--gain,#269267)!important;box-shadow:0 0 0 1px var(--gain,#269267)!important}
[data-accent-style="frosted-2"] .corner-analysis-card.active{border-color:var(--red)!important;box-shadow:0 0 0 1px var(--red)!important}

/* Opportunities stand out through a raised neutral surface, not a color band. */
html[data-accent-style] #improvement-analysis{border-color:color-mix(in srgb,var(--ink) 27%,var(--line));box-shadow:0 3px 8px #0000000b,inset 0 1px 0 #ffffff35}
html[data-accent-style] #improvement-analysis>summary{background:linear-gradient(115deg,color-mix(in srgb,var(--ink) 5%,var(--surface)),var(--surface));color:var(--ink);box-shadow:inset 0 1px 0 #ffffff12}
html[data-accent-style] #improvement-analysis>summary strong{color:var(--ink);font-weight:650}
html[data-accent-style] #improvement-analysis .analysis-section-icon{background:var(--ink);color:var(--surface);border:1px solid var(--ink);box-shadow:0 2px 4px #00000013;border-radius:8px}
html[data-accent-style] #improvement-analysis #opportunity-count{background:var(--surface-alt);border:1px solid color-mix(in srgb,var(--ink) 16%,var(--line));color:var(--secondary)}
html[data-accent-style] #improvement-analysis .analysis-chevron{color:var(--secondary)}

/* Shared analysis family; opportunities retains its stronger neutral emphasis. */
html[data-accent-style] #advanced-analysis{border-color:color-mix(in srgb,var(--ink) 13%,var(--line));box-shadow:0 2px 5px #00000007,inset 0 1px 0 #ffffff20}
html[data-accent-style] #advanced-analysis>summary{background:linear-gradient(115deg,color-mix(in srgb,var(--ink) 2%,var(--surface)),var(--surface));color:var(--ink);box-shadow:inset 0 1px 0 #ffffff0c}
html[data-accent-style] #advanced-analysis>summary strong{color:var(--ink);font-weight:550}
html[data-accent-style] #advanced-analysis .analysis-section-icon{width:28px;height:28px;background:var(--surface-alt);color:var(--secondary);border:1px solid color-mix(in srgb,var(--ink) 13%,var(--line));border-radius:8px;box-shadow:0 1px 2px #00000008}
html[data-accent-style] #advanced-analysis #corner-count{padding:5px 8px;border-radius:6px;background:var(--surface-alt);border:1px solid color-mix(in srgb,var(--ink) 10%,var(--line));color:var(--muted);font-size:11px;font-weight:500}
html[data-accent-style] #advanced-analysis .analysis-chevron{color:var(--secondary)}
.analysis-disclosure{overflow-anchor:none}
/* Selected tools use red outlines/tint; AI Coach keeps its solid brand fill. */
html[data-accent-style] .header-actions :is(#compare-btn,#video-btn).engaged{background:color-mix(in srgb,var(--red) 9%,var(--surface));border-color:color-mix(in srgb,var(--red) 70%,var(--line));color:#b52229;box-shadow:inset 0 1px 0 #ffffff16}
html[data-theme="dark"][data-accent-style] .header-actions :is(#compare-btn,#video-btn).engaged{color:#ffaaa8;background:color-mix(in srgb,var(--red) 14%,var(--surface))}
html[data-accent-style] .header-actions :is(#compare-btn,#video-btn).engaged:hover{background:color-mix(in srgb,var(--red) 18%,var(--surface));border-color:var(--red)}
html[data-accent-style] .compare-control #quick-stop-compare{color:#b52229;background:color-mix(in srgb,var(--red) 10%,var(--surface))}
html[data-theme="dark"][data-accent-style] .compare-control #quick-stop-compare{color:#ffaaa8;background:#ffffff0a}
html[data-accent-style] .compare-control #quick-stop-compare:hover{background:color-mix(in srgb,var(--red) 24%,var(--surface))}


/* coach.css */
/* A direct illustrated briefing, with one active coaching task. */
.header-actions .ai-coach-button{background:var(--red);border-color:var(--red);color:white;gap:7px;font-weight:650;box-shadow:0 3px 9px #ed252525}
.header-actions .ai-coach-button:hover{background:#cb2027;border-color:#cb2027}
.ai-coach-button svg{width:20px;height:20px;flex:none}
dialog.coach-modal{width:min(1060px,calc(100% - 32px));max-width:1060px;max-height:calc(100dvh - 40px);background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--ink)}
.coach-modal .modal-heading{padding:16px 26px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:2}
.coach-modal .modal-heading h2{font-size:20px;letter-spacing:-.5px;margin-top:3px}.coach-modal .modal-heading .eyebrow{font-size:10px;letter-spacing:1.8px}.coach-modal .modal-close{width:36px;height:36px}
.coach-modal .modal-body{padding:19px 26px 20px}
.coach-context{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.coach-concept-label{background:color-mix(in srgb,var(--red) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 26%,var(--line));color:var(--ink);padding:5px 9px;border-radius:5px;font-weight:600}
.coach-intro{display:flex;justify-content:space-between;align-items:center;margin:18px 0}
.coach-intro h2{font-size:29px;line-height:1.12;letter-spacing:-1px;font-weight:600;margin:0}.coach-intro h2 span{color:var(--muted);font-weight:450}
.coach-intro>span{width:53px;height:53px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(140deg,#ee292914,transparent);display:grid;place-items:center;color:var(--red)}.coach-intro svg{width:34px;height:34px}
.coach-accordion{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:11px;background:var(--surface)}
.coach-accordion[open]{border-color:color-mix(in srgb,var(--red) 38%,var(--line));box-shadow:0 5px 20px #00000008}
.coach-accordion>summary{display:flex;gap:13px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none;background:var(--surface-alt)}.coach-accordion>summary::-webkit-details-marker{display:none}
.coach-accordion[open]>summary{background:linear-gradient(110deg,#ee29290a,transparent),var(--surface-alt);border-bottom:1px solid var(--line)}
.coach-goal-number{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);width:32px;height:32px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;flex:none}
.coach-accordion[open] .coach-goal-number{color:white;background:var(--red);border-color:var(--red)}
.coach-summary-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.coach-summary-copy small{font-size:9px;letter-spacing:1.3px;color:var(--muted);font-weight:600}.coach-summary-copy strong{font-size:17px;line-height:1.3;letter-spacing:-.3px;font-weight:600}
.coach-goal-priority{font-size:10px;color:var(--secondary);white-space:nowrap;margin-left:auto}.coach-expand{margin-left:auto;color:var(--muted);font-size:22px;font-weight:350;flex:none}.coach-goal-priority+.coach-expand{margin-left:8px}.coach-accordion[open] .coach-expand{transform:rotate(45deg)}
.coach-task{padding:15px 18px 17px}.coach-task p{font-size:15px;line-height:1.5;font-weight:550;margin:0 0 6px;max-width:880px}.coach-task>span{font-size:12px;line-height:1.5;color:var(--muted)}
.coach-visual{margin:0 12px;background:#202124;border:1px solid #4a4b50;border-radius:8px;overflow:hidden;color:#d2d3d9}
.coach-visual-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px 0;font-size:10px;color:#a2a3ad}
.coach-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;font-weight:550}.coach-legend>span{display:flex;gap:7px;align-items:center}.coach-legend>span:before{content:'';width:21px;height:0;border-top:2px solid currentColor}.coach-legend .current:before{border-top-style:dashed}
.coach-visual .current,.coach-release .current{color:#8eb6f3}.coach-visual .suggested,.coach-release .suggested{color:#ff5058}
.coach-circuit{width:100%;display:block;max-height:410px}
.coach-runoff{fill:none;stroke:#292b30;stroke-width:179}.coach-road-edge{fill:none;stroke:#72747c;stroke-width:139}.coach-tarmac{fill:none;stroke:#383b41;stroke-width:135}.coach-centerline{fill:none;stroke:#aeb0ba;stroke-opacity:.14;stroke-width:1;stroke-dasharray:4 9}
.coach-curb-base{fill:none;stroke:#d0d1d5;stroke-width:9}.coach-curb{fill:none;stroke:#dc424a;stroke-width:9;stroke-dasharray:12 12}
.coach-racing-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.coach-racing-line.current{stroke:#8eb6f3;stroke-width:2.5;stroke-dasharray:6 5}.coach-racing-line.suggested{stroke:#ff5058;stroke-width:3.2}
.coach-trail{fill:none;stroke-width:6;stroke-linecap:round;opacity:.55}.coach-trail.current{stroke:#8eb6f3}.coach-trail.suggested{stroke:#ff5058}
.coach-marker{stroke:#202124;stroke-width:1.5}.coach-marker.current{fill:#a5c7fa}.coach-marker.suggested{fill:#ff5058}
.coach-car{stroke:#16171b;stroke-width:1}.coach-car.current{fill:#a5c7fa}.coach-car.suggested{fill:#ff5058}.coach-car ellipse{opacity:.13;stroke:none}.coach-car>path:first-of-type{fill:#24262e;stroke:none}.coach-car>path:last-of-type{stroke:white;stroke-width:1.5}
.coach-annotations{font-family:inherit;font-size:13px;fill:#c8c9d1}.coach-annotations .coach-desktop-callout>path{stroke:#92949d;stroke-width:1;fill:none}.coach-annotations .current{fill:#aacbff}.coach-annotations .suggested{fill:#ff7379}.coach-annotations .coach-direction{stroke:#ff7379;stroke-width:1.5}
.coach-track-label{font:10px system-ui;letter-spacing:2px;fill:#92949d}
.coach-scene-caption text:first-child{font:11px system-ui;letter-spacing:2px;fill:#fc777d}.coach-scene-caption text:last-child{font:600 23px system-ui;letter-spacing:-.4px;fill:#f2f2f5}
.coach-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px 12px 0}.coach-phases button{background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;color:var(--secondary);padding:10px 9px;display:flex;align-items:center;gap:8px;font-size:12px;min-height:40px;text-align:left}.coach-phases button span{font-size:10px;color:var(--muted)}.coach-phases button[aria-pressed="true"]{color:var(--ink);background:color-mix(in srgb,var(--red) 9%,var(--surface));border-color:color-mix(in srgb,var(--red) 55%,var(--line))}.coach-phases button[aria-pressed="true"] span{color:var(--red)}
.coach-phase-explanation{padding:12px 18px 16px;min-height:115px}.coach-phase-explanation>p{font-size:13px;line-height:1.5;color:var(--secondary);margin:0 0 12px}.coach-phase-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.coach-phase-notes>span{display:flex;align-items:center;gap:8px;font-size:12px}.coach-phase-notes small{font-size:10px;white-space:nowrap;color:var(--muted)}.coach-phase-notes b{font-weight:550}.coach-phase-notes .current b{color:#527fae}.coach-phase-notes .suggested b{color:#d72b34}
[data-theme="dark"] .coach-phase-notes .current b{color:#9cbce8}[data-theme="dark"] .coach-phase-notes .suggested b{color:#ff7379}
.coach-bottom{display:grid;grid-template-columns:1fr 1.25fr;gap:22px;border-top:1px solid var(--line);padding:13px 18px;background:var(--surface-alt)}
.coach-inputs{display:grid;grid-template-columns:1fr 1fr;gap:6px 13px}.coach-inputs>small{grid-column:1/-1;font-size:8px;letter-spacing:1px;color:var(--muted)}.coach-input{display:flex;flex-direction:column;gap:3px}.coach-input>span{font-size:10px;color:var(--secondary);margin-bottom:3px}.coach-input i{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.coach-input b{display:block;height:100%;transform-origin:left;transform:scaleX(0)}.coach-input .current b{background:#8eb6f3}.coach-input .suggested b{background:#f14a52}
.coach-transport>div{display:flex;align-items:center;gap:8px}.coach-transport button{font-size:11px;border:1px solid var(--line);background:var(--surface);border-radius:5px;min-height:32px;padding:5px 10px;color:var(--ink)}.coach-transport [data-play]{background:var(--red);border-color:var(--red);color:white;min-width:70px}.coach-transport [data-replay-status]{font-size:9px;color:var(--muted);margin-left:auto}.coach-transport input{width:100%;margin:10px 0 0;accent-color:var(--red);height:12px}
.coach-release{margin:0 18px 14px;background:#27292e;border:1px solid #494b53;border-radius:6px;padding:11px 13px;color:#d6d7de}.coach-release>div{display:flex;justify-content:space-between;font-size:11px}.coach-release>div span{font-size:10px;color:#9a9ca6}.coach-release svg{width:100%;max-height:93px;display:block;margin-top:5px}.coach-input-axis{stroke:#747681;stroke-width:1;fill:none}.coach-release [data-release-cursor]{stroke:white;stroke-width:1;stroke-opacity:.7}.coach-release text{fill:#a5a7af;font:9px system-ui}
.coach-concept-note{font-size:10px;line-height:1.6;color:var(--muted);margin:13px 0 0}
.coach-modal :is(button,summary,input):focus-visible{outline:2px solid var(--red);outline-offset:3px}
/* Strong playback control, separate from the quieter comparison action. */
html[data-accent-style] .opportunity-v15 .opportunity-footer{display:flex;flex-wrap:wrap;gap:9px;padding-top:14px}
html[data-accent-style] .opportunity-v15 .opportunity-footer .opportunity-play{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:650;padding:10px 13px;background:var(--ink);color:var(--surface);border:1px solid var(--ink);border-radius:7px;box-shadow:0 3px 7px #00000012}
html[data-accent-style] .opportunity-v15 .opportunity-play svg{width:20px;height:20px;flex:none}
html[data-accent-style] .opportunity-v15 .opportunity-footer .opportunity-play:hover{background:var(--red);border-color:var(--red);color:white}
html[data-accent-style] .opportunity-v15 .opportunity-footer .opportunity-play[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:white}
html[data-accent-style] .opportunity-v15 .opportunity-footer [data-compare-corner]{margin-left:auto;min-height:32px}
@media(max-width:680px){dialog.coach-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.coach-modal .modal-heading{padding:13px 15px}.coach-modal .modal-body{padding:14px 12px}.coach-context>span:last-child{display:none}.coach-intro{margin:15px 3px}.coach-intro h2{font-size:25px}.coach-intro>span{width:44px;height:44px}.coach-summary-copy strong{font-size:14px}.coach-summary-copy small{font-size:8px}.coach-goal-priority{display:none}.coach-accordion>summary{padding:13px 12px;gap:10px}.coach-task{padding:14px 12px}.coach-task p{font-size:13px}.coach-task>span{font-size:11px}.coach-visual{margin:0 6px}.coach-visual-top{padding:11px 10px 0}.coach-visual-top>span:last-child{display:none}.coach-legend{font-size:10px;gap:15px}.coach-circuit{min-height:250px;object-fit:contain}.coach-phases{grid-template-columns:repeat(2,1fr);padding:8px 8px 0;gap:5px}.coach-phases button{min-height:41px;font-size:11px}.coach-phase-explanation{padding:12px;min-height:145px}.coach-phase-notes>span{align-items:flex-start;flex-direction:column;gap:4px;font-size:11px}.coach-bottom{grid-template-columns:1fr;gap:13px;padding:12px}.coach-inputs{grid-template-columns:1fr 1fr}.coach-transport button{min-height:36px}.coach-release{margin:0 12px 12px}.coach-concept-note{font-size:9px}.coach-scene-caption text:last-child{font-size:22px}}

.coach-mobile-callout{display:none}
@media(max-width:680px){.coach-circuit{height:250px;min-height:250px}.coach-scene-caption,.coach-track-label,.coach-desktop-callout{display:none}.coach-mobile-callout{display:block;font-size:14px}.coach-visual .coach-marker{stroke-width:2}.coach-visual .coach-marker path,.coach-visual .coach-marker circle{stroke-width:2}.coach-phases{margin-top:0}}

/* Compact live speed readouts stay tied to the two existing line colors. */
.coach-visual-top{align-items:flex-start}
.coach-visual-top>span:last-child{padding-top:1px;text-align:right}
.coach-visual-top>span:last-child small{display:block;font-size:9px;opacity:.8;margin-top:6px}
.coach-legend{gap:28px}
.coach-legend>span{display:grid;grid-template-columns:21px auto;gap:4px 7px;align-items:center}
.coach-legend>span:before{grid-row:1;grid-column:1}
.coach-legend>span>span:first-child{grid-column:2}
.coach-live-speed{grid-column:2;display:flex;align-items:baseline;gap:5px;min-width:74px}
.coach-live-speed strong{font-size:20px;line-height:1.15;letter-spacing:-.4px;font-weight:600;font-variant-numeric:tabular-nums}
.coach-live-speed small{font-size:10px;opacity:.85}
.coach-grid-line{stroke:#ffffff;stroke-opacity:.035}
/* The coach diagram follows the selected light/dark theme. */
[data-theme="light"] .coach-visual{background:#f1f3f5;border-color:#cbd0d6;color:#434953}
[data-theme="light"] .coach-visual-top{color:#6c737d}
[data-theme="light"] .coach-visual .current,[data-theme="light"] .coach-release .current{color:#35699f}
[data-theme="light"] .coach-visual .suggested,[data-theme="light"] .coach-release .suggested{color:#d42730}
[data-theme="light"] .coach-grid-line{stroke:#687381;stroke-opacity:.065}
[data-theme="light"] .coach-runoff{stroke:#e5e8ec}
[data-theme="light"] .coach-road-edge{stroke:#adb4bd}
[data-theme="light"] .coach-tarmac{stroke:#d4d9df}
[data-theme="light"] .coach-centerline{stroke:#68717d;stroke-opacity:.2}
[data-theme="light"] .coach-curb-base{stroke:#fcfcfd}
[data-theme="light"] .coach-curb{stroke:#d9474f}
[data-theme="light"] .coach-racing-line.current{stroke:#356fa9}
[data-theme="light"] .coach-racing-line.suggested{stroke:#e3343c}
[data-theme="light"] .coach-trail.current{stroke:#356fa9}
[data-theme="light"] .coach-trail.suggested{stroke:#e3343c}
[data-theme="light"] .coach-marker{stroke:#f7f8fa}
[data-theme="light"] .coach-marker.current{fill:#356fa9}
[data-theme="light"] .coach-marker.suggested{fill:#e3343c}
[data-theme="light"] .coach-car{stroke:#ffffff;stroke-width:1.2}
[data-theme="light"] .coach-car.current{fill:#356fa9}
[data-theme="light"] .coach-car.suggested{fill:#e3343c}
[data-theme="light"] .coach-car>path:first-of-type{fill:#cfe1f4}
[data-theme="light"] .coach-annotations{fill:#4c5561}
[data-theme="light"] .coach-annotations .coach-desktop-callout>path{stroke:#818b98}
[data-theme="light"] .coach-annotations .coach-direction{stroke:#d42730}
[data-theme="light"] .coach-annotations .current{fill:#35699f}
[data-theme="light"] .coach-annotations .suggested{fill:#c8262e}
[data-theme="light"] .coach-track-label{fill:#707a86}
[data-theme="light"] .coach-scene-caption text:first-child{fill:#c8262e}
[data-theme="light"] .coach-scene-caption text:last-child{fill:#303943}
[data-theme="light"] .coach-release{background:#f1f3f5;border-color:#cbd0d6;color:#434953}
[data-theme="light"] .coach-release>div span,[data-theme="light"] .coach-release text{color:#6c737d;fill:#6c737d}
[data-theme="light"] .coach-release [data-release-cursor]{stroke:#374151}
@media(max-width:680px){.coach-legend{gap:20px;font-size:10px}.coach-live-speed strong{font-size:18px}.coach-live-speed small{font-size:9px}}


/* revision20.css */
/* Optional precision map: unchanged telemetry geometry, quieter surfaces, directional cursors. */
.map-wrap[data-map-style="precision"]{--map-sheet:#f1f3f5;--map-edge:#c8ced5;--map-road:#e4e8ed;--map-a:#327fd5;--map-b:#e4555c;background:radial-gradient(ellipse at 65% 45%,#fff8,transparent 65%),var(--map-sheet);border:1px solid var(--line);border-radius:12px}
[data-theme="dark"] .map-wrap[data-map-style="precision"]{--map-sheet:#25282d;--map-edge:#4c525c;--map-road:#363c44;--map-a:#70b3ff;--map-b:#ff858b;background:radial-gradient(ellipse at 65% 45%,#46505f30,transparent 65%),var(--map-sheet)}
.map-wrap[data-map-style="precision"].layer-none{background:var(--surface)}
[data-map-style="precision"] .track-edge{stroke:var(--map-edge);stroke-width:6;filter:none}
[data-map-style="precision"] #track-road{stroke:var(--map-road);stroke-width:4.7}
[data-map-style="precision"] .line-halo{stroke:var(--map-sheet);stroke-width:4;stroke-opacity:.75}
[data-map-style="precision"] #track-line-a{stroke:var(--map-a);stroke-width:2.15}
[data-map-style="precision"] #track-line-b{stroke:var(--map-b);stroke-width:2.15;stroke-dasharray:7 3}
[data-map-style="precision"] .circuit-grid{opacity:.45}
[data-map-style="precision"] .position-marker{--position:var(--map-a);filter:none!important}
[data-map-style="precision"] .position-b{--position:var(--map-b)}
[data-map-style="precision"] .position-ring{fill:var(--map-sheet);stroke:var(--position);stroke-width:1.2}
[data-map-style="precision"] .position-core{fill:var(--position);stroke:none}
[data-map-style="precision"] .position-heading{fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
[data-theme="dark"] [data-map-style="precision"] .position-heading{stroke:#202630}
[data-map-style="precision"] .driving-event{filter:none;stroke-width:1.2}
[data-map-style="precision"] .sector-leader{stroke-dasharray:1 4;opacity:.28}
[data-map-style="precision"] .map-sector-label rect{fill:var(--map-sheet);stroke:var(--map-edge);rx:7}
[data-map-style="precision"] .map-sector-label text{font-weight:550;letter-spacing:.3px}
html[data-accent-style] [data-map-style="precision"] :is(.map-telemetry,.lap-chip,.map-option-toggles){background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);box-shadow:0 3px 12px #0000000a;border-radius:9px;color:var(--ink)}
html[data-accent-style] [data-map-style="precision"] .map-telemetry .map-a{color:var(--map-a)}
html[data-accent-style] [data-map-style="precision"] .map-telemetry .map-b{color:var(--map-b)}
html[data-accent-style] [data-map-style="precision"] .map-data-label{color:var(--muted)}
[data-map-style="precision"] .map-data-row strong{font-weight:550;letter-spacing:-.5px}
[data-map-style="precision"] .map-controls{gap:3px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
[data-map-style="precision"] .map-controls .map-small{border-color:transparent;background:transparent;box-shadow:none}
[data-map-style="precision"] .map-controls .map-small:hover{background:var(--surface-alt)}
[data-map-style="precision"] .event-legend{border-radius:9px;background:var(--surface);border-color:var(--line);box-shadow:0 2px 8px #00000008}
[data-map-style="precision"] .map-range-highlight{stroke:var(--map-a);stroke-width:8;opacity:.16}
/* Readable, aligned repeat action; original card layout retained. */
html[data-accent-style] .opportunity-v15 .opportunity-footer .opportunity-play{font-size:14px;line-height:1.35;font-weight:600;min-height:46px;margin:0;gap:10px}
html[data-accent-style] .opportunity-v15 .opportunity-play .opportunity-action{font:inherit;align-self:center;margin:0;line-height:inherit;white-space:normal}
html[data-accent-style] .opportunity-v15 .opportunity-play svg{display:block;width:20px;height:20px;flex:0 0 20px;align-self:center}
html[data-accent-style] .opportunity-v15 .opportunity-footer [data-compare-corner]{font-size:12px;min-height:36px}
[data-select-corner]{cursor:pointer}
.corner-table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);scrollbar-width:thin}
.corner-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;text-align:left}
.corner-table caption{text-align:left;padding:11px 14px;color:var(--muted);font-size:12px;background:var(--surface-alt)}
.corner-table thead{background:var(--surface-alt)}
.corner-table thead th{font-size:12px;font-weight:550;color:var(--muted);padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.corner-table thead small{font-weight:400;font-size:10px;margin-left:3px}
.corner-table tbody td,.corner-table tbody th{padding:10px 12px;border-bottom:1px solid var(--line);font-weight:400}
.corner-table tbody:last-child>tr:last-child td,.corner-table tbody:last-child>tr:first-child th{border-bottom:0}
.corner-table-group>tr:first-child:hover{background:color-mix(in srgb,var(--surface-alt) 60%,transparent)}
.corner-table-group.active>tr:first-child{background:color-mix(in srgb,var(--red) 7%,var(--surface))}
.corner-table-group.active>tr:first-child>th{box-shadow:inset 3px 0 var(--red)}
.corner-table th[scope="row"]{min-width:205px;padding:5px 10px;position:sticky;left:0;background:var(--surface);z-index:1}
.corner-table-group.active th[scope="row"]{background:color-mix(in srgb,var(--red) 7%,var(--surface))}
.corner-table th button{justify-content:flex-start;text-align:left;gap:10px;width:100%;min-height:47px;padding:0;background:none}
.corner-table .corner-preview{width:40px;height:38px;flex:0 0 40px}
.corner-table th b{display:block;font-size:13px;font-weight:600}
.corner-table th small,.corner-table td>small{display:block;font-size:11px;color:var(--muted);margin-top:4px;white-space:nowrap}
.corner-table td>strong{display:block;font-weight:550;font-size:14px;white-space:nowrap}
.corner-table .table-lap-b{color:var(--compare);font-size:12px}
.corner-table i{font-style:normal;font-size:10px;margin-right:6px}
.corner-table .table-lap-a{color:var(--blue)}
.corner-table .table-best{color:var(--gain)}
.corner-table .table-measurements-button{font-size:12px;padding:7px 9px;background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;white-space:nowrap}
.table-measurements-button[aria-expanded="true"] span{transform:rotate(180deg)}
.corner-table-detail>td{background:var(--surface-alt);padding:16px 20px!important}
.corner-table-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px;margin:0}
.corner-table-detail dl div{display:flex;flex-direction:column;gap:5px}
.corner-table-detail dt{font-size:11px;color:var(--muted)}
.corner-table-detail dd{margin:0;font-size:13px;font-weight:550}
.corner-table-detail dd span{display:block;margin-top:4px}
.csv-mapping{margin-top:14px}
@media(max-width:650px){.corner-table{min-width:790px}.corner-table th[scope="row"]{min-width:170px}.corner-table th button{gap:5px}.corner-table .corner-preview{width:30px;flex-basis:30px}.corner-table-detail dl{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Expanding a panel must not anchor the viewport to the footer beneath it. */
#product-workspace{overflow-anchor:none}

/* Precision racing trace: a satin edge and fine illuminated core. */
.precision-line-core{display:none;fill:none;pointer-events:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
[data-map-style="precision"] .line-halo{stroke:var(--map-a);stroke-width:5.2;stroke-opacity:.14}
[data-map-style="precision"] #track-halo-b{stroke:var(--map-b)}
[data-map-style="precision"] #track-line-a,[data-map-style="precision"] #track-line-b{stroke-width:3.1;stroke-dasharray:none}
[data-map-style="precision"].is-comparing #track-line-a,[data-map-style="precision"].is-comparing #track-line-b{stroke-width:2.5}
[data-map-style="precision"] .precision-line-core{display:block;stroke:#eef7ff;stroke-opacity:.62;stroke-width:.7}
[data-map-style="precision"] #track-core-b{stroke:#ffedeb;stroke-dasharray:6 4;stroke-opacity:.8}
[data-theme="dark"] [data-map-style="precision"] .line-halo{stroke-opacity:.18}
[data-map-style="precision"] .track-edge{stroke-width:5;opacity:.7}
[data-map-style="precision"] #track-road{stroke-width:3.8}


/* revision21.css */
/* A physical section, isolated on the same map, in both analysis tools. */
.map-wrap{--focus-edge:#b8c1cb;--focus-road:#e4e9ee;--focus-label:#596777}
[data-theme="dark"] .map-wrap{--focus-edge:#46505d;--focus-road:#30363f;--focus-label:#b6c0ce}
.is-range-focused .track-edge,.is-range-focused #track-road{vector-effect:non-scaling-stroke;fill:none;stroke-linecap:round;stroke-linejoin:round}
.is-range-focused .track-edge{stroke:var(--focus-edge)!important;stroke-width:20px!important;opacity:.5!important;filter:none!important}
.is-range-focused #track-road{stroke:var(--focus-road)!important;stroke-width:18px!important;opacity:1!important}
.is-range-focused #base-tiles{opacity:.35}
.is-range-focused .circuit-grid{opacity:.2}
.map-selected-trace{fill:none;stroke:var(--blue);stroke-width:4;stroke-opacity:.85;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map-focus-badge{position:absolute;z-index:4;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:7px 8px 7px 12px;max-width:38%;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 4px 16px #0000000c}
.map-focus-badge[hidden]{display:none}
.map-focus-badge>div{min-width:0}
.map-focus-badge small{display:block;font-size:8px;font-weight:650;letter-spacing:1.1px;color:var(--muted);margin-bottom:3px}
.map-focus-badge strong{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-status-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 12%,transparent);flex:none}
.map-focus-badge button{border-radius:6px;width:28px;height:28px;flex:none;font-size:20px;font-weight:400;color:var(--muted)}
.focus-gate>g>path{fill:none;stroke:var(--focus-label);stroke-width:1.2;stroke-linecap:round}
.focus-gate circle{fill:var(--surface);stroke:var(--focus-label);stroke-width:1}
.focus-gate-label rect{fill:var(--surface);stroke:var(--line);stroke-width:.7}
.focus-gate-label text{fill:var(--focus-label);font:600 8px Inter,sans-serif;letter-spacing:.7px}
/* Hollow coloured ribbon + live solid tail. All widths stay legible while zooming. */
.precision-trail{display:none;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
[data-map-style="precision"] .track-edge{stroke-width:15px;vector-effect:non-scaling-stroke;opacity:.28}
[data-map-style="precision"] #track-road{stroke-width:13px;vector-effect:non-scaling-stroke;opacity:.55}
[data-map-style="precision"] .line-halo{stroke:var(--map-sheet)!important;stroke-width:6.5px;stroke-opacity:.95}
[data-map-style="precision"] #track-line-a,[data-map-style="precision"] #track-line-b{stroke-width:4px;stroke-dasharray:none;stroke-opacity:1}
[data-map-style="precision"].is-comparing #track-line-a,[data-map-style="precision"].is-comparing #track-line-b{stroke-width:3.2px}
[data-map-style="precision"] .precision-line-core{stroke:var(--map-sheet)!important;stroke-width:1.65px;stroke-opacity:1!important;stroke-dasharray:none!important}
[data-map-style="precision"].is-comparing .precision-line-core{stroke-width:1.05px}
[data-map-style="precision"] .precision-trail{display:block;stroke:var(--map-a);stroke-width:4.2px}
[data-map-style="precision"] .trail-b{stroke:var(--map-b)}
[data-map-style="precision"] .trail-0{stroke-opacity:.3}
[data-map-style="precision"] .trail-1{stroke-opacity:.65}
[data-map-style="precision"] .trail-2{stroke-opacity:1}
[data-map-style="precision"].is-comparing .precision-trail{stroke-width:3.3px}
[data-map-style="precision"] .position-shell{fill:var(--map-sheet);stroke:var(--position);stroke-width:1.8;stroke-linejoin:round}
[data-map-style="precision"] .position-needle{fill:var(--position);stroke:none}
[data-map-style="precision"] .position-marker{filter:drop-shadow(0 2px 2px #0003)!important}
@media(max-width:900px){.map-focus-badge{max-width:35%;gap:7px;left:auto;right:65px;transform:none}.map-focus-badge small{font-size:7px}.map-focus-badge strong{font-size:11px}}
@media(max-width:650px){.map-focus-badge{top:16px;right:54px;max-width:43%;padding:5px 5px 5px 9px;gap:7px}.map-focus-badge .focus-status-dot{display:none}.map-focus-badge small{font-size:6px}.map-focus-badge strong{font-size:10px}.map-focus-badge button{width:24px;height:24px}}

/* A compact telemetry band keeps a narrow focused map unobstructed. */
.is-range-focused.focus-narrow:not(.expanded){min-height:430px}
.is-range-focused.focus-narrow .lap-chips{flex-direction:column;align-items:flex-start;gap:6px}
html[data-accent-style] .is-range-focused.focus-narrow .map-telemetry{left:12px;right:70px;top:62px;width:auto!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 9px!important}
html[data-accent-style] .is-range-focused.focus-narrow .map-telemetry.comparison-values{top:102px}
.is-range-focused.focus-narrow .map-data-head{grid-column:1/-1;display:flex!important;justify-content:flex-start!important;gap:18px!important;margin:0!important;padding-bottom:5px!important}
.is-range-focused.focus-narrow .map-data-row{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:3px!important;margin:0!important}
.is-range-focused.focus-narrow .map-data-label{font-size:8px!important;line-height:1.2;white-space:nowrap}
.is-range-focused.focus-narrow .map-data-label small{float:none;display:inline!important;margin-left:3px}
html[data-accent-style] .is-range-focused.focus-narrow .map-data-row strong{font-size:15px!important;line-height:1.2!important;letter-spacing:-.25px}

.is-range-focused.focus-narrow .map-attribution{bottom:3px!important;left:12px!important;font-size:7px!important;max-width:calc(100% - 24px)}


/* revision23.css */
/* Session A/B rails keep the analysis surface primary. */
[hidden]{display:none!important}
.app-shell.has-comparison{grid-template-columns:156px 156px minmax(0,1fr)}
.app-shell.has-comparison>.session-rail:first-child{grid-column:1;grid-row:1}
.app-shell.has-comparison>main{grid-column:3;grid-row:1}
.app-shell.has-comparison>.comparison-rail{grid-column:2;grid-row:1}
.app-shell.has-comparison[data-comparison-layout="opposite"]{grid-template-columns:156px minmax(0,1fr) 156px}
.app-shell.has-comparison[data-comparison-layout="opposite"]>main{grid-column:2}
.app-shell.has-comparison[data-comparison-layout="opposite"]>.comparison-rail{grid-column:3;border-left:1px solid var(--line);border-right:0}
.app-shell.has-comparison .session-rail{padding:20px 8px}
.app-shell.has-comparison .lap-row{padding:10px 6px;gap:6px}
.app-shell.has-comparison .lap-delta{display:none}
.app-shell.has-comparison .rail-track h2{font-size:17px}
.comparison-rail{min-width:0;gap:12px}
.comparison-rail-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:11px;letter-spacing:.7px;color:var(--secondary)}
.comparison-rail-heading>span{display:flex;align-items:center;gap:5px}
.comparison-rail-heading i,.lap-distances i{font-style:normal;background:color-mix(in srgb,var(--compare) 14%,transparent);color:var(--compare);padding:4px 7px;border-radius:5px;font-weight:700}
.comparison-rail-heading button{min-width:32px;min-height:32px;border:1px solid var(--line);border-radius:7px;font-size:23px;color:var(--ink)}
.comparison-session-label{font-size:12px;color:var(--secondary);margin-bottom:-6px}
#rail-compare-session{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:9px 5px;font-size:12px}
.comparison-session-info{display:flex;flex-direction:column;gap:5px}.comparison-session-info strong{font-size:14px}.comparison-session-info small{font-size:12px;line-height:1.5;color:var(--secondary)}
.comparison-selected{padding:11px 8px;border:1px solid color-mix(in srgb,var(--compare) 30%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--compare) 6%,var(--surface));display:flex;flex-direction:column;gap:5px}
.comparison-selected>span,.comparison-selected>small{font-size:12px;color:var(--secondary)}.comparison-selected>strong{font-size:20px;font-variant-numeric:tabular-nums;color:var(--compare)}
[data-accent-style] .comparison-rail .lap-row.selected{border-color:var(--compare);background:color-mix(in srgb,var(--compare) 12%,var(--surface))}
.comparison-rail .lap-row:disabled{opacity:.4;cursor:not-allowed}
.lap-distances{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:0 17px 12px;color:var(--secondary);font-size:12px}
.lap-distances>span{display:flex;align-items:center;gap:7px}.lap-distances strong{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.lap-distances .lap-distance-a i{background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}
.sector-source-note{font-size:13px;line-height:1.6;color:var(--secondary);margin:8px 0 15px}
.app-shell.has-comparison.rail-collapsed{grid-template-columns:94px 94px minmax(0,1fr)}
.app-shell.has-comparison.rail-collapsed[data-comparison-layout="opposite"]{grid-template-columns:94px minmax(0,1fr) 94px}
.app-shell.rail-collapsed .comparison-rail>:is(.comparison-rail-heading,.comparison-selected,#comparison-lap-list){display:flex}
.app-shell.rail-collapsed .comparison-rail>#comparison-lap-list{display:block;width:100%}
.rail-collapsed .comparison-rail-heading>span{font-size:0}.rail-collapsed .comparison-rail-heading i{font-size:12px}
.rail-collapsed .comparison-selected{padding:9px 3px;align-items:center}.rail-collapsed .comparison-selected>strong{font-size:14px}.rail-collapsed .comparison-selected>small{font-size:10px}
@media(min-width:851px) and (max-width:1200px){.app-shell.has-comparison{grid-template-columns:132px 132px minmax(0,1fr)}.app-shell.has-comparison[data-comparison-layout="opposite"]{grid-template-columns:132px minmax(0,1fr) 132px}.app-shell.has-comparison>main{padding-left:12px;padding-right:12px}.comparison-rail-heading>span{font-size:9px}}
@media(max-width:850px){.app-shell.has-comparison,.app-shell.has-comparison.rail-collapsed,.app-shell.has-comparison[data-comparison-layout="opposite"],.app-shell.has-comparison.rail-collapsed[data-comparison-layout="opposite"]{grid-template-columns:minmax(0,1fr)}.app-shell.has-comparison>main,.app-shell.has-comparison[data-comparison-layout="opposite"]>main{grid-column:1;grid-row:2}.app-shell.has-comparison>.comparison-rail,.app-shell.has-comparison[data-comparison-layout="opposite"]>.comparison-rail{display:flex;grid-column:1;grid-row:1;min-height:0;padding:12px;gap:8px;border-bottom:1px solid var(--line);border-left:0}.comparison-session-info,.comparison-session-label,.comparison-rail .lap-sort,.comparison-selected{display:none}.comparison-rail-heading{font-size:12px}.comparison-rail-heading>span{font-size:12px!important}#comparison-lap-list,.app-shell.rail-collapsed .comparison-rail>#comparison-lap-list{display:flex;overflow-x:auto;gap:7px}.comparison-rail .lap-row,.rail-collapsed .comparison-rail .lap-row{min-width:90px;max-width:120px;margin:0;display:flex;flex-direction:column;align-items:center}.comparison-rail .theoretical-lap{min-width:128px}.comparison-rail .theoretical-source{display:none}.app-shell.rail-collapsed .comparison-rail>#rail-compare-session{display:block}.lap-distances{padding:0 12px 10px;gap:7px;font-size:12px}}
/* Recorded-pass coaching uses the Coach visual language without imagined inputs. */
.observed-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 20px}
.observed-tabs button{display:grid;grid-template-columns:26px 1fr;gap:6px 9px;align-items:center;text-align:left;padding:14px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}
.observed-tabs button small{grid-row:span 2;color:var(--muted);font-variant-numeric:tabular-nums}.observed-tabs button span{font-size:14px;font-weight:600}.observed-tabs button b{font-size:14px;color:var(--gain,#70bd90)}
.observed-tabs button[aria-selected=true]{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 20%,transparent)}
.observed-tabs button:disabled{opacity:.42;cursor:default}.observed-objective{display:flex;gap:28px;align-items:flex-start;margin:22px 0}.observed-objective>div:first-child{flex:1}.observed-objective small,.observed-phase-detail small{display:block;font-size:12px;color:var(--secondary);letter-spacing:.3px}.observed-objective h3{font-size:22px;line-height:1.35;letter-spacing:-.5px;margin:8px 0 12px}.observed-objective p{font-size:15px;line-height:1.65;color:var(--secondary);margin:8px 0}.observed-objective .observed-action{color:var(--ink)}
.observed-gain{min-width:150px;padding:16px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:8px;background:var(--canvas)}.observed-gain>span{font-size:12px;color:var(--secondary)}.observed-gain strong{font-size:32px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.observed-gain strong small{display:inline;margin-left:4px;font-size:14px}
.observed-visual{margin:0}.observed-path-bed{fill:none;stroke:var(--ink);stroke-opacity:.06;stroke-width:15;stroke-linecap:round;stroke-linejoin:round}.observed-circuit .coach-racing-line{stroke-width:2.4;fill:none;stroke-linejoin:round;stroke-linecap:round}.observed-gate circle{fill:var(--surface);stroke:var(--secondary);stroke-width:1.5}.observed-gate text{fill:var(--secondary);font:600 12px Inter,sans-serif;letter-spacing:1px}.observed-visual .coach-legend>span>small{font-size:11px;min-height:14px}.observed-phases{display:flex;gap:6px;overflow-x:auto;padding:12px 0}.observed-phases button{flex:1;white-space:nowrap;border:1px solid var(--line);border-radius:8px;min-height:40px;font-size:13px;padding:7px 10px}.observed-phases button small{font-size:11px;opacity:.6}.observed-phases button[aria-pressed=true]{background:color-mix(in srgb,var(--red) 10%,var(--surface));border-color:color-mix(in srgb,var(--red) 55%,var(--line))}
.observed-phase-detail{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:18px;padding:17px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);align-items:center}.observed-phase-detail h4{font-size:16px;margin:7px 0 0}.observed-phase-detail strong{display:block;margin-top:7px;font-size:18px;font-variant-numeric:tabular-nums}.observed-value.current strong{color:var(--blue)}.observed-value.suggested strong{color:var(--compare)}
.observed-transport{margin:18px 0}.observed-transport>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.observed-transport label{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--secondary);font-size:12px}.observed-transport select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:7px}.observed-transport input{width:100%;accent-color:var(--red);margin-top:18px}.observed-transport [data-observed-clock]{font-size:13px;font-variant-numeric:tabular-nums;color:var(--secondary);padding-left:8px}.observed-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.observed-footer>span{font-size:12px;line-height:1.6;color:var(--secondary)}.observed-method{margin-top:22px;border-top:1px solid var(--line);padding-top:15px}.observed-method summary{font-size:14px;cursor:pointer;color:var(--secondary)}.observed-method p{font-size:13px;line-height:1.7;color:var(--secondary)}.coach-empty{padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--canvas)}.coach-empty p{color:var(--secondary);font-size:14px;line-height:1.65}
@media(max-width:680px){.observed-tabs{gap:5px}.observed-tabs button{padding:10px 7px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.observed-tabs button span,.observed-tabs button b{font-size:12px}.observed-tabs button small{font-size:10px}.observed-objective{flex-direction:column;gap:10px}.observed-objective h3{font-size:20px}.observed-gain{display:flex;flex-direction:row;width:100%;align-items:center;gap:15px;padding:11px}.observed-gain strong{font-size:26px}.observed-phase-detail{grid-template-columns:1fr 1fr;gap:14px;padding:13px}.observed-visual .coach-visual-top{flex-wrap:wrap}.observed-visual .coach-legend{width:100%}.observed-visual .coach-circuit{min-height:270px}.observed-footer{align-items:stretch;flex-direction:column}.observed-transport label{margin-left:0}.observed-transport .button{padding:8px 12px}.observed-objective p{font-size:14px}.observed-phases button{flex:none}}

[data-accent-style] .comparison-rail .lap-row.selected .lap-number{color:var(--compare);background:color-mix(in srgb,var(--compare) 15%,var(--surface))}


/* revision24.css */
/* 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}}


/* revision25.css */
/* 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)}}


/* heatmap.css */
/* Motion zones use discrete colours. Lap identity remains on the outline and cursor. */
.acceleration-zone{fill:none;stroke-width:3.2px;stroke-linecap:butt;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
[data-line-view="heatmap"] :is(.precision-line-core,.precision-trail,.map-selected-trace){display:none!important}
[data-line-view="heatmap"] :is(#track-line-a,#track-line-b){stroke-width:6.2px!important;stroke-opacity:.8!important;stroke-dasharray:none!important}
[data-line-view="heatmap"] .line-halo{stroke-width:8.2px!important;stroke-opacity:.6!important}
[data-line-view="heatmap"] #track-line-b{stroke-dasharray:9 3!important}
[data-line-view="heatmap"] :is(#track-line-a,#track-line-b).heat-unselected{stroke-width:2.6px!important;stroke-opacity:.55!important}
[data-line-view="heatmap"] #acceleration-zones-b .acceleration-zone{stroke-dasharray:9 3}
.heatmap-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 13px;padding:7px 18px;border-top:1px solid var(--line);background:var(--surface);color:var(--secondary);font-size:10px;line-height:1.5}
.heatmap-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.heatmap-legend i{width:15px;height:3px;background:var(--zone-color);border-radius:1px}.heatmap-legend small{font-size:10px;color:var(--muted);margin-left:auto}.heatmap-legend b{font-weight:550;color:var(--ink)}
@media(max-width:700px){.heatmap-legend{padding:7px 12px;gap:5px 10px}.heatmap-legend small{flex-basis:100%;margin-left:0}}


/* revision26.css */
/* Compact timing visuals share the same quiet surfaces as the analysis workspace. */
.global-nav nav{display:flex;align-items:center;gap:10px}.global-nav .nav-current{font-size:12px}.global-nav .nav-current[aria-current=false]{color:var(--secondary)}#nav-analysis{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink)}#nav-analysis>span{color:var(--muted);font-size:18px}#nav-analysis b{font-weight:550}
.session-library-row{transition:border-color .18s,box-shadow .18s}.session-library-row.is-new-import{border-color:color-mix(in srgb,var(--blue) 60%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 9%,transparent)}.is-new-import .session-source{background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue);font-weight:650;letter-spacing:.5px}.session-row-main{padding-top:15px;padding-bottom:15px}
.overview-rhythm{margin-top:20px;border-top:1px solid var(--line);padding-top:14px;min-width:0}.lap-timeline{min-width:0}.timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 2px}.timeline-heading strong{font-size:13px;font-weight:600;letter-spacing:-.1px}.timeline-heading small{display:block;color:var(--secondary);font-size:10px;margin-top:4px}.timeline-summary{display:flex;align-items:center;gap:20px;color:var(--secondary);font-size:11px;white-space:nowrap}.timeline-summary b{font-weight:600;color:var(--ink);margin-left:5px;font-variant-numeric:tabular-nums}.timeline-summary .timeline-best b{color:var(--gain)}.timeline-typical:before{content:'';display:inline-block;width:13px;border-top:1px dashed var(--secondary);margin-right:6px;vertical-align:middle}.timeline-scroll{overflow-x:auto;max-width:100%;padding:0 8px 10px;scrollbar-width:thin}.timeline-svg{display:block;width:100%;height:142px;overflow:visible}.timeline-baseline{stroke:var(--line);stroke-width:1}.timeline-median{stroke:var(--secondary);stroke-width:1;stroke-dasharray:3 5;opacity:.5}.timeline-spread{fill:var(--blue);opacity:.035}.timeline-line{fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linejoin:round;opacity:.5}.timeline-stem{stroke:color-mix(in srgb,var(--secondary) 30%,var(--surface));stroke-width:6;stroke-linecap:round}.timeline-point .timeline-dot{fill:var(--surface);stroke:var(--blue);stroke-width:2}.overview-rhythm .timeline-dot{fill:var(--secondary);stroke:var(--surface);stroke-width:1.5}.timeline-point.best .timeline-dot{fill:var(--gain);stroke:var(--gain)}.timeline-point.best .timeline-stem{stroke:color-mix(in srgb,var(--gain) 35%,var(--surface))}.timeline-hit{fill:transparent;stroke:none}.timeline-ring{fill:none;stroke:var(--blue);stroke-width:1;opacity:0}.timeline-point{outline:none}.timeline-point[role=button]{cursor:pointer}.timeline-point .timeline-lap-label{fill:var(--secondary);font-size:10px}.timeline-point.selected .timeline-dot{fill:var(--blue)}.timeline-point.selected .timeline-ring,.timeline-point:hover .timeline-ring,.timeline-point:focus .timeline-ring{opacity:.8}.timeline-point.selected .timeline-lap-label{fill:var(--ink);font-weight:650}.timeline-point.excluded .timeline-dot{stroke:var(--muted);stroke-dasharray:2 2}.timeline-point.excluded .timeline-lap-label{opacity:.5}.timeline-time{opacity:0;pointer-events:none;transition:opacity .1s}.timeline-time rect{fill:var(--surface-alt);stroke:var(--line)}.timeline-time text{fill:var(--ink);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.timeline-point:is(:hover,:focus,.selected) .timeline-time{opacity:1}.timeline-svg:has(.timeline-point:hover) .timeline-point.selected:not(:hover) .timeline-time{opacity:0}.timeline-svg:has(.timeline-point:focus) .timeline-point.selected:not(:focus) .timeline-time{opacity:0}
.progression-chart{margin-top:9px}.consistency-table th,.consistency-table td{padding:3px 4px;min-width:92px}.consistency-table th:first-child{min-width:180px;padding:3px 9px}.consistency-table tbody th>button{display:inline-flex;align-items:center;width:47px;min-height:30px;padding:0;font-size:11px}.consistency-table .consistency-status-picker{display:inline-flex;width:108px;vertical-align:middle}.consistency-table .consistency-status-picker select{font-size:10px;min-height:28px;padding:3px 23px 3px 7px}.consistency-table td>button:not(.consistency-cell){padding:5px 7px;min-height:30px}.consistency-table .consistency-cell{display:flex;justify-content:center;align-items:baseline;gap:5px;padding:6px 5px;min-height:30px}.consistency-cell small{display:inline;margin:0;font-size:9px}.consistency-cell strong{font-size:12px}.consistency-table thead th{padding:7px 5px}.consistency-table thead small{margin-top:2px}.consistency-table tfoot td,.consistency-table tfoot th{padding:7px 5px}.consistency-table-scroll{max-height:620px}.lap-row{padding-top:9px;padding-bottom:9px}
.opportunity-footer .opportunity-play{display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 12px;font-size:13px!important;line-height:20px}.opportunity-play-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px}.opportunity-play-icon .icon{width:18px;height:18px;margin:0;transform:none}.opportunity-action{font-size:13px!important;font-weight:600;line-height:20px}.opportunity-footer [data-compare-corner]{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;font-size:12px!important;font-weight:600;border:1px solid color-mix(in srgb,var(--secondary) 45%,var(--line));border-radius:7px;background:var(--surface);color:var(--ink)}.opportunity-footer [data-compare-corner]:hover{background:var(--surface-alt);border-color:var(--blue)}.opportunity-footer [data-compare-corner].is-comparing{border-color:var(--red);color:var(--red)}.opportunity-footer [data-compare-corner] .icon{width:17px;height:17px}
.clear-graph-selection{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:5px 8px;color:var(--ink);font-size:11px;white-space:nowrap;min-height:29px}.clear-graph-selection:hover{border-color:var(--blue);color:var(--blue)}.custom-summary-heading{gap:10px;flex-wrap:wrap}.custom-summary-heading [data-clear-custom]{margin-left:auto}.custom-timing-note{font-size:11px;color:var(--secondary);margin:0 0 12px;line-height:1.6}
@media(max-width:760px){.timeline-heading{flex-wrap:wrap;padding:10px 10px 2px;gap:10px}.timeline-summary{gap:14px}.timeline-heading strong{font-size:12px}.timeline-svg{height:134px}.timeline-scroll{padding-left:0;padding-right:0}.global-nav nav{gap:5px}#nav-analysis{font-size:10px;gap:5px}.global-nav .nav-current{font-size:10px}.global-nav .demo-badge{display:none}.session-overview{padding:16px 14px}.custom-summary-heading [data-clear-custom]{margin-left:0}.telemetry-header .section-label{flex-wrap:wrap}}
@media(pointer:coarse){.consistency-table tbody th>button,.consistency-table .consistency-status-picker select,.consistency-table .consistency-cell,.consistency-table td>button:not(.consistency-cell){min-height:40px}.clear-graph-selection{min-height:40px}}
@media(prefers-reduced-motion:reduce){.timeline-time,.session-library-row{transition:none}}


/* revision27.css */
/* Quiet navigation, intrinsic charts, and a viewport-bounded lap list. */
.global-nav nav.page-breadcrumb{align-self:center;align-items:center;gap:7px;margin-left:5px;line-height:20px}
.global-nav .page-breadcrumb :is(button,.breadcrumb-current){display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:550;line-height:20px;color:var(--secondary);background:transparent;box-shadow:none;white-space:nowrap}
.global-nav .page-breadcrumb #home-nav{padding:5px 7px}.page-breadcrumb #home-nav .icon{width:15px;height:15px}
.global-nav .page-breadcrumb [aria-current=page]{background:var(--surface-alt);border-color:var(--line);color:var(--ink);font-weight:650}
.global-nav .page-breadcrumb button:hover{color:var(--ink);background:var(--surface-alt)}
.global-nav #nav-analysis{display:flex;align-items:center;gap:7px;margin:0;font:inherit}.breadcrumb-divider{color:var(--muted);font-size:15px;font-weight:400;line-height:20px}
body[data-screen=home] :is(.global-nav .brand,.global-nav .nav-divider,.global-nav .product-name,.global-nav nav,.demo-badge){display:none}
body[data-screen=home] .global-nav{background:transparent;border-color:transparent;justify-content:flex-end;box-shadow:none}
body[data-screen=home] .global-nav #theme-toggle{margin-left:auto}
.home-screen{max-width:1370px;margin:0 auto;min-height:calc(100dvh - 76px - var(--development-toolbar-height,34px));padding:60px 60px 100px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:55px}
.home-copy{padding-bottom:25px}.home-logo{margin-bottom:55px}.home-logo img{max-width:100%;height:auto}.home-copy .eyebrow{font-size:10px;letter-spacing:2px;color:var(--secondary)}.home-copy h1{font-size:clamp(40px,4.5vw,65px);font-weight:600;letter-spacing:-2.8px;line-height:1.07;margin:18px 0 24px}.home-copy h1>span{color:var(--red)}.home-copy p{font-size:17px;color:var(--secondary);line-height:1.8;margin:0 0 30px}.home-copy #home-enter{min-height:48px;padding:13px 22px;gap:25px;border-radius:8px;font-size:14px;box-shadow:0 6px 20px color-mix(in srgb,var(--red) 13%,transparent)}.home-copy>small{display:block;font-size:11px;color:var(--muted);margin-top:16px}
.home-art{min-width:0;border:1px solid var(--line);border-radius:24px;background:linear-gradient(155deg,var(--surface),color-mix(in srgb,var(--surface-alt) 40%,transparent));box-shadow:0 24px 65px #00000008;padding:26px 0 23px;transform:rotate(-3deg)}.home-art>svg{display:block;width:100%;height:auto}.home-art-label{display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:8px;letter-spacing:1.7px;color:var(--muted)}.home-art-label i{width:6px;height:6px;border-radius:50%;background:var(--red)}.home-art-footer{display:flex;gap:22px;padding:0 28px;margin-top:6px;font-size:8px;letter-spacing:1.2px;color:var(--secondary)}.home-art-footer span{display:flex;align-items:center;gap:8px}.home-art-footer i{display:block;width:13px;height:2px;background:var(--blue)}.home-art-footer span:last-child i{background:var(--red)}
.library-filter-bar{display:flex;align-items:flex-end;gap:12px}.library-filter-bar .library-search{max-width:420px;flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--secondary)}.library-filter-bar input{width:100%;height:40px;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:8px 12px;font-size:13px;color:var(--ink)}.library-filter-toggle{height:40px}.library-filter-toggle .icon{width:16px;height:16px}.library-filter-toggle[aria-expanded=true]{border-color:var(--secondary);background:var(--surface-alt)}.library-filter-toggle [data-filter-count]:not(:empty){padding:1px 5px;min-width:18px;border-radius:4px;background:var(--surface-alt);font-size:10px}.library-filters{margin-top:13px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.library-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.library-filter-chips button{border:1px solid var(--line);background:var(--surface);color:var(--secondary);padding:5px 9px;border-radius:20px;font-size:11px;gap:9px}.library-filter-chips button span{font-size:14px}.library-filter-chips button:hover{border-color:var(--secondary);color:var(--ink)}
.session-track-title{display:flex;gap:8px;align-items:center;min-width:0}.session-track-title h2{overflow-wrap:anywhere}.rename-track-button{color:var(--secondary);width:29px;height:29px;padding:5px;border:1px solid var(--line);border-radius:6px;flex:none}.rename-track-button .icon{width:14px;height:14px}.rename-track-button:hover{border-color:var(--secondary);color:var(--ink)}#rename-track-error{font-size:12px;color:var(--red)}
.overview-rhythm .rhythm-svg{max-width:none;height:124px;overflow:visible}.timeline-scroll{overscroll-behavior-x:contain}
@media(min-width:851px){
 .app-shell>.session-rail{position:sticky;top:var(--development-toolbar-height,0px);align-self:start;height:var(--rail-available-height,calc(100dvh - 76px - var(--development-toolbar-height,0px)));min-height:0;max-height:calc(100dvh - var(--development-toolbar-height,0px));overflow:hidden;padding-top:16px;padding-bottom:12px}
 .session-rail>*{flex-shrink:0}.session-rail :is(#lap-list,#comparison-lap-list){flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-padding:5px}
 .session-rail .rail-toggle{margin:0 -3px 10px 0}.session-rail .back-button{margin-bottom:16px}.session-rail .rail-track p{margin-bottom:17px}.session-rail .rail-foot{padding:12px 5px 0;margin-top:10px}.rail-foot p{font-size:10px;line-height:1.5}.app-shell.rail-collapsed .session-rail{padding-top:16px;padding-bottom:10px}.app-shell.rail-collapsed .session-rail .rail-toggle{margin:0 0 12px}
}
@media(min-width:851px) and (max-height:720px){.session-rail .rail-foot{display:none}.session-rail .back-button{margin-bottom:10px}.session-rail .rail-track p{margin-bottom:10px}.session-rail .rail-label{padding-bottom:8px}.session-rail .rail-track h2{margin-top:6px}.comparison-rail .comparison-selected{padding:7px 9px;margin-bottom:8px}}
@media(max-width:1000px){.home-screen{padding:40px 36px 65px;gap:30px}.home-copy h1{font-size:45px}.home-logo{margin-bottom:38px}.home-art-label{letter-spacing:1px;font-size:7px}.home-art-footer{gap:13px;font-size:7px}}
@media(max-width:760px){.home-screen{grid-template-columns:1fr;max-width:590px;padding:25px 28px 55px;gap:24px}.home-copy{padding:0}.home-logo{margin-bottom:32px}.home-copy h1{font-size:48px}.home-copy p{font-size:15px}.home-art{transform:rotate(-2deg);margin:0 8px}.home-art>svg{max-height:295px}.library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.global-nav .page-breadcrumb :is(button,.breadcrumb-current){font-size:12px;padding:4px 8px}.global-nav nav.page-breadcrumb{gap:5px}.global-nav #nav-analysis{gap:5px}.global-nav .product-name{display:none}}
@media(max-width:560px){.global-nav nav.page-breadcrumb{order:3;flex-basis:100%;justify-content:flex-start;margin:0}.library-filter-bar{gap:8px}.library-filter-toggle{font-size:12px;padding:8px 10px}.home-screen{padding-top:10px}.home-copy h1{font-size:43px}.home-logo{margin-bottom:28px}.home-art-label,.home-art-footer{padding-left:22px;padding-right:22px}}
.home-logo img{display:block}.home-logo .logo-dark{display:none}[data-theme=dark] .home-logo .logo-light{display:none}[data-theme=dark] .home-logo .logo-dark{display:block}


/* revision28.css */
/* Clearer motion, quiet surfaces, and an optional panoramic entry screen. */
.map-toolbar-actions{gap:7px}.map-layers-button{gap:8px}.map-layers-button b{font-weight:550}.map-layers-button>.icon:last-child{width:12px;height:12px;opacity:.7}.map-layers-button[aria-expanded=true]{background:var(--surface-alt);border-color:var(--secondary)}
.line-view-toggle[aria-disabled=true]{color:var(--muted);background:var(--surface-alt);border-color:var(--line);box-shadow:none;cursor:help;opacity:.65}.line-view-toggle[aria-disabled=true]:hover{opacity:.9}
.map-layers-menu{position:fixed;inset:auto;margin:0;width:276px;padding:8px;color:var(--ink);border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 16px 50px #0003;max-height:calc(100dvh - 24px);overflow:auto;font-family:inherit}.map-menu-heading{padding:8px 10px 12px;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted)}.map-layers-menu button{display:flex;align-items:center;text-align:left;width:100%;gap:13px;padding:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink)}.map-layers-menu button:hover{background:var(--surface-alt)}.map-layers-menu button.selected{background:color-mix(in srgb,var(--blue) 9%,var(--surface));border-color:color-mix(in srgb,var(--blue) 25%,var(--line))}.map-layers-menu button>span:nth-child(2){flex:1}.map-layers-menu b{display:block;font-size:12px;font-weight:600}.map-layers-menu small{display:block;font-size:10px;color:var(--secondary);margin-top:4px}.map-layers-menu i{font-style:normal;color:var(--blue);visibility:hidden}.map-layers-menu .selected i{visibility:visible}.layer-swatch{width:38px;height:33px;flex:none;border:1px solid var(--line);border-radius:6px;background:var(--surface-alt)}.layer-swatch-none{background:linear-gradient(135deg,transparent 47%,var(--blue) 49% 51%,transparent 53%)}.layer-swatch-circuit{background:linear-gradient(35deg,transparent 36%,var(--line) 38% 62%,transparent 64%),var(--surface-alt)}.layer-swatch-street{background:linear-gradient(20deg,transparent 35%,var(--line) 36% 39%,transparent 40%),linear-gradient(110deg,transparent 40%,var(--line) 41% 46%,transparent 47%),var(--surface-alt)}.map-layers-menu .satellite-menu-item{margin-top:7px;border-top:1px solid var(--line);border-radius:0 0 7px 7px}.satellite-menu-item>.icon{margin:0 10px;width:18px;height:18px;color:var(--secondary)}
[data-line-view=heatmap] .acceleration-zone{stroke-width:4.3px;stroke-opacity:1;filter:none}[data-line-view=heatmap] :is(#track-line-a,#track-line-b){stroke:var(--surface)!important;stroke-width:6.3px!important;stroke-opacity:1!important}[data-line-view=heatmap] .line-halo{stroke:var(--ink)!important;stroke-width:7.3px!important;stroke-opacity:.13!important}.heatmap-legend{gap:12px;padding:9px 15px;background:var(--surface-alt);border-top:1px solid var(--line);font-size:10px}.heatmap-legend>span{white-space:nowrap}.heatmap-legend i{width:15px;height:4px;border-radius:1px}.heatmap-legend small{color:var(--secondary)}.heatmap-legend button,.metric-info-button{display:inline-flex;align-items:center;justify-content:center;flex:none;background:transparent;color:var(--secondary);border:1px solid var(--line);border-radius:50%;width:22px;height:22px;padding:0;font-family:inherit;font-size:12px;font-weight:600;line-height:1}.metric-info-button{vertical-align:middle;margin-left:6px}.metric-info-button .icon{width:14px;height:14px}.heatmap-legend button:hover,.metric-info-button:hover{color:var(--ink);background:var(--surface-alt);border-color:var(--secondary)}
.motion-explainer p{font-size:13px;line-height:1.7;color:var(--secondary)}.motion-key{display:flex;flex-wrap:wrap;gap:16px;padding:15px 0}.motion-key>span{display:flex;align-items:center;gap:7px;font-size:12px}.motion-key i{width:14px;height:5px;border-radius:2px}.motion-red{background:#ff3045}.motion-yellow{background:#ffc400}.motion-green{background:#00d881}
.theoretical-info-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.theoretical-info-totals>div{padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt)}.theoretical-info-totals span{display:block;font-size:11px;color:var(--secondary);margin-bottom:9px}.theoretical-info-totals strong{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.theoretical-source-list{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:9px;margin:18px 0}.theoretical-source-list>[role=row]{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;padding:10px 14px;align-items:center;font-size:12px;border-bottom:1px solid var(--line)}.theoretical-source-list>[role=row]:last-child{border-bottom:0}.theoretical-source-list .theoretical-source-head{position:sticky;top:0;background:var(--surface-alt);font-size:10px;color:var(--secondary)}.theoretical-source-list b{font-variant-numeric:tabular-nums;font-weight:550}
/* Reuse the same lightweight illustration; change composition, not content. */
[data-home-style=panorama] .home-screen{max-width:1220px;min-height:calc(100dvh - 100px);grid-template-columns:1fr;align-content:center;gap:35px;padding:22px 65px 60px;text-align:center;position:relative;isolation:isolate}[data-home-style=panorama] .home-screen:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 65%,color-mix(in srgb,var(--blue) 6%,transparent),transparent 63%);pointer-events:none}[data-home-style=panorama] .home-copy{padding:0}[data-home-style=panorama] .home-logo{display:flex;justify-content:center;margin-bottom:30px}[data-home-style=panorama] .home-copy h1{font-size:clamp(42px,5.3vw,72px);margin:13px 0 16px}[data-home-style=panorama] .home-copy p{font-size:15px;line-height:1.7;margin-bottom:23px}[data-home-style=panorama] #home-enter{display:inline-flex}[data-home-style=panorama] .home-copy>small{margin-top:13px}[data-home-style=panorama] .home-art{transform:none;border-radius:16px;position:relative;padding:20px 0 18px;background:linear-gradient(120deg,var(--surface),color-mix(in srgb,var(--surface-alt) 65%,transparent));box-shadow:0 18px 65px #0000000a;overflow:hidden}[data-home-style=panorama] .home-art>svg{height:260px;width:100%;transform:none;margin:-15px 0 -6px}[data-home-style=panorama] .home-art-label{position:relative;z-index:1}[data-home-style=panorama] .home-art-footer{justify-content:center;margin-top:0}
@media(min-width:851px){.short-rails .session-rail .rail-foot{display:none}.short-rails .session-rail .back-button{margin-bottom:8px}.short-rails .session-rail .rail-track p{margin-bottom:8px}.short-rails .session-rail .rail-label{padding-bottom:6px}.short-rails .session-rail .rail-track h2{margin-top:5px}.short-rails .comparison-rail .comparison-selected{padding:7px 9px;margin-bottom:8px}.tiny-rails>.session-rail{overflow-y:auto;overscroll-behavior:contain}.tiny-rails .session-rail :is(#lap-list,#comparison-lap-list){flex:0 0 auto;overflow:visible}}
@media(max-width:760px){[data-home-style=panorama] .home-screen{padding:15px 22px 45px;gap:28px}[data-home-style=panorama] .home-art>svg{height:auto;transform:none;margin:0}[data-home-style=panorama] .home-art{padding-top:17px}.map-toolbar-actions{flex-wrap:wrap}.heatmap-legend{gap:8px 12px}.theoretical-info-totals strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.map-layers-menu{scroll-behavior:auto}}


/* revision29.css */
/* Keep interactive data precise; distinguish traces without offsetting samples. */
.telemetry-trace{stroke-width:1.5}.trace-b{stroke-dasharray:5 3;stroke-width:1.5}.speed-view-toggle{display:flex;flex:none;border:1px solid var(--line);border-radius:6px;padding:2px;gap:2px;background:var(--surface-alt)}.speed-view-toggle button{padding:4px 7px;border-radius:4px;font-size:10px;color:var(--secondary);white-space:nowrap}.speed-view-toggle button[aria-pressed=true]{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #0001}.chart-head{flex-wrap:wrap}.chart-readouts{gap:10px}.chart-card[data-speed-gap=true] .chart-readouts>[data-value-b]{color:var(--secondary)}
.graph-behavior-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 2px 3px;font-size:11px;color:var(--secondary)}.graph-behavior-bar>span{font-weight:550}.graph-behavior-bar>[role=group]{display:flex;border:1px solid var(--line);background:var(--surface-alt);padding:2px;border-radius:6px;gap:2px}.graph-behavior-bar button{padding:5px 10px;color:var(--secondary);font-size:11px;border-radius:4px}.graph-behavior-bar button[aria-pressed=true]{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #0002}.graph-behavior-bar small{font-size:10px;color:var(--muted)}#graphs[data-graph-behavior=drag] .telemetry-chart{cursor:grab;touch-action:pan-y}#graphs.graph-dragging .telemetry-chart{cursor:grabbing;touch-action:none}#graphs{position:relative}#graphs[data-edge-pan]:after{content:'Scrolling';position:absolute;bottom:33px;padding:4px 7px;font-size:9px;background:var(--surface-alt);color:var(--secondary);border:1px solid var(--line);border-radius:5px;pointer-events:none}#graphs[data-edge-pan=left]:after{left:45px}#graphs[data-edge-pan=right]:after{right:16px}.graph-zoom-toolbar{justify-content:flex-start;gap:8px}.graph-zoom-toolbar:after{content:'Hold at graph edge to scroll';font-size:9px;margin-left:auto;color:var(--muted)}
/* Simple, flat weather metadata avoids unrelated accent styling. */
#modal .session-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:10px 0 24px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:none;box-shadow:none;border-radius:0}#modal .session-info-grid>div{position:static;border:0;border-radius:0;padding:2px 14px;background:transparent;box-shadow:none;outline:0;min-width:0}#modal .session-info-grid>div:first-child{padding-left:0}#modal .session-info-grid>div+div{border-left:1px solid var(--line)}#modal .session-info-grid>div:before,#modal .session-info-grid>div:after{content:none}#modal .session-info-grid span{color:var(--secondary);font-size:11px}#modal .session-info-grid b{color:var(--ink);font-size:15px;font-weight:550}#modal .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23828a92' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:35px}.field .field-note{display:block;margin-top:8px;font-size:11px}
.library-result-toolbar select{appearance:none;padding-right:36px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23828a92' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.overview-rhythm .timeline-heading{justify-content:flex-start;gap:28px;flex-wrap:wrap}.overview-rhythm .timeline-summary{gap:17px}.overview-rhythm .timeline-best{padding:5px 8px;background:color-mix(in srgb,var(--gain) 9%,transparent);border:1px solid color-mix(in srgb,var(--gain) 25%,transparent);border-radius:5px;color:var(--gain)}.overview-rhythm .timeline-point.best .timeline-stem{stroke:var(--gain);stroke-width:9}.overview-rhythm .timeline-point.best .timeline-dot{r:5;fill:var(--gain);stroke:var(--surface);stroke-width:1.5}.overview-rhythm .timeline-point.best .timeline-lap-label{fill:var(--gain);font-weight:750}.overview-rhythm .timeline-point.best .timeline-ring{stroke:var(--gain);opacity:.4}
.theoretical-session{display:inline-block!important;font-size:8px!important;letter-spacing:.6px;padding:3px 5px;margin-left:8px;vertical-align:middle;background:var(--surface-alt);color:var(--secondary)!important;border-radius:4px}.theoretical-session-note{font-size:12px;color:var(--secondary)}
.map-wrap .driving-event{stroke-width:1.1!important;filter:none!important}
.home-panorama{display:none}[data-home-style=panorama] .home-art{display:none}[data-home-style=panorama] .home-panorama{display:block;--panorama-road:color-mix(in srgb,var(--secondary) 10%,transparent);border:1px solid var(--line);border-radius:15px;background:linear-gradient(125deg,var(--surface),color-mix(in srgb,var(--surface-alt) 55%,var(--surface)));box-shadow:0 15px 50px #00000008;padding:20px 24px 19px;min-width:0}[data-home-style=panorama] .home-screen{max-width:1260px;padding-top:25px;gap:32px}.panorama-heading{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:8px;letter-spacing:1.4px;text-align:left}.home-panorama svg{display:block;width:100%;height:auto;aspect-ratio:1040/350;margin:10px 0 0}.panorama-caption{display:flex;justify-content:center;gap:35px;color:var(--secondary);font-size:10px;letter-spacing:.4px;padding-top:13px}.panorama-caption span+span:before{content:'·';margin-right:35px;color:var(--muted)}
@media(max-width:760px){.graph-behavior-bar{gap:8px}.graph-behavior-bar small{flex-basis:100%;line-height:1.6}.graph-zoom-toolbar:after{content:''}.overview-rhythm .timeline-heading{gap:10px}.overview-rhythm .timeline-summary{gap:12px}.panorama-heading>span:last-child{display:none}[data-home-style=panorama] .home-panorama{padding:14px 10px}.panorama-heading{padding:0 8px;font-size:7px}.panorama-caption{gap:10px;font-size:8px}.panorama-caption span+span:before{margin-right:10px}.home-panorama svg{min-height:130px}#modal .session-info-grid>div{padding:2px 9px}#modal .session-info-grid b{font-size:13px}}
.chart-card[data-speed-gap=true] .chart-readouts>[data-value-b]{display:none}.chart-head:has(.close-chart){position:relative;padding-right:26px}.chart-head .close-chart{position:absolute;right:0;top:0;margin:0}

/* Comparison view controls live below the plot, beside shared zoom controls. */
.chart-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px 10px;border-top:1px solid var(--line);padding-top:6px;min-height:35px}
.chart-footer:empty{display:none}
.chart-footer #graph-navigation{border:0;padding:0;min-height:28px;flex:0 0 auto}
.chart-footer .speed-view-toggle{margin-left:auto}
[data-graph-style="compact"] .chart-footer{padding-bottom:6px}


/* revision30.css */
/* Shared hierarchy and solid comparison traces. */
.trace-b{stroke-dasharray:none!important}.graph-zoom-toolbar:after{display:none}
/* Drag shares the existing neutral surfaces and RaceBox red. */
#drag-analysis{color:var(--ink)}.drag-shell{display:grid;grid-template-columns:218px minmax(0,1fr);max-width:1960px;margin:auto;align-items:start}.drag-rail{padding:22px 16px;background:var(--surface);border-right:1px solid var(--line);position:sticky;top:var(--development-toolbar-height,0px);max-height:calc(100dvh - var(--development-toolbar-height,0px));overflow-y:auto;overscroll-behavior:contain}.drag-rail-title{margin:25px 0}.drag-rail-title h2{font-size:18px;font-weight:600;line-height:1.3;margin:8px 0}.drag-rail-title p{font-size:12px;color:var(--secondary)}.drag-run-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--secondary);margin-bottom:10px}.drag-run-list{display:grid;gap:7px}.drag-run{display:grid;grid-template-columns:1fr auto;gap:5px;text-align:left;border:1px solid transparent;border-radius:9px;background:transparent;padding:13px 10px;color:var(--ink);cursor:pointer}.drag-run>span{font-size:12px}.drag-run strong{font-size:16px;font-variant-numeric:tabular-nums;font-weight:600}.drag-run small{grid-column:1/-1;color:var(--secondary);font-size:10px}.drag-run:hover{background:var(--surface-alt)}.drag-run.selected{background:var(--surface-alt);border-color:var(--line)}.drag-run.best strong{color:var(--green,#31b77e)}.drag-run:disabled{opacity:.4;cursor:default}.drag-demo-label{margin-top:28px;color:var(--secondary);font-size:9px;letter-spacing:1px}.drag-demo-label p{line-height:1.6;font-size:11px;letter-spacing:0}.drag-main{min-width:0;padding:28px 32px}.drag-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.drag-heading h1{font-size:28px;font-weight:600;letter-spacing:-.9px;line-height:1.2;margin:7px 0}.drag-heading p{font-size:12px;color:var(--secondary);margin:0}.drag-heading-actions{display:flex;gap:7px}.drag-heading-actions .button{font-size:12px}.drag-best-strip{display:flex;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:auto}.drag-best-strip>button,.drag-best-strip>div{flex:1;min-width:112px;text-align:left;color:var(--ink);background:none;border:0;border-right:1px solid var(--line);padding:16px 20px;display:grid;gap:5px}.drag-best-strip>button{cursor:pointer}.drag-best-strip>button:hover{background:var(--surface-alt)}.drag-best-strip>:last-child{border-right:0}.drag-best-strip span{font-size:12px;color:var(--secondary)}.drag-best-strip strong{font-size:25px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.7px}.drag-best-strip small{font-size:10px;color:var(--green,#31b77e)}.drag-context-strip{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;margin:17px 0 22px;color:var(--secondary);font-size:11px}.drag-context-strip>span{display:inline-flex;align-items:center;gap:6px}.drag-context-strip b{font-weight:550;color:var(--ink)}.drag-context-strip .icon{width:15px;height:15px}.drag-context-strip .drag-vehicle{margin-left:auto}.drag-info{border:1px solid var(--line);color:var(--secondary);border-radius:50%;background:transparent;font-size:10px;width:17px;height:17px;cursor:pointer}.drag-telemetry{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.drag-telemetry-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px;gap:16px}.drag-telemetry-heading>div:first-child{display:flex;align-items:baseline;gap:15px}.drag-telemetry-heading h2{font-size:17px;font-weight:550;margin:0}.drag-result-time{color:var(--red,#ed2939);font-size:29px;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.drag-unit-toggle{display:flex;border:1px solid var(--line);background:var(--surface-alt);border-radius:7px;padding:3px;gap:2px}.drag-unit-toggle button{color:var(--secondary);background:none;border:0;font-size:12px;border-radius:4px;padding:6px 10px;cursor:pointer}.drag-unit-toggle [aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0001}.drag-disciplines{display:flex;gap:8px;padding:0 22px 18px;overflow-x:auto}.drag-disciplines button{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;padding:10px 13px;color:var(--secondary);display:flex;align-items:center;gap:13px;white-space:nowrap;font-size:12px;cursor:pointer}.drag-disciplines b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.drag-disciplines button[aria-pressed=true]{border-color:color-mix(in srgb,var(--red,#ed2939) 55%,var(--line));background:color-mix(in srgb,var(--red,#ed2939) 7%,var(--surface));color:var(--ink)}.drag-disciplines button:disabled{opacity:.4;cursor:default}.drag-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);padding:16px 22px;gap:18px}.drag-stat{display:flex;gap:10px;min-width:0}.drag-stat-icon{color:var(--secondary);padding-top:2px}.drag-stat-icon .icon{width:17px;height:17px}.drag-stat>div{display:grid;gap:6px}.drag-stat span:not(.drag-stat-icon){font-size:11px;color:var(--secondary)}.drag-stat strong{font-size:17px;font-weight:550;line-height:1.25;font-variant-numeric:tabular-nums}.drag-stat small{font-size:10px;color:var(--secondary);line-height:1.4}.drag-chart-toolbar{padding:18px 22px 3px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.drag-channel-legend{display:flex;gap:8px}.drag-channel-legend button{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:0;background:transparent;color:var(--secondary);font-size:12px;cursor:pointer;opacity:.4}.drag-channel-legend [aria-pressed=true]{color:var(--ink);opacity:1}.drag-channel-legend i{width:17px;height:3px;border-radius:3px;background:var(--channel)}.drag-chart-zoom{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--secondary)}.drag-chart-zoom button{font-size:12px;background:var(--surface-alt);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:4px 9px;min-height:26px;cursor:pointer}.drag-chart-zoom b{min-width:33px;text-align:center;font-weight:500}.drag-chart-host{position:relative;padding:0 12px;touch-action:pan-y}.drag-chart{display:block;width:100%;height:auto;min-height:260px;max-height:470px;overflow:visible;font-size:11px;font-family:inherit}.drag-grid{stroke:var(--line);stroke-width:1;fill:none}.drag-axis-label{fill:var(--secondary)}.drag-cursor-line{stroke:var(--secondary);stroke-width:1;stroke-dasharray:4 3}.drag-hit{cursor:crosshair;touch-action:none}.drag-live-values{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;padding:6px 15px 12px}.drag-live-values>span{display:grid;gap:5px;min-width:75px}.drag-live-values small{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--secondary)}.drag-live-values b{font-size:18px;font-weight:550;color:var(--channel,var(--ink));font-variant-numeric:tabular-nums}.drag-live-values em{font-size:11px;font-style:normal;font-weight:400;color:var(--secondary)}.drag-chart-footer{padding:8px 22px 15px;display:flex;justify-content:space-between;gap:10px;font-size:11px;line-height:1.5;color:var(--secondary)}.drag-no-channels,.drag-incomplete{text-align:center;font-size:13px;color:var(--secondary)}.drag-environment{border-top:1px solid var(--line);background:var(--surface-alt)}.drag-environment summary{padding:14px 22px;font-size:12px;cursor:pointer;color:var(--ink)}.drag-environment summary span{color:var(--secondary);font-size:10px;margin-left:12px}.drag-environment p{font-size:11px;color:var(--secondary);padding:0 22px 15px;line-height:1.6;max-width:800px}.drag-environment .drag-result-stats{border-bottom:0}.drag-footer{padding:20px 0;font-size:11px;color:var(--secondary)}.drag-library-intro{display:flex;align-items:baseline;gap:14px;margin:22px 0;color:var(--ink)}.drag-library-intro>span{font-size:18px;font-weight:550}.drag-library-intro small{color:var(--secondary);font-size:12px}.drag-library-row .session-row-main{grid-template-columns:130px minmax(160px,1fr) 150px auto}.drag-library-overview{padding:18px 24px;background:var(--surface-alt);border-top:1px solid var(--line)}.drag-library-overview p{font-size:11px;color:var(--secondary);margin:14px 0 0}.drag-library-overview .drag-best-strip strong{font-size:22px}.drag-shell button:focus-visible,.drag-chart:focus-visible,.drag-hit:focus-visible{outline:2px solid var(--blue,#578ef0);outline-offset:3px}
@media(min-width:1600px){.drag-main{padding:32px 44px}.drag-chart{max-height:510px}}
@media(max-width:1100px){.drag-shell{grid-template-columns:182px minmax(0,1fr)}.drag-main{padding:22px}.drag-heading{align-items:flex-start;flex-wrap:wrap}.drag-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.drag-library-row .session-row-main{grid-template-columns:105px minmax(120px,1fr) 110px}.drag-library-row .session-row-actions{grid-column:2/-1}.drag-best-strip>button,.drag-best-strip>div{padding:14px}.drag-context-strip .drag-vehicle{margin-left:0}}
@media(max-width:760px){.drag-shell{grid-template-columns:1fr}.drag-rail{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:14px 18px}.drag-rail-title,.drag-demo-label,.drag-run-heading{display:none}.drag-run-list{display:flex;overflow:auto;margin-top:12px;gap:6px}.drag-run{flex-shrink:0;min-width:135px;padding:10px}.drag-main{padding:20px 14px}.drag-heading h1{font-size:25px}.drag-best-strip strong{font-size:21px}.drag-context-strip{gap:12px 18px}.drag-stat strong{font-size:16px}.drag-telemetry-heading{padding:16px 14px}.drag-disciplines{padding:0 14px 14px}.drag-result-stats{padding:15px 14px;gap:16px 10px}.drag-stat-icon{display:none}.drag-chart-toolbar{padding:13px 10px 0}.drag-chart-host{padding:0;overflow-x:auto}.drag-chart{min-width:540px;min-height:230px}.drag-live-values{gap:14px;justify-content:flex-start;padding-left:20px}.drag-live-values>span{min-width:65px}.drag-live-values b{font-size:16px}.drag-chart-footer{padding:10px 14px;flex-wrap:wrap}.drag-chart-footer>span{max-width:260px}.drag-heading-actions .button{font-size:11px;padding:8px 10px}.drag-library-row .session-row-main{grid-template-columns:1fr auto}.drag-library-row .session-date{grid-column:1/-1}.drag-library-row .session-row-actions{grid-column:1/-1}.drag-library-overview{padding:12px}.drag-chart-zoom{margin-left:auto}.drag-channel-legend{gap:0}.drag-channel-legend button{font-size:11px;padding:6px}.drag-library-intro{flex-wrap:wrap;gap:6px}}
/* Optional v30 polish draft. Append after revision29.css.
   Existing selectors only. No dimensions, layout, visibility, telemetry colors,
   default states or AI Coach rules are changed. */

/* Give the page title and session identity a consistent, restrained weight. */
:where([data-interface-design="simplified"]) .library-heading h1,
:where([data-interface-design="simplified"]) .workspace-heading h1,
:where([data-interface-design="simplified"]) .session-identity h2 {
  font-weight: 600;
}
:where([data-interface-design="simplified"]) .workspace-heading p,
:where([data-interface-design="simplified"]) .session-date small,
:where([data-interface-design="simplified"]) .session-identity > span,
:where([data-interface-design="simplified"]) .session-identity small,
:where([data-interface-design="simplified"]) .session-row-pace > small,
:where([data-interface-design="simplified"]) .session-row-pace > span {
  color: var(--secondary);
}

/* Keep the selected session and active tab clear without additional chrome. */
:where([data-interface-design="simplified"]) .library-tabs button[aria-selected="false"]:hover {
  color: var(--ink);
  background: transparent;
}
:where([data-interface-design="simplified"]) .library-tabs button[aria-selected="true"] {
  font-weight: 600;
}
:where([data-interface-design="simplified"]) .session-library-row:not(.is-new-import) {
  box-shadow: none;
}
:where([data-interface-design="simplified"]) .session-library-row:not(.is-new-import):hover,
:where([data-interface-design="simplified"]) .session-library-row:not(.is-new-import):has([aria-expanded="true"]) {
  border-color: color-mix(in srgb, var(--secondary) 30%, var(--line));
}
:where([data-interface-design="simplified"]) .session-row-actions .session-overview-button {
  box-shadow: none;
}

/* Preserve the frosted direction while reducing repeated raised-card effects.
   Alternative appearance previews retain their established styling. */
:where([data-interface-design="simplified"])[data-accent-style="frosted"] :is(.summary-strip, .analysis-card, .chart-card) {
  box-shadow: 0 1px 4px color-mix(in srgb, var(--ink) 5%, transparent);
}
:where([data-interface-design="simplified"])[data-accent-style="frosted"] .section-toolbar {
  box-shadow: none;
}
:where([data-interface-design="simplified"])[data-accent-style="frosted"] .summary-strip .metric-label {
  color: var(--secondary);
}
:where([data-interface-design="simplified"])[data-accent-style="frosted"] .summary-strip > div:first-child > strong {
  font-weight: 650;
}

/* Quiet utility actions without relocating any control or changing selection. */
:where([data-interface-design="simplified"])[data-accent-style="frosted"] .header-actions :is(#export-btn, #more-btn) {
  color: var(--secondary);
  box-shadow: none;
}
:where([data-interface-design="simplified"])[data-accent-style="frosted"] .header-actions :is(#export-btn, #more-btn):hover {
  color: var(--ink);
}
:where([data-interface-design="simplified"])[data-accent-style="frosted"] #compare-btn:not(.engaged) {
  border-color: color-mix(in srgb, var(--secondary) 35%, var(--line));
  box-shadow: none;
}

/* Use the same muted label tone for the two graph interaction control groups. */
:where([data-interface-design="simplified"]) .graph-behavior-bar > span,
:where([data-interface-design="simplified"]) .graph-zoom-toolbar > span:first-child {
  color: var(--secondary);
  font-weight: 550;
}
:where([data-interface-design="simplified"]) .graph-behavior-bar small,
:where([data-interface-design="simplified"]) .graph-zoom-toolbar::after {
  color: var(--secondary);
}

/* Compact graph mode deliberately keeps its inner charts flat. */
:where([data-interface-design="simplified"])[data-accent-style="frosted"][data-graph-style="compact"] .chart-card {
  box-shadow: none;
}


/* revision31-track.css */
/* Keep readout typography independent of the chart's responsive SVG geometry. */
.chart-stage{position:relative;min-width:0}
.chart-value-tooltip{position:absolute;z-index:3;display:flex;align-items:center;min-height:28px;padding:4px 7px;border:1px solid #40515d;border-radius:6px;background:#24333e;color:#a9cfff;font:550 11px/16px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;box-shadow:0 2px 6px #0002;pointer-events:none}
.chart-tooltip-values{display:grid;min-width:0;max-width:100%}
.chart-tooltip-values>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chart-tooltip-values [data-tooltip-b]{color:#ffb6b0}
.chart-value-tooltip.cursor-pinned{border-color:#95b4d0}
.chart-value-tooltip.has-unpin{padding-right:37px}
.chart-value-tooltip [data-unpin]{position:absolute;top:2px;right:3px;width:24px;height:22px;min-height:0;padding:0;border:0;border-radius:4px;background:#ffffff18;color:#e1e8ef;font-size:18px;line-height:1;pointer-events:auto}
.chart-value-tooltip [data-unpin]:hover{background:#ffffff30}
.chart-value-tooltip [data-unpin]:focus-visible{outline:2px solid #a9cfff;outline-offset:1px}
/* Units already appear in every column; keep the caption and introduction compact. */
#corner-analysis-content>.analysis-intro{margin-bottom:8px;gap:12px}
#corner-analysis-content>.analysis-intro p{line-height:1.4}
.corner-table>caption{display:table-caption;height:auto;min-height:0;padding:6px 12px;line-height:16px;font-size:11px;letter-spacing:0;text-transform:none}
.corner-table>thead th{padding-top:8px;padding-bottom:8px}


/* revision31.css */
/* Shared session library — identical controls and rhythm in both disciplines. */
.library-heading{align-items:center}.library-tabs{display:flex;width:fit-content;max-width:100%;margin:22px auto 26px;padding:5px;gap:5px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.library-tabs [role=tab]{display:flex;align-items:center;justify-content:center;gap:9px;min-width:210px;min-height:49px;margin:0;border:1px solid transparent;border-radius:9px;padding:10px 22px;font-size:15px;font-weight:700;color:var(--muted)}
.library-tabs [role=tab] svg{width:19px;height:19px}.library-tabs [role=tab][aria-selected=true]{color:var(--ink);background:color-mix(in srgb,var(--red) 13%,var(--surface));border-color:color-mix(in srgb,var(--red) 45%,var(--line));box-shadow:0 2px 7px #0001}.library-tabs [role=tab]::after{display:none}.library-tabs [role=tab] span{font-size:10px;padding:3px 6px;line-height:1}
.library-result-toolbar>label:last-child>select{box-sizing:border-box;height:36px;min-width:170px;padding:7px 35px 7px 11px;border:1px solid var(--line);border-radius:7px;font:600 12px/1.2 inherit;background-color:var(--surface);color:var(--ink);background-position:right 12px center}.library-filter-toggle{min-height:38px;padding:8px 13px;gap:8px}.library-filter-toggle svg{width:15px;height:15px}.library-result-toolbar{min-height:44px}
.library-list-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 8px}.library-list-controls nav{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.library-list-controls button[aria-pressed=true]{color:var(--red)}
.drag-library-overview h3{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:13px}.drag-library-overview h3 small{font-weight:400;color:var(--muted);font-size:11px}.drag-library-row .session-row-main{grid-template-columns:28px 100px minmax(180px,1fr) 145px auto}.drag-library-overview{border-top:1px solid var(--line)}
/* Drag analysis shares Track surfaces, typographic scale and button language. */
.drag-heading h1{font-size:27px;letter-spacing:-1px}.drag-heading-actions{gap:7px;flex-wrap:wrap}.drag-heading-actions .button{min-height:36px;font-size:12px}.drag-compare-control{display:inline-flex;align-items:stretch}.drag-compare-control .comparison-close{position:static;align-self:center;margin-left:2px}.drag-heading-actions .engaged{background:color-mix(in srgb,var(--red) 9%,var(--surface));border-color:color-mix(in srgb,var(--red) 36%,var(--line));color:var(--red)}
.drag-best-strip>button{position:relative;text-align:left;border:1px solid var(--line);transition:background .15s,border-color .15s;padding:14px 16px 27px;min-height:96px;background:var(--surface)}.drag-best-strip>button[aria-pressed=true]{background:color-mix(in srgb,var(--red) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 60%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 10%,transparent)}.drag-best-strip>button[aria-pressed=true]>span{color:var(--red);font-weight:750}.drag-best-strip>button i{position:absolute;bottom:9px;right:13px;font-size:10px;font-style:normal;color:var(--muted)}.drag-best-strip>button[aria-pressed=true] i{color:var(--red)}.drag-best-strip>button small{font-size:10px}
.drag-rail{position:sticky;top:calc(var(--development-toolbar-height,0px) + 20px);height:calc(100dvh - var(--development-toolbar-height,0px) - 95px);max-height:900px;display:flex;flex-direction:column;overflow:hidden}.drag-rail-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.drag-rail-top .icon-button{flex:none;width:27px;height:27px;padding:5px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted)}.drag-rail-top svg{width:16px;height:16px}.drag-run-list{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding-right:3px}.drag-demo-label{flex:none}.drag-shell.rail-collapsed{grid-template-columns:106px minmax(0,1fr)}.rail-collapsed .drag-rail{padding:12px 9px}.rail-collapsed .drag-rail-top .text-button span,.rail-collapsed .drag-rail-title p,.rail-collapsed .drag-rail-title h2,.rail-collapsed .drag-run-heading span+span,.rail-collapsed .drag-demo-label,.rail-collapsed .drag-run small{display:none}.rail-collapsed .drag-rail-title{margin:16px 0}.rail-collapsed .drag-run{padding:9px 6px;gap:4px;grid-template-columns:1fr}.rail-collapsed .drag-run span{font-size:10px}.rail-collapsed .drag-run strong{font-size:15px;grid-row:auto}.rail-collapsed .drag-run-list{padding:0}
.drag-telemetry-heading{align-items:center;min-height:0;padding:16px 18px;gap:16px}.drag-selected-result{display:grid!important;grid-template-columns:auto auto;align-items:center;gap:3px 18px!important}.drag-selected-result>.eyebrow{grid-column:1/-1;font-size:9px}.drag-selected-result h2{font-size:17px!important;line-height:1.25}.drag-result-time{font-size:32px!important;letter-spacing:-1px}.drag-comparison-result{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.drag-comparison-result b{color:#ed4650;font-size:15px}.faster{color:var(--green,#31b786)}.slower{color:var(--red)}.drag-result-options{display:flex!important;align-items:center!important;justify-content:flex-end;gap:7px 12px!important;flex-wrap:wrap;max-width:450px}.drag-result-options>.field-note{font-size:10px}.drag-rollout-switch{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}.drag-rollout-switch input{accent-color:var(--red);width:17px;height:17px}.drag-result-options .text-button{font-size:10px}.drag-result-stats{gap:0}.drag-stat{padding:12px}.drag-stat strong{font-size:16px}.drag-telemetry{overflow:hidden}.drag-chart-toolbar{padding:12px 16px 0;flex-wrap:wrap;gap:10px}.drag-ab-key{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.drag-ab-key b{color:#548ffd}.drag-ab-key b:nth-of-type(2){color:#ed4650}.drag-chart-host{min-height:0}.drag-chart{max-height:370px}.drag-chart-footer{align-items:center;gap:8px;flex-wrap:wrap;padding:8px 16px 12px}.drag-chart-footer>.button{margin-left:auto;font-size:11px;min-height:32px}.drag-chart-footer>.button svg{width:14px;height:14px}.drag-live-values{display:flex;justify-content:center;gap:25px;min-height:40px;padding:0 14px 8px;flex-wrap:wrap}.drag-live-values>span{flex:none;min-width:0}.drag-live-values b{font-size:16px}.drag-live-values small{font-size:9px}.drag-transport{display:flex;align-items:center;gap:12px;padding:12px 17px;border-top:1px solid var(--line);font-size:11px;font-variant-numeric:tabular-nums}.drag-transport>input{min-width:0;flex:1;accent-color:var(--red)}.drag-transport>.icon-button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;padding:7px;color:var(--ink);background:var(--surface)}.drag-transport svg{width:14px;height:14px;display:block}.drag-custom-setpoints{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.drag-custom-setpoints>span{font-size:10px;color:var(--muted)}.drag-custom-setpoints>div{display:flex}.drag-custom-setpoints .button{font-size:11px;min-height:30px}.drag-custom-setpoints .button[aria-pressed=true]{border-color:var(--red);color:var(--red)}.drag-custom-setpoints .icon-button{width:24px;border:0;background:transparent;color:var(--muted)}.drag-chart-footer [data-drag-instruction]{max-width:650px}.drag-context-strip{padding:12px 0;gap:20px}.drag-footer{margin-top:12px;font-size:10px}
@media(max-width:1100px){.drag-heading{align-items:flex-start}.drag-heading-actions{max-width:390px;justify-content:flex-end}.drag-library-row .session-row-main{grid-template-columns:28px 85px minmax(150px,1fr) auto}.drag-library-row .session-row-pace{display:none}.drag-result-options{max-width:300px}.drag-best-strip{gap:8px}.drag-best-strip>button{padding:12px 10px 26px}.drag-best-strip>button strong{font-size:21px}}
@media(max-width:760px){.library-tabs{width:100%;margin:18px 0}.library-tabs [role=tab]{min-width:0;flex:1;padding:10px 6px;font-size:13px}.library-tabs [role=tab] span{display:none}.drag-shell.rail-collapsed{grid-template-columns:1fr}.drag-rail{position:static;height:auto;max-height:none;display:block}.drag-run-list{display:flex;overflow:auto;max-height:95px}.drag-run{flex:0 0 115px}.rail-collapsed .drag-run{flex-basis:85px}.drag-demo-label{display:none}.drag-rail-title{margin:8px 0}.drag-rail-title h2,.drag-rail-title p{display:none}.drag-heading{display:block}.drag-heading-actions{max-width:none;justify-content:flex-start;margin-top:13px}.drag-selected-result{gap:4px 12px!important}.drag-telemetry-heading{align-items:flex-start;flex-wrap:wrap}.drag-result-options{max-width:none;justify-content:flex-start}.drag-chart-footer>span{font-size:10px}.drag-live-values{gap:16px}.drag-library-row .session-row-main{grid-template-columns:24px 1fr}.drag-library-row .session-date{grid-column:2}.drag-library-row .session-identity{grid-column:2}.drag-library-row .session-row-actions{grid-column:2;flex-wrap:wrap}.drag-library-overview h3{display:block}.drag-library-overview h3 small{display:block;margin-top:5px}.library-list-controls{flex-wrap:wrap}}

.global-nav .breadcrumb-current{font-size:12px!important;line-height:18px!important;font-weight:650!important;letter-spacing:0!important}.global-nav #nav-analysis{align-items:center}.drag-inspect-whole{padding:12px 18px}.drag-inspect-whole .button{font-size:12px}

@media(max-width:760px){.drag-chart{min-width:680px;font-size:13px}.drag-chart-host{overflow:auto}.drag-context-strip{padding-top:10px;padding-bottom:10px}}


/* drag-video31.css */
.drag-video-panel{position:relative;margin-top:16px;color:var(--ink);min-width:0}
.drag-video-panel-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}
.drag-video-panel-actions:has(button:not([hidden])){min-height:30px}
.drag-video-panel-actions:not(:has(button:not([hidden]))){display:none}
.drag-video-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.drag-video-panel.has-comparison .drag-video-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.drag-video-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.drag-video-frame{position:relative;height:clamp(230px,28vw,420px);background:#111317;overflow:hidden;container-type:inline-size}
.drag-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#111317}
.drag-video-badge{position:absolute;z-index:2;top:12px;left:12px;max-width:calc(100% - 205px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:5px 8px;border-radius:5px;background:#17202be6;color:#a9cfff;font-size:11px;font-weight:550;line-height:18px}
.drag-video-badge.b{color:#ffb6b0}
.drag-video-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:var(--surface-alt);color:var(--secondary);padding:54px 14px 20px}
.drag-video-empty>svg{width:32px;height:32px;opacity:.7}
.drag-video-empty>strong{font-size:14px;font-weight:550;color:var(--ink)}
.drag-video-empty>small{font-size:11px;line-height:1.5;text-align:center}
.drag-video-quick{position:absolute;z-index:5;top:12px;right:12px;display:flex;gap:5px}
.drag-video-quick button,.drag-video-overlay-controls button,.drag-video-transport>button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:7px;border:1px solid #ffffff29;border-radius:6px;background:#192028db;color:#f1f3f6;cursor:pointer}
.drag-video-quick button:hover,.drag-video-overlay-controls button:hover,.drag-video-transport>button:hover{background:#36424ce6}
.drag-video-panel [data-play-icon],.drag-video-panel [data-pause-icon]{display:inline-flex}
.drag-video-panel [hidden]{display:none!important}
.drag-video-sync{position:absolute;z-index:6;top:12px;right:86px;color:#f1f3f6}
.drag-video-sync>summary{display:flex;align-items:center;gap:5px;font-size:11px;cursor:pointer;list-style:none;background:#192028db;border:1px solid #ffffff29;border-radius:6px;min-height:32px;padding:6px 8px}
.drag-video-sync>summary::-webkit-details-marker{display:none}
.drag-video-sync>summary .icon{width:14px;height:14px}
.drag-video-sync-menu{position:absolute;right:-74px;top:39px;width:min(286px,calc(100vw - 70px));width:min(286px,calc(100cqw - 24px));max-height:calc(clamp(230px,28vw,420px) - 115px);overflow:auto;padding:13px;border:1px solid #48515a;border-radius:8px;background:#242a31;box-shadow:0 8px 28px #0005;color:#edf0f4;font-size:11px}
.drag-video-filename{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#aeb8c3;padding-bottom:11px;border-bottom:1px solid #ffffff1d;margin-bottom:12px}
.drag-video-sync-menu label{display:block;font-size:11px;line-height:1.6}
.drag-video-sync-menu label>span:not(.drag-video-offset-controls){float:right;color:#aeb8c3;font-size:10px}
.drag-video-offset-controls{display:flex;gap:5px;margin-top:7px}
.drag-video-offset-controls input{min-width:0;width:100%;height:32px;border:1px solid #53606c;border-radius:5px;background:#151a20;color:#fff;padding:5px 7px;font-size:12px;font-variant-numeric:tabular-nums}
.drag-video-offset-controls button{flex:none;width:30px;border:1px solid #53606c;border-radius:5px;background:#343e48;color:#fff;font-size:17px}
.drag-video-sync-menu>[data-dv-align]{display:flex;justify-content:center;width:100%;margin-top:10px;border:1px solid #53606c;border-radius:5px;padding:7px 9px;font-size:11px;color:#edf0f4;background:#343e48}
.drag-video-sync-menu>small{display:block;color:#aeb8c3;font-size:10px;line-height:1.5;margin-top:10px}
.drag-video-overlay-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:9px;padding:28px 12px 12px;background:linear-gradient(transparent,#080b10b8);color:#f1f3f6;font-size:11px;font-variant-numeric:tabular-nums}
.drag-video-overlay-controls button:last-child{margin-left:auto}
.drag-video-linked{display:flex;align-items:center;gap:5px;margin-left:5px;color:#c6d0da;font-size:10px}
.drag-video-linked svg{width:13px;height:13px}
.drag-video-status{position:absolute;left:12px;bottom:70px;max-width:calc(100% - 24px);padding:4px 7px;background:#10151bdd;border-radius:4px;color:#edf0f4;font-size:11px;line-height:1.4;pointer-events:none}
.drag-video-status:empty{display:none}
.drag-video-transport{display:none}
.drag-video-expanded,.drag-video-panel:fullscreen{position:fixed;z-index:1500;inset:0;margin:0!important;max-width:none!important;width:100vw;height:100dvh;background:var(--canvas,#181a1e);padding:16px;display:flex;flex-direction:column;gap:10px;overflow:hidden;box-sizing:border-box}
.drag-video-expanded .drag-video-panel-actions{margin:0;flex:none;min-height:33px}
.drag-video-expanded .drag-video-cards{flex:1;min-height:0;grid-template-columns:minmax(0,1fr)}
.drag-video-expanded[data-dv-expanded=both] .drag-video-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.drag-video-expanded[data-dv-expanded=a] [data-dv-slot=b],.drag-video-expanded[data-dv-expanded=b] [data-dv-slot=a]{display:none}
.drag-video-expanded .drag-video-card{height:100%;min-height:0}
.drag-video-expanded .drag-video-frame{height:100%;min-height:0}
.drag-video-expanded .drag-video-sync-menu{max-height:min(350px,calc(100dvh - 200px))}
.drag-video-expanded .drag-video-transport{display:flex;flex:none;align-items:center;gap:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:9px;font-size:12px;font-variant-numeric:tabular-nums}
.drag-video-transport input[type=range]{flex:1;min-width:70px;margin:0;accent-color:var(--red,#e72e40)}
.drag-video-transport>span{min-width:53px}
.drag-video-panel button:focus-visible,.drag-video-panel summary:focus-visible,.drag-video-panel input:focus-visible{outline:2px solid #86b6ff;outline-offset:3px}
@media(max-width:760px){.drag-video-panel.has-comparison:not(.drag-video-expanded) .drag-video-cards{grid-template-columns:1fr}.drag-video-frame{height:240px}.drag-video-sync-menu{max-height:125px}.drag-video-expanded{padding:8px;gap:8px}.drag-video-expanded .drag-video-cards{gap:7px}.drag-video-expanded[data-dv-expanded=both] .drag-video-badge{top:7px;left:7px;max-width:calc(100% - 14px);font-size:10px}.drag-video-expanded[data-dv-expanded=both] .drag-video-quick{top:43px;right:7px}.drag-video-expanded[data-dv-expanded=both] .drag-video-sync{top:82px;right:7px}.drag-video-expanded[data-dv-expanded=both] .drag-video-sync-menu{width:min(250px,calc(50vw - 30px));right:0}.drag-video-expanded[data-dv-expanded=both] .drag-video-linked{display:none}.drag-video-expanded .drag-video-transport{gap:7px;padding:8px}.drag-video-expanded .drag-video-transport>span{font-size:10px;min-width:45px}.drag-video-expanded .drag-video-overlay-controls{padding-left:7px;padding-right:7px;gap:5px}}


/* drag-import.css */
.drag-import-modal{max-width:min(700px,calc(100vw - 28px))}.drag-import{display:grid;gap:13px}.drag-import>.field{margin:0}.drag-import [role=alert]{color:var(--red,#ed2939);font-size:12px;margin:0}.drag-import [role=alert]:empty,.drag-import [role=status]:empty{display:none}.drag-import [role=status]{font-size:12px;color:var(--secondary);margin:0}.drag-import-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:12px}.drag-import-summary b{overflow-wrap:anywhere}.drag-import-summary span{white-space:nowrap;color:var(--secondary)}.drag-import details{border:1px solid var(--line);border-radius:9px;padding:12px}.drag-import summary{font-size:12px;font-weight:600;cursor:pointer}.drag-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin-top:14px}.drag-import-grid label{display:grid;gap:5px;font-size:11px;color:var(--secondary);min-width:0}.drag-import-grid select{width:100%;min-width:0;font:inherit;font-size:12px;border:1px solid var(--line);background:var(--surface-alt);color:var(--ink);border-radius:6px;padding:8px 27px 8px 9px}.drag-import-rollout{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12px}.drag-import-rollout input{accent-color:var(--red,#ed2939)}.drag-import-warnings{padding-left:18px;color:var(--secondary);font-size:11px;line-height:1.6;margin:10px 0 0}.drag-import .field-note{margin-bottom:0;line-height:1.5}.drag-import input[type=file]{max-width:100%;font-size:12px}.drag-import :focus-visible{outline:2px solid var(--blue,#548ffd);outline-offset:2px}@media(max-width:440px){.drag-import-grid{grid-template-columns:1fr}.drag-import-summary{display:grid}}


/* demo-sharing.css */
/* Sharing stays a local preview: neutral surfaces, clear labels, no modal within a modal. */
.demo-sharing-modal{max-width:min(640px,calc(100vw - 28px))}.demo-sharing{display:grid;gap:16px}.demo-sharing-note{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt);font-size:11px;line-height:1.5;color:var(--secondary)}.demo-share-session{display:grid;gap:4px}.demo-share-session>span{font-size:9px;letter-spacing:1px;color:var(--secondary)}.demo-share-session>strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}.demo-share-access{display:grid;grid-template-columns:1fr 1fr;gap:9px}.demo-share-access>button{display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:13px 12px;border-radius:10px;text-align:left;cursor:pointer}.demo-share-access svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}.demo-share-access span{display:grid;gap:4px}.demo-share-access b{font-size:13px;font-weight:600}.demo-share-access small{font-size:10px;color:var(--secondary);line-height:1.3}.demo-share-access i{margin-left:auto;width:13px;height:13px;flex:none;border-radius:50%;border:1px solid var(--line)}.demo-share-access [aria-pressed=true]{border-color:color-mix(in srgb,var(--red,#ed2939) 60%,var(--line));background:color-mix(in srgb,var(--red,#ed2939) 5%,var(--surface))}.demo-share-access [aria-pressed=true] i{border:4px solid var(--red,#ed2939)}.demo-share-access-hint{margin:-8px 0 0;font-size:11px;line-height:1.4;color:var(--secondary)}.demo-invite-form{display:grid;grid-template-columns:minmax(0,1fr) 104px auto;align-items:end;gap:8px}.demo-sharing .field{margin:0;min-width:0}.demo-sharing .field label{font-size:11px;margin-bottom:6px}.demo-sharing input,.demo-sharing select{min-width:0;width:100%;box-sizing:border-box;height:36px;border:1px solid var(--line);border-radius:7px;background:var(--surface-alt);color:var(--ink);font:inherit;font-size:12px;padding:7px 10px}.demo-sharing select{padding-right:25px}.demo-sharing .button{min-height:36px;font-size:12px;white-space:nowrap}.demo-share-error:empty,.demo-share-status:empty{display:none}.demo-share-error,.demo-share-status{margin:0;font-size:11px;line-height:1.4}.demo-share-error{color:var(--red,#ed2939)}.demo-share-status{color:var(--secondary)}.demo-share-people{border-block:1px solid var(--line);padding:12px 0}.demo-share-people-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.demo-share-people h3{font-size:12px;margin:0;font-weight:600}.demo-share-people-heading>span{font-size:10px;color:var(--secondary)}.demo-invite-row{display:grid;grid-template-columns:30px minmax(0,1fr) 94px 30px;gap:9px;align-items:center;padding:8px 0}.demo-invite-avatar{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);background:var(--surface-alt);color:var(--secondary);border-radius:50%;font-size:12px}.demo-invite-row>div{display:grid;gap:3px;min-width:0}.demo-invite-row b{font-weight:500;font-size:12px;overflow-wrap:anywhere}.demo-invite-row small{font-size:10px;color:var(--secondary)}.demo-invite-row select{height:30px;font-size:11px;padding:4px 22px 4px 7px}.demo-invite-row>button{width:30px;height:30px;border:1px solid var(--line);background:var(--surface);color:var(--secondary);border-radius:6px;font-size:20px;line-height:1;cursor:pointer}.demo-invite-row>button:hover{color:var(--red,#ed2939);border-color:currentColor}.demo-share-empty{margin:10px 0 3px;font-size:12px;color:var(--secondary)}.demo-share-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.demo-share-link input{font-size:11px}.demo-share-link :disabled{opacity:.45;cursor:not-allowed}.demo-sharing button:focus-visible,.demo-sharing input:focus-visible,.demo-sharing select:focus-visible{outline:2px solid var(--blue,#578ef0);outline-offset:2px}.demo-sharing .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:520px){.demo-invite-form{grid-template-columns:minmax(0,1fr) 100px}.demo-invite-form>.button{grid-column:1/-1;justify-content:center}.demo-share-access>button{padding:11px 9px;gap:8px}.demo-share-access svg{width:17px;height:17px}.demo-share-access small{font-size:9px}.demo-share-link{grid-template-columns:1fr}.demo-share-link>.button{justify-content:center}.demo-invite-row{grid-template-columns:25px minmax(0,1fr) 82px 28px;gap:6px}.demo-invite-avatar{width:25px;height:25px}.demo-invite-row b{font-size:11px}}


/* revision32.css */
/* V32: one responsive row layout for the Track and Drag session libraries.
   Both render the same five summary elements; discipline-specific layout rules
   must not change their positions, typography or visibility. */
.session-library-row .session-row-main {
  display: grid;
  grid-template-columns: 28px 124px minmax(0, 1fr) 150px 280px;
  grid-template-areas: "favorite date identity pace actions";
  align-items: center;
  gap: 16px 18px;
  padding: 16px 20px;
}
.session-library-row .session-favorite { grid-area: favorite; width: 28px; }
.session-library-row .session-date {
  grid-area: date;
  display: grid;
  gap: 4px;
  min-width: 0;
}
.session-library-row .session-date strong { font-size: 13px; font-weight: 550; line-height: 18px; }
.session-library-row .session-date small { margin: 0; font-size: 12px; line-height: 18px; }
.session-library-row .session-identity {
  grid-area: identity;
  display: grid;
  gap: 4px;
  min-width: 0;
}
.session-library-row .session-identity h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -.3px;
  overflow-wrap: anywhere;
}
.session-library-row .session-track-title { min-width: 0; min-height: 24px; }
.session-library-row .rename-track-button { width: 24px; height: 24px; padding: 4px; }
.session-library-row .session-identity > span,
.session-library-row .session-identity > small { margin: 0; font-size: 12px; line-height: 18px; overflow-wrap: anywhere; }
.session-library-row .session-row-pace {
  grid-area: pace;
  display: grid;
  gap: 4px;
  min-width: 0;
  text-align: left;
}
.session-library-row .session-row-pace > strong {
  margin: 0;
  font-size: 23px;
  font-weight: 650;
  line-height: 28px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.session-library-row .session-row-pace > small,
.session-library-row .session-row-pace > span { display: block; max-width: none; font-size: 11px; line-height: 16px; }
.session-library-row .session-row-actions {
  grid-area: actions;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: nowrap;
}
.session-library-row .session-source { flex: 0 0 72px; margin: 0; font-size: 9px; line-height: 14px; }
.session-library-row .session-row-actions .button {
  flex: 0 0 96px;
  min-height: 38px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  gap: 7px;
}
.session-library-row .session-row-actions .button .icon { width: 16px; height: 16px; }

/* Shared form sizes do not depend on select option length or browser defaults. */
.library-result-toolbar { min-height: 0; gap: 12px 18px; padding: 18px 0 14px; font-size: 12px; line-height: 18px; }
.library-result-toolbar > label { gap: 8px; font-size: 12px; line-height: 18px; }
.library-result-toolbar > label:last-child > select {
  width: 190px;
  min-width: 190px;
  height: 38px;
  padding: 8px 36px 8px 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 550;
  line-height: 20px;
  background-position: right 12px center;
}
.library-result-toolbar .text-button { min-height: 38px; padding: 8px 0; font-size: 12px; line-height: 20px; }
.library-result-toolbar .library-favorites input { width: 14px; height: 14px; margin: 0; }
.library-filter-bar input,
.library-filter-bar .library-filter-toggle { height: 40px; min-height: 40px; font-size: 13px; line-height: 20px; }
.library-filter-bar .library-filter-toggle { padding: 9px 13px; gap: 8px; }
.library-filter-toggle :is([data-filter-count], [data-drag-filter-count]):not(:empty) {
  padding: 1px 5px;
  min-width: 18px;
  border-radius: 4px;
  background: var(--surface-alt);
  font-size: 10px;
  line-height: 16px;
}

/* Column units stay on the heading line. The table itself carries its name;
   a duplicate caption no longer adds a second bar above these headings. */
.corner-table > thead th { padding-top: 8px; padding-bottom: 8px; line-height: 16px; }
.corner-table > thead th small { display: inline; margin: 0 0 0 3px; font-size: 10px; line-height: inherit; }

@media (max-width: 1100px) {
  .session-library-row .session-row-main {
    grid-template-columns: 28px 124px minmax(0, 1fr) 150px;
    grid-template-areas: "favorite date identity pace" ". . actions actions";
    gap: 12px;
  }
}
@media (max-width: 760px) {
  .session-library-row .session-row-main {
    grid-template-columns: 24px minmax(0, 1fr) 118px;
    grid-template-areas: "favorite date date" ". identity pace" ". actions actions";
    padding: 16px 12px;
    gap: 12px 10px;
  }
  .session-library-row .session-favorite { width: 24px; }
  .session-library-row .session-date { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
  .session-library-row .session-identity h2 { font-size: 17px; line-height: 22px; }
  .session-library-row .session-track-title { min-height: 22px; }
  .session-library-row .rename-track-button { width: 22px; height: 22px; }
  .session-library-row .session-row-pace { text-align: right; }
  .session-library-row .session-row-pace > strong { font-size: 20px; line-height: 26px; }
}
@media (max-width: 480px) {
  .session-library-row .session-row-main {
    grid-template-columns: 24px minmax(0, 1fr);
    grid-template-areas: "favorite date" ". identity" ". pace" ". actions";
  }
  .session-library-row .session-row-pace { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; text-align: left; }
  .session-library-row .session-row-pace > span { flex-basis: 100%; }
  .session-library-row .session-row-actions { justify-content: flex-start; flex-wrap: wrap; }
  .session-library-row .session-source { flex-basis: 100%; }
  .library-result-toolbar > label:last-child { width: 100%; margin-left: 0; }
  .library-result-toolbar > label:last-child > select { flex: 1; width: auto; min-width: 0; }
}

/* Optional subscription previews preserve a readable, keyboard-accessible explanation. */
.analysis-disclosure > summary .analysis-access-badge { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; padding: 4px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--secondary); background: var(--surface-alt); font-size: 10px; line-height: 14px; white-space: nowrap; }
.analysis-disclosure > summary .analysis-access-badge[hidden] { display: none; }
.analysis-access-badge .icon { width: 12px; height: 12px; }
html[data-accent-style] .analysis-disclosure[data-locked="true"] { border-color: var(--line); box-shadow: none; }
html[data-accent-style] .analysis-disclosure[data-locked="true"] > summary { background: var(--surface-alt); color: var(--muted); }
html[data-accent-style] .analysis-disclosure[data-locked="true"] > summary :is(strong,.analysis-section-icon) { color: var(--muted); }
.analysis-disclosure[data-locked="true"] > summary > small { display: none; }
[data-feature-locked="true"] > .analysis-focus { display: none; }


/* catalog-map.css */
/* Continuous vector road geometry; neutral surfaces keep measured telemetry foremost. */
.catalog-underlay{display:none;pointer-events:none;shape-rendering:geometricPrecision}
.has-catalog-layout:not(.layer-none):not(.layer-street) .catalog-underlay{display:block}
.has-catalog-layout .track-edge,.has-catalog-layout #track-road{display:none}
.catalog-surface{stroke-linecap:round;stroke-linejoin:round;fill-rule:evenodd;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;stroke-dasharray:none}
.catalog-asphalt{fill:#c7cbd0;stroke:#a2a8b1;stroke-width:.65}
.catalog-runoff{fill:#b4bac2;stroke:none;opacity:.24}
.catalog-kerb{fill:#be6971;stroke:none;opacity:.72}
.is-range-focused .catalog-underlay{opacity:.8}
.has-catalog-layout .circuit-grid{opacity:.18}
.catalog-gate-line{fill:none;stroke:#858a93;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:3 2;stroke-linecap:round}
.catalog-start-gate .catalog-gate-line{stroke:#4a4f58;stroke-width:1.65;stroke-dasharray:none}
.catalog-label-leader{fill:none;stroke:#9197a0;stroke-width:.65;opacity:.45}
.catalog-gate-label rect,.catalog-corner-label rect{fill:#ffffffed;stroke:#bdc2ca;stroke-width:.65}
.catalog-gate-label text{fill:#525965;font:600 9px Inter,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.15px}
.catalog-corner-label rect{fill:#ffffffd6;stroke:#c7ccd3;stroke-width:.55;rx:5}
.catalog-corner-label text{fill:#6c737e;font:600 8px Inter,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.15px}
.catalog-corner-label,.catalog-gate{pointer-events:none}
[data-theme="dark"] .catalog-asphalt{fill:#494c53;stroke:#71757d}
[data-theme="dark"] .catalog-runoff{fill:#9b9fa7;stroke:none;opacity:.105}
[data-theme="dark"] .catalog-kerb{fill:#ae626c;stroke:none;opacity:.7}
[data-theme="dark"] .catalog-gate-line{stroke:#c0c4cb}
[data-theme="dark"] .catalog-start-gate .catalog-gate-line{stroke:#e8e9ed}
[data-theme="dark"] .catalog-gate-label rect,[data-theme="dark"] .catalog-corner-label rect{fill:#27292fe8;stroke:#62666f}
[data-theme="dark"] .catalog-gate-label text{fill:#dadde3}
[data-theme="dark"] .catalog-corner-label rect{fill:#282a30d9;stroke:#4c5058}
[data-theme="dark"] .catalog-corner-label text{fill:#bbc0c9}

.layout-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.layout-info-grid>div{padding:14px;background:var(--surface-alt,var(--bg));border:1px solid var(--line);border-radius:10px}.layout-info-grid span,.layout-info-grid strong,.layout-info-grid small{display:block}.layout-info-grid span{font-size:11px;color:var(--muted)}.layout-info-grid strong{font-size:15px;margin:6px 0}.layout-info-grid small{font-size:12px;line-height:1.5;color:var(--muted)}.layout-source-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}.layout-original-timing{max-height:180px;overflow:auto;padding:12px;font-size:11px;white-space:pre-wrap;background:var(--surface-alt,var(--bg))}#track-layout-info{margin-left:auto}@media(max-width:650px){.layout-info-grid{grid-template-columns:1fr}.csv-session-bar{flex-wrap:wrap}#track-layout-info{margin-left:0}}


/* revision34.css */
/* Compact map heading: lap and distance share a single visual line. */
.section-toolbar .section-label{min-width:0;flex-wrap:wrap;gap:9px}
.section-toolbar .lap-distances{padding:0;gap:12px;font-size:11px;line-height:1.3;flex:0 1 auto}
.section-toolbar .lap-distances>span{gap:5px;white-space:nowrap}
.section-toolbar .lap-distances strong{font-size:11px;font-weight:550;color:var(--secondary)}
.section-toolbar .lap-distances i{font-size:9px;padding:2px 4px}
.section-toolbar .quiet-separator{height:14px}
.opportunity-footer{display:block;padding:0 16px 16px}
.opportunity-footer .opportunity-play{width:100%;min-height:42px;justify-content:center;gap:9px;font-size:13px;line-height:1.3}
.opportunity-play-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px}
.opportunity-play-icon svg{display:block;width:16px;height:16px;transform:none}
.opportunity-action-observations{display:grid;gap:7px;margin:14px 0}
.opportunity-action-observation{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt,var(--surface));font-size:12px;line-height:1.5}
.opportunity-action-observation strong{display:block;font-size:14px;color:var(--ink);font-weight:600;margin-bottom:3px}
.opportunity-action-observation small{color:var(--muted);font-size:11px}
.opportunity-description{font-size:12px;line-height:1.65}
@media(max-width:650px){.section-toolbar .section-label{gap:6px}.section-toolbar .lap-distances{font-size:10px;gap:7px}.section-toolbar .lap-distances strong{font-size:10px}.section-toolbar .quiet-separator{margin:0 2px}.section-toolbar #map-lap-caption{font-size:11px}}

.opportunity-source-note{display:block;margin:10px 0;font-size:10px;line-height:1.45;color:var(--muted)}
.opportunity-action-observation>span{font-size:11px;color:var(--secondary)}


/* devtools35.css */
/* Developer controls are absent from the product until the five-click gesture. */
.development-toolbar[hidden]{display:none!important;height:0!important;min-height:0!important;border:0!important}
.development-topline #development-close{margin-left:auto;flex:0 0 28px;width:28px;height:28px;padding:0;font-size:22px;font-weight:400;line-height:1}
.development-topline #development-close span{display:block;line-height:1;transform:translateY(-1px)}
.global-nav .product-name{display:inline-flex;flex:0 0 auto;align-items:center;padding:0;border:0;background:none;border-radius:3px;white-space:nowrap;user-select:none}
.global-nav .product-name:hover{background:none;color:var(--ink)}
body[data-screen=home] .global-nav .product-name{display:inline-flex;margin-right:auto}
@media(max-width:1150px){.global-nav .product-name{font-size:12px;letter-spacing:-.15px}.global-nav{gap:16px}}
@media(max-width:760px){.global-nav .product-name{display:inline-flex;font-size:11px;max-width:55px;white-space:normal;line-height:1.15;text-align:left}.global-nav{gap:10px}.global-nav .product-name+nav{margin-left:auto}}


/* corner-consistency.css */
/* V35: a shared consistency workspace with real per-corner timing spread. */
.consistency-view-tabs{display:flex;gap:4px;background:var(--surface-alt);border:1px solid var(--line);padding:4px;border-radius:9px;width:max-content;max-width:100%;margin:0 0 18px}
.consistency-view-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:var(--secondary);border-radius:6px;padding:9px 15px;font-family:inherit;font-weight:600;font-size:12px;min-height:36px;white-space:nowrap}
.consistency-view-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 5px #00000012}
.consistency-view-tabs button[aria-selected="true"] span{color:var(--red)}
.consistency-view-tabs button:focus-visible,.corner-consistency-row:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.corner-consistency-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 16px}
.corner-consistency-heading h3{font-size:18px;letter-spacing:-.35px;margin:0 0 5px}
.corner-consistency-heading p{font-size:12px;line-height:1.6;color:var(--secondary);margin:0;max-width:590px}
.corner-consistency-scope{font-size:11px;color:var(--secondary);white-space:nowrap;border:1px solid var(--line);border-radius:6px;padding:7px 10px}
.corner-consistency-scope strong{color:var(--ink)}
.corner-consistency-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.95fr);gap:14px;align-items:start}
.corner-consistency-map-card,.corner-consistency-list-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;overflow:hidden}
.corner-consistency-map-card{position:sticky;top:0}
.corner-consistency-card-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 0}
.corner-consistency-card-title h4{font-size:13px;font-weight:650;letter-spacing:-.1px;margin:0}
.corner-consistency-card-title>small{font-size:10px;color:var(--secondary)}
.corner-consistency-map{display:block;width:100%;aspect-ratio:640/360;margin:6px auto 1px;overflow:visible}
.corner-consistency-route{fill:none;stroke:var(--line);stroke-width:9;stroke-linejoin:round;stroke-linecap:round}
.corner-consistency-segment{fill:none;stroke:var(--corner-color);stroke-width:6;stroke-linejoin:round;stroke-linecap:round;transition:stroke-width .15s,opacity .15s}
.corner-consistency-map-button{cursor:pointer;outline:none}
.corner-consistency-map-button .corner-consistency-target{fill:none;stroke:transparent;stroke-width:21;pointer-events:stroke}
.corner-consistency-map-button:hover .corner-consistency-segment,.corner-consistency-map-button:focus-visible .corner-consistency-segment,.corner-consistency-map-button.is-linked .corner-consistency-segment{stroke-width:9}
.corner-consistency-map-button .corner-consistency-leader{stroke:var(--secondary);stroke-width:.7;opacity:.55}
.corner-consistency-map-button circle{fill:var(--surface);stroke:var(--corner-color);stroke-width:1.4}
.corner-consistency-map-button text{fill:var(--ink);font-size:11px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.corner-consistency-map-button:hover circle,.corner-consistency-map-button:focus-visible circle,.corner-consistency-map-button.is-linked circle{stroke-width:3}
.corner-consistency-map-button[aria-disabled="true"]{cursor:default;opacity:.55}
.corner-level-low{--corner-color:var(--gain,#2bc986)}
.corner-level-medium{--corner-color:#dcab22}
.corner-level-high{--corner-color:var(--red,#ff2344)}
.corner-level-unavailable{--corner-color:var(--secondary)}
.corner-consistency-legend{display:flex;justify-content:center;gap:18px;padding:9px 15px 15px;font-size:10px;color:var(--secondary);flex-wrap:wrap}
.corner-consistency-legend span{display:flex;gap:5px;align-items:center}
.corner-consistency-legend i{display:block;width:6px;height:6px;border-radius:50%;background:var(--corner-color)}
.corner-consistency-map-note{margin:0;padding:12px 16px;background:var(--surface-alt);font-size:10px;line-height:1.6;color:var(--secondary);border-top:1px solid var(--line)}
.corner-consistency-list-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:10px;color:var(--secondary)}
.corner-consistency-sort{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--secondary)}
.corner-consistency-sort select{font:inherit;font-size:11px;color:var(--ink);background:var(--surface-alt);border:1px solid var(--line);border-radius:5px;padding:5px 25px 5px 8px;min-height:30px;max-width:175px}
.corner-consistency-rows{padding:4px 8px}
.corner-consistency-row{width:100%;display:grid;grid-template-columns:36px minmax(40px,1fr) 80px;gap:10px;align-items:center;border:0;background:transparent;border-radius:6px;text-align:left;color:var(--ink);padding:9px 9px;min-height:46px;cursor:pointer;font:inherit}
.corner-consistency-row:hover,.corner-consistency-row.is-linked{background:var(--surface-alt)}
.corner-consistency-row>strong{font-size:12px;font-weight:650}
.corner-consistency-row-value{font-family:inherit;font-weight:600;font-size:12px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--corner-color)}
.corner-consistency-row-value small{display:inline;font-size:10px;font-weight:400;color:var(--secondary)}
.corner-consistency-bar{height:7px;display:block;background:var(--surface-alt);border-radius:20px;overflow:hidden}
.corner-consistency-bar>i{height:100%;display:block;background:var(--corner-color);border-radius:20px}
.corner-consistency-row small.corner-consistency-pass-count{display:block;font-size:9px;color:var(--secondary);margin-top:4px;line-height:1.1;font-weight:400;white-space:nowrap}
.corner-consistency-row:disabled{cursor:default;opacity:.65}
.corner-consistency-row:disabled:hover{background:transparent}
.corner-consistency-row:disabled .corner-consistency-row-value{font-size:10px;color:var(--secondary)}
.corner-consistency-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px;color:var(--secondary);font-size:11px;line-height:1.6}
.corner-consistency-footer p{margin:0;flex:1;min-width:240px}
.corner-consistency-footer button{white-space:nowrap}
.corner-consistency-empty{padding:38px 20px;text-align:center;color:var(--secondary);font-size:12px;line-height:1.7}
@media(max-width:850px){.corner-consistency-grid{grid-template-columns:1fr}.corner-consistency-map-card{position:static}.corner-consistency-map{max-height:320px}.corner-consistency-heading{flex-wrap:wrap;gap:8px}.corner-consistency-scope{white-space:normal}.corner-consistency-card-title{padding-top:13px}.corner-consistency-map-note{padding:9px 13px}}
@media(max-width:450px){.consistency-view-tabs{width:100%}.consistency-view-tabs button{flex:1;padding:8px;font-size:11px}.corner-consistency-list-header{flex-wrap:wrap;gap:6px}.corner-consistency-heading h3{font-size:16px}.corner-consistency-row{grid-template-columns:32px minmax(30px,1fr) 75px;gap:8px}.corner-consistency-row-value{font-size:11px}.corner-consistency-footer p{min-width:0;flex-basis:100%}}


/* review35.css */
/* The new Review workspace is intentionally limited to the lower analysis area. */
.review-dock{border:1px solid var(--line);border-radius:15px;background:var(--surface);margin:18px 0 0;overflow:hidden}
.review-toolbar{display:flex;align-items:center;gap:12px;padding:17px 18px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.review-toolbar h2{font-size:15px;margin:0 8px 0 0;font-weight:650;letter-spacing:-.2px}
.review-tool{min-height:42px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2,var(--surface));color:var(--ink);font-size:13px;line-height:1.3;font-weight:550;transition:background .15s,border-color .15s}
.review-tool:hover{border-color:var(--secondary);background:color-mix(in srgb,var(--secondary) 8%,var(--surface))}
.review-tool .icon{width:18px;height:18px;flex:none;color:var(--secondary)}
.review-tool.review-opportunities{border-color:color-mix(in srgb,var(--secondary) 33%,var(--line));background:color-mix(in srgb,var(--secondary) 8%,var(--surface))}
.review-tool.review-opportunities>.icon{color:var(--red)}
.review-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:2px 6px;box-sizing:border-box;background:color-mix(in srgb,var(--secondary) 10%,var(--surface));border-radius:6px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--secondary)}
.review-opportunities .review-count{background:var(--red);color:white}.review-count .icon{width:13px;height:13px;color:inherit}.review-tool.is-locked{opacity:.68}
.review-active-section{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:11px;color:var(--secondary)}.review-active-section button{width:24px;height:24px;font-size:18px;border-radius:5px;background:var(--surface);border:1px solid var(--line)}
.review-dock .sector-summary{background:none;border:0;box-shadow:none;border-radius:0;margin:0;padding:16px 18px 18px}
.review-dock .sector-heading{gap:10px;margin-bottom:12px;flex-wrap:wrap;align-items:center}
.review-dock .sector-heading h2{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--secondary)}
.review-dock .sector-heading>span:not(#sector-create-slot){display:none}
.review-dock .sector-heading .best-sectors-toggle{margin-left:auto;font-size:11px;white-space:nowrap}
.review-dock .sector-heading button{font-size:11px;padding:7px 9px;line-height:1.2}
.review-dock .sector-heading #create-sector{border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--ink);background:var(--surface)}
.review-dock .sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.review-dock .sector-cell{padding:10px 12px;min-width:0;text-align:left;background:color-mix(in srgb,var(--secondary) 3%,var(--surface));border:1px solid var(--line);border-radius:8px;box-shadow:none}
.review-dock .sector-cell:hover{border-color:var(--secondary)}.review-dock .sector-cell.active{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--surface))}
.review-dock .sector-card-heading{font-size:11px;margin-bottom:7px}.review-dock .sector-active-label{font-size:8px}
.review-dock .sector-time-row{gap:5px;justify-content:space-between}.review-dock .sector-time-row>span{font-size:10px}.review-dock .sector-time-row strong{font-size:17px;letter-spacing:-.4px}
.review-dock .absolute-sector{margin-top:8px;padding:7px 0 0;border-top:1px solid var(--line);background:none;border-radius:0;display:grid;gap:3px}
.review-dock .absolute-sector>span{font-size:8px;letter-spacing:.06em;color:var(--muted)}.review-dock .absolute-sector>b{font-size:12px;color:var(--green,#61b785);font-variant-numeric:tabular-nums}.review-dock .absolute-sector b small{font-size:10px;color:var(--secondary);margin-left:5px}
.review-dock .sector-source-note{font-size:10px;line-height:1.5;margin:0 0 12px;color:var(--muted);max-width:100%}
.review-dock .custom-sector-summary{margin:0;border-radius:0;border:0;border-top:1px solid var(--line);padding:16px 18px;background:none}
.review-dock .custom-summary-heading h2{font-size:13px}.review-dock .custom-timing-note{font-size:10px}.review-dock .custom-sector-card{min-width:0}.review-dock .custom-sector-card>.sector-cell{width:100%}
.review-dialog{width:min(1180px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 56px);padding:0;border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--ink);box-shadow:0 28px 100px #0005;overflow:hidden}
.review-dialog[open]{display:flex;flex-direction:column}.review-dialog::backdrop{background:#070b10b8;backdrop-filter:blur(4px)}
.review-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:21px 24px 17px;flex:none;border-bottom:1px solid var(--line)}
.review-dialog-heading .eyebrow{font-size:9px;color:var(--muted)}.review-dialog-heading h2{margin:7px 0 6px;font-size:24px;letter-spacing:-.6px}.review-dialog-heading p{margin:0;color:var(--secondary);font-size:12px}
.review-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--secondary);flex:none}.review-close .icon{width:18px;height:18px}
#review-dialog-body{overflow:auto;overscroll-behavior:contain;min-height:0;padding:20px 22px 23px;scrollbar-gutter:stable}
#review-dialog .analysis-insights{display:block;margin:0;padding:0;border:0;box-shadow:none;background:none}
#review-dialog .analysis-disclosure{display:block;overflow:visible;background:none;border:0;border-radius:0;box-shadow:none;margin:0}
#review-dialog .analysis-disclosure>summary,#review-dialog .advanced-tabs,#review-dialog .analysis-focus{display:none!important}
#review-dialog .analysis-disclosure-body{padding:0}#review-dialog .analysis-intro{margin-bottom:17px}
#review-dialog .opportunities-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#review-dialog .opportunities-grid:has(>.opportunity-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
#review-dialog .opportunity-card:last-child{grid-column:auto}#review-dialog .opportunity-card:last-child .opportunity-open{display:block}
#review-dialog .opportunity-open{padding:18px}#review-dialog .opportunity-card{min-width:0}
#review-dialog .corner-table-scroll{max-height:none;overflow:visible}#review-dialog .corner-table thead th{position:sticky;top:0;z-index:2;background:var(--surface)}
body.review-open{overflow:hidden}.focus-view #review-dock{display:none!important}
.session-library-row.is-new-import .session-source,.drag-session-row.is-new-import .session-source{padding:5px 8px!important;line-height:1.25;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;white-space:nowrap}
@media(max-width:850px){.review-toolbar{gap:8px}.review-tool{flex:1}.review-toolbar h2{width:100%;margin-bottom:2px}.review-dock .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-active-section{margin-left:0}.review-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}#review-dialog .opportunities-grid{grid-template-columns:1fr!important}#review-dialog .corner-table-scroll{overflow:auto}.review-dialog-heading h2{font-size:21px}}
@media(max-width:560px){.review-toolbar{padding:14px}.review-tool{font-size:11px;padding:9px 8px;gap:6px;min-width:0}.review-tool>.icon{width:15px;height:15px}.review-count{height:20px;min-width:20px;font-size:10px;padding:1px 4px}.review-dock .sector-summary{padding:13px}.review-dock .sector-heading .best-sectors-toggle{margin-left:0;order:5;width:100%;justify-content:flex-start}.review-dialog-heading{padding:17px 16px 14px}#review-dialog-body{padding:15px 13px}.review-dialog-heading p{font-size:11px}.review-dock .sector-source-note{font-size:9px}.review-dock .custom-sector-summary{padding:13px}}


/* revision36.css */
/* One compact Review row: identical tools, followed by physical timing gates. */
#review-dock{overflow:visible;padding:0}
#review-dock .review-toolbar{gap:10px;padding:14px;border:0;align-items:center}
#review-dock .review-toolbar h2{width:auto;margin:0 5px 0 0;flex:none}
#review-dock .review-tool,#review-dock .review-tool.review-opportunities{flex:0 0 164px;width:164px;height:44px;min-height:44px;justify-content:flex-start;padding:10px 11px;gap:8px;border:1px solid var(--line);background:var(--surface);font-size:12px;white-space:nowrap;color:var(--ink);box-shadow:none}
#review-dock .review-tool:hover{background:var(--surface-alt);border-color:var(--muted)}
#review-dock .review-tool>.icon,#review-dock .review-tool.review-opportunities>.icon{color:var(--secondary);width:16px;height:16px}
#review-dock .review-count,#review-dock .review-opportunities .review-count{background:var(--surface-alt);color:var(--secondary);margin-left:auto;border-radius:5px;min-width:21px;height:21px;font-size:10px}
#review-dock #sector-summary{display:flex;align-items:center;gap:8px;flex:1 1 auto;flex-wrap:wrap;padding:0;margin:0;background:none;box-shadow:none;border:0;overflow:visible}
.review-sector-strip{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding-left:10px;border-left:1px solid var(--line);margin-left:auto}
.review-sector-chip{position:relative;min-height:44px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);text-align:left;white-space:nowrap}
.review-sector-chip:hover{background:var(--surface-alt);border-color:var(--muted)}
.review-sector-chip.active{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--surface))}
.review-sector-name{font-size:10px;font-weight:650;color:var(--secondary)}
.review-sector-times{display:grid;gap:3px;font-size:12px;line-height:1.25;font-variant-numeric:tabular-nums}
.review-sector-times>span{display:flex;gap:5px;align-items:center}.review-sector-times b{font-weight:550}.review-sector-times i{font-style:normal;font-size:9px}
.sector-best-tooltip{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);display:grid;gap:6px;min-width:185px;max-width:245px;padding:13px 14px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:0 8px 30px #0003;z-index:30;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;text-align:left}
.review-sector-chip:is(:hover,:focus-visible):not(.tip-dismissed) .sector-best-tooltip{opacity:1;visibility:visible}
.sector-best-tooltip>strong{font-size:12px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.sector-tip-label{font-size:10px;color:var(--secondary)}.sector-tip-value{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--gain);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.sector-tip-value small{font-size:10px;color:var(--secondary);font-weight:450}.sector-tip-delta{font-size:10px;color:var(--secondary);padding-top:5px}
#review-dock #create-sector{margin:0;min-height:36px;flex:none;border:1px solid var(--line);background:var(--surface);color:var(--secondary);border-radius:7px;padding:8px 10px;font-size:11px}
.review-sector-options{position:relative;flex:none}.review-sector-options>summary{display:grid;place-items:center;width:30px;height:34px;cursor:pointer;border-radius:6px;list-style:none;color:var(--secondary)}.review-sector-options>summary::-webkit-details-marker{display:none}.review-sector-options>summary:hover{background:var(--surface-alt)}.review-sector-options .icon{width:16px;height:16px}
.sector-options-panel{position:absolute;right:0;bottom:calc(100% + 8px);z-index:32;width:280px;max-width:calc(100vw - 40px);padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 30px #0003;font-size:12px}.sector-options-panel p{font-size:11px;color:var(--secondary);line-height:1.6}.sector-options-panel .best-sectors-toggle{margin:12px 0;font-size:11px;justify-content:flex-start}.sector-options-panel .button{font-size:11px}
.review-sector-empty{color:var(--muted);font-size:11px}
#review-dock .review-active-section{margin:0;padding:0 14px 12px;justify-content:flex-end;font-size:11px}
#review-dialog .analysis-disclosure,#review-dialog .analysis-disclosure-body,#review-dialog #consistency-content,#review-dialog #corner-analysis-content,#review-dialog #opportunity-content{border:0!important;box-shadow:none!important;outline:0;background:none!important}
#review-dialog .analysis-disclosure::before,#review-dialog .analysis-disclosure::after,#review-dialog .analysis-disclosure-body::before,#review-dialog .analysis-disclosure-body::after{content:none;display:none}

/* Custom sectors retain editing/deletion; best times use the same hover affordance. */
#review-dock .custom-sector-summary{padding:12px 14px;border-top:1px solid var(--line);overflow:visible}
#review-dock .custom-sector-grid{display:flex;flex-wrap:wrap;gap:8px}
#review-dock .custom-sector-card{position:relative;flex:0 1 176px;overflow:visible}
#review-dock .custom-sector-card>.sector-cell{padding:9px 11px;min-height:60px}
#review-dock .custom-sector-card .sector-time-row strong{font-size:13px}
#review-dock .custom-sector-card .absolute-sector{display:none;position:absolute;bottom:calc(100% + 8px);left:0;width:210px;z-index:30;background:var(--surface);padding:12px;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 30px #0003;pointer-events:none}
#review-dock .custom-sector-card>.sector-cell:is(:hover,:focus-visible) .absolute-sector{display:grid}
#review-dock .custom-sector-card .custom-sector-actions{padding:4px 7px}.custom-sector-actions button{font-size:10px}

/* Lap controls belong to the map heading, leaving the map canvas unobstructed. */
.section-toolbar .section-label{gap:8px;flex:1 1 auto}
.section-toolbar .lap-chips{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px}
.section-toolbar .lap-chip{min-height:32px;padding:6px 9px;gap:6px;font-size:11px;border-radius:6px;box-shadow:none;white-space:nowrap}
.section-toolbar .lap-chip b{font-size:11px;font-weight:600}.section-toolbar .lap-chip .icon{width:12px;height:12px}
.section-toolbar .lap-chips .comparison-close{position:static;width:26px;height:28px;min-width:26px;border:1px solid var(--line);border-radius:5px}
.section-toolbar .lap-distances{font-size:10px;margin-left:2px}.section-toolbar .lap-distances strong{font-size:10px}
.map-top{left:auto;right:16px;top:14px;justify-content:flex-end}
html[data-accent-style] .map-wrap:not(.expanded) .map-telemetry,html[data-accent-style] .map-wrap:not(.expanded).is-range-focused .map-telemetry{top:14px}
html[data-accent-style] .map-wrap:not(.expanded).is-range-focused.focus-narrow .map-telemetry{top:56px}

/* Add graph no longer takes a column away from the plotted data. */
html[data-graph-style] .graph-workspace{display:block;width:100%}
html[data-graph-style] .telemetry-header .telemetry-actions:has(#add-graph){display:flex!important;flex-wrap:wrap;align-items:center;gap:10px}
html[data-graph-style] .telemetry-actions .add-graph-row{display:flex;flex-direction:row;align-items:center;gap:6px;padding:0;margin:0;align-self:auto}
html[data-graph-style] #add-graph{display:inline-flex;width:auto;min-width:104px;max-width:none;min-height:32px;height:auto;padding:7px 10px;font-size:11px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);box-shadow:none}
html[data-graph-style] #add-graph .add-graph-text{display:inline}html[data-graph-style] #add-graph .icon{width:15px;height:15px}
html[data-graph-style] #add-graph:disabled{color:var(--muted);background:var(--surface-alt);opacity:.65}
html[data-graph-style] #graph-count{display:none}
@media(max-width:1400px){#review-dock #sector-summary{flex-basis:100%}.review-sector-strip{margin-left:0;border-left:0;padding-left:0}}
@media(max-width:850px){#review-dock .review-toolbar h2{flex-basis:100%;margin-bottom:0}#review-dock .review-tool,#review-dock .review-tool.review-opportunities{flex:1 1 0;min-width:0;width:auto;font-size:11px;padding:9px 8px;gap:6px}.section-toolbar{flex-wrap:wrap;gap:10px}.section-toolbar .section-label{flex-basis:100%}.map-toolbar-actions{margin-left:auto}}
@media(max-width:560px){#review-dock .review-toolbar{gap:7px;padding:12px}#review-dock .review-tool .review-count{display:none}#review-dock .review-tool{white-space:normal;font-size:10px}#review-dock .review-tool>.icon{width:14px;height:14px}#review-dock .review-toolbar h2{font-size:14px}.review-sector-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%}.review-sector-chip{min-width:0;padding:7px 5px;gap:5px;justify-content:center}.review-sector-times{font-size:10px}.review-sector-name{font-size:9px}.review-sector-chip:nth-child(-n+2) .sector-best-tooltip{left:0;transform:none}.review-sector-chip:nth-child(n+3) .sector-best-tooltip{right:0;left:auto;transform:none}.sector-options-panel{right:auto;left:0;max-width:calc(100vw - 48px)}.review-sector-options{margin-left:auto}.review-sector-options .sector-options-panel{left:auto;right:0}.section-toolbar .lap-distances{flex-basis:100%;margin-top:1px}.section-toolbar .section-label{row-gap:7px}.section-toolbar .lap-chip{font-size:10px}.section-toolbar .lap-chip b{font-size:10px}}

#fullscreen-lap-chips{display:none}.map-wrap.expanded #fullscreen-lap-chips{display:flex}.map-wrap.expanded .map-top{left:20px;justify-content:space-between}
.analysis-card:has(.map-wrap.expanded)>.section-toolbar #lap-chips{visibility:hidden}
.opportunity-evidence-method{margin:12px 0}.opportunity-evidence-method>summary{font-size:11px;padding:8px 0}.opportunity-evidence-method .analysis-note{font-size:11px;line-height:1.6;margin:8px 0}


/* revision37.css */
/* Review actions have the same weight, with the opportunity count as a small accent. */
#review-dock .review-tool,
#review-dock .review-tool.review-opportunities {
  border-color:color-mix(in srgb,var(--secondary) 36%,var(--line));
  background:color-mix(in srgb,var(--secondary) 8%,var(--surface));
  box-shadow:inset 0 1px 0 #ffffff09,0 2px 4px #00000008;
  font-weight:650;
  color:var(--ink);
}
#review-dock .review-tool>.icon,
#review-dock .review-tool.review-opportunities>.icon {color:var(--ink);stroke-width:1.8}
#review-dock .review-tool:hover,
#review-dock .review-tool[aria-expanded="true"] {
  border-color:var(--secondary);
  background:color-mix(in srgb,var(--secondary) 15%,var(--surface));
}
#review-dock .review-opportunities .review-count {
  color:#bf242a;
  background:color-mix(in srgb,var(--red) 10%,var(--surface));
  border:1px solid color-mix(in srgb,var(--red) 20%,transparent);
  font-weight:750;
}
html[data-theme="dark"] #review-dock .review-opportunities .review-count {color:#ff7378}
.sector-times-label {display:flex;flex-direction:column;gap:3px;flex:none;font-size:10px;line-height:1.3;font-weight:600;color:var(--secondary)}
.sector-times-label small {font-size:9px;font-weight:450;color:var(--muted)}

/* Exit controls remain easy to find after selecting a focused section. */
#clear-graph-selection,
#review-dock #review-clear-selection,
.analysis-focus-actions [data-clear-analysis],
[data-clear-custom] {
  min-height:33px;
  padding:7px 11px;
  border:1px solid color-mix(in srgb,var(--secondary) 45%,var(--line));
  border-radius:7px;
  background:var(--surface-raised);
  color:var(--ink);
  font-size:11px;
  font-weight:650;
  line-height:1.25;
  white-space:nowrap;
}
#clear-graph-selection:hover,
#review-dock #review-clear-selection:hover,
.analysis-focus-actions [data-clear-analysis]:hover,
[data-clear-custom]:hover {background:var(--surface-alt);border-color:var(--secondary)}
#map-focus-badge {border-color:color-mix(in srgb,var(--secondary) 38%,var(--line))}
#map-focus-badge #exit-map-focus {
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  border:1px solid color-mix(in srgb,var(--secondary) 42%,var(--line));
  border-radius:6px;
  background:var(--surface-alt);
  color:var(--ink);
  font-size:24px;
  font-weight:500;
  line-height:1;
}
#map-focus-badge #exit-map-focus:hover {border-color:var(--secondary);background:var(--surface-raised)}
#review-dock #review-clear-selection {width:auto;height:auto;min-width:0}

/* The same neutral scrim is used by Compare, Details and Review. */
dialog::backdrop,
#modal::backdrop,
.review-dialog::backdrop {background:rgb(12 13 15 / 66%);backdrop-filter:blur(4px)}

/* Reclaim eight pixels from the summary and give them to the map. */
.summary-strip {padding-block:16px}
.map-wrap {height:408px}
@media(min-width:1600px) {.map-wrap {height:438px}}
@media(max-width:850px) {.map-wrap {height:388px}}
@media(max-width:560px) {.summary-strip {padding-block:13px}.map-wrap {height:468px}}

/* Attribution belongs below the map controls, never over the circuit. */
html[data-accent-style] .map-wrap:not(.expanded) .map-attribution,
html[data-accent-style] .map-wrap.is-range-focused.focus-narrow .map-attribution {
  left:18px!important;
  right:18px;
  bottom:4px!important;
  max-width:calc(100% - 36px);
  font-size:8px!important;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--map-panel-muted);
  background:transparent;
  pointer-events:none;
}
.map-attribution a {pointer-events:auto}
html[data-accent-style] .map-wrap.expanded .map-attribution {left:22px!important;right:22px;bottom:86px!important;font-size:8px!important;line-height:1.25;max-width:calc(100% - 44px)}

/* Keep Lap Details attached to the live readings, including narrow focused maps. */
html[data-accent-style] .map-telemetry .map-lap-details {
  display:flex;
  grid-column:1/-1;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  min-height:30px;
  margin-top:3px;
  padding:6px 8px;
  pointer-events:auto;
  border:1px solid var(--map-panel-border);
  border-radius:6px;
  background:var(--surface);
  color:var(--ink);
  font-size:10px;
  font-weight:600;
  line-height:1.25;
  white-space:nowrap;
}
html[data-accent-style] .map-telemetry .map-lap-details .icon {width:13px;height:13px}
html[data-accent-style] .map-telemetry .map-lap-details:hover {border-color:var(--secondary);background:var(--surface-alt)}

/* A softer light palette: off-white surfaces, neutral grey canvas, legible ink. */
html[data-theme="light"] {
  --canvas:#e7e9e8;
  --surface:#f0f1ef;
  --surface-alt:#e4e7e5;
  --surface-raised:#f5f5f2;
  --ink:#242b2f;
  --secondary:#606a70;
  --muted:#626d72;
  --line:#d0d6d3;
  --chart-grid:#d9dedb;
  --chart-mask:#d7dcd9;
  --map-panel:#eeefecf2;
  --map-panel-border:#c5ccc8;
  --map-panel-text:#374148;
  --map-panel-muted:#687279;
}
html[data-theme="light"] :where(.global-nav,.session-rail,.summary-strip,.analysis-card,.chart-card,.sector-cell,.back-button,.lap-number,.metric-select,.lap-video-card,.custom-sector-card,dialog,kbd) {background:var(--surface);border-color:var(--line)}
html[data-theme="light"] :where(.button:not(.primary):not(.engaged):not(.ai-coach-button),.field select,.field input,.field textarea,.filter-row select,.custom-name input,.offset-controls>button:not(.button),.graph-zoom-toolbar button) {background:var(--surface);border-color:var(--line)}
html[data-theme="light"] :where(.button:not(.primary):not(.engaged):not(.ai-coach-button):hover,.back-button:hover) {background:var(--surface-alt)}
html[data-theme="light"] :where(.segmented button.active,.event-type-toggles button[aria-pressed="true"]) {background:var(--surface-raised)}
html[data-theme="light"] .map-wrap {background:#e1e3e4}
html[data-theme="light"] .map-wrap.layer-none {background:var(--surface)}
html[data-theme="light"] .map-wrap[data-map-style="precision"] {--map-sheet:#e3e5e6;--map-edge:#bac0c4;--map-road:#d3d7da;background:radial-gradient(ellipse at 65% 45%,#f1f2f355,transparent 65%),var(--map-sheet)}
html[data-theme="light"] .map-wrap[data-map-style="precision"].layer-none {background:var(--surface)}
html[data-theme="light"] :is(.catalog-gate-label,.catalog-corner-label) rect {fill:#eef0f1ee;stroke:#bdc3c7}

/* Combined analysis controls remain subordinate to lap selection. */
#combined-session-controls {margin-top:14px;padding:12px 0 0;border-top:1px solid var(--line);flex:none}
.combine-sessions-panel {margin:0;padding:0}
.combine-sessions-panel .modal-intro {margin-top:0}
.combine-sessions-panel .combined-session-warning {margin-top:17px}
.combine-sessions-panel .modal-actions {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px}
.combine-session-options {max-height:330px;overflow:auto;overscroll-behavior:contain;padding:1px 3px 3px 1px}
.combine-sessions-button {display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;border:1px solid color-mix(in srgb,var(--secondary) 30%,var(--line));border-radius:7px;background:var(--surface-alt);color:var(--ink);font-size:11px;font-weight:600;padding:8px}
.combine-sessions-button .icon {width:15px;height:15px}
.combine-sessions-button:hover {border-color:var(--secondary);background:var(--surface-raised)}
.combined-session-summary {font-size:10px;line-height:1.5;color:var(--secondary);margin:0 2px 9px}
.combined-session-summary strong {font-weight:600;color:var(--ink);display:block}
.combined-session-summary>span {display:block;margin-top:3px}
.lap-source-label {font-size:9px!important;letter-spacing:0!important;color:var(--muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:125px}
.combine-session-option {display:flex;align-items:center;gap:13px;width:100%;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:left;margin-top:9px;color:var(--ink);cursor:pointer}
.combine-session-option:hover {border-color:var(--secondary);background:var(--surface-alt)}
.combine-session-option:has(input:checked) {border-color:color-mix(in srgb,var(--secondary) 45%,var(--line));background:var(--surface-alt)}
.combine-session-option>span {min-width:0;flex:1}
.combine-session-option strong {font-size:14px;font-weight:600;display:block}
.combine-session-option small {font-size:11px;color:var(--secondary);line-height:1.5;display:block;margin-top:5px}
.combine-session-option>b {font-size:18px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.combine-session-option>b small {font-size:10px;font-weight:450;letter-spacing:0}
.combine-session-option input {accent-color:var(--red);width:17px;height:17px;flex:none}
.combined-session-warning {display:block;margin:0 0 17px;padding:12px 14px;border:1px solid color-mix(in srgb,#b78b43 40%,var(--line));border-radius:9px;background:color-mix(in srgb,#b78b43 9%,var(--surface));color:var(--ink);font-size:12px;line-height:1.6}
.combined-session-warning>.icon {color:#bc924f;width:19px;height:19px;margin-top:2px}
.combined-session-warning strong {font-size:12px;display:block;font-weight:650;margin-bottom:3px}
.combined-session-warning p {margin:0;color:var(--secondary)}
#combine-session-error {color:var(--red);font-size:12px;line-height:1.5}
.app-shell.rail-collapsed .session-rail>#combined-session-controls {display:block;width:100%;padding-top:10px}
.rail-collapsed #combined-session-controls .combined-session-summary,.rail-collapsed .combine-sessions-button>span {display:none}
.rail-collapsed .combine-sessions-button {width:38px;min-height:36px;margin:auto;padding:8px}
#combine-session-mobile {display:none}
@media(max-width:850px) {#combine-session-mobile {display:inline-flex}.sector-times-label {flex-direction:row;gap:7px;align-items:baseline}}
@media(max-width:560px) {.sector-times-label {width:100%;font-size:10px}.combined-session-warning {padding:11px;font-size:11px}.combine-session-option {padding:12px 10px;gap:9px}.combine-session-option strong {font-size:12px}.combine-session-option small {font-size:10px}.combine-session-option>b {font-size:15px}.combine-sessions-panel .modal-actions {justify-content:stretch}.combine-sessions-panel .modal-actions>.button {flex:1 1 auto}}


/* revision38.css */
/* Keep the readouts and their details action visually separate. */
html[data-accent-style] .map-wrap .map-telemetry {
  display:flex!important;flex-direction:column;gap:8px;padding:0!important;
  background:none!important;border:0!important;box-shadow:none!important;
  backdrop-filter:none!important;border-radius:0;
}
html[data-accent-style] .map-telemetry>.map-telemetry-readings {
  width:100%;margin:0;padding:12px 14px;box-sizing:border-box;
  background:var(--map-panel);border:1px solid var(--map-panel-border);
  border-radius:8px;box-shadow:0 3px 12px #11182708;backdrop-filter:blur(10px);
}
.map-telemetry-readings>.map-data-row {margin-bottom:10px}
.map-telemetry-readings>.map-data-row:last-child {margin-bottom:0}
html[data-accent-style] .map-telemetry .map-lap-details {
  margin:0;min-height:33px;background:var(--map-panel);border-radius:7px;
  font-size:11px;box-shadow:0 2px 5px #0000000a;backdrop-filter:blur(10px);
}
html[data-accent-style] .map-telemetry .map-lap-details .icon {width:14px;height:14px}
html[data-accent-style] .map-wrap.is-range-focused.focus-narrow .map-telemetry-readings {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 9px;
}
.focus-view .map-wrap:not(.expanded) .map-telemetry-readings {padding:8px 10px}
@media(max-width:560px) {html[data-accent-style] .map-telemetry>.map-telemetry-readings {padding:10px}}

/* Attribution stays centered at the bottom in normal and full-screen maps. */
html[data-accent-style] .map-wrap .map-attribution {
  text-align:center;left:18px!important;right:18px!important;
  width:auto;max-width:none;transform:none;
}

/* The label travels with the sector chips when the Review toolbar wraps. */
.review-sector-timing {display:flex;align-items:center;gap:10px;margin-left:auto;padding-left:12px;border-left:1px solid var(--line);min-width:0}
.review-sector-timing .sector-times-label {margin:0;white-space:nowrap;width:auto;flex-direction:column;gap:3px;align-items:flex-start}
.review-sector-timing .review-sector-strip {margin:0;padding:0;border:0}
@media(max-width:1400px) {.review-sector-timing {margin-left:0;padding-left:0;border:0}}
@media(max-width:560px) {.review-sector-timing {width:100%;gap:8px}.review-sector-timing .review-sector-strip {display:flex;flex:1;width:auto;gap:5px}.review-sector-timing .review-sector-chip {flex:1 1 63px}.review-sector-timing .sector-times-label {font-size:9px}}

/* A deliberate acknowledgement above the existing session picker. */
.combined-conditions-dialog {
  width:min(530px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);
  padding:0;border:1px solid color-mix(in srgb,#b78b43 48%,var(--line));
  border-radius:15px;background:var(--surface);color:var(--ink);box-shadow:0 28px 90px #0006;
}
.combined-conditions-dialog::backdrop {background:rgb(12 13 15 / 50%);backdrop-filter:blur(3px)}
.combined-conditions-content {padding:27px}
.combined-conditions-icon {display:grid;place-items:center;width:43px;height:43px;margin-bottom:17px;border:1px solid color-mix(in srgb,#b78b43 38%,var(--line));border-radius:11px;background:color-mix(in srgb,#b78b43 13%,var(--surface));color:#aa7527}
html[data-theme="dark"] .combined-conditions-icon {color:#e5b467}
.combined-conditions-icon .icon {width:25px;height:25px;stroke-width:1.7}
#combined-conditions-title {margin:0 0 13px;font-size:21px;line-height:1.3;letter-spacing:-.35px;font-weight:650}
#combined-conditions-message {margin:0;color:var(--secondary);font-size:14px;line-height:1.7}
.combined-conditions-actions {display:flex;justify-content:flex-end;margin-top:24px}
.combined-conditions-actions .button {min-height:40px;padding:10px 21px;font-size:13px}
@media(max-width:560px) {.combined-conditions-content {padding:22px}#combined-conditions-title {font-size:19px}#combined-conditions-message {font-size:13px}.combined-conditions-actions .button {width:100%}}


/* controls39.css */
/* Give source identity and its original lap number independent, readable space. */
.consistency-table tbody th>.consistency-lap-link {
  width:auto;min-width:50px;gap:7px;margin-right:9px;padding:3px 2px;
  justify-content:flex-start;white-space:nowrap;line-height:1.25;
}
.consistency-table:has(.consistency-source-badge) th:first-child {
  min-width:250px;padding-left:12px;padding-right:12px;
}
.consistency-table tbody th>.consistency-lap-link:has(.consistency-source-badge) {
  min-width:105px;margin-right:10px;
}
.consistency-source-badge {
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  min-width:35px;min-height:22px;box-sizing:border-box;padding:4px 6px;
  border:1px solid var(--line);border-radius:5px;background:var(--surface-alt);
  color:var(--secondary);font-size:10px;font-weight:600;line-height:1;
}
.consistency-lap-number {display:inline-block;min-width:38px;font-variant-numeric:tabular-nums}
.consistency-table .consistency-lap-link:focus-visible {outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.timeline-svg.timeline-with-sources {height:166px}
.timeline-source-label rect {fill:var(--surface-alt);stroke:var(--line);stroke-width:1}
.timeline-source-label text {fill:var(--secondary);font-size:9px;font-weight:600}
.timeline-with-sources .timeline-lap-label {font-size:10px}
.timeline-point.selected .timeline-source-label rect {stroke:var(--blue)}
.timeline-point.selected .timeline-source-label text {fill:var(--ink)}
.timeline-point.excluded .timeline-source-label {opacity:.5}
/* A hidden acknowledgement is absent even when theme styles force block boxes. */
#combine-acknowledged-warning[hidden] {display:none!important}


/* map-sidebar39.css */
/* Keep vector edges anti-aliased at high zoom, including ordinary racing lines. */
#circuit-svg{shape-rendering:geometricPrecision}
#circuit-svg :is(.catalog-surface,.track-edge,#track-road,#track-line-a,#track-line-b,.line-halo,.precision-line-core,.acceleration-zone){shape-rendering:geometricPrecision;stroke-linejoin:round;stroke-linecap:round}
#circuit-svg .track-edge{filter:none}
/* A hairline below one screen pixel flickers at diagonals; a fine 1px edge is
   stable at every map magnification through non-scaling-stroke. */
#circuit-svg .catalog-asphalt{stroke-width:1;stroke-opacity:.78}
@media(min-width:851px){
 .app-shell>.session-rail{overflow-anchor:none;transition:none}
 .session-rail :is(#lap-list,#comparison-lap-list){overflow-anchor:none;scrollbar-gutter:stable;scroll-behavior:auto}
}


/* graph-header41.css */
/* Header geometry depends on the card width, never on the current digits or sign. */
#graphs .chart-card{container-type:inline-size;container-name:telemetry-card}
#graphs .chart-head{display:grid;grid-template-columns:minmax(84px,max-content) auto 13px minmax(0,1fr);column-gap:7px;row-gap:4px;align-items:center;min-height:34px}
#graphs .chart-head .metric-select{grid-column:1;grid-row:1;min-width:0;max-width:100%}
#graphs .chart-head .chart-unit{grid-column:2;grid-row:1;white-space:nowrap}
#graphs .chart-head .metric-help{grid-column:3;grid-row:1}
#graphs .chart-head .chart-readouts{grid-column:4;grid-row:1;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px;margin-left:0;min-width:0;max-width:none;min-height:16px;line-height:16px}
#graphs .chart-readouts>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Comparison cards share a second value row when the controls and both laps
   cannot reliably fit together. The same row is reserved for Time difference. */
@container telemetry-card (max-width:520px){
 #graphs:has(.chart-readouts>[data-value-b]) .chart-head .chart-readouts{grid-column:1/-1;grid-row:2}
}
@container telemetry-card (max-width:400px){
 #graphs .chart-head .chart-readouts{grid-column:1/-1;grid-row:2}
}
/* A pinned label is still part of the plot's hit area. Only its explicit
   unpin button intercepts input, so a new drag can begin under either value. */
#graphs .chart-value-tooltip.cursor-pinned{pointer-events:none}
#graphs .chart-value-tooltip [data-unpin]{pointer-events:auto}


/* visual39.css */
/* Light mode: a clear pearl surface over a cooler, lower-luminance canvas.
   The slight surface/canvas separation keeps white out of large page areas. */
html[data-theme="light"] {
  --canvas:#e9edf2;
  --surface:#f7f8fa;
  --surface-alt:#eaf0f5;
  --surface-raised:#fafbfd;
  --ink:#25303d;
  --secondary:#566477;
  --muted:#667386;
  --line:#d1d9e3;
  --chart-grid:#dce3eb;
  --chart-mask:#d8e1eb;
  --map-panel:#f5f8fbee;
  --map-panel-border:#c5d0dd;
  --map-panel-text:#34465c;
  --map-panel-muted:#61728a;
}
html[data-theme="light"][data-accent-style="frosted"] #product-workspace {
  --accent-glass:linear-gradient(135deg,#fafbfded,#eef3f9eb);
  --accent-glass-edge:#ffffffbd;
  --accent-glass-border:#cbd6e3;
  --accent-glass-shadow:0 4px 15px #2447670b,inset 0 1px 0 #ffffffb3;
  background:radial-gradient(ellipse at 88% 4%,#d7e5f775,transparent 46%),linear-gradient(145deg,#e6ebf2,#eff2f6 55%,#e3eaf2);
}
html[data-theme="light"] :is(.session-library-row,.drag-library-row,.review-dock) {
  border-color:var(--line);
  box-shadow:0 3px 12px #24476707,inset 0 1px 0 #ffffffa3;
}
html[data-theme="light"] :is(.map-wrap,.map-wrap[data-map-style="precision"]) {
  --map-sheet:#e8edf4;
  --map-edge:#aebdce;
  --map-road:#d0dbe7;
  background:radial-gradient(ellipse at 60% 35%,#f6f9fc99,transparent 70%),var(--map-sheet);
}
html[data-theme="light"] .map-wrap.layer-none,
html[data-theme="light"] .map-wrap[data-map-style="precision"].layer-none {
  background:linear-gradient(145deg,#edf2f8,#e7edf5);
}
html[data-theme="light"] :is(.catalog-gate-label,.catalog-corner-label) rect {fill:#f5f8fbed;stroke:#bfccd9}
html[data-theme="light"] :is(.map-small,.map-telemetry-readings,.map-lap-details,.event-legend,.map-option-toggles) {box-shadow:0 2px 8px #243c5410}
html[data-theme="light"] #review-dock .review-tool {background:#eef2f7;border-color:#c6d2df;box-shadow:inset 0 1px 0 #ffffff9e,0 2px 5px #243c5407}
html[data-theme="light"] #review-dock .review-tool:hover {background:#e5edf6;border-color:#a7b8ce}

/* Close controls use a geometric mark, not a font-dependent multiplication
   glyph. Existing SVG controls use the same centred grid and dimensions. */
:is(#exit-map-focus,#quick-stop-compare,#rail-stop-compare,#cancel-custom-sector,#development-close,.comparison-close,.modal-close,.close-chart,.review-close,[data-unpin],[data-tour-close],[data-demo-revoke],[data-custom-remove]) {
  display:inline-grid;
  place-items:center;
  align-content:center;
  justify-content:center;
  flex-shrink:0;
  padding:0!important;
  gap:0;
  line-height:1!important;
  text-align:center;
}
:is(#exit-map-focus,#quick-stop-compare,#rail-stop-compare,#cancel-custom-sector,#development-close,.comparison-close,.modal-close,.close-chart,[data-unpin],[data-tour-close],[data-demo-revoke],[data-custom-remove]):not(:has(svg.icon)) {
  font-size:0!important;
}
:is(#exit-map-focus,#quick-stop-compare,#rail-stop-compare,#cancel-custom-sector,#development-close,.comparison-close,.modal-close,.close-chart,[data-unpin],[data-tour-close],[data-demo-revoke],[data-custom-remove]):not(:has(svg.icon))::before {
  content:"";
  display:block;
  width:18px;
  height:18px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events:none;
}
:is(#exit-map-focus,#quick-stop-compare,#rail-stop-compare,#cancel-custom-sector,#development-close,.comparison-close,.modal-close,.close-chart,.review-close,[data-unpin],[data-tour-close],[data-demo-revoke],[data-custom-remove])>.icon {
  display:block;
  width:18px;
  height:18px;
  margin:0;
  flex:none;
  transform:none;
  stroke-width:1.8;
}
#map-focus-badge #exit-map-focus>.icon {width:20px;height:20px}
.development-topline #development-close>span {display:none}
.modal-close,#cancel-custom-sector,[data-tour-close] {width:32px;height:32px;min-width:32px}
.comparison-close {width:28px;height:28px;min-width:28px}
.chart-value-tooltip [data-unpin]>.icon,
.chart-value-tooltip [data-unpin]::before {width:13px;height:13px}
.video-overlay-button:not(:has(>span)) {display:inline-grid;place-items:center;padding:0;line-height:1}
.video-overlay-button>.icon {display:block;margin:0}

/* Tool selection and sector timing occupy independent columns. Selecting a
   section expands only the tools column, preserving the sector controls' row. */
#review-dock {container:review-layout / inline-size}
#review-dock .review-toolbar {
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  column-gap:16px;
  row-gap:10px;
  align-items:start;
}
#review-dock .review-analysis-controls {width:max-content;max-width:100%;min-width:0}
#review-dock .review-tools-row {display:grid;grid-template-columns:auto repeat(3,164px);align-items:center;gap:10px}
#review-dock .review-tools-row>h2 {width:auto;margin:0 5px 0 0;flex:none}
#review-dock .review-selection-slot:has(.review-active-section:not([hidden])) {margin-top:8px}
#review-dock .review-active-section {
  width:100%;
  margin:0;
  padding:0;
  min-width:0;
  gap:9px;
  justify-content:flex-start;
  align-items:center;
}
#review-dock .review-active-section>span {min-width:0;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#review-dock #review-clear-selection {flex:none;min-height:32px}
#review-dock #sector-summary {min-width:0;width:100%;align-self:start;justify-content:flex-end}
@container review-layout (max-width:1240px) {
  #review-dock .review-toolbar {grid-template-columns:minmax(0,1fr)}
  #review-dock .review-selection-slot {min-height:33px;margin-top:8px}
  #review-dock #sector-summary {justify-content:flex-start}
  #review-dock .review-sector-timing {margin-left:0;padding-left:0;border:0}
}
@container review-layout (max-width:650px) {
  #review-dock .review-analysis-controls {width:100%}
  #review-dock .review-tools-row {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #review-dock .review-tools-row>h2 {grid-column:1/-1;margin:0}
  #review-dock .review-tool,#review-dock .review-tool.review-opportunities {width:auto;min-width:0}
}

/* Keep Custom sector consistent with the neutral Review controls. */
#review-dock #create-sector {
  min-height:36px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--surface);
  color:var(--secondary);
  font-weight:650;
  font-size:11px;
  box-shadow:inset 0 1px 0 #ffffff10;
}
#review-dock #create-sector:hover {
  background:var(--surface-alt);
  border-color:var(--muted);
}
@media(max-width:560px) {
  #review-dock .review-active-section {gap:7px}
  #review-dock .review-active-section>span {font-size:10px}
  #review-dock #review-clear-selection {font-size:10px;padding:7px 9px}
}

/* During section replay, keep controls inside one stable left readout column.
   Narrow maps already use horizontal top/bottom bands, which stay unchanged. */
#map-wrap.is-range-focused:not(.focus-narrow) {
  --focus-column-width:188px;
  --focus-column-left:20px;
}
html[data-accent-style] #map-wrap.is-range-focused:not(.focus-narrow) .map-telemetry {
  left:var(--focus-column-left)!important;
  right:auto!important;
  width:var(--focus-column-width)!important;
}
#map-wrap.is-range-focused:not(.focus-narrow) .event-legend {
  left:var(--focus-column-left);
  right:auto;
  width:var(--focus-column-width);
  max-width:var(--focus-column-width);
}
#map-wrap.is-range-focused:not(.focus-narrow) .event-type-toggles {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#map-wrap.is-range-focused:not(.focus-narrow) .event-type-toggles button {
  min-width:0;
  min-height:30px;
  padding:5px;
  gap:5px;
  font-size:11px;
}
#map-wrap.is-range-focused:not(.focus-narrow) .event-type-toggles button:last-child {grid-column:1/-1}
#map-wrap.is-range-focused:not(.focus-narrow) .event-lap-picker {flex-wrap:wrap;padding-inline:2px}
#map-wrap.is-range-focused:not(.focus-narrow) .event-lap-picker>small {
  flex-basis:100%;
  margin:0;
  padding-top:1px;
  white-space:normal;
}

/* Focus view can use a 280px canvas. Its selected-section controls must fit
   above and below one another without taking height away from the graphs. */
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .map-telemetry {
  top:14px!important;
  padding:0!important;
  gap:6px;
}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .map-telemetry-readings {padding:8px 9px}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .map-data-head {
  grid-template-columns:repeat(2,minmax(0,1fr));
  justify-content:stretch;
  gap:8px;
  min-height:0;
  margin:0 0 5px!important;
  padding-bottom:5px;
}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .map-data-head>span {
  min-width:0;
  font-size:9px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .map-data-row {
  grid-template-columns:56px repeat(2,minmax(0,1fr));
  column-gap:6px;
}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .map-lap-details {min-height:30px}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .event-legend {padding:4px;gap:3px}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .event-type-toggles {grid-template-columns:repeat(3,minmax(0,1fr))}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .event-type-toggles button {
  grid-column:auto;
  min-height:28px;
  padding:4px 2px;
  gap:3px;
  font-size:0;
}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .event-type-toggles button::after {font-size:10px}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) [data-event-kind="brake"]::after {content:"Braking"}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) [data-event-kind="turn"]::after {content:"Turn-in"}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) [data-event-kind="accel"]::after {content:"Accel."}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .event-type-toggles i {width:8px;height:8px}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .event-lap-picker {padding:3px 0 0}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) .event-lap-picker>small {display:none}
.focus-view #map-wrap.is-range-focused:not(.expanded):not(.focus-narrow) #map-focus-badge {
  left:220px;
  right:auto;
  top:16px;
  transform:none;
}

/* Long source labels wrap within the two narrow-screen summary columns. */
@media(max-width:560px) {
  .summary-strip {grid-template-columns:repeat(2,minmax(0,1fr))}
  .summary-strip>div {min-width:0}
  .summary-strip strong {min-width:0;flex-wrap:wrap;row-gap:4px}
  .summary-strip :is(.theoretical-session,.best-pill) {min-width:0;max-width:100%;white-space:normal}
}


/* revision39.css */
.lap-detail-table-wrap {overflow:auto;border:1px solid var(--line);border-radius:9px}
.lap-detail-table {width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.lap-detail-table caption {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.lap-detail-table :is(th,td) {padding:12px 14px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.lap-detail-table th {font-weight:550}
.lap-detail-table tr:last-child>* {border-bottom:0}
.lap-detail-table :is(th,td):first-child {text-align:left}
.lap-detail-table th:first-child {white-space:normal}
.lap-detail-table thead {background:var(--surface-alt)}
.lap-detail-table thead th>span {display:block;font-size:11px}
.lap-detail-table thead b {display:block;margin-top:6px;font-size:17px;font-weight:600}
.lap-detail-table th small {display:block;margin-top:4px;color:var(--secondary);font-weight:400;font-size:10px}
.lap-detail-table .detail-lap-a {color:var(--blue)}
.lap-detail-table .detail-lap-b {color:var(--red)}
@media(max-width:560px) {.lap-detail-table :is(th,td) {padding:10px 8px;font-size:11px}.lap-detail-table thead b {font-size:15px}}


/* home-loading42.css */
/* The real Home screen is the loading state; entering waits for verified data. */
.startup-spinner{display:none;width:17px;height:17px;flex:0 0 17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;box-sizing:border-box}
[data-startup=loading] #home-enter .startup-spinner{display:inline-block;animation:startup-spin .8s linear infinite}
[data-startup=loading] #home-enter>.icon,[data-startup=loading] #home-enter>[data-icon]{display:none}
#home-enter:disabled{cursor:wait;opacity:.64;box-shadow:none}
[data-startup=error] #home-enter:disabled{cursor:not-allowed}
.home-copy .home-loading-status{margin-top:12px;max-width:390px}
.home-copy .home-loading-status p{font-size:12px;line-height:1.5;margin:0;color:var(--secondary)}
.home-loading-status #startup-retry{margin-top:10px}
[data-startup=error] .home-loading-status p{color:var(--red)}
[data-home-style=panorama] .home-loading-status{margin-inline:auto}
@keyframes startup-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){[data-startup=loading] #home-enter .startup-spinner{animation:none}}

