:root{--auth-backdrop:radial-gradient(120% 95% at 78% -12%, #4a6fa5 0%, #2f4d74 28%, #1d3350 58%, #0e1524 100%)}.auth-page{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--auth-backdrop);color:#f3eff7;background-attachment:fixed;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden auto}.auth-page:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#ffffff0f 1px,#0000 1px) 0 0/46px 46px;animation:22s linear infinite auth-drift;position:fixed;inset:-60px}@keyframes auth-drift{0%{transform:translate(0)}to{transform:translate(46px,46px)}}.auth-page:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#0000 42%,#060a1273);position:fixed;inset:0}.auth-card{z-index:1;gap:var(--space-4);border-radius:16px;flex-direction:column;width:400px;max-width:100%;padding:32px 30px;display:flex;position:relative}.auth-brand{justify-content:center;align-items:center;gap:11px;display:flex}.auth-brand-ico{background:linear-gradient(160deg, var(--ui-accent), var(--ui-accent-hover));border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;display:flex}.auth-brand-mark{letter-spacing:-.01em;font-size:22px;font-weight:800}.auth-brand-mark span{color:var(--ui-accent)}.auth-tagline{text-align:center;font-size:var(--text-meta);color:var(--ui-fg-muted);margin:-8px 0 0}.auth-title{text-align:center;margin:0;font-size:17px;font-weight:700}.auth-form{gap:var(--space-3);flex-direction:column;display:flex}.auth-form .field input{border-radius:var(--radius-md);background:var(--ui-bg-sunken);padding:11px 13px;font-size:16px}.auth-form .field input::placeholder{color:var(--ui-fg-faint)}.input-wrap{display:flex;position:relative}.input-wrap input{width:100%;padding-right:48px!important}.pw-toggle{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--ui-fg-muted);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:15px;display:flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.pw-toggle:hover{opacity:1;background:var(--ui-hover)}.checkbox-row{font-size:var(--text-meta);color:var(--ui-fg-muted);cursor:pointer;align-items:center;gap:10px;display:flex}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--ui-accent);cursor:pointer;flex:none}.checkbox-row a{font-weight:600}.spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite auth-spin;display:inline-block}@keyframes auth-spin{to{transform:rotate(360deg)}}.divider{align-items:center;gap:var(--space-3);display:flex}.divider:before,.divider:after{content:"";background:var(--ui-border);flex:1;height:1px}.divider span{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ui-fg-muted);font-size:10.5px}.link-group{text-align:center;font-size:var(--text-meta);color:var(--ui-fg-muted)}.link-group p{margin:0 0 6px}.link-group a{font-weight:600}.pw-strength{border-radius:var(--radius-full);background:var(--ui-bg-sunken);height:5px;overflow:hidden}.pw-strength-bar{border-radius:var(--radius-full);width:0;height:100%;transition:width .3s,background .3s}.pw-strength-bar.weak{background:var(--status-danger);width:33%}.pw-strength-bar.medium{background:var(--status-warning);width:66%}.pw-strength-bar.strong{background:var(--status-success);width:100%}.pw-strength-text,.pw-match{font-family:var(--font-mono);color:var(--ui-fg-muted);margin:5px 0 0;font-size:10.5px}.pw-match.ok{color:var(--status-success)}.pw-match.bad{color:var(--status-danger)}.pw-match.ok:before{content:"✓ "}.pw-match.bad:before{content:"✗ "}@media (width<=420px){.auth-card{padding:26px 20px}}@media (prefers-reduced-motion:reduce){.auth-page:before{animation:none}}
