/* A parent's calendar: one clear answer, readable dates, quieter supporting details. */
.school-page h1 { font-family: inherit; font-size: clamp(1.8rem, 4vw, 2.65rem); max-width: 26ch; text-wrap: balance; }
.school-answer { margin-block: 1.5rem 2rem; padding: 1.25rem 1.5rem; border-left: 5px solid var(--accent); background: var(--accent-soft); }
.school-answer h2 { margin: .35rem 0 .5rem; font-family: inherit; font-size: 1rem; font-weight: 600; color: var(--muted); }
.school-answer-date { margin: 0; max-width: 34ch; font-size: clamp(1.45rem, 3.6vw, 2rem); font-weight: 750; letter-spacing: -.025em; line-height: 1.25; color: var(--accent-deep); text-wrap: balance; }
.school-answer-scope { margin: 0 0 .5rem; font-size: .95rem; font-weight: 650; }
.school-inset-status { margin: .8rem 0 1rem; max-width: 65ch; font-size: .95rem; }
.school-inset-status a { display: inline-block; margin-left: .3rem; }
.school-save-row { display: flex; align-items: center; gap: .75rem 1rem; flex-wrap: wrap; }
.school-save-row a { font-size: .95rem; }
.school-answer .planner-status { margin: .25rem 0; }
.school-actions { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: .8rem 0 0; margin: .25rem 0 0; list-style: none; border-top: 1px solid #b9d4cd; font-size: .95rem; }
.school-actions a { display: inline-block; padding-block: .2rem; }
.school-answer-reference { border-left-color: var(--warn-line); background: var(--warn-bg); }
.school-answer-reference .school-answer-date { color: var(--ink); }
.school-answer-reference .school-answer-scope { margin-top: 1rem; }
.school-page .year-block { margin-block: 1.75rem 2.5rem; }
.school-page .year-block h2 { font-family: inherit; font-size: 1.35rem; scroll-margin-top: 1rem; }
.school-page .periods th, .school-page .periods td { padding-block: .8rem; }
.school-evidence { margin-block: 1.25rem; padding-top: .65rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.school-evidence > p { margin: .25rem 0 .65rem; }
.school-evidence summary, .school-help > summary { cursor: pointer; color: var(--accent); }
.school-evidence blockquote { margin-inline: 0; padding-left: 1rem; border-left: 3px solid var(--line); }
.school-help { border-top: 1px solid var(--line); margin-block: 0; }
.school-help > summary { padding-block: 1rem; font-weight: 650; }
.school-help[open] { padding-bottom: 1rem; }
.school-help #school-source-check { margin: 0; }
.school-help .wrong-dates { margin-top: 0; }
.school-details { margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .95rem; }
.school-details h2 { font-family: inherit; font-size: 1rem; margin-top: 0; }
.school-details address { font-style: normal; }
.school-register-source { color: var(--muted); font-size: .85rem; }
@media (max-width: 480px) {
  .school-answer { padding: 1rem; }
  .school-save-row { align-items: flex-start; }
  .school-save-row button { width: 100%; }
  .school-actions { flex-direction: column; gap: .15rem; }
  .school-page .periods { font-size: .9rem; }
}
@media print {
  header, footer, .school-actions, [data-save-calendar], [data-planner-status], .school-help, .breadcrumb { display: none !important; }
  .school-answer { padding: 0 0 1rem; border: 0; background: none; }
  .school-answer-date { color: #000; }
  .school-inset-status a { display: none; }
  .school-evidence details details { display: none; }
  .school-evidence > details > summary { display: none; }
  .year-block { break-inside: avoid; }
}
