/* ============================================================
   河南日报网 · 全站样式（改版）
   依据：henandaily-dev 开发包（2026-09-18）
     §四 设计规范（色板/字体/字号）  §五 自适应（三个断点只改 CSS）
   断点：桌面 ≥1200px ／ 平板 768–1199px ／ 手机 <768px
   口径：一套 HTML，未在断点表中列出的项目一律不变；
         手机端只取消标签、装饰与重复入口，不隐藏稿件内容。
   说明：
   - 色板与字体栈只用下方变量；#C9C9C5 / #E8EEF3 / #AEBECC / #A3A7A3
     为样张内已有的点缀色（分隔点、描边标签、页脚文字、占位图标描边）；
     #C1C5C6（分页禁用态）/ #F3F3F0（移动端声明块底色）同出样张。
     （手机报两页的点缀色 #B4B8B9 / #8FA3B6 / #F3F3F0 / #FAFAF8 等写在
     sjb.html / sjb-issue.html 页内样式中。）
   - 页尾的「过渡兼容层」给尚未改版的栏目/正文模板换肤用，
     逐页改版完成后可整段删除。
   ============================================================ */

:root {
  /* 色板 —— 全站只有这几个值，不要引入新颜色 */
  --accent:      #4A6B8A;   /* 主色 灰蓝 */
  --accent-dark: #3B5872;   /* 链接悬停 */
  --ground:      #FBFBFA;   /* 页面底色 */
  --ink:         #15171A;   /* 标题墨色 */
  --body:        #1F2327;   /* 正文 */
  --muted:       #4E5359;   /* 次要文字 */
  --muted-2:     #6B7075;   /* 元信息 */
  --faint:       #9A9E9F;   /* 最弱文字 */
  --hairline:    #E2E2DF;   /* 发丝线 */
  --fill:        #EFEFEC;   /* 图片占位底 */
  --footer:      #1C2B3A;   /* 页脚底色 */
  --brand:       #CC191C;   /* 报头站名红（河南日报网） */

  /* 字体栈 —— 自托管 Noto / IBM Plex Mono（见文末 @font-face），系统字体仅作回退 */
  --serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
  --sans:  "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
  --mono:  "IBM Plex Mono", "SFMono-Regular", Consolas, "Courier New", monospace;
}

/* ---------- 基础 ---------- */

* { box-sizing: border-box; }

html {
  color-scheme: light;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  /* 极窄屏（<320）出横向滚动、不压版式；勿用 390——那是样张手机画板宽，写成 min 会在 360 屏溢出诱发浏览器缩放浮钮 */
  min-width: 320px;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  /* 不设全局 line-height：样张按组件各自声明；需要时在对应选择器写明 */
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent-dark); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

img { max-width: 100%; }
input::placeholder { color: var(--faint); }
button { font: inherit; }

.hd-mono { font-family: var(--mono); }

/* 飘灰（哀悼日等整站置灰）：html 加 .page-gray 类启用（老站同款） */
html.page-gray {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
}

/* 表单控件重置：去掉 iOS / 安卓原生圆角阴影 */
input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-family: inherit;
}

/* 多行截断（老站 -webkit-line-clamp 方案） */
.clamp-1, .clamp-2, .clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-all;
}
.clamp-1 { -webkit-line-clamp: 1; }
.clamp-2 { -webkit-line-clamp: 2; }
.clamp-3 { -webkit-line-clamp: 3; }

/* ============================================================
   版心与页头（规范 §七：顶条 → 报头 → 主导航）
   桌面数值取自 desktop/Main.html（1440 版心、左右 80）
   ============================================================ */

.hd-page {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  min-height: 100vh;        /* 内容不足一屏时页脚仍贴页面底部（main flex-grow 撑开） */
  background: var(--ground);
  color: var(--ink);
  display: flex;
  flex-direction: column;
}

.hd-main {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 0 80px;
}

/* 顶条：主色通栏，左主办右日期；总高 35px（样张）；手机端整条取消 */
.hd-topbar {
  background: var(--accent);
  height: 35px;
  padding: 0 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
}
.hd-topbar span { font-size: 12px; line-height: 1; color: #FFFFFF; }
.hd-topbar-org { letter-spacing: 0.12em; }
.hd-topbar-date { letter-spacing: 0.08em; }

/* 报头：整图站名（含域名），三断点宽 160 / 140 / 130
   移动端勿再压更小（图内含域名行，过窄会糊/乱）；flex 内禁止被挤扁 */
.hd-masthead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 30px 80px 22px;
}
.hd-brand {
  display: block;
  line-height: 0;
  flex-shrink: 0;       /* 不被右侧主办/日期挤窄 */
}
.hd-brand:hover .hd-brand-logo { opacity: 0.88; }
.hd-brand-logo {
  display: block;
  width: 160px;         /* 桌面 */
  height: auto;
  max-width: none;      /* 覆盖全局 img{max-width:100%}，避免 flex 里被压扁变形 */
}
/* 报头右侧辅助链接（Main.html：13px / gap 26；手机端移入页脚） */
.hd-utility {
  list-style: none;
  margin: 0;
  padding: 0 0 4px;
  display: flex;
  gap: 26px;
  font-size: 13px;
  color: var(--muted-2);
}
.hd-meta-mobile { display: none; }   /* 仅手机端：主办 + 日期移到站名右侧 */

/* 主导航：五项左对齐；当前项为贴在底线下的等宽横条（规范 §七） */
.hd-nav {
  border-top: 1px solid var(--hairline);
  border-bottom: 2px solid var(--accent);
  padding: 0 80px;
}
.hd-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 46px;
}
.hd-nav li { position: relative; }
.hd-nav a {
  display: block;
  padding: 16px 0;          /* 点击区域 ≥48px，是移动端取消面包屑的前提 */
  font-size: 17px;
  font-weight: 500;
}
.hd-nav a.is-current {
  font-weight: 700;
  color: var(--ink);
}
.hd-nav .is-current-bar {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;             /* 与 2px 主色底线齐平不脱开 */
  height: 5px;
  background: var(--accent);
  pointer-events: none;
}
.hd-nav .is-current .is-current-bar { display: block; }

/* ============================================================
   首页 · 头条区（desktop/Main.html：标签 + 46px 主标题 + 两条次头条）
   ============================================================ */

.hd-lead-sec {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 46px 0 40px;
  border-bottom: 1px solid var(--hairline);
}

.hd-lead {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}
.hd-lead-main {
  order: -1;                /* DOM 里图在前（移动端图先出），桌面图靠右 */
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.hd-lead-tag {
  align-self: flex-start;
  font-size: 11.5px;
  letter-spacing: 0.16em;
  color: var(--accent);
  border: 1px solid var(--accent);
  padding: 4px 10px;
}
.hd-lead-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 46px;
  line-height: 1.34;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-wrap: pretty;
  max-width: 1060px;
}
.hd-lead-desc {
  margin: 0;
  font-size: 17px;
  line-height: 1.78;
  color: var(--muted);
  max-width: 900px;
}
/* 无图头条：标题 30 / 1.46，提要 15.5 / 1.82（reference/Specs.html） */
.hd-lead--noimg .hd-lead-title { font-size: 30px; line-height: 1.46; }
.hd-lead--noimg .hd-lead-desc { font-size: 15.5px; line-height: 1.82; }

.hd-subs {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}
.hd-sub {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
  border-left: 2px solid var(--accent);
  padding-left: 20px;
}
.hd-sub-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 26px;
  line-height: 1.45;
  font-weight: 600;
  text-wrap: pretty;
}
.hd-sub-desc {
  margin: 0;
  font-size: 15px;
  line-height: 1.72;
  color: var(--muted);
}

/* ============================================================
   首页 · 栏目板块（栏目标题区 + 首条 + 两栏列表）
   ============================================================ */

.hd-sec { margin-top: 42px; }

/* 栏目标题区：中文栏目名 + 装饰性英文小标，下接 2px 主色线 */
.hd-sec-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 2px solid var(--accent);
  padding-bottom: 11px;
}
.hd-sec-names {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  min-width: 0;
}
.hd-sec-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.14em;
  white-space: nowrap;   /* 禁止「文旅体」拆成「文旅 / 体」 */
}
.hd-sec-en {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  color: var(--faint);
  white-space: nowrap;
  margin-left: auto;     /* 同行无多余空间→贴标题；独占次行→靠右 */
}
.hd-sec-more {
  flex-shrink: 0;
  font-size: 13px;
  color: var(--accent);
}
.hd-sec-more-m { display: none; }   /* 「更多 →」短文案：仅移动端，桌面/平板隐藏 */

/* 栏目首条（有图 26px，无图 30px） */
.hd-first {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  padding: 26px 0 24px;
}
.hd-first-main {
  order: -1;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hd-first-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 26px;
  line-height: 1.5;
  font-weight: 600;
  text-wrap: pretty;
}
.hd-first-desc {
  margin: 0;
  font-size: 15px;
  line-height: 1.78;
  color: var(--muted);
  max-width: 720px;
}
.hd-first--noimg { padding: 30px 0 28px; }
.hd-first--noimg .hd-first-title { font-size: 30px; line-height: 1.46; }
.hd-first--noimg .hd-first-desc { font-size: 15.5px; line-height: 1.82; max-width: 900px; }

/* 列表两栏（平板降一列，手机一列） */
.hd-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 40px;
}
.hd-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 18px 0;
  border-top: 1px solid var(--hairline);
}
.hd-row-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.hd-row-title {
  font-size: 17px;
  line-height: 1.62;
  text-wrap: pretty;
}

/* 元信息：来源 · MM-DD（数字等宽体）；题材标签为描边样式（reference/Tags.html） */
.hd-meta {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  color: var(--muted-2);
}
.hd-meta--lg { gap: 10px; font-size: 13px; }
.hd-meta time { font-family: var(--mono); }
.hd-date-m { display: none; }   /* 年-月-日：仅手机（M-Main）；桌面 Main 用月-日 */
.hd-dot { color: #C9C9C5; }
/* 文旅体：桌面只显示题材标签+日期；来源留给手机端（标签取消后） */
.hd-sec--wlt .hd-meta-from,
.hd-sec--wlt .hd-dot--from { display: none; }
.hd-tag {
  display: inline-block;
  border: 1px solid #C9C9C5;
  padding: 1px 7px;
  color: var(--muted);
}
.hd-tag--accent {
  border-color: var(--accent);
  color: var(--accent);
  padding: 2px 8px;
}

/* 缩略图：稿件图统一 3:2，object-fit: cover 居中裁切 */
.hd-thumb {
  flex-shrink: 0;
  background: var(--fill);
  border: 1px solid var(--hairline);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hd-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* 图加载失败：整块藏掉，不留灰底占位 */
.hd-thumb--broken,
.zt-row-thumb--broken,
.ep-thumb-fig--broken {
  display: none !important;
}
.hd-thumb--lead { width: 240px; height: 160px; }
.hd-thumb--row { width: 96px; height: 64px; }
.hd-thumb--lead .hd-ph { width: 26px; height: 26px; }
.hd-thumb--row .hd-ph { width: 18px; height: 18px; }

/* ============================================================
   首页 · 手机报与电子报直达
   ============================================================ */

.hd-direct {
  margin-top: 52px;
  border-top: 1px solid var(--ink);
  padding-top: 24px;
}
.hd-direct .hd-sec-head { border-bottom: 0; padding-bottom: 0; }
.hd-direct .hd-sec-title {
  font-family: var(--sans);
  font-size: 15px;
  letter-spacing: 0.14em;
}
.hd-direct-head-m { display: none; }   /* 仅手机端：合成「今日直达」标题（桌面隐藏） */

.hd-direct-cols {
  display: flex;
  gap: 28px;
  align-items: stretch;
  margin-top: 14px;
}
.hd-direct-col {
  width: 300px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.hd-direct-col--wide {
  width: auto;
  flex: 1 1 auto;
  min-width: 0;
}
.hd-direct-toprow {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}
.hd-direct-names {
  display: flex;
  align-items: baseline;
  gap: 14px;
  min-width: 0;
}
.hd-issue-link {
  border: 1px solid var(--hairline);
  padding: 15px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 15px;
}
.hd-issue-link:hover { border-color: var(--accent); }
.hd-issue-link time { font-family: var(--mono); font-size: 12.5px; color: var(--muted-2); }
.hd-issue-sjb { display: none; }   /* 「手机报　」前缀：仅移动端（桌面列内已有小标题） */

.hd-paper {
  border: 1px solid var(--hairline);
  padding: 18px 20px;
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.hd-paper-thumb {
  width: 118px;
  height: 166px;
  flex-shrink: 0;
  background: var(--fill);
  border: 1px solid var(--hairline);
  display: block;
  overflow: hidden;
}
.hd-paper-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.hd-paper-thumb--empty {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hd-paper-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hd-paper-label {
  font-size: 12.5px;
  letter-spacing: 0.1em;
  color: var(--muted-2);
}
.hd-paper-note {
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--muted-2);
}
.hd-page-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hd-page-cell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 72px;
  border: 1px solid var(--hairline);
  font-family: var(--mono);
  font-size: 13px;
  color: var(--muted);
  overflow: hidden;
  background: var(--fill);
}
.hd-page-cell:hover { border-color: var(--accent); color: var(--accent); }
.hd-page-cell--cur { border-color: var(--accent); color: var(--accent); }
/* 有缩略图：整格铺图；页码用正中半透明小方块托住 */
.hd-page-cell--img {
  padding: 0;
  color: #fff;
  background: var(--fill);
}
.hd-page-cell--img img {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.hd-page-cell .hd-page-num {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1;
  pointer-events: none;
}
/* 悬停：数字主色蓝，底改为半透明白 */
.hd-page-cell:hover .hd-page-num,
.hd-page-cell--cur:hover .hd-page-num {
  color: var(--accent);
  background: rgba(255, 255, 255, 0.72);
}
.hd-page-cell--all {
  width: 72px;
  border: 1px dashed #C9C9C5;
  font-family: var(--sans);
  font-size: 12.5px;
  color: var(--muted-2);
  background: var(--ground);
}

/* ============================================================
   栏目列表页（desktop/List-News.html + mobile/M-List-News.html）
   ============================================================ */

/* 栏目标题区：中文栏目名 + 装饰英文小标，右侧面包屑，下接发丝线
   （列表页是发丝线，区别于首页栏目板块的 2px 主色线） */
.hd-cat-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 34px 0 18px;
  border-bottom: 1px solid var(--hairline);
}
.hd-cat-names {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 18px;
  min-width: 0;
}
.hd-cat-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.12em;
  white-space: nowrap;   /* 与首页板块标题同：栏目名不拆字 */
}
.hd-cat-en {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.26em;
  color: var(--faint);
  white-space: nowrap;
  margin-left: auto;     /* 换行后靠右（文旅体英文较长时） */
}

/* 面包屑（列表页标题区右侧 / 正文页通栏）；
   手机端整行取消，靠导航当前项回栏目（规范 §七） */
.hd-crumb { font-size: 13px; color: var(--muted-2); }
.hd-crumb a { color: var(--muted-2); }
.hd-crumb-sep { color: #C9C9C5; padding: 0 8px; }
.hd-crumb-cur { color: var(--ink); }
.hd-crumb--article { padding: 22px 0 0; }

/* 稿件列表：单列，标题 + 「来源 · 日期」，有图条目右侧 120×80 缩略图（无图不占位） */
.hd-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hd-item {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  padding: 22px 0;
  border-bottom: 1px solid var(--hairline);
}
.hd-item-main {
  flex-grow: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.hd-item-title {
  font-size: 21px;
  line-height: 1.55;
  font-weight: 500;
  text-wrap: pretty;
}
.hd-item-empty { margin: 0; color: var(--muted-2); }
.hd-thumb--item { width: 120px; height: 80px; }

/* ============================================================
   正文页（desktop/Article-A.html / Article-B.html + mobile/M-Article.html）
   A（本社原创）/ B（授权转载）同构：960 版心，差异只在文末声明（show.html 判定）
   ============================================================ */

.hd-article-wrap { display: flex; justify-content: center; }
.hd-article {
  width: 100%;
  max-width: 960px;
  padding-top: 44px;
  display: flex;
  flex-direction: column;
}
.hd-article-title {
  margin: 0 0 24px;
  font-family: var(--serif);
  font-size: 38px;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-wrap: pretty;
}

/* 元信息行：来源 | 时间，上下发丝线 */
.hd-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  color: var(--muted-2);
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  padding: 14px 0;
  margin-bottom: 30px;
}
.hd-byline time { font-family: var(--mono); }
.hd-byline-sep { color: #C9C9C5; }

/* 摘要：左「摘要」标签 + 竖线；手机端去标签，只留 2px 主色左线 */
.hd-abstract {
  display: flex;
  gap: 26px;
  align-items: stretch;
  margin-bottom: 34px;
}
.hd-abstract-label {
  width: 92px;
  flex-shrink: 0;
  padding-top: 3px;
  border-right: 1px solid var(--hairline);
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.24em;
  color: var(--accent);
}
.hd-abstract-text {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.9;
  color: var(--muted);
}

/* 正文：桌面 18 / 2.0（Specs-Responsive + Article-A）；平板/手机 17 / 1.95。
   段落级强制字号，压过 CMS 内联 font-size（否则稿件里常被写成 14/16px）。
   注意：CMS 富文本大量用 p 包图/居中/表格，移动端对 p+text-indent 兼容差
   （横向溢出、图被顶偏），故媒体/居中/表格段落取消缩进，并限制换行。 */
.hd-body {
  font-family: var(--sans);
  font-size: 18px;
  line-height: 2;
  color: var(--body);
  overflow-wrap: break-word;
  word-break: break-word;
}
.hd-body p,
.hd-body li,
.hd-body td {
  font-size: 18px !important;
  line-height: 2 !important;
  font-family: var(--sans);
  color: var(--body);
}
.hd-body p {
  margin: 0 0 24px;
  /* 首行缩进交由 CMS 内联 text-indent；模板再写 2em 易与原稿叠成冗余，暂关 */
  /* text-indent: 2em; */
  overflow-wrap: break-word;
  word-break: break-word;
}
/* 末段到责编：样张 Article-A 末段 margin-bottom 34 */
.hd-body > p:last-child { margin-bottom: 34px; }
.hd-body:has(> .pages) > p:last-of-type { margin-bottom: 24px; }
/* 居中/右对齐（含内联 style）不缩进 */
.hd-body p[align="center"],
.hd-body p[align="right"],
.hd-body p[style*="text-align:center"],
.hd-body p[style*="text-align: center"],
.hd-body p[style*="text-align:right"],
.hd-body p[style*="text-align: right"] {
  text-indent: 0;
}
/* 含媒体/表格的段落不缩进（:has 不支持时仍靠下方 img 块级表现兜底） */
.hd-body p:has(img),
.hd-body p:has(video),
.hd-body p:has(iframe),
.hd-body p:has(table),
.hd-body p:has(figure) {
  text-indent: 0;
}
.hd-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
/* 长文：视口外图/视频段落推迟排版，减轻首屏压力（不支持则忽略） */
@supports (content-visibility: auto) {
  .hd-body > p:has(> img:only-child),
  .hd-body > p:has(> video),
  .hd-body > p:has(> .edui-upload-video),
  .hd-body > div:has(> video),
  .hd-body > div:has(> .edui-upload-video) {
    content-visibility: auto;
    contain-intrinsic-size: auto 280px;
  }
}
/* 编辑明确要求靠左时保持左侧（CMS 常见：align / float / alignleft 类） */
.hd-body img[align="left"],
.hd-body img[style*="float:left" i],
.hd-body img[style*="float: left" i],
.hd-body img.alignleft,
.hd-body img.fleft,
.hd-body img.float-left {
  display: inline;
  float: left;
  margin: 0.35em 1em 0.75em 0;
}
.hd-body img[align="right"],
.hd-body img[style*="float:right" i],
.hd-body img[style*="float: right" i],
.hd-body img.alignright,
.hd-body img.fright,
.hd-body img.float-right {
  display: inline;
  float: right;
  margin: 0.35em 0 0.75em 1em;
}
/* 正文视频（CMS 常写死 270×480 竖屏 + video-js 类）
   PC：限高居中——横屏接近满栏，竖屏按比例变窄，避免撑出超长页
   手机：满宽（见 ≤767 断点） */
.hd-body video,
.hd-body .edui-upload-video,
.hd-body .video-js {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  max-height: min(70vh, 640px);
  height: auto !important;
  margin: 0 auto 24px;
  background: #111;
  object-fit: contain;
  position: relative !important;
  box-sizing: border-box;
}
.hd-body video[poster] {
  /* 未播时靠 poster；避免部分 WebView 把未加载媒体压成一条线 */
  min-height: 120px;
}
.hd-body iframe {
  display: block;
  max-width: 100%;
  margin: 0 0 24px;
}
.hd-body figure { margin: 0 0 24px; }
.hd-body figcaption { padding: 12px 0 0; font-size: 13px; line-height: 1.7; color: var(--muted-2); }
.hd-body h2, .hd-body h3 {
  margin: 34px 0 14px;
  font-family: var(--serif);
  color: var(--ink);
  font-weight: 700;
}
.hd-body h2 { font-size: 21px; }
.hd-body h3 { font-size: 19px; }
.hd-body .pages { padding: 14px 0 0; }   /* 长文分页嵌在正文内，间距收紧 */

/* 责任编辑（zebian，空则整行不渲染） */
.hd-editor {
  display: flex;
  justify-content: flex-end;
  font-size: 13px;
  color: var(--muted-2);
  padding-bottom: 24px;
}

/* 文末声明：A 版权声明 / B 转载声明（Article-B 白底细边框）。
   手机端原创声明改灰底无边框（M-Article）；转载声明保持 PC 边框，不套灰底。 */
.hd-notice {
  border: 1px solid var(--hairline);
  padding: 18px 22px;
  font-size: 13px;
  line-height: 1.85;
  color: var(--muted-2);
  margin-bottom: 46px;
}
.hd-notice a { color: var(--accent); }

/* 正文裸短链（shoujibao.net/…）：与原文链接同色、无下划线、不加［］ */
.hd-body a.hd-shortlink,
.issue-item .hd-body a.hd-shortlink {
  color: var(--accent);
  text-decoration: none;
}

/* 相关新闻（related_news；条目带来源·日期，对齐 Article-A / M-Article） */
.hd-related { margin-bottom: 44px; }
.hd-related-head {
  display: flex;
  align-items: baseline;
  gap: 16px;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 11px;
}
.hd-related-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.hd-related-en {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  color: var(--faint);
}
.hd-related-list { list-style: none; margin: 0; padding: 0; }
.hd-related-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 15px 0;
  border-bottom: 1px solid var(--hairline);
}
.hd-related-link { font-size: 17px; line-height: 1.6; text-wrap: pretty; }

/* 上下篇：左右两栏、箭头贴外侧；手机端上下两行、箭头在左 */
.hd-pn {
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--hairline);
  display: flex;
  align-items: stretch;
}
.hd-pn-item {
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.hd-pn-item--prev { padding: 20px 26px 22px 0; }
.hd-pn-item--next { padding: 20px 0 22px 26px; justify-content: space-between; }
.hd-pn-sep { width: 1px; background: var(--hairline); flex-shrink: 0; }
.hd-pn svg { flex-shrink: 0; margin-top: 3px; color: var(--accent); }
.hd-pn-main { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.hd-pn-label { font-size: 12.5px; color: var(--muted-2); letter-spacing: 0.1em; }
.hd-pn-title { font-size: 16.5px; line-height: 1.6; text-wrap: pretty; }
.hd-pn-item--empty .hd-pn-title { color: var(--faint); }
.hd-pn-item--empty svg { color: var(--faint); }

/* ============================================================
   合作内容（desktop/List-Coop.html + Article-C.html；移动端沿用栏目列表/正文断点）
   列表：无英文小标、无缩略图，条目间距略紧；正文版心与 A/B 同为 960
   ============================================================ */
.hd-list--coop .hd-item { padding: 20px 0; }
.hd-list--coop .hd-item-main { gap: 10px; }
.hd-article--coop .hd-byline { margin-bottom: 28px; }
.hd-article--coop .hd-editor { padding-bottom: 46px; }
.hd-pn-label-extra { margin-left: 0; }

/* 分页区外框（页码 + 按月查看）；样张 List-Coop / List-News */
.hd-pager-block {
  padding: 34px 0 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.hd-pager-block > .pages { padding: 0; }
.hd-months {
  display: block;
  border-top: 1px solid var(--hairline);
  padding-top: 18px;
}
.hd-months-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 22px;
  width: 100%;
  min-width: 0;
}
.hd-months-lab {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.hd-months-ym {
  font-family: var(--mono);
  font-size: 14px;
  color: #4E5359;
}
.hd-months-ym:hover { color: var(--accent); }
.hd-months-all {
  flex-shrink: 0;
  margin-left: auto; /* PC：推到行尾右侧（样张 List-News） */
  font-size: 13px;
  color: var(--accent);
}
.hd-months-cap {
  margin: 0;
  font-size: 13.5px;
  color: var(--muted-2);
}
.hd-months-cap a { color: var(--accent); }

/* ============================================================
   文旅体列表页（desktop/List-Wlt.html + mobile/M-List-Wlt.html）
   与要闻列表同构，差异：元信息为题材标注 + 日期；英文小标两端同为
   CULTURE, TOURISM & SPORTS（修改记录 §六）
   题材样式：桌面灰描边（reference/Tags.html）；手机纯文字 + 「·」（M-List-Wlt）
   ============================================================ */

/* 题材标注（列表页）：桌面描边标签；手机端改纯文字（首页题材标签仍取消） */
.hd-tag--inline {
  border: 1px solid #C9C9C5;
  padding: 1px 8px;
  color: var(--muted);
}
/* 桌面 List-Wlt：标签与日期无间隔点；手机 M-List-Wlt 才显示「·」 */
.hd-dot--tag { display: none; }

/* ============================================================
   页脚：桌面左链接右站名一行；手机端上下堆叠
   ============================================================ */

.hd-footer {
  margin-top: 56px;
  background: var(--footer);
  color: #E8EEF3;
  padding: 34px 80px 38px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}
.hd-foot-left {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-width: 0;
}
.hd-foot-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  font-size: 14px;
}
.hd-foot-links a { color: #E8EEF3; }
.hd-foot-icp {
  font-family: var(--mono);
  font-size: 12px;
  color: #AEBECC;
  letter-spacing: 0.04em;
}
.hd-foot-org-m { display: none; }   /* 「主办单位」仅移动端并入版权行；桌面在右侧栏 */
.hd-foot-right {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: right;
  flex-shrink: 0;
}
.hd-foot-name {
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 600;
  color: #FFFFFF;
}
.hd-foot-org { font-size: 12px; color: #AEBECC; }
.hd-footer p { margin: 0; font-size: 12px; color: #AEBECC; }   /* 子模板覆盖 footer 时的兜底 */

/* ============================================================
   过渡兼容层：栏目/正文等旧模板（story/card/chip/pages/zt…）仍用旧
   class，先按新规范换肤保持全站一致；逐页改版后整段删除。
   ============================================================ */

.page {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 80px;
}
.block { margin: 0; }
.block + .block { margin-top: 26px; }
.hd-main > .block:first-child { margin-top: 40px; }
.card {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.card.tight { padding: 0; }
.card.cream { background: transparent; }

.section-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.section-head h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 12px;
  border: 1px solid var(--hairline);
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  cursor: pointer;
}
.chip.active {
  border-color: var(--accent);
  color: var(--accent);
  font-weight: 600;
}

.crumb {
  color: var(--muted-2);
  font-size: 12.5px;
  margin: 0 0 14px;
}
.crumb a { color: var(--muted-2); }

.cat-card { border-left: 0; }
.cat-title {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  border-bottom: 2px solid var(--accent);
  padding-bottom: 11px;
}
.cat-title h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.3;
}
.lede {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.story {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  padding: 15px 0;
  border-bottom: 1px solid var(--hairline);
}
.story:first-child { border-top: 1px solid var(--hairline); }
.story h3 { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.62; }
.story .meta { margin-top: 7px; color: var(--muted-2); font-size: 12.5px; }
.tag {
  display: inline-block;
  border: 1px solid #C9C9C5;
  padding: 1px 7px;
  color: var(--muted);
  font-size: 12.5px;
}

.issue {
  display: block;
  padding: 15px 0;
  border-bottom: 1px solid var(--hairline);
}
.issue:first-of-type { margin-top: 0; }
.issue h3 { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.6; }
.issue p { margin: 7px 0 0; color: var(--muted); font-size: 14.5px; }

/* 分页（全站统一 _pagination.html）
   … 悬停 «/»，点击滑动中间窗口；.pages-nums 可横滑（PC / 移动端） */
.pages {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 16px;
  padding: 34px 0 0;
  color: var(--muted-2);
  font-size: 15px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.pages--with-note { justify-content: flex-end; }
.pages-note {
  font-size: 13px; color: var(--faint);
  margin-right: auto; flex-shrink: 1; min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pages-controls {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  flex: 0 1 auto;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
  justify-content: flex-end;
}
/* 多页：仍与少页一样紧挨上一页/下一页，不把页码区撑开留白 */
.pages-controls--wide {
  flex: 0 1 auto;
  max-width: 100%;
}
.pages-btn {
  display: block;
  padding: 11px 16px;
  border: 0;
  color: var(--accent);
  font-family: var(--sans);
  font-size: 15px;
  flex-shrink: 0;
}
.pages-btn.is-disabled { color: #C1C5C6; }
/* 少页：随页码内容宽度，不拉满；多页同样贴边，仅提高 max-width 以便多显 */
.pages-nums {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-wrap: nowrap;
  flex: 0 1 auto;
  width: max-content;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  cursor: grab;
}
.pages-nums--wide {
  flex: 0 1 auto;
  width: max-content;
  max-width: 100%;
}
.pages-nums.is-dragging {
  cursor: grabbing;
  user-select: none;
}
.pages-nums.is-dragging a { pointer-events: none; }
.pages-nums::-webkit-scrollbar { height: 4px; }
.pages-nums::-webkit-scrollbar-thumb { background: #C9C9C5; border-radius: 2px; }
.pages-nums a, .pages > a:not(.pages-btn) {
  display: block;
  padding: 11px 15px;
  font-size: 15px;
  border-bottom: 2px solid transparent;
  flex-shrink: 0;
  cursor: pointer;
}
.pages-nums a:hover, .pages > a:not(.pages-btn):hover { color: var(--accent); }
.pages .cur {
  display: block;
  padding: 11px 15px;
  font-size: 15px;
  color: var(--accent);
  border-bottom: 2px solid var(--accent);
  font-weight: 500;
  flex-shrink: 0;
}
/* 省略号：默认 …；悬停/聚焦变 «/»。
   用叠层 + opacity，不用 display:none，避免悬停切换吃掉点击 */
.pages-more {
  position: relative;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  margin: 0;
  padding: 11px 10px;
  min-width: 2.2em;
  border: 0;
  background: none;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  color: var(--faint);
  border-bottom: 2px solid transparent;
  flex-shrink: 0;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  -webkit-user-select: none;
  user-select: none;
}
.pages-more-dots,
.pages-more-arrow {
  grid-area: 1 / 1;
  letter-spacing: 0;
}
.pages-more-arrow { opacity: 0; }
.pages-more:hover,
.pages-more:focus-visible {
  color: var(--accent);
}
.pages-more:hover .pages-more-dots,
.pages-more:focus-visible .pages-more-dots { opacity: 0; }
.pages-more:hover .pages-more-arrow,
.pages-more:focus-visible .pages-more-arrow { opacity: 1; }

/* 下拉加载已废弃：保留类名以免旧静态页报错，一律不展示 */
.scrollload-sentinel { display: none !important; }

/* 正文页 */
.byline {
  margin-top: 10px;
  color: var(--muted-2);
  font-size: 13px;
  line-height: 1.9;
}
article h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
}
.summary-label {
  color: var(--accent);
  font-size: 12.5px;
  letter-spacing: 0.16em;
  margin-bottom: 8px;
}
.summary {
  margin: 0;
  padding-left: 14px;
  border-left: 2px solid var(--accent);
  font-size: 16px;
  line-height: 1.9;
  color: var(--muted);
}
.article-body { font-family: var(--sans); font-size: 18px; line-height: 2; color: var(--body); }
.article-body h2 { font-size: 20px; margin: 26px 0 10px; color: var(--ink); }
.article-body p { margin: 0 0 14px; font-size: 18px; line-height: 2; }
.article-body img { max-width: 100%; height: auto; }
.article-body video {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  max-height: min(70vh, 640px);
  height: auto !important;
  margin: 0 auto 14px;
  background: #111;
}
@media (max-width: 767px) {
  .article-body video {
    width: 100% !important;
    max-height: none;
    margin-left: 0;
    margin-right: 0;
  }
}
.epaper-body h2 {
  font-size: 19px;
  margin: 26px 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
}
.source-link { color: var(--accent); font-size: 14.5px; }

.ext-list { list-style: none; margin: 10px 0 0; padding: 0; }
.ext-list li { padding: 6px 0 6px 1.1em; position: relative; }
.ext-list li::before {
  content: "·";
  position: absolute;
  left: 0;
  color: var(--accent);
  font-weight: 700;
}
.ext-list a { font-size: 16px; }

/* 锚点导航（手机报期次 / 电子报） */
.anchor-nav { display: flex; flex-wrap: wrap; gap: 8px; -webkit-overflow-scrolling: touch; }
.anchor-nav::-webkit-scrollbar, .epaper-tabs::-webkit-scrollbar { display: none; }
.anchor-nav a {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border: 1px solid var(--hairline);
  color: var(--muted);
  font-size: 14px;
}
.anchor-nav a.on {
  border-color: var(--accent);
  color: var(--accent);
  font-weight: 600;
}

.bullets { list-style: none; margin: 12px 0 0; padding: 0; }
.bullets li { padding: 8px 0 8px 20px; position: relative; }
.bullets li::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--accent);
  position: absolute;
  left: 2px;
  top: 17px;
}
.excerpt-title { color: var(--accent); font-size: 18px; font-weight: 600; }
.badge {
  display: inline-block;
  margin-left: 10px;
  border: 1px solid var(--accent);
  color: var(--accent);
  font-size: 12px;
  padding: 1px 8px;
  vertical-align: middle;
}
.local-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  align-items: flex-start;
}
.diamond { color: var(--accent); margin-right: 5px; }
.plain { margin-right: 5px; color: var(--muted-2); }

.coop-row { display: flex; align-items: center; gap: 18px; }
.coop-row b { font-size: 16px; }
.coop-row span { color: var(--muted-2); font-size: 14px; flex: 1; }
.coop-row em { font-style: normal; color: var(--accent); font-size: 14px; }

.site-foot {
  color: var(--muted-2);
  font-size: 13px;
  line-height: 2;
  border-top: 1px solid var(--hairline);
  margin-top: 48px;
  padding-top: 18px;
}
.site-foot a { margin-right: 12px; color: var(--muted-2); }
.site-foot a:hover { color: var(--accent-dark); }

/* 电子报 */
.epaper-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}
.epaper-head h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 700;
}
.epaper-head h1 small {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 400;
  color: var(--muted-2);
  margin-left: 10px;
}
.epaper-nav a { margin-left: 14px; color: var(--accent); font-size: 14px; }
.epaper-sources { margin-top: 12px; align-items: center; }
.epaper-sources .chip { text-decoration: none; }
.epaper-tabs {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.epaper-tabs .anchor-nav { margin-left: auto; }
.epaper-current { color: var(--muted-2); font-size: 14px; white-space: nowrap; }
.epaper-sheet { border-top: 1px solid var(--hairline); margin-top: 26px; padding-top: 16px; }
.epaper-sheet .paper-title { margin: 0 0 12px; font-size: 17px; font-weight: 600; color: var(--ink); }
.epaper-sheet img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--hairline);
}

/* 电子报单版热区悬停高亮（site.js 按 <area> 生成叠层） */
.ep-sheet-fig { position: relative; }
.ep-hot-layer {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}
.ep-hot {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: auto;
  background: transparent;
  transition: background 0.15s ease;
}
.ep-hot:hover,
.ep-hot:focus-visible {
  background: rgba(74, 107, 138, 0.38);
  outline: none;
}

.page-title {
  display: block;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 8px;
}

/* 上下篇 */
.prev-next {
  border-top: 1px solid var(--hairline);
  margin-top: 12px;
  padding-top: 16px;
  color: var(--muted-2);
  font-size: 14px;
  line-height: 2;
}
.prev-next a { color: var(--accent); }

.static h1 { font-size: 26px; margin: 0 0 14px; }
.static p { margin: 0 0 12px; }

/* ============================================================
   专题（desktop/List-Zt · Page-Zt + mobile/M-List-Zt · M-Page-Zt）
   列表：单列行式；首页：横幅 + 左最新报道 / 右分卷·相关专题
   ============================================================ */

.zt-rows { list-style: none; margin: 0; padding: 0; }
.zt-row {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  padding: 22px 0;
  border-bottom: 1px solid var(--hairline);
}
.zt-row-main {
  flex-grow: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.zt-row-title {
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.55;
  text-wrap: pretty;
}
.zt-row-title--sans {
  font-family: var(--sans);
  font-weight: 500;
}
.zt-row-title:hover { color: var(--accent); }
.zt-row-desc {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  color: var(--muted);
}
.zt-row-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--muted-2);
}
.zt-row-thumb {
  width: 120px;
  height: 80px;
  flex-shrink: 0;
  background: var(--fill);
  border: 1px solid var(--hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.zt-row-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.zt-row-thumb--empty { color: var(--faint); }
.zt-empty {
  margin: 0;
  padding: 28px 0;
  color: var(--muted-2);
  font-size: 15px;
}

/* 专题首页 */
.zt-crumb { padding: 22px 0 0; }
.zt-hero {
  padding: 26px 0 34px;
  border-bottom: 1px solid var(--ink);
}
.zt-hero-banner {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  background: var(--fill);
  border: 1px solid var(--hairline);
  margin-bottom: 30px;
}
.zt-hero-banner--empty {
  display: flex;
  align-items: center;
  justify-content: center;
}
.zt-hero-body { display: flex; flex-direction: column; gap: 18px; }
.zt-hero-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.zt-hero-desc {
  margin: 0;
  font-size: 17px;
  line-height: 1.95;
  color: var(--muted);
  max-width: 820px;
}
.zt-cols {
  display: flex;
  gap: 60px;
  padding: 0 0 40px;
}
.zt-main { flex-grow: 1; min-width: 0; }
.zt-aside {
  width: 320px;
  flex-shrink: 0;
  padding-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 34px;
}
.zt-sec-head {
  padding: 30px 0 14px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--hairline);
}
.zt-sec-names { display: flex; align-items: baseline; gap: 18px; }
.zt-sec-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.zt-sec-en {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.26em;
  color: var(--faint);
}
.zt-aside-sec h3 {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.14em;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 10px;
}
.zt-aside-sec ul { list-style: none; margin: 0; padding: 0; }
.zt-aside-sec li {
  padding: 13px 0;
  border-bottom: 1px solid var(--hairline);
}
.zt-aside-sec a { font-size: 16px; line-height: 1.6; }
.zt-aside-sec a:hover { color: var(--accent); }

/* 回到顶部：固定浮层、半透明；PC 右下 / 手机 左下（见移动端媒体查询） */
.hd-gotop {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  right: 28px;
  bottom: 36px;
  left: auto;
  z-index: 40;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(74, 107, 138, 0.28);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  color: var(--accent);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 2px 8px rgba(59, 88, 114, 0.08);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease,
    background 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}
.hd-gotop.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.hd-gotop:hover {
  background: rgba(255, 255, 255, 0.92);
  color: var(--accent-dark);
  border-color: rgba(59, 88, 114, 0.42);
  box-shadow: 0 8px 22px rgba(59, 88, 114, 0.22);
  transform: translateY(-2px);
}
.hd-gotop:active {
  background: rgba(255, 255, 255, 0.88);
  color: var(--accent-dark);
  box-shadow: 0 4px 12px rgba(59, 88, 114, 0.16);
  transform: translateY(0);
}
.hd-gotop svg { display: block; }

/* 旧网格卡片样式移除（改版后为行式列表） */

/* ============================================================
   平板 768–1199px（reference/Specs-Responsive.html，未列出的一律不变）
   ============================================================ */

@media (max-width: 1199px) {
  .hd-topbar, .hd-masthead, .hd-nav { padding-left: 40px; padding-right: 40px; }
  .hd-main { padding: 0 40px; }
  .hd-brand-logo { width: 140px; }
  .hd-nav ul { gap: 34px; }

  .hd-lead-title { font-size: 36px; line-height: 1.38; }
  .hd-sub-title { font-size: 22px; }
  .hd-thumb--lead { width: 200px; height: 133px; }

  .hd-grid { grid-template-columns: minmax(0, 1fr); }

  /* 列表页 / 正文页（Specs-Responsive：未列出的项目一律不变） */
  .hd-cat-title { font-size: 28px; }
  .hd-item-title { font-size: 19px; line-height: 1.6; }
  .hd-thumb--item { width: 96px; height: 64px; }
  .hd-body { font-size: 17px; line-height: 1.95; }
  .hd-body p,
  .hd-body li,
  .hd-body td {
    font-size: 17px !important;
    line-height: 1.95 !important;
  }


  .hd-footer { padding-left: 40px; padding-right: 40px; }

  /* 兼容层 */
  .page { padding: 0 40px; }
}

/* ============================================================
   手机 <768px（mobile/M-Main.html；顶条/头条标签/题材标签取消）
   ============================================================ */

@media (max-width: 767px) {
  /* 版心：整页左右 20px；内部元素一律不再自带左右边距（避免多层叠加） */
  .hd-page { padding: 0 20px; }

  /* 页头：顶条取消，主办与日期移到站名右侧；辅助链接移入页脚 */
  .hd-topbar { display: none; }
  .hd-masthead { padding: 20px 0 15px; gap: 12px; }
  .hd-brand-logo { width: 130px; }   /* 对齐原移动端站名宽；再小图内域名会糊 */
  .hd-utility { display: none; }
  /* 手机：回到顶部改到左下 */
  .hd-gotop {
    left: 16px;
    right: auto;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    width: 40px;
    height: 40px;
  }
  .hd-meta-mobile {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    padding-bottom: 2px;
    font-size: 11px;
    color: var(--muted-2);
    min-width: 0;           /* 空间不够时压缩本侧，不挤压站名图 */
    flex: 1 1 auto;
  }
  .hd-meta-mobile-org { letter-spacing: 0.06em; }
  .hd-meta-mobile-date { color: var(--faint); letter-spacing: 0.04em; }

  /* 字号兼容：安卓部分内核（微信 X5 / UC 等）有 12px 最小字号硬限制，
     小于 12px 的文字会被顶大导致破版——按「12px 基准 + transform 缩小」实现 */
  .hd-sec-en { font-size: 12px; letter-spacing: 0.22em; transform: scale(0.833); transform-origin: left center; }
  .hd-foot-icp, .hd-foot-copy { font-size: 12px; letter-spacing: 0.03em; transform: scale(0.917); transform-origin: left top; }

  .hd-nav { padding: 0; margin: 0 0px; }   /* 负边距抵消版心 padding，边框线通栏 */
  .hd-nav ul { gap: 26px; padding: 0 0px; }
  .hd-nav a { padding: 13px 0; font-size: 15px; white-space: nowrap; }
  /* 样张尺寸不变；向上同色渗 1px，仅补亚像素缝，已齐平的机型看不出 */
  .hd-nav .is-current-bar {
    bottom: -6px;
    height: 4px;
    box-shadow: 0 -1px 0 var(--accent);
  }

  .hd-main { padding: 0; }

  /* 头条：标签取消；标题 27 / 1.42；次头条改发丝线分隔的 17px 条目 */
  .hd-lead-sec { gap: 18px; padding: 18px 0 24px; }
  .hd-lead { display: block; }
  .hd-lead-main { order: 0; margin-top: 12px; gap: 12px; }
  .hd-lead-tag { display: none; }
  .hd-lead-title { font-size: 27px; line-height: 1.42; letter-spacing: 0; }
  .hd-lead-desc { font-size: 15px; line-height: 1.85; }
  .hd-lead--noimg .hd-lead-title { font-size: 27px; line-height: 1.42; }
  .hd-lead--noimg .hd-lead-desc { font-size: 15px; line-height: 1.85; }
  .hd-subs { display: block; border-top: 1px solid var(--hairline); }
  .hd-sub {
    display: block;
    border-left: 0;
    padding: 13px 0;
  }
  .hd-sub + .hd-sub { border-top: 1px solid var(--hairline); }
  .hd-sub-title {
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.6;
    font-weight: 500;
  }
  .hd-sub-desc { margin-top: 6px; font-size: 14.5px; line-height: 1.75; }

  /* 栏目标题区：20px，主色线改墨色发丝粗线，间距并入标题行 */
  .hd-sec { margin-top: 0; }
  .hd-sec-head {
    margin-top: 26px;
    border-bottom: 1px solid var(--ink);
    padding-bottom: 12px;
    align-items: baseline;
  }
  .hd-sec-names { gap: 12px; }
  .hd-sec-title { font-size: 20px; letter-spacing: 0.12em; }
  .hd-sec-en { font-size: 10px; letter-spacing: 0.22em; }
  .hd-sec-more { font-size: 12.5px; }
  .hd-sec-more-t { display: none; }    /* 移动端隐藏「进入X →」，只留「更多 →」 */
  .hd-sec-more-m { display: inline; }

  /* 栏目首条：满宽 3:2 图在上；标题 20px；题材标签取消 */
  .hd-first { display: block; padding: 18px 0 16px; border-bottom: 1px solid var(--hairline); }
  .hd-first--noimg { padding: 18px 0 16px; }
  .hd-first-main { order: 0; margin-top: 0; gap: 10px; }
  .hd-first .hd-thumb--lead + .hd-first-main { margin-top: 12px; }
  .hd-first-title { font-size: 20px; line-height: 1.5; }
  .hd-first--noimg .hd-first-title { font-size: 20px; line-height: 1.5; }
  .hd-first-desc { font-size: 14.5px; line-height: 1.8; }
  .hd-first--noimg .hd-first-desc { font-size: 14.5px; line-height: 1.8; }
  .hd-thumb--lead { width: 100%; height: auto; aspect-ratio: 3 / 2; }

  /* 列表：一列，发丝线分隔；有图条目缩略图仍在文字右侧 96×64（M-Main） */
  .hd-grid { display: block; }
  .hd-row {
    gap: 14px;
    padding: 15px 0;
    border-top: 0;
    border-bottom: 1px solid var(--hairline);
  }
  .hd-row-main { gap: 8px; }
  .hd-row-title { font-weight: 500; }
  .hd-meta, .hd-meta--lg { font-size: 12px; gap: 8px; }
  .hd-date-d { display: none; }
  .hd-date-m { display: inline; }
  .hd-tag { display: none; }
  /* 文旅体手机：题材标签取消后露出「来源 · 日期」（对齐 M-Main） */
  .hd-sec--wlt .hd-meta-from,
  .hd-sec--wlt .hd-dot--from { display: revert; }

  /* 直达：合并为「今日直达」；手机报两行入口 + 版面三列网格 */
  .hd-direct { margin-top: 0; border-top: 0; padding-top: 0; }
  .hd-direct .hd-sec-head { border-bottom: 1px solid var(--ink); padding-bottom: 12px; }
  .hd-direct .hd-sec-title { font-family: var(--serif); font-size: 20px; letter-spacing: 0.12em; }
  .hd-direct-head-m { display: flex; }
  .hd-direct-cols { display: block; margin-top: 0; }
  .hd-direct-col { width: auto; gap: 10px; padding-top: 16px; }
  .hd-direct-col--sjb .hd-direct-toprow { display: none; }   /* 「手机报/全部期次」小标题行仅桌面 */
  .hd-issue-sjb { display: inline; }   /* 入口行带「手机报　」前缀（M-Main） */
  .hd-direct-col--wide { padding-top: 20px; }
  .hd-direct-col--wide .hd-sec-title { font-family: var(--sans); font-size: 13.5px; letter-spacing: 0.06em; }
  .hd-direct-col--wide .hd-sec-more { font-size: 12.5px; }
  .hd-direct-col--wide .hd-paper-note { display: none; }   /* 报纸名+日期注仅桌面显示 */
  .hd-issue-link { padding: 14px 16px; font-weight: 500; }
  .hd-paper { display: block; border: 0; padding: 0; }
  .hd-paper-thumb, .hd-paper-label { display: none; }
  .hd-paper-main { gap: 12px; }
  .hd-page-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .hd-page-cell {
    width: auto;
    height: auto;
    padding: 13px 0;
    font-size: 15px;
    letter-spacing: 0.06em;
  }
  .hd-page-cell--img {
    height: 110px;
    padding: 0;
  }
  .hd-page-cell--all { display: none; }   /* 与「查看整期」重复的入口 */

  /* 列表页（M-List-News）：面包屑取消；标题 22；条目 17，缩略图 96×64 */
  .hd-crumb { display: none; }
  .hd-cat-head { padding: 16px 0 12px; }
  .hd-cat-names { gap: 12px; }
  .hd-cat-title { font-size: 22px; letter-spacing: 0.1em; }
  .hd-cat-en { font-size: 10px; letter-spacing: 0.22em; }
  .hd-item { gap: 14px; padding: 15px 0; }
  .hd-item-main { gap: 8px; }
  .hd-item-title { font-size: 17px; line-height: 1.6; }
  .hd-thumb--item { width: 96px; height: 64px; }

  /* 正文页（M-Article）：摘要去标签留主色左线；声明改灰底；上下篇上下两行箭头在左 */
  .hd-article { padding-top: 18px; }
  .hd-article-title { font-size: 26px; margin-bottom: 18px; letter-spacing: 0; }
  .hd-byline { gap: 10px; font-size: 12.5px; padding: 12px 0; margin-bottom: 24px; }
  .hd-abstract {
    display: block;
    border-left: 2px solid var(--accent);
    padding-left: 16px;
    margin-bottom: 26px;
  }
  .hd-abstract-label { display: none; }
  .hd-abstract-text { font-size: 15.5px; line-height: 1.85; }
  .hd-body { font-size: 17px; line-height: 1.95; overflow-x: hidden; }
  .hd-body p,
  .hd-body li,
  .hd-body td {
    font-size: 17px !important;
    line-height: 1.95 !important;
  }
  .hd-body p {
    margin-bottom: 18px;
    /* 部分 WebView 对 p+text-indent 会算出额外宽度，强制不横向撑开 */
    max-width: 100%;
    box-sizing: border-box;
  }
  .hd-body > p:last-child { margin-bottom: 18px; }
  .hd-body:has(> .pages) > p:last-of-type { margin-bottom: 18px; }
  /* 手机：视频随屏宽满栏 */
  .hd-body video,
  .hd-body .edui-upload-video,
  .hd-body .video-js {
    width: 100% !important;
    max-height: none;
    margin-left: 0;
    margin-right: 0;
  }
  .hd-editor { padding: 6px 0 20px; }
  .hd-notice {
    border: 0;
    background: #F3F3F0;
    padding: 14px 16px;
    font-size: 12.5px;
    margin-bottom: 30px;
  }
  /* 转载稿：顶部来源行与文末声明都沿用 PC（Article-B），不改成原创稿的灰底 */
  .hd-notice.hd-notice--reprint {
    border: 1px solid var(--hairline);
    background: transparent;
    padding: 14px 16px;
  }
  .hd-related { margin-bottom: 26px; }
  .hd-related-head { padding-bottom: 10px; }
  .hd-related-title { font-family: var(--sans); font-size: 14px; }
  .hd-related-en { display: none; }
  .hd-related-item { gap: 7px; padding: 13px 0; }
  .hd-related-link { font-size: 16px; }
  .hd-pn { display: block; }
  .hd-pn-item,
  .hd-pn-item--prev,
  .hd-pn-item--next { gap: 14px; padding: 16px 0; }
  /* 两行箭头都在文字左侧（M-Article）：下一篇取消桌面端的右贴边排布 */
  .hd-pn-item--next { justify-content: flex-start; }
  .hd-pn-item--next .hd-pn-main { order: 1; }
  .hd-pn-item--prev { border-bottom: 1px solid var(--hairline); }
  .hd-pn-sep { display: none; }
  .hd-pn svg { width: 18px; height: 18px; }
  .hd-pn-main { gap: 8px; }
  .hd-pn-label { font-size: 12px; letter-spacing: 0.08em; }
  .hd-pn-title { font-size: 16px; }
  /* 合作内容：手机端上下篇标签收成「上一篇/下一篇」（M-Article） */
  .hd-pn-label-extra { display: none; }
  .hd-article--coop .hd-editor { padding: 6px 0 20px; }

  /* 按月查看：手机端标签独占一行，月份与「全部月份」换行排列（M-List-News） */
  .hd-pager-block { padding: 24px 0 0; gap: 16px; }
  .hd-months { padding-top: 16px; }
  .hd-months-row { gap: 12px 18px; }
  .hd-months-lab { flex: 1 0 100%; }
  .hd-months-ym,
  .hd-months-all { margin-left: 0; }
  .hd-months-cap { font-size: 13px; }

  /* 文旅体：题材改纯文字 + 「·」（M-List-Wlt；与首页「取消题材标签」区分） */
  .hd-tag--inline { display: inline; border: 0; padding: 0; color: var(--muted-2); }
  .hd-dot--tag { display: inline; color: #C9C9C5; }

  /* 页脚：上下堆叠（M-Main：链接行 → ICP 行 → 版权行，主办并入版权行）；深色底通栏 */
  .hd-footer {
    margin: 36px -20px 0;
    padding: 26px 20px 30px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .hd-foot-left { gap: 12px; }
  .hd-foot-links { gap: 22px; font-size: 13px; }
  .hd-foot-icp { display: block; font-size: 11px; letter-spacing: 0.03em; }
  .hd-icp-sep { display: none; }          /* 手机端版权行独立一行 */
  .hd-foot-copy { display: block; font-family: var(--sans); line-height: 1.7; }
  .hd-foot-org-m { display: inline; }
  .hd-foot-right { display: none; }        /* 站名/主办已在上面两行里 */

  /* 兼容层 */
  .page { padding: 0; }
  .hd-main > .block:first-child { margin-top: 20px; }
  article h1 { font-size: 24px; }
  .cat-title h1 { font-size: 22px; }
  .epaper-head h1 { font-size: 22px; }

  /* 下拉加载已废弃 */
  .scrollload-sentinel { display: none !important; }

  /* 分页：两侧上一页/下一页；中间为折叠页码（同 PC Element 口径，窄屏可横滑兜底） */
  .pages:has(.pages-controls) {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    width: 100%;
    padding: 24px 0 0;
    gap: 16px;
  }
  .pages:has(.pages-controls) .pages-note {
    order: 2;
    width: 100%;
    max-width: 100%;
    text-align: center;
    font-size: 12px;
    color: #9A9E9F;
    margin: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  .pages:has(.pages-controls) .pages-controls {
    order: 1;
    justify-content: center;
    gap: 2px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  .pages-btn {
    padding: 10px 10px;
    font-size: 14px;
    color: var(--accent);
    flex-shrink: 0;
    position: relative;
    z-index: 1;
  }
  .pages-btn.is-disabled { color: #C1C5C6; }
  .pages-nums {
    gap: 2px;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    justify-content: center;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    position: relative;
  }
  .pages-nums::-webkit-scrollbar { display: none; }
  .pages-nums a,
  .pages-nums .cur,
  .pages-nums .pages-more {
    padding: 10px 12px;
    font-size: 14px;
    border-bottom: 2px solid transparent;
    flex-shrink: 0;
  }
  .pages-nums a { color: var(--ink); }
  .pages-nums a:hover { color: var(--accent); }
  .pages-nums .cur {
    color: var(--accent);
    border-bottom-color: var(--accent);
    font-weight: 500;
  }
  .pages-nums .pages-more { color: #9A9E9F; }
  .pages > a:not(.pages-btn) { padding: 10px 13px; font-size: 14px; }
  .pages-dots { padding: 10px 6px; font-size: 14px; color: #9A9E9F; flex-shrink: 0; }

  /* 专题列表 / 首页（M-List-Zt · M-Page-Zt） */
  .zt-row { gap: 14px; padding: 16px 0; }
  .zt-row-main { gap: 8px; }
  .zt-row-title { font-size: 18px; }
  .zt-row-title--sans { font-size: 17px; font-weight: 500; }
  .zt-row-desc { font-size: 14px; }
  .zt-row-meta { font-size: 12px; gap: 8px; }
  .zt-row-thumb { width: 96px; height: 64px; }
  .zt-crumb { display: none; } /* 手机端靠导航回栏目 */
  .zt-hero { padding: 18px 0 22px; border-bottom: 0; }
  .zt-hero-banner { height: 190px; margin-bottom: 0; }
  .zt-hero-body { gap: 14px; margin-top: 18px; }
  .zt-hero-title { font-size: 27px; line-height: 1.35; letter-spacing: 0; }
  .zt-hero-desc { font-size: 15.5px; line-height: 1.9; }
  .zt-cols { flex-direction: column; gap: 26px; padding-bottom: 8px; }
  .zt-aside { width: auto; padding-top: 0; gap: 26px; }
  .zt-aside-related { display: none; } /* M-Page-Zt 无相关专题 */
  .zt-sec-head {
    padding: 0 0 10px;
    border-bottom-color: var(--ink);
  }
  .zt-sec-title { font-size: 19px; letter-spacing: 0.1em; }
  .zt-sec-en { font-size: 10px; letter-spacing: 0.22em; }
  .zt-aside-sec h3 {
    font-size: 13.5px;
    letter-spacing: 0.12em;
    padding-bottom: 10px;
  }
  .zt-aside-sec a { font-size: 15.5px; }
  .zt-latest .zt-row { padding: 15px 0; }
}

/* 超窄屏 <360px（iPhone SE 一代 / 老安卓 320px 档）：
   版心边距 20→12、导航间距 26→18，保证五项导航一行放得下，其余不变 */
@media (max-width: 359px) {
  .hd-page { padding: 0 12px; }
  .hd-nav { margin: 0 -12px; }
  .hd-nav ul { gap: 18px; padding: 0 12px; }
  .hd-footer { margin-left: -12px; margin-right: -12px; padding-left: 12px; padding-right: 12px; }
}

/* ============================================================
   自托管网页字体（跨浏览器一致）
   文件在 /css/fonts/；latin 带 unicode-range，中文简体子集作其余字符兜底。
   字重对齐样张：衬线 500/600/700，黑体 400/500/700，等宽 400/500。
   ============================================================ */

/* —— IBM Plex Mono（日期 / 英文小标） —— */
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/css/fonts/IBMPlexMono-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/css/fonts/IBMPlexMono-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}

/* —— Noto Serif SC：拉丁先、中文后 —— */
@font-face {
  font-family: "Noto Serif SC";
  src: url("/css/fonts/NotoSerifSC-latin-500.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Noto Serif SC";
  src: url("/css/fonts/NotoSerifSC-500.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Noto Serif SC";
  src: url("/css/fonts/NotoSerifSC-latin-600.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Noto Serif SC";
  src: url("/css/fonts/NotoSerifSC-600.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Noto Serif SC";
  src: url("/css/fonts/NotoSerifSC-latin-700.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Noto Serif SC";
  src: url("/css/fonts/NotoSerifSC-700.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

/* —— Noto Sans SC：拉丁先、中文后 —— */
@font-face {
  font-family: "Noto Sans SC";
  src: url("/css/fonts/NotoSansSC-latin-400.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Noto Sans SC";
  src: url("/css/fonts/NotoSansSC-400.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Noto Sans SC";
  src: url("/css/fonts/NotoSansSC-latin-500.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Noto Sans SC";
  src: url("/css/fonts/NotoSansSC-500.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Noto Sans SC";
  src: url("/css/fonts/NotoSansSC-latin-700.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Noto Sans SC";
  src: url("/css/fonts/NotoSansSC-700.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}
