/* 统一账号页：登录、建立账号、找回、重设、二次认证、验证邮箱、分支授权、推荐
   这是所有分支的第一面：一栏居中，首屏必须看得到表单与主按钮 */
.auth{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;min-height:100dvh}
.auth-top{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;max-width:1180px;width:100%;margin:0 auto;padding:0 var(--gutter)}
.auth-main{display:grid;justify-items:center;align-content:start;padding:clamp(20px,7vh,80px) var(--gutter) 40px}
.auth-col{width:100%;max-width:400px}
.auth-title{display:grid;justify-items:center;gap:14px;margin-bottom:36px;text-align:center}
.auth-title h1{font-size:28px;font-weight:500;letter-spacing:.32em;padding-left:.32em;line-height:1.4}
.auth-title p{font-size:var(--fs-small);letter-spacing:.18em;padding-left:.18em;color:var(--ink-faint)}
.auth-title .who{letter-spacing:.04em;padding-left:0;color:var(--ink-soft)}
.auth .form{gap:var(--sp-6)}
.auth .field>label,.auth .field .label,.auth .field>.hint,.auth .field>.field-error{text-align:center}
.auth .input{text-align:center}
/* 密码右侧有显示按钮，左右留出相等空间，保证内容仍在整栏正中 */
.auth .pw .input{padding-left:56px;padding-right:56px}
.auth .rules{justify-content:center}
.auth-links{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:-6px}
.auth-alt{margin-top:24px;text-align:center;font-size:var(--fs-small);color:var(--ink-faint)}
.auth-alt .link{font-size:var(--fs-small);color:var(--ink)}
.auth-foot{padding:20px var(--gutter) calc(24px + env(safe-area-inset-bottom));text-align:center;font-size:var(--fs-tiny);letter-spacing:.3em;color:var(--ink-faint)}
.consent{display:flex;align-items:flex-start;gap:10px;min-height:var(--touch);padding:10px 0;font-size:var(--fs-meta);line-height:1.75;color:var(--ink-soft)}
.consent label{cursor:pointer}
.consent a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--bronze-soft);text-underline-offset:.28em}
.consent+.btn,.form-tight{margin-top:-8px}
.more-toggle{justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:var(--touch);font-size:var(--fs-small);color:var(--ink-faint)}
.more-toggle:hover{color:var(--ink)}
.more-toggle .i{width:14px;height:14px;transition:transform var(--t-base) var(--ease)}
.more-toggle[aria-expanded="true"] .i{transform:rotate(180deg)}

/* 结果面板：成功、失效、已进入核验 */
.result{display:grid;justify-items:center;gap:12px;text-align:center}
.result h2{font-size:var(--fs-section);font-weight:500}
.result p{max-width:34ch;font-size:var(--fs-small);line-height:1.85}
.result .btn{margin-top:12px}
.result-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-soft)}
.result-mark .i{width:20px;height:20px}

/* 二次认证：6 位码 */
.otp{font-family:var(--font-data);font-size:26px!important;letter-spacing:.5em;text-align:center;padding-left:.5em!important}
.mfa-key{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-2);font-family:var(--font-data);font-size:var(--fs-control);letter-spacing:.12em;word-break:break-all}
.mfa-steps{display:grid;gap:10px;counter-reset:s;margin-bottom:24px}
.mfa-steps li{counter-increment:s;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;font-size:var(--fs-small);line-height:1.8;color:var(--ink-soft)}
.mfa-steps li::before{content:counter(s);display:grid;place-items:center;width:22px;height:22px;margin-top:3px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-strong);font-family:var(--font-data);font-size:12px;color:var(--ink-faint)}

/* 授权范围与推荐说明 */
.scope{display:grid;gap:2px;margin:6px 0 4px}
.scope li{display:flex;align-items:center;gap:10px;min-height:40px;font-size:var(--fs-control);color:var(--ink)}
.scope li .i{width:16px;height:16px;color:var(--ok)}
.scope-note{font-size:var(--fs-meta);color:var(--ink-faint);line-height:1.75}
.invite{padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-2);box-shadow:var(--sh-box)}
.invite p{font-size:var(--fs-control);color:var(--ink);line-height:1.85}
.invite small{display:block;margin-top:8px;font-size:var(--fs-meta);color:var(--ink-faint);line-height:1.75}

/* 演示入口页 */
.hub{max-width:880px;margin:0 auto;padding:48px var(--gutter) 80px}
.hub h1{font-size:var(--fs-page);font-weight:500;letter-spacing:.04em}
.hub>p{margin-top:8px;font-size:var(--fs-small);color:var(--ink-faint);line-height:1.8}
.hub .sec{margin-top:var(--sp-10)}

@media (max-width:760px){
  .auth-top{height:56px}
  .auth-title{margin-bottom:28px}
  .auth-title h1{font-size:24px}
}
