:root{
  --bg:#0b1020; --text:#e5e7eb; --muted:#9ca3af;
  --card:#111827; --border:#1f2937; --accent:#60a5fa;
  --ok:#10b981; --err:#ef4444; --info:#f59e0b;
  --radius:14px;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#0b1020,#111827);color:var(--text);font:16px/1.5 ui-sans-serif,system-ui,Segoe UI,Roboto,Arial}
.wrap{max-width:980px;margin:0 auto;padding:20px}
.topbar{border-bottom:1px solid var(--border);position:sticky;top:0;background:#0b1020aa;backdrop-filter:blur(8px);z-index:10}
.topbar .brand{font-weight:800;letter-spacing:.5px;color:white;text-decoration:none}
.topbar .wrap{display:flex;align-items:center;gap:24px}
.topbar nav a{color:var(--muted);text-decoration:none;margin-right:16px}
.topbar nav a:hover{color:#fff}
h1,h2,h3{margin:16px 0 8px}
p{color:var(--muted)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:12px 0}
label{display:block;margin:8px 0;color:#d1d5db}
input{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border);background:#0b1222;color:#fff}
button{margin-top:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--accent);color:#0b1020;font-weight:700;cursor:pointer}
button:hover{filter:brightness(1.1)}
.ok{border-left:4px solid var(--ok);background:#0b221b;padding:10px;border-radius:10px;margin:8px 0}
.err{border-left:4px solid var(--err);background:#2a0e12;padding:10px;border-radius:10px;margin:8px 0}
.flag{border-left:6px solid var(--info);background:#1d1606;padding:12px;border-radius:12px;margin:12px 0;font-size:1.05rem}
.table{width:100%;border-collapse:collapse;margin-top:12px;border-radius:12px;overflow:hidden}
.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left}
.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.card-link{text-decoration:none;color:inherit}
.card-link .title{font-weight:700;margin-bottom:6px}
.toolbar{display:flex;gap:8px;align-items:center}
.btn-ghost{display:inline-block;border:1px solid var(--border);padding:10px 12px;border-radius:12px;text-decoration:none;color:#e5e7eb}
.list{list-style:disc;padding-left:22px}
.foot{color:var(--muted);border-top:1px solid var(--border);margin-top:32px;padding-top:12px}
