.harmony-app{--ink:#121921;--ink-2:#283341;--ink-3:#344253;--surface:#fff9ed;--surface-2:#fff;--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:#ffffff1f;--shadow:0 20px 56px #161d2624;--radius-lg:20px;--radius-md:18px;--radius-sm:12px}.section-nav{z-index:140;-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2);background:#111822f0;border-color:#e3c06266;border-radius:15px;flex-wrap:nowrap;align-items:center;width:auto;max-width:none;min-height:44px;margin:0;padding:5px;position:fixed;top:6px;left:clamp(8px,1.45vw,28px);right:clamp(8px,1.45vw,28px);box-shadow:0 12px 34px #03080e5c}.section-nav-spacer{pointer-events:none;width:100%;min-height:62px}.section-nav-brand{background:#18212e;border-color:#e3c06280;justify-content:center;min-width:36px;min-height:34px;padding:2px 4px!important}.section-nav-icon-link,.section-nav .section-nav-lead{background:#ffffff0e;border:1px solid #e3c0623d;flex:0 0 34px;place-items:center;width:34px;min-width:34px;min-height:34px;display:inline-grid;color:#f8edc8!important;border-radius:10px!important;padding:5px!important}.section-nav-icon-link:hover,.section-nav .section-nav-lead:hover{border-color:#e3c062b8;color:#fff8df!important;background:#e3c06224!important}.section-nav .section-nav-lead{background:#67d2ad1f;border-color:#67d2ad85;color:#c9f7e7!important}.trainer-nav-icon{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px;overflow:visible}.trainer-nav-icon .nav-icon-accent{stroke:var(--gold-bright)}.section-nav-unpin-all{grid-auto-flow:row;gap:0;display:inline-grid}.section-nav-unpin-all .trainer-nav-icon{width:20px;height:20px}.section-nav-tempo{background:#ffffff12;border:1px solid #e3c06257;border-radius:10px;flex:0 0 82px;grid-template-columns:21px minmax(0,1fr);align-items:center;gap:2px;width:82px;min-height:34px;padding:3px 4px;display:grid}.section-nav-tempo>.trainer-nav-icon{width:19px;height:19px;color:var(--gold-pale)}.section-nav-tempo input{background:#060a1047;border:0;border-radius:7px;width:100%;min-width:0;min-height:26px;padding:1px 3px;font-size:.78rem}.sticky-practice-tools{z-index:auto;position:static;top:auto}.pinnable-slot{width:100%;min-width:0;position:relative}.pinnable-slot[data-user-pinned=true]{min-height:var(--module-slot-height,0px)}.pinnable-slot[data-user-pinned=true]>.pinnable-module{top:var(--module-pin-top,68px);bottom:auto;right: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));outline-offset:1px;overscroll-behavior:contain;outline:2px solid #e3c062ad;margin:0;position:fixed;overflow-y:auto;box-shadow:0 18px 42px #080f1c57}.pinnable-slot:not([data-user-pinned=true])>.pinnable-module{z-index:auto;width:auto;max-height:none;position:relative;inset:auto}.pinnable-slot>.sticky-visualizer-dock{width:100%;margin-top:18px;bottom:auto;left:auto;right:auto}.pinnable-slot[data-user-pinned=true]>.sticky-visualizer-dock{top:var(--module-pin-top,68px);bottom:auto;right:auto;left:var(--module-pin-left,8px);width:var(--module-pin-width,calc(100vw - 16px));margin:0}@media (max-width:560px){.section-nav{border-radius:12px;gap:3px;min-height:40px;padding:4px;left:5px;right:5px}.section-nav-brand,.section-nav-icon-link,.section-nav .section-nav-lead,.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);background:radial-gradient(circle at 82% 3%, #e3c06229, transparent 28rem), var(--surface);color:var(--dark-text);text-rendering:optimizelegibility;margin:0;font-family:Montserrat,Avenir Next,Avenir,Segoe UI,Arial,sans-serif;line-height:1.5}.harmony-app button,.harmony-app input,.harmony-app select{font:inherit}.harmony-app button,.harmony-app select,.harmony-app input,.harmony-app a{-webkit-tap-highlight-color:transparent}.harmony-app :where(button){color:inherit}.harmony-app button:not(:disabled),.harmony-app select:not(:disabled),.harmony-app input:not(:disabled){cursor:pointer}.harmony-app button:focus-visible,.harmony-app select:focus-visible,.harmony-app input:focus-visible,.harmony-app a:focus-visible,.harmony-app [tabindex="0"]: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{isolation:isolate;border-radius:var(--radius-lg);background:radial-gradient(circle at 82% 20%, #e3c0621a, transparent 25rem), var(--ink);min-height:144px;box-shadow:var(--shadow);border:1px solid #ffffff24;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,42px);padding:clamp(20px,2.4vw,30px);display:grid;position:relative;overflow:hidden}.harmony-hero:after{z-index:-1;content:"";border:1px solid #e8bd552e;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-430px;right:-180px;box-shadow:0 0 0 54px #e8bd5509,0 0 0 108px #76a9df06}.harmony-hero-glow{z-index:-1;filter:blur(70px);background:#76a9df21;border-radius:50%;width:430px;height:430px;position:absolute;top:-220px;right:16%}.harmony-hero-copy{max-width:760px}.harmony-eyebrow,.section-kicker{color:var(--gold-bright);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800}.harmony-hero h1{color:#fffaf0;letter-spacing:-.065em;max-width:880px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3.65vw,3.75rem);font-weight:500;line-height:.94}.harmony-hero-description{color:#d9e0e9;max-width:750px;margin:13px 0 0;font-size:clamp(.9rem,1.25vw,1.05rem)}.trainer-brand{color:var(--gold-bright);align-items:center;gap:11px;text-decoration:none;display:inline-flex}.trainer-brand img{object-fit:contain;width:54px;height:54px}.trainer-brand>span{flex-direction:column;line-height:1;display:flex}.trainer-brand strong{letter-spacing:.03em;font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.trainer-brand small{color:#fff;letter-spacing:.27em;margin-top:5px;font-size:.45rem;font-weight:850}.harmony-hero-badges{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.harmony-hero-badges span{color:#f7f1e3;background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700}.harmony-hero-mark{aspect-ratio:1;width:clamp(130px,16vw,220px);color:var(--gold-bright);background:#e8bd550f;border:1px solid #e8bd557a;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 55px #e8bd5514}.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{background:var(--ink-2);letter-spacing:.22em;grid-area:1/1;align-self:end;margin-bottom:20%;padding:3px 8px;font-size:.6rem;font-weight:900}.section-nav{z-index:20;border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111822e0;border-radius:999px;flex-wrap:wrap;gap:7px;width:fit-content;max-width:100%;margin:14px auto 30px;padding:7px;display:flex;position:sticky;top:10px;box-shadow:0 12px 30px #03080e47}.section-nav a{color:#dbe3ec;white-space:nowrap;border-radius:999px;padding:9px 14px;font-size:.78rem;font-weight:800;text-decoration:none}.section-nav a:hover{color:#fff;background:#ffffff14}.control-deck,.panel,.metronome-panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(160deg,#222f40f5,#182231f5)}.control-deck{margin-bottom:26px;padding:clamp(22px,3vw,34px)}.control-heading,.harmony-section-heading{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:24px;display:flex}.control-heading h2,.harmony-section-heading h2,.ear-category h3,.ear-challenge-card h3{color:#fffaf0;letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}.control-heading h2,.harmony-section-heading h2{font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.05}.audio-status{border:1px solid var(--border);color:#dfe7ef;border-radius:999px;flex:none;align-items:center;gap:9px;padding:9px 12px;font-size:.76rem;font-weight:700;display:flex}.audio-status>span{background:#78889a;border-radius:50%;width:8px;height:8px}.audio-status.ready>span{background:var(--mint);box-shadow:0 0 0 4px #67d2ad21}.audio-status.loading>span{background:var(--gold);animation:1s infinite alternate pulse}.audio-status.error>span{background:var(--coral)}@keyframes pulse{to{opacity:.35}}.global-controls-grid{grid-template-columns:minmax(0,1fr) minmax(250px,330px);align-items:end;gap:22px;display:grid}.control-intro,.instrument-heading-copy{max-width:680px;color:var(--muted);margin:7px 0 0;font-size:.78rem}.instrument-selector-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;display:grid}.instrument-selector-grid button{text-align:left;background:#ffffff0b;border:1px solid #ffffff1f;border-radius:14px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:2px 9px;min-width:0;min-height:74px;padding:10px;display:grid}.instrument-selector-grid button>span{background:var(--ink-3);width:38px;height:38px;color:var(--gold-pale);letter-spacing:.05em;border-radius:50%;grid-row:1/span 2;place-items:center;font-size:.68rem;font-weight:950;display:grid}.instrument-selector-grid button strong{color:#fff9ed;text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;overflow:hidden}.instrument-selector-grid button small{color:#9fabb9;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.instrument-selector-grid button:hover,.instrument-selector-grid button.active{border-color:var(--gold-bright);background:#e3c0621f}.instrument-selector-grid button.active>span{background:var(--gold-bright);color:var(--ink);box-shadow:0 0 0 5px #e3c06217}.root-control-row{grid-template-columns:1fr}.harmony-app fieldset{border:0;min-width:0;margin:0;padding:0}.harmony-app legend,.select-field>span,.tempo-field>span,.metronome-tempo label>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:850;display:block}.root-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.root-grid button{color:#f5f0e7;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:11px;min-height:46px;padding:9px 6px;font-size:.82rem;font-weight:800}.root-grid button:hover,.root-grid button.active{border-color:var(--gold);background:var(--gold);color:#171b21}.select-field,.tempo-field{min-width:0;display:block}.select-field select,.tempo-field input,.metronome-tempo input{color:#fff9eb;background:#101721;border:1px solid #ffffff24;border-radius:12px;width:100%;min-height:48px;font-weight:750}.select-field select{padding:0 38px 0 13px}.tempo-field input,.metronome-tempo input{padding:0 54px 0 13px}.workspace-grid{grid-template-columns:minmax(0,1fr) minmax(340px,395px);align-items:start;gap:26px;display:grid}.workspace-main{gap:26px;min-width:0;display:grid}.panel{min-width:0;padding:clamp(22px,3vw,36px);scroll-margin-top:90px}.selected-summary{text-align:right;background:#e8bd5513;border:1px solid #e8bd5542;border-radius:13px;gap:3px;min-width:min(100%,225px);max-width:360px;padding:11px 14px;display:grid}.selected-summary strong{color:var(--gold-bright);font-size:.9rem}.selected-summary span{color:#d7dfe8;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.category-tabs{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.category-tabs button,.segmented-control button{color:#dce4ed;background:#ffffff0b;border:1px solid #ffffff1a;font-weight:780}.category-tabs button{border-radius:11px;align-items:center;gap:8px;padding:10px 13px;font-size:.8rem;display:flex}.category-tabs button span{background:#ffffff17;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:.65rem;display:grid}.category-tabs button:hover,.category-tabs button.active,.segmented-control button:hover,.segmented-control button.active{border-color:var(--gold);color:var(--gold-bright);background:#e8bd5524}.accuracy-note{border-left:4px solid var(--mint);color:#dce9e5;background:#67d2ad14;border-radius:8px 12px 12px 8px;margin:0 0 18px;padding:13px 15px;font-size:.82rem}.type-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px;display:grid}.type-card{background:#090e1552;border:1px solid #ffffff17;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:9px;transition:border-color .16s,transform .16s;display:grid}.type-card:hover{border-color:#76a9df7a;transform:translateY(-1px)}.type-card.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px #e8bd5529}.type-select,.progression-name{text-align:left;background:0 0;border:0;gap:3px;min-width:0;padding:7px 8px;display:grid}.type-select strong,.progression-name strong{color:#fff9ed;font-size:.9rem}.type-select>span,.progression-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.playback-actions{flex-wrap:wrap;gap:8px;display:flex}.playback-actions.compact{flex-wrap:nowrap;gap:4px}.icon-action{color:#eef4fa;background:#ffffff0e;border:1px solid #ffffff1c;border-radius:10px;justify-content:safe center;align-items:center;gap:6px;min-height:38px;padding:7px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.compact .icon-action{width:38px;padding:0}.compact .icon-action span:last-child{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon-action:hover{border-color:var(--blue);color:var(--blue-bright);background:#76a9df24}.instrument-heading{align-items:center}.segmented-control{border:1px solid var(--border);background:#111924;border-radius:13px;grid-auto-flow:column;padding:4px;display:inline-grid}.segmented-control.full{grid-template-columns:1fr 1fr;margin-bottom:20px;display:grid}.segmented-control button{border-radius:9px;min-height:38px;padding:7px 12px;font-size:.75rem}.fretboard-scroll,.piano-scroll{scrollbar-color:var(--gold-deep) #ffffff0d;width:100%;padding:2px 2px 12px;overflow-x:auto}.fretboard-grid{background:linear-gradient(90deg,#ffffff09 1px,#0000 1px),linear-gradient(#6f4b2d,#402a1b);border:1px solid #ffffff2e;border-radius:16px;grid-template-columns:56px repeat(18,minmax(42px,1fr));min-width:890px;display:grid;overflow:hidden}.fret-row-contents{display:contents}.fret-corner,.fret-number,.string-label{color:#cfd8e3;background:#111924;place-items:center;min-height:34px;font-size:.66rem;font-weight:800;display:grid}.fret-number{border-left:1px solid #ffffff14}.string-label{z-index:3;min-height:48px;color:var(--gold-bright);border-top:1px solid #ffffff14;position:sticky;left:0}.fret{background:0 0;border:0;border-top:1px solid #ffffff1f;border-left:2px solid #d6d1be73;place-items:center;min-height:48px;padding:0;display:grid;position:relative}.fret:after{content:"";background:#f2eedc9e;height:1px;position:absolute;top:50%;left:0;right:0;box-shadow:0 1px #00000073}.fret>span{z-index:2;color:#fff;background:#41556d;border:2px solid #ffffff61;border-radius:50%;place-items:center;width:29px;height:29px;font-size:.66rem;font-weight:900;display:grid;position:relative;box-shadow:0 3px 8px #00000059}.fret[data-role=root]>span,.piano-key[data-role=root].active{background:var(--gold);color:#161a20;border-color:#ffe9aa}.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:#ffffff14}.piano-keyboard{background:#111924;border:8px solid #111924;border-radius:15px;grid-template-columns:repeat(25,minmax(31px,1fr));align-items:start;min-width:820px;height:230px;display:grid;overflow:hidden}.piano-key{color:#1b2027;background:#fffaf0;border:1px solid #29313a;border-radius:0 0 6px 6px;justify-content:center;align-items:flex-end;height:100%;padding:0 2px 15px;font-size:.68rem;font-weight:900;display:flex;position:relative}.piano-key.black{z-index:2;color:#fff;background:linear-gradient(#121820,#27313e);height:63%;margin-inline:-6px;box-shadow:0 6px 8px #0000006b}.piano-key.active{box-shadow:inset 0 -16px #76a9df9e}.piano-key.black.active{box-shadow:inset 0 -18px #76a9dfb8,0 6px 8px #0000006b}.tone-legend{color:#d8e0e8;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:12px;font-size:.72rem;display:flex}.tone-legend span{align-items:center;gap:7px;display:inline-flex}.tone-legend i{background:#41556d;border-radius:50%;width:10px;height:10px}.tone-legend i.root{background:var(--gold)}.tone-legend i.third{background:#6a9dd2}.tone-legend i.fifth{background:#65b897}.tone-legend small{color:var(--muted);text-align:right;flex:250px}.primary-button,.secondary-button,.danger-button,.text-button{border-radius:12px;min-height:44px;padding:10px 16px;font-size:.79rem;font-weight:850}.primary-button{border:1px solid var(--gold);background:var(--gold);color:#161b22;box-shadow:0 8px 20px #e8bd5524}.primary-button:hover{background:var(--gold-bright)}.secondary-button{color:var(--blue-bright);background:#76a9df1a;border:1px solid #76a9df80}.danger-button{color:#ffb3a3;background:#ff8e7729;border:1px solid #ff8e77b3}.text-button{color:#dce4ed;text-underline-offset:4px;background:0 0;border:0;text-decoration:underline}.generator-controls{grid-template-columns:repeat(4,minmax(115px,1fr)) minmax(125px,.8fr);gap:10px;margin-bottom:20px;display:grid}.compact-field select{min-height:44px}.tempo-field>div,.metronome-tempo label>div{position:relative}.tempo-field>div>span,.metronome-tempo label>div>span{color:#92a0af;font-size:.65rem;font-weight:850;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.progression-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.progression-card{background:#090e1559;border:1px solid #ffffff1a;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:10px;display:grid}.progression-card.playing{border-color:var(--mint);background:#67d2ad1a;box-shadow:0 0 24px #67d2ad1f}.progression-name{grid-template-columns:auto minmax(0,1fr);align-items:center}.progression-name>span{width:28px;height:28px;color:var(--gold-bright);background:#e8bd551f;border-radius:9px;grid-row:1/span 2;place-items:center;margin-right:6px;font-size:.7rem;font-weight:900;display:grid}.transport-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;padding-top:18px;display:flex}.check-control{color:#e6edf5;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.check-control input{width:18px;height:18px;accent-color:var(--gold)}.transport-row p{color:var(--muted);text-align:right;flex:280px;margin:0;font-size:.74rem}.custom-interval-grid{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px;display:grid}.custom-interval-grid button{text-align:left;background:#090e1557;border:1px solid #ffffff1a;border-radius:12px;gap:2px;min-height:76px;padding:10px;display:grid}.custom-interval-grid button.active{border-color:var(--gold);background:#e8bd551f}.custom-interval-grid strong{color:#fff9ed;font-size:.92rem}.custom-interval-grid span,.custom-interval-grid small{color:var(--muted);font-size:.67rem}.custom-interval-grid small{color:var(--mint)}.builder-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.metronome-panel{padding:22px;scroll-margin-top:90px}.metronome-sticky{position:sticky;top:90px}.compact-heading{align-items:center;margin-bottom:18px}.transport-light{background:#596575;border-radius:50%;width:15px;height:15px;box-shadow:0 0 0 7px #ffffff09}.transport-light.on{background:var(--mint);box-shadow:0 0 0 7px #67d2ad1a,0 0 18px #67d2ad59}.metronome-tempo{grid-template-columns:minmax(0,1fr) 92px;align-items:end;gap:10px;margin-bottom:14px;display:grid}.metronome-tempo input{min-height:64px;font-size:1.5rem;font-weight:900}.tap-button{border:1px solid var(--gold);min-height:64px;color:var(--gold-bright);letter-spacing:.08em;background:#e8bd551f;border-radius:13px;place-items:center;padding:8px;font-size:1rem;font-weight:950;display:grid}.tap-button small{color:#c9d2dc;letter-spacing:0;font-size:.55rem}.meter-controls{grid-template-columns:.8fr 1.2fr;gap:10px;margin-bottom:20px;display:grid}.metronome-pattern-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.metronome-pattern-heading>div{gap:2px;display:grid}.metronome-pattern-heading strong{color:#fff9ed;font-size:.85rem}.metronome-pattern-heading span{color:var(--muted);font-size:.66rem}.metronome-pattern-heading>span{background:#ffffff0f;border-radius:999px;flex:none;padding:5px 8px}.metronome-pattern{grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:6px;display:grid}.metronome-pattern button{background:#090e155c;border:1px solid #ffffff1a;border-radius:11px;place-items:center;gap:3px;min-width:0;min-height:70px;padding:7px 4px;display:grid}.metronome-pattern button.downbeat{border-color:#e8bd557a}.metronome-pattern button i{background:#657184;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 4px #ffffff09}.metronome-pattern button.downbeat i{background:var(--gold)}.metronome-pattern button.flashing i{background:var(--blue-bright);box-shadow:0 0 0 7px #76a9df29,0 0 20px #76a9df99}.metronome-pattern button.downbeat.flashing i{background:var(--gold-bright);box-shadow:0 0 0 7px #e8bd5533,0 0 22px #e8bd55b3}.metronome-pattern button strong{color:#f6f0e6;font-size:.75rem}.metronome-pattern button span{max-width:100%;color:var(--blue-bright);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;font-weight:800;overflow:hidden}.metronome-pattern button.muted{opacity:.5}.metronome-pattern button.muted span{color:#adb6c1}.metronome-start{border:1px solid var(--gold);background:var(--gold);color:#141920;border-radius:13px;width:100%;min-height:52px;margin-top:14px;font-weight:900}.metronome-start.running{border-color:var(--coral);color:#ffb9aa;background:#ff8e7729}.ear-panel{margin-top:26px;scroll-margin-top:90px}.ear-heading>div:first-child>p:last-child{max-width:650px;color:var(--muted);margin:10px 0 0;font-size:.82rem}.ear-score{background:#e8bd5512;border:1px solid #e8bd5540;border-radius:15px;grid-template-columns:auto auto;align-items:center;gap:0 16px;min-width:150px;padding:12px 14px;display:grid}.ear-score>span{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:800}.ear-score>strong{color:var(--gold-bright);grid-area:1/2/span 2;font-size:1.7rem}.ear-score>strong small{font-size:.78rem}.ear-score button{color:#dce4ed;background:0 0;border:0;width:fit-content;padding:0;font-size:.65rem;text-decoration:underline}.ear-challenge-card{background:radial-gradient(circle at 88% 20%,#76a9df21,#0000 18rem),#090e155c;border:1px solid #76a9df47;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:clamp(20px,3vw,30px);display:grid}.ear-challenge-card h3{font-size:clamp(1.4rem,2.5vw,2.1rem)}.ear-challenge-card p:not(.section-kicker){color:var(--muted);margin:7px 0 0;font-size:.78rem}.ear-primary-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.answer-grid{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding-top:20px;display:grid}.answer-grid button{text-align:left;background:#ffffff0b;border:1px solid #ffffff1f;border-radius:12px;gap:3px;min-height:68px;padding:10px 12px;display:grid}.answer-grid button:hover:not(:disabled){border-color:var(--blue)}.answer-grid button.correct{border-color:var(--mint);background:#67d2ad1f}.answer-grid strong{color:#fff9ed;font-size:.82rem}.answer-grid span{color:var(--muted);font-size:.65rem}.ear-selection-toolbar{justify-content:space-between;align-items:center;gap:18px;margin:28px 0 14px;display:flex}.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{gap:7px;display:flex}.ear-selection-toolbar button,.ear-category-heading button{color:#e6edf4;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;min-height:38px;padding:8px 12px;font-size:.7rem;font-weight:800}.ear-category-stack{gap:14px;display:grid}.ear-category{background:#090e1547;border:1px solid #ffffff17;border-radius:18px;padding:clamp(16px,2.4vw,24px)}.ear-category-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.ear-category-heading>div{align-items:baseline;gap:10px;display:flex}.ear-category-heading h3{font-size:1.15rem}.ear-category-heading span{color:var(--muted);font-size:.66rem}.ear-option-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;display:grid}.ear-option-grid button{text-align:left;background:#ffffff09;border:1px solid #ffffff17;border-radius:11px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;min-height:56px;padding:8px 10px;display:grid}.ear-option-grid button.active{background:#67d2ad14;border-color:#67d2ad7a}.ear-option-grid i{color:#132019;border:1px solid #627184;border-radius:6px;place-items:center;width:21px;height:21px;font-size:.72rem;font-style:normal;font-weight:900;display:grid}.ear-option-grid button.active i{border-color:var(--mint);background:var(--mint)}.ear-option-grid button>span{min-width:0;display:grid}.ear-option-grid strong{color:#f7f2e8;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.ear-option-grid small{color:#9eabb9;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;overflow:hidden}.site-footer{color:#aeb9c5;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:30px;margin-top:26px;padding:28px 6px 4px;font-size:.72rem;display:grid}.site-footer>div{display:grid}.site-footer strong{color:#f4eee2}.site-footer p{text-align:center;max-width:720px;margin:0 auto}.site-footer a{color:var(--gold-bright);font-weight:800;text-decoration:none}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.related-shelf{border-top:1px solid var(--border);margin-top:30px;padding-top:26px}.related-heading,.related-group-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.related-kicker,.replacement-kicker,.drum-eyebrow{color:var(--gold-bright);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:.68rem;font-weight:900}.related-title,.replacement-title,.drum-heading h2{color:#fff9ed;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:500}.related-intro,.replacement-intro,.related-group-description,.related-empty{color:var(--muted);margin:6px 0 0;font-size:.73rem}.related-selection-formula,.related-group-count{color:var(--gold-pale);background:#e3c0621c;border-radius:999px;flex:none;padding:6px 9px;font-size:.65rem;font-weight:800}.related-groups{gap:20px;margin-top:20px;display:grid}.related-group-title{color:#fff9ed;margin:0;font-size:.92rem}.related-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:10px;display:grid}.related-card{background:#090e154d;border:1px solid #ffffff1a;border-radius:14px;padding:10px;display:grid}.related-card-select{text-align:left;background:0 0;border:0;gap:2px;padding:5px;display:grid}.related-card-kind{color:var(--gold-bright);text-transform:uppercase;font-size:.58rem;font-weight:900}.related-card-title{color:#fff9ed;font-size:.82rem}.related-card-formula,.related-tone-summary{color:var(--muted);font-size:.62rem}.related-tone-summary{border-top:1px solid #ffffff14;gap:2px;margin:7px 5px;padding-top:7px;display:grid}.related-tone-summary strong{color:#dce5ee}.related-card-actions{grid-template-columns:1fr 1fr;gap:5px;display:grid}.related-card-actions button{color:#eaf0f5;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:9px;min-height:36px;font-size:.62rem;font-weight:800}.substitution-lab{background:#e3c0620e;border:1px solid #e3c06233;border-radius:16px;margin:0 0 20px;padding:16px}.substitution-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:11px;display:flex}.substitution-heading>div,.substitution-heading label,.substitution-toggle-grid button>span{display:grid}.substitution-heading strong,.custom-sequence-heading strong{color:#fff9ed;font-size:.82rem}.substitution-heading span,.custom-sequence-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{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.substitution-toggle-grid button{text-align:left;background:#090e154d;border:1px solid #ffffff1a;border-radius:11px;grid-template-columns:23px minmax(0,1fr);align-items:center;gap:8px;min-height:62px;padding:8px;display:grid}.substitution-toggle-grid button i{border:1px solid #607083;border-radius:6px;place-items:center;width:22px;height:22px;font-size:.68rem;font-style:normal;font-weight:950;display:grid}.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:#e3c0621f}.substitution-toggle-grid button.active i{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink)}.progression-card-actions{justify-items:end;gap:5px;display:grid}.progression-name em{width:fit-content;color:var(--gold-pale);background:#e3c06221;border-radius:999px;grid-column:2;padding:3px 6px;font-size:.55rem;font-style:normal;font-weight:850}.replace-chord-button{min-height:30px;color:var(--gold-pale);background:0 0;border:1px solid #e3c06259;border-radius:8px;padding:4px 8px;font-size:.58rem;font-weight:850}.replacement-menu{background:#10171f;border:1px solid #e3c06261;border-radius:18px;margin-top:18px;padding:clamp(16px,2.4vw,24px)}.replacement-heading,.replacement-context,.replacement-section-summary,.replacement-candidate{justify-content:space-between;align-items:center;gap:14px;display:flex}.replacement-close{background:#ffffff0d;border:1px solid #ffffff24;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:1.4rem;display:grid}.replacement-context{color:var(--muted);background:#ffffff0b;border-radius:12px;justify-content:flex-start;margin:16px 0;padding:11px;font-size:.66rem}.replacement-current-chord{display:grid}.replacement-current-chord strong{color:var(--gold-pale)}.replacement-section{border-top:1px solid #ffffff1a}.replacement-section-summary{cursor:pointer;min-height:62px;list-style:none}.replacement-section-summary::-webkit-details-marker{display:none}.replacement-section-copy,.replacement-candidate-identity,.replacement-candidate-meta{display:grid}.replacement-section-title,.replacement-candidate-symbol{color:#fff9ed;font-size:.78rem}.replacement-section-description,.replacement-candidate-explanation,.replacement-candidate-meta,.replacement-search-status,.replacement-result-limit,.replacement-empty{color:var(--muted);font-size:.6rem}.replacement-section-count,.replacement-candidate-action{color:var(--gold-pale);background:#e3c0621c;border-radius:999px;padding:4px 7px;font-size:.6rem;font-weight:850}.replacement-section-content{padding:0 0 15px}.replacement-candidate-list{gap:5px;display:grid}.replacement-candidate{text-align:left;background:#ffffff09;border:1px solid #ffffff17;border-radius:10px;width:100%;min-height:56px;padding:9px 10px}.replacement-candidate:hover{border-color:var(--gold-bright)}.replacement-candidate-explanation{flex:auto}.replacement-search-field{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:9px;display:grid}.replacement-search-label{color:#e9eef3;font-size:.65rem;font-weight:800}.replacement-search-input{background:var(--ink);color:#fff;border:1px solid #ffffff21;border-radius:10px;min-height:42px;padding:0 12px}.chord-identity{border-left:4px solid var(--gold-bright);background:#e3c06214;border-radius:0 12px 12px 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;display:grid}.chord-identity span,.chord-identity small{color:var(--muted);font-size:.65rem}.chord-identity strong{color:var(--gold-pale)}.custom-sequence{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.custom-sequence-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.custom-sequence-heading>div{gap:8px;display:flex}.custom-sequence-heading>div:first-child{display:grid}.custom-sequence-empty{color:var(--muted);margin:12px 0 0;font-size:.72rem}.custom-sequence-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-top:12px;display:grid}.custom-sequence-grid article{background:#090e154d;border:1px solid #ffffff17;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px;display:grid}.custom-sequence-grid article>span{width:25px;height:25px;color:var(--gold-pale);background:#e3c0621f;border-radius:8px;place-items:center;font-size:.62rem;font-weight:900;display:grid}.custom-sequence-grid article>button:not(.custom-remove){text-align:left;background:0 0;border:0;min-width:0;padding:3px;display:grid}.custom-sequence-grid strong{color:#fff9ed;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.custom-sequence-grid small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;overflow:hidden}.custom-remove{color:#ffb4a5;background:#ff8e771a;border:0;border-radius:50%;width:28px;height:28px}.metronome-sound-legend{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:9px;display:grid}.metronome-sound-legend span{color:var(--muted);align-items:center;gap:5px;font-size:.58rem;font-weight:800;display:flex}.metronome-sound-legend i{background:var(--gold-bright);border-radius:2px;width:8px;height:8px}.metronome-beat-pattern{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.metronome-beat-group{background:#090e1559;border:1px solid #ffffff1a;border-radius:12px;min-width:0;padding:8px}.metronome-beat-group.downbeat-group{border-color:#e3c0626b}.metronome-beat-number{color:var(--gold-pale);margin-bottom:5px;font-size:.62rem;display:block}.metronome-beat-steps{gap:4px;display:grid}.metronome-step-column{justify-items:center;gap:4px;min-width:0;display:grid}.metronome-step-light{background:#566474;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 3px #ffffff08}.metronome-step-column.downbeat .metronome-step-light{background:#806f43;width:13px;height:13px}.metronome-step-light.flashing{background:var(--gold-pale);box-shadow:0 0 0 6px #f2df9d21,0 0 18px #f2df9db3}.metronome-step-column.downbeat .metronome-step-light.flashing{background:var(--gold-bright);box-shadow:0 0 0 7px #e3c0622e,0 0 22px #e3c062bf}.metronome-count-label{color:#d9e1e9;min-height:16px;font-size:.58rem;font-weight:850}.metronome-sound-stack{gap:3px;width:100%;display:grid}.metronome-sound-block{background:var(--ink-3);border:1px solid #ffffff14;border-radius:5px;width:100%;min-width:0;min-height:28px;padding:0}.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 #b1913a3d}.ear-playback-choice{background:#e3c0620e;border:1px solid #e3c06233;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:12px 14px;display:flex}.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{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:radial-gradient(circle at 88% 5%,#e3c0621c,#0000 25rem),linear-gradient(160deg,#283341fa,#121921fa);margin-top:26px;padding:clamp(22px,3vw,36px);scroll-margin-top:90px}.drum-heading,.drum-controls,.drum-transport,.drum-control-actions,.drum-legend{align-items:center;gap:12px;display:flex}.drum-heading{justify-content:space-between;margin-bottom:20px}.drum-heading-copy p{max-width:660px;color:var(--muted);margin:7px 0 0;font-size:.76rem}.drum-transport{flex-direction:column;align-items:flex-end}.drum-play-button,.drum-secondary-button,.drum-tertiary-button{border-radius:999px;min-height:44px;padding:8px 14px;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);color:#ffc1b5;background:#ff8e7724}.drum-status{color:var(--muted);font-size:.61rem}.drum-controls{grid-template-columns:1.2fr .65fr 1fr auto;align-items:end;margin-bottom:15px;display:grid}.drum-field{color:var(--muted);text-transform:uppercase;gap:6px;font-size:.64rem;font-weight:850;display:grid}.drum-field select,.drum-field input[type=number]{background:var(--ink);color:#fff;border:1px solid #ffffff21;border-radius:10px;width:100%;min-height:44px;padding:0 12px}.drum-input-with-unit{display:block;position:relative}.drum-input-with-unit>span{color:var(--muted);font-size:.58rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.drum-swing-field input{accent-color:var(--gold-bright)}.drum-secondary-button{border:1px solid var(--gold-bright);color:var(--gold-pale);background:#e3c0621a}.drum-tertiary-button{color:#e3eaf1;background:#ffffff0a;border:1px solid #ffffff21}.drum-legend{color:var(--muted);flex-wrap:wrap;margin-bottom:10px;font-size:.62rem}.drum-legend span{align-items:center;gap:5px;display:inline-flex}.drum-legend-dot{background:var(--ink-3);border-radius:3px;width:10px;height:10px}.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{padding-bottom:8px;overflow-x:auto}.drum-sequencer{min-width:1040px}.drum-ruler,.drum-row{grid-template-columns:190px minmax(800px,1fr);align-items:center;gap:8px;display:grid}.drum-ruler{margin-bottom:5px}.drum-ruler-label{color:var(--muted);text-transform:uppercase;font-size:.6rem;font-weight:850}.drum-step-grid{grid-template-columns:repeat(16,minmax(42px,1fr));gap:4px;display:grid}.drum-step-light{color:var(--muted);justify-items:center;gap:2px;font-size:.55rem;display:grid}.drum-step-light i{background:#556373;border-radius:50%;width:8px;height:8px}.drum-step-light.drum-is-current i{background:var(--gold-pale);box-shadow:0 0 12px #f2df9dbf}.drum-step-light[data-beat-start=true] i{width:11px;height:11px}.drum-row-head{gap:3px;display:grid}.drum-row-head label{color:#fff9ed;font-size:.7rem;font-weight:850}.drum-row-head select{background:var(--ink);color:#fff;border:1px solid #ffffff21;border-radius:9px;width:100%;min-height:40px;padding:0 9px;font-size:.63rem}.drum-step{min-height:48px;color:var(--gold-pale);background:#ffffff0b;border:1px solid #ffffff1a;border-radius:7px;padding:0}.drum-step[data-beat-start=true]{border-left:3px solid #e3c06280}.drum-step.drum-is-ghost{background:#b1913a1c;border-color:#9d8752}.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 #e3c06259}.drum-step-mark{font-size:.86rem}.instrument-visualizer{gap:18px;display:grid}.instrument-fretboard-region,.piano-region{scrollbar-color:var(--gold-deep) #ffffff0d;width:100%;padding:2px 2px 12px;overflow-x:auto}.fret-board{--string-column:64px;background:radial-gradient(circle at 24% 0,#ffffff0e,#0000 31rem),linear-gradient(145deg,#6b472d,#362419 72%);border:1px solid #ffffff2e;border-radius:16px;min-width:930px;overflow:hidden;box-shadow:inset 0 0 38px #00000052}.fret-header{grid-template-columns:var(--string-column) repeat(17, minmax(48px, 1fr));background:var(--ink);min-height:34px;display:grid}.fret-string-heading,.fret-header .fret-number{color:#aeb9c6;background:0 0;border-left:1px solid #ffffff12;place-items:center;min-height:34px;font-size:.6rem;font-weight:850;display:grid}.fret-string-heading{color:var(--gold-pale);border-left:0}.fret-header .fret-number.fret-landmark{color:var(--gold-bright)}.fret-string-row{grid-template-columns:var(--string-column) minmax(0, 1fr);border-top:1px solid #ffffff12;min-height:57px;display:grid;position:relative}.fret-open-string-cell{z-index:3;background:#121921f5;grid-column:1;place-items:center;display:grid;position:relative}.fret-string-button{background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.fret-string-button:hover{background:#ffffff12}.fret-string-name,.fret-open-string-marker{color:#d7e0e9;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:32px;height:32px;font-size:.72rem;font-weight:900;display:grid}.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{top:50%;right:0;left:var(--string-column);z-index:1;pointer-events:none;background:#f4edd6d1;height:1px;position:absolute;box-shadow:0 1px 1px #000000b8}.fret-string-row:nth-child(n+4) .fret-string-line{height:2px}.fret-cells{z-index:2;grid-column:2;grid-template-columns:repeat(17,minmax(48px,1fr));display:grid}.fret-cell{border-left:2px solid #dad8ca7a;place-items:center;min-height:57px;display:grid;position:relative}.fret-cell.fret-landmark{background:#e3c06209}.fret-note-button{background:0 0;border:0;place-items:center;width:100%;height:100%;padding:0;display:grid}.fret-note-button:hover{background:#ffffff12}.fret-note-marker,.piano-note-marker,.instrument-legend-swatch{border:2px solid color-mix(in srgb, var(--interval-color) 70%, white);background:var(--interval-color);color:var(--interval-ink,#fff);border-radius:50%;place-items:center;font-weight:950;display:grid;box-shadow:0 4px 13px #04090e57}.fret-note-marker{width:31px;height:31px;font-size:.58rem}.instrument-visually-hidden,.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.piano-region{padding-top:4px}.piano-region .piano-keyboard{border:10px solid var(--ink);background:var(--ink);border-top-width:18px;border-radius:13px;min-width:720px;height:254px;margin:0;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 14px 28px #03080d57}.piano-white-keybed{gap:0;width:100%;height:100%;display:flex}.piano-key-button{place-items:end center;padding:0;display:grid;position:relative}.piano-white-key{background:linear-gradient(92deg,#dadbdd 0,#fff 13%,#f8f8f6 82%,#c9cbcd 100%);border:0;border-left:1px solid #aeb2b7;border-radius:0 0 4px 4px;flex:none;height:100%;padding-bottom:17px;box-shadow:inset 0 -8px 10px #272b301a}.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{z-index:2;pointer-events:none;position:absolute;inset:0}.piano-black-key{pointer-events:auto;background:linear-gradient(90deg,#080b0e,#29313a 48%,#07090b);border:1px solid #050708;border-radius:0 0 5px 5px;height:62%;padding-bottom:10px;position:absolute;top:0;box-shadow:0 7px 8px #0000007a}.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 #0000007a}.instrument-interval-legend{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.instrument-legend-item{color:#dce4ec;background:#090e154f;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:7px;min-height:40px;padding:5px 10px 5px 6px;display:inline-flex}.instrument-legend-swatch{width:28px;height:28px;font-size:.57rem}.instrument-legend-label{font-size:.64rem;font-weight:800}.instrument-legend-empty{color:var(--muted);margin:0;font-size:.72rem}.interval-root{--interval-color:#e3c062;--interval-ink:#18202a}.interval-minor-2{--interval-color:#e95596;--interval-ink:#fff}.interval-major-2{--interval-color:#4d8bc9;--interval-ink:#fff}.interval-minor-3{--interval-color:#d94e59;--interval-ink:#fff}.interval-major-3{--interval-color:#4f9d70;--interval-ink:#fff}.interval-perfect-4{--interval-color:#4b5662;--interval-ink:#fff}.interval-tritone{--interval-color:#9266aa;--interval-ink:#fff}.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:#fff}.interval-major-7{--interval-color:#376fae;--interval-ink:#fff}.harmony-app{width:100%;max-width:none;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{z-index:80;scrollbar-width:none;border-radius:16px;flex-wrap:nowrap;justify-content:center;width:100%;margin:10px auto 8px;position:sticky;top:6px;overflow-x:auto}.section-nav::-webkit-scrollbar{display:none}.section-nav a{flex:none}.section-nav .section-nav-home{color:var(--gold-pale);background:#e3c06214;border:1px solid #e3c06257}.control-deck,.panel,.drum-trainer{padding:clamp(16px,1.6vw,24px)}.control-deck,.workspace-main,.ear-panel,.drum-trainer{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{border-radius:8px;min-height:34px;padding:4px 2px;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{background:#e3c0620e;border:1px solid #e3c06238;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:-3px 0 13px;padding:9px 11px;display:flex}.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{color:#dce5ee;background:#ffffff0d;border:1px solid #ffffff21;border-radius:999px;min-height:34px;padding:6px 10px;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{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:#e3c06252;margin-bottom:18px;padding:11px;scroll-margin-top:8px;position:sticky;top:59px;box-shadow:0 15px 38px #03080e57}.metronome-toolbar .metronome-sticky{grid-template-columns:minmax(116px,.62fr) minmax(215px,1.18fr) minmax(180px,.82fr) minmax(245px,1.15fr) minmax(125px,.64fr);align-items:end;gap:8px 10px;display:grid;position:static}.metronome-title,.metronome-toolbar .metronome-sync,.metronome-toolbar .metronome-tempo,.metronome-toolbar .meter-controls,.metronome-toolbar .metronome-start,.metronome-toolbar .metronome-pattern-heading,.metronome-toolbar .metronome-sound-legend{margin:0}.metronome-sync-status{background:#67d2ad0e;border:1px solid #67d2ad33;border-radius:10px;align-content:center;min-height:42px;padding:5px 9px;display:grid}.metronome-sync-status span,.metronome-sync-status small{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 .tap-button,.metronome-toolbar .select-field select,.metronome-toolbar .tempo-field input{min-height:42px}.metronome-toolbar .metronome-tempo input{font-size:1rem}.metronome-toolbar .tap-button{min-height:42px;font-size:.78rem}.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;display:grid}.metronome-toolbar .metronome-beat-group{border-radius:9px;padding:5px}.metronome-toolbar .metronome-beat-number{margin-bottom:2px}.metronome-toolbar .metronome-beat-steps,.metronome-toolbar .metronome-step-column{gap:2px}.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{border-radius:3px;min-height:12px}.related-shelf{margin-top:16px;padding-top:14px}.related-heading{align-items:center;min-height:32px}.related-selection-formula{text-overflow:ellipsis;white-space:nowrap;max-width:min(58%,44rem);overflow:hidden}.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{border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;min-height:54px;padding:5px}.related-card-placeholder{visibility:hidden;pointer-events:none}.related-card-empty{text-align:center;justify-content:center;align-items:center;display:flex}.related-card-empty .related-empty{margin:0}.related-card-select{min-width:0;padding:2px 3px}.related-card-title,.related-card-formula{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px 12px;display:flex}.map-instrument-switch{grid-template-columns:repeat(6,32px);gap:3px;display:grid}.map-instrument-switch button,.map-back-button{color:#e4ebf2;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;min-height:32px;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{color:var(--gold-pale);padding:5px 9px}.map-sync-control{font-size:.65rem}.instrument-panel,.instrument-visualizer,.instrument-fretboard-region,.piano-region,.fret-board,.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{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.voice-leading-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:8px;display:flex}.voice-leading-heading h3{color:#fff9ed;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.voice-leading-heading p:not(.section-kicker){color:var(--muted);margin:4px 0 0;font-size:.65rem}.voice-leading-heading>span,.voice-movement-total,.voice-range-label{color:var(--mint);background:#67d2ad17;border-radius:999px;flex:none;padding:5px 8px;font-size:.6rem;font-weight:800}.voice-leading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.voice-range-label{color:#bedcff;background:#76a9df17}.voice-reset-route{min-height:28px;color:var(--gold-pale);background:#e3c06212;border:1px solid #e3c06242;border-radius:999px;padding:5px 9px;font-size:.57rem;font-weight:850}.voice-reset-route:disabled{opacity:.42}.voice-leading-stack{gap:4px;display:grid}.voice-row{grid-template-columns:minmax(195px,.42fr) minmax(620px,1.58fr);align-items:stretch;gap:7px;min-width:0;display:grid}.voice-row-label{text-align:left;background:#090e1557;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:1px 7px;min-width:0;padding:6px 8px;display:grid;position:relative}.voice-row-label>span{width:22px;height:22px;color:var(--gold-bright);background:#e3c0621f;border-radius:6px;grid-row:1/span 2;place-items:center;font-size:.58rem;font-weight:900;display:grid}.voice-row-label strong{color:#fff9ed;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.voice-row-label small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;overflow:hidden}.voice-row-label i{color:var(--gold-pale);grid-area:1/3/span 2;font-size:.62rem;font-style:normal}.voice-pitch-lane{background:#111821;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:repeat(25,minmax(18px,1fr));min-width:620px;display:grid;overflow:hidden}.voice-pitch-cell{color:#0000;background:#e9e8e2;border:0;border-left:1px solid #1a20273b;place-items:center;min-width:0;min-height:46px;padding:0;font-size:.48rem;font-weight:950;display:grid;position:relative}.voice-pitch-cell.black{background:#303a46}.voice-pitch-cell.octave-boundary{border-left:2px solid #e3c062b8}.voice-pitch-cell.chord-tone{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);grid-template-rows:1fr auto}.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 #ffffffb8, 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{color:inherit;align-self:end;font-size:.5rem;line-height:1}.voice-interval-degree{color:inherit;align-self:start;margin-top:3px;font-size:.43rem;line-height:1}#practice-track{scroll-margin-top:225px}.practice-sync-controls{color:#fff;background:linear-gradient(120deg,#283341fa,#121921fa);border:1px solid #e3c06240;border-radius:14px;grid-template-columns:minmax(170px,.65fr) minmax(440px,1.8fr) minmax(155px,.6fr);align-items:center;gap:10px;margin:-8px 0 18px;padding:9px 11px;display:grid;box-shadow:0 12px 28px #03080e38}.practice-sync-controls.is-running{border-color:#67d2ad8a}.practice-sync-summary{justify-content:space-between;align-items:center;gap:9px;min-width:0;display:flex}.practice-sync-summary>div{min-width:0;display:grid}.practice-sync-kicker{color:var(--gold-bright);letter-spacing:.12em;text-transform:uppercase;font-size:.48rem;font-weight:850}.practice-sync-summary strong{color:#fff9ed;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:500;overflow:hidden}.practice-sync-bpm{text-align:right;min-width:48px;display:grid}.practice-sync-bpm strong{color:var(--mint);font-family:inherit;font-size:.86rem;font-weight:900}.practice-sync-bpm span{color:var(--muted);letter-spacing:.1em;font-size:.45rem;font-weight:800}.practice-sync-modules{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0;margin:0;padding:0;display:grid}.practice-sync-module{background:#ffffff09;border:1px solid #ffffff1a;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;min-height:42px;padding:5px 7px;display:grid}.practice-sync-module.is-enabled{background:#76a9df12;border-color:#76a9df4d}.practice-sync-module.is-master{border-color:#e3c06294;box-shadow:inset 0 0 0 1px #e3c06214}.practice-sync-toggle,.practice-master-choice{cursor:pointer;align-items:center;gap:5px;min-width:0;display:flex}.practice-sync-toggle input,.practice-master-choice input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.practice-sync-toggle-track{background:#4a5664;border-radius:999px;flex:none;width:28px;height:16px;transition:background .15s;position:relative}.practice-sync-toggle-track i{background:#fff;border-radius:50%;width:10px;height:10px;transition:transform .15s;position:absolute;top:3px;left:3px}.practice-sync-toggle input:checked+.practice-sync-toggle-track{background:#417cb9}.practice-sync-toggle input:focus-visible+.practice-sync-toggle-track,.practice-master-choice input:focus-visible+span{outline-offset:2px;outline:2px solid #fff}.practice-sync-module-name{color:#eaf0f6;text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;font-weight:850;overflow:hidden}.practice-sync-module-short{display:none}.practice-master-choice{color:var(--muted);font-size:.5rem;font-weight:850}.practice-master-choice>span{border:1px solid #7b8794;border-radius:50%;place-items:center;width:11px;height:11px;display:grid}.practice-master-choice input:checked+span{border:3px solid var(--gold-bright);background:var(--ink)}.practice-sync-transport{color:#c9ffed;background:#67d2ad1a;border:1px solid #67d2ad6b;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:7px 10px;font-size:.62rem;font-weight:900;display:flex}.practice-sync-transport.is-running{color:#ffd2c8;background:#ff8e771f;border-color:#ff8e7794}.practice-sync-transport-icon{font-size:.62rem}.drum-row-mix{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:5px;display:grid}.drum-row-mute{color:#dce4ec;background:#ffffff0d;border:1px solid #ffffff21;border-radius:6px;width:28px;height:25px;padding:0;font-size:.58rem;font-weight:900}.drum-row-mute.drum-is-muted{border-color:var(--coral);color:#ffc0b3;background:#ff8e7726}.drum-row-volume,.drum-row-volume input{width:100%}.sr-only{clip:rect(0 0 0 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!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{border-radius:24px;grid-template-columns:1fr;gap:18px;min-height:0;padding:26px 24px}.harmony-hero-mark{display:none}.section-nav{border-radius:14px;justify-content:flex-start;position:sticky}.global-controls-grid{grid-template-columns:1fr}.root-grid{grid-template-columns:repeat(4,1fr)}.harmony-section-heading,.control-heading{align-items:stretch}.generator-controls,.answer-grid{grid-template-columns:repeat(2,1fr)}.substitution-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.replacement-search-field,.ear-challenge-card{grid-template-columns:1fr}.ear-primary-actions{justify-content:flex-start}.site-footer{text-align:center;grid-template-columns:1fr;gap:12px}.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{text-align:center;flex:none}.control-heading,.harmony-section-heading,.ear-selection-toolbar,.ear-category-heading{flex-direction:column}.audio-status,.selected-summary{text-align:left;width:100%;max-width:none}.root-grid{grid-template-columns:repeat(3,1fr)}.instrument-selector-grid,.substitution-toggle-grid,.metronome-beat-pattern,.type-grid,.progression-grid,.generator-controls,.meter-controls,.metronome-tempo{grid-template-columns:1fr}.transport-row p,.tone-legend small{text-align:left}.ear-score{width:100%}.answer-grid{grid-template-columns:1fr}.ear-selection-toolbar>div:last-child{width:100%}.ear-playback-choice,.substitution-heading,.custom-sequence-heading,.drum-heading{flex-direction:column;align-items:stretch}.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{flex-direction:column;align-items:flex-start;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{padding-bottom:4px;overflow-x:auto}.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-title,.metronome-toolbar .metronome-tempo,.metronome-toolbar .metronome-pattern-heading{grid-column:1}.metronome-toolbar .metronome-sync,.metronome-toolbar .meter-controls,.metronome-toolbar .metronome-sound-legend{grid-column:2}.metronome-toolbar .metronome-start,.metronome-toolbar .metronome-beat-pattern{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{flex-direction:column;align-items:stretch}.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{flex-direction:column;align-items:flex-start}.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)}#explore,#instrument-map,#generator,#song-atlas,#ear-training,#rhythm-trainer,#practice-track{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>*,.metronome-toolbar .meter-controls input,.metronome-toolbar .meter-controls select{min-width:0;max-width:100%}.practice-sync-toggle,.practice-master-choice{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:translate(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 span,.metronome-sync-status small{font-size:.57rem}.voice-leading-stack{overscroll-behavior-x:contain}@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,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-area:1/1}.metronome-toolbar .metronome-sync{grid-area:1/2}.metronome-toolbar .metronome-tempo{grid-area:2/1;grid-template-columns:minmax(0,1fr) 46px}.metronome-toolbar .meter-controls{grid-area:2/2;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}.metronome-toolbar .metronome-start{grid-area:3/1}.metronome-toolbar .metronome-pattern-heading{grid-area:3/2}.metronome-toolbar .metronome-sound-legend{grid-area:4/1/auto/-1}.metronome-toolbar .metronome-beat-pattern{grid-area:5/1/auto/-1}.metronome-sync-status small,.metronome-pattern-heading>div>span{display:none}.metronome-toolbar label>span,.metronome-toolbar .select-field>span,.metronome-toolbar .tempo-field>span{margin-bottom:2px;font-size:.52rem}.metronome-toolbar .meter-controls .tempo-field input{padding-left:7px;padding-right:22px;font-size:.78rem}.metronome-toolbar .meter-controls .tempo-field>div>span{right:5px}.metronome-toolbar .meter-controls select{padding-left:7px;padding-right:24px;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 :before,.harmony-app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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{flex:auto;align-items:center;gap:clamp(8px,1.25vw,17px);min-width:0;display:flex;overflow:hidden}#generator.is-collapsed .generator-heading-main h2{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:min(37vw,310px);overflow:hidden}#generator.is-collapsed .generator-heading-main>.generator-collapsed-progression{overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap;flex:auto;align-items:center;gap:3px;min-width:0;padding:2px 1px;overflow-x:auto;display:flex!important}#generator.is-collapsed .generator-collapsed-progression::-webkit-scrollbar{display:none}#generator.is-collapsed .generator-collapsed-progression>span{color:#f7eddb;letter-spacing:-.015em;background:#fff1;border:1px solid #e3c0623d;border-radius:999px;flex:none;justify-content:center;align-items:center;min-height:25px;padding:3px 7px;font-size:clamp(.62rem,.78vw,.74rem);font-weight:900;line-height:1;display:inline-flex;position:relative}#generator.is-collapsed .generator-collapsed-progression>span:not(:last-child):after{color:#e3c0629e;content:"›";position:absolute;right:-4px;transform:translate(50%)}#generator.is-collapsed .generator-collapsed-progression>span.is-substitution{background:#6d89ad33;border-color:#6d89add1}#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 #e3c0622b}#generator.is-collapsed .section-heading-actions{flex:none;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:#fff;--atlas-gold:#b1913a;--atlas-gold-bright:#e3c062;--atlas-blue:#6d89ad;--atlas-muted:#66717d;--atlas-line:#28334124;--atlas-shadow:0 20px 56px #161d261f;width:min(1380px,100% - clamp(28px,6vw,92px));color:var(--atlas-ink-2);margin:0 auto;padding:clamp(20px,3vw,42px) 0 clamp(60px,8vw,110px);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,background-color .16s,border-color .16s,box-shadow .16s,transform .16s}.harmony-atlas-hero{isolation:isolate;color:#fffaf0;box-shadow:var(--atlas-shadow);background:radial-gradient(circle at 88% 14%,#6d89ad40,#0000 29rem),linear-gradient(145deg,#121921 0%,#243143 100%);border:1px solid #e3c06238;border-radius:28px;padding:clamp(28px,5vw,66px);position:relative;overflow:hidden}.harmony-atlas-hero:after{z-index:-1;content:"";border:1px solid #e3c06229;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-220px;right:-100px;box-shadow:0 0 0 54px #e3c06206,0 0 0 108px #e3c06205}.harmony-atlas-hero>nav{color:#b9c5d2;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:clamp(24px,4vw,48px);font-size:.72rem;font-weight:750;display:flex}.harmony-atlas-hero>nav a:hover{color:var(--atlas-gold-bright)}.harmony-atlas-hero>p:first-of-type{color:var(--atlas-gold-bright);letter-spacing:.15em;text-transform:uppercase;margin:0 0 9px;font-size:.71rem;font-weight:900}.harmony-atlas-hero h1{color:#fffaf0;letter-spacing:-.055em;max-width:990px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,5.2vw,5.2rem);font-weight:500;line-height:.98}.harmony-atlas-hero>p:last-of-type{color:#cfdae5;max-width:900px;margin:clamp(20px,3vw,32px) 0 0;font-size:clamp(.92rem,1.2vw,1.05rem)}.harmony-atlas-hero>div,.harmony-atlas-cta>div:last-child{flex-wrap:wrap;gap:9px;margin-top:24px;display:flex}.harmony-atlas-hero>div a,.harmony-atlas-cta>div:last-child a{text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:9px 16px;font-size:.76rem;font-weight:850;line-height:1.2;display:inline-flex}.harmony-atlas-hero>div a:first-child,.harmony-atlas-cta>div:last-child a:first-child{border-color:var(--atlas-gold-bright);background:var(--atlas-gold-bright);color:var(--atlas-ink)}.harmony-atlas-hero>div a:last-child,.harmony-atlas-cta>div:last-child a:last-child{color:#fffaf0;background:#ffffff12;border-color:#ffffff38}.harmony-atlas-hero>div a:hover,.harmony-atlas-cta>div:last-child a:hover{border-color:var(--atlas-gold-bright);transform:translateY(-2px)}.harmony-atlas-browser{border:1px solid var(--atlas-line);background:#ffffffd6;border-radius:23px;margin-top:16px;padding:clamp(22px,3vw,38px);box-shadow:0 14px 38px #12192111}.harmony-atlas-browser>form{border:1px solid var(--atlas-line);background:var(--atlas-cream);border-radius:17px;grid-template-columns:minmax(190px,.25fr) minmax(0,.75fr);align-items:center;gap:16px;padding:15px;display:grid}.harmony-atlas-browser>form>label{color:var(--atlas-ink);font-size:.76rem;font-weight:850;line-height:1.3}.harmony-atlas-browser>form>div{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;display:grid}.harmony-atlas-browser input{background:var(--atlas-white);width:100%;min-height:44px;color:var(--atlas-ink);border:1px solid #28334138;border-radius:11px;padding:8px 13px;font-size:.8rem}.harmony-atlas-browser input::placeholder{color:#89939e}.harmony-atlas-browser form button,.harmony-atlas-browser form a,.harmony-atlas-empty a{border:1px solid var(--atlas-ink-2);background:var(--atlas-ink-2);color:#fffaf0;white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:8px 14px;font-size:.73rem;font-weight:850;display:inline-flex}.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{justify-content:space-between;align-items:end;gap:20px;margin:clamp(25px,4vw,40px) 0 13px;display:flex}.harmony-atlas-results-heading p{color:var(--atlas-gold);letter-spacing:.11em;text-transform:uppercase;margin:0 0 3px;font-size:.68rem;font-weight:900}.harmony-atlas-results-heading h2{color:var(--atlas-ink);letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500;line-height:1}.harmony-atlas-results-heading>span{color:var(--atlas-muted);flex:none;font-size:.72rem;font-weight:800}.harmony-atlas-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.harmony-atlas-list>li{border:1px solid var(--atlas-line);background:var(--atlas-white);border-radius:11px;padding:0}.harmony-atlas-song-open{border-radius:inherit;width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(170px,.25fr) minmax(360px,.55fr) minmax(150px,.2fr) auto;align-items:center;gap:clamp(12px,2vw,28px);padding:11px 13px;display:grid}.harmony-atlas-list>li:nth-child(2n){background:#f7eddb7a}.harmony-atlas-list>li:hover{border-color:#b1913a85;box-shadow:0 7px 18px #12192111}.harmony-atlas-song-meta{gap:3px;min-width:0;display:grid}.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-chart{color:var(--atlas-ink-2);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(.67rem,.78vw,.76rem);font-weight:650;line-height:1.55}.harmony-atlas-chart strong{color:#806720;letter-spacing:.03em;text-transform:uppercase;font-family:Montserrat,Avenir Next,Avenir,sans-serif;font-size:.86em;font-weight:900}.harmony-atlas-source{color:#79848f;text-align:right;margin:0;font-size:.61rem;font-weight:650;line-height:1.35}.harmony-atlas-open-hint{color:#806720;white-space:nowrap;font-size:.62rem;font-weight:900}.harmony-atlas-list>li:focus-within{outline-offset:2px;outline:3px solid #b1913a75}.harmony-atlas-empty{background:var(--atlas-cream);text-align:center;border:1px dashed #2833413d;border-radius:17px;padding:clamp(28px,5vw,54px)}.harmony-atlas-empty h3{color:var(--atlas-ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.harmony-atlas-empty p{color:var(--atlas-muted);margin:8px 0 17px;font-size:.82rem}.harmony-atlas-pagination{justify-content:center;align-items:center;gap:6px;margin-top:23px;display:flex}.harmony-atlas-pagination>a,.harmony-atlas-pagination>span>a{border:1px solid var(--atlas-line);background:var(--atlas-white);min-width:36px;min-height:36px;color:var(--atlas-ink-2);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;padding:6px 10px;font-size:.7rem;font-weight:850;display:inline-flex}.harmony-atlas-pagination>a:hover,.harmony-atlas-pagination>span>a:hover,.harmony-atlas-pagination [aria-current=page]{border-color:var(--atlas-ink-2);background:var(--atlas-ink-2);color:#fffaf0}.harmony-atlas-pagination>span{align-items:center;gap:6px;display:inline-flex}.harmony-atlas-pagination>span>span{color:var(--atlas-muted);font-weight:800}.harmony-atlas-cta{color:#d5dfe9;box-shadow:var(--atlas-shadow);background:radial-gradient(circle at 89% 12%,#6d89ad3d,#0000 24rem),linear-gradient(145deg,#121921,#283341);border:1px solid #e3c06242;border-radius:23px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:clamp(24px,4vw,60px);margin-top:16px;padding:clamp(26px,4vw,48px);display:grid}.harmony-atlas-cta>div:first-child>p:first-child{color:var(--atlas-gold-bright);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.69rem;font-weight:900}.harmony-atlas-cta h2{color:#fffaf0;letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.8rem);font-weight:500;line-height:1.04}.harmony-atlas-cta>div:first-child>p:last-child{color:#c7d2de;margin:13px 0 0;font-size:.88rem}.harmony-atlas-cta>div:last-child{justify-content:flex-end;margin-top:0}.harmony-atlas-footer{color:var(--atlas-gold);flex-wrap:wrap;justify-content:center;gap:8px 24px;padding:24px 6px 0;font-size:.75rem;font-weight:850;display:flex}.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{text-align:left;grid-column:1/-1}}@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}}@media (max-width:520px){.harmony-atlas-page{width:calc(100% - 16px)}.harmony-atlas-hero,.harmony-atlas-browser,.harmony-atlas-cta{border-radius:16px;padding:18px}.harmony-atlas-hero h1{letter-spacing:-.045em;font-size:clamp(1.95rem,11vw,2.75rem)}.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{flex-direction:column;align-items:flex-start;gap:7px}.harmony-atlas-song-open{padding:10px}.harmony-atlas-chart{font-size:.66rem}.harmony-atlas-pagination{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;justify-content:flex-start;width:calc(100% + 4px);margin-inline:-2px;padding:2px 2px 7px;overflow-x:auto}.harmony-atlas-pagination>a,.harmony-atlas-pagination>span{scroll-snap-align:start;flex:none}.harmony-atlas-cta>div:last-child{flex-direction:column;align-items:stretch}.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{top:calc(var(--nav-top) + var(--nav-height) + var(--sticky-gap));z-index:72;grid-template-columns:minmax(0,2.2fr) minmax(330px,.8fr);align-items:start;gap:8px;width:100%;margin-bottom:10px;display:grid;position:sticky}.sticky-practice-tools .metronome-toolbar{z-index:auto;order:0;width:100%;max-height:none;margin:0;position:static;top:auto;overflow:visible}.sticky-practice-tools #practice-track{order:1}.metronome-toolbar .metronome-sticky{min-height:100%;padding:10px 12px;display:block}.metronome-title-row,.metronome-title-copy,.section-heading-actions,.metronome-control-strip{align-items:center;display:flex}.metronome-title-row{justify-content:space-between;gap:12px}.metronome-title-copy{gap:9px;min-width:0}.metronome-title-copy h2{color:#fff9ed;margin:0;font-size:clamp(1.05rem,1.35vw,1.45rem);line-height:1}.metronome-sync-chip{color:var(--gold-deep);white-space:nowrap;background:#ecca7021;border:1px solid #b590364d;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900}.section-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}.section-collapse-toggle,.master-module-button,.drum-master-button,.drum-collapse-button{min-height:34px;color:var(--dark-text);font:inherit;cursor:pointer;background:#ffffffd6;border:1px solid #1b253f29;border-radius:9px;font-size:.76rem;font-weight:900}.section-collapse-toggle,.drum-collapse-button{place-items:center;width:36px;min-width:36px;padding:0;font-size:1.25rem;display:grid}.master-module-button,.drum-master-button{padding:7px 10px}.master-module-button.is-master,.drum-master-button.is-master{color:#4c3810;background:linear-gradient(135deg,#f0d58c,#fff3c8);border-color:#b590368c}.metronome-body{margin-top:8px}.metronome-control-strip{grid-template-columns:minmax(190px,.8fr) minmax(130px,.42fr) minmax(310px,1.4fr) 46px;align-items:end;gap:8px;display:grid}.metronome-toolbar .metronome-tempo{grid-template-columns:minmax(0,1fr) 48px;align-items:end;gap:6px;display:grid}.metronome-toolbar label>span,.metronome-subdivision-picker legend{color:var(--gold-pale);letter-spacing:.055em;text-transform:uppercase;margin:0 0 3px;font-size:.66rem;font-weight:900;display:block}.metronome-toolbar .metronome-tempo input,.number-stepper input{width:100%;height:36px;color:var(--dark-text);background:#fff;border:1px solid #1b253f2e;border-radius:8px;padding:5px 31px 5px 9px;font-size:1.05rem;font-weight:950}.metronome-toolbar .tap-button{height:36px;min-height:36px;padding:0 8px;font-size:.78rem}.number-stepper{grid-template-columns:30px minmax(44px,1fr) 30px;gap:3px;display:grid}.number-stepper input{text-align:center;padding:5px}.number-stepper button{height:36px;color:var(--dark-text);cursor:pointer;background:#f5f1e8;border:1px solid #1b253f2b;border-radius:8px;padding:0;font-size:1.2rem;font-weight:950}.metronome-subdivision-picker{border:0;min-width:0;margin:0;padding:0}.metronome-subdivision-picker>div,.music-symbol-options{gap:4px;min-width:0;display:flex}.metronome-subdivision-picker button,.music-symbol-options button{min-width:34px;min-height:36px;color:var(--dark-text);cursor:pointer;background:#ffffffdb;border:1px solid #1b253f29;border-radius:8px;flex:1 1 0;padding:3px 5px}.metronome-subdivision-picker button>span,.music-symbol-options button>span{font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:900;line-height:1;display:block}.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 #b5903640}.metronome-start.icon-only-transport{place-items:center;width:42px;height:36px;min-height:36px;padding:0;font-size:1rem;display:grid}.metronome-beat-scroller{overscroll-behavior-inline:contain;width:100%;margin-top:7px;overflow-x:auto}.metronome-toolbar .metronome-beat-pattern{gap:4px;width:100%;margin-top:0;display:grid;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{opacity:.22;border:0;min-width:0;height:7px}.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 #10192c6b,0 0 8px}.practice-sync-controls{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"summary transport""modules modules";align-items:center;gap:6px;height:auto;min-height:0;margin:0;padding:10px;display:grid}.practice-sync-summary{grid-area:summary;grid-template-columns:minmax(88px,1fr) auto;align-content:center;gap:3px;display:grid}.practice-sync-modules{grid-area:modules;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.practice-sync-module{grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;padding:5px}.practice-sync-module-name,.practice-master-choice{font-size:.68rem}.practice-sync-transport{grid-area:transport;min-height:36px;padding:7px 6px;font-size:.72rem}.collapsible-section.is-collapsed>:not(.harmony-section-heading):not(.control-heading){display:none!important}.collapsible-section.is-collapsed{padding-bottom:12px}.drum-trainer:has(.drum-trainer-body[hidden]){padding-bottom:12px}.harmony-section-heading h2,.control-heading h2,.drum-heading h2{font-size:clamp(1.35rem,2vw,2.05rem);line-height:1.05}.control-heading,.harmony-section-heading,.drum-heading{gap:14px}.control-intro,.harmony-section-heading p,.drum-heading-copy p{font-size:.9rem}.sound-map-sync-control{margin-top:7px;font-size:.8rem;font-weight:850}.root-grid,.builder-root-fieldset .root-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;display:grid}.root-grid button{min-width:0;min-height:34px;padding:5px 2px;font-size:clamp(.72rem,.9vw,.9rem)}.generator-performance-controls{flex-wrap:wrap;align-items:stretch;gap:10px;margin:10px 0;display:flex}.generator-performance-controls fieldset{background:#ffffff85;border:1px solid #1b253f21;border-radius:11px;min-width:min(100%,240px);margin:0;padding:8px}.generator-performance-controls legend{color:var(--ink-3);text-transform:uppercase;padding:0 4px;font-size:.72rem;font-weight:900}.generator-performance-controls .music-symbol-options button{place-items:center;min-height:48px;display:grid}.generator-performance-controls .music-symbol-options small{margin-top:2px;font-size:.56rem;line-height:1.05;display:block}.progression-generated-name{color:var(--gold-pale);margin:4px 0 0;font-size:.78rem;font-weight:900}.ear-mode-control{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ear-level-picker{flex:360px;gap:4px;display:flex}.ear-level-picker button{min-height:34px;color:var(--dark-text);font:inherit;cursor:pointer;background:#fff;border:1px solid #1b253f26;border-radius:8px;flex:1 1 0;font-size:.76rem;font-weight:900}.ear-level-picker button.active{border-color:var(--gold-deep);background:#f2dc9a}.voice-leading.is-optimal-route .voice-pitch-cell.chord-tone.active{outline-offset:-2px;outline:3px solid #f2c84b;box-shadow:0 0 0 2px #3323046b,0 0 14px #e1af26c7}.voice-row.is-current-chord{background:linear-gradient(90deg,#f4d3753d,#ffffffe6);border-color:#c89d25;box-shadow:0 0 0 3px #d1a5344d,0 8px 22px #2c220c24}.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,.piano-note-marker,.fret-open-string-marker{flex-direction:column;justify-content:center;align-items:center;gap:0;line-height:.94;display:flex}.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{opacity:.88;font-size:clamp(.58rem,.82vw,.78rem);font-weight:950}.piano-region .piano-keyboard,.piano-white-keybed{gap:0!important}.piano-white-key{border-radius:0 0 5px 5px;margin:0!important}.piano-note-marker{width:min(92%,50px);min-width:0;min-height:40px;padding:3px 1px}.sticky-visualizer-dock{z-index:88;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f5ecf7;border:1px solid #b590366b;border-radius:15px;width:auto;max-width:1900px;max-height:min(50vh,560px);margin:0 auto;position:fixed;bottom:8px;left:10px;right:10px;overflow:hidden;box-shadow:0 -12px 44px #0912253b}.sticky-visualizer-header{border-bottom:1px solid #1b253f1a;align-items:center;gap:8px;min-height:48px;padding:7px 10px;display:flex}.sticky-visualizer-dock.is-collapsed .sticky-visualizer-header{border-bottom:0}.sticky-visualizer-home{color:#fff;background:var(--ink);white-space:nowrap;border-radius:9px;align-items:center;gap:5px;min-height:34px;padding:6px 10px;font-size:.76rem;font-weight:900;text-decoration:none;display:inline-flex}.sticky-visualizer-header h2{min-width:0;color:var(--dark-text);text-overflow:ellipsis;white-space:nowrap;margin:0 auto 0 0;font-size:clamp(.86rem,1.25vw,1.15rem);line-height:1.05;overflow:hidden}.sticky-visualizer-header .map-instrument-switch{flex-wrap:nowrap}.sticky-visualizer-header .map-instrument-switch button{min-width:32px;min-height:32px;color:var(--dark-text);opacity:1;background:#edf0f3;padding:4px;font-size:.65rem}.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 .instrument-visualizer,.sticky-visualizer-body .instrument-fretboard-region,.sticky-visualizer-body .piano-region,.sticky-visualizer-body .fret-board,.sticky-visualizer-body .piano-keyboard{width:100%;max-width:none}.drum-row-solo{color:#31547f;cursor:pointer;background:#e8eff7;border:1px solid #1b253f2e;border-radius:7px;min-width:31px;min-height:28px;font-weight:950}.drum-row-solo.drum-is-soloed{color:#fff;background:#3569a2;border-color:#3569a2;box-shadow:0 0 0 2px #3569a233}@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-area:1/1}.metronome-control-strip>.meter-length-field{grid-area:1/2}.metronome-subdivision-picker{grid-area:2/1/auto/-1}.metronome-control-strip>.metronome-start{grid-area:1/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}.root-grid,.builder-root-fieldset .root-grid{grid-template-columns:repeat(12,minmax(27px,1fr));overflow-x:auto}.sticky-visualizer-dock{border-radius:12px;max-height:58vh;bottom:5px;left:5px;right:5px}.sticky-visualizer-header{flex-wrap:wrap}.sticky-visualizer-home{order:1}.sticky-visualizer-header h2{flex:150px;order:2}.sticky-visualizer-toggle{order:3}.sticky-visualizer-header .map-instrument-switch,.sticky-visualizer-header .map-sync-control,.sticky-visualizer-header .map-back-button{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-sync-module-name,.practice-master-choice{font-size:.61rem}.ear-level-picker{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sticky-visualizer-home{padding-inline:8px;font-size:.68rem}.sticky-visualizer-header .map-instrument-switch button{min-width:29px}}.playback-icon{color:currentColor;flex:none;place-items:center;width:18px;height:18px;display:inline-grid;position:relative}.playback-icon-play:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:10px solid;width:0;height:0;margin-left:2px}.playback-icon-stop:before{content:"";background:currentColor;border-radius:2px;width:10px;height:10px}.playback-icon-chord,.playback-icon-arpeggio{justify-content:center;align-items:center;gap:2px;display:flex}.playback-icon-chord i{background:currentColor;border-radius:999px;width:3px;height:12px}.playback-icon-arpeggio i{background:currentColor;border-radius:50%;width:4px;height:4px}.playback-icon-arpeggio i:first-child{transform:translateY(4px)}.playback-icon-arpeggio i:nth-child(3){transform:translateY(-4px)}.icon-only-transport{place-items:center;width:42px;min-width:42px;min-height:38px;padding:0!important;display:inline-grid!important}.section-nav-brand{z-index:3;background:#18212e;border:1px solid #e3c0626b;align-items:center;gap:6px;min-height:38px;display:inline-flex;position:sticky;left:0;box-shadow:8px 0 16px #0a101842;color:var(--gold-pale)!important;padding:4px 10px 4px 6px!important}.section-nav-brand img{object-fit:contain;width:28px;height:28px}.section-nav-brand span{letter-spacing:.03em;font-family:Georgia,Times New Roman,serif;font-size:.78rem}.collapsible-section.is-collapsed{padding-top:12px;padding-bottom:12px}.collapsible-section.is-collapsed>.harmony-section-heading,.collapsible-section.is-collapsed>.control-heading{align-items:center;margin-bottom:0}.collapsible-section.is-collapsed .harmony-section-heading>div:first-child>:not(h2),.collapsible-section.is-collapsed .control-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{display:none}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-status{display:none}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading{align-items:center;margin-bottom:0}.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-range-label,.voice-leading.is-collapsed .voice-movement-total,.voice-leading.is-collapsed .voice-reset-route{display:none}.metronome-body[hidden],.voice-leading-stack[hidden]{display:none!important}.song-library-matches{background:#070c1347;border:1px solid #e3c06233;border-radius:14px;margin-top:16px;padding:13px}.song-library-subheading,.song-library-search-row{justify-content:space-between;align-items:end;gap:12px;display:flex}.song-library-subheading h3{color:#fff9ed;margin:0;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-subheading p,.song-library-search-row p{color:var(--muted);margin:3px 0 0;font-size:.72rem}.song-library-match-options{flex:none;gap:5px;display:flex}.song-library-match-options label{color:#e8eef5;white-space:nowrap;background:#a8c0dc12;border:1px solid #a8c0dc3d;border-radius:9px;align-items:center;gap:5px;min-height:34px;padding:5px 9px;font-size:.69rem;font-weight:850;display:inline-flex}.song-library-match-options input{width:15px;height:15px;accent-color:var(--gold-bright)}.song-library-match-results{min-height:210px;margin-top:9px}.song-library-list{gap:4px;display:grid}.song-library-row{width:100%;min-height:48px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#ffffff0b;border:1px solid #ffffff14;border-radius:9px;grid-template-columns:minmax(170px,.28fr) minmax(0,1fr);align-items:center;gap:10px;padding:6px 8px;display:grid}.song-library-row:hover{background:#e3c06214;border-color:#e3c0626b}.song-library-row-meta{min-width:0;line-height:1.15;display:grid}.song-library-row-meta strong,.song-library-row-meta span,.song-library-row-meta small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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{color:var(--gold-pale);margin-top:2px;font-size:.58rem;font-weight:850}.song-library-chart{color:#edf2f7;scrollbar-color:#e3c0627a transparent;scrollbar-width:thin;white-space:nowrap;background:#080d146b;border-radius:7px;min-width:0;margin:0;padding:6px 7px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.67rem;font-weight:700;line-height:1.25;overflow-x:auto}.song-library-chart:focus-visible{outline-offset:1px}.song-library-pager{color:#c4cfdb;justify-content:flex-end;align-items:center;gap:8px;margin-top:7px;font-size:.65rem;display:flex}.song-library-pager button{width:32px;min-width:32px;height:30px;color:var(--gold-pale);background:#e3c0621a;border:1px solid #e3c06247;border-radius:8px;place-items:center;padding:0;font-size:1rem;font-weight:900;display:grid}.song-library-state{min-height:118px;color:var(--muted);text-align:center;border:1px dashed #a8c0dc38;border-radius:10px;place-items:center;margin:8px 0 0;font-size:.76rem;display:grid}.song-library-match-results>.song-library-state{min-height:200px}.song-library-state-error{color:#ffc0b3;border-color:#ff8e7766}.song-library-count{color:var(--gold-pale);white-space:nowrap;background:#e3c0621a;border:1px solid #e3c06247;border-radius:999px;padding:6px 9px;font-size:.67rem;font-weight:900}.song-library-search-row{margin-bottom:8px}.song-library-search-row label{color:#dfe7ef;flex:520px;gap:4px;font-size:.69rem;font-weight:850;display:grid}.song-library-search-row input{color:#fff9ed;background:#080d1480;border:1px solid #a8c0dc47;border-radius:10px;outline:none;width:100%;min-height:40px;padding:8px 11px}.song-library-search-row p{text-align:right;max-width:380px}.song-library-catalog-list{margin-top:7px}.song-library-attribution{color:var(--muted);margin:12px 0 0;font-size:.62rem}.song-library-attribution a{color:var(--gold-pale);text-underline-offset:2px}.song-structure-dialog{color:#f5f0e5;background:#111922;border:1px solid #e3c0626b;border-radius:20px;outline:none;width:min(900px,100vw - 24px);max-width:none;max-height:min(88vh,860px);margin:auto;padding:0;overflow:hidden;box-shadow:0 28px 90px #03080d9e}.song-structure-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05090eb3}.song-structure-dialog-card{scrollbar-color:#e3c06280 #ffffff0a;max-height:min(88vh,860px);display:grid;overflow:auto}.song-structure-dialog-header{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111922f7;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 15px;display:flex;position:sticky;top:0}.song-structure-dialog-header p,.song-structure-dialog-header h2,.song-structure-dialog-header span,.song-structure-dialog-note,.song-structure-section h3,.song-structure-dialog-footer{margin:0}.song-structure-dialog-header p{color:var(--gold-bright,#e3c062);letter-spacing:.13em;text-transform:uppercase;font-size:.62rem;font-weight:950}.song-structure-dialog-header h2{color:#fff9ed;letter-spacing:-.025em;margin-top:3px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:500;line-height:1.02}.song-structure-dialog-header>div>span{color:#c6d0dc;margin-top:5px;font-size:.72rem;font-weight:750;display:block}.song-structure-dialog-close{width:40px;height:40px;color:var(--gold-pale,#f2df9d);background:#e3c0621a;border:1px solid #e3c06259;border-radius:11px;flex:none;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}.song-structure-dialog-note{color:#aebbc8;padding:12px 20px 0;font-size:.7rem;line-height:1.45}.song-structure-sections{gap:7px;padding:13px 20px 20px;display:grid}.song-structure-section{background:#ffffff0b;border:1px solid #ffffff17;border-radius:11px;grid-template-columns:minmax(120px,.22fr) minmax(0,1fr);align-items:start;gap:12px;padding:10px;display:grid}.song-structure-section-heading{grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;display:grid}.song-structure-section-heading>span{background:var(--gold-deep,#b1913a);color:#101821;border-radius:8px;place-items:center;min-width:32px;height:32px;padding:0 5px;font-size:.6rem;font-weight:950;display:grid}.song-structure-section h3{color:#fff9ed;font-size:.76rem;line-height:1.15}.song-structure-bars{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.song-structure-bars li{background:#060b116b;border:1px solid #a8c0dc2e;border-radius:8px;align-items:stretch;min-height:32px;display:inline-flex;overflow:hidden}.song-structure-bar-number{color:#93a2b1;background:#a8c0dc17;place-items:center;min-width:25px;font-size:.54rem;font-weight:900;display:grid}.song-structure-bar-chords{color:#f5f0e5;white-space:nowrap;align-items:center;padding:5px 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.7rem;font-weight:800;display:flex}.song-structure-dialog-footer{color:#9ba9b7;border-top:1px solid #ffffff17;justify-content:space-between;align-items:center;gap:10px 20px;padding:12px 20px 15px;font-size:.62rem;line-height:1.35;display:flex}.song-structure-dialog-footer a{color:var(--gold-pale,#f2df9d);text-underline-offset:3px;flex:none;font-weight:900}@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-row,.metronome-title-copy,.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-toolbar label>span,.metronome-subdivision-picker legend{margin-bottom:1px;font-size:.5rem}.metronome-toolbar .metronome-tempo input,.number-stepper input,.number-stepper button,.metronome-toolbar .tap-button,.metronome-subdivision-picker button,.metronome-start.icon-only-transport{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{border-radius:6px;min-width:0;padding:1px}.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{border-radius:6px;padding:2px}.metronome-toolbar .metronome-beat-number{margin-bottom:0;font-size:.56rem;line-height:1}.metronome-toolbar .metronome-beat-steps,.metronome-toolbar .metronome-step-column,.metronome-toolbar .metronome-sound-stack{gap:1px}.metronome-toolbar .metronome-step-light,.metronome-toolbar .metronome-step-column.downbeat .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{border-radius:2px;height:6px;min-height:6px}.practice-sync-controls{grid-template-columns:minmax(0,1fr) 34px;gap:4px;padding:5px 6px}.practice-sync-summary{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.practice-sync-summary strong,.practice-sync-bpm strong{font-size:.82rem}.practice-sync-bpm{align-items:baseline;gap:3px;min-width:0;display:flex}.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{width:9px;height:9px;top:2px;left:2px}.practice-sync-toggle input:checked+.practice-sync-toggle-track i{transform:translate(10px)}.practice-sync-module-name,.practice-master-choice{font-size:.5rem}.practice-sync-transport.icon-only-transport{width:34px;min-width:34px;min-height:32px}.collapsible-section.is-collapsed{padding:10px 12px}.drum-trainer:has(.drum-trainer-body[hidden]){padding:10px 12px}.collapsible-section.is-collapsed>.harmony-section-heading,.collapsible-section.is-collapsed>.control-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%}.collapsible-section.is-collapsed>.harmony-section-heading>div:first-child,.collapsible-section.is-collapsed>.control-heading>div:first-child{min-width:0}.collapsible-section.is-collapsed .section-heading-actions{flex:none;margin-left:auto}.collapsible-section.is-collapsed h2{text-align:left;font-size:1.08rem}.drum-trainer:has(.drum-trainer-body[hidden]) h2{text-align:left;font-size:1.08rem}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading{flex-direction:row;justify-content:space-between;gap:8px;display:flex}.song-library-subheading,.song-library-search-row{align-items:stretch}.song-library-subheading{flex-direction:column}.song-library-match-options{width:100%}.song-library-match-options label{flex:1 1 0;justify-content:center}.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-search-row label{flex-basis:auto}.song-library-search-row p{text-align:left;max-width:none}.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{flex-direction:column;align-items:flex-start;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{text-overflow:ellipsis;white-space:nowrap;max-width:78px;overflow:hidden}.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{scrollbar-width:thin;background:#ffffffe6;border:1px solid #1b253f21;border-radius:14px;align-items:center;gap:10px;min-height:58px;margin-bottom:10px;padding:8px 10px;display:flex;overflow:auto hidden;box-shadow:0 8px 24px #1b253f12}.sound-selector-module h2{color:var(--dark-text);white-space:nowrap;flex:none;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.35vw,1.42rem);font-weight:500}.sound-selector-module .instrument-fieldset{border:0;flex:720px;min-width:410px;margin:0;padding:0}.sound-selector-module .instrument-selector-grid{grid-template-columns:repeat(6,minmax(58px,1fr));gap:4px;display:grid}.sound-selector-module .instrument-selector-grid button{border-radius:8px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:36px;padding:4px 6px;display:flex}.sound-selector-module .instrument-selector-grid button>span{flex:none;font-size:.63rem}.sound-selector-module .instrument-selector-grid button strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.58rem,.72vw,.72rem);overflow:hidden}.sound-selector-module .sound-map-sync-control{color:var(--dark-text);white-space:nowrap;flex:none;margin:0;font-size:.7rem}.sound-selector-module .audio-status.compact{border-radius:50%;flex:0 0 18px;place-items:center;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;display:grid}.sound-selector-module .audio-status.compact>span{margin:0}.harmony-library-root{margin:7px 0 8px;padding:4px 6px 6px}.harmony-library-root legend{color:var(--ink-3);text-transform:uppercase;margin:0;padding:0 5px;font-size:.66rem;font-weight:900}.harmony-library-root .root-grid button{min-height:30px;font-size:clamp(.7rem,.82vw,.86rem)}.section-collapse-toggle,.drum-collapse-button{color:#241c0d;background:linear-gradient(135deg,#f2d26f,#ffd977);border-color:#9b7418;width:36px;min-width:36px;min-height:36px;box-shadow:0 2px #5c420840}.section-collapse-toggle>span,.drum-collapse-button>span[aria-hidden=true]{border-bottom:3px solid;border-right:3px solid;width:9px;height:9px;font-size:0;display:block;overflow:hidden;transform:rotate(45deg)translate(-1px,-1px)}.section-collapse-toggle[aria-expanded=true]>span,.drum-collapse-button[aria-expanded=true]>span[aria-hidden=true]{transform:rotate(225deg)translate(-1px,-1px)}.section-heading-actions>:is(button,.master-module-button),.generator-heading .section-heading-actions>button,.drum-transport>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{grid-area:summary;grid-template-columns:none;align-items:center;gap:5px;display:flex}.practice-sync-summary>div{display:block}.practice-sync-summary strong{font-size:.78rem}.practice-sync-bpm{align-items:baseline;gap:2px;min-width:0;display:flex}.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{grid-template-columns:none;justify-content:center;align-items:center;gap:4px;min-width:0;padding:3px 4px;display:flex}.practice-sync-toggle{min-width:0}.practice-sync-module-name,.practice-master-choice{white-space:nowrap;font-size:clamp(.52rem,.62vw,.66rem)}.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{flex-direction:column;flex:250px;min-width:min(100%,230px);padding:7px 8px 8px;display:flex}.generator-performance-controls legend{float:left;white-space:normal;width:100%;margin:0 0 5px;padding:0;line-height:1.15}.generator-performance-controls legend+*{clear:both}.music-half-note{width:18px;height:24px;position:relative}.music-half-note:before{content:"";border:2px solid;border-radius:50%;width:10px;height:7px;position:absolute;bottom:1px;right:2px;transform:rotate(-18deg)}.music-half-note:after{content:"";background:currentColor;border-radius:2px;width:2px;height:17px;position:absolute;bottom:7px;right:1px}.related-card-actions{align-self:center}.related-card-actions button{aspect-ratio:1;place-items:center;line-height:0;display:grid;position:relative}.related-card-actions :is(.playback-icon,.related-eye-icon){width:16px;height:16px;display:block}.related-show-map:after{z-index:5;color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;background:#111923;border-radius:6px;width:max-content;max-width:180px;padding:5px 7px;font-size:.62rem;font-weight:800;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);right:0;transform:translateY(3px)}.related-show-map:is(:hover,:focus-visible):after{opacity:1;transform:translateY(0)}.related-eye-icon svg{width:100%;height:100%;display:block}.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-column:1;grid-row:1/span 2!important}.voice-row-chord-name,.voice-row-details{grid-column:2}.voice-row-play-icon{grid-column:3;place-items:center;background:#e3c06229!important;border-radius:50%!important;grid-row:1/span 2!important;width:22px!important;height:22px!important;display:grid!important}.voice-pitch-cell{min-height:clamp(42px,4vw,58px)}.voice-pitch-cell.chord-tone{grid-template-rows:1fr 1fr}.voice-pitch-note,.voice-interval-degree{align-self:stretch;place-items:center;width:100%;height:100%;margin:0;line-height:1;display:grid}.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-offset:-2px;outline:3px solid #20d6ee;box-shadow:inset 0 0 0 1px #05242d9e,0 0 0 2px #20d6ee61,0 0 14px #20d6ee80}.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 #eb6c8c3b,0 8px 22px #2c220c24}.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 select,.drum-field input,.drum-input-with-unit input{height:30px;min-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%;padding-bottom:2px;overflow:visible}.drum-sequencer{width:100%;min-width:0}.drum-ruler,.drum-row{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{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 5px;display:grid}.drum-row-head>label{white-space:nowrap;grid-column:1;font-size:.62rem}.drum-row-head>select{grid-column:2;min-width:0;height:27px;min-height:27px;padding:1px 5px;font-size:.6rem}.drum-row-mix{grid-column:1/-1;grid-template-columns:22px 22px minmax(0,1fr);gap:4px;width:100%;display:grid}.drum-row-mute,.drum-row-solo{border-radius:5px;width:22px;min-width:22px;height:22px;min-height:22px;padding:0;font-size:.52rem}.drum-row-volume{align-items:center;min-width:0;display:flex}.drum-row-volume input{height:18px;margin:0}.drum-step{border-radius:5px;min-width:0;min-height:clamp(31px,3.2vw,42px)}.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{scrollbar-width:thin;gap:3px;width:100%;margin:4px 0;padding-bottom:2px;display:flex;overflow-x:auto}.custom-interval-grid button{border-radius:7px;flex:1 0 38px;place-items:center;min-width:38px;height:34px;min-height:34px;padding:2px;display:grid}.custom-interval-grid button strong{font-size:.68rem}.custom-interval-grid button :is(span,small){display:none}.builder-actions{flex-wrap:nowrap;align-items:center;gap:5px;margin:5px 0;display:flex}.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{flex-wrap:nowrap;gap:4px;padding-bottom:3px;display:flex;overflow-x:auto}.custom-sequence-grid article{flex:0 0 128px;min-height:38px;padding:3px}.ear-mode-control{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ear-playback-segmented{flex:none}.ear-game-progress{min-height:34px;color:var(--ink-2);background:#ffffffb8;border:1px solid #1b253f21;border-radius:8px;flex:320px;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:6px;padding:4px 7px;font-size:.65rem;font-weight:800;display:grid}.ear-game-progress progress{width:100%;height:9px;accent-color:var(--gold-deep)}.ear-score{align-items:center;gap:5px;display:flex}.ear-score em{color:var(--ink-2);white-space:nowrap;font-size:.6rem;font-style:normal;font-weight:800}.song-library-panel,.song-library-panel :is(.harmony-section-heading p,.song-library-subheading p,.song-library-search-row p,.song-library-attribution),.song-library-panel .song-library-state,.song-library-panel .song-library-pager{color:#dce5ef}.song-library-panel .song-library-search-row label,.song-library-panel .song-library-row-meta strong,.song-library-panel .song-library-chart{color:#fff9ed}.sticky-visualizer-dock{max-height:min(38vh,370px)}.sticky-visualizer-dock.is-collapsed{max-height:50px}.sticky-visualizer-header{scrollbar-width:thin;flex-wrap:nowrap;min-height:44px;padding:5px 8px;overflow:auto hidden}.sticky-visualizer-header .map-sync-control{color:var(--dark-text);white-space:nowrap;flex:none;font-size:.66rem}.sticky-visualizer-header .map-instrument-switch{flex:none;grid-template-columns:repeat(5,30px)}.sticky-visualizer-header .map-instrument-switch button{min-width:30px;min-height:30px}.guitar-tuning-control,.custom-tuning-strings{flex:none;align-items:center;gap:3px;display:flex}.guitar-tuning-control select{min-height:30px;color:var(--dark-text);background:#fff;border:1px solid #1b253f2e;border-radius:7px;padding:3px 22px 3px 6px;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{height:34px;min-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{flex-wrap:nowrap;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.sticky-visualizer-body .instrument-legend-item{flex:none;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{grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;display:grid}.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-pitch-note,.voice-interval-degree{letter-spacing:-.03em;font-size:clamp(.42rem,2.2vw,.68rem)}.drum-ruler,.drum-row{grid-template-columns:110px minmax(0,1fr);gap:3px}.drum-step-grid{gap:2px}.drum-step{border-radius:3px;min-height:34px}}@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{gap:0;display:grid}.practice-sync-summary strong,.practice-sync-bpm 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-sync-module-name,.practice-master-choice{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)}.ear-game-progress>span:last-child,.custom-builder .chord-name-follower span,.custom-sequence-heading>div:first-child span{display:none}.builder-actions{overflow-x:auto}.builder-actions>button{flex:none}.drum-heading-copy p,.drum-status,.drum-legend small{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-ruler,.drum-row{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{flex-wrap:nowrap;min-height:42px}.sticky-visualizer-home{order:initial;min-height:30px;padding:4px 6px;font-size:.59rem}.sticky-visualizer-header h2,.sticky-visualizer-toggle,.sticky-visualizer-header .map-instrument-switch,.sticky-visualizer-header .map-sync-control,.sticky-visualizer-header .map-back-button{order:initial}.sticky-visualizer-header h2{flex:0 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{height:29px;min-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-pitch-note,.voice-interval-degree{font-size:clamp(.36rem,2vw,.53rem)}.ear-score em{display:none}.ear-mode-control>.segmented-control button,.ear-level-picker 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}}@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)}html:has(.harmony-app){overflow-x:clip}@media (max-width:760px){.builder-actions .playback-actions{flex-wrap:nowrap;flex:none;gap:3px;width:auto;height:32px;display:flex}.builder-actions .playback-actions button{min-width:42px;height:32px;min-height:32px;padding:3px 5px;font-size:.58rem}.custom-sequence-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:5px;min-height:32px;display:flex}.custom-sequence-heading>div{align-items:center;gap:4px;width:auto;display:flex}.custom-sequence-heading :is(button,.icon-only-transport){height:29px;min-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-area:1/1}.drum-row-head>select{grid-area:1/2}.drum-row-mix{grid-area:1/3;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{text-overflow:clip;font-size:.48rem;overflow:visible}.sticky-visualizer-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"home sync toggle""tabs tuning tuning";gap:3px 5px;min-height:69px;display:grid;overflow:visible}.sticky-visualizer-home{grid-area:home}.sticky-visualizer-header h2{display:none}.sticky-visualizer-header .map-sync-control{grid-area:sync;justify-self:end;display:flex}.sticky-visualizer-header .map-sync-control span{font-size:.55rem;display:inline}.sticky-visualizer-header .map-instrument-switch{grid-area:tabs;justify-self:start;display:grid}.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{grid-template-areas:"home.toggle";min-height:44px;display:grid}.sticky-visualizer-body{max-height:calc(min(40svh,310px) - 70px)}}.harmony-discovery-content,.harmony-guide,.harmony-data-page{--content-ink:#121921;--content-ink-2:#283341;--content-ink-3:#344253;--content-cream:#fff9ed;--content-cream-2:#f7eddb;--content-white:#fff;--content-gold:#b1913a;--content-gold-bright:#e3c062;--content-gold-pale:#f2df9d;--content-blue:#6d89ad;--content-muted:#66717d;--content-line:#28334124;--content-shadow:0 20px 56px #161d261f;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-discovery-content *,.harmony-guide *,.harmony-data-page *{box-sizing:border-box;min-width:0}.harmony-discovery-content :where(h1,h2,h3,p,ol,ul,dl),.harmony-guide :where(h1,h2,h3,p,ol,ul),.harmony-data-page :where(h1,h2,h3,p,ol){overflow-wrap:anywhere}.harmony-discovery-content :where(a,summary),.harmony-guide :where(a,summary),.harmony-data-page :where(a,summary){transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s,transform .16s}.harmony-hero-actions{flex-wrap:wrap;gap:9px;margin-top:17px;display:flex}.harmony-hero-actions :is(a,button),.harmony-hero-primary,.harmony-hero-secondary{text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:40px;padding:8px 15px;font-size:.76rem;font-weight:850;line-height:1.15;text-decoration:none;display:inline-flex}.harmony-hero-primary{border-color:var(--gold-bright);background:var(--gold-bright);color:var(--ink);box-shadow:0 9px 24px #e3c0622e}.harmony-hero-secondary{color:#fffaf0;background:#ffffff12;border-color:#ffffff38}.harmony-hero-primary:hover{background:#f1d884;border-color:#f1d884;transform:translateY(-1px)}.harmony-hero-secondary:hover{background:#ffffff1f;border-color:#ffffff6b;transform:translateY(-1px)}.section-nav .section-nav-lead{background:var(--gold-bright);color:var(--ink);border:1px solid #e3c062b8}.section-nav .section-nav-lead:hover{color:var(--ink);background:#f1d884;border-color:#f1d884}.generator-learning-cta{background:linear-gradient(120deg,#e3c0621a,#6d89ad14),#080e1647;border:1px solid #e3c06240;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-top:12px;padding:14px 16px;display:flex}.generator-learning-cta p{color:#bdc9d6;max-width:760px;margin:0;font-size:.72rem;line-height:1.5}.generator-learning-cta strong{color:#fffaf0}.generator-learning-cta>div{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:7px;display:flex}.generator-learning-cta a{color:#edf2f7;text-align:center;background:#ffffff0e;border:1px solid #ffffff26;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:6px 10px;font-size:.64rem;font-weight:850;line-height:1.15;text-decoration:none;display:inline-flex}.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{border-top:1px solid #ffffff14;flex-wrap:wrap;grid-area:links;justify-content:center;align-items:center;gap:7px 17px;padding-top:4px;display:flex}.site-footer>nav a{align-items:center;min-height:30px;display:inline-flex}.harmony-discovery-content{width:min(1380px,100% - clamp(28px,6vw,92px));margin:0 auto;padding:clamp(18px,3vw,42px) 0 clamp(56px,8vw,104px)}.harmony-discovery-intro{isolation:isolate;color:#fffaf0;box-shadow:var(--content-shadow);background:radial-gradient(circle at 88% 18%,#6d89ad38,#0000 26rem),linear-gradient(145deg,#121921 0%,#202c3a 100%);border:1px solid #e3c06233;border-radius:26px;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:center;column-gap:clamp(30px,5vw,76px);padding:clamp(28px,4vw,58px);display:grid;position:relative;overflow:hidden}.harmony-discovery-intro:after{z-index:-1;content:"";border:1px solid #e3c0622e;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-150px;right:-88px;box-shadow:0 0 0 45px #e3c06206,0 0 0 90px #e3c06205}.harmony-discovery-eyebrow,.harmony-discovery-heading>p,.harmony-guide-kicker{color:var(--content-gold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 9px;font-size:.7rem;font-weight:900;line-height:1.35}.harmony-discovery-intro>.harmony-discovery-eyebrow{color:var(--content-gold-bright);grid-column:1/-1}.harmony-discovery-intro h2,.harmony-discovery-heading h2,.harmony-instrument-links h2,.harmony-lead-magnet h2{color:var(--content-ink);letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.04}.harmony-discovery-intro h2{color:#fffaf0;font-size:clamp(2rem,4vw,4rem)}.harmony-discovery-intro>p:not(.harmony-discovery-eyebrow){color:#d7e0ea;margin:0;font-size:clamp(.96rem,1.25vw,1.1rem)}.harmony-discovery-actions,.harmony-lead-actions,.harmony-guide-actions,.harmony-guide-conversion>div,.harmony-data-download>div{flex-wrap:wrap;gap:10px;display:flex}.harmony-discovery-actions{grid-column:2;margin-top:20px}.harmony-discovery-primary,.harmony-discovery-secondary,.harmony-guide-actions a,.harmony-guide-conversion a,.harmony-data-download a{text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:10px 17px;font-size:.78rem;font-weight:850;line-height:1.2;text-decoration:none;display:inline-flex}.harmony-discovery-primary,.harmony-guide-actions a:first-child,.harmony-guide-conversion a:first-child,.harmony-data-download a:first-child{border-color:var(--content-gold-bright);background:var(--content-gold-bright);color:var(--content-ink);box-shadow:0 9px 24px #b1913a2e}.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{color:#fffaf0;background:#ffffff14;border-color:#ffffff38}.harmony-discovery-primary:hover,.harmony-guide-actions a:first-child:hover,.harmony-guide-conversion a:first-child:hover,.harmony-data-download a:first-child:hover{background:#f0d57e;border-color:#f0d57e;transform:translateY(-2px)}.harmony-discovery-secondary:hover{border-color:var(--content-gold);transform:translateY(-2px)}.harmony-topic-nav{border:1px solid var(--content-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border-radius:18px;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:14px 0 clamp(28px,5vw,62px);padding:7px;display:grid;box-shadow:0 12px 34px #12192112}.harmony-topic-nav a{min-height:46px;color:var(--content-ink-2);text-align:center;border-radius:12px;justify-content:center;align-items:center;padding:8px 10px;font-size:clamp(.67rem,.8vw,.76rem);font-weight:800;line-height:1.25;text-decoration:none;display:flex}.harmony-topic-nav a:hover{background:var(--content-cream-2);color:var(--content-ink)}.harmony-discovery-section{border:1px solid var(--content-line);background:#ffffffc2;border-radius:24px;grid-template-columns:minmax(220px,.28fr) minmax(0,.72fr);align-items:start;gap:clamp(24px,4vw,58px);margin-top:clamp(22px,3vw,34px);padding:clamp(24px,3vw,42px);display:grid;box-shadow:0 14px 38px #1219210f}.harmony-discovery-heading h2,.harmony-instrument-links h2,.harmony-lead-magnet h2{font-size:clamp(1.7rem,2.9vw,3rem)}.harmony-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.harmony-module-grid>a{border:1px solid var(--content-line);background:var(--content-white);min-height:190px;color:var(--content-ink-2);border-radius:18px;flex-direction:column;padding:21px;text-decoration:none;display:flex;position:relative}.harmony-module-grid>a:hover{border-color:#b1913a9e;transform:translateY(-3px);box-shadow:0 15px 34px #12192117}.harmony-module-grid h3{color:var(--content-ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.18rem;font-weight:600;line-height:1.15}.harmony-module-grid p{color:var(--content-muted);margin:10px 0 18px;font-size:.84rem;line-height:1.55}.harmony-module-grid span{color:var(--content-gold);margin-top:auto;font-size:.74rem;font-weight:850}.harmony-practice-method ol{counter-reset:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.harmony-practice-method li{border:1px solid var(--content-line);background:var(--content-cream);border-radius:17px;grid-template-columns:38px minmax(0,1fr);gap:13px;padding:18px;display:grid}.harmony-practice-method li>span{background:var(--content-ink-2);width:38px;height:38px;color:var(--content-gold-bright);border-radius:50%;place-items:center;font-size:.78rem;font-weight:900;display:grid}.harmony-practice-method h3{color:var(--content-ink);margin:1px 0 5px;font-size:.91rem}.harmony-practice-method li p{color:var(--content-muted);margin:0;font-size:.79rem;line-height:1.55}.harmony-instrument-links{background:radial-gradient(circle at 94% 22%, #e3c0621f, transparent 22rem), var(--content-ink);color:#dce4ed;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center}.harmony-instrument-links h2{color:#fffaf0}.harmony-instrument-links>div:first-child>p:last-child{color:#c6d0dc;max-width:720px;margin:15px 0 0}.harmony-instrument-links>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.harmony-instrument-links>div:last-child a{color:#fffaf0;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:11px;align-items:center;min-height:43px;padding:8px 12px;font-size:.76rem;font-weight:800;text-decoration:none;display:flex}.harmony-instrument-links>div:last-child a:hover{border-color:var(--content-gold-bright);background:#e3c0621c}.harmony-glossary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.harmony-glossary dl>div{border-left:3px solid var(--content-gold);background:var(--content-cream);border-radius:0 13px 13px 0;padding:17px}.harmony-glossary dt{color:var(--content-ink);font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:650}.harmony-glossary dd{color:var(--content-muted);margin:6px 0 0;font-size:.79rem;line-height:1.55}.harmony-text-link{width:fit-content;color:var(--content-gold);grid-column:2;margin-top:17px;font-size:.8rem;font-weight:850;text-decoration:none}.harmony-text-link:hover{color:var(--content-ink)}.harmony-faq>div:last-child{gap:8px;display:grid}.harmony-faq details{border:1px solid var(--content-line);background:var(--content-white);border-radius:14px;overflow:clip}.harmony-faq summary{color:var(--content-ink);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;font-size:.83rem;font-weight:850;line-height:1.35;list-style:none;display:flex}.harmony-faq summary::-webkit-details-marker{display:none}.harmony-faq summary:after{color:var(--content-gold);content:"+";flex:none;font-size:1.15rem;line-height:1}.harmony-faq details[open] summary:after{content:"−"}.harmony-faq summary:hover{background:var(--content-cream)}.harmony-faq details p{color:var(--content-muted);margin:0;padding:0 17px 16px;font-size:.82rem}.harmony-lead-magnet{color:#dce4ed;box-shadow:var(--content-shadow);background:radial-gradient(circle at 86% 10%,#6d89ad3d,#0000 25rem),linear-gradient(145deg,#121921 0%,#283341 100%);border:1px solid #e3c0624d;border-radius:24px;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);align-items:center;gap:clamp(24px,4vw,60px);margin-top:clamp(28px,4vw,48px);padding:clamp(27px,4vw,54px);display:grid}.harmony-lead-magnet h2{color:#fffaf0}.harmony-lead-magnet p:not(.harmony-discovery-eyebrow){color:#c9d3df;max-width:780px;margin:14px 0 0}.harmony-lead-actions{justify-content:flex-end}.harmony-method-note{color:var(--content-muted);justify-content:space-between;align-items:center;gap:18px;padding:22px clamp(4px,2vw,20px) 0;font-size:.72rem;display:flex}.harmony-method-note p{max-width:920px;margin:0}.harmony-method-note>div{flex-wrap:wrap;flex:0 560px;justify-content:flex-end;gap:5px 16px;display:flex}.harmony-method-note a{color:var(--content-gold);font-weight:850}.harmony-guide{width:min(1380px,100% - clamp(28px,6vw,92px));margin:0 auto;padding:clamp(20px,3vw,42px) 0 clamp(60px,8vw,110px)}.harmony-guide-hero,.harmony-data-page>header{isolation:isolate;color:#fffaf0;box-shadow:var(--content-shadow);background:radial-gradient(circle at 88% 12%,#6d89ad40,#0000 30rem),linear-gradient(145deg,#121921 0%,#243143 100%);border:1px solid #e3c06238;border-radius:28px;padding:clamp(28px,5vw,68px);position:relative;overflow:hidden}.harmony-guide-hero:after,.harmony-data-page>header:after{z-index:-1;content:"";border:1px solid #e3c06229;border-radius:50%;width:400px;height:400px;position:absolute;bottom:-210px;right:-90px;box-shadow:0 0 0 52px #e3c06206,0 0 0 104px #e3c06205}.harmony-guide-hero>nav,.harmony-data-page>header>nav{color:#b9c5d2;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:clamp(26px,5vw,58px);font-size:.72rem;font-weight:750;display:flex}.harmony-guide-hero>nav a:hover,.harmony-data-page>header>nav a:hover{color:var(--content-gold-bright)}.harmony-guide-hero>p:first-of-type,.harmony-data-page>header>p:first-of-type{color:var(--content-gold-bright);letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;font-weight:900}.harmony-guide-hero h1,.harmony-data-page>header h1{color:#fffaf0;letter-spacing:-.055em;max-width:1040px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,5.2vw,5.4rem);font-weight:500;line-height:.98}.harmony-guide-lead{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,42px);max-width:1100px;margin-top:clamp(24px,4vw,42px);display:grid}.harmony-guide-lead p,.harmony-data-page>header>p:last-of-type{color:#cfdae5;margin:0;font-size:clamp(.94rem,1.25vw,1.08rem)}.harmony-guide-actions{margin-top:28px}.harmony-guide-actions a:nth-child(2){color:#fffaf0;background:#ffffff13;border-color:#ffffff3d}.harmony-guide-actions a:nth-child(2):hover{border-color:var(--content-gold-bright);background:#e3c0621a;transform:translateY(-2px)}.harmony-guide-layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);align-items:start;gap:clamp(22px,3vw,44px);margin-top:clamp(24px,4vw,48px);display:grid}.harmony-guide-toc{border:1px solid var(--content-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border-radius:18px;padding:19px;position:sticky;top:24px;box-shadow:0 12px 30px #12192112}.harmony-guide-toc>strong{color:var(--content-ink);margin-bottom:11px;font-family:Georgia,Times New Roman,serif;font-size:1rem;display:block}.harmony-guide-toc nav{gap:2px;display:grid}.harmony-guide-toc nav a{color:var(--content-muted);border-radius:8px;padding:7px 9px;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{color:var(--content-gold);margin-top:14px;font-size:.74rem;font-weight:900;display:inline-flex}.harmony-guide-article{gap:15px;display:grid}.harmony-guide-article>section,.harmony-guide-sources,.harmony-data-page>section,.harmony-data-page>footer{border:1px solid var(--content-line);background:#ffffffd1;border-radius:22px;padding:clamp(24px,3.5vw,48px);scroll-margin-top:28px;box-shadow:0 12px 34px #1219210e}.harmony-guide-article h2,.harmony-data-page>section h2{color:var(--content-ink);letter-spacing:-.035em;margin:0 0 15px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3.2vw,3rem);font-weight:500;line-height:1.05}.harmony-guide-article h3,.harmony-data-page h3{color:var(--content-ink);margin:28px 0 9px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.14rem,1.6vw,1.38rem);line-height:1.2}.harmony-guide-article section>p:not(.harmony-guide-kicker),.harmony-guide-article section>ul,.harmony-guide-article section>ol,.harmony-data-page>section>p,.harmony-data-process{color:#495562;max-width:850px;font-size:clamp(.88rem,1vw,.98rem)}.harmony-guide-article section>p:not(.harmony-guide-kicker),.harmony-data-page>section>p{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{background:var(--content-cream-2);color:var(--content-ink);white-space:nowrap;border:1px solid #b1913a33;border-radius:6px;margin-inline:.18em;padding:.12em .42em;font-size:.9em;font-weight:750;display:inline-block}.harmony-guide-answer{background:linear-gradient(135deg,#f2df9d3b,#ffffffe6)!important;border-color:#b1913a57!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{border:1px solid var(--content-line);background:var(--content-white);-webkit-overflow-scrolling:touch;border-radius:15px;width:100%;margin:24px 0;overflow-x:auto}.harmony-guide-table-wrap table{border-collapse:collapse;width:100%;min-width:600px;font-size:.8rem}.harmony-guide-table-wrap th,.harmony-guide-table-wrap td{border-bottom:1px solid var(--content-line);text-align:left;vertical-align:top;padding:11px 13px}.harmony-guide-table-wrap th{background:var(--content-ink-2);color:#fffaf0;letter-spacing:.06em;text-transform:uppercase;font-size:.69rem;font-weight:850}.harmony-guide-table-wrap tbody tr:last-child td{border-bottom:0}.harmony-guide-table-wrap tbody tr:nth-child(2n){background:#f7eddb8c}.harmony-guide-tool-link{color:#806720;background:#f2df9d38;border:1px solid #b1913a4d;border-radius:999px;align-items:center;min-height:42px;margin-top:20px;padding:8px 13px;font-size:.76rem;font-weight:850;display:inline-flex}.harmony-data-page>footer>p{margin:0}.harmony-data-page>footer>div{flex-wrap:wrap;gap:10px 24px;display:flex}.harmony-guide-tool-link:hover{border-color:var(--content-gold);background:#f2df9d61;transform:translateY(-1px)}.harmony-guide-practice-plan>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:22px;display:grid}.harmony-guide-practice-plan article{border:1px solid var(--content-line);background:var(--content-cream);border-radius:14px;padding:16px}.harmony-guide-practice-plan article strong{color:var(--content-gold);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900}.harmony-guide-practice-plan article h3{margin:7px 0;font-size:.97rem}.harmony-guide-practice-plan article p{color:var(--content-muted);margin:0;font-size:.74rem;line-height:1.5}.harmony-guide-conversion{color:#dce4ed;background:radial-gradient(circle at 90% 10%,#6d89ad3b,#0000 22rem),linear-gradient(145deg,#121921,#283341)!important;border-color:#e3c06247!important}.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){color:#fffaf0;background:#ffffff12;border:1px solid #fff3}.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{flex-wrap:wrap;gap:8px 18px;margin-top:14px;display:flex}.harmony-guide-sources a{color:var(--content-gold);font-weight:800}.harmony-data-page{width:min(1180px,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{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:24px;display:grid}.harmony-data-stats>div{border:1px solid var(--content-line);background:var(--content-cream);border-radius:16px;flex-direction:column;justify-content:center;min-height:126px;padding:18px;display:flex}.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{color:var(--content-muted);margin-top:7px;font-size:.72rem;font-weight:750;line-height:1.35}.harmony-data-source-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.harmony-data-source-list article{border:1px solid var(--content-line);background:var(--content-cream);border-radius:17px;grid-template-columns:76px minmax(0,1fr);gap:17px;padding:20px;display:grid}.harmony-data-source-list article>div:first-child{background:var(--content-ink-2);width:76px;height:76px;color:var(--content-gold-bright);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.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{letter-spacing:.05em;text-transform:uppercase;margin-top:3px;font-size:.58rem;font-weight:850}.harmony-data-source-list h3{margin:2px 0 8px;font-size:1.02rem}.harmony-data-source-list p{color:var(--content-muted);margin:5px 0;font-size:.76rem;line-height:1.5}.harmony-data-source-list a{color:#806720;text-underline-offset:3px;font-size:.73rem;font-weight:800;-webkit-text-decoration:underline #8067204d;text-decoration:underline #8067204d}.harmony-data-source-list a:hover{color:var(--content-ink);text-decoration-color:currentColor}.harmony-data-process{counter-reset:harmony-data-step;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:22px 0 0;padding:0;list-style:none;display:grid}.harmony-data-process li{border:1px solid var(--content-line);background:var(--content-cream);counter-increment:harmony-data-step;border-radius:15px;padding:18px 18px 18px 52px;position:relative}.harmony-data-process li:before{background:var(--content-ink-2);width:25px;height:25px;color:var(--content-gold-bright);content:counter(harmony-data-step);border-radius:50%;place-items:center;font-size:.65rem;font-weight:900;display:grid;position:absolute;top:17px;left:17px}.harmony-data-download{background:linear-gradient(135deg,#f2df9d40,#ffffffe6)!important;border-color:#b1913a52!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{color:var(--content-gold);flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:15px;font-size:.78rem;font-weight:850;display:flex}.harmony-data-page>footer a:hover{color:var(--content-ink)}@media (max-width:1050px){.harmony-topic-nav,.harmony-guide-practice-plan>div{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-guide-toc nav,.harmony-data-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-learning-cta{flex-direction:column;align-items:flex-start}.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-discovery-content,.harmony-guide,.harmony-data-page{width:calc(100% - 24px)}.harmony-discovery-intro,.harmony-discovery-section,.harmony-lead-magnet,.harmony-guide-hero,.harmony-data-page>header,.harmony-guide-article>section,.harmony-guide-sources,.harmony-data-page>section,.harmony-data-page>footer{border-radius:18px;padding:22px}.harmony-topic-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.harmony-module-grid,.harmony-practice-method ol,.harmony-glossary dl,.harmony-guide-lead,.harmony-guide-practice-plan>div,.harmony-data-process{grid-template-columns:minmax(0,1fr)}.harmony-module-grid>a{min-height:0}.harmony-instrument-links>div:last-child,.harmony-guide-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}.harmony-method-note{flex-direction:column;align-items:flex-start}.harmony-method-note>div{flex:0 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-discovery-content,.harmony-guide,.harmony-data-page{width:calc(100% - 16px)}.harmony-discovery-intro,.harmony-discovery-section,.harmony-lead-magnet,.harmony-guide-hero,.harmony-data-page>header,.harmony-guide-article>section,.harmony-guide-sources,.harmony-data-page>section,.harmony-data-page>footer{border-radius:15px;padding:18px}.harmony-discovery-intro h2,.harmony-guide-hero h1,.harmony-data-page>header h1{letter-spacing:-.045em;font-size:clamp(1.95rem,11vw,2.75rem)}.harmony-discovery-heading h2,.harmony-instrument-links h2,.harmony-lead-magnet h2,.harmony-guide-article h2,.harmony-data-page>section h2{font-size:clamp(1.55rem,8vw,2.05rem)}.harmony-discovery-actions,.harmony-lead-actions,.harmony-guide-actions,.harmony-guide-conversion>div,.harmony-data-download>div{flex-direction:column;align-items:stretch}.harmony-discovery-actions a,.harmony-lead-actions a,.harmony-guide-actions a,.harmony-guide-conversion a,.harmony-data-download 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{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.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-discovery-content *,.harmony-guide *,.harmony-data-page *,.harmony-hero-actions *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.metronome-toolbar{container:metronome-toolbar/inline-size}.metronome-toolbar .metronome-body{grid-template-columns:minmax(0,1fr);align-items:end;gap:7px;display:grid}.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{align-items:center;height:100%}.metronome-toolbar.is-collapsed .metronome-step-column{justify-content:center;min-height:17px}.metronome-toolbar.is-collapsed .metronome-step-light,.metronome-toolbar.is-collapsed .metronome-step-column.downbeat .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-area:1/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{font-size:.42rem;right:3px}.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-area:1/2}.metronome-subdivision-picker{grid-area:1/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-area:1/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{border-radius:10px;grid-template-columns:minmax(0,1fr);gap:4px;padding:6px}.progression-name{grid-template-columns:22px minmax(0,1fr);padding:3px 2px}.progression-name>span{border-radius:6px;width:22px;height:22px;margin-right:2px}.progression-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.1;overflow:hidden}.progression-name small{font-size:.54rem}.progression-card-actions{grid-template-columns:auto minmax(0,1fr);place-items:center stretch;gap:4px}.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{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;min-height:28px;padding:3px 4px;font-size:.52rem;overflow:hidden}}.section-nav{z-index:100;top:6px}.section-nav-transport,.section-nav-unpin-all{color:#fff8e9;white-space:nowrap;background:#ffffff14;border:1px solid #e3c06257;border-radius:999px;flex:none;place-items:center;min-width:34px;min-height:32px;padding:4px 8px;font-size:.58rem;font-weight:900;display:inline-grid}.section-nav-transport svg{width:16px;height:16px}.section-nav-transport.is-running{color:#ffd7cf;background:#ff745b30;border-color:#ff826c}.section-nav-unpin-all{grid-auto-flow:column;gap:3px}.section-nav-unpin-all:disabled{opacity:.42}.section-nav-tempo{flex:0 0 74px;display:block;position:relative}.section-nav-tempo input{color:#fff8e9;text-align:center;background:#ffffff17;border:1px solid #e3c06257;border-radius:999px;width:74px;min-height:32px;padding:4px 29px 4px 8px;font-size:.8rem;font-weight:950}.section-nav-tempo b{color:#d8c589;letter-spacing:.03em;pointer-events:none;font-size:.43rem;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.pinnable-module[data-user-pinned=true]{top:var(--module-pin-top,72px);z-index:calc(78 - var(--module-pin-order,0));outline-offset:2px;outline:2px solid #e3c0628a;position:sticky;box-shadow:0 16px 38px #080f1c3d}.sticky-visualizer-dock[data-user-pinned=true]{z-index:88;position:fixed;inset:auto 10px 8px}.sticky-visualizer-dock:not([data-user-pinned=true]){z-index:1;width:100%;margin:18px 0 0;position:relative;inset:auto}.collapsible-section.is-collapsed .section-heading-actions>.module-pin-button{display:inline-grid}.module-pin-button{color:#536070;background:#ffffffb3;border:1px solid #21324633;border-radius:9px;place-items:center;width:32px;min-width:32px;height:32px;padding:5px;display:inline-grid}.module-pin-button svg{fill:currentColor;width:17px;height:17px;transition:transform .15s}.module-pin-button.is-pinned{color:#192331;background:#f1d682;border-color:#c59b2f}.module-pin-button.is-pinned svg{transform:rotate(-34deg)}.practice-module-shell,.drum-module-shell{min-width:0;position:relative}.module-pin-overlay{z-index:8;position:absolute;top:7px;right:46px}.drum-module-pin{top:29px;right:148px}.sound-selector-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.practice-sync-actions{grid-area:transport;justify-content:flex-end;align-items:center;gap:3px;display:flex}.practice-sync-actions .practice-sync-transport{grid-area:auto}.practice-sync-actions .module-pin-button{color:#f7e8bc;background:#ffffff1a;border-color:#e3c06252;width:30px;min-width:30px;height:30px}.practice-sync-actions .module-pin-button.is-pinned{color:#192331;background:#f1d682}.practice-sync-controls{grid-template-columns:auto minmax(0,1fr) 72px}#explore>.harmony-section-heading{flex-flow:row;align-items:center;gap:8px}#explore>.harmony-section-heading>:first-child{flex:0 auto;min-width:0}#explore .section-heading-actions{flex-wrap:nowrap;min-width:0}#explore .selected-summary{white-space:nowrap;align-items:baseline;gap:6px;min-width:0;max-width:min(42vw,430px);min-height:32px;padding:4px 8px;display:flex}#explore .selected-summary :is(strong,span){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-tabs{grid-template-columns:repeat(6,minmax(0,1fr));width:100%;display:grid}.category-tabs button{justify-content:center;width:100%;min-width:0}#generator :is(.select-field select,.select-field option){font-size:.64rem}#generator .generator-controls{align-items:start}.generator-color-field{z-index:12;grid-template-columns:minmax(0,1fr);gap:3px;display:grid;position:relative}.substitution-chance-compact{color:#526174;grid-template-columns:auto minmax(42px,1fr);align-items:center;gap:5px;font-size:.55rem;font-weight:850;display:grid}.substitution-chance-compact input{accent-color:#c39a31;width:100%;min-width:0}.substitution-dropdown{min-width:0;position:relative}.substitution-dropdown summary{color:#26364a;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#ffffffc2;border:1px solid #22354a2e;border-radius:7px;min-height:25px;padding:4px 7px;font-size:.56rem;font-weight:850;overflow:hidden}.substitution-dropdown-menu{z-index:30;background:#fffdf7;border:1px solid #24334633;border-radius:10px;width:min(340px,82vw);padding:7px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 14px 34px #0c16233d}.substitution-dropdown-menu label{color:#26364a;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px;min-height:28px;font-size:.6rem;font-weight:780;display:grid}.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{justify-content:flex-end;align-items:center;gap:6px;margin:7px 0 5px;display:flex}.progression-quick-actions .primary-button{min-height:34px;padding-block:5px}.voice-connection-row{pointer-events:none;grid-template-columns:minmax(190px,.34fr) minmax(0,1.66fr);gap:7px;height:24px;margin:-3px 0;display:grid}.voice-connection-overlay{grid-column:2;width:100%;height:100%;display:block;overflow:visible}.voice-connection-line{stroke:#ef334d;stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 3px #ef334dbf)}.voice-connection-line:is(.is-split,.is-merge){stroke-width:4px}.replacement-search-field-primary{margin:10px 0}.fret-board{overflow:visible}.fret-string-line{top:50%;transform:translateY(-50%)}.fret-string-row,.fret-cell,.fret-note-button{overflow:visible}.sticky-visualizer-body .fret-cell,.sticky-visualizer-body .fret-open-string-cell,.sticky-visualizer-body .fret-note-button{height:100%;min-height:0}.sticky-visualizer-body :is(.fret-note-marker,.fret-open-string-marker){aspect-ratio:1;border-radius:50%;flex:0 0 30px;width:30px;min-width:30px;max-width:30px;height:30px;min-height:30px;max-height:30px}.sticky-visualizer-body .fret-header :is(.fret-string-heading,.fret-number){min-height:22px}.fret-note-marker,.fret-open-string-marker{aspect-ratio: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-note-marker,.piano-black-key .piano-note-marker{width:100%;height:100%;min-height:0;color:var(--interval-ink,#fff);box-shadow:none;background:0 0;border:0;border-radius:0;padding:2px 0;position:absolute;inset:0}.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();transform:scale(1)}35%{filter:brightness(1.4)saturate(1.25);transform:scale(.94)}to{filter:brightness();transform:scale(1)}}.one-shot-play-flash{animation:.25s ease-out one-shot-play-pulse;box-shadow:0 0 0 3px #e3c06285,0 0 17px #e3c062a3!important}.ear-heading{align-items:center;flex-flow:row!important}.ear-heading>:first-child{flex:0 auto;min-width:0}.ear-heading .section-heading-actions{flex-wrap:nowrap}.ear-score{white-space:nowrap;gap:6px;min-width:0;min-height:34px;padding:4px 7px;display:flex}.ear-score>strong{font-size:1rem}.ear-score>em{font-size:.56rem}.ear-game-streak{color:#c69422;font-weight:900}.training-pool-collapse{color:#142438;width:31px;min-width:31px;padding:2px;font-size:1rem}.ear-category-stack[hidden]{display:none!important}.drum-mini-sequencer{flex:180px;grid-template-columns:repeat(16,minmax(3px,1fr));align-items:center;gap:2px;max-width:360px;display:grid}.drum-mini-sequencer[hidden]{display:none!important}.drum-mini-step{background:#ffffff29;border:1px solid #ffffff14;border-radius:4px;flex-direction:column;height:10px;display:flex;overflow:hidden}.drum-mini-step.has-hit{background:#ffffff0f}.drum-mini-hit{background:var(--drum-row-color);flex:1 1 0;min-height:1px;display:block}.drum-mini-hit[data-velocity=ghost]{opacity:.48}.drum-mini-step.is-downbeat{box-shadow:inset 2px 0 #d45d78}.drum-mini-step.is-current{outline-offset:1px;outline:2px solid #20d6ee;box-shadow:0 0 9px #20d6eee6}.drum-mini-step.is-current.is-downbeat{box-shadow:inset 2px 0 #d45d78,0 0 9px #20d6eee6}[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{border-left:3px solid var(--drum-row-color);border-radius:3px;padding-left:5px}.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-offset:1px;outline:2px solid #20d6ee;box-shadow:0 0 13px #20d6eec7}.drum-heading{flex-flow:row;align-items:center}.drum-heading-copy{min-width:0}.drum-transport{flex-flow:row;align-items:center}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-heading{flex-flow:row;align-items:center;margin-bottom:0}.drum-trainer:has(.drum-trainer-body[hidden]) .drum-transport{flex-flow:row;display:flex}.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{flex-basis:65px;width: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]{bottom:5px;left:5px;right: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{border-width:9px 5px 5px;height:154px}.sticky-visualizer-body .fret-header :is(.fret-string-heading,.fret-number){min-height:18px}.piano-white-key,.piano-black-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>span,.ear-score button{display:none}.ear-score>em{display:inline}.drum-heading-copy p,.drum-status{display:none}.drum-heading-copy h2{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.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){align-self:center;height:38px;min-height:38px;max-height:38px}.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;gap:1px;max-width:none}}.section-nav{z-index:140;border-radius:15px;flex-wrap:nowrap;align-items:center;width:auto;max-width:none;min-height:44px;margin:0;padding:5px;position:fixed;top:6px;left:clamp(8px,1.45vw,28px);right:clamp(8px,1.45vw,28px)}.section-nav-brand{justify-content:center;min-width:36px;min-height:34px;padding:2px 4px!important}.section-nav-brand img{width:29px;height:29px}.section-nav-transport,.section-nav-unpin-all{border-radius:10px;width:34px;min-width:34px;min-height:34px;padding:5px}.section-nav-tempo{border-radius:10px;flex:0 0 82px;grid-template-columns:21px minmax(0,1fr);align-items:center;gap:2px;width:82px;min-height:34px;padding:3px 4px;display:grid}.section-nav-tempo input{border:0;border-radius:7px;width:100%;min-width:0;min-height:26px;padding:1px 3px;font-size:.78rem}.sticky-practice-tools{top:calc(var(--nav-top) + var(--nav-height) + var(--sticky-gap));z-index:84;position:sticky}.harmony-app{overflow-x:visible}body:has(.harmony-app){overflow-x:clip}@media (max-width:560px){.section-nav{border-radius:12px;gap:3px;min-height:40px;padding:4px;position:fixed;left:5px;right:5px}.section-nav-brand,.section-nav-icon-link,.section-nav .section-nav-lead,.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{align-items:stretch;gap:5px;min-width:0;display:inline-flex}.progression-midi-export label{min-width:0;color:var(--ink-2);white-space:nowrap;background:#ffffffad;border:1px solid #1c2a3b26;border-radius:9px;grid-template-columns:auto minmax(92px,1fr);align-items:center;gap:5px;padding:3px 4px 3px 8px;font-size:.6rem;font-weight:900;display:grid}.progression-midi-export select{border-radius:7px;min-width:0;min-height:28px;padding:2px 22px 2px 6px;font-size:.64rem;font-weight:850}.progression-midi-export .secondary-button{white-space:nowrap;min-height:34px;padding:4px 9px}.builder-heading,.builder-heading-main{flex-flow:row;align-items:center}.builder-heading-main{gap:8px;min-width:0;display:flex}.builder-heading-main h2{white-space:nowrap;flex:none}.builder-heading-main .chord-name-follower{align-items:baseline;gap:5px;min-width:0;max-width:min(390px,44vw);padding:4px 8px;display:inline-flex}.builder-heading-main .chord-name-follower :is(strong,span){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ear-score{color:#fff9e8;white-space:nowrap;background:#172638;border:1px solid #e3c0627a;border-radius:10px;align-items:stretch;gap:4px;min-width:0;min-height:34px;padding:3px;display:inline-flex}.ear-score>span{color:#fff9e8;background:#ffffff17;border-radius:7px;justify-content:center;align-items:center;gap:2px;min-width:36px;padding:3px 6px;font-style:normal;display:inline-flex}.ear-score :is(strong,small){color:inherit;line-height:1}.ear-score strong{font-size:.88rem;font-weight:950}.ear-score small{text-transform:uppercase;font-size:.5rem;font-weight:850}.ear-score .ear-score-accuracy{color:#aef3d8;background:#67d2ad29;border:1px solid #67d2adb8;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{color:#fff9e8;background:#ffffff14;border:1px solid #ffffff2e;border-radius:7px;place-items:center;width:27px;min-width:27px;min-height:27px;padding:2px;font-size:.9rem;display:inline-grid}@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{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.ear-heading{gap:3px}.ear-heading h2{white-space:nowrap;font-size:.82rem}.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:none;min-height:0;margin:0}.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{z-index:88;outline:0;width:auto;max-width:1900px;margin:0 auto;position:fixed;inset:auto clamp(5px,1vw,12px) clamp(5px,1vw,10px)}.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{top:var(--module-pin-top,68px);bottom:auto;right: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;position:fixed}.metronome-toolbar.is-collapsed .metronome-title-row{grid-template-columns:auto minmax(80px,1fr) auto;align-items:center;gap:8px;display:grid}.metronome-toolbar.is-collapsed .metronome-body{display:none}.metronome-collapsed-beats{min-width:0;overflow:hidden}.metronome-collapsed-beats .metronome-beat-scroller,.metronome-collapsed-beats .metronome-beat-pattern{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-light,.metronome-toolbar.is-collapsed .metronome-collapsed-beats .metronome-step-column.downbeat .metronome-step-light{width:clamp(3px,.55vw,8px);min-width:3px;height:clamp(3px,.55vw,8px)}.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:none}#generator .generator-performance-controls{grid-template-columns:minmax(230px,1.1fr) minmax(110px,.5fr) minmax(260px,1.2fr);align-items:stretch;gap:5px;margin:6px 0;display:grid}#generator .generator-performance-controls fieldset{border-radius:8px;min-width:0;padding:3px 5px 5px;display:flex}#generator .generator-performance-controls legend{white-space:nowrap;width:auto;margin:0 0 1px;padding:0 3px;font-size:.56rem;line-height:1}#generator .generator-performance-controls :is(.music-symbol-options,.segmented-control){flex:auto;gap:2px;width:100%}#generator .generator-performance-controls :is(.music-symbol-options,.segmented-control) button{border-radius:6px;min-width:0;min-height:29px;padding:2px 3px}#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 .section-collapse-toggle,.metronome-toolbar.is-collapsed .module-pin-button{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}}
