/* Playlists + mixes (homepage) */
.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:28px 24px}
.pl-card{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none}
.pl-art{display:block;aspect-ratio:16/9;overflow:hidden;background:#111}
.pl-art img{inline-size:100%;block-size:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform .6s}
.pl-card:hover .pl-art img,.pl-card:focus-visible .pl-art img{transform:scale(1.03)}
.pl-t{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.2}
.pl-card .k{opacity:.7}
.mix-list{list-style:none;margin:0;padding:0;border-block-start:1px solid rgba(127,127,127,.3)}
.mix-list li{border-block-end:1px solid rgba(127,127,127,.3)}
.mix-open{display:flex;flex-direction:column;align-items:flex-start;gap:4px;inline-size:100%;text-align:start;background:none;border:0;padding:14px 0;cursor:pointer;color:inherit}
.mix-open .mix-t{font-size:16px;line-height:1.35}
.mix-open .k{opacity:.65}
.mix-open:hover .mix-t{text-decoration:underline;text-underline-offset:.2em}
.mix-dlg{inline-size:min(920px,calc(100vw - 24px));max-block-size:calc(100vh - 24px);padding:22px;border:0;background:#0a0a0a;color:#eee;box-sizing:border-box;overflow:auto}
.mix-dlg::backdrop{background:rgba(0,0,0,.85)}
.mix-x{position:absolute;inset-block-start:6px;inset-inline-end:8px;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;padding:6px 10px}
.mix-h{font-family:var(--display);font-size:20px;margin:0 40px 14px 0;line-height:1.3}
.mix-player{position:relative;aspect-ratio:16/9;background:#000}
.mix-player iframe,.mix-frame{position:absolute;inset:0;inline-size:100%;block-size:100%;border:0}
.mix-consent{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:20px;font-size:14px;color:#d9d9d9}
.mix-consent[hidden]{display:none}
.mix-consent .btn{background:#fff;color:#000;border-color:#fff}
.mix-tracks{list-style:none;margin:16px 0 8px;padding:0;columns:2 260px;column-gap:24px}
.mix-tracks li{break-inside:avoid}
.mix-tracks button{display:flex;gap:12px;inline-size:100%;text-align:start;background:none;border:0;color:#d9d9d9;padding:7px 0;cursor:pointer;font:inherit;font-size:14px;border-block-end:1px solid #222}
.mix-tracks button:hover,.mix-tracks button:focus-visible{color:#fff}
.mix-tracks .ts{font-variant-numeric:tabular-nums;opacity:.6;min-inline-size:44px}
.mix-dlg .mix-yt{color:#d9d9d9;text-decoration:underline;text-underline-offset:.2em}
