.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(60% 50% at 20% 0,color-mix(in srgb,var(--c-user,#4f7cff) 8%,transparent),transparent 70%),radial-gradient(50% 40% at 85% 100%,color-mix(in srgb,var(--c-design,#8b5cf6) 7%,transparent),transparent 70%),var(--bg)}.auth-card{width:min(430px,100%);padding:36px 34px 30px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.auth-brand .kicker{letter-spacing:.34em}.auth-title{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}.auth-sub{font-size:14px;color:var(--ink-dim);margin-bottom:24px}.auth-form{gap:16px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field label{font-size:13px;font-weight:600;color:var(--ink)}.auth-input{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-soft,#fff);color:var(--ink);font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:var(--ink-faint)}.auth-input:focus{outline:none;border-color:color-mix(in srgb,var(--c-user,#4f7cff) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-user,#4f7cff) 18%,transparent)}.auth-input[aria-invalid=true]{border-color:var(--danger)}.auth-input--code{font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace;letter-spacing:.22em;text-transform:uppercase;font-size:15px}.auth-input--code::placeholder{letter-spacing:.14em;text-transform:none}.auth-error{font-size:13px;color:var(--danger);line-height:1.4}.auth-form .btn{width:100%;margin-top:4px}.auth-alt{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-dim);text-align:center}.auth-alt a{color:var(--c-user,#2563eb);font-weight:600}.auth-alt a:hover{text-decoration:underline}.auth-steps{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.auth-steps .is-active{color:var(--ink)}.auth-steps .sep{color:var(--line)}