/* sign up / log in / password pages — builds on site.css */
.auth-page{min-height:100vh;display:grid;place-items:center;padding-block:40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  background:radial-gradient(600px 380px at 20% 0%,rgba(143,61,255,.22),transparent 70%),radial-gradient(520px 340px at 90% 10%,rgba(29,155,240,.14),transparent 70%),var(--bg)}
.auth{width:min(440px,100%);display:grid;gap:22px}
.auth .brand{justify-self:center}
.auth-card{border:1px solid var(--line-2);border-radius:18px;background:var(--panel);padding:30px 28px;display:grid;gap:18px;box-shadow:0 30px 90px -40px var(--glow-p)}
.auth-card h1{font-stretch:115%;font-weight:800;font-size:28px;letter-spacing:-.02em;line-height:1.1}
.auth-card .sub{color:var(--text-2);font-size:15px;margin-top:-8px}
.auth-form{display:grid;gap:14px}
.fld{display:grid;gap:6px}
.fld label{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.fld input{height:46px;border-radius:11px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);padding:0 14px;font:inherit;font-size:16px;outline:none;transition:border-color .15s}
.fld input:focus{border-color:var(--purple)}
.fld input[aria-invalid="true"]{border-color:#c0506a}
.fld .help{font-size:13px;color:var(--text-3)}
.fld .help.ok{color:var(--blue-text)}
.fld .help.bad{color:#e07a92}
.auth-form .btn{width:100%;height:50px}
.auth-form .btn[disabled]{opacity:.6;cursor:default}
.msg{border-radius:12px;padding:12px 14px;font-size:14.5px;line-height:1.5}
.msg.err{border:1px solid rgba(224,122,146,.45);background:rgba(224,122,146,.08);color:#f0b3c1}
.msg.ok{border:1px solid rgba(29,155,240,.45);background:rgba(29,155,240,.08);color:#bfe3fb}
.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14.5px;color:var(--text-3)}
.auth-links a{color:var(--text-2);text-decoration:underline;text-underline-offset:3px}
.auth-links a:hover{color:var(--text)}
.auth-foot{text-align:center;font-size:12.5px;color:#64646f}
.auth-foot a{color:var(--text-3);text-decoration:underline;text-underline-offset:3px}
.done{display:grid;gap:12px;text-align:center}
.done .ic{width:52px;height:52px;border-radius:14px;margin:0 auto;display:grid;place-items:center;background:rgba(143,61,255,.14);border:1px solid rgba(143,61,255,.45)}
.done .ic svg{width:26px;height:26px;fill:none;stroke:var(--purple-text);stroke-width:1.8}
.done p{color:var(--text-2)}
