: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{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}.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}.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}.anchor-panel,.decode-panel,.pose-panel{border:1px solid #2d3138;border-radius:8px;overflow:hidden}.decode-panel,.pose-panel{margin-top:14px}.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-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}.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{align-items:stretch;flex-direction:column}.workspace,.detail-grid,.anchor-grid,.decode-grid{grid-template-columns:1fr}.review-header h2{max-width:100%}.import-button,.secondary-button{width:100%}}
