@media print {
  @page { margin: 14mm; }
  :root { --paper: #fff; --light: #fff; --ink: #000; --quiet: #000; --wine: #000; --line: #777; }
  body { background: #fff; color: #000; font-size: 16px; line-height: 1.35; }
  .site-masthead, .skip-link, .site-footer, .opening-label, .opening-links, .path-art, .notes-art, .print-tools, .next-question { display: none; }
  .page-opening { padding: 0 0 1rem; margin: 0; border: 0; display: block; }
  .page-opening h1 { font-size: 28px; max-width: none; margin-bottom: .6rem; }
  .opening-intro { font-size: 16px; max-width: none; margin: 0; }
  .answer-path { padding: 0; max-width: none; }
  .answer-section { padding: 1.25rem 0 .5rem; margin: 0; border: 0; }
  .answer-section h2 { font-size: 20px; max-width: none; margin-bottom: .5rem; break-after: avoid; }
  .answer-section h2::before { display: none; }
  .plain-answer { margin: 0 0 .65rem; max-width: none; }
  .claim-pair { display: block; margin-bottom: .8rem; }
  .claim-source { padding-left: .75rem; margin-top: .4rem; }
  .source-date, .source-link { font-size: 16px; }
  .question-checklist { margin-top: .5rem; max-width: none; }
  .question-item { break-inside: avoid; }
  .question-item label { font-size: 16px; min-height: 40px; padding: .35rem 0; gap: .75rem; }
  .question-item input { appearance: none; flex-basis: 18px; width: 18px; height: 18px; border: 1.5px solid #000; background: #fff; position: relative; }
  .question-item input:checked::after { content: "✓"; position: absolute; inset: -4px 0 0; font-size: 19px; line-height: 1; }
  .source-link, .text-link { min-height: 0; padding: .2rem 0; }
}
