@media print {
  @page {
    size: A4 landscape;
    margin: 0;
  }

  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    animation: none !important;
    transition: none !important;
  }

  html,
  body {
    width: 297mm !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    background: var(--bg) !important;
    color: var(--ink) !important;
  }

  body.format-portrait {
    width: 210mm !important;
    min-height: 0 !important;
  }

  body::before,
  body::after,
  #particles,
  .format-toggle,
  .nav-dots,
  .chapter-indicator,
  .scroll-hint,
  .email-digest,
  .article-media figcaption {
    display: none !important;
  }

  #app {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  .page {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    width: 297mm !important;
    min-height: 0 !important;
    height: 210mm !important;
    overflow: hidden !important;
    page-break-after: auto;
    break-after: auto;
    box-shadow: none !important;
  }

  .page + .page {
    page-break-before: always;
    break-before: page;
  }

  body.format-portrait .page {
    width: 210mm !important;
    min-height: 0 !important;
    height: 297mm !important;
  }

  .page:last-child {
    page-break-after: auto;
    break-after: auto;
  }

  .page-cover,
  .page-stats {
    min-height: 210mm !important;
    overflow: hidden !important;
  }

  body.format-portrait .page-cover,
  body.format-portrait .page-stats {
    min-height: 297mm !important;
  }

  .page-chapter,
  .page-recs {
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 17mm 14mm 12mm !important;
  }

  body.format-portrait .page-chapter,
  body.format-portrait .page-recs {
    padding: 18mm 13mm 13mm !important;
  }

  .chapter-header,
  .chapter-content {
    width: 100% !important;
    max-width: none !important;
  }

  .chapter-header {
    margin-bottom: 5mm !important;
  }

  .chapter-header h2 {
    font-size: 26pt !important;
    line-height: 1.02 !important;
  }

  body.format-portrait .chapter-header h2 {
    font-size: 25pt !important;
  }

  .chapter-content {
    flex: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-right: 0 !important;
    scroll-behavior: auto !important;
  }

  .section-intro {
    display: grid !important;
    grid-template-columns: 0.38fr 1fr !important;
    gap: 7mm !important;
    margin-bottom: 5mm !important;
  }

  body.format-portrait .section-intro {
    grid-template-columns: 1fr !important;
    gap: 3mm !important;
  }

  .chapter-summary {
    font-size: 10pt !important;
    line-height: 1.35 !important;
  }

  .article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4mm !important;
  }

  body.format-portrait .article-grid {
    grid-template-columns: 1fr !important;
  }

  .format-landscape .article-grid[data-article-count="3"] .article-card:first-child,
  .format-landscape .article-grid[data-article-count="5"] .article-card:last-child {
    grid-column: auto !important;
  }

  .article-card {
    min-height: 0 !important;
    grid-template-columns: 38mm minmax(0, 1fr) !important;
    gap: 2.6mm !important;
    padding: 3mm !important;
    border-color: var(--border) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  body.format-portrait .article-card {
    grid-template-columns: 1fr !important;
  }

  .article-media,
  .article-media img {
    height: 25mm !important;
    min-height: 25mm !important;
  }

  body.format-portrait .article-media,
  body.format-portrait .article-media img {
    height: 42mm !important;
    min-height: 42mm !important;
  }

  .kicker {
    margin-bottom: 1.5mm !important;
    padding: 1.4mm 2.2mm !important;
    font-size: 6.5pt !important;
  }

  .article-copy h3 {
    font-size: 10.4pt !important;
    line-height: 1.12 !important;
  }

  .article-copy > p {
    margin-top: 1.5mm !important;
    font-size: 7.4pt !important;
    line-height: 1.28 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .so-what {
    padding-top: 1.8mm !important;
  }

  .so-what span {
    margin-bottom: 0.8mm !important;
    font-size: 6.5pt !important;
  }

  .so-what p {
    font-size: 7.2pt !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .glass-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4mm !important;
  }

  body.format-portrait .glass-grid {
    grid-template-columns: 1fr !important;
  }

  .glass-card,
  .stat-panel,
  .section-intro,
  .digest-reference {
    opacity: 1 !important;
    transform: none !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .glass-card {
    min-height: 0 !important;
    padding: 5mm !important;
  }

  .glass-card h3 {
    font-size: 12pt !important;
  }

  .glass-card p,
  .digest-reference p {
    font-size: 9pt !important;
    line-height: 1.38 !important;
  }

  .source-bar {
    padding-bottom: 0 !important;
  }

  .section-bg,
  .cover-image {
    opacity: 0.28 !important;
  }

  .float-geo {
    opacity: 0.12 !important;
  }
}
