/* Player bar (2026-11-06): fixed to the bottom while something plays; see player.js. Linked from the home and press pages. */
.player-bar { position: fixed; z-index: 95; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 0.9rem;
  padding: 0.55rem var(--pad); padding-bottom: calc(0.55rem + env(safe-area-inset-bottom, 0px));
  background: var(--bg); border-top: 1px solid var(--signal); font: 400 0.85rem/1.3 var(--sans); color: var(--ink); }
.player-bar[hidden] { display: none; }
.pb-cover { width: 44px; height: 44px; object-fit: cover; flex: none; border: 1px solid var(--line); }
.pb-cover[hidden] { display: none; }
.pb-btns { display: flex; gap: 0.3rem; flex: none; }
.player-bar button { width: 2.4rem; height: 2.4rem; border: 1px solid var(--line); background: transparent; color: var(--ink); font-size: 0.85rem; cursor: pointer; padding: 0; }
.player-bar button:hover, .player-bar button:focus-visible { border-color: var(--signal); color: var(--signal); }
.player-bar button[hidden] { display: none; }
.player-bar button:disabled { opacity: 0.35; cursor: default; border-color: var(--line); color: var(--ink); }
.player-bar .pb-toggle { border-color: var(--signal); color: var(--signal); }
.pb-info { display: flex; flex-direction: column; min-width: 0; flex: 1 1 12rem; }
.pb-title { color: var(--ink); text-decoration: none; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-title:hover, .pb-title:focus-visible { color: var(--signal); }
.pb-from { color: var(--muted); font: 400 0.72rem/1.3 var(--mono); text-transform: lowercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-from[hidden] { display: none; }
.pb-seek { display: flex; align-items: center; gap: 0.5rem; flex: 2 1 16rem; font: 400 0.72rem var(--mono); color: var(--muted); }
.pb-range { flex: 1; min-width: 4rem; accent-color: var(--signal); height: 1.2rem; margin: 0; }
html.has-player body { padding-bottom: 4.6rem; }
html.has-player .song-panel { bottom: 4.1rem; }
@media (max-width: 640px) {
  .player-bar { flex-wrap: wrap; gap: 0.45rem 0.6rem; padding: 0.5rem 1rem calc(0.5rem + env(safe-area-inset-bottom, 0px)); }
  .pb-cover { order: 0; width: 36px; height: 36px; }
  .pb-info { order: 1; flex: 1 1 calc(100% - 6rem); }
  .pb-close { order: 2; }
  .pb-btns { order: 3; }
  .pb-seek { order: 4; flex: 1 1 0; min-width: 0; }
  .player-bar button { width: 2.2rem; height: 2.2rem; }
  html.has-player body { padding-bottom: 6.6rem; }
  html.has-player .song-panel { bottom: 6.2rem; }
}
@media print { .player-bar { display: none !important; } html.has-player body { padding-bottom: 0; } }
