:root{--bg:#0d0e11;--surface:#16181e;--surface-2:#1c1f27;--border:#272a33;--text:#f3f4f7;--muted:#898f9e;--accent:#2563eb;--accent-bright:#3b82f6;--accent-soft:rgba(37,99,235,.14);--accent-border:rgba(37,99,235,.3);--good:#34d39a;--bad:#ff5d5d;--radius:16px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(900px 480px at 85% -8%,rgba(37,99,235,.14),transparent 60%),radial-gradient(700px 400px at 10% 0,rgba(37,99,235,.06),transparent 55%),var(--bg);background-attachment:fixed;color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"cv02","cv03","cv04"}.display,h1,h2,h3{font-family:Poppins,system-ui,sans-serif;letter-spacing:-.02em;font-weight:700;line-height:1.08}.display,h1{font-weight:800}.hl{color:var(--accent-bright)}.container{max-width:1080px;margin:0 auto;padding:56px 24px 96px}.eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--accent-bright);background:var(--accent-soft);border:1px solid var(--accent-border);padding:5px 13px;border-radius:999px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-bright)}.card{background:linear-gradient(180deg,#1a1c23,#15171d);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:13px 16px;font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:#5d6373}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:12px 26px;font-family:Poppins,system-ui,sans-serif;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s ease,transform .08s ease,box-shadow .15s ease}.btn:hover{background:var(--accent-bright);transform:translateY(-1px);box-shadow:0 8px 22px -8px var(--accent)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;background:var(--accent)}.btn.ghost{background:transparent;border:1px solid hsla(0,0%,100%,.18);color:var(--text);box-shadow:none}.btn.ghost:hover{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.32);transform:translateY(-1px)}.stepper{flex-wrap:wrap;margin:28px 0 36px}.step-pill,.stepper{display:flex;gap:8px}.step-pill{align-items:center;padding:8px 15px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px;color:var(--muted);white-space:nowrap;transition:border-color .15s ease,color .15s ease,background .15s ease}.step-pill.active{border-color:var(--accent);color:#fff;background:var(--accent-soft)}.step-pill.done{color:var(--text)}.step-pill.disabled{opacity:.4}.step-num{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--surface-2)}.step-pill.active .step-num{background:var(--accent);color:#fff}.step-pill.done .step-num{background:var(--accent-soft);color:var(--accent-bright)}.row{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);margin-bottom:8px;transition:border-color .15s ease,background .15s ease}.row:hover{border-color:#353945;background:#1f222b}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:13px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;margin:0 6px 6px 0;transition:border-color .15s ease,background .15s ease}.chip:hover{border-color:#3a3e4a}.chip.on{border-color:var(--accent);background:var(--accent-soft);color:#fff}.muted{color:var(--muted)}.status{font-size:13px;display:inline-flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%}.dot.running{background:var(--accent-bright);animation:pulse 1s infinite}.dot.done{background:var(--good)}.dot.error{background:var(--bad)}@keyframes pulse{50%{opacity:.3}}a{color:inherit;text-decoration:none}@media print{body,html{background:#fff!important;color:#111!important}.btn,.eyebrow:before{display:none}}