:root{--bg:#f6f4ef;--surface:#fff;--ink:#1d2b24;--muted:#66746c;--line:#e2ddd2;--brand:#1f4d3a;--brand-ink:#f4efe4;--accent:#c99a2e;--ok:#2e7d4f;--warn:#b7791f;--bad:#b3261e;--radius:10px;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-font-smoothing:antialiased;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand)}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:1.5rem}h2{margin:0 0 12px;font-size:1.05rem}.sub{color:var(--muted);margin:0 0 24px}.wrap{max-width:1080px;margin:0 auto;padding:24px 16px 64px}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{font-variant-numeric:tabular-nums;margin:0}.pill{border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.pill.ok{color:var(--ok);background:#e3f1e8}.pill.warn{color:var(--warn);background:#fbf0dc}.pill.bad{color:var(--bad);background:#f8e1df}.pill.off{color:var(--muted);background:#ecebe7}.btn{background:var(--brand);color:var(--brand-ink);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:9px 16px;font-weight:600;text-decoration:none;display:inline-block}.btn.ghost{color:var(--brand);border:1px solid var(--brand);background:0 0}.btn.danger{color:var(--bad);border:1px solid var(--bad);background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}label{color:var(--muted);margin-bottom:4px;font-size:.85rem;display:block}input,select{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:8px;padding:9px 11px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.field{margin-bottom:14px}.notice{border-radius:8px;margin-bottom:16px;padding:12px 14px}.notice.ok{background:#e3f1e8}.notice.bad{background:#f8e1df}.notice.warn{background:#fbf0dc}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.table-wrap{overflow-x:auto}code,.mono{font-family:var(--mono);font-size:.88em}.steps{margin:0;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--line);gap:12px;padding:10px 0;display:flex}.steps li:last-child{border-bottom:0}.steps .n{width:26px;height:26px;color:var(--muted);background:#ecebe7;border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.steps .now .n{background:var(--accent);color:#fff}.steps .done .n{background:var(--ok);color:#fff}.err-detail{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--bad);font-size:.8rem}:root{--side-w:248px;--side-bg:#173d2e;--side-ink:#e9e4d6;--side-mut:#e9e4d694;--side-hi:#ffffff14}.has-shell .content{margin-left:var(--side-w);max-width:none;padding:32px clamp(20px,3vw,56px) 64px}.has-shell .content>.inner{width:100%;max-width:1760px;margin:0 auto}.side{width:var(--side-w);background:var(--side-bg);color:var(--side-ink);z-index:30;flex-direction:column;padding:18px 12px 14px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.side a{color:inherit;text-decoration:none}.brand{color:inherit;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand .mark{background:var(--accent);color:#1d2b24;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-size:1rem;font-weight:800;display:grid}.brand-txt{flex-direction:column;line-height:1.15;display:flex}.brand-txt small{color:var(--side-mut);font-size:.75rem;font-weight:400}.side>.brand{padding:2px 8px 18px}.side nav{flex-direction:column;flex:1;gap:14px;display:flex}.nav-label{text-transform:uppercase;letter-spacing:.09em;color:var(--side-mut);padding:0 10px 4px;font-size:.68rem;font-weight:600}.side nav a{color:var(--side-ink);opacity:.86;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:.92rem;display:flex}.side nav a:hover{background:var(--side-hi);opacity:1}.side nav a[aria-current=page]{opacity:1;box-shadow:inset 3px 0 0 var(--accent);background:#c99a2e2e;font-weight:600}.side svg,.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.side-foot{border-top:1px solid #ffffff1a;flex-direction:column;gap:10px;margin-top:16px;padding-top:12px;display:flex}.status{background:#00000029;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:.82rem;line-height:1.25;display:flex}a.status[href]:hover{background:#00000042}.status strong{font-weight:600;display:block}.status small{color:var(--side-mut);font-size:.74rem}.dot{background:#9aa39d;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 3px #ffffff0f}.dot.ok{background:#4cc38a}.dot.warn{background:#e8b04b}.dot.bad{background:#ef6b62}.me{align-items:center;gap:10px;padding:2px 4px 0 8px;display:flex}.avatar{background:#ffffff1f;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:.78rem;font-weight:700;display:grid}.me-txt{flex-direction:column;flex:1;min-width:0;font-size:.86rem;line-height:1.2;display:flex}.me-txt strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.me-txt small{color:var(--side-mut);font-size:.74rem}.me form{margin:0}.icon-btn{width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--side-hi)}.ver{color:var(--side-mut);font-size:.7rem;font-family:var(--mono);padding:0 10px}.nav-toggle{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0;position:absolute;top:0;left:0}.mbar,.scrim{display:none}@media (width<=900px){.has-shell .content{margin-left:0;padding:20px 16px 56px}.mbar{z-index:20;background:var(--side-bg);color:var(--side-ink);align-items:center;gap:10px;padding:8px 12px;display:flex;position:sticky;top:0}.mbar .brand{flex:1}.mbar .mark{width:28px;height:28px;font-size:.9rem}.side{transition:transform .2s;transform:translate(-100%);box-shadow:0 0 40px #00000040}.nav-toggle:checked~.side{transform:none}.nav-toggle:checked~.scrim{z-index:25;background:#00000059;display:block;position:fixed;inset:0}}@media (prefers-reduced-motion:reduce){.side{transition:none}}
