:root{color-scheme:dark;--bg:#05051a;--panel:#0d0e2c;--line:#252a5e;--fg:#ecebff;--muted:#9598cc;--a:#4d8bff;--b:#a35bff;--bad:#ff5c7a}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  background-image:radial-gradient(700px 420px at 85% -10%,rgba(163,91,255,.22),transparent 70%),radial-gradient(600px 380px at 10% 0%,rgba(77,139,255,.18),transparent 70%);
  padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 40px max(16px,env(safe-area-inset-left))}
.auth{max-width:440px;margin:6vh auto 0;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px 24px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 0 22px rgba(88,118,255,.5)}
.brand b{font-size:21px;letter-spacing:-.02em}
.brand i{font-style:normal;background:linear-gradient(90deg,var(--a),var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}
h1{font-size:22px;margin:0 0 6px;letter-spacing:-.01em}
h2{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 2px}
.muted{color:var(--muted);margin:0 0 16px}
.form{display:flex;flex-direction:column;gap:12px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:600}
input{background:#090a23;border:1px solid var(--line);border-radius:11px;padding:11px 12px;color:var(--fg);font:inherit}
input:focus{outline:2px solid var(--a);outline-offset:1px}
.btn{display:inline-flex;justify-content:center;align-items:center;margin-top:8px;padding:12px 16px;border:0;border-radius:12px;color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;
  background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 0 22px rgba(88,118,255,.45)}
.err{background:rgba(255,92,122,.12);border:1px solid rgba(255,92,122,.4);color:#ffc2cd;border-radius:11px;padding:10px 12px;margin-bottom:12px;font-size:14px}
code{background:#090a23;border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:13px}
