:root{--fg:#1d2330;--muted:#5b6475;--bg:#fbfbf8;--card:#fff;--line:#e2e4ea;--ok:#1f7a3a;--warn:#9a6200;--bad:#b0262b;--accent:#2f5bb7}
*{box-sizing:border-box}
body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--fg);background:var(--bg)}
header,main,footer{max-width:1000px;margin:0 auto;padding:0 18px}
header{padding-top:18px}
nav a{margin-right:14px;color:var(--accent);text-decoration:none;font-weight:600}
nav a.here{color:var(--fg);text-decoration:underline}
h1{font-size:1.6rem;margin:.6em 0 .2em}
h2{font-size:1.2rem;margin:1.6em 0 .5em}
.lead{color:var(--muted);margin-top:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:14px 0}
.note{background:#f3f5fa;border-left:4px solid var(--accent);padding:10px 14px;margin:14px 0}
.warnbox{background:#fff6e6;border-left:4px solid var(--warn);padding:10px 14px;margin:14px 0}
input[type=text]{width:100%;font:15px ui-monospace,Menlo,Consolas,monospace;padding:9px 10px;border:1px solid #b8bfcc;border-radius:6px}
button{font:inherit;font-weight:600;padding:8px 16px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;margin-top:8px}
button.secondary{background:#fff;color:var(--accent)}
button:disabled{opacity:.5;cursor:default}
table{border-collapse:collapse;width:100%;font-size:.92rem;background:var(--card)}
th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
th{background:#f1f3f7}
code,.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.86em;word-break:break-all}
.src{display:block;color:var(--muted);font-size:.78rem;font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-all}
.ok{color:var(--ok);font-weight:600}.warn{color:var(--warn);font-weight:600}.bad{color:var(--bad);font-weight:600}.muted{color:var(--muted)}
#log{font:12px ui-monospace,Menlo,Consolas,monospace;color:var(--muted);white-space:pre-wrap;max-height:180px;overflow:auto}
ol.steps li{margin:6px 0}
.scroll{overflow-x:auto}
footer{color:var(--muted);font-size:.88rem;border-top:1px solid var(--line);margin-top:36px;padding-top:12px;padding-bottom:30px}
footer a{color:var(--accent)}
.guide h1{font-size:1.5rem}.guide h2{font-size:1.15rem}
.guide blockquote{margin:10px 0;padding:6px 14px;border-left:4px solid var(--line);color:#333;background:#f7f7f4}
