.music-landing .touch-door img{object-position:center}.music-landing .music-radio-door h2{position:absolute;top:15%;left:0;right:0;padding:0 18px;text-shadow:0 2px 18px #000}
.music-door-caption{position:absolute;bottom:35px;left:5%;right:5%;font-size:10px;letter-spacing:2px;text-align:center;text-transform:uppercase;text-shadow:0 2px 12px #000}
.music-landing .touch-door h2{font-size:clamp(24px,3vw,44px)}
body:has(.radio-page){background:#090a0c;color:#f2eee5}.radio-page{background:#090a0c;color:#f2eee5;min-height:100svh}
.radio-page .touch-page-header{position:relative;background:#090a0c;color:#f2eee5;border-color:#30333a}
.radio-layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr);gap:65px;padding:45px 5% 70px}
.radio-album{position:sticky;top:26px;align-self:start}.radio-cover{display:block;width:100%;max-width:350px;aspect-ratio:1;object-fit:cover;border:1px solid #ffffff20}
.radio-eyebrow{font-size:9px;letter-spacing:2px;color:#a5abbc;margin:23px 0 8px}.radio-album h1{font-size:42px;font-weight:400;line-height:1.1;margin:12px 0}
.radio-intro{font-size:16px;line-height:1.6;max-width:350px;color:#b5bac7;margin:10px 0 22px}
.radio-state{font-size:8px;letter-spacing:1.8px;color:#9ba9ef;margin:20px 0 10px}.radio-album .radio-now-title{font-size:22px;line-height:1.2;font-weight:400;margin:0 0 8px}.radio-now-artist{font-size:13px;color:#aab0c0;margin:0}
.radio-main-controls{display:flex;gap:18px;align-items:center;margin:22px 0 16px}.radio-main-controls button{border:1px solid #606879;background:transparent;color:#fff;border-radius:50%;width:42px;height:42px;font-size:25px;cursor:pointer}.radio-main-controls button[data-radio-toggle]{width:54px;height:54px;background:#2435ef;border-color:#2435ef;font-size:19px}
.radio-progress{display:flex;align-items:center;gap:12px;font-size:9px;color:#aab0c0}.radio-progress input{flex:1;min-width:0;accent-color:#818fff;height:3px;cursor:pointer}
.radio-continuity{font-size:13px;line-height:1.6;color:#8e96a9;margin:20px 0}.radio-spotify-link{font-size:11px;letter-spacing:1px;border-bottom:1px solid #5b6375;padding-bottom:6px}
.radio-list-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid #303541;padding-bottom:24px}.radio-list-heading h2{font-size:38px;font-weight:400;margin:10px 0 0}.genre-label{font-size:9px;letter-spacing:1px;color:#9fa8bb}.genre-label select{display:block;margin-top:8px;max-width:200px;background:#10131a;border:1px solid #485062;color:#f2eee5;padding:10px;font-size:11px;cursor:pointer}
.radio-genre-heading{font-size:11px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:#94a1d1;margin:30px 0 10px;padding:0 10px}
.radio-track{display:grid;grid-template-columns:24px minmax(0,1fr) 105px 35px 20px;align-items:center;gap:14px;width:100%;padding:16px 10px;text-align:left;color:#f2eee5;background:none;border:0;border-bottom:1px solid #242936;cursor:pointer}
.radio-track:hover{background:#151b2d}.radio-track.is-current{background:#17213b}.track-number{font-size:9px;color:#78839b}.track-info{min-width:0}.track-info strong{display:block;font-size:14px;font-weight:400;line-height:1.4}.track-info small{display:block;font-size:11px;color:#919cb1;margin-top:5px;line-height:1.4}.track-genre{font-size:9px;color:#7c88a5;line-height:1.5}.track-duration{font-size:10px;color:#8e9bb7}.track-action{font-size:12px;color:#a8b5e7}
#persistent-player .sound-toggle{font-size:25px!important}#persistent-player .sound-toggle[hidden],.radio-mini[hidden]{display:none!important}
.radio-mini{position:fixed;z-index:4000;left:0;right:0;bottom:0;display:grid;grid-template-columns:44px minmax(120px,1fr) 32px 38px 32px 42px minmax(100px,280px) 25px;align-items:center;gap:14px;padding:12px 3%;height:78px;background:#0b1020f5;color:#f2eee5;border-top:1px solid #424e72;box-shadow:0 -5px 30px #0005;backdrop-filter:blur(12px)}
.radio-mini-cover img{display:block;width:44px;height:44px;object-fit:cover}.radio-mini-track{min-width:0}.radio-mini-track strong,.radio-mini-track span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.radio-mini-track strong{font-size:13px;font-weight:400}.radio-mini-track span{font-size:10px;color:#a5b0c8;margin-top:5px}.radio-mini button{color:#f2eee5;background:transparent;border:0;padding:0;width:30px;height:32px;font-size:24px;cursor:pointer}.radio-mini button[data-radio-toggle]{font-size:17px;border:1px solid #7e90bc;border-radius:50%;width:38px;height:38px}.radio-mini-time{font-size:10px;color:#9aa9cb}.radio-mini-seek{accent-color:#a1b2ee;width:100%;height:3px;cursor:pointer}.has-radio-player{padding-bottom:78px}.has-radio-player .touch-page{height:calc(100svh - 78px);min-height:0}
@media(max-width:750px){.radio-layout{display:block;padding:25px 6% 40px}.radio-album{position:static;display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 20px}.radio-cover{grid-column:1;grid-row:1/5;width:110px;height:110px}.radio-album .radio-eyebrow{grid-column:2;margin:2px 0 7px;font-size:8px}.radio-album h1{grid-column:2;font-size:30px;margin:0 0 8px}.radio-intro{grid-column:2;font-size:13px;line-height:1.5;margin:0}.radio-album>.radio-state,.radio-album>.radio-now-title,.radio-album>.radio-now-artist,.radio-main-controls,.radio-progress,.radio-continuity,.radio-spotify-link{grid-column:1/-1}.radio-album>.radio-state{margin-top:22px}.radio-album .radio-now-title{font-size:24px}.radio-main-controls{justify-content:center;margin:16px 0}.radio-continuity{font-size:12px;margin-bottom:12px}.radio-spotify-link{justify-self:start;margin-bottom:30px}.radio-list-heading h2{font-size:30px}.genre-label{max-width:155px}.genre-label select{max-width:155px;font-size:10px;padding:9px 6px}.radio-track{grid-template-columns:19px minmax(0,1fr) 31px 17px;gap:9px;padding:14px 7px}.track-genre{display:none}.track-info strong{font-size:13px}.track-info small{font-size:10px}.radio-mini{height:90px;grid-template-columns:34px minmax(0,1fr) 24px 32px 24px 20px;gap:9px;padding:10px 4%;grid-template-rows:40px 16px}.radio-mini-cover img{width:34px;height:34px}.radio-mini button{width:24px}.radio-mini button[data-radio-toggle]{width:32px;height:32px;font-size:14px}.radio-mini-track strong{font-size:11px}.radio-mini-track span{font-size:9px}.radio-mini-time{display:none}.radio-mini-seek{grid-column:1/-1;grid-row:2}.radio-mini-close{grid-column:6;grid-row:1}.has-radio-player{padding-bottom:90px}.has-radio-player .touch-page{height:calc(100svh - 90px)}
 .music-landing .touch-door img{object-fit:cover;object-position:center}.music-door-caption{bottom:18px;font-size:8px;letter-spacing:1px}.music-landing .touch-door h2{font-size:27px}
}

@media(max-width:700px){.music-landing .music-radio-door img{object-fit:contain;background:#030d2b;transform:scale(1.45)}.music-landing .music-radio-door h2{top:10%;font-size:20px}}

/* One continuous playlist, visible at every screen size. */
.radio-selection{display:block;min-width:0;margin-top:0}.radio-tracklist{display:block}.radio-track{grid-template-columns:24px minmax(0,1fr) 35px 20px}
@media(max-width:750px){.radio-selection{margin-top:30px}.radio-track{grid-template-columns:19px minmax(0,1fr) 31px 17px}}

/* Give Spotify a prominent place beside the complete playlist. */
.radio-album .radio-spotify-link{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:#1ed760;color:#07150c;border:2px solid #1ed760;border-radius:999px;padding:16px 24px;margin:0 0 20px;font-size:14px;font-weight:700;letter-spacing:1px;line-height:1.3;text-decoration:none;box-shadow:0 6px 24px #1ed76030;transition:background .2s,transform .2s}
.radio-spotify-link svg{width:26px;height:26px;flex-shrink:0}
.radio-album .radio-spotify-link:hover{background:#42e582;transform:translateY(-2px)}
.radio-spotify-link:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:750px){.radio-album .radio-spotify-link{grid-column:1/-1;justify-self:stretch;margin-top:20px;margin-bottom:4px;font-size:13px;padding:15px 18px}}
@media(prefers-reduced-motion:reduce){.radio-album .radio-spotify-link{transition:none;transform:none}}

/* The introduction sits directly above the songs. */
.radio-playlist-intro{margin-bottom:30px}.radio-playlist-intro .radio-eyebrow{margin:0 0 12px}.radio-playlist-intro h1{font-size:42px;font-weight:400;line-height:1.1;margin:0 0 16px}.radio-playlist-intro .radio-intro{max-width:520px;margin:0 0 22px}
.radio-playlist-intro .radio-spotify-link{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:#1ed760;color:#07150c;border:2px solid #1ed760;border-radius:999px;padding:16px 24px;margin:0;font-size:14px;font-weight:700;letter-spacing:1px;line-height:1.3;text-decoration:none;box-shadow:0 6px 24px #1ed76030}
.radio-playlist-intro .radio-spotify-link:hover{background:#42e582}
@media(max-width:750px){.radio-playlist-intro h1{font-size:32px}.radio-playlist-intro .radio-spotify-link{width:100%;font-size:13px}.radio-playlist-intro{margin-bottom:25px}.radio-album .radio-cover{grid-row:1/4}.radio-album>.radio-state{grid-column:2;margin-top:0}.radio-album>.radio-now-title,.radio-album>.radio-now-artist{grid-column:2}.radio-album .radio-now-title{font-size:20px}.radio-album .radio-main-controls{margin-top:22px}}

/* Give the vinyl artwork the full mobile column. */
@media(max-width:750px){
 .radio-album{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .radio-album .radio-cover{width:100%;height:auto;max-width:440px;aspect-ratio:1;align-self:center;margin-bottom:24px}
 .radio-album>.radio-state{margin:0 0 10px}
 .radio-album .radio-now-title{font-size:24px}
}
.has-radio-player #persistent-player .sound-toggle{bottom:100px}
@media(max-width:750px){.has-radio-player #persistent-player .sound-toggle{bottom:106px}}

/* Clear mobile transport controls with generous, separate touch targets. */
@media(max-width:750px){
 .radio-main-controls{justify-content:center;gap:24px;min-width:0}
 .radio-main-controls button{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:0;border:0;border-radius:0;background:transparent;font:28px/1 Arial,sans-serif;touch-action:manipulation}
 .radio-main-controls button[data-radio-toggle]{width:48px;height:48px;background:transparent;border:0;font-size:22px}
 .radio-main-controls button:focus-visible{outline:2px solid #a1b2ee;outline-offset:2px}
 .radio-mini{grid-template-columns:30px minmax(0,1fr) 40px 40px 40px 36px;gap:2px;padding:8px 3%;height:98px;grid-template-rows:48px 24px}
 .radio-mini button,.radio-mini button[data-radio-toggle]{display:grid;place-items:center;width:40px;height:44px;padding:0;border:0;border-radius:0;background:transparent}
 .radio-mini .radio-mini-close{width:36px}
 .radio-mini-cover img{width:30px;height:30px}
 .radio-mini-seek{min-width:0;height:20px;margin:0;align-self:center}
 .has-radio-player{padding-bottom:98px}
 .has-radio-player #persistent-player .sound-toggle{bottom:114px}
}

/* Draw transport icons consistently instead of relying on text glyphs. */
[data-radio-toggle] svg,.track-action svg{display:block;width:22px;height:22px;pointer-events:none}
.track-action svg{width:15px;height:15px}
.radio-main-controls button[data-radio-toggle]{display:grid;place-items:center;background:#f2eee5;color:#10131b;border:0;border-radius:50%;width:56px;height:56px;flex-basis:56px;box-shadow:0 3px 14px #0003;transition:transform .2s,background .2s}
.radio-main-controls button[data-radio-toggle]:hover{background:#fff;transform:scale(1.05)}
.radio-main-controls button[data-radio-toggle] svg{width:24px;height:24px}
.radio-mini button[data-radio-toggle]{display:grid;place-items:center;color:#f2eee5}
.radio-mini button[data-radio-toggle] svg{width:20px;height:20px}
@media(prefers-reduced-motion:reduce){.radio-main-controls button[data-radio-toggle]{transition:none}}

/* Never let the device substitute a text or emoji play symbol. */
.radio-main-controls button,.radio-mini button,.radio-track{appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}
.radio-transport-icon{display:block;flex:none;width:24px;height:24px;background:currentColor;-webkit-mask:url('radio-play.svg') center/contain no-repeat;mask:url('radio-play.svg') center/contain no-repeat;pointer-events:none}
[data-playing="true"]>.radio-transport-icon{-webkit-mask-image:url('radio-pause.svg');mask-image:url('radio-pause.svg')}
.radio-mini .radio-transport-icon{width:20px;height:20px}
.track-action .radio-transport-icon{width:15px;height:15px}
.radio-main-controls button[data-radio-toggle]{font-size:0;line-height:0;position:relative}
.radio-main-controls button[data-radio-toggle]::before,.radio-main-controls button[data-radio-toggle]::after{content:none!important}

/* An intrinsic play/pause drawing: no mask, image download or platform glyph. */
.radio-transport-icon{display:block!important;box-sizing:content-box!important;flex:none;width:0!important;height:0!important;background:none!important;-webkit-mask:none!important;mask:none!important;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:17px solid currentColor;margin:0 0 0 4px;opacity:1!important;visibility:visible!important}
[data-playing="true"]>.radio-transport-icon{width:17px!important;height:20px!important;border:0;margin:0;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65%)!important}
.radio-main-controls button[data-radio-toggle]{color:#10131b!important;background:#f2eee5!important;display:flex!important;align-items:center;justify-content:center}
.radio-mini button[data-radio-toggle]{color:#f2eee5!important;display:flex!important;align-items:center;justify-content:center}
.radio-mini .radio-transport-icon{border-top-width:8px;border-bottom-width:8px;border-left-width:13px}
.radio-mini [data-playing="true"]>.radio-transport-icon{width:13px!important;height:16px!important}
.track-action .radio-transport-icon{border-top-width:6px;border-bottom-width:6px;border-left-width:10px;margin-left:1px}
.track-action[data-playing="true"]>.radio-transport-icon{width:10px!important;height:12px!important}

/* Match the square Spotify playlist artwork without zooming or cropping. */
.radio-album .radio-cover{height:auto;aspect-ratio:1/1;object-fit:contain;object-position:50% 50%;margin-inline:auto}
