/*
 * 成书：阅读版（屏幕）与打印 / 存为 PDF。
 * 2026-11-10 回忆录专项第 1 轮（docs/qa/memoir-r1-2026-11-10/修复复核.md）。
 *
 * 为什么单独一个文件：阅读版的样式原先散在 style.css / memoir.css / memoir-c.css / memoir-editorial.css /
 * web-refinement.css / theme-warm.css 里，互相覆盖，打印又回落到 style.css 的旧规则（屏幕和打印的段落样式不一致、
 * 标题层级被压平、整篇 break-inside 留下大片空白）。这里用 #memoir-app 的 ID 选择器一次说清楚，必须最后加载。
 *
 * 版面约定：
 *   字体   书名、章名、篇名、正文用 var(--vg-book-serif)（tokens.css 的宋体系栈）；工具条、按钮仍是无衬线。
 *   层级   书名 40 / 章名 26 / 篇名 22（手机 30 / 22 / 19）；打印 28pt / 18pt / 14pt。
 *   正文   首行缩进 2em、两端对齐；屏幕行高 1.95，打印 11.5pt / 1.8。
 *   版心   正文约 34em；照片与正文同宽，不再比正文宽出一截。
 */

/* ───────────────────────── 屏幕 ───────────────────────── */
@media screen {
  #memoir-app .mm-book {
    font-family: var(--vg-book-serif);
    --book-col: min(100%, 34em);
  }
  #memoir-app .mm-book .mm-reader-tools,
  #memoir-app .mm-book .mm-reader-tools * { font-family: var(--vg-sans); }

  /* 封面：整屏居中，照片 + 书名 + 一行说明 */
  #memoir-app .mm-book .mm-cover {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-height: min(76vh, 720px); padding: 48px 0; margin-bottom: 48px;
  }
  #memoir-app .mm-book .mm-cover h1 {
    font: 700 40px/1.3 var(--vg-book-serif); letter-spacing: .06em; margin: 0 0 16px; text-wrap: balance;
  }
  #memoir-app .mm-book .mm-cover p { font: 400 15px/1.8 var(--vg-book-serif); color: var(--vg-ink2); }

  /* 目录 */
  #memoir-app .mm-book .mm-toc-wrap { max-width: var(--book-col); margin: 0 auto 72px; }
  #memoir-app .mm-book .mm-toc-title {
    font: 600 20px/1.4 var(--vg-book-serif); letter-spacing: .4em; text-align: center; margin: 0 0 28px; padding-left: .4em;
  }
  #memoir-app .mm-book .mm-toc, #memoir-app .mm-book .mm-toc ol { list-style: none; margin: 0; padding: 0; }
  #memoir-app .mm-book .mm-toc li { display: block; padding: 0; border: 0; }
  #memoir-app .mm-book .mm-toc-chapter { margin: 0 0 20px; }
  #memoir-app .mm-book .mm-toc-chapter-name {
    display: block; width: 100%; min-height: 44px; padding: 8px 0; text-align: left;
    font: 600 17px/1.5 var(--vg-book-serif); letter-spacing: .08em; color: var(--vg-ink);
    background: none; border: 0; border-bottom: 1px solid var(--vg-line); cursor: pointer;
  }
  #memoir-app .mm-book .mm-toc-stories a {
    display: flex; align-items: center; min-height: 44px; padding: 6px 0 6px 1.5em;
    font: 400 16px/1.6 var(--vg-book-serif); color: var(--vg-ink2); text-decoration: none; border-bottom: 1px dotted var(--vg-line);
  }
  #memoir-app .mm-book .mm-toc-stories a:hover { color: var(--vg-ink); text-decoration: underline; text-underline-offset: 4px; }

  /* 章名：层级明显高于篇名；章首短朱线含蓄一点 */
  #memoir-app .mm-book .mm-chapter > h2 {
    font: 600 26px/1.4 var(--vg-book-serif); letter-spacing: .12em; text-align: center; margin: 72px 0 40px;
  }
  html.theme-warm #memoir-app .mm-book .mm-chapter > h2::before {
    width: 32px; height: 2px; margin: 0 auto 20px;
  }
  #memoir-app .mm-book .mm-chapter .period { font-family: var(--vg-book-serif); }

  /* 篇名、署名行 */
  #memoir-app .mm-book .mm-story { margin: 0 0 64px; scroll-margin-top: 24px; }
  #memoir-app .mm-book .mm-story > h3 { font: 600 22px/1.5 var(--vg-book-serif); letter-spacing: .02em; margin: 0 auto 6px; }
  #memoir-app .mm-book .mm-story > .meta { font: 400 14px/1.7 var(--vg-book-serif); color: var(--vg-ink2); margin: 0 auto 20px; }

  /* 正文：首行缩进 2em、两端对齐（与打印一致） */
  #memoir-app .mm-book .mm-reading-body { font-family: var(--vg-book-serif); }
  #memoir-app .mm-book .mm-reading-body p,
  #memoir-app .mm-book .mm-persp p {
    font-family: var(--vg-book-serif); text-indent: 2em; text-align: justify; margin: 0 0 .5em;
    line-break: strict; hanging-punctuation: allow-end; text-spacing-trim: trim-start;
  }

  /* 照片：与正文同宽；单张不超过正文列，多张并排；高度有上限；图注左对齐 */
  #memoir-app .mm-book .mm-story > .photos {
    max-width: var(--book-col); margin: 24px auto; display: grid; gap: 16px 12px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); align-items: start;
  }
  #memoir-app .mm-book .mm-story > .photos.is-single { grid-template-columns: minmax(0, 1fr); }
  #memoir-app .mm-book .photos figure { margin: 0; }
  #memoir-app .mm-book .photos img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; background: var(--vg-bg, #f4ecdc); }
  #memoir-app .mm-book .photos figcaption {
    font: 400 13px/1.6 var(--vg-book-serif); color: var(--vg-ink2); text-align: left; margin-top: 8px;
  }
  #memoir-app .mm-book.is-photo-first .mm-story > .photos { margin-top: 0; }

  /* 补充讲述的标题也用书体 */
  #memoir-app .mm-book .mm-persp h4 { font-family: var(--vg-book-serif); }

  /* 结尾页：全书完 */
  #memoir-app .mm-book .mm-colophon {
    margin: 96px auto 48px; max-width: var(--book-col); text-align: center; color: var(--vg-ink2); font: 400 14px/2 var(--vg-book-serif);
  }
  #memoir-app .mm-book .mm-colophon::before {
    content: ""; display: block; width: 32px; height: 2px; margin: 0 auto 28px; background: var(--vg-seal, #a4452c);
  }
  #memoir-app .mm-book .mm-colophon p { margin: 0; }
  #memoir-app .mm-book .mm-colophon .mm-colophon-end { font: 600 20px/1.8 var(--vg-book-serif); letter-spacing: .5em; padding-left: .5em; color: var(--vg-ink); margin-bottom: 12px; }
  #memoir-app .mm-book .mm-colophon .mm-colophon-brand { margin-top: 12px; font-size: 12px; letter-spacing: .1em; }

  /* 手机：标题字阶缩小；阅读页不再叠固定 Tab / 大工具条，正文区域尽量大（第 1 轮专项：375×667 下只剩约 250px） */
  @media (max-width: 767px) {
    #memoir-app .mm-book .mm-cover { min-height: 0; padding: 24px 0 32px; margin-bottom: 32px; }
    #memoir-app .mm-book .mm-cover h1 { font-size: 30px; }
    #memoir-app .mm-book .mm-chapter > h2 { font-size: 22px; margin: 48px 0 28px; }
    #memoir-app .mm-book .mm-story > h3 { font-size: 19px; }
    #memoir-app .mm-book .mm-toc-wrap { margin-bottom: 48px; }
    #memoir-app .mm-book .mm-reader-tools { position: static; padding: 6px 0; gap: 4px 12px; }
    #memoir-app .mm-book .mm-reader-tools > span:first-child { display: none; }
    #memoir-app .mm-book .mm-reader-tools > button { width: auto; margin-left: auto; min-height: 40px; }
    #memoir-app .mm-book .mm-colophon { margin-top: 64px; }
    body.theme-c #main-app[data-page="read"] #tabbar { display: none; }
    body.theme-c #main-app.theme-memoir[data-group="memoir"][data-page="read"] #view-memoir { padding-bottom: 0; }
  }
}

/* ───────────────────────── 打印 / 存为 PDF ─────────────────────────
 * 页边距盒（页码）需要 Chrome 131+；不支持的浏览器自动忽略，只是没有页码。
 * 浏览器自带的页眉页脚（日期、网址、标题）是打印对话框里的选项，CSS 关不掉；
 * 这里没有用 @page{margin:0}（会让正文贴边），改为在点“打印”时提示用户取消勾选（见 memoir.js 的 print）。 */
@media print {
  @page {
    size: A4; margin: 22mm 20mm 24mm;
    @bottom-center { content: counter(page); font: 10pt var(--vg-book-serif, serif); color: #555; }
  }
  @page :first { @bottom-center { content: none; } }

  #memoir-app .mm-book {
    max-width: none; padding: 0; color: #111; font-family: var(--vg-book-serif); font-size: 11.5pt; line-height: 1.8;
  }

  /* 封面：整页，内容垂直居中，不再只占上半页 */
  #memoir-app .mm-book .mm-cover {
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
    min-height: 228mm; padding: 0; margin: 0; border: 0; break-after: page;
  }
  #memoir-app .mm-book .mm-cover img {
    display: block; max-height: 120mm; max-width: 100%; width: auto; margin: 0 auto 14mm; border: 6px solid #fff; box-shadow: 0 0 0 1px #ccc; border-radius: 0;
  }
  #memoir-app .mm-book .mm-cover h1 { font: 700 28pt/1.3 var(--vg-book-serif); letter-spacing: .06em; margin: 0 0 6mm; }
  #memoir-app .mm-book .mm-cover p { font: 400 10.5pt/1.8 var(--vg-book-serif); color: #444; margin: 0; }

  /* 目录：篇名多时独占一页；只有几篇时紧跟着第一章，不留大片空白 */
  #memoir-app .mm-book .mm-toc-wrap { break-after: page; margin: 0; }
  #memoir-app .mm-book .mm-toc-wrap.mm-toc-short { break-after: auto; margin-bottom: 16mm; }
  #memoir-app .mm-book .mm-toc-wrap.mm-toc-short + .mm-chapter { break-before: auto; }
  #memoir-app .mm-book .mm-toc-title { font: 600 18pt/1.4 var(--vg-book-serif); letter-spacing: .4em; text-align: center; margin: 0 0 8mm; padding-left: .4em; }
  #memoir-app .mm-book .mm-toc, #memoir-app .mm-book .mm-toc ol { list-style: none; margin: 0; padding: 0; break-after: auto; }   /* style.css 的旧规则给 .mm-toc 设了 break-after:page，会把目录和第一章硬拆开 */
  #memoir-app .mm-book .mm-toc li { display: block; padding: 0; border: 0; }
  #memoir-app .mm-book .mm-toc-chapter { margin: 0 0 5mm; break-inside: avoid; }
  #memoir-app .mm-book .mm-toc-chapter-name { display: block; padding: 0 0 1.5mm; margin: 0 0 1.5mm; font: 600 12.5pt/1.6 var(--vg-book-serif); color: #111; border-bottom: .3pt solid #999; appearance: none; background: none; }
  #memoir-app .mm-book .mm-toc-stories a { display: block; padding: 0 0 0 1.5em; font: 400 11pt/1.9 var(--vg-book-serif); color: #222; text-decoration: none; }
  /* 支持 target-counter 的排版引擎（如 Paged.js、Prince）才会补页码；Chrome / Safari 目前不支持，自动忽略 */
  @supports (content: target-counter(attr(href url), page)) {
    #memoir-app .mm-book .mm-toc-stories a::after { content: leader('.') target-counter(attr(href url), page); }
  }

  /* 章 / 篇 */
  #memoir-app .mm-book .mm-chapter { break-before: page; }
  #memoir-app .mm-book .mm-chapter > h2 { font: 600 18pt/1.4 var(--vg-book-serif); letter-spacing: .12em; text-align: center; margin: 0 0 10mm; break-after: avoid; }
  #memoir-app .mm-book .mm-chapter .period { color: #555; font-size: 10.5pt; text-align: center; }
  #memoir-app .mm-book .mm-story { break-inside: auto; margin: 0 0 14mm; }
  #memoir-app .mm-book .mm-story > h3 { font: 600 14pt/1.5 var(--vg-book-serif); margin: 0 0 1.5mm; break-after: avoid; }
  #memoir-app .mm-book .mm-story > .meta { font: 400 10.5pt/1.6 var(--vg-book-serif); color: #555; margin: 0 0 5mm; break-after: avoid; }
  #memoir-app .mm-book .mm-reading-body { break-inside: auto; font-family: var(--vg-book-serif); }
  #memoir-app .mm-book .mm-reading-body p,
  #memoir-app .mm-book .mm-persp p {
    font: 400 11.5pt/1.8 var(--vg-book-serif); text-indent: 2em; text-align: justify; margin: 0 0 1.5mm; orphans: 3; widows: 3; line-break: strict;
  }
  #memoir-app .mm-book .mm-persp h4 { font: 600 11pt/1.6 var(--vg-book-serif); color: #333; }

  /* 照片：限高，图注对比度够（#555 / 9.5pt） */
  #memoir-app .mm-book .mm-story > .photos { display: flex; flex-wrap: wrap; justify-content: center; gap: 4mm; margin: 5mm 0; }
  #memoir-app .mm-book .photos figure { break-inside: avoid; margin: 0; max-width: 100%; }
  #memoir-app .mm-book .photos img { display: block; max-width: 100%; max-height: 90mm; width: auto; height: auto; margin: 0 auto; object-fit: contain; border: 0; box-shadow: none; outline: 0; }
  #memoir-app .mm-book .photos figcaption { font: 400 9.5pt/1.6 var(--vg-book-serif); color: #555; text-align: left; margin-top: 1.5mm; }

  /* 结尾页：单独一页，居中 */
  #memoir-app .mm-book .mm-colophon {
    break-before: page; min-height: 200mm; display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; color: #444; font: 400 10.5pt/2 var(--vg-book-serif); margin: 0;
  }
  #memoir-app .mm-book .mm-colophon::before { content: ""; display: block; width: 12mm; height: .6mm; margin: 0 auto 8mm; background: #333; }
  #memoir-app .mm-book .mm-colophon p { margin: 0; }
  #memoir-app .mm-book .mm-colophon .mm-colophon-end { font: 600 16pt/1.8 var(--vg-book-serif); letter-spacing: .5em; padding-left: .5em; color: #111; margin-bottom: 3mm; }
  #memoir-app .mm-book .mm-colophon .mm-colophon-brand { margin-top: 3mm; font-size: 9.5pt; color: #555; }
}
