.online-tabs,.online-regions{display:flex;gap:8px;flex-wrap:wrap}.online-tabs{margin:-3px 0 16px}.online-regions{gap:6px;margin-bottom:26px}.online-regions button{font-size:11px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:transparent}.online-regions button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.online-banners{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.online-banner{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;min-height:310px;text-align:left;color:#fff;background:#26352f;padding:28px;display:flex;align-items:flex-end}.online-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}.online-banner:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(12,18,18,.94),rgba(12,18,18,.25) 85%)}.online-banner:hover img{transform:scale(1.025)}.online-banner-copy{display:flex;align-items:flex-start;flex-direction:column;gap:9px;max-width:95%}.online-banner-copy strong{font-size:clamp(25px,2.6vw,42px);letter-spacing:-1.3px;line-height:1.08;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.online-banner-copy>.pill{font-size:9px;letter-spacing:1.5px;background:#ffffff20}.online-banner-copy>span{font-size:13px}.online-banner-cta{display:flex;align-items:center;gap:7px;margin-top:12px}.online-source{color:var(--muted);font-size:11px;line-height:1.7;margin:18px 0 26px}.online-source .text-button{margin-left:12px;font-size:11px}
.online-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px 18px}.online-card{min-width:0}.online-card>button:first-child{position:relative;display:block;width:100%;aspect-ratio:1;border-radius:13px;overflow:hidden;background:var(--line)}.online-card img{display:block;width:100%;height:100%;object-fit:cover}.online-cover-action{position:absolute;bottom:10px;right:10px;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;background:#ffffffed;color:#252525;opacity:0;transition:opacity .18s}.online-card>button:hover .online-cover-action,.online-card>button:focus-visible .online-cover-action{opacity:1}.online-title{display:block;text-align:left;font-weight:600;font-size:12px;margin-top:11px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-subtitle{display:block;text-align:left;margin-top:4px;color:var(--muted);font-size:11px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-artist-card>button:first-child{border-radius:50%}.online-artist-card .online-title,.online-artist-card .online-subtitle{text-align:center}.online-monogram{display:grid;place-items:center;width:100%;aspect-ratio:1;background:linear-gradient(135deg,#e0d3da,#bbcdce);color:#514b53;font-size:38px;font-weight:650}.online-more{display:flex;justify-content:center;gap:12px;margin:28px 0}.online-search{display:flex;gap:12px;margin:20px 0 28px}.online-search .search-field{flex:1;margin:0;min-width:0}.online-search input{min-width:0;width:100%}.online-search>.primary-button{align-self:center}.online-loading{padding:75px 20px;text-align:center;border-radius:18px;background:var(--surface)}.online-loading h2{font-size:22px;letter-spacing:-.6px}.online-loading p{color:var(--muted);font-size:13px;margin-top:12px}.online-loading>span{display:block;width:30px;height:30px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:online-spin 1s linear infinite;margin:0 auto 20px}@keyframes online-spin{to{transform:rotate(360deg)}}
.online-event-banner{width:100%;padding:30px 34px;background:linear-gradient(115deg,#292237,#5e4152);color:#fff;text-align:left;border-radius:18px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:38px}.online-event-banner .eyebrow{color:#d9cbd8}.online-event-banner strong{font-size:32px;letter-spacing:-1px;line-height:1.15}.online-event-banner>span:last-child{display:flex;align-items:center;font-size:12px;gap:8px}.online-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.online-event-card{display:flex;gap:18px;padding:21px;border:1px solid var(--line);border-radius:15px;color:var(--text);text-decoration:none;background:var(--surface)}.online-event-card time{display:flex;align-items:center;flex-direction:column;flex-shrink:0;width:64px;height:78px;padding:10px 3px;background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:11px;color:var(--accent)}.online-event-card time strong{font-size:27px}.online-event-card time span{font-size:9px}.online-event-card h3{font-size:15px;line-height:1.4;margin:5px 0}.online-event-card p,.online-event-card small{color:var(--muted);font-size:11px;line-height:1.6}.online-event-card .eyebrow{font-size:9px}.online-event-link{display:block;font-size:11px;color:var(--accent);margin-top:13px}
.online-artist-hero,.online-song-detail{display:grid;grid-template-columns:minmax(160px,30%) 1fr;align-items:center;gap:32px;margin:30px 0 38px}.online-artist-hero>img,.online-artist-hero>.online-monogram,.online-song-detail>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:18px}.online-artist-hero>img,.online-artist-hero>.online-monogram{border-radius:50%}.online-artist-hero h2,.online-song-detail h1{font-size:clamp(28px,3.5vw,46px);line-height:1.12;letter-spacing:-1.4px;margin:12px 0}.online-artist-hero p,.online-song-detail p{color:var(--muted);font-size:13px;line-height:1.7}.online-links{display:flex;gap:10px;flex-wrap:wrap;margin:19px 0}.online-links a{text-decoration:none;font-size:11px}.online-availability{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.online-availability>span{color:var(--accent)}.online-availability h2{font-size:20px;margin:9px 0;letter-spacing:-.5px}.online-song-detail{align-items:start;margin:35px 0}.online-song-detail>.online-monogram{border-radius:18px}.online-artist-hero .text-button{font-size:12px}
@media(max-width:1100px){.online-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.online-event-grid{grid-template-columns:1fr}.online-banner{min-height:280px;padding:23px}}
@media(max-width:700px){.online-banners{grid-template-columns:1fr 1fr;gap:12px}.online-banner{min-height:260px;padding:18px}.online-banner-copy strong{font-size:26px}.online-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 14px}.online-artist-hero,.online-song-detail{gap:20px;grid-template-columns:1fr}.online-artist-hero>img,.online-artist-hero>.online-monogram{max-width:190px;margin:auto}.online-song-detail>img{max-width:270px;margin:auto}.online-artist-hero>div{text-align:center}.online-artist-hero .online-links{justify-content:center}}
@media(max-width:480px){.online-banners{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:3px}.online-banner{flex:0 0 90%;scroll-snap-align:start;min-height:310px}.online-banner-copy strong{font-size:34px}.online-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.online-tabs{gap:6px}.online-tabs .filter-chip{font-size:11px;padding:8px 12px}.online-regions{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.online-regions button{white-space:nowrap}.online-search{gap:8px}.online-search>.primary-button{padding:12px;font-size:11px}.online-event-card{padding:17px;gap:13px}.online-event-banner{padding:26px}.online-event-banner strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.online-loading>span{animation:none}.online-banner img{transition:none}}html[data-reduce-motion=true] .online-loading>span{animation:none}html[data-reduce-motion=true] .online-banner img{transition:none}
/* Desktop player: seated against the lower edge, with room below the transport. */
@media(min-width:601px){.player-bar{left:var(--sidebar-width);right:0;bottom:0;max-width:none;margin:0;border-radius:22px 22px 0 0;height:96px;padding:14px 26px;border-bottom:0;box-shadow:0 -8px 32px #0000000a}.player-center{transform:translateY(5px)}.player-bar .transport{margin-bottom:7px}.queue-panel{bottom:108px}}
/* Source services use recognizable marks; labels are revealed on hover or focus. */
.online-links .service-logo{position:relative;width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:15px;border:1px solid var(--line);background:var(--surface);transition:transform .18s,box-shadow .18s}.service-symbol{width:26px;height:26px;display:block;mask:var(--service-icon) center/contain no-repeat;-webkit-mask:var(--service-icon) center/contain no-repeat;background:var(--service-color)}.service-applemusic{--service-icon:url('assets/applemusic.svg');--service-color:#fa586a}.service-spotify{--service-icon:url('assets/spotify.svg');--service-color:#1db954}.service-youtubemusic{--service-icon:url('assets/youtubemusic.svg');--service-color:#f03}.service-logo:hover,.service-logo:focus-visible{transform:translateY(-2px);box-shadow:0 5px 14px #00000012}.service-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);background:var(--text);color:var(--surface);padding:8px 11px;border-radius:8px;white-space:nowrap;font-size:11px;line-height:1.3;font-weight:500;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .16s,transform .16s,visibility .16s;z-index:5}.service-logo:first-child .service-tooltip{left:0;transform:translate(0,4px)}.service-logo:hover .service-tooltip,.service-logo:focus-visible .service-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}.service-logo:first-child:hover .service-tooltip,.service-logo:first-child:focus-visible .service-tooltip{transform:translate(0,0)}
@media(prefers-reduced-motion:reduce){.online-links .service-logo,.service-tooltip{transition:none}}html[data-reduce-motion=true] .service-logo,html[data-reduce-motion=true] .service-tooltip{transition:none}
.online-regions,.online-banners{scrollbar-width:none}.online-regions::-webkit-scrollbar,.online-banners::-webkit-scrollbar{display:none}
.online-links .service-logo{border:0;background:transparent;box-shadow:none;border-radius:0}.online-links .service-logo:hover,.online-links .service-logo:focus-visible{box-shadow:none;background:transparent}
