/* SOUL ONE LIVE 4.7 · Desktop mixer containment hotfix
 * Regression: two separate UI layers each claimed the Master height.
 * Keep real #masterGain and #masterMeterVisual attached to the WebAudio UI;
 * hide only the OPTIONAL extra diagnostic card (never the actual meter).
 */
@media (min-width:1000px) and (min-height:580px) and (pointer:fine) {
  /* Unclutter the mixer heading: v09 supplied two X/show buttons and v38
     supplied the intended single icon. Show ONLY the v38 icon.
     This intentionally also defeats inline display:flex on v09 controls. */
  body>.app>.meter-title .stage-mixer-controls,
  body>.app>.meter-title .stage-mixer-controls *,
  body>.app>.meter-title .stage-mixer-action {
    display:none!important;
  }
  body>.app>.meter-title .sl-mixer-collapse-toggle{
    margin-left:auto!important;
    margin-right:3px!important;
  }
  body>.app>.meter-title{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  body>.app>.meter-title .sl-fader-size-toggle{
    flex:0 0 auto!important;
    margin:0!important;
  }

  /* Diagnostic music/master output meters in the Master column are an
     EXTRA full-height card. They steal 50–80% of the fader's height.
     Keep them in the DOM for the leveler analysis (and aria-label), but
     never display the duplicate diagnostic panel inside the live mixer. */
  body>.app>#mixer.clean-mixer .clean-group--master>.sl-music-output-mini {
    display:none!important;
    visibility:hidden!important;
  }
  /* Exactly one fader strip fills the Master column. */
  body>.app>#mixer.clean-mixer .clean-group--master{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body>.app>#mixer.clean-mixer .clean-group--master>.clean-rail{
    display:flex!important;
    flex:1 1 0%!important;
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    width:100%!important;
    overflow:hidden!important;
    padding:0!important;
  }
  body>.app>#mixer.clean-mixer .clean-group--master .strip.master{
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body>.app>#mixer.clean-mixer .clean-group--master .strip.master .striphead{
    flex:0 0 39px!important;
    min-height:39px!important;
    max-height:39px!important;
    height:39px!important;
    font-size:11px!important;
  }
  body>.app>#mixer.clean-mixer .clean-group--master .strip.master .faderbox{
    display:flex!important;
    flex:1 1 0%!important;
    box-sizing:border-box!important;
    min-height:60px!important;
    max-height:none!important;
    height:auto!important;
    align-items:stretch!important;
    overflow:hidden!important;
    padding:9px 4px 5px!important;
  }
  body>.app>#mixer.clean-mixer .clean-group--master .strip.master #masterGain,
  body>.app>#mixer.clean-mixer .clean-group--master .strip.master .meter{
    height:100%!important;
    max-height:none!important;
    min-height:0!important;
  }
  body>.app>#mixer.clean-mixer .clean-group--master .strip.master .db,
  body>.app>#mixer.clean-mixer .clean-group--master .strip.master .master-status{
    display:block!important;
    flex:0 0 18px!important;
    height:18px!important;
    min-height:18px!important;
    line-height:18px!important;
    padding:0 2px!important;
    margin:0!important;
    font-size:10px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    color:#cbe4f4!important;
  }

  /* Large instrument names live in the strip header. Normalization N is a
     real button; the clipped "Normali…" caption is unnecessary. Leave the
     control, its title, aria-label, callback, and modal fully functional. */
  body>.app>#mixer.clean-mixer .strip .sl-norm-slot{
    display:flex!important;
    box-sizing:border-box!important;
    justify-content:center!important;
    align-items:center!important;
    flex:0 0 22px!important;
    min-height:22px!important;
    max-height:22px!important;
    margin:0!important;
    gap:0!important;
    overflow:hidden!important;
  }
  body>.app>#mixer.clean-mixer .strip .sl-norm-current{
    display:none!important;
  }
  body>.app>#mixer.clean-mixer .strip .sl-norm-trigger{
    flex:0 0 23px!important;
    width:23px!important;
    min-width:23px!important;
    height:20px!important;
    min-height:20px!important;
    padding:0!important;
    line-height:18px!important;
    font-size:10px!important;
    color:#e1f6ff!important;
    background:#2a546e!important;
    border:1px solid #4f83a0!important;
    border-radius:5px!important;
  }

  /* The music channel rail scrolls; nothing in it may cover or clip the
     fixed Master column. Each channel keeps the full fader grip target. */
  body>.app>#mixer.clean-mixer .clean-group--music .clean-rail{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    min-height:0!important;
    scrollbar-width:thin;
    scrollbar-color:#57758b transparent;
    padding-bottom:3px!important;
  }
  body>.app>#mixer.clean-mixer .clean-group--music .strip{
    flex:0 0 clamp(97px,7.1vw,128px)!important;
    min-width:97px!important;
    max-width:128px!important;
  }

  /* Complete should reveal some actual songs, not only the library title
     and toolbar. Full-size faders remain a one-click choice. */
  html:not(.soulone-ipad-classic) body>.app:not(.sl-mode-stage):not(.sl-mode-repertoire):not(.sl-mode-mix):not(.stage-mixer-collapsed):not(.sl-large-faders),
  html:fullscreen body>.app:not(.sl-mode-stage):not(.sl-mode-repertoire):not(.sl-mode-mix):not(.stage-mixer-collapsed):not(.sl-large-faders){
    grid-template-rows:var(--sl-compact-header-row,76px) 43px minmax(0,1fr) 40px clamp(240px,28dvh,300px)!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-stage)>.main-grid>.right.live-library-panel{
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-stage)>.main-grid>.right.live-library-panel>.live-library-header{
    box-sizing:border-box!important;
    flex:0 0 44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:5px 12px!important;
    overflow:hidden!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-stage)>.main-grid>.right.live-library-panel>.live-library-header strong{
    font-size:13px!important;
    line-height:16px!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-stage)>.main-grid>.right.live-library-panel>.live-library-header small{
    font-size:10px!important;
    line-height:13px!important;
  }
  body>.app:not(.sl-mode-repertoire):not(.sl-mode-stage)>.main-grid>.right.live-library-panel>.tabcontent{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;
  }
}
/* Preserve all touch/mobile controls and the Repertorio dedicated mixer. */
