/* PLAYER-01 — repair r1. Uses DS-001 v02 tokens; see design/COMPONENTS.md. */
.player[hidden], #reopen-player[hidden] { display:none!important; }
.player .player-top, .player.minimised .player-top { flex-wrap:wrap; min-width:0; }
.player-view-controls { display:flex; flex-wrap:wrap; gap:4px; margin-left:auto; }
.player-view-controls button { flex:0 0 auto; white-space:normal; }
.player .player-top .now-text { flex:1 1 220px!important; }
.player .now-text, .player #now-artist { overflow-wrap:anywhere; }
.player.minimised #now-artist { max-width:100%; }
.player.minimised #source-link:not([hidden]) { display:inline-block; }
.player .player-message { margin:0 auto; width:min(760px,100%); }
.player .player-message:empty { display:none; }
.player .player-recovery, .player.minimised:has(.player-message:not(:empty)) .player-recovery { display:none; }
.player[data-error=true] .player-recovery { display:flex!important; flex-wrap:wrap; }
.player[data-error=true] .player-message { color:var(--error); }
.player.minimised:not(.has-video):not(.has-provider) { flex-direction:row; flex-wrap:wrap; }
.player.minimised:not(.has-video):not(.has-provider) .player-top { flex:1 1 280px; }
.player.minimised:not(.has-video):not(.has-provider) .playback { flex:0 0 auto; width:auto; }
.player.minimised .player-view-controls .quiet { padding:8px 10px; }
.player:not(.focus) #now-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player .provider-shell { flex-shrink:0; }
.player.minimised #focus-button { display:inline-flex!important; }
.player.minimised:not(.focus) {
  display:grid; grid-template-columns:minmax(0,1fr) 52px;
  align-items:center; column-gap:8px;
}
.player.minimised:not(.focus) .player-top { display:contents; }
.player.minimised:not(.focus) .now-text { grid-column:1/-1; grid-row:1; }
.player.minimised:not(.focus) .player-view-controls { grid-column:1; grid-row:2; width:100%; margin:0; }
.player.minimised:not(.focus) .playback { grid-column:2; grid-row:2; width:52px; }
.player.minimised:not(.focus) .provider-shell,
.player.minimised:not(.focus) .video-shell { grid-column:1/-1; grid-row:3; }
.player.minimised:not(.focus) .player-message { grid-column:1/-1; grid-row:4; }
.player.minimised:not(.focus) .player-recovery { grid-column:1/-1; grid-row:5; }
@media(max-width:700px) {
  .player:not(.focus) { gap:8px; }
  .player .player-top .now-text { flex-basis:100%!important; }
  .player-view-controls { width:100%; margin:0; justify-content:space-between; }
  .player-view-controls button { flex:1; min-width:0; }
  .player.minimised .player-top { width:100%; }
  .player.minimised:not(.has-video):not(.has-provider) { flex-direction:column; }
  .player.minimised:not(.has-video):not(.has-provider) .player-top { flex-basis:auto; }
  .player .player-message { max-height:none; overflow:visible; }
  .player .provider-shell iframe { max-width:100%; }
  .player.focus { overflow-y:auto; }
}
