/* SdC homework: the established answer-space layout, adapted for browser A4 printing.
   Public assets contain only empty spaces; all sizes are fixed at derivation time. */
@page { size: A4 portrait; margin: 18mm; }
* { box-sizing: border-box; }
body.homework-page { margin: 0; color: #171717; background: #fff; font: 10.5pt/1.36 Arial, "Liberation Sans", sans-serif; }
.homework-sheet, .web-only { max-width: 174mm; margin: 0 auto; }
.web-only { padding: 4mm 0; }
.print-instructions { color: #444; border-bottom: .35pt solid #bbb; }
.homework-sheet { padding-top: 5mm; }
h1 { font-size: 20pt; line-height: 1.15; margin: 0 0 4mm; }
h2 { font-size: 15pt; line-height: 1.18; margin: 8mm 0 2.8mm; }
h3 { font-size: 12pt; line-height: 1.2; margin: 6mm 0 2.4mm; }
p { margin: 0 0 2.2mm; }
a { color: #174c7e; }
.hw-question { margin: 0 0 3mm; }
.question-id { font-size: 9pt; font-weight: 700; margin-right: 2mm; }
.source-item { margin-right: 1mm; }
.answer-space { padding: 4mm 2mm 0; border: .35pt solid #d0d0d0; border-radius: 1mm; }
.writing-row { height: 9mm; border-bottom: .35pt solid #a6a6a6; }
.math-inline { display: inline-block; max-width: 100%; white-space: normal; vertical-align: baseline; }
mjx-container[jax="SVG"] { max-width: 100%; }
mjx-container[jax="SVG"] svg { max-width: 100% !important; min-width: 0 !important; height: auto !important; }
@media screen {
  body.homework-page { padding: 4mm; }
  .print-only { display: none; }
  .writing-row { display: none; }
  .answer-space { height: 10mm; margin-bottom: 4mm; border-style: dashed; }
}
@media print {
  body.homework-page { padding: 0; width: auto; }
  .homework-sheet { max-width: none; margin: 0; padding: 0; }
  .web-only, header, footer, nav, .print-instructions { display: none !important; }
  .print-only { display: block; }
  .identity { display: flex; flex-wrap: wrap; gap: 3mm; margin-bottom: 5mm; }
  .identity label { display: flex; align-items: baseline; gap: 2mm; flex: 1; }
  .identity span { border-bottom: .4pt solid #666; flex: 1; min-width: 22mm; }
  h1, h2, h3 { break-after: avoid-page; page-break-after: avoid; }
  .homework-sheet > p { break-after: avoid-page; page-break-after: avoid; }
  .hw-prompt { break-inside: avoid-page; page-break-inside: avoid; break-after: avoid-page; }
  .hw-question { break-inside: avoid-page; page-break-inside: avoid; }
  .answer-space { break-inside: avoid-page; page-break-inside: avoid; }
  .writing-row { display: block; }
  a { color: inherit; text-decoration: none; }
  a::after { content: none !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
