/* ==========================================================================
   求路网移动站 · 查询页字体统一表  type-unify 2.1.0
   --------------------------------------------------------------------------
   基准：/rank 一分一段（全部数值为 headless Chrome 430px 视口实测计算值）
   做法：按「功能角色」覆盖，而不是按类名 —— 因为 7 个页面的标记结构互不相同
        （标签有的用 <b> 有的用 <span>；结果有的是表格、有的是卡片列表）。

   为什么之前一直不统一（三层原因）：
     1) 各页模板自带内联 <style>：new-gaokao 把标签/控件/胶囊全写死 14px；
        plan 把院校卡片写死 16px / 21px / 11px / 10px。
     2) 各页配套独立样式表，字号各写各的：
        mobile-rank-v2.css(.mr2-*) / plan-v2.css(.qln-plan-*) / control-line.css(.mcontrol-*)
        / student-planning.css(.mgaokao-*) / 以及 major、subject 用的 .mp-college-* / .mq-*
     3) mobile-release-2.0.24.css 里那段「统一采用一分一段字号」的规则，
        只覆盖了 .data-page / .exam-page / .qln-plan-page / .mq-score-filter / .mq-results，
        漏掉了 .mr2-*、.mcontrol-*、.mgaokao-*、.mp-college-*；
        而且它只改容器自身的 font-size，**表单控件默认不继承字体**，
        所以 /score 的下拉框直接掉成浏览器默认的 Arial 14px。

   放置：必须排在所有样式表（含各页模板内联 <style>）之后 —— 即 </body> 前。
   ========================================================================== */


/* ------------------------------------------------------------------ 0. 令牌
   全站字号只在这里改。数值 = /rank 实测值。                              */
html body.qlm-body {
  --qt-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
             "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;

  /* 筛选区 */
  --qt-label:      12px;   /* 筛选项标签「年份 / 科类 / 首选科目」 */
  --qt-label-w:    700;
  --qt-label-c:    #4e5b70;
  --qt-control:    13px;   /* 下拉框 / 输入框里的文字 */
  --qt-control-c:  #161d2b;
  --qt-pill:       12px;   /* 单选/多选胶囊文字 */
  --qt-btn:        13px;   /* 查询按钮 / 重置按钮 */
  --qt-btn-w:      800;
  --qt-btn2-w:     600;
  --qt-tab:        13px;   /* 「院校查询/专业查询」这类分段选项卡 */

  /* 结果区 */
  --qt-r-title:    18px;   /* 结果区标题（一分一段表 / 专业目录 / 省控线） */
  --qt-r-title-w:  800;
  --qt-r-title-c:  #111827;
  --qt-r-meta:     12px;   /* 数据来源 / 更新时间 / 共 N 条 这类副信息 */
  --qt-r-meta-c:   #7b8799;
  --qt-table:       9px;   /* 表格 th / td  ← 想放大就改这里，建议 11px */
  --qt-table-w:    800;    /* 表头字重 */
  --qt-table-th-c: #ed001b;
  --qt-table-td-c: #4d5a70;
  --qt-list-title:  15px;  /* 列表项主标题：院校名 / 专业名 */
  --qt-list-c:     #111827;
  --qt-list-meta:   12px;  /* 列表项副信息：城市 / 门类 / 主管部门 */
  --qt-list-meta-c:#64748b;
  --qt-list-num:    13px;  /* 列表右侧数值：学校标识码 / 专业代码 */
  --qt-badge:       10px;  /* 「本科 / 民办 / 专科」小标签 */
  --qt-note:        12px;  /* 底部提示 / 空态说明 */
  --qt-note-c:     #6f7b90;
}


/* --------------------------------------------- 1. 表单控件继承字体（治 Arial）
   浏览器原生 input/select/button 不继承父级字体，必须显式指定。            */
html body.qlm-body main.qlm-main input,
html body.qlm-body main.qlm-main select,
html body.qlm-body main.qlm-main textarea,
html body.qlm-body main.qlm-main button {
  font-family: var(--qt-font) !important;
}


/* --------------------------------------------------- 2. 筛选区 · 项目标签 */
html body.qlm-body .mr2-query label > b,
html body.qlm-body .qln-plan-filter label > b,
html body.qlm-body .qln-plan-filter legend,
html body.qlm-body .mp-college-selects label > span,
html body.qlm-body .mq-filter label > span,
html body.qlm-body .mq-filter label > b,
html body.qlm-body .mcontrol-field > b,
html body.qlm-body .mgaokao-query label > b,
html body.qlm-body .mgaokao-row > b {
  font-size: var(--qt-label) !important;
  font-weight: var(--qt-label-w) !important;
  color: var(--qt-label-c) !important;
  line-height: 1.5 !important;
}

/* 必填星号保持红色、不撑大行高 */
html body.qlm-body .mgaokao-query b > i { font-size: inherit !important; }


/* -------------------------------------------- 3. 筛选区 · 下拉框/输入框文字 */
html body.qlm-body .mr2-query select,
html body.qlm-body .mr2-query input,
html body.qlm-body .qln-plan-filter select,
html body.qlm-body .qln-plan-filter input:not([type="checkbox"]):not([type="radio"]),
html body.qlm-body .mp-college-selects select,
html body.qlm-body .mp-college-main-search input,
html body.qlm-body .mq-filter select,
html body.qlm-body .mq-filter input:not([type="checkbox"]):not([type="radio"]),
html body.qlm-body .mcontrol-query select,
html body.qlm-body .mcontrol-query input,
html body.qlm-body .mgaokao-query select,
html body.qlm-body .mgaokao-keyword {
  font-size: var(--qt-control) !important;
  font-weight: 400 !important;
  color: var(--qt-control-c) !important;
  line-height: 1.4 !important;
}


/* ------------------------------------------- 4. 筛选区 · 单选/多选胶囊文字 */
html body.qlm-body .mcontrol-pills label > span,
html body.qlm-body .mgaokao-radios label > span,
html body.qlm-body .mgaokao-checks label > span,
html body.qlm-body .qln-plan-filter fieldset label > span {
  font-size: var(--qt-pill) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}


/* -------------------------------------------------- 5. 筛选区 · 按钮 */
/* 主按钮：立即查询 / 查询省控线 */
html body.qlm-body .mr2-buttons button,
html body.qlm-body .qln-plan-buttons button,
html body.qlm-body .mp-college-main-search button,
html body.qlm-body .mq-actions button,
html body.qlm-body .mcontrol-query button,
html body.qlm-body .mgaokao-query button {
  font-size: var(--qt-btn) !important;
  font-weight: var(--qt-btn-w) !important;
}
/* 次按钮：重置条件 */
html body.qlm-body .mr2-buttons a,
html body.qlm-body .qln-plan-buttons a,
html body.qlm-body .mq-actions a,
html body.qlm-body .mgaokao-reset {
  font-size: var(--qt-btn) !important;
  font-weight: var(--qt-btn2-w) !important;
}


/* ------------------------------------------------ 6. 筛选区 · 分段选项卡 */
html body.qlm-body .mq-level-tabs > a,
html body.qlm-body .mq-level-tabs > button,
html body.qlm-body .mq-score-tabs > a,
html body.qlm-body .qln-plan-tabs > a {
  font-size: var(--qt-tab) !important;
  font-weight: 700 !important;
}


/* ------------------------------------------- 7. 筛选区 · 卡片自带小标题
   /new-gaokao 的「筛选条件」是筛选卡内部唯一的小标题，对齐结果区副信息级。 */
html body.qlm-body .mgaokao-query > header > h2 {
  font-size: var(--qt-r-meta) !important;
  font-weight: 700 !important;
  color: var(--qt-r-meta-c) !important;
}


/* --------------------------------------------------- 8. 结果区 · 总标题 */
html body.qlm-body .mr2-result > header > h2,
html body.qlm-body .mq-results > header > h2,
html body.qlm-body .mcontrol-result > header > h2 {
  font-size: var(--qt-r-title) !important;
  font-weight: var(--qt-r-title-w) !important;
  color: var(--qt-r-title-c) !important;
  line-height: 1.35 !important;
}


/* ------------------------------- 9. 结果区 · 计数行 / 数据来源 / 更新时间 */
html body.qlm-body .mr2-result > header > p,
html body.qlm-body .mr2-result > header > p > i,
html body.qlm-body .mq-results > header > span,
html body.qlm-body .mcontrol-result > header > span,
html body.qlm-body .mp-college-results > header,
html body.qlm-body .qln-plan-result-head > b,
html body.qlm-body .qln-plan-result-head > span {
  font-size: var(--qt-r-meta) !important;
  font-weight: 400 !important;
  color: var(--qt-r-meta-c) !important;
  line-height: 1.55 !important;
}
/* 计数行里的数字：只加粗，颜色与文字一致（对齐 rank 的灰） */
html body.qlm-body .mp-college-results > header > b,
html body.qlm-body .qln-plan-result-head > b > em {
  font-size: var(--qt-r-meta) !important;
  font-weight: 800 !important;
  font-style: normal !important;
  color: var(--qt-r-meta-c) !important;
}


/* ------------------------------------------------------ 10. 结果区 · 表格 */
html body.qlm-body .mr2-table th,
html body.qlm-body .mcontrol-result th {
  height: 31px !important;
  font-size: var(--qt-table) !important;
  font-weight: var(--qt-table-w) !important;
  color: var(--qt-table-th-c) !important;
}
html body.qlm-body .mr2-table td,
html body.qlm-body .mcontrol-result td {
  height: 29px !important;
  font-size: var(--qt-table) !important;
  font-weight: 400 !important;
  color: var(--qt-table-td-c) !important;
}


/* -------------------------- 11. 结果区 · 列表卡片（/major /subject /plan）
   这三页的结果是卡片列表而不是表格，rank 没有等价物，
   统一到「比结果区标题低一级」的 15px / 800。                            */
html body.qlm-body .mp-college-list h2,
html body.qlm-body .mq-major-list h3,
html body.qlm-body .plan-school-info b,
html body.qlm-body .plan-school-card h3 {
  font-size: var(--qt-list-title) !important;
  font-weight: 800 !important;
  color: var(--qt-list-c) !important;
  line-height: 1.3 !important;
}

/* 列表项副信息 */
html body.qlm-body .mp-college-list p,
html body.qlm-body .mp-college-list small,
html body.qlm-body .mq-major-list p,
html body.qlm-body .mq-major-list aside small,
html body.qlm-body .plan-school-info small {
  font-size: var(--qt-list-meta) !important;
  color: var(--qt-list-meta-c) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

/* 列表右侧数值：学校标识码 / 专业代码 / 计划数 */
html body.qlm-body .mp-college-meta > strong,
html body.qlm-body .mq-major-list aside > b,
html body.qlm-body .plan-school-total > strong {
  font-size: var(--qt-list-num) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
html body.qlm-body .mp-college-meta > span,
html body.qlm-body .plan-school-total > small {
  font-size: var(--qt-badge) !important;
  color: var(--qt-r-meta-c) !important;
  line-height: 1.25 !important;
}

/* 小标签：本科 / 民办 / 专科 / 计划数 */
html body.qlm-body .mp-college-badges > b,
html body.qlm-body .mq-major-list a > div > span,
html body.qlm-body .plan-school-info em {
  font-size: var(--qt-badge) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.3 !important;
}


/* ------------------------------------------- 12. 结果区 · 空态 / 底部提示
   /control-line 的提示框是 <aside><div><b>重要提示</b><p>…</p></div></aside>，
   注意 b/p 不是 aside 的直接子级，所以不能写 ">"。                       */
html body.qlm-body .mr2-result > aside > p,
html body.qlm-body .mcontrol-result aside p,
html body.qlm-body .qln-plan-empty > p,
html body.qlm-body .data-empty > p {
  font-size: var(--qt-note) !important;
  color: var(--qt-note-c) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}
html body.qlm-body .mcontrol-result aside b {
  font-size: var(--qt-note) !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
html body.qlm-body .qln-plan-empty > b,
html body.qlm-body .data-empty > b {
  font-size: var(--qt-list-title) !important;
  font-weight: 700 !important;
  color: var(--qt-r-title-c) !important;
  line-height: 1.4 !important;
}


/* ------------------------------------------------------------------ 13. 考试诊断
   原统一表覆盖7个数据查询页；考试诊断按相同功能角色补齐。 */
html body.qlm-body .exam-page,
html body.qlm-body .exam-page input,
html body.qlm-body .exam-page select,
html body.qlm-body .exam-page textarea,
html body.qlm-body .exam-page button {
  font-family: var(--qt-font) !important;
}
html body.qlm-body .exam-page label {
  font-size: var(--qt-label) !important;
  font-weight: var(--qt-label-w) !important;
  color: var(--qt-label-c) !important;
  line-height: 1.5 !important;
}
html body.qlm-body .exam-page input,
html body.qlm-body .exam-page select,
html body.qlm-body .exam-page textarea {
  font-size: var(--qt-control) !important;
  font-weight: 400 !important;
  color: var(--qt-control-c) !important;
  line-height: 1.4 !important;
}
html body.qlm-body .exam-page button,
html body.qlm-body .exam-page .exam-actions a,
html body.qlm-body .exam-page .exam-empty a {
  font-size: var(--qt-btn) !important;
  font-weight: var(--qt-btn-w) !important;
}
html body.qlm-body .exam-page button.secondary {
  font-weight: var(--qt-btn2-w) !important;
}
html body.qlm-body .exam-page .exam-tabs a {
  font-size: var(--qt-tab) !important;
  font-weight: 700 !important;
}
html body.qlm-body .exam-page h2 {
  font-size: var(--qt-r-title) !important;
  font-weight: var(--qt-r-title-w) !important;
  color: var(--qt-r-title-c) !important;
  line-height: 1.35 !important;
}
html body.qlm-body .exam-page h3,
html body.qlm-body .exam-page .exam-feature-grid b,
html body.qlm-body .exam-page .exam-history-list article b {
  font-size: var(--qt-list-title) !important;
  font-weight: 800 !important;
  color: var(--qt-list-c) !important;
  line-height: 1.4 !important;
}
html body.qlm-body .exam-page p,
html body.qlm-body .exam-page small,
html body.qlm-body .exam-page .exam-feature-grid span,
html body.qlm-body .exam-page .exam-history-list article span {
  font-size: var(--qt-note) !important;
  font-weight: 400 !important;
  color: var(--qt-note-c) !important;
  line-height: 1.55 !important;
}
html body.qlm-body .exam-page .exam-empty > b {
  font-size: var(--qt-list-title) !important;
  font-weight: 700 !important;
  color: var(--qt-r-title-c) !important;
  line-height: 1.4 !important;
}
