:root{--bg:#f6f6f4;--card:#ffffff;--ink:#1d1d1b;--dim:#6b6b66;--line:#e4e3de;--brand:#c4501b;--brand-ink:#ffffff;--ok:#2f7d4a;--ok-bg:#e7f4ec;--warn:#9a6400;--warn-bg:#fff4dc;--bad:#b3261e;--bad-bg:#fde8e6;--info-bg:#eef2f8;--radius:8px}@media (prefers-color-scheme:dark){:root{--bg:#161614;--card:#20201e;--ink:#ecebe6;--dim:#a09f98;--line:#34332f;--brand:#e0703a;--ok:#7fcf9a;--ok-bg:#1d3326;--warn:#e9b955;--warn-bg:#3a2f17;--bad:#f08a80;--bad-bg:#3d1f1c;--info-bg:#222a36}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}h1{font-size:20px;margin:0 0 4px}h2{font-size:16px;margin:0 0 12px}h3{font-size:14px;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line,#e5e7eb)}h3:first-of-type{border-top:0;padding-top:0;margin-top:0}.top{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--card);border-bottom:1px solid var(--line)}.top .brand{font-weight:700;text-decoration:none}.top nav{display:flex;gap:14px;flex:1 1}.top nav a{text-decoration:none;color:var(--dim)}.top nav a:hover{color:var(--ink)}.top .me{color:var(--dim);font-size:13px}main{max-width:1200px;margin:0 auto;padding:20px 16px 60px}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.sub{color:var(--dim);margin:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px}.stats{display:flex;gap:24px;flex-wrap:wrap}.stats div b{display:block;font-size:18px}.stats div span{color:var(--dim);font-size:12px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--dim);font-weight:500;font-size:12px}.table-wrap{overflow-x:auto}.dim{color:var(--dim)}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12.5px}.badge,.small{font-size:12px}.badge{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--info-bg);white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.msg{padding:10px 12px;border-radius:var(--radius);margin:0 0 12px}.msg.ok{background:var(--ok-bg);color:var(--ok)}.msg.warn{background:var(--warn-bg);color:var(--warn)}.msg.bad{background:var(--bad-bg);color:var(--bad)}.msg.info{background:var(--info-bg)}form.stack{display:grid;grid-gap:12px;gap:12px;max-width:520px}label{display:grid;grid-gap:4px;gap:4px;font-weight:500}label .hint{font-weight:400;color:var(--dim);font-size:12px}input,select,textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:7px 10px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row form{display:inline}.btn,button{font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;white-space:nowrap}.btn:hover,button:hover{border-color:var(--dim)}.btn.primary,button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}button.danger{color:var(--bad)}button:disabled{opacity:.5;cursor:default}details summary{cursor:pointer;color:var(--dim)}pre.log{white-space:pre-wrap;margin:8px 0 0;padding:8px;background:var(--bg);border-radius:6px;font-size:12px;max-height:320px;overflow:auto}.login{max-width:380px;margin:10vh auto}code{font-family:ui-monospace,Consolas,monospace;background:var(--bg);padding:1px 5px;border-radius:4px;font-size:12.5px;word-break:break-all}ol.steps{padding-left:20px;margin:0 0 12px}ol.steps li{margin-bottom:6px}