/* ============================================================
   RingMang · Users · FUTURISTIC 5D THEME
   Display: Bricolage Grotesque · Body: Plus Jakarta Sans · Num: Space Grotesk
   Accents: electric cyan / acid lime / hot coral  (NO violet/indigo)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

:root{
  --c1:#19e3ff;            /* electric cyan  */
  --c2:#b6ff3a;            /* acid lime      */
  --c3:#ff5d5d;            /* hot coral      */
  --ink:#05070e; --bg:#05070e;
  --p1:#0b0f1b; --p2:#101626; --p3:#161d31; --p4:#1d2740;
  --line:rgba(120,170,255,.10); --line2:rgba(120,170,255,.20);
  --tx:#eaf1ff; --mu:#8b97b3; --mu2:#5b6party; --mu2:#586079;
  --ok:#39e6a0; --warn:#ffce4d; --err:#ff6b81;
  --r:20px; --rs:13px; --rl:30px;
  --glow1:0 0 24px -4px color-mix(in srgb,var(--c1) 60%,transparent);
  --sh:0 24px 60px -24px rgba(0,0,0,.85);
  --fd:'Bricolage Grotesque',system-ui,sans-serif;
  --fb:'Plus Jakarta Sans',system-ui,sans-serif;
  --fn:'Space Grotesk',ui-monospace,monospace;
  --hdr:64px; --ease:cubic-bezier(.2,.85,.25,1);
}
[data-theme="light"]{
  --c1:#0099c2; --c2:#5fa800; --c3:#e23b3b;
  --ink:#0a0e18; --bg:#e9eefb;
  --p1:#ffffff; --p2:#f3f6ff; --p3:#e7edfb; --p4:#dbe4f7;
  --line:rgba(20,40,90,.09); --line2:rgba(20,40,90,.16);
  --tx:#0a1020; --mu:#52607c; --mu2:#7c879e;
  --sh:0 22px 50px -26px rgba(30,50,110,.4);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--tx);background:var(--bg);line-height:1.55;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;padding-bottom:env(safe-area-inset-bottom)}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
.hidden{display:none !important}
::selection{background:color-mix(in srgb,var(--c1) 45%,transparent)}

/* ===== AMBIENT WORLD (structured, not blobs) ===== */
body::before,body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2}
body::before{ /* perspective grid floor + top glow */
  background:
    radial-gradient(80% 50% at 50% -10%, color-mix(in srgb,var(--c1) 14%,transparent), transparent 60%),
    radial-gradient(60% 40% at 100% 100%, color-mix(in srgb,var(--c3) 10%,transparent), transparent 60%),
    linear-gradient(var(--bg),var(--bg));
}
body::after{ /* moving tech grid + scanline */
  z-index:-1;opacity:.5;mix-blend-mode:soft-light;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c1) 9%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--c1) 9%,transparent) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 80%);
  animation:gridmove 18s linear infinite;
}
@keyframes gridmove{to{background-position:46px 46px,46px 46px}}
.scan{position:fixed;left:0;right:0;height:140px;z-index:-1;pointer-events:none;opacity:.4;
  background:linear-gradient(transparent,color-mix(in srgb,var(--c1) 8%,transparent),transparent);
  animation:scan 7s linear infinite}
@keyframes scan{0%{top:-140px}100%{top:100%}}

/* ===== HEADER ===== */
.hdr{position:sticky;top:0;z-index:60;height:var(--hdr);display:flex;align-items:center;gap:10px;padding:0 14px;
  background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid var(--line)}
.hdr::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:repeating-linear-gradient(90deg,var(--c1) 0 8px,transparent 8px 16px);background-size:200% 100%;animation:dash 4s linear infinite;opacity:.8}
@keyframes dash{to{background-position:200% 0}}
.hdr-logo{display:flex;align-items:center;gap:10px;font-family:var(--fd);font-weight:800;font-size:22px;letter-spacing:-.03em}
.hdr-ico{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:18px;position:relative;
  background:conic-gradient(from 0deg,var(--c1),var(--c2),var(--c3),var(--c1));animation:spin 8s linear infinite}
.hdr-ico::after{content:"🎵";position:absolute;inset:2px;border-radius:10px;background:var(--p1);display:grid;place-items:center}
@keyframes spin{to{transform:rotate(360deg)}}
.hdr-name{background:linear-gradient(92deg,var(--tx),var(--c1));-webkit-background-clip:text;background-clip:text;color:transparent}
.hdr-spec{display:flex;align-items:flex-end;gap:2px;height:18px;margin-left:2px}
.hdr-spec i{width:3px;background:var(--c1);border-radius:2px;height:30%;animation:eq 1s ease-in-out infinite}
.hdr-spec i:nth-child(2){animation-delay:.15s;background:var(--c2)}
.hdr-spec i:nth-child(3){animation-delay:.3s;background:var(--c3)}
.hdr-spec i:nth-child(4){animation-delay:.45s}
.hdr-spec i:nth-child(5){animation-delay:.6s;background:var(--c2)}
@keyframes eq{0%,100%{height:25%}50%{height:100%}}
.hdr-right{margin-left:auto;display:flex;align-items:center;gap:2px}
.ibtn{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:18px;color:var(--mu);transition:.18s var(--ease);position:relative}
.ibtn:hover{color:var(--tx);background:var(--p2)}
.ibtn:active{transform:scale(.88)}

/* ===== ANNOUNCE ===== */
.announce{padding:9px 16px;text-align:center;font-size:13px;font-weight:700;color:#04141a;letter-spacing:.01em;
  background:linear-gradient(90deg,var(--c1),var(--c2))}

/* ===== MAINTENANCE ===== */
.maint{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px)}
.maint-box{max-width:380px;text-align:center;padding:36px 26px;border-radius:var(--rl);background:var(--p1);box-shadow:var(--sh);border:1px solid var(--line2)}
.maint-ico{font-size:48px;margin-bottom:10px}
.maint-box h2{font-family:var(--fd);font-size:26px;margin-bottom:8px}
.maint-box p{color:var(--mu);font-size:14px}

/* ===== LAYOUT ===== */
.app{max-width:1200px;margin:0 auto;padding:18px 16px 44px}
.sec{margin-top:34px}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:15px}
.sec-h h2{font-family:var(--fd);font-weight:800;font-size:clamp(21px,5.4vw,30px);letter-spacing:-.03em;line-height:1;text-transform:none}
.sec-h h2 .em{color:var(--c1)}
.kicker{font-family:var(--fn);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--mu2);margin-bottom:6px}
.car-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 16px}
.car-head h2{font-family:var(--fd);font-weight:800;font-size:clamp(24px,7vw,40px);letter-spacing:-.04em;line-height:.95}
.car-nav{display:flex;gap:8px}
.car-btn{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:var(--p2);border:1px solid var(--line2);color:var(--tx);transition:.18s var(--ease)}
.car-btn:hover{border-color:var(--c1);color:var(--c1);box-shadow:var(--glow1);transform:translateY(-2px)}
.car-btn:active{transform:scale(.9)}

/* ===== 3D CAROUSEL (immersive) ===== */
.car-stage{perspective:1500px;height:330px;position:relative;touch-action:pan-y}
.car-track{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.car-card{position:absolute;top:0;left:50%;width:min(80%,310px);height:100%;border-radius:var(--rl);overflow:hidden;cursor:pointer;
  background:linear-gradient(165deg,var(--p2),var(--p1));border:1px solid var(--line2);box-shadow:var(--sh);
  transition:transform .6s var(--ease),opacity .45s;will-change:transform;display:flex;flex-direction:column;justify-content:flex-end}
.car-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--c,var(--c1)) 30%,transparent),transparent 62%)}
.car-card::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c,var(--c1)) 35%,transparent);opacity:.6}
.car-card .cc-cover{position:absolute;inset:0;display:grid;place-items:center;font-size:80px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.55))}
.car-card .cc-ring{position:absolute;top:14px;left:14px;width:30px;height:30px;border-radius:50%;border:2px solid color-mix(in srgb,var(--c2) 70%,transparent);border-top-color:transparent;animation:spin 2.4s linear infinite}
.car-card .cc-eq{position:absolute;top:18px;right:18px}
.car-card .cc-body{position:relative;padding:18px;background:linear-gradient(transparent,color-mix(in srgb,var(--ink) 82%,transparent))}
.car-card .cc-title{font-family:var(--fd);font-weight:700;font-size:18px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.car-card .cc-meta{font-family:var(--fn);font-size:11px;letter-spacing:.04em;color:var(--mu);margin-top:6px}

/* ===== EQUALIZER ===== */
.eq{display:inline-flex;align-items:flex-end;gap:2px;height:16px}
.eq span{width:3px;border-radius:2px;background:var(--c2);height:30%;animation:eq 1s ease-in-out infinite}
.eq span:nth-child(2){animation-delay:.2s;background:var(--c1)}
.eq span:nth-child(3){animation-delay:.4s;background:var(--c3)}
.eq span:nth-child(4){animation-delay:.1s}

/* ===== CHIPS ===== */
.chips{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;padding:10px 17px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;background:var(--p2);border:1px solid var(--line);color:var(--mu);transition:.18s var(--ease);display:inline-flex;align-items:center;gap:7px;font-family:var(--fb)}
.chip:hover{color:var(--tx);border-color:var(--line2);transform:translateY(-2px)}
.chip.on{color:#04141a;background:linear-gradient(120deg,var(--c1),var(--c2));border-color:transparent;box-shadow:0 10px 26px -10px var(--c1)}

/* ===== GRID + 5D CARDS ===== */
.grid{display:grid;gap:15px}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:640px){.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(3,1fr)}.cols-5{grid-template-columns:repeat(3,1fr)}}
@media(min-width:980px){.cols-4{grid-template-columns:repeat(4,1fr)}.cols-5{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1240px){.cols-5{grid-template-columns:repeat(5,1fr)}}

.card{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;background:linear-gradient(165deg,var(--p2),var(--p1));border:1px solid var(--line);box-shadow:var(--sh);
  transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;transform-style:preserve-3d;transform:perspective(700px) rotateX(var(--rx,0)) rotateY(var(--ry,0))}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:.25s;
  background:radial-gradient(120px 120px at var(--mx,50%) var(--my,30%),rgba(255,255,255,.22),transparent 60%)}
.card:hover{border-color:color-mix(in srgb,var(--c,var(--c1)) 50%,var(--line));box-shadow:0 30px 70px -26px color-mix(in srgb,var(--c,var(--c1)) 60%,transparent)}
.card:hover::after{opacity:1}
.card:active{transform:perspective(700px) scale(.97)}
.card-cover{position:relative;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 100% at 50% 0%,color-mix(in srgb,var(--c,var(--c1)) 32%,var(--p3)),var(--p3))}
.card-emoji{font-size:clamp(42px,12vw,60px);filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));transition:transform .4s var(--ease)}
.card:hover .card-emoji{transform:translateZ(40px) scale(1.12) rotate(-5deg)}
.card-play{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:.25s;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--ink) 35%,transparent),transparent 72%)}
.card:hover .card-play{opacity:1}
.card-play b{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:21px;color:#04141a;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 10px 28px -6px var(--c1);transform:scale(.6);transition:.3s var(--ease)}
.card:hover .card-play b{transform:translateZ(50px) scale(1)}
.card-eq{position:absolute;left:12px;bottom:12px;opacity:0;transition:.25s}
.card.is-playing .card-eq{opacity:1}
.card.is-playing .card-emoji{animation:spin 7s linear infinite}
.card-fav{position:absolute;top:9px;right:9px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:16px;background:color-mix(in srgb,var(--ink) 55%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line2);transition:.18s var(--ease);z-index:3}
.card-fav:hover{transform:scale(1.14)}
.card-fav:active{transform:scale(.85)}
.card-fav.on{color:var(--c3);border-color:color-mix(in srgb,var(--c3) 55%,transparent);box-shadow:0 0 18px -4px var(--c3)}
.card-body{padding:12px 13px 14px}
.card-title{font-family:var(--fd);font-weight:700;font-size:14.5px;line-height:1.22;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;align-items:center;gap:6px;margin-top:7px;font-family:var(--fn);font-size:10.5px;letter-spacing:.03em;color:var(--mu);flex-wrap:wrap}
.card-tag{padding:2px 8px;border-radius:999px;background:var(--p3);border:1px solid var(--line);color:var(--mu)}
.card-dur{margin-left:auto}

/* card style variants */
[data-cardstyle="glass"] .card,[data-cardstyle="glass"] .car-card{background:color-mix(in srgb,var(--p2) 55%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
[data-cardstyle="solid"] .card-cover{background:linear-gradient(150deg,var(--c,var(--c1)),color-mix(in srgb,var(--c,var(--c1)) 40%,var(--c3)))}
[data-cardstyle="solid"] .card-emoji{filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}

/* ===== RAILS ===== */
.row{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;scroll-snap-type:x proximity}
.row::-webkit-scrollbar{display:none}
.row .card{flex:0 0 172px;scroll-snap-align:start}
.artist-card{flex:0 0 138px;scroll-snap-align:start;text-align:center;padding:18px 10px;border-radius:var(--r);background:var(--p1);border:1px solid var(--line);transition:.22s var(--ease);position:relative;overflow:hidden}
.artist-card::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 0%,color-mix(in srgb,var(--c1) 12%,transparent),transparent 70%);opacity:0;transition:.25s}
.artist-card:hover{transform:translateY(-6px);border-color:var(--line2)}
.artist-card:hover::before{opacity:1}
.ac-avatar{width:78px;height:78px;border-radius:50%;margin:0 auto 11px;display:grid;place-items:center;font-family:var(--fd);font-weight:800;font-size:25px;color:#04141a;overflow:hidden;position:relative;box-shadow:0 10px 26px -10px rgba(0,0,0,.7)}
.ac-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ac-name{font-family:var(--fd);font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-sub{font-family:var(--fn);font-size:10.5px;color:var(--mu);margin-top:3px;letter-spacing:.04em}

/* ===== BUTTONS ===== */
.more-btn{display:block;margin:24px auto 0;padding:14px 34px;border-radius:999px;font-weight:700;font-size:14px;font-family:var(--fn);letter-spacing:.04em;color:var(--tx);background:var(--p2);border:1px solid var(--line2);transition:.2s var(--ease)}
.more-btn:hover{border-color:var(--c1);color:var(--c1);box-shadow:var(--glow1);transform:translateY(-2px)}

/* ===== EMPTY ===== */
.empty{text-align:center;padding:44px 16px;color:var(--mu)}
.empty-ico{font-size:44px;margin-bottom:8px;opacity:.7}

/* ===== AD SLOTS ===== */
.ad-slot{margin:24px 0;min-height:90px;border-radius:var(--r);overflow:hidden;position:relative;border:1px dashed var(--line)}
.ad-slot:not([hidden]){display:block}
.ad-label{position:absolute;top:6px;left:8px;z-index:3;font-family:var(--fn);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mu2);background:color-mix(in srgb,var(--bg) 70%,transparent);padding:2px 7px;border-radius:6px;backdrop-filter:blur(4px)}
.ad-inner{width:100%;min-height:90px;display:flex;align-items:center;justify-content:center}

/* ===== FOOTER ===== */
.ftr{max-width:1200px;margin:36px auto 0;padding:28px 16px 44px;border-top:1px solid var(--line);text-align:center}
.ftr-social{display:flex;justify-content:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.ftr-social a{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:18px;background:var(--p2);border:1px solid var(--line);transition:.18s var(--ease)}
.ftr-social a:hover{transform:translateY(-3px);border-color:var(--c1);color:var(--c1)}
.ftr-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}
.ftr-links a{color:var(--mu);transition:.15s}
.ftr-links a:hover{color:var(--tx)}
.ftr-text{font-family:var(--fn);font-size:11px;letter-spacing:.05em;color:var(--mu2)}

/* ===== SEARCH ===== */
.search{position:fixed;inset:0;z-index:120;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(12px);display:flex;flex-direction:column;padding:10px 14px}
.search-bar{display:flex;align-items:center;gap:6px;padding:6px 4px 12px;border-bottom:1px solid var(--line)}
.search-input{flex:1;height:48px;padding:0 14px;border-radius:15px;background:var(--p2);border:1px solid var(--line);font-size:16px;outline:none;transition:.18s}
.search-input:focus{border-color:var(--c1);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 18%,transparent)}
.search-hist{padding:14px 2px 4px}
.search-hist-h{font-family:var(--fn);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--mu2);margin-bottom:10px}
.search-res{flex:1;overflow-y:auto;padding:14px 0}

/* ===== MODALS ===== */
.modal{position:fixed;inset:0;z-index:150;display:flex;align-items:flex-end;justify-content:center}
@media(min-width:760px){.modal{align-items:center}}
.modal-backdrop{position:absolute;inset:0;background:rgba(2,4,10,.7);backdrop-filter:blur(6px);animation:fade .25s}
@keyframes fade{from{opacity:0}}
.modal-box{position:relative;width:100%;max-width:500px;max-height:93vh;overflow-y:auto;background:var(--p1);border:1px solid var(--line2);box-shadow:var(--sh);border-radius:var(--rl) var(--rl) 0 0;padding:22px 20px 26px;animation:sheet .38s var(--ease)}
@media(min-width:760px){.modal-box{border-radius:var(--rl);animation:pop .32s var(--ease)}}
@keyframes sheet{from{transform:translateY(44px);opacity:.3}}
@keyframes pop{from{transform:scale(.9);opacity:0}}
.modal-close{position:absolute;top:12px;right:12px;z-index:4}
.modal-box h3{font-family:var(--fd);font-weight:800;font-size:23px;margin-bottom:16px;letter-spacing:-.02em}

/* ===== FUTURISTIC PLAYER ===== */
.player{text-align:center}
.p-art{position:relative;width:200px;height:200px;margin:4px auto 18px;border-radius:28px;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(120% 100% at 50% 0%,color-mix(in srgb,var(--c1) 38%,var(--p3)),var(--p3));box-shadow:0 26px 60px -20px color-mix(in srgb,var(--c1) 55%,transparent)}
.p-art .ring{position:absolute;inset:-14px;border-radius:50%;border:2px dashed color-mix(in srgb,var(--c2) 55%,transparent);animation:spin 14s linear infinite}
.p-art .ring2{position:absolute;inset:-26px;border-radius:50%;border:1px solid color-mix(in srgb,var(--c1) 30%,transparent);border-top-color:transparent;animation:spin 6s linear infinite reverse}
.p-art .emoji{font-size:84px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5));z-index:2}
.p-art .wave{position:absolute;left:0;right:0;bottom:0;height:46%;display:flex;align-items:flex-end;gap:3px;justify-content:center;padding:0 18px 14px;-webkit-mask:linear-gradient(transparent,#000);mask:linear-gradient(transparent,#000);z-index:1}
.p-art .wave i{flex:1;max-width:5px;border-radius:3px;background:linear-gradient(var(--c1),var(--c2));height:20%;animation:eq 1.1s ease-in-out infinite}
.p-art .wave i:nth-child(3n){animation-delay:.2s}.p-art .wave i:nth-child(3n+1){animation-delay:.4s}.p-art .wave i:nth-child(4n){animation-delay:.6s}
.p-title{font-family:var(--fd);font-weight:800;font-size:21px;line-height:1.18;padding:0 10px}
.p-sub{color:var(--mu);font-family:var(--fn);font-size:12px;letter-spacing:.04em;margin-top:5px}
.p-badges{display:flex;justify-content:center;gap:7px;margin:11px 0 2px;flex-wrap:wrap}
.badge{font-family:var(--fn);font-size:10.5px;font-weight:700;letter-spacing:.05em;padding:4px 11px;border-radius:999px;background:var(--p3);border:1px solid var(--line);color:var(--mu)}
.badge.acc{color:var(--c1);border-color:color-mix(in srgb,var(--c1) 45%,transparent)}

/* custom transport */
.p-transport{margin:16px 2px 4px}
.p-seek{position:relative;height:8px;border-radius:999px;background:var(--p3);cursor:pointer;overflow:hidden}
.p-seek .fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;background:linear-gradient(90deg,var(--c1),var(--c2))}
.p-seek .knob{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);left:0;box-shadow:0 0 12px var(--c1);transition:left .05s linear}
.p-times{display:flex;justify-content:space-between;font-family:var(--fn);font-size:11px;color:var(--mu);margin-top:7px}
.p-ctrl{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}
.p-ctrl .round{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:18px;background:var(--p2);border:1px solid var(--line2);color:var(--mu);transition:.18s var(--ease)}
.p-ctrl .round:hover{color:var(--tx);border-color:var(--line2)}
.p-ctrl .round:active{transform:scale(.88)}
.p-ctrl .playbig{width:70px;height:70px;font-size:26px;color:#04141a;background:linear-gradient(135deg,var(--c1),var(--c2));border:0;box-shadow:0 12px 32px -8px var(--c1)}
.p-ctrl .playbig:active{transform:scale(.9)}

/* big action pills */
.p-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
.pill{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 10px;border-radius:16px;font-family:var(--fb);font-weight:700;font-size:14px;
  background:linear-gradient(160deg,var(--p3),var(--p2));border:1px solid var(--line2);transition:.18s var(--ease)}
.pill .pi{font-size:18px;display:grid;place-items:center}
.pill:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--pc,var(--c1)) 50%,var(--line2));box-shadow:0 14px 30px -14px var(--pc,var(--c1))}
.pill:active{transform:scale(.96)}
.pill.dl{--pc:var(--c2)}.pill.sh{--pc:var(--c1)}.pill.cp{--pc:var(--c3)}.pill.fv{--pc:var(--c3)}
.pill.fv.on{color:var(--c3);border-color:color-mix(in srgb,var(--c3) 55%,transparent);box-shadow:0 0 22px -6px var(--c3)}
.pill .pi svg{width:19px;height:19px}
.p-desc{font-size:13px;color:var(--mu);text-align:left;margin:14px 2px 0;white-space:pre-wrap}
.p-desc a{color:var(--c1);text-decoration:underline}
.p-tags{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin:12px 0 0}

/* ===== SHARE (real logos) ===== */
.share-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.share-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px 6px;border-radius:18px;font-weight:700;font-size:11.5px;color:#fff;
  background:linear-gradient(150deg,var(--c),color-mix(in srgb,var(--c) 60%,#000));box-shadow:0 12px 26px -14px var(--c);transition:.18s var(--ease);overflow:hidden}
.share-btn::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 0%,rgba(255,255,255,.25),transparent 60%);opacity:.7}
.share-btn:hover{transform:translateY(-4px)}
.share-btn:active{transform:scale(.94)}
.share-btn .s-ico{width:30px;height:30px;position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}
.share-btn .s-ico svg{width:30px;height:30px;fill:#fff}
.share-btn .s-lbl{position:relative;z-index:1}

/* ===== SETTINGS (custom controls, NO native select) ===== */
.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 2px;border-bottom:1px solid var(--line)}
.set-row>.lbl{font-size:14px;font-weight:600}
.set-row .sub{display:block;font-family:var(--fn);font-size:10px;letter-spacing:.04em;color:var(--mu2);margin-top:2px}
/* segmented control */
.seg{display:inline-flex;background:var(--p2);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.seg button{padding:8px 12px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--mu);transition:.18s var(--ease);white-space:nowrap}
.seg button.on{color:#04141a;background:linear-gradient(120deg,var(--c1),var(--c2));box-shadow:0 6px 16px -8px var(--c1)}
.seg button:not(.on):hover{color:var(--tx)}
/* switch */
.switch{width:52px;height:30px;border-radius:999px;background:var(--p3);border:1px solid var(--line);position:relative;transition:.22s var(--ease);flex:0 0 auto}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--mu);transition:.22s var(--ease)}
.switch[aria-pressed="true"]{background:linear-gradient(120deg,color-mix(in srgb,var(--c1) 40%,var(--p3)),color-mix(in srgb,var(--c2) 35%,var(--p3)));border-color:color-mix(in srgb,var(--c1) 50%,transparent)}
.switch[aria-pressed="true"]::after{left:25px;background:#fff;box-shadow:0 0 12px var(--c1)}
.set-btn{width:100%;margin-top:18px;padding:15px;border-radius:16px;font-weight:700;font-family:var(--fb);background:var(--p2);border:1px solid var(--line);transition:.18s}
.set-btn.danger{color:var(--err);border-color:color-mix(in srgb,var(--err) 38%,transparent)}
.set-btn:hover{transform:translateY(-2px)}
.set-note{font-family:var(--fn);font-size:10.5px;letter-spacing:.03em;color:var(--mu2);margin-top:13px;text-align:center}

/* ===== CONSENT / INTERSTITIAL / TOAST ===== */
.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:160;padding:16px;border-radius:var(--r);background:var(--p1);border:1px solid var(--line2);box-shadow:var(--sh);animation:sheet .35s var(--ease)}
@media(min-width:760px){.consent{max-width:440px;left:auto}}
.consent p{font-size:13px;color:var(--mu);margin-bottom:12px}
.consent-btns{display:flex;gap:10px}
.c-btn{flex:1;padding:12px;border-radius:13px;font-weight:700;background:var(--p2);border:1px solid var(--line);transition:.18s}
.c-btn.primary{color:#04141a;background:linear-gradient(120deg,var(--c1),var(--c2));border-color:transparent}
.c-btn:hover{transform:translateY(-2px)}
.interstitial{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:16px;background:rgba(2,4,10,.88);backdrop-filter:blur(6px)}
.interstitial-inner{position:relative;max-width:340px;width:100%;min-height:280px;border-radius:var(--r);overflow:hidden;background:var(--p2);border:1px solid var(--line2)}
.interstitial-inner::before{content:"ADVERTISEMENT";position:absolute;top:8px;left:10px;z-index:3;font-family:var(--fn);font-size:9px;letter-spacing:.14em;color:var(--mu2)}
.toasts{position:fixed;top:calc(var(--hdr) + 10px);right:12px;left:12px;z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
@media(min-width:760px){.toasts{left:auto;max-width:340px;align-items:stretch}}
.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:15px;font-size:13px;font-weight:600;background:var(--p1);border:1px solid var(--line2);box-shadow:var(--sh);animation:tin .3s var(--ease)}
.toast .ti{font-size:16px}
.toast.success{border-color:color-mix(in srgb,var(--ok) 45%,transparent)}
.toast.error{border-color:color-mix(in srgb,var(--err) 45%,transparent)}
.toast.info{border-color:color-mix(in srgb,var(--c1) 45%,transparent)}
@keyframes tin{from{transform:translateY(-12px);opacity:0}}

/* ripple */
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.4);transform:scale(0);animation:rip .6s ease-out;pointer-events:none}
@keyframes rip{to{transform:scale(2.6);opacity:0}}

/* reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}

/* skeleton */
.skel{border-radius:var(--r);background:linear-gradient(90deg,var(--p2),var(--p3),var(--p2));background-size:200% 100%;animation:sh 1.4s infinite}
.skel-card{aspect-ratio:3/4}
@keyframes sh{to{background-position:-200% 0}}

.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
.reduce-motion .card{transform:none !important}

::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:var(--p3);border-radius:9px}
::-webkit-scrollbar-thumb:hover{background:var(--mu2)}
@media(max-width:420px){.share-grid{grid-template-columns:repeat(3,1fr)}.p-art{width:170px;height:170px}}
/* ============================================================
   v2 POLISH  ·  append-only (पुरानो केही नमेटिएको — safe)
   - home बाट Artists rail लुकायो (ringtone card मा artist name रहन्छ)
   - card compact/सानो
   - player modal futuristic upgrade
   - settings grouped/premium
   ============================================================ */

/* (1) hide Artists rail on home only */
#artistsSection{display:none !important}

/* (2) compact / सानो cards */
.grid{gap:11px}
.card-cover{aspect-ratio:4/5}
.card-emoji{font-size:clamp(34px,9vw,46px)}
.card-body{padding:9px 10px 11px}
.card-title{font-size:13px;line-height:1.2}
.card-meta{font-size:9.5px;margin-top:5px;gap:5px}
.card-tag{padding:1px 7px;font-size:9px}
.card-fav{width:33px;height:33px;font-size:14px;top:7px;right:7px}
.card-play b{width:48px;height:48px;font-size:18px}
.row .card{flex:0 0 140px}
.car-stage{height:296px}
.car-card{width:min(76%,288px)}
.car-card .cc-cover{font-size:64px}
.car-card .cc-title{font-size:16px}

/* (3) PLAYER MODAL — futuristic upgrade */
#playerModal .modal-box{
  border-top:2px solid transparent;
  background-image:linear-gradient(var(--p1),var(--p1)),linear-gradient(90deg,var(--c1),var(--c2),var(--c3));
  background-origin:border-box;background-clip:padding-box,border-box;
}
.p-art{box-shadow:0 30px 70px -22px color-mix(in srgb,var(--c1) 60%,transparent),inset 0 0 0 1px var(--line2)}
.p-art .ring{border-style:solid;border-color:color-mix(in srgb,var(--c2) 60%,transparent);border-top-color:transparent;border-right-color:transparent}
.p-art .ring2{border-color:color-mix(in srgb,var(--c1) 35%,transparent);border-bottom-color:transparent}
.p-art .wave i{border-radius:3px;background:linear-gradient(var(--c2),var(--c1))}
.p-transport{margin-top:18px}
.p-seek{height:10px;background:var(--p3);box-shadow:inset 0 1px 4px rgba(0,0,0,.55)}
.p-seek .fill{background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3));box-shadow:0 0 14px color-mix(in srgb,var(--c1) 70%,transparent)}
.p-seek .knob{width:18px;height:18px;box-shadow:0 0 0 4px color-mix(in srgb,var(--c1) 25%,transparent),0 0 14px var(--c1)}
.p-times{font-size:11px}
.p-ctrl .playbig{background:conic-gradient(from 140deg,var(--c1),var(--c2),var(--c3),var(--c1));box-shadow:0 14px 36px -8px var(--c1)}
.p-ctrl .round{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.p-badges .badge.acc{box-shadow:0 0 16px -4px var(--c1)}
/* big action pills — icon chips + glow */
.pill{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.pill .pi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--pc,var(--c1)) 16%,transparent);transition:.18s var(--ease)}
.pill.dl .pi{color:var(--c2);background:color-mix(in srgb,var(--c2) 16%,transparent)}
.pill.sh .pi{color:var(--c1);background:color-mix(in srgb,var(--c1) 16%,transparent)}
.pill.cp .pi{color:var(--c3);background:color-mix(in srgb,var(--c3) 16%,transparent)}
.pill.fv .pi{color:var(--c3);background:color-mix(in srgb,var(--c3) 16%,transparent)}
.pill:hover .pi{transform:scale(1.12) rotate(-4deg)}
.pill.fv.on .pi{background:color-mix(in srgb,var(--c3) 28%,transparent)}

/* (4) SETTINGS — grouped premium cards */
#settingsModal .modal-box h3{position:relative;padding-bottom:12px;margin-bottom:6px}
#settingsModal .modal-box h3::after{content:"";position:absolute;left:0;bottom:0;width:54px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--c1),var(--c2))}
#settingsModal .set-row{margin:8px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,var(--p2),var(--p1))}
#settingsModal .set-row .lbl{font-weight:700}
.seg{background:var(--p3);box-shadow:inset 0 1px 3px rgba(0,0,0,.4)}
.seg button.on{box-shadow:0 6px 18px -8px var(--c1),inset 0 1px 0 rgba(255,255,255,.3)}
.switch{box-shadow:inset 0 1px 3px rgba(0,0,0,.4)}
#settingsModal .set-btn.danger{background:linear-gradient(160deg,color-mix(in srgb,var(--err) 12%,var(--p2)),var(--p1))}
#favCount{color:var(--c1);font-size:18px}

/* (5) SHARE — logo chips */
.share-btn .s-ico{background:rgba(255,255,255,.16);border-radius:10px;padding:6px;width:38px;height:38px;display:grid;place-items:center}
.share-btn .s-ico img{width:22px;height:22px}
.share-btn .s-ico svg{width:22px;height:22px}
/* ============================================================
   v3  COMPACT + AD-SAFE   (append-only · पुरानो केही नमेटिएको)
   - card square + सानो + dense  (4/5 को अग्लो गल्ती सच्यायो)
   - ad containment (aggressive ad ले page नबिगारोस्)
   - header opaque (scroll मा ad blur भित्र नदेखियोस्)
   ============================================================ */

/* home बाट Artists rail हटायो (ringtone card मा artist name रहन्छ) */
#artistsSection{display:none !important}

/* compact / सानो + dense cards */
.sec{margin-top:26px}
.grid{gap:10px}
.card-cover{aspect-ratio:1/1}
.card-emoji{font-size:clamp(30px,8vw,42px)}
.card-body{padding:8px 9px 10px}
.card-title{font-size:12.5px;line-height:1.18}
.card-meta{font-size:9px;margin-top:4px;gap:4px}
.card-tag{padding:1px 6px;font-size:8.5px}
.card-dur{font-size:9px}
.card-fav{width:30px;height:30px;font-size:13px;top:6px;right:6px}
.card-play b{width:44px;height:44px;font-size:17px}
.row{gap:10px}
.row .card{flex:0 0 132px}
.car-stage{height:270px}
.car-card{width:min(72%,268px)}
.car-card .cc-cover{font-size:58px}
.car-card .cc-title{font-size:15px}
.car-card .cc-body{padding:14px}

/* header अलि opaque */
.hdr{background:color-mix(in srgb,var(--bg) 92%,transparent)}

/* AD containment — ad ले page/layout नबिगारोस् */
.ad-slot{contain:layout paint;isolation:isolate;overflow:hidden;position:relative;max-height:300px;border-radius:14px;margin:18px 0}
.ad-slot .ad-inner{max-height:300px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ad-slot .ad-inner>*{max-width:100% !important}
.ad-slot iframe,.ad-slot img,.ad-slot ins,.ad-slot canvas{max-width:100%}
