/* 账户认证与邮箱安全流程 */
.login-hero{margin-bottom:18px;text-align:center;display:flex;justify-content:center;align-items:center}.login-brand-wordmark{display:flex;justify-content:center;align-items:center;padding:4px 0}.login-wordmark-img{width:180px;max-width:100%;height:auto;display:block;object-fit:contain}.login-wordmark-img.dark-only{display:none}html.dark-theme .login-wordmark-img.light-only{display:none}html.dark-theme .login-wordmark-img.dark-only{display:block}
.login-brand-copy{width:100%;margin-top:17px;text-align:center}.login-hero .login-title{margin:0;color:var(--text);font-size:30px;font-weight:800;letter-spacing:.04em;line-height:1.2}.login-hero .login-subtitle{margin:7px 0 0;color:var(--text-2);font-size:13px;font-weight:550;letter-spacing:.12em;line-height:1.5}

/* 登录/注册切换表单动画 */
@keyframes authFormSwitchFade {
  0% { opacity: 0; transform: translateY(10px) scale(0.985); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
.login-card form:not(.hidden) { animation: authFormSwitchFade 0.26s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.auth-tab { transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease; }

.auth-flow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.auth-flow-kicker{display:block;margin-bottom:3px;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.12em}.auth-flow-heading .login-prompt{margin:0;text-align:left}.auth-step-pill{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:25px;padding:0 9px;border:1px solid #dce7f8;border-radius:999px;background:#f3f7ff;color:#315fae;font-size:11px;font-weight:800}.auth-field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}.auth-verify-step{padding:6px 0 0;text-align:center}.auth-mail-illustration{width:58px;height:58px;margin:0 auto 13px;border:1px solid #d9e6fa;border-radius:18px;background:linear-gradient(145deg,#f5f8ff,#eaf2ff);color:#2b64cb;display:grid;place-items:center;box-shadow:0 10px 24px rgba(37,99,235,.1)}.auth-mail-illustration svg{width:29px;height:29px}.auth-verify-step h3{margin:0 0 6px;color:var(--text);font-size:17px}.auth-verify-step>p{margin:0 auto 16px;max-width:300px;color:var(--muted);font-size:12px;line-height:1.65}.auth-code-field{text-align:left}.auth-code-field input{text-align:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:22px;font-weight:750;letter-spacing:.28em}.auth-inline-actions{display:flex;justify-content:space-between;gap:14px;margin-top:10px}.auth-text-button{min-height:36px;padding:0 4px;border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:700;cursor:pointer}.auth-text-button:hover{text-decoration:underline}.auth-text-button:disabled{color:var(--weak);cursor:wait;text-decoration:none}.auth-text-button:focus-visible,.auth-method-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

.register-password-feedback{margin-top:8px}.register-password-feedback-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;line-height:1.4}.register-password-feedback-head strong{color:var(--text-2);font-size:11px}.register-password-meter{display:block;height:5px;margin-top:5px;overflow:hidden;border-radius:999px;background:var(--line)}.register-password-meter i{display:block;width:0;height:100%;border-radius:inherit;background:var(--red);transition:width .2s ease,background-color .2s ease}.register-password-feedback[data-score="1"] .register-password-meter i{width:25%}.register-password-feedback[data-score="2"] .register-password-meter i{width:50%;background:#d17a16}.register-password-feedback[data-score="3"] .register-password-meter i{width:75%;background:#2f8f67}.register-password-feedback[data-score="4"] .register-password-meter i{width:100%;background:var(--green)}.register-password-feedback[data-state="invalid"] .auth-field-help,#registerPasswordConfirmHelp[data-state="invalid"]{color:var(--red)}.register-password-feedback[data-state="valid"] .register-password-feedback-head strong,#registerPasswordConfirmHelp[data-state="valid"]{color:var(--green)}

.auth-security-modal{width:min(520px,calc(100vw - 28px));max-width:520px}.modal-subtitle{max-width:390px;margin-top:4px;color:var(--muted);font-size:11.5px;font-weight:500;line-height:1.5}.auth-method-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:18px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.auth-method-tab{height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.auth-method-tab.active{background:var(--panel);color:var(--primary);box-shadow:var(--shadow-xs)}.auth-method-tab:disabled{opacity:.48;cursor:not-allowed}.auth-email-summary,.auth-trust-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 13px;border:1px solid #dce8fb;border-radius:10px;background:#f5f8ff;color:#415574;font-size:12px;line-height:1.6}.auth-email-summary svg,.auth-trust-note svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;color:var(--primary)}.auth-email-summary b{color:#214d9b}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.auth-code-row>.btn{height:44px;white-space:nowrap}.auth-form-error{min-height:18px;margin-top:8px;color:var(--red);font-size:12px;line-height:1.5}.auth-form-error[data-tone="status"]{color:var(--text-2)}.auth-form-error[data-tone="success"]{color:var(--green)}

#passwordResetVerification{padding-top:3px}.auth-security-modal .modal-foot .btn.hidden{display:none!important}.security-setting-card #emailStatus{overflow-wrap:anywhere}.password-state.pending{background:#edf4ff;color:#245bb8}

html.dark-theme .auth-step-pill{border-color:#334b70;background:#13233a;color:#93b9ff}html.dark-theme .auth-mail-illustration{border-color:#314769;background:linear-gradient(145deg,#15233a,#172d4c);color:#8ab4ff;box-shadow:none}html.dark-theme .auth-method-tabs{background:#0f172a;border-color:#334155}html.dark-theme .auth-method-tab.active{background:#1e293b;box-shadow:none}html.dark-theme .auth-email-summary,html.dark-theme .auth-trust-note{border-color:#2d4568;background:#132238;color:#c2cede}html.dark-theme .auth-email-summary b{color:#9dc0ff}

@media(max-width:520px){.login-screen{display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:16px 12px}.login-screen .login-card{flex:0 0 auto;max-height:none;overflow:visible;margin:auto 0}.login-brand-copy{margin-top:14px}.login-hero .login-title{font-size:26px}.login-hero .login-subtitle{font-size:12px;letter-spacing:.1em}.auth-security-modal{width:calc(100vw - 18px)}.auth-code-row{grid-template-columns:minmax(0,1fr)}.auth-code-row>.btn{width:100%}.auth-flow-heading{gap:10px}.auth-step-pill{flex:0 0 auto}.modal-subtitle{padding-right:8px}}

@media(prefers-reduced-motion:reduce){.auth-method-tab,.register-password-meter i{transition:none}.login-card form:not(.hidden){animation:none}}
/* 单一登录入口：注册不可用时用明确标题替代空的标签栏。 */
.auth-standalone-title {
  margin: 0 0 20px;
  text-align: center;
}

.auth-standalone-title h2 {
  margin: 0;
  color: var(--text);
  font-size: 22px;
  line-height: 1.35;
}

.auth-standalone-title p {
  margin: 6px 0 0;
  color: var(--text-2);
  font-size: 13px;
}

/* 登录卡片左上角“返回首页”轻链接，与“找回密码”文案风格呼应 */
.login-card {
  position: relative;
}
.login-back {
  position: absolute;
  top: 16px;
  left: 18px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px 5px 6px;
  border-radius: 9px;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease;
}
.login-back svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  stroke: currentColor;
}
.login-back:hover {
  color: var(--primary);
  background: rgba(var(--primary-rgb), .08);
}
.login-back:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
/* 小屏收起为纯箭头图标，避免与居中的纸助理 logo 重叠 */
@media (max-width: 520px) {
  .login-back {
    top: 12px;
    left: 12px;
    padding: 8px;
  }
  .login-back .login-back-label {
    display: none;
  }
  .login-back svg {
    width: 17px;
    height: 17px;
  }
}
