/* Print-friendly stylesheet for Fable one-pager */
@media print {
  :root {
    --bg: #ffffff;
    --bg-elev: #ffffff;
    --panel: #f6f8fa;
    --text: #1f2328;
    --muted: #57606a;
    --accent: #0969da;
    --border: #d0d7de;
    --code-bg: #f3f4f6;
  }

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

  html {
    scroll-behavior: auto;
  }

  body {
    background: #fff !important;
    color: #1f2328 !important;
    font-size: 10pt;
    line-height: 1.45;
  }

  header {
    position: static !important;
    background: #fff !important;
    border-bottom: 1px solid #d0d7de !important;
    padding: 0.5rem 0 !important;
  }

  header .brand {
    color: #1f2328 !important;
  }

  header a,
  .toc a {
    color: #0969da !important;
  }

  main {
    max-width: 100% !important;
    padding: 0 !important;
  }

  .toc {
    background: #f6f8fa !important;
    border: 1px solid #d0d7de !important;
    page-break-inside: avoid;
  }

  section {
    background: #fff !important;
    border: none !important;
    border-bottom: 1px solid #d0d7de !important;
    border-radius: 0 !important;
    padding: 1rem 0 !important;
    margin-bottom: 0 !important;
    page-break-inside: avoid;
  }

  h1, h2, h3, h4 {
    color: #1f2328 !important;
    page-break-after: avoid;
    page-break-inside: avoid;
  }

  h2 {
    color: #0969da !important;
    border-bottom: 1px solid #d0d7de;
    padding-bottom: 0.2em;
  }

  h3, h4 {
    color: #24292f !important;
  }

  p, li {
    orphans: 3;
    widows: 3;
  }

  strong {
    color: #1f2328 !important;
  }

  code {
    background: #f3f4f6 !important;
    color: #1f2328 !important;
    border: 1px solid #d0d7de;
  }

  pre {
    background: #f6f8fa !important;
    border: 1px solid #d0d7de !important;
    white-space: pre-wrap;
    word-wrap: break-word;
    page-break-inside: avoid;
  }

  blockquote {
    background: #f6f8fa !important;
    border-left: 3px solid #0969da !important;
    color: #57606a !important;
  }

  table {
    display: table !important;
    font-size: 9pt;
    page-break-inside: avoid;
  }

  th, td {
    border: 1px solid #d0d7de !important;
  }

  th {
    background: #f6f8fa !important;
    color: #1f2328 !important;
  }

  tr:nth-child(even) {
    background: #fafafa !important;
  }

  a {
    color: #0969da !important;
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    color: #57606a;
    word-break: break-all;
  }

  /* Don't print URL clutter for in-page anchors */
  a[href^="#"]:after {
    content: "";
  }

  hr {
    border-top: 1px solid #d0d7de !important;
  }

  /* Page margins via @page */
  @page {
    margin: 0.75in 0.7in;
  }
}
