:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#101114;color:#f4f1ea;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#101114}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled,label[aria-disabled=true]{cursor:not-allowed;opacity:.55}.app-shell{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:24px 0 32px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 20px}.app-header h1,.review-header h2,.panel-heading h2,.panel-heading h3{margin:0;letter-spacing:0}.app-header h1{font-size:clamp(2rem,6vw,3rem);line-height:1}.eyebrow{margin:0 0 6px;color:#9ccfb6;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.import-button,.secondary-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid #4b6f5f;border-radius:8px;background:#d8f3dc;color:#142016;font-weight:750;padding:0 16px;white-space:nowrap}.import-button input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.secondary-button{background:#1d1f24;color:#f4f1ea}.danger-button{border-color:#8d4949;color:#ffc9c9}.notice{margin:0 0 14px;border:1px solid #6f6240;border-radius:8px;background:#282411;color:#ffe8a3;padding:12px 14px}.notice-error{border-color:#784545;background:#2b1717;color:#ffc9c9}.workspace{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;align-items:start}.swing-list,.review-panel{border:1px solid #2d3138;border-radius:8px;background:#17191e}.swing-list{overflow:hidden}.panel-heading,.review-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading{border-bottom:1px solid #2d3138;padding:14px 16px}.panel-heading h2,.panel-heading h3{font-size:1rem}.panel-heading span{color:#a8aca7;font-size:.9rem}.panel-title{display:grid;gap:3px}.swing-list ul{list-style:none;margin:0;padding:0}.swing-item{display:grid;width:100%;gap:4px;border:0;border-bottom:1px solid #252931;background:transparent;color:#f4f1ea;padding:13px 16px;text-align:left}.swing-item:hover,.swing-item-active{background:#22272d}.swing-name{overflow-wrap:anywhere;font-weight:700}.swing-meta{color:#a8aca7;font-size:.86rem}.swing-tags{color:#9ccfb6;font-size:.82rem;font-weight:700}.empty-state,.empty-review,.video-placeholder{color:#a8aca7;padding:24px 16px}.review-panel{min-height:520px;padding:16px}.review-header{margin-bottom:14px}.review-header h2{max-width:min(62vw,680px);overflow-wrap:anywhere;font-size:clamp(1.2rem,3vw,1.7rem)}.video-frame{display:grid;min-height:260px;place-items:center;overflow:hidden;border:1px solid #2d3138;border-radius:8px;background:#050608}.video-frame video{display:block;width:100%;max-height:62vh;background:#050608}.video-placeholder{min-height:260px;display:grid;place-items:center}.detail-grid,.decode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.detail-grid div,.anchor-row,.decode-grid div{min-width:0;border:1px solid #2d3138;border-radius:8px;background:#1d2025;padding:12px}.detail-grid span,.anchor-row span,.decode-grid span{display:block;color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.detail-grid strong,.anchor-row strong,.decode-grid strong{display:block;overflow-wrap:anywhere;margin-top:5px;color:#f4f1ea}.analysis-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,auto);align-items:center;gap:12px;border:1px solid #3f6f58;border-radius:8px;background:#16251d;padding:12px}.analysis-panel span{display:block;color:#9ccfb6;font-size:.78rem;font-weight:700;text-transform:uppercase}.analysis-panel strong{display:block;color:#f4f1ea;margin-top:4px}.shot-panel,.anchor-panel,.metrics-panel,.decode-panel,.pose-panel,.gemini-lab-panel{border:1px solid #2d3138;border-radius:8px;overflow:hidden}.shot-panel,.metrics-panel,.decode-panel,.pose-panel,.gemini-lab-panel{margin-top:14px}.shot-panel{border-color:#3f6f58;margin-bottom:14px;margin-top:0}.diagnostics-panel{margin-top:14px;border:1px solid #2d3138;border-radius:8px;background:#15171b;overflow:hidden}.diagnostics-panel summary{cursor:pointer;color:#a8aca7;font-size:.86rem;font-weight:700;padding:12px}.diagnostics-panel[open] summary{border-bottom:1px solid #2d3138}.diagnostics-panel .decode-panel,.diagnostics-panel .pose-panel,.diagnostics-panel .gemini-lab-panel{margin-top:0;border:0;border-radius:0}.diagnostics-panel .decode-panel,.diagnostics-panel .pose-panel{border-bottom:1px solid #2d3138}.gemini-lab-body{display:grid;gap:10px}.gemini-lab-heading{border-bottom:0}.gemini-lab-progress,.gemini-lab-empty,.gemini-lab-results{margin:0 12px 12px}.gemini-lab-progress{display:grid;gap:7px;color:#a8aca7;font-size:.88rem}.gemini-lab-progress progress{width:100%}.gemini-lab-empty{border:1px solid #343941;border-radius:8px;color:#a8aca7;padding:12px}.gemini-lab-error{margin:0 12px 12px}.gemini-lab-results{display:grid;gap:10px}.gemini-lab-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:stretch}.gemini-lab-summary>div,.gemini-lab-anchor-card{border:1px solid #343941;border-radius:8px;background:#101216;padding:10px}.gemini-lab-summary span,.gemini-lab-anchor-card span,.gemini-lab-candidate figcaption span{display:block;color:#a8aca7;font-size:.76rem;font-weight:700;text-transform:uppercase}.gemini-lab-summary strong,.gemini-lab-anchor-card strong,.gemini-lab-candidate figcaption strong{display:block;margin-top:4px;color:#f4f1ea}.gemini-lab-anchor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gemini-lab-anchor-card{display:grid;gap:6px}.gemini-lab-anchor-card small{color:#9ccfb6;font-weight:700}.gemini-lab-anchor-card p{margin:0;color:#c8cdc4;font-size:.88rem;line-height:1.4}.gemini-lab-candidates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gemini-lab-candidate{min-width:0;overflow:hidden;margin:0;border:1px solid #343941;border-radius:8px;background:#0d0f13}.gemini-lab-candidate img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#050608}.gemini-lab-candidate figcaption{display:grid;gap:3px;padding:8px}.shot-context-body{display:grid;gap:12px;padding:12px}.shot-reference-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto);gap:10px;align-items:center;border:1px solid #2d3138;border-radius:8px;background:#1d2025;padding:12px}.shot-reference-row span,.shot-option-section>span,.shot-note-field span{display:block;color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.shot-reference-row strong{display:block;margin-top:5px;color:#f4f1ea}.shot-option-section{display:grid;gap:8px}.shot-option-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.shot-option-button{min-height:38px;border:1px solid #3b414b;border-radius:8px;background:#17191e;color:#f4f1ea;font-size:.9rem;font-weight:750;padding:0 10px}.shot-option-button-active{border-color:#6fb18b;background:#193224;color:#d8f3dc}.shot-note-field{display:grid;gap:8px}.shot-note-field textarea{width:100%;resize:vertical;border:1px solid #3b414b;border-radius:8px;background:#111318;color:#f4f1ea;padding:10px 12px}.shot-note-field textarea::placeholder{color:#777d86}.shot-note-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.shot-note-actions small{color:#a8aca7}.shot-context-error{margin:0}.decode-body{padding:12px}.decode-body progress{width:100%;height:10px;accent-color:#9ccfb6}.decode-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:0}.decode-error{margin-top:10px;border:1px solid #784545;border-radius:8px;background:#2b1717;color:#ffc9c9;padding:10px 12px}.decode-note{margin-top:10px;color:#a8aca7;font-size:.9rem}.anchor-analysis-body{border-top:1px solid #2d3138}.anchor-error{margin:0 12px 12px}.anchor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}.anchor-review{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 12px 12px}.anchor-preview{min-width:0;overflow:hidden;border:1px solid #2d3138;border-radius:8px;background:#1d2025}.anchor-preview-image{display:grid;width:100%;aspect-ratio:16 / 9;place-items:center;overflow:hidden;border:0;background:#050608;color:#a8aca7;font-size:.86rem;padding:0}.anchor-preview-image:focus-visible{outline:3px solid #9ccfb6;outline-offset:-3px}.anchor-preview-image img{display:block;width:100%;height:100%;object-fit:contain}.anchor-preview-content{display:grid;gap:10px;padding:12px}.anchor-preview-content span{display:block;color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.anchor-preview-content strong{display:block;margin-top:5px}.anchor-preview-actions{display:grid;gap:8px}.anchor-preview-command-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.anchor-jump-button{min-height:36px;width:100%}.anchor-review-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px}.anchor-review-choice{min-height:34px;border:1px solid #3b414b;border-radius:8px;background:#17191e;color:#f4f1ea;font-size:.86rem;font-weight:700}.anchor-review-choice-active{border-color:#6fb18b;background:#193224;color:#d8f3dc}.anchor-review-choice-warn{border-color:#8d4949;background:#321b1b;color:#ffc9c9}.anchor-preview-error{grid-column:1 / -1;margin:0}.anchor-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#050608e0;padding:14px}.anchor-dialog{display:grid;width:min(980px,100%);max-height:min(92vh,900px);gap:12px;overflow:auto;border:1px solid #3b414b;border-radius:8px;background:#17191e;padding:14px}.anchor-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.anchor-dialog-header span{display:block;color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.anchor-dialog-header h4{margin:4px 0 0;font-size:1.1rem;letter-spacing:0}.anchor-dialog-close{min-width:92px}.anchor-dialog-image{display:grid;min-height:260px;max-height:62vh;place-items:center;overflow:hidden;border:1px solid #2d3138;border-radius:8px;background:#050608;color:#a8aca7}.anchor-dialog-image img{display:block;width:100%;max-height:62vh;object-fit:contain}.anchor-dialog-steps,.anchor-dialog-actions{display:grid;gap:8px}.anchor-dialog-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.anchor-dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.anchor-step-button{min-height:42px;border:1px solid #3b414b;border-radius:8px;background:#1d1f24;color:#f4f1ea;font-weight:750}.anchor-use-button{width:100%}.anchor-dialog-error{margin:0}.metrics-body{display:grid;gap:12px;padding:12px}.metrics-progress-body{padding:0}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-card{min-width:0;border:1px solid #2d3138;border-radius:8px;background:#1d2025;padding:12px}.metric-card span,.metric-overlay-caption span{display:block;color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric-card strong,.metric-overlay-caption strong{display:block;margin-top:5px;color:#f4f1ea}.metric-quality-panel{display:grid;gap:10px;border:1px solid #2d3138;border-radius:8px;background:#1a1d22;padding:12px}.metric-quality-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-quality-header span,.metric-quality-card span{color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric-quality-header strong,.metric-quality-card strong{color:#f4f1ea}.metric-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-quality-card{display:grid;min-width:0;gap:5px;border:1px solid #343941;border-radius:8px;background:#15171b;padding:10px}.metric-quality-card small{color:#a8aca7}.metric-quality-good{border-color:#4b8060}.metric-quality-review{border-color:#8a7334}.metric-quality-poor{border-color:#8d4949}.metric-comparison-panel{display:grid;gap:10px;border:1px solid #2d3138;border-radius:8px;background:#1a1d22;padding:12px}.metric-comparison-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-comparison-header span,.metric-comparison-focus-card span,.metric-comparison-priorities>span,.metric-comparison-row span{display:block;color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric-comparison-header strong,.metric-comparison-focus-card strong,.metric-comparison-row strong{display:block;margin-top:4px;color:#f4f1ea}.metric-comparison-quality{border:1px solid #343941;border-radius:8px;color:#f4f1ea;font-size:.82rem;font-weight:750;padding:7px 10px;white-space:nowrap}.metric-comparison-quality-good{border-color:#4b8060;background:#193224}.metric-comparison-quality-review{border-color:#8a7334;background:#2a2413}.metric-comparison-quality-poor{border-color:#8d4949;background:#321b1b}.metric-comparison-empty{border:1px solid #343941;border-radius:8px;color:#a8aca7;padding:12px}.metric-comparison-reference-note{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #3f6f58;border-radius:8px;background:#16251d;color:#d8f3dc;font-size:.88rem;padding:10px}.metric-comparison-pin-button{min-height:34px;border:1px solid #4f7b62;border-radius:8px;background:#101812;color:#d8f3dc;cursor:pointer;font-size:.82rem;font-weight:750;padding:0 10px;white-space:nowrap}.metric-comparison-pin-button:hover:not(:disabled){border-color:#6aa47c;background:#1c3323}.metric-comparison-pin-button:disabled{cursor:not-allowed;opacity:.65}.metric-comparison-pin-button-active{border-color:#8a7334;background:#2a2413;color:#f8e7ad}.metric-comparison-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-comparison-select-field{display:grid;min-width:0;gap:7px}.metric-comparison-select-field span{display:block;color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric-comparison-select-field select{min-width:0;width:100%;min-height:42px;border:1px solid #3b414b;border-radius:8px;background:#111318;color:#f4f1ea;font-weight:700;padding:0 10px}.metric-comparison-select-field select:disabled{opacity:.62}.metric-comparison-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-comparison-focus-card{display:grid;min-width:0;gap:4px;border:1px solid #3f6f58;border-radius:8px;background:#16251d;padding:10px}.metric-comparison-focus-card small{color:#9ccfb6;font-weight:750}.metric-comparison-priorities{display:grid;gap:8px;border:1px solid #343941;border-radius:8px;background:#15171b;padding:10px}.metric-comparison-priority-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-comparison-priority-card{display:grid;min-width:0;gap:5px;border:1px solid #3b414b;border-radius:8px;background:#101216;padding:10px}.metric-comparison-priority-card strong{color:#f4f1ea}.metric-comparison-priority-card small{color:#c8cdc4;font-size:.88rem;line-height:1.4}.metric-comparison-notes{display:grid;gap:8px;border:1px solid #343941;border-radius:8px;background:#15171b;padding:10px}.metric-comparison-notes>span{color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric-comparison-notes ul{display:grid;gap:6px;margin:0;padding:0 0 0 18px}.metric-comparison-notes li{color:#f4f1ea;font-size:.9rem}.metric-comparison-frames{display:grid;gap:8px;border:1px solid #343941;border-radius:8px;background:#15171b;padding:10px}.metric-comparison-frames-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-comparison-frames-header span,.metric-comparison-frame-anchor span,.metric-comparison-frame-caption span{display:block;color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric-comparison-frames-header strong,.metric-comparison-frame-caption strong{color:#f4f1ea}.metric-comparison-fit-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:1px solid #343941;border-radius:8px;background:#111318;padding:4px}.metric-comparison-fit-button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#a8aca7;font-size:.82rem;font-weight:750;padding:0 10px;white-space:nowrap}.metric-comparison-fit-button-active{background:#d8f3dc;color:#142016}.metric-comparison-frame-row{display:grid;gap:7px}.metric-comparison-frame-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-comparison-frame-card{min-width:0;overflow:hidden;border:1px solid #2d3138;border-radius:8px;background:#1d2025}.metric-comparison-frame-image{display:grid;width:100%;aspect-ratio:16 / 9;place-items:center;overflow:hidden;border:0;background:#050608;color:#a8aca7;font-size:.82rem;padding:0}.metric-comparison-frame-image:focus-visible{outline:3px solid #9ccfb6;outline-offset:-3px}.metric-comparison-frame-image img{display:block;width:100%;height:100%;object-fit:contain}.metric-comparison-frame-caption{padding:9px}.metric-comparison-frame-caption strong{display:block;margin-top:4px;overflow-wrap:anywhere}.metric-comparison-frame-error{margin:0}.metric-comparison-frame-dialog{width:min(1180px,100%)}.metric-comparison-dialog-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.metric-comparison-dialog-card{min-width:0;overflow:hidden;border:1px solid #2d3138;border-radius:8px;background:#1d2025}.metric-comparison-dialog-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #2d3138;padding:9px 10px}.metric-comparison-dialog-caption span{color:#a8aca7;font-size:.78rem;font-weight:700;text-transform:uppercase}.metric-comparison-dialog-caption strong{color:#f4f1ea;font-size:.88rem;overflow-wrap:anywhere}.metric-comparison-dialog-image{display:grid;min-height:220px;place-items:center;overflow:hidden;background:#050608}.metric-comparison-dialog-image img{display:block;width:100%;max-height:68vh;object-fit:contain}.metric-comparison-table{display:grid;gap:6px}.metric-comparison-row{display:grid;grid-template-columns:minmax(130px,1.35fr) repeat(3,minmax(86px,1fr));gap:8px;align-items:center;border:1px solid #343941;border-radius:8px;background:#15171b;padding:10px}.metric-overlay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric-overlay-card{min-width:0;overflow:hidden;border:1px solid #2d3138;border-radius:8px;background:#1d2025}.metric-overlay-image{display:grid;width:100%;aspect-ratio:16 / 9;place-items:center;overflow:hidden;border:0;background:#050608;color:#a8aca7;font-size:.86rem;padding:0}.metric-overlay-image:focus-visible{outline:3px solid #9ccfb6;outline-offset:-3px}.metric-overlay-image img{display:block;width:100%;height:100%;object-fit:contain}.metric-overlay-caption{padding:12px}.metrics-error,.metric-overlay-error{margin:0}.metric-overlay-dialog{width:min(1080px,100%)}.metric-overlay-dialog-image,.metric-overlay-dialog-image img{max-height:72vh}.empty-review{min-height:480px;display:grid;place-items:center;text-align:center}@media (max-width: 820px){.app-shell{width:min(100vw - 20px,680px);padding-top:16px}.app-header,.review-header,.panel-heading{align-items:stretch;flex-direction:column}.workspace,.detail-grid,.analysis-panel,.anchor-grid,.anchor-review,.metrics-grid,.metric-quality-grid,.metric-comparison-select-grid,.metric-comparison-focus,.metric-comparison-priority-list,.metric-comparison-row,.metric-overlay-grid,.gemini-lab-summary,.gemini-lab-anchor-grid,.gemini-lab-candidates,.decode-grid{grid-template-columns:1fr}.review-header h2{max-width:100%}.import-button,.secondary-button{width:100%}.anchor-preview-command-row,.metric-quality-header,.metric-comparison-header,.metric-comparison-reference-note,.metric-comparison-frames-header,.shot-reference-row,.anchor-dialog-header,.anchor-dialog-actions{grid-template-columns:1fr}.metric-comparison-reference-note{align-items:stretch;flex-direction:column}.metric-quality-header,.metric-comparison-header,.anchor-dialog-header{display:grid}.metric-comparison-quality{white-space:normal}.metric-comparison-fit-toggle{width:100%}.metric-comparison-fit-button{min-width:0;white-space:normal}.anchor-dialog{max-height:94vh;padding:10px}.anchor-dialog-image,.anchor-dialog-image img,.metric-overlay-dialog-image,.metric-overlay-dialog-image img{max-height:58vh}}
