[hidden]{display:none!important}
.sub-wrap{max-width:600px;margin:30px auto 60px;padding:0 20px;display:block}
.sub-card{padding:26px}
.progress{height:6px;background:var(--soft);border-radius:999px;overflow:hidden;margin-bottom:10px}
#pfill{height:100%;width:33.3%;background:var(--btn);border-radius:999px;transition:width .25s}
.step-label{font-size:.75rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.sub-card .step h2{font-size:1.5rem;text-transform:none;letter-spacing:-.5px;color:var(--head);margin:0 0 12px;display:block}
.step{display:grid;gap:8px}
.step label{font-size:.8rem;font-weight:700;color:var(--head);margin-top:6px}
.step input:not([type=file]){padding:13px 14px;border-radius:10px;font-size:1rem;width:100%}
.hint,.preview{font-size:.8rem;color:var(--mute)}.preview{font-variant-numeric:tabular-nums;min-height:1.2em}
.err{font-size:.8rem;color:var(--danger)}.err:empty{display:none}
input.bad{border-color:var(--danger)}
.cats{display:flex;flex-wrap:wrap;gap:8px}
.pillbtn{border:1px solid var(--line);background:var(--surface);color:var(--mute);border-radius:999px;padding:10px 16px;font:inherit;font-weight:600;font-size:.9rem;cursor:pointer}
.pillbtn[aria-checked=true]{background:var(--btn);color:var(--btn-text);border-color:var(--btn)}
.drop{border:2px dashed var(--line);border-radius:12px;padding:30px 16px;text-align:center;color:var(--mute);cursor:pointer;line-height:1.5}
.drop.over,.drop:hover{border-color:var(--accent);background:var(--soft)}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.thumbs:empty{display:none}
.thumb2{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--soft)}
.thumb2 img{width:100%;height:100%;object-fit:cover}
.thumb2 button{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;font-size:16px;line-height:1}
.cprev img{max-width:140px;border-radius:6px;margin-top:6px;display:block}
.summary{background:var(--soft);border-radius:10px;padding:12px 14px;display:grid;gap:6px;margin-top:6px}
.srow{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;color:var(--mute)}.srow b{color:var(--head)}
.nav{display:flex;gap:10px;margin-top:22px}.nav .btn{flex:1;padding:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ok{text-align:center;padding:24px 6px}.ok h3{margin:0 0 8px;font-size:1.3rem;color:var(--head)}
.intro{color:var(--mute);font-size:.92rem;margin:0 0 16px;line-height:1.5}

.tbanner{background:var(--soft);border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:.88rem;color:var(--head);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.tbanner button{border:none;background:none;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
