/* 打印 / 导出 PDF — 白底、适度变化版式 */
@page {
  size: A4;
  margin: 14mm 12mm 16mm;
}
@media print {
  body {
    background: #fff !important;
    color: #111 !important;
    padding: 0 !important;
    max-width: none !important;
    font-family: "Songti SC", "Noto Serif SC", "SimSun", serif;
  }
  .book-header {
    border-bottom-color: #333 !important;
    page-break-after: avoid;
  }
  .book-header h1 { color: #1a1a1a !important; }
  .meta { color: #555 !important; }
  .chapter { page-break-before: always; }
  .chapter:first-of-type { page-break-before: auto; }
  .chapter.flat-album { page-break-before: auto; }
  .chapter.flat-album .entry-title {
    color: #222 !important;
    border-bottom-color: #ccc !important;
    page-break-after: avoid;
  }
  .chapter-title {
    color: #222 !important;
    border-bottom-color: #ccc !important;
    page-break-after: avoid;
  }
  .entry { page-break-inside: avoid; }
  .entry-title { color: #111 !important; }
  .spread {
    background: #fafafa !important;
    border: 1px solid #e0e0e0 !important;
    page-break-inside: avoid;
    margin-bottom: 10mm;
    padding: 8mm;
    border-radius: 0;
  }
  .spread-text { color: #222 !important; font-size: 9.5pt; line-height: 1.5; }
  .spread img { max-height: 220mm; width: auto; max-width: 100%; object-fit: contain; }
  .wm {
    color: rgba(0, 0, 0, 0.30) !important;
    text-shadow: none !important;
    font-size: 8.5pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .layout-full img { max-height: 245mm; }
  .layout-full { padding: 4mm; background: #fff !important; border: none !important; }

  .layout-dual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5mm;
    align-items: stretch;
  }
  .layout-dual .spread-visual { min-width: 0; }
  .layout-dual img {
    max-height: 115mm;
    width: 100%;
    object-fit: contain;
  }

  .layout-split, .layout-invert {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 6mm;
    align-items: start;
  }
  .layout-invert .spread-visual { order: 2; }
  .layout-invert .spread-text { order: 1; }

  .layout-stack {
    max-width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
  .layout-stack-wide {
    max-width: none !important;
    width: 100% !important;
  }
  .layout-stack img { max-height: 180mm; }

  .layout-hero {
    border-left: 3pt solid #333 !important;
    padding-left: 6mm !important;
    background: #fff !important;
  }
  .layout-hero img { max-height: 200mm; }

  .layout-text-only { background: #fff !important; }

  .book-disclaimer {
    margin-top: 12mm;
    padding-top: 6mm;
    border-top: 0.5pt solid #999 !important;
    color: #444 !important;
    font-size: 8.5pt;
    page-break-inside: avoid;
  }
  .disclaimer-title {
    color: #222 !important;
    font-size: 10pt;
    margin-bottom: 3mm;
  }
  .disclaimer-list { padding-left: 5mm; }
  .qrcode-section {
    margin-top: 5mm;
    text-align: center;
    page-break-inside: avoid;
  }
  .qrcode-text {
    font-size: 8pt;
    color: #444 !important;
    margin: 0 0 2mm;
  }
  .qrcode-img {
    display: block;
    max-width: 35mm;
    height: auto;
    margin: 0 auto;
  }
}
