:root{
  --ink:#0b1220;--muted:#6b7280;--line:#e5e7eb;--bg:#ffffff;--card:#ffffff;--surface:#f8fafc;--brand:#22c55e;--accent:#ef4444;
}
*{box-sizing:border-box}
html,body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--ink)}
a{color:#0ea5e9;text-decoration:none}
.container{width:min(1200px,92vw);margin:0 auto}
.header{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 0}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin:8px 0 24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(2,6,23,.06)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.rowhead{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:#0b1220;font-size:12px}
.btn{padding:10px 14px;background:var(--brand);border:0;border-radius:12px;color:#001b0a;font-weight:700;cursor:pointer}
.btn.muted{background:#e5e7eb;color:#111827}
.btn.ghost{background:transparent;border:1px solid var(--line);color:#111827}
.nav{display:flex;gap:10px}
.input{background:#ffffff;border:1px solid var(--line);color:#0b1220;padding:10px 12px;border-radius:10px;outline:none}
table{width:100%;border-collapse:collapse;background:var(--card)}
th,td{padding:10px;border-bottom:1px solid var(--line)}
.label{font-size:12px;color:var(--muted)}
.footer{padding:40px 0;color:var(--muted)}
.player{background:#000;height:60vh}
.poster{width:100%;height:280px;object-fit:cover;display:block}
.logo{display:flex;align-items:center;gap:10px;font-weight:900}
.logo img{height:32px}
section{margin-bottom:28px}
h1,h2,h3{margin:0}
h2{font-size:20px}
h3{font-size:16px}
.tag{font-size:11px;padding:1px 6px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:#6b21a8}
.note{color:#6b7280;font-size:13px}
.table-actions{display:flex;gap:8px}
.alert{padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12}
.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.err{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}
