*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;min-height:100vh;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul,ol{list-style:none;padding:0}a{color:inherit;text-decoration:none}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[hidden]{display:none!important}:root{--color-bg: #f2efe7;--color-surface: #fbfaf6;--color-surface-2: #eae7de;--color-ink: #181a17;--color-text: #242720;--color-muted: #686b63;--color-faint: #8a8d84;--color-line: #d5d1c7;--color-line-dark: #bcb7ac;--color-accent: #a4472e;--color-accent-hover: #833522;--color-accent-soft: #efddd5;--color-sage: #60715b;--color-sage-dark: #31412f;--color-success: #2f6b55;--color-warning: #9a6614;--color-danger: #a13b32;--font-display: ui-serif, "Songti SC", "Noto Serif SC", STSong, Georgia, serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--shadow-soft: 0 28px 90px rgba(36, 31, 22, .11);--shadow-float: 0 18px 50px rgba(30, 27, 21, .16);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 32px;--header-height: 72px;--page-gutter: clamp(20px, 4vw, 64px);--ease: cubic-bezier(.2, .8, .2, 1)}[data-theme=dark]{--color-bg: #11130f;--color-surface: #1a1d18;--color-surface-2: #22261f;--color-ink: #f3f0e8;--color-text: #e9e6de;--color-muted: #a7aaa0;--color-faint: #868b80;--color-line: #343830;--color-line-dark: #4c5147;--color-accent: #e17a52;--color-accent-hover: #ef946e;--color-accent-soft: #462d24;--color-sage: #879c80;--color-sage-dark: #b1c3aa;--color-success: #75b79c;--color-warning: #ddb469;--color-danger: #e48579;--shadow-soft: 0 28px 90px rgba(0, 0, 0, .28);--shadow-float: 0 18px 50px rgba(0, 0, 0, .38)}html{color-scheme:light;scroll-behavior:smooth}[data-theme=dark]{color-scheme:dark}body{min-width:320px;overflow-x:hidden;font-family:var(--font-body);color:var(--color-text);background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--color-accent-soft) 38%,transparent),transparent 30rem),var(--color-bg)}button,input{font-family:inherit}button:focus-visible,[role=button]:focus-visible,[role=slider]:focus-visible,a:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:10px 14px;color:var(--color-surface);background:var(--color-ink);border-radius:var(--radius-sm);transform:translateY(-150%);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.product-shell{min-height:100vh}.topbar{position:sticky;z-index:100;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:var(--header-height);padding:0 var(--page-gutter);border-bottom:1px solid color-mix(in srgb,var(--color-line) 78%,transparent);background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(18px) saturate(130%)}.brand{display:inline-flex;align-items:center;justify-self:start;gap:12px;min-height:48px;text-align:left}.brand-mark{position:relative;display:block;width:42px;height:42px;overflow:hidden;border:1px solid var(--color-ink);border-radius:50%}.brand-mark:before{content:"";position:absolute;inset:11px 6px;background:repeating-linear-gradient(to bottom,var(--color-ink) 0 1px,transparent 1px 4px)}.brand-mark:after{content:"";position:absolute;top:8px;left:20px;width:1px;height:25px;background:var(--color-accent);transform:rotate(18deg)}.brand-mark i{position:absolute;z-index:1;top:10px;left:23px;width:6px;height:6px;border-radius:50%;background:var(--color-accent);box-shadow:-6px 17px 0 var(--color-accent)}.brand-copy{display:grid;gap:1px}.brand-copy strong{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.12em;line-height:1.2}.brand-copy small{color:var(--color-muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:30px}.nav-link{position:relative;min-height:44px;color:var(--color-muted);font-size:14px;font-weight:500}.nav-link:after{content:"";position:absolute;right:50%;bottom:1px;left:50%;height:2px;background:var(--color-accent);transition:right .18s var(--ease),left .18s var(--ease)}.nav-link:hover,.nav-link.is-active{color:var(--color-ink)}.nav-link.is-active:after{right:0;left:0}.topbar-actions{display:flex;align-items:center;justify-self:end;gap:10px}.status-pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;color:var(--color-muted);border:1px solid var(--color-line);border-radius:999px;background:color-mix(in srgb,var(--color-surface) 75%,transparent);font-size:12px;transition:border .16s ease,color .16s ease,transform .16s ease}.status-pill:hover{color:var(--color-ink);border-color:var(--color-line-dark);transform:translateY(-1px)}.status-dot{display:inline-block;width:7px;height:7px;border:1px solid var(--color-faint);border-radius:50%;background:transparent}.mic-active .status-dot,.live-mic.is-active i,.settings-foot.is-active .status-dot{border-color:var(--color-success);background:var(--color-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-success) 16%,transparent)}.icon-button{display:inline-grid;place-items:center;width:42px;height:42px;color:var(--color-ink);border:1px solid var(--color-line);border-radius:50%;background:var(--color-surface);font-family:var(--font-mono);font-size:22px;line-height:1;transition:transform .16s ease,border .16s ease}.icon-button:hover{border-color:var(--color-ink);transform:rotate(90deg)}.view{display:none;min-height:calc(100vh - var(--header-height));animation:viewIn .32s var(--ease) both}.view.is-active{display:block}@keyframes viewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-frame{width:min(1500px,100%);margin:0 auto;padding-inline:var(--page-gutter)}.compact-frame{width:min(1380px,100%)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--color-accent);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow>span{width:24px;height:1px;background:currentColor}.primary-button,.secondary-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:0 22px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:background .16s ease,color .16s ease,border .16s ease,transform .16s var(--ease)}.primary-button{color:#fffaf4;background:var(--color-accent)}.primary-button:hover{background:var(--color-accent-hover);transform:translateY(-2px)}.primary-button span{font-size:18px;transition:transform .16s ease}.primary-button:hover span{transform:translate(4px)}.secondary-button{color:var(--color-ink);border:1px solid var(--color-line-dark);background:transparent}.secondary-button:hover{border-color:var(--color-ink);background:var(--color-surface);transform:translateY(-1px)}.text-button{min-height:44px;padding-inline:10px;color:var(--color-muted)}.text-button:hover{color:var(--color-accent)}.large-button{min-height:56px;padding-inline:28px;font-size:15px}.compact-button{min-height:38px;padding-inline:16px;font-size:12px}.full-width{width:100%}.card-surface{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface)}.upload-composition{position:relative;padding:clamp(24px,4vw,56px)}.upload-composition:before,.upload-composition:after{content:"";position:absolute;z-index:-1;border-radius:50%}.upload-composition:before{top:0;right:2%;width:65%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--color-accent) 24%,transparent)}.upload-composition:after{bottom:3%;left:0;width:35%;aspect-ratio:1;background:color-mix(in srgb,var(--color-sage) 10%,transparent);filter:blur(2px)}.orbit-label{position:absolute;z-index:2;color:var(--color-faint);font-family:var(--font-mono);font-size:9px;letter-spacing:.18em}.orbit-label-top{top:18px;right:13%}.orbit-label-bottom{bottom:16px;left:9%}.upload-panel{position:relative;z-index:1;overflow:hidden;min-height:460px;border:1px solid color-mix(in srgb,var(--color-line-dark) 85%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:var(--shadow-soft)}.upload-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,#fff 22%,transparent),transparent 45%)}.upload-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:460px;padding:48px 38px;text-align:center;cursor:pointer}.upload-dropzone:after{content:"";position:absolute;inset:18px;border:1px dashed var(--color-line-dark);border-radius:calc(var(--radius-xl) - 10px);pointer-events:none;transition:border-color .18s ease,inset .18s ease}.upload-dropzone:hover:after,.upload-dropzone.is-dragging:after,.upload-dropzone:focus-visible:after{inset:14px;border-color:var(--color-accent)}.string-emblem{position:relative;width:112px;height:112px;margin-bottom:28px;border:1px solid var(--color-line);border-radius:50%;background:var(--color-bg)}.string-emblem span{position:absolute;right:18px;left:18px;top:calc(32px + (var(--line, 0) * 9px));height:1px;background:var(--color-muted)}.string-emblem span:nth-child(1){--line: 0}.string-emblem span:nth-child(2){--line: 1}.string-emblem span:nth-child(3){--line: 2}.string-emblem span:nth-child(4){--line: 3}.string-emblem span:nth-child(5){--line: 4}.string-emblem span:nth-child(6){--line: 5}.string-emblem b{position:absolute;z-index:1;top:35px;left:50%;display:grid;place-items:center;width:38px;height:38px;color:#fffaf4;border-radius:50%;background:var(--color-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--color-accent) 28%,transparent);font-size:22px;font-weight:400;transform:translate(-50%)}.upload-kicker{color:var(--color-accent);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em}.upload-dropzone h2,.file-details h2{margin-top:10px;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(24px,2.4vw,34px);font-weight:600}.upload-dropzone>p:not(.upload-kicker){margin-top:10px;color:var(--color-muted);font-size:14px}.format-line{display:flex;align-items:center;gap:12px;margin-top:34px;color:var(--color-faint);font-family:var(--font-mono);font-size:9px;letter-spacing:.05em}.format-line i{width:3px;height:3px;border-radius:50%;background:var(--color-line-dark)}.selected-file{position:relative;z-index:2;display:grid;grid-template-rows:44% 56%;min-height:500px}.file-preview{position:relative;display:grid;place-items:center;overflow:hidden;color:#efe9dc;background:#2c3b31}.file-preview:before{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.2);border-radius:50%}.file-preview-lines{position:absolute;inset:22% 8%;opacity:.42;background:repeating-linear-gradient(to bottom,transparent 0 14px,rgba(255,255,255,.35) 14px 15px);transform:rotate(-8deg)}.file-preview>span{z-index:1;font-family:var(--font-mono);font-size:11px;letter-spacing:.28em}.file-details{padding:30px clamp(28px,4vw,44px) 34px}.file-details>p:not(.upload-kicker){margin-top:6px;color:var(--color-muted);font-family:var(--font-mono);font-size:11px}.quality-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:20px}.quality-row span{display:inline-flex;align-items:center;gap:7px;color:var(--color-success);font-size:11px;font-weight:600}.quality-row i{width:6px;height:6px;border-radius:50%;background:currentColor}.file-actions{display:flex;align-items:center;gap:12px;margin-top:26px}.demo-link{position:relative;z-index:3;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:min(360px,78%);min-height:74px;margin:-22px 0 0 auto;padding:12px 18px;color:#f7f3ea;border-radius:var(--radius-md);background:var(--color-sage-dark);box-shadow:var(--shadow-float);text-align:left;transition:transform .18s var(--ease),background .18s ease}.demo-link:hover{background:color-mix(in srgb,var(--color-sage-dark) 88%,#000);transform:translateY(-3px)}.demo-link>span:nth-child(2){display:grid}.demo-link small{color:#ffffff94;font-size:10px}.demo-link strong{margin-top:2px;font-size:12px;font-weight:600}.demo-play{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.3);border-radius:50%;font-size:18px}.course-library{display:flex;flex-direction:column;gap:18px;width:min(880px,100%);margin:0 auto}.course-library-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--color-line)}.course-library-head h2{margin-top:10px;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(22px,2.4vw,30px);font-weight:600}.course-library-head p:not(.eyebrow){margin-top:8px;max-width:520px;color:var(--color-muted);font-size:13px;line-height:1.7}.course-library-head .text-button{flex-shrink:0}.course-library-status{margin:0;padding:22px 4px;color:var(--color-faint);font-size:13px;line-height:1.7}.course-library-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none}.course-card{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;height:100%;min-height:148px;padding:18px 20px 16px;color:var(--color-text);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 10px 30px #241f160d;text-align:left;cursor:pointer;transition:transform .18s var(--ease),border-color .18s ease,box-shadow .18s ease}.course-card:hover{border-color:var(--color-line-dark);box-shadow:var(--shadow-soft);transform:translateY(-3px)}.course-card-badge{align-self:flex-start;padding:4px 10px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em}.course-card-badge.is-ready{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,transparent)}.course-card-badge.is-processing{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,transparent)}.course-card-badge.is-error{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.course-card-title{color:var(--color-ink);font-family:var(--font-display);font-size:17px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.course-card-meta{color:var(--color-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.course-card-foot{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--color-line);color:var(--color-faint);font-size:11px}.course-card-foot>span:first-child{flex-shrink:0;white-space:nowrap}.course-card-hint{color:var(--color-accent);text-align:right}.course-card[data-status=error] .course-card-hint{color:var(--color-danger)}.course-card[data-status=processing] .course-card-hint{color:var(--color-warning)}.page-heading{display:grid;grid-template-columns:110px 1fr auto;align-items:end;gap:30px;padding:64px 0 34px}.back-link{align-self:start;justify-self:start;min-height:44px;color:var(--color-muted);font-size:12px;text-align:left}.back-link:hover{color:var(--color-accent)}.page-heading h1,.focus-header h1,.library-heading h1,.results-intro h1{margin-top:10px;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(34px,4vw,56px);font-weight:500;letter-spacing:-.025em}.page-heading>div>p:last-child,.library-heading>div>p:last-child,.results-intro>p:last-child{margin-top:10px;color:var(--color-muted);font-size:14px}.analysis-total{display:grid;min-width:105px;text-align:right}.analysis-total strong{color:var(--color-accent);font-family:var(--font-display);font-size:44px;font-weight:500;line-height:1}.analysis-total span{margin-top:5px;color:var(--color-faint);font-size:10px}.analysis-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}.analysis-media{padding:14px}.media-stage,.teacher-video,.review-video{position:relative;overflow:hidden;aspect-ratio:16 / 9;border-radius:calc(var(--radius-lg) - 8px);background:#20231e}.media-stage video,.teacher-video video,.review-video video{width:100%;height:100%;object-fit:contain}.abstract-video{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 68% 37%,rgba(227,196,156,.38),transparent 17%),linear-gradient(135deg,#364039 0 43%,#1f2621 43% 100%)}.abstract-video:before{content:"";position:absolute;right:13%;bottom:-25%;width:42%;aspect-ratio:1;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:inset 0 0 0 32px #7c472c59}.guitar-neck{position:absolute;z-index:1;top:12%;right:-8%;width:68%;height:25%;border:2px solid rgba(236,216,185,.55);background:#502f1ead;transform:rotate(-17deg)}.guitar-neck:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0 6px,rgba(255,255,255,.38) 6px 7px)}.guitar-neck i{position:absolute;top:0;bottom:0;left:calc(var(--fret, 1) * 14%);width:1px;background:#ffffff6b}.guitar-neck i:nth-child(1){--fret: 1}.guitar-neck i:nth-child(2){--fret: 2}.guitar-neck i:nth-child(3){--fret: 3}.guitar-neck i:nth-child(4){--fret: 4}.guitar-neck i:nth-child(5){--fret: 5}.guitar-neck i:nth-child(6){--fret: 6}.player-silhouette{position:absolute;left:15%;bottom:-28%;width:42%;height:115%;border-radius:45% 45% 10% 10%;background:#151713;transform:rotate(-5deg)}.player-silhouette:before{content:"";position:absolute;top:-9%;left:20%;width:44%;aspect-ratio:1;border-radius:50%;background:#20221e}.detection-box{position:absolute;z-index:2;border:1px solid rgba(244,224,183,.82);border-radius:4px;box-shadow:inset 0 0 0 1px #00000026}.detection-box:before,.detection-box:after{content:"";position:absolute;width:13px;height:13px;border-color:#fff0cb}.detection-box:before{top:-2px;left:-2px;border-top:2px solid;border-left:2px solid}.detection-box:after{right:-2px;bottom:-2px;border-right:2px solid;border-bottom:2px solid}.detection-left{top:25%;right:25%;width:24%;height:32%}.detection-right{right:3%;bottom:15%;width:22%;height:34%}.detection-box span{position:absolute;top:-22px;left:0;color:#f9edcf;font-family:var(--font-mono);font-size:9px}.detected-chord,.video-caption{position:absolute;z-index:3;bottom:18px;left:18px;display:flex;align-items:end;gap:10px;color:#fff6e7}.detected-chord small{margin-bottom:7px;color:#ffffffad;font-size:9px}.detected-chord strong{font-family:var(--font-display);font-size:42px;font-weight:500;line-height:1}.media-time,.frame-counter{position:absolute;z-index:3;right:16px;bottom:16px;padding:5px 7px;color:#ffffffb8;border-radius:3px;background:#00000057;font-family:var(--font-mono);font-size:9px}.analysis-wave,.workspace-wave{display:flex;align-items:center;gap:2px;height:70px;overflow:hidden}.analysis-wave{margin:4px 4px 0}.wave-bar{flex:1;min-width:2px;height:var(--height);border-radius:999px;background:var(--color-line-dark);opacity:.62;transform:scaleY(.2);transform-origin:center;transition:transform .3s var(--ease),background .3s ease,opacity .3s ease}.wave-bar.is-visible{opacity:.85;transform:scaleY(1)}.wave-bar.is-active{background:var(--color-accent)}.analysis-measures{display:grid;grid-template-columns:repeat(8,1fr);padding:0 4px 6px;border-top:1px solid var(--color-line)}.analysis-measures span{padding:7px 0 0 6px;color:var(--color-faint);border-left:1px solid var(--color-line);font-family:var(--font-mono);font-size:8px}.analysis-steps{display:flex;flex-direction:column;padding:16px 22px 20px}.steps-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;color:var(--color-faint);border-bottom:1px solid var(--color-line);font-size:10px}.steps-header .text-button{min-height:34px;font-size:10px}.analysis-steps ol{flex:1}.analysis-steps li{position:relative;display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;min-height:54px;border-bottom:1px solid color-mix(in srgb,var(--color-line) 65%,transparent);transition:opacity .2s ease,transform .2s ease}.analysis-steps li>i{width:8px;height:8px;border:1px solid var(--color-line-dark);border-radius:50%}.analysis-steps li>div{display:grid;gap:2px}.analysis-steps li strong{color:var(--color-muted);font-size:12px;font-weight:500}.analysis-steps li span{color:var(--color-faint);font-size:9px}.analysis-steps li>b{color:var(--color-line-dark);font-family:var(--font-mono);font-size:9px;font-weight:500}.analysis-steps li.is-current{transform:translate(3px)}.analysis-steps li.is-current>i{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 0 5px var(--color-accent-soft);animation:pulse 1.4s ease-in-out infinite}.analysis-steps li.is-current strong{color:var(--color-ink);font-weight:650}.analysis-steps li.is-current span,.analysis-steps li.is-current>b{color:var(--color-accent)}.analysis-steps li.is-done>i{position:relative;border-color:var(--color-success);background:var(--color-success)}.analysis-steps li.is-done>i:after{content:"";position:absolute;top:1px;left:2px;width:3px;height:4px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(42deg)}.analysis-steps li.is-done strong{color:var(--color-muted)}@keyframes pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--color-accent-soft) 40%,transparent)}}.analysis-steps>.primary-button{margin-top:16px}.analysis-discovery{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:18px 0 70px;padding:16px 20px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 72%,transparent)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 5px var(--color-accent-soft)}.analysis-discovery p{display:grid;gap:2px}.analysis-discovery strong{color:var(--color-ink);font-size:12px}.analysis-discovery p span{color:var(--color-faint);font-size:10px}.discovery-values{display:flex;gap:8px}.discovery-values span{padding:5px 9px;color:var(--color-muted);border:1px solid var(--color-line);border-radius:999px;font-family:var(--font-mono);font-size:9px}.player-view{background:color-mix(in srgb,var(--color-bg) 90%,#1e241d 10%)}.workspace-shell{width:min(1800px,100%);min-height:calc(100vh - var(--header-height));margin:0 auto;padding:18px clamp(14px,2vw,34px) 26px}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.workspace-title{display:flex;align-items:center;gap:14px}.workspace-title>button{display:grid;place-items:center;width:38px;height:38px;color:var(--color-muted);border:1px solid var(--color-line);border-radius:50%}.workspace-title small{color:var(--color-faint);font-size:9px}.workspace-title h1{margin-top:1px;color:var(--color-ink);font-family:var(--font-display);font-size:20px;font-weight:600}.workspace-stats{display:flex;align-items:center;gap:12px}.workspace-stats>span:first-child{color:var(--color-ink);font-family:var(--font-mono);font-size:13px}.workspace-stats>span:first-child small{color:var(--color-faint);font-size:8px}.live-mic{display:inline-flex;align-items:center;gap:6px;color:var(--color-faint);font-size:9px}.live-mic i{width:6px;height:6px;border:1px solid var(--color-line-dark);border-radius:50%}.speed-control,.segmented-control{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--color-line);border-radius:9px;background:var(--color-surface)}.speed-control button,.segmented-control button{min-width:44px;min-height:30px;padding:0 8px;color:var(--color-faint);border-radius:6px;font-family:var(--font-mono);font-size:8px}.speed-control button.is-active,.segmented-control button.is-active{color:#fff;background:var(--color-ink)}.player-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px}.player-grid .guitar-hand-lab{margin-top:0}.player-grid .hand-stack{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.teacher-pane,.hand-pane,.timeline-pane,.feedback-bar{border:1px solid var(--color-line);background:var(--color-surface)}.teacher-pane{overflow:hidden;border-radius:var(--radius-md)}.teacher-video{border-radius:0}.video-caption{right:16px;justify-content:space-between}.video-caption span{color:#ffffffa8;font-size:9px}.video-caption strong{font-family:var(--font-display);font-size:28px}.video-controls{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;color:var(--color-faint);font-family:var(--font-mono);font-size:8px}.video-controls button{min-width:36px;min-height:36px;color:var(--color-muted);font-size:10px}.video-controls .main-play{display:grid;place-items:center;width:40px;min-width:40px;height:40px;color:#fff;border-radius:50%;background:var(--color-accent);font-size:14px}.seek-track{position:relative;flex:1;height:4px;cursor:pointer;background:var(--color-line)}.seek-track>i{display:block;width:0;height:100%;background:var(--color-accent)}.seek-track>i:after{content:"";position:absolute;top:50%;left:inherit;width:10px;height:10px;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-accent);transform:translate(-50%,-50%)}.seek-track>b{position:absolute;top:-3px;bottom:-3px;left:36%;width:22%;border-left:1px solid var(--color-warning);border-right:1px solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 16%,transparent);opacity:0;transition:opacity .16s ease}.seek-track.is-looping>b{opacity:1}.hand-stack{display:grid;grid-template-rows:1fr 1fr;gap:10px}.guitar-hand-lab{overflow:hidden;margin-top:10px;border:1px solid var(--color-line);background:#111816;color:#edf2ef}.guitar-hand-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 20px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:#17211e}.guitar-hand-heading small,.guitar-hand-controls small{color:#83ad9f;font-family:var(--font-mono);font-size:8px;letter-spacing:.14em}.guitar-hand-heading h2{margin-top:5px;color:#f1f5f2;font-family:var(--font-display);font-size:clamp(22px,2.5vw,34px);font-weight:600;line-height:1.05}.guitar-hand-heading p{max-width:660px;margin-top:7px;color:#edf2ef9e;font-size:10px;line-height:1.6}.guitar-hand-status{flex:0 0 auto;padding:7px 10px;color:#c8d5cf;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;font-family:var(--font-mono);font-size:8px}.guitar-hand-status[data-state=ready]{color:#b9e4d7;border-color:#5ec6aa73}.guitar-hand-status[data-state=error]{color:#edb49c;border-color:#d3835f7a}.guitar-hand-workbench{display:grid;grid-template-columns:minmax(0,1fr)}.guitar-hand-viewport{position:relative;min-width:0;min-height:560px;overflow:hidden;background:#111816}.guitar-hand-viewport canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.guitar-hand-viewport canvas:active{cursor:grabbing}.guitar-hand-overlay{position:absolute;top:14px;right:16px;left:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;color:#edf2ef8f;font-family:var(--font-mono);font-size:8px}.guitar-hand-overlay b{color:#f0f5f2;font-size:10px;font-weight:500}.guitar-hand-legend{display:flex;flex-wrap:wrap;gap:13px;color:#edf2efb3;font-size:8px}.guitar-hand-legend span{display:flex;align-items:center;gap:6px}.guitar-hand-legend i{width:7px;height:7px;border-radius:50%;background:#fff}.guitar-hand-legend .is-observed{background:#bf5a26}.guitar-hand-legend .is-standard{background:#8edcff}.guitar-hand-legend .is-contact{background:#f4d06f}.hand-view-switch{display:grid;grid-template-columns:repeat(3,auto);gap:4px;margin-bottom:8px}.hand-view-switch button{min-height:30px;padding:0 10px;color:var(--guitar-panel-muted, #B8A898);border:1px solid var(--guitar-panel-line, rgba(212, 165, 116, .25));border-radius:3px;background:transparent;font-size:8px;white-space:nowrap}.hand-view-switch button.is-active{color:var(--guitar-panel-ink, #F5F0E8);background:var(--guitar-panel-accent-soft, rgba(212, 165, 116, .13))}.guitar-hand-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.1);background:#17211e}.guitar-hand-controls>section{padding:17px;border-bottom:1px solid rgba(255,255,255,.09)}.guitar-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.guitar-hand-controls button{min-height:34px;padding:0 9px;color:#edf2ef9e;border:1px solid rgba(255,255,255,.12);border-radius:3px;background:#ffffff09;font-size:9px}.guitar-hand-controls button:hover,.guitar-hand-controls button:focus-visible{color:#fff;border-color:#5ec6aa8c}.guitar-hand-controls button.is-active{color:#e8f6f1;border-color:#5ec6aa8c;background:#5ec6aa21}.guitar-hand-controls button:disabled{cursor:not-allowed;opacity:.42}.guitar-control-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.guitar-control-label output{color:#edf2ef;font-family:var(--font-mono);font-size:9px}.guitar-hand-controls input[type=range]{width:100%;margin:13px 0 10px;accent-color:#5ec6aa}.guitar-hand-controls .guitar-xray-button{width:100%}.guitar-hand-readout{display:flex;min-width:0}.guitar-hand-readout>div{display:grid;gap:1px}.guitar-hand-readout dt{color:#edf2ef6b;font-size:8px}.guitar-hand-readout dd{color:#e8efeb;font-family:var(--font-mono);font-size:9px}.guitar-hand-note{grid-column:1 / -1;margin-top:0;padding:16px 17px 18px;color:#edf2ef87;font-size:9px;line-height:1.65}.guitar-hand-lab{--guitar-panel-bg: #1A0F0A;--guitar-panel-surface: #2C1810;--guitar-panel-surface-soft: rgba(45, 28, 16, .75);--guitar-panel-ink: #F5F0E8;--guitar-panel-muted: #B8A898;--guitar-panel-faint: rgba(184, 168, 152, .62);--guitar-panel-line: rgba(212, 165, 116, .25);--guitar-panel-accent: #D4A574;--guitar-panel-accent-soft: rgba(212, 165, 116, .13);--guitar-panel-skin: #c97955;--guitar-panel-contact: var(--scene-data-color, #E8C547);--guitar-panel-contact-soft: var(--scene-data-soft, rgba(232, 197, 71, .22));border-color:var(--guitar-panel-line);background:var(--guitar-panel-bg);box-shadow:0 22px 54px #241f163b,inset 0 1px #f3f0e80d;transition:background .26s var(--ease),border-color .26s var(--ease)}.guitar-hand-lab[data-scene-theme=cyan]{--guitar-panel-bg: #0a0f15;--guitar-panel-surface: #141d27;--guitar-panel-surface-soft: rgba(20, 29, 39, .78);--guitar-panel-ink: #eef6fb;--guitar-panel-muted: #9fb4c4;--guitar-panel-faint: rgba(159, 180, 196, .62);--guitar-panel-line: rgba(150, 205, 232, .24);--guitar-panel-accent: #8fc9e2;--guitar-panel-accent-soft: rgba(143, 201, 226, .14);--guitar-panel-skin: #c0a08e}.guitar-hand-lab[data-scene-theme=studio]{--guitar-panel-bg: #101012;--guitar-panel-surface: #242427;--guitar-panel-surface-soft: rgba(36, 36, 39, .78);--guitar-panel-ink: #f4f4f6;--guitar-panel-muted: #b3b3b8;--guitar-panel-faint: rgba(179, 179, 184, .62);--guitar-panel-line: rgba(255, 255, 255, .16);--guitar-panel-accent: #d8d8de;--guitar-panel-accent-soft: rgba(255, 255, 255, .08);--guitar-panel-skin: #d39a7c}.guitar-hand-heading{background:radial-gradient(circle at 12% 0%,var(--guitar-panel-accent-soft),transparent 42%),var(--guitar-panel-surface)}.guitar-hand-overlay{color:var(--guitar-panel-muted)}.guitar-hand-overlay b,.guitar-control-label output,.guitar-hand-readout dd{color:var(--guitar-panel-ink)}.guitar-hand-legend,.guitar-hand-readout dt,.guitar-hand-note{color:var(--guitar-panel-muted)}.guitar-hand-controls{color:var(--guitar-panel-ink);border-color:var(--guitar-panel-line);background:var(--guitar-panel-surface-soft)}.guitar-hand-controls>section,.guitar-hand-readout>div{border-color:var(--guitar-panel-line)}.guitar-hand-controls button{color:var(--guitar-panel-muted);border-color:var(--guitar-panel-line)}.guitar-hand-controls button:hover,.guitar-hand-controls button:focus-visible{color:var(--guitar-panel-ink);border-color:var(--guitar-panel-accent)}.guitar-hand-heading small,.guitar-hand-controls small{color:var(--guitar-panel-accent)}.guitar-hand-status[data-state=ready]{color:var(--guitar-panel-accent);border-color:var(--guitar-panel-line);background:var(--guitar-panel-accent-soft)}.guitar-hand-viewport{isolation:isolate;background:var(--guitar-panel-bg)}.guitar-hand-viewport:before,.guitar-hand-viewport:after{position:absolute;z-index:1;inset:0;content:"";pointer-events:none}.guitar-hand-viewport:before{background:linear-gradient(rgba(212,165,116,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(212,165,116,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 82%)}.guitar-hand-viewport:after{box-shadow:inset 0 0 72px #1a0f0a8f,inset 0 -54px 70px #1a0f0a52}.guitar-hand-viewport canvas{position:relative;z-index:0}.guitar-registration-debug{position:absolute;z-index:5;top:38px;right:12px;max-width:min(290px,calc(100% - 24px));margin:0;border:1px solid rgba(229,190,142,.25);border-radius:8px;background:#150d09d1;color:#ffedd5e0;font:500 9px/1.55 var(--font-mono);letter-spacing:.02em;backdrop-filter:blur(10px)}.guitar-registration-debug-toggle{display:block;width:100%;padding:4px 10px;border:0;background:transparent;color:inherit;font:600 9px/1.4 var(--font-mono);letter-spacing:.06em;text-align:left;cursor:pointer;opacity:.75}.guitar-registration-debug-toggle:after{content:"▸";float:right}.guitar-registration-debug:not(.is-collapsed) .guitar-registration-debug-toggle:after{content:"▾"}.guitar-registration-debug-toggle:hover{opacity:1}.guitar-registration-debug pre{margin:0;padding:6px 11px 9px;white-space:pre-wrap;pointer-events:none}.guitar-registration-debug.is-collapsed pre{display:none}.guitar-hand-overlay,.guitar-hand-readout{z-index:3}.guitar-string-signal{display:grid;gap:8px;min-width:0;color:var(--guitar-panel-muted)}.guitar-string-signal-heading,.guitar-reconstruction-source{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;color:var(--guitar-panel-faint);font-size:8px}.guitar-string-signal-heading strong,.guitar-reconstruction-source strong{color:var(--guitar-panel-ink);font-family:var(--font-mono);font-size:8px;font-weight:500}.guitar-string-signal-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.guitar-string-signal-rail span{display:grid;place-items:center;height:18px;color:var(--guitar-panel-faint);border:1px solid rgba(177,195,170,.1);border-radius:3px;background:#ffffff06;font-family:var(--font-mono);font-size:7px;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease)}.guitar-string-signal-rail span.is-active{color:var(--guitar-panel-bg);border-color:var(--guitar-panel-contact);background:var(--guitar-panel-contact);box-shadow:0 0 14px var(--guitar-panel-contact-soft)}.guitar-hand-legend{color:var(--guitar-panel-muted)}.guitar-hand-legend .is-observed{background:var(--guitar-panel-skin);box-shadow:0 0 10px #c979556b}.guitar-hand-legend .is-standard{background:#8edcff;box-shadow:0 0 10px #8edcff73}.guitar-hand-legend .is-contact{background:var(--guitar-panel-contact);box-shadow:0 0 12px var(--guitar-panel-contact-soft)}.guitar-hand-controls button.is-active{color:var(--guitar-panel-ink);border-color:var(--guitar-panel-line);background:var(--guitar-panel-accent-soft)}.guitar-control-grid.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-grid button{position:relative;padding-top:20px;overflow:hidden}.theme-grid button:before{position:absolute;top:4px;left:4px;width:calc(100% - 8px);height:11px;border-radius:2px;content:""}.theme-grid button[data-guitar-theme=amber]:before{background:linear-gradient(90deg,#3d2817,#1a0f0a 62%,#e8c547 62%)}.theme-grid button[data-guitar-theme=cyan]:before{background:linear-gradient(90deg,#1d2b38,#0a0f15 62%,#54e0ff 62%)}.theme-grid button[data-guitar-theme=studio]:before{background:linear-gradient(90deg,#3a3a3e,#101012 62%,#ff5fa2 62%)}.theme-grid button.is-active{border-color:var(--guitar-panel-contact);box-shadow:inset 0 0 0 1px var(--guitar-panel-contact-soft)}.guitar-theme-hint{margin:9px 0 0;color:var(--guitar-panel-faint);font-size:8px;line-height:1.6}.guitar-hand-controls input[type=range]{accent-color:var(--guitar-panel-accent)}.hand-pane{display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;min-height:0;border-radius:var(--radius-md)}.hand-pane header,.hand-pane footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:0 12px;color:var(--color-faint);border-bottom:1px solid var(--color-line);font-size:8px}.hand-pane header b{color:var(--color-success);font-family:var(--font-mono);font-weight:500}.hand-pane footer{min-height:32px;border-top:1px solid var(--color-line);border-bottom:0}.fretboard-visual{position:relative;min-height:130px;overflow:hidden;background:linear-gradient(135deg,#3b332c,#1f2520)}.hand-motion-canvas{position:absolute;inset:0;width:100%;height:100%;background:#151b19}.hand-view-controls{position:absolute;z-index:4;top:7px;right:7px;display:flex;gap:3px}.hand-view-controls button{display:grid;place-items:center;width:23px;height:21px;padding:0;color:#ffffffb8;border:1px solid rgba(255,255,255,.18);border-radius:4px;background:#0b0f0eb8;font:8px var(--font-mono)}.hand-view-controls button.is-active,.hand-view-controls button[aria-pressed=true]{color:#fff;border-color:#78d6bdb3;background:#317764c7}.pick-visual{position:relative}.fret-strings{position:absolute;inset:18% 8% 18% 10%;transform:perspective(300px) rotateY(-8deg)}.schematic-wires,.schematic-strings,.schematic-labels,.schematic-barres,.schematic-dots{position:absolute;inset:0;pointer-events:none}.schematic-strings i{position:absolute;left:0;right:0;height:1px;background:#ffffff61}.schematic-labels span{position:absolute;left:-13px;transform:translateY(-50%);color:#ffffff8c;font:8px var(--font-mono)}.schematic-wires i{position:absolute;top:-7%;bottom:-7%;width:2px;background:#ffffff47}.schematic-wires i.is-nut{width:4px;background:#fff9}.schematic-barres b{position:absolute;width:9px;transform:translate(-50%);border-radius:5px;background:#d68965d9;box-shadow:0 0 8px #d6896573}.schematic-dot{position:absolute;z-index:2;display:grid;place-items:center;width:22px;height:22px;transform:translate(-50%,-50%);color:#fff;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:var(--color-accent);font-family:var(--font-mono);font-size:9px;box-shadow:0 0 0 4px #a4472e38;transition:left .3s cubic-bezier(.3,.7,.3,1),top .3s cubic-bezier(.3,.7,.3,1)}.schematic-dot.is-open{background:transparent;border-style:solid}.schematic-dot.is-next{color:#fffc;background:transparent;border-style:dashed;box-shadow:none;opacity:.75}.motion-arrow{position:absolute;z-index:2;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;color:#f3dfbe;font-size:16px}.motion-arrow small{font-size:8px}.pick-visual{position:relative;display:flex;align-items:center;justify-content:center;gap:20px;min-height:120px;overflow:hidden;color:#f6ead5;background:linear-gradient(135deg,#2a352f,#171b18)}.pick-strings{position:absolute;inset:14% 6%;opacity:.5}.pick-visual strong,.pick-visual .pick-readout{z-index:1}.pick-visual strong{position:absolute;left:30%;transform:translate(-50%,-50%);color:#d78965;font-size:42px;font-weight:300;line-height:1;transition:top .3s cubic-bezier(.3,.7,.3,1)}.pick-visual .pick-readout{position:absolute;left:44%;display:grid}.pick-visual span{font-family:var(--font-display);font-size:18px}.pick-visual small{color:#ffffff8f;font-size:9px}.timeline-pane{position:relative;margin-top:10px;overflow:hidden;border-radius:var(--radius-md)}.waveform-row,.measure-row,.chord-row,.tablature-row{position:relative;display:grid;grid-template-columns:58px 1fr;border-bottom:1px solid var(--color-line)}.tablature-row{border-bottom:0}.track-label{display:flex;align-items:flex-start;justify-content:center;padding-top:12px;color:var(--color-faint);border-right:1px solid var(--color-line);font-family:var(--font-mono);font-size:7px;letter-spacing:.1em}.workspace-wave{height:52px;padding:4px 8px}.timeline-playhead{position:absolute;z-index:5;top:0;bottom:0;left:58px;width:1px;pointer-events:none;background:var(--color-accent);box-shadow:0 0 0 1px #a4472e1f}.measure-row>div,.chord-row>div{display:grid;grid-template-columns:repeat(8,1fr)}.measure-row button{min-height:28px;padding:0 6px;color:var(--color-faint);border-right:1px solid var(--color-line);font-family:var(--font-mono);font-size:8px;text-align:left}.chord-row>div{grid-template-columns:repeat(4,1fr)}.chord-row button{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;color:var(--color-muted);border-right:1px solid var(--color-line);font-family:var(--font-display);font-size:16px;text-align:left}.chord-row button.is-past{opacity:.45}.chord-row button.is-current{color:var(--color-accent);background:var(--color-accent-soft)}.chord-row small{font-family:var(--font-body);font-size:7px}.tablature{position:relative;min-width:760px;height:142px;overflow:hidden}.tab-string{position:absolute;right:0;left:0;top:calc(18px + (var(--row, 0) * 21px));height:1px;background:var(--color-line-dark)}.tab-string:nth-child(1){--row: 0}.tab-string:nth-child(2){--row: 1}.tab-string:nth-child(3){--row: 2}.tab-string:nth-child(4){--row: 3}.tab-string:nth-child(5){--row: 4}.tab-string:nth-child(6){--row: 5}.tab-string b{position:absolute;left:7px;top:-7px;min-width:14px;color:var(--color-faint);background:var(--color-surface);font-family:var(--font-mono);font-size:8px;font-weight:500}.tab-event{position:absolute;z-index:3;top:calc(18px + ((var(--y) - 1) * 21px));left:var(--x);display:grid;place-items:center;width:24px;height:24px;color:var(--color-ink);border:1px solid var(--color-line-dark);border-radius:50%;background:var(--color-surface);font-family:var(--font-mono);font-size:9px;transform:translate(-50%,-50%);transition:transform .16s ease,background .16s ease,color .16s ease}.tab-event.is-done{color:var(--color-faint);opacity:.5}.tab-event.is-current{color:#fff;border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 0 6px var(--color-accent-soft);transform:translate(-50%,-50%) scale(1.08)}.tab-event.is-warning{color:#fff;border-color:var(--color-warning);background:var(--color-warning)}.score-playhead{position:absolute;z-index:2;top:0;bottom:0;left:0;width:1px;pointer-events:none;background:var(--color-accent)}.feedback-bar{display:grid;grid-template-columns:auto 1fr auto minmax(260px,auto);align-items:center;gap:22px;min-height:72px;margin-top:10px;padding:10px 14px;border-radius:var(--radius-md)}.listen-state{display:flex;align-items:center;gap:11px}.listening-rings{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--color-line);border-radius:50%}.listening-rings i{width:8px;height:8px;border-radius:50%;background:var(--color-faint)}.is-playing .listening-rings{border-color:color-mix(in srgb,var(--color-success) 42%,transparent);animation:listenPulse 1.8s ease-in-out infinite}.is-playing .listening-rings i{background:var(--color-success)}@keyframes listenPulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--color-success) 10%,transparent)}}.listen-state>div{display:grid}.listen-state small,.live-score small{color:var(--color-faint);font-size:8px}.listen-state strong{color:var(--color-ink);font-size:11px}.feedback-bar>p{color:var(--color-muted);font-size:11px}.live-score{display:grid;min-width:75px;text-align:right}.live-score strong{color:var(--color-accent);font-family:var(--font-display);font-size:27px;font-weight:500}.issue-button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:0 16px;color:#f6ead7;border-radius:var(--radius-sm);background:var(--color-sage-dark);text-align:left}.issue-button span{font-size:10px}.issue-button strong{white-space:nowrap;font-size:10px}.focus-header{display:grid;grid-template-columns:1fr;max-width:900px;padding:58px 0 30px}.focus-header .back-link{margin-bottom:25px}.focus-header>p:last-child{margin-top:10px;color:var(--color-muted);font-family:var(--font-mono);font-size:10px}.focus-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:16px;padding-bottom:80px}.review-stage{padding:12px}.review-video{aspect-ratio:16 / 10}.review-video.is-mirrored .abstract-video{transform:scaleX(-1)}.review-video.hide-markers .review-marker{opacity:0}.review-marker{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;color:#f7eddd;font-size:9px;transition:opacity .16s ease}.review-marker i{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:var(--color-accent);font-family:var(--font-mono);font-style:normal}.review-marker span{padding:5px 8px;border-radius:4px;background:#00000075}.marker-one{top:34%;left:47%}.marker-two{top:54%;right:13%}.review-caption{position:absolute;z-index:4;right:22px;bottom:20px;left:22px;display:flex;align-items:end;justify-content:space-between;color:#fff}.review-caption small{color:#ffffffa3;font-family:var(--font-mono);font-size:8px}.review-caption strong{font-family:var(--font-display);font-size:18px;font-weight:500}.review-controls{display:flex;align-items:center;gap:5px;padding-top:10px}.review-controls button{min-height:40px;padding:0 12px;color:var(--color-muted);border:1px solid var(--color-line);border-radius:var(--radius-sm);font-size:9px}.review-controls .review-play{color:#fff;border-color:var(--color-accent);background:var(--color-accent)}.focus-coach{display:flex;flex-direction:column;padding:26px}.coach-issue{display:grid;grid-template-columns:auto 1fr;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--color-line)}.coach-issue>span{color:var(--color-accent);font-family:var(--font-display);font-size:28px}.coach-issue small,.coach-tip strong{color:var(--color-faint);font-size:9px}.coach-issue h2{margin-top:6px;color:var(--color-ink);font-family:var(--font-display);font-size:23px;font-weight:600;line-height:1.35}.coach-tip{margin-top:22px;padding:16px;border-left:2px solid var(--color-accent);background:var(--color-accent-soft)}.coach-tip p{margin-top:7px;color:var(--color-muted);font-size:11px;line-height:1.7}.speed-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:26px}.speed-ladder>div{position:relative;display:grid;gap:2px;padding-top:18px;text-align:center}.speed-ladder>div:before{content:"";position:absolute;top:4px;left:0;width:100%;height:1px;background:var(--color-line)}.speed-ladder i{position:absolute;z-index:2;top:0;left:50%;width:9px;height:9px;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-line-dark);transform:translate(-50%)}.speed-ladder .is-current i{background:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.speed-ladder strong{color:var(--color-ink);font-family:var(--font-mono);font-size:10px}.speed-ladder span{color:var(--color-faint);font-size:8px}.round-target{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:26px;padding:14px 0;border-top:1px solid var(--color-line);color:var(--color-faint);font-size:9px}.round-target strong{color:var(--color-ink);font-weight:600}.focus-coach>.primary-button{margin-top:auto}.countdown{position:fixed;z-index:500;inset:0;display:grid;place-items:center;align-content:center;color:#f7efe2;background:#121411e0;backdrop-filter:blur(16px)}.countdown span{font-family:var(--font-display);font-size:clamp(110px,20vw,230px);line-height:.9}.countdown small{margin-top:24px;font-size:11px;letter-spacing:.18em}.comparison-card{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr auto;align-items:center;gap:30px;margin:-46px 0 90px;padding:30px;border:1px solid var(--color-success);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-success) 7%,var(--color-surface))}.comparison-card h2{margin-top:8px;color:var(--color-ink);font-family:var(--font-display);font-size:28px;font-weight:600}.comparison-card>div:first-child>p:last-child{margin-top:6px;color:var(--color-muted);font-size:11px}.comparison-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.comparison-metrics span{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:5px;padding:12px;border-left:1px solid var(--color-line)}.comparison-metrics small{grid-column:1 / -1;color:var(--color-faint);font-size:8px}.comparison-metrics b,.comparison-metrics strong{font-family:var(--font-display);font-size:22px;font-weight:500}.comparison-metrics b{color:var(--color-faint)}.comparison-metrics strong{color:var(--color-success)}.comparison-metrics i{color:var(--color-faint);font-style:normal}.results-frame{width:min(1280px,100%);padding-block:72px 100px}.results-intro{max-width:850px}.results-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:14px;margin-top:42px}.score-card,.metric-card{min-height:280px;padding:28px}.score-card{display:grid;place-items:center}.score-ring{position:relative;display:grid;place-items:center;width:175px;height:175px;border-radius:50%;background:conic-gradient(var(--color-accent) calc(var(--score) * 1%),var(--color-line) 0)}.score-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--color-surface)}.score-ring>span{z-index:1;display:grid;text-align:center}.score-ring strong{color:var(--color-ink);font-family:var(--font-display);font-size:64px;font-weight:500;line-height:1}.score-ring small{margin-top:5px;color:var(--color-faint);font-size:9px}.score-note{display:flex;align-items:center;gap:9px;margin-top:16px;font-size:9px}.score-note i{padding:4px 7px;color:var(--color-success);border-radius:999px;background:color-mix(in srgb,var(--color-success) 12%,transparent);font-style:normal;font-weight:700}.score-note span{color:var(--color-faint)}.metric-card{display:flex;flex-direction:column}.metric-card>span{color:var(--color-line-dark);font-family:var(--font-display);font-size:27px}.metric-card>small{margin-top:28px;color:var(--color-faint);font-size:9px}.metric-card>strong{margin-top:5px;color:var(--color-ink);font-family:var(--font-display);font-size:40px;font-weight:500}.metric-card>div{height:3px;margin-top:18px;background:var(--color-line)}.metric-card>div i{display:block;width:var(--value);height:100%;background:var(--color-success)}.metric-card>p{margin-top:auto;color:var(--color-muted);font-size:10px}.mastery-section{display:grid;grid-template-columns:280px 1fr;align-items:end;gap:60px;margin-top:66px;padding-top:42px;border-top:1px solid var(--color-line)}.mastery-section h2{margin-top:7px}.mastery-map{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mastery-map article{display:grid;gap:4px;padding:15px;border:1px solid var(--color-line);border-radius:var(--radius-sm)}.mastery-map span{color:var(--color-faint);font-family:var(--font-mono);font-size:8px}.mastery-map strong{color:var(--color-muted);font-size:10px}.mastery-map i{display:block;width:100%;height:3px;margin-top:12px;background:var(--color-line)}.mastery-map .is-mastered{border-color:color-mix(in srgb,var(--color-success) 45%,var(--color-line))}.mastery-map .is-mastered strong{color:var(--color-success)}.mastery-map .is-mastered i{background:var(--color-success)}.mastery-map .is-learning i{background:linear-gradient(90deg,var(--color-warning) 74%,var(--color-line) 74%)}.results-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:56px}.modal-layer,.settings-layer{position:fixed;z-index:400;inset:0}.modal-backdrop{position:absolute;inset:0;background:#10120f8f;backdrop-filter:blur(10px);animation:fadeIn .18s ease both}@keyframes fadeIn{0%{opacity:0}}.mic-modal{position:absolute;top:50%;left:50%;width:min(480px,calc(100% - 32px));padding:42px;border:1px solid var(--color-line);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-float);transform:translate(-50%,-50%);animation:modalIn .22s var(--ease) both}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,-46%) scale(.98)}}.modal-close{display:grid;place-items:center;width:40px;height:40px;color:var(--color-muted);border:1px solid var(--color-line);border-radius:50%;font-size:22px}.mic-modal>.modal-close{position:absolute;top:18px;right:18px}.mic-illustration{position:relative;display:grid;place-items:center;width:90px;height:90px;margin-bottom:28px;border:1px solid var(--color-line);border-radius:50%}.mic-illustration span{width:18px;height:30px;border:2px solid var(--color-accent);border-radius:12px}.mic-illustration:before{content:"";position:absolute;top:27px;width:28px;height:31px;border-right:1px solid var(--color-accent);border-bottom:1px solid var(--color-accent);border-left:1px solid var(--color-accent);border-radius:0 0 16px 16px}.mic-illustration i{position:absolute;left:68px;width:4px;height:var(--wave, 14px);border-radius:999px;background:var(--color-accent)}.mic-illustration i:nth-of-type(1){--wave: 8px;transform:translate(0)}.mic-illustration i:nth-of-type(2){--wave: 19px;transform:translate(8px)}.mic-illustration i:nth-of-type(3){--wave: 12px;transform:translate(16px)}.mic-modal h2{margin-top:10px;color:var(--color-ink);font-family:var(--font-display);font-size:34px;font-weight:600;line-height:1.28}.mic-modal>p:not(.eyebrow){margin-top:14px;color:var(--color-muted);font-size:13px;line-height:1.7}.privacy-note{display:flex;align-items:center;gap:12px;margin:24px 0;padding:14px;border:1px solid var(--color-line);border-radius:var(--radius-sm)}.privacy-note>span{color:var(--color-success);font-size:20px}.privacy-note>div{display:grid}.privacy-note strong{color:var(--color-ink);font-size:11px}.privacy-note small{color:var(--color-faint);font-size:9px}.mic-modal>.text-button{margin-top:6px}.settings-drawer{position:absolute;top:0;right:0;bottom:0;width:min(430px,100%);padding:36px;overflow-y:auto;background:var(--color-surface);box-shadow:var(--shadow-float);animation:drawerIn .24s var(--ease) both}@keyframes drawerIn{0%{transform:translate(100%)}}.settings-drawer>header{display:flex;align-items:start;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--color-line)}.settings-drawer h2{margin-top:7px;color:var(--color-ink);font-family:var(--font-display);font-size:32px;font-weight:600}.setting-block{padding:24px 0;border-bottom:1px solid var(--color-line)}.setting-block>div:first-child{display:grid;gap:4px}.setting-block strong{color:var(--color-ink);font-size:12px}.setting-block span{color:var(--color-faint);font-size:9px;line-height:1.5}.setting-block .segmented-control{margin-top:14px}.setting-block .segmented-control button{flex:1;min-height:36px;font-family:var(--font-body);font-size:10px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.switch{position:relative;flex:0 0 auto;width:46px;height:27px;border-radius:999px;background:var(--color-line-dark);transition:background .16s ease}.switch i{position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .16s var(--ease)}.switch.is-on{background:var(--color-success)}.switch.is-on i{transform:translate(19px)}.settings-foot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:30px;padding:14px;border-radius:var(--radius-sm);background:var(--color-bg)}.settings-foot p{display:grid}.settings-foot strong{color:var(--color-ink);font-size:10px}.settings-foot small{color:var(--color-faint);font-size:8px}.settings-foot button{min-height:36px;color:var(--color-accent);font-size:9px;font-weight:650}.toast{position:fixed;z-index:600;right:24px;bottom:24px;max-width:380px;padding:14px 18px;color:#f8f3e8;border-radius:var(--radius-sm);background:var(--color-sage-dark);box-shadow:var(--shadow-float);font-size:12px;animation:toastIn .22s var(--ease) both}.toast.is-error{background:var(--color-danger)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}@media (max-width: 1180px){.upload-composition{padding-inline:20px}.workspace-toolbar{align-items:flex-start}.workspace-stats{flex-wrap:wrap;justify-content:flex-end}.feedback-bar{grid-template-columns:auto 1fr auto}.issue-button{grid-column:1 / -1}.results-grid{grid-template-columns:repeat(3,1fr)}.score-card{grid-column:1 / -1;grid-template-columns:auto auto;justify-content:center;gap:40px;min-height:220px}}@media (max-width: 980px){:root{--header-height: 66px}.brand-copy small,.status-pill span:not(.status-dot){display:none}.status-pill{width:42px;padding:0;justify-content:center}.upload-composition{width:min(750px,100%);margin-inline:auto}.analysis-steps li{min-height:48px}.player-grid{grid-template-columns:1fr}.hand-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.guitar-hand-workbench{grid-template-columns:minmax(0,1fr)}.guitar-hand-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.1);border-left:0}.guitar-hand-readout,.guitar-hand-note{grid-column:1 / -1}.comparison-card{grid-template-columns:1fr;margin-top:-48px}.mastery-section{grid-template-columns:1fr;gap:25px}}@media (max-width: 720px){:root{--header-height: 62px;--page-gutter: 18px}body{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}.topbar{grid-template-columns:1fr auto;padding-top:env(safe-area-inset-top,0px)}.brand-mark{width:38px;height:38px}.brand-copy strong{font-size:18px}.upload-composition{padding:18px 0 40px}.upload-panel,.upload-dropzone{min-height:400px}.upload-panel{border-radius:24px}.upload-dropzone{padding:36px 22px}.upload-dropzone:after{inset:12px}.upload-dropzone:hover:after,.upload-dropzone.is-dragging:after,.upload-dropzone:focus-visible:after{inset:9px}.string-emblem{width:96px;height:96px}.string-emblem span{top:calc(25px + (var(--line, 0) * 9px))}.string-emblem b{top:28px}.upload-dropzone h2{font-size:26px}.format-line{flex-wrap:wrap;justify-content:center;margin-top:25px}.demo-link{width:88%;margin-right:auto}.course-library-head{align-items:start;flex-direction:column;gap:12px}.course-library-list{grid-template-columns:1fr}.course-card{min-height:0}.selected-file{min-height:480px}.file-details{padding:24px}.file-actions{flex-direction:column;align-items:stretch}.page-heading{grid-template-columns:1fr auto;padding-top:42px}.page-heading .back-link{grid-column:1 / -1}.analysis-grid{gap:12px}.analysis-media,.review-stage{padding:8px}.detection-box span{display:none}.analysis-discovery{grid-template-columns:auto 1fr}.discovery-values{grid-column:1 / -1;overflow-x:auto}.workspace-shell{padding-inline:8px}.workspace-toolbar{display:grid}.workspace-stats{justify-content:flex-start}.workspace-stats>span:first-child,.workspace-stats>.live-mic,.workspace-stats>.compact-button{display:none}.speed-control{width:100%}.speed-control button{flex:1;min-height:38px}.teacher-video{aspect-ratio:4 / 3}.video-controls{gap:5px;padding-inline:8px}.video-controls button:not(.main-play):nth-child(1),.video-controls button:not(.main-play):nth-child(3){display:none}.hand-stack{grid-template-columns:1fr 1fr;gap:6px}.hand-pane footer{display:none}.fretboard-visual,.pick-visual{min-height:130px}.hand-pane header{min-height:38px}.timeline-pane{overflow-x:auto}.timeline-pane>*{min-width:820px}.feedback-bar{position:sticky;z-index:60;bottom:calc(62px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr auto;gap:10px}.feedback-bar>p{display:none}.issue-button{grid-column:1 / -1}.focus-header{padding-top:40px}.focus-coach{padding:20px}.review-controls{overflow-x:auto}.review-controls button{flex:0 0 auto}.comparison-metrics{grid-template-columns:1fr}.results-frame{padding-block:48px 70px}.results-grid{grid-template-columns:1fr}.score-card,.metric-card{grid-column:auto;min-height:220px}.score-card{grid-template-columns:1fr;gap:0}.mastery-map{grid-template-columns:repeat(2,1fr)}.mic-modal,.settings-drawer{padding:28px 22px}.mic-modal h2{font-size:29px}.toast{right:14px;bottom:calc(74px + env(safe-area-inset-bottom,0px));left:14px;max-width:none}}@media (max-height: 560px) and (orientation: landscape){.upload-panel,.upload-dropzone{min-height:330px}.string-emblem{width:78px;height:78px;margin-bottom:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.results-sheet .results-grid{grid-template-columns:1.2fr repeat(4,minmax(0,1fr))}.segment-row{position:relative}.segment-row>[data-segments]{position:relative;min-height:28px}.segment-row [data-segment-id]{position:absolute;inset-block:2px;overflow:hidden;min-width:34px;padding:0 6px;color:var(--color-muted);border:1px solid var(--color-line);border-radius:5px;background:color-mix(in srgb,var(--color-surface) 88%,transparent);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.segment-row [data-segment-id].is-active{z-index:1;color:var(--color-surface);border-color:var(--color-accent);background:var(--color-accent)}.segment-row [data-segment-id].is-passed:after{content:" ✓"}.segment-row [data-segment-id].is-locked{opacity:.48}.voice-control[data-state=starting],.voice-control[data-state=recording],.voice-control[data-state=processing]{color:var(--color-surface);border-color:var(--color-accent);background:var(--color-accent)}.voice-control[data-state=recording]{animation:pulse 1s ease-in-out infinite}.voice-help{position:relative;width:min(520px,calc(100vw - 32px));padding:34px}.voice-help h2{margin-top:12px;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(26px,4vw,40px)}.voice-help>p:not(.eyebrow){margin-top:10px;color:var(--color-muted)}.voice-help pre{margin-top:22px;padding:18px;color:var(--color-ink);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);font:500 12px/2 var(--font-sans);white-space:pre-wrap}.score-editor-layer{align-items:stretch;overflow:auto;padding:16px;background:color-mix(in srgb,var(--color-bg) 96%,transparent)}.score-editor-shell{width:min(1500px,100%);min-height:calc(100vh - 32px);margin:auto;padding:clamp(14px,2vw,26px);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.editor-toolbar,.editor-actions,.editor-toolbar-title,.editor-note-actions,.editor-review-actions{display:flex;align-items:center;gap:10px}.editor-toolbar{position:sticky;z-index:4;top:0;justify-content:space-between;padding:10px 0 18px;background:var(--color-surface)}.editor-toolbar-title>div{display:grid;gap:3px}.editor-toolbar-title small{color:var(--color-faint);font-size:9px}.editor-toolbar-title small.is-dirty{color:var(--color-warning)}.editor-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.75fr);gap:16px}.editor-media,.editor-sidebar,.editor-note-panel,.editor-review-panel,.editor-status,.editor-error{padding:18px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg)}.editor-video{display:block;width:100%;max-height:44vh;border-radius:calc(var(--radius-md) - 4px);background:#111}.editor-score,.editor-tablature{position:relative;overflow-x:auto;margin-top:14px;min-height:220px}.editor-sidebar{overflow:auto;max-height:72vh}.editor-sidebar section+section{margin-top:18px}.editor-sidebar h3,.editor-note-panel h3,.editor-review-panel h3{margin-bottom:10px;color:var(--color-ink)}.editor-sidebar button,.editor-revision-list button,.editor-issue-list button{width:100%;margin-top:6px;text-align:left}.editor-note-panel,.editor-review-panel{margin-top:16px}.editor-note-panel label,.editor-global-fields label{display:grid;gap:5px;color:var(--color-muted);font-size:10px}.editor-note-panel input,.editor-note-panel textarea,.editor-global-fields input,.editor-global-fields textarea,.editor-global-fields select{min-height:36px;padding:8px 10px;color:var(--color-ink);border:1px solid var(--color-line-dark);border-radius:6px;background:var(--color-surface)}.editor-toast{position:fixed;z-index:20;right:24px;bottom:24px;max-width:min(420px,calc(100vw - 48px));padding:12px 16px;color:#fff;border-radius:8px;background:var(--color-ink);box-shadow:var(--shadow-lg)}.editor-toast.is-error{background:var(--color-danger)}@media (max-width: 1180px){.results-sheet .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-sheet .score-card{grid-column:1 / -1}.editor-layout{grid-template-columns:minmax(0,1fr)}.editor-sidebar{max-height:none}}@media (max-width: 700px){.results-sheet .results-grid{grid-template-columns:minmax(0,1fr)}.score-editor-layer{padding:0}.score-editor-shell{min-height:100vh;border:0;border-radius:0}.editor-toolbar{align-items:flex-start}.editor-actions{flex-wrap:wrap;justify-content:flex-end}}.topbar-course{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;text-align:center}.topbar-course strong{max-width:320px;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.topbar-course span{color:var(--color-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em}.topbar-course b{font-weight:600}.stage{display:flex;flex-direction:column;align-items:center;gap:clamp(28px,5vh,48px);width:min(1180px,100%);margin:0 auto;padding:clamp(36px,8vh,84px) 24px 96px}.stage-intro{max-width:720px;text-align:center}.stage-intro h1{margin:14px 0 12px;font-size:clamp(28px,4.4vw,44px);line-height:1.18;letter-spacing:-.01em}.stage-intro h1 em{color:var(--color-accent);font-style:normal}.stage-intro>p:last-child{color:var(--color-muted);font-size:15px}.stage .upload-composition{width:min(680px,100%);margin:0}.analysis-inline{display:flex;flex-direction:column;gap:22px;width:100%;animation:fadeIn .24s var(--ease) both}.analysis-heading-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.analysis-heading-row h2{margin-top:10px;font-size:clamp(20px,2.6vw,28px)}.analysis-inline .analysis-grid,.analysis-inline .analysis-discovery{width:100%}.workspace-shell[hidden],.stage[hidden],[data-upload-area][hidden],[data-course-library][hidden],[data-analysis-panel][hidden],[data-stage-intro][hidden],[data-topbar-course][hidden]{display:none}.focus-sheet,.results-sheet{position:absolute;inset:0;padding:clamp(20px,4vh,48px) clamp(20px,5vw,72px);overflow-y:auto;background:var(--color-bg);animation:fadeIn .2s var(--ease) both}.focus-sheet .focus-header{padding-top:12px}.focus-sheet .focus-grid,.focus-sheet .comparison-card,.results-sheet .results-grid,.results-sheet .mastery-section,.results-sheet .results-actions,.results-sheet .results-intro{width:min(1280px,100%);margin-inline:auto}.results-sheet{display:block}.results-sheet .results-intro{padding-top:clamp(8px,3vh,32px)}.tab-event.is-correct{color:#fff;border-color:var(--color-success);background:var(--color-success)}.tab-event.is-wrong{color:#fff;border-color:var(--color-danger);background:var(--color-danger)}.tab-event.is-missed{color:var(--color-warning);border-color:var(--color-warning);background:transparent;box-shadow:inset 0 0 0 1px var(--color-warning)}.tab-event.is-early:after,.tab-event.is-late:after{position:absolute;top:-7px;font-size:8px;line-height:1}.tab-event.is-early:after{content:"◀";left:-4px;color:var(--color-warning)}.tab-event.is-late:after{content:"▶";right:-4px;color:var(--color-warning)}[data-feedback-title][data-tone=good]{color:var(--color-success)}[data-feedback-title][data-tone=bad]{color:var(--color-danger)}[data-feedback-title][data-tone=warn]{color:var(--color-warning)}.hand-pane.hide-overlay .finger-dot,.hand-pane.hide-overlay .motion-arrow{opacity:0}.measure-row button.is-current,.chord-row button.is-current{color:var(--color-surface);border-color:var(--color-ink);background:var(--color-ink)}.measure-row button.is-past,.chord-row button.is-past{opacity:.45}@media (max-width: 900px){.topbar-course{display:none}.focus-sheet,.results-sheet{padding:16px}.stage{padding-top:28px}}.workspace-shell{display:flex;flex-direction:column;width:min(1800px,100%);height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));min-height:0;padding:14px clamp(14px,2vw,32px) 16px;overflow:hidden;overscroll-behavior:contain}.product-shell.is-practice-stage .topbar{display:none}.product-shell.is-practice-stage .workspace-shell{height:100vh;height:100dvh}.workspace-toolbar{flex:0 0 auto;min-height:42px;margin-bottom:10px}.practice-board{display:grid;grid-template-columns:minmax(0,1fr) clamp(292px,23vw,370px);flex:1 1 auto;gap:12px;min-width:0;min-height:0}.lesson-column{display:block;min-width:0;min-height:0;padding-right:4px;overflow-x:hidden;overflow-y:auto;scrollbar-color:color-mix(in srgb,var(--color-faint) 40%,transparent) transparent}.lesson-column>.player-grid{min-height:430px}.lesson-column>.timeline-pane{margin-top:10px}.mobile-view-switch{display:none}.mobile-view-switch button,.speed-control button,.video-controls button{touch-action:manipulation}.practice-board .player-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);height:auto;min-width:0;min-height:0}@media (max-width: 980px){.practice-board .player-grid{grid-template-columns:minmax(0,1fr)}.player-grid .hand-stack{grid-row:2}.player-grid .guitar-hand-lab{grid-row:3}}.practice-board .teacher-pane{display:grid;grid-template-rows:auto 50px;align-self:start;min-width:0;min-height:0}.practice-board .teacher-video{width:100%;aspect-ratio:16 / 9;min-height:0}.practice-board .video-controls{min-height:50px}.practice-board .hand-stack{min-width:0;min-height:0}.practice-board .fretboard-visual,.practice-board .pick-visual{min-height:0}.practice-board .timeline-pane{--track-label-width: 50px;min-width:0;margin-top:0}.practice-board .waveform-row,.practice-board .measure-row,.practice-board .chord-row,.practice-board .tablature-row{grid-template-columns:var(--track-label-width) minmax(0,1fr)}.practice-board .workspace-wave{height:34px;padding-block:3px}.practice-board .measure-row button{min-height:24px}.practice-board .chord-row button{min-height:34px;padding-inline:10px;font-size:14px}.practice-board .tablature{min-width:0;height:126px}.practice-board .tab-string{top:calc(15px + (var(--row, 0) * 18px))}.practice-board .tab-event{top:calc(15px + ((var(--y) - 1) * 18px));width:22px;height:22px}.practice-board .timeline-playhead{left:var(--track-label-width)}.feedback-panel.feedback-bar{position:relative;bottom:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;min-height:0;margin-top:0;padding:clamp(16px,2.1vw,28px);overflow:hidden;border-radius:var(--radius-md)}.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--color-line)}.feedback-heading>div{display:grid;gap:2px}.feedback-heading small,.feedback-guidance small{color:var(--color-faint);font-family:var(--font-mono);font-size:7px;letter-spacing:.13em}.feedback-heading strong{color:var(--color-ink);font-family:var(--font-display);font-size:21px;font-weight:600}.feedback-heading>span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 30%,var(--color-line));border-radius:999px;font-family:var(--font-mono);font-size:7px}.feedback-heading>span i{width:5px;height:5px;border-radius:50%;background:currentColor}.feedback-verdict{display:flex;align-items:center;gap:14px;padding:clamp(18px,3vh,30px) 0 12px}.feedback-verdict .listening-rings{flex:0 0 auto;width:48px;height:48px}.feedback-verdict .listen-state{display:grid;gap:2px}.feedback-verdict .listen-state small{color:var(--color-faint);font-size:8px}.feedback-verdict .listen-state strong{font-family:var(--font-display);font-size:clamp(23px,2vw,30px);font-weight:600}.feedback-copy{min-height:44px;color:var(--color-muted);font-size:11px;line-height:1.65}.feedback-metrics{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;border-top:1px solid var(--color-line);border-left:1px solid var(--color-line)}.feedback-metrics>div{display:grid;align-content:center;min-width:0;min-height:74px;padding:12px;border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.feedback-metrics small{color:var(--color-faint);font-size:8px}.feedback-metrics strong{margin-top:3px;overflow:hidden;color:var(--color-ink);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.feedback-metrics .live-score{min-width:0;text-align:left}.feedback-metrics .live-score strong{color:var(--color-accent);font-family:var(--font-display);font-size:29px;font-weight:500;line-height:1}.feedback-guidance{margin-top:clamp(14px,2.2vh,22px);padding:14px;border-left:2px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent-soft) 42%,transparent)}.feedback-guidance p{margin-top:7px;color:var(--color-muted);font-size:10px;line-height:1.65}.feedback-panel .issue-button{width:100%;margin-top:auto}@media (min-width: 821px) and (max-height: 760px){.workspace-shell{padding-block:8px 10px}.workspace-toolbar{min-height:38px;margin-bottom:7px}.practice-board,.lesson-column,.practice-board .player-grid,.practice-board .hand-stack{gap:7px}.practice-board .teacher-pane{grid-template-rows:minmax(0,1fr) 44px}.practice-board .video-controls{min-height:44px}.practice-board .waveform-row{display:none}.practice-board .tablature{height:112px}.feedback-panel.feedback-bar{padding:14px}.feedback-heading{padding-bottom:10px}.feedback-verdict{padding:12px 0 8px}.feedback-copy{min-height:34px}.feedback-metrics{margin-top:10px}.feedback-metrics>div{min-height:58px;padding:8px 10px}.feedback-guidance{margin-top:10px;padding:10px}}@media (min-width: 981px) and (max-width: 1100px){.practice-board{grid-template-columns:minmax(0,1fr) 280px}.practice-board .player-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.feedback-panel.feedback-bar{padding:16px}}@media (max-width: 820px){:root{--header-height: calc(62px + env(safe-area-inset-top, 0px)) }body{padding-bottom:0}.topbar{min-height:var(--header-height);padding-top:env(safe-area-inset-top,0px)}.workspace-shell{height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));padding:8px max(8px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}.product-shell.is-practice-stage .workspace-shell{height:100vh;height:100dvh;padding-top:max(8px,env(safe-area-inset-top,0px))}.workspace-toolbar{display:block;min-height:0;margin-bottom:7px}.workspace-title{min-width:0}.workspace-title h1{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.workspace-stats{display:flex;gap:6px;margin-top:6px}.workspace-stats>span:first-child,.workspace-stats>.live-mic{display:none}.workspace-stats .speed-control{flex:1 1 auto;width:auto;min-width:0}.workspace-stats .speed-control button{flex:1 1 0;min-width:0;min-height:38px;padding-inline:3px}.workspace-stats>.text-button,.workspace-stats>.compact-button{display:inline-flex;flex:0 0 auto;align-items:center;min-height:38px;padding-inline:9px;font-size:9px}.practice-board{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:7px}.lesson-column{display:block;gap:6px;padding-right:0}.lesson-column>*+*{margin-top:7px}.lesson-column>.player-grid{min-height:360px}.guitar-hand-heading{display:grid;gap:12px;padding:16px}.guitar-hand-status{width:fit-content}.guitar-hand-workbench,.guitar-hand-controls{display:block}.guitar-hand-viewport{min-height:390px}.guitar-hand-controls{border-top:1px solid rgba(255,255,255,.1);border-left:0}.mobile-view-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--color-line);border-radius:9px;background:var(--color-surface)}.mobile-view-switch button{flex:1 1 0;min-height:36px;padding-inline:6px;color:var(--color-faint);border-radius:6px;font-size:10px}.mobile-view-switch button.is-active{color:#fff;background:var(--color-ink)}.practice-board .player-grid{display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0}.player-grid .hand-stack{grid-row:2}.player-grid .guitar-hand-lab{grid-row:3}.workspace-shell[data-mobile-view=teacher] .hand-stack,.workspace-shell[data-mobile-view=left] .teacher-pane,.workspace-shell[data-mobile-view=right] .teacher-pane{display:none}.workspace-shell[data-mobile-view=left] .hand-stack,.workspace-shell[data-mobile-view=right] .hand-stack{display:block;height:100%}.workspace-shell[data-mobile-view=left] .right-hand-pane,.workspace-shell[data-mobile-view=right] .left-hand-pane{display:none}.workspace-shell[data-mobile-view=left] .left-hand-pane,.workspace-shell[data-mobile-view=right] .right-hand-pane{height:100%}.practice-board .teacher-pane{grid-template-rows:minmax(0,1fr) 44px;height:100%}.practice-board .teacher-video{aspect-ratio:auto}.practice-board .video-controls{gap:5px;min-height:44px;padding-inline:8px}.practice-board .video-controls button{min-width:32px;min-height:32px}.practice-board .video-controls button:not(.main-play):nth-child(1),.practice-board .video-controls button:not(.main-play):nth-child(3){display:none}.practice-board .hand-pane footer{display:flex}.practice-board .timeline-pane{--track-label-width: 36px;width:100%;overflow:hidden}.practice-board .timeline-pane>*{min-width:0}.practice-board .waveform-row{display:none}.practice-board .track-label{padding-top:8px;font-size:6px}.practice-board .measure-row button{min-height:22px;padding-inline:3px;font-size:7px}.practice-board .chord-row button{min-height:30px;padding-inline:7px;font-size:12px}.practice-board .tablature{min-width:0;height:104px}.practice-board .tab-string{top:calc(12px + (var(--row, 0) * 15px))}.practice-board .tab-string b{top:-6px;left:4px;font-size:7px}.practice-board .tab-event{top:calc(12px + ((var(--y) - 1) * 15px));width:19px;height:19px;font-size:8px}.feedback-panel.feedback-bar{position:relative;bottom:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;min-height:72px;padding:9px 11px;overflow:visible}.feedback-heading,.feedback-guidance{display:none}.feedback-verdict{min-width:0;padding:0}.feedback-verdict .listening-rings{width:36px;height:36px}.feedback-verdict .listen-state{min-width:0}.feedback-verdict .listen-state strong{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.feedback-copy{display:block;grid-column:1 / -1;min-height:0;overflow:hidden;font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.feedback-metrics{display:block;margin:0;border:0}.feedback-metrics>div{display:none}.feedback-metrics .live-score{display:grid;min-width:68px;min-height:0;padding:0;border:0;text-align:right}.feedback-metrics .live-score strong{font-size:25px}.feedback-panel .issue-button{grid-column:1 / -1;min-height:40px;margin-top:0}}@media (max-width: 480px){.brand-copy small,.status-pill span:not(.status-dot){display:none}.status-pill{width:40px;padding:0;justify-content:center}.workspace-title small{display:none}.workspace-stats .speed-control button{font-size:7px}.workspace-stats>.compact-button{display:none}}@media (max-width: 820px) and (max-height: 700px){.workspace-title{display:none}.workspace-stats{margin-top:0}.mobile-view-switch button{min-height:27px;font-size:9px}.practice-board .teacher-pane{grid-template-rows:minmax(0,1fr) 38px}.practice-board .video-controls{min-height:38px}.practice-board .tablature{height:94px}.practice-board .tab-string{top:calc(10px + (var(--row, 0) * 14px))}.practice-board .tab-event{top:calc(10px + ((var(--y) - 1) * 14px))}.feedback-copy{display:none}}@media (max-width: 1024px) and (max-height: 560px) and (orientation: landscape){:root{--header-height: calc(48px + env(safe-area-inset-top, 0px)) }.topbar{min-height:var(--header-height)}.brand-mark{width:34px;height:34px}.brand-copy small,.topbar-course{display:none}.workspace-shell{padding-block:5px max(5px,env(safe-area-inset-bottom,0px))}.workspace-toolbar{display:block;margin-bottom:5px}.workspace-title,.workspace-stats>span:first-child,.workspace-stats>.live-mic{display:none}.workspace-stats{display:flex;gap:6px;margin-top:0}.workspace-stats .speed-control{flex:1 1 auto;width:auto}.workspace-stats .speed-control button{flex:1 1 0;min-width:0}.workspace-stats .speed-control button,.workspace-stats>.text-button,.workspace-stats>.compact-button{min-height:29px}.practice-board{grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:minmax(0,1fr);gap:6px}.lesson-column{grid-template-columns:minmax(0,1fr) minmax(230px,.78fr);grid-template-rows:auto minmax(0,1fr);gap:5px}.mobile-view-switch{display:flex;grid-column:1 / -1;gap:3px;padding:2px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-surface)}.mobile-view-switch button{flex:1 1 0;min-height:25px;color:var(--color-faint);border-radius:6px;font-size:8px}.mobile-view-switch button.is-active{color:#fff;background:var(--color-ink)}.practice-board .player-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(150px,.8fr);height:auto}.practice-board .player-grid .hand-stack,.practice-board .player-grid .guitar-hand-lab{grid-row:auto}.mobile-view-switch{display:none}.workspace-shell[data-mobile-view] .teacher-pane{display:grid;height:100%}.workspace-shell[data-mobile-view] .hand-stack{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));height:100%}.workspace-shell[data-mobile-view] .left-hand-pane,.workspace-shell[data-mobile-view] .right-hand-pane{display:grid;height:100%}.practice-board .teacher-pane{grid-template-rows:minmax(0,1fr) 38px;height:100%}.practice-board .timeline-pane{align-self:stretch}.practice-board .measure-row,.practice-board .chord-row{display:none}.practice-board .tablature{height:100%;min-height:96px}.feedback-panel.feedback-bar{display:flex;flex-direction:column;min-width:0;padding:10px}.feedback-verdict .listening-rings{width:34px;height:34px}.feedback-metrics{margin-top:10px}.feedback-metrics .live-score{text-align:left}}.product-shell.is-practice-stage{height:100dvh;overflow:hidden;background:var(--color-bg)}.product-shell.is-practice-stage .workspace-shell{width:min(1800px,100%);height:100dvh;min-height:0;padding:10px clamp(10px,1.4vw,24px) 12px;overflow:hidden}.product-shell.is-practice-stage .workspace-toolbar{display:flex;flex:0 0 auto;align-items:center;min-height:42px;margin-bottom:8px}.product-shell.is-practice-stage .workspace-title h1,.product-shell.is-practice-stage .guitar-hand-heading h2,.product-shell.is-practice-stage .feedback-heading strong{font-family:var(--font-body);letter-spacing:-.025em}.product-shell.is-practice-stage .practice-board{display:grid;grid-template-columns:minmax(0,1fr) clamp(268px,20vw,324px);flex:1 1 auto;gap:8px;min-width:0;min-height:0}.product-shell.is-practice-stage .lesson-column{display:grid;grid-template-rows:36px minmax(270px,1fr) 164px;gap:7px;min-width:0;min-height:0;padding:0;overflow:hidden}.media-mode-switch{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:3px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-surface)}.media-mode-switch>div{display:flex;align-items:center;gap:2px}.media-mode-switch span{padding:0 9px;color:var(--color-faint);font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.media-mode-switch button{min-height:28px;padding:0 14px;color:var(--color-muted);border-radius:7px;font-size:10px;transition:color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.media-mode-switch button:hover,.media-mode-switch button:focus-visible{color:var(--color-ink);background:var(--color-surface-2)}.media-mode-switch button:active,.guitar-hand-tools button:active,.transport-bar button:active{transform:scale(.98)}.media-mode-switch button.is-active{color:var(--color-surface);background:var(--color-ink)}.media-mode-switch .media-detail-button{border-left:1px solid var(--color-line);border-radius:0 7px 7px 0}.product-shell.is-practice-stage .media-shell{display:grid;grid-template-rows:minmax(220px,1fr) 48px;gap:7px;min-width:0;min-height:0}.product-shell.is-practice-stage .player-grid{position:relative;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:7px;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius-md)}.product-shell.is-practice-stage .player-grid>.teacher-pane,.product-shell.is-practice-stage .player-grid>.guitar-hand-lab{width:100%;height:100%;min-width:0;min-height:0;margin:0}.product-shell.is-practice-stage .teacher-pane{display:block;align-self:stretch;border-color:color-mix(in srgb,var(--color-line) 72%,transparent);background:#1b211d}.product-shell.is-practice-stage .teacher-video{width:100%;height:100%;min-height:0;aspect-ratio:auto}.product-shell.is-practice-stage .teacher-video video{background:#1b211d}.product-shell.is-practice-stage .guitar-hand-lab{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-color:var(--guitar-panel-line);border-radius:var(--radius-md);background:var(--guitar-panel-bg);box-shadow:0 22px 54px #241f163b,inset 0 1px #f3f0e80d}.product-shell.is-practice-stage .guitar-hand-heading{z-index:2;align-items:center;min-height:50px;padding:9px 12px;background:radial-gradient(circle at 12% 0%,var(--guitar-panel-accent-soft),transparent 42%),var(--guitar-panel-surface)}.product-shell.is-practice-stage .guitar-hand-heading h2{margin-top:2px;font-size:15px;line-height:1.15}.product-shell.is-practice-stage .guitar-hand-heading p{display:none}.guitar-hand-tools{display:flex;align-items:center;gap:6px}.guitar-hand-tools .guitar-hand-readout{display:flex;flex:0 1 auto;align-items:stretch;padding-inline:4px}.guitar-hand-tools .guitar-hand-readout>div{min-width:88px;padding:1px 10px;border-left:1px solid var(--guitar-panel-line)}.guitar-hand-tools .guitar-hand-readout dt{color:var(--guitar-panel-faint);font-size:7px;letter-spacing:.06em}.guitar-hand-tools .guitar-hand-readout dd{color:var(--guitar-panel-ink);font-size:10px;line-height:1.3;white-space:nowrap}.guitar-hand-tools .guitar-hand-readout>div:first-child dd{color:var(--guitar-panel-contact)}.guitar-hand-tools .guitar-hand-status{max-width:min(26vw,240px);overflow:hidden;padding:5px 8px;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.guitar-hand-tools button{min-height:28px;padding:0 10px;color:var(--guitar-panel-muted);border:1px solid var(--guitar-panel-line);border-radius:6px;background:var(--guitar-panel-accent-soft);font-size:10px;transition:color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.guitar-hand-tools button:hover,.guitar-hand-tools button:focus-visible,.guitar-hand-tools button[aria-expanded=true]{color:var(--guitar-panel-ink);border-color:#d4a57459;background:var(--guitar-panel-accent-soft)}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-heading{flex-wrap:wrap;align-content:center}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-heading>div:first-child{flex:1 1 100%;min-width:0}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-tools{width:100%}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-tools .guitar-hand-status,.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-tools>[data-action=toggle-3d-controls]{display:none}.product-shell.is-practice-stage .guitar-hand-workbench{position:relative;display:block;min-height:0}.product-shell.is-practice-stage .guitar-hand-viewport{width:100%;height:100%;min-height:0}.product-shell.is-practice-stage .guitar-hand-controls{position:absolute;z-index:6;top:8px;right:8px;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));width:min(620px,calc(100% - 16px));max-height:calc(100% - 16px);overflow:auto;border:1px solid var(--guitar-panel-line);border-radius:10px;color:var(--guitar-panel-ink);background:var(--guitar-panel-surface-soft);box-shadow:inset 0 1px #f5f0e80d,0 20px 48px #1a0f0a52;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s var(--ease),transform .18s var(--ease)}.product-shell.is-practice-stage .guitar-scene-inspector{display:grid;gap:12px}.product-shell.is-practice-stage .guitar-scene-inspector>.guitar-hand-legend{padding-bottom:11px;border-bottom:1px solid var(--guitar-panel-line)}.product-shell.is-practice-stage .guitar-scene-inspector>.guitar-string-signal{padding-bottom:11px;border-bottom:1px solid var(--guitar-panel-line)}.product-shell.is-practice-stage .guitar-scene-inspector>.guitar-control-grid{grid-template-columns:minmax(0,1fr);margin-top:0}.product-shell.is-practice-stage .guitar-hand-lab.is-controls-open .guitar-hand-controls{opacity:1;pointer-events:auto;transform:translateY(0)}.product-shell.is-practice-stage .guitar-hand-controls>section{padding:12px}.product-shell.is-practice-stage .guitar-hand-controls .guitar-hand-note{grid-column:1 / -1;padding:10px 12px 12px}.product-shell.is-practice-stage .hand-stack{position:absolute;z-index:7;inset:8px;display:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr);gap:7px;padding:8px;color:var(--guitar-panel-ink);border:1px solid var(--guitar-panel-line);border-radius:12px;background:var(--guitar-panel-surface-soft);box-shadow:0 18px 48px #241f1629;backdrop-filter:blur(16px)}.product-shell.is-practice-stage .is-hand-details-open .hand-stack{display:grid}.hand-details-header{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;min-height:36px;padding:0 4px 4px;border-bottom:1px solid var(--guitar-panel-line)}.hand-details-header>div{display:grid;gap:1px}.hand-details-header small{color:var(--guitar-panel-muted);font-family:var(--font-mono);font-size:8px;letter-spacing:.12em}.hand-details-header strong{color:var(--guitar-panel-ink);font-size:12px}.hand-details-header button{min-height:28px;padding:0 10px;color:var(--guitar-panel-muted);border:1px solid var(--guitar-panel-line);border-radius:6px;font-size:9px}.product-shell.is-practice-stage .transport-bar{width:100%;min-height:48px;margin:0;padding:0 10px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-surface)}.product-shell.is-practice-stage .transport-bar button{min-width:32px;min-height:32px;transition:color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.product-shell.is-practice-stage .transport-bar .main-play{width:34px;min-width:34px;height:34px}.product-shell.is-practice-stage .timeline-pane{--track-label-width: 42px;position:relative;width:100%;height:164px;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:10px}.product-shell.is-practice-stage .timeline-pane .waveform-row{display:none}.product-shell.is-practice-stage .timeline-pane>*,.product-shell.is-practice-stage .timeline-pane .measure-row>div,.product-shell.is-practice-stage .timeline-pane .chord-row>div,.product-shell.is-practice-stage .timeline-pane .tablature-row,.product-shell.is-practice-stage .timeline-pane .tablature{min-width:0}.product-shell.is-practice-stage .timeline-pane .measure-row,.product-shell.is-practice-stage .timeline-pane .chord-row,.product-shell.is-practice-stage .timeline-pane .tablature-row{grid-template-columns:var(--track-label-width) minmax(0,1fr)}.product-shell.is-practice-stage .timeline-pane .measure-row button{min-height:22px}.product-shell.is-practice-stage .timeline-pane .chord-row button{min-height:28px;font-size:12px}.product-shell.is-practice-stage .timeline-pane .tablature{height:106px}.product-shell.is-practice-stage .timeline-pane .tab-string{top:calc(11px + (var(--row, 0) * 15px))}.product-shell.is-practice-stage .timeline-pane .tab-event{top:calc(11px + ((var(--y) - 1) * 15px));width:20px;height:20px;font-size:9px}.product-shell.is-practice-stage .timeline-pane .timeline-playhead{left:var(--track-label-width)}.product-shell.is-practice-stage .feedback-panel.feedback-bar{height:100%;min-height:0;padding:clamp(14px,1.5vw,22px);border-radius:var(--radius-md)}.product-shell.is-practice-stage [data-media-mode=video] .player-grid{grid-template-columns:minmax(0,1fr)}.product-shell.is-practice-stage [data-media-mode=video] .guitar-hand-lab{display:none}.product-shell.is-practice-stage [data-media-mode="3d"] .player-grid{display:block}.product-shell.is-practice-stage [data-media-mode="3d"] .guitar-hand-lab{position:absolute;inset:0}.product-shell.is-practice-stage [data-media-mode="3d"] .teacher-pane{position:absolute;z-index:4;top:62px;right:10px;width:min(31%,340px);height:min(34%,210px);border-color:#fff3;box-shadow:0 14px 34px #080c0a47;transition:transform .22s var(--ease),opacity .22s var(--ease)}.product-shell.is-practice-stage [data-media-mode="3d"] .teacher-pane:hover{transform:scale(1.015)}@media (max-width: 1100px){.product-shell.is-practice-stage .practice-board{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 64px}.product-shell.is-practice-stage .lesson-column{grid-template-rows:36px minmax(256px,1fr) 154px}.product-shell.is-practice-stage .feedback-panel.feedback-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr;gap:8px 14px;height:64px;padding:8px 12px;overflow:hidden}.product-shell.is-practice-stage .feedback-heading,.product-shell.is-practice-stage .feedback-guidance,.product-shell.is-practice-stage .feedback-panel .feedback-metrics{display:none}.product-shell.is-practice-stage .feedback-verdict{min-width:0;padding:0}.product-shell.is-practice-stage .feedback-copy{align-self:center;min-height:0;margin:0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.product-shell.is-practice-stage .player-grid{display:block}.product-shell.is-practice-stage [data-media-mode=split] .teacher-pane{position:absolute;inset:0}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-lab{position:absolute;z-index:4;right:10px;bottom:10px;width:min(39%,310px);height:min(48%,250px);border-color:#fff3;box-shadow:0 14px 34px #080c0a47}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-heading{min-height:36px;padding:6px 8px}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-heading small,.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-heading p,.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-tools .guitar-hand-status,.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-tools button,.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-readout>div:not(:first-child){display:none}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-heading h2{margin:0;font-size:11px}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-readout{padding:0}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-readout>div{min-width:0;padding:0 0 0 8px}}@media (max-width: 700px){.product-shell.is-practice-stage .workspace-shell{padding:6px max(6px,env(safe-area-inset-right,0px)) max(6px,env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px))}.product-shell.is-practice-stage .workspace-toolbar{display:grid;min-height:52px;margin-bottom:6px}.product-shell.is-practice-stage .workspace-title{display:flex;min-width:0}.product-shell.is-practice-stage .workspace-title>div{min-width:0}.product-shell.is-practice-stage .workspace-title small{display:none}.product-shell.is-practice-stage .workspace-title h1{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.product-shell.is-practice-stage .workspace-stats{width:100%;margin:0}.product-shell.is-practice-stage .workspace-stats .speed-control{flex:1 1 auto}.product-shell.is-practice-stage .workspace-stats .speed-control button{min-height:30px}.product-shell.is-practice-stage .practice-board{grid-template-rows:minmax(0,1fr) 58px;gap:6px}.product-shell.is-practice-stage .lesson-column{grid-template-rows:34px minmax(232px,1fr) 142px;gap:5px}.media-mode-switch{min-height:34px}.media-mode-switch span{display:none}.media-mode-switch button{min-height:26px;padding:0 11px;font-size:10px}.media-mode-switch .media-detail-button{padding-inline:9px}.product-shell.is-practice-stage .transport-bar{gap:6px;min-height:42px;padding:0 7px}.product-shell.is-practice-stage .transport-bar>button:first-child,.product-shell.is-practice-stage .transport-bar>button:nth-child(3),.product-shell.is-practice-stage .transport-bar>button:last-child{display:none}.product-shell.is-practice-stage .transport-bar button{min-width:30px;min-height:30px}.product-shell.is-practice-stage .transport-bar .main-play{width:32px;min-width:32px;height:32px}.product-shell.is-practice-stage .timeline-pane{--track-label-width: 34px;height:142px;overflow:hidden}.product-shell.is-practice-stage .timeline-pane>*{min-width:0}.product-shell.is-practice-stage .timeline-pane .measure-row button{min-height:20px;padding-inline:2px;font-size:8px}.product-shell.is-practice-stage .timeline-pane .chord-row button{min-height:26px;padding-inline:4px;font-size:10px}.product-shell.is-practice-stage .timeline-pane .tablature{width:100%;height:94px;min-width:0}.product-shell.is-practice-stage .timeline-pane .tab-string{top:calc(8px + (var(--row, 0) * 14px))}.product-shell.is-practice-stage .timeline-pane .tab-event{top:calc(8px + ((var(--y) - 1) * 14px));width:18px;height:18px;font-size:9px}.product-shell.is-practice-stage .feedback-panel.feedback-bar{height:58px;min-height:58px}.product-shell.is-practice-stage [data-media-mode=split] .guitar-hand-lab{right:7px;bottom:7px;width:42%;height:46%}.product-shell.is-practice-stage [data-media-mode="3d"] .teacher-pane{top:54px;right:7px;width:38%;height:30%}.product-shell.is-practice-stage .guitar-hand-tools .guitar-hand-status,.product-shell.is-practice-stage .guitar-hand-readout>div:nth-child(2){display:none}.product-shell.is-practice-stage .guitar-hand-readout>div{min-width:0;padding:1px 7px}.product-shell.is-practice-stage .guitar-hand-controls{grid-template-columns:minmax(0,1fr);width:calc(100% - 12px);max-height:calc(100% - 12px);inset:6px}.product-shell.is-practice-stage .hand-stack{grid-template-columns:minmax(0,1fr);grid-template-rows:auto repeat(2,minmax(0,1fr));inset:5px}}@media (orientation: landscape) and (max-height: 520px){.product-shell.is-practice-stage .workspace-shell{padding:6px 12px 8px}.product-shell.is-practice-stage .workspace-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;margin-bottom:6px}.product-shell.is-practice-stage .workspace-title{display:flex;min-width:0}.product-shell.is-practice-stage .workspace-title>div{min-width:0}.product-shell.is-practice-stage .workspace-title h1{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.product-shell.is-practice-stage .workspace-title small{display:none}.product-shell.is-practice-stage .workspace-stats{margin:0}.product-shell.is-practice-stage .practice-board{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 58px;gap:6px}.product-shell.is-practice-stage .lesson-column{grid-template-areas:"mode mode" "score media";grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:36px minmax(0,1fr);gap:7px}.product-shell.is-practice-stage .media-mode-switch{grid-area:mode}.product-shell.is-practice-stage .media-shell{grid-area:media;grid-template-rows:minmax(120px,1fr) 42px;min-height:0}.product-shell.is-practice-stage .timeline-pane{grid-area:score;align-self:stretch;width:100%;height:100%}.product-shell.is-practice-stage .timeline-pane .tablature-row,.product-shell.is-practice-stage .timeline-pane .tablature{height:100%}.product-shell.is-practice-stage .timeline-pane .tab-string{top:calc(18px + (var(--row, 0) * 30px))}.product-shell.is-practice-stage .timeline-pane .tab-event{top:calc(18px + ((var(--y) - 1) * 30px));width:22px;height:22px;font-size:10px}.product-shell.is-practice-stage .transport-bar{min-height:42px}.product-shell.is-practice-stage .feedback-panel.feedback-bar{height:58px;min-height:58px}}@media (prefers-reduced-motion: reduce){.media-mode-switch button,.guitar-hand-tools button,.product-shell.is-practice-stage .guitar-hand-controls,.product-shell.is-practice-stage [data-media-mode="3d"] .teacher-pane{transition:none}}
