/* Music keeps a steady size. A partial next item and quiet arrows make depth visible. */
.music-shelf{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;scroll-behavior:smooth;min-width:0}
.music-shelf::-webkit-scrollbar{display:none}
.music-shelf:focus-visible{outline:1px solid var(--focus);outline-offset:4px;border-radius:4px}
.music-shelf>.release-card,.music-shelf>.source-card{scroll-snap-align:start}
.music-shelf-frame{position:relative;min-width:0;container:music-shelf / inline-size}
.music-shelf-controls{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .14s}
.music-shelf-controls[hidden]{display:none}
.music-shelf-frame:is(:hover,:focus-within)>.music-shelf-controls{opacity:1}
.music-shelf-controls .icon-button{position:absolute;top:50%;transform:translateY(-50%);left:8px;pointer-events:none;width:32px;height:32px;padding:0;color:var(--text);border-radius:50%;background:linear-gradient(145deg,#414141a6,#202020c2);border:1px solid #ffffff26;box-shadow:0 2px 8px #00000033,inset 0 1px #ffffff0d;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2)}
.music-shelf-frame:is(:hover,:focus-within)>.music-shelf-controls .icon-button{pointer-events:auto}
.music-shelf-controls .icon-button:last-child{left:auto;right:12px}
.music-shelf-controls .icon-button svg{width:14px;height:14px}
.music-shelf-controls .icon-button:hover{color:#fff;background:linear-gradient(145deg,#525252bd,#292929d4)}
.music-shelf-controls .icon-button:disabled{visibility:hidden;pointer-events:none}
.music-shelf-controls .icon-button:focus-visible{outline:1px solid var(--focus);outline-offset:2px}
.music-art-shelf.music-shelf,.profile-release-shelf.music-shelf{grid-auto-columns:clamp(156px,calc((var(--closed-content-width,1000px) - 100px)/5.6),200px);gap:20px;justify-content:start;padding:2px 0 8px;overflow-x:auto;overflow-y:hidden}
.music-source-shelf.music-shelf,.profile-artist-shelf.music-shelf{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:116px;gap:20px;justify-content:start;overflow-x:auto;overflow-y:hidden;padding:10px 0 8px}
.music-source-shelf.music-shelf .source-portrait,.profile-artist-shelf.music-shelf .source-portrait{width:100px;height:100px}
.music-source-shelf.music-shelf .source-card-name,.profile-artist-shelf.music-shelf .source-card-name{font-size:12px}
.discovery-song-shelf.music-shelf{grid-auto-columns:clamp(246px,calc((var(--closed-content-width,1000px) - 72px)/3.15),360px);grid-template-rows:repeat(4,58px);column-gap:24px;padding-bottom:4px}
.discovery-song-shelf.music-shelf>.home-song:nth-child(4n+1){scroll-snap-align:start}
.discovery-title{margin-bottom:18px}
.discovery-section{margin-top:34px}
.discovery-section .home-section-heading{margin-bottom:15px;min-height:28px;flex-wrap:nowrap}
.discovery-section .home-section-heading h2{font-size:19px;line-height:24px}
.discovery-links{margin-bottom:4px;flex-wrap:wrap;row-gap:8px}
.discovery-playlist-art img{width:100%;height:100%;object-fit:cover}
/* Fractional columns leave a visible next collection when there is more to browse.
   Short shelves keep their normal card size and simply have no overflow. */
.collection-shelf.music-shelf{--collection-columns:2.35;--collection-gaps:2;--collection-gap:20px;display:grid;grid-auto-flow:column;grid-auto-columns:max(128px,calc((100cqw - var(--collection-gaps)*var(--collection-gap))/var(--collection-columns)));justify-content:start;gap:var(--collection-gap);overflow-x:auto;overflow-y:hidden;padding:4px 0 10px}
.collection-shelf.music-shelf .collection-card{min-width:0;scroll-snap-align:start}
@container music-shelf (min-width:600px){.collection-shelf.music-shelf{--collection-columns:3.35;--collection-gaps:3}}
@container music-shelf (min-width:800px){.collection-shelf.music-shelf{--collection-columns:4.35;--collection-gaps:4}}
@container music-shelf (min-width:1020px){.collection-shelf.music-shelf{--collection-columns:5.35;--collection-gaps:5}}
@container music-shelf (min-width:1240px){.collection-shelf.music-shelf{--collection-columns:6.35;--collection-gaps:6}}
@container music-shelf (min-width:1480px){.collection-shelf.music-shelf{--collection-columns:7.35;--collection-gaps:7}}
@media(min-width:701px) and (max-width:1279px){
 .music-art-shelf.music-shelf,.profile-release-shelf.music-shelf{grid-auto-columns:160px}
 .music-source-shelf.music-shelf,.profile-artist-shelf.music-shelf{grid-auto-columns:100px;gap:18px}
 .music-source-shelf.music-shelf .source-portrait,.profile-artist-shelf.music-shelf .source-portrait{width:84px;height:84px}
 .discovery-song-shelf.music-shelf{grid-auto-columns:max(246px,44%)}
}
@media(max-width:700px){
 .music-art-shelf.music-shelf,.profile-release-shelf.music-shelf{grid-auto-columns:140px;gap:18px}
 .music-source-shelf.music-shelf,.profile-artist-shelf.music-shelf{grid-auto-columns:86px;gap:18px}
 .music-source-shelf.music-shelf .source-portrait,.profile-artist-shelf.music-shelf .source-portrait{width:72px;height:72px}
 .music-shelf-controls .icon-button{width:36px;height:36px}
 .collection-shelf.music-shelf{--collection-gap:14px}
 .discovery-section{margin-top:28px}
 .discovery-section .home-section-heading{margin-bottom:12px}
 .discovery-section .home-section-heading h2{font-size:19px}
 .discovery-song-shelf.music-shelf{grid-auto-columns:86%;column-gap:18px}
 .discovery-song-shelf.music-shelf .home-song .row-more{display:flex;opacity:1}
}
@media(prefers-reduced-motion:reduce){.music-shelf{scroll-behavior:auto}.music-shelf-controls{transition:none}}
/* Scrollable music reaches the browsing edge, including beside the song well. */
@media(min-width:1280px){
 main .music-shelf-frame{margin-right:calc(-1 * var(--page-gutter))}
 main .music-shelf-frame>.music-shelf{padding-right:16px}
 main .home-collections .collection-grid{margin-right:calc(-1 * var(--page-gutter));padding-right:16px}
 .home-collections .collection-grid{max-width:none}
}
@media(max-width:700px){main .music-shelf-frame{margin-right:-20px}main .music-shelf-frame>.music-shelf{padding-right:20px}}
