:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}:root{--app-bg:#0e0e10;--surface-1:#17171a;--surface-2:#202024;--surface-3:#29292e;--text-primary:#f3efe7;--text-secondary:#aaa6a0;--accent:#c2a56b;--accent-hover:#d1b77f;--accent-soft:#2d281f;--score-paper:#f7f4ee;--score-ink:#1a1814;--danger:#6e2d3a;--danger-strong:#b85d70;--color-canvas:var(--app-bg);--color-surface:var(--surface-1);--color-surface-subtle:var(--surface-2);--color-surface-active:var(--surface-3);--color-text:var(--text-primary);--color-text-muted:var(--text-secondary);--color-border:#303034;--color-border-strong:#48484d;--color-primary:var(--accent);--color-primary-hover:var(--accent-hover);--color-danger:var(--danger-strong);--color-danger-soft:#27191e;--color-success:#77b28e;--color-success-soft:#17251d;--color-warning:#d0ae67;--color-warning-soft:#2a2418;--color-left:#c95555;--color-left-soft:#382023;--color-right:#3478b8;--color-right-soft:#172b3c;--color-held:#92908c;--color-held-soft:#29292d;--color-quick:#a987cf;--color-quick-soft:#2c2337;--focus-ring:#d5b97d;--shadow-card:0 14px 38px #00000042;--shadow-panel:0 18px 48px #0000004d;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--header-height:68px;--transport-height:56px;--control-height:40px;--panel-padding:24px;--piano-height:310px;--piano-height-compact:240px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--content-width:1240px;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.72rem;--font-size-sm:.82rem;--font-size-base:1rem;--font-size-title:clamp(1.35rem, 2.4vw, 1.9rem)}*{box-sizing:border-box}html{background:var(--color-canvas)}body{min-width:320px;color:var(--color-text);background:var(--color-canvas);font-family:var(--font-sans)}button,input,select,textarea{font:inherit}button,select,input[type=range],input[type=checkbox],input[type=file]{cursor:pointer}button:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.score-step:focus .score-step-hit-area{outline:2px solid var(--focus-ring);outline-offset:2px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--color-text)}h1{margin-bottom:var(--space-2);letter-spacing:-.035em;font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.12}h2{margin-bottom:var(--space-2);font-size:1.08rem;line-height:1.25}h3{margin-bottom:var(--space-2);font-size:1rem}p{margin-bottom:var(--space-3);color:var(--color-text-muted);line-height:1.55}small{color:var(--color-text-muted);line-height:1.45}code{color:var(--color-text);background:var(--color-surface-active);border-radius:4px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.84em}.app-shell{width:min(100%, var(--content-width));min-height:100vh;padding:0 var(--space-5);margin:0 auto}.app{min-width:0;padding:var(--space-6) 0 56px}.app-header{gap:var(--space-5);min-height:88px;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(180px,.75fr) minmax(220px,1fr) minmax(240px,.75fr);align-items:center;display:grid}.brand{gap:var(--space-3);width:fit-content;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--color-primary);border-radius:10px;place-items:center;width:38px;height:38px;font-weight:750;display:grid}.brand>span:last-child,.current-song-title{display:grid}.brand strong{font-size:.95rem}.brand small,.current-song-title span,.field>span,.section-switcher span{color:var(--color-text-muted);font-size:.75rem}.current-song-title{text-align:center;justify-items:center;min-width:0}.current-song-title strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.08rem;overflow:hidden}.current-song-title small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tempo-control{gap:var(--space-2);width:min(100%,260px);color:var(--color-text-muted);justify-self:end;font-size:.8rem;display:grid}.tempo-control span{justify-content:space-between;display:flex}.tempo-control strong{color:var(--color-text)}.tempo-control input{width:100%;accent-color:var(--color-primary)}.empty-header-meta{color:var(--color-text-muted);justify-self:end;font-size:.8rem}.context-toolbar{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(180px,.7fr) minmax(300px,1fr) auto;align-items:center;display:grid}.measure-navigation{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;display:flex}.measure-navigation label{text-align:center;gap:3px;min-width:110px;font-size:.8rem;display:grid}.measure-navigation select{max-width:150px;min-height:34px}.practice-range-toolbar{gap:var(--space-3);padding:var(--space-2) 0;flex-wrap:wrap;align-items:end;display:flex}.practice-range-toolbar .field{min-width:min(240px,100%)}.practice-range-loop{align-items:center;gap:var(--space-2);min-height:40px;display:flex}.practice-range-panel summary{cursor:pointer;font-weight:700}.practice-range-form{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;align-items:end;display:flex}.practice-range-form .field{flex:170px}.field{gap:6px;min-width:0;display:grid}.field>span{font-weight:650}.field input,.field select,.practice-setting select,.text-entry-field textarea{width:100%;min-height:40px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:9px 11px}.new-song-control{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.section-switcher{gap:var(--space-2);justify-content:flex-end;align-items:center;display:flex}.section-switcher>div{text-align:center;min-width:130px;display:grid}.section-switcher strong{font-size:.9rem}.workspace-navigation{gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.workspace-navigation button{min-height:38px;color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;padding:8px 14px;font-weight:680}.workspace-navigation button.active{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-card)}.opened-song-context{gap:var(--space-4);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.context-moment{color:var(--color-text-muted);font-size:.78rem;font-weight:650}.main-navigation{gap:var(--space-1);padding:var(--space-3) 0 0;border-bottom:1px solid var(--color-border);scrollbar-width:thin;display:flex;overflow-x:auto}.main-navigation button{color:var(--color-text-muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:12px 18px;font-weight:650}.main-navigation button:hover{color:var(--color-text)}.view-stack{gap:var(--space-4);min-width:0;display:grid}.library-song-picker{gap:var(--space-4);grid-template-columns:minmax(220px,.7fr) minmax(220px,1fr) auto;align-items:end;display:grid}.library-song-summary{align-self:center;display:grid}.library-song-summary span,.detail-card>span{color:var(--color-text-muted);font-size:.78rem}.new-song-card .new-song-control{grid-template-columns:1fr}.new-song-card{width:min(100%,680px)}.empty-state{padding:var(--space-7) var(--space-5);text-align:center;justify-items:center;display:grid}.empty-state-mark{width:52px;height:52px;margin-bottom:var(--space-3);color:var(--color-text-muted);background:var(--color-surface-active);border-radius:50%;place-items:center;font-size:1.35rem;display:grid}.empty-state h2{margin-bottom:var(--space-1);font-size:1.3rem}.empty-state-actions,.library-create-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.empty-state-actions{justify-content:center}.details-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.detail-card{gap:var(--space-1);display:grid}.detail-card strong{font-size:1.08rem}.danger-zone{gap:var(--space-5);border-color:#efc9c6;justify-content:space-between;align-items:center;display:flex}.danger-zone h2,.danger-zone p{margin-bottom:0}.danger-zone-action{gap:var(--space-2);justify-items:end;display:grid}.section-management-content{gap:var(--space-4);justify-content:space-between;align-items:center;display:flex}.view-heading{gap:var(--space-5);justify-content:space-between;align-items:end;display:flex}.view-heading p{margin-bottom:0}.view-heading h1{margin-bottom:var(--space-1);font-size:clamp(1.45rem,2.4vw,2rem)}.eyebrow{margin-bottom:var(--space-1);color:var(--color-text-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:750;display:block}.moment-counter{text-align:right;background:var(--color-surface-active);border-radius:var(--radius-md);flex:none;min-width:120px;padding:10px 14px;display:grid}.moment-counter span{color:var(--color-text-muted);text-transform:uppercase;font-size:.72rem}.moment-counter strong{font-size:.95rem}.surface,.quick-entry,.text-entry,.musicxml-import,.playback-bar{min-width:0;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.section-heading-row{gap:var(--space-4);margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.section-heading-row h2,.section-heading-row p{margin-bottom:0}.subtle-label{color:var(--color-text-muted);flex:none;font-size:.75rem}.button-primary,.button-secondary,.button-danger,.button-ghost,.icon-button{border-radius:var(--radius-sm);border:1px solid #0000;min-height:40px;padding:9px 14px;font-weight:680;line-height:1.2}.button-primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.button-primary:hover:not(:disabled){background:var(--color-primary-hover)}.button-secondary,.button-ghost,.icon-button{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border-strong)}.button-secondary:hover:not(:disabled),.button-ghost:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--color-surface-active)}.button-ghost{color:var(--color-text-muted);border-color:#0000}.button-danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:#efc9c6}.icon-button{place-items:center;width:40px;padding:0;display:grid}.stop-playback-button:not(:disabled){color:var(--color-danger)}.step-overview{padding:var(--space-4) var(--space-4) var(--space-2)}.step-overview .section-heading-row{margin-bottom:var(--space-2);align-items:center}.step-overview .eyebrow{display:none}.step-overview h2{margin:0;font-size:.9rem}.step-overview-scroll,.piano-scroll,.text-entry-step-list,.musicxml-step-list{overscroll-behavior-inline:contain;scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin;width:100%;max-width:100%;overflow-x:auto}.step-overview-scroll,.piano-scroll{padding-bottom:var(--space-2)}.step-sequence{align-items:flex-start;width:max-content;display:flex}.step-sequence-item{flex:none;align-items:center;display:flex}.step-card{color:var(--color-text);text-align:left;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;flex:0 0 142px;gap:5px;padding:9px 10px;display:flex}.step-card:hover{border-color:var(--color-border-strong)}.step-number{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;width:fit-content;padding:4px 7px;font-size:.7rem;font-weight:750}.step-card.active .step-number{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.step-card-notes{gap:2px;display:grid}.step-card-line{overflow-wrap:anywhere;font-size:.73rem;font-weight:650;line-height:1.35}.right-tone{color:var(--color-right)}.left-tone{color:var(--color-left)}.held-tone,.step-empty{color:var(--color-text-muted);font-weight:500}.step-empty{font-size:.82rem;font-style:italic}.step-duration{color:var(--color-text-muted);font-size:.65rem}.step-arrow{color:var(--color-border-strong);margin:0 9px;font-size:1rem}.moment-status{padding:var(--space-3) var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.moment-status-item{gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-4);border-right:1px solid var(--color-border);grid-template-columns:9px minmax(0,1fr);display:grid}.moment-status-item:first-child{padding-left:0}.moment-status-item:last-child{border-right:0;padding-right:0}.moment-status-item p,.moment-status-item small{margin:2px 0 0}.moment-status-item p{color:var(--color-text);font-size:.9rem;font-weight:650}.chord-status{grid-template-columns:minmax(0,1fr)}.hand-dot,.hand-legend i{border-radius:50%;width:9px;height:9px;margin-top:6px;display:inline-block}.left-hand-summary .hand-dot,.legend-left{background:var(--color-left)}.right-hand-summary .hand-dot,.legend-right{background:var(--color-right)}.legend-held{background:var(--color-held)}.chord-name{color:var(--color-text);letter-spacing:-.02em;margin:2px 0 0;font-size:1rem;font-weight:750}.music-surface{padding:var(--space-5) var(--space-5) var(--space-4)}.practice-workspace-header{gap:var(--space-3) var(--space-5);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(160px,.8fr) minmax(240px,1.2fr) auto auto;align-items:end;display:grid}.practice-title h1{margin:0;font-size:clamp(1.35rem,2.4vw,1.9rem)}.practice-range-compact{gap:var(--space-2);align-items:end;display:flex;position:relative}.practice-range-compact>.field{flex:auto}.practice-range-panel{flex:none;position:relative}.practice-range-panel>summary{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:40px;padding:10px 13px;list-style:none}.practice-range-panel>summary::-webkit-details-marker{display:none}.practice-range-panel[open] .practice-range-form{z-index:6;top:calc(100% + var(--space-2));width:min(620px,100vw - 40px);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);position:absolute;right:0}.practice-measure-navigation{gap:var(--space-2);grid-column:1/-1;align-items:center;display:flex}.measure-jump-form{gap:var(--space-2);align-items:center;display:flex}.measure-jump-form label,.measure-jump-form span,.practice-local-step{white-space:nowrap}.measure-jump-form label,.practice-local-step{font-size:.82rem;font-weight:750}.measure-jump-form input{text-align:center;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:72px;min-height:36px;padding:7px 9px;font-weight:750}.measure-jump-form input[aria-invalid=true]{border-color:var(--color-danger)}.measure-jump-form .button-ghost{min-height:36px;padding-block:7px}.practice-local-step{margin-left:auto}.practice-no-measures{color:var(--color-text-muted);grid-column:1/3;font-size:.8rem}.practice-view-switch{background:var(--color-surface-active);border-radius:var(--radius-sm);grid-area:1/3;align-self:center;padding:3px;display:flex}.practice-focus-toggle{white-space:nowrap;grid-area:1/4;align-self:center}.practice-view-switch button{min-height:36px;color:var(--color-text-muted);background:0 0;border:0;border-radius:5px;padding:7px 11px;font-weight:700}.practice-view-switch button.active{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-card)}.practice-step-disclosure{gap:var(--space-3);min-height:40px;padding:2px var(--space-2) 2px var(--space-3);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;display:flex}.practice-main-piano{padding:var(--space-4) var(--space-4) var(--space-3);border-color:var(--color-border-strong);box-shadow:0 12px 32px #151d2614}.practice-main-piano .section-heading-row{margin-bottom:var(--space-3)}.practice-main-piano .piano-scroll{min-height:315px}.practice-main-piano .piano-key.black{height:190px}.practice-main-piano.combined-piano .piano-scroll{min-height:245px}.practice-main-piano.combined-piano .piano-key.black{height:148px}.practice-status-strip{gap:var(--space-2) var(--space-5);min-height:54px;padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;display:flex}.practice-hand-status,.practice-chord-status{gap:2px var(--space-2);grid-template-columns:auto auto;align-items:baseline;min-width:0;display:grid}.practice-hand-status strong,.practice-chord-status strong{letter-spacing:.05em;font-size:.72rem}.practice-hand-status span,.practice-chord-status span{font-size:.88rem;font-weight:700}.practice-hand-status small,.practice-chord-status small{color:var(--color-text-muted);grid-column:2}.practice-hand-status.left-hand-summary strong{color:var(--color-left)}.practice-hand-status.right-hand-summary strong{color:var(--color-right)}.tremolo-status{flex:280px;grid-template-columns:auto minmax(0,1fr)}.practice-chord-status{margin-left:auto}.playback-bar.compact{z-index:4;bottom:var(--space-2);gap:var(--space-3);padding:var(--space-2) var(--space-3);border-color:var(--color-border-strong);position:sticky;box-shadow:0 10px 28px #151d261f}.playback-bar.compact .playback-actions{flex:auto;justify-content:center}.playback-bar.compact .transport-play{min-width:132px;box-shadow:0 4px 12px #151d2626}.playback-meta{gap:var(--space-3);white-space:nowrap;align-items:center;display:flex}.playback-meta label{align-items:center;gap:5px;display:flex}.playback-meta label.disabled{color:var(--color-text-muted)}.practice-help-content{gap:var(--space-4);display:grid}.practice-score.combined .section-score-header{margin-bottom:var(--space-2)}.app-shell.focus-mode{width:min(100%,1480px)}.focus-mode .app{padding-top:var(--space-3)}.focus-mode .practice-workspace-header{z-index:5;padding:var(--space-3);background:color-mix(in srgb, var(--color-canvas) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.focus-mode .practice-title .eyebrow{display:none}.focus-mode .practice-title h1{font-size:1.2rem}.score-surface .section-score{margin:0}.staff-notation>.section-heading-row{margin-bottom:var(--space-3)}.staff-systems{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.staff-system{min-width:0;padding:var(--space-3);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md)}.staff-system h3{margin-bottom:var(--space-2);font-size:.85rem}.staff-svg{border-radius:var(--radius-sm);background:#fff;width:100%;height:auto;display:block}.staff-line,.staff-ledger-line,.staff-note-stem,.staff-note-flag{fill:none;stroke:#2d333b;stroke-width:1.5px}.staff-ledger-line{stroke-width:1.35px}.staff-note-head{stroke:#1f252c;stroke-width:1.65px}.staff-note-head.filled{fill:#1f252c}.staff-note-dot{fill:#1f252c}.score-tuplet-number{fill:#242a31;text-anchor:middle;font-family:Georgia,serif;font-size:14px;font-style:italic;font-weight:700}.score-tuplet-bracket,.score-tremolo-stroke,.score-tie{fill:none;stroke:#343a42;stroke-linecap:round;stroke-width:1.35px}.score-tremolo-stroke{stroke-width:3.2px}.step-card.tremolo-card{min-width:210px}.tremolo-tone{font-weight:700}.tremolo-card .step-duration{gap:2px;display:grid}.score-tie{stroke-width:1.5px}.staff-note-stem,.staff-note-flag{stroke-linecap:round;stroke-width:1.75px}.staff-clef,.staff-accidental{text-anchor:middle;font-family:Georgia,serif}.staff-clef{font-size:47px}.staff-accidental{font-size:22px}.staff-empty{fill:var(--color-text-muted);text-anchor:middle;font-size:13px}.staff-note-names,.staff-held-note-names{margin:var(--space-2) 0 0;text-align:center}.staff-note-names{font-size:.85rem;font-weight:700}.staff-held-note-names{color:var(--color-text-muted);font-size:.75rem}.hand-legend{gap:var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;justify-content:flex-end;font-size:.74rem;display:flex}.hand-legend span{align-items:center;gap:5px;display:inline-flex}.hand-legend i{margin-top:0}.piano{--piano-white-key-width:64px;--piano-black-key-width:40px;width:fit-content;padding:1px;display:flex;position:relative}.piano-key{border-radius:0 0 5px 5px;flex:none;justify-content:center;align-items:flex-end;padding:0;transition:filter .1s;display:flex;position:relative}.piano-key:hover{filter:brightness(.97)}.piano-key span{color:var(--color-text-muted);margin-bottom:10px;font-size:.62rem;font-weight:600}.piano-key.white{width:var(--piano-white-key-width);background:#fff;border:1px solid #9ba2aa;height:268px}.piano-key.black{z-index:2;width:var(--piano-black-key-width);height:168px;margin-right:calc(var(--piano-black-key-width) / -2);margin-left:calc(var(--piano-black-key-width) / -2);color:#fff;background:#262a30;border:1px solid #11151a}.piano.compact-keys .piano-key span{display:none}.piano-key.white.left-hand{background:var(--color-left-soft);box-shadow:inset 0 -6px 0 var(--color-left)}.piano-key.white.right-hand{background:var(--color-right-soft);box-shadow:inset 0 -6px 0 var(--color-right)}.piano-key.white.held-note{background:var(--color-held-soft);box-shadow:inset 0 -4px 0 var(--color-held)}.piano-key.black.held-note{background:#5e646c;box-shadow:inset 0 -3px #adb3ba}.piano-key.white.quick-entry-selected{background:var(--color-quick-soft);box-shadow:inset 0 -6px 0 var(--color-quick)}.piano-key.black.quick-entry-selected{background:var(--color-quick);box-shadow:inset 0 -3px #cfb9e8}.playback-bar{gap:var(--space-5);padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;display:flex}.playback-bar-label{display:grid}.playback-bar-label .eyebrow{margin-bottom:0}.playback-actions,.practice-actions,.quick-entry-actions,.text-entry-actions,.musicxml-actions,.step-controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.practice-mode{padding:0;overflow:hidden}.practice-toggle,.disclosure-toggle{gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);color:var(--color-text);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;display:flex}.practice-toggle>span:first-child,.disclosure-toggle>span:first-child{display:grid}.disclosure-panel{padding:0;overflow:hidden}.disclosure-content{padding:var(--space-5);border-top:1px solid var(--color-border)}.disclosure-content .staff-notation{margin:0}.practice-toggle-meta{gap:var(--space-3);color:var(--color-text-muted);align-items:center;font-size:.85rem;display:flex}.practice-content{padding:0 var(--space-5) var(--space-5);border-top:1px solid var(--color-border)}.practice-grid{gap:var(--space-4);padding-top:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.practice-setting{gap:var(--space-2);color:var(--color-text-muted);align-content:start;font-size:.8rem;display:grid}.practice-original-tempo strong{color:var(--color-text);font-size:1rem}.practice-bpm-controls{gap:var(--space-2);align-items:center;display:flex}.practice-bpm-controls button{min-height:38px;padding:7px 10px}.practice-bpm-value{min-width:78px;color:var(--color-text);text-align:center}.practice-checkbox{gap:var(--space-2);margin-top:var(--space-4);color:var(--color-text-muted);align-items:center;font-size:.85rem;display:flex}.practice-checkbox input,.score-note-name-toggle input{accent-color:var(--color-primary)}.practice-status{gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3);color:var(--color-success);background:var(--color-success-soft);border-radius:var(--radius-sm);justify-content:space-between;display:flex}.practice-actions{margin-top:var(--space-5)}.input-mode-switch{gap:var(--space-1);width:min(100%,430px);padding:var(--space-1);background:var(--color-surface-active);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.input-mode-switch button{min-height:40px;color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;font-weight:680}.input-mode-switch button.active{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border);box-shadow:0 1px 3px #151d2614}.editor-workspace{gap:var(--space-4);min-width:0;display:grid}.editor-workspace-header{gap:var(--space-5);justify-content:space-between;align-items:center;display:flex}.editor-workspace-header h1,.editor-workspace-header p{margin-bottom:0}.editor-workspace-header h1{font-size:clamp(1.35rem,2vw,1.8rem)}.editor-header-actions,.editor-position-actions,.editor-safe-actions>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.editor-workspace-grid{gap:var(--space-3);grid-template-columns:minmax(185px,.52fr) minmax(480px,2.2fr) minmax(235px,.68fr);align-items:start;min-width:0;display:grid}.editor-tools,.editor-properties{gap:var(--space-4);min-width:0;padding:var(--space-3);display:grid}.editor-panel-heading h2,.editor-panel-heading p{margin-bottom:0}.editor-mode-switch{grid-template-columns:1fr;width:100%}.editor-direct-tool{gap:var(--space-3);display:grid}.editor-direct-tool>p{margin-bottom:0;font-size:.82rem}.editor-direct-tool .duration-editor{gap:var(--space-2);align-items:stretch;display:grid}.editor-direct-tool .duration-options,.editor-direct-tool .hand-selector{width:100%}.editor-direct-tool .duration-options button,.editor-direct-tool .hand-selector button{flex:72px}.editor-position-actions button{flex:80px}.editor-tools>.quick-entry,.editor-tools>.text-entry,.editor-tools>.disclosure-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.editor-tools .quick-entry-content{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:1fr}.editor-tools .quick-entry-preview,.editor-tools .quick-entry-actions{grid-column:auto}.editor-tools .quick-entry-preview{padding:var(--space-3)}.editor-tools .text-entry-example{white-space:pre-wrap;font-size:.68rem}.editor-tools .text-entry-actions button,.editor-tools .quick-entry-actions button{width:100%}.editor-score-canvas{min-width:0;padding:var(--space-3)}.editor-score-canvas .section-score-header{margin-bottom:var(--space-2)}.editor-properties{align-content:start}.editor-empty-properties{padding:var(--space-5) var(--space-2);text-align:center;justify-items:center;display:grid}.editor-empty-properties p{margin-bottom:0;font-size:.84rem}.editor-empty-mark{color:#8794a2;font-size:1.8rem}.editor-property-content{gap:var(--space-3);display:grid}.editor-property-content h3{margin-bottom:0}.editor-property-list{gap:var(--space-2);margin:0;display:grid}.editor-property-list>div{gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);justify-content:space-between;display:flex}.editor-property-list.compact>div{font-size:.8rem}.editor-property-list dt{color:var(--color-text-muted)}.editor-property-list dd{text-align:right;margin:0;font-weight:700}.editor-property-field{color:var(--color-text-muted);gap:6px;font-size:.78rem;font-weight:650;display:grid}.editor-property-field select{width:100%;min-height:38px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:8px 10px}.editor-hand-control{width:100%}.editor-hand-control button{flex:70px}.editor-note-chips{flex-wrap:wrap;gap:5px;display:flex}.editor-note-chips button{color:var(--color-text);background:var(--color-surface-active);border:1px solid var(--color-border);border-radius:999px;padding:5px 7px;font-size:.76rem}.editor-imported-notation{padding:var(--space-3);color:#69511b;background:var(--color-warning-soft);border-radius:var(--radius-sm);border:1px solid #ead8a7;gap:4px;font-size:.76rem;display:grid}.editor-measure-mode-notice{gap:var(--space-2);padding:var(--space-3);color:#69511b;background:var(--color-warning-soft);border-radius:var(--radius-sm);border:1px solid #ead8a7;font-size:.8rem;display:grid}.editor-measure-mode-notice p{margin-bottom:0;font-size:.78rem}.editor-safe-actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:grid}.editor-safe-actions>span{color:var(--color-text-muted);font-size:.76rem;font-weight:700}.editor-action-message{color:var(--color-text-muted)}.editor-song-properties{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.editor-song-properties summary{cursor:pointer;font-size:.82rem;font-weight:750}.editor-song-properties-content{gap:var(--space-3);margin-top:var(--space-3);display:grid}.input-card>.section-heading-row{margin-bottom:var(--space-5)}.hand-badge{border-radius:999px;flex:none;padding:6px 10px;font-size:.74rem;font-weight:700}.hand-badge.left{color:#963c3c;background:var(--color-left-soft)}.hand-badge.right{color:#255f95;background:var(--color-right-soft)}.segmented-control{gap:var(--space-1);width:fit-content;padding:var(--space-1);background:var(--color-surface-active);border-radius:9px;flex-wrap:wrap;display:flex}.segmented-control button,.quick-entry-options button{min-height:34px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:7px 11px;font-size:.8rem;font-weight:650}.segmented-control button.selected,.quick-entry-options button.selected{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border);box-shadow:0 1px 3px #151d2614}.hand-selector{margin-bottom:var(--space-4)}.duration-editor{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.duration-editor p{margin:2px 0 0;font-size:.78rem}.step-controls{padding:var(--space-2) 0;justify-content:center}.quick-entry,.text-entry,.musicxml-import{width:100%;max-width:none;margin:0}.quick-entry-heading{gap:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.quick-entry-heading h3,.quick-entry-heading p,.quick-entry-preview h4,.quick-entry-preview p{margin-bottom:0}.quick-entry-heading p{margin-top:var(--space-1)}.quick-entry-heading .selected{color:var(--color-quick);background:var(--color-quick-soft);border-color:#bfa7d9}.quick-entry-content{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-entry-setting{gap:var(--space-2);align-content:start;display:grid}.quick-entry-options{gap:var(--space-1);flex-wrap:wrap;display:flex}.quick-entry-options button.selected{color:var(--color-quick);border-color:#bfa7d9}.quick-entry-preview{gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid #d8cce6;grid-column:1/-1;display:grid}.quick-entry-actions{grid-column:1/-1}.text-entry-help{margin-bottom:var(--space-3)}.text-entry-example{width:fit-content;max-width:100%;margin:0 0 var(--space-4);padding:var(--space-3);color:#374151;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;overflow-x:auto}.text-entry-field{gap:var(--space-2);font-size:.85rem;font-weight:650;display:grid}.text-entry-field textarea{resize:vertical;cursor:text;min-height:150px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem;line-height:1.5}.text-entry-actions,.musicxml-actions{margin-top:var(--space-4)}.text-entry-errors,.text-entry-preview{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md)}.text-entry-errors{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid #efc9c6}.text-entry-errors ul{margin-bottom:0;padding-left:20px}.text-entry-preview{background:var(--color-surface-subtle);border:1px solid var(--color-border)}.text-entry-step-list,.musicxml-step-list{gap:var(--space-2);padding-bottom:var(--space-2);display:flex}.text-entry-step,.musicxml-step{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:0 0 160px;gap:5px;font-size:.78rem;display:grid}.musicxml-import>h3{margin-bottom:var(--space-2);font-size:1.2rem}.musicxml-local-note{max-width:620px}.musicxml-file-field{margin-top:var(--space-5);padding:var(--space-6);text-align:center;background:var(--color-surface-subtle);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);justify-items:center;display:grid}.musicxml-file-field input{max-width:100%;margin-top:var(--space-4)}.musicxml-file-icon{width:48px;height:48px;margin-bottom:var(--space-2);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);place-items:center;font-size:.7rem;font-weight:800;display:grid}.musicxml-file-field small{margin-top:var(--space-1)}.musicxml-file-info{gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-sm);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.musicxml-error{margin:var(--space-4) 0 0;padding:var(--space-3);color:var(--color-danger);background:var(--color-danger-soft);border-radius:var(--radius-sm);border:1px solid #efc9c6}.musicxml-result{margin-top:var(--space-5)}.musicxml-metadata{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.musicxml-metadata div{padding:var(--space-3);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.musicxml-metadata dt{color:var(--color-text-muted);font-size:.72rem}.musicxml-metadata dd{margin:var(--space-1) 0 0;font-weight:750}.musicxml-parts,.musicxml-compatibility,.musicxml-preview{margin-top:var(--space-5)}.musicxml-checks{gap:var(--space-2);margin-bottom:0;padding-left:20px;display:grid}.musicxml-checks .notice{color:var(--color-warning)}.musicxml-checks .issue,.musicxml-compatibility .incompatible{color:var(--color-danger)}.musicxml-issue-report{gap:var(--space-3);margin-top:var(--space-4);display:grid}.musicxml-issue-report h5,.musicxml-issue-report h6{margin:0}.musicxml-issue-summary{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.musicxml-issue-summary li{gap:var(--space-3);background:var(--color-danger-soft);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.musicxml-issue-summary span{color:var(--color-text-muted);flex:none;font-size:.78rem}.musicxml-issue-details{padding-top:var(--space-2);border-top:1px solid var(--color-border)}.musicxml-issue-details summary{cursor:pointer;width:fit-content;font-weight:700}.musicxml-issue-details section{margin-top:var(--space-3)}.musicxml-issue-details p,.musicxml-issue-details ul{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:.82rem}.musicxml-compatibility .compatible{color:var(--color-success)}.musicxml-compatibility .compatible,.musicxml-compatibility .incompatible{margin:var(--space-4) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);font-weight:700}.musicxml-compatibility .compatible{background:var(--color-success-soft)}.musicxml-compatibility .incompatible{background:var(--color-danger-soft)}.section-score-header{gap:var(--space-4);margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.section-score-header h2,.section-score-header p{margin-bottom:0}.score-note-name-toggle{gap:var(--space-2);color:var(--color-text-muted);align-items:center;font-size:.8rem;display:flex}.section-score-svg{background:#fff;width:100%;max-width:100%;height:auto;display:block}.score-surface{padding:var(--space-4)}.section-score-systems{gap:var(--space-4);min-width:0;display:grid}.score-system-card{border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;scroll-margin-block:92px var(--space-6);background:#fff;overflow:hidden;box-shadow:0 3px 12px #151d260d}.score-source-notes,.score-measure-hit-area,.score-step-hit-area{cursor:pointer}.score-source-notes:focus,.score-measure-hit-area:focus,.score-step-hit-area:focus{outline:2px solid var(--focus-ring)}.score-active-measure,.score-editor-measure-selection,.score-editor-event-selection{pointer-events:none}.score-measure-hit-area,.score-step-hit-area{fill:#0000;stroke:#0000;stroke-width:2px}.score-measure-bar{stroke:#69717a;stroke-width:1.2px}.score-measure-number{fill:#59616b;font-size:11px;font-weight:700}.score-playhead{pointer-events:none;stroke:var(--color-primary);stroke-linecap:round;stroke-width:2px}.score-hand-label,.score-note-names{text-anchor:middle}.score-hand-label{fill:#69717a;font-size:10px;font-weight:700}.score-note-names{fill:#4b5563;pointer-events:none;font-size:9px}.score-rest{pointer-events:none}.score-rest rect,.score-rest circle{fill:#343a42}.score-rest path,.score-rest line{fill:none;stroke:#343a42;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.score-rest-dot{fill:#343a42}.practice-score.combined .score-system-card{box-shadow:none}.focus-mode .practice-score.score{padding:var(--space-3)}.app-footer{gap:var(--space-4);padding:var(--space-5) 0;color:var(--color-text-muted);border-top:1px solid var(--color-border);justify-content:space-between;font-size:.74rem;display:flex}@media (width<=960px){.app-shell{padding:0 var(--space-4)}.app-header{grid-template-columns:1fr 1fr}.current-song-title{text-align:right;justify-items:end}.tempo-control{grid-column:1/-1;justify-self:stretch;width:100%}.context-toolbar{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr) auto}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-workspace-header{grid-template-columns:minmax(160px,.8fr) minmax(230px,1.2fr)}.practice-view-switch{grid-area:3/1;width:fit-content}.practice-focus-toggle{grid-area:3/2;justify-self:end}.editor-workspace-grid{grid-template-columns:minmax(190px,.55fr) minmax(0,1.8fr)}.editor-properties{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr)}.editor-properties .editor-panel-heading{grid-column:1/-1}}@media (width<=700px){.app{padding:var(--space-6) 0 var(--space-7)}.app-header{gap:var(--space-3)}.brand small{display:none}.context-toolbar,.moment-status,.library-song-picker,.details-grid,.staff-systems,.practice-grid,.quick-entry-content{grid-template-columns:1fr}.section-switcher{flex-wrap:wrap;grid-column:auto;justify-content:flex-start}.practice-workspace-header{grid-template-columns:1fr;align-items:stretch}.practice-range-compact,.practice-measure-navigation{flex-wrap:wrap;grid-column:auto}.practice-view-switch{grid-area:auto;width:100%;overflow-x:auto}.practice-focus-toggle{grid-area:auto;justify-self:stretch}.practice-measure-navigation{align-items:stretch}.measure-jump-form{flex:250px}.practice-local-step{flex:1 0 100%;margin-left:0}.practice-view-switch button{flex:1 0 auto}.practice-main-piano .piano-scroll{min-height:260px}.practice-main-piano .piano-key.white{height:255px}.practice-main-piano .piano-key.black{height:155px}.practice-status-strip{flex-direction:column;align-items:stretch}.practice-chord-status{margin-left:0}.playback-bar.compact{position:static}.playback-meta{justify-content:space-between}.workspace-navigation{overflow-x:auto}.workspace-navigation button{flex:1 0 auto}.new-song-control{grid-template-columns:1fr}.view-heading,.section-heading-row,.playback-bar,.duration-editor,.quick-entry-heading,.section-score-header{flex-direction:column;align-items:stretch}.moment-status-item,.moment-status-item:first-child,.moment-status-item:last-child{padding:var(--space-3) 0;border-right:0;border-bottom:1px solid var(--color-border)}.moment-status-item:last-child{border-bottom:0}.danger-zone,.section-management-content{flex-direction:column;align-items:stretch}.danger-zone-action{justify-items:stretch}.moment-counter{text-align:left;width:fit-content;min-width:0}.hand-legend{justify-content:flex-start}.playback-actions>button,.practice-actions>button,.quick-entry-actions>button,.text-entry-actions>button,.musicxml-actions>button{flex:150px}.quick-entry-preview,.quick-entry-actions{grid-column:auto}.duration-options{width:100%}.duration-options button{flex:90px}.musicxml-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-workspace-header{flex-direction:column;align-items:stretch}.editor-workspace-grid{grid-template-columns:minmax(0,1fr)}.editor-score-canvas{grid-row:1}.editor-tools{grid-row:2}.editor-properties{grid-area:3;grid-template-columns:minmax(0,1fr)}.editor-properties .editor-panel-heading{grid-column:auto}.editor-mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=480px){.app-shell{padding:0 var(--space-3)}.app-header{min-height:76px}.brand-mark{width:34px;height:34px}.current-song-title span{display:none}.current-song-title strong{font-size:.9rem}.surface,.quick-entry,.text-entry,.musicxml-import,.playback-bar{padding:var(--space-4);border-radius:var(--radius-md)}.practice-mode,.disclosure-panel{padding:0}.practice-toggle,.disclosure-toggle{padding:var(--space-4)}.practice-content,.disclosure-content{padding:0 var(--space-4) var(--space-4)}.disclosure-content{padding-top:var(--space-4)}.section-switcher>div{min-width:0}.section-switcher .button-ghost{flex:auto}.practice-range-compact{flex-direction:column;align-items:stretch}.practice-range-panel[open] .practice-range-form{width:100%;position:static}.practice-measure-navigation>button{flex:100px}.measure-jump-form{flex:1 0 100%;order:-1;justify-content:center}.transport-secondary{display:none}.step-controls button{flex:125px}.musicxml-metadata{grid-template-columns:1fr}.app-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(circle at 50% -180px, #24211c 0, #0e0e10 430px), var(--app-bg)}::selection{color:#17130d;background:#d5b97d}.app-shell{width:min(100%,1440px);padding-inline:clamp(16px,2.6vw,36px)}.app{padding-top:var(--space-5)}h1,h2,h3,h4,strong{text-wrap:balance}.eyebrow{color:var(--accent);letter-spacing:.12em}button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{transition:background-color .14s,border-color .14s,color .14s,transform .14s}button:active:not(:disabled){transform:translateY(1px)}button:disabled,select:disabled,input:disabled{opacity:.42}.field input,.field select,.practice-setting select,.text-entry-field textarea,.measure-jump-form input,.editor-property-field select{color:var(--text-primary);border-color:var(--color-border-strong);background:#121214}.field input:hover,.field select:hover,.practice-setting select:hover,.text-entry-field textarea:hover,.measure-jump-form input:hover,.editor-property-field select:hover{border-color:#66615a}.button-primary,.button-secondary,.button-danger,.button-ghost,.icon-button{border-radius:var(--radius-sm)}.button-primary{color:#17130d;background:var(--accent);border-color:var(--accent);box-shadow:0 5px 18px #c2a56b29}.button-primary:hover:not(:disabled){color:#110e09;background:var(--accent-hover);border-color:var(--accent-hover)}.button-secondary,.icon-button{color:var(--text-primary);background:var(--surface-2);border-color:var(--color-border-strong)}.button-secondary:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--surface-3);border-color:#656158}.button-ghost{color:var(--text-secondary);background:0 0}.button-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--surface-2)}.button-danger{color:#e09aaa;border-color:var(--danger);background:#29171d}.button-danger:hover:not(:disabled){color:#f2bcc8;background:#361d25;border-color:#915064}.surface,.quick-entry,.text-entry,.musicxml-import,.playback-bar{background:var(--surface-1);border-color:var(--color-border);box-shadow:var(--shadow-card)}.segmented-control,.input-mode-switch,.practice-view-switch{border:1px solid var(--color-border);background:#101012}.segmented-control button.selected,.quick-entry-options button.selected,.input-mode-switch button.active,.practice-view-switch button.active{color:#17130d;background:var(--accent);border-color:var(--accent);box-shadow:none}input[type=checkbox],input[type=range]{accent-color:var(--accent)}.app-header{min-height:var(--header-height);padding-block:var(--space-3);border-color:var(--color-border)}.brand-mark{color:var(--accent);background:#111113;border:1px solid #4e4433;border-radius:50%;box-shadow:inset 0 0 0 3px #191817}.brand small,.current-song-title span{color:#85817b}.current-song-title strong{letter-spacing:-.02em}.tempo-control strong,.measure-jump-form,.practice-local-step,.playback-meta,.context-moment{font-variant-numeric:tabular-nums}.workspace-navigation{padding-block:var(--space-2)}.workspace-navigation button{min-height:34px;padding:6px 12px}.workspace-navigation button.active{color:var(--accent-hover);background:var(--accent-soft);box-shadow:none;border-color:#4a402f}.main-navigation{padding-top:var(--space-2)}.main-navigation button{padding:10px 17px}.main-navigation button.active{color:var(--accent-hover);border-bottom-color:var(--accent)}.opened-song-context{color:var(--text-secondary);background:#121214}.context-toolbar{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:9px 12px}.section-switcher strong{color:var(--text-primary)}.app-footer{color:#77736e}.library-view{max-width:1040px;margin-inline:auto}.library-view .view-heading{padding-block:var(--space-3)}.library-song-picker,.empty-state,.new-song-card,.library-view>.musicxml-import{background:linear-gradient(145deg,#1b1b1e,#151517);border-color:#38383c}.library-song-picker{box-shadow:var(--shadow-panel)}.library-song-summary strong{font-size:1.06rem}.empty-state{align-content:center;min-height:330px}.empty-state-mark{color:var(--accent);background:var(--accent-soft);border:1px solid #4a402f}.library-create-actions{padding-top:var(--space-1)}.practice-workspace{gap:var(--space-3)}.practice-workspace-header{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(135deg,#19191c,#141416);box-shadow:0 10px 30px #0003}.practice-title h1{font-size:var(--font-size-title);letter-spacing:-.035em}.practice-range-panel>summary{color:var(--text-secondary);background:var(--surface-2);border-color:var(--color-border-strong)}.practice-range-panel[open] .practice-range-form{background:var(--surface-2);border-color:var(--color-border-strong);box-shadow:var(--shadow-panel)}.practice-step-disclosure{color:var(--text-secondary);border-color:#0000;border-bottom-color:var(--color-border);background:0 0;border-radius:0}.step-overview{border-color:var(--color-border);box-shadow:none;background:#131315}.step-card{color:var(--text-primary);background:var(--surface-2);border-color:#37373b}.step-card:hover{background:#252529;border-color:#625b4d}.step-card.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px #c2a56b33}.step-number{color:var(--accent-hover)}.practice-main-piano{padding:var(--panel-padding);box-shadow:var(--shadow-panel);background:linear-gradient(#1b1b1e,#111113);border-color:#3d3d42}.practice-main-piano .section-heading-row{padding-inline:var(--space-1)}.practice-main-piano .piano-key.white{height:var(--piano-height)}.practice-main-piano.combined-piano .piano-key.white{height:var(--piano-height-compact)}.piano-scroll{border-radius:var(--radius-md);background:linear-gradient(#070708,#121214);border:1px solid #343438;padding:16px 12px 10px;box-shadow:inset 0 12px 24px #00000073}.piano{filter:drop-shadow(0 12px 14px #00000057);padding:0 1px 1px}.piano-key{transition:filter .1s,transform 80ms}.piano-key:active{transform:translateY(2px)}.piano-key.white{background:linear-gradient(90deg,#d7d2c8,#f4f0e8 14%,#e9e4da 88%,#c8c3ba);border-color:#77736d;box-shadow:inset 0 -9px 12px #3f392f21}.piano-key.black{background:linear-gradient(90deg,#09090a,#27272b 45%,#0a0a0b);border-color:#050506;box-shadow:inset 0 -8px 10px #050506,0 7px 9px #0000008c}.piano-key.white span{color:#6d6962}.piano-key.black span{color:#9b9892}.piano-key.white.left-hand{box-shadow:inset 0 -7px 0 var(--color-left);background:linear-gradient(#e8d9d8,#d9acae)}.piano-key.black.left-hand{background:linear-gradient(90deg,#35181b,#a14349 48%,#35181b)}.piano-key.white.right-hand{box-shadow:inset 0 -7px 0 var(--color-right);background:linear-gradient(#dbe6ef,#a9c8df)}.piano-key.black.right-hand{background:linear-gradient(90deg,#10273a,#28689f 48%,#10273a)}.piano-key.white.held-note{background:linear-gradient(#e4e1da,#b9b6ae)}.practice-status-strip{background:0 0;border-width:1px 0;border-radius:0;min-height:52px}.practice-hand-status,.practice-chord-status{padding-inline:var(--space-2)}.practice-chord-status{padding-left:var(--space-5);border-left:1px solid var(--color-border)}.playback-bar.compact{min-height:var(--transport-height);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#141416f5;border-color:#4a402f;box-shadow:0 14px 34px #0006}.playback-bar.compact .transport-play{color:#17130d;box-shadow:0 5px 18px #c2a56b33}.playback-meta strong{color:var(--accent-hover)}.practice-help,.practice-mode,.disclosure-panel{box-shadow:none;background:#141416}.practice-toggle:hover,.disclosure-toggle:hover{background:var(--surface-2)}.practice-status{border:1px solid #284433}.focus-mode{width:min(100%,1580px)}.focus-mode .practice-workspace-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e0e10f5;border-color:#3a352c}.score-surface{box-shadow:var(--shadow-panel);background:#151517;border-color:#343438}.section-score-header{color:var(--text-primary)}.score-system-card,.section-score-svg,.staff-svg{background:var(--score-paper)}.score-system-card{border-color:#c7c0b4;border-radius:6px;box-shadow:0 8px 22px #0000003d}.score-system-card.active{border-color:#a9874f}.staff-system{background:#dcd6cb;border-color:#4a4741}.staff-system h3{color:var(--text-primary)}.staff-line,.staff-ledger-line,.staff-note-stem,.staff-note-flag,.staff-note-head{stroke:#1a1814}.staff-note-head.filled,.staff-note-dot{fill:#1a1814}.staff-note-head.open{fill:#f7f4ee}.staff-clef,.staff-accidental,.score-tuplet-number,.score-measure-number,.score-hand-label,.score-note-names{fill:#1a1814}.score-tuplet-bracket,.score-tremolo-stroke,.score-tie,.score-measure-bar{stroke:#1a1814}.score-rest rect,.score-rest circle,.score-rest-dot{fill:#1a1814}.score-rest path,.score-rest line{stroke:#1a1814}.score-playhead{stroke:#9b742f;stroke-width:2px}.score-measure-hit-area:focus,.score-step-hit-area:focus{stroke:#9b742f}.practice-score.combined{padding:var(--space-3)}.editor-workspace{gap:var(--space-3)}.editor-workspace-header{padding:var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--color-border)}.editor-workspace-grid{gap:var(--space-3);grid-template-columns:minmax(190px,.55fr) minmax(480px,2.35fr) minmax(250px,.72fr)}.editor-tools,.editor-properties{padding:var(--space-4);border-radius:var(--radius-md);box-shadow:none;background:#151517}.editor-tools{border-color:#323236}.editor-properties{border-color:#403a30}.editor-panel-heading{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.editor-mode-switch{gap:2px}.editor-direct-tool>p,.editor-measure-mode-notice,.editor-imported-notation{color:var(--text-secondary)}.editor-score-canvas{padding:var(--space-3);box-shadow:var(--shadow-panel);background:#111113;border-color:#3b3832}.editor-property-list>div{border-color:var(--color-border)}.editor-property-list dd{color:var(--text-primary);font-variant-numeric:tabular-nums}.editor-note-chips button{color:var(--text-primary);background:var(--surface-2)}.editor-imported-notation,.editor-measure-mode-notice{background:#292317;border-color:#5b4b2e}.editor-empty-mark{color:#6f6960}.editor-safe-actions,.editor-song-properties{border-color:var(--color-border)}.editor-song-properties summary,.practice-range-panel summary{color:var(--text-secondary)}.musicxml-file-field,.text-entry-preview,.quick-entry-preview{border-color:var(--color-border-strong);background:#121214}.musicxml-file-icon{color:var(--accent);background:var(--accent-soft);border-color:#4a402f}.text-entry-example{color:#d8d2c7;background:#101012}.quick-entry.active{background:#1e1826;border-color:#625174}.text-entry-errors,.musicxml-error,.musicxml-compatibility .incompatible,.musicxml-issue-summary li{border-color:var(--danger)}@media (width<=1100px){.editor-workspace-grid{grid-template-columns:minmax(180px,.55fr) minmax(0,1.75fr)}.editor-properties{grid-column:1/-1}}@media (width<=960px){.app-header{min-height:64px}.practice-workspace-header{align-items:stretch}.practice-main-piano .piano-scroll,.piano-scroll{max-width:100%;overflow-x:auto}}@media (width<=700px){body{background:var(--app-bg)}.app-shell{--piano-height:255px;--piano-height-compact:220px;padding-inline:var(--space-3)}.app{padding-top:var(--space-4)}.practice-workspace-header,.editor-tools,.editor-properties{padding:var(--space-3)}.practice-chord-status{padding-top:var(--space-2);padding-left:var(--space-2);border-top:1px solid var(--color-border);border-left:0}.playback-bar.compact{bottom:var(--space-2);position:sticky}.editor-workspace-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.surface,.quick-entry,.text-entry,.musicxml-import,.playback-bar{border-radius:var(--radius-md)}.practice-main-piano{padding:var(--space-3)}.piano-scroll{padding-inline:var(--space-2)}}
