:root { color-scheme: light; font-family: Arial, Helvetica, sans-serif; color: #192e40; background: #edf2f5; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.55; }
a { color: #23577a; overflow-wrap: anywhere; }
button, input { font: inherit; }
button { border: 1px solid #23577a; border-radius: 5px; padding: .65rem 1rem; background: white; color: #192e40; cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #ad5917; outline-offset: 3px; }
.print-button { background: #23577a; color: white; font-weight: bold; }
.print-controls { max-width: 920px; margin: 1.5rem auto; padding: 1.25rem; background: white; border: 1px solid #bdcbd5; border-radius: 8px; }
.print-controls form { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin: 1rem 0; }
.print-controls label { display: flex; align-items: center; gap: .6rem; }
.print-controls input[type=checkbox] { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.print-jump-links { display: flex; flex-wrap: wrap; gap: 1.2rem; }
main { max-width: 920px; margin: 1.5rem auto; padding: 2.5rem; background: white; box-shadow: 0 3px 20px #182b4014; }
h1 { font-size: 2rem; line-height: 1.2; margin: .4rem 0 1rem; }
h2 { font-size: 1.25rem; margin-bottom: .3rem; }
h3 { font-size: 1.05rem; }
.brand { font-weight: bold; letter-spacing: .04em; color: #23577a; }
.name-line { margin-top: 1.5rem; line-height: 2; }
.print-question, .script-entry, .answer-entry { border-top: 1px solid #b8c7d1; padding: 1rem 0; scroll-margin-top: 1rem; }
.question-skill, .curriculum-codes, .source-references, figcaption { font-size: .8rem; color: #405568; }
.question-skill { margin-top: 0; }
.question-prompt { font-weight: bold; white-space: pre-line; }
.passage { white-space: pre-wrap; padding: 1rem; background: #f3f6f8; border-left: 3px solid #7896ae; overflow-wrap: anywhere; }
.model-answer, .explanation { white-space: pre-line; overflow-wrap: anywhere; }
.materials { border: 1px solid #b8c7d1; padding: .8rem; }
.print-options { padding-left: 1.6rem; }
.print-options li { padding: .2rem .4rem; }
figure { margin: 1rem 0; }
img { display: block; width: 100%; max-height: 105mm; object-fit: contain; }
figcaption { margin-top: .5rem; }
.criteria ul { margin-top: .35rem; }
.response-label { margin-bottom: 0; }
.response-space { height: 32mm; border-bottom: 1px solid #879aa7; }
.short-response { height: 12mm; }
.adult-appendix { margin-top: 3rem; }
footer { border-top: 1px solid #b8c7d1; margin-top: 2rem; font-size: .75rem; }
@media (max-width: 600px) { main { padding: 1rem; margin: 1rem .5rem; } .print-controls { margin: .5rem; } h1 { font-size: 1.7rem; } }
@page { size: A4; margin: 16mm; }
@media print {
  :root { background: white; color: black; font-size: 10.5pt; }
  body { line-height: 1.4; }
  .print-controls { display: none !important; }
  main { width: auto; max-width: none; padding: 0; margin: 0; box-shadow: none; }
  h1 { font-size: 22pt; }
  h2 { font-size: 14pt; }
  h3 { font-size: 11pt; }
  h1, h2, h3, .question-prompt, .response-label { break-after: avoid; }
  .print-question, .script-entry, .answer-entry { break-inside: avoid; padding: 4mm 0; }
  .passage { background: none; padding: 3mm; }
  figure, .print-options, .criteria, .response-space { break-inside: avoid; }
  .adult-appendix { break-before: page; margin-top: 0; }
  a { color: inherit; text-decoration: none; }
  .source-references a::after { content: " (" attr(href) ")"; }
  .question-skill, .curriculum-codes, .source-references, figcaption { color: #333; font-size: 8pt; }
}
