:root{font-family:Avenir Next,Segoe UI,system-ui,sans-serif;color:#272c29;background:#f2eee5;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #272c29;--muted: #77786f;--paper: #f8f5ed;--cream: #e9e2d4;--line: #d8d0c1;--orange: #df7358;--green: #3d6254;--yellow: #efc75e;--type-caption: 9px;--type-small: 10px;--type-body: 12px;--type-subheading: 16px;--type-heading: 22px;--type-number: 26px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,select,input{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 82% 0%,rgba(229,207,169,.34),transparent 28rem),#f2eee5}.topbar{height:76px;max-width:1440px;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(39,44,41,.12)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-family:Georgia,serif;font-size:21px;font-weight:600}.brand em{color:var(--orange);font-weight:600}.brand-mark{width:31px;height:30px;position:relative;display:inline-flex;gap:3px;align-items:flex-end}.brand-mark i{width:5px;border-radius:5px;background:var(--ink);transform:rotate(15deg);transform-origin:bottom}.brand-mark i:nth-child(1){height:18px}.brand-mark i:nth-child(2){height:26px}.brand-mark i:nth-child(3){height:14px;background:var(--orange)}.privacy-badge{font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.06em;font-size:10px;padding:8px 12px;border:1px solid #c7c2b7;border-radius:99px;color:#5f655f;background:#f8f5ed8c}.privacy-badge span{color:#56806b;margin-right:5px}main{max-width:1440px;margin:auto}.hero{min-height:310px;padding:62px 62px 48px;display:flex;justify-content:space-between;align-items:flex-end}.eyebrow{margin:0 0 14px;font-family:DM Mono,monospace;color:var(--orange);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.hero h1{margin:0;font-family:Playfair Display,serif;font-size:clamp(42px,4.1vw,72px);line-height:1;letter-spacing:-.045em;font-weight:600}.hero h1 span{color:var(--orange);font-style:italic}.hero-copy{max-width:390px;margin:0 0 8px;color:#666a65;font-size:16px;line-height:1.7}.workspace{margin:0 32px;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(330px,.72fr);grid-template-areas:"setup setup" "profile profile" "video display";border:1px solid #cfc7b8;background:var(--paper);box-shadow:0 25px 75px #342d241a}.workspace.no-visual-source{grid-template-areas:"setup setup" "profile profile" "video video"}.video-card{grid-area:video;min-width:0;padding:0 24px 24px;display:flex;flex-direction:column}.video-stage{position:relative;aspect-ratio:16 / 10;background:#29302c;overflow:hidden;display:grid;place-items:center}.video-stage[hidden]{display:none}.video-stage video,.video-stage canvas{width:100%;height:100%;object-fit:contain;object-position:center center}.video-stage video{position:absolute;inset:0;display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;background:#29302c}.video-stage canvas{position:absolute;inset:0;pointer-events:none;z-index:1}.ideal-pattern-overlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.conducting-plane{position:absolute;z-index:3;left:5%;right:5%;border-top:2px dashed rgba(255,255,255,.9);pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.conducting-plane span{position:absolute;right:0;bottom:5px;padding:2px 5px;border-radius:3px;background:#1b1f1dc2;color:#fff;font-family:DM Mono,monospace;font-size:8px;letter-spacing:.04em}.ideal-pattern-overlay path{fill:none;stroke:#fafaf5db;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.75))}.ideal-beat-marker circle,.ideal-beat-marker rect{fill:#18605ceb;stroke:#fff;stroke-width:.65}.ideal-beat-marker text{fill:#fff;font-size:4.2px;font-weight:700}.ideal-training-ball{fill:#ffd24a;stroke:#17201e;stroke-width:.75;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.ideal-training-ball.running{fill:#ffb52e}.ideal-training-controls{margin-top:12px;padding:14px;border:1px solid #cfc6b6;border-radius:12px;background:linear-gradient(145deg,#faf8f1,#f0ece2);box-shadow:inset 3px 0 #df7358b8}.movement-character-hint{margin:10px 0 4px;padding:9px 10px;border-left:2px solid var(--green);color:#5f665f;background:#ffffff8a;font-family:Georgia,serif;font-size:12px;line-height:1.45}.ideal-position-mode{margin-top:12px}.automatic-position-note{margin:8px 0 0;color:#737970;font-size:10px;line-height:1.45}.ideal-scale-control{display:grid;grid-template-columns:minmax(92px,auto) 1fr 58px;gap:10px;align-items:center;margin-top:12px}.ideal-scale-control label{color:#4e554f;font-family:DM Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ideal-scale-control input{width:100%}.ideal-scale-control span{text-align:right;font-family:DM Mono,monospace;font-size:11px}.conducting-plane-control{margin:8px 0 2px;padding:9px 10px;border:1px solid #d1c8b9;border-radius:8px;background:#ffffff7a}.ideal-training-actions{display:flex;gap:8px;margin-top:12px}.ideal-training-actions button{flex:1;padding:9px 11px;border:1px solid #a8b0ad;border-radius:8px;background:#fff;color:#17201e;font-size:10px;font-weight:700;cursor:pointer}.ideal-training-actions button:first-child{border-color:var(--green);background:var(--green);color:#fff}.video-stage.mirrored video,.video-stage.mirrored canvas{transform:scaleX(-1)}.audio-only-media-collapsed{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;padding:10px 14px;border:1px solid var(--line);background:#f3efe5}.audio-only-media-collapsed>div{display:grid;gap:2px}.audio-only-media-collapsed strong{font-size:12px}.audio-only-media-collapsed small{color:var(--muted);font-size:9px}.audio-only-media-collapsed>span{color:var(--green);font-family:DM Mono,monospace;font-size:9px;font-weight:700;text-transform:uppercase}.audio-only-hidden-media{display:none}.selected-source-file{display:flex;align-items:center;gap:.75rem;padding:8px 12px;border:1px solid var(--line);border-top:0;background:#faf8f1;font-size:10px}.selected-source-file span{flex:0 0 auto;color:var(--muted);font-family:DM Mono,monospace;font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.selected-source-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-source-file small{min-width:0;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.audio-batch-selector{display:grid;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:#f7f3e9}.audio-batch-selector>div{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem}.audio-batch-selector button{flex:0 0 auto;padding:.5rem .7rem;border:1px solid #aaa69c;border-radius:7px;background:#fff;cursor:pointer}.audio-batch-selector button.active{border-color:var(--green);background:var(--green);color:#fff}.sync-match-table{margin-top:1rem;overflow-x:auto}.sync-match-table>div{min-width:760px;display:grid;grid-template-columns:.55fr .7fr 1fr 1fr .9fr 1fr;gap:.65rem;padding:.4rem .3rem;border-bottom:1px solid var(--line)}.sync-match-table>.header{font-weight:700}.unified-export-actions{display:flex;justify-content:flex-end;gap:.65rem;margin:-1rem 0 1.25rem;flex-wrap:wrap}.unified-export-actions button{padding:.6rem .8rem;border:1px solid #aaa69c;border-radius:8px;background:#fff;cursor:pointer;font-weight:700}.unified-export-actions button:disabled{cursor:not-allowed;opacity:.45}.video-recording-dock,.video-recording-section{order:-1;margin-bottom:12px;border:1px solid var(--line);background:#f7f3e9}.video-recording-section .video-recording-dock{margin:0;border:0;border-top:1px solid var(--line)}.video-recording-heading{padding:9px 14px;color:var(--green);font-size:10px;font-weight:700}.video-audio-monitor-dock:empty{display:none}.video-audio-monitor-dock .integrated-audio-monitor{margin:0;padding:10px 12px;border:1px solid var(--line);border-top:0;background:#f7f3e9}.integrated-recording-controls{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(360px,1.2fr);gap:12px 20px;align-items:center;padding:12px 14px}.recording-name-field{grid-column:1 / -1;display:grid;grid-template-columns:minmax(160px,auto) minmax(180px,1fr);gap:10px;align-items:center}.recording-name-field span{font-weight:700}.recording-name-field input{width:100%;min-width:0}.integrated-recording-status{display:grid;grid-template-columns:9px 1fr auto;gap:9px;align-items:center}.integrated-recording-status div{display:grid;gap:2px}.integrated-recording-status strong{font-size:12px}.integrated-recording-status small{color:var(--muted);font-size:9px}.integrated-recording-status b{font-family:DM Mono,monospace;font-size:11px}.recording-dot{width:8px;height:8px;border-radius:50%;background:#aaa89f}.integrated-recording-controls.recording .recording-dot{background:var(--orange);box-shadow:0 0 0 4px #df735826;animation:pulse 1.4s infinite}.integrated-recording-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}.integrated-recording-actions button{min-height:32px;padding:6px 10px;border:1px solid #aaa69c;border-radius:7px;background:#fff;font-size:10px;font-weight:700;cursor:pointer}.integrated-recording-actions button:first-child{border-color:var(--green);background:var(--green);color:#fff}.integrated-recording-actions button.danger{border-color:#b9584d;background:#fff;color:#8b3028}.integrated-recording-actions button:disabled{cursor:not-allowed;opacity:.42}.capture-privacy-note{grid-column:1 / -1;color:var(--muted);font-size:9px;line-height:1.45}.integrated-audio-monitor{grid-column:1 / -1}.metronome-control-dock{margin-top:10px}.integrated-metronome{padding:11px 12px;border:1px solid #d1c8b9;border-radius:10px;background:linear-gradient(135deg,#faf8f1,#f0ebe0)}.integrated-metronome-main{display:grid;grid-template-columns:auto 82px 1fr;gap:9px;align-items:center}.integrated-metronome-main>label{color:#555d57;font-family:DM Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.metronome-number{position:relative}.metronome-number input{width:100%;min-height:34px;padding:6px 32px 6px 8px;border:1px solid #bdb7aa;border-radius:7px;background:#fff}.metronome-number span{position:absolute;top:50%;right:7px;color:var(--muted);font-family:DM Mono,monospace;font-size:8px;transform:translateY(-50%);pointer-events:none}.integrated-metronome button{min-height:34px;padding:6px 9px;border:1px solid var(--green);border-radius:7px;background:var(--green);color:#fff;font-size:9px;font-weight:700;cursor:pointer}.integrated-metronome button.stop{border-color:#b9584d;background:#fff;color:#8b3028}.integrated-metronome.running{box-shadow:inset 3px 0 0 var(--orange)}.metronome-recording-option{display:grid;gap:4px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.metronome-recording-option small{color:var(--muted);font-size:9px;line-height:1.4}.empty-stage{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;color:#e7e3d9;background:radial-gradient(circle,#3a443f 0,#29302c 64%)}.empty-icon{font-size:64px;color:var(--yellow);transform:rotate(-12deg);height:64px}.empty-stage h2{margin:13px 0 5px;font-family:Playfair Display,serif;font-size:27px}.empty-stage p{margin:0;color:#aeb4ae;font-size:13px}.live-pill{position:absolute;top:16px;left:16px;padding:7px 10px;border-radius:3px;background:#1b1f1dc7;color:#fff;font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;font-size:9px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.live-pill span{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--orange);animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.3}}.stage-status{min-height:42px;display:flex;align-items:center;gap:9px;color:#747970;font-size:11px;font-family:DM Mono,monospace}.status-dot{width:7px;height:7px;border-radius:50%;background:#9a9d96;flex:0 0 auto}.status-dot.live{background:#51906e}.status-dot.error{background:var(--orange)}.control-card{display:contents}.control-section{padding:25px 28px;border-bottom:1px solid var(--line)}.control-card>.control-section:first-child{grid-area:setup}.compact-setup{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(180px,1.25fr) minmax(105px,.72fr) minmax(115px,.72fr) minmax(145px,1fr) minmax(150px,1.05fr);gap:10px;align-items:end;padding:13px 18px}.compact-setup-field{min-width:0}.compact-setup-field .field-label{min-height:18px;margin-bottom:4px;display:flex;align-items:flex-end;line-height:1.05}.compact-setup .source-actions{gap:5px}.compact-setup .source-button{min-height:35px;padding:6px 8px;gap:5px;justify-content:center}.compact-setup .source-button strong{font-size:14px}.compact-setup .source-button span{font-size:9px}.compact-setup select{height:35px;padding:6px 8px}.compact-setup .first-beat-field select{max-width:none}.compact-action{min-width:0}.compact-action .primary-button{height:35px;padding:0 12px;font-size:10px}.profile-section{display:contents}.profile-general{grid-area:profile;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;padding:0 18px 10px;border-bottom:1px solid var(--line)}.profile-general>.section-heading{grid-column:1 / -1;margin-bottom:2px}.profile-general>.field-label{align-self:end;margin:0}.profile-general>.segmented-control{grid-column:1}.profile-general>.field-row,.profile-general>.toggle-row,.profile-general>.tempo-control,.profile-general>.metronome-control-dock{margin:0}.compact-profile-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(120px,.8fr) minmax(118px,.55fr) minmax(190px,1.2fr);gap:12px;align-items:end}.compact-profile-field{min-width:0}.compact-profile-field .field-label{min-height:20px;margin-bottom:5px;display:flex;align-items:flex-end}.compact-profile-field .two-line-label{line-height:1.05}.first-beat-field select{max-width:150px}.advanced-analysis-options{grid-column:1 / -1;border-top:1px solid var(--line)}.advanced-analysis-options summary{padding:9px 0 0;color:var(--green);font-size:10px;font-weight:700;cursor:pointer}.advanced-analysis-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;padding-top:15px}.advanced-analysis-content>.field-row,.advanced-analysis-content>.toggle-row,.advanced-analysis-content>.tempo-control,.advanced-analysis-content>.metronome-control-dock{margin:0}.display-controls{grid-area:display;min-width:0;padding:22px 24px;border-left:1px solid var(--line)}.display-controls>.section-heading{margin-bottom:16px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:20px}.section-heading>span{display:grid;place-items:center;width:25px;height:25px;background:var(--ink);color:#fff;border-radius:50%;font-family:DM Mono,monospace;font-size:9px}.section-heading h2{font-size:13px;margin:0;text-transform:uppercase;letter-spacing:.08em}.source-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.analysis-mode-control{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:22px;border:1px solid #d2cabd}.analysis-mode-control button{min-height:42px;border:0;border-right:1px solid #d2cabd;background:transparent;font-size:10px;font-weight:700;cursor:pointer}.analysis-mode-control button:last-child{border-right:0}.analysis-mode-control button.active{background:var(--green);color:#fff}.analysis-mode-control button:disabled{opacity:.5;cursor:default}.source-heading{margin-top:4px}.source-button{min-width:0;min-height:70px;border:1px solid #d3ccbf;padding:12px;display:flex;gap:10px;align-items:center;text-align:left;background:transparent;cursor:pointer;transition:.2s ease}.source-button:hover:not(:disabled):not(.disabled){border-color:var(--orange);background:#fffaf3;transform:translateY(-1px)}.source-button.active{border-color:var(--orange);background:#fffaf3}.source-button:disabled,.source-button.disabled{opacity:.5;cursor:default}.source-button strong{font-size:20px;color:var(--orange);font-weight:500}.source-button span{font-size:11px;font-weight:700}.source-button small{display:block;margin-top:3px;color:#85877f;font-size:9px;font-weight:500}.source-button input{display:none}.field-label{display:block;color:#747970;font-family:DM Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:19px;border:1px solid #d2cabd}.segmented-control button{height:52px;border:0;border-right:1px solid #d2cabd;background:transparent;font-size:15px;cursor:pointer}.segmented-control button:last-child{border:0}.segmented-control button.active{color:#fff;background:var(--green)}.segmented-control small{display:block;font-size:8px;opacity:.68;text-transform:uppercase}.field-row{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;margin-bottom:18px}.field-row .field-label{margin:0}select{width:100%;padding:9px 10px;border:1px solid #d2cabd;background:#fbf8f0;font-size:10px;color:var(--ink)}.toggle-row{position:relative;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.toggle-row strong{display:block;font-size:11px}.toggle-row small{display:block;margin-top:2px;color:#898b84;font-size:8px}.toggle-row input{position:absolute;opacity:0}.toggle-row i{position:relative;width:36px;height:20px;border-radius:20px;background:#c8c7c0;transition:.2s}.toggle-row i:after{content:"";position:absolute;width:14px;height:14px;top:3px;left:3px;border-radius:50%;background:#fff;transition:.2s}.toggle-row input:checked+i{background:var(--orange)}.toggle-row input:checked+i:after{transform:translate(16px)}.tempo-control{display:grid;grid-template-columns:1fr 76px;align-items:center;gap:14px;margin-top:15px}.tempo-control>input{accent-color:var(--orange);width:100%}.tempo-control label{position:relative}.tempo-control label input{width:100%;padding:8px 29px 8px 8px;border:1px solid #d2cabd;background:#fbf8f0}.tempo-control label span{position:absolute;right:5px;top:11px;font-size:7px;color:#888}.manual-toggle{margin-top:18px;padding-top:17px;border-top:1px solid #ddd6ca}.action-section{grid-area:action;align-self:end;padding:14px 24px 12px;border:0}.manual-finish-section{grid-area:auto;grid-column:1 / -1;padding:8px 18px}.primary-button{width:100%;height:52px;border:0;padding:0 19px;display:flex;align-items:center;justify-content:space-between;background:var(--orange);color:#fff;font-weight:700;font-size:12px;cursor:pointer;transition:.2s ease}.primary-button:hover:not(:disabled){filter:brightness(.94);transform:translateY(-1px)}.primary-button:disabled{opacity:.45;cursor:default}.primary-button.stop{background:var(--green)}.manual-actions{display:grid;gap:8px}.secondary-button{width:100%;height:42px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border:1px solid #bfc2ba;background:transparent;color:var(--green);font-size:10px;font-weight:700;cursor:pointer}.secondary-button:hover:not(:disabled){background:#edf0ea}.secondary-button:disabled{opacity:.45;cursor:default}.microcopy{margin:11px 0 0;color:#888981;font-size:8px;line-height:1.55}.results-section{padding:105px 62px 90px;font-size:var(--type-body);line-height:1.5}.results-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.results-heading h2{margin:0;font-family:Playfair Display,serif;font-size:38px;letter-spacing:-.025em}.session-meta{display:flex;gap:7px}.session-meta span{padding:6px 9px;border:1px solid #d3ccbf;color:#767970;font-family:DM Mono,monospace;font-size:8px;text-transform:uppercase}.analysis-assumptions{margin:-12px 0 18px;padding:14px 17px;border:1px solid #d6cec0;background:#f8f4eb}.analysis-assumptions summary{cursor:pointer;color:#59645f;font-family:DM Mono,monospace;font-size:var(--type-small);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.analysis-assumptions ul{display:grid;gap:5px;margin:11px 0 0;padding-left:18px}.analysis-assumptions li{color:#666a64;font-size:var(--type-small);line-height:1.55}.visual-trim{display:grid;grid-template-columns:1fr 120px 120px auto;align-items:end;gap:10px;margin-bottom:18px;padding:14px 17px;border:1px solid #d6cec0;background:var(--paper)}.visual-trim p{margin:0 0 4px;font-size:var(--type-body);font-weight:700}.visual-trim small{color:#7b7e77;font-size:var(--type-caption)}.visual-trim label{position:relative;display:grid;gap:4px;color:#73766f;font-size:var(--type-caption)}.visual-trim input{width:100%;box-sizing:border-box;padding:8px 20px 8px 8px;border:1px solid #d2cabd;font-size:var(--type-small)}.visual-trim label span{position:absolute;right:7px;bottom:9px;font-size:var(--type-caption)}.visual-trim button{min-height:34px;border:0;padding:0 13px;background:var(--green);color:#fff;font-size:var(--type-small);font-weight:700;cursor:pointer}.ictus-diagnostic>strong{display:block;margin-bottom:6px}.ictus-diagnostic p{margin:4px 0}.ictus-by-beat{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin-top:10px}.ictus-by-beat>div{display:grid;gap:3px;padding:8px;border:1px solid #dfd2ba;background:#ffffff73}.ictus-by-beat b{font-size:9px}.ictus-by-beat span,.ictus-by-beat small{font-size:8px}.visual-timing-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.visual-timing-details article,.visual-transition-table,.visual-event-list{padding:15px;border:1px solid #d6cec0;background:var(--paper)}.visual-timing-details article span,.visual-timing-details article small{display:block;color:#777a73;font-size:8px}.visual-timing-details article strong{display:block;margin:6px 0;font-size:15px}.visual-transition-table,.visual-event-list{grid-column:1 / -1}.visual-transition-table>div{display:grid;grid-template-columns:1fr repeat(5,1.15fr);gap:8px;padding:5px 0;border-bottom:1px solid #e3ddd2;font-size:8px}.visual-event-list{display:grid;gap:5px;font-size:8px}.visual-event-list b{margin-bottom:3px}.visual-timing-details>small{grid-column:1 / -1;color:#777a73;font-size:8px}.score-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:10px}.hand-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.hand-comparison article{padding:17px;border:1px solid #d6cec0;background:var(--paper)}.hand-comparison article>p{margin:0 0 7px;color:#777a73;font-family:DM Mono,monospace;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.hand-comparison article>strong{display:block;margin-bottom:11px;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:500}.hand-comparison article>strong small{color:#777a73;font-family:DM Sans,sans-serif;font-size:10px}.hand-comparison dl{display:grid;gap:5px;margin:0}.hand-comparison dl div{display:flex;justify-content:space-between;gap:10px}.hand-comparison dt{color:#777a73;font-size:10px}.hand-comparison dd{margin:0;font-size:10px;font-weight:700;text-align:right}.hand-comparison .sync-score-card{border-color:#cdbce3;background:#f3eef9}.finger-gesture-summary{display:grid;grid-template-columns:1.1fr 2fr;gap:18px;margin-bottom:10px;padding:17px;border:1px solid #c9d7d3;background:#eef4f1}.finger-gesture-summary p{margin:0 0 6px;color:#61736d;font-family:DM Mono,monospace;font-size:var(--type-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.finger-gesture-summary strong{display:block;margin-bottom:5px;font-family:Cormorant Garamond,serif;font-size:var(--type-number);font-weight:500}.finger-gesture-summary small{color:#727d79;font-size:var(--type-caption);line-height:1.5}.finger-gesture-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:0}.finger-gesture-summary dl div{display:flex;justify-content:space-between;gap:8px}.finger-gesture-summary dt{color:#727d79;font-size:var(--type-small)}.finger-gesture-summary dd{margin:0;font-size:var(--type-small);font-weight:700}.overall-score,.metric-card,.detail-card{background:var(--paper);border:1px solid #d6cec0}.overall-score{padding:23px;display:flex;align-items:center;gap:21px}.score-ring{--score: 0;width:90px;height:90px;flex:0 0 auto;display:grid;place-content:center;justify-items:center;border-radius:50%;background:radial-gradient(closest-side,var(--paper) 77%,transparent 79%),conic-gradient(var(--orange) calc(var(--score) * 1%),#ddd6c9 0)}.score-ring strong{font-family:Playfair Display,serif;font-size:29px;line-height:1}.score-ring span{color:#898b84;font-size:8px}.overall-score p{margin:0 0 4px;color:#777a73;font-family:DM Mono,monospace;font-size:var(--type-caption);text-transform:uppercase}.overall-score h3{margin:0 0 6px;font-size:var(--type-subheading)}.overall-score small{color:#8a8b84;font-size:var(--type-caption)}.metric-card{padding:21px;display:flex;flex-direction:column;justify-content:space-between}.metric-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.metric-card span{color:#666a64;font-size:var(--type-body);line-height:1.4}.metric-card strong{font-family:Playfair Display,serif;font-size:var(--type-number)}.meter-track{height:4px;margin:22px 0 9px;background:#ded8cc;overflow:hidden}.meter-track i{display:block;height:100%;background:var(--green);transition:width .35s}.metric-card small{color:#787b75;font-size:var(--type-caption);line-height:1.5}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.detail-card{min-width:0;padding:24px}.card-title{display:flex;align-items:flex-start;justify-content:space-between}.card-title p{margin:0 0 3px;color:#7d8078;font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;font-size:8px}.card-title h3{margin:0;font-family:Playfair Display,serif;font-size:24px}.card-title>span{padding:5px 7px;background:#ede7db;color:#797b75;font-family:DM Mono,monospace;font-size:8px}.chart{width:100%;height:142px;margin-top:17px;overflow:visible}.chart-empty{height:159px;display:grid;place-items:center;color:#999990;font-size:10px;text-align:center}.axis-line{stroke:#c7c1b5;stroke-width:1}.axis-line.faint{opacity:.45;stroke-dasharray:3 4}.target-line{stroke:var(--orange);stroke-width:1;stroke-dasharray:5 4}.tempo-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-label{fill:#90928b;font-family:DM Mono,monospace;font-size:7px}.trajectory-line{fill:none;stroke:#8a9c92;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.beat-dot{fill:var(--orange);stroke:var(--paper);stroke-width:2}.beat-label{fill:#fff;font-size:7px;font-weight:700}.chart-note{margin:5px 0 0;color:#8c8e87;font-size:8px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd6ca;padding-top:12px}.stat-row span{color:#898b84;font-size:7px;text-transform:uppercase}.stat-row strong{display:block;margin-top:3px;color:var(--ink);font-size:10px;text-transform:none}.warning-list{margin-top:10px;display:grid;gap:6px}.warning-list p{margin:0;padding:10px 13px;display:flex;gap:9px;align-items:center;border:1px solid #e3c7b7;background:#f7e8dc;color:#7c5548;font-size:9px}.warning-list span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;color:#fff;background:var(--orange);font-weight:700}.audio-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1px;margin:0 0 10px;border:1px solid #d6cec0;background:#d6cec0}.audio-summary>div{padding:16px 18px;background:var(--paper)}.audio-summary span{display:block;color:#7d8078;font-family:DM Mono,monospace;font-size:8px;text-transform:uppercase}.audio-summary strong{display:block;margin-top:6px;font-family:Playfair Display,serif;font-size:20px}.audio-comparison-overview{display:grid;grid-template-columns:minmax(175px,.72fr) minmax(360px,2.4fr);margin:0 0 12px;border:1px solid #d6cec0;background:var(--paper)}.audio-comparison-overview>header{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:9px 12px;border-bottom:1px solid #ded8cd;font-size:10px}.audio-comparison-overview>header strong{margin-right:3px;font-size:11px}.audio-comparison-overview>header span{padding-left:8px;border-left:1px solid #cfc8bd}.audio-component-bars{display:grid;gap:8px;align-content:center;padding:12px;border-right:1px solid #ded8cd}.audio-component-bars div>span{display:block;margin-bottom:3px;font-size:8px}.audio-component-bars i{display:block;height:5px;background:#dededb;overflow:hidden}.audio-component-bars b{display:block;height:100%}.audio-component-bars b.stability{background:#4778bd}.audio-component-bars b.precision{background:#805ab4}.audio-component-bars b.amplitude{background:#278c91}.audio-transition-graphic{min-width:0;padding:9px 12px 8px}.audio-transition-graphic>p{margin:0 0 3px;font-size:8px}.transition-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));border-bottom:1px solid #d5cec2}.transition-column{min-width:0;display:grid;grid-template-rows:65px auto auto auto;justify-items:center;gap:2px;padding:0 4px 5px}.deviation-zone{position:relative;width:100%;border-bottom:1px solid #7f817d}.deviation-zone:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #a4a6a1}.deviation-zone i{position:absolute;left:50%;width:12px;transform:translate(-50%)}.deviation-zone i.positive{background:#4778bd}.deviation-zone i.negative{background:#d26565}.transition-column>strong{font-size:8px;font-weight:600}.transition-column>em{min-width:45px;padding:2px 5px;background:#9fd4d3;color:#203f40;font-size:8px;font-style:normal;text-align:center}.transition-column>small{color:#60645f;font-size:8px}.direct-analysis-settings{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(150px,.8fr) minmax(150px,.8fr) minmax(220px,1.4fr);gap:10px;align-items:end;padding:10px 12px;border-top:1px solid var(--line);background:#f3eee2}.direct-analysis-settings>strong{align-self:center;font-size:10px}.direct-analysis-settings label{display:grid;gap:4px;color:#70746e;font-size:8px}.direct-analysis-settings small{align-self:center;color:#777b74;font-size:8px;line-height:1.4}.info-notice{margin:0 0 10px;padding:11px 14px;border:1px solid #d9c890;background:#fff8df;color:#66582c;font-size:10px}.coaching-recommendation,.comparison-summary{margin:14px 0;padding:18px 20px;border:1px solid var(--line);background:#fff;font-size:var(--type-body);line-height:1.5}.coaching-recommendation{border-left:5px solid var(--green)}.coaching-recommendation.measurement{border-left-color:var(--orange)}.coaching-recommendation.refinement{border-left-color:var(--yellow)}.coaching-recommendation h3,.comparison-summary h3{margin:2px 0 8px;font-size:var(--type-subheading);line-height:1.3}.coaching-recommendation p{margin:5px 0}.coaching-recommendation>strong{display:block;margin-top:9px;font-size:var(--type-body)}.coaching-recommendation small{display:block;margin-top:9px;color:var(--muted);font-size:var(--type-small)}.coaching-recommendation .coaching-preserve{margin-top:9px;color:var(--ink);font-size:var(--type-body);font-family:inherit}.comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.visual-history-selector{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(280px,1.6fr) auto;gap:12px;align-items:end;margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);background:#f7f3e9}.visual-history-selector>div:first-child{display:grid;gap:3px}.visual-history-selector small,.visual-history-selector label>span{color:var(--muted);font-size:var(--type-small)}.visual-history-selector label{display:grid;gap:5px;min-width:0}.visual-history-selector select{width:100%;min-width:0;min-height:36px}.visual-history-navigation{display:flex;gap:7px}.visual-history-navigation button{min-height:36px;padding:7px 11px;border:1px solid #aaa69c;border-radius:7px;background:#fff;font-weight:700;cursor:pointer}.visual-history-navigation button:disabled{cursor:not-allowed;opacity:.42}.topbar-actions{display:flex;align-items:center;gap:12px}.brand-button{border:0;background:transparent;cursor:pointer}.practice-entry{min-height:34px;padding:7px 12px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--ink);font-weight:800;cursor:pointer}.practice-entry small{margin-left:4px;color:var(--accent);font-size:9px;letter-spacing:.09em;text-transform:uppercase}.practice-lab{width:min(1500px,calc(100% - 40px));margin:0 auto;padding:42px 0 70px}.practice-lab-hero{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}.practice-lab-hero h1{max-width:820px;margin:6px 0 10px;font-size:clamp(34px,5vw,68px);line-height:.98}.practice-lab-hero p:last-child{max-width:760px;color:var(--muted)}.practice-problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:10px;margin-bottom:24px}.practice-problem-grid>button{min-height:118px;padding:16px;border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;display:grid;align-content:start;gap:7px}.practice-problem-grid>button.selected{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.practice-problem-grid span,.practice-problem-grid small{color:var(--muted);line-height:1.4}.practice-problem-grid small{color:var(--accent)}.practice-path-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.8fr);border:1px solid var(--line);background:var(--paper)}.practice-path-layout>*{min-width:0}.practice-stage-list{padding:22px;border-right:1px solid var(--line)}.practice-stage-list h2{margin:0 0 16px}.practice-stage-list>button{width:100%;padding:12px 8px;border:0;border-top:1px solid var(--line);background:transparent;display:grid;grid-template-columns:28px 1fr;gap:8px;text-align:left;cursor:pointer}.practice-stage-list>button.selected{color:var(--accent)}.practice-stage-list>button:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.practice-stage-list>button div{display:grid;gap:3px}.practice-stage-list small{color:var(--muted)}.practice-stage-card{min-width:0;padding:clamp(24px,4vw,52px);overflow:hidden}.practice-stage-card h2{margin:5px 0 8px;font-size:clamp(26px,3vw,42px)}.practice-instruction{max-width:780px;font-size:var(--type-lead);line-height:1.5}.practice-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(165px,100%),1fr));gap:10px;margin:24px 0}.practice-settings>label,.practice-settings>div{min-height:94px;padding:12px;border:1px solid var(--line);display:grid;align-content:start;gap:6px}.practice-settings span,.practice-settings small{color:var(--muted);font-size:var(--type-small)}.practice-settings select{min-width:0;width:100%}.practice-settings strong{font-size:20px}.practice-progress-summary{display:flex;gap:10px;margin-bottom:18px}.practice-progress-summary>div{flex:1;padding:12px;background:var(--surface-soft);display:grid;gap:3px}.practice-progress-summary span{color:var(--muted);font-size:var(--type-small)}.practice-result{margin:16px 0;padding:16px;border-left:4px solid var(--accent);background:#fff8e1}.practice-result.passed{border-color:#3e6a59;background:#edf6f1}.practice-result.invalid{border-color:#8b8172;background:#f1eee7}.practice-result p{margin:6px 0}.practice-start{margin-top:8px}.practice-note{max-width:720px;color:var(--muted);font-size:var(--type-small)}.practice-coming-soon{padding:42px;border:1px solid var(--line);background:var(--paper)}.practice-live-workspace{min-width:0;margin-top:22px;border-top:1px solid var(--line);padding-top:18px;overflow:hidden}.practice-live-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin-bottom:10px}.practice-live-toolbar>*{min-width:0}.practice-live-toolbar>div:first-child{flex:1 1 230px}.practice-live-toolbar>button{flex:1 1 145px;white-space:normal;overflow-wrap:anywhere}.practice-live-toolbar>div:first-child{display:grid;grid-template-columns:12px 1fr;column-gap:8px;align-items:center}.practice-live-toolbar>div:first-child small{grid-column:2;color:var(--muted)}.practice-live-toolbar button{min-height:40px}.practice-camera-state{width:9px;height:9px;border-radius:50%;background:#aaa69c}.practice-camera-state.active{background:#3e6a59;box-shadow:0 0 0 4px #3e6a5924}.practice-video-stage{position:relative;width:100%;max-width:100%;aspect-ratio:16 / 9;min-height:280px;overflow:hidden;background:#18221f}.practice-video-stage video,.practice-video-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.practice-video-stage.mirrored video{transform:scaleX(-1)}.practice-camera-placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:5px;text-align:center;color:#f5f1e7}.practice-camera-placeholder span{color:#b8c0bc}.practice-live-status{min-height:38px;padding:10px 12px;background:var(--surface-soft);color:var(--muted)}@media(max-width:900px){.practice-lab{width:min(100% - 24px,760px);padding-top:24px}.practice-lab-hero{align-items:start;flex-direction:column}.practice-path-layout{grid-template-columns:minmax(0,1fr)}.practice-stage-list{border-right:0;border-bottom:1px solid var(--line)}.practice-stage-card{padding:clamp(18px,5vw,34px)}}.comparison-headline{font-size:var(--type-subheading);font-weight:700}.comparison-trends{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0}.comparison-trends article{display:grid;gap:3px;padding:10px;background:var(--paper);border-top:3px solid #aaa}.comparison-trends article.improved{border-top-color:var(--green)}.comparison-trends article.declined{border-top-color:var(--orange)}.comparison-trends article.stable{border-top-color:var(--yellow)}.comparison-trends span,.comparison-trends small{font-size:var(--type-small)}.results-section .ictus-by-beat b,.results-section .ictus-by-beat span,.results-section .ictus-by-beat small,.results-section .visual-timing-details article span,.results-section .visual-timing-details article small,.results-section .visual-transition-table>div,.results-section .visual-event-list,.results-section .visual-timing-details>small,.results-section .warning-list p,.results-section .audio-summary span,.results-section .audio-component-bars div>span,.results-section .audio-transition-graphic>p,.results-section .transition-column>strong,.results-section .transition-column>em,.results-section .transition-column>small,.results-section .sync-summary dt,.results-section .chart-note,.results-section .stat-row span{font-size:var(--type-caption)}.results-section .visual-timing-details article strong,.results-section .overall-score h3{font-size:var(--type-subheading)}.results-section .audio-summary strong,.results-section .sync-summary h3,.results-section .card-title h3{font-size:var(--type-heading)}.results-section .stat-row strong,.results-section .sync-summary dd,.results-section .audio-comparison-overview>header,.results-section .audio-comparison-overview>header strong{font-size:var(--type-small)}.sync-summary{display:grid;grid-template-columns:.85fr 1.6fr;gap:24px;margin:0 0 10px;padding:22px 24px;border:1px solid #d6cec0;background:var(--paper)}.sync-summary h3{margin:0;font-family:Playfair Display,serif;font-size:22px}.sync-summary dl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0}.sync-summary dl div{padding-left:12px;border-left:1px solid #ddd6ca}.sync-summary dt{color:#85877f;font-size:8px}.sync-summary dd{margin:5px 0 0;font-weight:700;font-size:12px}.how-it-works{margin:0 32px 90px;padding:55px 30px;border-top:1px solid #cbc4b7;border-bottom:1px solid #cbc4b7}.how-it-works>.eyebrow{text-align:center}.how-it-works>div{display:grid;grid-template-columns:repeat(3,1fr);max-width:980px;margin:34px auto 0}.how-it-works article{position:relative;padding:0 42px;text-align:center;border-right:1px solid #d3ccbf}.how-it-works article:last-child{border:0}.how-it-works article>span{color:var(--orange);font-family:DM Mono,monospace;font-size:9px}.how-it-works h3{margin:7px 0;font-family:Playfair Display,serif;font-size:22px}.how-it-works p{margin:0;color:#787b75;font-size:10px;line-height:1.6}footer{max-width:1376px;margin:auto;padding:20px 32px 30px;display:flex;justify-content:space-between;color:#898b84;font-family:DM Mono,monospace;font-size:8px;text-transform:uppercase;letter-spacing:.05em}@media(max-width:980px){.hero{padding:50px 32px 36px}.workspace{grid-template-columns:1fr;grid-template-areas:"setup" "profile" "display" "video"}.compact-setup{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-setup .source-field{grid-column:span 2}.video-card{border:0;border-bottom:1px solid var(--line)}.profile-general,.advanced-analysis-content{grid-template-columns:1fr 1fr}.display-controls{border-left:0;border-bottom:1px solid var(--line)}.score-grid{grid-template-columns:repeat(3,1fr)}.overall-score{grid-column:1 / -1}.results-section{padding:75px 32px}}@media(max-width:680px){.topbar{height:65px;padding:0 18px}.privacy-badge{font-size:0;padding:7px 9px}.privacy-badge:after{content:"Privat";font-size:9px}.hero{min-height:290px;padding:42px 22px 28px;display:block}.hero h1{font-size:54px}.hero-copy{margin-top:28px;font-size:13px}.workspace{margin:0 12px}.video-card{padding:10px}.video-stage{aspect-ratio:4 / 3}.control-card{display:block}.control-section{padding:23px 20px}.results-section{padding:68px 16px}.results-heading{display:block}.results-heading h2{font-size:31px}.session-meta{margin-top:16px;flex-wrap:wrap}.score-grid,.detail-grid,.audio-summary,.sync-summary,.sync-summary dl,.audio-comparison-overview{grid-template-columns:1fr}.audio-component-bars{border-right:0;border-bottom:1px solid #ded8cd}.direct-analysis-settings{grid-template-columns:1fr 1fr}.direct-analysis-settings>strong,.direct-analysis-settings small{grid-column:1 / -1}.overall-score{grid-column:auto}.visual-history-selector{grid-template-columns:1fr}.visual-history-navigation button{flex:1}.metric-card{min-height:135px}.how-it-works{margin:0 12px 60px}.how-it-works>div{grid-template-columns:1fr;gap:28px}.how-it-works article{border:0;padding:0 25px}footer{display:block;line-height:2}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:640px){.workspace{margin:0 12px}.profile-general{grid-template-columns:1fr}.profile-general>.section-heading,.profile-general>.segmented-control{grid-column:1}.compact-setup{grid-template-columns:1fr 1fr;padding:12px}.compact-setup .source-field,.compact-setup .hand-field,.compact-action{grid-column:1 / -1}.compact-profile-row{grid-template-columns:minmax(110px,1fr) minmax(112px,.72fr)}.compact-profile-row .hand-field{grid-column:1 / -1}.first-beat-field select{max-width:none}.advanced-analysis-content{grid-template-columns:1fr}.control-section,.profile-general,.display-controls{padding:20px}.action-section{padding:12px 20px}.video-card{padding:0 12px 18px}.integrated-recording-controls{grid-template-columns:minmax(0,1fr);gap:10px}.integrated-recording-status,.integrated-recording-status div{min-width:0}.integrated-recording-status small{overflow-wrap:anywhere}.integrated-recording-actions{justify-content:stretch}.integrated-recording-actions button{flex:1 1 145px;min-width:0}.recording-name-field{grid-template-columns:minmax(0,1fr);gap:6px}.topbar-actions .privacy-badge{display:none}.practice-lab{width:min(100% - 24px,760px);padding-top:24px}.practice-lab-hero{align-items:start;flex-direction:column}.practice-problem-grid,.practice-path-layout{grid-template-columns:1fr}.practice-stage-list{border-right:0;border-bottom:1px solid var(--line)}.practice-settings,.practice-live-toolbar{grid-template-columns:1fr 1fr}.practice-live-toolbar>div:first-child{grid-column:1 / -1}}@media(max-width:560px){.practice-settings{grid-template-columns:1fr}.practice-progress-summary{flex-direction:column}.practice-entry{padding-inline:9px}.practice-live-toolbar{grid-template-columns:1fr}.practice-live-toolbar>div:first-child{grid-column:auto}.practice-video-stage{min-height:220px;aspect-ratio:3 / 4}}.audio-studio{margin:0 auto 34px;max-width:1240px;padding:28px;border:1px solid var(--line);border-radius:24px;background:#ffffffd1;box-shadow:var(--shadow)}.studio-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.studio-heading h2,.studio-panel h3{margin:0}.studio-heading>span{max-width:520px;color:var(--muted);text-align:right}.studio-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:16px}.studio-grid.metronome-only{grid-template-columns:1fr}.studio-panel{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.studio-panel button,.file-picker-button{min-height:38px;padding:8px 13px;border:1px solid #a8b0ad;border-radius:9px;background:#f7f7f3;color:#17201e;font:inherit;cursor:pointer}.studio-panel button:hover:not(:disabled),.file-picker-button:hover{border-color:var(--accent)}.studio-panel button:disabled{cursor:not-allowed;opacity:.48}.studio-panel button.danger{border-color:#b9584d;color:#8b3028}.compact-row,.file-actions,.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.compact-row{margin:14px 0}.compact-row input[type=number]{width:78px;margin-left:6px;padding:7px}.studio-check{display:inline-flex;align-items:center;gap:8px}.recording-waveform{display:block;width:100%;height:90px;border-radius:10px;background:#101820}.recording-waveform.interactive{cursor:pointer}.uploaded-audio-editor{display:grid;gap:.65rem;margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.uploaded-audio-editor>div:first-child{display:flex;justify-content:space-between;gap:1rem}.uploaded-audio-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.uploaded-audio-editor-actions>span{margin-right:auto}.main-audio-waveform-editor{display:grid;gap:.65rem;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.main-audio-waveform-editor>div:first-child{display:flex;justify-content:space-between;gap:1rem}.main-audio-waveform-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.audio-evaluation-info{margin-top:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.audio-evaluation-info>summary{padding:.9rem 1rem;cursor:pointer;font-weight:700}.audio-evaluation-info-content{display:grid;gap:1rem;padding:0 1rem 1rem}.audio-evaluation-info h3{margin:0 0 .55rem}.audio-evaluation-info dl{display:grid;gap:.35rem;margin:0}.audio-evaluation-info dl>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}.audio-evaluation-info dd{margin:0;text-align:right}.audio-impulse-table{min-width:680px}.audio-impulse-details{overflow-x:auto}.audio-impulse-table>div{display:grid;grid-template-columns:.45fr .8fr 1fr .9fr .9fr .8fr .8fr;gap:.6rem;padding:.35rem .25rem;border-bottom:1px solid var(--line)}.audio-impulse-table>.header{font-weight:700}.recording-video-preview{display:block;width:100%;aspect-ratio:16/9;margin-bottom:10px;border-radius:10px;background:#101820;object-fit:cover}.file-panel{margin-top:16px}.file-picker-button{display:inline-flex;align-items:center}.file-picker-button input{position:absolute;width:1px;height:1px;opacity:0}.file-actions{margin-bottom:14px}.audio-file-table{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.audio-file-row{display:grid;grid-template-columns:minmax(190px,1.5fr) 110px 120px minmax(170px,1fr) minmax(250px,auto);gap:10px;align-items:center;min-width:900px;padding:10px 12px;border-top:1px solid var(--line)}.audio-file-row.header{border-top:0;background:#f2f1ea;font-weight:700}.audio-file-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-file-row select{padding:7px}.empty-file-list{margin:0;padding:18px;color:var(--muted)}@media(max-width:850px){.studio-grid{grid-template-columns:1fr}.studio-heading{display:block}.studio-heading>span{display:block;margin-top:10px;text-align:left}}.csv-dashboard{margin:0 auto 34px;max-width:1240px;padding:28px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.csv-record{padding:13px 0;border-top:1px solid var(--line)}.csv-record:first-child{border-top:0}.csv-record header{display:flex;justify-content:space-between;gap:18px;color:#101817}.csv-record header span{color:var(--muted)}.csv-record-body{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(480px,1.6fr);gap:28px;align-items:center;margin-top:10px}.component-bars>div{margin:7px 0;font-size:12px}.component-bars i{display:block;height:7px;margin-top:3px;background:#e4e6e3}.component-bars b{display:block;height:100%}.component-bars .blue{background:#3f6fb6}.component-bars .violet{background:#7656a8}.component-bars .teal{background:#23858a}.transition-profile{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:5px;min-height:112px}.transition-zero{position:absolute;top:38px;right:0;left:0;border-top:1px solid #777}.transition-column{position:relative;z-index:1;text-align:center;font-size:11px}.deviation-space{position:relative;height:76px}.deviation-space i{position:absolute;left:calc(50% - 7px);width:14px}.deviation-space .positive{background:#3f6fb6}.deviation-space .negative{background:#d06464}.transition-column strong,.transition-column span,.transition-column small{display:block;color:#111}.transition-column span{margin:3px auto;padding:2px;background:#77bfc1}.csv-pagination{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px}.csv-pagination button{padding:8px 18px}@media(max-width:900px){.csv-record-body{grid-template-columns:1fr}.csv-record header{display:block}}.audio-detail-results{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0 26px}.audio-detail-results>article{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.audio-detail-results article span,.audio-detail-results article small{display:block;color:var(--muted)}.audio-detail-results article strong{display:block;margin:5px 0;font-size:21px}.audio-transition-table{grid-column:1 / -1;overflow:hidden;border:1px solid var(--line);border-radius:12px}.audio-transition-table>div{display:grid;grid-template-columns:repeat(5,1fr);padding:9px 12px;border-top:1px solid var(--line)}.audio-transition-table>div:first-child{border-top:0}.audio-transition-table .transition-header{background:#f2f1ea;font-weight:700}.audio-event-list{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px 18px;padding:13px;border-radius:12px;background:#f2f1ea}@media(max-width:850px){.hand-comparison{grid-template-columns:1fr}.audio-detail-results{grid-template-columns:1fr 1fr}}@media(max-width:560px){.audio-detail-results{grid-template-columns:1fr}.audio-transition-table{grid-column:1;overflow-x:auto}.audio-transition-table>div{min-width:650px}}
