:root{--bg:#0a0a0a;--panel:#141414;--line:#2a2a2a;--ink:#e5e5e5;--hi:#f4f7fa;--lo:#9ca3af;--id:#60a5fa;--act:#f59e0b;--ok:#4ade80;--bad:#f87171}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
.wrap{max-width:900px;margin:0 auto;padding:24px 16px 64px}h1{color:var(--hi);font-size:1.9rem;line-height:1.2;margin:.2em 0}h2{color:var(--hi);font-size:1.2rem;margin:0 0 .4em}
.banner{border:1px solid var(--act);border-radius:8px;padding:12px 14px;margin:16px 0;color:var(--hi)}
.step{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;margin:16px 0}.step.locked{opacity:.45}.n{color:var(--id);margin-right:.5em}
button{font:inherit;padding:9px 14px;border-radius:7px;border:1px solid var(--id);background:transparent;color:var(--id);cursor:pointer;margin:4px 8px 4px 0}button.primary{background:var(--id);color:#0a0a0a}button.alt{border-color:var(--act);color:var(--act)}button:disabled{opacity:.4;cursor:default}
button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--hi);outline-offset:2px}
a{color:var(--id)}pre{background:#000;border:1px solid var(--line);border-radius:6px;padding:10px;overflow:auto;font-size:.8rem;max-height:320px;white-space:pre-wrap;word-break:break-all}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;vertical-align:top;padding:7px 8px;border-bottom:1px solid var(--line)}th{color:var(--lo);font-weight:600}
.tw{overflow-x:auto}.ok{color:var(--ok)}.bad{color:var(--bad)}.muted{color:var(--lo);font-size:.92rem}select,textarea{font:inherit;background:#000;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px;max-width:100%}textarea{width:100%;min-height:90px}[hidden]{display:none!important}
