.bsl-toolbox-tool-view[data-toolbox-view="gym"]{overflow:auto!important;height:100%;padding:0 4px 20px;box-sizing:border-box}.bsl-gym{padding:16px;color:var(--mb-text)}.bsl-gym h3,.bsl-gym h4{margin:0 0 10px!important;color:var(--mb-text)!important}.bsl-gym p{margin:8px 0 16px}.bsl-gym [hidden]{display:none!important}.bsl-gym-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.bsl-gym label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.bsl-gym select,.bsl-gym input{min-height:44px!important;max-width:100%;width:100%;box-sizing:border-box;background:var(--mb-soft)!important;color:var(--mb-text)!important;border:1px solid var(--mb-border)!important;border-radius:8px;padding:8px!important}.bsl-gym-choose{margin-bottom:20px}.bsl-gym-dashboard{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.bsl-gym fieldset{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid var(--mb-border);border-radius:12px;padding:12px;margin:0;min-width:0;background:var(--mb-soft)}.bsl-gym legend{padding:0 6px;font-weight:700;color:var(--mb-text)!important}.bsl-gym fieldset input{width:85px}.bsl-gym fieldset label{flex:1;min-width:130px}.bsl-gym button{min-height:44px;border-radius:8px;padding:8px 12px;background:var(--mb-surface)!important;color:var(--mb-text)!important;border:1px solid var(--mb-border)!important;cursor:pointer}.bsl-gym output{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}.bsl-gym-hint{font-size:13px;color:var(--mb-muted)}.bsl-gym .bsl-tempo-tools{display:none!important}.bsl-gym .bsl-player{margin:12px 0!important}.bsl-gym .bsl-player-primary{position:sticky;top:0;z-index:3;padding:8px;background:var(--mb-surface)}@media(max-width:800px){.bsl-gym-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.bsl-gym-dashboard{grid-template-columns:1fr}.bsl-gym{padding:10px}.bsl-gym .bsl-player{padding:10px!important}}

.bsl-gym .bsl-gym-launch{display:flex;justify-content:center;align-items:center;gap:18px;width:100%;min-height:72px!important;margin:24px 0 8px;background:var(--mb-accent)!important;color:var(--mb-accent-text,#172008)!important;border:0!important;border-radius:14px;font-size:26px!important;font-weight:900!important;transition:transform .18s ease,filter .18s ease}.bsl-gym-launch:hover{transform:translateY(-2px);filter:brightness(1.08)}.bsl-gym-launch:active{transform:scale(.98)}.bsl-gym-launch span{font-size:34px}.bsl-gym-stage{animation:bsl-gym-arrive .3s ease both}.bsl-gym-stagebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.bsl-gym-stagebar strong{flex:1;min-width:100px}.bsl-gym-stagebar output{font-size:22px}.bsl-gym-stage-message:empty{display:none}.bsl-gym-player-settings{border:1px solid var(--mb-border);border-radius:8px;padding:8px 12px;margin-bottom:10px}.bsl-gym-player-settings summary{cursor:pointer;font-size:13px;min-height:30px;align-content:center}.bsl-gym-player-settings[open] .bsl-player-controls{margin-top:10px}.bsl-gym.is-training{padding-top:8px}.bsl-gym-stage .bsl-score-window{height:clamp(230px,calc(100dvh - 310px),680px)!important;max-height:none!important}.bsl-gym-stage .bsl-player-head{margin-bottom:8px}.bsl-gym-stage .bsl-player-primary{margin-bottom:8px}.bsl-gym-stage .bsl-track-info{display:none!important}@keyframes bsl-gym-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.bsl-gym-stage{animation:none}.bsl-gym .bsl-gym-launch{transition:none}}@media(max-width:700px){.bsl-gym-stagebar{gap:8px}.bsl-gym-stagebar button{font-size:12px}.bsl-gym-stagebar strong{flex-basis:calc(100% - 150px)}.bsl-gym-stage .bsl-score-window{height:calc(100dvh - 345px)!important;min-height:200px}.bsl-gym .bsl-gym-launch{min-height:66px!important}}

/* Compact training transport; all optional controls share one disclosure. */
.bsl-gym-stage .bsl-player-primary{gap:8px!important;padding:4px!important;position:static}.bsl-gym-stage .bsl-player-primary .bsl-main-control{min-height:44px!important;padding:0 16px!important;font-size:16px!important}.bsl-gym-stage .bsl-player-primary .bsl-main-control.is-primary{min-width:110px!important}.bsl-gym-stage .bsl-gym-player-settings{margin:0 0 0 auto!important;padding:0!important;border:0!important;min-width:0}.bsl-gym-stage .bsl-gym-player-settings>summary{min-height:44px;display:list-item;align-content:center;padding:0 12px;border:1px solid var(--mb-border);border-radius:8px;list-style-position:inside}.bsl-gym-stage .bsl-gym-player-settings[open]{flex-basis:100%;margin:4px 0!important;border:1px solid var(--mb-border)!important;padding:8px!important}.bsl-gym-stage .bsl-gym-player-settings[open]>summary{border:0;padding:0}.bsl-gym-stage .bsl-gym-player-settings .bsl-player-head{margin:12px 0 0!important}.bsl-gym-stage .bsl-gym-player-settings .bsl-mixer{margin:8px 0 0!important;padding:0!important}.bsl-gym-stage .bsl-player{padding:8px!important;margin:6px 0 0!important}.bsl-gym-stage .bsl-score-window{margin-top:6px!important;padding-top:0!important}.bsl-gym-stagebar{margin-bottom:4px}.bsl-gym-stagebar>button{min-height:36px!important;padding:6px 10px!important;font-size:12px!important}.bsl-gym.is-training{padding:4px!important}.bsl-gym-stagebar output{font-size:20px}@media(max-width:450px){.bsl-gym-stage .bsl-player-primary .bsl-main-control{padding:0 10px!important;font-size:14px!important}.bsl-gym-stage .bsl-player-primary .bsl-main-control.is-primary{min-width:85px!important}.bsl-gym-stage .bsl-gym-player-settings>summary{padding:0 8px;font-size:12px}.bsl-gym-stage .bsl-player-primary{gap:5px!important}}

.bsl-gym-stage .bsl-sound-tools,.bsl-gym-stage .bsl-learning-focus{display:none!important}.bsl-gym-stage .bsl-player-secondary{grid-template-columns:1fr!important;grid-template-areas:"practice"!important}.bsl-gym-stage .bsl-player-primary>.bsl-control{min-height:44px!important;padding:8px 12px!important;font-size:13px!important}.bsl-gym-stage .bsl-player-primary>.bsl-bass:not(.is-active){background:var(--mb-soft)!important;color:var(--mb-text)!important}.bsl-gym-stage .bsl-player-primary .bsl-gym-player-settings>summary{background:var(--mb-primary)!important;color:var(--mb-primary-text)!important;border:2px solid var(--mb-accent)!important;font-size:14px!important;font-weight:800!important;min-height:44px;padding:0 14px;list-style:none}.bsl-gym-stage .bsl-gym-player-settings[open]>summary{background:var(--mb-accent)!important;color:var(--mb-accent-text,#172008)!important;border:2px solid var(--mb-accent)!important;min-height:44px;padding:0 14px!important}.bsl-gym-stage .bsl-gym-player-settings>summary::-webkit-details-marker{display:none}.bsl-gym-stage .bsl-gym-player-settings>summary:focus-visible{outline:3px solid var(--mb-focus);outline-offset:3px}

.bsl-gym-intro{margin:14px 0;max-width:360px}

.bsl-gym-challenge{border:1px solid var(--mb-border);border-radius:10px;padding:10px 12px;margin:12px 0}.bsl-gym-challenge>summary{cursor:pointer;font-weight:700;min-height:30px;align-content:center}.bsl-gym-challenge-enable{flex-direction:row!important;align-items:center;margin:12px 0}.bsl-gym-challenge-enable input{width:20px!important;min-height:20px!important;height:20px;accent-color:var(--mb-accent)}.bsl-gym-challenge-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bsl-gym-challenge-status{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:4px 0;color:var(--mb-accent);font-size:13px}.bsl-gym-challenge-status button{min-height:32px!important;padding:4px 10px!important;font-size:12px!important}@media(max-width:500px){.bsl-gym-challenge-fields{grid-template-columns:1fr 1fr}.bsl-gym-challenge-fields>label:last-child{grid-column:1/-1}}

.bsl-gym-challenge>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:4px 0}.bsl-gym-challenge>summary::-webkit-details-marker{display:none}.bsl-gym-challenge>summary::after{content:"";display:block;width:10px;height:10px;border-right:2px solid var(--mb-accent);border-bottom:2px solid var(--mb-accent);transform:rotate(45deg);margin:0 8px 6px;flex-shrink:0}.bsl-gym-challenge[open]>summary::after{transform:rotate(225deg);margin-top:6px;margin-bottom:0}

/* Keep loop inputs on the same baseline inside Gym settings. */
.bsl-gym-stage .bsl-range-loop{display:inline-flex!important;align-items:center!important;flex-wrap:wrap;gap:6px!important}.bsl-gym-stage .bsl-range-loop label{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;margin:0!important}.bsl-gym-stage .bsl-range-loop input{width:58px!important;min-height:44px!important;margin:0!important}.bsl-gym-stage .bsl-practice-tools{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;min-width:0!important}.bsl-gym-stage .bsl-practice-tools>.bsl-section-label{flex:0 0 100%!important;margin:0!important}.bsl-gym-stage .bsl-player-secondary{display:flex!important;flex-direction:column!important;align-items:stretch!important}.bsl-gym-stage .bsl-practice-tools .bsl-control{min-height:44px!important;padding:8px 12px!important}.bsl-gym-stage .bsl-practice-tools .bsl-beat{min-height:44px!important;box-sizing:border-box;align-items:center!important}

.bsl-gym-result{text-align:center;padding:clamp(20px,5vh,50px) 12px;animation:bsl-gym-arrive .3s ease both}.bsl-gym-result-icon{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;background:var(--mb-accent);color:var(--mb-accent-text,#172008);border-radius:50%;font-size:36px;font-weight:900;margin-bottom:16px}.bsl-gym-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:680px;margin:26px auto}.bsl-gym-result-stats>div{display:flex;flex-direction:column;gap:8px;padding:18px 10px;border:1px solid var(--mb-border);border-radius:12px;background:var(--mb-soft)}.bsl-gym-result-stats strong{font-size:clamp(22px,4vw,34px);font-variant-numeric:tabular-nums;color:var(--mb-accent)}.bsl-gym-result-stats span{font-size:13px;color:var(--mb-muted)}.bsl-gym-result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.bsl-gym-result-actions button{min-width:140px;min-height:48px!important;font-weight:800}.bsl-gym-result-actions [data-gym-again]{background:var(--mb-accent)!important;color:var(--mb-accent-text,#172008)!important;border:0!important}@media(max-width:420px){.bsl-gym-result-stats{gap:6px}.bsl-gym-result-stats>div{padding:14px 6px}.bsl-gym-result-stats span{font-size:11px}}@media(prefers-reduced-motion:reduce){.bsl-gym-result{animation:none}}

.bsl-gym-live-tempo{display:flex;align-items:center;gap:6px;white-space:nowrap;font-variant-numeric:tabular-nums}.bsl-gym-stagebar .bsl-gym-live-tempo button{min-height:34px!important;min-width:36px;padding:4px 7px!important;font-size:13px!important}.bsl-gym-live-tempo span{min-width:64px;text-align:center}

/* Preset-safe contrast in Gym, including light Folk and Jazz surfaces. */
.bsl-gym{font-family:var(--bsl-font)!important}
.bsl-gym :is(legend,label,output,.bsl-gym-challenge>summary){color:var(--mb-text)!important}
.bsl-gym .bsl-gym-launch,.bsl-gym .bsl-gym-result-actions [data-gym-again]{background:var(--mb-primary)!important;color:var(--mb-primary-text)!important}
.bsl-gym .bsl-gym-launch:hover,.bsl-gym .bsl-gym-result-actions [data-gym-again]:hover{background:var(--mb-primary-dark)!important;color:var(--mb-primary-dark-text)!important;filter:none}
.bsl-gym :is(.bsl-gym-result-stats strong,.bsl-gym-stage-message){color:var(--mb-text)!important}
.bsl-gym .bsl-gym-challenge>summary::after{border-color:var(--mb-text)}
.bsl-gym button:focus-visible{outline:3px solid var(--mb-focus,var(--mb-primary));outline-offset:3px}
