/* ==========================================================================
   th.css — 「理论学习专题」子站样式（v2.60.0）
   --------------------------------------------------------------------------
   设计依据：共产党员网专题（12371.cn）、司法部「学习宣传贯彻习近平法治思想」
   专题、中国人大网「学习贯彻党的二十届四中全会精神」专题、人民网理论频道
   的版式与配色惯例，并与本站既有品牌令牌（深蓝 #0A2E5C / 香槟金 #C9A961 /
   中国红 #D81E06）对接。

   主色：国家红（正红 → 深红渐变）+ 香槟金（描边 / 序号 / 分隔）
   底色：暖纸白（#FFFEFB）与米色（#FDF9F2），避免纯白刺眼
   字体：标题用宋体族（党政专题惯例），正文沿用全站无衬线栈
   版式：1180px 居中列 + 页内粘性目录 + 卡片网格 + 时间轴
   ========================================================================== */

:root {
  /* 主色——国家红 */
  --th-red: #C1121F;
  --th-red-deep: #8B0F16;
  --th-red-dark: #5E0A0F;
  --th-red-soft: #FDF0F0;
  /* 辅助色——香槟金（与主站 --gold 同源） */
  --th-gold: #C9A961;
  --th-gold-deep: #A6853D;
  --th-gold-lt: #E7D3A4;
  --th-gold-pale: #FAF3E4;
  /* 底色与文字 */
  --th-paper: #FFFEFB;
  --th-cream: #FDF9F2;
  --th-ink: #241512;
  --th-ink2: #5A4A44;
  --th-ink3: #8C7A72;
  --th-line: #EFE2D6;
  --th-line2: #F5EBE1;
  /* 与主站衔接的深蓝（仅用于跨站入口等少数处） */
  --th-blue: #0A2E5C;
  --th-radius: 12px;
  --th-shadow: 0 1px 2px rgba(94, 10, 15, .05), 0 6px 20px rgba(94, 10, 15, .06);
  --th-shadow-hi: 0 4px 12px rgba(94, 10, 15, .1), 0 16px 40px rgba(94, 10, 15, .1);
  --th-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", SimSun, serif;
  --th-sans: -apple-system, "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0;
  background: var(--th-cream);
  color: var(--th-ink);
  font: 15px/1.85 var(--th-sans);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--th-red-deep); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; }

/* 全站统一的顶部导航沿用 css/site-header.css，此处仅补本站配色微调 */
.hd { border-bottom-color: var(--th-line); }
.hd .logo { filter: saturate(1.1); }

/* ---------- 通用容器 ---------- */
.th-wrap { max-width: 1180px; margin: 0 auto; padding: 0 16px; }
.th-narrow { max-width: 920px; margin: 0 auto; padding: 0 16px; }

/* 顶部阅读进度条（金色，2px） */
#thProgress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0;
  background: linear-gradient(90deg, var(--th-gold-deep), var(--th-gold), var(--th-gold-lt));
  z-index: 90; transition: width .1s linear; pointer-events: none;
}

/* ---------- 面包屑 ---------- */
.th-crumb {
  max-width: 1180px; margin: 0 auto; padding: 14px 16px 0;
  font-size: 12.5px; color: var(--th-ink3);
}
.th-crumb a { color: var(--th-ink2); }
.th-crumb a:hover { color: var(--th-red); }
.th-crumb .sep { margin: 0 7px; color: var(--th-line); }

/* ==========================================================================
   Hero —— 国家红渐变主视觉
   ========================================================================== */
.th-hero {
  position: relative;
  background:
    radial-gradient(1200px 380px at 15% -20%, rgba(201, 169, 97, .26), transparent 60%),
    linear-gradient(135deg, #6E0B12 0%, #8B0F16 28%, #C1121F 72%, #9E1319 100%);
  color: #fff;
  overflow: hidden;
  border-bottom: 3px solid var(--th-gold);
}
/* 金色细斜纹（低透明度，模拟专题页的织纹质感） */
.th-hero::before {
  content: ""; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(45deg,
    rgba(255, 255, 255, .04) 0 1px, transparent 1px 9px);
  pointer-events: none;
}
/* 右侧金色光晕 */
.th-hero::after {
  content: ""; position: absolute; right: -140px; top: -160px;
  width: 460px; height: 460px; border-radius: 50%;
  background: radial-gradient(circle, rgba(231, 211, 164, .26), transparent 68%);
  pointer-events: none;
}
.th-hero-in {
  position: relative; z-index: 1;
  max-width: 1180px; margin: 0 auto; padding: 46px 16px 40px;
}
.th-hero-kicker {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12.5px; letter-spacing: .14em; color: var(--th-gold-lt);
  border: 1px solid rgba(231, 211, 164, .45);
  border-radius: 999px; padding: 4px 14px; margin-bottom: 18px;
}
.th-hero-kicker .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--th-gold); }
.th-hero h1 {
  font-family: var(--th-serif); font-weight: 700;
  font-size: clamp(28px, 3.6vw, 44px); line-height: 1.28;
  margin: 0 0 14px; letter-spacing: .02em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .18);
}
.th-hero h1 em {
  font-style: normal; color: var(--th-gold-lt);
  border-bottom: 2px solid rgba(231, 211, 164, .55); padding-bottom: 2px;
}
.th-hero-lead {
  max-width: 780px; margin: 0 0 24px;
  font-size: 15.5px; line-height: 1.95; color: rgba(255, 255, 255, .92);
}
.th-hero-acts { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.th-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 22px; border-radius: 8px; font-size: 14.5px; font-weight: 600;
  border: 1px solid transparent; cursor: pointer; font-family: inherit;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.th-btn:hover { text-decoration: none; transform: translateY(-1px); }
.th-btn-gold { background: var(--th-gold); color: #3A2A0E; box-shadow: 0 6px 18px rgba(201, 169, 97, .3); }
.th-btn-gold:hover { background: var(--th-gold-lt); }
.th-btn-line { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .5); }
.th-btn-line:hover { background: rgba(255, 255, 255, .18); color: #fff; }
.th-hero-stats {
  display: flex; flex-wrap: wrap; gap: 34px; margin-top: 30px;
  padding-top: 22px; border-top: 1px solid rgba(231, 211, 164, .28);
}
.th-hero-stat b {
  display: block; font-family: Georgia, var(--th-serif);
  font-size: 26px; line-height: 1.1; color: var(--th-gold-lt); font-weight: 700;
}
.th-hero-stat span { display: block; font-size: 12.5px; color: rgba(255, 255, 255, .78); margin-top: 5px; }

/* ==========================================================================
   区块与标题
   ========================================================================== */
.th-sec { padding: 46px 0; }
.th-sec.alt { background: var(--th-paper); border-top: 1px solid var(--th-line2); border-bottom: 1px solid var(--th-line2); }
.th-sec-head { margin-bottom: 24px; }
.th-sec-eyebrow {
  font-size: 12px; letter-spacing: .18em; color: var(--th-gold-deep);
  text-transform: uppercase; margin-bottom: 8px;
}
.th-sec-title {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--th-serif); font-size: 24px; font-weight: 700;
  color: var(--th-ink); margin: 0 0 8px; line-height: 1.4;
}
.th-sec-title::before {
  content: ""; width: 4px; height: 22px; border-radius: 2px;
  background: linear-gradient(180deg, var(--th-red), var(--th-red-deep));
  flex: 0 0 auto;
}
.th-sec-title .th-no {
  font-family: Georgia, serif; font-size: 15px; color: var(--th-gold-deep);
  border: 1px solid var(--th-gold-lt); border-radius: 999px;
  padding: 1px 9px; flex: 0 0 auto;
}
.th-sec-desc { font-size: 14px; color: var(--th-ink2); margin: 0; max-width: 860px; }

/* ==========================================================================
   五大主题卡片（首页）
   ========================================================================== */
.th-themes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 960px) { .th-themes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .th-themes { grid-template-columns: 1fr; } }

.th-theme {
  position: relative; display: flex; flex-direction: column;
  background: var(--th-paper); border: 1px solid var(--th-line);
  border-radius: var(--th-radius); padding: 22px 22px 20px;
  box-shadow: var(--th-shadow); overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.th-theme::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, var(--th-red), var(--th-gold));
  opacity: .85;
}
.th-theme:hover {
  transform: translateY(-4px); box-shadow: var(--th-shadow-hi);
  border-color: var(--th-gold-lt); text-decoration: none;
}
.th-theme-no {
  font-family: Georgia, var(--th-serif); font-size: 13px; font-weight: 700;
  color: var(--th-gold-deep); letter-spacing: .1em; margin-bottom: 10px;
}
.th-theme h3 {
  font-family: var(--th-serif); font-size: 19px; line-height: 1.45;
  margin: 0 0 8px; color: var(--th-ink);
}
.th-theme:hover h3 { color: var(--th-red-deep); }
.th-theme p { font-size: 13.5px; color: var(--th-ink2); margin: 0 0 14px; line-height: 1.8; }
.th-theme-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.th-tag {
  font-size: 11.5px; color: var(--th-red-deep); background: var(--th-red-soft);
  border: 1px solid #F5DCDC; border-radius: 999px; padding: 1px 9px; white-space: nowrap;
}
.th-theme-go {
  margin-top: 14px; font-size: 13px; color: var(--th-red); font-weight: 600;
  display: inline-flex; align-items: center; gap: 5px;
}
.th-theme-go .ar { transition: transform .18s ease; }
.th-theme:hover .th-theme-go .ar { transform: translateX(4px); }

/* 主题卡片·强调首卡（习近平法治思想） */
.th-theme.primary { grid-column: span 2; background: linear-gradient(160deg, #FFFDF8, #FDF3F1); }
@media (max-width: 960px) { .th-theme.primary { grid-column: span 2; } }
@media (max-width: 620px) { .th-theme.primary { grid-column: auto; } }

/* ==========================================================================
   时间轴（法治建设进程 / 思想发展）
   ========================================================================== */
.th-timeline { position: relative; margin: 8px 0 0; padding-left: 26px; }
.th-timeline::before {
  content: ""; position: absolute; left: 7px; top: 6px; bottom: 6px; width: 2px;
  background: linear-gradient(180deg, var(--th-gold), var(--th-line));
}
.th-tl-item { position: relative; padding: 0 0 22px; }
.th-tl-item:last-child { padding-bottom: 0; }
.th-tl-item::before {
  content: ""; position: absolute; left: -24px; top: 8px;
  width: 10px; height: 10px; border-radius: 50%;
  background: #fff; border: 2px solid var(--th-red);
  box-shadow: 0 0 0 3px var(--th-red-soft);
}
.th-tl-year {
  font-family: Georgia, var(--th-serif); font-size: 15px; font-weight: 700;
  color: var(--th-red-deep); margin-bottom: 3px;
}
.th-tl-t { font-size: 14.5px; font-weight: 600; color: var(--th-ink); margin-bottom: 3px; }
.th-tl-d { font-size: 13.5px; color: var(--th-ink2); line-height: 1.8; margin: 0; }

/* ==========================================================================
   「十二个坚持」等编号卡片
   ========================================================================== */
.th-grid { display: grid; gap: 14px; }
.th-grid.c2 { grid-template-columns: repeat(2, 1fr); }
.th-grid.c3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .th-grid.c3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .th-grid.c2, .th-grid.c3 { grid-template-columns: 1fr; } }

.th-num {
  position: relative; background: var(--th-paper); border: 1px solid var(--th-line);
  border-radius: 10px; padding: 16px 18px 15px 56px;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.th-num:hover { border-color: var(--th-gold-lt); box-shadow: var(--th-shadow); }
.th-num .n {
  position: absolute; left: 16px; top: 15px;
  width: 28px; height: 28px; border-radius: 50%;
  display: grid; place-items: center;
  font-family: Georgia, serif; font-size: 13px; font-weight: 700;
  color: var(--th-red-deep); background: var(--th-red-soft);
  border: 1px solid #F0D2D2;
}
.th-num h4 {
  margin: 0 0 5px; font-size: 15px; font-weight: 700; color: var(--th-ink);
  font-family: var(--th-serif); line-height: 1.5;
}
.th-num p { margin: 0; font-size: 13.2px; color: var(--th-ink2); line-height: 1.78; }

/* ==========================================================================
   引文（重要论述）
   ========================================================================== */
.th-quote {
  position: relative; margin: 0 0 14px; padding: 20px 24px 18px 26px;
  background: linear-gradient(180deg, #FFFDF7, var(--th-gold-pale));
  border: 1px solid #F0E4CC; border-left: 4px solid var(--th-gold);
  border-radius: 10px;
}
.th-quote::before {
  content: "“"; position: absolute; left: 10px; top: -6px;
  font-family: Georgia, serif; font-size: 52px; line-height: 1;
  color: rgba(201, 169, 97, .35);
}
.th-quote p {
  margin: 0 0 8px; font-family: var(--th-serif);
  font-size: 16px; line-height: 1.95; color: #4A2A1E;
}
.th-quote cite {
  display: block; font-style: normal; font-size: 12.5px; color: var(--th-gold-deep);
}
.th-quote cite::before { content: "—— "; }

/* ==========================================================================
   要点列表 / 定义表
   ========================================================================== */
.th-list { margin: 0; padding: 0; list-style: none; }
.th-list li {
  position: relative; padding: 9px 0 9px 22px;
  border-bottom: 1px dashed var(--th-line); font-size: 14px; color: var(--th-ink2); line-height: 1.82;
}
.th-list li:last-child { border-bottom: 0; }
.th-list li::before {
  content: ""; position: absolute; left: 4px; top: 18px;
  width: 6px; height: 6px; border-radius: 1px;
  background: var(--th-gold); transform: rotate(45deg);
}
.th-list li b { color: var(--th-ink); font-weight: 600; }
/* 法规目录：条目右侧的发布/修订时间 */
.th-list li .th-y {
  float: right; margin-left: 10px; font-size: 11.8px; letter-spacing: .3px;
  color: #9C9389; font-variant-numeric: tabular-nums; white-space: nowrap;
}
/* 法规目录：折叠体内的分组小标题 */
.th-list li.th-grp {
  padding: 15px 0 5px 0; border-bottom: 0; font-size: 12.4px; font-weight: 600;
  color: var(--th-red-deep); letter-spacing: 1.2px; background: none;
}
.th-list li.th-grp::before { display: none; }
/* 法规目录：条目标注「全文」的胶囊链接（指向党内法规原文库） */
.th-list li .th-full {
  display: inline-block; margin-left: 7px; padding: 1px 7px 2px; border-radius: 4px;
  font-size: 11.4px; line-height: 1.5; white-space: nowrap; text-decoration: none;
  color: var(--th-red-deep); background: rgba(201, 169, 97, .15);
  border: 1px solid rgba(201, 169, 97, .45);
}
.th-list li .th-full:hover {
  color: #7A0A12; background: rgba(201, 169, 97, .32); border-color: rgba(201, 169, 97, .8);
}
@media (max-width: 640px) {
  .th-list li .th-y { float: none; display: inline-block; margin-left: 6px; }
}

.th-kv { width: 100%; border-collapse: collapse; font-size: 13.8px; }
.th-kv th, .th-kv td {
  padding: 11px 14px; border-bottom: 1px solid var(--th-line2);
  text-align: left; vertical-align: top; line-height: 1.8;
}
.th-kv th {
  width: 168px; color: var(--th-red-deep); font-weight: 600;
  background: #FFFCF7; white-space: nowrap;
}
.th-kv tr:last-child th, .th-kv tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) {
  .th-kv th { width: auto; display: block; border-bottom: 0; padding-bottom: 2px; }
  .th-kv td { display: block; padding-top: 2px; }
}

/* ==========================================================================
   主题页布局：粘性目录 + 正文
   ========================================================================== */
.th-layout {
  display: grid; grid-template-columns: 216px minmax(0, 1fr); gap: 34px;
  max-width: 1180px; margin: 0 auto; padding: 26px 16px 56px;
  align-items: start;
}
@media (max-width: 980px) { .th-layout { grid-template-columns: 1fr; gap: 20px; } }

.th-toc {
  position: sticky; top: 78px;
  background: var(--th-paper); border: 1px solid var(--th-line);
  border-radius: var(--th-radius); padding: 16px 14px;
  box-shadow: var(--th-shadow);
}
@media (max-width: 980px) { .th-toc { position: static; order: -1; } }
.th-toc-t {
  font-size: 12px; letter-spacing: .16em; color: var(--th-gold-deep);
  margin: 0 0 10px; padding-left: 2px;
}
.th-toc a {
  display: block; font-size: 13.2px; color: var(--th-ink2);
  padding: 6px 10px; border-radius: 7px; border-left: 2px solid transparent;
  line-height: 1.55;
}
.th-toc a:hover { background: var(--th-cream); color: var(--th-red); text-decoration: none; }
.th-toc a.on {
  background: var(--th-red-soft); color: var(--th-red-deep);
  border-left-color: var(--th-red); font-weight: 600;
}
.th-toc-prog {
  margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--th-line2);
  font-size: 11.5px; color: var(--th-ink3);
}

.th-main { min-width: 0; }
.th-block {
  background: var(--th-paper); border: 1px solid var(--th-line);
  border-radius: var(--th-radius); padding: 26px 28px; margin-bottom: 20px;
  box-shadow: var(--th-shadow);
}
@media (max-width: 640px) { .th-block { padding: 20px 16px; } }
.th-block > h2 {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-family: var(--th-serif); font-size: 21px; font-weight: 700;
  color: var(--th-ink); margin: 0 0 6px; line-height: 1.45;
}
.th-block > h2::before {
  content: ""; width: 4px; height: 19px; border-radius: 2px;
  background: linear-gradient(180deg, var(--th-red), var(--th-gold));
  flex: 0 0 auto;
}
.th-block > .lead { font-size: 13.8px; color: var(--th-ink2); margin: 0 0 18px; }
.th-block h3 {
  font-family: var(--th-serif); font-size: 16.5px; color: var(--th-red-deep);
  margin: 22px 0 8px; line-height: 1.55;
}
.th-block h3:first-of-type { margin-top: 4px; }
.th-block p { margin: 0 0 12px; font-size: 14.4px; line-height: 1.92; color: #33241F; }
.th-block p b, .th-block li b { color: var(--th-red-deep); font-weight: 600; }

/* 脚注 / 出处 */
.th-src {
  margin-top: 16px; padding-top: 12px; border-top: 1px dashed var(--th-line);
  font-size: 12px; color: var(--th-ink3); line-height: 1.8;
}
.th-src a { color: var(--th-ink2); border-bottom: 1px dotted var(--th-line); }
.th-src a:hover { color: var(--th-red); }

/* 提示条 */
.th-note {
  display: flex; gap: 10px; align-items: flex-start;
  background: #FFF9EC; border: 1px solid #F0E2C6; border-radius: 9px;
  padding: 12px 15px; font-size: 13px; color: #6B4E1E; line-height: 1.8;
  margin: 0 0 16px;
}
.th-note .ic { flex: 0 0 auto; }

/* 权威文献 / 资料卡 */
.th-docs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (max-width: 760px) { .th-docs { grid-template-columns: 1fr; } }
.th-doc {
  display: flex; gap: 12px; align-items: flex-start;
  background: var(--th-cream); border: 1px solid var(--th-line);
  border-radius: 10px; padding: 13px 15px; transition: border-color .16s ease, background .16s ease;
}
.th-doc:hover { border-color: var(--th-gold-lt); background: #FFFDF8; text-decoration: none; }
.th-doc .di {
  flex: 0 0 auto; width: 30px; height: 30px; border-radius: 8px;
  display: grid; place-items: center; font-size: 15px;
  background: #fff; border: 1px solid var(--th-line);
}
.th-doc b { display: block; font-size: 13.8px; color: var(--th-ink); margin-bottom: 2px; line-height: 1.55; }
.th-doc small { display: block; font-size: 12px; color: var(--th-ink3); line-height: 1.65; }

/* 延伸阅读（外链，官方来源） */
.th-links { display: flex; flex-wrap: wrap; gap: 8px; }
.th-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.8px; color: var(--th-ink2); background: #fff;
  border: 1px solid var(--th-line); border-radius: 999px; padding: 5px 13px;
}
.th-link:hover { border-color: var(--th-gold); color: var(--th-red); text-decoration: none; }
.th-link .ty { font-size: 10.5px; color: var(--th-gold-deep); }

/* 条号锚点（悬停即读法条原文，取自本站法规库） */
.th-law {
  color: var(--th-red-deep); text-decoration: none;
  border-bottom: 1px dashed rgba(139, 15, 22, .38);
  cursor: help;
}
.th-law:hover, .th-law:focus-visible {
  color: var(--th-red); border-bottom-color: var(--th-red);
  background: var(--th-gold-pale); outline: none;
}

/* 折叠块 */
.th-fold { border: 1px solid var(--th-line); border-radius: 10px; margin: 0 0 12px; background: #fff; overflow: hidden; }
.th-fold > summary {
  cursor: pointer; padding: 13px 16px; font-size: 14px; font-weight: 600;
  color: var(--th-ink); list-style: none; display: flex; align-items: center; gap: 8px;
}
.th-fold > summary::-webkit-details-marker { display: none; }
.th-fold > summary::before {
  content: "▸"; color: var(--th-gold-deep); font-size: 12px;
  transition: transform .16s ease; display: inline-block;
}
.th-fold[open] > summary::before { transform: rotate(90deg); }
.th-fold > summary:hover { background: var(--th-cream); color: var(--th-red-deep); }
.th-fold .th-fold-body { padding: 2px 16px 14px; border-top: 1px solid var(--th-line2); }

/* 数据条 */
.th-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 860px) { .th-metrics { grid-template-columns: repeat(2, 1fr); } }
.th-metric {
  background: var(--th-paper); border: 1px solid var(--th-line); border-radius: 10px;
  padding: 16px 14px; text-align: center;
}
.th-metric b {
  display: block; font-family: Georgia, var(--th-serif); font-size: 24px;
  color: var(--th-red); line-height: 1.15; font-weight: 700;
}
.th-metric span { display: block; font-size: 12px; color: var(--th-ink2); margin-top: 5px; }

/* 上一主题 / 下一主题 */
.th-nav2 { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.th-nav2 a {
  flex: 1 1 240px; background: var(--th-paper); border: 1px solid var(--th-line);
  border-radius: 10px; padding: 14px 16px; transition: border-color .16s ease, transform .16s ease;
}
.th-nav2 a:hover { border-color: var(--th-gold-lt); transform: translateY(-2px); text-decoration: none; }
.th-nav2 small { display: block; font-size: 11.5px; color: var(--th-ink3); margin-bottom: 3px; }
.th-nav2 b { font-size: 14px; color: var(--th-ink); font-family: var(--th-serif); }
.th-nav2 .next { text-align: right; }

/* 返回顶部 */
#thTop {
  position: fixed; right: 20px; bottom: 26px; z-index: 60;
  width: 40px; height: 40px; border-radius: 50%; cursor: pointer;
  background: var(--th-red); color: #fff; border: 1px solid var(--th-gold);
  box-shadow: 0 6px 18px rgba(139, 15, 22, .28);
  font-size: 16px; display: none; place-items: center;
}
#thTop.show { display: grid; }
#thTop:hover { background: var(--th-red-deep); }

/* 页脚说明 */
.th-foot {
  border-top: 1px solid var(--th-line); background: var(--th-paper);
  padding: 26px 16px 40px; margin-top: 8px;
}
.th-foot-in { max-width: 1180px; margin: 0 auto; font-size: 12.5px; color: var(--th-ink3); line-height: 1.9; }
.th-foot-in b { color: var(--th-ink2); }
.th-foot-in a { color: var(--th-ink2); }
.th-foot-row { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; }
.th-foot-row a { border-bottom: 1px dotted var(--th-line); }

/* 打印 */
@media print {
  .th-toc, #thTop, #thProgress, .th-hero-acts, .th-nav2, .hd .sites-dd { display: none !important; }
  body { background: #fff; }
  .th-block, .th-theme, .th-quote { box-shadow: none; break-inside: avoid; }
  .th-hero { background: #fff !important; color: #000; border-bottom: 1px solid #000; }
  .th-hero h1, .th-hero-lead, .th-hero-kicker { color: #000 !important; }
}

/* 尊重「减少动态效果」偏好 */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
