:root{--text: #3f3a48;--text-h: #08060d;--bg: #fff;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #aa3bff;--accent-bg: rgba(170, 59, 255, .1);--accent-border: rgba(170, 59, 255, .5);--social-bg: rgba(244, 243, 236, .5);--shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 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;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(max-width:1024px){:root{font-size:16px}}@media(prefers-color-scheme:dark){:root{--text: #c7ced8;--text-h: #f3f4f6;--bg: #16171d;--border: #2e303a;--code-bg: #1f2028;--accent: #c084fc;--accent-bg: rgba(192, 132, 252, .15);--accent-border: rgba(192, 132, 252, .5);--social-bg: rgba(47, 48, 58, .5);--shadow: rgba(0, 0, 0, .4) 0 10px 15px -3px, rgba(0, 0, 0, .25) 0 4px 6px -2px}#social .button-icon{filter:invert(1) brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media(max-width:1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media(max-width:1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}.counter{font-size:16px;padding:5px 10px;border-radius:5px;color:var(--accent);background:var(--accent-bg);border:2px solid transparent;transition:border-color .3s;margin-bottom:24px}.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{inset-inline:0;margin:0 auto}.hero .base{width:170px;position:relative;z-index:0}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;top:34px;height:28px;transform:perspective(2000px) rotate(300deg) rotateX(44deg) rotateY(39deg) scale(1.4)}.hero .vite{z-index:0;top:107px;height:26px;width:auto;transform:perspective(2000px) rotate(300deg) rotateX(40deg) rotateY(39deg) scale(.8)}#app{width:1126px;max-width:100%;margin:0 auto;text-align:center;border-inline:1px solid var(--border);min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box}#center{display:flex;flex-direction:column;gap:25px;place-content:center;place-items:center;flex-grow:1}@media(max-width:1024px){#center{padding:32px 20px 24px;gap:18px}}#next-steps{display:flex;border-top:1px solid var(--border);text-align:left}#next-steps>div{flex:1 1 0;padding:32px}@media(max-width:1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{margin-bottom:16px;width:22px;height:22px}@media(max-width:1024px){#next-steps{flex-direction:column;text-align:center}}#docs{border-right:1px solid var(--border)}@media(max-width:1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{list-style:none;padding:0;display:flex;gap:8px;margin:32px 0 0}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);font-size:16px;border-radius:6px;background:var(--social-bg);display:flex;padding:6px 12px;align-items:center;gap:8px;text-decoration:none;transition:box-shadow .3s}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{height:18px;width:18px}@media(max-width:1024px){#next-steps ul{margin-top:20px;flex-wrap:wrap;justify-content:center}#next-steps ul li{flex:1 1 calc(50% - 8px)}#next-steps ul a{width:100%;justify-content:center;box-sizing:border-box}}#spacer{height:88px;border-top:1px solid var(--border)}@media(max-width:1024px){#spacer{height:48px}}.ticks{position:relative;width:100%}.ticks:before,.ticks:after{content:"";position:absolute;top:-4.5px;border:5px solid transparent}.ticks:before{left:0;border-left-color:var(--border)}.ticks:after{right:0;border-right-color:var(--border)}@keyframes chord-audio-spin{to{transform:rotate(360deg)}}.chord-audio-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid rgba(0,0,0,.12);border-top-color:currentColor;border-radius:50%;vertical-align:-2px;animation:chord-audio-spin .7s linear infinite}@media(prefers-color-scheme:dark){.chord-audio-spinner{border-color:#fff3;border-top-color:currentColor}}.app-shell{min-height:100dvh;box-sizing:border-box}.app-main{min-height:100%}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:200;display:flex;background:#fff;border-top:1px solid #e5e5e5;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 20px #0000000f}.tab-bar .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 6px 10px;text-decoration:none;color:#1111118c;font-size:11px;font-weight:600;border-top:3px solid transparent;min-height:52px;box-sizing:border-box}.tab-bar .tab:hover{color:#111;background:#fafafa}.tab-bar .tab--active{color:#111;border-top-color:#111;font-weight:800}.tab-bar .tab-ico{font-size:20px;line-height:1}@media(prefers-color-scheme:dark){.tab-bar{background:#0f0f12fa;border-top-color:#ffffff1f}.tab-bar .tab{color:#f8f8f88c}.tab-bar .tab:hover{color:#f8f8f8;background:#ffffff0f}.tab-bar .tab--active{color:#f8f8f8;border-top-color:#fff}}.chord-svg[data-v-7f26aa87]{display:block;margin:0 auto 12px}.nut[data-v-7f26aa87]{stroke:currentColor;stroke-width:4}.fret[data-v-7f26aa87]{stroke:currentColor;stroke-width:1;opacity:.35}.string[data-v-7f26aa87]{stroke:currentColor;stroke-width:1.2;opacity:.45}.dot[data-v-7f26aa87]{fill:currentColor;opacity:.92}.finger-num[data-v-7f26aa87]{fill:#fff;font-size:11px;font-weight:800}.om-x[data-v-7f26aa87]{fill:currentColor;font-size:15px;font-weight:700;opacity:.7}.om-o[data-v-7f26aa87]{stroke:currentColor;stroke-width:1.5;opacity:.65}.barre-line[data-v-7f26aa87]{stroke:currentColor;stroke-width:5;stroke-linecap:round;opacity:.85}.base-label[data-v-7f26aa87]{fill:currentColor;font-size:11px;font-weight:700;opacity:.65}.tech-wrap[data-v-5270a602]{width:100%;display:flex;justify-content:center;padding:40px 16px calc(96px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.tech-card[data-v-5270a602]{width:520px;max-width:100%;text-align:left;padding:18px 18px 16px;border-radius:16px;border:1px solid #e5e5e5;background:#fff;box-shadow:0 10px 30px #0000000f}.tech-title[data-v-5270a602]{font-size:18px;font-weight:800;letter-spacing:.3px;margin-bottom:12px;color:#111}.section-label[data-v-5270a602]{font-size:13px;font-weight:700;color:#111111d6;margin-bottom:8px}.chips[data-v-5270a602]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.level-chips[data-v-5270a602]{margin-bottom:12px}.level-chip[data-v-5270a602]{font-size:13px}.key-chips[data-v-5270a602]{margin-bottom:14px}.key-chip[data-v-5270a602]{min-width:2.25rem;text-align:center;padding-left:10px;padding-right:10px}.chip[data-v-5270a602]{padding:9px 12px;border-radius:999px;border:1px solid #e5e5e5;background:#f3f3f3;color:#111;cursor:pointer;transition:.15s ease;font-size:14px}.chip[data-v-5270a602]:hover{background:#ededed}.chip.active[data-v-5270a602]{border-color:#111;background:#111;color:#fff}.generate-btn[data-v-5270a602]{width:100%;padding:12px 16px;border-radius:12px;border:1px solid #111111;cursor:pointer;font-weight:800;font-size:16px;color:#fff;background:#111;transition:.15s ease}.generate-btn[data-v-5270a602]:hover{background:#000}.generate-btn[data-v-5270a602]:focus-visible{outline:2px solid #111111;outline-offset:3px}@media(prefers-color-scheme:dark){.tech-card[data-v-5270a602]{border-color:#ffffff24;background:#0f0f12f5;box-shadow:0 14px 46px #00000073}.tech-title[data-v-5270a602]{color:#f8f8f8}.section-label[data-v-5270a602]{color:#f8f8f8b8}.chip[data-v-5270a602]{border-color:#ffffff29;background:#ffffff0f;color:#f8f8f8}.chip[data-v-5270a602]:hover{background:#ffffff1a}.chip.active[data-v-5270a602],.generate-btn[data-v-5270a602]{border-color:#fff;background:#fff;color:#0b0b0f}.generate-btn[data-v-5270a602]:hover{background:#ffffffeb}.generate-btn[data-v-5270a602]:focus-visible{outline:2px solid rgba(255,255,255,.9)}}.result[data-v-5270a602]{margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.06)}.result-head[data-v-5270a602]{font-size:13px;font-weight:700;color:#111;margin-bottom:10px}.playback-toolbar[data-v-5270a602]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;padding:8px 10px;border-radius:10px;background:#00000008;border:1px solid rgba(0,0,0,.06)}.playback-toolbar-label[data-v-5270a602]{font-size:12px;font-weight:700;color:#111c}.playback-toolbar-hint[data-v-5270a602]{font-size:11px;color:#111111ad;flex-basis:100%}.bpm-chips[data-v-5270a602]{display:flex;flex-wrap:wrap;gap:6px}.bpm-chip[data-v-5270a602]{min-width:2.5rem;padding:5px 10px;border-radius:999px;border:1px solid #e5e5e5;background:#f8f8f8;font-size:12px;font-weight:700;cursor:pointer;color:#111}.bpm-chip[data-v-5270a602]:hover{background:#efefef}.bpm-chip.active[data-v-5270a602]{border-color:#111;background:#111;color:#fff}.progression-err[data-v-5270a602]{margin:0 0 8px;font-size:12px;line-height:1.45;color:#b42318}.result-loading[data-v-5270a602],.result-empty[data-v-5270a602]{font-size:13px;color:#111111c2;padding:10px 0 2px}.progressions[data-v-5270a602]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.progression-item[data-v-5270a602]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.06);background:#00000005;cursor:pointer;transition:border-color .15s ease,background .15s ease}.progression-item.is-playing-line[data-v-5270a602]{border-color:#1171b673;background:#1171b60f}.prog-play-btn[data-v-5270a602]{flex-shrink:0;margin-top:1px;padding:4px 10px;border-radius:8px;border:1px solid rgba(17,17,17,.2);background:#fff;font-size:12px;font-weight:800;cursor:pointer;color:#111}.prog-play-btn[data-v-5270a602]:hover{background:#0000000a}.prog-play-btn.active[data-v-5270a602]{border-color:#b42318;background:#b4231814;color:#8f1d12}.prog-wrap[data-v-5270a602]{flex:1}.tip[data-v-5270a602]{display:block;margin-top:6px;font-size:12px;color:#111111bd}.songs[data-v-5270a602]{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px}.song-empty[data-v-5270a602]{color:#111111bd}.progression-item.expanded[data-v-5270a602]{border-color:#1111112e;background:#1111110d}.num[data-v-5270a602]{width:28px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#111111b8;font-size:13px}.prog[data-v-5270a602]{font-weight:700;font-size:14px;color:#111}.chord-line[data-v-5270a602]{display:inline;line-height:1.5}.chord-sep[data-v-5270a602]{font-weight:600;color:#1111119e}.chord-token[data-v-5270a602]{display:inline;margin:0;padding:0 2px;border:none;background:transparent;font:inherit;font-weight:800;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:#11111159;text-underline-offset:3px}.chord-token[data-v-5270a602]:hover{text-decoration-color:#111111a6}.chord-token[data-v-5270a602]:focus-visible{outline:2px solid #111111;outline-offset:2px;border-radius:4px}.chord-token--playing[data-v-5270a602]{text-decoration:none;background:#1171b633;border-radius:4px;padding:0 4px;margin:0 -2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.sheet-backdrop[data-v-5270a602]{position:fixed;inset:0;z-index:9999;background:#00000073;display:flex;align-items:flex-end;justify-content:center;padding:0}.sheet-panel[data-v-5270a602]{width:100%;max-width:520px;max-height:78vh;overflow:auto;border-radius:16px 16px 0 0;background:#fff;border:1px solid rgba(0,0,0,.08);border-bottom:none;box-shadow:0 -8px 40px #0000001f;padding:0 16px 20px;box-sizing:border-box}.sheet-head[data-v-5270a602]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 10px;position:sticky;top:0;background:#fff;z-index:1}.sheet-title[data-v-5270a602]{font-size:16px;font-weight:800;color:#111}.sheet-close[data-v-5270a602]{border:none;background:#0000000f;width:36px;height:36px;border-radius:10px;font-size:22px;line-height:1;cursor:pointer;color:#111}.sheet-close[data-v-5270a602]:hover{background:#0000001a}.sheet-loading[data-v-5270a602],.sheet-error[data-v-5270a602]{padding:24px 0 32px;font-size:14px;color:#111111a6;text-align:center}.sheet-error[data-v-5270a602]{color:#b42318}.sheet-body[data-v-5270a602]{padding-bottom:8px}.sheet-section[data-v-5270a602]{margin-top:14px}.sheet-h[data-v-5270a602]{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.02em;color:#111111b8;text-transform:uppercase}.sheet-notes[data-v-5270a602]{margin:0;font-size:15px;font-weight:700;color:#111}.sheet-p[data-v-5270a602]{margin:0;font-size:14px;line-height:1.55;color:#111111e0;white-space:pre-wrap}.sheet-actions[data-v-5270a602]{margin-top:18px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08)}.sheet-play[data-v-5270a602]{width:100%;padding:11px 14px;margin-bottom:10px;border-radius:12px;border:1px solid #111111;background:#111;color:#fff;font-size:14px;font-weight:800;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sheet-play[data-v-5270a602]:hover:not(:disabled){background:#000;border-color:#000}.sheet-play[data-v-5270a602]:disabled{opacity:.45;cursor:not-allowed}.sheet-preview-err[data-v-5270a602]{margin:0 0 10px;font-size:13px;color:#b42318;line-height:1.45}.sheet-recalibrate[data-v-5270a602]{width:100%;padding:11px 14px;border-radius:12px;border:1px solid rgba(17,17,17,.22);background:#00000008;color:#111;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sheet-recalibrate[data-v-5270a602]:hover:not(:disabled){background:#0000000f;border-color:#11111159}.sheet-recalibrate[data-v-5270a602]:disabled{opacity:.65;cursor:not-allowed}.sheet-recalibrate-err[data-v-5270a602]{margin:10px 0 0;font-size:13px;color:#b42318;line-height:1.45}.sheet-disclaimer[data-v-5270a602]{margin:18px 0 0;font-size:12px;line-height:1.45;color:#111111b3}@media(prefers-color-scheme:dark){.result[data-v-5270a602]{border-top-color:#ffffff1f}.result-head[data-v-5270a602]{color:#f8f8f8}.playback-toolbar[data-v-5270a602]{background:#ffffff0f;border-color:#ffffff1f}.playback-toolbar-label[data-v-5270a602]{color:#f8f8f8d6}.playback-toolbar-hint[data-v-5270a602]{color:#f8f8f8bd}.bpm-chip[data-v-5270a602]{border-color:#ffffff2e;background:#ffffff14;color:#f8f8f8}.bpm-chip[data-v-5270a602]:hover{background:#ffffff1f}.bpm-chip.active[data-v-5270a602]{border-color:#fff;background:#fff;color:#0b0b0f}.progression-err[data-v-5270a602]{color:#ff8a80}.result-loading[data-v-5270a602],.result-empty[data-v-5270a602]{color:#f8f8f8d6}.progression-item[data-v-5270a602]{border-color:#ffffff1f;background:#ffffff0f}.progression-item.expanded[data-v-5270a602]{border-color:#ffffff38;background:#ffffff1a}.progression-item.is-playing-line[data-v-5270a602]{border-color:#64b5f68c;background:#64b5f61a}.prog-play-btn[data-v-5270a602]{border-color:#ffffff38;background:#ffffff14;color:#f8f8f8}.prog-play-btn[data-v-5270a602]:hover{background:#ffffff1f}.prog-play-btn.active[data-v-5270a602]{border-color:#ff8a80;background:#ff8a801f;color:#ffc4bd}.num[data-v-5270a602]{color:#f8f8f8d1}.prog[data-v-5270a602]{color:#f8f8f8}.chord-sep[data-v-5270a602]{color:#f8f8f8bd}.chord-token[data-v-5270a602]{text-decoration-color:#f8f8f859}.chord-token[data-v-5270a602]:hover{text-decoration-color:#f8f8f8a6}.chord-token[data-v-5270a602]:focus-visible{outline-color:#ffffffe6}.chord-token--playing[data-v-5270a602]{background:#64b5f647}.sheet-panel[data-v-5270a602]{background:#121216fa;border-color:#ffffff1f;box-shadow:0 -8px 40px #0000008c}.sheet-head[data-v-5270a602]{background:#121216fa}.sheet-title[data-v-5270a602]{color:#f8f8f8}.sheet-close[data-v-5270a602]{background:#ffffff1a;color:#f8f8f8}.sheet-close[data-v-5270a602]:hover{background:#ffffff29}.sheet-loading[data-v-5270a602],.sheet-error[data-v-5270a602]{color:#f8f8f8b3}.sheet-error[data-v-5270a602]{color:#ff8a80}.sheet-h[data-v-5270a602]{color:#f8f8f8cc}.sheet-notes[data-v-5270a602]{color:#f8f8f8}.sheet-p[data-v-5270a602]{color:#f8f8f8e6}.sheet-actions[data-v-5270a602]{border-top-color:#ffffff1f}.sheet-play[data-v-5270a602]{border-color:#fff;background:#fff;color:#0b0b0f}.sheet-play[data-v-5270a602]:hover:not(:disabled){background:#ffffffeb;border-color:#ffffffeb}.sheet-preview-err[data-v-5270a602]{color:#ff8a80}.sheet-recalibrate[data-v-5270a602]{border-color:#ffffff38;background:#ffffff0f;color:#f8f8f8}.sheet-recalibrate[data-v-5270a602]:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff59}.sheet-recalibrate-err[data-v-5270a602]{color:#ff8a80}.sheet-disclaimer[data-v-5270a602]{color:#f8f8f8bd}.tip[data-v-5270a602],.song-empty[data-v-5270a602]{color:#f8f8f8d6}}.dict-wrap[data-v-549f84f2]{width:100%;display:flex;justify-content:center;padding:24px 16px calc(80px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.dict-card[data-v-549f84f2]{width:520px;max-width:100%;text-align:left}.dict-title[data-v-549f84f2]{font-size:1.25rem;margin:0 0 4px;font-weight:800;color:#111}.dict-sub[data-v-549f84f2]{font-size:13px;color:#111111c2;margin:0 0 18px}.dict-quiz-link[data-v-549f84f2]{display:inline-block;margin:0 0 14px;font-size:13px;font-weight:700;color:#111;text-decoration:none;opacity:1}.dict-quiz-link[data-v-549f84f2]:hover{text-decoration:underline;opacity:1}.dict-section[data-v-549f84f2]{border:1px dashed #ccc;border-radius:12px;padding:14px;margin-bottom:14px;background:#fff}.dict-section-h[data-v-549f84f2]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#111111b8;margin:0 0 12px}.live-chord[data-v-549f84f2]{background:linear-gradient(180deg,#eef6ff,#f8fbff);border:1px solid #9ec5e8;border-radius:10px;padding:12px 14px;text-align:center}.live-label[data-v-549f84f2]{font-size:12px;font-weight:700;color:#111111b8}.live-sym[data-v-549f84f2]{font-size:1.85rem;font-weight:800;margin:8px 0;word-break:break-all}.live-parts[data-v-549f84f2],.live-key[data-v-549f84f2]{font-size:13px;color:#333;margin:0;line-height:1.5}.live-key[data-v-549f84f2]{margin-top:10px;padding-top:10px;border-top:1px dashed #bcd;font-size:12px;color:#111111b8}.field-label[data-v-549f84f2]{display:block;font-size:13px;font-weight:600;color:#111;margin:10px 0 4px}.field-label[data-v-549f84f2]:first-of-type{margin-top:0}.field-select[data-v-549f84f2]{width:100%;padding:10px 12px;font-size:15px;border:1px solid #ccc;border-radius:8px}.dict-primary[data-v-549f84f2]{width:100%;padding:12px 16px;border-radius:12px;border:1px solid #111;background:#111;color:#fff;font-weight:800;font-size:16px;cursor:pointer;margin-bottom:10px}.dict-primary[data-v-549f84f2]:disabled{opacity:.55;cursor:not-allowed}.dict-secondary[data-v-549f84f2]{width:100%;padding:10px 14px;border-radius:12px;border:1px solid rgba(17,17,17,.25);background:#0000000a;font-weight:700;font-size:14px;cursor:pointer;margin-bottom:10px}.dict-err[data-v-549f84f2]{color:#b42318;font-size:14px;margin:0 0 12px}.dict-results[data-v-549f84f2]{border-style:solid;border-color:#e5e5e5}.summary-notes[data-v-549f84f2]{font-size:15px;font-weight:700;margin:0 0 8px}.summary-p[data-v-549f84f2]{font-size:14px;line-height:1.55;margin:0 0 16px;color:#222}.dict-voicings-h[data-v-549f84f2]{font-size:14px;margin:0 0 12px}.voicing-card[data-v-549f84f2]{border:1px solid #e5e5e5;border-radius:12px;padding:12px;margin-bottom:12px;background:#fafafa}.voicing-tags[data-v-549f84f2]{font-size:13px;font-weight:700;color:#111c;margin-bottom:10px}.voicing-txt[data-v-549f84f2]{font-size:14px;line-height:1.5;margin:10px 0;color:#333}.dict-play[data-v-549f84f2]{width:100%;padding:10px;border-radius:10px;border:1px solid #111;background:#111;color:#fff;font-weight:700;font-size:14px;cursor:pointer}.dict-disclaimer[data-v-549f84f2]{font-size:12px;color:#111111b3;margin:16px 0 0;line-height:1.45}@media(prefers-color-scheme:dark){.dict-title[data-v-549f84f2]{color:#f8f8f8}.dict-sub[data-v-549f84f2]{color:#f8f8f8a6}.dict-quiz-link[data-v-549f84f2]{color:#f8f8f8}.dict-section[data-v-549f84f2]{background:#0f0f12f5;border-color:#ffffff24}.dict-section-h[data-v-549f84f2]{color:#f8f8f8cc}.live-chord[data-v-549f84f2]{background:linear-gradient(180deg,#3a699757,#2842664d);border-color:#8abbed94}.live-label[data-v-549f84f2]{color:#f8f8f8cc}.live-parts[data-v-549f84f2]{color:#f8f8f8eb}.live-key[data-v-549f84f2]{color:#f8f8f8cc;border-top-color:#bcd6f08c}.field-label[data-v-549f84f2]{color:#f8f8f8eb}.field-select[data-v-549f84f2]{background:#ffffff0f;border-color:#fff3;color:#f8f8f8}.dict-primary[data-v-549f84f2]{border-color:#fff;background:#fff;color:#0b0b0f}.dict-secondary[data-v-549f84f2]{border-color:#ffffff42;background:#ffffff14;color:#f8f8f8}.summary-notes[data-v-549f84f2],.dict-voicings-h[data-v-549f84f2]{color:#f8f8f8}.voicing-card[data-v-549f84f2]{background:#ffffff0f;border-color:#ffffff1f}.voicing-tags[data-v-549f84f2]{color:#f8f8f8d6}.summary-p[data-v-549f84f2],.voicing-txt[data-v-549f84f2]{color:#f8f8f8e6}.dict-disclaimer[data-v-549f84f2]{color:#f8f8f8bd}}.quiz-wrap[data-v-0a4dbbc5]{width:100%;display:flex;justify-content:center;padding:24px 16px calc(80px + env(safe-area-inset-bottom,0px));box-sizing:border-box;color:#111}.quiz-card[data-v-0a4dbbc5]{width:560px;max-width:100%}.quiz-title[data-v-0a4dbbc5]{margin:0 0 4px;font-size:1.25rem;font-weight:800;color:#111}.quiz-sub[data-v-0a4dbbc5]{margin:0 0 14px;color:#111111c2;font-size:13px}.quiz-section[data-v-0a4dbbc5]{border:1px dashed #ccc;border-radius:12px;background:#fff;padding:14px}.quiz-section-h[data-v-0a4dbbc5]{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#111111b8}.field-label[data-v-0a4dbbc5]{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.field-select[data-v-0a4dbbc5]{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:15px}.btn-primary[data-v-0a4dbbc5],.btn-secondary[data-v-0a4dbbc5]{width:100%;margin-top:10px;padding:11px 14px;border-radius:10px;font-size:14px;font-weight:800;cursor:pointer}.btn-primary[data-v-0a4dbbc5]{border:1px solid #111;background:#111;color:#fff}.btn-secondary[data-v-0a4dbbc5]{border:1px solid rgba(17,17,17,.25);background:#0000000a}.btn-primary[data-v-0a4dbbc5]:disabled,.btn-secondary[data-v-0a4dbbc5]:disabled{opacity:.6;cursor:not-allowed}.progress[data-v-0a4dbbc5]{margin:0 0 8px;font-size:13px;color:#111c}.auto-next-toggle[data-v-0a4dbbc5]{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;color:#111111d6}.auto-next-toggle input[data-v-0a4dbbc5]{width:14px;height:14px}.stem[data-v-0a4dbbc5]{margin:0 0 10px;color:#111111db}.stem strong[data-v-0a4dbbc5]{font-size:1.5rem;color:#111}.options[data-v-0a4dbbc5]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option[data-v-0a4dbbc5]{min-width:0;border:1px solid #ddd;border-radius:10px;background:#fff;color:#111;padding:8px;text-align:left;cursor:pointer;overflow:hidden;-webkit-appearance:none;appearance:none}.option[data-v-0a4dbbc5] .chord-svg{width:100%;max-width:100%;height:auto;margin-bottom:6px}.option.selected[data-v-0a4dbbc5]{border-color:#111}.option.correct[data-v-0a4dbbc5]{border-color:#1f8a43;background:#f0fbf4}.option.wrong[data-v-0a4dbbc5]{border-color:#b42318;background:#fef1f1}.option-top[data-v-0a4dbbc5]{font-size:12px;font-weight:700;color:#111111bf;margin-bottom:8px}.option-f[data-v-0a4dbbc5]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin-top:8px;font-size:12px;color:#111111db}.feedback[data-v-0a4dbbc5]{margin:10px 0 0;font-size:13px}.ok[data-v-0a4dbbc5]{color:#1f8a43}.err[data-v-0a4dbbc5]{margin-top:10px;color:#b42318;font-size:13px}.result-line[data-v-0a4dbbc5]{margin:0 0 8px;line-height:1.5}.result-line.muted[data-v-0a4dbbc5]{color:#111111c2;font-size:13px}.quality-box[data-v-0a4dbbc5]{border:1px solid #e5e5e5;border-radius:10px;background:#fafafa;padding:10px;margin:8px 0}.quality-title[data-v-0a4dbbc5]{margin:0 0 8px;font-size:13px}.quality-list[data-v-0a4dbbc5]{margin:0;padding-left:18px;font-size:13px;line-height:1.6}@media(prefers-color-scheme:dark){.quiz-title[data-v-0a4dbbc5]{color:#f8f8f8}.quiz-sub[data-v-0a4dbbc5]{color:#f8f8f8d1}.quiz-section[data-v-0a4dbbc5]{border-color:#ffffff24;background:#0f0f12f5}.quiz-section-h[data-v-0a4dbbc5]{color:#f8f8f8cc}.field-label[data-v-0a4dbbc5]{color:#f8f8f8eb}.field-select[data-v-0a4dbbc5]{background:#ffffff0f;border-color:#fff3;color:#f8f8f8}.btn-primary[data-v-0a4dbbc5]{border-color:#fff;background:#fff;color:#0b0b0f}.btn-secondary[data-v-0a4dbbc5]{border-color:#ffffff42;background:#ffffff14;color:#f8f8f8}.progress[data-v-0a4dbbc5]{color:#f8f8f8d6}.auto-next-toggle[data-v-0a4dbbc5]{color:#f8f8f8db}.stem[data-v-0a4dbbc5]{color:#f8f8f8f5}.option[data-v-0a4dbbc5]{border-color:#ffffff2e;background:#ffffff0f;color:#f8f8f8}.option.selected[data-v-0a4dbbc5]{border-color:#fff}.option.correct[data-v-0a4dbbc5]{border-color:#62c489;background:#62c48933}.option.wrong[data-v-0a4dbbc5]{border-color:#ff8a80;background:#ff8a8029}.option-top[data-v-0a4dbbc5]{color:#f8f8f8d1}.option-f[data-v-0a4dbbc5]{color:#f8f8f8e6}.ok[data-v-0a4dbbc5]{color:#8fe7b0}.err[data-v-0a4dbbc5]{color:#ff8a80}.result-line[data-v-0a4dbbc5]{color:#f8f8f8eb}.result-line.muted[data-v-0a4dbbc5]{color:#f8f8f8d1}.quality-box[data-v-0a4dbbc5]{border-color:#ffffff24;background:#ffffff0f}.quality-title[data-v-0a4dbbc5]{color:#f8f8f8}.quality-list[data-v-0a4dbbc5]{color:#f8f8f8e6}}@media(max-width:680px){.quiz-wrap[data-v-0a4dbbc5]{padding-left:10px;padding-right:10px}.quiz-card[data-v-0a4dbbc5]{width:100%}.quiz-section[data-v-0a4dbbc5]{padding:12px}.options[data-v-0a4dbbc5]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.option[data-v-0a4dbbc5]{padding:6px}.option-top[data-v-0a4dbbc5]{font-size:11px;margin-bottom:6px}.option-f[data-v-0a4dbbc5]{font-size:11px;line-height:1.3;word-break:break-all}.option[data-v-0a4dbbc5] .chord-svg{max-width:132px}}.single-note[data-v-5747f440]{--sn-text-primary: #111111;--sn-text-secondary: #2a2a2a;--sn-text-muted: #3b3b3b;border:1px dashed #ccc;border-radius:12px;background:#fff;padding:14px;color:var(--sn-text-primary)}.row[data-v-5747f440]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.field select[data-v-5747f440]{width:100%;border:1px solid #ddd;border-radius:8px;padding:8px 10px;color:var(--sn-text-primary);background:#fff}.check[data-v-5747f440]{display:flex;align-items:end;gap:8px;padding-bottom:8px;color:var(--sn-text-primary)}.field span[data-v-5747f440]{display:block;font-size:13px;margin-bottom:6px;color:var(--sn-text-secondary)}.muted[data-v-5747f440]{margin:0 0 8px;color:var(--sn-text-muted);font-size:13px}.progress[data-v-5747f440]{margin:0 0 8px;color:var(--sn-text-primary)}.actions[data-v-5747f440]{display:flex;gap:8px;margin-bottom:8px}.keys[data-v-5747f440]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:8px}.key-btn[data-v-5747f440]{border:1px solid #ddd;border-radius:8px;background:#fff;color:var(--sn-text-primary);padding:8px 6px;font-weight:700;cursor:pointer}.key-btn.selected[data-v-5747f440]{border-color:#111;background:#f5f5f5}.slots[data-v-5747f440]{display:flex;gap:8px;margin-bottom:8px}.slot[data-v-5747f440]{border:1px dashed #bbb;border-radius:8px;padding:8px 10px;min-width:68px;text-align:center;color:var(--sn-text-muted)}.slot.active[data-v-5747f440]{border-color:#111;color:var(--sn-text-primary)}.feedback[data-v-5747f440]{margin:8px 0;font-size:13px}.ok[data-v-5747f440]{color:#1f8a43}.err[data-v-5747f440]{color:#b42318;font-size:13px;margin-top:8px}.btn-primary[data-v-5747f440],.btn-secondary[data-v-5747f440]{width:100%;margin-top:8px;padding:11px 14px;border-radius:10px;font-size:14px;font-weight:800;cursor:pointer}.btn-primary[data-v-5747f440]{border:1px solid #111;background:#111;color:#fff}.btn-secondary[data-v-5747f440]{border:1px solid #8a8a8a;background:#f4f4f4;color:var(--sn-text-primary)}.btn-secondary.small[data-v-5747f440]{width:auto;margin-top:0;padding:7px 10px;font-size:13px}.result-title[data-v-5747f440]{margin:0 0 8px;color:var(--sn-text-primary)}.result-line[data-v-5747f440]{margin:0 0 6px;color:var(--sn-text-primary)}.wrong-box[data-v-5747f440]{margin:8px 0;border:1px solid #e6e6e6;border-radius:8px;padding:8px;background:#fafafa}.wrong-box ul[data-v-5747f440]{margin:6px 0 0;padding-left:18px}@media(max-width:640px){.row[data-v-5747f440]{grid-template-columns:1fr}.keys[data-v-5747f440]{grid-template-columns:repeat(4,minmax(0,1fr))}}.ear-wrap[data-v-5e7a6803]{--ear-text-primary: #111111;--ear-text-secondary: #2a2a2a;--ear-text-muted: #3b3b3b;width:100%;display:flex;justify-content:center;padding:24px 16px calc(80px + env(safe-area-inset-bottom,0px));box-sizing:border-box;color:var(--ear-text-primary)}.ear-card[data-v-5e7a6803]{width:560px;max-width:100%}.ear-hero[data-v-5e7a6803]{margin-bottom:12px;border:1px solid #d8d8d8;border-radius:14px;background:linear-gradient(180deg,#fff,#f5f5f5);box-shadow:0 6px 18px #0000000d;padding:14px 16px}.ear-title[data-v-5e7a6803]{margin:0;font-size:1.4rem;font-weight:900;color:#000;letter-spacing:.01em}.track-tabs[data-v-5e7a6803]{display:flex;gap:8px;margin-bottom:10px}.track-tab[data-v-5e7a6803]{flex:1;border:1px solid #ddd;background:#ececec;color:var(--ear-text-secondary);border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:700}.track-tab.active[data-v-5e7a6803]{border-color:#cfcfcf;background:#fff;color:#000;box-shadow:0 3px 10px #00000014}.ear-section[data-v-5e7a6803]{border:1px dashed #ccc;border-radius:12px;background:#fff;padding:14px}.ear-section-h[data-v-5e7a6803]{margin:0 0 10px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ear-text-secondary)}.mode-list[data-v-5e7a6803]{display:grid;gap:8px}.mode-item[data-v-5e7a6803]{border:1px solid #ddd;border-radius:10px;background:#fff;text-align:left;padding:10px;cursor:pointer}.mode-item.active[data-v-5e7a6803]{border:2px solid #111}.mode-item strong[data-v-5e7a6803]{display:block;margin-bottom:4px;color:var(--ear-text-primary)}.mode-item span[data-v-5e7a6803]{color:var(--ear-text-muted);font-size:13px}.btn-primary[data-v-5e7a6803],.btn-secondary[data-v-5e7a6803]{width:100%;margin-top:10px;padding:11px 14px;border-radius:10px;font-size:14px;font-weight:800;cursor:pointer}.btn-primary[data-v-5e7a6803]{border:1px solid #111;background:#111;color:#fff}.btn-secondary[data-v-5e7a6803]{border:1px solid #8a8a8a;background:#f4f4f4;color:var(--ear-text-primary)}.btn-secondary.small[data-v-5e7a6803]{width:auto;margin-top:0;font-size:13px;padding:7px 10px}.btn-primary[data-v-5e7a6803]:disabled,.btn-secondary[data-v-5e7a6803]:disabled{opacity:.6;cursor:not-allowed}.progress[data-v-5e7a6803],.stem[data-v-5e7a6803],.result-line[data-v-5e7a6803]{margin:0 0 8px;color:var(--ear-text-primary)}.muted-line[data-v-5e7a6803]{margin:0 0 8px;color:var(--ear-text-muted);font-size:13px}.audio-row[data-v-5e7a6803]{display:flex;gap:8px;margin-bottom:8px}.options[data-v-5e7a6803]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.option[data-v-5e7a6803]{border:1px solid #ddd;border-radius:10px;background:#fff;color:#111;text-align:left;padding:10px;cursor:pointer}.option.selected[data-v-5e7a6803]{border-color:#111}.option.correct[data-v-5e7a6803]{border-color:#1f8a43;background:#effaf3}.option.wrong[data-v-5e7a6803]{border-color:#b42318;background:#fef1f1}.option-key[data-v-5e7a6803]{display:inline-block;min-width:1.2rem;font-weight:800;margin-right:6px}.feedback[data-v-5e7a6803]{margin-top:10px;font-size:13px}.ok[data-v-5e7a6803]{color:#1f8a43}.err[data-v-5e7a6803]{color:#b42318;font-size:13px;margin-top:10px}.box[data-v-5e7a6803]{margin-top:10px;border:1px solid #e5e5e5;border-radius:10px;background:#fafafa;padding:10px;color:var(--ear-text-primary)}.box h3[data-v-5e7a6803]{margin:0 0 8px;font-size:13px;color:var(--ear-text-primary)}.box ul[data-v-5e7a6803]{margin:0;padding-left:18px;font-size:13px;line-height:1.6;color:var(--ear-text-primary)}
