:root{--bg:#f5f2ec;--surface:#fffefb;--surface2:#f8f6f1;--line:#ebe7e0;--ink:#211f1c;--ink2:#5f5951;--ink3:#958f86;--brand:#c2441f;--brandink:#fff;--ok:#1f7a5a;--okbg:color-mix(in srgb,#1f7a5a 12%,transparent);--bad:#b3261e;--badbg:color-mix(in srgb,#d9534f 12%,transparent)}
@media (prefers-color-scheme:dark){:root{--bg:#131313;--surface:#1d1d1f;--surface2:#252528;--line:#2b2b2e;--ink:#f3efe9;--ink2:#aaa7a2;--ink3:#78756f;--brand:#f08a66;--brandink:#1a0f0a;--ok:#6fd3a8;--okbg:color-mix(in srgb,#6fd3a8 14%,transparent);--bad:#ff8a80;--badbg:color-mix(in srgb,#ff8a80 14%,transparent)}}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg);color:var(--ink);font:16px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.card{width:min(580px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px 30px 26px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;margin-bottom:16px}.logo img{width:34px;height:34px}
h1{font-size:1.3rem;margin:0 0 .45em;text-wrap:balance}p{color:var(--ink2);margin:0 0 1em}
.progress{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 22px;counter-reset:s}
.progress li{flex:1;font-size:12.5px;font-weight:600;color:var(--ink3);padding-top:8px;border-top:3px solid var(--line)}
.progress li.on{color:var(--ink);border-color:var(--brand)}.progress li.past{color:var(--ink2);border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}
.field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;border:0;padding:0}.field>span{font-weight:600;font-size:13.5px;color:var(--ink2)}
textarea,input,select{width:100%;padding:.65rem .85rem;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:15px}
textarea{min-height:110px;font-family:ui-monospace,Menlo,monospace;font-size:13px;resize:vertical}
textarea:focus,input:focus,select:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}
.radio{display:flex;gap:.6rem;align-items:flex-start;font-size:15px;color:var(--ink);padding:.35rem 0}.radio input{width:auto;margin-top:.3rem}
.own{margin:.3rem 0 0 1.6rem}.row{display:flex;gap:6px;align-items:center}.row input{flex:1 1 40%}.row select{flex:1 1 60%}
.help{font-size:13px;color:var(--ink3);margin:.4rem 0 0}code{font-size:13px;background:var(--surface2);padding:1px 6px;border-radius:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.72rem 1.2rem;border-radius:999px;border:1px solid transparent;background:var(--brand);color:var(--brandink);font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn[disabled]{opacity:.55;cursor:not-allowed}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line);margin-top:10px}
.link{display:block;margin:12px auto 0;background:none;border:0;color:var(--ink2);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}
.alert{padding:.65rem .85rem;border-radius:12px;font-size:14px;margin-bottom:14px}.bad{background:var(--badbg);color:var(--bad)}
.okline{background:var(--okbg);color:var(--ok);padding:.55rem .8rem;border-radius:12px;font-size:14px;font-weight:600}
.reqs{color:var(--ink2);font-size:14.5px;padding-left:1.2em;margin:0 0 18px}
.steps{list-style:none;padding:0;margin:0 0 16px}.steps li{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;color:var(--ink2)}
.steps li::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--line);flex:none}
.steps li.start::before{border-color:var(--brand);border-right-color:transparent;animation:spin .8s linear infinite}
.steps li.done{color:var(--ink)}.steps li.done::before{background:var(--ok);border-color:var(--ok)}
.steps li.fail{color:var(--bad)}.steps li.fail::before{background:var(--bad);border-color:var(--bad)}
@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.steps li.start::before{animation:none}}
