/* Music V2.7.4 — Xtrenew Skin Polish / Exact Lists & Pages
   Purpose: keep Music core while making public pages closer to Xtrenew/VibeWave. */
body.music-xtrenew-v274 {
  font-family: 'Inter', sans-serif !important;
  background:#0a0a0f !important;
  color:#e4e4e7 !important;
  height:100vh;
  overflow:hidden !important;
  font-size:15px;
}
body.music-xtrenew-v274 *{box-sizing:border-box;}
body.music-xtrenew-v274 a{color:inherit;text-decoration:none;}
body.music-xtrenew-v274 .app{display:flex;height:100vh;max-width:1600px;margin:0 auto;padding:20px 24px 0;gap:20px;overflow:hidden;background:transparent!important;}
body.music-xtrenew-v274 .sidebar{width:260px!important;flex-shrink:0;background:rgba(18,18,24,.7)!important;backdrop-filter:blur(16px);border-radius:24px!important;padding:24px 16px!important;display:flex!important;flex-direction:column!important;gap:32px!important;border:1px solid rgba(255,255,255,.05)!important;height:calc(100vh - 40px)!important;overflow-y:auto!important;box-shadow:none!important;}
body.music-xtrenew-v274 .logo-area-wordmark{display:flex;align-items:center;gap:12px;padding-left:8px;min-height:42px;}
body.music-xtrenew-v274 .logo-wordmark{display:inline-flex;align-items:baseline;gap:2px;letter-spacing:-.05em;font-weight:800;line-height:1;background:linear-gradient(120deg,#fff,#a78bfa);background-clip:text;-webkit-background-clip:text;color:transparent;}
body.music-xtrenew-v274 .logo-main{font-size:1.5rem;}
body.music-xtrenew-v274 .logo-sub{font-size:1.5rem;opacity:.95;}
body.music-xtrenew-v274 .logo-main-only,body.music-xtrenew-v274 .logo-compact{display:none;}
body.music-xtrenew-v274 .nav-menu{display:flex;flex-direction:column;gap:8px;}
body.music-xtrenew-v274 .nav-item{display:flex;align-items:center;padding:0;border-radius:14px;color:#a1a1aa;font-weight:500;font-size:.95rem;transition:.2s;cursor:pointer;background:transparent!important;border:0!important;}
body.music-xtrenew-v274 .nav-item-link{width:100%;display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;color:inherit;}
body.music-xtrenew-v274 .nav-item i{width:22px;font-size:1.1rem;color:inherit;text-align:center;}
body.music-xtrenew-v274 .nav-item.active{background:rgba(139,92,246,.15)!important;color:#c084fc!important;}
body.music-xtrenew-v274 .nav-item:hover:not(.active){background:rgba(255,255,255,.03)!important;color:#e4e4e7!important;}
body.music-xtrenew-v274 .playlist-section{margin-top:8px;}
body.music-xtrenew-v274 .playlist-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;margin:0 0 14px;font-size:.75rem;font-weight:500;color:#71717a;text-transform:uppercase;letter-spacing:.02em;}
body.music-xtrenew-v274 .sidebar-secondary-header{margin-top:24px;}
body.music-xtrenew-v274 .playlist-list{display:flex;flex-direction:column;gap:6px;}
body.music-xtrenew-v274 .playlist-item{display:flex;align-items:center;padding:0;border-radius:12px;cursor:pointer;transition:.2s;font-size:.9rem;color:#a1a1aa;background:transparent!important;border:0!important;}
body.music-xtrenew-v274 .playlist-item:hover,body.music-xtrenew-v274 .playlist-item.active{background:rgba(255,255,255,.03)!important;color:#e4e4e7!important;}
body.music-xtrenew-v274 .playlist-item-link,body.music-xtrenew-v274 .playlist-item-button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:inherit;background:transparent;border:0;font:inherit;text-align:left;cursor:pointer;}
body.music-xtrenew-v274 .playlist-item i{width:24px;color:#8b5cf6;text-align:center;}
body.music-xtrenew-v274 .main-content{flex:1;display:flex;flex-direction:column;overflow-y:auto!important;overflow-x:hidden!important;gap:0;padding-right:4px;background:transparent!important;}
body.music-xtrenew-v274 .sticky-header{position:sticky;top:0;z-index:50;background:#0a0a0f;padding-top:0;margin-bottom:24px;}
body.music-xtrenew-v274 .hero{background:linear-gradient(135deg,#1e1a2f,#0c0c12)!important;border-radius:24px!important;padding:20px 28px!important;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.05)!important;gap:22px;}
body.music-xtrenew-v274 .greeting h3{font-size:1.2rem;font-weight:500;margin:0 0 4px;}
body.music-xtrenew-v274 .greeting p{font-size:.75rem;color:#71717a;margin:0;}
body.music-xtrenew-v274 .hero-search{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:9px 12px;min-width:min(420px,45vw);}
body.music-xtrenew-v274 .hero-search input{background:transparent;border:0;outline:none;color:#e4e4e7;flex:1;min-width:120px;font:inherit;}
body.music-xtrenew-v274 .hero-search button{border:0;border-radius:999px;background:#8b5cf6;color:#fff;padding:8px 16px;font-weight:600;cursor:pointer;}
body.music-xtrenew-v274 .scrollable-content{flex:1;display:flex;flex-direction:column;gap:28px;padding-bottom:112px;}
body.music-xtrenew-v274 .right-panel{width:280px!important;flex-shrink:0;background:rgba(18,18,24,.5)!important;backdrop-filter:blur(16px);border-radius:24px!important;padding:18px 14px!important;display:flex!important;flex-direction:column!important;gap:20px!important;height:calc(100vh - 40px)!important;overflow-y:auto!important;border:1px solid rgba(255,255,255,.05)!important;box-shadow:none!important;}
body.music-xtrenew-v274 .new-header{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;padding-bottom:10px;border-bottom:1px solid rgba(139,92,246,.2);}
body.music-xtrenew-v274 .new-track-list,body.music-xtrenew-v274 .trending-list{display:flex;flex-direction:column;gap:8px;}
body.music-xtrenew-v274 .new-track-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;cursor:pointer;transition:.2s;color:inherit;text-decoration:none;}
body.music-xtrenew-v274 .new-track-item:hover{background:rgba(139,92,246,.1);}
body.music-xtrenew-v274 .new-rank{font-size:.7rem;color:#8b5cf6;width:24px;}
body.music-xtrenew-v274 .new-info h5{font-size:.75rem;font-weight:500;margin:0;}
body.music-xtrenew-v274 .new-info p{font-size:.55rem;color:#71717a;margin:2px 0 0;}
body.music-xtrenew-v274 .notification-box{background:rgba(139,92,246,.08)!important;border-radius:14px!important;padding:10px!important;border:0!important;}
/* Xtrenew exact content panels */
body.music-xtrenew-v274 .xtrenew-home-welcome,
body.music-xtrenew-v274 .xtrenew-entity-header,
body.music-xtrenew-v274 .xtrenew-page-hero-compact,
body.music-xtrenew-v274 .playlist-hero,
body.music-xtrenew-v274 .song-detail,
body.music-xtrenew-v274 .account-hero{background:linear-gradient(135deg,#1e1a2f,#0c0c12)!important;border:1px solid rgba(255,255,255,.05)!important;border-radius:24px!important;padding:28px!important;}
body.music-xtrenew-v274 .xtrenew-home-welcome{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:28px;align-items:center;}
body.music-xtrenew-v274 .xtrenew-entity-header{display:flex;gap:24px;align-items:flex-end;}
body.music-xtrenew-v274 .xtrenew-entity-cover{width:180px;height:180px;border-radius:20px;background:linear-gradient(145deg,#2a2a3a,#1a1a24);display:flex;align-items:center;justify-content:center;font-size:3rem;color:#8b5cf6;overflow:hidden;flex-shrink:0;box-shadow:0 20px 35px -12px rgba(0,0,0,.5);}
body.music-xtrenew-v274 .xtrenew-entity-cover img{width:100%;height:100%;object-fit:cover;display:block;}
body.music-xtrenew-v274 .artist-info h1,
body.music-xtrenew-v274 .category-info h1,
body.music-xtrenew-v274 .playlist-info h1,
body.music-xtrenew-v274 .home-welcome-copy h1{font-size:clamp(2rem,4vw,3.5rem);line-height:.98;margin:10px 0 16px;letter-spacing:-.06em;}
body.music-xtrenew-v274 .artist-info p,
body.music-xtrenew-v274 .category-info p,
body.music-xtrenew-v274 .playlist-info p,
body.music-xtrenew-v274 .home-welcome-copy p{color:#a1a1aa;line-height:1.65;max-width:720px;}
body.music-xtrenew-v274 .meta-info{display:flex;gap:14px;flex-wrap:wrap;color:#a1a1aa;font-size:.82rem;margin:12px 0;}
body.music-xtrenew-v274 .meta-info span{display:inline-flex;align-items:center;gap:8px;}
body.music-xtrenew-v274 .action-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;}
body.music-xtrenew-v274 .btn-play,body.music-xtrenew-v274 .hero-cta{background:#8b5cf6!important;color:#fff!important;border:0!important;border-radius:40px!important;padding:10px 22px!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;gap:8px!important;cursor:pointer!important;transition:.2s!important;}
body.music-xtrenew-v274 .btn-play:hover,body.music-xtrenew-v274 .hero-cta:hover{background:#a78bfa!important;transform:scale(1.02);}
body.music-xtrenew-v274 .btn-play.is-playing,body.music-xtrenew-v274 .hero-cta.is-playing{background:linear-gradient(135deg,#ec4899,#8b5cf6)!important;}
body.music-xtrenew-v274 .btn-secondary,body.music-xtrenew-v274 .glass-btn,body.music-xtrenew-v274 .button-link{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.08)!important;padding:10px 22px!important;border-radius:40px!important;color:#e4e4e7!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;gap:8px!important;cursor:pointer!important;transition:.2s!important;}
body.music-xtrenew-v274 .btn-secondary:hover,body.music-xtrenew-v274 .glass-btn:hover,body.music-xtrenew-v274 .button-link:hover{background:rgba(139,92,246,.18)!important;color:#fff!important;}
/* Song lists: force all song presentations into Xtrenew rows */
body.music-xtrenew-v274 .song-grid,body.music-xtrenew-v274 .pro-song-grid,body.music-xtrenew-v274 .featured-grid{display:flex!important;flex-direction:column!important;gap:4px!important;grid-template-columns:none!important;}
body.music-xtrenew-v274 .left-songs,body.music-xtrenew-v274 .right-playlists,body.music-xtrenew-v274 .album-section,body.music-xtrenew-v274 .xw-section-card,body.music-xtrenew-v274 .xw-info-card,body.music-xtrenew-v274 .ai-content-public-section,body.music-xtrenew-v274 .home-rhythm-card{background:rgba(18,18,24,.4)!important;border-radius:24px!important;padding:18px!important;border:1px solid rgba(255,255,255,.03)!important;box-shadow:none!important;}
body.music-xtrenew-v274 .song-tab-header,body.music-xtrenew-v274 .album-tab-header,body.music-xtrenew-v274 .playlist-tab-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
body.music-xtrenew-v274 .song-tab-btn,body.music-xtrenew-v274 .album-tab-btn,body.music-xtrenew-v274 .playlist-tab-btn{border:0;background:transparent;color:#a1a1aa;font-size:.9rem;font-weight:600;padding:8px 0;}
body.music-xtrenew-v274 .song-tab-btn.active,body.music-xtrenew-v274 .album-tab-btn.active,body.music-xtrenew-v274 .playlist-tab-btn.active{color:#e4e4e7;}
body.music-xtrenew-v274 .tab-count{color:#71717a;font-weight:500;margin-left:6px;}
body.music-xtrenew-v274 .song-list{display:flex;flex-direction:column;gap:4px;}
body.music-xtrenew-v274 .song-row{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:48px!important;padding:8px 12px!important;border-radius:12px!important;cursor:pointer!important;transition:.2s!important;background:transparent!important;border:0!important;box-shadow:none!important;width:100%!important;}
body.music-xtrenew-v274 .song-row:hover{background:rgba(139,92,246,.1)!important;transform:none!important;}
body.music-xtrenew-v274 .song-row.active-song{background:rgba(139,92,246,.15)!important;}
body.music-xtrenew-v274 .song-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0;}
body.music-xtrenew-v274 .song-number{width:28px;color:#8b5cf6;font-size:.75rem;font-weight:600;flex-shrink:0;}
body.music-xtrenew-v274 .xtrenew-row-thumb{width:38px!important;height:38px!important;min-width:38px!important;border-radius:10px!important;overflow:hidden!important;padding:0!important;background:rgba(255,255,255,.06)!important;border:0!important;position:relative!important;display:block!important;}
body.music-xtrenew-v274 .xtrenew-row-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:10px!important;}
body.music-xtrenew-v274 .xtrenew-row-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.38);opacity:0;transition:.2s;color:#fff;font-size:.72rem;}
body.music-xtrenew-v274 .song-row:hover .xtrenew-row-play{opacity:1;}
body.music-xtrenew-v274 .song-row .song-info{min-width:0;display:block;}
body.music-xtrenew-v274 .song-row .song-info h4{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;line-height:1.25;}
body.music-xtrenew-v274 .song-row .song-info p{font-size:.62rem;color:#71717a;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.music-xtrenew-v274 .song-title-link:hover{color:#c4b5fd;}
body.music-xtrenew-v274 .xtrenew-dot{color:#52525b;margin:0 5px;}
body.music-xtrenew-v274 .xtrenew-row-actions{display:flex!important;align-items:center!important;gap:6px!important;opacity:.64!important;transition:.2s!important;flex-shrink:0;}
body.music-xtrenew-v274 .song-row:hover .xtrenew-row-actions{opacity:1!important;}
body.music-xtrenew-v274 .xtrenew-icon-action{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.06)!important;background:rgba(255,255,255,.04)!important;color:#a1a1aa!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:.2s!important;font-size:.78rem!important;text-decoration:none!important;}
body.music-xtrenew-v274 .xtrenew-icon-action:hover,body.music-xtrenew-v274 .xtrenew-icon-action.primary{background:#8b5cf6!important;color:#fff!important;border-color:#8b5cf6!important;}
body.music-xtrenew-v274 .xtrenew-icon-action.favorite-btn{font-size:0!important;}
body.music-xtrenew-v274 .xtrenew-icon-action.favorite-btn::before{content:'♡';font-size:.95rem;line-height:1;}
body.music-xtrenew-v274 .xtrenew-icon-action.favorite-btn.is-active::before{content:'♥';}
body.music-xtrenew-v274 .xtrenew-icon-action.favorite-btn.is-active{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important;}
body.music-xtrenew-v274 .xtrenew-page-list-header{align-items:flex-start!important;margin-bottom:18px!important;}
body.music-xtrenew-v274 .xtrenew-page-list-header h1{font-size:1.65rem;line-height:1.1;margin:4px 0 6px;letter-spacing:-.04em;}
body.music-xtrenew-v274 .xtrenew-page-list-header p{color:#71717a;margin:0;font-size:.84rem;}
body.music-xtrenew-v274 .eyebrow{color:#8b5cf6!important;letter-spacing:2px!important;text-transform:uppercase!important;font-size:.68rem!important;font-weight:700!important;margin:0!important;}
body.music-xtrenew-v274 .no-data-card,body.music-xtrenew-v274 .empty-box{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:16px!important;padding:18px!important;color:#a1a1aa!important;}
/* Album and playlist cards */
body.music-xtrenew-v274 .album-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important;}
body.music-xtrenew-v274 .playlist-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
body.music-xtrenew-v274 .artist-album-card,body.music-xtrenew-v274 .album-card,body.music-xtrenew-v274 .playlist-card,body.music-xtrenew-v274 .xw-playlist-card{background:rgba(20,20,28,.5)!important;border-radius:16px!important;padding:12px!important;text-align:left!important;border:0!important;box-shadow:none!important;transition:.2s!important;}
body.music-xtrenew-v274 .artist-album-card:hover,body.music-xtrenew-v274 .album-card:hover,body.music-xtrenew-v274 .playlist-card:hover,body.music-xtrenew-v274 .xw-playlist-card:hover{background:rgba(30,30,38,.8)!important;transform:translateY(-2px)!important;}
body.music-xtrenew-v274 .artist-album-cover,body.music-xtrenew-v274 .album-cover,body.music-xtrenew-v274 .playlist-card__cover,body.music-xtrenew-v274 .playlist-cover{width:100%;aspect-ratio:1;border-radius:14px!important;overflow:hidden;background:linear-gradient(145deg,#2a2a3a,#1a1a24)!important;}
body.music-xtrenew-v274 .artist-album-cover img,body.music-xtrenew-v274 .album-cover img,body.music-xtrenew-v274 .playlist-card__cover img,body.music-xtrenew-v274 .playlist-cover img{width:100%;height:100%;object-fit:cover;display:block;}
/* Detail page extra cleanup */
body.music-xtrenew-v274 .xw-content-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:20px;}
body.music-xtrenew-v274 .meta-table{display:grid;gap:8px;}
body.music-xtrenew-v274 .meta-table>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);}
body.music-xtrenew-v274 .meta-table span{color:#71717a;}
/* Player polish */
body.music-xtrenew-v274 .player-bar{background:rgba(10,10,15,.98)!important;backdrop-filter:blur(20px)!important;border-top:1px solid rgba(139,92,246,.2)!important;padding:8px 24px!important;border-radius:0!important;}
@media (max-width:1180px){
  body.music-xtrenew-v274 .right-panel{display:none!important;}
  body.music-xtrenew-v274 .xtrenew-home-welcome{grid-template-columns:1fr!important;}
  body.music-xtrenew-v274 .album-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (max-width:760px){
  body.music-xtrenew-v274{height:auto!important;overflow:auto!important;}
  body.music-xtrenew-v274 .app{display:block;height:auto;padding:12px 12px 96px;overflow:visible;}
  body.music-xtrenew-v274 .sidebar{width:auto!important;height:auto!important;margin-bottom:12px;padding:14px!important;border-radius:20px!important;}
  body.music-xtrenew-v274 .logo-full{display:none!important;} body.music-xtrenew-v274 .logo-compact{display:inline!important;}
  body.music-xtrenew-v274 .nav-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
  body.music-xtrenew-v274 .nav-item-link{justify-content:center;padding:10px 8px;} body.music-xtrenew-v274 .nav-item span{display:none;} body.music-xtrenew-v274 .nav-item i{width:auto;font-size:1rem;}
  body.music-xtrenew-v274 .playlist-section{display:none;}
  body.music-xtrenew-v274 .main-content{height:auto;overflow:visible!important;} body.music-xtrenew-v274 .sticky-header{position:static;}
  body.music-xtrenew-v274 .hero{flex-direction:column;align-items:stretch;gap:12px;} body.music-xtrenew-v274 .hero-search{min-width:0;width:100%;}
  body.music-xtrenew-v274 .xtrenew-entity-header{display:block;} body.music-xtrenew-v274 .xtrenew-entity-cover{width:150px;height:150px;margin-bottom:18px;}
  body.music-xtrenew-v274 .album-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;} body.music-xtrenew-v274 .playlist-grid{grid-template-columns:1fr!important;}
  body.music-xtrenew-v274 .xw-content-grid{grid-template-columns:1fr;}
  body.music-xtrenew-v274 .xtrenew-row-actions{display:none!important;} body.music-xtrenew-v274 .song-row{padding:8px!important;}
}
/* Music V2.7.5 — Xtrenew Exactness Pass
   Adapter layer: keep Music PHP core while matching Xtrenew/VibeWave shell, menu, list rows and pages. */
body.music-xtrenew-v275 {
  --vw-bg:#0a0a0f;
  --vw-panel:rgba(18,18,24,.70);
  --vw-panel-soft:rgba(18,18,24,.46);
  --vw-line:rgba(255,255,255,.055);
  --vw-line-strong:rgba(255,255,255,.085);
  --vw-text:#e4e4e7;
  --vw-muted:#a1a1aa;
  --vw-dim:#71717a;
  --vw-purple:#8b5cf6;
  --vw-purple-2:#a78bfa;
  --vw-purple-soft:rgba(139,92,246,.15);
  background:#0a0a0f !important;
  color:var(--vw-text) !important;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  min-height:100vh;
  overflow:hidden !important;
}
body.music-xtrenew-v275 a { color:inherit; text-decoration:none; }
body.music-xtrenew-v275 .app {
  display:flex !important;
  height:100vh !important;
  max-width:1600px !important;
  margin:0 auto !important;
  padding:20px 24px 0 !important;
  gap:20px !important;
  overflow:hidden !important;
  background:transparent !important;
}
body.music-xtrenew-v275 .sidebar {
  width:260px !important;
  min-width:260px !important;
  height:calc(100vh - 40px) !important;
  flex:0 0 260px !important;
  background:var(--vw-panel) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
  border-radius:24px !important;
  border:1px solid var(--vw-line) !important;
  padding:24px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:32px !important;
  overflow-y:auto !important;
  box-shadow:none !important;
}
body.music-xtrenew-v275 .logo-area-wordmark {
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:0 0 0 8px !important;
  min-height:42px !important;
}
body.music-xtrenew-v275 .logo-wordmark {
  display:inline-flex !important;
  align-items:baseline !important;
  gap:2px !important;
  letter-spacing:-.055em !important;
  font-weight:800 !important;
  line-height:1 !important;
  background:linear-gradient(120deg,#fff,#a78bfa) !important;
  background-clip:text !important;
  -webkit-background-clip:text !important;
  color:transparent !important;
}
body.music-xtrenew-v275 .logo-main,
body.music-xtrenew-v275 .logo-sub { font-size:1.5rem !important; }
body.music-xtrenew-v275 .logo-main-only,
body.music-xtrenew-v275 .logo-compact { display:none !important; }
body.music-xtrenew-v275 .nav-menu {
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
}
body.music-xtrenew-v275 .nav-item {
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
  border-radius:14px !important;
  color:var(--vw-muted) !important;
  font-size:.95rem !important;
  font-weight:500 !important;
  transition:.2s ease !important;
  cursor:pointer !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body.music-xtrenew-v275 .nav-item-link {
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:12px 16px !important;
  min-height:0 !important;
  border-radius:14px !important;
  color:inherit !important;
  font:inherit !important;
  position:static !important;
  z-index:auto !important;
}
body.music-xtrenew-v275 .nav-item i {
  width:22px !important;
  font-size:1.1rem !important;
  line-height:1 !important;
  color:inherit !important;
  text-align:center !important;
}
body.music-xtrenew-v275 .nav-item.active,
body.music-xtrenew-v275 .nav-item:hover {
  background:rgba(139,92,246,.15) !important;
  color:#c084fc !important;
}
body.music-xtrenew-v275 .nav-item:not(.active):hover {
  background:rgba(255,255,255,.03) !important;
  color:#e4e4e7 !important;
}
body.music-xtrenew-v275 .playlist-section { margin-top:8px !important; }
body.music-xtrenew-v275 .playlist-header {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:0 12px !important;
  margin:0 0 14px !important;
  font-size:.75rem !important;
  line-height:1.1 !important;
  font-weight:500 !important;
  color:var(--vw-dim) !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
}
body.music-xtrenew-v275 .sidebar-secondary-header { margin-top:24px !important; }
body.music-xtrenew-v275 .playlist-list {
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}
body.music-xtrenew-v275 .playlist-item {
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
  border-radius:12px !important;
  cursor:pointer !important;
  transition:.2s ease !important;
  font-size:.9rem !important;
  color:var(--vw-muted) !important;
  background:transparent !important;
  border:0 !important;
}
body.music-xtrenew-v275 .playlist-item-link,
body.music-xtrenew-v275 .playlist-item-button {
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:10px 12px !important;
  min-height:0 !important;
  border-radius:12px !important;
  color:inherit !important;
  background:transparent !important;
  border:0 !important;
  font:inherit !important;
  text-align:left !important;
  cursor:pointer !important;
  position:static !important;
  z-index:auto !important;
}
body.music-xtrenew-v275 .playlist-item i { width:24px !important; color:#8b5cf6 !important; text-align:center !important; }
body.music-xtrenew-v275 .playlist-item:hover,
body.music-xtrenew-v275 .playlist-item.active { background:rgba(255,255,255,.03) !important; color:#e4e4e7 !important; }
/* Neutralize the ::before gradient overlay injected by vibewave-polish on homepage/memberpage */
body.music-xtrenew-v275 .nav-item::before,
body.music-xtrenew-v275 .nav-item::after,
body.music-xtrenew-v275 .playlist-item::before,
body.music-xtrenew-v275 .playlist-item::after {
  content: none !important;
  display: none !important;
}
body.music-xtrenew-v275 .main-content {
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  gap:0 !important;
  padding:0 4px 0 0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body.music-xtrenew-v275 .main-content::-webkit-scrollbar,
body.music-xtrenew-v275 .sidebar::-webkit-scrollbar,
body.music-xtrenew-v275 .right-panel::-webkit-scrollbar { width:6px; }
body.music-xtrenew-v275 .main-content::-webkit-scrollbar-thumb,
body.music-xtrenew-v275 .sidebar::-webkit-scrollbar-thumb,
body.music-xtrenew-v275 .right-panel::-webkit-scrollbar-thumb { background:rgba(255,255,255,.16); border-radius:999px; }
body.music-xtrenew-v275 .sticky-header {
  position:sticky !important;
  top:0 !important;
  z-index:50 !important;
  background:#0a0a0f !important;
  padding:0 0 24px !important;
  margin:0 !important;
}
body.music-xtrenew-v275 .hero {
  background:linear-gradient(135deg,#1e1a2f,#0c0c12) !important;
  border-radius:24px !important;
  padding:20px 28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  border:1px solid var(--vw-line) !important;
  gap:22px !important;
  box-shadow:none !important;
}
body.music-xtrenew-v275 .hero-category-nav { min-width:0 !important; flex:1 1 auto !important; overflow:hidden !important; }
body.music-xtrenew-v275 .hero-category-nav-list { display:flex !important; gap:10px !important; overflow-x:auto !important; padding:0 !important; }
body.music-xtrenew-v275 .hero-category-link {
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  padding:9px 13px !important; border-radius:999px !important; white-space:nowrap !important;
  color:var(--vw-muted) !important; background:rgba(255,255,255,.035) !important; border:1px solid rgba(255,255,255,.055) !important;
  font-size:.8rem !important; font-weight:600 !important;
}
body.music-xtrenew-v275 .hero-category-link:hover,
body.music-xtrenew-v275 .hero-category-link.is-active { color:#fff !important; background:rgba(139,92,246,.18) !important; border-color:rgba(139,92,246,.35) !important; }
body.music-xtrenew-v275 .hero-search {
  display:flex !important; align-items:center !important; gap:10px !important;
  background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.07) !important;
  border-radius:999px !important; padding:9px 12px !important; min-width:min(420px,45vw) !important;
}
body.music-xtrenew-v275 .hero-search form { display:flex !important; align-items:center !important; gap:10px !important; width:100% !important; }
body.music-xtrenew-v275 .hero-search input { background:transparent !important; border:0 !important; outline:none !important; color:#e4e4e7 !important; flex:1 !important; min-width:120px !important; font:inherit !important; }
body.music-xtrenew-v275 .hero-search button { border:0 !important; border-radius:999px !important; background:#8b5cf6 !important; color:#fff !important; padding:8px 16px !important; font-weight:600 !important; cursor:pointer !important; }
body.music-xtrenew-v275 .scrollable-content {
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:28px !important;
  padding:0 0 112px !important;
  overflow:visible !important;
}
body.music-xtrenew-v275 .right-panel {
  width:280px !important;
  min-width:280px !important;
  flex:0 0 280px !important;
  height:calc(100vh - 40px) !important;
  background:rgba(18,18,24,.5) !important;
  backdrop-filter:blur(16px) !important;
  border-radius:24px !important;
  padding:18px 14px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
  overflow-y:auto !important;
  border:1px solid var(--vw-line) !important;
  box-shadow:none !important;
}
body.music-xtrenew-v275 .vw-rightpanel-block { display:grid !important; gap:10px !important; }
body.music-xtrenew-v275 .new-header { display:flex !important; align-items:center !important; gap:8px !important; font-size:.85rem !important; font-weight:600 !important; padding-bottom:10px !important; border-bottom:1px solid rgba(139,92,246,.2) !important; }
body.music-xtrenew-v275 .new-track-list,
body.music-xtrenew-v275 .trending-list { display:flex !important; flex-direction:column !important; gap:8px !important; }
body.music-xtrenew-v275 .new-track-item { display:flex !important; align-items:center !important; gap:10px !important; padding:6px 8px !important; border-radius:12px !important; cursor:pointer !important; transition:.2s !important; color:inherit !important; text-decoration:none !important; }
body.music-xtrenew-v275 .new-track-item:hover { background:rgba(139,92,246,.1) !important; }
body.music-xtrenew-v275 .new-rank { font-size:.7rem !important; color:#8b5cf6 !important; width:24px !important; flex:0 0 24px !important; }
body.music-xtrenew-v275 .new-info { min-width:0 !important; }
body.music-xtrenew-v275 .new-info h5 { font-size:.75rem !important; font-weight:500 !important; margin:0 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; }
body.music-xtrenew-v275 .new-info p { font-size:.55rem !important; color:#71717a !important; margin:2px 0 0 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; }
body.music-xtrenew-v275 .notification-box { background:rgba(139,92,246,.08) !important; border-radius:14px !important; padding:10px !important; border:0 !important; }
/* exact section rhythm */
body.music-xtrenew-v275 .xtrenew-home-welcome,
body.music-xtrenew-v275 .xtrenew-entity-header,
body.music-xtrenew-v275 .xtrenew-page-hero-compact,
body.music-xtrenew-v275 .playlist-hero,
body.music-xtrenew-v275 .song-detail,
body.music-xtrenew-v275 .account-hero,
body.music-xtrenew-v275 .xw-detail-hero,
body.music-xtrenew-v275 .xw-entity-hero,
body.music-xtrenew-v275 .xw-account-hero {
  background:linear-gradient(135deg,#1e1a2f,#0c0c12) !important;
  border:1px solid var(--vw-line) !important;
  border-radius:24px !important;
  padding:28px !important;
  box-shadow:none !important;
}
body.music-xtrenew-v275 .xtrenew-home-welcome { display:grid !important; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr) !important; gap:28px !important; align-items:center !important; }
body.music-xtrenew-v275 .xtrenew-entity-header,
body.music-xtrenew-v275 .xw-entity-hero,
body.music-xtrenew-v275 .xw-detail-hero { display:flex !important; gap:24px !important; align-items:flex-end !important; }
body.music-xtrenew-v275 .xtrenew-entity-cover,
body.music-xtrenew-v275 .xw-entity-avatar,
body.music-xtrenew-v275 .xw-detail-cover { width:180px !important; height:180px !important; border-radius:20px !important; background:linear-gradient(145deg,#2a2a3a,#1a1a24) !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:3rem !important; color:#8b5cf6 !important; overflow:hidden !important; flex-shrink:0 !important; box-shadow:0 20px 35px -12px rgba(0,0,0,.5) !important; }
body.music-xtrenew-v275 .xtrenew-entity-cover img,
body.music-xtrenew-v275 .xw-entity-avatar img,
body.music-xtrenew-v275 .xw-detail-cover img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
body.music-xtrenew-v275 h1 { letter-spacing:-.055em; }
body.music-xtrenew-v275 .artist-info h1,
body.music-xtrenew-v275 .category-info h1,
body.music-xtrenew-v275 .playlist-info h1,
body.music-xtrenew-v275 .home-welcome-copy h1,
body.music-xtrenew-v275 .xw-entity-info h1,
body.music-xtrenew-v275 .xw-detail-info h1 { font-size:clamp(2rem,4vw,3.5rem) !important; line-height:.98 !important; margin:10px 0 16px !important; letter-spacing:-.06em !important; }
body.music-xtrenew-v275 .artist-info p,
body.music-xtrenew-v275 .category-info p,
body.music-xtrenew-v275 .playlist-info p,
body.music-xtrenew-v275 .home-welcome-copy p,
body.music-xtrenew-v275 .xw-entity-info p,
body.music-xtrenew-v275 .xw-detail-info p { color:#a1a1aa !important; line-height:1.65 !important; max-width:720px !important; }
body.music-xtrenew-v275 .eyebrow,
body.music-xtrenew-v275 .type-badge,
body.music-xtrenew-v275 .home-rhythm-kicker { color:#8b5cf6 !important; letter-spacing:2px !important; text-transform:uppercase !important; font-size:.68rem !important; font-weight:700 !important; margin:0 !important; }
body.music-xtrenew-v275 .meta-info,
body.music-xtrenew-v275 .xw-meta-pills { display:flex !important; gap:10px !important; flex-wrap:wrap !important; color:#a1a1aa !important; font-size:.82rem !important; margin:12px 0 !important; }
body.music-xtrenew-v275 .meta-info span,
body.music-xtrenew-v275 .xw-meta-pills span,
body.music-xtrenew-v275 .xw-meta-pills a { display:inline-flex !important; align-items:center !important; gap:8px !important; background:rgba(255,255,255,.055) !important; border:1px solid rgba(255,255,255,.06) !important; border-radius:999px !important; padding:7px 12px !important; color:#d4d4d8 !important; }
body.music-xtrenew-v275 .action-buttons,
body.music-xtrenew-v275 .page-actions,
body.music-xtrenew-v275 .big-actions,
body.music-xtrenew-v275 .pro-big-actions { display:flex !important; gap:10px !important; align-items:center !important; flex-wrap:wrap !important; margin-top:18px !important; }
body.music-xtrenew-v275 .btn-play,
body.music-xtrenew-v275 .hero-cta,
body.music-xtrenew-v275 .primary.hero-cta { background:#8b5cf6 !important; color:#fff !important; border:0 !important; border-radius:40px !important; padding:10px 22px !important; font-weight:600 !important; display:inline-flex !important; align-items:center !important; gap:8px !important; cursor:pointer !important; transition:.2s !important; }
body.music-xtrenew-v275 .btn-play:hover,
body.music-xtrenew-v275 .hero-cta:hover { background:#a78bfa !important; transform:scale(1.02) !important; }
body.music-xtrenew-v275 .btn-play.is-playing,body.music-xtrenew-v275 .hero-cta.is-playing { background:linear-gradient(135deg,#ec4899,#8b5cf6) !important; }
body.music-xtrenew-v275 .btn-secondary,
body.music-xtrenew-v275 .glass-btn,
body.music-xtrenew-v275 .button-link { background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.08) !important; padding:10px 22px !important; border-radius:40px !important; color:#e4e4e7 !important; font-weight:600 !important; display:inline-flex !important; align-items:center !important; gap:8px !important; cursor:pointer !important; transition:.2s !important; }
body.music-xtrenew-v275 .btn-secondary:hover,
body.music-xtrenew-v275 .glass-btn:hover,
body.music-xtrenew-v275 .button-link:hover { background:rgba(139,92,246,.18) !important; color:#fff !important; }
/* exact list rows */
body.music-xtrenew-v275 .left-songs,
body.music-xtrenew-v275 .right-playlists,
body.music-xtrenew-v275 .album-section,
body.music-xtrenew-v275 .xw-section-card,
body.music-xtrenew-v275 .xw-info-card,
body.music-xtrenew-v275 .ai-content-public-section,
body.music-xtrenew-v275 .home-rhythm-card,
body.music-xtrenew-v275 .vw-surface-card,
body.music-xtrenew-v275 .search-section { background:rgba(18,18,24,.4) !important; border-radius:24px !important; padding:18px !important; border:1px solid rgba(255,255,255,.03) !important; box-shadow:none !important; }
body.music-xtrenew-v275 .song-tab-header,
body.music-xtrenew-v275 .album-tab-header,
body.music-xtrenew-v275 .playlist-tab-header,
body.music-xtrenew-v275 .section-head,
body.music-xtrenew-v275 .xw-section-head { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; margin:0 0 14px !important; }
body.music-xtrenew-v275 .song-tab-btn,
body.music-xtrenew-v275 .album-tab-btn,
body.music-xtrenew-v275 .playlist-tab-btn { border:0 !important; background:transparent !important; color:#a1a1aa !important; font-size:.9rem !important; font-weight:600 !important; padding:8px 0 !important; }
body.music-xtrenew-v275 .song-tab-btn.active,
body.music-xtrenew-v275 .album-tab-btn.active,
body.music-xtrenew-v275 .playlist-tab-btn.active { color:#e4e4e7 !important; }
body.music-xtrenew-v275 .song-list,
body.music-xtrenew-v275 .search-song-list,
body.music-xtrenew-v275 .category-song-list,
body.music-xtrenew-v275 .song-list-custom,
body.music-xtrenew-v275 .member-song-list,
body.music-xtrenew-v275 .song-grid,
body.music-xtrenew-v275 .pro-song-grid,
body.music-xtrenew-v275 .featured-grid { display:flex !important; flex-direction:column !important; gap:4px !important; grid-template-columns:none !important; }
body.music-xtrenew-v275 .song-row,
body.music-xtrenew-v275 .search-song-row,
body.music-xtrenew-v275 .category-song-row,
body.music-xtrenew-v275 .song-row-custom,
body.music-xtrenew-v275 .member-song-row { display:flex !important; align-items:center !important; justify-content:space-between !important; min-height:48px !important; padding:8px 12px !important; border-radius:12px !important; cursor:pointer !important; transition:.2s !important; background:transparent !important; border:0 !important; box-shadow:none !important; width:100% !important; }
body.music-xtrenew-v275 .song-row:hover,
body.music-xtrenew-v275 .search-song-row:hover,
body.music-xtrenew-v275 .category-song-row:hover,
body.music-xtrenew-v275 .song-row-custom:hover,
body.music-xtrenew-v275 .member-song-row:hover { background:rgba(139,92,246,.1) !important; transform:none !important; }
body.music-xtrenew-v275 .song-row.active-song,
body.music-xtrenew-v275 .search-song-row.active-song,
body.music-xtrenew-v275 .category-song-row.active-song,
body.music-xtrenew-v275 .song-row-custom.active-song-highlight,
body.music-xtrenew-v275 .member-song-row.is-playing { background:rgba(139,92,246,.15) !important; }
body.music-xtrenew-v275 .song-left,
body.music-xtrenew-v275 .search-song-left,
body.music-xtrenew-v275 .category-song-main { display:flex !important; align-items:center !important; gap:12px !important; flex:1 1 auto !important; min-width:0 !important; }
body.music-xtrenew-v275 .song-number,
body.music-xtrenew-v275 .search-song-number { width:28px !important; min-width:28px !important; color:#8b5cf6 !important; font-size:.75rem !important; font-weight:600 !important; text-align:left !important; }
body.music-xtrenew-v275 .xtrenew-row-thumb,
body.music-xtrenew-v275 .search-song-cover,
body.music-xtrenew-v275 .category-song-thumb { width:38px !important; height:38px !important; min-width:38px !important; border-radius:10px !important; overflow:hidden !important; padding:0 !important; background:rgba(255,255,255,.06) !important; border:0 !important; position:relative !important; display:block !important; }
body.music-xtrenew-v275 .xtrenew-row-thumb img,
body.music-xtrenew-v275 .search-song-cover img,
body.music-xtrenew-v275 .category-song-thumb img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; border-radius:10px !important; }
body.music-xtrenew-v275 .xtrenew-row-play { position:absolute !important; inset:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; background:rgba(0,0,0,.38) !important; opacity:0 !important; transition:.2s !important; color:#fff !important; font-size:.72rem !important; }
body.music-xtrenew-v275 .song-row:hover .xtrenew-row-play { opacity:1 !important; }
body.music-xtrenew-v275 .song-info,
body.music-xtrenew-v275 .search-song-info,
body.music-xtrenew-v275 .category-song-meta { min-width:0 !important; display:block !important; flex:1 1 auto !important; }
body.music-xtrenew-v275 .song-info h4,
body.music-xtrenew-v275 .search-song-info h4,
body.music-xtrenew-v275 .member-song-row-title,
body.music-xtrenew-v275 .category-song-title-button { font-size:.8rem !important; font-weight:500 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; margin:0 !important; line-height:1.25 !important; color:#e4e4e7 !important; }
body.music-xtrenew-v275 .song-info p,
body.music-xtrenew-v275 .search-song-info p,
body.music-xtrenew-v275 .category-song-sub,
body.music-xtrenew-v275 .member-song-row-subtitle { font-size:.62rem !important; color:#71717a !important; margin:2px 0 0 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; }
body.music-xtrenew-v275 .song-title-link:hover,
body.music-xtrenew-v275 .search-song-title-link:hover,
body.music-xtrenew-v275 .category-song-title-button:hover { color:#c4b5fd !important; }
body.music-xtrenew-v275 .xtrenew-dot { color:#52525b !important; margin:0 5px !important; }
body.music-xtrenew-v275 .song-actions,
body.music-xtrenew-v275 .search-song-right,
body.music-xtrenew-v275 .category-song-extra,
body.music-xtrenew-v275 .member-song-row-actions { display:flex !important; align-items:center !important; justify-content:flex-end !important; gap:6px !important; opacity:.64 !important; transition:.2s !important; flex-shrink:0 !important; }
body.music-xtrenew-v275 .song-row:hover .song-actions { opacity:1 !important; }
body.music-xtrenew-v275 .search-song-duration,
body.music-xtrenew-v275 .category-song-duration,
body.music-xtrenew-v275 .xtrenew-duration-chip { color:#71717a !important; font-size:.7rem !important; min-width:44px !important; text-align:right !important; }
body.music-xtrenew-v275 .xtrenew-icon-action,
body.music-xtrenew-v275 .song-quick-tool,
body.music-xtrenew-v275 .category-song-open { width:30px !important; height:30px !important; min-width:30px !important; padding:0 !important; border-radius:999px !important; border:1px solid rgba(255,255,255,.06) !important; background:rgba(255,255,255,.04) !important; color:#a1a1aa !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; cursor:pointer !important; transition:.2s !important; font-size:.78rem !important; text-decoration:none !important; }
body.music-xtrenew-v275 .xtrenew-icon-action:hover,
body.music-xtrenew-v275 .xtrenew-icon-action.primary,
body.music-xtrenew-v275 .song-quick-tool:hover,
body.music-xtrenew-v275 .category-song-open:hover { background:#8b5cf6 !important; color:#fff !important; border-color:#8b5cf6 !important; }
body.music-xtrenew-v275 .xtrenew-icon-action.favorite-btn { font-size:0 !important; }
body.music-xtrenew-v275 .xtrenew-icon-action.favorite-btn::before { content:'♡'; font-size:.95rem !important; line-height:1 !important; }
body.music-xtrenew-v275 .xtrenew-icon-action.favorite-btn.is-active::before { content:'♥'; }
body.music-xtrenew-v275 .xtrenew-icon-action.favorite-btn.is-active { background:#ef4444 !important; border-color:#ef4444 !important; color:#fff !important; }
body.music-xtrenew-v275 .xtrenew-page-list-header { align-items:flex-start !important; margin-bottom:18px !important; }
body.music-xtrenew-v275 .xtrenew-page-list-header h1 { font-size:1.65rem !important; line-height:1.1 !important; margin:4px 0 6px !important; letter-spacing:-.04em !important; }
body.music-xtrenew-v275 .xtrenew-page-list-header p { color:#71717a !important; margin:0 !important; font-size:.84rem !important; }
body.music-xtrenew-v275 .no-data-card,
body.music-xtrenew-v275 .empty-box,
body.music-xtrenew-v275 .category-empty-state { background:rgba(255,255,255,.03) !important; border:1px solid rgba(255,255,255,.06) !important; border-radius:16px !important; padding:18px !important; color:#a1a1aa !important; }
body.music-xtrenew-v275 .album-grid { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:16px !important; }
body.music-xtrenew-v275 .playlist-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
body.music-xtrenew-v275 .artist-album-card,
body.music-xtrenew-v275 .album-card,
body.music-xtrenew-v275 .playlist-card,
body.music-xtrenew-v275 .xw-playlist-card { background:rgba(20,20,28,.5) !important; border-radius:16px !important; padding:12px !important; text-align:left !important; border:0 !important; box-shadow:none !important; transition:.2s !important; }
body.music-xtrenew-v275 .artist-album-card:hover,
body.music-xtrenew-v275 .album-card:hover,
body.music-xtrenew-v275 .playlist-card:hover,
body.music-xtrenew-v275 .xw-playlist-card:hover { background:rgba(30,30,38,.8) !important; transform:translateY(-2px) !important; }
body.music-xtrenew-v275 .artist-album-cover,
body.music-xtrenew-v275 .album-cover,
body.music-xtrenew-v275 .playlist-card__cover,
body.music-xtrenew-v275 .playlist-cover { width:100% !important; aspect-ratio:1 !important; border-radius:14px !important; overflow:hidden !important; background:linear-gradient(145deg,#2a2a3a,#1a1a24) !important; }
body.music-xtrenew-v275 .artist-album-cover img,
body.music-xtrenew-v275 .album-cover img,
body.music-xtrenew-v275 .playlist-card__cover img,
body.music-xtrenew-v275 .playlist-cover img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
body.music-xtrenew-v275 .xw-content-grid { display:grid !important; grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr) !important; gap:20px !important; }
body.music-xtrenew-v275 .meta-table { display:grid !important; gap:8px !important; }
body.music-xtrenew-v275 .meta-table>div { display:flex !important; justify-content:space-between !important; gap:14px !important; padding:10px 0 !important; border-bottom:1px solid rgba(255,255,255,.06) !important; }
body.music-xtrenew-v275 .meta-table span { color:#71717a !important; }
body.music-xtrenew-v275 .xt-global-player-shell { z-index:9999 !important; }
@media (max-width:1180px){
  body.music-xtrenew-v275 .right-panel{display:none!important;}
  body.music-xtrenew-v275 .xtrenew-home-welcome{grid-template-columns:1fr!important;}
  body.music-xtrenew-v275 .album-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (max-width:760px){
  body.music-xtrenew-v275{height:auto!important;overflow:auto!important;}
  body.music-xtrenew-v275 .app{display:block!important;height:auto!important;padding:12px 12px 96px!important;overflow:visible!important;}
  body.music-xtrenew-v275 .sidebar{width:auto!important;min-width:0!important;height:auto!important;margin-bottom:12px!important;padding:14px!important;border-radius:20px!important;}
  body.music-xtrenew-v275 .logo-full{display:none!important;} body.music-xtrenew-v275 .logo-compact{display:inline!important;}
  body.music-xtrenew-v275 .nav-menu{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;}
  body.music-xtrenew-v275 .nav-item-link{justify-content:center!important;padding:10px 8px!important;} body.music-xtrenew-v275 .nav-item span{display:none!important;} body.music-xtrenew-v275 .nav-item i{width:auto!important;font-size:1rem!important;}
  body.music-xtrenew-v275 .playlist-section{display:none!important;}
  body.music-xtrenew-v275 .main-content{height:auto!important;overflow:visible!important;} body.music-xtrenew-v275 .sticky-header{position:static!important;padding-bottom:12px!important;}
  body.music-xtrenew-v275 .hero{flex-direction:column!important;align-items:stretch!important;gap:12px!important;} body.music-xtrenew-v275 .hero-search{min-width:0!important;width:100%!important;}
  body.music-xtrenew-v275 .xtrenew-entity-header,
  body.music-xtrenew-v275 .xw-entity-hero,
  body.music-xtrenew-v275 .xw-detail-hero{display:block!important;} body.music-xtrenew-v275 .xtrenew-entity-cover,body.music-xtrenew-v275 .xw-entity-avatar,body.music-xtrenew-v275 .xw-detail-cover{width:150px!important;height:150px!important;margin-bottom:18px!important;}
  body.music-xtrenew-v275 .album-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;} body.music-xtrenew-v275 .playlist-grid{grid-template-columns:1fr!important;}
  body.music-xtrenew-v275 .xw-content-grid{grid-template-columns:1fr!important;}
  body.music-xtrenew-v275 .xtrenew-row-actions{display:none!important;} body.music-xtrenew-v275 .song-row{padding:8px!important;}
}
/* Music V2.7.7 — Xtrenew Auto Play Row + Visible YouTube Play Page */
.music-xtrenew-v275 .xtrenew-song-row {
    cursor: pointer;
    user-select: none;
}
.music-xtrenew-v275 .xtrenew-song-row:focus-visible {
    outline: 2px solid rgba(167, 139, 250, .95);
    outline-offset: 2px;
}
.music-xtrenew-v275 .xtrenew-title-play {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    padding: 0;
    margin: 0;
    text-align: left;
    cursor: pointer;
    max-width: 100%;
}
.music-xtrenew-v275 .xtrenew-title-play:hover {
    color: var(--xt-primary, #a78bfa);
}
.music-xtrenew-v275 .song-page-youtube-card {
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(20, 20, 32, .94), rgba(13, 13, 22, .96));
    box-shadow: 0 18px 60px rgba(0, 0, 0, .32);
    padding: 18px;
    margin: 18px 0;
    overflow: hidden;
}
.music-xtrenew-v275 .song-page-youtube-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.music-xtrenew-v275 .song-page-youtube-head p {
    margin: 0 0 3px;
    color: rgba(255,255,255,.46);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.music-xtrenew-v275 .song-page-youtube-head h3 {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.02em;
}
.music-xtrenew-v275 .song-page-youtube-head > span {
    color: rgba(255,255,255,.58);
    font-size: 13px;
    text-align: right;
}
.music-xtrenew-v275 .song-page-youtube-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 260px;
    border-radius: 18px;
    overflow: hidden;
    background: #05050a;
    border: 1px solid rgba(255,255,255,.08);
}
.music-xtrenew-v275 .song-page-youtube-stage iframe,
.music-xtrenew-v275 .song-page-youtube-stage .xt-youtube-player-host {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 18px;
    overflow: hidden;
}
.music-xtrenew-v275 .song-page-youtube-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    isolation: isolate;
    transition: opacity .18s ease, visibility .18s ease;
}
.music-xtrenew-v275 .song-page-youtube-placeholder img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(12px) brightness(.42) saturate(1.1);
    transform: scale(1.06);
    z-index: -2;
}
.music-xtrenew-v275 .song-page-youtube-placeholder::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle at 50% 20%, rgba(139,92,246,.32), transparent 44%), linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.76));
}
.music-xtrenew-v275 .song-page-youtube-placeholder-overlay {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 520px;
    padding: 24px;
    color: #fff;
    text-align: center;
}
.music-xtrenew-v275 .song-page-youtube-placeholder-overlay .fab {
    font-size: 56px;
    color: #ff0033;
    filter: drop-shadow(0 10px 24px rgba(255,0,51,.35));
}
.music-xtrenew-v275 .song-page-youtube-placeholder-overlay strong {
    font-size: clamp(20px, 3vw, 32px);
    line-height: 1.12;
    font-weight: 900;
    letter-spacing: -.035em;
}
.music-xtrenew-v275 .song-page-youtube-placeholder-overlay span {
    color: rgba(255,255,255,.72);
    font-size: 14px;
    line-height: 1.55;
}
.music-xtrenew-v275 .song-page-youtube-stage.is-connected .song-page-youtube-placeholder {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.music-xtrenew-v275 .xtrenew-current-toggle {
    min-width: 136px;
}
.music-xtrenew-v275 .xtrenew-current-toggle.is-playing {
    background: linear-gradient(135deg, #f97316, #ef4444) !important;
    color: #fff !important;
    box-shadow: 0 12px 36px rgba(239, 68, 68, .28);
}
@media (max-width: 760px) {
    .music-xtrenew-v275 .song-page-youtube-card { padding: 12px; border-radius: 18px; }
    .music-xtrenew-v275 .song-page-youtube-head { align-items: flex-start; flex-direction: column; gap: 8px; }
    .music-xtrenew-v275 .song-page-youtube-head > span { text-align: left; }
    .music-xtrenew-v275 .song-page-youtube-stage { min-height: 190px; border-radius: 14px; }
}
/* V2.7.8 — Xtrenew navigation autoplay polish */
.music-xtrenew-v278 .xtrenew-song-row[data-xt-row-nav-autoplay="1"] {
  cursor: pointer;
}
.music-xtrenew-v278 .xtrenew-song-row .xtrenew-title-play {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.music-xtrenew-v278 .xtrenew-song-row .xtrenew-title-play:hover,
.music-xtrenew-v278 .xtrenew-song-row .xtrenew-title-play:focus-visible {
  color: var(--xt-accent, #22d3ee);
  outline: none;
}
.music-xtrenew-v278 .xtrenew-song-row .xtrenew-row-thumb {
  text-decoration: none;
}
.music-xtrenew-v278 .xtrenew-song-row.is-playing .xtrenew-title-play,
.music-xtrenew-v278 .xtrenew-song-row.active-song .xtrenew-title-play {
  color: var(--xt-accent, #22d3ee);
}
/* V2.7.9 — Play page visible YouTube in cover column + autoplay/toggle fixes */
.music-xtrenew-v279 .song-page-header-card-v279 {
  display: grid;
  grid-template-columns: minmax(340px, 500px) minmax(0, 1fr);
  gap: 26px;
  align-items: stretch;
}
.music-xtrenew-v279 .song-page-header-card-v279 .song-page-video-cover {
  width: 100%;
  height: auto;
  min-height: 260px;
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  background: #090d19;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 55px rgba(0,0,0,.34);
}
.music-xtrenew-v279 .song-page-header-card-v279 .song-page-video-cover .song-page-youtube-placeholder,
.music-xtrenew-v279 .song-page-header-card-v279 .song-page-video-cover .xt-youtube-player-host,
.music-xtrenew-v279 .song-page-header-card-v279 .song-page-video-cover iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
}
.music-xtrenew-v279 .song-page-header-card-v279 .song-page-video-cover .song-page-youtube-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(1.05) brightness(.84);
}
.music-xtrenew-v279 .song-page-header-card-v279 .song-page-video-cover.is-connected .song-page-youtube-placeholder img {
  opacity: 0;
}
.music-xtrenew-v279 .song-page-video-play-btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 128px;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  padding: 14px 22px;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  background: linear-gradient(135deg, #8b5cf6, #ec4899);
  box-shadow: 0 16px 38px rgba(139,92,246,.38);
}
.music-xtrenew-v279 .song-page-video-cover.is-playing .song-page-video-play-btn,
.music-xtrenew-v279 .song-page-video-play-btn.is-playing {
  background: linear-gradient(135deg, #f59e0b, #ef4444);
}
.music-xtrenew-v279 .song-page-video-cover.is-connected .song-page-video-play-btn {
  opacity: .92;
}
.music-xtrenew-v279 .song-page-video-cover.is-connected .song-page-video-play-btn:not(:hover):not(:focus-visible) {
  opacity: 0;
}
.music-xtrenew-v279 .song-page-video-cover.is-connected:hover .song-page-video-play-btn,
.music-xtrenew-v279 .song-page-video-cover.is-connected:focus-within .song-page-video-play-btn {
  opacity: .96;
}
.music-xtrenew-v279 .song-page-header-card-v279 .song-page-info {
  min-width: 0;
  align-self: center;
}
.music-xtrenew-v279 .song-page-header-card-v279 .song-page-title {
  line-height: 1.06;
}
.music-xtrenew-v279 .song-page-youtube-card {
  display: none !important;
}
.music-xtrenew-v279 .xtrenew-song-row[data-xt-row-nav-autoplay="1"],
.music-xtrenew-v279 .xtrenew-song-row[data-xt-row-nav-autoplay="1"] .song-info,
.music-xtrenew-v279 .xtrenew-song-row[data-xt-row-nav-autoplay="1"] .song-left {
  cursor: pointer;
}
.music-xtrenew-v279 .xtrenew-song-row.is-playing .xtrenew-row-play i::before,
.music-xtrenew-v279 .xtrenew-song-row.active-song .xtrenew-row-play i::before {
  content: "\f04c";
}
@media (max-width: 1100px) {
  .music-xtrenew-v279 .song-page-header-card-v279 {
    grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  }
}
@media (max-width: 820px) {
  .music-xtrenew-v279 .song-page-header-card-v279 {
    grid-template-columns: 1fr;
  }
  .music-xtrenew-v279 .song-page-header-card-v279 .song-page-video-cover {
    min-height: 210px;
  }
}
/* V2.7.12 — keep YouTube iframe alive in a persistent overlay to avoid PJAX audio glitches */
#xt-youtube-overlay-layer {
  position: fixed;
  inset: 0;
  z-index: 35;
  pointer-events: none;
  contain: layout style;
}
#xt-youtube-player-host {
  background: #000;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(0,0,0,.34);
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
}
[data-xt-youtube-stage] {
  position: relative;
  overflow: hidden;
}
[data-xt-youtube-stage].is-connected .xt-play-page-youtube-placeholder,
[data-xt-youtube-stage].is-connected .song-page-cover-placeholder,
[data-xt-youtube-stage].is-connected [data-xt-youtube-placeholder] {
  opacity: 0;
  pointer-events: none;
}
body[data-xt-nav-busy="1"] #xt-youtube-player-host {
  transition: none !important;
}
/* V2.7.13 — zero-reflow persistent YouTube player.
   The actual iframe must never be display:none, visibility:hidden, resized to 1px,
   moved offscreen during PJAX, or have width/height attributes rewritten while audio is playing. */
#xt-youtube-overlay-layer {
  position: fixed;
  inset: 0;
  z-index: 35;
  pointer-events: none;
  contain: layout style;
}
#xt-youtube-player-host {
  background: #000;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(0,0,0,.34);
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
  will-change: opacity, transform;
}
#xt-youtube-player-host.is-audio-only {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: visible !important;
}
body[data-xt-nav-busy="1"] #xt-youtube-player-host {
  transition: none !important;
}
[data-xt-youtube-stage] {
  position: relative;
  overflow: hidden;
}
[data-xt-youtube-stage].is-connected .xt-play-page-youtube-placeholder,
[data-xt-youtube-stage].is-connected .song-page-cover-placeholder,
[data-xt-youtube-stage].is-connected [data-xt-youtube-placeholder] {
  opacity: 0;
  pointer-events: none;
}


/* V2.7.14 — YouTube iframe is pinned inside the persistent Player bar.
   Do not move/resize the iframe to page content during PJAX navigation. */
.xt-gp-youtube-slot {
  width: 96px;
  height: 54px;
  flex: 0 0 96px;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 10px 22px rgba(0,0,0,.24);
  position: relative;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
  contain: paint;
}
.xt-gp-youtube-slot[hidden] {
  display: none !important;
}
.xt-gp-youtube-slot.is-active {
  display: block;
}
#xt-youtube-player-host.xt-youtube-player-host--bar {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: auto !important;
  pointer-events: none !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  transition: none !important;
  background: #000;
  transform: translate3d(0,0,0);
}
#xt-youtube-player-host.xt-youtube-player-host--bar iframe,
#xt-youtube-player-host.xt-youtube-player-host--bar object,
#xt-youtube-player-host.xt-youtube-player-host--bar embed {
  width: 100% !important;
  height: 100% !important;
  display: block;
  border: 0;
  pointer-events: none !important;
}
.xt-global-player-shell.is-youtube-mode .xt-gp-cover-link.is-youtube-hidden {
  display: none !important;
}
.xt-global-player-shell.is-youtube-mode .xt-gp-left {
  grid-template-columns: auto minmax(0, 1fr);
}
[data-xt-youtube-stage].is-playing .song-page-video-play-btn i,
[data-xt-youtube-stage].is-playing [data-xt-current-toggle] i {
  transform: scale(.96);
}
@media (max-width: 820px) {
  .xt-gp-youtube-slot {
    width: 72px;
    height: 42px;
    flex-basis: 72px;
    border-radius: 10px;
  }
  #xt-youtube-player-host.xt-youtube-player-host--bar {
    border-radius: 10px !important;
  }
}
@media (max-width: 560px) {
  .xt-gp-youtube-slot {
    width: 60px;
    height: 36px;
    flex-basis: 60px;
  }
}
/* V2.9.7 — True App Shell Persistent Player / Scroll-Reset Exact Anchor
   One YouTube iframe, one body-level fixed portal, zero re-parenting.
   Page Play only provides a placeholder. The portal is allowed to use Play
   anchor coordinates only while body.xt-route-play is present. Stale page
   classes such as vibewave-songpage must never keep the iframe in Play mode. */

#xt-global-player-shell .xt-gp-youtube-slot {
  display: none !important;
}

#xt-player-portal.xt-player-portal {
  position: fixed !important;
  z-index: 9000 !important;
  left: 24px !important;
  right: auto !important;
  top: auto !important;
  bottom: 92px !important;
  width: 320px !important;
  height: 200px !important;
  min-width: 220px !important;
  min-height: 200px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #000 !important;
  box-shadow: 0 22px 68px rgba(0, 0, 0, .42) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  translate: none !important;
  contain: none !important;
  isolation: auto !important;
  backface-visibility: visible !important;
  will-change: auto !important;
  transition: none !important;
  animation: none !important;
}

#xt-player-portal.xt-player-portal.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Play page: the same fixed portal is visually pinned to the real
   placeholder's exact viewport slot. Values are frozen by JS once per Play
   route, never updated on scroll, so the iframe does not chase the scrollbar. */
body.xt-route-play #xt-player-portal.xt-player-portal {
  top: var(--xt-play-portal-top, 80px) !important;
  left: var(--xt-play-portal-left, clamp(16px, 34vw, 490px)) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--xt-play-portal-width, 320px) !important;
  height: var(--xt-play-portal-height, 200px) !important;
}

/* V2.9.7: never show the Play-route portal at fallback/stale coordinates.
   The portal becomes visible again only after JS has measured the real Play
   placeholder and added body.xt-play-anchor-ready. */
body.xt-route-play:not(.xt-play-anchor-ready) #xt-player-portal.xt-player-portal.is-active {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Scroll-sync: once the anchor is locked, recalculate top on every scroll frame
   so the portal follows .main-content. Uses top: calc() — NOT transform — to
   avoid the Chromium compositor conflict that makes cross-origin iframes invisible
   when their container has will-change:transform or transform applied. */
body.xt-route-play.xt-play-anchor-ready #xt-player-portal.xt-player-portal {
  top: calc(var(--xt-play-portal-top, 80px) - var(--xt-play-scroll-top, 0px)) !important;
}


body.xt-route-mini-player #xt-player-portal.xt-player-portal,
body:not(.xt-route-play) #xt-player-portal.xt-player-portal {
  top: auto !important;
  left: 24px !important;
  right: auto !important;
  bottom: 92px !important;
  width: 320px !important;
  height: 200px !important;
}

#xt-player-portal .xt-persistent-youtube-stage,
#xt-player-portal .xt-persistent-youtube-stage__frame,
#xt-player-portal #xt-youtube-player-host,
#xt-player-portal #xt-youtube-player-host iframe,
#xt-player-portal #xt-youtube-player-host object,
#xt-player-portal #xt-youtube-player-host embed {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  display: block !important;
  background: #000 !important;
  transform: none !important;
  translate: none !important;
  contain: none !important;
  will-change: auto !important;
  transition: none !important;
  animation: none !important;
}

#xt-player-portal .xt-persistent-youtube-stage {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#xt-player-portal .xt-persistent-youtube-stage.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#xt-youtube-player-host.xt-youtube-player-host--shell {
  overflow: hidden !important;
  box-shadow: none !important;
}

/* Resume overlay shown only when browser blocks playback. */
.xt-persistent-youtube-stage__resume,
.xt-gp-resume-btn {
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  letter-spacing: .01em;
  color: #fff;
  background: linear-gradient(135deg, #8b5cf6, #ec4899);
  box-shadow: 0 14px 28px rgba(139, 92, 246, .28);
}

.xt-persistent-youtube-stage__resume[hidden],
.xt-gp-resume-btn[hidden] {
  display: none !important;
}

.xt-persistent-youtube-stage__resume {
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.xt-persistent-youtube-stage.needs-user-resume::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(0, 0, 0, .48);
  backdrop-filter: blur(2px);
}

.xt-gp-resume-btn {
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  font-size: 12px;
  white-space: nowrap;
}

.xt-gp-resume-btn:not([hidden]) {
  display: inline-flex;
}

/* Page Play placeholder: layout only. The real iframe is never inserted here. */
.music-xtrenew-v280 .song-page-header-card-v279 {
  grid-template-columns: 320px minmax(0, 1fr);
  align-items: start;
}

.music-xtrenew-v280 .song-page-header-card-v279 .song-page-info {
  grid-column: 2;
  grid-row: 1;
}

.music-xtrenew-v280 .song-page-header-card-v279 .song-page-video-cover[data-xt-youtube-stage],
body.xt-route-play [data-xt-youtube-stage],
body.vibewave-songpage [data-xt-youtube-stage] {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  width: 320px !important;
  height: 200px !important;
  min-width: 320px !important;
  min-height: 200px !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  flex: 0 0 320px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

[data-xt-youtube-stage].is-connected .song-page-youtube-placeholder,
body.xt-route-play [data-xt-youtube-stage].is-connected .song-page-youtube-placeholder,
body.vibewave-songpage [data-xt-youtube-stage].is-connected .song-page-youtube-placeholder {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.xt-route-play [data-xt-youtube-stage] > .xt-persistent-youtube-stage,
body.vibewave-songpage [data-xt-youtube-stage] > .xt-persistent-youtube-stage {
  display: none !important;
}

/* Legacy safety: even if an old class appears, never hide/move the fixed portal. */
body.xt-youtube-mounted-page #xt-player-portal.xt-player-portal,
#xt-player-portal.xt-player-portal.is-mounted-in-page {
  position: fixed !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* ── Fullscreen button: absolute overlay inside the portal, bottom-right ── */
.xt-portal-fullscreen-btn {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 5;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  color: #fff;
  background: rgba(0, 0, 0, .52);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 1px 6px rgba(0, 0, 0, .3);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s, background .15s;
}

/* Show when the stage (and therefore the video) is active */
.xt-persistent-youtube-stage.is-active .xt-portal-fullscreen-btn {
  opacity: 1;
  pointer-events: auto;
}

.xt-portal-fullscreen-btn:hover,
.xt-portal-fullscreen-btn:focus-visible {
  background: rgba(139, 92, 246, .8);
  outline: none;
}
/* ── End fullscreen button ── */

@media (max-width: 1180px) {
  body.xt-route-play #xt-player-portal.xt-player-portal {
    top: var(--xt-play-portal-top, 72px) !important;
    left: var(--xt-play-portal-left, 24px) !important;
    width: var(--xt-play-portal-width, 260px) !important;
    height: var(--xt-play-portal-height, 200px) !important;
  }

  body.xt-route-mini-player #xt-player-portal.xt-player-portal,
  body:not(.xt-route-play) #xt-player-portal.xt-player-portal {
    left: 14px !important;
    bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
    width: 260px !important;
    height: 200px !important;
  }

  .music-xtrenew-v280 .song-page-header-card-v279 {
    grid-template-columns: 260px minmax(0, 1fr);
  }

  .music-xtrenew-v280 .song-page-header-card-v279 .song-page-video-cover[data-xt-youtube-stage],
  body.xt-route-play [data-xt-youtube-stage],
  body.vibewave-songpage [data-xt-youtube-stage] {
    width: 260px !important;
    min-width: 260px !important;
    height: 200px !important;
    min-height: 200px !important;
    flex-basis: 260px !important;
  }
}

/* Mobile: sidebar becomes top nav, portal reverts to bottom-left */
@media (max-width: 760px) {
  body.xt-route-mini-player #xt-player-portal.xt-player-portal,
  body:not(.xt-route-play) #xt-player-portal.xt-player-portal {
    left: 10px !important;
    width: 200px !important;
    height: 130px !important;
    bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 820px) {
  .music-xtrenew-v280 .song-page-header-card-v279 {
    grid-template-columns: 1fr;
  }

  .music-xtrenew-v280 .song-page-header-card-v279 .song-page-info,
  .music-xtrenew-v280 .song-page-header-card-v279 .song-page-video-cover[data-xt-youtube-stage] {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 560px) {
  body.xt-route-play #xt-player-portal.xt-player-portal {
    top: var(--xt-play-portal-top, 72px) !important;
    left: var(--xt-play-portal-left, 10px) !important;
    width: var(--xt-play-portal-width, calc(100vw - 20px)) !important;
    max-width: 320px !important;
    height: var(--xt-play-portal-height, 200px) !important;
  }

  body.xt-route-mini-player #xt-player-portal.xt-player-portal,
  body:not(.xt-route-play) #xt-player-portal.xt-player-portal {
    left: 10px !important;
    bottom: 92px !important;
    width: calc(100vw - 20px) !important;
    max-width: 320px !important;
    height: 200px !important;
  }

  .music-xtrenew-v280 .song-page-header-card-v279 .song-page-video-cover[data-xt-youtube-stage],
  body.xt-route-play [data-xt-youtube-stage],
  body.vibewave-songpage [data-xt-youtube-stage] {
    width: min(320px, calc(100vw - 20px)) !important;
    min-width: 220px !important;
    height: 200px !important;
    min-height: 200px !important;
    flex-basis: auto !important;
  }
}
/* =============================================================
   V2.8.1 — UI Consistency & Visual Polish
   Mục tiêu: đồng bộ layout, spacing, typography và responsive
   trên toàn bộ trang. KHÔNG thay đổi logic player/PJAX.
   ============================================================= */

/* ── 1. GLOBAL BASE ─────────────────────────────────────────── */

body.music-xtrenew-v280 {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Thin, elegant scrollbar cho main-content và sidebar */
body.music-xtrenew-v280 .main-content::-webkit-scrollbar,
body.music-xtrenew-v280 .sidebar::-webkit-scrollbar,
body.music-xtrenew-v280 .right-panel::-webkit-scrollbar {
  width: 4px;
}
body.music-xtrenew-v280 .main-content::-webkit-scrollbar-track,
body.music-xtrenew-v280 .sidebar::-webkit-scrollbar-track,
body.music-xtrenew-v280 .right-panel::-webkit-scrollbar-track {
  background: transparent;
}
body.music-xtrenew-v280 .main-content::-webkit-scrollbar-thumb,
body.music-xtrenew-v280 .sidebar::-webkit-scrollbar-thumb,
body.music-xtrenew-v280 .right-panel::-webkit-scrollbar-thumb {
  background: rgba(139, 92, 246, 0.28);
  border-radius: 999px;
}

/* Ảnh luôn hiển thị đúng tỷ lệ */
body.music-xtrenew-v280 img {
  display: block;
  max-width: 100%;
}

/* ── 2. STICKY HEADER / HERO ────────────────────────────────── */

/* Đường phân cách mờ bên dưới sticky header */
body.music-xtrenew-v280 .sticky-header {
  padding-bottom: 20px !important;
}
body.music-xtrenew-v280 .sticky-header::after {
  content: '';
  display: block;
  height: 1px;
  margin-top: 6px;
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.18), transparent);
}

/* Category nav: hide scrollbar, smooth scroll */
body.music-xtrenew-v280 .hero-category-nav-list {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  scroll-behavior: smooth;
  padding-bottom: 2px !important;
}
body.music-xtrenew-v280 .hero-category-nav-list::-webkit-scrollbar {
  display: none !important;
}

/* Icon màu accent trong category links */
body.music-xtrenew-v280 .hero-category-link i {
  color: rgba(139, 92, 246, 0.7);
  font-size: 0.7rem !important;
  transition: color 0.15s;
}
body.music-xtrenew-v280 .hero-category-link:hover i,
body.music-xtrenew-v280 .hero-category-link.is-active i {
  color: #a78bfa;
}

/* Search input placeholder */
body.music-xtrenew-v280 .hero-search input::placeholder {
  color: #52525b;
}
body.music-xtrenew-v280 .hero-search i {
  color: #71717a;
  font-size: 0.85rem;
}
body.music-xtrenew-v280 .hero-search button:hover {
  background: #a78bfa !important;
}

/* ── 3. TRANG CHỦ — WELCOME HERO ────────────────────────────── */

/* Welcome card: refine typography */
body.music-xtrenew-v280 .home-welcome-copy h1 {
  background: linear-gradient(135deg, #fff 30%, #c4b5fd 70%, #818cf8);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent !important;
  line-height: 1.02 !important;
}

body.music-xtrenew-v280 .home-welcome-copy p {
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
  color: #94a3b8 !important;
  margin-top: 10px !important;
}

/* Hero track card bên phải */
body.music-xtrenew-v280 .xtrenew-hero-track {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 20px;
  padding: 16px;
}

body.music-xtrenew-v280 .song-cover-large {
  position: relative;
  width: 110px;
  height: 110px;
  min-width: 110px;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(145deg, #2a2a3a, #1a1a24);
  flex-shrink: 0;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
}
body.music-xtrenew-v280 .song-cover-large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.music-xtrenew-v280 .play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.42);
  opacity: 0;
  transition: opacity 0.18s;
}
body.music-xtrenew-v280 .song-cover-large:hover .play-overlay {
  opacity: 1;
}

body.music-xtrenew-v280 .xtrenew-hero-track .song-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  flex: 1;
}
body.music-xtrenew-v280 .xtrenew-hero-track .song-info h2 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
body.music-xtrenew-v280 .xtrenew-hero-track .song-info h2 a:hover {
  color: #c4b5fd;
}
body.music-xtrenew-v280 .xtrenew-hero-track .meta-info {
  margin: 0 !important;
  font-size: 0.72rem !important;
}
body.music-xtrenew-v280 .xtrenew-hero-track .action-buttons {
  margin-top: 6px !important;
  gap: 8px !important;
}
body.music-xtrenew-v280 .xtrenew-hero-track .btn-play {
  padding: 7px 14px !important;
  font-size: 0.8rem !important;
}
body.music-xtrenew-v280 .xtrenew-hero-track .btn-secondary {
  padding: 7px 14px !important;
  font-size: 0.8rem !important;
}

/* Type badge */
body.music-xtrenew-v280 .type-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a78bfa;
  background: rgba(139, 92, 246, 0.12);
  border: 1px solid rgba(139, 92, 246, 0.22);
}

/* ── 4. TRANG CHỦ — SECTIONS LAYOUT ────────────────────────── */

/* bottom-double: 2-column grid */
body.music-xtrenew-v280 .bottom-double {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr) !important;
  gap: 20px !important;
  align-items: start !important;
}

/* Section cards */
body.music-xtrenew-v280 .home-section,
body.music-xtrenew-v280 .left-songs,
body.music-xtrenew-v280 .right-playlists,
body.music-xtrenew-v280 .album-section,
body.music-xtrenew-v280 .home-rhythm-card,
body.music-xtrenew-v280 .xtrenew-full-list {
  border-radius: 20px !important;
  padding: 18px 16px !important;
}

/* ── HOME TAB SYSTEM ──────────────────────────────────────────── */

/* Tab nav bar */
body.music-xtrenew-v280 .home-tab-nav {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
  padding-bottom: 12px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055) !important;
}

/* Tab buttons — pill style */
body.music-xtrenew-v280 .home-tab-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 14px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #71717a !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s !important;
  white-space: nowrap !important;
  font-family: inherit !important;
  line-height: 1.2 !important;
}
body.music-xtrenew-v280 .home-tab-btn:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #e4e4e7 !important;
}
body.music-xtrenew-v280 .home-tab-btn.is-active {
  background: rgba(139, 92, 246, 0.16) !important;
  border-color: rgba(139, 92, 246, 0.28) !important;
  color: #c4b5fd !important;
}

/* "Tất cả" link in nav */
body.music-xtrenew-v280 .home-tab-see-all {
  margin-left: auto !important;
  font-size: 0.75rem !important;
  color: #71717a !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  transition: color 0.15s !important;
}
body.music-xtrenew-v280 .home-tab-see-all:hover {
  color: #a78bfa !important;
}

/* Tab count chip */
body.music-xtrenew-v280 .home-tab-btn .tab-count {
  font-size: 0.62rem !important;
  font-weight: 500 !important;
  color: inherit !important;
  opacity: 0.65;
}

/* Tab panels: hide inactive */
body.music-xtrenew-v280 .home-tab-panel {
  display: none !important;
}
body.music-xtrenew-v280 .home-tab-panel.is-active {
  display: block !important;
}

/* Legacy tab-count outside home-tab-btn */
body.music-xtrenew-v280 .tab-count {
  font-size: 0.68rem !important;
  color: #52525b !important;
  font-weight: 500 !important;
}

/* Pagination info inside tab header */
.tab-pagi-info {
  font-size: .75rem;
  color: #71717a;
  font-weight: 500;
  margin-left: auto;
  white-space: nowrap;
}

/* ── BUTTONS GLOBAL ──────────────────────────────────────────── */

/* btn-play */
body.music-xtrenew-v280 .btn-play {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #8b5cf6, #7c3aed) !important;
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: opacity 0.18s, transform 0.18s !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
body.music-xtrenew-v280 .btn-play:hover {
  opacity: 0.88 !important;
  transform: translateY(-1px) !important;
}
body.music-xtrenew-v280 .btn-play[data-queue-many-toggle].is-playing {
  background: linear-gradient(135deg, #ec4899, #8b5cf6) !important;
  box-shadow: 0 0 0 2px rgba(236, 72, 153, 0.5) !important;
}

/* btn-secondary */
body.music-xtrenew-v280 .btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: #e4e4e7 !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.18s, border-color 0.18s, transform 0.18s !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
body.music-xtrenew-v280 .btn-secondary:hover {
  background: rgba(139, 92, 246, 0.18) !important;
  border-color: rgba(139, 92, 246, 0.3) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* ── 5. ALBUM GRID & CARDS ──────────────────────────────────── */

body.music-xtrenew-v280 .album-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

/* Album & playlist card text */
body.music-xtrenew-v280 .album-card h4,
body.music-xtrenew-v280 .xtrenew-album-card h4,
body.music-xtrenew-v280 .xw-playlist-card h4,
body.music-xtrenew-v280 .playlist-card h4,
body.music-xtrenew-v280 .artist-album-card h4 {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  margin: 8px 0 4px !important;
  color: #e4e4e7 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
body.music-xtrenew-v280 .album-card p,
body.music-xtrenew-v280 .xtrenew-album-card p,
body.music-xtrenew-v280 .xw-playlist-card p,
body.music-xtrenew-v280 .playlist-card p {
  font-size: 0.72rem !important;
  color: #71717a !important;
  margin: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Playlist card inner layout */
body.music-xtrenew-v280 .xw-playlist-card {
  display: block !important;
  text-decoration: none !important;
}
body.music-xtrenew-v280 .xw-playlist-card__cover {
  width: 100% !important;
  aspect-ratio: 1 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, #2a2a3a, #1a1a24) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #8b5cf6 !important;
  font-size: 1.6rem !important;
  margin-bottom: 8px !important;
}
body.music-xtrenew-v280 .xw-playlist-card__cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
body.music-xtrenew-v280 .xw-playlist-card__body strong {
  display: block !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #e4e4e7 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin-bottom: 3px !important;
}
body.music-xtrenew-v280 .xw-playlist-card__body small {
  display: block !important;
  font-size: 0.68rem !important;
  color: #71717a !important;
}

/* Cover fallback icon */
body.music-xtrenew-v280 .cover-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  background: linear-gradient(145deg, #1e1e2a, #131320);
  color: #8b5cf6;
  font-size: 1.8rem;
  border-radius: inherit;
}

/* Playlist grid: 2 columns */
body.music-xtrenew-v280 .playlist-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

/* ── 6. SONG ROWS ───────────────────────────────────────────── */

/* Slightly larger thumbnail */
body.music-xtrenew-v280 .xtrenew-row-thumb,
body.music-xtrenew-v280 .search-song-cover,
body.music-xtrenew-v280 .category-song-thumb {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
}

/* Active song: accent left-border */
body.music-xtrenew-v280 .song-row.active-song,
body.music-xtrenew-v280 .search-song-row.active-song,
body.music-xtrenew-v280 .category-song-row.active-song,
body.music-xtrenew-v280 .song-row-custom.active-song-highlight,
body.music-xtrenew-v280 .member-song-row.is-playing {
  background: rgba(139, 92, 246, 0.12) !important;
  box-shadow: inset 3px 0 0 #8b5cf6 !important;
  padding-left: 15px !important;
}

/* Duration chip */
body.music-xtrenew-v280 .search-song-duration,
body.music-xtrenew-v280 .category-song-duration,
body.music-xtrenew-v280 .xtrenew-duration-chip {
  font-variant-numeric: tabular-nums !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.02em;
}

/* ── Song row: flex containers need min-width:0 so children can truncate ── */
body.music-xtrenew-v280 .song-left,
body.music-xtrenew-v280 .category-song-main,
body.music-xtrenew-v280 .search-song-left {
  min-width: 0;
  overflow: hidden;
}
body.music-xtrenew-v280 .song-info,
body.music-xtrenew-v280 .search-song-info,
body.music-xtrenew-v280 .category-song-meta {
  min-width: 0;
  overflow: hidden;
  flex: 1;
}

/* Song title: truncate with ellipsis on all pages */
body.music-xtrenew-v280 .song-info h4,
body.music-xtrenew-v280 .search-song-info h4,
body.music-xtrenew-v280 .category-song-meta h4 {
  font-size: 0.84rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  margin: 0 !important;
}
/* The <a> link inside h4 must also be block-level for overflow to work */
body.music-xtrenew-v280 .song-info h4 a,
body.music-xtrenew-v280 .search-song-info h4 a,
body.music-xtrenew-v280 .category-song-meta h4 a,
body.music-xtrenew-v280 .xtrenew-title-play,
body.music-xtrenew-v280 .song-title-link,
body.music-xtrenew-v280 .search-song-title-link,
body.music-xtrenew-v280 .category-song-title-button {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
/* Artist / meta line below title */
body.music-xtrenew-v280 .song-info p,
body.music-xtrenew-v280 .search-song-info p,
body.music-xtrenew-v280 .category-song-meta p {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

/* Row actions hidden on mobile devices, always visible on hover */
body.music-xtrenew-v280 .song-row:hover .xtrenew-row-actions,
body.music-xtrenew-v280 .search-song-row:hover .xtrenew-row-actions,
body.music-xtrenew-v280 .category-song-row:hover .xtrenew-row-actions {
  opacity: 1 !important;
}

/* ── 7. CATEGORY STRIP / TAG CLOUD ─────────────────────────── */

body.music-xtrenew-v280 .home-rhythm-card-header {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}
body.music-xtrenew-v280 .home-block-heading {
  display: flex;
  align-items: center;
  gap: 10px;
}
body.music-xtrenew-v280 .home-block-icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(139, 92, 246, 0.15);
  color: #a78bfa;
  font-size: 0.9rem;
  flex-shrink: 0;
}
body.music-xtrenew-v280 .home-rhythm-mini-title {
  font-size: 0.88rem;
  font-weight: 600;
  color: #e4e4e7;
  line-height: 1.2;
}
body.music-xtrenew-v280 .home-rhythm-mini-subtitle {
  font-size: 0.72rem;
  color: #71717a;
  margin-top: 1px;
}

body.music-xtrenew-v280 .xtrenew-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.music-xtrenew-v280 .xtrenew-tag-cloud a {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 500;
  color: #a1a1aa;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}
body.music-xtrenew-v280 .xtrenew-tag-cloud a:hover {
  background: rgba(139, 92, 246, 0.16);
  border-color: rgba(139, 92, 246, 0.3);
  color: #c4b5fd;
}

/* ── 8. RIGHT PANEL ─────────────────────────────────────────── */

body.music-xtrenew-v280 .vw-rightpanel-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.music-xtrenew-v280 .new-track-link {
  color: #e4e4e7;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
body.music-xtrenew-v280 .new-track-link:hover {
  color: #c4b5fd;
}
body.music-xtrenew-v280 .notification-content {
  display: flex;
  gap: 10px;
}
body.music-xtrenew-v280 .notification-content h4 {
  font-size: 0.8rem;
  font-weight: 600;
  margin: 0 0 6px;
  color: #e4e4e7;
}
body.music-xtrenew-v280 .notification-content p {
  font-size: 0.75rem;
  color: #a1a1aa;
  line-height: 1.55;
  margin: 0;
}

/* ── 9. SONG PAGE ───────────────────────────────────────────── */

/* Header card grid */
body.music-xtrenew-v280 .song-page-header-card-v279 {
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 32px !important;
  padding: 28px !important;
  align-items: start !important;
}

body.music-xtrenew-v280 .song-page-title {
  font-size: clamp(1.5rem, 2.8vw, 2.4rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.1 !important;
  margin: 8px 0 14px !important;
  background: linear-gradient(135deg, #fff 40%, #c4b5fd);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent !important;
}

body.music-xtrenew-v280 .song-page-description {
  font-size: 0.88rem !important;
  line-height: 1.7 !important;
  color: #94a3b8 !important;
  margin: 12px 0 !important;
}

body.music-xtrenew-v280 .song-page-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 10px 0 !important;
}
body.music-xtrenew-v280 .song-page-meta span,
body.music-xtrenew-v280 .song-page-meta a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  color: #a1a1aa !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  text-decoration: none;
}
body.music-xtrenew-v280 .song-page-meta a:hover {
  color: #c4b5fd !important;
  border-color: rgba(139, 92, 246, 0.3) !important;
}
body.music-xtrenew-v280 .song-page-meta i {
  color: #8b5cf6;
  font-size: 0.7rem;
}

body.music-xtrenew-v280 .song-page-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

/* Section cards spacing */
body.music-xtrenew-v280 .song-page-section-card {
  padding: 22px !important;
}

/* Prevent text-transform from stripping Vietnamese diacritics on rec-section labels */
body .rec-section-type {
  text-transform: none !important;
}
body.music-xtrenew-v280 .song-page-section-card + .song-page-section-card {
  margin-top: 0;
}

/* Meta table */
body.music-xtrenew-v280 .meta-table > div:last-child {
  border-bottom: 0 !important;
}

/* ── 10. ARTIST PAGE ────────────────────────────────────────── */

body.music-xtrenew-v280 .vibewave-artist-page .artist-name,
body.music-xtrenew-v280 .artist-name {
  background: linear-gradient(135deg, #fff 40%, #c4b5fd) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
}

/* ── 11. ALBUM PAGE ─────────────────────────────────────────── */

body.music-xtrenew-v280 .xw-entity-info h1,
body.music-xtrenew-v280 .xw-detail-info h1 {
  background: linear-gradient(135deg, #fff 40%, #c4b5fd) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
}

/* Tracklist header */
body.music-xtrenew-v280 .tracklist-header-rich,
body.music-xtrenew-v280 .album-track-row-rich {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 10px 14px !important;
}
body.music-xtrenew-v280 .tracklist-header-rich {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  margin-bottom: 6px !important;
  font-size: 0.7rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #52525b !important;
}
body.music-xtrenew-v280 .album-track-row-rich {
  border-radius: 12px !important;
}
body.music-xtrenew-v280 .album-track-row-rich:hover {
  background: rgba(139, 92, 246, 0.08) !important;
}

/* ── 12. CATEGORY PAGE ──────────────────────────────────────── */

body.music-xtrenew-v280 .category-hero-card {
  padding: 24px 28px !important;
}
body.music-xtrenew-v280 .category-hero-content h1 {
  background: linear-gradient(135deg, #fff 40%, #c4b5fd) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
}

/* ── 13. NO-DATA / EMPTY STATES ─────────────────────────────── */

body.music-xtrenew-v280 .no-data-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  font-size: 0.82rem;
  color: #52525b;
  font-style: italic;
}

/* ── 14. BUTTONS GLOBAL POLISH ──────────────────────────────── */

/* btn-follow (Queue Next on song page) */
body.music-xtrenew-v280 .btn-follow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 20px !important;
  border-radius: 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: #e4e4e7 !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  cursor: pointer !important;
  transition: background 0.18s, border-color 0.18s !important;
}
body.music-xtrenew-v280 .btn-follow:hover {
  background: rgba(139, 92, 246, 0.18) !important;
  border-color: rgba(139, 92, 246, 0.35) !important;
  color: #fff !important;
}

/* ── 15. EYEBROW / KICKER LABELS ────────────────────────────── */

body.music-xtrenew-v280 .eyebrow,
body.music-xtrenew-v280 .home-rhythm-kicker {
  display: block;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #8b5cf6 !important;
  margin-bottom: 4px !important;
}

/* ── 16. SEARCH PAGE ────────────────────────────────────────── */

body.music-xtrenew-v280 .search-section {
  border-radius: 20px !important;
  padding: 18px !important;
}

/* ── 17. TOP / TRENDING / FEATURED PAGES ────────────────────── */

body.music-xtrenew-v280 .xtrenew-full-list {
  border-radius: 20px !important;
  padding: 18px 16px !important;
}

/* ── 18. RESPONSIVE ──────────────────────────────────────────── */

/* ≤1280px: 4-column album grid */
@media (max-width: 1280px) {
  body.music-xtrenew-v280 .album-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* ≤1100px: 3-column album, thinner sidebar  */
@media (max-width: 1100px) {
  body.music-xtrenew-v280 .album-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.music-xtrenew-v280 .bottom-double {
    grid-template-columns: 1fr !important;
  }
  body.music-xtrenew-v280 .song-page-header-card-v279 {
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 24px !important;
  }
}

/* ≤900px: hide right panel, stack main sections */
@media (max-width: 900px) {
  body.music-xtrenew-v280 .right-panel {
    display: none !important;
  }
  body.music-xtrenew-v280 .xtrenew-home-welcome {
    grid-template-columns: 1fr !important;
  }
  body.music-xtrenew-v280 .xtrenew-hero-track {
    display: none !important;
  }
}

/* ≤760px: 2-column album, mobile layout */
@media (max-width: 760px) {
  body.music-xtrenew-v280 .album-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  body.music-xtrenew-v280 .playlist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.music-xtrenew-v280 .song-page-header-card-v279 {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
    gap: 18px !important;
  }
  body.music-xtrenew-v280 .song-page-title {
    font-size: 1.4rem !important;
  }
  body.music-xtrenew-v280 .song-cover-large {
    width: 88px !important;
    height: 88px !important;
    min-width: 88px !important;
  }
  body.music-xtrenew-v280 .xtrenew-hero-track {
    display: none !important;
  }
}

/* ≤480px: single column album, tighter padding */
@media (max-width: 480px) {
  body.music-xtrenew-v280 .album-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.music-xtrenew-v280 .xtrenew-tag-cloud a {
    padding: 5px 10px !important;
    font-size: 0.72rem !important;
  }
  body.music-xtrenew-v280 .song-row,
  body.music-xtrenew-v280 .search-song-row,
  body.music-xtrenew-v280 .category-song-row {
    padding: 8px 8px !important;
  }
  body.music-xtrenew-v280 .xtrenew-row-actions {
    display: none !important;
  }
}

/* ── 19. DISCOVERY GRID ──────────────────────────────────────── */

body.music-xtrenew-v280 .home-discovery-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  margin-bottom: 20px !important;
}

body.music-xtrenew-v280 .home-discovery-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

body.music-xtrenew-v280 .home-discovery-icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(139, 92, 246, 0.15);
  color: #a78bfa;
  font-size: 0.9rem;
  flex-shrink: 0;
}

body.music-xtrenew-v280 .home-discovery-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

body.music-xtrenew-v280 .home-discovery-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 8px;
  border-radius: 10px;
  transition: background 0.15s;
}
body.music-xtrenew-v280 .home-discovery-item:hover {
  background: rgba(139, 92, 246, 0.08);
}

body.music-xtrenew-v280 .home-discovery-rank {
  width: 22px;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 700;
  color: #52525b;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
body.music-xtrenew-v280 .home-discovery-item:nth-child(1) .home-discovery-rank { color: #f59e0b; }
body.music-xtrenew-v280 .home-discovery-item:nth-child(2) .home-discovery-rank { color: #94a3b8; }
body.music-xtrenew-v280 .home-discovery-item:nth-child(3) .home-discovery-rank { color: #cd7c2f; }

body.music-xtrenew-v280 .home-discovery-info {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

body.music-xtrenew-v280 .home-discovery-title {
  display: block !important;
  font-size: 0.83rem !important;
  font-weight: 600 !important;
  color: #e4e4e7 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: left !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  font-family: inherit !important;
  text-decoration: none !important;
  max-width: 100% !important;
  line-height: 1.3 !important;
}
body.music-xtrenew-v280 .home-discovery-title:hover {
  color: #c4b5fd !important;
}

body.music-xtrenew-v280 .home-discovery-artist {
  font-size: 0.72rem;
  color: #71717a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 760px) {
  body.music-xtrenew-v280 .home-discovery-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ── 20. SIDEBAR & LOGO — UNIVERSAL ─────────────────────────── */

body.music-xtrenew-v280 .sidebar {
  width: 260px !important;
  gap: 26px !important;
  padding: 20px 14px 18px !important;
  background: linear-gradient(180deg, rgba(15,17,30,0.92) 0%, rgba(10,12,21,0.90) 100%) !important;
  border: 1px solid var(--vw-border) !important;
  box-shadow: var(--vw-shadow-panel) !important;
}

body.music-xtrenew-v280 .logo-area {
  padding: 6px 8px 14px !important;
  gap: 14px !important;
  text-decoration: none !important;
}

body.music-xtrenew-v280 .logo-area-wordmark {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 44px !important;
  isolation: isolate !important;
}

body.music-xtrenew-v280 .logo-wordmark {
  position: relative !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0.03em !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.14rem, 0.98rem + 0.42vw, 1.5rem) !important;
  letter-spacing: -0.04em !important;
}

body.music-xtrenew-v280 .logo-full {
  display: inline-flex !important;
  align-items: baseline !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

body.music-xtrenew-v280 .logo-main-only,
body.music-xtrenew-v280 .logo-compact {
  display: none !important;
}

body.music-xtrenew-v280 .logo-main,
body.music-xtrenew-v280 .logo-main-only,
body.music-xtrenew-v280 .logo-compact,
body.music-xtrenew-v280 .logo-sub {
  position: relative !important;
  display: inline-block !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  white-space: nowrap !important;
}

body.music-xtrenew-v280 .logo-main,
body.music-xtrenew-v280 .logo-main-only,
body.music-xtrenew-v280 .logo-compact {
  min-width: 0 !important;
  background-image: linear-gradient(90deg, #93f6ff 0%, #7ae3ff 28%, #8baeff 58%, #d18fff 84%, #ff9cde 100%) !important;
  background-size: 220% 100% !important;
  background-position: 0% 50%;
  animation: vwLogoMainFlow 5.2s linear infinite !important;
  filter: drop-shadow(0 0 7px rgba(120,230,255,.16)) drop-shadow(0 0 18px rgba(188,118,255,.10)) !important;
}

body.music-xtrenew-v280 .logo-sub {
  flex: 0 0 auto !important;
  margin-left: 0.02em !important;
  font-size: 1em !important;
  letter-spacing: -0.028em !important;
  background-image: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(229,241,255,.92) 42%, rgba(188,212,255,.78) 100%) !important;
  background-size: 180% 100% !important;
  background-position: 180% 50%;
  animation: vwLogoSubFlow 5.2s linear infinite !important;
  opacity: .96 !important;
}

body.music-xtrenew-v280 .logo-area-wordmark::after {
  content: '' !important;
  position: absolute !important;
  left: 8px !important;
  right: 8px !important;
  bottom: 4px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(110,240,255,0) 0%, rgba(110,240,255,.92) 22%, rgba(136,176,255,.9) 58%, rgba(213,120,255,.76) 84%, rgba(213,120,255,0) 100%) !important;
  opacity: .9 !important;
  box-shadow: 0 0 10px rgba(95,240,255,.15), 0 0 16px rgba(180,110,255,.10) !important;
}

body.music-xtrenew-v280 .logo-area-wordmark::before {
  content: '' !important;
  position: absolute !important;
  top: -6% !important;
  bottom: 12% !important;
  left: -8% !important;
  width: 18% !important;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.04) 30%, rgba(255,255,255,.34) 50%, rgba(255,255,255,.04) 70%, rgba(255,255,255,0) 100%) !important;
  transform: skewX(-22deg) translateX(-240%);
  animation: vwLogoSweep 4.2s ease-in-out infinite !important;
  pointer-events: none !important;
  mix-blend-mode: screen !important;
}

@media (max-width: 1280px) {
  body.music-xtrenew-v280 .logo-area {
    padding: 4px 6px 12px !important;
  }
  body.music-xtrenew-v280 .logo-wordmark {
    font-size: 1.22rem !important;
    letter-spacing: -0.032em !important;
  }
  body.music-xtrenew-v280 .logo-full {
    display: none !important;
  }
  body.music-xtrenew-v280 .logo-main-only {
    display: inline-block !important;
  }
  body.music-xtrenew-v280 .logo-compact {
    display: none !important;
  }
  body.music-xtrenew-v280 .logo-area-wordmark::before {
    width: 16% !important;
    opacity: 0.82 !important;
  }
}

@media (max-width: 1080px) {
  body.music-xtrenew-v280 .logo-area {
    min-height: 38px !important;
    padding: 2px 4px 10px !important;
  }
  body.music-xtrenew-v280 .logo-wordmark {
    font-size: 1.1rem !important;
    letter-spacing: -0.024em !important;
  }
  body.music-xtrenew-v280 .logo-sub {
    font-size: 0.72em !important;
  }
  body.music-xtrenew-v280 .logo-area-wordmark::after {
    left: 4px !important;
    right: 4px !important;
    bottom: 3px !important;
    height: 1.5px !important;
    opacity: 0.82 !important;
  }
}

@media (max-width: 900px) {
  body.music-xtrenew-v280 .logo-full,
  body.music-xtrenew-v280 .logo-main-only {
    display: none !important;
  }
  body.music-xtrenew-v280 .logo-compact {
    display: inline-block !important;
    font-size: 1em !important;
    letter-spacing: -0.02em !important;
  }
}

/* ── 21. HERO HEADER (sticky-header) — xtrenew match ────────── */

body.music-xtrenew-v280 .hero-category-compact {
  background: linear-gradient(135deg, #1e1a2f, #0c0c12) !important;
  border-radius: 20px !important;
  padding: 12px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  border: 1px solid rgba(255,255,255,0.055) !important;
}

body.music-xtrenew-v280 .hero-category-nav {
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.music-xtrenew-v280 .hero-category-nav-list {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  overflow-x: auto !important;
  flex-wrap: nowrap !important;
}

body.music-xtrenew-v280 .hero-category-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 2px !important;
  border-radius: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: #a1a1aa !important;
  background: transparent !important;
  border: none !important;
  white-space: nowrap !important;
  transition: color 0.15s !important;
  text-decoration: none !important;
}
body.music-xtrenew-v280 .hero-category-link:hover,
body.music-xtrenew-v280 .hero-category-link.is-active {
  background: transparent !important;
  border-color: transparent !important;
  color: #c4b5fd !important;
}

/* Search pill — the form is nested inside .hero-search */
body.music-xtrenew-v280 .hero-search {
  background: rgba(0,0,0,0.4) !important;
  border-radius: 44px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  transition: border-color 0.2s !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}
body.music-xtrenew-v280 .hero-search:focus-within {
  border-color: #8b5cf6 !important;
}
body.music-xtrenew-v280 .hero-search form {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 4px 4px 4px 14px !important;
  border-radius: 44px !important;
}
body.music-xtrenew-v280 .hero-search form i {
  color: #71717a !important;
  font-size: 0.85rem !important;
  flex-shrink: 0 !important;
  margin-right: 8px !important;
}
body.music-xtrenew-v280 .hero-search input {
  width: 210px !important;
  padding: 6px 0 !important;
  font-size: 0.84rem !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #e4e4e7 !important;
}
body.music-xtrenew-v280 .hero-search button {
  background: #8b5cf6 !important;
  border: none !important;
  padding: 7px 18px !important;
  border-radius: 36px !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  transition: background 0.18s !important;
  flex-shrink: 0 !important;
}
body.music-xtrenew-v280 .hero-search button:hover {
  background: #a78bfa !important;
}

/* ── 22. GREETING + DISCOVERY SECTION ───────────────────────── */

body.music-xtrenew-v280 .home-greeting-section {
  padding: 20px 22px !important;
  border-radius: 22px !important;
  background: rgba(12,14,28,0.88) !important;
  background-image: radial-gradient(circle at top right, rgba(139,92,246,0.15), transparent 60%) !important;
  border: 1px solid rgba(255,255,255,0.055) !important;
}

body.music-xtrenew-v280 .home-greeting-header {
  margin-bottom: 18px !important;
}

body.music-xtrenew-v280 .home-greeting-kicker {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #a78bfa !important;
  margin-bottom: 5px !important;
  display: block !important;
}

body.music-xtrenew-v280 .home-greeting-heading {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: #f5f3ff !important;
  line-height: 1.2 !important;
  margin: 0 0 4px !important;
}

body.music-xtrenew-v280 .home-greeting-icon {
  font-style: normal;
}

body.music-xtrenew-v280 .home-greeting-sub {
  font-size: 0.82rem !important;
  color: #71717a !important;
  margin: 0 !important;
}

/* Discovery grid inside greeting — borderless inner cards */
body.music-xtrenew-v280 .home-greeting-section .home-discovery-grid {
  margin-bottom: 0 !important;
}

body.music-xtrenew-v280 .home-greeting-section .home-discovery-card {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 16px !important;
  padding: 14px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/* ── RIGHT PANEL — LỜI TRÁI TIM ──────────────────────────────── */

body.music-xtrenew-v280 .right-panel .vw-lyric-shelf {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  gap: 16px !important;
}

body.music-xtrenew-v280 .vw-lyric-shelf-head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body.music-xtrenew-v280 .vw-lyric-shelf-icon {
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: rgba(139,92,246,0.15) !important;
  color: #a78bfa !important;
  font-size: 0.9rem !important;
  flex-shrink: 0 !important;
}

body.music-xtrenew-v280 .vw-lyric-shelf-title {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #e4e4e7 !important;
  line-height: 1.3 !important;
}

body.music-xtrenew-v280 .vw-lyric-shelf-sub {
  font-size: 0.7rem !important;
  color: #71717a !important;
  margin-top: 1px !important;
}

body.music-xtrenew-v280 .vw-lyric-shelf-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  border: 1px dashed rgba(139,92,246,0.22) !important;
  border-radius: 14px !important;
  padding: 28px 16px !important;
  background: rgba(139,92,246,0.03) !important;
  min-height: 180px !important;
}
body.music-xtrenew-v280 .vw-lyric-shelf-body i {
  font-size: 2rem !important;
  color: rgba(139,92,246,0.35) !important;
}
body.music-xtrenew-v280 .vw-lyric-shelf-body span {
  font-size: 0.8rem !important;
  color: #52525b !important;
  font-style: italic !important;
  text-align: center !important;
}

/* ── 23. NGHỆ SĨ NGẪU NHIÊN ─────────────────────────────────── */

body.music-xtrenew-v280 .home-random-artists-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0,1fr)) !important;
  gap: 16px !important;
  margin-top: 4px !important;
}

body.music-xtrenew-v280 .home-random-artist-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: center !important;
}

body.music-xtrenew-v280 .home-random-artist-media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, #2a2a3a, #1a1a24) !important;
  border: 2px solid rgba(139,92,246,0.18) !important;
  transition: border-color 0.18s, transform 0.18s !important;
}
body.music-xtrenew-v280 .home-random-artist-media:hover {
  border-color: rgba(139,92,246,0.5) !important;
  transform: translateY(-2px) !important;
}
body.music-xtrenew-v280 .home-random-artist-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
body.music-xtrenew-v280 .home-random-artist-fallback {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #52525b !important;
  font-size: 1.8rem !important;
}
body.music-xtrenew-v280 .home-random-artist-badge {
  position: absolute !important;
  bottom: 4px !important;
  right: 4px !important;
  width: 20px !important;
  height: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(139,92,246,0.9) !important;
  color: #fff !important;
  font-size: 0.58rem !important;
}

body.music-xtrenew-v280 .home-random-artist-content {
  min-width: 0 !important;
  width: 100% !important;
}
body.music-xtrenew-v280 .home-random-artist-eyebrow {
  font-size: 0.55rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #8b5cf6 !important;
  line-height: 1.4 !important;
}
body.music-xtrenew-v280 .home-random-artist-name a {
  display: block !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: #e4e4e7 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.35 !important;
}
body.music-xtrenew-v280 .home-random-artist-name a:hover {
  color: #c4b5fd !important;
}

/* ── 24. SONGS FULL WIDTH (no right col in bottom-double) ───── */

body.music-xtrenew-v280 .bottom-double {
  display: block !important;
}
body.music-xtrenew-v280 .left-songs {
  width: 100% !important;
}

/* ── RESPONSIVE additions ────────────────────────────────────── */
@media (max-width: 1100px) {
  body.music-xtrenew-v280 .home-random-artists-grid {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }
}
@media (max-width: 760px) {
  body.music-xtrenew-v280 .home-random-artists-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
  body.music-xtrenew-v280 .hero-search input {
    width: 130px !important;
  }
}
@media (max-width: 480px) {
  body.music-xtrenew-v280 .home-random-artists-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 10px !important;
  }
  body.music-xtrenew-v280 .hero-category-nav {
    display: none !important;
  }
}

/* ── 25. ALBUM TRACKLIST — NOW-PLAYING INDICATOR ─────────────── */

@keyframes vwNpBar {
  0%   { height: 4px; }
  50%  { height: 13px; }
  100% { height: 4px; }
}

/* Row highlight */
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.is-playing,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.active-song {
  background: rgba(139, 92, 246, 0.13) !important;
  box-shadow: inset 3px 0 0 #8b5cf6 !important;
  border-radius: 6px !important;
}

/* Song title link turns purple */
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.is-playing .xtrenew-title-play,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.active-song .xtrenew-title-play,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.is-playing .song-title-link,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.active-song .song-title-link {
  color: #a78bfa !important;
}

/* Hide track number, show animated bars */
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.is-playing .song-number,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.active-song .song-number {
  font-size: 0 !important;
  color: transparent !important;
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 2px !important;
  height: 16px !important;
}

body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.is-playing .song-number::before,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.active-song .song-number::before,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.is-playing .song-number::after,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.active-song .song-number::after {
  content: '' !important;
  display: inline-block !important;
  width: 3px !important;
  background: #8b5cf6 !important;
  border-radius: 2px !important;
  animation: vwNpBar 0.7s ease-in-out infinite alternate !important;
}

body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.is-playing .song-number::before,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.active-song .song-number::before {
  height: 8px !important;
  animation-delay: 0s !important;
}

body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.is-playing .song-number::after,
body.music-xtrenew-v280 [data-album-play-group] .xtrenew-song-row.active-song .song-number::after {
  height: 4px !important;
  animation-delay: 0.28s !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   RIGHT RAIL — User menu & Login section
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── User section (logged in) ── */
.vw-rr-user-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vw-rr-user-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  background: rgba(139,92,246,.08);
  border: 1px solid rgba(139,92,246,.2);
  border-radius: 14px;
  color: #e4e4e7;
  font-size: .9rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s, border-color .2s;
  text-align: left;
}
.vw-rr-user-btn:hover {
  background: rgba(139,92,246,.15);
  border-color: rgba(139,92,246,.35);
}
.vw-rr-user-btn[aria-expanded="true"] {
  background: rgba(139,92,246,.18);
  border-color: rgba(139,92,246,.4);
}

.vw-rr-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.vw-rr-user-avatar--placeholder {
  background: linear-gradient(135deg, #8b5cf6, #6366f1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  color: #fff;
}

.vw-rr-user-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .88rem;
}

.vw-rr-user-chevron {
  font-size: .7rem;
  color: #71717a;
  transition: transform .2s;
  flex-shrink: 0;
}
.vw-rr-user-btn[aria-expanded="true"] .vw-rr-user-chevron {
  transform: rotate(180deg);
}

/* Dropdown */
.vw-rr-user-dropdown {
  display: flex;
  flex-direction: column;
  background: rgba(14,14,20,.98);
  border: 1px solid rgba(139,92,246,.18);
  border-radius: 14px;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  pointer-events: none;
  transition: max-height .28s ease, opacity .2s ease;
}
.vw-rr-user-dropdown.is-open {
  max-height: 260px;
  opacity: 1;
  pointer-events: auto;
}

.vw-rr-dd-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  color: #a1a1aa;
  font-size: .875rem;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: background .15s, color .15s;
}
.vw-rr-dd-link:last-child { border-bottom: none; }
.vw-rr-dd-link:hover {
  background: rgba(139,92,246,.12);
  color: #c084fc;
}
.vw-rr-dd-link i {
  width: 18px;
  color: #8b5cf6;
  font-size: .85rem;
  flex-shrink: 0;
}

/* Logout */
.vw-rr-logout-form { margin: 0; }
.vw-rr-logout-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  background: rgba(239,68,68,.06);
  border: 1px solid rgba(239,68,68,.18);
  border-radius: 12px;
  color: #f87171;
  font-size: .875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .2s, color .2s;
  text-align: left;
}
.vw-rr-logout-btn:hover {
  background: rgba(239,68,68,.14);
  color: #fca5a5;
}
.vw-rr-logout-btn i { width: 18px; flex-shrink: 0; }

/* ── Login section (not logged in) ── */
.vw-rr-login-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding: 24px 12px;
  text-align: center;
}

.vw-rr-greeting {
  margin: 0;
  color: #a1a1aa;
  font-size: .875rem;
  line-height: 1.65;
}
.vw-rr-greeting strong {
  display: block;
  color: #e4e4e7;
  font-size: .95rem;
  font-weight: 600;
  margin-top: 4px;
}

.vw-rr-login-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 10px 20px;
  background: #8b5cf6;
  border-radius: 40px;
  color: #fff;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, transform .15s;
}
.vw-rr-login-btn:hover {
  background: #a78bfa;
  transform: scale(1.02);
}
.vw-rr-login-btn i { font-size: 1rem; }

/* ── Sidebar: logged-in user row ── */
.sidebar-user-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.sidebar-user-avatar--placeholder {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4285f4, #34a853);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  font-weight: 700;
  font-family: 'Google Sans', 'Inter', sans-serif;
  letter-spacing: 0;
  color: #fff;
  flex-shrink: 0;
  user-select: none;
  vertical-align: middle;
}
.playlist-item--user .playlist-item-link {
  gap: 10px;
}
.playlist-item--user .playlist-item-link span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}



/* ── my-playlists: quick create box ── */
.mypl-qcreate-box {
  background: rgba(24, 24, 32, 0.85);
  border: 1px solid rgba(139, 92, 246, 0.25);
  border-radius: 16px;
  padding: 20px 22px;
  margin-bottom: 24px;
  backdrop-filter: blur(12px);
}
.mypl-qcreate-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .9rem;
  font-weight: 600;
  color: #c4b5fd;
  margin-bottom: 16px;
}
.mypl-qcreate-close {
  background: transparent;
  border: none;
  color: #71717a;
  cursor: pointer;
  font-size: 1rem;
  padding: 4px 6px;
  border-radius: 6px;
  line-height: 1;
  transition: color .15s;
}
.mypl-qcreate-close:hover { color: #e4e4e7; }
.mypl-qcreate-fields {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.mypl-qcreate-input,
.mypl-qcreate-select {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: #e4e4e7;
  font-size: .875rem;
  padding: 9px 14px;
  font-family: inherit;
  outline: none;
  transition: border-color .18s;
}
.mypl-qcreate-input { flex: 1; min-width: 180px; }
.mypl-qcreate-select { min-width: 130px; }
.mypl-qcreate-input:focus,
.mypl-qcreate-select:focus {
  border-color: rgba(139, 92, 246, 0.55);
}
.mypl-qcreate-select option { background: #1a1a24; }
.mypl-qcreate-submit {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #8b5cf6;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 9px 20px;
  font-size: .875rem;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background .18s, transform .12s;
}
.mypl-qcreate-submit:hover {
  background: #7c3aed;
  transform: translateY(-1px);
}

/* ── Multi-artist chips on song detail page ─────────────── */
.song-page-artist-line {
  flex-wrap: wrap;
  gap: 6px !important;
}
.song-page-artist-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 2px 4px;
  color: #c084fc;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: color .15s;
}
.song-page-artist-chip:hover {
  color: #d8b4fe;
}
.song-page-artist-chip i {
  font-size: .9rem;
  opacity: .75;
  flex-shrink: 0;
}

/* ── Song page icon group: larger size + CSS tooltip ─────────────────────── */
.song-pg-icon {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  font-size: 1.1rem !important;
  position: relative !important;
  overflow: visible !important;
}
.song-page-icon-group { gap: 12px !important; }

.song-pg-icon[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: rgba(10,6,25,0.92);
  color: #e2e8f0;
  font-size: 0.72rem;
  font-weight: 500;
  white-space: nowrap;
  padding: 4px 9px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,0.1);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s, transform 0.15s;
  z-index: 20;
}
.song-pg-icon[data-tooltip]:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ── PAGE LIST HEADER (top / featured / my-playlists / albums) ── */
.plp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 4px 0 18px;
}
.plp-title {
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #f1f5f9;
  margin: 0;
  line-height: 1.2;
}

/* my-playlists action buttons */
.mypl-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.mypl-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
  text-decoration: none;
  border: none;
}
.mypl-btn i { font-size: .75rem; }
.mypl-btn-manage {
  background: rgba(255,255,255,.08);
  color: #d4d4d8;
}
.mypl-btn-manage:hover { background: rgba(255,255,255,.14); color: #f1f5f9; }
.mypl-btn-create {
  background: #8b5cf6;
  color: #fff;
}
.mypl-btn-create:hover { background: #7c3aed; }

/* Front-end pagination (top / featured pages) */

/* Front-end pagination (top / featured pages) */
.front-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 24px 0 8px;
  flex-wrap: wrap;
}
.front-pagi-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: #d4d4d8;
  font-size: .85rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.08);
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.front-pagi-btn:hover {
  background: rgba(139,92,246,.25);
  color: #a78bfa;
  border-color: rgba(139,92,246,.35);
}
.front-pagi-info {
  font-size: .82rem;
  color: #71717a;
  padding: 0 4px;
}

/* ── Search Autocomplete ─────────────────────────────────────── */
.search-ac-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0; right: 0;
  z-index: 9999;
  background: #1c1c2e;
  border: 1px solid rgba(139,92,246,.25);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.55);
  overflow: hidden;
  max-height: 420px;
  overflow-y: auto;
}
.search-ac-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  text-decoration: none;
  color: #d4d4d8;
  transition: background .12s;
  cursor: pointer;
}
.search-ac-item:hover,
.search-ac-item.is-active {
  background: rgba(139,92,246,.18);
  color: #fff;
}
.search-ac-thumb {
  width: 36px; height: 36px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  background: rgba(255,255,255,.07);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; color: #71717a;
}
.search-ac-thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.search-ac-item--artist .search-ac-thumb {
  border-radius: 50%;
}
.search-ac-info {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 1px;
}
.search-ac-title {
  font-size: .875rem; font-weight: 500;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.search-ac-sub {
  font-size: .75rem; color: #71717a;
}
.search-ac-badge {
  font-size: .85rem; flex-shrink: 0;
}
.search-ac-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  font-size: .8rem;
  color: #a78bfa;
  text-decoration: none;
  border-top: 1px solid rgba(255,255,255,.06);
  transition: background .12s;
}
.search-ac-footer:hover,
.search-ac-footer.is-active {
  background: rgba(139,92,246,.12);
}
.search-ac-footer strong { color: #fff; }

/* ── Notification Bell ──────────────────────────────────────── */
.notif-bell-wrap {
  position: relative;
  flex-shrink: 0;
}
.notif-bell-btn {
  position: relative;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #71717a;
  font-size: .8rem;
  cursor: pointer;
  transition: color .18s, background .18s;
  padding: 0;
}
.notif-bell-btn:hover {
  color: #a78bfa;
  background: rgba(139,92,246,.12);
}
/* Override the global rule that hides all <i> inside .playlist-header */
#xt-notif-bell i {
  display: block !important;
}
.notif-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  background: #ef4444;
  color: #fff;
  font-size: .6rem;
  font-weight: 700;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
  font-family: 'Inter', sans-serif;
  letter-spacing: 0;
  text-transform: none;
}
.notif-badge[hidden] { display: none !important; }
/* dropdown: position set by JS (fixed), just need visual */
.notif-dropdown {
  width: 310px;
  background: #16161f;
  border: 1px solid rgba(139,92,246,.18);
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(0,0,0,.7), 0 2px 8px rgba(0,0,0,.4);
  z-index: 10000;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.notif-dropdown[hidden] { display: none !important; }
.notif-dropdown * {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: inherit !important;
}
.notif-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px 11px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.notif-head-title {
  font-size: .8rem;
  font-weight: 600;
  color: #d4d4d8;
  display: flex;
  align-items: center;
  gap: 6px;
}
.notif-head-title i { color: #8b5cf6; font-size: .78rem; }
.notif-read-all-btn {
  background: rgba(139,92,246,.12);
  border: 1px solid rgba(139,92,246,.22);
  border-radius: 99px;
  color: #a78bfa;
  font-size: .68rem;
  font-weight: 500;
  cursor: pointer;
  padding: 3px 9px;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.notif-read-all-btn:hover {
  background: rgba(139,92,246,.24);
  color: #c4b5fd;
  border-color: rgba(139,92,246,.4);
}
.notif-list {
  overflow-y: auto;
  max-height: 340px;
}
.notif-list::-webkit-scrollbar { width: 4px; }
.notif-list::-webkit-scrollbar-track { background: transparent; }
.notif-list::-webkit-scrollbar-thumb { background: rgba(139,92,246,.25); border-radius: 4px; }
.notif-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 14px;
  text-decoration: none;
  color: #c4c4cc;
  font-size: .79rem;
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: background .14s;
  position: relative;
}
.notif-item:last-child { border-bottom: 0; }
.notif-item:hover { background: rgba(139,92,246,.09); color: #e4e4e7; }
.notif-item:not(.is-read) {
  background: rgba(139,92,246,.05);
  border-left: 2px solid rgba(139,92,246,.5);
  padding-left: 12px;
}
.notif-item:not(.is-read):hover { background: rgba(139,92,246,.11); }
.notif-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: rgba(139,92,246,.15);
  color: #a78bfa;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .78rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.notif-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.notif-title {
  font-size: .79rem;
  font-weight: 600;
  color: #e4e4e7;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.notif-text {
  font-size: .71rem;
  color: #71717a;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.45;
}
.notif-time {
  font-size: .67rem;
  color: #52525b;
  white-space: nowrap;
}
.notif-empty {
  padding: 28px 14px 24px;
  text-align: center;
  font-size: .8rem;
  color: #52525b;
  font-style: italic;
}
.notif-empty::before {
  content: '\f0f3';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  display: block;
  font-size: 1.4rem;
  color: #3f3f46;
  margin-bottom: 8px;
  font-style: normal;
}

/* ── Artist Follow Button ───────────────────────────────────── */
.js-artist-follow-btn {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: #e4e4e7 !important;
}
.js-artist-follow-btn:hover {
  background: rgba(139,92,246,.18) !important;
  border-color: rgba(139,92,246,.35) !important;
  color: #fff !important;
}
.js-artist-follow-btn.is-following {
  background: rgba(139,92,246,.2) !important;
  border-color: rgba(139,92,246,.4) !important;
  color: #c4b5fd !important;
}
.js-artist-follow-btn.is-following:hover {
  background: rgba(239,68,68,.12) !important;
  border-color: rgba(239,68,68,.3) !important;
  color: #fca5a5 !important;
}

/* Artist follower count chip */
.artist-follower-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  color: #71717a;
  padding: 6px 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 999px;
}
.artist-follower-count i { color: #8b5cf6; font-size: .75rem; }

/* ── My Artists Page Grid ───────────────────────────────────── */
.my-artists-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
  padding: 4px 0;
}
.my-artist-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  padding: 16px 10px;
  background: rgba(20,20,30,.5);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 16px;
  transition: background .18s, transform .18s;
}
.my-artist-card:hover {
  background: rgba(30,30,42,.7);
  transform: translateY(-2px);
}
.my-artist-cover {
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(145deg, #2a2a3a, #1a1a24);
  border: 2px solid rgba(139,92,246,.22);
  flex-shrink: 0;
  text-decoration: none;
}
.my-artist-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.my-artist-cover-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #52525b;
}
.my-artist-info {
  min-width: 0;
  width: 100%;
}
.my-artist-name {
  display: block;
  font-size: .85rem;
  font-weight: 600;
  color: #e4e4e7;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}
.my-artist-name:hover { color: #c4b5fd; }
.my-artist-meta {
  font-size: .72rem;
  color: #71717a;
}
.my-artist-unfollow-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: #a1a1aa;
  font-size: .72rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
  font-family: inherit;
  white-space: nowrap;
}
.my-artist-unfollow-btn:hover {
  background: rgba(239,68,68,.12);
  border-color: rgba(239,68,68,.3);
  color: #fca5a5;
}
@media (max-width: 760px) {
  .my-artists-grid {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 12px;
  }
  .my-artist-cover { width: 64px; height: 64px; }
}
