.reading-tool { max-width: 54rem; padding-bottom: 2.5rem; }
.reading-controls { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .75rem 1rem; }
.reading-controls label { display: grid; gap: .25rem; color: var(--site-ink); font-weight: 650; }
.reading-controls select {
  min-width: min(100%, 10rem);
  min-height: 3.25rem;
  max-width: 100%;
  padding: .55rem 1.7rem .55rem .7rem;
  border: 1px solid var(--site-line);
  border-radius: .55rem;
  background: var(--site-paper);
  color: var(--site-ink);
  font: inherit;
}
.reading-controls .site-button { cursor: pointer; font-family: inherit; }
.reading-key-choice { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.75rem; margin-top: .55rem; }
.reading-print-hint { margin: 0 0 1rem; color: var(--site-muted); font-size: .9rem; }
.reading-sheet, .reading-answers {
  border: 1px solid var(--site-line);
  border-radius: .65rem;
  background: white;
  color: var(--site-ink);
}
.reading-sheet { padding: clamp(1.1rem, 4vw, 2.25rem); }
.reading-sheet h2, .reading-answers h2 { margin: 0 0 .8rem; line-height: 1.2; }
.reading-story { max-width: 65ch; line-height: 1.7; }
.reading-story p { margin: 0 0 .65rem; }
.reading-sheet h3 { margin: 1rem 0 .4rem; }
.reading-questions, .reading-answers ol { margin: 0; padding-inline-start: 1.5em; }
.reading-questions li, .reading-answers li { margin-bottom: .65rem; break-inside: avoid; }
.reading-writing {
  display: block;
  min-height: 1.55rem;
  margin-bottom: .25rem;
  border-bottom: 1px solid #9ca69c;
}
.reading-answers { margin-top: 1rem; padding: .75rem 1rem; }
.reading-answers summary { display: list-item; min-height: 2.75rem; padding-block: .55rem; font-weight: 650; cursor: pointer; }
.reading-answers div { padding-block: .75rem; }

@media (max-width: 30rem) {
  .reading-controls label, .reading-controls .site-button { width: 100%; }
}

@media print {
  @page { size: A4; margin: 14mm; }
  body:has(.reading-tool) .reading-controls,
  body:has(.reading-tool) .reading-key-choice,
  body:has(.reading-tool) .reading-print-hint,
  body:has(.reading-tool) .statistics-preference,
  .reading-answers { display: none !important; }
  .reading-tool, .reading-sheet, .reading-answers { margin: 0; padding: 0; max-width: none; border: 0; }
  .reading-tool { color: black; font-size: 12pt; line-height: 1.45; }
  .reading-sheet h2, .reading-answers h2 { font-size: 19pt; }
  .reading-sheet .reading-writing { min-height: 9mm; border-color: #777; }
  .reading-print-answers .reading-answers { display: block !important; break-before: page; }
  .reading-print-answers .reading-answers summary { display: none; }
}
