html{scroll-behavior:smooth}
.playlist-archive-main{min-width:0;padding:clamp(18px,3vw,36px);max-width:1400px;width:100%}
.playlist-archive-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,260px);gap:clamp(18px,4vw,52px);align-items:center;margin-bottom:18px;overflow:hidden}
.playlist-archive-hero h1{margin:.25rem 0;font-size:clamp(2.2rem,5vw,4.4rem)}
.playlist-archive-hero>img{display:block;width:100%;max-height:230px;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(0,0,0,.42))}
.playlist-archive-hero .pg-button{margin-top:8px}
.playlist-archive-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;align-items:end;margin-bottom:14px}
.playlist-archive-filters label{display:grid;gap:6px;font-weight:700}
.playlist-archive-filter-actions,.playlist-archive-actions,.playlist-archive-badges{display:flex;gap:8px;flex-wrap:wrap}
.playlist-archive-result-count{color:var(--pg-color-text-muted);font-size:1.05rem}
.playlist-archive-result-count strong{color:var(--pg-color-accent-soft);font-size:1.35rem}
.playlist-archive-table-head{display:grid;gap:14px;padding:0 16px 8px;color:var(--pg-color-text-muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.playlist-archive-table-head--weekly,.playlist-archive-card--weekly{grid-template-columns:minmax(210px,1.25fr) minmax(90px,.55fr) minmax(130px,.9fr) minmax(150px,1fr) 62px minmax(180px,.9fr)}
.playlist-archive-table-head--tt,.playlist-archive-card--tt{grid-template-columns:minmax(250px,1.35fr) minmax(140px,.8fr) minmax(160px,1fr) 62px minmax(180px,.9fr)}
.playlist-archive-list{display:grid;gap:8px;scroll-margin-top:18px}
.playlist-archive-list:focus{outline:0}
.playlist-archive-card{display:grid;gap:14px;align-items:center;min-height:88px;padding:12px 16px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.playlist-archive-card:hover{border-color:var(--pg-color-accent);transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.playlist-archive-cell{min-width:0;overflow-wrap:anywhere}
.playlist-archive-cell>small,.playlist-archive-cell>strong,.playlist-archive-cell>em{display:block}
.playlist-archive-date{display:grid;gap:3px}
.playlist-archive-date span{font-weight:800;color:var(--pg-color-accent)}
.playlist-archive-date small{color:var(--pg-color-text-muted)}
.playlist-archive-date strong{font-size:.9rem;line-height:1.25}
.playlist-archive-date em{font-size:.8rem;color:var(--pg-color-text-muted);font-style:normal}
.playlist-archive-count{text-align:center}
.playlist-archive-status{color:var(--pg-color-warning);margin:.75rem 0 0}
.playlist-archive-actions{justify-content:flex-end;align-items:center}
.playlist-archive-actions .pg-button{white-space:nowrap}
.playlist-back-to-top{position:fixed;right:18px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:25;box-shadow:0 10px 25px rgba(0,0,0,.35)}
.playlist-back-to-top[hidden]{display:none}
@media(max-width:1100px){.playlist-archive-table-head{display:none}.playlist-archive-card--weekly,.playlist-archive-card--tt{grid-template-columns:1fr 1fr}.playlist-archive-cell{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px}.playlist-archive-cell::before{content:attr(data-label);color:var(--pg-color-text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.playlist-archive-date>*{grid-column:2}.playlist-archive-actions{justify-content:flex-start}.playlist-archive-count{text-align:left}}
@media(max-width:980px){.playlist-archive-filters{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:700px){.playlist-archive-hero{grid-template-columns:1fr}.playlist-archive-hero>img{max-height:150px}.playlist-archive-main{padding:14px}.playlist-archive-filters{grid-template-columns:1fr}.playlist-archive-card--weekly,.playlist-archive-card--tt{grid-template-columns:1fr;gap:9px}.playlist-archive-cell{grid-template-columns:92px minmax(0,1fr)}.playlist-archive-actions .pg-button{min-height:44px}.playlist-back-to-top{right:12px;bottom:calc(118px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.playlist-archive-card{transition:none}}
