:root{--bg:#0b0f14;--bg-soft:#11171f;--bg-card:#141b25;--bg-input:#0e141b;--border:#233040;--border-strong:#31415a;--text:#e6edf3;--text-dim:#93a4b8;--text-faint:#64748b;--accent:#38bdf8;--accent-strong:#0ea5e9;--accent-soft:#38bdf81f;--success:#34d399;--warning:#fbbf24;--error:#f87171;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius:12px;--radius-sm:8px;--shadow:0 18px 48px #00000047;--ease-out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 500px at 80% -10%, #0ea5e91f, transparent 60%), radial-gradient(900px 500px at 0% 0%, #34d3990f, transparent 55%), var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.55}::selection{color:var(--text);background:#38bdf847}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .5em;font-weight:700;line-height:1.2}code,pre,.mono{font-family:var(--mono)}.container{max-width:1040px;margin:0 auto;padding:0 24px}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 0;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.brand .logo{background:linear-gradient(135deg, var(--accent), var(--success));color:#04222f;border-radius:8px;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.nav-links a{color:var(--text-dim);margin-left:20px;font-size:14px}.nav-links a:hover{color:var(--text);text-decoration:none}main{padding:48px 0 80px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-input);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--accent);background:var(--accent-soft);text-decoration:none}.btn:focus-visible,.wstep:focus-visible,.service-option:focus-within{outline:2px solid var(--accent);outline-offset:3px}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg, var(--accent-strong), #0284c7);color:#04222f;border-color:#0000}.btn-primary:hover{filter:brightness(1.08);background:linear-gradient(180deg, var(--accent-strong), #0284c7)}.btn-primary:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border-color:var(--border);color:var(--text-dim);background:0 0}.btn-sm{min-height:34px;padding:6px 12px;font-size:13px}.btn-block{width:100%}.btn .spinner{width:14px;height:14px}.field{margin-bottom:20px}.field label{color:var(--text-dim);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field .hint{color:var(--text-faint);margin-top:7px;font-size:12px;line-height:1.45}input[type=text],input[type=password],input[type=number],input[type=email],select,textarea{background:var(--bg-input);border:1px solid var(--border-strong);width:100%;color:var(--text);border-radius:var(--radius-sm);min-height:44px;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea{resize:vertical;min-height:120px;font-family:var(--mono);font-size:13px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(#141b25fa,#11171ffa);padding:clamp(22px,4vw,34px)}.card-title{align-items:center;gap:8px;margin-bottom:16px;font-size:20px;display:flex}.card-title .step-num{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.service-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.service-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:82px;transition:border-color .18s, background .18s, transform .18s var(--ease-out);background:var(--bg-input);align-items:flex-start;gap:12px;padding:15px;display:flex}.service-option:hover{border-color:var(--border-strong);transform:translateY(-1px)}.service-option.checked{border-color:var(--accent);background:linear-gradient(135deg,#38bdf821,#34d3990d)}.service-option input{accent-color:var(--accent);flex-shrink:0;width:18px;height:18px;margin-top:4px}.service-option .title{font-size:14px;font-weight:600}.service-option .desc{color:var(--text-dim);margin-top:2px;font-size:12.5px}.setup-intro{grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:32px;margin-bottom:26px;display:grid}.setup-intro h1{letter-spacing:-.035em;margin-bottom:8px;font-size:clamp(28px,4vw,40px)}.setup-intro p{color:var(--text-dim);max-width:62ch;margin:0}.setup-intro .setup-kicker{color:var(--accent);margin-bottom:8px;font-size:13px;font-weight:700}.setup-progress{color:var(--text-dim);gap:9px;font-size:12px;font-weight:700;display:grid}.progress-track{background:var(--bg-input);border:1px solid var(--border);border-radius:999px;height:6px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--accent-strong), var(--success));border-radius:inherit;transform-origin:0;width:100%;height:100%;transition:transform .35s var(--ease-out);display:block;transform:scaleX(.2)}.wizard-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.wstep{color:var(--text-faint);cursor:default;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-family:inherit;font-size:13px;display:flex}.wstep:disabled{opacity:.72}.wstep.active{color:var(--text);border-color:var(--border-strong);background:var(--bg-soft)}.wstep.done{color:var(--success);cursor:pointer}.wstep.done:hover{background:var(--bg-soft);border-color:var(--border-strong)}.wstep .dot{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.wstep.active .dot{background:var(--accent);color:#04222f;border-color:#0000}.wstep.done .dot{background:var(--success);color:#04222f;border-color:#0000}.wstep-sep{background:var(--border-strong);width:20px;height:1px}.wizard-actions{border-top:1px solid var(--border);justify-content:space-between;gap:12px;margin-top:30px;padding-top:22px;display:flex}.section-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.section-heading .card-title,.section-heading .muted{margin-bottom:0}.section-heading .muted{margin-top:8px}.service-tools,.secondary-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status-pill{border:1px solid var(--border-strong);color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-pill.ok{color:var(--success);border-color:var(--success)}.status-pill.err{color:var(--error);border-color:var(--error)}.notice{border-radius:var(--radius-sm);border:1px solid;margin-bottom:16px;padding:12px 14px;font-size:13.5px;line-height:1.5}.notice-info{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.notice-warn{border-color:var(--warning);color:var(--warning);background:#fbbf2414}.notice-err{border-color:var(--error);color:var(--error);background:#f8717114}.deploy-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;display:grid}.deploy-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.deploy-header h1{align-items:center;gap:10px;margin-bottom:6px;font-size:24px;display:flex}.deploy-header .muted{margin:0}@media (width<=860px){.deploy-layout,.form-row,.form-row-3{grid-template-columns:1fr}.wstep-sep{display:none}.setup-intro{grid-template-columns:1fr;gap:18px}.setup-progress{max-width:none}.section-heading{flex-direction:column;align-items:stretch;gap:14px}.deploy-header{flex-direction:column;align-items:stretch}.deploy-header .btn{align-self:flex-start}}.step-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;font-family:inherit;display:flex}.step-item:hover{border-color:var(--border-strong);background:var(--bg-soft)}.step-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.step-item .ico{border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.step-item.pending .ico{background:var(--bg-soft);border:1px solid var(--border-strong);color:var(--text-faint)}.step-item.running .ico{background:var(--accent);color:#04222f}.step-item.success .ico{background:var(--success);color:#04222f}.step-item.error .ico{background:var(--error);color:#04222f}.step-item.warning .ico{background:var(--warning);color:#04222f}.step-item .name{flex:1;font-size:13.5px;font-weight:600}.step-item.running .name{color:var(--accent)}.log-panel{border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;background:#070b10;max-height:420px;padding:14px 16px;font-size:12.5px;line-height:1.6;overflow-y:auto}.log-line{color:var(--text-dim)}.log-line.info{color:#c3d2e2}.log-line.cmd{color:var(--accent)}.log-line.success{color:var(--success)}.log-line.warn{color:var(--warning)}.log-line.error{color:var(--error)}.log-line .ts{color:var(--text-faint);user-select:none;margin-right:8px}.log-column{min-width:0}.log-column-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.log-column-heading h2{margin-bottom:4px;font-size:15px}.log-column-heading p{color:var(--text-faint);margin:0;font-size:12.5px}.log-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);margin-bottom:10px;overflow:clip}.log-section.running{border-color:var(--accent)}.log-section.error{border-color:var(--error)}.log-section.warning{border-color:var(--warning)}.log-section summary{cursor:pointer;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 14px;list-style:none;display:grid}.log-section summary::-webkit-details-marker{display:none}.log-section summary:hover{background:var(--bg-soft)}.log-section-state{border:1px solid var(--border-strong);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:grid}.log-section.success .log-section-state,.log-section.running .log-section-state,.log-section.error .log-section-state{color:#04222f;border-color:#0000}.log-section.success .log-section-state{background:var(--success)}.log-section.running .log-section-state{background:var(--accent)}.log-section.error .log-section-state{background:var(--error)}.log-section-title{gap:2px;min-width:0;display:grid}.log-section-title strong{font-size:13.5px}.log-section-title small{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.log-count{color:var(--text-faint);white-space:nowrap;font-size:11px}.log-section-tools{border-top:1px solid var(--border);background:#070b10;justify-content:flex-end;padding:8px 10px;display:flex}.log-section .log-panel{border:0;border-top:1px solid var(--border);border-radius:0}.log-empty{color:var(--text-faint);font-style:italic}.hero{text-align:center;padding:40px 0 16px}.hero h1{letter-spacing:-.02em;font-size:clamp(30px,5vw,48px)}.hero p{color:var(--text-dim);max-width:640px;margin:12px auto 28px;font-size:17px}.hero .actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.features{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:40px;display:grid}.feature{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.feature .emoji{font-size:22px}.feature h3{margin:8px 0 6px;font-size:15px}.feature p{color:var(--text-dim);margin:0;font-size:13px}.muted{color:var(--text-faint);font-size:13px}.result-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}@media (width<=640px){.container{padding:0 16px}main{padding:30px 0 48px}.site-header{padding:14px 0}.wizard-header{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.wstep{justify-content:center;padding:7px 4px;font-size:0}.wstep .dot{width:26px;height:26px;font-size:12px}.card{border-radius:10px;padding:20px 16px}.service-grid{grid-template-columns:1fr}.wizard-actions,.review-actions{flex-direction:column-reverse;align-items:stretch}.wizard-actions>.btn,.wizard-actions>span,.secondary-actions,.secondary-actions .btn{width:100%}.secondary-actions{align-items:stretch}.status-pill{justify-content:center;min-height:34px}.deploy-header .btn{width:100%}.log-section summary{grid-template-columns:24px minmax(0,1fr)}.log-count{grid-column:2}.result-grid{grid-template-columns:1fr}}.result-row{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;gap:12px;padding:10px 12px;font-size:13px;display:flex}.result-row .k{color:var(--text-dim);flex-shrink:0;font-weight:600}.result-row .v{font-family:var(--mono);word-break:break-all;text-align:right}.next-steps li{color:var(--text-dim);margin-bottom:8px;font-size:13.5px}.next-steps li::marker{color:var(--accent)}
