:root{--ui-flat:none;--ui-raised:0 1px 2px rgba(0,66,82,0.06),0 8px 22px -12px rgba(0,66,82,0.16);--ui-floating:0 2px 4px rgba(0,66,82,0.05),0 18px 40px -18px rgba(0,66,82,0.26);--ui-hairline:color-mix(in srgb,var(--app-text) 12%,transparent);--ui-hairline-soft:color-mix(in srgb,var(--app-text) 8%,transparent);--ui-r-sm:8px;--ui-r-md:12px;--ui-r-lg:16px;--ui-r-xl:20px;--ui-ease:cubic-bezier(0.22,0.61,0.36,1);--ui-t-fast:120ms var(--ui-ease);--ui-t-base:220ms var(--ui-ease)}.sidebar{background-image:radial-gradient(120% 60% at 12% 0,rgba(255,255,255,.14),transparent 62%),radial-gradient(90% 50% at 100% 100%,rgba(0,26,34,.22),transparent 68%);box-shadow:inset -1px 0 0 rgba(255,255,255,.08)}[data-theme=dark] .sidebar{background-image:radial-gradient(120% 60% at 12% 0,rgba(255,255,255,.06),transparent 62%),radial-gradient(90% 50% at 100% 100%,rgba(0,0,0,.35),transparent 68%)}.primary-nav button{position:relative;border-radius:var(--ui-r-md);transition:background-color var(--ui-t-fast),color var(--ui-t-fast)}.primary-nav button:before{position:absolute;top:50%;left:6px;width:3px;height:0;border-radius:999px;background:currentColor;content:"";opacity:0;transform:translateY(-50%);transition:height var(--ui-t-base),opacity var(--ui-t-base)}.primary-nav button.active:before{height:22px;opacity:.9}.primary-nav button:hover{background:rgba(255,255,255,.1)}.topbar{border-bottom:1px solid var(--ui-hairline-soft);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.breadcrumb{letter-spacing:-.01em}.admin-hero h1,.lesson-header h1,.library-header h1,.page-intro h1{line-height:1.1;text-wrap:balance}.admin-hero p:last-child,.lesson-header p:last-child,.library-header p:last-child,.page-intro p:last-child{font-size:16px;line-height:1.75;text-wrap:pretty}.admin-card,.basics-card,.level-step,.library-tools,.panel,.suggestion-list{border:1px solid var(--ui-hairline-soft);border-radius:var(--ui-r-lg);box-shadow:var(--ui-raised)}@media (hover:hover){.basics-card:hover{border-color:color-mix(in srgb,var(--app-accent) 34%,var(--ui-hairline-soft));box-shadow:var(--ui-floating);transform:translateY(-2px)}.suggestion-list>button:hover{background:color-mix(in srgb,var(--app-accent) 7%,var(--app-surface))}}.basics-card{transition:transform var(--ui-t-base),box-shadow var(--ui-t-base),border-color var(--ui-t-base)}.suggestion-list{overflow:clip}[contenteditable=true],input,select,textarea{-moz-user-select:auto;user-select:auto;-webkit-user-select:auto}[role=slider],input[type=range]{touch-action:auto}.button{transition:transform var(--ui-t-fast),box-shadow var(--ui-t-base),background-color var(--ui-t-fast),border-color var(--ui-t-fast),color var(--ui-t-fast)}.button.primary{box-shadow:0 1px 2px rgba(0,66,82,.1),0 10px 24px -12px color-mix(in srgb,var(--app-cta) 65%,transparent)}.button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,66,82,.12),0 16px 32px -14px color-mix(in srgb,var(--app-cta) 70%,transparent)}.button:active:not(:disabled){transform:translateY(1px)}.button.ghost,.icon-button,.small-button{border-radius:var(--ui-r-md);transition:background-color var(--ui-t-fast),border-color var(--ui-t-fast),color var(--ui-t-fast),transform var(--ui-t-fast)}.icon-button:hover,.small-button:hover:not(:disabled){background:var(--app-surface-tint)}.icon-button:active,.small-button:active:not(:disabled){transform:scale(.96)}.lesson-row{transition:background-color var(--ui-t-fast),box-shadow var(--ui-t-fast)}.lesson-row:before{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--app-accent);content:"";opacity:0;transform:scaleY(.4);transition:opacity var(--ui-t-fast),transform var(--ui-t-base)}.lesson-row:focus-within:before,.lesson-row:hover:before{opacity:1;transform:scaleY(1)}.lesson-cover{border-color:var(--ui-hairline-soft);border-radius:var(--ui-r-sm);box-shadow:0 1px 3px rgba(0,81,101,.1);transition:transform var(--ui-t-base),box-shadow var(--ui-t-base)}.lesson-row:hover .lesson-cover{box-shadow:0 6px 16px -6px rgba(0,81,101,.28);transform:translateY(-1px) scale(1.03)}.lesson-index{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-main strong{letter-spacing:-.01em}.level-progress-value,.progress-metrics strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.level-progress-track,.progress-track{overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--app-text) 9%,transparent)}.level-progress-fill{border-radius:999px;transition:width .42s var(--ui-ease)}.level-step{transition:border-color var(--ui-t-base),box-shadow var(--ui-t-base),background-color var(--ui-t-base)}.level-step.is-done,.level-step.is-todo{background:color-mix(in srgb,var(--app-surface-soft) 55%,var(--app-surface))}.level-step.is-learning{border-color:color-mix(in srgb,var(--app-accent) 38%,var(--ui-hairline-soft));box-shadow:var(--ui-floating)}.status-dot{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 14%,transparent)}.score-system{border-radius:var(--ui-r-lg);box-shadow:var(--ui-raised)}.measure-cell:nth-child(2n){background:color-mix(in srgb,var(--app-surface-soft) 52%,transparent)}.number-note{border-radius:var(--ui-r-sm);transition:background-color var(--ui-t-fast),color var(--ui-t-fast),transform var(--ui-t-fast)}.number-note.hand-left.is-active,.number-note.hand-right.is-active{box-shadow:0 0 0 2px color-mix(in srgb,currentColor 26%,transparent)}.white-key{border-radius:0 0 var(--ui-r-sm) var(--ui-r-sm);box-shadow:inset 0 -6px 10px -8px rgba(0,66,82,.5),0 1px 2px rgba(0,66,82,.16);transition:transform var(--ui-t-fast),background-color var(--ui-t-fast)}.white-key.is-active,.white-key:active{transform:translateY(1px)}.black-key{border-radius:0 0 6px 6px;box-shadow:0 3px 6px -2px rgba(0,0,0,.5)}.key-label{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nmn-toolbar{border-radius:var(--ui-r-lg)}.nmn-group button{border-radius:var(--ui-r-md);transition:background-color var(--ui-t-fast),border-color var(--ui-t-fast),color var(--ui-t-fast),transform var(--ui-t-fast)}.nmn-group button:not(:disabled):hover{border-color:var(--app-accent);background:var(--app-surface-tint)}.nmn-group button:not(:disabled):active{transform:translateY(1px)}.nmn-group button:disabled{opacity:.5}.nmn-group button.is-on{box-shadow:0 1px 2px rgba(0,66,82,.14),0 8px 18px -10px color-mix(in srgb,var(--app-accent) 70%,transparent)}.basics-figure{border-radius:var(--ui-r-md);box-shadow:var(--ui-raised)}.basics-points li{line-height:1.7}.admin-modal-backdrop,.modal-backdrop,.note-popup-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.access-modal,.admin-modal,.note-popup{border-radius:var(--ui-r-xl);box-shadow:var(--ui-floating)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--app-text) 26%,transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--app-text) 26%,transparent);background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--app-text) 42%,transparent);background-clip:content-box}@media (prefers-reduced-motion:reduce){.basics-card,.button,.icon-button,.lesson-cover,.lesson-row:before,.nmn-group button,.number-note,.primary-nav button:before,.small-button,.suggestion-list>button,.white-key{transition:none}.basics-card:hover,.button.primary:hover:not(:disabled),.lesson-row:hover .lesson-cover,.suggestion-list>button:hover{transform:none}}.app-shell,.auth-page,.legal-page,.marketing-landing{color-scheme:light;-webkit-tap-highlight-color:transparent}[data-theme=dark] .app-shell{color-scheme:dark}html{font-synthesis-weight:none;text-rendering:optimizeLegibility}::selection{background:color-mix(in srgb,var(--app-accent) 26%,transparent);color:inherit}.button,.icon-button,.small-button,[role=button],[role=tab],a.button,a.small-button,button{touch-action:manipulation}.button,.icon-button,.lesson-row,.nmn-group button,.primary-nav button,.small-button,[role=button],button{-moz-user-select:none;user-select:none;-webkit-user-select:none}.marketing-links a,.marketing-links button,.trust-links a,.trust-links button{border-radius:var(--ui-r-md);transition:background-color var(--ui-t-fast) var(--ui-ease),color var(--ui-t-fast) var(--ui-ease)}@media (hover:hover){.marketing-links a:hover,.marketing-links button:hover{background:color-mix(in srgb,var(--app-accent) 10%,transparent)}}[role=button]:focus-visible,[role=tab]:focus-visible,a:focus-visible,button:focus-visible{outline-offset:2px}.admin-table tbody tr,.marketing-compare table tbody tr{border-bottom:1px solid var(--ui-hairline-soft)}@media (hover:hover){.admin-table tbody tr:hover,.marketing-compare table tbody tr:hover{background:var(--app-surface-tint)}}@media (prefers-contrast:more){.modal-backdrop{background:rgba(6,38,46,.88);-webkit-backdrop-filter:none;backdrop-filter:none}.basics-card,.level-step,.library-tools,.panel,.score-system,.suggestion-list{border-color:color-mix(in srgb,var(--app-text) 55%,transparent);box-shadow:none}}@media (prefers-reduced-motion:reduce){.marketing-links a,.marketing-links button{transition:none}}@media (max-width:720px){.lesson-row:before{display:none}.lesson-row:hover .lesson-cover{transform:none}}.spinner{display:inline-block;width:22px;height:22px;border:3px solid color-mix(in srgb,var(--app-accent) 22%,transparent);border-top-color:var(--app-accent);border-radius:50%;animation:app-spinner-spin .8s linear infinite}@keyframes app-spinner-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.empty-state .spinner{align-self:center}.progress-page .week-bars>div.has-value small{color:var(--app-text);font-weight:700}.progress-page .week-bars>div.is-empty small{color:var(--app-muted)}.staff-item.is-cluster{min-width:34px}.staff-item.is-cluster .chord-cluster{gap:1px}.play-button.is-counting{background:var(--app-surface-tint);color:var(--app-accent);box-shadow:none}.compose-page .nmn-editor{display:grid;grid-gap:4px;gap:4px}.nmn-toolbar.symbols{margin-top:-2px;background:var(--app-surface)}.compose-page .admin-publish{margin-bottom:12px}.admin-page .admin-hero{margin-bottom:18px}.error-page{display:grid;min-height:100vh;place-items:center;padding:48px 24px;background:var(--app-surface,#fff);color:var(--app-text,#0f2b33);text-align:center}.error-page>div{display:grid;max-width:520px;grid-gap:12px;gap:12px;justify-items:center}.error-page h1{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.2}.error-page p:last-of-type{margin:0;color:var(--app-muted,#5b6f78)}.glyph-row.wrap{flex-wrap:wrap}.scan-review-label{margin:0 0 10px;color:var(--app-muted);font-size:12px;font-weight:600}.score-scan-warnings{display:grid;margin:14px 0 0;padding:12px 16px 12px 32px;grid-gap:6px;gap:6px;border:1px solid color-mix(in srgb,#f59e0b 35%,var(--app-border));border-radius:12px;background:color-mix(in srgb,#f59e0b 8%,var(--app-surface));color:var(--app-text);font-size:12px}.marketing-hero-copy{display:grid;grid-gap:0;gap:0;align-content:center}.marketing-reference{display:block}.number-note.is-rest{color:var(--app-muted)}.number-note.is-editable{cursor:pointer}.number-note.is-editable:hover{background:color-mix(in srgb,var(--app-accent) 12%,transparent)}.number-note.is-editable:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.number-note.has-dot-above{padding-top:8px}.number-note.has-dot-below{padding-bottom:8px}.request-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.request-status.approved{background:color-mix(in srgb,#10b981 14%,transparent);color:#087257}.request-status.rejected{background:color-mix(in srgb,#ef4444 12%,transparent);color:#a13c27}.hand-color-legend i.right{background:var(--app-accent)}.app-shell.ui-v2{--app-surface-soft:var(--color-bg-elevated)}.status-dot.not_started{background:var(--app-border,#d9dee5)}:root{--ink-turquoise:#00757F;--ink-orange:#A85B00;--ink-orange-display:#D97000;--ink-on-accent:#04222A;--ink-neutral:#60737B}[data-theme=dark] .access-modal,[data-theme=dark] .account-access-page,[data-theme=dark] .app-shell{--ink-turquoise:#00D4E6;--ink-orange:#FFA533;--ink-orange-display:#FFA533}.legal-page,.marketing-landing{color-scheme:light}[data-theme=dark] .help-section{background:var(--white);border-color:var(--gray-300)}[data-theme=dark] .marketing-final-cta .marketing-primary,[data-theme=dark] .marketing-landing .marketing-primary{background:linear-gradient(135deg,var(--orange),#FF6B00)}.legal-page a:not([class]){color:var(--ink-turquoise);font-weight:600}.access-modal .eyebrow,.admin-badge.info,.admin-lessons>button.selected,.admin-pagination-button:hover:not(:disabled),.admin-stat-icon,.admin-tab.active,.admin-tab:hover,.arrow,.badge-turquoise,.chip,.chip-close,.contact-info strong,.eyebrow,.hand-switch button.is-on,.keyboard-label-toolbar button.is-on,.legal-back,.legal-section li:before,.lesson-badge,.lesson-index,.line-mode-toggle span,.marketing-benefit-grid button,.marketing-compare tbody td.is-on,.marketing-kicker,.marketing-links button:hover,.marketing-login,.marketing-nav-cta,.marketing-price-box li span,.marketing-price-top span,.marketing-proof strong,.marketing-reference-action,.marketing-reference-foot strong,.marketing-reference-heading span,.marketing-secondary,.note-kicker,.panel-label,.piano-key-number,.practice-score,.refund-step-content strong,.speed-button.active,.stat-icon.blue,.tab.active,.text-button,.text-turquoise,.trust-links a,.try-experience .eyebrow,.volume-button{color:var(--ink-turquoise)}.access-modal .button.ghost,.admin-pagination-button:hover:not(:disabled),.admin-tab.active,.button.ghost,.icon-button:hover,.marketing-nav-cta,.marketing-reference-action,.marketing-secondary{border-color:var(--ink-turquoise)}.access-modal .button.primary,.admin-button.primary,.admin-pagination-button.active,.button.primary,.chip-close:hover,.help-cta-button,.keyboard-label-toolbar .key-label-mode button.is-on,.layer-pill.active,.legal-cta-button,.line-mode-toggle.is-on,.marketing-play,.marketing-price-button,.marketing-primary,.metronome-toggle.is-on,.nmn-group button.is-on,.nmn-group button.is-play,.piano-key.black.active .piano-key-number,.piano-key.white.active .piano-key-number,.play-button,.practice-beat.current,.practice-beat.played,.practice-hint>span,.reader-tabs button.active,.tip-icon,.try-toolbar>button{color:var(--ink-on-accent)}.number-note.hand-right.is-active{color:var(--ink-turquoise)}.admin-badge.warning,.marketing-benefit-grid button:hover,.marketing-kicker span,.number-note.hand-left.is-active,.stat-icon.yellow,.text-button:hover,.trust-links a:hover{color:var(--ink-orange)}.marketing-compare thead th.is-full{background:var(--ink-turquoise);color:var(--white)}.marketing-hero h1 em,.marketing-section-heading h2 em,.welcome-band h1 em{color:var(--ink-orange-display)}.marketing-final-cta .marketing-kicker span{color:var(--white)}[data-theme=dark] .app-shell .admin-badge.info,[data-theme=dark] .app-shell .admin-badge.warning,[data-theme=dark] .app-shell .admin-stat-icon,[data-theme=dark] .app-shell .chip,[data-theme=dark] .app-shell .lesson-badge,[data-theme=dark] .app-shell .stat-icon.blue,[data-theme=dark] .app-shell .stat-icon.yellow{background:var(--color-bg-elevated-2)}[data-theme=dark] .app-shell .stat-icon.green{background:var(--color-bg-elevated-2);color:var(--color-success)}[data-theme=dark] .app-shell .stat-icon.coral{background:var(--color-bg-elevated-2);color:var(--color-error)}[data-theme=dark] .account-form label,[data-theme=dark] .demo-account-box>div:first-child,[data-theme=dark] .demo-account-grid button small{color:var(--color-text-secondary)}.button.ghost,.mini-label{color:var(--ink-turquoise)}.marketing-steps>div>span,.player-layer-bar .layer-pill.active{color:var(--ink-on-accent)}.admin-header,.avatar,.lesson-number,.marketing-benefit-index,.marketing-brand-mark,.marketing-final-cta,.marketing-practice-chip>span,.marketing-trust-grid>div span,.refund-step-number{background:linear-gradient(135deg,var(--ink-turquoise),var(--deep-teal))}.marketing-final-cta .marketing-kicker,.marketing-final-cta>div>p{color:var(--white)}:root{--ink-muted:#5E7278}html:not([data-theme=dark]){--color-text-secondary:var(--ink-muted);--gray-600:var(--ink-muted)}.legal-page,.marketing-landing{--gray-600:var(--ink-muted)}.sidebar{background:linear-gradient(180deg,var(--ink-turquoise) 0,var(--deep-teal) 100%)}.primary-nav button{color:rgba(255,255,255,.95)}.primary-nav .nav-section,.sidebar-bottom,.sidebar-bottom small{color:rgba(255,255,255,.92)}.account-card-head>p:last-child,.account-inline-switch button,.account-method-tabs button,.account-policy,.admin-card-title small,.admin-empty,.admin-metrics small,.admin-metrics span,.admin-overview-head p,html:not([data-theme=dark]) .admin-table-wrap td small,html:not([data-theme=dark]) .demo-account-box>div:first-child small,html:not([data-theme=dark]) .demo-account-grid button small{color:var(--ink-muted)}.account-brand-panel{background:linear-gradient(155deg,#007284,#005b70)}.account-brand-panel .eyebrow,.account-brand-panel p{color:#EAF9FB}.account-brand-panel small{color:#DDF4F7}[data-theme=dark] .account-inline-switch button,[data-theme=dark] .account-method-tabs button{color:var(--color-text-secondary)}[data-theme=dark] .account-alternate a,[data-theme=dark] .account-card a,[data-theme=dark] .account-policy a{color:#2FD9E8}html:not([data-theme=dark]) .success-text{color:#047857!important}html:not([data-theme=dark]) .score-scan-key-ok{color:#047857}[role=button],a,button,input,select,textarea{pointer-events:auto}[role=button] *,a *,button *{pointer-events:none}[role=button],a,button{cursor:pointer}button:disabled{cursor:not-allowed}input[type=email],input[type=password],input[type=search],input[type=tel],input[type=text],textarea{cursor:text}input[type=checkbox],input[type=radio]{cursor:pointer}.keyboard .black-key{pointer-events:auto}.barline,.playback-cursor{pointer-events:none}.modal-backdrop,.modal-backdrop>*{pointer-events:auto}.account-alternate a,.account-policy a,.auth-modal-link a,.auth-modal-link button{padding-block:13px}.auth-modal-link a,.auth-modal-link button{min-height:44px;display:inline-flex;align-items:center}.auth-method-tabs button{min-height:44px}.account-policy a+a{-webkit-margin-start:4px;margin-inline-start:4px}