:root { --bg:#0f172a; --card:#1e293b; --fg:#e2e8f0; --mut:#94a3b8; --acc:#22c55e; --warn:#f59e0b; --err:#ef4444; }
* { box-sizing: border-box; }
body { margin:0; font: 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background:var(--bg); color:var(--fg); }
header { display:flex; gap:16px; align-items:center; padding:12px 20px; background:#020617; border-bottom:1px solid #334155; }
header b { font-size:18px; } header .sp { flex:1; }
main { padding:20px; max-width:1200px; margin:auto; }
.card { background:var(--card); border-radius:10px; padding:16px; margin-bottom:16px; }
button, select, input { font:inherit; border-radius:6px; border:1px solid #475569; background:#0b1222; color:var(--fg); padding:7px 12px; }
button { cursor:pointer; background:#2563eb; border-color:#2563eb; } button.sec { background:#334155; border-color:#334155; } button.danger { background:var(--err); border-color:var(--err); }
button:disabled { opacity:.5; cursor:default; }
table { width:100%; border-collapse:collapse; } th, td { text-align:left; padding:6px 8px; border-bottom:1px solid #334155; vertical-align:top; }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:8px 0; }
.mut { color:var(--mut); } .ok { color:var(--acc); } .warn { color:var(--warn); } .err { color:var(--err); }
pre.stats { font: 12px/1.35 ui-monospace, Menlo, Consolas, monospace; white-space:pre-wrap; margin:0; }
.tabs button { background:#334155; } .tabs button.on { background:#2563eb; }
.modal { position:fixed; inset:0; background:#000a; display:flex; align-items:center; justify-content:center; z-index:10; }
.modal .card { min-width:340px; max-width:90vw; }
video { background:#000; }
