/* Listening lives in the page: a quiet record sleeve and a persistent player. */
html .daily-layout{grid-template-columns:155px minmax(0,1fr);gap:4vw}
html #dailyAlbums{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 20px}
html .track-play{display:block;width:100%;padding:0;text-align:left;color:inherit}
html .track-card .album-cover{aspect-ratio:1;background:transparent;border-radius:4px;overflow:hidden;isolation:isolate}
html .track-card .album-cover img{padding:0;width:100%;height:100%;object-fit:cover;transform:none;transition:transform .7s cubic-bezier(.16,1,.3,1)}
html .track-card .album-cover::after{display:none!important}
html .track-card .album-tag{top:auto;bottom:12px;left:12px;font-size:10px;padding:5px 9px;background:#ffffffda;color:#232323;z-index:1}
html .track-card:hover img{transform:scale(1.05)}
html .track-card-meta{display:flex;align-items:baseline;gap:9px;justify-content:space-between;margin:16px 0 5px}
html .track-card-meta h3{font-size:clamp(16px,1.4vw,22px);line-height:1.2;margin:0;letter-spacing:-.04em}
html .track-card-meta>span{font:10px ui-monospace,monospace;color:#85878a;flex-shrink:0}
html .track-card p{font-size:12px;color:#777}
.track-play-mark{position:absolute;bottom:12px;right:12px;width:39px;height:39px;display:grid;place-items:center;padding-left:2px;background:#fff;color:#222;border-radius:50%;font-size:12px;box-shadow:0 3px 12px #0002;transition:background .3s,transform .3s}
.track-play:hover .track-play-mark{background:#e72b36;color:#fff;transform:scale(1.08)}
.track-play.is-audio-pending .track-play-mark{font-size:21px;padding:0}
.track-play.is-current-track .album-cover{outline:2px solid #e72b36;outline-offset:-2px}
.track-play.is-playing .track-play-mark{opacity:0}
.track-equalizer{position:absolute;bottom:12px;right:12px;display:none;align-items:center;justify-content:center;gap:3px;width:39px;height:39px;border-radius:50%;background:#e72b36}
.is-playing>.album-cover .track-equalizer{display:flex}
.track-equalizer i{width:3px;height:18px;background:#fff;animation:listen-bars .8s ease-in-out infinite alternate}
.track-equalizer i:nth-child(2){animation-delay:-.2s;height:11px}.track-equalizer i:nth-child(3){animation-delay:-.4s;height:23px}.track-equalizer i:nth-child(4){animation-delay:-.6s;height:14px}
@keyframes listen-bars{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
html .mood-tabs small{font:11px ui-monospace,monospace;margin-left:16px;opacity:.55}
html .library-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:35px 0 0 calc(155px + 4vw)}
html #filterStatus{margin:0}
.music-credit-link{font-size:12px;color:#727579;text-decoration:underline;text-underline-offset:5px;padding:8px 0;cursor:pointer}
.route-profile-link{display:block;margin-top:12px;padding:4px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px}
html .text-link[data-play-track],html .text-link[data-play-mood]{padding:10px 0;cursor:pointer}
html .echo-track-name{font:600 20px/1.25 Arial,sans-serif;margin:0 0 6px;letter-spacing:-.03em}
html .echo-listen{display:inline-flex;align-items:center;gap:13px;padding:12px 23px;border:1px solid #25272930;border-radius:30px;font-size:13px;margin-top:3px;transition:background .3s,color .3s}
html .echo-listen:hover,html .echo-listen.is-playing{background:#e72b36;border-color:#e72b36;color:white}
html .encore-gallery button{width:100%;padding:0;text-align:left;color:inherit;position:relative;display:block;height:100%}
html .encore-gallery button::after{content:'▶';position:absolute;top:15px;right:15px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:#222;font-size:12px}
html .encore-gallery button.is-playing::after{content:'Ⅱ';background:#e72b36;color:#fff}
html body .collection-intro nav a:nth-child(1)::after{background-image:linear-gradient(#0002,#0004),url('assets/covers/dreams-become-real.svg')}
html body .collection-intro nav a:nth-child(2)::after{background-image:linear-gradient(#0002,#0004),url('assets/covers/carefree.svg')}
html body .collection-intro nav a:nth-child(3)::after{background-image:linear-gradient(#0002,#0004),url('assets/covers/night-on-the-docks.svg')}
html body .listening-dock[hidden]{display:none}
.listening-dock{position:fixed;z-index:70;bottom:22px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 70px));min-height:88px;padding:14px 20px;display:grid;grid-template-columns:minmax(200px,1fr) 142px minmax(160px,1fr) 146px;align-items:center;gap:23px;color:#242629;background:#f8f8f5f5;border:1px solid #ffffffa8;border-radius:18px;box-shadow:0 16px 60px #1113,0 1px 4px #1111;backdrop-filter:blur(24px);animation:player-arrive .55s cubic-bezier(.16,1,.3,1)}
@keyframes player-arrive{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.listening-identity{display:flex;align-items:center;gap:13px;min-width:0}
.listening-identity>img{width:56px;height:56px;border-radius:5px;box-shadow:0 3px 9px #0002;flex-shrink:0}
.listening-identity>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.listening-identity strong{font:600 15px/1.2 Arial,sans-serif;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.listening-identity #playerArtist{font-size:10px;color:#777;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.listening-kicker{font:8px ui-monospace,monospace;letter-spacing:1.3px;color:#929393;display:flex;align-items:center;gap:5px}
.listening-kicker i{width:4px;height:4px;background:#aaa;border-radius:50%}.is-playing .listening-kicker i{background:#e72b36;box-shadow:0 0 7px #e72b3666}
.listening-transport{display:flex;align-items:center;justify-content:center;gap:10px}
.listening-dock button{display:grid;place-items:center;flex-shrink:0;padding:0}
.listening-dock button svg{width:22px;height:22px;display:block}
.listening-dock .player-step{width:32px;height:44px;transition:color .2s}
.listening-dock .player-step:hover{color:#e72b36}
.player-previous svg{transform:rotate(180deg)}
.listening-dock .player-toggle{width:46px;height:46px;border-radius:50%;background:#e72b36;color:white;box-shadow:0 4px 10px #e72b3625;transition:scale .2s}
.listening-dock .player-toggle:hover{scale:1.06}
.listening-time{display:flex;align-items:center;justify-content:space-between;gap:9px;font:10px ui-monospace,monospace;color:#7c7e81;margin-bottom:8px}
.listening-time #playerState{font-family:Arial,'PingFang SC',sans-serif;font-size:10px;color:#96989a;text-align:center}
.listening-dock input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:16px;margin:0;cursor:pointer;background:transparent;accent-color:#e72b36}
.listening-dock input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#e72b36 0 var(--played,0%),#dadcde var(--played,0%) 100%);border-radius:3px}
.listening-dock input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;background:#e72b36;border:0;border-radius:50%}
.listening-dock input[type=range]::-moz-range-track{height:3px;background:#dadcde;border-radius:3px}.listening-dock input[type=range]::-moz-range-progress{background:#e72b36;height:3px}.listening-dock input[type=range]::-moz-range-thumb{width:10px;height:10px;background:#e72b36;border:0;border-radius:50%}
.listening-extras{display:flex;align-items:center;gap:7px}.listening-dock .listening-extras button{width:33px;height:44px}.listening-extras #playerVolume{width:48px}.player-mute[aria-pressed=true]{opacity:.4}
html body.player-open .page{scroll-padding-bottom:125px}
html body.player-open .download-section{padding-bottom:120px}
html body.player-open .toast{bottom:130px}
.listening-dialog{color:#252729;background:#f2f3f4;border:1px solid #fff8;border-radius:16px;padding:42px;width:min(640px,calc(100vw - 40px));max-height:84svh;overflow-y:auto;box-shadow:0 25px 100px #0004}
.listening-dialog::backdrop{background:#1118;backdrop-filter:blur(14px)}
.listening-dialog h2{font-size:40px;margin:10px 0 15px;letter-spacing:-.05em}.listening-dialog>p{font-size:14px;line-height:1.8;color:#777}
.listening-dialog>p.eyebrow{font:10px ui-monospace,monospace;letter-spacing:1.5px;color:#e72b36}
.listening-dialog-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid #25272925;border-radius:50%;font-size:25px;line-height:1;color:#252729;padding:0}
.queue-track{display:flex;align-items:center;gap:13px;width:100%;padding:12px 0;border-bottom:1px solid #25272916;text-align:left;transition:background .25s}
.queue-track:hover{background:#ffffff80}.queue-track.is-current-track{color:#e72b36}
.queue-number{width:17px;font:10px ui-monospace,monospace;color:#94969a;flex-shrink:0}.queue-track>img{width:45px;height:45px;border-radius:4px;flex-shrink:0}.queue-track-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.queue-track-copy strong{font:600 14px/1.25 Arial,sans-serif}.queue-track-copy small{font-size:10px;color:#838589}.queue-duration{font:10px ui-monospace,monospace;color:#838589}.queue-play{font-size:10px}.queue-track.is-playing .queue-play{font-size:0}.queue-track.is-playing .queue-play::after{content:'Ⅱ';font-size:15px}.playlist-dialog>.music-credit-link{margin-top:25px}
.music-credits-dialog a{color:#e72b36;text-underline-offset:4px}.music-source-list{list-style:none;padding:0;margin:24px 0 0}.music-source-list li{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px 0;border-top:1px solid #25272920}.music-source-list li>div{display:flex;flex-direction:column;gap:4px}.music-source-list strong{font-size:15px}.music-source-list span,.music-source-list a{font-size:12px}.music-source-list small{grid-column:1/-1;font:10px/1.5 ui-monospace,monospace;color:#999}
.track-detail-identity{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:25px;margin:24px 0}.track-detail-identity>img{width:150px;aspect-ratio:1;object-fit:cover;border-radius:7px;box-shadow:0 12px 25px #25272920}.track-detail-identity h2{font-size:32px;line-height:1.3;margin:0 0 12px;overflow-wrap:anywhere}.track-detail-identity p{font-size:12px;line-height:1.8;color:#777;margin:5px 0}.track-audio-notice{padding:17px 19px;background:#e6e7e9;border-radius:9px;margin-top:23px}.track-audio-notice strong{font-size:13px;color:#52555a}.track-audio-notice p{font-size:12px;line-height:1.8;color:#7b7e83;margin:7px 0 0}
.official-listening{margin-top:25px;border-top:1px solid #25272920;padding-top:22px}
.official-listening[hidden],.track-audio-notice[hidden]{display:none}
.official-listening-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.official-listening-heading strong{font-size:17px}.official-listening-heading span{font-size:10px;color:#777}
#officialPlayerMount iframe{display:block;width:100%;border:0;border-radius:12px;background:#e7e8ea}
.official-listening p{font-size:11px;line-height:1.7;color:#888;margin:9px 0}.official-listening #officialPlayerStatus{color:#51545a}
.official-listening-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}.official-listening-actions button{font-size:12px;min-height:42px;border-radius:25px;padding:8px 16px;border:1px solid #25272924;transition:background .2s}.official-listening-actions button:hover{background:#fff}.official-listening-actions #officialRetry{border:0;color:#777;font-size:11px;padding-inline:5px}
@media(max-width:1100px){html #dailyAlbums{grid-template-columns:repeat(3,minmax(0,1fr))}.listening-dock{gap:15px;grid-template-columns:minmax(170px,1fr) 130px minmax(130px,1fr) 35px}.listening-extras .player-mute,.listening-extras #playerVolume{display:none}}
@media(max-width:800px){
 html .daily-layout{display:block}html #dailyAlbums{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 14px}html .daily .mood-tabs{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:8px;margin:0 0 28px}html .mood-tabs button{min-height:44px;padding:10px 13px}html .mood-tabs button::before{display:none}html .mood-tabs small{margin-left:5px}
 html .track-card .album-tag{font-size:9px;top:auto;bottom:8px;left:8px;padding:3px 7px}html .track-card-meta h3{font-size:16px;line-height:1.25}html .track-card-meta>span{display:none}html .track-card p{font-size:11px}html .track-card-meta{margin-top:12px}html .library-footer{margin:27px 0 0;display:block}html .library-footer .music-credit-link{margin-top:8px}
 .track-play-mark,.track-equalizer{width:34px;height:34px;right:8px;bottom:8px}
 .listening-dock{bottom:calc(10px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px);grid-template-columns:minmax(0,1fr) 116px 30px;gap:0 6px;padding:12px 13px 8px;border-radius:13px;min-height:95px}.listening-identity{gap:9px}.listening-identity>img{width:43px;height:43px}.listening-identity strong{font-size:12px}.listening-kicker{font-size:7px;letter-spacing:.8px}.listening-identity #playerArtist{font-size:9px}.listening-transport{gap:3px}.listening-dock .player-step{width:30px;min-height:44px}.listening-dock .player-toggle{width:40px;height:40px}.listening-dock button svg{width:19px;height:19px}.listening-extras{grid-column:3;grid-row:1}.listening-timeline{grid-column:1/-1;grid-row:2;margin-top:5px;display:flex;align-items:center;gap:9px}.listening-time{margin:0;gap:0}.listening-time #playerState,.listening-time #playerDuration{display:none}.listening-dock input[type=range]{height:24px}.listening-timeline #playerElapsed{font-size:9px}.listening-dock .listening-extras button{width:30px}.listening-dock input[type=range]::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4.5px}
 html body.player-open .toast{bottom:125px}html .echo-track-name{font-size:17px}html .echo-listen{font-size:12px;padding:10px 19px;margin:0}
 .listening-dialog{width:calc(100vw - 24px);max-height:88svh;padding:45px 22px 28px}.listening-dialog h2{font-size:32px}.listening-dialog-close{right:12px;top:12px;min-width:38px;min-height:38px}.queue-track{gap:9px}.queue-track-copy strong{font-size:13px}.queue-track-copy small{font-size:9px}.queue-number{width:15px}.queue-duration{display:none}.music-source-list small{font-size:9px}
 .track-detail-identity{grid-template-columns:100px minmax(0,1fr);gap:16px}.track-detail-identity>img{width:100px}.track-detail-identity h2{font-size:24px}.track-detail-identity p{font-size:11px}.track-audio-notice{padding:15px}
}
@media(max-width:360px){.listening-dock{grid-template-columns:minmax(0,1fr) 98px 26px;padding-left:10px;padding-right:10px;gap:0 2px}.listening-dock .player-step{width:25px}.listening-dock .player-toggle{width:38px;height:38px}.listening-identity>img{width:37px;height:37px}.listening-identity strong{font-size:11px}.listening-identity #playerArtist{font-size:8px}.listening-kicker{font-size:6px}}
@media(prefers-reduced-motion:reduce){.track-equalizer i,.listening-dock{animation:none!important}.track-card .album-cover img{transition:none!important}}
