/* Album shelves restore the collection's categories and put artwork first. */
.music-catalog-hero .archive-stats{display:flex;flex-wrap:wrap;gap:12px 20px;color:var(--muted)}
.music-catalog-hero .archive-stats strong{color:var(--gold);padding-right:5px}
.music-library .archive-controls{display:flex;flex-wrap:wrap;align-items:end;background:#16101f;border:1px solid var(--line);border-radius:12px}
.music-library .archive-controls label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;color:var(--silver)}
.music-library .archive-controls input,.music-library .archive-controls select{width:100%;min-width:0;padding:12px;border:1px solid #77568f;border-radius:7px;background:#0d0913;color:var(--ink);font-size:1rem}
.music-library .archive-controls button{padding:10px 17px;border:1px solid #a58a47;border-radius:7px}
.music-library .archive-controls[hidden]{display:none}
.music-library .no-results{padding:24px;border:1px solid var(--line);border-radius:12px;color:var(--muted)}
.collection-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.collection-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid #b08acc60;border-radius:999px;background:#21132e;color:var(--gold);font-size:.86rem;text-decoration:none}
.collection-jumps a:hover{border-color:var(--gold);background:#301d3e}
.music-shelf{padding-block:32px 42px;scroll-margin-top:100px}
.music-shelf+.music-shelf{border-top:1px solid var(--line)}
.shelf-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}
.shelf-heading .eyebrow{font-size:.66rem;color:var(--gold-soft);margin-bottom:8px}
.shelf-heading h2{font:800 clamp(2rem,3.8vw,3.1rem)/1.1 var(--display);margin:0}
.shelf-count{font-size:.8rem;color:var(--muted);white-space:nowrap;padding-bottom:4px}
.shelf-description{font-size:.96rem;color:var(--muted);max-width:68ch;margin:0 0 26px}
.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.record-group{min-width:0;overflow:hidden;border:1px solid #b08acc45;border-radius:14px;background:linear-gradient(145deg,#20142a,#110d18);display:flex;flex-direction:column;scroll-margin-top:110px}
.record-group:hover{border-color:#bb91d078}
.record-group:target,.playlist-edition:target{outline:2px solid var(--gold);outline-offset:-3px}
.record-cover{width:100%;aspect-ratio:1;display:grid;place-items:center;background:#09070d;overflow:hidden;border-bottom:1px solid #b08acc35}
.record-image{display:block;width:100%;height:100%;object-fit:contain;min-width:0}
.record-body{display:flex;flex-direction:column;gap:13px;padding:20px;min-width:0}
.record-series{font-size:.68rem;line-height:1.4;color:var(--gold-soft);letter-spacing:.075em;text-transform:uppercase;margin:0}
.record-date{font-size:.82rem;line-height:1.45;color:#d5c5df;margin:0}
.record-date .date-prefix{display:inline;font-size:inherit;letter-spacing:0;text-transform:none;color:var(--muted);margin-right:7px}
.playlist-edition{min-width:0;scroll-margin-top:110px}
.playlist-edition+.playlist-edition{padding-top:15px;border-top:1px solid var(--line)}
.playlist-edition h3{font:700 clamp(1.35rem,2.1vw,1.7rem)/1.2 var(--display);letter-spacing:0;text-wrap:pretty;overflow-wrap:anywhere;margin:0 0 13px}
.playlist-surname{font-family:var(--brand);font-weight:400;letter-spacing:-.055em;white-space:nowrap;display:inline-block;line-height:1.2;padding-inline:.03em;overflow:visible}
.record-actions{display:flex;flex-wrap:wrap;gap:8px}
.record-actions .listen-button{flex:1;min-height:44px;font-size:.79rem;padding:10px 12px;min-width:105px}
.record-relations{display:flex;flex-direction:column;gap:4px;margin-top:1px;font-size:.8rem;line-height:1.45}
.record-relations a{color:#d8b7ef;text-decoration:underline;text-underline-offset:4px;display:flex;align-items:center;min-height:40px;padding-block:5px}
.record-source{font-size:.77rem;color:var(--muted);margin:0 20px;padding:0;border-top:1px solid var(--line);min-width:0}
.record-source summary{min-height:44px;padding-block:11px}
.record-source p{margin-bottom:12px;overflow-wrap:anywhere;line-height:1.6}
.record-illustration{background:radial-gradient(ellipse at 12% 0%,#73593899,transparent 60%),radial-gradient(ellipse at 100% 100%,#75459b80,transparent 60%),#17101e;position:relative}
.record-illustration .record-disc{width:70%;grid-area:1/1;transform:translateY(-5%)}
.record-illustration .record-disc>span{font-family:var(--brand);font-weight:400;letter-spacing:-.055em;font-size:clamp(1rem,2vw,1.7rem)}
.record-badge{position:absolute;bottom:6%;font:700 1rem/1.2 var(--display);letter-spacing:.08em;color:#e7d8be}
.metal-record{background:radial-gradient(ellipse at 0% 100%,#634b7480,transparent 65%),linear-gradient(140deg,#3b3b46,#0c0a12 70%)}
.metal-record .record-disc>span{background:radial-gradient(circle,#131018 0 5%,#b5a7bb 6% 9%,#594064 10% 63%,#a89aae 64%);color:#eee2f4}
.music-shelves [hidden],.collection-jumps [hidden]{display:none!important}
@media(max-width:1050px){.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){
  .collection-jumps{gap:8px;margin-bottom:20px}.collection-jumps a{font-size:.78rem;padding:8px 12px}
  .music-shelf{padding-block:24px 32px;scroll-margin-top:86px}.shelf-heading{gap:12px}.shelf-heading h2{font-size:2.15rem}.shelf-count{font-size:.72rem}
  .shelf-description{font-size:.9rem;margin-bottom:20px}
  .record-grid{grid-template-columns:1fr;gap:18px}
  .record-group{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;border-radius:12px}
  .record-cover{border-bottom:0;border-right:1px solid #b08acc35;align-self:start}
  .record-body{padding:14px;gap:10px}.record-series{font-size:.6rem;letter-spacing:.035em}
  .playlist-edition h3{font-size:1.35rem;line-height:1.2;margin-bottom:11px}.record-date{font-size:.75rem}
  .record-actions{gap:7px}.record-actions .listen-button{font-size:.74rem;padding:8px;min-width:0;flex-basis:100%;min-height:44px}
  .record-relations{font-size:.73rem}.record-relations a{min-height:44px}
  .record-source{grid-column:1/-1;margin:0 14px;font-size:.76rem}
  .record-illustration .record-disc>span{font-size:.9rem}.record-badge{font-size:.78rem}
}
@media(max-width:360px){.record-group{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.record-body{padding:12px}.playlist-edition h3{font-size:1.22rem}.shelf-heading h2{font-size:1.95rem}}
