.scale-display{width:min(100%,560px);margin-top:6px;padding:16px 16px 14px;border:1px solid var(--app-border);border-radius:24px;background:radial-gradient(120% 120% at 8% 0%,#f3ba622e,#f3ba6200 55%),radial-gradient(110% 130% at 100% 100%,#7ec7dc29,#7ec7dc00 58%),linear-gradient(160deg,#ffffff0f,#ffffff08),var(--app-panel);box-shadow:var(--app-shadow-md);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:relative}.scale-display:before{content:"";position:absolute;left:16px;right:16px;top:46px;height:1px;background:linear-gradient(to right,#fff0,#e6edf247,#fff0)}.scale-display-header{display:flex;align-items:flex-start;justify-content:flex-start;gap:12px;margin-bottom:14px}.scale-display-title-wrap,.scale-display-title{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;caret-color:transparent}.scale-display-title{margin:0;font-family:Avenir Next,Segoe UI,sans-serif;font-size:24px;font-weight:700;line-height:1.1;background:linear-gradient(135deg,var(--app-accent-warm) 0%,var(--app-text) 60%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.scale-display-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.scale-degree-card{min-width:0;padding:9px 6px 10px;border-radius:16px;border:1px solid rgba(230,237,242,.12);background:linear-gradient(180deg,#ffffff14,#ffffff08);text-align:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 8px 18px #00000029}.scale-degree-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #00000042,0 0 0 1px #f3ba622e;border-color:#f3ba6238}.scale-degree-index{margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:10px;font-weight:700;color:var(--app-text-soft)}.scale-degree-chord{margin:2px 0 0;line-height:1.15;white-space:nowrap}.scale-degree-note{font-family:Avenir Next,Segoe UI,sans-serif;font-size:28px;font-weight:700;color:var(--app-text)}.scale-degree-symbol{font-family:Trebuchet MS,Segoe UI,sans-serif;margin-left:1px;font-size:15px;font-weight:700;color:var(--app-text-muted)}.scale-degree-roman{margin:2px 0 0;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,monospace;font-size:14px;font-weight:700;letter-spacing:.03em;color:#d6e4ecdb}html[data-theme=light] .scale-display{background:radial-gradient(120% 120% at 8% 0%,#f3ba622e,#f3ba6200 52%),radial-gradient(110% 130% at 100% 100%,#7ec7dc24,#7ec7dc00 56%),linear-gradient(180deg,#fffffffc,#f5f9fcf5),var(--app-panel);border-color:#2c4c6d24;box-shadow:0 18px 36px #46648224,0 0 0 1px #ffffffd1,inset 0 1px #fffffff0}html[data-theme=light] .scale-display:before{background:linear-gradient(to right,#fff0,#2c4c6d29,#fff0)}html[data-theme=light] .scale-display-title{background:linear-gradient(135deg,#a26a16 0%,var(--app-text) 56%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html[data-theme=light] .scale-degree-card{border-color:#2c4c6d1a;background:linear-gradient(180deg,#fffffffa,#f4f8fbf2);box-shadow:0 10px 20px #4664821a,inset 0 1px #fffffff2}html[data-theme=light] .scale-degree-note{color:var(--app-text)}html[data-theme=light] .scale-degree-symbol{color:#162736a8}html[data-theme=light] .scale-degree-roman,html[data-theme=light] .scale-degree-index{color:#16273675}@media (max-width: 900px){.scale-display{width:100%;max-width:100%}.scale-display-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(66px,1fr));padding-bottom:4px}.scale-display-grid::-webkit-scrollbar{height:5px}.scale-display-grid::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:999px}}.fretboard-dock{position:fixed;left:22px;bottom:22px;z-index:1100;display:inline-flex;flex-direction:column;gap:8px;max-width:min(720px,calc(100vw - 44px))}.dock-tabs{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid rgba(150,200,230,.18);background:#090f14b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #00000059;cursor:default;-webkit-user-select:none;user-select:none}.dock-label{font-size:12.5px;color:var(--app-text-muted, #9fb2c0)}.dock-count{min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#f3ba622e;color:var(--app-accent-text, #f3ba62);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.dock-examples{border:1px solid rgba(243,186,98,.45);background:#f3ba621f;color:var(--app-accent-text, #f3ba62);border-radius:999px;padding:2px 10px;font-size:12px;cursor:pointer}.dock-examples:hover{background:#f3ba6238}.dock-content{display:flex;flex-wrap:wrap;gap:12px;padding:14px;width:fit-content;max-width:min(92vw,1020px);max-height:min(56vh,560px);overflow-y:auto;border-radius:var(--app-radius-xl, 18px);background:#090f14d1;border:1px solid rgba(150,200,230,.14);box-shadow:0 14px 30px #0006,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(10px) saturate(105%);backdrop-filter:blur(10px) saturate(105%);animation:dockIn .24s cubic-bezier(.2,.8,.2,1)}@keyframes dockIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.dock-content::-webkit-scrollbar{width:6px}.dock-content::-webkit-scrollbar-thumb{background:#e6edf233;border-radius:999px}.dock-clear{align-self:flex-end;border:none;background:transparent;color:var(--app-text-muted, #9fb2c0);opacity:.7;border-radius:8px;padding:3px 10px;font-size:12px;cursor:pointer}.dock-clear:hover{opacity:1;color:#ff7b72}.toast{position:fixed;bottom:20px;right:20px;min-width:200px;max-width:400px;padding:14px 18px;border-radius:18px;border:1px solid var(--app-border);box-shadow:var(--app-shadow-md);z-index:10000;animation:slideIn .28s cubic-bezier(.22,1,.36,1);font-size:14px;line-height:1.5;word-wrap:break-word;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toast.exiting{animation:slideOut .22s cubic-bezier(.55,0,1,.45) forwards}.toast-content{color:var(--app-text);text-align:left;font-weight:600}.toast.info{background:linear-gradient(180deg,#f3ba6229,#ffffff0a),var(--app-panel-strong);border-color:#f3ba6242;border-left:3px solid rgba(243,186,98,.7)}.toast.success{background:linear-gradient(180deg,#88d39f29,#ffffff0a),var(--app-panel-strong);border-color:#88d39f47;border-left:3px solid rgba(136,211,159,.72)}.toast.error{background:linear-gradient(180deg,#f08a8429,#ffffff0a),var(--app-panel-strong);border-color:#f08a8447;border-left:3px solid rgba(240,138,132,.72)}.toast.warning{background:linear-gradient(180deg,#f3ba6229,#ffffff0a),var(--app-panel-strong);border-color:#f3ba624d;border-left:3px solid rgba(243,186,98,.72)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (max-width: 768px){.toast{bottom:10px;right:10px;left:10px;max-width:none;min-width:auto}}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04080aad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:loginFadeIn .18s ease-out}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}.login-modal{width:min(340px,calc(100vw - 48px));background:var(--app-panel-strong, #141c24);border:1px solid var(--app-border-strong, rgba(230, 237, 242, .16));border-radius:16px;box-shadow:0 28px 80px #00000073;padding:22px 22px 16px;display:flex;flex-direction:column;color:var(--app-text, #e8eef4)}.login-modal h2{margin:0 0 16px;font-size:17px;font-weight:600;text-align:center;letter-spacing:.5px}.login-form{display:flex;flex-direction:column;gap:12px}.login-form label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--app-text-muted, #9fb2c0)}.login-form input{border-radius:9px;border:1px solid var(--app-border-strong, rgba(230, 237, 242, .22));background:var(--app-input-bg, rgba(255, 255, 255, .045));color:inherit;padding:9px 11px;font-size:14px;transition:border-color .15s,background .15s}.login-form input:focus{outline:none;border-color:var(--app-accent, #3d8bff);background:var(--app-input-bg-focus, rgba(255, 255, 255, .07))}.login-error{color:#ff8a80;font-size:12.5px;line-height:1.4}.login-form .btn-primary{margin-top:2px;border:none;border-radius:9px;padding:10px 0;font-size:14px;font-weight:600;cursor:pointer;background:var(--app-accent, #3d8bff);color:#fff;transition:filter .15s}.login-form .btn-primary:hover:not(:disabled){filter:brightness(1.12)}.login-form .btn-primary:disabled{opacity:.55;cursor:default}.login-alt{margin-top:14px;padding-top:12px;border-top:1px solid var(--app-border, rgba(230, 237, 242, .1));text-align:center}.login-alt .btn-ghost{border:none;background:transparent;color:var(--app-text-muted, #9fb2c0);cursor:pointer;font-size:12.5px;padding:4px 8px}.login-alt .btn-ghost:hover{color:var(--app-text, #e8eef4)}.login-note{margin:10px 0 0;font-size:11px;color:var(--app-text-dim, #7d93a3);line-height:1.55;text-align:center}.merge-ask-text{font-size:13.5px;line-height:1.7;color:var(--app-text, #e8eef4);margin:0 0 16px}.merge-ask-text b{color:var(--app-accent-text, #6fb0ff)}.merge-ask-btns{display:flex;flex-direction:column;gap:8px}.merge-ask-no{border:1px solid var(--app-border-strong, rgba(230,237,242,.22));background:transparent;color:var(--app-text-muted, #9fb2c0);border-radius:9px;padding:9px 0;font-size:13px;cursor:pointer}.merge-ask-no:hover{color:var(--app-text, #e8eef4);border-color:var(--app-accent, #3d8bff)}:root{--app-bg: #080e12;--app-bg-secondary: #0e1820;--app-panel: rgba(13, 21, 28, .92);--app-panel-strong: rgba(16, 27, 35, .97);--app-panel-soft: var(--app-sheen);--app-input-bg: var(--app-sheen);--app-input-bg-focus: rgba(255, 255, 255, .09);--app-border: rgba(150, 200, 230, .13);--app-border-strong: rgba(180, 218, 232, .28);--app-text: #e8eff4;--app-text-muted: rgba(232, 239, 244, .74);--app-text-soft: rgba(232, 239, 244, .5);--app-accent: #f3ba62;--app-accent-strong: #de9d42;--app-accent-warm: #f7cf8d;--app-accent-text: #ffe1ac;--app-success: #88d39f;--app-danger: #f08a84;--app-warning: #f3ba62;--app-control-thumb-bg: #ffffff;--app-control-thumb-border: #e4a54b;--app-control-thumb-border-hover: #f3c67d;--app-shadow-lg: 0 28px 64px rgba(0, 0, 0, .46), 0 0 0 1px rgba(0, 0, 0, .2);--app-shadow-md: 0 16px 36px rgba(0, 0, 0, .34), 0 0 0 1px rgba(0, 0, 0, .12);--app-radius-xl: 24px;--app-radius-lg: 18px;--app-radius-md: 14px;--app-radius-sm: 10px;--app-radius-xs: 8px;--app-radius-pill: 999px;--app-line: var(--app-border);--app-line-soft: rgba(150, 200, 230, .08);--app-line-strong: var(--app-border-strong);--app-line-lighter: rgba(150, 200, 230, .06);--app-sheen: rgba(255, 255, 255, .05);--app-accent-09: rgba(243, 186, 98, .09);--app-accent-12: rgba(243, 186, 98, .12);--app-accent-45: rgba(243, 186, 98, .45);--app-fs-2xs: 10px;--app-fs-xs: 11px;--app-fs-sm: 12px;--app-fs-md: 13px;--app-fs-lg: 14px;--background-color: var(--app-bg);--text-color: var(--app-text-muted);color-scheme:dark}html[data-theme=light]{--app-bg: #e8eef6;--app-bg-secondary: #dce5ef;--app-panel: rgba(255, 255, 255, .94);--app-panel-strong: rgba(255, 255, 255, .985);--app-panel-soft: rgba(24, 52, 80, .06);--app-input-bg: rgba(24, 52, 80, .06);--app-input-bg-focus: rgba(24, 52, 80, .1);--app-border: rgba(44, 76, 109, .18);--app-border-strong: rgba(37, 74, 112, .32);--app-text: #162736;--app-text-muted: rgba(22, 39, 54, .82);--app-text-soft: rgba(22, 39, 54, .6);--app-shadow-lg: 0 24px 56px rgba(53, 84, 115, .18), 0 0 0 1px rgba(60, 88, 116, .08);--app-shadow-md: 0 14px 32px rgba(53, 84, 115, .14), 0 0 0 1px rgba(60, 88, 116, .08);--app-accent-text: #8a5a12;--background-color: #edf3f9;--text-color: #304454;color-scheme:light}html[data-theme=light],html[data-theme=light] body,html[data-theme=light] #app{background:radial-gradient(ellipse 60% 50% at 0% 0%,var(--app-accent-09) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 100% 8%,rgba(90,160,220,.09) 0%,transparent 55%),radial-gradient(ellipse 70% 60% at 88% 100%,rgba(70,150,200,.06) 0%,transparent 58%),linear-gradient(180deg,#eef2f7,#f5f8fc)}html[data-theme=light] .title-header h1{background:linear-gradient(135deg,#1a2a36,#1a2a3699);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html[data-theme=light] .title-header .datetime{color:#162736ad}html[data-theme=light] .menu-left,html[data-theme=light] .menu-right{background:linear-gradient(180deg,#fffffffa,#f7fafdf0),var(--app-panel);border-color:#2c4c6d24;box-shadow:0 22px 42px #46648224,0 0 0 1px #ffffffb8,inset 0 1px #ffffffeb}html[data-theme=light] .menu-tint-variants{background:linear-gradient(180deg,#fffffffa,#f4f8fcf2),var(--app-panel-strong);border-color:#2c4c6d1f;box-shadow:0 16px 30px #4664822e,inset 0 1px #fffffff5}html[data-theme=light] .menu-tint-variants:after{border-top-color:#2c4c6d1f;border-right-color:#2c4c6d1f;background:#fafcfffa}html[data-theme=light] .button,html[data-theme=light] .enharmonic-button{background:linear-gradient(180deg,#fffffffa,#f4f7fbf5);color:var(--app-text-muted);border-color:#2c4c6d24;box-shadow:0 3px 10px #5b789514,inset 0 1px #fffffff2}html[data-theme=light] .menu-global-actions .button,html[data-theme=light] .menu-global-actions .enharmonic-button,html[data-theme=light] .menu-connection-presets .button{background:linear-gradient(180deg,#f8fbfefc,#e7eef6f7);color:#33485a;border-color:#34537238;border-width:1px;font-weight:600;box-shadow:0 8px 18px #5b78951a,inset 0 1px #fffffffa,inset 0 -1px #acbdcf2e}html[data-theme=light] .button:hover,html[data-theme=light] .enharmonic-button:hover{background:linear-gradient(180deg,#fffcf5fa,#faf3e5f5);border-color:#de9d4257;color:var(--app-text);box-shadow:0 8px 18px #de9d421f,inset 0 1px #fffffff5}html[data-theme=light] .menu-global-actions .button:hover,html[data-theme=light] .menu-global-actions .enharmonic-button:hover,html[data-theme=light] .menu-connection-presets .button:hover{background:linear-gradient(180deg,#fffcf5fc,#f8eed8f7);border-color:#de9d4266;color:#263847;box-shadow:0 10px 22px #de9d4229,inset 0 1px #fffffffa,inset 0 -1px #de9d421a}html[data-theme=light] .button.selected{background:linear-gradient(180deg,#fff4defa,#f9e8c4f5);border-color:#de9d4270;color:#8a5a15;box-shadow:0 8px 18px #de9d4229,inset 0 1px #ffffffeb}html[data-theme=light] .menu-global-actions .button.selected,html[data-theme=light] .menu-connection-presets .button.selected{color:#7d5111;border-color:#de9d4285;box-shadow:0 10px 22px #de9d422e,inset 0 1px #fffffff0,inset 0 -1px #d5a04a1f}html[data-theme=light] .menu-checkbox{color:var(--app-text-muted)}html[data-theme=light] .menu-checkbox input{filter:saturate(1.15) contrast(1.05)}html[data-theme=light] .theme-switch__track{background:#fffffff5;border-color:#2c4c6d29}html[data-theme=light] .piano-keys{border-color:#2c4c6d24;background:linear-gradient(180deg,#fffffffa,#f3f7fbf5);box-shadow:0 12px 24px #46648224,inset 0 1px #fffffff5}html[data-theme=light] .fret-value-tooltip{color:var(--app-text-muted)}@media (prefers-color-scheme: dark){:root{--background-color: var(--app-bg)}}*:focus-visible{outline:2px solid rgba(243,186,98,.55);outline-offset:2px}html{min-height:100%;background:radial-gradient(ellipse 60% 50% at 0% 0%,rgba(243,186,98,.13) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 100% 8%,var(--app-accent-09) 0%,transparent 55%),radial-gradient(ellipse 70% 60% at 88% 100%,rgba(70,150,200,.07) 0%,transparent 58%),linear-gradient(180deg,#0b1318,#060c10)}body{margin:0;padding:0;display:flex;justify-content:center}#app{width:100%;min-height:100vh;position:relative;overflow-x:hidden;color:var(--app-text);font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif;background:radial-gradient(ellipse 60% 50% at 0% 0%,rgba(243,186,98,.13) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 100% 8%,var(--app-accent-09) 0%,transparent 55%),radial-gradient(ellipse 70% 60% at 88% 100%,rgba(70,150,200,.07) 0%,transparent 58%),linear-gradient(180deg,#0b1318,#060c10)}main{width:100%;max-width:100vw;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;box-sizing:border-box;padding:0 20px 80px;transition:margin-left .3s ease}.title-header{width:min(100%,680px);min-height:auto;padding:8px 0 10px;margin:18px 0 10px;text-align:center;display:flex;align-items:center;justify-content:center}.title-header-inner{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.title-header h1{margin:0;font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:.03em;line-height:1.2;padding-bottom:.06em;background:linear-gradient(135deg,var(--app-text) 0%,rgba(232,239,244,.7) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.theme-switch{position:fixed;top:18px;right:22px;z-index:1100;background:none;border:none;padding:0;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.lang-switch{position:fixed;top:18px;right:90px;z-index:1100;display:flex;align-items:center;justify-content:center;width:36px;height:28px;border-radius:var(--app-radius-pill);background:var(--app-panel-strong);border:1px solid var(--app-border);box-shadow:var(--app-shadow-md),inset 0 1px 3px #00000038;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:0;font-size:var(--app-fs-sm);font-weight:700;color:var(--text-secondary, #aaa);cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:color .2s,background .2s}.lang-switch:hover{color:var(--accent, #f3ba62)}.theme-switch:focus-visible .theme-switch__track{outline:2px solid rgba(243,186,98,.55);outline-offset:2px}.theme-switch__track{display:flex;align-items:center;width:56px;height:28px;border-radius:var(--app-radius-pill);background:var(--app-panel-strong);border:1px solid var(--app-border);box-shadow:var(--app-shadow-md),inset 0 1px 3px #00000038;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;transition:background .28s ease,border-color .28s ease,box-shadow .28s ease}.theme-switch--light .theme-switch__track{background:#f0f8ffeb;border-color:#1e508c2e;box-shadow:0 4px 16px #0000001a,inset 0 1px 3px #0000000f}.theme-switch__thumb{position:absolute;left:3px;width:22px;height:22px;border-radius:50%;background:linear-gradient(145deg,#f3ba62e6,#de9d42f2);box-shadow:0 2px 8px #00000052,0 0 0 1px #f3ba6238;display:flex;align-items:center;justify-content:center;transition:left .28s cubic-bezier(.34,1.56,.64,1),background .28s ease,box-shadow .28s ease}.theme-switch--light .theme-switch__thumb{left:31px;background:linear-gradient(145deg,#ffe47a,#f3ba62);box-shadow:0 2px 10px #f3ba626b,0 0 0 1px #f3ba624d}.theme-switch__icon{font-size:var(--app-fs-md);line-height:1;-webkit-user-select:none;user-select:none}.login-status{position:fixed;top:20px;right:80px;display:flex;align-items:center;gap:10px;z-index:1000}.title-header .datetime{font-size:var(--app-fs-lg);color:var(--app-text-soft)}.title-header .selected-state-name{margin-top:4px;font-size:var(--app-fs-md);color:var(--app-success);font-weight:600;padding:6px 14px;border-radius:var(--app-radius-pill);border:1px solid rgba(136,211,159,.28);background:#88d39f1a;display:inline-block;cursor:help;transition:all .2s ease}.title-header .selected-state-name:hover{background:#88d39f29;border-color:#88d39f6b}g.note.transparent:hover{opacity:1}g.note{fill:var(--background-color);stroke-width:1.5px;stroke:var(--text-color);transition:opacity .6s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}g.note.selected>circle{opacity:1;stroke-dasharray:4,4;stroke-width:3px;stroke:var(--text-color)}g.note.hidden{opacity:0}g.note.transparent{opacity:.3}g.note.transparent>text{opacity:1;color:inherit}g.note.force-transparent{opacity:.5!important}g.note.force-transparent>text{opacity:1!important}g.note.visible{opacity:1}g.note.blue{fill:var(--color-level1-blue-fill)}g.note.blue>text{stroke:#fff;fill:#fff}g.note.trans{fill:var(--color-level1-trans-fill)}g.note.trans>text{stroke:#fff;fill:#fff}g.note.mono{fill:#e8eef4}g.note.mono>text{stroke:#0d141a;fill:#0d141a}g.note.gray{fill:var(--color-level1-gray-fill)}g.note.gray>text{stroke:#fff;fill:#fff}g.note.red{fill:var(--color-level1-red-fill)}g.note.red>text{stroke:#fff;fill:#fff}g.note.green{fill:var(--color-level1-green-fill)}g.note.green>text{stroke:#fff;fill:#fff}g.note.brown{fill:var(--color-level1-brown-fill)}g.note.brown>text{stroke:#fff;fill:#fff}g.note.navy{fill:var(--color-level1-navy-fill)}g.note.navy>text{stroke:#fff;fill:#fff}g.note.crimson{fill:var(--color-level1-crimson-fill)}g.note.crimson>text{stroke:#fff;fill:#fff}path.string{stroke:var(--text-color)!important;fill:none;pointer-events:none;stroke-width:1px!important}path.frets{stroke:var(--text-color)!important;stroke-width:1px;fill:none}g.note>text{stroke:var(--text-color);stroke-width:0px;fill:var(--text-color);text-anchor:middle;dominant-baseline:middle;font-size:20px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#editable-div{text-align:center;font-size:20px}.fretboard-stage{padding-top:10px;display:flex;justify-content:center;width:100%;max-width:100%;position:relative;z-index:1;overflow-x:auto;box-sizing:border-box}.menu{--m-gap: 40px;--m-col-w: 420px;--m-panel-pad: 22px 24px;--m-panel-top: 24px;--m-panel-gap: 18px;--m-btn-h: 36px;--m-btn-fs: 14px;--m-acc-fs: 13px;--m-btn-pad: 6px 16px;--m-acc-w: 36px;--m-act-gap: 8px;--m-act-cols: 36px repeat(3, minmax(0, 1fr));--m-opt-gap: 12px;--m-opt-fs: 13px;--m-opt-cols: none}.menu{text-align:center;padding:24px 0;position:relative;z-index:1;isolation:isolate;transform:translateZ(0);will-change:transform;display:flex;flex-direction:row;gap:var(--m-gap);align-items:flex-start;justify-content:center;flex-wrap:wrap}.menu-scale-bottom{width:100%;display:flex;justify-content:center}.menu-left,.menu-right{display:flex;flex-direction:column;gap:var(--m-panel-gap);align-items:stretch;overflow:visible;width:min(100%,var(--m-col-w));padding:var(--m-panel-pad);border:1px solid var(--app-border);border-radius:var(--app-radius-xl);background:linear-gradient(160deg,#fff1,#ffffff06),var(--app-panel);box-shadow:var(--app-shadow-md),inset 0 1px #c8e6ff14;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%)}.menu-palette-shell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;overflow:visible}.menu-tint-variants{position:absolute;left:-74px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 10px;border-radius:20px;border:1px solid rgba(230,237,242,.1);background:linear-gradient(180deg,#ffffff14,#ffffff08),#091015eb;box-shadow:0 16px 30px #00000047,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:3}.menu-tint-variants:after{content:"";position:absolute;top:50%;right:-7px;width:14px;height:14px;transform:translateY(-50%) rotate(45deg);border-top:1px solid var(--app-line-soft);border-right:1px solid var(--app-line-soft);background:#0c141ae6}.menu-section-panel{width:100%;box-sizing:border-box;padding:var(--m-panel-top) 0 0;border:none;border-radius:0;background:transparent;box-shadow:none}.menu-connection-presets{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:100%}.menu-preset-button{min-width:0;padding:4px 6px;gap:6px;font-size:var(--app-fs-md)}.menu-preset-button svg{flex:0 0 auto;opacity:.9}.menu-preset-button.selected svg{opacity:1}.menu-download-panel{display:flex;align-items:center;gap:14px;padding-top:var(--m-panel-top);border-top:1px solid var(--app-line-soft)}.menu-download-options{flex:1 1 100%;min-width:0;display:flex;flex-direction:column;gap:10px}.menu-download-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--m-opt-gap)}.menu-checkbox{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:var(--m-opt-fs);color:var(--app-text-muted);white-space:nowrap}.menu-checkbox input{accent-color:var(--app-accent-strong);cursor:pointer}.menu-download-button{min-width:0;background:var(--app-sheen);color:var(--app-text-muted);border-color:var(--app-border);box-shadow:none}.menu-download-button:hover{background:var(--app-accent-12);color:var(--app-text)}text.marker{text-anchor:middle;dominant-baseline:middle;font-size:16px;font-weight:700;fill:var(--text-color);opacity:1!important;visibility:visible!important;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}g.markers{opacity:1!important;visibility:visible!important}.color-selector{margin:0;padding:10px 8px 12px;width:400px;display:flex;flex-direction:column;gap:12px;background:transparent;border:none;border-radius:0;box-shadow:none}.color-palette-row{display:flex;justify-content:center;align-items:center;gap:8px;padding:0;flex-wrap:nowrap}button.color{width:40px;height:40px;border-radius:12px;border:1px solid rgba(230,237,242,.18);cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s;box-shadow:0 10px 18px #0000002e}.color-palette-row button.color{width:min(40px,calc((100% - 64px)/8));height:auto;aspect-ratio:1}@media (max-width: 640px){.color-palette-row{flex-wrap:nowrap;justify-content:center;gap:7px;overflow-x:auto;scrollbar-width:thin;padding:7px 4px 4px;margin-left:auto;margin-right:auto;width:fit-content;max-width:100%;-webkit-overflow-scrolling:touch}.color-palette-row button.color{width:34px;flex:0 0 auto}button.color.color-tint{width:28px;height:28px;border-radius:var(--app-radius-xs)}.color-palette-row::-webkit-scrollbar{height:4px}.color-palette-row::-webkit-scrollbar-thumb{background:#e6edf238;border-radius:2px}.color-palette-row::-webkit-scrollbar-track{background:transparent}}button.color.color-tint{width:32px;height:32px;border-radius:var(--app-radius-sm);box-shadow:0 8px 16px #00000038}button.color.color-tint.selected{box-shadow:0 0 0 3px #e6edf2e0,0 0 12px #f3ba6257;transform:scale(1.1);border-width:2px}button.color:hover{border-color:#e6edf270;transform:translateY(-2px) scale(1.08);box-shadow:0 10px 22px #0000004d}button.color.selected{box-shadow:0 0 0 2px #e6edf2e0,0 0 14px #f3ba6242}button.color.level2.selected{border-width:7px;box-shadow:0 0 0 1px #e6edf2e0,0 0 12px #f3ba6238}.button{background:#ffffff0a;color:var(--app-text-muted);border:1px solid var(--app-border);border-radius:var(--app-radius-pill);padding:6px 16px;cursor:pointer;font-size:var(--app-fs-lg);min-width:0;height:36px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease}.button:hover{background:#f3ba621c;border-color:#f3ba6252;color:var(--app-text);box-shadow:0 0 0 1px #f3ba6229,0 6px 18px #f3ba621a}.button:active{background:#f3ba6229;transform:translateY(0) scale(.97);box-shadow:none}.button.selected{background:#f3ba6224;border:1px solid rgba(243,186,98,.38);color:var(--app-accent-text);box-shadow:0 0 0 1px #f3ba6224,0 4px 14px var(--app-accent-12)}.color.blue{background-color:var(--color-level1-blue-button)}.color.trans{background-color:var(--color-level1-trans-button)}.color.green{background-color:var(--color-level1-green-button)}.color.red{background-color:var(--color-level1-red-button)}.color.brown{background-color:var(--color-level1-brown-button)}.color.gray{background-color:var(--color-level1-gray-button)}.color.navy{background-color:var(--color-level1-navy-button)}.color.crimson{background-color:var(--color-level1-crimson-button)}.color.level2{background-color:transparent;border:6px solid;box-sizing:border-box}.color.level2.yellow{border-color:var(--color-level2-yellow)}.color.level2.cyan{border-color:var(--color-level2-cyan)}.color.level2.pink{border-color:var(--color-level2-pink)}.color.level2.grass-green{border-color:var(--color-level2-grass-green)}.color.level2.orange{border-color:var(--color-level2-orange)}.color.level2.white{border-color:var(--color-level2-white);border-width:6px}.enharmonic-button{background:var(--app-sheen);color:var(--app-text-muted);border:1px solid var(--app-border);border-radius:var(--app-radius-pill);padding:0;cursor:pointer;font-size:var(--app-fs-lg);font-weight:600;line-height:1;min-width:36px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s,border-color .2s,transform .2s}.enharmonic-button:hover{background:#f3ba6224;border-color:#f3ba6257}.enharmonic-button:active{background:#f3ba6233}.menu-global-actions{margin:0;width:100%;display:grid;grid-template-columns:var(--m-act-cols);justify-content:center;align-items:center;gap:var(--m-act-gap);padding:12px 0 14px;background:transparent;border:none;border-radius:var(--app-radius-lg);box-shadow:none}.menu-global-actions .button{height:var(--m-btn-h);font-size:var(--m-btn-fs);min-width:0;padding:0 4px}.menu-global-actions .enharmonic-button{width:var(--m-acc-w);min-width:var(--m-acc-w);height:var(--m-btn-h);font-size:var(--m-acc-fs)}.menu-global-actions .menu-download-button{width:100%;min-width:0}.fretboard-stage{display:flex;justify-content:center;width:100%;max-width:100%;margin:0 auto 12px;position:relative;z-index:1;isolation:isolate;overflow-x:auto;box-sizing:border-box;padding:8px 0 4px;border:none;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.fretboard-stage svg{display:block;position:relative;z-index:1;flex:0 1 auto;isolation:isolate;max-width:100%;height:auto;border-radius:0}.fretboard-stage>svg:not(.stage-fx){flex:0 0 auto}.fretboard-stage svg.stage-fx{position:absolute;max-width:none}.error{font-size:18px;text-anchor:middle}.menu-piano-keyboard{display:flex;justify-content:center;padding:12px 0 14px;position:relative;z-index:1;background:transparent;border:none;border-radius:0;box-shadow:none}.piano-keyboard{display:block;width:100%}.piano-keys{margin:0 auto;width:max-content}.piano-keys{display:flex;position:relative;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);padding:8px;background:linear-gradient(180deg,#ffffff12,#ffffff08);height:130px;box-shadow:0 12px 24px #0000002e}.piano-key{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .1s ease;box-sizing:border-box}.piano-key.white-key{flex:0 0 auto;width:45px;height:130px;background:linear-gradient(180deg,#fefefe,#dfe6ea);border:1px solid rgba(17,34,44,.18);border-radius:0 0 14px 14px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;position:relative;margin-right:2px}.piano-key.white-key:last-of-type{margin-right:0}.piano-key.white-key:hover{background:linear-gradient(180deg,#fff,#e9f0f4)}.piano-key.white-key.selected{background:linear-gradient(180deg,#f9e1b9,#f0bd72);border-color:var(--app-accent-strong);border-width:2px;box-shadow:inset 0 0 0 1px #ffffff7a}.piano-key.black-key{width:28px;height:80px;background:linear-gradient(180deg,#2b3942,#10181d);border:1px solid rgba(255,255,255,.08);border-radius:0 0 10px 10px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;position:absolute;top:8px;z-index:2;box-shadow:0 10px 16px #00000038}.piano-key.black-key:hover{background:linear-gradient(180deg,#31434d,#141e24)}.piano-key.black-key.selected{background:linear-gradient(180deg,#f1bb67,#c88426);border-color:#ffe2b1;border-width:2px}.key-label{font-size:var(--app-fs-md);font-weight:700;color:var(--app-text-muted)}.piano-key.white-key .key-label{color:#21323d}.piano-key.white-key.selected .key-label{color:#0d222b}.piano-key.black-key .key-label,.piano-key.black-key.selected .key-label{color:#fff}.connection{pointer-events:stroke;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:1}.connection-preview{pointer-events:none}g.note{touch-action:none}button,.button,.menu-checkbox{touch-action:manipulation;-webkit-tap-highlight-color:transparent}#fretboard-svg{-webkit-user-select:none;user-select:none}svg.drag-connecting,svg.drag-connecting *{cursor:crosshair!important}.connection-toolbar-container{pointer-events:none;z-index:101;overflow:visible!important;clip-path:none!important;clip:auto!important;overflow-x:visible!important;overflow-y:visible!important;isolation:isolate}.connection-toolbar{pointer-events:auto;background:transparent;border:none;border-radius:6px;padding:6px 8px;box-shadow:none;display:flex;align-items:center;position:relative;overflow:visible!important;width:max-content;height:max-content;clip-path:none!important;clip:auto!important;-webkit-backdrop-filter:none;backdrop-filter:none}.toolbar-icons{display:flex;align-items:center;gap:4px}.toolbar-preset-group{display:flex;align-items:center;gap:4px;padding-right:6px;margin-right:2px;border-right:1px solid rgba(230,237,242,.1)}.toolbar-icon-btn.toolbar-preset-btn{gap:5px;padding:6px 8px;font-size:var(--app-fs-sm);color:var(--app-text-muted)}.toolbar-preset-label{line-height:1;white-space:nowrap}.toolbar-icon-wrapper{position:relative;overflow:visible!important;z-index:102;isolation:isolate}.toolbar-icon-btn{background:var(--app-sheen);color:var(--app-text-muted);border:1px solid var(--app-line);border-radius:var(--app-radius-sm);padding:6px 10px;cursor:pointer;font-size:var(--app-fs-lg);min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:background-color .2s,border-color .2s,color .2s,transform .2s;white-space:nowrap;pointer-events:auto!important;position:relative;z-index:104}.toolbar-icon-btn:hover{background:var(--app-accent-12);border-color:#f3ba6247;color:var(--app-text)}.toolbar-icon-btn:active{background:#ffffff14}.toolbar-icon-btn.active{background:#f3ba6229;border-color:#f3ba6257;color:var(--app-accent-text)}.toolbar-icon-btn.delete-icon-btn{color:#ff6b6b;border-color:#ff6b6b;background:#ff6b6b1a}.toolbar-icon-btn.delete-icon-btn:hover{background:#ff6b6b33;border-color:#ff5252}.toolbar-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:linear-gradient(180deg,#ffffff12,#ffffff08),#0b1318f5;border:1px solid var(--app-line);border-radius:var(--app-radius-md);box-shadow:var(--app-shadow-md);min-width:100px;width:max-content;max-width:none;z-index:103!important;padding:6px;white-space:nowrap;overflow:visible!important;display:block!important;visibility:visible!important;clip-path:none!important;clip:auto!important;transform:translateZ(0);will-change:transform;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.toolbar-icon-wrapper .toolbar-dropdown.toolbar-dropdown-up,.toolbar-dropdown.toolbar-dropdown-up{top:auto!important;bottom:calc(100% + 4px)!important}.toolbar-dropdown button{display:block;width:100%;min-width:100px;background-color:transparent;color:var(--app-text-muted);border:none;border-radius:var(--app-radius-sm);padding:6px 12px;cursor:pointer;font-size:var(--app-fs-lg);text-align:left;transition:background-color .2s;white-space:nowrap;box-sizing:border-box}.toolbar-dropdown button:hover{background-color:var(--app-accent-12);color:var(--app-text)}.toolbar-dropdown button.active{background-color:#f3ba622e;color:var(--app-accent-text)}.toolbar-slider-wrapper{padding:8px 12px;display:flex;align-items:center;gap:10px;min-width:150px;background:transparent}.toolbar-slider-wrapper input[type=range]{flex:1;cursor:pointer;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;outline:none}.toolbar-slider-wrapper input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--app-control-thumb-bg);border:2px solid var(--app-control-thumb-border);border-radius:50%;cursor:pointer;box-shadow:0 4px 10px #11222c3d;margin-top:-5px}.toolbar-slider-wrapper input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;background:#e6edf22e;border-radius:var(--app-radius-pill)}.toolbar-slider-wrapper input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--app-control-thumb-bg);border:2px solid var(--app-control-thumb-border);border-radius:50%;cursor:pointer;box-shadow:0 4px 10px #11222c3d}.toolbar-slider-wrapper input[type=range]::-moz-range-track{width:100%;height:6px;background:#e6edf22e;border-radius:var(--app-radius-pill)}.toolbar-slider-wrapper span{min-width:35px;text-align:right;font-size:var(--app-fs-sm);color:var(--app-text-muted)}.fwt{position:relative;flex:0 0 auto;width:22px;align-self:stretch;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none}.fwt-rail{position:absolute;top:8px;bottom:22px;left:50%;width:2px;margin-left:-1px;border-radius:var(--app-radius-pill);background:#e6edf21a}.fwt-knob{position:relative;z-index:1;width:14px;height:34px;border-radius:6px;background:var(--app-line-strong);border:1px solid rgba(230,237,242,.22);cursor:ew-resize;display:flex;align-items:center;justify-content:center;opacity:.45;transition:opacity .15s,background .15s,border-color .15s}.fwt-knob:hover,.fwt.dragging .fwt-knob{opacity:1;background:#e6edf23d;border-color:var(--app-control-thumb-border, #e4a54b)}.fwt-grip{width:6px;height:16px;border-radius:3px;background:#e6edf273;pointer-events:none}.fwt.dragging .fwt-grip{background:#e6edf2cc}.fwt-label{position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:var(--app-fs-2xs);color:var(--app-text-muted, #9fb2c0);opacity:.6;white-space:nowrap;pointer-events:none}.fwt.dragging .fwt-label{opacity:1;color:var(--app-control-thumb-border, #e4a54b)}g.note.preview-hover{opacity:1}g.note.preview-hover>circle{stroke-dasharray:3,3;stroke-width:2px;stroke:var(--app-accent)}@media (max-width: 1024px){.menu{--m-gap: 18px;--m-btn-h: 32px;--m-btn-fs: 11.5px;--m-acc-w: 28px;--m-act-gap: 5px;--m-act-cols: 28px repeat(3, minmax(0, 1fr))}}@media (max-width: 640px){.menu{--m-btn-h: 30px;--m-btn-fs: 11px;--m-acc-w: 28px;--m-act-gap: 4px;--m-opt-gap: 6px;--m-opt-fs: 11px}}@media (max-width: 1600px){.fretboard-stage svg{max-width:calc(100vw - 40px)}}@media (max-width: 1200px){main{padding:0 15px}.fretboard-stage svg{max-width:calc(100vw - 30px)}}@media (max-width: 768px){.fretboard-stage{order:-1;margin-top:4px}html,body,#app{overflow-x:hidden!important;width:100%;max-width:100%;position:relative}main{overflow-x:hidden!important;width:100%;max-width:100%;position:relative;padding:0 10px}.fretboard-stage{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;width:100%;max-width:100vw;justify-content:flex-start!important}.fretboard-stage svg{width:auto!important;max-width:100%!important;height:auto!important;min-width:0!important;flex:1 1 auto!important;display:block}.menu{flex-direction:column!important;overflow-x:hidden!important;flex-wrap:nowrap!important;width:100%;max-width:100%;gap:12px!important;padding:20px 16px!important;box-sizing:border-box;margin:0}.menu-palette-shell{width:100%;justify-content:center}.menu-left,.menu-right{width:100%!important;max-width:100%!important;overflow-x:hidden!important;padding:18px 14px!important;box-sizing:border-box;margin:0}.color-selector{width:100%!important;max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box;padding:10px 0 12px!important;margin:0}.menu-global-actions{width:100%!important;max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box;padding:8px 0 12px!important;margin:0;justify-content:center;grid-template-columns:28px repeat(3,minmax(0,1fr))}.menu-connection-panel{width:100%;max-width:100%;overflow:visible;box-sizing:border-box;margin:0;border:none;border-radius:0;background:transparent}.menu-connection-panel>div{width:100%;max-width:100%;overflow:visible;flex-wrap:wrap;box-sizing:border-box;justify-content:center;gap:8px}.menu-download-panel{width:100%;max-width:100%;overflow:visible;box-sizing:border-box;flex-wrap:wrap;padding:var(--m-panel-top) 0 0;margin:0;margin-top:0!important;justify-content:center;gap:8px!important;align-items:center;border:none;border-radius:0;background:transparent}.menu-download-panel label{margin:0;white-space:nowrap}.menu-download-panel button{margin-left:0;flex-shrink:0}.menu-piano-keyboard{width:100%!important;max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box;padding:12px 0 10px!important;margin:0}.piano-keyboard,.piano-keys{max-width:100%!important;overflow-x:hidden!important}.fret-range-slider-wrapper{width:100%!important;max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box;padding:8px 0 0!important;margin:0}}.score-view{width:100%;max-width:1560px;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding-bottom:80px}.score-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.score-title{font-size:20px;font-weight:700;color:var(--app-text, #e8eef4);margin-right:auto}.score-mode{display:inline-flex;align-items:center;gap:6px;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-md);cursor:pointer}.score-speed{background:var(--app-sheen);color:var(--app-text-muted, #9fb2c0);border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-sm);padding:6px 8px}.score-play{border-color:var(--app-accent-45);color:var(--app-accent-text, #f3ba62)}.score-stage-wrap{display:flex;flex-direction:column;gap:10px;align-items:center}.score-stage{position:relative;width:min(860px,100%);border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xl, 18px);background:var(--app-panel, rgba(15, 22, 28, .6));padding:14px;box-sizing:border-box}.score-stage-board,.score-stage-board svg,.score-mini svg{width:100%;height:auto;display:block}.score-stage svg *,.score-mini svg *{pointer-events:none}.score-fx{position:absolute;top:14px;right:14px;bottom:14px;left:14px;width:calc(100% - 28px);height:calc(100% - 28px);pointer-events:none;overflow:visible}.fx-out{fill:#9fb2c059;animation:fxOut .45s ease-in forwards}.fx-in{fill:none;stroke:#f3ba62f2;stroke-width:3.5;animation:fxIn .5s ease-out forwards;transform-box:fill-box;transform-origin:center}.fx-line{fill:none;stroke:#f3ba62bf;stroke-width:3;stroke-dasharray:7 6;stroke-linecap:round;animation:fxLine .5s ease-out forwards}.fx-dot{fill:#f3ba62f2;filter:drop-shadow(0 0 5px rgba(243,186,98,.8))}.fx-letter{font-size:15px;font-weight:700;fill:#fff;paint-order:stroke;stroke:#0000008c;stroke-width:3px;animation:fxLetter .85s ease-out forwards}@keyframes fxOut{0%{opacity:.9}to{opacity:0}}@keyframes fxIn{0%{transform:scale(1.7);opacity:1}to{transform:scale(.55);opacity:0}}@keyframes fxLine{0%{opacity:0}to{opacity:.85}}@keyframes fxLetter{0%{opacity:0;transform:translateY(5px)}30%{opacity:1}to{opacity:0;transform:translateY(-9px)}}.score-stage-info{display:flex;align-items:center;gap:12px;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-lg)}.score-sheet{display:flex;flex-direction:column;gap:14px}.score-measure{border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xl, 18px);background:var(--app-panel, rgba(15, 22, 28, .6));padding:12px 14px}.score-measure-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.score-measure-no{min-width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#10161c;background:var(--app-accent, #f3ba62)}.score-chord{background:#f3ba621a;border:1px solid rgba(243,186,98,.3);color:var(--app-accent-text, #f3ba62);border-radius:var(--app-radius-pill);padding:6px 14px;font-size:var(--app-fs-lg);font-weight:600;cursor:pointer}.score-chord-input{width:120px;background:#ffffff0f;border:1px solid var(--app-accent-45);color:var(--app-text, #e8eef4);border-radius:var(--app-radius-pill);padding:6px 12px;font-size:var(--app-fs-lg);outline:none}.score-add-frame{margin-left:auto;background:var(--app-sheen);border:1px dashed var(--app-line-lighter);color:var(--app-text-muted, #9fb2c0);border-radius:var(--app-radius-pill);padding:5px 12px;font-size:var(--app-fs-md);cursor:pointer}.score-add-frame:hover{color:var(--app-accent-text, #f3ba62);border-color:var(--app-accent-45)}.score-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.score-mini{position:relative;flex:0 0 170px;border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;background:#00000040;transition:border-color .15s ease,transform .15s ease}.score-mini:hover{transform:translateY(-2px)}.score-mini.active{border-color:var(--app-accent, #f3ba62);box-shadow:0 0 0 3px #f3ba622e}.score-mini-board{position:relative;background:#00000040}.score-mini-bar{display:flex;gap:4px;padding:4px 5px;border-top:1px solid var(--app-line-soft);background:#00000059}.score-mini-bar button{flex:1;min-width:24px;height:22px;border-radius:7px;border:1px solid rgba(230,237,242,.18);background:#0b1318e6;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-xs);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.score-mini-bar .score-mini-del{color:#ff8787;border-color:#ff878766}.score-mini-index{position:absolute;left:6px;top:5px;min-width:20px;height:20px;border-radius:var(--app-radius-sm);background:#0b1318d9;color:#f3ba62;font-size:var(--app-fs-sm);font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.score-mini-tech{position:absolute;right:6px;top:5px;min-width:24px;height:22px;border-radius:var(--app-radius-xs);border:1px solid var(--app-line-lighter);background:#0b1318d9;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-sm);font-weight:700;cursor:pointer}.score-mini-tech.on{color:#10161c;background:var(--app-accent, #f3ba62);border-color:transparent}.score-fields{display:flex;gap:10px;margin-top:10px}.score-fields input{flex:1;background:var(--app-sheen);border:1px solid var(--app-border, var(--app-line));color:var(--app-text, #e8eef4);border-radius:var(--app-radius-sm);padding:7px 12px;font-size:var(--app-fs-lg);outline:none}.score-fields input:focus{border-color:var(--app-accent-45)}.score-empty{padding:60px 20px;text-align:center;color:var(--app-text-muted, #9fb2c0);border:1px dashed var(--app-border, rgba(230, 237, 242, .15));border-radius:var(--app-radius-xl, 18px)}html[data-theme=light] .score-stage,html[data-theme=light] .score-measure{background:#f8fbfeeb}html[data-theme=light] .fx-letter{stroke:#ffffffb3}.fretboard-stage-wrap{position:relative;width:100%;display:flex;justify-content:center}.fretboard-stage-wrap.playing .fretboard-stage svg{pointer-events:none}.fretboard-stage-wrap.playing:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent}.stage-fx{position:absolute;top:8px;left:50%;transform:translate(-50%);pointer-events:none;overflow:visible}.tl-bar{display:flex;align-items:stretch;gap:12px;width:100%;max-width:1560px;margin:0 auto;padding:10px 12px;border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xl, 18px);background:var(--app-panel, rgba(15, 22, 28, .6));box-sizing:border-box;overflow-x:auto}.tl-empty{color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-md);align-items:center;gap:12px}.tl-controls{display:flex;flex-direction:column;gap:6px;justify-content:center;flex:0 0 auto}.tl-btn{background:var(--app-sheen);border:1px solid var(--app-border, var(--app-line));color:var(--app-text-muted, #9fb2c0);border-radius:var(--app-radius-sm);padding:5px 10px;font-size:var(--app-fs-md);cursor:pointer;white-space:nowrap}.tl-btn:hover{color:var(--app-text, #e8eef4)}.tl-play{min-width:44px;height:38px;font-size:15px;border-color:var(--app-accent-45);color:var(--app-accent-text, #f3ba62)}.tl-play.on{background:#f3ba622e}.tl-speed{background:var(--app-sheen);color:var(--app-text-muted, #9fb2c0);border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-sm);padding:4px 6px;font-size:var(--app-fs-sm)}.tl-strip{display:flex;gap:12px;align-items:stretch;overflow-x:auto;flex:1;padding-bottom:4px}.tl-measure{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--app-line-soft);border-radius:12px;min-width:130px}.tl-measure-head{display:flex;align-items:center;gap:6px}.tl-no{min-width:26px;height:26px;border-radius:50%;border:none;background:#ffffff14;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-md);font-weight:700;cursor:pointer}.tl-no.current{background:var(--app-accent, #f3ba62);color:#10161c}.tl-chord{background:#f3ba621a;border:1px solid rgba(243,186,98,.3);color:var(--app-accent-text, #f3ba62);border-radius:var(--app-radius-pill);padding:3px 10px;font-size:var(--app-fs-sm);font-weight:600;cursor:pointer;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-chord-input{width:70px;background:#ffffff0f;border:1px solid var(--app-accent-45);color:var(--app-text, #e8eef4);border-radius:var(--app-radius-pill);padding:3px 10px;font-size:var(--app-fs-sm);outline:none}.tl-add{margin-left:auto;background:transparent;border:1px dashed var(--app-line-lighter);color:var(--app-text-muted, #9fb2c0);border-radius:var(--app-radius-pill);padding:3px 8px;font-size:var(--app-fs-xs);cursor:pointer}.tl-add:hover{color:var(--app-accent-text, #f3ba62);border-color:var(--app-accent-45)}.tl-frames{display:flex;gap:6px}.tl-frames .score-mini{flex:0 0 110px}.tl-frames .score-mini-board svg{border-radius:var(--app-radius-xs)}.tl-new-measure{flex:0 0 auto;align-self:center;background:transparent;border:1px dashed var(--app-line-lighter);color:var(--app-text-muted, #9fb2c0);border-radius:12px;padding:10px 14px;font-size:var(--app-fs-md);cursor:pointer}.tl-new-measure:hover{color:var(--app-accent-text, #f3ba62);border-color:var(--app-accent-45)}.tl-fields{display:flex;gap:6px}.tl-field{flex:1;min-width:80px;background:var(--app-sheen);border:1px solid var(--app-border, var(--app-line));color:var(--app-text, #e8eef4);border-radius:var(--app-radius-xs);padding:4px 8px;font-size:var(--app-fs-sm);outline:none}.tl-export-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px}.tl-mode{display:inline-flex;align-items:center;gap:6px;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-md);cursor:pointer}html[data-theme=light] .tl-bar{background:#f8fbfeeb}.sc-page{width:100%;max-width:1560px;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding:8px 0 90px}.sc-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--app-border, var(--app-line));padding-bottom:12px}.sc-back{white-space:nowrap}.sc-title{font-size:20px;font-weight:700;color:var(--app-text, #e8eef4);margin:0}.sc-song-meta{display:flex;align-items:center;gap:10px;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-lg)}.sc-song-meta select,.sc-song-meta input[type=number]{background:var(--app-sheen);color:var(--app-text, #e8eef4);border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xs);padding:3px 6px;font-size:var(--app-fs-md)}.sc-song-meta input[type=number]{width:54px}.sc-minor{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.sc-tabs{display:flex;gap:6px;margin-left:auto}.sc-tab{background:#ffffff0a;border:1px solid var(--app-border, var(--app-line));color:var(--app-text-muted, #9fb2c0);border-radius:var(--app-radius-pill);padding:6px 16px;font-size:var(--app-fs-lg);cursor:pointer}.sc-tab.on{background:#f3ba6224;border-color:#f3ba6266;color:var(--app-accent-text, #f3ba62)}.sc-actions{display:flex;gap:8px}.sc-empty{padding:60px 20px;text-align:center;color:var(--app-text-muted, #9fb2c0);border:1px dashed var(--app-border, rgba(230, 237, 242, .15));border-radius:var(--app-radius-xl, 18px)}.sc-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.sc-measure{border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xl, 18px);background:var(--app-panel, rgba(15, 22, 28, .6));padding:12px 14px}.sc-measure-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.sc-no{min-width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#10161c;background:var(--app-accent, #f3ba62);font-size:var(--app-fs-lg)}.sc-chord{background:#f3ba621a;border:1px solid rgba(243,186,98,.3);color:var(--app-accent-text, #f3ba62);border-radius:var(--app-radius-pill);padding:5px 14px;font-size:var(--app-fs-lg);font-weight:600;cursor:pointer;min-width:48px}.sc-chord-input{width:110px;background:#ffffff0f;border:1px solid var(--app-accent-45);color:var(--app-text, #e8eef4);border-radius:var(--app-radius-pill);padding:5px 12px;font-size:var(--app-fs-lg);outline:none}.sc-add{margin-left:auto;background:transparent;border:1px dashed var(--app-line-lighter);color:var(--app-text-muted, #9fb2c0);border-radius:var(--app-radius-pill);padding:4px 10px;font-size:var(--app-fs-md);cursor:pointer}.sc-add:hover{color:var(--app-accent-text, #f3ba62);border-color:var(--app-accent-45)}.sc-frames{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.sc-fields{display:flex;gap:8px;margin-top:10px}.sc-field{flex:1;min-width:90px;background:var(--app-sheen);border:1px solid var(--app-border, var(--app-line));color:var(--app-text, #e8eef4);border-radius:var(--app-radius-sm);padding:7px 12px;font-size:var(--app-fs-lg);outline:none}.sc-field:focus{border-color:var(--app-accent-45)}.sc-dynamic{display:flex;flex-direction:column;gap:14px}.sc-stage-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.sc-stage{position:relative;width:min(900px,100%);border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xl, 18px);background:var(--app-panel, rgba(15, 22, 28, .6));padding:14px;box-sizing:border-box}.sc-stage-board svg{width:100%;height:auto;display:block}.sc-stage svg *{pointer-events:none}.sc-stage-info{display:flex;align-items:center;gap:12px;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-lg)}.sc-timeline{display:flex;gap:12px;align-items:stretch;border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xl, 18px);background:var(--app-panel, rgba(15, 22, 28, .6));padding:10px 12px;overflow-x:auto}.sc-tl-controls{display:flex;flex-direction:column;gap:6px;justify-content:center;flex:0 0 auto}.sc-tl-play{min-width:46px;height:40px;border-radius:12px;border:1px solid var(--app-accent-45);background:#f3ba621a;color:var(--app-accent-text, #f3ba62);font-size:16px;cursor:pointer}.sc-tl-play.on{background:#f3ba6238}.sc-tl-controls select{background:var(--app-sheen);color:var(--app-text-muted, #9fb2c0);border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-sm);padding:4px 6px;font-size:var(--app-fs-sm)}.sc-tl-strip{display:flex;gap:10px;overflow-x:auto;flex:1}.sc-tl-measure{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;padding:6px 8px;border:1px solid var(--app-line-soft);border-radius:12px}.sc-tl-measure.current{border-color:#f3ba6280}.sc-tl-label{display:flex;gap:6px;align-items:baseline;color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-sm)}.sc-tl-label b{color:var(--app-accent-text, #f3ba62);font-size:var(--app-fs-md)}.sc-tl-frame{flex:0 0 96px;border:2px solid transparent;border-radius:var(--app-radius-sm);overflow:hidden;cursor:pointer;background:#00000040}.sc-tl-frame.active{border-color:var(--app-accent, #f3ba62);box-shadow:0 0 0 3px #f3ba622e}.sc-tl-frame svg{width:100%;height:auto;display:block;pointer-events:none}html[data-theme=light] .sc-measure,html[data-theme=light] .sc-stage,html[data-theme=light] .sc-timeline{background:#f8fbfeeb}.dyn-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;margin:0 auto;border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xl, 18px);background:var(--app-panel, rgba(15, 22, 28, .6));position:relative;max-width:1080px}.dyn-toolbar.on{border-color:#f3ba628c;box-shadow:0 0 0 1px #f3ba6240}.dyn-btn{background:var(--app-sheen);border:1px solid var(--app-border, var(--app-line));color:var(--app-text-muted, #9fb2c0);border-radius:var(--app-radius-sm);padding:5px 10px;font-size:var(--app-fs-md);cursor:pointer;white-space:nowrap}.dyn-btn:hover:not(:disabled){color:var(--app-text, #e8eef4)}.dyn-btn:disabled{opacity:.4;cursor:default}.dyn-btn.on{color:#10161c;background:var(--app-accent, #f3ba62);border-color:transparent}.dyn-mode.on{animation:dynPulse 2s ease-in-out infinite}@keyframes dynPulse{0%,to{box-shadow:0 0 #f3ba6266}50%{box-shadow:0 0 0 5px #f3ba6200}}.dyn-scheme{padding:4px 6px}.dyn-scheme-dot{display:inline-block;width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff40}.dyn-scheme-dot.scheme-blue{background:#7c7ad6}.dyn-scheme-dot.scheme-green{background:#4ecf9f}.dyn-scheme-dot.scheme-red{background:#e06c6c}.dyn-scheme-dot.scheme-purple{background:#a86ce0}.goto-dynamic{display:block;margin:0 auto 8px}.dyn-framepos{font-size:var(--app-fs-md);font-variant-numeric:tabular-nums;color:var(--app-text, #e8eef4);min-width:34px;text-align:center;white-space:nowrap}.dyn-frames-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 10px;margin:0 auto 6px;max-width:1080px;border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xl, 18px);background:var(--app-panel, rgba(15, 22, 28, .6))}.fretboard-stage-wrap.playing .note{transition:opacity .1s ease}g.drag-fx-layer circle[stroke-dasharray]{animation:dyn-arm-pulse .9s ease-in-out infinite}@keyframes dyn-arm-pulse{0%,to{opacity:.45}50%{opacity:1}}.dyn-frame-thumb{position:relative;flex:0 0 auto;width:168px;border:2px solid transparent;border-radius:var(--app-radius-sm);overflow:hidden;cursor:pointer;opacity:.75;transition:opacity .15s,border-color .15s}.dyn-frame-thumb:hover{opacity:1}.dyn-frame-thumb{position:relative}.dyn-thumb-add{flex:0 0 auto;width:64px;border:2px dashed rgba(230,237,242,.45);border-radius:var(--app-radius-sm);background:#2e6cca2e;color:#ffffffe0;font-size:30px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.dyn-thumb-add:hover{background:#2e6ccad9;border-color:#2e6cca;color:#fff}.dyn-thumb-add:disabled{opacity:.35;cursor:default}.dyn-thumb-del{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:16px;padding:0;font-size:var(--app-fs-md);border:none;border-radius:5px;cursor:pointer;color:#fff;background:#00000073;opacity:0;transition:opacity .12s ease;z-index:4}.dyn-frame-thumb:hover .dyn-thumb-del{opacity:1}.dyn-thumb-del:hover{background:#cd5c5ce6}.dyn-thumb-del:disabled{opacity:.35;cursor:default}.dyn-frame-thumb.active{opacity:1;border-color:var(--app-accent, #f3ba62)}.dyn-frame-thumb svg{width:100%;height:auto;display:block;filter:brightness(1.12)}.dyn-frame-thumb path.frets,.dyn-frame-thumb path.string{stroke-width:2.5px!important}.dyn-frame-thumb g.note>text{font-size:30px}.dyn-frame-thumb .marker{font-size:26px}.dyn-frame-no{position:absolute;left:5px;top:4px;font-size:var(--app-fs-xs);font-weight:700;color:var(--app-accent-text, #f3ba62);background:#0000008c;border-radius:7px;padding:1px 6px}.dyn-frames-strip[data-mode=preview] .dyn-frame-thumb{cursor:pointer}.dynamic-right-panel .menu-left,.dynamic-right-panel .menu-section-panel,.dynamic-right-panel .menu-download-button,.dynamic-right-panel .menu-global-actions,.dynamic-right-panel .menu-preset-button{display:none!important}.dynamic-right-panel .menu{justify-content:center}.dyn-right{margin-left:auto}.dyn-sep{width:1px;height:20px;background:var(--app-border, var(--app-line))}.dyn-settings-sep{margin:8px 0 4px;font-size:var(--app-fs-sm);opacity:.6;border-top:1px solid var(--app-line);padding-top:8px}.dyn-settings-checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.dyn-settings-check{display:flex;align-items:center;gap:6px;font-size:var(--app-fs-md);cursor:pointer}.dyn-settings-check input{accent-color:#e69d42}.dyn-settings{position:absolute;top:calc(100% + 8px);right:0;display:flex;gap:14px;padding:10px 14px;border:1px solid var(--app-border, var(--app-line));border-radius:12px;background:var(--app-panel, rgba(15, 22, 28, .95));z-index:60}.dyn-settings label{display:flex;flex-direction:column;gap:4px;font-size:var(--app-fs-sm);color:var(--app-text-muted, #9fb2c0)}.dyn-settings input{width:84px;background:var(--app-sheen);border:1px solid var(--app-border, var(--app-line));border-radius:var(--app-radius-xs);color:var(--app-text, #e8eef4);padding:4px 6px;font-size:var(--app-fs-md)}.dyn-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--app-radius-pill);font-size:var(--app-fs-md);color:var(--app-accent-text, #f3ba62);background:#f3ba6224;border:1px solid rgba(243,186,98,.4)}.dyn-badge-sep{opacity:.35;margin:0 2px}.dyn-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--app-accent, #f3ba62);animation:dynPulse 1.6s ease-in-out infinite}.clip-preview{position:relative;width:100%}.clip-preview svg{width:100%;height:auto;display:block;filter:brightness(1.12)}.dock-clip-board path.frets,.dock-clip-board path.string{stroke-width:2.5px!important}.dock-clip-board g.note{stroke-width:2px}.dock-clip-board g.note>text{font-size:30px}.dock-clip-board .marker{font-size:26px}.clip-preview-fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;pointer-events:none}.dock-clip{position:relative;display:flex;flex-direction:column;gap:4px;width:240px}.dock-clip.current .dock-clip-board{border-color:var(--app-accent, #f3ba62);box-shadow:0 0 0 2px #f3ba6259}.dock-clip.current .dock-clip-board:after{content:"当前";position:absolute;top:4px;left:4px;z-index:2;padding:1px 8px;border-radius:var(--app-radius-pill);background:#f3ba62eb;color:#20180a;font-size:var(--app-fs-xs);font-weight:700}.dock-clip-board{position:relative;cursor:pointer;border-radius:var(--app-radius-sm);overflow:hidden;border:1px solid var(--app-border, var(--app-line))}.dock-clip-board:hover{border-color:var(--app-accent, #f3ba62)}.dock-clip-info{display:flex;align-items:center;gap:6px;padding:0 2px;min-height:22px}.dock-clip-name{flex:1;min-width:0;font-size:var(--app-fs-sm);color:var(--app-text-muted, #9fb2c0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text;text-align:left}.dock-clip-name-input{flex:1;min-width:0;font-size:var(--app-fs-sm);box-sizing:border-box;background:var(--app-sheen);border:1px solid var(--app-accent, #f3ba62);border-radius:7px;color:var(--app-text, #e8eef4);padding:2px 6px;outline:none}.dock-clip-frames{flex:0 0 auto;font-size:var(--app-fs-xs);font-weight:700;color:var(--app-accent-text, #f3ba62);background:var(--app-accent-12);border-radius:6px;padding:1px 6px}.dock-clip-del{flex:0 0 auto;width:20px;height:20px;border-radius:6px;border:none;background:transparent;color:var(--app-text-muted, #9fb2c0);opacity:.45;font-size:var(--app-fs-lg);line-height:1;cursor:pointer;transition:opacity .15s,color .15s,background .15s;padding:0}.dock-clip:hover .dock-clip-del,.dock-clip-del:focus-visible{opacity:1}.dock-clip-del:hover{color:#ff7b72;background:#ff7b721f}.dock-empty{color:var(--app-text-muted, #9fb2c0);font-size:var(--app-fs-md);padding:6px 2px}.top-nav{display:flex;align-items:center;gap:18px;height:46px;padding:0 16px;position:sticky;top:0;z-index:1200;background:var(--app-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--app-border)}.top-nav-logo{display:flex;align-items:center;gap:7px;background:transparent;border:none;cursor:pointer;padding:0;color:var(--app-text);font-weight:700;font-size:var(--app-fs-lg);letter-spacing:.5px}.top-nav-logo-icon{font-size:17px}.top-nav-logo-text{opacity:.9}.top-nav-tabs{min-width:0}.top-nav-tabs button{white-space:nowrap}.top-nav-tabs{display:flex;align-items:stretch;height:100%;gap:2px}.top-nav-tab{position:relative;background:transparent;border:none;cursor:pointer;padding:0 14px;color:var(--app-text-muted);font-size:13.5px;transition:color .15s;height:100%}.top-nav-tab:hover{color:var(--app-text)}.top-nav-tab.on{color:var(--app-accent-text);font-weight:600}.top-nav-tab.on:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--app-accent)}.top-nav-right{margin-left:auto;display:flex;align-items:center;gap:4px}.top-nav-right{position:relative}.cc-prefs{position:absolute;top:calc(100% + 6px);right:0;z-index:300;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);padding:5px;min-width:170px;box-shadow:0 12px 34px #0000004d;display:flex;flex-direction:column}.cc-prefs-ver{font-size:var(--app-fs-xs);color:var(--app-text-soft);padding:4px 10px;border-bottom:1px solid var(--app-border);margin-bottom:4px}.cc-prefs button{border:none;background:transparent;color:var(--app-text);text-align:left;padding:7px 10px;font-size:var(--app-fs-md);border-radius:7px;cursor:pointer;white-space:nowrap}.cc-prefs button:hover{background:var(--app-panel-soft)}.top-nav-user{display:inline-flex;align-items:center;gap:4px}.top-nav-cloudfail{color:#ff8a80;font-size:var(--app-fs-md);animation:cloudfailPulse 1.2s ease-in-out infinite}@keyframes cloudfailPulse{50%{opacity:.45}}.top-nav-user-name{font-size:var(--app-fs-md);color:var(--app-accent-text, #6fb0ff);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav-ver{font-size:var(--app-fs-2xs);color:var(--app-text-soft);opacity:.7;margin-right:4px;font-variant-numeric:tabular-nums}.top-nav-icon{min-width:30px;height:30px;font-size:15px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;box-sizing:border-box}.top-nav-icon{min-width:34px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--app-radius-xs);color:var(--app-text-muted);cursor:pointer;font-size:var(--app-fs-md);transition:color .15s,background .15s}.top-nav-icon:hover{color:var(--app-text);background:var(--app-panel-soft)}.cc-page{flex:1;align-self:stretch;min-width:0;min-height:calc(100vh - 46px);display:flex;flex-direction:column;background:var(--app-bg);color:var(--app-text);font-size:var(--app-fs-lg)}.cc-toolbar{display:flex;flex-direction:column;background:var(--app-panel);border-bottom:1px solid var(--app-border);padding:0 14px}.cc-tabs-row{display:flex;align-items:center;gap:10px;padding:7px 0 0}.cc-tools-row{display:flex;align-items:center;gap:8px;padding:8px 0;overflow-x:auto;scrollbar-width:none;min-height:54px}.cc-tools-row::-webkit-scrollbar{display:none}.cc-tooltabs{display:flex;gap:4px}.cc-tooltabs button{background:transparent;border:none;border-radius:8px 8px 0 0;color:var(--app-text-muted);cursor:pointer;font-size:13.5px;padding:7px 16px 6px;border-bottom:2px solid transparent}.cc-tooltabs button:hover{color:var(--app-text)}.cc-tooltabs button.on{color:var(--app-accent-text);font-weight:600;border-bottom-color:var(--app-accent)}.cc-tools-label{color:var(--app-accent-text);font-size:var(--app-fs-sm);font-weight:600;flex:none}.cc-toolbar .button,.cc-toolbar select,.cc-toolbar .cc-field{flex:none}.cc-toolbar .cc-flex{flex:1 0 auto;min-width:10px}.cc-measuretools{display:flex;align-items:center;gap:7px}.cc-iconbtn{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--app-text-muted);font-size:var(--app-fs-md);white-space:nowrap}.cc-iconbtn input{accent-color:var(--app-accent)}.cc-more-wrap{position:relative;flex:none}.cc-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);padding:5px;z-index:300;box-shadow:0 12px 34px #0000004d;display:flex;flex-direction:column}.cc-menu-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:transparent;border:none;border-radius:var(--cc-ctl-radius);font-size:var(--cc-ctl-fs, 12.5px);color:var(--app-text);font-size:var(--app-fs-md);padding:7px 10px;cursor:pointer;text-align:left;white-space:nowrap}.cc-menu-item:hover{background:var(--app-panel-soft)}.cc-menu-item.danger{color:var(--app-danger)}.cc-menu-item select{background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:6px;color:var(--app-text);padding:2px 5px}.cc-menu-sep{height:1px;background:var(--app-border);margin:4px 6px}.cc-cp-wrap{position:absolute;z-index:500}.cc-cp{position:relative;width:328px;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:12px;padding:10px 10px 8px;box-shadow:0 14px 38px #0000003d;display:flex;flex-direction:column;gap:7px}.cc-cp-menu{display:flex;align-items:center;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--app-border);margin-bottom:8px}.cc-cp-cur{display:inline-flex;align-items:baseline;gap:6px;padding:2px 9px;border:1px solid var(--app-border);border-radius:8px;background:#78a0c814;font-weight:600;min-height:24px;align-items:center}.cc-cp-cur .csign{font-size:15px}.cc-cp-cur small{font-size:11px;color:var(--app-text-soft);font-weight:400}.cc-cp-menu button{background:var(--cc-ctl-bg, var(--app-bg-secondary));border:var(--cc-ctl-border, 1px solid var(--app-border));border-radius:var(--cc-ctl-radius);color:var(--app-text-muted);cursor:pointer;font-size:13.5px;padding:4px 9px}.cc-cp-menu button small{font-size:var(--app-fs-xs)}.cc-cp-menu button:hover:not(:disabled){border-color:var(--app-accent);color:var(--app-accent-text)}.cc-cp-menu button:disabled{opacity:.35;cursor:default}.cc-cp-menu button.danger:hover:not(:disabled){border-color:var(--app-danger);color:var(--app-danger)}.cc-cp-menu .cc-cp-back{margin-left:auto}.cc-cp-accrow{display:flex;align-items:center;gap:5px}.cc-cp-accrow button{min-width:34px;height:26px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:7px;color:var(--app-text);font-size:var(--app-fs-lg);cursor:pointer}.cc-cp-accrow button.on{border-color:var(--app-accent);color:var(--app-accent-text);background:var(--app-accent-09)}.cc-cp-accrow button:disabled{opacity:.35;cursor:default}.cc-cp-rhythms{display:flex;flex-wrap:wrap;gap:5px}.cc-cp-rhythms button{background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:7px;color:var(--app-text);font-size:var(--app-fs-md);padding:6px 12px;cursor:pointer}.cc-cp-rhythms button.on{border-color:var(--app-accent);color:var(--app-accent-text);background:var(--app-accent-09)}.cc-cp-tabs{display:flex;gap:0;margin-top:9px;border-top:1px solid var(--app-border);padding-top:7px}.cc-cp-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:transparent;border:none;border-radius:7px;color:var(--app-text-muted);font-size:var(--app-fs-md);padding:5px 4px;cursor:pointer}.cc-cp-tabs button.on{color:var(--app-accent-text);background:#f3ba621a;font-weight:600}.cc-cp-tabs kbd{font-size:9.5px;border:1px solid var(--app-border);border-radius:4px;padding:0 3px;color:var(--app-text-soft)}.cc-cp-morebtn.on{border-color:var(--app-accent);color:var(--app-accent-text)}.cc-cp-degrees{display:flex;align-items:stretch;gap:4px}.cc-cp-deg{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);color:var(--app-text);cursor:pointer;padding:6px 0 4px;font-size:17px;line-height:1}.cc-cp-deg small{font-size:9px;color:var(--app-text-soft)}.cc-cp-deg:hover{border-color:var(--app-border-strong)}.cc-cp-deg.on{border-color:var(--app-accent);color:var(--app-accent-text);background:var(--app-accent-09)}.cc-cp-accs{display:flex;flex-direction:column;gap:2px;justify-content:center}.cc-cp-accs button{width:22px;height:20px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:5px;color:var(--app-text-muted);font-size:var(--app-fs-xs);cursor:pointer}.cc-cp-accs button.on{border-color:var(--app-accent);color:var(--app-accent-text)}.cc-cp-accs button:disabled{opacity:.35;cursor:default}.cc-cp-quals{display:flex;flex-wrap:wrap;gap:4px}.cc-cp-quals button{flex:1 0 auto;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:7px;color:var(--app-text);font-size:var(--app-fs-sm);padding:5px 0;cursor:pointer;min-width:34px}.cc-cp-quals button.on{border-color:var(--app-accent);color:var(--app-accent-text);background:var(--app-accent-09)}.cc-cp-quals button:disabled{opacity:.35;cursor:default}.cc-cp-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.cc-cp-bass{display:inline-flex;align-items:center;gap:3px}.cc-cp-bass small{color:var(--app-text-soft);font-size:var(--app-fs-2xs);margin-right:2px}.cc-cp-bass button{min-width:24px;height:21px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:5px;color:var(--app-text-muted);font-size:var(--app-fs-xs);cursor:pointer;padding:0 3px}.cc-cp-bass button.on{border-color:var(--app-accent);color:var(--app-accent-text)}.cc-cp-bass button:disabled{opacity:.35;cursor:default}.cc-cp-actions{display:inline-flex;gap:3px}.cc-cp-actions button{min-width:27px;height:23px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:6px;color:var(--app-text-muted);font-size:var(--app-fs-sm);cursor:pointer}.cc-cp-actions button:hover:not(:disabled){color:var(--app-accent-text);border-color:var(--app-accent)}.cc-cp-actions button:disabled{opacity:.35;cursor:default}.cc-cp-actions button.danger:hover:not(:disabled){color:var(--app-danger);border-color:var(--app-danger)}.cc-cp-typing{color:var(--app-accent-text);font-size:var(--app-fs-sm);font-weight:600}.cc-cp-hint{color:var(--app-text-soft);font-size:var(--app-fs-xs)}.cc-page{padding-bottom:16px}.cc-copybar{display:flex;align-items:center;gap:10px;background:var(--cc-accent-weak, rgba(61, 139, 255, .12));border:1px solid var(--cc-accent, #3d8bff);border-radius:var(--app-radius-sm);padding:7px 12px;margin-bottom:12px;font-size:var(--app-fs-md);color:var(--app-text);animation:ccModalIn .14s ease-out}.cc-copybar b{color:var(--cc-accent-text, #2f7ae8);white-space:nowrap}.cc-copybar-state{color:var(--app-text-muted)}.cc-copybar kbd{background:var(--app-panel-soft);border:1px solid var(--app-border);border-radius:4px;padding:0 4px;font-size:var(--app-fs-2xs);color:var(--app-text-soft)}.cc-page.cc-copying .cc-line-cells{cursor:pointer}.cc-page.cc-copying{user-select:none;-webkit-user-select:none}.cc-page.cc-copying .cc-cell>*{pointer-events:none}.cc-page.cc-copying .cc-cell{opacity:.42;transition:opacity .15s}.cc-page.cc-copying .cc-cell.sel{opacity:1;background:var(--cc-accent-weak, rgba(61, 139, 255, .12));border-top:2px solid var(--cc-accent, #3d8bff);border-bottom:2px solid var(--cc-accent, #3d8bff)}.cc-page.cc-copying .cc-cell.sel-first{border-left:2px solid var(--cc-accent, #3d8bff);border-radius:9px 0 0 9px}.cc-page.cc-copying .cc-cell.sel-last{border-right:2px solid var(--cc-accent, #3d8bff);border-radius:0 9px 9px 0}.cc-page.cc-copying .cc-cell.sel-first.sel-last{border-radius:9px}.cc-guide{background:var(--app-panel-soft);border:1px dashed var(--app-border-strong);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--app-fs-md);line-height:1.7;padding:10px 14px;margin-bottom:14px}.cc-songsel{max-width:150px}.cc-freqbar{display:flex;align-items:center;gap:10px;flex:1}.cc-freq-chord{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;flex:1;max-width:90px;min-width:52px;padding:7px 8px 6px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);color:var(--app-text);font-size:15px;font-weight:600;cursor:pointer}.cc-freq-chord small{font-size:9.5px;color:var(--app-text-muted);font-weight:400}.cc-freq-chord:hover{border-color:var(--app-accent);color:var(--app-accent-text)}.cc-freq-tool{min-width:30px;height:36px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);color:var(--app-text-muted);font-size:var(--app-fs-lg);cursor:pointer}.cc-freq-tool:hover{border-color:var(--app-accent);color:var(--app-accent-text)}.cc-sep{width:1px;height:20px;background:var(--app-border-strong);margin:0 4px}.cc-flex{flex:1}.cc-field{display:inline-flex;align-items:center;gap:5px;color:var(--app-text-muted);white-space:nowrap;font-size:var(--app-fs-md)}.cc-field select,.cc-toolbar select,.cc-toolbar input[type=number]{background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:6px;color:var(--app-text);padding:3px 6px;font-size:var(--app-fs-md)}.cc-field input[type=number]{width:56px}.cc-body{flex:1;display:flex;flex-direction:column;padding:16px;max-width:2200px;width:100%;margin:0 auto}.cc-score{position:relative;flex:0 0 auto;background:var(--app-panel);border:1px solid var(--app-border);border-radius:var(--app-radius-md);padding:14px 10px 12px;min-width:0}.cc-settings-btn{border:1px solid var(--cc-line, rgba(230,237,242,.18));background:var(--cc-panel-soft, rgba(230,237,242,.05));color:var(--cc-text, #dfe7ee);border-radius:var(--cc-radius, 8px);padding:3px 10px;font-size:var(--app-fs-md);cursor:pointer;white-space:nowrap}.cc-settings-btn:hover,.cc-settings-btn.on{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #6fb0ff)}.cc-compact-btn{border:1px solid var(--cc-line, rgba(230,237,242,.18));background:var(--cc-panel-soft, rgba(230,237,242,.05));color:var(--cc-muted, #9fb2c0);border-radius:var(--cc-radius, 8px);padding:3px 10px;font-size:var(--app-fs-sm);cursor:pointer;white-space:nowrap;margin-left:6px}.cc-compact-btn:hover{border-color:var(--cc-accent, #3d8bff)}.cc-compact-btn.on{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #6fb0ff);background:#3d8bff1f}.cc-beat.cc-beat-pair .cc-beat-units.halved{gap:2px}.cc-settings{position:absolute;top:calc(100% + 6px);left:0;z-index:70;background:var(--cc-panel, #10161c);border:1px solid var(--cc-line, rgba(230,237,242,.16));border-radius:12px;padding:10px 12px;min-width:300px;max-width:min(420px,92vw);box-shadow:0 14px 40px #00000073;display:flex;flex-direction:column;gap:10px}.cc-settings-group{display:flex;flex-direction:column;gap:6px}.cc-settings-group+.cc-settings-group{border-top:1px solid var(--cc-line, rgba(230,237,242,.12));padding-top:10px}.cc-settings-label{font-size:var(--app-fs-xs);color:var(--cc-muted, #9fb2c0);letter-spacing:.5px}.cc-settings-row{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:8px;font-size:var(--app-fs-md);color:var(--cc-text, #dfe7ee)}.cc-settings-k{color:var(--cc-muted, #9fb2c0)}.cc-settings-v{display:inline-flex;align-items:center;gap:6px}.cc-settings-row select,.cc-settings-row input[type=number]{background:var(--cc-input, #0d1319);border:1px solid var(--cc-line, rgba(230,237,242,.2));color:var(--cc-text, #dfe7ee);border-radius:6px;padding:2px 6px;font-size:var(--app-fs-md)}.cc-settings-row input[type=number]{width:64px}.cc-settings-seg{display:inline-flex;border:1px solid var(--cc-line, rgba(230,237,242,.18));border-radius:7px;overflow:hidden}.cc-settings-seg{border-radius:var(--cc-ctl-radius)}.cc-settings-seg button{border:none;background:transparent;color:var(--cc-muted, #9fb2c0);padding:3px 10px;font-size:var(--cc-ctl-fs, 12.5px);cursor:pointer}.cc-settings-seg button+button{border-left:1px solid var(--cc-line, rgba(230,237,242,.14))}.cc-settings-seg button.on{background:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #fff)}.cc-settings-rowbtn{border:1px dashed var(--cc-line, rgba(230,237,242,.25));background:transparent;color:var(--cc-text, #dfe7ee);border-radius:var(--cc-ctl-radius);padding:4px 12px;cursor:pointer;align-self:flex-start}.cc-settings-rowbtn:hover{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #6fb0ff)}.cc-score-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--app-border);margin-bottom:16px}.cc-score-head .cc-score-meta{position:relative;justify-content:flex-start}.cc-score-head .cc-score-title{align-self:center}.cc-score-title{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--app-text);font-size:20px;font-weight:700;text-align:center;padding:2px 10px;width:280px}.cc-score-title:hover,.cc-score-title:focus{border-color:var(--app-border-strong);outline:none}.cc-score-meta{display:flex;align-items:center;justify-content:center;gap:26px;color:var(--app-text);font-size:14.5px;font-weight:500}.cc-meta{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.cc-meta select,.cc-meta input[type=number]{background:transparent;border:1px solid transparent;border-radius:5px;color:var(--app-text);font-size:13.5px;font-weight:600;padding:1px 3px;min-width:0}.cc-meta select:hover,.cc-meta select:focus,.cc-meta input[type=number]:hover,.cc-meta input[type=number]:focus{border-color:var(--app-border-strong);outline:none;background:var(--app-bg-secondary)}.cc-meta input[type=number]{width:46px}.cc-meta-perline{color:var(--app-text-soft);font-weight:400}.cc-line{display:flex;margin-bottom:12px}.cc-line-head{width:14px;flex:none;display:flex;flex-direction:column;align-items:flex-end;padding-right:4px;gap:3px}.cc-line-no-float{position:absolute;left:2px;top:0;z-index:5;pointer-events:none;opacity:.7}.cc-line{position:relative}@media (max-width: 640px){.menu-download-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 6px}.menu-download-row .menu-checkbox{padding:2px 3px;border-radius:6px;background:#ffffff0a;gap:3px;white-space:nowrap;justify-content:flex-start}.menu-download-row .menu-checkbox input{width:12px;height:12px;margin:0;flex:none}.fretboard-stage svg{max-width:100%;height:auto}.fretboard-stage .fwt{flex:0 0 auto}.menu{padding:12px 0}.cc-copybar{flex-wrap:wrap;gap:4px 8px;padding:6px 10px;font-size:var(--app-fs-sm)}.cc-copybar-state{white-space:normal;line-height:1.5}.app-main{padding:2px!important}.cc-page .cc-body{padding:2px}.cc-page .cc-score{padding:6px}.cc-cell{padding:4px 5px 2px}.cc-page .cc-cell-slots{gap:3px}.cc-page .cc-tooltabs button{padding:5px 8px 4px}.cc-score-head{gap:4px}.cc-beat .csign,.cc-beat .cc-glyph{zoom:.78}.cc-cell-lyrics{font-size:var(--app-fs-2xs)}}@media (min-width: 641px) and (max-width: 800px){.cc-beat .csign,.cc-beat .cc-glyph{zoom:.88}}.cc-line-no{color:var(--app-text-soft);font-size:var(--app-fs-xs)}.cc-line-section{color:var(--app-accent);font-size:var(--app-fs-sm);font-weight:600;cursor:pointer;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-line-cells{display:grid;grid-template-columns:repeat(4,1fr);flex:1;min-width:0}.cc-page{--cc-bar-ink: var(--app-text-muted)}.cc-cell{position:relative;min-width:0;padding:4px 9px 2px 6px;display:flex;flex-direction:column}.cc-cell:before{content:"";position:absolute;left:0;bottom:0;width:1.5px;background:var(--cc-bar-ink)}.cc-cell:has(.cc-cell-figs.pad):before{top:116px}.cc-cell:not(:has(.cc-cell-figs.pad)):before{top:0}.cc-cell:first-child:before{width:3px}.cc-cell.cur{background:var(--app-panel-soft)}.cc-cell.end-double:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1.5px;background:var(--cc-bar-ink);box-shadow:-4px 0 0 var(--cc-bar-ink)}.cc-cell.end-final:after{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--cc-bar-ink);box-shadow:-5.5px 0 0 var(--cc-bar-ink)}.cc-cell.end-repeatEnd:after{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--cc-bar-ink);box-shadow:-5.5px 0 0 var(--cc-bar-ink)}.cc-cell.end-repeatEnd,.cc-cell.end-final{padding-right:12px}.cc-cell.rep-start{padding-left:12px}.cc-cell.rep-start:before{width:4px;box-shadow:4.5px 0 0 var(--cc-bar-ink)}.cc-bardots{position:absolute;top:50%;width:5px;height:5px;margin-top:-2.5px;pointer-events:none;z-index:2}.cc-bardots:before,.cc-bardots:after{content:"";position:absolute;left:0;width:5px;height:5px;border-radius:50%;background:var(--cc-bar-ink)}.cc-bardots:before{top:-9px}.cc-bardots:after{top:9px}.cc-bardots.end{right:14px}.cc-bardots.start{left:14px}.cc-house{font-size:var(--app-fs-xs);color:var(--app-accent-text);padding:0 6px 0 2px;border-top:1.5px solid var(--app-accent);border-right:1.5px solid var(--app-accent);border-radius:0 6px 0 0;line-height:12px}.cc-add-cell{flex:0 0 44px;margin-left:6px;border:1.5px dashed var(--app-border-strong);border-radius:var(--app-radius-xs);background:transparent;color:var(--app-text-soft);font-size:17px;cursor:pointer;transition:all .15s}.cc-add-cell:hover{color:var(--app-accent);border-color:var(--app-accent);background:#f3ba620f}.cc-cell-figs{display:flex;align-items:flex-start;gap:5px;margin-bottom:4px;min-height:0}.cc-cell-figs:empty:not(.pad){display:none}.cc-cell-figs.pad{min-height:112px}.cc-cell-figslot{flex:1;display:flex;gap:2px;min-width:0;position:relative}.cc-cell-figslot .cc-figview{flex:1;display:flex;justify-content:center;min-width:0}.cc-cell-figs svg{height:108px;width:auto;max-width:100%;display:block}.cc-cell-slots{display:flex;gap:6px;min-height:78px}.cc-page{--cc-grid-ink: rgba(180, 218, 232, .11)}html[data-theme=light] .cc-page{--cc-grid-ink: rgba(44, 76, 109, .15)}.cc-beat{flex:1;position:relative;border:1.5px solid var(--cc-grid-ink);border-radius:var(--app-radius-xs);cursor:pointer;min-width:0;display:flex;align-items:stretch;transition:background .12s,border-color .12s}.cc-beat>.cc-beat-units>.cc-beat-unit:only-child:empty:after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--cc-grid-ink)}.cc-beat:hover,.cc-beat.cur{--cc-grid-ink: var(--cc-accent, #3d8bff)}.cc-beat:hover{background:var(--app-panel-soft)}.cc-beat.cur{border-color:var(--app-accent);background:#f3ba6214}.cc-beat.playing,.cc-beat-unit.playing{border-color:var(--app-success);background:#88d39f1a}.cc-beat-splitmark{position:absolute;top:1px;right:3px;color:var(--app-text-soft);font-size:9px}.cc-beat-units{display:flex;flex-direction:column;gap:1px;width:100%}.cc-beat-units.halved{flex-direction:row}.cc-beat-unit{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:5px;position:relative;min-height:24px;padding:6px 2px}.cc-beat-unit.cur{outline:1px solid var(--app-accent);background:var(--app-panel-soft)}.cc-chordsign{display:inline-flex;align-items:baseline;font-size:16.5px;font-weight:600;line-height:1.15;white-space:nowrap}.cc-chordsign-compact{font-size:var(--app-fs-md);font-weight:600;white-space:nowrap}.cc-glyph{color:var(--app-text-muted);font-size:16px}.cc-glyph.hold{color:var(--app-text-muted)}.cc-glyph.empty{opacity:.38;font-size:var(--app-fs-md);transition:opacity .12s}.cc-beat:hover .cc-glyph.empty{opacity:.8}.cc-beat.cur .cc-glyph.empty{opacity:.95;color:var(--app-accent)}.cc-rhythm-mark{position:absolute;bottom:0;right:3px;font-size:8.5px;color:var(--app-accent)}.cc-cell-lyrics{margin-top:auto}.cc-cell-lyrics{width:100%;margin-top:10px;background:transparent;border:none;border-bottom:1px dashed transparent;color:var(--app-text);font-size:var(--app-fs-md);padding:3px 4px;text-align:center}.cc-cell-lyrics:hover,.cc-cell-lyrics:focus{outline:none;border-bottom-color:var(--app-border-strong)}.cc-cell-lyrics:not(.has){opacity:0;transition:opacity .12s}.cc-cell:hover .cc-cell-lyrics,.cc-cell-lyrics:focus{opacity:1}.cc-mmenu{position:absolute;top:8px;right:2px;z-index:400;min-width:340px;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);padding:5px;box-shadow:0 12px 34px #00000038;display:flex;flex-direction:column;gap:1px}.cc-mmenu>button{background:transparent;border:none;border-radius:7px;color:var(--app-text);font-size:var(--app-fs-md);padding:7px 10px;cursor:pointer;text-align:left;white-space:nowrap}.cc-mmenu>button:hover{background:var(--app-panel-soft)}.cc-mmenu>button.danger{color:var(--app-danger)}.cc-mmenu-label{color:var(--app-text-soft);font-size:var(--app-fs-xs);padding:6px 10px 2px}.cc-mmenu-row{display:flex;flex-wrap:wrap;gap:3px;padding:2px 6px 4px}.cc-mmenu-row button{background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:6px;color:var(--app-text);font-size:var(--app-fs-sm);padding:4px 8px;cursor:pointer}.cc-mmenu-row button.on{border-color:var(--app-accent);color:var(--app-accent-text);background:var(--app-panel-soft)}@keyframes ccPulse{0%{box-shadow:0 0 #f3ba628c}to{box-shadow:0 0 0 9px #f3ba6200}}.cc-panel-pulse{border-radius:12px;animation:ccPulse .45s ease-out}.cc-typing{color:var(--app-accent-text);font-size:var(--app-fs-sm);font-weight:600;margin-left:8px}.cc-hint{color:var(--app-text-soft);font-size:var(--app-fs-sm)}.cc-stage-fab{position:fixed;right:14px;bottom:14px;z-index:905;display:inline-flex;align-items:center;gap:6px;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);color:var(--app-text);font-size:var(--app-fs-md);padding:6px 12px;cursor:pointer;box-shadow:0 6px 18px #0003}.cc-stage-fab:hover{border-color:var(--cc-accent, var(--app-accent))}.cc-stage-float{position:fixed;right:14px;bottom:58px;z-index:904;width:300px;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:12px;padding:10px;box-shadow:0 12px 32px #00000040;max-height:calc(100vh - 260px);overflow:auto}.cc-stage-float svg{max-width:100%;height:auto}.cc-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:62px}.cc-stage{background:var(--app-panel);border:1px solid var(--app-border);border-radius:12px;padding:10px;min-height:130px;display:flex;align-items:center;justify-content:center;overflow:auto}.cc-stage{flex-direction:column;gap:4px}.cc-stage-label{display:flex;align-items:baseline;gap:8px;font-size:15px;color:var(--app-text);align-self:flex-start;padding:2px 4px 0}.cc-stage-label b{color:var(--app-accent-text);font-size:16px}.cc-stage-pos{color:var(--app-text-soft);font-size:var(--app-fs-sm)}.cc-stage svg{max-width:100%;height:auto}.cc-stage-empty{color:var(--app-text-soft);font-size:var(--app-fs-sm);text-align:center;padding:18px}.cc-panel{background:var(--app-panel);border:1px solid var(--app-border);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:10px}.cc-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--app-border)}.cc-panel-pos{color:var(--app-accent-text);font-size:var(--app-fs-md);font-weight:600}.cc-panel-actions{display:inline-flex;gap:2px}.cc-panel-actions button{min-width:26px;height:24px;background:transparent;border:1px solid var(--app-border);border-radius:6px;color:var(--app-text-muted);cursor:pointer;font-size:var(--app-fs-sm)}.cc-panel-actions button:hover:not(:disabled){color:var(--app-accent-text);border-color:var(--app-accent)}.cc-panel-actions button:disabled{opacity:.35;cursor:default}.cc-panel-actions button.danger:hover:not(:disabled){color:var(--app-danger);border-color:var(--app-danger)}.cc-panel-sec{display:flex;flex-direction:column;gap:6px}.cc-panel-title{color:var(--app-text-soft);font-size:var(--app-fs-sm)}.cc-grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cc-wrap,.cc-row{display:flex;flex-wrap:wrap;gap:5px}.cc-chip{background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);color:var(--app-text);cursor:pointer;padding:7px 0 6px;font-size:14.5px;display:flex;flex-direction:column;align-items:center;line-height:1.15}.cc-chip:hover:not(:disabled){border-color:var(--app-border-strong)}.cc-chip:disabled{opacity:.35;cursor:default}.cc-chip.on{border-color:var(--app-accent);color:var(--app-accent-text);background:var(--app-panel-soft)}.cc-chip.sm{flex-direction:row;padding:5px 11px;font-size:var(--app-fs-md)}.cc-chip.xs{display:inline-flex;padding:1px 7px;font-size:var(--app-fs-sm)}.cc-acc-group{display:inline-flex;gap:3px;margin-left:auto}.cc-panel-title{display:flex;align-items:center}.cc-chip-sub{font-size:var(--app-fs-2xs);color:var(--app-text-soft)}.cc-chip.on .cc-chip-sub{color:var(--app-accent)}.cc-panel-preview{color:var(--app-accent-text);font-size:var(--app-fs-md);border-top:1px dashed var(--app-border);padding-top:8px}.cc-panel-preview.dim{color:var(--app-text-soft)}html[data-theme=light] .cc-score,html[data-theme=light] .cc-stage,html[data-theme=light] .cc-panel,html[data-theme=light] .cc-toolbar{background:#fff}html[data-theme=light] .cc-score{box-shadow:0 1px 3px #0f23370f,0 8px 28px #0f23370d}html[data-theme=light] .cc-cell-tools{box-shadow:0 4px 14px #14283c24}.cc-page{--cc-accent: var(--app-accent);--cc-accent-weak: rgba(243, 186, 98, .13);--cc-accent-text: var(--app-accent-text)}.cc-page .top-nav-tab.on{color:var(--app-accent-text)}.cc-page .cc-beat.cur{border-color:var(--cc-accent);background:var(--cc-accent-weak)}.cc-page .cc-beat:hover{background:var(--cc-accent-weak)}.cc-page .cc-beat.playing,.cc-page .cc-beat-unit.playing{border-color:var(--cc-accent);background:var(--cc-accent-weak)}.cc-page .cc-beat-unit.cur{outline-color:var(--cc-accent);background:var(--cc-accent-weak)}.cc-page .cc-tooltabs button.on{color:var(--cc-accent-text);border-bottom-color:var(--cc-accent)}.cc-page .cc-freq-chord:hover,.cc-page .cc-freq-tool:hover{border-color:var(--cc-accent);color:var(--cc-accent-text)}.cc-page .cc-chip.on,.cc-page .cc-cp-deg.on,.cc-page .cc-cp-quals button.on,.cc-page .cc-cp-accrow button.on,.cc-page .cc-cp-rhythms button.on,.cc-page .cc-cp-tabs button.on,.cc-page .cc-mmenu-row button.on{border-color:var(--cc-accent);color:var(--cc-accent-text);background:var(--cc-accent-weak)}.cc-page .cc-cp-menu button:hover:not(:disabled){border-color:var(--cc-accent);color:var(--cc-accent-text)}.cc-page .cc-line-section,.cc-page .cc-panel-pos{color:var(--cc-accent-text)}.cc-page .cc-house{color:var(--cc-accent-text);border-color:var(--cc-accent)}.cc-page .cc-cell:hover .cc-glyph.empty,.cc-page .cc-beat.cur .cc-glyph.empty{color:var(--cc-accent)}.cc-page .cc-stage-label b{color:var(--cc-accent-text)}.cc-add-beat-btn{position:absolute;top:50%;right:-7px;transform:translateY(-50%);width:16px;height:16px;z-index:5;display:inline-flex;align-items:center;justify-content:center;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:50%;color:var(--app-text-muted);font-size:var(--app-fs-2xs);line-height:1;cursor:pointer;padding:0}.cc-add-beat-btn:hover{border-color:var(--cc-accent);color:var(--cc-accent-text)}.cc-glyph.hold{font-weight:700;letter-spacing:-1px}.cc-glyph.rest{font-weight:600}.cc-build-ver{position:fixed;left:12px;bottom:10px;z-index:901;font-size:var(--app-fs-2xs);color:var(--app-text-soft);opacity:.6;pointer-events:none}.cc-key-stepper{display:inline-flex;align-items:center;gap:6px}.ui-select{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;flex:none;min-width:0}.ui-select-btn,.cc-page .ui-select .ui-select-btn{display:inline-flex;align-items:center;gap:4px;min-width:0;height:var(--cc-ctl-h, 28px);padding:0 9px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--cc-ctl-radius, 6px);color:var(--app-text);font-size:var(--app-fs-md);white-space:nowrap;box-sizing:border-box;cursor:pointer}.ui-select-btn:hover:not(:disabled),.ui-select.open .ui-select-btn{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8)}.ui-select-btn:disabled{opacity:.55;cursor:default}.ui-select-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.ui-select-arrow{font-style:normal;font-size:9px;color:var(--app-text-soft)}.ui-select-menu,.cc-page .ui-select .ui-select-menu{display:flex;flex-direction:column;gap:1px;min-width:100%;max-width:280px;max-height:304px;overflow-y:auto;padding:5px;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);box-shadow:0 12px 34px #00000038;box-sizing:border-box}.ui-select-item,.cc-page .ui-select-menu .ui-select-item{display:flex;align-items:center;height:26px;padding:0 8px;background:transparent;border:0;border-radius:4px;color:var(--app-text);font-size:var(--app-fs-md);white-space:nowrap;text-align:left;cursor:pointer}.ui-select-item:hover,.ui-select-item.act{background:var(--app-panel-soft);color:var(--cc-accent-text, #2f7ae8)}.ui-select-item.on{background:var(--app-accent-12, rgba(243, 186, 98, .12));color:var(--cc-accent-text, #2f7ae8);font-weight:600}.ui-select-menu.ui-grid,.cc-page .ui-select .ui-select-menu.ui-grid{display:grid;grid-template-columns:repeat(6,minmax(34px,1fr));gap:2px;width:224px;max-width:92vw}.ui-select-menu.ui-grid .ui-select-item,.cc-page .ui-select-menu.ui-grid .ui-select-item{justify-content:center;padding:0 2px}.cc-key-stepper .cc-key-root .ui-select-btn,.cc-page .cc-key-stepper .cc-key-root .ui-select-btn{height:24px;padding:0 7px 0 9px;background:var(--app-panel-soft);border-color:var(--app-border-strong);border-radius:6px;color:var(--cc-accent-text, #2f7ae8);font-weight:600}.cc-key-stepper .cc-key-root .ui-select-btn span{font-weight:400;color:var(--app-text-soft)}.cc-key-stepper .cc-key-root .ui-select-btn b{min-width:14px;text-align:center}.cc-key-stepper .cc-key-mode button,.cc-page .cc-key-stepper .cc-key-mode button{width:auto;height:var(--cc-ctl-h, 28px);padding:0 9px;border-radius:0;font-size:var(--cc-ctl-fs, 12.5px);color:var(--app-text-soft)}.cc-key-stepper .cc-key-mode button:first-child,.cc-page .cc-key-stepper .cc-key-mode button:first-child{border-radius:var(--cc-ctl-radius) 0 0 var(--cc-ctl-radius)}.cc-key-stepper .cc-key-mode button:last-child,.cc-page .cc-key-stepper .cc-key-mode button:last-child{border-left:0;border-radius:0 var(--cc-ctl-radius) var(--cc-ctl-radius) 0}.cc-key-stepper .cc-key-mode button.on,.cc-page .cc-key-stepper .cc-key-mode button.on{background:var(--app-panel-soft);border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8);font-weight:600}.cc-key-stepper>button{width:var(--cc-ctl-h, 28px);height:var(--cc-ctl-h, 28px);background:var(--cc-ctl-bg, var(--app-bg-secondary));border:var(--cc-ctl-border, 1px solid var(--app-border));border-radius:var(--cc-ctl-radius);color:var(--app-text);font-size:var(--app-fs-lg);cursor:pointer}.cc-key-stepper button:hover{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8)}.cc-key-stepper .cc-key-clear{color:var(--app-text-soft);font-size:var(--app-fs-md)}.cc-keymark{font-size:var(--app-fs-xs);color:var(--cc-accent-text, #2f7ae8);font-weight:600;background:var(--app-panel-strong);border:1px solid var(--cc-accent, #3d8bff);border-radius:3px;padding:0 4px;line-height:14px}.cc-dynview{max-width:1560px;width:100%;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:14px}.cc-dyn-stage{background:var(--app-panel);border:1px solid var(--app-border);border-radius:var(--app-radius-md);padding:16px;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.cc-dyn-stage svg{max-width:min(860px,100%);height:auto}.cc-dyn-controls{display:flex;align-items:center;gap:10px}.cc-dyn-strip{display:flex;flex-wrap:wrap;gap:6px;background:var(--app-panel);border:1px solid var(--app-border);border-radius:12px;padding:10px}.cc-dyn-chord{background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);color:var(--app-text);font-size:var(--app-fs-lg);font-weight:600;padding:8px 13px;cursor:pointer;transition:all .1s}.cc-dyn-chord.cur{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8);background:var(--cc-accent-weak, rgba(61, 139, 255, .12));transform:scale(1.06)}.cc-tools-label2{color:var(--app-text-muted);font-size:var(--app-fs-sm);flex:none}.cc-tools-lyrics{flex:1;min-width:200px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:7px;color:var(--app-text);font-size:var(--app-fs-md);padding:6px 10px}.cc-tools-lyrics:focus{outline:none;border-color:var(--cc-accent, var(--app-accent))}.cc-tint{width:26px;height:26px;border-radius:7px;border:1.5px solid var(--app-border);cursor:pointer}.cc-tint.red{background:#f08a8459}.cc-tint.blue{background:#3d8bff59}.cc-tint.green{background:#88d39f59}.cc-tint.gold{background:#f3ba6266}.cc-tint.on{border-color:var(--cc-accent, #3d8bff);box-shadow:0 0 0 2px var(--cc-accent-weak, rgba(61, 139, 255, .25))}.cc-tools-na{color:var(--app-text-soft);font-size:var(--app-fs-md);padding:8px 2px}.cc-attach-img{max-width:100%;border-radius:var(--app-radius-xs);display:block}.cc-attach-add{width:100%;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:1.5px dashed var(--app-border-strong);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--app-fs-lg);cursor:pointer;padding:16px 8px}.cc-attach-add:hover{border-color:var(--cc-accent, var(--app-accent));color:var(--cc-accent-text, var(--app-accent-text))}.cc-attach-add small{font-size:var(--app-fs-xs);color:var(--app-text-soft)}.cc-attach-tools{display:flex;gap:6px;margin-top:8px}.cc-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#060a1085;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);z-index:2000;display:flex;align-items:center;justify-content:center}.cc-modal{width:min(460px,calc(100vw - 48px));max-height:calc(100vh - 160px);overflow:auto;background:var(--app-panel-strong);border:1px solid var(--app-border-strong);border-radius:16px;box-shadow:0 28px 80px #00000073,0 0 0 1px #ffffff08 inset;display:flex;flex-direction:column;animation:ccModalIn .16s ease-out}@keyframes ccModalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.cc-modal-head{display:flex;align-items:center;padding:16px 18px 12px}.cc-modal-title{font-size:15.5px;font-weight:700;color:var(--app-text);letter-spacing:.2px}.cc-modal-tabs{display:flex;gap:4px}.cc-modal-tabs button{background:transparent;border:1px solid var(--app-border);border-radius:7px;color:var(--app-text-muted);font-size:var(--app-fs-md);padding:4px 12px;cursor:pointer}.cc-modal-tabs button.on{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8);background:var(--cc-accent-weak, rgba(61, 139, 255, .12))}.cc-modal-x{margin-left:auto;background:transparent;border:none;color:var(--app-text-soft);font-size:var(--app-fs-md);cursor:pointer;border-radius:6px;width:26px;height:26px}.cc-modal-x:hover{color:var(--app-text);background:var(--app-panel-soft)}.cc-modal-body{padding:2px 18px 16px;display:flex;flex-direction:column;gap:12px}.cc-modal-foot{display:flex;align-items:center;justify-content:center;padding:0 18px 16px}.cc-ap-remove{background:transparent;border:none;color:var(--app-text-soft);font-size:var(--app-fs-md);cursor:pointer;border-radius:7px;padding:6px 10px}.cc-ap-remove:hover{color:var(--app-danger);background:#f08a841a}.cc-tabs-row select,.cc-preview-bar select,.cc-dyn-controls select{box-sizing:border-box;height:32px;padding:0 8px;font-size:var(--app-fs-md);border-radius:var(--app-radius-xs);border:1px solid var(--app-border);background:var(--app-bg-secondary);color:var(--app-text)}.cc-tabs-row .button.sm{height:32px;font-size:var(--app-fs-md);padding:0 12px}.cc-tabs-row .cc-iconbtn input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--cc-accent, #3d8bff)}.cc-tabs-row .cc-iconbtn{box-sizing:border-box;height:32px;display:inline-flex;align-items:center;gap:4px;font-size:var(--app-fs-lg);background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);padding:0 9px;cursor:pointer;color:var(--app-text-muted)}.cc-freq-chord,.cc-freq-tool{height:36px;font-size:var(--app-fs-lg)}.cc-key-stepper>button:not(.cc-key-mode){width:30px;height:28px;font-size:13.5px}.cc-key-stepper .cc-key-root{flex:0 0 auto}.cc-key-stepper{flex:0 0 auto;width:max-content}.cc-key-stepper .cc-key-root{min-width:72px}.cc-legend-label small{margin-left:6px;color:var(--app-text-soft);font-weight:400;font-size:var(--app-fs-xs)}.cc-legend{margin-top:18px}.cc-legend-title{display:flex;align-items:baseline;gap:8px;font-size:var(--app-fs-md);font-weight:700;color:var(--app-text);margin-bottom:8px}.cc-legend-title small{font-weight:400;color:var(--app-text-soft);font-size:var(--app-fs-xs)}.cc-legend-row{display:flex;flex-wrap:wrap;gap:10px}.cc-legend-item{width:118px;border:1px dashed var(--app-border-strong);border-radius:var(--app-radius-sm);padding:6px 6px 8px;text-align:center;background:var(--app-panel-soft)}.cc-legend-item.has{border-style:solid;border-color:var(--app-border);background:var(--app-panel)}.cc-legend-label{font-size:13.5px;font-weight:700;color:var(--app-text);margin-bottom:4px}.cc-legend-img{min-height:64px;display:flex;align-items:center;justify-content:center}.cc-legend-img svg{max-width:none;height:auto}.cc-legend-add{font-size:22px;color:var(--app-text-soft);opacity:.6}.cc-legend-item:not(.has){cursor:pointer}.cc-legend-item:not(.has):hover{border-color:var(--cc-accent, #3d8bff)}.cc-cp-keytoggle{border:1px solid rgba(230,237,242,.2);background:transparent;color:var(--cc-text, #dfe7ee);border-radius:var(--cc-radius, 6px);padding:3px 9px;font-size:var(--app-fs-sm);cursor:pointer}.cc-cp-keytoggle:hover,.cc-cp-keytoggle.on{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #6fb0ff)}.cc-cp-keyrow{display:flex;align-items:center;gap:6px;padding:6px 2px 2px}.cc-cp-keyrow .cc-key-stepper .cc-key-root .ui-select-btn{color:var(--cc-accent-text, #6fb0ff)}.cc-cp-attach{margin-left:auto;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:7px;color:var(--app-text-muted);font-size:var(--app-fs-sm);padding:4px 10px;cursor:pointer}.cc-cp-attach.has{color:var(--cc-accent-text, #2f7ae8);border-color:var(--cc-accent, #3d8bff)}.cc-cp-attach:disabled{opacity:.4;cursor:default}.cc-modal-sub{color:var(--app-text-soft);font-weight:400;font-size:var(--app-fs-sm)}.cc-dialog{width:min(400px,calc(100vw - 48px))}.cc-dialog .cc-modal-foot{gap:10px;justify-content:flex-end}.cc-dialog-input{width:100%;background:var(--app-panel-soft, var(--app-sheen));border:1px solid var(--app-border-strong);border-radius:9px;color:var(--app-text);font-size:var(--app-fs-lg);padding:9px 11px;outline:none}.cc-dialog-input:focus{border-color:var(--cc-accent, var(--app-accent))}.cc-dialog-input::placeholder{color:var(--app-text-soft)}.cc-dialog-text{color:var(--app-text);font-size:13.5px;line-height:1.65;white-space:pre-wrap}.cc-ae-degrees{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cc-ae-deg{display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);color:var(--app-text);font-size:16px;padding:7px 0 5px;cursor:pointer}.cc-ae-deg small{font-size:9px;color:var(--app-text-soft)}.cc-ae-deg.on{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8);background:var(--cc-accent-weak, rgba(61, 139, 255, .12))}.cc-ae-quals{display:flex;flex-wrap:wrap;gap:5px}.cc-ae-quals button{min-width:40px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:7px;color:var(--app-text);font-size:var(--app-fs-md);padding:5px 8px;cursor:pointer}.cc-ae-quals button.on{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8)}.cc-ae-preview{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;background:var(--app-bg-secondary);border-radius:var(--app-radius-sm)}.cc-ae-preview svg{max-width:100%;height:auto}.cc-ae-cap{font-size:var(--app-fs-md);font-weight:600;color:var(--cc-accent-text, #2f7ae8)}.cc-ae-clips{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;max-height:300px;overflow:auto}.cc-ae-clip{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--app-bg-secondary);border:1.5px solid var(--app-border);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--app-fs-sm);padding:8px 6px;cursor:pointer}.cc-ae-clip svg{max-width:100%;height:auto}.cc-ae-clip.on{border-color:var(--cc-accent, #3d8bff)}.cc-ae-clip.on span{color:var(--cc-accent-text, #2f7ae8);font-weight:600}.cc-attach-slot .cc-attach-view{cursor:pointer}.cc-attach-slot .cc-attach-view svg{max-width:100%;height:auto;display:block}.attach-bar{position:fixed;top:54px;left:50%;transform:translate(-50%);z-index:1300;display:flex;align-items:center;gap:8px;background:var(--app-panel-strong);border:1px solid var(--app-accent);border-radius:var(--app-radius-pill);padding:6px 8px 6px 16px;box-shadow:0 8px 26px #0000004d}.attach-bar-label{font-size:var(--app-fs-md);font-weight:600;color:var(--app-accent-text)}.cc-ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cc-ap-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:26px 14px 22px;background:var(--app-bg-secondary);border:1.5px solid var(--app-border);border-radius:var(--app-radius-md);cursor:pointer;transition:border-color .14s,transform .14s,box-shadow .14s}.cc-ap-item:hover{border-color:var(--cc-accent, #3d8bff);transform:translateY(-2px);box-shadow:0 10px 26px #00000038}.cc-ap-icon{font-size:30px;line-height:1}.cc-ap-item b{font-size:14.5px;color:var(--app-text)}.cc-ap-item small{font-size:var(--app-fs-xs);color:var(--app-text-soft);text-align:center;line-height:1.5}.cc-ap-item:hover b{color:var(--cc-accent-text, #2f7ae8)}@media (max-width: 480px){.cc-ap-grid{grid-template-columns:1fr}}.button.sm.edit-enter{background:var(--cc-accent, #3d8bff);border-color:var(--cc-accent, #3d8bff);color:#fff;font-weight:600;padding:6px 16px;font-size:13.5px}.button.sm.edit-enter:hover{filter:brightness(1.1);color:#fff}html[data-theme=light] .button.sm.edit-enter{color:#fff}.cc-sectionmark{color:var(--cc-accent-text, #2f7ae8);font-size:var(--app-fs-sm);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:14px;white-space:nowrap}.cc-sectionmark:hover{text-decoration:line-through}.cc-cell-tags{position:absolute;top:-14px;left:1px;display:flex;align-items:flex-end;gap:5px;z-index:4;white-space:nowrap}.cc-preview-bar{max-width:1560px;width:100%;margin:0 auto;padding:12px 16px 0;display:flex;align-items:center;gap:10px}.cc-preview-tabs{display:flex;gap:4px}.cc-display-seg{margin-left:10px;padding-left:12px;border-left:1px solid var(--app-border-strong)}.cc-display-seg button{padding:6px 12px;font-size:var(--app-fs-md);border-radius:7px}.cc-preview-tabs button{background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);color:var(--app-text-muted);font-size:var(--app-fs-md);padding:6px 16px;cursor:pointer}.cc-preview-tabs button.on{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8);background:var(--cc-accent-weak, rgba(61, 139, 255, .12));font-weight:600}.cc-page{--cc-ctl-h: 28px;--cc-ctl-radius: var(--cc-radius, 8px);--cc-ctl-fs: 12.5px;--cc-ctl-pad: 0 10px;--cc-ctl-bg: var(--app-bg-secondary);--cc-ctl-border: 1px solid var(--app-border)}.cc-page .button.sm,.cc-songs-btn,.cc-cp-menu button,.cc-key-stepper button,.cc-settings-rowbtn,.cc-more-btn,.cc-figopts button{height:var(--cc-ctl-h);border-radius:var(--cc-ctl-radius);font-size:var(--cc-ctl-fs);padding:var(--cc-ctl-pad);display:inline-flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box}.cc-page .button.sm{background:var(--cc-ctl-bg);border:var(--cc-ctl-border);color:var(--app-text-muted)}.cc-songs-btn{flex:none;background:var(--cc-ctl-bg, var(--app-bg-secondary));border:var(--cc-ctl-border, 1px solid var(--app-border));border-radius:var(--cc-ctl-radius);color:var(--app-text-muted);font-size:var(--app-fs-md);padding:6px 12px;cursor:pointer}.cc-songs-btn:hover{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8)}.cc-songs-btn small{color:var(--app-text-soft);font-size:var(--app-fs-xs);background:var(--app-panel-soft);border-radius:20px;padding:1px 7px}.cc-modal.cc-songs{width:min(860px,94vw);max-height:84vh}.cc-songs .cc-modal-body{min-height:0}.cc-songs-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-songs-search{width:190px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--app-radius-xs);color:var(--app-text);font-size:var(--app-fs-md);padding:7px 10px}.cc-songs-search:focus{border-color:var(--cc-accent, #3d8bff);outline:none}.cc-songs-empty{padding:36px 12px;text-align:center;color:var(--app-text-soft);font-size:var(--app-fs-md)}.cc-songs-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0;padding-right:2px}.cc-song-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--app-border);border-radius:var(--app-radius-sm);background:var(--app-bg-secondary);cursor:pointer;transition:border-color .12s,background .12s}.cc-song-row:hover{border-color:var(--cc-accent, #3d8bff)}.cc-song-row.cur{border-color:var(--cc-accent, #3d8bff);background:var(--cc-accent-weak, rgba(61, 139, 255, .12))}.cc-song-main{flex:1;min-width:0}.cc-song-name{display:flex;align-items:center;gap:8px;font-size:var(--app-fs-lg);font-weight:600;color:var(--app-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-song-cur{flex:none;font-size:var(--app-fs-xs);font-weight:500;color:var(--cc-accent-text, #2f7ae8);border:1px solid var(--cc-accent, #3d8bff);border-radius:20px;padding:0 7px;line-height:15px}.cc-song-rename{width:100%;background:var(--app-panel-strong);border:1px solid var(--cc-accent, #3d8bff);border-radius:7px;color:var(--app-text);font-size:var(--app-fs-lg);font-weight:600;padding:5px 8px}.cc-song-rename:focus{outline:none}.cc-song-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;color:var(--app-text-soft);font-size:var(--app-fs-sm)}.cc-song-meta .cc-song-time{color:var(--app-text-muted)}.cc-song-btns{display:flex;gap:5px;flex:none}.cc-song-btns .button{min-width:32px;padding:0 8px}.cc-transpose.on{border-radius:var(--app-radius-xs)}.cc-transpose.on select{border-color:var(--cc-accent, #3d8bff);color:var(--cc-accent-text, #2f7ae8);font-weight:600}.cc-keyhere{gap:7px}.cc-effective{display:inline-flex;align-items:center;font-size:var(--app-fs-md);font-weight:600;color:var(--cc-accent-text, #2f7ae8);background:var(--cc-accent-weak, rgba(61, 139, 255, .12));border:1px solid var(--cc-accent, #3d8bff);border-radius:20px;padding:2px 10px}.cc-menu-item small{margin-left:8px;color:var(--app-text-soft);font-size:var(--app-fs-xs)}.cc-menu-item small.cc-menu-warn{color:var(--app-warning)}.cc-dialog-choices{display:flex;flex-direction:column;gap:8px}.cc-dialog-choices .button{justify-content:center}.cc-dialog-area{width:100%;resize:vertical;font-family:inherit;font-size:var(--app-fs-md);line-height:1.5}.cc-page{--cc-radius: 3px;--cc-radius-sm: 2px;--cc-ctl-h: 27px;font-size:var(--app-fs-md)}.cc-page .cc-toolbar{padding:0 10px}.cc-page .cc-tabs-row{gap:8px;padding:4px 0 0}.cc-page .cc-tools-row{gap:6px;padding:5px 0;min-height:40px}.cc-page .cc-tooltabs .cc-songs-icon{border-bottom:none;padding:0 9px;border-radius:var(--cc-ctl-radius)}.cc-page .cc-tooltabs{gap:2px}.cc-page .cc-tooltabs button{font-size:var(--app-fs-md);padding:5px 12px 4px;border-radius:0}.cc-page .cc-toolbar .button,.cc-page .cc-preview-bar .button{height:var(--cc-ctl-h);padding:0 10px;font-size:var(--app-fs-md);border-radius:var(--cc-radius);box-shadow:none}.cc-page .cc-toolbar select,.cc-page .cc-preview-bar select,.cc-page .cc-dyn-controls select{height:var(--cc-ctl-h);padding:0 6px;font-size:var(--app-fs-md);border-radius:var(--cc-radius-sm)}.cc-page .cc-toolbar input[type=number]{height:var(--cc-ctl-h);border-radius:var(--cc-radius-sm)}.cc-page .cc-tools-label{font-size:var(--app-fs-sm)}.cc-page .cc-iconbtn{font-size:var(--app-fs-sm);gap:3px}.cc-page .cc-sep{margin:0 2px}.cc-page .cc-key-stepper{gap:4px}.cc-page .cc-key-stepper .cc-key-root .ui-select-btn{font-size:var(--app-fs-sm);height:24px;border-radius:var(--cc-radius-sm)}.cc-page .cc-key-stepper>button:not(.cc-key-mode){width:26px;height:24px;font-size:var(--app-fs-md);border-radius:var(--cc-radius-sm)}.cc-key-stepper .cc-key-root .ui-select-btn{width:auto;min-width:0}.ui-select.menu-absolute{position:relative}.ui-select.menu-absolute .ui-select-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:60;box-shadow:0 12px 34px #0006;min-width:240px}.cc-key-stepper .cc-key-mode{width:auto;min-width:0;height:24px;padding:0 10px;font-size:var(--app-fs-sm);background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--cc-radius-sm);color:var(--app-text);white-space:nowrap}.cc-key-stepper .cc-key-mode.minor,.cc-key-stepper .cc-key-mode:active{border-color:var(--cc-accent);color:var(--cc-accent-text)}.cc-key-stepper .cc-key-mode:hover{border-color:var(--cc-accent)}.cc-page .cc-songs-btn{height:var(--cc-ctl-h);padding:0 10px;font-size:var(--app-fs-md);gap:6px;border-radius:var(--cc-radius)}.cc-page .cc-songs-btn small{border-radius:var(--cc-radius-sm);font-size:var(--app-fs-xs);padding:0 6px}.cc-page .cc-modal{border-radius:5px;box-shadow:0 14px 44px #00000080}.cc-page .cc-modal-mask{background:#04080c9e;backdrop-filter:none;-webkit-backdrop-filter:none}.cc-page .cc-songs{border-radius:5px}.cc-page .cc-songs-actions{gap:6px}.cc-page .cc-songs-actions .button{height:var(--cc-ctl-h);font-size:var(--app-fs-md);border-radius:var(--cc-radius);box-shadow:none}.cc-page .cc-songs-search{height:var(--cc-ctl-h);font-size:var(--app-fs-md);border-radius:var(--cc-radius-sm)}.cc-page .cc-song-row{border-radius:var(--cc-radius);padding:7px 10px}.cc-page .cc-song-name{font-size:var(--app-fs-md)}.cc-page .cc-song-cur{border-radius:var(--cc-radius-sm);font-size:var(--app-fs-2xs);padding:0 5px;line-height:14px}.cc-page .cc-song-meta{font-size:var(--app-fs-xs);gap:10px;margin-top:3px}.cc-page .cc-song-btns .button{height:24px;min-width:28px;padding:0 7px;font-size:var(--app-fs-sm);border-radius:var(--cc-radius-sm);box-shadow:none}.cc-page .cc-body{padding:12px}.cc-page .cc-score{border-radius:4px;padding:12px 26px 12px 12px;box-shadow:none}.cc-page .cc-score-head{gap:6px;padding-bottom:10px;margin-bottom:12px}.cc-page .cc-score-title{font-size:15px}.cc-page .cc-score-meta{gap:12px}.cc-page .cc-meta{font-size:var(--app-fs-sm);gap:4px}.cc-page .cc-meta select,.cc-page .cc-meta input[type=number]{font-size:var(--app-fs-sm);border-radius:var(--cc-radius-sm)}.cc-page .cc-meta input[type=number]{width:42px}.cc-page .cc-transpose,.cc-page .cc-keyhere{font-size:var(--app-fs-sm)}.cc-page .cc-effective{font-size:var(--app-fs-sm);border-radius:var(--cc-radius-sm);padding:1px 8px}.cc-page .cc-line{margin-bottom:12px}.cc-page .cc-cell-slots{min-height:58px;gap:5px}.cc-page .cc-cell{padding:3px 7px 2px 13px}.cc-page .cc-beat{border-radius:var(--cc-radius-sm);border-width:1px}.cc-page .cc-beat-unit{border-radius:var(--cc-radius-sm)}.cc-page .cc-cell-lyrics{font-size:var(--app-fs-sm)}.cc-page .cc-sectionmark,.cc-page .cc-house{border-radius:var(--cc-radius-sm)}.cc-page .cc-keymark{border-radius:var(--cc-radius-sm);font-size:var(--app-fs-xs);padding:0 4px;line-height:14px}.cc-page .cc-freq-chord{border-radius:var(--cc-radius);padding:5px 8px 4px;font-size:var(--app-fs-lg)}.cc-page .cc-freq-chord small{font-size:9px}.cc-page .cc-freq-tool{border-radius:var(--cc-radius);height:32px}.cc-page .cc-preview-tabs{gap:3px}.cc-page .cc-preview-tabs button{border-radius:var(--cc-radius-sm);padding:4px 12px;font-size:var(--app-fs-md)}.cc-page .cc-display-seg button{padding:4px 10px;font-size:var(--app-fs-sm);border-radius:var(--cc-radius-sm)}.cc-page .cc-menu{border-radius:4px;padding:4px;box-shadow:0 10px 28px #0006}.cc-page .cc-menu-item{border-radius:var(--cc-radius-sm);padding:5px 9px;font-size:var(--app-fs-md)}.cc-page .cc-menu-item small{font-size:var(--app-fs-xs);margin-left:6px}.cc-page .cc-mmenu{border-radius:4px}.cc-page .cc-cp{border-radius:5px;box-shadow:0 12px 32px #0006}.cc-page .cc-dialog-input{border-radius:var(--cc-radius-sm);font-size:var(--app-fs-md)}.cc-page .cc-dialog-text{font-size:var(--app-fs-md)}html[data-theme=light] .cc-page .cc-score,html[data-theme=light] .cc-page .cc-cell-tools{box-shadow:none}.cc-page .cc-modal .button{height:var(--cc-ctl-h);padding:0 12px;font-size:var(--app-fs-md);border-radius:var(--cc-radius);box-shadow:none}.cc-page .cc-dialog-choices .button{height:30px}.cc-page .cc-cp{width:404px;padding:12px;gap:8px}.cc-page .cc-cp-menu{gap:5px}.cc-page .cc-cp-menu button{border-radius:var(--cc-radius)}.cc-page .cc-cp-degrees{gap:6px}.cc-page .cc-cp-deg{padding:8px 0 6px;font-size:18px;border-radius:var(--cc-radius)}.cc-page .cc-cp-deg small{font-size:9.5px}.cc-page .cc-cp-quals{gap:6px}.cc-page .cc-cp-quals button{flex:1 1 auto;min-width:48px;height:30px;padding:0 8px;font-size:var(--app-fs-md);border-radius:var(--cc-radius);white-space:nowrap}.cc-page .cc-cp-accrow{gap:6px}.cc-page .cc-cp-accrow button{height:30px;min-width:56px;font-size:var(--app-fs-lg);border-radius:var(--cc-radius)}.cc-page .cc-cp-rhythms{gap:6px}.cc-page .cc-cp-rhythms button{height:30px;font-size:var(--app-fs-md);border-radius:var(--cc-radius);white-space:nowrap}.cc-page .cc-cp-tabs{gap:6px;padding-top:9px}.cc-page .cc-cp-tabs button{flex:1 1 auto;white-space:nowrap;padding:7px 10px;font-size:var(--app-fs-md);border-radius:var(--cc-radius)}.cc-page .cc-cp-tabs kbd{border-radius:3px}.cc-page .cc-cp-attach{margin-left:0;flex:none;padding:7px 10px;font-size:var(--app-fs-md);border-radius:var(--cc-radius);white-space:nowrap}.cc-page .cc-cp-altrow .cc-cp-typing{font-size:var(--app-fs-sm)}.cc-chordsign.long{font-size:var(--app-fs-md)}.cc-chordsign-compact.long{font-size:var(--app-fs-xs)}.cc-page .cc-cp-table{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--app-border);padding-top:9px}.cc-page .cc-cp-qgroup{display:grid;grid-template-columns:44px repeat(7,1fr);gap:6px;align-items:center}.cc-page .cc-cp-qlabel{font-size:var(--app-fs-xs);color:var(--app-text-soft);text-align:right;padding-right:2px;white-space:nowrap;-webkit-user-select:none;user-select:none}.cc-page .cc-cp-q{width:100%;min-width:0;height:30px;padding:0 2px;background:var(--app-bg-secondary);border:1px solid var(--app-border);border-radius:var(--cc-radius);color:var(--app-text);font-size:var(--app-fs-sm);white-space:nowrap;cursor:pointer}.cc-page .cc-cp-q:hover:not(:disabled){border-color:var(--app-border-strong)}.cc-page .cc-cp-q.on{border-color:var(--cc-accent);color:var(--cc-accent-text);background:var(--cc-accent-weak);font-weight:600}.cc-page .cc-cp-q:disabled{opacity:.4;cursor:default}.cc-page .cc-cp-qgroup .cc-cp-hint{grid-column:5 / -1;font-size:var(--app-fs-sm);color:var(--app-text-soft);white-space:nowrap}.cc-page .cc-cp-qgroup .cc-cp-typing{font-size:var(--app-fs-sm);color:var(--cc-accent-text);font-weight:600;white-space:nowrap}.cc-songs-page-title{font-size:14.5px;font-weight:700;color:var(--app-text);letter-spacing:.3px}.cc-songs-page-box{max-width:880px;width:100%;margin:0 auto}.cc-songs-page-box-inner{background:var(--app-panel);border:1px solid var(--app-border);border-radius:6px;padding:14px 16px 16px;box-shadow:none}.cc-songs-page-box .cc-songs-list{max-height:calc(100vh - 300px)}.csign{position:relative;display:inline-flex;align-items:stretch;justify-content:center;max-width:100%;line-height:1;color:var(--app-text);white-space:nowrap}.csign-deg{font-size:inherit;font-weight:700;align-self:center}.csign-sfx{font-size:.8em;font-weight:700;align-self:center}.csign-sup .csign-sfx{font-size:.64em;align-self:flex-start;margin:-1px 0 0 1px}.csign-bass{font-size:.55em;color:var(--app-text-muted);align-self:flex-end;margin:0 1px 1px}.csign-sup .csign-bass{font-size:.48em}.csign-flat{align-self:center;white-space:nowrap}.csign-sm .csign-deg{font-size:.7em}.csign-sm .csign-sfx{font-size:.8em}.csign-sm.csign-sup .csign-sfx{font-size:.62em;margin-top:1px}.cc-beat .csign-deg{font-size:24px}.cc-beat .csign-sfx{font-size:19px}.cc-beat .csign-sup .csign-sfx{font-size:15px}.cc-beat .csign-sup .csign-num{font-size:19px}.csign-sup .csign-num{font-size:.7em}.cc-beat .csign-bass{font-size:var(--app-fs-sm)}.cc-beat .csign-sm .csign-deg{font-size:15px}.cc-beat .csign-sm .csign-sfx{font-size:var(--app-fs-sm)}.cc-beat .csign-sm.csign-sup .csign-sfx{font-size:9.5px}.cc-beat .csign-sm.csign-sup .csign-num{font-size:var(--app-fs-md)}.csign-sm.csign-sup .csign-num{font-size:.68em}.cc-beat .cc-glyph{font-size:20px}.cc-freq-chord .csign-deg{font-size:17px}.cc-freq-chord .csign-sfx{font-size:13.5px}.cc-freq-chord .csign-sup .csign-sfx{font-size:var(--app-fs-xs)}.cc-dyn-chord .csign-deg{font-size:15px}.cc-dyn-chord .csign-sfx{font-size:var(--app-fs-sm)}.cc-dyn-chord .csign-sup .csign-sfx{font-size:9.5px}.cc-freq-chord .csign,.cc-dyn-chord .csign{border:none;background:none;padding:0}.stitch-dock{position:fixed;top:58px;right:14px;z-index:1180;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.stitch-fab,.stitch-panel{pointer-events:auto}.stitch-fab{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px 0 10px;border-radius:var(--app-radius-pill);border:1px solid var(--app-border-strong);background:var(--app-panel-strong);color:var(--app-text);font-size:var(--app-fs-md);font-weight:600;letter-spacing:.3px;cursor:pointer;box-shadow:0 6px 18px #00000038;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;position:relative}.stitch-fab svg{display:block;fill:var(--app-accent)}.stitch-fab:hover,.stitch-fab.pinned{border-color:var(--app-accent);box-shadow:0 8px 22px #00000047,0 0 0 1px #f3ba6233}.stitch-fab.empty{opacity:.72}.stitch-fab.empty svg{fill:var(--app-text-muted)}.stitch-fab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:var(--app-radius-pill);background:linear-gradient(145deg,#f3ba62f2,#de9d42f2);color:#241a08;font-size:var(--app-fs-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d;animation:stitch-pop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes stitch-pop{0%{transform:scale(.4)}to{transform:scale(1)}}.stitch-panel{position:fixed;top:96px;right:14px;width:min(372px,calc(100% - 28px));max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain;border-radius:var(--app-radius-md);border:1px solid var(--app-border-strong);background:var(--app-panel-strong);box-shadow:0 14px 38px #0000004d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:12px 12px 10px;animation:stitch-slide-in .18s ease}@keyframes stitch-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.stitch-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:0 2px 10px}.stitch-panel-title{font-size:13.5px;font-weight:700;color:var(--app-text);display:inline-flex;align-items:center;gap:7px}.stitch-panel-title em{font-style:normal;font-size:var(--app-fs-xs);font-weight:600;color:var(--app-accent-text);background:var(--app-accent-12);border:1px solid rgba(243,186,98,.3);padding:1px 8px;border-radius:var(--app-radius-pill)}.stitch-panel-actions{display:inline-flex;gap:6px}.stitch-btn{height:28px;padding:0 12px;border-radius:var(--app-radius-pill);border:1px solid var(--app-border);background:var(--app-sheen);color:var(--app-text-muted);font-size:var(--app-fs-sm);font-weight:600;cursor:pointer;transition:all .16s ease;white-space:nowrap}.stitch-btn:hover:not(:disabled){color:var(--app-text);border-color:#f3ba6266;background:#f3ba621a}.stitch-btn:disabled{opacity:.45;cursor:default}.stitch-btn.primary{background:linear-gradient(145deg,#f3ba62eb,#de9d42f2);border-color:#f3ba6299;color:#241a08}.stitch-btn.primary:hover:not(:disabled){filter:brightness(1.06);color:#241a08;box-shadow:0 4px 14px #f3ba6240}.stitch-btn.danger:hover:not(:disabled){color:#ff8f8f;border-color:#ff787866;background:#ff646414}html[data-theme=light] .stitch-btn.danger:hover:not(:disabled){color:#c0392b}.stitch-preview{border:1px solid var(--app-border);border-radius:var(--app-radius-sm);overflow-x:auto;overscroll-behavior-x:contain;background:var(--app-bg-secondary)}.stitch-canvas{position:relative;min-width:min(300px,100%);width:100%;border-radius:9px;overflow:hidden}.stitch-seg:hover .stitch-seg-x{opacity:1;pointer-events:auto}.stitch-seg{position:absolute;border-radius:2px}.stitch-seg:hover{outline:1.5px dashed rgba(243,186,98,.55);outline-offset:-1.5px}.stitch-seg[draggable]{cursor:grab}.stitch-seg.dragging{opacity:.3}.stitch-seg.drag-over{outline:2px solid var(--app-accent, #f3ba62);outline-offset:1px;z-index:2}.stitch-seg-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.stitch-seg-svg{position:absolute}.stitch-seg-svg svg{width:100%;height:100%;display:block}.stitch-seg-x{position:absolute;top:3px;right:3px;z-index:2;width:20px;height:20px;border-radius:50%;border:1px solid rgba(243,186,98,.5);background:#0a0e14b8;color:#ffd489;font-size:var(--app-fs-md);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease;padding:0}.stitch-seg-x:hover{background:#a03c28d9;color:#fff}.stitch-divider{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);background:color-mix(in srgb,var(--app-text) 48%,transparent);pointer-events:none}@supports not (color-mix(in srgb,red 50%,transparent)){.stitch-divider{background:#a0afbe80}}.stitch-panel-foot{padding:8px 2px 2px;font-size:var(--app-fs-xs);color:var(--app-text-soft);text-align:center}.stitch-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 18px 22px;text-align:center}.stitch-empty svg{fill:var(--app-text-muted);opacity:.7}.stitch-empty p{margin:0;font-size:var(--app-fs-md);font-weight:600;color:var(--app-text-muted)}.stitch-empty-sub{font-size:11.5px!important;font-weight:400!important;color:var(--app-text-soft)!important;line-height:1.6}@media (max-width: 640px){.stitch-dock{top:54px;right:10px}.stitch-fab-label{display:none}.stitch-fab{padding:0 10px}.stitch-panel{top:92px;right:10px;width:calc(100% - 20px);max-height:calc(100vh - 108px)}}.cc-beat-unit{display:flex;flex-direction:column;align-items:center;gap:1px}.cc-figview svg{display:block}.cc-beat-unit .cc-figview svg{max-width:100%}.cc-page.figmode-hover .cc-beat-unit .cc-figview{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);display:none;z-index:60;background:var(--cc-panel, #10161c);border:1px solid rgba(230,237,242,.22);border-radius:var(--app-radius-sm);padding:6px;box-shadow:0 10px 30px #00000073;white-space:nowrap}.cc-page.figmode-hover .cc-beat-unit .cc-figview svg{max-width:none}.cc-page.figmode-hover .cc-beat:hover .cc-figview,.cc-page.figmode-hover .cc-figview:hover{display:inline-block}.cc-score-foot{display:flex;align-items:center;gap:10px;padding:6px 2px 2px}.cc-figopts{display:inline-flex;gap:4px;margin-left:10px}.cc-figopts button{border:1px solid var(--cc-border, rgba(230, 237, 242, .18));background:transparent;color:var(--cc-text, #c4d1db);font-size:var(--app-fs-xs);border-radius:5px;padding:1px 7px;cursor:pointer}.cc-figopts button:hover{border-color:var(--cc-accent, #f3ba62);color:var(--cc-accent, #f3ba62)}.cc-figmodal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:90;display:flex;align-items:center;justify-content:center}.cc-figmodal-box{background:var(--cc-panel, #10161c);border:1px solid var(--app-line-strong);border-radius:12px;padding:12px 14px;max-width:92vw;max-height:90vh;overflow:auto}.cc-figmodal-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--app-fs-md);color:#dfe7ee;margin-bottom:8px}.cc-figeditor{min-width:420px}.cc-figeditor-main{display:flex;gap:14px;align-items:flex-start}.cc-figeditor-stage{cursor:pointer;-webkit-user-select:none;user-select:none;line-height:0}.cc-figeditor-stage svg{border-radius:var(--app-radius-xs);background:#ffffff05}.cc-figeditor-side{display:flex;flex-direction:column;gap:8px;min-width:170px}.cc-figeditor-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.cc-figeditor-row.hint{font-size:var(--app-fs-xs);color:#8ba0b0;max-width:180px}.cc-figbtn{border:1px solid rgba(230,237,242,.2);background:transparent;color:#c4d1db;font-size:var(--app-fs-sm);border-radius:6px;padding:3px 9px;cursor:pointer}.cc-figbtn:hover{border-color:#f3ba62;color:#f3ba62}.cc-figbtn.on{background:#f3ba622e;border-color:#f3ba62;color:#f3ba62}.cc-figbtn.primary{background:#f3ba62d9;border-color:transparent;color:#1a1206;font-weight:600}.cc-figstart{font-size:var(--app-fs-xs);color:#8ba0b0;min-width:40px;text-align:center}.cc-figeditor-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.cc-figpicker{margin-top:10px;border-top:1px solid var(--app-line);padding-top:8px}.cc-figpicker-title{font-size:var(--app-fs-sm);color:#8ba0b0;margin-bottom:6px}.cc-figpicker-list{display:flex;gap:8px;flex-wrap:wrap}.cc-figpick{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--app-line-strong);background:transparent;border-radius:var(--app-radius-xs);padding:5px 7px;cursor:pointer}.cc-figpick:hover{border-color:#f3ba62}.cc-figpick em{font-style:normal;font-size:var(--app-fs-2xs);color:#f3ba62}.cc-figpick small{font-size:var(--app-fs-2xs);color:#8ba0b0;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-figsave{margin-top:10px;border-top:1px solid var(--app-line);padding-top:8px;display:flex;flex-direction:column;gap:6px}.cc-figsave-row{display:flex;align-items:center;gap:6px;font-size:var(--app-fs-sm);color:#c4d1db;flex-wrap:wrap}.cc-figsave-row select,.cc-figsave-row input{background:#0d1319;border:1px solid rgba(230,237,242,.2);color:#dfe7ee;border-radius:5px;padding:2px 6px;font-size:var(--app-fs-sm)}.cc-figsave-row .hint{font-size:var(--app-fs-xs);color:#8ba0b0}.attach-shapes{position:absolute;top:calc(100% + 6px);left:12px;z-index:60;background:var(--background-color, #10161c);border:1px solid var(--app-line-strong);border-radius:var(--app-radius-sm);padding:10px 12px;max-width:560px;box-shadow:0 8px 24px #0006}.attach-bar{position:relative}.attach-shapes-title{font-size:var(--app-fs-sm);color:#9fb2c0;margin-bottom:8px}.attach-shapes-list{display:flex;gap:8px;flex-wrap:wrap}.attach-shape{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--app-line-strong);background:transparent;border-radius:var(--app-radius-xs);padding:5px 7px;cursor:pointer;color:inherit}.attach-shape:hover{border-color:#f3ba62}.attach-shape em{font-style:normal;font-size:var(--app-fs-2xs);color:#f3ba62}.attach-shape small{font-size:var(--app-fs-2xs);color:#8ba0b0;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-saveform-row{display:flex;gap:6px;align-items:center}.attach-saveform-row select{background:#0d1319;border:1px solid rgba(230,237,242,.2);color:#dfe7ee;border-radius:5px;padding:2px 6px}.figbe-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:90;display:flex;align-items:center;justify-content:center}.figbe-box{background:var(--cc-panel, #10161c);border:1px solid var(--app-line-strong);border-radius:var(--app-radius-md);padding:14px 18px;width:fit-content;min-width:480px;max-width:calc(100vw - 16px);max-height:92vh;overflow:hidden;box-shadow:0 18px 50px #00000080;display:flex}.figbe{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;min-width:0}.figbe-top{display:flex;align-items:center;gap:8px;flex:0 0 auto}.figbe-title{font-size:var(--app-fs-md);color:#dfe7ee;margin-right:auto;min-width:0;max-width:220px;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figbe-body{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0}.figbe-board{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px}.figbe-board svg{max-width:100%;max-height:calc(92vh - 250px);width:auto;height:auto}.figbe-side{display:flex;flex-direction:row;gap:14px;flex:0 0 auto;flex-wrap:wrap;align-items:stretch}.figbe-side-block{flex:1 1 180px;border:1px solid var(--app-line);border-radius:var(--app-radius-sm);padding:10px 12px}.figbe-side-title{font-size:var(--app-fs-sm);color:#9fb2c0;margin-bottom:8px}.figbe-side-title em{font-style:normal;color:#f3ba62}.figbe-presets{display:flex;gap:6px;flex-wrap:wrap}.figbe-presets .button{padding:4px 8px}.figbe-preview{display:flex;justify-content:center;align-items:center;padding:6px 0;min-height:64px}.figbe-shapes{border-top:1px solid var(--app-line);padding-top:8px;flex:0 1 auto;overflow-y:auto;min-height:0}.figbe-shapes-title{font-size:var(--app-fs-sm);color:#9fb2c0;margin-bottom:6px}.figbe-shapes-list{display:flex;gap:8px;flex-wrap:wrap}.figbe-shape{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--app-line-strong);background:transparent;border-radius:var(--app-radius-xs);padding:5px 7px;cursor:pointer;color:inherit}.figbe-shape:hover{border-color:#f3ba62}.figbe-shape em{font-style:normal;font-size:var(--app-fs-2xs);color:#f3ba62}.figbe-shape small{font-size:var(--app-fs-2xs);color:#8ba0b0;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figbe-saveform-row{display:flex;gap:6px;align-items:center}.figbe-saveform-row select{background:#0d1319;border:1px solid rgba(230,237,242,.2);color:#dfe7ee;border-radius:5px;padding:2px 6px}@media (max-width: 800px){.menu-tint-variants.mobile-popup{position:absolute;top:calc(100% + 10px);transform:translate(-50%);flex-direction:row;align-items:center;padding:10px 12px;border-radius:16px;z-index:30}.menu-left .menu-tint-variants.mobile-popup:after{top:-7.5px;right:auto;left:50%;width:13px;height:13px;transform:translate(-50%) rotate(45deg);border-top:1px solid var(--app-line-soft);border-right:none;border-left:1px solid var(--app-line-soft)}.menu:has(.menu-tint-variants.mobile-popup){z-index:50}}.cc-trash-modal{max-width:480px}.cc-trash-list{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto}.cc-trash-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--app-border);border-radius:9px;background:#ffffff08}.cc-trash-kind{flex:none;font-size:11px;padding:2px 7px;border-radius:6px;background:#78a0c824;color:var(--app-text-muted)}.cc-trash-kind.clips{background:#f3ba6224}.cc-trash-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-weight:600}.cc-trash-days{flex:none;font-size:11px;color:var(--app-text-soft)}.cc-trash-empty{text-align:center;color:var(--app-text-soft);padding:28px 0}.top-nav-sync{font-size:var(--app-fs-2xs);border:none;border-radius:10px;padding:3px 9px;margin-right:4px;cursor:pointer;font-variant-numeric:tabular-nums;background:transparent;transition:background .15s,color .15s;white-space:nowrap;flex-shrink:0}@media (max-width: 480px){.top-nav-sync{width:10px;height:10px;padding:0;margin:0 8px 0 2px;border-radius:50%;font-size:0;line-height:0}.top-nav-sync.ok{background:#6fd99c;box-shadow:0 0 5px #6fd99c73}.top-nav-sync.offline{background:#f0aa6c}.top-nav-sync.error,.top-nav-sync.error:hover{background:#f08a84}.top-nav-ver{display:none}.top-nav-tabs{min-width:max-content}.top-nav-user-name{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.top-nav-sync.ok{color:var(--app-text-soft);opacity:.75}.top-nav-sync.ok:hover{opacity:1}.top-nav-sync.syncing{color:#7ec8ff;animation:sync-pulse 1.2s ease-in-out infinite}.top-nav-sync.offline{color:#f0aa6c}.top-nav-sync.error{color:#f08a84}.top-nav-sync.error:hover{background:#f08a841f}@keyframes sync-pulse{0%,to{opacity:.55}50%{opacity:1}}
