*,*:before,*:after{box-sizing:border-box}*{margin:0}button{color:inherit}button,[role=button]{cursor:pointer}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}img,svg{display:block}img,video{max-width:100%;height:auto}:root{--bg: #0f1117;--bg-surface: #1a1d27;--bg-hover: #252833;--border: #2e3140;--text: #e4e6ed;--text-muted: #8b8fa3;--accent: #4f8ff7;--accent-hover: #3a7de8;--success: #4ade80;--warning: #fbbf24;--danger: #f87171;--nav-height: 52px}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text)}body{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.nav{display:flex;align-items:center;gap:2rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-surface)}.nav-brand{font-size:1.25rem;font-weight:700;color:var(--text);text-decoration:none}.nav-link{color:var(--text-muted);text-decoration:none;font-size:.9rem}.nav-link:hover{color:var(--text)}.unit-toggle{font-size:.7rem;padding:.2rem .5rem;border:1px solid var(--border);border-radius:.25rem;background:transparent;color:var(--text-muted);cursor:pointer;margin-left:auto}.unit-toggle:hover{background:var(--bg-hover);color:var(--text)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;border:1px solid var(--border);background:var(--bg-surface);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn:hover{background:var(--bg-hover)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--bg-hover);border-color:var(--border)}.btn-danger{border-color:var(--danger);color:var(--danger)}.upload-zone{border:2px dashed var(--border);border-radius:.75rem;padding:3rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:#4f8ff70d}.upload-zone h3{font-size:1.125rem;margin-bottom:.5rem}.upload-zone p{color:var(--text-muted);font-size:.875rem}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.table tr:hover td{background:var(--bg-hover)}.session-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.session-card:hover{background:var(--bg-hover)}.session-card:last-child{border-bottom:none}.session-meta{display:flex;gap:1.5rem;color:var(--text-muted);font-size:.875rem}.text-muted{color:var(--text-muted)}.text-sm{font-size:.875rem}.font-bold{font-weight:700}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.grid{display:grid}.hidden{display:none}.progress-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);transition:width .3s}.progress-bar-fill-indeterminate{background:linear-gradient(90deg,var(--border) 0%,var(--accent) 50%,var(--border) 100%);background-size:200% 100%;animation:progress-indeterminate 1.2s linear infinite}@keyframes progress-indeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.upload-status-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.875rem}.upload-status-stage{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-status-pct{font-variant-numeric:tabular-nums;color:var(--text-muted)}.upload-status-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.5rem;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.upload-status-detail{font-variant-numeric:normal}.upload-parse-overlay{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.upload-error{color:var(--danger);font-size:.875rem}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-valid{background:#4ade8026;color:var(--success)}.badge-invalid{background:#f8717126;color:var(--danger)}.badge-outlap{background:#fbbf2426;color:#fbbf24}.badge-incomplete{background:#94a3b826;color:#94a3b8}.badge-off-track{background:#ef444426;color:#ef4444}.lap-selector-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.lap-selector-title{font-weight:600;font-size:.875rem}.lap-selector-compare-btn{font-size:.7rem;padding:.2rem .5rem;border-radius:.25rem;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer}.lap-selector-compare-btn:hover{background:var(--bg-hover);color:var(--text)}.lap-selector-compare-btn.active{background:#4f8ff733;border-color:#4f8ff7;color:#4f8ff7}.lap-selector-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;cursor:pointer;border-bottom:1px solid var(--border)}.lap-selector-row:hover,.lap-selector-row.selected{background:var(--bg-hover)}.lap-selector-num{min-width:3rem}.lap-selector-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.lap-score-badge{font-size:.65rem;font-weight:700;min-width:1.75rem;text-align:center;padding:.1rem .3rem;border-radius:.2rem;background:color-mix(in srgb,var(--score-color) 20%,transparent);color:var(--score-color);flex-shrink:0}.lap-score-panel{display:flex;gap:.5rem;flex-wrap:wrap}.lap-score-item{flex:1;min-width:5rem;padding:.5rem;border-radius:.375rem;background:var(--bg-hover);text-align:center}.lap-score-item-label{font-size:.65rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.lap-score-item-value{font-size:1.25rem;font-weight:700}.lap-score-bar{height:3px;border-radius:2px;margin-top:.25rem;background:var(--border);overflow:hidden}.lap-score-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.corner-analysis-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.corner-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;cursor:pointer;font-size:.8rem;border-bottom:1px solid var(--border)}.corner-row:hover{background:var(--bg-hover)}.corner-number{font-weight:600;min-width:2rem}.corner-direction{font-size:.9rem}.corner-detail{padding:.5rem .75rem;background:var(--bg-hover);border-bottom:1px solid var(--border)}.corner-nav-btn{font-size:.65rem;padding:.15rem .4rem;margin-bottom:.4rem;border:1px solid var(--border);border-radius:.2rem;background:transparent;color:var(--text-muted);cursor:pointer}.corner-nav-btn:hover{background:var(--bg);color:var(--text)}.corner-stats-table{width:100%;font-size:.7rem;border-collapse:collapse}.corner-stats-table th{text-align:left;color:var(--text-muted);font-weight:500;padding:.15rem .3rem;border-bottom:1px solid var(--border)}.corner-stats-table td{padding:.15rem .3rem}.corner-issues{margin-top:.4rem;font-size:.65rem;color:#f87171}.compare-table{width:100%;font-size:.75rem;border-collapse:collapse}.compare-table th{text-align:left;color:var(--text-muted);font-weight:500;padding:.4rem .5rem;border-bottom:1px solid var(--border);white-space:nowrap}.compare-table td{padding:.35rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}.compare-table tr:hover{background:var(--bg-hover)}.compare-chart-label{font-size:.7rem;color:var(--text-muted);padding:.25rem .5rem 0;font-weight:500;letter-spacing:.02em}.playback-controls{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;margin-top:.5rem}.playback-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--bg-hover);border:1px solid var(--border);color:var(--text);font-size:.85rem;cursor:pointer;transition:background .15s}.playback-btn:hover{background:var(--primary);color:#fff}.playback-speeds{display:flex;gap:.125rem}.playback-speed-btn{padding:.125rem .5rem;font-size:.7rem;border-radius:.25rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .15s}.playback-speed-btn:hover{background:var(--bg-hover);color:var(--text)}.playback-speed-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.bookmark-panel{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.bookmark-chip{display:flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:.375rem;overflow:hidden;font-size:.75rem}.bookmark-chip-jump{padding:.2rem .5rem;background:transparent;border:none;color:var(--text);cursor:pointer;font-size:.75rem;white-space:nowrap}.bookmark-chip-jump:hover{background:var(--bg-hover)}.bookmark-chip-delete{padding:.2rem .375rem;background:transparent;border:none;border-left:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:.75rem;line-height:1}.bookmark-chip-delete:hover{color:var(--danger);background:var(--bg-hover)}.bookmark-chip-input{background:var(--bg);border:1px solid var(--accent);border-radius:.2rem;color:var(--text);font-size:.75rem;padding:0 .25rem;width:6rem;outline:none}.keyboard-help-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.keyboard-help-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;min-width:280px;max-width:360px}.keyboard-help-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;font-weight:600;font-size:.9rem}.keyboard-help-close{background:none;border:none;color:var(--text-muted);font-size:1.25rem;line-height:1;padding:0;cursor:pointer}.keyboard-help-close:hover{color:var(--text)}.keyboard-help-grid{display:flex;flex-direction:column;gap:.5rem}.keyboard-help-row{display:flex;align-items:center;gap:.75rem}.keyboard-help-key{display:inline-flex;align-items:center;justify-content:center;min-width:4rem;padding:.2rem .5rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;color:var(--text)}.keyboard-help-desc{font-size:.8rem;color:var(--text-muted)}.zoom-event-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:.375rem;margin-bottom:.5rem;overflow:hidden}.zoom-event-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.zoom-event-header:hover{background:var(--bg-hover)}.zoom-event-title{font-size:.8rem;font-weight:600;color:var(--text)}.zoom-event-list{max-height:200px;overflow-y:auto;padding-top:4px}.zoom-event-item{display:flex;flex-direction:column;gap:.15rem;padding:.35rem .75rem;border-left:2px solid transparent;font-size:.75rem;border-bottom:1px solid var(--border)}.zoom-event-item-row{display:flex;align-items:center;gap:.5rem}.zoom-event-time{color:var(--text-muted);font-size:.65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;flex-shrink:0;min-width:110px}.zoom-event-desc{color:var(--text-muted);font-size:.65rem;padding-left:14px;line-height:1.3}.zoom-event-item:last-child{border-bottom:none}.zoom-event-empty{padding:.75rem;color:var(--text-muted);font-size:.75rem;text-align:center}.zoom-event-item:hover{background:var(--bg-hover)}.zoom-event-item--highlighted{background:#4f8ff71a;border-left-color:var(--accent)}.zoom-event-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.zoom-event-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zoom-event-severity{font-size:.75rem;font-weight:600}.zoom-event-severity--info{color:var(--accent)}.zoom-event-severity--warning{color:var(--warning)}.zoom-event-severity--critical{color:var(--danger)}.zoom-event-peak{color:var(--text-muted);font-size:.7rem;white-space:nowrap}.zoom-event-group{border-bottom:1px solid var(--border)}.zoom-event-group:last-child{border-bottom:none}.zoom-event-group-header{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;cursor:pointer;font-size:.7rem}.zoom-event-group-header:hover{background:var(--bg-hover)}.zoom-event-group-count{font-size:.6rem;font-weight:600;background:#ffffff14;padding:.05rem .35rem;border-radius:.5rem;color:var(--text-muted);white-space:nowrap}.zoom-event-group-chevron{font-size:.5rem;color:var(--text-muted);transition:transform .15s;flex-shrink:0}.zoom-event-group-chevron.expanded{transform:rotate(90deg)}.zoom-event-group-children{padding-left:.75rem;border-left:2px solid var(--border);margin-left:.75rem}.zoom-event-group-children .zoom-event-item{padding:.25rem .5rem}.event-count-dot{display:inline-flex;align-items:center;gap:.125rem;font-size:.75rem;color:var(--dot-color, #888);white-space:nowrap}.event-count-dot:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--dot-color, #888);flex-shrink:0}.track-map{background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;overflow:clip;position:relative}.track-map-tooltip{background:color-mix(in srgb,var(--bg-surface) 92%,transparent);border:1px solid var(--border);border-radius:.375rem;padding:.25rem .5rem;font-size:.7rem;color:var(--text);white-space:nowrap;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.track-map-tooltip-row{display:flex;align-items:center;gap:.375rem;padding:.1rem .25rem;margin:0 -.25rem;border-radius:.25rem;opacity:.6}.track-map-tooltip-row.active{opacity:1}.track-map-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.track-map-main .track-map{aspect-ratio:4 / 3;max-height:400px}.track-map-heatmap-controls{position:absolute;top:.375rem;left:.375rem;display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:color-mix(in srgb,var(--bg-surface) 85%,transparent);border-radius:.25rem;z-index:4}.track-map-controls{position:absolute;bottom:.375rem;left:.375rem;display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:color-mix(in srgb,var(--bg-surface) 85%,transparent);border-radius:.25rem;z-index:3}.track-map-controls:empty{display:none}.track-map-channel-select{background:var(--bg);border:1px solid var(--border);border-radius:.25rem;color:var(--text);font-size:.7rem;min-width:0;padding:.2rem .375rem;cursor:pointer;outline:none}.track-map-channel-select:focus{border-color:var(--accent)}.track-map-text-btn{appearance:none;background:var(--bg-surface);border:1px solid var(--border);border-radius:.25rem;color:var(--text-muted);font-size:.65rem;padding:.15rem .375rem;cursor:pointer;white-space:nowrap}.track-map-text-btn:hover{color:var(--text);border-color:var(--accent)}.track-map-legend{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0}.track-map-legend-label{font-size:.6rem;color:var(--text-muted);white-space:nowrap}.track-map-legend-bar{width:48px;height:6px;border-radius:3px;background:linear-gradient(to right,#3b82f6,#06b6d4,#22c55e,#eab308,#ef4444)}.track-map .maplibregl-ctrl-bottom-right{z-index:2}.track-map .maplibregl-ctrl-scale{background:color-mix(in srgb,var(--bg-surface) 80%,transparent);border-color:var(--text-muted);color:var(--text-muted);font-size:.65rem;line-height:1;padding:1px 4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.session-page{padding:.75rem 1rem;height:calc(100vh - var(--nav-height, 52px));display:flex;flex-direction:column;overflow:hidden}.session-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-shrink:0}.session-view-layout{display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0;overflow:hidden}.session-hero{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.session-grid-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.session-grid-container .grid-stack-item-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:.375rem;overflow:hidden;display:flex;flex-direction:column}.gs-widget-header{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:.25rem .5rem;background:var(--bg-surface);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.gs-widget-header:active{cursor:grabbing}.gs-widget-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.session-grid-container .gs-resize-handle{z-index:5}.gs-widget-body .hero-analysis-scroll{flex:1;overflow-y:auto;min-height:0}.gs-widget-body .hero-analysis-scroll .insights-panel{border:none;border-radius:0}.gs-widget-body .hero-analysis-scroll .insights-panel-body{max-height:none}.gs-widget-body .hero-analysis-footer{flex-shrink:0;border-top:1px solid var(--border)}.gs-widget-body .hero-analysis-footer .event-timeline-detail,.gs-widget-body .hero-analysis-footer .event-focus-header{border-radius:0;border:none}.gs-widget-body .track-map{flex:1;height:100%;border:none;border-radius:0}.charts-widget-inner{display:flex;flex-direction:column;height:100%}.charts-widget-inner .timeline-strip{flex-shrink:0;border-bottom:1px solid var(--border);padding:0 .25rem}.charts-widget-inner .charts-scroll{flex:1;min-width:0;overflow-y:auto;padding:.5rem .5rem .5rem 0;display:flex;flex-direction:column;gap:.5rem;transition:opacity .15s ease}.charts-widget-inner .charts-scroll.charts-loading{opacity:.4;pointer-events:none}.channels-toggle-btn{justify-self:end}.channels-toggle-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.channels-toggle-btn.active:hover{opacity:.85}.sidebar-drawer-scrim{position:fixed;inset:0;background:#0000004d;z-index:200}.session-sidebar--drawer{position:fixed;right:0;top:0;bottom:0;display:flex;flex-direction:column;max-height:100vh;overflow-y:auto;min-width:250px;max-width:600px;padding-left:0;background:var(--bg);border-left:1px solid var(--border);z-index:210;transform:translate(100%);transition:transform .2s ease-out}.session-sidebar--drawer.open{transform:translate(0)}.sidebar-resize-handle{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;background:transparent;z-index:10}.sidebar-resize-handle:after{content:"";position:absolute;left:50%;transform:translate(-50%);top:0;bottom:0;width:2px;border-radius:1px;background:var(--border);transition:background .15s}.sidebar-resize-handle:hover:after{background:var(--accent)}.sidebar-resize-handle:active:after{background:var(--accent)}.sidebar-section-wrapper{flex-shrink:0}.sidebar-section{border:1px solid var(--border);border-radius:.375rem;overflow:clip}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-surface);border-bottom:1px solid var(--border);cursor:pointer;font-size:.8rem;font-weight:600;-webkit-user-select:none;user-select:none;white-space:nowrap;gap:.5rem;position:sticky;top:0;z-index:1}.sidebar-section-header-right{display:flex;align-items:center;gap:.375rem;min-width:0}.sidebar-section-actions{display:flex;align-items:center;gap:.25rem}.sidebar-section-icon-btn{background:none;border:1px solid var(--border);border-radius:.25rem;color:var(--text-muted);cursor:pointer;padding:.1rem .3rem;font-size:.75rem;line-height:1}.sidebar-section-icon-btn:hover{background:var(--bg-hover);color:var(--text)}.panel-header:hover{background:var(--bg-hover)}.sidebar-section-body{padding:.5rem}.sidebar-section.collapsed .panel-header,.insights-panel--collapsed .panel-header,.channels-panel--collapsed .panel-header{border-bottom:none}.sidebar-section.collapsed .sidebar-section-body{display:none}.sidebar-section .track-map{height:100%;border:none;border-radius:0}.sidebar-section:has(.track-map) .sidebar-section-body{padding:0}.sidebar-section .car-3d-container{height:100%}.resizable-widget{display:flex;flex-direction:column;min-height:150px;overflow:clip;border:1px solid var(--border);border-radius:.375rem;flex-shrink:0}.resizable-widget-content{flex:1;overflow:visible;min-height:0}.resizable-widget .insights-panel,.resizable-widget .channels-panel{height:100%;display:flex;flex-direction:column}.resizable-widget:has(.insights-panel--collapsed),.resizable-widget:has(.channels-panel--collapsed){min-height:0}.resizable-widget .insights-panel--collapsed,.resizable-widget .channels-panel--collapsed{height:auto}.resizable-widget .insights-panel-body,.resizable-widget .channels-panel-list{flex:1;overflow-y:auto;min-height:0}.resizable-widget .insights-panel,.resizable-widget .channels-panel{border:none;border-radius:0;margin-bottom:0}.session-sidebar--drawer>.channels-panel{flex:1;display:flex;flex-direction:column;min-height:0;border:none;border-radius:0;margin-bottom:0}.session-sidebar--drawer>.channels-panel .channels-panel-list{flex:1;overflow-y:auto;min-height:0}.sidebar-section .channels-panel-container{max-height:400px;overflow-y:auto}.session-compact-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.lap-dropdown-wrapper{position:relative;flex-shrink:0}.lap-dropdown-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;border-radius:.375rem;border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;white-space:nowrap;font-size:.8rem;color:var(--text);transition:background .15s,border-color .15s}.lap-dropdown-trigger:hover{background:var(--bg-hover);border-color:var(--text-muted)}.lap-dropdown-summary{display:flex;align-items:center;gap:.375rem}.lap-dropdown-num{font-weight:600}.lap-dropdown-time{color:var(--text-muted);font-size:.75rem}.lap-dropdown-caret{color:var(--text-muted);font-size:.65rem;margin-left:.25rem}.lap-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 8px 24px #0006;max-height:320px;overflow-y:auto;min-width:280px}.lap-dropdown-table{width:100%;border-collapse:collapse;font-size:.78rem}.lap-dropdown-table thead th{position:sticky;top:0;background:var(--bg-surface);color:var(--text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500;padding:.375rem .5rem;text-align:left;border-bottom:1px solid var(--border)}.lap-dropdown-row{cursor:pointer;transition:background .1s}.lap-dropdown-row:hover{background:var(--bg-hover)}.lap-dropdown-row.selected{background:#4f8ff71a;border-left:2px solid var(--lap-color, var(--accent, #4f8ff7))}.lap-dropdown-row td{padding:.3rem .5rem;white-space:nowrap}.lap-dropdown-check{width:1.5rem;text-align:center;color:var(--accent, #4f8ff7);font-weight:600}.lap-dropdown-num-cell{font-weight:600;width:2rem;text-align:right;padding-right:.75rem!important}.lap-dropdown-time-cell{font-variant-numeric:tabular-nums}.lap-dropdown-delta-cell{font-variant-numeric:tabular-nums;color:var(--text-muted)}.lap-delta-best{color:#a78bfa;font-weight:600}.lap-delta-slower{color:var(--text-muted)}.lap-dropdown-score-cell{font-weight:600;text-align:center}.lap-dropdown-backdrop{position:fixed;inset:0;z-index:99}.compact-scores{display:flex;gap:.5rem;margin-left:auto;flex-shrink:0}.compact-score{display:flex;flex-direction:column;align-items:center;gap:.125rem}.compact-score-label{font-size:.55rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em}.compact-score-value{font-size:.85rem;font-weight:700}.session-compact-header .lap-nav-btns{display:flex;gap:2px;flex-shrink:0}.session-compact-header .lap-nav-btn{font-size:.65rem;padding:.25rem .4rem;border-radius:.25rem;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;line-height:1}.session-compact-header .lap-nav-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.session-compact-header .lap-nav-btn:disabled{opacity:.3;cursor:default}.session-compact-header .compare-btn{font-size:.7rem;padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0}.session-compact-header .compare-btn:hover{background:var(--bg-hover);color:var(--text)}.session-compact-header .compare-btn.active{background:#4f8ff733;border-color:#4f8ff7;color:#4f8ff7}.lap-delta-badge{font-size:.75rem;font-weight:600;padding:.15rem .4rem;border-radius:.25rem;color:var(--danger);background:#f871711f;white-space:nowrap}.lap-delta-badge.lap-delta-improved{color:var(--success);background:#4ade801f}.panel-toolbar{display:flex;gap:.5rem;justify-content:center;padding:.5rem 0}.panel-toolbar-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:.375rem;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;font-size:.8rem;transition:background .15s,border-color .15s}.panel-toolbar-btn:hover{background:var(--bg-hover);color:var(--text)}.panel-toolbar-btn.active{background:var(--bg-hover);border-color:var(--accent, #4f8ff7);color:var(--text)}.panel-overlay-backdrop{position:fixed;inset:0;background:#0006;z-index:900}.panel-overlay{position:fixed;bottom:0;left:0;right:0;max-height:70vh;background:var(--bg);border-top:1px solid var(--border);border-radius:.75rem .75rem 0 0;z-index:901;display:flex;flex-direction:column;overflow:hidden;animation:panel-slide-up .2s ease-out}@keyframes panel-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.panel-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.panel-overlay-header h3{font-size:.9rem;font-weight:600;margin:0}.panel-overlay-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.25rem;padding:.25rem;line-height:1}.panel-overlay-close:hover{color:var(--text)}.panel-overlay-body{overflow-y:auto;padding:1rem;flex:1}.panel-overlay .track-map{height:500px;border:none}.panel-overlay .channels-panel-container{max-height:none}.event-timeline{display:flex;flex-direction:column;gap:2px}.event-timeline-minimap{width:100%;border-radius:2px;overflow:hidden;cursor:pointer}.event-timeline-minimap:hover{outline:1px solid rgba(255,255,255,.15)}.event-timeline-axis{width:100%;display:flex;align-items:stretch;gap:0}.event-timeline-axis-mode{appearance:none;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:2px;color:#ffffff80;font-family:inherit;font-size:9px;font-weight:500;padding:0 5px;cursor:pointer;white-space:nowrap;flex-shrink:0}.event-timeline-axis-mode:hover{background:#ffffff1a;color:#ffffffb3}.event-timeline-zoom-out{appearance:none;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:2px;color:#ffffff80;font-family:inherit;font-size:9px;font-weight:500;padding:0 5px;cursor:pointer;white-space:nowrap;flex-shrink:0}.event-timeline-zoom-out:hover{background:#ffffff1a;color:#ffffffb3}.event-timeline-track{position:relative;width:100%;border-radius:.25rem;overflow:hidden}.event-timeline-filters{display:flex;gap:.375rem;flex-wrap:wrap}.event-timeline-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:.25rem;border:1px solid color-mix(in srgb,var(--chip-color) 40%,transparent);background:color-mix(in srgb,var(--chip-color) 10%,transparent);color:var(--chip-color);cursor:pointer;font-size:.7rem;font-weight:500;transition:opacity .15s,background .15s}.event-timeline-chip:hover{background:color-mix(in srgb,var(--chip-color) 20%,transparent)}.event-timeline-chip.hidden{opacity:.35;border-color:var(--border);background:transparent;color:var(--text-muted)}.event-timeline-chip-dot{width:6px;height:6px;border-radius:50%;background:var(--chip-color);flex-shrink:0}.event-timeline-chip.hidden .event-timeline-chip-dot{background:var(--text-muted)}.event-timeline-chip-count{cursor:pointer;border-radius:2px;padding:0 2px}.event-timeline-chip-count:hover{background:color-mix(in srgb,var(--chip-color) 30%,transparent);text-decoration:underline}.event-timeline-chip--show-all{--chip-color: var(--text-muted);font-style:italic;border-style:dashed}.event-timeline-detail{display:flex;flex-direction:column;gap:.25rem;padding:.375rem .625rem;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid;border-radius:0;margin:0}.event-timeline-detail-body{display:flex;flex-direction:column;gap:.125rem}.event-timeline-detail-row1{display:flex;align-items:center;gap:.5rem;min-width:0}.event-timeline-detail-row2{font-size:.78rem;line-height:1.3;padding-left:calc(8px + 1rem + 1.2em)}.event-timeline-detail-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-timeline-detail-severity{font-size:.85rem;flex-shrink:0}.event-timeline-detail-severity--critical,.event-timeline-detail-severity--warning{color:#f59e0b}.event-timeline-detail-severity--info{color:var(--text-muted)}.event-timeline-detail-label{font-weight:600;font-size:.85rem}.event-timeline-detail-timing{font-size:.78rem;white-space:nowrap}.event-timeline-detail-actions{display:flex;gap:.25rem;justify-content:flex-end;flex-shrink:0;padding-top:.125rem}.event-timeline-focus-btn{padding:.2rem .5rem;border-radius:.25rem;border:1px solid var(--accent, #4f8ff7);background:color-mix(in srgb,var(--accent, #4f8ff7) 15%,transparent);color:var(--accent, #4f8ff7);cursor:pointer;font-size:.75rem;font-weight:500}.event-timeline-focus-btn:hover{background:color-mix(in srgb,var(--accent, #4f8ff7) 25%,transparent)}.event-focus-header{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .75rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem}.event-focus-header-row{display:flex;align-items:center;gap:.625rem}.event-focus-back{padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font-size:.8rem}.event-focus-back:hover{background:var(--bg-hover)}.event-focus-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.event-focus-label{font-weight:600;font-size:.9rem}.event-focus-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}.event-focus-time-loss-detail{display:block;font-size:.7rem;color:var(--text-muted);opacity:.75;margin-top:.2rem}.event-focus-details{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.event-focus-values{display:flex;flex-wrap:wrap;gap:.375rem}.event-focus-value-chip{padding:.125rem .375rem;background:var(--bg-hover);border-radius:.25rem;font-size:.75rem}.event-focus-channels{font-size:.75rem}.event-focus-nav{padding:.2rem .5rem;border-radius:.25rem;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.75rem}.event-focus-nav:hover{background:var(--bg-hover);color:var(--text)}.page-drop-overlay{position:fixed;inset:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center;pointer-events:none}.page-drop-overlay-label{font-size:1.25rem;font-weight:600;color:var(--text);padding:1.5rem 3rem;border:2px dashed var(--accent);border-radius:.75rem;background:var(--bg-surface)}.drop-error-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:1000;padding:.5rem 1rem;border-radius:.375rem;background:var(--danger, #f87171);color:#fff;font-size:.8rem;font-weight:500;white-space:nowrap;animation:toast-fade-in .15s ease-out}@keyframes toast-fade-in{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.chart-stack{display:flex;flex-direction:column;flex-shrink:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.chart-stack>.telemetry-chart,.chart-stack>[data-chart-id] .telemetry-chart{border-radius:0;border:none;border-bottom:1px solid var(--border)}.chart-stack>.telemetry-chart:last-child,.chart-stack>[data-chart-id]:last-child .telemetry-chart,.chart-stack>.custom-chart-wrapper:last-child .telemetry-chart{border-bottom:none}.chart-highlighted{box-shadow:inset 3px 0 0 var(--accent)}.chart-cursor-tooltip{position:absolute;top:6px;z-index:20;pointer-events:none;background:#14161ef2;border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:.7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;box-shadow:0 4px 12px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;display:flex;flex-direction:column;gap:1px}.chart-cursor-tooltip-time{color:var(--text-secondary);font-size:.65rem;margin-bottom:2px}.chart-cursor-tooltip-row{display:flex;align-items:baseline;gap:6px}.chart-cursor-tooltip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;align-self:center}.chart-cursor-tooltip-name{color:var(--text-muted)}.chart-cursor-tooltip-val{color:var(--text);font-weight:600;min-width:48px;text-align:right;margin-left:auto}.chart-cursor-tooltip-unit{color:var(--text-muted);font-size:.6rem}.chart-cursor-tooltip-bool-active{color:#f59e0b;font-size:.65rem;font-weight:600}.chart-cursor-tooltip-events{border-top:1px solid rgba(255,255,255,.1);margin-top:2px;padding-top:2px}.chart-cursor-tooltip-event{display:flex;align-items:center;gap:4px;font-size:.65rem}.chart-zoom-out-btn{position:absolute;top:4px;right:4px;z-index:10;background:#0f1117d9;color:var(--text-muted);border:1px solid var(--border);border-radius:3px;padding:2px 8px;font-size:.65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;cursor:pointer;transition:color .15s,border-color .15s}.chart-zoom-out-btn:hover{color:var(--text);border-color:var(--text-muted)}.chart-stack .u-legend{font-size:.7rem;padding:2px 8px}.chart-stack .u-legend .u-series{padding:0 6px}.custom-chart-wrapper{border-bottom:1px solid var(--border);position:relative}.custom-chart-wrapper.focused{outline:1px solid var(--accent);outline-offset:-1px}.custom-chart-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--bg-hover);font-size:.7rem;color:var(--text-muted)}.custom-chart-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-chart-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.custom-chart-remove-channel{padding:1px 6px;font-size:.65rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:3px;color:var(--text-muted)}.custom-chart-remove-channel:hover{color:var(--danger);border-color:var(--danger)}.custom-chart-close{padding:1px 6px;font-size:.75rem;background:none;border:none;color:var(--text-muted)}.custom-chart-close:hover{color:var(--danger)}.chart-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;padding:.5rem;align-items:center;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;background:var(--bg)}.chart-toolbar .playback-controls{justify-self:center;padding:0;background:none;border:none;border-radius:0;gap:.35rem;margin:0}.chart-toolbar .playback-btn{width:24px;height:24px;font-size:.75rem}.chart-toolbar .playback-speed-btn{padding:.1rem .4rem;font-size:.65rem}.chart-toolbar-btn{padding:.4rem .75rem;font-size:.8rem;font-weight:500;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:.375rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.chart-toolbar-btn:hover{color:var(--text);background:var(--bg-hover);border-color:var(--text-muted)}.add-chart-btn{padding:6px;font-size:.75rem;color:var(--text-muted);background:none;border:none;border-top:1px dashed var(--border);text-align:center;cursor:pointer}.add-chart-btn:hover{color:var(--accent);background:var(--bg-hover)}.channels-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:.375rem;overflow:clip;font-size:.75rem}.channels-panel-header-left{display:flex;align-items:center;gap:6px}.channels-panel-title{font-weight:600;font-size:.8rem}.channels-panel-count{color:var(--text-muted);font-size:.65rem}.channels-panel-actions{display:flex;align-items:center;gap:2px}.channels-panel-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .15s}.channels-panel-action-btn:hover{background:var(--bg-hover);color:var(--text)}.channels-panel-action-btn.active{color:#fbbf24;background:var(--bg-hover)}.channels-panel-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:4px 0;min-width:160px;z-index:50;box-shadow:0 4px 12px #0000004d}.channels-panel-dropdown-item{display:flex;align-items:center;gap:6px;padding:5px 12px;font-size:.7rem;color:var(--text);cursor:pointer;white-space:nowrap}.channels-panel-dropdown-item:hover{background:var(--bg-hover)}.channels-panel-dropdown-item input[type=checkbox]{accent-color:var(--accent);margin:0}.channels-panel-filter{padding:6px 8px;border-bottom:1px solid var(--border)}.channels-panel-filter-input{width:100%;padding:4px 8px;font-size:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--text);outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.channels-panel-filter-input:focus{border-color:var(--accent)}.channels-panel-filter-input::placeholder{color:var(--text-muted);opacity:.6}.channels-panel-list{overflow-y:auto}.channels-panel-category{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;background:var(--bg-hover);font-size:.7rem;font-weight:700;letter-spacing:.05em;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.channels-panel-category:hover{color:var(--text)}.channels-panel-category-count{font-weight:400;opacity:.6}.channels-panel-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:4px;align-items:center;padding:2px 6px 2px 14px;cursor:pointer;border-bottom:1px solid rgba(46,49,64,.3)}.channels-panel-row:hover{background:var(--bg-hover)}.channels-panel-row.loaded .channels-panel-row-name{color:var(--success)}.channels-panel-row-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;min-width:0}.channels-panel-row-range{color:var(--text-muted);font-size:.55rem;margin-left:4px;white-space:nowrap}.channels-panel-row-check{display:inline-block;width:10px;height:10px;border:1px solid var(--border);border-radius:2px;flex-shrink:0;position:relative}.channels-panel-row-check.checked{background:var(--accent);border-color:var(--accent)}.channels-panel-row-check.checked:after{content:"";position:absolute;left:2px;top:0;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.channels-panel-row-value{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;text-align:right;min-width:36px;white-space:nowrap}.channels-panel-row-unit{color:var(--text-muted);font-size:.6rem;min-width:20px;white-space:nowrap}.channels-panel-row-star{font-size:.65rem;cursor:pointer;color:var(--text-muted);opacity:0;transition:opacity .15s,color .15s;line-height:1;width:14px;text-align:center}.channels-panel-row:hover .channels-panel-row-star{opacity:.5}.channels-panel-row-star.starred{color:#fbbf24;opacity:1}.channels-panel-row-star:hover{opacity:1!important;color:#fbbf24}.channels-panel-empty{padding:12px;text-align:center;color:var(--text-muted)}.summary-section{border-bottom:1px solid var(--border);--panel-header-h: 34px}.summary-section .panel-header{position:sticky;top:0;z-index:2;height:var(--panel-header-h);box-sizing:border-box}.summary-table-wrap{padding:0 .5rem .5rem}.summary-table{width:100%;border-collapse:collapse;font-size:.75rem}.summary-table thead{position:sticky;top:var(--panel-header-h, 34px);z-index:1}.summary-table th{text-align:left;font-weight:500;color:var(--text-muted);padding:.2rem .4rem;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-surface)}.summary-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.summary-sortable:hover{color:var(--text)}.summary-sort-arrow{font-size:.65rem}.summary-table td{padding:.25rem .4rem;white-space:nowrap}.summary-table tbody tr:hover{background:var(--bg-hover)}.summary-num{text-align:right}.summary-loss{color:var(--warning)}.summary-event-th{width:100%;position:relative}.summary-show-all-btn{float:right}.summary-event-cell{position:relative}.summary-event-name{display:flex;align-items:center;white-space:nowrap}.wheel-breakdown{display:flex;gap:.5rem;font-size:.65rem;font-variant-numeric:tabular-nums;justify-content:flex-end;padding-top:.1rem;color:var(--text-muted)}.wheel-chip{display:inline-flex;gap:.15rem}.wheel-chip-label{color:var(--text-muted);font-weight:500;font-size:.6rem}.wheel-chip-value{font-weight:400}.summary-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.35rem;flex-shrink:0}.summary-row-actions{display:none;gap:.2rem;position:absolute;right:0;top:50%;transform:translateY(-50%);background:var(--bg-surface);padding-left:.25rem}.summary-row:hover .summary-row-actions,.summary-row--hidden .summary-row-actions{display:flex}.summary-action-btn{padding:.05rem .35rem;font-size:.65rem;border:1px solid var(--border);border-radius:.2rem;background:var(--bg-surface);color:var(--text-muted);cursor:pointer;white-space:nowrap}.summary-action-btn:hover{background:var(--bg-hover);color:var(--text)}.summary-row--hidden{opacity:.45}.summary-row--hidden:hover{opacity:.75}.summary-expand-arrow{font-size:.6rem;margin-right:.2rem;color:var(--text-muted);flex-shrink:0}.summary-row--expanded{background:var(--bg-hover)}.summary-row--region td{padding-top:1px;padding-bottom:1px;font-size:.65rem;color:var(--text-muted);border-top:none}.summary-row--region:hover{background:var(--bg-hover)}.summary-region-cell{padding-left:1.8rem!important}.summary-region-label{display:flex;align-items:center;gap:.25rem;font-weight:500}.summary-region-dir{font-size:.7rem;opacity:.7}.summary-region-num{font-size:.65rem}.insights-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:.375rem;overflow:clip;font-size:.75rem}.insights-panel-title{font-weight:600;font-size:.8rem}.insights-panel-body{display:flex;flex-direction:column;gap:1px;overflow-y:auto}.insights-panel-empty{padding:12px;text-align:center;color:var(--text-muted)}.insight-card{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border);border-left:3px solid transparent;transition:background .1s}.insight-card:hover{background:var(--bg-hover)}.insight-card:last-child{border-bottom:none}.insight-card--critical{border-left-color:#ef4444}.insight-card--warning{border-left-color:#eab308}.insight-card--info{border-left-color:#3b82f6}.insight-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.insight-card-severity{font-size:.6rem;font-weight:600;text-transform:uppercase;padding:1px 5px;border-radius:3px;flex-shrink:0}.insight-card-severity--critical{background:#ef444433;color:#ef4444}.insight-card-severity--warning{background:#eab30833;color:#eab308}.insight-card-severity--info{background:#3b82f633;color:#3b82f6}.insight-card-title{font-weight:600;font-size:.75rem;line-height:1.3}.insight-card-desc{color:var(--text-muted);font-size:.7rem;line-height:1.4;margin-bottom:3px}.insight-card-pos{font-size:.6rem;color:var(--text-muted);opacity:.7}.insight-card-category{font-size:.6rem;font-weight:600;text-transform:uppercase;padding:1px 5px;border-radius:3px;flex-shrink:0}.insight-card-category--braking{background:#ef444433;color:#ef4444}.insight-card-category--steering{background:#fbbf2433;color:#fbbf24}.insight-card-category--cornering{background:#a78bfa33;color:#a78bfa}.insight-card-category--powertrain{background:#4ade8033;color:#4ade80}.insight-card-category--track-limits{background:#fb923c33;color:#fb923c}.insight-card-category--incident{background:#ef444433;color:#ef4444}.insight-card-times{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.insight-time-chip{font-size:.6rem;padding:1px 6px;border-radius:3px;background:var(--bg-hover);color:var(--text-muted);cursor:pointer}.insight-time-chip:hover{background:var(--border);color:var(--text)}.ai-summary-section{padding:0}.ai-summary-divider{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:8px 12px 4px;border-top:1px solid var(--border)}.ai-summary-card{padding:8px 12px}.ai-summary-content{font-size:.7rem;line-height:1.5;color:var(--text)}.ai-summary-content p{margin:0 0 6px}.ai-summary-content p:last-child{margin-bottom:0}.ai-summary-meta{display:flex;gap:8px;font-size:.6rem;color:var(--text-muted);opacity:.7;margin-top:6px}.ai-summary-actions{margin-top:6px}.ai-summary-btn{font-size:.65rem;padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer}.ai-summary-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.ai-summary-btn:disabled{opacity:.5;cursor:default}.ai-summary-btn--primary{background:#a78bfa26;border-color:#a78bfa4d;color:#a78bfa}.ai-summary-btn--primary:hover:not(:disabled){background:#a78bfa40}.ai-summary-error{font-size:.65rem;color:#ef4444;margin-bottom:6px}.ai-summary-hint{font-size:.6rem;color:var(--text-muted);opacity:.7;margin-top:4px}.event-tooltip{position:fixed;z-index:100;pointer-events:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:.75rem;min-width:160px;max-width:320px;box-shadow:0 4px 16px #0006}.event-tooltip-header{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:4px}.event-tooltip-clickable{cursor:pointer}.event-tooltip-clickable:hover{background:var(--bg-hover, rgba(255, 255, 255, .08))}.event-tooltip-header--highlighted{background:#ffffff1a}.event-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-tooltip-label{font-weight:600;color:var(--text)}.event-tooltip-severity{font-size:.75rem;font-weight:600;margin-left:auto}.event-tooltip-severity--critical{color:var(--danger)}.event-tooltip-severity--warning{color:var(--warning)}.event-tooltip-severity--info{color:var(--accent)}.time-loss-badge{font-size:.65rem;font-weight:600;padding:.1rem .3rem;border-radius:3px;background:#fbbf2426;color:#fbbf24;white-space:nowrap;flex-shrink:0}.cursor-tooltip{position:absolute;z-index:100;pointer-events:none;background:#14161ef2;border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:.7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;min-width:140px;box-shadow:0 4px 12px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cursor-tooltip-pos{color:var(--text-muted);font-size:.65rem;margin-bottom:4px;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.08)}.cursor-tooltip-values{display:flex;flex-direction:column;gap:1px}.cursor-tooltip-row{display:flex;align-items:baseline;gap:6px}.cursor-tooltip-name{color:var(--text-muted);min-width:44px}.cursor-tooltip-val{color:var(--text);font-weight:600;min-width:48px;text-align:right}.cursor-tooltip-unit{color:var(--text-muted);font-size:.6rem}.cursor-tooltip-events{margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:2px}.cursor-tooltip-event{display:flex;align-items:center;gap:5px}.cursor-tooltip-event-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cursor-tooltip-event-label{color:var(--text);font-size:.65rem}.event-detail-panel{position:relative;background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;padding:12px 16px;max-height:400px;overflow-y:auto}.event-detail-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--text-muted);font-size:1.1rem;line-height:1;padding:2px 6px;border-radius:3px}.event-detail-close:hover{color:var(--text);background:var(--bg-hover)}.event-detail-empty{color:var(--text-muted);font-size:.8rem;text-align:center;padding:8px 0}.event-detail-cards{display:flex;flex-direction:column;gap:10px}.event-detail-card{border-left:3px solid #888;padding:8px 12px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;background:#ffffff05;border-radius:0 4px 4px 0}.event-detail-content{display:flex;flex-direction:column;gap:4px;min-width:180px}.event-detail-header{display:flex;align-items:center;gap:6px}.event-detail-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-detail-label{font-weight:600;font-size:.85rem;color:var(--text)}.event-detail-severity{font-size:.6rem;padding:1px 6px;border-radius:9999px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.event-detail-severity--critical{background:#f8717133;color:var(--danger)}.event-detail-severity--warning{background:#fbbf2433;color:var(--warning)}.event-detail-severity--info{background:#4f8ff733;color:var(--accent)}.event-detail-time{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;color:var(--text-muted)}.event-detail-peak{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;color:var(--text)}.event-detail-mini-chart{min-width:400px;height:150px;background:#0003;border-radius:3px;overflow:hidden}.mini-chart-legend{position:absolute;bottom:4px;left:4px;z-index:10;pointer-events:none;background:#0f1117cc;border-radius:3px;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6rem;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:center;max-width:90%}.mini-chart-legend-time{color:var(--text-muted);font-size:.6rem;margin-right:4px}.mini-chart-legend-item{display:inline-flex;align-items:center;gap:3px}.mini-chart-legend-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.mini-chart-legend-name{color:var(--text-muted);font-size:.55rem}.mini-chart-legend-val{color:var(--text);font-weight:600}.mini-chart-legend-unit{color:var(--text-muted);font-size:.5rem}.event-detail-coaching{margin-top:4px;padding-top:6px;border-top:1px solid var(--border)}.event-detail-coaching-title{font-weight:600;font-size:.8rem;color:var(--accent);margin-bottom:2px}.event-detail-coaching-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4;font-style:italic}.pitboard{font-variant-numeric:tabular-nums}.pitboard-status{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;color:var(--text-muted)}.pitboard-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pitboard-timing{text-align:center;padding:1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;margin-bottom:1rem}.pitboard-lap-number{font-size:1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.pitboard-current-time{font-size:3rem;font-weight:700;line-height:1.1;margin:.25rem 0}.pitboard-delta{font-size:1.5rem;font-weight:700}.pitboard-delta-ahead{color:var(--success)}.pitboard-delta-behind{color:var(--danger)}.pitboard-delta-neutral{color:var(--text-muted)}.pitboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:600px){.pitboard-grid{grid-template-columns:1fr}.pitboard-current-time{font-size:2.25rem}.pitboard-delta{font-size:1.25rem}}.pitboard-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;padding:.75rem}.pitboard-card-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.pitboard-empty{font-size:.8rem;color:var(--text-muted);font-style:italic}.pitboard-lap-table{font-size:.8rem}.pitboard-lap-header{display:grid;grid-template-columns:2.5rem 1fr 4rem 3.5rem;gap:.5rem;padding:.25rem 0;border-bottom:1px solid var(--border);font-weight:600;color:var(--text-muted);font-size:.7rem;text-transform:uppercase}.pitboard-lap-row{display:grid;grid-template-columns:2.5rem 1fr 4rem 3.5rem;gap:.5rem;padding:.3rem 0;border-bottom:1px solid rgba(46,49,64,.4)}.pitboard-fuel-bar-container{height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.pitboard-fuel-bar{height:100%;border-radius:4px;transition:width .3s ease}.pitboard-stat-row{display:flex;justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.8rem}.pitboard-stat-label{color:var(--text-muted)}.pitboard-stat-value{font-weight:600}.pitboard-tire-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.pitboard-tire-corner{background:var(--bg-hover);border-radius:.375rem;padding:.5rem;text-align:center}.pitboard-tire-label{font-size:.7rem;font-weight:700;color:var(--text-muted);margin-bottom:.125rem}.pitboard-tire-temp{font-size:1.25rem;font-weight:700;line-height:1.2}.pitboard-tire-wear{display:flex;align-items:center;gap:.25rem;margin-top:.25rem}.pitboard-tire-wear-bar-container{flex:1;height:4px;background:#2e314099;border-radius:2px;overflow:hidden}.pitboard-tire-wear-bar{height:100%;border-radius:2px}.pitboard-tire-brake{font-size:.65rem;margin-top:.125rem;color:var(--text-muted)}.gap-tracker{background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.gap-tracker-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--border);font-weight:600;font-size:.8rem}.gap-tracker-list{max-height:500px;overflow-y:auto}.gap-row{display:grid;grid-template-columns:2.5rem 2.5rem 1fr 4rem 1.25rem 2.5rem;gap:.375rem;align-items:center;padding:.3rem .75rem;border-bottom:1px solid rgba(46,49,64,.4);font-size:.75rem;font-variant-numeric:tabular-nums}.gap-row-player{background:#4f8ff71a;font-weight:600}.gap-row-pit{opacity:.5}.gap-position{font-weight:700;color:var(--text)}.gap-car-number{color:var(--text-muted);font-size:.7rem}.gap-driver{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-pit-badge{display:inline-block;font-size:.6rem;font-weight:700;background:#fbbf2433;color:var(--warning);padding:0 .25rem;border-radius:2px;margin-left:.25rem;vertical-align:middle}.gap-time{text-align:right;font-weight:600}.gap-trend{text-align:center;font-weight:700}.gap-pace{text-align:right;font-size:.65rem;color:var(--text-muted)}.dev-toolbar{display:flex;align-items:center;gap:12px;padding:4px 12px;background:#1a0a2e;border-bottom:1px solid #7c3aed;font-size:.75rem;color:#a78bfa;overflow:visible}.dev-toolbar a{color:#c4b5fd;text-decoration:none;padding:2px 8px;border-radius:3px;background:#7c3aed26}.dev-toolbar a:hover{background:#7c3aed4d;color:#fff;text-decoration:none}.dev-toolbar-label{font-weight:700;color:#7c3aed;letter-spacing:.05em}.dev-toolbar strong{color:#e9d5ff}.dev-toolbar span{color:#8b8fa3}.dev-render-counter{position:relative;display:inline-block;font-variant-numeric:tabular-nums;font-weight:600;min-width:7em;cursor:default}.dev-render-popup{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:9999;background:#1a1a2e;border:1px solid #7c3aed;border-radius:6px;padding:8px;min-width:280px;font-size:.7rem;box-shadow:0 4px 12px #00000080;white-space:nowrap}.dev-render-popup:before{content:"";position:absolute;left:0;bottom:100%;width:100%;height:10px}.dev-render-counter:hover>.dev-render-popup{display:block}.dev-render-popup-header{color:#a78bfa;font-weight:600;margin-bottom:6px;font-size:.7rem}.dev-render-popup-table{width:100%;border-collapse:collapse}.dev-render-popup-table th{color:#8b8fa3;font-weight:500;text-align:left;padding:2px 6px;border-bottom:1px solid #333}.dev-render-popup-table td{padding:2px 6px;color:#e0e0e0}.dev-render-popup-table th:nth-child(n+2),.dev-render-num{text-align:right;font-variant-numeric:tabular-nums}.auth-container{max-width:420px;margin:80px auto;padding:0 16px}.auth-container h1{font-size:1.5rem;margin-bottom:24px}.auth-container h2{font-size:1.1rem;margin:24px 0 12px;color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{display:flex;flex-direction:column;gap:4px;font-size:.875rem;color:var(--text-muted)}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1rem}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #4f8ff733}.btn-primary{padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{padding:10px 20px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;font-size:.95rem}.btn-secondary:hover{background:var(--bg-hover);color:var(--text)}.btn-small{padding:6px 14px;font-size:.85rem}.auth-message{padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:.9rem}.auth-success{background:#4ade801a;border:1px solid rgba(74,222,128,.3);color:var(--success)}.auth-error{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--danger)}.auth-links{margin-top:20px;display:flex;flex-direction:column;gap:8px;font-size:.875rem}.dev-user-list{display:flex;flex-direction:column;gap:8px}.dev-user-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px}.dev-user-email{flex:1;font-family:monospace}.dev-user-tier{color:var(--text-muted);font-size:.8rem;text-transform:uppercase}.nav-user{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:.875rem}.nav-user-email{color:var(--text-muted)}.settings-section{margin-top:32px;padding:24px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.settings-section h2{font-size:1.1rem;margin-bottom:16px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.settings-row:last-child{border-bottom:none}.settings-label{color:var(--text-muted);font-size:.875rem}.tier-badge{font-size:.8rem;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:#4f8ff726;color:var(--accent)}.settings-danger{border-color:#f871714d}.btn-danger{padding:10px 20px;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:6px;font-size:.95rem}.btn-danger:hover{background:#f871711a}.share-controls{padding:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;margin-top:16px}.share-controls h3{font-size:1rem;margin-bottom:12px}.share-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.share-token-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.share-token-row{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg);border-radius:4px}.share-token-code{flex:1;font-size:.8rem;color:var(--text-muted)}.analysis-page{padding:.75rem 1rem;height:calc(100vh - var(--nav-height, 52px));display:flex;flex-direction:column;overflow:hidden}.analysis-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-shrink:0}.analysis-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem}.analysis-loading{display:flex;align-items:center;justify-content:center;padding:3rem}.analysis-summary-grid{display:flex;gap:.75rem;flex-wrap:wrap}.analysis-stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;padding:.75rem 1rem;min-width:120px;flex:1}.analysis-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem}.analysis-stat-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.analysis-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:.5rem;padding:.75rem;min-width:0}.analysis-section-title{font-size:.8rem;font-weight:600;margin-bottom:.5rem}.analysis-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.analysis-section-header .analysis-section-title{margin-bottom:0}.analysis-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:900px){.analysis-two-col{grid-template-columns:1fr}}.analysis-toggle-group{display:flex;gap:0;border:1px solid var(--border);border-radius:.25rem;overflow:hidden}.analysis-toggle{padding:.25rem .625rem;font-size:.7rem;font-weight:500;background:transparent;border:none;border-right:1px solid var(--border);color:var(--text-muted);cursor:pointer}.analysis-toggle:last-child{border-right:none}.analysis-toggle:hover{background:var(--bg-hover);color:var(--text)}.analysis-toggle.active{background:#4f8ff726;color:var(--accent)}.analysis-chart-canvas{border-radius:.375rem;display:block}.analysis-detector-list{display:flex;flex-direction:column;gap:.375rem}.analysis-detector-row{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.analysis-detector-label{display:flex;align-items:center;gap:.375rem;min-width:110px;flex-shrink:0;white-space:nowrap}.analysis-detector-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.analysis-detector-bar-wrap{flex:1;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.analysis-detector-bar{height:100%;border-radius:3px;min-width:2px}.analysis-detector-count{font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:2rem;text-align:right;font-size:.75rem}.analysis-problem-list{display:flex;flex-direction:column;gap:.375rem}.analysis-problem-row{display:flex;align-items:baseline;gap:.75rem;font-size:.78rem;padding:.375rem .5rem;border-radius:.25rem;background:#ffffff05}.analysis-problem-row:hover{background:var(--bg-hover)}.analysis-problem-position{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;min-width:80px}.analysis-problem-details{display:flex;flex-direction:column;gap:.125rem}.analysis-problem-loss{color:var(--warning);font-weight:500}.analysis-problem-detectors{color:var(--text-muted);font-size:.72rem}.analysis-lap-table-wrap{max-height:320px;overflow-y:auto}.analysis-lap-table{width:100%;border-collapse:collapse;font-size:.78rem}.analysis-lap-table thead th{position:sticky;top:0;background:var(--bg-surface);color:var(--text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500;padding:.375rem .5rem;text-align:left;border-bottom:1px solid var(--border)}.analysis-lap-table td{padding:.3rem .5rem;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.04)}.analysis-lap-table tr:hover td{background:var(--bg-hover)}.analysis-lap-invalid{opacity:.5}.tabular-nums{font-variant-numeric:tabular-nums}.dev-toolbar-flags{display:flex;gap:.5rem;align-items:center;margin-left:auto}.dev-flag-toggle{display:flex;align-items:center;gap:.25rem;font-size:.7rem;color:#fff9;cursor:pointer;padding:.15rem .4rem;border-radius:.25rem;border:1px solid rgba(255,255,255,.15);background:transparent}.dev-flag-toggle:hover{background:#ffffff1a}.dev-flag-toggle.enabled{border-color:var(--success);color:var(--success)}.video-drop-zone{border:2px dashed var(--border);border-radius:.5rem;padding:.75rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;flex-shrink:0}.video-drop-zone:hover,.video-drop-zone.drag-over{border-color:var(--accent);background:#4f8ff70d}.video-drop-label{cursor:pointer;color:var(--text-muted);font-size:.8125rem}.video-file-input{display:none}.video-strip{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-card);border-radius:.5rem;overflow:hidden}.video-strip--collapsed{height:32px}.video-toolbar{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--bg-elevated, var(--bg-card));font-size:.75rem;min-height:28px;flex-shrink:0}.video-toolbar-left{display:flex;align-items:center;gap:.375rem}.video-toolbar-controls{display:flex;align-items:center;gap:.375rem;margin-left:auto}.video-filename{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.video-offset{color:var(--text);font-variant-numeric:tabular-nums;min-width:4em;text-align:center}.video-confidence{color:var(--text-muted);font-size:.7rem;margin-left:.25rem}.video-toolbar-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:.25rem;padding:.125rem .375rem;cursor:pointer;font-size:.75rem;line-height:1.2}.video-toolbar-btn:hover{color:var(--text);border-color:var(--text-muted)}.video-close-btn:hover{color:var(--danger);border-color:var(--danger)}.video-nudge-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:.25rem;padding:.125rem .25rem;cursor:pointer;font-size:.75rem;line-height:1}.video-nudge-btn:hover{color:var(--text);border-color:var(--text-muted)}.video-sync-btn{color:var(--accent);border-color:var(--accent)}.video-sync-active{background:#4f8ff71a;animation:video-sync-pulse 1.5s ease-in-out infinite}@keyframes video-sync-pulse{0%,to{opacity:1}50%{opacity:.6}}.video-sync-dropdown-wrap{position:relative;display:inline-block}.video-sync-dropdown{position:absolute;top:calc(100% + 2px);right:0;z-index:100;background:#1e1e2e;border:1px solid var(--border);border-radius:.375rem;overflow:hidden;min-width:140px;box-shadow:0 4px 12px #0009}.video-sync-dropdown:before{content:"";position:absolute;bottom:100%;left:0;right:0;height:6px}.video-sync-dropdown-item{display:block;width:100%;background:none;border:none;color:var(--text);padding:.375rem .75rem;font-size:.75rem;text-align:left;cursor:pointer}.video-sync-dropdown-item:hover{background:#4f8ff726;color:var(--accent)}.video-sync-status{position:absolute;top:28px;left:0;right:0;z-index:10;padding:.25rem .5rem;font-size:.75rem;color:var(--text);background:#000000bf;text-align:center}.video-sync-status--error{color:var(--danger)}.video-sync-status--success{color:#8f8}.video-container{position:relative;background:#000;flex:1;min-height:0;overflow:hidden}.video-element{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.video-out-of-range{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;color:var(--text-muted);font-size:.875rem;pointer-events:none}.audio-debug-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.audio-debug-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:.75rem;width:90vw;max-width:1400px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.audio-debug-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-weight:600;font-size:.875rem;flex-shrink:0}.audio-debug-header-controls{display:flex;align-items:center;gap:1rem}.audio-debug-stat{font-weight:400;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.audio-debug-offset{display:flex;align-items:center;gap:.25rem}.audio-debug-offset input{width:4.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:.25rem;color:var(--text);padding:.15rem .3rem;font-size:.75rem;font-variant-numeric:tabular-nums}.audio-debug-close{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:0 .25rem;line-height:1}.audio-debug-close:hover{color:var(--text)}.audio-debug-params{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.audio-debug-param{display:flex;flex-direction:column;gap:.125rem;font-size:.7rem;color:var(--text-muted)}.audio-debug-param input[type=number]{width:5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:.25rem;color:var(--text);padding:.2rem .375rem;font-size:.75rem;font-variant-numeric:tabular-nums}.audio-debug-param--checkbox{flex-direction:row;align-items:center;gap:.375rem}.audio-debug-param--checkbox input[type=checkbox]{accent-color:var(--accent)}.audio-debug-rerun{background:var(--accent);color:#fff;border:none;border-radius:.25rem;padding:.3rem .75rem;font-size:.75rem;cursor:pointer;margin-left:auto}.audio-debug-rerun:hover{opacity:.9}.audio-debug-rerun:disabled{opacity:.5;cursor:not-allowed}.audio-debug-section{padding:.5rem 1rem;border-bottom:1px solid var(--border)}.audio-debug-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem;font-size:.75rem;color:var(--text-muted)}.audio-debug-control{display:flex;align-items:center;gap:.375rem;font-size:.7rem;color:var(--text-muted)}.audio-debug-control input[type=range]{width:80px;height:12px;accent-color:var(--accent)}.audio-debug-canvas{width:100%;height:300px;display:block;background:var(--bg-card);border-radius:.25rem}.audio-debug-canvas--short{height:180px}.audio-debug-section:last-child{padding-bottom:.75rem}
