:root{
  --bg:#050607;--bg2:#080b0d;--surface:#0b0f12;--surface2:#101417;--surface3:#151a1e;
  --border:rgba(255,255,255,.11);--border-strong:rgba(255,255,255,.17);--text:#f7f7f8;--muted:#9ea2a7;
  --orange:#ff5a00;--red:#ff3131;--pink:#ff1478;--magenta:#d000ff;--purple:#8d28ff;--cyan:#00c8ff;--green:#22d66f;
  --accent:linear-gradient(100deg,#ff6a00 0%,#ff3131 42%,#ff1478 70%,#ae21ff 100%);
  --radius:16px;--radius-lg:22px;--shadow:0 20px 60px rgba(0,0,0,.34);--header-h:76px;--player-h:74px;
}
*{box-sizing:border-box}html{background:var(--bg);scrollbar-color:#3b3f42 #0a0d0f}body.public-v2{margin:0;background:radial-gradient(circle at 65% 18%,rgba(146,0,255,.055),transparent 31%),linear-gradient(180deg,#030405 0%,#06090b 55%,#050708 100%);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.45;min-height:100vh;padding-bottom:var(--player-h)}
a{color:inherit;text-decoration:none}button,input{font:inherit}.ui-icon{width:20px;height:20px;display:block;fill:currentColor}.v2-app{min-height:100vh}.v2-main{min-height:calc(100vh - var(--header-h));padding-top:var(--header-h)}
.v2-header{height:var(--header-h);position:fixed;z-index:100;top:0;left:0;right:0;background:rgba(2,3,4,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:250px minmax(300px,420px) 1fr auto;align-items:center;gap:28px;padding:0 24px}
.v2-logo{width:210px;display:flex;align-items:center}.v2-logo img{width:100%;height:auto;display:block}.v2-search-wrap{position:relative}.v2-search{height:42px;border:1px solid var(--border);background:#0a0d0f;border-radius:999px;display:flex;align-items:center;gap:11px;padding:0 16px;color:#8f9498;transition:.2s}.v2-search:focus-within{border-color:rgba(255,90,0,.55);box-shadow:0 0 0 3px rgba(255,90,0,.08)}.v2-search .ui-icon{width:18px}.v2-search input{width:100%;background:transparent;border:0;outline:0;color:var(--text);font-size:13px}.v2-search input::placeholder{color:#84898e}.v2-search-results{display:none;position:absolute;left:0;right:0;top:50px;background:#0c1013;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;padding:6px;z-index:120}.v2-search-results.open{display:block}.v2-search-item{display:flex;gap:10px;align-items:center;padding:8px;border-radius:10px}.v2-search-item:hover{background:#14191d}.v2-search-item img,.v2-search-fallback{width:42px;height:42px;border-radius:8px;object-fit:cover;background:#171b1f;display:grid;place-items:center;font-weight:900}.v2-search-item>span:last-child{display:grid}.v2-search-item small{color:#ff6b1b;font-size:10px;text-transform:uppercase}.v2-search-item strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-search-item em{font-style:normal;color:var(--muted);font-size:11px}.v2-search-empty{padding:15px;color:var(--muted)}
.v2-nav{height:100%;display:flex;align-items:center;justify-content:center;gap:30px}.v2-nav a{height:100%;display:flex;align-items:center;position:relative;font-weight:650;color:#eee;font-size:13px}.v2-nav a.active{color:#ff6a00}.v2-nav a.active:after{content:"";position:absolute;height:2px;left:3px;right:3px;bottom:0;background:linear-gradient(90deg,#ff6500,#ff245c);border-radius:2px}.v2-admin-pill{height:42px;border:1px solid var(--border);border-radius:999px;padding:0 12px 0 4px;display:flex;align-items:center;gap:9px;background:#090c0e}.v2-admin-pill>span{width:32px;height:32px;border-radius:50%;border:1px solid #bd16ff;display:grid;place-items:center;font-size:11px}.v2-admin-pill strong{font-size:12px}.v2-admin-pill b{font-size:14px;color:#777}.v2-mobile-menu,.v2-mobile-nav{display:none}
.v2-page{width:min(1480px,calc(100% - 48px));margin:18px auto 34px}.v2-two-column-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.v2-main-column{min-width:0}.v2-right-column{display:grid;gap:14px;position:sticky;top:94px}.v2-section{margin-top:18px}.v2-section.compact-top{margin-top:10px}.v2-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 10px}.v2-section-head h2,.v2-section-head h3{margin:0;font-size:18px;letter-spacing:-.01em}.v2-section-head p{margin:2px 0 0;color:var(--muted);font-size:11px}.v2-section-head>a{color:#ff6b13;font-size:12px}.v2-section-head>a b{font-size:17px;margin-left:6px}.v2-panel{background:linear-gradient(155deg,rgba(17,21,24,.96),rgba(8,11,13,.98));border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 35px rgba(0,0,0,.12);padding:16px}.v2-panel>h3{margin:0 0 14px;font-size:16px}.v2-panel>h3 span{color:#ff5c19}.v2-muted{color:var(--muted)}.v2-empty{min-height:160px;border:1px dashed var(--border);border-radius:16px;display:grid;place-items:center;text-align:center;color:var(--muted);padding:30px}.v2-empty h2{color:var(--text);margin:0}.v2-empty.small{min-height:90px}.v2-eyebrow{display:flex;align-items:center;gap:7px;color:#ff6a00;font-size:11px;font-weight:800;letter-spacing:.04em;margin-bottom:10px}.v2-eyebrow.purple{color:#bf2eff}
.v2-chip-line{display:flex;gap:6px;flex-wrap:wrap}.v2-chip{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 12px;border-radius:999px;background:linear-gradient(100deg,rgba(255,86,0,.72),rgba(202,13,117,.72));border:1px solid rgba(255,255,255,.1);font-size:11px}.v2-chip:nth-child(2){background:linear-gradient(100deg,rgba(221,18,90,.74),rgba(133,26,239,.72))}.v2-chip:nth-child(3){background:linear-gradient(100deg,rgba(120,30,225,.75),rgba(62,31,180,.75))}.v2-chip.small{min-height:20px;padding:1px 8px;font-size:9px;background:#17151d;border-color:#5f2470;color:#e588ff}.v2-filter-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.v2-filter-chip{min-height:34px;border:1px solid var(--border-strong);padding:7px 14px;border-radius:999px;background:#07090b;display:inline-flex;align-items:center;gap:7px;font-size:12px;transition:.2s}.v2-filter-chip i{width:7px;height:7px;border-radius:50%;background:var(--dot,#ff6a00)}.v2-filter-chip:hover{border-color:#444}.v2-filter-chip.active{background:linear-gradient(110deg,#ff7700,#ff3131);border-color:transparent;box-shadow:0 7px 18px rgba(255,60,0,.2)}.v2-outline-button,.v2-wide-outline,.v2-mini-button{border:1px solid var(--border-strong);background:#0d1114;color:#fff;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:8px 20px;cursor:pointer}.v2-outline-button:hover,.v2-wide-outline:hover{border-color:#555;background:#12171a}.v2-outline-button.icon .ui-icon{width:17px}.v2-wide-outline{width:100%;font-size:12px;margin-top:14px}.v2-mini-button{min-height:31px;padding:5px 13px;border-radius:8px;font-size:10px}.v2-circle-more{width:43px;height:43px;border-radius:50%;border:1px solid var(--border-strong);background:#0d1114;color:#fff;display:grid;place-items:center;cursor:pointer}.v2-circle-more .ui-icon{width:18px}
.v2-home-hero{min-height:272px;border:1px solid var(--border);border-radius:18px;overflow:hidden;position:relative;display:grid;grid-template-columns:300px 1fr;align-items:center;padding:18px 38px;background:#090b0d;isolation:isolate}.v2-home-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(4,5,6,.98) 0%,rgba(5,6,8,.86) 39%,rgba(5,6,8,.28) 77%,rgba(3,4,5,.55) 100%),var(--hero-bg);background-size:cover;background-position:center;filter:saturate(.85) contrast(1.05);z-index:-2}.v2-home-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 45%,rgba(235,22,94,.18),transparent 32%),linear-gradient(90deg,transparent 50%,rgba(255,72,0,.06));z-index:-1}.v2-home-cover{width:258px;aspect-ratio:1;border:1px solid rgba(255,112,0,.85);border-radius:13px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.42)}.v2-home-cover img{width:100%;height:100%;object-fit:cover}.v2-home-hero-copy{padding-left:18px;max-width:750px}.v2-home-hero-copy h1{font-size:40px;line-height:1.04;margin:3px 0 8px;letter-spacing:-.035em}.v2-hero-dj{font-size:26px;color:#d5d6d8;letter-spacing:.02em}.hero-chips{margin:12px 0 18px}.v2-hero-actions{display:flex;align-items:center;gap:20px}.v2-hero-play,.v2-play-button{border:0;color:white;background:var(--accent);cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 26px rgba(255,22,95,.2)}.v2-hero-play{width:58px;height:58px;border-radius:50%}.v2-hero-play .ui-icon{width:27px}.v2-play-button{width:40px;height:40px;border-radius:50%;position:absolute;right:13px;bottom:14px}.v2-play-button.small{width:35px;height:35px;right:10px;bottom:10px}.v2-play-button.no-audio{opacity:.75}.v2-hero-dots{position:absolute;right:31px;bottom:20px;display:flex;gap:13px}.v2-hero-dots span{width:7px;height:7px;border-radius:50%;background:#5d6266}.v2-hero-dots .active{background:#ff6a00}
.v2-cover-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.v2-mix-card{min-width:0;position:relative}.v2-mix-cover{display:block;aspect-ratio:1.22/1;position:relative;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#101418}.v2-mix-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:.28s}.v2-mix-card:hover .v2-mix-cover img{transform:scale(1.035)}.v2-duration{position:absolute;right:7px;bottom:6px;background:rgba(0,0,0,.82);padding:1px 5px;border-radius:5px;font-size:9px}.v2-mix-card-body{position:relative;padding:8px 6px 4px 6px;min-height:116px}.v2-mix-card h3{font-size:12px;line-height:1.25;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:40px}.v2-mix-card .v2-muted{font-size:10px;text-transform:uppercase;display:block;margin-bottom:5px}.v2-mix-card-meta{display:flex;gap:12px;color:#9da2a5;font-size:9px;margin:5px 0}.v2-mix-card .v2-chip-line{padding-right:38px}.v2-cover-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#31113d,#090c0f 72%);font-weight:900;letter-spacing:.08em;color:#ff4f73}
.home-recent .v2-mix-card-body{min-height:75px}.home-recent .v2-mix-card-meta,.home-recent .v2-chip-line,.home-recent .v2-play-button{display:none}.v2-home-lower{display:grid;grid-template-columns:1.05fr .88fr 1fr;gap:14px;margin-top:12px}.v2-mini-genre-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.v2-mini-genre{aspect-ratio:1.22;border:1px solid var(--border);border-radius:8px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:9px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72)),var(--bg,linear-gradient(135deg,#24102a,#0b0f12));background-size:cover;background-position:center}.v2-mini-genre:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,color-mix(in srgb,var(--genre) 32%,transparent));opacity:.58}.v2-mini-genre span{position:relative;z-index:1;font-weight:900;font-style:italic;font-size:12px;text-shadow:0 2px 10px #000;color:var(--genre)}.v2-mini-chart{display:grid;gap:3px}.v2-mini-chart-row{min-height:44px;display:grid;grid-template-columns:26px 34px minmax(0,1fr) 64px 30px;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.07)}.v2-mini-chart-row>b{color:#ff6500;font-size:16px}.v2-mini-chart-cover{width:32px;height:32px;border-radius:4px;overflow:hidden}.v2-mini-chart-cover img{width:100%;height:100%;object-fit:cover}.v2-mini-chart-row>div{display:grid;min-width:0}.v2-mini-chart-row>div a{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-mini-chart-row>div span{color:var(--muted);font-size:9px}.v2-mini-chart-row>strong{font-size:9px;color:#999;text-align:right}.v2-icon-play{width:30px;height:30px;border-radius:50%;border:1px solid #73787c;background:#0c0f11;color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.v2-icon-play .ui-icon{width:15px}.v2-icon-play.is-playing{border-color:#ff4d44;background:#191012;color:#ff6e68}.v2-home-dj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v2-home-djs .v2-dj-card{border:0;padding:4px;background:transparent}.v2-home-djs .v2-dj-card .v2-follow-button{display:none}.v2-home-djs .v2-dj-card .v2-dj-photo{width:92px;height:92px}.v2-home-djs .v2-dj-card h3{font-size:12px}.v2-home-djs .v2-dj-stats{gap:10px}
.v2-banner-hero{min-height:216px;border:1px solid var(--border);border-radius:16px;overflow:hidden;position:relative;padding:26px 34px;display:flex;flex-direction:column;justify-content:center;background:#080a0c;isolation:isolate}.v2-banner-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(4,5,7,.98) 0%,rgba(5,6,8,.83) 48%,rgba(5,5,7,.18) 86%),var(--hero-bg);background-size:cover;background-position:center 42%;z-index:-2}.v2-banner-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 50%,rgba(255,0,116,.18),transparent 28%);z-index:-1}.v2-banner-hero h1{font-size:43px;line-height:1;margin:0 0 8px;letter-spacing:-.04em}.v2-banner-hero h1 span{background:linear-gradient(90deg,#ff6b00,#ff2767,#bc2aff);-webkit-background-clip:text;background-clip:text;color:transparent}.v2-banner-hero p{font-size:16px;color:#b4b7bb;margin:0 0 20px}.v2-banner-hero small{color:#a4a8ab;margin-top:-10px;margin-bottom:16px}.v2-banner-hero .v2-filter-chips{margin-top:auto}.v2-recommended-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.v2-recommended-grid .v2-mix-card{border:1px solid var(--border);border-radius:10px;background:#0c1012;overflow:hidden}.v2-recommended-grid .v2-mix-cover{border:0;border-radius:0;aspect-ratio:1.28}.v2-recommended-grid .v2-mix-card-body{padding:10px 10px 8px}.v2-row-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v2-mix-row{min-height:106px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(145deg,#0c1013,#080b0d);display:grid;grid-template-columns:110px minmax(0,1fr) auto auto 46px;align-items:center;gap:11px;padding:0 10px 0 0;position:relative;overflow:hidden}.v2-mix-row-cover{height:100%;min-height:104px;background:#111;display:block}.v2-mix-row-cover img{width:100%;height:100%;object-fit:cover}.v2-mix-row-main{display:grid;min-width:0}.v2-mix-row-main strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-mix-row-main .v2-muted{font-size:10px;margin:2px 0 8px}.v2-row-stat{font-size:10px;color:#a4a8ab;white-space:nowrap}.v2-mix-row .v2-play-button{position:static}.v2-sort-pill{border:1px solid var(--border);border-radius:999px;padding:7px 12px;color:#b4b7ba;font-size:10px}.v2-sort-pill strong{color:#fff;margin:0 8px}.v2-pagination{display:flex;justify-content:center;gap:10px;margin-top:18px}.v2-pagination>*{border:1px solid var(--border);border-radius:999px;padding:7px 14px}.v2-pagination span{background:#ff5414;border-color:#ff5414}.v2-trends-panel{padding:18px}.v2-stat-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0 14px}.v2-stat-pair>div{min-height:88px;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px;background:rgba(4,6,7,.34);display:flex;flex-direction:column;align-items:flex-start}.v2-stat-pair span{font-size:9px;color:#979b9e}.v2-stat-pair strong{font-size:21px;line-height:1.25;margin:4px 0}.v2-stat-pair em,.v2-chart-row em{font-style:normal;font-size:10px}.up{color:#1fd96e!important}.down{color:#ff4b55!important}.v2-stat-pair small{font-size:9px;color:#70757a;margin-top:3px}.v2-side-ranking{display:grid;gap:2px}.v2-side-ranking>div{display:grid;grid-template-columns:20px 38px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05)}.v2-side-ranking>div>b{color:#ff6900}.v2-side-cover{width:36px;height:36px;border-radius:5px;overflow:hidden}.v2-side-cover img{width:100%;height:100%;object-fit:cover}.v2-side-ranking>div>span{display:grid;min-width:0}.v2-side-ranking>div>span a{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-side-ranking>div>span small{color:#92979a;font-size:9px}.v2-side-ranking>div>strong{font-size:9px;color:#a0a4a7}
.v2-top-djs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:12px}.v2-dj-card{position:relative;border:1px solid var(--border);border-radius:16px;background:radial-gradient(circle at 50% 20%,rgba(142,29,220,.16),transparent 44%),linear-gradient(150deg,#101317,#090c0e);padding:14px;text-align:center;min-width:0;overflow:hidden}.v2-dj-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 13%,rgba(255,20,121,.12),transparent 28%);pointer-events:none}.v2-rank-badge{position:absolute;left:12px;top:12px;border-radius:999px;background:linear-gradient(100deg,#ff7a00,#ff3e16);padding:5px 9px;font-size:10px;font-weight:800;z-index:2}.v2-dj-card:nth-child(2) .v2-rank-badge{background:linear-gradient(100deg,#8419de,#bd23fa)}.v2-dj-card:nth-child(3) .v2-rank-badge{background:linear-gradient(100deg,#dc1a70,#ff4c96)}.v2-dj-card:nth-child(4) .v2-rank-badge{background:#49305e}.v2-dj-photo{width:112px;height:112px;border-radius:50%;margin:2px auto 10px;display:grid;place-items:center;position:relative;z-index:1;background:linear-gradient(#111,#111) padding-box,var(--accent) border-box;border:2px solid transparent;overflow:hidden}.v2-dj-photo img{width:100%;height:100%;object-fit:cover}.v2-dj-photo span{font-size:24px;font-weight:900}.v2-dj-card h3{font-size:17px;margin:5px 0 0}.v2-dj-card p{margin:2px 0 11px;color:var(--muted);font-size:10px}.v2-dj-stats{display:flex;justify-content:center;gap:38px;padding:10px 0;border-top:1px solid rgba(255,255,255,.06)}.v2-dj-stats span{display:grid}.v2-dj-stats strong{font-size:14px}.v2-dj-stats small{font-size:8px;color:#8d9296}.v2-follow-button{display:flex;justify-content:center;border:1px solid #b129ff;border-radius:999px;padding:7px;margin-top:4px;font-size:10px}.v2-top-djs-grid .v2-dj-card:first-child{border-color:#ff7000;box-shadow:0 0 0 1px rgba(255,112,0,.18)}.v2-top-djs-grid .v2-dj-card:first-child .v2-follow-button{background:var(--accent);border-color:transparent}.v2-dj-card.small{padding:10px}.v2-dj-card.small .v2-dj-photo{width:82px;height:82px}.v2-dj-card.small h3{font-size:12px}.v2-dj-card.small .v2-dj-stats{gap:16px}.v2-dj-card.small .v2-dj-stats strong{font-size:11px}.v2-split-panels{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.v2-emerging-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.v2-emerging-grid .v2-dj-card .v2-dj-stats{display:none}.v2-emerging-grid .v2-dj-card .v2-dj-photo{width:72px;height:72px}.v2-emerging-grid .v2-dj-card p{margin-bottom:5px}.v2-emerging-grid .v2-follow-button{font-size:9px;padding:5px}.v2-chart-table{display:grid}.v2-chart-row{min-height:48px;display:grid;grid-template-columns:26px 36px minmax(0,1fr) 105px 65px 30px;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.07)}.v2-chart-row>b{font-size:18px;color:#ff6600}.v2-chart-cover{width:34px;height:34px;border-radius:5px;overflow:hidden}.v2-chart-cover img{width:100%;height:100%;object-fit:cover}.v2-chart-title{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-chart-row>span{font-size:9px;color:#a8abad}.v2-chart-row>strong{font-size:10px;text-align:right}.v2-week-panel h4{margin:18px 0 8px}.v2-genre-ranking{display:grid;gap:2px}.v2-genre-ranking>div{display:grid;grid-template-columns:22px 90px minmax(70px,1fr) 32px;align-items:center;gap:7px;min-height:38px}.v2-genre-ranking b{color:#ff6800}.v2-genre-ranking span{font-size:11px}.v2-genre-ranking i{height:4px;background:#202427;border-radius:99px;overflow:hidden}.v2-genre-ranking u{display:block;height:100%;border-radius:99px}.v2-genre-ranking strong{font-size:10px;text-align:right}.v2-genre-ranking.large>div{min-height:39px}
.v2-genre-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v2-genre-card{aspect-ratio:1.02;position:relative;border-radius:12px;border:1px solid var(--border);overflow:hidden;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;background-image:linear-gradient(180deg,rgba(3,4,5,.05),rgba(3,4,5,.88)),var(--genre-bg,radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--genre) 32%,#121212),#080a0c));background-size:cover;background-position:center}.v2-genre-card:before{content:"";position:absolute;inset:0;box-shadow:inset 0 -4px 0 var(--genre);opacity:.8}.v2-genre-glow{position:absolute;width:70%;height:70%;left:15%;top:2%;background:radial-gradient(circle,var(--genre),transparent 65%);filter:blur(28px);opacity:.14}.v2-genre-name{position:relative;font-size:15px;font-weight:800}.v2-genre-count{position:relative;color:#b4b7ba;font-size:10px;margin-top:2px}.v2-genre-go{position:absolute;right:10px;bottom:10px;width:27px;height:27px;border:1px solid #92979b;border-radius:50%;display:grid;place-items:center}.v2-genre-go .ui-icon{width:12px}.v2-popular-genres{margin-top:14px}.v2-popular-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.v2-mix-compact{border:1px solid var(--border);border-radius:9px;background:#0c1012;display:grid;grid-template-columns:72px minmax(0,1fr) 30px;align-items:center;gap:8px;min-height:74px;padding:4px;overflow:hidden}.v2-mix-compact-cover{width:70px;height:64px;border-radius:6px;overflow:hidden}.v2-mix-compact-cover img{width:100%;height:100%;object-fit:cover}.v2-mix-compact-copy{min-width:0;display:grid}.v2-mix-compact-copy strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-mix-compact-copy .v2-muted{font-size:8px}.v2-micro-meta{font-size:8px;color:#888}.v2-mix-compact .v2-icon-play{width:25px;height:25px}.v2-side-djs{margin-top:0}.v2-side-dj{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.v2-side-dj img,.v2-side-dj>span,.v2-side-dj .fallback{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#15191c;display:grid;place-items:center}.v2-side-dj>div{display:grid}.v2-side-dj>div strong{font-size:11px}.v2-side-dj>div small{color:var(--muted);font-size:9px}.v2-side-dj>em{font-style:normal;border:1px solid #a41bbf;border-radius:999px;padding:3px 8px;color:#ff76e6;font-size:8px}
.v2-top-controls{display:flex;gap:44px;align-items:center;margin-top:2px}.v2-period-tabs{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#07090b}.v2-period-tabs a{padding:8px 19px;font-size:10px;border-right:1px solid var(--border)}.v2-period-tabs a:last-child{border-right:0}.v2-period-tabs a.active{background:linear-gradient(90deg,#ff7700,#ff3b14);color:#fff}.v2-top-table{padding:7px 14px}.v2-chart-head,.v2-chart-row.full{display:grid;grid-template-columns:42px minmax(260px,1.4fr) 150px 130px 130px 100px 34px;gap:8px;align-items:center}.v2-chart-head{height:34px;color:#7e8387;font-size:8px;border-bottom:1px solid rgba(255,255,255,.07)}.v2-chart-row.full{min-height:52px}.v2-chart-row.full>b{font-size:16px}.v2-chart-mix{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;min-width:0}.v2-chart-mix>a:last-child{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-table-dj{font-size:10px;color:#b7babd}.v2-chart-row.full>span,.v2-chart-row.full>strong,.v2-chart-row.full>em{font-size:10px}.v2-climbers{margin-top:12px}.v2-climber-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.v2-section-head.sub{padding-top:10px}.v2-side-topdjs{margin-top:0}.v2-side-dj.rank{grid-template-columns:24px 45px minmax(0,1fr) 48px 64px}.v2-side-dj.rank>b{color:#ff6500;border:1px solid #ff6500;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:9px}.v2-side-dj.rank em{border:0;padding:0;color:#fff;display:grid;text-align:right}.v2-side-dj.rank em strong{font-size:10px}.v2-side-dj.rank em small{font-size:7px;color:#8c9195}
.v2-mix-detail-page{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px}.v2-detail-main{min-width:0}.v2-detail-hero{display:grid;grid-template-columns:340px minmax(0,1fr);gap:34px;align-items:center;padding:0 2px}.v2-detail-cover{aspect-ratio:1;border:1px solid #ff6a00;border-radius:12px;overflow:hidden;background:#0c1012;box-shadow:0 20px 45px rgba(0,0,0,.35)}.v2-detail-cover img{width:100%;height:100%;object-fit:cover}.v2-detail-copy h1{font-size:40px;line-height:1.05;margin:2px 0 7px;letter-spacing:-.035em;max-width:770px}.v2-detail-dj{font-size:25px;color:#d2d4d7}.v2-detail-dj span,.v2-dj-summary h3 span{color:#bd21ff;font-size:13px}.v2-detail-stats{display:flex;gap:23px;color:#a1a5a8;font-size:11px;margin:19px 0 15px}.v2-detail-actions{display:flex;align-items:center;gap:12px}.v2-detail-actions .v2-hero-play{margin-right:5px}.v2-waveform{height:98px;border:1px solid var(--border);border-radius:12px;margin-top:22px;background:#0a0d0f;position:relative;display:flex;align-items:center;padding:0 22px;--played:0%}.v2-wave-bars{height:62px;width:100%;display:flex;align-items:center;gap:2px;overflow:hidden}.v2-wave-bars i{width:3px;height:var(--h);background:#60666a;border-radius:2px;flex:1;opacity:.65}.v2-wave-bars:before{content:"";position:absolute;left:22px;top:18px;bottom:18px;width:calc((100% - 44px) * var(--played)/100);background:linear-gradient(90deg,#ff6900,#ff196b,#ba23ff);mix-blend-mode:screen;opacity:.95;pointer-events:none}.v2-waveform input{position:absolute;left:20px;right:20px;width:calc(100% - 40px);height:70px;opacity:0;cursor:pointer}.v2-wave-time{position:absolute;bottom:8px;font-size:10px;z-index:2}.v2-wave-time.current{left:20px;color:#ff6800}.v2-wave-time.total{right:20px}.v2-detail-bottom{display:grid;grid-template-columns:1.15fr .62fr;gap:20px;margin-top:14px}.v2-tracklist-panel{padding:11px 16px}.v2-tracklist .extra{display:none}.v2-tracklist.expanded .extra{display:grid}.v2-track-row{min-height:55px;display:grid;grid-template-columns:24px 42px minmax(0,1fr) 45px 34px 18px;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.06)}.v2-track-row>b{color:#aeb1b4;font-size:11px}.v2-track-cover{width:40px;height:40px;border-radius:5px;overflow:hidden}.v2-track-cover img{width:100%;height:100%;object-fit:cover}.v2-track-row>span{display:grid;min-width:0}.v2-track-row>span strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-track-row>span small{color:var(--muted);font-size:8px}.v2-track-row>em{font-style:normal;color:#a3a7aa;font-size:9px;text-align:right}.v2-track-row .v2-icon-play{width:28px;height:28px}.v2-track-more{background:transparent;border:0;color:#858a8e;font-size:18px;cursor:pointer}.v2-detail-info-column{display:grid;gap:14px;align-content:start}.v2-description-block{padding:8px 2px}.v2-description-block h2{font-size:15px;margin:0 0 4px}.v2-description-block p{font-size:12px;color:#d0d2d4;margin:0;white-space:normal}.v2-dj-summary{padding:12px}.v2-dj-summary-top{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center}.v2-dj-summary-photo{width:70px;height:70px;border-radius:50%;overflow:hidden;background:linear-gradient(#111,#111) padding-box,var(--accent) border-box;border:2px solid transparent;display:grid;place-items:center}.v2-dj-summary-photo img{width:100%;height:100%;object-fit:cover}.v2-dj-summary-top h3{font-size:14px;margin:0}.v2-dj-summary-top p{color:var(--muted);font-size:9px;margin:2px 0}.v2-dj-summary-top i{font-style:normal;background:#8b21e6;padding:2px 7px;border-radius:999px;font-size:7px}.v2-dj-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:9px 0;border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.v2-dj-summary-stats span{display:grid;text-align:center}.v2-dj-summary-stats strong{font-size:13px}.v2-dj-summary-stats small{font-size:7px;color:#91969a}.v2-detail-related{position:sticky;top:94px;padding:14px;height:max-content}.v2-related-list{display:grid}.v2-related-item{display:grid;grid-template-columns:76px minmax(0,1fr) 32px 12px;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}.v2-related-cover{width:74px;height:64px;border-radius:5px;overflow:hidden}.v2-related-cover img{width:100%;height:100%;object-fit:cover}.v2-related-item>div{display:grid;min-width:0}.v2-related-item>div strong{font-size:10px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v2-related-item>div span{color:#b4b7ba;font-size:9px}.v2-related-item>div small{color:#808589;font-size:8px}.v2-related-item .v2-icon-play{width:30px;height:30px}
.v2-profile-hero{min-height:280px;border:1px solid var(--border);border-radius:18px;padding:30px 46px;display:flex;align-items:center;gap:28px;position:relative;overflow:hidden;isolation:isolate}.v2-profile-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,4,5,.96),rgba(5,6,8,.72),rgba(4,5,6,.25)),var(--hero-bg);background-size:cover;background-position:center;z-index:-2}.v2-profile-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 50%,rgba(209,31,255,.15),transparent 30%);z-index:-1}.v2-profile-avatar{width:180px;height:180px;border-radius:50%;border:3px solid transparent;background:linear-gradient(#111,#111) padding-box,var(--accent) border-box;overflow:hidden;display:grid;place-items:center;flex:0 0 auto}.v2-profile-avatar img{width:100%;height:100%;object-fit:cover}.v2-profile-avatar span{font-size:42px;font-weight:900}.v2-profile-hero h1{font-size:42px;margin:0}.v2-profile-hero p{max-width:650px;color:#c7c9cb}.v2-profile-stats{display:flex;gap:20px;color:#aeb1b4}.v2-profile-stats strong{color:#fff;font-size:18px}.genre-profile{border-bottom-color:var(--genre)}
.v2-global-player{position:fixed;z-index:110;left:0;right:0;bottom:0;height:var(--player-h);background:rgba(10,13,15,.97);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.10);display:grid;grid-template-columns:minmax(300px,.9fr) 260px minmax(320px,1.2fr) 260px;align-items:center;gap:18px;padding:8px 22px;box-shadow:0 -14px 40px rgba(0,0,0,.25)}.v2-player-track{display:grid;grid-template-columns:54px minmax(0,1fr) 36px 26px;align-items:center;gap:10px;min-width:0}.v2-player-cover{width:52px;height:52px;border-radius:5px;overflow:hidden;background:#15191c}.v2-player-cover img{width:100%;height:100%;object-fit:cover}.v2-player-copy{display:grid;min-width:0}.v2-player-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-player-copy span{font-size:10px;color:#aaaeb1}.v2-player-controls{display:flex;align-items:center;justify-content:center;gap:13px}.v2-player-action{border:0;background:transparent;color:#babdc0;display:grid;place-items:center;cursor:pointer;padding:4px}.v2-player-action.active,.v2-player-action.is-favorite{color:#ff3b79}.v2-player-main{width:48px;height:48px;border-radius:50%;border:2px solid transparent;background:linear-gradient(#0b0e10,#0b0e10) padding-box,var(--accent) border-box;color:#fff;display:grid;place-items:center;cursor:pointer}.v2-player-main .ui-icon{width:22px}.v2-player-progress{display:grid;grid-template-columns:42px minmax(120px,1fr) 42px;align-items:center;gap:10px;color:#999da1;font-size:9px}.v2-player-progress input,.v2-player-volume input{appearance:none;height:4px;border-radius:99px;background:linear-gradient(90deg,#ff6500 0%,#ff186e 48%,#2c3033 48%);outline:0}.v2-player-progress input::-webkit-slider-thumb,.v2-player-volume input::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border-radius:50%;background:white;box-shadow:0 0 6px rgba(255,255,255,.5)}.v2-player-volume{display:grid;grid-template-columns:24px minmax(70px,1fr) 28px;align-items:center;gap:8px}.v2-player-volume .ui-icon{width:18px}.v2-player-queue{font-size:20px;color:#969b9e}.v2-flashes{position:fixed;right:18px;top:90px;z-index:140;display:grid;gap:8px}.v2-flash{background:#101418;border:1px solid var(--border);border-radius:10px;padding:10px 14px;box-shadow:var(--shadow)}
@media(max-width:1280px){.v2-header{grid-template-columns:200px minmax(250px,360px) 1fr auto;gap:16px}.v2-logo{width:180px}.v2-nav{gap:18px}.v2-two-column-page{grid-template-columns:minmax(0,1fr) 320px}.v2-cover-grid{grid-template-columns:repeat(5,1fr)}.v2-home-lower{grid-template-columns:1fr 1fr}.v2-home-djs{grid-column:1/-1}.v2-home-dj-grid{grid-template-columns:repeat(3,1fr)}.v2-global-player{grid-template-columns:minmax(240px,.8fr) 230px 1fr 190px}.v2-genre-card-grid{grid-template-columns:repeat(4,1fr)}.v2-top-controls{gap:18px}.v2-chart-head,.v2-chart-row.full{grid-template-columns:36px minmax(220px,1.4fr) 120px 110px 105px 90px 32px}}
@media(max-width:1024px){:root{--header-h:66px;--player-h:82px}.v2-header{grid-template-columns:180px 1fr auto;padding:0 16px}.v2-search-wrap{display:none}.v2-nav{display:none}.v2-admin-pill strong,.v2-admin-pill b{display:none}.v2-admin-pill{padding-right:4px}.v2-mobile-menu{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);background:#0b0e10;color:white;border-radius:10px}.v2-mobile-nav{position:fixed;z-index:99;right:16px;top:72px;width:220px;border:1px solid var(--border);border-radius:14px;background:#0b0e11;padding:8px;box-shadow:var(--shadow)}.v2-mobile-nav.open{display:grid}.v2-mobile-nav a{padding:10px 12px;border-radius:8px}.v2-mobile-nav a.active{background:#171114;color:#ff6a00}.v2-page{width:min(100% - 28px,1000px);margin-top:14px}.v2-two-column-page,.v2-mix-detail-page{grid-template-columns:1fr}.v2-right-column,.v2-detail-related{position:static}.v2-recommended-grid{grid-template-columns:repeat(4,1fr)}.v2-cover-grid{grid-template-columns:repeat(4,1fr)}.v2-home-hero{grid-template-columns:240px 1fr;padding:16px 24px}.v2-home-cover{width:220px}.v2-home-hero-copy h1{font-size:33px}.v2-home-lower{grid-template-columns:1fr}.v2-top-djs-grid{grid-template-columns:repeat(4,1fr)}.v2-dj-photo{width:94px;height:94px}.v2-split-panels{grid-template-columns:1fr}.v2-genre-card-grid{grid-template-columns:repeat(4,1fr)}.v2-popular-strip{grid-template-columns:repeat(3,1fr)}.v2-detail-related{display:none}.v2-detail-hero{grid-template-columns:280px 1fr}.v2-detail-copy h1{font-size:34px}.v2-detail-bottom{grid-template-columns:1fr}.v2-global-player{grid-template-columns:minmax(200px,.8fr) 200px 1fr 140px;gap:8px;padding:8px 12px}.v2-player-more,.v2-player-controls>[data-player-shuffle],.v2-player-controls>[data-player-repeat]{display:none}.v2-player-volume{grid-template-columns:20px 1fr}.v2-player-queue{display:none}}
@media(max-width:760px){body.public-v2{padding-bottom:72px}.v2-header{grid-template-columns:150px 1fr auto}.v2-logo{width:145px}.v2-admin-pill{justify-self:end}.v2-page{width:calc(100% - 20px);margin-top:10px}.v2-home-hero{grid-template-columns:120px 1fr;min-height:190px;padding:12px;gap:10px}.v2-home-cover{width:120px}.v2-home-hero-copy{padding-left:0}.v2-home-hero-copy h1{font-size:23px}.v2-hero-dj{font-size:16px}.hero-chips{margin:7px 0 10px}.v2-hero-play{width:44px;height:44px}.v2-outline-button{min-height:36px;padding:6px 14px}.v2-cover-grid,.v2-recommended-grid{display:flex;overflow:auto;gap:10px;padding-bottom:5px}.v2-cover-grid .v2-mix-card,.v2-recommended-grid .v2-mix-card{min-width:168px}.v2-section-head h2{font-size:15px}.v2-home-lower{gap:10px}.v2-mini-genre-grid{grid-template-columns:repeat(2,1fr)}.v2-home-dj-grid{display:flex;overflow:auto}.v2-home-dj-grid .v2-dj-card{min-width:130px}.v2-banner-hero{min-height:210px;padding:22px 18px}.v2-banner-hero h1{font-size:34px}.v2-banner-hero p{font-size:13px}.v2-filter-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:3px}.v2-filter-chip{white-space:nowrap}.v2-row-grid{grid-template-columns:1fr}.v2-mix-row{grid-template-columns:86px minmax(0,1fr) 38px;min-height:88px}.v2-mix-row-cover{min-height:86px}.v2-row-stat{display:none}.v2-top-djs-grid{display:flex;overflow:auto}.v2-top-djs-grid .v2-dj-card{min-width:190px}.v2-emerging-grid{display:flex;overflow:auto}.v2-emerging-grid .v2-dj-card{min-width:130px}.v2-genre-card-grid{grid-template-columns:repeat(2,1fr)}.v2-popular-strip{display:flex;overflow:auto}.v2-popular-strip .v2-mix-compact{min-width:245px}.v2-top-controls{display:grid;gap:10px}.v2-top-table{overflow:auto}.v2-chart-head,.v2-chart-row.full{min-width:840px}.v2-climber-grid{display:flex;overflow:auto}.v2-climber-grid .v2-mix-compact{min-width:245px}.v2-detail-hero{grid-template-columns:1fr;gap:16px}.v2-detail-cover{width:min(82vw,340px);margin:auto}.v2-detail-copy{text-align:center}.v2-detail-copy h1{font-size:30px}.v2-detail-dj{font-size:18px}.v2-detail-copy .v2-chip-line,.v2-detail-actions,.v2-detail-stats{justify-content:center}.v2-detail-stats{flex-wrap:wrap;gap:10px}.v2-detail-actions .v2-outline-button span{display:none}.v2-detail-actions .v2-outline-button{width:42px;padding:0}.v2-waveform{height:80px}.v2-track-row{grid-template-columns:20px 38px minmax(0,1fr) 30px 12px}.v2-track-row>em{display:none}.v2-profile-hero{padding:24px 18px;display:grid;text-align:center}.v2-profile-avatar{width:130px;height:130px;margin:auto}.v2-profile-hero h1{font-size:32px}.v2-profile-stats{justify-content:center}.v2-global-player{height:72px;grid-template-columns:minmax(0,1fr) 128px;gap:6px;padding:6px 10px}.v2-player-track{grid-template-columns:48px minmax(0,1fr) 30px}.v2-player-cover{width:46px;height:46px}.v2-player-more{display:none}.v2-player-controls{gap:7px}.v2-player-controls>[data-player-prev],.v2-player-controls>[data-player-next]{display:none}.v2-player-main{width:44px;height:44px}.v2-player-progress,.v2-player-volume{display:none}.v2-player-copy strong{font-size:11px}.v2-player-copy span{font-size:9px}}
@media(max-width:460px){.v2-header{grid-template-columns:130px 1fr auto;padding:0 10px}.v2-logo{width:128px}.v2-admin-pill{display:none}.v2-home-hero{grid-template-columns:92px 1fr}.v2-home-cover{width:92px}.v2-home-hero-copy h1{font-size:18px}.v2-home-hero-copy .v2-eyebrow{font-size:8px;margin-bottom:4px}.v2-hero-dj{font-size:13px}.v2-home-hero .hero-chips{display:none}.v2-home-hero .v2-outline-button{font-size:10px}.v2-stat-pair{grid-template-columns:1fr 1fr}.v2-banner-hero h1{font-size:30px}.v2-detail-copy h1{font-size:27px}.v2-detail-actions{gap:7px}}

/* ============================================================
   PLENA507 v2.1 — cuentas públicas, selector de tema y covers 16:9
   ============================================================ */
html{color-scheme:dark}html[data-theme="light"]{color-scheme:light}
.v2-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.v2-auth-link{font-size:11px;font-weight:700;color:var(--muted);padding:8px 7px}.v2-auth-link:hover{color:var(--text)}
.v2-register-link{font-size:11px;font-weight:800;min-height:34px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid rgba(255,76,33,.55);border-radius:999px;color:#fff;background:linear-gradient(105deg,rgba(255,102,0,.20),rgba(255,20,120,.14))}.v2-register-link:hover{border-color:#ff5a20}
.v2-member-pill{height:38px;max-width:150px;border:1px solid var(--border);border-radius:999px;padding:0 11px 0 4px;display:flex;align-items:center;gap:8px;background:#090c0e}.v2-member-pill>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900;color:#fff;background:linear-gradient(120deg,#ff6500,#ff126f,#9e20ff)}.v2-member-pill strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-theme-toggle{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:#0a0d0f;color:#f4f4f5;display:grid;place-items:center;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.v2-theme-toggle:hover{transform:translateY(-1px);border-color:rgba(255,101,0,.7)}.v2-theme-toggle .ui-icon{width:18px;height:18px}.theme-icon{display:grid;place-items:center}.theme-moon{display:none}html[data-theme="light"] .theme-sun{display:none}html[data-theme="light"] .theme-moon{display:grid}
.v2-mobile-divider{height:1px;background:var(--border);margin:5px 7px}

/* Every public MIX thumbnail uses 16:9. Images crop, never stretch. */
.v2-mix-cover,.v2-recommended-grid .v2-mix-cover{aspect-ratio:16/9!important}
.v2-home-hero{grid-template-columns:380px minmax(0,1fr)}.v2-home-cover{width:350px;aspect-ratio:16/9!important}.v2-home-cover img{object-fit:cover}
.v2-mix-compact{grid-template-columns:92px minmax(0,1fr) 30px;min-height:60px}.v2-mix-compact-cover{width:90px;height:auto;aspect-ratio:16/9}
.v2-mix-row{grid-template-columns:142px minmax(0,1fr) auto auto 46px;min-height:82px}.v2-mix-row-cover{width:140px;height:auto;min-height:0;aspect-ratio:16/9;align-self:stretch}.v2-mix-row-cover img{display:block}
.v2-side-ranking>div{grid-template-columns:20px 54px minmax(0,1fr) auto}.v2-side-cover{width:52px;height:auto;aspect-ratio:16/9}
.v2-mini-chart-row{grid-template-columns:26px 50px minmax(0,1fr) 64px 30px}.v2-mini-chart-cover{width:48px;height:auto;aspect-ratio:16/9}
.v2-chart-row{grid-template-columns:26px 52px minmax(0,1fr) 105px 65px 30px}.v2-chart-cover{width:50px;height:auto;aspect-ratio:16/9}
.v2-chart-mix{grid-template-columns:52px minmax(0,1fr)}
.v2-detail-hero{grid-template-columns:minmax(360px,520px) minmax(0,1fr)}.v2-detail-cover{aspect-ratio:16/9!important}
.v2-track-row{grid-template-columns:24px 58px minmax(0,1fr) 45px 34px 18px}.v2-track-cover{width:56px;height:auto;aspect-ratio:16/9}
.v2-related-item{grid-template-columns:100px minmax(0,1fr) 32px 12px}.v2-related-cover{width:98px;height:auto;aspect-ratio:16/9}
.v2-player-track{grid-template-columns:76px minmax(0,1fr) 36px 26px}.v2-player-cover{width:74px;height:auto;aspect-ratio:16/9}

/* Authentication */
.v2-auth-page{min-height:calc(100vh - var(--header-h) - var(--player-h) - 40px);display:grid;place-items:center}.v2-auth-shell{width:min(960px,100%);display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.v2-auth-art{min-height:540px;padding:54px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;isolation:isolate;background:radial-gradient(circle at 30% 15%,rgba(209,0,255,.28),transparent 30%),radial-gradient(circle at 85% 65%,rgba(255,66,0,.24),transparent 32%),linear-gradient(145deg,#111020,#07090c);color:#fff}.v2-auth-art:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,20,120,.07));z-index:-1}.v2-auth-art>span{font-size:40px;margin-bottom:auto}.v2-auth-art h1{font-size:38px;line-height:1.04;margin:0 0 12px;letter-spacing:-.04em}.v2-auth-art p{color:#c8c9cf;font-size:14px;max-width:340px;margin:0}.v2-auth-art small{color:#ff9f76;margin-top:13px}.v2-auth-card{padding:46px 50px;display:flex;flex-direction:column;justify-content:center;background:var(--surface)}.v2-auth-brand{display:inline-flex;align-items:center;width:max-content;margin-bottom:25px;text-decoration:none;font-family:"Arial Black","Helvetica Neue",Arial,sans-serif;font-weight:950;font-style:italic;font-size:34px;line-height:1;letter-spacing:-2.6px;transform:skew(-4deg);text-transform:uppercase}.v2-auth-logo-mixes{color:#f7f7f7}.v2-auth-logo-pty{color:#ff2756;margin-left:1px}.v2-auth-brand:hover{opacity:.96}.v2-auth-card h2{font-size:28px;margin:0 0 4px}.v2-auth-card>p{color:var(--muted);margin:0 0 24px;font-size:12px}.v2-field{display:grid;gap:7px;margin-bottom:15px}.v2-field>span{font-size:11px;font-weight:750}.v2-field>small{font-size:9px;color:var(--muted);margin-top:-2px}.v2-field input{width:100%;height:44px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text);outline:0;padding:0 13px}.v2-field input:focus{border-color:#ff5a1f;box-shadow:0 0 0 3px rgba(255,90,31,.08)}.v2-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2-form-error{padding:10px 12px;border:1px solid rgba(255,61,71,.45);background:rgba(255,42,53,.08);color:#ff858c;border-radius:10px;font-size:11px;margin-bottom:15px}.v2-auth-submit{height:44px;border:0;border-radius:10px;color:#fff;font-weight:850;background:linear-gradient(100deg,#ff6900,#ff3340,#ff1478);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px rgba(255,30,90,.14)}.v2-auth-submit.inline{display:inline-flex;width:max-content;padding:0 20px;margin-top:14px}.v2-auth-switch{text-align:center;font-size:11px;color:var(--muted);margin-top:17px}.v2-auth-switch a{color:#ff5c2b;font-weight:800}.v2-account-page{max-width:980px}.v2-account-card{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:18px;padding:28px}.v2-account-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:950;background:linear-gradient(130deg,#ff6500,#ff146f,#8126ff);box-shadow:0 12px 28px rgba(217,23,132,.2)}.v2-account-copy>span{color:#ff6b1d;font-size:9px;font-weight:900;letter-spacing:.08em}.v2-account-copy h1{margin:2px 0;font-size:28px}.v2-account-copy p,.v2-account-copy small{color:var(--muted);margin:0}.v2-account-info{margin-top:14px}.v2-account-info h2{margin:0 0 7px}.v2-account-info p{color:var(--muted);max-width:650px}

/* Light theme — public UI only; heroes keep their dark photographic treatment. */
html[data-theme="light"]{--bg:#f4f5f7;--bg2:#eceff2;--surface:#ffffff;--surface2:#f5f6f8;--surface3:#e9ecef;--border:rgba(16,22,28,.12);--border-strong:rgba(16,22,28,.20);--text:#13171b;--muted:#687078;--shadow:0 18px 48px rgba(26,33,39,.12)}
html[data-theme="light"] body.public-v2{background:radial-gradient(circle at 70% 12%,rgba(192,32,255,.06),transparent 30%),linear-gradient(180deg,#f8f9fa,#eef1f3);color:var(--text)}
html[data-theme="light"] .v2-header{background:rgba(255,255,255,.94);border-bottom-color:rgba(20,24,28,.10);box-shadow:0 7px 26px rgba(20,26,31,.06)}
html[data-theme="light"] .v2-logo{background:#050607;border-radius:11px;padding:5px 9px}
html[data-theme="light"] .v2-nav a{color:#252a2e}html[data-theme="light"] .v2-nav a.active{color:#ff5c00}
html[data-theme="light"] .v2-search,html[data-theme="light"] .v2-theme-toggle,html[data-theme="light"] .v2-admin-pill,html[data-theme="light"] .v2-member-pill{background:#f5f6f8;color:#24292e}
html[data-theme="light"] .v2-search-results{background:#fff}html[data-theme="light"] .v2-search-item:hover{background:#f2f4f6}html[data-theme="light"] .v2-search-item img,html[data-theme="light"] .v2-search-fallback{background:#e9edf0}
html[data-theme="light"] .v2-register-link{color:#cf2a32;background:linear-gradient(105deg,rgba(255,102,0,.08),rgba(255,20,120,.06))}
html[data-theme="light"] .v2-auth-logo-mixes{color:#111316}html[data-theme="light"] .v2-auth-logo-pty{color:#ff2756}
html[data-theme="light"] .v2-panel,html[data-theme="light"] .v2-auth-shell,html[data-theme="light"] .v2-auth-card{background:#fff;box-shadow:0 9px 32px rgba(31,39,46,.07)}
html[data-theme="light"] .v2-mix-card,html[data-theme="light"] .v2-recommended-grid .v2-mix-card,html[data-theme="light"] .v2-mix-compact,html[data-theme="light"] .v2-mix-row,html[data-theme="light"] .v2-dj-card{background:#fff}
html[data-theme="light"] .v2-mix-row{background:linear-gradient(145deg,#fff,#f5f7f8)}
html[data-theme="light"] .v2-filter-chip{background:#fff;color:#22282d}html[data-theme="light"] .v2-filter-chip.active{color:#fff}
html[data-theme="light"] .v2-outline-button,html[data-theme="light"] .v2-wide-outline,html[data-theme="light"] .v2-mini-button,html[data-theme="light"] .v2-circle-more{background:#fff;color:#20262b}
html[data-theme="light"] .v2-icon-play{background:#fff;color:#222;border-color:#949a9f}
html[data-theme="light"] .v2-chip.small{background:#f7effa;color:#8d27a6}
html[data-theme="light"] .v2-row-stat,html[data-theme="light"] .v2-detail-stats,html[data-theme="light"] .v2-micro-meta{color:#666e75}
html[data-theme="light"] .v2-home-hero,html[data-theme="light"] .v2-banner-hero,html[data-theme="light"] .v2-profile-hero{color:#fff}
html[data-theme="light"] .v2-home-hero .v2-muted,html[data-theme="light"] .v2-banner-hero p,html[data-theme="light"] .v2-profile-hero p{color:#d4d7da}
html[data-theme="light"] .v2-detail-dj,html[data-theme="light"] .v2-description-block p{color:#4d555c}
html[data-theme="light"] .v2-waveform{background:#f1f3f5}html[data-theme="light"] .v2-wave-bars i{opacity:.85}
html[data-theme="light"] .v2-track-row,html[data-theme="light"] .v2-related-item,html[data-theme="light"] .v2-mini-chart-row,html[data-theme="light"] .v2-side-ranking>div,html[data-theme="light"] .v2-chart-row{border-bottom-color:rgba(20,25,29,.09)}
html[data-theme="light"] .v2-dj-summary-photo,html[data-theme="light"] .v2-profile-avatar{background:linear-gradient(#fff,#fff) padding-box,var(--accent) border-box}
html[data-theme="light"] .v2-global-player{background:rgba(255,255,255,.97);border-top-color:rgba(25,30,35,.13);box-shadow:0 -12px 34px rgba(30,36,40,.10)}
html[data-theme="light"] .v2-player-action{color:#626a70}html[data-theme="light"] .v2-player-main{background:linear-gradient(#fff,#fff) padding-box,var(--accent) border-box;color:#171b1e}
html[data-theme="light"] .v2-player-cover{background:#e8ecef}html[data-theme="light"] .v2-player-copy span{color:#6b737a}html[data-theme="light"] .v2-player-progress,html[data-theme="light"] .v2-player-volume{color:#687078}
html[data-theme="light"] .v2-flash{background:#fff}
html[data-theme="light"] .v2-mobile-nav{background:#fff}html[data-theme="light"] .v2-mobile-nav a.active{background:#fff3ec}

@media(max-width:1200px){.v2-auth-link,.v2-register-link{display:none}.v2-header{gap:16px;grid-template-columns:210px minmax(250px,360px) 1fr auto}.v2-home-hero{grid-template-columns:330px 1fr}.v2-home-cover{width:300px}.v2-detail-hero{grid-template-columns:minmax(320px,430px) minmax(0,1fr)}}
@media(max-width:1024px){.v2-header{grid-template-columns:180px 1fr auto;padding:0 16px}.v2-member-pill strong{display:none}.v2-member-pill{padding-right:4px}.v2-home-hero{grid-template-columns:290px 1fr}.v2-home-cover{width:265px}.v2-detail-hero{grid-template-columns:360px 1fr}.v2-mix-row{grid-template-columns:132px minmax(0,1fr) 38px}.v2-mix-row-cover{width:130px}.v2-row-stat{display:none}}
@media(max-width:760px){.v2-header{grid-template-columns:145px 1fr auto}.v2-header-actions{gap:5px}.v2-member-pill{display:none}.v2-theme-toggle{width:36px;height:36px}.v2-home-hero{grid-template-columns:150px 1fr}.v2-home-cover{width:145px}.v2-mix-row{grid-template-columns:120px minmax(0,1fr) 38px;min-height:70px}.v2-mix-row-cover{width:118px}.v2-detail-hero{grid-template-columns:1fr}.v2-detail-cover{width:min(94vw,560px)!important}.v2-auth-shell{grid-template-columns:1fr}.v2-auth-art{display:none}.v2-auth-card{padding:34px 24px}.v2-account-card{grid-template-columns:72px 1fr}.v2-account-avatar{width:66px;height:66px}.v2-account-card form{grid-column:1/-1}.v2-field-pair{grid-template-columns:1fr}.v2-player-track{grid-template-columns:68px minmax(0,1fr) 30px}.v2-player-cover{width:66px}}
@media(max-width:460px){.v2-theme-toggle{display:grid}.v2-admin-pill{display:none}.v2-header-actions{justify-self:end}.v2-home-hero{grid-template-columns:112px 1fr}.v2-home-cover{width:108px}.v2-auth-card{padding:28px 18px}.v2-account-page{width:calc(100% - 20px)}.v2-account-card{padding:18px}}
.v2-search-item.is-mix img{width:64px;height:auto;aspect-ratio:16/9;object-fit:cover}
@media(min-width:1201px){.v2-header{grid-template-columns:210px minmax(260px,360px) 1fr auto;gap:18px}.v2-logo{width:200px}.v2-nav{gap:23px}}

@media(max-width:760px){.v2-auth-brand{font-size:31px;letter-spacing:-2.3px}}

/* PLENA507 V2.3 · branding */
.djspty-wordmark{width:auto!important;display:inline-flex!important;align-items:center;gap:0;font-family:"Arial Black","Helvetica Neue",Arial,sans-serif;font-size:32px;font-weight:950;font-style:italic;letter-spacing:-2.7px;line-height:1;transform:skew(-4deg);white-space:nowrap;background:none!important;padding:0!important;border-radius:0!important}
.djspty-main{color:#f7f7f7}.djspty-pty{color:#ff2756;margin-left:1px}
.v2-auth-logo-djs{color:#f7f7f7}.v2-auth-logo-pty{color:#ff2756;margin-left:1px}
html[data-theme="light"] .djspty-main,html[data-theme="light"] .v2-auth-logo-djs{color:#111316}
html[data-theme="light"] .djspty-pty,html[data-theme="light"] .v2-auth-logo-pty{color:#ff2756}
.v2-mobile-search{height:42px;margin:3px 3px 7px;border:1px solid var(--border);border-radius:11px;background:var(--surface2);display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--muted)}
.v2-mobile-search .ui-icon{width:17px}.v2-mobile-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}
.v2-mobile-search input::placeholder{color:var(--muted)}

/* Image assigned directly to a genre gets priority over mix artwork. */
.v2-genre-card{background-position:center;background-repeat:no-repeat}

/* Mobile refresh: tighter, touch-friendly and without horizontal page overflow. */
@media(max-width:760px){
  :root{--header-h:62px;--player-h:68px}
  html,body{max-width:100%;overflow-x:hidden}
  body.public-v2{padding-bottom:calc(var(--player-h) + env(safe-area-inset-bottom,0px))}
  .v2-header{height:var(--header-h);grid-template-columns:minmax(118px,1fr) auto 40px;gap:7px;padding:0 max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left))}
  .djspty-wordmark{font-size:27px;letter-spacing:-2.3px}
  .v2-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;min-width:0}
  .v2-theme-toggle,.v2-mobile-menu{width:38px;height:38px;border-radius:11px}
  .v2-mobile-menu{display:grid;place-items:center;background:var(--surface2);color:var(--text)}
  .v2-mobile-nav{left:8px;right:8px;top:calc(var(--header-h) + 7px);width:auto;max-height:calc(100dvh - var(--header-h) - var(--player-h) - 22px);overflow:auto;padding:8px;border-radius:15px}
  .v2-mobile-nav a{min-height:43px;display:flex;align-items:center;padding:10px 12px;font-size:13px}
  .v2-main{padding-top:var(--header-h)}
  .v2-page{width:calc(100% - 16px);margin:8px auto 18px}
  .v2-two-column-page,.v2-mix-detail-page,.v2-home-lower,.v2-split-panels{display:grid;grid-template-columns:1fr;gap:10px}
  .v2-panel{padding:12px;border-radius:13px}
  .v2-section{margin-top:13px}.v2-section-head{padding:0 2px 8px;gap:8px}.v2-section-head h2,.v2-section-head h3{font-size:15px}.v2-section-head>a{font-size:10px;white-space:nowrap}

  .v2-home-hero{grid-template-columns:1fr!important;gap:12px;min-height:0;padding:10px;border-radius:14px;align-items:start}
  .v2-home-cover{width:100%!important;max-width:none;aspect-ratio:16/9!important;border-radius:10px}
  .v2-home-hero-copy{padding:0 4px 5px;text-align:left}.v2-home-hero-copy h1{font-size:27px;line-height:1.03;margin-top:1px}.v2-hero-dj{font-size:17px}.hero-chips{margin:8px 0 11px}
  .v2-hero-actions{gap:10px}.v2-hero-play{width:47px;height:47px}.v2-outline-button{min-height:38px;padding:7px 14px}.v2-hero-dots{display:none}

  .v2-banner-hero{min-height:176px;padding:19px 15px;border-radius:14px}.v2-banner-hero h1{font-size:31px}.v2-banner-hero p{font-size:12px;margin-bottom:14px}.v2-banner-hero small{font-size:10px;margin-bottom:12px}
  .v2-filter-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:1px 0 5px;scrollbar-width:none}.v2-filter-chips::-webkit-scrollbar{display:none}.v2-filter-chip{flex:0 0 auto;scroll-snap-align:start;min-height:33px;padding:6px 12px}
  .v2-period-tabs{overflow:auto;scrollbar-width:none}.v2-period-tabs::-webkit-scrollbar{display:none}

  .v2-cover-grid,.v2-recommended-grid,.v2-home-dj-grid,.v2-top-djs-grid,.v2-emerging-grid,.v2-popular-strip,.v2-climber-grid{display:flex!important;overflow-x:auto;gap:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 1px 6px;scrollbar-width:none}.v2-cover-grid::-webkit-scrollbar,.v2-recommended-grid::-webkit-scrollbar,.v2-home-dj-grid::-webkit-scrollbar,.v2-top-djs-grid::-webkit-scrollbar,.v2-emerging-grid::-webkit-scrollbar,.v2-popular-strip::-webkit-scrollbar,.v2-climber-grid::-webkit-scrollbar{display:none}
  .v2-cover-grid .v2-mix-card,.v2-recommended-grid .v2-mix-card{min-width:min(74vw,265px);scroll-snap-align:start}.v2-home-dj-grid .v2-dj-card,.v2-emerging-grid .v2-dj-card{min-width:160px}.v2-top-djs-grid .v2-dj-card{min-width:205px}.v2-popular-strip .v2-mix-compact,.v2-climber-grid .v2-mix-compact{min-width:min(82vw,310px)}
  .v2-mix-card-body{min-height:104px}.v2-mix-card h3{font-size:13px}.v2-mix-card .v2-muted{font-size:10px}

  .v2-row-grid{grid-template-columns:1fr;gap:7px}.v2-mix-row{grid-template-columns:108px minmax(0,1fr) 38px!important;min-height:68px;padding-right:7px;gap:8px}.v2-mix-row-cover{width:106px!important;aspect-ratio:16/9!important}.v2-mix-row .v2-row-stat{display:none}.v2-mix-row .v2-icon-play{width:34px;height:34px}.v2-mix-row h3{font-size:12px}

  .v2-genre-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v2-genre-card{aspect-ratio:1/1;border-radius:11px;padding:11px}.v2-genre-name{font-size:14px}.v2-genre-count{font-size:9px}
  .v2-mini-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}

  .v2-right-column{position:static;gap:10px}.v2-stat-pair{grid-template-columns:1fr 1fr;gap:8px}.v2-stat-pair>div{padding:12px 10px}
  .v2-side-dj{grid-template-columns:40px minmax(0,1fr) auto}.v2-side-dj.rank{grid-template-columns:22px 40px minmax(0,1fr) 54px}.v2-side-dj.rank>em:last-of-type{display:none}

  .v2-top-table{overflow:visible!important;padding:7px}.v2-chart-head{display:none}.v2-chart-row.full{min-width:0!important;display:grid;grid-template-columns:29px minmax(0,1fr) 38px;grid-template-areas:"rank mix play" "rank dj play" "rank genre play" "rank trend play";column-gap:8px;row-gap:2px;padding:9px 4px;border-bottom:1px solid var(--border)}
  .v2-chart-row.full>b{grid-area:rank;align-self:center;font-size:18px;color:#ff6900;text-align:center}.v2-chart-row.full>.v2-chart-mix{grid-area:mix;grid-template-columns:66px minmax(0,1fr);gap:7px}.v2-chart-row.full .v2-chart-cover{width:64px;aspect-ratio:16/9}.v2-chart-row.full>.v2-table-dj{grid-area:dj;font-size:10px;color:var(--muted)}.v2-chart-row.full>span{grid-area:genre}.v2-chart-row.full>strong{display:none}.v2-chart-row.full>em{grid-area:trend;font-size:9px}.v2-chart-row.full>.v2-icon-play{grid-area:play;align-self:center;width:34px;height:34px}

  .v2-detail-hero{grid-template-columns:1fr!important;gap:13px}.v2-detail-cover{width:100%!important;max-width:none;margin:0;aspect-ratio:16/9!important}.v2-detail-copy{text-align:left}.v2-detail-copy h1{font-size:27px}.v2-detail-dj{font-size:17px}.v2-detail-copy .v2-chip-line,.v2-detail-actions,.v2-detail-stats{justify-content:flex-start}.v2-detail-actions{flex-wrap:wrap}.v2-detail-actions .v2-outline-button{width:auto;min-width:41px}.v2-detail-actions .v2-outline-button span{display:inline}.v2-waveform{height:74px}.v2-track-row{grid-template-columns:20px 54px minmax(0,1fr) 31px 12px;padding:8px 1px}.v2-track-cover{width:52px}.v2-track-row>em{display:none}
  .v2-profile-hero{padding:18px 14px;border-radius:14px}.v2-profile-hero h1{font-size:29px}.v2-profile-avatar{width:112px;height:112px}

  .v2-global-player{height:calc(var(--player-h) + env(safe-area-inset-bottom,0px));padding:7px 9px calc(7px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr) 52px!important;gap:7px}.v2-player-track{grid-template-columns:70px minmax(0,1fr) 28px!important;gap:7px}.v2-player-cover{width:68px!important;height:auto;aspect-ratio:16/9!important;border-radius:7px}.v2-player-copy strong{font-size:11px}.v2-player-copy span{font-size:9px}.v2-player-controls{justify-content:flex-end}.v2-player-main{width:44px;height:44px}.v2-player-controls>[data-player-prev],.v2-player-controls>[data-player-next],.v2-player-controls>[data-player-shuffle],.v2-player-controls>[data-player-repeat],.v2-player-progress,.v2-player-volume,.v2-player-queue,.v2-player-more{display:none!important}

  .v2-auth-page{min-height:auto;padding:7px 0 16px}.v2-auth-shell{width:100%;border-radius:15px}.v2-auth-card{padding:28px 18px}.v2-auth-brand{font-size:31px;margin-bottom:20px}.v2-auth-card h2{font-size:25px}.v2-field input{height:46px;font-size:16px}.v2-auth-submit{height:47px}
  .v2-account-card{grid-template-columns:62px minmax(0,1fr);padding:17px;gap:12px}.v2-account-avatar{width:60px;height:60px}.v2-account-copy h1{font-size:22px}.v2-account-card form{grid-column:1/-1;width:100%}
}

@media(max-width:430px){
  .djspty-wordmark{font-size:25px;letter-spacing:-2px}.v2-header{grid-template-columns:minmax(102px,1fr) auto 38px;padding-left:9px;padding-right:9px}.v2-theme-toggle,.v2-mobile-menu{width:36px;height:36px}
  .v2-page{width:calc(100% - 12px)}.v2-panel{padding:10px}.v2-banner-hero{padding:17px 13px}.v2-banner-hero h1{font-size:29px}.v2-home-hero-copy h1{font-size:24px}.v2-hero-dj{font-size:15px}
  .v2-cover-grid .v2-mix-card,.v2-recommended-grid .v2-mix-card{min-width:min(79vw,280px)}.v2-genre-card-grid{gap:7px}.v2-mix-row{grid-template-columns:98px minmax(0,1fr) 34px!important}.v2-mix-row-cover{width:96px!important}.v2-mix-row .v2-icon-play{width:31px;height:31px}
  .v2-stat-pair{grid-template-columns:1fr}.v2-detail-copy h1{font-size:25px}.v2-detail-actions .v2-outline-button span{display:none}.v2-detail-actions .v2-outline-button{width:41px;padding:0}.v2-track-row{grid-template-columns:18px 48px minmax(0,1fr) 28px 10px}.v2-track-cover{width:46px}
}

/* =========================================================
   PLENA507 V2.4 · Mobile app navigation, persistent player,
   home carousel and polished theme controls
   ========================================================= */

/* PTY uses the exact primary design gradient instead of a fixed color. */
.djspty-pty,.v2-auth-logo-pty{
  color:transparent!important;
  background:var(--accent);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* The public site never exposes a direct Admin link. */
.v2-admin-pill{display:none!important}

/* Header helpers. */
.v2-mobile-search-toggle,.v2-account-icon,.v2-mobile-bottom-nav,.v2-mobile-search-panel{display:none}
.v2-theme-toggle [data-theme-icon]{display:grid;place-items:center}
.v2-theme-toggle [data-theme-icon] .ui-icon{width:18px;height:18px}
.v2-account-icon,.v2-mobile-search-toggle{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--surface2);color:var(--text);place-items:center}
.v2-account-icon>span{font-size:10px;font-weight:850}.v2-account-icon .ui-icon,.v2-mobile-search-toggle .ui-icon{width:18px;height:18px}

/* Player title is clickable on mobile but visually remains text on desktop. */
.v2-player-copy{border:0;background:transparent;color:inherit;text-align:left;padding:0;min-width:0;cursor:default}

/* Home hero: the three latest uploaded mixes rotate in one banner. */
.v2-home-carousel{position:relative;min-height:272px}
.v2-home-slides{position:relative}
.v2-home-carousel [data-home-slide]{display:none}
.v2-home-carousel [data-home-slide].active{display:grid;animation:v2HeroFade .34s ease both}
@keyframes v2HeroFade{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.v2-home-carousel .v2-home-hero{grid-template-columns:380px minmax(0,1fr)}
.v2-home-carousel .v2-home-cover{width:350px;aspect-ratio:16/9!important}
.v2-home-carousel .v2-hero-dots{z-index:5;right:50%;transform:translateX(50%);bottom:14px;gap:8px}
.v2-home-carousel .v2-hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#62676c;cursor:pointer;transition:.2s}
.v2-home-carousel .v2-hero-dots button.active{width:24px;border-radius:99px;background:linear-gradient(90deg,#ff6800,#ff186e,#a823ff)}
.v2-hero-arrow{position:absolute;z-index:6;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(5,7,9,.7);backdrop-filter:blur(10px);color:#fff;font-size:25px;line-height:1;cursor:pointer;display:grid;place-items:center;opacity:.8}
.v2-hero-arrow:hover{opacity:1;border-color:rgba(255,100,0,.65)}
.v2-hero-arrow.prev{left:10px}.v2-hero-arrow.next{right:10px}

/* Soft navigation keeps the real <audio> element alive between public pages. */
body.is-soft-loading .v2-main{opacity:.58;transition:opacity .14s ease;pointer-events:none}
.v2-main{transition:opacity .14s ease}

/* Mobile full-screen player is created once and controls the same audio element. */
.v2-mobile-player-sheet{display:none}

@media(max-width:760px){
  :root{--header-h:58px;--player-h:64px;--mobile-nav-h:64px}
  html,body{max-width:100%;overflow-x:hidden}
  body.public-v2{padding-bottom:calc(var(--player-h) + var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + 8px)}
  body.player-sheet-open{overflow:hidden}

  /* Compact top bar: logo + search/account/theme. Main navigation lives below. */
  .v2-header{height:var(--header-h);grid-template-columns:minmax(106px,1fr) auto!important;gap:8px;padding:0 max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left))}
  .djspty-wordmark{font-size:26px!important;letter-spacing:-2.15px!important}
  .v2-search-wrap,.v2-nav,.v2-member-pill,.v2-auth-link,.v2-register-link{display:none!important}
  .v2-header-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:6px}
  .v2-mobile-search-toggle,.v2-account-icon{display:grid}
  .v2-mobile-search-toggle,.v2-account-icon,.v2-theme-toggle{width:36px!important;height:36px!important;border-radius:11px!important}

  .v2-mobile-search-panel{display:block;position:fixed;z-index:145;top:calc(var(--header-h) + 7px);left:8px;right:8px;padding:7px;background:rgba(9,12,14,.97);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);transform:translateY(-8px);opacity:0;visibility:hidden;transition:.18s}
  .v2-mobile-search-panel.open{transform:none;opacity:1;visibility:visible}
  .v2-mobile-search{height:44px;margin:0;background:var(--surface2)}
  .v2-mobile-search input{font-size:16px}
  html[data-theme="light"] .v2-mobile-search-panel{background:rgba(255,255,255,.98)}

  /* Native-app-style bottom menu. */
  .v2-mobile-bottom-nav{display:grid;position:fixed;z-index:125;left:0;right:0;bottom:0;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));padding:5px max(4px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left));grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;background:rgba(8,11,13,.98);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.09);box-shadow:0 -12px 28px rgba(0,0,0,.22)}
  .v2-mobile-bottom-nav a{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#8e9499;font-size:9px;font-weight:700;line-height:1;transition:.18s}
  .v2-mobile-bottom-nav .ui-icon{width:21px;height:21px}
  .v2-mobile-bottom-nav a.active{color:#ff5f12}
  .v2-mobile-bottom-nav a.active .ui-icon{filter:drop-shadow(0 0 8px rgba(255,43,107,.4))}
  .v2-mobile-bottom-nav a.active:before{content:"";position:absolute;top:-5px;width:30px;height:2px;border-radius:999px;background:var(--accent)}
  html[data-theme="light"] .v2-mobile-bottom-nav{background:rgba(255,255,255,.98);border-top-color:rgba(20,25,30,.12)}
  html[data-theme="light"] .v2-mobile-bottom-nav a{color:#697178}html[data-theme="light"] .v2-mobile-bottom-nav a.active{color:#ef4f11}

  /* Mini-player floats directly above bottom navigation. */
  .v2-global-player{z-index:122!important;left:0;right:0;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px))!important;height:var(--player-h)!important;padding:6px 9px!important;grid-template-columns:minmax(0,1fr) 48px!important;gap:6px!important;border-radius:0!important}
  .v2-player-track{grid-template-columns:74px minmax(0,1fr) 28px!important;gap:8px!important}
  .v2-player-cover{width:72px!important;aspect-ratio:16/9!important;border-radius:7px!important}
  .v2-player-copy{cursor:pointer;display:grid;min-width:0}
  .v2-player-copy strong{font-size:11px!important}.v2-player-copy span{font-size:9px!important}
  .v2-player-favorite,.v2-player-more{display:none!important}
  .v2-player-track>[data-player-favorite]{display:none!important}
  .v2-player-controls{justify-content:flex-end!important;gap:0!important}
  .v2-player-main{width:42px!important;height:42px!important}
  .v2-player-controls>[data-player-prev],.v2-player-controls>[data-player-next],.v2-player-controls>[data-player-shuffle],.v2-player-controls>[data-player-repeat],.v2-player-progress,.v2-player-volume,.v2-player-queue,.v2-player-more{display:none!important}

  /* Full-screen mobile player. */
  .v2-mobile-player-sheet{position:fixed;z-index:400;inset:0;background:radial-gradient(circle at 50% 17%,rgba(202,19,145,.22),transparent 29%),linear-gradient(180deg,#0a0d10,#030405 70%);padding:max(18px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;transform:translateY(105%);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s}
  .v2-mobile-player-sheet.open{transform:none;opacity:1;pointer-events:auto}
  .v2-mobile-player-sheet-head{height:44px;display:flex;align-items:center;justify-content:space-between;color:#b7bcc0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
  .v2-mobile-player-sheet-head button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;display:grid;place-items:center}.v2-mobile-player-sheet-head .ui-icon{width:18px}
  .v2-sheet-cover{width:100%;aspect-ratio:16/9;margin:auto 0 20px;border-radius:15px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.46);background:#11161a;display:grid;place-items:center}.v2-sheet-cover img{width:100%;height:100%;object-fit:cover}.v2-sheet-cover>span{font-weight:950;letter-spacing:.05em;color:#777}
  .v2-sheet-copy{display:grid;gap:3px}.v2-sheet-copy strong{font-size:22px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-sheet-copy span{color:#9fa5aa;font-size:13px}
  .v2-sheet-progress{margin:24px 0 20px}.v2-sheet-progress input{appearance:none;width:100%;height:4px;border:0;border-radius:99px;background:linear-gradient(90deg,#ff6500 0%,#ff186e 0%,#2c3033 0%);outline:0}.v2-sheet-progress input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.35)}.v2-sheet-progress>div{display:flex;justify-content:space-between;margin-top:8px;color:#8d9398;font-size:10px}
  .v2-sheet-controls{display:flex;align-items:center;justify-content:center;gap:36px;padding-bottom:12px}.v2-sheet-controls button{border:0;background:transparent;color:#fff;font-size:18px}.v2-sheet-controls .main{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(#07090b,#07090b) padding-box,var(--accent) border-box;border:2px solid transparent}.v2-sheet-controls .main .ui-icon{width:28px}
  html[data-theme="light"] .v2-mobile-player-sheet{background:radial-gradient(circle at 50% 17%,rgba(202,19,145,.10),transparent 29%),linear-gradient(180deg,#fff,#eef1f3 70%);color:#15191d}html[data-theme="light"] .v2-mobile-player-sheet-head button{color:#242a2f;border-color:rgba(20,25,30,.12)}html[data-theme="light"] .v2-sheet-controls button{color:#24292d}html[data-theme="light"] .v2-sheet-controls .main{background:linear-gradient(#fff,#fff) padding-box,var(--accent) border-box}

  /* Home banner and content feel like an app rather than a compressed desktop site. */
  .v2-home-carousel{min-height:0}
  .v2-home-carousel .v2-home-hero{grid-template-columns:1fr!important;gap:10px!important;min-height:0!important;padding:10px!important;padding-bottom:30px!important}
  .v2-home-carousel .v2-home-cover{width:100%!important;max-width:none!important;aspect-ratio:16/9!important}
  .v2-home-carousel .v2-home-hero-copy{padding:0 3px 2px!important}.v2-home-carousel .v2-home-hero-copy h1{font-size:24px!important}.v2-home-carousel .v2-hero-dj{font-size:15px!important}
  .v2-home-carousel .v2-hero-arrow{top:calc(50% - 42px);width:34px;height:34px;font-size:21px}.v2-home-carousel .v2-hero-arrow.prev{left:7px}.v2-home-carousel .v2-hero-arrow.next{right:7px}
  .v2-home-carousel .v2-hero-dots{bottom:9px}

  /* More breathing room and better tap targets throughout mobile. */
  .v2-main{padding-top:var(--header-h)!important}
  .v2-page{width:calc(100% - 14px)!important;margin:8px auto 16px!important}
  .v2-section{margin-top:14px!important}.v2-section-head{padding:0 2px 8px!important}.v2-section-head h2,.v2-section-head h3{font-size:16px!important}
  .v2-filter-chip{min-height:36px!important;padding:7px 13px!important}
  .v2-cover-grid .v2-mix-card,.v2-recommended-grid .v2-mix-card{min-width:min(78vw,290px)!important}
  .v2-mix-card-body{padding-bottom:6px}.v2-mix-card h3{font-size:13px!important}
  .v2-genre-card-grid{gap:9px!important}.v2-genre-card{border-radius:13px!important}
  .v2-detail-actions .v2-outline-button,.v2-hero-actions .v2-outline-button{min-height:40px}
}

@media(max-width:390px){
  .djspty-wordmark{font-size:23px!important}
  .v2-mobile-search-toggle,.v2-account-icon,.v2-theme-toggle{width:34px!important;height:34px!important}
  .v2-header-actions{gap:4px!important}
  .v2-mobile-bottom-nav a{font-size:8px}.v2-mobile-bottom-nav .ui-icon{width:20px;height:20px}
  .v2-player-track{grid-template-columns:67px minmax(0,1fr)!important}.v2-player-cover{width:65px!important}.v2-player-track>[data-player-favorite]{display:none!important}
  .v2-home-carousel .v2-home-hero-copy h1{font-size:21px!important}
}

@media(min-width:761px) and (max-width:1024px){
  .v2-header{grid-template-columns:165px minmax(0,1fr) auto!important;gap:14px!important}
  .v2-nav{display:flex!important;gap:12px!important;justify-content:flex-end!important}
  .v2-nav a{font-size:11px!important}
  .v2-mobile-search-toggle,.v2-account-icon{display:grid}
  .v2-member-pill{display:none!important}
  .v2-header-actions{gap:6px!important}
  .v2-mobile-search-panel{display:block;position:fixed;z-index:145;top:72px;right:12px;width:360px;padding:7px;background:rgba(9,12,14,.97);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);transform:translateY(-8px);opacity:0;visibility:hidden;transition:.18s}
  .v2-mobile-search-panel.open{transform:none;opacity:1;visibility:visible}
  html[data-theme="light"] .v2-mobile-search-panel{background:#fff}
}
.v2-play-button.no-audio,.v2-hero-play.no-audio,.v2-icon-play.no-audio{opacity:.38!important;cursor:not-allowed!important;filter:grayscale(.45);box-shadow:none!important}

/* =========================================================
   PLENA507 V2.5 · Player polish, vinyl nav icon and logo fix
   ========================================================= */

/* Prevent the italic T/Y overhang from being clipped by the wordmark box. */
.djspty-wordmark{
  overflow:visible!important;
  padding-right:14px!important;
  min-width:max-content;
}
.djspty-pty,.v2-auth-logo-pty{
  display:inline-block;
  padding-right:.18em;
  margin-right:-.18em;
  overflow:visible;
}

/* Vinyl icon keeps its outlined grooves even though the default icon set is filled. */
.v2-mobile-bottom-nav .ui-icon circle{vector-effect:non-scaling-stroke}

/* Brand-gradient glass player. */
.v2-global-player{
  isolation:isolate;
  overflow:visible;
  background:
    linear-gradient(100deg,rgba(255,106,0,.28) 0%,rgba(255,49,49,.24) 38%,rgba(255,20,120,.26) 70%,rgba(142,32,255,.25) 100%),
    rgba(7,9,11,.86)!important;
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  border-top-color:rgba(255,255,255,.18)!important;
  box-shadow:0 -16px 44px rgba(0,0,0,.32),0 -1px 0 rgba(255,255,255,.05) inset;
}
.v2-global-player:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,.06),transparent 24%,transparent 70%,rgba(255,255,255,.035));
}
.v2-player-track,.v2-player-controls,.v2-player-progress,.v2-player-volume{position:relative;z-index:2}
.v2-player-copy strong,.v2-player-copy span,.v2-player-progress,.v2-player-volume{color:#fff!important}
.v2-player-copy span,.v2-player-progress,.v2-player-volume{opacity:.78}
.v2-player-cover{border:0;padding:0;cursor:pointer;color:#fff}
.v2-player-cover img{display:block}
.v2-player-action{color:rgba(255,255,255,.82)!important}
.v2-player-action:hover,.v2-player-action.active,.v2-player-action.is-favorite{color:#fff!important}
.v2-player-main{
  background:rgba(255,255,255,.96)!important;
  border:0!important;
  color:#b51b55!important;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.v2-player-main:hover{transform:scale(1.03)}

/* Always-visible playback line. It is real and seekable. */
.v2-player-mini-progress{
  position:absolute;
  z-index:6;
  top:-1px;
  left:0;
  right:0;
  height:5px;
  display:flex;
  align-items:flex-start;
}
.v2-player-mini-progress input{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:3px;
  margin:0;
  border:0;
  border-radius:0;
  outline:0;
  cursor:pointer;
  background:linear-gradient(90deg,#fff 0%,#fff 0%,rgba(255,255,255,.22) 0%);
}
.v2-player-mini-progress input::-webkit-slider-thumb{
  appearance:none;
  -webkit-appearance:none;
  width:0;
  height:0;
  opacity:0;
}
.v2-player-mini-progress input::-moz-range-thumb{width:0;height:0;border:0;opacity:0}
.v2-player-progress input,.v2-player-volume input{background:rgba(255,255,255,.22)}

html[data-theme="light"] .v2-global-player{
  background:
    linear-gradient(100deg,rgba(255,106,0,.25) 0%,rgba(255,49,49,.22) 38%,rgba(255,20,120,.23) 70%,rgba(142,32,255,.23) 100%),
    rgba(248,249,250,.88)!important;
  border-top-color:rgba(20,24,28,.12)!important;
}
html[data-theme="light"] .v2-player-copy strong,html[data-theme="light"] .v2-player-copy span,
html[data-theme="light"] .v2-player-progress,html[data-theme="light"] .v2-player-volume{color:#161a1e!important}
html[data-theme="light"] .v2-player-action{color:rgba(25,29,34,.78)!important}
html[data-theme="light"] .v2-player-main{color:#c3195f!important;background:#fff!important}

@media(max-width:760px){
  :root{--player-h:70px}

  /* The mini player remains distinct from the bottom navigation and shows the song, not page state. */
  .v2-global-player{
    height:var(--player-h)!important;
    padding:9px 10px 7px!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    background:
      linear-gradient(100deg,rgba(255,106,0,.56) 0%,rgba(255,49,49,.48) 38%,rgba(255,20,120,.48) 70%,rgba(142,32,255,.46) 100%),
      rgba(8,10,12,.82)!important;
  }
  .v2-player-mini-progress{top:0;height:4px}
  .v2-player-mini-progress input{height:3px}
  .v2-player-cover{background:rgba(0,0,0,.2)!important}
  .v2-player-copy strong{font-size:11.5px!important;color:#fff!important}
  .v2-player-copy span{font-size:9.5px!important;color:rgba(255,255,255,.78)!important}
  .v2-player-main{width:42px!important;height:42px!important;background:#fff!important;color:#bc1959!important}
  html[data-theme="light"] .v2-global-player{
    background:
      linear-gradient(100deg,rgba(255,106,0,.54) 0%,rgba(255,49,49,.46) 38%,rgba(255,20,120,.46) 70%,rgba(142,32,255,.43) 100%),
      rgba(245,247,249,.8)!important;
  }
  html[data-theme="light"] .v2-player-copy strong{color:#fff!important}
  html[data-theme="light"] .v2-player-copy span{color:rgba(255,255,255,.82)!important}

  /* Full-screen player inspired by a native music app, using PLENA507 branding. */
  .v2-mobile-player-sheet{
    inset:0!important;
    padding:max(12px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))!important;
    overflow-y:auto;
    color:#fff!important;
    background:
      radial-gradient(circle at 82% 9%,rgba(208,0,255,.30),transparent 24%),
      radial-gradient(circle at 12% 42%,rgba(255,106,0,.28),transparent 30%),
      linear-gradient(165deg,rgba(255,92,0,.94) 0%,rgba(225,37,72,.88) 36%,rgba(151,16,105,.94) 68%,rgba(37,8,48,.98) 100%)!important;
    backdrop-filter:blur(30px) saturate(140%);
    -webkit-backdrop-filter:blur(30px) saturate(140%);
  }
  .v2-mobile-player-sheet:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.28;
    background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 26%,rgba(0,0,0,.12));
  }
  .v2-mobile-player-sheet>*{position:relative;z-index:1}
  .v2-mobile-player-sheet-head{
    height:48px!important;
    display:grid!important;
    grid-template-columns:44px 1fr 44px;
    align-items:center;
    color:#fff!important;
    text-transform:none!important;
    letter-spacing:0!important;
  }
  .v2-sheet-head-button{
    width:42px!important;
    height:42px!important;
    border:0!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    display:grid!important;
    place-items:center!important;
  }
  .v2-sheet-head-button:last-child{justify-self:end}
  .v2-sheet-head-button .ui-icon{width:24px!important;height:24px!important}
  .v2-sheet-context{display:grid;place-items:center;line-height:1.05;text-align:center}
  .v2-sheet-context small{font-size:9px;font-weight:700;letter-spacing:.08em;opacity:.72}
  .v2-sheet-context strong{font-size:14px;font-weight:850;margin-top:3px}

  .v2-sheet-art-stage{
    position:relative;
    display:grid;
    place-items:center;
    margin:auto 0 22px;
    padding-top:18px;
  }
  .v2-sheet-art-glow{
    position:absolute;
    width:76%;
    aspect-ratio:16/9;
    border-radius:28px;
    filter:blur(38px);
    background:linear-gradient(120deg,rgba(255,177,67,.65),rgba(255,30,111,.42),rgba(122,30,255,.45));
    opacity:.52;
    transform:translateY(24px) scale(.95);
  }
  .v2-sheet-cover{
    width:min(100%,560px)!important;
    aspect-ratio:16/9!important;
    margin:0!important;
    border-radius:18px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    background:rgba(0,0,0,.2)!important;
    box-shadow:0 28px 80px rgba(28,0,10,.34)!important;
  }
  .v2-sheet-cover img{width:100%;height:100%;object-fit:cover!important}

  .v2-sheet-meta-row{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:12px;align-items:center;margin-top:2px}
  .v2-sheet-copy{min-width:0;gap:4px!important}
  .v2-sheet-copy strong{font-size:24px!important;line-height:1.08!important;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .v2-sheet-copy span{font-size:14px!important;color:rgba(255,255,255,.78)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .v2-sheet-favorite{
    width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center
  }
  .v2-sheet-favorite.is-favorite{background:#fff;color:#d31568;border-color:#fff}
  .v2-sheet-favorite .ui-icon{width:21px}

  .v2-sheet-progress{margin:28px 0 22px!important}
  .v2-sheet-progress input{
    height:5px!important;
    background:linear-gradient(90deg,#fff 0%,#fff 0%,rgba(255,255,255,.28) 0%)!important;
  }
  .v2-sheet-progress input::-webkit-slider-thumb{width:14px!important;height:14px!important;background:#fff!important;box-shadow:0 3px 12px rgba(0,0,0,.25)!important}
  .v2-sheet-progress>div{margin-top:9px!important;color:rgba(255,255,255,.78)!important;font-size:11px!important}

  .v2-sheet-controls-main{
    display:grid!important;
    grid-template-columns:repeat(5,1fr);
    align-items:center;
    gap:4px!important;
    width:100%;
    padding:0!important;
    margin:0 0 20px;
  }
  .v2-sheet-controls-main button{
    width:48px;height:48px;justify-self:center;border:0!important;background:transparent!important;color:rgba(255,255,255,.88)!important;display:grid;place-items:center
  }
  .v2-sheet-controls-main button .ui-icon{width:25px;height:25px}
  .v2-sheet-controls-main button.active{color:#fff!important;filter:drop-shadow(0 0 9px rgba(255,255,255,.45))}
  .v2-sheet-controls-main .main{
    width:72px!important;height:72px!important;border-radius:50%!important;background:#fff!important;color:#9d154b!important;border:0!important;box-shadow:0 15px 38px rgba(46,0,18,.28)!important
  }
  .v2-sheet-controls-main .main .ui-icon{width:32px!important;height:32px!important}

  .v2-sheet-bottom-actions{
    margin-top:auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    padding-top:8px;
  }
  .v2-sheet-bottom-actions button,.v2-sheet-bottom-actions a{
    min-height:52px;border:0;border-radius:14px;background:rgba(255,255,255,.075);color:rgba(255,255,255,.88);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;font-size:9px;font-weight:700
  }
  .v2-sheet-bottom-actions .ui-icon{width:20px;height:20px}

  /* Light mode keeps the branded player gradient; only surrounding site theme changes. */
  html[data-theme="light"] .v2-mobile-player-sheet{color:#fff!important;background:
      radial-gradient(circle at 82% 9%,rgba(208,0,255,.28),transparent 24%),
      radial-gradient(circle at 12% 42%,rgba(255,106,0,.28),transparent 30%),
      linear-gradient(165deg,rgba(255,92,0,.92) 0%,rgba(225,37,72,.86) 36%,rgba(151,16,105,.92) 68%,rgba(37,8,48,.97) 100%)!important}
  html[data-theme="light"] .v2-sheet-head-button,html[data-theme="light"] .v2-sheet-controls button{color:#fff!important}
}

@media(max-width:390px){
  .djspty-wordmark{padding-right:11px!important}
  .v2-sheet-copy strong{font-size:21px!important}
  .v2-sheet-controls-main .main{width:66px!important;height:66px!important}
  .v2-sheet-controls-main button{width:42px;height:42px}
  .v2-sheet-bottom-actions button,.v2-sheet-bottom-actions a{min-height:48px}
}

/* ============================================================
   PLENA507 V2.6 — iOS media/fullscreen + stable hero + player brand
   ============================================================ */
:root{
  --djspty-player-gradient:linear-gradient(105deg,#ff6510 0%,#ff4b25 18%,#f2364c 38%,#e82474 58%,#c51a96 78%,#74106f 100%);
}

/* Theme button: SVG only, fixed geometry. Prevents the malformed moon seen on iOS. */
.v2-theme-toggle [data-theme-icon],
.v2-theme-toggle [data-theme-icon] svg{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  display:block!important;
  overflow:visible!important;
  transform:none!important;
}
.v2-theme-toggle [data-theme-icon]{display:grid!important;place-items:center!important}
.v2-theme-toggle .theme-moon-svg{fill:none!important;stroke:currentColor!important}

/* Home carousel: the amount of title text can no longer resize the banner. */
.v2-home-carousel{
  height:320px!important;
  min-height:320px!important;
  overflow:hidden;
}
.v2-home-carousel .v2-home-slides,
.v2-home-carousel [data-home-slide],
.v2-home-carousel .v2-home-hero{
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;
}
.v2-home-carousel .v2-home-hero-copy{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  overflow:hidden;
}
.v2-home-carousel .v2-home-hero-copy h1{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden!important;
  min-height:84px!important;
  max-height:84px!important;
  margin:4px 0 7px!important;
}
.v2-home-carousel .v2-hero-dj{
  display:block;
  min-height:32px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v2-home-carousel .hero-chips{min-height:30px;margin:9px 0 13px!important}
.v2-home-carousel .v2-hero-actions{min-height:58px}

/* Player uses the exact orange -> red -> fuchsia -> purple direction of the reference. */
.v2-global-player{
  background:
    linear-gradient(0deg,rgba(5,7,9,.56),rgba(5,7,9,.56)),
    var(--djspty-player-gradient)!important;
  border-top-color:rgba(255,255,255,.15)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  backdrop-filter:blur(22px) saturate(145%);
}
.v2-global-player:before{
  opacity:.22!important;
  background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 62%)!important;
}
.v2-player-copy strong{color:#fff!important}
.v2-player-copy span,.v2-player-progress,.v2-player-volume{color:rgba(255,255,255,.76)!important}
.v2-player-action{color:rgba(255,255,255,.82)!important}
.v2-player-action.active,.v2-player-action.is-favorite{color:#fff!important}
.v2-player-main{background:rgba(255,255,255,.96)!important;color:#b81970!important;border:0!important;box-shadow:0 8px 24px rgba(56,0,35,.24)!important}
html[data-theme="light"] .v2-global-player{
  background:
    linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12)),
    var(--djspty-player-gradient)!important;
}
html[data-theme="light"] .v2-player-copy strong{color:#fff!important}
html[data-theme="light"] .v2-player-copy span,
html[data-theme="light"] .v2-player-progress,
html[data-theme="light"] .v2-player-volume,
html[data-theme="light"] .v2-player-action{color:rgba(255,255,255,.84)!important}
html[data-theme="light"] .v2-player-main{color:#b81970!important;background:#fff!important}

@media(max-width:760px){
  html.player-sheet-open,body.player-sheet-open{
    overflow:hidden!important;
    overscroll-behavior:none;
    height:100%;
  }

  /* Fixed carousel height is based on viewport width (16:9 cover + fixed copy area), not title length. */
  .v2-home-carousel{
    height:calc((100vw - 40px) * .5625 + 250px)!important;
    min-height:calc((100vw - 40px) * .5625 + 250px)!important;
    max-height:680px!important;
  }
  .v2-home-carousel .v2-home-slides,
  .v2-home-carousel [data-home-slide],
  .v2-home-carousel .v2-home-hero{
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
  }
  .v2-home-carousel .v2-home-hero{
    grid-template-rows:auto 1fr!important;
    overflow:hidden!important;
  }
  .v2-home-carousel .v2-home-cover{flex:0 0 auto!important}
  .v2-home-carousel .v2-home-hero-copy{
    height:205px!important;
    min-height:205px!important;
    max-height:205px!important;
    justify-content:flex-start!important;
    padding:8px 3px 2px!important;
  }
  .v2-home-carousel .v2-home-hero-copy h1{
    font-size:23px!important;
    line-height:1.08!important;
    min-height:50px!important;
    max-height:50px!important;
    margin:3px 0 4px!important;
  }
  .v2-home-carousel .v2-hero-dj{min-height:21px!important}
  .v2-home-carousel .hero-chips{min-height:28px!important;margin:5px 0 8px!important}
  .v2-home-carousel .v2-hero-actions{min-height:46px!important;margin-top:auto!important}

  /* Branded mini-player, translucent like the supplied PLENA507 gradient reference. */
  .v2-global-player{
    background:
      linear-gradient(0deg,rgba(19,5,15,.24),rgba(19,5,15,.24)),
      var(--djspty-player-gradient)!important;
    -webkit-backdrop-filter:blur(24px) saturate(155%)!important;
    backdrop-filter:blur(24px) saturate(155%)!important;
  }
  .v2-player-mini-progress{background:rgba(255,255,255,.12)!important}
  .v2-player-mini-progress input{background:linear-gradient(90deg,#fff 0%,#fff 0%,rgba(255,255,255,.25) 0%)!important}

  /* TRUE viewport overlay. JS moves this element directly under body. */
  body > .v2-mobile-player-sheet{
    display:flex!important;
    position:fixed!important;
    z-index:2147483000!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100svh!important;
    max-height:none!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    padding:max(12px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    color:#fff!important;
    background:
      linear-gradient(180deg,rgba(25,3,16,.02) 0%,rgba(44,5,31,.20) 48%,rgba(36,5,33,.56) 100%),
      var(--djspty-player-gradient)!important;
    -webkit-backdrop-filter:blur(30px) saturate(150%)!important;
    backdrop-filter:blur(30px) saturate(150%)!important;
    transform:translate3d(0,105%,0)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s,visibility 0s linear .3s!important;
  }
  body > .v2-mobile-player-sheet.open{
    transform:translate3d(0,0,0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s!important;
  }
  body > .v2-mobile-player-sheet:before{
    content:"";
    position:fixed!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(circle at 8% 4%,rgba(255,173,78,.22),transparent 26%),
      radial-gradient(circle at 92% 14%,rgba(196,21,181,.22),transparent 28%),
      linear-gradient(180deg,rgba(255,255,255,.08),transparent 24%,rgba(0,0,0,.12));
    opacity:.85!important;
  }
  body > .v2-mobile-player-sheet > *{position:relative;z-index:2}
  body > .v2-mobile-player-sheet .v2-mobile-player-sheet-head{
    flex:0 0 54px!important;
    min-height:54px!important;
  }
  body > .v2-mobile-player-sheet .v2-sheet-art-stage{
    flex:1 1 auto!important;
    min-height:0!important;
    margin:12px 0 18px!important;
    align-content:center!important;
  }
  body > .v2-mobile-player-sheet .v2-sheet-cover{
    width:min(100%,620px)!important;
    max-height:min(44dvh,430px)!important;
  }
  body > .v2-mobile-player-sheet .v2-sheet-copy strong{
    display:-webkit-box!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    white-space:normal!important;
    overflow:hidden!important;
    min-height:52px;
  }
  body > .v2-mobile-player-sheet .v2-sheet-progress{margin:18px 0 16px!important}
  body > .v2-mobile-player-sheet .v2-sheet-bottom-actions{margin-top:8px!important}

  html[data-theme="light"] body > .v2-mobile-player-sheet{
    color:#fff!important;
    background:
      linear-gradient(180deg,rgba(25,3,16,.02) 0%,rgba(44,5,31,.18) 48%,rgba(36,5,33,.50) 100%),
      var(--djspty-player-gradient)!important;
  }
}

@media(max-width:390px){
  .v2-home-carousel{
    height:calc((100vw - 28px) * .5625 + 238px)!important;
    min-height:calc((100vw - 28px) * .5625 + 238px)!important;
  }
  .v2-home-carousel .v2-home-hero-copy{height:199px!important;min-height:199px!important;max-height:199px!important}
  body > .v2-mobile-player-sheet{padding-left:15px!important;padding-right:15px!important}
  body > .v2-mobile-player-sheet .v2-sheet-copy strong{font-size:21px!important;min-height:46px!important}
}

/* ============================================================
   PLENA507 V2.7 — mobile hero, symmetric sheet animation & iOS chrome
   ============================================================ */

/* Slightly smaller hero headline on desktop/tablet while keeping the fixed banner height. */
.v2-home-carousel .v2-home-hero-copy h1{
  font-size:34px!important;
  line-height:1.06!important;
  min-height:72px!important;
  max-height:72px!important;
}

@media(max-width:760px){
  /* Keep the browser/PWA canvas behind the player in the same family as the branded gradient. */
  html.player-sheet-open,
  body.player-sheet-open{
    background:#e92f67!important;
  }

  /* Same visual weight as desktop: identical face/weight, only scaled for the smaller header. */
  .djspty-wordmark{
    font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
    font-size:29px!important;
    font-weight:950!important;
    font-style:italic!important;
    letter-spacing:-2.45px!important;
    line-height:1!important;
    transform:skew(-4deg) scaleX(1.025)!important;
    transform-origin:left center!important;
    -webkit-font-smoothing:auto!important;
    text-rendering:geometricPrecision;
    padding-right:15px!important;
  }
  .djspty-wordmark .djspty-main,
  .djspty-wordmark .djspty-pty{font-weight:950!important}

  /* Home hero: title is intentionally smaller and genres always remain between DJ and Play. */
  .v2-home-carousel .v2-home-hero-copy{
    height:205px!important;
    min-height:205px!important;
    max-height:205px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  .v2-home-carousel .v2-home-hero-copy h1{
    font-size:19px!important;
    line-height:1.12!important;
    min-height:43px!important;
    max-height:43px!important;
    margin:2px 0 3px!important;
  }
  .v2-home-carousel .v2-hero-dj{
    font-size:13px!important;
    line-height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    margin:0!important;
  }
  .v2-home-carousel .hero-chips,
  .v2-home-hero .hero-chips{
    display:flex!important;
    visibility:visible!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:5px!important;
    min-height:30px!important;
    max-height:30px!important;
    margin:5px 0 7px!important;
    overflow:hidden!important;
  }
  .v2-home-carousel .hero-chips .v2-chip{
    flex:0 0 auto!important;
    max-width:112px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px!important;
    line-height:1!important;
    padding:5px 8px!important;
  }
  .v2-home-carousel .v2-hero-actions{
    min-height:46px!important;
    margin-top:2px!important;
    gap:9px!important;
  }

  /* Symmetric native-app motion: the close action is the exact reverse of opening. */
  body > .v2-mobile-player-sheet{
    transform-origin:50% 100%!important;
    transform:translate3d(0,103%,0) scale(.985)!important;
    opacity:.72!important;
    will-change:transform,opacity!important;
    transition:
      transform .38s cubic-bezier(.22,.78,.24,1),
      opacity .28s ease,
      visibility 0s linear .38s!important;
  }
  body > .v2-mobile-player-sheet.open{
    transform:translate3d(0,0,0) scale(1)!important;
    opacity:1!important;
    transition:
      transform .38s cubic-bezier(.22,.78,.24,1),
      opacity .28s ease!important;
  }
  body > .v2-mobile-player-sheet.closing{
    visibility:visible!important;
    pointer-events:none!important;
    transform:translate3d(0,103%,0) scale(.985)!important;
    opacity:.72!important;
    transition:
      transform .38s cubic-bezier(.22,.78,.24,1),
      opacity .28s ease!important;
  }

  /* Keep gradient color behind every safe-area that belongs to the web app/PWA. */
  body > .v2-mobile-player-sheet{
    padding-top:max(14px,env(safe-area-inset-top))!important;
    padding-bottom:max(20px,env(safe-area-inset-bottom))!important;
    background:
      radial-gradient(circle at 10% 5%,rgba(255,139,43,.20),transparent 28%),
      radial-gradient(circle at 92% 14%,rgba(210,17,181,.18),transparent 30%),
      linear-gradient(160deg,#ff6722 0%,#f44a36 24%,#e92c67 52%,#c5178c 74%,#721064 100%)!important;
  }
}

@media(max-width:390px){
  .djspty-wordmark{
    font-size:27px!important;
    letter-spacing:-2.3px!important;
    transform:skew(-4deg) scaleX(1.025)!important;
  }
  .v2-home-carousel .v2-home-hero-copy h1{font-size:18px!important}
  .v2-home-carousel .hero-chips .v2-chip{font-size:8.5px!important;padding:5px 7px!important}
}

/* ============================================================
   PLENA507 V2.8 — app navigation, Search & personal Library
   ============================================================ */
.v28-desktop-nav{gap:22px}
.v28-explore-menu{height:100%;position:relative;display:flex;align-items:center;color:#eee}
.v28-explore-menu summary{height:100%;display:flex;align-items:center;gap:4px;list-style:none;cursor:pointer;font-weight:650;font-size:13px;user-select:none}
.v28-explore-menu summary::-webkit-details-marker{display:none}.v28-explore-menu summary .ui-icon{width:14px;height:14px;transition:.18s}
.v28-explore-menu[open] summary .ui-icon{transform:rotate(180deg)}.v28-explore-menu.active summary{color:#ff6a00}
.v28-explore-popover{position:absolute;right:0;top:64px;width:285px;padding:8px;background:rgba(10,13,16,.98);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.42);display:grid;gap:3px;z-index:150}
.v28-explore-popover>a{height:auto!important;min-height:56px;padding:9px 10px;border-radius:11px;display:grid!important;grid-template-columns:32px 1fr;gap:9px;align-items:center!important}
.v28-explore-popover>a:hover{background:#15191d}.v28-explore-popover>a:after{display:none!important}.v28-explore-popover .ui-icon{width:20px;color:#ff5b17}
.v28-explore-popover span{display:grid}.v28-explore-popover strong{font-size:12px}.v28-explore-popover small{font-size:10px;color:var(--muted);font-weight:500}
html[data-theme="light"] .v28-explore-popover{background:rgba(255,255,255,.99)}html[data-theme="light"] .v28-explore-popover>a:hover{background:#f1f3f5}

/* Search */
.v28-search-page{max-width:1200px}.v28-search-head{padding:18px 4px 8px}.v28-search-head h1{font-size:40px;letter-spacing:-.035em;margin:0 0 20px}
.v28-search-hero-field{height:58px;border-radius:18px;background:var(--surface2);border:1px solid var(--border);display:grid;grid-template-columns:28px minmax(0,1fr) 42px;align-items:center;gap:10px;padding:0 10px 0 18px;transition:.2s}
.v28-search-hero-field:focus-within{border-color:rgba(255,70,70,.52);box-shadow:0 0 0 4px rgba(255,45,93,.08)}.v28-search-hero-field>.ui-icon{width:24px;color:#c6c9cc}
.v28-search-hero-field input{border:0;outline:0;background:transparent;color:var(--text);font-size:18px;min-width:0;width:100%}.v28-search-hero-field input::placeholder{color:#777e84}
.v28-search-hero-field button{width:42px;height:42px;border:0;background:transparent;color:var(--text);display:grid;place-items:center;border-radius:50%;cursor:pointer}.v28-search-hero-field button .ui-icon{width:23px}.v28-search-hero-field button.listening{background:var(--accent);color:white;animation:v28Pulse 1s infinite}.v28-search-hero-field button.unsupported{opacity:.35}
@keyframes v28Pulse{50%{transform:scale(.92)}}
.v28-discover-block{margin-top:24px}.v28-special-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v28-special-card{min-height:126px;border-radius:18px;border:1px solid rgba(255,255,255,.10);padding:18px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.v28-special-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,#ff5f1f,#df176f)}.v28-special-card.new:before{background:linear-gradient(145deg,#8e20ff,#d91aae)}.v28-special-card.djs:before{background:linear-gradient(145deg,#0d85d8,#3424c9)}.v28-special-card.hot:before{background:linear-gradient(145deg,#d53a11,#f68b09)}
.v28-special-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.22));z-index:-1}.v28-special-card>span{font-size:20px;font-weight:850;color:#fff}.v28-special-card>small{color:rgba(255,255,255,.75);font-size:11px}.v28-special-card>.ui-icon{position:absolute;right:14px;top:14px;width:34px;height:34px;color:rgba(255,255,255,.82)}
.v28-search-genre-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v28-search-genre{min-height:150px;border-radius:18px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.10);display:flex;align-items:flex-end;padding:16px;background:linear-gradient(145deg,var(--genre,#ff5a00),#1b1015);isolation:isolate}
.v28-search-genre:before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.62)),var(--bg);background-size:cover;background-position:center;z-index:-1;filter:saturate(.9)}.v28-search-genre:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--genre,#ff5a00) 45%,transparent),transparent 65%);z-index:-1}.v28-search-genre span{font-size:20px;font-weight:900;color:#fff;text-shadow:0 2px 15px #000}
.v28-live-results{margin-top:18px}.v28-result-group{margin-top:18px}.v28-result-group h2{font-size:18px;margin:0 0 8px}.v28-result-list{display:grid;gap:6px}.v28-result-item{min-height:66px;border-radius:13px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);display:grid;grid-template-columns:58px minmax(0,1fr) 20px;gap:11px;align-items:center}.v28-result-item.mix img{aspect-ratio:16/9}.v28-result-item img,.v28-result-fallback{width:58px;height:50px;object-fit:cover;border-radius:9px;background:var(--surface3);display:grid;place-items:center;font-weight:900}.v28-result-item>span{display:grid;min-width:0}.v28-result-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v28-result-item small{color:var(--muted)}.v28-result-item>b{color:var(--muted);font-size:20px}.v28-search-no-results{padding:34px;text-align:center;border:1px dashed var(--border);border-radius:16px;color:var(--muted);display:grid;gap:5px}.v28-search-extras{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:12px}.v28-search-djs{display:flex;gap:8px;overflow:auto}.v28-search-djs .v2-dj-card{min-width:150px}

/* Library */
.v28-library-page{max-width:1250px}.v28-library-heading{padding:16px 4px 8px}.v28-library-heading span{font-size:11px;font-weight:850;color:#ff5c17}.v28-library-heading h1{font-size:38px;margin:2px 0 2px;letter-spacing:-.04em}.v28-library-heading p{margin:0;color:var(--muted)}
.v28-library-guest{max-width:660px;margin:26px auto;text-align:center;display:grid;justify-items:center;gap:12px;padding:42px 26px}.v28-library-guest-icon{width:78px;height:78px;border-radius:24px;background:linear-gradient(145deg,rgba(255,97,20,.18),rgba(211,20,171,.18));border:1px solid rgba(255,87,46,.28);display:grid;place-items:center}.v28-library-guest-icon .ui-icon{width:36px;height:36px;color:#ff5d17}.v28-library-guest h2{margin:0;font-size:26px}.v28-library-guest p{max-width:470px;margin:0;color:var(--muted)}.v28-library-guest>div:last-child{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.v28-library-tabs{display:flex;gap:8px;margin:18px 0 6px;overflow:auto}.v28-library-tabs button{border:1px solid var(--border);background:var(--surface2);color:var(--muted);padding:9px 16px;border-radius:999px;white-space:nowrap;cursor:pointer}.v28-library-tabs button.active{background:var(--accent);color:#fff;border-color:transparent}.v28-library-section{display:none;margin-top:14px}.v28-library-section.active{display:block}.v28-library-empty{border:1px dashed var(--border);border-radius:15px;padding:30px;color:var(--muted);text-align:center}
.v28-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v28-history-row{min-height:88px;border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:8px;display:grid;grid-template-columns:120px minmax(0,1fr) 42px;align-items:center;gap:11px;position:relative}.v28-history-cover{width:120px;aspect-ratio:16/9;border-radius:9px;overflow:hidden}.v28-history-cover img{width:100%;height:100%;object-fit:cover}.v28-history-row>div{display:grid;min-width:0}.v28-history-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v28-history-row span,.v28-history-row small{color:var(--muted);font-size:11px}.v28-history-row .v2-icon-play{position:static!important;width:38px;height:38px;border:0;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center}.v28-history-row .v2-icon-play .ui-icon{width:18px}
.v28-account-library{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center}.v28-account-library h2{margin:0}.v28-account-library p{margin:2px 0 0;color:var(--muted)}.v28-account-stats{display:flex;gap:22px}.v28-account-stats span{display:grid;text-align:center;color:var(--muted);font-size:10px}.v28-account-stats strong{color:var(--text);font-size:20px}

/* Favorites/following */
.v28-card-favorite{position:absolute;z-index:5;right:8px;top:8px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(5,7,9,.72);backdrop-filter:blur(9px);color:#fff;display:grid;place-items:center;cursor:pointer}.v28-card-favorite .ui-icon{width:16px}.v28-card-favorite.is-favorite{color:#fff;background:linear-gradient(135deg,#ff5d17,#e5148f);border-color:transparent}.v2-follow-button{cursor:pointer}.v2-follow-button.following{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}.v28-profile-follow{margin-top:13px;min-width:130px}

/* Continue listening */
.v28-continue-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v28-continue-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:8px;display:grid;grid-template-columns:120px minmax(0,1fr) 38px;gap:10px;align-items:center}.v28-continue-cover{width:120px;aspect-ratio:16/9;border-radius:9px;overflow:hidden;position:relative}.v28-continue-cover img{width:100%;height:100%;object-fit:cover}.v28-continue-cover span{position:absolute;left:0;bottom:0;height:3px;width:var(--resume,0%);background:var(--accent)}.v28-continue-card>div{display:grid;min-width:0}.v28-continue-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v28-continue-card small{color:var(--muted)}.v28-continue-card .v2-icon-play{position:static!important;width:36px;height:36px;border-radius:50%;border:0;background:var(--accent);color:#fff;display:grid;place-items:center}

@media(max-width:1024px){
  .v28-desktop-nav{gap:12px}.v28-explore-menu summary{font-size:11px}.v28-explore-popover{top:58px}
  .v28-special-grid,.v28-search-genre-grid{grid-template-columns:repeat(2,1fr)}.v28-search-extras{grid-template-columns:1fr 1fr}.v28-search-extras>.v2-panel:last-child{grid-column:1/-1}
  .v28-continue-strip{grid-template-columns:1fr 1fr}.v28-history-list{grid-template-columns:1fr}
}

@media(max-width:760px){
  :root{--mobile-nav-h:72px}
  /* Four primary app destinations, with the mini player living directly above. */
  .v2-mobile-bottom-nav.v28-mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px))!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px))!important;background:rgba(11,12,15,.84)!important;border:1px solid rgba(255,255,255,.10)!important;border-bottom:0!important;backdrop-filter:blur(26px) saturate(1.35)!important;border-radius:24px 24px 0 0!important;box-shadow:0 -12px 38px rgba(0,0,0,.34)!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a{font-size:10px!important;gap:4px!important;font-weight:750!important}.v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:25px!important;height:25px!important}.v2-mobile-bottom-nav.v28-mobile-nav a.active{color:#fff!important}.v2-mobile-bottom-nav.v28-mobile-nav a.active:before{top:-7px;width:44px;height:3px;background:var(--accent)!important}.v2-mobile-bottom-nav.v28-mobile-nav a.active .ui-icon{color:#ff5d16;filter:drop-shadow(0 0 10px rgba(255,31,113,.35))}
  html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav{background:rgba(250,250,252,.90)!important;border-color:rgba(10,15,20,.10)!important}html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav a.active{color:#111!important}

  .v2-global-player{bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px))!important;border-radius:18px 18px 0 0!important;left:8px!important;right:8px!important;width:auto!important}
  .v28-header .v2-theme-toggle{display:grid!important}.v28-header .v2-account-icon{display:grid!important}.v28-header .v2-member-pill,.v28-header .v2-auth-link,.v28-header .v2-register-link{display:none!important}
  .v28-header{grid-template-columns:minmax(120px,1fr) auto!important}.v28-header .v2-header-actions{display:flex!important}

  /* Search becomes a first-class app screen. */
  .v28-search-page{width:calc(100% - 20px)!important;margin-top:12px!important}.v28-search-head{padding:5px 0 4px}.v28-search-head h1{font-size:42px;line-height:1;margin:10px 0 22px;letter-spacing:-.05em}.v28-search-hero-field{height:54px;border-radius:28px;grid-template-columns:26px minmax(0,1fr) 40px;padding-left:15px;background:#1d1d20;border-color:transparent}.v28-search-hero-field input{font-size:17px}.v28-search-hero-field input::placeholder{color:#77777d}.v28-search-hero-field>.ui-icon{width:23px}.v28-search-hero-field button{width:38px;height:38px}
  html[data-theme="light"] .v28-search-hero-field{background:#e9eaed}
  .v28-discover-block{margin-top:19px}.v28-special-grid{grid-template-columns:repeat(2,1fr);gap:10px}.v28-special-card{min-height:104px;border-radius:15px;padding:13px}.v28-special-card>span{font-size:17px}.v28-special-card>small{font-size:9px}.v28-special-card>.ui-icon{width:27px;height:27px;right:10px;top:10px}
  .v28-search-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v28-search-genre{min-height:112px;border-radius:15px;padding:13px}.v28-search-genre span{font-size:18px}.desktop-search-extras{display:none}
  .v28-result-item{grid-template-columns:74px minmax(0,1fr) 18px}.v28-result-item img,.v28-result-fallback{width:74px;height:56px}.v28-result-item.mix img{aspect-ratio:16/9}.v28-result-item strong{font-size:14px}

  /* Library feels like a native tab, not a settings page. */
  .v28-library-heading{padding:8px 2px}.v28-library-heading h1{font-size:36px}.v28-library-heading p{font-size:12px}.v28-library-guest{margin:18px 0;padding:34px 20px}.v28-library-tabs{position:sticky;top:58px;z-index:20;background:linear-gradient(var(--bg) 75%,transparent);padding:8px 0 12px;margin-top:8px}.v28-library-tabs button{padding:8px 13px;font-size:11px}.v28-library-section .v2-cover-grid{display:flex!important;overflow:auto!important}.v28-library-section .v2-mix-card{min-width:min(72vw,280px)!important}
  .v28-history-row{grid-template-columns:98px minmax(0,1fr) 38px;min-height:78px}.v28-history-cover{width:98px}.v28-account-library{grid-template-columns:1fr}.v28-account-stats{justify-content:space-between}

  .v28-continue-strip{display:flex;overflow:auto;gap:9px}.v28-continue-card{min-width:min(88vw,360px);grid-template-columns:112px minmax(0,1fr) 36px}.v28-continue-cover{width:112px}

  /* Mixes starts with discovery controls rather than another oversized hero. */
  .page-mixes .v2-banner-hero{min-height:0!important;padding:16px 14px!important;background:linear-gradient(145deg,rgba(255,91,18,.12),rgba(208,18,162,.08)),var(--surface)!important}.page-mixes .v2-banner-hero:before,.page-mixes .v2-banner-hero:after{opacity:.18!important}.page-mixes .v2-banner-hero .v2-eyebrow{display:none}.page-mixes .v2-banner-hero h1{font-size:30px!important;margin-bottom:5px!important}.page-mixes .v2-banner-hero p{display:none}.page-mixes .v2-filter-chips{margin-top:8px!important}
  .page-top .v2-banner-hero{min-height:0!important}.page-djs .v2-banner-hero{min-height:0!important}

  .v28-card-favorite{width:34px;height:34px;right:7px;top:7px}.v28-profile-follow{min-height:40px}
}

@media(max-width:390px){
  .v28-search-head h1{font-size:38px}.v28-search-genre{min-height:104px}.v28-search-genre span{font-size:16px}.v28-special-card{min-height:96px}
  .v2-mobile-bottom-nav.v28-mobile-nav a{font-size:9px!important}.v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:23px!important;height:23px!important}
}

/* V2.8 account popover */
.v28-account-menu{position:relative}.v28-account-menu>summary{list-style:none;height:42px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);display:flex;align-items:center;gap:8px;padding:3px 10px 3px 4px;cursor:pointer}.v28-account-menu>summary::-webkit-details-marker{display:none}.v28-account-menu>summary>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #b71fff;font-size:11px;font-weight:850}.v28-account-menu>summary>strong{font-size:12px;max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v28-account-menu>summary>.ui-icon{width:13px;color:var(--muted)}
.v28-account-popover{position:absolute;right:0;top:50px;width:240px;padding:8px;border:1px solid var(--border);border-radius:15px;background:rgba(10,13,16,.99);box-shadow:0 24px 70px rgba(0,0,0,.42);display:grid;gap:3px;z-index:160}.v28-account-popover-head{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:center;padding:8px;border-bottom:1px solid var(--border);margin-bottom:3px}.v28-account-popover-head>span{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#4b405d,#282133);display:grid;place-items:center;font-weight:850}.v28-account-popover-head>div{display:grid}.v28-account-popover-head small{color:var(--muted)}.v28-account-popover>a,.v28-account-popover button{width:100%;min-height:42px;border:0;background:transparent;color:var(--text);border-radius:9px;padding:8px 10px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.v28-account-popover>a:hover,.v28-account-popover button:hover{background:var(--surface3)}.v28-account-popover .ui-icon{width:18px}.v28-account-popover form{margin:0}
html[data-theme="light"] .v28-account-popover{background:#fff}
@media(max-width:760px){.v28-account-menu>summary{width:38px;height:38px;padding:2px;border-radius:50%}.v28-account-menu>summary>span{width:32px;height:32px}.v28-account-menu>summary>strong,.v28-account-menu>summary>.ui-icon{display:none}.v28-account-popover{position:fixed;right:10px;top:56px;width:min(270px,calc(100vw - 20px))}}


/* =========================================================
   PLENA507 V2.9 — floating glass mobile menu + capsule player
   Reference-inspired mobile navigation and mini-player
   ========================================================= */
@media(max-width:760px){
  :root{--mobile-nav-h:84px;--player-h:82px}

  .v2-main{padding-bottom:calc(210px + env(safe-area-inset-bottom,0px))!important}

  .v2-mobile-bottom-nav.v28-mobile-nav{
    left:12px!important;
    right:12px!important;
    bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:78px!important;
    padding:8px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    align-items:stretch!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08)),rgba(10,12,17,.56)!important;
    backdrop-filter:blur(30px) saturate(1.5)!important;
    -webkit-backdrop-filter:blur(30px) saturate(1.5)!important;
    box-shadow:0 18px 50px rgba(0,0,0,.38)!important;
    overflow:hidden!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav a{
    min-height:100%!important;
    border-radius:999px!important;
    padding:7px 3px 6px!important;
    gap:2px!important;
    font-size:9px!important;
    font-weight:800!important;
    color:rgba(255,255,255,.82)!important;
    letter-spacing:-.01em;
    transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:24px!important;height:24px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a.active{
    color:#fff!important;
    background:radial-gradient(circle at 50% 10%,rgba(255,255,255,.15),transparent 45%),linear-gradient(135deg,rgba(255,62,118,.96) 0%,rgba(255,24,74,.88) 55%,rgba(211,12,97,.84) 100%)!important;
    box-shadow:0 10px 26px rgba(228,20,99,.32)!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav a.active:before{display:none!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a.active .ui-icon{color:#fff!important;filter:none!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a:not(.active):active{transform:translateY(1px)}
  html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav{
    background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62)),rgba(239,242,246,.55)!important;
    border-color:rgba(16,22,28,.10)!important;
  }
  html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav a{color:rgba(24,29,35,.8)!important}
  html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav a.active{color:#fff!important}

  .v2-global-player{
    left:12px!important;
    right:12px!important;
    bottom:calc(86px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:76px!important;
    padding:9px 11px 8px 9px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.17)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.08)),rgba(12,15,20,.50)!important;
    backdrop-filter:blur(30px) saturate(1.5)!important;
    -webkit-backdrop-filter:blur(30px) saturate(1.5)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.32)!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  .v2-global-player:before{display:none!important}
  .v2-player-track{
    grid-template-columns:60px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
    min-width:0!important;
  }
  .v2-player-cover{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    background:rgba(255,255,255,.14)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    box-shadow:0 8px 20px rgba(0,0,0,.16)!important;
  }
  .v2-player-cover img{width:100%!important;height:100%!important;object-fit:cover!important}
  .v2-player-copy{display:grid!important;align-content:center!important;min-width:0!important;text-align:left!important}
  .v2-player-copy strong{font-size:13px!important;line-height:1.12!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .v2-player-copy span{font-size:10.5px!important;line-height:1.1!important;color:rgba(255,255,255,.78)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .v2-player-track>[data-player-favorite],.v2-player-favorite,.v2-player-more,.v2-player-progress,.v2-player-volume,.v2-player-controls>[data-player-prev],.v2-player-controls>[data-player-shuffle],.v2-player-controls>[data-player-repeat]{display:none!important}
  .v2-player-controls{display:flex!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important}
  .v2-player-main,.v2-player-controls>[data-player-next]{display:grid!important;place-items:center!important}
  .v2-player-main{width:46px!important;height:46px!important;border-radius:50%!important;background:#fff!important;color:#cb1c67!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important}
  .v2-player-controls>[data-player-next]{width:38px!important;height:38px!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important}
  .v2-player-controls>[data-player-next] .ui-icon{width:20px!important;height:20px!important}
  .v2-player-main .ui-icon{width:24px!important;height:24px!important}
  .v2-player-mini-progress{
    left:82px!important;
    right:104px!important;
    top:auto!important;
    bottom:8px!important;
    height:3px!important;
    background:rgba(255,255,255,.18)!important;
    border-radius:999px!important;
    overflow:hidden!important;
  }
  .v2-player-mini-progress input{height:3px!important}
  .v2-player-mini-progress input::-webkit-slider-thumb{width:0!important;height:0!important;opacity:0!important}
  .v2-player-mini-progress input::-moz-range-thumb{width:0!important;height:0!important;opacity:0!important}

  html[data-theme="light"] .v2-global-player{
    background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.62)),rgba(244,247,250,.55)!important;
    border-color:rgba(16,22,28,.10)!important;
  }
  html[data-theme="light"] .v2-player-copy strong{color:#14191d!important}
  html[data-theme="light"] .v2-player-copy span{color:rgba(20,25,29,.72)!important}
  html[data-theme="light"] .v2-player-controls>[data-player-next]{background:rgba(25,28,34,.08)!important;border-color:rgba(25,28,34,.08)!important;color:#23282d!important}

  body > .v2-mobile-player-sheet .v2-sheet-bottom-actions{padding-bottom:10px!important}
}

@media(max-width:390px){
  .v2-mobile-bottom-nav.v28-mobile-nav a{font-size:8.4px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:22px!important;height:22px!important}
  .v2-global-player{height:74px!important}
  .v2-player-copy strong{font-size:12px!important}
  .v2-player-copy span{font-size:10px!important}
}


/* ============================================================
   PLENA507 V2.10 — reference-matched glass menu + player spacing
   ============================================================ */
@media(max-width:760px){
  :root{--mobile-nav-h:98px;--player-h:88px}
  .v2-main{padding-bottom:calc(236px + env(safe-area-inset-bottom,0px))!important}

  .v2-mobile-bottom-nav.v28-mobile-nav{
    left:14px!important;
    right:14px!important;
    bottom:max(14px,env(safe-area-inset-bottom,0px))!important;
    height:92px!important;
    padding:9px!important;
    gap:7px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.05)),
      rgba(40,40,46,.28)!important;
    -webkit-backdrop-filter:blur(34px) saturate(1.7)!important;
    backdrop-filter:blur(34px) saturate(1.7)!important;
    box-shadow:
      0 20px 55px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.18)!important;
    overflow:hidden!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav:before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 34%,rgba(0,0,0,.06));
  }
  .v2-mobile-bottom-nav.v28-mobile-nav a{
    min-height:100%!important;
    border-radius:999px!important;
    padding:8px 2px 7px!important;
    gap:4px!important;
    font-size:10px!important;
    font-weight:800!important;
    color:rgba(255,255,255,.88)!important;
    z-index:1;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:30px!important;height:30px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a.active{
    background:
      radial-gradient(circle at 55% 38%,rgba(255,60,120,.85),rgba(255,31,105,.78) 45%,rgba(202,12,96,.70) 100%)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.20),
      0 10px 28px rgba(240,24,96,.28)!important;
    color:#fff!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav a.active .ui-icon{width:31px!important;height:31px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a span{white-space:nowrap!important}
  html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav{
    background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.34)),rgba(242,242,247,.38)!important;
    border-color:rgba(20,24,31,.10)!important;
  }
  html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav a{color:rgba(25,29,36,.88)!important}

  .v2-global-player{
    left:14px!important;
    right:14px!important;
    bottom:calc(108px + env(safe-area-inset-bottom,0px))!important;
    height:86px!important;
    padding:9px 12px 9px 9px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.05)),
      rgba(39,39,44,.26)!important;
    -webkit-backdrop-filter:blur(34px) saturate(1.7)!important;
    backdrop-filter:blur(34px) saturate(1.7)!important;
    box-shadow:
      0 18px 48px rgba(0,0,0,.30),
      inset 0 1px 0 rgba(255,255,255,.16)!important;
    overflow:hidden!important;
  }
  .v2-global-player:after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 35%,rgba(0,0,0,.04));
  }
  .v2-global-player>*{position:relative;z-index:1}
  .v2-player-track{grid-template-columns:58px minmax(0,1fr)!important;gap:12px!important}
  .v2-player-cover{width:58px!important;height:58px!important;min-width:58px!important;border-radius:18px!important}
  .v2-player-copy strong{font-size:15px!important;line-height:1.08!important}
  .v2-player-copy span{font-size:10.5px!important;opacity:.82!important}
  .v2-player-main{width:48px!important;height:48px!important}
  .v2-player-main .ui-icon{width:25px!important;height:25px!important}
  .v2-player-controls>[data-player-next]{width:40px!important;height:40px!important}
  .v2-player-controls>[data-player-next] .ui-icon{width:22px!important;height:22px!important}
  .v2-player-mini-progress{
    left:80px!important;
    right:106px!important;
    bottom:9px!important;
    height:2px!important;
    background:rgba(255,255,255,.18)!important;
  }
  .v2-player-mini-progress input{height:2px!important}

  body > .v2-mobile-player-sheet{
    background:
      radial-gradient(circle at 12% 8%,rgba(255,170,80,.28),transparent 28%),
      radial-gradient(circle at 88% 10%,rgba(226,53,172,.22),transparent 30%),
      linear-gradient(135deg,#ff7a1a 0%,#ff5b26 20%,#f53d4f 42%,#e72e79 61%,#cb1e97 77%,#7c136d 100%)!important;
  }

  html[data-theme="light"] .v2-global-player{
    background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.42)),rgba(242,242,247,.40)!important;
    border-color:rgba(20,24,31,.10)!important;
  }
}
@media(max-width:390px){
  .v2-mobile-bottom-nav.v28-mobile-nav{left:10px!important;right:10px!important;height:88px!important;padding:8px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:28px!important;height:28px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a{font-size:9px!important}
  .v2-global-player{left:10px!important;right:10px!important;height:82px!important;bottom:calc(102px + env(safe-area-inset-bottom,0px))!important}
  .v2-player-copy strong{font-size:14px!important}
}


/* ============================================================
   PLENA507 V2.11 — slimmer translucent mini-player/menu
   ============================================================ */
@media(max-width:760px){
  :root{--mobile-nav-h:92px;--player-h:72px}
  .v2-main{padding-bottom:calc(214px + env(safe-area-inset-bottom,0px))!important}

  .v2-mobile-bottom-nav.v28-mobile-nav{
    height:86px!important;
    bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.025)),
      rgba(44,44,50,.18)!important;
    border-color:rgba(255,255,255,.14)!important;
    -webkit-backdrop-filter:blur(34px) saturate(1.65)!important;
    backdrop-filter:blur(34px) saturate(1.65)!important;
    box-shadow:0 16px 42px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.14)!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav:before{
    background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,0) 34%,rgba(0,0,0,.04));
  }
  .v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:28px!important;height:28px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a{font-size:9.6px!important;gap:3px!important}

  .v2-global-player{
    height:68px!important;
    bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
    padding:7px 10px 7px 8px!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.025)),
      rgba(44,44,50,.16)!important;
    border-color:rgba(255,255,255,.14)!important;
    -webkit-backdrop-filter:blur(34px) saturate(1.65)!important;
    backdrop-filter:blur(34px) saturate(1.65)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12)!important;
    gap:8px!important;
  }
  .v2-global-player:after{
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 35%,rgba(0,0,0,.03));
  }
  .v2-player-track{grid-template-columns:46px minmax(0,1fr)!important;gap:10px!important}
  .v2-player-cover{
    width:46px!important;height:46px!important;min-width:46px!important;border-radius:15px!important;
    border-color:rgba(255,255,255,.12)!important;
  }
  .v2-player-copy strong{font-size:12.5px!important;line-height:1.05!important}
  .v2-player-copy span{font-size:10px!important}
  .v2-player-controls{gap:6px!important}
  /* Keep Play and Next visible and clear */
  .v2-player-main,.v2-player-controls>[data-player-next]{display:grid!important;place-items:center!important}
  .v2-player-main{
    width:40px!important;height:40px!important;
    background:rgba(255,255,255,.92)!important;color:#d11f79!important;
    box-shadow:0 6px 16px rgba(0,0,0,.14)!important;
  }
  .v2-player-main .ui-icon{width:21px!important;height:21px!important}
  .v2-player-controls>[data-player-next]{
    width:34px!important;height:34px!important;
    background:rgba(255,255,255,.10)!important;
    border:1px solid rgba(255,255,255,.12)!important;
  }
  .v2-player-controls>[data-player-next] .ui-icon{width:19px!important;height:19px!important}
  .v2-player-mini-progress{
    left:66px!important;right:88px!important;bottom:8px!important;height:2px!important;
    background:rgba(255,255,255,.16)!important;
  }

  html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav{
    background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.20)),rgba(242,242,247,.24)!important;
  }
  html[data-theme="light"] .v2-global-player{
    background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(255,255,255,.22)),rgba(242,242,247,.22)!important;
  }
}
@media(max-width:390px){
  .v2-mobile-bottom-nav.v28-mobile-nav{height:82px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:26px!important;height:26px!important}
  .v2-global-player{height:66px!important;bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
  .v2-player-copy strong{font-size:12px!important}
  .v2-player-cover{width:44px!important;height:44px!important;min-width:44px!important}
}


/* ============================================================
   PLENA507 V2.12 — finer glass menu/player, visible play+next
   ============================================================ */
@media(max-width:760px){
  :root{--mobile-nav-h:84px;--player-h:62px}
  .v2-main{padding-bottom:calc(194px + env(safe-area-inset-bottom,0px))!important}

  .v2-global-player{
    height:60px!important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
    padding:6px 9px 6px 7px!important;
    gap:8px!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.018)),
      rgba(42,42,48,.11)!important;
    border-color:rgba(255,255,255,.10)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.10)!important;
  }
  .v2-global-player:after{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0) 35%,rgba(0,0,0,.025));}
  .v2-player-track{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:8px!important;
    min-width:0!important;
  }
  .v2-player-cover{width:40px!important;height:40px!important;min-width:40px!important;border-radius:14px!important}
  .v2-player-copy{min-width:0!important}
  .v2-player-copy strong{font-size:11.5px!important;line-height:1.04!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .v2-player-copy span{font-size:9px!important;line-height:1.05!important}
  /* hide extra actions in mini-player to free space */
  .v2-player-track .v2-player-action,
  .v2-player-track .v2-player-more{display:none!important}
  /* keep only Play and Next in the right side like the reference */
  .v2-player-controls{gap:6px!important;display:flex!important;align-items:center!important}
  .v2-player-controls>[data-player-shuffle],
  .v2-player-controls>[data-player-prev],
  .v2-player-controls>[data-player-repeat]{display:none!important}
  .v2-player-main{width:38px!important;height:38px!important}
  .v2-player-main .ui-icon{width:20px!important;height:20px!important}
  .v2-player-controls>[data-player-next]{width:32px!important;height:32px!important}
  .v2-player-controls>[data-player-next] .ui-icon{width:18px!important;height:18px!important}
  .v2-player-mini-progress{left:58px!important;right:78px!important;bottom:7px!important;opacity:.9}

  .v2-mobile-bottom-nav.v28-mobile-nav{
    height:78px!important;
    bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
    padding:8px!important;
    gap:4px!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.016)),
      rgba(40,40,46,.10)!important;
    border-color:rgba(255,255,255,.10)!important;
    box-shadow:0 14px 32px rgba(0,0,0,.17), inset 0 1px 0 rgba(255,255,255,.10)!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav:before{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 36%,rgba(0,0,0,.018));}
  .v2-mobile-bottom-nav.v28-mobile-nav a{
    font-size:9px!important;
    gap:2px!important;
    padding:7px 2px 6px!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav .ui-icon{width:25px!important;height:25px!important}
  .v2-mobile-bottom-nav.v28-mobile-nav a.active{
    background:radial-gradient(circle at 50% 28%,rgba(255,58,128,.82),rgba(245,23,111,.74) 54%,rgba(198,17,102,.64) 100%)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 22px rgba(240,24,96,.20)!important;
    transform:scale(.965)!important;
  }
  .v2-mobile-bottom-nav.v28-mobile-nav a.active .ui-icon{width:26px!important;height:26px!important}

  html[data-theme="light"] .v2-global-player{
    background:linear-gradient(180deg,rgba(255,255,255,.50),rgba(255,255,255,.14)),rgba(242,242,247,.16)!important;
    border-color:rgba(20,24,31,.08)!important;
  }
  html[data-theme="light"] .v2-mobile-bottom-nav.v28-mobile-nav{
    background:linear-gradient(180deg,rgba(255,255,255,.54),rgba(255,255,255,.16)),rgba(242,242,247,.18)!important;
    border-color:rgba(20,24,31,.08)!important;
  }
}
@media(max-width:390px){
  .v2-main{padding-bottom:calc(186px + env(safe-area-inset-bottom,0px))!important}
  .v2-global-player{height:58px!important;bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
  .v2-mobile-bottom-nav.v28-mobile-nav{height:76px!important}
  .v2-player-copy strong{font-size:11px!important}
}


/* ============================================================
   PLENA507 V2.13 — dedicated mobile Play + Next controls
   ============================================================ */
.v2-player-mobile-controls{display:none}
@media(max-width:760px){
  .v2-global-player{grid-template-columns:minmax(0,1fr) 78px!important}
  .v2-global-player>.v2-player-controls{display:none!important}
  .v2-player-mobile-controls{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    gap:5px!important;width:78px!important;min-width:78px!important;position:relative!important;z-index:6!important;
  }
  .v2-player-mobile-controls button{border:0;padding:0;display:grid!important;place-items:center!important;flex:0 0 auto!important;cursor:pointer}
  .v2-player-mobile-play{
    width:39px!important;height:39px!important;border-radius:50%!important;
    background:rgba(255,255,255,.94)!important;color:#d11d75!important;
    box-shadow:0 6px 16px rgba(0,0,0,.14)!important
  }
  .v2-player-mobile-play .ui-icon{width:21px!important;height:21px!important}
  .v2-player-mobile-next{
    width:31px!important;height:31px!important;border-radius:50%!important;
    background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important
  }
  .v2-player-mobile-next .ui-icon{width:18px!important;height:18px!important}
  .v2-player-mini-progress{right:88px!important}
  html[data-theme="light"] .v2-player-mobile-next{background:rgba(20,25,30,.08)!important;border-color:rgba(20,25,30,.08)!important;color:#20262c!important}
}
@media(max-width:390px){
  .v2-global-player{grid-template-columns:minmax(0,1fr) 72px!important}
  .v2-player-mobile-controls{width:72px!important;min-width:72px!important;gap:4px!important}
  .v2-player-mobile-play{width:37px!important;height:37px!important}
  .v2-player-mobile-next{width:29px!important;height:29px!important}
  .v2-player-mini-progress{right:82px!important}
}


/* ============================================================
   PLENA507 V2.14 — clean mobile mini-player rebuilt from scratch
   ============================================================ */
.v214-mobile-mini{display:none}
@media(max-width:760px){
  :root{--player-h:60px;--mobile-nav-h:84px}
  .v2-main{padding-bottom:calc(190px + env(safe-area-inset-bottom,0px))!important}

  .v2-global-player{
    display:block!important;
    left:14px!important;
    right:14px!important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:60px!important;
    min-height:60px!important;
    padding:0!important;
    border-radius:999px!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.015)),rgba(38,40,45,.10)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    -webkit-backdrop-filter:blur(34px) saturate(1.6)!important;
    backdrop-filter:blur(34px) saturate(1.6)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.09)!important;
  }
  .v2-global-player:before,.v2-global-player:after{display:none!important}
  .v2-global-player > audio{display:none!important}
  .v2-global-player > .v2-player-mini-progress,
  .v2-global-player > .v2-player-track,
  .v2-global-player > .v2-player-controls,
  .v2-global-player > .v2-player-progress,
  .v2-global-player > .v2-player-volume,
  .v2-global-player > .v2-player-mobile-controls{display:none!important}

  .v214-mobile-mini{
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    height:100%!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 78px!important;
    grid-template-rows:1fr 3px!important;
    column-gap:9px!important;
    align-items:center!important;
    padding:6px 9px 5px 7px!important;
    box-sizing:border-box!important;
  }
  .v214-mini-cover{
    grid-column:1;grid-row:1;
    width:44px!important;height:44px!important;min-width:44px!important;
    padding:0!important;border:1px solid rgba(255,255,255,.12)!important;
    border-radius:14px!important;overflow:hidden!important;
    background:rgba(255,255,255,.08)!important;color:#fff!important;
    display:grid!important;place-items:center!important;cursor:pointer!important;
  }
  .v214-mini-cover img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
  .v214-mini-copy{
    grid-column:2;grid-row:1;
    min-width:0!important;width:100%!important;height:44px!important;
    border:0!important;background:transparent!important;padding:3px 0!important;
    color:#fff!important;text-align:left!important;cursor:pointer!important;
    display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;
    overflow:hidden!important;
  }
  .v214-mini-copy strong{
    display:block!important;width:100%!important;max-width:100%!important;
    font-size:12px!important;line-height:1.12!important;font-weight:800!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#fff!important;
  }
  .v214-mini-copy span{
    display:block!important;width:100%!important;max-width:100%!important;
    margin-top:2px!important;font-size:9.5px!important;line-height:1!important;font-weight:500!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:rgba(255,255,255,.72)!important;
  }
  .v214-mini-controls{
    grid-column:3;grid-row:1;
    width:78px!important;min-width:78px!important;height:44px!important;
    display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;
  }
  .v214-mini-controls button{padding:0!important;display:grid!important;place-items:center!important;flex:0 0 auto!important;cursor:pointer!important}
  .v214-mini-play{
    width:38px!important;height:38px!important;border-radius:50%!important;border:0!important;
    background:rgba(255,255,255,.95)!important;color:#d01b73!important;
    box-shadow:0 5px 14px rgba(0,0,0,.13)!important;
  }
  .v214-mini-play .ui-icon{width:20px!important;height:20px!important}
  .v214-mini-next{
    width:32px!important;height:32px!important;border-radius:50%!important;
    border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.09)!important;color:#fff!important;
  }
  .v214-mini-next .ui-icon{width:18px!important;height:18px!important}
  .v214-mini-progress{
    grid-column:2 / 4;grid-row:2;
    width:100%!important;height:3px!important;margin:0!important;padding:0!important;
    appearance:none!important;-webkit-appearance:none!important;border:0!important;outline:0!important;
    border-radius:999px!important;overflow:hidden!important;
    background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.18) 0%)!important;
  }
  .v214-mini-progress::-webkit-slider-thumb{appearance:none!important;-webkit-appearance:none!important;width:0!important;height:0!important;opacity:0!important}
  .v214-mini-progress::-moz-range-thumb{width:0!important;height:0!important;border:0!important;opacity:0!important}

  html[data-theme="light"] .v2-global-player{
    background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.12)),rgba(242,242,247,.14)!important;
    border-color:rgba(20,24,31,.08)!important;
  }
  html[data-theme="light"] .v214-mini-copy strong{color:#15191e!important}
  html[data-theme="light"] .v214-mini-copy span{color:rgba(21,25,30,.64)!important}
  html[data-theme="light"] .v214-mini-next{color:#20262c!important;background:rgba(20,25,30,.07)!important;border-color:rgba(20,25,30,.08)!important}
}
@media(max-width:390px){
  .v2-global-player{left:10px!important;right:10px!important;height:58px!important;min-height:58px!important;bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
  .v214-mobile-mini{grid-template-columns:42px minmax(0,1fr) 74px!important;column-gap:8px!important;padding:6px 8px 5px 6px!important}
  .v214-mini-cover{width:42px!important;height:42px!important;min-width:42px!important}
  .v214-mini-controls{width:74px!important;min-width:74px!important;gap:5px!important}
  .v214-mini-play{width:36px!important;height:36px!important}
  .v214-mini-next{width:30px!important;height:30px!important}
  .v214-mini-copy strong{font-size:11.5px!important}
}


/* ============================================================
   PLENA507 V2.15 — structured mini-player + live progress + marquee
   ============================================================ */
@media(max-width:760px){
  :root{--player-h:64px}
  .v2-global-player{
    height:64px!important;
    min-height:64px!important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }
  .v214-mobile-mini{
    grid-template-columns:42px minmax(0,1fr) 76px!important;
    grid-template-rows:40px 10px!important;
    column-gap:9px!important;
    row-gap:1px!important;
    align-items:center!important;
    padding:6px 9px 6px 7px!important;
  }
  .v214-mini-cover{
    grid-column:1!important;
    grid-row:1!important;
    width:42px!important;height:42px!important;min-width:42px!important;
  }
  .v214-mini-copy{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    height:40px!important;
    min-width:0!important;
    padding:3px 0 2px!important;
    display:grid!important;
    grid-template-rows:19px 14px!important;
    align-content:center!important;
    gap:1px!important;
    overflow:hidden!important;
  }
  .v215-mini-title-window{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:19px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    mask-image:linear-gradient(90deg,#000 0%,#000 92%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 92%,transparent 100%);
  }
  .v215-mini-title-window strong[data-v214-title]{
    display:inline-block!important;
    width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:12px!important;
    line-height:19px!important;
    font-weight:800!important;
    color:#fff!important;
    transform:translate3d(0,0,0);
    will-change:transform;
  }
  .v215-mini-title-window.is-scrolling strong[data-v214-title]{
    animation:v215-title-scroll var(--v215-marquee-duration,10s) linear infinite;
  }
  @keyframes v215-title-scroll{
    0%,12%{transform:translate3d(0,0,0)}
    82%,94%{transform:translate3d(calc(-1 * var(--v215-marquee-distance,0px)),0,0)}
    100%{transform:translate3d(0,0,0)}
  }
  @media(prefers-reduced-motion:reduce){
    .v215-mini-title-window.is-scrolling strong[data-v214-title]{animation:none!important}
  }
  .v215-mini-dj{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:14px!important;
    font-size:9.5px!important;
    line-height:14px!important;
    color:rgba(255,255,255,.72)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .v214-mini-controls{
    grid-column:3!important;
    grid-row:1!important;
    width:76px!important;
    min-width:76px!important;
    height:40px!important;
  }
  .v214-mini-play{width:36px!important;height:36px!important}
  .v214-mini-next{width:30px!important;height:30px!important}

  /* Dedicated progress row. It never overlaps title/DJ. */
  .v214-mini-progress{
    grid-column:2 / 4!important;
    grid-row:2!important;
    align-self:center!important;
    width:100%!important;
    height:8px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#fff 0%,#fff 0%,rgba(255,255,255,.22) 0%)!important;
    cursor:pointer!important;
  }
  .v214-mini-progress::-webkit-slider-runnable-track{
    height:3px!important;
    border-radius:999px!important;
    background:transparent!important;
  }
  .v214-mini-progress::-webkit-slider-thumb{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:9px!important;height:9px!important;
    margin-top:-3px!important;
    border:0!important;
    border-radius:50%!important;
    opacity:1!important;
    background:#fff!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.16),0 2px 8px rgba(0,0,0,.22)!important;
  }
  .v214-mini-progress::-moz-range-track{
    height:3px!important;border:0!important;border-radius:999px!important;background:transparent!important;
  }
  .v214-mini-progress::-moz-range-progress{
    height:3px!important;border-radius:999px!important;background:#fff!important;
  }
  .v214-mini-progress::-moz-range-thumb{
    width:9px!important;height:9px!important;border:0!important;border-radius:50%!important;opacity:1!important;background:#fff!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.16),0 2px 8px rgba(0,0,0,.22)!important;
  }
  html[data-theme="light"] .v215-mini-title-window strong[data-v214-title]{color:#15191e!important}
  html[data-theme="light"] .v215-mini-dj{color:rgba(21,25,30,.64)!important}
  html[data-theme="light"] .v214-mini-progress{
    background:linear-gradient(90deg,#252a30 0%,#252a30 0%,rgba(25,30,36,.20) 0%)!important;
  }
  html[data-theme="light"] .v214-mini-progress::-webkit-slider-thumb{background:#252a30!important;box-shadow:0 0 0 2px rgba(25,30,36,.10),0 2px 8px rgba(0,0,0,.12)!important}
  html[data-theme="light"] .v214-mini-progress::-moz-range-thumb{background:#252a30!important}
}
@media(max-width:390px){
  .v2-global-player{height:62px!important;min-height:62px!important}
  .v214-mobile-mini{
    grid-template-columns:40px minmax(0,1fr) 72px!important;
    grid-template-rows:38px 10px!important;
    column-gap:8px!important;
    padding:6px 8px 5px 6px!important;
  }
  .v214-mini-cover{width:40px!important;height:40px!important;min-width:40px!important}
  .v214-mini-copy{height:38px!important;grid-template-rows:18px 13px!important}
  .v215-mini-title-window{height:18px!important}
  .v215-mini-title-window strong[data-v214-title]{font-size:11.5px!important;line-height:18px!important}
  .v215-mini-dj{font-size:9px!important;line-height:13px!important;height:13px!important}
  .v214-mini-controls{width:72px!important;min-width:72px!important;height:38px!important}
  .v214-mini-play{width:34px!important;height:34px!important}
  .v214-mini-next{width:29px!important;height:29px!important}
}


/* ============================================================
   PLENA507 V2.16 — marquee + bounded progress width
   ============================================================ */
@media(max-width:760px){
  .v214-mobile-mini{
    grid-template-columns:42px minmax(0,1fr) 82px!important;
    grid-template-rows:40px 10px!important;
    column-gap:8px!important;
    row-gap:2px!important;
  }
  .v214-mini-copy{padding-right:2px!important}
  .v215-mini-title-window{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    padding-right:2px!important;
    mask-image:linear-gradient(90deg,#000 0%,#000 84%,transparent 100%)!important;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 84%,transparent 100%)!important;
  }
  .v215-mini-title-window strong[data-v214-title]{padding-right:16px!important}
  .v214-mini-controls{width:82px!important;min-width:82px!important;justify-self:end!important}
  .v214-mini-progress{
    grid-column:2 / 3!important;
    grid-row:2!important;
    width:100%!important;
    max-width:100%!important;
    justify-self:stretch!important;
    margin:0!important;
    align-self:center!important;
  }
}
@media(max-width:390px){
  .v214-mobile-mini{grid-template-columns:40px minmax(0,1fr) 78px!important}
  .v214-mini-controls{width:78px!important;min-width:78px!important}
  .v214-mini-progress{grid-column:2 / 3!important}
}


/* ============================================================
   PLENA507 V2.17 — force marquee + gradient mini progress
   ============================================================ */
@media(max-width:760px){
  .v215-mini-title-window{min-width:0!important;overflow:hidden!important}
  .v215-mini-title-window.is-scrolling strong[data-v214-title]{
    animation-name:v215-title-scroll!important;
    animation-duration:var(--v215-marquee-duration,12s)!important;
    animation-timing-function:linear!important;
    animation-iteration-count:infinite!important;
    animation-fill-mode:both!important;
  }
  .v214-mini-progress{
    -webkit-appearance:none!important;
    appearance:none!important;
    background-color:transparent!important;
  }
  .v214-mini-progress::-webkit-slider-runnable-track{
    height:4px!important;
    border-radius:999px!important;
  }
  .v214-mini-progress::-webkit-slider-thumb{
    margin-top:-2.5px!important;
  }
  .v214-mini-progress::-moz-range-track{height:4px!important}
  .v214-mini-progress::-moz-range-progress{
    background:linear-gradient(90deg,#ff8a1f 0%,#ff4f57 52%,#f0258f 100%)!important;
  }
}


/* ============================================================
   PLENA507 V2.18 — mini progress bar like reference (gray + white)
   ============================================================ */
@media(max-width:760px){
  .v214-mini-progress{
    height:3px!important;
    min-height:3px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.22)!important;
    box-shadow:none!important;
  }
  .v214-mini-progress::-webkit-slider-runnable-track{
    height:3px!important;
    border-radius:999px!important;
    background:transparent!important;
  }
  .v214-mini-progress::-webkit-slider-thumb{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:12px!important;
    height:12px!important;
    border-radius:50%!important;
    background:#fff!important;
    border:none!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.10), 0 1px 6px rgba(0,0,0,.18)!important;
    margin-top:-4.5px!important;
  }
  .v214-mini-progress::-moz-range-track{
    height:3px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.22)!important;
  }
  .v214-mini-progress::-moz-range-progress{
    height:3px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.92)!important;
  }
  .v214-mini-progress::-moz-range-thumb{
    width:12px!important;
    height:12px!important;
    border:none!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:0 0 0 2px rgba(255,255,255,.10), 0 1px 6px rgba(0,0,0,.18)!important;
  }
}


/* ============================================================
   PLENA507 V2.19 — fullscreen gradient on top/bottom chrome areas
   ============================================================ */
html.player-sheet-open,
body.player-sheet-open{
  background:
    radial-gradient(circle at 10% 5%,rgba(255,139,43,.20),transparent 28%),
    radial-gradient(circle at 92% 14%,rgba(210,17,181,.18),transparent 30%),
    linear-gradient(160deg,#ff6722 0%,#f44a36 24%,#e92c67 52%,#c5178c 74%,#721064 100%) fixed!important;
  background-color:#f44a36!important;
}

@media(max-width:760px){
  html.player-sheet-open,
  body.player-sheet-open{
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  /* fixed underlay guarantees gradient exists behind iOS safe areas and Safari translucent bars */
  body.player-sheet-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:399;
    pointer-events:none;
    background:
      radial-gradient(circle at 10% 5%,rgba(255,139,43,.20),transparent 28%),
      radial-gradient(circle at 92% 14%,rgba(210,17,181,.18),transparent 30%),
      linear-gradient(160deg,#ff6722 0%,#f44a36 24%,#e92c67 52%,#c5178c 74%,#721064 100%);
  }
  body > .v2-mobile-player-sheet{
    z-index:400!important;
    background:
      radial-gradient(circle at 10% 5%,rgba(255,139,43,.20),transparent 28%),
      radial-gradient(circle at 92% 14%,rgba(210,17,181,.18),transparent 30%),
      linear-gradient(160deg,#ff6722 0%,#f44a36 24%,#e92c67 52%,#c5178c 74%,#721064 100%)!important;
  }
}
/* PLENA507 v26 · créditos colaborativos enlazables */
.v2-artist-links{display:inline;min-width:0}.v2-artist-links a{color:inherit;text-decoration:none}.v2-artist-links a:hover{text-decoration:underline}.v2-artist-sep{color:inherit}.v2-detail-dj-link{color:inherit;text-decoration:none}.v2-detail-dj-link:hover{text-decoration:underline}

/* PLENA507 v27 · correcciones públicas */
/* Créditos colaborativos: una sola línea fluida; los separadores no saltan por separado. */
.v2-artist-links{display:inline!important;min-width:0;white-space:normal;line-height:1.35}
.v2-artist-links a{display:inline!important;color:inherit!important;text-decoration:none!important;white-space:normal}
.v2-artist-links a:hover{text-decoration:underline!important}
.v2-artist-unit{display:inline!important;white-space:nowrap}.v2-artist-sep{display:inline!important;color:inherit!important;white-space:pre}
.v2-mix-card .v2-artist-links.v2-muted{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-bottom:5px}
.v2-mix-row-main .v2-artist-links.v2-muted,.v2-mix-compact-copy .v2-artist-links.v2-muted{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-detail-dj .v2-artist-links{display:inline!important}

/* Todos los covers de música se muestran cuadrados (1:1). */
.v2-home-cover,.v2-home-carousel .v2-home-cover,
.v2-mix-cover,.v2-recommended-grid .v2-mix-cover,
.v2-mix-row-cover,.v2-mix-compact-cover,
.v2-mini-chart-cover,.v2-side-cover,.v2-chart-cover,
.v2-detail-cover,.v2-track-cover,.v2-related-cover,
.v28-continue-cover,.v2-player-cover,.v2-sheet-cover,.v214-mini-cover{
  aspect-ratio:1/1!important;
}
.v2-home-cover img,.v2-mix-cover img,.v2-mix-row-cover img,.v2-mix-compact-cover img,
.v2-mini-chart-cover img,.v2-side-cover img,.v2-chart-cover img,.v2-detail-cover img,
.v2-track-cover img,.v2-related-cover img,.v28-continue-cover img,.v2-player-cover img,
.v2-sheet-cover img,.v214-mini-cover img{width:100%!important;height:100%!important;object-fit:cover!important}
.v2-mix-row-cover{height:auto!important;min-height:0!important;width:104px!important}
.v2-mix-row{grid-template-columns:104px minmax(0,1fr) auto auto 46px!important;min-height:104px}
.v2-mix-compact-cover{width:64px!important;height:64px!important}
.v2-related-cover{width:74px!important;height:74px!important}
.v2-related-item{grid-template-columns:76px minmax(0,1fr) 32px 12px!important}
.v2-track-cover{width:40px!important;height:40px!important}
.v2-chart-cover{width:42px!important;height:42px!important}
.v2-chart-mix{grid-template-columns:44px minmax(0,1fr)!important}
.v28-continue-cover{width:86px!important;height:86px!important}
.v28-continue-card{grid-template-columns:86px minmax(0,1fr) 38px!important}
.v2-player-cover{width:52px!important;height:52px!important;min-width:52px!important}
.v2-sheet-cover{width:min(78vw,460px)!important;height:auto!important;margin-left:auto!important;margin-right:auto!important}

/* Waveform funcional: cada barra cambia al color de progreso real. */
.v2-waveform{touch-action:none}
.v2-wave-bars i{transition:background-color .08s ease,opacity .08s ease;opacity:.72;background:#60666a!important}
.v2-wave-bars i.played{background:#ff5c19!important;opacity:1}
.v2-wave-bars:before{display:none!important}
.v2-waveform input{z-index:4!important}
.v2-waveform.is-seeking{border-color:rgba(255,92,25,.65)}

/* Top Panamá */
.v27-top-hero{min-height:190px}.v27-top-hero .v2-top-controls{margin-top:14px;flex-wrap:wrap}.v27-top-plays{color:var(--muted);font-size:11px}.v27-top-support{margin-bottom:16px}

@media(max-width:1024px){
  .v2-mix-row{grid-template-columns:92px minmax(0,1fr) 38px!important;min-height:92px}.v2-mix-row-cover{width:90px!important}
}
@media(max-width:760px){
  /* El menú móvil se mantiene intacto. Solo ajustamos los covers. */
  .v2-home-carousel .v2-home-cover,.v2-home-cover{aspect-ratio:1/1!important}
  .v2-mix-row{grid-template-columns:82px minmax(0,1fr) 38px!important;min-height:82px}.v2-mix-row-cover{width:80px!important}
  .v2-detail-cover{width:min(88vw,420px)!important;aspect-ratio:1/1!important}
  .v2-related-cover{width:64px!important;height:64px!important}.v2-related-item{grid-template-columns:66px minmax(0,1fr) 32px 12px!important}
  .v2-chart-row.full .v2-chart-cover{width:58px!important;height:58px!important;aspect-ratio:1/1!important}.v2-chart-row.full>.v2-chart-mix{grid-template-columns:60px minmax(0,1fr)!important}
  .v28-continue-cover{width:78px!important;height:78px!important}.v28-continue-card{grid-template-columns:78px minmax(0,1fr) 36px!important}
}
.v27-top-support .v2-side-dj.rank{grid-template-columns:24px 42px minmax(0,1fr) 72px!important}
@media(max-width:760px){.v27-top-support .v2-side-dj.rank{grid-template-columns:22px 40px minmax(0,1fr) 64px!important}}

/* PLENA507 v28 · Inicio HOT + Lo Más Nuevo */
.v28-hot-carousel{
  --hot-gap:16px;
  --hot-visible:3;
  position:relative;
  margin:0 0 28px;
  padding:18px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:22px;
  background:
    radial-gradient(circle at 12% -10%,rgba(255,102,22,.18),transparent 34%),
    radial-gradient(circle at 92% 0%,rgba(222,32,119,.14),transparent 34%),
    var(--surface);
}
.v28-hot-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 15px;padding:0 2px}
.v28-hot-head>div{display:flex;align-items:baseline;gap:13px;min-width:0}
.v28-hot-kicker{font-size:14px;font-weight:950;letter-spacing:.05em;color:#ff5a17;white-space:nowrap}
.v28-hot-head strong{font-size:21px;line-height:1.1;color:var(--text)}
.v28-hot-counter{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}
.v28-hot-viewport{overflow:hidden;border-radius:17px}
.v28-hot-track{display:flex;gap:var(--hot-gap);will-change:transform;transform:translate3d(0,0,0)}
.v28-hot-card{
  flex:0 0 calc((100% - (var(--hot-gap) * (var(--hot-visible) - 1))) / var(--hot-visible));
  min-width:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface2);
  box-shadow:0 10px 30px rgba(0,0,0,.10);
}
.v28-hot-cover{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#090b0d}
.v28-hot-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.v28-hot-card:hover .v28-hot-cover img{transform:scale(1.025)}
.v28-hot-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.62) 100%);pointer-events:none}
.v28-hot-badge{position:absolute;left:12px;top:12px;padding:7px 10px;border-radius:999px;background:rgba(5,7,9,.78);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(9px);color:#fff;font-size:9px;font-weight:950;letter-spacing:.08em}
.v28-hot-duration{position:absolute;right:10px;bottom:10px;padding:4px 7px;border-radius:7px;background:rgba(0,0,0,.72);color:#fff;font-size:10px;font-weight:850}
.v28-hot-copy{padding:13px 14px 14px;min-width:0}
.v28-hot-copy>a{color:inherit;text-decoration:none}.v28-hot-copy h2{margin:0 0 5px;font-size:17px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v28-hot-copy .v2-artist-links.v2-muted{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;-webkit-line-clamp:unset!important;margin:0 0 11px;color:var(--muted);font-size:11px}
.v28-hot-actions{display:flex;align-items:center;gap:9px;margin-top:3px}
.v28-hot-actions .v2-play-button{min-height:36px;padding:0 13px;font-size:11px}
.v28-hot-open{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:10px;font-weight:850;text-decoration:none;background:transparent}
.v28-hot-open:hover{border-color:#ff6418;color:#ff6418}

/* Lo Más Nuevo: jamás envía una tarjeta a una segunda fila. */
.v28-newest-strip.home-recent{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  width:100%;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  padding:1px 1px 9px;
}
.v28-newest-strip.home-recent::-webkit-scrollbar{display:none}
.v28-newest-strip.home-recent>.v2-mix-card{
  flex:0 0 calc((100% - 64px) / 5)!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  scroll-snap-align:start;
}
.v28-newest-strip .v2-mix-card-body{min-width:0}
.v28-newest-strip .v2-mix-card-body h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

html[data-theme="light"] .v28-hot-carousel{box-shadow:0 14px 36px rgba(24,28,34,.07)}

@media(max-width:1280px){
  .v28-hot-carousel{--hot-visible:3;--hot-gap:13px;padding:15px}
  .v28-newest-strip.home-recent>.v2-mix-card{flex-basis:calc((100% - 48px) / 4)!important}
}
@media(max-width:980px){
  .v28-hot-carousel{--hot-visible:2;--hot-gap:12px}
  .v28-hot-counter{display:none}
  .v28-newest-strip.home-recent>.v2-mix-card{flex-basis:calc((100% - 32px) / 3)!important}
}
@media(max-width:760px){
  .v28-hot-carousel{--hot-visible:1.18;--hot-gap:10px;margin-bottom:21px;padding:12px;border-radius:16px}
  .v28-hot-head{margin-bottom:11px;align-items:center}.v28-hot-head>div{display:block}.v28-hot-head strong{display:none}.v28-hot-kicker{font-size:13px}
  .v28-hot-viewport{overflow:visible}
  .v28-hot-card{border-radius:15px}
  .v28-hot-copy{padding:10px 11px 11px}.v28-hot-copy h2{font-size:15px}.v28-hot-actions .v2-play-button{min-height:34px}
  .v28-newest-strip.home-recent{gap:10px!important}
  .v28-newest-strip.home-recent>.v2-mix-card{flex:0 0 min(74vw,270px)!important;min-width:min(74vw,270px)!important}
}
@media(max-width:420px){
  .v28-hot-carousel{--hot-visible:1.08;padding:10px}
  .v28-hot-copy h2{font-size:14px}
  .v28-hot-open{display:none}
  .v28-newest-strip.home-recent>.v2-mix-card{flex-basis:min(78vw,270px)!important;min-width:min(78vw,270px)!important}
}


/* PLENA507 v29 · HOT deslizable + Tendencias YouTube Music */
.v28-hot-carousel{overflow:hidden}
.v28-hot-head{align-items:center}
.v28-hot-viewport{overflow:visible;border-radius:17px}
.v28-hot-track{
  display:flex!important;flex-wrap:nowrap!important;gap:16px!important;
  width:100%;overflow-x:auto!important;overflow-y:hidden!important;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;scrollbar-width:none;
  transform:none!important;transition:none!important;will-change:auto!important;
  padding:1px 1px 8px;
}
.v28-hot-track::-webkit-scrollbar{display:none}
.v28-hot-card{flex:0 0 calc((100% - 32px)/3)!important;scroll-snap-align:start}
.v28-hot-copy .v2-artist-links.v2-muted{margin-bottom:0!important}
.v28-hot-actions,.v28-hot-open,.v28-hot-counter{display:none!important}
@media(max-width:980px){.v28-hot-card{flex-basis:calc((100% - 12px)/2)!important}}
@media(max-width:760px){
  .v28-hot-head>div{display:flex!important;align-items:baseline!important;gap:10px!important}
  .v28-hot-head strong{display:inline!important;font-size:18px!important}
  .v28-hot-track{gap:10px!important}
  .v28-hot-card{flex:0 0 min(76vw,290px)!important;min-width:min(76vw,290px)!important}
}
