:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#283831;background:#f4f2ed;font-synthesis:none;font-weight:400;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #71b5a9;outline-offset:3px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d9dfd7;background:transparent;color:inherit;border-radius:8px;min-height:44px}button:hover:not(:disabled){background:#e7eee6}a{color:inherit}input[type=range]{accent-color:#287c6b;width:100%;min-height:32px;cursor:pointer}input[type=checkbox]{accent-color:#287c6b;width:16px;height:16px}.app{max-width:1520px;margin:auto;padding:0 48px 20px}.header{display:flex;align-items:center;justify-content:space-between;height:98px;border-bottom:1px solid #dedfd5}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;font-family:Georgia,serif;font-size:34px;font-weight:700;letter-spacing:-1px}.brand-dot{color:#3a927b}.brand-mark{position:relative;display:flex;gap:2px;width:33px;height:28px}.brand-mark span{width:10px;height:28px;border:1.5px solid #2b483d;border-radius:2px}.brand-mark i{position:absolute;top:0;left:8px;width:6px;height:17px;background:#2b483d}.brand-mark i:last-child{left:19px}.header-note{font-size:10px;letter-spacing:2.6px;color:#7e867c}.upload{padding:0 17px;background:#fffdf7;font-size:12px;font-weight:600}.intro{display:flex;align-items:flex-end;position:relative;padding:34px 0 30px;gap:70px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#687b6e;display:flex;align-items:center;gap:8px}.eyebrow>span{width:5px;height:5px;background:#55927a;border-radius:50%}h1{font-family:Georgia,Times New Roman,serif;font-size:49px;line-height:1.07;font-weight:400;letter-spacing:-1.7px;margin:13px 0 0}h1 em{color:#337d67;font-weight:400}.intro p{color:#7a8278;font-size:13px;line-height:1.9;margin-bottom:8px}.intro-decoration{position:absolute;right:70px;top:22px;font-family:Georgia,serif;font-size:132px;color:#dce4d7;transform:rotate(12deg);pointer-events:none}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.score-panel{background:#fffefb;border:1px solid #dcdfd6;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:470px;box-shadow:0 5px 20px #344b3010}.score-toolbar{min-height:76px;display:flex;justify-content:space-between;align-items:center;padding:15px 22px;border-bottom:1px solid #ecece4;gap:12px}.score-title{display:flex;align-items:center;gap:12px;min-width:0}.score-title>div{min-width:0}.score-title h2{font-family:Georgia,serif;font-size:19px;font-weight:400;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-title span{font-size:10px;color:#8c9388}.score-icon{background:#edf1e7;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.score-icon svg{color:#608472}.view-controls{display:flex;align-items:center;gap:3px;flex-shrink:0}.view-controls button{border:0;min-width:35px;font-size:19px}.view-controls>span{font-size:10px;color:#798477;min-width:35px;text-align:center}.view-controls .divider{height:20px;border-left:1px solid #e7e8dd;min-width:1px;margin:0 7px}.sheet-scroll{position:relative;flex:1;height:410px;max-height:58vh;overflow:auto;overscroll-behavior:contain;background:#fffefb;scrollbar-width:thin}.sheet{padding:24px 18px;position:relative;min-height:100%}.sheet svg{display:block}.sheet img[id^=cursorImg]{pointer-events:none}.empty{min-height:355px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.empty-music{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border:1px solid #dae4d5;border-radius:50%;background:#f3f5ec;font-family:Georgia,serif;font-size:37px;color:#668571;margin-bottom:16px}.empty h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0}.empty p{font-size:12px;color:#899183;line-height:1.8;margin:13px 0 20px}.primary{background:#2c7865;color:#fff;border-color:#2c7865;padding:0 24px;font-weight:500;font-size:12px}.primary:hover:not(:disabled){background:#246957}.demo-button{border:0;font-size:11px;color:#447c65;margin-top:8px}.formats{font-size:8px;letter-spacing:1.7px;color:#a0a799;margin-top:15px}.score-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eeeee5;padding:12px 20px;font-size:10px;color:#90978a;gap:8px}.follow{display:flex;align-items:center;gap:7px;color:#667961;cursor:pointer}.practice-panel{background:#eeefe6;border:1px solid #dde2d4;border-radius:12px;padding:25px 23px 20px}.panel-heading h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:8px 0 22px}.control-section{padding:0 0 19px;margin-bottom:19px;border-bottom:1px solid #dce1d4}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:500;margin-bottom:10px}.section-label>span{display:flex;align-items:center;gap:7px}.section-label svg{width:16px;height:16px}.section-label input{font-size:22px;width:64px;border:0;background:transparent;color:#327862;text-align:center;border-radius:5px;padding:0;min-height:35px;-moz-appearance:textfield}.section-label input::-webkit-inner-spin-button{-webkit-appearance:none}.section-label small{font-size:8px;letter-spacing:1px;color:#8b9484}.tempo-presets,.hand-controls{display:flex;gap:6px}.tempo-presets button,.hand-controls button{flex:1;font-size:10px;min-height:40px;background:#f7f8f1;border-color:#dce1d5;border-radius:6px}.tempo-presets button.selected,.hand-controls button.selected{background:#dfebe0;color:#2c715c;border-color:#9dbba3}.hint{font-size:9px;line-height:1.7;color:#8a9480;margin:10px 0 0}.switch{min-height:24px;height:24px;width:42px;min-width:42px;padding:3px;background:#ced6c5;border:0;border-radius:14px;justify-content:flex-start}.switch span{background:#fff;width:18px;height:18px;border-radius:50%;box-shadow:0 1px 2px #0001}.switch.on{background:#367e66;justify-content:flex-end}.switch:hover:not(:disabled){background:#648e72}.measure-fields{display:flex;align-items:center;gap:9px;margin-top:17px}.measure-fields label{flex:1;font-size:8px;letter-spacing:1.4px;color:#8d9781;min-width:0}.measure-fields select{width:100%;margin-top:7px;background:#f9faf4;border:1px solid #d9dfd0;border-radius:6px;font-size:11px;color:#4e634b;letter-spacing:0;padding:0 7px;height:44px}.measure-fields>span{margin-top:16px;color:#a3b097}.volume{display:flex;align-items:center;gap:15px;font-size:10px;color:#7d8b71}.volume input{min-height:24px}.local-note{display:flex;gap:10px;align-items:center;margin-top:18px;font-size:10px;color:#66805c}.local-note small{display:block;font-size:8px;color:#929e87;margin-top:4px}.local-dot{border:1px solid #83a573;width:7px;height:7px;border-radius:50%}.transport{display:flex;align-items:center;gap:27px;margin-top:18px;border:1px solid #dce0d5;background:#fffdf8;border-radius:12px;padding:15px 24px;box-shadow:0 4px 20px #33442b08}.playback-buttons{display:flex;align-items:center;gap:12px}.playback-buttons>button{border:0;width:38px}.playback-buttons .play-button{height:50px;width:50px;min-width:50px;border-radius:50%;background:#2b7864;color:#fff}.play-button svg{fill:currentColor;width:18px}.play-button svg:has(path[d="M8 5v14M16 5v14"]){fill:none;stroke-width:4px}.playback-track{flex:1}.track-label{display:flex;justify-content:space-between;margin-bottom:12px;font-size:10px;color:#9ba090}.track-label strong{font-weight:500;color:#60795b}.progress-track{height:3px;border-radius:2px;background:#e8ecdf;overflow:hidden}.progress-track>span{display:block;background:#397e62;height:100%;transition:width .08s linear}.transport-mode{font-size:9px;color:#85917a;display:flex;gap:8px;align-items:center;border-left:1px solid #e4e8db;padding-left:22px}.transport-mode>span{height:5px;width:5px;background:#95ac85;border-radius:50%}.pulse-dot{animation:pulse 1.1s infinite}@keyframes pulse{50%{opacity:.3}}footer{display:flex;justify-content:space-between;font-size:9px;color:#a1a796;margin-top:22px}footer a{text-decoration:none}.error{display:flex;justify-content:space-between;align-items:center;background:#fff0e8;border:1px solid #e8b7a0;color:#9e5434;border-radius:8px;padding:12px 18px;margin-bottom:18px;font-size:12px}.error button{border:0;font-size:22px;min-height:28px}.rendering{position:absolute;top:30px;left:30px;border-radius:8px;padding:16px;background:#edf2e8;color:#58714e;font-size:12px}.warnings{color:#849078;font-size:10px;margin-top:15px;line-height:1.8}.drop-overlay{position:fixed;top:15px;right:15px;bottom:15px;left:15px;border:2px dashed #55937a;border-radius:20px;background:#f2f6efed;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}.drop-overlay svg{width:50px;height:50px}.focus{max-width:none;width:100%;height:100dvh;background:#f4f2ed;display:flex;flex-direction:column;padding:12px 20px}.focus .header{height:58px;min-height:58px;border:0}.focus .header-note{display:none}.focus .workspace{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 260px}.focus .score-panel{min-height:0}.focus .sheet-scroll{height:auto;max-height:none}.focus .practice-panel{padding:18px;overflow:auto}.focus .panel-heading h2{margin-bottom:15px}.focus .control-section{margin-bottom:15px;padding-bottom:15px}.focus .transport{margin-top:12px}.focus .warnings{display:none}@media(min-width:1500px){.sheet-scroll{height:490px}.intro{padding:45px 0 40px}}@media(max-width:1100px){.app{padding:0 26px 18px}.workspace{grid-template-columns:minmax(0,1fr) 265px;gap:16px}.practice-panel{padding:22px 18px}.score-toolbar{padding:15px}.score-icon{display:none}.intro-decoration{right:30px}.intro{gap:45px}h1{font-size:44px}.focus{padding:10px 16px}}@media(max-width:800px){.app{padding:0 18px 18px}.header{height:80px}.header-note{display:none}.intro{padding:25px 0;gap:30px}h1{font-size:38px}.intro p{font-size:11px}.intro-decoration{display:none}.workspace{grid-template-columns:minmax(0,1fr)}.score-panel{min-height:410px}.sheet-scroll{height:370px;max-height:65vh}.practice-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:20px}.panel-heading{grid-column:1/-1}.panel-heading h2{margin-bottom:16px}.control-section{margin-bottom:14px;padding-bottom:15px}.control-section:nth-of-type(4){border:0}.local-note{margin-top:4px}.volume{align-self:center}.transport{position:sticky;bottom:10px;z-index:5;gap:15px;padding:12px 14px;box-shadow:0 6px 22px #293d2322}.transport-mode{display:none}.track-label{font-size:9px}.playback-buttons{gap:4px}.focus{padding:6px 10px}.focus .workspace{display:flex;flex-direction:column}.focus .score-panel{flex:1;min-height:0}.focus .practice-panel{display:none}.focus .header{height:48px;min-height:48px}.focus .score-toolbar{min-height:64px}.focus .transport{position:static}.focus .sheet-scroll{max-height:none;height:auto}.focus .brand{font-size:26px}}@media(max-width:480px){.intro p{display:none}.score-title h2{font-size:16px;max-width:180px}.score-toolbar{flex-wrap:wrap;gap:4px;padding:10px 12px}.score-title span{font-size:9px}.view-controls{margin-left:auto}.view-controls button{min-width:30px}.practice-panel{gap:0 12px;padding:18px 14px}.measure-fields{gap:5px}.measure-fields select{font-size:10px}.hand-controls button{font-size:9px}.transport{gap:12px;padding:10px}.track-label{flex-direction:column;gap:4px;margin-bottom:8px}.score-bottom{padding:10px 12px;font-size:9px}.brand{font-size:30px}.upload{padding:0 12px;font-size:11px}}.header-actions{display:flex;gap:10px}.header-actions button{padding:0 16px}.library-panel{background:#fffdf8;border:1px solid #d9dfd7;border-radius:14px;margin:24px 0;padding:24px}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.library-heading h2{font:30px Georgia,serif;margin:8px 0 20px}.library-heading button{padding:0 14px}.library-actions{display:flex;gap:10px;flex-wrap:wrap}.library-actions input{min-width:200px;flex:1;border:1px solid #c6d1c7;border-radius:8px;padding:12px;background:#fff}.library-actions button{padding:10px 16px}.drive-help{margin:18px 0;color:#516056;line-height:1.7;max-width:850px}.drive-help summary{cursor:pointer;min-height:44px;display:list-item;padding-top:10px}.library-score{border-top:1px solid #e1e5dc;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.library-score h3{margin:0 0 6px;font-size:16px}.library-score p{margin:0;color:#68766c;overflow-wrap:anywhere}.library-score>div:first-child{min-width:0}.library-score>div:last-child{display:flex;gap:8px;flex-shrink:0}.library-score button{padding:8px 14px}.library-empty{padding:24px 0;color:#68766c}.library-error{white-space:pre-line;color:#9b362c}.library-panel .hint{line-height:1.6}@media(max-width:600px){.header-actions{gap:5px}.header-actions button{padding:0 9px;font-size:12px}.library-panel{padding:16px}.library-actions>*{width:100%}.library-score{align-items:flex-start;flex-direction:column}}.library-source-tabs{display:flex;gap:10px;margin:0 0 22px;border-bottom:1px solid #dbe1d6;padding-bottom:12px}.library-source-tabs button{padding:0 18px}.library-source-tabs button[aria-selected=true]{background:#2c7865;color:#fff;border-color:#2c7865}.repository-intro{display:flex;align-items:center;justify-content:space-between;gap:16px}.repository-intro h3{font:26px Georgia,serif;margin:0 0 8px}.repository-intro p{color:#6b7c70;font-size:13px}.repository-intro a{font-size:12px}.repository-notice{background:#edf2e8;color:#506b52;padding:13px 16px;border-radius:8px;font-size:12px;line-height:1.6}.library-actions select{min-height:44px;border:1px solid #c6d1c7;border-radius:8px;padding:0 10px;background:#fff;max-width:230px;color:#3d5949}.catalog-summary{font-size:11px;color:#768570;padding:18px 0 10px}.repository-list{max-height:55vh;overflow:auto;overscroll-behavior:contain}.repository-list .library-score{padding-right:12px}.repository-list .library-score h3{display:inline;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.repository-list .library-score p{font-size:11px;margin-top:4px}.repository-list .primary{min-width:94px;padding:8px 13px;flex-shrink:0}.file-badge{display:inline-block;font-size:9px;letter-spacing:.6px;background:#e5ecdd;color:#537650;padding:4px 6px;border-radius:4px;margin-right:9px;vertical-align:middle}.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin:18px 0}.catalog-pagination button{padding:0 18px}.catalog-pagination span{font-size:12px;color:#6a7e68}@media(max-width:600px){.repository-intro{align-items:flex-start;flex-direction:column;gap:0}.library-actions select{max-width:none;width:100%}.catalog-pagination{gap:12px}.catalog-pagination button{padding:0 10px}.library-source-tabs button{padding:0 12px;font-size:12px}}.library-source-tabs{flex-wrap:wrap}.dataset-import{display:grid;gap:16px;margin:18px 0}.dataset-import label{display:grid;gap:8px}.dataset-import input{max-width:100%}.dataset-filters{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0}.dataset-filters label{display:flex;align-items:center;gap:8px}.dataset-filters input{width:20px;height:20px}.difficulty-control{margin:8px 0;font-size:13px}.difficulty-badge{display:inline-block;border-radius:20px;padding:5px 10px;font-weight:600;background:#edf0f2;color:#425466}.difficulty-beginner{background:#e4f3e9;color:#22613d}.difficulty-intermediate{background:#fff0ce;color:#795415}.difficulty-advanced{background:#fbe5e2;color:#913a31}.difficulty-control details{margin-top:7px;max-width:480px}.difficulty-control summary{cursor:pointer;padding:6px 0;min-height:32px}.difficulty-control label{display:grid;gap:8px}.difficulty-control p{line-height:1.5}.score-difficulty{padding:0 24px 12px}.score-difficulty .difficulty-control{margin:0}.difficulty-control select{max-width:100%;min-height:44px}.focus .sheet{padding:8px;min-height:0}.focus .score-surface>div{margin:0!important;position:relative}.focus .workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px}.focus .practice-panel{display:block}.focus.settings-hidden .workspace{grid-template-columns:minmax(0,1fr)}.focus.settings-hidden .practice-panel{display:none}.focus .header-actions{flex-wrap:wrap}.focus .library-panel{position:fixed;top:65px;right:12px;bottom:90px;left:12px;overflow:auto;z-index:20;margin:0}.spread-controls{display:flex;align-items:center;gap:8px}.spread-controls button{min-width:44px}.focus .score-bottom{flex-wrap:wrap;padding:4px 12px}.focus .score-toolbar{min-height:54px;padding:6px 12px}.focus .sheet-scroll{overflow:auto}.focus .practice-panel{min-width:0}.focus .score-title h2{max-width:40vw}@media(max-width:800px){.focus .workspace{display:grid;grid-template-columns:minmax(0,1fr) 230px;position:relative}.focus .practice-panel{padding:12px}.focus .header{height:auto;min-height:48px}.focus .header-actions button{padding:0 8px}.focus .brand{display:none}.focus .header-actions{width:100%;justify-content:flex-end}.focus .sheet-scroll{min-height:0}}.view-controls .select-fragment{font-size:11px;padding:0 10px;border:1px solid #d9dfd7}.select-fragment[aria-pressed=true]{background:#dceee5;border-color:#328268}.sheet-scroll.selecting-fragment{touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}.sheet-scroll:not(.selecting-fragment){touch-action:pan-x pan-y}.view-controls{flex-wrap:wrap}.focus .view-controls{max-width:65%}.layout-settings{display:grid;gap:12px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #dce1d4}.layout-settings label{display:grid;gap:8px;font-size:12px}.layout-settings label:has(input[type=checkbox]){display:flex;align-items:center}.layout-settings select,.view-controls select{min-height:44px;max-width:100%;border:1px solid #c6d1c7;border-radius:7px;background:#fffefb;padding:0 8px;color:inherit}.view-controls select{font-size:11px}.focus .score-surface{display:grid;gap:16px;align-items:start}.score-surface,.focus .view-controls{max-width:none}.score-toolbar{flex-wrap:wrap}@media(max-width:650px){.focus .workspace{grid-template-columns:minmax(0,1fr)}.focus .practice-panel{position:absolute;inset:0 0 0 auto;width:min(280px,90vw);z-index:10;background:#eeefe6;box-shadow:-6px 0 24px #28383133}.focus .view-controls{width:100%;justify-content:flex-end}.focus .score-title h2{max-width:80vw}}.reader-header,.reader-tools,.drawer-heading{display:none}.app.reading{max-width:none;width:100%;height:100dvh;min-height:0;margin:0;padding:0;background:#fff;display:flex;flex-direction:column;overflow:hidden;color:#17202b}.reading .reader-header{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:4px;min-height:66px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-bottom:1px solid #eef0f3;background:#fff;flex-shrink:0}.reader-header>button{border:0;border-radius:50%;width:44px;height:44px;color:#6e7d91;font-size:32px;line-height:1;background:#fff}.reader-header>button:hover{background:#f4f6f9}.reader-title{text-align:center;min-width:0}.reader-title p{font-size:12px;line-height:1.3;margin:0 0 4px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-title h2{font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#111827}.app.reading .workspace,.app.reading.settings-hidden .workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:0;flex:1;min-height:0;position:relative;overflow:hidden}.app.reading:not(.settings-hidden) .workspace{grid-template-columns:minmax(0,1fr) 320px}.app.reading .score-panel{min-height:0;border:0;border-radius:0;box-shadow:none;background:#fff;overflow:hidden}.reading .score-toolbar,.reading .score-difficulty,.reading .reader-follow{display:none}.app.reading .sheet-scroll{flex:1;min-height:0;height:auto;max-height:none;background:#fff;scrollbar-width:thin}.app.reading .sheet{padding:8px 6px;min-height:0;background:#fff}.reading .score-surface{display:grid;gap:16px;align-items:start}.reading .score-surface>div{margin:0!important;background:#fff}.app.reading .score-bottom{flex-shrink:0;min-height:44px;padding:0 14px;border-top:1px solid #eef0f3;color:#718096;font-size:11px;display:flex;align-items:center;gap:12px;background:#fff}.reading .spread-controls{gap:10px}.reading .spread-controls button{border:0;color:#718096;width:34px;min-width:34px}.reading .spread-controls span{font-size:12px}.reading .score-bottom>span:last-child{margin-left:auto}.reading .score-bottom>span[role=status]{font-size:10px;color:#198477}.app.reading .practice-panel{border:0;border-left:1px solid #e8edf2;border-radius:0;background:#fff;padding:20px;overflow:auto;display:block;min-height:0;z-index:12;color:#435269}.app.reading.settings-hidden .practice-panel{display:none}.reading .drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.drawer-heading h2{font:600 18px/1.4 Inter,ui-sans-serif,sans-serif;margin:0;color:#273448}.drawer-heading button{border:0;width:40px;font-size:24px;color:#718096}.reading .practice-panel .view-controls{max-width:none;width:100%;justify-content:space-between;gap:8px;margin-bottom:16px}.reading .practice-panel .view-controls>span{font-size:12px}.reading .layout-settings{margin-top:16px}.reading .local-note{display:none}.drawer-upload{width:100%;margin-top:18px}.reading .practice-panel .follow{margin:18px 0;font-size:12px}.reading .warnings{display:none}.app.reading .transport{position:relative;bottom:auto;z-index:15;margin:0;padding:8px max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));min-height:62px;gap:14px;border:0;border-top:1px solid #eef0f3;border-radius:0;box-shadow:none;background:#fff;flex-shrink:0}.reading .playback-buttons{gap:6px}.reading .playback-buttons>button{width:38px;color:#6e7d91}.reading .playback-buttons .play-button{width:44px;height:44px;min-width:44px;background:#f0f5f8;color:#2672a8;border:0}.reading .playback-track{min-width:0}.reading .track-label{font-size:10px;margin-bottom:0;gap:4px;flex-direction:column}.reading .track-label strong{color:#718096;font-weight:400}.reading .progress-track{position:absolute;top:-1px;left:0;right:0;height:2px;border-radius:0;background:#eef3f7}.reading .progress-track>span{background:#2672a8}.reading .transport-mode{display:none}.reading .reader-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.reader-tools button{width:44px;border:0;color:#718096}.reader-tools button[aria-pressed=true]{color:#198477;background:#edf6f1}.reading .library-panel{position:fixed;top:70px;right:12px;bottom:12px;left:12px;z-index:30;margin:0;overflow:auto;max-height:none;background:#fff;border-color:#e0e6ee;box-shadow:0 12px 55px #20304c22}.reading>.error{position:absolute;left:12px;right:12px;top:70px;z-index:40}.reading .score-title{display:none}@media(max-width:800px){.app.reading:not(.settings-hidden) .workspace{grid-template-columns:minmax(0,1fr)}.app.reading .practice-panel{position:fixed;inset:auto 0 0;width:100%;max-height:82dvh;z-index:25;border:1px solid #e1e7ee;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #263b5526;padding:16px 22px max(24px,env(safe-area-inset-bottom));display:block}.reading .drawer-heading:before{content:"";position:absolute;top:7px;left:calc(50% - 18px);width:36px;height:3px;border-radius:2px;background:#d6dee7}.reading .reader-header{min-height:62px}.reader-title h2{font-size:14px}.reader-title p{font-size:11px}.app.reading .transport{padding-left:8px;padding-right:8px;gap:6px}.reading .reader-tools{gap:0}.reader-tools button{width:40px;min-height:44px}.reading .track-label strong{display:none}.reading .track-label span{font-size:9px}.reading .playback-buttons>button{width:30px}.reading .playback-buttons .play-button{width:42px;min-width:42px;height:42px}.reading .score-bottom>span:last-child{font-size:10px}.reading .score-bottom{gap:4px}.reading .library-panel{top:66px;right:6px;bottom:6px;left:6px}.reading .spread-controls{gap:4px}}@media(max-width:380px){.reading .playback-track{display:none}.reading .reader-tools{gap:7px}.reading .reader-header{padding-left:6px;padding-right:6px}.reading .score-bottom>span:last-child{display:none}}.reading .score-bottom{position:relative}.reading .score-bottom>span[role=status]{position:absolute;bottom:48px;left:12px;right:12px;z-index:5;padding:8px 12px;border:1px solid #cde4da;border-radius:8px;background:#f0f8f4;pointer-events:none;text-align:center;font-size:11px;line-height:1.4}:root,html,body,#root{background:#fff;color:#283831}.library-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow:auto;background:#fff;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overscroll-behavior:contain}.app .library-overlay .library-panel{position:relative;inset:auto;margin:0 auto;max-width:1280px;max-height:none;overflow:visible;background:#fff;border:0;border-radius:0;box-shadow:none;padding:16px 0}.library-overlay .library-heading h2,.library-overlay h3{font-family:inherit;font-weight:600;letter-spacing:-.02em}.library-overlay .library-heading h2{font-size:28px}.library-overlay .eyebrow{display:none}.library-overlay .library-source-tabs{gap:8px;flex-wrap:wrap}.library-overlay input,.library-overlay select{background:#fff}.app.reading .reader-header,.app.reading .score-bottom,.app.reading .transport,.app.reading .practice-panel{color:#62736d}.reading .playback-buttons .play-button{background:#edf5f1;color:#287c6b}.reading .progress-track>span{background:#287c6b}.app.reading .sheet{padding:16px 20px}.reading .reader-header>button,.reading .reader-tools button,.reading .spread-controls button{color:#62736d}@media(max-width:600px){.library-overlay{padding:16px}.app.reading .sheet{padding:12px 8px}}.reading .reader-title h2{font-size:18px}.reading .reader-title p{font-size:13px}.reading .transport{gap:20px}.reading .playback-buttons .play-button{width:52px;height:52px;min-width:52px;background:#287c6b;color:#fff}.reading .reader-tools button{width:auto;min-width:44px;padding:0 10px;gap:7px;font-size:12px}.reading .reader-tools button span{display:inline}.quick-tempo{display:flex;align-items:center;gap:4px;border:1px solid #e5eae7;border-radius:12px;padding:2px 4px}.quick-tempo button{border:0;width:36px;font-size:20px;color:#435d52}.quick-tempo label{display:flex;align-items:baseline;gap:4px}.quick-tempo input{width:48px;border:0;background:transparent;color:#283831;text-align:center;font-weight:600;font-size:16px;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.quick-tempo input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.quick-tempo label span{font-size:10px;color:#62736d}.selection-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:8px 14px;background:#f0f7f4;border-top:1px solid #d6e7df;font-size:13px;flex-shrink:0}.selection-bar>span{font-weight:600;color:#285b4c;margin-right:8px}.selection-bar button{min-height:36px;padding:0 12px;background:#fff;border-color:#d6e7df}.selection-bar button[aria-pressed=true]{background:#287c6b;color:#fff;border-color:#287c6b}.app.reading .score-bottom{min-height:38px;color:#53675e}.reading .track-label strong,.reading .track-label span{color:#53675e}.reading .score-bottom>span[role=status]{position:static;border:0;background:transparent;padding:0;text-align:left;flex:1}.reading .score-bottom:has([role=status]){flex-wrap:wrap;padding-top:6px;padding-bottom:6px}@media(min-width:900px){.app.reading .transport{padding-left:24px;padding-right:24px;min-height:78px}.reading .track-label{font-size:12px}.reading .reader-tools{gap:12px}.app.reading .sheet{padding:20px 28px}}@media(max-width:650px){.reading .reader-title h2{font-size:14px}.reading .reader-title p{font-size:11px}.app.reading .transport{flex-wrap:wrap;justify-content:space-between;gap:6px;padding:8px}.reading .playback-track{display:none}.reading .reader-tools{margin-left:0;gap:2px}.reading .reader-tools button{padding:0 7px}.reading .reader-tools button span{display:none}.quick-tempo{gap:0}.quick-tempo button{width:28px;min-width:28px}.quick-tempo label span{display:none}.selection-bar{gap:6px;padding:6px;font-size:12px}.selection-bar button{padding:0 8px}.reading .playback-buttons .play-button{width:44px;min-width:44px;height:44px}}.reading .reader-tools button:first-child span{display:inline}.reading .reader-tools button:first-child{min-width:110px}.selection-bar .play-selection{background:#287c6b;color:#fff;border-color:#287c6b;font-weight:600}.reading .score-bottom>span[role=status]{font-size:13px;color:#285b4c;line-height:1.5;padding:6px 0;flex-basis:100%}.library-score>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.library-score .favorite-toggle,.reader-header .favorite-toggle{border:0;background:transparent;color:#287c6b;font-size:25px;line-height:1;min-width:44px;min-height:44px;padding:0 6px}.favorite-toggle[aria-pressed=true]{color:#d39426}.reader-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.reader-header-actions>button:not(.favorite-toggle){border:0;background:transparent;color:#62736d;font-size:30px;min-width:44px;min-height:44px}.reading .reader-header{grid-template-columns:48px minmax(0,1fr) 96px}@media(max-width:600px){.reading .reader-header{grid-template-columns:44px minmax(0,1fr) 88px}.reader-header-actions{gap:0}}.score-surface .start-marker{cursor:pointer;touch-action:none}.score-surface .start-marker circle:nth-of-type(1){transition:fill .15s,stroke-width .15s}.score-surface .start-marker:hover circle:nth-of-type(1),.score-surface .start-marker:focus circle:nth-of-type(1){fill:#dff2e9;stroke-width:2.6}.score-surface .start-marker:focus-visible{outline:none;filter:drop-shadow(0 0 3px #287c6b)}.app.reading .sheet-scroll:not(.selecting-fragment){touch-action:pan-y}.score-surface .loop-rail{cursor:ew-resize;touch-action:none}.score-surface .loop-rail:hover path{opacity:.55}.keep-awake-control{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-top:1px solid #dce1d4;font-size:12px;color:#53675e}.keep-awake-control label{display:flex;align-items:center;gap:9px;cursor:pointer}.keep-awake-control span{font-size:11px;color:#718077}.keyboard-dock{flex-shrink:0;background:#fff;border:1px solid #e5eae7;border-radius:12px;margin-top:8px;overflow:hidden}.metronome-settings{display:grid;gap:8px;padding:14px 0;border-top:1px solid #e6eae7}.metronome-settings label:first-child{display:flex;align-items:center;gap:8px;font-weight:600}.metronome-settings label[for=metronome-volume]{font-size:12px;color:#657c73}.metronome-settings .hint{margin:0}.volume .mute-option{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;margin-top:8px}.volume .hint{margin:5px 0 0}.keyboard-caption{height:36px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#3d5a4f;font-size:12px;font-weight:600}.keyboard-caption small{font-size:11px;font-weight:400;color:#81918a;margin-left:8px}.keyboard-caption strong{font-size:12px;font-weight:600;color:#287c6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keyboard-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#b9cfc4 transparent;scroll-behavior:auto}.keyboard-keys{height:84px;position:relative;margin:auto;min-width:100%}.piano-key{position:absolute;top:0;display:flex;justify-content:center;align-items:flex-end;transition:background .12s}.white-key{width:32px;height:78px;background:#fff;border:1px solid #aab7b0;border-radius:0 0 5px 5px;color:#58766a;z-index:1}.white-key span{font-size:10px;padding-bottom:7px}.black-key{width:22px;height:49px;border-radius:0 0 4px 4px;background:#27332e;color:#fff;z-index:2}.black-key span{font-size:9px;padding-bottom:5px;writing-mode:vertical-rl;transform:rotate(180deg)}.piano-key.sounding{background:#50ad91;color:#fff;border-color:#318b70;box-shadow:0 0 0 2px #8dd2bc inset}.piano-key.left-hand.sounding{background:#5b91af;border-color:#447e9b;box-shadow:0 0 0 2px #a7c8da inset}.annotation-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;z-index:4;touch-action:none}.ink-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:7px 16px;border-top:1px solid #e1eae5;background:#f3f9f5;color:#476757;font-size:12px}.ink-toolbar span{margin-right:auto}.ink-toolbar button{min-height:36px;padding:0 10px;background:#fff;border-color:#d3e2d9}.reader-tools button[aria-pressed=true]{background:#e3f1e9;color:#236d57}@media(max-width:650px){.keyboard-caption{height:30px;padding:0 9px}.keyboard-caption small{display:none}.keyboard-keys{height:66px}.white-key{height:60px}.black-key{height:38px}.keyboard-dock{margin-top:3px}.ink-toolbar{font-size:11px}.ink-toolbar span{width:100%}}.reading .score-bottom:has(.note-hint){flex-wrap:wrap}.note-hint{color:#287c6b;font-size:11px;flex:1 0 100%;text-align:center}.piano-key.inspected{background:#d39036;color:#fff;border-color:#bd741e;box-shadow:0 0 0 2px #f5c978 inset}.clef-guide{position:fixed;z-index:31;right:max(20px,env(safe-area-inset-right));bottom:154px;width:min(350px,calc(100vw - 24px));max-height:min(680px,calc(100dvh - 170px));overflow:auto;background:#fff;border:1px solid #dce6df;border-radius:16px;box-shadow:0 14px 50px #1d3a2c30;padding:18px 20px;color:#344c41}.guide-heading{display:flex;align-items:flex-start;justify-content:space-between}.guide-heading small,.note-help-card small{font-size:9px;letter-spacing:1.5px;color:#778d80}.guide-heading h3{font:24px Georgia,serif;margin:5px 0 14px}.guide-heading button,.note-help-card button{border:0;min-height:28px;width:30px;font-size:22px;color:#70857a}.guide-tabs{display:flex;flex-wrap:wrap;gap:6px}.guide-tabs button{font-size:11px;min-height:34px;padding:0 10px;background:#f7faf8}.guide-tabs button[aria-selected=true]{background:#287c6b;color:#fff;border-color:#287c6b}.clef-guide p{font-size:11px;line-height:1.5;color:#6c8175}.guide-staff{margin:13px auto;width:220px;padding:8px 0;background:#f9fbf8;border-radius:10px}.guide-row{position:relative;height:18px;display:flex;align-items:center;padding-left:58px;gap:46px}.guide-row.staff-line:before{content:"";position:absolute;left:24px;width:100px;height:1px;background:#596d62}.guide-row.ledger-line:before{content:"";position:absolute;left:48px;width:35px;height:1px;background:#596d62}.guide-dot{position:relative;z-index:1;width:13px;height:9px;background:#245e4c;border-radius:50%;transform:rotate(-18deg);flex:none}.guide-note{font-size:11px;font-weight:600;color:#2e5e4c}.guide-caveat{border-top:1px solid #e8eee9;padding-top:10px}.guide-toggle{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.4;cursor:pointer}.note-help-card{position:fixed;z-index:32;background:#fff;border:1px solid #c5dfcf;border-radius:12px;box-shadow:0 9px 32px #20472f38;min-width:180px;max-width:220px;padding:12px 32px 12px 14px;display:flex;flex-direction:column;gap:4px;pointer-events:auto}.note-help-card button{position:absolute;top:4px;right:4px}.note-help-card strong{font:600 22px Georgia,serif;color:#287c6b}.note-help-card span{font-size:11px;color:#668077}@media(max-width:650px){.clef-guide{bottom:115px;right:12px;max-height:calc(100dvh - 135px)}.note-help-card{min-width:150px}.reader-tools button[aria-label="Guía de claves"]{font-size:18px}}.reading .score-bottom:has(.key-signature){flex-wrap:wrap}.score-panel{position:relative}.smart-toggle{padding:0 13px;white-space:nowrap;font-size:12px;color:#287c6b;background:#f2f8f4;border-color:#d1e3d8}.smart-toggle.active{background:#287c6b;color:#fff;border-color:#287c6b}.smart-hud{position:absolute;right:18px;bottom:52px;z-index:7;display:flex;flex-direction:column;gap:7px;max-width:min(410px,calc(100% - 36px));padding:13px 15px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #d8e5db;border-radius:12px;box-shadow:0 8px 28px #24392b20;color:#40574c;font-size:12px;pointer-events:auto}.smart-hud strong{font-size:13px}.smart-hud>span{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.smart-hud b{padding:4px 7px;background:#fff2da;border-radius:5px;color:#915b17}.smart-hud b.matched{background:#def1e7;color:#256d55}.smart-hud small{display:flex;gap:6px;align-items:center;color:#748b7b}.smart-hud button{align-self:flex-start;min-height:29px;padding:0 10px;font-size:11px}.mic-meter{display:inline-block;width:52px;height:5px;background:#e2ebe6;border-radius:5px;overflow:hidden}.mic-meter i{display:block;height:100%;background:#287c6b}.calibration-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#192a23aa}.calibration-card{width:min(440px,100%);padding:28px;background:#fffefb;border-radius:18px;box-shadow:0 20px 70px #0004;color:#2e4538;text-align:center}.calibration-eyebrow{color:#287c6b;font-size:10px;font-weight:700;letter-spacing:1.3px}.calibration-card h2{font-family:Georgia,serif;font-size:26px;font-weight:400}.calibration-card p{font-size:13px;line-height:1.6}.calibration-note{font-family:Georgia,serif;font-size:42px;color:#287c6b;margin:14px}.calibration-meter{height:8px;background:#e5ece7;border-radius:6px;overflow:hidden}.calibration-meter span{display:block;height:100%;background:#287c6b;transition:width .2s}.calibration-help{color:#738478;min-height:42px}.calibration-card button{padding:0 20px;background:#f4f7f3}@media(max-width:650px){.smart-toggle{font-size:10px;padding:0 8px;min-height:34px}.smart-hud{bottom:44px;right:8px;padding:10px;max-width:calc(100% - 16px)}}.calibration-diagnostics{display:grid;gap:9px;margin-top:18px;padding:14px;text-align:left;background:#f2f7f3;border:1px solid #d9e7dd;border-radius:10px;font-size:12px}.calibration-diagnostics>span{display:flex;justify-content:space-between;gap:12px}.calibration-diagnostics strong{color:#245d50;text-align:right}.calibration-diagnostics p{margin:4px 0 0;color:#566d60;min-height:21px}.calibration-card .calibration-help{min-height:0}.smart-hud .smart-omitted{color:#a54848;font-size:11px}.smart-settings .countin-check{margin-top:0}.smart-toolbar{display:flex;align-items:center;gap:7px}.smart-recalibrate{min-height:34px;border:0;color:#287c6b;font-size:11px;padding:0 5px}@media(max-width:650px){.smart-toolbar{flex-wrap:wrap;justify-content:flex-end}.smart-recalibrate{min-height:24px;font-size:10px}}.tempo-extras>label:first-child{display:block;font-size:12px;color:#4c6458}.tempo-extras select{display:block;margin-top:8px;width:100%;min-height:40px;padding:0 10px;border:1px solid #d6e2d9;border-radius:8px;background:#fff;color:#38584a}.countin-check{display:flex;align-items:center;gap:9px;margin-top:16px;font-size:12px;color:#3d5e4b}.countin-settings .countin-check{margin-top:0}.key-signature{color:#3b705e;background:#edf5ef;border:1px solid #d8e9dc;border-radius:20px;padding:4px 9px;font-size:11px;line-height:1.25;text-align:center}@media(max-width:650px){.key-signature{order:3;flex-basis:100%}.reading .score-bottom:has(.key-signature){gap:3px}}@media(max-width:650px){.reading .reader-tools{order:3;width:100%;justify-content:space-around;margin:0;gap:0}.reading .reader-tools button,.reading .reader-tools button:first-child{width:44px;min-width:44px;padding:0}.reading .reader-tools button:first-child span{display:none}.reading .quick-tempo{margin-left:auto}}@media(min-width:801px){.app.reading:not(.settings-hidden) .workspace{grid-template-columns:minmax(0,1fr)}.app.reading .practice-panel{position:absolute;inset:0 0 0 auto;width:min(320px,calc(100vw - 24px));box-shadow:-10px 0 28px #263b5520}}.smart-toggle{display:none}.settings-group{min-width:0;margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid #d5ddd6}.settings-group h3{margin:0 0 14px;color:#29483c;font-size:13px;font-weight:700;letter-spacing:.03em}.settings-group .control-section{margin-bottom:14px;padding-bottom:14px}.settings-group .control-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.settings-group .layout-settings,.reading .settings-group .layout-settings{margin:0;padding:0;border:0}.settings-group .metronome-settings{border-top:1px solid #d5ddd6}.settings-group .follow{margin:0 0 14px;font-size:13px}.settings-group .keep-awake-control{padding:12px 0 0}.practice-panel .hint{font-size:11px;line-height:1.45;color:#52665b}.practice-panel .measure-fields label{font-size:10px;color:#435a4e}.practice-panel .measure-fields select{font-size:12px;color:#304a3d}.practice-panel .section-label,.practice-panel .volume,.practice-panel .metronome-settings{font-size:13px;color:#304a3d}.practice-panel .tempo-presets button,.practice-panel .hand-controls button{min-height:44px;font-size:12px;color:#304a3d}.practice-panel .countin-check,.practice-panel .mute-option,.practice-panel .metronome-settings label[for=metronome-volume]{font-size:13px;color:#304a3d}.practice-panel input[type=checkbox]{width:19px;height:19px;flex:none}.practice-panel .volume{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-items:stretch;padding:0 0 14px}.practice-panel .volume input[type=range],.practice-panel .metronome-settings input[type=range]{width:100%;min-width:0;min-height:40px}.practice-panel .volume .mute-option{margin-top:7px;font-weight:500}.keep-awake-control .wake-warning{display:block;margin-top:7px;padding:8px 10px;border-radius:8px;background:#fff5df;color:#68470b;font-size:12px;line-height:1.4}.app.reading .score-bottom,.reading .score-bottom>span:last-child,.reading .spread-controls span,.reading .track-label span,.reading .track-label strong{color:#344f42}.reading .spread-controls span{font-size:14px;font-weight:600;white-space:nowrap}.reading .score-bottom>span:last-child{font-size:13px;font-weight:600;white-space:nowrap}.reading .spread-controls button:disabled{opacity:.55;color:#52665b}.reading .reader-title p,.reading .score-title span{color:#52665b}.reading .playback-buttons .play-button{width:60px;min-width:60px;height:60px;background:#287c6b;color:#fff}.reading .playback-buttons .play-button svg{width:22px;height:22px}.reading .quick-tempo button{min-width:46px;min-height:46px}.reading .quick-tempo input{font-size:17px}.tempo-quick-presets{position:relative}.tempo-quick-presets summary{display:grid;place-items:center;width:40px;min-height:46px;list-style:none;cursor:pointer;color:#344f42;font-size:20px}.tempo-quick-presets summary::-webkit-details-marker{display:none}.tempo-quick-presets>div{position:absolute;right:0;bottom:calc(100% + 10px);z-index:35;display:flex;gap:4px;padding:6px;border:1px solid #cbded2;border-radius:10px;background:#fff;box-shadow:0 6px 22px #203b2a26}.tempo-quick-presets>div button{font-size:12px;font-weight:600;min-width:52px}.quick-hands{display:flex;gap:2px;padding:3px;border:1px solid #d8e5dc;border-radius:10px;background:#f6faf7;flex-shrink:0}.quick-hands button{min-width:44px;min-height:44px;padding:0 7px;border:0;font-size:11px;font-weight:600;color:#38594a}.quick-hands button[aria-pressed=true]{background:#d8eee2;color:#155b42}@media(max-width:1400px){.app.reading .transport{flex-wrap:wrap;justify-content:space-between}.reading .playback-track{flex:1 1 160px;min-width:140px}.reading .reader-tools{order:4;flex:1 0 100%;justify-content:space-around;margin-left:0}.reading .quick-tempo{margin-left:auto}}@media(max-width:650px){.reading .playback-buttons .play-button{width:56px;min-width:56px;height:56px}.reading .quick-tempo button{min-width:44px;min-height:44px}.reading .reader-tools{width:100%}.reading .score-bottom{flex-wrap:wrap}.reading .spread-controls span{font-size:12px}.reading .score-bottom>span:last-child{font-size:12px}}.library-search{align-items:stretch;margin-bottom:4px}.library-search input[type=search]{min-width:min(280px,100%);flex:2}.library-search select{max-width:none;min-width:155px;flex:1}.library-search .primary{white-space:nowrap}.unified-table-scroll{max-height:56vh;overflow:auto;overscroll-behavior:contain;border-top:1px solid #dce5de}.unified-library-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}.unified-library-table th{position:sticky;top:0;z-index:1;background:#f5f8f5;color:#3c594b;font-size:12px;font-weight:700;padding:12px;border-bottom:1px solid #dce5de}.unified-library-table th:nth-child(1){width:37%}.unified-library-table th:nth-child(2){width:15%}.unified-library-table th:nth-child(3){width:22%}.unified-library-table th:nth-child(4){width:26%}.unified-library-table .library-score{display:table-row;border:0}.unified-library-table td{padding:13px 12px;border-bottom:1px solid #e4ebe5;vertical-align:middle;overflow-wrap:anywhere}.unified-library-table td strong{display:block;font-size:14px;line-height:1.35}.unified-library-table td small{display:block;color:#536a5d;font-size:12px;margin-top:4px}.source-badge{display:inline-block;padding:5px 8px;border-radius:6px;background:#edf4ed;color:#285b46;font-size:12px;font-weight:600}.library-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.library-row-actions button:not(.favorite-toggle){min-height:40px;padding:6px 10px}.unified-library-table .difficulty-control{font-size:12px}.library-source-info{margin-top:12px;color:#496151;font-size:12px;line-height:1.55}.library-source-info summary{cursor:pointer;padding:10px 0;min-height:44px;font-weight:600}.library-source-info p{margin:8px 0}.catalog-summary,.catalog-pagination span{font-size:13px;color:#3d5949}@media(max-width:800px){.unified-library-table,.unified-library-table tbody{display:block}.unified-library-table thead{display:none}.unified-library-table .library-score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px 2px;border-bottom:1px solid #e4ebe5}.unified-library-table td{display:block;border:0;padding:0}.unified-library-table td:nth-child(1){grid-column:1;grid-row:1}.unified-library-table td:nth-child(2){grid-column:2;grid-row:1}.unified-library-table td:nth-child(3){grid-column:1/-1}.unified-library-table td:nth-child(4){grid-column:1/-1}.library-row-actions{justify-content:flex-start}}.library-heading-actions,.account-control{display:flex;align-items:center;gap:8px}.account-control button{padding:0 12px;white-space:nowrap}.account-control [role=alert]{max-width:230px;color:#9b362c;font-size:12px}.cloud-explainer{margin:10px 0;color:#435c4c;font-size:12px}.share-review{margin:16px 0;padding:18px;border:1px solid #c9ddcf;border-radius:12px;background:#f4f9f5;max-width:650px}.share-review h3{margin:0 0 8px;font-size:18px}.share-review p{color:#435c4c;line-height:1.5}.share-review label{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5}.share-review label input{width:20px;height:20px;flex:none}.share-review>div{display:flex;gap:8px;margin-top:15px}.share-review button{padding:0 16px}.admin-review{margin:20px 0;border-top:1px solid #dce5de;color:#31483b}.admin-review summary{cursor:pointer;min-height:44px;padding:13px 0;font-weight:700}.admin-review article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #e2eae4}.admin-review article p{font-size:12px;color:#526a5b;margin:5px 0}.admin-review article>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.admin-review article button{padding:0 12px}.admin-review>label{display:grid;gap:6px;max-width:560px;margin:15px 0;font-size:12px;font-weight:600}.admin-review>label input{min-height:44px;padding:9px;border:1px solid #c6d1c7;border-radius:8px}@media(max-width:800px){.library-heading-actions{flex-wrap:wrap;justify-content:flex-end}.admin-review article{align-items:flex-start;flex-direction:column}.account-control [role=alert]{display:none}}.admin-inspection{margin:16px 0;padding:16px;border:1px solid #c9ddcf;border-radius:10px;background:#f9fcfa}.admin-inspection h3{font-size:18px;margin:0 0 4px}.admin-inspection>label{display:flex;align-items:center;gap:9px;margin:13px 0;font-size:13px}.admin-inspection>label input[type=checkbox]{width:20px;height:20px;flex:none}.admin-inspection>label:has(input:not([type=checkbox])){display:grid}.admin-inspection>label input:not([type=checkbox]){min-height:44px;padding:9px;border:1px solid #c6d1c7;border-radius:8px}.admin-inspection>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.admin-inspection button{padding:0 13px}.admin-notation{max-height:420px;overflow:auto;background:#fff;border:1px solid #dce5de;border-radius:8px;padding:12px}.admin-notation>div{min-width:600px}.share-review .share-field{display:grid;gap:6px;margin:12px 0;font-weight:600}.share-review .share-field input,.share-review .share-field select{width:100%;max-width:500px;min-height:44px;padding:8px 10px;border:1px solid #c6d1c7;border-radius:8px;background:#fff;color:#304a3d}.app:not(.reading){min-height:100dvh;display:flex;flex-direction:column}.app:not(.reading) .workspace{display:block;flex:1;min-width:0}.app:not(.reading) .score-panel{max-width:1260px;margin:28px auto 0;min-height:0}.app:not(.reading) .score-toolbar,.app:not(.reading) .score-bottom,.app:not(.reading) .transport{display:none}.app:not(.reading) .sheet-scroll{height:auto;max-height:none;overflow:visible}.landing-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(24px,5vw,72px);padding:clamp(28px,4.5vw,60px);min-width:0}.landing-copy{min-width:0}.landing-copy h1{margin:12px 0 14px}.landing-lead{font-size:18px;line-height:1.45;color:#3e5b4e;margin:0 0 20px;max-width:30ch}.landing-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px;padding:0;margin:0 0 26px;list-style:none}.landing-features li{display:flex;align-items:flex-start;gap:9px;min-width:0;font-size:14px;line-height:1.3;color:#385448}.landing-features li span{flex:none;display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#e7f2e9;color:#287c6b;font-size:17px}.landing-actions{display:flex;flex-wrap:wrap;gap:10px}.landing-actions button{min-height:50px;font-size:14px;padding:0 16px;flex:1 1 190px}.landing-actions .demo-primary{background:#fff;color:#276c57;border-color:#9bbdab}.landing-actions .demo-primary:hover{background:#edf6ee}.landing-explore{border:0;padding:0;margin-top:16px;min-height:44px;font-size:14px;font-weight:600;color:#276c57}.landing-trust{font-size:13px;line-height:1.4;color:#4d6b58;margin:13px 0 0}.landing-preview{position:relative;min-width:0;border:1px solid #d5e1d7;border-radius:14px;overflow:hidden;background:#f3f6f1;box-shadow:0 16px 35px #1b4d3018}.landing-preview img{display:block;width:100%;aspect-ratio:1.42;object-fit:cover;object-position:top center}.landing-preview>span{position:absolute;left:12px;bottom:12px;background:#fffefbec;color:#27523e;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:600}.mobile-menu{display:none}@media(max-width:900px){.landing-card{grid-template-columns:1fr;gap:24px}.landing-preview{max-width:600px}.app:not(.reading) .score-panel{margin-top:20px}}@media(max-width:600px){.app:not(.reading){padding:0 16px 20px}.app:not(.reading) .header{height:66px;flex:none}.app:not(.reading) .header-actions{display:none}.mobile-menu{display:block;position:relative;z-index:30}.mobile-menu summary{display:grid;place-items:center;width:48px;height:48px;list-style:none;border:1px solid #cddbd0;border-radius:9px;color:#2a5d47;font-size:25px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] .mobile-menu-items{position:absolute;right:0;top:56px;display:grid;gap:8px;width:min(290px,calc(100vw - 32px));padding:14px;border:1px solid #d6e2d8;border-radius:12px;background:#fff;box-shadow:0 12px 30px #21482a30}.mobile-menu-items>button,.mobile-menu-items .account-control button{width:100%;min-height:48px;justify-content:flex-start;padding:0 12px}.app:not(.reading) .score-panel{margin-top:14px}.landing-card{padding:24px 20px;gap:22px}.landing-copy h1{font-size:37px}.landing-lead{font-size:16px}.landing-features{grid-template-columns:1fr;gap:9px;margin-bottom:21px}.landing-actions{display:grid;grid-template-columns:1fr}.landing-actions button{width:100%;flex:auto}.landing-preview img{aspect-ratio:1.4}}@media(min-width:901px)and (max-width:1250px){.app.reading .transport{flex-wrap:nowrap;gap:8px}.reading .playback-track{flex:1 1 130px;min-width:120px}.reading .reader-tools{order:0;flex:0 1 auto;width:auto;gap:1px;margin-left:0}.reading .reader-tools button{width:44px;min-width:44px;padding:0}.reading .reader-tools button span,.reading .reader-tools button:first-child span{display:none}}:root{--secondary-ink:#385548}.eyebrow,.formats,.hint,.local-note small,.local-note,.measure-fields label,.score-title span,.score-bottom,.track-label,.transport-mode,footer,.warnings,.practice-panel .section-label small,.keyboard-caption small,.landing-preview>span{font-size:12px;color:var(--secondary-ink)}.score-bottom>span:last-child,.reading .spread-controls span{font-size:14px;font-weight:600;color:#304b3d}.section-label,.practice-panel .hint,.practice-panel .measure-fields label,.practice-panel .local-note small,.practice-panel .local-note{color:#385548}.practice-panel .local-note small,.practice-panel .tempo-presets button,.practice-panel .hand-controls button{font-size:12px}.practice-panel .follow,.practice-panel .view-controls>span{font-size:14px}.reading .spread-controls button,.view-controls button{min-width:44px;width:44px;min-height:44px}.reading .spread-controls button{color:#365a49}.reading .practice-panel .view-controls{flex-wrap:nowrap;justify-content:flex-start;min-width:0}.reading .practice-panel .view-controls .select-fragment{flex:1;min-width:0;width:auto;white-space:nowrap;font-size:12px}.reading .practice-panel .view-controls>span{flex:none;min-width:43px}.reading .practice-panel label:has(input[type=checkbox]){min-height:44px;align-items:center}.reading .practice-panel input[type=checkbox]{width:22px;height:22px}.musicxml-help{margin-top:10px;color:#385548;font-size:12px}.musicxml-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.musicxml-help p{margin:4px 0 8px;line-height:1.45}.musicxml-help button{padding:0 12px;min-height:44px;color:#276c57}.phone-tool-more,.rotation-hint{display:none}@media(max-width:650px){.rotation-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;background:#edf5ed;color:#315843;font-size:12px}.rotation-hint button{min-width:44px;min-height:44px;border:0;font-size:20px}.reading .reader-tools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:100%}.reading .reader-tools>.secondary-tool{display:none}.reading .reader-tools>button,.reading .reader-tools>button:first-child{width:100%;min-width:0;min-height:52px;flex-direction:column;gap:1px;padding:2px 0;font-size:18px}.reading .reader-tools>button span,.reading .reader-tools>button:first-child span{display:block;font-size:11px;white-space:nowrap}.reading .reader-tools>button svg{width:19px;height:19px}.phone-tool-more{display:block;position:relative;min-width:0}.phone-tool-more summary{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;min-height:52px;list-style:none;cursor:pointer;font-size:24px;color:#385548}.phone-tool-more summary span{font-size:11px}.phone-tool-more summary::-webkit-details-marker{display:none}.phone-tool-menu{position:absolute;right:0;bottom:58px;z-index:30;display:grid;gap:5px;width:min(255px,calc(100vw - 22px));padding:9px;border:1px solid #d8e3db;border-radius:10px;background:#fff;box-shadow:0 8px 25px #223f2a33}.phone-tool-menu button{justify-content:flex-start;padding:0 12px;min-height:44px;font-size:13px}.reading .practice-panel .view-controls{gap:3px}.reading .practice-panel .view-controls .select-fragment{font-size:11px;padding:0 4px}}.reader-title p,.note-hint,.key-signature,.quick-hands button,.keyboard-caption,.keyboard-caption small,.piano-key span,.ink-toolbar,.reading .spread-controls button{font-size:12px}.reading .reader-tools button span,.phone-tool-more summary span{font-size:12px}.reading .spread-controls button{font-size:20px}.tempo-inline-presets{display:flex;align-items:center;gap:3px;padding-left:4px;border-left:1px solid #dbe6dd}.tempo-inline-presets button{min-width:48px;min-height:44px;font-size:12px;font-weight:600;padding:0 7px;white-space:nowrap}.tempo-inline-presets button[aria-pressed=true]{background:#dff0e5;color:#1b6149}@media(max-width:1250px){.app.reading .transport{flex-wrap:wrap}.reading .quick-tempo{flex-wrap:wrap;justify-content:center}.tempo-inline-presets{flex:1 0 100%;justify-content:space-around;padding:3px 0 0;border-left:0;border-top:1px solid #dbe6dd}}@media(max-width:650px){.reading .quick-tempo{margin-left:auto}.tempo-inline-presets button{min-width:48px}.reading .reader-tools button span,.phone-tool-more summary span{font-size:12px}}.account-entry{display:grid;justify-items:center;gap:2px}.account-entry small{font-size:12px;color:#385548;white-space:nowrap}@media(max-width:600px){.mobile-menu-items .account-entry{justify-items:stretch}.mobile-menu-items .account-entry button{width:100%;min-height:44px}}@media(min-width:901px)and (max-width:1250px){.app.reading .transport{flex-wrap:wrap;gap:6px}.reading .quick-tempo{flex-wrap:nowrap;flex:0 0 auto}.reading .quick-tempo .tempo-inline-presets{flex:0 0 auto;border-top:0;border-left:1px solid #dbe6dd;padding:0 0 0 4px}.reading .quick-tempo .tempo-inline-presets button{min-width:44px;padding:0 4px}.reading .playback-track{flex:1 1 120px;min-width:120px}.reading .reader-tools{order:5;flex:1 0 100%;justify-content:center}}.reading .playback-buttons>button{width:44px;min-width:44px;min-height:44px}.quick-tempo label span{font-size:12px}@media(min-width:901px)and (max-width:1250px){.reading .tempo-inline-presets{flex:0 0 auto;order:0;border-top:0;border-left:1px solid #dbe6dd;padding:0 0 0 4px}.reading .reader-tools{order:5}}@media(max-width:650px){.app.reading .transport{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"play tempo" "presets hands" "tools tools";align-items:center;gap:4px 8px;padding:7px 8px max(7px,env(safe-area-inset-bottom))}.reading .playback-buttons{grid-area:play;gap:4px}.reading .playback-buttons .play-button{min-width:52px;width:52px;height:52px}.reading .quick-tempo{grid-area:tempo;margin:0;min-width:0;justify-content:space-between;flex-wrap:nowrap}.reading .quick-tempo button{min-width:44px;width:44px}.reading .tempo-inline-presets{grid-area:presets;flex:auto;border:0;padding:0;gap:1px;justify-content:space-between}.reading .tempo-inline-presets button{flex:1;min-width:0;padding:0 1px;font-size:12px}.reading .quick-hands{grid-area:hands;justify-self:stretch}.reading .quick-hands button{flex:1;min-width:0}.reading .reader-tools{grid-area:tools;order:0;flex:auto;margin:0}.reading .reader-title p{font-size:12px}.reading .reader-tools>button:first-child span{font-size:12px}}@media(min-width:651px)and (max-width:900px){.reading .track-label strong,.reading .track-label span{font-size:12px}}.practice-panel .hint{font-size:12px}.reading .drawer-heading button{min-width:44px;min-height:44px}.reading .practice-panel summary{min-height:44px;display:flex;align-items:center}.reading .practice-panel .switch{min-width:52px;width:52px;height:44px;min-height:44px;border-radius:22px}.reader-title h1{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;font-weight:600;line-height:1.3;letter-spacing:0;margin:0;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:650px){.reader-title h1{font-size:14px}}.piano-key.sounding{background:#075b46;border-color:#064735;box-shadow:0 0 0 2px #46a48a inset;color:#fff}.piano-key.left-hand.sounding{background:#225d87;border-color:#174968;box-shadow:0 0 0 2px #80afcc inset;color:#fff}@media(max-width:650px){.reading .practice-panel .view-controls .select-fragment{font-size:12px}}.mobile-show-controls,.mobile-collapse-controls{display:none}.hand-icon{display:inline-flex;align-items:center;justify-content:center;color:currentColor;height:24px}.hand-icon svg{width:23px;height:23px;stroke-width:1.8}.hand-icon-left svg,.hand-icon-both svg:first-child{transform:scaleX(-1)}.hand-icon-both svg{width:19px;height:19px}.hand-icon-both svg+svg{margin-left:-3px}@media(max-width:650px){.reading .quick-hands button{min-height:44px}.mobile-collapse-controls{display:inline-flex;flex:none;min-height:44px;padding:0 10px;margin-left:auto;border:0;color:#266a52;font-size:12px;font-weight:600}.reading .phone-tool-menu{right:0;bottom:calc(100% + 8px);width:calc(100vw - 16px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:7px;border-radius:12px}.reading .phone-tool-menu button{min-width:0;min-height:70px;padding:5px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;line-height:1.1;text-align:center}.reading .phone-tool-menu .menu-glyph{font-size:25px;line-height:1}.reading .phone-tool-menu svg{width:23px;height:23px}.app.reading.compact-controls .score-bottom,.app.reading.compact-controls .rotation-hint{display:none}.app.reading.compact-controls .transport{display:flex;justify-content:center;min-height:70px;gap:0;padding:6px 8px max(6px,env(safe-area-inset-bottom))}.app.reading.compact-controls .playback-buttons{gap:14px}.app.reading.compact-controls .playback-buttons>button:first-child{display:none}.app.reading.compact-controls .playback-buttons .play-button{width:56px;min-width:56px;height:56px}.app.reading.compact-controls .quick-tempo,.app.reading.compact-controls .tempo-inline-presets,.app.reading.compact-controls .quick-hands,.app.reading.compact-controls .reader-tools{display:none}.app.reading.compact-controls .mobile-show-controls{display:inline-flex;position:absolute;right:8px;min-height:44px;padding:0 8px;gap:4px;border:0;color:#276b54;font-size:12px;font-weight:600}.app.reading.compact-controls .mobile-show-controls svg{width:18px;height:18px}}@media(max-width:650px){.reading .phone-tool-menu button{width:100%;min-width:0}.reading .phone-tool-menu button span{display:block;font-size:12px;line-height:1.1;white-space:normal}.reading .phone-tool-menu button .menu-glyph{font-size:25px;line-height:1}}.quick-hands button{flex-direction:row;align-items:center;justify-content:center;min-height:44px}@media(max-width:650px){.reading .quick-hands button{min-height:44px}}@media(max-width:650px){.reading .reader-tools .phone-tool-menu button:first-child{width:100%;min-width:0;padding:5px 2px}.reading .reader-tools .phone-tool-menu button:first-child span{display:block;font-size:12px}}.mobile-quiet-toggle{display:none}.piano-key.sounding:not(.inspected),.piano-key.left-hand.sounding:not(.inspected){background:#a5470c;border-color:#783005;box-shadow:0 0 0 2px #e7a875 inset;color:#fff}@media(max-width:650px){.reading .reader-tools{grid-template-columns:repeat(6,minmax(0,1fr))}.reading .mobile-quiet-toggle{display:flex;min-width:0;flex-direction:column;gap:1px;font-size:18px}.reading .mobile-quiet-toggle span{font-size:11px}.app.reading.focus .reader-header{display:none}.app.reading.compact-controls .transport{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;grid-template-areas:"play tempo quiet";justify-content:stretch;align-items:center;gap:6px}.app.reading.compact-controls .playback-track{display:none}.app.reading.compact-controls .quick-tempo{display:flex;grid-area:tempo;min-width:0;flex-wrap:nowrap;justify-content:space-between;margin:0}.app.reading.compact-controls .mobile-show-controls{display:inline-flex;position:static;grid-area:quiet;width:44px;min-width:44px;padding:0;flex-direction:column;gap:0;font-size:11px}}@media(max-height:500px)and (max-width:950px)and (orientation:landscape){.app.reading .reader-header{min-height:46px;height:46px;padding-top:2px;padding-bottom:2px}.app.reading.focus .reader-header,.app.reading .score-bottom,.app.reading .rotation-hint{display:none}.app.reading .sheet{padding:4px 10px}.app.reading .keyboard-dock{margin-top:0;border-radius:0}.app.reading .keyboard-caption{display:none}.app.reading .keyboard-keys{height:53px}.app.reading .white-key{height:50px}.app.reading .black-key{height:32px}.app.reading .transport{display:flex;flex-wrap:nowrap!important;justify-content:flex-start;gap:7px;min-height:58px;padding:5px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow-x:auto;overflow-y:hidden}.reading .playback-track,.reading .tempo-inline-presets{display:none}.reading .quick-tempo{flex:none;flex-wrap:nowrap;margin:0}.reading .quick-hands{flex:none}.reading .reader-tools{display:flex;order:0;flex:none;width:auto;margin:0}.reading .reader-tools>button{flex:none}.reading .mobile-quiet-toggle{display:inline-flex;flex:none;min-width:44px;min-height:44px;flex-direction:column;gap:0;padding:1px;font-size:17px}.reading .mobile-quiet-toggle span{font-size:10px}.app.reading.compact-controls .transport{overflow:visible;justify-content:center}.app.reading.compact-controls .reader-tools,.app.reading.compact-controls .quick-hands{display:none}.app.reading.compact-controls .quick-tempo{display:flex}.app.reading.compact-controls .mobile-show-controls{display:inline-flex;position:static;min-width:44px;padding:0;flex-direction:column;gap:0;font-size:11px}}
