/* Authored student lessons: preserve paragraphs without flooding the module overview. */
.app-shell.mode-student .student-lesson-reading {
  margin: 20px 0 0;
  border: 1px solid rgba(39,70,104,.22);
  border-radius: 16px;
  background: #f7f4f0;
  color: #274668;
}
.app-shell.mode-student .student-lesson-reading > summary {
  min-height: 54px;
  padding: 16px 20px;
  cursor: pointer;
  color: #274668;
}
.app-shell.mode-student .student-lesson-reading > summary strong { font-size: 16px; }
.app-shell.mode-student .student-lesson-reading > summary span { display: block; margin: 5px 0 0 18px; font-size: 13px; }
.app-shell.mode-student .student-lesson-reading > summary:focus-visible { outline: 3px solid #274668; outline-offset: 3px; border-radius: 16px; }
.app-shell.mode-student .student-lesson-reading[open] > summary { border-bottom: 1px solid rgba(39,70,104,.18); }
.app-shell.mode-student .student-lesson-reading-body { padding: 22px; overflow-wrap: anywhere; }
.app-shell.mode-student .student-lesson-reading-body p { margin: 0 0 20px; color: #1f3853; font-size: 16px; line-height: 1.75; white-space: pre-line; }
.app-shell.mode-student .student-lesson-reading-body h3 { margin: 28px 0 12px; color: #274668; font-size: 20px; line-height: 1.4; letter-spacing: normal; }
.app-shell.mode-student .student-lesson-reading-body > :first-child { margin-top: 0; }
.app-shell.mode-student .student-lesson-reading-body > :last-child { margin-bottom: 0; }
@media (max-width: 600px) {
  .app-shell.mode-student .student-lesson-reading > summary { padding: 15px; }
  .app-shell.mode-student .student-lesson-reading-body { padding: 18px 15px; }
}

/* Keep the decorative module numeral inside the scrollable dialog. */
.app-shell.mode-student .module-dialog > .dialog-number { right: 0; }

/* Keep static module labels above scroll compositing layers. */
.app-shell.mode-student .module-dialog > :is(.eyebrow, .dialog-stats) { position: relative; z-index: 1; contain: paint; }
