/* ================================================================
   Typography — Ant Design 5 分场景（Hub / 考场 / 品牌 / 成绩）
   依赖 style.css :root 字号 token
   ================================================================ */

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* —— Hub：工作台（全非衬线，14px 基准）—— */
#page-home {
  --f-body: var(--f-ui);
  --f-display: var(--f-ui);
  font-family: var(--f-ui);
  font-size: var(--font-size-base);
  line-height: var(--lh-base);
}

#page-home .hp-hub-banner-text strong,
#page-home .mck-banner-text strong,
#page-home .drl-banner-text strong,
#page-home .rcl-banner-text strong,
#page-home .lcx-banner-text strong {
  font-family: var(--f-ui);
  font-size: var(--font-size-lg);
  font-weight: var(--fw-strong);
  line-height: var(--lh-heading);
}

#page-home .hp-hub-banner-text span,
#page-home .mck-banner-text span,
#page-home .drl-banner-text span,
#page-home .rcl-banner-text span,
#page-home .lcx-banner-text span {
  font-size: var(--font-size-base);
  line-height: var(--lh-base);
}

#page-home .hp-tab,
#page-home .mck-type-tab,
#page-home .rcl-mode-tab,
#page-home .lcx-scope-tab,
#page-home .hp-panel-side-btn,
#page-home .mck-book-btn,
#page-home .mck-test-title,
#page-home .lcx-nav-item {
  font-family: var(--f-ui);
  font-size: var(--font-size-base);
}

#page-home .hp-score-tag,
#page-home .mck-test-meta,
#page-home .mck-book-count,
#page-home .hp-mock-legend {
  font-size: var(--font-size-sm);
  line-height: var(--lh-sm);
}

#page-home .mck-test-num,
#page-home .hp-streak-num {
  font-family: var(--f-mono);
  font-size: var(--font-size-base);
  font-weight: var(--fw-medium);
}

#page-home .hp-tests-title,
#page-home .hp-module-card h3,
#page-home .hp-feature-card h3 {
  font-family: var(--f-ui);
  font-size: var(--font-size-h4);
  font-weight: var(--fw-strong);
  line-height: var(--lh-heading);
}

#page-home .hp-hero-wrap h1 {
  font-family: var(--f-display);
  font-size: var(--font-size-h2);
  line-height: var(--lh-heading);
}

#homePanelData {
  --lcx-font-caption: var(--font-size-sm);
  --lcx-font-body: var(--font-size-base);
  --lcx-font-title: var(--font-size-lg);
  --lcx-font-stat: var(--font-size-xl);
  --lcx-font-display: var(--font-size-h2);
  --lcx-lh: var(--lh-base);
  --lcx-lh-tight: var(--lh-heading);
  --lcx-fw-strong: var(--fw-strong);
  --lcx-fw-medium: var(--fw-medium);
}

/* —— 考场 / 限时练习：可读性，统一无衬线 —— */
#page-exam,
#page-cbt-gate,
#page-cbt-guide,
#page-writing,
#page-speak,
#page-dictation,
#page-timed-read {
  --f-body: var(--f-ui);
  --f-display: var(--f-ui);
  font-family: var(--f-ui);
  font-size: var(--font-size-base);
  line-height: var(--lh-base);
}

#page-exam .timer-display,
#page-exam .exam-timer,
#page-cbt-gate .timer,
#page-writing .timer {
  font-family: var(--f-mono);
  font-size: var(--font-size-lg);
  font-weight: var(--fw-medium);
}

#page-exam .passage-body,
#page-exam .reading-passage,
#page-exam .passage-text,
#page-exam #passageContent,
#page-exam .question-stem {
  font-size: var(--font-size-lg);
  line-height: 1.75;
}

#page-exam .q-num,
#page-exam .question-number {
  font-family: var(--f-mono);
  font-size: var(--font-size-sm);
}

/* —— 登录：UI 无衬线 + 品牌衬线标题 —— */
#page-auth {
  --f-body: var(--f-ui);
  font-family: var(--f-ui);
  font-size: var(--font-size-base);
  line-height: var(--lh-base);
}

#page-auth .v-auth-brand-title,
#page-auth .v-auth-brand h1,
#page-auth .v-auth-brand .brand-name {
  font-family: var(--f-display);
  font-size: var(--font-size-h3);
  font-weight: var(--fw-strong);
  line-height: var(--lh-heading);
}

#page-auth .v-auth-brand-sub,
#page-auth label {
  font-size: var(--font-size-sm);
}

#page-auth input,
#page-auth .btn,
#page-auth .v-btn {
  font-size: var(--font-size-base);
}

/* —— 成绩 / 长阅读：正文 14px，Band 保留品牌衬线 —— */
#page-result,
#page-novel {
  --f-body: var(--f-ui);
  font-family: var(--f-ui);
  font-size: var(--font-size-base);
  line-height: var(--lh-base);
}

#page-result .result-band,
#page-result .bd-score,
#page-result .band-lg {
  font-family: var(--f-display);
  font-size: var(--font-size-h1);
  font-weight: var(--fw-strong);
  line-height: 1.12;
}

#page-result .result-section-title,
#page-novel .novel-title {
  font-family: var(--f-ui);
  font-size: var(--font-size-h4);
  font-weight: var(--fw-strong);
}

#page-novel .novel-body,
#page-result .bd-sub,
#page-result .feedback-text {
  font-size: var(--font-size-base);
  line-height: var(--lh-base);
}

/* —— 全局控件（Ant Button / Input 字号）—— */
.btn,
.v-btn,
input,
textarea,
select,
.tab-btn {
  font-family: var(--f-ui);
  font-size: var(--font-size-base);
  line-height: var(--lh-base);
}

.btn-sm,
.v-btn--sm {
  font-size: var(--font-size-sm);
}

.btn-lg,
.v-btn--lg {
  font-size: var(--font-size-lg);
}
