.prose h2 { font-size: 1.375rem; font-weight: 600; margin-top: 2rem; margin-bottom: 1rem; color: rgb(13, 13, 13); border-bottom: 1px solid rgb(229, 229, 229); padding-bottom: 0.5rem; }
  .prose h3 { font-size: 1.125rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.75rem; color: rgb(13, 13, 13); }
  .prose h4 { font-size: 1rem; font-weight: 600; margin-top: 1.25rem; margin-bottom: 0.5rem; color: rgb(13, 13, 13); }
  .prose p { margin-bottom: 1rem; line-height: 1.7; }
  .prose ul, .prose ol { margin-bottom: 1rem; padding-left: 1.5rem; }
  .prose ul { list-style-type: disc; }
  .prose ol { list-style-type: decimal; }
  .prose li { margin-bottom: 0.375rem; line-height: 1.7; }
  .prose ul ul, .prose ol ul { list-style-type: circle; }
  .prose ul ul ul { list-style-type: square; }
  .prose blockquote { border-left: 3px solid rgb(13, 148, 136); padding-left: 1rem; margin: 1.25rem 0; background: rgb(249, 250, 251); padding: 1rem; border-radius: 0 0.5rem 0.5rem 0; }
  .prose a { color: rgb(13, 148, 136); text-decoration: underline; }
  .prose a:hover { color: rgb(13, 13, 13); }
  .prose table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.875rem; }
  .prose th, .prose td { border: 1px solid rgb(229, 229, 229); padding: 0.75rem; text-align: left; }
  .prose th { background: rgb(249, 250, 251); font-weight: 600; }
  .prose tr:nth-child(even) { background: rgb(249, 250, 251); }
  .prose img { max-width: 100%; height: auto; border-radius: 0.5rem; margin: 1.5rem 0; }
  .prose .pdf-embed, .prose iframe.pdf-embed { display: block; width: 100%; height: 75vh; max-height: 900px; min-height: 480px; margin: 1.5rem 0; border: 1px solid rgb(229, 229, 229); border-radius: 0.5rem; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); background: rgb(249, 250, 251); }
  .prose code { background: rgb(245, 245, 245); padding: 0.125rem 0.375rem; border-radius: 0.25rem; font-size: 0.875rem; }
  .prose pre { background: rgb(245, 245, 245); padding: 1rem; border-radius: 0.5rem; overflow-x: auto; margin: 1.5rem 0; }
  .prose pre code { background: none; padding: 0; }
  .toc-link { transition: color 0.15s ease; }
  .toc-link:hover { color: rgb(13, 148, 136); }
  /* TOC styles */
  .toc-details > summary { list-style: none; }
  .toc-details > summary::-webkit-details-marker { display: none; }
  .toc-details[open] .toc-chevron { transform: rotate(180deg); }
  .toc-list { margin: 0; padding: 0; list-style: none; }
  .toc-item { padding: 0.25rem 0; }
  .toc-parent { font-weight: 500; }
  .toc-child { padding-left: 1rem; font-weight: 400; }
  .share-btn { transition: all 0.15s ease; }
  .share-btn:hover { transform: translateY(-1px); }
  /* Credibility banner styles */
  .credibility-banner { transition: all 0.15s ease; }
  .credibility-banner > summary { list-style: none; }
  .credibility-banner > summary::-webkit-details-marker { display: none; }
  .credibility-banner[open] .chevron-icon { transform: rotate(180deg); }
  .scroll-mt-6 { scroll-margin-top: 1.5rem; }
  /* Version disclosure styles */
  .version-disclosure details > summary { list-style: none; }
  .version-disclosure details > summary::-webkit-details-marker { display: none; }
  .version-disclosure details[open] > summary svg { transform: rotate(90deg); }
  .version-disclosure details > summary svg { transition: transform 0.2s ease; }
  /* Print-only elements hidden on screen */
  .print-only { display: none !important; }

  @media print {
    /* ── Hide all UI chrome ── */
    .no-print, aside, footer[role="contentinfo"],
    .version-disclosure, .fixed { display: none !important; }
    body > div > div > header { display: none !important; }

    /* Show print-only elements */
    .print-only { display: block !important; }

    /* ── Reset layout — full width, no grid/flex ── */
    * { box-shadow: none !important; text-shadow: none !important; }
    body { font-size: 11pt; margin: 0; padding: 0; background: white !important; color: #000 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    body > div { display: block !important; }
    body > div > div { display: block !important; }
    main { padding: 0 !important; }
    main > div { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }

    /* ── Page setup ── */
    @page { margin: 0.65in 0.7in 0.8in; }
    @page :first { margin-top: 0.5in; }

    /* ── Print header ── */
    .print-header {
      padding: 0 0 10pt;
      margin-bottom: 14pt;
      border-bottom: 1.5pt solid #1a1a1a;
      display: flex !important;
      align-items: baseline;
      justify-content: space-between;
    }
    .print-header-site { font-size: 10pt; font-weight: 700; color: #111; letter-spacing: 0.3pt; }
    .print-header-url { font-size: 8pt; color: #666; }

    /* ── Print footer ── */
    .print-footer {
      margin-top: 20pt;
      padding-top: 10pt;
      border-top: 0.5pt solid #ccc;
      font-size: 8pt;
      color: #888;
      line-height: 1.6;
    }
    .print-footer-row { display: flex !important; justify-content: space-between; }

    /* ── Typography ── */
    h1 { font-size: 19pt !important; line-height: 1.25 !important; color: #000 !important; margin-bottom: 6pt !important; }
    .prose h2 { font-size: 13pt; font-weight: 600; page-break-after: avoid; break-after: avoid; margin-top: 16pt; padding-top: 8pt; border-top: 0.5pt solid #e5e5e5; }
    .prose h3 { font-size: 11pt; font-weight: 600; page-break-after: avoid; break-after: avoid; }
    .prose p, .prose li { font-size: 10.5pt; line-height: 1.65; orphans: 3; widows: 3; }
    .prose ul, .prose ol { page-break-before: avoid; }
    .prose li { break-inside: avoid-page; }
    .prose table { font-size: 9pt; border-collapse: collapse; width: 100%; break-inside: avoid-page; }
    .prose table th { background: #f5f5f5 !important; font-weight: 600; }
    .prose table th, .prose table td { border: 0.5pt solid #ccc; padding: 4pt 6pt; text-align: left; }
    .prose img { max-width: 100%; max-height: 3.5in; break-inside: avoid; margin: 8pt 0; }
    /* Print: replace the embedded viewer with a styled "see attached PDF" link so the article stays printable. */
    .prose .pdf-embed, .prose iframe.pdf-embed { display: none !important; }
    .prose .pdf-embed + .pdf-print-fallback { display: block; }
    .prose blockquote { border-left: 2pt solid #999; margin-left: 0; padding-left: 10pt; color: #333; font-style: italic; break-inside: avoid-page; }
    .prose pre { background: #f8f8f8 !important; border: 0.5pt solid #ddd; padding: 8pt; font-size: 8.5pt; break-inside: avoid-page; white-space: pre-wrap; }

    /* ── Links — show URLs for external links ── */
    .prose a { color: #000 !important; text-decoration: underline; text-decoration-color: #999; }
    .prose a[href^="http"]::after { content: " [" attr(href) "]"; font-size: 7.5pt; color: #888; word-break: break-all; text-decoration: none; }
    #references a::after { display: none; }

    /* ── Tag badges — clean for print ── */
    a[class*="rounded-full"] { background: none !important; border: 0.5pt solid #ccc; color: #333 !important; print-color-adjust: exact; }

    /* ── Credibility banner ── */
    .credibility-banner { break-inside: avoid; border: 0.5pt solid #ddd; background: #fafafa !important; }
    .credibility-banner summary { font-weight: 600; }

    /* ── References section ── */
    #references { break-before: avoid; }
    #references li { break-inside: avoid; margin-bottom: 4pt; }
    #references h2 { border-top: none; }

    /* ── Author / metadata ── */
    [class*="border-t"][class*="border-border"] { border-color: #ddd !important; }
    article > header { margin-bottom: 12pt; }
    article > footer { display: none; }
  }
