:root{--bg:#f6f5f1;--fg:#16181a;--muted:#5b6066;--line:#d8d6cf;--accent:#0b6e4f;--err:#a3271d;--code:#eceae3}
@media (prefers-color-scheme:dark){:root{--bg:#121416;--fg:#e9e7e1;--muted:#a1a5aa;--line:#2c3034;--accent:#4cc39a;--err:#ff8a7d;--code:#1d2023}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
main{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 3rem}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:72rem;margin:0 auto;padding:1rem;border-bottom:1px solid var(--line)}
.brand{font:600 1.05rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fg);text-decoration:none}.brand span{color:var(--accent)}
.foot{max-width:72rem;margin:0 auto;padding:1rem;color:var(--muted);font-size:.875rem;border-top:1px solid var(--line)}
a{color:var(--accent)}
h1{font-size:1.75rem;line-height:1.2;margin:.5rem 0 1rem}h2{font-size:1.15rem;margin:2rem 0 .5rem}
.lead{color:var(--muted)}
fieldset{border:0;border-top:1px solid var(--line);padding:1rem 0 .5rem;margin:1.25rem 0 0}
legend{font-weight:600;padding-right:.5rem}
.f{margin:.75rem 0}.f label,.lbl{display:block;font-weight:500;margin-bottom:.25rem}
input[type=text],input[type=email],input[type=tel],input[type=password],input:not([type]),select{width:100%;padding:.55rem .65rem;font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:4px}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.row{display:grid;grid-template-columns:8rem 1fr;gap:.75rem}
.c{display:grid;grid-template-columns:1.25rem 1fr;gap:.5rem;margin:.75rem 0;align-items:start}.c input{margin-top:.3rem}.c .msg{grid-column:2}
.radio{display:inline-flex;gap:.35rem;margin-right:1.25rem;font-weight:400}
.hint{color:var(--muted);font-size:.875rem;margin:.25rem 0}
.err input,.err select{border-color:var(--err)}.msg{color:var(--err);font-size:.875rem;margin:.25rem 0}
.alert{border-left:3px solid var(--err);padding:.5rem .75rem;background:var(--code)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
button{font:inherit;font-weight:600;padding:.65rem 1.1rem;border:0;border-radius:4px;background:var(--accent);color:#fff;cursor:pointer;margin-top:1rem}
button.small{padding:.3rem .6rem;margin:0;font-size:.875rem}button.danger{background:var(--err)}
button.link{background:none;color:var(--accent);padding:0;margin:0;font-weight:400}
.inline{display:inline}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.actions input{width:auto}
pre.cmd{background:var(--code);padding:.85rem 1rem;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.hash{word-break:break-all}
table{border-collapse:collapse;width:100%;font-size:.875rem;margin:.5rem 0}th,td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
nav a{margin-left:.75rem}.narrow{max-width:22rem}
@media (max-width:40rem){.row{grid-template-columns:1fr}}
.qr{margin:1rem 0}.qr svg{display:block;background:#fff}
