/* A quiet, visible library beside the existing listening room. */
.music-view-head{align-items:center;justify-content:space-between}
.music-heading{min-width:0;display:grid;gap:5px}
.music-heading p{line-height:1.5}
.music-library{margin:22px 0 28px;padding:20px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface)}
.music-library-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.music-library-head h3{display:flex;align-items:center;gap:9px;margin:0;font:700 calc(20px * var(--ts,1))/1.25 var(--font-display);letter-spacing:-.02em}
.music-library-head p{margin:5px 0 0;color:var(--muted);font-size:calc(13px * var(--ts,1));line-height:1.5}
.music-count{display:inline-grid;place-items:center;min-width:25px;padding:3px 7px;border-radius:var(--r-s);background:var(--surface-2);color:var(--ink-2);font:650 calc(12px * var(--ts,1))/1.3 var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:0}
.music-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:12px}
.music-link-card{min-width:0;display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--bg)}
.music-link-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:calc(11px * var(--ts,1));line-height:1.5}
.music-provider{font-weight:700;color:var(--ink-2)}
.music-link-host{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.music-link-card h4{margin:9px 0 16px;font:650 calc(18px * var(--ts,1))/1.35 var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere}
.music-link-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto}
.music-link-actions .btn,.music-link-manage .btn{min-height:40px}
.music-link-actions .music-play{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.music-link-actions a{gap:6px}
.music-link-manage{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:2px;margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
.music-link-manage .btn{font-size:calc(11px * var(--ts,1));color:var(--muted);padding-inline:9px}
.music-library-empty{grid-column:1/-1;display:flex;align-items:flex-start;gap:16px;padding:24px 8px}
.music-empty-mark{flex:none;display:grid;place-items:center;width:50px;height:58px;border:1px solid var(--line-2);border-radius:var(--r-m);background:var(--surface-2);color:var(--ink-2);font-size:29px}
.music-library-empty strong{display:block;font:650 calc(18px * var(--ts,1))/1.4 var(--font-display)}
.music-library-empty p{max-width:54ch;margin:6px 0 14px;color:var(--muted);font-size:calc(13px * var(--ts,1));line-height:1.55}
.music-library-note,.music-invalid-note{margin:13px 0 0;color:var(--muted);font-size:calc(12px * var(--ts,1));line-height:1.55;max-width:76ch}
.music-link-invalid .music-provider,.music-form-error{color:var(--crit)}
.music-invalid-note{margin:0}
.music-headphone-panel{margin-top:12px}
.music-headphone-panel .music-library-note{margin:0 0 16px}
.music-tone-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.music-tone-controls input{width:100%}
.music-form-help,.music-form-error{margin:0;font-size:calc(12px * var(--ts,1));line-height:1.5}
.music-form-help{color:var(--muted)}
.music-form-error{padding:10px 12px;border:1px solid var(--crit);border-radius:var(--r-s)}
#view-sound :is(button,a,input,summary):focus-visible,#playlistTitle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
#playlistTitle:focus:not(:focus-visible){outline:none}
@media(max-width:640px){
  .music-library{padding:15px;margin:18px 0 24px}
  .music-library-head{align-items:flex-start;flex-wrap:wrap;gap:12px}
  .music-library-head h3{font-size:calc(19px * var(--ts,1))}
  .music-library-head>.btn{min-height:42px}
  .music-library-empty{gap:12px;padding:16px 0}
  .music-empty-mark{width:38px;height:48px;font-size:25px}
  .music-tone-controls{grid-template-columns:1fr}
  .music-link-actions .btn,.music-link-manage .btn{min-height:42px}
}
