.voice-leading .voice-connection-row,.voice-leading .voice-row{grid-template-columns:minmax(190px,.34fr) minmax(0,1.66fr);gap:7px}.voice-leading .voice-leading-map{position:relative;display:grid;width:100%;min-width:0;gap:4px}.voice-leading .voice-connection-row{position:relative;z-index:2;height:28px;margin-block:-4px}.voice-leading .voice-connection-overlay{position:absolute;z-index:1;grid-column:auto;grid-row:auto;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;color:#42e881}.voice-leading .voice-connection-line{stroke:currentColor;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 1px rgba(4,31,18,.92)) drop-shadow(0 0 4px rgba(66,232,129,.72))}.voice-leading .voice-row{position:relative;z-index:2}.voice-leading .voice-connection-line.is-merge{stroke-width:4.5}.voice-leading .voice-connection-overlay.is-custom-route{color:#26d7ed}.voice-leading[data-selected-route=optimal] .voice-pitch-cell.chord-tone.active.selected{outline:3px solid #42e881;outline-offset:-3px;box-shadow:inset 0 0 0 1px rgba(3,34,18,.74),0 0 0 2px rgba(66,232,129,.44),0 0 17px rgba(66,232,129,.68)}.voice-leading[data-selected-route=custom] .voice-pitch-cell.chord-tone.active.selected{outline:3px solid #26d7ed;outline-offset:-3px;box-shadow:inset 0 0 0 1px rgba(3,31,37,.76),0 0 0 2px rgba(38,215,237,.4),0 0 16px rgba(38,215,237,.62)}.instrument-visualizer .fret-cell,.instrument-visualizer .fret-note-button,.instrument-visualizer .fret-note-marker,.instrument-visualizer .fret-open-string-cell,.instrument-visualizer .fret-open-string-marker,.instrument-visualizer .fret-string-button,.instrument-visualizer .fret-string-row{overflow:visible}.instrument-visualizer .fret-string-button{width:100%;height:100%;min-width:0;min-height:0}.instrument-visualizer .fret-note-button>.fret-note-marker,.instrument-visualizer .fret-string-button>.fret-open-string-marker{box-sizing:border-box;inline-size:auto;block-size:min(44px,calc(100% - 4px));min-inline-size:0;min-block-size:0;max-inline-size:none;max-block-size:none;aspect-ratio:1/1;border-radius:50%;flex:0 0 auto}.instrument-visualizer .fret-open-string-cell{padding-block:2px}.instrument-visualizer :is(.fret-note-marker,.fret-open-string-marker) .instrument-marker-note{font-size:clamp(.68rem,1.25vw,1.02rem);font-weight:1000;line-height:.92}.instrument-visualizer :is(.fret-note-marker,.fret-open-string-marker) .instrument-marker-interval{font-size:clamp(.54rem,.9vw,.8rem);font-weight:1000;line-height:.92}.instrument-visualizer :is(.fret-note-button,.fret-string-button).is-sounding{position:relative;z-index:7}.instrument-visualizer :is(.fret-note-button,.fret-string-button).is-sounding:after{position:absolute;top:50%;left:50%;width:min(46px,calc(100% - 3px));max-width:46px;aspect-ratio:1/1;border:3px solid #ffd85f;border-radius:50%;background:rgba(255,216,95,.14);box-shadow:0 0 0 2px rgba(36,25,5,.78),0 0 15px rgba(255,216,95,.98),0 0 28px rgba(227,192,98,.76);content:"";pointer-events:none;transform:translate(-50%,-50%)}.instrument-visualizer .piano-key-button.is-sounding{z-index:8;outline:3px solid #ffd85f;outline-offset:-3px;box-shadow:inset 0 0 0 3px rgba(255,250,222,.68),0 0 16px rgba(255,216,95,.94),0 0 28px rgba(227,192,98,.62)!important;filter:brightness(1.12) saturate(1.14)}.instrument-visualizer .piano-black-key.is-sounding{z-index:9}@media (max-width:900px){.voice-leading .voice-connection-row,.voice-leading .voice-row{grid-template-columns:minmax(0,1fr);gap:0}.voice-leading .voice-row{row-gap:3px}.voice-leading .voice-connection-row{height:22px;margin-block:-2px}.voice-leading .voice-connection-spacer{display:none}.instrument-visualizer :is(.fret-note-marker,.fret-open-string-marker) .instrument-marker-note{font-size:clamp(.61rem,2.55vw,.78rem)}.instrument-visualizer :is(.fret-note-marker,.fret-open-string-marker) .instrument-marker-interval{font-size:clamp(.5rem,2.05vw,.66rem)}}@media (max-width:1120px){.voice-leading .voice-leading-map{min-width:0}}.related-follow-generator{display:inline-flex;min-height:28px;align-items:center;gap:6px;padding:4px 8px;border:1px solid rgba(227,192,98,.25);border-radius:999px;background:rgba(227,192,98,.07);color:var(--gold-pale);font-size:.64rem;font-weight:850;white-space:nowrap}.related-follow-generator input{width:14px;height:14px;margin:0;accent-color:var(--gold-bright)}.related-follow-generator:has(input:checked){border-color:rgba(66,232,129,.55);background:rgba(66,232,129,.11);color:#bdf8d3}.voice-leading.voice-leading-module{width:100%;max-width:none;min-width:0;margin:0;padding:14px;overflow:hidden;border-top:1px solid var(--border)}.voice-leading-module .voice-leading-heading{display:flex;min-width:0;align-items:center;gap:10px;margin:0 0 8px}.voice-leading-title-copy{display:flex;min-width:0;align-items:baseline;gap:8px}.voice-leading-module .voice-leading-title-copy h2{margin:0;color:#fff9ed;font-family:Georgia,Times New Roman,serif;font-size:var(--module-heading-size,clamp(1.08rem,1.42vw,1.42rem));font-weight:500;line-height:1.05;white-space:nowrap}.voice-source-status{overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.voice-leading-module .voice-leading-actions{min-width:0;margin-left:auto;flex-wrap:nowrap}.voice-source-select{display:inline-grid;min-width:150px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;color:var(--muted);font-size:.57rem;font-weight:850}.voice-source-select select{width:100%;min-width:0;min-height:30px;padding:3px 24px 3px 7px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#111a25;color:#fff9ed;font:inherit}.voice-source-empty{margin:0;padding:12px;border:1px dashed rgba(227,192,98,.28);border-radius:9px;color:var(--muted);text-align:center}.voice-leading-module.is-collapsed{padding-block:10px}.voice-leading-module.is-collapsed .voice-leading-heading{margin-bottom:0}.voice-leading-module.is-collapsed :is(.voice-source-select,.voice-movement-total,.voice-reset-route){display:none}@media (max-width:900px){.voice-leading.voice-leading-module{padding:9px 7px}.voice-leading-module .voice-leading-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.voice-leading-module .voice-leading-actions{display:flex;grid-column:1/-1;width:100%;margin:0}.voice-leading-module.is-collapsed .voice-leading-actions{grid-column:2;grid-row:1;width:auto}.voice-source-select{min-width:0;flex:1 1 180px}.voice-leading-module .voice-movement-total,.voice-leading-module .voice-reset-route{flex:0 1 auto}.voice-leading-module .voice-connection-row,.voice-leading-module .voice-leading-map,.voice-leading-module .voice-pitch-lane,.voice-leading-module .voice-row{width:100%;min-width:0;max-width:100%}.voice-leading-module .voice-pitch-lane{grid-template-columns:repeat(25,minmax(0,1fr));overflow:hidden}.voice-leading-module .voice-pitch-cell{min-width:0;min-height:clamp(32px,9vw,42px)}.voice-leading-module .voice-interval-degree,.voice-leading-module .voice-pitch-note{overflow:hidden;font-size:clamp(.32rem,1.75vw,.58rem);letter-spacing:-.07em}}@media (max-width:520px){.related-heading{flex-wrap:wrap}.related-follow-generator{order:3;min-height:25px;padding:3px 7px;font-size:.57rem}.voice-leading-title-copy{display:grid;gap:1px}.voice-leading-module .voice-leading-actions{gap:3px}.voice-source-select{grid-template-columns:minmax(0,1fr)}.voice-leading-module .voice-movement-total,.voice-source-select>span{display:none}.voice-source-select select{min-height:28px;font-size:.56rem}.voice-leading-module .voice-reset-route{min-height:28px;padding:3px 6px;font-size:.5rem}.voice-leading-module .voice-row-label{min-height:26px;padding:2px 4px}.voice-leading-module .voice-row-label strong{font-size:.58rem}.voice-leading-module .voice-pitch-cell{min-height:31px}}@media (prefers-reduced-motion:reduce){.voice-leading .voice-connection-line{filter:none}}.harmony-app .practice-sync-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"summary modules transport";gap:8px;align-items:center;min-width:0}.harmony-app .practice-sync-summary{grid-area:summary}.harmony-app #practice-track{container-type:inline-size;min-width:0}.harmony-app .practice-sync-actions{grid-area:transport}.harmony-app .practice-sync-controls .temporary-sync-unlock{grid-area:modules;z-index:3;align-self:stretch;justify-self:stretch;min-width:0;min-height:30px;padding:3px 5px;color:#fff;background:#39454ee8;border:1px solid #c8b66f;border-radius:9px;font-family:inherit;font-weight:700;font-size:clamp(.62rem,2.7cqi,.85rem);line-height:1.15;text-align:center;cursor:pointer}.harmony-app .is-temporary-locked .practice-sync-modules{filter:grayscale(1);opacity:.3}.harmony-app .practice-sync-modules{grid-area:modules;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;gap:5px}.harmony-app .has-song-player .practice-sync-modules{grid-template-columns:repeat(4,minmax(0,1fr))}.harmony-app .practice-sync-module{display:flex;justify-content:center;align-items:center;gap:5px;min-width:0;padding:5px}.harmony-app .practice-sync-toggle{flex:0 0 auto;gap:5px}.harmony-app .practice-sync-module-name{flex:0 0 auto}.harmony-app .practice-master-choice{flex:0 0 24px;width:24px;height:28px}.harmony-app .practice-master-choice>.practice-master-crown{box-sizing:border-box;display:grid;width:24px;height:28px;border-radius:6px;font-size:21px;line-height:1;color:#b9c4d2}.harmony-app .practice-master-choice input:checked+.practice-master-crown{color:#f2d26f;border-color:#f2d26f;background:#f2d26224}.harmony-app .practice-master-choice>.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.harmony-app :is(.harmony-section-heading,.control-heading,.drum-heading,.metronome-title-row,.voice-leading-heading,.song-player-module-header,.sticky-visualizer-header){cursor:pointer}.harmony-app .sticky-practice-tools{position:static;top:auto}.harmony-app .practice-sync-controls .visually-hidden{position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap}.harmony-app .practice-sync-controls .practice-sync-modules{margin:0;padding:0;border:0;min-inline-size:0}.harmony-app .practice-sync-controls .practice-sync-module{box-sizing:border-box;min-height:40px}.harmony-app .practice-sync-controls .practice-sync-toggle{position:relative;margin:0;min-width:0}.harmony-app .practice-sync-controls .practice-master-choice{position:relative;min-width:24px;margin:0}.harmony-app .practice-sync-controls .practice-sync-actions{display:flex;align-items:center;gap:4px}.harmony-app .practice-sync-controls .practice-sync-actions>button{box-sizing:border-box;width:32px;min-width:32px;height:32px;min-height:32px;padding:4px}.harmony-app .practice-sync-controls .practice-sync-module-symbol.is-drums:after,.harmony-app .practice-sync-controls .practice-sync-module-symbol.is-drums:before{content:none}.harmony-app #generator.is-collapsed .section-heading-actions>.generator-header-play,.harmony-app .metronome-title-row .metronome-collapsed-play{display:inline-flex}.harmony-app .song-player-header-actions .song-playback-transport{width:32px;height:32px;min-width:32px;min-height:32px;padding:4px;flex:0 0 32px}.harmony-app .collapsible-section.is-collapsed .section-heading-actions>.module-audition-play,.harmony-app .custom-sequence-heading .module-audition-play,.harmony-app .section-heading-actions>.module-audition-play{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:4px}.harmony-app .module-audition-play.is-playing{box-shadow:inset 0 0 0 2px currentColor}@container (max-width: 680px){.harmony-app .practice-sync-controls{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"summary modules transport";gap:3px;padding:5px}.harmony-app .practice-sync-summary{display:flex;gap:8px;align-items:center}.harmony-app .practice-sync-summary>div{display:none}.harmony-app .practice-sync-summary output{padding:0}.harmony-app .practice-sync-summary output span{display:none}.harmony-app .practice-sync-summary strong{font-size:.86rem}.harmony-app .practice-sync-controls .practice-sync-module{gap:0;padding:2px;min-height:30px}.harmony-app .practice-sync-toggle{gap:0}.harmony-app .practice-sync-toggle-track{display:none}.harmony-app .practice-sync-toggle-track i{top:2px;left:2px;width:8px;height:8px}.harmony-app .practice-sync-toggle input:checked+.practice-sync-toggle-track i{transform:translateX(8px)}.harmony-app .practice-sync-controls .practice-sync-module-symbol{width:24px;height:24px}.harmony-app .practice-sync-controls .practice-master-choice{flex-basis:24px;width:24px}.harmony-app .practice-sync-controls .practice-master-choice>.practice-master-crown{width:24px;height:24px}.harmony-app .practice-sync-controls .practice-sync-actions>button{width:24px;min-width:24px;height:24px;min-height:24px}.harmony-app .practice-sync-controls .practice-sync-modules{gap:2px}.harmony-app .practice-sync-module.is-enabled{background:#447fa94d}}@container (max-width: 380px){.harmony-app .practice-sync-controls.has-song-player .practice-sync-summary{display:none}.harmony-app .practice-sync-controls.has-song-player{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"modules transport"}}