body.single-lesson { font-family: Arial, Helvetica, sans-serif; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) {
  font-size: 18px; line-height: 1.75; color: #24282b; overflow-wrap: anywhere;
}
body.single-lesson article#brx-content.wordpress.lesson {
  box-sizing: border-box; width: 100%; max-width: 948px; margin: 0 auto;
  padding: 40px 24px 64px; background: #fff;
}
body.single-lesson :is(.entry-title,.wp-block-post-title,article#brx-content.wordpress.lesson>h1) {
  font-size: clamp(32px,4vw,48px); line-height: 1.15; letter-spacing: -.035em; overflow-wrap: anywhere;
}
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) :is(h2,h3,h4) {
  line-height: 1.25; letter-spacing: -.02em; margin: 2.25em 0 .8em; color: #171b1e;
}
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) h2 { font-size: 29px; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) h3 { font-size: 25px; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) h4 { font-size: 21px; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) p { margin: 0 0 1.15em; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) p:empty { display: none; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) :is(ul,ol) { padding-inline-start: 1.4em; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) li { margin-block: .4em; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) :is(img,video,iframe) { max-width: 100%; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) img { height: auto; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) figure { margin: 1.5em 0; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) :is(iframe[src*="player.vimeo.com/video/"],iframe.an-lesson-ratio-frame) {
  display: block; width: 100%; height: auto; aspect-ratio: var(--an-iframe-ratio,16/9);
}
body.single-lesson .an-lesson-map-fallback { padding: 12px 16px; border: 1px solid #dfe3e5; border-radius: 8px; background: #fff; color: #24282b; font-size: .94em; }
body.single-lesson .an-lesson-map-fallback a { color: #5d400f; text-decoration: underline; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) hr { margin: 2em 0; border-color: #dfe3e5; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) .wp-block-spacer { height: 24px !important; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) .wp-block-columns { gap: 24px; align-items: flex-start; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) .wp-block-column { min-width: 0; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) pre { max-width: 100%; overflow: auto; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) table { display: block; max-width: 100%; overflow-x: auto; }
body.single-lesson .an-lesson-language-panel { margin: 20px 0; padding: 0 20px; border: 1px solid #dfe3e5; border-radius: 12px; background: #fff; }
body.single-lesson .an-lesson-language-panel>summary { padding: 16px 0; font-weight: 600; cursor: pointer; }
body.single-lesson .an-lesson-language-panel[open] { padding-bottom: 12px; }
body.single-lesson .an-lesson-download a { display: inline-block; max-width: 100%; border: 1px solid #b67f2a; border-radius: 9px; padding: 10px 18px; color: #5d400f; text-decoration: none; }
body.single-lesson .an-lesson-download a:hover { background: #fff5e4; }
body.single-lesson .an-lesson-course-card { max-width: 620px; }
body.single-lesson .an-lesson-course-card img { display: block; max-width: 100%; border-radius: 10px; }
body.single-lesson .an-lesson-course-card figcaption { padding-top: 16px; }
body.single-lesson .an-lesson-compare-frame { position: relative; isolation: isolate; width: 100%; overflow: hidden; border-radius: 8px; touch-action: pan-y; }
body.single-lesson .an-lesson-compare-frame .an-lesson-compare-before { display: block; width: 100%; height: auto; }
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) .an-lesson-compare-frame .an-lesson-compare-after { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; clip-path: inset(0 0 0 var(--an-reveal,50%)); }
body.single-lesson .an-lesson-compare-label { position: absolute; top: 14px; padding: 3px 10px; border-radius: 5px; background: #0009; color: #fff; font-size: 13px; line-height: 1.6; pointer-events: none; }
body.single-lesson .an-lesson-compare-label-before { left: 14px; }
body.single-lesson .an-lesson-compare-label-after { right: 14px; }
body.single-lesson .an-lesson-compare-line { position: absolute; top: 0; bottom: 0; left: var(--an-reveal,50%); width: 1.5px; background: #fff; pointer-events: none; transform: translateX(-50%); }
body.single-lesson .an-lesson-compare-line>span { position: absolute; top: 50%; left: 50%; width: 0; height: 0; border: 0; border-radius: 0; transform: none; }
body.single-lesson .an-lesson-compare-line>span::before,body.single-lesson .an-lesson-compare-line>span::after { content: ''; position: absolute; top: 50%; display: block; width: 10px; height: 10px; box-sizing: border-box; margin: 0; padding: 0; border: 0; border-top: 2px solid #fff; border-right: 2px solid #fff; border-radius: 0; background: transparent; box-shadow: none; filter: drop-shadow(0 1px 1px #0009); pointer-events: none; }
body.single-lesson .an-lesson-compare-line>span::before { left: auto; right: 8px; transform: translateY(-50%) rotate(-135deg); }
body.single-lesson .an-lesson-compare-line>span::after { left: 8px; right: auto; transform: translateY(-50%) rotate(45deg); }
body.single-lesson .an-lesson-compare-range { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; opacity: 0; cursor: col-resize; touch-action: none; -webkit-clip-path: inset(0 calc(100% - var(--an-reveal,50%) - 22px) 0 calc(var(--an-reveal,50%) - 22px)); clip-path: inset(0 calc(100% - var(--an-reveal,50%) - 22px) 0 calc(var(--an-reveal,50%) - 22px)); }
body.single-lesson .an-lesson-compare-frame:focus-within { outline: 3px solid #c79039; outline-offset: 4px; }
@media(max-width:600px) {
  body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) { font-size: 17px; line-height: 1.7; }
  body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) h2 { font-size: 25px; }
  body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) h3 { font-size: 23px; }
  body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) .wp-block-columns { flex-direction: column; }
  body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) .wp-block-column { width: 100%; flex-basis: auto !important; }
  body.single-lesson.admin-bar #wpadminbar #wp-admin-bar-top-secondary { position: absolute; top: 0; right: 0; }
}

/* Keep the reveal and divider synchronized with the native range input. */
body.single-lesson .an-lesson-compare-frame :is(.an-lesson-compare-after,.an-lesson-compare-line) { transition: none; }

/* 2.1.12-UX: shared lesson colors; native progress and status fills survive. */
body.single-lesson {
  --an-type-reading-color: #f4f4f4;
  background: #080808;
  color: #f4f4f4;
  color-scheme: dark;
}
body.single-lesson.sensei-course-theme {
  --sensei-course-theme-background-color: #080808;
  --sensei-course-theme-foreground-color: #f4f4f4;
}
body.single-lesson.sensei-course-theme :is(.sensei-course-theme__header,.sensei-course-theme__sidebar,.sensei-course-theme__main-content) {
  background-color: #080808 !important;
  color: #f4f4f4;
}
body.single-lesson.sensei-course-theme .sensei-course-theme__header :is(a,button) {
  color: #f4f4f4;
}
/* The native completed action uses blue on transparent; retain completion green
   on the new dark surface. Its native currentColor icon follows this color. */
body.single-lesson.sensei-course-theme .sensei-course-theme-lesson-actions__completed {
  color: #30968b !important;
}
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) {
  color: #f4f4f4;
}
body.single-lesson .entry-content.has-black-color {
  color: #f4f4f4 !important;
}
body.single-lesson article#brx-content.wordpress.lesson {
  background: #080808;
}
body.single-lesson :is(.entry-title,.wp-block-post-title,article#brx-content.wordpress.lesson>h1),
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) :is(h2,h3,h4) {
  color: #f4f4f4;
}
body.single-lesson :is(.an-lesson-map-fallback,.an-lesson-language-panel) {
  background: #111214;
  color: #f4f4f4;
  border-color: #fff3;
}
body.single-lesson :is(.an-lesson-map-fallback,.an-lesson-download) a {
  color: #f4f4f4;
}
body.single-lesson .an-lesson-download a:hover {
  background: #ffffff12;
}
body.single-lesson :is(.entry-content,article#brx-content.wordpress.lesson) hr {
  border-color: #fff3;
}

/* Keep the one official control in the main column, fixed at contact height.
   Only horizontal layout is measured: no scroll listener or animation loop. */
body.single-lesson.sensei-course-theme .sensei-course-theme__main-content > .an-lesson-language-switcher.trp-floating-switcher {
  --bg: #141414 !important;
  --bg-hover: #ffffff14 !important;
  --text: #f4f4f4 !important;
  --text-hover: #fff !important;
  position: fixed !important;
  top: auto !important;
  right: auto !important;
  bottom: calc(20px + env(safe-area-inset-bottom,0px)) !important;
  left: var(--an-lesson-language-left,12px) !important;
  margin: 0 !important;
  display: inline-flex;
  flex-direction: column;
  width: max-content;
  max-width: calc(100vw - 108px);
  align-self: auto;
  overflow: visible;
  z-index: 40;
}
body.single-lesson.sensei-course-theme .an-lesson-language-switcher.trp-floating-switcher .trp-language-switcher-inner,
body.single-lesson.sensei-course-theme .an-lesson-language-switcher.trp-floating-switcher .trp-switcher-dropdown-list {
  flex-direction: column;
}
body.single-lesson.sensei-course-theme .an-lesson-language-switcher.trp-floating-switcher .trp-switcher-dropdown-list {
  position: absolute;
  top: auto;
  bottom: 100%;
  left: 0;
  right: auto;
  min-width: 100%;
  background: var(--bg,#141414);
  border-radius: var(--border-radius,8px);
  box-shadow: 0 -8px 24px #0005;
}

/* Sensei native learning theme: explicit child colors on the approved dark surface. */
body.sensei-course-theme.sensei-course-theme .sensei-course-theme__sidebar .sensei-lms-course-navigation-module__title,
body.sensei-course-theme.sensei-course-theme .sensei-course-theme__sidebar .sensei-lms-course-navigation-lesson__link,
body.sensei-course-theme.sensei-course-theme .sensei-course-theme__main-content .wp-block-sensei-lms-course-theme-lesson-module {
  color: #f4f4f4 !important;
}
body.sensei-course-theme.sensei-course-theme .sensei-course-theme__sidebar .status-completed .sensei-lms-course-navigation-lesson__status {
  color: #30968b !important;
  fill: currentColor;
}

/* Keep Sensei's native lesson actions together and readable on the dark lesson surface. */
body.single-lesson.sensei-course-theme .sensei-lesson-footer { flex-wrap: wrap; }
body.single-lesson.sensei-course-theme .sensei-lesson-footer .sensei-block-wrapper,
body.single-lesson.sensei-course-theme .wp-block-sensei-lms-lesson-actions { min-width: 0; width: 100%; max-width: 100%; }
body.single-lesson.sensei-course-theme .sensei-buttons-container {
  display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; width: 100%; margin: 0;
}
body.single-lesson.sensei-course-theme .sensei-buttons-container > :is(.sensei-buttons-container__button-block,a) {
  display: flex; flex: 0 1 auto; min-width: 0; max-width: 100%; margin: 0;
}
body.single-lesson.sensei-course-theme .sensei-buttons-container .sensei-buttons-container__button-block {
  display: flex; min-width: 0; margin: 0;
}
body.single-lesson.sensei-course-theme .sensei-buttons-container .wp-block-button,
body.single-lesson.sensei-course-theme .sensei-buttons-container > a > .sensei-buttons-container__button-block {
  display: flex; min-width: 0; width: 100%; margin: 0;
}
body.single-lesson.sensei-course-theme .sensei-buttons-container .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  width: 100%; min-height: 48px; height: 100%; margin: 0; padding: 12px 18px;
  white-space: normal; text-align: center; line-height: 1.35;
}
body.single-lesson.sensei-course-theme .wp-block-sensei-lms-button-lesson-completed .wp-block-button__link {
  color: #b3f1dc !important; background: #10251d !important; border: 1px solid #73b8a2 !important;
}
body.single-lesson.sensei-course-theme .sensei-course-theme-lesson-actions__completed {
  color: #b3f1dc !important;
}
body.single-lesson.sensei-course-theme .sensei-buttons-container .wp-block-button__link:focus-visible {
  outline: 2px solid #ffb84d; outline-offset: 3px;
}
@media (max-width: 600px) {
  body.single-lesson.sensei-course-theme .sensei-buttons-container > :is(.sensei-buttons-container__button-block,a) {
    flex: 1 1 calc(50% - 6px);
  }
  body.single-lesson.sensei-course-theme .sensei-buttons-container .wp-block-button__link {
    padding: 12px 10px; font-size: 15px;
  }
}
