.public{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;background:var(--asphalt)}
.public-card{width:min(520px,100%);background:var(--surface);border-radius:14px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.public-card.wide{width:min(680px,100%)}
.public-card .brand{padding:0;margin-bottom:22px;color:var(--ink)}
.public-card h1{font:600 30px/1.1 var(--cond);margin-bottom:10px}
.public-card .lead{color:var(--ink-2);margin-bottom:18px}
.public-card .small,.small{font-size:13px}
.btn.big{height:46px;font-size:15.5px;padding:0 22px}
.slug-input{display:flex;align-items:stretch}
.slug-input input{border-top-right-radius:0;border-bottom-right-radius:0;flex:1;min-width:0}
.slug-input span{display:flex;align-items:center;padding:0 10px;background:var(--sunk);border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;color:var(--ink-2);white-space:nowrap;font-size:14px}
[data-slug-msg].ok{color:var(--ok)}[data-slug-msg].bad{color:var(--bad)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
.steps li{display:flex;gap:10px;align-items:center;color:var(--ink-3)}
.steps li::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:none}
.steps li.active{color:var(--ink)}.steps li.active::before{border-color:var(--blue);border-top-color:transparent;animation:spin 1s linear infinite}
.steps li.next{color:var(--ink);font-weight:600}.steps li.next::before{border-color:var(--blue);border-width:3px}
.steps li.done{color:var(--ink)}.steps li.done::before{background:var(--ok);border-color:var(--ok)}
@keyframes spin{to{transform:rotate(360deg)}}
.joblog{white-space:pre-wrap;font:13px/1.45 ui-monospace,Menlo,Consolas,monospace;background:var(--sunk);padding:14px;border-radius:8px;max-height:60vh;overflow:auto}
.form-grid.section{border-top:1px solid var(--line);padding-top:16px;margin-top:4px}
.form-grid.section h3{grid-column:1/-1;font-size:15px;margin:0}
@media (max-width:600px){.public{padding:16px}.public-card{padding:22px}}
