:root{color:#191816;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}button:focus-visible,.drop-zone:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.app-shell{color:#191816;background:radial-gradient(circle at 20% 0,#0f766e1f,#0000 30%),linear-gradient(135deg,#edf0ea,#f7f4eb);min-height:100vh}button{font:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand,.topbar-left,.topbar-left-actions,.topbar-actions,.panel-heading,.danger-button,.ghost-button,.listen-button,.start-button{align-items:center;display:flex}.brand h1,.panel-heading h2{margin:0}.score-row small,.hardware-note{color:#706b61}.import-progress-dock{bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;color:#062f4f;-webkit-backdrop-filter:blur(24px)saturate(1.24);backdrop-filter:blur(24px)saturate(1.24);background:linear-gradient(135deg,#ffffffe0,#e2f7ffb8 52%,#f0fff79e),#ffffff85;border:1px solid #ffffff8f;border-radius:12px;width:min(760px,100vw - 28px);padding:10px 12px 11px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 54px #19181524,0 0 38px #00aef22e,inset 0 1px #ffffffdb}.import-progress-dock.done{background:linear-gradient(135deg,#ffffffe6,#e2ffeeb8),#ffffff94}.launch-intro{z-index:90;color:#191816;background:linear-gradient(135deg,#edf0eaf0,#f7f4ebe6),#f6f9f7e6;align-content:center;place-items:center;gap:9px;animation:.28s .72s forwards launch-intro-out;display:grid;position:fixed;inset:0}.launch-intro-mark{color:#f8f4e7;background:#11100ee6;border:1px solid #19181538;border-radius:50%;place-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:27px;display:grid;box-shadow:inset 0 1px #ffffff2e,0 18px 42px #11100e1f}.launch-intro strong{font-size:20px;line-height:1.1}.launch-intro span{color:#706b61;font-size:12px;font-weight:800}.auth-page{color:#191816;background:radial-gradient(circle at 18% 12%,#0f766e24,#0000 28%),linear-gradient(135deg,#edf0ea,#f7f4eb);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-panel{-webkit-backdrop-filter:blur(24px)saturate(1.18);backdrop-filter:blur(24px)saturate(1.18);background:#ffffffa3;border:1px solid #1918151f;border-radius:8px;width:min(420px,100%);padding:26px;box-shadow:0 22px 68px #11100e1f}.auth-mark{color:#f8f4e7;background:#191816;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.auth-mark svg{width:22px;height:22px}.auth-panel h1{margin:14px 0 20px;font-size:26px;line-height:1.1}.auth-form{gap:11px;display:grid}.auth-form label{color:#4c4942;font-size:12px;font-weight:900}.auth-input-row{background:#ffffffa8;border:1px solid #19181529;border-radius:8px;align-items:center;gap:9px;height:42px;padding:0 11px;display:flex}.auth-input-row svg{color:#706b61;width:16px;height:16px}.auth-input-row input{color:#191816;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1}.auth-message{color:#0f766e;margin:13px 0 0;font-size:13px;font-weight:800}.auth-message.error{color:#a33b20}.auth-status{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:70;color:#191816;-webkit-backdrop-filter:blur(18px)saturate(1.14);backdrop-filter:blur(18px)saturate(1.14);background:#ffffffb8;border:1px solid #1918151f;border-radius:8px;align-items:center;gap:8px;max-width:min(340px,100vw - 24px);height:34px;padding:0 5px 0 10px;display:flex;position:fixed;box-shadow:0 12px 34px #11100e1c}.auth-status>svg{color:#0f766e;flex:none;width:15px;height:15px}.auth-status span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:210px;font-size:12px;font-weight:800;overflow:hidden}.auth-status button{color:#4c4942;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:25px;height:25px;display:grid}.auth-status button:hover{background:#19181514}.auth-status button svg{width:14px;height:14px}@keyframes launch-intro-out{to{opacity:0;visibility:hidden}}.import-progress-topline,.import-progress-detail,.import-progress-terms{align-items:center;display:flex}.import-progress-topline{gap:10px;font-size:12px}.import-progress-topline strong{color:#10354d;flex:1;min-width:0;font-size:14px}.import-progress-topline>span:last-child{text-align:right;min-width:44px;font-weight:800}.import-progress-term{color:#0f766e;background:#e8faf6ad;border:1px solid #0f766e2e;border-radius:999px;min-width:72px;padding:3px 9px;font-weight:800}.import-progress-track{background:repeating-linear-gradient(90deg,#0f766e17 0 1px,#0000 1px 34px),#ffffffad;border:1px solid #0f766e29;border-radius:999px;height:7px;margin-top:8px;overflow:hidden}.import-progress-track span{transform-origin:0;background:linear-gradient(90deg,#0f766e,#00aef2 58%,#7ddf94),#0f766e;width:100%;height:100%;transition:transform .42s;display:block;box-shadow:0 0 24px #00aef26b}.import-progress-detail{color:#314f59;gap:10px;margin-top:7px;font-size:12px}.import-progress-detail span,.import-progress-detail small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.import-progress-detail span{flex:1}.import-progress-detail small{color:#65716f;max-width:46%;font-size:11px}.import-progress-terms{gap:6px;margin-top:8px;overflow:hidden}.import-progress-terms span{color:#52656f;background:#ffffff8f;border:1px solid #062f4f1a;border-radius:999px;flex:none;padding:3px 7px;font-size:10px;font-weight:700}.arrangement-progress-dock{right:calc(18px + env(safe-area-inset-right));bottom:calc(116px + env(safe-area-inset-bottom));z-index:61;color:#193933;-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);background:linear-gradient(135deg,#ffffffeb,#e8faf6bd),#ffffff8f;border:1px solid #ffffff94;border-radius:12px;width:min(390px,100vw - 36px);padding:12px;position:fixed;box-shadow:0 18px 52px #19181529,0 0 36px #0f766e29}.arrangement-progress-dock.generated{background:linear-gradient(135deg,#fffffff0,#e2ffeec7),#ffffff9e}.arrangement-progress-dock.failed{background:linear-gradient(135deg,#fffffff0,#ffede8c7),#ffffff9e}.arrangement-progress-topline{align-items:center;gap:9px;font-size:12px;display:flex}.arrangement-progress-topline span{color:#0f766e;background:#e8faf6b8;border:1px solid #0f766e2e;border-radius:999px;padding:3px 8px;font-weight:900}.arrangement-progress-dock.failed .arrangement-progress-topline span{color:#7a261d;background:#fff4f1e0;border-color:#7a261d2e}.arrangement-progress-topline strong{color:#193933;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.arrangement-progress-dock p{color:#45645f;margin:9px 0 0;font-size:12px;line-height:1.35}.arrangement-progress-log{color:#52656f;gap:4px;max-height:108px;margin:10px 0 0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.35;list-style:none;display:grid;overflow:auto}.confirm-dialog-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1918153d;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirm-dialog{box-sizing:border-box;color:#1c1a16;background:linear-gradient(135deg,#fffffff0,#f6f9f6db),#fff;border:1px solid #ffffff9e;border-radius:12px;width:min(520px,100%);padding:18px;box-shadow:0 28px 80px #19181538,inset 0 1px #ffffffd6}.confirm-dialog h2{margin:0;font-size:18px}.confirm-dialog p{color:#5d594f;margin:9px 0 0;font-size:13px;line-height:1.45}.confirm-dialog-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:18px;display:grid}.confirm-dialog-actions .ghost-button,.confirm-dialog-actions .danger-button{box-sizing:border-box;text-align:center;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:38px;padding:0 13px;display:inline-flex}.confirm-dialog-actions .danger-button{color:#7a261d;background:#fff4f1f0;border:1px solid #7a261d33;font-weight:800}.confirm-dialog-actions .danger-button:hover{background:#ffebe5fa;border-color:#7a261d52}.topbar{z-index:20;-webkit-backdrop-filter:blur(24px)saturate(1.25);backdrop-filter:blur(24px)saturate(1.25);background:#f6f9f794;border-bottom:1px solid #ffffff38;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:center;gap:10px;padding:8px 12px;display:grid;position:sticky;top:0;box-shadow:0 10px 36px #11100e14}.topbar-left,.topbar-actions{min-width:0}.topbar-left{justify-content:flex-end;justify-self:end;gap:8px;width:min(100%,616px)}.brand{gap:9px;min-width:0}.brand-logo{object-fit:contain;flex:none;width:28px;height:28px;display:block}.brand h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;line-height:1.1;overflow:hidden}.topbar-left-actions{flex-wrap:nowrap;flex:0 580px;justify-content:space-between;gap:clamp(6px,1.2vw,18px);min-width:0}.topbar-actions{flex-wrap:nowrap;justify-content:space-between;justify-self:start;gap:clamp(6px,1.2vw,18px);width:min(100%,620px)}.workspace,.score-workspace{min-height:calc(100vh - 45px);display:block}.score-workspace{padding-bottom:0}.score-workspace.keyboard-open{padding-bottom:166px}.score-workspace.keyboard-closed{padding-bottom:0}.library-page{min-height:100vh;padding:30px clamp(16px,5vw,64px)}.ghost-button,.listen-button,.start-button,.danger-button{color:#1b1915;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff75;border:1px solid #1e1d1921;border-radius:8px;justify-content:center;width:32px;height:32px;padding:0;position:relative;box-shadow:inset 0 1px #ffffffad}.file-trigger{overflow:hidden}.file-input-overlay{opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;inset:0}.ghost-button.active{color:#0f766e;background:#e8faf68a;border-color:#0f766e61}.ghost-button svg,.listen-button svg,.start-button svg,.danger-button svg,.panel-heading svg{width:15px;height:15px}.start-button{color:#f8fbff;background:linear-gradient(#31befffa,#007cdef0),#00aef2;border-color:#008eff61;flex:none;gap:7px;width:auto;min-width:104px;height:34px;padding:0 16px;font-size:12px;font-weight:950;box-shadow:inset 0 0 0 1px #ffffff57,0 0 24px #00aef27a,0 10px 28px #0063b938}.start-button.active{background:linear-gradient(#179d95fa,#0f766ef5),#0f766e;border-color:#0f766e6b;box-shadow:inset 0 0 0 1px #ffffff47,0 0 24px #0f766e61,0 10px 26px #0f766e33}.start-button:disabled{cursor:wait;opacity:.78}.listen-button{color:#faf7ed;background:#11100ee6;border-color:#11100ec7;gap:6px;width:auto;padding:0 10px;font-size:12px;font-weight:900}.listen-button.active{background:#0f766e;border-color:#0f766e;box-shadow:0 8px 22px #0f766e33}.listen-button:disabled{cursor:wait;opacity:.72}.topbar-page{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff6b;border:1px solid #1e1d191c;border-radius:8px;align-items:center;gap:2px;height:32px;padding:0 4px;display:flex}@keyframes sonira-spin{to{transform:rotate(360deg)}}.topbar-page button{color:#1b1915;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.topbar-page button:disabled{cursor:not-allowed;opacity:.34}.topbar-page svg{width:13px;height:13px}.topbar-page span{text-align:center;color:#4c4942;min-width:34px;font-size:12px}.practice-mode{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff6b;border:1px solid #1e1d191c;border-radius:8px;align-items:center;gap:2px;height:32px;padding:3px;display:flex}.practice-mode button{color:#4c4942;cursor:pointer;min-width:54px;height:24px;font:inherit;background:0 0;border:0;border-radius:6px;padding:0 7px;font-size:11px;font-weight:700}.practice-mode.hand-mode button{min-width:34px}.practice-mode button.active{color:#062f4f;background:linear-gradient(#e8faffeb,#c9eeffad),#ffffffb8;box-shadow:0 0 0 1px #008eff29,0 0 18px #00aef22e}.preview-controls{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff6b;border:1px solid #1e1d191c;border-radius:8px;align-items:center;gap:3px;height:32px;padding:3px;display:flex}.preview-label{color:#52656f;text-transform:uppercase;padding:0 5px 0 6px;font-size:10px;font-weight:900}.preview-controls button{color:#4c4942;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:26px;height:24px;transition:background-color .12s,color .12s,box-shadow .12s,transform 80ms;display:grid}.preview-controls button:not(:disabled):hover{color:#062f4f;background:#e8faffb8;box-shadow:0 0 0 1px #008eff24}.preview-controls button:not(:disabled):active,.preview-controls button.feedback{color:#f8fbff;background:#007cdee0;transform:translateY(1px)scale(.96);box-shadow:inset 0 0 0 1px #ffffff57,0 0 16px #008eff57}.preview-controls button:focus-visible{outline-offset:2px;outline:2px solid #008eff8c}.preview-controls button.preview-main{color:#062f4f;background:#e8faff8a;gap:5px;width:auto;min-width:88px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:0 0 0 1px #008eff14}.preview-controls button.preview-main.active{color:#f8fbff;background:#0f766e;box-shadow:0 0 18px #0f766e3d}.preview-controls button:disabled{cursor:not-allowed;opacity:.36}.preview-controls button.feedback{opacity:1}.preview-controls svg{width:14px;height:14px}.topbar-mic{grid-template-columns:minmax(116px,190px) 32px;align-items:center;gap:5px;display:grid}.topbar-mic select{color:#1b1915;width:100%;height:32px;font:inherit;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff80;border:1px solid #1e1d1921;border-radius:8px;padding:0 9px;font-size:12px}.topbar-mic button{color:#1b1915;cursor:pointer;background:#ffffff75;border:1px solid #1e1d1921;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.topbar-mic svg{width:14px;height:14px}.library-panel{width:min(100%,1280px)}.settings-panel{width:min(100%,980px)}.library-panel,.settings-panel{-webkit-backdrop-filter:blur(22px)saturate(1.2);backdrop-filter:blur(22px)saturate(1.2);background:linear-gradient(135deg,#ffffffc2,#eef6f37a),#ffffff75;border:1px solid #ffffff85;border-radius:16px;margin:0 auto;padding:28px;box-shadow:0 30px 80px #1918151f}.settings-panel{gap:14px;display:grid}.panel-heading{gap:9px;margin-bottom:20px}.panel-heading h2{font-size:20px}.drop-zone{cursor:pointer;color:#315f5a;background:#e8faf66b;border:1px dashed #0f766e6b;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:92px;font-size:14px;display:flex;position:relative}.drop-zone svg{width:18px;height:18px}.api-key-panel{background:#ffffff94;border:1px solid #0f766e29;border-radius:10px;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr);align-items:center;gap:14px;margin-bottom:16px;padding:12px;display:grid}.api-key-copy{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.api-key-copy svg{color:#0f766e;width:20px;height:20px}.api-key-copy strong,.api-key-copy span{overflow-wrap:anywhere;display:block}.api-key-copy strong{color:#1c1a16;font-size:13px}.api-key-copy span{color:#706b61;margin-top:2px;font-size:12px;line-height:1.35}.api-key-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.api-key-controls input{box-sizing:border-box;color:#1c1a16;min-width:0;height:38px;font:inherit;background:#ffffffd1;border:1px solid #1e1d1924;border-radius:8px;padding:0 11px;font-size:13px}.api-key-controls input:focus{border-color:#0f766e75;outline:3px solid #0f766e1f}.api-key-controls button{color:#0f766e;height:38px;font:inherit;cursor:pointer;background:#e8faf6b8;border:1px solid #0f766e3d;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.api-key-controls button:hover{background:#dbf7f1eb;border-color:#0f766e61}.api-key-controls button svg{width:16px;height:16px}.score-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.library-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;margin-top:18px;display:grid}.library-workspace.has-sidebar{grid-template-columns:minmax(360px,1fr) minmax(320px,360px)}.score-row{color:#1c1a16;background:#ffffff8f;border:1px solid #1e1d1914;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:4px;width:100%;padding:6px;display:grid;box-shadow:inset 0 1px #fffc}.score-row:hover{background:#ffffffd1;border-color:#0f766e47}.score-select{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:6px;display:grid}.score-select svg{width:18px;height:18px;margin-top:2px}.score-select span{min-width:0}.score-select strong,.score-select small{display:block}.score-select strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.score-select small{color:#706b61;margin-top:2px;font-size:12px}.score-select .score-cost-line{color:#3d6f69;margin-top:5px;font-size:11px;font-weight:800;display:block}.score-select em{color:#0f766e;margin-top:6px;font-size:11px;font-style:normal;display:inline-block}.score-type-badges{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.score-type-badges b{color:#0f766e;letter-spacing:0;background:#ffffffa8;border:1px solid #0f766e29;border-radius:999px;align-items:center;min-height:18px;padding:0 7px;font-size:10px;font-weight:900;display:inline-flex}.score-version-panel{grid-area:2/1/auto/-1;gap:8px;padding:4px 6px 6px 34px;display:grid}.score-version-options{flex-wrap:wrap;gap:5px;display:flex}.score-version-options button{color:#4c4942;cursor:pointer;max-width:100%;min-height:24px;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:#ffffff94;border:1px solid #1e1d191a;border-radius:999px;padding:0 9px;font-size:11px;font-weight:800;overflow:hidden}.score-version-options button.active{color:#062f4f;background:linear-gradient(#e8faffeb,#c9eeffad),#ffffffb8;border-color:#008eff33;box-shadow:0 0 18px #00aef229}.library-generate-controls{color:#0f766e;background:#e8faf69e;border:1px solid #0f766e3d;border-radius:8px;grid-template-columns:auto auto;justify-self:start;align-items:center;min-height:32px;display:inline-grid;overflow:hidden}.library-generation-tabs{align-items:center;gap:2px;height:100%;padding:3px;display:inline-flex}.library-generation-tabs button{color:#47716c;cursor:pointer;min-width:58px;height:24px;font:inherit;background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:11px;font-weight:900}.library-generation-tabs button.active{color:#062f4f;background:linear-gradient(#e8faffeb,#c9eeffad),#ffffffb8;box-shadow:0 0 0 1px #008eff29}.library-generate-submit{height:32px;color:inherit;cursor:pointer;font:inherit;background:#e8faf69e;border:0;border-left:1px solid #0f766e2e;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.library-generate-controls button:disabled{cursor:not-allowed;opacity:.42}.library-generate-controls.generating button:disabled{opacity:1}.library-generate-controls svg{width:14px;height:14px}.library-generate-controls.generating{color:#062f4f;background:#e8faffc7;border-color:#008eff47}.library-generate-controls.generating svg{animation:.9s linear infinite sonira-spin}.library-generate-controls.generated{background:#e2ffeed6;border-color:#0f766e57}.library-generate-controls.failed{color:#7a261d;background:#fff4f1db;border-color:#7a261d3d}.settings-section{background:#ffffff94;border:1px solid #0f766e29;border-radius:10px;grid-template-columns:minmax(220px,.85fr) minmax(280px,1.15fr);align-items:start;gap:14px;padding:12px;display:grid}.settings-tabs{background:#ffffff6b;border:1px solid #1e1d191c;border-radius:8px;gap:2px;width:fit-content;padding:3px;display:inline-flex}.settings-tabs button{color:#4c4942;cursor:pointer;min-width:108px;height:30px;font:inherit;background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:12px;font-weight:900}.settings-tabs button.active{color:#062f4f;background:linear-gradient(#e8faffeb,#c9eeffad),#ffffffb8;box-shadow:0 0 0 1px #008eff29,0 0 18px #00aef22e}.settings-section-copy{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}.settings-section-copy svg{color:#0f766e;width:20px;height:20px}.settings-section-copy strong,.settings-section-copy span{overflow-wrap:anywhere;display:block}.settings-section-copy strong{color:#1c1a16;font-size:13px}.settings-section-copy span{color:#706b61;margin-top:2px;font-size:12px;line-height:1.35}.settings-control-stack{gap:10px;display:grid}.settings-segmented{background:#ffffff6b;border:1px solid #1e1d191c;border-radius:8px;justify-self:start;gap:2px;padding:3px;display:inline-flex}.settings-segmented button{color:#4c4942;cursor:pointer;min-width:86px;height:28px;font:inherit;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:12px;font-weight:800}.settings-segmented button.active{color:#062f4f;background:linear-gradient(#e8faffeb,#c9eeffad),#ffffffb8;box-shadow:0 0 0 1px #008eff29,0 0 18px #00aef22e}.settings-field{gap:5px;min-width:0;display:grid}.settings-field span{color:#47716c;text-transform:uppercase;font-size:10px;font-weight:900}.settings-field input,.settings-field select{box-sizing:border-box;color:#1c1a16;min-width:0;height:38px;font:inherit;background:#ffffffd1;border:1px solid #1e1d1924;border-radius:8px;padding:0 11px;font-size:13px}.settings-field input:focus,.settings-field select:focus{border-color:#0f766e75;outline:3px solid #0f766e1f}.settings-usage-summary{background:#ffffffa3;border:1px solid #0f766e24;border-radius:9px;gap:5px;min-width:0;padding:11px;display:grid}.settings-usage-summary strong,.settings-usage-summary span{display:block}.settings-usage-summary strong{color:#0f766e;font-size:20px;line-height:1.05}.settings-usage-summary span{color:#4c4942;font-size:12px;font-weight:700}.settings-usage-summary div{flex-wrap:wrap;gap:5px;display:flex}.settings-usage-summary small{color:#47716c;border:1px solid #0f766e24;border-radius:999px;align-items:center;min-height:20px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex}.settings-save-button{color:#0f766e;cursor:pointer;height:38px;font:inherit;background:#e8faf6b8;border:1px solid #0f766e3d;border-radius:8px;justify-content:center;justify-self:end;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.settings-save-button:hover{background:#dbf7f1eb;border-color:#0f766e61}.settings-save-button svg{width:16px;height:16px}.settings-instructions{gap:14px;display:grid}.instructions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.instruction-card{background:#ffffff94;border:1px solid #0f766e29;border-radius:10px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.instruction-card svg{color:#0f766e;width:20px;height:20px}.instruction-card strong,.instruction-card span{display:block}.instruction-card strong{color:#1c1a16;font-size:13px}.instruction-card span{color:#706b61;margin-top:3px;font-size:12px;line-height:1.38}.library-instructions{background:#ffffffa3;border:1px solid #0f766e29;border-radius:10px;padding:13px 14px}.library-instructions strong{color:#1c1a16;font-size:13px;display:block}.library-instructions ol{color:#4c4942;margin:9px 0 0;padding-left:20px;font-size:12px;line-height:1.55}.library-instructions li+li{margin-top:4px}.score-row.selected{background:#e8faf6ad;border-color:#0f766e6b;box-shadow:0 14px 34px #0f766e1f}.score-actions{grid-area:1/2;align-self:start;gap:4px;display:grid}.score-play{color:#0063b9;cursor:pointer;min-width:72px;height:30px;font:inherit;opacity:.88;background:linear-gradient(#31beff2e,#007cde1f),#e8f8ffb8;border:1px solid #00aef242;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.score-play:hover{opacity:1;background:linear-gradient(#31beff47,#007cde2e),#d2f0ffe0;border-color:#00aef270}.score-settings-btn{color:#006fc7;cursor:pointer;opacity:.78;background:#e8faff85;border:1px solid #008eff29;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.score-settings-btn:hover{opacity:1;background:#c9eeffb8;border-color:#008eff52}.score-settings-btn svg,.score-play svg{width:14px;height:14px}.arrange-sheet-backdrop{align-self:start;min-width:0;display:block;position:sticky;top:18px}.arrange-sheet{box-sizing:border-box;color:#1c1a16;background:linear-gradient(135deg,#fffffff5,#f6f9f6e0),#fff;border:1px solid #ffffff9e;border-radius:12px;gap:16px;width:100%;max-height:calc(100vh - 60px);padding:18px;display:grid;overflow:auto;box-shadow:0 28px 80px #19181538,inset 0 1px #ffffffd6}.arrange-sheet-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.arrange-sheet-heading p,.arrange-sheet-heading h3,.arrange-sheet-heading span{margin:0}.arrange-sheet-heading p,.arrange-sheet-details span,.arrange-sheet-section>strong{color:#3f6762;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:900}.arrange-sheet-heading h3{text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.2;overflow:hidden}.arrange-sheet-heading span{color:#706b61;margin-top:3px;font-size:13px;display:block}.arrange-sheet-heading button{color:#4c4942;cursor:pointer;background:#ffffffad;border:1px solid #1e1d191a;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.arrange-sheet-heading button svg{width:16px;height:16px}.arrange-sheet-details{grid-template-columns:1fr;gap:8px;display:grid}.arrange-sheet-details div{background:#ffffff94;border:1px solid #0f766e1f;border-radius:8px;min-width:0;padding:10px}.arrange-sheet-details strong{color:#1c1a16;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:800;display:block;overflow:hidden}.arrange-sheet-section{gap:8px;display:grid}.arrange-version-list{gap:6px;display:grid}.arrange-version-list button{color:#1c1a16;cursor:pointer;text-align:left;background:#ffffff94;border:1px solid #1e1d191a;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:grid}.arrange-version-list button.active{background:#e8faffdb;border-color:#008eff33}.arrange-version-list b,.arrange-version-list small{display:block}.arrange-version-list b{font-size:13px}.arrange-version-list small,.arrange-version-list em{color:#706b61;font-size:11px;font-style:normal}.library-generation-tabs.large{background:#ffffff75;border:1px solid #1e1d191a;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:stretch;height:auto;display:grid}.library-generation-tabs.large button{gap:1px;width:100%;min-width:0;display:grid}.library-generation-tabs.large small{color:#3d6f69;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;overflow:hidden}.arrange-generate-button{color:#0f766e;cursor:pointer;min-height:40px;font:inherit;background:#e8faf6c7;border:1px solid #0f766e3d;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.arrange-generate-button.generating svg{animation:.9s linear infinite sonira-spin}.arrange-generate-button:disabled{cursor:not-allowed;opacity:.5}.score-row.editing{grid-template-columns:1fr}.arrange-rename-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.arrange-rename-form input{box-sizing:border-box;color:#1c1a16;min-width:0;height:36px;font:inherit;background:#ffffffd1;border:1px solid #1e1d1924;border-radius:8px;padding:0 11px;font-size:13px;font-weight:700}.arrange-rename-form input:focus{border-color:#008eff61;outline:3px solid #00aef21f}.arrange-rename-form button{color:#006fc7;height:36px;font:inherit;cursor:pointer;white-space:nowrap;background:#e8faffb8;border:1px solid #008eff3d;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.arrange-rename-form button:disabled{opacity:.38;cursor:not-allowed}.arrange-rename-form button svg{width:14px;height:14px}.arrange-sheet-danger{border-top:1px solid #7a261d1a;padding-top:4px}.arrange-delete-trigger{color:#7a261d;height:34px;font:inherit;cursor:pointer;background:#fff4f19e;border:1px solid #7a261d2e;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.arrange-delete-trigger:hover{background:#ffe8e2e0;border-color:#7a261d52}.arrange-delete-trigger svg{width:14px;height:14px}.arrange-delete-confirm p{color:#1c1a16;margin:0 0 10px;font-size:13px}.arrange-delete-actions{align-items:center;gap:8px;display:flex}.arrange-cancel-delete{justify-content:center;align-items:center;height:34px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.arrange-confirm-delete{color:#fff;height:34px;font:inherit;cursor:pointer;background:#dc3c30eb;border:1px solid #7a261d47;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.arrange-confirm-delete svg{width:14px;height:14px}.score-edit{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:6px;display:grid}.score-edit>svg{color:#0f766e;width:18px;height:18px}.score-edit label,.score-edit input{min-width:0}.score-edit input{box-sizing:border-box;color:#1c1a16;width:100%;height:32px;font:inherit;background:#ffffffdb;border:1px solid #0f766e42;border-radius:8px;padding:0 10px;font-size:13px;font-weight:800}.score-edit input:focus{outline:3px solid #0f766e1f}.score-edit-actions{gap:4px;display:flex}.display-panel{box-sizing:border-box;background:radial-gradient(circle at 16% 12%,#0f766e24,#0000 32%),radial-gradient(circle at 78% 0,#ffffffd1,#0000 30%),linear-gradient(135deg,#edf0ea 0%,#e4ebe8 45%,#f7f4eb 100%);align-items:stretch;min-width:0;min-height:calc(100vh - 45px);padding:8px clamp(8px,1.4vw,18px) 12px;display:flex}.score-stage{-webkit-backdrop-filter:blur(20px)saturate(1.12);backdrop-filter:blur(20px)saturate(1.12);background:linear-gradient(135deg,#ffffff85,#edf8f540),#ffffff47;border:1px solid #ffffff80;border-radius:14px;place-items:start center;width:min(100%,1440px);min-height:calc(100vh - 72px);margin:0 auto;padding:clamp(6px,1.2vw,14px);display:grid;overflow:auto;box-shadow:0 18px 54px #1f231f1f}.score-workspace.keyboard-open .display-panel{min-height:calc(100vh - 211px)}.score-workspace.keyboard-open .score-stage{min-height:calc(100vh - 238px)}.empty-score{text-align:center;color:#1b1915;place-items:center;gap:10px;min-height:420px;padding:32px;display:grid}.empty-score svg{width:42px;height:42px}.empty-score h2,.empty-score p{margin:0}.imported-source-score{background:#f8f5ed;border:1px solid #1918151a;border-radius:5px;flex-direction:column;align-self:stretch;width:100%;min-height:max(560px,100%);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffeb,0 24px 70px #1918151f}.imported-rebuilt-score{flex-direction:column;align-self:stretch;width:min(100%,1220px);min-height:max(560px,100%);display:flex;position:relative}.imported-rebuilt-score .sonira-score{flex:auto;width:100%}.musicxml-score{background:#fffef9;border:1px solid #19181514;border-radius:5px;align-self:stretch;width:min(100%,1220px);min-height:max(560px,100%);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 24px 70px #1918151f}.musicxml-score-title{z-index:5;color:#191815;text-align:center;padding:18px 32px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,3vw,44px);font-weight:600;line-height:1.1;position:relative}.midi-performance-score{background:linear-gradient(135deg,#fffef9f5,#e8f6f4e0),#fffef9;border:1px solid #19181514;border-radius:5px;align-self:stretch;width:min(100%,1220px);min-height:max(560px,100%);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 24px 70px #1918151f}.midi-performance-header{color:#191815;align-items:center;gap:14px;padding:26px clamp(24px,4vw,48px) 12px;display:flex}.midi-performance-header svg{color:#147f7b;width:30px;height:30px}.midi-performance-header h2,.midi-performance-header p{margin:0}.midi-performance-header h2{font-size:clamp(24px,2.4vw,36px);line-height:1.12}.midi-performance-header p{color:#716b61;margin-top:5px;font-size:13px;font-weight:700}.midi-performance-lane{background:linear-gradient(#ffffffb3,#eef6f4c7),repeating-linear-gradient(90deg,#1918150d 0 1px,#0000 1px 36px);border:1px solid #19181514;border-radius:5px;align-items:end;gap:3px;height:clamp(260px,42vh,430px);margin:18px clamp(24px,4vw,48px) 72px;padding:28px 18px;display:flex;position:relative;overflow:hidden}.midi-performance-lane span{opacity:.62;background:linear-gradient(#147f7bd1,#1d2b34c7);border-radius:4px 4px 0 0;flex:1 1 0;min-width:1px;min-height:14px;transition:opacity .14s,transform .14s,background .14s;display:block}.midi-performance-lane span.active{opacity:1;background:linear-gradient(#00aef2,#147f7b);transform:scaleY(1.04);box-shadow:0 0 24px #00aef257}.midi-performance-playhead{pointer-events:none;background:#00a8f5f0;border-radius:999px;width:3px;position:absolute;top:18px;bottom:18px;transform:translate(-50%);box-shadow:0 0 20px #00a8f561}.midi-active-notes{bottom:54px}.musicxml-canvas{z-index:4;box-sizing:border-box;min-height:520px;padding:clamp(12px,1.5vw,22px) clamp(20px,2.5vw,36px) clamp(20px,2.5vw,36px);position:relative;overflow:auto}.musicxml-canvas.seekable{cursor:pointer}.musicxml-canvas svg{width:100%;height:auto;display:block}.musicxml-beat-playhead{z-index:6;mix-blend-mode:screen;pointer-events:none;background:#00a8f5f5;border-radius:999px;width:17px;position:absolute;transform:translate(-50%)}.musicxml-beat-playhead.draggable{pointer-events:auto;cursor:grab}.musicxml-beat-playhead.draggable:before{content:"";position:absolute;inset:0 -11px}.musicxml-beat-playhead.dragging{cursor:grabbing}.musicxml-beat-playhead.pending{mix-blend-mode:multiply;background:#68747c4d}.musicxml-canvas .vf-notehead.sonira-note-hit{transform-box:fill-box;transform-origin:50%;animation:.34s cubic-bezier(.34,1.56,.64,1) both sonira-note-hit}.musicxml-canvas .vf-notehead.sonira-note-hit,.musicxml-canvas .vf-notehead.sonira-note-hit *{fill:#009ff0!important;stroke:#009ff0!important}@keyframes sonira-note-hit{0%{transform:scale(1)}55%{transform:scale(1.7)}to{transform:scale(1.32)}}.musicxml-render-error{z-index:7;color:#7a261d;background:#fff4f1f0;border:1px solid #7a261d3d;border-radius:8px;padding:10px 12px;font-size:12px;position:absolute;bottom:56px;left:18px;right:18px}.rebuilt-active-notes{z-index:8;color:#073554;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#ebfbffe6;border:1px solid #00aef247;border-radius:8px;max-width:min(420px,100% - 44px);padding:7px 10px;font-size:12px;font-weight:800;position:absolute;bottom:54px;right:clamp(22px,3vw,42px);overflow:hidden;box-shadow:0 12px 38px #0066ff24}.source-page{background:#fff;flex:auto;min-height:0;position:relative;overflow:hidden}.played-row-region{z-index:2;transform-origin:0;pointer-events:none;mix-blend-mode:multiply;will-change:top, height, transform;background:linear-gradient(90deg,#464c4e29,#7a81821a),repeating-linear-gradient(135deg,#2630330d 0 1px,#0000 1px 12px);width:100%;position:absolute;left:0}.source-played-row-region{z-index:3;-webkit-backdrop-filter:grayscale()contrast(.92);backdrop-filter:grayscale()contrast(.92)}.musicxml-score .played-row-region{z-index:1;mix-blend-mode:normal;background:linear-gradient(90deg,#00aef21f,#00aef20a)}.source-image,.source-pdf{object-fit:contain;background:#fff;border:0;width:100%;height:100%;min-height:100%}.source-pdf{display:block}.extraction-strip{color:#4f4a42;background:#ffffffe0;border-top:1px solid #1918151c;grid-template-columns:auto max-content minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:7px 12px;font-size:12px;display:grid}.extraction-strip svg{width:15px;height:15px}.extraction-strip span:last-child{color:#716b61;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.extraction-strip.error{color:#7a261d;background:#fff4f1f0}.sonira-score{box-sizing:border-box;background:linear-gradient(90deg,#0f766e0d,#0000 16%),#fffef9;border:1px solid #19181514;border-radius:5px;align-self:stretch;width:min(100%,1220px);min-height:max(560px,100%);padding:clamp(22px,3vw,42px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 24px 70px #1918151f}.sonira-page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:38px;display:flex}.sonira-page-header>span{color:#5c574e;background:#ffffff94;border:1px solid #19181524;border-radius:8px;flex:none;padding:6px 10px;font-size:12px}.score-title{letter-spacing:0;font-family:Georgia,serif;font-size:clamp(32px,4vw,46px)}.score-subtitle{color:#68645c;margin-top:6px;font-size:15px}.notation-canvas{width:100%;position:relative;overflow:visible}.notation-canvas svg{width:100%;height:auto;display:block;overflow:visible}.notation-anchors{pointer-events:none;position:absolute;inset:0}.notation-anchor{opacity:0;width:1px;height:1px;position:absolute}.notation-canvas .sonira-note-hit,.notation-canvas .sonira-note-hit *{fill:#00aef2;stroke:#00aef2;transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 7px #e8faff)drop-shadow(0 0 20px #00aef2f5)drop-shadow(0 0 48px #0066ff94);animation:.72s ease-out note-glow-pop}.notation-canvas .sonira-note-expected{filter:drop-shadow(0 0 4px #1918152e)}.source-follow-line{position:absolute;bottom:38px;left:0;right:0}.source-note-pop{z-index:5;pointer-events:none;width:0;height:0;position:absolute}.source-note-pop:before{content:"";background:radial-gradient(circle,#00aef23d,#00aef214 48%,#0000 72%);border:1px solid #00aef2b8;border-radius:999px;width:46px;height:46px;animation:.76s ease-out source-note-pulse;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 18px #00aef285,0 0 42px #06f3}.source-note-pop span{background:#00aef2;border:1px solid #ffffffeb;border-radius:999px;width:11px;height:11px;animation:.76s ease-out source-note-dot-pop;position:absolute;box-shadow:0 0 0 3px #00aef22e,0 0 24px #00aef2d6}@keyframes note-glow-pop{0%{filter:drop-shadow(0 0 2px #dafff6cc)drop-shadow(0 0 8px #00aef280);transform:scale(.92)}45%{filter:drop-shadow(0 0 10px #dafff6)drop-shadow(0 0 28px #00aef2)drop-shadow(0 0 58px #0066ffc7);transform:scale(1.09)}to{transform:scale(1)}}@keyframes source-note-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}34%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}to{opacity:.76;transform:translate(-50%,-50%)scale(1)}}@keyframes source-note-dot-pop{0%{opacity:0}24%{opacity:1}}.transcription-state h2{margin:0;font-size:20px}.transcription-state p{color:#706b61;max-width:440px;margin:0;font-size:14px;line-height:1.45}.transcription-orbit{background:linear-gradient(135deg,#ffffffdb,#e2f7ff85),#ffffffa3;border:1px solid #0f766e2e;border-radius:50%;place-items:center;width:74px;height:74px;display:grid;position:relative;box-shadow:0 18px 54px #0f766e24}.transcription-state.failed .transcription-orbit{border-color:#be463233;box-shadow:0 18px 54px #be46321f}.transcription-orbit svg{color:#0f766e;width:32px;height:32px}.transcription-state.failed .transcription-orbit svg{color:#b54b3a}.transcription-orbit span{background:#0f766e;border-radius:50%;width:7px;height:7px;animation:1.7s ease-in-out infinite transcription-pulse;position:absolute}.transcription-orbit span:first-of-type{top:12px;right:17px}.transcription-orbit span:nth-of-type(2){animation-delay:.16s;bottom:22px;right:10px}.transcription-orbit span:nth-of-type(3){animation-delay:.32s;bottom:13px;left:18px}.transcription-state.failed .transcription-orbit span{background:#b54b3a;animation:none}.transcription-terms{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.transcription-terms span{color:#0f766e;letter-spacing:0;background:#ffffffa3;border:1px solid #0f766e24;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}@keyframes transcription-pulse{0%,to{opacity:.36;transform:scale(.8)}50%{opacity:1;transform:scale(1.16)}}.keyboard-guide{z-index:25;transition:transform .26s,opacity .18s;position:fixed;bottom:8px;left:clamp(10px,2vw,28px);right:clamp(10px,2vw,28px)}.keyboard-guide.closed{opacity:.88;transform:translateY(calc(100% + 8px))}.keyboard-guide.closed .keyboard-guide-tab{transform:translate(-50%)}.keyboard-guide-tab{color:#36342f;cursor:pointer;-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:linear-gradient(#fafeffd6,#e2f7ff85),#ffffff6b;border:1px solid #1918151f;border-bottom:0;border-radius:12px 12px 0 0;place-items:center;width:56px;height:26px;display:grid;position:absolute;top:-26px;left:50%;transform:translate(-50%);box-shadow:0 -8px 28px #24a7ff24}.keyboard-guide-tab svg{width:15px;height:15px}.keyboard-guide-inner{-webkit-backdrop-filter:blur(28px)saturate(1.38);backdrop-filter:blur(28px)saturate(1.38);background:linear-gradient(135deg,#ffffffc2,#d8f4ff7a 44%,#f1fcff52),#ffffff57;border:1px solid #ffffff7a;border-radius:16px 16px 8px 8px;grid-template-columns:124px minmax(0,1fr);align-items:end;gap:12px;padding:12px 16px 14px;display:grid;box-shadow:0 -20px 70px #2997ff2e,0 14px 46px #19181524,inset 0 1px #ffffffd6}.keyboard-guide-copy{gap:3px;padding-bottom:6px;display:grid}.keyboard-guide-copy span{color:#6e736d;text-transform:uppercase;font-size:10px}.keyboard-guide-copy strong{color:#062f4f;text-shadow:0 0 22px #00aef24d;font-size:24px;line-height:1}.keyboard-mockup{background:linear-gradient(90deg,#00aef233,#0000 12% 88%,#00aef229),#ffffff5c;border-radius:10px;min-width:0;height:98px;padding:0 2px;position:relative;box-shadow:0 0 0 1px #ffffff7a,0 0 36px #00aef238}.white-keys{grid-template-columns:repeat(52,minmax(0,1fr));gap:1px;height:98px;display:grid}.white-key{background:linear-gradient(#fffffff0,#effcffc7),#fffc;border:1px solid #1918151f;border-radius:0 0 5px 5px;align-content:end;justify-items:center;gap:2px;min-width:0;padding:0 1px 8px;display:grid;position:relative;box-shadow:inset 0 -9px 14px #0061910d,inset 0 1px #ffffffe0}.white-key span{color:#073554;min-height:12px;font-size:12px;font-weight:800}.white-key small{color:#58717d;min-height:10px;font-size:8px;font-weight:700}.white-key.expected{z-index:2;border-color:#008effe6;box-shadow:0 0 0 2px #008eff57,0 0 26px #00aef270,inset 0 0 0 1px #ffffffb8,inset 0 -9px 14px #0061910d}.white-key.matched{z-index:3;color:#fff;background:linear-gradient(#65dcff,#008be8),#00aef2;border-color:#40cfff;animation:.72s ease-out key-glow-pop;box-shadow:0 0 0 4px #00aef238,0 0 34px #00aef2d1,0 0 70px #4ed2ff94,inset 0 1px #ffffff52}.white-key.matched small{color:#ffffffd1}.white-key.wrong{z-index:3;color:#4f3a02;background:linear-gradient(#ffe88f,#f4b81d),#f6c426;border-color:#f4c52a;animation:.72s ease-out wrong-key-pop;box-shadow:0 0 0 4px #f4c52a42,0 0 30px #f4c52ac7,0 0 62px #ffdc6e80,inset 0 1px #fff6}.white-key.wrong small{color:#4f3a02c7}.black-keys{pointer-events:none;position:absolute;inset:0}.black-key{z-index:4;background:linear-gradient(#0e1115,#262c34 55%,#0f1114);border-radius:0 0 4px 4px;width:1.45%;height:58px;position:absolute;top:0;transform:translate(-50%);box-shadow:0 8px 14px #11100e47,inset 0 1px #ffffff14}.black-key.expected{background:linear-gradient(#123755,#0c79bd);box-shadow:0 0 0 2px #4cc7ff57,0 0 28px #00aef29e,inset 0 1px #ffffff38}.black-key.matched{background:linear-gradient(#57d7ff,#007cd4);animation:.72s ease-out key-glow-pop;box-shadow:0 0 0 4px #00aef233,0 0 38px #00aef2e6,0 0 76px #4ed2ff9e,inset 0 1px #ffffff5c}.black-key.wrong{background:linear-gradient(#ffd968,#d99a08);animation:.72s ease-out wrong-key-pop;box-shadow:0 0 0 4px #f4c52a3d,0 0 34px #f4c52ad9,0 0 68px #ffdc6e8c,inset 0 1px #ffffff57}@keyframes wrong-key-pop{0%{box-shadow:0 0 #f4c52a00,0 0 10px #f4c52a57}45%{box-shadow:0 0 0 7px #f4c52a38,0 0 48px #f4c52af2}}@keyframes key-glow-pop{0%{box-shadow:0 0 #00aef200,0 0 10px #00aef257}45%{box-shadow:0 0 0 7px #00aef233,0 0 48px #00aef2f2}}.page-follow-line{z-index:5;background:#e8e1d49e;border:1px solid #c8c0b2c7;border-radius:999px;height:5px;position:absolute;bottom:30px;left:clamp(38px,5vw,72px);right:clamp(38px,5vw,72px);overflow:hidden}.page-follow-line span{transform-origin:0;will-change:transform;background:#0f766e;width:100%;height:100%;transition:transform 80ms linear;display:block;box-shadow:0 0 18px #0f766e61}@media (width<=1100px){.topbar{flex-direction:column;align-items:flex-start;display:flex}.topbar-left,.topbar-left-actions,.topbar-actions{justify-content:flex-start;width:100%}.topbar-left-actions,.topbar-actions{flex-wrap:wrap}.start-button{align-self:flex-start}.adapted-score{grid-template-columns:1fr;height:auto}.source-reference{min-height:240px}.library-workspace.has-sidebar{grid-template-columns:1fr}.arrange-sheet-backdrop{position:static}}@media (width<=760px){.topbar-mic{grid-template-columns:minmax(0,1fr) 32px;width:100%}.display-panel{padding:14px}.score-stage{min-height:560px;padding:6px}.sonira-score{min-height:620px;padding:22px 18px 46px}.library-page{padding:20px 14px}.library-panel{padding:18px}.api-key-panel,.api-key-controls,.settings-section,.instructions-grid{grid-template-columns:1fr}}
