/* Shared contrast rules: colors follow the chosen genre, including control states. */
:is(.bsl-player,.bsl-mini-tabplayer,.bsl-mini-metronome,.bsl-gym,.bsl-session-runner,.bsl-practice-checklist,.bsl-fingersatz,.muckebude-griffbrett,.bsl-griptable,.bsl-chordlib,.bsl-beatbox-compact,.bsl-bbcat,.bsl-student-dashboard,.bsl-new-course,.bsl-free-practice-view,.bsl-my-theory,.bsl-theory-drawer) :is(h1,h2,h3,h4,h5,h6,legend){color:var(--mb-text)!important}
/* Transport: neutral controls use the surface text; Play uses primary text. */
.bsl-player button.bsl-main-control{color:var(--mb-text)!important;background:var(--mb-soft)!important}
.bsl-player button.bsl-main-control.is-primary,.bsl-player button.bsl-main-control.is-active{color:var(--mb-primary-text)!important;background:var(--mb-primary)!important}
.bsl-player button.bsl-main-control:hover:not(:disabled){background:var(--mb-surface)!important;color:var(--mb-text)!important}
.bsl-player button.bsl-main-control.is-primary:hover:not(:disabled),.bsl-player button.bsl-main-control.is-active:hover:not(:disabled){background:var(--mb-primary-dark)!important;color:var(--mb-primary-dark-text)!important}
.bsl-player :is(.bsl-range-loop,.bsl-range-loop label,.bsl-range-loop span,.bsl-tempo-tools label,.bsl-master label,.bsl-audio-mode-label,.bsl-learning-track-picker label){color:var(--mb-text)!important}
.bsl-player :is(.bsl-range-loop small,.bsl-tempo-tools small,.bsl-beat-label){color:var(--mb-muted)!important;opacity:1!important}
.bsl-player :is(.bsl-range-loop input,.bsl-tempo-tools input,.bsl-tempo-tools select){background:var(--mb-surface)!important;color:var(--mb-text)!important;border-color:var(--mb-border)!important}
.bsl-player .bsl-beat{opacity:1!important;color:var(--mb-text)!important}
.bsl-player .bsl-beat.is-active{border-color:var(--mb-emphasis,var(--mb-primary))!important}
/* Pale decorative accents are never used as text on pale cards. */
.bsl-student-dashboard .bsl-dashboard-stat strong,.bsl-chordlib .bsl-chordlib-name,.bsl-gym .bsl-gym-challenge-status{color:var(--mb-emphasis,var(--mb-text))!important}
:is(.bsl-session-runner,.bsl-gym,.bsl-practice-checklist) :is(label,legend,summary){color:var(--mb-text)!important}
.bsl-session-runner .bsl-session-step-front.is-active .bsl-session-step-number{color:var(--mb-primary-text)!important}
.bsl-session-runner .bsl-session-step-front.is-done .bsl-session-step-number,.bsl-session-runner .bsl-session-finish-mark{color:var(--mb-success-text,#172008)!important}
.bsl-mini-controls button[aria-pressed=true]{color:var(--mb-accent-text,#172008)!important}
.bsl-gym-stage .bsl-gym-player-settings[open]>summary{color:var(--mb-accent-text,#172008)!important}
.bsl-practice-checklist{--mb-checkbox-mark:var(--mb-accent-text,#172008)}
/* Keep secondary information readable even when a theme dims small text. */
.bsl-player :is(.bsl-section-label,.bsl-at-status,.bsl-learning-track-picker small,.bsl-audio-mode-label small){color:var(--mb-muted)!important;opacity:1!important}
:is(.bsl-player,.bsl-mini-tabplayer,.bsl-mini-metronome,.bsl-gym,.bsl-session-runner,.bsl-practice-checklist) button:focus-visible{outline:3px solid var(--mb-focus,var(--mb-primary))!important;outline-offset:3px!important}

/* Selected tool tabs must switch foreground together with background. */
.bsl-griptable :is(.bsl-griptable-mode-btn,.bsl-griptable-notation-btn).is-active{background:var(--mb-primary)!important;border-color:var(--mb-primary)!important;color:var(--mb-primary-text)!important}
.bsl-griptable :is(.bsl-griptable-mode-btn,.bsl-griptable-notation-btn).is-active:hover{background:var(--mb-primary-dark)!important;border-color:var(--mb-primary-dark)!important;color:var(--mb-primary-dark-text)!important}
.bsl-player button.bsl-view-button.is-active{background:var(--mb-primary)!important;color:var(--mb-primary-text)!important}
.bsl-player button.bsl-view-button.is-active:hover{background:var(--mb-primary-dark)!important;color:var(--mb-primary-dark-text)!important}

/* Playback actions are momentary buttons, not a permanently selected mode. */
.bsl-chordlib .bsl-chordlib-audio button:is(.bsl-chordlib-play-seq,.bsl-chordlib-play-chord){background:var(--mb-soft)!important;color:var(--mb-text)!important;border:1px solid var(--mb-border)!important}
.bsl-chordlib .bsl-chordlib-audio button:is(.bsl-chordlib-play-seq,.bsl-chordlib-play-chord):hover{background:var(--mb-surface)!important;color:var(--mb-text)!important;border-color:var(--mb-primary)!important}
.bsl-chordlib .bsl-chordlib-audio button:is(.bsl-chordlib-play-seq,.bsl-chordlib-play-chord):active{background:var(--mb-primary)!important;color:var(--mb-primary-text)!important}
.bsl-chordlib .bsl-chordlib-audio button:is(.bsl-chordlib-play-seq,.bsl-chordlib-play-chord):focus-visible{outline:3px solid var(--mb-focus,var(--mb-primary))!important;outline-offset:3px!important}
