.lesson-reading-progress {
  position: fixed;
  top: 78px;
  right: 0;
  left: 0;
  z-index: 70;
  height: 3px;
  pointer-events: none;
  background: rgba(193, 208, 208, 0.38);
}

.lesson-reading-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--academy-copper);
  transition: width 80ms linear;
}

.lesson-hero {
  padding: 106px 0 70px;
  border-bottom: 1px solid var(--academy-line);
  background:
    linear-gradient(90deg, rgba(23, 111, 123, 0.05) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(rgba(23, 111, 123, 0.05) 1px, transparent 1px) 0 0 / 72px 72px,
    #f8fbfa;
}

.lesson-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 8vw;
  align-items: end;
  padding-top: 28px;
  border-top: 2px solid var(--brand);
}

.lesson-hero .breadcrumbs { margin-bottom: 34px; }
.lesson-hero h1 { max-width: 940px; margin: 9px 0 18px; color: #092831; font-family: var(--display); font-size: clamp(2.55rem, 4.8vw, 4.9rem); line-height: 1.08; letter-spacing: 0; text-wrap: balance; }
.lesson-deck { max-width: 850px; margin: 0; color: #465c61; font-size: clamp(1.12rem, 1.7vw, 1.42rem); line-height: 1.75; }
.lesson-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 28px; color: #5d7075; font-size: 0.82rem; font-weight: 760; }
.lesson-meta span + span::before { content: ""; display: inline-block; width: 16px; height: 1px; margin: 0 12px 4px 0; background: var(--academy-copper); }

.lesson-objective {
  padding: 28px 0 4px 28px;
  border-left: 2px solid var(--academy-copper);
}

.lesson-objective > span { display: inline-flex; align-items: center; gap: 8px; color: var(--academy-teal); font-size: 0.78rem; font-weight: 850; }
.lesson-objective > span svg { width: 18px; height: 18px; stroke-width: 1.8; }
.lesson-objective ol { margin: 18px 0 0; padding: 0; list-style: none; counter-reset: objective; }
.lesson-objective li { position: relative; padding: 12px 0 12px 34px; border-top: 1px solid var(--academy-line); color: #27464d; line-height: 1.5; }
.lesson-objective li::before { counter-increment: objective; content: "0" counter(objective); position: absolute; left: 0; color: var(--academy-copper); font-family: var(--display); font-size: 0.73rem; font-weight: 900; }

.endpoint-lab-section { padding-top: 82px; padding-bottom: 92px; background: #eef5f4; }
.endpoint-lab-section,
#conceptLabSection,
#conceptLab,
#endpointLab {
  scroll-margin-top: 96px;
}

.endpoint-lab {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.75fr);
  grid-template-rows: auto minmax(420px, auto) auto;
  margin-top: 34px;
  border: 1px solid #8ea8ac;
  background: #f8fbfa;
  box-shadow: 0 34px 86px rgba(9, 47, 55, 0.16);
}

.endpoint-controls {
  grid-column: 1 / 3;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #8ea8ac;
}

.endpoint-controls button {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-right: 1px solid #aebfc1;
  color: #163b43;
  background: #fff;
  font: inherit;
  font-family: var(--display);
  font-size: 1.28rem;
  font-weight: 850;
  cursor: pointer;
  transition: color 170ms ease, background 170ms ease;
}

.endpoint-controls button:last-child { border-right: 0; }
.endpoint-controls button span { color: #667b7f; font-family: var(--sans); font-size: 0.75rem; font-weight: 720; }
.endpoint-controls button:hover,
.endpoint-controls button:focus-visible { color: var(--academy-teal); background: var(--academy-wash); }
.endpoint-controls button[aria-selected="true"] { color: #fff; background: #113f48; }
.endpoint-controls button[aria-selected="true"] span { color: rgba(255, 255, 255, 0.7); }

.endpoint-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 420px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(23, 111, 123, 0.055) 1px, transparent 1px) 0 0 / 54px 54px,
    linear-gradient(rgba(23, 111, 123, 0.055) 1px, transparent 1px) 0 0 / 54px 54px,
    #f4f9f8;
}

#conceptCanvas,
#endpointVisual {
  display: block;
  width: 100%;
  min-height: 0;
  flex: 1 1 auto;
}

#conceptCanvas {
  height: 450px;
}

#endpointVisual {
  height: auto;
  shape-rendering: geometricPrecision;
  text-rendering: geometricPrecision;
}

.endpoint-lab.uses-generated-endpoint-image {
  grid-template-rows: auto auto auto;
}

.endpoint-lab.uses-generated-endpoint-image .endpoint-stage {
  min-height: 0;
  padding: clamp(12px, 2vw, 22px);
  background: #f7fbfa;
}

.endpoint-lab.uses-generated-endpoint-image .endpoint-generated-image {
  width: 100%;
  height: auto;
  flex: 0 0 auto;
  border: 1px solid #d5e2e2;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(9, 47, 55, 0.12);
}

.endpoint-stage { position: relative; }
.concept-mode-caption {
  margin: 12px 2px 0;
  color: #5a7075;
  font-size: .88rem;
  line-height: 1.65;
}
.concept-source-panel {
  margin-top: clamp(34px, 5vw, 64px);
  padding-top: clamp(26px, 4vw, 44px);
  border-top: 1px solid #b9cccc;
}
.concept-source-panel h2 { margin: 4px 0 22px; font-size: clamp(1.45rem, 2.6vw, 2.1rem); }
.concept-source-panel ul { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.concept-source-panel li { padding-left: 18px; border-left: 2px solid #7eb6b7; }
.concept-source-panel a { color: #0b6570; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.concept-source-panel p { margin: 6px 0 0; max-width: 72ch; color: #5b7075; font-size: .96rem; line-height: 1.7; }
.course-pager {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 5vw, 64px);
  margin: clamp(44px, 7vw, 82px) 0 28px;
  padding-top: 26px;
  border-top: 2px solid #163f48;
}
.course-pager a { color: #173f48; text-decoration: none; }
.course-pager a:last-child { text-align: right; }
.course-pager span { display: block; margin-bottom: 6px; color: #a0522f; font-size: .76rem; font-weight: 900; }
.course-pager strong { font-size: clamp(1rem, 2vw, 1.3rem); line-height: 1.45; }
.course-pager a:hover strong, .course-pager a:focus-visible strong { color: #0b7881; text-decoration: underline; text-underline-offset: 5px; }
.guide-image-zoom {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid rgba(8, 55, 64, 0.28);
  border-radius: 999px;
  color: #0b4650;
  background: rgba(255, 255, 255, 0.96);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(9, 47, 55, 0.12);
}
.guide-image-zoom svg { width: 18px; height: 18px; }
.guide-image-dialog {
  width: min(96vw, 1240px);
  max-width: none;
  max-height: 94vh;
  padding: 0;
  border: 0;
  background: #fff;
  box-shadow: 0 28px 90px rgba(4, 25, 31, 0.28);
}
.guide-image-dialog::backdrop { background: rgba(5, 22, 28, 0.76); }
body.guide-image-dialog-open { overflow: hidden; }
.guide-image-dialog-bar { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid #d6e1e1; }
.guide-image-dialog-bar button { width:40px; height:40px; border:0; border-radius:50%; color:#123f48; background:#edf4f3; font-size:1.8rem; cursor:pointer; }
.guide-image-dialog-scroll { max-height: calc(94vh - 66px); overflow:auto; background:#f5f8f8; }
.guide-image-dialog-scroll img { display:block; width:1200px; max-width:none; height:auto; }

.endpoint-lab.uses-generated-endpoint-image .endpoint-stage-overlay {
  display: none;
}

#endpointVisual text {
  fill: #526b70;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 720;
  letter-spacing: 0;
}

.endpoint-labels text { fill: #456167 !important; font-size: 12px !important; font-weight: 820 !important; }
.endpoint-axis-labels text { fill: #5b7277 !important; font-size: 10px !important; font-weight: 760 !important; }
.endpoint-row > line { stroke: #a9c8c8; stroke-width: 2; stroke-dasharray: 4 8; }
.endpoint-baseline { fill: #d8e5ee; stroke: #315f8b; stroke-width: 2.4; }
.endpoint-response { fill: #d7e9e2; stroke: #357b69; stroke-width: 2.4; }
.endpoint-neutral { fill: #e7eceb; stroke: #71898e; }
.endpoint-worse { fill: #f4dfd5; stroke: #a0522f; }
.endpoint-signal { fill: #a0522f; filter: drop-shadow(0 0 5px rgba(160, 82, 47, 0.55)); }
.endpoint-badge rect { stroke-width: 1; }
.endpoint-badge text { font-size: 11px !important; font-weight: 820 !important; }
.endpoint-badge-good rect { fill: #e5f1ee; stroke: #7caaa0; }
.endpoint-badge-good text { fill: #246757 !important; }
.endpoint-badge-neutral rect { fill: #f0f4f3; stroke: #a8b9ba; }
.endpoint-badge-neutral text { fill: #536b70 !important; }
.endpoint-badge-worse rect { fill: #f8ebe5; stroke: #c49177; }
.endpoint-badge-worse text { fill: #8e4727 !important; }
.endpoint-formula rect { fill: #0e3b44; stroke: #0e3b44; }
.endpoint-formula text { fill: #f5fbfa !important; font-size: 11px !important; font-weight: 780 !important; }
.endpoint-formula text:first-of-type { fill: #efa881 !important; font-size: 15px !important; font-weight: 900 !important; }
.endpoint-formula line { stroke: rgba(255, 255, 255, 0.42); }
.endpoint-timeline text { fill: #395960 !important; font-size: 12px !important; font-weight: 800 !important; }
.endpoint-timeline .endpoint-track { stroke: #d0dddd; stroke-width: 8; stroke-linecap: round; }
.endpoint-timeline .endpoint-live { stroke: #176f7b; stroke-width: 8; stroke-linecap: round; }
.endpoint-timeline circle { fill: #f8fbfa; stroke: #176f7b; stroke-width: 2; }
.endpoint-timeline path { fill: none; stroke: #176f7b; stroke-width: 2.3; }
.endpoint-timeline .endpoint-alert { stroke: #a0522f; }
.endpoint-chart-grid line { stroke: #bed0d0; stroke-width: 1; }
.endpoint-chart-grid line:first-child,
.endpoint-chart-grid line:nth-child(2) { stroke: #6d878c; stroke-width: 1.5; }
.endpoint-curve { fill: none; stroke-width: 4; stroke-linejoin: round; stroke-linecap: round; }
.endpoint-curve-primary { stroke: #176f7b; filter: drop-shadow(0 3px 4px rgba(23, 111, 123, 0.18)); }
.endpoint-curve-control { stroke: #a0522f; }
.endpoint-legend circle { fill: #176f7b; }
.endpoint-legend .endpoint-control-dot { fill: #a0522f; }
.endpoint-legend text { font-size: 11px !important; }
.endpoint-censor text,
.endpoint-at-risk text { fill: #5a7075 !important; font-size: 10px !important; }
.endpoint-censor line { stroke: #526b70; stroke-width: 1.8; }
.endpoint-note rect { fill: rgba(255, 255, 255, 0.84); stroke: #b8cccc; }
.endpoint-note text { fill: #415e64 !important; font-size: 11px !important; font-weight: 760 !important; }
.endpoint-hr-head text:first-child { fill: #456167 !important; font-size: 13px !important; }
.endpoint-hr-head text:nth-child(2) { fill: #123a43 !important; font-family: var(--display); font-size: 52px !important; font-weight: 900 !important; }
.endpoint-hr-head text:nth-child(3) { fill: #a0522f !important; font-size: 12px !important; font-weight: 850 !important; }
.endpoint-hr-scale line { stroke: #71898e; stroke-width: 2; }
.endpoint-hr-scale line:nth-child(3) { stroke: #a0522f; stroke-dasharray: 4 5; }
.endpoint-hr-scale text { font-size: 11px !important; }
.endpoint-ci line { stroke: #176f7b; stroke-width: 5; stroke-linecap: round; }
.endpoint-ci circle { fill: #176f7b; stroke: #fff; stroke-width: 3; filter: drop-shadow(0 4px 8px rgba(23, 111, 123, 0.28)); }
.endpoint-delay-2 { animation-delay: 90ms; }
.endpoint-delay-3 { animation-delay: 180ms; }
.endpoint-delay-4 { animation-delay: 270ms; }

.endpoint-stage-overlay {
  position: static;
  padding: 22px 26px 2px;
  pointer-events: none;
}

.endpoint-stage-overlay span { display: block; color: var(--academy-copper); font-size: 0.7rem; font-weight: 900; }
.endpoint-stage-overlay strong { display: block; margin-top: 6px; color: #123a43; font-family: var(--display); font-size: clamp(1.45rem, 2.4vw, 2.25rem); line-height: 1.15; }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.endpoint-explanation {
  min-height: 420px;
  padding: 42px 36px;
  color: #fff;
  background: #0d333c;
}

.endpoint-explanation > span { color: #e3a07d; font-size: 0.72rem; font-weight: 900; }
.endpoint-explanation h3 { margin: 11px 0 18px; color: #fff; font-family: var(--display); font-size: clamp(1.5rem, 2.2vw, 2.15rem); line-height: 1.18; }
.endpoint-explanation > p { min-height: 8.2em; margin: 0; color: rgba(238, 248, 246, 0.78); line-height: 1.75; }
.endpoint-explanation dl { margin: 30px 0 0; border-top: 1px solid rgba(255, 255, 255, 0.2); }
.endpoint-explanation dl div { display: grid; grid-template-columns: 88px 1fr; gap: 14px; padding: 15px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.endpoint-explanation dt { color: #e3a07d; font-size: 0.75rem; font-weight: 850; }
.endpoint-explanation dd { margin: 0; color: rgba(255, 255, 255, 0.9); font-size: 0.88rem; }
.endpoint-disclaimer { grid-column: 1 / 3; margin: 0; padding: 13px 20px; border-top: 1px solid #9eb4b7; color: #617579; background: #edf4f3; font-size: 0.74rem; text-align: center; }

.lesson-reading-section { padding-top: 88px; }
.lesson-layout { display: grid; grid-template-columns: minmax(0, 780px) minmax(230px, 300px); gap: 9vw; align-items: start; }
.lesson-body { min-width: 0; }
.lesson-body > section { padding-top: 24px; margin-top: 58px; border-top: 1px solid var(--academy-line); scroll-margin-top: 110px; }
.lesson-lead { margin: 0 0 60px; color: #143b43; font-family: var(--display); font-size: clamp(1.35rem, 2.5vw, 2.05rem); line-height: 1.55; }
.lesson-section-number { margin: 0 0 8px; color: var(--academy-copper); font-size: 0.76rem; font-weight: 900; }
.lesson-body h2 { margin: 0 0 22px; color: #0d3038; font-family: var(--display); font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.18; }
.lesson-body section > p:not(.eyebrow):not(.lesson-section-number) { color: #304d54; font-size: 1.08rem; line-height: 1.92; }

.lesson-callout { display: grid; grid-template-columns: 190px 1fr; gap: 24px; margin-top: 30px; padding: 22px 0; border-top: 1px solid var(--academy-line); border-bottom: 1px solid var(--academy-line); }
.lesson-callout strong { color: var(--academy-teal); }
.lesson-callout span { color: #5a6e73; line-height: 1.65; }

.evidence-checklist { padding: 34px !important; border: 1px solid #95acaf !important; border-top: 3px solid var(--academy-copper) !important; background: #f1f7f6; }
.evidence-checklist ol { margin: 28px 0 0; padding: 0; border-top: 1px solid var(--academy-line); list-style: none; }
.evidence-checklist li { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--academy-line); }
.evidence-checklist li > span { color: var(--academy-copper); font-family: var(--display); font-size: 0.75rem; font-weight: 900; }
.evidence-checklist strong { color: #123940; font-size: 1.08rem; }
.evidence-checklist li p { margin: 5px 0 0; color: #5a6f74; }

.judgment-practice { padding: 34px !important; border: 1px solid #86a4a8 !important; background: #0e343c; color: #fff; }
.practice-header { position: relative; }
.practice-header h2 { color: #fff; }
.practice-header > span { position: absolute; top: 0; right: 0; color: #e3a07d; font-size: 0.74rem; font-weight: 820; }
.judgment-practice blockquote { margin: 26px 0; padding: 24px; border-left: 3px solid #e3a07d; color: rgba(255, 255, 255, 0.92); background: rgba(255, 255, 255, 0.06); font-family: var(--display); font-size: 1.15rem; line-height: 1.65; }
.judgment-practice fieldset { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
.judgment-practice legend { margin-bottom: 12px; color: rgba(255, 255, 255, 0.72); font-size: 0.82rem; }
.judgment-practice label { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; padding: 14px; border: 1px solid rgba(255, 255, 255, 0.2); color: rgba(255, 255, 255, 0.9); line-height: 1.55; cursor: pointer; }
.judgment-practice input { width: 18px; height: 18px; margin-top: 2px; accent-color: #e3a07d; }
.judgment-practice button { min-height: 44px; margin-top: 20px; padding: 0 18px; border: 0; border-radius: 3px; color: #102e35; background: #e3a07d; font: inherit; font-weight: 850; cursor: pointer; }
.practice-answer { margin-top: 18px; padding: 18px; border-top: 1px solid rgba(255, 255, 255, 0.25); color: rgba(255, 255, 255, 0.9); line-height: 1.7; }
.practice-answer.is-correct { border-top-color: #73baa8; }
.practice-answer.is-incomplete { border-top-color: #e3a07d; }

.lesson-notice { margin-top: 58px; padding: 20px; border: 1px solid var(--academy-line); color: #65787c; background: #f5f9f8; font-size: 0.82rem; line-height: 1.65; }

.lesson-sidebar { position: sticky; top: 118px; }
.lesson-sidebar-inner { padding: 24px; border: 1px solid var(--academy-line); border-top: 3px solid var(--academy-teal); background: #f8fbfa; }
.lesson-sidebar nav { display: grid; margin-top: 16px; border-top: 1px solid var(--academy-line); }
.lesson-sidebar nav a { padding: 13px 0; border-bottom: 1px solid var(--academy-line); color: #3d585e; font-weight: 720; text-decoration: none; }
.lesson-sidebar nav a:hover,
.lesson-sidebar nav a:focus-visible { color: var(--academy-teal); }
.lesson-complete { display: flex; align-items: center; gap: 9px; margin-top: 24px; color: #314f55; font-size: 0.84rem; font-weight: 780; cursor: pointer; }
.lesson-complete input { width: 19px; height: 19px; accent-color: var(--academy-teal); }
.lesson-back-link { display: block; margin-top: 18px; color: var(--academy-teal); font-weight: 800; text-decoration: none; }
.lesson-back-link::before { content: "←  "; }
.lesson-database-link { display: inline-flex; align-items: center; gap: 8px; }
.lesson-database-link::before { content: ""; }
.lesson-database-link svg { width: 17px; height: 17px; stroke-width: 1.8; }

@media (max-width: 900px) {
  .lesson-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .lesson-objective { max-width: 680px; }
  .endpoint-lab { grid-template-columns: 1fr; grid-template-rows: auto 400px auto auto; }
  .endpoint-controls, .endpoint-disclaimer { grid-column: 1; }
  .endpoint-explanation { min-height: 0; }
  .endpoint-explanation > p { min-height: 0; }
  .lesson-layout { grid-template-columns: minmax(0, 1fr) 230px; gap: 5vw; }
}

@media (max-width: 680px) {
  .lesson-reading-progress { top: 64px; }
  .lesson-hero { padding: 72px 0 46px; }
  .lesson-hero-grid { min-width: 0; padding-top: 18px; overflow: hidden; }
  .lesson-hero .breadcrumbs { margin-bottom: 26px; }
  .lesson-hero h1 { font-size: clamp(2.25rem, 7.6vw, 3.25rem); line-height: 1.12; }
  .lesson-deck {
    max-width: 100%;
    font-size: 1.02rem;
    line-break: strict;
    overflow-wrap: break-word;
  }
  .lesson-objective { padding: 22px 0 0; border-top: 2px solid var(--academy-copper); border-left: 0; }
  .endpoint-lab-section { padding-top: 58px; padding-bottom: 64px; }
  .endpoint-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .endpoint-controls button { min-height: 62px; border-bottom: 1px solid #aebfc1; font-size: 1.06rem; }
  .endpoint-stage { min-height: 340px; }
  .endpoint-lab { grid-template-rows: auto auto auto auto; }
  .endpoint-explanation { padding: 30px 24px; }
  .endpoint-stage-overlay { padding: 16px 18px 0; }
  #conceptCanvas { height: 340px; }
  #endpointVisual { width: 100%; max-width: 100%; height: auto; transform: none; }
  .endpoint-lab.is-compact-visual .endpoint-stage { min-height: 0; }
  .endpoint-lab.is-compact-visual .endpoint-stage-overlay { display: none; }
  .endpoint-lab.is-compact-visual #endpointVisual { flex: 0 0 auto; aspect-ratio: 390 / 420; }
  .endpoint-lab.uses-generated-endpoint-image .endpoint-stage {
    padding: 10px;
    overflow: visible;
  }
  .endpoint-lab.uses-generated-endpoint-image .endpoint-generated-image {
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(9, 47, 55, 0.1);
  }
  .guide-image-zoom { right: 17px; bottom: 17px; min-height: 40px; padding: 8px 11px; font-size: .86rem; }
  .guide-image-dialog { width: 100vw; height: 100vh; max-height: none; margin: 0; }
  .guide-image-dialog-scroll { max-height: calc(100vh - 66px); }
  .guide-image-dialog-scroll img { width: 960px; }
  .concept-mode-caption { margin-top: 10px; font-size: .84rem; }
  .concept-source-panel { margin-top: 30px; }
  .concept-source-panel li { padding-left: 14px; }
  .course-pager { grid-template-columns: 1fr; gap: 22px; margin-top: 42px; }
  .course-pager a:last-child { text-align: left; }
  .endpoint-lab.is-compact-visual #endpointVisual text { font-size: 14px !important; }
  .endpoint-lab.is-compact-visual .endpoint-labels text { font-size: 15px !important; }
  .endpoint-lab.is-compact-visual .endpoint-axis-labels text,
  .endpoint-lab.is-compact-visual .endpoint-legend text,
  .endpoint-lab.is-compact-visual .endpoint-censor text { font-size: 12px !important; }
  .endpoint-lab.is-compact-visual .endpoint-note text { font-size: 12px !important; }
  .endpoint-lab.is-compact-visual .endpoint-badge text { font-size: 12px !important; }
  .endpoint-lab.is-compact-visual .endpoint-hr-head text:first-child { font-size: 14px !important; }
  .endpoint-lab.is-compact-visual .endpoint-hr-head text:nth-child(2) { font-size: 48px !important; }
  .endpoint-lab.is-compact-visual .endpoint-hr-head text:nth-child(3) { font-size: 12px !important; }
  .endpoint-stage-overlay strong { max-width: 245px; font-size: 1.6rem; }
  .lesson-reading-section { padding-top: 62px; }
  .lesson-layout { grid-template-columns: 1fr; }
  .lesson-body > section { margin-top: 46px; }
  .lesson-callout { grid-template-columns: 1fr; gap: 8px; }
  .evidence-checklist, .judgment-practice { padding: 24px 18px !important; }
  .practice-header > span { position: static; display: block; margin-top: -10px; margin-bottom: 18px; }
  .lesson-sidebar { position: static; order: -1; }
  .lesson-sidebar-inner { display: grid; grid-template-columns: 1fr; }
  .lesson-sidebar nav { grid-template-columns: repeat(5, minmax(max-content, 1fr)); overflow-x: auto; }
  .lesson-sidebar nav a { padding-right: 16px; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  .lesson-reading-progress i { transition: none; }
}
