/* Review-body prose typography + print (spec §2.2/§6.2 — plan Task 12).
   BOUNDARY (spec §1.3): this file holds ONLY the .review-body typography
   numbers — sizes, line-heights, measures, the references hanging indent —
   plus the @media print block. ALL rv-* screen layout (the margin-apparatus
   grid, numeral placement, breakpoint columns) lives in components.css.
   Element-type selectors are used for the prose so the never-fail fallback
   HTML (no rv-rows) reads identically. */

.review-body {
  font-size: var(--text-body-size);
  line-height: var(--text-body-lh);
  color: var(--body);
}
.review-body p,
.review-body li {
  font-size: var(--text-body-size);
  line-height: var(--text-body-lh);
}
/* Body measure: 62ch (spec §2.2). Applied to the text blocks themselves —
   in the transform markup they are the .rv-row text cells. */
.review-body p,
.review-body ul,
.review-body ol,
.review-body dl,
.review-body blockquote,
.review-body table,
.review-body pre {
  max-width: 62ch;
}
.review-body h2 { font-size: var(--text-section-size); }
.review-body h3 { font-size: var(--text-subsection-size); }
.review-body code,
.review-body pre {
  font: var(--text-mono);
}
.review-body blockquote {
  margin-left: 0;
  padding-left: 16px;
  border-left: 2px solid var(--rule);
  color: var(--muted);
}

/* References heading: the bundle's label treatment (kicker-size, 400,
   uppercase, muted; 52px above / 18px below per bundle 5a/5e) — it STAYS an
   h2 in the DOM (a11y decision: restyle, don't demote). */
.review-body .rv-references .rv-h {
  margin: 52px 0 18px;
  font-size: var(--text-kicker-size);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

/* References (spec §2.2): 14px/1.6, 66ch measure, Chicago hanging indent. */
.review-body .rv-references,
.review-body .rv-references p,
.review-body .rv-references li {
  font-size: var(--text-refs-size);
  line-height: var(--text-refs-lh);
}
.review-body .rv-references ul,
.review-body .rv-references ol {
  list-style: none;
  padding-left: 0;
  max-width: 66ch;
}
.review-body .rv-references p,
.review-body .rv-references li {
  max-width: 66ch;
  padding-left: 24px;
  text-indent: -24px;
}

/* --- Print (spec §6.2): title block + body with apparatus in place +
   references. Chrome, share panel, forms, files, banner hidden. ----------- */
@media print {
  /* Print always uses the LIGHT palette — re-assert the light custom-property
     values (copied from tokens.css :root) so dark-mode users don't print
     dark. This file loads after tokens.css, so these win the dark block. */
  :root {
    --bg: #FBFCFA;
    --surface: #FFFFFE;
    --ink: #131412;
    --body: #131412;
    --muted: #67695F;
    --muted-2: #8A8C86;
    --rule: #E0E2DE;
    --rule-faint: #F0F1EE;
    --rule-strong: #131412;
    --accent: #1E6B4B;
    --accent-tint: #E7F0EB;
    --on-accent: #FFFFFE;
    --error: #B0362A;
    --error-tint: #FBF1EF;
    --disabled: #C7C9C5;
    --banner-tint: #F3F6F2;
  }
  .c-nav, .c-footer, .c-banner, .c-skip, #alerts,
  details, form, button, #files {
    display: none;
  }
  /* Pagination (spec §6.2): apparatus entries and headings hold together;
     whole .rv-rows may break (a row can exceed a page). */
  .rv-apparatus-entry { break-inside: avoid; }
  .rv-h { break-after: avoid; }
  @page { margin: 2.2cm; }
}
