/* Page Dynamique : trois échelles, étapes de la compression, cas où le gain monte */
.dyn-scales{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}
.dyn-scales article{display:grid;align-content:start;gap:6px;min-width:0;padding:18px;border-radius:14px;background:#f3f5fa;border:1px solid var(--line)}
.dyn-scales small{font:10px 'DM Mono';letter-spacing:.06em;color:var(--blue)}
.dyn-scales h3{margin:0;font-size:19px}
.dyn-scales svg{display:block;width:100%;height:auto;margin:4px 0;border-radius:8px;background:#fff}
.dyn-scales p{margin:0;font-size:13.5px;color:#434958}
.sc-axis{stroke:#15192522}
.sc-wave{fill:none;stroke:var(--blue);stroke-width:2}
.sc-wave.thin{stroke-width:1;opacity:.45}
.sc-env{fill:none;stroke:#e0412b;stroke-width:2.5;stroke-linejoin:round}
.sc-bar{fill:#1762ff4d}
.sc-lab{font:9px 'DM Mono',monospace;fill:#6b7280}
.dyn-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.dy-step{display:grid;align-content:start;gap:6px;min-width:0;margin:0;padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.dy-step figcaption{display:flex;align-items:center;gap:8px;font-weight:800}
.dy-step figcaption b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font:600 12px 'DM Mono'}
.dy-step svg{display:block;width:100%;height:auto;border-radius:8px;background:#f6f7fa}
.dy-step p{margin:0;font-size:13px;color:#434958}
.dy-sig{fill:#1762ffa6}
.dy-sig.up{fill:#2c9d63b3}
.dy-ghost{fill:none;stroke:#15192566;stroke-width:1;stroke-dasharray:3 3}
.dy-over{fill:#e0412b}
.dy-thr{stroke:#e0412b;stroke-width:1.2;stroke-dasharray:6 4}
.dy-lab{font:10px 'DM Mono',monospace;fill:#e0412b}
.dyn-effects{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.dyn-effects article.warn{background:#fff1ec}
.dyn-diagram-intro{max-width:820px}
.dyn-up-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.dyn-scales,.dyn-steps,.dyn-effects{grid-template-columns:1fr!important}.dyn-up-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.dyn-up-grid{grid-template-columns:1fr}}
/* Schéma du compresseur : le son et la mesure */
.cbd .cbd-scroll{overflow-x:auto}
.cbd svg{display:block;width:100%;height:auto;min-width:720px}
.cbd-lane{font:700 11px 'DM Mono',monospace;fill:var(--mint);letter-spacing:.16em}
.cbd-lane.p{fill:#b89cff}
.cbd-box{fill:#0e1119;stroke:#ffffff22}
.cbd-box.vca{stroke:#ff7048;stroke-width:1.5}
.cbd-box.d{stroke:#b89cff66}
.cbd-box.other{stroke:#ffffff33;stroke-dasharray:4 3}
.cbd-t{font:700 13px Manrope,system-ui,sans-serif;fill:#fff}
.cbd-s{font:10.5px Manrope,system-ui,sans-serif;fill:#9da6b7}
.cbd-s.cmd{fill:#ff9a7e;font-weight:700}
.cbd-w{fill:none;stroke:#78aaff;stroke-width:1.4}
.cbd-w.out{stroke:#8be8bd}
.cbd-w.faint{opacity:.35}
.cbd-env{fill:none;stroke:#b89cff;stroke-width:2.2;stroke-linejoin:round}
.cbd-gr{fill:none;stroke:#ff7048;stroke-width:2.2}
.cbd-line{stroke:#8f98aa;stroke-width:2;fill:none}
.cbd-arrhead{fill:#8f98aa}.cbd-arrhead2{fill:#ff7048}
.cbd-tap{stroke:var(--mint);stroke-width:2;stroke-dasharray:5 4;fill:none}
.cbd-dot{fill:var(--mint)}
.cbd-sw{stroke:#fff;stroke-width:3;stroke-linecap:round}
.cbd-axis{stroke:#ffffff33;fill:none}.cbd-axis.dash{stroke-dasharray:3 3}
.cbd-cmd{stroke:#ff7048;stroke-width:2.2;fill:none}
.cbd-track{fill:#ffffff33}.cbd-knob{fill:#ff7048}.cbd-down{stroke:#ff7048;stroke-width:2}
.cbd-filter rect{fill:#151925;stroke:#ffffff40;stroke-dasharray:4 3}
.cbd-hp{fill:none;stroke:#ffffff40;stroke-width:2}
.cbd-ft{font:600 11px 'DM Mono',monospace;fill:#8f98aa}
.cbd-box.mk{stroke:#8be8bd;stroke-width:1.5}
.cbd-knobc{fill:#252b38;stroke:#8be8bd;stroke-width:2}.cbd-knobp{stroke:#8be8bd;stroke-width:3;stroke-linecap:round}
.cbd-up{stroke:#8be8bd;stroke-width:2}.cbd-arrhead3{fill:#8be8bd}
@media(max-width:760px){.cbd .cbd-scroll:after{content:"← faire défiler le schéma →";display:block;margin-top:6px;font:10px 'DM Mono',monospace;color:#8f98aa;text-align:center}}
/* Source et filtre du détecteur, indépendants */
.cbd .sw-ext{display:none}
.cbd[data-source="external"] .sw-int{display:none}
.cbd[data-source="external"] .sw-ext{display:inline}
.cbd[data-source="external"] .cbd-box.other{stroke:#ff7048;stroke-dasharray:none}
.cbd[data-source="external"] .cbd-line.other{stroke:#ff7048}
.cbd[data-source="external"] .cbd-tap{opacity:.35}
.cbd .cbd-hp.hp,.cbd .cbd-hp.lp{display:none}
.cbd[data-filter="hp"] .cbd-hp.hp,.cbd[data-filter="lp"] .cbd-hp.lp{display:inline}
.cbd[data-filter="hp"] .cbd-hp.none,.cbd[data-filter="lp"] .cbd-hp.none{display:none}
.cbd[data-filter="hp"] .cbd-filter rect,.cbd[data-filter="lp"] .cbd-filter rect{fill:#3a2a55;stroke:#d4b8ff;stroke-width:2;stroke-dasharray:none}
.cbd[data-filter="hp"] .cbd-hp,.cbd[data-filter="lp"] .cbd-hp{stroke:#e8dcff}
.cbd[data-filter="hp"] .cbd-ft,.cbd[data-filter="lp"] .cbd-ft{fill:#fff}
.sc2-switches{display:flex;flex-wrap:wrap;gap:8px}
.sc2-switches .sidechain-mode-switch{flex:1 1 280px}
.sc2 [aria-pressed=true]{background:var(--mint)!important;color:var(--ink)!important}
.sc2-tip{margin:0;font-size:13px;line-height:1.5;color:#cfd5e1}
.sc2-switches{grid-column:1/-1}.sc2 .sidechain-mode-switch{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}@media(max-width:560px){.sc2 .sidechain-mode-switch{grid-template-columns:1fr}}
.sc2-switches{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:10px}
.sc2-group{display:grid;gap:5px;min-width:0;padding:8px;border-radius:10px;background:#ffffff08}
.sc2-group small{font:9px 'DM Mono',monospace;letter-spacing:.08em;color:#8f98aa}
.detector-filter{fill:#d4b8ff}
@media(max-width:700px){.sc2-switches{grid-template-columns:1fr}}
/* Compresseur simple ou multibande */
.mbl-title{margin:30px 0 6px;font-size:22px;scroll-margin-top:120px}
.mbl-lab{display:grid;gap:10px;margin:14px 0 22px;padding:16px;border-radius:18px;background:var(--ink);color:#fff}
.mbl-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.mbl-top [role=group]{display:flex;flex-wrap:wrap;gap:5px}
.mbl-top button{padding:9px 13px;border:1px solid #ffffff1c;border-radius:9px;background:#1b202b;color:#e7ebf3;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.mbl-top [aria-pressed=true]{background:#1f2a40;border-color:#6f9bff}
.mbl-top .mbl-play{background:var(--mint);border-color:var(--mint);color:var(--ink);min-width:96px}
.mbl-top button:disabled{opacity:.5;cursor:wait}
.mbl-top label{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;color:#cfd5e1}
.mbl-top output{font:600 12px 'DM Mono',monospace;color:#ffd36e}
.mbl-top input{accent-color:var(--mint);width:160px;max-width:100%}
.mbl-canvas{display:block;width:100%;height:300px;border-radius:12px;background:#0d111a}
.mbl-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font:11px 'DM Mono',monospace;color:#b7c0ce}
.mbl-legend span:before{content:"";display:inline-block;width:14px;height:3px;margin-right:6px;vertical-align:middle;border-radius:2px;background:currentColor}
.mbl-legend .l{color:#ffb35c}.mbl-legend .m{color:#8aabff}.mbl-legend .h{color:#8be8bd}.mbl-legend .v{color:#d4a5ff}.mbl-legend .g{color:#ffffff88}
.mbl-status{margin:0;min-height:3em;font-size:13.5px;line-height:1.5;color:#cfd5e1}
@media(max-width:560px){.mbl-lab{padding:12px}.mbl-canvas{height:260px}.mbl-top label{width:100%}.mbl-top input{flex:1}}
