:root{--bg:#0b0c0e;--panel:#121417;--panel2:#181b1f;--text:#f5f3ec;--muted:#999d9f;--gold:#d6b75c;--green:#42c786;--line:#272a2f;--player:88px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}body{padding-bottom:var(--player)}a{color:inherit;text-decoration:none}button,input{font:inherit}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto var(--player) 0;width:230px;padding:28px 18px;background:#0d0f11;border-right:1px solid var(--line);z-index:5}.brand{display:flex;gap:11px;align-items:center;font-weight:800;font-size:19px;margin:0 10px 35px}.mark{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--gold);border-radius:50%;font-size:12px;color:var(--gold)}nav{display:grid;gap:5px}nav a{padding:11px 13px;border-radius:8px;color:#a9adaf;font-size:14px;display:flex;gap:13px}nav a:hover,nav a.active{background:#1a1d20;color:#fff}.nav-label{margin:31px 13px 9px;color:#5f6467;text-transform:uppercase;font-size:10px;letter-spacing:1.7px;font-weight:800}.data-saver{position:absolute;bottom:25px;left:18px;right:18px;background:#15181b;border:1px solid var(--line);border-radius:12px;padding:13px}.data-saver strong,.data-saver small{display:block}.data-saver strong{font-size:12px}.data-saver small{font-size:10px;color:var(--muted);margin:4px 42px 0 0}.data-saver button{position:absolute;right:12px;top:18px;width:35px;height:20px;border:0;border-radius:20px;background:#34383c}.data-saver button span{display:block;width:14px;height:14px;border-radius:50%;background:#fff;transform:translateX(0);transition:.2s}.data-saver button.on{background:var(--green)}.data-saver button.on span{transform:translateX(15px)}main{grid-column:2;min-width:0}header{height:78px;display:flex;align-items:center;gap:20px;padding:0 4.5%;position:sticky;top:0;background:rgba(11,12,14,.88);backdrop-filter:blur(18px);z-index:4;border-bottom:1px solid rgba(255,255,255,.04)}.search{max-width:470px;width:45%;background:#17191c;border:1px solid #292d31;border-radius:24px;padding:10px 16px;color:#777}.search input{width:90%;background:none;border:0;outline:0;color:#fff;margin-left:7px}.header-actions{margin-left:auto;display:flex;gap:12px}.outline,.ghost{border:1px solid #3b3e42;background:transparent;color:#fff;padding:10px 16px;border-radius:22px}.avatar{width:39px;height:39px;border:0;border-radius:50%;background:var(--gold);font-weight:800}.mobile-menu{display:none}.hero{min-height:470px;padding:60px 5% 48px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden;background:radial-gradient(circle at 75% 40%,#29342d 0,transparent 31%),linear-gradient(125deg,#101315,#0b0c0e 65%)}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:800;color:var(--gold)}h1{font-size:clamp(48px,6vw,82px);line-height:.94;margin:15px 0 22px;letter-spacing:-4px}h1 em{font-style:normal;color:var(--gold)}.hero p{color:#a9adaf;max-width:510px;font-size:17px;line-height:1.6}.hero-actions{display:flex;gap:10px;margin-top:30px}.primary{border:0;background:var(--gold);color:#111;padding:13px 19px;border-radius:24px;font-weight:800}.hero-art{height:330px;position:relative;display:grid;place-items:center}.hero-art img{width:245px;height:245px;object-fit:cover;border-radius:10px;transform:rotate(5deg);box-shadow:0 25px 60px #000}.disc{position:absolute;width:250px;height:250px;border-radius:50%;background:repeating-radial-gradient(#151719 0 4px,#26292c 5px 7px);transform:translateX(110px)}.floating{position:absolute;bottom:3px;left:3%;background:rgba(20,23,25,.9);border:1px solid #333;border-radius:10px;padding:12px 15px;box-shadow:0 12px 30px #0008}.floating span,.floating strong,.floating small{display:block}.floating span{font-size:8px;color:var(--green);letter-spacing:1.5px}.floating strong{font-size:13px;margin:3px 0}.floating small{color:#888;font-size:9px}.section{padding:38px 5%}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:19px}.section-title h2{margin:5px 0 0;font-size:26px}.section-title a{font-size:12px;color:#aaa}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.card{min-width:0;cursor:pointer}.art{aspect-ratio:1;background:#202328;border-radius:8px;overflow:hidden;position:relative}.art img{width:100%;height:100%;object-fit:cover;transition:.25s}.card:hover img{transform:scale(1.04)}.card .play-float{opacity:0;position:absolute;right:10px;bottom:10px;width:42px;height:42px;border-radius:50%;border:0;background:var(--gold);transition:.2s}.card:hover .play-float{opacity:1}.card strong,.card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card strong{font-size:14px;margin-top:9px}.card span{font-size:11px;color:#8e9396;margin-top:4px}.split{display:grid;grid-template-columns:1.15fr .85fr}.chart-section{padding-right:2%}.releases{padding-left:3%}.chart-row{display:grid;grid-template-columns:34px 34px 48px 1fr 65px;gap:9px;align-items:center;padding:9px 7px;border-bottom:1px solid var(--line);border-radius:7px}.chart-row:hover{background:#15181b}.pos{font-weight:800;font-size:15px}.move{font-size:10px;font-weight:800}.up{color:var(--green)}.down{color:#e66}.same{color:#777}.chart-row img{width:42px;height:42px;object-fit:cover;border-radius:4px}.chart-row strong{font-size:12px}.chart-row small{display:block;color:#85898c;margin-top:3px}.plays{font-size:10px;color:#777;text-align:right}.release-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.release{display:flex;gap:10px;align-items:center}.release img{width:58px;height:58px;object-fit:cover;border-radius:5px}.release strong{display:block;font-size:12px}.release span{font-size:10px;color:#85898c}.player{position:fixed;z-index:20;bottom:0;left:0;right:0;height:var(--player);background:#151719;border-top:1px solid #303337;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;padding:10px 18px}.playing{display:flex;align-items:center;gap:11px;min-width:0}.playing img{width:58px;height:58px;object-fit:cover;border-radius:4px}.playing div{min-width:0}.playing strong,.playing span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playing strong{font-size:12px}.playing span{font-size:10px;color:#85898c;margin-top:4px}.heart,.controls button{background:none;border:0;color:#aaa}.controls{text-align:center}.controls>div:first-child{display:flex;justify-content:center;align-items:center;gap:15px}.controls .play{width:34px;height:34px;background:#f3f1e9;color:#111;border-radius:50%}.timeline{display:flex;gap:8px;align-items:center;font-size:8px;color:#777}.timeline input{width:100%}.volume{justify-self:end;display:flex;align-items:center;gap:8px;color:#888}.volume input{width:90px}input[type=range]{accent-color:var(--gold);height:3px}
body.data-lite .hero-art,body.data-lite .floating{display:none}body.data-lite .hero{grid-template-columns:1fr;min-height:360px}body.data-lite .card img,body.data-lite .release img{filter:saturate(.65)}
@media(max-width:950px){.app{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s;bottom:64px}.sidebar.open{transform:none}main{grid-column:1}.mobile-menu{display:block;background:none;border:0;color:#fff;font-size:20px}.search{width:65%}.hero{grid-template-columns:1fr .8fr}.cards{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr}.releases{padding-left:5%}.player{height:64px;grid-template-columns:1fr auto;padding:6px 10px}.playing img{width:48px;height:48px}.controls>div:first-child button:not(.play),.timeline,.volume,.heart{display:none}.controls{justify-self:end}.controls .play{width:40px;height:40px}.player .playing strong{max-width:45vw}}
@media(max-width:620px){:root{--player:64px}header{height:62px;padding:0 14px}.header-actions .outline{display:none}.search{width:auto;flex:1}.hero{padding:42px 20px 30px;grid-template-columns:1fr;min-height:420px}.hero-art{height:180px;margin-top:25px}.hero-art img{width:150px;height:150px}.disc{width:150px;height:150px;transform:translateX(65px)}h1{font-size:52px;letter-spacing:-3px}.hero p{font-size:14px}.ghost{display:none}.section{padding:28px 18px}.cards{grid-template-columns:repeat(2,1fr);gap:13px}.cards .card:nth-child(n+5){display:none}.split{display:block}.chart-row{grid-template-columns:28px 28px 42px 1fr}.plays{display:none}.release-grid{grid-template-columns:1fr}.section-title h2{font-size:22px}}
.artist-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.artist{text-align:center;cursor:pointer}.artist img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;background:#202328;box-shadow:0 10px 30px #0006}.artist strong{display:block;margin-top:10px;font-size:13px}.artist span{font-size:10px;color:#85898c}
.playlist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.playlist-card{cursor:pointer}.playlist-cover{aspect-ratio:1;border-radius:9px;overflow:hidden;position:relative;background:linear-gradient(145deg,#2d332f,#111)}.playlist-cover img{width:100%;height:100%;object-fit:cover;opacity:.8}.playlist-badge{position:absolute;left:12px;bottom:12px;background:#0b0c0ed9;border:1px solid #ffffff24;padding:8px 10px;border-radius:6px}.playlist-badge b{display:block;font-size:18px;color:var(--gold)}.playlist-badge small{font-size:8px;letter-spacing:1px}.playlist-card strong{display:block;font-size:13px;margin-top:9px}.playlist-card span{display:block;color:#85898c;font-size:10px;margin-top:3px}
.top-rated-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.rated{display:flex;align-items:center;gap:10px;padding:10px;background:#121417;border:1px solid var(--line);border-radius:8px;min-width:0}.rated img{width:48px;height:48px;object-fit:cover;border-radius:5px}.rated div{min-width:0}.rated strong,.rated span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rated strong{font-size:11px}.rated span{font-size:9px;color:#85898c}.stars{color:var(--gold)!important;letter-spacing:1px;margin-top:4px}
@media(max-width:950px){.artist-grid{grid-template-columns:repeat(4,1fr)}.playlist-grid{grid-template-columns:repeat(3,1fr)}.top-rated-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.artist-grid{grid-template-columns:repeat(3,1fr);gap:14px}.artist-grid .artist:nth-child(n+7){display:none}.playlist-grid{grid-template-columns:repeat(2,1fr);gap:12px}.top-rated-grid{grid-template-columns:1fr 1fr}.top-rated-grid .rated:nth-child(n+7){display:none}}

/* V2.1 readability pass: editorial playlists + Top Rated */
.playlist-card strong{
    font-size:16px;
    line-height:1.3;
    margin-top:11px;
}
.playlist-card span{
    font-size:12px;
    line-height:1.45;
    margin-top:5px;
}
.top-rated-grid{
    gap:14px;
}
.rated{
    padding:13px;
    gap:12px;
}
.rated img{
    width:58px;
    height:58px;
}
.rated strong{
    font-size:14px;
    line-height:1.3;
}
.rated span{
    font-size:11px;
    line-height:1.35;
    margin-top:3px;
}
.rated .stars{
    font-size:11px;
    margin-top:6px;
}
@media(max-width:620px){
    .playlist-card strong{font-size:15px}
    .playlist-card span{font-size:11px}
    .top-rated-grid{grid-template-columns:1fr}
    .top-rated-grid .rated:nth-child(n+7){display:flex}
    .rated strong{font-size:14px}
    .rated span{font-size:11px}
}

.buttonlike{display:inline-block;text-align:center}
.playlist-tone-1{background:linear-gradient(135deg,#2b392e,#111)}
.playlist-tone-2{background:linear-gradient(135deg,#403421,#111)}
.playlist-tone-3{background:linear-gradient(135deg,#232e42,#111)}
.playlist-tone-4{background:linear-gradient(135deg,#3b2538,#111)}
.play-track{cursor:pointer}

/* v0.2 official malawi-music.com branding */
.brand{gap:10px;margin-left:4px}
.brand-logo{width:52px;height:52px;object-fit:contain;border-radius:50%;background:#f4f0e8}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:15px;letter-spacing:-.25px}
.brand-copy small{font-size:9px;color:var(--gold);margin-top:5px;letter-spacing:.5px}
@media(max-width:620px){
  .brand-logo{width:46px;height:46px}
}

/* v0.3 core browsing pages */
.detail-hero{min-height:390px;padding:55px 5%;display:flex;align-items:end;gap:32px;background:linear-gradient(180deg,#20251f,#0b0c0e)}
.detail-cover{width:min(300px,30vw);aspect-ratio:1;object-fit:cover;border-radius:10px;box-shadow:0 25px 60px #0008}.detail-cover.round{border-radius:50%}
.detail-hero h1{font-size:clamp(42px,6vw,78px);margin:10px 0 14px;line-height:.95}.detail-hero p{color:#aaa}.detail-hero a:hover{text-decoration:underline}.song-actions{display:flex;gap:10px;margin-top:22px}.rating-line{color:var(--gold)!important;font-size:12px}
.content-section{padding:34px 5%}.content-section>h2{font-size:25px;margin:0 0 18px}.song-list{border-top:1px solid var(--line)}
.song-row{display:grid;grid-template-columns:40px 1fr 65px;align-items:center;gap:10px;padding:11px 9px;border-bottom:1px solid var(--line);border-radius:7px}.numbered .song-row{grid-template-columns:28px 40px 1fr 65px}.song-row:hover{background:#15181b}.row-play{border:0;background:transparent;color:#ddd}.song-meta{min-width:0}.song-meta strong,.song-meta a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-meta strong{font-size:14px}.song-meta>a:last-child{font-size:11px;color:#888;margin-top:4px}.song-length,.song-num{font-size:11px;color:#777;text-align:right}
.album-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.album-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.album-card strong,.album-card span{display:block}.album-card strong{font-size:14px;margin-top:9px}.album-card span{font-size:11px;color:#888;margin-top:4px}.bio{max-width:1000px;color:#aaa;line-height:1.7}.bio h2{color:#fff}
.search-page>h1{font-size:clamp(38px,5vw,64px);margin:10px 0 25px}.big-search{display:flex;max-width:760px;gap:10px;margin-bottom:30px}.big-search input{flex:1;background:#17191c;border:1px solid #34383c;border-radius:25px;color:#fff;padding:13px 18px;outline:0}.search-summary{color:#888;margin:20px 0 35px}.search-page h2{margin-top:38px}.empty-state{padding:40px;border:1px solid var(--line);border-radius:10px;color:#888;text-align:center}
@media(max-width:850px){.album-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.detail-hero{min-height:auto;padding:35px 18px;display:block;text-align:center}.detail-cover{width:65vw;max-width:260px}.detail-hero h1{font-size:42px;letter-spacing:-2px}.song-actions{justify-content:center}.content-section{padding:28px 18px}.album-grid{grid-template-columns:repeat(2,1fr);gap:13px}.song-row{grid-template-columns:35px 1fr 45px}.numbered .song-row{grid-template-columns:20px 35px 1fr 45px}.big-search{display:grid}.search-artists{grid-template-columns:repeat(3,1fr)}}

/* v0.4.1 homepage navigation */
.home-song-link,.home-artist-link{display:block}.home-artist-link{font-size:11px;color:#85898c;margin-top:4px}
.home-song-link:hover strong,.home-artist-link:hover,.chart-row a:hover{text-decoration:underline}
.chart-art-link{display:block}.chart-art-link img{display:block}
.release a,.rated a{min-width:0}
.playlist-hero-cover{width:min(300px,30vw);aspect-ratio:1;border-radius:10px;background:linear-gradient(135deg,#3d3220,#121411);display:flex;flex-direction:column;justify-content:end;padding:25px;box-shadow:0 25px 60px #0008}
.playlist-hero-cover span{font-size:10px;letter-spacing:1.5px;color:var(--gold)}.playlist-hero-cover strong{font-size:27px;line-height:1.05;margin-top:7px}
@media(max-width:620px){.playlist-hero-cover{width:65vw;max-width:260px;margin:0 auto 24px;text-align:left}}

/* v0.5 Discover + full Top 100 */
.page-hero{padding:65px 5% 45px;background:linear-gradient(180deg,#1d231d,#0b0c0e);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(48px,7vw,90px);line-height:.95;margin:10px 0 14px;letter-spacing:-3px}.page-hero p{max-width:650px;color:#9a9e9a;font-size:15px;line-height:1.55}.page-hero small{display:block;color:var(--gold);margin-top:14px}
.full-chart{padding-top:12px}.full-chart-row{display:grid;grid-template-columns:55px 55px 58px minmax(180px,1fr) 120px 45px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:9px 8px;border-radius:7px}.full-chart-row:hover{background:#15181b}.big-pos{font-size:20px;font-weight:700;text-align:center}.chart-cover img{width:52px;height:52px;object-fit:cover;border-radius:5px;display:block}.chart-song{min-width:0}.chart-song a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-song strong{font-size:14px}.chart-song a:last-child{font-size:11px;color:#85898c;margin-top:4px}.chart-downloads{text-align:right;font-size:12px;font-weight:600}.chart-downloads small{display:block;font-size:8px;color:#777;font-weight:400;margin-top:3px}.chart-play{width:34px;height:34px;border:0;border-radius:50%;background:var(--gold);color:#111}
.genre-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.genre-card{min-height:105px;padding:18px;border-radius:9px;background:linear-gradient(135deg,#252b25,#141615);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:end}.genre-card strong{font-size:17px}.genre-card span{font-size:10px;color:#8b8f8b;margin-top:5px}.genre-card:hover{transform:translateY(-2px);border-color:#ffffff2e}
.discover-songs{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.discover-track{display:grid;grid-template-columns:58px 1fr 38px;gap:11px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:#111315}.discover-track img{width:58px;height:58px;object-fit:cover;border-radius:5px}.discover-track div{min-width:0}.discover-track div a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discover-track strong{font-size:13px}.discover-track div a:last-child{font-size:10px;color:#888;margin-top:4px}.discover-track button{border:0;background:transparent;color:var(--gold)}
@media(max-width:950px){.genre-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.page-hero{padding:38px 18px 30px}.page-hero h1{font-size:52px}.full-chart{padding:8px 10px 25px}.full-chart-row{grid-template-columns:35px 42px 46px minmax(0,1fr) 34px;gap:7px}.full-chart-row .move{font-size:9px}.chart-cover img{width:44px;height:44px}.chart-downloads{display:none}.big-pos{font-size:15px}.genre-grid{grid-template-columns:repeat(2,1fr)}.discover-songs{grid-template-columns:1fr}}

/* v0.6 persistent player */
.player{z-index:1000}
.player .playing img{background:#181a1c}
.player.is-restored .playing strong{color:var(--gold)}

/* v0.7 hybrid navigation */
#pageContent{min-height:calc(100vh - 160px);transition:opacity .12s ease}
body.mm-loading #pageContent{opacity:.48;pointer-events:none}
body.mm-loading::after{content:"";position:fixed;top:0;left:0;z-index:2000;height:2px;width:38%;background:var(--gold);animation:mm-load .8s ease-in-out infinite}
@keyframes mm-load{0%{transform:translateX(-100%)}100%{transform:translateX(365%)}}

/* v0.8 queue */
.controls button.active{color:var(--gold)}
.queue-button{border:0;background:transparent;color:inherit;font-size:17px;cursor:pointer}
.queue-drawer{position:fixed;right:18px;bottom:88px;width:min(380px,calc(100vw - 36px));max-height:62vh;overflow:auto;background:#111315;border:1px solid #303438;border-radius:12px;box-shadow:0 22px 70px #000b;z-index:1500;padding:10px}
.queue-head{display:flex;justify-content:space-between;align-items:center;padding:8px 9px 12px;border-bottom:1px solid var(--line)}.queue-head strong{font-size:14px}.queue-head button{border:0;background:transparent;color:#aaa;font-size:24px}
.queue-item{width:100%;display:grid;grid-template-columns:25px 1fr;gap:8px;text-align:left;border:0;background:transparent;color:#ddd;padding:9px;border-radius:7px}.queue-item:hover,.queue-item.current{background:#1b1e20}.queue-item.current strong{color:var(--gold)}.queue-item>span{font-size:10px;color:#666;padding-top:3px}.queue-item strong,.queue-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item strong{font-size:12px}.queue-item small{font-size:9px;color:#777;margin-top:3px}.queue-empty{font-size:11px;color:#777;padding:18px 10px}

/* v0.9 standard player icons */
.transport-icon svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.transport-icon .icon-play,.transport-icon .icon-pause{fill:currentColor;stroke:none;width:19px;height:19px}
.transport-icon .icon-pause{display:none}.transport-icon.is-playing .icon-play{display:none}.transport-icon.is-playing .icon-pause{display:block}
.controls .play.transport-icon svg{width:20px;height:20px}
.controls button.active svg{color:var(--gold)}

/* v1.0 account/library */
.mm-account{margin-top:auto;padding:16px 18px;border-top:1px solid var(--line);font-size:11px;display:flex;gap:8px;flex-wrap:wrap}.mm-account span{color:#ddd;max-width:125px;overflow:hidden;text-overflow:ellipsis}.mm-account a{color:var(--gold)}
.auth-wrap{min-height:70vh;display:grid;place-items:center;padding:35px 18px}.auth-card{width:min(430px,100%);background:#121416;border:1px solid var(--line);border-radius:13px;padding:30px}.auth-card h1{font-size:34px;margin:8px 0}.auth-card>p{font-size:12px;color:#888;margin-bottom:25px}.auth-card label{display:block;font-size:10px;color:#999;margin:14px 0}.auth-card input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #34383a;border-radius:7px;background:#090a0b;color:#fff}.auth-card .primary{width:100%;margin-top:8px;border:0;padding:12px;border-radius:20px}.auth-error{background:#3a1717;color:#ffb3b3;padding:10px;border-radius:6px;font-size:11px}

/* v1.1 library interactions */
.row-like{border:0;background:transparent;color:#777;font-size:20px;cursor:pointer;padding:5px 8px;line-height:1}
.row-like:hover,.row-like.liked,.player-like.liked{color:var(--gold)}
.player-like{transition:color .15s ease}
.empty-state{padding:28px 16px;color:#777;font-size:12px;border:1px dashed var(--line);border-radius:9px}

/* v1.1.1 like control fix */
.row-like:active,.player-like:active{transform:scale(.88)}
.row-like,.player-like{transition:color .15s ease,transform .08s ease}

/* v1.1.2 song actions + row alignment */
.song-row{grid-template-columns:40px minmax(0,1fr) 38px 65px}
.numbered .song-row{grid-template-columns:28px 40px minmax(0,1fr) 38px 65px}
.song-row .row-like{justify-self:center}
.song-row .song-length{justify-self:end;white-space:nowrap}
.song-like-action.liked,.add-playlist-action.added{border-color:var(--gold);color:var(--gold)}
.add-playlist-action:disabled{opacity:.75;cursor:default}
@media(max-width:620px){
  .song-row{grid-template-columns:35px minmax(0,1fr) 34px 45px}
  .numbered .song-row{grid-template-columns:20px 35px minmax(0,1fr) 34px 45px}
}

/* v1.2.1 My Playlist row menu */
.playlist-library-item{position:relative}
.playlist-library-item>.song-row{padding-right:48px}
.playlist-more-wrap{position:absolute;right:7px;top:50%;transform:translateY(-50%);z-index:6}
.playlist-more{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#999;cursor:pointer;font-size:16px;letter-spacing:1px;display:grid;place-items:center}
.playlist-more:hover,.playlist-more[aria-expanded="true"]{background:#202326;color:#fff}
.playlist-menu{position:absolute;right:0;top:38px;min-width:205px;padding:6px;background:#181b1d;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.45);z-index:20}
.playlist-menu[hidden]{display:none}
.playlist-menu button{width:100%;border:0;background:transparent;color:#ddd;text-align:left;padding:10px 11px;border-radius:5px;cursor:pointer;font-size:12px}
.playlist-menu button:hover{background:#272b2e;color:#fff}
.playlist-menu button:disabled{opacity:.55;cursor:default}
.playlist-removing{opacity:0;transform:translateX(8px);transition:opacity .16s ease,transform .16s ease}
@media(max-width:620px){.playlist-library-item>.song-row{padding-right:42px}.playlist-more-wrap{right:2px}}

/* v1.3 downloads + DL/ST */
.song-row{grid-template-columns:40px minmax(0,1fr) 32px 38px 65px}
.numbered .song-row{grid-template-columns:28px 40px minmax(0,1fr) 32px 38px 65px}
.song-stats{display:block;margin-top:4px;font-size:10px!important;color:#6f7579!important;letter-spacing:.02em;white-space:nowrap}
.row-download{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#999;text-decoration:none;font-size:18px}
.row-download:hover{background:#202326;color:#fff}
.song-detail-stats{display:flex;gap:18px;margin:14px 0 2px;color:#969b9f;font-size:12px}
.song-detail-stats b{color:#d0a84a;font-size:10px;letter-spacing:.06em}
.download-action{text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:620px){
.song-row{grid-template-columns:35px minmax(0,1fr) 30px 34px 45px}
.numbered .song-row{grid-template-columns:20px 35px minmax(0,1fr) 30px 34px 45px}
.song-detail-stats{justify-content:center}
}

/* v1.4 clearer download, chart badge, community playlists */
.row-download svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chart-badge{color:var(--gold);font-weight:700}
.community-cover{background:linear-gradient(145deg,#20262a,#111315)}
.playlist-privacy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.playlist-privacy span{font-weight:700}.playlist-privacy small{color:#858b90;flex-basis:100%}
.playlist-vote{margin-top:12px}

/* v1.5 account, visibility, video and listening activity */
.visibility-switch{border:0;background:#24282b;color:#aeb3b7;border-radius:999px;padding:4px 10px 4px 4px;display:flex;align-items:center;gap:8px;cursor:pointer}
.visibility-switch span{width:28px;height:28px;border-radius:50%;background:#747b80;display:block;transition:.2s}
.visibility-switch.is-public{background:rgba(221,181,75,.16);color:var(--gold)}
.visibility-switch.is-public span{background:var(--gold);transform:translateX(4px)}
.playlist-privacy{justify-content:space-between;max-width:650px}.playlist-privacy>div{display:flex;flex-direction:column;gap:4px}.playlist-privacy small{display:block;max-width:520px}
.visibility-choice{border:1px solid var(--line);border-radius:12px;padding:14px;margin:8px 0 18px}.visibility-choice label{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start}.visibility-choice input{width:auto!important}.visibility-choice small{display:block;color:#858b90}
.auth-help{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}.auth-help p{margin:6px 0}.auth-register{font-size:13px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-card{border:1px solid var(--line);border-radius:14px;padding:20px}.settings-card.danger{grid-column:1/-1}.danger-button{background:#8e2929;color:white;border:0;border-radius:999px;padding:11px 18px}
.video-frame{position:relative;width:100%;max-width:960px;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-tip{color:#d7b44f;font-weight:700}
.top-rated-section .rating-row,.top-rated-section .song-row{min-width:0;overflow:hidden}.top-rated-section .rating-row>*,.top-rated-section .song-row>*{min-width:0}.top-rated-section .song-meta{min-width:0}.top-rated-section .song-meta a,.top-rated-section .song-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compact-list{max-width:900px}
@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-card.danger{grid-column:auto}.playlist-privacy{align-items:flex-start}}

/* v1.6 Discover + collection artwork */
.collection-collage{position:relative;width:100%;aspect-ratio:1.55/1;border-radius:14px;overflow:hidden;background:#171a1c;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.collection-collage img{width:100%;height:100%;object-fit:cover;min-width:0;min-height:0}
.collection-collage.collage-1 img{grid-column:1/-1;grid-row:1/-1}
.collection-collage.collage-2 img{grid-row:1/-1}.collection-collage.collage-2 img:first-child{grid-column:1}.collection-collage.collage-2 img:nth-child(2){grid-column:2}
.collection-collage.collage-3 img:first-child{grid-row:1/-1}.collection-collage.collage-3 img:nth-child(2){grid-column:2;grid-row:1}.collection-collage.collage-3 img:nth-child(3){grid-column:2;grid-row:2}
.collection-fallback{grid-column:1/-1;grid-row:1/-1;display:grid;place-items:center;font-size:54px;color:#d9b44a;background:radial-gradient(circle at 30% 20%,#2d3437,#111315 70%)}
.collection-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,7,.18) 0%,rgba(5,6,7,.48) 45%,rgba(5,6,7,.94) 100%)}
.collection-title{position:absolute;left:14px;right:14px;bottom:13px;z-index:2;text-shadow:0 2px 8px #000}
.collection-title small{display:block;color:#e0b94f;font-size:9px;font-weight:800;letter-spacing:.12em;margin-bottom:3px}.collection-title b{display:block;color:#fff;font-size:18px;line-height:1.05}
.playlist-card .collection-collage{aspect-ratio:1.35/1;margin-bottom:10px}.playlist-card{text-decoration:none}
.visual-genres{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.genre-card.visual-collection{padding:0;background:transparent;border:0;text-decoration:none}.genre-card.visual-collection .collection-collage{aspect-ratio:1.6/1}.collection-meta{display:flex;justify-content:space-between;gap:10px;padding:9px 2px}.collection-meta span{color:#858b90;font-size:12px}
.genre-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:36px;padding:48px 5% 28px;background:linear-gradient(135deg,rgba(40,50,45,.6),rgba(10,12,13,0))}.genre-hero h1{font-size:clamp(42px,6vw,72px);margin:14px 0 8px}.genre-hero p,.breadcrumb{color:#92989c}.breadcrumb a{color:#d7b44f;text-decoration:none}.genre-hero-art .collection-collage{aspect-ratio:1.65/1}
.genre-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:8px}.genre-toolbar>div{display:flex;align-items:baseline;gap:12px}.genre-toolbar span{color:#858b90;font-size:12px}.genre-toolbar select{background:#121516;color:#eee;border:1px solid var(--line);border-radius:10px;padding:9px 30px 9px 10px}
.pagination{display:flex;justify-content:center;gap:7px;margin:28px 0}.pagination a{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--line);border-radius:9px;color:#bbb;text-decoration:none}.pagination a.active{background:#e0b84c;color:#111;border-color:#e0b84c;font-weight:800}
.playlist-hero-collage{width:min(430px,100%)}.community-detail-hero{display:grid;grid-template-columns:minmax(250px,390px) 1fr;gap:32px;align-items:center;padding:42px 5%}.community-detail-hero .collection-collage{aspect-ratio:1.45/1}
.top-rated-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.top-rated-grid .rated{min-width:0;display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:12px;align-items:center;overflow:hidden}.top-rated-grid .rated>a{width:72px;height:72px}.top-rated-grid .rated img{width:72px!important;height:72px!important;object-fit:cover;border-radius:9px}.top-rated-grid .rated>div{min-width:0}.top-rated-grid .rated strong,.top-rated-grid .rated .home-artist-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.visual-genres{grid-template-columns:repeat(2,minmax(0,1fr))}.genre-hero,.community-detail-hero{grid-template-columns:1fr}.genre-hero-art{max-width:500px}.top-rated-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.visual-genres,.top-rated-grid{grid-template-columns:1fr!important}.genre-toolbar{align-items:flex-start;flex-direction:column}}

/* v1.6.1 ratings + collage readability */
.collection-collage img{filter:saturate(.82) brightness(.72);transition:filter .2s ease}
.playlist-card:hover .collection-collage img,.genre-card:hover .collection-collage img{filter:saturate(.9) brightness(.78)}
.collection-title{text-shadow:0 2px 10px #000,0 1px 3px #000}
.collection-title b{font-weight:850}
.mic-rating{margin-top:22px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#121417;max-width:520px}
.mic-rating-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:10px}.mic-rating-head strong{font-size:13px}.mic-rating-summary{font-size:11px;color:var(--gold)}
.mic-buttons{display:flex;gap:5px}.mic-rate{border:0;background:transparent;padding:3px 5px;cursor:pointer;font-size:25px;line-height:1;filter:grayscale(1);opacity:.42;transform:scale(.96);transition:.14s}
.mic-rate:hover,.mic-rate.preview,.mic-rate.selected{filter:none;opacity:1;transform:scale(1.08)}
.mic-rating.rated .mic-rate{cursor:default}.mic-rating-message{display:block;color:#7f8588;margin-top:9px;font-size:10px}
.top-rated-section{border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,rgba(214,183,92,.035),transparent)}

/* v1.6.2 supplied Malawi Music mic-in-hand rating artwork */
.mic-buttons{display:flex;gap:7px;align-items:center}
.mic-rate{width:38px;height:40px;padding:2px;border:0;background:transparent;cursor:pointer;opacity:.82;transition:transform .14s ease,opacity .14s ease}
.mic-rate img{display:block;width:34px;height:35px;object-fit:contain;pointer-events:none}
.mic-rate:hover,.mic-rate.preview,.mic-rate.selected{transform:translateY(-2px) scale(1.07);opacity:1}
.mic-rating.rated .mic-rate{cursor:default}
.mic-rating-summary{font-weight:750}
@media(max-width:480px){.mic-rate{width:34px}.mic-rate img{width:30px;height:31px}.mic-buttons{gap:4px}}

/* v1.6.3 song information + comments */
.song-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#101214}
.song-info-grid>div{padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.song-info-grid>div:nth-child(4n){border-right:0}.song-info-grid span{display:block;color:#777e82;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.song-info-grid strong{font-size:13px;color:#e9e9e9;overflow-wrap:anywhere}.song-info-grid a{color:#e9e9e9;text-decoration:none}.song-info-grid a:hover{color:var(--gold)}.song-info-grid .wide{grid-column:span 2}
.comments-section{border-top:1px solid var(--line)}.comment-count{font-size:12px;color:#7d8386;font-weight:500}.comment-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:36px}.comment-list{min-width:0}.comment{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.comment-avatar{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#24282a;color:var(--gold);font-weight:800}.comment-body{min-width:0;flex:1}.comment-meta{display:flex;align-items:baseline;gap:10px}.comment-meta strong{font-size:13px}.comment-meta time{font-size:10px;color:#73797c}.comment-body p{margin:7px 0;color:#c4c7c8;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.comment-reply,.cancel-reply{border:0;background:transparent;color:#9b9fa1;padding:0;cursor:pointer;font-size:10px}.comment-reply:hover,.cancel-reply:hover{color:var(--gold)}.comment-replies{margin:10px 0 0 18px;border-left:1px solid #303436;padding-left:15px}.comment-replies .comment{padding:12px 0;border-bottom:0}.comment-replies .comment-avatar{flex-basis:30px;height:30px;font-size:11px}.comment-form{height:max-content;position:sticky;top:100px;border:1px solid var(--line);border-radius:14px;padding:18px;background:#111416}.comment-form h3{margin:0 0 15px}.comment-form label{display:block;font-size:10px;color:#8d9295;margin:12px 0}.comment-form input,.comment-form textarea{box-sizing:border-box;width:100%;margin-top:6px;background:#0c0e0f;border:1px solid #303436;border-radius:9px;color:#eee;padding:10px;font:inherit}.comment-form textarea{resize:vertical}.comment-form label small{display:block;text-align:right;margin-top:4px}.comment-form-message,.replying-to,.empty-comments{color:#81878a;font-size:11px}.replying-to strong{color:#ddd}
@media(max-width:900px){.song-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.song-info-grid>div:nth-child(4n){border-right:1px solid var(--line)}.song-info-grid>div:nth-child(2n){border-right:0}.comment-layout{grid-template-columns:1fr}.comment-form{position:static}}
@media(max-width:520px){.song-info-grid{grid-template-columns:1fr}.song-info-grid>div,.song-info-grid>div:nth-child(2n),.song-info-grid>div:nth-child(4n){border-right:0}.song-info-grid .wide{grid-column:auto}}

/* v1.6.4 comment avatars + artist recommendations */
.comment-avatar{overflow:hidden}.comment-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.comment-form input[type=file]{padding:8px;font-size:11px}.field-hint{display:inline!important;margin-left:6px!important;text-align:left!important;color:#686e71}
.other-artist-songs{border-top:1px solid var(--line)}

/* v1.6.5 canonical song-row metadata */
.song-stats .video-tip{color:#d7b44f;text-decoration:none;font-weight:800;letter-spacing:.035em}.song-stats .video-tip:hover{text-decoration:underline}.row-mics{color:#d7b44f;font-weight:750}

/* v1.7.0 artist profile */
.artist-hero-v2{position:relative;min-height:390px;border-radius:20px;overflow:hidden;display:flex;align-items:flex-end;padding:38px;margin-bottom:18px;background:#111416}
.artist-hero-image{position:absolute;inset:0}.artist-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,11,.94) 0%,rgba(8,10,11,.64) 44%,rgba(8,10,11,.22) 72%),linear-gradient(0deg,rgba(8,10,11,.86),transparent 62%)}
.artist-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.artist-hero-copy{position:relative;z-index:1;max-width:670px}.artist-hero-copy h1{font-size:clamp(42px,7vw,86px);line-height:.95;letter-spacing:-.055em;margin:7px 0 13px}.artist-location{color:#c0c4c5;font-size:13px;margin:0 0 20px}.artist-play{border:0;cursor:pointer}
.artist-stat-strip{display:flex;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#101315;margin-bottom:28px}.artist-stat-strip>div{flex:1;padding:14px 18px;border-right:1px solid var(--line)}.artist-stat-strip>div:last-child{border-right:0}.artist-stat-strip strong{display:block;font-size:18px}.artist-stat-strip span{display:block;color:#777e82;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.artist-about-copy{max-width:850px;color:#b9bdbe;font-size:14px;line-height:1.75}.artist-about-copy p:first-child{margin-top:0}
@media(max-width:700px){.artist-hero-v2{min-height:330px;padding:25px}.artist-hero-image:after{background:linear-gradient(0deg,rgba(8,10,11,.96) 0%,rgba(8,10,11,.56) 70%,rgba(8,10,11,.28))}.artist-hero-copy h1{font-size:44px}.artist-stat-strip{display:grid;grid-template-columns:repeat(2,1fr)}.artist-stat-strip>div{border-bottom:1px solid var(--line)}.artist-stat-strip>div:nth-child(2n){border-right:0}}

/* v1.7.1 album / release pages */
.album-hero-v2{display:grid;grid-template-columns:minmax(220px,310px) minmax(0,1fr);gap:34px;align-items:end;padding:28px;border-radius:20px;background:linear-gradient(135deg,#191d1f,#0d0f10);margin-bottom:18px}.album-cover-v2{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:0 18px 42px rgba(0,0,0,.38)}.album-hero-copy h1{font-size:clamp(36px,5.4vw,70px);line-height:.98;letter-spacing:-.045em;margin:7px 0 10px}.album-subtitle{font-size:14px;color:#aeb3b5;margin:-1px 0 14px}.album-byline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:#9ba0a2;margin-bottom:10px}.album-byline img{width:25px;height:25px;border-radius:50%;object-fit:cover}.album-byline a{color:#eee;text-decoration:none;font-weight:750}.album-byline a:hover{color:var(--gold)}.album-genre{color:var(--gold);font-size:11px;margin:0 0 18px}
.album-stat-strip{display:flex;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#101315;margin-bottom:28px}.album-stat-strip>div{padding:13px 20px;min-width:120px;border-right:1px solid var(--line)}.album-stat-strip strong{display:block;font-size:17px}.album-stat-strip span{font-size:9px;color:#747a7d;text-transform:uppercase;letter-spacing:.08em}.disc-heading{padding:16px 10px 7px;color:#8d9294;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.release-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#101214}.release-info-grid>div{padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.release-info-grid>div:nth-child(3n){border-right:0}.release-info-grid span{display:block;color:#777e82;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.release-info-grid strong{font-size:12px}.release-info-grid .wide{grid-column:span 2}
@media(max-width:720px){.album-hero-v2{grid-template-columns:1fr;padding:20px}.album-cover-v2{max-width:270px}.album-hero-copy h1{font-size:42px}.album-stat-strip{display:grid;grid-template-columns:repeat(2,1fr)}.release-info-grid{grid-template-columns:1fr 1fr}.release-info-grid>div:nth-child(3n){border-right:1px solid var(--line)}.release-info-grid>div:nth-child(2n){border-right:0}}
@media(max-width:480px){.release-info-grid{grid-template-columns:1fr}.release-info-grid>div,.release-info-grid>div:nth-child(2n),.release-info-grid>div:nth-child(3n){border-right:0}.release-info-grid .wide{grid-column:auto}}

/* v1.7.2 unified search */
.search-page{max-width:1180px}.big-search{display:flex;gap:10px;max-width:760px;margin:18px 0 20px}.big-search input{flex:1;min-width:0;font-size:16px;padding:14px 16px;border-radius:12px}.search-result-head{color:#8d9395;font-size:12px;margin:3px 0 12px}.search-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;margin:0 0 30px}.search-tabs a{white-space:nowrap;border:1px solid var(--line);background:#111416;border-radius:999px;padding:8px 12px;color:#a7acae;text-decoration:none;font-size:11px;font-weight:750}.search-tabs a.active{background:#e6e8e8;color:#0c0e0f;border-color:#e6e8e8}.search-group{margin:0 0 36px}.search-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}.search-pagination a{border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:#d9dddd;text-decoration:none;font-size:11px}@media(max-width:620px){.big-search{display:grid}.big-search button{width:100%}}

/* v1.7.3 personal library */
.library-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 20px;padding:2px 0 5px}.library-tabs a{white-space:nowrap;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#979d9f;text-decoration:none;font-size:11px;font-weight:750;background:#101315}.library-tabs a.active{background:#e6e8e8;color:#0b0d0e;border-color:#e6e8e8}.library-summary{display:flex;margin:18px 0 20px;max-width:600px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.library-summary a{flex:1;padding:12px 15px;border-right:1px solid var(--line);text-decoration:none}.library-summary a:last-child{border-right:0}.library-summary strong{display:block;color:#eceeee;font-size:17px}.library-summary span{display:block;color:#7c8386;font-size:9px;text-transform:uppercase;letter-spacing:.06em}@media(max-width:600px){.library-summary{display:grid;grid-template-columns:1fr 1fr}}
/* v1.7.4 community playlist discovery */
.community-index-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(215,180,79,.12),transparent 30%),#101315}.community-hero-stats{display:inline-flex;align-items:baseline;gap:8px;margin-top:13px;padding:8px 11px;border:1px solid var(--line);border-radius:999px}.community-hero-stats strong{font-size:15px}.community-hero-stats span{font-size:9px;color:#777e81;text-transform:uppercase;letter-spacing:.07em}.community-sort{display:flex;gap:8px;margin:0 0 20px}.community-sort a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#92999b;text-decoration:none;font-size:10px;font-weight:800}.community-sort a.active{background:#e6e8e8;border-color:#e6e8e8;color:#0b0d0e}.community-card-v2{position:relative}.community-art{position:relative}.community-vote-pill{position:absolute;right:9px;bottom:9px;z-index:4;padding:5px 8px;border-radius:999px;background:rgba(7,9,10,.84);backdrop-filter:blur(8px);color:#e8c45a!important;font-size:9px!important;font-weight:800}.community-card-v2 .community-by{display:block;color:#8d9496!important;margin-top:3px}.community-card-v2 p{color:#747b7e;font-size:10px;line-height:1.45;margin:7px 0 6px}.community-card-v2 .community-meta{color:#5f6669!important;font-size:9px!important}.community-detail-v2{grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:end}.community-detail-art{max-width:360px}.community-detail-copy h1{font-size:clamp(38px,6vw,74px);line-height:.96;letter-spacing:-.045em;margin:8px 0 9px}.community-owner{color:#9da3a5}.community-owner strong{color:#e7e9e9}.community-description{max-width:690px;color:#a9aeb0;line-height:1.6;font-size:13px}.community-detail-meta{display:flex;gap:0;flex-wrap:wrap;margin:17px 0}.community-detail-meta span{padding:0 13px;border-right:1px solid var(--line);color:#777e81;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.community-detail-meta span:first-child{padding-left:0}.community-detail-meta span:last-child{border-right:0}.community-detail-meta strong{color:#e7e9e9;font-size:13px;margin-right:3px}.community-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.playlist-vote.is-voted{border-color:#d7b44f;color:#d7b44f}.own-playlist-note{font-size:10px;color:#747b7d}@media(max-width:720px){.community-detail-v2{grid-template-columns:1fr}.community-detail-art{max-width:290px}.community-detail-copy h1{font-size:42px}.community-sort{overflow-x:auto}}

/* v1.7.5 full-site polish */
html{scroll-behavior:smooth}body{overflow-x:hidden}button,a,input,textarea,select{font-family:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.mobile-menu{cursor:pointer}.sidebar-scrim{display:none}.submit-music-link{display:inline-flex;align-items:center;justify-content:center}
.avatar{display:grid;place-items:center;text-decoration:none}.sidebar nav a.active{background:#1a1d20;color:#fff}.sidebar nav a.active:before{content:"";width:3px;height:17px;border-radius:3px;background:var(--gold);margin-left:-8px}
#pageContent>section:first-child{scroll-margin-top:90px}.content-section,.section{max-width:1500px;margin-left:auto;margin-right:auto}
.song-row{min-width:0}.song-meta{min-width:0}.song-meta strong,.song-meta>a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-stats{white-space:normal;line-height:1.45}
.empty-state{border:1px dashed #34383c;border-radius:14px;padding:25px;color:#858b8e;background:#101214;text-align:center}
.primary,.outline,.ghost{min-height:38px}.primary:disabled,.outline:disabled{opacity:.55;cursor:not-allowed}
img{max-width:100%}.album-card img,.card img,.artist img{background:#15181a}
.mm-loading #pageContent{opacity:.62;transition:opacity .12s ease}#pageContent{transition:opacity .12s ease}
@media(max-width:900px){
  .app{display:block}.sidebar{transform:translateX(-102%);transition:transform .22s ease;box-shadow:18px 0 50px rgba(0,0,0,.4);inset:0 auto var(--player) 0}.sidebar.open{transform:translateX(0)}
  .sidebar-scrim{display:block;position:fixed;inset:0 0 var(--player);background:rgba(0,0,0,.58);backdrop-filter:blur(2px);z-index:4;opacity:0;visibility:hidden;transition:.2s}
  body.menu-open .sidebar-scrim{opacity:1;visibility:visible}body.menu-open{overflow:hidden}
  main{grid-column:auto}.mobile-menu{display:inline-grid;place-items:center}
}
@media(max-width:620px){
  header{gap:9px}.brand{margin-bottom:24px}.sidebar{width:min(82vw,300px);padding-top:22px}
  .header-actions{gap:7px}.header-actions .avatar{width:36px;height:36px}.search{min-width:0}.search input{font-size:16px}
  .page-hero h1,.artist-hero-copy h1,.album-hero-copy h1,.community-detail-copy h1{overflow-wrap:anywhere}
  .song-row,.numbered .song-row{column-gap:7px}.song-row{padding-top:10px;padding-bottom:10px}.song-meta strong{font-size:12px}.song-meta>a:not(:first-child){font-size:10px}
  .song-stats{font-size:8px}.row-download,.row-like{width:30px;min-width:30px}.song-length{font-size:9px}
  .section-title{align-items:flex-end;gap:10px}.section-title>a{white-space:nowrap}
  .album-grid,.playlist-grid{align-items:start}.album-card strong,.playlist-card strong{overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:430px){
  .song-length{display:none}.song-row{grid-template-columns:32px minmax(0,1fr) 30px 30px}.numbered .song-row{grid-template-columns:18px 32px minmax(0,1fr) 30px 30px}
  .song-stats .chart-badge{display:inline-block;margin-top:2px}.community-detail-meta span{padding:0 8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* v1.8.0 music submissions */
.submit-music-page{max-width:1050px}.submit-lead{max-width:760px;color:#9da3a5;font-size:15px}.submission-notice{margin:20px 0;padding:17px 19px;border:1px solid #3c3830;border-radius:14px;background:#17150f}.submission-notice strong{color:#e4c779}.submission-notice p{margin:5px 0 0;color:#a7a6a0;line-height:1.55}.music-submit-form fieldset{border:1px solid var(--line);border-radius:16px;padding:20px;margin:0 0 18px;background:#101315}.music-submit-form legend{padding:0 8px;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.admin-review-form label{display:grid;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8d9496}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.admin-review-form textarea{width:100%;box-sizing:border-box;border:1px solid #303438;border-radius:10px;background:#0b0d0e;color:#e8eaea;padding:11px 12px;font-size:14px;text-transform:none;letter-spacing:normal}.form-grid small,.field-help,.submit-footnote{color:#777e81;font-size:10px;line-height:1.5}.submission-track{border-top:1px solid var(--line);padding:17px 0}.submission-track:first-child{border-top:0;padding-top:4px}.track-head{display:flex;justify-content:space-between;margin-bottom:12px}.remove-track{border:0;background:none;color:#b98383;cursor:pointer}.authorization{display:flex;gap:10px;margin-top:18px;color:#b9bdbf;font-size:12px}.authorization input{width:auto}.submit-release{margin-top:4px}.form-errors{border:1px solid #6a3434;background:#1c1010;padding:14px 18px;border-radius:12px;margin:18px 0;color:#d9aaaa}.submission-success{max-width:760px;text-align:center;padding-top:70px}.success-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 17px;border-radius:50%;background:#e4c779;color:#111;font-size:25px;font-weight:900}.reference-code{display:inline-grid;gap:4px;margin:20px auto;padding:12px 20px;border:1px solid var(--line);border-radius:12px}.reference-code span{font-size:9px;color:#777e81;text-transform:uppercase}.reference-code strong{font-size:18px;letter-spacing:.06em}.inline-button{display:inline-flex;text-decoration:none;align-items:center}.admin-submissions{display:grid;gap:8px}.admin-submission-row{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:#101315}.admin-submission-row span,.admin-submission-row small{color:#777e81}.submission-admin-grid{display:grid;grid-template-columns:220px 1fr;gap:24px;margin:20px 0}.submission-artwork{width:220px;aspect-ratio:1;object-fit:cover;border-radius:12px}.admin-track{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-track audio{width:min(100%,520px)}.admin-track span{font-size:10px;color:#858b8d}.admin-review-form{margin-top:25px;padding:18px;border:1px solid var(--line);border-radius:14px}.review-actions{display:flex;gap:8px;margin-top:12px}.admin-review-form small{display:block;color:#777e81;margin-top:10px}
@media(max-width:700px){.form-grid,.submission-admin-grid{grid-template-columns:1fr}.submission-artwork{width:100%;max-width:280px}.review-actions{flex-wrap:wrap}}


/* v1.8.0.4 controlled manual AdSense placements — never inside sidebar/player */
.mm-ad-slot{width:100%;max-width:100%;min-height:90px;margin:24px 0;overflow:hidden;clear:both;text-align:center}
.mm-ad-slot ins.adsbygoogle{width:100%;max-width:100%}
.mm-ad-page-top{margin-top:18px;margin-bottom:26px}
@media (max-width:700px){.mm-ad-slot{min-height:60px;margin:18px 0}.mm-ad-page-top{margin-top:12px}}

/* v1.8.0.12 comment sorting + likes */
.comment-sort{display:flex;gap:.45rem;flex-wrap:wrap}.comment-sort a{padding:.45rem .7rem;border:1px solid var(--border,#ddd);border-radius:999px;text-decoration:none}.comment-sort a.active{font-weight:700;background:rgba(127,127,127,.12)}.comment-actions{display:flex;align-items:center;gap:.75rem;margin-top:.4rem}.comment-like{border:0;background:transparent;padding:0;cursor:pointer;opacity:.7}.comment-like.liked{opacity:1;font-weight:700}

/* v1.8.0.13 multi-metric Top 100 */
.chart-tabs{display:flex;gap:8px;max-width:1500px;margin:0 auto 20px;padding:0 2px}.chart-tabs a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:#92999b;text-decoration:none;font-size:10px;font-weight:800}.chart-tabs a.active{background:#e6e8e8;border-color:#e6e8e8;color:#0b0d0e}.chart-song small{display:block;color:#666e71;font-size:9px;margin-top:4px}

/* v1.8.0.14 song chart positions */
.song-chart-status{display:flex;gap:.5rem;flex-wrap:wrap;margin:.65rem 0 .2rem}
.song-chart-status a{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border:1px solid var(--border,#ddd);border-radius:999px;text-decoration:none;font-size:.88rem}
.song-chart-status a:hover{border-color:var(--gold);color:var(--gold)}
.song-chart-status span{font-size:.78rem;opacity:.72}

/* v1.8.0.16 — Producer profile */
.producer-hero{background:radial-gradient(circle at 82% 22%,rgba(215,180,79,.16),transparent 32%),#101315}
.producer-stat-strip{flex-wrap:wrap}.producer-stat-strip>div{min-width:125px}.producer-stat-strip strong{font-size:20px}
.producer-section-note{align-self:end;color:#747b7e;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.producer-collaborators{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.producer-collaborators a{display:flex;flex-direction:column;gap:4px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#101315;text-decoration:none;min-width:0}
.producer-collaborators a:hover{border-color:#d7b44f}.producer-collaborators strong{color:#e7e9e9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.producer-collaborators span{color:#747b7e;font-size:10px}
@media(max-width:900px){.producer-collaborators{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.producer-collaborators{grid-template-columns:1fr}.producer-stat-strip>div{min-width:50%}.producer-section-note{display:none}}

/* v1.8.0.19 UX/account/search/player */
.free-account-callout{margin:18px 0;padding:16px;border:1px solid var(--gold);border-radius:12px;background:rgba(214,183,92,.08);display:grid;gap:8px}.free-account-callout span{color:var(--muted);font-size:13px}.free-account-callout .primary{justify-self:start}.auth-register strong{color:var(--gold)}
.genre-search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.genre-search-card{padding:18px;border:1px solid var(--line);background:var(--panel);border-radius:10px}.genre-search-card strong,.genre-search-card span{display:block}.genre-search-card span{color:var(--muted);font-size:11px;margin-top:5px}
.creator-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:7px}.community-custom-art{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.community-custom-art.detail{position:absolute;inset:0}.community-detail-art{position:relative;overflow:hidden}.profile-preview-row{display:flex;gap:15px;align-items:center}.profile-preview{width:72px;height:72px;border-radius:50%;object-fit:cover}.playlist-art-preview{width:120px;height:120px;object-fit:cover;border-radius:10px;margin:8px 0}.settings-card input[type=file]{margin-top:7px}
.fullscreen-button{font-size:20px}.player:fullscreen{height:100vh;background:#0b0c0e;grid-template-columns:1fr;grid-template-rows:1fr auto auto;padding:6vh 8vw;gap:25px}.player:fullscreen .playing{justify-content:center;flex-direction:column;text-align:center}.player:fullscreen .playing img{width:min(48vh,480px);height:min(48vh,480px);border-radius:14px}.player:fullscreen .playing strong{font-size:clamp(22px,4vw,48px)}.player:fullscreen .playing span{font-size:clamp(14px,2vw,24px)}.player:fullscreen .controls .transport-icon{display:inline-flex}.player:fullscreen .controls .play{width:64px;height:64px}.player:fullscreen .timeline{display:flex;font-size:13px}.player:fullscreen .volume{display:flex;justify-self:center}.player:fullscreen .heart{display:inline-block}
