:root{--ink:#101828;--muted:#667085;--bg:#fff;--surface:#f8fafc;--border:#e4e7ec;--accent:#4f46e5;--accent-hover:#4338ca;--ok:#027a48;--warn:#b54708;--err:#b42318;--radius:12px}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:var(--bg);flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;display:flex}main{flex:1}img,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit}h1,h2,h3,h4{text-wrap:balance;line-height:1.2}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:1080px;margin-inline:auto;padding-inline:20px}.btn{border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex;position:relative}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{color:var(--accent);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface);border-color:#0000}.btn-sm{min-height:36px;padding:0 14px;font-size:.875rem}.btn-sm:after{content:"";position:absolute;inset:-4px}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:0 14px}.input::placeholder{color:var(--muted)}.input:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.label{color:var(--ink);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.badge{border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.75rem;font-weight:600;line-height:1.7;display:inline-flex}.badge-ok{color:var(--ok);background:#ecfdf3;border-color:#abefc6}.badge-warn{color:var(--warn);background:#fffaeb;border-color:#fedf89}.muted{color:var(--muted)}.error-text{color:var(--err);font-size:.875rem}.code{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.kv{grid-template-columns:max-content 1fr;gap:8px 20px;display:grid}.kv dt{color:var(--muted);font-size:.9rem}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.wizard{grid-template-columns:240px 1fr;align-items:start;gap:32px;display:grid}.steps-rail{counter-reset:step;flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.rail-step{counter-increment:step;color:var(--muted);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:.9rem;font-weight:500;display:flex}.rail-step:before{content:counter(step);border:1.5px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}.rail-step.active{background:var(--surface);color:var(--ink);font-weight:600}.rail-step.active:before{border-color:var(--accent);background:var(--accent);color:#fff}.rail-step.done{color:var(--ink)}.rail-step.done:before{content:"✓";color:var(--ok);background:#ecfdf3;border-color:#abefc6}.panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:28px}.panel-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:20px;display:flex}@media (width<=799px){.wizard{grid-template-columns:1fr;gap:20px}.steps-rail{flex-direction:row;padding-bottom:4px;overflow-x:auto}.rail-step{flex:none;padding:8px 10px}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.progress-steps{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.progress-steps>*{align-items:center;gap:10px;min-width:0;display:flex}.progress-steps .pending,.progress-steps .running,.progress-steps .done,.progress-steps .failed,.progress-steps .skipped{overflow-wrap:anywhere}.progress-steps .pending:before,.progress-steps .running:before,.progress-steps .done:before,.progress-steps .failed:before,.progress-steps .skipped:before{border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.progress-steps .pending{color:var(--muted)}.progress-steps .skipped{color:var(--muted);opacity:.65}.progress-steps .skipped:before{content:"–";border:2px solid var(--border);color:var(--muted);font-weight:700;line-height:1}.progress-steps .pending:before{content:"";border:2px solid var(--border)}.progress-steps .running:before{content:"";border:2px solid var(--border);border-top-color:var(--accent);animation:.7s linear infinite spin}.progress-steps .done:before{content:"✓";color:var(--ok);background:#ecfdf3}.progress-steps .failed{color:var(--err)}.progress-steps .failed:before{content:"✕";color:var(--err);background:#fef3f2}.site-header{border-bottom:1px solid var(--border);background:var(--bg)}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.site-nav{align-items:center;gap:20px;display:flex}.site-nav a:not(.btn){color:var(--muted);font-size:.95rem;font-weight:500;text-decoration:none}.site-nav a:not(.btn):hover{color:var(--ink)}.site-footer{border-top:1px solid var(--border);background:var(--bg);padding:24px 0;font-size:.85rem}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--ink)}.footer-inner{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}:root[data-theme=dark]{--ink:#f2f4fb;--muted:#99a2c2;--bg:#05060f;--surface:#ffffff0a;--border:#ffffff1a;--accent:#6366f1;--accent-hover:#818cf8}:root[data-theme=dark] .site-header{z-index:40;-webkit-backdrop-filter:blur(12px);background:#05060fb8;position:sticky;top:0}:root[data-theme=dark] .btn-primary{box-shadow:0 0 24px #6366f173}:root[data-theme=dark] .badge-ok,:root[data-theme=dark] .rail-step.done:before,:root[data-theme=dark] .progress-steps .done:before{color:#6ee7b7;background:#34d39924;border-color:#34d39966}:root[data-theme=dark] .badge-warn{color:#fcd34d;background:#fbbf2421;border-color:#fbbf2466}:root[data-theme=dark] .progress-steps .failed:before{color:#fca5a5;background:#f8717126}:root[data-theme=dark] .error-text{color:#fca5a5}:root[data-theme=dark] .rail-step.active{background:#6366f11f}:root[data-theme=dark] .card,:root[data-theme=dark] .panel{background:#ffffff08}:root[data-theme=dark] .input{color:var(--ink);background:#ffffff0d}:root[data-theme=dark] .code{color:#c7d2fe;background:#6366f124}.wizard.rail-hidden{grid-template-columns:1fr}.wizard.rail-hidden .steps-rail{display:none}.rail-back{padding:6px 14px 12px;font-size:.88rem}.rail-back a{color:var(--muted);text-decoration:none}.rail-back a:hover{color:var(--ink)}.sites-list{flex-direction:column;gap:12px;margin:18px 0;padding:0;list-style:none;display:flex}.site-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:14px;padding:14px 18px;display:flex}.site-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.site-info strong,.site-info .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-info .muted{font-size:.85rem}.site-actions{flex:none;gap:8px;display:flex}@media (width<=640px){.site-row{flex-wrap:wrap}}
