/* mg-css 2026-11-02-c */
:root{
  --bg:#10001f;--bg2:#17042b;--panel:#1c0a36;--panel2:#26104a;--line:rgba(255,255,255,.10);--line2:rgba(255,255,255,.18);
  --text:#f7f1ff;--muted:#c4b4e4;--dim:#9a88bf;
  --pink:#e07bff;--violet:#7a5bff;--blue:#4a6bff;--cyan:#3d9bff;--gold:#d8b568;--ok:#7dffb2;--bad:#ff8fa3;
  --grad:linear-gradient(120deg,#e07bff 0%,#8a5bff 46%,#3d8bff 100%);
  --accent:#8a5bff;--side:252px;--topH:68px;--playerH:88px;--tabH:60px;--r:16px;
  --sans:Inter,"SF Pro Display",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--sans);font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{margin:0;line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:900}
h2{font-size:1.45rem;font-weight:800}
h3{font-size:1.1rem;font-weight:800}
p{margin:0 0 .6em}
.muted{color:var(--muted)}.tiny{font-size:.84rem}.pre{white-space:pre-wrap}.center{text-align:center;justify-content:center}.warn{color:var(--bad)}
.i{width:1.25em;height:1.25em;fill:currentColor;flex:none;vertical-align:-.22em}
:focus-visible{outline:3px solid var(--pink);outline-offset:2px;border-radius:8px}
.gr{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
::selection{background:#7a5bff;color:#fff}
*{scrollbar-width:thin;scrollbar-color:#4b2a86 transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#3b1d6e;border-radius:8px}::-webkit-scrollbar-track{background:transparent}

/* ---------- shell */
.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:var(--topH) minmax(0,1fr) auto;grid-template-areas:"side top" "side view" "player player";height:100vh;height:100dvh;background:
  radial-gradient(900px 500px at 78% -8%,rgba(138,91,255,.22),transparent 60%),radial-gradient(700px 420px at 4% 8%,rgba(224,123,255,.14),transparent 60%),var(--bg)}
.side{grid-area:side;display:flex;flex-direction:column;gap:6px;padding:18px 12px 12px;background:linear-gradient(180deg,#140027,#0d0019);border-right:1px solid var(--line);overflow:auto}
.top{grid-area:top;display:flex;align-items:center;gap:14px;padding:0 24px;position:relative;z-index:5}
.view{grid-area:view;overflow-y:auto;overflow-x:hidden;scroll-behavior:auto;outline:none;position:relative}
.player{grid-area:player;position:relative;z-index:6}
.loadbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none;opacity:0;transition:opacity .25s}
.loadbar.on{opacity:1}.loadbar i{display:block;height:100%;width:0;background:var(--grad);transition:width .35s ease}

/* ---------- brand and nav */
.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 14px;font-weight:900;letter-spacing:-.02em;font-size:1.12rem}
.brand:hover{text-decoration:none}.brand img{border-radius:11px;box-shadow:0 0 18px rgba(138,91,255,.55)}
.brand .word b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand.sm{display:none;padding:0}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a,.lists a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--muted);font-weight:700;transition:background .15s,color .15s}
.nav a:hover,.lists a:hover{background:rgba(255,255,255,.07);color:var(--text);text-decoration:none}
.nav a.on{background:linear-gradient(120deg,rgba(224,123,255,.2),rgba(61,139,255,.2));color:#fff;box-shadow:inset 0 0 0 1px rgba(224,123,255,.35)}
.nav .i{width:1.4em;height:1.4em}
.navhead{margin:16px 12px 4px;font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--dim);font-weight:800}
.lists{display:flex;flex-direction:column;gap:1px;min-height:0;overflow:auto;flex:1}
.lists a{font-weight:600;padding:8px 12px}.lists .dot{width:9px;height:9px;border-radius:50%;background:var(--grad);flex:none}
.lists a.on{color:#fff;background:rgba(255,255,255,.08)}
.sidefoot{padding:10px 12px;font-size:.82rem;color:var(--dim)}

/* ---------- top bar */
.search{flex:1;max-width:520px;display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid var(--line);transition:border-color .15s,background .15s}
.search:focus-within{border-color:var(--pink);background:rgba(255,255,255,.12)}
.search input[type=search],.bigsearch input[type=search]{flex:1;min-width:0;width:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none;outline:0;color:var(--text)}
.search input::placeholder,.bigsearch input::placeholder{color:#b3a2d6}
.bigsearch{display:flex;align-items:center;gap:12px;height:56px;margin:18px 0 6px;padding:0 20px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid var(--line2);font-size:1.1rem;transition:border-color .15s,background .15s}
.bigsearch:focus-within{border-color:var(--pink);background:rgba(255,255,255,.12)}
.bigsearch input[type=search]{font-size:1.1rem}
.acct{margin-left:auto;display:flex;align-items:center;gap:10px;position:relative}
.avatar{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--grad);color:#10001f;font-weight:900;overflow:hidden;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}.avatar.xl{width:132px;height:132px;font-size:3rem;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.menu{position:absolute;z-index:80;min-width:220px;padding:6px;border-radius:14px;background:#24103f;border:1px solid var(--line2);box-shadow:0 18px 50px rgba(0,0,0,.55)}
.menu a,.menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:10px;text-align:left;font-weight:600;color:var(--text)}
.menu a:hover,.menu button:hover,.menu button:focus-visible{background:rgba(255,255,255,.1);text-decoration:none}
.acctmenu{right:0;top:52px}.menu .who{padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.menu .who small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.ctxmenu{position:fixed}

/* ---------- content */
.pad{padding:8px 28px 56px;max-width:1500px;margin:0 auto}
.narrow-pad{max-width:880px}
.flashes{padding:12px 28px 0;max-width:1500px;margin:0 auto}
.flash{margin:0 0 8px;padding:12px 16px;border-radius:12px;background:#1f1450;border:1px solid #4a3a9a;font-weight:600}
.flash.error{background:#3a0f2a;border-color:#a8395f}.flash.info{background:#10284a;border-color:#2f6bb5}
.eyebrow{margin:0 0 6px;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.lede{font-size:1.15rem;color:var(--muted);max-width:620px}
.phead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:22px 0 14px}.phead.tight{padding-top:14px}
.block{margin:30px 0 0}
.bhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.more{font-weight:800;color:var(--muted);font-size:.92rem}.more:hover{color:var(--text)}
.row{display:flex}.row.gap{gap:12px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between;align-items:center}.row.end{align-items:flex-end}.center-y{align-items:center}
.grow{flex:1;min-width:0}.inl{display:inline}.pad-top{padding-top:28px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.empty{display:grid;justify-items:center;gap:6px;padding:46px 18px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:var(--r);background:rgba(255,255,255,.03)}
.empty .i{width:46px;height:46px;color:var(--pink)}.empty h3{color:var(--text)}.empty p{max-width:440px}.empty.big{padding:64px 18px;background:radial-gradient(60% 100% at 50% 0,rgba(138,91,255,.2),transparent)}

/* ---------- hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:20px;align-items:center;margin-top:10px;padding:44px 40px;border-radius:26px;overflow:hidden;background:
  radial-gradient(70% 120% at 100% 50%,rgba(138,91,255,.5),transparent 62%),radial-gradient(60% 100% at 0 0,rgba(224,123,255,.28),transparent 60%),linear-gradient(135deg,#240a47,#12012a);border:1px solid var(--line)}
.hero h1{font-size:clamp(2.2rem,5.4vw,4.2rem);margin:6px 0 14px}
.hero-stats{margin:18px 0 0;color:var(--muted);font-weight:600}
.hero-art{display:grid;place-items:center}.hero-art img{width:min(100%,340px);height:auto;aspect-ratio:1;border-radius:32px;box-shadow:0 0 90px rgba(138,91,255,.7),0 30px 80px rgba(0,0,0,.55);animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ---------- shelves, cards, tiles */
.shelf{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x proximity;margin:0 -2px}
.shelf>*{flex:0 0 172px;scroll-snap-align:start}.shelf.wide>*{flex-basis:290px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:20px}.grid.wide{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{display:flex;flex-direction:column;gap:4px;min-width:0;position:relative}
.card:hover{text-decoration:none}
.card .cov{position:relative;display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--panel2);box-shadow:0 10px 28px rgba(0,0,0,.4);margin-bottom:8px;transition:transform .2s,box-shadow .2s}
.card:hover .cov{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.55),0 0 0 1px rgba(224,123,255,.35)}
.cov img{width:100%;height:100%;object-fit:cover}.cov.round{border-radius:50%}.cov.wide{aspect-ratio:16/9}
.cov.grad{display:grid;place-items:center;background:linear-gradient(135deg,#7a5bff,#e07bff 60%,#3d8bff)}.cov.grad .i{width:44%;height:44%;color:#10001f}
.cov .ini{display:grid;place-items:center;width:100%;height:100%;font-size:3rem;font-weight:900;background:var(--grad);color:#10001f}
.fab{position:absolute;right:10px;bottom:10px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#10001f;box-shadow:0 8px 22px rgba(0,0,0,.5);opacity:0;transform:translateY(8px);transition:opacity .18s,transform .18s}
.fab .i{width:24px;height:24px}.card:hover .fab,.fab:focus-visible{opacity:1;transform:none}
.ct{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs{color:var(--muted);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.ct:hover,a.cs:hover{text-decoration:underline}
.vplay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent 40%,rgba(16,0,31,.7))}.vplay .i{width:46px;height:46px;padding:12px;border-radius:50%;background:rgba(16,0,31,.7);border:1px solid var(--line2)}
.vdur{position:absolute;right:8px;bottom:8px;padding:2px 8px;border-radius:8px;background:rgba(16,0,31,.85);font-size:.8rem;font-weight:700}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.tile{position:relative;display:flex;align-items:flex-end;min-height:96px;padding:14px 16px;border-radius:16px;font-weight:900;font-size:1.15rem;overflow:hidden;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.tile:hover{text-decoration:none;transform:translateY(-2px)}.tile::after{content:"";position:absolute;right:-18px;top:-14px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.2)}
.g0{background:linear-gradient(135deg,#e07bff,#7a2bd6)}.g1{background:linear-gradient(135deg,#7a5bff,#2a45d6)}.g2{background:linear-gradient(135deg,#3d9bff,#1b4fb8)}.g3{background:linear-gradient(135deg,#d44fb0,#6a2bb0)}
.g4{background:linear-gradient(135deg,#5b54e8,#a24cd6)}.g5{background:linear-gradient(135deg,#2f7fe0,#7a5bff)}.g6{background:linear-gradient(135deg,#b04fe0,#3d6bff)}.g7{background:linear-gradient(135deg,#9a3fd0,#2f9be0)}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip,.chips button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:99px;background:rgba(255,255,255,.09);border:1px solid var(--line);font-weight:700;font-size:.95rem;color:var(--text)}
.chip:hover,.chips button:hover{background:rgba(255,255,255,.16);text-decoration:none}.chip.tiny{padding:2px 10px;font-size:.78rem}.chips button.on{background:var(--grad);color:#10001f;border-color:transparent}
.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs.pills{margin:6px 0 12px}
.tabs a,.tabs button{padding:8px 16px;border-radius:99px;font-weight:800;color:var(--muted);background:rgba(255,255,255,.06)}
.tabs a:hover,.tabs button:hover{color:var(--text);text-decoration:none}.tabs [aria-current],.tabs [aria-selected="true"]{background:var(--grad);color:#10001f}

/* ---------- track list */
.tl{display:flex;flex-direction:column}
.tlh,.tr{display:grid;grid-template-columns:44px minmax(0,3fr) minmax(0,2fr) 64px 40px 52px auto;align-items:center;gap:10px;padding:0 10px}
.tlh{height:34px;color:var(--dim);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;border-bottom:1px solid var(--line);margin-bottom:6px}
.tr{min-height:62px;border-radius:12px;position:relative}
.tr:hover{background:rgba(255,255,255,.07)}.tr.playing{background:rgba(224,123,255,.1)}
.tr .n{display:grid;place-items:center;height:40px;color:var(--muted);font-weight:700;border-radius:10px}
.tr .n .i{display:none}.tr .n .eq{display:none}
.tr:hover .n .num,.tr.playing .n .num{display:none}.tr:hover .n .pl{display:block;color:var(--text)}
.tr.playing .n .eq{display:flex}.tr.playing:hover .n .eq{display:none}.tr.playing:hover .n .pl{display:block}
.is-playing .tr.playing:hover .n .pl{display:none}.is-playing .tr.playing:hover .n .pa{display:block;color:var(--text)}
.eq{align-items:flex-end;gap:2px;height:16px}.eq i{width:3px;background:var(--pink);border-radius:2px;height:30%}
.is-playing .eq i{animation:eq 1s ease-in-out infinite}.is-playing .eq i:nth-child(2){animation-delay:.2s}.is-playing .eq i:nth-child(3){animation-delay:.4s}
@keyframes eq{0%,100%{height:25%}50%{height:100%}}
.tr .main{display:flex;align-items:center;gap:12px;min-width:0}.tr .th{width:46px;height:46px;border-radius:9px;object-fit:cover;flex:none}
.tr .tx{display:flex;flex-direction:column;min-width:0}.tr .tt{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr.playing .tt{color:var(--pink)}.tr .ta{color:var(--muted);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr .t1{display:flex;align-items:center;gap:6px;min-width:0}
.tr .alb,.tr .plays,.tr .dur{color:var(--muted);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr .dur,.tlh .dur{text-align:right}.tr .plays{text-align:right}
.tr .acts{display:flex;justify-content:flex-end;gap:2px}
.tr .like,.tr [data-more]{opacity:.0}.tr:hover .like,.tr:hover [data-more],.tr .like.on,.tr:focus-within .like,.tr:focus-within [data-more]{opacity:1}
.badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:5px;background:#b9a8e0;color:#10001f;font-size:.7rem;font-weight:900;letter-spacing:.02em}
.badge.lg{min-width:28px;height:28px;font-size:.95rem;vertical-align:middle;border-radius:7px}

/* ---------- buttons and forms */
.ib{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--muted);transition:color .15s,background .15s,transform .1s}
.ib:hover{color:var(--text);background:rgba(255,255,255,.1)}.ib:active{transform:scale(.92)}.ib.sm{width:34px;height:34px}.ib.sm .i{width:1.1em;height:1.1em}
.ib.big{width:48px;height:48px;background:#fff;color:#10001f}.ib.big:hover{background:#fff;transform:scale(1.06)}.ib.big .i{width:26px;height:26px}
.ib.huge{width:68px;height:68px;background:var(--grad);color:#10001f;box-shadow:0 10px 30px rgba(138,91,255,.55)}.ib.huge:hover{background:var(--grad);transform:scale(1.06)}.ib.huge .i{width:34px;height:34px}
.ib[aria-pressed="true"]{color:var(--pink)}
.ib .ia,.ib .ip{display:block}.ib .ia{display:none}.is-playing .ib .ip{display:none}.is-playing .ib .ia{display:block}
.like .h1{display:none;color:var(--pink)}.like .h0{display:block}.like.on .h1{display:block}.like.on .h0{display:none}.like.on{color:var(--pink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:99px;font-weight:800;border:1px solid transparent;transition:transform .12s,filter .15s,background .15s;white-space:nowrap;cursor:pointer}
.btn:hover{text-decoration:none;filter:brightness(1.08)}.btn:active{transform:scale(.97)}
.btn.grad{background:var(--grad);color:#10001f;box-shadow:0 8px 26px rgba(138,91,255,.4)}
.btn.ghost{background:rgba(255,255,255,.06);border-color:var(--line2);color:var(--text)}.btn.ghost:hover{background:rgba(255,255,255,.14)}
.btn.gold{background:linear-gradient(120deg,#e8cf8d,#c39a45);color:#241500}
.btn.sm{min-height:36px;padding:0 15px;font-size:.92rem}.btn.lg{min-height:52px;padding:0 28px;font-size:1.05rem}.btn.wide{width:100%}
.btn[aria-pressed="true"]{border-color:var(--pink);color:var(--pink)}
.form{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:700;font-size:.92rem}.field label em{color:var(--pink);font-style:normal}
.field small{color:var(--muted)}
input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=url],select,textarea{width:100%;padding:12px 14px;border-radius:12px;background:#1f0b3d;border:1px solid var(--line2);color:var(--text);outline:0;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(224,123,255,.25)}
textarea{resize:vertical;min-height:90px}select option{background:#1f0b3d}
input[type=file]{padding:10px;border-radius:12px;background:#1f0b3d;border:1px dashed var(--line2);width:100%}
input[type=range]{accent-color:#e07bff;width:100%}
.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check input{width:20px;height:20px;margin-top:2px;accent-color:#e07bff;flex:none}
.pane{padding:20px 22px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line)}
.card.pane{display:block}
.authwrap{min-height:100%;display:grid;place-items:center;padding:30px 18px}
.authcard{width:min(460px,100%);padding:30px 28px;border-radius:24px;background:linear-gradient(180deg,rgba(38,16,74,.92),rgba(24,6,48,.92));border:1px solid var(--line2);box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 70px rgba(138,91,255,.25);display:flex;flex-direction:column;gap:12px}
.authcard.center{align-items:center;text-align:center}
.authlogo{width:104px;height:104px;border-radius:26px;margin:0 auto 4px;box-shadow:0 0 50px rgba(138,91,255,.7)}.authlogo.dim{opacity:.7}
.authcard h1{font-size:2rem;text-align:center}.authcard>.muted{text-align:center}
.tablewrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--panel)}
table.grid{width:100%;border-collapse:collapse;display:table}
.grid th{padding:12px 14px;text-align:left;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line)}
.grid td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.grid tr:last-child td{border-bottom:0}.grid .num,.grid th.num{text-align:right;white-space:nowrap}
.acts-cell{text-align:right;white-space:nowrap}.th{border-radius:8px;object-fit:cover}.th.wide{border-radius:6px}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;background:rgba(255,255,255,.1);font-size:.78rem;font-weight:800}
.pill.ok{background:rgba(125,255,178,.16);color:var(--ok)}.pill.red{background:rgba(255,143,163,.16);color:var(--bad)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:6px 0}
.stat{padding:16px 18px;border-radius:var(--r);background:linear-gradient(135deg,rgba(138,91,255,.28),rgba(61,139,255,.14));border:1px solid var(--line)}
.stat b{display:block;font-size:1.9rem;font-weight:900;letter-spacing:-.02em}.stat span{color:var(--muted);font-size:.9rem;font-weight:600}
.spark{width:100%;height:120px;display:block;margin-top:8px}
details.edit summary{cursor:pointer;font-weight:800;display:flex;align-items:center;gap:8px}details.edit[open] summary{margin-bottom:12px}details.edit form+form{margin-top:12px}
kbd{padding:1px 7px;border-radius:6px;border:1px solid var(--line2);background:rgba(255,255,255,.1);font-size:.8em;font-weight:700}
.prose h2{margin:22px 0 8px}.ticks{padding-left:20px;display:grid;gap:8px}

/* upload */
.drop{position:relative;display:grid;place-items:center;min-height:170px;border:2px dashed var(--line2);border-radius:20px;background:rgba(255,255,255,.04);text-align:center;transition:border-color .15s,background .15s}
.drop.over,.drop:hover{border-color:var(--pink);background:rgba(224,123,255,.1)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.drop-in{display:grid;gap:4px;justify-items:center;padding:18px;pointer-events:none}.drop-in .i{width:44px;height:44px;color:var(--pink)}.drop-in span{color:var(--muted)}
.drop.has{border-style:solid;border-color:var(--pink)}
.coverpick{display:flex;gap:14px;align-items:flex-start}.coverpick img{width:120px;height:120px;border-radius:14px;object-fit:cover;flex:none;box-shadow:0 10px 26px rgba(0,0,0,.45)}
.progress{height:34px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;position:relative}
.progress i{position:absolute;inset:0 auto 0 0;width:0;background:var(--grad);transition:width .2s}.progress span{position:relative;display:grid;place-items:center;height:100%;font-weight:800;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}

/* ---------- artist, track, video */
.ahero{position:relative;padding:40px 28px 26px;overflow:hidden;min-height:260px;display:flex;align-items:flex-end}
.ah-bg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(46px) saturate(1.5);opacity:.55;transform:scale(1.2)}
.ahero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,0,31,.1),var(--bg) 96%),radial-gradient(60% 100% at 80% 0,rgba(138,91,255,.4),transparent)}
.ah-in{position:relative;z-index:1;display:flex;gap:24px;align-items:flex-end;max-width:1500px;margin:0 auto;width:100%;flex-wrap:wrap}
.actbar{margin:6px 0 4px;align-items:center}
.thero{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:34px;align-items:end;padding:28px;margin-top:18px;border-radius:26px;background:radial-gradient(90% 120% at 0 0,color-mix(in srgb,var(--a) 60%,transparent),transparent 70%),linear-gradient(135deg,#240a47,#13012b);border:1px solid var(--line)}
.tcov img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 90px color-mix(in srgb,var(--a) 55%,transparent)}
.tinfo h1{margin:4px 0 8px}.by{color:var(--muted);margin-bottom:16px}.by a{color:var(--text);font-weight:800}.ownerbar{margin-top:14px}
.twave-wrap{margin:18px 0 0;padding:14px 16px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}.twave{width:100%;height:72px;display:block;cursor:pointer}
.vwrap{margin-top:18px;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 24px 70px rgba(0,0,0,.6);aspect-ratio:16/9}.vwrap video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.plhead{align-items:flex-end;justify-content:flex-start;gap:24px}.plart{display:grid;grid-template-columns:1fr 1fr;width:200px;height:200px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#7a5bff,#e07bff 60%,#3d8bff);box-shadow:0 18px 50px rgba(0,0,0,.5);flex:none}
.plart img{width:100%;height:100%;object-fit:cover}.plart .i{grid-column:1/3;grid-row:1/3;place-self:center;width:70px;height:70px;color:#10001f}
.plnewform{display:flex;gap:8px}.plnewform input{width:220px}

/* ---------- lyrics */
.lyr{display:flex;flex-direction:column;gap:2px;max-width:760px}
.lyr .ll{position:relative;display:block;width:100%;text-align:left;padding:5px 0;font-size:1.15rem;line-height:1.45;color:var(--text);font-weight:600}
.lyr .ll.gap{height:18px;padding:0}.lyr .ll.head{color:var(--pink);font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-top:10px}
.lyr .ll.timed{cursor:pointer}.lyr .ll .nt{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:8px;border-radius:50%;background:linear-gradient(135deg,#f3dc9d,#d1a54c);color:#241500;vertical-align:middle;box-shadow:0 0 12px rgba(232,207,141,.7);cursor:pointer}.lyr .ll .nt .i{width:12px;height:12px}
.lyr.live .ll{font-size:1.9rem;font-weight:800;opacity:.5;transition:opacity .25s,transform .25s,color .25s;transform-origin:left center;letter-spacing:-.01em}
.lyr.live .ll.gap{height:26px}.lyr.live .ll.head{font-size:.85rem;opacity:.7}
.lyr.live .ll.past{opacity:.62}.lyr.live .ll.now{opacity:1;transform:scale(1.03);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lyr.live .ll .nt{-webkit-text-fill-color:#241500}
.notecard{margin:6px 0 12px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,rgba(232,207,141,.18),rgba(195,154,69,.08));border:1px solid rgba(232,207,141,.45);font-size:1rem;color:var(--text);max-width:620px;font-weight:500}
.notecard b{display:block;color:#e8cf8d;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px}

/* ---------- player bar */
.player{display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,2fr) minmax(180px,1fr);align-items:center;gap:18px;height:var(--playerH);padding:0 20px;background:rgba(18,2,38,.94);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-top:1px solid var(--line2)}
.pl-info{display:flex;align-items:center;gap:12px;min-width:0}.pl-cov{width:58px;height:58px;border-radius:10px;overflow:hidden;flex:none;box-shadow:0 6px 18px rgba(0,0,0,.5);position:relative}
.pl-cov img{width:100%;height:100%;object-fit:cover}
.pl-meta{display:flex;flex-direction:column;min-width:0}.pl-meta a:first-child{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-meta a:last-child{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-center{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.pl-ctrls{display:flex;align-items:center;gap:8px}
.pl-seek{display:flex;align-items:center;gap:10px;width:100%;max-width:640px}.pl-seek time{font-size:.78rem;color:var(--muted);min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.seek{position:relative;flex:1;height:18px;display:flex;align-items:center;cursor:pointer;touch-action:none;--p:0%}
.seek::before{content:"";position:absolute;left:0;right:0;height:5px;border-radius:9px;background:rgba(255,255,255,.18)}
.seek .buf{position:absolute;left:0;height:5px;border-radius:9px;background:rgba(255,255,255,.18);width:0}
.seek .fill{position:absolute;left:0;height:5px;border-radius:9px;background:var(--grad);width:var(--p)}
.seek .knob{position:absolute;left:var(--p);width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.6);opacity:0;transition:opacity .15s}
.seek:hover .knob,.seek:focus-visible .knob,.seek.drag .knob{opacity:1}.seek:hover::before,.seek:hover .fill,.seek:hover .buf{height:7px}
.pl-right{display:flex;align-items:center;justify-content:flex-end;gap:4px}.vol{display:flex;align-items:center;gap:2px;width:150px}
.pl-line{display:none}

/* ---------- now playing */
.np{position:fixed;inset:0;z-index:90;overflow:hidden;transform:translateY(100%);transition:transform .38s cubic-bezier(.2,.8,.2,1);background:var(--bg)}
.np.open{transform:none}
.np-bg{position:absolute;inset:-12%;background:radial-gradient(70% 70% at 30% 20%,color-mix(in srgb,var(--accent) 80%,transparent),transparent 70%),radial-gradient(60% 60% at 90% 90%,color-mix(in srgb,var(--accent) 45%,#3d8bff),transparent 70%),#10001f;filter:blur(30px) saturate(1.3);transition:background .8s}
.np::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,0,31,.25),rgba(16,0,31,.78));pointer-events:none}
.np-in{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;padding:16px 28px 22px;max-width:1400px;margin:0 auto}
.np-top{display:flex;align-items:center;justify-content:space-between;height:48px}.np-from{font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;color:var(--muted)}
.np-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.np-left{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:520px;margin:0 auto;width:100%}
.np-left>*:not(.np-art){position:relative;z-index:2}
.np-art{position:relative;z-index:0;aspect-ratio:1;width:100%;max-height:50vh;max-width:50vh;margin:0 auto}
.np-art img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.6);transform:scale(calc(1 + var(--pulse,0) * .025));transition:transform .09s linear}
.np-art .glow{position:absolute;inset:-6%;border-radius:40px;background:radial-gradient(closest-side,var(--accent),transparent 72%);filter:blur(34px);opacity:calc(.35 + var(--pulse,0) * .55);transform:scale(calc(1 + var(--pulse,0) * .12));transition:opacity .09s linear,transform .09s linear}
.np-title{display:flex;align-items:center;gap:10px;justify-content:space-between}.np-names{display:flex;flex-direction:column;min-width:0}
.np-names a:first-child{font-size:1.6rem;font-weight:900;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-names a:last-child{color:var(--muted);font-weight:600}
.np-wave canvas{width:100%;height:64px;display:block;cursor:pointer;touch-action:none}
.np-times{display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;margin-top:-6px}
.np-ctrls{display:flex;align-items:center;justify-content:center;gap:14px}
.np-sub{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.chipb{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid var(--line);font-weight:700;font-size:.88rem}.chipb:hover{background:rgba(255,255,255,.18)}.chipb.on{background:var(--grad);color:#10001f}
.np-right{display:flex;flex-direction:column;min-height:0;height:100%;max-height:calc(100vh - 150px);padding-top:6px}
.np-right .tabs{margin-bottom:10px}
.np-panel{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 80px 2px;mask-image:linear-gradient(180deg,transparent 0,#000 24px,#000 calc(100% - 60px),transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24px,#000 calc(100% - 60px),transparent)}
.qi{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px}.qi:hover{background:rgba(255,255,255,.08)}.qi.cur{background:rgba(224,123,255,.16)}
.qi img{width:46px;height:46px;border-radius:8px;object-fit:cover;flex:none}.qi .qt{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column}.qi b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qi small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qhead{display:flex;justify-content:space-between;align-items:center;margin:6px 4px 8px}.qhead h4{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.about{display:grid;gap:10px;max-width:520px}.about dl{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:0}.about dt{color:var(--muted)}.about dd{margin:0;font-weight:700}
.np-pop{position:absolute;z-index:5;right:28px;top:64px;width:min(380px,calc(100% - 32px));padding:18px;border-radius:18px;background:#26104a;border:1px solid var(--line2);box-shadow:0 24px 70px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:14px}
.slider{display:flex;flex-direction:column;gap:6px;font-weight:700}.slider span{display:flex;justify-content:space-between}.switch{display:flex;gap:10px;align-items:flex-start;font-weight:600}.switch input{width:20px;height:20px;accent-color:#e07bff;margin-top:2px;flex:none}
.sleepbox{display:flex;flex-direction:column;gap:8px;font-weight:700}

/* ---------- modal, toast */
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:rgba(10,0,20,.7);backdrop-filter:blur(6px);padding:16px}
.modal-in{width:min(440px,100%);max-height:80vh;overflow:auto;padding:20px;border-radius:20px;background:#24103f;border:1px solid var(--line2);box-shadow:0 30px 90px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:12px}
.pl-list{display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow:auto}
.pl-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);font-weight:700;text-align:left}.pl-list button:hover{background:rgba(255,255,255,.14)}.pl-list .done{color:var(--ok)}
.plnew{display:flex;gap:8px}
.toast{position:fixed;left:50%;bottom:calc(var(--playerH) + 22px);transform:translateX(-50%);z-index:150;padding:12px 20px;border-radius:99px;background:#fff;color:#10001f;font-weight:800;box-shadow:0 14px 40px rgba(0,0,0,.5);animation:pop .25s}
@keyframes pop{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.nojs{padding:16px;text-align:center;background:#4a1230}

/* ---------- lyric sync tool */
.sync{display:grid;gap:16px}.sync textarea{min-height:200px}
.synclines{display:flex;flex-direction:column;gap:4px;margin-top:10px;max-height:60vh;overflow:auto}
.sl{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid transparent}
.sl.cur{border-color:var(--pink);background:rgba(224,123,255,.12)}.sl.blank{background:none;min-height:14px;padding:0}.sl.head .tx{color:var(--pink);font-weight:800}
.sl .tm{font-variant-numeric:tabular-nums;font-weight:800;font-size:.9rem;color:var(--muted);text-align:center;border-radius:8px;padding:4px 0;background:rgba(255,255,255,.07)}.sl.stamped .tm{color:var(--ok)}
.sl .tx{text-align:left;font-weight:600;cursor:pointer;overflow-wrap:anywhere}.sl .tools{display:flex;gap:4px;align-items:center}.sl .tools button{padding:4px 9px;border-radius:8px;background:rgba(255,255,255,.1);font-weight:800;font-size:.82rem}.sl .tools button:hover{background:rgba(255,255,255,.2)}.sl .tools .on{background:linear-gradient(135deg,#e8cf8d,#c39a45);color:#241500}
.sl .noteed{grid-column:1/-1}.sl .noteed textarea{min-height:64px;margin-top:4px}

/* ---------- tab bar and mobile */
.tabbar{display:none}
@media (max-width:1100px){
  .tlh,.tr{grid-template-columns:44px minmax(0,3fr) minmax(0,2fr) 40px 52px auto}.tr .plays,.tlh .plays{display:none}
  .player{grid-template-columns:minmax(150px,1fr) minmax(280px,2fr) auto}.vol input{display:none}.vol{width:auto}
  .np-grid{gap:28px}
}
@media (max-width:860px){
  :root{--topH:56px;--playerH:64px}
  .shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "view";grid-template-rows:var(--topH) minmax(0,1fr)}
  .side{display:none}.brand.sm{display:flex}.top{padding:0 14px;gap:10px;background:rgba(16,0,31,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .top .search{display:none}.acct{margin-left:auto}
  .bigsearch{height:50px;margin-top:10px}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(var(--tabH) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:40;background:rgba(14,0,28,.96);backdrop-filter:blur(18px);border-top:1px solid var(--line2)}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;font-weight:700;color:var(--muted)}.tabbar a.on{color:#fff}.tabbar a.on .i{color:var(--pink)}.tabbar .i{width:1.5em;height:1.5em}.tabbar a:hover{text-decoration:none}
  .view{padding-bottom:calc(var(--tabH) + env(safe-area-inset-bottom) + 12px)}.has-player .view{padding-bottom:calc(var(--tabH) + var(--playerH) + env(safe-area-inset-bottom) + 28px)}
  .player{position:fixed;left:8px;right:8px;bottom:calc(var(--tabH) + env(safe-area-inset-bottom) + 8px);grid-template-columns:minmax(0,1fr) auto;height:var(--playerH);padding:0 8px 0 8px;border-radius:16px;border:1px solid var(--line2);background:rgba(34,12,66,.96);box-shadow:0 14px 40px rgba(0,0,0,.55);gap:6px;overflow:hidden}
  .pl-center{display:contents}.pl-seek,.pl-right,.pl-ctrls .hide-m,.pl-ctrls [data-act="prev"]{display:none}.pl-ctrls{grid-column:2;grid-row:1}
  .pl-info{grid-column:1;grid-row:1}.pl-cov{width:48px;height:48px}.pl-info .like{display:none}
  .pl-line{display:block;position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.14)}.pl-line i{display:block;height:100%;width:0;background:var(--grad)}
  .pad{padding:4px 16px 36px}.flashes{padding:10px 16px 0}
  .hero{grid-template-columns:1fr;padding:26px 20px;gap:6px}.hero-art{order:-1;justify-self:start}.hero-art img{width:110px;border-radius:24px}.hero h1{font-size:2.3rem}
  .shelf>*{flex-basis:144px}.shelf.wide>*{flex-basis:244px}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}.grid.wide{grid-template-columns:1fr}
  .tlh{display:none}.tr,.tlh{grid-template-columns:40px minmax(0,1fr) 40px auto;padding:0 4px}.tr .alb,.tr .dur{display:none}.tr .like,.tr [data-more]{opacity:1}
  .tr .main .th{width:44px;height:44px}
  .thero{grid-template-columns:1fr;padding:18px;gap:16px;text-align:center;justify-items:center}.tcov{width:min(260px,70%)}.thero .row{justify-content:center}.thero .actbar{justify-content:center}
  .ahero{padding:26px 16px 18px;min-height:220px}.ah-in{gap:14px}.avatar.xl{width:96px;height:96px;font-size:2.2rem}
  .two{grid-template-columns:1fr}.plhead{flex-direction:column;align-items:flex-start}.plart{width:150px;height:150px}.plnewform{width:100%}.plnewform input{flex:1;width:auto}
  .np-in{padding:10px 16px calc(14px + env(safe-area-inset-bottom));overflow-y:auto}.np-grid{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .np-art{max-width:min(78vw,40vh)}.np-right{max-height:none;height:auto;min-height:320px}.np-panel{overflow:visible;mask-image:none;-webkit-mask-image:none;padding-bottom:20px}
  .np-names a:first-child{font-size:1.35rem}.lyr.live .ll{font-size:1.5rem}.np-pop{right:16px;left:16px;width:auto}
  .toast{bottom:calc(var(--tabH) + var(--playerH) + env(safe-area-inset-bottom) + 24px)}
  .authwrap{padding:18px 12px}.sl{grid-template-columns:90px minmax(0,1fr)}.sl .tools{grid-column:1/-1}
}
@media (max-width:520px){.phead{padding-top:14px}h1{font-size:2rem}.btn.lg{min-height:48px;padding:0 20px}.stat b{font-size:1.5rem}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.hero-art img{animation:none}}

/* ---------- Billboard */
.wknav{display:flex;gap:8px;flex-wrap:wrap}.wrapchips{flex-wrap:wrap}
.chip.on{background:var(--grad);color:#10001f;border-color:transparent}
.bb-hero{display:flex;gap:28px;align-items:center;margin:8px 0 22px;padding:26px;border-radius:24px;background:radial-gradient(90% 140% at 0 0,color-mix(in srgb,var(--a) 55%,transparent),transparent 70%),linear-gradient(135deg,#240a47,#13012b);border:1px solid var(--line)}
.bb-hero>img{width:min(240px,34%);aspect-ratio:1;object-fit:cover;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.55),0 0 70px color-mix(in srgb,var(--a) 50%,transparent)}
.bb-hero>img.wideimg{aspect-ratio:16/9;width:min(380px,42%)}
.bb-hero h2{font-size:clamp(1.7rem,3.6vw,2.8rem);margin:2px 0 4px;letter-spacing:-.03em}.bb-hero h2 a:hover{text-decoration:none}
.no1{display:inline-block;padding:4px 12px;border-radius:99px;background:linear-gradient(120deg,#f3dc9d,#d1a54c);color:#241500;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;margin-bottom:8px}
.bb-meta{color:var(--muted);font-weight:700;margin:8px 0 14px}
.mv{display:inline-block;min-width:34px;padding:1px 7px;border-radius:7px;font-size:.72rem;font-weight:900;text-align:center;flex:none}
.mv.up{background:rgba(125,255,178,.16);color:var(--ok)}.mv.down{background:rgba(255,143,163,.16);color:var(--bad)}.mv.new{background:var(--grad);color:#10001f}.mv.re{background:rgba(61,155,255,.22);color:#a8d0ff}.mv.same{background:rgba(255,255,255,.1);color:var(--muted)}
.bbr .n .num{font-size:1.15rem;font-weight:900;color:var(--text)}
.cl{display:flex;flex-direction:column;gap:6px}
.cr{display:grid;grid-template-columns:34px 54px auto minmax(0,1fr) auto 64px;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.05)}
.cr:hover{background:rgba(255,255,255,.1);text-decoration:none}.cr .rk{font-size:1.2rem;font-weight:900;text-align:center}.cr .avatar{width:46px;height:46px;font-size:1.2rem}
.cr .cn{display:flex;flex-direction:column;min-width:0}.cr .cn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr .cn small,.cr .cm{color:var(--muted);font-size:.88rem}.cr .cp{text-align:right;font-weight:800}
.bb-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:22px;align-items:start}
.bb-spot{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:22px;background:radial-gradient(100% 120% at 0 0,color-mix(in srgb,var(--a) 55%,transparent),transparent 70%),linear-gradient(135deg,#240a47,#13012b);border:1px solid var(--line)}
.bb-spot img{width:100%;max-width:260px;aspect-ratio:1;object-fit:cover;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.55)}.bb-spot h3{font-size:1.5rem;margin:2px 0}.bb-spot h3 a:hover{text-decoration:none}
/* ---------- Analytics */
.stat .dl{display:block;margin-top:4px;font-style:normal;font-size:.8rem;font-weight:800;color:var(--muted)}.stat .dl.up{color:var(--ok)}.stat .dl.down{color:var(--bad)}
.tablewrap.tall{max-height:460px;overflow:auto}.dgrid thead th{position:sticky;top:0;background:#24103f;z-index:1}.dgrid tr.quiet td{opacity:.5}.barcol{width:24%}
.mbar{display:block;height:8px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}.mbar i{display:block;height:100%;background:var(--grad)}.mbar.big{height:10px}
.minibars{display:flex;align-items:flex-end;gap:2px;height:28px;width:112px}.minibars i{flex:1;background:linear-gradient(180deg,#e07bff,#6f8bff);border-radius:2px;min-height:3px}
.cell{display:block;width:var(--cs,14px);height:var(--cs,14px);border-radius:3px;background:#2e1759}.cell.l1{background:#5b2f9e}.cell.l2{background:#8a4fdc}.cell.l3{background:#c26bf5}.cell.l4{background:#f6b0ff}.cell.none{background:transparent}
.cal-wrap{overflow-x:auto}.cal{min-width:max-content}.cal-months{display:flex;gap:3px;margin:0 0 4px 36px;font-size:.7rem;color:var(--muted)}.cal-months span{width:var(--cs,14px);white-space:nowrap;overflow:visible}
.cal-body{display:flex;gap:8px}.cal-days{display:grid;grid-template-rows:repeat(7,var(--cs,14px));gap:3px;font-size:.66rem;color:var(--muted);line-height:var(--cs,14px);width:28px}
.cal-grid{display:flex;gap:3px}.cal-col{display:grid;grid-template-rows:repeat(7,var(--cs,14px));gap:3px}.cal-legend{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:.75rem;color:var(--muted)}
.hgrid{display:grid;gap:3px;min-width:560px}.hhead,.hrow{display:grid;grid-template-columns:36px repeat(24,minmax(14px,1fr));gap:3px;align-items:center}.hhead span{font-size:.64rem;color:var(--muted)}.hl{font-size:.75rem;color:var(--muted)}.hrow .cell{width:auto;height:20px}
.miles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.mile{padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.mile-top{display:flex;align-items:baseline;gap:8px}.mile-top b{font-size:1.8rem;font-weight:900}.mile-top span{color:var(--muted);font-weight:700}
.ach{align-self:flex-start;padding:2px 10px;border-radius:99px;background:linear-gradient(135deg,#f3dc9d,#d1a54c);color:#241500;font-size:.78rem;font-weight:800}
@media (max-width:860px){
  .bb-hero{flex-direction:column;text-align:center;padding:20px}.bb-hero>img,.bb-hero>img.wideimg{width:min(240px,70%)}.bb-hero .row{justify-content:center}.bb-grid{grid-template-columns:1fr}
  .cr{grid-template-columns:28px 46px auto minmax(0,1fr) 54px;gap:8px;padding:8px 10px}.cr .cm{display:none}
  .minibars{width:80px}.dgrid .barcol{display:none}
}

@media (min-width:1100px){.cal{--cs:20px}}

/* ---------- scheduled releases, feed, credits */
.pill.wait{background:rgba(232,207,141,.18);color:#f3dc9d}
.thero.soon .tcov img{filter:saturate(1.1)}
.countdown{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:6px 0 10px}.cd-label{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.cd-time{font-size:clamp(1.8rem,5vw,3rem);font-weight:900;letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.flash .cd-time{font-size:inherit;font-weight:800;-webkit-text-fill-color:#fff;background:none;color:#fff}
.card.s .cov{position:relative}.soonbadge{position:absolute;left:8px;bottom:8px;padding:3px 10px;border-radius:99px;background:rgba(16,0,31,.88);border:1px solid var(--line2);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}
fieldset.release{border:1px solid var(--line2);border-radius:14px;padding:14px 16px;display:grid;gap:10px;margin:0}fieldset.release legend{padding:0 8px;font-weight:800;color:var(--pink)}
.posts{display:flex;flex-direction:column;gap:12px}
.fi{display:flex;gap:14px;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}.fi-av{flex:none;width:44px;height:44px}.fi-main{flex:1;min-width:0}
.fi-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.fi-main p{margin:0 0 10px}
.fi-track{position:relative;display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;background:rgba(255,255,255,.06);max-width:420px}.fi-track img{width:48px;height:48px;border-radius:8px;object-fit:cover;flex:none}
.fi-t{display:flex;flex-direction:column;min-width:0}.fi-t .ct,.fi-t .cs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fab2{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#10001f;flex:none;order:3;margin-left:auto}.fab2 .i{width:18px;height:18px}.fi-track.playing .fab2{box-shadow:0 0 0 3px rgba(224,123,255,.5)}
.credits{display:flex;gap:10px;flex-wrap:wrap}.credit{display:flex;flex-direction:column;padding:12px 16px;border-radius:14px;background:var(--panel);border:1px solid var(--line);min-width:150px}.credit:hover{text-decoration:none;border-color:var(--pink)}.credit small{color:var(--muted)}
@media (max-width:860px){.fi{padding:12px;gap:10px}.fi-av{width:38px;height:38px}}
