/* Local lesson reading repair. Keep the shared B「清透分區」visual system. */
.lesson-page { --lesson-gap: 24px; }
.lesson-page .study-grid { grid-template-columns: 280px minmax(0, 1fr); gap: 28px; }
.lesson-page .topic-catalog-group .catalog-item { grid-template-columns: minmax(0, 1fr); }
.lesson-page .catalog-copy { width: 100%; min-width: 0; }
.lesson-page .catalog-title { font-size: 1rem; line-height: 1.6; word-break: normal; }
.lesson-page .catalog-meta { font-size: .875rem; line-height: 1.6; }
.lesson-page .catalog-list { overflow-x: hidden; }
.lesson-page .catalog-drawer > summary { flex-wrap: wrap; }
.lesson-page .catalog-heading { flex-wrap: wrap; }
.lesson-page .catalog-search { max-width: 100%; }
.lesson-page .mode-tabs { margin-bottom: var(--lesson-gap); }
.lesson-page .mode-tabs button { min-height: 44px; }
.lesson-page .study-body { padding: 28px; border: 1px solid var(--line, #d9e6f2); border-radius: 16px; background: #fff; font-size: 1rem; line-height: 1.85; }
.lesson-page .chapter-picker { display: flex; flex-wrap: wrap; align-items: end; gap: 12px 24px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line, #d9e6f2); }
.lesson-page .chapter-picker label { display: grid; flex: 1 1 240px; gap: 8px; min-width: 0; font-size: .875rem; color: var(--muted, #54647a); }
.lesson-page .chapter-picker select { min-width: 0; width: 100%; min-height: 44px; }
.lesson-page .chapter-status { color: var(--muted, #54647a); font-size: .875rem; }
.lesson-page .lesson-content > h2 { font-size: 1.75rem; line-height: 1.4; margin: 36px 0 20px; text-wrap: balance; }
.lesson-page .lesson-content > h3 { margin: 32px 0 12px; font-size: 1.375rem; line-height: 1.5; }
.lesson-page .lesson-content > h4 { margin: 24px 0 12px; font-size: 1.125rem; line-height: 1.6; }
.lesson-page .lesson-content > p { margin: 12px 0; max-width: 72ch; }
.lesson-page .mainline { margin: 12px 0 24px; padding-inline-start: 24px; }
.lesson-page .mainline li + li { margin-top: 8px; }
.lesson-page .timeline-details { margin: 24px 0; }
.lesson-page .timeline-details > summary { min-height: 44px; display: list-item; padding: 10px 0; color: var(--accent, var(--student-primary,#006dcc)); cursor: pointer; }
.lesson-page .lesson-table-wrap { margin: 16px 0 24px; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.lesson-page .lesson-table { width: 100%; min-width: 0; border-collapse: collapse; table-layout: auto; font-size: 1rem; line-height: 1.85; }
.lesson-page .lesson-table th, .lesson-page .lesson-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line, #d9e6f2); overflow-wrap: anywhere; }
.lesson-page .lesson-table thead th { background: var(--soft, #e0f0ff); color: var(--ink, #101b30); font-size: .875rem; font-weight: 600; }
.lesson-page .lesson-table caption { caption-side: top; padding: 0 0 12px; text-align: left; font-weight: 600; }
.lesson-page .lesson-table .lesson-row-label { background: #f3f9ff; color: var(--ink, #101b30); font-weight: 600; }
.lesson-page .lesson-table .lesson-row-label { min-width: 6.5rem; }
.lesson-page .lesson-table--wide thead th { min-width: 6.5rem; }
.lesson-page .lesson-table-hint { display: none; }
.lesson-page .lesson-table--qa { table-layout: fixed; }
.lesson-page .lesson-table--qa th:first-child, .lesson-page .lesson-table--qa td:first-child { width: 30%; }
.lesson-page .lesson-table--wide { min-width: 720px; }
.lesson-page .lesson-points { margin: 0; padding-inline-start: 20px; }
.lesson-page .lesson-points li + li { margin-top: 8px; }
.lesson-page .lesson-office-diagram { margin: 24px 0 32px; }
.lesson-page .lesson-office-diagram figcaption { font-size: 1.125rem; font-weight: 600; }
.lesson-page .lesson-office-root { width: fit-content; min-width: 120px; margin: 20px auto; padding: 12px 24px; background: var(--soft, #e0f0ff); text-align: center; font-weight: 700; font-size: 1.25rem; }
.lesson-page .lesson-office-group { margin-top: 24px; }
.lesson-page .lesson-office-group h4 { margin: 0 0 12px; font-size: 1.125rem; }
.lesson-page .lesson-office-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.lesson-page .lesson-office-list > div { padding: 14px 0; border-top: 1px solid var(--line, #d9e6f2); }
.lesson-page .lesson-office-list dt { font-weight: 600; }
.lesson-page .lesson-office-list dd { margin: 4px 0 0; font-size: .875rem; color: var(--muted, #54647a); }
.lesson-page .recall-card, .lesson-page .quiz-card, .lesson-page .empty-panel { padding: 24px 0; }
.lesson-page .recall-question { font-size: 1.5rem; line-height: 1.6; }
.lesson-page .recall-answer, .lesson-page .quiz-answer { margin-top: 20px; }
.lesson-page .recall-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.lesson-page .recall-actions button, .lesson-page .study-body > .primary-action, .lesson-page .due-item button { min-height: 44px; }
.lesson-page .study-body > .primary-action { margin-top: 24px; }
.lesson-page .schedule { display: flex; flex-wrap: wrap; gap: 16px 24px; margin: 24px 0; }
.lesson-page .schedule-step { display: grid; gap: 4px; }
@media (max-width: 1100px) {
  .lesson-page .study-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .lesson-page .catalog-list { max-height: 320px; }
}
@media (max-width: 767px) {
  .lesson-page .study-body { padding: 20px; }
  .lesson-page .lesson-content > h2 { font-size: 1.375rem; }
  .lesson-page .lesson-content > h3 { font-size: 1.25rem; }
  .lesson-page .lesson-table th, .lesson-page .lesson-table td { padding: 12px; }
  .lesson-page .lesson-table--qa th:first-child, .lesson-page .lesson-table--qa td:first-child { width: 38%; }
  .lesson-page .lesson-office-list { grid-template-columns: minmax(0, 1fr); }
  .lesson-page .lesson-table-hint { display: block; margin: 16px 0 0; font-size: .875rem; color: var(--muted, #54647a); }
  .lesson-page .mode-tabs { overflow-x: auto; }
}
/* Located MC evidence uses the original chapter block; no invented page numbers. */
.lesson-source-block.is-source-target{outline:2px solid #075ba4;outline-offset:6px;scroll-margin-top:110px}
.mcq-lesson-entry{margin-block:20px}
