/* SOUL ONE LIVE 4.10 · ICON-FIRST CONTROLS
 * Presentation only. Text remains in the DOM for accessibility and
 * all original button nodes, listeners, IDs and keyboard commands stay intact.
 * Icons are inline encoded SVG masks (no emoji, icon fonts, or network request).
 */
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
  /* Clear repeated text actions, retain musical titles and view names. */
  :is(body>.app) :is(#fullscreenToggle,.sl-premium-level-toggle,.sl-select-all-action,.sl-clear-selection-action,.sl-fader-size-toggle,#loopBtn,#prevSection,#nextSection,#goPrev,#goNext,#play,#stop,#menuToggle,.sl-rp-add,#mixer .strip .dual button[data-mute],#mixer .strip .dual button[data-solo],#mixer .strip .sl-norm-trigger){
    font-size:0!important;
    letter-spacing:0!important;
    text-indent:0!important;
    color:#dceffc!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
    line-height:1!important;
    vertical-align:middle!important;
  }
  body>.app :is(#fullscreenToggle,.sl-premium-level-toggle,.sl-select-all-action,.sl-clear-selection-action,.sl-fader-size-toggle,#loopBtn){
    width:36px!important; min-width:36px!important; max-width:36px!important;
    height:36px!important; min-height:36px!important; max-height:36px!important;
    padding:0!important;
    border:1px solid #3b6078!important;
    border-radius:8px!important;
    background:#223e53!important;
    box-shadow:none!important;
    flex:0 0 36px!important;
  }
  body>.app :is(#fullscreenToggle,.sl-premium-level-toggle,.sl-select-all-action,.sl-clear-selection-action,.sl-fader-size-toggle,#loopBtn):hover:not(:disabled){
    color:#f4fdff!important;
    background:#315e75!important;
    border-color:#65a0b2!important;
  }
  /* Keep the controls compact, not a sea of 40px text pills. */
  body>.app :is(#fullscreenToggle,.sl-premium-level-toggle,.sl-select-all-action,.sl-clear-selection-action,.sl-fader-size-toggle,#loopBtn) :is(.short-label,.sl-action-text){
    display:none!important;
  }
  body>.app :is(#fullscreenToggle,.sl-premium-level-toggle,.sl-select-all-action,.sl-clear-selection-action,.sl-fader-size-toggle,#loopBtn,
    #prevSection,#nextSection,#goPrev,#goNext,#play,#stop,#menuToggle,
    #mixer .strip .dual button[data-mute],#mixer .strip .dual button[data-solo],
    #mixer .strip .sl-norm-trigger)::before {
    content:""!important;
    display:block!important;
    flex:0 0 19px!important;
    width:19px!important;height:19px!important;
    background-color:currentColor!important;
    -webkit-mask:var(--sl-ic) center/contain no-repeat!important;
    mask:var(--sl-ic) center/contain no-repeat!important;
    pointer-events:none!important;
  }
  body>.app #mixer .strip .dual button[data-mute]::before,
  body>.app #mixer .strip .dual button[data-solo]::before {
    flex-basis:18px!important;width:18px!important;height:18px!important;
  }
  body>.app #mixer .strip .sl-norm-trigger::before {
    flex-basis:15px!important;width:15px!important;height:15px!important;
  }
  body>.app #mixer .strip .dual button[data-mute],
  body>.app #mixer .strip .dual button[data-solo] {
    min-width:30px!important; min-height:30px!important;
    border-radius:7px!important;
  }
  body>.app #mixer .strip .dual button.muted,
  body>.app #mixer .strip .dual button.soloed {
    color:#fff!important;
    border-color:#46d6c6!important;
  }
  body>.app :is(.sl-premium-level-toggle,.sl-fader-size-toggle)[aria-expanded=true],
  body>.app :is(#loopBtn,.sl-fader-size-toggle)[aria-pressed=true] {
    color:#72e8d8!important;
    background:#164b55!important;
    border-color:#4ccabf!important;
  }
  body>.app :is(#loopBtn,.sl-premium-level-toggle,.sl-fader-size-toggle):focus-visible,
  body>.app :is(.sl-select-all-action,.sl-clear-selection-action,#fullscreenToggle):focus-visible,
  body>.app #mixer .dual button:focus-visible{
    outline:2px solid #85e7dd!important;
    outline-offset:2px!important;
  }
  /* The v09 legacy mixer close button is duplicate of the chevron from v38. */
  body>.app>.meter-title :is(.stage-mixer-controls,.stage-mixer-action,.mobile-mix-close,.mobile-mixer-close){
    display:none!important;
  }
  body>.app>.meter-title .sl-mixer-collapse-toggle{
    margin-left:auto!important;
  }
  /* Consistent hierarchy, exact casing. Navigation text stays visible. */
  body>.app .sl-mode-group .sl-mode-btn{
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  body>.app>.meter-title>div:first-child>strong{
    font-size:14px!important;letter-spacing:-.01em!important;
  }
  body>.app .timeline .heading .eyebrow{
    font-size:13px!important;letter-spacing:0!important;
    text-transform:none!important;
  }
  /* Do not let selection counters push the right-hand minimize icon away. */
  body>.app>.meter-title .sl-selection-count{
    min-width:0!important;overflow:hidden!important;
    text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  @media(max-width:1230px){
    body>.app>.meter-title .small-note{font-size:10px!important}
    body>.app>.meter-title .sl-selection-count{max-width:125px!important}
  }
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #fullscreenToggle{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%203H5a2%202%200%200%200-2%202v3M16%203h3a2%202%200%200%201%202%202v3M3%2016v3a2%202%200%200%200%202%202h3M21%2016v3a2%202%200%200%201-2%202h-3%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app .sl-premium-level-toggle{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2021v-7m0-4V3M12%2021v-9m0-4V3M20%2021v-5m0-4V3%22%2F%3E%3Cpath%20d%3D%22M1%2014h6M9%208h6M17%2016h6%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app .sl-select-all-action{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22m7%2012%203%203%207-7%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app .sl-clear-selection-action{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h16M10%2011v6m4-6v6M7%207l1%2014h8l1-14M9%207V4h6v3%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app .sl-fader-size-toggle:not([aria-pressed="true"]){--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%203H5a2%202%200%200%200-2%202v3m13-5h3a2%202%200%200%201%202%202v3M3%2016v3a2%202%200%200%200%202%202h3m13-5v3a2%202%200%200%201-2%202h-3%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app .sl-fader-size-toggle[aria-pressed="true"]{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%208H3V3m0%205%206-6M16%208h5V3m0%205-6-6M8%2016H3v5m0-5%206%206m7-6h5v5m0-5-6%206%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #loopBtn,
body>.app .sl-rp-loop,
body>.app .sl-rp-dock [data-proxy="loopBtn"]{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m17%202%204%204-4%204M3%2011V9a3%203%200%200%201%203-3h15M7%2022l-4-4%204-4M21%2013v2a3%203%200%200%201-3%203H3%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #mixer .strip .dual button[data-mute]{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m11%205-5%204H3v6h3l5%204V5Z%22%2F%3E%3Cpath%20d%3D%22m22%209-6%206m0-6%206%206%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #mixer .strip .dual button[data-solo]{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2014v-3a9%209%200%200%201%2018%200v3M5%2014H3a2%202%200%200%200-2%202v3a2%202%200%200%200%202%202h3v-7ZM19%2014h2a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202h-3v-7Z%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #mixer .strip .sl-norm-trigger{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012h2l2-7%203%2014%203-10%202%204%202-3%202%202h2%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #prevSection,
body>.app #goPrev{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m15%2018-6-6%206-6%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #nextSection,
body>.app #goNext{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #play{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m8%205%2011%207-11%207V5Z%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #stop{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%225%22%20width%3D%2214%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app #menuToggle{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E");}
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
body>.app .sl-rp-add{--sl-ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22%2F%3E%3C%2Fsvg%3E");}
}

/* Playback text changes dynamically between Play and Pause, so its original
   state-driven glyph takes precedence over the static SVG mask. */
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
  body>.app #play{
    font-size:21px!important;
    line-height:1!important;
  }
  body>.app #play::before{display:none!important;}
  /* The add-section control belongs to the deprecated multi-panel
     Repertorio dashboard; keep it readable if ever exposed in future. */
  body>.app .sl-rp-add{font-size:12px!important;}
}

/* Approved exception: channel controls are clearer with the classic
   M (Mute), S (Solo) and N (Normalizar) abbreviations. The other
   toolbar actions keep SVG icons. Do not replace/remove the real
   buttons, their active states or keyboard event handlers. */
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
  body>.app #mixer .strip .dual button[data-mute],
  body>.app #mixer .strip .dual button[data-solo]{
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:0!important;
    line-height:1!important;
    text-indent:0!important;
  }
  body>.app #mixer .strip .sl-norm-trigger{
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:0!important;
    line-height:1!important;
    text-indent:0!important;
  }
  body>.app #mixer .strip .dual button[data-mute]::before,
  body>.app #mixer .strip .dual button[data-solo]::before,
  body>.app #mixer .strip .sl-norm-trigger::before{
    content:none!important;
    display:none!important;
    -webkit-mask:none!important;
    mask:none!important;
  }
}
