/* Print layout for the research paper, in the conventions of an academic paper: serif text, a centred title block,
   an indented abstract, three-rule tables with captions above and figure captions below. Loaded only on the paper page
   and only for print; the PDF is printed from it. */
@page {
  size: Letter;
  margin: 1in 1in 0.9in;
  @top-center {
    content: "Teaching Models to Read and Respond to a Learner’s Reasoning · LORM Labs technical report · 2026-10-27";
    font: italic 8pt "Charter", "Georgia", "Times New Roman", serif;
    color: #333;
  }
  @bottom-center {
    content: counter(page);
    font: 9pt "Charter", "Georgia", "Times New Roman", serif;
    color: #000;
  }
}
@page :first { @top-center { content: none; } }

html, body { background: #fff !important; }
body {
  font-family: "Charter", "Georgia", "Times New Roman", serif !important;
  font-size: 10.5pt; line-height: 1.38; color: #000 !important;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.publication-content, .publication-content * { font-family: "Charter", "Georgia", "Times New Roman", serif !important; }

/* Site chrome and interactive controls do not belong in the paper. */
.skip, .preparation, .site-header, .breadcrumbs, .flow-steps, .site-footer, .publication-toc, dialog,
.publication-head .actions, .section .actions, .response-original, .next-step, .paper-head .kicker, .paper-head .button { display: none !important; }

main { padding: 0 !important; }
.publication-layout { display: block !important; max-width: none !important; margin: 0 !important; }
.publication-content { max-width: none !important; }

/* Title block: centred, no rule, no colour. */
.paper-head { text-align: center; padding: 0 0 6pt !important; margin: 0 0 4pt !important; border: 0 !important; }
.paper-head h1 { font-family: "Charter", "Georgia", serif !important; font-size: 17pt !important; line-height: 1.2 !important;
  font-weight: 700 !important; letter-spacing: 0 !important; margin: 0 0 4pt !important; color: #000 !important; max-width: none !important; }
.paper-head h1 br { display: none; }
.paper-head p { font-family: "Charter", "Georgia", serif !important; margin: 0 0 2pt !important; color: #000 !important; max-width: none !important; }
.paper-head p:not(.publication-meta) { font-size: 12pt !important; font-weight: 400 !important; font-style: italic; margin-bottom: 10pt !important; }
.paper-head .publication-meta { font-size: 10.5pt !important; font-weight: 400 !important; }

/* Body text: justified, black, paragraphs indented after the first in a section. */
.publication-content .section { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.publication-content p, .publication-content li {
  font-size: 10.5pt !important; line-height: 1.38 !important; color: #000 !important;
  text-align: justify; hyphens: auto; -webkit-hyphens: auto; orphans: 3; widows: 3; max-width: none !important;
}
.publication-content p { margin: 0 0 4pt !important; }
.publication-content p + p { text-indent: 1.4em; }
.publication-content strong { font-weight: 700; color: #000 !important; }
.publication-content a { color: #000 !important; text-decoration: none !important; }

/* Headings: numbered, bold, black, modest size. */
.publication-content h2 { font-size: 12pt !important; line-height: 1.25 !important; font-weight: 700 !important; letter-spacing: 0 !important;
  margin: 14pt 0 5pt !important; color: #000 !important; break-after: avoid; }
.publication-content h3 { font-size: 10.5pt !important; line-height: 1.25 !important; font-weight: 700 !important; letter-spacing: 0 !important;
  margin: 10pt 0 3pt !important; color: #000 !important; break-after: avoid; }

/* Abstract: centred heading, narrower and slightly smaller text. */
#abstract { margin: 6pt 0.45in 8pt !important; }
#abstract h2 { text-align: center; font-size: 10.5pt !important; margin: 6pt 0 4pt !important; }
#abstract p { font-size: 9.5pt !important; }

/* Lists. */
.publication-content ul, .publication-content ol { margin: 2pt 0 6pt 1.4em !important; padding: 0 !important; }
.publication-content li { margin: 0 0 2pt !important; padding: 0 !important; }
.key-findings { list-style: decimal !important; }
.key-findings li { background: none !important; border: 0 !important; padding: 0 !important; }
.key-findings li::before { content: none !important; display: none !important; }

/* Tables: three rules, caption above, no boxes or shading. */
.publication-table { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: none !important;
  overflow: visible !important; margin: 8pt 0 10pt !important; padding: 0 !important; }
.publication-content .publication-table::before { content: none !important; display: none !important; }
.evidence-table { min-width: 0 !important; width: 100% !important; border-collapse: collapse !important; font-size: 8.5pt !important;
  border-top: 1.2pt solid #000 !important; border-bottom: 1.2pt solid #000 !important; background: none !important; }
.evidence-table caption { caption-side: top; text-align: justify; font-size: 9pt !important; font-weight: 400 !important; line-height: 1.35 !important;
  padding: 0 0 5pt !important; color: #000 !important; background: none !important; border: 0 !important; }
.evidence-table caption strong { font-weight: 700; }
.evidence-table thead { display: table-header-group; }
.evidence-table th, .evidence-table td { padding: 2.2pt 5pt !important; white-space: normal !important; vertical-align: top;
  background: none !important; border: 0 !important; color: #000 !important; font-size: 8.5pt !important; line-height: 1.3 !important; }
.evidence-table thead th { font-weight: 700 !important; border-bottom: 0.6pt solid #000 !important; text-transform: none !important; letter-spacing: 0 !important; }
.evidence-table tbody th { font-weight: 400 !important; }
.evidence-table tbody tr:first-child th, .evidence-table tbody tr:first-child td { padding-top: 4pt !important; }
.evidence-table tbody tr:last-child th, .evidence-table tbody tr:last-child td { padding-bottom: 4pt !important; }
.evidence-table tr { break-inside: avoid; }
.paper-table.paper-wrap tbody th { min-width: 0 !important; width: 32%; }

/* Figures: no frame, caption below in smaller type. */
.paper-figure, .chart-figure { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: none !important;
  padding: 0 !important; margin: 10pt 0 12pt !important; }
.chart-figure svg { max-height: 3.1in; }
.chart-figure svg text { font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
.paper-figure figcaption { font-size: 9pt !important; line-height: 1.35 !important; color: #000 !important; text-align: justify; margin-top: 5pt !important; }

/* Figure 1: the case, the two replies and the marks, in plain rules. */
.teaser { gap: 6pt !important; }
.teaser-case { background: none !important; border: 0 !important; border-top: 0.6pt solid #000 !important; border-radius: 0 !important; padding: 5pt 0 0 !important; }
.teaser-case p, .teaser-checklist { font-size: 9pt !important; }
.teaser-label, .case-reply .kicker { font-size: 8.5pt !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: #000 !important; margin: 0 0 3pt !important; }
.teaser-label::before, .case-reply .kicker::before { content: none !important; display: none !important; }
.teaser-replies { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10pt !important; }
.teaser-reply { background: none !important; border: 0 !important; border-left: 0.6pt solid #000 !important; border-radius: 0 !important; padding: 0 0 0 7pt !important; box-shadow: none !important; }
.teaser-reply.is-ours { border-left-width: 1.6pt !important; }
.teaser-reply .recorded-response, .teaser-reply p { font-size: 9pt !important; line-height: 1.38 !important; text-align: left; }
.teaser-checklist { border-top: 1.2pt solid #000 !important; border-bottom: 1.2pt solid #000 !important; border-collapse: collapse !important; width: 100%; }
.teaser-checklist th, .teaser-checklist td { padding: 2pt 4pt !important; border: 0 !important; background: none !important; font-size: 8.5pt !important; }
.teaser-checklist thead th { border-bottom: 0.6pt solid #000 !important; }
.teaser-tag { color: #000 !important; font-weight: 700 !important; }

/* Recorded replies in the appendix: plain quotations with a left rule. */
.paper-replies { gap: 10pt !important; background: none !important; }
.case-reply { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
.recorded-response { background: none !important; border: 0 !important; border-left: 0.6pt solid #000 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 0 0 0 7pt !important; margin: 0 !important; font-size: 9pt !important; line-height: 1.38 !important; color: #000 !important; }
.recorded-response::before, .recorded-response::after { content: none !important; display: none !important; }
.recorded-response p { text-align: left; text-indent: 0 !important; }

/* Grader instruction and formula. */
.paper-prompt { font-family: "Menlo", "Courier New", monospace !important; font-size: 7.5pt !important; line-height: 1.35 !important;
  background: none !important; border: 0 !important; border-top: 0.6pt solid #000 !important; border-bottom: 0.6pt solid #000 !important;
  border-radius: 0 !important; padding: 5pt 0 !important; color: #000 !important; white-space: pre-wrap; }
.paper-formula { font-size: 10.5pt !important; text-align: center !important; text-indent: 0 !important; }

/* References: numbered, small, with source links in plain text. */
.references li { font-size: 8.8pt !important; line-height: 1.32 !important; text-align: left; margin-bottom: 3pt !important; }
.references a { color: #000 !important; overflow-wrap: anywhere; }

/* Keep each table (with its caption), figure, list item and recorded reply on one page. */
.publication-table, .evidence-table, .chart-figure, .paper-figure, .paper-replies, .case-reply, .paper-prompt { break-inside: avoid !important; page-break-inside: avoid !important; }
.publication-content li { break-inside: avoid !important; page-break-inside: avoid !important; }
.publication-content p { break-after: auto !important; break-before: auto !important; }

/* Each appendix starts a new page, and so does each case in Appendix B. */
#appendix { padding-top: 0 !important; }
#appendix h2 { break-before: page; page-break-before: always; margin-top: 0 !important; }
#appendix h3:not(:first-of-type) { break-before: page; page-break-before: always; }
#appendix .paper-replies { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin: 8pt 0 0 !important; }
#appendix .evidence-table, #appendix .evidence-table th, #appendix .evidence-table td { font-size: 8pt !important; }
#appendix p { font-size: 9.5pt !important; }
#appendix .evidence-table th, #appendix .evidence-table td { padding: 1.6pt 4pt !important; }

/* Centring and rule fixes. */
.paper-head, .paper-head p, .paper-head .publication-meta { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
#abstract h2 { text-align: center !important; }
.teaser-reply .recorded-response { border-left: 0 !important; padding-left: 0 !important; }
.teaser-reply { border-left-color: #888 !important; }
.teaser-reply.is-ours { border-left-color: #000 !important; }
.teaser-checklist thead th, .evidence-table thead th { color: #000 !important; background: none !important; }
.teaser p, .teaser-case p, #appendix p, .case-reply p, .publication-figure p, .paper-figure p { text-indent: 0 !important; }
.teaser-case p + p { margin-top: 2pt !important; }
.paper-head .publication-meta { display: block !important; justify-content: center !important; width: auto !important; max-width: none !important; }
#abstract h2 { display: block !important; width: auto !important; max-width: none !important; }
.key-findings { break-inside: auto !important; page-break-inside: auto !important; }
/* The filled-in grader instruction is long; it may run onto the next page. */
.paper-prompt-filled { break-inside: auto !important; page-break-inside: auto !important; }
.publication-content code { font-family: "Menlo", "Courier New", monospace !important; font-size: 8.5pt; }
#appendix h2, .publication-content h2 { max-width: none !important; width: auto !important; }
/* The reference list starts on a new page. */
#references { break-before: page; page-break-before: always; }
#references h2 { margin-top: 0 !important; }
/* Table captions in the paper sit above the table in their own paragraph. */
.paper-tablefig { margin: 8pt 0 10pt !important; break-inside: avoid !important; page-break-inside: avoid !important; }
.paper-tablefig .table-caption { font-size: 9pt !important; font-weight: 400 !important; line-height: 1.35 !important; text-align: justify; text-indent: 0 !important; margin: 0 0 5pt !important; color: #000 !important; }
.paper-tablefig .table-caption strong { font-weight: 700; }
.paper-tablefig .publication-table { margin: 0 !important; }
