/* Lesson internals only. All site layout and navigation use shared styles. */
.fn-section { scroll-margin-top: 24px; }
.fn-section p { line-height: 1.7; }
.fn-key, .fn-warning, .fn-parent-card, .fn-hl {
  margin: 22px 0; padding: 20px; border: 1px solid #d7dfe2;
  border-radius: 14px; background: #f7f8f9;
}
.fn-key { border-left: 5px solid #657b84; }
.fn-warning { border-left: 5px solid #a37c55; background: #fbf7f2; }
.fn-hl { border-left: 5px solid #756a76; }
.fn-key h3, .fn-warning h3, .fn-parent-card h3, .fn-hl h3, .fn-section .rm-example h3 {
  color: #34464d; margin: 0 0 14px; line-height: 1.4;
}
.fn-section .rm-example { margin-block: 24px; }
.fn-section .rm-solution-label {
  color: #34464d; font-weight: 800; border-top: 1px solid #cbd5dc;
  padding-top: 16px; margin-top: 20px;
}
.fn-section .fn-part + .fn-part { border-top: 1px solid #e0e4e8; padding-top: 14px; }
.fn-parts { list-style-type: lower-alpha; }
.fn-parts li { padding-left: 4px; margin: 8px 0; }
.fn-divider { border: 0; border-top: 1px solid #d5dce0; margin: 28px 0; }
.fn-figure { width: min(100%, 460px); margin: 24px auto; }
.fn-figure img { display: block; width: 100%; height: auto; object-fit: contain; }
.fn-figure figcaption { margin-top: 8px; color: #53636d; font-size: 14px; }
.fn-parent-card { background: white; display: flow-root; }
.fn-parent-card .fn-figure { float: left; width: min(42%, 360px); margin: 6px 24px 12px 0; }
.fn-subheading { color: #34464d; margin-top: 32px; }
.fn-math { display: block; max-width: 100%; overflow-x: auto; overflow-y: hidden; padding-block: 5px; }
.fn-table-scroll { max-width: 100%; overflow-x: auto; margin-block: 16px; }
.fn-table-scroll table { width: 100%; border-collapse: collapse; background: white; }
.fn-table-scroll th, .fn-table-scroll td { text-align: left; vertical-align: top; padding: 12px; border-bottom: 1px solid #dce3e8; }
.fn-table-scroll th { background: #f1f4f6; color: #34464d; }
.fn-answer { margin: 16px 0; border: 1px solid #d5cfd9; border-radius: 14px; background: white; }
.fn-answer summary { cursor: pointer; padding: 18px 20px; color: #615566; font-weight: 800; }
.fn-answer[open] summary { border-bottom: 1px solid #e6e1e8; }
.fn-answer-body { padding: 6px 20px 18px; }
#section-9 > ol > li, #section-9 .fn-hl > ol > li { margin-bottom: 24px; padding-left: 6px; }
.fn-section a { color: #1745b5; }
.fn-section :focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
@media (max-width: 600px) {
  .fn-parent-card .fn-figure { float: none; width: min(100%, 360px); margin: 18px auto; }
  .fn-key, .fn-warning, .fn-hl, .fn-parent-card { padding: 16px 12px; }
  .fn-answer-body { padding-inline: 12px; }
  .fn-section .rm-example { padding: 16px 12px; }
  .fn-table-scroll th, .fn-table-scroll td { padding: 9px; }
}
