/* Extracted from index.html so style-src can drop 'unsafe-inline' (SA-4). */
:root { --bg:#0a0d12; --panel:#111722; --ink:#e8edf4; --muted:#8b98ab; --line:#1e2836;
  --acc:#5e7cff; --ok:#39d98a; --warn:#ffcc66; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif; }
a { color:var(--acc); text-decoration:none; }
a:hover { text-decoration:underline; }
.wrap { max-width:960px; margin:0 auto; padding:0 24px; }
header { display:flex; align-items:center; gap:12px; padding:24px 0; border-bottom:1px solid var(--line); }
.alpha { font-size:28px; font-weight:700; color:var(--acc); }
header nav { margin-left:auto; display:flex; gap:20px; font-size:14px; }
h1 { font-size:44px; line-height:1.1; margin:56px 0 16px; letter-spacing:-0.02em; }
h1 span { color:var(--acc); }
.lede { font-size:20px; color:var(--muted); max-width:680px; }
.pill { display:inline-block; font-size:12px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ok); border:1px solid var(--line); border-radius:999px; padding:4px 12px; margin-bottom:20px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:48px 0; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:20px; }
.card h3 { margin:0 0 8px; font-size:16px; }
.card p { margin:0; color:var(--muted); font-size:14px; }
section { margin:64px 0; }
h2 { font-size:14px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
form { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:24px; }
label { display:block; font-size:13px; color:var(--muted); margin:12px 0 6px; }
input { width:100%; padding:12px 14px; background:#0c1119; border:1px solid var(--line);
  border-radius:10px; color:var(--ink); font-size:15px; }
button { margin-top:18px; padding:12px 20px; background:var(--acc); color:#00102e; border:0;
  border-radius:10px; font-size:15px; font-weight:600; cursor:pointer; }
button:disabled { opacity:0.5; cursor:default; }
pre { background:#0c1119; border:1px solid var(--line); border-radius:10px; padding:16px;
  overflow-x:auto; font-size:13px; color:#c9d4e5; }
.out { margin-top:20px; }
.key { color:var(--warn); word-break:break-all; }
.err { color:#ff7a7a; }
footer { border-top:1px solid var(--line); color:var(--muted); font-size:13px;
  padding:32px 0 64px; margin-top:64px; }
.muted { color:var(--muted); }
.mt56 { margin-top:56px; } /* replaces inline style= (style-src 'self') */
