:root{--accent:#1ed760!important;--accent-2:#1db954!important;--accent-glow:rgba(30,215,96,.18)!important;--bg0:#000!important;--bg1:#000!important;--bg2:#181818!important;--bg3:#282828!important;--fg1:#fff!important;--fg2:#b3b3b3!important;--fg3:#6a6a6a!important;--bdr:rgba(255,255,255,.07)!important;--card:#181818!important;--player-h:90px!important;--nav-w:242px!important}.shell{gap:8px;background:#000}.sidebar{background:#000;border:0;padding:16px 12px 12px}.logo{padding:5px 10px 25px}.logo-mark{background:#1ed760;color:#000;border-radius:50%;width:31px;height:31px}.logo-name{font-size:18px}.nav-a{font-weight:700;color:#b3b3b3;padding:11px 10px}.nav-a:hover{color:#fff;background:#1a1a1a}.nav-a.active{color:#fff;background:transparent}.nav-a.active i{color:#1ed760}.nav-label{display:none}.library-head{display:flex;align-items:center;justify-content:space-between;color:#b3b3b3;font-size:11px;font-weight:800;letter-spacing:1px;padding:28px 10px 13px}.library-head button{border:0;background:transparent;color:#b3b3b3;cursor:pointer}.library-head button:hover{color:#fff}.library-links a{display:flex;align-items:center;gap:11px;color:#b3b3b3;text-decoration:none;font-size:12px;font-weight:600;padding:9px 10px}.library-links a:hover{color:#fff}.library-links a i{width:18px;text-align:center;color:#1ed760}.main{background:linear-gradient(180deg,#1f1f1f 0,#121212 270px)!important;border-radius:8px 8px 0 0;padding:22px 34px}.topbar{top:-22px!important;padding:0 0 18px!important;background:linear-gradient(#1f1f1f 70%,transparent)!important}.history-buttons{display:flex;gap:8px}.history-buttons button{width:32px;height:32px;border:0;border-radius:50%;background:#0b0b0b;color:#fff;cursor:pointer}.history-buttons button:hover{background:#303030}.search-wrap{max-width:360px}.search-wrap input{background:#fff!important;color:#111!important;border:0!important;padding-top:10px;padding-bottom:10px}.search-wrap i{color:#111}.top-profile{display:flex;align-items:center;gap:7px;padding:7px 12px 7px 8px;border-radius:20px;background:#0b0b0b;color:#fff;text-decoration:none;font-size:11px;font-weight:700}.top-profile i{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#535353}.theme-btn{border:0;background:#0b0b0b;color:#fff}.player-bar{background:#181818;border-top:1px solid #282828;box-shadow:none}.player{padding:0 18px}.p-track{min-width:180px}.p-cover{border-radius:3px}.p-title{color:#fff}.p-artist{color:#b3b3b3}.p-status{color:#1ed760}.ctrl{color:#b3b3b3}.ctrl:hover{color:#fff}.ctrl.play{background:#fff;color:#000;width:32px;height:32px}.ctrl.play:hover{transform:scale(1.06);background:#fff}.p-btns{gap:14px}.p-fill{background:#1ed760}.p-bar{background:#535353}.player-bar::before{display:none}.section-title{font-size:21px;color:#fff}.section-more{color:#b3b3b3;font-weight:700}.section-more:hover{color:#fff}.landing-hero{background:linear-gradient(135deg,#1e1e1e,#121212)!important;border-radius:8px;padding:36px 40px;min-height:390px}.landing-copy h1{font-size:clamp(44px,5vw,68px);letter-spacing:-3px}.landing-copy h1 i{background:linear-gradient(90deg,#1ed760,#adf7be);background-clip:text}.landing-kicker{color:#1ed760}.landing-kicker span{background:#1ed760}.landing-trust i{color:#1ed760}.spotlight{border-radius:5px;transform:none}.spotlight-play,.hero-play,.editorial-play{background:#1ed760;color:#000;box-shadow:0 8px 22px rgba(30,215,96,.25)}.spotlight-play:hover,.hero-play:hover{background:#1ed760;color:#000}.mood-pill{background:#282828;border:0}.mood-pill:hover{border-color:#1ed760}.mood-pill i{color:#1ed760}.card,.artist-card{background:#181818;border:0;border-radius:5px}.card:hover,.artist-card:hover{background:#282828;border-color:transparent}.editorial-card{border-radius:5px}.fresh-item:hover{background:#282828}.fresh-play{color:#1ed760}@media(max-width:900px){.main{background:#121212!important;border-radius:0;padding:14px}.history-buttons{display:none}.top-profile{display:none}.player-bar{background:#181818}.sidebar{display:none}}
.shell.sidebar-collapsed{--nav-w:78px}.sidebar-collapsed .library-head,.sidebar-collapsed .library-links{display:none}.sidebar-collapsed .logo-name{display:none}.sidebar-collapsed .nav-a{justify-content:center;font-size:0}.sidebar-collapsed .nav-a i{font-size:16px}
.profile-hero,.track-detail{background:linear-gradient(180deg,#2a2a2a,#181818);border:0;border-radius:5px;box-shadow:none}.profile-hero{min-height:270px}.track-detail{border-radius:5px;padding:30px}.profile-meta h1,.track-detail-copy h1{color:#fff}.profile-tabs{border-color:#3a3a3a}.profile-tab.active{color:#1ed760;border-color:#1ed760}.artist-ava,.track-detail-art{box-shadow:0 12px 35px rgba(0,0,0,.42)}.btn-primary{background:#1ed760;color:#000;font-weight:800}.btn-primary:hover{background:#1ed760;transform:scale(1.03)}.btn-ghost{background:#242424;color:#fff;border:0}.track-stats strong{color:#fff}.track-artist-link:hover,.section-more:hover{color:#1ed760}.tag-list span{background:#282828;border:0;color:#b3b3b3}.mini-track{background:#181818}.mini-track:hover{background:#282828}.comment{border-color:#303030}.about-panel{background:#181818;border:0}.song-row.active{background:#2a2a2a}.song-row.active .song-title,.song-row.active .song-num{color:#1ed760}
.p-title,.p-artist{display:block;text-decoration:none}.p-title{color:#fff}.p-artist{color:#b3b3b3}.p-title:hover,.p-artist:hover{text-decoration:underline;color:#1ed760}.p-title[href="#"],.p-artist[href="#"]{pointer-events:none}
.artist-load-sentinel{margin:14px auto 32px;text-align:center;color:#b3b3b3;font-size:12px;padding:12px}.artist-load-sentinel.is-loading{color:#1ed760}.song-title,.song-artist,.fresh-title,.fresh-artist,.editorial-overlay a,.spotlight-title,.spotlight-artist{display:block;text-decoration:none}.song-title,.fresh-title,.editorial-overlay a,.spotlight-title{color:inherit}.song-artist,.fresh-artist,.editorial-overlay a+ a,.spotlight-artist{color:#b3b3b3}.song-title:hover,.fresh-title:hover,.editorial-overlay a:hover,.spotlight-title:hover{color:#1ed760;text-decoration:underline}.song-artist:hover,.fresh-artist:hover,.spotlight-artist:hover,.editorial-overlay a+ a:hover{color:#fff;text-decoration:underline}.editorial-overlay a:first-of-type{font-size:14px;font-weight:700}.editorial-overlay a+ a{font-size:10px;margin-top:2px}.spotlight-title{font-size:26px;font-weight:700}.spotlight-artist{font-size:13px;margin-top:4px}
.mini-title,.mini-artist{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.mini-title{font-size:12px;font-weight:700;color:#fff}.mini-artist{font-size:10px;color:#b3b3b3;margin-top:3px}.mini-title:hover,.mini-artist:hover{color:#1ed760;text-decoration:underline}
@media(max-width:600px){.main{padding:14px 12px calc(var(--player-h) + var(--mob-bar-h) + 20px)!important}.topbar{gap:7px!important}.search-wrap{min-width:0}.search-wrap input{font-size:12px}.player{grid-template-columns:minmax(0,1fr) auto!important;padding:0 10px!important;gap:8px!important}.p-track{min-width:0!important}.p-info{max-width:calc(100vw - 145px)}.p-title,.p-artist{overflow:hidden;text-overflow:ellipsis}.p-btns{gap:5px!important}.p-btns .ctrl:first-child,.p-btns .ctrl:last-child{display:none}.p-right{display:none!important}.ctrl.play{width:36px;height:36px}.mob-nav{height:58px}.mob-btn{font-size:9px}.mob-btn i{font-size:17px}.landing-hero{padding:25px 18px!important}.landing-copy h1{font-size:44px!important}.spotlight{height:230px!important}.track-detail{padding:18px!important}.track-detail-art{width:min(240px,78vw)!important}.profile-hero{padding:18px!important}.profile-meta h1{font-size:25px!important}.profile-stats{gap:10px;flex-wrap:wrap}.profile-tabs{gap:18px}.track-columns{gap:22px!important}.song-row{grid-template-columns:20px 38px minmax(0,1fr) auto!important}.song-plays{min-width:30px;font-size:10px}.song-open{display:none}.grid-auto{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card{min-width:0}}
.full-player-modal{display:none}.full-player-modal.is-open{display:block;position:fixed;inset:0;z-index:1000}.full-player-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(14px)}.full-player-sheet{position:absolute;inset:0;display:flex;flex-direction:column;padding:22px 24px 34px;background:linear-gradient(160deg,#343434 0%,#181818 65%,#121212 100%);color:#fff}.full-player-header{display:flex;align-items:center;justify-content:space-between;color:#b3b3b3;font-size:10px;letter-spacing:1.5px;font-weight:800}.full-close,.full-more{border:0;background:transparent;color:#fff;font-size:19px;padding:5px;cursor:pointer}.full-player-cover{width:min(78vw,430px);aspect-ratio:1;object-fit:cover;border-radius:4px;margin:auto auto 34px;box-shadow:0 18px 50px rgba(0,0,0,.45)}.full-player-meta{display:flex;align-items:center;justify-content:space-between;gap:15px}.full-player-title,.full-player-artist{display:block;text-decoration:none}.full-player-title{color:#fff;font-size:22px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.full-player-artist{color:#b3b3b3;font-size:14px;margin-top:5px}.full-player-title:hover,.full-player-artist:hover{color:#1ed760;text-decoration:underline}.full-like{border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}.full-progress{margin-top:25px}.full-bar{height:4px;background:#535353;border-radius:3px;cursor:pointer}.full-fill{height:100%;width:0;background:#fff;border-radius:3px}.full-times{display:flex;justify-content:space-between;color:#b3b3b3;font-size:10px;margin-top:8px}.full-controls{display:flex;align-items:center;justify-content:center;gap:42px;margin-top:21px}.full-skip{border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}.full-main-play{display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:50%;background:#fff;color:#000;font-size:21px;cursor:pointer}.full-main-play:hover{transform:scale(1.04)}
@media(max-width:900px){.mob-nav{bottom:0!important}.player-bar{bottom:var(--mob-bar-h)!important}.full-player-modal.is-open{display:block}.full-player-sheet{padding-top:calc(18px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.full-player-cover{margin-top:auto}.full-controls{gap:48px}}
@media(min-width:901px){.full-player-modal.is-open{display:none}}
body.modal-open{overflow:hidden}
:root{--mob-bar-h:58px!important}
@media(max-width:600px){.topbar{width:100%;max-width:100%;overflow:visible}.search-wrap{flex:1;width:100%;max-width:none;min-width:0}.search-wrap input{width:100%;min-width:0}.topbar-right{display:none!important}.main{min-width:0}}
.share-modal{display:none}.share-modal.is-open{display:block;position:fixed;inset:0;z-index:1100}.share-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.share-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));padding:25px;border-radius:14px;background:#282828;color:#fff;box-shadow:0 20px 70px rgba(0,0,0,.5)}.share-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#b3b3b3;font-size:18px;cursor:pointer}.share-heading{font-size:20px;font-weight:800;margin-bottom:20px}.share-preview{display:flex;align-items:center;gap:14px;padding:12px;border-radius:8px;background:#181818}.share-preview img{width:64px;height:64px;object-fit:cover;border-radius:4px}.share-preview strong,.share-preview small{display:block}.share-preview strong{font-size:14px}.share-preview small{font-size:11px;color:#b3b3b3;margin-top:5px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.share-action{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:22px;padding:11px;background:#1ed760;color:#000;font-weight:800;cursor:pointer}.share-action:hover{background:#1fdf68}.share-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#888;font-size:10px;margin-top:14px;text-align:center}@media(max-width:600px){.share-sheet{top:auto;bottom:0;transform:translateX(-50%);border-radius:15px 15px 0 0;padding-bottom:calc(25px + env(safe-area-inset-bottom,0px))}}
@media(max-width:600px){.main{padding-top:calc(26px + env(safe-area-inset-top,0px))!important}.topbar{margin-top:0!important;margin-bottom:22px!important;padding-top:0!important}.profile-hero{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:13px!important;padding:27px 18px 22px!important;border-radius:16px!important;background:linear-gradient(180deg,#292929,#181818)!important}.profile-hero .artist-ava{width:108px!important;height:108px!important;margin:0!important;border:4px solid rgba(255,255,255,.08);box-shadow:0 14px 35px rgba(0,0,0,.38)}.profile-meta{width:100%!important;flex:none!important}.profile-meta .eyebrow{margin-bottom:9px}.profile-meta h1{font-size:30px!important;letter-spacing:-.8px;margin-bottom:8px!important;overflow-wrap:anywhere}.profile-meta p{font-size:12px!important;line-height:1.5!important;max-width:100%!important}.profile-stats{justify-content:center!important;gap:14px!important;margin-top:15px!important}.profile-stats span{font-size:10px}.profile-stats b{font-size:15px!important}.profile-actions{width:100%!important;justify-content:center!important;align-self:center!important;gap:8px!important}.profile-actions .btn{padding:9px 14px!important}.profile-tabs{gap:7px!important;margin:16px 0 22px!important;padding:4px!important;border:0!important;background:#181818;border-radius:24px;overflow-x:auto}.profile-tab{padding:9px 13px!important;border:0!important;border-radius:18px;font-size:11px!important}.profile-tab.active{background:#1ed760;color:#000!important}.profile-tab:hover{background:#282828}.profile-tab.active:hover{background:#1ed760}.section-head{gap:10px}.section-title{font-size:18px!important}.song-list{margin-bottom:24px!important}.song-row{padding:8px 3px!important;border-radius:9px!important}.song-title{font-size:12px!important}.song-artist{font-size:10px!important}.grid-auto .card-body{padding:9px!important}.grid-auto .card-title{font-size:11px}.artist-load-sentinel{margin-bottom:20px!important}}
.artist-album-row,.artist-similar-row{overflow-x:auto;display:flex;flex-wrap:nowrap;scroll-snap-type:x proximity;padding:3px 2px 12px;margin-bottom:10px}.artist-album-row .card{flex:0 0 168px;scroll-snap-align:start}.artist-similar-row{gap:12px}.similar-artist-card{flex:0 0 142px;scroll-snap-align:start;padding:14px 10px 12px}.similar-artist-card .artist-avatar{width:78px;height:78px}.section-hint{font-size:11px;color:var(--fg3)}.genre-tags{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 12px}.genre-tags span{font-size:10px;color:var(--genre-color);border:1px solid color-mix(in srgb,var(--genre-color) 45%,transparent);background:color-mix(in srgb,var(--genre-color) 12%,transparent);border-radius:20px;padding:5px 9px}.similar-artists-section{margin:34px 0 24px}.similar-artists-section .artist-name{font-size:12px}.similar-artists-section .artist-sub{font-size:10px}@media(max-width:600px){.artist-album-row .card{flex:0 0 148px}.similar-artist-card{flex-basis:132px}.similar-artists-section{margin-top:28px}.section-hint{font-size:10px}}
.artist-album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px;margin-bottom:10px}.artist-album-grid .card{flex:none}.artist-similar-row{gap:24px}.similar-artist-item{flex:0 0 120px;text-align:center;color:inherit;text-decoration:none;scroll-snap-align:start}.similar-artist-item .artist-avatar{width:88px;height:88px;margin:0 auto 10px;border-radius:50%}.similar-artist-item .artist-name{font-size:12px}.similar-artist-item .artist-sub{font-size:10px;color:var(--fg3);margin-top:3px}.artist-footer-box{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(220px,1.4fr) minmax(150px,.8fr) minmax(150px,.7fr);gap:24px;align-items:start;margin:42px 0 28px;padding:22px 24px;border-radius:14px;background:#181818;border:1px solid rgba(255,255,255,.07)}.artist-footer-head{display:flex;align-items:center;gap:12px;font-size:15px}.artist-footer-avatar{width:54px;height:54px;object-fit:cover;border-radius:50%}.artist-footer-box b{display:block;color:#fff;font-size:11px;margin-bottom:8px}.artist-footer-about p{color:#b3b3b3;font-size:11px;line-height:1.5}.artist-footer-genres>div{display:flex;flex-wrap:wrap;gap:5px}.artist-footer-genres span{color:#b3b3b3;background:#282828;border-radius:15px;padding:5px 8px;font-size:10px}.artist-footer-social>div{display:flex;gap:10px}.artist-footer-social a{color:#b3b3b3;font-size:17px}.artist-footer-social a:hover{color:#1ed760}@media(max-width:600px){.search-wrap input{font-size:16px!important}.artist-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.artist-footer-box{grid-template-columns:1fr 1fr;gap:20px 14px;margin-top:30px;padding:18px}.artist-footer-head{grid-column:1/-1}.artist-footer-about{grid-column:1/-1}.artist-footer-genres,.artist-footer-social{min-width:0}.artist-similar-row{gap:20px}.similar-artist-item{flex-basis:108px}}
.legal-links{margin-top:auto;padding:18px 10px 6px;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-wrap:wrap;gap:5px 10px}.legal-links a{color:#6f6f6f;text-decoration:none;font-size:10px}.legal-links a:hover{color:#fff}.legal-page{max-width:850px;padding:20px 0 50px}.legal-page h1{font-size:clamp(28px,4vw,44px);margin:8px 0 26px;letter-spacing:-1px}.legal-content{background:#181818;border-radius:10px;padding:26px 28px;color:#b3b3b3;font-size:13px;line-height:1.75}.legal-content h3{color:#fff;font-size:16px;margin:22px 0 6px}.legal-content p{margin:0 0 16px}.legal-note{padding:12px 14px;border-left:3px solid #1ed760;background:rgba(30,215,96,.08);color:#d5d5d5}.legal-nav{display:flex;flex-wrap:wrap;gap:15px;margin-top:22px}.legal-nav a{color:#1ed760;text-decoration:none;font-size:12px;font-weight:700}.legal-nav a:hover{text-decoration:underline}@media(max-width:900px){.legal-links{display:none}.legal-page{padding:8px 0 35px}.legal-content{padding:20px;font-size:12px}.legal-nav{gap:10px}}
.mobile-menu-btn,.mobile-drawer,.mobile-drawer-overlay{display:none}@media(max-width:900px){.mobile-menu-btn{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:#282828;color:#fff;font-size:16px;cursor:pointer}.mobile-menu-btn:active{background:#1ed760;color:#000}.mobile-drawer-overlay{display:block;position:fixed;inset:0;z-index:1190;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .22s}.mobile-drawer-overlay.is-open{opacity:1;pointer-events:auto}.mobile-drawer{display:flex;flex-direction:column;position:fixed;z-index:1200;inset:0 auto 0 0;width:min(84vw,330px);padding:18px 14px calc(20px + env(safe-area-inset-bottom,0px));background:#181818;box-shadow:18px 0 60px rgba(0,0,0,.45);transform:translateX(-105%);transition:transform .24s ease;overflow-y:auto}.mobile-drawer.is-open{transform:translateX(0)}.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.mobile-drawer-head .logo{padding:0;color:#fff}.mobile-drawer-head>button{border:0;background:transparent;color:#b3b3b3;font-size:20px;padding:8px;cursor:pointer}.mobile-drawer-nav{display:flex;flex-direction:column;gap:4px}.mobile-drawer-nav a{display:flex;align-items:center;gap:14px;padding:13px 12px;border-radius:8px;color:#b3b3b3;text-decoration:none;font-size:14px;font-weight:700}.mobile-drawer-nav a i{width:19px;text-align:center;color:#1ed760}.mobile-drawer-nav a:hover,.mobile-drawer-nav a:active{background:#282828;color:#fff}.mobile-drawer-divider{height:1px;background:#303030;margin:24px 10px}.mobile-drawer-label{padding:0 12px 10px;color:#6a6a6a;font-size:9px;font-weight:800;letter-spacing:1.5px}.mobile-drawer-legal{display:flex;flex-direction:column;gap:2px}.mobile-drawer-legal a{padding:10px 12px;color:#b3b3b3;text-decoration:none;font-size:12px}.mobile-drawer-legal a:hover{color:#fff;background:#282828;border-radius:7px}body.drawer-open{overflow:hidden}}
@media(min-width:901px){.mobile-menu-btn{display:none!important}}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:1300;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(24,24,24,.96);box-shadow:0 12px 45px rgba(0,0,0,.45);color:#fff;transition:opacity .2s,transform .2s}.cookie-banner.is-hidden{opacity:0;transform:translateY(18px);pointer-events:none}.cookie-banner-copy{display:flex;align-items:flex-start;gap:12px;min-width:0}.cookie-banner-copy>i{color:#1ed760;font-size:20px;margin-top:2px}.cookie-banner-copy strong{font-size:13px}.cookie-banner-copy p{margin:4px 0 0;color:#b3b3b3;font-size:11px;line-height:1.45}.cookie-banner-copy a{color:#1ed760;text-decoration:underline}.cookie-ok{flex:0 0 auto;border:0;border-radius:20px;padding:9px 16px;background:#1ed760;color:#000;font-size:12px;font-weight:800;cursor:pointer}.cookie-ok:hover{background:#1fdf68}@media(max-width:600px){.cookie-banner{left:10px;right:10px;bottom:calc(68px + env(safe-area-inset-bottom,0px));display:block;padding:15px;border-radius:14px}.cookie-banner-copy>i{font-size:18px}.cookie-banner-copy p{font-size:11px}.cookie-ok{width:100%;margin-top:12px;padding:10px}}
.monthly-top-section{margin-top:34px}.monthly-top-list .fresh-item{grid-template-columns:32px 44px minmax(0,1fr) auto auto 18px}.monthly-plays{font-size:10px;color:#1ed760;white-space:nowrap}.monthly-top-list .fresh-index{color:#1ed760;font-weight:800}@media(max-width:600px){.monthly-top-section{margin-top:28px}.monthly-top-list .fresh-item{grid-template-columns:24px 38px minmax(0,1fr) auto 16px;gap:8px}.monthly-top-list .fresh-time{display:none}.monthly-plays{font-size:9px}}
.spotlight-artists-section{margin:30px 0 4px}.spotlight-artists-row{display:flex;gap:22px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}.spotlight-artist-item{display:flex;flex:0 0 94px;flex-direction:column;align-items:center;gap:9px;color:#fff;text-decoration:none;text-align:center;font-size:11px;font-weight:700}.spotlight-artist-avatar{width:76px;height:76px;border-radius:50%;object-fit:cover;border:2px solid rgba(30,215,96,.7);padding:2px;background:#282828;transition:transform .2s,border-color .2s}.spotlight-artist-item:hover .spotlight-artist-avatar{transform:scale(1.06);border-color:#1ed760}.spotlight-artist-item span{max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.spotlight-artists-section{margin:24px 0 0}.spotlight-artists-row{gap:16px}.spotlight-artist-item{flex-basis:78px;font-size:10px}.spotlight-artist-avatar{width:62px;height:62px}.spotlight-artist-item span{max-width:78px}}

/* Center the eight spotlight artists on wider screens; keep mobile browsing natural. */
.spotlight-artists-row{justify-content:center}
@media(max-width:600px){.spotlight-artists-row{justify-content:flex-start}}
.compilations-section{margin-top:38px;padding-bottom:40px}.compilation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}.compilation-card{min-width:0}.compilation-card .card-img{aspect-ratio:1;object-fit:cover}.compilation-card .card-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compilation-card:hover{transform:translateY(-3px)}@media(max-width:600px){.compilations-section{margin-top:30px;padding-bottom:25px}.compilation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compilation-card .card-body{padding:10px}.compilation-card .card-title{font-size:12px}}
.compilations-page{padding-bottom:50px}.compilations-page .section-title{margin-bottom:6px}.page-intro{margin:0;color:#a7a7a7;font-size:13px;line-height:1.5}.compilation-grid-page{margin-top:24px}.compilation-grid-page .compilation-card{transition:transform .2s,background .2s}.compilation-grid-page .compilation-card:hover{background:#282828}.empty-state{text-align:center;color:#8d8d8d;padding:50px 20px;font-size:13px}.empty-state i{display:block;font-size:28px;color:#1ed760;margin-bottom:12px}
.chart-docs-page{max-width:1180px;margin:0 auto;padding:34px 22px 110px}.docs-hero{padding:30px 0 42px;max-width:720px}.docs-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-2px;margin:14px 0 18px}.docs-hero h1 span{color:var(--accent,#1ed760)}.docs-hero p{color:var(--muted,#a7a7a7);font-size:17px;line-height:1.6;max-width:590px}.docs-back-link{display:inline-flex;gap:9px;align-items:center;margin-top:14px;color:var(--accent,#1ed760);font-weight:700;text-decoration:none}.docs-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;align-items:start}.docs-main{display:grid;gap:14px}.docs-panel{background:linear-gradient(145deg,rgba(35,35,35,.95),rgba(24,24,24,.96));border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px;box-shadow:0 14px 35px rgba(0,0,0,.16)}.docs-step{display:flex;gap:15px;align-items:flex-start}.docs-step>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:rgba(30,215,96,.14);color:var(--accent,#1ed760);font-size:12px;font-weight:800}.docs-step h2{font-size:19px;margin:0 0 5px}.docs-step p{color:var(--muted,#a7a7a7);margin:0;line-height:1.5}.docs-panel pre{overflow:auto;background:#101010;border:1px solid rgba(255,255,255,.07);border-radius:10px;margin:20px 0 0;padding:16px;color:#d9fbe4;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.docs-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.docs-options>div{background:rgba(255,255,255,.045);border-radius:10px;padding:14px}.docs-options code{display:block;color:var(--accent,#1ed760);font-size:12px;margin-bottom:9px}.docs-options strong{display:block;font-size:12px}.docs-options small{display:block;color:var(--muted,#a7a7a7);font-size:11px;margin-top:6px}.docs-note{display:flex;gap:10px;align-items:flex-start;margin-top:16px;color:var(--muted,#a7a7a7);font-size:13px;line-height:1.5}.docs-note i{color:var(--accent,#1ed760);margin-top:3px}.docs-preview-column{position:sticky;top:24px}.preview-heading h2{font-size:28px;margin:8px 0}.preview-heading p{color:var(--muted,#a7a7a7);line-height:1.5;margin:0 0 18px}.preview-window{border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;background:#0d0d0d;box-shadow:0 16px 40px rgba(0,0,0,.25)}.preview-window-small{margin-top:16px}.preview-window-bar{height:30px;background:#252525;display:flex;align-items:center;gap:6px;padding:0 11px}.preview-window-bar span{width:7px;height:7px;border-radius:50%;background:#666}.preview-window-bar span:first-child{background:#ff665c}.preview-window-bar span:nth-child(2){background:#ffbd44}.preview-window-bar span:nth-child(3){background:#00ca4e}.preview-window-bar em{font:10px Arial;color:#777;font-style:normal;margin-left:8px}.preview-window-body{padding:14px}.preview-window .kbw{max-width:none;padding:3px;background:transparent}.preview-window .kbw h3{font-size:16px}.preview-window .kbw-item{grid-template-columns:24px 36px minmax(0,1fr) auto;gap:8px;padding:6px 3px}.preview-window .kbw-cover{width:36px;height:36px}.preview-window .kbw-plays{font-size:10px}.preview-window .kbw-title{font-size:12px}.preview-window .kbw-artist{font-size:10px}@media(max-width:850px){.docs-layout{grid-template-columns:1fr}.docs-preview-column{position:static}.docs-options{grid-template-columns:1fr}.chart-docs-page{padding:24px 16px 90px}.docs-hero h1{letter-spacing:-1px}}@media(max-width:520px){.docs-panel{padding:18px}.docs-hero{padding-top:14px}.preview-window-small{display:none}}
.charts-docs-link{display:flex;align-items:center;gap:11px;min-width:212px;padding:10px 13px;border:1px solid rgba(30,215,96,.3);border-radius:12px;background:linear-gradient(135deg,rgba(30,215,96,.13),rgba(30,215,96,.04));color:#fff;text-decoration:none;transition:transform .2s,border-color .2s,background .2s}.charts-docs-link:hover{transform:translateY(-2px);border-color:#1ed760;background:rgba(30,215,96,.18)}.charts-docs-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#1ed760;color:#071b0d;font-size:13px}.charts-docs-link strong,.charts-docs-link small{display:block}.charts-docs-link strong{font-size:12px}.charts-docs-link small{color:#a7a7a7;font-size:10px;margin-top:2px}.charts-docs-arrow{margin-left:auto;color:#1ed760;font-size:11px}.chart-docs-page .eyebrow{color:#1ed760;letter-spacing:1.5px;font-size:10px;font-weight:800}.chart-docs-page .docs-hero{position:relative}.chart-docs-page .docs-hero:after{content:'</>';position:absolute;right:6%;top:10px;color:rgba(30,215,96,.08);font:900 150px/1 ui-monospace,monospace;pointer-events:none}.chart-docs-page .docs-panel{transition:border-color .2s,transform .2s}.chart-docs-page .docs-panel:hover{border-color:rgba(30,215,96,.25);transform:translateY(-1px)}@media(max-width:600px){.charts-docs-link{min-width:0;padding:8px}.charts-docs-link small{display:none}.charts-docs-link strong{font-size:11px}.charts-docs-icon{width:29px;height:29px}.charts-docs-arrow{display:none}.chart-docs-page .docs-hero:after{font-size:90px;right:0;top:0}}
.radios-page{max-width:1180px;margin:0 auto;padding:30px 22px 100px}.radio-hero{position:relative;overflow:hidden;padding:38px 40px;margin-bottom:42px;border-radius:18px;background:radial-gradient(circle at 85% 10%,rgba(30,215,96,.25),transparent 32%),linear-gradient(135deg,#242424,#151515)}.radio-hero:after{content:'◉';position:absolute;right:9%;top:-24px;color:rgba(30,215,96,.09);font-size:190px}.radio-hero h1{position:relative;z-index:1;font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-2px;margin:14px 0}.radio-hero h1 span{color:#1ed760}.radio-hero p{position:relative;z-index:1;max-width:530px;color:#b3b3b3;font-size:15px;line-height:1.6}.radio-section-head{margin-bottom:16px}.radio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.radio-card{position:relative;display:flex;flex-direction:column;min-height:142px;padding:18px;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:linear-gradient(145deg,#252525,#191919);overflow:hidden;transition:transform .2s,border-color .2s,background .2s}.radio-card:before{content:'';position:absolute;inset:auto -20px -46px auto;width:130px;height:130px;border-radius:50%;background:var(--radio-color,#1ed760);opacity:.1;filter:blur(2px)}.radio-card:hover,.radio-card.active{transform:translateY(-3px);border-color:var(--radio-color,#1ed760);background:#292929}.radio-card-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--radio-color,#1ed760) 20%,transparent);color:var(--radio-color,#1ed760);font-size:14px}.radio-card-name{margin-top:17px;font-size:17px;font-weight:800}.radio-card-meta{margin-top:5px;color:#999;font-size:11px}.radio-card-play{position:absolute;right:17px;bottom:17px;color:var(--radio-color,#1ed760);font-size:14px}.radio-results{margin-top:46px}.radio-results .section-head{margin-bottom:12px}@media(max-width:600px){.radios-page{padding:20px 12px 90px}.radio-hero{padding:27px 20px;margin-bottom:32px;border-radius:14px}.radio-hero h1{font-size:42px;letter-spacing:-1px}.radio-hero:after{font-size:110px;right:0;top:4px}.radio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.radio-card{min-height:126px;padding:14px}.radio-card-name{font-size:14px;margin-top:13px}.radio-card-meta{font-size:9px}.radio-card-play{right:14px;bottom:14px;font-size:12px}}
.radio-genre-pills{display:flex;flex-wrap:wrap;gap:9px;margin:-2px 0 42px}.radio-genre-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#1d1d1d;color:#b3b3b3;text-decoration:none;font-size:12px;font-weight:700;transition:.2s}.radio-genre-pill i{font-size:9px;color:var(--radio-color,#1ed760)}.radio-genre-pill small{color:#777;font-size:10px}.radio-genre-pill:hover,.radio-genre-pill.active{border-color:var(--radio-color,#1ed760);background:color-mix(in srgb,var(--radio-color,#1ed760) 15%,#1d1d1d);color:#fff}.radio-stations-head{margin-top:4px}.radio-station-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.radio-station-card{display:flex;gap:16px;min-width:0;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:linear-gradient(145deg,#252525,#181818)}.radio-station-card>img{width:104px;height:104px;flex:none;object-fit:cover;border-radius:10px}.radio-station-content{min-width:0}.radio-station-content h3{margin:5px 0 6px;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-station-content p{margin:0;color:#999;font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.radio-station-meta{margin:9px 0;color:#777;font-size:10px}.radio-listen{display:inline-flex;padding:8px 12px;font-size:11px}.radio-listen i{margin-right:5px}@media(max-width:600px){.radio-genre-pills{gap:7px;margin-bottom:30px}.radio-genre-pill{padding:8px 11px;font-size:11px}.radio-station-grid{grid-template-columns:1fr;gap:10px}.radio-station-card{padding:12px;gap:12px}.radio-station-card>img{width:82px;height:82px}.radio-station-content h3{font-size:15px}.radio-station-content p{font-size:10px}.radio-listen{padding:7px 10px;font-size:10px}}
.genre-playlist-page{max-width:1120px;margin:0 auto;padding:28px 22px 100px}.genre-playlist-hero{display:flex;align-items:flex-end;gap:26px;margin:22px 0 22px;padding:28px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--genre-color) 35%,#242424),#171717)}.genre-playlist-art{display:grid;place-items:center;flex:none;width:190px;height:190px;border-radius:8px;background:linear-gradient(145deg,var(--genre-color),#111);color:rgba(0,0,0,.55);font-size:68px;box-shadow:0 16px 32px rgba(0,0,0,.3)}.genre-playlist-meta{min-width:0}.genre-playlist-meta h1{font-size:clamp(38px,6vw,72px);line-height:1;letter-spacing:-2px;margin:10px 0}.genre-playlist-meta p{color:#b3b3b3;margin:0 0 13px}.genre-playlist-meta>span{color:#999;font-size:12px}.genre-playlist-actions{display:flex;gap:10px;margin:12px 0 18px}.genre-playlist-actions .btn{display:inline-flex;align-items:center;gap:8px}.genre-song-list{margin-top:8px}@media(max-width:600px){.genre-playlist-page{padding:20px 12px 90px}.genre-playlist-hero{align-items:center;flex-direction:column;gap:18px;text-align:center;padding:22px 16px}.genre-playlist-art{width:150px;height:150px;font-size:52px}.genre-playlist-meta h1{font-size:38px;letter-spacing:-1px}.genre-playlist-meta p{font-size:12px}.genre-playlist-actions{justify-content:center}.genre-playlist-actions .btn{padding:9px 14px;font-size:11px}}
.genre-load-sentinel{min-height:38px;padding:14px;text-align:center;color:#888;font-size:12px}.genre-load-sentinel[data-loading="1"]{color:#1ed760}.genre-load-sentinel:empty{display:none}
.legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px}.legal-label{width:100%;color:#777;font-size:9px;font-weight:800;letter-spacing:1px;margin-bottom:3px}.legal-links a{display:inline-flex;align-items:center;gap:5px}.legal-links a i{font-size:10px;color:#777}.legal-links a:hover i{color:#1ed760}.sidebar-collapsed .legal-links{display:flex;flex-direction:column;align-items:center;gap:13px;padding:16px 0 7px}.sidebar-collapsed .legal-label,.sidebar-collapsed .legal-links a span{display:none}.sidebar-collapsed .legal-links a{width:32px;height:24px;justify-content:center}.sidebar-collapsed .legal-links a i{font-size:14px;color:#777}.sidebar-collapsed .legal-links a:hover i{color:#1ed760}
.playlist-load-sentinel{min-height:40px;padding:15px;text-align:center;color:#888;font-size:12px}.playlist-load-sentinel[data-loading="1"]{color:#1ed760}.playlist-load-sentinel:empty{display:none}
.sidebar-collapsed .legal-links a{font-size:0;padding:10px;width:100%;height:auto;gap:0}.sidebar-collapsed .legal-links a i{display:block;width:17px;margin:0;font-size:15px;text-align:center}.sidebar-collapsed .legal-links{margin-top:auto;align-items:stretch;border-top:1px solid rgba(255,255,255,.07);padding:14px 10px 6px;gap:2px}

.auth-page{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:35px 20px}.auth-card{width:min(100%,460px);padding:34px;border:1px solid var(--bdr);border-radius:24px;background:linear-gradient(145deg,var(--bg2),var(--bg3));box-shadow:var(--shadow-lg)}.auth-brand{display:flex;align-items:center;gap:9px;font-size:22px;margin-bottom:38px}.auth-brand .logo-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent);color:#fff;font-size:14px}.auth-card h1{font-size:clamp(30px,5vw,44px);line-height:1.03;letter-spacing:-1.8px;margin:9px 0 12px}.auth-lead{color:var(--fg2);font-size:13px;line-height:1.6;margin-bottom:24px}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px;color:var(--fg2);font-size:11px;font-weight:700}.auth-form input{width:100%;padding:12px 13px;border:1px solid var(--bdr);border-radius:9px;background:var(--bg1);color:var(--fg1);font:inherit;font-size:14px;outline:none}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.auth-submit{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:7px;padding:13px}.auth-error{padding:11px 13px;margin:-5px 0 17px;border:1px solid rgba(248,113,113,.3);border-radius:9px;background:rgba(248,113,113,.1);color:#fca5a5;font-size:12px}.auth-switch{text-align:center;color:var(--fg3);font-size:12px;margin:22px 0 0}.auth-switch a{color:var(--accent);font-weight:700;text-decoration:none}.top-profile img{width:26px;height:26px;border-radius:50%;object-fit:cover}.logout-form{display:inline-flex}.logout-form .theme-btn{cursor:pointer}.sidebar-collapsed .top-profile span{display:none}@media(max-width:600px){.auth-page{padding:20px 12px 100px}.auth-card{padding:25px 20px;border-radius:18px}.auth-brand{margin-bottom:28px}}

.community-like,.community-follow{display:inline-flex;align-items:center;gap:7px}.community-like.is-liked{color:#f472b6;border-color:rgba(244,114,182,.4)}.community-follow.is-following{color:var(--accent);border-color:var(--accent)}.comment-form{display:flex;gap:10px;align-items:flex-end;margin-top:18px;padding:14px;border:1px solid var(--bdr);border-radius:12px;background:var(--bg2)}.comment-form textarea{flex:1;min-height:42px;resize:vertical;border:1px solid var(--bdr);border-radius:8px;background:var(--bg1);color:var(--fg1);padding:10px;font:inherit;font-size:12px}.comment-form textarea:focus{outline:none;border-color:var(--accent)}.comment-form .btn{white-space:nowrap;padding:10px 13px}.comment-login{margin-top:18px;color:var(--fg3);font-size:12px}.comment-login a{color:var(--accent);font-weight:700}@media(max-width:600px){.comment-form{align-items:stretch;flex-direction:column}.comment-form .btn{align-self:flex-end}}

.library-head>a,.library-subhead a{color:var(--fg3);text-decoration:none}.library-head>a:hover,.library-subhead a:hover{color:var(--accent)}.library-subhead{display:flex;align-items:center;justify-content:space-between;margin:17px 9px 5px;color:var(--fg3);font-size:9px;font-weight:800;letter-spacing:1px}.library-subhead a{font-size:11px}.library-links>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-collapsed .library-head>a,.sidebar-collapsed .library-subhead{display:none}.auth-form textarea{width:100%;resize:vertical;border:1px solid var(--bdr);border-radius:9px;background:var(--bg1);color:var(--fg1);padding:12px 13px;font:inherit;font-size:13px}.auth-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}

.playlist-add-form{display:inline-flex;align-items:center;gap:6px}.playlist-add-form select{max-width:170px;padding:9px 10px;border:1px solid var(--bdr);border-radius:20px;background:var(--bg2);color:var(--fg1);font-size:11px}.playlist-add-form .btn{white-space:nowrap}@media(max-width:600px){.playlist-add-form{width:100%;order:5}.playlist-add-form select{flex:1;max-width:none}.track-actions{flex-wrap:wrap}}

.playlist-picker-modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:18px}.playlist-picker-modal.is-open{display:flex}.playlist-picker-backdrop{position:absolute;inset:0;background:rgba(4,6,12,.76);backdrop-filter:blur(8px)}.playlist-picker-sheet{position:relative;width:min(100%,430px);max-height:min(720px,calc(100vh - 36px));overflow:auto;padding:29px 24px 22px;border:1px solid var(--bdr);border-radius:22px;background:linear-gradient(145deg,var(--bg2),var(--bg3));box-shadow:0 25px 90px rgba(0,0,0,.45);animation:picker-in .18s ease-out}.playlist-picker-sheet h2{margin:8px 0 7px;font-size:24px;letter-spacing:-.7px}.playlist-picker-sheet>p{margin:0 0 20px;color:var(--fg3);font-size:12px}.playlist-picker-close{position:absolute;top:15px;right:15px;width:31px;height:31px;border:0;border-radius:50%;background:var(--bg4);color:var(--fg2);cursor:pointer}.playlist-picker-list{display:grid;gap:7px;margin-bottom:17px}.playlist-picker-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:1px solid transparent;border-radius:12px;background:var(--bg1);color:var(--fg1);text-align:left;cursor:pointer;font:inherit;font-size:13px}.playlist-picker-item:hover{border-color:var(--accent);background:var(--accent-glow)}.playlist-picker-item.is-added{color:var(--accent)}.playlist-picker-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff}.picker-add-icon{margin-left:auto;color:var(--fg3)}.playlist-picker-new{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px dashed var(--bdr);border-radius:11px;color:var(--accent);font-size:12px;font-weight:700;text-decoration:none}.playlist-picker-new:hover{background:var(--accent-glow)}@keyframes picker-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:600px){.playlist-picker-modal{align-items:flex-end;padding:0}.playlist-picker-sheet{width:100%;max-height:78vh;border-radius:22px 22px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}

.profile-menu{position:relative}.profile-menu summary{list-style:none;cursor:pointer}.profile-menu summary::-webkit-details-marker{display:none}.profile-chevron{font-size:9px;color:var(--fg3);margin-left:4px}.profile-menu[open] .profile-chevron{transform:rotate(180deg)}.profile-dropdown{position:absolute;right:0;top:calc(100% + 10px);z-index:1100;width:235px;padding:8px;border:1px solid var(--bdr);border-radius:14px;background:var(--bg2);box-shadow:0 18px 50px rgba(0,0,0,.35)}.profile-dropdown-user{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--bdr);margin-bottom:5px}.profile-dropdown-user img{width:34px;height:34px;border-radius:50%;object-fit:cover}.profile-dropdown-user div{display:grid;gap:2px;min-width:0}.profile-dropdown-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.profile-dropdown-user small{color:var(--fg3);font-size:10px}.profile-dropdown>a,.profile-dropdown form button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--fg2);font:inherit;font-size:12px;text-decoration:none;text-align:left;cursor:pointer}.profile-dropdown>a:hover,.profile-dropdown form button:hover{background:var(--bg4);color:var(--fg1)}.profile-dropdown>a i,.profile-dropdown form button i{width:16px;text-align:center;color:var(--fg3)}.profile-dropdown-divider{height:1px;background:var(--bdr);margin:5px 0}/* ── Settings ───────────────────────────────────────────────────────── */
.settings-page{padding-bottom:60px}
.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}
.settings-header h1{font-size:clamp(22px,3vw,32px);letter-spacing:-1px;margin:6px 0 0}
.settings-toast{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:12px;font-size:13px;margin-bottom:20px;background:rgba(74,222,128,.1);color:#86efac;border:1px solid rgba(74,222,128,.2)}
.settings-toast--error{background:rgba(248,113,113,.1);color:#f87171;border-color:rgba(248,113,113,.2)}
.settings-layout{display:grid;grid-template-columns:minmax(0,1.4fr) 300px;gap:24px;align-items:start}
.settings-col{display:flex;flex-direction:column;gap:16px}
.settings-block{background:var(--bg2);border:1px solid var(--bdr);border-radius:18px;padding:22px}
.settings-block-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--fg3);text-transform:uppercase;margin-bottom:18px}
.settings-block-title i{color:var(--accent);font-size:12px}
.settings-hint{font-size:11px;color:var(--fg3);margin:-10px 0 14px;line-height:1.5}
.settings-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.settings-field:last-child{margin-bottom:0}
.settings-field label{font-size:11px;font-weight:700;color:var(--fg2);display:flex;align-items:center;gap:6px}
.settings-field label i{color:var(--fg3);width:12px}
.settings-field input,.settings-field textarea,.settings-field select{padding:11px 13px;border:1px solid var(--bdr);border-radius:10px;background:var(--bg1);color:var(--fg1);font:inherit;font-size:13px;transition:border-color .15s}
.settings-field input:focus,.settings-field textarea:focus,.settings-field select:focus{outline:none;border-color:var(--accent);background:var(--bg1)}
.settings-field textarea{resize:vertical;min-height:110px;line-height:1.6}
.settings-field select{cursor:pointer}
.settings-field-hint{font-size:10px;color:var(--fg3)}
.settings-field--half{max-width:200px}
.settings-socials-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.settings-submit{padding-top:4px}
/* Upload zones */
.upzone--banner{margin-bottom:4px}
.upzone-preview--banner{position:relative;width:100%;height:130px;background:var(--bg3) center/cover no-repeat;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.upzone-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--fg3);font-size:12px;pointer-events:none}
.upzone-empty i{font-size:30px}
.upzone-btn-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(0,0,0,0);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;border-radius:14px}
.upzone-btn-overlay:hover{background:rgba(0,0,0,.5)}
.upzone-btn-overlay i{font-size:16px;opacity:0;transition:opacity .2s}
.upzone-btn-overlay:hover i,.upzone-btn-overlay:hover{opacity:1}
.upzone-btn-overlay i{opacity:0}
.upzone-btn-overlay:hover i{opacity:1}
.upzone--avatar{margin-top:12px}
.upzone-avatar-inner{display:flex;align-items:center;gap:16px}
.upzone-preview--avatar{position:relative;width:80px;height:80px;border-radius:50%;background:var(--bg3) center/cover no-repeat;flex:none;border:3px solid var(--bg2);overflow:hidden}
.upzone-btn-overlay--round{border-radius:50%}
.upzone-bar-wrap{height:3px;background:var(--bg3);border-radius:4px;margin:8px 0 4px;overflow:hidden;opacity:0;transition:opacity .3s}
.upzone-bar{height:100%;width:0%;background:var(--accent);border-radius:4px;transition:width .25s ease}
.upzone-status{font-size:11px;min-height:16px}
.upzone-status--loading{color:var(--fg3)}
.upzone-status--ok{color:#86efac}
.upzone-status--error{color:#f87171}
.preview-avatar{width:56px;height:56px;border-radius:50%;background:var(--bg3) center/cover no-repeat;border:3px solid var(--bg2);flex:none}
/* Preview card */
.settings-preview-card{padding:0;overflow:hidden}
.settings-preview-card>.eyebrow{padding:16px 18px 0;font-size:10px}
.preview-banner{height:80px;background:var(--bg3) center/cover no-repeat}
.preview-identity{display:flex;align-items:center;gap:12px;padding:0 16px 14px;border-bottom:1px solid var(--bdr);margin-top:-30px}
.preview-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--bg2);flex:none}
.preview-identity strong{display:block;font-size:14px}
.preview-username{font-size:11px;color:var(--fg3)}
.preview-bio{font-size:12px;color:var(--fg2);line-height:1.65;padding:14px 16px;margin:0;white-space:pre-wrap}
.preview-bio--empty{color:var(--fg3);font-style:italic}
.preview-socials{display:flex;gap:14px;padding:0 16px 16px;border-top:1px solid var(--bdr);padding-top:12px}
.preview-socials a{color:var(--fg3);font-size:17px;text-decoration:none;transition:color .15s}
.preview-socials a:hover{color:var(--accent)}
/* Info card */
.settings-info-card .info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--bdr);font-size:12px}
.settings-info-card .info-row:last-child{border-bottom:0;padding-bottom:0}
.settings-info-card .info-row span{color:var(--fg3)}
.settings-info-card .info-row strong{color:var(--fg1);font-size:12px}
.info-verified{color:#86efac!important}
.info-unverified{color:var(--fg3)!important}
@media(max-width:780px){
  .settings-layout{grid-template-columns:1fr}
  .settings-col--preview{order:-1}
  .settings-socials-grid{grid-template-columns:1fr}
  .settings-field--half{max-width:100%}
  .settings-header{flex-wrap:wrap}
}@media(max-width:700px){.profile-dropdown{position:fixed;right:12px;top:62px}.settings-grid{grid-template-columns:1fr}.settings-preview{order:-1}.settings-page .section-head{align-items:flex-start;gap:12px}.settings-page .section-head>.btn{font-size:0;padding:10px}.settings-page .section-head>.btn i{font-size:13px}}
/* ── Upload Pages ─────────────────────────────────────── */
.upload-page{padding-bottom:60px}
.upload-header{margin-bottom:28px}
.upload-header h1{font-size:clamp(22px,3vw,32px);letter-spacing:-1px;margin:6px 0 0}
.upload-lead{color:var(--fg3);font-size:13px;margin:6px 0 0}
.upload-layout{display:grid;grid-template-columns:minmax(0,1.4fr) 300px;gap:24px;align-items:start}
.upload-form{display:flex;flex-direction:column;gap:16px}
.upload-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.upload-checks{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.upload-check{display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer}
.upload-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}
.upload-submit-hint{font-size:11px;color:var(--fg3);margin-top:6px}
/* Audio drop zone */
.upzone--audio{border:2px dashed var(--bdr);border-radius:14px;padding:32px 20px;transition:border-color .2s}
.upzone--audio:hover{border-color:var(--accent)}
.upzone-audio-inner{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:var(--fg3)}
.upzone-audio-inner i{font-size:36px;color:var(--accent)}
.upzone-audio-inner span{font-size:12px}
.audio-info{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg3);border-radius:10px;font-size:12px;margin-top:8px}
/* Cover upload for track/album */
.upzone--cover-track .upzone-cover-inner{display:flex;align-items:center;gap:16px}
.upzone-preview--cover{position:relative;width:100px;height:100px;border-radius:12px;background:var(--bg3) center/cover no-repeat;flex:none;overflow:hidden}
/* Track preview card */
.upload-track-preview{display:flex;align-items:center;gap:14px;padding:16px 18px}
.upload-track-cover{width:72px;height:72px;border-radius:10px;object-fit:cover;flex:none}
.upload-track-meta{display:flex;flex-direction:column;gap:4px;min-width:0}
.upload-track-meta strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upload-audio-info{display:flex;align-items:center;gap:10px;padding:10px 18px 16px;font-size:12px;color:var(--fg2)}
.upload-audio-info i{color:#86efac}
@media(max-width:780px){
  .upload-layout{grid-template-columns:1fr}
  .settings-col--preview{order:-1}
  .upload-row{grid-template-columns:1fr}
}
/* ── Upload Button Topbar ─── */
.btn-upload-top{display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:20px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;text-decoration:none;transition:opacity .15s;letter-spacing:.3px}
.btn-upload-top:hover{opacity:.85}
.btn-upload-top span{display:none}
@media(min-width:900px){.btn-upload-top span{display:inline}}
/* ── Upload Choose ─── */
.upload-choose-page{max-width:640px;margin:0 auto;padding:40px 0}
.upload-choose-header{margin-bottom:32px}
.upload-choose-header h1{font-size:clamp(22px,3vw,32px);margin:6px 0 0;letter-spacing:-1px}
.upload-choose-grid{display:flex;flex-direction:column;gap:14px}
.upload-choose-card{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--bdr);border-radius:18px;background:var(--bg2);text-decoration:none;color:var(--fg1);transition:border-color .15s,background .15s}
.upload-choose-card:hover{border-color:var(--accent);background:var(--bg3)}
.upload-choose-icon{width:52px;height:52px;border-radius:14px;background:rgba(139,92,246,.15);display:flex;align-items:center;justify-content:center;flex:none}
.upload-choose-icon i{font-size:22px;color:var(--accent)}
.upload-choose-icon--album{background:rgba(99,102,241,.15)}
.upload-choose-icon--album i{color:#818cf8}
.upload-choose-body{flex:1}
.upload-choose-body strong{display:block;font-size:16px;margin-bottom:4px}
.upload-choose-body p{font-size:12px;color:var(--fg3);margin:0;line-height:1.5}
.upload-choose-arrow{color:var(--fg3);font-size:14px}
/* ── Multi-Track Upload ─── */
.multi-drop-zone{border:2px dashed var(--bdr);border-radius:14px;padding:30px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:var(--fg3);transition:border-color .2s,background .2s;cursor:default}
.multi-drop-zone i{font-size:32px;color:var(--accent)}
.multi-drop-zone span{font-size:12px}
.multi-drop-zone.is-dragover{border-color:var(--accent);background:rgba(139,92,246,.07)}
.track-upload-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.track-upload-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg1);border:1px solid var(--bdr);border-radius:12px;transition:opacity .2s}
.track-upload-item.is-dragging{opacity:.4}
.track-upload-item.drag-over{border-color:var(--accent)}
.track-upload-num{width:22px;text-align:center;font-size:12px;color:var(--fg3);flex:none}
.track-upload-body{flex:1;min-width:0}
.track-title-input{width:100%;background:transparent;border:none;color:var(--fg1);font:inherit;font-size:13px;font-weight:600;padding:0;outline:none}
.track-title-input:focus{color:var(--accent)}
.track-upload-remove{background:none;border:none;color:var(--fg3);cursor:pointer;padding:4px 6px;border-radius:6px;transition:color .15s}
.track-upload-remove:hover{color:#f87171}
.track-count-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;font-weight:800;margin-left:6px}
/* Preview tracklist */
.preview-tracklist{padding:0 18px 16px;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}
.preview-track-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--bdr);font-size:11px}
.preview-track-row:last-child{border-bottom:0}
.preview-track-num{color:var(--fg3);width:16px;flex:none}
.preview-track-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-track-dur{color:var(--fg3);flex:none}
/* Album cover preview */
.upload-album-cover-prev{width:72px;height:72px;border-radius:10px;background:var(--bg3) center/cover no-repeat;display:flex;align-items:center;justify-content:center;flex:none}
.upload-album-cover-prev--set{background-size:cover}
/* ── My Uploads ─────────────────────────────────────────── */
.myuploads-page{padding-bottom:60px}
.myuploads-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
.myuploads-header h1{font-size:clamp(22px,3vw,32px);margin:6px 0 0;letter-spacing:-1px}
.myuploads-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--bdr);padding-bottom:0}
.myuploads-tab{display:flex;align-items:center;gap:7px;padding:10px 16px;font-size:13px;font-weight:600;color:var(--fg3);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}
.myuploads-tab:hover{color:var(--fg1)}
.myuploads-tab.active{color:var(--fg1);border-bottom-color:var(--accent)}
.myuploads-tab-count{background:var(--bg3);color:var(--fg3);font-size:10px;padding:1px 6px;border-radius:10px;font-weight:700}
/* Track list */
.myuploads-list{display:flex;flex-direction:column;gap:4px}
.myuploads-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--bg2);border:1px solid transparent;transition:border-color .15s}
.myuploads-row:hover{border-color:var(--bdr)}
.myuploads-num{width:22px;text-align:center;font-size:12px;color:var(--fg3);flex:none}
.myuploads-cover{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:none}
.myuploads-info{flex:1;min-width:0}
.myuploads-title{font-size:14px;font-weight:600;color:var(--fg1);text-decoration:none;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.myuploads-title:hover{color:var(--accent)}
.myuploads-meta{font-size:11px;color:var(--fg3)}
.myuploads-badges{display:flex;gap:4px;flex:none}
.mu-badge{font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;background:var(--bg3);color:var(--fg3);letter-spacing:.5px}
.mu-badge--private{color:#f59e0b;background:rgba(245,158,11,.1)}
.myuploads-actions{display:flex;gap:6px;flex:none}
.btn-danger{color:#f87171!important}
.btn-danger:hover{background:rgba(248,113,113,.1)!important}
/* Album grid */
.myuploads-albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.myuploads-album-card{background:var(--bg2);border:1px solid var(--bdr);border-radius:14px;overflow:hidden;transition:border-color .15s}
.myuploads-album-card:hover{border-color:var(--accent)}
.myuploads-album-cover{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.myuploads-album-info{padding:12px}
.myuploads-album-actions{display:flex;gap:6px;margin-top:10px}
/* Empty state */
.myuploads-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:60px 20px;text-align:center;color:var(--fg3)}
.myuploads-empty i{font-size:48px;opacity:.3}
.myuploads-empty p{font-size:14px;margin:0}
/* ── Lazy Load ─── */
.lazy-sentinel{display:flex;justify-content:center;padding:24px}
.lazy-spinner{color:var(--fg3);font-size:20px;opacity:0;transition:opacity .3s}
.lazy-spinner.is-visible{opacity:1}
.mu-fade-in{animation:muFadeIn .25s ease}
@keyframes muFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ─────────────────────────────────────────────────────────────
   KiBeats Studio Redesign · Spotify x TIDAL direction
   Final visual layer: keeps existing templates and behaviour intact.
   ───────────────────────────────────────────────────────────── */
:root {
  --accent: #20e3b2 !important;
  --accent-2: #10b981 !important;
  --accent-glow: rgba(32, 227, 178, .18) !important;
  --bg0: #050607 !important;
  --bg1: #0b0d0e !important;
  --bg2: #141718 !important;
  --bg3: #202526 !important;
  --fg1: #f5f7f7 !important;
  --fg2: #9ba6a6 !important;
  --fg3: #647070 !important;
  --bdr: rgba(255,255,255,.075) !important;
  --bdr2: rgba(255,255,255,.16) !important;
  --card: rgba(255,255,255,.045) !important;
  --player-h: 84px !important;
  --nav-w: 248px !important;
  --mob-bar-h: 64px !important;
}

html, body { background: #050607 !important; }
body { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: -.01em; }
body::selection { background: rgba(32,227,178,.35); color: #fff; }
.shell { gap: 10px; background: #050607; }
.sidebar { background: #0a0d0e; border: 1px solid rgba(255,255,255,.06); border-radius: 14px; margin: 10px 0 0 10px; padding: 18px 12px 14px; }
.logo { padding: 5px 10px 28px; }
.logo-mark { width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(145deg,#20e3b2,#0ea5a4); color: #03100e; box-shadow: 0 8px 26px rgba(32,227,178,.2); }
.logo-name { font-size: 19px; letter-spacing: -.7px; }
.nav-label, .library-head, .legal-label { color: #607070; letter-spacing: 1.4px; }
.nav-a { color: #91a0a0; border-radius: 9px; padding: 11px 12px; font-weight: 650; }
.nav-a i { color: #667474; transition: color .16s ease; }
.nav-a:hover { color: #f3f7f6; background: rgba(255,255,255,.055); }
.nav-a:hover i, .nav-a.active i { color: #20e3b2; }
.nav-a.active { color: #f5f7f7; background: linear-gradient(90deg, rgba(32,227,178,.14), rgba(32,227,178,.035)); box-shadow: inset 2px 0 #20e3b2; }
.library-head { padding-top: 30px; }
.library-head a, .library-links a, .legal-links a { color: #879494; }
.library-links a:hover, .legal-links a:hover { color: #f5f7f7; background: rgba(255,255,255,.04); }
.library-links a i { color: #20e3b2; }
.main { background: radial-gradient(900px 430px at 60% -120px, rgba(32,227,178,.12), transparent 66%), linear-gradient(180deg,#111617 0,#080a0b 440px) !important; border-radius: 14px 14px 0 0; margin: 10px 10px 0 0; padding: 22px 38px 36px; }
.topbar { position: sticky; top: -22px; z-index: 20; margin: -22px -38px 30px; padding: 22px 38px 18px; background: linear-gradient(#111617 68%, rgba(17,22,23,.82), transparent); backdrop-filter: blur(14px); }
.history-buttons button { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.07); background: rgba(0,0,0,.28); color: #bdc7c7; }
.history-buttons button:hover { color: #fff; background: #202728; }
.search-wrap { max-width: 430px; }
.search-wrap input { background: rgba(5,7,8,.62); border-color: rgba(255,255,255,.1); border-radius: 9px; padding-top: 11px; padding-bottom: 11px; }
.search-wrap input:focus { background: #161b1c; border-color: rgba(32,227,178,.7); box-shadow: 0 0 0 3px rgba(32,227,178,.1); }
.search-wrap i { color: #728080; }
.top-profile { background: rgba(255,255,255,.06); color: #f4f7f7; border: 1px solid rgba(255,255,255,.07); }
.top-profile:hover { background: rgba(255,255,255,.1); }
.theme-btn { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.05); }
.btn { min-height: 38px; border-radius: 9px; padding: 9px 16px; }
.btn-primary { background: linear-gradient(135deg,#20e3b2,#13b98e); color: #03100e; box-shadow: 0 10px 24px rgba(32,227,178,.16); font-weight: 800; }
.btn-primary:hover { background: linear-gradient(135deg,#55f1cc,#20d5a8); transform: translateY(-1px); }
.btn-ghost { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.09); color: #c3cccc; }
.btn-ghost:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.18); color: #fff; }
.section-head { margin-bottom: 16px; }
.eyebrow { color: #20e3b2 !important; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; }
.section-title { color: #f5f7f7; font-size: 21px; letter-spacing: -.55px; }
.section-more { color: #9eaaaa; font-weight: 700; }
.section-more:hover { color: #20e3b2; }
.landing-hero { min-height: 405px; border: 1px solid rgba(255,255,255,.075); border-radius: 18px; background: linear-gradient(120deg,#182322 0%,#101617 45%,#0b0d0e 100%) !important; box-shadow: 0 25px 70px rgba(0,0,0,.22); }
.landing-hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg,rgba(32,227,178,.08),transparent 45%); mix-blend-mode: screen; }
.landing-copy h1 { letter-spacing: -3.7px; line-height: .98; }
.landing-copy h1 i { color: #20e3b2; background: linear-gradient(90deg,#20e3b2,#b2ffe9); -webkit-background-clip: text; background-clip: text; }
.landing-copy p { color: #a4b0b0; max-width: 440px; }
.landing-kicker { color: #20e3b2; letter-spacing: 2px; }
.landing-kicker span { background: #20e3b2; box-shadow: 0 0 12px #20e3b2; }
.landing-trust { color: #829090; }
.landing-trust i { color: #20e3b2; }
.spotlight { border-radius: 12px; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 20px 45px rgba(0,0,0,.28); }
.spotlight-play, .hero-play, .editorial-play { background: #20e3b2; color: #03100e; box-shadow: 0 10px 28px rgba(32,227,178,.3); }
.spotlight-play:hover, .hero-play:hover, .editorial-play:hover { background: #74f4d4; color: #03100e; }
.mood-pill { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.08); color: #aab5b5; border-radius: 8px; }
.mood-pill:hover { color: #fff; border-color: rgba(32,227,178,.45); background: rgba(32,227,178,.1); }
.mood-pill i { color: #20e3b2; }
.card, .artist-card { background: #141819; border-color: rgba(255,255,255,.07); border-radius: 11px; }
.card:hover, .artist-card:hover { background: #1c2223; border-color: rgba(32,227,178,.25); box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.card-img { background: #202728; }
.card-title { color: #f0f4f4; }
.card-sub, .artist-sub { color: #7f8d8d; }
.artist-card { padding: 20px 12px 17px; }
.artist-avatar { box-shadow: 0 8px 24px rgba(0,0,0,.26); }
.song-row, .chart-row, .fresh-item { border-radius: 8px; }
.song-row:hover, .chart-row:hover, .fresh-item:hover { background: rgba(255,255,255,.06); }
.song-row.playing, .song-row.active { background: rgba(32,227,178,.1); }
.song-row.playing .song-title, .song-row.active .song-title, .song-row.playing .song-num, .song-row.active .song-num { color: #20e3b2; }
.song-thumb, .fresh-cover { border-radius: 5px; }
.song-title, .fresh-title { color: #e7eeee; }
.song-artist, .fresh-artist { color: #879494; }
.collection-hero, .artist-hero, .profile-hero, .track-detail { border: 1px solid rgba(255,255,255,.075); background: linear-gradient(135deg,#1a2323,#111617) !important; border-radius: 16px; box-shadow: 0 18px 50px rgba(0,0,0,.16); }
.artist-hero::before { background: radial-gradient(ellipse at top left,rgba(32,227,178,.18),transparent 65%); }
.artist-name-lg, .profile-meta h1, .track-detail-copy h1 { color: #f5f8f8; }
.artist-ava, .track-detail-art { border-color: rgba(255,255,255,.12); box-shadow: 0 18px 38px rgba(0,0,0,.42); }
.profile-tab.active { color: #20e3b2; border-color: #20e3b2; }
.pill.on { background: rgba(32,227,178,.12); border-color: rgba(32,227,178,.45); color: #20e3b2; }
.player-bar { background: rgba(10,13,14,.94); border-top-color: rgba(255,255,255,.1); box-shadow: 0 -12px 35px rgba(0,0,0,.25); backdrop-filter: blur(20px); }
.player { padding: 0 22px; }
.p-cover { border-radius: 7px; box-shadow: 0 5px 18px rgba(0,0,0,.3); }
.p-title { color: #f4f8f7; }.p-artist { color: #8b9999; }.p-status { color: #20e3b2; }
.ctrl { color: #99a6a6; }.ctrl:hover { color: #fff; }.ctrl.play { background: #20e3b2; color: #03100e; }.ctrl.play:hover { background: #73f3d3; }
.p-bar { background: #354041; }.p-fill { background: #20e3b2; }.p-time { color: #718080; }
input[type=range] { background: #354041; } input[type=range]::-webkit-slider-thumb { background: #d7e1df; }
.mob-nav { background: rgba(10,13,14,.96); border-top-color: rgba(255,255,255,.1); backdrop-filter: blur(18px); }.mob-btn { color: #718080; }.mob-btn.active { color: #20e3b2; }
.spa-bar { background: #20e3b2; box-shadow: 0 0 14px #20e3b2; }

@media (max-width: 900px) {
  .sidebar { margin: 0; border-radius: 0; }
  .main { margin: 0; border-radius: 0; padding: 16px 16px calc(var(--player-h) + var(--mob-bar-h) + 22px) !important; background: linear-gradient(180deg,#111617 0,#080a0b 280px) !important; }
  .topbar { top: -16px; margin: -16px -16px 22px; padding: 16px 16px 14px; background: linear-gradient(#111617 70%,rgba(17,22,23,.86),transparent); }
  .hero-grid { margin-left: -2px; margin-right: -2px; }
  .landing-hero { min-height: 0; padding: 28px 22px !important; }
  .landing-copy h1 { font-size: clamp(42px,12vw,62px) !important; }
  .landing-copy p { font-size: 13px; }
  .player-bar { bottom: var(--mob-bar-h) !important; }
  .player { height: var(--player-h); padding: 0 12px !important; }
  .p-track { min-width: 0 !important; }.p-info { max-width: calc(100vw - 142px); }
  .p-btns { gap: 9px; }.p-btns .ctrl:first-child, .p-btns .ctrl:last-child { display: none; }
  .mob-nav { height: var(--mob-bar-h); padding-bottom: env(safe-area-inset-bottom,0); }
  .mob-btn { gap: 4px; font-size: 9px; }.mob-btn i { font-size: 17px; }
  .section-title { font-size: 19px; }
  .artist-footer-box { grid-template-columns: 1fr !important; gap: 18px !important; }
}
@media (max-width: 600px) {
  .main { padding-left: 12px !important; padding-right: 12px !important; }
  .topbar { margin-left: -12px; margin-right: -12px; padding-left: 12px; padding-right: 12px; }
  .landing-hero { border-radius: 14px; }
  .landing-buttons { flex-wrap: wrap; }.landing-link { width: 100%; }
  .spotlight { min-height: 230px; }
  .section-head { align-items: center; }.section-more { font-size: 11px; }
  .song-row { grid-template-columns: 20px 40px minmax(0,1fr) auto !important; gap: 8px; padding: 9px 4px !important; }
  .song-plays { display: none; }.song-title { font-size: 12.5px; }.song-artist { font-size: 10.5px; }
  .grid-auto { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .card-body { padding: 9px 10px 11px; }
  .full-player-sheet { background: linear-gradient(160deg,#18302e,#101718 60%,#080a0b 100%); }
  .full-main-play { background: #20e3b2; }
}

/* ─────────────────────────────────────────────────────────────
   Mobile-first navigation refresh · full-height sidebar + compact controls
   ───────────────────────────────────────────────────────────── */
.mobile-brand, .mobile-user-status { display: none; }

@media (min-width: 901px) {
  .sidebar { grid-row: 1 / -1; min-height: 100vh; padding-bottom: calc(var(--player-h) + 18px); }
  .player-bar { grid-column: 2 / -1; position: relative; z-index: 30; }
  .main { min-height: 0; }
}

@media (max-width: 900px) {
  .mobile-brand { display: inline-flex; align-items: center; gap: 7px; color: #f5f8f7; text-decoration: none; font-size: 16px; letter-spacing: -.4px; margin-right: auto; }
  .mobile-brand .logo-mark { width: 28px; height: 28px; border-radius: 9px; font-size: 11px; }
  .mobile-menu-btn { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(255,255,255,.06); color: #d6dfdd; }
  .mobile-user-status { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; min-width: 0; max-width: 106px; padding: 4px 7px 4px 4px; border: 1px solid rgba(32,227,178,.24); border-radius: 999px; background: rgba(32,227,178,.08); color: #dce9e6; text-decoration: none; font-size: 10px; font-weight: 750; }
  .mobile-user-status img { width: 25px; height: 25px; border-radius: 50%; object-fit: cover; }
  .mobile-user-status span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-user-status i { color: #20e3b2; font-size: 10px; }
  .mobile-user-guest { padding: 8px 10px; color: #b9c7c4; border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.06); }
  .mobile-user-guest i { color: #20e3b2; }
  .topbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .topbar .search-wrap { order: 5; flex: 1 0 100%; max-width: none; }
  .topbar .search-wrap input { height: 42px; }
  .history-buttons { display: none; }
  .player-bar { bottom: var(--mob-bar-h) !important; }
  .player { grid-template-columns: minmax(0,1fr) auto !important; height: var(--player-h); }
  .p-controls { display: flex; flex-direction: row; align-items: center; }
  .p-progress { display: none; }
  .p-btns { gap: 3px; }
  .p-btns .ctrl:first-child, .p-btns .ctrl:last-child { display: flex; width: 28px; height: 34px; padding: 3px; justify-content: center; font-size: 13px; }
  .p-btns .ctrl.play { width: 36px; height: 36px; }
  .p-track { min-width: 0 !important; }
  .p-info { max-width: calc(100vw - 170px); }
  .p-title, .p-artist { overflow: hidden; text-overflow: ellipsis; }
}

@media (max-width: 600px) {
  :root { --player-h: 76px !important; --mob-bar-h: 64px !important; }
  .topbar { row-gap: 9px; }
  .mobile-brand { font-size: 15px; }
  .mobile-user-status { max-width: 92px; }
  .mobile-user-status img { width: 23px; height: 23px; }
  .player { padding: 0 9px !important; gap: 6px !important; }
  .p-cover { width: 42px; height: 42px; }
  .p-info { max-width: calc(100vw - 158px); }
  .p-status { display: none; }
  .p-btns { gap: 0; }
  .p-btns .ctrl:first-child, .p-btns .ctrl:last-child { width: 25px; font-size: 12px; }
  .p-btns .ctrl.play { width: 34px; height: 34px; }
  .p-right { display: none !important; }
}

/* ─────────────────────────────────────────────────────────────
   UI refresh v3 · focused mobile shell and personal library
   ───────────────────────────────────────────────────────────── */
@media (min-width: 901px) {
  .sidebar { position: sticky; top: 0; height: 100vh; align-self: start; }
}

@media (max-width: 900px) {
  body { background: #080a0b !important; }
  .shell { display: block; min-height: 100vh; }
  .main { overflow: visible; min-height: 100vh; padding-top: 0 !important; }
  .topbar { position: sticky; top: 0; z-index: 500; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; grid-template-rows: 42px; align-items: center; gap: 8px; margin: 0 -12px 22px; padding: max(8px, env(safe-area-inset-top)) 12px 8px; background: rgba(8,11,12,.9); border-bottom: 1px solid rgba(255,255,255,.07); backdrop-filter: blur(22px) saturate(1.15); -webkit-backdrop-filter: blur(22px) saturate(1.15); }
  .mobile-menu-btn { grid-column: 1; grid-row: 1; width: 34px; height: 34px; }
  .mobile-brand { grid-column: 2; grid-row: 1; justify-self: start; margin: 0; }
  .mobile-user-status { grid-column: 3; grid-row: 1; }
  .topbar-right { display: none !important; }
  .search-wrap { grid-column: 2; grid-row: 1; justify-self: end; width: 36px; max-width: 36px !important; z-index: 2; transition: width .2s ease, max-width .2s ease; }
  .search-wrap input { width: 36px; height: 34px !important; padding: 8px 8px 8px 34px !important; border-radius: 10px; cursor: pointer; color: transparent; transition: width .2s ease, background .2s ease, color .2s ease; }
  .search-wrap i { left: 11px; color: #a6b5b2; }
  .search-wrap:focus-within { width: min(250px, calc(100vw - 70px)); max-width: min(250px, calc(100vw - 70px)) !important; }
  .search-wrap:focus-within input { width: 100%; color: #f5f8f7; background: #192021; border-color: rgba(32,227,178,.45); cursor: text; }
  .search-wrap:focus-within ~ .mobile-user-status { opacity: .25; pointer-events: none; }
  .history-buttons { display: none !important; }
  .spa-content, #spa-content { min-height: calc(100vh - 90px); }
  .landing-hero { margin-top: 0; }

  .mobile-drawer { width: min(340px, 88vw); background: #0d1112; border-right: 1px solid rgba(255,255,255,.1); box-shadow: 24px 0 70px rgba(0,0,0,.42); padding: 18px 14px max(24px, env(safe-area-inset-bottom)); overflow-y: auto; }
  .mobile-drawer-head { padding: 0 4px 18px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .mobile-drawer-head .logo { padding: 0; }
  .mobile-library-user { display: flex; align-items: center; gap: 11px; margin: 16px 2px 10px; padding: 10px; border: 1px solid rgba(32,227,178,.2); border-radius: 13px; background: linear-gradient(135deg, rgba(32,227,178,.12), rgba(255,255,255,.035)); color: #f2f7f6; text-decoration: none; }
  .mobile-library-user img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
  .mobile-library-user span { min-width: 0; flex: 1; }.mobile-library-user strong, .mobile-library-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.mobile-library-user strong { font-size: 13px; }.mobile-library-user small { color: #849392; font-size: 10px; margin-top: 2px; }.mobile-library-user > i { color: #20e3b2; font-size: 12px; }
  .mobile-library-guest { padding: 14px 12px; }.mobile-library-guest strong { font-size: 13px; }.mobile-library-guest small { font-size: 10px; }
  .mobile-library-links, .mobile-playlist-list { display: grid; gap: 2px; margin: 4px 2px 12px; }
  .mobile-library-links a, .mobile-playlist-list a { display: flex; align-items: center; gap: 11px; padding: 9px 10px; color: #9cacaa; text-decoration: none; border-radius: 8px; font-size: 12px; }
  .mobile-library-links a:hover, .mobile-playlist-list a:hover { color: #f5f8f7; background: rgba(255,255,255,.06); }.mobile-library-links i, .mobile-playlist-list i { width: 17px; text-align: center; color: #20e3b2; }
  .mobile-playlist-label { color: #60706f; font-size: 9px; font-weight: 800; letter-spacing: 1.5px; padding: 12px 10px 4px; }
  .mobile-drawer-nav { border-top: 1px solid rgba(255,255,255,.08); padding-top: 12px; }
  .mobile-drawer-nav a { border-radius: 9px; }

  .player-bar { bottom: var(--mob-bar-h) !important; }
  .mob-nav { padding-bottom: env(safe-area-inset-bottom); }
}

@media (max-width: 600px) {
  .topbar { grid-template-columns: 34px minmax(0,1fr) auto; padding-left: 10px; padding-right: 10px; }
  .mobile-brand strong { font-size: 14px; }.mobile-brand .logo-mark { width: 26px; height: 26px; }
  .mobile-user-status { max-width: 80px; padding-right: 6px; }.mobile-user-status span { display: none; }
  .search-wrap:focus-within { width: min(220px, calc(100vw - 58px)); max-width: min(220px, calc(100vw - 58px)) !important; }
  .search-wrap:focus-within ~ .mobile-user-status { display: none; }
  .landing-hero { margin-left: 0; margin-right: 0; }
  .mobile-drawer { width: min(330px, 90vw); }
}

/* ─────────────────────────────────────────────────────────────
   UI refresh v4 · clean mobile header, profile menu, day/night theme
   ───────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .main { overflow: visible !important; }
  .topbar { position: sticky !important; top: 0 !important; z-index: 700; display: block !important; margin: 0 -12px 20px !important; padding: max(10px, env(safe-area-inset-top)) 12px 10px !important; background: rgba(8,11,12,.96) !important; border-bottom: 1px solid rgba(255,255,255,.09); box-shadow: 0 8px 24px rgba(0,0,0,.16); }
  .mobile-topbar-row { min-height: 40px; display: flex; align-items: center; gap: 9px; }
  .mobile-menu-btn { flex: 0 0 36px; width: 36px !important; height: 36px !important; }
  .mobile-brand { flex: 1 1 auto; min-width: 0; display: inline-flex !important; margin: 0 !important; }
  .mobile-brand strong { font-size: 15px; }
  .mobile-topbar-actions { display: flex; align-items: center; gap: 7px; margin-left: auto; }
  .mobile-search-btn { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.055); color: #bdcbc8; cursor: pointer; }
  .mobile-search-btn:active { background: rgba(32,227,178,.18); color: #20e3b2; }
  .mobile-profile-menu { position: relative; z-index: 10; }
  .mobile-profile-menu summary { list-style: none; display: flex; align-items: center; gap: 4px; padding: 3px 5px 3px 3px; border: 1px solid rgba(32,227,178,.32); border-radius: 999px; background: rgba(32,227,178,.1); cursor: pointer; }
  .mobile-profile-menu summary::-webkit-details-marker { display: none; }
  .mobile-profile-menu summary img { width: 27px; height: 27px; border-radius: 50%; object-fit: cover; }
  .mobile-profile-menu summary i { color: #20e3b2; font-size: 9px; }
  .mobile-profile-dropdown { position: absolute; top: calc(100% + 10px); right: 0; width: min(250px, calc(100vw - 28px)); padding: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: #151b1b; box-shadow: 0 18px 50px rgba(0,0,0,.45); }
  .mobile-profile-heading { display: flex; align-items: center; gap: 9px; padding: 9px; margin-bottom: 5px; border-radius: 9px; background: rgba(255,255,255,.045); }
  .mobile-profile-heading img { width: 35px; height: 35px; border-radius: 50%; object-fit: cover; }.mobile-profile-heading strong, .mobile-profile-heading small { display: block; }.mobile-profile-heading strong { font-size: 12px; }.mobile-profile-heading small { color: #849392; font-size: 10px; margin-top: 2px; }
  .mobile-profile-dropdown a, .mobile-profile-dropdown button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px; border: 0; border-radius: 8px; background: transparent; color: #c2cfcc; text-decoration: none; font: inherit; font-size: 11px; text-align: left; cursor: pointer; }.mobile-profile-dropdown a:hover, .mobile-profile-dropdown button:hover { color: #fff; background: rgba(255,255,255,.07); }.mobile-profile-dropdown i { width: 15px; text-align: center; color: #20e3b2; }
  .mobile-login-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; color: #c5d0cd; text-decoration: none; font-size: 10px; font-weight: 750; }.mobile-login-btn i { color: #20e3b2; }
  .history-buttons { display: none !important; }
  .search-wrap { display: block !important; width: 100% !important; max-width: none !important; margin-top: 8px; }
  .search-wrap input { width: 100% !important; height: 34px !important; padding: 7px 11px 7px 34px !important; border-radius: 9px; background: rgba(255,255,255,.045) !important; color: #dce7e4 !important; font-size: 11px; }
  .search-wrap input::placeholder { color: #728180; }.search-wrap i { left: 11px; color: #71817f; }
  .topbar:has(.search-wrap input:not(:placeholder-shown)) .search-wrap { display: block !important; }
  .mobile-drawer { z-index: 1200; }
}


@media (max-width: 600px) {
  .topbar { padding-left: 10px !important; padding-right: 10px !important; }
  .mobile-brand strong { font-size: 14px; }
  .mobile-profile-dropdown { right: -3px; }
  .search-wrap input { font-size: 10.5px; }
}


/* Desktop header isolation: mobile header row must never participate on desktop. */
@media (min-width: 901px) {
  .mobile-topbar-row { display: none !important; }
  .mobile-brand, .mobile-user-status, .mobile-login-btn, .mobile-search-btn, .mobile-profile-menu, .mobile-theme-btn { display: none !important; }
  .topbar { display: flex !important; align-items: center; gap: 12px; }
  .topbar .search-wrap { display: block !important; flex: 1 1 auto; width: auto; max-width: 430px !important; margin: 0; }
  .topbar .search-wrap input { width: 100%; height: 42px; background: rgba(5,7,8,.62) !important; color: #dce7e4 !important; border: 1px solid rgba(255,255,255,.1) !important; border-radius: 9px; }
  .topbar .search-wrap input::placeholder { color: #728180; }
  .topbar-right { display: flex !important; align-items: center; gap: 10px; margin-left: auto; }
  .history-buttons { display: flex !important; flex: 0 0 auto; }
}

/* Desktop shell correction · viewport-safe sidebar and standalone topbar. */
@media (min-width: 901px) {
  .shell { height: 100vh; min-height: 0; overflow: hidden; grid-template-rows: minmax(0, 1fr) var(--player-h); }
  .sidebar { grid-row: 1 / -1; height: 100vh; min-height: 0; max-height: 100vh; overflow-y: auto; align-self: stretch; padding-bottom: 20px; }
  .main { grid-row: 1; min-height: 0; height: 100%; overflow-y: auto; position: relative; padding: 0 38px 36px !important; }
  .topbar { position: sticky !important; top: 0 !important; z-index: 500; min-height: 76px; margin: 0 -38px 30px !important; padding: 17px 38px 16px !important; background: rgba(17,22,23,.96) !important; border-bottom: 1px solid rgba(255,255,255,.08); box-shadow: 0 8px 24px rgba(0,0,0,.16); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
  .player-bar { grid-column: 2 / -1; grid-row: 2; }
}

/* Structural header split · header is a shell row, content scrolls independently. */
@media (min-width: 901px) {
  .shell:not(.sidebar-collapsed) { --nav-w: 224px !important; }
  .shell.sidebar-collapsed { --nav-w: 78px !important; }
  .shell { display: grid; grid-template-columns: var(--nav-w) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) var(--player-h); height: 100vh; min-height: 0; overflow: hidden; }
  .sidebar { grid-column: 1; grid-row: 1 / -1; height: auto; min-height: 0; max-height: none; overflow-y: auto; }
  .topbar { grid-column: 2; grid-row: 1; position: relative !important; top: auto !important; width: auto; min-height: 76px; margin: 0 !important; padding: 17px 38px 16px !important; }
  .main { grid-column: 2; grid-row: 2; height: auto; min-height: 0; overflow-y: auto; padding: 28px 38px 42px !important; }
  .player-bar { grid-column: 2; grid-row: 3; }
}
@media (max-width: 900px) {
  .shell { display: block !important; height: auto !important; min-height: 100vh; overflow: visible !important; }
  .topbar { position: sticky !important; top: 0 !important; z-index: 700; width: 100%; }
  .main { height: auto !important; min-height: calc(100vh - 90px); overflow: visible !important; }
}

/* Compact expanded sidebar and playlist editing surfaces. */
@media (min-width: 901px) {
  .sidebar { padding: 14px 10px 12px !important; }
  .sidebar .logo { margin-bottom: 12px; }
  .sidebar .nav-label, .sidebar .library-head, .sidebar .legal-label { font-size: 8px; letter-spacing: 1.2px; }
  .sidebar .nav-a, .sidebar .library-links > a { min-height: 34px; padding: 8px 9px; font-size: 11px; }
  .sidebar .nav-a i, .sidebar .library-links > a i { font-size: 12px; }
  .sidebar .library-subhead { margin: 11px 8px 3px; font-size: 8px; }
  .sidebar .legal-links { margin-top: auto; padding-top: 10px; }
  .playlist-edit-page .upload-header h1 { font-size: clamp(28px, 4vw, 44px); }
}
.playlist-edit-preview { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.playlist-edit-preview .upload-track-cover { width: min(100%, 230px); aspect-ratio: 1; object-fit: cover; border-radius: 14px; box-shadow: 0 16px 34px rgba(0,0,0,.28); }
.playlist-edit-preview strong { font-size: 18px; color: var(--fg1); }
.playlist-edit-preview > span { color: var(--fg3); font-size: 11px; }
@media (max-width: 900px) {
  .playlist-edit-page { padding-bottom: 110px; }
  .playlist-edit-preview { order: -1; }
  .playlist-edit-preview .upload-track-cover { width: min(100%, 180px); }
  .coll-actions { flex-wrap: wrap; }
}

/* Final collapsed-sidebar contract: icons only, no text nodes or labels. */
@media (min-width: 901px) {
  .shell.sidebar-collapsed .sidebar .logo-name,
  .shell.sidebar-collapsed .sidebar .nav-label,
  .shell.sidebar-collapsed .sidebar .library-head,
  .shell.sidebar-collapsed .sidebar .legal-label,
  .shell.sidebar-collapsed .sidebar .legal-links span,
  .shell.sidebar-collapsed .sidebar .sidebar-toggle span { display: none !important; }
  .shell.sidebar-collapsed .sidebar .nav-a { display: flex !important; justify-content: center; align-items: center; gap: 0; width: 100%; min-height: 38px; padding: 9px 0 !important; font-size: 0 !important; }
  .shell.sidebar-collapsed .sidebar .nav-a i { display: block; width: auto; margin: 0; font-size: 15px !important; }
  .shell.sidebar-collapsed .sidebar .sidebar-toggle { display: flex; justify-content: center; align-items: center; width: 100%; padding: 10px 0; font-size: 0; }
  .shell.sidebar-collapsed .sidebar .sidebar-toggle i { margin: 0; font-size: 15px; }
  .shell.sidebar-collapsed .sidebar .legal-links { display: flex !important; align-items: center; gap: 5px; padding: 12px 0 4px; }
  .shell.sidebar-collapsed .sidebar .legal-links a { display: flex; justify-content: center; align-items: center; width: 34px; height: 30px; padding: 0; font-size: 0 !important; }
  .shell.sidebar-collapsed .sidebar .legal-links a i { width: auto; margin: 0; font-size: 14px !important; }
}

@media (min-width: 901px) {
  .shell.sidebar-collapsed .sidebar .library-links { display: flex !important; flex-direction: column; align-items: center; gap: 3px; }
  .shell.sidebar-collapsed .sidebar .library-links > a { display: flex !important; justify-content: center; align-items: center; width: 100%; min-height: 38px; padding: 9px 0 !important; gap: 0; font-size: 0 !important; }
  .shell.sidebar-collapsed .sidebar .library-links > a span { display: none !important; }
  .shell.sidebar-collapsed .sidebar .library-links > a i { width: auto; margin: 0; font-size: 15px !important; }
}

/* Explicit-content marker: compact E badge with native accessible tooltip. */
.explicit-badge { display: inline-grid; place-items: center; width: 16px; height: 16px; margin-left: 7px; border: 1px solid currentColor; border-radius: 3px; color: #aab5b3; font-size: 10px; font-weight: 800; line-height: 1; vertical-align: 1px; cursor: help; }
a .explicit-badge { text-decoration: none; }
.explicit-badge--large { width: 21px; height: 21px; margin-left: 9px; font-size: 12px; vertical-align: 5px; }
.song-title .explicit-badge, .fresh-title .explicit-badge, .mini-title .explicit-badge, .spotlight-title .explicit-badge { flex: 0 0 auto; }

/* Search result groups and infinite loading. */
.search-result-heading { margin-top: 28px; }
.search-playlist-grid { margin-bottom: 4px; }
.search-playlist-grid .card { min-width: 0; }
.search-load-sentinel { min-height: 42px; display: grid; place-items: center; color: var(--fg3); font-size: 11px; padding: 16px; text-align: center; }
@media (max-width: 600px) {
  .search-result-heading { margin-top: 22px; }
  .search-playlist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .search-playlist-grid .card-body { padding: 9px; }
  .search-playlist-grid .card-title { font-size: 11px; }
  .search-load-sentinel { min-height: 56px; padding-bottom: 22px; }
}

/* Radio detail pages. */
.radio-station-link { color: inherit; text-decoration: none; }
.radio-station-link:hover { color: #1ed760; }
.radio-detail-page { max-width: 1120px; margin: 0 auto; padding: 28px 22px 100px; }
.radio-detail-hero { position: relative; display: flex; align-items: center; gap: 34px; overflow: hidden; margin: 22px 0 24px; padding: 38px; border: 1px solid rgba(255,255,255,.08); border-radius: 20px; background: linear-gradient(135deg,#292929,#151515); }
.radio-detail-glow { position: absolute; width: 360px; height: 360px; left: 4%; top: -42%; border-radius: 50%; background: var(--radio-detail-color); opacity: .14; filter: blur(45px); pointer-events: none; }
.radio-detail-logo { position: relative; z-index: 1; width: 220px; height: 220px; flex: none; object-fit: cover; border-radius: 16px; box-shadow: 0 20px 45px rgba(0,0,0,.4); }
.radio-detail-copy { position: relative; z-index: 1; min-width: 0; }
.radio-detail-copy h1 { margin: 9px 0 12px; font-size: clamp(38px,6vw,72px); line-height: .98; letter-spacing: -2px; }
.radio-detail-copy p { max-width: 640px; margin: 0; color: #b3b3b3; line-height: 1.6; }
.radio-detail-meta { display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0; color: #999; font-size: 11px; }
.radio-detail-meta span { display: inline-flex; align-items: center; gap: 6px; }
.radio-detail-meta i { color: #1ed760; }
.radio-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.radio-detail-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.radio-detail-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.radio-now-card, .radio-about-card { padding: 22px; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: #1d1d1d; }
.radio-now-row { display: flex; align-items: center; gap: 12px; margin: 20px 0 18px; }
.radio-now-row strong { font-size: 16px; }
.radio-now-row p { margin: 4px 0 0; color: #8b8b8b; font-size: 11px; }
.radio-now-row > i { margin-left: auto; color: #1ed760; font-size: 20px; }
.radio-live-dot { width: 10px; height: 10px; flex: none; border-radius: 50%; background: #1ed760; box-shadow: 0 0 0 5px rgba(30,215,96,.12); }
.radio-now-button { display: inline-flex; align-items: center; gap: 7px; }
.radio-about-card > p { color: #b3b3b3; font-size: 13px; line-height: 1.7; }
.radio-detail-genres { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.radio-detail-genres a { padding: 7px 10px; border: 1px solid color-mix(in srgb,var(--radio-color,#1ed760) 50%,transparent); border-radius: 20px; color: var(--radio-color,#1ed760); text-decoration: none; font-size: 10px; font-weight: 700; }
@media (max-width: 600px) {
  .radio-detail-page { padding: 20px 12px 90px; }
  .radio-detail-hero { flex-direction: column; align-items: stretch; gap: 22px; padding: 22px 16px; border-radius: 15px; }
  .radio-detail-logo { width: min(100%,260px); height: auto; aspect-ratio: 1; align-self: center; border-radius: 13px; }
  .radio-detail-copy h1 { font-size: 38px; letter-spacing: -1px; }
  .radio-detail-copy p { font-size: 12px; }
  .radio-detail-meta { gap: 9px 13px; font-size: 10px; }
  .radio-detail-actions .btn { padding: 10px 12px; font-size: 11px; }
  .radio-detail-columns { grid-template-columns: 1fr; gap: 10px; }
  .radio-now-card, .radio-about-card { padding: 17px; }
}

/* Playlist delete actions in library sidebars. */
.library-playlist-entry, .mobile-playlist-entry { display: flex; align-items: center; min-width: 0; }
.library-playlist-entry > a, .mobile-playlist-entry > a { min-width: 0; flex: 1; }
.playlist-delete-btn { display: inline-grid; place-items: center; width: 26px; height: 26px; flex: none; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #686868; cursor: pointer; opacity: 0; transition: .18s ease; }
.library-playlist-entry:hover .playlist-delete-btn, .playlist-delete-btn:focus-visible, .mobile-playlist-entry .playlist-delete-btn { opacity: 1; }
.playlist-delete-btn:hover { background: rgba(232,70,70,.14); color: #f06b6b; }
.sidebar-collapsed .library-playlist-entry { justify-content: center; }
.sidebar-collapsed .library-playlist-entry > a { flex: 0 0 auto; }
.sidebar-collapsed .library-playlist-entry .playlist-delete-btn { display: none; }
.mobile-playlist-entry .playlist-delete-btn { margin-left: 4px; }
@media (max-width: 900px) { .library-playlist-entry .playlist-delete-btn { opacity: 1; } }

@media (min-width: 901px) {
  .sidebar .library-playlist-entry { min-height: 34px; }
  .sidebar .library-playlist-entry > a { display: flex; align-items: center; gap: 10px; min-height: 34px; padding: 8px 9px; color: var(--fg2); text-decoration: none; font-size: 11px; }
  .sidebar .library-playlist-entry > a i { width: 16px; text-align: center; font-size: 12px; }
  .shell.sidebar-collapsed .sidebar .library-playlist-entry { width: 100%; min-height: 38px; }
  .shell.sidebar-collapsed .sidebar .library-playlist-entry > a { justify-content: center; width: 100%; min-height: 38px; padding: 9px 0 !important; gap: 0; font-size: 0 !important; }
  .shell.sidebar-collapsed .sidebar .library-playlist-entry > a span { display: none !important; }
  .shell.sidebar-collapsed .sidebar .library-playlist-entry > a i { width: auto; margin: 0; font-size: 15px !important; }
}

/* Radio social links. */
.radio-social-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 4px; }
.radio-social-links a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; color: #bfc8c6; text-decoration: none; font-size: 11px; transition: .18s ease; }
.radio-social-links a i { color: #1ed760; font-size: 14px; }
.radio-social-links a:hover { border-color: #1ed760; color: #fff; background: rgba(30,215,96,.08); }
.radio-social-empty { margin: 18px 0 8px; color: #888; font-size: 12px; }
@media (max-width: 600px) { .radio-social-links { gap: 7px; } .radio-social-links a { padding: 8px 9px; font-size: 10px; } }

/* Radio sharing and embedding. */
.radio-embed-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:20px; align-items:center; margin-top:16px; padding:22px; border:1px solid rgba(255,255,255,.08); border-radius:15px; background:#181818; }
.radio-embed-card h2 { margin:7px 0 6px; font-size:20px; }
.radio-embed-card p { margin:0; color:#999; font-size:12px; }
.radio-embed-code-row { display:flex; flex-direction:column; gap:10px; min-width:0; }
.radio-embed-code-row code { display:block; max-height:86px; overflow:auto; padding:12px; border:1px solid rgba(255,255,255,.08); border-radius:8px; background:#101010; color:#aebbb5; font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.radio-embed-copy { align-self:flex-start; display:inline-flex; align-items:center; gap:7px; }
@media(max-width:600px){.radio-embed-card{grid-template-columns:1fr;gap:14px;padding:17px}.radio-embed-card h2{font-size:17px}.radio-embed-copy{width:100%;justify-content:center}}

/* Explicit content login modal. */
.explicit-login-modal { position:fixed; inset:0; z-index:1500; display:none; align-items:center; justify-content:center; padding:18px; }
.explicit-login-modal.is-open { display:flex; }
.explicit-login-backdrop { position:absolute; inset:0; background:rgba(3,5,10,.78); backdrop-filter:blur(10px); }
.explicit-login-sheet { position:relative; width:min(100%,430px); padding:34px 28px 27px; border:1px solid rgba(255,255,255,.1); border-radius:22px; background:linear-gradient(145deg,#252a2a,#151717); box-shadow:0 25px 90px rgba(0,0,0,.55); text-align:center; animation:explicit-modal-in .2s ease-out; }
.explicit-login-close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:31px; height:31px; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#aab5b3; cursor:pointer; }
.explicit-login-close:hover { background:rgba(255,255,255,.15); color:#fff; }
.explicit-login-icon { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 17px; border:2px solid #aab5b3; border-radius:12px; color:#d6dfdc; font-size:29px; font-weight:900; box-shadow:0 0 0 8px rgba(170,181,179,.08); }
.explicit-login-sheet .eyebrow { color:#aab5b3; }
.explicit-login-sheet h2 { margin:10px 0 9px; color:#f5f8f7; font-size:24px; letter-spacing:-.6px; }
.explicit-login-sheet p { margin:0 auto 22px; max-width:330px; color:#aeb7b4; font-size:13px; line-height:1.6; }
.explicit-login-actions { display:flex; justify-content:center; gap:9px; }
.explicit-login-actions .btn { display:inline-flex; align-items:center; gap:7px; min-width:112px; justify-content:center; }
@keyframes explicit-modal-in { from { opacity:0; transform:translateY(12px) scale(.97); } to { opacity:1; transform:none; } }
@media(max-width:600px){.explicit-login-modal{align-items:flex-end;padding:0}.explicit-login-sheet{width:100%;padding:31px 20px calc(24px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.explicit-login-sheet h2{font-size:21px}.explicit-login-sheet p{font-size:12px}.explicit-login-actions .btn{flex:1}}

/* Track reporting modal. */
.report-modal { position:fixed; inset:0; z-index:1500; display:none; align-items:center; justify-content:center; padding:18px; }
.report-modal.is-open { display:flex; }
.report-backdrop { position:absolute; inset:0; background:rgba(3,5,10,.78); backdrop-filter:blur(10px); }
.report-sheet { position:relative; width:min(100%,460px); max-height:calc(100vh - 36px); overflow:auto; padding:30px 26px 24px; border:1px solid rgba(255,255,255,.1); border-radius:22px; background:linear-gradient(145deg,var(--bg2),var(--bg3)); box-shadow:0 25px 90px rgba(0,0,0,.55); animation:report-modal-in .2s ease-out; }
.report-close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:31px; height:31px; border:0; border-radius:50%; background:var(--bg4); color:var(--fg2); cursor:pointer; }
.report-close:hover { color:var(--fg1); background:var(--accent-glow); }
.report-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:15px; border-radius:13px; background:rgba(255,255,255,.08); color:var(--fg2); font-size:20px; }
.report-sheet h2 { margin:8px 0 6px; font-size:24px; letter-spacing:-.6px; }
.report-sheet>p { margin:0 0 20px; color:var(--fg3); font-size:12px; }
.report-sheet form { display:grid; gap:8px; }
.report-sheet label { margin-top:4px; color:var(--fg2); font-size:11px; font-weight:700; }
.report-sheet label span { color:var(--fg3); font-weight:400; }
.report-sheet select,.report-sheet textarea { width:100%; border:1px solid var(--bdr); border-radius:10px; background:var(--bg1); color:var(--fg1); font:inherit; font-size:12px; outline:none; }
.report-sheet select { height:42px; padding:0 11px; }
.report-sheet textarea { min-height:90px; padding:11px; resize:vertical; }
.report-sheet select:focus,.report-sheet textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); }
.report-status { min-height:18px; margin-top:3px; color:var(--fg2); font-size:12px; }
.report-actions { display:flex; gap:9px; margin-top:7px; }
.report-actions .btn { flex:1; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
@keyframes report-modal-in { from { opacity:0; transform:translateY(12px) scale(.97); } to { opacity:1; transform:none; } }
@media(max-width:600px){.report-modal{align-items:flex-end;padding:0}.report-sheet{width:100%;max-height:88vh;padding:28px 18px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.report-sheet h2{font-size:21px}.report-actions .btn{min-height:43px}.report-button-label{display:none}}

/* Google OAuth auth action. */
.google-login-btn { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:46px; margin:2px 0 16px; border:1px solid var(--bdr); border-radius:10px; background:var(--bg1); color:var(--fg1); text-decoration:none; font-weight:700; }
.google-login-btn:hover { border-color:rgba(255,255,255,.28); background:var(--bg4); color:var(--fg1); }
.google-g-mark { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#fff; color:#4285f4; font:800 15px Arial,sans-serif; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:0 0 16px; color:var(--fg3); font-size:11px; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:var(--bdr); }

/* User security center and moderation conversations. */
.security-page { max-width: 1080px; margin: 0 auto; padding: 34px 0 120px; }
.security-hero { display:flex; align-items:center; gap:20px; padding:28px; border:1px solid var(--bdr); border-radius:22px; background:linear-gradient(135deg,rgba(30,215,96,.14),var(--bg2) 48%,var(--bg3)); }
.security-hero-icon { display:grid; place-items:center; width:62px; height:62px; flex:0 0 62px; border-radius:18px; background:rgba(30,215,96,.16); color:var(--accent); font-size:26px; }
.security-hero h1 { margin:5px 0 8px; font-size:clamp(28px,4vw,42px); letter-spacing:-1.5px; }
.security-hero p { margin:0; color:var(--fg2); line-height:1.6; }
.security-info { display:flex; gap:10px; align-items:flex-start; margin:18px 0 30px; padding:13px 15px; border:1px solid var(--bdr); border-radius:12px; color:var(--fg2); font-size:12px; line-height:1.5; }
.security-info i { color:var(--accent); margin-top:2px; }
.security-section { margin-top:30px; }
.security-section .section-head { display:flex; align-items:end; justify-content:space-between; margin-bottom:14px; }
.security-section h2 { margin:5px 0 0; font-size:22px; }
.security-count { display:grid; place-items:center; min-width:30px; height:30px; padding:0 9px; border-radius:99px; background:var(--bg3); color:var(--fg2); font-weight:800; font-size:12px; }
.security-report-list { display:grid; gap:12px; }
.security-report-card { padding:18px; border:1px solid var(--bdr); border-radius:16px; background:var(--bg2); }
.security-report-top,.security-report-main { display:flex; align-items:center; gap:12px; }
.security-report-top { justify-content:space-between; margin-bottom:15px; color:var(--fg3); font-size:11px; }
.security-status { display:inline-flex; align-items:center; gap:6px; font-weight:800; }
.security-status i { font-size:7px; color:#f6c453; }.security-status-reviewing i { color:#60a5fa; }.security-status-resolved i { color:var(--accent); }.security-status-dismissed i { color:#f87171; }
.security-report-main { min-width:0; }.security-report-icon { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:11px; background:var(--bg3); color:var(--accent); }.security-report-main h3 { overflow:hidden; margin:0 0 4px; text-overflow:ellipsis; white-space:nowrap; font-size:15px; }.security-report-meta { margin:0; color:var(--fg3); font-size:11px; }.security-track-link { margin-left:auto; flex:0 0 auto; padding:8px 11px; font-size:11px; }
.security-message,.security-response { margin:15px 0 0; padding:12px 14px; border-radius:11px; background:var(--bg1); color:var(--fg2); font-size:12px; line-height:1.55; }.security-response { border-left:3px solid var(--accent); }.security-message strong,.security-response strong { color:var(--fg1); font-size:11px; }.security-message p,.security-response p { margin:6px 0 0; }.security-response small { display:block; margin-top:7px; color:var(--fg3); font-size:10px; }
.security-reply-form { display:grid; gap:9px; margin-top:15px; padding-top:14px; border-top:1px solid var(--bdr); }.security-reply-form label { display:grid; gap:7px; color:var(--fg2); font-size:11px; font-weight:700; }.security-reply-form textarea { width:100%; resize:vertical; min-height:74px; padding:10px 12px; border:1px solid var(--bdr); border-radius:9px; background:var(--bg1); color:var(--fg1); font:inherit; font-size:12px; outline:none; }.security-reply-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); }.security-reply-form .btn { justify-self:start; padding:9px 13px; font-size:11px; }
.security-empty { padding:34px 20px; border:1px dashed var(--bdr); border-radius:16px; text-align:center; color:var(--fg3); }.security-empty i { margin-bottom:10px; color:var(--accent); font-size:25px; }.security-empty h3 { margin:0 0 6px; color:var(--fg1); font-size:15px; }.security-empty p { margin:0; font-size:12px; }
@media (max-width:900px) { .security-page { padding:20px 0 110px; }.security-hero { align-items:flex-start; padding:20px; border-radius:18px; }.security-hero-icon { width:48px; height:48px; flex-basis:48px; border-radius:14px; font-size:20px; }.security-hero h1 { font-size:28px; }.security-report-card { padding:15px; }.security-report-main { align-items:flex-start; flex-wrap:wrap; }.security-track-link { width:100%; margin:2px 0 0 52px; text-align:center; } }
@media (max-width:520px) { .security-hero { gap:13px; }.security-hero p { font-size:12px; }.security-section h2 { font-size:19px; }.security-report-top { align-items:flex-start; flex-direction:column; gap:5px; }.security-track-link { margin-left:0; } }

/* Playlists containing the current track. */
.track-playlists { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--bdr); }
.track-playlists .section-head { margin-bottom: 10px; }
.track-playlists .section-title { font-size: 17px; }
.track-playlists-grid { display: grid; gap: 8px; }
.track-playlist-card { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 9px; border: 1px solid var(--bdr); border-radius: 11px; background: var(--bg2); color: var(--fg1); text-decoration: none; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.track-playlist-card:hover { border-color: var(--accent); background: var(--bg3); transform: translateY(-1px); }
.track-playlist-card img { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 7px; object-fit: cover; }
.track-playlist-card span { display: grid; min-width: 0; gap: 4px; flex: 1; }
.track-playlist-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.track-playlist-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--fg3); font-size: 10px; }
.track-playlist-card > i { padding: 8px; color: var(--fg3); font-size: 11px; }
@media (max-width: 600px) { .track-playlists { margin-top: 20px; padding-top: 16px; }.track-playlist-card { padding: 8px; }.track-playlist-card img { width: 42px; height: 42px; flex-basis: 42px; } }

/* Large playlist artwork grid on track detail pages. */
.track-playlists-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.track-playlist-card { display:grid; grid-template-columns:1fr; gap:9px; padding:10px; align-items:stretch; }
.track-playlist-card img { width:100%; height:auto; aspect-ratio:1; flex:none; border-radius:8px; }
.track-playlist-card span { gap:4px; }
.track-playlist-card strong { font-size:13px; }
.track-playlist-card small { font-size:10px; }
.track-playlist-card > i { position:absolute; display:none; }
@media (max-width:600px) { .track-playlists-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.track-playlist-card { padding:8px; }.track-playlist-card img { width:100%; height:auto; } }

/* Compact horizontal playlist rail on track detail pages. */
.track-playlists-grid { display:flex; grid-template-columns:none; gap:10px; overflow-x:auto; overflow-y:hidden; padding:2px 2px 8px; scrollbar-width:thin; }
.track-playlist-card { display:grid; grid-template-columns:1fr; flex:0 0 128px; gap:7px; padding:8px; }
.track-playlist-card img { width:100%; height:auto; aspect-ratio:1; border-radius:7px; }
.track-playlist-card strong { font-size:11px; }
.track-playlist-card small { font-size:9px; }
@media (max-width:600px) { .track-playlists-grid { gap:8px; }.track-playlist-card { flex-basis:116px; padding:7px; } }

/* =====================================================================
   Friendly cloud UI refresh · bright SoundCloud-inspired visual system
   ===================================================================== */
:root {
  --accent: #ff7043 !important;
  --accent-2: #ff9a76 !important;
  --accent-glow: rgba(255,112,67,.18) !important;
  --bg0: #eef2f6 !important;
  --bg1: #f7f9fb !important;
  --bg2: #ffffff !important;
  --bg3: #f0f4f7 !important;
  --fg1: #1d2935 !important;
  --fg2: #607080 !important;
  --fg3: #8a99a8 !important;
  --bdr: #e2e8ee !important;
  --card: #ffffff !important;
  --shadow-soft: 0 10px 30px rgba(31,52,72,.08) !important;
  --shadow-card: 0 5px 18px rgba(31,52,72,.07) !important;
  --nav-w: 238px !important;
}
html, body { background: var(--bg0) !important; color: var(--fg1) !important; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
.shell { gap: 0 !important; background: var(--bg0) !important; }
.sidebar { background: rgba(255,255,255,.94) !important; border-right: 1px solid var(--bdr) !important; padding: 22px 15px 16px !important; box-shadow: 5px 0 24px rgba(31,52,72,.035); }
.logo { padding: 4px 10px 28px !important; color: var(--fg1) !important; }
.logo-mark { width: 34px !important; height: 34px !important; border-radius: 12px !important; background: linear-gradient(135deg,#ff7043,#ff9b75) !important; color: #fff !important; box-shadow: 0 7px 16px rgba(255,112,67,.24); }
.logo-name { color: var(--fg1) !important; font-size: 18px !important; font-weight: 850 !important; letter-spacing: -.5px; }
.nav-label, .library-head, .legal-label, .mobile-playlist-label { color: #9aa8b5 !important; }
.nav-label { padding-left: 10px !important; font-size: 10px !important; letter-spacing: 1.4px !important; }
.nav-a { color: var(--fg2) !important; border-radius: 12px !important; margin: 3px 0 !important; padding: 11px 12px !important; font-weight: 700 !important; }
.nav-a i, .library-links a i { color: #9aa8b5 !important; transition: color .18s ease; }
.nav-a:hover, .library-links a:hover { color: var(--fg1) !important; background: #fff3ef !important; }
.nav-a:hover i, .library-links a:hover i, .nav-a.active i { color: var(--accent) !important; }
.nav-a.active { color: var(--accent) !important; background: #fff0eb !important; box-shadow: inset 3px 0 0 var(--accent); }
.library-head { padding: 27px 10px 10px !important; font-size: 10px !important; }
.library-links a { color: var(--fg2) !important; border-radius: 10px !important; font-weight: 650 !important; }
.library-subhead { color: #a0acb7 !important; }
.library-playlist-entry { border-radius: 10px !important; }
.playlist-delete-btn { color: #b6c0c9 !important; }
.playlist-delete-btn:hover { color: #e05245 !important; background: #fff0ef !important; }
.legal-links { border-top-color: var(--bdr) !important; }
.main { background: linear-gradient(180deg,#f8fafc 0,#eef3f7 100%) !important; border-radius: 0 !important; padding: 28px 42px 42px !important; }
.topbar { background: rgba(248,250,252,.9) !important; border-bottom: 1px solid rgba(226,232,238,.9) !important; box-shadow: 0 6px 22px rgba(31,52,72,.045) !important; backdrop-filter: blur(18px); }
.history-buttons button { background: #fff !important; color: var(--fg2) !important; border: 1px solid var(--bdr) !important; box-shadow: 0 3px 10px rgba(31,52,72,.06); }
.history-buttons button:hover { color: var(--accent) !important; background: #fff3ef !important; }
.search-wrap { background: #fff !important; border: 1px solid var(--bdr) !important; border-radius: 14px !important; box-shadow: 0 4px 14px rgba(31,52,72,.05); }
.search-wrap input { background: transparent !important; color: var(--fg1) !important; }
.search-wrap input::placeholder { color: #9aa8b5 !important; }
.search-wrap i { color: var(--accent) !important; }
.top-profile, .mobile-login-btn { background: #fff !important; color: var(--fg1) !important; border: 1px solid var(--bdr) !important; box-shadow: 0 4px 14px rgba(31,52,72,.05); }
.top-profile i { background: #fff0eb !important; color: var(--accent) !important; }
.profile-dropdown, .mobile-profile-dropdown { background: #fff !important; border-color: var(--bdr) !important; box-shadow: var(--shadow-soft) !important; }
.profile-dropdown a, .profile-dropdown button, .mobile-profile-dropdown a, .mobile-profile-dropdown button { color: var(--fg2) !important; }
.profile-dropdown a:hover, .profile-dropdown button:hover, .mobile-profile-dropdown a:hover, .mobile-profile-dropdown button:hover { background: #fff3ef !important; color: var(--accent) !important; }
.btn-primary, .hero-play, .spotlight-play, .editorial-play { background: linear-gradient(135deg,#ff7043,#ff936e) !important; color: #fff !important; border: 0 !important; box-shadow: 0 8px 18px rgba(255,112,67,.22); }
.btn-primary:hover, .hero-play:hover, .spotlight-play:hover { background: linear-gradient(135deg,#f96539,#ff8058) !important; transform: translateY(-1px); }
.btn-ghost { background: #fff !important; color: var(--fg2) !important; border: 1px solid var(--bdr) !important; }
.section-title { color: var(--fg1) !important; font-weight: 820 !important; letter-spacing: -.45px; }
.section-more { color: var(--accent) !important; }
.card, .artist-card, .mini-track, .about-panel, .comments, .settings-block, .security-report-card, .radio-detail, .track-playlists { background: rgba(255,255,255,.92) !important; border: 1px solid var(--bdr) !important; border-radius: 18px !important; box-shadow: var(--shadow-card); }
.card, .artist-card { overflow: hidden; }
.card:hover, .artist-card:hover, .mini-track:hover { background: #fff !important; border-color: #ffc2b1 !important; box-shadow: 0 12px 28px rgba(31,52,72,.11); transform: translateY(-3px); }
.card-img, .artist-avatar, .song-thumb { border-radius: 14px !important; }
.card-body { padding: 13px !important; }
.card-title, .song-title, .mini-title { color: var(--fg1) !important; }
.card-sub, .song-artist, .mini-artist, .muted { color: var(--fg2) !important; }
.song-row { border-bottom-color: var(--bdr) !important; border-radius: 12px !important; }
.song-row:hover, .song-row.active { background: #fff !important; box-shadow: var(--shadow-card); }
.song-row.active .song-title, .song-row.active .song-num, .fresh-play { color: var(--accent) !important; }
.landing-hero, .spotlight, .profile-hero, .track-detail { background: linear-gradient(135deg,#fff 0%,#fff5f1 100%) !important; border: 1px solid #f0dcd5 !important; border-radius: 26px !important; box-shadow: var(--shadow-soft) !important; }
.landing-kicker, .track-album-eyebrow, .eyebrow { color: var(--accent) !important; }
.landing-copy h1, .profile-meta h1, .track-detail-copy h1 { color: var(--fg1) !important; }
.mood-pill, .tag-list span, .radio-genre-pill { background: #fff !important; border: 1px solid var(--bdr) !important; color: var(--fg2) !important; border-radius: 999px !important; }
.mood-pill:hover, .tag-list span:hover { border-color: #ffb19d !important; color: var(--accent) !important; background: #fff4f0 !important; }
.track-detail-art, .artist-ava { box-shadow: 0 14px 30px rgba(31,52,72,.14) !important; }
.comment { border-color: var(--bdr) !important; }
.comment-form { background: #f8fafc !important; border-color: var(--bdr) !important; border-radius: 16px !important; }
.comment-form textarea, .auth-form input, .auth-form textarea { background: #fff !important; color: var(--fg1) !important; border-color: var(--bdr) !important; border-radius: 12px !important; }
.player-bar { background: rgba(255,255,255,.97) !important; border-top: 1px solid var(--bdr) !important; box-shadow: 0 -8px 24px rgba(31,52,72,.08) !important; }
.p-cover { border-radius: 10px !important; }
.p-title { color: var(--fg1) !important; }.p-artist { color: var(--fg2) !important; }.p-status { color: var(--accent) !important; }
.ctrl { color: var(--fg2) !important; }.ctrl:hover { color: var(--accent) !important; }.ctrl.play { background: var(--accent) !important; color: #fff !important; box-shadow: 0 6px 14px rgba(255,112,67,.22); }
.p-bar { background: #dfe6ec !important; }.p-fill { background: var(--accent) !important; }
.mob-nav { background: rgba(255,255,255,.97) !important; border-top: 1px solid var(--bdr) !important; box-shadow: 0 -7px 22px rgba(31,52,72,.08); }.mob-btn { color: var(--fg3) !important; }.mob-btn.active, .mob-btn:hover { color: var(--accent) !important; }
.mobile-drawer { background: #fff !important; border-right-color: var(--bdr) !important; }.mobile-drawer-nav a, .mobile-library-links a { color: var(--fg2) !important; border-radius: 12px !important; }.mobile-drawer-nav a:hover, .mobile-library-links a:hover { background:#fff3ef !important; color:var(--accent) !important; }
.full-player-sheet { background: linear-gradient(160deg,#fff8f5,#eef3f7) !important; color: var(--fg1) !important; }.full-player-title { color: var(--fg1) !important; }.full-player-artist, .full-player-header, .full-skip { color: var(--fg2) !important; }.full-main-play { background: var(--accent) !important; color:#fff !important; }.full-bar { background:#dfe6ec !important; }.full-fill { background:var(--accent) !important; }
@media (max-width:900px) { .main { background:#f4f7fa !important; padding:14px 14px calc(var(--player-h) + var(--mob-bar-h) + 22px) !important; }.topbar { background:rgba(247,249,251,.96) !important; }.mobile-topbar-row { background:transparent !important; }.mobile-brand { color:var(--fg1) !important; }.mobile-brand .logo-mark { width:30px !important; height:30px !important; }.mobile-profile-menu summary { color:var(--fg1) !important; }.landing-hero, .spotlight, .profile-hero, .track-detail { border-radius:20px !important; }.grid-auto { gap:12px !important; } }
@media (max-width:600px) { .main { padding-left:12px !important; padding-right:12px !important; }.card, .artist-card { border-radius:15px !important; }.section-title { font-size:18px !important; }.search-wrap { border-radius:12px !important; }.player-bar { border-radius:0 !important; } }
