@layer control-panel-state, control-panel-headings;
:root{--bg:#11131a;--surface:#191c25;--surface-2:#212530;--panel:var(--surface);--panel-gradient:linear-gradient(145deg,rgba(33,37,48,.8),rgba(25,28,37,.9));--section-line:rgba(255,255,255,.07);--line:#303541;--text:#f4f1e8;--muted:#9ca3b2;--accent:#dfff59;--accent-2:#b9d83d;--warm:#ff8d6b;--education:#f0c75e;--education-strong:#ffd975;--control-bg:#151820;--card-bg:#191e27;--card-bg-deep:#13171e;--card-bg-low:#12161d;--card-border:#343d49;--card-text:#aeb8c5;--card-text-strong:#eef3f8;--card-text-soft:#778493;--badge-bg:#262e39;--badge-bg-alt:#2a333f;--badge-text:#8f9baa;--badge-text-strong:#c9d3df;--active-card-bg:#171c23;--pico-font-family:"DM Sans",sans-serif;--pico-form-element-background-color:var(--control-bg);--pico-form-element-border-color:#353b48;--pico-form-element-color:var(--text);--pico-form-element-active-border-color:var(--accent);--pico-form-element-focus-color:rgba(223,255,89,.18);--pico-primary:var(--accent);--pico-primary-background:var(--accent);--pico-primary-border:var(--accent);--pico-primary-hover-background:var(--accent-2);--pico-primary-hover-border:var(--accent-2);--pico-primary-inverse:#11131a}
*{box-sizing:border-box;scrollbar-width:none}*::-webkit-scrollbar{display:none;width:0;height:0}body{min-height:100vh;margin:0;color:var(--text);background:radial-gradient(circle at 85% -10%,rgba(223,255,89,.09),transparent 30rem),var(--bg);font-size:15px}.shell{width:min(1080px,calc(100% - 40px));margin:auto;padding:30px 0 70px}.app-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:42px}.brand{display:flex;align-items:center;gap:12px;color:var(--text);font-family:"DM Sans",sans-serif;font-weight:700;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accent);color:#11131a;font:700 12px "DM Sans",sans-serif;transform:rotate(-3deg)}.eyebrow,.live-badge{color:var(--muted);font-size:.73rem;letter-spacing:.13em;text-transform:uppercase}.live-badge{display:flex;align-items:center;gap:8px}.live-badge i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(223,255,89,.1)}
.hero{display:grid;grid-template-columns:1.4fr .8fr;align-items:end;gap:40px;margin:25px 0 55px}.kicker,.card-label{margin:0 0 12px;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.hero h1{margin:0;font:700 clamp(2.7rem,6vw,5.5rem)/.93 "DM Sans",sans-serif;letter-spacing:-.055em}.hero h1 em{display:inline-block;overflow:visible;padding:0 .04em .2em;color:var(--accent);font:700 1em/1.3 "DM Sans",sans-serif;letter-spacing:-.055em;vertical-align:top}.hero>p{max-width:390px;margin:0;color:var(--muted);line-height:1.7}
.settings-card{margin-bottom:16px;padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--panel-gradient);box-shadow:0 16px 50px rgba(0,0,0,.12)}.primary-settings{border-top-color:rgba(223,255,89,.55)}.form-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:16px}.form-grid.compact{grid-template-columns:.45fr .55fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{margin:0 0 18px;color:var(--text);font-size:.78rem;font-weight:600;letter-spacing:.02em}label b,.form-actions b{color:var(--warm)}label small{float:right;color:var(--muted);font-weight:400}select,input{height:52px;margin-top:8px!important;border-radius:11px!important;font-size:.93rem!important}.form-actions{display:flex;align-items:center;justify-content:space-between;padding-top:18px}.form-actions p{margin:0;color:var(--muted);font-size:.78rem}.form-actions>div{display:flex;gap:10px}.form-actions [role=button],.form-actions button{width:auto;margin:0;border-radius:12px;padding:13px 20px;font-weight:700;text-decoration:none}.secondary-action{border-color:var(--line)!important;background:var(--surface)!important;color:var(--text)!important}.start-action span{padding-left:20px}.phrase-card{position:relative;overflow:hidden;min-height:260px;padding:38px;border:1px solid var(--line);border-radius:24px;background:var(--panel-gradient);text-align:center}.phrase-card:after{content:"";position:absolute;right:-80px;bottom:-120px;width:280px;height:280px;border:55px solid rgba(223,255,89,.04);border-radius:50%;pointer-events:none}.phrase-card #cintv{margin:30px 0 8px;font:600 clamp(2.1rem,6vw,4.4rem) "DM Sans",sans-serif;letter-spacing:.08em}.phrase-card #csolmin{color:var(--accent);font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase}.phrase-card #ctone{margin-top:20px;color:var(--muted);font-size:1.05rem;letter-spacing:.12em}
.transport{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.control-button{display:flex;flex-direction:column;align-items:flex-start;min-height:118px;margin:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);text-align:left}.control-button:hover{border-color:#505767;background:var(--surface-2)}.control-button span{margin-bottom:auto;color:var(--accent);font-size:1.15rem}.control-button small{color:var(--muted);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.control-button.featured{border-color:var(--accent);background:var(--accent);color:#11131a}.control-button.featured span,.control-button.featured small{color:#11131a}.control-button.is-playing{border-color:var(--warm);box-shadow:inset 0 0 0 1px var(--warm)}.control-button.is-playing .play-state{color:var(--warm)}.control-button.featured.is-playing .play-state{color:#11131a}.metronome-card{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:25px 30px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.metronome-card p{display:flex;align-items:baseline;gap:8px;margin:0}.metronome-card #tempo{font:600 2.3rem "DM Sans",sans-serif}.metronome-card p small{color:var(--muted);font-size:.65rem;letter-spacing:.12em}.tempo-controls{display:flex;gap:7px}.tempo-controls button{width:auto;min-width:48px;margin:0;padding:10px 14px;border-color:var(--line);border-radius:10px;background:transparent;color:var(--text)}.metronome-card.embedded-metronome .tempo-controls .metro-play{min-width:85px;background:var(--text)!important;color:var(--bg)!important}.metronome-card.embedded-metronome .tempo-controls .metro-play.is-playing{border-color:var(--warm)!important;background:var(--warm)!important;color:var(--bg)!important}.trainer-footer{display:flex;align-items:center;justify-content:space-between;padding-top:24px}.trainer-footer a{color:var(--muted);text-decoration:none}.countdown{width:auto;margin:0;padding:9px 15px;border-color:var(--line);border-radius:99px;background:transparent;color:var(--text);font-size:.78rem}
@media(max-width:720px){.shell{width:min(100% - 24px,1080px);padding-top:18px}.app-header{padding-bottom:25px}.eyebrow{display:none}.hero{grid-template-columns:1fr;gap:20px;margin:25px 0 35px}.hero h1{font-size:clamp(2.6rem,13vw,4rem)}.settings-card{padding:22px 18px}.form-grid,.form-grid.compact,.form-grid.three{grid-template-columns:1fr}.form-actions{align-items:flex-start;gap:20px}.form-actions>div{flex-direction:column;width:100%}.form-actions [role=button],.form-actions button{width:100%;text-align:center}.form-actions p{display:none}.phrase-card{min-height:230px;padding:28px 16px}.transport{grid-template-columns:repeat(2,1fr)}.control-button{min-height:105px}.metronome-card{align-items:flex-start;flex-direction:column;gap:20px;padding:22px}.tempo-controls{width:100%}.tempo-controls button{flex:1;min-width:0;padding-inline:8px}.tempo-controls .metro-play{flex:1.7;min-width:0}}
@media(max-width:380px){.transport{grid-template-columns:1fr}.control-button{min-height:88px}.tempo-change[data-change="-5"],.tempo-change[data-change="5"]{display:none}}
.header-tools{display:flex;align-items:center;gap:22px}.language-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.language-switch a{display:grid;place-items:center;min-width:34px;height:28px;padding:0 8px;border-radius:7px;color:var(--muted);font-size:.68rem;font-weight:700;text-decoration:none}.language-switch a.active{background:var(--accent);color:var(--bg)}
select,input{height:56px!important;padding-top:0!important;padding-bottom:0!important;line-height:1.25!important}select{vertical-align:middle!important}.control-button b{color:inherit;font-size:inherit}
@media(max-width:720px){.header-tools{gap:10px}}
.save-status{align-self:center;color:var(--muted);font-size:.72rem;opacity:.55;transition:opacity .2s}.save-status.saving,.save-status.visible{opacity:1}.save-status.saving{color:var(--accent)}[hidden]{display:none!important}
.start-session{width:auto;margin:0;padding:9px 14px;border-radius:10px;font-size:.78rem;white-space:nowrap}.start-session:disabled{opacity:.45}
@media(min-width:1051px){.trainer .start-session{order:3}}
.guitar-tab{position:relative;z-index:1;margin:18px auto 0;padding-top:13px;border-top:1px solid var(--line);text-align:left}.guitar-tab>.card-label{display:block;margin-bottom:7px}.tab-scroll{overflow-x:auto}.guitar-tab table{width:100%;min-width:480px;margin:0;border-collapse:collapse;font-family:"DM Sans",sans-serif;font-size:.66rem}.guitar-tab th,.guitar-tab td{height:19px;padding:0 5px;border:0;background:transparent;text-align:center}.guitar-tab th:first-child{width:28px;color:var(--muted);font-weight:600}.guitar-tab thead th{height:22px;color:var(--accent);font-weight:700}.guitar-tab tbody td{position:relative;border-top:1px solid #505663}.guitar-tab tbody td span{position:relative;z-index:1;display:inline-grid;place-items:center;min-width:18px;height:16px;border-radius:8px;background:var(--surface-2);color:var(--text);font-size:.6rem}.guitar-tab tbody td span:empty{background:transparent}

/* Compact settings layout: keep the controls comfortable while reducing scrolling. */
#options .settings-card{margin-bottom:10px;padding:20px 24px}
#options label{margin-bottom:8px}
#options select,#options input{height:48px!important;margin-top:5px!important}
#options .form-grid{gap:10px 14px}
.hero{margin-top:10px;margin-bottom:34px}
.hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}
.app-header{padding-bottom:26px}
@media(max-width:720px){#options .settings-card{padding:18px 16px}#options select,#options input{height:52px!important}.hero{margin-bottom:26px}.app-header{padding-bottom:20px}}

/* Desktop dashboard: distribute the three setting groups across the viewport. */
.shell{width:min(1240px,calc(100% - 48px))}
#options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
#options .settings-card{display:flex;flex-direction:column;min-width:0;margin:0}
#options .form-grid,#options .form-grid.compact,#options .form-grid.three{grid-template-columns:1fr;gap:5px}
#options .form-actions{grid-column:1/-1}
@media(min-width:721px) and (max-width:1050px){#options{grid-template-columns:repeat(2,minmax(0,1fr))}#options .settings-card:last-of-type{grid-column:1/-1}#options .settings-card:last-of-type .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(max-width:720px){.shell{width:min(100% - 24px,1240px)}#options{grid-template-columns:1fr;gap:10px}#options .settings-card:last-of-type{grid-column:auto}#options .settings-card:last-of-type .form-grid{grid-template-columns:1fr}}

/* Fit the complete settings home in a standard desktop viewport. */
@media(min-width:1051px){
  .shell{padding-top:10px;padding-bottom:12px}
  .app-header{height:42px;padding-bottom:4px}
  .hero{display:block;margin:8px 0 14px}
  .hero .kicker{margin-bottom:3px}
  .hero h1{overflow:visible;font-size:42px!important;line-height:1.22!important;letter-spacing:-1.8px;white-space:nowrap;padding:0 .08em .16em 0}
  .hero h1 br{display:none}
  .hero h1 br+em{margin-left:.18em}
  .hero>p{display:none}
  #options .settings-card{padding:14px 18px}
  #options label{position:relative;display:flex;height:100%;min-width:0;flex-direction:column;margin-bottom:3px;font-size:11px!important;line-height:1.2;white-space:nowrap}
  #options label>b,#options label>small{position:absolute;top:0;right:0}
  #options select,#options input{height:42px!important;margin-top:3px!important;font-size:.82rem!important}
  #options label>select,#options label>input{margin-top:auto!important}
  #options .form-grid,#options .form-grid.compact,#options .form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}
  #options .form-actions{padding-top:8px}
  .form-actions [role=button],.form-actions button{padding:10px 16px}

  .trainer .app-header{margin-bottom:0}
  .trainer .phrase-card{display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:18px 24px;border-radius:18px}
  .trainer .phrase-card .card-label{margin-bottom:0}
  .trainer .phrase-card #cintv{margin:12px 0 3px;font-size:38px}
  .trainer .phrase-card #csolmin,.trainer .phrase-card #ctone{font-size:.82rem}
  .trainer .phrase-card #ctone{margin-top:8px}
  .trainer .transport{gap:10px;margin:10px 0}
  .trainer .control-button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-content:center;column-gap:8px;min-height:72px;padding:12px 14px}
  .trainer .control-button span{grid-row:1/3;margin:auto 0}
  .trainer .control-button small,.trainer .control-button b{grid-column:2;text-align:left}
  .trainer .metronome-card{margin-top:0;padding:12px 18px;border-radius:14px}
  .trainer .metronome-card #tempo{font-size:1.65rem}
  .trainer .tempo-controls button{padding:7px 11px}
  .trainer .trainer-footer{padding-top:10px}
}


/* The two shared fretboard preferences add a third row to Jazz controls. */
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .songs-shell{grid-template-rows:292px auto minmax(0,1fr)}
  .songs-dashboard .songs-hero{height:292px!important;padding-bottom:16px!important}
  .songs-dashboard .songs-hero .trainer-selectors{flex:0 0 140px}
  .songs-dashboard .chart-sections{margin-top:0!important}
}
.chords-page .inversion-card .focused-keyboard{height:112px;border:1px solid #46505f;border-radius:8px;overflow:hidden;background:#0d1016;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.chords-page .inversion-card .focused-keyboard .piano-key.white{min-width:0}
.chords-page .inversion-card h3{display:flex;align-items:center;min-height:22px;color:var(--card-text-strong);font-size:.82rem}
.chords-page .inversion-card>p{margin:8px 0;color:#9fc8ed;font-size:.72rem;letter-spacing:.06em}
.chords-page .inversion-card .chord-play{height:36px;padding:5px 12px;border-color:#394556;background:#222936}
.chords-page .chords-workspace{grid-template-columns:minmax(450px,500px) minmax(0,1fr)}
.chords-page .chord-picker{padding:12px}
.chords-page .chord-picker .chord-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 9px;margin-bottom:10px;padding-bottom:10px}
.chords-page .chord-toolbar .chord-settings-title{grid-column:1/-1;margin-bottom:0;padding-bottom:7px;border-bottom:1px solid var(--line)}
.chords-page .chord-toolbar label{width:auto;min-width:0}
.chords-page .chord-toolbar select{width:100%;min-width:0;height:36px!important;margin-top:3px!important;padding:5px 10px;font-size:.8rem}
.chords-page .chord-toolbar label{font-size:.68rem}

@media(max-width:1050px){.chords-page .chords-workspace{grid-template-columns:1fr}.chords-page .chord-picker .chord-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.chords-page .chord-picker .chord-toolbar{grid-template-columns:1fr}}

/* Fretboard is the fourth settings block; save status is always last. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard #options{grid-template-rows:auto auto auto auto auto!important}
  .training-dashboard #options .instrument-settings-card{grid-column:1!important;}
  .training-dashboard #options .settings-card:nth-of-type(4){grid-column:1!important;}
  .training-dashboard #options .form-actions{grid-column:1!important;position:relative!important}
}





/* Matching control hierarchy on Chords and Jazz Standards. */
.chords-page .chord-settings-title{grid-column:1/-1;color:var(--info)!important;margin:0 0 2px!important;padding-bottom:7px;border-bottom:1px solid rgba(143,216,255,.22)}





/* Three-column settings grids reduce the dashboard's vertical footprint. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard #options .settings-card .form-grid,
  .training-dashboard #options .settings-card .form-grid.compact,
  .training-dashboard #options .settings-card .form-grid.three,
  .training-dashboard #options .settings-card:first-of-type .form-grid,
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact,
  .training-dashboard #options .settings-card:nth-of-type(2) .form-grid,
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid,
  .training-dashboard #options .instrument-settings-card .form-grid,
  .training-dashboard #options .settings-card:nth-of-type(4) .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid label:first-child{grid-column:auto!important}
}

/* Training section hierarchy. */



.training-dashboard #options .fret-settings-card{grid-column:1/-1!important;padding-block:9px!important}

.training-dashboard #options .fret-settings-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(min-width:900px) and (min-height:720px){
}
#charmony{margin-top:7px;color:var(--warm);font-size:.78rem;font-weight:600;letter-spacing:.05em}
#charmony .harmony-inversion{display:inline-block;padding:2px 7px;border:1px solid rgba(223,255,89,.5);border-radius:999px;background:rgba(223,255,89,.1);color:var(--accent);letter-spacing:.02em}#charmony .harmony-equivalent{color:var(--text);letter-spacing:.02em}
#cintv .harmony-root-label,#csolmin .harmony-root-label,#ctone .harmony-root-label{color:#79f28f;font-weight:800;text-shadow:0 0 10px rgba(66,235,117,.35)}
#cintv .harmony-tone-label,#csolmin .harmony-tone-label,#ctone .harmony-tone-label{color:#ffd84d;font-weight:700}
@media(min-width:721px){.trainer .transport{grid-template-columns:repeat(7,minmax(108px,1fr));gap:7px;overflow-x:auto}.trainer .control-button{grid-template-columns:20px minmax(0,1fr);column-gap:6px;min-height:68px;padding:9px 10px}.trainer .control-button span{font-size:1rem}.trainer .control-button b{font-size:.69rem;line-height:1.1;letter-spacing:-.015em;white-space:nowrap}.trainer .control-button small{font-size:.52rem;white-space:nowrap}}
.transport{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:720px){.transport{grid-template-columns:repeat(2,1fr)}}
@media(max-width:380px){.transport{grid-template-columns:1fr}}
.piano-tab{position:relative;z-index:1;margin:18px auto 0;padding-top:13px;border-top:1px solid var(--line);text-align:left}.piano-tab>.card-label{display:block;margin-bottom:7px}.piano-tab table{width:100%;min-width:480px;margin:0;border-collapse:collapse;font-size:.66rem}.piano-tab th,.piano-tab td{height:20px;padding:0 5px;border:0;text-align:center}.piano-tab thead th{color:var(--accent);background:transparent}.piano-tab tbody th{width:42px;border:1px solid #4b5260;border-radius:2px;color:#11131a;background:#e9e7df}.piano-tab tbody th.black-key{color:#f4f1e8;background:#242832}.piano-tab tbody td{border-top:1px solid #343a46;background:transparent}.piano-tab tbody td span{color:var(--accent);font-size:.72rem}
.piano-now{height:20px;margin-bottom:5px;color:var(--accent);font:600 .72rem "DM Sans",sans-serif;text-align:center}.piano-keyboard{position:relative;height:62px;margin:0 auto;overflow:hidden;border:2px solid #08090c;border-radius:5px;background:#08090c;box-shadow:0 5px 12px rgba(0,0,0,.32)}.white-keys{display:flex;height:100%}.piano-key{min-width:0;margin:0;padding:0;border-radius:0;pointer-events:none;transition:background .06s,box-shadow .06s,transform .06s}.piano-key.white{position:relative;flex:1;border:0;border-right:1px solid #8e8e8a;background:linear-gradient(90deg,#e8e7e1 0%,#fff 16%,#faf9f4 78%,#d1d0ca 100%);box-shadow:inset 0 -3px 4px rgba(0,0,0,.16)}.piano-key.white:last-child{border-right:0}.piano-key.white span{position:absolute;right:0;bottom:2px;left:0;color:#767676;font-size:.43rem}.piano-key.black{position:absolute;z-index:2;top:0;width:calc(62% / var(--white-count));height:64%;border:1px solid #050505;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#050505 0%,#292929 48%,#070707 100%);box-shadow:1px 3px 4px rgba(0,0,0,.72);transform:translateX(-50%)}.piano-key.white.active{background:var(--accent);box-shadow:inset 0 0 18px rgba(17,19,26,.3)}.piano-key.black.active{background:var(--accent);box-shadow:0 0 16px rgba(223,255,89,.75);transform:translateX(-50%) translateY(2px)}

/* PVPortal-inspired entry menu and jazz charts. */
.portal-header{display:flex;align-items:center;justify-content:space-between;min-height:96px;padding:20px max(32px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line);background:rgba(17,19,26,.8)}.portal-brand{display:flex;align-items:center;gap:14px;color:var(--text);text-decoration:none}.portal-brand-copy{display:flex;flex-direction:column}.portal-brand-copy strong{font:700 1rem "DM Sans",sans-serif}.portal-brand-copy small{color:var(--muted);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}.portal-nav{display:flex;align-items:center;gap:20px}.portal-nav>a{color:var(--muted);font-size:.75rem;text-decoration:none}.portal-nav .language-switch{display:flex}
.entry-shell,.songs-shell{width:min(1240px,calc(100% - 64px));margin:auto}.entry-shell{padding:clamp(55px,8vh,100px) 0}.entry-hero{max-width:850px}.entry-hero h1,.songs-hero h1{overflow:visible;margin:0;padding-bottom:.12em;font:700 clamp(3rem,6vw,6rem)/1.04 "DM Sans",sans-serif;letter-spacing:-.055em}.entry-hero>p:last-child,.songs-hero>div>p:last-child{max-width:680px;margin:12px 0 0;color:var(--muted)}
.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.entry-card{position:relative;min-height:285px;padding:34px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,var(--surface-2),var(--surface));color:var(--text);text-decoration:none;transition:.2s}.entry-card:before{content:"";position:absolute;top:-1px;right:20px;left:20px;height:1px;background:var(--accent)}.entry-card:hover{transform:translateY(-4px);border-color:#525968}.entry-number{color:var(--muted);font-size:.65rem}.entry-icon{position:absolute;top:26px;right:30px;color:var(--accent);font:700 1.4rem "DM Sans",sans-serif}.entry-card h2{margin:50px 0 8px;font:600 2rem "DM Sans",sans-serif}.entry-card p{color:var(--muted);font-size:.9rem}.entry-open{position:absolute;right:34px;bottom:30px;left:34px;display:flex;justify-content:space-between;color:var(--accent);font-size:.68rem;font-weight:700;text-transform:uppercase}.songs-entry:before{background:var(--warm)}.songs-entry .entry-icon,.songs-entry .entry-open{color:var(--warm)}
.songs-shell{padding:50px 0 80px}.songs-hero{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:50px}.songs-hero h1{font-size:clamp(3rem,5vw,5rem)}.songs-filter{display:grid;grid-template-columns:1fr 110px;gap:12px;margin:0}.songs-filter label{margin:0}.songs-filter select{margin-bottom:0}
.chart-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}.chart-section{margin:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.chart-section>header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.chart-section>header span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:.62rem}.chart-section h3{margin:0;font:600 1rem "DM Sans",sans-serif}.chord-bars{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3a404d;border-left:1px solid #3a404d}.chord-bar{min-height:68px;padding:9px;border-right:1px solid #3a404d;border-bottom:1px solid #3a404d}.chord-bar small{display:block;color:#747d8e;font-size:.52rem}.chord-bar strong{display:block;margin-top:7px;font-size:.8rem;white-space:nowrap}
@media(max-width:720px){.portal-header{min-height:78px;padding:14px 18px}.portal-brand-copy small,.portal-nav>a{display:none}.entry-shell,.songs-shell{width:min(100% - 28px,1240px)}.entry-grid,.chart-sections{grid-template-columns:1fr}.songs-hero{grid-template-columns:1fr;gap:25px}.songs-filter{grid-template-columns:1fr 95px}.chord-bars{grid-template-columns:repeat(2,1fr)}}

/* Common compact header and root typography. */
.portal-header,.unified-header{min-height:72px}.unified-header{display:flex!important;align-items:center;justify-content:space-between;height:72px!important;margin-bottom:0;padding:10px 0!important;border-bottom:1px solid var(--line)}
.entry-shell{padding:clamp(38px,5vh,68px) 0}.entry-hero h1{max-width:780px;font-size:clamp(2.6rem,4.4vw,4.7rem);line-height:1.06}.entry-grid{margin-top:38px}
.backing-controls{display:flex;align-items:center;gap:18px;margin:18px 0 2px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.backing-controls>div{display:flex;flex:1;flex-direction:column}.backing-controls small{color:var(--muted);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.backing-controls label{width:90px;margin:0;font-size:.62rem}.backing-controls input{height:40px!important;margin:3px 0 0!important}.backing-controls button{width:auto;min-width:170px;margin:0;padding:10px 16px;border-radius:10px;font-size:.75rem;font-weight:700}.backing-controls button.is-playing{border-color:var(--warm);background:var(--warm);color:var(--bg)}.chord-bar{transition:background .12s,box-shadow .12s}.chord-bar.is-playing{position:relative;z-index:1;background:rgba(223,255,89,.13);box-shadow:inset 0 0 0 2px var(--accent)}.chord-bar.is-playing strong{color:var(--accent)}
@media(max-width:720px){.portal-header,.unified-header{min-height:64px;height:64px!important}.entry-hero h1{font-size:clamp(2.35rem,11vw,3.35rem)}.backing-controls{align-items:flex-end;flex-wrap:wrap}.backing-controls>div{flex-basis:100%}.backing-controls button{flex:1;min-width:150px}}
@media(max-width:720px){.portal-nav>a{display:inline;font-size:.65rem;white-space:nowrap}.portal-nav{gap:8px}.unified-header .portal-brand-copy small{display:none}}
.chord-trainer{container-type:inline-size;margin:18px 0;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--surface))}.standard-fretboard{margin:18px 0}.song-run-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.song-run-controls button{margin:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:.72rem}.song-run-controls button:last-child{background:var(--accent);color:var(--bg);font-weight:700}.song-run-controls button.is-playing{background:var(--warm)}.shape-missing{margin:35px;color:var(--muted);text-align:center}
@media(max-width:720px){.chord-trainer{padding:16px}.standard-fretboard{overflow-x:auto}.song-run-controls{grid-template-columns:repeat(2,1fr)}}
.trainer-selectors{display:grid!important;width:100%!important;min-width:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:end!important;gap:10px!important}.trainer-selectors label,.trainer-selectors label:first-child,.trainer-selectors label:nth-child(2){display:flex;width:auto!important;min-width:0!important;flex-direction:column;align-items:stretch;white-space:nowrap}.trainer-selectors select{display:block;width:100%;min-width:0;text-overflow:ellipsis}.trainer-selectors input{display:block;width:100%;min-width:0;text-overflow:clip}
@media(max-width:1100px){.trainer-selectors{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@container (max-width:820px){.trainer-selectors{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:900px){.songs-shell{padding:14px 0 28px}.songs-hero{grid-template-columns:.9fr 1.1fr;gap:28px}.songs-hero h1{font-size:38px}.songs-hero .kicker{margin-bottom:2px}.songs-hero>div>p:last-child{display:none}.songs-filter select{height:42px!important}.chord-trainer{margin:8px 0;padding:12px 16px}.standard-fretboard{margin:8px 0}.song-run-controls button{padding:7px}.chart-sections{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.chart-section{padding:10px}.chart-section>header{margin-bottom:6px}.chord-bar{min-height:42px;padding:5px}.chord-bar strong{margin-top:2px;font-size:.67rem}.chord-bars{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.trainer-selectors{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}.trainer-selectors label,.trainer-selectors label:first-child{width:auto}}
.piano-key.scale-note.white{background:linear-gradient(#eff6da,#d8ddca)}.piano-key.scale-note.black{background:linear-gradient(#3b4330,#151912)}.piano-key.chord-note{background:var(--accent)!important;box-shadow:inset 0 0 12px rgba(0,0,0,.25)}.piano-key.root-note{background:#d83f4a!important;box-shadow:inset 0 0 0 3px #ff7a80,0 0 12px rgba(216,63,74,.45)}
.chart-sections.single-section{grid-template-columns:1fr}.chart-sections.single-section .chart-section{width:100%}.chart-sections.single-section .chord-bars{grid-template-columns:repeat(6,minmax(0,1fr))}.chart-sections.single-section .chord-bar{min-height:58px;padding:8px 10px}.chart-sections.single-section .chord-bar strong{font-size:.78rem}
@media(max-width:720px){.chart-sections.single-section .chord-bars{grid-template-columns:repeat(2,minmax(0,1fr))}}
.entry-card h2{overflow:visible;padding-bottom:.16em;line-height:1.22}.chart-section>header{margin:0 0 8px!important;padding:0!important;border:0!important;background:transparent!important}.chart-section>header span{flex:0 0 28px}.chart-sections{position:relative;z-index:0}.chord-trainer{position:relative;z-index:1}
.chord-bar{cursor:pointer}.chord-bar[role=button]{display:block;width:auto;margin:0;border-radius:0;background:#171c26;color:var(--text);box-shadow:none}.chord-bar[role=button]:hover{background:#202733}.chord-bar:hover,.chord-bar:focus-visible{border-color:var(--accent);outline:none;box-shadow:inset 0 0 0 1px rgba(223,255,89,.38)}.chord-bar[role=button].is-playing{background:linear-gradient(135deg,rgba(223,255,89,.16),rgba(223,255,89,.07));box-shadow:inset 0 0 0 2px var(--accent)}.chord-bar[role=button] small{color:#8791a3}.chord-bar[role=button].is-playing small{color:#c9dc75}
.walking-line{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px}.walking-line span{display:flex;align-items:center;justify-content:center;gap:9px;min-height:70px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--accent);font:600 1.2rem "DM Sans",sans-serif}.walking-line b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--bg);font:700 .62rem "DM Sans",sans-serif}
.shared-instrument .walking-tone{border-color:#697282;background:#171b23;color:#d7dde7;box-shadow:none;transition:background .08s,color .08s,box-shadow .08s,transform .08s}.shared-instrument .walking-tone.walking-beat-active{border-color:var(--accent);background:var(--accent);color:var(--bg);box-shadow:0 0 15px rgba(223,255,89,.75);transform:scale(1.18)}
.shared-practice-transport{position:relative;z-index:1;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.harmony-palette{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:min(100%,680px);margin:16px auto 4px;padding-bottom:9px;border-bottom:1px solid var(--line)}.harmony-palette button{flex:0 0 var(--harmony-width,calc(14.285% - 4px));min-width:0;height:42px;margin:0;padding:5px 4px;border:1px solid var(--line);border-radius:7px;background:rgba(10,13,18,.34);color:var(--text);overflow:hidden}.harmony-palette button small{display:block;color:var(--muted);font-size:.48rem;line-height:1}.harmony-palette button strong{display:block;margin-top:3px;overflow:hidden;font-size:.56rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.harmony-palette button.sequence-chord{border-color:color-mix(in srgb,var(--sequence-color) 72%,transparent);background:color-mix(in srgb,var(--sequence-color) 13%,transparent)}.harmony-palette button.sequence-chord small{color:var(--sequence-color)}.harmony-palette button[data-sequence-order="1"]{--sequence-color:#79f28f}.harmony-palette button[data-sequence-order="2"]{--sequence-color:var(--info-strong)}.harmony-palette button[data-sequence-order="3"]{--sequence-color:#ffd151}.harmony-palette button[data-sequence-order="4"]{--sequence-color:#ff8b70}.harmony-palette button[data-sequence-order="5"]{--sequence-color:#c99cff}.harmony-palette button[data-sequence-order="6"]{--sequence-color:#59e2d0}.harmony-palette button[data-sequence-order="7"]{--sequence-color:#ff82b2}.harmony-palette button:hover,.harmony-palette button.is-playing{border-color:var(--sequence-color,var(--accent));background:color-mix(in srgb,var(--sequence-color,var(--accent)) 24%,transparent)}@media(max-width:720px){.harmony-palette button{flex-basis:calc((100% - 12px)/4)}}

/* Studio Rizzi identity and jazz atmosphere shared by every app header. */
.portal-header,.unified-header{position:relative;isolation:isolate;overflow:hidden;background:#0a1016 url("/static/images/jazz-header.png") 68% 52%/cover no-repeat;border-bottom-color:rgba(223,255,89,.2);box-shadow:0 10px 28px rgba(0,0,0,.22)}
.portal-header::before,.unified-header::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(6,10,15,.97) 0%,rgba(8,13,19,.9) 40%,rgba(8,13,19,.52) 72%,rgba(8,13,19,.72) 100%);pointer-events:none}
.portal-header>*,.unified-header>*{position:relative}
.portal-header .brand-mark,.unified-header .brand-mark{display:block;width:clamp(132px,13vw,184px);height:46px;border-radius:0;background:transparent url("/static/images/studiorizzi-logo.png") left center/contain no-repeat;color:transparent;font-size:0;transform:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}
.portal-brand-copy{padding-left:14px;border-left:1px solid rgba(255,255,255,.2)}
.portal-brand-copy small{color:#bec6b3}
.portal-header .language-switch,.unified-header .language-switch{border-color:rgba(255,255,255,.16);background:rgba(10,14,20,.72);backdrop-filter:blur(8px)}
.portal-nav>a{color:#e2e4dc}
@media(max-width:720px){.portal-header .brand-mark,.unified-header .brand-mark{width:118px;height:36px}.portal-brand{gap:10px}.portal-brand-copy{padding-left:10px}.portal-brand-copy strong{font-size:.8rem}}
@media(max-width:480px){.portal-brand-copy{display:none}.portal-header,.unified-header{background-position:64% center}}

/* Full-width, borderless header treatment on every page. */
.portal-header,.unified-header{min-height:92px!important;height:92px!important;border:0!important;box-shadow:none!important}
.unified-header{left:50%;width:100vw;margin-left:-50vw;padding-right:max(24px,calc((100vw - 1240px)/2))!important;padding-left:max(24px,calc((100vw - 1240px)/2))!important}
.portal-header .brand-mark,.unified-header .brand-mark{opacity:.72}
@media(max-width:720px){.portal-header,.unified-header{min-height:78px!important;height:78px!important}.unified-header{padding-right:12px!important;padding-left:12px!important}.portal-header .brand-mark,.unified-header .brand-mark{opacity:.78}}

/* Compact jazz-page intro so the complete trainer fits in a desktop viewport. */
@media(min-width:900px){
  .songs-shell{padding-top:6px;padding-bottom:14px}
  .songs-hero{min-height:52px;gap:20px}
  .songs-hero h1{font-size:28px;line-height:1;margin:0;padding:0}
  .songs-filter{grid-template-columns:minmax(300px,1fr) 110px;gap:10px}
  .songs-filter label{font-size:.66rem;line-height:1}
  .songs-filter select{height:36px!important;margin-top:4px!important}
}

/* One-screen training dashboard: settings and live exercise side by side. */
.training-panel{min-width:0}
.training-placeholder{display:grid;place-content:center;min-height:420px;padding:30px;border:1px dashed var(--line);border-radius:18px;text-align:center}
.training-placeholder h2{font:600 1.5rem "DM Sans",sans-serif}
.training-placeholder p:last-child{color:var(--muted)}
@media(min-width:900px) and (min-height:720px){
  body.training-dashboard{height:100vh;overflow:hidden}
  .training-dashboard .shell{display:grid;grid-template-columns:minmax(470px,.92fr) minmax(560px,1.08fr);grid-template-rows:92px minmax(0,1fr);gap:10px 14px;width:min(1500px,calc(100% - 32px));height:100vh;padding:0 0 10px}
  .training-dashboard .unified-header{grid-column:1/-1}
  .training-dashboard>.shell>.hero{display:none}
  .training-dashboard #options{grid-column:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;height:100%;min-height:0;overflow:hidden}
  .training-dashboard #options .settings-card{padding:11px 13px;border-radius:13px}
  .training-dashboard #options .settings-card:nth-of-type(3){grid-column:1/-1}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .training-dashboard #options label{margin-bottom:3px;font-size:.66rem}
  .training-dashboard #options select,.training-dashboard #options input{height:38px!important;margin-top:3px!important;padding-inline:9px!important;font-size:.76rem!important}
  .training-dashboard #options .form-grid,.training-dashboard #options .form-grid.compact{gap:2px 8px}
  .training-dashboard #options .form-actions{grid-column:1/-1;padding-top:0}
  .training-dashboard #options .form-actions [role=button]{padding:7px 13px;font-size:.7rem}
  .training-dashboard .training-panel{grid-column:2;grid-row:2;display:flex;flex-direction:column;min-height:0;overflow:hidden}
  .training-dashboard .phrase-card{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:12px 14px;border-radius:16px}
  .shared-practice-transport{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:auto;padding-top:8px}
  .shared-practice-transport .control-button{min-height:65px;padding:7px 8px}
  .shared-practice-transport .control-button span{font-size:.9rem}
  .shared-practice-transport .control-button b{font-size:.58rem;line-height:1.05}
  .shared-practice-transport .control-button small{font-size:.47rem}
  .training-dashboard .tempo-controls button{padding:6px 9px}
  .training-dashboard .countdown{align-self:flex-end;margin-top:4px;padding:5px 10px}
}


/* DM Sans keeps descenders intact in compact headings (g, p, q, y). */
body h1,body h2,body h3,
body .portal-brand-copy strong,
body .section-title h2,
body .training-placeholder h2,
body .chart-section h3{font-family:"DM Sans",sans-serif!important;overflow:visible!important}

/* Let three-digit jazz tempos breathe. */
.chord-trainer .trainer-selectors label:first-child{width:112px;min-width:112px}
.chord-trainer .trainer-selectors label:first-child input{padding-inline:14px!important;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.chord-trainer .trainer-selectors label:first-child{width:auto;min-width:0}}

/* Roomier controls, all aligned with the left edge of their section title. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard .shell{grid-template-columns:minmax(470px,.78fr) minmax(650px,1.22fr)}
  .training-dashboard #options .settings-card,
  .training-dashboard #options .settings-card:first-of-type,
  .training-dashboard #options .settings-card:nth-of-type(3){display:block;padding:14px 16px}
  .training-dashboard #options .form-grid,
  .training-dashboard #options .form-grid.compact,
  .training-dashboard #options .form-grid.three,
  .training-dashboard #options .settings-card:first-of-type .form-grid,
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact,
  .training-dashboard #options .settings-card:nth-of-type(2) .form-grid,
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin:0}
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact{margin-bottom:9px}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid label:first-child{grid-column:1/-1}
  .training-dashboard #options label{width:100%;font-size:.66rem}
  .training-dashboard #options select,.training-dashboard #options input{width:100%;height:44px!important;padding-inline:11px!important;font-size:.8rem!important}
}

/* Balanced columns: headings above fields and launch controls in a fourth card. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard #options{height:100%;grid-template-rows:auto auto auto minmax(76px,1fr);align-content:stretch}
  .training-dashboard #options .settings-card,
  .training-dashboard #options .settings-card:first-of-type,
  .training-dashboard #options .settings-card:nth-of-type(3){grid-template-columns:1fr;align-content:start;gap:7px;padding:11px 14px}
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact,
  .training-dashboard #options .settings-card:first-of-type .form-grid:last-child,
  .training-dashboard #options .settings-card .form-grid{grid-column:1;width:100%}
  .training-dashboard #options .settings-card:first-of-type .form-grid,
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact,
  .training-dashboard #options .settings-card:nth-of-type(2) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid label:first-child{grid-column:auto}
  .training-dashboard #options .form-actions{grid-column:1;align-self:stretch;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--panel-gradient)}
  .training-dashboard #options .form-actions>div{align-items:center}
  .training-dashboard #options .start-action{border-color:#28657a!important;background:#28657a!important;color:#f4f7f6!important;box-shadow:none}
  .training-dashboard #options .start-action:hover{border-color:#347c92!important;background:#347c92!important}
}
@media(max-width:899px), (max-height:719px){body.training-dashboard{overflow:auto}.training-dashboard .training-panel{margin-top:18px}}

/* Dense single-column settings rail: compact cards with horizontal controls. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard .shell{grid-template-columns:minmax(500px,.88fr) minmax(600px,1.12fr)}
  .training-dashboard #options{grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr;align-content:start;gap:7px}
  .training-dashboard #options .settings-card,
  .training-dashboard #options .settings-card:nth-of-type(3){grid-column:1;display:grid;grid-template-columns:118px minmax(0,1fr);align-items:end;gap:8px 12px;min-height:0;padding:9px 12px}
  .training-dashboard #options .settings-card:first-of-type{grid-template-columns:118px minmax(150px,.72fr) minmax(220px,1.28fr)}
  .training-dashboard #options .form-grid,
  .training-dashboard #options .form-grid.compact,
  .training-dashboard #options .form-grid.three,
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact,
  .training-dashboard #options .settings-card:first-of-type .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .training-dashboard #options label{min-width:0;margin:0;font-size:.6rem;line-height:1.05}
  .training-dashboard #options select,.training-dashboard #options input{height:34px!important;margin-top:2px!important;padding-inline:7px!important;font-size:.68rem!important}
  .training-dashboard #options .form-actions{align-self:end}
}
@media(min-width:900px) and (max-width:1180px){
  .training-dashboard .shell{grid-template-columns:minmax(440px,.9fr) minmax(500px,1.1fr)}
  .training-dashboard #options .settings-card,
  .training-dashboard #options .settings-card:first-of-type,
  .training-dashboard #options .settings-card:nth-of-type(3){grid-template-columns:92px minmax(0,1fr)}
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact{grid-column:2}
  .training-dashboard #options .settings-card:first-of-type .form-grid:last-child{grid-column:2}
}

/* Narrower, taller settings cards; give the exercise panel more width. */
@media(min-width:1181px) and (min-height:720px){
  .training-dashboard .shell{grid-template-columns:minmax(410px,.7fr) minmax(680px,1.3fr)}
  .training-dashboard #options{grid-template-rows:repeat(3,minmax(118px,auto)) 1fr}
  .training-dashboard #options .settings-card,
  .training-dashboard #options .settings-card:first-of-type,
  .training-dashboard #options .settings-card:nth-of-type(3){grid-template-columns:96px minmax(0,1fr);align-items:center;padding:12px 14px}
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact{grid-column:2}
  .training-dashboard #options .settings-card:first-of-type .form-grid:last-child{grid-column:2}
  .training-dashboard #options .form-grid,
  .training-dashboard #options .form-grid.compact,
  .training-dashboard #options .form-grid.three,
  .training-dashboard #options .settings-card:first-of-type .form-grid,
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact,
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid label:first-child{grid-column:1/-1}
  .training-dashboard #options select,.training-dashboard #options input{height:38px!important;font-size:.72rem!important}
}

/* One continuous execution surface: remove the stepped heading/card edge. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard .training-panel{padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:var(--panel-gradient)}
  .training-dashboard .phrase-card{padding:10px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .training-dashboard .phrase-card::after{display:none}
}
@media(min-width:900px){.songs-hero{align-items:center}.songs-hero .kicker{display:none}.songs-hero h1{font-size:34px;line-height:1}.songs-filter{align-items:end}.chord-trainer{margin-top:6px}}

/* Chord map */
.chords-shell{width:min(1460px,calc(100% - 40px));margin:auto;padding:20px 0 40px}.chords-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:18px}.chords-heading h1{margin:0;font:700 clamp(2rem,4vw,3.6rem)/1 "DM Sans",sans-serif}.chords-heading p{margin:5px 0 0;color:var(--muted)}.chord-toolbar{display:grid;grid-template-columns:150px 190px;gap:10px}.chord-toolbar label{margin:0}.chord-toolbar select{height:44px!important;margin-top:4px!important}.chords-workspace{display:grid;grid-template-columns:minmax(310px,390px) 1fr;gap:14px}.chord-picker,.chord-display{border:1px solid var(--line);border-radius:18px;background:var(--panel-gradient)}.chord-picker{padding:16px}.chord-options{display:flex;flex-wrap:wrap;gap:6px}.chord-options button{width:auto;margin:0;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--control-bg);color:var(--muted);font-size:.65rem}.chord-options button:hover,.chord-options button.active{border-color:var(--accent);background:rgba(223,255,89,.12);color:var(--accent)}.chord-display{min-width:0;padding:18px}.chord-display>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.chord-display h2{margin:0;color:var(--accent);font-size:2.1rem}.chord-display header small,.chord-display header p{color:var(--muted)}.chord-display header p{margin:0;letter-spacing:.09em}.inversion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inversion-card{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.inversion-card h3{margin:0 0 8px;font-size:.75rem}.inversion-card>p{margin:6px 0 0;color:var(--muted);font-size:.65rem;text-align:center}.inversion-card .piano-keyboard{height:82px}.inversion-card .guitar-tab{width:100%;margin:0;padding:0;border:0}.inversion-card .guitar-tab .fretboard table{min-width:500px;height:110px}.inversion-card.unavailable{display:grid;place-content:center;min-height:142px;border-style:dashed;text-align:center;opacity:.6}.entry-grid:has(.chords-entry){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.chords-heading{align-items:stretch;flex-direction:column}.chord-toolbar{grid-template-columns:1fr 1fr}.chords-workspace{grid-template-columns:1fr}.inversion-grid{grid-template-columns:1fr}.entry-grid:has(.chords-entry){grid-template-columns:1fr}}
.chords-page .chord-toolbar{grid-template-columns:repeat(2,minmax(130px,170px));gap:8px 10px}
.chords-page .inversion-card h3 small{color:var(--muted);font-size:.56rem;font-weight:500}.chords-page .inversion-card .tab-scroll{overflow:hidden}.chords-page .inversion-card .guitar-tab .fretboard table{width:100%;min-width:0;height:110px}.chords-page .inversion-card .guitar-tab .fretboard th:first-child{width:25px}.chords-page .inversion-card .guitar-tab .fretboard th,.chords-page .inversion-card .guitar-tab .fretboard td{padding:0}.chords-page .inversion-card .guitar-tab .fretboard td span:not(:empty){width:23px;height:23px;font-size:.62rem}.chords-page .inversion-card .guitar-tab td.double-marker::before{width:7px;height:7px}
.chords-page .inversion-grid.dense{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.chords-page .inversion-grid.dense .inversion-card{padding:9px}.chords-page .inversion-grid.dense .inversion-card h3{margin-bottom:5px;font-size:.68rem}.chords-page .inversion-grid.dense .inversion-card .guitar-tab .fretboard table{height:92px}.chords-page .inversion-grid.dense .inversion-card .guitar-tab .fretboard td span:not(:empty){width:19px;height:19px;font-size:.54rem}.chords-page .inversion-grid.dense .inversion-card>p{margin-top:4px;font-size:.57rem}.chords-page .inversion-grid.dense .chord-play{height:30px;margin-top:5px}
@media(max-width:1100px){.chords-page .inversion-grid.dense{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.chords-page .inversion-grid.dense{grid-template-columns:1fr}.chords-page .inversion-grid.dense .inversion-card .guitar-tab .fretboard table{height:110px}.chords-page .inversion-grid.dense .inversion-card .guitar-tab .fretboard td span:not(:empty){width:23px;height:23px;font-size:.62rem}}
.chords-page .chords-shell{padding-top:12px}.chords-page .chords-workspace{align-items:stretch;min-height:calc(100vh - 116px)}.chords-page .chord-picker,.chords-page .chord-display{height:100%}.chords-page .chord-picker .chord-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}.chords-page .chord-picker .chord-toolbar+section{margin-top:0;padding-top:0;border-top:0}.chords-page .standard-fretboard.guitar-tab td span.bass-note{border:3px solid #ff7a80;background:#d83f4a;color:#fff;box-shadow:0 0 0 3px rgba(216,63,74,.18),0 0 14px rgba(255,79,93,.55)}.chords-page .standard-fretboard.guitar-tab td span.tonic-marker{border:3px solid #79f28f;background:#20b85a;color:#07130b;box-shadow:0 0 0 3px rgba(32,184,90,.18),0 0 14px rgba(66,235,117,.6)}.chords-page .standard-fretboard.guitar-tab td span.chord-tone{border-color:#ffd84d;background:#ffd84d;color:#11131a;box-shadow:0 0 12px rgba(255,216,77,.45)}.chords-page .piano-key.bass-note{background:#d83f4a!important;box-shadow:inset 0 0 0 3px #ff7a80!important}.chords-page .piano-key.tonic-note{background:#20b85a!important;box-shadow:inset 0 0 0 3px #79f28f!important}.chords-page .piano-key.chord-note{background:#ffd84d!important}
.chords-page .chord-play{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:34px;margin:8px 0 0;padding:5px 12px;border:1px solid var(--line);border-radius:8px;background:#202630;color:var(--text);font-size:.68rem;font-weight:700}.chords-page .chord-play span{color:var(--accent)}.chords-page .chord-play:hover,.chords-page .chord-play.is-playing{border-color:var(--accent);background:rgba(223,255,89,.12)}

/* Compact home launch cards with stronger section symbols. */
.portal-page .entry-card{min-height:220px;padding:24px 26px;border-radius:16px}.portal-page .entry-icon{top:18px;right:24px;font-size:2.45rem;line-height:1}.portal-page .entry-card h2{margin:36px 0 6px;font-size:1.55rem}.portal-page .entry-card p{max-width:90%;font-size:.8rem;line-height:1.45}.portal-page .entry-open{right:26px;bottom:20px;left:26px}
.chords-page .chord-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.chords-page .chord-options button{width:100%;min-width:0;height:32px;padding:5px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chord-options button.pro-locked{display:inline-flex;align-items:center;justify-content:center;gap:4px;opacity:.45;cursor:not-allowed}.chord-options button.pro-locked small{font-size:.45rem;letter-spacing:.06em}.standard-catalog-results button.pro-locked{opacity:.48;cursor:not-allowed}.standard-catalog-results button.pro-locked small{color:var(--muted)}
@media(max-width:520px){.chords-page .chord-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Definitive desktop settings layout. Keep this last to preserve cascade priority. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard .shell{grid-template-columns:minmax(500px,42%) minmax(0,58%)!important}
  .training-dashboard #options{grid-template-columns:1fr!important;grid-template-rows:auto auto auto minmax(76px,1fr)!important;align-content:stretch!important}
  .training-dashboard #options .settings-card,
  .training-dashboard #options .settings-card:first-of-type,
  .training-dashboard #options .settings-card:nth-of-type(3){display:block!important;grid-column:1!important;min-width:0!important;padding:14px 16px!important}
  .training-dashboard #options .form-grid,
  .training-dashboard #options .form-grid.compact,
  .training-dashboard #options .form-grid.three,
  .training-dashboard #options .settings-card:first-of-type .form-grid,
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact,
  .training-dashboard #options .settings-card:nth-of-type(2) .form-grid,
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid{display:grid!important;grid-column:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:10px 14px!important;margin:0!important}
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact{margin-bottom:10px!important}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid label:first-child{grid-column:1/-1!important}
  .training-dashboard #options label{display:block!important;width:100%!important;min-width:0!important;margin:0!important;font-size:.68rem!important;line-height:1.15!important}
  .training-dashboard #options select,
  .training-dashboard #options input{display:block!important;width:100%!important;min-width:0!important;height:44px!important;margin:4px 0 0!important;padding:0 12px!important;font-size:.82rem!important}
  .training-dashboard #options .form-actions{grid-column:1!important;align-self:stretch!important;margin:0!important}
}

/* Equal column bottoms and clearer two-row playback controls. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard #options,
  .training-dashboard .training-panel{height:100%!important;max-height:100%!important}
  .training-dashboard #options .form-actions,
  .training-dashboard .training-panel{box-sizing:border-box}
  .shared-practice-transport{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .shared-practice-transport .control-button{min-height:56px!important;padding:7px 10px!important}
  .shared-practice-transport .control-button b{overflow:visible!important;font-size:.62rem!important;line-height:1.15!important;white-space:normal!important;text-overflow:clip!important}
  .shared-practice-transport .control-button small{font-size:.48rem!important}
  .shared-practice-transport .control-button:nth-last-child(-n+3){min-height:50px!important}
  .training-dashboard .countdown{display:none!important}
}

@media(min-width:900px) and (min-height:720px){
  .shared-practice-transport{grid-template-columns:repeat(8,minmax(0,1fr))!important}
  .shared-practice-transport .control-button{grid-column:span 2}
  .shared-practice-transport .control-button:nth-child(5){grid-column:2/span 2}
  .shared-practice-transport .control-button:nth-child(6){grid-column:4/span 2}
  .shared-practice-transport .control-button:nth-child(7){grid-column:6/span 2}
}

/* The unified dashboard is already live: no separate start action is needed. */
.training-dashboard #start-training{display:none!important}
.training-dashboard #options .form-actions{grid-template-columns:1fr auto!important}
.training-dashboard #options .form-actions>div{justify-content:flex-end}

/* Give heading descenders room and spend the spare height on the useful cards. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard #options{grid-template-rows:1fr 1fr 1.25fr auto!important}
  .training-dashboard #options .form-actions{min-height:72px!important;max-height:82px!important;padding-block:10px!important}
}

/* Keep the two-column desktop dashboard, but always let the settings cards
   determine their row height. Fixed fractional rows made controls spill into
   the following card at intermediate window sizes and browser zoom levels. */
@media(min-width:900px) and (min-height:720px){
  body.training-dashboard{height:auto;overflow:auto}
  .training-dashboard .shell{height:auto;min-height:100vh;grid-template-rows:92px auto;padding-bottom:16px}
  .training-dashboard #options{
    height:auto!important;
    max-height:none!important;
    align-self:stretch!important;
    overflow:visible;
    grid-template-rows:auto auto auto auto!important;
    align-content:start!important;
    gap:0!important;
    padding:0 0 12px;
    border:1px solid var(--line);
    border-top-color:rgba(223,255,89,.55);
    border-radius:18px;
    background:var(--panel-gradient);
  }
  .training-dashboard #options .settings-card{
    min-height:max-content;
    margin:0!important;
    padding:8px 16px!important;
    border:0!important;
    border-bottom:1px solid var(--line)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .training-dashboard #options .form-grid,
  .training-dashboard #options .form-grid.compact,
  .training-dashboard #options .form-grid.three{gap:4px 14px!important}
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact{margin-bottom:4px!important}
  .training-dashboard #options label{font-size:.63rem!important;line-height:1.05!important}
  .training-dashboard #options select,
  .training-dashboard #options input{height:36px!important;margin-top:2px!important;font-size:.76rem!important}
  .training-dashboard #options .form-actions{
    align-self:auto!important;
    min-height:42px!important;
    margin:0!important;
    padding:6px 16px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .training-dashboard .training-panel{height:100%!important;max-height:none!important;min-height:0;align-self:stretch;overflow:visible}
}

/* Hide dashboard scrollbars without disabling wheel, trackpad or touch scroll. */
.training-dashboard,
.training-dashboard *{scrollbar-width:none}
.training-page{scrollbar-width:none}
.training-page::-webkit-scrollbar,
.training-dashboard::-webkit-scrollbar,
.training-dashboard *::-webkit-scrollbar{display:none;width:0;height:0}

@media(min-width:900px) and (min-height:720px){
  .training-dashboard #options select:not([multiple]):not([size]){
    padding-right:1.75rem!important;
    background-position:right .7rem center!important;
    background-size:.62rem auto!important;
    font-size:.69rem!important;
  }
  .training-dashboard #options select option,
  .training-dashboard #options select optgroup{font-size:.69rem}
}

/* Full-height Jazz Standards dashboard: chord chart on the left, live trainer
   on the right, with both main surfaces sharing the same top and bottom. */
@media(min-width:900px) and (min-height:720px){
  .jazz-page,
  body.songs-dashboard{height:100%;overflow:hidden;scrollbar-width:none}
  .jazz-page::-webkit-scrollbar,
  body.songs-dashboard::-webkit-scrollbar,
  body.songs-dashboard *::-webkit-scrollbar{display:none;width:0;height:0}
  .songs-dashboard .songs-shell{
    display:grid;
    grid-template-columns:minmax(380px,42%) minmax(0,58%);
    grid-template-rows:70px auto minmax(0,1fr);
    gap:8px 14px;
    width:min(1500px,calc(100% - 32px));
    height:calc(100vh - 92px);
    padding:6px 0 12px;
  }
  .songs-dashboard .songs-hero{
    grid-column:1/-1;
    grid-row:1;
    min-height:0;
    height:70px!important;
    padding:6px 16px;
    border:1px solid var(--line);
    border-top-color:rgba(223,255,89,.55);
    border-radius:16px;
    background:var(--panel-gradient);
  }
  .songs-dashboard .chart-sections{
    grid-column:1;
    grid-row:3;
    align-content:start;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    min-height:0;
    margin:0;
    padding:8px;
    overflow:auto;
    border:1px solid var(--line);
    border-top:1px solid var(--section-line);
    border-radius:0 0 18px 18px;
    background:var(--panel-gradient);
    scrollbar-width:none;
  }
  .songs-dashboard .chart-sections::-webkit-scrollbar{display:none}
  .songs-dashboard .chart-section{
    padding:9px 10px;
    border:0;
    border-bottom:1px solid var(--section-line);
    border-radius:0;
    background:transparent;
  }
  .songs-dashboard .chart-sections.single-section{grid-template-columns:1fr}
  .songs-dashboard .chord-trainer{
    grid-column:2;
    grid-row:2/4;
    display:flex;
    min-height:0;
    height:100%;
    margin:0;
    flex-direction:column;
    overflow:hidden;
  }
  .songs-dashboard .song-run-controls{margin-top:auto}
}

/* Jazz controls belong to the chart column; the right panel stays focused on
   the live instrument and transport. */
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .songs-shell{grid-template-rows:142px auto minmax(0,1fr)}
  .songs-dashboard .songs-hero{
    grid-column:1;
    height:142px!important;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:30px 43px 43px;
    align-items:end;
    gap:4px;
    padding:8px 12px;
  }
  .songs-dashboard .songs-hero>div{align-self:center}
  .songs-dashboard .songs-hero h1{font-size:1.35rem!important;line-height:1!important}
  .songs-dashboard .songs-filter{grid-template-columns:minmax(0,1fr) 76px;gap:8px}
  .songs-dashboard .songs-hero .trainer-selectors{
    display:grid!important;
    grid-template-columns:74px repeat(4,minmax(0,1fr))!important;
    align-items:end!important;
    gap:7px!important;
    width:100%;
  }
  .songs-dashboard .songs-hero label,
  .songs-dashboard .songs-hero .trainer-selectors label,
  .songs-dashboard .songs-hero .trainer-selectors label:first-child{
    width:auto!important;
    min-width:0!important;
    margin:0;
    font-size:.56rem;
    line-height:1;
  }
  .songs-dashboard .songs-hero select,
  .songs-dashboard .songs-hero input{
    width:100%;
    height:32px!important;
    margin-top:3px!important;
    padding-inline:9px!important;
    font-size:.67rem!important;
  }
  .songs-dashboard .chord-trainer{grid-row:1/4}
}

@media(min-width:900px) and (max-width:1499px) and (min-height:720px){
  .songs-dashboard .songs-shell{grid-template-rows:202px auto minmax(0,1fr)}
  .songs-dashboard .songs-hero{
    display:flex!important;
    height:202px!important;
    flex-direction:column;
    align-items:stretch!important;
    justify-content:flex-start;
    gap:7px;
  }
  .songs-dashboard .songs-hero>div:first-child{flex:0 0 28px}
  .songs-dashboard .songs-filter{flex:0 0 42px}
  .songs-dashboard .songs-hero .trainer-selectors{
    flex:0 0 94px;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-content:start!important;
    gap:5px 8px!important;
  }
  .songs-dashboard .songs-hero .trainer-selectors input,
  .songs-dashboard .songs-hero .trainer-selectors select{height:30px!important;margin-top:2px!important}
  .songs-dashboard .chart-section{padding:6px 8px}
  .songs-dashboard .chart-section>header{margin-bottom:4px!important}
  .songs-dashboard .chord-bar{min-height:36px;padding:3px 5px}
}
.chords-page .chord-toolbar label{color:var(--info)}
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .songs-shell{grid-template-rows:292px auto minmax(0,1fr)}
  .songs-dashboard .songs-hero{height:292px!important;padding-bottom:16px!important}
  .songs-dashboard .songs-hero .trainer-selectors{flex:0 0 140px}
  .songs-dashboard .chart-sections{margin-top:0!important}
}

/* Definitive training settings order and compact three-column layout. */
@media(min-width:900px) and (min-height:720px){
  .training-dashboard #options{grid-template-rows:auto auto auto auto auto!important}
  .training-dashboard #options .instrument-settings-card{grid-column:1!important;}
  .training-dashboard #options .settings-card:nth-of-type(4){grid-column:1!important;}
  .training-dashboard #options .form-actions{grid-column:1!important;position:relative!important}
  .training-dashboard #options .settings-card .form-grid,
  .training-dashboard #options .settings-card .form-grid.compact,
  .training-dashboard #options .settings-card .form-grid.three,
  .training-dashboard #options .settings-card:first-of-type .form-grid,
  .training-dashboard #options .settings-card:first-of-type .form-grid.compact,
  .training-dashboard #options .settings-card:nth-of-type(2) .form-grid,
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid,
  .training-dashboard #options .instrument-settings-card .form-grid,
  .training-dashboard #options .settings-card:nth-of-type(4) .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .training-dashboard #options .settings-card:nth-of-type(3) .form-grid label:first-child{grid-column:auto!important}
  .training-dashboard #options .settings-card{padding:11px 17px!important}
  .training-dashboard #options .settings-card .form-grid{gap:8px 13px!important}
  .training-dashboard #options label{line-height:1.15!important}
}

/* Shared back-to-menu action. */
.portal-nav>a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 13px;
  border:1px solid rgba(223,255,89,.58);
  border-radius:10px;
  background:rgba(223,255,89,.09);
  color:var(--accent)!important;
  font-size:.7rem!important;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  transition:background .16s,border-color .16s,transform .16s;
}
.portal-nav>a::before{content:'←';margin-right:7px;font-size:.8rem}
.portal-nav>a:hover{border-color:var(--accent);background:var(--accent);color:var(--bg)!important;transform:translateY(-1px)}

/* One palette and one set of semantic rules for every screen. */
.section-title,.selector-group-title,.modal-control-section>h2,.chord-option-group>small,.entry-card :is(.entry-number,h2),select optgroup{user-select:none;-webkit-user-select:none}
.theme-toggle{display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--accent);font-size:1rem;line-height:1}
.theme-toggle:hover{border-color:var(--accent);background:var(--surface-2)}
.theme-toggle-floating{position:fixed;z-index:1000;top:14px;right:14px}
html[data-theme="light"]{--bg:#eef2f5;--surface:#fff;--surface-2:#e7edf2;--panel:var(--surface);--panel-gradient:linear-gradient(145deg,#fff,#edf2f6);--section-line:rgba(23,32,42,.10);--line:#c8d1da;--text:#17202a;--muted:#65717e;--accent:#587900;--accent-2:#456100;--warm:#bf4d2d;--control-bg:#fff;--card-bg:#fff;--card-bg-deep:#edf2f6;--card-bg-low:#e7edf2;--card-border:#c8d1da;--card-text:#465563;--card-text-strong:#17202a;--card-text-soft:#65717e;--badge-bg:#dfe7ed;--badge-bg-alt:#d5dfe7;--badge-text:#526170;--badge-text-strong:#344454;--active-card-bg:#eef4df;--pico-background-color:var(--bg);--pico-color:var(--text);--pico-muted-color:var(--muted);--pico-card-background-color:var(--surface);--pico-form-element-background-color:var(--surface);--pico-form-element-border-color:var(--line);--pico-form-element-color:var(--text);--pico-form-element-active-border-color:var(--accent);--pico-form-element-focus-color:rgba(88,121,0,.18);--pico-primary:var(--accent);--pico-primary-background:var(--accent);--pico-primary-border:var(--accent);--pico-primary-hover-background:var(--accent-2);--pico-primary-hover-border:var(--accent-2);--pico-primary-inverse:#fff}
html[data-theme="light"] body{background:radial-gradient(circle at 85% -10%,rgba(88,121,0,.1),transparent 30rem),var(--bg);color:var(--text)}
html[data-theme="light"] :is(.portal-header,.unified-header){border-color:var(--line);background:#e9eef2 url("/static/images/jazz-header.png") 68% 52%/cover no-repeat!important;background-blend-mode:normal;box-shadow:0 8px 24px rgba(31,45,58,.13)}
html[data-theme="light"] :is(.portal-header,.unified-header)::before{background:linear-gradient(90deg,rgba(247,250,252,.9) 0%,rgba(238,243,246,.76) 38%,rgba(230,237,241,.42) 72%,rgba(238,243,246,.58) 100%)!important}
html[data-theme="light"] :is(article,section,aside,dialog>article,.settings-card,.phrase-card,.entry-card){border-color:var(--line);color:var(--text)}
html[data-theme="light"] :is(input,select,textarea,button,.control-button,.chord-bar){border-color:var(--line);background-color:var(--surface);color:var(--text)}
html[data-theme="light"] :is(label,.portal-brand,.portal-brand-copy strong,.chord-bar strong){color:var(--text)}
html[data-theme="light"] :is(small,.portal-brand-copy small,.chord-bar small){color:var(--muted)}
html[data-theme="light"] :is(.featured,.active,.is-playing){border-color:var(--accent)}








@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .songs-shell{grid-template-rows:344px auto minmax(0,1fr)}
  .songs-dashboard .songs-hero{height:344px!important}
  .songs-dashboard .songs-filter{flex-basis:64px!important;align-content:start}
  .songs-dashboard .songs-hero .trainer-selectors{flex-basis:190px!important;align-content:start!important}
  .songs-dashboard .chart-sections{gap:7px!important;padding:8px!important}
  .songs-dashboard .chart-section{padding:6px 8px!important}
  .songs-dashboard .chart-section>header{min-height:24px;margin-bottom:3px!important}
  .songs-dashboard .chart-section>header span{width:24px;height:24px}
  .songs-dashboard .chart-section h3{font-size:.88rem}
  .songs-dashboard .chord-bar{min-height:27px!important;padding:2px 5px!important}
  .songs-dashboard .chord-bar small{font-size:.4rem;line-height:1}
  .songs-dashboard .chord-bar strong{margin-top:1px;font-size:.64rem;line-height:1.05}
}
.training-dashboard #options .instrument-settings-card .guitar-options-start{grid-column:1!important}
.songs-dashboard .chord-bars{border-color:var(--accent)!important}
.songs-dashboard .chord-bar{border-color:var(--accent)!important}
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .songs-shell{grid-template-rows:410px auto minmax(0,1fr)!important}
  .songs-dashboard .songs-hero{height:410px!important}
  .songs-dashboard .songs-hero .trainer-selectors{flex-basis:250px!important}
}

/* Shared desktop geometry for the three working areas. */
@media(min-width:1100px){
  :root{--function-left-panel:630px}
  .training-dashboard .shell,
  .chords-page .chords-workspace,
  .songs-dashboard .songs-shell{
    grid-template-columns:var(--function-left-panel) minmax(0,1fr)!important;
  }
  .training-dashboard #options .instrument-settings-card .form-grid,
  .chords-page .chord-picker .chord-toolbar,
  .songs-dashboard .songs-hero .trainer-selectors{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

.context-nav{display:flex;align-items:center;height:42px;padding:3px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(8px)}
.context-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border-radius:8px;color:var(--text);font-size:.68rem;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}
.context-nav a:hover{color:var(--accent)}
.context-nav a.active{background:var(--accent);color:var(--bg)}
.context-nav a{box-sizing:border-box;border:0;font-variation-settings:"wght" 700}
.play-state{display:inline-block!important;width:1.15em;line-height:1;text-align:center}

/* Shared compact selector geometry for Training and Songs. */
.training-dashboard #options label,
.songs-dashboard .songs-filter label,
.trainer-selectors label{
  min-width:0!important;
  margin:0!important;
  font-size:.55rem!important;
  line-height:1!important;
}
.training-dashboard #options :is(select,input:not([type="hidden"])),
.songs-dashboard .songs-filter :is(select,input:not([type="hidden"])),
.trainer-selectors :is(select,input:not([type="hidden"])){
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:30px!important;
  margin:2px 0 0!important;
  padding:0 7px!important;
  font-size:.66rem!important;
}
.chords-page .chord-toolbar label{min-width:0!important;margin:0!important;font-size:.56rem!important;line-height:1.05!important}.chords-page .chord-toolbar :is(select,input:not([type="hidden"])){display:block!important;width:100%!important;min-width:0!important;height:34px!important;margin:2px 0 0!important;padding:0 8px!important;font-size:.65rem!important}
@media(max-width:900px){.portal-nav>a{display:none}.portal-nav{gap:8px}.context-nav a{padding:6px 8px;font-size:.62rem}}
@media(max-width:620px){.portal-brand-copy{display:none}.context-nav a{padding:5px 6px;font-size:.56rem}.portal-header .portal-nav,.unified-header .portal-nav{margin-left:auto}}
@media(max-width:480px){.portal-header .brand-mark,.unified-header .brand-mark{width:76px}.language-switch{display:none!important}.portal-nav{gap:5px}.context-nav a{padding:5px;font-size:.52rem}}

/* One fretboard geometry across Training, Chords and Standards. */
.guitar-tab .fretboard table{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;table-layout:fixed}
.guitar-tab .fretboard th:first-child{width:34px!important}
.guitar-tab .fretboard thead th{height:18px;padding:0!important}
.guitar-tab .fretboard tbody th,.guitar-tab .fretboard tbody td{height:32px;padding:0!important}
.guitar-tab .fretboard td span:not(:empty){width:25px!important;height:25px!important;font-size:.67rem!important}
.guitar-tab .fretboard thead th.open-fret{background:rgba(255,209,81,.2);color:#ffd151!important}
.guitar-tab .fretboard tbody td.open-fret{border-right:3px solid rgba(255,209,81,.78)!important;background:linear-gradient(to bottom,rgba(255,209,81,.09) calc(50% - .7px),#ffd151 calc(50% - .7px),#ffd151 calc(50% + .7px),rgba(255,209,81,.09) calc(50% + .7px))!important}
.guitar-now.fretboard-warning{display:block!important;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);color:var(--muted)!important;font-size:.68rem!important;line-height:1.35;text-align:left!important}.guitar-now.fretboard-warning::before{content:"ⓘ";margin-right:7px;color:var(--accent)}
.instrument-unavailable{display:flex;align-items:flex-start;gap:12px;width:min(620px,100%);margin:28px auto;padding:16px 18px;border:1px solid rgba(255,141,107,.55);border-radius:12px;background:rgba(255,141,107,.07);text-align:left}.instrument-unavailable-icon{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid var(--warm);border-radius:50%;color:var(--warm);font-weight:800}.instrument-unavailable div{display:grid;gap:4px}.instrument-unavailable strong{color:var(--warm);font-size:.78rem}.instrument-unavailable p{margin:0;color:var(--text);font-size:.7rem;line-height:1.4}.instrument-unavailable small{color:var(--muted);font-size:.64rem;line-height:1.35}

/* Full header rail: identity left, context controls right. */
.portal-header,.unified-header{width:100vw!important;max-width:none!important;padding-right:24px!important;padding-left:24px!important}
.portal-header .portal-brand,.unified-header .portal-brand{margin-right:auto}
.portal-header .portal-nav,.unified-header .portal-nav{margin-left:auto}
@media(max-width:720px){.portal-header,.unified-header{padding-right:12px!important;padding-left:12px!important}}

/* Accounts and commercial administration. */
.account-page,.admin-page{min-height:100vh}.account-shell{width:min(460px,calc(100% - 32px));margin:auto;padding:50px 0}.account-shell>.portal-brand{margin-bottom:28px}.account-card,.admin-create,.admin-user{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 16px 50px rgba(0,0,0,.14)}.account-card{padding:28px}.account-card h1{margin:0 0 22px}.account-error{padding:10px;border-radius:8px;background:rgba(255,141,107,.12);color:var(--warm)}.admin-shell{width:min(1200px,calc(100% - 32px));margin:auto;padding:28px 0 60px}.admin-create{padding:20px}.admin-create h1{margin-top:0}.admin-create form{display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:10px}.admin-create input,.admin-create button,.grant-form input,.grant-form button,.admin-user form button,.portal-nav form,.portal-nav form button{margin:0!important}.admin-users{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.admin-user{padding:18px}.admin-user>header{display:flex;align-items:center;justify-content:space-between}.admin-user>header div{display:flex;flex-direction:column}.admin-user small{color:var(--muted)}.plan-badge{padding:5px 9px;border-radius:999px;background:#303541;color:var(--muted);font-size:.65rem;font-weight:800}.plan-badge.pro{background:var(--accent);color:var(--bg)}.grant-list{margin:14px 0}.grant-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.72rem}.grant-form{display:grid;grid-template-columns:1fr 145px auto;gap:8px;margin:12px 0}.grant-form input{height:40px!important}.admin-user button{width:auto;padding:8px 11px;font-size:.7rem}.admin-user .secondary{border-color:var(--line);background:transparent;color:var(--text)}@media(max-width:760px){.admin-create form,.grant-form,.admin-users{grid-template-columns:1fr}.admin-users{display:grid}}
.songs-admin-heading{display:flex;align-items:end;justify-content:space-between}.songs-admin-heading h1,.songs-admin-heading p{margin:0}.song-admin-list{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.song-admin-row{display:grid;grid-template-columns:minmax(210px,2fr) 80px minmax(130px,1fr) 120px minmax(130px,1fr) 150px;align-items:center;gap:12px;margin:0;padding:13px 18px;border-bottom:1px solid var(--line)}.song-admin-row:last-child{border-bottom:0}.song-admin-row>div:first-child,.song-admin-row>span{display:flex;flex-direction:column}.song-admin-row small{color:var(--muted);font-size:.65rem}.song-admin-labels{background:rgba(255,255,255,.025);color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.song-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.song-admin-actions a,.song-admin-actions button,.visibility-form button{width:auto;margin:0!important;padding:7px 10px;font-size:.68rem}.song-admin-actions form,.visibility-form{margin:0}.visibility-form button{padding:2px 0!important;border:0;background:transparent;color:var(--accent);font-size:.6rem}.song-admin-actions .secondary{border-color:var(--line);background:transparent;color:var(--warm)}.admin-empty{padding:28px;text-align:center;color:var(--muted)}@media(max-width:850px){.song-admin-labels{display:none}.song-admin-row{grid-template-columns:1fr 1fr}.song-admin-actions{justify-content:flex-start}.songs-admin-heading{align-items:flex-start;flex-direction:column;gap:8px}}
.songs-admin-shell .song-admin-row{grid-template-columns:minmax(190px,2fr) 72px 115px 125px 100px 125px 140px;gap:9px}.genre-form,.genre-form select{margin:0!important}.genre-form select{height:34px!important;padding:3px 24px 3px 7px!important;font-size:.65rem!important}@media(max-width:850px){.songs-admin-shell .song-admin-row{grid-template-columns:1fr 1fr}}
.standard-catalog-field{display:flex;flex-direction:column;gap:4px;min-width:0;color:var(--muted);font-size:.66rem;font-weight:700}.standard-catalog-field>button{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;width:100%;height:36px;margin:0;padding:4px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);text-align:left}.standard-catalog-field>button strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.standard-catalog-field>button small{max-width:100%;overflow:hidden;color:var(--muted);font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}.standard-catalog-modal{width:620px;max-width:calc(100vw - 32px);max-height:72vh;margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.55);overflow:hidden}.standard-catalog-dialog::backdrop{background:rgba(5,7,12,.76);backdrop-filter:blur(5px)}.standard-catalog-modal>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid var(--line)}.standard-catalog-modal h2{margin:1px 0 0;font-size:1.25rem}.standard-catalog-modal header small{color:var(--accent);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.standard-catalog-modal [data-close]{width:34px;height:34px;margin:0;padding:0;border:0;background:transparent;color:var(--muted);font-size:1.5rem}.standard-catalog-filters{display:grid;grid-template-columns:1fr 180px;gap:9px;padding:13px 20px}.standard-catalog-filters input,.standard-catalog-filters select{height:40px!important;margin:0!important}.standard-catalog-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:52vh;padding:0 20px 20px;overflow:auto}.standard-catalog-results button{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:0;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);text-align:left}.standard-catalog-results button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standard-catalog-results button span{grid-column:1;color:var(--muted);font-size:.65rem}.standard-catalog-results button small{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent);font-size:.58rem}.standard-catalog-results button.selected{border-color:var(--accent);background:rgba(223,255,89,.08)}.standard-catalog-empty{margin:0;padding:25px;text-align:center;color:var(--muted)}@media(max-width:600px){.standard-catalog-filters,.standard-catalog-results{grid-template-columns:1fr}.standard-catalog-results button small{grid-column:1;grid-row:auto}}
.standard-catalog-modal>header{padding:13px 17px 10px}.standard-catalog-modal h2{font-size:1.05rem}.standard-catalog-filters{position:sticky;top:0;z-index:2;padding:11px 17px;background:var(--surface)}.standard-catalog-results{display:flex;max-height:calc(72vh - 128px);flex-direction:column;gap:5px;padding:0 17px 16px;overflow:auto}.standard-catalog-results button{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(120px,1fr) auto;align-items:center;gap:10px;padding:8px 11px}.standard-catalog-results button strong,.standard-catalog-results button span,.standard-catalog-results button small{grid-column:auto;grid-row:auto;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standard-catalog-results button span{font-size:.66rem}.standard-catalog-results button small{text-align:right}@media(max-width:600px){.standard-catalog-modal{max-height:78vh}.standard-catalog-filters{grid-template-columns:1fr 130px}.standard-catalog-results{max-height:calc(78vh - 128px)}.standard-catalog-results button{grid-template-columns:1fr auto}.standard-catalog-results button span{grid-column:1}.standard-catalog-results button small{grid-column:2;grid-row:1/3}}
.standard-catalog-dialog{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.standard-catalog-dialog::backdrop{background:rgba(7,9,13,.5);backdrop-filter:blur(7px) saturate(.8)}.standard-catalog-modal{background:linear-gradient(180deg,#20242e 0,#191d25 100%)}.standard-catalog-modal>header{margin:0!important;padding:16px 18px 13px!important;border-radius:17px 17px 0 0;background:rgba(255,255,255,.018)}.standard-catalog-modal>header small{display:block;margin:0 0 3px;font-size:.56rem;line-height:1.2}.standard-catalog-modal>header h2{line-height:1.2}.standard-catalog-modal [data-close]{display:grid;place-items:center;border-radius:8px}.standard-catalog-modal [data-close]:hover{background:rgba(255,255,255,.06);color:var(--text)}.standard-catalog-filters{background:transparent}.standard-catalog-columns{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(120px,1fr) auto;gap:10px;margin:0 17px 6px;padding:0 11px;color:var(--muted);font-size:.52rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.standard-catalog-columns span:last-child{text-align:right}.standard-catalog-results{max-height:calc(72vh - 158px)}@media(max-width:600px){.standard-catalog-columns{display:none}.standard-catalog-results{max-height:calc(78vh - 128px)}}
.standard-catalog-field .standard-catalog-selection{display:flex;align-items:center;gap:8px;width:100%;height:36px;margin-top:2px;padding:3px 4px 3px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.standard-catalog-selection>strong{min-width:0;flex:1;overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.standard-catalog-selection>#openSongCatalog{width:auto;height:28px;margin:0;padding:3px 10px;border-color:var(--accent);border-radius:7px;background:transparent;color:var(--accent);font-size:.62rem;font-weight:800}.standard-catalog-selection>#openSongCatalog:hover{background:var(--accent);color:var(--bg)}
.standard-catalog-selection>#songImportOpen{width:auto;height:28px;margin:0;padding:3px 8px;border-color:var(--info-strong);border-radius:7px;background:transparent;color:var(--info-strong);font-size:.62rem;font-weight:800}.standard-catalog-selection>#songImportOpen:hover{background:var(--info-strong);color:var(--bg)}
.song-import-history{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.song-import-history h3{margin:0 0 8px;font-size:.78rem}.song-import-history>div{display:grid;gap:6px;max-height:180px;overflow-y:auto}.song-import-history>div>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:1px solid var(--line);border-radius:9px}.song-import-history span{display:grid;gap:2px}.song-import-history small{color:var(--muted);font-size:.6rem}.song-import-history button{width:auto;margin:0;padding:6px 8px;font-size:.6rem}

/* Section headings carry colour; control labels remain calm and uniform. */
:is(.training-dashboard #options,.songs-dashboard .songs-filter,.songs-dashboard .trainer-selectors) :is(label,.standard-catalog-field){color:var(--text)!important}

/* Songs uses Training's exact title/rule geometry. */
.songs-dashboard .songs-filter,.songs-dashboard .trainer-selectors{width:100%!important;padding-right:4px!important;padding-left:4px!important;row-gap:6px!important}

.account-nav-link{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px!important;border:1px solid var(--accent)!important;border-radius:9px;color:var(--accent)!important;font-size:.68rem;font-weight:800;text-decoration:none;white-space:nowrap}
.account-nav-link:hover{background:var(--accent);color:var(--bg)!important}
.logout-nav-form{display:inline-flex;margin:0}.logout-nav-form button.account-nav-link{width:auto;margin:0;background:transparent;line-height:1}.logout-nav-form button.account-nav-link:hover{background:var(--accent)}
.environment-shell{max-width:900px}.environment-shell>.admin-create{margin-bottom:14px}.environment-shell>.admin-create p{margin-bottom:0;color:var(--muted)}.environment-form{display:grid;gap:14px}.environment-form>section{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.environment-form h2{margin:0 0 14px;font-size:1rem}.environment-grid,.environment-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.environment-plan-grid{align-items:stretch;margin-top:16px}.environment-plan-card{overflow:hidden;margin:0!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:14px;background:var(--panel);box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}.environment-plan-card.pro{border-color:rgba(223,255,89,.52)!important}.environment-plan-card.adv{border-color:rgba(201,156,255,.62)!important}.environment-plan-card>header{margin:0 0 16px!important;padding:0 0 13px!important;border-bottom:1px solid var(--line);background:transparent!important}.environment-plan-card header small{font-weight:800;letter-spacing:.14em}.environment-plan-card.pro header small{color:var(--accent)}.environment-plan-card.adv header small{color:#c99cff}.environment-plan-card h3{margin:2px 0;font-size:1rem}.environment-plan-card header p{margin:0;color:var(--muted);font-size:.7rem}.environment-plan-card label{display:block;margin-bottom:10px}.environment-plan-card label:last-child{margin-bottom:0}.environment-form input,.environment-form select{margin-bottom:0}.environment-form>button{width:max-content}@media(max-width:650px){.environment-grid,.environment-plan-grid{grid-template-columns:1fr}}

/* Splash 2026: product-led, musical and unmistakably IntervalsMaster. */
.splash-page{background:radial-gradient(circle at 78% 16%,rgba(223,255,89,.13),transparent 24%),radial-gradient(circle at 16% 38%,rgba(103,209,255,.09),transparent 28%),linear-gradient(180deg,#101319,#151921 52%,#101319)}
.splash-page:before{position:fixed;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000,transparent 75%);content:"";pointer-events:none}
.splash-hero.splash-hero-compact{grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);gap:clamp(42px,6vw,94px);min-height:calc(100vh - 86px);padding:54px 0 82px}
.splash-trial-ribbon{display:inline-flex;align-items:center;gap:9px;margin-bottom:22px;padding:6px 12px 6px 7px;border:1px solid rgba(223,255,89,.34);border-radius:999px;background:rgba(223,255,89,.075);color:#eef7c4;font-size:.66rem;font-weight:800}.splash-trial-ribbon span{padding:4px 7px;border-radius:999px;background:var(--accent);color:#11160b;font-size:.55rem;letter-spacing:.12em}
.splash-hero-compact .splash-copy h1{max-width:680px;font-size:clamp(3.15rem,5.25vw,5.7rem);line-height:.92;letter-spacing:-.065em}.splash-hero-compact .splash-copy h1 em{position:relative;color:#ffd151}.splash-hero-compact .splash-copy h1 em:after{position:absolute;right:0;bottom:-7px;left:0;height:4px;border-radius:4px;background:linear-gradient(90deg,#ffd151,var(--accent));content:"";transform:rotate(-1deg)}
.splash-feature-pills{list-style:none!important}.splash-feature-pills li{display:inline-flex;list-style:none!important;background:rgba(18,22,29,.66);backdrop-filter:blur(8px)}.splash-feature-pills li::marker{font-size:0;content:""}.splash-actions .splash-primary{box-shadow:0 14px 40px rgba(223,255,89,.18);transition:transform .2s,box-shadow .2s}.splash-actions .splash-primary:hover{box-shadow:0 18px 52px rgba(223,255,89,.28);transform:translateY(-2px)}
.splash-proof{display:flex;gap:26px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.splash-proof span{display:grid;color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.splash-proof strong{color:var(--text);font:700 1.35rem/1 "DM Sans",sans-serif;letter-spacing:-.04em}
.splash-product-stage{position:relative;perspective:1200px}.splash-product-stage .splash-hero-shot{position:relative;z-index:2;padding:0;border-color:#424a58;background:#151922;box-shadow:0 45px 110px rgba(0,0,0,.48),0 0 0 1px rgba(223,255,89,.06);transform:rotateY(-2deg) rotateX(1deg);overflow:hidden}.product-window-bar{display:flex;align-items:center;gap:6px;height:36px;padding:0 13px;border-bottom:1px solid #323945;background:#1b2029}.product-window-bar i{width:8px;height:8px;border-radius:50%;background:#ff746c}.product-window-bar i:nth-child(2){background:#ffd151}.product-window-bar i:nth-child(3){background:#79f28f}.product-window-bar span{margin-left:7px;color:#7f899a;font-size:.56rem;font-weight:800;letter-spacing:.08em}.splash-product-stage .splash-hero-shot img{border-radius:0}.splash-product-stage .splash-hero-shot figcaption{display:flex;align-items:center;gap:7px;padding:11px 14px}.live-dot{width:7px;height:7px;border-radius:50%;background:#79f28f;box-shadow:0 0 12px #79f28f;animation:splash-pulse 1.8s infinite}
.floating-feature{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #444d5b;border-radius:12px;background:rgba(24,29,38,.9);box-shadow:0 16px 40px rgba(0,0,0,.35);backdrop-filter:blur(12px);animation:splash-float 4.6s ease-in-out infinite}.floating-feature b{display:grid;place-items:center;min-width:34px;height:30px;padding:0 6px;border-radius:8px;background:rgba(223,255,89,.12);color:var(--accent);font:800 .7rem "DM Sans",sans-serif}.floating-feature span{color:#dce1eb;font-size:.61rem;font-weight:800;white-space:nowrap}.floating-bh{top:10%;right:-26px}.floating-slash{right:-38px;bottom:21%;animation-delay:-1.4s}.floating-walk{bottom:4%;left:-34px;animation-delay:-2.8s}.floating-walk b{color:var(--info);background:rgba(103,209,255,.12)}
@keyframes splash-float{50%{transform:translateY(-8px)}}@keyframes splash-pulse{50%{opacity:.45;transform:scale(.78)}}
.splash-showcase-grid>a,.splash-highlight-grid article,.splash-fretboard-grid figure{box-shadow:0 18px 55px rgba(0,0,0,.16)}.splash-showcase-grid>a{overflow:hidden}.splash-showcase-grid>a>span{display:inline-flex;margin-left:10px;padding:4px 7px;border:1px solid rgba(223,255,89,.28);border-radius:999px}
.splash-closing{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 120%,rgba(223,255,89,.18),transparent 48%),linear-gradient(135deg,rgba(103,209,255,.08),rgba(223,255,89,.07))}.splash-closing>p:not(.kicker){position:relative;max-width:620px;margin:-12px auto 28px;color:var(--muted)}.splash-closing .closing-orbit{position:absolute;top:18px;right:25px;color:rgba(223,255,89,.13);font:800 clamp(1.5rem,4vw,3.8rem) "DM Sans",sans-serif;letter-spacing:.12em;transform:rotate(-4deg)}
@media(max-width:1150px){.splash-hero.splash-hero-compact{grid-template-columns:1fr;min-height:auto}.splash-product-stage{max-width:820px}.floating-bh,.floating-slash{right:-12px}}
@media(max-width:650px){.splash-hero-compact .splash-copy h1{font-size:clamp(2.75rem,14vw,4.3rem)}.splash-proof{gap:17px}.floating-feature{display:none}.splash-product-stage .splash-hero-shot{transform:none}.splash-trial-ribbon{font-size:.58rem}.splash-closing .closing-orbit{display:none}}

/* Public interactive demo. */
.demo-page{min-height:100vh;background:radial-gradient(circle at 70% 25%,rgba(223,255,89,.12),transparent 30%),radial-gradient(circle at 15% 70%,rgba(103,209,255,.08),transparent 28%),#11141b}.demo-shell{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(580px,1.38fr);align-items:center;gap:clamp(40px,6vw,90px);width:min(1280px,calc(100% - 64px));min-height:calc(100vh - 150px);margin:auto;padding:50px 0 70px}.demo-intro h1{margin:10px 0 22px;font:700 clamp(3rem,5vw,5.4rem)/.93 "DM Sans",sans-serif;letter-spacing:-.06em}.demo-intro h1 em{color:#ffd151;font-style:normal}.demo-intro>p:last-child{max-width:500px;color:var(--muted);font-size:.92rem;line-height:1.7}.demo-lab{margin:0;border:1px solid #404855;border-radius:22px;background:linear-gradient(155deg,#202530,#171b23);box-shadow:0 35px 95px rgba(0,0,0,.38);overflow:hidden}.demo-lab>header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.demo-lab>header small{color:var(--accent);font-size:.55rem;font-weight:900;letter-spacing:.15em}.demo-lab h2{margin:3px 0 0;font:700 1.25rem "DM Sans",sans-serif}.demo-lab>header label{display:grid;grid-template-columns:auto 110px 34px;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:.58rem}.demo-lab input[type=range]{margin:0}.demo-lab output{color:var(--text);font-weight:800}.demo-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 18px}.demo-presets button{display:flex;align-items:flex-start;flex-direction:column;min-height:82px;margin:0;padding:11px 12px;border-color:var(--line);background:#151922;color:var(--text);text-align:left}.demo-presets button span{color:var(--accent);font-size:.5rem;font-weight:900}.demo-presets button strong{margin:5px 0 3px;font-size:.72rem}.demo-presets button small{color:var(--muted);font-size:.55rem}.demo-presets button.active{border-color:var(--accent);background:rgba(223,255,89,.07);box-shadow:inset 0 0 0 1px rgba(223,255,89,.18)}.demo-display{display:grid;place-items:center;min-height:285px;margin:0 18px;padding:30px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:radial-gradient(circle at 50% 42%,rgba(223,255,89,.06),transparent 45%),var(--card-bg-low)}.demo-display>p{margin:0 0 28px;color:#ffd151;font:700 clamp(1.35rem,2.6vw,2.3rem) "DM Sans",sans-serif;letter-spacing:.1em;text-align:center}.demo-notes{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;min-height:48px}.demo-notes span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid #46505e;border-radius:12px;background:#1b2029;color:#dce2ed;font-weight:800;transition:.12s}.demo-notes span.active{border-color:var(--accent);background:var(--accent);color:#11160b;box-shadow:0 0 25px rgba(223,255,89,.42);transform:translateY(-3px) scale(1.05)}.demo-play{width:auto;margin:27px 0 0;padding:11px 23px;border-color:var(--accent);background:var(--accent);color:#11160b;font-weight:900}.demo-play.playing{border-color:#ffd151;background:#ffd151}.demo-lab>footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:.65rem}.demo-lab>footer a{color:var(--accent);font-weight:900;text-decoration:none}.demo-lab>footer b{margin-left:8px}.demo-unlocks{width:min(1280px,calc(100% - 64px));margin:0 auto 70px;padding-top:25px;border-top:1px solid var(--line)}.demo-unlocks>div{display:flex;flex-wrap:wrap;gap:8px}.demo-unlocks span{padding:7px 11px;border:1px solid rgba(223,255,89,.2);border-radius:999px;color:var(--muted);font-size:.62rem;font-weight:800}@media(max-width:980px){.demo-shell{grid-template-columns:1fr;min-height:auto}.demo-intro{max-width:720px}.demo-lab{max-width:820px}}@media(max-width:620px){.demo-shell,.demo-unlocks{width:calc(100% - 28px)}.demo-presets{grid-template-columns:1fr}.demo-presets button{min-height:65px}.demo-lab>header{align-items:flex-start;flex-direction:column;gap:14px}.demo-display{min-height:250px;margin:0 10px;padding:22px 10px}.demo-notes{gap:5px}.demo-notes span{min-width:34px;height:37px;padding:0 7px}.demo-lab>footer{align-items:flex-start;flex-direction:column}}
.site-footer{display:flex;align-items:center;justify-content:center;gap:12px;width:min(1280px,calc(100% - 32px));margin:0 auto;padding:18px 0;border-top:1px solid var(--section-line);color:var(--muted);font-size:.62rem}.site-footer span:after{margin-left:12px;color:var(--line);content:"·"}.site-footer a{color:var(--accent);font-weight:800;text-decoration:none}.site-footer a:hover{text-decoration:underline}
@media(max-width:900px){.portal-nav>a.account-nav-link{display:inline-flex}}

/* Public presentation page. */
.splash-page{min-height:100vh;background:radial-gradient(circle at 78% 12%,rgba(223,255,89,.1),transparent 26%),radial-gradient(circle at 15% 52%,rgba(103,209,255,.08),transparent 28%),var(--bg);color:var(--text)}
.splash-header{display:flex;align-items:center;justify-content:space-between;width:min(1320px,calc(100% - 48px));min-height:86px;margin:auto}.splash-nav{display:flex;align-items:center;gap:15px}.splash-nav>a{color:var(--muted);font-size:.72rem;font-weight:700;text-decoration:none}.splash-nav .splash-small-cta{padding:9px 14px;border:1px solid var(--accent);border-radius:10px;color:var(--accent)}
.splash-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:clamp(45px,7vw,110px);width:min(1320px,calc(100% - 64px));min-height:calc(100vh - 86px);margin:auto;padding:60px 0 90px}.splash-copy h1{margin:10px 0 24px;font:700 clamp(3.7rem,7vw,7.2rem)/.93 "DM Sans",sans-serif;letter-spacing:-.065em}.splash-copy h1 em{color:var(--accent);font-style:normal}.splash-copy>p:not(.kicker){max-width:690px;color:var(--muted);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65}.splash-actions{display:flex;align-items:center;gap:24px;margin-top:35px}.splash-actions>a:not(.splash-primary){color:var(--text);font-size:.78rem;font-weight:700}.splash-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 20px;border-radius:12px;background:var(--accent);color:#10140a!important;font-size:.8rem;font-weight:900;text-decoration:none;box-shadow:0 13px 36px rgba(223,255,89,.14)}
.splash-demo{position:relative;padding:42px;border:1px solid #3a414e;border-radius:26px;background:linear-gradient(145deg,rgba(34,39,50,.96),rgba(19,22,29,.96));box-shadow:0 35px 90px rgba(0,0,0,.34);text-align:center}.splash-demo:before{position:absolute;inset:-1px 14% auto;height:1px;background:var(--accent);content:""}.demo-label{color:var(--accent);font-size:.65rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.splash-demo>strong{display:block;margin:28px 0 4px;color:#ffd151;font:700 clamp(2.5rem,5vw,4.8rem)/1 "DM Sans",sans-serif;letter-spacing:.14em}.splash-demo>p{margin:0;color:#7af29c;font-weight:800;letter-spacing:.15em}.demo-chord{display:inline-block;margin:24px 0;padding:7px 14px;border:1px solid #789520;border-radius:999px;color:var(--text);font-weight:800}.demo-frets{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;height:92px;margin:20px 0;border:1px solid #62401e;border-radius:10px;background:repeating-linear-gradient(to bottom,transparent 0 21px,#98724c 22px 23px),#56361f}.demo-frets i{display:grid;place-items:center;width:30px;height:30px;margin:auto;border:1px solid #67707e;border-radius:50%;background:#17202b;color:#fff;font-style:normal;font-weight:800}.demo-frets i:empty{width:8px;height:8px;border:0;background:#9a8066}.demo-frets .active{background:#52d97d}.demo-frets .warm{background:#ffcf4c;color:#18130a}.demo-frets .accent{background:#ea6071}.splash-demo>small{color:var(--muted);font-weight:700;letter-spacing:.08em}
.splash-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:min(1320px,calc(100% - 64px));margin:0 auto;padding:40px 0 120px}.splash-benefits article{margin:0;padding:30px;border:1px solid var(--line);border-radius:18px;background:rgba(27,31,40,.74)}.splash-benefits article>span{color:var(--accent);font-size:.62rem;font-weight:800}.splash-benefits h2{margin:30px 0 10px;font:650 1.45rem "DM Sans",sans-serif}.splash-benefits p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}.splash-closing{width:min(1060px,calc(100% - 48px));margin:0 auto 100px;padding:70px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(103,209,255,.08),rgba(223,255,89,.08));text-align:center}.splash-closing h2{margin:12px auto 30px;font:700 clamp(2rem,4vw,4rem)/1.05 "DM Sans",sans-serif;letter-spacing:-.045em}.splash-closing .splash-primary{width:max-content;margin:auto}
@media(max-width:900px){.splash-hero{grid-template-columns:1fr;min-height:auto}.splash-demo{max-width:680px}.splash-benefits{grid-template-columns:1fr}.splash-copy h1{font-size:clamp(3.1rem,12vw,5.4rem)}}
@media(max-width:620px){.splash-header{width:calc(100% - 28px)}.splash-nav>a:not(.splash-small-cta){display:none}.splash-hero{width:calc(100% - 28px);padding:45px 0 70px}.splash-demo{padding:24px 14px}.splash-actions{align-items:stretch;flex-direction:column}.splash-actions .splash-primary{width:100%}.splash-benefits{width:calc(100% - 28px)}.splash-closing{padding:45px 20px}.demo-frets i{width:26px;height:26px}}

/* Public presentation: compact editorial scale and real product previews. */
.splash-hero.splash-hero-compact{grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);gap:clamp(35px,5vw,76px);min-height:auto;padding:64px 0 82px}.splash-hero-compact .splash-copy h1{display:flex;flex-wrap:wrap;gap:.08em .22em;max-width:690px;margin:10px 0 20px;font-size:clamp(2.6rem,4vw,3.8rem);line-height:1;letter-spacing:-.048em}.splash-hero-compact .splash-copy h1 span,.splash-hero-compact .splash-copy h1 em{white-space:nowrap}.splash-hero-compact .splash-copy>p:not(.kicker){max-width:610px;font-size:clamp(.92rem,1.15vw,1.08rem);line-height:1.65}.splash-hero-shot{min-width:0;margin:0;padding:10px;border:1px solid #3a414e;border-radius:18px;background:var(--surface-2);box-shadow:0 24px 65px rgba(0,0,0,.3);overflow:hidden}.splash-hero-shot img{display:block;width:100%;aspect-ratio:16/9;border-radius:11px;object-fit:cover;object-position:left top}.splash-hero-shot figcaption{padding:11px 5px 3px;color:var(--muted);font-size:.7rem;font-weight:700}
.splash-showcase,.splash-approach{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:50px 0 95px}.splash-showcase>header,.splash-approach>header{max-width:760px;margin-bottom:30px}.splash-showcase h2,.splash-approach h2{margin:8px 0 0;font:700 clamp(1.8rem,3vw,3rem)/1.08 "DM Sans",sans-serif;letter-spacing:-.035em}.splash-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.splash-showcase-grid>a{min-width:0;padding:12px 12px 22px;border:1px solid var(--line);border-radius:17px;background:rgba(27,31,40,.78);color:var(--text);text-decoration:none;transition:transform .18s,border-color .18s}.splash-showcase-grid>a:hover{border-color:var(--accent);transform:translateY(-3px)}.splash-showcase-grid figure{margin:0 0 18px;border-radius:11px;overflow:hidden}.splash-showcase-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left}.splash-showcase-grid>a>span{padding-left:10px;color:var(--accent);font-size:.6rem;font-weight:900}.splash-showcase-grid h3{margin:7px 10px 8px;font:650 1.18rem "DM Sans",sans-serif}.splash-showcase-grid p{margin:0 10px;color:var(--muted);font-size:.76rem;line-height:1.55}
.splash-fretboards{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:20px 0 95px}.splash-fretboards>header{max-width:790px;margin-bottom:30px}.splash-fretboards h2{margin:8px 0 0;font:700 clamp(1.8rem,3vw,3rem)/1.08 "DM Sans",sans-serif;letter-spacing:-.035em}.splash-fretboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.splash-fretboard-grid figure{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:17px;background:rgba(27,31,40,.78);overflow:hidden}.splash-fretboard-grid img{display:block;width:100%;aspect-ratio:16/10;border-radius:10px;object-fit:cover;object-position:center 24%}.splash-fretboard-grid figcaption{display:grid;gap:5px;padding:15px 9px 8px}.splash-fretboard-grid strong{font:650 1rem "DM Sans",sans-serif}.splash-fretboard-grid span{color:var(--muted);font-size:.72rem;line-height:1.45}
.splash-fretboard-grid .harmony-sequence-preview{grid-column:1/-1}.harmony-sequence-preview>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.splash-fretboard-grid .harmony-sequence-preview img{aspect-ratio:16/8.2}.harmony-sequence-preview figcaption{max-width:820px}.harmony-sequence-preview strong{color:var(--accent);font-size:1.12rem}
.splash-approach{padding-top:25px}.approach-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.approach-columns article{margin:0;padding:28px 30px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.approach-columns small{display:block;margin-bottom:20px;font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.approach-columns ul{display:grid;gap:13px;margin:0;padding:0;list-style:none}.approach-columns li{list-style:none;position:relative;padding-left:25px;color:var(--muted);font-size:.84rem;line-height:1.45}.approach-columns li:before{position:absolute;left:0;font-weight:900}.theory-only{opacity:.78}.theory-only small{color:#ff8b70}.theory-only li:before{content:"–";color:#ff8b70}.hear-play{border-color:rgba(223,255,89,.42)!important;background:linear-gradient(135deg,rgba(223,255,89,.09),var(--surface))!important}.hear-play small{color:var(--accent)}.hear-play li:before{content:"✓";color:var(--accent)}
@media(max-width:1150px){.splash-hero.splash-hero-compact{grid-template-columns:1fr}.splash-hero-shot{max-width:820px}.splash-showcase-grid,.splash-fretboard-grid{grid-template-columns:1fr 1fr}.splash-showcase-grid>a:last-child{grid-column:1/-1}.splash-showcase-grid>a:last-child figure{max-height:360px}.splash-fretboard-grid figure:last-child{grid-column:1/-1}}
@media(max-width:650px){.splash-hero.splash-hero-compact{width:calc(100% - 28px);padding:45px 0 65px}.splash-hero-compact .splash-copy h1{font-size:clamp(2.35rem,12vw,3.5rem)}.splash-showcase,.splash-fretboards,.splash-approach{width:calc(100% - 28px);padding-bottom:65px}.splash-showcase-grid,.splash-fretboard-grid,.approach-columns{grid-template-columns:1fr}.harmony-sequence-preview>div{grid-template-columns:1fr}.splash-showcase-grid>a:last-child,.splash-fretboard-grid figure:last-child{grid-column:auto}.approach-columns article{padding:24px 20px}}

.splash-feature-pills{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 0;padding:0;list-style:none}.splash-feature-pills li{padding:6px 9px;border:1px solid rgba(223,255,89,.25);border-radius:999px;background:rgba(223,255,89,.06);color:var(--text);font-size:.64rem;font-weight:700}
.splash-hero-compact .splash-copy .splash-purpose{margin:15px 0 0;padding:11px 13px;border-left:3px solid var(--accent);border-radius:0 9px 9px 0;background:rgba(223,255,89,.055);font-size:.78rem;line-height:1.5}.splash-purpose strong{color:var(--text)}
.access-tier-note{margin:0 0 10px;padding:9px 11px;border:1px solid rgba(223,255,89,.24);border-radius:9px;background:rgba(223,255,89,.055);color:var(--muted);font-size:.65rem}.access-tier-note a{color:var(--accent);font-weight:800}.songs-hero>.access-tier-note{grid-column:1/-1;margin-bottom:0}

/* Compact tune map: no horizontal scrolling; bars wrap only when needed. */
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .songs-shell{grid-template-columns:minmax(360px,36%) minmax(0,64%);grid-template-rows:auto auto minmax(0,1fr)!important}
  .songs-dashboard .songs-hero{height:auto!important;min-height:0!important}
  .songs-dashboard .songs-hero .trainer-selectors{flex-basis:auto!important}
  .songs-dashboard .chart-sections{display:flex;align-content:initial;flex-direction:column;gap:0!important;padding:5px 8px!important;overflow-y:auto;overflow-x:hidden}
  .songs-dashboard .chart-sections>.access-tier-note{flex:0 0 auto;margin:1px 0 5px}
  .songs-dashboard .chart-section{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:stretch;gap:6px;padding:5px 0!important}
  .songs-dashboard .chart-section>header{align-items:center;gap:5px;min-height:0;margin:0!important;padding:0 6px 0 0!important;border-right:1px solid var(--line)!important}
  .songs-dashboard .chart-section>header span{width:20px;height:20px;flex:0 0 20px;font-size:.48rem}
  .songs-dashboard .chart-section h3{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .songs-dashboard .chord-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));align-content:start;border:0!important;gap:3px}
  .songs-dashboard .chord-bar{min-height:29px!important;padding:3px 5px!important;border:1px solid var(--line)!important;border-radius:5px!important}
  .songs-dashboard .chord-bar small{font-size:.38rem;line-height:1}
  .songs-dashboard .chord-bar strong{margin-top:2px;font-size:.62rem;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
.splash-highlights{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:20px 0 95px}.splash-highlights>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:8px 50px;align-items:end;margin-bottom:28px}.splash-highlights>header .kicker{grid-column:1/-1}.splash-highlights h2{margin:0;font:700 clamp(1.8rem,3vw,3rem)/1.08 "DM Sans",sans-serif;letter-spacing:-.035em}.splash-highlights>header>p:last-child{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}.splash-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:14px}.splash-highlight-grid article{display:flex;min-width:0;margin:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel-gradient);flex-direction:column}.splash-highlight-grid article>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(223,255,89,.35);border-radius:9px;color:var(--accent);font:800 .75rem "DM Sans",sans-serif}.splash-highlight-grid h3{margin:20px 0 8px;font:650 1.02rem "DM Sans",sans-serif}.splash-highlight-grid p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.52}
@media(max-width:950px){.splash-highlight-grid{grid-template-columns:1fr 1fr}.splash-highlights>header{grid-template-columns:1fr}}
@media(max-width:650px){.splash-highlights{width:calc(100% - 28px);padding-bottom:65px}.splash-highlight-grid{grid-template-columns:1fr}.splash-highlight-grid article{padding:20px}}

.portal-nav .dashboard-home{padding:8px 12px;border:1px solid var(--line);border-radius:9px;color:var(--text);font-weight:700}.portal-nav .dashboard-home:hover{border-color:var(--accent);color:var(--accent)}
.splash-fretboard-grid .feature-detail img{aspect-ratio:4/3;object-fit:cover;object-position:center top}
/* Materiale: la tonica e una scelta breve e condivide la riga con famiglia e scala. */
.training-dashboard #options .material-settings-grid{grid-template-columns:minmax(72px,.34fr) minmax(0,1.16fr) minmax(0,1fr)!important}
.training-dashboard #options .material-settings-grid .tonic-field{grid-column:auto!important}
.training-dashboard #options .material-settings-grid .tonic-field select{width:100%;max-width:100%}
@media(max-width:520px){.training-dashboard #options .material-settings-grid{grid-template-columns:72px minmax(0,1fr)!important}.training-dashboard #options .material-settings-grid label:last-child{grid-column:1/-1}}

.context-nav{max-width:min(790px,68vw);overflow-x:auto;scrollbar-width:none}.context-nav::-webkit-scrollbar{display:none}
.guitar-tab td.palette-chord-playing span{border-color:#ffd151!important;background:#ffd151!important;color:#11131a!important;box-shadow:0 0 12px rgba(255,209,81,.58)!important}.guitar-tab td.palette-root-playing span{border-color:#79f28f!important;background:#20b85a!important;color:#07130b!important;box-shadow:0 0 14px rgba(66,235,117,.68)!important}.piano-key.palette-chord-playing{background:#ffd151!important;box-shadow:inset 0 0 10px rgba(0,0,0,.22),0 0 12px rgba(255,209,81,.62)!important}.piano-key.palette-root-playing{background:#20b85a!important;box-shadow:inset 0 0 0 3px #79f28f,0 0 15px rgba(66,235,117,.7)!important}
.piano-key{pointer-events:auto;cursor:pointer}.guitar-tab td:has(span:not(:empty)){cursor:pointer}
.mini-mixer{display:grid;grid-template-columns:1fr;gap:7px;width:min(330px,36%)}.mini-mixer label{display:grid;grid-template-columns:48px minmax(150px,1fr) 38px;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:.62rem;text-transform:uppercase}.mini-mixer input[type=range]{width:100%;height:auto;margin:0!important;padding:0;accent-color:var(--accent)}.mini-mixer output{color:var(--text);font:600 .62rem "DM Sans",sans-serif;text-align:right}.mini-mixer input[type=range]:focus{outline:1px solid var(--accent);outline-offset:3px}@media(max-width:720px){.mini-mixer{width:100%}}
@media(min-width:900px){.training-dashboard .phrase-card{padding-top:6px}.shared-practice-transport{margin-top:5px!important;padding-top:6px!important}.shared-practice-transport .control-button{min-height:60px}.training-dashboard .mini-mixer{gap:4px}}
@media(min-width:900px){.training-dashboard .phrase-card{flex:0 0 auto!important}.shared-practice-transport{margin-top:8px!important;padding-top:8px!important}.training-dashboard .training-panel{justify-content:flex-start}}
@media

/* Give the live panel the same titled-section rhythm as the settings panel. */

.training-dashboard .phrase-card>.card-label{color:var(--warm)}


.shared-practice-transport::before{
  grid-column:1/-1;
  margin-bottom:2px;
  color:var(--info);
  content:"Riproduzione";
}


html[lang="en"] .shared-practice-transport::before{content:"Playback"}
/* The pulse section is part of the right-hand flow, not a nested card. */



/* Section headings span the live panel; the instrument itself stays centred. */


.walking-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:4px 0 7px}.walking-preview>span{display:flex;min-width:0;align-items:center;justify-content:center;gap:5px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:rgba(10,13,18,.28);color:var(--text)}.walking-preview small{color:var(--muted);font-size:.52rem;font-weight:800}.walking-preview strong{overflow:hidden;font-size:.65rem;line-height:1;white-space:nowrap;text-overflow:ellipsis}.walking-preview .walking-approach{border-color:rgba(255,141,107,.7);background:rgba(255,141,107,.1)}.walking-preview .walking-approach small{color:var(--warm)}.walking-preview .walking-next-root{border-color:rgba(122,242,156,.75);background:rgba(32,184,90,.12)}.walking-preview .walking-next-root small{color:#7af29c}.walking-preview .walking-current{box-shadow:inset 0 0 0 1px var(--accent),0 0 9px rgba(223,255,89,.2)}
@media(max-width:560px){.walking-preview{gap:3px}.walking-preview>span{flex-direction:column;gap:1px;padding-inline:2px}.walking-preview strong{font-size:.58rem}}

.shared-practice-transport{
  padding-bottom:10px;
  border-bottom:1px solid var(--section-line);
}
.harmony-palette button[data-sequence-order="8"]{--sequence-color:#f0a868}
.walking-preview .walking-root{border-color:rgba(121,242,143,.9);background:rgba(32,184,90,.18)}.walking-preview .walking-root small,.walking-preview .walking-root strong{color:#79f28f}.walking-preview .walking-chord-tone{border-color:rgba(255,216,77,.75);background:rgba(255,216,77,.1)}.walking-preview .walking-chord-tone small,.walking-preview .walking-chord-tone strong{color:#ffd84d}
@media(min-width:900px) and (min-height:720px){.songs-dashboard .songs-shell{grid-template-rows:470px auto minmax(0,1fr)!important}.songs-dashboard .songs-hero{height:470px!important;padding-bottom:10px!important}.songs-dashboard .songs-hero>div:first-child{flex-basis:22px!important}.songs-dashboard .songs-hero h1{font-size:1.08rem!important}.songs-dashboard .songs-filter,.songs-dashboard .trainer-selectors{row-gap:3px!important}.songs-dashboard .standard-catalog-field{font-size:.55rem!important;line-height:1!important}.songs-dashboard .standard-catalog-field .standard-catalog-selection{height:30px;margin-top:2px;padding:2px 3px 2px 7px}.songs-dashboard .standard-catalog-selection>strong{font-size:.64rem}.songs-dashboard .standard-catalog-selection>#openSongCatalog{height:24px;padding:2px 8px;font-size:.55rem}.songs-dashboard .songs-hero .trainer-selectors{flex-basis:auto!important}}
@media(min-width:900px) and (min-height:720px){.training-dashboard #options :is(select,input:not([type="hidden"])),.songs-dashboard .songs-hero :is(select,input:not([type="hidden"])){height:30px!important;font-size:.66rem!important}}
@media(min-width:900px) and (min-height:720px){.training-dashboard #options :is(select,input:not([type="hidden"])),.songs-dashboard .songs-hero :is(select,input:not([type="hidden"])){font-size:14px!important}}

.songs-dashboard .material-title::before,.songs-dashboard .performance-title::before,.songs-dashboard .instrument-title::before,.songs-dashboard .tempo-title::before{display:none;content:none}
.songs-dashboard .song-chorus-title::before{display:none;content:none}
.songs-dashboard .song-chorus-title strong{font-size:.74rem}.songs-dashboard .song-chorus-title small{color:var(--muted);font-size:.55rem;font-weight:500}.songs-dashboard .song-chorus-title em{margin-left:auto;color:var(--accent);font-size:.56rem;font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.songs-dashboard .trainer-selectors>.performance-title::before,.songs-dashboard .trainer-selectors>.instrument-title::before,.songs-dashboard .trainer-selectors>.tempo-title::before{display:none!important;content:none!important}

/* Brani uses the same titled vertical flow as Allenamento. */

.songs-dashboard .song-run-controls{margin-top:4px!important}
.songs-dashboard .song-run-controls::before{grid-column:1/-1;margin-bottom:1px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.09);color:var(--info);content:"Riproduzione"}


html[lang="en"] .songs-dashboard .song-run-controls::before{content:"Playback"}
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .chord-trainer{justify-content:flex-start!important}
  .songs-dashboard .song-run-controls{margin-top:0!important}
}

/* Full-width instruments without distorting their physical proportions. */






@media(min-width:900px) and (min-height:720px){
  body.training-dashboard,html.jazz-page body.songs-dashboard{height:100vh!important;overflow:hidden!important}
  .training-dashboard #options{grid-template-rows:auto auto auto auto auto!important}
  .training-dashboard .training-panel{height:calc(100vh - 102px)!important;max-height:calc(100vh - 102px)!important;overflow:hidden!important}
  .training-dashboard .phrase-card{min-height:0!important;padding-top:5px!important}
  .shared-practice-transport{margin-top:5px!important;padding-top:5px!important;padding-bottom:5px!important}
  .shared-practice-transport .control-button{min-height:48px!important;padding-block:5px!important}
  .training-dashboard .mini-mixer,.songs-dashboard .mini-mixer{display:none!important}
  .songs-dashboard .songs-shell{height:calc(100vh - 104px)!important;overflow:hidden!important}
  .songs-dashboard .chord-trainer{min-height:0!important;overflow:hidden!important}
}
@media
@media(min-width:900px) and (min-height:720px){.songs-dashboard .songs-shell{grid-template-rows:526px auto minmax(0,1fr)!important}.songs-dashboard .songs-hero{height:526px!important}}
@media(min-width:900px) and (min-height:720px){.songs-dashboard .songs-hero{display:flex!important;align-items:stretch!important;flex-direction:column!important;justify-content:flex-start!important}.songs-dashboard .songs-hero>div:first-child{flex:0 0 24px!important}.songs-dashboard .songs-filter,.songs-dashboard .trainer-selectors{flex:0 0 auto!important}}
@media
/* Stable clearance for highlighted notes on the two outer strings. */
.guitar-tab .tab-scroll.fretboard{box-sizing:content-box;padding-top:9px!important;padding-bottom:9px!important;overflow-y:hidden}
/* One shared metronome control row, embedded in the left Tempo e pulsazione section. */
.embedded-metronome{display:flex!important;grid-column:1/-1!important;align-items:center!important;justify-content:flex-end!important;width:100%;min-height:0!important;margin:5px 0 0!important;padding:5px 0 0!important;border:0!important;border-top:1px solid var(--section-line)!important;border-radius:0!important;background:transparent!important}
.embedded-metronome::before,.embedded-metronome>div:first-child{display:none!important}
.embedded-metronome .tempo-controls{display:flex;width:auto;gap:5px}
.embedded-metronome .tempo-controls button{flex:0 0 auto;width:auto!important;min-width:38px!important;height:30px!important;margin:0!important;padding:3px 9px!important;border-radius:8px!important;font-size:.68rem!important}
.embedded-metronome .tempo-controls .metro-play,.embedded-metronome .tempo-controls #jazzMetronome{min-width:76px!important}

/* Allenamento reuses the live transport in the left pulse section. */
.training-dashboard .settings-practice-transport{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;width:100%;margin:5px 0 0!important;padding:6px 0 0!important;border-top:1px solid var(--section-line)!important;border-bottom:0!important}
.training-dashboard .settings-practice-transport::before{display:none!important}
.songs-dashboard .song-run-controls button,.training-dashboard .settings-practice-transport .control-button{display:flex!important;grid-column:auto!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;gap:4px!important;min-width:0!important;min-height:32px!important;margin:0!important;padding:7px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--surface-2)!important;color:var(--text)!important;font-size:.62rem!important;text-align:center!important}
.training-dashboard .settings-practice-transport .control-button.featured,.songs-dashboard .song-run-controls button:last-child{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--bg)!important;font-weight:700!important}
.training-dashboard .settings-practice-transport .control-button span{margin:0!important;color:inherit!important;font-size:.68rem!important;line-height:1!important}
.training-dashboard .settings-practice-transport .control-button small{display:none!important}
.training-dashboard .settings-practice-transport .control-button b{min-width:0;overflow:hidden;color:inherit!important;font-size:inherit!important;line-height:1!important;letter-spacing:0;white-space:nowrap;text-align:center}
@media(max-width:480px){.training-dashboard .settings-practice-transport{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.training-dashboard .practice-settings-card .settings-practice-transport{margin-top:0!important;padding-top:4px!important;border-top:0!important}
@media(min-width:900px) and (min-height:720px){.training-dashboard #options{grid-template-rows:auto auto auto auto auto auto!important}}
.training-track-note{display:flex;align-items:baseline;gap:8px;margin:-1px 0 8px;padding:0 0 7px;border-bottom:1px solid var(--line)}.training-track-note strong{color:var(--accent);font:700 .72rem "DM Sans",sans-serif}.training-track-note span{color:var(--muted);font-size:.58rem}
.entry-section{margin-top:28px}.entry-section>header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}.entry-section>header>span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border:1px solid rgba(223,255,89,.5);border-radius:50%;color:var(--accent);font-size:.55rem}.entry-section>header h2{margin:0;font:700 1rem "DM Sans",sans-serif}.entry-section>header p{margin:2px 0 0;color:var(--muted);font-size:.68rem}.entry-section .entry-grid{margin-top:0}.training-track-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-page .entry-grid.entry-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.training-track-refinement:before{background:#c99cff}.training-track-refinement .entry-icon,.training-track-refinement .entry-open{color:#c99cff}.training-track-professional:before{background:var(--warm)}.training-track-professional .entry-icon,.training-track-professional .entry-open{color:var(--warm)}
@media(max-width:800px){.training-track-grid,.portal-page .entry-grid.entry-tools-grid{grid-template-columns:1fr!important}}
.splash-training-plans{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:30px 0 70px}.splash-training-plans>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:8px 50px;align-items:end;margin-bottom:22px}.splash-training-plans>header .kicker{grid-column:1/-1}.splash-training-plans>header h2{margin:0;font:700 clamp(1.8rem,3vw,3rem)/1.08 "DM Sans",sans-serif;letter-spacing:-.035em}.splash-training-plans>header>p:last-child{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}.splash-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.splash-plan-grid>a{position:relative;min-height:238px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel-gradient);color:var(--text);text-decoration:none;transition:.18s}.splash-plan-grid>a:hover{transform:translateY(-3px);border-color:var(--accent)}.splash-plan-grid>a.guided-plan{border-color:rgba(223,255,89,.52);background:linear-gradient(145deg,rgba(57,68,38,.72),rgba(20,23,30,.92))}.splash-plan-grid span{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(223,255,89,.45);border-radius:50%;color:var(--accent);font-size:.55rem}.splash-plan-grid small{position:absolute;top:27px;right:22px;color:var(--muted);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}.splash-plan-grid h3{margin:28px 0 7px;font:700 1.18rem "DM Sans",sans-serif}.splash-plan-grid p{max-width:96%;margin:0;color:var(--muted);font-size:.71rem;line-height:1.48}.splash-plan-grid b{position:absolute;right:22px;bottom:18px;left:22px;color:var(--accent);font-size:.59rem;text-transform:uppercase}.splash-plan-grid>a:nth-child(3) span,.splash-plan-grid>a:nth-child(3) b{color:#c99cff}.splash-plan-grid>a:nth-child(4) span,.splash-plan-grid>a:nth-child(4) b{color:var(--warm)}
@media(max-width:800px){.splash-training-plans{width:calc(100% - 28px)}.splash-training-plans>header{grid-template-columns:1fr}.splash-plan-grid{grid-template-columns:1fr}}

.splash-founder{display:grid;grid-template-columns:110px minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(24px,4vw,58px);align-items:center;width:min(1180px,calc(100% - 64px));margin:25px auto 105px;padding:clamp(28px,4vw,54px);border:1px solid rgba(223,255,89,.22);border-radius:24px;background:radial-gradient(circle at 10% 20%,rgba(223,255,89,.12),transparent 26%),linear-gradient(135deg,rgba(34,39,50,.94),rgba(17,20,27,.96));box-shadow:0 28px 80px rgba(0,0,0,.28)}.splash-founder-mark{display:grid;width:104px;height:104px;place-items:center;border:1px solid rgba(223,255,89,.48);border-radius:28px;transform:rotate(-4deg);background:rgba(223,255,89,.06);color:var(--accent);font:800 1.8rem "DM Sans",sans-serif}.splash-founder-mark span{transform:rotate(4deg)}.splash-founder-copy h2{max-width:720px;margin:6px 0 19px;font:700 clamp(1.75rem,3vw,2.8rem)/1.04 "DM Sans",sans-serif;letter-spacing:-.04em}.splash-founder-copy>p:not(.kicker){max-width:760px;margin:0 0 11px;color:var(--muted);font-size:.79rem;line-height:1.62}.splash-founder-copy footer{display:flex;flex-direction:column;margin-top:21px}.splash-founder-copy footer strong{color:var(--text);font:700 .88rem "DM Sans",sans-serif}.splash-founder-copy footer span{color:var(--accent);font-size:.62rem}.splash-founder blockquote{margin:0;padding:4px 0 4px 26px;border-left:1px solid rgba(223,255,89,.35);color:var(--text);font:600 clamp(1rem,1.7vw,1.3rem)/1.45 "DM Sans",sans-serif}.splash-founder blockquote b{color:var(--accent);font-size:1.25em}
@media(max-width:900px){.splash-founder{grid-template-columns:76px 1fr}.splash-founder-mark{width:72px;height:72px;border-radius:20px;font-size:1.2rem}.splash-founder blockquote{grid-column:2}}
@media(max-width:620px){.splash-founder{grid-template-columns:1fr;width:calc(100% - 28px);margin-bottom:70px}.splash-founder-mark{width:58px;height:58px}.splash-founder blockquote{grid-column:auto;padding-left:18px}}

/* The public page uses the same semantic surfaces in both themes. */
html[data-theme="light"] .splash-page{background:radial-gradient(circle at 78% 12%,rgba(88,121,0,.11),transparent 27%),radial-gradient(circle at 14% 38%,rgba(34,139,184,.08),transparent 29%),linear-gradient(180deg,#f7fafc,#eef3f6 52%,#f7fafc)}
html[data-theme="light"] .splash-page:before{background-image:linear-gradient(rgba(23,32,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,32,42,.035) 1px,transparent 1px)}
html[data-theme="light"] .splash-trial-ribbon{border-color:rgba(88,121,0,.32);background:rgba(88,121,0,.07);color:#3d5208}
html[data-theme="light"] .splash-feature-pills li{border-color:rgba(88,121,0,.28);background:rgba(255,255,255,.78);box-shadow:0 5px 18px rgba(31,45,58,.06)}
html[data-theme="light"] .splash-proof{border-color:rgba(23,32,42,.1)}
html[data-theme="light"] .splash-plan-grid>a{border-color:#cbd5de;background:linear-gradient(145deg,#fff,#edf2f6);box-shadow:0 14px 38px rgba(31,45,58,.09)}
html[data-theme="light"] .splash-plan-grid>a.guided-plan{border-color:rgba(88,121,0,.5);background:linear-gradient(145deg,#f6fbe9,#e7efd5)}
html[data-theme="light"] .splash-plan-grid>a:hover{border-color:var(--accent);box-shadow:0 18px 46px rgba(31,45,58,.14)}
html[data-theme="light"] .splash-showcase-grid>a,html[data-theme="light"] .splash-fretboard-grid figure,html[data-theme="light"] .splash-highlight-grid article{border-color:#cbd5de;background:linear-gradient(145deg,#fff,#edf2f6);box-shadow:0 16px 42px rgba(31,45,58,.1)}
html[data-theme="light"] .splash-founder{border-color:rgba(88,121,0,.28);background:radial-gradient(circle at 10% 20%,rgba(88,121,0,.1),transparent 28%),linear-gradient(135deg,#fff,#e8eef2);box-shadow:0 24px 65px rgba(31,45,58,.13)}
html[data-theme="light"] .floating-feature{border-color:#c6d0d9;background:rgba(255,255,255,.92);box-shadow:0 14px 35px rgba(31,45,58,.16)}
html[data-theme="light"] .floating-feature span{color:var(--text)}
html[data-theme="light"] .splash-closing{border-color:#cbd5de;background:radial-gradient(circle at 50% 120%,rgba(88,121,0,.15),transparent 48%),linear-gradient(135deg,rgba(34,139,184,.07),rgba(88,121,0,.08));box-shadow:0 18px 55px rgba(31,45,58,.09)}

/* Learning and subscription journey: Free -> Adv -> Pro. */
.splash-tier-journey{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:54px 0 80px}.splash-tier-journey>header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:8px 55px;align-items:end;margin-bottom:28px}.splash-tier-journey>header .kicker{grid-column:1/-1}.splash-tier-journey>header h2{margin:0;font:700 clamp(2rem,3.4vw,3.45rem)/1.02 "DM Sans",sans-serif;letter-spacing:-.045em}.splash-tier-journey>header>p:last-child{margin:0;color:var(--muted);font-size:.84rem;line-height:1.65}.splash-tier-track{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);align-items:stretch}.splash-tier-track>i{display:grid;place-items:center;color:var(--muted);font-style:normal;font-size:1.2rem}.splash-tier-track article{display:flex;min-height:390px;flex-direction:column;margin:0;padding:26px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(155deg,rgba(34,39,50,.94),rgba(17,20,27,.96));box-shadow:0 20px 55px rgba(0,0,0,.2)}.splash-tier-track .tier-adv{border-color:rgba(45,151,82,.72);background:linear-gradient(155deg,rgba(28,85,49,.42),rgba(17,25,23,.98))}.splash-tier-track .tier-pro{border-color:rgba(45,126,214,.78);background:linear-gradient(155deg,rgba(31,72,124,.5),rgba(17,21,30,.98))}.tier-heading{display:flex;align-items:center;justify-content:space-between}.tier-heading span{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:.58rem}.tier-heading small{padding:5px 9px;border-radius:999px;background:#3a414d;color:#fff;font-size:.55rem;font-weight:900;letter-spacing:.1em}.tier-adv .tier-heading small{background:#24834a}.tier-pro .tier-heading small{background:#2674c7}.splash-tier-track .tier-role{margin:30px 0 5px;color:var(--muted);font-size:.65rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.splash-tier-track h3{margin:0 0 18px;font:700 1.42rem/1.16 "DM Sans",sans-serif}.splash-tier-track ul{display:grid;gap:10px;margin:0 0 24px;padding:0;list-style:none}.splash-tier-track li{list-style:none;position:relative;padding-left:19px;color:var(--muted);font-size:.73rem;line-height:1.48}.splash-tier-track li:before{position:absolute;left:0;color:var(--accent);content:"✓"}.splash-tier-track article>strong{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);color:var(--text);font-size:.68rem}.tier-adv>strong{color:#83eaa8!important}.tier-pro>strong{color:#8fc8ff!important}.splash-tier-journey>footer{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:18px;padding:18px 22px;border:1px solid rgba(45,151,82,.62);border-radius:17px;background:rgba(30,103,55,.16)}.splash-tier-journey>footer>span{color:#83eaa8;font:800 2.5rem/1 "DM Sans",sans-serif}.splash-tier-journey>footer p{margin:0;color:var(--muted);font-size:.76rem}.splash-tier-journey>footer b{color:var(--text)}.splash-tier-journey>footer a{padding:10px 14px;border-radius:10px;background:#24834a;color:#fff;font-size:.68rem;font-weight:900;text-decoration:none;white-space:nowrap}
html[data-theme="light"] .splash-tier-track article{border-color:#cbd5de;background:linear-gradient(145deg,#fff,#edf2f6);box-shadow:0 16px 42px rgba(31,45,58,.1)}html[data-theme="light"] .splash-tier-track .tier-adv{border-color:#24834a;background:linear-gradient(145deg,#f5fff8,#e3f3e8)}html[data-theme="light"] .splash-tier-track .tier-pro{border-color:#2674c7;background:linear-gradient(145deg,#f4f9ff,#e2edf9)}html[data-theme="light"] .splash-tier-journey>footer{background:#e6f5eb}
@media(max-width:900px){.splash-tier-journey>header{grid-template-columns:1fr}.splash-tier-track{grid-template-columns:1fr}.splash-tier-track>i{height:34px;transform:rotate(90deg)}.splash-tier-track article{min-height:0}.splash-tier-journey>footer{grid-template-columns:60px 1fr}.splash-tier-journey>footer a{grid-column:1/-1;text-align:center}}@media(max-width:650px){.splash-tier-journey{width:calc(100% - 28px);padding:30px 0 65px}.splash-tier-journey>footer{grid-template-columns:1fr}.splash-tier-journey>footer>span{font-size:2rem}.splash-tier-journey>footer a{grid-column:auto}.splash-hero-compact .splash-copy h1 span,.splash-hero-compact .splash-copy h1 em{white-space:normal}.splash-hero-compact .splash-copy,.splash-product-stage{min-width:0}.splash-proof{flex-wrap:wrap}.splash-proof span{min-width:82px}.splash-product-stage .splash-hero-shot{max-width:100%}}

.music-notation{display:grid;gap:5px;margin-top:12px;padding-top:10px}.music-notation-scroll{width:100%;overflow-x:auto;overflow-y:hidden}.music-notation svg{display:block;width:100%;min-width:620px;max-height:180px}.notation-line,.notation-ledger,.notation-stem{stroke:var(--muted);stroke-width:1}.notation-ledger{stroke-width:1.2}.notation-note ellipse{fill:var(--text);stroke:var(--text)}.notation-note.notation-hand-left ellipse{fill:#ff805f;stroke:#ff805f}.notation-note.notation-hand-right ellipse{fill:#75cfff;stroke:#75cfff}.notation-note.is-playing ellipse{fill:var(--accent);stroke:var(--accent);filter:drop-shadow(0 0 5px var(--accent))}.notation-clef{fill:var(--text);font-family:"Noto Music","Bravura",serif;font-size:42px}.notation-clef-bass{font-size:35px}.notation-accidental{fill:var(--text);font-family:"Noto Music","Bravura",serif;font-size:16px}.notation-finger{fill:var(--text);font:800 9px "DM Sans",sans-serif}.notation-hand-left .notation-finger{fill:#ff805f}.notation-hand-right .notation-finger{fill:#75cfff}.notation-chord-label{fill:var(--accent);font:800 10px "DM Sans",sans-serif;letter-spacing:.02em}

/* One themed notation surface for every instrument and workspace. */
.music-notation{--notation-left:color-mix(in srgb,var(--warm) 84%,var(--text));--notation-right:color-mix(in srgb,#75cfff 78%,var(--text))}
.music-notation>.card-label{font-size:.95rem}
.music-notation-scroll{width:min(100%,var(--notation-window,100%));height:var(--notation-height,108px);margin-inline:auto;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 82%,transparent);scrollbar-width:none;scroll-behavior:smooth}
.music-notation-scroll.is-scrollable{overflow-x:auto;overflow-y:hidden}.music-notation-scroll>.notation-sheet{width:100%;min-width:0}.music-notation-scroll.is-scrollable>.notation-sheet{width:var(--notation-content-width);min-width:var(--notation-content-width)}
.music-notation-scroll::-webkit-scrollbar{display:none}
.music-notation-scroll>.notation-clef-overlay{position:sticky;z-index:3;left:0;display:block;width:52px;min-width:52px;height:var(--notation-height,108px);margin-bottom:calc(var(--notation-height,108px) * -1);background:linear-gradient(90deg,var(--surface-2) 78%,color-mix(in srgb,var(--surface-2) 92%,transparent) 88%,transparent);pointer-events:none}
.music-notation .notation-barline{stroke:color-mix(in srgb,var(--accent) 55%,var(--muted));stroke-width:1.5}
.music-notation .notation-beat-guide{stroke:color-mix(in srgb,var(--muted) 30%,transparent);stroke-width:.7;stroke-dasharray:2 4}.music-notation .notation-time-signature{fill:var(--text);font:700 20px "Noto Music","Bravura",serif}
.music-notation .notation-flag{fill:none;stroke:var(--text);stroke-width:1.4}.music-notation .notation-note.is-playing .notation-flag{stroke:var(--accent)}.music-notation .notation-hollow-head{fill:var(--surface-2)!important;stroke-width:1.5}
.music-notation .notation-rest{fill:var(--muted);font:24px "Noto Music","Bravura",serif}.music-notation .notation-rest.is-playing{fill:var(--accent)}
.music-notation .notation-clef-octave{fill:var(--muted);font:800 9px "DM Sans",sans-serif}
.music-notation svg{width:auto;max-width:none;max-height:none;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 74%,transparent),color-mix(in srgb,var(--surface-2) 88%,transparent))}
.music-notation .notation-line,.music-notation .notation-ledger,.music-notation .notation-stem{stroke:color-mix(in srgb,var(--text) 55%,var(--surface))}
.music-notation .notation-hand-left ellipse{fill:var(--notation-left);stroke:var(--notation-left)}
.music-notation .notation-hand-right ellipse{fill:var(--notation-right);stroke:var(--notation-right)}
.music-notation .notation-hand-left .notation-finger{fill:var(--notation-left)}
.music-notation .notation-hand-right .notation-finger{fill:var(--notation-right)}
.music-notation .notation-note.is-playing ellipse{fill:var(--accent);stroke:var(--accent);filter:drop-shadow(0 0 6px var(--accent))}
.music-notation .notation-note.is-playing .notation-finger{fill:var(--accent)}

/* Walking controls share the chord-button interaction and remain theme-native. */
.walking-preview>button{display:flex;min-width:0;min-height:0;align-items:center;justify-content:center;gap:5px;margin:0;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text);box-shadow:none}
.walking-preview>button:hover,.walking-preview>button:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-2))}
@media(max-width:560px){.walking-preview>button{flex-direction:column;gap:1px;padding-inline:2px}}

/* Guided courses configure the shared training engine; only the key remains selectable. */
.guided-course-grid{grid-template-columns:minmax(0,1fr)!important}.guided-course-entry{min-height:170px!important}.guided-course-entry:before{background:linear-gradient(90deg,var(--accent),#75cfff)!important}.guided-course-entry .entry-icon,.guided-course-entry .entry-open{color:var(--accent)}
.guided-course-page #options.guided-course-panel{display:flex;grid-column:1;grid-row:2;min-height:0;flex-direction:column;gap:8px;overflow-y:auto}.guided-course-page #options.guided-course-panel>.settings-card{display:block;width:100%;margin:0;padding:11px 14px}.course-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.course-progress strong{color:var(--accent);font-size:.75rem}.course-progress>div{height:5px;border-radius:99px;background:var(--surface-2);overflow:hidden}.course-progress i{display:block;width:var(--course-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#75cfff);transition:width .2s}.course-progress small{color:var(--muted);font-size:.55rem}.guided-course-panel .course-tonic{display:grid!important;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:10px;height:auto!important;margin:0!important}.guided-course-panel .course-tonic select{width:100%;height:38px!important;margin:0!important}.course-lesson-copy{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:2px 0 9px}.course-lesson-copy>span{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--accent);border-radius:12px;color:var(--accent);font-weight:800}.course-lesson-copy h3{margin:0 0 3px;font-size:.78rem}.course-lesson-copy p{margin:0;color:var(--text);font-size:.64rem}.course-lesson-copy small{display:block;margin-top:3px;color:var(--muted);font-size:.56rem;line-height:1.35}.course-syllabus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}.course-syllabus li{margin:0}.course-syllabus a{display:grid;grid-template-columns:24px minmax(0,1fr) 14px;align-items:center;gap:5px;min-height:31px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:.55rem;text-decoration:none}.course-syllabus a>span{color:var(--accent);font-size:.48rem}.course-syllabus a>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-syllabus a>i{color:transparent;font-style:normal}.course-syllabus .current a{border-color:var(--accent);background:rgba(223,255,89,.08);color:var(--text)}.course-syllabus .completed a>i{color:#79f28f}.guided-course-panel .pulse-settings-card{flex:0 0 auto}.guided-course-panel .pulse-settings-card .embedded-metronome{margin:0!important;padding:4px 0 0!important;border:0!important;background:transparent!important}.guided-course-panel .pulse-settings-card .embedded-metronome>div:first-child{display:none}.course-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px}.course-navigation a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:.61rem;font-weight:800;text-decoration:none}.course-navigation .course-complete{margin-left:auto;border-color:var(--accent);background:var(--accent);color:var(--bg)}.guided-course-page .practice-settings-card{margin:0!important;padding:9px 12px!important}.guided-course-page .practice-settings-card .guided-course-page .settings-practice-transport{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important;padding:0!important;border:0!important}.guided-course-page .settings-practice-transport .control-button{min-height:38px!important;padding:5px 7px!important}
@media(max-width:720px){.guided-course-page #options.guided-course-panel{overflow:visible}.course-syllabus{grid-template-columns:1fr}.guided-course-page .settings-practice-transport{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Section containers already provide separation; headings stay clean. */
.settings-card>
.trainer-selectors{align-content:start!important;grid-auto-rows:max-content}
.instrument-summary{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px;width:100%;height:34px;min-height:34px;margin:0 0 5px!important;overflow:hidden;text-align:left!important}
.instrument-identity{display:flex;min-width:0;flex-direction:column;gap:1px}
.shared-session-header{display:flex;box-sizing:border-box;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:18px;padding:0 2px 8px;border-bottom:1px solid var(--section-line)}
.shared-session-number{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:.54rem;font-weight:750}
.shared-session-identity{min-width:0;flex:1 1 auto;text-align:left}
.shared-session-header h1{margin:0;padding:0;font:700 clamp(.95rem,1.25vw,1.4rem)/1.05 "DM Sans",sans-serif;letter-spacing:-.035em;white-space:normal;overflow-wrap:anywhere}
.shared-session-identity p{margin:2px 0 0;color:var(--muted);font-size:.62rem;line-height:1.1}
.shared-session-context{max-width:38%;margin:0;color:var(--accent);font-size:.61rem;font-weight:700;letter-spacing:.13em;line-height:1.2;text-align:right;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
.chart-sections>.shared-session-header{grid-column:1/-1;flex:0 0 auto;margin-bottom:4px}
.song-sidebar{overflow:hidden;border:1px solid var(--line);border-top-color:rgba(223,255,89,.55);border-radius:16px;background:var(--panel-gradient)}
.song-sidebar>.songs-hero,.song-sidebar>.chart-sections{border-right:0;border-left:0;border-radius:0;background:transparent}
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .songs-shell{grid-template-rows:minmax(0,1fr)!important}
  .songs-dashboard .song-sidebar{display:flex;grid-column:1;grid-row:1;min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-top-color:rgba(223,255,89,.55);border-radius:16px;background:var(--panel-gradient)}
  .songs-dashboard .song-sidebar>.songs-hero{position:static;flex:0 0 auto;width:100%;height:auto!important;margin:0;border:0;border-radius:0;background:transparent}
  .songs-dashboard .song-sidebar>.chart-sections{position:static;display:flex;flex:1 1 auto;width:100%;min-height:0;margin:0!important;border:0;border-top:1px solid var(--section-line);border-radius:0;background:transparent}
  .songs-dashboard .song-chorus-sections{min-height:0;flex:1 1 auto;overflow-y:auto}
  .songs-dashboard .song-sidebar .chart-section{padding:3px 0!important}
  .songs-dashboard .song-sidebar .chord-bar{min-height:29px!important;padding:1px 4px!important}
  .songs-dashboard .song-sidebar .song-run-controls{position:static;flex:0 0 auto;padding:4px 0 0;background:var(--panel-gradient)}
  .songs-dashboard .chord-trainer{grid-column:2;grid-row:1;height:100%}
}
@media(max-width:720px){.shared-session-header{align-items:flex-start;flex-direction:column;gap:4px}.shared-session-header h1,.shared-session-context{white-space:normal}.shared-session-context{text-align:left}}
.instrument-identity strong{overflow:hidden;color:var(--text)!important;font:700 .88rem/1.05 "DM Sans",sans-serif!important;white-space:nowrap;text-overflow:ellipsis}
.instrument-identity small{overflow:hidden;color:var(--muted);font-size:.58rem;font-weight:650;line-height:1.15;white-space:nowrap;text-overflow:ellipsis}
.instrument-location{flex:0 1 auto;color:var(--accent)!important;font-size:.62rem!important;font-weight:750;line-height:1.15;text-align:right;white-space:nowrap}
.shared-phrase .phrase-section-title{display:block!important;width:100%;padding:0 0 2px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;color:var(--warm)!important;font:600 .76rem/1.2 "DM Sans",sans-serif!important;text-align:left!important;text-transform:none!important}
.shared-phrase-component{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
.shared-phrase .phrase-details{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));width:min(100%,860px);min-width:0;gap:0!important;margin-inline:auto!important;padding:7px 0 10px!important;text-align:left!important}
.shared-phrase .phrase-details>*{max-width:100%;margin:0!important}
.shared-phrase .phrase-study{grid-column:1/-1;height:18px;padding:0 0 4px;overflow:hidden;text-align:center!important}
.shared-phrase .phrase-cell{display:grid;grid-column:span 2;grid-template-rows:17px minmax(0,4.25em);min-width:0;height:92px;align-content:start;justify-items:stretch;gap:6px;overflow:hidden;padding:10px 12px;border-right:1px solid color-mix(in srgb,var(--line) 48%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 48%,transparent);background:transparent;text-align:left!important}
.shared-phrase .phrase-cell:nth-of-type(2),.shared-phrase .phrase-cell-4{border-left:1px solid color-mix(in srgb,var(--line) 48%,transparent)}
.shared-phrase .phrase-cell-1{border-top:1px solid color-mix(in srgb,var(--line) 48%,transparent)}
.shared-phrase .phrase-cell-2{border-top:1px solid color-mix(in srgb,var(--line) 48%,transparent)}
.shared-phrase .phrase-cell-3{border-top:1px solid color-mix(in srgb,var(--line) 48%,transparent)}
.shared-phrase .phrase-cell:not(:has(.phrase-detail-line:not(:empty))){display:none}
.shared-phrase .phrase-cell-heading{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:6px}
.shared-phrase .phrase-cell-title{color:var(--muted);font:700 .44rem/1 "DM Sans",sans-serif;letter-spacing:.09em;text-transform:uppercase}
.shared-phrase .phrase-sing-button{width:auto;min-width:0;height:20px;margin:0;padding:1px 6px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:99px;background:transparent;color:var(--accent);font:700 .46rem/1 "DM Sans",sans-serif}.shared-phrase .phrase-sing-button:hover,.shared-phrase .phrase-sing-button.is-playing{background:color-mix(in srgb,var(--accent) 15%,transparent)}
.shared-phrase .phrase-cell-4,.shared-phrase .phrase-cell-5{grid-column:span 3}
.shared-phrase .phrase-details:not(:has(.phrase-cell-3 .phrase-detail-line:not(:empty))) .phrase-cell-1,.shared-phrase .phrase-details:not(:has(.phrase-cell-3 .phrase-detail-line:not(:empty))) .phrase-cell-2{grid-column:span 3}
.shared-phrase .phrase-cell :is(.phrase-detail-line,.phrase-detail-line *){text-align:left!important}
.shared-phrase .phrase-scale{display:grid!important;grid-template-rows:auto auto;align-content:start;gap:2px}
.shared-phrase .phrase-scale-name,.shared-phrase .phrase-scale-notes{display:block;min-width:0}
.shared-phrase #charmony .harmony-equivalent{display:block;margin-top:2px;white-space:nowrap}
.shared-phrase .phrase-detail-line{max-height:2.8em;overflow:hidden}
.shared-phrase .phrase-detail-line:empty{display:none!important}
.shared-phrase .phrase-detail-line{min-width:0;overflow-wrap:anywhere}

/* Native dropdown rows must keep the same compact typography as their
   shared selector, including grouped choices such as chord voicings. */
:is(.training-dashboard,.songs-dashboard,.chords-page) select :is(option,optgroup){font:inherit!important}


/* The two functions instantiate the same phrase and instrument components. */
.shared-phrase .phrase-detail-line{font-family:"DM Sans",sans-serif!important;font-style:normal!important;text-align:center!important}
.shared-phrase .phrase-detail-1{color:var(--accent)!important;font:800 .61rem/1.1 "DM Sans",sans-serif!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.shared-phrase-component{--phrase-value-size:.69rem;--phrase-value-leading:1.24;--phrase-value-spacing:.015em}
.shared-phrase :is(.phrase-detail-2,.phrase-detail-3,.phrase-detail-4,.phrase-detail-5,.phrase-detail-6){font:700 var(--phrase-value-size)/var(--phrase-value-leading) "DM Sans",sans-serif!important;letter-spacing:var(--phrase-value-spacing)!important}
.shared-phrase-component[data-phrase-density="compact"]{--phrase-value-size:.61rem;--phrase-value-leading:1.2;--phrase-value-spacing:.008em}
.shared-phrase-component[data-phrase-density="dense"]{--phrase-value-size:.53rem;--phrase-value-leading:1.17;--phrase-value-spacing:0}
.shared-phrase-component[data-phrase-density="ultra"]{--phrase-value-size:.48rem;--phrase-value-leading:1.15;--phrase-value-spacing:-.004em}
.shared-phrase-component:is([data-phrase-density="dense"],[data-phrase-density="ultra"]) .phrase-cell{height:108px;grid-template-rows:17px minmax(0,5.5em);gap:5px;padding-block:8px}
.shared-phrase-component:is([data-phrase-density="dense"],[data-phrase-density="ultra"]) .phrase-detail-line{max-height:5.5em;overflow-wrap:anywhere}
.shared-phrase .phrase-sequence-cell{display:inline-block;white-space:nowrap}
.shared-phrase .phrase-sequence-separator{display:inline-block;margin-inline:.28em;color:color-mix(in srgb,currentColor 58%,var(--muted));font-weight:500}
.shared-phrase .phrase-detail-2{color:var(--accent)!important}
.shared-phrase .phrase-detail-3{color:#ffd84d!important}
.shared-phrase .phrase-detail-4{color:var(--warm)!important}
.shared-phrase .phrase-detail-5{color:var(--accent)!important}
.shared-phrase .phrase-detail-7,.shared-phrase .phrase-detail-redundant{display:none!important}
@media(max-width:700px){.shared-phrase .phrase-details{grid-template-columns:repeat(2,minmax(0,1fr))}.shared-phrase .phrase-cell,.shared-phrase .phrase-cell-4,.shared-phrase .phrase-details:not(:has(.phrase-cell-3 .phrase-detail-line:not(:empty))) .phrase-cell-1,.shared-phrase .phrase-details:not(:has(.phrase-cell-3 .phrase-detail-line:not(:empty))) .phrase-cell-2{grid-column:span 1}.shared-phrase .phrase-study{grid-column:1/-1}.shared-phrase .phrase-cell{padding:4px 7px}}
.shared-phrase .scale-root-label{display:inline-grid!important;place-items:center!important;min-width:1.45em;height:1.45em;padding:0 .2em;border:1px solid #79f28f;border-radius:999px;color:#79f28f!important;font-weight:800!important;line-height:1!important}
.shared-phrase .scale-chord-label{color:#ffd84d!important;font-weight:750!important}
.phrase-card:has(>.training-circle-card){display:grid!important;grid-template-columns:minmax(0,1fr) clamp(185px,22vw,230px);align-items:stretch;gap:12px;text-align:left}.phrase-card:has(>.training-circle-card)>.shared-phrase-component{grid-column:1;grid-row:1;min-width:0}.phrase-card:has(>.training-circle-card)>.training-circle-card{grid-column:2;grid-row:1}.phrase-card:has(>.training-circle-card)>:not(.shared-phrase-component):not(.training-circle-card){grid-column:1/-1}.training-circle-card{display:flex;box-sizing:border-box;min-width:0;height:100%;min-height:0;flex-direction:column;padding:7px 9px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:9px;background:color-mix(in srgb,var(--card-bg-deep) 70%,transparent)}.training-circle-card>header{display:flex;min-height:19px;align-items:center;justify-content:space-between;gap:7px}.training-circle-card>header small{color:var(--info-strong);font-size:.4rem;font-weight:800;letter-spacing:.1em}.training-circle-card>header strong{min-width:0;overflow:hidden;color:var(--card-text-strong);font-size:.56rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}.training-circle-card .music-circle{display:flex;min-height:0;flex:1;flex-direction:column}.training-circle-card .music-circle-toolbar{min-height:19px;margin:0}.training-circle-card .music-circle-toolbar>span{display:none}.training-circle-card .music-circle svg{min-height:0;flex:1;max-height:174px}.training-circle-card .music-circle-toolbar button{padding:2px 5px!important;font-size:.4rem!important}@media(max-width:760px){.phrase-card:has(>.training-circle-card){grid-template-columns:1fr}.phrase-card:has(>.training-circle-card)>.shared-phrase-component,.phrase-card:has(>.training-circle-card)>.training-circle-card{grid-column:1;grid-row:auto}.phrase-card:has(>.training-circle-card)>.training-circle-card{width:min(100%,230px);justify-self:center}.phrase-card:has(>.training-circle-card)>:not(.shared-phrase-component):not(.training-circle-card){grid-column:1}}
.training-circle-card .music-circle-note{transform-box:fill-box;transform-origin:center;transition:transform .16s ease}.training-circle-card .music-circle-note.is-current{animation:training-circle-note-pulse .72s ease-in-out infinite alternate}.training-circle-card .music-circle-note.is-current circle{fill:color-mix(in srgb,var(--info) 35%,var(--card-bg-deep));stroke:#fff;stroke-width:4;filter:drop-shadow(0 0 9px var(--info-strong))}.training-circle-card .music-circle-note.is-current text{fill:#fff}.training-circle-card .music-circle-note.is-current-root circle{fill:color-mix(in srgb,var(--accent) 35%,var(--card-bg-deep));stroke:var(--accent);filter:drop-shadow(0 0 10px var(--accent))}.training-circle-card .music-circle.is-animating .music-circle-current-polygon{animation:training-circle-polygon-pulse .72s ease-in-out infinite alternate}@keyframes training-circle-note-pulse{to{transform:scale(1.22)}}@keyframes training-circle-polygon-pulse{to{stroke-width:4;filter:drop-shadow(0 0 6px var(--info-strong))}}
.shared-phrase :is(.chord-position,.harmony-inversion){display:inline-block!important;padding:2px 7px!important;border:1px solid rgba(223,255,89,.65)!important;border-radius:999px!important;background:rgba(223,255,89,.08)!important;color:var(--accent)!important;font-size:.64rem!important;font-style:normal!important;font-weight:700!important;line-height:1.15!important;white-space:nowrap!important}
.shared-instrument{box-sizing:border-box;width:100%!important;max-width:none!important;margin:8px 0 6px!important;padding:7px 0 10px!important;border-top:0!important;border-bottom:1px solid var(--section-line)!important}
.shared-instrument.guitar-tab .tab-scroll.fretboard{box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:7px 0!important;overflow:visible!important}
.shared-instrument.guitar-tab .tab-scroll.fretboard table{width:100%!important;min-width:0!important;height:auto!important;table-layout:fixed}
.shared-instrument.guitar-tab .tab-scroll.fretboard thead th{height:20px!important}
.shared-instrument.guitar-tab .tab-scroll.fretboard tbody :is(th,td){height:32px!important}
.shared-instrument.guitar-tab td.playing span:not(:empty){}
.shared-instrument.guitar-tab td span.scale-tone{border-color:rgba(223,255,89,.35);background:#202630;color:#c9d0dc}
.shared-instrument.guitar-tab td span.chord-tone{border-color:var(--accent);background:var(--accent);color:var(--bg);box-shadow:0 0 10px rgba(223,255,89,.28)}
.shared-instrument.guitar-tab td span.shape-tone{outline:2px solid #fff;outline-offset:1px}
.shared-instrument.guitar-tab td span.tonic-marker{border-width:3px}
.shared-instrument.piano-tab .piano-keyboard{width:100%!important;aspect-ratio:auto!important}
.shared-instrument>.card-label{margin:0 0 7px!important;padding:0 0 6px!important;color:var(--instrument-heading)!important;font:600 .82rem/1.25 "DM Sans",sans-serif!important;letter-spacing:0!important;text-align:left!important;text-transform:none!important}
.shared-harmony-controls{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:4px!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:8px 0 6px!important;padding:0 0 8px!important}.shared-harmony-controls>button{flex:0 0 calc((100% - 28px)/8)!important;width:calc((100% - 28px)/8)!important;min-width:0!important;height:42px!important}
.shared-walking-controls{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:8px 0 6px!important;padding-bottom:8px!important}
@media(max-width:720px){.shared-harmony-controls>button{flex-basis:calc((100% - 12px)/4)!important;width:calc((100% - 12px)/4)!important}}
/* Identical section colour code in Allenamento and Brani. */
.shared-section-01{--section-color:#75cfff}.shared-section-02{--section-color:var(--warm)}.shared-section-03{--section-color:#d79cff}.shared-section-04{--section-color:var(--accent)}
.shared-settings-section label,.shared-section-control{color:var(--section-color)!important}
/* First-party beta analytics */
.login-dialog{width:min(92vw,480px);padding:0;border:1px solid var(--line);border-radius:20px;background:transparent;box-shadow:0 30px 90px #000}.login-dialog::backdrop{background:rgba(3,5,8,.78);backdrop-filter:blur(8px)}.login-dialog article{margin:0;padding:1.35rem;background:var(--panel);border-radius:19px}.login-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.login-dialog h2{margin:.15rem 0 .8rem}.login-dialog-close{font-size:1.7rem;line-height:1;text-decoration:none;color:var(--muted)}.login-dialog form{display:grid;gap:.75rem}.login-dialog footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.account-success{color:var(--accent)}.account-alternative{margin:1rem 0 0}.admin-user-summary,.admin-user-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.admin-user-summary{padding:.65rem 0;color:var(--muted)}.admin-user-summary a{margin-left:auto}.admin-user-actions{margin-top:.8rem}.admin-user-actions .grant-form{flex:1}.danger{border-color:#d95f63!important;color:#ff9a9d!important}

/* Shared header: full navigation on desktop, one clean menu on small screens. */
.desktop-header-actions{display:flex;align-items:center;gap:10px;min-height:42px}.mobile-header-menu{display:none}.password-help{display:block;margin:-.35rem 0 .75rem;text-align:right;font-size:.72rem}
@media(max-width:900px){
  .desktop-header-actions{display:none}.mobile-header-menu{display:block;position:relative;margin:0}.mobile-header-menu>summary{display:grid;width:42px;height:42px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(10,14,20,.82);cursor:pointer;list-style:none;align-content:center;gap:4px}.mobile-header-menu>summary::-webkit-details-marker{display:none}.mobile-header-menu>summary span{display:block;width:20px;height:2px;border-radius:2px;background:var(--accent)}
  .mobile-header-panel{position:absolute;z-index:100;top:50px;right:0;width:min(310px,calc(100vw - 24px));padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 20px 55px rgba(0,0,0,.55)}.mobile-header-panel .context-nav{display:grid;gap:5px}.mobile-header-panel .context-nav a{display:block;padding:10px 12px;border-radius:8px;font-size:.76rem}.mobile-account-row{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.mobile-account-row .language-switch{display:flex!important;margin-left:auto}
  .portal-header,.unified-header{overflow:visible!important}.portal-header .portal-nav,.unified-header .portal-nav{display:block;margin-left:auto}
}
.privacy-shell,.analytics-shell{max-width:1180px}.privacy-card{max-width:760px;padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.privacy-card form{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.privacy-toggle{display:flex;align-items:center;gap:.65rem;flex:1 1 100%;margin:0}.privacy-toggle input{width:auto;margin:0}.analytics-heading nav{display:flex;gap:.45rem}.analytics-heading nav a{padding:.4rem .7rem;border:1px solid var(--line);border-radius:999px;text-decoration:none}.analytics-heading nav a.active{color:#111;background:var(--accent);border-color:var(--accent)}.analytics-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1rem 0}.analytics-kpis article,.analytics-grid article,.analytics-daily{padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.analytics-kpis small{display:block;text-transform:uppercase;letter-spacing:.08em}.analytics-kpis strong{font-size:2rem;color:var(--accent)}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.analytics-grid h2,.analytics-daily h2{font-size:1rem;margin:0 0 .7rem}.analytics-row{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;border-bottom:1px solid var(--line)}.analytics-row span{text-transform:capitalize}.analytics-daily{margin-top:1rem}.analytics-bars{display:flex;align-items:flex-end;gap:.35rem;height:150px}.analytics-bars>div{display:flex;flex:1;height:100%;min-width:18px;flex-direction:column;justify-content:flex-end;text-align:center}.analytics-bars span{display:block;min-height:4px;border-radius:4px 4px 0 0;background:var(--accent)}.analytics-bars small{font-size:.65rem;margin-top:.3rem}.analytics-purge{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.analytics-purge p{margin:0}@media(max-width:760px){.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:1fr}.analytics-bars small{display:none}}

/* Definitive rule for application workspaces: internal headings use whitespace,
   while the outer cards remain the only section separators. */
:is(.shared-session-header,.phrase-section-title,.instrument-summary,.shared-instrument,.shared-practice-transport,.harmony-palette,.embedded-metronome,.training-track-note,.course-lesson-copy,.guitar-tab,.piano-tab,.chord-settings-title,.chord-display>header){border-top:0!important;border-bottom:0!important}
.song-run-controls::before{display:none!important;content:none!important}
hr{display:none!important}

/* Tetrachord Composer carries more material controls than the standard
   selector. Keep the shared sections intact, but use the available vertical
   space more efficiently. */
@media(min-width:900px){
  .training-dashboard #options[data-material-builder="tetrachords"]{padding-bottom:5px}
  .training-dashboard #options[data-material-builder="tetrachords"] .training-track-note{margin-bottom:3px;padding-bottom:3px}
  .training-dashboard #options[data-material-builder="tetrachords"] .settings-card{padding-block:4px!important}
  .training-dashboard #options[data-material-builder="tetrachords"] :is(select,input:not([type="radio"])){height:30px!important;margin-top:1px!important}
  .training-dashboard #options[data-material-builder="tetrachords"] .tetrachord-material-builder{gap:3px}
  .training-dashboard #options[data-material-builder="tetrachords"] .tetrachord-choice legend{margin-bottom:1px}
  .training-dashboard #options[data-material-builder="tetrachords"] .tetrachord-choice label{grid-template-rows:minmax(15px,auto) auto;min-height:34px;padding:2px}
  .training-dashboard #options[data-material-builder="tetrachords"] .tetrachord-choice span{min-height:15px;font-size:.45rem}
  .training-dashboard #options[data-material-builder="tetrachords"] .tetrachord-choice small{margin-top:1px!important;font-size:.41rem!important}
  .training-dashboard #options[data-material-builder="tetrachords"] .tetrachord-result{padding:3px 7px}
  .training-dashboard #options[data-material-builder="tetrachords"] .embedded-metronome,
  .training-dashboard #options[data-material-builder="tetrachords"] .settings-practice-transport{margin-top:1px!important;padding-top:2px!important}
  .training-dashboard #options[data-material-builder="tetrachords"] .embedded-metronome .tempo-controls button{height:28px!important}
  .training-dashboard #options[data-material-builder="tetrachords"] .settings-practice-transport .control-button{min-height:29px!important;padding-block:5px!important}
  .training-dashboard #options[data-material-builder="tetrachords"] .form-actions{min-height:31px!important;padding-top:3px!important}
}

/* Workspaces follow their content and the document owns the only scrollbar. */
@media(min-width:900px) and (min-height:720px){
  html:has(body.training-dashboard),body.training-dashboard{height:auto!important;overflow-y:auto!important;overflow-anchor:none}
  .training-dashboard .shell{height:auto!important;min-height:100vh;grid-template-rows:92px auto!important;align-items:stretch}
  .training-dashboard #options,
  .training-dashboard .training-panel{box-sizing:border-box!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;align-self:stretch!important;overflow:visible!important}
}
:is(.training-panel,.shared-phrase-component,.shared-instrument,.music-notation){overflow-anchor:none}
.harmony-palette{box-sizing:border-box!important;padding:3px 3px 9px!important}
.harmony-palette button.is-playing{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--sequence-color,var(--accent)) 82%,#fff),0 0 14px color-mix(in srgb,var(--sequence-color,var(--accent)) 42%,transparent)!important;transform:none!important}

/* Mobile navigation is a single shared overlay.  Use an existing theme token:
   --panel never existed and made the opened menu effectively transparent. */
@media(max-width:900px){
  .mobile-header-menu{position:relative!important;z-index:1200!important}
  .mobile-header-panel{position:fixed!important;z-index:1201!important;top:68px!important;right:10px!important;width:min(300px,calc(100vw - 20px))!important;max-height:calc(100dvh - 80px)!important;overflow:auto!important;background:color-mix(in srgb,var(--surface) 96%,#000)!important;color:var(--text)!important;opacity:1!important;visibility:visible!important;box-shadow:0 22px 65px rgba(0,0,0,.72)!important}
  .mobile-header-panel .language-switch{display:flex!important}
}

/* Shared hierarchical application menu. */
.context-nav{overflow:visible!important}
.nav-menu-group{position:relative;margin:0;padding:0}
.nav-menu-group>summary{display:flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:8px;color:var(--text);font-size:.68rem;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;list-style:none}
.nav-menu-group>summary::-webkit-details-marker{display:none}
.nav-menu-group>summary::after{content:'⌄';margin-left:6px;color:var(--muted);font-size:.62rem}
.nav-menu-group:hover>summary,.nav-menu-group[open]>summary{color:var(--accent)}
.nav-menu-group.active>summary{background:var(--accent);color:var(--bg)}
.nav-menu-group.active>summary::after{color:var(--bg)}
.nav-submenu{position:absolute;z-index:1300;top:calc(100% + 7px);left:0;display:grid;min-width:285px;padding:6px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 97%,#000);box-shadow:0 18px 45px rgba(0,0,0,.55)}
.nav-menu-group:not([open])>.nav-submenu{display:none}
.nav-submenu a,.nav-future{display:flex!important;align-items:center;justify-content:space-between;min-height:34px;padding:8px 9px!important;border-radius:7px;color:var(--text);font-size:.67rem!important;text-decoration:none;white-space:nowrap}
.nav-submenu a:hover{background:var(--surface-2);color:var(--accent)}
.nav-submenu a.active{background:var(--accent);color:var(--bg)}
.nav-submenu b{font-size:inherit;font-weight:750}
.nav-submenu small{margin-left:18px;color:var(--muted);font-size:.51rem;font-weight:500;letter-spacing:.01em}
.nav-submenu a.active small{color:color-mix(in srgb,var(--bg) 72%,transparent)}
.nav-future{color:var(--muted);cursor:not-allowed;opacity:.62}
.nav-future small{margin-left:12px}
@media(max-width:900px){
  .mobile-header-panel .context-nav{display:grid!important;max-width:none!important;overflow:visible!important}
  .mobile-header-panel .nav-menu-group>summary{min-height:36px;padding:9px 10px;font-size:.76rem}
  .mobile-header-panel .nav-submenu{position:static;min-width:0;margin:3px 0 6px 9px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
  .mobile-header-panel .nav-submenu a,.mobile-header-panel .nav-future{font-size:.7rem!important}
}

/* The header owns the dropdown layer; workspace panels always paint below it. */
:is(.portal-header,.unified-header){position:relative!important;z-index:10000!important;overflow:visible!important}
:is(.portal-header,.unified-header) :is(.portal-nav,.desktop-header-actions,.context-nav,.nav-menu-group){overflow:visible!important}
:is(.training-panel,.song-sidebar,.chord-display,.chord-picker){position:relative;z-index:1}

/* The tetrachord composer replaces only material section 01; every following
   control and the complete practice workspace remain the shared Pro modules. */
.tetrachord-material-builder{display:grid;gap:7px}
.tetrachord-material-builder>.tonic-field{max-width:100%}
.tetrachord-choice{min-width:0;margin:0;padding:0;border:0}
.tetrachord-choice legend{margin:0 0 4px;padding:0;color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.025em}
.tetrachord-choice>div{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px}
#options .tetrachord-choice label{position:relative;display:grid!important;grid-template-rows:minmax(20px,auto) auto;place-items:center;width:100%!important;min-width:0;min-height:44px;margin:0!important;padding:4px 2px;border:1px solid var(--line);border-radius:4px;background:var(--surface-2);color:var(--text)!important;text-align:center;cursor:pointer}
.tetrachord-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.tetrachord-choice span{display:flex;max-width:100%;min-height:20px;align-items:center;justify-content:center;overflow:visible;font-size:.48rem;font-weight:800;line-height:1.05;text-align:center;white-space:normal;overflow-wrap:anywhere}
.tetrachord-choice small{position:static!important;display:block!important;float:none!important;margin:2px 0 0!important;color:#d7e99a!important;font-size:.44rem!important;font-weight:750!important;line-height:1!important;letter-spacing:.015em!important;white-space:nowrap}
.tetrachord-choice label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--surface-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}
.tetrachord-choice label:has(input:checked) :is(span,small){color:var(--accent)}
.tetrachord-choice label{--tetrachord-color:var(--accent);border-color:color-mix(in srgb,var(--tetrachord-color) 55%,var(--line));background:color-mix(in srgb,var(--tetrachord-color) 7%,var(--surface-2))}.tetrachord-choice label small{color:color-mix(in srgb,var(--tetrachord-color) 82%,#fff)!important}.tetrachord-choice label:has(input:checked){border-color:var(--tetrachord-color);background:color-mix(in srgb,var(--tetrachord-color) 20%,var(--surface-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tetrachord-color) 48%,transparent)}.tetrachord-choice label:has(input:checked) :is(span,small){color:var(--tetrachord-color)!important}
.tetrachord-choice label:nth-child(1){--tetrachord-color:#79f28f}.tetrachord-choice label:nth-child(2){--tetrachord-color:var(--info-strong)}.tetrachord-choice label:nth-child(3){--tetrachord-color:#ffd151}.tetrachord-choice label:nth-child(4){--tetrachord-color:#ff8b70}.tetrachord-choice label:nth-child(5){--tetrachord-color:#c99cff}.tetrachord-choice label:nth-child(6){--tetrachord-color:#59e2d0}.tetrachord-choice label:nth-child(7){--tetrachord-color:#ff82b2}.tetrachord-choice label:nth-child(8){--tetrachord-color:#f0a868}
.tetrachord-result{display:grid;gap:1px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--accent) 6%,transparent)}
.tetrachord-result small{color:var(--muted);font-size:.5rem;text-transform:uppercase;letter-spacing:.08em}
.tetrachord-result strong{color:var(--accent);font-size:.59rem;line-height:1.15}
@media(max-width:720px){.tetrachord-choice>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}#options .tetrachord-choice label{min-height:42px;padding-inline:1px}}
.harmony-palette button.harmony-error{border-color:#ff8066!important;background:rgba(255,101,77,.13)!important;box-shadow:inset 0 0 0 1px rgba(255,101,77,.18)}
.harmony-palette button.harmony-error::after{content:'!';position:absolute;top:3px;right:5px;color:#ff8066;font-size:.58rem;font-weight:900}.harmony-palette button.harmony-error{position:relative}
.harmony-palette button.is-playing{z-index:1;border-color:var(--sequence-color,var(--accent))!important;background:color-mix(in srgb,var(--sequence-color,var(--accent)) 38%,#11151d)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--sequence-color,var(--accent)) 82%,#fff),0 0 18px color-mix(in srgb,var(--sequence-color,var(--accent)) 48%,transparent)!important;transform:translateY(-2px) scale(1.025)}.harmony-palette button.is-playing :is(small,strong){color:#fff!important;text-shadow:0 1px 5px rgba(0,0,0,.72)}
.shared-instrument.guitar-tab .fretboard tbody :is(th,td){border-top:0!important;border-bottom:0!important}
.harmony-unavailable-note{width:100%;margin:2px 0 8px;color:#ff9a86;font-size:.62rem;line-height:1.35;text-align:center}
.harmony-unavailable-note>span{display:block}.harmony-unavailable-note>span+span{margin-top:3px;color:var(--muted)}
.shared-instrument.guitar-tab .open-string-fret{background:#273540!important;color:#8fe4ff!important;box-shadow:inset -2px 0 0 rgba(143,228,255,.5)}.shared-instrument.guitar-tab td.open-string-cell{background:rgba(103,207,255,.1)!important;box-shadow:inset -2px 0 0 rgba(143,228,255,.38)}
.chords-page .chord-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.chords-page .chord-options button{width:100%;min-width:0;padding:5px 2px;border-radius:7px;font-size:.55rem;line-height:1.05}.chords-page .chord-options button.voicing-incompatible{opacity:.38}
.chords-page .chord-options[data-family="sevenths"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.chords-page .jazz-substitutions{grid-template-columns:repeat(4,minmax(0,1fr))}.chords-page .jazz-substitutions-context{margin:-3px 0 7px;color:var(--muted);font-size:.57rem}.chords-page .jazz-substitutions button{display:flex;height:42px;flex-direction:column;align-items:flex-start;justify-content:center;padding:5px 7px;text-align:left;white-space:normal}.chords-page .jazz-substitutions button strong{color:var(--text);font-size:.68rem;line-height:1.1}.chords-page .jazz-substitutions button small{width:100%;margin-top:2px;color:var(--muted);font-size:.48rem;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chords-page .jazz-substitutions button:hover strong{color:var(--accent)}
.modal-shell{width:min(1380px,calc(100% - 32px));margin:auto;padding:22px 0 44px}.modal-hero,.modal-controls,.modal-comparison,.modal-explanation,.modal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.modal-hero{margin-bottom:16px}.modal-hero h1{margin:2px 0;font-size:clamp(2rem,4vw,3.5rem)}.modal-hero p{margin:0;color:var(--muted)}.modal-actions{display:flex;gap:7px}.modal-actions button{width:auto;margin:0}.modal-controls{display:grid;grid-template-columns:120px 1.2fr 1.2fr 100px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.modal-controls label{margin:0;color:var(--info);font-size:.68rem}.modal-controls :is(select,input){height:40px!important;margin:4px 0 0!important}.modal-comparison{align-items:stretch}.modal-comparison>article{flex:1;margin:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.modal-comparison article.is-borrowed{border-color:rgba(223,255,89,.38)}.modal-comparison article header small,.modal-explanation small,.modal-section-heading small{color:var(--accent);font-size:.58rem;font-weight:800;letter-spacing:.12em}.modal-comparison h2{margin:3px 0 12px;font-size:1rem}.modal-chord-row{display:flex;gap:7px}.modal-chord{display:flex;min-width:0;height:82px;flex:1;flex-direction:column;justify-content:center;margin:0;padding:8px;border-color:#3c4655;background:var(--control-bg)}.modal-chord small{color:var(--info)}.modal-chord strong{font-size:1.05rem}.modal-chord span{color:var(--muted);font-size:.52rem}.modal-chord.borrowed,.modal-chord.selected{border-color:var(--accent);background:rgba(223,255,89,.1)}.modal-explanation{margin:14px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,var(--card-bg),var(--card-bg-deep))}.modal-explanation h2{margin:3px 0}.modal-explanation p{max-width:720px;margin:4px 0;color:var(--muted)}.modal-explanation dl{display:flex;gap:22px;margin:0}.modal-explanation dl div{min-width:90px}.modal-explanation dt{color:var(--muted);font-size:.55rem}.modal-explanation dd{margin:3px 0;font-size:.72rem;font-weight:700}.modal-section-heading{margin:20px 0 10px}.modal-section-heading h2{margin:2px 0}.modal-section-heading p{color:var(--muted)}.modal-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.modal-palette button{display:flex;height:96px;flex-direction:column;align-items:flex-start;margin:0;padding:12px;text-align:left}.modal-palette button small{color:var(--info)}.modal-palette button strong{margin:4px 0;font-size:1rem}.modal-palette button span{color:var(--muted);font-size:.58rem}.modal-palette button.active{border-color:var(--accent);background:rgba(223,255,89,.1)}@media(max-width:800px){.modal-hero,.modal-actions,.modal-comparison,.modal-explanation{align-items:stretch;flex-direction:column}.modal-controls{grid-template-columns:1fr 1fr}.modal-palette{grid-template-columns:repeat(2,1fr)}.modal-chord-row{overflow-x:auto}.modal-chord{min-width:90px}.modal-explanation dl{flex-wrap:wrap}}
.modal-concept-box{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:24px;margin:14px 0;padding:20px;border:1px solid rgba(143,216,255,.3);border-radius:16px;background:rgba(103,207,255,.055)}.modal-concept-box small{color:var(--info);font-size:.58rem;font-weight:800;letter-spacing:.12em}.modal-concept-box h2{margin:3px 0 7px}.modal-concept-box header p{margin:0;color:var(--muted)}.modal-concept-box ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.modal-concept-box li{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:8px;border:1px solid var(--card-border);border-radius:9px;background:var(--control-bg)}.modal-concept-box li>b{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:var(--badge-bg-alt);color:var(--info)}.modal-concept-box li strong{font-size:.7rem}.modal-concept-box li p{margin:2px 0 0;color:var(--muted);font-size:.63rem}@media(max-width:800px){.modal-concept-box{grid-template-columns:1fr}}
.modal-master-shell{width:min(1740px,calc(100% - 32px));margin:auto;padding:12px 0 40px}.modal-master-workspace{display:grid;grid-template-columns:minmax(350px,450px) minmax(0,1fr);align-items:start;gap:14px}.modal-sidebar,.modal-stage{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--panel-gradient)}.modal-sidebar{position:relative;padding:15px}.modal-sidebar>header{padding:4px 0 13px;border-bottom:1px solid var(--line)}.modal-sidebar>header small,.modal-stage-heading small,.modal-fretboard-panel>header small{color:var(--accent);font-size:.58rem;font-weight:800;letter-spacing:.12em}.modal-sidebar>header h1{margin:3px 0;font-size:1.55rem}.modal-sidebar>header p{margin:0;color:var(--muted);font-size:.68rem}.modal-sidebar .modal-controls{grid-template-columns:1fr 1fr;margin:0;padding:0;border:0;background:transparent}.modal-sidebar .modal-controls label:nth-child(n+3){grid-column:1/-1}.modal-sidebar .modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-sidebar .modal-actions #openModalDaw{grid-column:1/-1}.modal-sidebar .modal-actions button{width:100%}.modal-sidebar .modal-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-sidebar .modal-palette button{height:74px;padding:9px}.modal-sidebar .modal-palette button strong{margin:1px 0}.modal-stage{padding:18px}.modal-stage-heading,.modal-fretboard-panel>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.modal-stage-heading h2,.modal-fretboard-panel h2{margin:2px 0 0}.modal-stage-heading p,.modal-fretboard-panel header p{margin:0;color:var(--muted);font-size:.67rem}.modal-fretboard-panel{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.modal-fretboard-panel>header>span{color:var(--info);font-size:.68rem;font-weight:750}.modal-voicing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-voicing-grid .modal-play-voicing{width:100%;height:30px;margin:7px 0 0;padding:3px 8px;font-size:.62rem}.modal-interchange-page.workspace-sidebar-collapsed .modal-master-workspace{grid-template-columns:56px minmax(0,1fr)}.modal-interchange-page.workspace-sidebar-collapsed .modal-sidebar>:not(.workspace-sidebar-toggle){display:none}@media(max-width:1050px){.modal-master-workspace{grid-template-columns:320px minmax(0,1fr)}.modal-comparison{flex-direction:column}.modal-voicing-grid{grid-template-columns:1fr}}@media(max-width:800px){.modal-master-shell{width:min(100% - 20px,1740px)}.modal-master-workspace{grid-template-columns:1fr}.modal-sidebar .modal-controls{grid-template-columns:1fr 1fr}.modal-interchange-page.workspace-sidebar-collapsed .modal-master-workspace{grid-template-columns:1fr}.modal-interchange-page.workspace-sidebar-collapsed .modal-sidebar{min-height:52px}.modal-stage{padding:12px}.modal-stage-heading{align-items:flex-start;flex-direction:column}}
.modal-stage .modal-chord strong{color:var(--text)}.modal-stage .modal-chord.selected strong{color:var(--accent)}
.modal-sidebar .modal-comparison{display:grid;grid-template-columns:1fr;gap:7px}.modal-sidebar .modal-comparison>article{padding:9px;border-radius:10px}.modal-sidebar .modal-comparison article header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.modal-sidebar .modal-comparison article header h3{margin:0;color:var(--text);font-size:.68rem}.modal-sidebar .modal-comparison article header small{font-size:.5rem}.modal-sidebar .modal-chord-row{gap:4px}.modal-sidebar .modal-chord{height:50px;padding:3px 5px;border-radius:7px}.modal-sidebar .modal-chord small{font-size:.5rem}.modal-sidebar .modal-chord strong{color:var(--text);font-size:.74rem}.modal-sidebar .modal-chord.selected strong{color:var(--accent)}.modal-sidebar .modal-chord span{font-size:.44rem}.modal-sidebar .modal-actions button{height:34px!important;margin:0!important;padding:4px 7px!important;font-size:.64rem!important}.modal-sidebar .modal-palette{gap:5px}.modal-sidebar .modal-palette button{height:55px;margin:0;padding:5px 7px}.modal-sidebar .modal-palette button small{font-size:.48rem}.modal-sidebar .modal-palette button strong{font-size:.7rem}.modal-sidebar .modal-palette button span{font-size:.46rem;line-height:1.05}.modal-stage>.modal-fretboard-panel{margin-top:0}.modal-stage .modal-chord strong{color:var(--text)}
.modal-sidebar .chord-options.modal-chord-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:4px}.modal-sidebar .chord-options .modal-chord{display:block;width:100%;height:32px;padding:5px 4px;border:1px solid var(--line);border-radius:7px;background:var(--control-bg);color:var(--muted);font-size:.58rem;line-height:1;white-space:nowrap}.modal-sidebar .chord-options .modal-chord small{display:inline;margin-right:4px;color:var(--info);font-size:.48rem}.modal-sidebar .chord-options .modal-chord.borrowed{border-color:var(--line);background:var(--control-bg);color:var(--muted)}.modal-sidebar .chord-options .modal-chord:hover,.modal-sidebar .chord-options .modal-chord.active{border-color:var(--accent);background:rgba(223,255,89,.12);color:var(--accent)}
.chords-page #chordVoicingDescription{margin:3px 0 0;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.035em}
.chords-page .inversion-card h3 .inversion-chord{font:inherit;font-weight:inherit}.chords-page .inversion-card h3 .inversion-0{color:var(--accent)}.chords-page .inversion-card h3 .inversion-1{color:var(--info-strong)}.chords-page .inversion-card h3 .inversion-2{color:#da8cff}.chords-page .inversion-card h3 .inversion-3{color:var(--warm)}
.chords-page td.caged-barre-lane{position:relative}.chords-page td.caged-barre-lane::after{position:absolute;z-index:1;top:-2px;bottom:-2px;left:50%;width:5px;transform:translateX(-50%);border-radius:4px;background:var(--warm);box-shadow:0 0 7px rgba(255,126,92,.48);content:""}.chords-page td.caged-barre-lane .shape-tone{position:relative;z-index:2}.chords-page .standard-fretboard th.open-string-fret{color:#8fe4ff!important}.chords-page .standard-fretboard td.open-string-cell{background:rgba(103,207,255,.13)!important;box-shadow:inset -2px 0 0 rgba(143,228,255,.5)}
.instrument-mapping-note{margin:34px auto!important;color:var(--muted);font-size:.68rem;text-align:center}
.harmony-error-dialog{width:min(92vw,520px);padding:0;border:0;background:transparent;color:var(--text)}.harmony-error-dialog::backdrop{background:rgba(4,6,10,.7);backdrop-filter:blur(6px)}.harmony-error-dialog article{position:relative;display:grid;grid-template-columns:30px 1fr;gap:12px;margin:0;padding:22px;border:1px solid #b95d4c;border-radius:15px;background:color-mix(in srgb,var(--surface) 94%,#301712);box-shadow:0 24px 70px rgba(0,0,0,.55)}.harmony-error-dialog strong{display:block;margin:1px 0 7px;color:#ff8b70;font-size:.9rem}.harmony-error-dialog p{margin:0 0 7px;font-size:.72rem;line-height:1.45}.harmony-error-dialog small{color:var(--muted);font-size:.62rem}.harmony-error-close{position:absolute;top:8px;right:9px;width:30px;height:30px;margin:0;padding:0;border:0;background:transparent;color:var(--muted);font-size:1.25rem}
.chords-page .grouped-chord-options{display:grid;grid-template-columns:1fr;gap:8px}.chord-option-group{min-width:0}.chord-option-group>small{display:block;margin:0 0 4px;color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.chords-page .chord-option-group-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.chords-page .chord-option-group-buttons button{width:100%;min-width:0}
.chords-page .chords-shell{width:min(1740px,calc(100% - 32px))}.chords-page .chords-workspace{grid-template-columns:minmax(410px,470px) minmax(300px,340px) minmax(360px,1fr)}.chords-page .chord-display .inversion-grid,.chords-page .chord-display .inversion-grid.dense{grid-template-columns:1fr}
.chorus-composer{min-width:0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel-gradient)}.chorus-composer>header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid var(--line)}.chorus-composer>header small{color:var(--accent);font-size:.58rem;font-weight:800;letter-spacing:.12em}.chorus-composer>header h2{margin:2px 0 0;font-size:1.25rem}.chorus-composer>header label{width:94px;margin:0;color:var(--info);font-size:.6rem}.chorus-composer :is(select,input,button){height:34px!important;margin:3px 0 0!important;padding:4px 8px!important;font-size:.68rem!important}.chorus-name{margin-bottom:9px;color:var(--info);font-size:.62rem}.chorus-recall-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-bottom:14px}.chorus-recall-row button{margin-top:0!important}.chorus-grid{display:grid;grid-template-columns:repeat(var(--chorus-beats),minmax(0,1fr));gap:4px;counter-reset:chorus-cell}.chorus-cell{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:54px;border:1px dashed var(--line);border-radius:7px;background:var(--control-bg)}.chorus-cell[data-bar]{margin-top:13px;border-left:2px solid var(--accent)}.chorus-cell[data-bar]::before{position:absolute;bottom:calc(100% + 2px);left:1px;color:var(--muted);font-size:.5rem;content:"B" attr(data-bar)}.chorus-cell::after{position:absolute;right:3px;bottom:1px;color:var(--muted);font-size:.45rem;content:attr(data-beat)}.chorus-cell strong{max-width:calc(100% - 15px);overflow:hidden;color:var(--accent);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.chorus-cell button{position:absolute;top:-3px;right:1px;width:16px!important;height:16px!important;margin:0!important;padding:0!important;border:0;background:transparent;color:var(--warm);font-size:.8rem!important}.chorus-empty,.chorus-status,.chorus-signin{margin:10px 0;color:var(--muted);font-size:.62rem}.chorus-actions{display:grid;grid-template-columns:auto auto 1fr;gap:5px;margin-top:12px}.chorus-actions button{margin-top:0!important}.chorus-actions #chorusSave{border-color:var(--accent);background:var(--accent);color:var(--bg)}.chorus-status{min-height:18px;color:#7bea98}.chorus-status.error{color:var(--warm)}.chorus-signin-link{display:inline-grid;place-items:center;height:34px;padding:5px 12px;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-size:.68rem}.chords-page .chord-add-chorus{width:100%;height:30px;margin:5px 0 0;padding:4px 8px;border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);font-size:.62rem}
@media(max-width:1380px) and (min-width:901px){.chords-page .chords-workspace{grid-template-columns:minmax(330px,1fr) minmax(280px,320px) minmax(260px,1.15fr)}.chorus-composer{grid-column:auto}}
@media(max-width:900px){.chords-page .chords-workspace{grid-template-columns:1fr}.chorus-composer{grid-column:auto}}
.chorus-composer>header p{margin:2px 0 0;color:var(--muted);font-size:.55rem}
.chorus-composer>header{display:grid;grid-template-columns:minmax(0,1fr) 34px;grid-template-areas:"heading expand" "tools tools";align-items:start}.chorus-composer>header>div:first-child{grid-area:heading}.chorus-composer>header>.chorus-expand{grid-area:expand;align-self:start;justify-self:end;margin:0!important}.chorus-composer>header>.chorus-header-tools{grid-area:tools;width:100%}
.chorus-recall-row{align-items:end}.chorus-recall-field{display:grid;min-width:0;gap:3px;margin:0;color:var(--info);font-size:.62rem}.chorus-recall-field select{width:100%;margin:0!important}.chorus-recall-row>button{align-self:end;margin:0!important}.chorus-command-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.chorus-command-row>.chorus-transport,.chorus-command-row>.chorus-actions{min-width:0;margin:0}
.chorus-cell[draggable="true"]{cursor:grab}.chorus-cell.is-dragging,.chord-add-chorus.is-dragging{opacity:.38}.chorus-cell.drag-target{border-style:solid;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--control-bg));box-shadow:inset 0 0 0 1px var(--accent)}.chords-page .inversion-card h3 .chord-add-chorus{flex:0 0 28px;width:28px;height:25px!important;margin:0 0 0 auto!important;padding:0!important;border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:.9rem!important;cursor:grab;touch-action:none}.chords-page .chord-add-chorus:active,.chorus-cell[draggable="true"]:active{cursor:grabbing}.chorus-drag-ghost{position:fixed;z-index:9999;top:0;left:0;padding:7px 11px;border:1px solid var(--accent);border-radius:8px;background:var(--surface-2);color:var(--accent);font-size:.75rem;font-weight:800;pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.45);will-change:transform}.is-dragging-chorus{cursor:grabbing!important;user-select:none}
.splash-plan-grid>a{display:flex;min-height:244px;flex-direction:column;padding-bottom:18px}.splash-plan-grid>a>h3{flex:0 0 auto}.splash-plan-grid>a>p{padding-bottom:14px}.splash-plan-grid>a>b{position:static;display:block;margin-top:auto;padding-top:4px}.splash-plan-grid>a>small{max-width:calc(100% - 76px);overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.billing-shell{width:min(1100px,94vw)}.billing-card{display:grid;gap:18px}.billing-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.billing-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.billing-products form{display:grid;gap:10px;margin:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.billing-products form>strong{font-size:1.25rem}.billing-products form>b{color:var(--accent);font-size:1rem}.billing-sandbox{padding:10px 14px;border:1px solid #d3a62b;border-radius:9px;background:rgba(211,166,43,.1);color:#d3a62b}.billing-history{display:grid;gap:8px}.billing-history>div{display:grid;grid-template-columns:140px 1fr auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}@media(max-width:720px){.billing-products{grid-template-columns:1fr}.billing-history>div{grid-template-columns:1fr}}
.billing-profile{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.billing-profile>header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:4px}.billing-profile h2{margin:2px 0 0}.billing-profile>p{color:var(--muted);font-size:.72rem}.billing-profile form{margin:0}.billing-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin:14px 0}.billing-profile-grid label{margin:0;font-size:.68rem}.billing-profile-grid :is(input,select){margin-top:4px}.billing-profile-note{margin:-8px 0 0;color:#ffcd61;font-size:.7rem}@media(max-width:820px){.billing-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.billing-profile-grid{grid-template-columns:1fr}}
.billing-products .billing-proforma{display:grid;min-height:42px;place-items:center;margin:0;padding:8px 12px;font-size:.72rem;text-align:center}.billing-products form.tier-blocked{opacity:.58;border-style:dashed}.billing-products form.tier-blocked b{color:var(--muted)}.billing-products ul,.billing-upgrade ul{margin:0;padding-left:18px;color:var(--muted);font-size:.68rem}.billing-upgrade{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;padding:20px;border:1px solid #c99cff;border-radius:14px;background:rgba(201,156,255,.07)}.billing-upgrade h2{margin:2px 0 8px}.billing-upgrade>div>p{color:var(--muted)}.billing-upgrade form{display:grid;align-content:center;gap:10px;margin:0}.billing-upgrade form b{color:#c99cff}@media(max-width:720px){.billing-upgrade{grid-template-columns:1fr}}
.billing-withholding-note{padding:10px 13px;border:1px solid var(--info-strong);border-radius:9px;background:rgba(103,207,255,.07);color:var(--text);font-size:.7rem}.billing-withholding-note strong{color:var(--info)}
.section-index-shell{padding-top:42px}.section-index-shell .entry-hero{max-width:820px}.section-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.section-card-grid .entry-card{min-height:245px}.section-card-grid .is-future{opacity:.58;cursor:not-allowed}.profile-shell{display:grid;gap:16px;width:min(620px,calc(100% - 28px))}.profile-shell>.portal-brand{margin-bottom:4px}.profile-shell .account-card{padding:24px}.profile-shell form{margin:0}.account-menu>.nav-submenu form{margin:0}.account-menu>.nav-submenu button{display:flex;width:100%;min-height:34px;align-items:center;justify-content:space-between;margin:0;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:.67rem}.account-menu>.nav-submenu button:hover{background:var(--surface-2);color:var(--accent)}.account-menu>.nav-submenu button small{margin-left:18px}.desktop-header-actions>.account-menu{display:block}.mobile-account-row>.account-menu{width:100%}@media(max-width:900px){.section-index-shell{padding-top:24px}.section-card-grid{grid-template-columns:1fr}.mobile-account-row{align-items:stretch!important;flex-direction:column}.mobile-account-row>.account-nav-link{width:100%}.mobile-account-row .nav-submenu{position:static!important}}
.section-card-grid .entry-icon{display:grid;width:54px;height:54px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));box-shadow:0 10px 28px rgba(0,0,0,.12)}.section-card-grid .entry-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.section-card-grid .entry-card:hover .entry-icon{background:color-mix(in srgb,var(--accent) 16%,var(--surface-2));transform:translateY(-2px)}
.section-card-grid .entry-card h2{font-size:clamp(1.3rem,1.7vw,1.55rem);letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;hyphens:none}
.section-card-grid .entry-instruments{display:flex;max-width:calc(100% - 8px);flex-wrap:wrap;gap:5px;margin:12px 0 34px}.section-card-grid .entry-instruments>span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));color:var(--muted);font-size:.54rem;font-weight:650;line-height:1;white-space:nowrap}.section-card-grid .entry-instruments b{font-size:.72rem;font-weight:400}.section-card-grid .entry-card:hover .entry-instruments>span{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));color:var(--text)}
.barry-scales-page .barry-note-card .barry-bass-pattern{display:block;margin:3px 28px 0 0;color:var(--info-strong);font-size:.48rem;font-weight:750;letter-spacing:.03em}.barry-scales-page .barry-mini-keyboard{display:flex;height:104px;padding:8px 4px;background:#161a21}.barry-scales-page .barry-mini-keyboard i{position:relative;flex:1;border:1px solid #7e8794;border-radius:0 0 3px 3px;background:#eef1f4}.barry-scales-page .barry-mini-keyboard i.is-black{height:62%;background:#242933}.barry-scales-page .barry-mini-keyboard i.is-note{background:var(--info-strong);box-shadow:inset 0 0 0 3px #d9f4ff}.barry-scales-page .modal-sidebar .modal-actions #barryDaw{grid-column:1/-1;width:100%}
.barry-scales-page #barryProgression{gap:7px}.barry-scales-page #barryProgression .modal-chord{position:relative;height:68px!important;padding:7px 8px!important;border:1px solid var(--card-border)!important;border-radius:11px!important;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-deep))!important;color:var(--card-text)!important;box-shadow:0 5px 14px rgba(0,0,0,.16)!important;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease!important}.barry-scales-page #barryProgression .modal-chord small{display:flex;width:100%;align-items:center;justify-content:space-between;color:inherit!important;font-size:.43rem!important;letter-spacing:.08em}.barry-scales-page #barryProgression .modal-chord small b{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:var(--badge-bg);color:var(--badge-text);font-size:.42rem}.barry-scales-page #barryProgression .modal-chord strong{margin:1px 0;color:var(--card-text-strong)!important;font-size:.68rem!important}.barry-scales-page #barryProgression .modal-chord span{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--card-text-soft)!important;font-size:.43rem!important}.barry-scales-page #barryProgression .modal-chord span i{display:grid;width:15px;height:15px;place-items:center;border-radius:50%;background:var(--badge-bg-alt);color:var(--badge-text-strong);font-size:.35rem;font-style:normal}.barry-scales-page #barryProgression .modal-chord.is-primary{border-color:rgba(103,207,255,.28)!important}.barry-scales-page #barryProgression .modal-chord.is-primary small{color:var(--info-strong)!important}.barry-scales-page #barryProgression .modal-chord.is-diminished{border-color:rgba(255,190,94,.3)!important}.barry-scales-page #barryProgression .modal-chord.is-diminished small{color:#ffbe5e!important}.barry-scales-page #barryProgression .modal-chord:is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.28)!important}.barry-scales-page #barryProgression .modal-chord.active{border-color:#dfff59!important;background:linear-gradient(145deg,rgba(223,255,89,.14),var(--active-card-bg))!important;box-shadow:0 0 0 2px rgba(223,255,89,.12),0 8px 20px rgba(0,0,0,.28)!important}.barry-scales-page #barryProgression .modal-chord.active strong{color:#dfff59!important}.barry-scales-page #barryProgression .modal-chord.is-playing{border-color:var(--info-strong)!important;box-shadow:0 0 0 2px rgba(103,207,255,.18),0 0 18px rgba(103,207,255,.15)!important}.barry-scales-page .modal-sidebar .modal-actions button{min-height:38px;border-radius:9px!important;font-weight:750!important;letter-spacing:.015em}.barry-scales-page .wes-sequence-boards .modal-play-voicing{border:1px solid rgba(103,207,255,.45)!important;border-radius:7px!important;background:#202936!important;color:#8cddff!important;box-shadow:0 4px 10px rgba(0,0,0,.2)!important}.barry-scales-page .wes-sequence-boards .modal-play-voicing:hover{border-color:var(--info-strong)!important;background:#263646!important;transform:translateY(-1px)}

/* Administration uses a scalable list; every record action stays in a modal. */
.admin-user-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(140px,1fr)) auto auto;align-items:end;gap:10px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.admin-user-filters label{margin:0}.admin-user-filters :is(input,select,button,a){margin:0!important}.admin-users-page{overflow-x:hidden}.admin-user-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.admin-user-table{width:100%;min-width:0;margin:0;table-layout:auto;font-size:.72rem}.admin-user-table :is(th,td){padding:9px 10px}.admin-user-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);white-space:nowrap}.admin-user-table th a{color:var(--text);text-decoration:none}.admin-user-table td{min-width:0;vertical-align:middle;white-space:nowrap;overflow-wrap:normal}.admin-user-table td:first-child small{display:block;color:var(--muted)}.admin-user-row{cursor:pointer}.admin-user-row:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}.admin-row-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.admin-row-actions button{width:100%;min-width:0;margin:0;padding:6px 3px;font-size:.59rem;white-space:nowrap}.status-badge,.payment-status{display:inline-flex;padding:4px 8px;border-radius:99px;background:var(--surface-2);font-size:.62rem;font-weight:800}.status-badge.active,.payment-status.completed{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.status-badge.suspended{color:#ffcd61}.status-badge.deleted,.payment-status.capture_failed,.payment-status.create_failed{color:var(--warm)}.admin-pagination{display:flex;justify-content:flex-end;gap:14px;padding:14px 2px}.admin-pretty-dialog{width:min(720px,calc(100vw - 28px));padding:0;border:1px solid var(--line);border-radius:18px;background:transparent;box-shadow:0 28px 90px rgba(0,0,0,.65)}.admin-pretty-dialog::backdrop{background:rgba(3,5,8,.72);backdrop-filter:blur(7px)}.admin-pretty-dialog article{margin:0;padding:22px;border-radius:17px;background:var(--panel)}.admin-pretty-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-pretty-dialog header h2{margin:2px 0 0;font-size:1.2rem}.admin-pretty-dialog [data-close-dialog]{width:34px;min-width:34px;height:34px;margin:0;padding:0;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:1.4rem}.user-detail-grid,.dialog-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.user-detail-grid div,.dialog-kpis div{padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.user-detail-grid :is(dt,dd){margin:0}.user-detail-grid dt,.dialog-kpis small{color:var(--muted);font-size:.65rem}.transaction-list{display:grid;gap:6px}.transaction-list>div{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:9px}.dialog-license-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:9px}.dialog-license-form label{margin:0}.dialog-license-form :is(input,button){margin:0}.account-dialog-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.account-dialog-actions :is(form,button){width:100%;margin:0}@media(max-width:900px){.admin-user-table :is(th,td){padding:8px 6px}.admin-user-table th:nth-child(2),.admin-user-table td:nth-child(2){display:none}.admin-row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.admin-user-filters{grid-template-columns:1fr 1fr}.admin-user-filters label:first-child{grid-column:1/-1}.dialog-license-form,.account-dialog-actions,.transaction-list>div{grid-template-columns:1fr}.user-detail-grid,.dialog-kpis{grid-template-columns:1fr}.admin-pretty-dialog article{padding:16px}}
.context-nav>a,.desktop-header-actions>.account-nav-link,.desktop-header-actions>.account-menu>summary{display:flex!important;min-height:34px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:7px 11px!important;border:1px solid color-mix(in srgb,var(--accent) 62%,var(--line))!important;border-radius:9px!important;background:color-mix(in srgb,var(--surface) 84%,transparent)!important;color:var(--text)!important;font-size:.68rem!important;font-weight:750!important;line-height:1!important;text-decoration:none!important}.context-nav>a:hover,.desktop-header-actions>.account-nav-link:hover,.desktop-header-actions>.account-menu>summary:hover{border-color:var(--accent)!important;color:var(--accent)!important}.context-nav>a.active,.desktop-header-actions>.account-menu[open]>summary{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--bg)!important}.context-nav{gap:5px!important}.desktop-header-actions{gap:6px!important}.account-menu>summary::after{color:currentColor!important}.admin-page>.portal-header>.portal-nav>a{border:1px solid color-mix(in srgb,var(--accent) 62%,var(--line))!important;border-radius:9px!important;background:color-mix(in srgb,var(--surface) 84%,transparent)!important}.admin-page>.portal-header>.portal-nav>a:hover,.admin-page>.portal-header>.portal-nav>a.active{border-color:var(--accent)!important;color:var(--accent)!important}@media(max-width:900px){.mobile-header-panel .context-nav{gap:5px!important}.mobile-header-panel .context-nav>a,.mobile-header-panel .account-menu>summary,.mobile-header-panel>.mobile-account-row>.account-nav-link{width:100%!important;min-height:38px!important;border:1px solid color-mix(in srgb,var(--accent) 62%,var(--line))!important;border-radius:9px!important;background:color-mix(in srgb,var(--surface) 88%,transparent)!important}}

/* The chorus editor is structurally the third desktop rail at every zoom. */
.admin-user-table td:nth-child(7) small{display:block;color:var(--muted)}
.dialog-kpis>div{display:grid;align-content:start;gap:5px}.dialog-kpis>div strong{line-height:1.25;overflow-wrap:anywhere}
@media(max-width:900px){.admin-user-table :is(th,td):nth-child(2),.admin-user-table :is(th,td):nth-child(5){display:none}}
@media(max-width:620px){.admin-user-table :is(th,td):nth-child(3),.admin-user-table :is(th,td):nth-child(6){display:none}.admin-user-table :is(th,td){font-size:.64rem}.admin-row-actions button{font-size:.55rem}}

.chords-page .chords-workspace{grid-template-columns:minmax(300px,470px) minmax(360px,1.2fr) minmax(280px,1fr)!important}
.chords-page .chorus-composer{grid-column:3!important;grid-row:1!important}
.chorus-cell[data-bar]{margin-top:0}.chorus-cell[data-bar]::before{content:none}.chorus-transport{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.chorus-transport button{margin:0!important}.chorus-transport #chorusPlay{border-color:var(--accent);color:var(--accent)}.chorus-transport #chorusPlay.is-playing{background:var(--warm);border-color:var(--warm);color:#111}.chorus-transport #chorusLoop.is-active{border-color:var(--info-strong)!important;background:rgba(103,207,255,.13)!important;color:var(--info)!important}.chorus-cell.is-current{border-color:var(--info-strong);background:rgba(103,207,255,.14);box-shadow:inset 0 0 0 1px var(--info-strong)}
.chorus-grid{box-sizing:border-box;padding-left:38px}.chorus-cell[data-bar]::before{position:absolute;top:50%;right:calc(100% + 7px);display:grid;width:29px;height:29px;place-items:center;transform:translateY(-50%);border:1px solid var(--accent);border-radius:8px;background:rgba(223,255,89,.13);color:var(--accent);font-size:.58rem;font-weight:900;letter-spacing:.02em;content:"B" attr(data-bar)!important}
.chords-page .chord-display .inversion-grid,.chords-page .chord-display .inversion-grid.dense{grid-template-columns:repeat(2,minmax(0,1fr))}.chorus-grid{padding-left:0}.chorus-cell[data-bar]::before{top:5px;right:auto;left:5px;width:auto;height:auto;padding:2px 4px;transform:none;border-radius:5px;background:var(--accent);color:#111;font-size:.46rem;line-height:1}
.chorus-cell[data-bar]::before{content:none!important}.chorus-bar-title{display:flex;grid-column:1/-1;align-items:center;gap:8px;margin:7px 0 -1px;color:var(--accent);font-size:.62rem;font-weight:900}.chorus-bar-title::after{height:1px;flex:1;background:linear-gradient(90deg,rgba(223,255,89,.55),transparent);content:""}.chorus-bar-title:first-child{margin-top:0}
.chorus-grid{grid-template-columns:38px repeat(var(--chorus-beats),minmax(0,1fr))}.chorus-bar-title{display:grid;grid-column:auto;height:54px;margin:0;place-items:center;border:1px solid rgba(223,255,89,.55);border-radius:7px;background:rgba(223,255,89,.12);color:var(--accent);font-size:.58rem}.chorus-bar-title::after{content:none}.chorus-bar-title:first-child{margin-top:0}
.chorus-cell strong{max-width:calc(100% - 8px);font-size:.52rem;letter-spacing:-.025em;text-overflow:clip}.chorus-cell strong.long-chord{font-size:.45rem}.chorus-cell strong.very-long-chord{font-size:.39rem}
.chorus-drag-ghost.is-copy{border-color:var(--info-strong);color:var(--info-strong);box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 14px rgba(103,207,255,.28)}
.chorus-cell .chorus-instrument{position:absolute;top:3px;left:4px;display:grid;width:16px;height:16px;place-items:center;border:1px solid rgba(143,216,255,.38);border-radius:5px;background:rgba(143,216,255,.1);font-size:.56rem;line-height:1}
.chorus-now-playing{margin:0 0 12px;padding:9px;border:1px solid rgba(103,207,255,.3);border-radius:10px;background:rgba(103,207,255,.045)}.chorus-now-playing>header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;margin-bottom:7px}.chorus-now-playing>header small{grid-column:1/-1;color:var(--info-strong);font-size:.48rem;font-weight:900;letter-spacing:.1em}.chorus-now-playing>header strong{color:var(--accent);font-size:.82rem}.chorus-now-playing>header span{color:var(--muted);font-size:.52rem;text-transform:capitalize}.chorus-now-shape{min-height:86px}.chorus-now-shape>p{display:grid;min-height:86px;margin:0;place-items:center;color:var(--muted);font-size:.58rem;text-align:center}.chorus-now-shape .piano-keyboard{height:86px}.chorus-now-shape .standard-fretboard{margin:0}.chorus-now-shape .standard-fretboard .fretboard{overflow:hidden}.chorus-now-shape .standard-fretboard table{width:100%;min-width:0;height:96px}.chorus-now-shape .standard-fretboard th{font-size:.45rem}.chorus-now-shape .standard-fretboard td span{width:21px;height:21px;font-size:.48rem}

.chorus-grid-scroll{max-height:180px;padding:4px;border:1px solid var(--card-border);border-radius:9px;background:var(--card-bg-deep);overflow-y:auto;scrollbar-color:var(--muted) var(--card-bg)}.chorus-header-tools{display:flex;align-items:end;gap:6px}.chorus-header-tools label{width:94px!important}.chorus-composer .chorus-expand{width:34px!important;min-width:34px;padding:0!important;color:var(--info-strong)!important;font-size:1rem!important}.chorus-fullscreen-open{overflow:hidden}
@layer control-panel-state{.chorus-fullscreen-open .daw-composer-page>:is(.portal-header,.chords-shell){display:none!important}}
.chorus-composer.is-expanded{position:fixed!important;z-index:1200;inset:10px;display:block!important;width:auto!important;max-width:none!important;height:auto;max-height:none;overflow:auto;border-color:var(--line);background:var(--panel);box-shadow:0 30px 100px rgba(0,0,0,.75)}.chorus-composer.is-expanded>header{position:sticky;z-index:4;top:-14px;padding-top:14px;background:var(--panel)}.chorus-composer.is-expanded .chorus-now-playing{padding:12px}.chorus-composer.is-expanded .chorus-now-shape,.chorus-composer.is-expanded .chorus-now-shape>p{min-height:120px}.chorus-composer.is-expanded .chorus-now-shape .piano-keyboard{height:120px}.chorus-composer.is-expanded .chorus-now-shape .standard-fretboard table{height:130px}.chorus-composer.is-expanded .chorus-grid-scroll{max-height:216px}.chorus-composer.is-expanded .chorus-grid{gap:5px}.chorus-composer.is-expanded .chorus-cell,.chorus-composer.is-expanded .chorus-bar-title{height:48px}@media(max-width:700px){.chorus-composer.is-expanded{inset:4px;padding:10px}.chorus-header-tools{align-items:stretch;flex-direction:column}.chorus-composer.is-expanded .chorus-cell,.chorus-composer.is-expanded .chorus-bar-title{height:42px}.chorus-composer.is-expanded .chorus-grid-scroll{max-height:180px}}

/* Keep the playback preview stable while switching between instruments. */
.chorus-now-shape{display:grid;height:148px;min-height:148px;align-items:center;overflow:hidden}.chorus-now-shape>p{min-height:148px}.chorus-now-shape .piano-keyboard{height:138px}.chorus-now-shape .standard-fretboard{width:100%;min-height:0}.chorus-now-shape .standard-fretboard .fretboard{overflow:visible}.chorus-now-shape .standard-fretboard table{height:138px}.chorus-composer.is-expanded .chorus-now-shape{height:168px;min-height:168px}.chorus-composer.is-expanded .chorus-now-shape>p{min-height:168px}.chorus-composer.is-expanded .chorus-now-shape .piano-keyboard{height:158px}.chorus-composer.is-expanded .chorus-now-shape .standard-fretboard table{height:158px}

.chorus-editor-layout,.chorus-control-rail,.chorus-score-panel{display:contents}.chorus-score-panel>header{display:none}.chorus-composer.is-expanded .chorus-editor-layout{display:grid;grid-template-columns:minmax(430px,.82fr) minmax(620px,1.8fr);gap:12px;height:calc(100vh - 105px);min-height:0}.chorus-composer.is-expanded .chorus-control-rail,.chorus-composer.is-expanded .chorus-score-panel{display:block;min-width:0;padding:11px;border:1px solid var(--card-border);border-radius:12px;background:var(--card-bg-deep)}.chorus-composer.is-expanded .chorus-control-rail{overflow-y:auto}.chorus-composer.is-expanded .chorus-score-panel{display:flex;min-height:0;flex-direction:column}.chorus-composer.is-expanded .chorus-score-panel>header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;height:31px;margin-bottom:7px;color:var(--info);font-size:.65rem}.chorus-composer.is-expanded .chorus-score-panel>header span{padding:3px 7px;border:1px solid var(--line);border-radius:6px;color:var(--accent);font-size:.55rem;font-weight:850}.chorus-composer.is-expanded .chorus-score-panel .chorus-grid-scroll{max-height:none;min-height:0;flex:1;overflow:auto}.chorus-composer.is-expanded .chorus-score-panel .chorus-grid{grid-template-columns:34px repeat(var(--chorus-beats),minmax(0,1fr));gap:2px}.chorus-composer.is-expanded .chorus-score-panel :is(.chorus-cell,.chorus-bar-title){height:34px;border-radius:5px}.chorus-composer.is-expanded .chorus-score-panel .chorus-bar-title{font-size:.5rem}.chorus-composer.is-expanded .chorus-score-panel .chorus-cell strong{font-size:.5rem}.chorus-composer.is-expanded .chorus-score-panel .chorus-cell strong.long-chord{font-size:.43rem}.chorus-composer.is-expanded .chorus-score-panel .chorus-cell strong.very-long-chord{font-size:.37rem}.chorus-composer.is-expanded .chorus-score-panel .chorus-empty{flex:0 0 auto;margin-bottom:0}@media(max-width:1050px){.chorus-composer.is-expanded .chorus-editor-layout{grid-template-columns:minmax(340px,.75fr) minmax(480px,1.4fr)}}@media(max-width:780px){.chorus-composer.is-expanded .chorus-editor-layout{display:block;height:auto}.chorus-composer.is-expanded .chorus-control-rail{margin-bottom:10px}.chorus-composer.is-expanded .chorus-score-panel{height:55vh}}

.chorus-composer.is-expanded{z-index:20000!important}.chorus-composer.is-expanded .chorus-editor-layout{grid-template-columns:minmax(280px,38%) minmax(0,1fr)}@media(max-width:760px){.chorus-composer.is-expanded .chorus-editor-layout{display:block}.chorus-composer.is-expanded .chorus-score-panel{height:55vh}}

.chord-master-page{max-width:100%;overflow-x:hidden}.chord-master-page .chords-shell,.chord-master-page .chords-workspace{box-sizing:border-box;max-width:100%}.chord-master-page .chords-workspace{grid-template-columns:minmax(360px,480px) minmax(0,1fr)!important}.daw-composer-page .chords-shell{width:calc(100% - 20px);max-width:none}.daw-composer-page .chords-workspace{grid-template-columns:minmax(300px,420px) minmax(0,1fr) minmax(300px,1.25fr)!important;min-height:0}.daw-composer-page :is(.chord-picker,.chord-display,.chorus-composer){max-height:none;overflow:visible}.daw-composer-page .chord-display .inversion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daw-composer-page .chorus-composer{display:flex;min-height:0;flex-direction:column}.daw-composer-page .chorus-grid-scroll{max-height:none;min-height:0;flex:1;overflow-y:auto}@media(max-width:1180px) and (min-width:901px){.daw-composer-page .chords-workspace{grid-template-columns:minmax(280px,.95fr) minmax(0,1.2fr) minmax(240px,.8fr)!important}}@media(max-width:900px){.chord-master-page .chords-workspace,.daw-composer-page .chords-workspace{grid-template-columns:1fr!important}.daw-composer-page :is(.chord-picker,.chord-display,.chorus-composer){height:auto;max-height:none;overflow:visible}.daw-composer-page .chorus-grid-scroll{max-height:360px}}
.daw-composer-page .chords-workspace{align-items:start;grid-auto-rows:max-content}@media(min-width:901px){.daw-composer-page .chords-workspace>:is(.chord-picker,.chord-display,.chorus-composer){box-sizing:border-box;min-height:0;height:auto!important;align-self:start}}


/* Chord Master and DAW share one compact selector grid and one density. */
.chords-page .chord-picker{container-type:inline-size}
.chords-page .chord-picker .chord-toolbar{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px 9px!important;
  margin-bottom:9px!important;
  padding-bottom:9px!important;
}
.chords-page .chord-picker .chord-toolbar .chord-settings-title{grid-column:1/-1}
.chords-page .chord-picker .chord-toolbar label{color:var(--info);white-space:nowrap}
.chords-page .chord-picker .chord-toolbar select{overflow:hidden;padding-right:28px!important;text-overflow:ellipsis}
@container (max-width:330px){
  .chords-page .chord-picker .chord-toolbar{grid-template-columns:1fr!important}
  .chords-page .chord-picker .chord-toolbar .chord-settings-title{grid-column:1}
}

.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-control-rail{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(260px,1.3fr);grid-template-areas:"name preview" "recall preview" "transport preview" "actions preview" "status preview";gap:5px 9px;margin-bottom:8px;padding:8px;border:1px solid var(--card-border);border-radius:10px;background:var(--card-bg-deep)}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-name{grid-area:name;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-recall-row{grid-area:recall;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-playing{grid-area:preview;min-width:0;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-transport{grid-area:transport;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-actions{grid-area:actions;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-status{grid-area:status;margin:0;min-height:14px}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape{height:136px;min-height:136px}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape>p{min-height:136px}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape :is(.piano-keyboard,.standard-fretboard table){height:126px}@media(max-width:1250px) and (min-width:901px){.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-control-rail{grid-template-columns:minmax(155px,.65fr) minmax(220px,1.35fr);gap-inline:6px}}

.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-editor-layout{display:grid;grid-template-columns:minmax(170px,.55fr) minmax(300px,1.45fr);grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:5px 9px;min-height:0;flex:1}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-control-rail{display:contents}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-name{grid-column:1;grid-row:1;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-recall-row{grid-column:1;grid-row:2;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-transport{grid-column:1;grid-row:3;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-actions{grid-column:1;grid-row:4;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-status{grid-column:1;grid-row:5;margin:0;min-height:14px}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-playing{grid-column:2;grid-row:1/6;min-width:0;margin:0}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel{display:flex;grid-column:2;grid-row:6;min-height:0;flex-direction:column;margin-top:3px}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel>header{display:flex;align-items:center;justify-content:space-between;height:26px;color:var(--info);font-size:.58rem}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel>header span{color:var(--accent)}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel .chorus-grid-scroll{min-height:0;flex:1}@media(max-width:900px){.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-editor-layout{display:block}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-control-rail{display:block}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel{display:flex;min-height:280px}}

.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel{grid-column:1/-1}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel .chorus-grid{grid-template-columns:34px repeat(var(--chorus-beats),minmax(0,1fr)) 34px repeat(var(--chorus-beats),minmax(0,1fr));gap:3px}@media(max-width:700px){.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel .chorus-grid{grid-template-columns:34px repeat(var(--chorus-beats),minmax(0,1fr))}}

.chorus-bar-row{display:grid;grid-template-columns:38px repeat(var(--chorus-beats),minmax(0,1fr));gap:3px;min-width:0;break-inside:avoid}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel .chorus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--chorus-rows),auto);grid-auto-flow:column;gap:3px 7px;align-content:start}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel .chorus-bar-row{width:100%}.chorus-composer.is-expanded .chorus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px}.chorus-composer.is-expanded .chorus-bar-row{grid-template-columns:34px repeat(var(--chorus-beats),minmax(0,1fr))}@media(max-width:700px){.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel .chorus-grid,.chorus-composer.is-expanded .chorus-grid{display:block}.chorus-bar-row{margin-bottom:3px}}

/* Compact score rows and quieter, clearer composer controls. */
.chorus-grid{gap:3px}.chorus-cell,.chorus-bar-title{height:42px}.chorus-bar-title{border-radius:6px;background:rgba(223,255,89,.07)}.chorus-cell{border-radius:6px}.chorus-cell .chorus-instrument{top:2px;left:3px;width:14px;height:14px;font-size:.48rem}.chorus-cell::after{font-size:.42rem}.chorus-cell button{top:-1px!important}
.chorus-composer button:not(.chorus-cell button){border-color:var(--line)!important;background:var(--surface-2)!important;color:var(--text)!important;font-weight:750!important;box-shadow:none!important}.chorus-composer button:not(.chorus-cell button):hover,.chorus-composer button:not(.chorus-cell button):focus-visible{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 9%,var(--surface-2))!important;color:var(--accent)!important}.chorus-composer :is(#chorusPlay,#chorusSave){border-color:color-mix(in srgb,var(--accent) 48%,var(--line))!important;background:color-mix(in srgb,var(--accent) 11%,var(--surface-2))!important;color:var(--accent)!important}.chorus-composer #chorusPlay.is-playing{border-color:var(--warm)!important;background:color-mix(in srgb,var(--warm) 14%,var(--surface-2))!important;color:var(--warm)!important}.chorus-composer button:disabled{border-color:var(--line)!important;background:var(--card-bg-deep)!important;color:var(--card-text-soft)!important;opacity:.72}

/* Keep the six-fret playback preview compact and give its space to the controls. */
.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-editor-layout{grid-template-columns:minmax(230px,1.15fr) minmax(190px,.85fr)}

.chorus-header-tools{max-width:330px;flex-wrap:wrap;justify-content:flex-end}.chorus-header-tools label:has(#chorusGroove){width:108px!important}.chorus-header-tools label:has(#chorusTempo){width:68px!important}.chorus-header-tools #chorusTempo{height:34px!important;margin-top:3px!important;padding-inline:7px!important}.chorus-composer .chorus-import-open{width:auto!important;min-width:76px;padding-inline:8px!important;font-size:.58rem!important}.chorus-import-dialog{width:min(620px,calc(100vw - 28px));padding:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.72)}.chorus-import-dialog::backdrop{background:rgba(3,5,8,.74);backdrop-filter:blur(6px)}.chorus-import-dialog article{margin:0;padding:19px;background:transparent}.chorus-import-dialog header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.chorus-import-dialog header :is(small,h2){margin:0}.chorus-import-dialog header small{color:var(--info-strong);font-size:.58rem;letter-spacing:.12em}.chorus-import-dialog header h2{font-size:1.15rem}.chorus-import-dialog header button{width:34px!important;min-width:34px!important;height:34px;margin:0!important;padding:0!important;font-size:1.2rem}.chorus-import-dialog>article>p{color:var(--muted);font-size:.7rem}.chorus-import-dialog textarea{min-height:145px;resize:vertical}.chorus-import-dialog footer{display:flex;justify-content:flex-end;gap:7px}.chorus-import-dialog footer button{width:auto!important;margin:0!important}.song-chorus-title #openSongInDaw{width:auto!important;margin:0 0 0 auto!important;padding:6px 9px!important;border:1px solid var(--accent)!important;border-radius:8px!important;background:color-mix(in srgb,var(--accent) 10%,transparent)!important;color:var(--accent)!important;font-size:.58rem!important;white-space:nowrap}
.chorus-composer .groove-import-open{border-color:var(--info-strong)!important;color:var(--info)!important}.groove-import-instructions{margin:10px 0 16px;padding-left:20px;color:var(--text);font-size:.68rem}.groove-import-instructions li+li{margin-top:5px}.groove-upload-zone{display:grid;min-height:112px;margin:0 0 13px;padding:18px;place-items:center;border:1px dashed var(--info-strong);border-radius:12px;background:color-mix(in srgb,var(--info) 6%,transparent);color:var(--info);text-align:center;cursor:pointer}.groove-upload-zone:hover{background:color-mix(in srgb,var(--info) 10%,transparent)}.groove-upload-zone strong{font-size:.76rem}.groove-upload-zone span{color:var(--muted);font-size:.58rem}.groove-upload-zone input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.groove-import-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-3px 0 12px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--control-bg)}.groove-import-selection strong{min-width:0;overflow:hidden;color:var(--accent);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.groove-import-selection span{flex:0 0 auto;color:var(--muted);font-size:.56rem}.chorus-composer .groove-delete{border-color:color-mix(in srgb,var(--danger-strong) 58%,var(--line))!important;color:var(--danger)!important}.chorus-composer .groove-delete:disabled{border-color:var(--line)!important;color:var(--card-text-soft)!important;opacity:.45}
.groove-sensitivity{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px}.groove-sensitivity output{color:var(--info);font-size:.66rem}.groove-sensitivity input{grid-column:1/-1}.groove-import-preview{margin:12px 0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--control-bg)}.groove-import-preview>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.groove-import-preview>header strong{font-size:.68rem}.groove-import-preview>header small{color:var(--muted);font-size:.52rem}.groove-import-preview>#groovePreviewGrid{display:grid;grid-template-columns:repeat(var(--groove-steps-per-bar,16),minmax(0,1fr));gap:2px}.groove-preview-step{width:auto!important;min-width:0!important;height:25px!important;margin:0!important;padding:0!important;border:1px solid var(--line)!important;border-radius:3px!important;background:var(--surface-2)!important}.groove-preview-step.is-beat{border-left-color:var(--info)!important}.groove-preview-step.is-active{border-color:var(--accent)!important;background:var(--accent)!important;box-shadow:0 0 8px color-mix(in srgb,var(--accent) 30%,transparent)}
.groove-admin-shell{display:grid;gap:18px}.groove-admin-editor,.groove-admin-library{padding:18px;border:1px solid #344150;border-radius:14px;background:#171d26}.groove-admin-fields{display:grid;grid-template-columns:minmax(200px,1.3fr) minmax(170px,1fr) repeat(4,minmax(105px,.5fr));gap:9px}.groove-admin-fields label:nth-child(2){display:grid;grid-template-columns:1fr auto}.groove-admin-fields input[type=range]{grid-column:1/-1}.groove-admin-actions{display:flex;justify-content:flex-end;gap:8px}.groove-admin-actions button{width:auto}.groove-admin-list{display:grid;gap:8px}.groove-admin-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:12px;border:1px solid #344150;border-radius:10px;background:#111720}.groove-admin-list article>div:first-child{display:grid}.groove-admin-list small{color:var(--muted)}.groove-admin-list article>div:last-child{display:flex;gap:7px}.groove-admin-list form{margin:0}.groove-admin-list button{width:auto;margin:0}@media(max-width:1150px){.groove-admin-fields{grid-template-columns:1fr 1fr}}@media(max-width:600px){.groove-admin-fields{grid-template-columns:1fr}.groove-admin-list article{align-items:flex-start;flex-direction:column}}
.groove-preview-step.is-playing{transform:translateY(-2px);border-color:#fff!important;background:#fff!important;box-shadow:0 0 14px rgba(255,255,255,.75)}#groovePlay:not(:disabled),.groove-listen{border-color:var(--info-strong);color:var(--info)}
.groove-preview-step.is-active{color:#10151b!important;font-size:.58rem!important;font-weight:800}.groove-preview-step.role-bass{border-color:var(--info-strong)!important;background:var(--info-strong)!important}.groove-preview-step.role-chord{border-color:#ffb867!important;background:#ffb867!important}.groove-preview-step.role-full{border-color:var(--accent)!important;background:var(--accent)!important}
body.groove-admin-page #groovePreviewGrid>button.groove-preview-step{display:grid!important;width:100%!important;min-width:0!important;max-width:100%!important;height:32px!important;min-height:32px!important;max-height:32px!important;inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important;block-size:32px!important;min-block-size:32px!important;max-block-size:32px!important;align-self:center!important;box-sizing:border-box!important;place-items:center!important;padding:0!important;overflow:hidden!important;line-height:1!important}body.groove-admin-page #groovePreviewGrid>button.role-bass{background:var(--info-strong)!important}body.groove-admin-page #groovePreviewGrid>button.role-full{background:#dfff59!important}body.groove-admin-page #groovePreviewGrid>button.role-chord{background:#ffb867!important}
.groove-recording-standard{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:0 0 14px;padding:11px 13px;border:1px solid var(--info-strong);border-radius:10px;background:rgba(103,207,255,.07);font-size:.66rem}.groove-recording-standard strong{color:var(--info)}.groove-recording-standard span{color:var(--text)}.groove-waveform-wrap{display:block!important;width:100%!important;margin-top:10px}.groove-waveform-wrap canvas{display:block;width:100%;height:118px;border:1px solid #344252;border-radius:7px}.groove-waveform-wrap small{display:block;margin-top:4px;color:var(--muted);font-size:.52rem}
.groove-admin-editor{padding:13px}.groove-admin-editor .groove-recording-standard{margin-bottom:9px;padding:8px 10px}.groove-admin-editor .groove-upload-zone{min-height:72px;margin-bottom:8px;padding:10px}.groove-import-preview{margin:8px 0;padding:8px}.groove-import-preview>header{margin-bottom:6px}.groove-import-preview>#groovePreviewGrid{gap:1px 2px}body.groove-admin-page #groovePreviewGrid>button.groove-preview-step{height:22px!important;min-height:22px!important;max-height:22px!important;block-size:22px!important;min-block-size:22px!important;max-block-size:22px!important;font-size:.5rem!important}.groove-waveform-wrap{margin-top:7px}.groove-waveform-wrap canvas{height:78px}.groove-admin-actions{gap:5px}.groove-admin-actions button{min-height:34px!important;padding:6px 10px!important;font-size:.66rem!important}
.groove-admin-page #groovePreviewGrid{grid-auto-rows:22px;align-items:stretch}.groove-admin-page #groovePreviewGrid>.groove-preview-step{all:unset!important;display:grid!important;box-sizing:border-box!important;width:100%!important;height:22px!important;min-width:0!important;min-height:0!important;place-items:center!important;border:1px solid #344252!important;border-radius:3px!important;background:#202936!important;color:#10151b!important;font-size:.5rem!important;font-weight:800!important;line-height:1!important;cursor:pointer!important;overflow:hidden!important}.groove-admin-page #groovePreviewGrid>.groove-preview-step.is-beat{border-left-color:var(--info)!important}.groove-admin-page #groovePreviewGrid>.groove-preview-step.role-bass{border-color:var(--info-strong)!important;background:var(--info-strong)!important}.groove-admin-page #groovePreviewGrid>.groove-preview-step.role-full{border-color:#dfff59!important;background:#dfff59!important}.groove-admin-page #groovePreviewGrid>.groove-preview-step.role-chord{border-color:#ffb867!important;background:#ffb867!important}.groove-admin-page #groovePreviewGrid>.groove-preview-step:focus-visible{outline:2px solid #fff!important;outline-offset:1px!important}
.chorus-form-edit{width:20px!important;min-width:20px!important;height:20px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--info)!important;font-size:.75rem!important}.chorus-form-badges{display:flex;max-width:34px;flex-wrap:wrap;justify-content:center;gap:1px}.chorus-form-badges span{padding:1px 2px;border-radius:3px;background:color-mix(in srgb,var(--info) 13%,transparent);color:var(--info);font-size:.38rem;line-height:1.2;text-transform:uppercase}.chorus-form-dialog .chorus-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chorus-form-dialog .chorus-form-check{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:8px}.chorus-form-dialog .chorus-form-check input{width:auto;margin:0}@media(max-width:560px){.chorus-form-dialog .chorus-form-fields{grid-template-columns:1fr}}
.chorus-measure-cell{grid-column:2/-1;display:flex!important;align-items:stretch!important;gap:3px;padding:3px!important;overflow:hidden}.chorus-measure-chord{position:relative;display:grid;min-width:0;flex:1;grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;gap:3px;padding:3px 2px;border:1px solid rgba(103,207,255,.35);border-radius:5px;background:rgba(103,207,255,.08);cursor:grab}.chorus-measure-chord strong{max-width:none!important;color:var(--accent);font-size:.6rem!important;text-align:center;overflow:hidden;text-overflow:ellipsis}.chorus-measure-chord small{font-size:.56rem;text-align:center}.chorus-measure-chord button{position:static!important;width:17px!important;min-width:17px!important;height:17px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#8995a6!important}.chorus-measure-empty{display:grid;width:100%;place-items:center;color:#687386;font-size:.53rem}.chorus-measure-cell.drag-target{border-color:var(--accent)!important;background:rgba(223,255,89,.1)!important}.chorus-measure-cell.is-current{border-color:var(--info-strong)!important;background:rgba(103,207,255,.14)!important}.chorus-measure-chord.is-selected{border-color:var(--accent);background:rgba(223,255,89,.13);box-shadow:inset 0 0 0 1px rgba(223,255,89,.22)}.chorus-bar-row{grid-template-columns:38px minmax(0,1fr)!important}.chorus-composer.is-expanded .chorus-bar-row{grid-template-columns:34px minmax(0,1fr)!important}
.chorus-now-shape .standard-fretboard{width:108%;margin-left:-4%;transform:scale(.9);transform-origin:center}.chorus-now-shape .standard-fretboard table,.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape .standard-fretboard table{height:116px!important}.chorus-composer.is-expanded .chorus-now-shape .standard-fretboard table{height:138px!important}
.daw-composer-page .chorus-composer .chorus-grid,.chorus-composer.is-expanded .chorus-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;grid-template-rows:none!important;grid-auto-flow:row!important;gap:5px 8px!important}.chorus-bar-row,.chorus-composer.is-expanded .chorus-bar-row{grid-template-columns:52px minmax(0,1fr)!important;min-height:48px}.chorus-bar-title{position:relative!important;display:flex!important;height:48px!important;flex-direction:column;justify-content:center;gap:2px;padding:2px!important;overflow:hidden}.chorus-bar-title>strong{font-size:.58rem}.chorus-form-badges{display:flex!important;max-width:46px!important;flex-wrap:nowrap!important;gap:2px;overflow:hidden}.chorus-form-badges span{flex:0 1 auto;max-width:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chorus-form-edit{position:absolute!important;top:0!important;right:0!important;width:15px!important;min-width:15px!important;height:15px!important;font-size:.58rem!important}.chorus-measure-cell{height:48px!important}
.chorus-bar-row,.chorus-composer.is-expanded .chorus-bar-row{grid-template-columns:42px 48px minmax(0,1fr)!important}.chorus-measure-cell{grid-column:3/-1!important}.chorus-bar-meta{display:grid;height:48px;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--card-bg);color:var(--muted);font-size:.48rem;overflow:hidden}.chorus-bar-meta .chorus-form-badges{max-width:44px!important;flex-wrap:wrap!important;justify-content:center;gap:2px}.chorus-bar-meta .chorus-form-badges span{max-width:40px;padding:2px 3px;font-size:.43rem}.chorus-bar-title{grid-column:1}.chorus-bar-meta{grid-column:2}
.chorus-bar-row,.chorus-composer.is-expanded .chorus-bar-row{grid-template-columns:25px 44px minmax(0,1fr) 44px!important}.chorus-measure-cell{grid-column:3!important}.chorus-bar-title{height:48px!important;cursor:pointer}.chorus-bar-title>strong{font-size:.52rem}.chorus-bar-title:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.chorus-bar-meta-start{grid-column:2}.chorus-bar-meta-end{grid-column:4}.chorus-bar-meta:empty{background:color-mix(in srgb,var(--card-bg) 38%,transparent);border-color:var(--line)}.chorus-bar-meta-end .chorus-form-badges{justify-content:flex-end}
/* Lead-sheet chart grammar: metadata belongs to the measure, not to boxes. */
.chorus-now-shape .standard-fretboard table{table-layout:fixed}.chorus-now-shape .standard-fretboard tbody tr{height:16.666%}.chorus-now-shape .standard-fretboard td{position:relative;padding:0!important}.chorus-now-shape .standard-fretboard td .shape-tone{position:absolute!important;z-index:2;top:50%;left:50%;width:21px!important;height:21px!important;transform:translate(-50%,-50%);pointer-events:none}
.chorus-delete-empty-bar{position:absolute!important;top:50%!important;right:4px!important;width:19px!important;min-width:19px!important;height:19px!important;margin:0!important;padding:0!important;transform:translateY(-50%);border:1px solid var(--line)!important;border-radius:50%!important;background:var(--surface-2)!important;color:var(--muted)!important;font-size:.72rem!important;line-height:1!important}.chorus-delete-empty-bar:hover{border-color:var(--warm)!important;color:var(--warm)!important}
.chorus-composer:not(.is-expanded) .chorus-now-shape .standard-fretboard{width:116%;margin-left:-8%;transform:scale(.84)}.chorus-composer:not(.is-expanded) .chorus-now-shape .standard-fretboard table{height:104px!important}.chorus-composer.is-expanded .chorus-now-shape .standard-fretboard{width:104%;margin-left:-2%;transform:scale(.94)}
.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape .standard-fretboard{width:108%;margin-left:-4%;transform:scale(.94)}.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape .standard-fretboard table{height:124px!important}
.daw-composer-page .chorus-composer .chorus-grid,.chorus-composer.is-expanded .chorus-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:18px 4px!important;padding:15px 2px 4px}.chorus-chart-bar,.chorus-composer.is-expanded .chorus-chart-bar{position:relative;display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;min-height:54px;gap:0!important;overflow:visible}.chorus-chart-bar .chorus-bar-title{grid-column:1!important;display:flex!important;height:54px!important;align-items:flex-end;justify-content:center;padding:0 2px 5px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--muted)!important;overflow:visible}.chorus-chart-bar .chorus-bar-title>strong{font-size:.43rem;font-weight:750}.chorus-chart-bar .chorus-measure-cell{grid-column:2!important;height:54px!important;padding:5px!important;border:1px solid var(--line)!important;border-radius:0!important;background:var(--control-bg)!important;overflow:visible}.chorus-chart-bar .chorus-bar-meta{position:absolute;z-index:3;top:-14px;display:block;width:auto;height:17px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text);overflow:visible}.chorus-chart-bar .chorus-bar-meta-start{left:21px}.chorus-chart-bar .chorus-bar-meta-end{right:3px}.chorus-chart-bar .chorus-form-badges{display:flex!important;width:auto;max-width:none!important;flex-wrap:nowrap!important;gap:3px!important;overflow:visible}.chorus-chart-bar .chorus-form-badges span{max-width:none;padding:1px 3px;border:0;border-radius:3px;background:var(--badge-bg-alt);color:var(--badge-text-strong);font-size:.48rem;font-weight:850;line-height:1.25;overflow:visible;text-overflow:clip}.chorus-chart-bar.has-section .chorus-bar-meta-start span:first-child{background:var(--accent);color:var(--bg);font-size:.58rem}.chorus-chart-bar.has-repeat-start .chorus-measure-cell{border-left:5px double var(--accent)!important}.chorus-chart-bar.has-repeat-end .chorus-measure-cell{border-right:5px double var(--accent)!important}.chorus-chart-bar.has-repeat-start .chorus-measure-cell::before,.chorus-chart-bar.has-repeat-end .chorus-measure-cell::before{position:absolute;top:15px;color:var(--accent);font-size:.75rem;line-height:.55;white-space:pre;content:"•\A•"}.chorus-chart-bar.has-repeat-start .chorus-measure-cell::before{left:3px}.chorus-chart-bar.has-repeat-end .chorus-measure-cell::before{right:3px}.chorus-chart-bar.has-ending::after{position:absolute;z-index:2;top:-5px;right:0;left:18px;height:5px;border-top:1px solid var(--muted);border-left:1px solid var(--muted);content:""}.chorus-chart-bar .chorus-measure-chord{border-color:transparent;background:transparent}.chorus-chart-bar .chorus-measure-chord:hover,.chorus-chart-bar .chorus-measure-chord.is-selected{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.chorus-chart-bar .chorus-measure-chord strong{font-size:.72rem!important}.chorus-chart-bar .chorus-measure-chord button{opacity:.45}.chorus-chart-bar .chorus-measure-chord:hover button{opacity:1}@media(max-width:700px){.daw-composer-page .chorus-composer .chorus-grid,.chorus-composer.is-expanded .chorus-grid{grid-template-columns:1fr!important}}
.groove-admin-page .groove-admin-fields{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:9px 12px}.groove-admin-page .groove-admin-fields>label{grid-column:span 3;margin:0;font-size:.67rem}.groove-admin-page .groove-admin-fields>label:first-child{grid-column:span 5}.groove-admin-page .groove-admin-fields>label:nth-child(2){grid-column:span 7}.groove-admin-page .groove-admin-fields :is(input,select){height:42px!important;margin-top:4px!important}.groove-admin-page .groove-admin-fields input[type=range]{height:28px!important}.groove-admin-page .groove-recording-standard{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px 14px;line-height:1.45}.groove-admin-page .groove-recording-standard strong{white-space:nowrap}.groove-admin-page .groove-upload-zone{margin-top:11px}.groove-admin-page .groove-admin-actions{margin-top:8px}.groove-admin-page #grooveImportStatus{margin:7px 0 0;min-height:16px}@media(max-width:850px){.groove-admin-page .groove-admin-fields>label,.groove-admin-page .groove-admin-fields>label:first-child,.groove-admin-page .groove-admin-fields>label:nth-child(2){grid-column:span 6}}@media(max-width:560px){.groove-admin-page .groove-admin-fields>label,.groove-admin-page .groove-admin-fields>label:first-child,.groove-admin-page .groove-admin-fields>label:nth-child(2){grid-column:1/-1}.groove-admin-page .groove-recording-standard{grid-template-columns:1fr}}
.groove-import-method{display:flex;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px}.groove-import-method legend{padding:0 5px;color:var(--muted);font-size:.62rem}.groove-import-method label{display:flex;align-items:center;gap:7px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:.7rem;cursor:pointer}.groove-import-method input{width:auto;margin:0}.groove-ireal-source{margin:11px 0}.groove-ireal-source label{margin:0;font-size:.7rem}.groove-ireal-source textarea{margin:5px 0 0;resize:vertical}.groove-ireal-source p{margin:6px 0;color:var(--muted);font-size:.62rem}@media(max-width:560px){.groove-import-method{align-items:stretch;flex-direction:column}}
.groove-experimental-warning{margin:12px 0 0;padding:10px 13px;border:1px solid #ff5f67;border-radius:9px;background:rgba(190,35,45,.14);color:#ff737b}.groove-experimental-warning strong{display:inline-block;margin-right:7px;color:#ff4f59}
.chorus-import-dialog,.chorus-import-dialog article,.song-import-dialog,.song-import-dialog article{max-width:100%;overflow-x:hidden}.chorus-import-dialog textarea,.song-import-dialog textarea{width:100%;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.chorus-import-dialog{width:100%!important;min-width:100%!important;height:100%!important;min-height:100%!important;padding:18px!important;border:0!important;background:radial-gradient(circle at 28% 18%,color-mix(in srgb,var(--info) 20%,transparent),transparent 38%),radial-gradient(circle at 78% 74%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 42%),color-mix(in srgb,var(--bg) 82%,transparent)!important;box-shadow:none!important;backdrop-filter:blur(10px) saturate(.78)!important}.chorus-import-dialog::backdrop{background:transparent!important}.chorus-import-dialog>article{width:min(620px,calc(100vw - 36px))!important;max-width:620px!important;max-height:calc(100vh - 44px)!important;margin:auto!important;padding:19px!important;border:1px solid color-mix(in srgb,var(--info) 42%,var(--line))!important;border-radius:18px!important;background:var(--panel-gradient)!important;box-shadow:0 30px 100px rgba(0,0,0,.78),0 0 46px color-mix(in srgb,var(--info) 10%,transparent)!important;overflow:auto!important}.chorus-song-dialog>article{width:min(760px,calc(100vw - 36px))!important;max-width:760px!important}.chorus-song-dialog input[type=search]{margin-bottom:12px}.chorus-song-results{display:grid;max-height:min(58vh,560px);gap:6px;overflow-y:auto}.chorus-song-results>button{display:grid;width:100%;grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) minmax(100px,.7fr);align-items:center;gap:10px;margin:0;padding:10px 12px;border-color:var(--line);background:var(--control-bg);text-align:left}.chorus-song-results>button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--control-bg))}.chorus-song-results strong,.chorus-song-results span,.chorus-song-results small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chorus-song-results small{color:var(--muted);text-align:right}@media(max-width:600px){.chorus-song-results>button{grid-template-columns:1fr}.chorus-song-results small{text-align:left}}
.analytics-shell .analytics-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.analytics-shell .analytics-kpis .analytics-date{font-size:1rem;line-height:2.5}.analytics-shell .analytics-subheading{margin-top:1.25rem}.analytics-shell .analytics-daily{margin:1rem 0}.analytics-shell .analytics-bars{height:170px}.analytics-shell .analytics-bars b{font-size:.58rem;color:var(--muted)}@media(max-width:980px){.analytics-shell .analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.analytics-shell .analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-shell .analytics-bars{overflow-x:auto}.analytics-shell .analytics-bars>div{min-width:28px}}

/* Final narrow-screen contract: one column and a compact six-fret viewport. */
@media(max-width:700px){
  html body .mobile-header-panel .context-nav>a.active{background:var(--surface)!important;color:var(--text)!important;box-shadow:inset 0 0 0 1px var(--accent)}
  .chords-page .chords-shell{box-sizing:border-box;width:100%!important;padding:10px 10px 28px!important;overflow:visible!important}
  .chords-page .chords-workspace,.chord-master-page .chords-workspace,.daw-composer-page .chords-workspace{display:flex!important;width:100%!important;min-width:0!important;grid-template-columns:none!important;flex-direction:column!important;gap:10px!important}
  .chords-page .chords-workspace>:is(.chord-picker,.chord-display,.chorus-composer){box-sizing:border-box!important;width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;grid-column:auto!important;grid-row:auto!important;overflow:visible!important}
  .daw-composer-page .chord-picker{order:1}.daw-composer-page .chorus-composer{order:2}.daw-composer-page .chord-display{order:3}
  .daw-composer-page .chord-display .inversion-grid,.chords-page .inversion-grid,.chords-page .inversion-grid.dense{grid-template-columns:1fr!important}
  .daw-composer-page .chorus-composer>header{align-items:stretch!important;flex-direction:column!important}
  .daw-composer-page .chorus-header-tools{display:grid!important;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:stretch!important}
  .daw-composer-page .chorus-header-tools label,.daw-composer-page .chorus-header-tools label:has(#chorusGroove),.daw-composer-page .chorus-header-tools label:has(#chorusTempo){width:100%!important;min-width:0!important}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-editor-layout,.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-control-rail{display:block!important;width:100%!important}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-playing,.daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel{display:flex!important;width:100%!important;min-width:0!important;margin-top:10px!important;flex-direction:column!important}
  .guitar-tab .fretboard table,.inversion-card .guitar-tab .fretboard table{min-width:0!important;width:100%!important}
}

/* The desktop DAW may be taller than the viewport: keep its three-column
   layout, but let the document scroll vertically instead of clipping it. */
@media(min-width:901px){
  html body.daw-composer-page{height:auto!important;min-height:100vh;overflow-x:hidden!important;overflow-y:auto!important}
  .daw-composer-page .chords-shell{height:auto!important;min-height:calc(100vh - 96px)!important;overflow:visible!important}
  .daw-composer-page .chords-workspace{height:auto!important;min-height:calc(100vh - 116px)!important;align-items:start}
  .daw-composer-page :is(.chord-picker,.chord-display,.chorus-composer){height:auto!important;min-height:0!important;max-height:none!important;align-self:start;overflow:visible!important}
}

/* Pico renders aria-busy as an inline ::before spinner.  On a CSS grid that
   pseudo-element becomes the first grid item and shifts every fretboard. */
.chords-page .inversion-grid[aria-busy="true"]::before{display:none!important;content:none!important}
/* Fret markers are overlays: their presence and border width must never alter
   the table rows, otherwise string spacing changes from one voicing to the next. */
.chords-page .inversion-card .guitar-tab .fretboard table{height:214px;table-layout:fixed}
.chords-page .inversion-card .guitar-tab .fretboard tbody tr{height:32px}
.chords-page .inversion-card .guitar-tab .fretboard tbody td{position:relative;height:auto}
.chords-page .inversion-card .guitar-tab .fretboard tbody td span:not(:empty){position:absolute;top:50%;left:50%;box-sizing:border-box;transform:translate(-50%,-50%)}
.chords-page .inversion-card .guitar-tab .fretboard tbody td.playing span:not(:empty){}
.modal-interchange-page .modal-stage>.modal-explanation{margin:0 0 8px;padding:12px 14px}.modal-interchange-page .modal-explanation h2{font-size:1.15rem}.modal-interchange-page .modal-explanation p{font-size:.64rem}.modal-interchange-page .modal-stage>.modal-concept-box{grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr);gap:14px;margin:0 0 8px;padding:12px 14px}.modal-interchange-page .modal-concept-box h2{font-size:1rem}.modal-interchange-page .modal-concept-box header p,.modal-interchange-page .modal-concept-box li p{font-size:.58rem}.modal-interchange-page .modal-concept-box ol{gap:5px}.modal-interchange-page .modal-concept-box li{padding:6px}.modal-interchange-page .modal-stage>.modal-fretboard-panel{margin-top:0;padding:12px}.modal-interchange-page .modal-fretboard-panel>header{margin-bottom:8px;padding-bottom:8px}.modal-interchange-page .modal-voicing-grid{gap:7px}.modal-interchange-page .modal-voicing-grid .inversion-card{padding:8px}.modal-interchange-page .modal-voicing-grid .inversion-card h3{margin-bottom:5px;font-size:.66rem}.modal-interchange-page .modal-voicing-grid .inversion-card .guitar-tab .fretboard table{height:140px}.modal-interchange-page .modal-voicing-grid .inversion-card .guitar-tab .fretboard tbody tr{height:20px}.modal-interchange-page .modal-voicing-grid .inversion-card .guitar-tab .fretboard td span:not(:empty){width:19px;height:19px;border-width:2px;font-size:.5rem}.modal-interchange-page .modal-voicing-grid .inversion-card>p{margin-top:3px;font-size:.55rem}.modal-interchange-page .modal-voicing-grid .modal-play-voicing{height:26px;margin-top:4px;font-size:.56rem}.modal-interchange-page .modal-voicing-grid .piano-keyboard{height:66px}@media(max-width:800px){.modal-interchange-page .modal-stage>.modal-concept-box{grid-template-columns:1fr}.modal-interchange-page .modal-voicing-grid .inversion-card .guitar-tab .fretboard table{height:125px}}
.modal-interchange-page .modal-sidebar .chord-options .modal-chord{height:32px;padding:5px 2px;border:1px solid var(--line);border-radius:7px;background:var(--control-bg);color:var(--muted);font-size:.55rem;line-height:1.05}.modal-interchange-page .modal-sidebar .chord-options .modal-chord:hover,.modal-interchange-page .modal-sidebar .chord-options .modal-chord.active{border-color:var(--accent);background:rgba(223,255,89,.12);color:var(--accent)}.modal-interchange-page .modal-voicing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-interchange-page .modal-voicing-grid .inversion-card .guitar-tab .fretboard table{height:118px}.modal-interchange-page .modal-voicing-grid .inversion-card .guitar-tab .fretboard tbody tr{height:17px}.modal-interchange-page .modal-voicing-grid .inversion-card .guitar-tab .fretboard th:first-child{width:20px}.modal-interchange-page .modal-voicing-grid .inversion-card .guitar-tab .fretboard td span:not(:empty){width:18px;height:18px;font-size:.48rem}@media(max-width:1250px){.modal-interchange-page .modal-voicing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.modal-interchange-page .modal-voicing-grid{grid-template-columns:1fr}}
.modal-interchange-page .modal-sidebar button:not(.workspace-sidebar-toggle){border:1px solid var(--line)!important;border-radius:7px!important;background:var(--control-bg)!important;color:var(--muted)!important;box-shadow:none!important}.modal-interchange-page .modal-sidebar button:not(.workspace-sidebar-toggle):is(:hover,:focus-visible),.modal-interchange-page .modal-sidebar button:not(.workspace-sidebar-toggle).active{border-color:var(--accent)!important;background:rgba(223,255,89,.12)!important;color:var(--accent)!important}.modal-interchange-page .modal-sidebar button:not(.workspace-sidebar-toggle) :is(small,strong,span){color:inherit!important}.modal-interchange-page .modal-sidebar .modal-actions button{font-weight:650}.modal-interchange-page .modal-sidebar .modal-palette button{height:55px}.modal-interchange-page .modal-sidebar .modal-palette button.active{border-color:var(--accent)!important;background:rgba(223,255,89,.12)!important;color:var(--accent)!important}
.modal-interchange-page .modal-sidebar .modal-comparison>article,.modal-interchange-page .modal-sidebar .modal-comparison>article.is-borrowed{margin:0;padding:0;border:0;background:transparent;box-shadow:none}.modal-interchange-page .modal-sidebar .modal-comparison>article+article{margin-top:4px;padding-top:7px;border-top:1px solid var(--line)}
.modal-interchange-page .modal-colour-header{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:12px;margin:0 0 8px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.modal-interchange-page .modal-colour-header header small{color:var(--accent);font-size:.55rem;font-weight:800;letter-spacing:.12em}.modal-interchange-page .modal-colour-header h2{margin:2px 0 0;font-size:.9rem}.modal-interchange-page .modal-colour-header .modal-palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.modal-interchange-page .modal-colour-header .modal-palette button{height:48px;margin:0;padding:5px 6px;border:1px solid var(--line);border-radius:7px;background:var(--control-bg);color:var(--muted);box-shadow:none}.modal-interchange-page .modal-colour-header .modal-palette button :is(small,strong,span){color:inherit}.modal-interchange-page .modal-colour-header .modal-palette button small{font-size:.43rem}.modal-interchange-page .modal-colour-header .modal-palette button strong{margin:1px 0;font-size:.62rem}.modal-interchange-page .modal-colour-header .modal-palette button span{font-size:.42rem;line-height:1}.modal-interchange-page .modal-colour-header .modal-palette button:is(:hover,:focus-visible),.modal-interchange-page .modal-colour-header .modal-palette button.active{border-color:var(--accent);background:rgba(223,255,89,.12);color:var(--accent)}@media(max-width:1050px){.modal-interchange-page .modal-colour-header{grid-template-columns:1fr}.modal-interchange-page .modal-colour-header .modal-palette{grid-template-columns:repeat(3,minmax(0,1fr))}}
.modal-interchange-page{overflow-x:hidden}.modal-interchange-page .modal-master-workspace{align-items:stretch}.modal-interchange-page .modal-sidebar,.modal-interchange-page .modal-stage{box-sizing:border-box;height:100%;overflow-x:hidden}.modal-interchange-page .modal-sidebar .modal-comparison article>header{margin:0 0 6px!important;padding:0!important;background:transparent!important}.modal-interchange-page .modal-colour-header .modal-palette button{height:58px;overflow:hidden}.modal-interchange-page .modal-colour-header .modal-palette button :is(small,strong,span){display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-interchange-page .modal-colour-header .modal-palette button strong{margin:2px 0;font-size:.64rem;line-height:1.1}.modal-interchange-page .modal-colour-header .modal-palette button span{font-size:.44rem;line-height:1.15}.modal-interchange-page .modal-fretboard-panel,.modal-interchange-page .modal-voicing-grid,.modal-interchange-page .inversion-card{min-width:0}.modal-interchange-page .modal-voicing-grid .tab-scroll{max-width:100%;overflow-x:hidden}
.modal-interchange-page .modal-sidebar .modal-instrument-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 10px}.modal-interchange-page .modal-sidebar .modal-instrument-controls label{grid-column:auto;margin:0}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(1){grid-column:1;grid-row:1}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(2){grid-column:1;grid-row:2}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(3){grid-column:2;grid-row:2}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(4){grid-column:3;grid-row:2}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(5){grid-column:1;grid-row:3}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(6){grid-column:2;grid-row:3}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(7){grid-column:3;grid-row:3}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(8){grid-column:1;grid-row:4}.modal-interchange-page .modal-sidebar .modal-instrument-controls :is(select,input){width:100%;height:36px!important;margin-top:3px!important;padding:4px 8px!important;font-size:.67rem}.modal-interchange-page .modal-sidebar .modal-control-section>h2{color:var(--info-strong)}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls{grid-template-columns:1fr 1fr}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls label:nth-child(n){grid-column:auto}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls label:nth-child(3){grid-column:1/-1}
.modal-interchange-page .modal-stage-actions{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:12px;margin:0 0 8px;padding:9px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.modal-interchange-page .modal-stage-actions header small{color:var(--warm);font-size:.58rem;font-weight:800;letter-spacing:.1em}.modal-interchange-page .modal-stage-actions .modal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.modal-interchange-page .modal-stage-actions button{height:32px;margin:0;padding:4px 8px;border:1px solid var(--line);border-radius:7px;background:var(--control-bg);color:var(--muted);font-size:.62rem;font-weight:650;box-shadow:none}.modal-interchange-page .modal-stage-actions button:is(:hover,:focus-visible){border-color:var(--accent);background:rgba(223,255,89,.12);color:var(--accent)}.modal-interchange-page .modal-stage-actions+.modal-fretboard-panel{margin-top:0}@media(max-width:700px){.modal-interchange-page .modal-stage-actions{grid-template-columns:1fr}.modal-interchange-page .modal-stage-actions .modal-actions{grid-template-columns:1fr}}
.modal-interchange-page .modal-colour-header .modal-palette{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}
.modal-interchange-page .modal-sidebar .modal-controls label{color:var(--info);font-size:.63rem!important;line-height:1.05!important}.modal-interchange-page .modal-sidebar .modal-controls :is(select,input){height:36px!important;margin-top:2px!important;padding:0 9px!important;font-size:.76rem!important}.modal-interchange-page .modal-sidebar .modal-comparison article header h3{font-size:.63rem}.modal-interchange-page .modal-sidebar .modal-comparison article header small{font-size:.48rem}.modal-interchange-page .modal-sidebar .chord-options .modal-chord{font-size:.55rem}
.modal-interchange-page .modal-sidebar .modal-controls label{font-size:.56rem!important;line-height:1.05!important;white-space:nowrap}.modal-interchange-page .modal-sidebar .modal-controls :is(select,input){height:34px!important;padding:0 24px 0 7px!important;font-size:.65rem!important}.modal-interchange-page .modal-sidebar .modal-comparison article header h3{font-size:.56rem}.modal-interchange-page .modal-sidebar .modal-comparison article header small{font-size:.44rem}.modal-interchange-page .modal-sidebar .chord-options .modal-chord{font-size:.5rem}.modal-interchange-page .modal-sidebar .modal-actions button{font-size:.55rem!important}
.modal-interchange-page .modal-sidebar .modal-controls label{display:block;width:100%;min-width:0}.modal-interchange-page .modal-sidebar .modal-controls :is(select,input){display:block;width:100%;min-width:0;margin:3px 0 0!important}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls label:nth-child(1){grid-column:1}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls label:nth-child(2){grid-column:2}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls label:nth-child(3){grid-column:1/-1}
.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls label:nth-child(3){grid-column:1}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-controls label:nth-child(4){grid-column:2}
.wes-block-page .modal-sidebar .modal-instrument-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.wes-block-page .modal-sidebar .modal-instrument-controls label:nth-child(n){grid-column:auto;grid-row:auto}.wes-block-page #wesProgression{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.wes-block-page #wesProgression .modal-chord{display:flex;height:58px!important;flex-direction:column;align-items:center;justify-content:center}.wes-block-page #wesProgression .modal-chord small,.wes-block-page #wesProgression .modal-chord span{font-size:.45rem}.wes-block-page #wesProgression .modal-chord strong{font-size:.62rem}.wes-block-page #wesProgression .modal-chord.is-playing{border-color:var(--info-strong)!important;color:var(--info-strong)!important;box-shadow:0 0 0 2px rgba(103,207,255,.15)!important}.wes-block-page .wes-sequence-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.wes-block-page .wes-sequence-legend span{padding:5px 8px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.55rem}.wes-block-page .modal-voicing-grid .tonic-marker{background:var(--info-strong)!important;border-color:#d9f4ff!important;color:#071119!important}@media(max-width:700px){.wes-block-page #wesProgression{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wes-block-page .wes-sequence-boards .modal-voicing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wes-block-page .wes-sequence-boards .inversion-card{padding:7px 8px 9px}.wes-block-page .wes-sequence-boards .inversion-card h3{display:flex;align-items:center;gap:5px;margin:0 0 4px;font-size:.56rem}.wes-block-page .wes-sequence-boards .inversion-card h3 b{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--accent);font-size:.46rem}.wes-block-page .wes-sequence-boards .inversion-card .guitar-tab .fretboard{padding:2px 0;overflow:visible}.wes-block-page .wes-sequence-boards .modal-play-voicing{position:absolute;right:6px;top:4px;width:22px;height:20px;margin:0;padding:0;font-size:.45rem}.wes-block-page .wes-sequence-boards .inversion-card{position:relative}.wes-block-page .wes-sequence-boards .inversion-card.is-current{border-color:var(--info-strong);box-shadow:0 0 0 1px rgba(103,207,255,.25)}@media(max-width:1200px){.wes-block-page .wes-sequence-boards .modal-voicing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.wes-block-page .wes-sequence-boards .modal-voicing-grid{grid-template-columns:1fr}}

.contemporary-course-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;width:min(1680px,calc(100% - 28px));margin:14px auto}.contemporary-course-sidebar,.contemporary-course-stage{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:18px}.contemporary-course-sidebar header{padding-bottom:14px;border-bottom:1px solid var(--line)}.contemporary-course-sidebar header small,.contemporary-course-stage>header small,.contemporary-concept small,.contemporary-keyboard-panel header small{color:var(--accent);font-size:.62rem;font-weight:800;letter-spacing:.12em}.contemporary-course-sidebar h1{margin:4px 0;font-size:1.65rem}.contemporary-course-sidebar header p,.contemporary-course-stage>header p,.contemporary-concept p{color:var(--muted);font-size:.72rem}.contemporary-course-sidebar>label{display:block;margin:12px 0 0}.contemporary-course-sidebar :is(select,input){height:40px!important;margin-top:4px!important}.contemporary-lessons{display:grid;gap:5px;margin:16px 0;padding:0;list-style:none}.contemporary-lessons a{display:grid;grid-template-columns:30px 1fr 20px;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:9px;color:var(--text);text-decoration:none}.contemporary-lessons span{color:var(--accent);font-size:.58rem}.contemporary-lessons div{display:grid}.contemporary-lessons b{font-size:.72rem}.contemporary-lessons small{color:var(--muted);font-size:.55rem}.contemporary-lessons i{color:transparent;font-style:normal}.contemporary-lessons .current a{border-color:var(--accent);background:rgba(223,255,89,.08)}.contemporary-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.contemporary-actions button{margin:0;padding:9px;font-size:.68rem}.contemporary-course-stage>header h2{margin:5px 0 2px;font-size:2rem}.contemporary-concept{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.contemporary-concept>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.contemporary-concept strong{display:block;margin:4px 0;color:#8edcff;font-size:1.25rem}.contemporary-concept p{margin:3px 0}.contemporary-keyboard-panel{padding:16px;border:1px solid #41617a;border-radius:15px;background:#111821}.contemporary-keyboard-panel>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.contemporary-keyboard-panel h3{margin:3px 0}.contemporary-legend{display:flex;gap:10px;color:var(--muted);font-size:.58rem}.contemporary-legend span:nth-child(1){color:#ff7d86}.contemporary-legend span:nth-child(2){color:#dfff59}.contemporary-legend span:nth-child(3){color:var(--info-strong)}.contemporary-keyboard{--black-width:2.7%;position:relative;display:flex;height:260px;border:1px solid #57616d;border-radius:8px;background:#090b0e;overflow:hidden}.contemporary-keyboard .piano-key{position:relative;margin:0;padding:0;border-radius:0}.contemporary-keyboard .piano-key.white{height:100%;flex:1;border:1px solid #9aa2aa;background:#eef1f3}.contemporary-keyboard .piano-key.black{position:absolute;z-index:2;top:0;width:var(--black-width);height:62%;border:1px solid #050607;background:#171a20}.contemporary-keyboard .piano-key.is-scale:after,.contemporary-keyboard .piano-key.is-chord:before{position:absolute;right:18%;bottom:12px;left:18%;height:10px;border-radius:99px;background:#dfff59;content:""}.contemporary-keyboard .piano-key.black.is-scale:after{bottom:8px;background:#b9df42}.contemporary-keyboard .piano-key.is-chord:before{bottom:30px;background:#ff6f7b}.contemporary-keyboard .piano-key.is-current{box-shadow:inset 0 0 0 5px var(--info-strong)!important}.contemporary-instructions{margin-top:12px;padding:13px 16px;border:1px solid var(--line);border-radius:12px}.contemporary-instructions h3{margin:0 0 6px}.contemporary-instructions ol{margin:0;padding-left:20px;color:var(--muted);font-size:.7rem}.contemporary-course-stage .course-navigation{margin-top:14px}@media(max-width:900px){.contemporary-course-shell{grid-template-columns:1fr}.contemporary-keyboard{height:190px}.contemporary-concept{grid-template-columns:1fr}}
.contemporary-sidebar-controls{display:grid;grid-template-columns:1fr 90px;gap:8px}.contemporary-sidebar-controls label{margin:12px 0 0}.contemporary-concept{grid-template-columns:minmax(150px,210px) minmax(0,1fr);align-items:stretch}.contemporary-concept>div{padding:8px 10px}.contemporary-concept .left strong{margin:2px 0;font-size:1rem}.contemporary-concept .left p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem}.contemporary-concept .right{display:grid;grid-template-columns:auto 1fr;align-content:center;column-gap:12px}.contemporary-concept .right small{grid-column:1/-1}.contemporary-concept .right strong{margin:2px 0}.contemporary-concept .right p{align-self:center;margin:0}.contemporary-keyboard{height:205px}.contemporary-keyboard-panel .piano-finger-guide{margin:5px 0 8px}.contemporary-notation{margin-top:7px;padding-top:9px;border-top:1px solid var(--line)}.contemporary-staff-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.contemporary-staff-title small{color:var(--accent);font-size:.59rem;font-weight:800;letter-spacing:.1em}.contemporary-staff-title span{color:var(--muted);font-size:.57rem}.contemporary-staff-scroll{overflow-x:auto}.contemporary-staff-scroll svg{display:block;width:100%;min-width:720px;height:205px}.course-staff-lines line,.course-staff-note line{stroke:var(--muted);stroke-width:1}.course-staff-note ellipse{stroke-width:1.2}.course-staff-note.hand-left ellipse{fill:#ff805f;stroke:#ff805f}.course-staff-note.hand-right ellipse{fill:#75cfff;stroke:#75cfff}.course-staff-note.active ellipse{fill:var(--accent);stroke:var(--accent);filter:drop-shadow(0 0 5px var(--accent))}.course-clef{fill:var(--text);font-family:"Noto Music","Bravura",serif;font-size:42px}.course-clef.bass{font-size:35px}.course-brace{fill:var(--muted);font:86px serif}.course-accidental{fill:var(--text);font-family:"Noto Music","Bravura",serif;font-size:16px}.course-staff-finger{fill:var(--text);font-size:10px;font-weight:800}.hand-left .course-staff-finger{fill:#ff805f}.hand-right .course-staff-finger{fill:#75cfff}.course-chord-name{fill:var(--accent);font-size:11px;font-weight:800}.contemporary-actions button:disabled{opacity:1;color:var(--bg);background:var(--accent)}@media(max-width:900px){.contemporary-concept{grid-template-columns:180px minmax(0,1fr)}}@media(max-width:620px){.contemporary-concept{grid-template-columns:1fr}.contemporary-concept .right{display:block}.contemporary-sidebar-controls{grid-template-columns:1fr 90px}}
.section-instrument-filter{display:grid;grid-template-columns:auto 220px;align-items:center;gap:10px;width:max-content;margin:20px 0 0;padding:8px 10px 8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:.68rem}.section-instrument-filter select{width:220px;height:38px!important;margin:0!important}.section-card-grid .entry-card[hidden]{display:none!important}.section-filter-empty{margin:35px 0;padding:20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}@media(max-width:600px){.section-instrument-filter{grid-template-columns:1fr;width:100%}.section-instrument-filter select{width:100%}}
.wes-block-page .wes-sing-line .wes-solfege{margin:1px 0 2px;color:var(--info-strong);font-size:.7rem;font-weight:800;letter-spacing:.035em}.wes-block-page .wes-sing-line small{color:var(--muted);font-size:.5rem}
.wes-block-page .modal-colour-header{grid-template-columns:max-content minmax(0,1fr)}.wes-block-page .modal-colour-header h2{white-space:nowrap}.wes-block-page .wes-sequence-legend{min-width:0}@media(max-width:700px){.wes-block-page .modal-colour-header{grid-template-columns:1fr}.wes-block-page .modal-colour-header h2{white-space:normal}}
.wes-block-page .modal-sidebar .modal-actions #wesDaw{grid-column:1/-1;width:100%}
.ai-harmony-history{display:grid;gap:.55rem}.ai-history-row{display:grid;grid-template-columns:minmax(0,1fr) 2.5rem;gap:.45rem;margin:0;padding:0;background:transparent;border:0}.ai-history-row button{margin:0;min-width:0}.ai-history-row button:first-child{display:grid;gap:.15rem;justify-items:start;text-align:left;padding:.65rem .75rem}.ai-history-row small{opacity:.72}.ai-history-row .outline{padding:.45rem;font-size:1.25rem}.plan-badge.adv{background:#c99cff;color:#101018}
.plan-badge.pro{background:#1677d2!important;color:#fff!important}.plan-badge.adv{background:#238b45!important;color:#fff!important}.plan-badge{display:inline-flex;max-width:100%;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-table td:nth-child(4){overflow:hidden;overflow-wrap:normal}.admin-pretty-dialog{width:min(900px,calc(100vw - 28px))}.dialog-license-form{grid-template-columns:150px 150px minmax(220px,1fr) auto}.dialog-license-form button{white-space:nowrap}.grant-list>div>span{min-width:0;overflow-wrap:anywhere}.environment-plan-card.pro{border-color:rgba(22,119,210,.72)!important}.environment-plan-card.adv{border-color:rgba(35,139,69,.78)!important}.environment-plan-card.pro header small{color:#55aaff}.environment-plan-card.adv header small{color:#5bd47d}.billing-upgrade{border-color:#1677d2;background:rgba(22,119,210,.08)}.billing-upgrade form b{color:#55aaff}@media(max-width:900px){.dialog-license-form{grid-template-columns:1fr 1fr}.dialog-license-form label:nth-of-type(3){grid-column:1/-1}.dialog-license-form button{width:max-content}}
.admin-pretty-dialog{max-width:calc(100vw - 28px);overflow-x:hidden}.admin-pretty-dialog article{min-width:0;overflow-x:hidden}.dialog-license-form{grid-template-columns:1fr}.dialog-license-form label,.dialog-license-form :is(input,select){width:100%;min-width:0;box-sizing:border-box}.dialog-license-form label:nth-of-type(3),.dialog-license-form button{grid-column:auto}.dialog-license-form button{width:100%;max-width:none;white-space:normal}.grant-list>div{min-width:0}.grant-list>div>span{flex:1;min-width:0;overflow-wrap:anywhere}.grant-list>div>form{flex:0 0 auto;margin:0}@media(max-width:600px){.grant-list>div{align-items:stretch;flex-direction:column}.grant-list>div>form button{width:100%}}
.access-upgrade-dialog{width:min(560px,calc(100vw - 28px));padding:0;border:1px solid rgba(35,139,69,.8);border-radius:18px;background:#171b24;color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.55)}.access-upgrade-dialog::backdrop{background:rgba(4,7,12,.76);backdrop-filter:blur(4px)}.access-upgrade-dialog article{margin:0;padding:24px;background:linear-gradient(145deg,rgba(35,139,69,.16),transparent 45%),#171b24}.access-upgrade-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.access-upgrade-dialog header small{color:#5bd47d;font-weight:800;letter-spacing:.12em}.access-upgrade-dialog h2{margin:4px 0 0;font-size:1.45rem}.access-upgrade-dialog header button{width:38px;height:38px;margin:0;padding:0;border-color:rgba(91,212,125,.45);background:transparent;color:#fff}.access-upgrade-dialog p{color:var(--muted);line-height:1.55}.access-upgrade-dialog footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px}.access-upgrade-dialog footer :is(a,button){margin:0}.access-upgrade-dialog .upgrade-adv{border-color:#238b45;background:#238b45;color:#fff}.access-upgrade-dialog .upgrade-pro{border-color:#1677d2;background:#1677d2;color:#fff}.chord-options button.pro-locked:not(:disabled){cursor:pointer}.chord-options button.pro-locked:not(:disabled):hover{border-color:#5bd47d!important;color:#fff!important;background:rgba(35,139,69,.2)!important}@media(max-width:560px){.access-upgrade-dialog footer{align-items:stretch;flex-direction:column}.access-upgrade-dialog footer :is(a,button){width:100%}}

/* Marketing edition: lead with transformation, then prove it with the product. */
.splash-page .splash-hero.splash-hero-compact{min-height:calc(100vh - 82px);align-items:center;padding-top:40px}.splash-page .splash-hero-compact .splash-copy h1{display:block;max-width:720px;font-size:clamp(3.25rem,5.7vw,6rem);line-height:.91}.splash-page .splash-hero-compact .splash-copy h1 span,.splash-page .splash-hero-compact .splash-copy h1 em{display:block;white-space:normal}.splash-page .splash-hero-compact .splash-copy h1 em{margin-top:9px}.splash-page .splash-feature-pills li{padding:8px 12px;font-size:.7rem}.splash-page .splash-actions{margin-top:25px}.splash-page .splash-actions .splash-primary{padding:15px 18px}.splash-value-proposition{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:30px 0 72px}.splash-value-proposition>.kicker{margin-bottom:15px}.splash-value-proposition>div{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,rgba(223,255,89,.055),rgba(103,209,255,.035));overflow:hidden}.splash-value-proposition article{margin:0;padding:30px 32px;border-right:1px solid var(--line);background:transparent}.splash-value-proposition article:last-child{border-right:0}.splash-value-proposition span{color:var(--accent);font-size:.58rem;font-weight:900;letter-spacing:.14em}.splash-value-proposition h2{margin:24px 0 9px;font:700 1.35rem "DM Sans",sans-serif}.splash-value-proposition p{margin:0;color:var(--muted);font-size:.77rem;line-height:1.55}.splash-training-plans,.splash-highlights,.splash-fretboards{display:none}.splash-showcase{padding-top:70px}.splash-showcase>header .kicker{color:#75cfff}.splash-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.splash-showcase-grid>a:last-child{grid-column:1/-1}.splash-showcase-grid>a:last-child figure{max-height:380px}.splash-approach{padding-top:70px}.splash-closing{margin-top:80px}html[data-theme="light"] .splash-value-proposition>div{border-color:#cbd5de;background:linear-gradient(135deg,#f8fce9,#eef7fb)}@media(max-width:800px){.splash-value-proposition{width:calc(100% - 28px)}.splash-value-proposition>div{grid-template-columns:1fr}.splash-value-proposition article{border-right:0;border-bottom:1px solid var(--line)}.splash-value-proposition article:last-child{border-bottom:0}.splash-showcase-grid{grid-template-columns:1fr}.splash-showcase-grid>a:last-child{grid-column:auto}}@media(max-width:650px){.splash-page .splash-hero-compact .splash-copy h1{font-size:clamp(2.8rem,13vw,4.5rem)}.splash-value-proposition article{padding:24px 21px}}

/* Uniform marketing frames: every real product capture uses the same canvas. */
.splash-showcase-grid figure{width:100%;aspect-ratio:16/10;max-height:none!important}
.splash-showcase-grid figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:top left}
.splash-showcase-grid>a:last-child{grid-column:auto}
.instrument-cycle-tabs{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:min(430px,85%);margin:12px auto 0}.instrument-cycle-tabs button{position:relative;height:34px;margin:0;padding:4px 10px;border:1px solid #424a58;border-radius:999px;background:#171b24;color:var(--muted);font-size:.65rem;font-weight:800;overflow:hidden}.instrument-cycle-tabs button:is(:hover,:focus-visible),.instrument-cycle-tabs button.active{border-color:var(--accent);background:rgba(223,255,89,.13);color:var(--accent)}.instrument-cycle-tabs button.active::after{position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--accent);content:"";transform-origin:left;animation:instrument-tab-progress 3.5s linear infinite}@keyframes instrument-tab-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}#instrumentHero{transition:opacity .16s ease,transform .16s ease}#instrumentHero.changing{opacity:.35;transform:rotateY(-2deg) rotateX(1deg) translateY(3px)}@media(max-width:650px){.instrument-cycle-tabs{width:100%}#instrumentHero.changing{transform:translateY(3px)}}
.billing-plan-intent{margin-top:10px;padding:10px 12px;border-left:3px solid #1677d2;background:rgba(22,119,210,.1);color:var(--text)!important}.billing-products .billing-intent-match,.billing-intent-upgrade{border-color:#1677d2;box-shadow:0 0 0 1px rgba(22,119,210,.35),0 12px 32px rgba(22,119,210,.08)}.billing-intent-upgrade{scroll-margin-top:24px}
.plan-badge.xpro{background:linear-gradient(135deg,#8a4dff,#d65cff)!important;color:#fff!important}
.barry-scales-page #barryProgression{gap:5px}.barry-scales-page #barryProgression .modal-chord{height:50px!important;padding:4px 5px!important;border-radius:8px!important;box-shadow:0 3px 9px rgba(0,0,0,.14)!important}.barry-scales-page #barryProgression .modal-chord small{font-size:.36rem!important;letter-spacing:.045em;white-space:nowrap}.barry-scales-page #barryProgression .modal-chord small b{width:13px;height:13px;font-size:.34rem}.barry-scales-page #barryProgression .modal-chord strong{margin:0;font-size:.58rem!important;line-height:1}.barry-scales-page #barryProgression .modal-chord span{gap:2px;font-size:.35rem!important;line-height:1}.barry-scales-page #barryProgression .modal-chord span i{width:11px;height:11px;font-size:.28rem}
.wes-block-page:not(.barry-scales-page) #wesProgression{gap:5px}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord{position:relative;height:50px!important;padding:4px 5px!important;border:1px solid var(--card-border)!important;border-radius:8px!important;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-deep))!important;color:var(--card-text)!important;box-shadow:0 3px 9px rgba(0,0,0,.14)!important;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord small{display:flex;width:100%;align-items:center;justify-content:space-between;color:inherit!important;font-size:.36rem!important;letter-spacing:.045em;white-space:nowrap}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord small b{display:grid;width:13px;height:13px;place-items:center;border-radius:50%;background:var(--badge-bg);color:var(--badge-text);font-size:.34rem}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord strong{margin:0;color:var(--card-text-strong)!important;font-size:.58rem!important;line-height:1}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord span{display:flex;align-items:center;justify-content:center;gap:2px;color:var(--card-text-soft)!important;font-size:.35rem!important;line-height:1}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord span i{display:grid;width:11px;height:11px;place-items:center;border-radius:50%;background:var(--badge-bg-alt);color:var(--badge-text-strong);font-size:.28rem;font-style:normal}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord.is-primary{border-color:rgba(103,207,255,.28)!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord.is-primary small{color:var(--info-strong)!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord.is-diminished{border-color:rgba(255,190,94,.3)!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord.is-diminished small{color:#ffbe5e!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord:is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.25)!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord.active{border-color:#dfff59!important;background:linear-gradient(145deg,rgba(223,255,89,.14),var(--active-card-bg))!important;box-shadow:0 0 0 2px rgba(223,255,89,.12)!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord.active strong{color:#dfff59!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord.is-playing{border-color:var(--info-strong)!important;box-shadow:0 0 0 2px rgba(103,207,255,.18),0 0 18px rgba(103,207,255,.15)!important}
.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord{display:grid!important;height:54px!important;grid-template-rows:13px 16px 12px;align-content:center;justify-items:stretch;gap:1px;overflow:hidden}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord strong,.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord span{display:block!important;width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord strong{font-size:.62rem!important}.wes-block-page:not(.barry-scales-page) #wesProgression .modal-chord span{font-size:.38rem!important}
/* Four-step splash path: Free, Adv, Pro and administrator-assigned XPro. */
@media(min-width:901px){.splash-tier-track{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}.splash-tier-track article{padding:21px}.splash-tier-track h3{font-size:1.18rem}.splash-tier-track li{font-size:.67rem}}
.splash-tier-track .tier-xpro{border-color:rgba(190,121,238,.78);background:linear-gradient(155deg,rgba(91,42,122,.5),rgba(21,17,30,.98))}.tier-xpro .tier-heading small{background:#7c42a5}.tier-xpro>strong{color:#d8a8fa!important}html[data-theme="light"] .splash-tier-track .tier-xpro{border-color:#8148aa;background:linear-gradient(145deg,#fcf7ff,#efe3f7)}
.splash-tier-track .tier-xpro ul{gap:6px}.splash-tier-track .tier-xpro li{font-size:.68rem;line-height:1.3}
.splash-tier-track .tier-edu{border-color:color-mix(in srgb,var(--education) 78%,var(--line));background:linear-gradient(155deg,color-mix(in srgb,var(--education) 18%,var(--surface)),var(--card-bg-deep))}.tier-edu .tier-heading small{background:#8d6914;color:#fff}.tier-edu>strong{color:var(--education-strong)!important}html[data-theme="light"] .splash-tier-track .tier-edu{border-color:#9c7414;background:linear-gradient(145deg,#fffdf5,#f7edcf)}html[data-theme="light"] .tier-edu>strong{color:#795600!important}
.contemporary-keyboard-panel #contemporaryFingering{height:54px;margin:7px 0 10px;border-top:1px solid rgba(117,207,255,.14)}.contemporary-keyboard-panel #contemporaryFingering span{width:15px;height:15px;font-size:.49rem;box-shadow:0 1px 4px rgba(0,0,0,.28)}.contemporary-keyboard-panel #contemporaryFingering .piano-hand-right{top:5px}.contemporary-keyboard-panel #contemporaryFingering .piano-hand-left{top:32px}.contemporary-staff-scroll svg{min-width:900px;height:255px}.course-staff-note ellipse{rx:6.5px;ry:4.6px}.course-staff-finger{font-size:9px}.contemporary-notation{padding:12px 10px 2px;border:1px solid var(--line);border-radius:10px;background:rgba(8,12,17,.28)}
.contemporary-lessons{gap:3px;margin:10px 0}.contemporary-lessons a{min-height:32px;grid-template-columns:22px minmax(0,1fr) 12px;gap:5px;padding:3px 6px;border-radius:7px}.contemporary-lessons a>span{font-size:.48rem}.contemporary-lessons b{font-size:.61rem;line-height:1.05}.contemporary-lessons small{font-size:.47rem;line-height:1}.contemporary-lessons i{font-size:.55rem}
.contemporary-keyboard-panel #contemporaryFingering{height:84px}.contemporary-keyboard-panel #contemporaryFingering .piano-hand-right.finger-row-0{top:5px}.contemporary-keyboard-panel #contemporaryFingering .piano-hand-right.finger-row-1{top:23px}.contemporary-keyboard-panel #contemporaryFingering .piano-hand-left.finger-row-0{top:49px}.contemporary-keyboard-panel #contemporaryFingering .piano-hand-left.finger-row-1{top:67px}
.contemporary-keyboard .piano-key.is-scale:after{bottom:40px}.contemporary-keyboard .piano-key.is-chord:before{bottom:61px}.contemporary-keyboard .piano-key.black.is-scale:after{bottom:35px}.contemporary-keyboard .piano-key.black.is-chord:before{bottom:55px}
.contemporary-staff-scroll{width:min(100%,980px);margin:auto;overflow-x:auto;scroll-behavior:smooth}.contemporary-staff-scroll svg{width:1790px!important;min-width:1790px!important;max-width:none!important}.course-barline{stroke:var(--muted);stroke-width:1.2}.course-time{fill:var(--text);font-size:17px;font-weight:800;text-anchor:middle}
.contemporary-lessons{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.contemporary-lessons a{min-height:34px;grid-template-columns:18px minmax(0,1fr);padding:3px 5px}.contemporary-lessons a>i{display:none}.contemporary-lessons b,.contemporary-lessons small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.course-chord-event.active .course-staff-note ellipse{fill:var(--accent);stroke:var(--accent);filter:drop-shadow(0 0 6px var(--accent))}.course-chord-event.active .course-staff-finger{fill:var(--accent)}.contemporary-keyboard .piano-key.is-chord-current{box-shadow:inset 0 0 0 4px #ff805f!important}.contemporary-keyboard .piano-key.black.is-chord-current{box-shadow:inset 0 0 0 3px #ff805f!important}

/* Guitar interval mini-course */

/* The shared #options dashboard is a grid.  In the Chord Master sidebar each
   course group must instead follow the normal vertical document flow. */
.course-performance{display:block!important}
.course-performance-summary{display:grid;gap:3px;margin-bottom:7px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.course-performance-summary small{color:var(--muted);font-size:.48rem;font-weight:850;letter-spacing:.1em}
.course-performance-summary strong{overflow:hidden;color:var(--accent);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.course-performance-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.course-performance-actions button{width:100%!important;min-width:0!important;min-height:34px!important;margin:0!important;padding:5px 6px!important;font-size:.58rem!important}
.course-performance-status{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;margin-top:6px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.course-performance-status i{position:absolute;inset:0 auto 0 0;width:0;background:rgba(117,207,255,.12);transition:width .08s}
.course-performance-status :is(span,b){position:relative;z-index:1;font-size:.56rem}.course-performance-status b{color:var(--accent);font-size:.72rem}
.course-performance audio{width:100%;height:30px;margin-top:6px}.course-performance output{display:block;margin-top:6px;color:var(--muted);font-size:.55rem;line-height:1.4}

/* Pat Martino diminished parental-form guitar lab */
.pat-martino-page #martinoDaw{grid-column:1/-1}
.pat-martino-page #martinoProgression .modal-chord{position:relative!important;height:68px!important;padding:7px 8px!important;border:1px solid var(--card-border)!important;border-radius:11px!important;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-deep))!important;color:var(--card-text)!important;box-shadow:0 5px 14px rgba(0,0,0,.16)!important;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease!important}.pat-martino-page #martinoProgression .modal-chord small{width:100%;align-items:center;color:inherit!important;font-size:.43rem!important;letter-spacing:.08em}.pat-martino-page #martinoProgression .modal-chord small b{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:var(--badge-bg);color:var(--badge-text);font-size:.42rem}.pat-martino-page #martinoProgression .modal-chord strong{margin:1px 0;color:var(--card-text-strong)!important;font-size:.68rem!important}.pat-martino-page #martinoProgression .modal-chord span{display:flex!important;align-items:center;justify-content:center;gap:4px;color:var(--card-text-soft)!important;font-size:.43rem!important}.pat-martino-page #martinoProgression .modal-chord span i{display:grid;width:15px;height:15px;place-items:center;border-radius:50%;background:var(--badge-bg-alt);color:var(--badge-text-strong);font-size:.35rem;font-style:normal}.pat-martino-page #martinoProgression .modal-chord.is-dominant{border-color:rgba(103,207,255,.28)!important}.pat-martino-page #martinoProgression .modal-chord.is-dominant small{color:var(--info-strong)!important}.pat-martino-page #martinoProgression .modal-chord.is-half-diminished{border-color:rgba(255,190,94,.3)!important}.pat-martino-page #martinoProgression .modal-chord.is-half-diminished small{color:#ffbe5e!important}.pat-martino-page #martinoProgression .modal-chord:is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.28)!important}.pat-martino-page #martinoProgression .modal-chord.active{border-color:#dfff59!important;background:linear-gradient(145deg,rgba(223,255,89,.14),var(--active-card-bg))!important;box-shadow:0 0 0 2px rgba(223,255,89,.12),0 8px 20px rgba(0,0,0,.28)!important}.pat-martino-page #martinoProgression .modal-chord.active strong{color:#dfff59!important}
.pat-martino-page.modal-interchange-page .modal-sidebar .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.pat-martino-page .modal-sidebar .modal-actions button{width:100%;min-height:38px;border-radius:9px!important;font-weight:750!important;letter-spacing:.015em}
.pat-martino-page #martinoProgression{gap:5px}.pat-martino-page #martinoProgression .modal-chord{display:grid!important;grid-template-rows:13px auto 12px;align-content:center;gap:1px}.pat-martino-page #martinoProgression .modal-chord :is(strong,span){overflow:visible;text-align:center;text-overflow:clip;white-space:normal}.pat-martino-page #martinoProgression .modal-chord small{display:flex;justify-content:space-between}.pat-martino-page #martinoProgression .modal-chord.active{color:var(--accent)!important}

/* Reusable chromatic / circle-of-fifths geometry component. */
.music-circle{min-width:0}.music-circle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.music-circle-toolbar>span{color:var(--muted);font-size:.44rem;font-weight:750;letter-spacing:.12em}.music-circle-toolbar>div{display:flex;gap:3px}.music-circle-toolbar button{min-height:0!important;margin:0!important;padding:3px 7px!important;border-radius:999px!important;font-size:.45rem!important;line-height:1.1}.music-circle-toolbar button.active{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--control-bg))!important;color:var(--accent)!important}.music-circle svg{display:block;width:100%;height:auto;max-height:230px}.music-circle-ring{fill:color-mix(in srgb,var(--card-bg-deep) 72%,transparent);stroke:var(--card-border);stroke-width:1}.music-circle-polygon{fill:color-mix(in srgb,var(--info) 8%,transparent);stroke:var(--info-strong);stroke-width:2;stroke-linejoin:round}.music-circle-current-polygon{fill:color-mix(in srgb,var(--accent) 13%,transparent);stroke:var(--accent);stroke-width:3;stroke-linejoin:round;opacity:0;pointer-events:none;transition:opacity .12s ease}.music-circle-current-polygon.is-visible{opacity:1}.music-circle-motion{stroke:var(--accent);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 65%,transparent))}.music-circle-note{cursor:pointer;outline:none}.music-circle-note circle{fill:var(--card-bg-deep);stroke:var(--card-border);stroke-width:1.5;transition:.15s}.music-circle-note text{fill:var(--badge-text);font:700 11px "DM Sans",sans-serif;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.music-circle-note.is-member circle{fill:color-mix(in srgb,var(--info) 12%,var(--card-bg-deep));stroke:var(--info-strong)}.music-circle-note.is-member text{fill:var(--info)}.music-circle-note.is-active circle{fill:color-mix(in srgb,var(--accent) 15%,var(--card-bg-deep));stroke:var(--accent);stroke-width:2}.music-circle-note.is-active text{fill:var(--accent)}.music-circle-note.is-moved circle{stroke:#ffbe5e;stroke-width:3}.music-circle-note:is(:hover,:focus-visible) circle{stroke:var(--text);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--text) 35%,transparent))}.music-circle-centre-title{fill:var(--card-text-strong);font:750 20px "DM Sans",sans-serif;text-anchor:middle}.music-circle-centre-copy{fill:var(--badge-text);font:650 9px "DM Sans",sans-serif;text-anchor:middle;text-transform:uppercase}
.music-circle-dialog{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;padding:18px!important;border:0!important;background:rgba(3,6,10,.78)!important}.music-circle-dialog::backdrop{background:rgba(3,6,10,.78);backdrop-filter:blur(6px)}.music-circle-dialog-panel{width:min(680px,calc(100vw - 36px))!important;max-width:680px!important;margin:auto!important;padding:14px 18px 18px!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--panel-gradient)!important;box-shadow:0 28px 90px rgba(0,0,0,.72)!important}.music-circle-dialog-panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.music-circle-dialog-panel>header small{display:block;color:var(--info-strong);font-size:.54rem;font-weight:800;letter-spacing:.13em}.music-circle-dialog-panel>header strong{display:block;margin-top:2px;font-size:1rem}.music-circle-dialog-close{width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--muted)!important;font-size:1.65rem!important}.music-circle-dialog .music-circle svg{max-height:min(72vh,590px)}.music-circle-dialog .music-circle-toolbar{margin-bottom:4px}.music-circle-dialog .music-circle-toolbar button{padding:6px 12px!important;font-size:.62rem!important}.music-circle-dialog .music-circle-note text{font-size:10px}.music-circle-dialog .music-circle-centre-title{font-size:18px}
.pat-martino-page.wes-block-page .modal-stage>.martino-how{grid-template-columns:minmax(0,1fr) 250px;align-items:stretch}.pat-martino-page .martino-how>header{min-width:0}.pat-martino-page.wes-block-page .martino-how>header ol{display:grid;margin:7px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.pat-martino-page .martino-how>header li{min-height:0}.martino-geometry{display:flex;box-sizing:border-box;width:250px;min-width:0;aspect-ratio:1;flex-direction:column;gap:2px;padding:6px 9px;border:1px solid var(--card-border);border-radius:10px;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-deep))}.martino-geometry>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:7px}.martino-geometry>div:first-child small{display:block;color:var(--info-strong);font-size:.4rem;font-weight:750;letter-spacing:.1em;white-space:nowrap}.martino-geometry>div:first-child strong{display:block;min-width:0;color:var(--card-text-strong);font-size:.62rem;overflow:visible;text-align:right;white-space:normal}.martino-geometry #martinoCircle{display:flex;min-height:0;flex:1;flex-direction:column}.martino-geometry .music-circle svg{min-height:0;flex:1}.pat-martino-page #martinoProgression .modal-chord{height:auto!important;min-height:52px;padding:4px 6px!important;grid-template-rows:10px auto 10px}.pat-martino-page #martinoProgression .modal-chord small{font-size:.37rem!important}.pat-martino-page #martinoProgression .modal-chord small b{width:13px;height:13px;font-size:.35rem}.pat-martino-page #martinoProgression .modal-chord strong{font-size:.51rem!important;line-height:1.05;letter-spacing:-.025em}.pat-martino-page #martinoProgression .modal-chord span{font-size:.38rem!important}.pat-martino-page #martinoProgression .modal-chord span i{width:11px;height:11px;font-size:.28rem}@media(max-width:1050px){.pat-martino-page.wes-block-page .modal-stage>.martino-how{grid-template-columns:1fr 230px}.martino-geometry{width:230px}}@media(max-width:800px){.pat-martino-page.wes-block-page .modal-stage>.martino-how{grid-template-columns:1fr}.martino-geometry{width:min(100%,250px);justify-self:center}}@media(max-width:620px){.pat-martino-page.wes-block-page .martino-how>header ol{grid-template-columns:1fr}}
.pat-minor-page #minorConversionList{grid-template-columns:repeat(5,minmax(0,1fr))}.pat-minor-page #minorConversionList .modal-chord{min-height:58px}.pat-minor-page #minorConversionList .modal-chord.active{border-color:var(--accent);background:rgba(223,255,89,.1)}.pat-minor-page .minor-fret-legend{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:4px 0 8px;color:var(--muted);font-size:.58rem}.pat-minor-page .minor-fret-legend span{width:11px;height:11px;margin-left:8px;border-radius:50%}.pat-minor-page .minor-fret-legend .is-root{background:#20b85a}.pat-minor-page .minor-fret-legend .is-common{background:#ffd84d}.pat-minor-page .minor-fret-legend .is-scale{background:#35bde8}.pat-minor-page #minorFretboard,.pat-minor-page #minorFretboard .fretboard{width:100%}.pat-minor-page #minorFretboard td span.minor-root-tone{border:3px solid #79f28f;background:#20b85a;color:#07130b;box-shadow:0 0 12px rgba(66,235,117,.5)}.pat-minor-page #minorFretboard td span.minor-common-tone{border:2px solid #ffe889;background:#ffd84d;color:#11131a;box-shadow:0 0 8px rgba(255,216,77,.32)}.pat-minor-page #minorFretboard td span.minor-scale-tone{border:2px solid #8fe4ff;background:#187fa3;color:#f4fbff;box-shadow:0 0 7px rgba(53,189,232,.28)}@media(max-width:800px){.pat-minor-page #minorConversionList{grid-template-columns:repeat(2,minmax(0,1fr))}.pat-minor-page .minor-fret-legend{align-items:flex-start;flex-wrap:wrap;justify-content:flex-start}}
.pat-minor-page #minorConversionList{gap:6px}.pat-minor-page #minorConversionList .modal-chord{display:grid!important;min-height:64px;padding:7px 8px!important;border:1px solid var(--card-border)!important;border-radius:10px!important;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-low))!important;box-shadow:0 4px 12px rgba(0,0,0,.16)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}.pat-minor-page #minorConversionList .modal-chord small{color:#8290a0!important;font-size:.47rem!important;letter-spacing:.06em}.pat-minor-page #minorConversionList .modal-chord strong{color:var(--card-text-strong)!important;font-size:.78rem!important}.pat-minor-page #minorConversionList .modal-chord:is(:hover,:focus-visible){transform:translateY(-2px);border-color:#69788b!important}.pat-minor-page #minorConversionList .modal-chord.active{border-color:#ffd84d!important;background:linear-gradient(145deg,rgba(255,216,77,.13),#161a21)!important;box-shadow:0 0 0 2px rgba(255,216,77,.1),0 7px 17px rgba(0,0,0,.24)!important}.pat-minor-page #minorConversionList .modal-chord.active :is(small,strong){color:#ffd84d!important}.pat-minor-page .minor-fret-legend .is-scale-root{background:#d94555}.pat-minor-page .minor-fret-legend .is-chord-root{background:#20b85a}.pat-minor-page .minor-fret-legend .is-chord-tone{background:#ffd84d}.pat-minor-page .minor-fret-legend .is-scale-note{border:1px solid #596778;background:#171b23}.pat-minor-page #minorFretboard td span.minor-scale-root{border:3px solid #ff7a80;background:#d94555;color:#fff;box-shadow:0 0 12px rgba(255,79,93,.48)}.pat-minor-page #minorFretboard td span.minor-chord-root{border:3px solid #79f28f;background:#20b85a;color:#07130b;box-shadow:0 0 10px rgba(66,235,117,.42)}.pat-minor-page #minorFretboard td span.minor-chord-tone{border:2px solid #ffe889;background:#ffd84d;color:#11131a;box-shadow:0 0 8px rgba(255,216,77,.3)}.pat-minor-page #minorFretboard td span.minor-scale-note{border:1px solid #596778;background:#171b23;color:var(--card-text-strong);box-shadow:0 2px 5px rgba(0,0,0,.35)}
.pat-minor-page #minorConversionList .modal-chord{grid-template-rows:12px 20px 14px;align-content:center;gap:1px}.pat-minor-page #minorConversionList .modal-chord span{display:block!important;color:var(--badge-text)!important;font-size:.52rem!important;font-weight:700!important;text-align:center}.pat-minor-page #minorConversionList .modal-chord.active span{color:#ffe889!important}
.pat-minor-page #minorFretboard [data-midi]{cursor:pointer;transition:transform .12s ease,filter .12s ease}.pat-minor-page #minorFretboard [data-midi]:is(:hover,:focus-visible){transform:scale(1.16);filter:brightness(1.18);outline-offset:3px}
.pat-minor-page #minorFretboard [data-midi].is-playing{z-index:3;filter:brightness(1.22);outline:3px solid var(--info-strong);outline-offset:3px;box-shadow:0 0 0 2px #fff,0 0 18px rgba(103,207,255,.9)!important}
.pat-minor-page .modal-sidebar :is(.minor-flow-controls,.minor-instrument-controls){grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 7px}.pat-minor-page .modal-sidebar :is(.minor-flow-controls,.minor-instrument-controls) label:nth-child(n){grid-column:auto}.pat-minor-page .modal-sidebar :is(.minor-flow-controls,.minor-instrument-controls) :is(select,input){height:30px!important;margin-top:2px!important;padding-top:0!important;padding-bottom:0!important}.pat-minor-page .modal-sidebar .modal-control-section{margin-top:10px;padding-top:10px}@media(max-width:1050px){.pat-minor-page .modal-sidebar :is(.minor-flow-controls,.minor-instrument-controls){grid-template-columns:repeat(2,minmax(0,1fr))}}
.pat-minor-page .minor-conversion-solfege{display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:8px;margin:7px 0 0;color:var(--info);font-size:.56rem}.pat-minor-page .minor-conversion-solfege select{height:30px!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;font-size:.65rem!important}
.pat-minor-page .modal-sidebar .minor-instrument-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.pat-minor-page #minorFretboard td span.minor-dual-root{border:3px solid #20b85a;background:linear-gradient(135deg,#d94555 0 50%,#20b85a 50% 100%);color:#fff;box-shadow:0 0 12px rgba(255,79,93,.3),0 0 12px rgba(66,235,117,.3)}
.pat-minor-page .minor-conversion-readings{display:grid;gap:6px;margin-top:7px}.pat-minor-page .minor-conversion-readings p{display:grid;grid-template-columns:130px 1fr;align-items:baseline;gap:14px;margin:0;font-size:.78rem}.pat-minor-page .minor-conversion-readings b{color:var(--info);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase}.pat-minor-page .minor-conversion-readings span{color:var(--card-text-strong);font-weight:650;letter-spacing:.025em}
.pat-minor-page .modal-stage>.modal-concept-box{grid-template-columns:1fr}.pat-minor-page .modal-concept-box>header{width:100%;min-width:0}
.pat-minor-page .modal-explanation dd.minor-harmony-playing{color:#dfff59;text-shadow:0 0 10px rgba(223,255,89,.65)}
.van-eps-page .modal-sidebar .modal-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.van-eps-page .modal-sidebar .modal-controls label:nth-child(n){grid-column:auto}.van-eps-quality{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.van-eps-quality button{height:38px;margin:0;padding:6px;border:1px solid #394452;border-radius:9px;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-low));color:var(--card-text);font-size:.67rem;font-weight:750}.van-eps-quality button:is(:hover,.active){border-color:var(--info-strong);background:linear-gradient(145deg,rgba(103,207,255,.14),var(--control-bg));color:#8fddff;box-shadow:0 0 0 2px rgba(103,207,255,.1)}.van-eps-page #vanEpsMechanisms{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.van-eps-page #vanEpsMechanisms .modal-chord{display:grid;height:54px!important;grid-template-columns:22px 1fr 12px;align-items:center;padding:6px!important;border:1px solid var(--card-border)!important;border-radius:9px!important;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-deep))!important;color:var(--card-text)!important}.van-eps-page #vanEpsMechanisms .modal-chord small{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#252d38;color:#8090a2!important;font-size:.42rem!important}.van-eps-page #vanEpsMechanisms .modal-chord strong{font-size:.58rem!important;line-height:1.1}.van-eps-page #vanEpsMechanisms .modal-chord span{color:#5c6877!important;font-size:.65rem}.van-eps-page #vanEpsMechanisms .modal-chord:is(:hover,.active){border-color:var(--info-strong)!important;background:linear-gradient(145deg,rgba(103,207,255,.14),var(--control-bg))!important;box-shadow:0 0 0 2px rgba(103,207,255,.1)!important}.van-eps-page #vanEpsMechanisms .modal-chord.active :is(small,strong,span){color:#8fddff!important}.van-eps-page #vanEpsGrid{gap:8px}.van-eps-page #vanEpsGrid .inversion-card{min-width:0}.van-eps-page #vanEpsGrid .shape-tone{position:relative;width:25px;height:25px;font-size:.48rem}.van-eps-page #vanEpsGrid .shape-tone i{position:absolute;right:-8px;top:-9px;color:#8fddff;font-size:.48rem;font-style:normal;text-shadow:0 0 5px #071119}.van-eps-page #vanEpsGrid .van-eps-held{border-color:#5c6877;background:#171b23;color:#d8dfe8}.van-eps-page #vanEpsGrid .van-eps-moving{border:2px solid #a8e8ff;background:#238bb1;color:#fff;box-shadow:0 0 10px rgba(103,207,255,.5)}.van-eps-page #vanEpsGrid .inversion-card.is-current{border-color:var(--info-strong);box-shadow:0 0 0 2px rgba(103,207,255,.14)}@media(max-width:1250px){.van-eps-page #vanEpsGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:700px){.van-eps-page #vanEpsGrid{grid-template-columns:1fr!important}}
.van-eps-study-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.van-eps-study-actions button{height:36px;margin:0;padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:var(--control-bg);color:var(--muted);font-size:.57rem;font-weight:750}.van-eps-study-actions .transport-action-wide{grid-column:1/-1}.van-eps-study-actions button:is(:hover,:focus-visible){background:color-mix(in srgb,var(--info) 10%,var(--control-bg));transform:translateY(-1px)}.van-eps-how-to{grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr)!important}.van-eps-how-to ol{grid-template-columns:repeat(4,minmax(0,1fr))}.van-eps-card-action{min-height:18px;margin:-3px 0 4px;color:var(--muted);font-size:.43rem;text-align:center}.van-eps-page #vanEpsGrid .inversion-card h3{white-space:nowrap}@media(max-width:1100px){.van-eps-how-to{grid-template-columns:1fr!important}.van-eps-how-to ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.van-eps-how-to ol{grid-template-columns:1fr}}
.van-eps-animation{margin:0 0 12px;padding:10px 12px 12px;border:1px solid #35404d;border-radius:12px;background:linear-gradient(145deg,#171c24,#11151b);overflow:hidden}.van-eps-animation>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.van-eps-animation>header div{display:flex;align-items:baseline;gap:9px}.van-eps-animation>header small{color:var(--info-strong);font-size:.48rem;font-weight:800;letter-spacing:.12em}.van-eps-animation>header strong{font-size:.72rem}.van-eps-animation>header>span{color:#8995a4;font-size:.54rem}.van-eps-animated-frets{display:grid;height:18px;grid-template-columns:repeat(var(--frets),1fr);align-items:center;margin-left:34px;border:1px solid #5a3d28;border-bottom:0;border-radius:7px 7px 0 0;background:rgba(30,18,12,.82);color:var(--accent)}.van-eps-animated-frets b{font-size:.48rem;text-align:center}.van-eps-animated-body{display:grid;grid-template-columns:34px minmax(0,1fr)}.van-eps-animated-strings{display:grid;height:144px;grid-template-rows:repeat(6,24px);place-items:center;border:1px solid #5a3d28;border-right:0;border-radius:0 0 0 7px;background:rgba(0,0,0,.28)}.van-eps-animated-strings b{color:#f1dfbd;font-size:.53rem}.van-eps-animated-neck{position:relative;box-sizing:border-box;height:144px;border:1px solid #5a3d28;border-radius:0 0 7px 0;background-color:#4a2a19;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100%/var(--frets) - 2px),rgba(190,170,135,.35) calc(100%/var(--frets) - 2px),rgba(190,170,135,.35) calc(100%/var(--frets))),repeating-linear-gradient(to bottom,transparent 0,transparent calc(8.3333% - .7px),rgba(235,222,190,.82) calc(8.3333% - .7px),rgba(235,222,190,.82) calc(8.3333% + .7px),transparent calc(8.3333% + .7px),transparent 16.6667%);box-shadow:inset 0 0 24px rgba(0,0,0,.35)}.van-eps-animated-note{position:absolute;z-index:2;display:grid;box-sizing:border-box;width:16px;height:16px;place-items:center;border-radius:50%;font-size:.42rem;font-weight:850;line-height:1;transform:translate(-50%,-50%);transition:left .44s cubic-bezier(.22,.75,.25,1),top .44s cubic-bezier(.22,.75,.25,1),background .2s,box-shadow .2s}.van-eps-animated-note.van-eps-held{border:1px solid #718091;background:#171b23;color:#e4ebf3;box-shadow:0 2px 5px rgba(0,0,0,.4)}.van-eps-animated-note.van-eps-moving{border:1px solid #a8e8ff;background:#238bb1;color:#fff;box-shadow:0 0 10px rgba(103,207,255,.5)}
.van-eps-fret-marker{position:absolute;z-index:1;top:50%;width:10px;height:10px;border:1px solid rgba(255,248,222,.92);border-radius:50%;background:#d8c99f;box-shadow:0 0 0 2px rgba(20,12,8,.25),0 0 7px rgba(255,235,180,.48);transform:translate(-50%,-50%);pointer-events:none}.van-eps-fret-marker.is-twelve{width:9px;height:9px;background:#eadcb5;box-shadow:0 -24px 0 #eadcb5,0 24px 0 #eadcb5,0 -24px 7px rgba(255,235,180,.5),0 24px 7px rgba(255,235,180,.5)}.van-eps-animated-note.van-eps-held{width:19px;height:19px;font-size:.45rem}.van-eps-animated-note.van-eps-moving{width:26px;height:26px;border:2px solid #e5f9ff;background:#159dcc;font-size:.57rem;box-shadow:0 0 0 4px rgba(103,207,255,.18),0 0 17px rgba(103,207,255,.86)}
.ted-greene-page .modal-sidebar .modal-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.ted-greene-page .modal-sidebar .modal-controls label:nth-child(n){grid-column:auto}.ted-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}.ted-choice-row button{height:38px;margin:0;padding:5px;border:1px solid #394452;border-radius:9px;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-low));color:var(--card-text);font-size:.56rem;font-weight:750}.ted-choice-row button:is(:hover,.active){border-color:#c99cff;background:linear-gradient(145deg,rgba(201,156,255,.14),var(--control-bg));color:#e1c6ff;box-shadow:0 0 0 2px rgba(201,156,255,.1)}.ted-sidebar-help{margin:-3px 0 7px;color:var(--muted);font-size:.55rem}.ted-greene-page #tedSopranos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.ted-greene-page #tedSopranos .modal-chord{display:grid;height:52px!important;grid-template-columns:18px 1fr;align-items:center;padding:5px!important;border:1px solid var(--card-border)!important;border-radius:9px!important;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-deep))!important}.ted-greene-page #tedSopranos .modal-chord small{color:#8491a1!important}.ted-greene-page #tedSopranos .modal-chord strong{color:var(--card-text-strong)!important;font-size:.68rem!important}.ted-greene-page #tedSopranos .modal-chord span{grid-column:1/-1;color:#74808e!important;font-size:.4rem!important}.ted-greene-page #tedSopranos .modal-chord.active{border-color:var(--info-strong)!important;background:rgba(103,207,255,.12)!important;box-shadow:0 0 0 2px rgba(103,207,255,.1)!important}.ted-greene-page #tedSopranos .modal-chord.active :is(small,strong,span){color:#9ee5ff!important}.ted-how-to{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important}.ted-how-to ol{grid-template-columns:repeat(3,minmax(0,1fr))}.ted-greene-page #tedGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ted-greene-page #tedGrid .inversion-card{position:relative}.ted-greene-page #tedGrid .inversion-card.is-current{border-color:#c99cff;box-shadow:0 0 0 2px rgba(201,156,255,.13)}.ted-card-colour{min-height:17px;margin:-3px 0 3px!important;color:#8793a1!important;font-size:.44rem!important}.ted-greene-page .ted-soprano{border:2px solid #dff7ff!important;background:#159dcc!important;color:#fff!important;box-shadow:0 0 11px rgba(103,207,255,.72)!important}.ted-greene-page .ted-root{border:2px solid #79f28f!important;background:#20b85a!important;color:#07130b!important;box-shadow:0 0 9px rgba(66,235,117,.45)!important}.ted-greene-page .ted-colour{border:2px solid #ffe889!important;background:#ffd84d!important;color:#11131a!important;box-shadow:0 0 9px rgba(255,216,77,.42)!important}.ted-greene-page .ted-heart{border:1px solid #718091!important;background:#171b23!important;color:#e4ebf3!important}.ted-animation .van-eps-animated-note.ted-soprano{width:27px;height:27px;font-size:.57rem}.ted-animation .van-eps-animated-note.ted-root,.ted-animation .van-eps-animated-note.ted-colour{width:23px;height:23px;font-size:.52rem}.ted-animation .van-eps-animated-note.ted-heart{width:19px;height:19px;font-size:.45rem}.ted-greene-page .wes-sequence-legend span:nth-child(1){color:#8fddff}.ted-greene-page .wes-sequence-legend span:nth-child(2){color:var(--card-text)}.ted-greene-page .wes-sequence-legend span:nth-child(3){color:#ffd84d}@media(max-width:1200px){.ted-greene-page #tedGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ted-how-to{grid-template-columns:1fr!important}}@media(max-width:700px){.ted-greene-page #tedGrid,.ted-how-to ol{grid-template-columns:1fr}}

/* Compact right-hand instructions shared by WES, Barry Harris and Pat Martino. */
.wes-block-page .modal-stage>.modal-explanation{gap:12px;margin:0 0 6px;padding:8px 11px;border-radius:12px}.wes-block-page .modal-stage>.modal-explanation h2{margin:1px 0;font-size:.88rem;line-height:1.1}.wes-block-page .modal-stage>.modal-explanation p{margin:2px 0;font-size:.55rem;line-height:1.25}.wes-block-page .modal-stage>.modal-explanation dl{gap:14px}.wes-block-page .modal-stage>.modal-explanation dd{margin:1px 0;font-size:.62rem}.wes-block-page .modal-stage>.modal-concept-box{grid-template-columns:minmax(175px,.42fr) minmax(0,1.58fr);gap:10px;margin:0 0 6px;padding:8px 11px;border-radius:12px}.wes-block-page .modal-stage>.modal-concept-box h2{margin:1px 0 3px;font-size:.85rem;line-height:1.1}.wes-block-page .modal-stage>.modal-concept-box header p{font-size:.52rem;line-height:1.25}.wes-block-page .modal-stage>.modal-concept-box ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.wes-block-page .modal-stage>.modal-concept-box li{grid-template-columns:20px minmax(0,1fr);gap:5px;padding:4px;border-radius:7px}.wes-block-page .modal-stage>.modal-concept-box li>b{width:19px;height:19px;font-size:.45rem}.wes-block-page .modal-stage>.modal-concept-box li strong{font-size:.56rem;line-height:1.1}.wes-block-page .modal-stage>.modal-concept-box li p{margin:1px 0 0;font-size:.48rem;line-height:1.18}@media(max-width:1150px){.wes-block-page .modal-stage>.modal-concept-box ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.wes-block-page .modal-stage>.modal-concept-box{grid-template-columns:1fr}.wes-block-page .modal-stage>.modal-concept-box ol{grid-template-columns:1fr}}

/* Modal Interchange: compact teaching strip aligned with the Masters modules. */
.modal-interchange-page .modal-stage>.modal-concept-box{grid-template-columns:minmax(175px,.42fr) minmax(0,1.58fr);gap:10px;margin:0 0 6px;padding:8px 11px;border-radius:12px}.modal-interchange-page .modal-stage>.modal-concept-box h2{margin:1px 0 3px;font-size:.85rem;line-height:1.1}.modal-interchange-page .modal-stage>.modal-concept-box header p{font-size:.52rem;line-height:1.25}.modal-interchange-page .modal-stage>.modal-concept-box ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.modal-interchange-page .modal-stage>.modal-concept-box li{grid-template-columns:20px minmax(0,1fr);gap:5px;padding:4px;border-radius:7px}.modal-interchange-page .modal-stage>.modal-concept-box li>b{width:19px;height:19px;font-size:.45rem}.modal-interchange-page .modal-stage>.modal-concept-box li strong{font-size:.56rem;line-height:1.1}.modal-interchange-page .modal-stage>.modal-concept-box li p{margin:1px 0 0;font-size:.48rem;line-height:1.18}@media(max-width:1150px){.modal-interchange-page .modal-stage>.modal-concept-box ol{grid-template-columns:1fr}}@media(max-width:800px){.modal-interchange-page .modal-stage>.modal-concept-box{grid-template-columns:1fr}}

.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-matrix-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-matrix-controls label:nth-child(n){grid-column:auto}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-matrix-controls label:first-child{grid-column:1/-1}.modal-interchange-page .modal-sidebar .modal-harmony-settings .modal-matrix-controls label:last-child{grid-column:1/-1}.modal-interchange-page .modal-palette button.is-source{border-color:var(--info-strong)!important;color:var(--info)!important;opacity:.72}.modal-interchange-page .modal-palette button:disabled{cursor:default}
.modal-interchange-page .modal-harmony-rows{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.modal-interchange-page .modal-harmony-rows>.modal-harmony-voicing[data-lane="custom"]{grid-column:1/-1}.modal-interchange-page .modal-harmony-voicing{transition:border-color .14s,box-shadow .14s,background .14s}.modal-interchange-page .modal-harmony-voicing h3{display:flex;align-items:center;gap:7px}.modal-interchange-page .modal-harmony-voicing h3 b{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--badge-bg-alt);color:var(--info)}.modal-interchange-page :is(.modal-chord,.modal-harmony-voicing).is-playing{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--card-bg))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent),0 0 18px color-mix(in srgb,var(--accent) 12%,transparent)!important}.modal-interchange-page .modal-harmony-voicing.is-playing h3 b{background:var(--accent);color:var(--card-bg-deep)}@media(max-width:1050px){.modal-interchange-page .modal-harmony-rows{grid-template-columns:1fr!important}}
.modal-interchange-page .modal-sidebar .modal-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-interchange-page .modal-sidebar .modal-actions #stopModalPlayback,.modal-interchange-page .modal-sidebar .modal-actions #openModalDaw{grid-column:1/-1}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(9){grid-column:2;grid-row:4}
.modal-interchange-page .modal-repeat-controls{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px;margin:0 0 8px}.modal-interchange-page .modal-repeat-controls label{min-width:0;margin:0}.modal-interchange-page .modal-repeat-controls :is(select,input){width:100%;height:34px;margin:3px 0 0;padding-top:4px;padding-bottom:4px}
.master-transport-section{padding-bottom:12px!important}.master-transport-section .modal-repeat-controls{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;margin:0 0 18px}.master-transport-section :is(label,input,select){min-width:0}.master-transport-section :is(input,select){width:100%;height:36px!important;margin:5px 0 0!important;padding-top:4px!important;padding-bottom:4px!important}.master-transport-section>label{display:block;margin:0 0 18px}.master-transport-section .modal-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:10px!important;row-gap:16px!important;width:100%}.master-transport-section .modal-actions button{width:100%!important;height:36px!important;min-height:36px!important;margin:0!important;padding:5px 10px!important;border-color:var(--line)!important;background:var(--control-bg)!important;color:var(--muted)!important;box-shadow:none!important;font-size:.64rem!important;font-weight:650!important}.master-transport-section .modal-actions .transport-action-daw{grid-column:1/-1}.master-transport-section .modal-actions button:is(:hover,:focus-visible){border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--control-bg))!important;color:var(--accent)!important}

/* Shared piano skin: restrained, instrument-like geometry across every workspace. */
.piano-keyboard{border:1px solid #050608!important;border-radius:2px!important;background:#050608!important;box-shadow:0 7px 18px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.08)!important}
.piano-keyboard .piano-key{transition:filter .08s linear,box-shadow .08s linear,transform .05s linear!important}
.piano-keyboard .piano-key.white{border:0!important;border-right:1px solid #777b7e!important;border-radius:0 0 2px 2px!important;background:linear-gradient(90deg,#c9c9c5 0,#f4f3ee 12%,#faf9f4 68%,#b9b9b5 100%)!important;box-shadow:inset 0 -7px 8px rgba(0,0,0,.16),inset 1px 0 rgba(255,255,255,.8)!important}
.piano-keyboard .piano-key.black{height:63%!important;border:1px solid #020203!important;border-radius:0 0 2px 2px!important;background:linear-gradient(90deg,#050607 0,#24272a 42%,#0b0c0e 72%,#020203 100%)!important;box-shadow:2px 4px 4px rgba(0,0,0,.72),inset 1px 0 rgba(255,255,255,.1)!important}
.piano-keyboard .piano-key:is(.chord-note,.tonic-note,.bass-note,.root-note,.active,.is-current){filter:saturate(.68) brightness(.94)}
.piano-keyboard .piano-key.white:is(.chord-note,.tonic-note,.bass-note,.root-note,.active,.is-current){background:linear-gradient(90deg,#aaa 0,#ecebe6 14%,#f7f6f1 72%,#a9aaa7 100%)!important}
.piano-keyboard .piano-key.black:is(.chord-note,.tonic-note,.bass-note,.root-note,.active,.is-current){background:linear-gradient(90deg,#030405,#30343a 45%,#08090b)!important}
.piano-keyboard .piano-key.chord-note{box-shadow:inset 0 -5px #c5a92f,inset 0 -8px rgba(197,169,47,.22)!important}.piano-keyboard .piano-key.tonic-note,.piano-keyboard .piano-key.root-note{box-shadow:inset 0 -5px #279a55,inset 0 -8px rgba(39,154,85,.2)!important}.piano-keyboard .piano-key.bass-note{box-shadow:inset 0 -5px #b64b53,inset 0 -8px rgba(182,75,83,.2)!important}

.modal-interchange-page .modal-harmony-voicing .shared-instrument.piano-tab{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px}
.modal-interchange-page .modal-harmony-voicing .shared-instrument.piano-tab>.card-label{grid-column:1}.modal-interchange-page .modal-harmony-voicing .shared-instrument.piano-tab>.piano-hand-label{grid-column:2;margin:0;justify-self:end}.modal-interchange-page .modal-harmony-voicing .shared-instrument.piano-tab>.piano-now{display:none}
.modal-interchange-page .modal-harmony-voicing .shared-instrument.piano-tab>.piano-keyboard{grid-column:1/-1;width:100%!important;aspect-ratio:auto!important}.modal-interchange-page .modal-harmony-voicing[data-lane="custom"] .shared-instrument.piano-tab{width:min(100%,680px)!important;margin-inline:auto}.modal-interchange-page .modal-harmony-voicing .piano-key .piano-key-finger{bottom:6px;height:22px;font-size:.6rem}.modal-interchange-page .modal-harmony-voicing .piano-key.black .piano-key-finger{bottom:5px;height:20px;font-size:.55rem}.modal-interchange-page .modal-voicing-grid .inversion-card.modal-harmony-voicing{padding:10px 10px 12px}
.modal-interchange-page .modal-chord{position:relative}.modal-interchange-page .modal-chord-play{position:absolute;right:5px;top:4px;color:var(--info)!important;font-size:.48rem;line-height:1}.modal-interchange-page .modal-chord:is(:hover,.is-playing) .modal-chord-play{color:var(--accent)!important}

/* Modal Interchange: two aligned rows for the shared tempo block. */
.modal-interchange-page .modal-sidebar>.pulse-settings-card{margin-top:13px;padding:13px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
@media(max-width:420px){}

/* Van Eps, Wyble and Greene share one compact sidebar sequence and theme treatment. */
.master-guitar-trio-page .modal-sidebar :is(#vanEpsQuality,#wyblePatterns,#tedFamilies) button,
.master-guitar-trio-page .modal-sidebar :is(#vanEpsMechanisms,#tedSopranos) .modal-chord,
.master-guitar-trio-page .modal-sidebar .van-eps-study-actions button{border-color:var(--line)!important;border-radius:7px!important;background:var(--control-bg)!important;color:var(--muted)!important;box-shadow:none!important}
.master-guitar-trio-page .modal-sidebar :is(#vanEpsQuality,#wyblePatterns,#tedFamilies) button:is(:hover,:focus-visible,.active),
.master-guitar-trio-page .modal-sidebar :is(#vanEpsMechanisms,#tedSopranos) .modal-chord:is(:hover,:focus-visible,.active),
.master-guitar-trio-page .modal-sidebar .van-eps-study-actions button:is(:hover,:focus-visible){border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--control-bg))!important;color:var(--accent)!important;box-shadow:none!important}
.master-guitar-trio-page .modal-sidebar :is(#vanEpsQuality,#wyblePatterns,#tedFamilies,#vanEpsMechanisms,#tedSopranos,.van-eps-study-actions) button :is(small,strong,span){color:inherit!important}
html[data-theme="light"] .master-guitar-trio-page .van-eps-animation{border-color:var(--line);background:linear-gradient(145deg,var(--surface),var(--surface-2))}
html[data-theme="light"] .master-guitar-trio-page .van-eps-animation>header strong{color:var(--text)}
html[data-theme="light"] .master-guitar-trio-page .van-eps-animation>header>span{color:var(--muted)}
.modal-interchange-page .modal-sidebar .modal-comparison>.modal-custom-progression{padding:3px 0 0!important;border:0!important;border-radius:0!important;background:transparent!important}.modal-interchange-page .modal-drop-slot.is-empty{border-style:dashed!important;background:transparent!important;color:#657283!important}.modal-interchange-page .modal-drop-slot.is-drag-over{border-color:var(--info-strong)!important;background:rgba(103,207,255,.14)!important}.modal-interchange-page .modal-empty-symbol{position:static!important;color:#657283!important;font-size:.9rem!important}.modal-interchange-page .modal-custom-progression header small{color:var(--info-strong)!important}
.modal-interchange-page #compactCustomProgression{width:auto!important;height:24px!important;min-height:24px!important;margin:0!important;padding:2px 7px!important;border-color:rgba(103,207,255,.38)!important;border-radius:6px!important;color:var(--info)!important;font-size:.5rem!important}
.modal-interchange-page .modal-walking-board .card-label,.modal-interchange-page .modal-walking-board .instrument-location{display:none!important}.modal-interchange-page .modal-walking-board .instrument-summary{min-height:20px!important;margin:0 0 4px!important}.modal-interchange-page .modal-walking-board .instrument-summary strong{font-size:.58rem!important}.modal-interchange-page .modal-walking-board .instrument-summary small{font-size:.48rem!important}.modal-interchange-page .modal-walking-board .fretboard table{min-width:860px;height:150px}.modal-interchange-page .modal-walking-board .walking-active-note{width:25px!important;height:25px!important;border:2px solid #8fe4ff!important;background:#168db7!important;color:#fff!important;font-size:.52rem!important;box-shadow:0 0 13px rgba(53,189,232,.7)!important;animation:walking-note-pulse .28s ease-out}.modal-interchange-page .modal-walking-board:not(.is-playing){opacity:.78}@keyframes walking-note-pulse{from{transform:scale(.65)}to{transform:scale(1)}}
.modal-interchange-page .modal-harmony-voicing .piano-tab>.card-label{display:none!important}.modal-interchange-page .modal-harmony-voicing .piano-hand-label{margin:0 0 4px!important}.modal-interchange-page .modal-harmony-voicing .piano-hand-label span{padding:2px 5px!important;font-size:.46rem!important}

/* Modal Interchange: the left workflow fits a standard desktop viewport. */
.modal-interchange-page .modal-sidebar{padding:11px 13px}.modal-interchange-page .modal-sidebar>header{padding:1px 0 8px}.modal-interchange-page .modal-sidebar>header h1{font-size:1.28rem}.modal-interchange-page .modal-sidebar .modal-controls{gap:5px 8px}.modal-interchange-page .modal-sidebar .modal-instrument-controls label:nth-child(n),.modal-interchange-page .modal-sidebar .modal-matrix-controls label:nth-child(n){grid-column:auto}.modal-interchange-page .modal-sidebar .modal-comparison{gap:4px}.modal-interchange-page .modal-sidebar .modal-comparison>article{padding:6px 0}.modal-interchange-page .modal-sidebar .modal-comparison article header{margin-bottom:3px}.modal-interchange-page .modal-sidebar .modal-chord{height:42px}.modal-interchange-page .modal-sidebar>.pulse-settings-card{margin-top:8px;padding-top:8px}.modal-interchange-page .modal-repeat-controls{margin-bottom:5px}

.context-nav .xpro-nav-link{border:1px solid rgba(190,121,238,.42);background:rgba(138,77,255,.07);color:#d8a8fa}.context-nav .xpro-nav-link:hover,.context-nav .xpro-nav-link.active{border-color:#b96ff0;background:rgba(138,77,255,.18);color:#f0d7ff}.xpro-access-dialog{border-color:rgba(190,121,238,.78)}.xpro-access-dialog article{background:linear-gradient(145deg,rgba(138,77,255,.18),transparent 48%),#171b24}.xpro-access-dialog header small{color:#d8a8fa}.xpro-access-dialog header button{border-color:rgba(190,121,238,.48)}.xpro-access-dialog footer button{border-color:#a65ed5;background:#7c42a5;color:#fff}.section-index-page:has(.xpro-nav-link.active) .entry-card{border-color:rgba(190,121,238,.3)}.section-index-page:has(.xpro-nav-link.active) .entry-number{color:#d8a8fa}
.section-index-page:has(.xpro-nav-link.active) .section-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:38px}.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-card{min-height:205px;padding:19px 21px}.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-icon{top:15px;right:19px;width:44px;height:44px;border-radius:12px}.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-icon svg{width:25px;height:25px}.section-index-page:has(.xpro-nav-link.active) .section-card-grid h2{margin:31px 0 5px;font-size:1.23rem}.section-index-page:has(.xpro-nav-link.active) .section-card-grid p{font-size:.72rem;line-height:1.38}.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-instruments{margin:8px 0 28px}.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-open{right:21px;bottom:14px;left:21px}

@media(min-width:901px){.splash-tier-track article>strong{box-sizing:border-box!important;height:68px!important;min-height:68px!important;flex:0 0 68px!important}}

/* Brani: keep a populated chorus compact without hiding tune or chord details. */
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .song-chorus-title{
    grid-template-columns:23px max-content minmax(0,1fr)!important;
    grid-template-rows:auto auto;
    column-gap:8px!important;
    row-gap:3px!important;
    padding-block:8px!important;
  }
  .songs-dashboard .song-chorus-title>span:first-child{grid-column:1;grid-row:1/3}
  .songs-dashboard .song-chorus-title>b{grid-column:2;grid-row:1}
  .songs-dashboard .song-chorus-title>.song-chorus-meta{display:contents}
  .songs-dashboard .song-chorus-meta>strong{
    grid-column:3;
    grid-row:1;
    min-width:0;
    overflow:visible;
    color:var(--warm);
    font-size:.69rem;
    line-height:1.15;
    overflow-wrap:anywhere;
    text-overflow:clip;
    white-space:normal;
  }
  .songs-dashboard .song-chorus-meta>small{
    grid-column:2;
    grid-row:2;
    min-width:0;
    overflow:visible;
    font-size:.5rem;
    line-height:1.15;
    overflow-wrap:anywhere;
    text-overflow:clip;
    white-space:normal;
  }
  .songs-dashboard .song-chorus-meta>em{
    grid-column:3;
    grid-row:2;
    min-width:0;
    margin:0!important;
    overflow:visible;
    font-size:.5rem;
    letter-spacing:.06em;
    line-height:1.2;
    overflow-wrap:anywhere;
    text-align:left;
    text-overflow:clip;
    white-space:normal;
  }
  .songs-dashboard .song-sidebar .chart-section{grid-template-columns:minmax(0,1fr)!important;gap:8px}
  .songs-dashboard .song-sidebar .chart-section>header{padding-right:8px!important}
  .songs-dashboard .song-sidebar .chord-bars{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .songs-dashboard .song-sidebar .chord-bar{
    display:flex;
    min-width:0;
    min-height:40px!important;
    flex-direction:column;
    justify-content:center;
    padding:4px 6px!important;
  }
  .songs-dashboard .song-sidebar .chord-bar small{font-size:.42rem;line-height:1.05}
  .songs-dashboard .song-sidebar .chord-bar strong{
    margin-top:2px;
    overflow:visible;
    font-size:.61rem;
    line-height:1.15;
    overflow-wrap:anywhere;
    text-overflow:clip;
    white-space:normal;
  }
}
@media(min-width:900px) and (max-width:1120px){
  .songs-dashboard .song-sidebar .chord-bars{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Masters: one compact, informative heading belongs to each single board. */
.shared-voicing-boards:has(>.shared-single-instrument-board)>header{
  min-height:46px;
  align-items:center;
  margin-bottom:8px!important;
  padding:4px 6px 9px!important;
}
.shared-voicing-boards:has(>.shared-single-instrument-board)>header h2{font-size:1.12rem;line-height:1.05}
.shared-voicing-boards:has(>.shared-single-instrument-board)>header p{display:none}
.shared-voicing-boards:has(>.shared-single-instrument-board)>header>span{
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--surface-2) 82%,transparent);
  color:var(--text)!important;
  font-size:.58rem!important;
  white-space:nowrap;
}
.shared-voicing-boards .shared-single-instrument-board>.inversion-card>h3{display:none!important}
.shared-voicing-boards .shared-single-instrument-board>.inversion-card{padding-top:0!important}
@media(max-width:700px){
  .shared-voicing-boards:has(>.shared-single-instrument-board)>header{align-items:flex-start;flex-direction:column;gap:6px}
  .shared-voicing-boards:has(>.shared-single-instrument-board)>header>span{white-space:normal}
}

/* Canonical instrument header: identical in every shared fretboard/keyboard. */
.shared-instrument>.card-label{display:none!important}
.shared-instrument>.instrument-summary{
  box-sizing:border-box;
  height:auto!important;
  min-height:30px!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 6px!important;
  padding:0 2px 5px!important;
  overflow:visible!important;
  border-bottom:1px solid var(--section-line)!important;
}
.shared-instrument>.instrument-summary .instrument-identity{min-width:0;flex:1 1 auto}
.shared-instrument>.instrument-summary .instrument-identity :is(strong,small){
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
}
.shared-instrument>.instrument-summary .instrument-location{flex:0 0 auto;white-space:normal}
.shared-instrument>.instrument-summary .piano-hand-label{flex:0 0 auto;margin:0!important}

/* Songs desktop: the page scrolls; neither half of the left card is a scroll box. */
@media(min-width:900px) and (min-height:720px){
  html.jazz-page,html.jazz-page body.songs-dashboard{height:auto!important;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important}
  html.jazz-page body.songs-dashboard .songs-shell{height:auto!important;min-height:calc(100vh - 92px);grid-template-rows:auto!important;align-items:stretch}
  .songs-dashboard .song-sidebar{min-height:0!important;height:auto!important;align-self:stretch;overflow:hidden!important}
  .songs-dashboard .song-sidebar>.songs-hero{flex:0 0 auto!important;min-height:0!important;overflow:visible!important}
  .songs-dashboard .song-sidebar>.chart-sections{flex:1 1 auto!important;min-height:0!important;overflow:visible!important}
  .songs-dashboard .song-chorus-sections{min-height:0!important;flex:0 0 auto!important;overflow:visible!important}
  .songs-dashboard .song-sidebar .song-run-controls{margin-top:auto!important;padding-top:10px!important}
  .songs-dashboard .chord-trainer{height:auto!important;min-height:0!important;align-self:stretch}
  .songs-dashboard .chord-trainer>.phrase-card{min-height:0;padding:8px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}
  .songs-dashboard .chord-trainer>.phrase-card::after{display:none}
  .songs-dashboard .song-sidebar .chart-section{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:6px;padding:5px 0!important}
  .songs-dashboard .song-sidebar .chart-section>header{display:flex;min-height:0;align-items:center;margin:0!important;padding:0 6px 0 0!important;border-right:0!important;border-bottom:0!important}
  .songs-dashboard .song-sidebar .chart-section>header h3{font-size:.66rem;letter-spacing:.04em;text-transform:none;white-space:normal}
  .songs-dashboard .song-chorus-title{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:5px 7px!important}
  .songs-dashboard .song-chorus-title>b{color:var(--accent);font-size:.74rem}
  .songs-dashboard .song-chorus-title>.song-chorus-meta{display:grid;grid-column:1/-1;grid-template-columns:minmax(100px,1fr) minmax(60px,.6fr) minmax(145px,1.25fr);width:100%;height:auto;align-items:center;justify-items:stretch;gap:8px;min-width:0;padding:2px 0 0;border:0;border-radius:0;line-height:normal}
  .songs-dashboard .song-chorus-meta>:is(strong,small,em){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .songs-dashboard .song-chorus-meta>strong{font-size:.69rem}.songs-dashboard .song-chorus-meta>small{font-size:.52rem}.songs-dashboard .song-chorus-meta>em{margin-left:0!important;font-size:.53rem;text-align:right}
  .songs-dashboard .song-run-controls button:last-child,.songs-dashboard .chart-sections>#openSongInDaw{border-color:rgba(223,255,89,.62)!important;background:var(--active-card-bg)!important;color:var(--accent)!important;box-shadow:none!important}
  .songs-dashboard .song-run-controls button:last-child.is-playing{background:var(--accent)!important;color:var(--bg)!important}
  .songs-dashboard .chart-sections>#openSongInDaw{display:flex!important;width:100%!important;min-height:32px;align-items:center;justify-content:center;margin:5px 0 0!important;padding:7px!important;border-width:1px!important;border-style:solid!important;border-radius:10px!important;font-size:.62rem!important;font-weight:700;text-decoration:none;white-space:nowrap}
}

/* Masters: keep dark chord tones as legible as the other note markers. */
.ted-greene-page #tedGrid .guitar-tab .fretboard td{position:relative}
.ted-greene-page #tedGrid .guitar-tab .fretboard td.marker::before,
.ted-greene-page #tedGrid .guitar-tab .fretboard td.double-marker::before{
  z-index:0;
  width:8px;
  height:8px;
  background:rgba(238,222,183,.72);
}
.ted-greene-page #tedGrid .guitar-tab .fretboard td span{position:relative;z-index:2}
.van-eps-page #vanEpsGrid .van-eps-held,
.ted-greene-page #tedGrid .ted-heart{
  width:21px!important;
  height:21px!important;
  font-size:.5rem!important;
}
.van-eps-animation .van-eps-animated-note.van-eps-held,
.ted-animation .van-eps-animated-note.ted-heart{
  width:23px!important;
  height:23px!important;
  font-size:.52rem!important;
}
.ted-greene-page .wes-sequence-boards #tedGrid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:1200px){
  .ted-greene-page .wes-sequence-boards #tedGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .ted-greene-page .wes-sequence-boards #tedGrid{grid-template-columns:1fr}
}
.wyble-page .wyble-patterns{grid-template-columns:repeat(2,minmax(0,1fr))}
.wyble-page #wybleGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
.wyble-page #wybleGrid .shape-tone{position:relative;width:23px!important;height:23px!important;font-size:.5rem!important}
.wyble-page #wybleGrid .shape-tone i{position:absolute;right:-8px;top:-9px;font-size:.48rem;font-style:normal}
.wyble-line-0{border:2px solid #ffbf78!important;background:#c66b24!important;color:#160b03!important;box-shadow:0 0 11px rgba(255,145,61,.58)!important}
.wyble-line-1{border:2px solid #dff7ff!important;background:#159dcc!important;color:#fff!important;box-shadow:0 0 11px rgba(103,207,255,.72)!important}
.wyble-animation .van-eps-animated-note{width:27px;height:27px;font-size:.58rem}
.wyble-page .wes-sequence-legend span:first-child{color:#ffb76f}.wyble-page .wes-sequence-legend span:last-child{color:#8fddff}
@media(max-width:1200px){.wyble-page #wybleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.wyble-page #wybleGrid{grid-template-columns:1fr}}
.shared-voicing-boards .modal-voicing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.shared-voicing-boards .shared-single-instrument-board{grid-template-columns:minmax(0,1fr)!important}
.shared-voicing-boards .shared-single-instrument-board .shared-instrument{width:100%;max-width:none}
.shared-instrument>.piano-keyboard{height:auto!important}
.shared-instrument.piano-tab>.piano-keyboard{width:min(100%,calc(var(--white-count) * 37px))!important;aspect-ratio:calc(var(--white-count) * .185) / 1!important;margin-inline:auto!important;border-width:1px;box-shadow:none}
.shared-instrument .piano-key.white{border-right:1px solid #a7a8a5!important;border-radius:0!important;background:#f3f1e9!important;box-shadow:none!important}
.shared-instrument .piano-key.black{height:62%!important;border:0!important;border-radius:0 0 1px 1px!important;background:#111418!important;box-shadow:0 2px 2px rgba(0,0,0,.36)!important}
.shared-instrument .piano-key .piano-key-finger{bottom:3px!important;width:14px!important;height:14px!important;border-width:1px!important;border-radius:4px!important;font-size:.48rem!important;box-shadow:none!important}
.shared-instrument .piano-key.black .piano-key-finger{bottom:2px!important;width:12px!important;height:12px!important;border-radius:3px!important;font-size:.42rem!important}
.shared-voicing-boards .inversion-card{position:relative;padding:7px 8px 9px}
.shared-voicing-boards .inversion-card h3{display:flex;align-items:center;gap:5px;margin:0 0 4px;font-size:.56rem}
.shared-voicing-boards .inversion-card h3 b{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--accent);font-size:.46rem}
.shared-voicing-boards .inversion-card .guitar-tab .fretboard{padding:2px 0;overflow:visible}
.shared-voicing-boards .inversion-card .guitar-tab .fretboard table{height:auto!important}
.shared-voicing-boards .inversion-card .guitar-tab .fretboard tbody :is(tr,th,td){height:32px!important}
.shared-voicing-boards .modal-play-voicing{position:absolute;right:6px;top:4px;width:22px;height:20px;margin:0;padding:0;font-size:.45rem}
@media(max-width:1200px){.shared-voicing-boards .modal-voicing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.shared-voicing-boards .modal-voicing-grid{grid-template-columns:1fr}}
.van-eps-fret-marker.is-twelve{
  border:0;
  background:transparent;
}

/* Compact, uniform cards for every section menu: Courses, Labs, Masters and Composition. */
.section-index-page .section-index-shell{padding-top:24px}
.section-index-page .entry-section{margin-top:18px}
.section-index-page .section-card-grid,
.section-index-page:has(.xpro-nav-link.active) .section-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
  grid-auto-rows:1fr;
  gap:10px;
  margin-top:0;
}
.section-index-page .section-card-grid .entry-card,
.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-card{
  display:flex;
  box-sizing:border-box;
  min-height:158px;
  height:100%;
  flex-direction:column;
  padding:14px 15px 12px;
  border-radius:13px;
}
.section-index-page .section-card-grid .entry-card::before{right:14px;left:14px}
.section-index-page .section-card-grid .entry-number{font-size:.52rem}
.section-index-page .section-card-grid .entry-icon,
.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-icon{
  top:10px;
  right:12px;
  width:34px;
  height:34px;
  border-radius:9px;
}
.section-index-page .section-card-grid .entry-icon svg,
.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-icon svg{width:19px;height:19px}
.section-index-page .section-card-grid .entry-card h2,
.section-index-page:has(.xpro-nav-link.active) .section-card-grid h2{
  max-width:calc(100% - 38px);
  margin:19px 0 3px;
  padding:0;
  font-size:1rem;
  line-height:1.12;
}
.section-index-page .section-card-grid .entry-card p,
.section-index-page:has(.xpro-nav-link.active) .section-card-grid p{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:var(--muted);
  font-size:.62rem;
  line-height:1.3;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.section-index-page .section-card-grid .entry-instruments,
.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-instruments{
  gap:3px;
  margin:7px 0 5px;
  margin-top:auto;
}
.section-index-page .section-card-grid .entry-instruments>span{gap:3px;padding:3px 5px;font-size:.46rem}
.section-index-page .section-card-grid .entry-instruments b{font-size:.58rem}
.section-index-page .section-card-grid .entry-open,
.section-index-page:has(.xpro-nav-link.active) .section-card-grid .entry-open{
  position:static;
  width:100%;
  margin-top:0;
  padding-top:6px;
  border-top:1px solid var(--line);
  font-size:.53rem;
}
@media(max-width:700px){
  .section-index-page .section-card-grid,
  .section-index-page:has(.xpro-nav-link.active) .section-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){
  .section-index-page .section-card-grid,
  .section-index-page:has(.xpro-nav-link.active) .section-card-grid{grid-template-columns:1fr}
}
.masters-independent-note{max-width:980px;margin:14px 0 0;padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.56rem;line-height:1.4}

/* McCoy Tyner · original quartal studies, using the shared Masters grammar. */
.mccoy-page .mccoy-attribution{margin:12px 0 24px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 82%,transparent)}
.mccoy-page .mccoy-attribution strong{color:var(--accent)}
.mccoy-page .mccoy-attribution p{margin:3px 0 0;color:var(--muted);font-size:.62rem;line-height:1.45}
.mccoy-page .mccoy-card{min-width:0}
.mccoy-page .mccoy-card h3{white-space:normal;overflow:visible;text-overflow:clip}
.mccoy-page .modal-chord-row button{min-width:0;white-space:normal;overflow-wrap:anywhere}
.mccoy-page .modal-chord-row button strong,.mccoy-page .modal-chord-row button span{white-space:normal;overflow:visible;text-overflow:clip}
.mccoy-page.modal-interchange-page .modal-sidebar .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.mccoy-page.modal-interchange-page .modal-sidebar .modal-actions #mccoyDaw{grid-column:1/-1}
.mccoy-page .modal-voicing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mccoy-page .focused-keyboard{min-width:430px}
@media(max-width:900px){.mccoy-page .modal-voicing-grid{grid-template-columns:1fr}}

.mccoy-page .modal-stage>.mccoy-how{grid-template-columns:minmax(0,1fr) 250px;align-items:stretch}
.mccoy-page .mccoy-how>header{display:block;min-width:0}

/* Theme audit: shared cards must inherit the semantic palette in both themes. */
.standard-catalog-modal{background:linear-gradient(180deg,var(--surface-2),var(--surface))}
.section-card-grid .entry-instruments>span{color:var(--card-text-strong)}
.chords-page #commonToneAlternatives button{height:auto;min-height:42px;white-space:normal}
.chords-page #commonToneAlternatives button small{display:block;line-height:1.15;white-space:normal}
.ted-greene-page .ted-soprano{background:#0f6f93!important}
html[data-theme="light"] .section-index-page:has(.xpro-nav-link.active) .entry-number{color:var(--instrument-heading)}
html[data-theme="light"] :is(.barry-scales-page #barryProgression,.wes-block-page #wesProgression,.pat-martino-page #martinoProgression,.shared-sequence-buttons) .modal-chord.active strong{color:var(--accent)!important}
html[data-theme="light"] .pat-minor-page #minorConversionList .modal-chord.active{background:color-mix(in srgb,var(--accent) 10%,var(--card-bg))!important}
html[data-theme="light"] .pat-minor-page #minorConversionList .modal-chord.active :is(small,strong){color:var(--accent)!important}
html[data-theme="light"] :is(.billing-profile-note,.status-badge.suspended){color:var(--education-strong)}
html[data-theme="light"] .billing-sandbox{border-color:var(--education);background:color-mix(in srgb,var(--education) 9%,var(--surface));color:var(--education-strong)}
.mccoy-page .mccoy-how>header>h2{font-size:1rem!important}.mccoy-page .mccoy-how>header>p{font-size:.64rem!important;line-height:1.45!important}
.mccoy-page .mccoy-how>header>ol{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:12px 0 0!important}
.mccoy-page .mccoy-how>header li{min-height:62px;padding:8px 9px!important}.mccoy-page .mccoy-how>header li strong{font-size:.65rem!important;line-height:1.2}.mccoy-page .mccoy-how>header li p{margin-top:3px!important;font-size:.57rem!important;line-height:1.3!important}
.mccoy-page .mccoy-how>.martino-geometry{width:250px;justify-self:end;aspect-ratio:1}
.mccoy-page .mccoy-how #mccoyCircle{display:flex;width:100%;min-height:0;flex:1;flex-direction:column}.mccoy-page .mccoy-how #mccoyCircle svg{min-height:0;flex:1}
.shared-sequence-buttons{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
.shared-sequence-buttons .modal-chord{position:relative;display:flex!important;height:50px!important;min-height:50px;flex-direction:column;align-items:center;justify-content:center;padding:4px 5px!important;border:1px solid var(--card-border)!important;border-radius:8px!important;background:linear-gradient(145deg,var(--card-bg),var(--card-bg-deep))!important;color:var(--card-text)!important;box-shadow:0 3px 9px rgba(0,0,0,.14)!important;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease!important}
.shared-sequence-buttons .modal-chord small{display:flex;width:100%;align-items:center;justify-content:space-between;margin:0;color:var(--info-strong)!important;font-size:.36rem!important;letter-spacing:.045em;white-space:nowrap}
.shared-sequence-buttons .modal-chord small b{display:grid;width:13px;height:13px;place-items:center;border-radius:50%;background:var(--badge-bg);color:var(--badge-text);font-size:.34rem}
.shared-sequence-buttons .modal-chord strong{max-width:100%;margin:0;color:var(--card-text-strong)!important;font-size:.58rem!important;line-height:1;white-space:normal;text-align:center}
.shared-sequence-buttons .modal-chord span{display:flex;max-width:100%;align-items:center;justify-content:center;gap:2px;color:var(--card-text-soft)!important;font-size:.35rem!important;line-height:1;white-space:normal;text-align:center}
.shared-sequence-buttons .modal-chord span i{display:grid;width:11px;height:11px;flex:0 0 11px;place-items:center;border-radius:50%;background:var(--badge-bg-alt);color:var(--badge-text-strong);font-size:.28rem;font-style:normal}
.shared-sequence-buttons .modal-chord:is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.28)!important}
.shared-sequence-buttons .modal-chord.active{border-color:#dfff59!important;background:linear-gradient(145deg,rgba(223,255,89,.14),var(--active-card-bg))!important;box-shadow:0 0 0 2px rgba(223,255,89,.12),0 8px 20px rgba(0,0,0,.28)!important}
.shared-sequence-buttons .modal-chord.active strong{color:#dfff59!important}
@media(max-width:1050px){.mccoy-page .modal-stage>.mccoy-how{grid-template-columns:minmax(0,1fr) 230px}.mccoy-page .mccoy-how>.martino-geometry{width:230px}.mccoy-page .mccoy-how>header>ol{grid-template-columns:1fr!important}.mccoy-page .mccoy-how>header li{min-height:0}}
@media(max-width:800px){.mccoy-page .modal-stage>.mccoy-how{grid-template-columns:1fr}.mccoy-page .mccoy-how>.martino-geometry{width:min(100%,250px);justify-self:end}}
@media(max-width:520px){.shared-sequence-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.mccoy-page .mccoy-interval-reading{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:0 0 6px!important;padding:4px 7px;border:1px solid rgba(103,207,255,.22);border-radius:7px;background:rgba(103,207,255,.05);text-align:center}
.mccoy-page .mccoy-interval-reading small{color:var(--info-strong);font-size:.42rem;font-weight:800;letter-spacing:.07em}.mccoy-page .mccoy-interval-reading strong{color:var(--card-text-strong);font-size:.64rem;word-spacing:.2em}
.mccoy-page #mccoyGrid .mccoy-card{display:grid;grid-template-rows:24px 52px auto;align-content:start}
.mccoy-page #mccoyGrid .mccoy-card>h3{display:flex;min-width:0;align-items:center;margin:0!important;line-height:1.1}
.mccoy-page #mccoyGrid .mccoy-interval-reading{box-sizing:border-box;height:46px;align-items:center;align-self:start;margin-bottom:6px!important}
.mccoy-page #mccoyGrid .mccoy-interval-reading small{flex:0 0 88px;line-height:1.25}.mccoy-page #mccoyGrid .mccoy-interval-reading strong{display:block;min-width:0;line-height:1.35}
.mccoy-page #mccoyGrid .shared-instrument.guitar-tab .tab-scroll.fretboard{min-height:0!important}
.mccoy-page .piano-key .mccoy-piano-interval{position:absolute;z-index:4;right:0;bottom:4px;left:0;color:#111820;font-size:.52rem;font-weight:900;text-align:center}.mccoy-page .piano-key.black .mccoy-piano-interval{bottom:3px;color:#f6f8fa;font-size:.46rem}

/* Licence-led public journey: snapshots live on the four secondary pages. */
.splash-page:not(.licence-showcase-page) .splash-showcase{display:none}
.splash-tier-track article{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.splash-tier-track article[role="link"],.splash-tier-track article[role="link"]:is(:hover,:focus-visible){text-decoration:none!important}
.splash-tier-track article:is(:hover,:focus-visible){outline:0;transform:translateY(-5px);border-color:var(--accent);box-shadow:0 25px 65px rgba(0,0,0,.34)}
.licence-showcase-shell{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:70px 0 90px}
.licence-showcase-hero{position:relative;max-width:920px;padding:42px 0 62px}.licence-showcase-hero>a:first-child{display:inline-block;margin-bottom:38px;color:var(--muted);font-size:.68rem;text-decoration:none}.licence-showcase-number{position:absolute;top:26px;right:0;color:color-mix(in srgb,var(--accent) 16%,transparent);font:800 clamp(6rem,14vw,12rem)/1 "DM Sans",sans-serif;pointer-events:none}.licence-showcase-hero .kicker{position:relative;margin:0 0 10px}.licence-showcase-hero h1{position:relative;max-width:820px;margin:0;font:750 clamp(3rem,6vw,6.2rem)/.94 "DM Sans",sans-serif;letter-spacing:-.055em}.licence-showcase-hero>p:not(.kicker){position:relative;max-width:760px;margin:25px 0;color:var(--muted);font-size:.9rem;line-height:1.65}.licence-showcase-hero .splash-primary{position:relative;display:inline-flex;width:auto}
.licence-adv .licence-showcase-hero .kicker,.licence-adv .licence-snapshot-section>header small{color:#83eaa8}.licence-pro .licence-showcase-hero .kicker,.licence-pro .licence-snapshot-section>header small{color:#8fc8ff}.licence-xpro .licence-showcase-hero .kicker,.licence-xpro .licence-snapshot-section>header small{color:#d8a8fa}.licence-edu .licence-showcase-hero .kicker,.licence-edu .licence-snapshot-section>header small{color:var(--education-strong)}html[data-theme="light"] .licence-edu .licence-showcase-hero .kicker,html[data-theme="light"] .licence-edu .licence-snapshot-section>header small{color:#795600}
.licence-snapshot-section{padding-top:36px;border-top:1px solid var(--line)}.licence-snapshot-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.licence-snapshot-section>header small{color:var(--accent);font-size:.58rem;font-weight:900;letter-spacing:.14em}.licence-snapshot-section h2{margin:5px 0 0;font:700 clamp(1.65rem,3vw,2.8rem) "DM Sans",sans-serif}
.licence-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.licence-snapshot-grid article{min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel-gradient)}.licence-snapshot-grid figure{aspect-ratio:16/10;margin:0;overflow:hidden;border-bottom:1px solid var(--line);background:var(--surface-2)}.licence-snapshot-grid img{width:100%;height:100%;object-fit:cover;object-position:top left}.licence-snapshot-grid article>div{padding:17px 19px 21px}.licence-snapshot-grid article span{color:var(--accent);font-size:.52rem;font-weight:900}.licence-snapshot-grid h3{margin:10px 0 6px;font:700 1.05rem "DM Sans",sans-serif}.licence-snapshot-grid p{margin:0;color:var(--muted);font-size:.69rem;line-height:1.5}
.licence-neighbour-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:38px}.licence-neighbour-nav a{padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.65rem;font-weight:900;text-align:center;text-decoration:none}.licence-neighbour-nav a:is(:hover,.active){border-color:var(--accent);color:var(--accent)}.licence-edu .licence-neighbour-nav a.active{border-color:var(--education);color:var(--education-strong)}
@media(min-width:851px){
  .licence-showcase-page{overflow-y:hidden}
  .licence-showcase-shell{display:grid;height:calc(100vh - 96px);padding:10px 0 8px;grid-template-rows:auto minmax(0,1fr) auto;align-content:start}
  .licence-showcase-hero{display:grid;max-width:none;padding:0 0 13px;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:center}
  .licence-showcase-hero>a:first-child{grid-column:1/-1;margin:0 0 5px;font-size:.6rem}
  .licence-showcase-number{top:-5px;right:150px;font-size:6.2rem}
  .licence-showcase-hero .kicker{grid-column:1;margin:0 0 3px;font-size:.55rem}
  .licence-showcase-hero h1{grid-column:1;max-width:none;font-size:clamp(2rem,3.2vw,3.35rem);line-height:.95}
  .licence-showcase-hero>p:not(.kicker){grid-column:1;max-width:900px;margin:8px 0 0;font-size:.7rem;line-height:1.4}
  .licence-showcase-hero .splash-primary{grid-column:2;grid-row:2/5;margin:0;padding:11px 15px;align-self:center}
  .licence-snapshot-section{min-height:0;padding-top:11px}
  .licence-snapshot-section>header{margin-bottom:8px}
  .licence-snapshot-section>header small{font-size:.5rem}.licence-snapshot-section h2{margin-top:2px;font-size:1.25rem}
  .licence-snapshot-grid{width:94%;height:auto;margin-inline:auto;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;align-self:start}
  .licence-snapshot-grid article{display:grid;min-height:0;grid-template-rows:minmax(0,1fr) auto;border-radius:13px}
  .licence-snapshot-grid figure{height:clamp(190px,28vh,270px);min-height:0;aspect-ratio:auto}
  .licence-snapshot-grid figure img{width:100%;max-width:100%;object-fit:contain;clip-path:inset(0 12px 12px 0)}
  .licence-snapshot-grid article>div{padding:8px 11px 10px}
  .licence-snapshot-grid h3{margin:3px 0 2px;font-size:.82rem}.licence-snapshot-grid p{font-size:.57rem;line-height:1.3}
  .licence-showcase-shell>.masters-independent-note{margin:5px 0 0;padding:5px 9px;font-size:.5rem}
  .licence-neighbour-nav{margin-top:8px}.licence-neighbour-nav a{padding:7px;font-size:.58rem}
}
@media(max-width:850px){.licence-snapshot-grid{grid-template-columns:1fr}.licence-snapshot-grid figure{aspect-ratio:16/8}.licence-showcase-number{opacity:.65}}@media(max-width:650px){.licence-showcase-shell{width:calc(100% - 28px);padding-top:35px}.licence-showcase-hero{padding-bottom:42px}.licence-showcase-hero h1{font-size:clamp(2.5rem,13vw,4rem)}.licence-showcase-number{top:45px}.licence-neighbour-nav{grid-template-columns:repeat(2,1fr)}}

/* One guide component for "How it works" and "How to practise" across all Masters. */
body .modal-stage>.master-guide{grid-template-columns:minmax(190px,.46fr) minmax(0,1.54fr);align-items:stretch}
body .modal-stage>.master-guide>ol{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-content:start;gap:7px!important;margin:0!important}
body .modal-stage>.master-guide li{min-height:58px!important;padding:9px 10px!important}
body .modal-stage>.master-guide li>b{width:24px!important;height:24px!important;font-size:.52rem!important}
body .modal-stage>.master-guide li strong{font-size:.68rem!important;line-height:1.22!important}
body .modal-stage>.master-guide li p{margin-top:4px!important;font-size:.59rem!important;line-height:1.38!important}
body .modal-stage>.master-guide-with-visual{grid-template-columns:minmax(190px,.46fr) minmax(280px,1fr) 250px!important}
body .modal-stage>.master-guide-with-visual>ol{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body .modal-stage>.master-guide-with-visual>.martino-geometry{width:250px;justify-self:end}
@media(max-width:1150px){body .modal-stage>.master-guide>ol{grid-template-columns:repeat(2,minmax(0,1fr))!important}body .modal-stage>.master-guide-with-visual{grid-template-columns:minmax(180px,.42fr) minmax(240px,1fr) 220px!important}body .modal-stage>.master-guide-with-visual>.martino-geometry{width:220px}body .modal-stage>.master-guide-with-visual>ol{grid-template-columns:1fr!important}}
@media(max-width:800px){body .modal-stage>.master-guide,body .modal-stage>.master-guide-with-visual{grid-template-columns:1fr!important}body .modal-stage>.master-guide>ol{grid-template-columns:1fr!important}body .modal-stage>.master-guide-with-visual>.martino-geometry{width:min(100%,250px);justify-self:end}}
.music-circle-note.is-fixed circle{fill:color-mix(in srgb,var(--info) 16%,var(--card-bg-deep));stroke:var(--info-strong);stroke-width:2}.music-circle-note.is-fixed text{fill:var(--info)}
.music-circle-note.is-moved circle{fill:color-mix(in srgb,#ffad55 16%,var(--card-bg-deep));stroke:#ffad55;stroke-width:3}.music-circle-note.is-moved text{fill:color-mix(in srgb,#ffad55 78%,var(--text))}
.music-circle-note.is-borrowed circle{fill:color-mix(in srgb,#ca8cff 16%,var(--card-bg-deep));stroke:#ca8cff;stroke-width:3}.music-circle-note.is-borrowed text{fill:color-mix(in srgb,#ca8cff 78%,var(--text))}
.music-circle-note.is-tonic circle{fill:color-mix(in srgb,#66e98c 16%,var(--card-bg-deep));stroke:#66e98c;stroke-width:3}.music-circle-note.is-tonic text{fill:color-mix(in srgb,#66e98c 78%,var(--text))}

/* Keep the splash statement visually level with the animated product preview. */
@media(min-width:901px){
  .splash-page .splash-hero-compact .splash-copy h1{max-width:650px;margin:8px 0 15px;font-size:clamp(2.45rem,3.8vw,4rem);line-height:.94}
  .splash-page .splash-hero-compact .splash-copy h1 em{margin-top:5px}
  .splash-page .splash-hero-compact .splash-copy>p:not(.kicker){font-size:clamp(.82rem,.95vw,.96rem);line-height:1.5}
  .splash-page .splash-hero-compact .splash-copy .splash-purpose{margin-top:10px;padding-block:8px;font-size:.72rem;line-height:1.4}
  .splash-page .splash-feature-pills{margin-top:13px}.splash-page .splash-feature-pills li{padding:6px 9px;font-size:.62rem}
  .splash-page .splash-actions{margin-top:17px}.splash-page .splash-proof{margin-top:18px;padding-top:14px}
}

/* Masters remain scrollable, but never expose browser scrollbar tracks. */
.modal-interchange-page,.modal-interchange-page *{scrollbar-width:none}
.modal-interchange-page::-webkit-scrollbar,.modal-interchange-page *::-webkit-scrollbar{display:none;width:0;height:0}

.bill-evans-page #evansGrid .mccoy-card{display:grid;grid-template-rows:24px 52px auto;align-content:start}
.bill-evans-page #evansGrid .mccoy-card>h3{display:flex;align-items:center;margin:0!important}
.bill-evans-page #evansGrid .mccoy-interval-reading{display:flex;box-sizing:border-box;height:46px;align-items:center;justify-content:center;gap:8px;margin:0 0 6px!important;padding:4px 7px;border:1px solid rgba(103,207,255,.22);border-radius:7px;background:rgba(103,207,255,.05);text-align:center}
.bill-evans-page #evansGrid .mccoy-interval-reading small{flex:0 0 88px;color:var(--info-strong);font-size:.42rem;font-weight:800;line-height:1.25}.bill-evans-page #evansGrid .mccoy-interval-reading strong{font-size:.64rem;line-height:1.35}
.bill-evans-page .piano-key .mccoy-piano-interval{position:absolute;z-index:4;right:0;bottom:4px;left:0;color:#111820;font-size:.52rem;font-weight:900;text-align:center}.bill-evans-page .piano-key.black .mccoy-piano-interval{color:#fff}
.master-guide-with-visual{margin-bottom:24px!important}.master-guide .martino-geometry{position:relative}.master-guide-circle-legend{position:absolute;top:calc(100% + 5px);right:0;left:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px 8px;margin:0;color:var(--muted);font-size:.42rem}.master-guide-circle-legend span:before{display:inline-block;width:7px;height:7px;margin-right:3px;border-radius:50%;background:var(--legend-colour);content:""}.master-guide-circle-legend .tonic{--legend-colour:#66e98c}.master-guide-circle-legend .active{--legend-colour:#dfff59}.master-guide-circle-legend .fixed{--legend-colour:var(--info-strong)}.master-guide-circle-legend .moved{--legend-colour:#ffad55}.master-guide-circle-legend .borrowed{--legend-colour:#ca8cff}
.master-editorial-note{margin:12px 0 24px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 82%,transparent)}.master-editorial-note strong{color:var(--accent)}.master-editorial-note p{margin:3px 0 0;color:var(--muted);font-size:.62rem;line-height:1.45}
.pat-minor-page .modal-stage>.master-guide-with-visual{grid-template-columns:minmax(260px,.8fr) minmax(240px,1fr) 220px!important}.pat-minor-page .master-guide-with-visual>.martino-geometry{width:220px}.pat-minor-page .minor-conversion-readings p{grid-template-columns:max-content minmax(0,1fr);gap:12px}.pat-minor-page .minor-conversion-readings b{white-space:nowrap}.pat-minor-page .minor-conversion-readings span{font-size:.69rem;white-space:nowrap}
@media(max-width:1050px){.pat-minor-page .modal-stage>.master-guide-with-visual{grid-template-columns:1fr!important}.pat-minor-page .master-guide-with-visual>.martino-geometry{width:min(100%,250px);justify-self:end}.pat-minor-page .minor-conversion-readings span{white-space:normal}}
.modal-stage>.master-guide-with-visual{grid-template-columns:minmax(190px,.46fr) minmax(280px,1fr) 210px!important}.modal-stage>.master-guide-with-visual>.martino-geometry{width:210px!important}.pat-minor-page .modal-stage>.master-guide-with-visual{grid-template-columns:minmax(260px,.8fr) minmax(240px,1fr) 200px!important}.pat-minor-page .master-guide-with-visual>.martino-geometry{width:200px!important}
@media(max-width:1150px){.modal-stage>.master-guide-with-visual{grid-template-columns:minmax(180px,.42fr) minmax(240px,1fr) 190px!important}.modal-stage>.master-guide-with-visual>.martino-geometry{width:190px!important}}
@media(max-width:800px){.modal-stage>.master-guide-with-visual,.pat-minor-page .modal-stage>.master-guide-with-visual{grid-template-columns:1fr!important}.modal-stage>.master-guide-with-visual>.martino-geometry,.pat-minor-page .master-guide-with-visual>.martino-geometry{width:min(100%,210px)!important}}
.modal-stage>.master-guide-with-visual{grid-template-columns:minmax(190px,.48fr) minmax(280px,1fr) 175px!important;gap:10px!important}.modal-stage>.master-guide-with-visual>.martino-geometry,.pat-minor-page .master-guide-with-visual>.martino-geometry{width:175px!important;padding:5px 7px;border-color:var(--card-border);background:color-mix(in srgb,var(--card-bg-deep) 88%,transparent)}
.master-guide .music-circle-toolbar{min-height:18px;justify-content:flex-end;margin:0}.master-guide .music-circle-toolbar>span,.master-guide .music-circle-toolbar [data-circle-mode]{display:none}.master-guide .music-circle-toolbar [data-circle-expand]{display:grid;width:22px!important;height:22px!important;place-items:center;padding:0!important;border-color:var(--line)!important;background:var(--control-bg)!important;color:var(--muted)!important}.master-guide .music-circle svg{max-height:142px}.master-guide .martino-geometry>div:first-child small{font-size:.34rem;letter-spacing:.07em}.master-guide .martino-geometry>div:first-child strong{font-size:.52rem}.master-guide-circle-legend{top:calc(100% + 4px);gap:2px 5px;font-size:.34rem;white-space:nowrap}.master-guide-circle-legend span:before{width:6px;height:6px;margin-right:2px}
@media(max-width:1150px){.modal-stage>.master-guide-with-visual{grid-template-columns:minmax(180px,.44fr) minmax(235px,1fr) 165px!important}.modal-stage>.master-guide-with-visual>.martino-geometry,.pat-minor-page .master-guide-with-visual>.martino-geometry{width:165px!important}.master-guide .music-circle svg{max-height:132px}}
@media(max-width:800px){.modal-stage>.master-guide-with-visual,.pat-minor-page .modal-stage>.master-guide-with-visual{grid-template-columns:1fr!important}.modal-stage>.master-guide-with-visual>.martino-geometry,.pat-minor-page .master-guide-with-visual>.martino-geometry{width:min(100%,175px)!important}}
.modal-stage>.master-guide-with-visual{grid-template-columns:minmax(190px,.48fr) minmax(280px,1fr) 190px!important}.modal-stage>.master-guide-with-visual>.martino-geometry,.pat-minor-page .master-guide-with-visual>.martino-geometry{width:190px!important}.master-guide .martino-geometry>div:first-child{order:2;display:block}.master-guide .martino-geometry>div:first-child>small,.master-guide .martino-geometry>div:first-child>strong{display:none}.master-guide .martino-geometry>.music-circle{order:1}.master-guide-circle-legend{position:static;display:flex;min-height:12px;justify-content:center;gap:2px 6px;margin:0;padding-top:1px;border-top:1px solid var(--line);font-size:.34rem}.master-guide .music-circle svg{max-height:154px}
@media(max-width:1150px){.modal-stage>.master-guide-with-visual{grid-template-columns:minmax(180px,.44fr) minmax(235px,1fr) 180px!important}.modal-stage>.master-guide-with-visual>.martino-geometry,.pat-minor-page .master-guide-with-visual>.martino-geometry{width:180px!important}.master-guide .music-circle svg{max-height:144px}}
@media(max-width:800px){.modal-stage>.master-guide-with-visual,.pat-minor-page .modal-stage>.master-guide-with-visual{grid-template-columns:1fr!important}.modal-stage>.master-guide-with-visual>.martino-geometry,.pat-minor-page .master-guide-with-visual>.martino-geometry{width:min(100%,190px)!important}}
.music-circle-dialog{box-sizing:border-box!important;overflow-x:hidden!important}.music-circle-dialog-panel{box-sizing:border-box!important;max-width:calc(100vw - 36px)!important;overflow-x:hidden!important}.music-circle-dialog-panel>div,.music-circle-dialog .music-circle{min-width:0;max-width:100%;overflow-x:hidden}.music-circle-dialog svg{max-width:100%}
.music-circle-dialog-panel>.music-circle-dialog-legend{position:static;display:flex;min-height:0;justify-content:center;gap:9px 16px;margin:8px 0 2px;padding:10px 8px 0;border-top:1px solid var(--line);font-size:.58rem;white-space:normal}.music-circle-dialog-panel>.music-circle-dialog-legend span:before{width:9px;height:9px;margin-right:5px}

/* Canonical sidebar section contract. Page modules own content, never the frame. */
:is(#options,.workspace-sidebar).workspace-sidebar{padding-inline:13px!important}
:is(#options,.workspace-sidebar).workspace-sidebar>.control-section.control-section{margin:0!important;padding:12px 0!important;border:0!important;border-top:1px solid var(--line)!important;background:transparent!important;box-shadow:none!important}.workspace-sidebar>header+.control-section,.workspace-sidebar>.control-section:first-of-type{border-top:0!important}.workspace-sidebar>.control-section>:is(h2,.section-title),.workspace-sidebar>.control-section>header>h2{display:flex!important;align-items:center!important;gap:9px!important;min-height:23px!important;margin:0 0 9px!important;padding:0!important;border:0!important;color:var(--warm)!important;font:700 .8rem/1.15 "DM Sans",sans-serif!important;letter-spacing:0!important;text-align:left!important;text-transform:none!important}.workspace-sidebar>.control-section>.section-title>div{min-width:0}.workspace-sidebar>.control-section>.section-title h2{min-height:0!important;margin:0!important;padding:0!important;color:var(--warm)!important;font:700 .8rem/1.15 "DM Sans",sans-serif!important}.workspace-sidebar>.control-section>:is(h2,.section-title)>span:first-child,.workspace-sidebar>.control-section>header>h2>span:first-child{display:inline-grid!important;width:23px!important;height:23px!important;min-width:23px!important;flex:0 0 23px!important;place-items:center!important;margin:0!important;padding:0!important;border:1px solid rgba(223,255,89,.55)!important;border-radius:50%!important;background:transparent!important;color:var(--accent)!important;font:700 .55rem/1 "DM Sans",sans-serif!important}.workspace-sidebar>.control-section>.section-title p{margin:2px 0 0!important;color:var(--muted)!important;font-size:.6rem!important;line-height:1.25!important}.workspace-sidebar>.control-section label{color:var(--info)!important;font-size:.56rem!important;line-height:1.05!important}.workspace-sidebar>.control-section :is(select,input){height:34px!important;min-height:34px!important;margin:3px 0 0!important;padding:4px 26px 4px 8px!important;border-color:var(--line)!important;border-radius:9px!important;background:var(--control-bg)!important;color:var(--text)!important;font-size:.65rem!important;line-height:1.05!important}.workspace-sidebar>.control-section textarea{border-color:var(--line)!important;border-radius:9px!important;background:var(--control-bg)!important;color:var(--text)!important;font-size:.65rem!important;line-height:1.25!important}
.workspace-sidebar>.control-section.selector-group-title:not([hidden]){display:flex!important;align-items:center!important;gap:9px!important;min-height:23px!important;margin:12px 0 9px!important;padding:12px 0 0!important;border:0!important;border-top:1px solid var(--line)!important;color:var(--warm)!important;font:700 .8rem/1.15 "DM Sans",sans-serif!important}.workspace-sidebar>.control-section.selector-group-title>span:first-child,.workspace-sidebar>.control-section.selector-group-title::before{display:inline-grid!important;width:23px!important;height:23px!important;min-width:23px!important;place-items:center!important;border:1px solid rgba(223,255,89,.55)!important;border-radius:50%!important;color:var(--accent)!important;font:700 .55rem/1 "DM Sans",sans-serif!important}

/* Canonical section-body geometry: content determines height on every page. */
.workspace-sidebar>.control-section:not(.selector-group-title){height:auto!important;min-height:0!important;align-content:start!important;align-items:stretch!important}
.workspace-sidebar>.control-section[hidden]{display:none!important}
.workspace-sidebar>.control-section>:is(.form-grid,.modal-controls,.modal-repeat-controls){height:auto!important;min-height:0!important;align-content:start!important;align-items:end!important;grid-auto-rows:max-content!important;gap:8px 13px!important;margin:0!important}
.workspace-sidebar>.control-section label{min-height:0!important;margin:0!important}
.embedded-metronome{display:grid!important;height:auto!important;min-height:0!important;grid-column:1/-1!important;grid-template-columns:minmax(0,1fr) auto!important;grid-auto-rows:max-content!important;align-content:start!important;align-items:end!important;gap:10px!important;margin:7px 0 0!important;padding:7px 0 0!important}
.embedded-metronome .metronome-groove-field{width:100%!important;min-width:0!important;margin:0!important}.embedded-metronome .metronome-groove-field select{width:100%!important;height:34px!important;margin-top:3px!important;font-size:.65rem!important}.embedded-metronome .tempo-controls{display:flex!important;width:auto!important;align-self:end!important;gap:5px!important}.embedded-metronome .tempo-controls button{height:34px!important;border-radius:9px!important}
@media(max-width:720px){.embedded-metronome{grid-template-columns:1fr!important}.embedded-metronome .tempo-controls{display:grid!important;width:100%!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}.embedded-metronome .tempo-controls button{width:100%!important;min-width:0!important}}

/* DAW desktop composition: more room for the catalog and chord shapes; the
   Chorus uses a compact two-row command deck above its score. */
@media(min-width:1181px){
  .daw-composer-page .chords-workspace{
    grid-template-columns:minmax(350px,450px) minmax(0,1.35fr) minmax(300px,.82fr)!important;
  }
}
@media(min-width:901px) and (max-width:1180px){
  .daw-composer-page .chords-workspace{
    grid-template-columns:minmax(280px,.95fr) minmax(0,1.2fr) minmax(240px,.8fr)!important;
  }
}
@media(min-width:901px){
  .daw-composer-page .chorus-composer:not(.is-expanded)>header{
    align-items:stretch;
    flex-direction:column;
    gap:6px;
    margin-bottom:8px;
    padding-bottom:8px;
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-header-tools{
    display:grid;
    width:100%;
    max-width:none;
    grid-template-columns:66px minmax(95px,1fr) 62px;
    align-items:end;
    gap:5px;
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-header-tools label,
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-header-tools label:has(#chorusGroove),
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-header-tools label:has(#chorusTempo){
    width:100%!important;
    min-width:0;
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-header-tools .chorus-import-open{
    grid-column:1/-1;
    grid-row:2;
    width:100%!important;
    margin:0!important;
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-editor-layout{
    display:grid;
    min-height:0;
    flex:1;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    gap:8px;
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-control-rail{
    display:grid;
    container-type:inline-size;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "name recall"
      "commands commands"
      "preview preview"
      "status status";
    align-items:end;
    gap:7px 8px;
    margin:0;
    padding:7px;
    border:1px solid var(--card-border);
    border-radius:10px;
    background:var(--card-bg-deep);
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) :is(.chorus-name,.chorus-recall-row,.chorus-command-row,.chorus-status){
    min-width:0;
    margin:0;
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-name{grid-area:name}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-recall-row{grid-area:recall}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-command-row{display:grid;grid-area:commands;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-command-row>:is(.chorus-transport,.chorus-actions){display:contents;grid-area:auto}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-command-row button{min-width:0;margin:0!important;padding-inline:3px!important;font-size:.56rem!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-playing{grid-area:preview;min-width:0;margin:0;padding:7px}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-status{grid-area:status;min-height:12px}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape,
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape>p{
    height:92px;
    min-height:92px;
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-now-shape .standard-fretboard table{height:88px!important}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel{
    display:flex;
    min-height:0;
    grid-column:1;
    grid-row:2;
    flex-direction:column;
    margin:0;
  }
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel>header{display:flex}
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-score-panel .chorus-grid-scroll{min-height:0;flex:1}
}
@container (max-width:350px){
  .daw-composer-page .chorus-composer:not(.is-expanded) .chorus-command-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Comparison rows share one header baseline, including rows with actions. */
.modal-sidebar .modal-comparison>article>header{display:flex!important;min-height:24px!important;align-items:center!important}
.modal-sidebar .modal-comparison>article>header>small{display:flex!important;min-height:24px!important;align-items:center!important;line-height:1!important}

/* Shared transport colours follow action semantics, independently of button order. */
.master-transport-section.master-transport-section .transport-action-play,.van-eps-study-actions .transport-action-play{border-color:color-mix(in srgb,var(--info-strong) 65%,var(--line))!important;color:var(--info)!important}
.master-transport-section.master-transport-section .transport-action-stop,.van-eps-study-actions .transport-action-stop{border-color:color-mix(in srgb,var(--danger-strong) 58%,var(--line))!important;color:var(--danger)!important}
.master-transport-section.master-transport-section .transport-action-daw,.van-eps-study-actions .transport-action-daw{border-color:color-mix(in srgb,var(--accent) 62%,var(--line))!important;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,var(--control-bg)),color-mix(in srgb,var(--info) 8%,var(--control-bg)))!important;color:var(--accent)!important}
.goodrick-page #goodrickGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.goodrick-page #goodrickGrid .inversion-card.is-current{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.goodrick-voice-0{border:2px solid #ffbf78!important;background:#c66b24!important;color:#160b03!important;box-shadow:0 0 11px rgba(255,145,61,.55)!important}.goodrick-voice-1{border:2px solid #b7f6c3!important;background:#2da45d!important;color:#07130b!important;box-shadow:0 0 11px rgba(66,235,117,.45)!important}.goodrick-voice-2{border:2px solid #dff7ff!important;background:#159dcc!important;color:#fff!important;box-shadow:0 0 11px rgba(103,207,255,.68)!important}.goodrick-animation .van-eps-animated-note{width:25px;height:25px;font-size:.56rem}.goodrick-page .wes-sequence-legend span:nth-child(1){color:#ffbf78}.goodrick-page .wes-sequence-legend span:nth-child(2){color:#79f28f}.goodrick-page .wes-sequence-legend span:nth-child(3){color:#8fddff}@media(max-width:1200px){.goodrick-page #goodrickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.goodrick-page #goodrickGrid{grid-template-columns:1fr}}
.licks-genres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.licks-genres button{display:flex;height:38px;align-items:center;justify-content:space-between;margin:0;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--control-bg);color:var(--muted);font-size:.57rem}.licks-genres button small{font-size:.45rem}.licks-genres button:is(:hover,.active){border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--control-bg))}.licks-page #licksGrid{grid-template-columns:1fr;gap:6px}.licks-page #licksGrid .inversion-card{min-height:64px}.lick-sequence{border:2px solid var(--info-strong)!important;background:#176f91!important;color:#fff!important;min-width:25px!important;width:auto!important;padding:0 4px!important}.lick-sequence.is-current{border-color:#fff6ba!important;background:#d18b16!important;box-shadow:0 0 0 4px rgba(255,216,77,.2),0 0 18px rgba(255,216,77,.7)!important}.licks-animation .van-eps-animated-note{min-width:27px;width:auto;height:27px;padding:0 4px;font-size:.52rem}.licks-notation-panel{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.licks-notation-panel>header{display:flex;justify-content:space-between;margin-bottom:8px}.licks-notation-panel>header small{color:var(--accent);font-size:.52rem;font-weight:800;letter-spacing:.1em}.licks-notation-panel>header strong{font-size:.7rem}.licks-notation-panel .music-notation{margin:0;padding:0;border:0;background:transparent}.licks-notation-panel .music-notation>.card-label{display:none}
.licks-selector{display:grid;gap:6px;margin:0!important}.licks-selector>span{color:var(--info);font-size:.62rem;font-weight:750}.licks-selector select{display:block;width:100%;height:42px!important;margin:0!important;padding:0 34px 0 10px!important;color:var(--text)!important;font-size:.72rem!important;font-weight:650}.licks-selection-meta{display:flex!important;min-height:0;flex-wrap:wrap;gap:6px;margin:8px 0 2px!important;padding:0!important;color:var(--text)!important;white-space:normal}.licks-selection-meta span{display:grid;min-width:95px;flex:1;gap:2px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--info) 6%,var(--control-bg));color:var(--text);font-size:.61rem;line-height:1.25}.licks-selection-meta b{color:var(--info);font-size:.43rem;letter-spacing:.08em}
.licks-overlay-control{display:grid!important;width:100%;gap:5px;margin:8px 0 0!important}.licks-overlay-control>span{color:var(--info);font-size:.52rem;font-weight:800;letter-spacing:.04em}.licks-overlay-control select{width:100%;height:38px!important;margin:0!important;font-size:.68rem!important;font-weight:700}
.licks-page #licksSolfege{display:inline-block;margin:8px 0 0;padding:7px 10px;border-left:3px solid var(--accent);border-radius:0 7px 7px 0;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:.78rem;font-weight:850;letter-spacing:.07em;line-height:1.35}
.licks-chord-track-panel{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.licks-chord-track-panel>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.licks-chord-track-panel>header small{color:var(--accent);font-size:.52rem;font-weight:800;letter-spacing:.1em}.licks-chord-track-panel>header strong{font-size:.7rem}.licks-chord-track-panel #licksChordTrack{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.licks-chord-track-panel #licksChordTrack .modal-chord{border-left-width:3px!important}.licks-chord-track-panel #licksChordTrack .modal-chord.is-current{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 14%,var(--control-bg))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.master-flat-panel{padding-inline:8px!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.master-flat-panel .van-eps-animation{padding:8px 0 0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.master-transport-section.master-transport-section .modal-repeat-controls{margin-bottom:18px!important}

/* Canonical semantic theme tokens. Feature modules consume these instead of
   freezing the dark palette into local component rules. */
:root{--info:#8fd8ff;--info-strong:#67cfff;--danger:#ff9398;--danger-strong:#ff7a80;--instrument-heading:#d79cff}
html[data-theme="light"]{--info:#176b91;--info-strong:#176b91;--danger:#a62c40;--danger-strong:#a62c40;--education:#9c7414;--education-strong:#795600;--instrument-heading:#74269a}
.master-transport-section .modal-repeat-controls.has-tempo{grid-template-columns:minmax(0,1fr) 82px 92px}
@media(max-width:420px){.master-transport-section .modal-repeat-controls.has-tempo{grid-template-columns:1fr 1fr}.master-transport-section .modal-repeat-controls.has-tempo>label:first-child{grid-column:1/-1}}

/* Billing offers: one card per licence, with an independent annual choice. */
.billing-period-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.billing-period-heading h2{margin:3px 0 0}.billing-period-heading>small{color:var(--muted)}
.billing-products.billing-products-condensed{grid-template-columns:repeat(2,minmax(0,1fr))}
.billing-plan-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.billing-plan-card>header>small{color:var(--info);font-weight:850;letter-spacing:.08em}.billing-discount{padding:5px 8px;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:850}.billing-price{display:flex;align-items:baseline;gap:7px}.billing-price strong{color:var(--text);font-size:2.25rem;line-height:1}.billing-price span,.billing-period-copy{color:var(--muted);font-size:.7rem}.billing-period-copy{min-height:20px;margin:0}.billing-annual-toggle{display:flex;align-items:center;gap:10px;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--control-bg);cursor:pointer}.billing-annual-toggle input{width:20px;height:20px;min-width:20px;margin:0!important}.billing-annual-toggle>span{display:grid;gap:2px}.billing-annual-toggle b{color:var(--text);font-size:.76rem}.billing-annual-toggle small{color:var(--muted);font-size:.62rem}.billing-plan-card.is-annual{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent)}.billing-plan-card.is-annual .billing-annual-toggle{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--control-bg))}
@media(max-width:720px){.billing-period-heading{align-items:start;flex-direction:column}.billing-products.billing-products-condensed{grid-template-columns:1fr}}
.billing-annual-toggle input[type="checkbox"]{box-sizing:border-box!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0!important;padding:0!important;border-radius:4px!important}
.environment-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.environment-plan-card.edu{border-color:color-mix(in srgb,var(--education) 62%,var(--line))!important}.environment-plan-card.edu header small{color:var(--education-strong)}.billing-products.billing-products-condensed{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-plan-card.tier-edu{border-color:color-mix(in srgb,var(--education) 58%,var(--line))}.billing-plan-card.tier-edu>header>small{color:var(--education-strong)}.plan-badge.edu{background:var(--education)!important;color:#17130a!important}
@media(max-width:900px){.billing-products.billing-products-condensed{grid-template-columns:1fr 1fr}.environment-plan-grid{grid-template-columns:1fr}}
@media(max-width:720px){.billing-products.billing-products-condensed{grid-template-columns:1fr}}
.classroom-live-shell.is-expanded{z-index:20000!important}
.classroom-control-rail #classroomParticipants li{display:flex;align-items:center;justify-content:space-between;gap:7px}.classroom-control-rail #classroomParticipants li small{padding:2px 5px;border-radius:99px;background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info);font-size:.5rem;font-weight:800}.classroom-chat-window{position:fixed;z-index:21000;right:18px;bottom:18px;display:grid;width:min(340px,calc(100vw - 24px));height:min(390px,calc(100vh - 24px));grid-template-rows:38px minmax(0,1fr) auto;margin:0;padding:0;border:1px solid var(--info);border-radius:12px;background:var(--panel);box-shadow:0 22px 70px rgba(0,0,0,.62);overflow:hidden}.classroom-chat-window[hidden]{display:none!important}.classroom-chat-window>header{display:flex;align-items:center;justify-content:space-between;margin:0!important;padding:0 7px 0 11px!important;border-bottom:1px solid var(--line);background:var(--surface-2)!important;cursor:grab;touch-action:none;user-select:none}.classroom-chat-window.is-dragging>header{cursor:grabbing}.classroom-chat-window>header strong{font-size:.66rem}.classroom-chat-window>header button{display:grid;width:27px;height:27px;margin:0;padding:0;place-items:center;border-color:transparent;background:transparent;color:var(--muted);font-size:1rem}.classroom-chat-log{display:flex;min-height:0;flex-direction:column;gap:5px;padding:9px;overflow-y:auto}.classroom-chat-log article{margin:0;padding:6px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}.classroom-chat-log article small{color:var(--info);font-size:.48rem;font-weight:800}.classroom-chat-log article p{margin:2px 0 0;color:var(--text);font-size:.6rem;line-height:1.35;overflow-wrap:anywhere}.classroom-chat-window>form{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px;margin:0;padding:8px;border-top:1px solid var(--line)}.classroom-chat-window>form input{height:34px!important;margin:0!important;padding:5px 7px;font-size:.62rem}.classroom-chat-window>form button{width:34px!important;height:34px;margin:0;padding:0!important;font-size:.8rem}

/* Aula: shared shell for the teacher console and synchronized student client. */
.classroom-shell{width:min(1180px,calc(100% - 32px));margin:auto;padding:28px 0 60px}.classroom-hero{margin-bottom:20px}.classroom-hero h1{margin:3px 0;font-size:clamp(2.2rem,5vw,4rem)}.classroom-hero p{color:var(--muted)}.classroom-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.classroom-entry-grid>article{margin:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel-gradient)}.classroom-entry-grid h2{margin:3px 0 15px}.classroom-entry-grid form{margin:0}.classroom-entry-grid label{display:block;margin-bottom:12px}.classroom-entry-grid :is(input,select){margin-bottom:0}.classroom-list{margin-top:24px}.classroom-list>div{display:grid;gap:7px}.classroom-list article{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(180px,1fr) auto;align-items:center;gap:14px;margin:0;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.classroom-room-identity,.classroom-room-meta{display:grid;min-width:0;gap:3px}.classroom-room-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-list article small{color:var(--info);font-size:.6rem;font-weight:800}.classroom-list article span,.classroom-list article time{color:var(--muted);font-size:.62rem}.classroom-room-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.classroom-room-actions form{margin:0}.classroom-room-actions :is(a[role="button"],button){width:auto;min-height:30px;margin:0;padding:5px 10px;border-radius:7px;font-size:.58rem;font-weight:800;line-height:1.2;text-decoration:none}.classroom-room-actions a[role="button"]{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--control-bg));color:color-mix(in srgb,var(--accent) 78%,var(--muted))}.classroom-room-actions button.danger{border-color:color-mix(in srgb,var(--danger) 34%,var(--line));background:color-mix(in srgb,var(--danger) 4%,var(--control-bg));color:color-mix(in srgb,var(--danger) 74%,var(--muted))}
.classroom-live-shell{display:grid;height:calc(100vh - 72px);grid-template-columns:270px minmax(0,1fr);gap:10px;padding:10px}.classroom-control-rail,.classroom-client{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--panel-gradient)}.classroom-control-rail{display:flex;min-height:0;flex-direction:column;gap:12px;padding:16px;overflow-y:auto}.classroom-control-rail header{padding-bottom:12px;border-bottom:1px solid var(--line)}.classroom-control-rail header>small{color:var(--accent);font-size:.58rem;font-weight:900;letter-spacing:.14em}.classroom-control-rail h1{margin:4px 0;font-size:1.3rem}.classroom-control-rail header p{margin:0;color:var(--muted);font-size:.68rem}.classroom-control-rail label{margin:0;font-size:.68rem}.classroom-control-rail select{height:40px!important;margin-top:5px!important}.classroom-control-rail button{width:100%;margin:0;padding:9px;font-size:.7rem}.classroom-control-rail>section{min-height:100px;padding-top:10px;border-top:1px solid var(--line)}.classroom-control-rail h2{display:flex;justify-content:space-between;margin:0 0 7px;font-size:.75rem}.classroom-control-rail ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.classroom-control-rail li{padding:5px 7px;border-radius:6px;background:var(--surface-2);font-size:.66rem}.classroom-control-rail>form{margin:auto 0 0}.classroom-following{padding:9px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);font-size:.68rem}.classroom-status{margin:0;color:var(--muted);font-size:.65rem}.classroom-status.connected{color:#58cf7c}.classroom-status.attention{color:#ffbe5e}.classroom-client{display:grid;grid-template-rows:36px minmax(0,1fr);overflow:hidden}.classroom-frame-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.62rem}.classroom-frame-toolbar b{color:#58cf7c;font-size:.58rem}.classroom-client iframe{width:100%;height:100%;border:0;background:var(--bg)}html.classroom-follow-client :is(button,input,select,textarea){cursor:not-allowed!important}
@media(max-width:800px){.classroom-entry-grid{grid-template-columns:1fr}.classroom-list article{grid-template-columns:minmax(0,1fr) auto}.classroom-room-meta{grid-column:1/-1;grid-row:2}.classroom-room-actions{grid-column:2;grid-row:1}.classroom-live-shell{height:auto;grid-template-columns:1fr}.classroom-control-rail{overflow:visible}.classroom-client{height:75vh}}
.classroom-stage-open{overflow:hidden}.classroom-live-shell.is-expanded{position:fixed;z-index:1400;inset:0;width:100vw;height:100vh;padding:10px;background:var(--bg)}.classroom-rail-toggle{display:flex!important;width:auto!important;align-items:center;align-self:flex-end;gap:6px;padding:5px 8px!important;border-color:var(--line)!important;background:var(--surface-2)!important;color:var(--muted)!important}.classroom-rail-toggle span{font-size:1.05rem;line-height:1}.classroom-rail-toggle b{font-size:.6rem}.classroom-frame-actions{display:flex;align-items:center;gap:9px}.classroom-frame-actions button{width:auto;margin:0;padding:4px 8px;border-color:var(--line);background:var(--surface-2);color:var(--info);font-size:.6rem}.classroom-live-shell.rail-collapsed{grid-template-columns:44px minmax(0,1fr)}.classroom-live-shell.rail-collapsed .classroom-control-rail{padding:6px;overflow:hidden}.classroom-live-shell.rail-collapsed .classroom-control-rail>*:not(.classroom-rail-toggle){display:none}.classroom-live-shell.rail-collapsed .classroom-rail-toggle{width:30px!important;align-self:center;padding:5px!important}.classroom-live-shell.rail-collapsed .classroom-rail-toggle span{transform:rotate(180deg)}.classroom-live-shell.rail-collapsed .classroom-rail-toggle b{display:none}@media(max-width:800px){.classroom-live-shell.rail-collapsed{grid-template-columns:44px minmax(0,1fr);height:calc(100vh - 72px)}.classroom-live-shell.is-expanded{height:100vh}.classroom-live-shell.rail-collapsed .classroom-client{height:auto}}

/* Aula Regia: compact logical recording and replay controls. */
.classroom-control-rail>.classroom-recorder{display:grid;min-height:0;gap:6px;padding-top:10px}
.classroom-recorder h2{align-items:center;margin-bottom:0}
.classroom-recorder h2 span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.classroom-recorder #classroomReplayTimer{padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--control-bg);color:var(--accent);font:700 .55rem/1.35 "DM Sans",sans-serif;letter-spacing:.06em}
.classroom-recorder label{display:grid;min-width:0;gap:2px;color:var(--info);font-size:.54rem;line-height:1.2}
.classroom-recorder :is(input,select){width:100%;min-width:0;height:32px!important;min-height:32px!important;margin:2px 0 0!important;padding:0 7px!important;border-radius:8px!important;font-size:.6rem!important}
.classroom-record-actions,.classroom-replay-fields,.classroom-replay-actions{display:grid;min-width:0;gap:5px}
.classroom-record-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.classroom-replay-fields{grid-template-columns:minmax(0,1.4fr) minmax(76px,.6fr)}
.classroom-replay-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.classroom-recorder :is(.classroom-record-actions,.classroom-replay-actions) button{height:32px;min-height:32px;padding:4px 5px;font-size:.56rem;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.classroom-recorder #classroomRecordStart{border-color:color-mix(in srgb,var(--warm) 65%,var(--line));color:var(--warm)}
.classroom-recorder #classroomRecordStop{border-color:color-mix(in srgb,#ff7a80 55%,var(--line));color:#ff9398}
.classroom-recorder #classroomReplayPlay{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--accent)}
.classroom-recording-status{min-height:13px;margin:0;color:var(--muted);font-size:.53rem;line-height:1.25}
.classroom-recording-status.attention{color:#ffbe5e}.classroom-control-rail #classroomBroadcastAudio.is-on{border-color:color-mix(in srgb,#58cf7c 65%,var(--line));color:#79dd96}.classroom-control-rail #classroomBroadcastAudio:not(.is-on){border-color:color-mix(in srgb,#ff7a80 60%,var(--line));color:#ff9398}
.classroom-master .classroom-control-rail{gap:8px;padding:12px}.classroom-master .classroom-control-rail>header{padding-bottom:8px}.classroom-master .classroom-control-rail>:is(section,details){min-height:0;padding-top:8px}.classroom-master .classroom-control-rail>details{border-top:1px solid var(--line)}.classroom-master .classroom-control-rail details>summary{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:0!important;color:var(--accent);font-size:.52rem!important;font-weight:900;letter-spacing:.1em;list-style:none;text-transform:uppercase;cursor:pointer;user-select:none}.classroom-master .classroom-control-rail details>summary::-webkit-details-marker{display:none}.classroom-master .classroom-control-rail details>summary::after{color:var(--muted);content:"›";font-size:.82rem;line-height:1;transition:transform .16s ease}.classroom-master .classroom-control-rail details[open]>summary::after{transform:rotate(90deg)}.classroom-control-group-content,.classroom-recorder-content{display:grid;gap:6px;padding-top:6px}.classroom-control-group select{height:34px!important;min-height:34px!important;margin-top:3px!important;padding-block:3px!important;font-size:.62rem}.classroom-compact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.classroom-control-rail .classroom-compact-actions>button{min-width:0;min-height:30px;padding:4px 5px;font-size:.56rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-control-rail>.classroom-recorder{padding-top:8px}.classroom-recorder>summary #classroomReplayTimer{margin-left:auto}.classroom-master .classroom-recorder :is(.classroom-record-actions,.classroom-replay-actions) button{height:29px;min-height:29px}.classroom-master .classroom-recorder :is(input,select){height:30px!important;min-height:30px!important}.classroom-master .classroom-participants{min-height:0}.classroom-master .classroom-participants ul{padding-top:6px}.classroom-master .classroom-end-session{margin-top:auto;padding-top:7px;border-top:1px solid var(--line)}.classroom-master .classroom-end-session button{min-height:30px;padding:5px;font-size:.58rem}
.classroom-master .classroom-control-rail button{border-color:color-mix(in srgb,var(--line) 88%,var(--text))!important;background:var(--control-bg)!important;color:var(--muted)!important;box-shadow:none!important}.classroom-master .classroom-control-rail button:is(:hover,:focus-visible):not(:disabled){border-color:color-mix(in srgb,var(--info) 42%,var(--line))!important;background:color-mix(in srgb,var(--info) 5%,var(--control-bg))!important;color:var(--text)!important}.classroom-master .classroom-control-rail #classroomSharePath{border-color:color-mix(in srgb,var(--accent) 32%,var(--line))!important;color:color-mix(in srgb,var(--accent) 72%,var(--muted))!important}.classroom-master .classroom-control-rail #classroomBroadcastAudio.is-on{border-color:color-mix(in srgb,#58cf7c 36%,var(--line))!important;background:color-mix(in srgb,#58cf7c 6%,var(--control-bg))!important;color:color-mix(in srgb,#79dd96 74%,var(--muted))!important}.classroom-master .classroom-control-rail #classroomBroadcastAudio:not(.is-on),.classroom-master .classroom-control-rail #classroomRecordStop:not(:disabled){border-color:color-mix(in srgb,var(--danger) 35%,var(--line))!important;color:color-mix(in srgb,var(--danger) 72%,var(--muted))!important}.classroom-master .classroom-control-rail #classroomRecordStart{border-color:color-mix(in srgb,var(--warm) 35%,var(--line))!important;color:color-mix(in srgb,var(--warm) 72%,var(--muted))!important}.classroom-master .classroom-control-rail button:disabled{border-color:var(--line)!important;background:color-mix(in srgb,var(--control-bg) 92%,var(--surface-2))!important;color:var(--muted)!important;opacity:.48}.classroom-master .classroom-end-session button{border-color:color-mix(in srgb,var(--danger) 38%,var(--line))!important;background:color-mix(in srgb,var(--danger) 5%,var(--control-bg))!important;color:color-mix(in srgb,var(--danger) 76%,var(--muted))!important}

/* Aula Regia: groups keep their real height; the rail scrolls without overlaps. */
.classroom-master .classroom-control-rail>:not(.classroom-end-session){flex:0 0 auto}
.classroom-master .classroom-control-rail>.classroom-recorder{display:block;min-height:max-content}
.classroom-master .classroom-control-rail details[open]>.classroom-control-group-content,
.classroom-master .classroom-control-rail details[open]>.classroom-recorder-content{min-height:max-content}
.classroom-master .classroom-control-rail .classroom-compact-actions>button,
.classroom-master .classroom-recorder :is(.classroom-record-actions,.classroom-replay-actions) button{height:auto;min-height:30px;overflow:visible;text-overflow:clip;white-space:normal}
.classroom-master .classroom-recorder>summary>span{min-width:0;white-space:normal}
.classroom-master .classroom-end-session{flex:0 0 auto;margin-top:0}
.classroom-interaction-guard{position:fixed;z-index:2147483647;inset:0;background:transparent;cursor:not-allowed;touch-action:none}
html.classroom-audio-muted::after{position:fixed;z-index:2147483647;right:10px;bottom:10px;padding:4px 7px;border:1px solid #ff9398;border-radius:7px;background:var(--panel);color:#ff9398;content:"🔇";font-size:.65rem;pointer-events:none}
.classroom-zoom-control{display:flex!important;width:auto;align-items:center;gap:5px;margin:0!important;color:var(--muted);font-size:.55rem!important;white-space:nowrap}.classroom-zoom-control select{width:74px!important;height:27px!important;min-height:27px!important;margin:0!important;padding:2px 20px 2px 6px!important;border-color:var(--line);background-color:var(--surface-2);font-size:.56rem!important}.classroom-zoom-control output{min-width:28px;color:var(--info);font-size:.53rem;text-align:right}
html.classroom-embedded :is(.portal-header,.unified-header,.app-header,.site-footer){display:none!important}html.classroom-embedded body{min-height:100vh} @media(min-width:900px) and (min-height:720px){html.classroom-embedded .training-dashboard .shell{grid-template-rows:minmax(0,1fr)!important}html.classroom-embedded .training-dashboard #options,html.classroom-embedded .training-dashboard .training-panel{grid-row:1!important}}
.classroom-microphone-option{display:flex!important;align-items:center;gap:6px!important;padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.classroom-microphone-option input{width:14px!important;height:14px!important;min-height:14px!important;margin:0!important}.classroom-microphone-option small{margin-left:auto;color:var(--muted);font-size:.48rem}
.classroom-recorder-content{gap:7px}.classroom-microphone-option{width:100%;min-height:43px;padding:6px 8px}.classroom-microphone-option>span{display:grid;min-width:0;gap:1px}.classroom-microphone-option strong{color:var(--info);font-size:.58rem;line-height:1.15}.classroom-microphone-option small{margin:0;color:var(--muted);font-size:.46rem;line-height:1.2;white-space:normal}.classroom-microphone-option #classroomRecordMicrophone{display:grid!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;flex:0 0 18px;place-content:center;margin:0!important;padding:0!important;appearance:none;border:1px solid var(--line)!important;border-radius:3px!important;background:var(--control-bg)!important}.classroom-microphone-option #classroomRecordMicrophone::before{color:#10151c;content:"✓";font-size:.7rem;font-weight:900;line-height:1;transform:scale(0)}.classroom-microphone-option #classroomRecordMicrophone:checked{border-color:var(--accent)!important;background:var(--accent)!important}.classroom-microphone-option #classroomRecordMicrophone:checked::before{transform:scale(1)}.classroom-recorder .classroom-replay-fields{grid-template-columns:minmax(0,1fr) 92px}.classroom-recorder .classroom-replay-fields select{padding-right:22px!important}.classroom-command-group .classroom-control-group-content{gap:5px}.classroom-command-group .classroom-command-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.classroom-command-group .classroom-command-actions>button{padding-inline:3px;font-size:.51rem}.classroom-live-shell{grid-template-columns:290px minmax(0,1fr)}
.classroom-note-dialog{width:min(560px,calc(100vw - 24px));padding:0;border:1px solid var(--info);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.68)}.classroom-note-dialog::backdrop{background:rgba(5,9,16,.78);backdrop-filter:blur(3px)}.classroom-note-dialog>article{margin:0;padding:20px;background:var(--panel-gradient)}.classroom-note-dialog>article>header{margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid var(--line);background:transparent}.classroom-note-dialog>article>header small{color:var(--accent);font-size:.58rem;font-weight:900;letter-spacing:.13em}.classroom-note-dialog h2{margin:3px 0 0;font-size:1.35rem}.classroom-note-dialog label{display:grid;gap:5px;margin-bottom:11px;color:var(--info);font-size:.68rem}.classroom-note-dialog :is(input,textarea){margin:0!important}.classroom-note-dialog textarea{resize:vertical}.classroom-note-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin:14px 0 0;padding:0;background:transparent}.classroom-note-dialog footer button{width:auto;margin:0}.classroom-note-viewer>article>p{max-height:50vh;margin:0;overflow:auto;color:var(--text);font-size:.94rem;line-height:1.65;white-space:pre-wrap}.classroom-note-viewer footer button{border-color:var(--accent);color:var(--accent)}

/* Courses: free player for portable logical lesson recordings. */
.course-recording-player-page{overflow:hidden}
.course-recording-shell{display:grid;height:calc(100vh - 72px);grid-template-columns:minmax(270px,320px) minmax(0,1fr);gap:10px;padding:10px}
.course-recording-loader,.course-recording-stage{min-width:0;margin:0;border:1px solid var(--line);border-radius:16px;background:var(--panel-gradient)}
.course-recording-loader{display:flex;min-height:0;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}
.course-recording-loader>header{padding-bottom:14px;border-bottom:1px solid var(--line)}
.course-recording-loader>header small,.course-recording-stage>header small,.course-recording-details>small{color:var(--accent);font-size:.55rem;font-weight:900;letter-spacing:.13em}
.course-recording-loader h1{margin:4px 0 7px;font-size:1.55rem;line-height:1.05}
.course-recording-loader>header p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.45}
.course-recording-file{display:grid;gap:5px;margin:0;color:var(--info);font-size:.65rem}
.course-recording-file input{height:auto!important;min-height:42px;margin:0!important;padding:6px!important;border-radius:9px!important;font-size:.62rem!important;line-height:1.2!important}
.course-recording-file input::file-selector-button{height:28px;margin-right:8px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--text);font:700 .58rem "DM Sans",sans-serif;cursor:pointer}
.course-recording-help{margin-top:-8px;color:var(--muted);font-size:.55rem}
.course-recording-loader>#courseRecordingOpen{width:100%;height:38px;margin:0;padding:6px 10px;font-size:.68rem}
.course-recording-details{display:grid;gap:4px;margin-top:2px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.course-recording-details strong{min-width:0;color:var(--text);font-size:.76rem;overflow-wrap:anywhere}
.course-recording-details span{color:var(--muted);font-size:.58rem}
.course-recording-status{min-height:34px;margin:0;padding:8px;border-left:2px solid var(--line);color:var(--muted);font-size:.6rem;line-height:1.35}
.course-recording-status.is-ready,.course-recording-status.is-complete{border-color:var(--accent);color:var(--accent)}
.course-recording-status.is-playing{border-color:#58cf7c;color:#79e69a}
.course-recording-status.is-paused{border-color:var(--info);color:var(--info)}
.course-recording-status.is-loading{border-color:var(--warm);color:var(--warm)}
.course-recording-status.is-error{border-color:#ff7a80;color:#ff9398}
.course-recording-stage{display:grid;min-height:0;grid-template-rows:54px minmax(0,1fr) auto;overflow:hidden}
.course-recording-stage>header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line)}
.course-recording-stage>header h2{margin:2px 0 0;font-size:1rem}
.course-recording-free-badge{padding:4px 7px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:99px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent);font-size:.52rem;font-weight:900;letter-spacing:.08em}
.course-recording-viewport{position:relative;min-height:0;background:var(--bg);overflow:hidden}
.course-recording-viewport iframe{display:block;width:100%;height:100%;border:0;background:var(--bg)}
.course-recording-empty{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:10px;color:var(--muted);font-size:.7rem;text-align:center}
.course-recording-empty b{display:grid;width:52px;height:52px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--accent);font-size:1rem}
.course-recording-transport{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:14px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
.course-recording-actions{display:grid;grid-template-columns:repeat(3,minmax(76px,1fr));gap:6px}
.course-recording-actions button{height:34px;margin:0;padding:5px 9px;border-color:var(--line);font-size:.62rem;white-space:nowrap}
.course-recording-actions #courseRecordingPlay{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));color:var(--accent)}
.is-course-recording-playing .course-recording-actions #courseRecordingPause{border-color:var(--info);color:var(--info)}
.course-recording-timeline{display:grid;min-width:0;gap:2px;margin:0}
.course-recording-clock{display:flex;justify-content:space-between;color:var(--muted);font:700 .53rem "DM Sans",sans-serif}
.course-recording-timeline input[type="range"]{width:100%;height:18px!important;min-height:18px;margin:0!important;padding:0!important;accent-color:var(--accent);cursor:pointer}
.course-recording-timeline input[type="range"]:disabled{cursor:not-allowed}
@media(max-width:800px){.course-recording-player-page{overflow:auto}.course-recording-shell{height:auto;grid-template-columns:1fr}.course-recording-loader{overflow:visible}.course-recording-stage{height:72vh;min-height:520px}.course-recording-transport{grid-template-columns:1fr}.course-recording-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Courses: encrypted teacher marketplace and protected Premium playback. */
.premium-lessons-shell{width:min(1180px,calc(100% - 32px));margin:auto;padding:34px 0 70px}.premium-lessons-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:18px 0 28px;border-bottom:1px solid var(--line)}.premium-lessons-hero h1{margin:4px 0 8px;font-size:clamp(2.35rem,6vw,4.8rem);line-height:.96}.premium-lessons-hero p:not(.kicker){max-width:700px;margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}.premium-lessons-hero>a{width:auto;margin:0;white-space:nowrap}.premium-teacher-studio{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:14px;margin-top:22px}.premium-publish-form,.premium-teacher-library{min-width:0;margin:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel-gradient)}.premium-publish-form{display:grid;align-content:start;gap:11px}.premium-publish-form>header,.premium-teacher-library>header{padding-bottom:13px;border-bottom:1px solid var(--line)}.premium-publish-form header small,.premium-teacher-library header small,.premium-catalog>header small{color:var(--accent);font-size:.56rem;font-weight:900;letter-spacing:.14em}.premium-publish-form h2,.premium-teacher-library h2,.premium-catalog h2{margin:3px 0 0;font-size:1.25rem}.premium-publish-form header p{margin:7px 0 0;color:var(--muted);font-size:.66rem;line-height:1.45}.premium-publish-form label{display:grid;gap:5px;margin:0;color:var(--info);font-size:.64rem}.premium-publish-form :is(input,textarea){margin:0!important;font-size:.68rem!important}.premium-publish-form input[type=file]{height:auto!important;min-height:42px;padding:6px!important}.premium-publish-form input[type=file]::file-selector-button{height:28px;margin-right:8px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--text);font:700 .58rem "DM Sans",sans-serif;cursor:pointer}.premium-publish-form textarea{min-height:92px;resize:vertical}.premium-field-help{margin-top:-8px;color:var(--muted);font-size:.53rem}.premium-price-field{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center}.premium-price-field b{display:grid;height:42px;place-items:center;border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;background:var(--surface-2);color:var(--accent);font-size:.6rem}.premium-price-field input{border-radius:9px 0 0 9px!important}.premium-commission-note{margin-top:-4px;color:var(--muted);font-size:.56rem;line-height:1.4}.premium-publish-form>button,.premium-paypal-connect{width:100%;margin:0;font-size:.68rem}.premium-payout-state{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid color-mix(in srgb,var(--warm) 48%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--warm) 7%,transparent)}.premium-payout-state>span{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--warm) 15%,transparent);color:var(--warm);font-weight:900}.premium-payout-state>div{display:grid;gap:1px}.premium-payout-state strong{font-size:.65rem}.premium-payout-state small{color:var(--muted);font-size:.53rem}.premium-payout-state.is-ready{border-color:color-mix(in srgb,#58cf7c 46%,var(--line));background:color-mix(in srgb,#58cf7c 6%,transparent)}.premium-payout-state.is-ready>span{background:color-mix(in srgb,#58cf7c 14%,transparent);color:#79e69a}.premium-action-status{min-height:18px;margin:0;color:var(--muted);font-size:.57rem;line-height:1.35}.premium-action-status.is-loading{color:var(--warm)}.premium-action-status.is-success{color:#79e69a}.premium-action-status.is-error{color:#ff9398}.premium-teacher-library{display:grid;align-content:start;gap:12px}.premium-teacher-list{display:grid;gap:7px}.premium-teacher-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.premium-teacher-list h3{margin:4px 0 2px;font-size:.78rem}.premium-teacher-list p{display:-webkit-box;margin:0;color:var(--muted);font-size:.58rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.premium-teacher-list footer{display:grid;justify-items:end;gap:7px}.premium-teacher-list footer strong{color:var(--accent);font-size:.7rem}.premium-teacher-list footer button{width:auto;height:30px;margin:0;padding:4px 8px;font-size:.57rem}.premium-status-badge,.premium-owner-badge,.premium-access-badge,.premium-lock-badge{display:inline-flex;width:max-content;padding:3px 6px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.47rem;font-weight:900;letter-spacing:.08em}.premium-status-badge.is-published,.premium-access-badge{border-color:color-mix(in srgb,#58cf7c 45%,var(--line));color:#79e69a}.premium-owner-badge{border-color:color-mix(in srgb,var(--info) 48%,var(--line));color:var(--info)}.premium-lock-badge{border-color:color-mix(in srgb,var(--warm) 52%,var(--line));color:var(--warm)}.premium-empty-copy{margin:12px 0;color:var(--muted);font-size:.68rem}.premium-catalog{margin-top:28px}.premium-catalog>header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.premium-catalog>header>span{color:var(--muted);font-size:.62rem}.premium-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.premium-lesson-card{display:grid;min-height:260px;grid-template-rows:auto 1fr auto auto;gap:14px;margin:0;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--panel-gradient);overflow:hidden}.premium-lesson-card>header,.premium-lesson-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.premium-card-mark{color:color-mix(in srgb,var(--accent) 40%,var(--muted));font:900 .7rem "DM Sans",sans-serif;letter-spacing:.12em}.premium-lesson-card h3{margin:0 0 8px;font-size:1.1rem}.premium-lesson-card p{display:-webkit-box;margin:0;color:var(--muted);font-size:.68rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.premium-lesson-card>small{color:var(--info);font-size:.56rem}.premium-lesson-card>footer>strong{color:var(--accent);font-size:.84rem}.premium-lesson-card>footer :is(a[role=button],form,button){width:auto;margin:0}.premium-lesson-card>footer :is(a[role=button],button){height:34px;padding:7px 11px;font-size:.6rem}.premium-lesson-card.is-locked{background:linear-gradient(145deg,color-mix(in srgb,var(--warm) 4%,var(--surface)),var(--panel))}.premium-lesson-card.has-access{border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.premium-catalog-empty{display:grid;grid-column:1/-1;justify-items:center;gap:6px;padding:50px 20px;border:1px dashed var(--line);border-radius:15px;color:var(--muted);text-align:center}.premium-catalog-empty b{font-size:1.7rem;color:var(--accent)}.premium-catalog-empty h3,.premium-catalog-empty p{margin:0}.premium-catalog-empty p{font-size:.68rem}.premium-lesson-player-page{overflow:hidden}.premium-player-summary>header p{margin-top:8px!important}.premium-player-summary>header p strong{color:var(--info)}.premium-player-back{margin-top:auto;color:var(--muted);font-size:.62rem;font-weight:800;text-decoration:none}.premium-player-back:hover{color:var(--accent)}.premium-player-badge{border-color:color-mix(in srgb,var(--warm) 58%,var(--line));background:color-mix(in srgb,var(--warm) 9%,transparent);color:var(--warm)}.premium-lesson-player-page .course-recording-actions #premiumLessonPlay{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));color:var(--accent)}.premium-lesson-player-page.is-premium-playing .course-recording-actions #premiumLessonPause{border-color:var(--info);color:var(--info)}
@media(max-width:900px){.premium-teacher-studio{grid-template-columns:1fr}.premium-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.premium-lesson-player-page{overflow:auto}.premium-player-shell{height:auto;grid-template-columns:1fr}.premium-player-shell .course-recording-loader{overflow:visible}.premium-player-shell .course-recording-stage{height:72vh;min-height:520px}}
@media(max-width:620px){.premium-lessons-shell{width:min(100% - 20px,1180px);padding-top:22px}.premium-lessons-hero{align-items:start;flex-direction:column}.premium-lessons-hero>a{width:100%}.premium-lesson-grid{grid-template-columns:1fr}.premium-teacher-list article{grid-template-columns:1fr}.premium-teacher-list footer{grid-template-columns:1fr auto;justify-items:stretch}.premium-teacher-list footer button{justify-self:end}}
.premium-player-bootstrap{display:none!important}
.premium-teacher-identity{display:block;margin-top:7px;color:var(--info);font-size:.55rem}

/* Aula: the normal stage fills exactly the space below the rendered header. */
.classroom-room{--classroom-header-height:92px}
.classroom-room>.site-footer{display:none!important}
.classroom-room:not(.classroom-stage-open)>.classroom-live-shell{box-sizing:border-box;height:calc(100vh - var(--classroom-header-height));height:calc(100dvh - var(--classroom-header-height));min-height:0}
@media(max-width:800px){
  .classroom-room:not(.classroom-stage-open)>.classroom-live-shell{height:auto;min-height:calc(100dvh - var(--classroom-header-height));overflow:visible}
  .classroom-room:not(.classroom-stage-open) .classroom-control-rail{overflow:visible}
}
@media(max-width:720px){.classroom-room{--classroom-header-height:78px}}

/* Licence choices: one shared card, three intentional visual identities. */
.billing-plan-card.tier-adv{--licence-card-colour:#2d9b5d}
.billing-plan-card.tier-pro{--licence-card-colour:#287fc4}
.billing-plan-card.tier-edu{--licence-card-colour:#b48820}
.billing-plan-card:is(.tier-adv,.tier-pro,.tier-edu){
  border-color:color-mix(in srgb,var(--licence-card-colour) 66%,var(--line))!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--licence-card-colour) 13%,var(--surface)),var(--panel))!important;
}
.billing-plan-card:is(.tier-adv,.tier-pro,.tier-edu)>header small{
  color:color-mix(in srgb,var(--licence-card-colour) 74%,var(--text))!important;
}
html[data-theme="light"] .billing-plan-card:is(.tier-adv,.tier-pro,.tier-edu){
  background:linear-gradient(145deg,color-mix(in srgb,var(--licence-card-colour) 9%,#fff),color-mix(in srgb,var(--licence-card-colour) 4%,var(--surface)))!important;
}
.billing-products.billing-products-condensed{grid-auto-rows:1fr;align-items:stretch}
.billing-products.billing-products-condensed>.billing-plan-card{box-sizing:border-box!important;display:flex!important;height:100%;flex-direction:column;align-content:initial}
.billing-products.billing-products-condensed>.billing-plan-card>button:last-child{align-self:end;margin-top:auto}
.billing-products.billing-products-condensed>.billing-plan-card>:is(.billing-proforma,button){
  display:grid;
  box-sizing:border-box;
  width:100%;
  height:50px!important;
  min-height:50px!important;
  place-items:center;
  margin:0!important;
  padding:8px 12px!important;
  font-size:.72rem!important;
  line-height:1.15;
  text-align:center;
}
.billing-products.billing-products-condensed>.billing-plan-card>.billing-proforma{align-self:end;margin-top:auto!important}
.billing-products.billing-products-condensed>.billing-plan-card:not(.tier-blocked)>button:last-child{margin-top:0!important}
.billing-products.billing-products-condensed>.billing-plan-card.tier-blocked>button:last-child{align-self:end;margin-top:auto!important}
@media(max-width:720px){.billing-products.billing-products-condensed{grid-auto-rows:auto}}

/* Keep annual price, currency and saving visually together on desktop cards. */
@media(min-width:901px){
  .billing-products.billing-products-condensed .billing-annual-toggle>span{min-width:0}
  .billing-products.billing-products-condensed .billing-annual-toggle small{font-size:.59rem;letter-spacing:-.01em;white-space:nowrap}
}

/* Admin pricing is an editor, not a second marketing list. */
.environment-plan-grid{grid-template-columns:1fr;gap:8px}
.environment-plan-card{--licence-card-colour:var(--line);display:grid;grid-template-columns:minmax(170px,1fr) repeat(2,minmax(150px,.7fr));align-items:end;gap:12px;padding:11px 12px!important;border-color:var(--line)!important;border-left:4px solid var(--licence-card-colour)!important;background:var(--panel)!important}
.environment-plan-card.adv{--licence-card-colour:#2d9b5d}.environment-plan-card.pro{--licence-card-colour:#287fc4}.environment-plan-card.edu{--licence-card-colour:#b48820}
.environment-plan-card>header{align-self:center;margin:0!important;padding:0!important;border:0;background:transparent!important}
.environment-plan-card>header small{color:var(--licence-card-colour)!important}.environment-plan-card h3{margin:1px 0 0}
.environment-plan-card label{margin:0!important}.environment-plan-card input{height:40px!important;margin-top:3px!important}
@media(max-width:650px){.environment-plan-card{grid-template-columns:1fr 1fr}.environment-plan-card>header{grid-column:1/-1}}

/* A canonical single instrument owns its summary; legacy card rows must not clip it. */
.shared-voicing-boards .shared-single-instrument-board{height:auto!important;overflow:visible!important}
.shared-voicing-boards .shared-single-instrument-board>.inversion-card{display:block!important;height:auto!important;overflow:visible!important}
.shared-voicing-boards .shared-single-instrument-board>.inversion-card>p{display:none!important}
.shared-voicing-boards .shared-single-instrument-board>.inversion-card>.shared-instrument{height:auto!important;min-height:0!important}

/* A shared single-board section keeps context and instrument in one quiet strip. */
.shared-voicing-boards:has(>.shared-single-instrument-board)>header h2,
.shared-voicing-boards:has(>.shared-single-instrument-board)>header p{display:none!important}

/* Final chorus contract: metadata and chord names wrap; none is ellipsised. */
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .song-chorus-title{display:grid!important;grid-template-columns:23px max-content minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:8px!important;row-gap:3px!important;height:auto!important;overflow:visible!important}
  .songs-dashboard .song-chorus-title>span:first-child{grid-column:1;grid-row:1/3}
  .songs-dashboard .song-chorus-title>b{grid-column:2;grid-row:1}
  .songs-dashboard .song-chorus-title>.song-chorus-meta{display:contents!important}
  .songs-dashboard .song-chorus-meta>strong{grid-column:3;grid-row:1}
  .songs-dashboard .song-chorus-meta>small{grid-column:2;grid-row:2}
  .songs-dashboard .song-chorus-meta>em{grid-column:3;grid-row:2;margin:0!important;text-align:left!important}
  .songs-dashboard .song-chorus-meta>:is(strong,small,em){min-width:0!important;overflow:visible!important;line-height:1.2!important;overflow-wrap:anywhere!important;text-overflow:clip!important;white-space:normal!important}
  .songs-dashboard .song-sidebar .chord-bars{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}
  .songs-dashboard .song-sidebar .chord-bar strong{overflow:visible!important;overflow-wrap:anywhere!important;text-overflow:clip!important;white-space:normal!important}
}

/* Brani follows the shared numbered-section contract, including nested selector groups. */
.songs-dashboard .songs-filter>.selector-group-title,.trainer-selectors>.selector-group-title{display:flex!important;box-sizing:border-box!important;width:100%!important;min-height:23px!important;grid-column:1/-1!important;align-items:center!important;gap:9px!important;margin:12px 0 9px!important;padding:12px 0 0!important;border:0!important;border-top:1px solid var(--line)!important;color:var(--warm)!important;font:700 .8rem/1.15 "DM Sans",sans-serif!important;letter-spacing:0!important;text-align:left!important;text-transform:none!important}
.songs-dashboard .songs-filter>.material-title{margin-top:0!important;padding-top:0!important;border-top:0!important}
.songs-dashboard .songs-filter>.selector-group-title::before,.trainer-selectors>.selector-group-title::before,.songs-dashboard .song-chorus-title::before{display:none!important;content:none!important}
.songs-dashboard .songs-filter>.selector-group-title>span:first-child,.trainer-selectors>.selector-group-title>span:first-child,.songs-dashboard .song-chorus-title>span:first-child{display:inline-grid!important;box-sizing:border-box!important;width:23px!important;height:23px!important;min-width:23px!important;flex:0 0 23px!important;place-items:center!important;margin:0!important;padding:0!important;border:1px solid rgba(223,255,89,.55)!important;border-radius:50%!important;background:transparent!important;color:var(--accent)!important;font:700 .55rem/1 "DM Sans",sans-serif!important}

/* The shared circle belongs beside the current-song summary and spans only its row. */

/* Global action controls: quiet surfaces, with accent reserved for borders and state. */
:root{--pico-primary:var(--text);--pico-primary-background:var(--control-bg);--pico-primary-border:var(--line);--pico-primary-hover:var(--accent);--pico-primary-hover-background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));--pico-primary-hover-border:color-mix(in srgb,var(--accent) 38%,var(--line));--pico-primary-inverse:var(--text)}
html[data-theme="light"]{--pico-primary:var(--text);--pico-primary-background:var(--control-bg);--pico-primary-border:var(--line);--pico-primary-hover:var(--accent);--pico-primary-hover-background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));--pico-primary-hover-border:color-mix(in srgb,var(--accent) 38%,var(--line));--pico-primary-inverse:var(--text)}
.context-nav>a,.desktop-header-actions>.account-nav-link,.desktop-header-actions>.account-menu>summary,.admin-page>.portal-header>.portal-nav>a,.portal-nav>a,.standard-catalog-selection>#openSongCatalog,.logout-nav-form button.account-nav-link{border-color:var(--line)!important;background:color-mix(in srgb,var(--surface) 92%,transparent)!important;color:var(--text)!important}.control-button.featured,.training-dashboard .settings-practice-transport .control-button.featured,.songs-dashboard .song-run-controls button:last-child,.chorus-actions #chorusSave,.contemporary-actions button:disabled,.demo-play,.splash-primary,.course-navigation .course-complete{border-color:var(--line)!important;background:color-mix(in srgb,var(--control-bg) 94%,var(--surface-2))!important;color:var(--text)!important;box-shadow:none!important}.control-button.featured :is(span,small),.training-dashboard .settings-practice-transport .control-button.featured :is(span,small){color:var(--text)!important}.songs-dashboard .song-run-controls button:last-child.is-playing{border-color:color-mix(in srgb,var(--warm) 44%,var(--line))!important;background:color-mix(in srgb,var(--warm) 7%,var(--control-bg))!important;color:var(--warm)!important}.language-switch a.active,.context-nav>a.active,.context-nav a.active,.desktop-header-actions>.account-menu[open]>summary,.analytics-heading nav a.active,.nav-menu-group.active>summary,.nav-submenu a.active{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))!important;background:color-mix(in srgb,var(--accent) 5%,var(--surface))!important;color:color-mix(in srgb,var(--accent) 70%,var(--text))!important}.portal-nav>a:hover,.standard-catalog-selection>#openSongCatalog:hover,.account-nav-link:hover,.logout-nav-form button.account-nav-link:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))!important;background:color-mix(in srgb,var(--accent) 5%,var(--surface))!important;color:color-mix(in srgb,var(--accent) 70%,var(--text))!important}.xpro-access-dialog footer button{border-color:color-mix(in srgb,#a65ed5 42%,var(--line))!important;background:color-mix(in srgb,#a65ed5 7%,var(--control-bg))!important;color:color-mix(in srgb,#c99cff 70%,var(--text))!important}

/* Brani: the Chorus card follows its content; long forms grow the page instead of reserving an empty viewport. */
@media(min-width:900px) and (min-height:720px){
  .songs-dashboard .songs-shell{align-items:start!important}
  .songs-dashboard .song-sidebar{height:auto!important;align-self:start!important}
  .songs-dashboard .song-sidebar>.chart-sections{min-height:0!important;flex:0 0 auto!important;align-self:stretch!important}
  .songs-dashboard .song-chorus-sections{min-height:0!important;flex:0 0 auto!important}
  .songs-dashboard .song-sidebar .song-run-controls{margin-top:8px!important;padding-top:7px!important}
}

/* Song form: centred, legible section and bar cells. */
.songs-dashboard .song-sidebar .chart-section>header{justify-content:flex-start!important;text-align:left!important}
.songs-dashboard .song-sidebar .chart-section>header h3{width:100%;color:var(--card-text-strong);font-weight:800!important;letter-spacing:.055em!important}
.songs-dashboard .song-sidebar .chord-bar[role="button"]{display:grid!important;min-width:0;align-content:center;justify-items:center;text-align:center!important}
.songs-dashboard .song-sidebar .chord-bar small{margin:0;color:var(--muted);font-weight:650;letter-spacing:.035em}
.songs-dashboard .song-sidebar .chord-bar strong{margin:2px 0 0!important;color:var(--card-text-strong);font-size:.7rem!important;font-weight:850!important;line-height:1.08!important;text-align:center!important}
.songs-dashboard .song-sidebar .chord-bar[role="button"].is-playing{border-color:var(--accent)!important;background:var(--active-card-bg)!important;box-shadow:inset 0 0 0 1px var(--accent),0 0 10px color-mix(in srgb,var(--accent) 16%,transparent)!important}
.songs-dashboard .song-run-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(92px,1.18fr)!important;gap:6px!important}
.songs-dashboard .song-run-controls button{height:32px!important;min-height:32px!important;padding:4px 8px!important;border-color:var(--line)!important;border-radius:7px!important;background:var(--control-bg)!important;color:var(--muted)!important;box-shadow:none!important;font-size:.6rem!important;font-weight:650!important}
.songs-dashboard .song-run-controls .song-step-control:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--info) 45%,var(--line))!important;color:var(--info)!important}
.songs-dashboard .song-run-controls .song-play-control{border-color:color-mix(in srgb,var(--info) 48%,var(--line))!important;color:var(--info)!important}
.songs-dashboard .song-run-controls .song-play-control:is(:hover,:focus-visible,.is-playing){background:color-mix(in srgb,var(--info) 8%,var(--control-bg))!important;color:var(--info-strong)!important}
.classroom-recorder-content>.classroom-microphone-option{width:100%!important;max-width:none!important;align-self:stretch!important;grid-column:1/-1}

/* Shared study transport: play/loop/stop, full-width export. */
.van-eps-study-actions[data-transport-layout="study"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.van-eps-study-actions[data-transport-layout="study"]>button{grid-column:span 1}
.van-eps-study-actions[data-transport-layout="study"]>.transport-action-daw{grid-column:1/-1}

/* Shared wide admin container for data tables. */
.admin-shell.admin-shell-wide{width:calc(100% - 32px)}

/* Shared note-by-note navigation retains the study transport button geometry. */
.van-eps-study-actions[data-transport-layout="steps"]{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}
.van-eps-study-actions[data-transport-layout="steps"]>button{grid-column:auto}
.van-eps-study-actions[data-transport-layout="steps"]>output{grid-column:1/-1;color:var(--muted);font-size:.55rem;text-align:center}

/* Canonical chord/instrument settings: shared DOM, independent of page layout. */
.instrument-settings-panel.instrument-settings-panel{display:grid!important;grid-column:1/-1!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))!important;gap:8px 10px!important;}
.instrument-settings-panel.instrument-settings-panel>.instrument-settings-heading{display:flex!important;align-items:center;gap:8px;grid-column:1/-1!important;margin:0 0 2px!important;padding:0 0 7px!important;font-size:.8rem!important;font-weight:700;color:var(--warm)!important;line-height:1.3!important;border:0!important}
.instrument-settings-panel.instrument-settings-panel>.instrument-settings-heading>span{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:.55rem}
.instrument-settings-panel.instrument-settings-panel>.instrument-settings-field{display:block!important;grid-column:auto!important;grid-row:auto!important;min-width:0!important;width:auto!important;margin:0!important;padding:0!important;color:var(--info)!important;font-size:.56rem!important;line-height:1.05!important;letter-spacing:normal!important;text-transform:none!important}
.instrument-settings-panel.instrument-settings-panel>.instrument-settings-field>select{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:34px!important;margin:2px 0 0!important;padding:0 8px!important;font-size:.65rem!important;border:1px solid var(--line)!important;border-radius:7px!important;background:var(--control-bg)!important;color:var(--text)!important}
.instrument-settings-panel.instrument-settings-panel>.control-disabled{opacity:.5}


/* Shared musical roles and explicit idle/playback presentation. */
@layer instrument-conventions {
  [data-tone-role="tonic"]{--tone-fill:#ef4056;--tone-edge:#ff9ba8;--tone-ink:#fff}
  [data-tone-role="chord"]{--tone-fill:#ffd151;--tone-edge:#ffe99b;--tone-ink:#171717}
  [data-tone-role="scale"]{--tone-fill:#111;--tone-edge:#aaa;--tone-ink:#fff}
  [data-tone-role="bass"]{--tone-fill:#20b85a;--tone-edge:#79f28f;--tone-ink:#07130b}
  .guitar-tab td>span[data-tone-role]{--tone-fill:#111;--tone-edge:#aaa;--tone-ink:#fff;animation:none!important;transition:none!important;filter:none!important}
  .guitar-tab td>span[data-rest-tone="tonic"]{--tone-fill:#ef4056;--tone-edge:#ff9ba8;--tone-ink:#fff}
  .guitar-tab td.harmony-tone-playing>span,.guitar-tab td:is(.playing,.palette-chord-playing)>span[data-tone-role="chord"],.guitar-tab td.palette-chord-playing>span{--tone-fill:#ffd151;--tone-edge:#ffe99b;--tone-ink:#171717}
  .guitar-tab td.playing>span[data-tone-role="bass"]{--tone-fill:#20b85a;--tone-edge:#79f28f;--tone-ink:#07130b}
  [data-resting-harmony="true"] .guitar-tab span[data-tone-role="chord"]{--tone-fill:#ffd151;--tone-edge:#ffe99b;--tone-ink:#171717}
  [data-resting-harmony="true"] .guitar-tab span[data-tone-role="bass"]{--tone-fill:#20b85a;--tone-edge:#79f28f;--tone-ink:#07130b}
  .guitar-tab td:is(.palette-root-playing,.harmony-root-playing)>span:not([data-tone-role="bass"]){--tone-fill:#ef4056;--tone-edge:#ff9ba8;--tone-ink:#fff}
  .guitar-tab td.palette-bass-playing>span{--tone-fill:#20b85a;--tone-edge:#79f28f;--tone-ink:#07130b}
  .guitar-tab td:is(.palette-note-playing,.fret-note-playing)>span,.guitar-tab td.playing:not(.harmony-root-playing):not(.harmony-tone-playing)>span,.piano-key.palette-note-playing{--tone-fill:#67cfff;--tone-edge:#c2efff;--tone-ink:#092333}
  .guitar-tab td>span[data-tone-role],.piano-key[data-tone-role],.instrument-tone-key[data-tone-role]{background:var(--tone-fill)!important;border-color:var(--tone-edge)!important;color:var(--tone-ink)!important;box-shadow:0 0 4px color-mix(in srgb,var(--tone-fill) 35%,transparent)!important}
  .guitar-tab td:is(.playing,.palette-root-playing,.palette-chord-playing,.palette-bass-playing,.palette-note-playing,.fret-note-playing)>span[data-tone-role],.guitar-tab span[data-tone-role].is-current,.piano-key[data-tone-role].active{outline:2px solid var(--tone-edge)!important;outline-offset:1px!important;box-shadow:0 0 7px var(--tone-edge)!important;}
  .guitar-tab .fretboard td[role="button"]{cursor:pointer}
  .guitar-tab .fretboard td[role="button"]:focus-visible{outline:2px solid var(--info)!important;outline-offset:-2px}
  .guitar-tab td:not(.playing):not(.palette-root-playing):not(.palette-chord-playing):not(.palette-bass-playing):not(.palette-note-playing):not(.fret-note-playing)>span[data-tone-role]{outline:none!important;filter:none!important}
}

/* Shared compact static chord card, extracted from Modal Interchange. */
@layer instrument-layout {
  .inversion-card[data-instrument-layout="compact"]{min-width:0!important;padding:8px!important}
  .inversion-card[data-instrument-layout="compact"] h3{margin:0 0 5px!important;font-size:.66rem!important}
  .inversion-card[data-instrument-layout="compact"] .guitar-tab{width:100%!important}
  .inversion-card[data-instrument-layout="compact"] .fretboard table{min-width:0!important;width:100%!important;height:118px!important}
  .inversion-card[data-instrument-layout="compact"] .fretboard tbody tr{height:17px!important}
  .inversion-card[data-instrument-layout="compact"] .fretboard th:first-child{width:20px!important}
  .inversion-card[data-instrument-layout="compact"] .fretboard th{font-size:.45rem!important}
  .inversion-card[data-instrument-layout="compact"] .fretboard td span:not(:empty){width:18px!important;height:18px!important;font-size:.48rem!important;border-width:2px!important}
  .inversion-card[data-instrument-layout="compact"]>p{margin:3px 0!important;font-size:.55rem!important}
  .inversion-card[data-instrument-layout="compact"]>button{height:26px!important;margin:4px 0 0!important;padding:2px 6px!important;font-size:.56rem!important}
  [data-instrument-layout="compact-row"]{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  .instrument-motion-board{width:100%!important;margin-top:14px!important}
  @media(max-width:700px){[data-instrument-layout="compact-row"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
}
@layer instrument-layout {
  .inversion-card[data-instrument-layout="compact"] .fretboard :is(td,tbody th){height:17px!important;min-height:17px!important;padding:0!important;line-height:1!important}
  .inversion-card[data-instrument-layout="compact"] .fretboard thead th{height:18px!important;min-height:18px!important;padding:0!important}
}

/* Shared grouping of feature-specific study controls. */
.local-settings-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.local-settings-controls>div,.local-settings-controls>p{grid-column:1/-1;min-width:0}
.local-settings-group>h3{font-size:.82rem;color:var(--text);margin:0 0 8px}
.local-settings-controls label{min-width:0}

/* Shared fretboard annotation: source position of a semitone voice movement. */
 .guitar-tab td:is(.fret-motion-from-down,.fret-motion-from-up)::after{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:25px;height:25px;border:2px dashed #fff;border-radius:50%;background:rgba(255,255,255,.12);box-shadow:0 0 0 3px rgba(0,0,0,.4);pointer-events:none;content:"";z-index:3}
 .guitar-tab td:is(.fret-motion-from-down,.fret-motion-from-up)::before{position:absolute;left:-50%;top:50%;transform:translateY(-50%);display:block;width:100%;height:30px;background:none;border:0;border-radius:0;color:#fff;font:bold 30px/30px sans-serif;text-align:center;text-shadow:0 1px 3px #000;pointer-events:none;content:"←";z-index:3}
 .guitar-tab td.fret-motion-from-up::before{left:50%;content:"→"}

/* One fretboard style; compact diagrams change scale, never marker geometry. */
@layer instrument-layout {
 .guitar-tab[data-fretboard-format]{width:100%!important;min-width:0!important;max-width:100%!important;margin-inline:0!important;transform:none!important}
 .guitar-tab[data-fretboard-format] .fretboard{min-width:0!important;max-width:100%!important;overflow-x:auto!important}
 .guitar-tab[data-fretboard-format="full"] .fretboard table{width:100%!important;min-width:680px!important;height:210px!important;table-layout:fixed!important}
 .guitar-tab[data-fretboard-format="full"] .fretboard :is(tbody td,tbody th){height:30px!important;min-height:30px!important;padding:0!important;line-height:1!important}
 .guitar-tab[data-fretboard-format="full"] .fretboard tbody tr{height:30px!important}
 .guitar-tab[data-fretboard-format] .fretboard :is(td,th){box-sizing:border-box!important;border-block:0!important}
 .guitar-tab[data-fretboard-format="full"] .fretboard thead th{height:28px!important;padding:0!important;font-size:.6rem!important}
 .guitar-tab[data-fretboard-format="full"] .fretboard th:first-child{width:34px!important}
 .guitar-tab[data-fretboard-format] .fretboard td>span[data-tone-role]{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border-radius:50%!important;line-height:1!important}
 .guitar-tab[data-fretboard-format="full"] .fretboard td>span[data-tone-role]{width:25px!important;min-width:25px!important;height:25px!important;font-size:.67rem!important}
}

@layer instrument-layout {
 .guitar-tab[data-fretboard-format] .fretboard tbody td{border-right:2px solid rgba(190,170,135,.35)!important;background:linear-gradient(to bottom,transparent calc(50% - .7px),rgba(235,222,190,.82) calc(50% - .7px),rgba(235,222,190,.82) calc(50% + .7px),transparent calc(50% + .7px))!important;transition:none!important;animation:none!important}
}

@layer instrument-layout {
 .inversion-card>.instrument-chord-play{position:static!important;display:block!important;width:100%!important;min-width:0!important;height:26px!important;margin:4px 0 0!important;padding:2px 6px!important;font-size:.56rem!important;line-height:1!important;white-space:nowrap!important}
}

@layer instrument-layout {
  [data-instrument-stack="full"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  [data-instrument-stack="full"]>.inversion-card{grid-column:1/-1!important;min-width:0}
}

@layer instrument-layout {
  [data-instrument-stack="comparison"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [data-instrument-stack="comparison"]>.inversion-card{min-width:0}
  [data-instrument-stack="comparison"] .guitar-tab[data-fretboard-format="full"] .fretboard table{min-width:0!important}
  [data-instrument-stack="comparison"]>.inversion-card:last-child:nth-child(odd){grid-column:1/-1!important}
  .master-transport-section .modal-actions[data-transport-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  @media(max-width:700px){[data-instrument-stack="comparison"]{grid-template-columns:minmax(0,1fr)!important}}
}

@layer instrument-layout {
  [data-settings-columns="3"]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  [data-settings-columns="3"]>label{grid-column:auto!important;min-width:0}
  [data-settings-columns="3"]>[data-settings-span="full"]{grid-column:1/-1!important}
}

@layer instrument-layout {
  .local-settings-group>.modal-controls{gap:10px 12px!important;margin:0!important;padding:0!important}
  .local-settings-group>h3{margin:0 0 6px!important}
  .pulse-settings-card>.form-grid{gap:10px 12px!important}
  .pulse-settings-card label,[data-study-performance]{margin-bottom:0!important}
}

@layer instrument-layout {
  [data-instrument-preview="full"]{height:auto!important;max-height:none!important;min-height:210px!important;overflow:visible!important}
  [data-instrument-fit="container"] .fretboard table{min-width:0!important}
  .chorus-grid .chorus-bar-row{min-height:28px!important}
  .chorus-grid .chorus-bar-title,.chorus-grid .chorus-measure-cell{height:28px!important;min-height:28px!important}
  .chorus-grid .chorus-measure-cell{padding:2px!important}
  .chorus-grid .chorus-measure-chord{padding:2px!important}
  .chorus-grid .chorus-measure-chord strong{font-size:.55rem!important}
}

@layer instrument-layout {
  .workspace-sidebar hr{display:none!important}
  .workspace-sidebar>section,.workspace-sidebar>header,.workspace-sidebar :is(.control-section,.selector-group-title,.settings-card,.master-transport-section,.chart-sections,.song-chorus-title,.song-run-controls){border-top:0!important;border-bottom:0!important}
  .workspace-sidebar>section:has(>form),[data-control-panel-group]{padding-inline:0!important;margin-inline:0!important;border:0!important}
}

/* The shared section menu keeps instrument icons on one bottom-aligned row. */
.section-card-grid .entry-card .entry-instruments{display:flex!important;flex-flow:row nowrap!important;align-items:center;gap:6px!important;margin: auto 0 7px!important;padding-top:9px}
.section-card-grid .entry-card .entry-instruments>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 27px;width:27px;height:25px;padding:0!important}
.section-card-grid .entry-card .entry-instruments b{font-size:.85rem!important;line-height:1}

@layer instrument-layout {
  .workspace-sidebar>section>form{padding-inline:0!important;margin-inline:0!important}
  .workspace-sidebar .trainer-selectors{padding-inline:0!important}
}

/* Shared tempo fields use one grid rhythm, including the embedded transport. */
@layer instrument-layout {
  :is(.trainer-selectors:has([data-study-bpm]),.pulse-settings-card>.form-grid){gap:10px 12px!important}
  :is(.trainer-selectors:has([data-study-bpm]),.pulse-settings-card>.form-grid) label{margin:0!important}
  :is(.trainer-selectors:has([data-study-bpm]),.pulse-settings-card>.form-grid) :is(input,select){height:34px!important;margin-top:3px!important}
  .embedded-metronome{margin:0!important;padding:0!important;column-gap:12px!important}
}

/* Shared harmonic touch guide: position is supplied by the canonical string mapper. */
.shared-instrument.guitar-tab td .harmonic-node-guide{position:absolute;top:12%;height:76%;width:1px;background:rgba(180,234,255,.8);pointer-events:none;z-index:2}

/* Shared control-panel disclosure. Content keeps its original DOM and hidden state. */
:is(#options,.shared-control-panel) .control-section-heading{display:flex!important;align-items:center!important;gap:9px!important;cursor:pointer;min-width:0}
:is(#options,.shared-control-panel) .control-section-toggle{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 28px!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;margin:0 0 0 auto!important;padding:0!important;border:1px solid var(--line)!important;border-radius:7px!important;background:var(--control-bg)!important;color:var(--accent)!important;font:700 1rem/1 sans-serif!important;box-shadow:none!important}
:is(#options,.shared-control-panel) .control-section-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Layered important state takes precedence over legacy unlayered display rules. */
@layer control-panel-state{.control-section-content-collapsed{display:none!important}}
/* Song information belongs above the form, separate from the common section heading. */
.song-chart-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 10px;min-width:0}
.song-chart-summary>strong{color:var(--warm);font-size:.85rem;overflow-wrap:anywhere}
.song-chart-summary>small{color:var(--muted);font-size:.65rem;overflow-wrap:anywhere}
.song-chart-summary>p{flex-basis:100%;margin:0;color:var(--muted);font-size:.65rem;line-height:1.5;overflow-wrap:anywhere}
.songs-dashboard .song-sidebar .chord-bars{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(64px,1fr))!important;gap:6px!important}

/* Canonical control-panel headings, including legacy template adapters. */
@layer control-panel-headings{
  .shared-control-panel .shared-control-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-items:end}
  .shared-control-panel .shared-control-fields>label{display:grid;gap:4px;min-width:0;margin:0}
  .shared-control-panel .shared-control-fields :is(input,select,button){width:100%;margin:0!important}
  .shared-control-panel .shared-control-stack{display:flex;flex-direction:column;gap:16px;min-width:0;width:100%}
  .shared-control-panel .shared-control-actions{display:flex;flex-wrap:wrap;gap:8px}
  .shared-control-panel .shared-control-actions-group{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 220px}
  .shared-control-panel .shared-control-actions-group>button{flex:1 1 auto;white-space:nowrap;margin:0!important}
  .shared-control-panel .control-section{min-width:0!important;width:100%!important;padding:0!important;margin:0 0 16px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .shared-control-panel .control-section-minimized{height:auto!important;min-height:0!important;flex:0 0 auto!important;align-self:start!important}
  .workspace-sidebar:has(>.workspace-sidebar-toggle){padding-top:48px!important}
  .shared-control-panel .control-section-heading{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;grid-column:1/-1!important;width:100%!important;min-width:0!important;margin:0 0 12px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--accent)!important;font:700 15px/1.35 var(--font-family,system-ui,sans-serif)!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
  .shared-control-panel .control-section-number{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 23px!important;width:23px!important;height:23px!important;min-width:23px!important;margin:0!important;padding:0!important;border:1px solid var(--accent)!important;border-radius:50%!important;background:transparent!important;color:var(--accent)!important;font:700 11px/1 system-ui,sans-serif!important;letter-spacing:0!important}
  .shared-control-panel .control-section-label{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;font:inherit!important;letter-spacing:inherit!important;text-transform:none!important;white-space:normal!important}
  .shared-control-panel .control-section-help{grid-column:1/-1;margin-bottom:12px;color:var(--muted);font-size:12px}
}
