/* A song occupies one bounded row at every viewport width. */
.track-list{width:100%;min-width:0;display:flex;flex-direction:column;gap:4px;margin-top:18px}.track-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:14px;align-items:center;min-width:0;padding:10px 8px;border-radius:16px;transition:background .2s}.track-row:hover{background:#ffffff07}.track-row.playing{background:#ffffff0b}.track-entry{display:flex;align-items:center;gap:18px;width:100%;min-width:0;text-align:left;padding:0}.track-cover{width:64px;height:64px;flex:0 0 64px;border-radius:10px}.track-copy{display:block;flex:1;min-width:0}.track-copy strong,.track-copy small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-copy strong{font-size:18px;font-weight:550;line-height:1.4}.track-copy small{font-size:15px;color:#ffffff86;line-height:1.5;margin-top:4px}.track-row.playing .track-copy strong{color:var(--accent)}.track-more{width:48px;height:48px;border-radius:50%}.track-more svg{width:23px;height:23px;stroke-width:4px}.track-details{font-size:14px!important;color:#ffffff8a;overflow-wrap:anywhere}.menu-rating-label{display:block;margin:20px 0 9px;color:#ffffff99;font-size:13px}#actions-dialog h2,#actions-dialog p{overflow-wrap:anywhere;word-break:break-word}#actions-dialog .action-buttons{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}#actions-dialog .action-buttons button{text-align:left;white-space:normal}#actions-dialog .iem-rating{flex-wrap:wrap}.now-meta,#player-title,#player-artist{min-width:0;max-width:100%}.now-meta>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav,.mini-menu{display:none}
@media(max-width:600px){
:root{--mobile-nav-height:66px;--player-height:158px}.sidebar{display:none!important}main{padding:0 16px}.topbar{height:76px}.greeting{margin-top:8px}.app-shell{padding-bottom:calc(168px + env(safe-area-inset-bottom))}.track-list{gap:5px;margin-top:16px}.track-row{padding:10px 0;grid-template-columns:minmax(0,1fr) 42px;gap:8px;border-radius:12px}.track-entry{gap:14px}.track-cover{width:58px;height:58px;flex-basis:58px;border-radius:9px}.track-copy strong{font-size:17px}.track-copy small{font-size:14px;margin-top:3px}.track-more{width:42px;height:46px}.toolbar{width:100%;min-width:0}.filter-tabs{display:flex;max-width:100%;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.filter-chip{flex-shrink:0;white-space:nowrap;font-size:14px!important;min-height:40px}.toolbar select{max-width:100%;font-size:15px}.pagination{gap:12px}.pagination button{font-size:14px;padding:10px 15px}
.mobile-nav{display:flex;position:fixed;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));height:var(--mobile-nav-height);border-radius:24px;padding:7px;gap:5px;z-index:7;background:#17131ed9;border-color:#ffffff19}.mobile-nav button{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#ffffff79;border-radius:18px;padding:8px;transition:flex .3s,background .3s,color .3s}.mobile-nav svg{width:26px;height:26px}.mobile-nav .mobile-nav-label{display:none;font-size:14px;font-weight:600;white-space:nowrap}.mobile-nav button.active{flex:1.65;background:#ffffff0d;color:var(--accent)}.mobile-nav button.active .mobile-nav-label{display:block}
.player.glass{display:grid;grid-template-columns:50px minmax(0,1fr) 40px 48px 34px;grid-template-rows:64px;gap:6px;height:82px;min-height:0;padding:6px 11px 12px;left:10px;right:10px;bottom:calc(var(--mobile-nav-height) + 18px + env(safe-area-inset-bottom));border-radius:22px;overflow:hidden;touch-action:pan-y;--swipe-offset:0px;--play-progress:0%;background:linear-gradient(110deg,var(--track-bar,#292031),var(--track-bar-secondary,#201a28))}
.player.glass::before{background:linear-gradient(to right,#ffffff20 0 var(--play-progress),transparent var(--play-progress) 100%);border-radius:inherit;transition:none;z-index:-1}.player.glass::after{border-top-color:#ffffff2a}.player .now-art{grid-column:1;grid-row:1;width:50px;height:50px;border-radius:9px;transform:translateX(var(--swipe-offset));transition:transform .18s}.player .now-art span{display:none}.player .now-meta{grid-column:2;grid-row:1;margin:0;transform:translateX(var(--swipe-offset));transition:transform .18s}.player .now-meta button{font-size:16px;line-height:1.35;min-height:24px}.player .now-meta>span{font-size:13px;line-height:1.4}.player .player-heart{display:flex;grid-column:3;grid-row:1;width:40px;height:44px;color:#ffffffe0}.player .player-heart svg{width:25px;height:25px}.player .transport,.player .transport-buttons{display:contents}.player .transport-buttons>.icon-button{display:none!important}.player .transport-buttons>.play-button{grid-column:4;grid-row:1;width:48px;height:48px;background:none;border:0;box-shadow:none;color:white;align-self:center;justify-self:center}.player .transport-buttons>.play-button svg{width:29px;height:29px}.player .mini-menu{display:flex;grid-column:5;grid-row:1;width:34px;height:44px;align-self:center}.player .mini-menu svg{width:21px;height:21px;stroke-width:3px}.player #player-rating,.player .player-tools{display:none!important}
.player .transport .seek-row{display:flex;position:absolute;left:0;right:0;bottom:0;top:auto;transform:none;margin:0;height:18px;width:100%;padding:0;z-index:3}.player .seek-row span{display:none}.player .seek-row #seek{width:100%;height:18px;margin:0;flex:1;--rail-size:2px;--thumb-opacity:0;--thumb-size:10px}.player .seek-row #seek:hover,.player .seek-row #seek:focus-visible,.player .seek-row #seek.is-dragging{--rail-size:4px;--thumb-opacity:1}.player .seek-row #seek::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) 0 var(--range-fill),#ffffff0a var(--range-fill) 100%)}.queue-panel{bottom:calc(168px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;max-height:calc(100dvh - 220px)}.toast{bottom:calc(170px + env(safe-area-inset-bottom))}#actions-dialog{position:fixed;top:auto;left:0;right:0;bottom:0;width:100%;max-width:none;margin:0;max-height:80dvh;border-radius:28px 28px 0 0;padding:24px 24px calc(24px + env(safe-area-inset-bottom));animation:menu-rise .25s ease-out}#actions-dialog h2{font-size:24px}#actions-dialog .secondary-button{font-size:16px;min-height:48px}#actions-dialog .iem-rating svg{width:28px;height:28px}#actions-dialog .iem-rating button{min-width:36px;min-height:40px}
}
@media(max-width:350px){.player.glass{grid-template-columns:44px minmax(0,1fr) 34px 42px 28px;gap:4px;padding-left:9px;padding-right:9px}.player .now-art{width:44px;height:44px}.player .now-meta button{font-size:15px}.player .now-meta>span{font-size:12px}.player .player-heart{width:34px}.player .transport-buttons>.play-button{width:42px;height:44px}.player .mini-menu{width:28px}.mobile-nav button.active{flex:1.8}.mobile-nav .mobile-nav-label{font-size:12px}.mobile-nav svg{width:23px;height:23px}.track-cover{width:54px;height:54px;flex-basis:54px}.track-entry{gap:12px}}
@keyframes menu-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
#seek,#full-seek{touch-action:none}
/* The navigation reaches the home-indicator area rather than floating above it. */
@media(max-width:600px){:root{--mobile-nav-height:52px;--player-height:140px}.mobile-nav{left:0;right:0;bottom:0;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:5px 12px calc(5px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;border-bottom:0}.mobile-nav button{padding:4px 8px;border-radius:14px}.mobile-nav svg{width:24px;height:24px}.mobile-nav .mobile-nav-label{font-size:13px}.player.glass{bottom:calc(var(--mobile-nav-height) + 6px + env(safe-area-inset-bottom));height:74px;grid-template-rows:56px;padding-top:3px;padding-bottom:11px}.app-shell{padding-bottom:calc(142px + env(safe-area-inset-bottom))}.queue-panel{bottom:calc(142px + env(safe-area-inset-bottom))}.toast{bottom:calc(146px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.mobile-nav button,.player .now-art,.player .now-meta{transition:none}#actions-dialog{animation:none}}
