#musicPage{
  --music-bg:#110f16;
  --music-panel:rgba(24,20,29,.78);
  --music-panel-strong:rgba(20,17,25,.92);
  --music-ink:#fff8ee;
  --music-muted:#c8b9ae;
  --music-gold:#ffd489;
  --music-pink:#ff5a91;
  --music-red:#ff6251;
  --music-blue:#60baff;
  --music-line:rgba(255,255,255,.12);
  color:var(--music-ink)!important;
  min-width:0;
  min-height:100vh!important;
  padding:22px!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background-color:#15101a!important;
  background-image:
    linear-gradient(180deg,rgba(13,10,17,.56),rgba(13,10,17,.80) 44%,rgba(13,10,17,.94) 100%),
    url('../assets/music/doudoufy/hero-lounge.webp?v=1.6.28')!important;
  background-size:cover!important;
  background-position:center top!important;
  background-attachment:fixed!important;
  box-shadow:none!important;
}
#musicPage::before,#musicPage::after{display:none!important;content:none!important}
#musicPage>*{position:relative;z-index:2}
#musicPage button,#musicPage input{font:inherit}
.doudoufy-shell{width:min(1420px,100%);margin:0 auto;padding-bottom:104px}

.music-hero{
  min-height:430px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(250px,.55fr);
  align-items:end;
  gap:28px;
  position:relative;
  overflow:hidden;
  padding:46px 48px 42px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:30px;
  background:
    linear-gradient(90deg,rgba(18,13,21,.92) 0%,rgba(18,13,21,.72) 44%,rgba(18,13,21,.18) 76%,rgba(18,13,21,.08) 100%),
    url('../assets/music/doudoufy/hero-lounge.webp?v=1.6.28');
  background-size:cover;
  background-position:center 46%;
  box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.07);
}
.music-hero::after{content:"";position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(180deg,transparent,rgba(13,10,16,.48));pointer-events:none}
.music-hero-copy,.music-featured-card{position:relative;z-index:2}
.music-eyebrow,.music-kicker{display:block;color:var(--music-gold);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.music-hero h1{margin:13px 0 12px;font:900 clamp(48px,6vw,82px)/.95 Georgia,"Noto Serif SC",serif;letter-spacing:-.045em;color:#fff5e8;text-shadow:0 8px 30px rgba(0,0,0,.34)}
.music-hero h1 b{font-size:.42em;color:var(--music-pink)}
.music-hero p{max-width:650px;margin:0;color:#eadfd8;font-size:14px;line-height:1.7;text-shadow:0 2px 12px rgba(0,0,0,.38)}
.music-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.music-hero-actions button{border:0;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer;transition:transform .16s ease,filter .16s ease}.music-main-play{background:linear-gradient(135deg,var(--music-red),var(--music-pink));color:#fff;box-shadow:0 10px 28px rgba(255,75,105,.28)}.music-ghost-action{background:rgba(255,255,255,.11);color:#fff;border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(12px)}.music-hero-actions button:hover{transform:translateY(-1px);filter:brightness(1.05)}
.music-hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.music-hero-tags span{padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(15,12,19,.38);color:#e7ddd5;font-size:9px;font-weight:800;backdrop-filter:blur(10px)}

.music-featured-card{align-self:end;justify-self:end;width:min(100%,310px);display:grid;grid-template-columns:104px 1fr;gap:13px;padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(15,12,19,.72);backdrop-filter:blur(16px);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.music-featured-cover-wrap{position:relative}.music-featured-cover-wrap img{display:block;width:104px;height:104px;border-radius:15px;object-fit:cover}.music-live-dot{position:absolute;right:6px;bottom:6px;width:11px;height:11px;border:2px solid #171118;border-radius:50%;background:#58e49b;box-shadow:0 0 12px rgba(88,228,155,.65)}
.music-featured-meta{min-width:0;align-self:center}.music-featured-meta small{display:block;color:var(--music-gold);font-size:8px;font-weight:900;letter-spacing:.12em}.music-featured-meta strong{display:block;margin-top:5px;color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-featured-meta>span{display:block;margin-top:4px;color:var(--music-muted);font-size:9px;line-height:1.35}
.music-mini-bars{display:flex;align-items:end;gap:3px;height:17px;margin-top:10px}.music-mini-bars i{display:block;width:3px;height:6px;border-radius:4px;background:linear-gradient(var(--music-gold),var(--music-pink));opacity:.65}.music-mini-bars i:nth-child(2){height:11px}.music-mini-bars i:nth-child(3){height:15px}.music-mini-bars i:nth-child(4){height:9px}.music-mini-bars i:nth-child(5){height:13px}.music-mini-bars.is-playing i{animation:doudoufy-bars .75s ease-in-out infinite alternate}.music-mini-bars.is-playing i:nth-child(2){animation-delay:-.2s}.music-mini-bars.is-playing i:nth-child(3){animation-delay:-.4s}.music-mini-bars.is-playing i:nth-child(4){animation-delay:-.1s}.music-mini-bars.is-playing i:nth-child(5){animation-delay:-.32s}@keyframes doudoufy-bars{to{height:17px;filter:brightness(1.2)}}

.music-section{margin-top:18px;padding:22px;border:1px solid var(--music-line);border-radius:25px;background:linear-gradient(145deg,rgba(20,16,24,.89),rgba(28,21,30,.76));backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(0,0,0,.2)}
.music-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.music-section-head h2{margin:5px 0 0;color:#fff6ec;font:900 clamp(23px,2.4vw,32px)/1.05 Georgia,"Noto Serif SC",serif}.music-section-head p{margin:6px 0 0;color:var(--music-muted);font-size:10px;line-height:1.5}.music-section-head.compact{margin-bottom:8px}
.music-search{display:flex;align-items:center;gap:7px;min-width:235px;padding:9px 12px;border:1px solid var(--music-line);border-radius:999px;background:rgba(255,255,255,.075);color:#d7c8bf}.music-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;padding:0;font-size:10px}.music-search input::placeholder{color:#9f918b}
.music-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.music-filters button{border:1px solid transparent;border-radius:999px;background:rgba(255,255,255,.07);color:var(--music-muted);padding:8px 12px;font-weight:850;font-size:9px;cursor:pointer}.music-filters button[aria-pressed="true"]{border-color:rgba(255,207,137,.32);background:linear-gradient(135deg,rgba(255,212,137,.20),rgba(255,90,145,.16));color:#fff6ea}.music-filters button:hover{background:rgba(255,255,255,.11)}

.music-playlist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.music-playlist-card{position:relative;min-width:0;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.045);transition:transform .18s ease,background .18s ease,border-color .18s ease}.music-playlist-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.075);border-color:rgba(255,212,137,.20)}.music-playlist-cover{display:block;position:relative;width:100%;aspect-ratio:1;border:0;border-radius:13px;overflow:hidden;padding:0;background:#1f1824;cursor:pointer}.music-playlist-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}.music-playlist-card:hover .music-playlist-cover img{transform:scale(1.025)}.music-playlist-cover::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(5,4,7,.62));pointer-events:none}.music-play-bubble{position:absolute;z-index:2;right:10px;bottom:10px;display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:linear-gradient(135deg,var(--music-gold),#ff9e55);color:#28151a;font-size:13px;box-shadow:0 8px 20px rgba(0,0,0,.28);transform:translateY(6px);opacity:0;transition:.18s}.music-playlist-card:hover .music-play-bubble,.music-playlist-cover:focus-visible .music-play-bubble{opacity:1;transform:none}.music-playlist-badge{position:absolute;z-index:2;left:9px;top:9px;padding:5px 7px;border-radius:999px;background:rgba(12,10,16,.72);color:#fff0d6;border:1px solid rgba(255,255,255,.14);font-size:7px;font-weight:900;letter-spacing:.06em;backdrop-filter:blur(8px)}
.music-playlist-info{display:grid;grid-template-columns:1fr 30px;gap:8px;align-items:start;padding:10px 3px 2px}.music-playlist-info strong,.music-playlist-info small{display:block}.music-playlist-info strong{color:#fff7ef;font-size:11px}.music-playlist-info small{margin-top:4px;color:var(--music-muted);font-size:8px;line-height:1.35}.music-card-favorite{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#d7c9c0;font-size:17px;cursor:pointer}.music-card-favorite[aria-pressed="true"]{color:var(--music-pink)}

.music-library-section{margin-bottom:0}.music-list{display:grid;gap:6px}.music-list article{display:grid;grid-template-columns:30px minmax(0,1fr) 100px 34px;gap:10px;align-items:center;padding:9px 10px;border:1px solid transparent;border-radius:12px;color:var(--music-muted);transition:background .15s}.music-list article:hover{background:rgba(255,255,255,.05)}.music-list article.is-current{border-color:rgba(255,212,137,.15);background:linear-gradient(90deg,rgba(255,212,137,.09),rgba(255,90,145,.045))}.music-track-number{font-size:9px;text-align:center;color:#ac9c93}.music-track-title{display:flex;gap:11px;align-items:center;text-align:left;border:0;background:transparent;color:var(--music-ink);cursor:pointer;min-width:0}.music-track-title img{width:46px;height:46px;border-radius:9px;object-fit:cover}.music-track-title strong,.music-track-title small{display:block}.music-track-title strong{font-size:10px}.music-track-title small{font-size:8px;color:var(--music-muted);margin-top:4px}.music-list em{font-style:normal;font-size:7px;letter-spacing:.08em;color:#baa99d}.music-list article>button:last-child{border:0;background:transparent;color:#e6d3c4;font-size:18px;cursor:pointer}.music-list article>button:last-child[aria-pressed="true"]{color:var(--music-pink)}.music-empty{grid-column:1/-1;margin:4px 0;color:var(--music-muted);font-size:10px}

.music-player{display:grid;grid-template-columns:minmax(210px,1fr) minmax(300px,1.2fr) minmax(160px,.55fr);gap:24px;align-items:center;position:sticky;bottom:12px;z-index:20;margin:18px 0 0;padding:12px 16px;border:1px solid rgba(255,255,255,.12);border-radius:19px;background:rgba(12,10,15,.90);box-shadow:0 16px 50px rgba(0,0,0,.36);backdrop-filter:blur(20px)}.music-now{display:flex;align-items:center;gap:10px;min-width:0}.music-now img{width:54px;height:54px;border-radius:10px;object-fit:cover;box-shadow:0 5px 15px rgba(0,0,0,.26)}.music-now span{min-width:0}.music-now strong,.music-now small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-now strong{color:#fff7ee;font-size:10px}.music-now small{font-size:8px;color:var(--music-muted);margin-top:4px}.music-transport>div{display:flex;justify-content:center;align-items:center;gap:13px}.music-transport button{border:0;background:transparent;color:#fff7ee;font-size:16px;cursor:pointer}.music-transport .music-play{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--music-gold),#ff9f61);color:#241419;font-size:12px;box-shadow:0 6px 16px rgba(255,167,87,.18)}.music-transport label{display:grid;grid-template-columns:33px 1fr 33px;align-items:center;gap:7px;margin-top:6px;color:#a99990;font-size:7px}.music-transport input,.music-volume input{accent-color:var(--music-pink);width:100%}.music-volume{display:grid;grid-template-columns:auto 1fr 34px;align-items:center;gap:8px;color:#b9aaa0}.music-volume span{font-size:10px}.music-volume b{font-size:7px;font-weight:700;color:#9f9189;text-align:right}

@media(max-width:1180px){.music-playlist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.music-hero{grid-template-columns:1fr minmax(230px,.44fr);min-height:390px;padding:38px}.music-player{grid-template-columns:1fr 1.1fr}.music-volume{grid-column:1/-1}}
@media(max-width:850px){#musicPage{padding:14px!important;background-attachment:scroll!important}.doudoufy-shell{padding-bottom:90px}.music-hero{grid-template-columns:1fr;min-height:470px;padding:28px;align-content:end;background-position:58% center}.music-featured-card{justify-self:start;width:280px}.music-playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-section-head{align-items:start;flex-direction:column}.music-search{width:100%;min-width:0}.music-player{position:static;grid-template-columns:1fr;gap:12px}.music-volume{grid-column:auto}.music-now{justify-content:center}}
@media(max-width:560px){#musicPage{padding:9px!important}.music-hero{min-height:430px;padding:20px;border-radius:22px}.music-hero h1{font-size:48px}.music-hero p{font-size:12px}.music-featured-card{grid-template-columns:76px 1fr;width:100%;padding:9px}.music-featured-cover-wrap img{width:76px;height:76px}.music-section{padding:14px;border-radius:18px}.music-playlist-grid{grid-template-columns:1fr 1fr;gap:8px}.music-playlist-card{padding:7px}.music-play-bubble{opacity:1;transform:none;width:34px;height:34px}.music-playlist-info{grid-template-columns:1fr}.music-card-favorite{position:absolute;right:13px;bottom:12px;background:rgba(8,7,10,.58)}.music-list article{grid-template-columns:22px 1fr 32px}.music-list em{display:none}.music-track-title img{width:40px;height:40px}.music-hero-tags span{font-size:8px}}
body[data-current-view="music"] .music-controls{display:none!important}
/* The global footer rule must not hide Doudoufy's playback controls. */
#musicPage .music-player{display:grid!important}

.music-playlist-cover[aria-pressed="true"]{outline:3px solid var(--music-gold);outline-offset:2px}.music-playlist-cover[aria-pressed="true"] .music-play-bubble{opacity:1;transform:none}

/* Personal collection shares the lounge palette and controls. */
#musicPage .music-personal{position:relative;overflow:hidden;padding:28px;border:1px solid rgba(255,212,137,.2);background:radial-gradient(ellipse at 100% 0,rgba(188,94,56,.17),transparent 60%),linear-gradient(135deg,#281c24f5,#17131df5);box-shadow:0 18px 48px #0003,inset 0 1px 0 #ffe4bb0d}
.music-personal-heading{display:flex;align-items:center;gap:22px;margin-bottom:20px}.music-personal-art{width:100px;height:100px;object-fit:cover;border-radius:22px;box-shadow:0 10px 24px #0005;border:1px solid #ffd48933}.music-personal-heading .music-section-head{margin:0}.music-personal-heading .music-section-head p{max-width:650px;font-size:12px;line-height:1.65}.music-personal-count{display:block;margin-top:12px;color:var(--music-gold);font-size:11px}.music-personal-count i{padding:0 10px;font-style:normal;color:var(--music-muted)}
#musicPage .music-import{position:relative;display:inline-flex;align-items:center;gap:9px;overflow:hidden;padding:12px 20px;border-radius:999px;background:linear-gradient(135deg,#ff6251,#ff5a91);box-shadow:0 8px 24px #ff5a9126;color:white;font-size:13px;font-weight:800;cursor:pointer}.music-import>span{font-size:20px;line-height:1}.music-import input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}.music-import:focus-within{outline:3px solid var(--music-gold);outline-offset:4px}.music-import:has(input:disabled){opacity:.5;cursor:wait}.music-personal-status{min-height:18px;font-size:12px!important;color:#e7c8b1!important;margin:12px 0 18px}
.music-personal details{border-top:1px solid #ffd48926;padding-top:5px}.music-personal summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;cursor:pointer;font-size:13px;font-weight:750;color:#fff1df}.music-personal summary::-webkit-details-marker{display:none}.music-personal-chevron{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#ffd48914;color:var(--music-gold)}.music-personal details[open] .music-personal-chevron{transform:rotate(45deg)}.music-personal form>label,.music-personal details>label{display:flex;gap:14px;align-items:center;margin:12px 0;font-size:12px;color:var(--music-muted)}
#musicPage .music-personal input[name=title],#musicPage .music-personal select{min-width:0;flex:1;max-width:520px;background:#17121c;color:#fff2e7;border:1px solid #ffd48933;border-radius:12px;padding:12px;font:inherit;outline-offset:3px}.music-personal-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;max-height:300px;overflow:auto;margin:18px 0;padding:12px;background:#0d0a1280;border:1px solid #ffffff0d;border-radius:16px;scrollbar-color:#a76b66 #1b151e}.music-personal-choices label{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:#ffffff04;font-size:12px;color:#e6d7cc}.music-personal-choices label:has(input:checked){background:#ff5a9114;color:#fff4e7}.music-personal-choices input{accent-color:var(--music-pink);width:16px;height:16px;flex:none}
#musicPage .music-personal button{border:0;border-radius:999px;padding:11px 17px;font-size:12px;font-weight:750;cursor:pointer}.music-personal button:disabled{opacity:.5;cursor:wait}.music-personal-storage{font-size:10px!important;line-height:1.6;color:#ad9990!important;margin:12px 0 0}
@media(max-width:650px){#musicPage .music-personal{padding:18px}.music-personal-heading{gap:14px;align-items:flex-start}.music-personal-art{width:68px;height:68px;border-radius:16px}.music-personal-heading h2{font-size:24px}.music-personal-count{line-height:1.8}.music-personal-choices{grid-template-columns:1fr}.music-personal form>label,.music-personal details>label{align-items:stretch;flex-direction:column;gap:6px}}

/* Dedicated player row: never cover the library or playlist editor. */
#musicPage .music-player{position:relative;bottom:auto;margin:18px 0 0;z-index:3}
