/* NexMusic FIX81 — EDITORIAL CLUB UNIFIED UI + PERFORMANCE
   Visual language matches the FIX80 editorial login: cream / black / pink / lime / blue.
   Performance: no backdrop-filter, no blur filters, no continuous app animations. */
:root{
  --e81-bg:#0d0b0f;--e81-panel:#151217;--e81-panel2:#1b171d;--e81-paper:#f4efe6;
  --e81-ink:#111014;--e81-pink:#ff4fb8;--e81-lime:#c7ff3d;--e81-blue:#3d7dff;
  --e81-purple:#7856ff;--e81-line:#37313b;--e81-muted:#9f98a6;--e81-side:238px;
}
html,body{background:var(--e81-bg)!important;color:#fff!important}
body{overflow-x:hidden!important;background:var(--e81-bg)!important}
body:before{display:none!important}
.shell{display:block!important;min-height:100vh!important;padding:0!important;background:var(--e81-bg)!important}

/* ===== EDITORIAL NAV ===== */
.sidebar{
  position:fixed!important;z-index:90!important;left:16px!important;top:16px!important;bottom:122px!important;
  width:var(--e81-side)!important;height:auto!important;padding:18px 14px!important;display:flex!important;flex-direction:column!important;
  border:2px solid var(--e81-ink)!important;border-radius:18px!important;background:var(--e81-paper)!important;color:var(--e81-ink)!important;
  box-shadow:8px 8px 0 rgba(255,79,184,.9)!important;overflow:hidden!important;contain:layout paint!important
}
.brand-wrap{display:block!important;padding:0 6px 18px!important;border-bottom:2px solid var(--e81-ink)!important}
.brand{display:flex!important;align-items:center!important;gap:10px!important;color:var(--e81-ink)!important}.brand-logo{width:42px!important;height:42px!important}.brand strong{font-size:19px!important;letter-spacing:-.04em!important;color:var(--e81-ink)!important}.brand-nex{color:var(--e81-pink)!important}.brand-wrap small{display:block!important;margin:5px 0 0 52px!important;color:#5f5861!important;font-size:7px!important;letter-spacing:.2em!important;font-weight:900!important}
.nav-list{display:grid!important;gap:5px!important;margin-top:14px!important;overflow:auto!important;scrollbar-width:none!important}.nav-list::-webkit-scrollbar{display:none!important}
.nav{height:42px!important;width:100%!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 11px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#4d4850!important;font-size:11px!important;font-weight:850!important;transition:transform .12s ease,background .12s ease,color .12s ease!important}.nav span{width:20px!important;font-size:14px!important;text-align:center!important}.nav:hover{background:#e7dfd4!important;color:#111!important}.nav.active{background:var(--e81-lime)!important;color:var(--e81-ink)!important;box-shadow:4px 4px 0 var(--e81-ink)!important;transform:translate(-2px,-2px)!important}.nav.active:before{display:none!important}
.playlist-heading{display:flex!important;margin-top:14px!important;padding:12px 6px 7px!important;border-top:2px solid var(--e81-ink)!important;color:#5f5861!important;font-size:8px!important;letter-spacing:.12em!important}.playlist-heading button{color:#111!important}.sidebar-playlists{display:grid!important;gap:2px!important;overflow:auto!important;min-height:0!important}.sidebar-playlists button{padding:7px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#5b555e!important;font-size:9px!important}.sidebar-playlists button:hover{background:#e8e0d6!important;color:#111!important}
.account{display:block!important;margin-top:auto!important;padding-top:11px!important;border-top:2px solid var(--e81-ink)!important}.account .account-user{width:100%!important;display:flex!important;align-items:center!important;gap:8px!important;padding:8px!important;border:1px solid #cfc4b8!important;border-radius:9px!important;background:#fff9ef!important;color:#111!important}.account-user>span{background:var(--e81-pink)!important;color:#111!important}.account-user b{color:#111!important}.account-user small{color:#6c646d!important}

/* ===== MAIN FRAME ===== */
.main{margin:0!important;margin-left:calc(var(--e81-side) + 32px)!important;padding:0!important;min-height:100vh!important;border:0!important;border-radius:0!important;background:var(--e81-bg)!important;overflow:visible!important}
.topbar{position:sticky!important;z-index:70!important;top:0!important;height:76px!important;padding:14px 22px!important;display:flex!important;align-items:center!important;gap:12px!important;background:#0d0b0ff5!important;border-bottom:1px solid #272229!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.search-wrap{flex:1!important;max-width:none!important}.search-shell{width:100%!important;height:48px!important;padding:0 14px!important;gap:10px!important;border:1px solid var(--e81-line)!important;border-radius:10px!important;background:#171319!important;box-shadow:none!important;color:#a39aa7!important}.search-shell:focus-within{border-color:var(--e81-pink)!important;box-shadow:0 0 0 3px rgba(255,79,184,.12)!important}.search-shell input{font-size:11px!important;color:#fff!important}.search-shell input::placeholder{color:#6f6873!important}.top-actions{display:flex!important;gap:8px!important}.icon-btn{width:46px!important;height:46px!important;border:1px solid var(--e81-line)!important;border-radius:10px!important;background:#171319!important;color:#ddd5df!important;box-shadow:none!important}.icon-btn:hover{border-color:var(--e81-lime)!important;color:#fff!important}.logout-top{display:none!important}
.content{width:100%!important;max-width:1700px!important;margin:0 auto!important;padding:22px 24px 132px!important;min-height:calc(100vh - 76px)!important}.content:before{content:"NEXMUSIC / EDITORIAL CLUB";display:block;margin:0 0 14px;color:#776f7b;font-size:8px;font-weight:1000;letter-spacing:.23em}.content>*{animation:none!important}

/* ===== HOME / HERO — same editorial language as login ===== */
.hero,.nexflow-hero,.playlist-hero,.artist-hero,.profile-hero,.album-detail-hero,.album-hero{
  position:relative!important;overflow:hidden!important;border:0!important;border-radius:14px!important;background:var(--e81-paper)!important;color:var(--e81-ink)!important;box-shadow:8px 8px 0 var(--e81-pink)!important
}
.hero{min-height:210px!important;padding:34px!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important}.hero:before{content:"PLAY"!important;position:absolute!important;right:-10px!important;top:-24px!important;font-size:140px!important;line-height:1!important;font-weight:1000!important;letter-spacing:-.09em!important;color:#e4d9ce!important;background:none!important;width:auto!important;height:auto!important;opacity:1!important;border-radius:0!important}.hero:after{content:"PRIVATE LISTENING / ZERO ADS"!important;position:absolute!important;right:28px!important;top:20px!important;color:#645d66!important;font-size:7px!important;letter-spacing:.2em!important;font-weight:1000!important}.hero>div{position:relative!important;z-index:2!important}.hero span,.eyebrow{color:#111!important;font-size:8px!important;letter-spacing:.18em!important;font-weight:1000!important}.hero h1,.home-greeting{margin:8px 0!important;color:#111!important;font-size:clamp(34px,4.2vw,66px)!important;line-height:.9!important;letter-spacing:-.06em!important;font-weight:1000!important}.hero p,.home-sub{color:#5d565f!important}.hero-actions{display:flex!important;gap:8px!important;align-items:center!important}

.quick-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:20px 0 28px!important}.quick-grid>button,.quick-card{min-height:100px!important;padding:16px!important;border:1px solid var(--e81-line)!important;border-radius:12px!important;background:#171319!important;color:#fff!important;box-shadow:none!important}.quick-grid>button:nth-child(1){border-top:4px solid var(--e81-pink)!important}.quick-grid>button:nth-child(2){border-top:4px solid var(--e81-blue)!important}.quick-grid>button:nth-child(3){border-top:4px solid var(--e81-lime)!important}.quick-grid>button:nth-child(4){border-top:4px solid var(--e81-purple)!important}.quick-grid>button b{font-size:12px!important}.quick-grid>button small{color:#918997!important;font-size:9px!important}.quick-grid>button>span,.quick-play{background:var(--e81-paper)!important;color:#111!important;border:0!important;box-shadow:none!important}
.section-head{margin:22px 0 10px!important}.section-head h2{font-size:18px!important;letter-spacing:-.03em!important}.section-head button,.section-head a{color:var(--e81-lime)!important}

/* ===== TRACKS — explicit sizing fixes giant artwork bug ===== */
.recent-list,.track-list{display:grid!important;gap:5px!important;border:0!important;background:transparent!important;overflow:visible!important}
.track-row,.recent-row{
  width:100%!important;height:62px!important;min-height:62px!important;display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto auto auto!important;align-items:center!important;gap:10px!important;
  padding:7px 10px!important;border:1px solid #2b262d!important;border-radius:10px!important;background:#151217!important;color:#fff!important;
  overflow:hidden!important;position:relative!important;contain:layout paint!important;content-visibility:auto!important;contain-intrinsic-size:900px 62px!important
}
.track-row:hover,.recent-row:hover{background:#1c171e!important;border-color:#48404c!important;transform:none!important}.track-row.current{border-color:var(--e81-pink)!important;background:#211722!important}
.track-row>img,.recent-row>img,.track-row .thumb,.recent-row .thumb{display:block!important;width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;aspect-ratio:1!important;object-fit:cover!important;border-radius:7px!important;margin:0!important;box-shadow:none!important;transform:none!important}
.track-info{min-width:0!important;display:grid!important;gap:2px!important}.track-info b{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.artist-link{font-size:8px!important;color:#99919e!important}.source-badge{width:max-content!important;max-width:100%!important;padding:2px 5px!important;border-radius:5px!important;border:1px solid #383139!important;background:#211c22!important;color:#b8b0bc!important;font-size:6px!important}.row-heart,.dots-btn,.row-play{position:static!important;opacity:1!important;transform:none!important}.row-play{width:30px!important;height:30px!important;border:0!important;border-radius:7px!important;background:var(--e81-paper)!important;color:#111!important}.row-heart,.dots-btn{color:#b7aebb!important}
.sortable .track-row{grid-template-columns:18px 48px minmax(0,1fr) auto auto auto!important}

/* ===== CARDS / IMAGES ===== */
.cards,.playlist-grid,.album-grid,.user-grid,.stats-grid,.artist-chip-grid{gap:12px!important}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important}.card,.playlist-card,.album-card,.user-card,.stat-card,.wrapped-preview{min-width:0!important;border:1px solid #302a33!important;border-radius:12px!important;background:#171319!important;color:#fff!important;box-shadow:none!important;overflow:hidden!important;contain:layout paint!important;content-visibility:auto!important;contain-intrinsic-size:220px 270px!important;transition:transform .12s ease,border-color .12s ease!important}.card:hover,.playlist-card:hover,.album-card:hover,.user-card:hover{transform:translateY(-2px)!important;border-color:#514755!important}.card .thumb{width:100%!important;height:auto!important;max-width:none!important;aspect-ratio:16/9!important;border-radius:0!important}.card .thumb img,.card img,.album-card img,.playlist-card img,.playlist-art img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;object-fit:cover!important;margin:0!important}.card .thumb img{height:100%!important}.album-card img,.playlist-card>.playlist-art,.playlist-card>img{aspect-ratio:1!important}.ci{padding:11px!important}.card-play{background:var(--e81-paper)!important;color:#111!important;border:0!important;box-shadow:none!important}

/* ===== BUTTONS / FILTERS ===== */
.pill,.tag,.source-badge,.search-tabs button,.search-filters button,.wrapped-tabs button,.np-tabs button{border:1px solid #3a333d!important;border-radius:8px!important;background:#19151b!important;color:#b5adba!important;box-shadow:none!important}.pill{padding:8px 11px!important}.pill.primary,.search-tabs button.active,.search-filters button.active,.wrapped-tabs button.active,.np-tabs button.active{background:var(--e81-lime)!important;border-color:var(--e81-lime)!important;color:#111!important;font-weight:900!important}.pill:hover{border-color:var(--e81-pink)!important;color:#fff!important}.danger{color:#ff8ea1!important;border-color:#67303d!important}

/* ===== PROFILE / PLAYLIST / ALBUM ===== */
.playlist-hero,.artist-hero,.profile-hero,.album-detail-hero,.album-hero{padding:24px!important;box-shadow:6px 6px 0 var(--e81-blue)!important}.playlist-hero h1,.artist-hero h1,.album-hero h1,.album-detail-meta h1,.profile-hero h1{color:#111!important}.playlist-hero p,.artist-hero p,.album-hero p,.album-detail-meta p,.profile-hero p{color:#655e66!important}.artist-link.large{color:#302a31!important}.playlist-cover,.artist-hero>img,.album-hero>img,.album-detail-cover{border-radius:10px!important;box-shadow:none!important}.profile-stats>*,.stats-grid>*{border:1px solid #302a33!important;border-radius:10px!important;background:#171319!important;color:#fff!important}.profile-avatar,.user-avatar-fallback{border:4px solid var(--e81-pink)!important;box-shadow:none!important}

/* ===== PLAYER ===== */
.player{position:fixed!important;z-index:95!important;left:16px!important;right:16px!important;bottom:14px!important;height:92px!important;padding:10px 14px!important;border:2px solid var(--e81-ink)!important;border-radius:14px!important;background:var(--e81-paper)!important;color:var(--e81-ink)!important;box-shadow:7px 7px 0 var(--e81-blue)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;contain:layout paint!important}.player .track-meta strong,.player .track-meta small,.player .plain-btn,.player-right,.timeline{color:#171217!important}.cover-wrap{width:64px!important;height:64px!important;min-width:64px!important;border-radius:9px!important;background:#ded5c9!important;overflow:hidden!important}.cover-wrap img{width:100%!important;height:100%!important;object-fit:cover!important}.play-btn{width:48px!important;height:48px!important;border-radius:8px!important;background:#111!important;color:#fff!important;border:0!important;box-shadow:none!important}.player input[type=range]{accent-color:var(--e81-pink)!important}.heart-btn{color:#111!important}

/* ===== PANELS / LYRICS ===== */
.queue-panel,.lyrics-panel{position:fixed!important;z-index:96!important;top:16px!important;right:16px!important;bottom:122px!important;width:min(440px,92vw)!important;border:1px solid #413945!important;border-radius:14px!important;background:#151217!important;box-shadow:-10px 18px 40px rgba(0,0,0,.34)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;contain:layout paint!important}.queue-head,.lyrics-head{border-bottom:1px solid #302a34!important}.queue-row,.np-queue-item{border:1px solid transparent!important;border-radius:9px!important;background:#19151b!important;contain:layout paint!important}.queue-row.current{border-color:var(--e81-pink)!important}.lyrics-line.active,.lyric-line.active{background:#201b22!important;color:var(--e81-lime)!important;box-shadow:inset 3px 0 0 var(--e81-lime)!important;transform:none!important}.lyric-line.active .lyric-beat{animation:none!important}.np-backdrop{filter:none!important;opacity:.12!important}.np-card,.np-side{border:1px solid #37303b!important;border-radius:14px!important;background:#151217!important;box-shadow:none!important;backdrop-filter:none!important}

/* ===== PERFORMANCE ===== */
.sidebar,.topbar,.player,.queue-panel,.lyrics-panel,.card,.track-row,.playlist-card,.album-card,.user-card{will-change:auto!important}
img{image-rendering:auto}.content,.queue-list,.lyrics-body,.sidebar-playlists{overscroll-behavior:contain!important;scrollbar-gutter:stable!important}.content>*,.card,.track-row,.playlist-card,.album-card,.user-card,.pill,.nav,.icon-btn{transition-duration:120ms!important}.lyric-line .lyric-text,.lyric-line:after{transition:none!important}

@media(max-width:1180px){:root{--e81-side:82px}.brand-wrap{padding:0 0 14px!important}.brand strong,.brand-wrap small,.playlist-heading span,.sidebar-playlists,.account-user div{display:none!important}.brand{justify-content:center!important}.nav{justify-content:center!important;padding:0!important;font-size:0!important}.nav span{width:auto!important;font-size:16px!important}.playlist-heading{justify-content:center!important}.account .account-user{justify-content:center!important}.main{margin-left:calc(var(--e81-side) + 32px)!important}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){
  .sidebar{left:10px!important;right:10px!important;top:auto!important;bottom:10px!important;width:auto!important;height:62px!important;padding:6px!important;display:block!important;border-radius:14px!important;box-shadow:4px 4px 0 var(--e81-pink)!important}.brand-wrap,.playlist-heading,.sidebar-playlists,.account{display:none!important}.nav-list{height:100%!important;display:flex!important;gap:4px!important;overflow-x:auto!important}.nav{flex:0 0 48px!important;width:48px!important;height:48px!important}.nav.active{box-shadow:2px 2px 0 #111!important;transform:none!important}.main{margin:0!important;padding-bottom:164px!important}.topbar{height:64px!important;padding:8px 10px!important}.content{padding:14px 10px 174px!important}.content:before{margin-top:2px}.hero{min-height:180px!important;padding:22px!important}.hero:before{font-size:90px!important}.hero-actions{display:none!important}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.cards,.playlist-grid,.album-grid,.user-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.player{left:10px!important;right:10px!important;bottom:82px!important;height:72px!important;padding:7px 9px!important;box-shadow:4px 4px 0 var(--e81-blue)!important}.cover-wrap{width:50px!important;height:50px!important;min-width:50px!important}.timeline,.player-right{display:none!important}.track-meta{max-width:42vw!important}.queue-panel,.lyrics-panel{top:8px!important;left:8px!important;right:8px!important;bottom:160px!important;width:auto!important}.track-row,.recent-row{height:58px!important;min-height:58px!important;grid-template-columns:44px minmax(0,1fr) auto!important;padding:6px 8px!important}.track-row>img,.recent-row>img{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important}.track-row .row-heart,.track-row .dots-btn{display:none!important}.sortable .track-row{grid-template-columns:16px 44px minmax(0,1fr) auto!important}
}
@media(max-width:440px){.cards,.playlist-grid,.album-grid,.user-grid{grid-template-columns:1fr!important}.quick-grid{grid-template-columns:1fr 1fr!important}.quick-grid>button{min-height:82px!important;padding:12px!important}.top-actions{display:none!important}.search-shell{height:44px!important}.hero h1,.home-greeting{font-size:34px!important}.hero{min-height:160px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* ===== FIX82 — UNIFIED NEXMUSIC PLAYER ===== */
.player{
  left:18px!important;right:18px!important;bottom:14px!important;height:88px!important;padding:10px 16px!important;
  border:1px solid #38313b!important;border-radius:16px!important;
  background:#151217!important;color:#f4efe6!important;
  box-shadow:0 12px 34px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.035)!important;
  overflow:hidden!important
}
.player:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--e81-pink),var(--e81-purple),var(--e81-blue));pointer-events:none}
.player:after{content:"NOW PLAYING";position:absolute;right:18px;top:8px;color:#5e5662;font-size:6px;font-weight:1000;letter-spacing:.22em;pointer-events:none}
.player .now-playing{min-width:260px!important;max-width:31%!important;gap:11px!important}.player .track-meta strong{color:#f5f0e8!important;font-size:11px!important}.player .track-meta small{color:#8f8793!important;font-size:8px!important}.player .plain-btn,.player-right,.timeline{color:#a59da8!important}.player .plain-btn:hover{color:var(--e81-lime)!important}
.cover-wrap{width:58px!important;height:58px!important;min-width:58px!important;border:1px solid #443b47!important;border-radius:10px!important;background:#211c22!important;box-shadow:none!important}.cover-wrap img{width:100%!important;height:100%!important;object-fit:cover!important}.cover-fallback{background:#211c22!important;color:var(--e81-pink)!important}
.player-center{max-width:760px!important;margin:auto!important}.transport{gap:12px!important}.transport .plain-btn{width:32px!important;height:32px!important;border-radius:8px!important}.play-btn{width:44px!important;height:44px!important;border-radius:10px!important;background:var(--e81-lime)!important;color:#111!important;border:1px solid #111!important;box-shadow:3px 3px 0 var(--e81-pink)!important;transition:transform .12s ease,box-shadow .12s ease!important}.play-btn:hover{transform:translate(-1px,-1px)!important;box-shadow:4px 4px 0 var(--e81-blue)!important}.play-btn:active{transform:translate(1px,1px)!important;box-shadow:1px 1px 0 var(--e81-pink)!important}
.timeline{gap:8px!important}.timeline span{font-size:7px!important;color:#77707b!important}.player input[type=range]{height:3px!important;accent-color:var(--e81-pink)!important}.player-right{min-width:205px!important;gap:9px!important}.player-right>span{font-size:12px!important}.heart-btn{color:#9b929e!important}.heart-btn:hover{color:var(--e81-pink)!important}
@media(max-width:760px){.player{left:10px!important;right:10px!important;bottom:82px!important;height:70px!important;padding:7px 10px 7px 12px!important;border-radius:14px!important;box-shadow:0 10px 28px rgba(0,0,0,.34)!important}.player:after{display:none!important}.player .now-playing{min-width:0!important;max-width:58%!important}.cover-wrap{width:48px!important;height:48px!important;min-width:48px!important}.player-center{margin-left:auto!important}.transport{gap:3px!important}.transport #shuffle,.transport #prev,.transport #next,.transport #repeat{display:none!important}.play-btn{width:42px!important;height:42px!important;box-shadow:2px 2px 0 var(--e81-pink)!important}.timeline,.player-right{display:none!important}.track-meta{max-width:38vw!important}}

/* ===== FIX83 — ADAPTIVE LAYOUT + PLAYER POLISH ===== */
:root{
  --nx83-gutter:clamp(10px,1.1vw,22px);
  --nx83-player-h:clamp(66px,7.2vh,78px);
  --nx83-content-max:1920px;
}
html{font-size:clamp(13px,.78vw + 4px,16px)!important}
body{min-width:0!important}

/* Fluid app frame */
.sidebar{
  left:var(--nx83-gutter)!important;top:var(--nx83-gutter)!important;
  bottom:calc(var(--nx83-player-h) + var(--nx83-gutter) * 2 + 4px)!important;
  width:clamp(196px,13.2vw,238px)!important;
  padding:clamp(12px,1vw,18px) clamp(10px,.8vw,14px)!important;
  border-radius:clamp(12px,1vw,18px)!important;
}
.main{
  margin-left:calc(clamp(196px,13.2vw,238px) + var(--nx83-gutter) * 2)!important;
  min-width:0!important;
}
.topbar{
  height:clamp(60px,6.5vh,76px)!important;
  padding:clamp(8px,1vh,14px) clamp(12px,1.25vw,22px)!important;
}
.search-shell{height:clamp(42px,4.5vh,48px)!important}
.content{
  max-width:var(--nx83-content-max)!important;
  padding:clamp(14px,1.4vw,24px) clamp(12px,1.55vw,30px) calc(var(--nx83-player-h) + 48px)!important;
}
.hero{min-height:clamp(160px,20vh,210px)!important;padding:clamp(20px,2vw,34px)!important}
.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(8px,.8vw,12px)!important}.quick-grid>button,.quick-card{min-height:clamp(78px,9.3vh,100px)!important;padding:clamp(11px,1vw,16px)!important}
.cards{grid-template-columns:repeat(auto-fill,minmax(clamp(150px,11vw,190px),1fr))!important;gap:clamp(8px,.8vw,13px)!important}
.playlist-grid,.album-grid,.user-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(155px,12vw,210px),1fr))!important;gap:clamp(9px,.9vw,14px)!important}

/* Recent/track artwork can never explode beyond its row. */
.track-row,.recent-row{height:clamp(54px,5.9vh,62px)!important;min-height:54px!important;overflow:hidden!important}
.track-row>img,.recent-row>img,.track-row .thumb,.recent-row .thumb{width:clamp(42px,3.1vw,48px)!important;height:clamp(42px,3.1vw,48px)!important;min-width:42px!important;min-height:42px!important;max-width:48px!important;max-height:48px!important;object-fit:cover!important}

/* Player: shorter, denser and visually integrated with the single theme. */
.player{
  left:var(--nx83-gutter)!important;right:var(--nx83-gutter)!important;bottom:var(--nx83-gutter)!important;
  height:var(--nx83-player-h)!important;min-height:66px!important;
  padding:7px clamp(10px,1vw,16px)!important;
  display:grid!important;grid-template-columns:minmax(190px,30%) minmax(320px,1fr) minmax(150px,22%)!important;
  align-items:center!important;gap:clamp(10px,1.2vw,22px)!important;
  border:1px solid #37313b!important;border-radius:13px!important;
  background:#121014!important;color:#f4efe6!important;
  box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
  contain:layout paint!important;
}
.player:before{width:3px!important;background:linear-gradient(180deg,var(--e81-pink),var(--e81-lime),var(--e81-blue))!important}
.player:after{display:none!important}
.player .now-playing{min-width:0!important;max-width:none!important;width:100%!important;gap:10px!important;overflow:hidden!important}
.cover-wrap{width:clamp(46px,4.2vh,54px)!important;height:clamp(46px,4.2vh,54px)!important;min-width:clamp(46px,4.2vh,54px)!important;border-radius:9px!important}
.player .track-meta{min-width:0!important;max-width:none!important}.player .track-meta strong{display:block!important;font-size:clamp(9px,.67vw,11px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.player .track-meta small{display:block!important;font-size:clamp(7px,.52vw,8px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.player-center{width:100%!important;max-width:760px!important;min-width:0!important;margin:0 auto!important;display:grid!important;gap:4px!important}.transport{gap:clamp(5px,.7vw,11px)!important}.transport .plain-btn{width:clamp(27px,2.1vw,32px)!important;height:clamp(27px,2.1vw,32px)!important}.play-btn{width:clamp(38px,3vw,43px)!important;height:clamp(38px,3vw,43px)!important;border-radius:9px!important;box-shadow:2px 2px 0 var(--e81-pink)!important}.timeline{width:100%!important;gap:6px!important}.timeline input{min-width:0!important}.timeline span{min-width:28px!important}
.player-right{min-width:0!important;width:100%!important;justify-content:flex-end!important;gap:clamp(6px,.7vw,10px)!important}.player-right input[type=range]{width:clamp(72px,8vw,130px)!important;min-width:0!important}

/* Side panels follow the actual available viewport height. */
.queue-panel,.lyrics-panel{top:var(--nx83-gutter)!important;right:var(--nx83-gutter)!important;bottom:calc(var(--nx83-player-h) + var(--nx83-gutter) * 2 + 4px)!important;width:min(420px,34vw)!important;min-width:300px!important}

/* Wide screens: use space, don't just magnify everything. */
@media(min-width:1600px){
  .content{max-width:1800px!important}
  .cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}
  .quick-grid{gap:14px!important}
}
@media(min-width:2200px){
  .content{max-width:2080px!important}
  .cards{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))!important}
}

/* Laptop / short-height layouts */
@media(max-width:1366px),(max-height:820px){
  :root{--nx83-player-h:68px;--nx83-gutter:10px}
  .sidebar{width:82px!important;padding:10px 8px!important}.brand-wrap{padding:0 0 12px!important}.brand strong,.brand-wrap small,.playlist-heading span,.sidebar-playlists,.account-user div{display:none!important}.brand{justify-content:center!important}.brand-logo{width:34px!important;height:34px!important}.nav{justify-content:center!important;padding:0!important;font-size:0!important;height:38px!important}.nav span{width:auto!important;font-size:15px!important}.playlist-heading{justify-content:center!important}.account .account-user{justify-content:center!important}.main{margin-left:102px!important}
  .topbar{height:58px!important;padding:8px 12px!important}.content{padding-top:12px!important}.content:before{margin-bottom:9px!important}
  .hero{min-height:145px!important;padding:18px!important}.hero:before{font-size:84px!important}
  .quick-grid>button,.quick-card{min-height:72px!important}
  .player{grid-template-columns:minmax(175px,28%) minmax(270px,1fr) minmax(125px,20%)!important}.cover-wrap{width:46px!important;height:46px!important;min-width:46px!important}.play-btn{width:38px!important;height:38px!important}.player-right input[type=range]{width:80px!important}
}

/* Mid-size tablet / narrow desktop */
@media(max-width:1024px){
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .player{grid-template-columns:minmax(160px,34%) minmax(230px,1fr) auto!important}.player-right input[type=range]{display:none!important}.player-right>span{display:none!important}
  .queue-panel,.lyrics-panel{width:min(390px,48vw)!important}
}

/* Mobile */
@media(max-width:760px){
  :root{--nx83-player-h:68px;--nx83-gutter:10px}
  .sidebar{left:10px!important;right:10px!important;top:auto!important;bottom:10px!important;width:auto!important;height:60px!important;padding:6px!important;border-radius:13px!important}.main{margin:0!important;padding-bottom:154px!important}.content{padding:12px 10px 164px!important}.topbar{height:58px!important;padding:7px 9px!important}
  .hero{min-height:150px!important;padding:18px!important}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cards,.playlist-grid,.album-grid,.user-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .player{left:10px!important;right:10px!important;bottom:78px!important;height:66px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:7px 9px 7px 11px!important}.player .now-playing{max-width:none!important}.player-center{width:auto!important}.transport #shuffle,.transport #prev,.transport #next,.transport #repeat{display:none!important}.timeline,.player-right{display:none!important}.cover-wrap{width:46px!important;height:46px!important;min-width:46px!important}.play-btn{width:40px!important;height:40px!important}.heart-btn{display:none!important}
  .queue-panel,.lyrics-panel{top:8px!important;left:8px!important;right:8px!important;bottom:152px!important;width:auto!important;min-width:0!important}
}
@media(max-width:480px){
  .cards,.playlist-grid,.album-grid,.user-grid{grid-template-columns:1fr!important}.quick-grid{grid-template-columns:1fr 1fr!important}.quick-grid>button,.quick-card{min-height:70px!important}.hero h1,.home-greeting{font-size:clamp(27px,9vw,34px)!important}.top-actions{display:none!important}.player .track-meta strong{max-width:44vw!important}
}
@media(max-width:360px){.quick-grid{grid-template-columns:1fr!important}.nav{flex-basis:44px!important;width:44px!important}.player .track-meta small{display:none!important}}

/* Height-specific safety nets (browser UI, 16:10 laptops, split screen). */
@media(max-height:700px) and (min-width:761px){
  :root{--nx83-player-h:64px;--nx83-gutter:8px}
  .sidebar{top:8px!important;bottom:80px!important}.topbar{height:54px!important}.content{padding-top:10px!important;padding-bottom:92px!important}.hero{min-height:126px!important;padding:15px!important}.quick-grid{margin:12px 0 18px!important}.quick-grid>button,.quick-card{min-height:64px!important}.player{height:64px!important}.cover-wrap{width:42px!important;height:42px!important;min-width:42px!important}.play-btn{width:36px!important;height:36px!important}.queue-panel,.lyrics-panel{top:8px!important;bottom:80px!important}
}

/* ===== FIX88 — FLUID RESPONSIVE SYSTEM =====
   One layout system: viewport-sized main area + auto-fit grids.
   No fixed 4/5/6-column rules for desktop. */
:root{
  --nx88-gutter:clamp(8px,1vw,18px);
  --nx88-side:clamp(196px,13.2vw,238px);
  --nx88-card-min:180px;
  --nx88-foryou-min:200px;
}

html,body{width:100%;max-width:100%;overflow-x:hidden!important}
.shell{width:100%;max-width:100%;overflow-x:hidden!important}
.sidebar{width:var(--nx88-side)!important;left:var(--nx88-gutter)!important}
.main{
  box-sizing:border-box!important;
  margin-left:calc(var(--nx88-side) + (var(--nx88-gutter) * 2))!important;
  margin-right:var(--nx88-gutter)!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  overflow:hidden!important;
}
.topbar,.content{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
.content{overflow-x:hidden!important}
.content>*{max-width:100%!important;min-width:0!important}

/* Fluid grids: browser chooses the number of columns from available width. */
.cards,.playlist-grid,.album-grid,.user-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--nx88-card-min)),1fr))!important;
  gap:clamp(9px,.8vw,13px)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.foryou-grid .cards,#homeForYou .cards{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--nx88-foryou-min)),1fr))!important;
}
.card,.playlist-card,.album-card,.user-card{width:100%!important;max-width:100%!important;min-width:0!important}
.card .thumb,.foryou-grid .card .thumb,#homeForYou .card .thumb{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  border-radius:0!important;
}
.card .thumb img,.foryou-grid .card .thumb img,#homeForYou .card .thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.quick-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;
  width:100%!important;
  max-width:100%!important;
}
.search-shell{width:min(620px,100%)!important;max-width:100%!important}
.hero,.recent-list,.section-head,.page-title,#homeForYou,.foryou-grid{width:100%!important;max-width:100%!important;min-width:0!important}

/* Existing compact-sidebar breakpoint, but keep exact viewport math. */
@media(max-width:1366px),(max-height:820px){
  :root{--nx88-side:82px}
  .main{
    margin-left:calc(var(--nx88-side) + (var(--nx88-gutter) * 2))!important;
    margin-right:var(--nx88-gutter)!important;
    width:auto!important;
  }
}

/* Mobile uses the bottom navigation; content gets the whole viewport. */
@media(max-width:760px){
  :root{--nx88-side:0px;--nx88-card-min:150px;--nx88-foryou-min:155px}
  .main{margin:0!important;width:100vw!important;max-width:100vw!important}
  .content{padding-left:10px!important;padding-right:10px!important}
  .search-shell{width:100%!important}
}
@media(max-width:460px){
  :root{--nx88-card-min:100%;--nx88-foryou-min:100%}
  .quick-grid{grid-template-columns:1fr 1fr!important}
}

/* Smoother long pages without changing app behavior. */
.card,.track-row,.playlist-card,.album-card,.user-card{content-visibility:auto!important}
.card{contain-intrinsic-size:200px 245px!important}
.track-row{contain-intrinsic-size:800px 58px!important}
@media(prefers-reduced-motion:no-preference){
  .card,.playlist-card,.album-card,.user-card{transition:transform 100ms ease,border-color 100ms ease!important}
}


/* FIX89 — Fill the real remaining browser width.
   Avoid 100vw calculations: auto width is more robust with browser zoom,
   Windows scaling and scrollbar width. */
.main{width:auto!important}
.content{padding-left:clamp(12px,1.25vw,22px)!important;padding-right:clamp(12px,1.25vw,22px)!important}
@media(min-width:1600px){
  :root{--nx88-gutter:clamp(8px,.65vw,12px)}
}
@media(max-width:760px){
  .main{width:auto!important;margin:0!important}
  .content{padding-left:10px!important;padding-right:10px!important}
}


/* FIX90 — Mobile layout: real viewport, stable bottom nav/player, no overlaps */
@media (max-width:760px){
  :root{
    --nx90-safe-bottom:env(safe-area-inset-bottom,0px);
    --nx90-nav-h:58px;
    --nx90-player-h:64px;
    --nx90-gap:8px;
  }
  html,body{width:100%!important;max-width:100%!important;min-height:100%!important;overflow-x:hidden!important}
  body{min-height:100dvh!important}
  .shell{width:100%!important;min-height:100dvh!important;padding-bottom:0!important}

  /* Main page occupies the phone width without desktop margins. */
  .main{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0!important;border:0!important;border-radius:0!important;
    overflow:visible!important;
  }
  .topbar{
    position:sticky!important;top:0!important;z-index:40!important;
    width:100%!important;height:58px!important;
    padding:8px 10px!important;
    background:#0d0a0f!important;
  }
  .search-wrap,.search-shell{width:100%!important;max-width:100%!important;min-width:0!important}
  .top-actions{display:none!important}
  .content{
    width:100%!important;max-width:100%!important;min-width:0!important;
    padding:12px 10px calc(var(--nx90-nav-h) + var(--nx90-player-h) + var(--nx90-gap)*3 + var(--nx90-safe-bottom))!important;
    overflow-x:hidden!important;
  }

  /* Home blocks */
  .hero{min-height:130px!important;padding:16px!important;border-radius:12px!important}
  .hero h1,.home-greeting{font-size:clamp(30px,10.5vw,44px)!important;line-height:.9!important;max-width:100%!important}
  .hero p{font-size:13px!important}.hero-actions{display:none!important}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:10px 0 20px!important}
  .quick-grid>button,.quick-card{min-width:0!important;min-height:68px!important;padding:10px!important}
  .quick-grid>button b{font-size:11px!important}.quick-grid>button small{font-size:7px!important}
  .quick-grid>button>span,.quick-play{width:34px!important;height:34px!important;min-width:34px!important}
  .section-head{margin:18px 0 8px!important}.section-head h2{font-size:18px!important}

  /* Recent rows: compact and deterministic. */
  .track-row,.recent-row{
    width:100%!important;height:52px!important;min-height:52px!important;
    grid-template-columns:40px minmax(0,1fr) 30px!important;
    gap:8px!important;padding:5px 7px!important;border-radius:9px!important;
  }
  .track-row>img,.recent-row>img{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important}
  .track-info b{font-size:9px!important}.track-info .artist-link{font-size:7px!important}.source-badge{font-size:5px!important}
  .track-row .row-heart,.track-row .dots-btn,.recent-row .row-heart,.recent-row .dots-btn{display:none!important}
  .track-row .row-play,.recent-row .row-play{display:grid!important;width:28px!important;height:28px!important}

  /* Cards are one column on phones; no horizontal clipping. */
  .cards,.foryou-grid .cards,#homeForYou .cards,.playlist-grid,.album-grid,.user-grid{
    grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;overflow:visible!important;
  }
  .card .thumb,.foryou-grid .card .thumb,#homeForYou .card .thumb{width:100%!important;min-height:0!important;aspect-ratio:16/9!important}

  /* Bottom navigation: always visible, horizontal scroll for all sections. */
  .sidebar{
    position:fixed!important;z-index:110!important;
    left:8px!important;right:8px!important;bottom:calc(8px + var(--nx90-safe-bottom))!important;
    top:auto!important;width:auto!important;height:var(--nx90-nav-h)!important;
    padding:5px!important;border-radius:13px!important;display:block!important;overflow:hidden!important;
    background:#f4eee3!important;
  }
  .brand-wrap,.playlist-heading,.sidebar-playlists,.account{display:none!important}
  .nav-list{display:flex!important;align-items:center!important;height:100%!important;gap:4px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}
  .nav-list::-webkit-scrollbar{display:none!important}
  .nav{flex:0 0 46px!important;width:46px!important;height:46px!important;min-width:46px!important;padding:0!important;justify-content:center!important;font-size:0!important;border-radius:10px!important}
  .nav span{font-size:16px!important;width:auto!important}.nav.active{transform:none!important}

  /* Player sits above the navigation and never becomes a full track-row. */
  .player{
    position:fixed!important;z-index:105!important;
    left:8px!important;right:8px!important;
    bottom:calc(var(--nx90-nav-h) + 16px + var(--nx90-safe-bottom))!important;
    width:auto!important;height:var(--nx90-player-h)!important;min-height:var(--nx90-player-h)!important;
    padding:7px 9px!important;border-radius:12px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;
    overflow:hidden!important;
  }
  .player .now-playing{width:100%!important;max-width:none!important;min-width:0!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;overflow:hidden!important}
  .cover-wrap{width:42px!important;height:42px!important;min-width:42px!important}
  .player .track-meta{min-width:0!important;max-width:none!important;overflow:hidden!important}
  .player .track-meta strong{font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .player .track-meta small{font-size:7px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .heart-btn{display:none!important}
  .player-center{width:auto!important;margin:0!important;display:block!important}
  .transport{display:flex!important;gap:0!important}.transport #shuffle,.transport #prev,.transport #next,.transport #repeat{display:none!important}
  .play-btn{width:40px!important;height:40px!important;min-width:40px!important}
  .timeline,.player-right{display:none!important}

  /* Panels stay above player/nav. */
  .queue-panel,.lyrics-panel{left:8px!important;right:8px!important;top:8px!important;bottom:calc(var(--nx90-nav-h) + var(--nx90-player-h) + 26px + var(--nx90-safe-bottom))!important;width:auto!important;min-width:0!important}
}

@media (max-width:390px){
  .content{padding-left:8px!important;padding-right:8px!important}
  .hero{padding:14px!important}.hero h1,.home-greeting{font-size:clamp(28px,10vw,38px)!important}
  .quick-grid{gap:6px!important}.quick-grid>button,.quick-card{padding:8px!important}
}


/* FIX91 — Mobile mini-player: always visible above bottom nav with real controls */
@media (max-width:760px){
  :root{
    --nx91-nav-h:58px;
    --nx91-player-h:72px;
    --nx91-safe-bottom:env(safe-area-inset-bottom,0px);
  }

  /* Reserve enough space for BOTH the player and the nav. */
  .content{
    padding-bottom:calc(var(--nx91-nav-h) + var(--nx91-player-h) + 32px + var(--nx91-safe-bottom))!important;
  }

  /* Bottom nav stays at the very bottom. */
  .sidebar{
    z-index:120!important;
    bottom:calc(8px + var(--nx91-safe-bottom))!important;
    height:var(--nx91-nav-h)!important;
  }

  /* Compact mini player, independent from desktop layout rules. */
  #player.player{
    position:fixed!important;
    z-index:119!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(var(--nx91-nav-h) + 18px + var(--nx91-safe-bottom))!important;
    width:auto!important;
    height:var(--nx91-player-h)!important;
    min-height:var(--nx91-player-h)!important;
    max-height:var(--nx91-player-h)!important;
    padding:7px 8px!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
    overflow:hidden!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    border-radius:13px!important;
  }

  #player .now-playing{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  #player .cover-wrap{
    display:block!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    max-width:44px!important;
    max-height:44px!important;
  }
  #player .track-meta{
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
  }
  #player .track-meta strong{
    display:block!important;
    max-width:100%!important;
    font-size:9px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #player .track-meta small{
    display:block!important;
    max-width:100%!important;
    margin-top:3px!important;
    font-size:7px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #player .heart-btn{display:none!important}

  #player .player-center{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
  #player .transport{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:3px!important;
  }
  #player .transport #shuffle,
  #player .transport #repeat{
    display:none!important;
  }
  #player .transport #prev,
  #player .transport #next{
    display:grid!important;
    place-items:center!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    padding:0!important;
    font-size:11px!important;
  }
  #player #playPause{
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    padding:0!important;
    font-size:16px!important;
  }
  #player .timeline,
  #player .player-right{
    display:none!important;
  }

  .queue-panel,.lyrics-panel{
    bottom:calc(var(--nx91-nav-h) + var(--nx91-player-h) + 30px + var(--nx91-safe-bottom))!important;
  }
}

/* Very narrow phones: keep title readable by trimming transport buttons slightly. */
@media (max-width:380px){
  #player.player{grid-template-columns:minmax(0,1fr) auto!important;padding-left:6px!important;padding-right:6px!important}
  #player .now-playing{grid-template-columns:40px minmax(0,1fr)!important;gap:6px!important}
  #player .cover-wrap{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important}
  #player .transport #prev,#player .transport #next{width:26px!important;height:26px!important;min-width:26px!important;font-size:10px!important}
  #player #playPause{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
}


/* FIX96 — single-source Now Playing component. No stacked mobile patches. */
.now-playing-screen{
  position:fixed!important;
  inset:0!important;
  z-index:10000!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  background:var(--e81-bg)!important;
  color:#fff!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  isolation:isolate!important;
}
.now-playing-screen.hidden{display:none!important}
.now-playing-screen:not(.hidden){display:flex!important;align-items:center!important;justify-content:center!important}
.now-playing-screen .np-backdrop{position:absolute!important;inset:0!important;opacity:.08!important;filter:none!important;transform:none!important;pointer-events:none!important}
.now-playing-screen .np-shell{position:relative!important;z-index:2!important;min-width:0!important;min-height:0!important}
.now-playing-screen .np-card{border:2px solid var(--e81-ink)!important;border-radius:18px!important;background:var(--e81-paper)!important;color:var(--e81-ink)!important;box-shadow:7px 7px 0 var(--e81-pink)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.now-playing-screen .np-info span{color:#6f8f00!important;font-weight:1000!important;letter-spacing:.18em!important}
.now-playing-screen .np-info h1{color:var(--e81-ink)!important}
.now-playing-screen .np-info p,.now-playing-screen .np-timeline{color:#625b63!important}
.now-playing-screen .np-timeline input{accent-color:var(--e81-pink)!important}
.now-playing-screen .np-controls .plain-btn{color:var(--e81-ink)!important}
.now-playing-screen .np-controls .plain-btn:hover{color:var(--e81-pink)!important}
.now-playing-screen .np-play{border:2px solid var(--e81-ink)!important;border-radius:12px!important;background:var(--e81-lime)!important;color:var(--e81-ink)!important;box-shadow:4px 4px 0 var(--e81-pink)!important}
.now-playing-screen .np-side{border:1px solid var(--e81-line)!important;border-radius:16px!important;background:var(--e81-panel)!important;color:#fff!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.now-playing-screen .np-tabs button{border:1px solid #3a333d!important;border-radius:9px!important;background:#19151b!important;color:#b5adba!important}
.now-playing-screen .np-tabs button.active{background:var(--e81-lime)!important;border-color:var(--e81-lime)!important;color:var(--e81-ink)!important;font-weight:900!important}
.now-playing-screen .np-close{position:fixed!important;z-index:10020!important;border:2px solid var(--e81-ink)!important;border-radius:11px!important;background:var(--e81-paper)!important;color:var(--e81-ink)!important;box-shadow:3px 3px 0 var(--e81-pink)!important;pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important}
.np-mobile-back{display:none!important}

/* The modal state owns the page. Underlying player/nav can never sit above it. */
html.np-open,body.np-open{overflow:hidden!important;overscroll-behavior:none!important}
body.np-open #player,body.np-open .sidebar{visibility:hidden!important;pointer-events:none!important}

@media(min-width:761px){
  .now-playing-screen{padding:24px!important}
  .now-playing-screen .np-close{top:20px!important;right:24px!important;width:42px!important;height:42px!important}
}

@media(max-width:760px){
  html.np-open,body.np-open{height:100%!important;touch-action:none!important}
  body.np-open #player,body.np-open .sidebar{display:none!important}
  .now-playing-screen{
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
    align-items:stretch!important;
    justify-content:center!important;
    touch-action:none!important;
  }
  .now-playing-screen .np-close{top:max(9px,calc(env(safe-area-inset-top) + 5px))!important;right:9px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;font-size:17px!important}
  .now-playing-screen .np-shell{
    width:min(100%,480px)!important;
    max-width:480px!important;
    height:100%!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:42px 0 0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    gap:9px!important;
    overflow:hidden!important;
    touch-action:none!important;
  }
  .now-playing-screen .np-card{
    width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:10px 11px 12px!important;display:grid!important;justify-items:center!important;align-content:start!important;overflow:hidden!important
  }
  .now-playing-screen .np-cover{display:block!important;width:min(49vw,205px)!important;max-width:100%!important;height:auto!important;max-height:24dvh!important;aspect-ratio:1!important;object-fit:cover!important;margin:0 auto!important;border:2px solid var(--e81-ink)!important;border-radius:11px!important}
  .now-playing-screen .np-info{width:100%!important;max-width:100%!important;min-width:0!important;margin:7px 0 0!important;padding:0 2px!important;overflow:hidden!important}
  .now-playing-screen .np-info span{display:block!important;font-size:6.5px!important;line-height:1.15!important;margin-bottom:3px!important}
  .now-playing-screen .np-info h1{width:100%!important;max-width:100%!important;margin:0!important;font-size:clamp(17px,5.3vw,23px)!important;line-height:1.04!important;letter-spacing:-.025em!important;text-wrap:balance!important;overflow-wrap:anywhere!important}
  .now-playing-screen .np-info p{width:100%!important;margin:4px 0 0!important;font-size:8px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .now-playing-screen .np-timeline{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:28px minmax(0,1fr) 28px!important;gap:5px!important;margin:7px 0 5px!important;font-size:7px!important}
  .now-playing-screen .np-timeline input{width:100%!important;min-width:0!important}
  .now-playing-screen .np-controls{width:100%!important;justify-content:center!important;gap:clamp(9px,4.2vw,18px)!important;margin:0!important}
  .now-playing-screen .np-controls .plain-btn{width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;display:grid!important;place-items:center!important;font-size:12px!important}
  .now-playing-screen .np-play{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;display:grid!important;place-items:center!important;font-size:15px!important}
  .now-playing-screen .np-side{width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:9px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:13px!important;touch-action:pan-y!important}
  .now-playing-screen .np-tabs{flex:0 0 auto!important;display:flex!important;gap:6px!important;margin:0 0 7px!important}
  .now-playing-screen .np-tabs button{min-height:34px!important;padding:6px 11px!important;font-size:11px!important}
  .now-playing-screen .np-pane{flex:1 1 auto!important;width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:none!important;padding:4px 4px 18px!important;margin:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:auto!important}
  .now-playing-screen .np-pane .muted,.now-playing-screen .np-pane .plain-lyric{color:#d7d0d8!important;font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
  .now-playing-screen .np-pane .muted{margin:12px 4px!important;opacity:.84!important}
  .now-playing-screen .np-pane .lyric-line{width:100%!important;max-width:100%!important;margin:2px 0!important;padding:8px 9px 8px 12px!important;font-size:clamp(14px,4.2vw,17px)!important;line-height:1.35!important;overflow-wrap:anywhere!important;transform:none!important}
  .now-playing-screen .np-pane .lyric-line.active{font-size:clamp(15px,4.5vw,18px)!important;transform:none!important}
}

@media(max-width:760px) and (max-height:700px){
  .now-playing-screen .np-shell{padding-top:38px!important;gap:7px!important}
  .now-playing-screen .np-card{padding:8px 9px 9px!important}
  .now-playing-screen .np-cover{width:min(40vw,155px)!important;max-height:20dvh!important}
  .now-playing-screen .np-info{margin-top:5px!important}
  .now-playing-screen .np-info h1{font-size:clamp(16px,4.8vw,20px)!important}
  .now-playing-screen .np-timeline{margin:5px 0 4px!important}
  .now-playing-screen .np-play{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
}


/* FIX97 — Lyrics focus: current line stays high enough to see what comes next. */
.now-playing-screen .np-pane#npLyrics{scroll-padding-top:30%!important;position:relative!important}
.now-playing-screen #npLyrics .lyric-line{opacity:.48!important;color:#aaa2ad!important;transition:opacity .12s ease,background .12s ease,color .12s ease!important}
.now-playing-screen #npLyrics .lyric-line.past{opacity:.22!important}
.now-playing-screen #npLyrics .lyric-line.next{opacity:.78!important;color:#e0d9e1!important}
.now-playing-screen #npLyrics .lyric-line.active{
  opacity:1!important;color:#111!important;background:var(--e81-paper)!important;
  border:1px solid var(--e81-ink)!important;border-left:5px solid var(--e81-lime)!important;
  box-shadow:3px 3px 0 var(--e81-pink)!important;
  padding:11px 12px!important;margin:7px 2px 10px!important;transform:none!important;
}
.now-playing-screen #npLyrics .lyric-line.active .lyric-text{
  color:#111!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;
  filter:none!important;font-weight:950!important;
}
.now-playing-screen #npLyrics .lyric-line.active::after{display:none!important}
@media(max-width:760px){
  .now-playing-screen #npLyrics{padding-bottom:46dvh!important}
  .now-playing-screen #npLyrics .lyric-line{font-size:clamp(15px,4.35vw,18px)!important;line-height:1.38!important;padding:9px 10px!important}
  .now-playing-screen #npLyrics .lyric-line.active{font-size:clamp(17px,4.8vw,20px)!important;line-height:1.32!important}
  .now-playing-screen #npLyrics .plain-lyric{font-size:15px!important;line-height:1.55!important;color:#e2dce3!important}
}


/* FIX99 — Biblioteca: icono de libro abierto consistente con el resto de la navegación */
.nav-icon-library{display:grid!important;place-items:center!important}
.nav-icon-library svg{display:block!important;width:16px!important;height:16px!important;overflow:visible!important}
@media(max-width:760px){.nav-icon-library svg{width:17px!important;height:17px!important}}


/* FIX100 — consistent SVG nav icons */
.nav-icon-stats{display:inline-flex!important;align-items:center!important;justify-content:center!important}
.nav-icon-stats svg{width:15px!important;height:15px!important;display:block!important}
@media(max-width:760px){.nav-icon-stats svg{width:17px!important;height:17px!important}}

/* FIX107 — consolidated mobile dock + player maintenance.
   Replaces FIX101–FIX105 cascade patches with one predictable source of truth. */
.mobile-more-nav,.mobile-more-menu{display:none!important}
.row-duration{display:none;color:#8f8792;font-size:8px;font-variant-numeric:tabular-nums;white-space:nowrap}

@media(min-width:761px){
  #player.player{border-color:#3b343d!important;background:linear-gradient(180deg,#151217 0%,#100e11 100%)!important;box-shadow:0 10px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.035)!important}
  #player.player:before{content:""!important;position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:3px!important;background:linear-gradient(180deg,var(--e81-pink),var(--e81-lime),var(--e81-blue))!important}
  #player .cover-wrap{border:1px solid #39313b!important;box-shadow:0 4px 12px rgba(0,0,0,.2)!important}
  #player #playPause{background:var(--e81-lime)!important;color:#111!important;border:0!important;box-shadow:3px 3px 0 var(--e81-pink)!important}
  #player .timeline input{height:3px!important}
  #player .track-meta strong{letter-spacing:-.01em!important}
}
@media(min-width:1350px){
  .track-row,.recent-row{grid-template-columns:48px minmax(0,1fr) auto auto auto auto!important}
  .row-duration{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;min-width:34px!important;padding:0 4px!important}
}

@media(max-width:760px){
  :root{--nx-mobile-safe:env(safe-area-inset-bottom,0px);--nx-mobile-edge:8px;--nx-mobile-nav:56px;--nx-mobile-player:64px;--nx-mobile-dock:calc(var(--nx-mobile-nav) + var(--nx-mobile-player))}
  #player.player{left:var(--nx-mobile-edge)!important;right:var(--nx-mobile-edge)!important;bottom:calc(var(--nx-mobile-edge) + var(--nx-mobile-nav) + var(--nx-mobile-safe))!important;height:var(--nx-mobile-player)!important;min-height:var(--nx-mobile-player)!important;max-height:var(--nx-mobile-player)!important;padding:6px 8px 10px!important;display:block!important;overflow:hidden!important;border-radius:13px 13px 0 0!important;border-bottom:0!important;background:#121014!important;box-shadow:none!important}
  #player .now-playing{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:7px!important;width:100%!important;height:100%!important;min-width:0!important;padding:5px 101px 9px 5px!important;align-items:center!important;cursor:pointer!important}
  #player .cover-wrap{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important}
  #player .heart-btn,#player .player-right{display:none!important}
  #player .track-meta{min-width:0!important;max-width:100%!important;overflow:hidden!important}
  #player .track-meta strong{display:block!important;font-size:8.8px!important;line-height:1.12!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #player .track-meta small{font-size:6.5px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #player .track-meta strong.nx102-marquee{overflow:visible!important;text-overflow:clip!important;width:max-content!important;animation:nx107Marquee 9s linear infinite alternate!important}
  @keyframes nx107Marquee{from{transform:translateX(0)}to{transform:translateX(var(--nx102-marquee-shift,-45px))}}
  #player .player-center{display:block!important;position:static!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important;overflow:visible!important}
  #player .transport{display:flex!important;position:absolute!important;right:8px!important;top:47%!important;transform:translateY(-50%)!important;width:90px!important;min-width:90px!important;max-width:90px!important;align-items:center!important;justify-content:space-between!important;gap:4px!important;z-index:7!important}
  #player .transport #shuffle,#player .transport #repeat{display:none!important}
  #player .transport #prev,#player .transport #next{display:grid!important;place-items:center!important;width:22px!important;height:26px!important;min-width:22px!important;min-height:26px!important;padding:0!important;border:0!important;background:transparent!important;color:#f4efe6!important;font-size:9px!important;line-height:1!important}
  #player #playPause{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;border-radius:9px!important;background:var(--e81-lime)!important;color:#111!important;box-shadow:2px 2px 0 var(--e81-pink)!important;font-size:12px!important;line-height:1!important}
  #player .timeline{display:flex!important;position:absolute!important;left:8px!important;right:8px!important;bottom:3px!important;width:auto!important;height:2px!important;margin:0!important;padding:0!important;gap:0!important;align-items:center!important;z-index:6!important}
  #player .timeline span{display:none!important}
  #player .timeline input{display:block!important;width:100%!important;height:2px!important;margin:0!important;padding:0!important}
  .row-duration{display:none!important}

  .sidebar{left:var(--nx-mobile-edge)!important;right:var(--nx-mobile-edge)!important;bottom:calc(var(--nx-mobile-edge) + var(--nx-mobile-safe))!important;height:var(--nx-mobile-nav)!important;padding:5px 6px!important;border-radius:0 0 13px 13px!important;border-top:1px solid #d8d0c4!important;box-shadow:5px 5px 0 var(--e81-pink)!important}
  .nav-list{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:3px!important;overflow:visible!important;width:100%!important}
  .nav-list>.nav{display:none!important}
  .nav-list>.nav[data-page="home"],.nav-list>.nav[data-page="foryou"],.nav-list>.nav[data-page="nexflow"],.nav-list>.nav[data-page="search"],.nav-list>.nav[data-page="library"],.nav-list>.mobile-more-nav{display:flex!important;width:100%!important;min-width:0!important;height:44px!important}
  .mobile-more-nav{font-size:0!important}
  .mobile-more-nav>span{font-size:0!important}
  .mobile-more-nav>span:before{content:'•••';font-size:18px!important;letter-spacing:2px}
  .mobile-more-nav[aria-expanded="true"]>span:before{content:'×';font-size:24px!important;letter-spacing:0}
  .mobile-more-nav[aria-expanded="true"],.mobile-more-nav.active{background:#e8e1d7!important;color:#111!important;box-shadow:none!important}

  .content{padding-bottom:calc(var(--nx-mobile-dock) + var(--nx-mobile-edge)*3 + var(--nx-mobile-safe))!important}
  .queue-panel,.lyrics-panel{bottom:calc(var(--nx-mobile-dock) + var(--nx-mobile-edge)*3 + var(--nx-mobile-safe))!important}

  .mobile-more-menu{display:block!important;position:fixed!important;z-index:5000!important;left:var(--nx-mobile-edge)!important;right:var(--nx-mobile-edge)!important;bottom:calc(var(--nx-mobile-edge) + var(--nx-mobile-nav) + var(--nx-mobile-safe))!important;padding:12px 12px 14px!important;border:1px solid #3c3540!important;border-radius:18px 18px 0 0!important;background:#171319!important;color:#fff!important;box-shadow:0 -18px 45px rgba(0,0,0,.35)!important;transform-origin:bottom center!important;animation:nx107SheetIn .18s cubic-bezier(.2,.8,.2,1)!important}
  .mobile-more-menu.hidden{display:none!important}
  @keyframes nx107SheetIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
  .mobile-more-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:10px!important}.mobile-more-head b{font-size:16px!important}.mobile-more-head button{display:none!important}
  .mobile-more-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .mobile-more-grid>button{min-width:0!important;height:68px!important;padding:7px 4px!important;border:1px solid #39313b!important;border-radius:10px!important;background:#211c22!important;color:#f4efe6!important;display:grid!important;place-items:center!important;gap:3px!important}
  .mobile-more-grid>button>span{font-size:19px!important;line-height:1!important}.mobile-more-grid>button b{font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
  .mobile-more-grid .nav-icon{width:20px!important;height:20px!important;display:block!important}.mobile-more-grid .nav-icon svg{width:100%!important;height:100%!important}
  body.mobile-more-open:before{content:"";position:fixed;inset:0;z-index:4999;background:rgba(0,0,0,.48)}
}
@media(max-width:390px){
  #player .now-playing{padding-right:91px!important}
  #player .transport{right:6px!important;width:82px!important;min-width:82px!important;max-width:82px!important;gap:2px!important}
  #player .transport #prev,#player .transport #next{width:20px!important;min-width:20px!important}
  #player #playPause{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}
  .mobile-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* FIX108 — Smooth Scroll Maintenance
   Favor steady frame pacing over viewport-triggered layout work. */
html{scroll-behavior:auto!important;overflow-x:hidden!important}
body{overscroll-behavior-y:auto!important;-webkit-text-size-adjust:100%}
.main,.content{scroll-behavior:auto!important}

/* content-visibility caused small hitches as rows/cards entered the viewport. */
.card,.track-row,.recent-row,.playlist-card,.album-card,.user-card,.stat-card,.wrapped-preview{
  content-visibility:visible!important;contain-intrinsic-size:auto!important;
}

/* Keep only the fixed/sticky chrome on compositor layers. Do not promote every card. */
.topbar,#player.player,.sidebar{
  transform:translateZ(0)!important;backface-visibility:hidden!important;will-change:transform!important;
}
#player.player{isolation:isolate!important}

/* While the page is moving, pause decorative work that does not help scrolling. */
body.nx-scrolling .card,body.nx-scrolling .playlist-card,body.nx-scrolling .album-card,body.nx-scrolling .user-card{
  transition:none!important;
}
body.nx-scrolling #player .track-meta strong.nx102-marquee{animation-play-state:paused!important}
body.nx-scrolling .card:hover,body.nx-scrolling .playlist-card:hover,body.nx-scrolling .album-card:hover,body.nx-scrolling .user-card:hover{
  transform:none!important;
}

/* Native touch scroll and stable lyric pane. Manual swipes temporarily suspend auto-centering in JS. */
.now-playing-screen .np-pane,.lyrics-body,.queue-list,.sidebar-playlists{
  scroll-behavior:auto;touch-action:pan-y;
}
@media(max-width:760px){
  body,.shell,.main,.content{touch-action:pan-y!important}
  .topbar{contain:paint!important}
  #player.player,.sidebar{contain:layout paint!important}
}

/* FIX109 — Desktop hover performance
   Large full-width rows were animating background/border/transform on every pointer crossing.
   Keep hover feedback, but make it paint once instead of repainting for ~120–160 ms. */
@media (hover:hover) and (pointer:fine) and (min-width:761px){
  .track-row,.recent-row,.queue-row,.np-queue-item,
  .card,.playlist-card,.album-card,.user-card{
    transition:none!important;
    will-change:auto!important;
  }

  .track-row:hover,.recent-row:hover,.queue-row:hover{
    transform:none!important;
    box-shadow:none!important;
    background:#1b171d!important;
    border-color:#3b343e!important;
  }

  .card:hover,.playlist-card:hover,.album-card:hover,.user-card:hover{
    transform:none!important;
    box-shadow:none!important;
    border-color:#514755!important;
  }

  .track-row .row-heart,.track-row .dots-btn,.track-row .row-play,
  .recent-row .row-heart,.recent-row .dots-btn,.recent-row .row-play,
  .queue-row .queue-actions button,.np-queue-item{
    transition:none!important;
  }

  /* Do not create extra compositor layers for every song thumbnail. */
  .track-row>img,.recent-row>img,.queue-row>img,.np-queue-item img,
  .card .thumb img{
    transform:none!important;
    backface-visibility:visible!important;
    will-change:auto!important;
  }

  /* The play overlay can still appear, but only opacity is animated and very briefly. */
  .card-play{
    transition:opacity 70ms linear!important;
    transform:none!important;
  }
  .card:hover .card-play{transform:none!important}
}


/* FIX110 — SCROLL ROOT CLEANUP
   One vertical scroll container only: .main. This avoids the old nested/non-scrollable
   .content area swallowing mouse-wheel/touchpad input through overscroll-behavior. */
html,body{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body{position:relative!important}
.shell{
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
.main{
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow-x:clip!important;
  overflow-y:auto!important;
  overscroll-behavior-x:none!important;
  overscroll-behavior-y:auto!important;
  scrollbar-gutter:stable!important;
  scroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
.content{
  overflow:visible!important;
  overscroll-behavior:auto!important;
  scrollbar-gutter:auto!important;
  scroll-behavior:auto!important;
  touch-action:auto!important;
}
/* Sticky header belongs to the real scroller now. */
.topbar{
  position:sticky!important;
  top:0!important;
  transform:none!important;
  will-change:auto!important;
}
/* Do not let modal/sheet states keep a hidden page scroller moving underneath. */
body.np-open .main,body.mobile-more-open .main{overflow-y:hidden!important}

/* Native scrollbar: narrow but still easy to grab on desktop. */
.main{scrollbar-width:thin!important;scrollbar-color:#5b5260 #151217!important}
.main::-webkit-scrollbar{width:11px!important}
.main::-webkit-scrollbar-track{background:#151217!important}
.main::-webkit-scrollbar-thumb{background:#5b5260!important;border:3px solid #151217!important;border-radius:999px!important}
.main::-webkit-scrollbar-thumb:hover{background:#837888!important}

/* Nested panels may scroll themselves, but must not affect the page's main wheel area. */
.queue-list,.lyrics-body,.now-playing-screen .np-pane,.sidebar-playlists,.nav-list{
  overscroll-behavior-y:auto!important;
}

@media(max-width:760px){
  html,body,.shell{height:100dvh!important;min-height:100dvh!important}
  .main{
    height:100dvh!important;
    max-height:100dvh!important;
    padding-bottom:0!important;
    scrollbar-gutter:auto!important;
  }
  .main::-webkit-scrollbar{width:0!important;height:0!important}
  .main{scrollbar-width:none!important}
  .content{touch-action:pan-y!important}
}


/* FIX111 — Desktop pointer/hover performance pass
   Goal: moving the mouse across songs/cards must not trigger full-width repaints or
   unnecessary compositor work that can steal GPU time from video playback on another monitor. */
@media (hover:hover) and (pointer:fine) and (min-width:761px){
  /* Isolate hover invalidation inside each reusable item without forcing GPU layers. */
  .track-row,.recent-row,.queue-row,.np-queue-item,
  .card,.playlist-card,.album-card,.user-card,.quick-grid>button{
    contain:layout paint style!important;
    transition:none!important;
    will-change:auto!important;
    transform:none!important;
    backface-visibility:visible!important;
  }

  /* Full-width song rows: never repaint the whole row just because the pointer crossed it.
     Feedback is restricted to title/play controls, which are tiny paint areas. */
  .track-row:hover,.recent-row:hover{
    background:#151217!important;
    border-color:#2b262d!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .track-row.current:hover{
    background:#211722!important;
    border-color:var(--e81-pink)!important;
  }
  .track-row:hover .track-info b,.recent-row:hover .track-info b{color:var(--e81-lime)!important}
  .track-row:hover .row-play,.recent-row:hover .row-play{
    background:var(--e81-lime)!important;color:#111!important;
  }

  /* Cards: no translate/background/border animation. Only reveal the small play overlay. */
  .card:hover,.playlist-card:hover,.album-card:hover,.user-card:hover{
    background:#171319!important;
    border-color:#302a33!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .card-play,.card:hover .card-play{
    transition:none!important;
    transform:none!important;
  }

  /* Queue rows are also wide; keep their surface static. */
  .queue-row:hover,.np-queue-item:hover{
    background:#19151b!important;
    border-color:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .queue-row.current:hover{border-color:var(--e81-pink)!important}
  .queue-row:hover .queue-actions{opacity:1!important}

  /* Quick actions and chrome: keep hover feedback cheap (text/color only). */
  .quick-grid>button:hover{
    background:#171319!important;
    transform:none!important;
    box-shadow:none!important;
  }
  .quick-grid>button:nth-child(1):hover{border-top-color:var(--e81-pink)!important}
  .quick-grid>button:nth-child(2):hover{border-top-color:var(--e81-blue)!important}
  .quick-grid>button:nth-child(3):hover{border-top-color:var(--e81-lime)!important}
  .quick-grid>button:nth-child(4):hover{border-top-color:var(--e81-purple)!important}

  .nav,.sidebar-playlists button,.pill,.icon-btn,.player .plain-btn,.play-btn,.heart-btn,
  .actions button,.popover button,.suggestions button,.artist-link{
    transition:none!important;
  }
  .nav:hover,.sidebar-playlists button:hover,.pill:hover,.icon-btn:hover,
  .player .plain-btn:hover,.play-btn:hover,.heart-btn:hover,.actions button:hover,
  .popover button:hover,.suggestions button:hover,.artist-link:hover{
    transform:none!important;
    box-shadow:none!important;
  }
  .play-btn:hover{box-shadow:3px 3px 0 var(--e81-pink)!important}

  /* Explicit layer promotion from FIX108 could compete with hardware video decode/compositing.
     Modern browsers already promote fixed/sticky chrome when necessary. */
  .topbar,#player.player,.sidebar{
    transform:none!important;
    will-change:auto!important;
    backface-visibility:visible!important;
  }
}

/* FIX112 — Desktop lyrics panel uses the same Editorial theme as mobile Now Playing. */
@media (min-width:761px){
  #lyricsPanel.lyrics-panel{
    border:2px solid var(--e81-ink)!important;
    border-radius:16px!important;
    background:var(--e81-panel)!important;
    color:#fff!important;
    box-shadow:7px 7px 0 var(--e81-pink)!important;
    overflow:hidden!important;
  }
  #lyricsPanel .lyrics-head{
    min-height:96px!important;
    padding:18px 18px 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    border:0!important;
    border-bottom:2px solid var(--e81-ink)!important;
    background:var(--e81-paper)!important;
    color:var(--e81-ink)!important;
  }
  #lyricsPanel .lyrics-head>div{min-width:0!important}
  #lyricsPanel .lyrics-head small{
    display:block!important;
    margin:0 0 7px!important;
    color:#6f8f00!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.18em!important;
    font-weight:1000!important;
  }
  #lyricsPanel #lyricsTitle{
    margin:0!important;
    color:var(--e81-ink)!important;
    font-size:17px!important;
    line-height:1.2!important;
    letter-spacing:-.025em!important;
    font-weight:950!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  #lyricsPanel #closeLyrics{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:2px solid var(--e81-ink)!important;
    border-radius:10px!important;
    background:var(--e81-lime)!important;
    color:var(--e81-ink)!important;
    box-shadow:3px 3px 0 var(--e81-pink)!important;
    font-size:18px!important;
    line-height:1!important;
  }
  #lyricsPanel #closeLyrics:hover{background:var(--e81-paper)!important;color:var(--e81-ink)!important}

  #lyricsPanel .lyrics-body{
    padding:22px 18px 42vh!important;
    background:var(--e81-panel)!important;
    color:#fff!important;
    scrollbar-color:#9a939d #1d191f!important;
    scrollbar-width:thin!important;
  }
  #lyricsPanel .lyrics-body::-webkit-scrollbar{width:9px!important}
  #lyricsPanel .lyrics-body::-webkit-scrollbar-track{background:#1d191f!important}
  #lyricsPanel .lyrics-body::-webkit-scrollbar-thumb{background:#8e8791!important;border:2px solid #1d191f!important;border-radius:999px!important}
  #lyricsPanel .lyrics-body::-webkit-scrollbar-thumb:hover{background:var(--e81-pink)!important}

  #lyricsPanel .lyric-line{
    width:100%!important;
    max-width:100%!important;
    margin:4px 0!important;
    padding:10px 12px!important;
    border:1px solid transparent!important;
    border-radius:11px!important;
    background:transparent!important;
    color:#aaa2ad!important;
    opacity:.50!important;
    transform:none!important;
    box-shadow:none!important;
    filter:none!important;
    text-shadow:none!important;
    font-size:17px!important;
    line-height:1.38!important;
    transition:opacity .10s ease,color .10s ease,background .10s ease!important;
  }
  #lyricsPanel .lyric-line.past{opacity:.24!important;color:#817a84!important}
  #lyricsPanel .lyric-line.next{opacity:.78!important;color:#ded7df!important}
  #lyricsPanel .lyric-line.active{
    opacity:1!important;
    color:var(--e81-ink)!important;
    background:var(--e81-paper)!important;
    border:1px solid var(--e81-ink)!important;
    border-left:5px solid var(--e81-lime)!important;
    box-shadow:3px 3px 0 var(--e81-pink)!important;
    transform:none!important;
    padding:12px 13px!important;
    margin:8px 2px 11px!important;
    font-size:19px!important;
    line-height:1.32!important;
  }
  #lyricsPanel .lyric-line .lyric-beat{display:none!important}
  #lyricsPanel .lyric-line .lyric-text{
    color:inherit!important;
    background:none!important;
    -webkit-background-clip:initial!important;
    background-clip:initial!important;
    filter:none!important;
    transform:none!important;
  }
  #lyricsPanel .lyric-line.active .lyric-text{color:var(--e81-ink)!important;font-weight:950!important}
  #lyricsPanel .lyric-line.active::after{display:none!important}
  #lyricsPanel .plain-lyric{color:#ddd6de!important;font-size:16px!important;line-height:1.6!important}
  #lyricsPanel .empty{color:#bdb5c0!important}
}


/* FIX113 — Search / Discover. Uses the full responsive content area without
   expensive hover transforms or shadows, preserving FIX110/FIX111 performance. */
.search-discovery{width:100%;max-width:none;display:grid;gap:clamp(22px,2vw,34px);padding:6px 0 26px;color:#f7f2ea}
.search-discovery-hero{position:relative;overflow:hidden;min-height:190px;padding:clamp(24px,2.4vw,42px);border:1px solid #2f2931;border-radius:16px;background:#f5efe5;color:#111;box-shadow:6px 6px 0 var(--e81-pink)}
.search-discovery-hero:after{content:"SEARCH";position:absolute;right:22px;top:14px;font-size:clamp(56px,7vw,118px);font-weight:1000;letter-spacing:-.08em;color:rgba(17,17,17,.035);pointer-events:none}
.search-discovery-hero>span,.search-discovery-title span{display:block;font-size:8px;font-weight:950;letter-spacing:.18em;color:#746b72}
.search-discovery-hero h1{position:relative;z-index:1;margin:9px 0 7px;max-width:850px;font-size:clamp(32px,3.8vw,66px);line-height:.94;letter-spacing:-.055em}
.search-discovery-hero p{position:relative;z-index:1;margin:0;color:#655d63;font-size:clamp(11px,.9vw,14px)}
.search-discovery-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.search-discovery-actions .pill{min-height:38px}
.search-discovery-section{min-width:0;display:grid;gap:12px}
.search-discovery-title{display:flex;align-items:end;justify-content:space-between;gap:16px;min-width:0}
.search-discovery-title h2{margin:3px 0 0;font-size:clamp(17px,1.25vw,23px);letter-spacing:-.035em}
.search-discovery-title>button{border:0;background:transparent;color:var(--e81-lime);font-size:9px;font-weight:850;cursor:pointer;padding:5px 0}
.search-discovery-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);gap:clamp(18px,1.6vw,28px);align-items:start}
.search-recent-chips{display:flex;flex-wrap:wrap;gap:8px}
.search-recent-chip{display:flex;align-items:stretch;min-width:0;max-width:min(100%,420px);border:1px solid #342d36;border-radius:10px;overflow:hidden;background:#171319}
.search-recent-run,.search-recent-remove{border:0;background:transparent;color:#e6dfe7;cursor:pointer}
.search-recent-run{display:flex;align-items:center;gap:7px;min-width:0;padding:9px 11px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-recent-run span{color:var(--e81-blue);font-size:11px}
.search-recent-remove{width:34px;flex:0 0 34px;border-left:1px solid #302a32;color:#857c87;font-size:16px}
.search-recent-remove:hover{color:#fff;background:#211a22}
.search-genre-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.search-genre-grid button{position:relative;min-width:0;min-height:112px;padding:14px;border:1px solid #332d35;border-radius:13px;background:#171319;color:#fff;text-align:left;cursor:pointer;overflow:hidden}
.search-genre-grid button:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--e81-pink)}
.search-genre-grid button:nth-child(2n):before{background:var(--e81-blue)}.search-genre-grid button:nth-child(3n):before{background:var(--e81-lime)}.search-genre-grid button:nth-child(4n):before{background:var(--e81-purple)}
.search-genre-grid button span{display:block;margin-top:5px;color:#8c838f;font-size:7px;font-weight:900;letter-spacing:.14em}
.search-genre-grid button b{display:block;margin-top:22px;font-size:clamp(15px,1.2vw,20px);letter-spacing:-.025em}
.search-genre-grid button i{position:absolute;right:13px;bottom:11px;color:#aaa1ac;font-style:normal}
.search-genre-grid button:hover,.search-recent-chip:hover,.search-artist-list button:hover,.search-discovery-track:hover{border-color:#524753;background:#1b161c}
.search-discovery-tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
.search-discovery-tracks-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.search-discovery-track{display:grid;grid-template-columns:52px minmax(0,1fr) 32px;align-items:center;gap:9px;min-width:0;min-height:66px;padding:7px;border:1px solid #302a32;border-radius:11px;background:#151216;cursor:pointer;overflow:hidden}
.search-discovery-track img{width:52px;height:52px;border-radius:7px;object-fit:cover}
.search-discovery-track>div{min-width:0}.search-discovery-track b,.search-discovery-track small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-discovery-track b{font-size:10px}.search-discovery-track small{margin-top:4px;color:#8d858f;font-size:8px}
.search-discovery-track>button{width:30px;height:30px;border:0;border-radius:8px;background:#f5efe5;color:#111;cursor:pointer}
.search-artist-list{display:grid;gap:7px}
.search-artist-list>button{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px 10px;border:1px solid #302a32;border-radius:11px;background:#151216;color:#fff;text-align:left;cursor:pointer}
.search-artist-list>button>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#f5efe5;color:#111;font-size:14px}
.search-artist-list>button div{min-width:0}.search-artist-list b,.search-artist-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-artist-list b{font-size:10px}.search-artist-list small{margin-top:3px;color:#88808a;font-size:8px}.search-artist-list i{color:#827983;font-style:normal}
.search-discovery-placeholder{grid-column:1/-1;min-height:64px;display:grid;place-items:center;border:1px dashed #332c35;border-radius:11px;color:#7e7581;font-size:9px;text-align:center;padding:16px}
@media(min-width:1850px){.search-genre-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.search-discovery-tracks-wide{grid-template-columns:repeat(6,minmax(0,1fr))}.search-discovery-tracks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1180px){.search-discovery-columns{grid-template-columns:1fr}.search-artist-list{grid-template-columns:repeat(2,minmax(0,1fr))}.search-genre-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.search-discovery-tracks-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.search-discovery{gap:22px;padding-top:2px}.search-discovery-hero{min-height:168px;padding:22px 18px;border-radius:14px;box-shadow:4px 4px 0 var(--e81-pink)}.search-discovery-hero:after{font-size:58px;right:12px;top:20px}.search-discovery-hero h1{font-size:clamp(31px,10vw,46px);max-width:90%}.search-discovery-actions{margin-top:17px}.search-discovery-title{align-items:center}.search-discovery-title h2{font-size:18px}.search-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-genre-grid button{min-height:94px}.search-discovery-tracks,.search-discovery-tracks-wide,.search-artist-list{grid-template-columns:1fr}.search-recent-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.search-recent-chips::-webkit-scrollbar{display:none}.search-recent-chip{flex:0 0 auto;max-width:82vw}}
@media(max-width:420px){.search-discovery-actions .pill{flex:1 1 calc(50% - 4px)}.search-discovery-actions .pill:last-child{flex-basis:100%}.search-genre-grid button{min-height:88px;padding:12px}.search-discovery-track{grid-template-columns:46px minmax(0,1fr) 30px}.search-discovery-track img{width:46px;height:46px}}

/* ===== FIX114 — Community / Profile / Stats / History dashboards ===== */
.nx114-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:4px 0 20px;padding:18px 0 4px;min-width:0}.nx114-page-head>div:first-child{min-width:0}.nx114-page-head>div:first-child>span,.nx114-panel-title span,.nx114-profile-copy>span,.nx114-profile-month>span,.nx114-wrapped-card>span,.nx114-wrapped-wide span,.nx114-community-playlist>div>span{font-size:8px;font-weight:900;letter-spacing:.18em;color:var(--e81-blue);text-transform:uppercase}.nx114-page-head h1{font-size:clamp(28px,2.4vw,44px)!important;line-height:1;margin:7px 0 7px;letter-spacing:-.055em}.nx114-page-head p{margin:0;color:#938b97;font-size:11px}
.nx114-kpis{display:grid;gap:10px;margin:0 0 18px}.nx114-kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}.nx114-kpis-5{grid-template-columns:repeat(5,minmax(0,1fr))}.nx114-kpis article{min-width:0;padding:16px;border:1px solid #342e36;border-radius:12px;background:#171319;overflow:hidden}.nx114-kpis article:nth-child(1){border-top:3px solid var(--e81-pink)}.nx114-kpis article:nth-child(2){border-top:3px solid var(--e81-blue)}.nx114-kpis article:nth-child(3){border-top:3px solid var(--e81-lime)}.nx114-kpis article:nth-child(4){border-top:3px solid var(--e81-purple)}.nx114-kpis article:nth-child(5){border-top:3px solid #f1ece2}.nx114-kpis b{display:block;color:#fff;font-size:clamp(16px,1.5vw,25px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}.nx114-kpis small{display:block;color:#8e8791;font-size:8px;margin-top:7px}
.nx114-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:14px 0}.nx114-panel{min-width:0;padding:16px;border:1px solid #342e36;border-radius:13px;background:#151217;overflow:hidden}.nx114-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.nx114-panel-title h2{font-size:16px!important;margin:0;color:#fff;letter-spacing:-.025em}.nx114-panel-title button{border:0;background:transparent;color:var(--e81-lime);font-size:9px;cursor:pointer}.nx114-inline-empty,.nx114-chart-empty{padding:24px;border:1px dashed #3b343e;border-radius:10px;color:#8f8793;font-size:10px;text-align:center}

/* History */
.nx114-history-tools{display:flex;gap:8px;align-items:center;min-width:min(560px,48vw)}.nx114-history-tools label{height:40px;flex:1;min-width:0;border:1px solid #3c3540;border-radius:10px;background:#171319;display:flex;align-items:center;gap:8px;padding:0 11px;color:#918895}.nx114-history-tools input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:10px}.nx114-history-group{margin:20px 0}.nx114-history-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 8px}.nx114-history-heading h2{font-size:15px!important;margin:0}.nx114-history-heading span{font-size:8px;color:#8f8793}.nx114-history-list{display:grid;gap:5px}.nx114-history-row{height:60px;display:grid;grid-template-columns:46px minmax(0,1fr) minmax(90px,auto) 30px 26px 32px;align-items:center;gap:9px;padding:6px 9px;border:1px solid #2e2931;border-radius:9px;background:#151217;cursor:pointer;contain:layout paint}.nx114-history-row>img{width:46px;height:46px;border-radius:7px;object-fit:cover}.nx114-history-main{min-width:0}.nx114-history-main b,.nx114-history-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-history-main b{font-size:10px}.nx114-history-main small{font-size:7px;color:#8e8791;margin-top:3px}.nx114-history-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#8e8791;font-size:8px;white-space:nowrap}.nx114-history-meta strong{font-size:8px;color:var(--e81-lime);padding:3px 6px;border:1px solid #3b4330;border-radius:6px;background:#171b13}.nx114-history-row:hover .nx114-history-main b{color:var(--e81-lime)}

/* Stats */
.nx114-stats-head{align-items:center}.nx114-period-tabs{display:flex;gap:5px;padding:4px;border:1px solid #342e36;border-radius:10px;background:#151217}.nx114-period-tabs button{border:0;border-radius:7px;background:transparent;color:#9b939e;padding:8px 12px;font-size:9px;cursor:pointer}.nx114-period-tabs button.active{background:var(--e81-lime);color:#111;font-weight:900}.nx114-activity-chart{height:190px;display:flex;align-items:flex-end;gap:clamp(5px,.7vw,11px);padding:12px 4px 0;border-bottom:1px solid #332d35}.nx114-chart-col{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.nx114-chart-col>span{display:block;width:min(36px,78%);min-height:4px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--e81-lime),var(--e81-blue));box-shadow:none}.nx114-chart-col small{font-size:6px;color:#77707a;white-space:nowrap;overflow:hidden;max-width:100%}.nx114-ranked-list,.nx114-artist-rank{display:grid;gap:5px}.nx114-rank-row,.nx114-artist-rank button{width:100%;height:52px;border:1px solid #2d2830;border-radius:9px;background:#181419;color:#fff;display:grid;align-items:center;gap:9px;cursor:pointer;text-align:left}.nx114-rank-row{grid-template-columns:22px 38px minmax(0,1fr) auto;padding:6px 9px}.nx114-rank-row img,.nx114-artist-rank img{width:38px;height:38px;border-radius:6px;object-fit:cover}.nx114-rank-row>span:not(.nx114-rank-num){min-width:0}.nx114-rank-row b,.nx114-rank-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-rank-row b{font-size:9px}.nx114-rank-row small{font-size:7px;color:#8e8791;margin-top:2px}.nx114-rank-row em,.nx114-artist-rank em{font-style:normal;color:var(--e81-lime);font-size:8px}.nx114-rank-num{font-weight:900;color:#7f7783;text-align:center}.nx114-artist-rank button{grid-template-columns:22px 38px minmax(0,1fr) auto;padding:6px 9px}.nx114-artist-rank button>span{font-size:9px;font-weight:900;color:#7f7783;text-align:center}.nx114-artist-rank button>i{width:38px;height:38px;border-radius:6px;background:#211c22;display:grid;place-items:center;font-style:normal}.nx114-artist-rank button>b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-dayparts{display:grid;gap:14px;padding:8px 1px}.nx114-dayparts>div>span{display:flex;justify-content:space-between;gap:10px;font-size:9px;margin-bottom:6px}.nx114-dayparts em{font-style:normal;color:#8f8793}.nx114-dayparts i{height:7px;display:block;border-radius:99px;background:#282229;overflow:hidden}.nx114-dayparts u{height:100%;display:block;border-radius:inherit;text-decoration:none;background:linear-gradient(90deg,var(--e81-pink),var(--e81-lime))}.nx114-wrapped-card,.nx114-wrapped-wide{border:2px solid #111;background:var(--e81-paper);color:#111;box-shadow:5px 5px 0 var(--e81-pink);border-radius:13px;padding:18px;overflow:hidden}.nx114-wrapped-card h2,.nx114-wrapped-wide h2{font-size:22px!important;margin:6px 0 5px}.nx114-wrapped-card p,.nx114-wrapped-wide p{font-size:9px;color:#625b64;margin:0 0 15px}.nx114-wrapped-card>div,.nx114-wrapped-wide>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.nx114-wrapped-card button,.nx114-wrapped-wide button{border:1px solid #111;border-radius:7px;background:#111;color:#fff;font-size:8px;padding:7px 10px;cursor:pointer}.nx114-wrapped-card button:first-child,.nx114-wrapped-wide button:first-child{background:var(--e81-lime);color:#111}.nx114-stats-bottom{align-items:stretch}

/* Profile */
.nx114-profile-hero{min-height:220px;display:grid;grid-template-columns:150px minmax(0,1fr) 170px;align-items:center;gap:24px;padding:25px;border:2px solid #111;border-radius:15px;background:var(--e81-paper);color:#111;box-shadow:7px 7px 0 var(--e81-blue);margin:7px 0 18px;overflow:hidden;position:relative}.nx114-profile-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-90px;top:-85px;background:conic-gradient(from 30deg,rgba(47,210,245,.22),rgba(255,65,174,.18),rgba(185,255,33,.20),rgba(124,87,255,.18),rgba(47,210,245,.22));pointer-events:none}.nx114-profile-avatar{width:138px;height:138px;border-radius:50%;border:4px solid var(--e81-pink);background:linear-gradient(145deg,var(--e81-blue),var(--e81-purple));display:grid;place-items:center;overflow:hidden;cursor:pointer;z-index:1}.nx114-profile-avatar img{width:100%;height:100%;object-fit:cover}.nx114-profile-avatar span{font-size:50px;font-weight:900;color:#fff}.nx114-profile-avatar input{display:none}.nx114-profile-copy{min-width:0;z-index:1}.nx114-profile-copy h1{font-size:clamp(36px,4vw,64px)!important;line-height:.95;margin:8px 0 10px;letter-spacing:-.055em}.nx114-profile-copy p{font-size:10px;color:#665f67;margin:0 0 10px}.nx114-profile-copy .profile-social{color:#302a31}.nx114-profile-month{z-index:1;align-self:end;padding:14px;border:1px solid #b9afa3;border-radius:11px;background:rgba(255,255,255,.35)}.nx114-profile-month b{display:block;font-size:34px;margin:5px 0 1px}.nx114-profile-month small{font-size:8px;color:#655e65}.nx114-profile-tracks,.nx114-profile-artists{display:grid;gap:6px}.nx114-profile-track{height:54px;width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 26px;align-items:center;gap:9px;padding:6px 9px;border:1px solid #2e2931;border-radius:9px;background:#181419;color:#fff;text-align:left;cursor:pointer}.nx114-profile-track img{width:40px;height:40px;object-fit:cover;border-radius:6px}.nx114-profile-track span{min-width:0}.nx114-profile-track b,.nx114-profile-track small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-profile-track b{font-size:9px}.nx114-profile-track small{font-size:7px;color:#8e8791;margin-top:2px}.nx114-profile-track strong{color:var(--e81-lime);text-align:center}.nx114-profile-artists{grid-template-columns:repeat(2,minmax(0,1fr))}.nx114-profile-artists button{min-width:0;height:64px;border:1px solid #2e2931;border-radius:9px;background:#181419;color:#fff;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:9px;padding:8px;text-align:left;cursor:pointer}.nx114-profile-artists img,.nx114-profile-artists i{width:46px;height:46px;border-radius:50%;object-fit:cover}.nx114-profile-artists i{display:grid;place-items:center;background:#262028;font-style:normal}.nx114-profile-artists span{min-width:0}.nx114-profile-artists b,.nx114-profile-artists small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-profile-artists b{font-size:9px}.nx114-profile-artists small{font-size:7px;color:#8e8791;margin-top:3px}.nx114-recent-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.nx114-recent-strip button{min-width:0;border:1px solid #302a33;border-radius:9px;background:#181419;color:#fff;padding:0 0 8px;overflow:hidden;text-align:left;cursor:pointer}.nx114-recent-strip img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.nx114-recent-strip span{display:block;padding:8px 8px 0;min-width:0}.nx114-recent-strip b,.nx114-recent-strip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-recent-strip b{font-size:8px}.nx114-recent-strip small{font-size:6px;color:#8e8791;margin-top:3px}.nx114-wrapped-wide{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px 0 4px}

/* Community */
.nx114-community-head{align-items:center}.nx114-community-search{width:min(700px,48vw);margin:0!important}.nx114-people-list{display:grid;gap:7px}.nx114-person-card{min-width:0;min-height:74px;display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #302a33;border-radius:10px;background:#181419}.nx114-person-card>img,.nx114-person-card>.user-avatar-fallback{width:50px!important;height:50px!important;border-radius:50%;object-fit:cover}.nx114-person-card>div:nth-child(2){min-width:0}.nx114-person-card b,.nx114-person-card small,.nx114-person-card em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-person-card b{font-size:10px}.nx114-person-card small{font-size:8px;color:#a69daa;margin-top:2px}.nx114-person-card em{font-style:normal;font-size:7px;color:#77707b;margin-top:4px}.nx114-person-actions{display:flex;gap:5px}.nx114-person-actions button{border:1px solid #3b343e;border-radius:7px;background:#1f1a21;color:#bcb3bf;padding:7px 8px;font-size:7px;cursor:pointer;white-space:nowrap}.nx114-person-actions button.primary{background:var(--e81-lime);border-color:var(--e81-lime);color:#111;font-weight:900}.nx114-community-playlists{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.nx114-community-playlist{min-width:0;height:88px;display:grid;grid-template-columns:72px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:7px;border:1px solid #302a33;border-radius:10px;background:#181419;cursor:pointer}.nx114-community-playlist .playlist-art{width:72px;height:72px;border-radius:7px;overflow:hidden}.nx114-community-playlist>div:nth-child(2){min-width:0}.nx114-community-playlist h3,.nx114-community-playlist p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-community-playlist h3{font-size:10px;margin:4px 0}.nx114-community-playlist p{font-size:7px;color:#8e8791;margin:0}.nx114-community-playlist>button{width:30px;height:30px;border:0;border-radius:7px;background:var(--e81-paper);color:#111}.nx114-community-activity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nx114-community-activity button{min-width:0;height:56px;border:1px solid #2e2931;border-radius:9px;background:#181419;color:#fff;display:grid;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:7px 9px;text-align:left;cursor:pointer}.nx114-community-activity button>span{color:var(--e81-lime);font-size:16px}.nx114-community-activity button>div{min-width:0}.nx114-community-activity b,.nx114-community-activity small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-community-activity b{font-size:8px}.nx114-community-activity small{font-size:7px;color:#857e88;margin-top:3px}.nx114-community-activity strong{color:#8f8793}.nx114-search-users{margin:0 0 14px}

/* Keep all of these low-cost on pointer movement. */
.nx114-history-row,.nx114-rank-row,.nx114-artist-rank button,.nx114-profile-track,.nx114-profile-artists button,.nx114-person-card,.nx114-community-playlist,.nx114-community-activity button,.nx114-recent-strip button{transition:none!important;transform:none!important;box-shadow:none!important}

@media(max-width:1180px){.nx114-kpis-5{grid-template-columns:repeat(3,minmax(0,1fr))}.nx114-recent-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.nx114-profile-hero{grid-template-columns:120px minmax(0,1fr) 150px}.nx114-profile-avatar{width:110px;height:110px}.nx114-person-card{grid-template-columns:44px minmax(0,1fr)}.nx114-person-card>img,.nx114-person-card>.user-avatar-fallback{width:44px!important;height:44px!important}.nx114-person-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:900px){.nx114-page-head{align-items:stretch;flex-direction:column}.nx114-history-tools,.nx114-community-search{width:100%;min-width:0}.nx114-kpis-4,.nx114-kpis-5{grid-template-columns:repeat(2,minmax(0,1fr))}.nx114-two-col{grid-template-columns:1fr}.nx114-profile-hero{grid-template-columns:100px minmax(0,1fr)}.nx114-profile-avatar{width:92px;height:92px}.nx114-profile-month{grid-column:1/-1;align-self:auto}.nx114-community-activity{grid-template-columns:1fr}}
@media(max-width:760px){.nx114-page-head{padding-top:5px;margin-bottom:12px;gap:12px}.nx114-page-head h1{font-size:30px!important}.nx114-page-head p{font-size:9px}.nx114-history-tools{display:grid;grid-template-columns:1fr auto}.nx114-history-tools label{height:42px}.nx114-kpis{gap:7px}.nx114-kpis article{padding:12px}.nx114-kpis b{font-size:18px}.nx114-panel{padding:12px}.nx114-history-row{height:58px;grid-template-columns:44px minmax(0,1fr) 30px!important;padding:6px 8px}.nx114-history-row>img{width:44px;height:44px}.nx114-history-meta,.nx114-history-row .row-heart,.nx114-history-row .dots-btn{display:none!important}.nx114-activity-chart{height:150px;gap:4px}.nx114-chart-col small{font-size:5px}.nx114-rank-row{height:54px}.nx114-profile-hero{min-height:0;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:15px;margin-top:3px}.nx114-profile-avatar{width:72px;height:72px;border-width:3px}.nx114-profile-avatar span{font-size:28px}.nx114-profile-copy h1{font-size:29px!important}.nx114-profile-copy p{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx114-profile-month{padding:10px}.nx114-profile-month b{font-size:26px}.nx114-profile-artists{grid-template-columns:1fr}.nx114-recent-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.nx114-wrapped-wide{align-items:flex-start;flex-direction:column}.nx114-person-card{grid-template-columns:42px minmax(0,1fr);padding:8px}.nx114-person-card>img,.nx114-person-card>.user-avatar-fallback{width:42px!important;height:42px!important}.nx114-person-actions{grid-column:1/-1}.nx114-community-playlists{grid-template-columns:1fr}.nx114-community-playlist{height:78px;grid-template-columns:62px minmax(0,1fr) 32px}.nx114-community-playlist .playlist-art{width:62px;height:62px}.nx114-period-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.nx114-period-tabs button{padding:8px 4px}}
@media(max-width:430px){.nx114-kpis-4,.nx114-kpis-5{grid-template-columns:1fr 1fr}.nx114-kpis article:last-child:nth-child(odd){grid-column:1/-1}.nx114-history-tools{grid-template-columns:1fr}.nx114-history-tools .danger{width:100%}.nx114-profile-hero{grid-template-columns:64px minmax(0,1fr)}.nx114-profile-avatar{width:60px;height:60px}.nx114-profile-copy h1{font-size:24px!important}.nx114-profile-copy .profile-actions{display:flex;flex-wrap:wrap}.nx114-recent-strip{grid-template-columns:1fr 1fr}}

/* ===== FIX115 — collection & public profile polish ===== */
.nx115-public-hero{position:relative;display:grid;grid-template-columns:auto 1fr minmax(220px,320px);align-items:center;gap:26px}.nx115-public-badge{align-self:stretch;border-left:1px solid rgba(0,0,0,.12);padding:24px;display:flex;flex-direction:column;justify-content:center}.nx115-public-badge span,.nx115-playlist-card span,.nx115-library-playlist span,.nx115-match span{font-size:10px;letter-spacing:.18em;font-weight:900;color:#12b9dc}.nx115-public-badge b{font-size:22px;margin:8px 0}.nx115-public-badge small{opacity:.65}.nx115-match{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;margin:14px 0;border:1px solid #30303a;border-left:4px solid #b7ff20;border-radius:16px;background:#151219}.nx115-match h2{margin:5px 0}.nx115-match p{margin:0;color:#9ba1b2}.nx115-match>strong{font-size:38px;color:#b7ff20}.nx115-track-list,.nx115-public-artists{display:grid;gap:7px}.nx115-compact-track,.nx115-public-artists button{width:100%;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;text-align:left;padding:8px;border:1px solid #302c36;border-radius:12px;background:#121015;color:inherit}.nx115-compact-track img,.nx115-public-artists img{width:44px;height:44px;object-fit:cover;border-radius:9px}.nx115-compact-track span,.nx115-public-artists div{min-width:0}.nx115-compact-track b,.nx115-compact-track small,.nx115-public-artists b,.nx115-public-artists small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx115-compact-track small,.nx115-public-artists small{opacity:.55;margin-top:3px}.nx115-compact-track strong{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#f6f0e5;color:#111}.nx115-public-artists button{grid-template-columns:24px 44px 1fr}.nx115-public-artists button>span{font-weight:900;opacity:.55}.nx115-public-artists button>i{width:44px;height:44px;display:grid;place-items:center;border-radius:9px;background:#201b24}.nx115-empty-public{display:flex;flex-direction:column;align-items:flex-start!important;justify-content:center;min-height:100px!important;padding:22px!important}.nx115-empty-public span{opacity:.6;margin-top:5px}
.nx115-playlists-head,.nx115-library-head,.nx115-fav-head{align-items:flex-end}.nx115-filterbar,.nx115-library-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.nx115-filterbar button,.nx115-library-tabs button,.nx115-fav-tools>div button{border:1px solid #38323d;background:#17131a;color:#dcd7df;border-radius:999px;padding:8px 13px;font-weight:800}.nx115-filterbar button.active,.nx115-library-tabs button.active,.nx115-fav-tools>div button.active{background:#b7ff20;color:#101010;border-color:#b7ff20}.nx115-playlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.nx115-library-playlist,.nx115-playlist-card{position:relative;min-width:0;display:grid;grid-template-columns:92px 1fr 38px;align-items:center;gap:14px;padding:10px;border:1px solid #302c36;border-radius:15px;background:#151219;cursor:pointer}.nx115-library-playlist .playlist-art,.nx115-playlist-card .playlist-art{width:92px;height:92px;border-radius:11px;overflow:hidden}.nx115-library-playlist h3,.nx115-playlist-card h3{margin:5px 0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx115-library-playlist p,.nx115-playlist-card p{margin:0;opacity:.58;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx115-library-playlist>button,.nx115-playlist-card>button{width:36px;height:36px;border:0;border-radius:10px;background:#f6f0e5;color:#111;font-weight:900}.nx115-create-card{min-height:114px;border:1px dashed #4a414d;border-radius:15px;background:#121015;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nx115-create-card strong{font-size:27px;color:#b7ff20}.nx115-create-card span{font-size:11px;opacity:.55}.nx115-smart-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.nx115-smart-row>button{display:grid;grid-template-columns:42px 1fr;text-align:left;align-items:center;padding:14px;border:1px solid #302c36;border-radius:14px;background:#151219;color:inherit}.nx115-smart-row>button>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#b7ff20;color:#111;font-size:18px}.nx115-smart-row b,.nx115-smart-row small{display:block}.nx115-smart-row small{opacity:.55;margin-top:2px}.nx115-library-quick{margin-top:0}.nx115-empty-action{width:100%;display:grid;grid-template-columns:44px 1fr auto;align-items:center;text-align:left;gap:14px;padding:18px;border:1px dashed #45404a;border-radius:14px;background:#121015;color:inherit}.nx115-empty-action>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#b7ff20;color:#111}.nx115-empty-action b,.nx115-empty-action small{display:block}.nx115-empty-action small{opacity:.55;margin-top:4px}.nx115-empty-action strong{color:#b7ff20}.nx115-artist-chips{display:flex;gap:8px;flex-wrap:wrap}.nx115-artist-chips button{display:flex;align-items:center;gap:8px;border:1px solid #332e38;border-radius:999px;background:#17131a;color:inherit;padding:9px 13px}.nx115-artist-chips span{color:#b7ff20}
.nx115-fav-head>div:last-child{display:flex;gap:8px}.nx115-fav-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.nx115-fav-highlights button{text-align:left;padding:16px;border:1px solid #302c36;border-top:3px solid #ff42ad;border-radius:14px;background:#151219;color:inherit;min-width:0}.nx115-fav-highlights button:nth-child(2){border-top-color:#35b6ff}.nx115-fav-highlights button:nth-child(3){border-top-color:#b7ff20}.nx115-fav-highlights span,.nx115-fav-highlights b,.nx115-fav-highlights small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx115-fav-highlights span{font-size:9px;letter-spacing:.15em;font-weight:900;opacity:.55}.nx115-fav-highlights b{font-size:16px;margin:7px 0 3px}.nx115-fav-highlights small{opacity:.55}.nx115-fav-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.nx115-fav-tools label{display:flex;align-items:center;gap:8px;flex:1;max-width:520px;border:1px solid #39323e;border-radius:12px;background:#141117;padding:0 12px}.nx115-fav-tools input{width:100%;height:42px;border:0;outline:0;background:transparent;color:inherit;font:inherit}.nx115-fav-tools>div{display:flex;gap:6px}.nx115-fav-head+.nx115-fav-highlights+ .nx115-fav-tools{}.nx115-fav-tools~#nx115FavGrid .cards{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));max-width:none}.nx115-fav-tools~#nx115FavGrid .card{min-width:0}
@media (min-width:1700px){.nx115-fav-tools~#nx115FavGrid .cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}
@media (max-width:900px){.nx115-public-hero{grid-template-columns:auto 1fr}.nx115-public-badge{display:none}.nx115-smart-row{grid-template-columns:repeat(2,minmax(0,1fr))}.nx115-fav-highlights{grid-template-columns:1fr}.nx115-fav-tools{align-items:stretch;flex-direction:column}.nx115-fav-tools label{max-width:none}.nx115-playlist-grid{grid-template-columns:1fr}.nx115-fav-head{align-items:flex-start}.nx115-fav-head>div:last-child{width:100%}.nx115-fav-head>div:last-child button{flex:1}}
@media (max-width:600px){.nx115-public-hero{grid-template-columns:1fr;text-align:center}.nx115-public-hero .profile-avatar{margin:auto}.nx115-match{padding:16px}.nx115-match>strong{font-size:28px}.nx115-smart-row{grid-template-columns:1fr 1fr}.nx115-library-playlist,.nx115-playlist-card{grid-template-columns:72px 1fr 34px}.nx115-library-playlist .playlist-art,.nx115-playlist-card .playlist-art{width:72px;height:72px}.nx115-fav-tools>div{overflow:auto;padding-bottom:2px}.nx115-fav-tools>div button{white-space:nowrap}.nx115-fav-tools~#nx115FavGrid .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* FIX116 — Now Playing volume control */
.now-playing-screen .np-volume{
  width:min(360px,82%);
  margin:16px auto 2px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 42px!important;
  align-items:center!important;
  gap:9px!important;
  color:var(--e81-ink)!important;
}
.now-playing-screen .np-volume .np-mute{
  width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;
  display:grid!important;place-items:center!important;
  border:1px solid #d2c8bb!important;border-radius:9px!important;
  background:#fffaf2!important;color:#111!important;font-size:14px!important;
}
.now-playing-screen .np-volume input[type=range]{
  width:100%!important;min-width:0!important;height:4px!important;margin:0!important;
  accent-color:var(--e81-lime)!important;cursor:pointer!important;
}
.now-playing-screen .np-volume #npVolumeValue{
  min-width:38px!important;text-align:right!important;
  font-size:9px!important;font-weight:800!important;color:#625b63!important;
}
@media(max-width:760px){
  .now-playing-screen .np-volume{width:min(300px,88%)!important;margin:9px auto 0!important;grid-template-columns:30px minmax(0,1fr) 36px!important;gap:7px!important}
  .now-playing-screen .np-volume .np-mute{width:30px!important;height:30px!important;min-width:30px!important;font-size:12px!important}
  .now-playing-screen .np-volume #npVolumeValue{font-size:8px!important}
}
