.page-auth{height:100vh;overflow:hidden;background:var(--bg-soft)}.page-auth .auth-wrap{flex:1;min-height:0;overflow:auto;display:flex;padding:48px 24px}.page-auth .auth-card{width:100%;max-width:400px;margin:auto;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:36px 32px;box-shadow:var(--shadow-md)}.page-auth .auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-.02em;color:var(--text);margin-bottom:28px}.page-auth .auth-card h1{font-size:24px;font-weight:650;letter-spacing:-.03em;color:var(--text);text-align:center;margin-bottom:8px}.page-auth .auth-sub{text-align:center;font-size:14px;color:var(--text-muted);margin-bottom:28px}.page-auth .auth-sub.tight{margin-bottom:28px;line-height:1.55}.page-auth .step-hint{text-align:center;font-size:12px;font-weight:500;color:var(--text-faint);letter-spacing:-.01em;margin-bottom:16px}.page-auth .plan-hint{display:none;text-align:center;font-size:13px;color:var(--accent);background:var(--accent-soft);padding:8px 12px;border-radius:var(--radius-pill);margin-bottom:22px;letter-spacing:-.01em}.page-auth .plan-hint.show{display:block}.page-auth.page-register .auth-sub{margin-bottom:20px}.page-auth .field{margin-bottom:14px}.page-auth .field label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;letter-spacing:-.01em}.page-auth .field .optional{font-weight:400;color:var(--text-faint)}.page-auth .field input{width:100%;padding:11px 14px;font-size:15px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.page-auth .field input:focus{border-color:rgba(0,0,0,.28);box-shadow:0 0 0 3px rgba(0,0,0,.04)}.page-auth .field input::-moz-placeholder{color:var(--text-faint)}.page-auth .field input::placeholder{color:var(--text-faint)}.page-auth .form-error{margin:-2px 0 12px;font-size:13px;color:#b42318}.page-auth .form-error[hidden]{display:none}.page-auth .btn-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:4px;padding:12px 18px;font-size:15px;font-weight:500;letter-spacing:-.01em;color:#fff;background:var(--text);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:background .15s ease,transform .15s var(--ease)}.page-auth .btn-submit:hover{background:#262626}.page-auth .btn-submit:active{transform:scale(.98)}.page-auth .btn-submit:disabled{opacity:.6;cursor:wait}.page-auth .oauth-stack{display:flex;flex-direction:column;gap:12px;margin-top:4px}.page-auth .btn-oauth{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 18px;font-size:15px;font-weight:500;letter-spacing:-.01em;border-radius:var(--radius-sm);transition:transform .15s var(--ease),background .15s ease,box-shadow .15s ease,border-color .15s ease}.page-auth .btn-oauth:active{transform:scale(.98)}.page-auth .btn-oauth svg{width:20px;height:20px;flex-shrink:0}.page-auth .btn-wechat{background:var(--wechat);color:#fff;box-shadow:var(--shadow-sm)}.page-auth .btn-wechat:hover{background:#06ad56;box-shadow:var(--shadow-md)}.page-auth .btn-google{background:var(--bg);color:var(--text);border:1px solid var(--border-strong)}.page-auth .btn-google:hover{background:var(--bg-soft);border-color:rgba(0,0,0,.18)}.page-auth .auth-note{text-align:center;margin-top:20px;font-size:12px;color:var(--text-faint);letter-spacing:-.01em}.page-auth .auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0;color:var(--text-faint);font-size:12px}.page-auth .auth-divider:after,.page-auth .auth-divider:before{content:"";flex:1;height:1px;background:var(--border)}.page-auth .auth-foot{text-align:center;margin-top:22px;font-size:14px;color:var(--text-muted)}.page-auth .auth-foot a{color:var(--text);font-weight:500}.page-auth .auth-foot a:hover{text-decoration:underline}.page-auth .optional-tag{display:inline-block;font-size:11px;font-weight:500;color:var(--text-muted);background:var(--bg-muted);padding:2px 8px;border-radius:var(--radius-pill);margin-left:6px;vertical-align:middle;letter-spacing:0}.page-auth .profile-actions{margin-top:10px;display:flex;flex-direction:column;gap:10px}.page-onboarding .auth-card{max-width:420px}