/* SoulOne LIVE v0.15 — full-screen repertoire and a transport-accurate progress track. */
.right.live-library-panel .sl-now-playing{
  display:flex;
  flex-direction:column;
  flex:0 0 auto;
  gap:9px;
  border-bottom:1px solid #dce8f2;
  background:#f6faff;
  padding:12px 15px 13px;
  min-width:0;
}
.right.live-library-panel .sl-np-upper{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  min-width:0;
}
.right.live-library-panel .sl-np-info{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1 1 180px}
.right.live-library-panel .sl-np-state{
  color:#65849a;
  font-size:9px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.11em;
}
.right.live-library-panel .sl-np-title{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#223f59;
  font-size:15px;
  font-weight:850;
  line-height:1.25;
  letter-spacing:-.02em;
}
.right.live-library-panel .sl-np-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
}
.right.live-library-panel .sl-np-time{
  color:#385d77;
  font-size:13px;
  font-weight:820;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.right.live-library-panel .sl-np-track{
  height:6px;
  border-radius:999px;
  overflow:hidden;
  background:#dae9f5;
  border:0;
  box-shadow:inset 0 1px 2px #1a42630d;
}
.right.live-library-panel .sl-np-fill,
.right.live-library-panel .sl-song-playing-fill{
  display:block;
  height:100%;
  width:0%;
  background:#0b7aca;
  border-radius:inherit;
  transition:width 80ms linear;
  will-change:width;
}
.right.live-library-panel .sl-np-playing .sl-np-state{color:#087f69}
.right.live-library-panel .sl-np-playing .sl-np-fill{background:linear-gradient(90deg,#0a82d4,#09a99a)}
.right.live-library-panel .sl-np-paused .sl-np-state{color:#b07e28}
.right.live-library-panel .sl-np-paused .sl-np-fill{background:#d1a14f}
.right.live-library-panel .sl-np-preparing .sl-np-state{color:#537c9f}
.right.live-library-panel .sl-np-fullscreen{
  display:inline-flex;
  align-items:center;
  gap:6px;
  box-sizing:border-box;
  flex:0 0 auto;
  padding:7px 10px;
  min-height:31px;
  border:1px solid #cddfec;
  border-radius:8px;
  background:white;
  color:#476b86;
  font-size:11px;
  font-family:inherit;
  font-weight:760;
  box-shadow:none;
  cursor:pointer;
}
.right.live-library-panel .sl-np-fullscreen:hover{background:#eaf5ff;border-color:#abcfea}
.right.live-library-panel .sl-np-fullscreen:focus-visible{outline:2px solid #1281c9;outline-offset:2px}
.right.live-library-panel .sl-np-fullscreen[hidden]{display:none!important}
.right.live-library-panel .songitem .sl-song-playing-state{
  margin-top:2px;
  display:block;
  color:#077c6d;
  font-size:9px;
  font-weight:880;
  letter-spacing:.075em;
  line-height:1.15;
}
.right.live-library-panel .songitem .sl-song-playing-state[hidden],
.right.live-library-panel .songitem .sl-song-playing-progress[hidden]{display:none!important}
.right.live-library-panel .songitem .sl-song-playing-progress{
  width:100%;
  height:4px;
  border:0;
  margin-top:4px;
  border-radius:99px;
  overflow:hidden;
  background:#c6e1f2;
}
.right.live-library-panel .songitem.sl-song-paused .sl-song-playing-state{color:#b08034}
.right.live-library-panel .songitem.sl-song-paused .sl-song-playing-fill{background:#c89b51}
.right.live-library-panel .songitem.sl-song-ready .download-inline{display:none!important}
.right.live-library-panel .songitem.sl-song-playing{
  border-color:#b3d9ef!important;
  background:#e8f6fb!important;
}
.right.live-library-panel .songitem.sl-song-playing .sl-song-playing-fill{
  background:linear-gradient(90deg,#138bd6,#19ae9f);
}
@media(min-width:1000px) and (min-height:580px) and (pointer:fine){
  /* Repertorio uses the full available stage width and height, not the old 880px card. */
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.main-grid,
  html:fullscreen body>.app.sl-mode-repertoire>.main-grid{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-content:stretch!important;
    padding:0!important;
    margin:0!important;
  }
  html:not(.soulone-ipad-classic) body>.app.sl-mode-repertoire>.main-grid>.right.live-library-panel,
  html:fullscreen body>.app.sl-mode-repertoire>.main-grid>.right.live-library-panel{
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:100%!important;
    margin:0!important;
    border-radius:14px;
    overflow:hidden!important;
  }
  body>.app.sl-mode-repertoire>.main-grid>.right .live-library-header{padding:13px 19px!important}
  body>.app.sl-mode-repertoire>.main-grid>.right .live-library-header strong{font-size:16px!important}
  body>.app.sl-mode-repertoire .sl-now-playing{padding:14px 19px 16px;gap:12px}
  body>.app.sl-mode-repertoire .sl-np-title{font-size:20px}
  body>.app.sl-mode-repertoire .sl-np-time{font-size:16px}
  body>.app.sl-mode-repertoire .sl-np-track{height:9px}
  body>.app.sl-mode-repertoire>.main-grid>.right .tabcontent{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    overflow-y:auto!important;
    padding:14px 19px 20px!important;
  }
  body>.app.sl-mode-repertoire .songitem{
    min-height:71px!important;
    padding:12px 14px!important;
    gap:12px!important;
  }
  body>.app.sl-mode-repertoire .songitem .name b{font-size:15px!important}
  body>.app.sl-mode-repertoire .songitem .name small{font-size:12px!important}
  body>.app.sl-mode-repertoire .songitem .sl-song-details{font-size:11px}
  body>.app.sl-mode-repertoire .songitem .playSong,
  body>.app.sl-mode-repertoire .songitem .sl-song-more{
    min-width:41px!important;
    flex-basis:41px!important;
    height:38px!important;
    min-height:38px!important;
  }
  body>.app.sl-mode-repertoire .songitem .sl-song-playing-progress{height:6px;max-width:none}
  body>.app.sl-mode-repertoire .songitem .sl-song-playing-state{font-size:10px}
  body>.app:not(.sl-mode-repertoire)>.main-grid>.right .sl-np-fullscreen{display:none!important}
  body>.app:not(.sl-mode-repertoire)>.main-grid>.right .sl-now-playing{padding:9px 11px;gap:6px}
  body>.app:not(.sl-mode-repertoire)>.main-grid>.right .sl-np-title{font-size:11px}
  body>.app:not(.sl-mode-repertoire)>.main-grid>.right .sl-np-time{font-size:10px}
  body>.app:not(.sl-mode-repertoire)>.main-grid>.right .sl-np-track{height:4px}
}
@media(max-width:1100px) and (pointer:coarse){
  .soul-mobile-console .right.live-library-panel .sl-now-playing{
    padding:9px 11px 10px;
    gap:7px;
  }
  .soul-mobile-console .right.live-library-panel .sl-np-title{font-size:14px}
  .soul-mobile-console .right.live-library-panel .sl-np-time{font-size:11px}
  .soul-mobile-console .right.live-library-panel .sl-np-track{height:5px}
  .soul-mobile-console .right.live-library-panel .sl-np-fullscreen{display:none!important}
  .soul-mobile-console.slmv-repertoire-only .right.live-library-panel .sl-np-track{height:8px}
  .soul-mobile-console.slmv-repertoire-only .right.live-library-panel .sl-np-title{font-size:16px}
  .soul-mobile-console.slmv-repertoire-only .right.live-library-panel .tabcontent{
    min-height:0!important;
    overflow-y:auto!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .sl-now-playing .sl-np-fill,.sl-now-playing .sl-song-playing-fill{transition:none}
}

/* In the compact mobile split view, preserve room for song rows.
   The large progress header belongs to the dedicated Repertorio view. */
@media(max-width:1100px) and (pointer:coarse){
 .soul-mobile-console:not(.slmv-repertoire-only) .right.live-library-panel .sl-now-playing{
   display:none!important;
 }
}
