
:root{
  --brand:#7C3AED;
  --brand-dark:#5B21B6;
  --accent:#b35312;
  --bg:#0b0b12;
  --card:rgba(255,255,255,.06);
  --text:#eaeafa;
  --muted:#b5b5c7;
  --border:rgba(255,255,255,.1);
}
*{box-sizing:border-box}
body.bg{background:var(--bg);color:var(--text);font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;margin:0;line-height:1.5}
.wrap{max-width:1024px;margin:0 auto;padding:16px}
.topbar{background:#0e0e19;border-bottom:1px solid var(--border)}
.topbar .brand{color:#fff;text-decoration:none;font-weight:800}
.nav a{color:var(--muted);margin-left:12px;text-decoration:none}
.nav a:hover{color:#fff}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:16px}
.btn{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 14px;cursor:pointer}
.btn.secondary{background:var(--accent)}
.btn.ghost{background:transparent;border:1px solid var(--border);color:#fff}
.list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.item{background:#131322;border:1px solid var(--border);border-radius:12px;padding:10px}
.notice{background:rgba(124,58,237,.15);border:1px solid rgba(124,58,237,.35);padding:10px;border-radius:10px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center}
.footer{border-top:1px solid var(--border);color:var(--muted);padding:16px 0;margin-top:24px}
.section-title{margin:10px 0}
.player .controls .play,.player .controls .pause{
  background:var(--brand);color:#fff;border:none;border-radius:10px;padding:8px 12px;margin-right:6px;cursor:pointer
}
.player .meta{display:inline-flex;align-items:center;margin-left:8px;color:#fff}
.player .meta .dot{height:10px;width:10px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:6px;}
.tabbar{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.tabbar .tablink{background:#1e1e2f;color:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 12px;cursor:pointer}
.tabbar .tablink.active, .tabbar .tablink:hover{background:var(--accent)}
.tabcontent{display:none}
.tabcontent.active{display:block}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:#fff;font-size:12px}
.badge.ok{background:rgba(34,197,94,.2);border-color:rgba(34,197,94,.4)}
.badge.wait{background:rgba(234,179,8,.15);border-color:rgba(234,179,8,.35)}
.badge.no{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.45)}
