.music-section { scroll-margin-top:28px; }
.music-room { border:1px solid #45404f; border-radius:15px; overflow:hidden; background:#151419; }
.music-room-top { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid #37333d; padding:19px 27px; }
.music-room-label { display:flex; align-items:center; flex-wrap:wrap; gap:10px 15px; font-size:.7rem; letter-spacing:1px; color:#bcb6c8; }
.music-room-label .symbol { color:var(--purple); width:20px; height:20px; }
.music-stat { color:#908a9c; }
.rotation-control { display:flex; align-items:center; gap:9px; padding:7px 10px; border:1px solid #48414f; background:#201c26; border-radius:5px; color:#d9cfec; font-size:.7rem; white-space:nowrap; }
.rotation-control .symbol { height:14px; width:14px; }
.music-showcase { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(245px,1fr); }
.music-feature { min-width:0; padding:32px; background:radial-gradient(ellipse at 5% 20%,#ad88ff14,transparent 70%); }
.music-feature-top { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-bottom:24px; }
.music-feature-word { font-family:var(--display); font-size:2.65rem; font-weight:700; line-height:1; letter-spacing:-2px; color:#ddcff7; }
.music-feature-word > span { color:var(--lime); }
.music-shuffle { display:flex; gap:8px; align-items:center; border:0; background:none; padding:8px 0 8px 8px; font-size:.75rem; color:#bcb4c9; }
.music-shuffle:hover { color:var(--lime); }
.music-shuffle .symbol { width:17px; height:17px; }
.music-feature-body { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,1fr); gap:27px; align-items:center; }
.music-cover-stage { position:relative; aspect-ratio:1; min-width:0; border:1px solid #ffffff24; border-radius:5px; background:#26222b; box-shadow:0 13px 27px #0005; }
.music-cover-stage > img { display:block; width:100%; height:100%; object-fit:cover; border-radius:4px; }
.music-cover-stage.is-changing { animation:cover-arrive .5s cubic-bezier(.2,.7,.2,1); }
.music-cover-corner { position:absolute; bottom:9px; right:9px; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#101112dc; color:var(--lime); border:1px solid #ffffff30; }
.music-cover-corner .symbol { width:17px; height:17px; }
.music-track-copy { min-width:0; }
.music-track-copy > .eyebrow { color:#c1a8ef; font-size:.7rem; letter-spacing:1px; }
.music-track-copy h3 { font-size:clamp(1.6rem,2.9vw,2.7rem); letter-spacing:-1px; line-height:1.35; margin:13px 0 10px; overflow-wrap:anywhere; }
.music-track-artist { color:#e0d8e9; font-size:1rem; }
.music-track-album { color:#9c94a8; font-size:.75rem; margin-top:8px; line-height:1.7; }
.music-listen { display:inline-flex; align-items:center; justify-content:center; gap:10px; margin-top:22px; padding:12px 16px; background:var(--lime); border:0; border-radius:5px; color:#18220d; font-size:.85rem; font-weight:600; transition:background .2s,transform .2s; }
.music-listen:hover { transform:translateY(-2px); background:#d4ff85; }
.music-listen .symbol { width:18px; height:18px; }
.music-qq-link { display:flex; align-items:center; gap:12px; color:#c6bccf; font-size:.75rem; margin-top:15px; width:fit-content; }
.music-qq-link:hover { color:var(--lime); }
.music-feature-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:24px; }
.music-track-index { font-size:.7rem; letter-spacing:1px; color:#9d93ad; }
.music-cover-controls { display:flex; gap:8px; }
.music-icon-button { display:grid; place-items:center; width:34px; height:34px; border:1px solid #4b4255; border-radius:50%; background:transparent; color:#d7c9e9; }
.music-icon-button .symbol { width:17px; height:17px; }
.music-icon-button:hover:not(:disabled) { color:var(--lime); border-color:var(--lime); }
.music-icon-button:disabled { opacity:.3; cursor:default; }
.music-albums { border-left:1px solid #37333d; padding:32px 26px; display:flex; flex-direction:column; gap:22px; background:#19161e; }
.music-albums-label { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--orange); font-size:.7rem; letter-spacing:1px; }
.music-albums-label .symbol { width:16px; height:16px; }
#music-album-list { display:grid; gap:25px; }
.favourite-album { display:grid; grid-template-columns:85px minmax(0,1fr) 14px; align-items:center; gap:15px; }
.favourite-album img { width:85px; height:85px; object-fit:cover; border-radius:4px; border:1px solid #ffffff26; transition:transform .3s; }
.favourite-album:hover img { transform:rotate(-3deg) translateY(-2px); }
.favourite-album b { display:block; font-size:1.12rem; line-height:1.5; font-weight:600; }
.favourite-album small { display:block; font-size:.7rem; color:#aea2bd; margin-top:6px; }
.favourite-album > span:last-child { color:var(--orange); }
.music-account { margin-top:auto; padding-top:20px; border-top:1px solid #403648; }
.music-account a { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--lime); font-size:.8rem; line-height:1.6; }
.music-account p { font-size:.65rem; color:#a297ad; margin-top:9px; line-height:1.7; }
.music-artists-block { padding:25px 27px 27px; border-top:1px solid #37333d; }
.music-artists-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }
.music-artists-heading h3 { font-size:.75rem; letter-spacing:1px; color:#c9bfda; font-weight:400; }
.music-filter-all { border:0; background:transparent; color:#a79eb5; padding:6px 0; font-size:.75rem; }
.music-filter-all[aria-pressed=true] { color:var(--lime); }
.music-artist-grid { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:16px; }
.music-artist { padding:0; border:0; background:transparent; text-align:left; min-width:0; }
.music-artist-image { display:block; aspect-ratio:1; border-radius:50%; border:2px solid transparent; padding:4px; transition:border-color .2s,transform .3s; }
.music-artist img { width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; filter:saturate(.8); transition:filter .3s; }
.music-artist:hover .music-artist-image { transform:translateY(-4px); }
.music-artist:hover img,.music-artist[aria-pressed=true] img { filter:saturate(1.1); }
.music-artist[aria-pressed=true] .music-artist-image { border-color:var(--lime); }
.music-artist-name { display:block; margin-top:10px; text-align:center; font-size:.85rem; font-weight:500; line-height:1.4; }
.music-artist-count { display:block; margin-top:6px; text-align:center; font-size:.6rem; color:#9d92ab; letter-spacing:.3px; }
.music-artist[aria-pressed=true] .music-artist-name { color:var(--lime); }
.music-library { border-top:1px solid #37333d; }
.music-library > summary { padding:20px 28px; cursor:pointer; font-size:.8rem; color:#c5b7d7; }
.music-library > summary:hover { color:var(--lime); }
.music-library-inner { padding:0 27px 24px; }
.music-library-tools { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:16px; }
.music-library-tools > p { color:var(--purple); font-size:.8rem; }
.music-search { display:flex; gap:10px; align-items:center; padding:9px 12px; border:1px solid #49404f; border-radius:5px; background:#101013; width:min(310px,60%); }
.music-search .symbol { width:17px; height:17px; color:#9f90b0; }
.music-search input { min-width:0; width:100%; border:0; padding:3px 0; color:#eee5f7; font:inherit; font-size:.8rem; background:none; }
.music-search:focus-within { outline:2px solid var(--cyan); outline-offset:3px; }
.music-search input:focus-visible { outline:0; }
.music-track-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 22px; list-style:none; margin:0; padding:0; }
.music-track-row { width:100%; display:grid; grid-template-columns:22px 42px minmax(0,1fr) 20px; align-items:center; gap:12px; padding:10px 9px; border:1px solid transparent; border-radius:6px; text-align:left; background:#1d1922; }
.music-track-row:hover { background:#292232; }
.music-track-row[aria-current=true] { border-color:#8872a6; background:#302638; }
.music-track-row img { width:42px; height:42px; object-fit:cover; border-radius:3px; }
.music-track-row > .mono { color:#91849e; font-size:.65rem; }
.music-track-row strong { display:block; font-size:.85rem; font-weight:500; line-height:1.5; }
.music-track-row small { display:block; color:#ad9bbb; font-size:.7rem; line-height:1.5; margin-top:3px; }
.music-track-row .symbol { width:16px; height:16px; color:var(--purple); }
.music-pagination { display:flex; gap:10px; align-items:center; justify-content:flex-end; margin-top:18px; }
.music-pagination > span { font-size:.7rem; color:#ada0bd; margin-right:7px; }
.music-empty { padding:20px; text-align:center; color:#ad9bbb; font-size:.85rem; }
.music-player-panel { padding:23px 27px; border-top:1px solid #4d4259; background:#241c2b; }
.music-player-panel[hidden] { display:none; }
.music-player-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.music-player-heading > span { color:#dac5f7; font-size:.75rem; line-height:1.6; }
.music-player-panel p { color:#c3b1d2; font-size:.75rem; line-height:1.8; margin:12px 0 14px; }
.music-player-slot { background:#f8f9fa; border-radius:6px; padding:8px; overflow:hidden; }
.music-player-slot[hidden] { display:none; }
.music-player-slot iframe { display:block; width:100%; height:90px; border:0; background:#f8f9fa; color-scheme:light; }
.music-player-panel .music-player-limit { margin-bottom:0; color:#aa94ba; font-size:.7rem; }
.music-bottom-note { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; margin-top:15px; color:#918b9c; font-size:.7rem; line-height:1.8; }
.music-bottom-note p { max-width:660px; }
.music-bottom-note > span { color:#b4a0ce; letter-spacing:1.5px; white-space:nowrap; }
@keyframes cover-arrive { from { opacity:.45; transform:translateY(6px) rotate(-1deg); } to { opacity:1; transform:none; } }
@media(max-width:1100px) {
 .music-showcase { grid-template-columns:minmax(0,1.9fr) minmax(230px,1fr); }
 .music-feature { padding:25px; }
 .music-feature-body { gap:20px; }
 .music-feature-word { font-size:2.15rem; }
 .music-albums { padding:26px 21px; }
 .favourite-album { grid-template-columns:70px minmax(0,1fr) 10px; gap:12px; }
 .favourite-album img { width:70px; height:70px; }
 .music-artist-grid { gap:10px; }
 .music-artist-name { font-size:.75rem; }
}
@media(max-width:850px) {
 .music-showcase { grid-template-columns:1fr; }
 .music-feature-body { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; }
 .music-feature { padding:27px; }
 .music-feature-word { font-size:2.65rem; }
 .music-track-copy h3 { font-size:2.4rem; }
 .music-albums { border-left:0; border-top:1px solid #37333d; display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:25px 27px; }
 .music-albums-label { grid-column:1/-1; }
 #music-album-list { grid-column:1/-1; grid-template-columns:1fr 1fr; }
 .music-account { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; align-items:center; }
 .music-account p { margin:0; }
 .music-artist-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px 18px; }
 .music-artist-name { font-size:.85rem; }
}
@media(max-width:550px) {
 .music-room-top { align-items:flex-start; padding:17px; gap:10px; }
 .music-room-label { gap:7px 9px; font-size:.65rem; }
 .music-stat { width:100%; }
 .rotation-control { padding:6px; font-size:.65rem; }
 .music-feature { padding:24px 20px 20px; }
 .music-feature-top { margin-bottom:23px; }
 .music-feature-word { font-size:2.25rem; }
 .music-shuffle { padding:7px 0; }
 .music-shuffle > span { display:none; }
 .music-shuffle .symbol { height:20px; width:20px; }
 .music-feature-body { grid-template-columns:1fr; gap:24px; }
 .music-cover-stage { width:calc(100% - 28px); max-width:360px; margin:0 auto; }
 .music-track-copy { text-align:center; }
 .music-track-copy h3 { margin-top:12px; font-size:2rem; }
 .music-track-artist { font-size:.95rem; }
 .music-listen { width:100%; max-width:270px; margin-top:20px; }
 .music-qq-link { margin:15px auto 0; }
 .music-feature-bottom { border-top:1px solid #3d3448; padding-top:16px; margin-top:23px; }
 .music-albums { padding:22px 20px; gap:22px; grid-template-columns:1fr; }
 .music-albums-label { grid-column:auto; }
 #music-album-list { grid-column:auto; grid-template-columns:1fr; }
 .favourite-album { grid-template-columns:76px minmax(0,1fr) 15px; gap:20px; }
 .favourite-album img { width:76px; height:76px; }
 .favourite-album b { font-size:1.2rem; }
 .music-account { display:block; grid-column:auto; }
 .music-account p { margin-top:7px; }
 .music-artists-block { padding:23px 16px; }
 .music-artist-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 12px; }
 .music-artist-image { padding:3px; }
 .music-artist-name { font-size:.8rem; }
 .music-library > summary { padding:20px; }
 .music-library-inner { padding:0 16px 22px; }
 .music-library-tools { display:block; }
 .music-search { width:100%; margin-top:14px; }
 .music-track-list { grid-template-columns:1fr; gap:8px; }
 .music-track-row { grid-template-columns:18px 42px minmax(0,1fr) 17px; gap:10px; }
 .music-player-panel { padding:20px 16px; }
 .music-player-slot { padding:5px; }
 .music-player-slot iframe { height:100px; }
 .music-bottom-note > span { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .music-section *, .music-section *::before, .music-section *::after { animation:none!important; transition:none!important; }
 .music-artist:hover .music-artist-image,.favourite-album:hover img,.music-listen:hover { transform:none; }
}
