:root{color:#f3f6fb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--card-bg:#08111fb8;--card-border:#ffffff1a;--accent:#ff7a59;--accent-soft:#ffb097;--secondary:#4ade80;--muted:#9fb0c7;--track:#ffffff1a;--shadow:0 20px 60px #00000059;background:radial-gradient(circle at 0 0,#ff7a5940,#0000 30%),radial-gradient(circle at 100% 0,#4ade802e,#0000 28%),linear-gradient(160deg,#08111f 0%,#10233d 48%,#07101b 100%);font-family:Space Grotesk,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}#root{min-height:100vh}.app-shell{max-width:1280px;margin:0 auto;padding:40px 20px 56px}.hero-panel{margin-bottom:28px}.hero-panel h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(2.3rem,5vw,4.8rem);line-height:.95}.hero-copy{max-width:680px;color:var(--muted);margin:0;font-size:1.05rem}.mode-switch{background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;flex-wrap:wrap;gap:8px;margin-bottom:22px;padding:6px;display:inline-flex}.mode-switch-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:10px 16px;text-decoration:none;display:inline-flex}.mode-switch-button.active{color:#fff8f5;background:#ff7a592e}.placeholder-shell{gap:22px;display:grid}.placeholder-card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);max-width:760px;box-shadow:var(--shadow);border-radius:24px;padding:24px}.placeholder-card h2{margin:0 0 10px}.placeholder-card p{color:var(--muted);margin:0}.app-shell-mobile{max-width:1120px}.hero-panel-mobile{margin-bottom:20px}.mobile-pwa-shell,.mobile-card-stack{gap:18px;display:grid}.mobile-pwa-header,.mobile-card,.mobile-highlight-panel,.mobile-choice-card,.mobile-progress-item,.mobile-pwa-stage{border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.mobile-pwa-header,.mobile-card{background:linear-gradient(#0a1527e6,#08111fc2);border-radius:28px;padding:22px}.mobile-pwa-header h2,.mobile-card h3,.mobile-next-step{letter-spacing:-.03em;margin:0;line-height:1.05}.mobile-pwa-header{gap:10px}.mobile-pwa-header p:last-child,.mobile-card p,.mobile-choice-card span,.mobile-inline-note{color:var(--muted)}.mobile-pwa-stagebar{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.mobile-pwa-stage{background:#ffffff0d;border-radius:20px;align-content:start;gap:8px;min-height:96px;padding:14px 12px;display:grid}.mobile-pwa-stage span,.mobile-progress-item span,.mobile-score-pill span{color:var(--accent-soft);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}.mobile-pwa-stage strong,.mobile-progress-item strong{font-size:.95rem}.mobile-pwa-stage-active,.mobile-progress-item-active{background:linear-gradient(#ff7a5933,#ffffff0f)}.mobile-pwa-stage-done,.mobile-progress-item-done{background:linear-gradient(#4ade8024,#ffffff0a);border-color:#4ade8059}.mobile-card-hero{background:radial-gradient(circle at 100% 0,#ff7a5938,#0000 30%),linear-gradient(#10233deb,#08111fd6)}.mobile-card-label,.mobile-card-badge{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.76rem}.mobile-card-label{color:var(--accent-soft)}.mobile-card-badge{color:#fff;background:#ffffff14;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;display:inline-flex}.mobile-card-title-row,.mobile-score-row,.mobile-actions{gap:12px;display:flex}.mobile-card-title-row,.mobile-score-row{justify-content:space-between;align-items:flex-start}.mobile-highlight-panel{background:#4ade8014;border-radius:20px;gap:8px;padding:16px;display:grid}.mobile-choice-list,.mobile-progress-list,.mobile-feedback-list{gap:12px;display:grid}.mobile-choice-card{text-align:left;width:100%;color:inherit;cursor:pointer;background:#ffffff0a;border-radius:20px;gap:6px;padding:16px;display:grid}.mobile-choice-card.active{background:#ff7a591f;border-color:#ff7a5966}.mobile-choice-card strong{font-size:1rem}.mobile-choice-card small{color:var(--secondary)}.mobile-file-picker{cursor:pointer;background:#ffffff08;border:1px dashed #ffffff38;border-radius:22px;gap:6px;padding:16px 18px;display:grid}.mobile-file-picker input{display:none}.mobile-file-picker-title{color:#fff;font-size:1rem;font-weight:700}.mobile-file-picker-copy{color:var(--muted)}.mobile-upload-preview,.mobile-upload-preview-meta,.mobile-upload-meta-grid,.mobile-empty-upload-state{gap:14px;display:grid}.mobile-upload-preview-player{aspect-ratio:9/16;object-fit:cover;background:#050b14;border-radius:22px;width:100%}.mobile-upload-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-upload-meta-item,.mobile-empty-upload-state{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:14px 16px}.mobile-upload-meta-item span,.mobile-empty-upload-state span{color:var(--muted);font-size:.86rem}.mobile-upload-meta-item strong{margin-top:6px;display:block}.mobile-inline-note{background:#ffffff0a;border-radius:18px;margin:0;padding:14px 16px}.mobile-inline-note-error{color:#ffd4c7;background:#ff7a591a;border:1px solid #ff7a594d}.mobile-inline-note-success{color:#d7ffe4;background:#4ade801a;border:1px solid #4ade8047}.mobile-actions{justify-content:space-between;margin-top:8px}.mobile-actions-inline{margin-top:0}.mobile-button{cursor:pointer;border:0;border-radius:999px;min-height:48px;padding:0 18px;transition:transform .12s,opacity .12s}.mobile-button:hover{transform:translateY(-1px)}.mobile-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.mobile-button-primary{background:linear-gradient(135deg, var(--accent), #ff946d);color:#101722;font-weight:700}.mobile-button-secondary{color:#f3f6fb;background:#ffffff0f;border:1px solid #ffffff14}.mobile-progress-meter{background:#ffffff14;border-radius:999px;width:100%;height:12px;overflow:hidden}.mobile-progress-meter-fill{border-radius:inherit;background:linear-gradient(90deg, var(--secondary), #8cf0ae);height:100%;transition:width .24s;display:block}.mobile-progress-item{background:#ffffff0a;border-radius:18px;align-items:center;gap:12px;padding:14px 16px;display:flex}.mobile-progress-item-upcoming{box-shadow:none}.mobile-score-row{gap:18px}.mobile-score-row p{margin:8px 0 0}.mobile-score-pill{background:#ffffff14;border-radius:22px;justify-items:end;gap:4px;min-width:92px;padding:14px 16px;display:grid}.mobile-score-pill strong{font-size:2rem;line-height:1}.mobile-feedback-list{margin:0;padding-left:20px}.mobile-feedback-list li::marker{color:var(--secondary)}.mobile-feedback-list-warning li::marker{color:var(--accent)}@media (width<=960px){.mobile-pwa-stagebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-shell{padding:24px 14px 40px}.mode-switch{border-radius:24px;width:100%}.mode-switch-button{flex:calc(50% - 8px);min-width:0}.mobile-card,.mobile-pwa-header{border-radius:24px;padding:18px}.mobile-card-title-row,.mobile-score-row,.mobile-actions{flex-direction:column}.mobile-upload-meta-grid{grid-template-columns:1fr}.mobile-actions .mobile-button{width:100%}}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent-soft);margin:0 0 10px;font-size:.76rem}.workspace-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:start;gap:22px;display:grid}.vision-lab-shell,.mvp-lab-shell,.audio-lab-shell,.transcript-lab-shell,.mvp-lab-workspace,.vision-lab-workspace,.audio-lab-workspace,.transcript-lab-workspace,.mvp-lab-source-stack,.vision-lab-source-stack,.audio-lab-source-stack,.transcript-lab-source-stack,.mvp-lab-metrics-column,.vision-lab-metrics-column,.audio-lab-metrics-column,.transcript-lab-metrics-column,.tuning-list,.hand-focus-debug{gap:22px;display:grid}.vision-lab-header,.mvp-lab-header,.audio-lab-header,.transcript-lab-header{margin-bottom:22px}.vision-lab-header h2,.mvp-lab-header h2,.audio-lab-header h2,.transcript-lab-header h2{margin:0 0 8px}.vision-lab-header p,.mvp-lab-header p,.audio-lab-header p,.transcript-lab-header p{color:var(--muted);margin:0}.mvp-lab-workspace,.vision-lab-workspace,.audio-lab-workspace,.transcript-lab-workspace{grid-template-columns:500px minmax(0,1fr);align-items:start}.mvp-lab-source-column,.vision-lab-source-column,.audio-lab-source-column,.transcript-lab-source-column{place-self:start;width:min(100%,500px);min-width:0;max-width:500px;position:sticky;top:20px}.audio-lab-source-column{position:relative;top:auto}.mvp-lab-metrics-column,.vision-lab-metrics-column,.audio-lab-metrics-column,.transcript-lab-metrics-column{align-items:start;min-width:0;max-height:calc(100vh - 28px);padding-right:6px;overflow-y:auto}.audio-lab-metrics-column,.mvp-lab-metrics-column{max-height:none;padding-right:0;overflow:visible}.full-body-panel,.mvp-lab-source-column .lab-panel,.vision-lab-source-column .lab-panel,.audio-lab-source-column .lab-panel,.transcript-lab-source-column .lab-panel{width:100%;max-width:500px}.lab-panel{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:24px;gap:14px;padding:20px;display:grid}.full-body-panel .analyzer-card{box-shadow:none;background:0 0;border:none;padding:0}.face-placeholder,.tuning-item,.audio-metric-card,.audio-capability-card,.audio-transcript-interim,.audio-transcript-segment{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:14px}.face-placeholder p,.tuning-item p{color:var(--muted);margin:8px 0 0}.face-focus-status-row{flex-wrap:wrap;gap:8px;display:flex}.face-focus-status-chip{color:#eef4ff;letter-spacing:.01em;background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;align-items:center;min-height:28px;padding:6px 10px;font-size:.82rem;display:inline-flex}.face-focus-status-chip-reliable{color:#dfffe9;background:#4ade8029;border-color:#4ade8052}.face-focus-status-chip-held{color:#fff0ea;background:#ffb09724;border-color:#ffb09752}.face-focus-status-chip-tracked{color:#e0f4ff;background:#74c9ff24;border-color:#74c9ff52}.lab-crop-canvas{aspect-ratio:16/11;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;width:100%}.lab-crop-canvas-portrait{aspect-ratio:13/18}.side-panel-stack{gap:22px;display:grid}.card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:24px}.analyzer-card,.metrics-card,.session-card{padding:20px}.controls-row,.panel-header,.snapshot-header,.metric-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:999px;padding:12px 18px;transition:transform .14s,opacity .14s,background-color .14s}.source-selector{background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;gap:8px;padding:6px;display:inline-flex}.source-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.source-selector-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 12px;font-size:.88rem}.source-selector-button.active{color:#fff8f5;background:#ff7a592e}.file-picker-button{white-space:nowrap;width:fit-content}.file-input{display:none}.file-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:.84rem;display:block;overflow:hidden}.uploaded-video-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-bottom:12px;font-size:.84rem;line-height:1.25;overflow:hidden}.uploaded-video-format-note{color:var(--muted);margin:-4px 0 2px;font-size:.82rem}.video-surface-heading{gap:4px;display:grid}.video-surface-heading h3{margin:0}.video-surface-heading p{color:var(--muted);margin:0}.primary-button{background:var(--accent);color:#fff8f5}.secondary-button{color:#f3f6fb;background:#ffffff14}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.analyzer-card .primary-button,.analyzer-card .secondary-button{padding:8px 14px;font-size:.9rem}.uploaded-video-actions{justify-content:center;display:flex}.uploaded-audio-actions{gap:10px;display:grid}.uploaded-video-controls{gap:10px;margin-top:12px;display:grid}.uploaded-video-controls-portrait{width:min(100%,360px);margin-inline:auto}.uploaded-video-timeline{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.timeline-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.timeline-slider{width:100%;margin:0}.playback-toggle-button{min-width:52px;padding:8px 0;font-size:1rem;line-height:1}.video-shell{aspect-ratio:16/9;background:linear-gradient(135deg,#ff7a5929,#4ade8014),#00000073;border-radius:22px;margin-top:18px;position:relative;overflow:hidden}.video-shell-portrait{width:min(100%,360px);margin-inline:auto}.video-feed,.video-overlay{width:100%;height:100%;position:absolute;inset:0}.video-feed{object-fit:cover}.video-shell-portrait .video-feed{object-fit:contain}.video-overlay{pointer-events:none}.video-feed.mirrored,.video-overlay.mirrored{transform:scaleX(-1)}.status-pill{z-index:2;background:#07101bc2;border:1px solid #ffffff14;border-radius:999px;padding:8px 12px;font-size:.9rem;position:absolute;top:14px;left:14px}.countdown-pill{z-index:2;color:#fff8f5;background:#ff7a59e0;border-radius:999px;padding:8px 12px;font-weight:700;position:absolute;top:14px;right:14px}.inline-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.inline-metrics div,.metric-block,.snapshot-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:14px}.inline-metrics span,.metric-header span,.snapshot-header span,.speaker-warning{color:var(--muted)}.inline-metrics strong,.metric-header strong{margin-top:6px;font-size:1.7rem;display:block}.inline-metrics p,.metric-block p,.snapshot-card pre{margin:8px 0 0}.exploration-note,.heatmap-placeholder{color:var(--muted)}.speaker-warning{margin:14px 0 0}.audio-panel-copy,.audio-transcript-segment p,.audio-empty-state,.transcript-output-card p{color:var(--muted);margin:0}.audio-control-row,.audio-transcript-meta,.audio-transcript-segment-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.audio-language-field,.audio-metric-groups,.audio-metric-group,.audio-transcript-list{gap:12px;display:grid}.audio-language-field span,.audio-transcript-meta span,.audio-transcript-segment-header span,.audio-empty-state{color:var(--muted);font-size:.88rem}.audio-language-field select{color:#f3f6fb;background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;width:100%;padding:10px 12px}.audio-language-field option{color:#08111f;background:#f3f6fb}.audio-capability-grid,.audio-metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.audio-backend-mode-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.audio-backend-mode-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;gap:8px;padding:14px;display:grid}.audio-backend-mode-card-active{background:linear-gradient(135deg,#ff7a5914,#74c9ff08),#ffffff0a;border-color:#ff7a5973;box-shadow:inset 0 0 0 1px #ff7a592e}.audio-backend-mode-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.transcript-file-meta,.transcript-debug-grid,.transcript-backend-list,.transcript-backend-grid,.transcript-backend-actions,.transcript-backend-metric-row,.transcript-reference-grid,.transcript-filler-grid{gap:12px;display:grid}.transcript-backend-card,.transcript-output-compare-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:16px}.transcript-backend-card-active,.transcript-output-compare-card-active{box-shadow:inset 0 0 0 1px #ff7a593d}.transcript-backend-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.transcript-backend-choice{color:var(--muted);align-items:center;gap:8px;display:flex}.transcript-backend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transcript-output-card-muted{opacity:.82}.transcript-output-card{background:linear-gradient(135deg,#74c9ff14,#ff7a590d),#ffffff0a;border:1px solid #74c9ff24;border-radius:18px;padding:16px}.transcript-output-card-emphasis{background:linear-gradient(135deg,#ff7a5914,#74c9ff0a),#ffffff0a}.transcript-reference-grid,.transcript-filler-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.transcript-preview-audio{width:100%}.transcript-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.transcript-metrics-grid-row{grid-template-columns:repeat(6,minmax(0,1fr))}.transcript-filler-card{background:linear-gradient(135deg,#ff7a591f,#74c9ff0f),#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;gap:6px;min-height:72px;padding:14px;display:grid}.transcript-filler-button{text-align:left;width:100%;color:inherit;cursor:pointer}.transcript-filler-card-active{background:linear-gradient(135deg,#ff7a5938,#ffb0971f),#ff7a591f;border-color:#ff7a5980;box-shadow:inset 0 0 0 1px #ff7a592e}.transcript-table-row-active{background:#74c9ff1f}.transcript-table-row-active td{color:#eef7ff}.transcript-highlight{color:#fff8f5;background:#ff7a5938;border-radius:.35rem;padding:0 .14rem}.transcript-table-wrap{overflow-x:auto}.transcript-table td{vertical-align:top}.audio-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-status-badge-row{flex-wrap:wrap;gap:10px;display:flex}.audio-status-badge{color:var(--muted);white-space:normal;overflow-wrap:anywhere;background:#ffffff0f;border:1px solid #ffffff0f;border-radius:999px;min-width:0;max-width:100%;padding:8px 12px;font-size:.84rem;line-height:1.25}.audio-capability-card,.audio-metric-card{min-height:92px}.audio-capability-card strong,.audio-transcript-interim strong,.audio-transcript-segment strong{margin-bottom:6px;display:block}.audio-capability-card span{color:var(--muted)}.audio-status-pill,.audio-transcript-status{color:#f3f6fb;background:#ffffff14;border-radius:999px;padding:8px 12px;font-size:.82rem}.audio-error-text{color:#ffcabd;margin:0}.audio-waveform-shell{background:linear-gradient(135deg,#ff7a591a,#4ade800f),#ffffff08;border:1px solid #ffffff0f;border-radius:18px;overflow:hidden}.audio-waveform-canvas{width:100%;height:220px;display:block}.audio-metric-group-title{margin:0;font-size:.95rem}.audio-metric-card{gap:8px;min-height:72px;display:grid}.audio-metric-card-top{gap:4px;display:grid}.audio-timeline-axis{color:var(--muted);justify-content:space-between;gap:0;font-size:.8rem;display:flex}.audio-timeline-axis span{flex:none}.audio-timeline-chart-shell{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:12px;overflow:hidden}.audio-chart-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.audio-chart-stat-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;gap:4px;min-height:72px;padding:12px 14px;display:grid}.audio-chart-stat-card span{color:var(--muted);font-size:.82rem}.audio-chart-stat-card strong{font-size:1.14rem}.audio-timeline-svg{width:100%;height:220px;display:block}.audio-pitch-range-selector{flex-wrap:wrap;width:fit-content}.audio-chart-scale-label{fill:#dbe7f6b8;font-variant-numeric:tabular-nums;font-size:15px}.audio-timeline-guide,.audio-timeline-baseline{stroke:#ffffff14;stroke-width:1px}.audio-timeline-area{fill:#ff7a5924}.audio-timeline-curve{stroke:#ff7a59;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.audio-pitch-timeline-area{fill:#74c9ff24}.audio-pitch-timeline-curve{stroke:#74c9ff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.config-summary{gap:6px;margin-top:12px;display:grid}.metrics-card,.metric-group{gap:14px;display:grid}.signals-group{gap:10px;display:grid}.vision-output-preview-panel,.vision-output-section,.vision-output-event-list{gap:14px;display:grid}.vision-output-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.vision-output-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.vision-output-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;gap:6px;min-height:78px;padding:14px;display:grid}.vision-output-card span{color:var(--muted);font-size:.84rem}.vision-output-card strong{color:#fff8f5;font-size:1.1rem}.vision-output-event-card strong{font-size:.96rem}.vision-output-json{white-space:pre-wrap;word-break:break-word;color:#dbe7f6;margin:12px 0 0;font-size:.9rem;overflow-x:auto}.debug-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.debug-card,.debug-block{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:14px}.debug-card{gap:12px;display:grid}.debug-block{padding:12px}.debug-block strong{margin-bottom:6px;display:block}.debug-line{color:var(--muted);margin:0;font-size:.92rem}.signals-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.signal-card{background:#ffffff09;border:1px solid #ffffff0f;border-radius:12px;gap:4px;min-height:72px;padding:8px 8px 6px;display:grid}.signal-card-top{min-width:0}.signal-label,.config-note,.config-table td,.config-table th{color:var(--muted)}.signal-label{font-size:.72rem;line-height:1.1;display:block}.signal-value{margin-top:1px;font-size:1.02rem;line-height:1;display:block}.signal-label-high,.signal-value-high{color:#baf7cc}.signal-label-medium,.signal-value-medium{color:#ffe1b8}.signal-label-low,.signal-value-low{color:#ffcabd}.signal-label-muted,.signal-value-muted{color:var(--muted)}.signal-progress{background:#ffffff14;border-radius:999px;height:4px;margin-top:auto;overflow:hidden}.signal-progress-fill{border-radius:inherit;height:100%;transition:width .22s,background-color .22s}.signal-progress-fill-high{background:linear-gradient(90deg,#4ade80b8,#4ade80)}.signal-progress-fill-medium{background:linear-gradient(90deg,#ffbe5cad,#ffbe5c)}.signal-progress-fill-low{background:linear-gradient(90deg,#ff7a59ad,#ff7a59)}.signal-progress-fill-muted{background:#ffffff1f}.lab-help-stack,.lab-help-list{gap:12px;display:grid}.lab-help-item{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:16px;padding:12px 14px}.lab-help-item strong{margin-bottom:6px;display:block}.lab-help-item p{color:var(--muted);margin:0;font-size:.88rem}.config-accordion summary{cursor:pointer;font-weight:600;list-style:none}.config-accordion summary::-webkit-details-marker{display:none}.config-table-wrap{margin-top:12px;overflow-x:auto}.config-table{border-collapse:collapse;width:100%;font-size:.9rem}.config-table th,.config-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:10px 12px}.metric-group-heading{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-soft);font-size:.8rem}.session-card{gap:16px;display:grid}.panel-header{align-items:flex-start}.panel-header h2,.section-heading h3,.snapshot-card h3{margin:4px 0 0}.section-heading p{color:var(--muted);margin:6px 0 0}.session-status-grid,.summary-grid,.range-grid,.moments-grid{gap:14px;display:grid}.session-status-grid,.summary-grid,.range-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.range-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:14px}.range-card span,.moment-subtitle,.moment-image-placeholder,.metric-label{color:var(--muted)}.range-card strong{margin-top:8px;font-size:1.2rem;display:block}.moments-section{gap:12px;display:grid}.heatmap-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;gap:12px;padding:14px;display:grid}.heatmap-image,.heatmap-placeholder{background:#ffffff0a;border-radius:16px;width:100%}.heatmap-image{aspect-ratio:16/9;object-fit:cover;display:block}.heatmap-placeholder{place-items:center;min-height:180px;display:grid}.moments-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.moment-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;overflow:hidden}.moment-card-best{box-shadow:inset 0 0 0 1px #4ade801f}.moment-card-weakest{box-shadow:inset 0 0 0 1px #ff7a592e}.moment-image-shell{aspect-ratio:16/9;background:#ffffff0a}.moment-image,.moment-image-placeholder{width:100%;height:100%}.moment-image{object-fit:cover;display:block}.moment-image-placeholder{place-items:center;display:grid}.moment-card-body{padding:14px}.moment-subtitle{margin:8px 0 12px}.label-row{flex-wrap:wrap;gap:8px;display:flex}.metric-label{background:#ffffff0f;border:1px solid #ffffff0f;border-radius:999px;padding:6px 10px;font-size:.82rem}.progress-bar{background:var(--track);border-radius:999px;height:12px;margin-top:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--secondary));height:100%}.snapshot-card pre{white-space:pre-wrap;word-break:break-word;color:#dbe7f6;font-size:.92rem;overflow-x:auto}.hand-debug-row{color:var(--muted);justify-content:space-between;gap:12px;margin-top:14px;font-size:.9rem;display:flex}@media (width<=980px){.workspace-grid,.mvp-lab-workspace,.vision-lab-workspace,.audio-lab-workspace,.transcript-lab-workspace{grid-template-columns:1fr}.mvp-lab-source-column,.vision-lab-source-column,.audio-lab-source-column,.transcript-lab-source-column,.full-body-panel,.mvp-lab-source-column .lab-panel,.vision-lab-source-column .lab-panel{width:100%;max-width:none}.mvp-lab-metrics-column,.vision-lab-metrics-column{max-height:none;padding-right:0;overflow:visible}.mvp-lab-source-column,.vision-lab-source-column,.audio-lab-source-column,.transcript-lab-source-column{position:static}.audio-lab-metrics-column,.transcript-lab-metrics-column{max-height:none;padding-right:0;overflow:visible}.signals-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vision-output-metrics-grid,.vision-output-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.debug-grid{grid-template-columns:1fr}.moments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-shell{padding:24px 14px 40px}.controls-row,.panel-header,.source-toolbar,.audio-control-row,.audio-transcript-meta,.audio-transcript-segment-header,.observer-observation-top{flex-direction:column;align-items:stretch}.file-picker-button{width:100%}.uploaded-video-timeline{grid-template-columns:1fr;gap:6px}.hand-debug-row{flex-direction:column}.inline-metrics{grid-template-columns:1fr}.session-status-grid,.summary-grid,.range-grid,.moments-grid,.signals-grid,.vision-output-metrics-grid,.vision-output-event-list,.audio-capability-grid,.audio-metrics-grid,.transcript-metrics-grid,.transcript-metrics-grid-row,.transcript-reference-grid,.transcript-filler-grid,.transcript-backend-grid,.observer-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-timeline-chart-shell{padding:10px}.signal-card{min-height:56px}}@media (width<=560px){.signals-grid,.vision-output-metrics-grid,.vision-output-event-list,.audio-capability-grid,.audio-metrics-grid,.transcript-metrics-grid,.transcript-metrics-grid-row,.transcript-reference-grid,.transcript-filler-grid,.transcript-backend-grid,.observer-toolbar{grid-template-columns:1fr}.audio-status-badge-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.audio-timeline-axis{font-size:.74rem}}.lab-panel-compact{gap:12px}.backend-chip-row,.transcript-form-grid{gap:22px;display:grid}.observer-panel-shell,.observer-status-row,.observer-section,.observer-observation-list,.observer-limitations-list{gap:14px;display:grid}.observer-panel-heading{gap:6px}.observer-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.observer-run-button{min-width:220px}.observer-status-pill,.observer-confidence-chip,.observer-evidence-chip{width:fit-content;color:var(--muted);background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;padding:8px 12px;font-size:.82rem;display:inline-flex}.observer-status-pill-active{color:#fff8f5;background:#74c9ff24;border-color:#74c9ff61}.observer-status-pill-success{color:#effff3;background:#4ade8024;border-color:#4ade805c}.observer-status-pill-failed{color:#fff0ea;background:#ff7a5929;border-color:#ff7a5966}.observer-status-text,.observer-error-text,.observer-summary-card p,.observer-observation-card p,.observer-limitation-card p{color:var(--muted);margin:0}.observer-section-header{gap:4px;display:grid}.observer-section-header h4{margin:0}.observer-summary-card,.observer-observation-card,.observer-limitation-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;gap:10px;padding:16px;display:grid}.observer-summary-card{background:linear-gradient(135deg,#ff7a591f,#74c9ff0d),#ffffff0a}.observer-observation-card-accent{background:linear-gradient(135deg,#4ade8024,#74c9ff0a),#ffffff0a;border-color:#4ade8029}.observer-observation-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.observer-observation-top strong{color:#fff8f5}.observer-confidence-chip{color:#e0f4ff;text-transform:capitalize;background:#74c9ff1f;border-color:#74c9ff47}.observer-evidence-list{flex-wrap:wrap;gap:8px;display:flex}.observer-evidence-chip{color:#dbe7f6;background:#ffffff0a}.browser-stt-note,.transcript-checkbox-field,.transcript-job-summary,.transcript-job-meta,.transcript-job-stage,.transcript-output-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:14px}.browser-stt-copy{min-width:0;max-width:100%;color:var(--muted);white-space:normal;overflow-wrap:anywhere;font-size:.84rem;line-height:1.4;display:block}.transcript-checkbox-field{align-items:flex-start;gap:12px;display:flex}.transcript-checkbox-field input{margin-top:3px}.transcript-checkbox-field span{gap:4px;display:grid}.transcript-checkbox-field small{color:var(--muted);font-size:.82rem}.audio-status-badge-active{color:#fff8f5;background:#ff7a5924;border-color:#ff7a5980}.primary-button-block{text-align:center;justify-self:stretch;width:100%;font-weight:600}.mvp-indicator-config-grid{gap:12px;display:grid}.mvp-indicator-toggle-list{gap:10px;display:grid}.mvp-indicator-toggle{color:var(--muted);align-items:center;gap:10px;display:flex}.transcript-output-card p{color:#dbe7f6;margin:0}.transcript-job-summary strong{color:#fff8f5;font-size:1rem;display:block}.transcript-job-summary,.transcript-job-meta,.transcript-job-stage{gap:10px;display:grid}.transcript-job-stage{background:#ffffff08;border-color:#ffffff0d}
