.auth{min-height:100vh;justify-content:center;padding:32px 16px;overflow:hidden}.auth,.auth-wrap{display:flex;align-items:center;position:relative}.auth-wrap{width:100%;flex-direction:column;gap:24px}.auth-card{width:100%;padding:32px 30px;box-shadow:var(--shadow-card)}.auth-title{font-family:var(--font-syne),system-ui,sans-serif;font-weight:700;font-size:1.75rem;letter-spacing:-.015em;color:var(--text-primary);margin:0;text-align:center}.auth-sub{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin:8px 0 0;text-align:center}.auth-form{gap:16px;margin-top:24px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-label{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.auth-label small{font-weight:400;color:var(--text-tertiary);font-size:inherit}.auth-hint{font-size:.75rem;color:var(--text-tertiary);margin:0}.auth-input-wrap{position:relative}.auth-input-wrap .d-input{padding-right:44px}.auth-reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;background:transparent;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast)}.auth-reveal:hover{color:var(--text-primary);background:color-mix(in srgb,var(--fg) 6%,transparent)}.auth-alert{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;line-height:1.5;color:var(--red);background:var(--red-dim);border:1px solid var(--red-border);border-radius:10px;padding:10px 14px}.auth-alert svg{flex-shrink:0;margin-top:2px}.auth-banner{display:flex;gap:10px;align-items:center;justify-content:center;text-align:center;font-size:.875rem;color:var(--accent);background:var(--accent-dim);border:1px solid var(--border-accent);border-radius:10px;padding:11px 14px}.auth-submit{width:100%;padding:13px;font-size:.9375rem;margin-top:4px}.auth-foot{margin:0;text-align:center;font-size:.875rem;color:var(--text-secondary)}.auth-foot a{color:var(--accent);text-decoration:none;font-weight:600}.auth-foot a:hover{text-decoration:underline;text-underline-offset:3px}.auth-perk{display:flex;gap:10px;align-items:center;margin-top:20px;padding:10px 14px;border-radius:10px;background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--text-primary);font-size:.8125rem}.auth-perk svg{color:var(--accent)}.auth-icon{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;margin:0 auto 18px;border:1px solid var(--border-accent);background:var(--accent-dim);color:var(--accent)}