/* ==========================================================================
   DiFansClub · 全站字体与字号规范（最后加载，覆盖所有旧主题）
   --------------------------------------------------------------------------
   字体：全站只用 HarmonyOS Sans SC Web（public/fonts/harmonyos-sans），
         不依赖系统已安装字体，Windows / macOS / Android / iOS 观感一致。
   字号层级（从大到小，禁止在页面里另起一套值）：
     页面标题 H1     28px（≤860px 24px，≤520px 22px）
     页面引导语      15px
     区块标题 H2     18px
     卡片标题 H3     15px
     阅读正文        14px/1.75（协议）；帖子详情 15px
     正文            14px
     紧凑正文        13px
     辅助说明        12.5px
     元信息/标签     11px
     按钮            14px（小按钮 13px）
     统计大数字      26px（次级统计 18px）
   后台管理页按紧凑档：页面标题 20px、区块标题 15px、正文 13px。
   ========================================================================== */

:root {
  --font-sans: "HarmonyOS Sans SC Web", "HarmonyOS Sans SC", "HarmonyOS Sans", sans-serif;
  --font-display: var(--font-sans);
  --font-body: var(--font-sans);
  --font-mono: var(--font-sans);
  --font-num: var(--font-sans);
  --mono: var(--font-sans);

  --fs-page-title: 28px;
  --fs-page-lead: 15px;
  --fs-section-title: 18px;
  --fs-card-title: 15px;
  --fs-reading: 15px;
  --fs-body: 14px;
  --fs-body-sm: 13px;
  --fs-caption: 12.5px;
  --fs-meta: 11px;
  --fs-button: 14px;
  --fs-button-sm: 13px;
  --fs-stat: 26px;
  --fs-admin-title: 20px;
  --fs-admin-section: 15px;
  --fs-admin-body: 13px;
}

@media (max-width: 860px) {
  :root {
    --fs-page-title: 24px;
    --fs-section-title: 17px;
  }
}

@media (max-width: 520px) {
  :root {
    --fs-page-title: 22px;
    --fs-section-title: 16px;
  }
}

html,
body,
button,
input,
select,
textarea,
kbd,
code,
pre,
.mono,
.num {
  font-family: var(--font-sans) !important;
  font-synthesis: none;
}

body {
  font-size: var(--fs-body);
  line-height: 1.65;
}

/* ---------- 页面级标题 ---------- */
.ota-hero h1,
.cb-hero h1,
.ap-hero h1,
.ag-hero h1,
.pf-hero h1,
.dk-hero h1,
.fw-head-main h1,
.page-title {
  font-size: var(--fs-page-title);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
}

/* ---------- 页面引导语 ---------- */
.ota-hero > p,
.cb-hero > p,
.ap-hero p,
.ag-hero p,
.pf-hero p,
.dk-hero > p,
.page-desc {
  font-size: var(--fs-page-lead);
  line-height: 1.7;
}

/* ---------- 区块 / 卡片标题 ---------- */
#app h2 {
  font-size: var(--fs-section-title);
  font-weight: 600;
}

#app h3 {
  font-size: var(--fs-card-title);
  font-weight: 600;
}

#app .ag-page h3 {
  font-size: var(--fs-section-title);
}

#app .dfc-home h2 {
  font-size: var(--fs-card-title);
}

#app .dfc-home .home-banner h2 {
  font-size: clamp(17px, 1.9vw, 23px);
}

/* ---------- 阅读正文 ---------- */
.ag-p {
  font-size: var(--fs-reading);
  line-height: 1.9;
}

.ag-check {
  font-size: var(--fs-body);
}

/* ---------- 协议 / 政策页（方案 B · 沉浸阅读，特异性 ≥ (1,2,0)） ---------- */
#app .ag-page .ag-head__kicker { font-size: 11px; font-weight: 600; line-height: 1.4; }
#app .ag-page .ag-head__title { font-size: 22px; font-weight: 700; line-height: 1.3; }
#app .ag-page .ag-head__lead { font-size: 13px; line-height: 1.55; }
#app .ag-page .ag-stat b { font-size: 18px; font-weight: 600; line-height: 1.2; }
#app .ag-page .ag-stat span { font-size: 12px; line-height: 1.4; }
#app .ag-page .ag-title { font-size: 20px; font-weight: 700; line-height: 1.3; }
#app .ag-page .ag-ch-h { font-size: 15px; font-weight: 600; line-height: 1.3; }
#app .ag-page .ag-ch-no { font-size: 13px; font-weight: 600; line-height: 1.5; }
#app .ag-page .ag-toc-h { font-size: 15px; font-weight: 600; line-height: 1.3; }
#app .ag-page .ag-p,
#app .ag-page .ag-check { font-size: 14px; line-height: 1.75; }
#app .ag-page .ag-lead { font-size: 13px; line-height: 1.65; }
#app .ag-page .ag-switch-item { font-size: 12.5px; line-height: 1.4; }
#app .ag-page .ag-toc-link,
#app .ag-page .ag-toc-no { font-size: 12px; line-height: 1.5; }
#app .ag-page .ag-risk-h { font-size: 14px; font-weight: 600; line-height: 1.3; }
#app .ag-page .ag-risk-p { font-size: 13px; line-height: 1.65; }
#app .ag-page .ag-risk-badge { font-size: 12px; font-weight: 600; line-height: 1.5; }
#app .ag-page .ag-meta-item,
#app .ag-page .ag-toc-info,
#app .ag-page .ag-note,
#app .ag-page .ag-toc-cnt { font-size: 12px; line-height: 1.5; }
#app .ag-page .ag-empty,
#app .ag-page .ag-error { font-size: 14px; line-height: 1.75; }
#app .ag-page .ag-retry,
#app .ag-page .ag-print { font-size: 13px; }

/* 打印字号：必须排在屏幕规则之后，特异性同为 (1,2,0) */
@media print {
  #app .ag-page .ag-p,
  #app .ag-page .ag-check { font-size: 12px; line-height: 1.6; color: #111111; }
  #app .ag-page .ag-head__title { font-size: 16px; line-height: 1.3; }
  #app .ag-page .ag-title { font-size: 16px; line-height: 1.3; }
  #app .ag-page .ag-ch-h { font-size: 14px; line-height: 1.3; }
  #app .ag-page .ag-meta-item,
  #app .ag-page .ag-note { font-size: 11px; }
}

/* ---------- 按钮 ---------- */
.btn {
  font-size: var(--fs-button);
}

.btn.sm {
  font-size: var(--fs-button-sm);
}

.authpage__actions .btn {
  font-size: var(--fs-button);
}

/* ---------- 标签 / 元信息 ---------- */
.ota-tag,
.cb-tag,
.ap-tag,
.ag-tag,
.dk-tag {
  font-size: var(--fs-caption);
}


.home-hero p,
.home-tile__desc,
.feed-post__excerpt,
.car-row__desc {
  font-size: var(--fs-body-sm);
}

.feed-post__meta,
.feed-post__stat,
.car-row__version,
.car-row__state,
.update-row__brand,
.update-row__ver,
.update-row__date,
.mini-row__meta,
.hot-row__rank,
.hot-row__count,
.home-card__badge,
.home-banner__tag {
  font-size: var(--fs-meta);
}

.home-banner__prices,
.home-banner__sub {
  font-size: var(--fs-caption);
}

.home-banner__prices em {
  font-size: var(--fs-meta);
}

.cb-rank-no,
.cb-step-no,
.ax-tb-tag,
.ax-nav-grp {
  font-size: var(--fs-meta);
}

/* ---------- 后台紧凑档 ---------- */
body.admin-mode #app h1,
body.admin-mode .ax-title h1 {
  font-size: var(--fs-admin-title);
}

body.admin-mode #app h2 {
  font-size: var(--fs-admin-section);
}

body.admin-mode #app h3 {
  font-size: var(--fs-body);
}

body.admin-mode #app p,
body.admin-mode #app td,
body.admin-mode #app th {
  font-size: var(--fs-admin-body);
}

/* ---------- 外壳：底栏与顶栏同色 ---------- */
.topbar,
.sitefoot {
  background: #ffffff;
}

:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .sitefoot {
  background: #161616;
}