/* 登录、注册页（2026-09-25，UI 1.0：用户令「登录注册页也要统一风格」）。
   与公开站（basing.dev）是同一张纸、同一条顶栏：左上角字标 Basing，右上角语言；中间一列表单。
   这里只有版面。长相全来自共用的族（basing_family.css：.pseg.brand .ln .pbtn .dtab）与主题；
   数值读 basing_tokens.css（app 旋钮生成的那一份，写在 :root 上）。
   版面区域：.authpage .authbar .authmain .authcol .authf；回执：.autherr */

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--surface); color: var(--ink);
  font-family: var(--ff-ui); font-size: var(--fs-body); line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
/* 双语：两份都在页面里，由 html[lang] 决定谁出场（与公开站同一条） */
html[lang="zh"] .en, html[lang="en"] .zh { display: none; }

.authpage { min-height: 100vh; min-height: 100svh; display: grid; grid-template-rows: auto minmax(0, 1fr); padding: 0 32px; }
.authbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: var(--bar-h); }
.authbar .pseg.brand { padding: 8px 0; }
.authmain { display: grid; place-items: center; padding: 24px 0 12vh; }
.authcol { width: min(320px, 100%); display: flex; flex-direction: column; align-items: center; gap: 16px; }
.authf { width: 100%; display: flex; flex-direction: column; gap: 12px; margin: 0; }
.authf .ln, .authf .pbtn { width: 100%; }
.authf .pbtn.quiet { margin-top: 4px; }
.autherr { margin: 0; font-size: var(--fs-note); color: var(--bad); }
/* 文字动作在这一页的一行多高、点击区多大（与公开站同一条） */
.authpage .dtab { padding: 6px 0; min-width: 24px; line-height: 1.2; }

@media (max-width: 599px) {
  .authpage { padding: 0 16px; }
}
