/* Music uses the Community palette and compact, consistent controls. */
.music-page {
    --music-surface:#10151c; --music-raised:#18212b; --music-line:#ffffff14;
    --music-text:#edf3f9; --music-muted:#a0afc0; --music-accent:#a6d4fb;
}
.music-page svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.music-page button { touch-action:manipulation; }
.music-page .community-hero-slide[data-kind=music] .community-hero-art::after {
    background:linear-gradient(0deg,#000 0%,#000c 16%,#0000 65%),linear-gradient(90deg,#070b1680,transparent 75%),linear-gradient(180deg,#0005,transparent 30%);
}
.music-page .community-content-body { padding-top:32px; }
.music-filters { display:flex; align-items:center; gap:12px; margin:0 0 24px; }
.music-filters label { min-width:0; }
.music-search { display:flex; align-items:center; flex:1; min-width:0; padding:2px 3px 2px 16px; border:1px solid var(--music-line); border-radius:12px; background:var(--music-surface); transition:border-color .18s; }
.music-search input { width:100%; min-width:0; padding:12px 0; border:0; outline:0; background:transparent; color:var(--music-text); font:inherit; font-size:14px; }
.music-search input::placeholder { color:var(--music-muted); }
.music-search:focus-within { border-color:var(--music-accent); }
.music-search button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:0; border-radius:9px; background:var(--music-raised); color:var(--music-accent); cursor:pointer; transition:background .18s; }
.music-filters select { height:50px; max-width:100%; padding:0 36px 0 16px; border:1px solid var(--music-line); border-radius:12px; background:var(--music-surface); color:var(--music-text); color-scheme:dark; font:inherit; font-size:13px; cursor:pointer; }
.music-filters :disabled { opacity:.5; cursor:default; }
.music-radio { display:flex; align-items:center; gap:16px; padding:12px 20px; margin-bottom:32px; border:1px solid var(--music-line); border-radius:16px; background:#10172099; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.music-radio-play { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; padding:0; border:0; border-radius:12px; background:#a6d4fb12; color:var(--music-accent); cursor:pointer; transition:background .18s; }
.music-radio-play svg { width:22px; height:22px; }
.music-radio-art { width:64px; height:64px; flex:0 0 64px; object-fit:cover; border-radius:12px; }
.music-radio.is-playing .music-radio-art { animation:music-float 3.8s ease-in-out infinite; }
.music-radio-copy { min-width:0; }
.music-radio h2 { margin:3px 0 4px; font-size:20px; color:var(--music-text); letter-spacing:-.02em; line-height:1.3; }
.music-radio p { margin:0; font-size:12px; color:var(--music-muted); }
.music-live { display:flex; align-items:center; gap:6px; color:var(--music-accent); font-size:10px; font-weight:600; letter-spacing:.12em; }
.music-live i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.music-radio>a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 4px; margin-left:auto; color:var(--music-muted); font-size:12px; white-space:nowrap; text-decoration:none; }
.music-wave { display:flex; align-items:center; justify-content:center; height:44px; gap:6px; margin-left:24px; opacity:.35; }
.music-wave i { display:block; width:3px; height:28%; background:var(--music-accent); border-radius:2px; }
.music-wave i:nth-child(3n) { height:80%; }.music-wave i:nth-child(3n+1) { height:50%; }
.music-radio.is-current { border-color:#a6d4fb55; }.music-radio.is-playing .music-wave { opacity:.9; }
.music-radio.is-playing .music-wave i { animation:music-wave 1.2s ease-in-out infinite alternate; transform-origin:center; }
.music-wave i:nth-child(2n) { animation-delay:-.6s!important; }.music-wave i:nth-child(3n) { animation-delay:-.3s!important; }
@keyframes music-wave { from { transform:scaleY(.5); } to { transform:scaleY(1); } }
.music-page.is-hidden-document .music-radio-art,.music-page.is-hidden-document .music-wave i { animation-play-state:paused; }
.music-section { margin:0 0 40px; }
.music-section>header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.music-section h2 { margin:0; color:var(--music-text); font-size:24px; line-height:1.4; letter-spacing:-.025em; }
.music-section>header a { display:inline-flex; align-items:center; min-height:44px; padding:0 4px; color:var(--music-muted); font-size:12px; white-space:nowrap; text-decoration:none; }
.music-status { margin:8px 0 16px; min-height:18px; color:var(--music-muted); font-size:13px; line-height:1.6; }
.music-status:empty { display:none; }
.music-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.music-card { position:relative; min-width:0; padding:16px; border:1px solid var(--music-line); border-radius:14px; background:var(--music-surface); transition:border-color .18s,background .18s; }
.music-card:hover,.music-card.is-current { border-color:#a6d4fb55; background:#141e29; }
.music-card-play { display:flex; align-items:flex-start; gap:16px; width:100%; padding:0; border:0; border-radius:8px; background:transparent; color:var(--music-text); text-align:left; font:inherit; cursor:pointer; }
.music-card-cover { position:relative; display:grid; place-items:center; flex:0 0 96px; width:96px; height:96px; overflow:hidden; border-radius:10px; background:var(--music-raised); color:var(--music-accent); }
.music-card-cover>svg { width:28px; height:28px; }
.music-card-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .2s; }
.music-card:hover img { transform:scale(1.035); }
.music-card-action { position:absolute; display:grid; place-items:center; right:6px; bottom:6px; width:30px; height:30px; border:1px solid #ffffff26; border-radius:8px; background:#081019df; color:#f0f7ff; transition:background .18s; }
.music-card-action svg { width:16px; height:16px; }
.music-card.is-current .music-card-action,.music-card-play:hover .music-card-action { background:var(--music-accent); color:#111c28; }
.music-card-copy { display:grid; min-width:0; gap:6px; padding-top:2px; }
.music-card-copy strong { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:16px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.music-card-copy span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--music-muted); font-size:12px; line-height:1.5; }
.music-card-source { display:inline-flex; align-items:center; min-height:44px; max-width:100%; margin:0 0 -6px 112px; color:var(--music-muted); font-size:11px; text-decoration:none; }
.music-card.is-current .music-card-copy strong { color:var(--music-accent); }
.music-skeleton { height:172px; border:1px solid var(--music-line); border-radius:14px; background:var(--music-surface); }
.music-more { display:flex; align-items:center; justify-content:center; gap:12px; min-height:44px; margin:24px auto 0; padding:10px 20px; border:1px solid var(--music-line); border-radius:10px; background:var(--music-raised); color:var(--music-text); font:inherit; font-size:13px; cursor:pointer; transition:background .18s,border-color .18s; }
.music-more svg { width:16px; height:16px; }.music-more:disabled { opacity:.55; cursor:default; }
.music-page :is(.music-search button,.music-more):hover { background:#243344; border-color:#a6d4fb55; }
.music-radio-play:hover { background:#a6d4fb24; }.music-page :is(button,a):active { opacity:.8; }
.music-page :is(.music-card-source,.music-section>header a,.music-radio>a):hover { color:var(--music-accent); }
.music-page [hidden] { display:none!important; }
.music-page :is(button,a,select,input):focus-visible { outline:2px solid var(--music-accent); outline-offset:3px; }
@media(min-width:1600px) { .music-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1024px) { .music-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
    .music-page .community-content-body { padding-top:20px; }
    .music-filters { flex-wrap:wrap; gap:8px; margin-bottom:20px; }
    .music-search { flex-basis:100%; }.music-search input { font-size:16px; }
    .music-filters>label:not(.music-search) { flex:1; }.music-filters select { width:100%; }
    .music-radio { gap:8px; padding:12px; margin-bottom:24px; }.music-radio-art { width:48px; height:48px; flex-basis:48px; }.music-wave { display:none; }
    .music-radio h2 { font-size:18px; }.music-section h2 { font-size:20px; }
    .music-grid { grid-template-columns:1fr; gap:12px; }.music-section { margin-bottom:32px; }
    .music-card { padding:12px; }.music-card-play { gap:12px; }
    .music-card-cover { width:88px; height:88px; flex-basis:88px; }.music-card-source { margin-left:100px; }
    .music-card-copy strong { font-size:15px; }

}
@media(prefers-reduced-motion:reduce) { .music-page * { animation:none!important; transition:none!important; } }
