:root{--bg:#0b1020;--bg2:#121a33;--card:#161f3c;--line:#2a365c;--text:#e8edf7;--muted:#9aa6c4;--accent:#f0b429;--accent2:#3d8bfd;--ok:#3dd68c;--bad:#ff6b7a;--font:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:var(--font)}a{color:inherit;text-decoration:none}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.brand{font-weight:700;letter-spacing:-.03em}.brand span{color:var(--accent)}.nav a{color:var(--muted);margin-left:22px;font-size:14px}.nav a:hover{color:var(--text)}.btn{display:inline-block;background:var(--accent);color:#1a1408;font-weight:600;padding:10px 16px;border-radius:8px;border:0;cursor:pointer;font-family:inherit}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.hero{padding:72px 0 48px}.hero h1{font-size:48px;line-height:1.1;letter-spacing:-.04em;margin:0 0 16px;max-width:18ch}.hero p{color:var(--muted);font-size:18px;max-width:52ch}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px;margin:32px 0 64px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.card h3{margin:0 0 8px;font-size:16px}.card p{margin:0;color:var(--muted);font-size:14px}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-weight:500}input,select,textarea{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:8px;font-family:inherit}label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}code,pre{font-family:var(--mono);font-size:13px}pre{background:#080c18;border:1px solid var(--line);padding:16px;border-radius:10px;overflow:auto}.err{color:var(--bad);font-size:13px}.ok{color:var(--ok)}.muted,footer{color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px 0;font-size:13px;margin-top:48px}form.narrow{max-width:420px;margin:48px auto}