:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.header{text-align:center;flex-shrink:0;width:100%;margin-bottom:12px}.lang-bar{justify-content:flex-end;gap:6px;margin-bottom:8px;display:flex}.btn-lang{color:#7b6859;cursor:pointer;background:0 0;border:1px solid #d5c3af;border-radius:12px;padding:2px 8px;font-size:11px;transition:all .2s}.btn-lang:hover{background:#f4ecdf}.btn-lang.active{color:#fff;background:#8c532b;border-color:#8c532b;font-weight:600}.title-row{justify-content:center;align-items:center;gap:12px;min-height:38px;display:flex;position:relative}.btn-library{color:#5c4738;cursor:pointer;background:#f0e6d6;border:1px solid #d5c3af;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex;position:absolute;left:0}.btn-library:hover{background:#e5d7c3}.title-row h2{letter-spacing:2px;color:#2c1810;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:26px;font-weight:700}.level-tag{color:#6d4a2a;background:#e8d7c3;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.score-meta-bar{color:#5c4738;font-variant-numeric:tabular-nums;border-bottom:1px dashed #e2d2c1;justify-content:space-between;align-items:flex-end;margin-top:10px;padding:0 4px 6px;font-size:13.5px;display:flex}.meta-left{align-items:center;gap:8px;font-weight:600;display:flex}.meta-separator{color:#cbb69d;-webkit-user-select:none;user-select:none;font-weight:400}.meta-right{color:#7b6859;align-items:center;gap:8px;font-size:13px;display:flex}.author-item{white-space:nowrap}.control-panel{background:#f2e9dc;border-radius:30px;justify-content:center;align-items:center;gap:16px;margin-top:12px;padding:8px 18px;display:inline-flex}.btn-play,.btn-reset{color:#fff;cursor:pointer;background:#8c532b;border:none;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600;transition:background .2s,transform .1s}.btn-play:hover,.btn-reset:hover{background:#734220}.btn-play:active,.btn-reset:active{transform:scale(.96)}.btn-reset{background:#b3a598}.btn-reset:hover{background:#9b8d80}.bpm-control{color:#5c4738;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.btn-bpm-restore{color:#7a4b26;cursor:pointer;background:#ecdcc9;border:1px solid #cbb69d;border-radius:12px;margin-left:6px;padding:2px 8px;font-size:11px;transition:all .2s}.btn-bpm-restore:hover{background:#dfcbaf}.slider{accent-color:#8c532b;cursor:pointer}.repeat-barline line[data-v-9b3735fb],.repeat-barline circle[data-v-9b3735fb]{vector-effect:non-scaling-stroke}.barline[data-v-eccfea61]{stroke:#000;stroke-width:1.8px;stroke-linecap:square}.barline-final-thick[data-v-eccfea61]{stroke-width:4.2px}.ts-text[data-v-83259c36]{-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-family:inherit}.anyin-symbol circle[data-v-71aa0498]{vector-effect:non-scaling-stroke}.anyin-text[data-v-71aa0498]{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-family:inherit}.harmonic-symbol circle[data-v-e62c34e0]{vector-effect:non-scaling-stroke;fill:none!important;stroke:#1a1a1a!important}.qingan-symbol path[data-v-e3f472ec]{fill:#1a1a1a}.ornament-symbol path[data-v-0b878d8e],.fingering-symbol line[data-v-0adee4a3],.fingering-symbol path[data-v-0adee4a3],.accent-symbol path[data-v-ddff5971],.tremolo-symbol line[data-v-8ed6993b],.glide-symbol path[data-v-b79448dd],.huazhi-symbol line[data-v-a136efe6],.huazhi-symbol path[data-v-a136efe6],.standalone-huazhi line[data-v-a61361bf]{vector-effect:non-scaling-stroke}.accidental-text[data-v-9a4ebe9d]{fill:#1a1a1a;stroke:#1a1a1a;stroke-width:.9px;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke fill;-webkit-user-select:none;user-select:none;dominant-baseline:alphabetic;font-family:Bravura,Gonville,Noto Sans,Arial Black,Times New Roman,-apple-system,sans-serif;font-size:20px;font-weight:900}.guazou-symbol path[data-v-0398e8f5]{vector-effect:non-scaling-stroke}.note-group{cursor:pointer}.note-text{font-variant-numeric:tabular-nums;fill:#1a1a1a;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:30px;font-weight:700;transition:fill .1s}.octave-dot,.rhythm-dot{fill:#1a1a1a}.dash-line{stroke:#1a1a1a;stroke-width:2.2px;stroke-linecap:round}.touch-box{cursor:pointer}.annotation-text{fill:#1a1a1a;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;font-weight:600}.tempo-text{fill:#1a1a1a;-webkit-user-select:none;user-select:none;font-family:Palatino Linotype,Palatino,Book Antiqua,Songti TC,Noto Serif CJK TC,serif;font-size:17px;font-style:italic;font-weight:700}.note-group.is-tied-end .note-text{fill:#9ca3af!important}.note-group.is-tied-end .octave-dot,.note-group.is-tied-end .rhythm-dot{fill:#9ca3af!important;stroke:#9ca3af!important}.note-group.is-active .note-text{font-weight:800;fill:#b8431e!important}.note-group.is-active .octave-dot,.note-group.is-active .rhythm-dot{fill:#b8431e!important;stroke:#b8431e!important}.note-group.is-active .dash-line,.note-group.is-active .guazou-symbol path{stroke:#b8431e!important}.note-group.is-active .tempo-text{fill:#b8431e!important}.slur-symbol path[data-v-b4761282],.tuplet-symbol path[data-v-2978bb18]{vector-effect:non-scaling-stroke}.tuplet-text[data-v-2978bb18]{-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-family:inherit}.fanfu-symbol path[data-v-7ca55841],.fanfu-symbol circle[data-v-7ca55841]{vector-effect:non-scaling-stroke}.beam-line[data-v-47ef34d0]{stroke:#222;transition:stroke .15s}.measure-index[data-v-47ef34d0]{fill:#858d98;-webkit-user-select:none;user-select:none;letter-spacing:-.2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:500}.volta-line[data-v-277d7a85]{stroke:#000;stroke-width:1.8px;stroke-linecap:butt;stroke-linejoin:miter}.volta-label[data-v-277d7a85]{fill:#1a1a1a;-webkit-user-select:none;user-select:none;font-family:Times New Roman,Georgia,serif;font-size:18px;font-style:italic;font-weight:700}.score-card{box-sizing:border-box;background:#fdfaf2;border-radius:12px;flex-direction:column;width:100%;max-width:1200px;height:100%;margin:0 auto;padding:16px 24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;display:flex;box-shadow:0 4px 16px #0000000f}.svg-container{scroll-behavior:smooth;background:#fff;border:1px solid #ebd9c8;border-radius:8px;flex:1;width:100%;min-height:0;overflow:hidden auto}.brace-shape{fill:#1a1a1a;stroke:#1a1a1a;stroke-width:.4px;stroke-linejoin:round}.staff-connector{stroke:#1a1a1a;vector-effect:non-scaling-stroke}.brace-bar{stroke:#1a1a1a;stroke-width:1.8px;vector-effect:non-scaling-stroke}.tie-line{stroke:#1a1a1a;stroke-width:1.8px;stroke-linecap:round;vector-effect:non-scaling-stroke}.home[data-v-300213b4]{box-sizing:border-box;color:#2c1810;flex:1;width:100%;max-width:960px;min-height:0;margin:0 auto;padding:4px 4px 32px;overflow-y:auto}.home-top[data-v-300213b4]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.brand-name[data-v-300213b4]{letter-spacing:.08em;color:#8c532b;font-size:.8rem}.home-brand h1[data-v-300213b4]{margin:2px 0 0;font-size:1.7rem}.home-actions[data-v-300213b4]{align-items:center;gap:10px;display:flex}.lang-bar[data-v-300213b4]{gap:4px;display:flex}.home-btn[data-v-300213b4]{box-sizing:border-box;color:#5a4a3a;white-space:nowrap;cursor:pointer;background:#fffaf3e6;border:1px solid #c9b8a4;border-radius:6px;justify-content:center;align-items:center;height:32px;padding:0 12px;font-size:.8rem;line-height:1;display:inline-flex}.home-btn-lang.active[data-v-300213b4]{color:#fff;background:#8c532b;border-color:#8c532b}.home-btn-sign-out[data-v-300213b4]{color:#a33a35;background:#fbeceb;border-color:#d9a3a0;margin-left:4px}.home-btn-sign-out[data-v-300213b4]:hover{color:#fff;background:#a33a35;border-color:#a33a35}.btn-clear[data-v-300213b4]{color:#5a4a3a;cursor:pointer;background:#fffaf3e6;border:1px solid #c9b8a4;border-radius:6px;padding:5px 10px;font-size:.8rem}.home-status[data-v-300213b4]{text-align:center;color:#5a4a3a;padding:24px}.home-status.error[data-v-300213b4]{color:#a33}.continue[data-v-300213b4]{color:#2c1810;width:100%;font:inherit;cursor:pointer;text-align:left;background:#f5ebe0;border:1px solid #8c532b;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.continue-label[data-v-300213b4]{color:#8c532b;font-size:.75rem;font-weight:600}.continue-title[data-v-300213b4]{flex:1;font-weight:700}.continue-arrow[data-v-300213b4]{color:#8c532b}.filters[data-v-300213b4]{background:#fdfaf2;border:1px solid #e8dbcd;border-radius:12px;flex-direction:column;gap:12px;margin-bottom:18px;padding:14px;display:flex}.search[data-v-300213b4]{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #d9c8b4;border-radius:8px;padding:9px 12px}.search[data-v-300213b4]:focus,.select-field select[data-v-300213b4]:focus{border-color:#8c532b;outline:2px solid #8c532b59}.filter-row[data-v-300213b4]{align-items:center;gap:10px;display:flex}.filter-label[data-v-300213b4]{color:#7b6859;flex-shrink:0;min-width:3.2em;font-size:.8rem}.chips[data-v-300213b4]{flex-wrap:wrap;gap:6px;display:flex}.chip[data-v-300213b4]{color:#5a4a3a;cursor:pointer;background:#fff;border:1px solid #d9c8b4;border-radius:999px;padding:4px 12px;font-size:.85rem}.chip small[data-v-300213b4]{opacity:.65;margin-left:2px}.chip.active[data-v-300213b4]{color:#fff;background:#8c532b;border-color:#8c532b}.filter-row.selects[data-v-300213b4]{flex-wrap:wrap}.select-field[data-v-300213b4]{flex:220px;align-items:center;gap:8px;display:flex}.select-field select[data-v-300213b4]{min-width:0;font:inherit;color:inherit;background:#fff;border:1px solid #d9c8b4;border-radius:8px;flex:1;padding:6px 8px}.filter-footer[data-v-300213b4]{justify-content:space-between;align-items:center;min-height:28px;display:flex}.result-count[data-v-300213b4]{color:#7b6859;font-size:.8rem}.song-grid[data-v-300213b4]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.song-card[data-v-300213b4]{box-sizing:border-box;width:100%;height:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e8dbcd;border-radius:10px;padding:14px 16px;transition:border-color .2s,transform .2s;display:block}.song-card[data-v-300213b4]:hover{border-color:#8c532b;transform:translateY(-1px)}.card-head[data-v-300213b4]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.card-title[data-v-300213b4]{font-size:1.05rem;font-weight:700}.card-level[data-v-300213b4]{color:#6d4a2a;background:#eedcc9;border-radius:12px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:600}.card-composer[data-v-300213b4]{color:#5a4a3a;margin-bottom:4px;font-size:.85rem}.card-sub[data-v-300213b4]{color:#7b6859;font-size:.75rem}.empty[data-v-300213b4]{text-align:center;color:#7b6859;padding:32px 0}.login-gate[data-v-834a43e7]{background:radial-gradient(80% 60% at 20% 10%,#b478462e,#0000 55%),radial-gradient(70% 50% at 90% 80%,#5a6e5a1f,#0000 50%),#f3ede2;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel[data-v-834a43e7]{text-align:center;width:min(100%,360px)}.brand[data-v-834a43e7]{letter-spacing:.04em;color:#3d2f22;margin:0 0 8px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Songti TC,Songti SC,serif;font-size:clamp(2rem,6vw,2.5rem)}h1[data-v-834a43e7]{color:#2c241c;margin:0 0 10px;font-size:1.15rem;font-weight:600}.hint[data-v-834a43e7]{color:#6a5a4a;margin:0 0 20px;font-size:.92rem;line-height:1.5}.lang-switch[data-v-834a43e7]{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:24px;display:inline-flex}.lang-btn[data-v-834a43e7]{color:#6a5a4a;cursor:pointer;background:0 0;border:1px solid #d2c2b0;border-radius:6px;padding:6px 10px;font-size:.82rem}.lang-btn.active[data-v-834a43e7]{color:#2c241c;background:#fffaf3;border-color:#a89078;font-weight:600}.lang-btn[data-v-834a43e7]:hover{border-color:#a89078}.auth-form[data-v-834a43e7]{gap:12px;display:grid}.auth-input[data-v-834a43e7]{box-sizing:border-box;color:#2c241c;background:#fffaf3;border:1px solid #c9b8a4;border-radius:8px;width:100%;padding:12px 14px;font-size:1rem}.auth-input[data-v-834a43e7]:focus{border-color:#a89078;outline:none}.enter-btn[data-v-834a43e7]{color:#fffaf3;cursor:pointer;background:#3d2f22;border:1px solid #c9b8a4;border-radius:8px;padding:12px 18px;font-size:.95rem}.enter-btn[data-v-834a43e7]:disabled{opacity:.65;cursor:wait}.enter-btn[data-v-834a43e7]:not(:disabled):hover{background:#2c241c}.switch-mode[data-v-834a43e7]{color:#6a5a4a;cursor:pointer;background:0 0;border:none;margin-top:16px;font-size:.88rem;text-decoration:underline}.switch-mode[data-v-834a43e7]:disabled{opacity:.6;cursor:wait}.error[data-v-834a43e7]{color:#a33;word-break:break-word;margin:16px 0 0;font-size:.85rem}html,body{height:100%;margin:0;padding:0;overflow:hidden}#app{height:100%}.app-main[data-v-9b577d26]{box-sizing:border-box;background-color:#f3ede2;flex-direction:column;height:100vh;padding:16px;display:flex;position:relative;overflow:hidden}.sign-out[data-v-9b577d26]{z-index:5;color:#5a4a3a;cursor:pointer;background:#fffaf3e6;border:1px solid #c9b8a4;border-radius:6px;padding:6px 10px;font-size:.8rem;position:absolute;bottom:16px;right:16px}
