/* Charis SIL, bundled (OFL 1.1, fonts/charis-sil/): the documents' words where the system has no
   Charter, as on Linux, where Chrome skips the Type 1 Bitstream Charter (decision 0046). */
@font-face { font-family: "Charis SIL"; src: local("Charis SIL"), url("fonts/charis-sil/CharisSIL-Regular.dabc1aae6231.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Charis SIL"; src: local("Charis SIL Italic"), url("fonts/charis-sil/CharisSIL-Italic.312fac8df77c.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Charis SIL"; src: local("Charis SIL Bold"), url("fonts/charis-sil/CharisSIL-Bold.4af7928177e3.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  color-scheme: light;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --paper: #f7f6f2;
  --surface: #fff;
  --ink: #202923;
  --muted: #59615b;
  --rule: #d9ddd6;
  --rule-strong: #8d978e;
  --control-quiet: #7c877f; /* a quiet control's edge, 3.4:1 on the paper (R72) */
  --link: #245b74;
  --action: #244d45;
  --amber: #785518;
  --amber-rule: #b88934;
  --amber-wash: #fff4d9;
  --red: #a52d34;
  --red-wash: #fff0ef;
  --neutral-wash: #ecefe9;
  --change-wash: #ebe2c8; /* the quiz's highlighted change: a neutral highlighter, never an underline (R33) nor a success green (R66) */
  --fake-wash: #e0f0f7;
  --table-cell-y: 10px;
  --table-cell-x: 12px;
  --body-size: 16px;
  --body-leading: 25px;
  --table-size: 14px;
  --table-leading: 21px;
  --meta-size: 13px;
  --meta-leading: 19px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  --quote-rule: #b7beb5;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Charter, "Charis SIL", "Sitka Text", Cambria, Georgia, serif;
  --mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --measure: 40rem;
  --gutter: clamp(32px, 4.5vw, 64px);
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body { margin: 0; background: var(--paper); color: var(--ink); font-size: var(--body-size); line-height: var(--body-leading); }
a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-color: currentColor; text-decoration-thickness: 2px; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--link); outline-offset: 4px; }

.site-header, main, .site-footer { max-width: 1160px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }
main { padding-top: var(--space-10); padding-bottom: 64px; }
.skip-link { position: absolute; top: -100px; left: 20px; padding: 10px; background: var(--surface); }
.skip-link:focus { top: 10px; }

h1, h2, h3, h4, h5, p { margin: 0; }
h1 { max-width: 30ch; margin: 8px 0 16px; font-size: 36px; line-height: 40px; font-weight: 650; letter-spacing: -.035em; }
h2 { margin: var(--space-6) 0 var(--space-2); font-size: 23px; line-height: 29px; font-weight: 650; letter-spacing: -.015em; }
h3 { margin: var(--space-5) 0 var(--space-2); font-size: 18px; line-height: 25px; font-weight: 650; }
h4, h5 { margin: 0 0 8px; font-size: 16px; line-height: 25px; }
p, li { font-size: var(--body-size); line-height: var(--body-leading); }
p { max-width: 66ch; }
p + p { margin-top: var(--space-3); }
section { margin-top: var(--space-12); }
section section { margin-top: var(--space-7); }
.small, small, .metadata { color: var(--muted); font-size: var(--meta-size); line-height: var(--meta-leading); }
.eyebrow { margin-bottom: var(--space-3); color: var(--muted); font-size: 12px; font-weight: 650; letter-spacing: .09em; line-height: 20px; text-transform: uppercase; }
.subline { margin-top: var(--space-4); color: var(--muted); }
.versus { color: var(--muted); font-size: .6em; font-weight: 400; letter-spacing: 0; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-6); margin-bottom: var(--space-4); }
.section-head + p { margin-top: -8px; margin-bottom: var(--space-5); color: var(--muted); }
.section-number { margin-right: 10px; color: var(--muted); font-size: 12px; letter-spacing: .06em; }
.jump, .page-navigation { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: var(--space-6) 0; border-bottom: 1px solid var(--rule); font-size: var(--table-size); line-height: var(--table-leading); }
.page-navigation { margin-top: var(--space-12); border-top: 1px solid var(--rule); }
.run-path { margin: calc(-1 * var(--space-10)) 0 var(--space-8); padding: var(--space-3) 0; border-bottom: 1px solid var(--rule); color: var(--ink); font-size: var(--body-size); line-height: var(--body-leading); }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-5); }
.actions form { margin: 0; padding: 0; background: transparent; }
.configuration-progress { margin-top: var(--space-4); }
.configuration-progress p { max-width: none; font-size: var(--table-size); line-height: var(--table-leading); }
.comparison-operands { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-8); margin-top: var(--space-4); }
.comparison-operands p { font-size: var(--table-size); line-height: var(--table-leading); }

.badge { display: inline-block; padding: 2px 7px; border: 1px solid #77847b; background: var(--surface); color: var(--ink); font-size: 11px; font-weight: 750; letter-spacing: .07em; line-height: 18px; text-transform: uppercase; vertical-align: baseline; white-space: nowrap; }
.badge--real { border-color: var(--action); background: var(--action); color: #fff; }
.badge--fake { border-color: #9bb9c8; background: var(--fake-wash); color: #21465a; }
.run-swatch { display: inline-block; width: 10px; height: 10px; margin-right: 5px; border: 1px solid hsl(var(--run-hue) 38% 38%); border-radius: 2px; background: hsl(var(--run-hue) 48% 68%); vertical-align: .02em; }
.secondary-action { display: inline-block; padding: 7px 12px; border: 1px solid var(--action); background: transparent; color: var(--action); font: inherit; font-weight: 600; line-height: 21px; text-decoration: none; cursor: pointer; }
.secondary-action:hover { background: var(--surface); text-decoration: none; }
.prominent-link { display: inline-block; margin-top: var(--space-3); color: var(--link); font-size: 18px; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }

.hero-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: var(--space-12); margin-top: var(--space-8); }
.lead { padding: var(--space-6); border-top: 3px solid var(--ink); background: var(--surface); }
.lead h2 { margin: var(--space-5) 0 var(--space-2); }
.secondary-reading { padding-top: var(--space-6); }
.secondary-reading h3 { margin: var(--space-3) 0 8px; }
.development-history { margin-top: var(--space-5); }
.lead .prominent-link { margin-top: var(--space-5); }
.limitation, .diagnostic, .wholeness--unclear, .stage-state--unclear { max-width: 78ch; margin: var(--space-4) 0 var(--space-8); padding: var(--space-4); border-left: 3px solid var(--amber-rule); background: var(--amber-wash); color: var(--amber); }
.limitation p, .diagnostic p { margin: 0; }
.crash, .failure, .wholeness--crashed, .stage-state--crashed { padding: var(--space-4); border-left: 3px solid var(--red); background: var(--red-wash); color: var(--red); }
.reality-line, .wholeness-line, .masthead { margin: 12px 0; }
.reality-line, .masthead { font-weight: 600; }
.run-recorded-line { margin-top: -8px; }
.run-opening { margin-top: var(--space-5); }

.scroll { max-width: 100%; margin-top: var(--space-4); overflow-x: auto; }
.row-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
table { width: 100%; border-collapse: collapse; background: transparent; font-size: var(--table-size); font-variant-numeric: tabular-nums; line-height: var(--table-leading); }
caption { padding: 0 0 var(--space-3); color: var(--muted); font-size: var(--meta-size); line-height: var(--meta-leading); text-align: left; }
.table-caption { max-width: none; margin-top: var(--space-4); color: var(--muted); font-size: var(--meta-size); line-height: var(--meta-leading); }
th, td { padding: var(--table-cell-y) var(--table-cell-x); border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
th:first-child, td:first-child { padding-left: 0; }
th:last-child, td:last-child { padding-right: 0; }
thead th { border-bottom: 1px solid var(--rule-strong); font-weight: 650; }
tbody th { font-weight: 500; }
.number, .num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.num { text-align: right; }
.matrix, .history, .comparison { min-width: 760px; }
.matrix { min-width: 860px; }
.matrix thead .group th { padding-bottom: 4px; border-bottom: 0; }
.matrix thead .labels th { padding-top: 4px; color: var(--muted); font-size: 12px; }
.stage-no { display: inline-block; min-width: 28px; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.table-note { margin-top: var(--space-3); color: var(--muted); font-size: var(--meta-size); line-height: var(--meta-leading); }
.difference { background: var(--amber-wash); }
.warning-text { color: var(--amber); font-weight: 650; }
.matrix-warning { background: var(--amber-wash); color: var(--amber); }
.matrix td small { display: block; margin-top: 3px; white-space: normal; }
.case-library { table-layout: fixed; }
.case-library th:first-child { width: 17%; }
.case-library th:nth-child(2), .case-library th:nth-child(3) { width: 23%; }
.case-library th:nth-child(4) { width: 25%; }
.case-library th:last-child { width: 12%; }
.case-library td, .case-library th { overflow-wrap: break-word; }
.case-library td small { display: block; margin-bottom: 3px; color: var(--muted); }

details { width: auto; margin-top: var(--space-4); padding: 0; border: 0; }
details[open] { width: 100%; }
summary { max-width: 100%; padding: 0; color: var(--link); cursor: pointer; font-size: var(--body-size); font-weight: 400; line-height: var(--body-leading); text-decoration: underline; text-underline-offset: 3px; }
details[open] > summary { margin-bottom: var(--space-5); }
details > p, details > div, details > table, details > ul, details > dl, details > pre { margin-top: var(--space-3); }
details h3 { margin-top: var(--space-7); }
.receipt, .measurement-details, .technical-rundown { font-size: var(--meta-size); line-height: 1.6; }
dl, .receipt dl, .measurement-details dl { display: grid; grid-template-columns: 180px 1fr; gap: 8px 20px; font-size: var(--meta-size); line-height: var(--meta-leading); }
dt { color: var(--muted); }
dd { margin: 0; overflow-wrap: anywhere; }
code, pre { font: 12px/19px ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
pre, .source { padding: var(--space-4); background: #eeefea; white-space: pre-wrap; }

.claim-reading, .claim-unit { display: grid; grid-template-columns: minmax(0, 66ch) minmax(250px, 1fr); gap: var(--space-8); margin-top: var(--space-7); scroll-margin-top: var(--space-6); }
.claim-copy { min-width: 0; }
.claim-reading > h3, .claim-reading > p, .claim-reading > blockquote { grid-column: 1; }
.claim-reading > .claim-margin { grid-area: 1 / 2 / -1 / 3; }
.claim-margin { min-width: 0; align-self: start; font-size: var(--table-size); line-height: var(--table-leading); }
.claim-margin p { font-size: var(--table-size); line-height: var(--table-leading); }
.claim-margin:empty { min-height: 1px; }
.claim-fold { margin-top: var(--space-7); }
.claim-fold > .claim-reading { margin-left: 0; }
.note { padding-left: var(--space-4); border-left: 2px solid var(--rule); }
.note h3[tabindex="-1"]:focus { outline: 3px solid var(--link); outline-offset: 4px; }
.note + .note { margin-top: var(--space-7); }
blockquote { max-width: 62ch; margin: var(--space-3) 0; padding-left: var(--space-4); border-left: 2px solid #b7beb5; font-size: var(--body-size); line-height: var(--body-leading); }

.stages { padding-left: 28px; }
.stages > li { min-height: 70px; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.stage-row { display: grid; grid-template-columns: minmax(180px, 1fr) 170px 2fr; gap: var(--space-5); font-size: var(--table-size); line-height: var(--table-leading); }
.stage-row > * { font-size: var(--table-size); line-height: var(--table-leading); }
.stage-row .stage-state { font-weight: 500; }
.stage-row .failure { padding: 0; border: 0; background: transparent; color: var(--red); font-weight: 650; }
.update-notice { margin-top: var(--space-3); color: var(--amber); font-size: var(--table-size); }
.run-pipeline { margin: var(--space-5) 0 var(--space-5); }
.pipeline-strip { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.pipeline-strip > li { min-width: 0; }
.pipeline-cell { height: 100%; border: 1px solid var(--rule); border-left-width: 3px; background: var(--surface); }
.pipeline-strip > li + li .pipeline-cell { border-left-width: 0; }
.pipeline-cell--unclear { border-color: var(--amber-rule); background: var(--amber-wash); color: var(--amber); }
.pipeline-cell--crashed { border-color: var(--red); background: var(--red-wash); color: var(--red); }
.pipeline-cell--not-run { border-color: var(--rule); background: var(--neutral-wash); color: var(--muted); }
.pipeline-cell__link { display: grid; grid-template-rows: auto minmax(3.8em, auto) auto auto; height: 100%; min-width: 0; padding: 8px; color: inherit; text-decoration: none; }
.pipeline-cell__link:hover { outline: 2px solid currentColor; outline-offset: -2px; text-decoration: none; }
.pipeline-cell__number { font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 22px; }
.pipeline-cell__name { font-size: 11px; font-weight: 650; line-height: 15px; text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); text-underline-offset: 2px; }
.pipeline-cell__state { margin-top: 6px; font-size: 10px; font-weight: 650; line-height: 14px; }
.pipeline-cell__headline { min-width: 0; font-size: 10px; line-height: 14px; overflow-wrap: break-word; }
.pipeline-cell__measurements, .pipeline-cell__review { min-width: 0; color: inherit; font-size: 9px; line-height: 13px; overflow-wrap: break-word; }
.pipeline-cell__measurements .evidence-receipt { font-size: inherit; }
.recorded-parties { margin-top: var(--space-5); }
.run-stage { scroll-margin-top: var(--space-6); }
.joint-stage-states { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.joint-stage-states .run-stage { margin-top: var(--space-3); }
.stage-state-sentence { font-weight: 650; }
.stage-4-limitation { margin-top: var(--space-4); }
.stage-findings { max-width: 78ch; }
.stage-findings-caption { margin-bottom: 0; }
.stage-findings li + li { margin-top: 6px; }
.stage-section-headline, .scripted-output { color: var(--muted); }
.snapshot-comparison { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr) minmax(0, 1fr); gap: var(--space-6); align-items: start; }
.snapshot-comparison > section { margin-top: var(--space-4); }
.snapshot-comparison dl { grid-template-columns: 130px 1fr; }
.register-audit { min-width: 980px; }
/* R-g/C1: five columns and no evidence column, so the requirement table reads at 1024px without
   a horizontal scroll; each row's evidence links sit under it as a full-width list. */
.requirement-table { min-width: 0; }
.requirement-table p, .register-audit p { font-size: var(--table-size); line-height: var(--table-leading); }
.requirement-table .row-group th { padding-top: var(--space-5); border-bottom: 1px solid var(--rule-strong); font-size: var(--body-size); }
.requirement-table .evidence-row > td { padding-top: 0; border-top: 0; }
.requirement-table .evidence-links { margin: 0; }
.requirement-table .evidence-links li { font-size: var(--table-size); line-height: var(--table-leading); }
.issue-map > li + li { margin-top: var(--space-6); }

form { padding: var(--space-4); background: var(--neutral-wash); }
label { display: block; margin-bottom: 8px; font-size: var(--table-size); line-height: var(--table-leading); }
input, select, textarea { display: block; width: 100%; margin: 8px 0 var(--space-4); padding: 8px; border: 1px solid var(--rule-strong); background: var(--surface); color: inherit; font: inherit; }
#intake-form fieldset { margin: var(--space-7) 0 0; padding: 0; border: 0; }
#intake-form fieldset fieldset { margin-top: var(--space-5); }
#intake-form legend { padding: 0; font-size: 18px; font-weight: 650; line-height: 25px; }
.choice-label { display: flex; align-items: baseline; gap: var(--space-2); }
.choice-label input[type="checkbox"], .choice-label input[type="radio"] { flex: 0 0 auto; width: auto; margin: 0; }
textarea { min-height: 144px; resize: vertical; }
button { padding: 10px 16px; font: inherit; }
button.secondary-action { padding: 7px 12px; }
.note-control { margin: 1em 0; }
button:disabled { border: 1px solid var(--rule-strong); background: #e0e3dc; color: var(--muted); }
.form-errors, .errorlist { color: var(--red); }
.static-controls { margin-top: var(--space-5); padding: var(--space-5); background: var(--neutral-wash); }

.note-list { padding: 0; list-style: none; }
.note-list li { padding: var(--space-5) 0; border-bottom: 1px solid var(--rule); }
.note-list p { margin-top: 8px; }
.note-meta { color: var(--muted); font-size: var(--meta-size); line-height: var(--meta-leading); }
.withheld-thinking { padding-left: var(--space-4); border-left: 3px solid var(--amber-rule); }
/* A [bench] mark is a link to its entry in "Terms on this page" (R20), in the one link style. */
.term-arrived, [id^="term-"]:target { background: var(--amber-wash); outline: 2px solid var(--amber-rule); outline-offset: 2px; }
.source-span { border: 0; background: rgba(36, 91, 116, .10); scroll-margin-top: 2rem; }
.source-span--overlap { background: rgba(36, 91, 116, .19); }
.source-span--clicked { outline: 2px solid var(--amber); outline-offset: 1px; }
.finding-text { position: relative; }
.finding-mark { display: inline-block; width: 10px; height: 10px; margin-right: var(--space-2); border: 2px solid var(--ink); border-radius: 50%; background: var(--ink); vertical-align: .02em; }
.finding-mark--partly-supported { border-color: var(--amber); background: var(--amber); }
.finding-mark--not-mentioned { border-color: var(--amber); background: transparent; }
.finding-mark--unchecked { border-color: var(--rule-strong); border-style: dashed; background: transparent; }
.finding-mark--premise { border-radius: 1px; }
.not-citable { padding: 12px 16px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); color: var(--amber); }
.grounding-partial, .evidence-gap-row { background: transparent; }
.reviewer-gap-links { color: var(--muted); font-size: var(--table-size); }
.histogram-bar { display: block; min-height: 8px; width: calc(100% * var(--count) / max(var(--population), 1)); background: #52697a; }
.terms { margin-top: var(--space-12); }

@media (max-width: 720px) {
  .site-header, main, .site-footer { padding-left: 20px; padding-right: 20px; }
  .site-header { align-items: flex-start; }
  main { padding-top: 28px; }
  .run-path { margin-top: -28px; }
  h1 { font-size: 28px; line-height: 32px; }
  .hero-grid, .claim-reading, .claim-unit, .joint-stage-states, .snapshot-comparison { grid-template-columns: 1fr; gap: var(--space-4); }
  .lead { padding: var(--space-5); }
  .secondary-reading { padding-top: 0; }
  .section-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  section { margin-top: 40px; }
  dl, .receipt dl, .measurement-details dl { grid-template-columns: 1fr; gap: 4px; }
  dd { margin-bottom: 12px; }
  .stage-row { grid-template-columns: 1fr; gap: 4px; }
  .stages > li { min-height: 0; }
  .claim-reading > h3, .claim-reading > p, .claim-reading > blockquote, .claim-reading > .claim-margin { grid-column: 1; grid-row: auto; }
}

@media (max-width: 899px) {
  .hero-grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .pipeline-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .pipeline-strip > li + li .pipeline-cell { border-left-width: 0; }
  .pipeline-strip > li:nth-child(6) .pipeline-cell { border-left-width: 3px; }
  .responsive-record-table, .responsive-record-table tbody, .responsive-record-table tr,
  .responsive-record-table th, .responsive-record-table td { display: block; width: 100%; }
  .responsive-record-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .responsive-record-table tr { padding: var(--space-4) 0; border-bottom: 1px solid var(--rule-strong); }
  .responsive-record-table th, .responsive-record-table td { padding: var(--space-2) 0; border: 0; }
  .responsive-record-table [data-label]::before { display: block; margin-bottom: 2px; color: var(--muted); content: attr(data-label); font-size: var(--meta-size); font-weight: 650; line-height: var(--meta-leading); }
  .responsive-record-table .gate-protocol-trigger, .responsive-record-table .gate-review-requirement { padding: var(--space-3); background: var(--neutral-wash); }
  .scroll:has(> [data-package-matrix]) { -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 34px), transparent 100%); mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 34px), transparent 100%); }
}

@media (max-width: 599px) {
  .pipeline-strip { grid-template-columns: 1fr; }
  .pipeline-strip > li + li .pipeline-cell { border-left-width: 3px; }
  .pipeline-cell__link { grid-template: auto auto auto / 32px minmax(0, 1fr); gap: 2px var(--space-2); }
  .pipeline-cell__number { grid-area: 1 / 1 / 4 / 2; }
  .pipeline-cell__name { grid-column: 2; grid-row: 1; font-size: var(--meta-size); line-height: var(--meta-leading); }
  .pipeline-cell__state { grid-column: 2; grid-row: 2; margin-top: 0; font-size: 11px; }
  .pipeline-cell__headline, .pipeline-cell__review { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
/* Site chrome: the header carries the brand and the path; shared by every page. */
.site-header { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 28px;
  padding-top: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--rule);
  font-size: 13px; line-height: 19px; }
.brand { color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-decoration: none; }
.path { color: var(--muted); }
.path a { color: var(--link); }
.path .sep { margin: 0 6px; color: var(--rule-strong); }
.path .nowrap { white-space: nowrap; }
.site-footer { padding-top: 20px; padding-bottom: 32px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 12px; line-height: 19px; }

/* ==== Reading pages (decision 0041; docs/design/reference-pages/) ==== */
/* Every rule below applies only inside <main class="reading">; unmigrated pages keep the rules above. */
main.reading h1, main.reading h2, main.reading h3, main.reading h4, main.reading p, main.reading ul, main.reading ol, main.reading table, main.reading figure, main.reading blockquote { margin: 0; }
/* One link style (R33, decision 0062): every link is link-coloured and underlined at rest, in prose,
   tables, lists, headings and the stage index alike, because the readers read these pages as
   documents and do not hover to find out what opens. In dense tables and lists the resting
   underline is lighter than the text; hover gives it the full colour at 2 px. Exempt: bordered
   controls, the brand, and the pointer shortcuts that repeat nearby links (the fact strip, the
   repeat table's marks; R43); only those set text-decoration to none. */
main.reading a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 3px; }
main.reading :is(table, .rows, .premises, .inline-runs, .stage-nav) a, main.reading .quiet-link { text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
main.reading a:hover { text-decoration-color: currentColor; text-decoration-thickness: 2px; }
main.reading a:focus-visible, main.reading button:focus-visible, main.reading summary:focus-visible, main.reading textarea:focus-visible { outline: 3px solid var(--link); outline-offset: 3px; }
main.reading .vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
main.reading .nowrap { white-space: nowrap; }
main.reading .num { font-variant-numeric: tabular-nums; }
/* Frame */
main.reading { padding-top: 36px; padding-bottom: 72px; }
/* The spread: the reading on the left, the bench's judgement and the reader's notes on the right. */
main.reading .spread { display: grid; grid-template-columns: minmax(0, var(--measure)) minmax(18rem, 1fr); column-gap: var(--gutter); }
main.reading .spread > .body { grid-column: 1; min-width: 0; }
main.reading .spread > .margin { grid-column: 2; min-width: 0; font-size: 14px; line-height: 21px; }
main.reading .margin p + p { margin-top: 8px; }
/* Masthead: reality, wholeness, run; then the case; then when and on what. */
main.reading .masthead { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 14px; line-height: 21px; font-weight: 650; }
main.reading .badge { display: inline-block; padding: 1px 7px; font-size: 11px; font-weight: 750; letter-spacing: .08em; line-height: 18px; }
main.reading .badge--real { background: var(--action); color: #fff; }
main.reading .badge--fake { border: 1px solid #9bb9c8; padding: 0 6px; background: #e0f0f7; color: #21465a; }
main.reading .run-swatch { display: inline-block; width: 10px; height: 10px; margin-right: 5px; border: 1px solid hsl(var(--run-hue, 28) 38% 38%); border-radius: 2px; background: hsl(var(--run-hue, 28) 48% 68%); vertical-align: -.02em; }
/* The site-wide paragraph size must not override the margin's smaller text (R85). */
main.reading .margin p, main.reading .margin li { font-size: inherit; line-height: inherit; }
main.reading .case-line { margin-top: 12px; font-size: 18px; line-height: 25px; font-weight: 600; }
main.reading .case-line .v { color: var(--muted); font-weight: 400; }
main.reading .meta { margin-top: 2px; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading .meta > span { white-space: nowrap; }
main.reading h1 { margin: 0 0 18px; font-size: 36px; line-height: 42px; font-weight: 650; letter-spacing: -.025em; text-wrap: balance; }
main.reading .opening { margin-top: 28px; }
main.reading .opening .margin { padding-top: 6px; }
main.reading .lede p { font-size: 18px; line-height: 28px; text-wrap: pretty; }
main.reading .lede p + p { margin-top: 14px; }
main.reading .lede .quiet { color: var(--muted); font-size: 16px; line-height: 25px; }
main.reading .lede .next { margin-top: 18px; font-size: 16px; font-weight: 600; }
/* The ten stages: one ordered list with three aligned fields (R64). */
main.reading .stage-index { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 20px; font-variant-numeric: tabular-nums; }
main.reading .stage-index caption { padding-bottom: 6px; color: var(--muted); font-size: 12px; font-weight: 650; letter-spacing: .08em; line-height: 18px; text-align: left; text-transform: uppercase; }
main.reading .stage-index th, main.reading .stage-index td { padding: 5px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
main.reading .stage-index tbody:first-of-type tr:first-child > * { border-top: 1px solid var(--rule-strong); }
main.reading .stage-index th[scope="row"] { width: 26px; color: var(--muted); font-weight: 500; }
main.reading .stage-index td.state { padding-left: 12px; color: var(--muted); text-align: right; white-space: nowrap; }
main.reading .stage-index tr.failed td.state { color: var(--amber); font-weight: 650; }
main.reading .stage-index tr.group th { padding-top: 12px; color: var(--muted); font-size: 12px; font-weight: 600; line-height: 18px; }
/* Sections */
main.reading .section { margin-top: 64px; padding-top: 22px; border-top: 1px solid var(--rule); scroll-margin-top: 16px; }
main.reading h2 { position: relative; font-size: 23px; line-height: 29px; font-weight: 650; letter-spacing: -.015em; text-wrap: balance; }
main.reading .stage-numeral { color: var(--muted); font-weight: 500; font-variant-numeric: tabular-nums; margin-right: 12px; }
@media (min-width: 1100px) {
  main.reading h2 .stage-numeral, main.reading h3.stage-head .stage-numeral { position: absolute; right: 100%; margin-right: 16px; white-space: nowrap; }
}
main.reading .section-sentence { margin-top: 8px; text-wrap: pretty; }
main.reading .state-line { font-weight: 650; }
main.reading .state-line.failed { color: var(--amber); }
main.reading .state-line + .go, main.reading .go { display: inline-block; margin-top: 4px; }
main.reading .margin .stage-pair + .stage-pair { margin-top: 14px; }
main.reading .margin .fine { color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading h3 { font-size: 18px; line-height: 25px; font-weight: 650; }
main.reading .group-title { margin-top: 44px; }
main.reading .group-title .count { color: var(--muted); font-weight: 500; }
main.reading .group-caption { margin-top: 4px; color: var(--muted); font-size: 14px; line-height: 21px; }
/* Finding marks, shared by the distribution line, the strip and every fact. */
main.reading .mark { display: inline-block; flex: none; width: 10px; height: 10px; border-radius: 50%; vertical-align: -.02em; }
main.reading .mark--supported { background: var(--ink); }
main.reading .mark--partly { background: var(--amber); }
main.reading .mark--not-mentioned { border: 2px solid var(--amber); }
main.reading .mark--unchecked { border: 1.5px dashed var(--rule-strong); }
main.reading .mark--ungrounded { border: 1.5px solid var(--rule-strong); }
main.reading .mark--excluded { width: 10px; height: 2px; border-radius: 0; background: var(--rule-strong); vertical-align: .22em; }
main.reading .dist { margin-top: 10px; text-wrap: pretty; }
main.reading .dist .mark { margin: 0 5px 0 2px; }
/* The fact strip: one mark per fact, each a link to that fact's page, with a tooltip naming it.
   Each target is 14 x 24 px (R45); the tooltip shows on hover and keyboard focus. */
main.reading .strip { position: relative; display: flex; flex-wrap: wrap; align-items: center; margin-top: 8px; }
main.reading .strip > a { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 24px; color: inherit; text-decoration: none; }
main.reading .strip > a .mark { transition: transform .1s ease-out; }
main.reading .strip > a:hover .mark, main.reading .strip > a:focus-visible .mark { transform: scale(1.4); }
main.reading .strip > a:focus-visible { outline: 2px solid var(--link); outline-offset: 0; }
main.reading .tip { display: none; position: absolute; bottom: calc(100% + 4px); left: -6px; z-index: 5; width: max-content; max-width: min(24rem, calc(100vw - 32px)); padding: 8px 10px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 400; line-height: 19px; text-align: left; white-space: normal; pointer-events: none; }
main.reading .tip::after { content: ""; position: absolute; top: 100%; left: 8px; border: 5px solid transparent; border-top-color: var(--ink); }
main.reading .tip b { display: block; font-weight: 650; }
main.reading .tip .t-finding { display: block; margin-top: 2px; color: #d9dfd8; }
main.reading .strip > a:hover .tip, main.reading .strip > a:focus-visible .tip { display: block; }
main.reading .strip-caption { margin-top: 2px; color: var(--muted); font-size: 13px; line-height: 19px; }
/* A fact that needs a reader. */
main.reading .fact { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--rule); }
main.reading .fact h4 { font-size: 18px; line-height: 25px; font-weight: 650; }
main.reading .claim { margin-top: 6px; }
main.reading .kind { margin-top: 2px; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading blockquote.doc { max-width: 62ch; margin-top: 14px; padding-left: 16px; border-left: 2px solid var(--quote-rule); font-family: var(--serif); font-size: 17px; line-height: 26px; }
main.reading blockquote.doc p { text-indent: -.42em; }
main.reading .doc-source { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading .premises { margin-top: 14px; padding: 0; list-style: none; font-size: 14px; line-height: 21px; }
main.reading .premises li { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 6px 0; border-bottom: 1px solid var(--rule); }
main.reading .premises li:first-child { border-top: 1px solid var(--rule); }
main.reading .premises .res { color: var(--muted); white-space: nowrap; }
main.reading .premises-head { margin-top: 16px; font-size: 14px; font-weight: 650; line-height: 21px; }
main.reading .finding { display: flex; align-items: baseline; gap: 8px; font-weight: 650; }
main.reading .finding .mark { transform: translateY(1px); }
main.reading .finding.amber { color: var(--amber); }
main.reading .who { color: var(--muted); font-size: 12px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; margin-right: 4px; }
main.reading .verifier { margin-top: 6px; }
main.reading .flag { margin-top: 12px; padding: 10px 12px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); color: var(--amber); }
main.reading .flag strong { font-weight: 650; }
main.reading .control { display: inline-block; margin-top: 12px; padding: 4px 10px; border: 1px solid var(--action); background: transparent; color: var(--action); font: inherit; font-size: 13px; font-weight: 600; line-height: 19px; text-decoration: none; cursor: pointer; }
main.reading .control:hover { background: var(--surface); }
main.reading .control--primary { background: var(--action); color: #fff; }
main.reading .control--primary:hover { background: #1b3c35; }
main.reading .note-form { margin-top: 12px; padding: 12px; background: var(--neutral-wash); }
main.reading .note-form label { display: block; font-size: 13px; font-weight: 650; line-height: 19px; }
main.reading .note-form textarea { display: block; width: 100%; min-height: 108px; margin-top: 6px; padding: 8px; border: 1px solid var(--rule-strong); background: var(--surface); color: inherit; font: inherit; font-size: 14px; line-height: 21px; resize: vertical; }
main.reading .note-form .control { margin-top: 8px; margin-right: 6px; }
main.reading .note-form .hint { margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 18px; }
/* Compact rows: one line per unexceptional fact, what departs from the caption in the margin. */
main.reading .rows { margin-top: 8px; padding: 0; list-style: none; }
main.reading .rows > li { padding: 7px 0; line-height: 24px; border-bottom: 1px solid var(--rule); }
main.reading .rows > li:first-child { border-top: 1px solid var(--rule-strong); }
main.reading .rows .body { text-wrap: pretty; }
main.reading .rows .margin { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 13px; line-height: 24px; }
/* A row's note control is always shown (R74, decision 0062): compact and quiet, so twenty rows
   do not become twenty loud buttons, while its target takes the row's height in the margin cell,
   so the reader aims at the row, not at a line of it (R45). The stretched ::after covers the
   cell; the cell's other links and an opened note sit above it, and an open form switches it
   off, so a stray click never reloads a draft. */
main.reading .rows > li > .margin { position: relative; }
main.reading .row-note { padding: 0 7px; border-color: var(--control-quiet); color: var(--muted); font-size: 12px; font-weight: 500; line-height: 22px; white-space: nowrap; }
main.reading .row-note:hover, main.reading .row-note:focus-visible { border-color: var(--action); background: var(--surface); color: var(--action); }
main.reading .rows .margin .row-note { margin-top: 0; margin-left: auto; }
main.reading .rows .margin .row-note::after { content: ""; position: absolute; inset: 0; }
main.reading .rows .margin:hover .row-note { border-color: var(--action); background: var(--surface); color: var(--action); }
main.reading .rows .margin :is(a, button, select, input, textarea):not(.row-note), main.reading .rows .margin [id^="note-margin-"] { position: relative; z-index: 1; }
main.reading .rows > li:has([data-note-editor]) .row-note::after { display: none; }
/* A note form opened on a one-line row takes the margin's full width, below the row's note. */
main.reading .rows .margin > [id^="note-margin-"]:not(:empty) { flex-basis: 100%; color: var(--ink); }
main.reading .rows .margin > [id^="note-margin-"]:empty { display: none; }
/* A note shown under its row reads at the margin's size, its byline small, its control quiet. */
main.reading :is(.note-slot, .rows [id^="note-margin-"], .claim-margin) .note { margin-top: 6px; font-size: 14px; line-height: 21px; }
main.reading :is(.note-slot, .rows [id^="note-margin-"], .claim-margin) .note h3 { font-size: 13px; line-height: 19px; font-weight: 650; color: var(--muted); }
main.reading :is(.note-slot, .rows [id^="note-margin-"], .claim-margin) .note p { font-size: 14px; line-height: 21px; }
main.reading :is(.note-slot, .rows [id^="note-margin-"], .claim-margin) .note .control { margin-top: 4px; padding: 0 7px; font-size: 12px; font-weight: 500; line-height: 22px; }
main.reading .row-group { display: flex; align-items: baseline; gap: 8px; margin-top: 26px; font-size: 14px; font-weight: 650; line-height: 21px; }
main.reading .row-group .count { color: var(--muted); font-weight: 500; }
main.reading .match { color: var(--muted); }
/* Stages 5–10 */
main.reading .stage-rows { margin-top: 12px; }
main.reading .stage-rows > .spread { padding: 12px 0; border-bottom: 1px solid var(--rule); }
main.reading .stage-rows > .spread:first-child { border-top: 1px solid var(--rule-strong); }
main.reading h3.stage-head { position: relative; font-size: 16px; line-height: 25px; }
main.reading h3.stage-head .stage-numeral { font-size: 16px; }
main.reading .stage-rows .body p { margin-top: 2px; }
main.reading details { margin-top: 10px; }
/* A fold is neither a link nor a control (R33): ink text behind a disclosure mark that turns when open. */
main.reading summary { color: var(--ink); cursor: pointer; text-decoration: none; list-style: none; }
main.reading summary::-webkit-details-marker { display: none; }
main.reading summary::before { content: "▸"; display: inline-block; width: 1.1em; color: var(--muted); transition: transform .12s ease-out; }
main.reading details[open] > summary::before { transform: rotate(90deg); }
main.reading summary:hover::before { color: var(--ink); }
main.reading details[open] > summary { margin-bottom: 8px; }
/* Could not establish */
main.reading .open-q .margin code { font-family: var(--mono); font-size: 12px; color: var(--muted); }
/* Documents and scope questions */
main.reading .bundle { width: 100%; margin-top: 14px; border-collapse: collapse; font-size: 14px; line-height: 21px; }
main.reading .bundle caption { padding-bottom: 6px; color: var(--muted); font-size: 13px; line-height: 19px; text-align: left; }
main.reading .bundle th, main.reading .bundle td { padding: 6px 12px 6px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
main.reading .bundle thead th { border-bottom: 1px solid var(--rule-strong); color: var(--muted); font-size: 13px; font-weight: 650; }
main.reading .bundle td:last-child, main.reading .bundle th:last-child { padding-right: 0; }
main.reading .bundle .ans, main.reading .bundle .from { white-space: nowrap; }
main.reading .withheld { color: var(--muted); }
main.reading .aside { margin-top: 14px; font-size: 14px; line-height: 21px; }
main.reading .aside .q { font-family: var(--serif); font-size: 15px; }
main.reading .terms { margin-top: 64px; padding-top: 18px; border-top: 1px solid var(--rule); font-size: 14px; line-height: 21px; }
main.reading .terms dl { display: grid; grid-template-columns: 11rem 1fr; gap: 6px 20px; margin-top: 8px; }
main.reading .terms dt { color: var(--muted); }
main.reading .terms dd { margin: 0; }
/* The ten stages with a result column: what each stage produced, in one phrase. */
main.reading .stage-index td.result { padding-left: 12px; color: var(--muted); text-align: right; white-space: nowrap; }
main.reading .stage-index tr.notable td.result { color: var(--ink); font-weight: 650; }
/* Records in a stage section: a label column and a value column, one rule per row. */
main.reading .records { width: 100%; margin-top: 14px; border-collapse: collapse; font-size: 14px; line-height: 21px; }
main.reading .records th, main.reading .records td { padding: 6px 12px 6px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
main.reading .records tr:first-child > * { border-top: 1px solid var(--rule-strong); }
main.reading .records th { width: 8.5rem; color: var(--muted); font-weight: 500; }
main.reading .records td.amt { padding-right: 0; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
main.reading .records .sub { color: var(--muted); }
/* A result set out beside its question (stage 7). */
main.reading .answer { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--rule); }
main.reading .answer h4 { font-size: 16px; line-height: 24px; font-weight: 650; }
main.reading .answer .on { color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .scales { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 2px 20px; margin-top: 8px; font-size: 14px; line-height: 21px; }
main.reading .scales dt { color: var(--muted); font-size: 13px; }
main.reading .scales dd { margin: 0; font-weight: 600; }
/* Word-sized graphics. Each carries its numbers in words beside it; the drawing adds proportion. */
main.reading .band { position: relative; width: 100%; max-width: 22rem; height: 22px; margin-top: 12px; }
main.reading .band::before { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 1px; background: var(--rule-strong); }
main.reading .band .fill { position: absolute; top: 5px; height: 11px; background: var(--ink); }
main.reading .band-scale { position: relative; max-width: 22rem; height: 18px; }
main.reading .band-scale .tick { position: absolute; top: 0; transform: translateX(-50%); color: var(--muted); font-size: 12px; line-height: 16px; }
main.reading .timeline { position: relative; max-width: 36rem; height: 76px; margin: 16px 0 10px; }
main.reading .timeline .axis { position: absolute; left: 0; right: 0; top: 29px; height: 1px; background: var(--rule-strong); }
main.reading .timeline .run-span { position: absolute; top: 28px; height: 3px; background: var(--ink); }
main.reading .timeline .late { position: absolute; top: 21px; height: 17px; background: #d3d8d0; }
main.reading .timeline .pin { position: absolute; top: 20px; width: 1px; height: 18px; background: var(--ink); }
main.reading .timeline .lab { position: absolute; font-size: 12px; line-height: 16px; white-space: nowrap; }
main.reading .timeline .lab.above { top: 0; }
main.reading .timeline .lab.below { top: 44px; }
main.reading .timeline .lab.end { transform: translateX(-100%); }
main.reading .timeline .lab .d { display: block; color: var(--muted); }
main.reading .reasons { margin-top: 10px; padding-left: 1.4em; }
main.reading .reasons li { padding-left: 4px; }
main.reading .reasons li + li { margin-top: 6px; }
main.reading .reasons .why { color: var(--muted); font-size: 14px; line-height: 21px; }
@media (max-width: 760px) {
  main.reading .strip > a { position: static; }
  main.reading .tip { left: 0; }
  main.reading .tip::after { display: none; }
  main.reading .scales { grid-template-columns: auto; }
  main.reading .timeline .lab.above.hide-narrow { display: none; }
}
/* A comparison table wider than the screen scrolls in its labelled region: its caption holds
   still and says so, and a shadow marks the edge that hides columns (R59), as on the case page. */
main.reading .scroll { background:
  linear-gradient(to right, var(--paper) 30%, transparent) left center / 32px 100% no-repeat local,
  linear-gradient(to left, var(--paper) 30%, transparent) right center / 32px 100% no-repeat local,
  radial-gradient(farthest-side at 0 50%, rgb(0 0 0 / 0.35), transparent) left center / 18px 100% no-repeat scroll,
  radial-gradient(farthest-side at 100% 50%, rgb(0 0 0 / 0.35), transparent) right center / 18px 100% no-repeat scroll; }
@media (max-width: 760px) {
  main.reading .scroll caption .hold { display: block; position: sticky; left: 0; width: calc(100vw - 40px); padding-right: 12px; }
}
/* Narrow screens: the margin drops beneath its subject, set off by a rule. */
@media (max-width: 760px) {
  main.reading { padding-top: 24px; }
  main.reading h1 { font-size: 28px; line-height: 33px; margin-top: 20px; }
  main.reading .lede p { font-size: 17px; line-height: 26px; }
  main.reading .spread { grid-template-columns: minmax(0, 1fr); }
  main.reading .spread > .margin { grid-column: 1; margin-top: 12px; }
  main.reading .fact .margin, main.reading .section-top .margin { padding-top: 8px; border-top: 1px dotted var(--rule-strong); }
  main.reading .opening .margin { margin-top: 28px; }
  main.reading .rows .margin { margin-top: 0; justify-content: flex-start; }
  main.reading .rows .margin .row-note { margin-left: 0; }
  main.reading .rows .margin:empty { display: none; }
  main.reading .section { margin-top: 48px; }
  main.reading .terms dl { grid-template-columns: 1fr; gap: 2px; }
  main.reading .terms dd { margin-bottom: 8px; }
  main.reading .bundle .from { display: none; }
  main.reading table.bundle td .doc-by { display: block; }
}
@media print {
  main.reading .control, main.reading .note-form { display: none; }
  main.reading details > * { display: block; }
}

/* ---- page: run (run_detail.html and its partials) ---- */
main.reading .meta > span.cfg { white-space: normal; overflow-wrap: anywhere; }
main.reading .premises .res { max-width: 22rem; white-space: normal; text-align: right; }
main.reading p.plain { margin-top: 2px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .margin .note { margin-top: 12px; padding-left: 12px; border-left: 2px solid var(--rule); }
main.reading .margin .note p { margin: 0; }
main.reading .masthead, main.reading .case-line, main.reading .meta { max-width: none; }
/* A part names its whole (R86): the first line under the masthead names the run and links to its
   reading, at body size, above the part's own kicker. */
main.reading .part-of { max-width: var(--measure); margin-top: 22px; font-size: var(--body-size); line-height: var(--body-leading); }
main.reading .part-of .to-run { white-space: nowrap; }
main.reading .part-of + .opening, main.reading .later-run + .opening { margin-top: 22px; }
/* A run that is not the latest says so near its top and links the latest (R87). */
main.reading .later-run { max-width: var(--measure); margin-top: 8px; font-size: 14px; line-height: 21px; }
main.reading .meta + .later-run { margin-top: 14px; }
main.reading .run-name { white-space: nowrap; }
main.reading .run-name .badge { margin-left: 2px; vertical-align: 1px; }
/* Where to go next, at the foot of every page inside a run (R87). */
main.reading .page-foot { margin-top: 40px; }
main.reading .page-foot .run-name .badge { font-size: 10px; line-height: 16px; }
main.reading .bundle.docs td:first-child { white-space: nowrap; }
main.reading .stage-index tr.crashed td.state { color: var(--red); font-weight: 650; }
main.reading .stage-index tr.not-run td.state { color: var(--muted); font-style: italic; }
main.reading .state-line.crashed { color: var(--red); }
main.reading .margin .stage-pair + .stage-pair { margin-top: 14px; }
main.reading .margin .go { margin-top: 4px; }
main.reading .issue-members { display: block; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .dup { color: var(--amber); font-weight: 650; }
main.reading .dup-note { color: var(--muted); font-size: 13px; }
main.reading .rows .note-control { margin: 0; padding: 0; background: transparent; }
main.reading .fact .note-control { margin: 0; padding: 0; background: transparent; }
/* One subject's note: its empty record and its control on one line, where the form opens (R23, R35). */
main.reading .note-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 12px; font-size: 14px; line-height: 21px; }
main.reading .note-line .control { margin-top: 0; }
main.reading .note-slot-line:first-child > .note-line { margin-top: 0; }
main.reading form[data-note-editor] > h3:first-of-type { margin-top: 0; }
main.reading .req-table { width: 100%; margin-top: 14px; border-collapse: collapse; font-size: 14px; line-height: 20px; font-variant-numeric: tabular-nums; }
main.reading .req-table caption { padding-bottom: 8px; color: var(--muted); font-size: 13px; line-height: 19px; text-align: left; }
main.reading .req-table th, main.reading .req-table td { padding: 6px 0 6px 12px; border-bottom: 1px solid var(--rule); vertical-align: top; }
main.reading .req-table thead th { border-bottom: 1px solid var(--rule-strong); color: var(--muted); font-size: 12px; font-weight: 650; line-height: 16px; text-align: right; }
main.reading .req-table thead th:first-child, main.reading .req-table tbody th { padding-left: 0; text-align: left; font-weight: 400; }
main.reading .req-table td.num { width: 3.6rem; text-align: right; }
main.reading .req-table td.nm { font-weight: 650; }
main.reading .req-table .grp th { padding-top: 12px; color: var(--muted); font-size: 12px; font-weight: 650; }
main.reading .costbar { display: flex; max-width: 22rem; height: 8px; margin-top: 10px; background: var(--rule); }
main.reading .costbar span { display: block; height: 100%; border-right: 1px solid var(--paper); background: var(--rule-strong); }
main.reading .costbar span:first-child { background: var(--ink); }
@media (max-width: 760px) {
  main.reading .req-table td.num { width: 2.4rem; }
  main.reading .req-table .hide-narrow { display: none; }
  main.reading .req-table thead th { font-size: 11px; }
}

/* ---- page: library and case (home.html, package_detail.html) ---- */
/* Both pages: a run's swatch takes its own hue (R5); the shared rule above fixes one hue. */
main.reading.case-library .opening, main.reading.case-page .opening { margin-top: 0; }
main.reading.case-page .opening { margin-top: 28px; }
main.reading.case-library p, main.reading.case-page p { max-width: none; }
main.reading.case-library p + p, main.reading.case-page p + p { margin-top: 0; }
main.reading.case-library .lede p + p, main.reading.case-page .lede p + p { margin-top: 14px; }
main.reading.case-library section, main.reading.case-page section { margin-top: 0; }
/* The library's margin: the one action and the mode new runs will use (R4). */
main.reading.case-library .add-case { font-size: 16px; font-weight: 600; }
/* The two shelves: cases with real runs, then cases without one on their latest revision. */
main.reading.case-library .shelf { margin-top: 44px; }
main.reading.case-library .shelf h2 { font-size: 20px; line-height: 27px; }
main.reading.case-library .shelf .group-caption { max-width: var(--measure); }
/* The library table: one row per case; each cell's first line is the comparable token, its
   second the qualifier. Names wrap between words, never inside one (R60). */
main.reading.case-library .library { width: 100%; margin-top: 12px; table-layout: auto; border-collapse: collapse; font-size: 14px; line-height: 21px; font-variant-numeric: tabular-nums; }
main.reading.case-library .library th, main.reading.case-library .library td { padding: 10px 20px 10px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; overflow-wrap: normal; }
main.reading.case-library .library th:last-child, main.reading.case-library .library td:last-child { padding-right: 0; }
main.reading.case-library .library thead th { padding-top: 0; padding-bottom: 6px; border-bottom: 1px solid var(--rule-strong); color: var(--muted); font-size: 13px; font-weight: 650; line-height: 19px; vertical-align: bottom; }
main.reading.case-library .library .q-sub { display: block; font-weight: 400; }
main.reading.case-library .library tbody th { font-weight: 400; }
/* A case name opens the case, so it is a link in the one link style (R33), keeping its weight. */
main.reading.case-library .library .case { font-size: 16px; font-weight: 600; line-height: 23px; text-wrap: balance; }
/* The "v" is part of the one link: in its colour, so the underline runs unbroken under it. */
main.reading.case-library .library .case .v { color: inherit; font-weight: 400; }
main.reading.case-library .library .l1 { display: block; }
main.reading.case-library .library .sub { display: block; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading.case-library .library .amber { color: var(--amber); }
main.reading.case-library .library .red { color: var(--red); }
main.reading.case-library .library .ref { font-family: var(--mono); font-size: 12px; }
/* The latest real run carries the row's weight; the measures beside it read as its qualifiers. */
main.reading.case-library .library a.run { font-weight: 600; }
main.reading.case-library .library .first { font-weight: 400; }
main.reading.case-library .library .plain { color: var(--ink); }
main.reading.case-library .library .badge { margin-right: 4px; }
main.reading.case-library .col-case { width: 27%; }
main.reading.case-library .col-run { width: 21%; }
main.reading.case-library .col-repeat { width: 24%; }
main.reading.case-library .col-match { width: 16%; }
main.reading.case-library .col-notes { width: 12%; }
main.reading.case-library .library td:last-child { white-space: nowrap; }
main.reading.case-library .col-other { width: 61%; }
main.reading.case-library .terms dl, main.reading.case-page .terms dl { grid-template-columns: 13rem 1fr; }
@media (max-width: 760px) {
  main.reading.case-library .shelf { margin-top: 36px; }
  /* Below 760 px each case becomes a block: the name, then each measure under its own label. */
  main.reading.case-library .library, main.reading.case-library .library tbody, main.reading.case-library .library tr, main.reading.case-library .library th, main.reading.case-library .library td { display: block; width: auto; }
  main.reading.case-library .library thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  main.reading.case-library .library tr { padding: 12px 0; border-bottom: 1px solid var(--rule); }
  main.reading.case-library .library tbody tr:first-child { border-top: 1px solid var(--rule-strong); }
  main.reading.case-library .library th, main.reading.case-library .library td { padding: 0; border: 0; }
  main.reading.case-library .library td { display: grid; grid-template-columns: 7.5rem 1fr; gap: 0 10px; margin-top: 6px; }
  main.reading.case-library .library td::before { content: attr(data-label); color: var(--muted); font-size: 12px; line-height: 21px; }
  main.reading.case-library .library td > * { grid-column: 2; }
  main.reading.case-library .library td:last-child { white-space: normal; }
  main.reading.case-library .terms dl, main.reading.case-page .terms dl { grid-template-columns: 1fr; }
}

/* Case page: sections keep the reading pages' spacing after the reset above. */
main.reading.case-page .section { margin-top: 64px; }
main.reading.case-page .section-sentence + .section-sentence { margin-top: 8px; }
/* The opening's margin: this page's contents, each with its result (the stage index's pattern). */
main.reading.case-page .case-index th[scope="row"] { width: auto; color: var(--ink); font-weight: 400; white-space: nowrap; }
main.reading.case-page .case-index td.result { white-space: normal; }
main.reading.case-page .lede .next .sep { margin: 0 2px; color: var(--rule-strong); }
main.reading.case-page .lede .next .badge { margin-right: 4px; vertical-align: 2px; }
main.reading.case-page .cfg { font-weight: 700; }
/* Two cases that share a title: the case reference that tells them apart, on the first line (R38). */
main.reading.case-page .case-line .ref-line { color: var(--muted); font-weight: 400; }
main.reading.case-page .case-line .ref { font-family: var(--mono); font-size: 0.85em; }
/* Stage marks in the repeat table, one per run and stage. The ink is on the exceptions (Tufte):
   a stage that passed is a small pale dot; amber diamond did not pass; open square ran but rests
   on an earlier stage; red cross crashed; dashed square not run. */
main.reading.case-page .sm { display: inline-block; width: 10px; height: 10px; vertical-align: middle; }
main.reading.case-page .sm--passed { width: 6px; height: 6px; border-radius: 50%; background: var(--rule-strong); }
main.reading.case-page .sm--failed { width: 9px; height: 9px; background: var(--amber); transform: rotate(45deg); }
main.reading.case-page .sm--rests { border: 1.5px solid var(--rule-strong); }
main.reading.case-page .sm--crashed { position: relative; width: 11px; height: 11px; }
main.reading.case-page .sm--crashed::before, main.reading.case-page .sm--crashed::after { content: ""; position: absolute; left: 4px; top: -1px; width: 2.5px; height: 13px; background: var(--red); transform: rotate(45deg); }
main.reading.case-page .sm--crashed::after { transform: rotate(-45deg); }
main.reading.case-page .sm--not_run { border: 1.5px dashed var(--rule-strong); }
main.reading.case-page .legend { margin-top: 18px; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading.case-page .legend .sm { margin: 0 5px 0 2px; }
main.reading.case-page .legend .item { white-space: nowrap; }
/* The repeat table: stages down, runs across, grouped by configuration, the current real one
   first; a genuine comparison, so it scrolls in its own region below the width it needs (R59).
   position: relative keeps the visually hidden labels inside the region. */
main.reading.case-page .repeat-wrap { position: relative; margin-top: 10px; overflow-x: auto; }
/* When the table is wider than the region, a shadow at the edge that hides runs says so; it
   travels with the scroll, so it is gone once the last column is in view (R59). */
main.reading.case-page .repeat-wrap {
  background:
    linear-gradient(to right, var(--paper) 30%, transparent) left center / 32px 100% no-repeat local,
    linear-gradient(to left, var(--paper) 30%, transparent) right center / 32px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, rgb(0 0 0 / 0.2), transparent) left center / 12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgb(0 0 0 / 0.2), transparent) right center / 12px 100% no-repeat scroll;
}
main.reading.case-page .repeat { width: auto; table-layout: auto; border-collapse: collapse; font-size: 14px; line-height: 20px; font-variant-numeric: tabular-nums; }
main.reading.case-page .repeat caption { padding-bottom: 10px; color: var(--muted); font-size: 13px; line-height: 19px; text-align: left; }
main.reading .scroll-hint { display: none; }
main.reading.case-page .repeat th, main.reading.case-page .repeat td { padding: 6px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: middle; }
main.reading.case-page .repeat thead th { border-bottom: 0; color: var(--muted); font-size: 12px; font-weight: 600; line-height: 16px; vertical-align: bottom; }
main.reading.case-page .repeat thead tr.cfgs th { padding-bottom: 8px; color: var(--ink); font-size: 13px; line-height: 18px; white-space: nowrap; }
main.reading.case-page .repeat thead tr.cfgs .d { display: block; color: var(--muted); font-weight: 400; }
main.reading.case-page .repeat thead tr.cfgs .badge { margin-right: 4px; vertical-align: 1px; }
main.reading.case-page .repeat thead tr.cfgs .cfg { font-size: 14px; }
main.reading.case-page .repeat thead tr.runs th { padding-bottom: 6px; border-bottom: 1px solid var(--rule-strong); }
main.reading.case-page .repeat tbody th { min-width: 13rem; padding-right: 16px; padding-left: 24px; text-indent: -24px; font-weight: 400; text-wrap: balance; }
main.reading.case-page .repeat tbody th .n { display: inline-block; width: 24px; text-indent: 0; color: var(--muted); }
main.reading.case-page .repeat .m { width: 26px; min-width: 26px; text-align: center; }
main.reading.case-page .repeat thead .m { font-weight: 600; }
main.reading.case-page .repeat thead .m .run-swatch { display: block; margin: 0 auto 3px; }
/* Each run's number heads its column as a link to the run, at least 24 px tall (R45, R86). */
main.reading.case-page .repeat thead .m a.run-head { display: block; min-height: 24px; padding: 2px 0; }
/* Each mark is a pointer shortcut to its stage in its run, named by a tooltip; like the fact strip
   it repeats a link reachable nearby (the column's run), so it stays out of the tab order and
   carries no underline (R43, decision 0043). */
main.reading.case-page .repeat .dot-wrap { display: block; }
main.reading.case-page .repeat a.dot { position: relative; display: flex; align-items: center; justify-content: center; width: 26px; height: 24px; margin: 0 auto; color: inherit; text-decoration: none; }
main.reading.case-page .repeat a.dot .tip { left: 0; }
main.reading.case-page .repeat a.dot:hover .sm { outline: 2px solid var(--link); outline-offset: 3px; }
main.reading.case-page .repeat a.dot:hover .tip { display: block; }
main.reading.case-page .repeat .g { padding-left: 28px; }
main.reading.case-page .repeat .m.g { width: 54px; min-width: 54px; }
/* The five-run check: a stage that repeats is quiet; one that does not says why, in ink. */
main.reading.case-page .repeat .rep { min-width: 10rem; padding-left: 18px; padding-right: 12px; }
main.reading.case-page .repeat td.rep { color: var(--muted); font-size: 12px; }
main.reading.case-page .repeat td.rep.no { color: var(--ink); font-size: 14px; font-weight: 650; }
main.reading.case-page .repeat td.rep .cmp-in { display: inline-block; margin-left: 6px; font-size: 12px; font-weight: 400; white-space: nowrap; }
main.reading.case-page .below { max-width: var(--measure); margin-top: 14px; font-size: 14px; line-height: 21px; text-wrap: pretty; }
/* Expected findings: the expectation on the left, what the measured run did on the right. */
main.reading.case-page .expect .body b { font-weight: 650; }
main.reading.case-page .expect .margin .res { color: var(--ink); }
main.reading.case-page .expect .margin .res b { font-weight: 650; }
/* The expected finding the measured run did not match: its verdict is the mark (R66: words first). */
main.reading.case-page .expect .margin .res.miss b { color: var(--amber); }
main.reading.case-page .cls { color: var(--muted); font-size: 13px; }
main.reading.case-page .by, main.reading .notes .by { display: block; color: var(--muted); font-size: 13px; line-height: 19px; }
/* Answers: the recorded answer, then the document it cites. */
main.reading.case-page .answers td.ans { white-space: normal; min-width: 11rem; }
main.reading.case-page .answers td.cites { white-space: nowrap; color: var(--muted); }
main.reading.case-page .answers .earlier { display: block; color: var(--muted); font-size: 13px; }
main.reading.case-page .row-group .badge { font-size: 10px; line-height: 16px; }
main.reading.case-page .row-group .quiet { color: var(--muted); font-weight: 400; }
main.reading.case-page .rows .margin { color: var(--muted); }
/* Runs: one line per real run; the margin gives what departs from the caption, and the cost. */
main.reading.case-page .run-rows .body .t { color: var(--muted); }
main.reading.case-page .run-rows .margin .amber { color: var(--amber); }
main.reading.case-page .run-rows .margin .red, main.reading.case-page .inline-runs .red { color: var(--red); }
main.reading.case-page .inline-runs .amber { color: var(--amber); }
main.reading.case-page .run-rows .margin .cost { margin-left: auto; font-variant-numeric: tabular-nums; }
/* Runs named inline: one link per run, each with its swatch (R5), for configurations whose runs
   share everything else. */
main.reading.case-page .inline-runs { margin-top: 8px; padding: 0; list-style: none; font-size: 14px; line-height: 21px; }
main.reading.case-page .inline-runs > li { display: grid; grid-template-columns: 16rem 1fr; gap: 4px 16px; padding: 7px 0; border-bottom: 1px solid var(--rule); }
main.reading.case-page .inline-runs > li:first-child { border-top: 1px solid var(--rule-strong); }
main.reading.case-page .inline-runs .who { margin: 0; font-size: 14px; }
main.reading.case-page .inline-runs .who .badge { font-size: 10px; line-height: 16px; margin-right: 4px; }
main.reading.case-page .inline-runs .list { margin: 0; font-size: 14px; }
main.reading.case-page .inline-runs .list a { display: inline-block; min-width: 2.4em; margin-right: 8px; }
main.reading.case-page .inline-runs .list .run-swatch { margin-right: 3px; }
main.reading.case-page .inline-runs .note { grid-column: 2; margin: 0; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading.case-page details.run-fold { margin-top: 28px; }
main.reading.case-page details.run-fold > summary { font-weight: 600; }
main.reading.case-page details.run-fold h4 { margin-top: 18px; font-size: 14px; line-height: 21px; font-weight: 650; }
main.reading.case-page #runs .group-caption, main.reading.case-page #expected .group-caption { max-width: var(--measure); }
/* A configuration's heading sits apart from the caption above it (R70). */
main.reading.case-page .group-caption + .row-group { margin-top: 18px; }
/* Start another run: the one form, in its own section at the foot of the case (R24, R75). */
main.reading.case-page .start-run form { max-width: 30rem; margin: 12px 0 0; padding: 0; background: transparent; }
main.reading.case-page .start-run .control { margin-top: 0; }
main.reading.case-page .start-run label { margin-top: 8px; font-size: 13px; line-height: 19px; }
main.reading.case-page .start-run select { margin: 4px 0 8px; padding: 4px; font-size: 13px; }
main.reading.case-page .start-run details { margin-top: 8px; }
main.reading.case-page .start-run summary { font-size: 13px; line-height: 19px; }
main.reading.case-page .start-run code { font-size: 12px; }
@media (max-width: 760px) {
  main.reading.case-page .repeat tbody th, main.reading.case-page .repeat thead tr.runs th:first-child { position: sticky; left: 0; z-index: 1; min-width: 9.5rem; max-width: 9.5rem; background: var(--paper); }
  main.reading.case-page .repeat caption .hold { display: block; position: sticky; left: 0; width: calc(100vw - 40px); padding-right: 12px; }
  /* Below 760 px the table is wider than the screen: the caption says so, and the edge that
     hides runs carries a deeper shadow (R59). */
  main.reading .scroll-hint { display: inline; color: var(--ink); }
  main.reading.case-page .repeat-wrap { background:
    linear-gradient(to right, var(--paper) 30%, transparent) left center / 32px 100% no-repeat local,
    linear-gradient(to left, var(--paper) 30%, transparent) right center / 32px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, rgb(0 0 0 / 0.35), transparent) left center / 18px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgb(0 0 0 / 0.35), transparent) right center / 18px 100% no-repeat scroll; }
  main.reading.case-page .inline-runs > li { grid-template-columns: 1fr; }
  main.reading.case-page .inline-runs .note { grid-column: 1; }
  main.reading.case-page .answers thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  main.reading.case-page .answers, main.reading.case-page .answers tbody, main.reading.case-page .answers tr, main.reading.case-page .answers td { display: block; }
  main.reading.case-page .answers tr { padding: 8px 0; border-bottom: 1px solid var(--rule); }
  main.reading.case-page .answers td { padding: 0; border: 0; }
  main.reading.case-page .answers td.ans { display: inline; min-width: 0; font-weight: 600; }
  main.reading.case-page .answers td.cites { display: inline; padding-left: 8px; font-size: 13px; }
  main.reading.case-page .section { margin-top: 48px; }
  main.reading.case-page .bundle td:first-child { overflow-wrap: anywhere; }
}

/* ---- page: stage and fact (stage_detail.html, item_detail.html) ---- */
/* Run swatches carry their own hue (R5); the shared reading rule fixes one, so these pages set it. */
/* The stage's number and PRD name above the h1, its plain phrase beneath (R11, R24). */
main.reading .lede .kicker { font-size: 16px; line-height: 24px; font-weight: 650; }
main.reading .lede .kicker .stage-numeral { margin-right: 4px; }
main.reading .lede .kicker-desc { margin: 2px 0 16px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .lede .kicker + h1 { margin-top: 10px; }
main.reading .q { font-family: var(--serif); }
/* Margin text takes the margin's size; the site-wide paragraph size would otherwise win. */
/* Opening margin: the stage state, its limitation, the stage-level controls and read records. */
main.reading .opening .margin > * + * { margin-top: 12px; }
main.reading .flag.crash { border-left-color: var(--red); background: var(--red-wash); color: var(--red); }
main.reading .stage-controls { display: flex; flex-wrap: wrap; gap: 6px; }
main.reading .stage-controls form { margin: 0; padding: 0; background: transparent; }
main.reading .stage-controls .control { margin: 0; padding: 2px 8px; }
main.reading #stage-read-records p { color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading #stage-read-records .records-line { color: var(--ink); font-size: 14px; line-height: 21px; }
main.reading #stage-read-records + .stage-controls { margin-top: 8px; }
/* The page's sections keep the ids earlier pages linked to; they take the reading's section rule. */
main.reading > section { margin-top: 64px; padding-top: 22px; border-top: 1px solid var(--rule); scroll-margin-top: 16px; }
main.reading > section > h2 { margin-bottom: 10px; }
/* Sections the reading frame has not redesigned keep their own spacing. */
main.reading .legacy { max-width: 100%; }
main.reading .legacy > * + *, main.reading .legacy section > * + * { margin-top: 12px; }
main.reading .legacy h3 { margin-top: 24px; }
main.reading .legacy section { margin-top: 28px; }
main.reading .legacy p { max-width: 66ch; }
main.reading .legacy table { margin-top: 12px; }
main.reading .part th { padding-left: 16px; color: var(--muted); font-weight: 400; }
main.reading .part td { color: var(--muted); }
/* Result marks for requirement assessments: filled for met and clearly evidenced, struck for not
   met, a ring for a reading without a view; the word always follows the mark (R66). */
main.reading .mark--met { background: var(--ink); }
main.reading .mark--notmet { border: 1.5px solid var(--ink); background: linear-gradient(135deg, transparent 43%, var(--ink) 43%, var(--ink) 57%, transparent 57%); }
main.reading .mark--insufficient { border: 1.5px solid var(--ink); }
main.reading .h-count { color: var(--muted); font-weight: 500; }
main.reading .legend { margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 21px; }
main.reading .legend li { display: grid; grid-template-columns: 16px 1fr; column-gap: 6px; }
main.reading .legend li + li { margin-top: 7px; }
main.reading .legend .mark { margin-top: 6px; }
main.reading .legend b { font-weight: 650; }
main.reading .legend .n { color: var(--muted); font-variant-numeric: tabular-nums; }
/* The requirement matrix: one row per record and issue, one column per requirement of the dispute
   type. It grows downward with the case; its columns are bounded by the dispute type. */
main.reading .matrix-wrap { max-width: var(--measure); margin-top: 10px; }
main.reading .req-matrix { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; line-height: 20px; }
main.reading .req-matrix caption { padding-bottom: 6px; color: var(--muted); font-size: 12px; font-weight: 650; letter-spacing: .08em; line-height: 18px; text-align: left; text-transform: uppercase; }
main.reading .req-matrix thead th { padding: 0 10px 8px 0; border-bottom: 1px solid var(--rule-strong); color: var(--muted); font-size: 12px; font-weight: 600; line-height: 18px; text-align: left; vertical-align: bottom; }
main.reading .req-matrix thead th:first-child { width: 30%; }
main.reading .req-matrix tbody th, main.reading .req-matrix td { padding: 8px 8px 8px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
main.reading .req-matrix tbody th { font-size: 14px; font-weight: 400; }
main.reading .req-matrix tr.record th { padding-top: 16px; border-bottom-color: var(--rule-strong); font-size: 15px; font-weight: 650; }
main.reading .req-matrix .sub { display: block; color: var(--muted); font-size: 13px; font-weight: 400; line-height: 19px; }
main.reading .req-matrix tr.record .sub { display: inline; margin-left: 6px; }
main.reading .dup { color: var(--amber); }
main.reading .req-matrix td { color: var(--muted); font-size: 13px; }
main.reading .req-matrix td .mark { margin-right: 5px; }
main.reading .req-matrix td.done { color: var(--ink); font-weight: 600; }
main.reading .req-matrix .col-label { display: none; }
main.reading .req-matrix .note-link { display: block; margin-top: 2px; font-size: 12px; }
/* One-line rows for issues and every-case requirements; a note form opens beneath in the margin. */
main.reading .req-rows .margin > span { min-width: 0; padding-top: 2px; line-height: 19px; }
main.reading .req-rows .said { display: block; margin-top: 2px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .note-slot { grid-column: 2; }
main.reading .note-slot:empty { display: none; }
main.reading .group-caption { max-width: var(--measure); }
main.reading .row-group .mark { align-self: center; }
/* An assessment that reached a view, set out with its quotations. */
main.reading .answer-on { margin-top: 2px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .lead-in { margin-top: 12px; }
main.reading .margin .scales { grid-template-columns: auto; gap: 6px; margin-top: 10px; }
main.reading .relevance { margin-top: 14px; font-size: 13px; line-height: 19px; }
main.reading .relevance p + p { margin-top: 6px; }
main.reading .relevance .control { margin: 0 0 0 6px; padding: 0 6px; font-size: 12px; line-height: 20px; }
main.reading blockquote.doc + blockquote.doc { margin-top: 6px; }
main.reading blockquote.doc .src { display: block; font-family: var(--sans); color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading .premises .res .mark { margin-right: 4px; }
main.reading .premises.wrap .res { max-width: 22rem; white-space: normal; text-align: right; }
main.reading .law-fold { margin-top: 40px; }
main.reading .law-fold > summary { font-weight: 600; }
main.reading .law .body b { display: block; font-weight: 600; }
main.reading .law .body .f { display: block; margin-top: 2px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .law .margin { color: var(--muted); font-size: 13px; line-height: 19px; }
/* A document shown in context, in the documents' serif (R67); the quoted words are marked, and a
   quotation a reading was never given is underlined in amber, a stored fact about that reading. */
main.reading .doc-page { max-width: 62ch; margin-top: 12px; padding-left: 16px; border-left: 2px solid var(--quote-rule); font-family: var(--serif); font-size: 16px; line-height: 25px; }
main.reading .doc-page p + p { margin-top: 8px; }
main.reading .doc-page .doc-h { font-weight: 700; }
main.reading .doc-page .doc-h-note { margin-left: 6px; color: var(--muted); font-family: var(--sans); font-size: 12px; font-weight: 400; }
main.reading .doc-page .elided { color: var(--muted); font-family: var(--sans); font-size: 13px; }
main.reading .doc-page mark { padding: 1px 2px; background: #e3e8df; color: inherit; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
main.reading .doc-page .doc-rest { color: var(--muted); }
main.reading .doc-page .doc-unseen { text-decoration: underline; text-decoration-color: var(--amber-rule); text-decoration-thickness: 2px; text-underline-offset: 4px; }
/* The fact page: the machine's claim at reading size in the sans, never in quotation marks. */
main.reading .lede .claim-lead { font-size: 20px; line-height: 30px; }
main.reading .lede .claim-lead + .kind { margin: 4px 0 20px; }
main.reading .fact-runs .run-id { display: block; color: var(--muted); font-size: 13px; line-height: 19px; font-variant-numeric: tabular-nums; }
main.reading .fact-runs .run-id b { color: var(--ink); font-weight: 650; }
main.reading .fact-runs .said { display: block; margin-top: 4px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .fact-runs .margin { display: block; }
main.reading .fact-runs .margin > span { display: flex; align-items: center; gap: 6px; line-height: 21px; }
main.reading .fact-runs .margin > span + span { margin-top: 3px; }
main.reading .check-failed { color: var(--amber); font-weight: 650; }
main.reading .minis { display: inline-flex; flex-wrap: wrap; gap: 3px; }
main.reading .minis .mark { width: 8px; height: 8px; }
main.reading .absent { display: inline-block; width: 10px; height: 2px; background: var(--rule-strong); }
main.reading .shared { max-width: var(--measure); margin-top: 8px; font-size: 14px; line-height: 21px; }
main.reading .receipt-list { display: grid; grid-template-columns: 12rem 1fr; gap: 4px 20px; margin-top: 8px; font-size: 13px; line-height: 19px; }
main.reading .receipt-list dt { color: var(--muted); }
main.reading .receipt-list dd { margin: 0; overflow-wrap: anywhere; }
main.reading .receipt-list code, main.reading .legacy code { font-family: var(--mono); font-size: 12px; }
main.reading .claim-margin-notes .note { margin-top: 12px; }
/* The foot of a stage page: the run page's stage index with this stage marked, then its
   neighbours named (R64, R37). */
main.reading .stage-foot .stage-index { max-width: 30rem; }
main.reading .stage-index tr.current th, main.reading .stage-index tr.current td { color: var(--ink); font-weight: 650; }
main.reading .stage-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 32px; padding-top: 14px; border-top: 1px solid var(--rule); font-size: 14px; line-height: 21px; }
/* The class comparison reads in the reading column, this run first. A class whose totals vary
   between runs carries a quiet word; variance is not a failure, so no amber (R66). */
main.reading .class-comparison { max-width: var(--measure); }
main.reading .class-comparison .stage-class-comparison { width: 100%; min-width: 0; }
main.reading .stage-class-comparison tr.varies { background: none; }
main.reading .varies-mark { color: var(--muted); font-size: 12px; font-weight: 400; }
/* A finding still shown as a card (the neutrality scan) keeps the page's two columns, so its
   margin lines up with the margin above it (R85). */
main.reading .claim-unit { grid-template-columns: minmax(0, var(--measure)) minmax(18rem, 1fr); gap: 8px var(--gutter); }
@media (max-width: 760px) {
  main.reading .claim-unit { grid-template-columns: minmax(0, 1fr); }
}
/* Stage 4's evidence gaps, one line each; the label controls are always shown (R74). */
main.reading .gap-rows .gap-labels { font-size: 13px; }
/* The stage's own checks, one line each; the outcome in the margin only where it departs. */
main.reading .check-rows .said { display: block; margin-top: 2px; color: var(--muted); font-size: 14px; line-height: 21px; }
/* Narrow screens: the matrix's rows become blocks, their results two to a line, each with its
   requirement named; the margin drops beneath its subject (R85). */
@media (max-width: 760px) {
  main.reading .req-matrix, main.reading .req-matrix tbody, main.reading .req-matrix tr, main.reading .req-matrix th, main.reading .req-matrix td, main.reading .req-matrix caption { display: block; }
  main.reading .req-matrix thead { display: none; }
  main.reading .req-matrix tbody tr { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--rule); }
  main.reading .req-matrix tbody tr.record { display: block; padding: 16px 0 6px; border-bottom: 1px solid var(--rule-strong); }
  main.reading .req-matrix tr.record th { padding: 0; border: 0; }
  main.reading .req-matrix tbody th { grid-column: 1 / -1; padding: 0 0 4px; border: 0; }
  main.reading .req-matrix td { padding: 4px 0; border: 0; }
  main.reading .req-matrix .col-label { display: block; color: var(--muted); font-size: 12px; font-weight: 400; line-height: 17px; }
  main.reading .note-slot { grid-column: 1; }
  main.reading .req-rows .margin { flex-wrap: wrap; }
  main.reading .doc-page { font-size: 15px; line-height: 23px; }
  main.reading .fact-runs .margin { margin-top: 6px; padding-top: 6px; border-top: 1px dotted var(--rule-strong); }
  main.reading .receipt-list { grid-template-columns: 1fr; gap: 0; }
  main.reading .lede .claim-lead { font-size: 18px; line-height: 27px; }
}

/* Stages 1, 2, 5, 6, 8 and 10 below their opening: one line per record in the reading column,
   the result in the margin; a record set out in full keeps its note control shown (R74, R85). */
main.reading .fact-block { margin-top: 12px; }
main.reading .fact-block .margin > * + * { margin-top: 8px; }
main.reading .fact-block .band, main.reading .fact-block .band-scale { max-width: 22rem; }
main.reading .stage-fold { margin-top: 28px; }
main.reading .stage-fold > summary { font-weight: 600; }
main.reading .stage-fold > .group-caption { margin-top: 0; }
main.reading .answers-head { margin-top: 28px; font-size: 14px; font-weight: 650; line-height: 21px; }
main.reading .recorded-answer { max-width: var(--measure); margin-top: 18px; }
main.reading .recorded-answer h4 { font-size: 16px; line-height: 24px; font-weight: 650; }
main.reading .recorded-answer .answer-source { margin-top: 2px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .recorded-answer .answer-rows { grid-template-columns: 14rem 1fr; gap: 4px 16px; margin-top: 8px; font-size: 14px; line-height: 21px; }
main.reading .recorded-answer .answer-rows dt { color: var(--muted); }
main.reading .recorded-answer .answer-rows dd { margin: 0; }
main.reading .rows > li.withheld .body { color: var(--muted); }
main.reading .marks { margin-top: 28px; }
main.reading .snapshot-comparison { max-width: calc(var(--measure) + 20rem); margin-top: 8px; font-size: 14px; line-height: 21px; }
@media (max-width: 760px) {
  main.reading .recorded-answer .answer-rows { grid-template-columns: 1fr; gap: 0; }
  main.reading .recorded-answer .answer-rows dd { margin-bottom: 6px; }
}

/* ---- page: comparison (comparison*.html) ---- */

/* The comparison pages carry main.reading.compare. Paragraphs and list items take their size
   from where they sit, as in the reference stylesheet, instead of the global 16 px and 66 ch. */
main:where(.reading.compare) :where(p, li) { max-width: none; font-size: inherit; line-height: inherit; }
/* Each run's square takes the hue derived from its identity (review_tags.run_swatch). */
main.reading.compare .cmp ul.labels .detail { display: block; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading.compare .cmp .sep { color: var(--rule-strong); }
main.reading.compare .meta > span.wrap { white-space: normal; }
/* Masthead of a pair whose runs differ in reality or wholeness: one run, then the other. */
main.reading .masthead .against { color: var(--muted); font-weight: 500; }
/* The index's tones: amber for a check that now fails, red only for a crash (R66). */
main.reading .stage-index tr.amber td.result { color: var(--amber); font-weight: 650; }
main.reading .stage-index tr.crashed td.result { color: var(--red); font-weight: 650; }
main.reading .stage-index td.result { white-space: normal; }
/* Links to the two runs and the selector, and the store form, under the index. */
main.reading .runs-links { margin-top: 12px; line-height: 30px; }
main.reading .store-form { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--rule); font-size: 14px; line-height: 21px; }
main.reading .store-form label { display: block; margin-top: 6px; }
main.reading .store-form select { max-width: 100%; margin-top: 4px; font: inherit; }
main.reading .store-form .control { margin-top: 8px; }

/* The comparison: one table, subject in the stub, the two runs in aligned columns (R32, R55).
   Grouped by stage; within a stage, changed rows come first, then subjects in one run only,
   then one row that counts what is the same. */
main.reading .cmp-wrap { margin-top: 20px; }
main.reading .cmp { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; line-height: 21px; }
main.reading .cmp col.stub { width: 34%; }
main.reading .cmp col.run { width: 33%; }
main.reading .cmp caption { padding-bottom: 8px; color: var(--muted); font-size: 13px; line-height: 19px; text-align: left; }
main.reading .cmp thead th { position: sticky; top: 0; z-index: 2; padding: 8px 16px 6px 0; border-bottom: 1px solid var(--rule-strong); background: var(--paper); font-size: 13px; font-weight: 650; text-align: left; vertical-align: bottom; }
main.reading .cmp thead th .t { color: var(--muted); font-weight: 500; }
main.reading .cmp th, main.reading .cmp td { padding: 9px 16px 9px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
main.reading .cmp td:last-child { padding-right: 0; }
main.reading .cmp tbody th[scope="row"] { font-weight: 500; }
main.reading .cmp tr.stage > th { padding-top: 30px; border-bottom: 1px solid var(--rule-strong); font-size: 16px; line-height: 24px; font-weight: 650; }
main.reading .cmp tr.stage .stage-numeral { display: inline-block; min-width: 2.2em; margin-right: 0; }
main.reading .cmp tr.stage .count { color: var(--muted); font-size: 14px; font-weight: 500; }
/* The relation, above the subject in the stub: a word, never a colour (R66). */
main.reading .cmp .rel { display: block; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 16px; text-transform: uppercase; }
main.reading .cmp tr.changed .subj, main.reading .cmp tr.worded .subj { font-weight: 650; }
main.reading .cmp .stub-note { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; line-height: 19px; font-weight: 400; }
main.reading .cmp .sub, main.reading .cmp .none, main.reading .cmp tr.same td, main.reading .cmp tr.nc td { color: var(--muted); }
main.reading .cmp .amber { color: var(--amber); font-weight: 650; }
main.reading .cmp .red { color: var(--red); font-weight: 650; }
main.reading .cmp .n { color: var(--ink); font-weight: 650; font-variant-numeric: tabular-nums; }
main.reading .cmp .value + .value { margin-top: 6px; }
main.reading .cmp .field { color: var(--muted); }
main.reading .cmp .value dl { margin: 2px 0 0; }
main.reading .cmp .value dt { color: var(--muted); font-size: 13px; }
main.reading .cmp .value dd { margin: 0 0 2px; }
main.reading .cmp .value-list { margin: 0; padding-left: 1.1em; }
/* A changed finding made of passages: each passage aligned in the stub, its fate beside it. */
main.reading .cmp tr.part > th { padding-left: 14px; font-weight: 400; }
main.reading .cmp tr.part .q { font-family: var(--serif); font-size: 15px; line-height: 22px; }
main.reading .cmp tr.part .src { display: block; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading .cmp tr.lead-part > th, main.reading .cmp tr.lead-part > td { padding-bottom: 2px; border-bottom-color: transparent; }
/* Findings in one run only: a list per run, the finding where it departs from supported. */
main.reading .cmp ul.labels { margin: 0; padding: 0; list-style: none; }
main.reading .cmp ul.labels li + li { margin-top: 3px; }
main.reading .cmp ul.labels .f { color: var(--muted); }
main.reading .cmp ul.labels .f.amber, main.reading .cmp .f-all.amber { color: var(--amber); font-weight: 650; }
main.reading .cmp .f-all { margin-top: 3px; color: var(--muted); font-size: 13px; line-height: 19px; }
/* The note link on a changed row is always shown (R74). */
main.reading .cmp .note-link { margin-left: 6px; font-size: 12px; font-weight: 400; }
/* Run labels for the value cells, shown only where the columns stack. */
main.reading .cell-run { display: none; }
main.reading .cmp .cell-run .run-swatch { margin-right: 4px; }

/* Accuracy against expected findings: two runs side by side, or one run alone. */
main.reading .accuracy-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--gutter); margin-top: 16px; }
main.reading .accuracy-column h3 { font-size: 16px; line-height: 24px; padding-bottom: 6px; border-bottom: 1px solid var(--rule-strong); }
main.reading .accuracy-single { max-width: 52rem; margin-top: 16px; }
main.reading .accuracy-group { margin-top: 22px; }
main.reading .accuracy-group .acc-type { font-size: 16px; line-height: 24px; }
main.reading .accuracy-group .coverage { color: var(--muted); font-weight: 500; }
main.reading .accuracy-counts, main.reading .acc-note { margin-top: 4px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading .accuracy-counts small { color: var(--muted); font-size: 12px; }
main.reading .acc-results { margin: 8px 0 0; padding: 0; list-style: none; font-size: 14px; line-height: 21px; }
main.reading .acc-result { padding: 8px 0; border-bottom: 1px solid var(--rule); }
main.reading .acc-result:first-child { border-top: 1px solid var(--rule-strong); }
main.reading .acc-result .rel { display: block; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 16px; text-transform: uppercase; }
main.reading .acc-result.state--missing .rel, main.reading .acc-result.state--forbidden_present .rel, main.reading .acc-result.state--found_changed .rel { color: var(--amber); }
main.reading .acc-result .subj { font-weight: 650; }
main.reading .acc-expected, main.reading .acc-item, main.reading .acc-changed, main.reading .acc-record { margin-top: 2px; }
main.reading .acc-unexpected { margin-top: 12px; font-size: 14px; line-height: 21px; }
main.reading .acc-unexpected .rel { display: block; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 16px; text-transform: uppercase; }
main.reading .acc-unexpected .rows { margin-top: 6px; }
main.reading .acc-unexpected .rows > li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; padding: 5px 0; line-height: 21px; }
main.reading .acc-unexpected .acc-record-link { font-size: 13px; }
main.reading .acc-values { display: grid; grid-template-columns: max-content 1fr; gap: 2px 12px; margin: 4px 0 0; }
main.reading .acc-values dt { color: var(--muted); }
main.reading .acc-values dd { margin: 0; }
main.reading .acc-values .value-list { margin: 0; padding-left: 1.1em; }

/* Notes applied to a stored comparison: the note in the reading, who and when in the margin. */
main.reading .applied-note { padding: 12px 0; border-bottom: 1px solid var(--rule); }
main.reading .applied-note:first-of-type { margin-top: 12px; border-top: 1px solid var(--rule-strong); }
main.reading .applied-note .note-meta { color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading .applied-note code, main.reading .receipt-fold code { font-family: var(--mono); font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }

/* The receipt fold: policy, weights, agreement by layer, identifiers; body size (R28). */
main.reading details.receipt-fold { margin-top: 56px; padding-top: 18px; border-top: 1px solid var(--rule); font-size: 14px; line-height: 21px; }
main.reading details.receipt-fold > p, main.reading details.receipt-fold > ul { max-width: var(--measure); }
main.reading details.receipt-fold > p + p, main.reading details.receipt-fold .page-receipt { margin-top: 8px; }
main.reading details.receipt-fold .scroll-region { max-width: 100%; margin-top: 12px; overflow-x: auto; }
main.reading details.receipt-fold .weights { max-width: 52rem; }
main.reading details.receipt-fold .weights caption { padding-bottom: 6px; color: var(--muted); font-size: 13px; text-align: left; }
main.reading details.receipt-fold .weights th { width: auto; white-space: nowrap; }
main.reading details.receipt-fold .weights thead th { color: var(--muted); font-size: 12px; font-weight: 650; }
main.reading details.receipt-fold .weights thead th.amt { text-align: right; }
main.reading details.receipt-fold .weights td.amt { padding-left: 12px; }
main.reading details.receipt-fold .evidence-number small { display: none; }
main.reading details.receipt-fold .receipt-head { margin-top: 16px; font-size: 14px; line-height: 21px; }
main.reading details.receipt-fold .keys { margin: 4px 0 0; padding-left: 1.1em; }
main.reading details.receipt { margin-top: 24px; padding-top: 12px; border-top: 1px solid var(--rule); font-size: 14px; line-height: 21px; }
main.reading details.receipt p + p { margin-top: 4px; }

/* The run selector: the form in the reading, one row per run beneath. */
main.reading .lede form label { display: inline-block; margin: 12px 12px 0 0; font-size: 14px; font-weight: 650; line-height: 21px; }
main.reading .lede form select { display: block; max-width: 100%; margin-top: 4px; font: inherit; font-weight: 400; }
main.reading .lede form .control { margin-top: 12px; }
main.reading .run-rows .t { color: var(--muted); }
main.reading .run-rows .evidence-receipt { color: var(--muted); font-size: 11px; }
main.reading .tone-amber { color: var(--amber); font-weight: 650; }
main.reading .tone-red { color: var(--red); font-weight: 650; }
main.reading details.choose { margin-top: 12px; }

@media (max-width: 760px) {
  main.reading .cmp, main.reading .cmp tbody, main.reading .cmp tr, main.reading .cmp th, main.reading .cmp td { display: block; width: auto; }
  main.reading .cmp colgroup, main.reading .cmp thead { display: none; }
  main.reading .cmp caption { display: block; }
  main.reading .cmp th, main.reading .cmp td { padding: 0 0 6px; border: 0; }
  main.reading .cmp tr { padding: 10px 0 6px; border-bottom: 1px solid var(--rule); }
  main.reading .cmp tr.stage { padding-top: 26px; border-bottom: 1px solid var(--rule-strong); }
  main.reading .cmp tr.stage > th { padding: 0 0 4px; border: 0; }
  main.reading .cmp tr.part { padding-left: 12px; }
  main.reading .cmp tr.part > th { padding-left: 0; }
  main.reading .cmp tr.lead-part { padding-bottom: 0; border-bottom: 0; }
  main.reading .cell-run { display: inline; margin-right: 6px; color: var(--muted); font-size: 12px; font-weight: 650; line-height: 18px; }
  main.reading .cmp td[colspan] .cell-run { display: none; }
  main.reading .accuracy-columns { grid-template-columns: minmax(0, 1fr); }
  main.reading .lede form label { display: block; }
}


@media print {
  body { background: #fff; }
  .prominent-link { color: #000; }
  .scroll { overflow: visible; }
  .jump, .skip-link { display: none; }
  .site-header, main, .site-footer { padding-left: 0; padding-right: 0; }
  a { color: inherit; }
  .snapshot-comparison { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* CF24/R67: print at the smallest size already in the scale; the tables break across pages
     rather than shrinking below it. */
  .requirement-table, .register-audit { min-width: 0; font-size: var(--meta-size); line-height: var(--meta-leading); }
}

/* Stage 7: what a not-met reading was given, and the lines it was not (decision 0041). */
main.reading .given-lines { margin: 12px 0 20px; }
main.reading .given-lines .given-doc { margin: 14px 0 4px; font-size: var(--meta-size); line-height: var(--meta-leading); color: var(--muted); }
main.reading .given-lines ol { list-style: none; margin: 0; padding: 0; }
main.reading .given-lines li { display: flex; gap: 16px; justify-content: space-between; align-items: baseline; margin: 0; padding: 3px 8px 3px 16px; border-left: 2px solid var(--quote-rule); }
main.reading .given-lines li .words { font-family: var(--serif); font-size: 17px; line-height: 26px; }
main.reading .given-lines li .tag { flex: none; color: var(--muted); font-size: 12px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
main.reading .given-lines li.unseen { border-left-color: var(--amber-rule); background: var(--amber-wash); }
main.reading .given-lines li.unseen .tag { color: var(--amber); }
main.reading .given-lines li.gap { color: var(--muted); line-height: 18px; padding-top: 0; padding-bottom: 0; }

/* The document page (decision 0041): the document in its own words, then what the run drew from it. */
main.reading .doc-text { max-width: var(--measure); margin-top: 16px; padding: 20px 24px; border-left: 2px solid var(--quote-rule); background: var(--surface); font-family: var(--serif); font-size: 17px; line-height: 27px; white-space: pre-wrap; overflow-wrap: anywhere; }
main.reading .doc-text .source-span { background: rgba(36, 91, 116, .10); }
main.reading .doc-text .source-span--overlap { background: rgba(36, 91, 116, .19); }
main.reading .doc-text .source-span--clicked { background: var(--amber-wash); outline: 2px solid var(--amber-rule); outline-offset: 2px; scroll-margin-top: 30vh; }
main.reading .passage { margin-top: 20px; }
main.reading .passage blockquote.doc { margin-top: 0; }
main.reading .passage.clicked blockquote.doc { border-left-color: var(--amber-rule); }
main.reading .passage .rows { margin-top: 6px; }
main.reading .lede blockquote.doc + p { margin-top: 8px; }

/* The execution record: the family's frame over the apparatus (decision 0041). */
main.reading.execution h1 { margin-top: 28px; }
main.reading.execution h1 + .part-of { margin-top: 0; }
/* The record's contents, and on each stage's heading the way back to that stage (R27, R87). */
main.reading.execution .contents { max-width: var(--measure); margin-top: 14px; font-size: 14px; line-height: 28px; }
main.reading.execution .contents a { display: inline-block; min-width: 28px; min-height: 28px; text-align: center; } /* R45 */
main.reading.execution .contents .contents-label { color: var(--muted); }
main.reading.execution .contents .sep { color: var(--rule-strong); }
main.reading.execution .record-stage { scroll-margin-top: 16px; }
main.reading h2 .back, main.reading h3 .back { margin-left: 10px; font-size: 14px; font-weight: 400; letter-spacing: 0; white-space: nowrap; }
/* A foot's step names what it is before the link: "Previous stage", "Earlier run". */
main.reading .page-foot .foot-label { display: block; color: var(--muted); font-size: 12px; line-height: 18px; }
main.reading .page-foot .foot-step:last-child { text-align: right; }
main.reading.execution section p + p, main.reading.execution section dl + p { margin-top: 8px; }
main.reading.execution section h3 { margin-top: 28px; }
main.reading.execution details + h3, main.reading.execution details + h4, main.reading.execution dl + details { margin-top: 16px; }
/* A link and a note control side by side in a margin keep a gap between them. */
main.reading .margin .go + .note-control, main.reading .margin .go + .control { margin-left: 14px; }

/* ==== Adding a case: the intake draft and its pages (docs/design/intake.md, decision 0063) ==== */
main.reading.intake .intake-page { max-width: calc(var(--measure) + var(--gutter) + 22rem); }
main.reading.intake .intake-page > h1, main.reading.intake .intake-page > .lede { max-width: var(--measure); }
main.reading.intake h1 { margin-top: 8px; }
main.reading.intake .lede p + p { margin-top: 12px; }
main.reading.intake form.intake-form { margin: 0; padding: 0; background: transparent; }
main.reading.intake .intake-section { margin-top: 40px; padding-top: 18px; border-top: 1px solid var(--rule); }
main.reading.intake .intake-section h2 { font-size: 21px; line-height: 27px; }
main.reading.intake .section-sentence { margin-top: 6px; color: var(--muted); font-size: 15px; line-height: 23px; }
main.reading.intake .form-error { max-width: var(--measure); margin: 12px 0 0; padding: 8px 12px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); color: var(--amber); font-weight: 600; }
main.reading.intake .lede .form-error { font-size: 16px; line-height: 25px; }
main.reading.intake .quiet { color: var(--muted); }
main.reading.intake .draft-fact { margin-top: 14px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading.intake .vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* A document: its filename as the row's label, then format and size, then its first line in the
   documents' serif (R67), then anything the reading left out. */
main.reading.intake .doc-rows { max-width: calc(var(--measure) + 8rem); margin-top: 12px; padding: 0; list-style: none; }
main.reading.intake .doc-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--rule); }
main.reading.intake .doc-name { font-weight: 650; overflow-wrap: anywhere; }
main.reading.intake h3.doc-name { font-size: 17px; line-height: 25px; }
main.reading.intake .doc-meta { margin-top: 2px; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading.intake .doc-first { max-width: 62ch; margin-top: 6px; padding-left: 12px; border-left: 2px solid var(--quote-rule); font-family: var(--serif); font-size: 16px; line-height: 24px; overflow-wrap: anywhere; }
main.reading.intake .doc-omits { margin-top: 6px; color: var(--amber); font-size: 13px; line-height: 19px; }
main.reading.intake .doc-remove { margin: 0; padding: 0; background: transparent; }
main.reading.intake .doc-remove .control { margin-top: 0; min-height: 30px; }
main.reading.intake .refusals { max-width: var(--measure); margin-top: 12px; padding: 0; list-style: none; }
main.reading.intake .refusals li { padding: 10px 12px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); color: var(--amber); overflow-wrap: anywhere; }
main.reading.intake .refusals li + li { margin-top: 8px; }

/* Choosing files: the chooser, the files chosen before uploading, and the page as a drop target. */
main.reading.intake .chooser label { display: block; margin-top: 10px; font-size: 15px; line-height: 23px; }
main.reading.intake .chooser input[type="file"] { display: block; width: 100%; max-width: 32rem; margin: 10px 0 0; padding: 10px; border: 1px dashed var(--rule-strong); background: var(--surface); font: inherit; font-size: 14px; }
main.reading.intake .drop-hint { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading.intake .chosen { max-width: 32rem; margin-top: 10px; padding: 0; list-style: none; font-size: 14px; line-height: 21px; }
main.reading.intake .chosen li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px dotted var(--rule); }
main.reading.intake .chosen li .size { flex: none; color: var(--muted); font-variant-numeric: tabular-nums; }
main.reading.intake .chosen li.too-large { color: var(--amber); font-weight: 600; }
main.reading.intake .chooser .control { margin-top: 12px; }
main.reading.intake .intake-documents.is-dragging { outline: 3px dashed var(--link); outline-offset: 12px; background: rgba(36, 91, 116, .05); }

/* Fields. */
main.reading.intake .field { max-width: var(--measure); margin-top: 18px; padding: 0; border: 0; }
main.reading.intake .field > label, main.reading.intake fieldset > legend { display: block; margin: 0; padding: 0; font-size: 14px; font-weight: 650; line-height: 21px; }
main.reading.intake .field textarea#title { resize: vertical; min-height: 0; }
main.reading.intake .field input[type="text"], main.reading.intake .field input:not([type]), main.reading.intake .field select, main.reading.intake .field textarea { display: block; width: 100%; max-width: 32rem; margin: 6px 0 0; padding: 8px 10px; border: 1px solid var(--rule-strong); background: var(--surface); color: inherit; font: inherit; }
main.reading.intake .field.has-error input:not([type="radio"]):not([type="checkbox"]) { border-color: var(--amber-rule); border-width: 2px; }
main.reading.intake .choices .choice-label { display: flex; align-items: baseline; gap: 10px; min-height: 28px; margin: 6px 0 0; font-size: 15px; font-weight: 400; line-height: 23px; }
main.reading.intake .choices.inline { display: flex; flex-wrap: wrap; column-gap: 28px; }
main.reading.intake .choices.inline > legend { flex-basis: 100%; }
main.reading.intake .choice-label input { flex: none; width: auto; margin: 0; transform: translateY(2px); }
main.reading.intake .private-choice { display: flex; align-items: baseline; gap: 10px; font-size: 15px; font-weight: 600; line-height: 23px; }
main.reading.intake .private-choice input { flex: none; width: auto; margin: 0; transform: translateY(2px); }
/* A suggested value, marked quietly at the field (pass 4, C1): a pale tint on a text box, and a
   grey "(suggested)" after its label or its option; both go when the reader changes it. */
main.reading.intake .suggested-note { color: var(--muted); font-size: 13px; font-weight: 400; font-style: normal; white-space: nowrap; }
main.reading.intake .field input.is-suggested, main.reading.intake .field textarea.is-suggested { background: var(--neutral-wash); }
main.reading.intake .private-help { display: none; max-width: 52ch; margin: 4px 0 0 26px; color: var(--amber); font-size: 14px; line-height: 21px; }
main.reading.intake .doc-section.is-private .private-help { display: block; }
main.reading.intake .role-withheld { display: none; }
main.reading.intake .doc-section.is-private .role-meaning { display: none; }
main.reading.intake .doc-section.is-private .role-withheld { display: inline; }
main.reading.intake .suggestion-reason { padding-left: 10px; border-left: 2px solid var(--rule); color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading.intake .suggestion-reason + .suggestion-reason { margin-top: 10px; }
main.reading.intake .suggestion-reason .who { color: var(--ink); }
main.reading.intake .doc-section { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--rule); }

/* The end of every edit page: the primary control, and the quiet way back (R39). */
main.reading.intake .form-end { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; max-width: var(--measure); margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--rule); }
main.reading.intake .form-end .control { margin-top: 0; }
main.reading.intake .control--primary { padding: 9px 18px; font-size: 15px; line-height: 22px; }
main.reading.intake .quiet-return { font-size: 15px; }

/* The draft page: three short summaries, each with its way to change it. */
main.reading.intake .summary > p, main.reading.intake .summary > ul, main.reading.intake .summary > dl { max-width: var(--measure); margin-top: 10px; }
main.reading.intake .summary-lines { padding: 0; list-style: none; font-size: 15px; line-height: 23px; }
main.reading.intake .summary-lines li { padding: 4px 0; overflow-wrap: anywhere; }
main.reading.intake .summary-lines .doc-name { font-weight: 600; }
main.reading.intake .private-line { padding: 8px 12px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); color: var(--amber); font-weight: 600; }
main.reading.intake .answer-list { display: block; font-size: 15px; line-height: 23px; }
main.reading.intake .answer-list dt { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading.intake .answer-list dd { margin: 2px 0 0; }
main.reading.intake .answer-list .answer-src { color: var(--muted); font-size: 14px; }
main.reading.intake .change { margin-top: 12px; }
main.reading.intake .cost-line { margin-top: 32px; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading.intake .create-form .form-end { margin-top: 24px; }
main.reading.intake form.discard-form { margin-top: 18px; }
main.reading.intake .discard-form .control { margin-top: 0; }

/* The library's margin lists the reader's drafts; the case page offers a new revision. */
main.reading.case-library .draft-list { margin-top: 10px; padding: 0; list-style: none; font-size: 14px; line-height: 21px; }
main.reading.case-library .draft-list li + li { margin-top: 6px; }
main.reading.case-page .revision-form { margin: 8px 0 0; padding: 0; background: transparent; }
main.reading.case-page .revision-form .control { margin-top: 0; }

@media (max-width: 760px) {
  main.reading.intake .doc-row { grid-template-columns: minmax(0, 1fr); }
  main.reading.intake .choices.inline { display: block; }
}
main.reading.intake .doc-row.reading .doc-name { color: var(--muted); }
main.reading.intake .reading-note { color: var(--muted); font-style: italic; }
main.reading.intake .removed-note { max-width: var(--measure); margin: 0 0 12px; padding: 6px 10px; background: var(--neutral-wash); }
main.reading.intake .doc-refusal { padding: 8px 12px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); color: var(--amber); overflow-wrap: anywhere; }
main.reading.intake .refused-line { color: var(--amber); }

/* The answers page: one section per question, follow-ups under the choice that needs them. */
main.reading.intake .answer { max-width: var(--measure); margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--rule); scroll-margin-top: 16px; }
main.reading.intake .intake-section > h2 + .answer { margin-top: 14px; }
main.reading.intake h3.question { font-size: 18px; line-height: 26px; font-weight: 650; text-wrap: pretty; }
main.reading.intake .answer-id { margin-left: 6px; color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; white-space: nowrap; }
main.reading.intake .anchors { margin-top: 6px; }
main.reading.intake .anchors summary { font-size: 13px; line-height: 19px; }
main.reading.intake .anchors ul { margin: 6px 0 0; padding-left: 1.2em; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading.intake .answer-note { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading.intake .follow-up { margin: 6px 0 12px 26px; padding: 4px 0 6px 14px; border-left: 2px solid var(--rule); }
main.reading.intake .follow-up > label, main.reading.intake .follow-up .small-label { display: block; margin-top: 10px; font-size: 14px; font-weight: 600; line-height: 21px; }
main.reading.intake .follow-up input:not([type="radio"]):not([type="checkbox"]), main.reading.intake .follow-up select { display: block; width: 100%; max-width: 30rem; margin: 6px 0 0; padding: 7px 10px; border: 1px solid var(--rule-strong); background: var(--surface); font: inherit; font-size: 15px; }
main.reading.intake .follow-up fieldset { margin: 12px 0 0; padding: 0; border: 0; }
main.reading.intake .follow-up legend { font-size: 14px; font-weight: 600; line-height: 21px; }
main.reading.intake .follow-up-lead { margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 21px; }
main.reading.intake .if-line { color: var(--muted); font-size: 13px; font-style: italic; line-height: 19px; }
html.js main.reading.intake .if-line { display: none; }
main.reading.intake .indicator legend { font-weight: 400; }
main.reading.intake .inline-choices { display: flex; flex-wrap: wrap; column-gap: 22px; }
main.reading.intake .money { display: flex; align-items: center; max-width: 16rem; }
main.reading.intake .money .currency-mark { flex: none; padding: 7px 8px; border: 1px solid var(--rule-strong); border-right: 0; background: var(--neutral-wash); font-size: 15px; line-height: 22px; }
main.reading.intake .follow-up .money input { margin: 0; }
main.reading.intake .follow-up input.currency-code:not([type="radio"]):not([type="checkbox"]) { max-width: 5rem; text-transform: uppercase; }
main.reading.intake .heads { margin-top: 16px; }
main.reading.intake .head-row { display: grid; grid-template-columns: minmax(0, 1fr) 11rem; gap: 12px; margin-top: 8px; }
main.reading.intake .head-row label { font-size: 13px; line-height: 19px; }
main.reading.intake .follow-up .head-row input { margin-top: 4px; }
main.reading.intake .heads .control { margin-top: 10px; }
main.reading.intake .where-from { margin-top: 16px; }
main.reading.intake .where-from .follow-up { margin-top: 2px; }
main.reading.intake .confirmed { margin-top: 12px; }
@media (max-width: 760px) {
  main.reading.intake .head-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  main.reading.intake .follow-up { margin-left: 10px; }
}
main.reading.intake .field > label.private-choice { display: flex; }
main.reading.intake .unchecked-note { color: var(--amber); font-size: 14px; font-style: italic; }
main.reading.intake .changed-note { color: var(--muted); font-size: 14px; font-style: italic; }
main.reading.intake .revision-line { margin: 4px 0; }
main.reading.intake .refused-rows { margin-top: 12px; }
main.reading.intake .same-as { max-width: var(--measure); margin-top: 24px; padding: 8px 12px; border-left: 3px solid var(--rule-strong); background: var(--neutral-wash); }

/* Pass 2: a suggestion note per block, under its subject on a phone and in the margin beside it
   on a wide screen; the private flag in amber when ticked (R71). */
main.reading.intake .noted { display: grid; grid-template-columns: minmax(0, var(--measure)) minmax(14rem, 1fr); column-gap: var(--gutter); align-items: start; }
main.reading.intake .noted > * { grid-column: 1; }
main.reading.intake .noted > .suggestion-block { grid-column: 2; grid-row: 1 / span 8; padding-top: 4px; }
main.reading.intake .suggestion-note { padding-left: 10px; border-left: 2px solid var(--rule-strong); font-size: 14px; font-weight: 400; line-height: 21px; }
main.reading.intake .suggestion-block .suggestion-reason { margin-top: 4px; }
main.reading.intake .doc-section.is-private { position: relative; }
main.reading.intake .doc-section.is-private::before { content: ""; position: absolute; top: 18px; bottom: 0; left: -12px; width: 3px; background: var(--amber-rule); }
main.reading.intake .doc-section.is-private .private-field { padding: 6px 10px; background: var(--amber-wash); color: var(--amber); }
main.reading.intake .private-sentence { max-width: var(--measure); margin-top: 8px; font-weight: 600; }
main.reading.intake .private-line--none { border-left-color: var(--rule-strong); background: var(--neutral-wash); color: var(--ink); }
@media (max-width: 760px) {
  main.reading.intake .noted { grid-template-columns: minmax(0, 1fr); }
  main.reading.intake .noted > .suggestion-block { grid-column: 1; grid-row: auto; margin-top: 10px; padding-top: 0; }
}
main.reading.intake .missing { margin-top: 12px; font-weight: 600; }
main.reading.intake .warning { max-width: var(--measure); margin-top: 12px; padding: 8px 12px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); color: var(--amber); }
main.reading.intake .warning a { color: var(--link); }
main.reading.intake .follow-up.known-only { margin: 0; padding: 0; border-left: 0; }
main.reading.intake .follow-up.known-only > .if-line { margin-top: 14px; }
main.reading.intake .heads-total { margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 21px; }
main.reading.intake .heads-total:empty { display: none; }
main.reading.intake .answer-note-line { display: block; margin-top: 2px; color: var(--muted); font-size: 14px; }
@media (max-width: 760px) {
  main.reading.intake .follow-up select { font-size: 14px; }
}
main.reading.intake fieldset { min-width: 0; margin-left: 0; margin-right: 0; }
/* Pass 4, C3 and C8: a filename opens the document; beside "Create", what is left to do. */
main.reading.intake .doc-name a { color: inherit; text-decoration-color: var(--rule-strong); text-underline-offset: 3px; }
main.reading.intake .create-form .form-end { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
main.reading.intake .create-form .to-do { font-size: 15px; }
main.reading.intake.intake-document .doc-title, main.reading.intake .doc-title { overflow-wrap: anywhere; }
/* The case page after "Create" (pass 4): what was made and the next step, once, at the top. */
main.reading .created-notice { max-width: var(--measure); margin: 0 0 28px; padding: 12px 16px; border-left: 3px solid var(--link); background: var(--neutral-wash); }
main.reading .created-notice p { margin: 0; }
main.reading .created-notice p + p { margin-top: 6px; }
main.reading table.bundle .doc-omits { display: block; margin-top: 4px; color: var(--amber); font-size: 13px; line-height: 19px; }
/* The case page's documents table (pass 5): who submitted a document goes under its name when
   the column is dropped on a phone; a document a revision added says so. */
main.reading table.bundle .doc-by { display: none; margin-top: 2px; color: var(--muted); font-size: 13px; line-height: 19px; }
main.reading table.bundle .doc-added { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; font-style: italic; line-height: 19px; }
main.reading.intake .create-form .to-do { flex-basis: 100%; margin: 0; }
main.reading.intake .create-form .to-do a { margin-left: 6px; }
/* Expected results (decisions 0089, 0090). On the case page, a draft's two controls sit in its
   margin and act in place; a confirmed row counts its runs, then one mark per run in the repeat
   table's style, each a link to that run's expected results, tall enough to aim at (R45). */
main.reading.case-page .expect .acts { display: inline-flex; flex-wrap: wrap; gap: 6px; }
main.reading .expect form.row-act { margin: 0; padding: 0; background: transparent; }
main.reading .expect form.row-act .control { margin-top: 0; padding: 0 8px; line-height: 22px; }
main.reading.case-page .expect .res .badge { margin-right: 4px; font-size: 10px; line-height: 16px; vertical-align: 1px; }
/* The marks stay on one line beside the count on every row, at the right edge; a count that names
   a run wraps its own words instead (decision 0093). */
main.reading.case-page .expect .margin:has(> .dots) { flex-wrap: nowrap; }
main.reading.case-page .expect .margin:has(> .dots) > .res { flex: 0 1 auto; min-width: 0; }
main.reading.case-page .expect .dots { display: inline-flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; margin-left: auto; }
main.reading.case-page .expect a.dot { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 24px; color: inherit; }
main.reading.case-page .expect a.dot:hover .sm, main.reading.case-page .expect a.dot:focus-visible .sm { outline: 2px solid var(--link); outline-offset: 3px; }
/* On the run page a result that differs is said in ink, at weight; colour repeats the words (R66). */
main.reading .expect .margin .res.miss { color: var(--ink); font-weight: 650; }
/* What differs between the runs the repeat table shows: a short list in body text. */
main.reading.case-page .differs { max-width: var(--measure); margin-top: 8px; padding-left: 20px; font-size: 14px; line-height: 21px; }
main.reading.case-page .differs li + li { margin-top: 4px; }
main.reading.case-page .differs-title { margin-top: 28px; font-size: 15px; line-height: 22px; }
/* Notes across cases: the case's name in italic, as a citation names a case. */
main.reading .notes .case-name { font-style: italic; }
/* The stages with notes, under the lede at the reading's width: a stage's name and counts with
   its categories read as one line, never squeezed into the margin (UI round 1, item 21). */
main.reading .notes-toc { margin: 18px 0 0; padding: 0; list-style: none; font-size: 15px; line-height: 23px; }
main.reading .notes-toc li { padding: 5px 0; border-top: 1px solid var(--rule); text-wrap: pretty; }
main.reading .notes-toc li:last-child { border-bottom: 1px solid var(--rule); }
main.reading .notes .by .badge { margin-right: 2px; font-size: 10px; line-height: 16px; vertical-align: 1px; }
/* A link that names a stage, its case and its run wraps in even lines, never leaving "Ltd, run 2"
   alone (UI round 1, item 20). */
main.reading .rows.notes .margin a { text-wrap: balance; }
/* The expected-result form: candidates grouped by stage, each a radio; a candidate's decision
   select shows once it is chosen, by CSS alone, so the form works without script (R44). */
.expected-form fieldset.candidate-group { min-width: 0; margin: 0 0 var(--space-5); padding: 0; border: 0; }
.expected-form legend { padding: 0; font-size: 16px; font-weight: 650; line-height: 24px; }
.expected-form .candidates { margin: 8px 0 0; padding: 0; list-style: none; }
.expected-form .candidate { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 6px 0; border-bottom: 1px solid var(--rule); }
.expected-form .candidate input[type="radio"] { display: inline-block; flex: 0 0 auto; width: auto; margin: 0; }
.expected-form .candidate-label { flex: 1 1 16rem; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.expected-form .candidate select.decision { display: none; flex: 0 1 auto; width: auto; max-width: 100%; margin: 0 0 0 22px; padding: 4px 6px; }
.expected-form .candidate input[type="radio"]:checked ~ select.decision { display: block; }
/* Dispute types are a set: the approved four as boxes, ticked as the run listed them (0093). */
.expected-form .candidate .decision-set { display: none; flex: 1 1 100%; flex-wrap: wrap; gap: 2px 14px; margin: 0 0 0 22px; }
.expected-form .candidate input[type="radio"]:checked ~ .decision-set { display: flex; }
.expected-form .candidate .decision-set .choice-label { margin: 0; white-space: nowrap; }
/* A candidate's must-be-present or must-be-absent choice shows with its decision; a register
   rule has none, since its row exists on every run (UI round 1, item 16). */
.expected-form .candidate select.polarity { display: none; flex: 0 1 auto; width: auto; max-width: 100%; margin: 0; padding: 4px 6px; }
.expected-form .candidate input[type="radio"]:checked ~ select.polarity { display: block; }
/* What the latest run decided, beside the candidate it is about (item 14). */
.expected-form .candidate-run { flex: 0 0 auto; color: var(--muted); font-size: 13px; white-space: nowrap; }
.expected-form .candidate-family { margin: 14px 0 0; color: var(--muted); font-size: 13px; font-weight: 650; }
.expected-form .complete { margin-top: 10px; }
.expected-form .complete .by { display: block; color: var(--muted); font-size: 13px; }
.expected-form details .choice-label { margin-top: 10px; }
/* The form's page: the case named in its heading wraps without an orphaned word (item 13). */
main.expected-form-page h1 { text-wrap: balance; }
main.expected-form-page .expected-current { margin: var(--space-5) 0; }
main.expected-form-page .expected-current .recorded { margin: 8px 0 0; padding: 0; list-style: none; }
main.expected-form-page .expected-current .recorded li { padding: 6px 0; border-bottom: 1px solid var(--rule); }
main.expected-form-page .expected-current .by { display: block; color: var(--muted); font-size: 13px; }
main.expected-form-page .expected-form > h2 { margin-bottom: var(--space-4); }
main.expected-form-page .candidates-caption { margin: calc(-1 * var(--space-3)) 0 var(--space-4); color: var(--muted); font-size: 14px; }
main.expected-form-page .candidates-caption .badge { margin-left: 4px; font-size: 10px; line-height: 16px; vertical-align: 1px; }
main.expected-form-page .recorded-keys { margin-top: var(--space-4); }
main.expected-form-page .recorded-keys p { margin: 4px 0 0; overflow-wrap: anywhere; }

/* Pathway A: scale shapes and source order stay the same at both widths. */
main.reading .mark--evidence-full,
main.reading .mark--evidence-half,
main.reading .mark--evidence-empty { border-radius: 0; border: 1.5px solid var(--ink); }
main.reading .mark--evidence-full { background: var(--ink); }
main.reading .mark--evidence-half { background: linear-gradient(90deg, var(--ink) 50%, transparent 50%); }
main.reading .mark--evidence-empty { background: transparent; }
main.reading .mark--mitigated { border-radius: 0; transform: rotate(45deg); background: var(--ink); }
main.reading .mark--mitigation-failed { border-radius: 0; transform: rotate(45deg); border: 1.5px solid var(--ink); background: transparent; }
main.reading .mark--mitigation-unclear { border-radius: 0; transform: rotate(45deg); border: 1.5px solid var(--ink); background: linear-gradient(90deg, var(--ink) 50%, transparent 50%); }
main.reading .pathway-outcome .finding { margin-top: 16px; }
main.reading .pathway-answers li,
main.reading .pathway-limitation { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 8px; }
main.reading .pathway-answers li { padding: 10px 0; }
main.reading .answer-result { display: inline; margin-left: 8px; }
main.reading .pathway-limitation { margin-top: 24px; }
main.reading .pathway-not-raised,
main.reading .case-record-heading { margin-top: 40px; }
/* A group inside the opening: set off by more space than the opening's paragraphs (R70). */
main.reading.case-page .obligation-latest { margin: 36px 0; }
/* The lines share two columns across the rows: the outcome, as wide as the longest and never
   wrapped, then the obligation, with a line's run count under it. */
main.reading .obligation-latest { container-type: inline-size; }
main.reading .obligation-latest .rows { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 16px; }
main.reading .obligation-latest .rows > li, main.reading .obligation-latest-line { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; }
main.reading .obligation-latest .rows > li > p { grid-column: 1 / -1; }
main.reading .obligation-latest-line { align-items: baseline; row-gap: 4px; }
main.reading .obligation-latest-line .finding { margin: 0; }
main.reading .obligation-latest-line a { overflow-wrap: anywhere; }
main.reading .obligation-latest-line .obligation-count { grid-column: -2; }
/* One column when the block is too narrow for the longest outcome beside a readable link: on
   phones, and in the reading column just above the 760px breakpoint, where the margin column
   still stands. 36rem leaves the link about 250px beside "Not met: not performed as required". */
@container (max-width: 36rem) {
  main.reading .obligation-latest .rows { grid-template-columns: minmax(0, 1fr); }
  main.reading .obligation-latest-line { row-gap: 8px; }
}
main.reading .spread > *, main.reading .repeat-wrap { min-width: 0; }
@media (max-width: 600px) {
  main.reading.case-page .repeat caption .hold { width: min(100%, calc(100vw - 48px)); white-space: normal; overflow-wrap: anywhere; box-sizing: border-box; }
  main.reading.case-page .repeat-wrap { max-width: 100%; overflow-x: auto; }
}

/* Keep each scale mark with its word; the reason and meaning still wrap. */
.mark-word { display: inline-flex; align-items: baseline; white-space: nowrap; }
.mark-word .mark { flex: none; margin-right: .35em; }
.recorded-answer dd a { overflow-wrap: anywhere; }

main.reading .legend--pathway li { display: block; }

/* The practitioners' quiz (decision 0111): the intake form styles, plus the case text, the change
   highlight, the inline confidence choices and the reveal's answer tables. */
main.reading.quiz .quiz-case-text { max-width: var(--measure); margin: 18px 0 6px; padding: 2px 0 2px 16px; border-left: 2px solid var(--rule-strong); }
main.reading.quiz .quiz-case-text mark, main.reading.quiz .quiz-change mark { background: var(--change-wash); color: inherit; padding: 1px 2px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
main.reading.quiz .quiz-question { margin-top: 30px; }
main.reading.quiz .quiz-question > legend { font-size: 16px; line-height: 24px; }
main.reading.quiz .quiz-question .choice-label { margin-top: 6px; }
main.reading.quiz .small-label { display: block; margin-top: 12px; font-size: 14px; font-weight: 600; line-height: 21px; }
main.reading.quiz .quiz-sure { margin-top: 14px; padding: 0; border: 0; }
main.reading.quiz .quiz-sure > legend { font-size: 14px; font-weight: 600; }
main.reading.quiz .field input:not([type]), main.reading.quiz .quiz-range input { display: block; width: 100%; max-width: 32rem; margin: 6px 0 0; padding: 8px 10px; border: 1px solid var(--rule-strong); background: var(--surface); color: inherit; font: inherit; }
main.reading.quiz .quiz-range input { max-width: 12rem; }
main.reading.quiz .quiz-text { margin-top: 30px; }
main.reading.quiz .quiz-cases { margin: 10px 0 0; padding-left: 1.4em; }
main.reading.quiz .quiz-cases li { margin-top: 4px; }
main.reading.quiz .quiz-state { max-width: var(--measure); margin-top: 24px; font-weight: 600; }
main.reading.quiz .quiz-confirm { max-width: var(--measure); margin-top: 28px; padding: 12px 16px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); }
main.reading.quiz .quiz-section h2 .quiet, main.reading.quiz .quiz-page h2 .quiet { font-size: 15px; font-weight: 400; }
main.reading.quiz table.quiz-answers { width: 100%; max-width: calc(var(--measure) + 8rem); margin-top: 22px; border-collapse: collapse; }
main.reading.quiz table.quiz-answers caption { text-align: left; font-weight: 650; padding-bottom: 6px; }
main.reading.quiz table.quiz-answers th, main.reading.quiz table.quiz-answers td { padding: 7px 10px 7px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
main.reading.quiz table.quiz-answers thead th { border-bottom: 1px solid var(--rule-strong); font-size: 14px; font-weight: 600; }
main.reading.quiz table.quiz-answers tbody th { width: 5.5rem; font-weight: 650; }
main.reading.quiz table.quiz-answers td:last-child { width: 6rem; }
main.reading.quiz .quiz-boxes { margin: 4px 0 0; padding-left: 1.2em; }
main.reading.quiz table.quiz-answers td { font-size: 16px; line-height: 24px; }
main.reading.quiz .quiz-detail, main.reading.quiz .quiz-thought { margin: 2px 0 0; font-size: 15px; line-height: 22px; color: var(--muted); }
main.reading.quiz .quiz-lines { max-width: calc(var(--measure) + 6rem); margin: 8px 0 0; padding: 0; list-style: none; }
main.reading.quiz .quiz-lines li { display: grid; grid-template-columns: 5.5rem 1fr; column-gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--rule); }
main.reading.quiz .quiz-lines li > :not(.quiz-who) { grid-column: 2; }
main.reading.quiz .quiz-who { font-weight: 650; }
main.reading.quiz .quiz-case-text + h3, main.reading.quiz .quiz-case-text + table { margin-top: 26px; }
main.reading.quiz .quiz-thought-form { margin-top: 6px; }
main.reading.quiz .quiz-thought-form textarea { display: block; width: 100%; max-width: 32rem; margin: 6px 0 8px; padding: 8px 10px; border: 1px solid var(--rule-strong); background: var(--surface); font: inherit; }
main.reading.quiz .quiz-notes { max-width: var(--measure); margin-top: 18px; }
main.reading.quiz .quiz-optional { margin-top: 28px; }
main.reading.quiz .quiz-diff-toggle { margin-top: 10px; }
main.reading.quiz .quiz-saved { font-weight: 600; }
main.reading.quiz .quiz-steps { max-width: var(--measure); margin-top: 18px; padding-left: 1.4em; }
main.reading.quiz .follow-up input.quiz-inline { display: inline-block; width: auto; min-width: 16rem; margin: 4px 0 0 26px; }
main.reading.quiz details.quiz-wrong { margin-top: 10px; }
main.reading.quiz details.quiz-wrong > summary { cursor: pointer; font-size: 15px; color: var(--ink); }
main.reading.quiz .quiz-section-sentence { max-width: var(--measure); margin-top: 6px; }
main.reading.quiz table.quiz-grid, main.reading.quiz table.quiz-overview, main.reading.quiz table.quiz-family { width: 100%; max-width: calc(var(--measure) + 10rem); margin-top: 18px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
main.reading.quiz table.quiz-grid th, main.reading.quiz table.quiz-grid td, main.reading.quiz table.quiz-overview th, main.reading.quiz table.quiz-overview td, main.reading.quiz table.quiz-family th, main.reading.quiz table.quiz-family td { padding: 6px 10px 6px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; font-size: 15px; line-height: 22px; }
main.reading.quiz table.quiz-grid thead th, main.reading.quiz table.quiz-overview thead th, main.reading.quiz table.quiz-family thead th { border-bottom: 1px solid var(--rule-strong); font-size: 14px; font-weight: 600; }
main.reading.quiz table.quiz-grid tbody th { font-weight: 600; width: 40%; }
main.reading.quiz .quiz-pattern { text-align: right; white-space: nowrap; }
main.reading.quiz .quiz-mark { color: var(--muted); }
main.reading.quiz .quiz-moved { font-weight: 700; }
main.reading.quiz .quiz-amount { color: var(--muted); white-space: nowrap; }
main.reading.quiz .quiz-wrong-cell { font-weight: 700; }
main.reading.quiz tr.quiz-tier th { padding-top: 14px; font-weight: 650; border-bottom: 1px solid var(--rule-strong); }
main.reading.quiz table.quiz-family caption { text-align: left; font-weight: 650; padding-bottom: 6px; }
main.reading.quiz table.quiz-family .quiz-qlabel { font-weight: 400; color: var(--muted); }
main.reading.quiz table.quiz-family tr.quiz-person-first th, main.reading.quiz table.quiz-family tr.quiz-person-first td { border-top: 1px solid var(--rule-strong); }
main.reading.quiz .quiz-colname { display: block; font-weight: 400; color: var(--muted); font-size: 13px; line-height: 18px; }
main.reading.quiz .quiz-family-wrap { overflow-x: auto; }
main.reading.quiz .quiz-ranges { max-width: calc(var(--measure) + 6rem); margin: 8px 0 0; padding: 0; list-style: none; }
main.reading.quiz .quiz-ranges li { display: grid; grid-template-columns: 5.5rem 1fr 9rem; column-gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--rule); }
main.reading.quiz .quiz-strip { display: block; height: 10px; background: var(--neutral-wash); }
main.reading.quiz .quiz-bar { display: block; height: 10px; background: var(--rule-strong); }
@media (max-width: 760px) {
  main.reading.quiz table.quiz-grid tbody th { width: auto; }
  main.reading.quiz .quiz-lines li { grid-template-columns: 3rem 1fr; }
  main.reading.quiz .quiz-ranges li { grid-template-columns: 3rem 1fr 7rem; }
}
/* Round two of the persona reviews (12 October): drawn confidence marks of one size, detail lines
   inside their cells, one frame shared by the three family grids, scroll regions on phones. */
main.reading.quiz .quiz-mark { display: inline-block; width: 0.62em; height: 0.62em; margin-right: 0.3em; border: 1.5px solid var(--ink, #1f2a22); border-radius: 50%; vertical-align: 0.02em; box-sizing: border-box; }
main.reading.quiz .quiz-mark--sure { background: var(--ink, #1f2a22); }
main.reading.quiz .quiz-mark--leaning { background: linear-gradient(90deg, var(--ink, #1f2a22) 50%, transparent 50%); }
main.reading.quiz .quiz-mark--unsure { background: transparent; }
main.reading.quiz .quiz-legend { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--muted); }
main.reading.quiz .quiz-legend .quiz-mark { margin-left: 0.6em; }
main.reading.quiz .quiz-caption-question { display: block; font-weight: 650; max-width: var(--measure); }
main.reading.quiz table.quiz-grid caption { text-align: left; padding-bottom: 6px; }
main.reading.quiz .quiz-cell-line { display: block; margin-top: 2px; font-size: 14px; line-height: 20px; color: var(--muted); white-space: normal; }
main.reading.quiz .quiz-nowrap { white-space: nowrap; }
main.reading.quiz .quiz-scroll { max-width: 100%; overflow-x: auto; }
main.reading.quiz .quiz-scroll:focus-visible { outline: 3px solid var(--link); outline-offset: 3px; }
main.reading.quiz table.quiz-grid { table-layout: fixed; }
main.reading.quiz table.quiz-grid .quiz-qcol { width: 9rem; }
main.reading.quiz table.quiz-grid th.quiz-pattern, main.reading.quiz table.quiz-grid td.quiz-pattern { width: 5.5rem; }
main.reading.quiz table.quiz-family { table-layout: fixed; min-width: 22rem; }
main.reading.quiz table.quiz-family col.quiz-col-who { width: 4.5rem; }
main.reading.quiz table.quiz-family tr.quiz-qrow th { padding-top: 12px; border-bottom: 1px solid var(--rule-strong); font-weight: 650; color: var(--ink); }
main.reading.quiz table.quiz-family .quiz-sticky { position: sticky; left: 0; z-index: 1; background: var(--paper); }
main.reading.quiz table.quiz-family td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
main.reading.quiz .quiz-section h3 { margin-top: 28px; }
main.reading.quiz .quiz-scale { border-bottom: 0 !important; padding-top: 0 !important; }
main.reading.quiz .quiz-scale-ends { display: flex; justify-content: space-between; font-size: 13px; color: var(--muted); }
main.reading.quiz details.quiz-thought-form > summary { display: inline-block; list-style: none; margin-top: 6px; padding: 4px 10px; border: 1px solid var(--rule-strong); font-size: 14px; color: inherit; cursor: pointer; }
main.reading.quiz details.quiz-thought-form > summary::-webkit-details-marker { display: none; }
main.reading.quiz .quiz-indent { margin-left: 26px; }
@media (max-width: 760px) {
  main.reading.quiz table.quiz-grid .quiz-qcol { width: 6.5rem; }
  main.reading.quiz table.quiz-grid th, main.reading.quiz table.quiz-grid td { font-size: 14px; line-height: 20px; padding-right: 6px; }
  main.reading.quiz table.quiz-grid { min-width: 22rem; }
}
main.reading.quiz .intake-page, main.reading.quiz .intake-section, main.reading.quiz .quiz-optional { min-width: 0; max-width: 100%; }
main.reading.quiz .quiz-scroll { width: 100%; position: relative; }
main.reading.quiz .quiz-stack { display: none; }
main.reading.quiz .quiz-scroll-hint { display: none; }
main.reading.quiz .quiz-stack-q { margin-top: 14px; font-weight: 650; }
main.reading.quiz .quiz-item-title { display: block; font-size: 14px; font-weight: 400; color: var(--muted); }
main.reading.quiz table.quiz-overview caption { text-align: left; padding-bottom: 4px; }
main.reading.quiz .form-end .quiet { flex-basis: 100%; }
@media (max-width: 760px) {
  main.reading.quiz .quiz-grid-wrap { display: none; }
  main.reading.quiz .quiz-stack { display: block; }
  main.reading.quiz table.quiz-family { min-width: 30rem; }
  main.reading.quiz .quiz-scroll-hint { display: block; font-weight: 400; color: var(--muted); }
  main.reading.quiz table.quiz-family col.quiz-col-who { width: 3.2rem; }
  main.reading.quiz table.quiz-family th, main.reading.quiz table.quiz-family td { font-size: 13px; line-height: 18px; padding-right: 6px; }
}
/* The quiz is its own place: its path starts at the quiz, and before submission every page says
   the answers are the reader's alone (readers.md, scenario Q1). */
.site-header .quiz-seal { margin: 0 0 0 auto; color: var(--ink); font-size: 13px; line-height: 19px; }
@media (max-width: 760px) { .site-header .quiz-seal { margin-left: 0; } }
main.reading.case-library .quiz-entry { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--rule); }
/* Fable's cold read: only the field that is missing turns amber, not every line under the options. */
main.reading.quiz .field.has-error input:not([type="radio"]):not([type="checkbox"]):not([aria-invalid="true"]) { border-color: var(--rule-strong); border-width: 1px; }
main.reading.quiz .quiz-kicker { display: block; font-size: 13px; line-height: 19px; font-weight: 650; color: var(--muted); text-transform: none; }
main.reading.quiz .quiz-item-save { margin-top: 12px; }
main.reading.quiz details.quiz-key { margin-top: 12px; }
main.reading.quiz details.quiz-key dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin-top: 8px; font-size: 14px; line-height: 20px; }
main.reading.quiz details.quiz-key dt { font-weight: 650; }
main.reading.quiz details.quiz-key dd { margin: 0; }
main.reading.quiz .quiz-dissent { display: block; font-size: 13px; line-height: 18px; white-space: normal; }
/* Round 2 of the quiz's own reviews (Birman, Tufte; 12 October). */
main.reading.quiz table.quiz-dispute { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 15px; line-height: 22px; }
main.reading.quiz table.quiz-dispute th, main.reading.quiz table.quiz-dispute td { padding: 8px 12px 8px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
main.reading.quiz table.quiz-dispute thead th { font-size: 14px; line-height: 20px; border-bottom: 1px solid var(--rule-strong); }
main.reading.quiz table.quiz-dispute .quiz-who-col { width: 6rem; }
main.reading.quiz table.quiz-dispute .quiz-why-col { width: 48%; }
main.reading.quiz table.quiz-dispute tbody th { font-weight: 650; white-space: nowrap; }
main.reading.quiz table.quiz-dispute tfoot th, main.reading.quiz table.quiz-dispute tfoot td { border-top: 1px solid var(--rule-strong); border-bottom: 0; font-weight: 650; }
main.reading.quiz table.quiz-dispute tr.is-you { background: var(--surface); }
main.reading.quiz .quiz-answer { font-weight: 500; }
main.reading.quiz table.quiz-overview .quiz-split-col { width: 16rem; }
main.reading.quiz table.quiz-overview td.quiz-split { font-weight: 650; }
main.reading.quiz table.quiz-overview td.quiz-stem { color: var(--muted); }
main.reading.quiz .quiz-family-title { margin-top: 28px; font-size: 18px; line-height: 26px; font-weight: 650; color: var(--ink); }
main.reading.quiz .quiz-family-key { font-size: 13px; line-height: 19px; color: var(--muted); }
main.reading.quiz table.quiz-family thead th { white-space: normal; }
main.reading.quiz .quiz-names { margin-left: 8px; font-size: 13px; white-space: nowrap; }
main.reading.quiz .quiz-change { margin-top: 8px; max-width: var(--measure); }
main.reading.quiz .quiz-continue { font-size: 17px; font-weight: 650; white-space: nowrap; }
main.reading.quiz .quiz-start { margin-top: 18px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 24px; }
main.reading.quiz .quiz-steps + .quiet { margin-top: 10px; }
main.reading.quiz .quiz-consequence { max-width: var(--measure); font-size: 15px; line-height: 23px; }
main.reading.quiz .quiz-consequence-wrap { flex-basis: 100%; }
main.reading.quiz .quiz-optional h3, main.reading.quiz .quiz-section-sentence { max-width: var(--measure); }
main.reading.quiz .intake-section p + p, main.reading.quiz details.quiz-notes p + p { margin-top: 10px; }
main.reading.quiz .quiz-section > p.quiet:last-child { margin-bottom: 18px; }
@media (max-width: 760px) {
  main.reading.quiz table.quiz-dispute, main.reading.quiz table.quiz-dispute tbody, main.reading.quiz table.quiz-dispute tfoot, main.reading.quiz table.quiz-dispute tr, main.reading.quiz table.quiz-dispute th, main.reading.quiz table.quiz-dispute td { display: block; width: auto; }
  main.reading.quiz table.quiz-dispute thead { display: none; }
  main.reading.quiz table.quiz-dispute tr { padding: 10px 0; border-bottom: 1px solid var(--rule); }
  main.reading.quiz table.quiz-dispute th, main.reading.quiz table.quiz-dispute td { border: 0; padding: 2px 0; }
  main.reading.quiz table.quiz-dispute td[data-label]::before { content: attr(data-label); display: block; font-size: 13px; line-height: 18px; font-weight: 650; color: var(--muted); }
  main.reading.quiz table.quiz-dispute tfoot tr { border-top: 1px solid var(--rule-strong); border-bottom: 0; }
  main.reading.quiz table.quiz-dispute td.quiz-why-cell:empty { display: none; }
  main.reading.quiz table.quiz-overview .quiz-split-col { width: auto; }
  main.reading.quiz table.quiz-overview td.quiz-stem, main.reading.quiz table.quiz-overview th.quiz-stem { display: none; }
}
main.reading.quiz .quiz-section > p.quiet:last-of-type { margin-top: 18px; }
/* Concilia's own reading under each dispute's answers (decision 0113): set apart by space and a
   heading, never a box (R69); the model's words by their label, not by colour (R66). */
main.reading.quiz .quiz-concilia { max-width: calc(var(--measure) + 6rem); margin-top: 28px; }
main.reading.quiz .quiz-concilia h3 { margin-top: 0; }
main.reading.quiz .quiz-concilia-lines { margin: 6px 0 0; padding: 0; list-style: none; }
main.reading.quiz .quiz-concilia-lines li { padding: 8px 0; border-bottom: 1px solid var(--rule); max-width: var(--measure); }
main.reading.quiz .quiz-concilia-label { display: block; font-size: 13px; line-height: 18px; font-weight: 650; color: var(--muted); }
main.reading.quiz .quiz-concilia-intro { margin-top: 2px; }
main.reading.quiz .quiz-concilia-reason { max-width: none; margin: 6px 0 2px; padding: 0 0 0 12px; border-left: 2px solid var(--quote-rule); color: var(--ink); }
main.reading.quiz .quiz-concilia-from { color: var(--muted); }
main.reading.quiz .quiz-concilia-kicker { margin-top: 18px; font-weight: 650; }
/* The dispute page as sections (decision 0114, the review of 17 October): each question is a
   numbered section under a rule, with its own "how sure" and "Something wrong with this question?"
   inside it; the framing and the reasons are unnumbered sections about the whole dispute (R69, R70,
   R27; the editor's pass). */
main.reading.quiz .quiz-page > h1 { text-wrap: balance; }
main.reading.quiz .quiz-q { max-width: var(--measure); margin-top: 36px; padding-top: 16px; border-top: 1px solid var(--rule); }
main.reading.quiz .quiz-q > h2 { font-size: 18px; line-height: 26px; font-weight: 650; }
/* A section's heading stays in view while its own controls are on screen, so a reader who has
   scrolled can still tell which question a control belongs to (Kirill, 17 October). It is the
   heading itself, at its own size, on the page's ground: no bar, no shadow (R28, R69). Below it a
   short fade from the ground to nothing, so a line passing under it is not cut by a hard edge
   (the vision review of 17 October, S1); the next element keeps clear of the fade at rest. */
main.reading.quiz .quiz-q > h2 { position: sticky; top: 0; z-index: 1; padding: 6px 0 10px; background: var(--paper); }
main.reading.quiz .quiz-q > h2::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 12px; background: linear-gradient(var(--paper), transparent); pointer-events: none; }
main.reading.quiz .quiz-q > h2 + * { margin-top: 8px; }
main.reading.quiz .quiz-q > h2 .quiz-n { display: inline-block; min-width: 1.6em; }
main.reading.quiz .quiz-q .quiz-prompt { display: block; margin: 0; padding: 0; font-size: 16px; line-height: 24px; font-weight: 400; }
main.reading.quiz .quiz-helper { max-width: var(--measure); margin-top: 2px; color: var(--muted); font-size: 15px; line-height: 22px; }
main.reading.quiz .quiz-options { margin-top: 2px; }
main.reading.quiz .follow-up { margin: 6px 0 4px 26px; padding-left: 12px; border-left: 2px solid var(--rule); }
main.reading.quiz .follow-up > .small-label:first-child { margin-top: 4px; }
/* A follow-up shows under its chosen option, or where it already holds words or a ticked box (S4).
   Nothing typed is ever hidden; without :has() every one shows, as before (R44). */
@supports selector(:has(*)) {
  main.reading.quiz .choice-label:not(:has(input:checked)) + .follow-up:not(:has(input:not([type="checkbox"]):not([type="radio"]):not(:placeholder-shown))):not(:has(input[type="checkbox"]:checked)) { display: none; }
}
main.reading.quiz .quiz-other { margin-left: 23px; }
main.reading.quiz .follow-up .quiz-other input.quiz-inline { display: block; width: 100%; min-width: 0; max-width: 28rem; margin: 6px 0 0; }
/* "How sure are you?" is part of the answer: under the options, at their text edge, at body weight
   (the editor's pass, 2.2). */
main.reading.quiz .quiz-sure { margin: 14px 0 0 26px; }
main.reading.quiz .quiz-sure > legend { font-size: 15px; font-weight: 400; color: var(--ink); }
main.reading.quiz .quiz-sure-row { display: flex; flex-wrap: wrap; gap: 0 22px; }
/* "Something wrong with this question?": a quiet disclosure, last in its section. */
main.reading.quiz details.quiz-wrong { margin-top: 14px; padding: 0; border: 0; }
main.reading.quiz details.quiz-wrong > summary { font-size: 15px; color: var(--muted); }
main.reading.quiz details.quiz-wrong[open] > summary { color: var(--ink); }
main.reading.quiz .quiz-hint { display: block; margin: 0 0 0 26px; color: var(--muted); font-size: 15px; line-height: 22px; }
main.reading.quiz .quiz-then { color: var(--muted); font-weight: 400; }
/* What is still to answer is a fact about a draft, not a failure: ink, never amber (R66; S3). */
main.reading.quiz .quiz-still { max-width: var(--measure); margin: 6px 0 0; padding: 2px 0 2px 10px; border-left: 3px solid var(--ink); font-size: 15px; line-height: 22px; font-weight: 600; }
main.reading.quiz .quiz-todo { max-width: var(--measure); margin-top: 14px; }
main.reading.quiz .lede .quiz-todo p, main.reading.quiz .lede .quiz-todo li { font-size: 16px; line-height: 25px; }
main.reading.quiz .quiz-todo ul { margin: 4px 0 0; padding-left: 1.2em; }
main.reading.quiz .quiz-todo:not(.quiz-todo--saved) { color: var(--muted); }
main.reading.quiz .quiz-todo--saved { padding: 8px 12px; border-left: 3px solid var(--ink); background: var(--neutral-wash); }
main.reading.quiz .quiz-refusal { max-width: var(--measure); margin-top: 14px; padding: 8px 12px; border-left: 3px solid var(--amber-rule); background: var(--amber-wash); }
main.reading.quiz .quiz-refusal ul { margin-top: 4px; }
main.reading.quiz .quiz-buttons { gap: 10px 14px; }
main.reading.quiz .quiz-default { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; padding: 0; }
main.reading.quiz .form-end > .quiz-consequence { flex-basis: 100%; margin: 0; }
main.reading.quiz .intake-section h2 + p { margin-top: 12px; }
main.reading.quiz .field .quiz-range input:not([type]) { max-width: 12rem; }
/* After the reviews and the editor's pass of 17 October (decision 0114). */
/* A stuck heading never hides what focus or a link lands on: the quiz pages' scroller keeps a
   heading's height clear at its top (WCAG 2.4.11; the vision review's S1). Without :has(), the
   sections and their targets keep the same margin themselves. */
html:has(main.reading.quiz) { scroll-padding-top: 3rem; }
@supports not selector(:has(*)) {
  main.reading.quiz .quiz-q, main.reading.quiz .quiz-q [id] { scroll-margin-top: 3rem; }
}
/* The "something else" line and the "what is wrong" line show once their box is ticked, or where
   they already hold words; nothing typed is ever hidden, and without :has() both show (R44). */
@supports selector(:has(*)) {
  main.reading.quiz .choice-label:not(:has(input:checked)) + .quiz-other:not(:has(input:not(:placeholder-shown))) { display: none; }
  main.reading.quiz details.quiz-wrong .choice-label:not(:has(input:checked)) + .quiz-hint + .follow-up:not(:has(input:not(:placeholder-shown))) { display: none; }
}
main.reading.quiz .quiz-sure .quiz-still { margin-left: 0; }
main.reading.quiz .quiz-q--whole .quiz-helper { margin-top: 2px; }
/* The name in a dispute's heading wraps as a whole, never inside itself. */
main.reading.quiz .quiz-name { display: inline-block; }
/* The save row may run past the prose measure, so four buttons sit on one line at 1366; its rule
   stays at the measure, like the sections' (the vision review's S3). */
main.reading.quiz .form-end.quiz-buttons { max-width: 52rem; border-top: 0; background: linear-gradient(var(--rule), var(--rule)) 0 0 / min(100%, var(--measure)) 1px no-repeat; }
/* The status block's second line, about the group's other disputes. */
main.reading.quiz .quiz-todo .quiz-notice { margin-top: 6px; }
main.reading.quiz .lede .quiz-todo + .quiet, main.reading.quiz .lede .quiz-refusal + p { margin-top: 14px; }
/* The submit page before a press of Submit: what is left, in ink, not yet amber. */
main.reading.quiz .lede div.quiz-todo:not(.quiz-todo--saved) { padding: 8px 12px; border-left: 3px solid var(--rule-strong); color: var(--ink); }
/* The shorter questions as sections like a dispute page's; an amount with £ before it. */
main.reading.quiz .quiz-q .quiz-from { margin-top: 8px; }
main.reading.quiz .quiz-q > .quiz-question { margin-top: 18px; }
main.reading.quiz .quiz-q > h2 + .quiz-question { margin-top: 8px; }
main.reading.quiz .quiz-range { display: flex; flex-wrap: wrap; gap: 0 28px; }
main.reading.quiz .quiz-money { display: flex; align-items: stretch; margin-top: 6px; }
main.reading.quiz .quiz-pound { display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--rule-strong); border-right: 0; background: var(--neutral-wash); }
main.reading.quiz .field .quiz-range .quiz-money input:not([type]) { width: 9rem; max-width: 9rem; margin: 0; }
/* The index's and the submit page's rows: one line at desk width, each part its own line on a
   phone (the vision review's nit). */
@media (max-width: 760px) {
  main.reading.quiz .quiz-rows li { margin-top: 10px; }
  main.reading.quiz .quiz-rows .quiz-part { display: block; }
  main.reading.quiz .quiz-rows .quiz-sep { display: none; }
}
/* A closed edition's page (decision 0122): the outcome note first under each section's heading
   sentence, the thread after the answers and Concilia's block. Space and a heading, never a box
   (R69); "new" is a word in bold, not only a colour (R66). */
main.reading.quiz .quiz-outcome { max-width: var(--measure); margin-top: 14px; }
main.reading.quiz .quiz-outcome-line { margin: 0; font-weight: 400; }
main.reading.quiz .quiz-byline { margin: 2px 0 0; font-size: 14px; line-height: 21px; color: var(--muted); }
main.reading.quiz .quiz-byline .quiz-who { color: var(--ink); }
main.reading.quiz .quiz-new { color: var(--ink); font-weight: 650; }
main.reading.quiz details.quiz-outcome-form, main.reading.quiz details.quiz-outcome-history { margin-top: 6px; }
main.reading.quiz details.quiz-outcome-history > summary { font-size: 14px; cursor: pointer; }
main.reading.quiz .quiz-outcome-kinds { margin: 10px 0 0; padding: 0; border: 0; }
main.reading.quiz .quiz-outcome-kinds label { display: block; padding: 3px 0; }
main.reading.quiz .quiz-outcome-form textarea, main.reading.quiz .quiz-comment-form textarea { display: block; width: 100%; max-width: 32rem; margin: 6px 0 8px; padding: 8px 10px; border: 1px solid var(--rule-strong); background: var(--surface); font: inherit; }
main.reading.quiz .quiz-versions { margin: 6px 0 0; padding: 0; list-style: none; }
main.reading.quiz .quiz-versions li { padding: 6px 0; border-bottom: 1px solid var(--rule); }
main.reading.quiz .quiz-versions .quiz-outcome-line { font-weight: 400; }
main.reading.quiz .quiz-discussion { max-width: var(--measure); margin-top: 28px; }
main.reading.quiz .quiz-discussion h3, main.reading.quiz .quiz-discussion h4 { margin-top: 0; }
main.reading.quiz .quiz-comments { margin: 6px 0 0; padding: 0; list-style: none; }
main.reading.quiz .quiz-comments li { padding: 8px 0; border-bottom: 1px solid var(--rule); }
main.reading.quiz .quiz-comment-text { margin: 2px 0 0; }
main.reading.quiz .quiz-prompt { margin-top: 6px; }
/* The closed overview (0122, round 1): the whole column wide, a narrow split, and the discussion
   and outcome cells on one line, so the dispute names wrap instead. */
main.reading.quiz table.quiz-overview-closed { max-width: none; }
main.reading.quiz table.quiz-overview-closed .quiz-split-col { width: 10rem; }
main.reading.quiz table.quiz-overview-closed .quiz-nowrap-cell, main.reading.quiz table.quiz-overview-closed .quiz-nowrap-col { white-space: nowrap; }
main.reading.quiz .quiz-notes-after { margin-top: 18px; }
main.reading.quiz details.quiz-comment-fold { margin-top: 6px; }
main.reading.quiz details.quiz-comment-fold > summary { cursor: pointer; }
/* Round 2 (0122): a thread reads on its own at its anchor, its name and a way back beside its
   heading; the overview's phone rows are two lines, the name and one compact line (R59: the
   overview never scrolls sideways); the range chart's axis holds every bar, and the limit is said
   in a line of its own under the chart, never printed over it. */
main.reading.quiz .quiz-discussion-head { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 16px; row-gap: 2px; }
main.reading.quiz .quiz-back { font-size: 14px; white-space: nowrap; }
main.reading.quiz table.quiz-overview-closed { table-layout: auto; }
main.reading.quiz table.quiz-overview-closed .quiz-split-col { width: auto; }
main.reading.quiz table.quiz-overview-closed td.quiz-split { min-width: 6rem; max-width: 12rem; overflow-wrap: anywhere; }
main.reading.quiz table.quiz-overview-closed td.quiz-compact { display: none; }
main.reading.quiz table.quiz-grid th.quiz-pattern, main.reading.quiz table.quiz-grid td.quiz-pattern { width: 9rem; white-space: normal; }
main.reading.quiz .quiz-lines { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 12px; }
main.reading.quiz .quiz-lines li { grid-column: 1 / -1; grid-template-columns: subgrid; column-gap: 12px; }
main.reading.quiz .quiz-lines .quiz-who { white-space: nowrap; }
main.reading.quiz .quiz-discussion form { margin: 0; padding: 0; background: transparent; }
main.reading.quiz .quiz-outcome-kinds input[type="radio"] { display: inline-block; width: auto; margin: 0 6px 0 0; }
main.reading.quiz .quiz-prompt-options { max-width: var(--measure); margin: 6px 0 0; padding-left: 1.2em; }
main.reading.quiz .quiz-ranges { display: grid; grid-template-columns: max-content minmax(6rem, 1fr) max-content; column-gap: 12px; }
main.reading.quiz .quiz-ranges li { grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; column-gap: 12px; }
main.reading.quiz .quiz-ranges .quiz-who { white-space: nowrap; }
main.reading.quiz .quiz-strip { position: relative; }
main.reading.quiz .quiz-limit { position: absolute; top: -2px; bottom: -2px; width: 0; border-left: 2px solid var(--ink); }
main.reading.quiz .quiz-scale-note { max-width: var(--measure); margin-top: 4px; font-size: 13px; line-height: 19px; }
@media (max-width: 760px) {
  main.reading.quiz table.quiz-overview-closed, main.reading.quiz table.quiz-overview-closed tbody, main.reading.quiz table.quiz-overview-closed tr, main.reading.quiz table.quiz-overview-closed th { display: block; width: auto; }
  main.reading.quiz table.quiz-overview-closed thead, main.reading.quiz table.quiz-overview-closed td { display: none; }
  main.reading.quiz table.quiz-overview-closed tr { padding: 8px 0; border-bottom: 1px solid var(--rule); }
  main.reading.quiz table.quiz-overview-closed th { border: 0; padding: 0; }
  main.reading.quiz table.quiz-overview-closed td.quiz-compact { display: block; border: 0; padding: 2px 0 0; font-size: 14px; line-height: 21px; color: var(--muted); }
  main.reading.quiz table.quiz-overview-closed td.quiz-compact .quiz-new { color: var(--ink); }
  main.reading.quiz table.quiz-overview-closed td.quiz-compact a { white-space: nowrap; }
}
/* The call on a closed quiz, in order (decision 0123). A topic's first screen holds the kicker,
   the title, what waits on it and what is to settle, so the head is compact: small headings close
   to their text, the if/then lists at metadata size. Headings and space, never a box (R69); the
   way on is the quiz's own primary link (.quiz-continue). Round 1 of the reviews: the agenda's
   minutes in a column, the tables across disputes grouped by story with fixed columns, quiet
   unanimous rows, the one apart marked by a rule as well as its words, three fixed nav slots. */
main.reading.quiz .quiz-call-head .quiz-kicker { margin: 0 0 4px; }
main.reading.quiz .quiz-call-head h1 { margin: 0 0 8px; font-size: 30px; line-height: 36px; }
main.reading.quiz .quiz-call-head h2 { margin: 8px 0 2px; font-size: 16px; line-height: 22px; font-weight: 650; letter-spacing: 0; }
main.reading.quiz .quiz-call-waits { max-width: var(--measure); }
main.reading.quiz .quiz-settle { max-width: calc(var(--measure) + 8rem); margin: 0; padding-left: 1.4em; }
main.reading.quiz .quiz-settle > li { margin-top: 4px; }
main.reading.quiz .quiz-settle > li::marker { font-weight: 650; }
main.reading.quiz .quiz-settle-q { max-width: var(--measure); font-weight: 600; }
main.reading.quiz .quiz-settle-label { margin: 0 0 2px; font-size: 13px; line-height: 18px; color: var(--muted); }
main.reading.quiz dl.quiz-ifthen { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 1px 12px; margin: 2px 0 0; font-size: 14px; line-height: 20px; }
main.reading.quiz dl.quiz-ifthen dt { font-weight: 650; color: var(--ink); }
main.reading.quiz dl.quiz-ifthen dd { margin: 0; max-width: var(--measure); color: var(--ink); }
main.reading.quiz .quiz-adopt-head { margin-top: 4px; font-size: 14px; line-height: 20px; font-weight: 650; }
main.reading.quiz ol.quiz-adopt { margin: 2px 0 0; padding-left: 1.4em; }
main.reading.quiz ol.quiz-adopt li { font-size: 14px; line-height: 21px; }
main.reading.quiz ol.quiz-adopt ul { margin: 0; padding-left: 1.2em; }
main.reading.quiz .quiz-call-parking { max-width: var(--measure); margin-top: 6px; font-size: 14px; line-height: 21px; }
main.reading.quiz .quiz-call-consequence { max-width: var(--measure); margin-top: 6px; }
main.reading.quiz .quiz-call-about { max-width: var(--measure); margin-top: 6px; color: var(--muted); }
main.reading.quiz .quiz-call-prompt { max-width: var(--measure); margin-top: 8px; }
main.reading.quiz .quiz-call-follow { margin-top: 16px; }
main.reading.quiz .quiz-call-summary { max-width: var(--measure); margin-top: 8px; }
main.reading.quiz .quiz-call-part + .quiz-call-part { margin-top: 12px; }
main.reading.quiz .quiz-call-changes { max-width: var(--measure); margin: 8px 0 0; padding-left: 1.2em; }
main.reading.quiz .quiz-call-changes li + li { margin-top: 6px; }
main.reading.quiz .quiz-call-changes mark { background: var(--change-wash); color: inherit; padding: 1px 2px; }
main.reading.quiz details.quiz-call-story { margin-top: 8px; }
/* A shorter question: each option, who chose it, and their line beneath. */
main.reading.quiz ul.quiz-choices { max-width: var(--measure); margin: 8px 0 0; padding: 0; list-style: none; }
main.reading.quiz ul.quiz-choices > li { padding: 5px 0; border-bottom: 1px solid var(--rule); }
main.reading.quiz .quiz-choice-label { font-weight: 600; }
main.reading.quiz .quiz-choice-who::before { content: "· "; color: var(--muted); }
main.reading.quiz .quiz-choice-line { margin: 2px 0 0 1.2em; font-size: 14px; line-height: 21px; }
main.reading.quiz .quiz-call-split, main.reading.quiz .quiz-call-missing { max-width: var(--measure); margin-top: 6px; font-size: 14px; line-height: 21px; }
/* One question across disputes: fixed, equal person columns on every table of a topic. */
main.reading.quiz table.quiz-across { table-layout: fixed; width: 1px; max-width: none; margin-top: 12px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
main.reading.quiz table.quiz-across col.quiz-across-version { width: 18rem; }
main.reading.quiz table.quiz-across col.quiz-across-person { width: 11rem; }
main.reading.quiz table.quiz-across col.quiz-across-split { width: 10rem; }
main.reading.quiz table.quiz-across th, main.reading.quiz table.quiz-across td { padding: 6px 10px 6px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; font-size: 15px; line-height: 22px; }
main.reading.quiz table.quiz-across thead th { border-bottom: 1px solid var(--rule-strong); font-size: 14px; font-weight: 600; }
main.reading.quiz table.quiz-across tbody th { font-weight: 400; }
main.reading.quiz table.quiz-across tr.quiz-tier th { padding-top: 12px; font-weight: 650; }
main.reading.quiz table.quiz-across tr.quiz-row-quiet td, main.reading.quiz table.quiz-across tr.quiz-row-quiet td .quiz-mark { color: var(--muted); }
/* Round 2: the rule of the one apart is the height of its answer's line, not of the row; a
   "Question wrong" cell is italic (bold means moved only); counts tabular and right-aligned. */
main.reading.quiz table.quiz-across .quiz-apart { padding-left: 5px; border-left: 3px solid var(--ink); }
main.reading.quiz table.quiz-across .quiz-call-wrong { font-style: italic; font-weight: 400; }
main.reading.quiz table.quiz-across .quiz-moved { font-weight: 700; }
main.reading.quiz table.quiz-across td.quiz-count { text-align: right; padding-right: 2.5rem; font-variant-numeric: tabular-nums; }
main.reading.quiz table.quiz-across .quiz-call-foot tr.quiz-tier th { border-top: 1px solid var(--rule-strong); }
main.reading.quiz table.quiz-across .quiz-call-foot th, main.reading.quiz table.quiz-across .quiz-call-foot td { font-size: 14px; line-height: 20px; }
main.reading.quiz .quiz-call-oneline { max-width: var(--measure); margin-top: 8px; font-weight: 600; }
main.reading.quiz .quiz-call-key { max-width: calc(var(--measure) + 8rem); margin-top: 6px; font-size: 13px; line-height: 19px; }
main.reading.quiz .quiz-call-entry { display: block; }
main.reading.quiz .quiz-call-entry + .quiz-call-entry { margin-top: 2px; }
main.reading.quiz .quiz-call-concilia--open { margin-top: 10px; }
main.reading.quiz .quiz-call-concilia--open > h4 { font-size: 16px; line-height: 22px; font-weight: 650; }
main.reading.quiz table.quiz-across tfoot th, main.reading.quiz table.quiz-across tfoot td { border-top: 1px solid var(--rule-strong); border-bottom: 0; font-size: 14px; line-height: 20px; }
main.reading.quiz details.quiz-notes h4 { margin-top: 14px; font-size: 15px; line-height: 22px; font-weight: 650; }
main.reading.quiz .quiz-call-concilia .quiz-concilia { margin-top: 12px; }
main.reading.quiz .quiz-call-concilia .quiz-concilia h4 { margin: 0; }
main.reading.quiz .quiz-call-later ul { margin: 8px 0 0; padding-left: 1.2em; }
main.reading.quiz .quiz-call-later li + li { margin-top: 6px; }
main.reading.quiz .quiz-call-note { max-width: var(--measure); margin: 8px 0 0; padding: 0; background: transparent; }
main.reading.quiz .quiz-call-note h3 { margin: 0 0 4px; font-size: 16px; line-height: 22px; }
main.reading.quiz .quiz-call-note button { margin-top: 2px; }
main.reading.quiz .quiz-call-thread { margin-top: 22px; }
main.reading.quiz .quiz-call-thread form { margin: 0; padding: 0; background: transparent; }
/* Three fixed slots: previous, next (primary), the agenda. */
main.reading.quiz .quiz-call-nav { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px 24px; align-items: baseline; }
main.reading.quiz .quiz-call-slot--next { text-align: center; }
main.reading.quiz .quiz-call-slot--agenda { text-align: right; }
main.reading.quiz .quiz-call-nav .quiz-continue { white-space: normal; }
/* The agenda: an ordered list laid out as a grid, the minutes right-aligned in a left column. */
main.reading.quiz .quiz-call-agenda { max-width: calc(var(--measure) + 5rem); margin-top: 28px; }
main.reading.quiz .quiz-call-minhead { width: 4rem; text-align: right; font-size: 13px; line-height: 18px; color: var(--muted); }
main.reading.quiz .quiz-call-topics { margin: 4px 0 0; padding: 0; list-style: none; }
main.reading.quiz .quiz-call-topics > li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); column-gap: 1rem; padding: 14px 0; border-top: 1px solid var(--rule); }
main.reading.quiz .quiz-call-range { text-align: right; font-variant-numeric: tabular-nums; font-size: 15px; line-height: 26px; color: var(--muted); }
main.reading.quiz .quiz-call-topics h2 { font-size: 19px; line-height: 26px; }
main.reading.quiz .quiz-call-topic .quiz-call-waits { margin-top: 2px; }
main.reading.quiz .quiz-call-topic .quiz-outcome { margin-top: 6px; }
main.reading.quiz .quiz-call-head + .quiz-outcome { margin-top: 12px; }
main.reading.quiz .quiz-call .quiz-start .quiz-continue { white-space: normal; }
main.reading.quiz .quiz-call-link { font-size: 16px; line-height: 24px; }
@media (max-width: 760px) {
  main.reading.quiz .quiz-call-head h1 { font-size: 26px; line-height: 32px; }
  main.reading.quiz dl.quiz-ifthen { grid-template-columns: minmax(0, 1fr); }
  main.reading.quiz dl.quiz-ifthen dd { margin-bottom: 3px; }
  /* Below 760px the columns size to their content (round 2, 13). */
  main.reading.quiz table.quiz-across { table-layout: auto; width: auto; }
  main.reading.quiz table.quiz-across col.quiz-across-version, main.reading.quiz table.quiz-across col.quiz-across-person, main.reading.quiz table.quiz-across col.quiz-across-split { width: auto; }
  main.reading.quiz table.quiz-across tbody th { min-width: 8rem; }
  main.reading.quiz table.quiz-across td.quiz-count { padding-right: 1rem; }
  main.reading.quiz table.quiz-across th, main.reading.quiz table.quiz-across td { font-size: 14px; line-height: 20px; padding-right: 6px; }
  main.reading.quiz .quiz-call-nav { grid-template-columns: 1fr; }
  main.reading.quiz .quiz-call-slot--next, main.reading.quiz .quiz-call-slot--agenda { text-align: left; }
  main.reading.quiz .quiz-call-slot:empty { display: none; }
  main.reading.quiz .quiz-call-topics > li { grid-template-columns: 3rem minmax(0, 1fr); column-gap: 0.75rem; }
  main.reading.quiz .quiz-call-minhead { width: 3rem; }
}
/* A certainty mark never wraps away from its word, and a long short word still wraps after it
   (0123, round 2: "Carry on, no figure" must not widen a phone page). */
main.reading.quiz .quiz-markword { display: inline-flex; align-items: baseline; max-width: 100%; }
main.reading.quiz .quiz-markword > .quiz-mark { flex: none; }
