/* Lesson internals only. Shared styles own the site shell and sidebar. */
.drv47-section { margin-block: 2.5rem; scroll-margin-top: 1rem; }
.drv47-section p { margin-block: .8rem; }
.drv47-section a { color: var(--rm-blue-dark); text-underline-offset: .2em; }
.drv47-section a:hover { color: var(--rm-blue); }
.drv47-note, .drv47-key, .drv47-warning { padding: 1.2rem 1.35rem; margin-block: 1.4rem; border: 1px solid var(--rm-soft-border); border-radius: var(--rm-radius-md); background: var(--rm-soft-bg); }
.drv47-note > h2, .drv47-note > h3, .drv47-key > h3, .drv47-warning > h3, .drv47-example > h3, .drv47-video > h3 { margin: 0 0 1rem; font-size: 1.1rem; line-height: 1.45; color: var(--rm-ink); }
.drv47-warning { border-left: 4px solid #8b6b3c; }
.drv47-example, .drv47-video { margin-block: 1.5rem; }
.drv47-section .rm-solution-label { margin-top: 1.4rem; padding-top: .9rem; border-top: 1px solid var(--rm-soft-border); font-weight: 750; color: var(--rm-ink); }
.drv47-section li { margin-block: .6rem; }
.drv47-table-wrap { max-width: 100%; overflow-x: auto; margin-block: 1.2rem; }
.drv47-table { width: auto; min-width: 55%; margin-inline: auto; border-collapse: collapse; font-size: 1rem; }
.drv47-table th, .drv47-table td { padding: .7rem .9rem; border-bottom: 1px solid var(--rm-soft-border); text-align: center; vertical-align: middle; }
.drv47-table th { font-weight: 650; background: var(--rm-soft-bg); }
.drv47-table th:first-child, .drv47-table td:first-child { border-right: 1px solid var(--rm-soft-border); }
.drv47-figure { max-width: 460px; margin: 1.5rem auto; }
.drv47-figure img { display: block; width: 100%; height: auto; }
.drv47-figure figcaption { font-size: .88rem; line-height: 1.5; color: var(--rm-muted); margin-top: .7rem; text-align: center; }
.drv47-check { padding: 1rem 1.2rem; margin-block: 1.5rem; background: var(--rm-soft-bg); border-left: 4px solid #657b84; border-radius: 0 8px 8px 0; }
.drv47-check h3 { margin-top: 0; font-size: 1.1rem; }
.drv47-question { padding-block: 1.2rem; border-bottom: 1px solid var(--rm-soft-border); }
.drv47-question > h3 { font-size: 1.15rem; margin-top: 0; }
.drv47-solution { margin-block: 1rem; border: 1px solid var(--rm-soft-border); border-radius: var(--rm-radius-md); background: #fff; scroll-margin-top: 1rem; }
.drv47-solution > summary { padding: .85rem 1rem; min-height: 44px; font-weight: 750; color: var(--rm-ink); cursor: pointer; background: var(--rm-soft-bg); border-radius: inherit; }
.drv47-solution > summary:focus-visible { outline: 3px solid #657b84; outline-offset: -3px; }
.drv47-answer { padding: .25rem 1rem 1rem; }
.drv47-answer > .rm-solution-label { margin-block: 1rem .6rem; padding: 0; border: 0; }
.drv47-hide { display: none; }
.drv47-solution[open] .drv47-show { display: none; }
.drv47-solution[open] .drv47-hide { display: inline; }
.drv47-player { position: relative; aspect-ratio: 16 / 9; min-width: 0; }
.drv47-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 8px; }
.drv47-section .math.display { display: block; max-width: 100%; overflow-x: auto; overflow-y: hidden; }
.drv47-section .math.inline { max-width: 100%; }
.drv47-source-note { font-size: .9rem; color: var(--rm-muted); }
@media (max-width: 700px) {
  .drv47-note, .drv47-key, .drv47-warning { padding: 1rem; }
  .drv47-check { padding-inline: .85rem; }
  .drv47-table th, .drv47-table td { padding: .65rem .5rem; }
  .drv47-table { min-width: 100%; }
  .drv47-answer { padding-inline: .75rem; }
}
@media print {
  .drv47-player { display: none; }
  .drv47-example, .drv47-figure { break-inside: avoid; }
}
