/* Lesson-internal elements only. Shell, navbar, hero, overview and sidebar
   dimensions are inherited unchanged from /assets/css/site-sidebar.css. */
.rm42-section { margin-block: 0 2rem; }
.rm42-section p { line-height: 1.65; }
.rm42-section h3 { line-height: 1.35; }
.rm42-anchor, .rm42-section [id], .rm42-practice-question { scroll-margin-top: 1.5rem; }
.rm42-callout, .rm42-checkpoint, .rm42-practice-question, .rm42-answer { border: 1px solid #d6e2e9; border-radius: 14px; padding: 18px 20px; margin: 18px 0; background: #fff; }
.rm42-callout h3, .rm42-checkpoint h3, .rm42-practice-question h3, .rm42-answer h3, .rm42-worked > h3 { margin: 0 0 12px; color: #12365b; font-size: 19px; }
.rm42-callout > :last-child, .rm42-solution-body > :last-child { margin-bottom: 0; }
.rm42-key { background: #f4f8f8; border-left: 5px solid #53777b; }
.rm42-method { border-left: 5px solid #486c96; }
.rm42-warning { background: #fff9ef; border-color: #ead8bc; border-left: 5px solid #a77836; }
.rm42-warning h3 { color: #705022; }
.rm42-worked > h3 { padding-bottom: 12px; border-bottom: 1px solid #dbe6ee; }
.rm42-worked p { margin-block: 0.8em; }
.rm42-part-label { margin-top: 1.2em; margin-bottom: 0.35em; color: #193d5b; }
.rm-solution-label { font-weight: 800; color: #174c77; margin-top: 0; }
.rm42-parts { padding-left: 1.65rem; list-style-type: lower-alpha; }
.rm42-parts li { padding-left: .3rem; margin: 9px 0; }
.rm42-parts li::marker { font-weight: 750; color: #143761; }
.rm42-parts li > p { margin: 0; }
.rm42-marks { display: inline-block; white-space: nowrap; margin-left: .9em; font-size: .88em; color: #526777; font-weight: 650; }
.rm42-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; margin: 18px 0; border: 1px solid #d4e1e9; border-radius: 10px; -webkit-overflow-scrolling: touch; }
.rm42-table-wrap table { width: 100%; border-collapse: collapse; font-size: .96em; line-height: 1.45; }
.rm42-table-wrap th, .rm42-table-wrap td { padding: 11px 12px; border-bottom: 1px solid #dde6ed; vertical-align: middle; }
.rm42-table-wrap th { font-weight: 700; background: #eef5f9; }
.rm42-table-wrap tbody th { background: #f5f8fa; }
.rm42-table-wrap tr:last-child > * { border-bottom: 0; }
.rm42-table-wrap tbody tr:nth-child(even) td { background: #fbfcfd; }
.rm42-table-wrap td .math, .rm42-table-wrap th .math { white-space: nowrap; }
.rm42-table-wrap:focus-visible, .rm42-math:focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.rm42-math { display: block; max-width: 100%; overflow-x: auto; overflow-y: hidden; padding: 8px 3px 12px; margin-block: .6em; -webkit-overflow-scrolling: touch; }
.rm42-math mjx-container { margin-block: .25em !important; }
.rm42-data-values { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 9px; padding: 13px 15px; margin: 16px 0; border-radius: 9px; background: #f5f8fb; font-variant-numeric: tabular-nums; }
.rm42-data-values > span { white-space: nowrap; }
.rm42-figure { margin: 22px auto; padding: 12px; border: 1px solid #d9e4eb; border-radius: 12px; background: #fff; }
.rm42-figure img { display: block; width: 100%; max-width: 100%; height: auto; }
.rm42-enlarge { display: block; cursor: zoom-in; border-radius: 6px; }
.rm42-enlarge:focus-visible { outline: 3px solid #2563eb; outline-offset: 5px; }
.rm42-preview-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 22px 0; }
.rm42-preview-grid > .rm42-column { border: 1px solid #d9e4eb; border-radius: 14px; padding: 12px 15px 15px; background: #fff; text-align: center; }
.rm42-preview-grid .rm42-figure { border: 0; padding: 0; margin: 8px 0 14px; }
.rm42-preview-grid img { width: auto; height: 125px; object-fit: contain; margin: auto; }
.rm42-preview-grid p { margin: 8px 0 0; font-size: .94rem; }
.rm42-preview-grid p strong { color: #143761; font-size: 1rem; }
.rm42-process-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; margin: 20px 0; }
.rm42-step { margin: 0; min-width: 0; background: #f9fbfd; border: 1px solid #d7e4ef; border-radius: 14px; padding: 14px; }
.rm42-step h4 { margin: 0 0 12px; font-size: 17px; color: #173d63; line-height: 1.4; }
.rm42-step img { display: block; width: 100%; height: auto; border-radius: 5px; }
.rm42-step figcaption { padding: 12px 0 0; font-size: .94rem; line-height: 1.6; color: #243d50; }
.rm42-process-grid > .rm42-column { min-width: 0; }
.rm42-process-grid > .rm42-column > .rm42-callout { margin-top: 0; }
.rm42-video { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 22px; align-items: center; padding: 20px; margin: 26px 0; border-radius: 16px; background: #f0f7ff; border: 1px solid #c9dcf4; }
.rm42-video h3 { margin: 0 0 10px; color: #143761; font-size: 20px; }
.rm42-video p { margin: 8px 0; }
.rm42-kicker { color: #2861a0; font-size: .72rem; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.rm42-video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 12px; background: #102f55; }
.rm42-video iframe { width: 100%; height: 100%; border: 0; display: block; }
.rm42-solution, .rm42-answer-disclosure { border: 1px solid #cddce9; border-radius: 10px; margin: 20px 0 4px; background: #fff; }
.rm42-solution > summary, .rm42-answer-disclosure > summary { cursor: pointer; color: #174c77; font-weight: 750; padding: 13px 15px; border-radius: 9px; background: #edf5fc; line-height: 1.4; }
.rm42-solution[open] > summary, .rm42-answer-disclosure[open] > summary { border-radius: 9px 9px 0 0; border-bottom: 1px solid #cddce9; }
.rm42-solution-body { padding: 16px 18px 18px; min-width: 0; }
.rm42-solution-body > :first-child { margin-top: 0; }
.rm42-checkpoint { background: #f4f8f6; border-left: 5px solid #4d7c67; }
.rm42-checkpoint h3 { color: #2c5946; }
.rm42-checkpoint .rm42-solution { border-color: #ccdfd6; }
.rm42-checkpoint summary { color: #285740; background: #eaf4ee; }
.rm42-practice-question { border-left: 5px solid #61758d; margin-block: 24px; }
.rm42-answer-disclosure { border-color: #ddd3e6; margin-block: 15px; }
.rm42-answer-disclosure > summary { background: #f2eef7; color: #5b3c74; }
.rm42-level-note { padding: 14px 18px; border: 1px solid #d8c9e9; border-left: 5px solid #77539a; background: #f6f2fc; border-radius: 12px; }
.rm42-toc-more { margin-top: 18px; padding-top: 15px; border-top: 1px solid #dbe7f1; }
.rm42-toc-more > summary { cursor: pointer; font-weight: 750; color: #174c77; margin-bottom: 12px; }
.rm42-course-switch { display: flex; flex-wrap: wrap; gap: 9px 16px; align-items: center; margin: 0 0 20px; font-size: .9rem; }
.rm42-course-switch a { text-decoration: none; font-weight: 750; color: #1745b5; }
.rm42-course-switch span { color: #526778; }
.rm42-reading-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 0 0 24px; }
.rm42-reading-tools button { font: inherit; font-size: .85rem; cursor: pointer; background: #fff; border: 1px solid #b7cfe3; border-radius: 8px; color: #174c77; padding: 9px 12px; }
.rm42-reading-tools span { font-size: .82rem; color: #526777; }
.rm42-reading-tools button:hover { background: #edf5fc; }
.rm42-caption, .rm42-source-note { color: #526777; font-size: .85rem; }
.rm42-end-note { border-top: 1px solid #d4e2ee; padding-top: 18px; margin-top: 28px; }
.rm42-end-note a { color: #1745b5; font-weight: 750; }
.rm42-section code { overflow-wrap: anywhere; background: #f0f4f7; padding: .1em .25em; border-radius: 3px; }
.rm42-skip { position: fixed; left: 12px; top: -80px; background: #102f55; color: white; z-index: 9999; padding: 12px 18px; border-radius: 8px; }
.rm42-skip:focus { top: 12px; }
.rm42-image-dialog { border: 0; border-radius: 14px; padding: 16px; width: min(1250px,94vw); max-width: 94vw; max-height: 94dvh; box-shadow: 0 16px 80px #0006; }
.rm42-image-dialog::backdrop { background: rgb(8 24 40 / 78%); }
.rm42-image-dialog form { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.rm42-image-dialog button { font: inherit; color: #12365b; background: #eaf3fb; padding: 9px 15px; border: 1px solid #c8dbe9; border-radius: 8px; cursor: pointer; }
.rm42-image-dialog img { display: block; max-width: 100%; height: auto; max-height: 75dvh; object-fit: contain; margin: auto; }
.rm42-image-dialog p { font-size: .9rem; color: #334155; margin-bottom: 0; }
@media (max-width: 760px) {
 .rm42-preview-grid { grid-template-columns: 1fr; }
 .rm42-preview-grid img { height: 150px; }
 .rm42-process-grid, .rm42-video { grid-template-columns: 1fr; }
 .rm42-callout, .rm42-checkpoint, .rm42-practice-question, .rm42-answer { padding: 15px; }
 .rm42-solution-body { padding: 14px 12px; }
 .rm42-figure { padding: 7px; }
 .rm42-table-wrap th, .rm42-table-wrap td { padding: 9px; }
 .rm42-table-wrap table { font-size: .91rem; }
 .rm42-worked > h3, .rm42-practice-question h3 { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .rm42-section { scroll-behavior: auto; } }
@media print {
 .rm42-reading-tools, .rm42-video iframe { display: none; }
 .rm42-solution, .rm42-answer-disclosure { break-inside: auto; }
 .rm42-step, .rm42-figure { break-inside: avoid; }
}
/* The detailed list carries the original subsection numbers in its link text. */
.rm42-subtoc { list-style: none; }
.rm42-inline-data > span { white-space: nowrap; }
.rm42-image-dialog form { position: sticky; top: 0; left: 0; z-index: 1; gap: 10px; background: #fff; padding-bottom: 8px; }
.rm42-image-dialog.is-zoomed img { width: auto; max-width: none; max-height: none; }
