.harmony-language-controls{position:fixed;right:8px;top:10px;z-index:141;display:flex;gap:2px;padding:3px;border:1px solid #bda66a;border-radius:9px;background:#fffaf0}.harmony-language-controls button{width:32px;min-height:30px;padding:2px;border:0;border-radius:6px;background:transparent;color:#1a252e;font:700 12px/1.2 inherit;cursor:pointer}.harmony-language-controls button[aria-pressed=true]{background:#e5bf56}.harmony-language-controls button:focus-visible{outline:2px solid #1a252e;outline-offset:2px}body:has(.harmony-app) .section-nav{right:120px}.harmony-notation-controls{display:flex;gap:5px;align-items:center;min-width:0;font-size:12px}.harmony-notation-controls select{min-width:0;max-width:190px;min-height:30px;font:inherit;padding:3px 5px;border-radius:6px}.harmony-app #explore>.harmony-section-heading{flex-wrap:wrap}.harmony-app #explore>.harmony-section-heading>.harmony-notation-controls{margin-left:auto;flex:0 1 auto}.harmony-app .sticky-visualizer-header>.harmony-notation-controls{flex:0 0 auto}.harmony-app .harmony-notation-controls select{color:var(--ink,#1a252e);background:var(--paper,#fffaf0);border:1px solid #bda66a}.harmony-app :is(#explore>.harmony-section-heading,.sticky-visualizer-header)>.harmony-notation-controls>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:680px){.harmony-app .harmony-notation-controls select{width:150px;max-width:100%;font-size:11px}.harmony-app #explore>.harmony-section-heading{display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:4px}.harmony-app #explore>.harmony-section-heading h2{font-size:var(--module-heading-size,16px)!important}.harmony-app #explore>.harmony-section-heading>.harmony-notation-controls{width:126px;margin:0}.harmony-app #explore>.harmony-section-heading>.section-heading-actions{grid-column:1/-1;width:100%;justify-content:flex-end}.harmony-app .sticky-visualizer-header{grid-template-areas:"home title title pin toggle" "tabs tabs sync sync sync" "notes notes tuning tuning tuning" "primary primary primary primary primary"}.harmony-app .sticky-visualizer-header>.harmony-notation-controls{grid-area:notes;width:100%}.harmony-app .sticky-visualizer-dock.is-collapsed .sticky-visualizer-header{grid-template-areas:"home sync sync pin toggle" "notes notes notes notes notes"}}.harmony-app .sticky-visualizer-dock:not(.is-collapsed){height:auto;max-height:none;overflow:visible;scale:var(--visualizer-fit-scale,1);transform-origin:bottom center}.harmony-app .pinnable-slot[data-user-pinned=true]>.sticky-visualizer-dock{transform-origin:top center}.harmony-app .sticky-visualizer-dock .sticky-visualizer-header{flex-shrink:0}.harmony-app .sticky-visualizer-dock .sticky-visualizer-body{height:auto;min-height:0;max-height:none;flex:0 0 auto;overflow:visible}.harmony-app:has(.pinnable-slot[data-pinned-module-slot=visualizer]:not([data-user-pinned=true])>.sticky-visualizer-dock:not(.is-collapsed)){padding-bottom:calc(var(--visualizer-content-height, 340px) + 24px)!important}@media(max-height:520px){.harmony-app .sticky-visualizer-dock .sticky-visualizer-body{padding-block:3px}.harmony-app .sticky-visualizer-dock .piano-keyboard{height:100px;min-height:100px}.harmony-app .sticky-visualizer-dock .fret-string-row{height:24px;min-height:24px}.harmony-app .sticky-visualizer-dock :is(.fret-note-marker,.fret-open-string-marker){width:23px;height:23px;min-width:23px;min-height:23px;max-width:23px;max-height:23px;flex-basis:23px}.harmony-app .sticky-visualizer-dock .instrument-interval-legend{margin-block:0}.harmony-app .sticky-visualizer-dock .instrument-legend-item{min-height:24px;padding:1px 4px}.harmony-app .sticky-visualizer-dock .instrument-legend-swatch{width:20px;height:20px}}@media(max-height:430px){.harmony-app .sticky-visualizer-dock .fret-string-row{height:20px;min-height:20px}.harmony-app .sticky-visualizer-dock :is(.fret-note-marker,.fret-open-string-marker){width:19px;height:19px;min-width:19px;min-height:19px;max-width:19px;max-height:19px;flex-basis:19px}}@media(max-height:520px) and (max-width:680px){.harmony-app .sticky-visualizer-dock:not(.is-collapsed) .sticky-visualizer-header{grid-template-columns:28px repeat(3,minmax(0,1fr)) 28px 28px;grid-template-areas:"home tabs tabs tabs pin toggle" "notes notes notes sync sync sync" "primary tuning tuning tuning tuning tuning";gap:3px;padding:3px 6px!important}.harmony-app .sticky-visualizer-dock:not(.is-collapsed) .sticky-visualizer-header h2{display:none}.harmony-app .sticky-visualizer-dock .sticky-visualizer-home{width:28px;min-width:28px;padding:2px;font-size:0}.harmony-app .sticky-visualizer-dock .sticky-visualizer-home>span{font-size:18px}.harmony-app .sticky-visualizer-dock .map-sync-control{justify-self:start;font-size:10px}.harmony-app .sticky-visualizer-dock .guitar-tuning-control>span{display:none}.harmony-app .sticky-visualizer-dock .map-back-button{grid-area:tuning}.harmony-app .sticky-visualizer-dock .map-instrument-switch button{min-height:26px}}.harmony-app .sticky-practice-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.harmony-app .pinnable-slot{min-width:0}.harmony-app :is(.control-deck,.harmony-section,.voice-leading,.drum-trainer){min-width:0}.harmony-app .metronome-toolbar{padding:0}.harmony-app .metronome-toolbar .metronome-sticky{padding:6px}.harmony-app .metronome-toolbar .metronome-title-row{margin:0 0 4px;gap:4px}.harmony-app .metronome-toolbar .metronome-title-copy{min-width:0;gap:4px}.harmony-app .metronome-toolbar .metronome-body{grid-template-columns:minmax(0,1fr);gap:5px}.harmony-app .metronome-toolbar .metronome-control-strip{display:flex;align-items:end;gap:4px;width:max-content;max-width:100%;min-width:0;margin:0;padding:0}.harmony-app .metronome-toolbar .metronome-tempo{display:grid;grid-template-columns:48px 24px;gap:2px;flex:0 0 auto}.harmony-app .metronome-toolbar .metronome-tempo label{min-width:0}.harmony-app .metronome-toolbar .metronome-tempo input{box-sizing:border-box;width:48px;min-width:48px;height:30px;padding:2px 3px;font-size:15px;text-align:center}.harmony-app .metronome-toolbar .metronome-tempo label>div>span{display:none}.harmony-app .metronome-toolbar .tap-button{width:24px;min-width:24px;height:30px;min-height:30px;padding:1px;font-size:9px}.harmony-app .metronome-toolbar .meter-length-field{flex:0 0 70px;width:70px;min-width:0}.harmony-app .metronome-toolbar .number-stepper{display:grid;grid-template-columns:20px 26px 20px;gap:2px}.harmony-app .metronome-toolbar .number-stepper :is(input,button){box-sizing:border-box;width:100%;min-width:0;height:30px;min-height:30px;padding:1px;font-size:14px}.harmony-app .metronome-toolbar .metronome-subdivision-picker{flex:0 0 124px;width:124px;min-width:0;padding:0;margin:0;border:0}.harmony-app .metronome-toolbar .metronome-subdivision-picker>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px}.harmony-app .metronome-toolbar .metronome-subdivision-picker button{box-sizing:border-box;width:100%;min-width:0;min-height:30px;height:30px;padding:1px;font-size:17px}.harmony-app .metronome-toolbar :is(.metronome-tempo label>span,.meter-length-field>span,.metronome-subdivision-picker legend){display:block;margin:0 0 3px;padding:0;font-size:9px;line-height:1.1;letter-spacing:0;white-space:nowrap}.harmony-app .metronome-toolbar .metronome-beat-scroller{width:100%;min-width:0;margin:0;padding:0;overflow:visible}.harmony-app .metronome-toolbar .metronome-beat-pattern{width:100%;min-width:0;gap:2px}.harmony-app .metronome-toolbar .metronome-beat-group{min-width:0;min-height:0;padding:2px}.harmony-app .metronome-toolbar .metronome-beat-number{display:none}.harmony-app .metronome-toolbar .metronome-count-label{font-size:9px;min-height:10px;line-height:10px}.harmony-app .metronome-toolbar .metronome-step-column{gap:1px;min-width:0;min-height:0}.harmony-app .metronome-toolbar .metronome-sound-stack{gap:2px}.harmony-app .metronome-toolbar .metronome-sound-block{min-width:0;min-height:7px;height:7px;padding:0}.harmony-app .metronome-toolbar .metronome-step-light{width:5px;height:5px;min-width:0}.harmony-app .metronome-toolbar .metronome-title-row .section-heading-actions{flex-wrap:nowrap;width:auto;margin:0;gap:3px}.harmony-app .metronome-toolbar.is-collapsed .metronome-title-row{margin:0}.harmony-app .metronome-toolbar.is-collapsed .metronome-body{display:none}.harmony-app .root-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;min-width:0}.harmony-app .root-grid button{min-width:0;width:100%;padding-inline:0}.harmony-app #custom-builder .custom-interval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(34px,1fr));min-width:0}.harmony-app #custom-builder .custom-interval-grid button{min-width:0}.harmony-app #custom-builder .custom-interval-grid button :is(span,small){display:none}.harmony-app #custom-builder .custom-interval-grid button{min-height:30px;padding:3px}.harmony-app #custom-builder .builder-actions{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.harmony-app #custom-builder .builder-actions>button{width:auto;min-width:0;min-height:30px;padding:4px 7px;font-size:12px}.harmony-app #generator .generator-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.harmony-app #generator .generator-color-field{grid-column:1/-1;grid-row:auto}.harmony-app #generator :is(.generator-performance-controls,.music-symbol-options,.segmented-control){min-width:0}.harmony-app #generator .music-symbol-options{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px}.harmony-app #generator .music-symbol-options button{min-width:0;padding-inline:2px}.harmony-app #generator .section-heading-actions{width:auto;gap:4px;margin:0}.harmony-app #generator .section-heading-actions>button{min-height:32px;padding:4px 7px;font-size:12px}.harmony-app #generator .section-heading-actions .primary-button:not(.icon-only-transport){min-width:0;width:auto}.harmony-app #generator .progression-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.harmony-app .ear-option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:4px}.harmony-app .ear-option-grid>button{min-height:38px;padding:4px 6px;gap:5px}.harmony-app .ear-option-grid>button>span{min-width:0}.harmony-app .ear-option-grid strong{font-size:12px;line-height:1.15;overflow-wrap:anywhere}.harmony-app .ear-option-grid :is(strong,small){white-space:normal;overflow:visible;text-overflow:clip}.harmony-app .ear-option-grid small{font-size:10px;line-height:1.15}.harmony-app .ear-category{padding:7px}.harmony-app .ear-category-heading{margin-bottom:5px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px}.harmony-app .ear-category-heading>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}.harmony-app .ear-category-heading h3{font-size:15px;margin:0}.harmony-app .ear-category-heading button{min-height:28px;padding:3px 6px;font-size:11px}.harmony-app .ear-challenge-card{min-height:0;padding:12px;gap:6px}.harmony-app .ear-challenge-card h3{margin:0;font-size:20px}.harmony-app .ear-challenge-card p{margin-block:6px;font-size:12px;line-height:1.35}.harmony-app .ear-category-stack{gap:7px}.harmony-app .ear-selection-toolbar{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.harmony-app .ear-selection-toolbar>div:last-child{display:flex;flex-wrap:wrap;gap:3px;min-width:0}.harmony-app .ear-selection-toolbar button{min-width:0;min-height:30px;padding:4px 7px;font-size:12px}.harmony-app .song-library-match-options{display:flex;flex-wrap:wrap;min-width:0;gap:5px}.harmony-app .song-library-subheading{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.harmony-app .song-library-subheading>div{width:100%;min-width:0;max-width:none}.harmony-app .song-library-subheading :is(h3,p){max-width:none;margin-block:0 4px}.harmony-app .song-library-matches{min-height:0;padding:10px}.harmony-app .song-library-match-options>*{min-width:0;max-width:100%}.harmony-app .song-library-sort-control{flex:1 1 220px;min-width:0;max-width:100%}.harmony-app .song-library-sort-control select{width:100%;min-width:0;max-width:100%}.harmony-app .song-library-match-options{align-items:start}.harmony-app .song-library-match-options>label:not(.song-match-search){flex:0 1 auto;justify-content:flex-start;font-size:12px;line-height:1.25;white-space:normal}.harmony-app .song-library-match-options>label>input[type=checkbox]{flex:0 0 15px;width:15px;height:15px;margin:0}.harmony-app .song-library-match-options>.song-match-search{position:relative;display:flex;flex:1 1 220px;padding:0}.harmony-app .song-match-search>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.harmony-app .song-match-search>input[type=search]{flex:1 1 auto;width:100%;min-width:0;height:34px;padding:6px 9px;border:0;border-radius:inherit;background:transparent;color:#fff9ed;font:inherit;font-size:12px}.harmony-app .song-match-search>input[type=search]::placeholder{color:#b8c6d5;opacity:1}.harmony-app .song-library-match-options>.song-library-sort-control{flex:1 1 280px;min-width:0;width:auto;grid-template-columns:auto minmax(0,1fr)}.harmony-app .song-library-match-options>.song-library-sort-control>label{display:block;flex:none;min-height:0;padding:0;border:0;background:transparent;font-size:12px;line-height:1.25;white-space:normal}.harmony-app .song-player-module .song-playback-toolbar{grid-template-columns:64px minmax(100px,180px) minmax(240px,auto) auto minmax(0,1fr)}.harmony-app .song-player-module .song-playback-tempo input{width:100%;min-width:0;padding:4px;font-size:16px;text-align:center}.harmony-app .sticky-visualizer-header{flex-wrap:wrap;overflow:visible}.harmony-app .sticky-visualizer-header>.harmony-notation-controls{min-width:0;max-width:100%}.harmony-app .sticky-visualizer-header :is(.guitar-tuning-control,.custom-tuning-strings){min-width:0;max-width:100%;flex-wrap:wrap}.harmony-app .sticky-visualizer-dock.is-collapsed{max-height:none}.harmony-app .sticky-visualizer-dock.is-collapsed .sticky-visualizer-header{display:grid;grid-template-columns:auto minmax(0,1fr) var(--module-control-size) var(--module-control-size);grid-template-areas:"home sync pin toggle";gap:4px;min-height:44px}.harmony-app .sticky-visualizer-dock.is-collapsed .sticky-visualizer-header :is(h2,.map-instrument-switch,.harmony-notation-controls,.guitar-tuning-control,.map-back-button){display:none}.harmony-app .sticky-visualizer-dock.is-collapsed .sticky-visualizer-home{grid-area:home}.harmony-app .sticky-visualizer-dock.is-collapsed .map-sync-control{grid-area:sync;min-width:0;justify-self:end;white-space:normal}.harmony-app .sticky-visualizer-dock.is-collapsed .map-sync-control span{white-space:normal}.harmony-app .sticky-visualizer-dock.is-collapsed .sticky-visualizer-header>.module-pin-button{grid-area:pin}.harmony-app .sticky-visualizer-dock.is-collapsed .sticky-visualizer-toggle{grid-area:toggle}.harmony-app .voice-leading-module .voice-leading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.harmony-app .voice-leading-module :is(.voice-header-generate,.voice-reset-route){flex:0 0 auto;min-width:0;min-height:30px;padding:4px 8px;font-size:12px;white-space:nowrap}.harmony-app .voice-leading-module .voice-source-select{flex:1 1 160px;min-width:0;font-size:11px}.harmony-app .voice-leading-module .voice-movement-total{min-height:30px;padding:4px 6px;font-size:11px}.harmony-app:has(+.harmony-discovery-content),.harmony-app:has(+.harmony-discovery-content):has(.pinnable-slot[data-pinned-module-slot=visualizer]:not([data-user-pinned=true])>.sticky-visualizer-dock:not(.is-collapsed)){padding-bottom:12px!important}.harmony-app>.site-footer{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand sources" "links links";gap:6px 12px;align-items:start;margin-top:8px;padding:10px 4px 6px;border-top:1px solid rgba(40,51,65,.18);color:var(--ink-soft,#5d6671);font-size:12px;line-height:1.45}.harmony-app>.site-footer>div{min-width:0;gap:2px}.harmony-app>.site-footer strong{color:var(--dark-text,#18202a)}.harmony-app>.site-footer>div>span{font-size:11px}.harmony-app>.site-footer .harmony-footer-sources{grid-area:sources;min-width:0;max-width:100%;justify-self:end}.harmony-app>.site-footer .harmony-footer-sources summary{width:fit-content;max-width:100%;min-height:32px;padding:6px 8px;border:1px solid rgba(40,51,65,.24);border-radius:8px;color:var(--dark-text,#18202a);background:var(--surface-2,#fff);font-weight:750;cursor:pointer}.harmony-app>.site-footer .harmony-footer-sources summary::marker{color:var(--gold-deep,#806720)}.harmony-app>.site-footer:has(.harmony-footer-sources[open]){grid-template-areas:"brand brand" "sources sources" "links links"}.harmony-app>.site-footer .harmony-footer-sources[open]{width:100%}.harmony-app>.site-footer .harmony-footer-sources p{max-width:none;margin:6px 0 0;color:var(--ink-soft,#5d6671);text-align:left;overflow-wrap:anywhere}.harmony-app>.site-footer>nav{gap:2px 12px;padding-top:2px;border-top:0}.harmony-app>.site-footer>nav a{min-height:32px;max-width:100%;color:var(--ink-2,#283341);text-decoration:underline;text-decoration-color:var(--gold-deep,#806720);text-underline-offset:3px}.harmony-app>.site-footer>nav a:hover{color:var(--gold-deep,#806720)}.harmony-app>.site-footer :is(summary,a):focus-visible{outline:2px solid var(--gold-deep,#806720);outline-offset:2px}@media (min-width:1181px){.harmony-app>.site-footer:not(:has(.harmony-footer-sources[open])){grid-template-columns:minmax(200px,.75fr) auto minmax(0,3fr);grid-template-areas:"brand sources links"}.harmony-app>.site-footer>nav{justify-content:flex-end}}.harmony-app .drum-field{min-width:0}.harmony-app .drum-input-with-unit{width:100%;min-width:0}.harmony-app .drum-field :is(input,select){box-sizing:border-box;width:100%;max-width:100%;min-width:0}.harmony-app .drum-swing-field input{margin:0}.harmony-app .drum-ruler-grid[data-dense=true] .drum-step-light{min-width:0}.harmony-app .drum-ruler-grid[data-dense=true] .drum-step-light i{width:min(8px,100%);height:4px}.harmony-app .drum-ruler-grid[data-dense=true] .drum-step-light b{justify-self:start}@media (min-width:621px) and (max-width:900px){.harmony-app :is(.drum-ruler,.drum-row){grid-template-columns:190px minmax(0,1fr)}}@media (max-width:620px){.harmony-app .drum-ruler{display:block}.harmony-app .drum-ruler-label{display:none}.harmony-app .drum-row{grid-template-columns:minmax(0,1fr);gap:2px}.harmony-app .drum-row-head{grid-template-columns:auto minmax(70px,88px) minmax(0,1fr);gap:2px}.harmony-app .drum-row-head>label{grid-column:1;grid-row:1}.harmony-app .drum-row-head>select{grid-column:2;grid-row:1}.harmony-app .drum-row-mix{grid-column:3;grid-row:1;grid-template-columns:16px 16px minmax(0,1fr)}.harmony-app :is(.drum-row-mute,.drum-row-solo){width:16px;min-width:16px;height:16px;min-height:16px}.harmony-app .drum-step{min-height:27px}}@media (min-width:680px){.harmony-app .metronome-toolbar .metronome-tempo{grid-template-columns:58px 30px;gap:4px}.harmony-app .metronome-toolbar .metronome-tempo input{width:58px;min-width:58px}.harmony-app .metronome-toolbar .tap-button{width:30px;min-width:30px}.harmony-app .metronome-toolbar .metronome-subdivision-picker{flex-basis:174px;width:174px}.harmony-app .metronome-toolbar .metronome-control-strip{gap:8px}}@media (min-width:1100px){.harmony-app .metronome-toolbar:not(.is-collapsed) .metronome-body{grid-template-columns:max-content minmax(0,1fr);gap:12px}}.harmony-app #practice-track .practice-sync-controls{position:static;width:100%;height:auto;min-height:44px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"summary modules transport";gap:4px;padding:4px;box-sizing:border-box}.harmony-app #practice-track .practice-sync-modules{width:100%;max-width:264px;justify-self:end;gap:2px}.harmony-app #practice-track .practice-sync-controls.has-song-player .practice-sync-modules{max-width:298px;grid-template-columns:repeat(3,minmax(0,1fr)) 34px}.harmony-app #practice-track .practice-sync-module{display:flex;align-items:center;justify-content:center;min-height:34px;height:34px;min-width:0;padding:1px;gap:0}.harmony-app #practice-track .practice-sync-toggle{display:flex;flex:0 0 30px;width:30px;height:30px;gap:0}.harmony-app #practice-track .practice-sync-toggle-track{display:none}.harmony-app #practice-track :is(.practice-sync-module-symbol,.practice-master-choice,.practice-master-crown){box-sizing:border-box;width:30px;min-width:30px;height:30px;min-height:30px;flex:0 0 30px}.harmony-app #practice-track .practice-sync-actions{--module-control-size:30px;gap:2px}.harmony-app #practice-track .practice-sync-actions>button{flex:0 0 30px;width:30px;min-width:30px;max-width:30px;height:30px;min-height:30px;max-height:30px;padding:4px}@media (max-width:680px){.harmony-app #practice-track .practice-sync-controls{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"modules transport"}.harmony-app #practice-track .practice-sync-summary{display:none}.harmony-app #practice-track .practice-sync-modules{max-width:none}}@media (min-width:681px) and (max-width:1280px){.harmony-app .sticky-visualizer-dock:not(.is-collapsed) .sticky-visualizer-header{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto var(--module-control-size) var(--module-control-size);grid-template-areas:"home title title title pin toggle" "tabs notes notes sync sync sync" "primary tuning tuning tuning tuning tuning";gap:4px 6px}.harmony-app .sticky-visualizer-header .sticky-visualizer-home{grid-area:home}.harmony-app .sticky-visualizer-header h2{grid-area:title}.harmony-app .sticky-visualizer-header .map-instrument-switch{grid-area:tabs;min-width:0;justify-self:start}.harmony-app .sticky-visualizer-header>.harmony-notation-controls{grid-area:notes;justify-self:start}.harmony-app .sticky-visualizer-header .map-sync-control{grid-area:sync;min-width:0;justify-self:end}.harmony-app .sticky-visualizer-header .guitar-tuning-control{grid-area:tuning;min-width:0;max-width:100%;flex-wrap:wrap}.harmony-app .sticky-visualizer-header .custom-tuning-strings{max-width:100%;flex-wrap:wrap}.harmony-app .sticky-visualizer-header .map-back-button{grid-area:primary}.harmony-app .sticky-visualizer-header>.module-pin-button{grid-area:pin}.harmony-app .sticky-visualizer-header .sticky-visualizer-toggle{grid-area:toggle}}@media (max-width:680px){.harmony-app .sticky-visualizer-dock:not(.is-collapsed) .sticky-visualizer-header:has(.custom-tuning-strings){grid-template-areas:"home title title pin toggle" "tabs tabs sync sync sync" "notes notes notes notes notes" "tuning tuning tuning tuning tuning" "primary primary primary primary primary"}.harmony-app .sticky-visualizer-header .guitar-tuning-control:has(.custom-tuning-strings){width:100%;justify-self:stretch}.harmony-app .sticky-visualizer-header .custom-tuning-strings{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%}.harmony-app .sticky-visualizer-header .custom-tuning-strings :is(label,select){min-width:0;max-width:100%}.harmony-app .sticky-visualizer-header .custom-tuning-strings select{width:100%}}@media (max-height:520px) and (max-width:680px){.harmony-app .sticky-visualizer-dock:not(.is-collapsed) .sticky-visualizer-header:has(.custom-tuning-strings){grid-template-columns:28px repeat(3,minmax(0,1fr)) 28px 28px;grid-template-areas:"home tabs tabs tabs pin toggle" "notes notes notes sync sync sync" "tuning tuning tuning tuning tuning tuning"}}@media (max-width:679px){.harmony-app{--module-control-size:30px;--module-heading-size:16px}.harmony-app .metronome-title-copy .metronome-sync-chip{display:none}.harmony-app .metronome-toolbar .metronome-title-row .master-module-button{min-width:0;min-height:30px;padding:3px;font-size:10px}.harmony-app .metronome-toolbar .metronome-start{width:30px;min-width:30px;min-height:30px;height:30px;padding:4px}.harmony-app #generator .harmony-section-heading{display:flex;flex-wrap:wrap;align-items:center}.harmony-app #generator .generator-heading-main{flex:1 1 100%;min-width:0}.harmony-app #generator .section-heading-actions{flex:1 1 100%;display:flex;justify-content:flex-end;flex-wrap:nowrap}.harmony-app #generator .generator-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.harmony-app #generator .generator-color-field{grid-template-columns:auto minmax(0,1fr);gap:3px}.harmony-app #generator .generator-color-field .substitution-chance-compact,.harmony-app #generator .generator-color-field .substitution-dropdown{grid-column:1/-1}.harmony-app #generator .progression-grid,.harmony-app .ear-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.harmony-app .ear-option-grid>button{min-height:42px}.harmony-app #custom-builder .builder-heading{display:flex;flex-wrap:wrap;gap:5px}.harmony-app #custom-builder .builder-heading-main{display:flex;flex:1 1 100%;align-items:center;justify-content:space-between;min-width:0;gap:6px}.harmony-app #custom-builder .chord-name-follower{flex:0 1 auto;min-width:0;max-width:55%}.harmony-app #custom-builder .builder-heading .section-heading-actions{display:flex;flex:1 1 100%;justify-content:flex-end;flex-wrap:nowrap;gap:3px;margin:0}.harmony-app #custom-builder .builder-heading .master-module-button{min-height:30px;padding:3px 6px;font-size:12px}.harmony-app .ear-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:5px}.harmony-app .ear-heading>div:first-child{width:auto;min-width:0}.harmony-app .ear-heading .section-heading-actions{width:100%;display:flex;flex-wrap:nowrap;justify-content:flex-end;margin:0;gap:3px}.harmony-app .ear-heading .ear-score{flex:1 1 auto;min-width:0;justify-content:center;gap:3px}.harmony-app .ear-heading .ear-score>span{min-width:0;padding:3px}.harmony-app .ear-selection-toolbar:has(.ear-category-quick-toggles){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;margin:12px 0 0}.harmony-app .ear-selection-toolbar:has(.ear-category-quick-toggles)>div:first-child{grid-column:1;grid-row:1;text-align:left}.harmony-app .ear-selection-toolbar:has(.ear-category-quick-toggles)>div:first-child span{display:none}.harmony-app .ear-selection-toolbar:has(.ear-category-quick-toggles)>div:last-child{grid-column:2;grid-row:1;width:auto;justify-content:flex-end}.harmony-app .ear-selection-toolbar .ear-category-quick-toggles{grid-column:1/-1;grid-row:2;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.harmony-app .ear-selection-toolbar .ear-category-quick-toggles button{min-height:30px;padding:4px 6px;font-size:12px}.harmony-app .song-player-module .song-playback-toolbar{grid-template-columns:64px minmax(0,1fr)}.harmony-app .song-player-module .song-player-layers{grid-column:1/-1}.harmony-app .song-player-module .song-playback-source-tempo{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.harmony-app .song-player-module .song-playback-source-tempo strong{min-width:0;font-size:12px;line-height:1.25;white-space:normal;overflow:visible}.harmony-app .song-player-module .song-playback-status{grid-column:1/-1;min-width:0;text-align:left;font-size:11px}.harmony-app .drum-heading{gap:4px}.harmony-app .drum-heading-copy{flex:1 1 auto;min-width:0}.harmony-app .drum-heading-copy h2{max-width:none;white-space:normal;overflow:visible;text-overflow:clip}.harmony-app .drum-transport{gap:3px}.harmony-app .drum-master-button{min-width:43px;min-height:30px;height:30px;padding:3px 5px;font-size:11px}.harmony-app .drum-play-button{min-width:30px;width:30px;min-height:30px;height:30px;padding:4px}.harmony-app .drum-controls{grid-template-columns:minmax(0,.9fr) 48px minmax(0,1.65fr);gap:5px}.harmony-app .drum-field>span:first-child{font-size:9px}.harmony-app .drum-grid-controls{grid-template-columns:56px minmax(0,1fr);gap:3px}.harmony-app .drum-input-with-unit input{min-width:0;padding:3px;font-size:14px}.harmony-app #drum-tempo-unit{display:none}.harmony-app .drum-input-with-unit #drum-meter{padding-right:17px}.harmony-app .drum-field select{min-width:0;font-size:11px;padding-inline:3px}}@media (max-width:679px) and (min-height:521px){.harmony-app .sticky-visualizer-dock .piano-keyboard{height:132px;min-height:132px}.harmony-app .sticky-visualizer-dock .sticky-visualizer-body{padding-block:5px}}@media (max-width:430px){.harmony-language-controls{right:6px;gap:1px}.harmony-language-controls button{width:24px}body:has(.harmony-app) .section-nav{right:94px}.harmony-app .section-nav-tempo{display:block;padding:2px}.harmony-app .section-nav-tempo>.trainer-nav-icon{display:none}.harmony-app .section-nav-tempo input{font-size:12px;text-align:center}.harmony-app .song-player-module .song-player-module-header{grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:6px}.harmony-app .song-player-title{grid-column:1/-1;grid-row:1}.harmony-app .song-player-now{grid-column:1;grid-row:2;gap:2px;padding:3px;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr)}.harmony-app .song-player-header-actions{grid-column:2;grid-row:2;gap:3px}.harmony-app .song-player-module .song-player-header-actions>button{width:28px;min-width:28px;height:30px;min-height:30px;padding:3px}.harmony-app .song-player-module .song-player-header-actions>.song-player-master{width:auto;min-width:43px;font-size:10px;color:#d6e0e9;display:flex;align-items:center;justify-content:center}.harmony-app .song-player-master:before{content:none}}@media (max-width:360px){.harmony-app #explore .harmony-section-heading{display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:4px}.harmony-app #explore .section-heading-actions{flex:1 1 100%;width:100%;gap:4px}.harmony-app #explore .section-heading-actions .selected-summary{min-width:0;max-width:none;flex:1 1 auto}.harmony-app #explore .selected-summary strong{max-width:none;white-space:normal;overflow:visible;text-overflow:clip}}.harmony-app .sticky-visualizer-dock{display:flex;flex-direction:column}.harmony-app .visualizer-resize-handle{display:flex;align-items:center;justify-content:center;gap:12px;flex:0 0 40px;height:40px;padding:4px 12px;box-sizing:border-box;color:#222b35;background:#eee2bd;border-block:1px solid #b1913a;cursor:ns-resize;touch-action:none;user-select:none}.harmony-app .visualizer-resize-handle[data-resize-edge=bottom]{order:3}.harmony-app .is-collapsed .visualizer-resize-handle{display:none}.harmony-app .visualizer-resize-handle:after,.harmony-app .visualizer-resize-handle:before{content:"";flex:1;max-width:140px;height:2px;background:#b1913a;pointer-events:none}.harmony-app .visualizer-resize-affordance{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:30px;padding:2px 12px;border:1px solid #8d722f;border-radius:7px;background:#e5bf56;box-shadow:0 1px 2px #0002;font:800 12px/1.2 var(--font-sans,sans-serif);white-space:nowrap;pointer-events:none}.harmony-app .visualizer-resize-affordance svg{width:19px;height:19px;flex:0 0 auto}.harmony-app .visualizer-resize-affordance svg:last-child{width:12px}.harmony-app .visualizer-resize-handle:is(:hover,:focus-visible,:active){background:#e7d8aa;outline:2px solid #8d722f;outline-offset:-2px}.harmony-app .sticky-visualizer-dock[style*="--visualizer-map-height"] .fret-string-row{height:calc((var(--visualizer-map-height) - 38px) / var(--instrument-strings));min-height:0}.harmony-app .sticky-visualizer-dock[style*="--visualizer-map-height"] .piano-keyboard{height:var(--visualizer-map-height);min-height:var(--visualizer-map-height)}.harmony-app .instrument-visualizer :is(.fret-note-button,.fret-string-button){container-type:size;position:relative;min-width:0;min-height:0}.harmony-app .instrument-visualizer :is(.fret-note-button,.fret-string-button)>:is(.fret-note-marker,.fret-open-string-marker,.fret-string-name){--note-diameter:min(44px,calc(100cqw - 8px),calc(100cqh - 8px));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--note-diameter);height:var(--note-diameter);inline-size:var(--note-diameter);block-size:var(--note-diameter);min-width:0;min-height:0;min-inline-size:0;min-block-size:0;max-width:none;max-height:none;max-inline-size:none;max-block-size:none;box-sizing:border-box;border-width:1px;flex:none;font-size:min(16px,48cqh);line-height:1;box-shadow:none}.harmony-app .instrument-visualizer :is(.fret-note-marker,.fret-open-string-marker) .instrument-marker-note{font-size:min(17px,33cqh,33cqw);line-height:1}.harmony-app .instrument-visualizer :is(.fret-note-marker,.fret-open-string-marker) .instrument-marker-interval{font-size:min(13px,27cqh,27cqw);line-height:1}.harmony-app .instrument-visualizer :is(.fret-note-button,.fret-string-button).is-sounding:after{width:min(48px,calc(100cqw - 2px),calc(100cqh - 2px));height:min(48px,calc(100cqw - 2px),calc(100cqh - 2px));max-width:none;max-height:none;box-sizing:border-box;box-shadow:inset 0 0 5px #ffd85f}.harmony-app .fret-position-markers{display:grid;grid-template-columns:var(--string-column) repeat(17,minmax(48px,1fr));height:16px;background:#33291f}.harmony-app .fret-position-marker{display:flex;align-items:center;justify-content:center;gap:5px}.harmony-app .fret-position-marker i{display:block;width:5px;height:5px;border-radius:50%;background:#e7d3a2}