/* A quiet library: the objects hold the color, not containers around them. */
:root{--music-secondary:var(--muted);--sidebar-width:224px}
.sidebar{border-right-color:#ffffff09;padding-top:27px}.brand{color:var(--text)}.brand svg{color:var(--muted)}.nav-item.active{background:#ffffff0b}.nav-item:hover,.collection-link:hover{background:#ffffff07}.collection-link.active{background:#ffffff0c}.sidebar-heading{color:var(--muted);margin-top:31px}.collection-link{height:44px;gap:10px}.sidebar-name{flex:1}.sidebar-arrivals{flex:none;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:17px;height:17px;display:grid;place-items:center;background:#ffffff0a;border-radius:9px}.sidebar-foot{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.library-dot{height:4px;width:4px;border-radius:50%;background:var(--faint)}
.topbar{height:58px;justify-content:space-between;padding:0 var(--page-gutter)}.global-search{background:#ffffff03;border-color:#ffffff0c;width:280px}.global-search:focus-within{border-color:#707070}.global-search input{font-size:12px}.history-controls .icon-button:hover{background:#ffffff08}main{padding-top:20px}.home-title{margin-bottom:26px}.home-title h1{font-size:28px;font-weight:500;letter-spacing:-.02em}.create-collection{gap:6px;font-size:12px;color:var(--muted)}.home-section-heading{display:flex;align-items:center;gap:9px;margin-bottom:18px}.home-section-heading h2{font-size:18px;font-weight:500;letter-spacing:-.2px}.home-section-heading>span{font-size:11px;color:var(--muted)}.home-section-heading>.text-button{margin-left:auto;font-size:12px;gap:5px;color:var(--muted)}.home-section-heading .text-button svg{width:11px;height:11px}
.collection-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:26px 22px;max-width:none}.collection-card{border-radius:7px}.collection-open{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2px 0 0}.collection-object.glass-folder{margin:0 auto 15px;flex:none;max-width:none;aspect-ratio:auto}.collection-name{font-size:13px;color:var(--text);width:100%;font-weight:500}.collection-caption{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}.collection-card.drag-over{outline-color:var(--muted);background:#cbcbcb06}
.collection-object.sidebar-folder{margin:0;flex:0 0 28px}.collection-object.destination-folder{margin:0;flex:0 0 38px}.hero-art{width:100px}.hero-art .glass-folder{--folder-size:100px!important;--scale:.625!important;margin:0}.hero-info h1{font-size:27px}.folder-preview .glass-folder{margin:0}.empty-insert{background:linear-gradient(140deg,#dedede48,#80808022);border:1px solid #c7c7c72a}.empty-insert:after{content:'';position:absolute;left:25%;right:25%;top:25%;height:1px;background:#bfbfbf3a;box-shadow:0 6px #bfbfbf20,0 12px #bfbfbf20}.glass-folder .insert{max-width:none}.glass-folder .rear-shell{box-sizing:border-box}
.home-music{margin-top:32px;padding-top:0;border:0}.home-music .home-section-heading{margin-bottom:15px}.home-song-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;grid-auto-flow:column;grid-template-rows:repeat(3,58px)}.home-song{display:flex;align-items:center;gap:10px;border-bottom:1px solid #ffffff07;min-width:0;border-radius:4px;position:relative;padding:6px 3px}.home-song:hover,.home-song.menu-open{background:#ffffff05}.home-song.dragging{opacity:.4}.home-song-art{position:relative;padding:0;flex:none}.home-song-art img{width:42px;height:42px;border-radius:4px}.home-song-art>span{position:absolute;inset:0;display:grid;place-items:center;background:#00000066;border-radius:4px;opacity:0}.home-song-art svg{width:14px;height:14px;fill:currentColor}.home-song:hover .home-song-art>span,.home-song-art:focus-visible>span,.home-song.playing .home-song-art>span{opacity:1}.home-song-info{min-width:0;flex:1}.home-song .track-name{font-size:13px;font-weight:400;line-height:17px}.home-song .track-artist{font-size:12px;color:var(--music-secondary);line-height:16px;margin-top:1px}.home-song .row-more{width:23px;flex:none;margin-left:-2px}.home-song:hover .row-more,.home-song:focus-within .row-more{opacity:1}.home-song.playing .track-name{color:var(--text)}
.home-sources{margin-top:32px;padding-top:0;border:0}.home-sources .home-section-heading{margin-bottom:18px}.home-artist-shelf{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:15px}.home-artist{display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;min-width:0;color:var(--muted);font-size:10px}.home-artist img,.artist-initial{width:68px;height:68px;border-radius:50%;object-fit:cover;filter:saturate(.85)}.artist-initial{display:grid;place-items:center;background:var(--hover);color:#cccccc;font-size:20px}.home-artist>span:last-child{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-artist:hover{color:var(--text)}.home-artist:hover img{filter:none}.prototype-note{margin-top:34px;font-size:9px;line-height:1.7;color:var(--muted)}
.player{background:#2d2d2df5;border-color:#ffffff18;box-shadow:0 6px 24px #00000055,inset 0 1px #ffffff04;backdrop-filter:none}.player .mini-info p{color:var(--muted)}.player input[type=range]{background:#707070}.track-row:hover,.track-row.menu-open{background:#ffffff04}.track-head{border-color:var(--line)}.track-row{border-bottom-color:#ffffff08}.collection-hero{margin-top:3px;margin-bottom:30px}.context-menu{background:var(--hover);border-color:#ffffff18}.context-menu button:hover{background:#ffffff0b}
@media(min-width:1500px){.collection-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:31px 26px}}
@media(max-width:1100px){:root{--sidebar-width:224px}.home-song-grid{column-gap:16px}.home-song-art img{width:42px;height:42px}.home-song{gap:8px}.home-artist-shelf{gap:10px}.home-artist img,.artist-initial{width:59px;height:59px}}
@media(max-width:850px){.home-song-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,58px)}.home-song:nth-child(n+9){display:none}.home-artist-shelf{grid-template-columns:repeat(6,minmax(0,1fr))}.home-artist:nth-child(n+7){display:none}}
@media(max-width:700px){:root{--sidebar-width:62px}.sidebar{padding:23px 8px}.collection-link{padding:4px 7px}.sidebar-arrivals{position:absolute;margin:0;right:3px;top:0;min-width:13px;height:13px;font-size:8px;background:#484848;border:1px solid var(--sidebar)}.collection-link{position:relative}.sidebar-foot{display:none}.topbar{padding:0 var(--page-gutter);height:57px}.global-search{max-width:none;width:100%}main{padding:18px var(--page-gutter) 28px}.home-title{margin-bottom:25px}.home-title h1{font-size:25px}.create-collection{font-size:10px;gap:4px}.create-collection svg{width:12px;height:12px}.home-section-heading{margin-bottom:20px}.home-section-heading h2{font-size:14px}.home-section-heading>.text-button{font-size:9px}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:25px 18px}.collection-grid .glass-folder{--folder-size:116px!important;--scale:.725!important}.collection-object.glass-folder{margin-bottom:11px}.collection-object.sidebar-folder{margin:0}.collection-name{font-size:11px}.collection-caption{font-size:9px}.home-music{margin-top:30px;padding-top:22px}.home-song-grid{column-gap:15px}.home-song .row-more{display:none}.home-song .track-name{font-size:10px}.home-song .track-artist{font-size:9px}.home-song-art img{width:34px;height:34px}.home-song{gap:7px}.home-sources{margin-top:26px}.home-artist-shelf{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.home-artist:nth-child(n+6){display:none}.home-artist img,.artist-initial{width:49px;height:49px}.home-artist{font-size:9px}.prototype-note{font-size:8px;max-width:280px}.hero-art{width:75px}.hero-art .glass-folder{--folder-size:75px!important;--scale:.46875!important}}
@media(max-width:450px){.home-song-grid{display:block}.home-song:nth-child(n+7){display:none}.home-song .row-more{display:flex;opacity:1}.home-song-art img{width:37px;height:37px}.home-song{height:57px}.home-song .track-name{font-size:11px}.home-song .track-artist{font-size:10px}.home-artist-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}.home-artist:nth-child(n+4){display:none}.home-artist img,.artist-initial{width:55px;height:55px}.home-title{gap:8px}.home-title .create-collection{font-size:9px}.collection-grid{gap:25px 12px}}

.home-song[draggable],.track-row[draggable]{cursor:grab}.home-song.dragging,.track-row.dragging{cursor:grabbing}

/* Source updates share one badge and acknowledgement model across Home and Browse. */



.source-card-shelf{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:18px 14px;padding:4px 0}
.source-card{display:flex;flex-direction:column;align-items:center;gap:0;padding:2px 0 4px;min-width:0;text-align:center;scroll-snap-align:start}
.source-portrait{position:relative;display:block;width:68px;height:68px;aspect-ratio:1;padding:0;margin:0 auto 12px;flex:none;border-radius:50%;overflow:hidden}
.source-card .source-portrait{padding:0}
.source-portrait>img,.source-initial{display:block;width:100%;height:100%;max-width:none;border-radius:50%;object-fit:cover;border:1px solid #ffffff0d}
.source-initial{display:grid;place-items:center;font-size:22px;color:#cccccc;background:linear-gradient(145deg,#484848,var(--panel))}
.label-initial{font-size:18px;letter-spacing:-.02em;color:#cccccc;background:linear-gradient(145deg,#484848,var(--panel));box-shadow:inset 0 1px #ffffff08}
.source-badge{position:absolute;left:83%;top:-3%;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;font-size:10px;line-height:1;color:var(--text);background:linear-gradient(145deg,#484848,var(--panel));border:1px solid #b7b7b74d;border-radius:20px;box-shadow:0 2px 5px #00000055;font-variant-numeric:tabular-nums}
.source-card-name{display:block;font-size:12px;line-height:1.5;color:#cccccc;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.source-card small{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px;white-space:nowrap}.source-card small.upcoming-label{color:var(--muted)}
.source-card:hover .source-card-name{color:var(--text)}.source-card:hover .source-portrait>img{border-color:#ffffff30}
.label-start-list .source-card{display:flex;flex-direction:column;text-align:center;padding:6px 0}.label-start-list .source-card>span{display:block}
.source-release-summary{display:flex;flex-wrap:wrap;gap:18px 35px;margin:-3px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.source-release-summary:empty{display:none}
.source-release-item{display:flex;align-items:center;gap:11px;min-height:43px}.source-release-item>img,.release-calendar{width:39px;height:39px;border-radius:5px;flex:none}.release-calendar{display:grid;place-items:center;background:#ffffff06;color:var(--muted);border:1px solid #ffffff0c}.release-calendar svg{width:17px;height:17px}
.source-release-item small{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.source-release-item strong{display:block;font-size:12px;font-weight:500;color:var(--text)}.source-release-item div>span{display:block;font-size:10px;color:var(--muted);margin-top:4px}

/* Apple Music in-app proportions: 700 × 54, with a scrubber beneath the identity. */
.player{position:absolute;z-index:10;left:50%;bottom:18px;transform:translateX(-50%);height:54px;width:min(700px,calc(100% - 48px));padding:10px 16px;display:block;border-radius:100px;background:transparent;border:0;box-shadow:0 3px 10px #00000022;backdrop-filter:none;isolation:isolate;overflow:visible}
.player-glass{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none;background:#3a3a3a40;box-shadow:inset 0 1px #ffffff26,inset 0 -1px #ffffff0a;border:1px solid #ffffff0a;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.player-top-row{display:flex;align-items:center;gap:12px;min-width:0;width:100%}
.player-track{display:flex;align-items:center;gap:10px;min-width:0;flex:1;height:34px}
.player-art-control{position:relative;flex:none;display:block;width:34px;height:34px;padding:0;border-radius:5px;color:#ffffff}.player-art{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.player-art-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#00000066;border-radius:inherit;opacity:0;transition:opacity .15s}.player-art-control:hover .player-art-overlay,.player-art-control:focus-visible .player-art-overlay{opacity:1}.player-art-overlay svg{width:14px;height:14px;stroke:none;fill:currentColor}
.player-metadata{position:relative;min-width:0;flex:1}.player-metadata strong{display:block;font-size:13px;font-weight:500;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-metadata>button{display:block;max-width:100%;padding:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-metadata>#player-title{margin:0;color:var(--text)}.player-metadata>#player-artist{margin-top:0;color:var(--muted);font-size:11px;line-height:14px}.player-metadata>button:hover{color:#ffffff}
.player .timeline{position:absolute;left:0;right:0;bottom:-10px;display:flex;align-items:center;min-width:0;height:12px;margin:0}
.player input[type=range]{appearance:none;height:12px;background:transparent!important;min-width:0;margin:0;padding:0}.player #seek{width:100%}.player input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:#ffffff24}.player #seek::-webkit-slider-runnable-track{background:linear-gradient(to right,#cccccc var(--progress,0%),#ffffff24 var(--progress,0%))}.player input[type=range]::-webkit-slider-thumb{width:6px;height:6px;margin-top:-1.5px;background:var(--text)}.player #seek::-webkit-slider-thumb{margin-top:-2px;opacity:0}.player .timeline:hover #seek::-webkit-slider-thumb,.player #seek:focus-visible::-webkit-slider-thumb{opacity:1}.player input[type=range]::-moz-range-track{height:2px;border-radius:2px;background:#ffffff24}.player input[type=range]::-moz-range-progress{height:2px;background:#cccccc}.player input[type=range]::-moz-range-thumb{width:6px;height:6px;border:0;background:var(--text)}.player input:disabled{cursor:default;opacity:.5}
.player-end{display:flex;gap:0;align-items:center;justify-content:flex-end;flex:none}.player-end .icon-button{height:34px;width:28px;padding:0;color:var(--muted)}.player-end .icon-button svg{height:15px;width:15px}
.player .icon-button:hover,.player .icon-button[aria-expanded=true]{background:transparent;color:var(--text)}
.player-volume{position:relative;display:flex;align-items:center;gap:6px}.player #volume-popover{width:88px;height:32px;display:flex;align-items:center}.player #volume{height:32px;width:100%;margin:0;cursor:pointer}.player #volume::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#cccccc var(--volume,65%),#ffffff28 var(--volume,65%))}.player #volume::-webkit-slider-thumb{width:10px;height:10px;margin-top:-3.5px;border:0;border-radius:50%;background:var(--text);box-shadow:0 1px 3px #00000055}.player #volume::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--text);box-shadow:0 1px 3px #00000055}.player #volume::-moz-range-progress{background:#cccccc}.player input[type=range]:focus-visible{outline:none}.player :is(#volume,#seek):focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #cacaca55}.player :is(#volume,#seek):focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #cacaca55}
@media(max-width:599px){.player-volume{display:block}.player #volume-popover{position:absolute;right:-42px;bottom:50px;width:132px;height:42px;padding:5px 12px;background:#3a3a3a80;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:0;border-radius:21px;box-shadow:none}}

/* Local, non-inherited progress keeps every artwork copy on the same paint clock. */
@property --folder-progress{syntax:"<number>";inherits:false;initial-value:0}
@property --pocket-fold{syntax:"<angle>";inherits:false;initial-value:0deg}
@property --pocket-clearance{syntax:"<percentage>";inherits:false;initial-value:0%}
.collection-object.glass-folder{transform:none!important;transition:none}
.collection-object .insert{--card-rest:0deg;--card-fan:0deg;--card-spread:0px;--card-lift:5px;transition:none}
.collection-object .insert-1{--card-rest:6deg;--card-fan:5deg;--card-spread:2.5px;--card-lift:8px}.collection-object .insert-2{--card-rest:-6deg;--card-fan:-5deg;--card-spread:-2.5px;--card-lift:10px}
.collection-object .insert{translate:calc(var(--card-spread)*var(--scale)*var(--folder-progress)) calc(-1*var(--card-lift)*var(--scale)*var(--folder-progress));transform:rotate(calc(var(--card-rest) + var(--card-fan)*var(--folder-progress)))}
.collection-object :is(.glass-pocket,.glass-transmission,.inserts){--pocket-fold:calc(-20deg * var(--folder-progress))}
.collection-object .inserts{--pocket-clearance:calc(71.2% - 71.2% * cos(var(--pocket-fold)) / (1 + .1027417027 * sin(var(--pocket-fold))));clip-path:inset(-35% -20% calc(69% - var(--pocket-clearance)) -20%);transition:none}
.collection-object .glass-pocket,.collection-object .glass-transmission{transform-origin:50% 100%;transition:none}
.collection-object .glass-pocket{transform:perspective(calc(900px*var(--scale))) rotateX(var(--pocket-fold))}
.collection-object .glass-transmission{transform:matrix3d(1,0,0,0,0,calc(1 / cos(var(--pocket-fold))),0,calc(sin(var(--pocket-fold)) / (900 * var(--scale) * cos(var(--pocket-fold)))),0,0,1,0,0,0,0,1)}
.collection-object .arrival-bubble{translate:0 calc(3px*var(--scale)*var(--folder-progress))}

/* Let the object or artwork be the hover feedback. Keep visible keyboard focus. */
.collection-link:hover,.collection-card.drag-over,.collection-link.drag-over,.home-song:hover,.home-song.menu-open,.track-row:hover,.track-row.menu-open{background:transparent;outline:none}
.collection-link.active{background:#ffffff07}.source-card:hover .source-portrait>img{border-color:#ffffff0d}.icon-button:hover{background:transparent;color:var(--text)}
.collection-open:focus-visible,.collection-link:focus-visible,.source-card:focus-visible,.player button:focus-visible,.home-song button:focus-visible{outline:1px solid var(--muted);outline-offset:3px}
.home-song-art>span{background:#00000055}
@media(max-width:700px){.source-portrait{width:57px;height:57px;margin-bottom:10px}.source-card-name{font-size:9px}.source-card small{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:8px}.source-badge{min-width:18px;height:18px;font-size:9px}.home-sources .home-section-heading{gap:6px}.home-sources .text-button{font-size:8px}.source-release-item strong{font-size:11px}.source-release-summary{gap:15px}.queue-panel{right:10px;top:60px;bottom:94px;width:min(290px,calc(100vw - 80px))}}

@media(hover:none){.home-song-art>span,.player-art-overlay{opacity:1}}
@media(prefers-reduced-motion:reduce){.player-art-overlay{transition:none}}
#sidebar,.collection-open,.collection-link,.home-title,.home-section-heading{-webkit-user-select:none;user-select:none}

.track-tools>.sort-select,.track-tools>.select-trigger{margin-left:auto}

/* Atlas: clear shelves, consistent reading sizes, and input-aware feedback. */
.home-releases{margin-top:32px}
.home-release-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 20px}
.home-release-grid .release-card{max-width:160px}
.home-release-grid .release-year{display:none}
#home-source-cards .source-card-shelf{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:20px 16px}
#home-source-cards .source-card-name{font-size:12px}
#home-source-cards .source-card small{font-size:10px}
@media(min-width:701px){
 .home-song-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,58px);grid-auto-flow:column;column-gap:24px}
 .home-song{height:58px;gap:10px;padding:6px 4px}
 .home-song .track-name{font-size:13px}.home-song .track-artist{font-size:12px}
 .source-card-shelf{grid-template-columns:repeat(8,minmax(0,1fr));gap:18px 12px}
 .source-card-name{font-size:12px}.source-card small{font-size:10px}
 .source-portrait{width:68px;height:68px}
 .collection-hero{min-height:112px;margin-bottom:22px}
 .hero-art{width:112px}.hero-art .glass-folder{--folder-size:112px!important;--scale:.7!important}
 .hero-info h1{font-size:28px;line-height:1.15}.hero-info p{font-size:12px;color:var(--muted)}
}
@media(max-width:1279px){
@container music-browsing (max-width:1000px){
 .home-release-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container music-browsing (max-width:840px){
 .home-song-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,58px);grid-auto-flow:column}
 .home-song:nth-child(n+9){display:none}
 .source-card-shelf{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}
}
@container music-browsing (max-width:520px){
 .home-song-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
 .home-song:nth-child(n+7){display:none}
 .home-release-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
}
}
@media(hover:hover) and (pointer:fine){
 .home-song:hover,.home-song.menu-open{background:#ffffff06}
 .home-song:hover{border-bottom-color:transparent}
}

.collection-link.drag-over{background:#ffffff08}
@media(prefers-contrast:more){.collection-caption,.source-card small,.home-song .track-artist{color:#cccccc}}

/* Search reuses the same music objects, with compact entity results. */
.search-result-section{margin-top:26px}.search-source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,110px));gap:18px}.search-result-section .section-heading{margin-bottom:15px}.search-result-section .source-card-name{font-size:12px}.home-empty{display:flex;align-items:center;gap:18px}

/* Shelf headings open the complete collection; music objects keep their size. */
.shelf-title{display:inline-flex;align-items:center;gap:5px;padding:0;color:inherit;font:inherit;text-align:left}.shelf-title svg{width:13px;height:13px;color:var(--muted)}.shelf-title:hover{color:#ffffff}.shelf-title:focus-visible{outline:1px solid var(--muted);outline-offset:4px;border-radius:2px}
.music-art-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:150px;justify-content:start;gap:20px;overflow-x:auto;overflow-y:hidden;padding:2px 0 8px;scroll-snap-type:x proximity}.music-art-shelf .release-card{min-width:0;scroll-snap-align:start}.music-art-shelf .release-year{display:none}
.music-source-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:88px;justify-content:start;gap:20px;overflow-x:auto;padding:4px 3px 6px;scroll-snap-type:x proximity}.music-source-shelf .source-card{scroll-snap-align:start}.music-source-shelf .source-portrait{width:68px;height:68px}.music-source-shelf .source-card-name{font-size:12px}.music-source-shelf .source-card small{font-size:10px}
.discovery-section{margin-top:30px}.discovery-title{margin-bottom:18px}.discovery-back{margin:-7px 0 8px}.discovery-links{display:flex;gap:26px;margin:0 0 8px}.discovery-links .text-button{font-size:12px}
.discovery-song-shelf{display:grid;grid-auto-flow:column;grid-template-rows:repeat(4,58px);grid-auto-columns:minmax(225px,calc((100% - 48px)/3));column-gap:24px;overflow-x:auto;overflow-y:hidden}.discovery-song-shelf .home-song{display:flex;height:58px}.discovery-song-shelf .home-song .track-name{font-size:13px}.discovery-song-shelf .home-song .track-artist{font-size:12px}.discovery-song-shelf .home-song-art img{width:42px;height:42px}
.genre-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}.genre-links button{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px solid #ffffff0a;color:#cccccc;text-align:left;padding:0 3px;font-size:14px}.genre-links button:hover{color:#ffffff}.genre-links svg{width:12px;height:12px;color:var(--muted)}
.release-directory{display:grid;grid-template-columns:repeat(auto-fill,150px);gap:26px 20px;justify-content:start}.source-directory{display:grid;grid-template-columns:repeat(auto-fill,100px);gap:28px 20px;justify-content:start}.music-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:26px;min-height:38px}.music-pagination span{font-size:12px;color:var(--muted)}.music-pagination button:disabled{opacity:.3;cursor:default}
@media(max-width:700px){.music-art-shelf{grid-auto-columns:136px;gap:18px}.music-source-shelf{grid-auto-columns:80px;gap:18px;justify-content:start}.genre-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.genre-links button{font-size:13px}.discovery-title .text-button{font-size:11px}.release-directory{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:24px 18px}.discovery-links{gap:22px}.music-source-shelf .source-portrait{width:64px;height:64px}.music-source-shelf .source-card-name{font-size:11px}.music-source-shelf .source-card small{font-size:9px}}

@media(min-width:1280px){
 .home-collections .collection-grid{--home-folder-gap:22px;--home-shelf-width:calc(100vw - var(--sidebar-width) - 2 * var(--page-gutter));--home-folder-cell:clamp(145px,calc((var(--home-shelf-width) - 5 * var(--home-folder-gap))/6),200px);grid-template-columns:repeat(6,var(--home-folder-cell));column-gap:var(--home-folder-gap);justify-content:space-between;overflow-x:auto;overflow-y:hidden;padding-top:4px;padding-bottom:10px}
 .home-song-grid{grid-template-columns:repeat(3,minmax(210px,1fr));overflow-x:auto;overflow-y:hidden}
}
@media(min-width:1500px){.home-collections .collection-grid{--home-folder-gap:26px}}

/* Scale the music, rather than leaving small objects clustered in a wide canvas. */
@media(min-width:1280px){
 .app-shell>.workspace{--closed-content-width:calc(100vw - var(--sidebar-width) - 2 * var(--page-gutter));--music-cover-size:clamp(145px,calc((var(--closed-content-width) - 100px)/6),200px)}
 .music-art-shelf{grid-auto-columns:var(--music-cover-size)}
 .music-source-shelf{grid-auto-columns:max(88px,calc((var(--closed-content-width) - 146px)/8))}
 .music-source-shelf .source-portrait{width:clamp(68px,calc(var(--closed-content-width) * .06),84px);height:clamp(68px,calc(var(--closed-content-width) * .06),84px)}
}
.home-playlist-cover{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden;border-radius:6px;background:var(--panel)}
.home-playlist-cover img{display:block;width:100%;height:100%;min-height:0;border-radius:0;box-shadow:none}
.home-playlist-cover:has(img:only-child){grid-template-columns:1fr;grid-template-rows:1fr}
.home-playlist-cover:has(img:nth-child(2):last-child){grid-template-rows:1fr}
.home-playlist-cover:has(img:nth-child(3):last-child) img:first-child{grid-row:span 2}
.playlist-context{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* A rolling song shelf keeps every arrival reachable; shared edge controls live in shelves.css. */
.home-updates-shelf.home-song-grid{display:grid;grid-template-columns:none;grid-template-rows:repeat(3,58px);grid-auto-flow:column;grid-auto-columns:clamp(250px,calc((var(--closed-content-width,1000px) - 72px)/3.15),360px);column-gap:24px;row-gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scroll-behavior:smooth}
.home-updates-shelf.home-song-grid>.home-song{display:flex;height:58px}
.home-updates-shelf>.home-song:nth-child(3n+1){scroll-snap-align:start}
.home-updates-shelf:focus-visible{outline:1px solid var(--muted);outline-offset:4px;border-radius:4px}
@media(min-width:701px) and (max-width:1279px){.home-updates-shelf.home-song-grid{grid-auto-columns:max(246px,44%)}}
@media(max-width:700px){
 .home-updates-shelf.home-song-grid{grid-template-rows:repeat(3,64px);grid-auto-columns:86%;column-gap:18px}
 .home-updates-shelf.home-song-grid>.home-song{height:64px;gap:10px;padding:6px 3px}
 .home-updates-shelf .home-song-art img{width:42px;height:42px}
 .home-updates-shelf .home-song .track-name{font-size:13px;line-height:17px}
 .home-updates-shelf .home-song .track-artist{font-size:12px;line-height:16px}
 .home-updates-shelf .home-song .row-more{display:flex;opacity:1}
}
@media(prefers-reduced-motion:reduce){.home-updates-shelf.home-song-grid{scroll-behavior:auto}}
