:root{--bg:#0a0e13;--panel:#111821;--panel2:#18222e;--line:#243040;--text:#e8eef5;--muted:#93a3b5;--accent:#4d8dff;--good:#2fc46f;--bad:#ff6b6b;--warn:#f0b34a}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--accent)}code,pre,.bigcode{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);background:#0c1219;flex-wrap:wrap}
.brand{font-weight:800;font-size:22px;color:var(--text);text-decoration:none;letter-spacing:.3px}.brand span{color:var(--accent)}
.top nav{display:flex;align-items:center;gap:14px}.top nav a{color:var(--muted);text-decoration:none}.top nav a:hover{color:var(--text)}
.top nav a.btn{color:#fff}.inline{display:inline;margin:0}
.wrap{max-width:980px;margin:0 auto;padding:24px 18px 48px}
.foot{max-width:980px;margin:0 auto;padding:0 18px 36px;color:var(--muted);font-size:13px}
h1{font-size:30px;line-height:1.2;margin:8px 0 12px}h2{font-size:20px;margin:0 0 10px}h3{margin:0 0 8px;font-size:17px}
.hero{padding:22px 0 8px}.lead{color:var(--muted);font-size:18px;max-width:680px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0}
.narrow{max-width:460px;margin-left:auto;margin-right:auto}.center{text-align:center}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}.steps .card{margin:0}
.fine{color:var(--muted);font-size:13px}.warn{color:var(--warn)}.cta{margin:26px 0}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.1)}.btn.big{padding:12px 22px;font-size:17px}.btn.small{padding:5px 10px;font-size:13px}
.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.btn.danger{background:#5a2226;color:#ffb3b3;border:1px solid #7a2f34}
.linkbtn{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;padding:0}.linkbtn:hover{color:var(--text)}
label{display:block;margin:12px 0;color:var(--muted);font-size:14px}
input{width:100%;background:#0b1118;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;margin-top:5px}
input:focus{outline:2px solid var(--accent);outline-offset:1px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row input{flex:1;min-width:150px;margin-top:0}
.prefix{color:var(--muted);white-space:nowrap}.find{margin-top:20px;max-width:520px}.find label{margin-bottom:6px}
.flash{padding:11px 14px;border-radius:10px;margin:0 0 14px;border:1px solid}.flash.error{background:#3a1c1e;border-color:#6a2a2e;color:#ffb8b8}
.flash.ok{background:#12301f;border-color:#1f5c38;color:#9be8b8}
.codecard{border-color:var(--accent);background:#0f1a2b}
.bigcode{font-size:38px;font-weight:800;letter-spacing:6px;text-align:center;background:#0a1220;border:1px dashed var(--accent);border-radius:12px;padding:16px;margin:12px 0;user-select:all}
.cmd{background:#0a0f16;border:1px solid var(--line);border-radius:10px;padding:10px 12px;overflow-x:auto;font-size:13px;white-space:pre}
.thead{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-start;margin-bottom:8px}.thead .row{min-width:260px}
.pubaddr{font-family:ui-monospace,Menlo,monospace;font-size:14px}
.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin:8px 0}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);font-size:14px;white-space:nowrap}th{color:var(--muted);font-weight:600}
.addsite{margin-top:14px}.stack label{display:block}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#556}.dot.on{background:var(--good);box-shadow:0 0 8px var(--good)}.dot.off{background:#6b7785}
.sitegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.site{margin:0;display:grid;gap:8px;align-content:start}
.sitehead{display:flex;justify-content:space-between;align-items:center}
@media(max-width:600px){h1{font-size:25px}.bigcode{font-size:30px;letter-spacing:4px}.top{padding:12px 14px}}
.narrowform{max-width:440px}.danger-zone{border-color:#6a2a2e}.danger-zone h2{color:#ff9a9a}
