.syllabus-module, .syllabus-inventory { border: 1px solid var(--border, #77668d); border-radius: .6rem; margin: .8rem 0; }
.syllabus-module summary, .syllabus-inventory summary { padding: 1rem; cursor: pointer; min-height: 44px; overflow-wrap: anywhere; }
.syllabus-module summary { font-weight: 700; }
.syllabus-meta { display: block; font-size: .9rem; font-weight: 400; margin-top: .35rem; }
.syllabus-module-body, .syllabus-inventory > section { padding: 0 1rem 1rem; }
.syllabus-controls { margin: 1rem 0; }
.syllabus-controls button { min-height: 44px; margin: .25rem; white-space: normal; }
.syllabus-module summary:focus-visible, .syllabus-inventory summary:focus-visible, .syllabus-controls button:focus-visible { outline: 3px solid #bb9cff; outline-offset: 3px; }
@media print {
  .syllabus-controls { display: none; }
  .syllabus-module::details-content, .syllabus-inventory::details-content { content-visibility: visible !important; }
  .syllabus-module > *, .syllabus-inventory > * { display: block !important; }
  .syllabus-module, .syllabus-inventory { overflow: visible; }
}

/* Conservative no-script offset; script measures the current shell header. */
[id] { scroll-margin-top: 7rem; }
/* Stacked narrow-screen header needs more room when scripts are unavailable.
   Measured inline offsets from the enhancement still take precedence. */
@media (max-width: 40rem) {
  [id] { scroll-margin-top: 11rem; }
}
