/* ============================================================
 * magazine.css — 《丘刊》冷冽秋刊皮肤 v4
 *
 * v4 修正（2026-09-10 用户：「左边颜色对齐右边这版」）：
 *  书台环境从「夜桌深墨」转为与封面同族的暖纸色（米纸微沉一档），
 *  整个视口统一为一张纸的语言；刊头/控制条文字由奶油反白改墨色。
 * v3 修正（2026-09-08）：封面/封底纸底版画化，与正文同纸同墨。
 * v2 诊断修正：封面加图形焦点，正文补视觉块。
 * 莫兰迪 v2 · 低饱和 · 无渐变 · 无伪立体。字号由 magazine.js 依书宽注入。
 * ============================================================ */

:root {
  --desk:       #eee4cd;   /* 书台（暖纸，比书页沉一档） */
  --desk-deep:  #e4d7ba;   /* 更深环境/书影 */
  --page:       #f6efe2;   /* 书页纸（封面/封底/正文同纸） */
  --page-deep:  #ede3cd;   /* 页内浅块 */
  --sand:       #ddd0b6;   /* 封面地台（略深于纸的暖沙） */
  --ink:        #2e2b25;
  --ink-soft:   #6d6250;
  --ink-faint:  #9c8c70;
  --line:       #cdbd9f;   /* 暖沙线 */
  --gold:       #b58a35;   /* 秋金 */
  --gold-deep:  #8f6b26;
  --leaf:       #a85f38;   /* 落叶赭 */
  --moss:       #6f7a55;   /* 苔绿 */
  --blue:       #7d8b95;   /* 暮霭蓝（01 辑） */
  --graphite:   #4e5457;   /* 石墨（02 辑） */
  --blush:      #b07a6e;   /* 陶玫瑰（04 辑 · 储蓄罐） */
  --clay:       #a5814d;   /* 焦糖陶土（05 辑 · 罗盘） */
  --ink-on-desk:      #2e2b25;   /* 书台上的字（墨） */
  --desk-ink-dim:     rgba(46,43,37,0.6);
  --desk-ink-faint:   rgba(46,43,37,0.38);
  --serif-cn: 'Noto Serif SC', serif;
  --serif-en: 'Cormorant Garamond', serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html, body { height: 100%; }

body {
  background: var(--desk);
  color: var(--ink-on-desk);
  font-family: var(--serif-cn);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

/* ---------- 刊头（纸台墨字） ---------- */
.masthead {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 16px clamp(16px, 4vw, 48px) 12px;
  border-bottom: 1px solid rgba(46,43,37,0.16);
}
.mh-brand {
  font-size: 19px; font-weight: 600; letter-spacing: 0.3em;
  color: var(--ink-on-desk);
}
.mh-brand::after {
  content: ''; display: inline-block; width: 5px; height: 5px;
  border-radius: 50%; background: var(--gold);
  margin-left: 0.7em; vertical-align: 0.14em;
}
.mh-en {
  font-family: var(--serif-en); font-style: italic;
  font-size: 14px; letter-spacing: 0.14em;
  color: var(--desk-ink-dim); margin-left: 10px;
}
.mh-right {
  font-size: 12px; letter-spacing: 0.14em; color: var(--desk-ink-dim);
}
.mh-right b { color: var(--gold); font-weight: 500; }

/* ---------- 书台 ---------- */
.book-stage {
  flex: 1;
  display: flex; align-items: center; justify-content: center;
  /* v22 限宽：page-flip 拉伸模式不理会自身 maxWidth，改为约束书台。
   * 三个上限取最小：视口宽 96vw / 绝对上限 1120 / 视口高折算（矮窗口书自动变窄）。
   * 必须显式给 width——auto + margin:auto 会取消 flex 拉伸，书台会塌缩 */
  width: min(96vw, 1120px, calc((100vh - 180px) * 1.6));
  margin: 0 auto;
  padding: clamp(10px, 2.5vh, 26px) clamp(10px, 3vw, 40px);
  min-height: 0;
}
.book { width: min(94vw, 1060px); }
/* 纸台上让书浮起：柔和书影（不随翻页闪烁，用 drop-shadow 包住整体） */
.book .stf__parent { filter: drop-shadow(0 1.4em 2.6em rgba(74,60,36,0.22)); }

/* ---------- 页面基底（纸） ---------- */
.qk-page {
  background: var(--page);
  color: var(--ink);
  font-size: 1em;               /* 由 JS 注入真实字号 */
  padding: 2.2em 2.1em 2.4em;
  overflow: hidden;
  position: relative;
  display: flex; flex-direction: column;   /* 初始化前生效；显示后的 flex 化由 JS 观察器接管（见 magazine.js） */
  box-shadow: inset 0 0 0 1px rgba(46,43,37,0.04),
              inset 0 1px 0 rgba(255,255,255,0.5);
}
.qk-page ::selection { background: #e3d3ae; color: var(--ink); }

/* 页眉页脚（有骨：页脚上线） */
.pg-head, .pg-foot {
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: 0.62em; letter-spacing: 0.2em; color: var(--ink-faint);
}
.pg-head { margin-bottom: auto; padding-bottom: 1.5em; }
.pg-head .pgh-tag {
  color: var(--gold); font-weight: 500;
}
.pg-foot {
  margin-top: auto; padding-top: 1.1em;
  border-top: 1px solid var(--line);
}
.pg-foot .pgf-note { letter-spacing: 0.16em; }

/* v18 满版机制：内容页剩余高度均匀摊进段落间隙（刊物排版的「疏可走马」），
 * 不再全堆在页尾；带 margin-top:auto 沉底件的页（手记 colophon 等）自动保持原设计 */
.qk-page.article, .qk-page.frontmatter { justify-content: space-between; }
.qk-page.article .pg-head, .qk-page.frontmatter .pg-head { margin-bottom: 0; }
.qk-page.article .pg-foot, .qk-page.frontmatter .pg-foot { margin-top: 0; }

.page-h {
  font-size: 1.22em; font-weight: 600; letter-spacing: 0.2em;
  padding-bottom: 0.5em; border-bottom: 2px solid var(--ink);
  margin-bottom: 1.1em;
  display: flex; align-items: baseline; justify-content: space-between;
}
.page-h-en {
  font-family: var(--serif-en); font-style: italic; font-weight: 400;
  font-size: 0.72em; letter-spacing: 0.06em; color: var(--ink-faint);
  border: none; padding: 0; margin: 0;
}

/* ---------- 内容页「回目录」 ----------
 * v14 位置修正：不再贴外角（那是翻页热区，难点且易误触），
 * 改为与页眉同一行、向书脊方向内收——读起来是页眉家具的一部分。
 * 定位 em 基准 = 页面字号（按钮自身 font-size 保持 1em），
 * 文字缩小交给内层 span；由此 top/right 与页面 padding 同基准，不会被缩放带偏。
 * 造型克制：叶饰 + 小字，默认静默，hover/focus 才亮 */
.pg-back {
  position: absolute; top: 2.02em; right: 6.4em;
  display: inline-flex; align-items: center; gap: 0.42em;
  padding: 0.55em 0.8em; margin: -0.55em -0.8em;
  background: none; border: none; cursor: pointer;
  font: inherit; color: var(--ink-faint); letter-spacing: 0;
  transition: color 0.22s, background 0.22s;
}
.pg-back .pgr-mark { font-size: 0.72em; color: var(--gold); line-height: 1; }
.pg-back .pgr-txt { font-size: 0.62em; letter-spacing: 0.22em; padding-top: 0.06em; }
.pg-back:hover, .pg-back:focus-visible {
  color: var(--gold-deep); background: var(--page-deep); outline: none;
}
.pg-back:hover .pgr-mark, .pg-back:focus-visible .pgr-mark { color: var(--gold-deep); }

/* ============================================================
 * 封面 — 纸底版画（与正文同纸同墨）
 * ============================================================ */
.cover {
  background: var(--page);
  color: var(--ink);
  padding: 0;
}
.cover-frame {
  flex: 1; margin: 1em;
  border: 1px solid rgba(46,43,37,0.4);
  outline: 1px solid rgba(181,138,53,0.5); outline-offset: 4px;
  display: flex; flex-direction: column;
  padding: 1.6em 2em 1.4em;
  position: relative;
}
.cover-top {
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: 0.6em; letter-spacing: 0.34em; color: var(--ink-faint);
}
.cover-top .ct-vol { color: var(--gold-deep); letter-spacing: 0.2em; }

.cover-title-row {
  display: flex; align-items: flex-end; gap: 0.8em;
  margin-top: 1.3em;
}
.cover-title {
  font-size: 5.2em; font-weight: 600; letter-spacing: 0.08em;
  line-height: 0.92; color: var(--ink);
}
.cover-en {
  font-family: var(--serif-en); font-style: italic;
  font-size: 1em; letter-spacing: 0.16em; color: var(--ink-soft);
  padding-bottom: 0.5em; line-height: 1.25;
}

/* 纸底插画：秋日 + 屋舍墨色剪影带站沙色地台 + 落叶 */
.cover-art {
  width: 100%; height: auto; display: block;
  margin: auto 0 0.2em;
  flex: 1; min-height: 0;
}
.cover-art svg { width: 100%; height: 100%; display: block; }

.cover-bottom {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-top: 1em;
}
.cover-slogan {
  font-size: 0.98em; letter-spacing: 0.24em; color: var(--gold-deep);
  font-weight: 500;
}
.cover-issue {
  font-size: 0.64em; letter-spacing: 0.2em; color: var(--ink-faint);
  text-align: right; line-height: 2;
}
.cover-issue b { color: var(--ink); font-weight: 500; }

/* ============================================================
 * 目录 + 编辑手记（各占一整页）
 * ============================================================ */
.frontmatter { padding-top: 1.2em; display: flex; flex-direction: column; }

.toc-list { list-style: none; margin-top: 0; }
.toc-list li { border-bottom: 1px solid var(--line); }
/* 整条可点：点哪儿都跳页（真刊目）。grid 定列宽，数字列与中文栏目列同宽对齐 */
.toc-item {
  display: grid; grid-template-columns: 5.3em 1fr auto;
  align-items: baseline; gap: 0.9em;
  /* v34: 0.78→0.45em —— 目录加至 7 条（01-05 + 卷首封底），再收行距 */
  padding: 0.45em 0.55em; margin: 0 -0.55em;
  color: inherit; text-decoration: none; cursor: pointer;
  transition: background 0.22s;
}
.toc-item:hover, .toc-item:focus-visible {
  background: var(--page-deep); outline: none;
}
.toc-item:hover .toc-no, .toc-item:focus-visible .toc-no,
.toc-item:hover .toc-pg, .toc-item:focus-visible .toc-pg { color: var(--gold-deep); }
.toc-item:hover .toc-body em, .toc-item:focus-visible .toc-body em {
  text-decoration: underline; text-decoration-color: var(--gold);
  text-decoration-thickness: 1px; text-underline-offset: 0.3em;
}
.toc-no {
  font-family: var(--serif-en); font-weight: 500;
  font-size: 2.15em; color: var(--gold);
  line-height: 1;
  transition: color 0.2s;
}
/* 非文章条目（卷首 / 封底）：小一号的中文栏目名，占同一个编号位 */
.toc-no-word {
  font-family: var(--serif-cn); font-weight: 600;
  font-size: 1.5em; letter-spacing: 0.06em;
  padding-bottom: 0.12em;
}
.toc-body { flex: 1; display: flex; flex-direction: column; gap: 0.12em; }
.toc-body em { font-style: normal; font-size: 1.05em; font-weight: 600; letter-spacing: 0.05em; }
.toc-body i { font-style: normal; font-size: 0.62em; color: var(--ink-soft); letter-spacing: 0.04em; line-height: 1.5; }
.toc-pg {
  font-family: var(--serif-en); font-size: 1.05em; color: var(--ink-faint);
  transition: color 0.2s;
}

/* 目录页下部：本刊约定 × 下期预告（v34: 目录 7 条后整体收档） */
.toc-foot-grid {
  margin-top: auto;
  display: grid; grid-template-columns: 1.15fr 1fr;
  gap: 1.6em; align-items: end;
  border-top: 2px solid var(--ink);
  padding-top: 0.7em;
}
.toc-terms b {
  display: block; font-size: 0.64em; letter-spacing: 0.26em;
  color: var(--gold-deep); font-weight: 600; margin-bottom: 0.45em;
}
.toc-terms div {
  font-size: 0.7em; line-height: 1.75; color: var(--ink-soft);
  letter-spacing: 0.06em;
}
.toc-terms div::before { content: '· '; color: var(--gold); }

.toc-next {
  padding: 0.7em 1em;
  background: var(--page-deep);
  border-left: 2px solid var(--gold);
}
.toc-next h3 {
  font-size: 0.64em; letter-spacing: 0.24em; color: var(--gold-deep);
  font-weight: 600; margin-bottom: 0.5em;
}
.toc-next p { font-size: 0.66em; line-height: 1.7; color: var(--ink-soft); letter-spacing: 0.03em; }

/* 目录页中段叶饰 */
.toc-mid {
  margin: auto 0; display: flex; align-items: center; gap: 1.1em;
  color: var(--gold);
}
.toc-mid::before, .toc-mid::after {
  content: ''; flex: 1; height: 1px; background: var(--line);
}
.toc-mid span { font-family: var(--serif-en); font-style: italic; font-size: 1em; letter-spacing: 0.2em; }

/* 刊物版权条 */
.colophon {
  margin-top: auto; border-top: 1px solid var(--line);
  padding-top: 0.8em; margin-bottom: 0.9em;
  font-size: 0.6em; letter-spacing: 0.28em; color: var(--ink-faint);
}

/* 编辑手记（整页） */
.editorial { flex: 1; display: flex; flex-direction: column; padding-top: 0.9em; }
.editorial p {
  font-size: 0.9em; line-height: 2.6; text-align: justify;
  margin-bottom: 1.7em; letter-spacing: 0.02em;
}
.editorial strong { font-weight: 600; }

.editor-badge {
  margin-top: auto; padding-top: 1em;
  border-top: 1px solid var(--line);
  display: flex; align-items: center; gap: 0.7em;
}
.editor-badge svg { width: 2.7em; height: 2.7em; flex: none; }
.editor-badge .eb-name { font-size: 0.68em; color: var(--ink-soft); letter-spacing: 0.14em; line-height: 1.9; }

/* ============================================================
 * 文章页
 * ============================================================ */
.article::before {          /* 辑色书脊线 */
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 4px;
}
.a-blue::before { background: var(--blue); }
.a-graphite::before { background: var(--graphite); }
.a-moss::before { background: var(--moss); }
.a-blush::before { background: var(--blush); }
.a-clay::before { background: var(--clay); }

/* 辑标章首（页眉）小徽章 */
.pg-seal {
  display: inline-block; width: 0.7em; height: 0.7em;
  border-radius: 50%; vertical-align: 0.06em; margin-right: 0.5em;
}
.a-blue .pg-seal { background: var(--blue); }
.a-graphite .pg-seal { background: var(--graphite); }
.a-moss .pg-seal { background: var(--moss); }
.a-blush .pg-seal { background: var(--blush); }
.a-clay .pg-seal { background: var(--clay); }

/* 档案页 */
.art-file { flex: 1; display: flex; flex-direction: column; justify-content: space-between; padding-top: 0.3em; }
.art-head { display: flex; align-items: flex-start; gap: 1.2em; }
.art-no {
  font-family: var(--serif-en); font-weight: 600;
  font-size: 4.6em; line-height: 0.9; letter-spacing: 0.02em;
  color: var(--page);
  -webkit-text-stroke: 1.5px var(--ink-faint);
  flex: none;
}
.a-blue .art-no { -webkit-text-stroke-color: var(--blue); }
.a-graphite .art-no { -webkit-text-stroke-color: var(--graphite); }
.a-moss .art-no { -webkit-text-stroke-color: var(--moss); }
.a-blush .art-no { -webkit-text-stroke-color: var(--blush); }
.a-clay .art-no { -webkit-text-stroke-color: var(--clay); }
.art-titles { flex: 1; padding-top: 0.5em; }
.art-title {
  font-size: 1.5em; font-weight: 600; letter-spacing: 0.1em;
  line-height: 1.5;
}
.art-sub {
  font-size: 0.7em; color: var(--ink-soft); letter-spacing: 0.1em;
  margin-top: 0.5em; line-height: 1.8;
}
.art-meta {
  margin-top: 2.2em; border-top: 2px solid var(--ink);
  /* v22 双栏档案条：七条信息不减，四行放下——档案页不再是全书最高的页 */
  display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.6em;
}
.art-meta > div {
  display: flex; gap: 1em; padding: 0.62em 0;
  border-bottom: 1px solid var(--line);
}
.art-meta > div:last-child { grid-column: 1 / -1; }
.art-meta dt {
  font-size: 0.64em; letter-spacing: 0.24em; color: var(--ink-faint);
  min-width: 4.6em; padding-top: 0.2em;
}
.art-meta dd { font-size: 0.84em; letter-spacing: 0.04em; line-height: 1.8; }
.art-meta dd b { font-weight: 600; }
.a-blue .art-meta dd b { color: #5a6d78; }
.a-graphite .art-meta dd b { color: #3c4346; }
.a-moss .art-meta dd b { color: #4f5b3c; }
.a-blush .art-meta dd b { color: #8a5a4e; }
.a-clay .art-meta dd b { color: #7d6132; }
.art-abstract {
  margin-top: 0; padding-top: 0.85em;
  font-size: 0.88em; line-height: 1.85; color: var(--ink);
  border-left: 3px solid var(--gold); padding-left: 1.1em;
  letter-spacing: 0.02em; text-align: justify;
}

/* 数据页 · 条形图 */
.chart { margin: 1.1em 0 1.5em; display: flex; flex-direction: column; gap: 1.2em; }
.bar-row { display: grid; grid-template-columns: 5.6em 1fr 2.4em; align-items: center; gap: 0.9em; }
.bar-label { font-size: 0.74em; letter-spacing: 0.06em; font-weight: 500; }
.bar-track {
  height: 1.5em; background: var(--page-deep);
  border: 1px solid var(--line); position: relative; overflow: hidden;
}
.bar-fill { display: block; height: 100%; }
.a-blue .bar-fill { background: var(--blue); }
.a-graphite .bar-fill { background: var(--graphite); }
.a-moss .bar-fill { background: var(--moss); }
.a-blush .bar-fill { background: var(--blush); }
.a-clay .bar-fill { background: var(--clay); }
.bar-fill::after {           /* 受光亮条：扁平里的「纸面」质感 */
  content: ''; position: absolute; inset: 0 0 55% 0;
  background: rgba(255,255,255,0.22);
}
.bar-track .bar-tick {       /* 满分为 5 的刻度 */
  position: absolute; top: 0; bottom: 0; width: 1px;
  background: rgba(46,43,37,0.14);
}
.bar-val { font-family: var(--serif-en); font-size: 1.05em; font-weight: 600; text-align: right; }
.chart-scale {
  display: flex; justify-content: space-between;
  font-family: var(--serif-en); font-size: 0.56em;
  color: var(--ink-faint); letter-spacing: 0.1em;
  margin: -0.6em 0 0 9.3em;
}
.chart-note {
  font-size: 0.72em; line-height: 2; color: var(--ink-soft);
  text-align: justify; letter-spacing: 0.02em;
  border-top: 1px solid var(--line); padding-top: 0.9em;
}
.chart-note strong { color: var(--ink); font-weight: 600; }

/* 核查矩阵：70 格 = 10×7，一格一条核实（左矩阵 + 右注释） */
.verify-wrap {
  margin-top: 0.4em; display: flex; gap: 1.5em; align-items: flex-end;
}
.verify-left { max-width: 15.5em; flex: 1; }
.verify-cap {
  font-size: 0.62em; letter-spacing: 0.15em; color: var(--ink-faint);
  margin-bottom: 0.7em; white-space: nowrap;
}
.verify-cap b { color: var(--gold-deep); font-weight: 600; }
.verify-side {
  flex: 1; font-size: 0.68em; line-height: 2.05;
  color: var(--ink-soft); letter-spacing: 0.04em;
  padding-bottom: 0.3em; text-align: justify;
  border-left: 1px solid var(--line); padding-left: 1.3em;
}
.verify-side strong { color: var(--ink); font-weight: 600; }
.verify-grid {
  display: grid; grid-template-columns: repeat(10, 1fr);
  gap: 2.5px;
}
.vg-cell { aspect-ratio: 1; border-radius: 1px; }
.vg-cell.odd  { background: var(--blue); opacity: 0.85; }
.vg-cell.even { background: var(--blue); opacity: 0.45; }
.a-graphite .vg-cell.odd  { background: var(--graphite); opacity: 0.9; }
.a-graphite .vg-cell.even { background: var(--graphite); opacity: 0.45; }
.vg-cell.hit { background: var(--leaf); opacity: 1; }   /* 拦截：落叶赭 */
.vg-legend {
  margin-top: 0.6em; display: flex; align-items: center; gap: 0.5em;
  font-size: 0.58em; letter-spacing: 0.16em; color: var(--ink-faint);
}
.lg-dot { display: inline-block; width: 0.9em; height: 0.9em; border-radius: 1px; }
.lg-pass { background: var(--blue); opacity: 0.7; margin-right: 0.2em; }
.lg-hit { background: var(--leaf); margin-right: 0.2em; margin-left: 1em; }

/* 数据页 · 大数字 */
.bigstat { text-align: left; margin: 0.3em 0 1.4em; }
.bigstat b {
  font-family: var(--serif-en); font-weight: 600;
  font-size: 5em; line-height: 0.95; letter-spacing: 0.01em;
  color: var(--graphite);
}
.a-blue .bigstat b { color: #5a6d78; }
.a-graphite .bigstat b { color: #3c4346; }
.a-moss .bigstat b { color: #4f5b3c; }
.a-blush .bigstat b { color: #8a5a4e; }
.a-clay .bigstat b { color: #7d6132; }
.bigstat b span { font-size: 0.5em; }
.bigstat i {
  display: block; font-style: normal; margin-top: 0.7em;
  font-size: 0.7em; letter-spacing: 0.12em; color: var(--ink-soft);
  line-height: 1.9;
}

/* 数据小卡（02 篇副数据） */
.stat-cards {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0.8em; margin: 0 0 1.2em;
}
.stat-card {
  border: 1px solid var(--line); padding: 1em 0.8em 0.9em;
  background: var(--page-deep);
}
.stat-card b {
  display: block; font-family: var(--serif-en); font-weight: 600;
  font-size: 1.7em; line-height: 1.1; color: var(--ink);
}
.stat-card i {
  display: block; font-style: normal; margin-top: 0.5em;
  font-size: 0.58em; line-height: 1.8; color: var(--ink-soft);
  letter-spacing: 0.08em;
}

/* 过程页 · 三步骤条 */
.steps {
  flex: 1; display: flex; flex-direction: column;
  justify-content: space-evenly; gap: 0.4em;
  margin-top: 0.4em;
}
.step {
  display: flex; gap: 1.1em; align-items: flex-start;
  border-top: 1px solid var(--line);
  padding: 1.05em 0.2em 1.1em 0.2em;
}
.step-no {
  font-family: var(--serif-en); font-weight: 600;
  font-size: 2em; line-height: 1;
  min-width: 1.5em; padding-top: 0.1em;
}
.a-blue .step-no { color: #5a6d78; }
.a-graphite .step-no { color: #3c4346; }
.a-moss .step-no { color: #4f5b3c; }
.a-blush .step-no { color: #8a5a4e; }
.a-clay .step-no { color: #7d6132; }
.step h4 {
  font-size: 0.8em; font-weight: 600; letter-spacing: 0.18em;
  margin-bottom: 0.45em;
}
.step h4::after {
  content: ''; display: inline-block; width: 0.42em; height: 0.42em;
  border-radius: 50%; background: var(--gold); margin-left: 0.7em;
  vertical-align: 0.1em;
}
.step p {
  font-size: 0.72em; line-height: 2.0; color: var(--ink-soft);
  letter-spacing: 0.02em; text-align: justify;
}
.step p strong { color: var(--ink); font-weight: 600; }

/* 过程页 */
.prose { flex: 1; padding-top: 0.3em; display: flex; flex-direction: column; justify-content: space-evenly; }
.prose p {
  font-size: 0.8em; line-height: 2.05; text-align: justify;
  margin-bottom: 1em; letter-spacing: 0.02em;
}
.prose strong { font-weight: 600; }
.prose .lead { font-weight: 500; }
.prose .lead::first-letter {
  font-family: var(--serif-en); font-size: 2.1em; font-weight: 600;
  float: left; line-height: 1; margin: 0.08em 0.12em 0 0;
  color: var(--gold);
}

/* 引句块 */
.pullquote {
  border-left: 3px solid var(--gold);
  background: var(--page-deep);
  padding: 1em 1.1em; margin: 0.4em 0 1.1em;
  font-size: 0.8em; line-height: 1.95; letter-spacing: 0.03em;
}
.pullquote b { font-weight: 600; }
.pullquote .pq-src {
  display: block; text-align: right; margin-top: 0.5em;
  font-size: 0.72em; color: var(--ink-faint); letter-spacing: 0.2em;
}

/* 页边批注（手工刊物的栏外注） */
.margin-note {
  position: absolute; right: 1.1em; top: 34%; bottom: auto;
  writing-mode: vertical-rl;
  font-size: 0.6em; letter-spacing: 0.34em; line-height: 1.9;
  color: var(--ink-faint);
  border-left: 1px solid var(--line);
  padding-left: 0.6em;
  max-height: 40%;
}
/* 有批注的页给右缘让位，正文不再压到竖排字 */
.qk-page:has(.margin-note) { padding-right: 3.5em; }
.margin-note b { color: var(--gold-deep); font-weight: 500; }

/* 收尾页 */
.numbers {
  flex: 1; display: flex; flex-direction: column;
  justify-content: space-evenly; gap: 1.3em;
}
.num { display: flex; align-items: baseline; gap: 1em; }
.num b {
  font-family: var(--serif-en); font-weight: 600;
  font-size: 3.4em; line-height: 1; min-width: 2.2em;
}
.a-blue .num b { color: #5a6d78; }
.a-graphite .num b { color: #3c4346; }
/* v34: 补齐 num 大字的辑色（原 a-moss 漏配，落默认墨色）+ 新辑色 */
.a-moss .num b { color: #4f5b3c; }
.a-blush .num b { color: #8a5a4e; }
.a-clay .num b { color: #7d6132; }
.num b span { font-size: 0.5em; }
.num b .num-join { font-size: 0.55em; color: var(--leaf); padding: 0 0.08em; font-style: normal; }
.num i { font-style: normal; font-size: 0.72em; letter-spacing: 0.2em; color: var(--ink-soft); }
.takeaway {
  font-size: 1.02em; line-height: 1.9; letter-spacing: 0.04em;
  border-top: 2px solid var(--ink); padding-top: 1em;
  font-weight: 500;
}
.takeaway strong { font-weight: 600; }
.takeaway .tk-en {
  display: block; font-family: var(--serif-en); font-style: italic;
  font-weight: 400; font-size: 0.72em; color: var(--ink-faint);
  margin-top: 0.6em; letter-spacing: 0.06em;
}
.next-hint {
  margin-top: 1em; font-size: 0.66em; letter-spacing: 0.24em;
  color: var(--gold-deep); font-weight: 500;
}
.next-hint::before { content: '→ '; }

/* 任务路由表（收尾页）：把选型决策表翻成刊物语言 */
.route {
  margin-top: 0.9em; border-top: 1px solid var(--line);
  padding-top: 0.85em;
}
.route-cap {
  font-size: 0.62em; letter-spacing: 0.22em; color: var(--ink-faint);
  margin-bottom: 0.6em;
}
.route-grid {
  display: grid; grid-template-columns: 5.4em repeat(4, 1fr);
  gap: 2px; font-size: 0.62em;
}
.route-grid .rh {
  text-align: center; letter-spacing: 0.14em; color: var(--ink-faint);
  padding: 0.35em 0;
}
.route-grid .rm {
  display: flex; align-items: center;
  letter-spacing: 0.05em; color: var(--ink-soft); font-weight: 500;
}
.route-grid i {
  font-style: normal; text-align: center; letter-spacing: 0.06em;
  padding: 0.42em 0; border-radius: 1px; font-weight: 500;
}
.r-go { background: rgba(111,122,85,0.16);  color: #5c6a42; }
.r-ok { background: rgba(181,138,53,0.15);  color: var(--gold-deep); }
.r-cau { background: rgba(168,95,56,0.16);  color: #8f5530; }
.r-no { background: rgba(143,58,44,0.16);   color: #8f3a2c; font-weight: 600; }
.route-note {
  margin-top: 0.7em; font-size: 0.58em; line-height: 1.9;
  letter-spacing: 0.05em; color: var(--ink-faint); text-align: justify;
}
.route-note b { color: var(--ink-soft); font-weight: 600; }

/* ---------- 篇 02 专用（v28 灌厚） ---------- */
/* 紧凑横向图：用于左栏窄空间（识别热度榜） */
.chart-h { gap: 0.5em; margin: 0 0 0.9em; }
.chart-h .bar-row { grid-template-columns: 5.2em 1fr 1.6em; gap: 0.5em; }
.chart-h .bar-label { font-size: 0.6em; letter-spacing: 0.02em; white-space: nowrap; }
.chart-h .bar-track { height: 0.9em; }
.chart-h .bar-val { font-size: 0.78em; }
/* v34: 宽值列 —— 篇04 的 val 是 4 个汉字（阅读原文/二维码），1.6em 会竖排折行 */
.chart-h.w-val .bar-row { grid-template-columns: 5.2em 1fr 4.2em; }
.chart-h.w-val .bar-val { letter-spacing: 0.02em; white-space: nowrap; }

/* 宽标签主图：DeepSeek·安慰 这类长标签不折行 */
.chart-wide .bar-row { grid-template-columns: 7.4em 1fr 2.6em; }
.chart-wide + .chart-scale { margin-left: 11.1em; }

/* 数据页紧凑档（P8 内容最重，防溢出） */
.dense .bigstat { margin: 0.1em 0 0.9em; }
.dense .bigstat i { line-height: 1.8; }
.dense .chart { gap: 0.7em; margin: 0.6em 0 0.9em; }
.dense .chart-scale { margin-top: -0.4em; }
.dense .chart-note { padding-top: 0.7em; line-height: 1.9; }
.dense .verify-wrap { margin-top: 0.2em; }
.dense .verify-side { line-height: 1.85; }

/* 手机单页模式下再收一档（书宽 <520px 的对开/单页切换与窄视口一致） */
@media (max-width: 620px) {
  .dense .bigstat { margin-bottom: 0.7em; }
  .dense .chart { gap: 0.55em; margin-bottom: 0.7em; }
  .dense .chart-note { font-size: 0.66em; line-height: 1.75; }
  .dense .verify-cap { margin-bottom: 0.5em; }
  .dense .chart-h { margin-bottom: 0.6em; }
  .dense .verify-side { font-size: 0.6em; line-height: 1.75; }
}

/* 依据清单（收尾页五条 · 3 列：序号 / 归类 / 原话） */
.route-grid.r-evidence { grid-template-columns: 2.2em 5.2em 1fr; }
.r-evidence .rh { text-align: left; padding-left: 0.2em; }
.r-evidence .rm {
  justify-content: center; color: var(--ink-faint);
  font-family: var(--serif-en); font-weight: 600;
}
.r-evidence i { text-align: center; }
.r-txt {
  display: flex; align-items: center;
  font-size: 0.92em; line-height: 1.5; letter-spacing: 0.02em;
  color: var(--ink-soft); padding: 0.42em 0.6em;
}

/* 篇间小结（收尾页底部三行小字） */
.end-note {
  margin-top: 1em;
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.5em 1.4em;
  border-top: 1px solid var(--line); padding-top: 0.8em;
}
.end-note div { font-size: 0.6em; letter-spacing: 0.1em; color: var(--ink-faint); line-height: 1.8; }
.end-note b { color: var(--ink-soft); font-weight: 600; letter-spacing: 0.16em; }

/* ============================================================
 * 封底（纸底版画，与封面同语言）
 * ============================================================ */
.backcover {
  background: var(--page);
  color: var(--ink);
  align-items: center; text-align: center; justify-content: center;
  gap: 0.4em;
}
.bc-mark { width: 6.2em; height: 6.2em; margin-bottom: 0.9em; opacity: 0.95; }
.bc-mark svg { width: 100%; height: 100%; }
.bc-title { font-size: 1em; font-weight: 600; letter-spacing: 0.4em; padding-left: 0.4em; color: var(--ink); }
.bc-line { font-size: 0.7em; letter-spacing: 0.1em; line-height: 2.1; color: var(--ink-soft); }
.bc-line.soft { color: var(--ink-faint); }
.bc-line b { color: var(--ink); font-weight: 500; }
.bc-rule { width: 3.2em; height: 1px; background: var(--line); margin: 1.2em auto; }
.bc-next { font-size: 0.64em; letter-spacing: 0.28em; color: var(--gold-deep); margin-bottom: 0.5em; }
.bc-copy {
  margin-top: 1.4em; font-size: 0.6em; line-height: 2.1;
  letter-spacing: 0.18em; color: var(--ink-faint);
}

/* ---------- 控制条（纸台墨字） ---------- */
.book-controls {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  padding: 4px 0 16px;
}
.ctl {
  width: 36px; height: 36px; border: 1px solid rgba(46,43,37,0.32);
  background: rgba(46,43,37,0.04); color: var(--desk-ink-dim);
  font-size: 18px; line-height: 1; cursor: pointer;
  border-radius: 50%; transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.ctl:hover { border-color: var(--gold); color: var(--gold); background: rgba(181,138,53,0.12); }
.ctl-page {
  font-family: var(--serif-en); font-size: 14px; letter-spacing: 0.12em;
  color: var(--desk-ink-dim); min-width: 64px; text-align: center;
}
.ctl-page b { color: var(--gold-deep); font-weight: 600; }
.ctl-hint { font-size: 11px; letter-spacing: 0.16em; color: var(--desk-ink-faint); }

/* ---------- 窄屏 ---------- */
@media (max-width: 768px) {
  .masthead { padding: 11px 14px 9px; }
  .mh-brand { font-size: 16px; }
  .mh-en { font-size: 11px; margin-left: 6px; }
  .mh-right { font-size: 10px; }
  .qk-page { padding: 1.6em 1.5em 1.8em; }
  .chart { gap: 0.8em; margin: 0.8em 0 1em; }
  .chart-note { line-height: 1.8; }
  .toc-item { grid-template-columns: 4.2em 1fr auto; padding: 0.5em 0.4em; margin: 0 -0.4em; gap: 0.7em; }
  .toc-no { font-size: 1.9em; }
  .toc-no-word { font-size: 1.2em; }
  /* v34 手机端：目录 7 条装不下，副标题收起（条目名+页码足矣） */
  .toc-body i { display: none; }
  /* v33 手机端：目录 5 条 + 底部两块变单列后超高，收紧行距与间距 */
  .toc-terms b { margin-bottom: 0.4em; }
  .toc-terms div { line-height: 1.75; }
  .toc-foot-grid { grid-template-columns: 1fr; gap: 0.55em; align-items: stretch; padding-top: 0.8em; }
  .toc-next { padding: 0.6em 0.9em; }
  .toc-next h3 { margin-bottom: 0.35em; }
  .toc-next p { line-height: 1.7; }
  /* 档案页手机瘦身：行距收紧、大字号降档，保证七行信息 + 摘要装得下 */
  .art-no { font-size: 3.4em; }
  .art-title { font-size: 1.3em; }
  .art-titles { padding-top: 0.2em; }
  .art-meta { grid-template-columns: 1fr; }
  .art-meta > div { padding: 0.72em 0; }
  .art-meta dt { min-width: 4.2em; }
  .art-meta dd { font-size: 0.78em; line-height: 1.7; }
  .art-abstract { padding-top: 0.9em; font-size: 0.8em; line-height: 1.8; }
  .verify-wrap { flex-direction: column; align-items: flex-start; gap: 1em; }
  .verify-side { border-left: none; padding-left: 0; line-height: 1.85; }
  .verify-cap { margin-bottom: 0.4em; }
  .margin-note { display: none; }
  .cover-frame { margin: 0.6em; padding: 1.1em 1.2em 1em; }
  .cover-title { font-size: 3.6em; }
  .cover-art { flex: none; height: auto; margin-top: 0.6em; }
  .cover-bottom { flex-direction: column; align-items: flex-start; gap: 0.5em; }
  .cover-issue { text-align: left; }
  .book-controls { gap: 10px; }
  .ctl-hint { display: none; }
}

/* ---------- 动效克制 ---------- */
@media (prefers-reduced-motion: reduce) {
  * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
