.harmony-app{--ink:#121921;--ink-2:#283341;--ink-3:#344253;--surface:#fff9ed;--surface-2:#ffffff;--surface-3:#f7eddb;--gold:#b1913a;--gold-bright:#e3c062;--gold-pale:#f2df9d;--gold-deep:#806720;--blue:#6d89ad;--blue-bright:#a8c0dc;--mint:#67d2ad;--coral:#ff8e77;--text:#f9f4e8;--muted:#b8c3d1;--dark-text:#18202a;--border:rgba(255,255,255,0.12);--shadow:0 20px 56px rgba(22,29,38,0.14);--radius-lg:20px;--radius-md:18px;--radius-sm:12px}.section-nav{border-color:rgba(227,192,98,.4);background:rgba(17,24,34,.94);box-shadow:0 12px 34px rgba(3,8,14,.36);backdrop-filter:blur(20px) saturate(1.2)}.section-nav-spacer{width:100%;min-height:62px;pointer-events:none}.section-nav-brand{border-color:rgba(227,192,98,.5)}.section-nav .section-nav-lead,.section-nav-icon-link{display:inline-grid;flex:0 0 34px;width:34px;min-width:34px;min-height:34px;padding:5px!important;place-items:center;border:1px solid rgba(227,192,98,.24);border-radius:10px!important;background:rgba(255,255,255,.055);color:#f8edc8!important}.section-nav .section-nav-lead:hover,.section-nav-icon-link:hover{border-color:rgba(227,192,98,.72);background:rgba(227,192,98,.14)!important;color:#fff8df!important}.section-nav .section-nav-lead{border-color:rgba(103,210,173,.52);background:rgba(103,210,173,.12);color:#c9f7e7!important}.trainer-nav-icon{width:21px;height:21px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.trainer-nav-icon .nav-icon-accent{stroke:var(--gold-bright)}.section-nav-unpin-all{display:inline-grid;grid-auto-flow:row;gap:0}.section-nav-unpin-all .trainer-nav-icon{width:20px;height:20px}.section-nav-tempo{border:1px solid rgba(227,192,98,.34);background:rgba(255,255,255,.07)}.section-nav-tempo>.trainer-nav-icon{width:19px;height:19px;color:var(--gold-pale)}.section-nav-tempo input{background:rgba(6,10,16,.28)}.sticky-practice-tools{position:static;top:auto;z-index:auto}.pinnable-slot{position:relative;min-width:0;width:100%}.pinnable-slot[data-user-pinned=true]{min-height:var(--module-slot-height,0)}.pinnable-slot[data-user-pinned=true]>.pinnable-module{position:fixed;top:var(--module-pin-top,68px);right:auto;bottom:auto;left:var(--module-pin-left,8px);z-index:calc(130 - var(--module-pin-order, 0));width:var(--module-pin-width,calc(100vw - 16px));max-width:none;max-height:max(84px,calc(100svh - var(--module-pin-top, 68px) - 8px));margin:0;overflow-y:auto;outline:2px solid rgba(227,192,98,.68);outline-offset:1px;box-shadow:0 18px 42px rgba(8,15,28,.34);overscroll-behavior:contain}.pinnable-slot:not([data-user-pinned=true])>.pinnable-module{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:auto;width:auto;max-height:none}.pinnable-slot>.sticky-visualizer-dock{right:auto;bottom:auto;left:auto;width:100%;margin-top:18px}.pinnable-slot[data-user-pinned=true]>.sticky-visualizer-dock{top:var(--module-pin-top,68px);right:auto;bottom:auto;left:var(--module-pin-left,8px);width:var(--module-pin-width,calc(100vw - 16px));margin:0}@media (max-width:560px){.section-nav{right:5px;left:5px;gap:3px;min-height:40px;padding:4px;border-radius:12px}.section-nav .section-nav-lead,.section-nav-brand,.section-nav-icon-link,.section-nav-transport,.section-nav-unpin-all{flex-basis:31px;width:31px;min-width:31px;min-height:31px;padding:4px!important}.section-nav-brand img{width:26px;height:26px}.trainer-nav-icon{width:19px;height:19px}.section-nav-tempo{flex-basis:70px;grid-template-columns:17px minmax(0,1fr);width:70px;min-height:31px;padding:2px 3px}.section-nav-tempo>.trainer-nav-icon{width:16px;height:16px}.section-nav-tempo input{min-height:25px;font-size:.7rem}}.harmony-app,.harmony-app *{box-sizing:border-box}.harmony-app{scroll-behavior:smooth;background:var(--surface);margin:0;background:radial-gradient(circle at 82% 3%,rgba(227,192,98,.16),transparent 28rem),var(--surface);color:var(--dark-text);font-family:Montserrat,Avenir Next,Avenir,Segoe UI,Arial,sans-serif;line-height:1.5;text-rendering:optimizeLegibility}.harmony-app button,.harmony-app input,.harmony-app select{font:inherit}.harmony-app a,.harmony-app button,.harmony-app input,.harmony-app select{-webkit-tap-highlight-color:transparent}.harmony-app :where(button){color:inherit}.harmony-app button:not(:disabled),.harmony-app input:not(:disabled),.harmony-app select:not(:disabled){cursor:pointer}.harmony-app [tabindex="0"]:focus-visible,.harmony-app a:focus-visible,.harmony-app button:focus-visible,.harmony-app input:focus-visible,.harmony-app select:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}.harmony-app button:disabled,.harmony-app input:disabled{cursor:not-allowed;opacity:.55}.harmony-app{width:min(1380px,100%);min-height:100vh;margin:0 auto;padding:22px clamp(14px,3vw,46px) 44px}.harmony-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3vw,42px);align-items:center;min-height:144px;overflow:hidden;padding:clamp(20px,2.4vw,30px);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:radial-gradient(circle at 82% 20%,rgba(227,192,98,.1),transparent 25rem),var(--ink);box-shadow:var(--shadow)}.harmony-hero:after{right:-180px;bottom:-430px;width:520px;height:520px;border:1px solid rgba(232,189,85,.18);box-shadow:0 0 0 54px rgba(232,189,85,.035),0 0 0 108px rgba(118,169,223,.025);content:""}.harmony-hero-glow,.harmony-hero:after{position:absolute;z-index:-1;border-radius:50%}.harmony-hero-glow{top:-220px;right:16%;width:430px;height:430px;background:rgba(118,169,223,.13);filter:blur(70px)}.harmony-hero-copy{max-width:760px}.harmony-eyebrow,.section-kicker{margin:0 0 8px;color:var(--gold-bright);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.harmony-hero h1{max-width:880px;margin:0;color:#fffaf0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3.65vw,3.75rem);font-weight:500;letter-spacing:-.065em;line-height:.94}.harmony-hero-description{max-width:750px;margin:13px 0 0;color:#d9e0e9;font-size:clamp(.9rem,1.25vw,1.05rem)}.trainer-brand{display:inline-flex;gap:11px;align-items:center;color:var(--gold-bright);text-decoration:none}.trainer-brand img{width:54px;height:54px;object-fit:contain}.trainer-brand>span{display:flex;flex-direction:column;line-height:1}.trainer-brand strong{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;letter-spacing:.03em}.trainer-brand small{margin-top:5px;color:white;font-size:.45rem;font-weight:850;letter-spacing:.27em}.harmony-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.harmony-hero-badges span{padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05);color:#f7f1e3;font-size:.78rem;font-weight:700}.harmony-hero-mark{display:grid;width:clamp(130px,16vw,220px);aspect-ratio:1;place-items:center;border:1px solid rgba(232,189,85,.48);border-radius:50%;background:rgba(232,189,85,.06);color:var(--gold-bright);box-shadow:inset 0 0 55px rgba(232,189,85,.08)}.harmony-hero-mark span{grid-area:1/1;font-family:Georgia,serif;font-size:clamp(4rem,8vw,7rem);line-height:1}.harmony-hero-mark small{grid-area:1/1;align-self:end;margin-bottom:20%;padding:3px 8px;background:var(--ink-2);font-size:.6rem;font-weight:900;letter-spacing:.22em}.section-nav{top:10px;z-index:20;display:flex;flex-wrap:wrap;gap:7px;width:fit-content;max-width:100%;margin:14px auto 30px;padding:7px;border:1px solid var(--border);border-radius:999px;background:rgba(17,24,34,.88);box-shadow:0 12px 30px rgba(3,8,14,.28);backdrop-filter:blur(16px)}.section-nav a{padding:9px 14px;border-radius:999px;color:#dbe3ec;font-size:.78rem;font-weight:800;text-decoration:none;white-space:nowrap}.section-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.control-deck,.metronome-panel,.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(160deg,rgba(34,47,64,.96),rgba(24,34,49,.96));box-shadow:var(--shadow)}.control-deck{margin-bottom:26px;padding:clamp(22px,3vw,34px)}.control-heading,.harmony-section-heading{display:flex;gap:22px;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.control-heading h2,.ear-category h3,.ear-challenge-card h3,.harmony-section-heading h2{margin:0;color:#fffaf0;font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:-.025em}.control-heading h2,.harmony-section-heading h2{font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.05}.audio-status{display:flex;gap:9px;align-items:center;flex:0 0 auto;padding:9px 12px;border:1px solid var(--border);border-radius:999px;color:#dfe7ef;font-size:.76rem;font-weight:700}.audio-status>span{width:8px;height:8px;border-radius:50%;background:#78889a}.audio-status.ready>span{background:var(--mint);box-shadow:0 0 0 4px rgba(103,210,173,.13)}.audio-status.loading>span{background:var(--gold);animation:pulse 1s infinite alternate}.audio-status.error>span{background:var(--coral)}@keyframes pulse{to{opacity:.35}}.global-controls-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:22px;align-items:end}.control-intro,.instrument-heading-copy{max-width:680px;margin:7px 0 0;color:var(--muted);font-size:.78rem}.instrument-fieldset{margin-bottom:22px}.instrument-selector-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.instrument-selector-grid button{display:grid;grid-template-columns:38px minmax(0,1fr);gap:2px 9px;align-items:center;min-width:0;min-height:74px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045);text-align:left}.instrument-selector-grid button>span{grid-row:1/span 2;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--ink-3);color:var(--gold-pale);font-size:.68rem;font-weight:950;letter-spacing:.05em}.instrument-selector-grid button strong{overflow:hidden;color:#fff9ed;font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}.instrument-selector-grid button small{overflow:hidden;color:#9fabb9;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.instrument-selector-grid button.active,.instrument-selector-grid button:hover{border-color:var(--gold-bright);background:rgba(227,192,98,.12)}.instrument-selector-grid button.active>span{background:var(--gold-bright);color:var(--ink);box-shadow:0 0 0 5px rgba(227,192,98,.09)}.root-control-row{grid-template-columns:1fr}.harmony-app fieldset{min-width:0;margin:0;padding:0;border:0}.harmony-app legend,.metronome-tempo label>span,.select-field>span,.tempo-field>span{display:block;margin-bottom:8px;color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.root-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.root-grid button{min-height:46px;padding:9px 6px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.055);color:#f5f0e7;font-size:.82rem;font-weight:800}.root-grid button.active,.root-grid button:hover{border-color:var(--gold);background:var(--gold);color:#171b21}.select-field,.tempo-field{display:block;min-width:0}.metronome-tempo input,.select-field select,.tempo-field input{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#101721;color:#fff9eb;font-weight:750}.select-field select{padding:0 38px 0 13px}.metronome-tempo input,.tempo-field input{padding:0 54px 0 13px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,395px);gap:26px;align-items:start}.workspace-main{display:grid;gap:26px;min-width:0}.panel{min-width:0;scroll-margin-top:90px;padding:clamp(22px,3vw,36px)}.selected-summary{display:grid;gap:3px;min-width:min(100%,225px);max-width:360px;padding:11px 14px;border:1px solid rgba(232,189,85,.26);border-radius:13px;background:rgba(232,189,85,.075);text-align:right}.selected-summary strong{color:var(--gold-bright);font-size:.9rem}.selected-summary span{overflow:hidden;color:#d7dfe8;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.category-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.category-tabs button,.segmented-control button{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:#dce4ed;font-weight:780}.category-tabs button{display:flex;gap:8px;align-items:center;padding:10px 13px;border-radius:11px;font-size:.8rem}.category-tabs button span{display:grid;min-width:21px;height:21px;padding:0 5px;place-items:center;border-radius:999px;background:rgba(255,255,255,.09);font-size:.65rem}.category-tabs button.active,.category-tabs button:hover,.segmented-control button.active,.segmented-control button:hover{border-color:var(--gold);background:rgba(232,189,85,.14);color:var(--gold-bright)}.accuracy-note{margin:0 0 18px;padding:13px 15px;border-left:4px solid var(--mint);border-radius:8px 12px 12px 8px;background:rgba(103,210,173,.08);color:#dce9e5;font-size:.82rem}.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px}.type-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;padding:9px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(9,14,21,.32);transition:border-color .16s ease,transform .16s ease}.type-card:hover{border-color:rgba(118,169,223,.48);transform:translateY(-1px)}.type-card.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(232,189,85,.16)}.progression-name,.type-select{display:grid;gap:3px;min-width:0;padding:7px 8px;border:0;background:transparent;text-align:left}.progression-name strong,.type-select strong{color:#fff9ed;font-size:.9rem}.progression-name small,.type-select>span{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.playback-actions{display:flex;flex-wrap:wrap;gap:8px}.playback-actions.compact{flex-wrap:nowrap;gap:4px}.icon-action{display:inline-flex;gap:6px;align-items:center;justify-content:safe center;min-height:38px;padding:7px 10px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.055);color:#eef4fa;font-size:.72rem;font-weight:800}.compact .icon-action{width:38px;padding:0}.compact .icon-action span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.icon-action:hover{border-color:var(--blue);background:rgba(118,169,223,.14);color:var(--blue-bright)}.instrument-heading{align-items:center}.segmented-control{display:inline-grid;grid-auto-flow:column;padding:4px;border:1px solid var(--border);border-radius:13px;background:#111924}.segmented-control.full{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.segmented-control button{min-height:38px;padding:7px 12px;border-radius:9px;font-size:.75rem}.fretboard-scroll,.piano-scroll{width:100%;overflow-x:auto;padding:2px 2px 12px;scrollbar-color:var(--gold-deep) rgba(255,255,255,.05)}.fretboard-grid{display:grid;grid-template-columns:56px repeat(18,minmax(42px,1fr));min-width:890px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 0),linear-gradient(#6f4b2d,#402a1b)}.fret-row-contents{display:contents}.fret-corner,.fret-number,.string-label{display:grid;place-items:center;min-height:34px;background:#111924;color:#cfd8e3;font-size:.66rem;font-weight:800}.fret-number{border-left:1px solid rgba(255,255,255,.08)}.string-label{position:sticky;left:0;z-index:3;min-height:48px;border-top:1px solid rgba(255,255,255,.08);color:var(--gold-bright)}.fret{position:relative;display:grid;min-height:48px;padding:0;place-items:center;border:0;border-top:1px solid rgba(255,255,255,.12);border-left:2px solid rgba(214,209,190,.45);background:transparent}.fret:after{position:absolute;top:50%;right:0;left:0;height:1px;background:rgba(242,238,220,.62);box-shadow:0 1px 0 rgba(0,0,0,.45);content:""}.fret>span{position:relative;z-index:2;display:grid;width:29px;height:29px;place-items:center;border:2px solid rgba(255,255,255,.38);border-radius:50%;background:#41556d;color:white;font-size:.66rem;font-weight:900;box-shadow:0 3px 8px rgba(0,0,0,.35)}.fret[data-role=root]>span,.piano-key[data-role=root].active{border-color:#ffe9aa;background:var(--gold);color:#161a20}.fret[data-role=third]>span,.piano-key[data-role=third].active{background:#6a9dd2}.fret[data-role=fifth]>span,.piano-key[data-role=fifth].active{background:#65b897}.fret:hover{background:rgba(255,255,255,.08)}.piano-keyboard{display:grid;grid-template-columns:repeat(25,minmax(31px,1fr));align-items:start;min-width:820px;height:230px;overflow:hidden;border:8px solid #111924;border-radius:15px;background:#111924}.piano-key{position:relative;display:flex;align-items:flex-end;justify-content:center;height:100%;padding:0 2px 15px;border:1px solid #29313a;border-radius:0 0 6px 6px;background:#fffaf0;color:#1b2027;font-size:.68rem;font-weight:900}.piano-key.black{z-index:2;height:63%;margin-inline:-6px;background:linear-gradient(#121820,#27313e);color:white;box-shadow:0 6px 8px rgba(0,0,0,.42)}.piano-key.active{box-shadow:inset 0 -16px 0 rgba(118,169,223,.62)}.piano-key.black.active{box-shadow:inset 0 -18px 0 rgba(118,169,223,.72),0 6px 8px rgba(0,0,0,.42)}.tone-legend{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:12px;color:#d8e0e8;font-size:.72rem}.tone-legend span{display:inline-flex;gap:7px;align-items:center}.tone-legend i{width:10px;height:10px;border-radius:50%;background:#41556d}.tone-legend i.root{background:var(--gold)}.tone-legend i.third{background:#6a9dd2}.tone-legend i.fifth{background:#65b897}.tone-legend small{flex:1 1 250px;color:var(--muted);text-align:right}.danger-button,.primary-button,.secondary-button,.text-button{min-height:44px;padding:10px 16px;border-radius:12px;font-size:.79rem;font-weight:850}.primary-button{border:1px solid var(--gold);background:var(--gold);color:#161b22;box-shadow:0 8px 20px rgba(232,189,85,.14)}.primary-button:hover{background:var(--gold-bright)}.secondary-button{border:1px solid rgba(118,169,223,.5);background:rgba(118,169,223,.1);color:var(--blue-bright)}.danger-button{border:1px solid rgba(255,142,119,.7);background:rgba(255,142,119,.16);color:#ffb3a3}.text-button{border:0;background:transparent;color:#dce4ed;text-decoration:underline;text-underline-offset:4px}.generator-controls{display:grid;grid-template-columns:repeat(4,minmax(115px,1fr)) minmax(125px,.8fr);gap:10px;margin-bottom:20px}.compact-field select{min-height:44px}.metronome-tempo label>div,.tempo-field>div{position:relative}.metronome-tempo label>div>span,.tempo-field>div>span{position:absolute;top:50%;right:12px;color:#92a0af;font-size:.65rem;font-weight:850;transform:translateY(-50%)}.progression-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.progression-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(9,14,21,.35)}.progression-card.playing{border-color:var(--mint);background:rgba(103,210,173,.1);box-shadow:0 0 24px rgba(103,210,173,.12)}.progression-name{grid-template-columns:auto minmax(0,1fr);align-items:center}.progression-name>span{grid-row:1/span 2;display:grid;width:28px;height:28px;margin-right:6px;place-items:center;border-radius:9px;background:rgba(232,189,85,.12);color:var(--gold-bright);font-size:.7rem;font-weight:900}.transport-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.check-control{display:inline-flex;gap:8px;align-items:center;color:#e6edf5;font-size:.78rem;font-weight:800}.check-control input{width:18px;height:18px;accent-color:var(--gold)}.transport-row p{flex:1 1 280px;margin:0;color:var(--muted);font-size:.74rem;text-align:right}.custom-interval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px}.custom-interval-grid button{gap:2px;min-height:76px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(9,14,21,.34);text-align:left}.custom-interval-grid button.active{border-color:var(--gold);background:rgba(232,189,85,.12)}.custom-interval-grid strong{color:#fff9ed;font-size:.92rem}.custom-interval-grid small,.custom-interval-grid span{color:var(--muted);font-size:.67rem}.custom-interval-grid small{color:var(--mint)}.builder-actions{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:18px}.metronome-panel{scroll-margin-top:90px;padding:22px}.metronome-sticky{position:sticky;top:90px}.compact-heading{align-items:center;margin-bottom:18px}.transport-light{width:15px;height:15px;border-radius:50%;background:#596575;box-shadow:0 0 0 7px rgba(255,255,255,.035)}.transport-light.on{background:var(--mint);box-shadow:0 0 0 7px rgba(103,210,173,.1),0 0 18px rgba(103,210,173,.35)}.metronome-tempo{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;align-items:end;margin-bottom:14px}.metronome-tempo input{min-height:64px;font-size:1.5rem;font-weight:900}.tap-button{display:grid;min-height:64px;padding:8px;place-items:center;border:1px solid var(--gold);border-radius:13px;background:rgba(232,189,85,.12);color:var(--gold-bright);font-size:1rem;font-weight:950;letter-spacing:.08em}.tap-button small{color:#c9d2dc;font-size:.55rem;letter-spacing:0}.meter-controls{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;margin-bottom:20px}.metronome-pattern-heading{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.metronome-pattern-heading>div{display:grid;gap:2px}.metronome-pattern-heading strong{color:#fff9ed;font-size:.85rem}.metronome-pattern-heading span{color:var(--muted);font-size:.66rem}.metronome-pattern-heading>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.06)}.metronome-pattern{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:6px}.metronome-pattern button{display:grid;gap:3px;min-width:0;min-height:70px;padding:7px 4px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(9,14,21,.36)}.metronome-pattern button.downbeat{border-color:rgba(232,189,85,.48)}.metronome-pattern button i{width:13px;height:13px;border-radius:50%;background:#657184;box-shadow:0 0 0 4px rgba(255,255,255,.035)}.metronome-pattern button.downbeat i{background:var(--gold)}.metronome-pattern button.flashing i{background:var(--blue-bright);box-shadow:0 0 0 7px rgba(118,169,223,.16),0 0 20px rgba(118,169,223,.6)}.metronome-pattern button.downbeat.flashing i{background:var(--gold-bright);box-shadow:0 0 0 7px rgba(232,189,85,.2),0 0 22px rgba(232,189,85,.7)}.metronome-pattern button strong{color:#f6f0e6;font-size:.75rem}.metronome-pattern button span{overflow:hidden;max-width:100%;color:var(--blue-bright);font-size:.58rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.metronome-pattern button.muted{opacity:.5}.metronome-pattern button.muted span{color:#adb6c1}.metronome-start{width:100%;min-height:52px;margin-top:14px;border:1px solid var(--gold);border-radius:13px;background:var(--gold);color:#141920;font-weight:900}.metronome-start.running{border-color:var(--coral);background:rgba(255,142,119,.16);color:#ffb9aa}.ear-panel{margin-top:26px;scroll-margin-top:90px}.ear-heading>div:first-child>p:last-child{max-width:650px;margin:10px 0 0;color:var(--muted);font-size:.82rem}.ear-score{display:grid;grid-template-columns:auto auto;gap:0 16px;min-width:150px;padding:12px 14px;border:1px solid rgba(232,189,85,.25);border-radius:15px;background:rgba(232,189,85,.07)}.ear-score>span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.ear-score>strong{grid-row:1/span 2;grid-column:2;color:var(--gold-bright);font-size:1.7rem}.ear-score>strong small{font-size:.78rem}.ear-score button{width:fit-content;padding:0;border:0;background:transparent;color:#dce4ed;font-size:.65rem;text-decoration:underline}.ear-challenge-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:clamp(20px,3vw,30px);border:1px solid rgba(118,169,223,.28);border-radius:20px;background:radial-gradient(circle at 88% 20%,rgba(118,169,223,.13),transparent 18rem),rgba(9,14,21,.36)}.ear-challenge-card h3{font-size:clamp(1.4rem,2.5vw,2.1rem)}.ear-challenge-card p:not(.section-kicker){margin:7px 0 0;color:var(--muted);font-size:.78rem}.ear-primary-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.answer-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding-top:20px;border-top:1px solid var(--border)}.answer-grid button{display:grid;gap:3px;min-height:68px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045);text-align:left}.answer-grid button:hover:not(:disabled){border-color:var(--blue)}.answer-grid button.correct{border-color:var(--mint);background:rgba(103,210,173,.12)}.answer-grid strong{color:#fff9ed;font-size:.82rem}.answer-grid span{color:var(--muted);font-size:.65rem}.ear-selection-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:28px 0 14px}.ear-selection-toolbar>div:first-child{display:grid}.ear-selection-toolbar strong{color:#fff9ed}.ear-selection-toolbar span{color:var(--muted);font-size:.73rem}.ear-selection-toolbar>div:last-child{display:flex;gap:7px}.ear-category-heading button,.ear-selection-toolbar button{min-height:38px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.05);color:#e6edf4;font-size:.7rem;font-weight:800}.ear-category-stack{display:grid;gap:14px}.ear-category{padding:clamp(16px,2.4vw,24px);border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(9,14,21,.28)}.ear-category-heading{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:12px}.ear-category-heading>div{display:flex;gap:10px;align-items:baseline}.ear-category-heading h3{font-size:1.15rem}.ear-category-heading span{color:var(--muted);font-size:.66rem}.ear-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}.ear-option-grid button{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;min-height:56px;padding:8px 10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.035);text-align:left}.ear-option-grid button.active{border-color:rgba(103,210,173,.48);background:rgba(103,210,173,.08)}.ear-option-grid i{display:grid;width:21px;height:21px;place-items:center;border:1px solid #627184;border-radius:6px;color:#132019;font-size:.72rem;font-style:normal;font-weight:900}.ear-option-grid button.active i{border-color:var(--mint);background:var(--mint)}.ear-option-grid button>span{display:grid;min-width:0}.ear-option-grid strong{color:#f7f2e8;font-size:.76rem}.ear-option-grid small,.ear-option-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ear-option-grid small{color:#9eabb9;font-size:.61rem}.site-footer{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;gap:30px;align-items:center;margin-top:26px;padding:28px 6px 4px;color:#aeb9c5;font-size:.72rem}.site-footer>div{display:grid}.site-footer strong{color:#f4eee2}.site-footer p{max-width:720px;margin:0 auto;text-align:center}.site-footer a{color:var(--gold-bright);font-weight:800;text-decoration:none}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.related-shelf{margin-top:30px;padding-top:26px;border-top:1px solid var(--border)}.related-group-heading,.related-heading{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}.drum-eyebrow,.related-kicker,.replacement-kicker{margin:0 0 6px;color:var(--gold-bright);font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.drum-heading h2,.related-title,.replacement-title{margin:0;color:#fff9ed;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:500}.related-empty,.related-group-description,.related-intro,.replacement-intro{margin:6px 0 0;color:var(--muted);font-size:.73rem}.related-group-count,.related-selection-formula{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:rgba(227,192,98,.11);color:var(--gold-pale);font-size:.65rem;font-weight:800}.related-groups{display:grid;gap:20px;margin-top:20px}.related-group-title{margin:0;color:#fff9ed;font-size:.92rem}.related-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:10px}.related-card{display:grid;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(9,14,21,.3)}.related-card-select{display:grid;gap:2px;padding:5px;border:0;background:transparent;text-align:left}.related-card-kind{color:var(--gold-bright);font-size:.58rem;font-weight:900;text-transform:uppercase}.related-card-title{color:#fff9ed;font-size:.82rem}.related-card-formula,.related-tone-summary{color:var(--muted);font-size:.62rem}.related-tone-summary{display:grid;gap:2px;margin:7px 5px;padding-top:7px;border-top:1px solid rgba(255,255,255,.08)}.related-tone-summary strong{color:#dce5ee}.related-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.related-card-actions button{min-height:36px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.04);color:#eaf0f5;font-size:.62rem;font-weight:800}.substitution-lab{margin:0 0 20px;padding:16px;border:1px solid rgba(227,192,98,.2);border-radius:16px;background:rgba(227,192,98,.055)}.substitution-heading{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:11px}.substitution-heading label,.substitution-heading>div,.substitution-toggle-grid button>span{display:grid}.custom-sequence-heading strong,.substitution-heading strong{color:#fff9ed;font-size:.82rem}.custom-sequence-heading span,.substitution-heading span{color:var(--muted);font-size:.65rem}.substitution-heading label{min-width:160px}.substitution-heading input{width:100%;accent-color:var(--gold-bright)}.substitution-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.substitution-toggle-grid button{display:grid;grid-template-columns:23px minmax(0,1fr);gap:8px;align-items:center;min-height:62px;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(9,14,21,.3);text-align:left}.substitution-toggle-grid button i{display:grid;width:22px;height:22px;place-items:center;border:1px solid #607083;border-radius:6px;font-size:.68rem;font-style:normal;font-weight:950}.substitution-toggle-grid button strong{color:#f8f1e5;font-size:.68rem}.substitution-toggle-grid button small{color:#9fabb8;font-size:.55rem;line-height:1.3}.substitution-toggle-grid button.active{border-color:var(--gold-bright);background:rgba(227,192,98,.12)}.substitution-toggle-grid button.active i{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink)}.progression-card-actions{display:grid;gap:5px;justify-items:end}.progression-name em{grid-column:2;width:fit-content;padding:3px 6px;border-radius:999px;background:rgba(227,192,98,.13);color:var(--gold-pale);font-size:.55rem;font-style:normal;font-weight:850}.replace-chord-button{min-height:30px;padding:4px 8px;border:1px solid rgba(227,192,98,.35);border-radius:8px;background:transparent;color:var(--gold-pale);font-size:.58rem;font-weight:850}.replacement-menu{margin-top:18px;padding:clamp(16px,2.4vw,24px);border:1px solid rgba(227,192,98,.38);border-radius:18px;background:#10171f}.replacement-candidate,.replacement-context,.replacement-heading,.replacement-section-summary{display:flex;gap:14px;align-items:center;justify-content:space-between}.replacement-close{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(255,255,255,.05);font-size:1.4rem}.replacement-context{justify-content:flex-start;margin:16px 0;padding:11px;border-radius:12px;background:rgba(255,255,255,.045);color:var(--muted);font-size:.66rem}.replacement-current-chord{display:grid}.replacement-current-chord strong{color:var(--gold-pale)}.replacement-section{border-top:1px solid rgba(255,255,255,.1)}.replacement-section-summary{min-height:62px;cursor:pointer;list-style:none}.replacement-section-summary::-webkit-details-marker{display:none}.replacement-candidate-identity,.replacement-candidate-meta,.replacement-section-copy{display:grid}.replacement-candidate-symbol,.replacement-section-title{color:#fff9ed;font-size:.78rem}.replacement-candidate-explanation,.replacement-candidate-meta,.replacement-empty,.replacement-result-limit,.replacement-search-status,.replacement-section-description{color:var(--muted);font-size:.6rem}.replacement-candidate-action,.replacement-section-count{padding:4px 7px;border-radius:999px;background:rgba(227,192,98,.11);color:var(--gold-pale);font-size:.6rem;font-weight:850}.replacement-section-content{padding:0 0 15px}.replacement-candidate-list{display:grid;gap:5px}.replacement-candidate{width:100%;min-height:56px;padding:9px 10px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.035);text-align:left}.replacement-candidate:hover{border-color:var(--gold-bright)}.replacement-candidate-explanation{flex:1 1 auto}.replacement-search-field{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;margin-bottom:9px}.replacement-search-label{color:#e9eef3;font-size:.65rem;font-weight:800}.replacement-search-input{min-height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:var(--ink);color:white}.chord-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:14px;padding:12px 14px;border-left:4px solid var(--gold-bright);border-radius:0 12px 12px 0;background:rgba(227,192,98,.08)}.chord-identity small,.chord-identity span{color:var(--muted);font-size:.65rem}.chord-identity strong{color:var(--gold-pale)}.custom-sequence{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.custom-sequence-heading{display:flex;gap:14px;align-items:center;justify-content:space-between}.custom-sequence-heading>div{display:flex;gap:8px}.custom-sequence-heading>div:first-child{display:grid}.custom-sequence-empty{margin:12px 0 0;color:var(--muted);font-size:.72rem}.custom-sequence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-top:12px}.custom-sequence-grid article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(9,14,21,.3)}.custom-sequence-grid article>span{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:rgba(227,192,98,.12);color:var(--gold-pale);font-size:.62rem;font-weight:900}.custom-sequence-grid article>button:not(.custom-remove){display:grid;min-width:0;padding:3px;border:0;background:transparent;text-align:left}.custom-sequence-grid strong{color:#fff9ed;font-size:.7rem}.custom-sequence-grid small,.custom-sequence-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-sequence-grid small{color:var(--muted);font-size:.56rem}.custom-remove{width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,142,119,.1);color:#ffb4a5}.metronome-sound-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:9px}.metronome-sound-legend span{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:.58rem;font-weight:800}.metronome-sound-legend i{width:8px;height:8px;border-radius:2px;background:var(--gold-bright)}.metronome-beat-pattern{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metronome-beat-group{min-width:0;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(9,14,21,.35)}.metronome-beat-group.downbeat-group{border-color:rgba(227,192,98,.42)}.metronome-beat-number{display:block;margin-bottom:5px;color:var(--gold-pale);font-size:.62rem}.metronome-beat-steps{display:grid;gap:4px}.metronome-step-column{display:grid;gap:4px;min-width:0;justify-items:center}.metronome-step-light{width:10px;height:10px;border-radius:50%;background:#566474;box-shadow:0 0 0 3px rgba(255,255,255,.03)}.metronome-step-column.downbeat .metronome-step-light{width:13px;height:13px;background:#806f43}.metronome-step-light.flashing{background:var(--gold-pale);box-shadow:0 0 0 6px rgba(242,223,157,.13),0 0 18px rgba(242,223,157,.7)}.metronome-step-column.downbeat .metronome-step-light.flashing{background:var(--gold-bright);box-shadow:0 0 0 7px rgba(227,192,98,.18),0 0 22px rgba(227,192,98,.75)}.metronome-count-label{min-height:16px;color:#d9e1e9;font-size:.58rem;font-weight:850}.metronome-sound-stack{display:grid;gap:3px;width:100%}.metronome-sound-block{width:100%;min-width:0;min-height:28px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:var(--ink-3)}.metronome-sound-block:hover{border-color:var(--gold-bright)}.metronome-sound-block[aria-pressed=true]{border-color:var(--gold-bright);background:var(--gold-bright);box-shadow:0 4px 12px rgba(177,145,58,.24)}.ear-playback-choice{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 14px;border:1px solid rgba(227,192,98,.2);border-radius:14px;background:rgba(227,192,98,.055)}.ear-playback-choice>div:first-child{display:grid}.ear-playback-choice strong{color:#fff9ed;font-size:.78rem}.ear-playback-choice span{color:var(--muted);font-size:.64rem}.drum-trainer{margin-top:26px;padding:clamp(22px,3vw,36px);scroll-margin-top:90px;border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at 88% 5%,rgba(227,192,98,.11),transparent 25rem),linear-gradient(160deg,rgba(40,51,65,.98),rgba(18,25,33,.98));box-shadow:var(--shadow)}.drum-control-actions,.drum-controls,.drum-heading,.drum-legend,.drum-transport{display:flex;gap:12px;align-items:center}.drum-heading{justify-content:space-between;margin-bottom:20px}.drum-heading-copy p{max-width:660px;margin:7px 0 0;color:var(--muted);font-size:.76rem}.drum-transport{align-items:flex-end;flex-direction:column}.drum-play-button,.drum-secondary-button,.drum-tertiary-button{min-height:44px;padding:8px 14px;border-radius:999px;font-size:.7rem;font-weight:850}.drum-play-button{border:1px solid var(--gold-bright);background:var(--gold-bright);color:var(--ink)}.drum-play-button.drum-is-running{border-color:var(--coral);background:rgba(255,142,119,.14);color:#ffc1b5}.drum-status{color:var(--muted);font-size:.61rem}.drum-controls{display:grid;grid-template-columns:1.2fr .65fr 1fr auto;align-items:end;margin-bottom:15px}.drum-field{display:grid;gap:6px;color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase}.drum-field input[type=number],.drum-field select{width:100%;min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:var(--ink);color:white}.drum-input-with-unit{position:relative;display:block}.drum-input-with-unit>span{position:absolute;top:50%;right:10px;color:var(--muted);font-size:.58rem;transform:translateY(-50%)}.drum-swing-field input{accent-color:var(--gold-bright)}.drum-secondary-button{border:1px solid var(--gold-bright);background:rgba(227,192,98,.1);color:var(--gold-pale)}.drum-tertiary-button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);color:#e3eaf1}.drum-legend{flex-wrap:wrap;margin-bottom:10px;color:var(--muted);font-size:.62rem}.drum-legend span{display:inline-flex;gap:5px;align-items:center}.drum-legend-dot{width:10px;height:10px;border-radius:3px;background:var(--ink-3)}.drum-legend-dot.drum-is-ghost{background:#9d8752}.drum-legend-dot.drum-is-accent{background:var(--gold-bright)}.drum-legend small{margin-left:auto}.drum-sequencer-scroll{overflow-x:auto;padding-bottom:8px}.drum-sequencer{min-width:1040px}.drum-row,.drum-ruler{display:grid;grid-template-columns:190px minmax(800px,1fr);gap:8px;align-items:center}.drum-ruler{margin-bottom:5px}.drum-ruler-label{color:var(--muted);font-size:.6rem;font-weight:850;text-transform:uppercase}.drum-step-grid{display:grid;grid-template-columns:repeat(16,minmax(42px,1fr));gap:4px}.drum-step-light{display:grid;gap:2px;justify-items:center;color:var(--muted);font-size:.55rem}.drum-step-light i{width:8px;height:8px;border-radius:50%;background:#556373}.drum-step-light.drum-is-current i{background:var(--gold-pale);box-shadow:0 0 12px rgba(242,223,157,.75)}.drum-step-light[data-beat-start=true] i{width:11px;height:11px}.drum-row{margin-top:5px}.drum-row-head{gap:3px}.drum-row-head label{color:#fff9ed;font-size:.7rem;font-weight:850}.drum-row-head select{width:100%;min-height:40px;padding:0 9px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:var(--ink);color:white;font-size:.63rem}.drum-step{min-height:48px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:rgba(255,255,255,.045);color:var(--gold-pale)}.drum-step[data-beat-start=true]{border-left:3px solid rgba(227,192,98,.5)}.drum-step.drum-is-ghost{border-color:#9d8752;background:rgba(177,145,58,.11)}.drum-step.drum-is-accent{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink)}.drum-step.drum-is-current{box-shadow:0 0 0 2px var(--gold-pale),0 0 17px rgba(227,192,98,.35)}.drum-step-mark{font-size:.86rem}.instrument-visualizer{display:grid;gap:18px}.instrument-fretboard-region,.piano-region{width:100%;overflow-x:auto;padding:2px 2px 12px;scrollbar-color:var(--gold-deep) rgba(255,255,255,.05)}.fret-board{--string-column:64px;min-width:930px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:radial-gradient(circle at 24% 0,rgba(255,255,255,.055),transparent 31rem),linear-gradient(145deg,#6b472d,#362419 72%);box-shadow:inset 0 0 38px rgba(0,0,0,.32)}.fret-header{display:grid;grid-template-columns:var(--string-column) repeat(17,minmax(48px,1fr));min-height:34px;background:var(--ink)}.fret-header .fret-number,.fret-string-heading{display:grid;min-height:34px;place-items:center;border-left:1px solid rgba(255,255,255,.07);background:transparent;color:#aeb9c6;font-size:.6rem;font-weight:850}.fret-string-heading{border-left:0;color:var(--gold-pale)}.fret-header .fret-number.fret-landmark{color:var(--gold-bright)}.fret-string-row{position:relative;display:grid;grid-template-columns:var(--string-column) minmax(0,1fr);min-height:57px;border-top:1px solid rgba(255,255,255,.07)}.fret-open-string-cell{position:relative;z-index:3;display:grid;grid-column:1;place-items:center;background:rgba(18,25,33,.96)}.fret-string-button{display:grid;width:42px;height:42px;padding:0;place-items:center;border:0;border-radius:50%;background:transparent}.fret-string-button:hover{background:rgba(255,255,255,.07)}.fret-open-string-marker,.fret-string-name{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#d7e0e9;font-size:.72rem;font-weight:900}.fret-open-string-marker{border-color:color-mix(in srgb,var(--interval-color) 80%,white);background:var(--interval-color);color:var(--interval-ink,#fff);box-shadow:0 4px 13px color-mix(in srgb,var(--interval-color) 30%,transparent)}.fret-string-line{position:absolute;right:0;left:var(--string-column);z-index:1;height:1px;background:rgba(244,237,214,.82);box-shadow:0 1px 1px rgba(0,0,0,.72);pointer-events:none}.fret-string-row:nth-child(n+4) .fret-string-line{height:2px}.fret-cells{z-index:2;display:grid;grid-column:2;grid-template-columns:repeat(17,minmax(48px,1fr))}.fret-cell{position:relative;display:grid;min-height:57px;place-items:center;border-left:2px solid rgba(218,216,202,.48)}.fret-cell.fret-landmark{background:rgba(227,192,98,.035)}.fret-note-button{display:grid;width:100%;height:100%;padding:0;place-items:center;border:0;background:transparent}.fret-note-button:hover{background:rgba(255,255,255,.07)}.fret-note-marker,.instrument-legend-swatch,.piano-note-marker{display:grid;place-items:center;border:2px solid color-mix(in srgb,var(--interval-color) 70%,white);border-radius:50%;background:var(--interval-color);color:var(--interval-ink,#fff);font-weight:950;box-shadow:0 4px 13px rgba(4,9,14,.34)}.fret-note-marker{width:31px;height:31px;font-size:.58rem}.instrument-visually-hidden,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.piano-region{padding-top:4px}.piano-region .piano-keyboard{position:relative;display:block;min-width:720px;height:254px;margin:0;padding:0;overflow:hidden;border:10px solid var(--ink);border-top-width:18px;border-radius:13px;background:var(--ink);box-shadow:0 14px 28px rgba(3,8,13,.34)}.piano-white-keybed{display:flex;width:100%;height:100%;gap:0}.piano-key-button{position:relative;display:grid;padding:0;place-items:end center}.piano-white-key{flex:0 0 auto;height:100%;padding-bottom:17px;border:0;border-left:1px solid #aeb2b7;border-radius:0 0 4px 4px;background:linear-gradient(92deg,#dadbdd,#fff 13%,#f8f8f6 82%,#c9cbcd);box-shadow:inset 0 -8px 10px rgba(39,43,48,.1)}.piano-white-key:first-child{border-left:0}.piano-white-key:hover{background:linear-gradient(92deg,#d3d5d8,#f6f2e7 18%,#efeadb 85%,#bfc2c5)}.piano-black-key-layer{position:absolute;inset:0;z-index:2;pointer-events:none}.piano-black-key{position:absolute;top:0;height:62%;padding-bottom:10px;border:1px solid #050708;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#080b0e,#29313a 48%,#07090b);box-shadow:0 7px 8px rgba(0,0,0,.48);pointer-events:auto}.piano-black-key:hover{background:linear-gradient(90deg,#11161b,#3c4651 48%,#0b0e11)}.piano-note-marker{width:32px;height:32px;font-size:.58rem}.piano-black-key .piano-note-marker{width:27px;height:27px;font-size:.52rem}.piano-key-button[data-active=true]{box-shadow:inset 0 -6px 0 var(--interval-color),inset 0 -8px 13px color-mix(in srgb,var(--interval-color) 28%,transparent)}.piano-black-key[data-active=true]{box-shadow:inset 0 -5px 0 var(--interval-color),0 7px 8px rgba(0,0,0,.48)}.instrument-interval-legend{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.instrument-legend-item{display:inline-flex;gap:7px;align-items:center;min-height:40px;padding:5px 10px 5px 6px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(9,14,21,.31);color:#dce4ec}.instrument-legend-swatch{width:28px;height:28px;font-size:.57rem}.instrument-legend-label{font-size:.64rem;font-weight:800}.instrument-legend-empty{margin:0;color:var(--muted);font-size:.72rem}.interval-root{--interval-color:#e3c062;--interval-ink:#18202a}.interval-minor-2{--interval-color:#e95596;--interval-ink:#ffffff}.interval-major-2{--interval-color:#4d8bc9;--interval-ink:#ffffff}.interval-minor-3{--interval-color:#d94e59;--interval-ink:#ffffff}.interval-major-3{--interval-color:#4f9d70;--interval-ink:#ffffff}.interval-perfect-4{--interval-color:#4b5662;--interval-ink:#ffffff}.interval-tritone{--interval-color:#9266aa;--interval-ink:#ffffff}.interval-perfect-5{--interval-color:#c9cfd5;--interval-ink:#18202a}.interval-minor-6{--interval-color:#dc91b2;--interval-ink:#18202a}.interval-major-6{--interval-color:#8aadd0;--interval-ink:#18202a}.interval-minor-7{--interval-color:#c66f9a;--interval-ink:#ffffff}.interval-major-7{--interval-color:#376fae;--interval-ink:#ffffff}.harmony-app{padding:14px clamp(10px,1.7vw,32px) 38px}.harmony-hero{min-height:104px;padding:16px clamp(18px,2vw,28px)}.harmony-hero h1{font-size:clamp(1.9rem,2.8vw,3.25rem)}.harmony-hero-description{margin-top:8px}.section-nav{position:sticky;z-index:80;justify-content:center;width:100%;margin:10px auto 8px;overflow-x:auto;border-radius:16px;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav a{flex:0 0 auto}.section-nav .section-nav-home{border:1px solid rgba(227,192,98,.34);background:rgba(227,192,98,.08);color:var(--gold-pale)}.control-deck,.drum-trainer,.panel{padding:clamp(16px,1.6vw,24px)}.control-deck,.drum-trainer,.ear-panel,.workspace-main{margin-bottom:18px}.control-heading,.harmony-section-heading{margin-bottom:14px}.control-heading h2,.harmony-section-heading h2{font-size:clamp(1.45rem,2vw,2.15rem)}.instrument-fieldset{margin-bottom:12px}.instrument-selector-grid button{grid-template-columns:32px minmax(0,1fr);min-height:50px;padding:7px 9px}.instrument-selector-grid button>span{grid-row:1;width:30px;height:30px}.instrument-selector-grid button strong{font-size:.72rem}.root-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.root-grid button{padding:4px 2px;border-radius:8px;font-size:clamp(.58rem,.75vw,.76rem)}.workspace-grid{display:block}.workspace-main{gap:18px}.panel{scroll-margin-top:220px}.type-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:7px}.type-card{padding:6px}.god-mode-control{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:-3px 0 13px;padding:9px 11px;border:1px solid rgba(227,192,98,.22);border-radius:12px;background:rgba(227,192,98,.055)}.god-mode-control>div{display:grid}.god-mode-control strong{color:#fff9ed;font-size:.78rem}.god-mode-control span{color:var(--muted);font-size:.62rem}.god-mode-control button{min-height:34px;padding:6px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.05);color:#dce5ee;font-size:.65rem;font-weight:850}.god-mode-control button.active{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink)}.metronome-toolbar{position:sticky;top:59px;z-index:50;margin-bottom:18px;padding:11px;scroll-margin-top:8px;border-color:rgba(227,192,98,.32);box-shadow:0 15px 38px rgba(3,8,14,.34);backdrop-filter:blur(18px)}.metronome-toolbar .metronome-sticky{position:static;display:grid;grid-template-columns:minmax(116px,.62fr) minmax(215px,1.18fr) minmax(180px,.82fr) minmax(245px,1.15fr) minmax(125px,.64fr);gap:8px 10px;align-items:end}.metronome-title,.metronome-toolbar .meter-controls,.metronome-toolbar .metronome-pattern-heading,.metronome-toolbar .metronome-sound-legend,.metronome-toolbar .metronome-start,.metronome-toolbar .metronome-sync,.metronome-toolbar .metronome-tempo{margin:0}.metronome-sync-status{display:grid;min-height:42px;padding:5px 9px;align-content:center;border:1px solid rgba(103,210,173,.2);border-radius:10px;background:rgba(103,210,173,.055)}.metronome-sync-status small,.metronome-sync-status span{color:var(--muted);font-size:.5rem;line-height:1.1}.metronome-sync-status strong{color:var(--mint);font-size:.68rem;line-height:1.2}.metronome-title{align-self:center}.metronome-title h2{font-size:1.45rem}.metronome-title .section-kicker{margin-bottom:3px}.metronome-toolbar .metronome-tempo{grid-template-columns:minmax(0,1fr) 62px}.metronome-toolbar .metronome-tempo input,.metronome-toolbar .select-field select,.metronome-toolbar .tap-button,.metronome-toolbar .tempo-field input{min-height:42px}.metronome-toolbar .metronome-tempo input{font-size:1rem}.metronome-toolbar .tap-button{min-height:42px}.metronome-toolbar .meter-controls{grid-template-columns:minmax(95px,.72fr) minmax(145px,1.28fr)}.metronome-toolbar .metronome-start{width:100%;min-height:42px;margin:0}.metronome-toolbar .metronome-pattern-heading,.metronome-toolbar .metronome-sound-legend{align-self:center}.metronome-toolbar .metronome-beat-pattern{grid-column:3/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.metronome-toolbar .metronome-beat-group{padding:5px;border-radius:9px}.metronome-toolbar .metronome-beat-number{margin-bottom:2px}.metronome-toolbar .metronome-beat-steps,.metronome-toolbar .metronome-step-column{gap:2px}.metronome-toolbar .metronome-step-light{width:7px;height:7px}.metronome-toolbar .metronome-step-column.downbeat .metronome-step-light{width:10px;height:10px}.metronome-toolbar .metronome-count-label{min-height:11px;font-size:.5rem}.metronome-toolbar .metronome-sound-block{min-height:12px;border-radius:3px}.related-shelf{margin-top:16px;padding-top:14px}.related-heading{align-items:center;min-height:32px}.related-selection-formula{max-width:min(58%,44rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:9px}.related-group-heading{align-items:center}.related-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:6px}.related-card{grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;min-width:0;min-height:54px;padding:5px;border-radius:9px}.related-card-placeholder{visibility:hidden;pointer-events:none}.related-card-empty{display:flex;align-items:center;justify-content:center;text-align:center}.related-card-empty .related-empty{margin:0}.related-card-select{min-width:0;padding:2px 3px}.related-card-formula,.related-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-card-title{font-size:.68rem}.related-card-kind{font-size:.48rem}.related-card-formula{font-size:.52rem}.related-tone-summary{display:none}.related-card-actions{grid-template-columns:repeat(3,26px);gap:3px}.related-card-actions button{width:26px;min-height:26px;padding:0;font-size:.72rem}.map-control-cluster{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;justify-content:flex-end}.map-instrument-switch{display:grid;grid-template-columns:repeat(6,32px);gap:3px}.map-back-button,.map-instrument-switch button{min-height:32px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.05);color:#e4ebf2;font-size:.6rem;font-weight:900}.map-instrument-switch button.active{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink)}.map-back-button{padding:5px 9px;color:var(--gold-pale)}.map-sync-control{font-size:.65rem}.fret-board,.instrument-fretboard-region,.instrument-panel,.instrument-visualizer,.piano-region,.piano-region .piano-keyboard{width:100%;max-width:none}.generator-controls{grid-template-columns:minmax(100px,.7fr) minmax(210px,1.6fr) repeat(2,minmax(120px,.8fr)) minmax(120px,.75fr);margin-bottom:13px}.voice-leading{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.voice-leading-heading{display:flex;gap:18px;align-items:flex-end;justify-content:space-between;margin-bottom:8px}.voice-leading-heading h3{margin:0;color:#fff9ed;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.voice-leading-heading p:not(.section-kicker){margin:4px 0 0;color:var(--muted);font-size:.65rem}.voice-leading-heading>span,.voice-movement-total,.voice-range-label{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:rgba(103,210,173,.09);color:var(--mint);font-size:.6rem;font-weight:800}.voice-leading-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;justify-content:flex-end}.voice-range-label{background:rgba(118,169,223,.09);color:#bedcff}.voice-reset-route{min-height:28px;padding:5px 9px;border:1px solid rgba(227,192,98,.26);border-radius:999px;background:rgba(227,192,98,.07);color:var(--gold-pale);font-size:.57rem;font-weight:850}.voice-reset-route:disabled{opacity:.42}.voice-leading-stack{display:grid;gap:4px}.voice-row{display:grid;grid-template-columns:minmax(195px,.42fr) minmax(620px,1.58fr);gap:7px;align-items:stretch}.voice-row-label{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:1px 7px;align-items:center;min-width:0;padding:6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(9,14,21,.34);text-align:left}.voice-row-label>span{grid-row:1/span 2;display:grid;width:22px;height:22px;place-items:center;border-radius:6px;background:rgba(227,192,98,.12);color:var(--gold-bright);font-size:.58rem;font-weight:900}.voice-row-label strong{color:#fff9ed;font-size:.7rem}.voice-row-label small,.voice-row-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-row-label small{color:var(--muted);font-size:.52rem}.voice-row-label i{grid-row:1/span 2;grid-column:3;color:var(--gold-pale);font-size:.62rem;font-style:normal}.voice-pitch-lane{display:grid;grid-template-columns:repeat(25,minmax(18px,1fr));min-width:620px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#111821}.voice-pitch-cell{position:relative;display:grid;min-height:46px;min-width:0;padding:0;place-items:center;border:0;border-left:1px solid rgba(26,32,39,.23);background:#e9e8e2;color:transparent;font-size:.48rem;font-weight:950}.voice-pitch-cell.black{background:#303a46}.voice-pitch-cell.octave-boundary{border-left:2px solid rgba(227,192,98,.72)}.voice-pitch-cell.chord-tone{grid-template-rows:1fr auto;cursor:pointer;background:color-mix(in srgb,var(--interval-color) 38%,#141d27);color:color-mix(in srgb,var(--interval-color) 82%,white);box-shadow:inset 0 -3px 0 var(--interval-color)}.voice-pitch-cell.chord-tone:hover{background:color-mix(in srgb,var(--interval-color) 58%,#141d27)}.voice-pitch-cell.chord-tone.active{background:var(--interval-color);color:var(--interval-ink);box-shadow:inset 0 0 0 2px rgba(255,255,255,.72),0 0 14px color-mix(in srgb,var(--interval-color) 58%,transparent)}.voice-pitch-cell.chord-root{outline:1px solid color-mix(in srgb,var(--gold-bright) 72%,white);outline-offset:-2px}.voice-pitch-note{align-self:end;color:inherit;font-size:.5rem;line-height:1}.voice-interval-degree{align-self:start;margin-top:3px;color:inherit;font-size:.43rem;line-height:1}#practice-track{scroll-margin-top:225px}.practice-sync-controls{grid-template-columns:minmax(170px,.65fr) minmax(440px,1.8fr) minmax(155px,.6fr);gap:10px;margin:-8px 0 18px;padding:9px 11px;border:1px solid rgba(227,192,98,.25);border-radius:14px;background:linear-gradient(120deg,rgba(40,51,65,.98),rgba(18,25,33,.98));box-shadow:0 12px 28px rgba(3,8,14,.22);color:white}.practice-sync-controls.is-running{border-color:rgba(103,210,173,.54)}.practice-sync-summary{gap:9px;justify-content:space-between;min-width:0}.practice-sync-summary>div{display:grid;min-width:0}.practice-sync-kicker{color:var(--gold-bright);font-size:.48rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.practice-sync-summary strong{overflow:hidden;color:#fff9ed;font-family:Georgia,Times New Roman,serif;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.practice-sync-bpm{display:grid;min-width:48px;text-align:right}.practice-sync-bpm strong{color:var(--mint);font-family:inherit;font-size:.86rem;font-weight:900}.practice-sync-bpm span{color:var(--muted);font-size:.45rem;font-weight:800;letter-spacing:.1em}.practice-sync-modules{gap:5px;margin:0;padding:0;border:0}.practice-sync-module{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:42px;padding:5px 7px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.035)}.practice-sync-module.is-enabled{border-color:rgba(118,169,223,.3);background:rgba(118,169,223,.07)}.practice-sync-module.is-master{border-color:rgba(227,192,98,.58);box-shadow:inset 0 0 0 1px rgba(227,192,98,.08)}.practice-master-choice,.practice-sync-toggle{display:flex;gap:5px;align-items:center;min-width:0;cursor:pointer}.practice-master-choice input,.practice-sync-toggle input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.practice-sync-toggle-track{position:relative;flex:0 0 auto;width:28px;height:16px;border-radius:999px;background:#4a5664;transition:background .15s ease}.practice-sync-toggle-track i{position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:white;transition:transform .15s ease}.practice-sync-toggle input:checked+.practice-sync-toggle-track{background:#417cb9}.practice-sync-toggle input:checked+.practice-sync-toggle-track i{transform:translateX(12px)}.practice-master-choice input:focus-visible+span,.practice-sync-toggle input:focus-visible+.practice-sync-toggle-track{outline:2px solid white;outline-offset:2px}.practice-sync-module-name{overflow:hidden;color:#eaf0f6;font-size:.59rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.practice-sync-module-short{display:none}.practice-master-choice{color:var(--muted);font-size:.5rem;font-weight:850}.practice-master-choice>span{display:grid;width:11px;height:11px;place-items:center;border:1px solid #7b8794;border-radius:50%}.practice-master-choice input:checked+span{border:3px solid var(--gold-bright);background:var(--ink)}.practice-sync-transport{display:flex;gap:7px;align-items:center;justify-content:center;min-height:42px;padding:7px 10px;border:1px solid rgba(103,210,173,.42);border-radius:10px;background:rgba(103,210,173,.1);color:#c9ffed;font-size:.62rem;font-weight:900}.practice-sync-transport.is-running{border-color:rgba(255,142,119,.58);background:rgba(255,142,119,.12);color:#ffd2c8}.practice-sync-transport-icon{font-size:.62rem}.drum-row-mix{grid-template-columns:28px minmax(0,1fr);gap:5px;align-items:center}.drum-row-mute{width:28px;height:25px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:6px;background:rgba(255,255,255,.05);color:#dce4ec;font-size:.58rem;font-weight:900}.drum-row-mute.drum-is-muted{border-color:var(--coral);background:rgba(255,142,119,.15);color:#ffc0b3}.drum-row-volume,.drum-row-volume input{width:100%}.drum-row-volume input{accent-color:var(--gold-bright)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}@media (max-width:1120px){.workspace-grid{grid-template-columns:1fr}.metronome-panel{order:2}.metronome-sticky{position:static}.metronome-pattern{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.generator-controls{grid-template-columns:repeat(3,1fr)}.instrument-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.drum-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.harmony-app{padding-inline:12px}.harmony-hero{grid-template-columns:1fr;gap:18px;min-height:0;padding:26px 24px;border-radius:24px}.harmony-hero-mark{display:none}.section-nav{position:sticky;justify-content:flex-start;border-radius:14px}.global-controls-grid{grid-template-columns:1fr}.root-grid{grid-template-columns:repeat(4,1fr)}.control-heading,.harmony-section-heading{align-items:stretch}.answer-grid,.generator-controls{grid-template-columns:repeat(2,1fr)}.substitution-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ear-challenge-card,.replacement-search-field{grid-template-columns:1fr}.ear-primary-actions{justify-content:flex-start}.site-footer{grid-template-columns:1fr;gap:12px;text-align:center}.fretboard-grid{grid-template-columns:48px repeat(13,minmax(39px,1fr));min-width:555px}}@media (max-width:560px){.harmony-hero h1{font-size:clamp(2.15rem,11vw,3rem)}.trainer-brand img{width:44px;height:44px}.section-nav a{flex:0 0 auto;text-align:center}.control-heading,.ear-category-heading,.ear-selection-toolbar,.harmony-section-heading{flex-direction:column}.audio-status,.selected-summary{width:100%;max-width:none;text-align:left}.root-grid{grid-template-columns:repeat(3,1fr)}.generator-controls,.instrument-selector-grid,.meter-controls,.metronome-beat-pattern,.metronome-tempo,.progression-grid,.substitution-toggle-grid,.type-grid{grid-template-columns:1fr}.tone-legend small,.transport-row p{text-align:left}.ear-score{width:100%}.answer-grid{grid-template-columns:1fr}.ear-selection-toolbar>div:last-child{width:100%}.custom-sequence-heading,.drum-heading,.ear-playback-choice,.substitution-heading{align-items:stretch;flex-direction:column}.drum-transport{align-items:stretch}.drum-controls{grid-template-columns:1fr}.drum-control-actions>button{flex:1}.drum-legend small{width:100%;margin-left:0}.ear-selection-toolbar button{flex:1}.ear-category-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.ear-option-grid{grid-template-columns:1fr}.builder-actions,.playback-actions:not(.compact){width:100%}.builder-actions>button,.playback-actions:not(.compact) .icon-action{flex:1}}@media (max-width:1120px){.instrument-selector-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.metronome-toolbar .metronome-sticky{grid-template-columns:repeat(4,minmax(0,1fr))}.metronome-toolbar .metronome-title{grid-column:1}.metronome-toolbar .metronome-sync{grid-column:2}.metronome-toolbar .metronome-tempo{grid-column:3}.metronome-toolbar .meter-controls{grid-column:4}.metronome-toolbar .metronome-start{grid-column:1}.metronome-toolbar .metronome-pattern-heading{grid-column:2}.metronome-toolbar .metronome-sound-legend{grid-column:3/-1}.metronome-toolbar .metronome-beat-pattern{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.related-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-leading-stack{overflow-x:auto;padding-bottom:4px}.voice-row{min-width:900px}}@media (max-width:820px){.root-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}.root-grid button{min-height:32px;font-size:.57rem}.metronome-toolbar .metronome-sticky{grid-template-columns:repeat(2,minmax(0,1fr))}.metronome-toolbar .metronome-pattern-heading,.metronome-toolbar .metronome-tempo,.metronome-toolbar .metronome-title{grid-column:1}.metronome-toolbar .meter-controls,.metronome-toolbar .metronome-sound-legend,.metronome-toolbar .metronome-sync{grid-column:2}.metronome-toolbar .metronome-beat-pattern,.metronome-toolbar .metronome-start{grid-column:1/-1}.metronome-toolbar .metronome-beat-pattern{grid-template-columns:repeat(4,minmax(0,1fr))}.related-groups{grid-template-columns:1fr}.related-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.instrument-heading{align-items:stretch;flex-direction:column}.map-control-cluster{justify-content:flex-start}.generator-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-sync-controls{grid-template-columns:minmax(145px,.55fr) minmax(0,1.45fr)}.practice-sync-transport{grid-column:1/-1;min-height:36px}}@media (max-width:560px){.harmony-app{padding-inline:8px}.harmony-hero{gap:10px;padding:16px}.harmony-hero-description{display:none}.instrument-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.root-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:2px}.root-grid button{min-height:30px;padding-inline:0;font-size:.52rem}.metronome-toolbar{position:sticky;top:57px}.metronome-toolbar .metronome-tempo{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 52px}.metronome-toolbar .meter-controls{grid-column:1/-1;grid-template-columns:minmax(78px,.7fr) minmax(120px,1.3fr)}.metronome-toolbar .metronome-title{grid-column:1}.metronome-toolbar .metronome-start{grid-column:2}.metronome-toolbar .metronome-sync{grid-column:1/-1}.metronome-toolbar .metronome-sync button{min-width:0;padding-inline:6px;font-size:.62rem;line-height:1.15}.metronome-toolbar .metronome-pattern-heading{grid-column:1}.metronome-toolbar .metronome-sound-legend{grid-column:2}.metronome-toolbar .metronome-beat-pattern{grid-template-columns:repeat(4,minmax(0,1fr))}.metronome-toolbar .metronome-beat-group{padding:3px}.metronome-toolbar .metronome-sound-block{min-height:10px}.related-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-instrument-switch{grid-template-columns:repeat(6,minmax(28px,1fr));width:100%}.generator-controls{grid-template-columns:1fr}.voice-leading-heading{align-items:flex-start;flex-direction:column}.practice-sync-controls{grid-template-columns:1fr;gap:6px;margin-top:-4px}.practice-sync-modules,.practice-sync-transport{grid-column:1}.practice-sync-module{padding-inline:5px}.practice-sync-module-long{display:none}.practice-sync-module-short{display:inline}.practice-master-choice{font-size:.45rem}}.harmony-app{--nav-top:6px;--nav-height:55px;--sticky-gap:7px;--sticky-stack-height:285px}.section-nav{top:var(--nav-top);justify-content:flex-start}.metronome-toolbar{top:calc(var(--nav-top) + var(--nav-height) + var(--sticky-gap))}#metronome{scroll-margin-top:calc(var(--nav-height) + 18px)}#ear-training,#explore,#generator,#instrument-map,#practice-track,#rhythm-trainer,#song-atlas{scroll-margin-top:min(var(--sticky-stack-height),calc(100svh - 80px))}.metronome-toolbar .meter-controls{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.metronome-toolbar .meter-controls input,.metronome-toolbar .meter-controls select,.metronome-toolbar .meter-controls>*{min-width:0;max-width:100%}.practice-master-choice,.practice-sync-toggle{min-height:28px}.practice-sync-toggle-track{width:32px;height:18px}.practice-sync-toggle-track i{width:12px;height:12px}.practice-sync-toggle input:checked+.practice-sync-toggle-track i{transform:translateX(14px)}.practice-sync-module-name{font-size:.68rem}.practice-master-choice{font-size:.58rem}.practice-master-choice>span{width:14px;height:14px}.metronome-sync-status small,.metronome-sync-status span{font-size:.57rem}.voice-leading-stack{overscroll-behavior-x:contain}.voice-pitch-note{font-size:.58rem}.voice-interval-degree{font-size:.5rem}@media (max-width:1120px){.harmony-app{--sticky-stack-height:390px}}@media (max-width:820px){.harmony-app{--sticky-stack-height:445px}}@media (max-width:560px){.harmony-app{--sticky-stack-height:430px}.metronome-toolbar{max-height:min(350px,calc(100svh - 74px));overflow-y:auto}.metronome-toolbar .metronome-sticky{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 7px}.metronome-toolbar .metronome-title{grid-row:1;grid-column:1}.metronome-toolbar .metronome-sync{grid-row:1;grid-column:2}.metronome-toolbar .metronome-tempo{grid-row:2;grid-column:1;grid-template-columns:minmax(0,1fr) 46px}.metronome-toolbar .meter-controls{grid-row:2;grid-column:2;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}.metronome-toolbar .metronome-start{grid-row:3;grid-column:1}.metronome-toolbar .metronome-pattern-heading{grid-row:3;grid-column:2}.metronome-toolbar .metronome-sound-legend{grid-row:4;grid-column:1/-1}.metronome-toolbar .metronome-beat-pattern{grid-row:5;grid-column:1/-1}.metronome-pattern-heading>div>span,.metronome-sync-status small{display:none}.metronome-toolbar .select-field>span,.metronome-toolbar .tempo-field>span,.metronome-toolbar label>span{margin-bottom:2px;font-size:.52rem}.metronome-toolbar .meter-controls .tempo-field input{padding-right:22px;padding-left:7px;font-size:.78rem}.metronome-toolbar .meter-controls .tempo-field>div>span{right:5px}.metronome-toolbar .meter-controls select{padding-right:24px;padding-left:7px;font-size:.72rem}.voice-row{grid-template-columns:110px minmax(620px,1fr);min-width:737px}.voice-row-label{grid-template-columns:20px minmax(0,1fr) 12px;padding:5px}.voice-row-label small{display:none}.practice-sync-module{grid-template-columns:1fr;gap:1px}.practice-master-choice{justify-self:center}}@media (max-height:620px){.metronome-toolbar{max-height:calc(100svh - 160px);overflow-y:auto}}@media (prefers-reduced-motion:reduce){.harmony-app,.harmony-app *,.harmony-app :after,.harmony-app :before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.generator-collapsed-progression{display:none}#generator.is-collapsed>.harmony-section-heading{flex-wrap:nowrap;gap:clamp(7px,1vw,13px);overflow:hidden}#generator.is-collapsed .generator-heading-main{display:flex;flex:1 1 auto;gap:clamp(8px,1.25vw,17px);align-items:center;min-width:0;overflow:hidden}#generator.is-collapsed .generator-heading-main h2{flex:0 0 auto;max-width:min(37vw,310px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#generator.is-collapsed .generator-heading-main>.generator-collapsed-progression{display:flex!important;flex:1 1 auto;gap:3px;align-items:center;min-width:0;overflow-x:auto;padding:2px 1px;overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap}#generator.is-collapsed .generator-collapsed-progression::-webkit-scrollbar{display:none}#generator.is-collapsed .generator-collapsed-progression>span{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:25px;padding:3px 7px;border:1px solid rgba(227,192,98,.24);border-radius:999px;background:rgba(255,255,255,.065);color:#f7eddb;font-size:clamp(.62rem,.78vw,.74rem);font-weight:900;letter-spacing:-.015em;line-height:1}#generator.is-collapsed .generator-collapsed-progression>span:not(:last-child):after{position:absolute;right:-4px;color:rgba(227,192,98,.62);content:"›";transform:translateX(50%)}#generator.is-collapsed .generator-collapsed-progression>span.is-substitution{border-color:rgba(109,137,173,.82);background:rgba(109,137,173,.2)}#generator.is-collapsed .generator-collapsed-progression>span.is-playing{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink);box-shadow:0 0 0 2px rgba(227,192,98,.17)}#generator.is-collapsed .section-heading-actions{flex:0 0 auto;margin-left:0}@media (max-width:640px){#generator.is-collapsed{padding:8px 10px}#generator.is-collapsed .generator-heading-main{gap:7px}#generator.is-collapsed .generator-heading-main h2{max-width:29vw;font-size:.88rem}#generator.is-collapsed .generator-collapsed-progression>span{min-height:22px;padding:2px 5px;font-size:.59rem}#generator.is-collapsed .section-collapse-toggle{width:32px;min-width:32px;min-height:32px}}.harmony-atlas-page{--atlas-ink:#121921;--atlas-ink-2:#283341;--atlas-ink-3:#344253;--atlas-cream:#fff9ed;--atlas-cream-2:#f7eddb;--atlas-white:#ffffff;--atlas-gold:#b1913a;--atlas-gold-bright:#e3c062;--atlas-blue:#6d89ad;--atlas-muted:#66717d;--atlas-line:rgba(40,51,65,0.14);--atlas-shadow:0 20px 56px rgba(22,29,38,0.12);width:min(1380px,calc(100% - clamp(28px, 6vw, 92px)));margin:0 auto;padding:clamp(20px,3vw,42px) 0 clamp(60px,8vw,110px);color:var(--atlas-ink-2);font-family:Montserrat,Avenir Next,Avenir,Segoe UI,Arial,sans-serif;line-height:1.55}.harmony-atlas-page,.harmony-atlas-page *{box-sizing:border-box;min-width:0}.harmony-atlas-page :where(h1,h2,h3,p){overflow-wrap:anywhere}.harmony-atlas-page a,.harmony-atlas-page button{transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.harmony-atlas-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(28px,5vw,66px);border:1px solid rgba(227,192,98,.22);border-radius:28px;background:radial-gradient(circle at 88% 14%,rgba(109,137,173,.25),transparent 29rem),linear-gradient(145deg,#121921,#243143);color:#fffaf0;box-shadow:var(--atlas-shadow)}.harmony-atlas-hero:after{position:absolute;right:-100px;bottom:-220px;z-index:-1;width:420px;height:420px;border:1px solid rgba(227,192,98,.16);border-radius:50%;box-shadow:0 0 0 54px rgba(227,192,98,.022),0 0 0 108px rgba(227,192,98,.018);content:""}.harmony-atlas-hero>nav{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:clamp(24px,4vw,48px);color:#b9c5d2;font-size:.72rem;font-weight:750}.harmony-atlas-hero>nav a:hover{color:var(--atlas-gold-bright)}.harmony-atlas-hero>p:first-of-type{margin:0 0 9px;color:var(--atlas-gold-bright);font-size:.71rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.harmony-atlas-hero h1{max-width:990px;margin:0;color:#fffaf0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,5.2vw,5.2rem);font-weight:500;letter-spacing:-.055em;line-height:.98}.harmony-atlas-hero>p:last-of-type{max-width:900px;margin:clamp(20px,3vw,32px) 0 0;color:#cfdae5;font-size:clamp(.92rem,1.2vw,1.05rem)}.harmony-atlas-cta>div:last-child,.harmony-atlas-hero>div{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.harmony-atlas-cta>div:last-child a,.harmony-atlas-hero>div a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border:1px solid transparent;border-radius:999px;font-size:.76rem;font-weight:850;line-height:1.2;text-align:center}.harmony-atlas-cta>div:last-child a:first-child,.harmony-atlas-hero>div a:first-child{border-color:var(--atlas-gold-bright);background:var(--atlas-gold-bright);color:var(--atlas-ink)}.harmony-atlas-cta>div:last-child a:last-child,.harmony-atlas-hero>div a:last-child{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fffaf0}.harmony-atlas-cta>div:last-child a:hover,.harmony-atlas-hero>div a:hover{border-color:var(--atlas-gold-bright);transform:translateY(-2px)}.harmony-atlas-browser{margin-top:16px;padding:clamp(22px,3vw,38px);border:1px solid var(--atlas-line);border-radius:23px;background:rgba(255,255,255,.84);box-shadow:0 14px 38px rgba(18,25,33,.065)}.harmony-atlas-browser>form{display:grid;grid-template-columns:minmax(190px,.25fr) minmax(0,.75fr);gap:16px;align-items:center;padding:15px;border:1px solid var(--atlas-line);border-radius:17px;background:var(--atlas-cream)}.harmony-atlas-browser>form>label{color:var(--atlas-ink);font-size:.76rem;font-weight:850;line-height:1.3}.harmony-atlas-browser>form>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.harmony-atlas-browser input{width:100%;min-height:44px;padding:8px 13px;border:1px solid rgba(40,51,65,.22);border-radius:11px;background:var(--atlas-white);color:var(--atlas-ink);font-size:.8rem}.harmony-atlas-browser input::placeholder{color:#89939e}.harmony-atlas-browser form a,.harmony-atlas-browser form button,.harmony-atlas-empty a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid var(--atlas-ink-2);border-radius:11px;background:var(--atlas-ink-2);color:#fffaf0;font-size:.73rem;font-weight:850;white-space:nowrap}.harmony-atlas-browser form a{border-color:var(--atlas-line);background:var(--atlas-white);color:var(--atlas-ink-2)}.harmony-atlas-browser form :is(button,a):hover,.harmony-atlas-empty a:hover{border-color:var(--atlas-gold);transform:translateY(-1px)}.harmony-atlas-results-heading{display:flex;gap:20px;align-items:end;justify-content:space-between;margin:clamp(25px,4vw,40px) 0 13px}.harmony-atlas-results-heading p{margin:0 0 3px;color:var(--atlas-gold);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.harmony-atlas-results-heading h2{margin:0;color:var(--atlas-ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500;letter-spacing:-.035em;line-height:1}.harmony-atlas-results-heading>span{flex:0 0 auto;color:var(--atlas-muted);font-size:.72rem;font-weight:800}.harmony-atlas-browser>.harmony-atlas-sort{grid-template-columns:auto minmax(220px,420px) auto;gap:8px;margin:0 0 10px;padding:10px 12px}.harmony-atlas-sort select{width:100%;min-height:40px;padding:7px 34px 7px 11px;border:1px solid rgba(40,51,65,.22);border-radius:10px;background:var(--atlas-white);color:var(--atlas-ink);font:inherit;font-size:.72rem;font-weight:750}.harmony-atlas-sort small{grid-column:1/-1;color:var(--atlas-muted);font-size:.61rem;line-height:1.3}.harmony-atlas-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.harmony-atlas-list>li{padding:0;border:1px solid var(--atlas-line);border-radius:11px;background:var(--atlas-white)}.harmony-atlas-song-open{display:grid;grid-template-columns:minmax(170px,.25fr) minmax(360px,.55fr) minmax(150px,.2fr) auto;width:100%;gap:clamp(12px,2vw,28px);align-items:center;padding:11px 13px;border:0;border-radius:inherit;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.harmony-atlas-list>li:nth-child(2n){background:rgba(247,237,219,.48)}.harmony-atlas-list>li:hover{border-color:rgba(177,145,58,.52);box-shadow:0 7px 18px rgba(18,25,33,.065)}.harmony-atlas-song-meta{display:grid;gap:3px;min-width:0}.harmony-atlas-song-meta strong{color:var(--atlas-ink);font-family:Georgia,Times New Roman,serif;font-size:.92rem;font-weight:650;line-height:1.15}.harmony-atlas-song-meta>span{color:var(--atlas-muted);font-size:.65rem;font-weight:700;line-height:1.25}.harmony-atlas-difficulty{display:inline-block;padding:1px 5px;border:1px solid rgba(177,145,58,.28);border-radius:999px;background:rgba(227,192,98,.12);color:#6d5516;font-weight:850;white-space:nowrap}.harmony-atlas-difficulty.is-level-4,.harmony-atlas-difficulty.is-level-5{border-color:rgba(156,73,99,.3);background:rgba(188,91,119,.1);color:#81354d}.harmony-atlas-chart{margin:0;color:var(--atlas-ink-2);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(.67rem,.78vw,.76rem);font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.02em;line-height:1.55}.harmony-atlas-chart strong{color:#806720;font-family:Montserrat,Avenir Next,Avenir,sans-serif;font-size:.86em;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.harmony-atlas-source{margin:0;color:#79848f;font-size:.61rem;font-weight:650;line-height:1.35;text-align:right}.harmony-atlas-open-hint{color:#806720;font-size:.62rem;font-weight:900;white-space:nowrap}.harmony-atlas-list>li:focus-within{outline:3px solid rgba(177,145,58,.46);outline-offset:2px}.harmony-atlas-sort-disclaimer{margin:9px 0 0;color:var(--atlas-muted);font-size:.61rem;line-height:1.35}.harmony-atlas-empty{padding:clamp(28px,5vw,54px);border:1px dashed rgba(40,51,65,.24);border-radius:17px;background:var(--atlas-cream);text-align:center}.harmony-atlas-empty h3{margin:0;color:var(--atlas-ink);font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.harmony-atlas-empty p{margin:8px 0 17px;color:var(--atlas-muted);font-size:.82rem}.harmony-atlas-pagination{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:23px}.harmony-atlas-pagination>a,.harmony-atlas-pagination>span>a{display:inline-flex;min-width:36px;min-height:36px;align-items:center;justify-content:center;padding:6px 10px;border:1px solid var(--atlas-line);border-radius:9px;background:var(--atlas-white);color:var(--atlas-ink-2);font-size:.7rem;font-weight:850;white-space:nowrap}.harmony-atlas-pagination [aria-current=page],.harmony-atlas-pagination>a:hover,.harmony-atlas-pagination>span>a:hover{border-color:var(--atlas-ink-2);background:var(--atlas-ink-2);color:#fffaf0}.harmony-atlas-pagination>span{display:inline-flex;gap:6px;align-items:center}.harmony-atlas-pagination>span>span{color:var(--atlas-muted);font-weight:800}.harmony-atlas-cta{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(24px,4vw,60px);align-items:center;margin-top:16px;padding:clamp(26px,4vw,48px);border:1px solid rgba(227,192,98,.26);border-radius:23px;background:radial-gradient(circle at 89% 12%,rgba(109,137,173,.24),transparent 24rem),linear-gradient(145deg,#121921,#283341);color:#d5dfe9;box-shadow:var(--atlas-shadow)}.harmony-atlas-cta>div:first-child>p:first-child{margin:0 0 8px;color:var(--atlas-gold-bright);font-size:.69rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.harmony-atlas-cta h2{margin:0;color:#fffaf0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.8rem);font-weight:500;letter-spacing:-.035em;line-height:1.04}.harmony-atlas-cta>div:first-child>p:last-child{margin:13px 0 0;color:#c7d2de;font-size:.88rem}.harmony-atlas-cta>div:last-child{justify-content:flex-end;margin-top:0}.harmony-atlas-footer{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;padding:24px 6px 0;color:var(--atlas-gold);font-size:.75rem;font-weight:850}.harmony-atlas-footer a:hover{color:var(--atlas-ink)}@media (max-width:980px){.harmony-atlas-song-open{grid-template-columns:minmax(170px,.32fr) minmax(0,.68fr)}.harmony-atlas-source{grid-column:1/-1;text-align:left}}@media (max-width:760px){.harmony-atlas-browser>form,.harmony-atlas-cta{grid-template-columns:minmax(0,1fr)}.harmony-atlas-cta>div:last-child{justify-content:flex-start}.harmony-atlas-song-open{grid-template-columns:minmax(0,1fr);gap:8px}.harmony-atlas-source{grid-column:auto}.harmony-atlas-open-hint{justify-self:start}}.section-nav-beat,.section-nav-current-chord{align-self:stretch;min-height:34px;border:1px solid rgba(227,192,98,.34);border-radius:10px;background:rgba(255,255,255,.07);color:#fff8df;font:inherit;line-height:1}.section-nav-beat{display:grid;flex:0 0 48px;grid-template-columns:17px minmax(0,1fr);gap:1px;place-items:center;width:48px;padding:3px 5px;transition:border-color .1s ease,background .1s ease,box-shadow .1s ease}.section-nav-beat>span{color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:1rem}.section-nav-beat>strong{font-size:.9rem;font-variant-numeric:tabular-nums}.section-nav-beat.is-flashing{border-color:var(--gold-bright);background:rgba(227,192,98,.34);box-shadow:0 0 0 2px rgba(227,192,98,.18),0 0 18px rgba(227,192,98,.42)}.section-nav-current-chord{display:flex;flex:0 1 108px;align-items:center;justify-content:center;width:108px;min-width:58px;max-width:108px;padding:3px 7px;overflow:hidden}.section-nav-current-chord>strong{display:block;width:100%;overflow:hidden;font-size:.72rem;font-weight:900;text-align:center;text-overflow:ellipsis;white-space:nowrap}.section-nav-current-chord.has-chord{border-color:rgba(103,210,173,.64);background:rgba(103,210,173,.14);color:#d8fff1}@media (prefers-reduced-motion:no-preference){.section-nav-beat.is-flashing{animation:section-nav-beat-flash .18s ease-out}@keyframes section-nav-beat-flash{0%{transform:scale(.92)}55%{transform:scale(1.06)}to{transform:scale(1)}}}@media (max-width:560px){.section-nav{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav-beat{flex-basis:42px;width:42px;min-height:31px;padding-inline:3px}.section-nav-current-chord{flex:0 0 58px;width:58px;min-width:58px;min-height:31px;padding-inline:4px}.section-nav-current-chord>strong{font-size:.63rem}}@media (max-width:520px){.harmony-atlas-page{width:calc(100% - 16px)}.harmony-atlas-browser,.harmony-atlas-cta,.harmony-atlas-hero{padding:18px;border-radius:16px}.harmony-atlas-hero h1{font-size:clamp(1.95rem,11vw,2.75rem);letter-spacing:-.045em}.harmony-atlas-browser>form{padding:11px}.harmony-atlas-browser>form>div{grid-template-columns:minmax(0,1fr) auto}.harmony-atlas-browser>form>div>a{grid-column:1/-1}.harmony-atlas-results-heading{align-items:flex-start;flex-direction:column;gap:7px}.harmony-atlas-song-open{padding:10px}.harmony-atlas-chart{font-size:.66rem}.harmony-atlas-pagination{width:calc(100% + 4px);margin-inline:-2px;overflow-x:auto;justify-content:flex-start;padding:2px 2px 7px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.harmony-atlas-pagination>a,.harmony-atlas-pagination>span{flex:0 0 auto;scroll-snap-align:start}.harmony-atlas-cta>div:last-child{align-items:stretch;flex-direction:column}.harmony-atlas-cta>div:last-child a{width:100%}}@media (prefers-reduced-motion:reduce){.harmony-atlas-page *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.harmony-app{padding-bottom:104px}.sticky-practice-tools{z-index:72;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(330px,.8fr);gap:8px;width:100%;margin-bottom:10px;align-items:start}.sticky-practice-tools .metronome-toolbar{position:static;top:auto;z-index:auto;order:0;width:100%;max-height:none;margin:0;overflow:visible}.sticky-practice-tools #practice-track{order:1}.metronome-toolbar .metronome-sticky{display:block;min-height:100%;padding:10px 12px}.metronome-control-strip,.metronome-title-copy,.metronome-title-row,.section-heading-actions{display:flex;align-items:center}.metronome-title-row{justify-content:space-between;gap:12px}.metronome-title-copy{min-width:0;gap:9px}.metronome-title-copy h2{margin:0;color:#fff9ed;font-size:clamp(1.05rem,1.35vw,1.45rem);line-height:1}.metronome-sync-chip{padding:4px 8px;border:1px solid rgba(181,144,54,.3);border-radius:999px;color:var(--gold-deep);background:rgba(236,202,112,.13);font-size:.72rem;font-weight:900;white-space:nowrap}.section-heading-actions{justify-content:flex-end;gap:7px;flex-wrap:wrap}.drum-collapse-button,.drum-master-button,.master-module-button,.section-collapse-toggle{min-height:34px;border:1px solid rgba(27,37,63,.16);border-radius:9px;background:rgba(255,255,255,.84);color:var(--dark-text);font:inherit;font-size:.76rem;font-weight:900;cursor:pointer}.drum-collapse-button,.section-collapse-toggle{display:grid;padding:0;place-items:center;font-size:1.25rem}.drum-master-button,.master-module-button{padding:7px 10px}.drum-master-button.is-master,.master-module-button.is-master{border-color:rgba(181,144,54,.55);color:#4c3810;background:linear-gradient(135deg,#f0d58c,#fff3c8)}.metronome-body{margin-top:8px}.metronome-control-strip{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(130px,.42fr) minmax(310px,1.4fr) 46px;gap:8px;align-items:end}.metronome-toolbar .metronome-tempo{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:6px;align-items:end}.metronome-subdivision-picker legend,.metronome-toolbar label>span{display:block;margin:0 0 3px;color:var(--gold-pale);font-size:.66rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.metronome-toolbar .metronome-tempo input,.number-stepper input{width:100%;height:36px;padding:5px 31px 5px 9px;border:1px solid rgba(27,37,63,.18);border-radius:8px;background:#fff;color:var(--dark-text);font-size:1.05rem;font-weight:950}.metronome-toolbar .tap-button{height:36px;min-height:36px;padding:0 8px;font-size:.78rem}.number-stepper{display:grid;grid-template-columns:30px minmax(44px,1fr) 30px;gap:3px}.number-stepper input{padding:5px;text-align:center}.number-stepper button{height:36px;padding:0;border:1px solid rgba(27,37,63,.17);border-radius:8px;background:#f5f1e8;color:var(--dark-text);font-size:1.2rem;font-weight:950;cursor:pointer}.metronome-subdivision-picker{min-width:0;margin:0;padding:0;border:0}.metronome-subdivision-picker>div,.music-symbol-options{display:flex;gap:4px;min-width:0}.metronome-subdivision-picker button,.music-symbol-options button{flex:1 1 0;min-width:34px;min-height:36px;padding:3px 5px;border:1px solid rgba(27,37,63,.16);border-radius:8px;background:rgba(255,255,255,.86);color:var(--dark-text);cursor:pointer}.metronome-subdivision-picker button>span,.music-symbol-options button>span{display:block;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:900;line-height:1}.metronome-subdivision-picker button.active,.music-symbol-options button.active{border-color:var(--gold-deep);background:linear-gradient(135deg,#f0d58c,#fff1bf);box-shadow:inset 0 0 0 1px rgba(181,144,54,.25)}.metronome-start.icon-only-transport{display:grid;width:42px;height:36px;min-height:36px;padding:0;place-items:center;font-size:1rem}.metronome-beat-scroller{width:100%;margin-top:7px;overflow-x:auto;overscroll-behavior-inline:contain}.metronome-toolbar .metronome-beat-pattern{display:grid;gap:4px;width:100%;margin-top:0;overflow:visible}.metronome-toolbar .metronome-beat-group{min-width:0;padding:3px}.metronome-toolbar .metronome-beat-number{font-size:.72rem}.metronome-toolbar .metronome-count-label{min-height:12px;font-size:clamp(.48rem,.55vw,.64rem);font-weight:900}.metronome-toolbar .metronome-step-light{width:8px;height:8px}.metronome-toolbar .metronome-sound-stack{gap:2px}.metronome-toolbar .metronome-sound-block{min-width:0;height:7px;border:0;opacity:.22}.metronome-toolbar .metronome-sound-block.high-click{background:#d5a928}.metronome-toolbar .metronome-sound-block.low-click{background:#d45d78}.metronome-toolbar .metronome-sound-block.woodblock{background:#496fa8}.metronome-toolbar .metronome-sound-block[aria-pressed=true]{opacity:1;box-shadow:0 0 0 1px rgba(16,25,44,.42),0 0 8px currentColor}.practice-sync-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"summary transport" "modules modules";gap:6px;height:auto;min-height:0;margin:0;padding:10px;align-items:center}.practice-sync-summary{display:grid;grid-template-columns:minmax(88px,1fr) auto;gap:3px;align-content:center}.practice-sync-summary strong{font-size:1rem}.practice-sync-bpm strong{font-size:1.1rem}.practice-sync-modules{display:grid;gap:4px}.practice-sync-module{grid-template-columns:minmax(0,1fr);gap:3px;padding:5px}.practice-master-choice,.practice-sync-module-name{font-size:.68rem}.practice-sync-transport{padding:7px 6px;font-size:.72rem}.collapsible-section.is-collapsed>:not(.harmony-section-heading):not(.control-heading){display:none!important}.collapsible-section.is-collapsed,.drum-trainer:has(.drum-trainer-body[hidden]){padding-bottom:12px}.control-heading h2,.drum-heading h2,.harmony-section-heading h2{font-size:clamp(1.35rem,2vw,2.05rem);line-height:1.05}.control-heading,.drum-heading,.harmony-section-heading{gap:14px}.control-intro,.drum-heading-copy p,.harmony-section-heading p{font-size:.9rem}.sound-map-sync-control{margin-top:7px;font-size:.8rem;font-weight:850}.builder-root-fieldset .root-grid,.root-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.root-grid button{min-width:0;min-height:34px;padding:5px 2px;font-size:clamp(.72rem,.9vw,.9rem)}.generator-performance-controls{display:flex;gap:10px;margin:10px 0;flex-wrap:wrap}.generator-performance-controls fieldset{min-width:min(100%,240px);margin:0;padding:8px;border:1px solid rgba(27,37,63,.13);border-radius:11px;background:rgba(255,255,255,.52)}.generator-performance-controls legend{padding:0 4px;color:var(--ink-3);font-size:.72rem;font-weight:900;text-transform:uppercase}.generator-performance-controls .music-symbol-options button{display:grid;min-height:48px;place-items:center}.generator-performance-controls .music-symbol-options small{display:block;margin-top:2px;font-size:.56rem;line-height:1.05}.progression-generated-name{margin:4px 0 0;color:var(--gold-pale);font-size:.78rem;font-weight:900}.ear-mode-control{gap:10px;margin-bottom:10px}.ear-level-picker{display:flex;gap:4px;flex:1 1 360px}.ear-level-picker button{flex:1 1 0;min-height:34px;border:1px solid rgba(27,37,63,.15);border-radius:8px;background:#fff;color:var(--dark-text);font:inherit;font-size:.76rem;font-weight:900;cursor:pointer}.ear-level-picker button.active{border-color:var(--gold-deep);background:#f2dc9a}.voice-leading.is-optimal-route .voice-pitch-cell.chord-tone.active{outline:3px solid #f2c84b;outline-offset:-2px;box-shadow:0 0 0 2px rgba(51,35,4,.42),0 0 14px rgba(225,175,38,.78)}.voice-row.is-current-chord{border-color:#c89d25;background:linear-gradient(90deg,rgba(244,211,117,.24),rgba(255,255,255,.9));box-shadow:0 0 0 3px rgba(209,165,52,.3),0 8px 22px rgba(44,34,12,.14)}.voice-pitch-note{font-size:clamp(.64rem,.86vw,.95rem);font-weight:1000;line-height:.92}.voice-interval-degree{font-size:clamp(.54rem,.7vw,.78rem);font-weight:1000;line-height:.9}.fret-note-marker,.fret-open-string-marker,.piano-note-marker{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:.94}.fret-note-marker{width:clamp(34px,3.2vw,48px);height:clamp(34px,3.2vw,48px)}.instrument-marker-note{font-size:clamp(.72rem,1.15vw,1rem);font-weight:1000}.instrument-marker-interval{font-size:clamp(.58rem,.82vw,.78rem);font-weight:950;opacity:.88}.piano-region .piano-keyboard,.piano-white-keybed{gap:0!important}.piano-white-key{margin:0!important;border-radius:0 0 5px 5px}.piano-note-marker{width:min(92%,50px);min-width:0;min-height:40px;padding:3px 1px}.sticky-visualizer-dock{position:fixed;right:10px;bottom:8px;left:10px;z-index:88;width:auto;max-width:1900px;max-height:min(50vh,560px);margin:0 auto;overflow:hidden;border:1px solid rgba(181,144,54,.42);border-radius:15px;background:rgba(248,245,236,.97);box-shadow:0 -12px 44px rgba(9,18,37,.23);backdrop-filter:blur(14px)}.sticky-visualizer-dock.is-collapsed{max-height:58px}.sticky-visualizer-header{display:flex;min-height:48px;padding:7px 10px;gap:8px;align-items:center;border-bottom:1px solid rgba(27,37,63,.1)}.sticky-visualizer-dock.is-collapsed .sticky-visualizer-header{border-bottom:0}.sticky-visualizer-home{display:inline-flex;min-height:34px;padding:6px 10px;align-items:center;gap:5px;border-radius:9px;color:#fff;background:var(--ink);font-size:.76rem;font-weight:900;text-decoration:none;white-space:nowrap}.sticky-visualizer-header h2{min-width:0;margin:0 auto 0 0;overflow:hidden;color:var(--dark-text);font-size:clamp(.86rem,1.25vw,1.15rem);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.sticky-visualizer-header .map-instrument-switch{flex-wrap:nowrap}.sticky-visualizer-header .map-instrument-switch button{min-width:32px;min-height:32px;padding:4px;font-size:.65rem;color:var(--dark-text);background:#edf0f3;opacity:1}.sticky-visualizer-header .map-instrument-switch button.active{color:#3d2f0a;background:var(--gold-pale)}.sticky-visualizer-body{max-height:calc(min(50vh, 560px) - 50px);padding:8px 10px 12px;overflow:auto}.sticky-visualizer-body .fret-board,.sticky-visualizer-body .instrument-fretboard-region,.sticky-visualizer-body .instrument-visualizer,.sticky-visualizer-body .piano-keyboard,.sticky-visualizer-body .piano-region{width:100%;max-width:none}.drum-row-solo{min-width:31px;min-height:28px;border:1px solid rgba(27,37,63,.18);border-radius:7px;color:#31547f;background:#e8eff7;font-weight:950;cursor:pointer}.drum-row-solo.drum-is-soloed{border-color:#3569a2;color:#fff;background:#3569a2;box-shadow:0 0 0 2px rgba(53,105,162,.2)}@media (max-width:1180px){.sticky-practice-tools{grid-template-columns:minmax(0,1fr);max-height:calc(100svh - 88px);overflow-y:auto}.practice-sync-controls{grid-template-columns:minmax(0,1fr) auto}.practice-sync-modules{grid-area:modules}.metronome-control-strip{grid-template-columns:minmax(170px,.75fr) minmax(125px,.45fr) minmax(280px,1.3fr) 44px}}@media (max-width:760px){.harmony-app{padding-bottom:88px}.sticky-practice-tools{top:calc(var(--nav-top) + var(--nav-height) + 4px)}.metronome-control-strip{grid-template-columns:minmax(0,1fr) minmax(112px,.72fr) 42px}.metronome-control-strip>.metronome-tempo{grid-row:1;grid-column:1}.metronome-control-strip>.meter-length-field{grid-row:1;grid-column:2}.metronome-subdivision-picker{grid-column:1/-1;grid-row:2}.metronome-control-strip>.metronome-start{grid-row:1;grid-column:3}.metronome-toolbar .metronome-beat-pattern{min-width:max(100%,calc(var(--meter-beats, 4) * 38px))}.practice-sync-controls{grid-template-columns:1fr auto}.practice-sync-modules{grid-area:modules}.practice-sync-transport{grid-area:transport}.builder-root-fieldset .root-grid,.root-grid{grid-template-columns:repeat(12,minmax(27px,1fr));overflow-x:auto}.sticky-visualizer-dock{right:5px;bottom:5px;left:5px;max-height:58vh;border-radius:12px}.sticky-visualizer-header{flex-wrap:wrap}.sticky-visualizer-home{order:1}.sticky-visualizer-header h2{order:2;flex:1 1 150px}.sticky-visualizer-toggle{order:3}.sticky-visualizer-header .map-back-button,.sticky-visualizer-header .map-instrument-switch,.sticky-visualizer-header .map-sync-control{order:4}.sticky-visualizer-dock.is-collapsed .map-instrument-switch{display:none}.sticky-visualizer-body{max-height:calc(58vh - 90px)}.ear-level-picker,.generator-performance-controls,.music-symbol-options{width:100%}}@media (max-width:480px){.sticky-practice-tools{position:sticky}.metronome-title-copy h2{font-size:1rem}.metronome-sync-chip{display:none}.metronome-control-strip{grid-template-columns:minmax(0,1fr) minmax(118px,.82fr) 40px}.metronome-toolbar .metronome-tempo{grid-template-columns:minmax(0,1fr) 42px}.metronome-subdivision-picker button{min-width:0;padding-inline:2px}.practice-master-choice,.practice-sync-module-name{font-size:.61rem}.ear-level-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.sticky-visualizer-home{padding-inline:8px;font-size:.68rem}.sticky-visualizer-header .map-instrument-switch button{min-width:29px}}.playback-icon{position:relative;display:inline-grid;flex:0 0 auto;width:18px;height:18px;place-items:center;color:currentColor}.playback-icon-play:before{width:0;height:0;margin-left:2px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid;content:""}.playback-icon-stop:before{width:10px;height:10px;border-radius:2px;background:currentColor;content:""}.playback-icon-arpeggio,.playback-icon-chord{display:flex;gap:2px;align-items:center;justify-content:center}.playback-icon-chord i{width:3px;height:12px;border-radius:999px;background:currentColor}.playback-icon-arpeggio i{width:4px;height:4px;border-radius:50%;background:currentColor}.playback-icon-arpeggio i:first-child{transform:translateY(4px)}.playback-icon-arpeggio i:nth-child(3){transform:translateY(-4px)}.icon-only-transport{display:inline-grid!important;width:42px;min-width:42px;min-height:38px;padding:0!important;place-items:center}.section-nav-brand{position:sticky;left:0;z-index:3;display:inline-flex;gap:6px;align-items:center;min-height:38px;padding:4px 10px 4px 6px!important;border:1px solid rgba(227,192,98,.42);background:#18212e;color:var(--gold-pale)!important;box-shadow:8px 0 16px rgba(10,16,24,.26)}.section-nav-brand img{width:28px;height:28px;object-fit:contain}.section-nav-brand span{font-family:Georgia,Times New Roman,serif;font-size:.78rem;letter-spacing:.03em}.collapsible-section.is-collapsed{padding-top:12px;padding-bottom:12px}.collapsible-section.is-collapsed>.control-heading,.collapsible-section.is-collapsed>.harmony-section-heading{margin-bottom:0;align-items:center}.collapsible-section.is-collapsed .control-heading>div:first-child>:not(h2),.collapsible-section.is-collapsed .harmony-section-heading>div:first-child>:not(h2),.collapsible-section.is-collapsed .section-heading-actions>:not(.section-collapse-toggle){display:none}.drum-trainer:has(.drum-trainer-body[hidden]){padding-top:12px;padding-bottom:12px}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading-copy p,.drum-trainer:has(.drum-trainer-body[hidden]) .drum-status{display:none}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport{flex-direction:row;align-items:center;margin-left:auto}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport>:not(.drum-collapse-button){display:none}.voice-leading.is-collapsed .voice-leading-heading p,.voice-leading.is-collapsed .voice-movement-total,.voice-leading.is-collapsed .voice-range-label,.voice-leading.is-collapsed .voice-reset-route{display:none}.metronome-body[hidden],.voice-leading-stack[hidden]{display:none!important}.song-library-matches{margin-top:16px;padding:13px;border:1px solid rgba(227,192,98,.2);border-radius:14px;background:rgba(7,12,19,.28)}.song-library-search-row,.song-library-subheading{display:flex;gap:12px;align-items:end;justify-content:space-between}.song-library-subheading h3{margin:0;color:#fff9ed;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.08rem,1.7vw,1.45rem);font-weight:500;line-height:1.1}.song-library-search-row p,.song-library-subheading p{margin:3px 0 0;color:var(--muted);font-size:.72rem}.song-library-match-options{display:flex;flex:0 0 auto;gap:5px}.song-library-match-options label{display:inline-flex;gap:5px;align-items:center;min-height:34px;padding:5px 9px;border:1px solid rgba(168,192,220,.24);border-radius:9px;background:rgba(168,192,220,.07);color:#e8eef5;font-size:.69rem;font-weight:850;white-space:nowrap}.song-library-match-options input{width:15px;height:15px;accent-color:var(--gold-bright)}.song-library-sort-control{display:grid;grid-template-columns:auto minmax(160px,1fr);gap:3px 6px;align-items:center;min-width:min(100%,250px)}.song-library-sort-control>label{color:#dfe7ef;font-size:.62rem;font-weight:850}.song-library-sort-control select{min-width:0;min-height:34px;padding:5px 25px 5px 8px;border:1px solid rgba(168,192,220,.28);border-radius:9px;background:rgba(8,13,20,.74);color:#fff9ed;font:inherit;font-size:.62rem;font-weight:750}.song-library-sort-control>small{grid-column:1/-1;overflow:visible;color:#b8c6d5;font-size:.53rem;line-height:1.2;white-space:normal}.song-library-match-options>.song-library-sort-control{min-width:270px}.song-library-match-results{min-height:210px;margin-top:9px}.song-library-list{display:grid;gap:4px}.song-library-row{display:grid;grid-template-columns:minmax(170px,.28fr) minmax(0,1fr);width:100%;gap:10px;align-items:center;min-height:48px;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.045);color:inherit;cursor:pointer;font:inherit;text-align:left}.song-library-row:hover{border-color:rgba(227,192,98,.42);background:rgba(227,192,98,.08)}.song-library-row-meta{display:grid;min-width:0;line-height:1.15}.song-library-row-meta small,.song-library-row-meta span,.song-library-row-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-library-row-meta strong{color:#fff9ed;font-size:.78rem}.song-library-row-meta span{color:#c6d0dc;font-size:.64rem}.song-library-row-meta small{margin-top:2px;color:var(--gold-pale);font-size:.58rem;font-weight:850}.song-library-difficulty.is-level-1,.song-library-difficulty.is-level-2{color:#a9dfba}.song-library-difficulty.is-level-4,.song-library-difficulty.is-level-5{color:#ffb3c8}.song-library-chart{min-width:0;margin:0;overflow-x:auto;padding:6px 7px;border-radius:7px;background:rgba(8,13,20,.42);color:#edf2f7;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.67rem;font-weight:700;line-height:1.25;scrollbar-color:rgba(227,192,98,.48) transparent;scrollbar-width:thin;white-space:nowrap}.song-library-chart:focus-visible{outline-offset:1px}.song-library-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:7px;color:#c4cfdb;font-size:.65rem}.song-library-pager button{display:grid;width:32px;min-width:32px;height:30px;padding:0;place-items:center;border:1px solid rgba(227,192,98,.28);border-radius:8px;background:rgba(227,192,98,.1);color:var(--gold-pale);font-size:1rem;font-weight:900}.song-library-state{display:grid;min-height:118px;margin:8px 0 0;place-items:center;border:1px dashed rgba(168,192,220,.22);border-radius:10px;color:var(--muted);font-size:.76rem;text-align:center}.song-library-match-results>.song-library-state{min-height:200px}.song-library-state-error{border-color:rgba(255,142,119,.4);color:#ffc0b3}.song-library-count{padding:6px 9px;border:1px solid rgba(227,192,98,.28);border-radius:999px;background:rgba(227,192,98,.1);color:var(--gold-pale);font-size:.67rem;font-weight:900;white-space:nowrap}.song-library-search-row{margin-bottom:8px}.song-library-search-row label{display:grid;flex:1 1 520px;gap:4px;color:#dfe7ef;font-size:.69rem;font-weight:850}.song-library-search-row input{width:100%;min-height:40px;padding:8px 11px;border:1px solid rgba(168,192,220,.28);border-radius:10px;outline:none;background:rgba(8,13,20,.5);color:#fff9ed}.song-library-search-row p{max-width:380px;text-align:right}.song-library-catalog-controls{display:flex;flex:0 1 610px;gap:10px;align-items:end;justify-content:flex-end}.song-library-catalog-controls .song-library-sort-control,.song-library-catalog-controls>p{flex:1 1 280px}.song-library-catalog-list{margin-top:7px}.song-library-attribution{margin:12px 0 0;color:var(--muted);font-size:.62rem}.song-library-attribution a{color:var(--gold-pale);text-underline-offset:2px}.song-structure-dialog{width:min(900px,calc(100vw - 24px));max-width:none;max-height:min(88vh,860px);margin:auto;padding:0;overflow:hidden;border:1px solid rgba(227,192,98,.42);border-radius:20px;outline:none;background:#111922;color:#f5f0e5;box-shadow:0 28px 90px rgba(3,8,13,.62)}.song-structure-dialog::backdrop{background:rgba(5,9,14,.7);backdrop-filter:blur(5px)}.song-structure-dialog-card{display:grid;max-height:min(88vh,860px);overflow:auto;scrollbar-color:rgba(227,192,98,.5) rgba(255,255,255,.04)}.song-structure-dialog-header{position:sticky;top:0;z-index:2;display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:18px 20px 15px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(17,25,34,.97);backdrop-filter:blur(12px)}.song-structure-dialog-footer,.song-structure-dialog-header h2,.song-structure-dialog-header p,.song-structure-dialog-header span,.song-structure-dialog-note,.song-structure-section h3{margin:0}.song-structure-dialog-header p{color:var(--gold-bright,#e3c062);font-size:.62rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.song-structure-dialog-header h2{margin-top:3px;color:#fff9ed;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:500;letter-spacing:-.025em;line-height:1.02}.song-structure-dialog-header>div>span{display:block;margin-top:5px;color:#c6d0dc;font-size:.72rem;font-weight:750}.song-structure-dialog-close{display:grid;flex:0 0 auto;width:40px;height:40px;padding:0;place-items:center;border:1px solid rgba(227,192,98,.35);border-radius:11px;background:rgba(227,192,98,.1);color:var(--gold-pale,#f2df9d);font-size:1.5rem;line-height:1}.song-structure-dialog-note{padding:12px 20px 0;color:#aebbc8;font-size:.7rem;line-height:1.45}.song-structure-sections{display:grid;gap:7px;padding:13px 20px 20px}.song-structure-section{display:grid;grid-template-columns:minmax(120px,.22fr) minmax(0,1fr);gap:12px;align-items:start;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.045)}.song-structure-section-heading{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center}.song-structure-section-heading>span{display:grid;min-width:32px;height:32px;padding:0 5px;place-items:center;border-radius:8px;background:var(--gold-deep,#b1913a);color:#101821;font-size:.6rem;font-weight:950}.song-structure-section h3{color:#fff9ed;font-size:.76rem;line-height:1.15}.song-structure-bars{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}.song-structure-bars li{display:inline-flex;min-height:32px;align-items:stretch;overflow:hidden;border:1px solid rgba(168,192,220,.18);border-radius:8px;background:rgba(6,11,17,.42)}.song-structure-bar-number{display:grid;min-width:25px;place-items:center;background:rgba(168,192,220,.09);color:#93a2b1;font-size:.54rem;font-weight:900}.song-structure-bar-chords{display:flex;align-items:center;padding:5px 8px;color:#f5f0e5;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.7rem;font-weight:800;white-space:nowrap}.song-structure-dialog-footer{display:flex;gap:10px 20px;align-items:center;justify-content:space-between;padding:12px 20px 15px;border-top:1px solid rgba(255,255,255,.09);color:#9ba9b7;font-size:.62rem;line-height:1.35}.song-structure-dialog-footer a{flex:0 0 auto;color:var(--gold-pale,#f2df9d);font-weight:900;text-underline-offset:3px}@media (max-width:760px){.section-nav{gap:4px;padding:4px}.section-nav a{padding:7px 10px;font-size:.7rem}.section-nav-brand{min-height:34px;padding:3px 8px 3px 4px!important}.section-nav-brand img{width:26px;height:26px}.sticky-practice-tools{gap:4px;margin-bottom:7px}.metronome-toolbar .metronome-sticky{padding:6px 7px}.metronome-title-copy,.metronome-title-row,.section-heading-actions{gap:5px}.metronome-title-copy h2{font-size:.94rem}.metronome-title-copy .transport-light{width:8px;height:8px}.metronome-title-row .master-module-button{min-height:30px;padding:5px 7px;font-size:.64rem}.metronome-title-row .section-collapse-toggle{width:31px;min-width:31px;min-height:30px}.metronome-body{margin-top:4px}.metronome-control-strip{grid-template-columns:minmax(0,1fr) minmax(102px,.72fr) 34px;gap:4px}.metronome-toolbar .metronome-tempo{grid-template-columns:minmax(0,1fr) 38px;gap:3px}.metronome-subdivision-picker legend,.metronome-toolbar label>span{margin-bottom:1px;font-size:.5rem}.metronome-start.icon-only-transport,.metronome-subdivision-picker button,.metronome-toolbar .metronome-tempo input,.metronome-toolbar .tap-button,.number-stepper button,.number-stepper input{height:30px;min-height:30px}.metronome-toolbar .metronome-tempo input,.number-stepper input{padding-block:2px;font-size:.9rem}.metronome-toolbar .tap-button{padding-inline:3px;font-size:.63rem}.number-stepper{grid-template-columns:24px minmax(34px,1fr) 24px;gap:2px}.number-stepper button{font-size:1rem}.metronome-subdivision-picker>div{gap:3px}.metronome-subdivision-picker button{min-width:0;padding:1px;border-radius:6px}.metronome-subdivision-picker button>span{font-size:1rem}.metronome-start.icon-only-transport{width:34px;min-width:34px}.metronome-beat-scroller{margin-top:3px}.metronome-toolbar .metronome-beat-pattern{gap:2px}.metronome-toolbar .metronome-beat-group{padding:2px;border-radius:6px}.metronome-toolbar .metronome-beat-number{margin-bottom:0;font-size:.56rem;line-height:1}.metronome-toolbar .metronome-beat-steps,.metronome-toolbar .metronome-sound-stack,.metronome-toolbar .metronome-step-column{gap:1px}.metronome-toolbar .metronome-step-column.downbeat .metronome-step-light,.metronome-toolbar .metronome-step-light{width:6px;height:6px}.metronome-toolbar .metronome-count-label{min-height:8px;font-size:.42rem;line-height:1}.metronome-toolbar .metronome-sound-block{height:6px;min-height:6px;border-radius:2px}.practice-sync-controls{grid-template-columns:minmax(0,1fr) 34px;gap:4px;padding:5px 6px}.practice-sync-summary{display:flex;gap:6px;align-items:baseline;justify-content:space-between}.practice-sync-bpm strong,.practice-sync-summary strong{font-size:.82rem}.practice-sync-bpm{display:flex;gap:3px;min-width:0;align-items:baseline}.practice-sync-modules{gap:3px}.practice-sync-module{min-height:31px;padding:3px}.practice-sync-toggle-track{width:23px;height:13px}.practice-sync-toggle-track i{top:2px;left:2px;width:9px;height:9px}.practice-sync-toggle input:checked+.practice-sync-toggle-track i{transform:translateX(10px)}.practice-master-choice,.practice-sync-module-name{font-size:.5rem}.practice-sync-transport.icon-only-transport{width:34px;min-width:34px;min-height:32px}.collapsible-section.is-collapsed,.drum-trainer:has(.drum-trainer-body[hidden]){padding:10px 12px}.collapsible-section.is-collapsed>.control-heading,.collapsible-section.is-collapsed>.harmony-section-heading{flex-direction:row;gap:8px;width:100%;align-items:center;justify-content:space-between}.collapsible-section.is-collapsed>.control-heading>div:first-child,.collapsible-section.is-collapsed>.harmony-section-heading>div:first-child{min-width:0}.collapsible-section.is-collapsed .section-heading-actions{flex:0 0 auto;margin-left:auto}.collapsible-section.is-collapsed h2,.drum-trainer:has(.drum-trainer-body[hidden]) h2{font-size:1.08rem;text-align:left}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading{display:flex;flex-direction:row;gap:8px;justify-content:space-between}.song-library-search-row,.song-library-subheading{align-items:stretch}.song-library-subheading{flex-direction:column}.song-library-match-options{flex-wrap:wrap;width:100%}.song-library-match-options label{flex:1 1 0;justify-content:center}.song-library-match-options>.song-library-sort-control{width:100%;min-width:0}.song-library-row{grid-template-columns:minmax(112px,.38fr) minmax(0,1fr);gap:5px;padding:5px}.song-library-row-meta strong{font-size:.7rem}.song-library-chart{padding:5px;font-size:.61rem}.song-library-search-row{flex-direction:column}.song-library-catalog-controls{flex:0 1 auto;flex-direction:column;align-items:stretch}.song-library-catalog-controls .song-library-sort-control,.song-library-catalog-controls>p,.song-library-search-row label{flex-basis:auto}.song-library-search-row p{max-width:none;text-align:left}.song-structure-dialog-header{padding:14px}.song-structure-dialog-note{padding:10px 14px 0}.song-structure-sections{padding:10px 14px 14px}.song-structure-section{grid-template-columns:minmax(0,1fr);gap:8px}.song-structure-dialog-footer{align-items:flex-start;flex-direction:column;padding:11px 14px 14px}}@media (max-width:420px){.metronome-sync-chip,.section-nav-brand span{display:none}.section-nav-brand{padding-right:4px!important}.metronome-title-row .master-module-button{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-sync-module{grid-template-columns:minmax(0,1fr);gap:1px}.practice-master-choice{justify-self:center}}.harmony-app{width:100%;max-width:none;padding-inline:clamp(8px,1.45vw,28px)}.sound-selector-module{display:flex;gap:10px;align-items:center;min-height:58px;margin-bottom:10px;padding:8px 10px;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(27,37,63,.13);border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(27,37,63,.07);scrollbar-width:thin}.sound-selector-module h2{flex:0 0 auto;margin:0;color:var(--dark-text);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.35vw,1.42rem);font-weight:500;white-space:nowrap}.sound-selector-module .instrument-fieldset{flex:1 1 720px;min-width:410px;margin:0;padding:0;border:0}.sound-selector-module .instrument-selector-grid{display:grid;grid-template-columns:repeat(6,minmax(58px,1fr));gap:4px}.sound-selector-module .instrument-selector-grid button{display:flex;gap:5px;align-items:center;justify-content:center;min-width:0;min-height:36px;padding:4px 6px;border-radius:8px}.sound-selector-module .instrument-selector-grid button>span{flex:0 0 auto;font-size:.63rem}.sound-selector-module .instrument-selector-grid button strong{overflow:hidden;font-size:clamp(.58rem,.72vw,.72rem);text-overflow:ellipsis;white-space:nowrap}.sound-selector-module .sound-map-sync-control{flex:0 0 auto;margin:0;color:var(--dark-text);font-size:.7rem;white-space:nowrap}.sound-selector-module .audio-status.compact{display:grid;flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;place-items:center;border-radius:50%}.sound-selector-module .audio-status.compact>span{margin:0}.harmony-library-root{margin:7px 0 8px;padding:4px 6px 6px}.harmony-library-root legend{margin:0;padding:0 5px;color:var(--ink-3);font-size:.66rem;font-weight:900;text-transform:uppercase}.harmony-library-root .root-grid button{min-height:30px;font-size:clamp(.7rem,.82vw,.86rem)}.drum-collapse-button,.section-collapse-toggle{min-width:36px;width:36px;min-height:36px;border-color:#9b7418;background:linear-gradient(135deg,#f2d26f,#ffd977);color:#241c0d;box-shadow:0 2px 0 rgba(92,66,8,.25)}.drum-collapse-button>span[aria-hidden=true],.section-collapse-toggle>span{display:block;width:9px;height:9px;overflow:hidden;border-right:3px solid;border-bottom:3px solid;font-size:0;transform:rotate(45deg) translate(-1px,-1px)}.drum-collapse-button[aria-expanded=true]>span[aria-hidden=true],.section-collapse-toggle[aria-expanded=true]>span{transform:rotate(225deg) translate(-1px,-1px)}.drum-transport>button,.generator-heading .section-heading-actions>button,.section-heading-actions>:is(button,.master-module-button){min-height:38px}.practice-sync-controls{grid-template-columns:auto minmax(0,1fr) 38px;grid-template-areas:"summary modules transport";gap:5px;min-width:0;padding:6px 7px}.practice-sync-summary{display:flex;grid-area:summary;grid-template-columns:none;gap:5px;align-items:center}.practice-sync-summary>div{display:block}.practice-sync-summary strong{font-size:.78rem}.practice-sync-bpm{display:flex;gap:2px;align-items:baseline;min-width:0}.practice-sync-bpm strong{font-size:.82rem}.practice-sync-bpm span{font-size:.46rem}.practice-sync-modules{grid-area:modules;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;min-width:0}.practice-sync-module{display:flex;grid-template-columns:none;gap:4px;align-items:center;justify-content:center;min-width:0;padding:3px 4px}.practice-sync-toggle{min-width:0}.practice-master-choice,.practice-sync-module-name{font-size:clamp(.52rem,.62vw,.66rem);white-space:nowrap}.practice-master-choice{justify-self:auto}.practice-sync-transport{grid-area:transport;width:38px;min-width:38px;min-height:36px;padding:0}.generator-performance-controls{align-items:stretch}.generator-performance-controls fieldset{display:flex;flex:1 1 250px;flex-direction:column;min-width:min(100%,230px);padding:7px 8px 8px}.generator-performance-controls legend{float:left;width:100%;margin:0 0 5px;padding:0;line-height:1.15;white-space:normal}.generator-performance-controls legend+*{clear:both}.music-half-note{position:relative;width:18px;height:24px}.music-half-note:before{position:absolute;right:2px;bottom:1px;width:10px;height:7px;border:2px solid;border-radius:50%;content:"";transform:rotate(-18deg)}.music-half-note:after{position:absolute;right:1px;bottom:7px;width:2px;height:17px;border-radius:2px;background:currentColor;content:""}.related-card-actions{align-self:center}.related-card-actions button{position:relative;display:grid;aspect-ratio:1;place-items:center;line-height:0}.related-card-actions .playback-icon{display:flex;width:16px;height:16px}.related-card-actions .related-eye-icon{display:block;width:16px;height:16px}.related-show-map:after{position:absolute;right:0;bottom:calc(100% + 7px);z-index:5;width:max-content;max-width:180px;padding:5px 7px;border-radius:6px;background:#111923;color:#fff;content:attr(data-tooltip);font-size:.62rem;font-weight:800;line-height:1.2;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.related-show-map:is(:hover,:focus-visible):after{opacity:1;transform:translateY(0)}.related-eye-icon svg{display:block;width:100%;height:100%}.voice-row{grid-template-columns:minmax(190px,.34fr) minmax(0,1.66fr);min-width:0}.voice-pitch-lane{grid-template-columns:repeat(25,minmax(0,1fr));width:100%;min-width:0}.voice-row-label{grid-template-columns:24px minmax(0,1fr) 24px}.voice-row-index{grid-row:1/span 2!important;grid-column:1}.voice-row-chord-name,.voice-row-details{grid-column:2}.voice-row-play-icon{display:grid!important;grid-row:1/span 2!important;grid-column:3;width:22px!important;height:22px!important;place-items:center;border-radius:50%!important;background:rgba(227,192,98,.16)!important}.voice-pitch-cell{min-height:clamp(42px,4vw,58px)}.voice-pitch-cell.chord-tone{grid-template-rows:1fr 1fr}.voice-interval-degree,.voice-pitch-note{display:grid;width:100%;height:100%;margin:0;place-items:center;align-self:stretch;line-height:1}.voice-pitch-note{font-size:clamp(.68rem,1vw,1.05rem)}.voice-interval-degree{font-size:clamp(.62rem,.9vw,.94rem)}.voice-pitch-cell.chord-tone.active.selected{outline:3px solid #20d6ee;outline-offset:-2px;box-shadow:inset 0 0 0 1px rgba(5,36,45,.62),0 0 0 2px rgba(32,214,238,.38),0 0 14px rgba(32,214,238,.5)}.voice-leading.is-optimal-route .voice-pitch-cell.chord-tone.active.selected{outline-color:#20d6ee}.voice-row.is-current-chord{border:3px solid #eb6c8c;box-shadow:0 0 0 3px rgba(235,108,140,.23),0 8px 22px rgba(44,34,12,.14)}.drum-trainer-body{overflow:visible}.drum-controls{grid-template-columns:minmax(130px,.85fr) minmax(95px,.42fr) minmax(160px,.72fr) auto;gap:6px;margin-bottom:7px}.drum-field{gap:2px}.drum-field input,.drum-field select,.drum-input-with-unit input{min-height:30px;height:30px;padding-block:2px;font-size:.7rem}.drum-control-actions>button{min-height:30px;padding:4px 7px;font-size:.66rem}.drum-legend{margin-bottom:5px}.drum-sequencer-scroll{width:100%;overflow:visible;padding-bottom:2px}.drum-sequencer{width:100%;min-width:0}.drum-row,.drum-ruler{grid-template-columns:clamp(190px,19vw,290px) minmax(0,1fr);gap:5px;width:100%}.drum-step-grid{grid-template-columns:repeat(16,minmax(0,1fr));gap:3px;min-width:0}.drum-row{margin-top:3px}.drum-row-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 5px;align-items:center}.drum-row-head>label{grid-column:1;font-size:.62rem;white-space:nowrap}.drum-row-head>select{grid-column:2;min-width:0;min-height:27px;height:27px;padding:1px 5px;font-size:.6rem}.drum-row-mix{display:grid;grid-column:1/-1;grid-template-columns:22px 22px minmax(0,1fr);gap:4px;width:100%}.drum-row-mute,.drum-row-solo{width:22px;min-width:22px;height:22px;min-height:22px;padding:0;border-radius:5px;font-size:.52rem}.drum-row-volume{display:flex;min-width:0;align-items:center}.drum-row-volume input{height:18px;margin:0}.drum-step{min-width:0;min-height:clamp(31px,3.2vw,42px);border-radius:5px}.custom-builder:not(.is-collapsed){padding-bottom:10px}.custom-builder .harmony-section-heading{margin-bottom:5px}.custom-builder .builder-root-fieldset{margin:3px 0 5px;padding:3px 5px 5px}.custom-builder .root-grid button{min-height:28px}.custom-interval-grid{display:flex;gap:3px;width:100%;margin:4px 0;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.custom-interval-grid button{display:grid;flex:1 0 38px;min-width:38px;min-height:34px;height:34px;padding:2px;place-items:center;border-radius:7px}.custom-interval-grid button strong{font-size:.68rem}.custom-interval-grid button :is(span,small){display:none}.builder-actions{display:flex;gap:5px;align-items:center;margin:5px 0;flex-wrap:nowrap}.builder-actions :is(button,.type-playback){min-height:32px}.builder-actions>button{min-width:0;padding:4px 8px;font-size:.67rem}.custom-sequence{margin-top:5px;padding-top:5px}.custom-sequence-heading{margin-bottom:4px}.custom-sequence-grid{display:flex;gap:4px;overflow-x:auto;padding-bottom:3px;flex-wrap:nowrap}.custom-sequence-grid article{flex:0 0 128px;min-height:38px;padding:3px}.ear-mode-control{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ear-playback-segmented{flex:0 0 auto}.ear-game-progress{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;gap:6px;align-items:center;flex:1 1 320px;min-height:34px;padding:4px 7px;border:1px solid rgba(27,37,63,.13);border-radius:8px;background:rgba(255,255,255,.72);color:var(--ink-2);font-size:.65rem;font-weight:800}.ear-game-progress progress{width:100%;height:9px;accent-color:var(--gold-deep)}.ear-score{gap:5px;align-items:center}.ear-score em{color:var(--ink-2);font-size:.6rem;font-style:normal;font-weight:800;white-space:nowrap}.song-library-panel,.song-library-panel .song-library-pager,.song-library-panel .song-library-state,.song-library-panel :is(.harmony-section-heading p,.song-library-subheading p,.song-library-search-row p,.song-library-attribution){color:#dce5ef}.song-library-panel .song-library-chart,.song-library-panel .song-library-row-meta strong,.song-library-panel .song-library-search-row label{color:#fff9ed}.sticky-visualizer-dock{max-height:min(38vh,370px)}.sticky-visualizer-dock.is-collapsed{max-height:50px}.sticky-visualizer-header{min-height:44px;padding:5px 8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.sticky-visualizer-header .map-sync-control{flex:0 0 auto;color:var(--dark-text);font-size:.66rem;white-space:nowrap}.sticky-visualizer-header .map-instrument-switch{grid-template-columns:repeat(5,30px);flex:0 0 auto}.sticky-visualizer-header .map-instrument-switch button{min-width:30px;min-height:30px}.custom-tuning-strings,.guitar-tuning-control{display:flex;gap:3px;align-items:center;flex:0 0 auto}.guitar-tuning-control select{min-height:30px;padding:3px 22px 3px 6px;border:1px solid rgba(27,37,63,.18);border-radius:7px;background:#fff;color:var(--dark-text);font-size:.62rem;font-weight:800}.custom-tuning-strings select{width:51px;padding-inline:3px}.sticky-visualizer-body{max-height:calc(min(38vh, 370px) - 45px);padding:5px 7px 7px}.sticky-visualizer-body .instrument-visualizer{gap:5px}.sticky-visualizer-body .fret-header{min-height:22px}.sticky-visualizer-body .fret-string-row{min-height:34px;height:34px}.sticky-visualizer-body :is(.fret-note-marker,.fret-open-string-marker){width:clamp(21px,2.35vw,34px);height:clamp(21px,2.35vw,34px)}.sticky-visualizer-body .instrument-marker-note{font-size:clamp(.56rem,.82vw,.85rem)}.sticky-visualizer-body .instrument-marker-interval{font-size:clamp(.48rem,.65vw,.68rem)}.sticky-visualizer-body .piano-keyboard{height:150px;min-height:150px}.sticky-visualizer-body .instrument-interval-legend{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.sticky-visualizer-body .instrument-legend-item{flex:0 0 auto;min-height:27px;padding:2px 5px}.sticky-visualizer-body .instrument-legend-swatch{width:23px;height:23px}@media (max-width:900px){.sound-selector-module{gap:5px;padding-inline:6px}.sound-selector-module h2{font-size:.88rem}.sound-selector-module .instrument-fieldset{flex-basis:214px;min-width:214px}.sound-selector-module .instrument-selector-grid{grid-template-columns:repeat(6,33px)}.sound-selector-module .instrument-selector-grid button{min-height:33px;padding:2px}.sound-selector-module .instrument-selector-grid button strong{display:none}.sound-selector-module .sound-map-sync-control{font-size:.6rem}.voice-row{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0}.voice-row-label{grid-template-columns:22px minmax(0,1fr) 24px;min-height:30px;padding:3px 5px}.voice-row-details{display:none}.voice-pitch-lane{grid-template-columns:repeat(25,minmax(0,1fr));min-width:0}.voice-pitch-cell{min-height:46px}.voice-interval-degree,.voice-pitch-note{font-size:clamp(.42rem,2.2vw,.68rem);letter-spacing:-.03em}.drum-row,.drum-ruler{grid-template-columns:110px minmax(0,1fr);gap:3px}.drum-step-grid{gap:2px}.drum-step{min-height:34px;border-radius:3px}}@media (max-width:760px){.sticky-practice-tools{overflow:visible}.practice-sync-controls{grid-template-columns:57px minmax(0,1fr) 34px;gap:2px;padding:4px}.practice-sync-summary{display:grid;gap:0}.practice-sync-bpm strong,.practice-sync-summary strong{font-size:.62rem}.practice-sync-bpm span{display:none}.practice-sync-module{gap:2px;padding:2px}.practice-sync-toggle-track{transform:scale(.78)}.practice-sync-module-long{display:none}.practice-sync-module-short{display:inline}.practice-master-choice,.practice-sync-module-name{font-size:.5rem}.practice-master-choice{gap:2px}.practice-master-choice>span{width:10px;height:10px}.practice-sync-transport{width:34px;min-width:34px;min-height:32px}.ear-game-progress{grid-template-columns:auto minmax(80px,1fr)}.custom-builder .chord-name-follower span,.custom-sequence-heading>div:first-child span,.ear-game-progress>span:last-child{display:none}.builder-actions{overflow-x:auto}.builder-actions>button{flex:0 0 auto}.drum-heading-copy p,.drum-legend small,.drum-status{display:none}.drum-controls{grid-template-columns:minmax(95px,1fr) 82px minmax(115px,1fr);gap:3px;margin-bottom:4px}.drum-control-actions{grid-column:1/-1}.drum-control-actions>button{min-height:27px;padding:2px 4px;font-size:.56rem}.drum-legend{font-size:.52rem}.drum-row,.drum-ruler{grid-template-columns:96px minmax(0,1fr);gap:2px}.drum-row-head{gap:1px 2px}.drum-row-head>label{font-size:.5rem}.drum-row-head>select{height:23px;min-height:23px;padding:0 2px;font-size:.5rem}.drum-row-mix{grid-template-columns:18px 18px minmax(0,1fr);gap:2px}.drum-row-mute,.drum-row-solo{width:18px;min-width:18px;height:18px;min-height:18px}.drum-step-grid{gap:1px}.drum-step{min-height:31px;border-width:1px!important}.drum-step-mark{font-size:.55rem}.sticky-visualizer-dock{max-height:min(40svh,310px)}.sticky-visualizer-header{min-height:42px;flex-wrap:nowrap}.sticky-visualizer-home{order:0;min-height:30px;padding:4px 6px;font-size:.59rem}.sticky-visualizer-header .map-back-button,.sticky-visualizer-header .map-instrument-switch,.sticky-visualizer-header .map-sync-control,.sticky-visualizer-header h2,.sticky-visualizer-toggle{order:0}.sticky-visualizer-header h2{flex:0 1 130px;font-size:.7rem}.sticky-visualizer-body{max-height:calc(min(40svh, 310px) - 43px);padding:3px 4px 5px}.sticky-visualizer-body .fret-header{min-height:18px}.sticky-visualizer-body .fret-string-row{min-height:29px;height:29px}.sticky-visualizer-body :is(.fret-note-marker,.fret-open-string-marker){width:clamp(18px,5.4vw,24px);height:clamp(18px,5.4vw,24px)}.sticky-visualizer-body .instrument-marker-note{font-size:clamp(.47rem,2.35vw,.62rem)}.sticky-visualizer-body .instrument-marker-interval{font-size:clamp(.4rem,2vw,.53rem)}.sticky-visualizer-body .piano-keyboard{height:116px;min-height:116px}.sticky-visualizer-body .instrument-legend-label{display:none}.guitar-tuning-control select{min-height:28px;font-size:.55rem}}@media (max-width:430px){.harmony-app{padding-inline:5px}.sound-selector-module{min-height:48px;margin-bottom:6px;padding-block:4px}.sound-selector-module h2{font-size:.72rem}.sound-selector-module .sound-map-sync-control{font-size:.52rem}.sound-selector-module .sound-map-sync-control input{width:13px;height:13px}.metronome-toolbar .metronome-sticky{padding:6px}.metronome-body{margin-top:4px}.metronome-control-strip{gap:3px}.metronome-subdivision-picker button{min-height:31px}.metronome-toolbar .metronome-beat-group{padding:1px}.metronome-toolbar .metronome-beat-pattern{gap:2px}.voice-leading{padding-inline:4px}.voice-row{gap:2px}.voice-pitch-cell{min-height:42px}.voice-interval-degree,.voice-pitch-note{font-size:clamp(.36rem,2vw,.53rem)}.ear-score em{display:none}.ear-level-picker button,.ear-mode-control>.segmented-control button{min-height:30px;padding:3px 5px;font-size:.62rem}.sticky-visualizer-header .map-sync-control span,.sticky-visualizer-header h2{display:none}.sticky-visualizer-header .map-instrument-switch{grid-template-columns:repeat(5,27px)}.sticky-visualizer-header .map-instrument-switch button{min-width:27px;min-height:27px;padding:2px}.custom-tuning-strings select{width:45px}}.harmony-tools-page{--tools-ink:#121921;--tools-ink-soft:#263241;--tools-paper:#fff9ed;--tools-paper-strong:#ffffff;--tools-gold:#e3c062;--tools-gold-deep:#8a6f25;--tools-mint:#67d2ad;min-height:100svh;overflow-x:clip;background:radial-gradient(circle at 88% 2%,rgba(227,192,98,.2),transparent 30rem),linear-gradient(180deg,#121921 0 24rem,#f7eddb 24rem 100%);color:var(--tools-ink)}.harmony-tools-page,.harmony-tools-page *{box-sizing:border-box}.harmony-tools-page :where(h1,h2,h3,p,ol,ul){margin-top:0}.harmony-tools-page a{color:inherit;text-decoration:none}.harmony-tools-shell{width:min(100% - 32px,1180px);margin:0 auto;padding:18px 0 40px}.harmony-tools-brandbar{display:flex;min-height:58px;gap:18px;align-items:center;justify-content:space-between;color:#fff9ed}.harmony-tools-brandbar>a:first-child{display:flex;gap:10px;align-items:center}.harmony-tools-brandbar img{width:44px;height:44px;object-fit:contain}.harmony-tools-brandbar>a:first-child span{display:grid;line-height:1}.harmony-tools-brandbar>a:first-child strong{color:var(--tools-gold);font-family:Georgia,Times New Roman,serif;font-size:1.15rem;letter-spacing:.08em}.harmony-tools-brandbar>a:first-child small{margin-top:5px;font-size:.48rem;font-weight:850;letter-spacing:.18em}.harmony-tools-brandbar>a:last-child{display:inline-flex;min-height:42px;padding:10px 15px;align-items:center;border:1px solid rgba(227,192,98,.42);border-radius:999px;color:#f7e9b9;font-size:.78rem;font-weight:800}.harmony-tools-brandbar>a:last-child:hover{border-color:var(--tools-gold);background:rgba(227,192,98,.12)}.harmony-tools-breadcrumb{display:flex;min-width:0;gap:8px;align-items:center;padding:18px 0 24px;color:#c7d0da;font-size:.72rem}.harmony-tools-breadcrumb a{color:#f1dda1}.harmony-tools-breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.harmony-tool-hero,.harmony-tools-hub-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.65fr);gap:clamp(28px,6vw,76px);align-items:center;min-height:350px;padding:clamp(32px,5vw,64px);overflow:hidden;border:1px solid rgba(227,192,98,.32);border-radius:30px;background:linear-gradient(125deg,rgba(39,51,66,.98),rgba(16,23,32,.98));box-shadow:0 28px 80px rgba(4,9,15,.3);color:#fff9ed}.harmony-tool-hero:before,.harmony-tools-hub-hero:before{position:absolute;top:-9rem;right:-8rem;width:26rem;height:26rem;border:1px solid rgba(227,192,98,.2);border-radius:50%;background:radial-gradient(circle,rgba(227,192,98,.12),transparent 68%);content:"";pointer-events:none}.harmony-tool-hero>*,.harmony-tools-hub-hero>*{position:relative;z-index:1;min-width:0}.harmony-tool-lesson-cta>div:first-child>p:first-child,.harmony-tools-eyebrow,.harmony-tools-hub-hero>div>p:first-child,.harmony-tools-method-cta>div:first-child>p:first-child,.harmony-tools-section-heading>p:first-child{margin-bottom:12px;color:var(--tools-gold);font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.harmony-tool-hero h1,.harmony-tools-hub-hero h1{max-width:18ch;margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,5.3vw,4.9rem);font-weight:500;letter-spacing:-.045em;line-height:.98;text-wrap:balance}.harmony-tools-hub-hero>div>p:last-child{max-width:65ch;margin-bottom:0;color:#c7d0da;font-size:clamp(.98rem,1.4vw,1.12rem);line-height:1.7}.harmony-tools-hub-hero aside{padding:24px;border:1px solid rgba(227,192,98,.26);border-radius:20px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}.harmony-tools-hub-hero aside strong{display:block;margin-bottom:14px;color:var(--tools-gold);font-family:Georgia,Times New Roman,serif;font-size:1.3rem}.harmony-tools-hub-hero aside ol{display:grid;gap:12px;margin-bottom:0;padding-left:1.25rem;color:#e8edf2;font-size:.86rem;line-height:1.5}.harmony-tool-related,.harmony-tool-section,.harmony-tools-index{margin-top:28px;padding:clamp(28px,4.8vw,58px);border:1px solid rgba(18,25,33,.09);border-radius:28px;background:rgba(255,249,237,.97);box-shadow:0 18px 48px rgba(18,25,33,.08)}.harmony-tools-section-heading{max-width:760px;margin-bottom:26px}.harmony-tool-lesson-cta h2,.harmony-tools-method-cta h2,.harmony-tools-section-heading h2{margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.85rem,3.6vw,3.15rem);font-weight:500;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}.harmony-tools-section-heading>p:last-child{margin-bottom:0;color:#526172;line-height:1.65}.harmony-tools-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.harmony-tools-index-grid>article{display:flex;min-width:0;min-height:310px;padding:25px;flex-direction:column;border:1px solid rgba(18,25,33,.1);border-radius:20px;background:#fffef9;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.harmony-tools-index-grid>article:hover{border-color:rgba(138,111,37,.42);box-shadow:0 16px 34px rgba(18,25,33,.08);transform:translateY(-2px)}.harmony-tool-feature-grid>article>span,.harmony-tools-index-grid>article>span{align-self:flex-start;margin-bottom:38px;padding:6px 9px;border-radius:999px;background:#f3e4b3;color:#604c17;font-size:.63rem;font-weight:900;letter-spacing:.1em}.harmony-tool-feature-grid h3,.harmony-tool-pitfall-grid h3,.harmony-tool-related h3,.harmony-tools-index-grid h3{margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500;line-height:1.18}.harmony-tool-feature-grid article>p,.harmony-tool-pitfall-grid article>p,.harmony-tool-related article>p,.harmony-tools-index-grid article>p{color:#556273;font-size:.86rem;line-height:1.62}.harmony-tools-index-grid article>div{display:flex;gap:8px 16px;align-items:center;margin-top:auto;flex-wrap:wrap}.harmony-tools-index-grid article>div a{min-height:42px;padding:11px 14px;border-radius:999px;background:var(--tools-ink);color:#fff9ed;font-size:.75rem;font-weight:850}.harmony-tools-index-grid article>div a:last-child{padding-inline:0;background:transparent;color:var(--tools-gold-deep)}.harmony-tool-lesson-cta,.harmony-tools-method-cta{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:32px;align-items:center;margin-top:28px;padding:clamp(28px,4vw,48px);border-radius:28px;background:linear-gradient(125deg,#d8b34e,#f1d98d);box-shadow:0 18px 48px rgba(18,25,33,.12)}.harmony-tool-lesson-cta p,.harmony-tools-method-cta p{max-width:70ch;margin-bottom:0;line-height:1.6}.harmony-tool-lesson-cta>div:last-child,.harmony-tools-method-cta>div:last-child{display:grid;gap:10px}.harmony-tool-lesson-cta>div:last-child a,.harmony-tools-method-cta>div:last-child a{display:inline-flex;min-height:46px;padding:12px 18px;align-items:center;justify-content:center;border:1px solid var(--tools-ink);border-radius:999px;font-size:.78rem;font-weight:900;text-align:center}.harmony-tool-lesson-cta>div:last-child a:last-child,.harmony-tools-method-cta>div:last-child a:first-child{background:var(--tools-ink);color:#fff9ed}.harmony-tool-author-note,.harmony-tools-footer{display:flex;gap:12px 22px;align-items:center;justify-content:center;padding:28px 8px 0;flex-wrap:wrap;color:#4b5968;font-size:.72rem}.harmony-tool-author-note a,.harmony-tools-footer a{color:#614d17;font-weight:800}.harmony-tool-direct-answer{max-width:71ch;margin-bottom:24px;color:#cdd6df;font-size:clamp(.96rem,1.35vw,1.08rem);line-height:1.7}.harmony-tool-direct-answer strong{color:#fff9ed}.harmony-tool-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.harmony-tool-hero-actions a{display:inline-flex;min-height:48px;padding:12px 18px;align-items:center;justify-content:center;border:1px solid rgba(227,192,98,.5);border-radius:999px;color:#f7e8b5;font-size:.8rem;font-weight:900}.harmony-tool-hero-actions a:first-child{gap:8px;border-color:var(--tools-gold);background:var(--tools-gold);color:var(--tools-ink)}.harmony-tool-window{overflow:hidden;border:1px solid rgba(227,192,98,.32);border-radius:20px;background:rgba(8,13,20,.64);box-shadow:0 24px 60px rgba(0,0,0,.28)}.harmony-tool-window>div{display:flex;gap:5px;align-items:center;min-height:40px;padding:10px 13px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}.harmony-tool-window>div span{width:7px;height:7px;border-radius:50%;background:#ff8e77}.harmony-tool-window>div span:nth-child(2){background:var(--tools-gold)}.harmony-tool-window>div span:nth-child(3){background:var(--tools-mint)}.harmony-tool-window>div strong{margin-left:auto;color:#aeb9c5;font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}.harmony-tool-window>p{margin:0;padding:22px 22px 12px;color:var(--tools-gold);font-family:Georgia,Times New Roman,serif;font-size:1.55rem}.harmony-tool-window ul{display:grid;gap:8px;margin:0;padding:0 22px 20px;list-style:none}.harmony-tool-window li{position:relative;padding:10px 11px 10px 32px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.04);color:#e4eaf0;font-size:.75rem;font-weight:750}.harmony-tool-window li:before{position:absolute;top:50%;left:12px;color:var(--tools-mint);content:"✓";transform:translateY(-50%)}.harmony-tool-window>small{display:block;padding:0 22px 20px;color:#95a3b2;font-size:.62rem}.harmony-tool-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.harmony-tool-feature-grid>article,.harmony-tool-pitfall-grid>article{min-width:0;padding:22px;border:1px solid rgba(18,25,33,.1);border-radius:18px;background:#fffef9}.harmony-tool-feature-grid>article>span{margin-bottom:24px}.harmony-tool-practice{background:linear-gradient(145deg,#202b38,#111820);color:#fff9ed}.harmony-tool-practice .harmony-tools-section-heading>p:last-child{color:#bdc7d2}.harmony-tool-practice ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.harmony-tool-practice li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:13px;min-width:0;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.04)}.harmony-tool-practice li>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:rgba(227,192,98,.13);color:var(--tools-gold);font-weight:900}.harmony-tool-practice h3{margin-bottom:6px;font-size:.92rem}.harmony-tool-practice li p{margin-bottom:0;color:#bac5d0;font-size:.8rem;line-height:1.6}.harmony-tool-inline-cta{display:inline-flex;min-height:46px;margin-top:20px;padding:12px 17px;align-items:center;border-radius:999px;background:var(--tools-gold);color:var(--tools-ink)!important;font-size:.78rem;font-weight:900}.harmony-tool-pitfall-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.harmony-tool-pitfall-grid>article{border-top:4px solid #ff8e77}.harmony-tool-faq>div:last-child{display:grid;gap:10px}.harmony-tool-faq details{border:1px solid rgba(18,25,33,.1);border-radius:14px;background:#fffef9}.harmony-tool-faq summary{padding:17px 48px 17px 18px;cursor:pointer;font-size:.88rem;font-weight:850}.harmony-tool-faq details p{max-width:78ch;margin:0;padding:0 18px 18px;color:#526172;font-size:.82rem;line-height:1.65}.harmony-tool-related>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.harmony-tool-related>div:last-child>a{display:flex;min-width:0;min-height:220px;padding:20px;flex-direction:column;border:1px solid rgba(18,25,33,.1);border-radius:17px;background:#fffef9}.harmony-tool-related>div:last-child>a p{color:#556273;font-size:.8rem;line-height:1.6}.harmony-tool-related>div:last-child>a span{margin-top:auto;color:var(--tools-gold-deep);font-size:.75rem;font-weight:900}.harmony-tool-author-note{justify-content:space-between}.harmony-tool-author-note>p{max-width:70ch;margin-bottom:0;line-height:1.6}.harmony-tool-author-note>div{display:flex;gap:10px 16px;flex-wrap:wrap}@media (max-width:860px){.harmony-tool-hero,.harmony-tool-lesson-cta,.harmony-tools-hub-hero,.harmony-tools-method-cta{grid-template-columns:1fr}.harmony-tool-window,.harmony-tools-hub-hero aside{max-width:560px}.harmony-tool-pitfall-grid,.harmony-tool-related>div:last-child{grid-template-columns:1fr}.harmony-tool-related>div:last-child>a{min-height:0}}@media (max-width:620px){.harmony-tools-page{background:radial-gradient(circle at 88% 2%,rgba(227,192,98,.18),transparent 20rem),linear-gradient(180deg,#121921 0 19rem,#f7eddb 19rem 100%)}.harmony-tools-shell{width:min(100% - 20px,1180px);padding-top:8px}.harmony-tools-brandbar{min-height:52px}.harmony-tools-brandbar img{width:38px;height:38px}.harmony-tools-brandbar>a:first-child span{display:none}.harmony-tools-brandbar>a:last-child{min-height:40px;padding:9px 12px;font-size:.7rem}.harmony-tools-breadcrumb{padding:13px 0 17px;font-size:.63rem}.harmony-tools-breadcrumb>a:nth-of-type(n+3),.harmony-tools-breadcrumb>span:nth-of-type(n+3){display:none}.harmony-tool-hero,.harmony-tools-hub-hero{min-height:0;gap:25px;padding:26px 20px;border-radius:22px}.harmony-tool-hero h1,.harmony-tools-hub-hero h1{font-size:clamp(2.15rem,11.2vw,3.3rem)}.harmony-tool-related,.harmony-tool-section,.harmony-tools-index{margin-top:16px;padding:24px 17px;border-radius:21px}.harmony-tool-feature-grid,.harmony-tool-practice ol,.harmony-tools-index-grid{grid-template-columns:1fr}.harmony-tools-index-grid>article{min-height:270px;padding:20px}.harmony-tools-index-grid>article>span{margin-bottom:24px}.harmony-tool-lesson-cta,.harmony-tools-method-cta{margin-top:16px;padding:25px 19px;border-radius:21px}.harmony-tool-hero-actions{align-items:stretch;flex-direction:column}.harmony-tool-hero-actions a,.harmony-tool-inline-cta,.harmony-tool-lesson-cta>div:last-child a,.harmony-tools-method-cta>div:last-child a{width:100%}.harmony-tool-practice li{grid-template-columns:32px minmax(0,1fr);padding:15px}.harmony-tool-practice li>span{width:30px;height:30px}.harmony-tool-author-note{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:reduce){.harmony-tools-index-grid>article{transition:none}}@media (min-width:1181px){.sticky-practice-tools{grid-template-columns:minmax(0,1.7fr) minmax(400px,.85fr)}}.sound-selector-module .instrument-selector-grid button strong{color:var(--dark-text)}.harmony-app{overflow-x:clip}html:has(.harmony-app){overflow-x:clip}@media (max-width:760px){.builder-actions .playback-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:3px;width:auto;height:32px}.builder-actions .playback-actions button{min-width:42px;min-height:32px;height:32px;padding:3px 5px;font-size:.58rem}.custom-sequence-heading{display:flex;flex-direction:row;gap:5px;align-items:center;justify-content:space-between;min-height:32px}.custom-sequence-heading>div{display:flex;gap:4px;align-items:center;width:auto}.custom-sequence-heading :is(button,.icon-only-transport){min-height:29px;height:29px;padding-block:2px}.custom-sequence-empty{min-height:0;margin:2px 0 0;padding:0;font-size:.62rem}}@media (max-width:430px){.drum-ruler{display:block}.drum-ruler-label{display:none}.drum-row{grid-template-columns:minmax(0,1fr);gap:2px}.drum-row-head{grid-template-columns:auto minmax(70px,88px) minmax(0,1fr);gap:2px}.drum-row-head>label{grid-column:1;grid-row:1}.drum-row-head>select{grid-column:2;grid-row:1}.drum-row-mix{grid-column:3;grid-row:1;grid-template-columns:16px 16px minmax(0,1fr)}.drum-row-mute,.drum-row-solo{width:16px;min-width:16px;height:16px;min-height:16px}.drum-step{min-height:27px}.practice-master-choice{font-size:0}.practice-sync-module-name{overflow:visible;font-size:.48rem;text-overflow:clip}.sticky-visualizer-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"home sync toggle" "tabs tuning tuning";gap:3px 5px;min-height:69px;overflow:visible}.sticky-visualizer-home{grid-area:home}.sticky-visualizer-header h2{display:none}.sticky-visualizer-header .map-sync-control{display:flex;grid-area:sync;justify-self:end}.sticky-visualizer-header .map-sync-control span{display:inline;font-size:.55rem}.sticky-visualizer-header .map-instrument-switch{display:grid;grid-area:tabs;justify-self:start}.sticky-visualizer-header .guitar-tuning-control{grid-area:tuning;justify-self:end}.sticky-visualizer-header .map-back-button{grid-area:tuning;justify-self:start}.sticky-visualizer-toggle{grid-area:toggle}.sticky-visualizer-dock.is-collapsed .sticky-visualizer-header{display:grid;grid-template-areas:"home . toggle";min-height:44px}.sticky-visualizer-body{max-height:calc(min(40svh, 310px) - 70px)}}.harmony-data-page,.harmony-discovery-content,.harmony-guide{--content-ink:#121921;--content-ink-2:#283341;--content-ink-3:#344253;--content-cream:#fff9ed;--content-cream-2:#f7eddb;--content-white:#ffffff;--content-gold:#b1913a;--content-gold-bright:#e3c062;--content-gold-pale:#f2df9d;--content-blue:#6d89ad;--content-muted:#66717d;--content-line:rgba(40,51,65,0.14);--content-shadow:0 20px 56px rgba(22,29,38,0.12);box-sizing:border-box;color:var(--content-ink-2);font-family:Montserrat,Avenir Next,Avenir,Segoe UI,Arial,sans-serif;line-height:1.65}.harmony-data-page *,.harmony-discovery-content *,.harmony-guide *{box-sizing:border-box;min-width:0}.harmony-data-page :where(h1,h2,h3,p,ol),.harmony-discovery-content :where(h1,h2,h3,p,ol,ul,dl),.harmony-guide :where(h1,h2,h3,p,ol,ul){overflow-wrap:anywhere}.harmony-data-page :where(a,summary),.harmony-discovery-content :where(a,summary),.harmony-guide :where(a,summary){transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.harmony-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.harmony-hero-actions :is(a,button),.harmony-hero-primary,.harmony-hero-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 15px;border:1px solid transparent;border-radius:999px;font-size:.76rem;font-weight:850;line-height:1.15;text-align:center;text-decoration:none}.harmony-hero-primary{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink);box-shadow:0 9px 24px rgba(227,192,98,.18)}.harmony-hero-secondary{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fffaf0}.harmony-hero-primary:hover{border-color:#f1d884;background:#f1d884;transform:translateY(-1px)}.harmony-hero-secondary:hover{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.12);transform:translateY(-1px)}.section-nav .section-nav-lead{border:1px solid rgba(227,192,98,.72);background:var(--gold-bright);color:var(--ink)}.section-nav .section-nav-lead:hover{border-color:#f1d884;background:#f1d884;color:var(--ink)}.generator-learning-cta{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:12px;padding:14px 16px;border:1px solid rgba(227,192,98,.25);border-radius:14px;background:linear-gradient(120deg,rgba(227,192,98,.1),rgba(109,137,173,.08)),rgba(8,14,22,.28)}.generator-learning-cta p{max-width:760px;margin:0;color:#bdc9d6;font-size:.72rem;line-height:1.5}.generator-learning-cta strong{color:#fffaf0}.generator-learning-cta>div{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:7px;justify-content:flex-end}.generator-learning-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.055);color:#edf2f7;font-size:.64rem;font-weight:850;line-height:1.15;text-align:center;text-decoration:none}.generator-learning-cta a:last-child{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink)}.generator-learning-cta a:hover{border-color:var(--gold-bright);transform:translateY(-1px)}.site-footer:has(>nav){grid-template-columns:minmax(170px,auto) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand samples songs" "links links links";align-items:start}.site-footer:has(>nav)>div{grid-area:brand}.site-footer:has(>nav)>p:first-of-type{grid-area:samples}.site-footer:has(>nav)>p:nth-of-type(2){grid-area:songs}.site-footer>nav{grid-area:links;display:flex;flex-wrap:wrap;gap:7px 17px;align-items:center;justify-content:center;padding-top:4px;border-top:1px solid rgba(255,255,255,.08)}.site-footer>nav a{display:inline-flex;align-items:center;min-height:30px}.harmony-discovery-content{width:min(1380px,calc(100% - clamp(28px, 6vw, 92px)));margin:0 auto;padding:clamp(18px,3vw,42px) 0 clamp(56px,8vw,104px)}.harmony-discovery-intro{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);column-gap:clamp(30px,5vw,76px);align-items:center;overflow:hidden;padding:clamp(28px,4vw,58px);border:1px solid rgba(227,192,98,.2);border-radius:26px;background:radial-gradient(circle at 88% 18%,rgba(109,137,173,.22),transparent 26rem),linear-gradient(145deg,#121921,#202c3a);color:#fffaf0;box-shadow:var(--content-shadow)}.harmony-discovery-intro:after{position:absolute;right:-88px;bottom:-150px;z-index:-1;width:330px;height:330px;border:1px solid rgba(227,192,98,.18);border-radius:50%;box-shadow:0 0 0 45px rgba(227,192,98,.025),0 0 0 90px rgba(227,192,98,.02);content:""}.harmony-discovery-eyebrow,.harmony-discovery-heading>p,.harmony-guide-kicker{margin:0 0 9px;color:var(--content-gold);font-size:.7rem;font-weight:900;letter-spacing:.14em;line-height:1.35;text-transform:uppercase}.harmony-discovery-intro>.harmony-discovery-eyebrow{grid-column:1/-1;color:var(--content-gold-bright)}.harmony-discovery-heading h2,.harmony-discovery-intro h2,.harmony-instrument-links h2,.harmony-lead-magnet h2{margin:0;color:var(--content-ink);font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:-.035em;line-height:1.04}.harmony-discovery-intro h2{color:#fffaf0;font-size:clamp(2rem,4vw,4rem)}.harmony-discovery-intro>p:not(.harmony-discovery-eyebrow){margin:0;color:#d7e0ea;font-size:clamp(.96rem,1.25vw,1.1rem)}.harmony-data-download>div,.harmony-discovery-actions,.harmony-guide-actions,.harmony-guide-conversion>div,.harmony-lead-actions{display:flex;flex-wrap:wrap;gap:10px}.harmony-discovery-actions{grid-column:2;margin-top:20px}.harmony-data-download a,.harmony-discovery-primary,.harmony-discovery-secondary,.harmony-guide-actions a,.harmony-guide-conversion a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 17px;border:1px solid transparent;border-radius:999px;font-size:.78rem;font-weight:850;line-height:1.2;text-align:center;text-decoration:none}.harmony-data-download a:first-child,.harmony-discovery-primary,.harmony-guide-actions a:first-child,.harmony-guide-conversion a:first-child{border-color:var(--content-gold-bright);background:var(--content-gold-bright);color:var(--content-ink);box-shadow:0 9px 24px rgba(177,145,58,.18)}.harmony-discovery-secondary{border-color:var(--content-line);background:var(--content-white);color:var(--content-ink-2)}.harmony-discovery-intro .harmony-discovery-secondary,.harmony-lead-magnet .harmony-discovery-secondary{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fffaf0}.harmony-data-download a:first-child:hover,.harmony-discovery-primary:hover,.harmony-guide-actions a:first-child:hover,.harmony-guide-conversion a:first-child:hover{border-color:#f0d57e;background:#f0d57e;transform:translateY(-2px)}.harmony-discovery-secondary:hover{border-color:var(--content-gold);transform:translateY(-2px)}.harmony-topic-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:14px 0 clamp(28px,5vw,62px);padding:7px;border:1px solid var(--content-line);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 12px 34px rgba(18,25,33,.07);backdrop-filter:blur(14px)}.harmony-topic-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px 10px;border-radius:12px;color:var(--content-ink-2);font-size:clamp(.67rem,.8vw,.76rem);font-weight:800;line-height:1.25;text-align:center;text-decoration:none}.harmony-topic-nav a:hover{background:var(--content-cream-2);color:var(--content-ink)}.harmony-discovery-section{display:grid;grid-template-columns:minmax(220px,.28fr) minmax(0,.72fr);gap:clamp(24px,4vw,58px);align-items:start;margin-top:clamp(22px,3vw,34px);padding:clamp(24px,3vw,42px);border:1px solid var(--content-line);border-radius:24px;background:rgba(255,255,255,.76);box-shadow:0 14px 38px rgba(18,25,33,.06)}.harmony-discovery-heading h2,.harmony-instrument-links h2,.harmony-lead-magnet h2{font-size:clamp(1.7rem,2.9vw,3rem)}.harmony-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.harmony-module-grid>a{position:relative;display:flex;flex-direction:column;min-height:190px;padding:21px;border:1px solid var(--content-line);border-radius:18px;background:var(--content-white);color:var(--content-ink-2);text-decoration:none}.harmony-module-grid>a:hover{border-color:rgba(177,145,58,.62);box-shadow:0 15px 34px rgba(18,25,33,.09);transform:translateY(-3px)}.harmony-module-grid h3{margin:0;color:var(--content-ink);font-family:Georgia,Times New Roman,serif;font-size:1.18rem;font-weight:600;line-height:1.15}.harmony-module-grid p{margin:10px 0 18px;color:var(--content-muted);font-size:.84rem;line-height:1.55}.harmony-module-grid span{margin-top:auto;color:var(--content-gold);font-size:.74rem;font-weight:850}.harmony-practice-method ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;counter-reset:none}.harmony-practice-method li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;padding:18px;border:1px solid var(--content-line);border-radius:17px;background:var(--content-cream)}.harmony-practice-method li>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--content-ink-2);color:var(--content-gold-bright);font-size:.78rem;font-weight:900}.harmony-practice-method h3{margin:1px 0 5px;color:var(--content-ink);font-size:.91rem}.harmony-practice-method li p{margin:0;color:var(--content-muted);font-size:.79rem;line-height:1.55}.harmony-instrument-links{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;background:radial-gradient(circle at 94% 22%,rgba(227,192,98,.12),transparent 22rem),var(--content-ink);color:#dce4ed}.harmony-instrument-links h2{color:#fffaf0}.harmony-instrument-links>div:first-child>p:last-child{max-width:720px;margin:15px 0 0;color:#c6d0dc}.harmony-instrument-links>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.harmony-instrument-links>div:last-child a{display:flex;align-items:center;min-height:43px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.055);color:#fffaf0;font-size:.76rem;font-weight:800;text-decoration:none}.harmony-instrument-links>div:last-child a:hover{border-color:var(--content-gold-bright);background:rgba(227,192,98,.11)}.harmony-glossary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.harmony-glossary dl>div{padding:17px;border-left:3px solid var(--content-gold);border-radius:0 13px 13px 0;background:var(--content-cream)}.harmony-glossary dt{color:var(--content-ink);font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:650}.harmony-glossary dd{margin:6px 0 0;color:var(--content-muted);font-size:.79rem;line-height:1.55}.harmony-text-link{grid-column:2;width:fit-content;margin-top:17px;color:var(--content-gold);font-size:.8rem;font-weight:850;text-decoration:none}.harmony-text-link:hover{color:var(--content-ink)}.harmony-faq>div:last-child{display:grid;gap:8px}.harmony-faq details{overflow:clip;border:1px solid var(--content-line);border-radius:14px;background:var(--content-white)}.harmony-faq summary{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:15px 17px;color:var(--content-ink);font-size:.83rem;font-weight:850;line-height:1.35;cursor:pointer;list-style:none}.harmony-faq summary::-webkit-details-marker{display:none}.harmony-faq summary:after{flex:0 0 auto;color:var(--content-gold);font-size:1.15rem;line-height:1;content:"+"}.harmony-faq details[open] summary:after{content:"−"}.harmony-faq summary:hover{background:var(--content-cream)}.harmony-faq details p{margin:0;padding:0 17px 16px;color:var(--content-muted);font-size:.82rem}.harmony-lead-magnet{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);gap:clamp(24px,4vw,60px);align-items:center;margin-top:clamp(28px,4vw,48px);padding:clamp(27px,4vw,54px);border:1px solid rgba(227,192,98,.3);border-radius:24px;background:radial-gradient(circle at 86% 10%,rgba(109,137,173,.24),transparent 25rem),linear-gradient(145deg,#121921,#283341);color:#dce4ed;box-shadow:var(--content-shadow)}.harmony-lead-magnet h2{color:#fffaf0}.harmony-lead-magnet p:not(.harmony-discovery-eyebrow){max-width:780px;margin:14px 0 0;color:#c9d3df}.harmony-lead-actions{justify-content:flex-end}.harmony-method-note{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:22px clamp(4px,2vw,20px) 0;color:var(--content-muted);font-size:.72rem}.harmony-method-note p{max-width:920px;margin:0}.harmony-method-note>div{display:flex;flex:0 1 560px;flex-wrap:wrap;gap:5px 16px;justify-content:flex-end}.harmony-method-note a{color:var(--content-gold);font-weight:850}.harmony-guide{width:min(1380px,calc(100% - clamp(28px, 6vw, 92px)));margin:0 auto;padding:clamp(20px,3vw,42px) 0 clamp(60px,8vw,110px)}.harmony-data-page>header,.harmony-guide-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(28px,5vw,68px);border:1px solid rgba(227,192,98,.22);border-radius:28px;background:radial-gradient(circle at 88% 12%,rgba(109,137,173,.25),transparent 30rem),linear-gradient(145deg,#121921,#243143);color:#fffaf0;box-shadow:var(--content-shadow)}.harmony-data-page>header:after,.harmony-guide-hero:after{position:absolute;right:-90px;bottom:-210px;z-index:-1;width:400px;height:400px;border:1px solid rgba(227,192,98,.16);border-radius:50%;box-shadow:0 0 0 52px rgba(227,192,98,.022),0 0 0 104px rgba(227,192,98,.018);content:""}.harmony-data-page>header>nav,.harmony-guide-hero>nav{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:clamp(26px,5vw,58px);color:#b9c5d2;font-size:.72rem;font-weight:750}.harmony-data-page>header>nav a:hover,.harmony-guide-hero>nav a:hover{color:var(--content-gold-bright)}.harmony-data-page>header>p:first-of-type,.harmony-guide-hero>p:first-of-type{margin:0 0 10px;color:var(--content-gold-bright);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.harmony-data-page>header h1,.harmony-guide-hero h1{max-width:1040px;margin:0;color:#fffaf0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,5.2vw,5.4rem);font-weight:500;letter-spacing:-.055em;line-height:.98}.harmony-guide-lead{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,42px);max-width:1100px;margin-top:clamp(24px,4vw,42px)}.harmony-data-page>header>p:last-of-type,.harmony-guide-lead p{margin:0;color:#cfdae5;font-size:clamp(.94rem,1.25vw,1.08rem)}.harmony-guide-actions{margin-top:28px}.harmony-guide-actions a:nth-child(2){border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.075);color:#fffaf0}.harmony-guide-actions a:nth-child(2):hover{border-color:var(--content-gold-bright);background:rgba(227,192,98,.1);transform:translateY(-2px)}.harmony-guide-layout{display:grid;grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:clamp(22px,3vw,44px);align-items:start;margin-top:clamp(24px,4vw,48px)}.harmony-guide-toc{position:sticky;top:24px;padding:19px;border:1px solid var(--content-line);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 12px 30px rgba(18,25,33,.07);backdrop-filter:blur(14px)}.harmony-guide-toc>strong{display:block;margin-bottom:11px;color:var(--content-ink);font-family:Georgia,Times New Roman,serif;font-size:1rem}.harmony-guide-toc nav{display:grid;gap:2px}.harmony-guide-toc nav a{padding:7px 9px;border-radius:8px;color:var(--content-muted);font-size:.73rem;font-weight:750;line-height:1.3}.harmony-guide-toc nav a:hover{background:var(--content-cream-2);color:var(--content-ink)}.harmony-guide-toc>a{display:inline-flex;margin-top:14px;color:var(--content-gold);font-size:.74rem;font-weight:900}.harmony-guide-article{display:grid;gap:15px}.harmony-data-page>footer,.harmony-data-page>section,.harmony-guide-article>section,.harmony-guide-sources{padding:clamp(24px,3.5vw,48px);border:1px solid var(--content-line);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 12px 34px rgba(18,25,33,.055);scroll-margin-top:28px}.harmony-data-page>section h2,.harmony-guide-article h2{margin:0 0 15px;color:var(--content-ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3.2vw,3rem);font-weight:500;letter-spacing:-.035em;line-height:1.05}.harmony-data-page h3,.harmony-guide-article h3{margin:28px 0 9px;color:var(--content-ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.14rem,1.6vw,1.38rem);line-height:1.2}.harmony-data-page>section>p,.harmony-data-process,.harmony-guide-article section>ol,.harmony-guide-article section>p:not(.harmony-guide-kicker),.harmony-guide-article section>ul{max-width:850px;color:#495562;font-size:clamp(.88rem,1vw,.98rem)}.harmony-data-page>section>p,.harmony-guide-article section>p:not(.harmony-guide-kicker){margin:12px 0 0}.harmony-guide-article :where(ul,ol){margin:17px 0 0;padding-left:1.3rem}.harmony-guide-article li+li{margin-top:8px}.harmony-guide-article code{display:inline-block;margin-inline:.18em;padding:.12em .42em;border:1px solid rgba(177,145,58,.2);border-radius:6px;background:var(--content-cream-2);color:var(--content-ink);font-size:.9em;font-weight:750;white-space:nowrap}.harmony-guide-answer{border-color:rgba(177,145,58,.34)!important;background:linear-gradient(135deg,rgba(242,223,157,.23),rgba(255,255,255,.9))!important}.harmony-guide-answer>p:first-of-type{color:var(--content-ink-2)!important;font-size:clamp(.96rem,1.2vw,1.08rem)!important}.harmony-guide-table-wrap{width:100%;margin:24px 0;overflow-x:auto;border:1px solid var(--content-line);border-radius:15px;background:var(--content-white);-webkit-overflow-scrolling:touch}.harmony-guide-table-wrap table{width:100%;min-width:600px;border-collapse:collapse;font-size:.8rem}.harmony-guide-table-wrap td,.harmony-guide-table-wrap th{padding:11px 13px;border-bottom:1px solid var(--content-line);text-align:left;vertical-align:top}.harmony-guide-table-wrap th{background:var(--content-ink-2);color:#fffaf0;font-size:.69rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.harmony-guide-table-wrap tbody tr:last-child td{border-bottom:0}.harmony-guide-table-wrap tbody tr:nth-child(2n){background:rgba(247,237,219,.55)}.harmony-guide-tool-link{display:inline-flex;align-items:center;min-height:42px;margin-top:20px;padding:8px 13px;border:1px solid rgba(177,145,58,.3);border-radius:999px;background:rgba(242,223,157,.22);color:#806720;font-size:.76rem;font-weight:850}.harmony-data-page>footer>p{margin:0}.harmony-data-page>footer>div{display:flex;flex-wrap:wrap;gap:10px 24px}.harmony-guide-tool-link:hover{border-color:var(--content-gold);background:rgba(242,223,157,.38);transform:translateY(-1px)}.harmony-guide-practice-plan>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:22px}.harmony-guide-practice-plan article{padding:16px;border:1px solid var(--content-line);border-radius:14px;background:var(--content-cream)}.harmony-guide-practice-plan article strong{color:var(--content-gold);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.harmony-guide-practice-plan article h3{margin:7px 0;font-size:.97rem}.harmony-guide-practice-plan article p{margin:0;color:var(--content-muted);font-size:.74rem;line-height:1.5}.harmony-guide-conversion{border-color:rgba(227,192,98,.28)!important;background:radial-gradient(circle at 90% 10%,rgba(109,137,173,.23),transparent 22rem),linear-gradient(145deg,#121921,#283341)!important;color:#dce4ed}.harmony-guide-conversion h2{color:#fffaf0}.harmony-guide-conversion>p:not(.harmony-guide-kicker){color:#cbd6e1!important}.harmony-guide-conversion>div{margin-top:22px}.harmony-guide-conversion a:nth-child(2){border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fffaf0}.harmony-guide-conversion a:nth-child(2):hover{border-color:var(--content-gold-bright)}.harmony-guide-sources{color:var(--content-muted);font-size:.75rem}.harmony-guide-sources p{max-width:850px;margin:0}.harmony-guide-sources>div{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px}.harmony-guide-sources a{color:var(--content-gold);font-weight:800}.harmony-data-page{width:min(1180px,calc(100% - clamp(28px, 6vw, 92px)));margin:0 auto;padding:clamp(20px,3vw,42px) 0 clamp(60px,8vw,110px)}.harmony-data-page>header h1{max-width:880px;font-size:clamp(2.25rem,5vw,4.8rem)}.harmony-data-page>header>p:last-of-type{max-width:880px;margin:24px 0 0}.harmony-data-page>section{margin-top:15px}.harmony-data-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:24px}.harmony-data-stats>div{display:flex;min-height:126px;flex-direction:column;justify-content:center;padding:18px;border:1px solid var(--content-line);border-radius:16px;background:var(--content-cream)}.harmony-data-stats strong{color:var(--content-ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3.5vw,3.15rem);font-weight:500;line-height:1}.harmony-data-stats span{margin-top:7px;color:var(--content-muted);font-size:.72rem;font-weight:750;line-height:1.35}.harmony-data-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.harmony-data-source-list article{display:grid;grid-template-columns:76px minmax(0,1fr);gap:17px;padding:20px;border:1px solid var(--content-line);border-radius:17px;background:var(--content-cream)}.harmony-data-source-list article>div:first-child{display:flex;width:76px;height:76px;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--content-ink-2);color:var(--content-gold-bright)}.harmony-data-source-list article>div:first-child strong{font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500;line-height:1}.harmony-data-source-list article>div:first-child span{margin-top:3px;font-size:.58rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.harmony-data-source-list h3{margin:2px 0 8px;font-size:1.02rem}.harmony-data-source-list p{margin:5px 0;color:var(--content-muted);font-size:.76rem;line-height:1.5}.harmony-data-source-list a{color:#806720;font-size:.73rem;font-weight:800;text-decoration:underline;text-decoration-color:rgba(128,103,32,.3);text-underline-offset:3px}.harmony-data-source-list a:hover{color:var(--content-ink);text-decoration-color:currentColor}.harmony-data-process{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:22px 0 0;padding:0;list-style:none;counter-reset:harmony-data-step}.harmony-data-process li{position:relative;padding:18px 18px 18px 52px;border:1px solid var(--content-line);border-radius:15px;background:var(--content-cream);counter-increment:harmony-data-step}.harmony-data-process li:before{position:absolute;top:17px;left:17px;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:var(--content-ink-2);color:var(--content-gold-bright);font-size:.65rem;font-weight:900;content:counter(harmony-data-step)}.harmony-data-download{border-color:rgba(177,145,58,.32)!important;background:linear-gradient(135deg,rgba(242,223,157,.25),rgba(255,255,255,.9))!important}.harmony-data-download>div{margin-top:22px}.harmony-data-download a:not(:first-child){border-color:var(--content-line);background:var(--content-white);color:var(--content-ink-2)}.harmony-data-download a:not(:first-child):hover{border-color:var(--content-gold);transform:translateY(-1px)}.harmony-data-page>footer{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;margin-top:15px;color:var(--content-gold);font-size:.78rem;font-weight:850}.harmony-data-page>footer a:hover{color:var(--content-ink)}@media (max-width:1050px){.harmony-guide-practice-plan>div,.harmony-topic-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.harmony-data-source-list{grid-template-columns:minmax(0,1fr)}}@media (max-width:820px){.harmony-discovery-intro,.harmony-discovery-section,.harmony-instrument-links,.harmony-lead-magnet{grid-template-columns:minmax(0,1fr)}.harmony-discovery-actions,.harmony-text-link{grid-column:1}.harmony-discovery-intro>p:not(.harmony-discovery-eyebrow){margin-top:18px}.harmony-lead-actions{justify-content:flex-start}.harmony-guide-layout{grid-template-columns:minmax(0,1fr)}.harmony-guide-toc{position:static}.harmony-data-stats,.harmony-guide-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-learning-cta{align-items:flex-start;flex-direction:column}.generator-learning-cta>div{justify-content:flex-start}.site-footer:has(>nav){grid-template-columns:1fr;grid-template-areas:"brand" "samples" "songs" "links"}}@media (max-width:620px){.harmony-data-page,.harmony-discovery-content,.harmony-guide{width:calc(100% - 24px)}.harmony-data-page>footer,.harmony-data-page>header,.harmony-data-page>section,.harmony-discovery-intro,.harmony-discovery-section,.harmony-guide-article>section,.harmony-guide-hero,.harmony-guide-sources,.harmony-lead-magnet{border-radius:18px;padding:22px}.harmony-topic-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.harmony-data-process,.harmony-glossary dl,.harmony-guide-lead,.harmony-guide-practice-plan>div,.harmony-module-grid,.harmony-practice-method ol{grid-template-columns:minmax(0,1fr)}.harmony-module-grid>a{min-height:0}.harmony-guide-toc nav,.harmony-instrument-links>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.harmony-method-note{align-items:flex-start;flex-direction:column}.harmony-method-note>div{flex:0 1 auto;justify-content:flex-start}.harmony-guide-table-wrap{margin-inline:0}.harmony-data-source-list article{grid-template-columns:60px minmax(0,1fr);gap:13px;padding:15px}.harmony-data-source-list article>div:first-child{width:60px;height:60px}}@media (max-width:430px){.harmony-hero-actions{gap:6px}.harmony-hero-actions :is(a,button),.harmony-hero-primary,.harmony-hero-secondary{min-height:36px;padding:7px 11px;font-size:.66rem}.section-nav .section-nav-lead{padding-inline:9px}.harmony-data-page,.harmony-discovery-content,.harmony-guide{width:calc(100% - 16px)}.harmony-data-page>footer,.harmony-data-page>header,.harmony-data-page>section,.harmony-discovery-intro,.harmony-discovery-section,.harmony-guide-article>section,.harmony-guide-hero,.harmony-guide-sources,.harmony-lead-magnet{padding:18px;border-radius:15px}.harmony-data-page>header h1,.harmony-discovery-intro h2,.harmony-guide-hero h1{font-size:clamp(1.95rem,11vw,2.75rem);letter-spacing:-.045em}.harmony-data-page>section h2,.harmony-discovery-heading h2,.harmony-guide-article h2,.harmony-instrument-links h2,.harmony-lead-magnet h2{font-size:clamp(1.55rem,8vw,2.05rem)}.harmony-data-download>div,.harmony-discovery-actions,.harmony-guide-actions,.harmony-guide-conversion>div,.harmony-lead-actions{align-items:stretch;flex-direction:column}.harmony-data-download a,.harmony-discovery-actions a,.harmony-guide-actions a,.harmony-guide-conversion a,.harmony-lead-actions a{width:100%}.harmony-topic-nav{gap:4px;padding:5px}.harmony-topic-nav a{min-height:42px;padding:7px;font-size:.64rem}.harmony-instrument-links>div:last-child{gap:5px}.harmony-instrument-links>div:last-child a{min-height:39px;padding:7px 9px;font-size:.69rem}.harmony-data-stats{gap:6px}.harmony-data-stats>div{min-height:98px;padding:12px}.harmony-data-source-list article{grid-template-columns:minmax(0,1fr)}.harmony-data-source-list article>div:first-child{width:58px;height:58px}.generator-learning-cta{gap:10px;padding:11px}.generator-learning-cta>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.generator-learning-cta a{min-height:32px;padding:5px 7px;font-size:.58rem}.site-footer>nav{gap:4px 12px}}@media (prefers-reduced-motion:reduce){.harmony-data-page *,.harmony-discovery-content *,.harmony-guide *,.harmony-hero-actions *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.metronome-toolbar{container:metronome-toolbar/inline-size}.metronome-toolbar .metronome-body{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-items:end}.metronome-toolbar .metronome-control-strip[hidden]{display:none!important}.metronome-toolbar.is-collapsed .metronome-body{gap:0;margin-top:3px}.metronome-toolbar.is-collapsed .metronome-beat-scroller{margin-top:0}.metronome-toolbar.is-collapsed .metronome-beat-group{min-height:22px;padding:2px 3px}.metronome-toolbar.is-collapsed .metronome-beat-number,.metronome-toolbar.is-collapsed .metronome-count-label,.metronome-toolbar.is-collapsed .metronome-sound-stack,.metronome-toolbar.is-collapsed .metronome-title-row .master-module-button{display:none}.metronome-toolbar.is-collapsed .metronome-beat-steps{height:100%;align-items:center}.metronome-toolbar.is-collapsed .metronome-step-column{min-height:17px;justify-content:center}.metronome-toolbar.is-collapsed .metronome-step-column.downbeat .metronome-step-light,.metronome-toolbar.is-collapsed .metronome-step-light{width:9px;height:9px}.metronome-toolbar.is-collapsed .metronome-step-column.downbeat .metronome-step-light{width:11px;height:11px}@container metronome-toolbar (min-width: 1080px){.metronome-toolbar:not(.is-collapsed) .metronome-body{grid-template-columns:minmax(660px,.95fr) minmax(0,1.05fr);gap:9px}.metronome-toolbar:not(.is-collapsed) .metronome-beat-scroller{margin-top:0}}@media (max-width:760px){.sticky-practice-tools .metronome-toolbar{padding:0}.metronome-toolbar .metronome-sticky{padding:4px 5px}.metronome-title-row{gap:3px}.metronome-title-copy{gap:4px}.metronome-title-copy h2{font-size:.82rem}.metronome-title-row .master-module-button{min-height:27px;padding:3px 6px;font-size:.58rem}.metronome-title-row .section-collapse-toggle{width:28px;min-width:28px;min-height:27px}.metronome-control-strip{grid-template-columns:minmax(66px,.8fr) minmax(78px,.9fr) minmax(116px,1.45fr) 28px;gap:2px;width:100%;min-width:0;overflow:visible}.metronome-control-strip>.metronome-tempo{grid-row:1;grid-column:1}.metronome-toolbar .metronome-tempo{grid-template-columns:minmax(0,1fr) 28px;gap:2px}.metronome-toolbar .metronome-tempo input{padding:2px 20px 2px 5px}.metronome-toolbar .metronome-tempo label>div>span{right:3px;font-size:.42rem}.metronome-toolbar .tap-button{min-width:24px;padding-inline:1px;font-size:.5rem}.metronome-toolbar .number-stepper{grid-template-columns:minmax(17px,.6fr) minmax(26px,1fr) minmax(17px,.6fr);gap:1px}.metronome-toolbar .number-stepper button{min-width:0}.metronome-control-strip>.meter-length-field{grid-row:1;grid-column:2}.metronome-subdivision-picker{grid-row:1;grid-column:3;min-width:0}.metronome-subdivision-picker>div{gap:1px}.metronome-subdivision-picker button{min-width:0;padding-inline:0}.metronome-control-strip>.metronome-start{grid-row:1;grid-column:4}.metronome-start.icon-only-transport{width:30px;min-width:30px}.metronome-toolbar .metronome-beat-number{display:none}}@media (max-width:560px){.progression-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.progression-card{grid-template-columns:minmax(0,1fr);gap:4px;padding:6px;border-radius:10px}.progression-name{grid-template-columns:22px minmax(0,1fr);padding:3px 2px}.progression-name>span{width:22px;height:22px;margin-right:2px;border-radius:6px}.progression-name strong{overflow:hidden;font-size:.72rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.progression-name small{font-size:.54rem}.progression-card-actions{grid-template-columns:auto minmax(0,1fr);gap:4px;align-items:center;justify-items:stretch}.progression-card-actions .playback-actions.compact{gap:3px}.progression-card-actions .compact .icon-action{width:28px;min-height:28px}.progression-card-actions .replace-chord-button{width:100%;min-width:0;min-height:28px;padding:3px 4px;overflow:hidden;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}}.section-nav{z-index:100}.section-nav-transport,.section-nav-unpin-all{display:inline-grid;flex:0 0 auto;min-height:32px;padding:4px 8px;place-items:center;border:1px solid rgba(227,192,98,.34);border-radius:999px;background:rgba(255,255,255,.08);color:#fff8e9;font-size:.58rem;font-weight:900;white-space:nowrap}.section-nav-transport svg{width:16px;height:16px}.section-nav-transport.is-running{border-color:#ff826c;background:rgba(255,116,91,.19);color:#ffd7cf}.section-nav-unpin-all{grid-auto-flow:column;gap:3px}.section-nav-unpin-all:disabled{opacity:.42}.section-nav-tempo{position:relative;display:block;flex:0 0 74px}.section-nav-tempo input{width:74px;min-height:32px;padding:4px 29px 4px 8px;border:1px solid rgba(227,192,98,.34);border-radius:999px;background:rgba(255,255,255,.09);color:#fff8e9;font-size:.8rem;font-weight:950;text-align:center}.section-nav-tempo b{position:absolute;top:50%;right:8px;color:#d8c589;font-size:.43rem;letter-spacing:.03em;transform:translateY(-50%);pointer-events:none}.pinnable-module[data-user-pinned=true]{position:sticky;top:var(--module-pin-top,72px);z-index:calc(78 - var(--module-pin-order, 0));outline:2px solid rgba(227,192,98,.54);outline-offset:2px;box-shadow:0 16px 38px rgba(8,15,28,.24)}.sticky-visualizer-dock[data-user-pinned=true]{position:fixed;top:auto;right:10px;bottom:8px;left:10px;z-index:88}.sticky-visualizer-dock:not([data-user-pinned=true]){position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;width:100%;margin:18px 0 0}.collapsible-section.is-collapsed .section-heading-actions>.module-pin-button,.module-pin-button{display:inline-grid}.module-pin-button{width:32px;min-width:32px;height:32px;padding:5px;place-items:center;border:1px solid rgba(33,50,70,.2);border-radius:9px;background:rgba(255,255,255,.7);color:#536070}.module-pin-button svg{width:17px;height:17px;fill:currentColor;transition:transform .15s ease}.module-pin-button.is-pinned{border-color:#c59b2f;background:#f1d682;color:#192331}.module-pin-button.is-pinned svg{transform:rotate(-34deg)}.drum-module-shell,.practice-module-shell{position:relative;min-width:0}.module-pin-overlay{position:absolute;top:7px;right:46px;z-index:8}.drum-module-pin{top:29px;right:148px}.sound-selector-heading{display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:0}.practice-sync-actions{display:flex;grid-area:transport;gap:3px;align-items:center;justify-content:flex-end}.practice-sync-actions .practice-sync-transport{grid-area:auto}.practice-sync-actions .module-pin-button{width:30px;min-width:30px;height:30px;border-color:rgba(227,192,98,.32);background:rgba(255,255,255,.1);color:#f7e8bc}.practice-sync-actions .module-pin-button.is-pinned{background:#f1d682;color:#192331}.practice-sync-controls{grid-template-columns:auto minmax(0,1fr) 72px}#explore>.harmony-section-heading{flex-flow:row nowrap;gap:8px;align-items:center}#explore>.harmony-section-heading>:first-child{flex:0 1 auto;min-width:0}#explore .section-heading-actions{min-width:0;flex-wrap:nowrap}#explore .selected-summary{display:flex;min-width:0;max-width:min(42vw,430px);min-height:32px;gap:6px;align-items:baseline;padding:4px 8px;white-space:nowrap}#explore .selected-summary :is(strong,span){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%}.category-tabs button{width:100%;min-width:0;justify-content:center}#generator :is(.select-field select,.select-field option){font-size:.64rem}#generator .generator-controls{align-items:start}.generator-color-field{position:relative;z-index:12;display:grid;grid-template-columns:minmax(0,1fr);gap:3px}.substitution-chance-compact{display:grid;grid-template-columns:auto minmax(42px,1fr);gap:5px;align-items:center;color:#526174;font-size:.55rem;font-weight:850}.substitution-chance-compact input{width:100%;min-width:0;accent-color:#c39a31}.substitution-dropdown{position:relative;min-width:0}.substitution-dropdown summary{overflow:hidden;min-height:25px;padding:4px 7px;border:1px solid rgba(34,53,74,.18);border-radius:7px;background:rgba(255,255,255,.76);color:#26364a;font-size:.56rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.substitution-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;display:grid;width:min(340px,82vw);padding:7px;border:1px solid rgba(36,51,70,.2);border-radius:10px;background:#fffdf7;box-shadow:0 14px 34px rgba(12,22,35,.24)}.substitution-dropdown-menu label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center;min-height:28px;color:#26364a;font-size:.6rem;font-weight:780}.substitution-dropdown-menu input{accent-color:#c59b2f}.music-symbol-options button{min-height:34px}.music-symbol-options button>span{font-size:clamp(1rem,1.3vw,1.32rem)}.progression-quick-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin:7px 0 5px}.progression-quick-actions .primary-button{min-height:34px;padding-block:5px}.voice-connection-row{display:grid;grid-template-columns:minmax(190px,.34fr) minmax(0,1.66fr);gap:7px;height:24px;margin:-3px 0;pointer-events:none}.voice-connection-overlay{display:block;grid-column:2;width:100%;height:100%;overflow:visible}.voice-connection-line{stroke:#ef334d;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(239,51,77,.75))}.voice-connection-line:is(.is-split,.is-merge){stroke-width:4}.replacement-search-field-primary{margin:10px 0}.fret-board{overflow:visible}.fret-string-line{top:50%;transform:translateY(-50%)}.fret-cell,.fret-note-button,.fret-string-row{overflow:visible}.sticky-visualizer-body .fret-cell,.sticky-visualizer-body .fret-note-button,.sticky-visualizer-body .fret-open-string-cell{min-height:0;height:100%}.sticky-visualizer-body :is(.fret-note-marker,.fret-open-string-marker){width:30px;min-width:30px;max-width:30px;height:30px;min-height:30px;max-height:30px;flex:0 0 30px;aspect-ratio:1/1;border-radius:50%}.sticky-visualizer-body .fret-header :is(.fret-string-heading,.fret-number){min-height:22px}.fret-note-marker,.fret-open-string-marker{aspect-ratio:1/1}.piano-region{overflow:visible}.piano-region .piano-keyboard{min-width:0}.piano-key-button[data-active=true]{background:var(--interval-color)!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--interval-color) 62%,white)!important}.piano-black-key .piano-note-marker,.piano-note-marker{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:var(--interval-ink,#fff);box-shadow:none}.piano-white-key .instrument-marker-note{font-size:clamp(.62rem,1.55vw,1.28rem)}.piano-white-key .instrument-marker-interval{font-size:clamp(.56rem,1.1vw,.98rem)}.piano-black-key .instrument-marker-note{font-size:clamp(.48rem,1.05vw,.86rem)}.piano-black-key .instrument-marker-interval{font-size:clamp(.43rem,.82vw,.72rem)}@keyframes one-shot-play-pulse{0%{filter:brightness(1);transform:scale(1)}35%{filter:brightness(1.4) saturate(1.25);transform:scale(.94)}to{filter:brightness(1);transform:scale(1)}}.one-shot-play-flash{animation:one-shot-play-pulse .25s ease-out;box-shadow:0 0 0 3px rgba(227,192,98,.52),0 0 17px rgba(227,192,98,.64)!important}.ear-heading{flex-flow:row nowrap!important;align-items:center}.ear-heading>:first-child{flex:0 1 auto;min-width:0}.ear-heading .section-heading-actions{flex-wrap:nowrap}.ear-score{display:flex;gap:6px;padding:4px 7px}.ear-score>strong{font-size:1rem}.ear-score>em{font-size:.56rem}.ear-game-streak{color:#c69422;font-weight:900}.training-pool-collapse{width:31px;min-width:31px;padding:2px;color:#142438;font-size:1rem}.ear-category-stack[hidden]{display:none!important}.drum-mini-sequencer{display:grid;grid-template-columns:repeat(16,minmax(3px,1fr));flex:1 1 180px;gap:2px;max-width:360px;align-items:center}.drum-mini-sequencer[hidden]{display:none!important}.drum-mini-step{display:flex;height:10px;overflow:hidden;flex-direction:column;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:rgba(255,255,255,.16)}.drum-mini-step.has-hit{background:rgba(255,255,255,.06)}.drum-mini-hit{display:block;min-height:1px;flex:1 1 0;background:var(--drum-row-color)}.drum-mini-hit[data-velocity=ghost]{opacity:.48}.drum-mini-step.is-downbeat{box-shadow:inset 2px 0 0 #d45d78}.drum-mini-step.is-current{outline:2px solid #20d6ee;outline-offset:1px;box-shadow:0 0 9px rgba(32,214,238,.9)}.drum-mini-step.is-current.is-downbeat{box-shadow:inset 2px 0 0 #d45d78,0 0 9px rgba(32,214,238,.9)}[data-drum-row=kick]{--drum-row-color:#ef5d5d;--drum-row-color-rgb:239,93,93}[data-drum-row=snare]{--drum-row-color:#73a8e6;--drum-row-color-rgb:115,168,230}[data-drum-row=hat]{--drum-row-color:#e3c062;--drum-row-color-rgb:227,192,98}[data-drum-row=tom]{--drum-row-color:#67d2ad;--drum-row-color-rgb:103,210,173}[data-drum-row=perc]{--drum-row-color:#d68ac8;--drum-row-color-rgb:214,138,200}.drum-row-head{padding-left:5px;border-left:3px solid var(--drum-row-color);border-radius:3px}.drum-row-head>label{color:var(--drum-row-color)}.drum-row-volume input{accent-color:var(--drum-row-color)}.drum-row .drum-step.drum-is-ghost{border-color:rgba(var(--drum-row-color-rgb),.68);background:rgba(var(--drum-row-color-rgb),.17);color:var(--drum-row-color)}.drum-row .drum-step.drum-is-accent{border-color:var(--drum-row-color);background:var(--drum-row-color);color:var(--ink)}.drum-row .drum-step.drum-is-current{outline:2px solid #20d6ee;outline-offset:1px;box-shadow:0 0 13px rgba(32,214,238,.78)}.drum-heading{flex-flow:row nowrap;align-items:center}.drum-heading-copy{min-width:0}.drum-transport{flex-flow:row nowrap;align-items:center}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading{flex-flow:row nowrap;align-items:center;margin-bottom:0}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport{display:flex;flex-flow:row nowrap}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport>:is(.module-pin-button,.drum-master-button,.drum-play-button,.drum-collapse-button){display:grid}@media (max-width:900px){.voice-connection-row{grid-template-columns:minmax(0,1fr);gap:0;height:20px}.voice-connection-spacer{display:none}.voice-connection-overlay{grid-column:1}.category-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.section-nav{gap:4px}.section-nav-transport,.section-nav-unpin-all{min-width:29px;min-height:29px;padding:3px 6px}.section-nav-tempo,.section-nav-tempo input{width:65px;flex-basis:65px}.module-pin-button{width:28px;min-width:28px;height:28px;padding:4px}.metronome-title-row .module-pin-button{width:28px;min-width:28px;height:27px;min-height:27px}.module-pin-overlay{top:4px;right:38px}.practice-sync-controls{grid-template-columns:57px minmax(0,1fr) 62px}.practice-sync-actions{gap:1px}.practice-sync-actions .module-pin-button{width:27px;min-width:27px;height:27px}.drum-module-pin{top:8px;right:86px}.sticky-visualizer-dock[data-user-pinned=true]{right:5px;bottom:5px;left:5px}#explore .selected-summary{max-width:46vw;padding-inline:5px}#explore .selected-summary span{display:none}.category-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}#generator :is(.select-field select,.select-field option){font-size:.56rem}.progression-quick-actions{margin-block:4px}.piano-region .piano-keyboard{height:154px;border-width:9px 5px 5px}.sticky-visualizer-body .fret-header :is(.fret-string-heading,.fret-number){min-height:18px}.piano-black-key,.piano-white-key{padding-bottom:0}.piano-white-key .instrument-marker-note{font-size:clamp(.58rem,3vw,.78rem)}.piano-white-key .instrument-marker-interval{font-size:clamp(.5rem,2.4vw,.68rem)}.piano-black-key .instrument-marker-note{font-size:clamp(.42rem,2.1vw,.6rem)}.piano-black-key .instrument-marker-interval{font-size:clamp(.38rem,1.8vw,.53rem)}.ear-heading{gap:4px}.ear-score button,.ear-score>span{display:none}.ear-score>em{display:inline}.drum-heading-copy p,.drum-status{display:none}.drum-heading-copy h2{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport{height:38px}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport>:is(.module-pin-button,.drum-master-button,.drum-play-button,.drum-collapse-button){height:38px;min-height:38px;max-height:38px;align-self:center}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-master-button{width:38px;min-width:38px;padding-inline:0;font-size:0}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-master-button:after{content:"M";font-size:.68rem}.drum-mini-sequencer{flex-basis:90px;max-width:none;gap:1px}}.section-nav{position:fixed;top:6px;right:clamp(8px,1.45vw,28px);left:clamp(8px,1.45vw,28px);z-index:140;width:auto;max-width:none;min-height:44px;margin:0;padding:5px;align-items:center;flex-wrap:nowrap;border-radius:15px}.section-nav-brand{min-width:36px;min-height:34px;padding:2px 4px!important;justify-content:center}.section-nav-brand img{width:29px;height:29px}.section-nav-transport,.section-nav-unpin-all{width:34px;min-width:34px;min-height:34px;padding:5px;border-radius:10px}.section-nav-tempo{display:grid;flex:0 0 82px;grid-template-columns:21px minmax(0,1fr);gap:2px;align-items:center;width:82px;min-height:34px;padding:3px 4px;border-radius:10px}.section-nav-tempo input{width:100%;min-width:0;min-height:26px;padding:1px 3px;border:0;border-radius:7px;font-size:.78rem}.sticky-practice-tools{position:sticky;top:calc(var(--nav-top) + var(--nav-height) + var(--sticky-gap));z-index:84}.harmony-app{overflow-x:visible}body:has(.harmony-app){overflow-x:clip}@media (max-width:560px){.section-nav{position:fixed;right:5px;left:5px;gap:3px;min-height:40px;padding:4px;border-radius:12px}.section-nav .section-nav-lead,.section-nav-brand,.section-nav-icon-link,.section-nav-transport,.section-nav-unpin-all{flex-basis:31px;width:31px;min-width:31px;min-height:31px;padding:4px!important}.section-nav-tempo{flex-basis:70px;width:70px;min-height:31px;padding:2px 3px}.section-nav-tempo input{width:100%;min-height:25px;font-size:.7rem}}.progression-midi-export{display:inline-flex;min-width:0;gap:5px;align-items:stretch}.progression-midi-export label{display:grid;grid-template-columns:auto minmax(92px,1fr);gap:5px;align-items:center;min-width:0;padding:3px 4px 3px 8px;border:1px solid rgba(28,42,59,.15);border-radius:9px;background:rgba(255,255,255,.68);color:var(--ink-2);font-size:.6rem;font-weight:900;white-space:nowrap}.progression-midi-export select{min-width:0;min-height:28px;padding:2px 22px 2px 6px;border-radius:7px;font-size:.64rem;font-weight:850}.progression-midi-export .secondary-button{min-height:34px;padding:4px 9px;white-space:nowrap}.builder-heading,.builder-heading-main{flex-flow:row nowrap;align-items:center}.builder-heading-main{display:flex;min-width:0;gap:8px}.builder-heading-main h2{flex:0 0 auto;white-space:nowrap}.builder-heading-main .chord-name-follower{display:inline-flex;min-width:0;max-width:min(390px,44vw);gap:5px;align-items:baseline;padding:4px 8px}.builder-heading-main .chord-name-follower :is(strong,span){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ear-score{min-width:0;min-height:34px;gap:4px;align-items:stretch;padding:3px;border:1px solid rgba(227,192,98,.48);border-radius:10px;background:#172638;white-space:nowrap}.ear-score,.ear-score>span{display:inline-flex;color:#fff9e8}.ear-score>span{min-width:36px;gap:2px;align-items:center;justify-content:center;padding:3px 6px;border-radius:7px;background:rgba(255,255,255,.09);font-style:normal}.ear-score :is(strong,small){color:inherit;line-height:1}.ear-score strong{font-size:.88rem;font-weight:950}.ear-score small{font-size:.5rem;font-weight:850;text-transform:uppercase}.ear-score .ear-score-accuracy{border:1px solid rgba(103,210,173,.72);background:rgba(103,210,173,.16);color:#aef3d8;font-size:.77rem;font-weight:950}.ear-score :is(.ear-score-streak,.ear-score-best){flex-direction:column;gap:1px}.ear-score .ear-score-streak{color:#ffd978}.ear-score .ear-score-best{color:#a9d4ff}.ear-score button{display:inline-grid;width:27px;min-width:27px;min-height:27px;padding:2px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:rgba(255,255,255,.08);color:#fff9e8;font-size:.9rem;place-items:center}@media (max-width:560px){.builder-heading{gap:4px}.builder-heading-main{gap:5px}.builder-heading-main h2{font-size:.82rem}.builder-heading-main .chord-name-follower{max-width:35vw;padding:3px 5px}.builder-heading-main .chord-name-follower span{display:none}.progression-midi-export label{grid-template-columns:minmax(82px,1fr);padding-left:4px}.progression-midi-export label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ear-heading{gap:3px}.ear-heading h2{font-size:.82rem;white-space:nowrap}.ear-heading .section-heading-actions{gap:3px}.ear-score{gap:2px;min-height:31px;padding:2px}.ear-score>span{min-width:31px;padding:2px 4px}.ear-score strong{font-size:.76rem}.ear-score small{font-size:.42rem}.ear-score button{width:24px;min-width:24px;min-height:24px}}.section-nav-spacer{flex:0 0 auto}.harmony-hero{margin-bottom:12px}.pinnable-slot[data-pinned-module-slot=visualizer]:not([data-user-pinned=true]){min-height:0}.pinnable-slot[data-pinned-module-slot=visualizer]:not([data-user-pinned=true])>.sticky-visualizer-dock{position:fixed;top:auto;right:clamp(5px,1vw,12px);bottom:clamp(5px,1vw,10px);left:clamp(5px,1vw,12px);z-index:88;width:auto;max-width:1900px;margin:0 auto;outline:0}.pinnable-slot[data-pinned-module-slot=visualizer]:not([data-user-pinned=true])>.sticky-visualizer-dock .sticky-visualizer-header{padding-right:58px}.pinnable-slot[data-pinned-module-slot=visualizer][data-user-pinned=true]>.sticky-visualizer-dock{position:fixed;top:var(--module-pin-top,68px);right:auto;bottom:auto;left:var(--module-pin-left,8px);z-index:calc(130 - var(--module-pin-order, 0));width:var(--module-pin-width,calc(100vw - 16px));max-width:none;margin:0}.metronome-toolbar.is-collapsed .metronome-title-row{display:grid;grid-template-columns:auto minmax(80px,1fr) auto;gap:8px;align-items:center}.metronome-toolbar.is-collapsed .metronome-body{display:none}.metronome-collapsed-beats{min-width:0;overflow:hidden}.metronome-collapsed-beats .metronome-beat-pattern,.metronome-collapsed-beats .metronome-beat-scroller{width:100%;min-width:0;margin:0;overflow:hidden}.metronome-collapsed-beats .metronome-beat-pattern{gap:2px}.metronome-collapsed-beats .metronome-beat-group{min-width:0;min-height:22px;padding:2px 1px}.metronome-collapsed-beats .metronome-beat-steps{gap:1px}.metronome-toolbar.is-collapsed .metronome-collapsed-beats .metronome-step-column.downbeat .metronome-step-light,.metronome-toolbar.is-collapsed .metronome-collapsed-beats .metronome-step-light{width:clamp(3px,.55vw,8px);height:clamp(3px,.55vw,8px);min-width:3px}.metronome-toolbar.is-collapsed .metronome-collapsed-beats .metronome-step-column.downbeat .metronome-step-light{width:clamp(5px,.7vw,10px);height:clamp(5px,.7vw,10px)}.metronome-toolbar.is-collapsed .section-heading-actions{flex-wrap:nowrap}.metronome-collapsed-play{flex:0 0 auto}#generator .generator-performance-controls{display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(110px,.5fr) minmax(260px,1.2fr);gap:5px;align-items:stretch;margin:6px 0}#generator .generator-performance-controls fieldset{display:flex;min-width:0;padding:3px 5px 5px;border-radius:8px}#generator .generator-performance-controls legend{width:auto;margin:0 0 1px;padding:0 3px;font-size:.56rem;line-height:1;white-space:nowrap}#generator .generator-performance-controls :is(.music-symbol-options,.segmented-control){flex:1 1 auto;gap:2px;width:100%}#generator .generator-performance-controls :is(.music-symbol-options,.segmented-control) button{min-width:0;min-height:29px;padding:2px 3px;border-radius:6px}#generator .generator-performance-controls .music-symbol-options button>span{font-size:clamp(.92rem,1.15vw,1.15rem)}#generator .generator-performance-controls .segmented-control .playback-icon{width:18px;height:18px}@media (max-width:760px){.metronome-toolbar.is-collapsed .metronome-title-row{grid-template-columns:auto minmax(64px,1fr) auto;gap:3px}.metronome-toolbar.is-collapsed .metronome-title-copy .metronome-sync-chip{display:none}.metronome-toolbar.is-collapsed .metronome-title-copy h2{font-size:.76rem}.metronome-toolbar.is-collapsed .section-heading-actions{gap:2px}.metronome-toolbar.is-collapsed .metronome-collapsed-play,.metronome-toolbar.is-collapsed .module-pin-button,.metronome-toolbar.is-collapsed .section-collapse-toggle{width:27px;min-width:27px;height:27px;min-height:27px}#generator .generator-performance-controls{grid-template-columns:minmax(124px,1.05fr) minmax(66px,.48fr) minmax(128px,1.08fr);gap:3px;overflow-x:auto}#generator .generator-performance-controls fieldset{padding-inline:3px}#generator .generator-performance-controls legend{font-size:.48rem}#generator .generator-performance-controls :is(.music-symbol-options,.segmented-control) button{min-height:27px;padding-inline:1px}}.harmony-app{--module-control-size:34px;--module-heading-size:clamp(1.08rem,1.42vw,1.42rem)}.harmony-app :is(.metronome-title-copy h2,.sound-selector-heading h2,.harmony-section-heading h2,.control-heading h2,.ear-heading h2,.drum-heading-copy h2,.sticky-visualizer-header h2){font-size:var(--module-heading-size)!important;line-height:1.05}.harmony-app :is(.module-pin-button,.section-collapse-toggle,.drum-collapse-button,.sticky-visualizer-toggle){box-sizing:border-box;width:var(--module-control-size)!important;min-width:var(--module-control-size)!important;height:var(--module-control-size)!important;min-height:var(--module-control-size)!important;max-height:var(--module-control-size)!important;padding:4px!important;flex:0 0 var(--module-control-size)!important}.metronome-toolbar.is-collapsed .metronome-title-row .master-module-button{display:inline-flex}.pinnable-slot[data-user-pinned=true]{display:contents;min-height:0!important;margin:0!important}.pinnable-slot[data-user-pinned=true]>.pinnable-module{margin:0!important}.section-nav-spacer{min-height:0;margin:0;transition:height .16s ease}.sticky-practice-tools:has(>.pinnable-slot[data-user-pinned=true]){grid-template-columns:minmax(0,1fr)}.sticky-practice-tools:not(:has(>.pinnable-slot:not([data-user-pinned=true]))){margin-bottom:0}.custom-builder.is-collapsed .builder-heading-main>.chord-name-follower,.custom-builder.is-collapsed .section-heading-actions>.master-module-button{display:inline-flex}.drum-controls{grid-template-columns:minmax(112px,.8fr) minmax(76px,.42fr) minmax(205px,1.18fr) minmax(126px,.72fr) auto}.drum-grid-controls{display:grid;grid-template-columns:minmax(52px,.48fr) minmax(108px,1fr);gap:4px}#generator.is-collapsed .generator-heading-main h2,.metronome-toolbar.is-collapsed .metronome-title-copy h2{font-size:var(--module-heading-size)!important}.metronome-toolbar.is-collapsed .metronome-collapsed-play{box-sizing:border-box;width:var(--module-control-size)!important;min-width:var(--module-control-size)!important;height:var(--module-control-size)!important;min-height:var(--module-control-size)!important;max-height:var(--module-control-size)!important;padding:4px!important}.song-library-match-results,.song-library-match-results>.song-library-state{min-height:0}.song-library-match-results>.song-library-state{padding:14px}.drum-trainer:has(.drum-trainer-body[hidden]){min-height:0;margin-bottom:8px;padding:6px 8px}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading{min-height:var(--module-control-size);gap:6px}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading-copy{flex:0 1 auto}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-mini-sequencer{flex:1 1 140px;max-width:none}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport{flex:0 0 auto;gap:4px;margin-left:0}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport>:is(.module-pin-button,.drum-play-button,.drum-collapse-button){width:var(--module-control-size);min-width:var(--module-control-size);height:var(--module-control-size);min-height:var(--module-control-size)}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-master-button{width:auto;min-width:54px;height:var(--module-control-size);min-height:var(--module-control-size);padding:4px 7px;font-size:.62rem}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-master-button:after{content:none}.site-footer:has(>nav){gap:6px 16px;margin-top:8px;padding:10px 4px 2px;font-size:.62rem}.site-footer>nav{gap:3px 12px;padding-top:2px}.site-footer>nav a{min-height:24px}.harmony-discovery-content{padding-top:10px;padding-bottom:clamp(30px,4vw,52px)}.harmony-discovery-intro{column-gap:clamp(18px,3vw,42px);padding:clamp(20px,2.5vw,34px);border-radius:20px}.harmony-discovery-intro h2{font-size:clamp(1.7rem,3vw,3rem)}.harmony-topic-nav{margin:8px 0 14px;padding:5px}.harmony-topic-nav a{min-height:38px;padding:6px 8px}.harmony-discovery-section,.harmony-lead-magnet{gap:clamp(16px,2.6vw,34px);margin-top:12px;padding:clamp(17px,2.2vw,28px);border-radius:19px}.harmony-discovery-heading h2,.harmony-lead-magnet h2{font-size:clamp(1.45rem,2.2vw,2.25rem)}.harmony-module-grid>a{min-height:124px;padding:14px}.harmony-module-grid p{margin:6px 0 9px}.harmony-glossary dl>div,.harmony-practice-method li{padding:12px}.harmony-lead-magnet p:not(.harmony-discovery-eyebrow){margin-top:8px}.harmony-method-note{gap:10px;padding-top:12px}@media (max-width:820px){.harmony-app{--module-control-size:30px;--module-heading-size:0.9rem}.section-nav{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));grid-template-rows:repeat(2,31px);grid-auto-flow:row;gap:3px;min-height:73px;overflow:visible;align-items:stretch}.section-nav>:is(.section-nav-brand,.section-nav-icon-link,.section-nav-lead,.section-nav-transport,.section-nav-unpin-all,.section-nav-beat,.section-nav-current-chord,.section-nav-tempo){width:100%;min-width:0;min-height:31px;height:31px;margin:0}.section-nav-beat,.section-nav-brand,.section-nav-transport,.section-nav-unpin-all{grid-row:1;grid-column:span 2}.section-nav-tempo{grid-row:1;grid-column:span 4}.section-nav-current-chord{grid-row:1;grid-column:span 6}.section-nav>:is(.section-nav-icon-link,.section-nav-lead){grid-row:2;grid-column:span 2}.section-nav-tempo{grid-template-columns:17px minmax(0,1fr);padding:2px 3px}.section-nav-tempo>.trainer-nav-icon{width:16px;height:16px}.section-nav-tempo input{min-height:24px;padding:1px;font-size:.68rem}.section-nav-beat{grid-template-columns:13px minmax(0,1fr);padding:2px}.section-nav-current-chord{max-width:none;padding:2px 4px}.section-nav-current-chord>strong{font-size:.64rem}.section-nav .section-nav-lead,.section-nav-brand,.section-nav-icon-link,.section-nav-transport,.section-nav-unpin-all{flex-basis:auto;padding:3px!important}.section-nav .trainer-nav-icon{width:18px;height:18px}.metronome-toolbar.is-collapsed .metronome-title-row .master-module-button{display:inline-flex;min-height:var(--module-control-size);height:var(--module-control-size);padding:3px 6px}.drum-controls{grid-template-columns:minmax(80px,1fr) minmax(58px,.6fr) minmax(128px,1.35fr)}.drum-swing-field{grid-column:1}.drum-control-actions{grid-column:2/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.drum-grid-controls{grid-template-columns:minmax(42px,.42fr) minmax(82px,1fr);gap:2px}.drum-trainer:has(.drum-trainer-body[hidden]){padding:4px 6px}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading-copy h2{max-width:92px;font-size:var(--module-heading-size)}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-mini-sequencer{flex-basis:62px;gap:1px}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-mini-step{height:8px}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-master-button{min-width:48px;font-size:.56rem}.harmony-discovery-content{padding-top:7px}.harmony-discovery-intro,.harmony-discovery-section,.harmony-lead-magnet{padding:15px}.harmony-module-grid>a{min-height:0;padding:11px}}@media (max-width:400px){.section-nav{gap:2px}.section-nav .trainer-nav-icon{width:15px;height:15px}}#generator:not(.is-collapsed){padding:clamp(10px,1.25vw,16px)}#generator:not(.is-collapsed)>.harmony-section-heading{gap:6px;margin-bottom:6px}#generator .generator-controls{grid-template-columns:minmax(86px,.55fr) minmax(170px,1.15fr) minmax(310px,2.05fr) minmax(88px,.55fr) minmax(132px,.82fr);gap:5px;align-items:center;margin:4px 0 6px}#generator .generator-controls>:is(.select-field,.tempo-field){min-height:32px;margin:0}#generator .generator-controls>.select-field:not(.generator-color-field),#generator .generator-controls>.tempo-field{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px;align-items:center}#generator .generator-color-field>span,#generator .generator-controls>:is(.select-field,.tempo-field)>span{margin:0;font-size:.52rem;line-height:1;letter-spacing:.035em;white-space:nowrap}#generator .generator-controls :is(select,input[type=text]){min-height:30px;height:30px;padding-block:2px;border-radius:7px}#generator .generator-controls select{padding-right:20px;padding-left:6px}#generator .generator-controls .tempo-field input{padding-right:35px;padding-left:6px}#generator .generator-controls .tempo-field>div>span{right:6px;font-size:.5rem}#generator .generator-color-field{display:grid;grid-template-columns:auto minmax(62px,.7fr) minmax(90px,.9fr) minmax(104px,1fr);gap:4px;align-items:center}#generator .generator-color-field>:is(select,.substitution-chance-compact,.substitution-dropdown){min-width:0}#generator .substitution-chance-compact{grid-template-columns:auto minmax(34px,1fr);gap:3px}#generator .substitution-chance-compact>span{font-size:.5rem;white-space:nowrap}#generator .substitution-dropdown summary{min-height:28px;padding:5px 6px}#generator .generator-performance-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:4px 0;overflow:visible}#generator .generator-performance-controls fieldset{min-height:38px;padding:2px 4px 4px}#generator .progression-quick-actions{gap:5px;margin:5px 0}#generator .generator-transport-cluster{display:inline-flex;gap:3px;align-items:stretch}#generator .generator-playback-inline{display:inline-grid;grid-template-columns:repeat(2,32px);gap:2px;width:auto;padding:2px;border:1px solid rgba(35,50,70,.14);border-radius:8px;background:rgba(255,255,255,.46)}#generator .generator-playback-inline button{min-width:32px;min-height:30px;padding:3px;border-radius:6px}#generator .generator-playback-inline .playback-icon{width:18px;height:18px}#generator .progression-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:5px}#generator .progression-card{gap:4px;padding:6px;border-radius:10px}#generator .transport-row{gap:7px;margin-top:8px;padding-top:8px}@media (max-width:920px){#generator .generator-controls{grid-template-columns:minmax(78px,.65fr) minmax(160px,1.35fr) minmax(80px,.65fr) minmax(125px,1fr)}#generator .generator-color-field{grid-column:1/-1;grid-row:2}}@media (max-width:620px){#generator:not(.is-collapsed){padding:8px}#generator .generator-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}#generator .generator-controls>:is(.select-field,.tempo-field){grid-template-columns:minmax(0,1fr);gap:2px}#generator .generator-color-field{grid-column:1/-1;grid-template-columns:auto minmax(56px,.65fr) minmax(86px,.95fr) minmax(90px,1fr)}#generator .generator-performance-controls{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}#generator .generator-performance-controls :is(.music-symbol-options,.segmented-control) button{min-height:26px}#generator .progression-quick-actions{justify-content:space-between}#generator .progression-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sound-selector-heading{position:relative;z-index:1;flex:0 0 auto}.practice-sync-module-name{display:inline-grid;flex:0 0 auto;overflow:visible;place-items:center}.practice-sync-module-symbol{position:relative;display:inline-grid;box-sizing:border-box;width:25px;height:25px;place-items:center;overflow:hidden;border:1px solid rgba(227,192,98,.36);border-radius:7px;background:linear-gradient(145deg,rgba(227,192,98,.16),rgba(255,255,255,.04));color:#f2d26f}.practice-sync-module-symbol.is-metronome:before{position:absolute;inset:4px 5px 3px;background:currentColor;clip-path:polygon(50% 0,100% 100%,0 100%);content:"";opacity:.9}.practice-sync-module-symbol.is-metronome:after{position:absolute;top:6px;left:12px;width:2px;height:12px;border-radius:999px;background:#172334;content:"";transform:rotate(12deg);transform-origin:50% 1px}.practice-sync-module-symbol.is-chords:before{content:"♬";font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:900;line-height:1;transform:translateY(-1px)}.practice-sync-module-symbol.is-drums:before{width:15px;height:10px;border:2px solid;border-radius:50%;content:""}.practice-sync-module-symbol.is-drums:after{position:absolute;right:3px;bottom:4px;left:3px;height:6px;border-right:2px solid;border-bottom:2px solid;border-left:2px solid;border-radius:0 0 6px 6px;content:""}.practice-sync-module.is-enabled .practice-sync-module-symbol,.practice-sync-module.is-master .practice-sync-module-symbol{border-color:rgba(242,210,111,.78);background:linear-gradient(145deg,rgba(227,192,98,.28),rgba(73,111,168,.12));box-shadow:0 0 10px rgba(227,192,98,.14)}.practice-sync-external-master{display:inline-grid;grid-template-columns:24px minmax(0,auto);grid-template-rows:auto auto;gap:0 6px;min-height:34px;padding:3px 8px;border:1px solid rgba(242,210,111,.72);border-radius:9px;background:linear-gradient(145deg,rgba(227,192,98,.24),rgba(73,111,168,.16));color:#fff7dc;line-height:1}.practice-sync-external-master>span{grid-row:1/-1;color:#f2d26f;font-size:1.1rem}.practice-sync-external-master strong{overflow:hidden;font-size:.62rem;white-space:nowrap}.practice-sync-external-master small{color:#f2d26f;font-size:.48rem;font-weight:850;text-transform:uppercase}@media (max-width:520px){.practice-sync-external-master{grid-template-columns:20px minmax(0,1fr);min-width:0;padding-inline:5px}}.practice-sync-modules:has(.practice-sync-external-master){grid-template-columns:repeat(3,minmax(44px,1fr)) minmax(74px,.8fr)}.practice-sync-external-master{display:inline-flex;min-width:0;gap:4px;align-items:center;justify-content:center;padding-inline:6px;white-space:nowrap}.practice-sync-external-master>span{grid-row:auto;flex:0 0 auto;font-size:.9rem}.practice-sync-external-master strong{min-width:0;text-overflow:ellipsis}.practice-sync-external-master small{flex:0 0 auto}.harmony-app :is(#metronome,#explore,#generator,#song-atlas,#song-player,#ear-training,#rhythm-trainer,#instrument-map){scroll-margin-top:var(--trainer-scroll-clearance,164px)}@media (max-width:520px){.practice-sync-modules:has(.practice-sync-external-master){grid-template-columns:repeat(3,minmax(38px,1fr)) minmax(58px,.72fr)}.practice-sync-external-master{gap:2px;padding-inline:3px}.practice-sync-external-master small{font-size:.4rem}}.metronome-toolbar .metronome-beat-group,.metronome-toolbar .metronome-beat-pattern,.metronome-toolbar .metronome-beat-steps,.metronome-toolbar .metronome-step-column{min-width:0}@media (max-width:760px){.metronome-toolbar .metronome-beat-scroller{overflow-x:hidden}.metronome-toolbar .metronome-beat-pattern{width:100%;min-width:0}.metronome-toolbar .metronome-beat-group{padding-inline:1px}.metronome-toolbar .metronome-sound-stack{width:100%}.metronome-toolbar .metronome-sound-block{width:100%;min-width:0}}.harmony-app:has(.pinnable-slot[data-pinned-module-slot=visualizer]:not([data-user-pinned=true])>.sticky-visualizer-dock:not(.is-collapsed)){padding-bottom:calc(min(38vh, 370px) + 30px)}@media (max-width:680px){.sound-selector-module{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:5px;overflow:visible}.sound-selector-heading{grid-column:1;gap:4px}.sound-selector-module .instrument-fieldset{grid-column:2;width:100%;min-width:0}.sound-selector-module .instrument-selector-grid{grid-template-columns:repeat(6,minmax(0,1fr));width:100%}.sound-selector-module .instrument-selector-grid button{min-width:0}.sound-selector-module .sound-map-sync-control{grid-column:3}.sound-selector-module .audio-status.compact{grid-column:4}.sticky-visualizer-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto var(--module-control-size) var(--module-control-size);grid-template-areas:"home title title pin toggle" "tabs tabs sync sync sync" "primary tuning tuning tuning tuning";gap:4px;padding:5px 7px!important;overflow:visible}.sticky-visualizer-home{grid-area:home}.sticky-visualizer-header h2{grid-area:title}.sticky-visualizer-header .map-instrument-switch{display:grid;grid-area:tabs;grid-template-columns:repeat(5,minmax(25px,1fr));width:100%;min-width:0;justify-self:stretch}.sticky-visualizer-header .map-instrument-switch button{width:100%;min-width:0}.sticky-visualizer-header .map-sync-control{display:flex;grid-area:sync;min-width:0;justify-self:end}.sticky-visualizer-header .map-sync-control span{display:inline}.sticky-visualizer-header .guitar-tuning-control{grid-area:tuning;min-width:0;justify-self:end}.sticky-visualizer-header .map-back-button{grid-area:primary;justify-self:start}.sticky-visualizer-header>.module-pin-button{display:inline-grid;grid-area:pin}.sticky-visualizer-toggle{display:inline-grid;grid-area:toggle}.sticky-visualizer-dock.is-collapsed .sticky-visualizer-header{grid-template-areas:"home sync sync pin toggle";min-height:44px}.sticky-visualizer-dock.is-collapsed .sticky-visualizer-header .guitar-tuning-control,.sticky-visualizer-dock.is-collapsed .sticky-visualizer-header .map-back-button,.sticky-visualizer-dock.is-collapsed .sticky-visualizer-header .map-instrument-switch,.sticky-visualizer-dock.is-collapsed .sticky-visualizer-header h2{display:none}.harmony-app:has(.pinnable-slot[data-pinned-module-slot=visualizer]:not([data-user-pinned=true])>.sticky-visualizer-dock:not(.is-collapsed)){padding-bottom:calc(min(40svh, 310px) + 26px)}}@media (max-width:360px){.sound-selector-module{grid-template-columns:auto minmax(0,1fr) auto}.sound-selector-heading{grid-column:1;grid-row:1}.sound-selector-module .sound-map-sync-control{grid-column:2;grid-row:1;justify-self:end}.sound-selector-module .audio-status.compact{grid-column:3;grid-row:1}.sound-selector-module .instrument-fieldset{grid-column:1/-1;grid-row:2}.sticky-visualizer-home{padding-inline:5px;font-size:.52rem}.sticky-visualizer-header .map-sync-control{gap:3px;font-size:.52rem}}@media (max-width:430px){.practice-sync-controls{grid-template-columns:auto minmax(0,1fr) 64px;padding-inline:5px}.practice-sync-summary>div{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.practice-sync-module{gap:2px;padding:2px}.practice-sync-toggle{gap:2px}.practice-sync-toggle-track{width:20px;height:12px}.practice-sync-toggle-track i{top:2px;left:2px;width:8px;height:8px}.practice-sync-toggle input:checked+.practice-sync-toggle-track i{transform:translateX(8px)}.practice-sync-module-symbol{width:20px;height:20px;border-radius:6px}.practice-sync-module-symbol.is-metronome:before{inset:3px 4px 2px}.practice-sync-module-symbol.is-metronome:after{top:5px;left:9px;height:10px}.practice-sync-module-symbol.is-chords:before{font-size:.95rem}.practice-sync-module-symbol.is-drums:before{width:12px;height:8px}.practice-sync-module-symbol.is-drums:after{right:2px;bottom:3px;left:2px;height:5px}}