/* 登录、注册、账户、管理这几扇「窗」里的版面（2026-09-25 UI 1.0；09-26 改成窗，同日晚成了悬浮窗系统）。
   窗的长相在 basing_family.css（.dlg 一族：磨砂纸、黑框、硬阴影、标题与关）；这里只有两样版面：
     .aw          窗里的内容（每一扇窗与二级弹窗的 .dlg 都带它）。规则一律挂在 .aw 下——这份文件也载进 app 与 landing，
                  不许漏到 app 自己的对话框（发布前确认）上去。
     body.authpage 整页（从邮件等外面直接进来时）：背后 .authbg 铺进来的那一页。
   窗口管理器（auth.js）把窗挂在 body 下的 .dlgwrap[data-win-host] 里，二级弹窗 .dlgwrap.stacked 也挂在 body 下。
   这份文件是源头；公开站那一份由 scripts/sync_site_tokens.py 抄过去，勿手改那一份。
   区域：.authbg .aw .authf .authlinks .authnote .autherr .acsec .acval .acstate .arow */

/* ── 整页 ── */
body.authpage {
  margin: 0; min-height: 100vh; min-height: 100svh;
  background: var(--surface); color: var(--ink);
  font-family: var(--ff-ui); font-size: var(--fs-body); line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
/* 背后那一页：铺满、钉住、不接事件（入口页只是看得见，点不到） */
.authbg { position: fixed; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; }

/* ── 窗的外框（body 下那一层）：窗后面淡淡压一层；窗不是浮窗，点窗外不关，出去走关 ── */
body > .dlgwrap > .scrim { position: absolute; inset: 0; background: var(--press); display: block; opacity: 1; pointer-events: auto; }

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

/* 窗里的文字动作：一行多高、点击区多大（与公开站同一条） */
.aw .dtab { padding: 6px 0; min-width: 24px; line-height: 1.2; }
.aw .authf { width: 100%; display: flex; flex-direction: column; gap: 12px; margin: 0; }
.aw .authf .ln, .aw .authf .pbtn { width: 100%; }
.aw .authf .pbtn.quiet { margin-top: 4px; }
.aw .authf + .dtab, .aw .authf + .authlinks { margin-top: 14px; }
.aw .authlinks { display: flex; justify-content: center; gap: 24px; }
.aw .authlinks form { display: contents; }
.aw > .dtab { display: table; margin-left: auto; margin-right: auto; }
.aw .autherr { margin: 0; font-size: var(--fs-note); color: var(--bad); }
.aw .authnote { margin: 0 0 14px; font-size: var(--fs-note); line-height: 1.6; color: var(--ink3); }
.aw .authnote b { color: var(--ink); font-weight: var(--fw-strong); }
/* 句子里的文字动作（条款链接、复制链接、support 邮箱）：跟着字走，常显一条下划线 */
.aw p .dtab { display: inline; padding: 0; border-bottom: var(--dtab-line-w) solid var(--dtab-line); }
.aw .ln[readonly] { color: var(--ink3); cursor: default; }
.aw .ln[readonly]:focus { border-color: var(--ln-edge); }
.aw p { margin: 0; font-size: var(--fs-note); line-height: 1.7; color: var(--ink2); }
.aw .dlgt + p { margin-top: 10px; }
/* 弹出来的确认窗里那一格（关闭账户要填的密码）：与说明句隔开一点；页面那扇窗里的表单由 .authf 的间距管 */
form.aw > .ln { width: 100%; margin-top: 14px; }

/* 账户页、管理页：窗里分节，一节一个小标题 */
.aw .acsec, .aw .acstate { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px 0; border-top: 1px solid var(--hair); }
.aw .acsec:last-child, .aw .acstate:last-child { padding-bottom: 4px; }
.aw .acsec > h2 { margin: 0; font: var(--fw-strong) var(--fs-note)/1.3 var(--ff-ui); }
.aw .acsec form { display: contents; }
.aw .acsec .ln { width: 100%; margin: 0; }
.aw .acsec .row { display: flex; gap: 12px; width: 100%; }
.aw .acsec .row .ln { flex: 1; min-width: 0; }
.aw .acval { margin: 0; font-size: var(--fs-body); color: var(--ink); overflow-wrap: anywhere; }
.aw .acsec .authnote, .aw .acstate .authnote { margin: 0; }
.aw .acstate form { display: contents; }

/* 管理页的一行：邮箱 · 说明 · 动作。动作一栏定宽（最长是「暂停 关闭 立即删除」），各行的说明因此右端对齐 */
.aw .arow { display: grid; grid-template-columns: minmax(0, 1fr) auto 150px; align-items: center; gap: 20px; width: 100%;
  padding: 10px 0; border-bottom: 1px solid var(--hair); font-size: var(--fs-note); }
.aw .arow:last-child { border-bottom: 0; }
.aw .arow .who { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aw .arow .meta { color: var(--ink5); white-space: nowrap; text-align: right; }
.aw .arow .acts { display: flex; justify-content: flex-end; gap: 16px; }
.aw .arow .acts form { display: contents; }

@media (max-width: 599px) {
  body > .dlgwrap { padding: 16px; }
  /* 窄屏：邮箱一行，说明一行，动作一行（横排，靠左） */
  .aw .arow { grid-template-columns: minmax(0, 1fr); row-gap: 4px; }
  .aw .arow .meta { text-align: left; }
  .aw .arow .acts { justify-content: flex-start; }
  .aw .arow .acts:empty { display: none; }
  .aw .acsec .row { flex-direction: column; }
  .aw .acsec .row .ln { flex: none; }
}
