:root{--bg:#f3f4f6;--surface:#ffffff;--surface-2:#f7f8fa;--line:#e4e7eb;--line-strong:#d3d8de;--text:#1b1f24;--text-soft:#3d444d;--muted:#6b7280;--accent:#e03010;--accent-ink:#ffffff;--accent-hover:color-mix(in srgb,var(--accent) 86%,#000);--accent-tint:color-mix(in srgb,var(--accent) 9%,#fff);--accent-tint-line:color-mix(in srgb,var(--accent) 28%,#fff);--ok:#137a43;--ok-bg:#ecf7f0;--ok-line:#bfe4cd;--warn:#9a6400;--warn-bg:#fff7e8;--warn-line:#efd9a6;--danger:#b5302a;--danger-bg:#fcebe9;--danger-line:#f1c2bd;--radius:12px;--shadow:0 1px 2px rgba(16,24,40,.04),0 4px 16px rgba(16,24,40,.06);--shadow-lg:0 8px 30px rgba(16,24,40,.10)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}.wrap{max-width:980px;margin:0 auto;padding:0 24px 80px}header.top{display:flex;align-items:center;gap:14px;padding:18px 0;margin:0 0 28px;border-bottom:1px solid var(--line);position:relative}header.top:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:56px;background:var(--accent);border-radius:2px}header.top img.logo{height:38px;width:auto;display:block}header.top .brandtext{display:flex;flex-direction:column;gap:1px;line-height:1.2}header.top .bname{font-weight:700;font-size:16px;letter-spacing:-.01em}header.top h1{all:unset;font-weight:700;font-size:16px;letter-spacing:-.01em}header.top .tag{color:var(--muted);font-size:12.5px}header.top .spacer{flex:1 1}header.top .by{color:var(--muted);font-size:12px}.lead{color:var(--text-soft);margin:0 0 26px;max-width:72ch;font-size:14.5px}.lead code{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:12.5px}.steps{gap:6px;margin:0 0 26px;flex-wrap:wrap}.steps,.steps .step{display:flex;align-items:center}.steps .step{gap:9px;color:var(--muted);font-size:13px;font-weight:500}.steps .step .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1.5px solid var(--line-strong);font-size:12px;font-weight:600;color:var(--muted);transition:.15s}.steps .step.active{color:var(--text)}.steps .step.active .n{box-shadow:0 0 0 4px var(--accent-tint)}.steps .step.active .n,.steps .step.done .n{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.steps .sep{width:26px;height:1.5px;background:var(--line-strong)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:18px;box-shadow:var(--shadow)}.panel h2{margin:0 0 6px;font-size:17px;letter-spacing:-.01em}.panel .sub{color:var(--muted);margin:0 0 20px;font-size:13.5px;max-width:70ch}.panel .sub code,.panel code{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px}label{display:block;font-size:12px;font-weight:600;color:var(--text-soft);margin-bottom:6px}input,select{width:100%;background:var(--surface);border:1px solid var(--line-strong);color:var(--text);padding:10px 12px;border-radius:9px;font-size:13.5px;outline:none;transition:.15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}input::placeholder{color:#9aa1ab}input[type=checkbox]{width:auto;accent-color:var(--accent)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}a.btn,button.btn,label.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);border:none;padding:11px 18px;border-radius:9px;font-weight:600;cursor:pointer;font-size:13.5px;box-shadow:var(--shadow);transition:.15s;text-decoration:none}a.btn:hover,button.btn:hover,label.btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-lg)}a.btn.secondary,button.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--line-strong);box-shadow:none}a.btn.ghost,button.btn.ghost{background:transparent;color:var(--text-soft);border:1px solid var(--line-strong);box-shadow:none}a.btn.ghost:hover,a.btn.secondary:hover,button.btn.ghost:hover,button.btn.secondary:hover{background:var(--surface-2);color:var(--text)}button.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.note{font-size:13px;padding:11px 14px;border-radius:9px;border:1px solid var(--line)}.note.ok{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.note.err{color:var(--danger);border-color:var(--danger-line);background:var(--danger-bg)}.note.warn{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg)}.stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px}.stat{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:14px 18px;min-width:110px}.stat .v{font-size:24px;font-weight:700;letter-spacing:-.02em}.stat .k{color:var(--muted);font-size:12px;margin-top:2px}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500}.tabs button.active{color:var(--accent);border-color:var(--accent-tint-line);background:var(--accent-tint)}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px;max-height:460px}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-2);color:var(--text-soft);font-weight:600;z-index:1}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-2)}tr.excluded td{opacity:.42}td input{padding:6px 8px;font-size:12.5px;min-width:90px}td.tight{text-align:center}td.tight input{min-width:0}.pill{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line-strong);color:var(--muted)}.pill.sys{color:var(--accent);border-color:var(--accent-tint-line);background:var(--accent-tint)}.files{display:grid;grid-gap:12px;gap:12px}.file{border:1px solid var(--line);border-radius:10px;overflow:hidden}.file .fhead{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface-2)}.file .fname{font-weight:600;font-size:13px}.file pre{margin:0;padding:14px;max-height:280px;overflow:auto;font-size:12px;color:var(--text-soft);background:#fbfcfd}.muted,small.muted{color:var(--muted)}.checks{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:7px}.checks li{padding:9px 13px;border-radius:9px;font-size:13px;border:1px solid var(--line)}.checks li.ok{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.checks li.warn{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg)}.checks li.block{color:var(--danger);border-color:var(--danger-line);background:var(--danger-bg)}