.accidental-toggle[data-v-3b8b9a3d]{position:relative;display:grid;grid-template-columns:1fr 1fr;box-sizing:border-box;width:112px;height:46px;padding:4px;border:1px solid #b5c4ca;border-radius:999px;background:#fff;cursor:pointer;box-shadow:inset 0 0 0 1px #2f48580f}.accidental-toggle[data-v-3b8b9a3d]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.accidental-symbol[data-v-3b8b9a3d]{position:relative;z-index:1;display:grid;place-items:center;color:#63727a;font-size:1.35rem;font-weight:900;line-height:1;transition:color .16s ease}.accidental-symbol-active[data-v-3b8b9a3d]{color:#fff}.accidental-thumb[data-v-3b8b9a3d]{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:36px;border-radius:999px;background:#147a72;box-shadow:0 2px 6px #2f485838;transition:transform .18s ease}.accidental-toggle-flat .accidental-thumb[data-v-3b8b9a3d]{transform:translate(100%)}.chord-shape-diagram[data-v-a8ae2527]{display:grid;gap:6px;justify-items:center;color:#172026}.shape-svg[data-v-a8ae2527]{display:block;width:174px;height:154px}.shape-grid line[data-v-a8ae2527]{stroke:#8b9aa3;stroke-width:1.4}.shape-grid .nut-line[data-v-a8ae2527]{stroke:#23323a;stroke-width:4}.base-fret-label[data-v-a8ae2527],.shape-markers text[data-v-a8ae2527]{fill:#63727a;font-size:.68rem;font-weight:900;text-transform:uppercase}.shape-fingers circle[data-v-a8ae2527]{fill:#c6402a;stroke:#8b2f23;stroke-width:1.6}.finger-note-label[data-v-a8ae2527]{fill:#fff;font-size:7.5px;font-weight:900;pointer-events:none}.chord-shape-tooltip[data-v-b58b4067]{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px}.shape-navigation-button[data-v-b58b4067]{display:inline-grid;width:32px;height:64px;place-items:center;border:1px solid rgba(47,72,88,.18);border-radius:999px;color:#2f4858;background:#f9fafb;cursor:pointer;font:inherit;font-size:1.8rem;font-weight:900;line-height:1;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.shape-navigation-button[data-v-b58b4067]:focus-visible,.shape-navigation-button[data-v-b58b4067]:hover{border-color:#8b2f23;color:#fff;background:#c6402a;outline:none}.circle-panel[data-v-8bf4d812]{width:min(1200px,100%);margin:0 auto 16px;padding:clamp(18px,3vw,28px);border:1px solid rgba(47,72,88,.18);border-radius:8px;background:#ffffffc7;box-shadow:0 18px 48px #2f48581f}.circle-heading[data-v-8bf4d812]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.circle-eyebrow[data-v-8bf4d812]{margin:0 0 4px;color:#147a72;font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h2[data-v-8bf4d812]{margin:0;color:#172026;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1}.circle-key-picker[data-v-8bf4d812]{display:grid;gap:8px;min-width:148px;color:#33444e;font-size:.82rem;font-weight:900;text-transform:uppercase}.circle-key-picker select[data-v-8bf4d812]{min-height:46px;padding:0 38px 0 14px;border:1px solid #b5c4ca;border-radius:8px;color:#172026;background:#fff;font:inherit;font-size:1rem;font-weight:800;text-transform:none}.circle-key-picker select[data-v-8bf4d812]:focus-visible,.circle-key[data-v-8bf4d812]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.circle-layout[data-v-8bf4d812]{display:grid;grid-template-columns:minmax(360px,420px) 1fr;align-items:center;gap:clamp(22px,4vw,42px)}.circle-wheel[data-v-8bf4d812]{position:relative;aspect-ratio:1;width:min(360px,100%);margin:0 auto;border:2px solid rgba(47,72,88,.16);border-radius:999px;background:radial-gradient(circle,rgba(34,166,153,.14) 0 34%,transparent 35%),radial-gradient(circle,rgba(240,101,67,.08) 0 66%,transparent 67%),#fff}.circle-key[data-v-8bf4d812]{--circle-key-size:68px;position:absolute;display:inline-grid;width:var(--circle-key-size);height:var(--circle-key-size);align-content:center;justify-items:center;gap:3px;border:1px solid #b5c4ca;border-radius:999px;color:#33444e;background:#fff;cursor:pointer;font:inherit;font-weight:900;transform:translate(-50%,-50%);transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.circle-key-selected[data-v-8bf4d812]{border-color:#8b2f23;color:#fff;background:#c6402a;transform:translate(-50%,-50%) scale(1.08)}.major-key-label[data-v-8bf4d812]{font-size:.98rem;line-height:1}.relative-minor-label[data-v-8bf4d812]{color:#63727a;font-size:.72rem;line-height:1}.circle-key-selected .relative-minor-label[data-v-8bf4d812]{color:#fff}.circle-center[data-v-8bf4d812]{position:absolute;inset:34%;display:grid;place-items:center;border:1px solid rgba(47,72,88,.16);border-radius:999px;color:#172026;background:#ffffffd1;text-align:center}.circle-center span[data-v-8bf4d812]{font-size:clamp(2.1rem,5vw,3rem);font-weight:900;line-height:.9}.circle-center small[data-v-8bf4d812]{margin-top:-10px;color:#63727a;font-size:.76rem;font-weight:900;text-transform:uppercase}.chord-sections[data-v-8bf4d812]{display:grid;gap:18px}.chord-section[data-v-8bf4d812]{display:grid;gap:10px}.chord-section-heading[data-v-8bf4d812]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.chord-section-eyebrow[data-v-8bf4d812]{color:#63727a;font-size:.72rem;text-transform:uppercase}.chord-section-eyebrow[data-v-8bf4d812],h3[data-v-8bf4d812]{margin:0;font-weight:900;line-height:1}h3[data-v-8bf4d812]{color:#172026;font-size:1.08rem}.chord-map[data-v-8bf4d812]{display:grid;grid-template-columns:repeat(7,minmax(74px,1fr));gap:10px}.chord-card[data-v-8bf4d812]{position:relative;display:grid;min-height:122px;align-content:center;gap:6px;padding:12px 8px;border:1px solid rgba(47,72,88,.18);border-radius:8px;color:#172026;background:#f9fafbe6;text-align:center}.chord-card[data-v-8bf4d812]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.chord-tooltip[data-v-8bf4d812]{position:absolute;z-index:20;bottom:calc(100% + 10px);left:50%;width:288px;padding:12px;border:1px solid rgba(47,72,88,.18);border-radius:8px;background:#fffffffa;box-shadow:0 18px 48px #2f48582e;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease;visibility:hidden}.chord-card:focus .chord-tooltip[data-v-8bf4d812],.chord-card:focus-within .chord-tooltip[data-v-8bf4d812],.chord-card:hover .chord-tooltip[data-v-8bf4d812]{opacity:1;pointer-events:auto;transform:translate(-50%);visibility:visible}.nashville-number[data-v-8bf4d812]{color:#c6402a;font-size:.82rem;font-weight:900}.chord-name[data-v-8bf4d812]{font-size:clamp(1.35rem,2.3vw,1.85rem);font-weight:900;line-height:1}:is(.chord-quality,.roman-number)[data-v-8bf4d812]{color:#63727a;font-size:.72rem;font-weight:900;line-height:1}:is(.chord-quality,.roman-number)[data-v-8bf4d812]:not(.roman-number){text-transform:uppercase}.roman-number[data-v-8bf4d812]{color:#2f4858}@media(max-width:1040px){.circle-layout[data-v-8bf4d812]{grid-template-columns:1fr}.circle-wheel[data-v-8bf4d812]{width:min(340px,calc(100% - 72px))}.circle-key[data-v-8bf4d812]{--circle-key-size:64px}.chord-map[data-v-8bf4d812]{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}}@media(max-width:700px){.circle-heading[data-v-8bf4d812]{align-items:stretch;flex-direction:column}.circle-key-picker[data-v-8bf4d812]{min-width:0}.chord-section-heading[data-v-8bf4d812]{align-items:flex-start;flex-direction:column;gap:4px}.chord-map[data-v-8bf4d812]{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.chord-card[data-v-8bf4d812]{min-height:108px;padding:10px 8px}.chord-tooltip[data-v-8bf4d812]{display:none;position:static;width:100%;max-width:100%;margin-top:8px;transform:none}.chord-card:focus .chord-tooltip[data-v-8bf4d812],.chord-card:focus-within .chord-tooltip[data-v-8bf4d812],.chord-card:hover .chord-tooltip[data-v-8bf4d812]{display:block;transform:none}}@media(max-width:620px){.circle-panel[data-v-8bf4d812]{padding:14px}.circle-wheel[data-v-8bf4d812]{width:min(280px,calc(100% - 56px))}.circle-key[data-v-8bf4d812]{--circle-key-size:48px}.major-key-label[data-v-8bf4d812]{font-size:.84rem}.relative-minor-label[data-v-8bf4d812]{font-size:.64rem}.circle-center[data-v-8bf4d812]{inset:33%}}@media(max-width:420px){.circle-wheel[data-v-8bf4d812]{width:min(240px,calc(100% - 48px))}.circle-key[data-v-8bf4d812]{--circle-key-size:44px;gap:2px}.major-key-label[data-v-8bf4d812]{font-size:.78rem}.relative-minor-label[data-v-8bf4d812]{font-size:.6rem}.chord-map[data-v-8bf4d812]{grid-template-columns:repeat(2,minmax(0,1fr))}}.note-practice-panel[data-v-c609704f]{width:min(1200px,100%);margin:0 auto 16px;padding:clamp(18px,3vw,28px);border:1px solid rgba(47,72,88,.18);border-radius:8px;background:#ffffffc7;box-shadow:0 18px 48px #2f48581f}.note-practice-heading[data-v-c609704f]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.note-practice-eyebrow[data-v-c609704f]{margin:0 0 4px;color:#c6402a;font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h2[data-v-c609704f]{margin:0;color:#172026;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1}.note-practice-description[data-v-c609704f]{max-width:680px;margin:10px 0 0;color:#33444e;font-size:.98rem;font-weight:650;line-height:1.4}.practice-transport[data-v-c609704f]{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.practice-icon-button[data-v-c609704f],.practice-transport-button[data-v-c609704f]{min-height:46px;border:1px solid #8b2f23;border-radius:8px;cursor:pointer;font:inherit;font-weight:900}.practice-icon-button[data-v-c609704f]{padding:0 14px;color:#8b2f23;background:#f065431a}.practice-transport-button[data-v-c609704f]{min-width:104px;padding:0 18px;color:#fff;background:#c6402a}.practice-icon-button[data-v-c609704f]:focus-visible,.practice-tempo-slider input[data-v-c609704f]:focus-visible,.practice-transport-button[data-v-c609704f]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.practice-readout[data-v-c609704f]{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.practice-note[data-v-c609704f]{margin-right:12px;color:#172026;font-size:clamp(3rem,8vw,5.75rem);font-weight:900;line-height:.9}.practice-count[data-v-c609704f],.practice-string[data-v-c609704f]{color:#63727a;font-size:.92rem;font-weight:900;text-transform:uppercase}.practice-controls[data-v-c609704f]{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px;margin-bottom:16px}.practice-tempo-slider[data-v-c609704f]{display:grid;gap:8px;color:#33444e;font-size:.82rem;font-weight:900;text-transform:uppercase}.practice-tempo-slider input[data-v-c609704f]{width:100%;accent-color:#22a699}.practice-tempo-readout[data-v-c609704f]{display:grid;justify-items:end;color:#172026}.practice-tempo-readout span[data-v-c609704f]{font-size:2rem;font-weight:900;line-height:1}.practice-tempo-readout small[data-v-c609704f]{color:#63727a;font-size:.72rem;font-weight:900}.practice-key-strip[data-v-c609704f]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.practice-key-pill[data-v-c609704f]{display:inline-grid;min-width:42px;min-height:34px;place-items:center;border:1px solid #b5c4ca;border-radius:8px;color:#33444e;background:#ffffffbd;cursor:pointer;font:inherit;font-weight:900}.practice-key-pill[data-v-c609704f]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.practice-key-pill-active[data-v-c609704f]{border-color:#8b2f23;color:#fff;background:#c6402a}.note-practice-stage[data-v-c609704f]{width:100%;margin:0;border:1px solid rgba(47,72,88,.18);border-radius:8px;overflow:auto hidden;background:linear-gradient(180deg,#fffffff2,#f6f8f8f2),repeating-linear-gradient(90deg,rgba(47,72,88,.06) 0 1px,transparent 1px 48px)}.note-practice-stage[data-v-c609704f] .fretboard-html-wrapper{min-width:1000px}.note-practice-stage[data-v-c609704f] svg{display:block;width:100%;height:auto}@media(max-width:900px){.note-practice-heading[data-v-c609704f],.practice-readout[data-v-c609704f]{align-items:stretch;flex-direction:column}.practice-transport[data-v-c609704f]{justify-content:flex-start}.practice-controls[data-v-c609704f]{grid-template-columns:1fr}.practice-tempo-readout[data-v-c609704f]{justify-items:start}.note-practice-stage[data-v-c609704f] .fretboard-html-wrapper{min-width:860px}}@media(max-width:620px){.note-practice-panel[data-v-c609704f]{padding:14px}.practice-transport[data-v-c609704f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.practice-icon-button[data-v-c609704f],.practice-transport-button[data-v-c609704f]{min-width:0;padding-inline:10px}.practice-note[data-v-c609704f]{font-size:clamp(2.7rem,18vw,4.5rem)}.practice-key-pill[data-v-c609704f]{min-width:38px}.note-practice-stage[data-v-c609704f] .fretboard-html-wrapper{min-width:720px}}.triad-practice-panel[data-v-ef74ebed]{width:min(1200px,100%);margin:0 auto 16px;padding:clamp(18px,3vw,28px);border:1px solid rgba(47,72,88,.18);border-radius:8px;background:#ffffffc7;box-shadow:0 18px 48px #2f48581f}.triad-practice-heading[data-v-ef74ebed]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.triad-practice-eyebrow[data-v-ef74ebed]{margin:0 0 4px;color:#c6402a;font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h2[data-v-ef74ebed]{margin:0;color:#172026;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1}.triad-practice-description[data-v-ef74ebed]{max-width:720px;margin:10px 0 0;color:#33444e;font-size:.98rem;font-weight:650;line-height:1.4}.triad-practice-transport[data-v-ef74ebed]{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.triad-practice-icon-button[data-v-ef74ebed],.triad-practice-transport-button[data-v-ef74ebed]{min-height:46px;border:1px solid #126f67;border-radius:8px;cursor:pointer;font:inherit;font-weight:900}.triad-practice-icon-button[data-v-ef74ebed]{padding:0 14px;color:#126f67;background:#22a6991f}.triad-practice-transport-button[data-v-ef74ebed]{min-width:104px;padding:0 18px;color:#fff;background:#147a72}.triad-practice-icon-button[data-v-ef74ebed]:focus-visible,.triad-practice-tempo-slider input[data-v-ef74ebed]:focus-visible,.triad-practice-transport-button[data-v-ef74ebed]:focus-visible{outline:3px solid rgba(240,101,67,.26);outline-offset:2px}.triad-practice-readout[data-v-ef74ebed]{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.triad-practice-chord[data-v-ef74ebed]{margin-right:12px;color:#172026;font-size:clamp(2.6rem,7vw,5rem);font-weight:900;line-height:.9}.triad-practice-count[data-v-ef74ebed],.triad-practice-shape[data-v-ef74ebed],.triad-practice-strings[data-v-ef74ebed]{color:#63727a;font-size:.92rem;font-weight:900;text-transform:uppercase}.triad-practice-shape[data-v-ef74ebed]{margin-right:10px;color:#2f4858}.triad-practice-controls[data-v-ef74ebed]{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px;margin-bottom:16px}.triad-practice-tempo-slider[data-v-ef74ebed]{display:grid;gap:8px;color:#33444e;font-size:.82rem;font-weight:900;text-transform:uppercase}.triad-practice-tempo-slider input[data-v-ef74ebed]{width:100%;accent-color:#22a699}.triad-practice-tempo-readout[data-v-ef74ebed]{display:grid;justify-items:end;color:#172026}.triad-practice-tempo-readout span[data-v-ef74ebed]{font-size:2rem;font-weight:900;line-height:1}.triad-practice-tempo-readout small[data-v-ef74ebed]{color:#63727a;font-size:.72rem;font-weight:900}.triad-practice-key-strip[data-v-ef74ebed],.triad-practice-string-set-strip[data-v-ef74ebed]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.triad-practice-key-pill[data-v-ef74ebed],.triad-practice-string-set-pill[data-v-ef74ebed]{display:inline-grid;min-height:34px;place-items:center;border:1px solid #b5c4ca;border-radius:8px;color:#33444e;background:#ffffffbd;cursor:pointer;font:inherit;font-weight:900}.triad-practice-key-pill[data-v-ef74ebed]{min-width:42px}.triad-practice-string-set-pill[data-v-ef74ebed]{min-width:78px}.triad-practice-key-pill[data-v-ef74ebed]:focus-visible,.triad-practice-string-set-pill[data-v-ef74ebed]:focus-visible{outline:3px solid rgba(240,101,67,.26);outline-offset:2px}.triad-practice-key-pill-active[data-v-ef74ebed],.triad-practice-string-set-pill-active[data-v-ef74ebed]{border-color:#126f67;color:#fff;background:#147a72}.triad-practice-stage[data-v-ef74ebed]{width:100%;margin:0;border:1px solid rgba(47,72,88,.18);border-radius:8px;overflow:auto hidden;background:linear-gradient(180deg,#fffffff2,#f6f8f8f2),repeating-linear-gradient(90deg,rgba(47,72,88,.06) 0 1px,transparent 1px 48px)}.triad-practice-stage[data-v-ef74ebed] .fretboard-html-wrapper{min-width:1000px}.triad-practice-stage[data-v-ef74ebed] svg{display:block;width:100%;height:auto}@media(max-width:900px){.triad-practice-heading[data-v-ef74ebed],.triad-practice-readout[data-v-ef74ebed]{align-items:stretch;flex-direction:column}.triad-practice-transport[data-v-ef74ebed]{justify-content:flex-start}.triad-practice-controls[data-v-ef74ebed]{grid-template-columns:1fr}.triad-practice-tempo-readout[data-v-ef74ebed]{justify-items:start}.triad-practice-stage[data-v-ef74ebed] .fretboard-html-wrapper{min-width:860px}}@media(max-width:620px){.triad-practice-panel[data-v-ef74ebed]{padding:14px}.triad-practice-transport[data-v-ef74ebed]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.triad-practice-icon-button[data-v-ef74ebed],.triad-practice-transport-button[data-v-ef74ebed]{min-width:0;padding-inline:10px}.triad-practice-chord[data-v-ef74ebed]{font-size:clamp(2.3rem,15vw,4rem)}.triad-practice-key-pill[data-v-ef74ebed]{min-width:38px}.triad-practice-string-set-pill[data-v-ef74ebed]{min-width:0;padding-inline:10px}.triad-practice-stage[data-v-ef74ebed] .fretboard-html-wrapper{min-width:720px}}.fretboard-label-toggle[data-v-85bb05d5]{position:relative;display:grid;grid-template-columns:1fr 1fr;box-sizing:border-box;width:166px;height:46px;padding:4px;border:1px solid #b5c4ca;border-radius:999px;background:#fff;cursor:pointer;box-shadow:inset 0 0 0 1px #2f48580f}.fretboard-label-toggle[data-v-85bb05d5]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.fretboard-label-option[data-v-85bb05d5]{position:relative;z-index:1;display:grid;place-items:center;color:#63727a;font-size:.86rem;font-weight:900;line-height:1;transition:color .16s ease}.fretboard-label-option-active[data-v-85bb05d5]{color:#fff}.fretboard-label-thumb[data-v-85bb05d5]{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:36px;border-radius:999px;background:#147a72;box-shadow:0 2px 6px #2f485838;transition:transform .18s ease}.fretboard-label-toggle-degrees .fretboard-label-thumb[data-v-85bb05d5]{transform:translate(100%)}.fretboard-orientation-toggle[data-v-b6bb8858]{position:relative;display:grid;grid-template-columns:1fr 1fr;box-sizing:border-box;width:166px;height:46px;padding:4px;border:1px solid #b5c4ca;border-radius:999px;background:#fff;cursor:pointer;box-shadow:inset 0 0 0 1px #2f48580f}.fretboard-orientation-toggle[data-v-b6bb8858]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.fretboard-orientation-option[data-v-b6bb8858]{position:relative;z-index:1;display:grid;place-items:center;color:#63727a;font-size:.86rem;font-weight:900;line-height:1;transition:color .16s ease}.fretboard-orientation-option-active[data-v-b6bb8858]{color:#fff}.fretboard-orientation-thumb[data-v-b6bb8858]{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:36px;border-radius:999px;background:#147a72;box-shadow:0 2px 6px #2f485838;transition:transform .18s ease}.fretboard-orientation-toggle-left .fretboard-orientation-thumb[data-v-b6bb8858]{transform:translate(100%)}.metronome-panel[data-v-40ce506e]{width:min(1200px,100%);margin:0 auto 28px;padding:clamp(18px,3vw,28px);border:1px solid rgba(47,72,88,.18);border-radius:8px;background:#ffffffc7;box-shadow:0 18px 48px #2f48581f}.metronome-heading[data-v-40ce506e]{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.metronome-eyebrow[data-v-40ce506e]{margin:0 0 4px;color:#c6402a;font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h2[data-v-40ce506e]{margin:0;color:#172026;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1}.metronome-description[data-v-40ce506e]{max-width:620px;margin:10px 0 0;color:#33444e;font-size:.98rem;font-weight:650;line-height:1.4}.transport-button[data-v-40ce506e]{border:1px solid #8b2f23;border-radius:8px;color:#fff;background:#c6402a;cursor:pointer;font:inherit;font-weight:900;min-width:104px;min-height:46px;padding:0 18px}.beat-dot[data-v-40ce506e]:focus-visible,.meter-picker select[data-v-40ce506e]:focus-visible,.tempo-slider input[data-v-40ce506e]:focus-visible,.transport-button[data-v-40ce506e]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.tempo-readout[data-v-40ce506e]{display:flex;align-items:baseline;gap:10px;margin-bottom:16px;color:#172026}.tempo-value[data-v-40ce506e]{font-size:clamp(3rem,8vw,5.75rem);font-weight:900;line-height:.9}.tempo-unit[data-v-40ce506e]{color:#63727a;font-size:.92rem;font-weight:900}.metronome-controls[data-v-40ce506e]{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:16px}.meter-picker[data-v-40ce506e],.tempo-slider[data-v-40ce506e]{display:grid;gap:8px;color:#33444e;font-size:.82rem;font-weight:900;text-transform:uppercase}.tempo-slider input[data-v-40ce506e]{width:100%;accent-color:#22a699}.meter-picker select[data-v-40ce506e]{min-height:46px;box-sizing:border-box;width:100%;border:1px solid #b5c4ca;border-radius:8px;color:#172026;background:#fff;font:inherit;font-weight:800;text-align:center;min-width:112px;padding:0 12px;text-align:left}.beat-row[data-v-40ce506e]{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.beat-dot[data-v-40ce506e]{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid #b5c4ca;border-radius:999px;color:#63727a;background:#fff;cursor:pointer;font:inherit;font-size:.84rem;font-weight:900;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.beat-dot-enabled[data-v-40ce506e]{border-color:#c6402a;color:#8b2f23;background:#f065431a}.beat-dot-offbeat[data-v-40ce506e]{font-size:1rem}.beat-dot-active[data-v-40ce506e]{border-color:#147a72;color:#fff;background:#147a72;transform:translateY(-2px)}@media(max-width:820px){.metronome-controls[data-v-40ce506e]{grid-template-columns:1fr}.metronome-heading[data-v-40ce506e]{align-items:stretch;flex-direction:column}.transport-button[data-v-40ce506e]{width:-moz-fit-content;width:fit-content}}@media(max-width:620px){.metronome-panel[data-v-40ce506e]{padding:14px}.transport-button[data-v-40ce506e]{width:100%}.tempo-readout[data-v-40ce506e]{align-items:flex-end}.tempo-value[data-v-40ce506e]{font-size:clamp(2.8rem,20vw,4.5rem)}.beat-row[data-v-40ce506e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:8px}.beat-dot[data-v-40ce506e]{width:100%}}.visualizer-shell[data-v-2123b899]{min-height:100vh;padding:clamp(14px,3vw,36px);overflow-x:clip;color:#172026;background:linear-gradient(180deg,#f9fafbf5,#ebf1f2eb),linear-gradient(120deg,#f06543,#22a699 48%,#2f4858)}.visualizer-card[data-v-2123b899]{width:min(1200px,100%);margin:0 auto 16px;padding:clamp(18px,3vw,28px);border:1px solid rgba(47,72,88,.18);border-radius:8px;background:#ffffffc7;box-shadow:0 18px 48px #2f48581f}.visualizer-header[data-v-2123b899]{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.visualizer-eyebrow[data-v-2123b899]{margin:0 0 4px;color:#147a72;font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h1[data-v-2123b899]{max-width:680px;margin:0;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1;letter-spacing:0}.visualizer-header-actions[data-v-2123b899]{display:flex;align-items:center;justify-content:flex-end}.print-button[data-v-2123b899]{display:inline-grid;width:46px;height:46px;place-items:center;border:1px solid #b5c4ca;border-radius:8px;color:#147a72;background:#ffffffdb;cursor:pointer;box-shadow:inset 0 1px #ffffff94;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.print-button[data-v-2123b899]:hover{border-color:#147a72;color:#fff;background:#147a72}.print-button[data-v-2123b899]:active{transform:translateY(1px)}.print-button[data-v-2123b899]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.print-button-icon[data-v-2123b899]{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.print-summary[data-v-2123b899]{display:none}.dashboard-navigation[data-v-2123b899]{position:sticky;top:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;width:min(1200px,100%);margin:0 auto 16px;padding:10px 12px 10px 18px;border:1px solid rgba(47,72,88,.18);border-radius:8px;background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 14px 36px #2f48581f}.dashboard-navigation-brand[data-v-2123b899]{flex:0 0 auto;color:#172026;font-size:1rem;font-weight:900;line-height:1;text-decoration:none}.dashboard-navigation-toggle[data-v-2123b899]{position:relative;display:none;width:46px;height:42px;place-items:center;border:1px solid rgba(20,122,114,.24);border-radius:8px;color:#fff;background:linear-gradient(180deg,#22a699fa,#147a72);cursor:pointer;box-shadow:0 8px 18px #147a7238,inset 0 1px #ffffff38;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-navigation-toggle[data-v-2123b899]:hover{background:linear-gradient(180deg,#29b2a6,#147a72);box-shadow:0 10px 22px #147a7242,inset 0 1px #ffffff42}.dashboard-navigation-toggle[data-v-2123b899]:active{transform:translateY(1px)}.dashboard-navigation-toggle[data-v-2123b899]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.dashboard-navigation-toggle-line[data-v-2123b899]{position:absolute;left:13px;display:block;width:20px;height:2px;border-radius:999px;background:currentColor;box-shadow:0 1px #2f48582e;transition:opacity .16s ease,transform .16s ease}.dashboard-navigation-toggle-line[data-v-2123b899]:first-child{transform:translateY(-7px)}.dashboard-navigation-toggle-line[data-v-2123b899]:nth-child(2){transform:translateY(0)}.dashboard-navigation-toggle-line[data-v-2123b899]:nth-child(3){transform:translateY(7px)}.dashboard-navigation-toggle[aria-expanded=true] .dashboard-navigation-toggle-line[data-v-2123b899]:first-child{transform:translateY(0) rotate(45deg)}.dashboard-navigation-toggle[aria-expanded=true] .dashboard-navigation-toggle-line[data-v-2123b899]:nth-child(2){opacity:0}.dashboard-navigation-toggle[aria-expanded=true] .dashboard-navigation-toggle-line[data-v-2123b899]:nth-child(3){transform:translateY(0) rotate(-45deg)}.dashboard-navigation-links[data-v-2123b899]{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}.dashboard-navigation-links[data-v-2123b899]::-webkit-scrollbar{display:none}.dashboard-navigation-link[data-v-2123b899]{display:grid;flex:0 0 auto;gap:3px;min-width:116px;padding:9px 12px;border-radius:8px;color:#172026;font-size:.9rem;font-weight:850;line-height:1.05;text-decoration:none;transition:background .16s ease,color .16s ease}.dashboard-navigation-link[data-v-2123b899]:hover{background:#2f485812}.dashboard-navigation-link[data-v-2123b899]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.dashboard-navigation-category[data-v-2123b899]{font-size:.66rem;font-weight:900;line-height:1;text-transform:uppercase}.dashboard-navigation-category-learn[data-v-2123b899]{color:#147a72}.dashboard-navigation-category-drill[data-v-2123b899]{color:#9f3324}.visualizer-card[data-v-2123b899],.visualizer-shell[data-v-2123b899] .circle-panel,.visualizer-shell[data-v-2123b899] .metronome-panel,.visualizer-shell[data-v-2123b899] .note-practice-panel,.visualizer-shell[data-v-2123b899] .triad-practice-panel{scroll-margin-top:112px}.visualizer-controls[data-v-2123b899]{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:14px;justify-items:end;align-items:flex-end}.control-picker[data-v-2123b899]{display:grid;gap:8px;min-width:132px;width:100%;color:#33444e;font-size:.82rem;font-weight:800;text-transform:uppercase}.control-picker select[data-v-2123b899]{width:100%;min-height:46px;padding:0 40px 0 14px;border:1px solid #b5c4ca;border-radius:8px;color:#172026;background-color:#fff;font:inherit;font-size:1rem;font-weight:750;text-transform:none}.control-picker select[data-v-2123b899]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.label-toggle[data-v-2123b899],.orientation-toggle[data-v-2123b899],.spelling-toggle[data-v-2123b899]{display:flex;align-items:center;justify-content:flex-end}.scale-controls-wrapper[data-v-2123b899]{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:14px 18px;margin-bottom:24px}.scale-strip-group[data-v-2123b899]{display:grid;align-self:start;gap:8px}.scale-strip-eyebrow[data-v-2123b899]{margin:0;color:#63727a;font-size:.68rem;font-weight:900;line-height:1;text-transform:uppercase}.scale-strip[data-v-2123b899]{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:8px}.note-pill[data-v-2123b899]{display:inline-grid;padding:16px 24px;gap:8px;place-items:center;border:1px solid #b5c4ca;border-radius:8px;color:#172026;background:#ffffffc2;cursor:pointer;font:inherit;font-weight:800}.note-pill-label[data-v-2123b899]{line-height:1}.note-pill-degree[data-v-2123b899]{color:#63727a;font-size:.66rem;font-weight:900;line-height:1}.note-pill[data-v-2123b899]:focus-visible{outline:3px solid rgba(34,166,153,.28);outline-offset:2px}.note-pill-root[data-v-2123b899]{border-color:#8b2f23;color:#fff;background:#c6402a}.note-pill-root .note-pill-degree[data-v-2123b899]{color:#fff}.note-pill-muted[data-v-2123b899]{border-style:dashed;color:#63727a;background:#ffffff57}.note-pill-muted .note-pill-label[data-v-2123b899]{text-decoration:line-through}.scale-description[data-v-2123b899]{display:grid;grid-column:1/-1;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr) minmax(280px,1.5fr);align-items:flex-start;gap:16px;padding:14px 16px;border:1px solid rgba(47,72,88,.16);border-radius:8px;background:#ffffffa3}.scale-description-kicker[data-v-2123b899]{margin:0 0 4px;color:#63727a;font-size:.7rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.scale-description-title[data-v-2123b899]{margin:0;color:#172026;font-size:1.2rem;line-height:1}.scale-description-copy[data-v-2123b899]{margin:0;color:#33444e;font-size:.95rem;font-weight:650;line-height:1.35}.scale-description-copy-group[data-v-2123b899]{display:grid;gap:4px}.scale-description-label[data-v-2123b899]{margin:0;color:#63727a;font-size:.68rem;font-weight:900;line-height:1;text-transform:uppercase}.scale-description-details[data-v-2123b899]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.scale-description-details div[data-v-2123b899]{display:grid;gap:3px}.scale-description-details dt[data-v-2123b899]{color:#63727a;font-size:.68rem;font-weight:900;line-height:1;text-transform:uppercase}.scale-description-details dd[data-v-2123b899]{margin:0;color:#172026;font-size:.9rem;font-weight:800;line-height:1.25}.fretboard-stage[data-v-2123b899]{box-sizing:border-box;width:100%;margin:0 0 24px;border:1px solid rgba(47,72,88,.18);border-radius:8px;overflow:auto hidden;background:linear-gradient(180deg,#fffffff2,#f6f8f8f2),repeating-linear-gradient(90deg,rgba(47,72,88,.06) 0 1px,transparent 1px 48px);box-shadow:0 24px 64px #2f485829}.fretboard-stage[data-v-2123b899] .fretboard-html-wrapper{min-width:1000px}.fretboard-stage[data-v-2123b899] svg{display:block;width:100%;height:auto}@media(max-width:980px){.scale-controls-wrapper[data-v-2123b899],.scale-description[data-v-2123b899]{grid-template-columns:1fr}.visualizer-controls[data-v-2123b899]{justify-items:stretch}.label-toggle[data-v-2123b899],.orientation-toggle[data-v-2123b899],.spelling-toggle[data-v-2123b899]{justify-content:flex-start}.fretboard-stage[data-v-2123b899] .fretboard-html-wrapper{min-width:860px}}@media(max-width:820px){.dashboard-navigation[data-v-2123b899]{display:grid;grid-template-columns:minmax(0,1fr) auto;top:8px;padding:10px}.dashboard-navigation-toggle[data-v-2123b899]{display:inline-grid}.dashboard-navigation-links[data-v-2123b899]{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:6px;max-height:0;overflow:hidden;visibility:hidden;opacity:0;transition:max-height .18s ease,opacity .16s ease,visibility .16s ease}.dashboard-navigation-links-open[data-v-2123b899]{max-height:360px;padding-top:8px;visibility:visible;opacity:1}.dashboard-navigation-link[data-v-2123b899]{min-width:0;width:100%}}@media(max-width:720px){.visualizer-shell[data-v-2123b899]{padding:12px}.visualizer-header[data-v-2123b899]{align-items:stretch;flex-direction:column}.visualizer-controls[data-v-2123b899]{grid-template-columns:1fr}.control-picker[data-v-2123b899]{min-width:0}.scale-description-details[data-v-2123b899]{grid-template-columns:1fr}.fretboard-stage[data-v-2123b899] .fretboard-html-wrapper{min-width:720px}}@media(max-width:460px){.visualizer-card[data-v-2123b899]{padding:14px}.dashboard-navigation-brand[data-v-2123b899]{font-size:.95rem}.dashboard-navigation-link[data-v-2123b899]{min-width:0;width:100%;padding:8px 10px;font-size:.84rem}.note-pill[data-v-2123b899]{min-width:40px}}@media print{@page{size:landscape;margin:.45in}body,html{background:#fff}.visualizer-shell[data-v-2123b899]{min-height:auto;padding:0;overflow:visible;color:#111827;background:#fff}.dashboard-navigation[data-v-2123b899],.scale-controls-wrapper[data-v-2123b899],.scale-description[data-v-2123b899],.visualizer-header-actions[data-v-2123b899],.visualizer-shell[data-v-2123b899] .circle-panel,.visualizer-shell[data-v-2123b899] .metronome-panel,.visualizer-shell[data-v-2123b899] .note-practice-panel,.visualizer-shell[data-v-2123b899] .triad-practice-panel{display:none!important}.visualizer-card[data-v-2123b899]{width:100%;margin:0;padding:0;border:0;background:#fff;box-shadow:none}.visualizer-header[data-v-2123b899]{display:block;margin-bottom:12px}.visualizer-eyebrow[data-v-2123b899]{display:none}h1[data-v-2123b899]{max-width:none;font-size:22pt}.print-summary[data-v-2123b899]{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(420px,1.3fr);gap:18px;margin-bottom:18px;padding:12px 0;border-top:1px solid #cbd5dc;border-bottom:1px solid #cbd5dc}.print-summary h2[data-v-2123b899]{margin:0;color:#111827;font-size:16pt;line-height:1.15}.print-summary-label[data-v-2123b899]{margin:0 0 6px;color:#4b5963;font-size:8pt;font-weight:900;letter-spacing:0;text-transform:uppercase}.print-note-list[data-v-2123b899]{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.print-note-list li[data-v-2123b899]{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 9px;border:1px solid #8b9aa3;border-radius:999px;color:#111827;background:#fff;font-size:10pt;font-weight:800}.print-note-list strong[data-v-2123b899]{color:#4b5963;font-size:8pt}.fretboard-stage[data-v-2123b899]{width:100%;margin:0;border:1px solid #8b9aa3;border-radius:0;overflow:visible;background:#fff;box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid}.fretboard-stage[data-v-2123b899] .fretboard-html-wrapper{min-width:0!important}.fretboard-stage[data-v-2123b899] svg{width:100%!important;height:auto}}
