/* Compact album index and shared listening bar. Uses the chapter palette. */
.library-controls { display:flex; align-items:end; gap:16px; flex-wrap:wrap; padding:0 0 22px; }
.queue-choice { display:grid; gap:4px; min-width:0; color:#b9a4c2; font:10px/1.3 system-ui,sans-serif; }
.queue-choice select { width:100%; max-width:270px; min-width:0; padding:7px 28px 7px 9px; background:#171020; color:#efe7d9; border:1px solid #b99bd54d; border-radius:3px; font:12px/1.3 system-ui,sans-serif; }
.album { grid-template-columns:190px minmax(0,1fr); gap:28px; padding:25px 0; }
.album:first-of-type { border-top:0; padding-top:0; }
.album-visual { align-self:start; }
.album-art { display:block; }
.album-art>span { inset:auto 12px 14px; font-size:19px; }
.album-art small { font-size:8px; margin-bottom:8px; }
.album-meta { margin-top:8px!important; }
.album-play { margin-top:10px; width:100%; font-size:11px; padding:8px 10px; }
.album h3 { margin-bottom:6px; }
.album .album-description { font-size:13px; line-height:1.65; margin:0 0 12px; }
.album-content { min-width:0; }
.track-list .track-row { margin:0; padding:0; border-bottom:1px solid #b99bd521; }
.track-line { display:flex; align-items:center; gap:8px; min-width:0; }
.track-button { grid-template-columns:22px minmax(0,1fr) 32px; width:auto; flex:1; min-width:0; padding:10px 2px; border:0; min-height:44px; gap:8px; }
.track-button>span:nth-child(2) { font-size:14px; line-height:1.35; }
.track-button.is-playing { background:linear-gradient(90deg,#d9bc8312,transparent); }
.track-actions { display:flex; flex-shrink:0; align-items:center; gap:1px; }
.track-actions .track-tool { display:inline-grid; place-items:center; width:32px; height:36px; margin:0; padding:7px; color:#b9a4c2; background:transparent; border:1px solid transparent; border-radius:3px; text-decoration:none; }
.track-cover-thumb { display:block; width:24px; height:24px; object-fit:cover; }
.track-tool svg,.player-option svg { display:block; width:18px; height:18px; }
.track-actions .track-tool:hover,.track-actions .track-tool[aria-expanded=true],.track-actions .track-tool.is-copied { color:#efd39d; border-color:#d9bc8345; background:#d9bc8310; }
.track-tool[aria-expanded=true] { box-shadow:inset 0 -2px #d9bc83; }
.chapter-paper .track-panel { padding:10px 14px 14px 32px; background:#b99bd506; }
.chapter-paper .track-panel p { margin:0; max-width:none; font-size:14px; line-height:1.8; color:#c8b6cf; }
.track-lyrics p { white-space:pre-wrap; }
.cover-dialog { width:min(680px,calc(100% - 32px)); }
.cover-dialog [data-cover-large] { display:block; width:100%; max-height:65dvh; object-fit:contain; background:#08060c; }
.cover-dialog h2 { font-size:23px; padding-right:15px; }
.cover-dialog [data-cover-caption] { margin-top:12px; font-size:12px; }
.archive-preview.has-player { padding-bottom:calc(var(--player-height,150px) + 20px); }
.listening-bar { grid-template-columns:minmax(240px,1.25fr) auto minmax(210px,.85fr); gap:8px 22px; padding:10px clamp(16px,3vw,48px) max(8px,env(safe-area-inset-bottom)); }
.now-playing { gap:8px; min-width:0; }
.player-cover { position:relative; padding:0; width:48px; height:58px; flex:none; border:0; background:none; color:#bca8c8; }
.player-cover img { display:block; width:48px; height:48px; object-fit:cover; border:1px solid #d9bc834b; }
.player-cover>span { display:block; text-align:center; font:8px/10px system-ui,sans-serif; }
.now-copy { padding-left:3px; }
.now-playing strong { font-size:14px; }
.now-playing .overline { font-size:8px; }
.now-album { display:block; color:#b9a4c2; font:10px/1.5 system-ui,sans-serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-transport { display:flex; align-items:center; gap:5px; justify-content:center; }
.player-button { width:30px; }
.player-toggle { width:40px; flex:none; }
.player-option { position:relative; display:grid; place-items:center; width:36px; height:38px; padding:6px; background:transparent; border:1px solid transparent; border-radius:4px; color:#a795b2; text-decoration:none; }
.player-option:hover { color:#efd39d; background:#d9bc8310; }
.player-option[aria-pressed=true] { color:#efd39d; border-color:#d9bc835c; background:#d9bc8314; }
.repeat-one { position:absolute; right:2px; top:0; background:#171020; color:#efd39d; font:10px/1 system-ui,sans-serif; }
.player-settings { display:flex; align-items:center; gap:15px; justify-content:end; min-width:0; }
.player-settings .queue-choice { flex:1; }
.player-settings select { font-size:11px; max-width:100%; }
.player-settings .volume-control { flex:0 0 70px; }
.listening-bar .seek-control { grid-column:1/-1; grid-row:auto; width:100%; gap:12px; }
.seek-control span { min-width:30px; font-variant-numeric:tabular-nums; }
.seek-control input { flex:1; margin:0; height:16px; }
@media (min-width:1100px) { .album-visual { position:sticky; top:100px; } }
@media (max-width:1100px) {
  .album { grid-template-columns:155px minmax(0,1fr); gap:20px; }
  .track-line { gap:4px; }
  .track-actions .track-tool { width:29px; padding:5px; }
  .listening-bar { grid-template-columns:minmax(210px,1fr) auto; gap:8px 14px; }
  .player-settings { grid-column:1/-1; justify-content:start; }
  .player-settings .queue-choice { display:flex; align-items:center; gap:8px; flex:0 1 340px; }
  .player-settings .queue-choice select { width:auto; max-width:255px; }
  .player-settings .volume-control { flex:0 0 95px; }
}
@media (max-width:760px) {
  .album { grid-template-columns:1fr; gap:15px; }
  .album-visual { display:grid; grid-template-columns:110px minmax(0,1fr); gap:7px 15px; align-items:center; }
  .album-art { grid-row:1/3; max-width:none; width:110px; }
  .album-art>span { font-size:13px; inset:auto 7px 9px; }
  .album-art small { font-size:6px; margin-bottom:5px; }
  .album-meta { margin:0!important; align-self:end; }
  .album-play { margin:0; width:fit-content; align-self:start; }
  .album h3 { font-size:21px; }
  .library-controls { gap:10px; align-items:center; }
}
@media (max-width:620px) {
  .track-line { flex-wrap:wrap; gap:0; padding:3px 0; }
  .track-button { flex-basis:100%; padding:6px 0 2px; min-height:34px; }
  .track-button>span:nth-child(2) { font-size:13px; }
  .track-actions { padding-left:28px; gap:5px; }
  .track-actions .track-tool { width:36px; height:32px; }
  .chapter-paper .track-panel { padding:8px 8px 12px; }
  .chapter-paper .track-panel p { font-size:13px; }
  .library-controls .queue-choice { flex:1 1 170px; }
  .listening-bar { grid-template-columns:minmax(0,1fr); padding:9px 14px max(8px,env(safe-area-inset-bottom)); gap:6px; }
  .now-playing { grid-column:1; grid-row:1; }
  .player-cover { width:40px; height:49px; }
  .player-cover img { width:40px; height:40px; }
  .player-cover>span { font-size:7px; line-height:9px; }
  .now-playing strong { font-size:13px; }
  .now-album { font-size:9px; }
  .player-transport { grid-column:1; grid-row:2; gap:13px; }
  .player-transport .player-button { width:30px; }
  .player-transport .player-toggle { width:38px; height:38px; }
  .player-settings { grid-row:3; gap:10px; }
  .player-settings .queue-choice { flex:1; font-size:9px; }
  .player-settings .queue-choice select { flex:1; min-width:0; width:100%; max-width:100%; font-size:10px; padding:5px 18px 5px 5px; }
  .player-settings .volume-control { display:none; }
  .listening-bar .seek-control { grid-row:4; font-size:9px; }
  .player-message { margin:0; font-size:10px; }
}
