/* LTS 0.15.113 — Global Night Mode, v1.
 * Non-destructive appearance layer: Light is identical to 0.15.112.
 * Klee Blue / Ink / Sun / Parchment are preserved as the brand palette.
 * The presentation is separate from membership, content and authoring.
 */
html[data-lts-theme="dark"] {
  color-scheme: dark;
  --lts-ink: #F4F6FA;
  --lts-ink-soft: #C7CFDA;
  --lts-ink-hover: #FFFFFF;
  --lts-paper: #203044;
  --lts-parchment: #121D2B;
  --lts-app-canvas: #162437;
  --lts-parchment-deep: #293A50;
  --lts-line: #35465C;
  --lts-blue-soft: #293A50;
  --lts-sun-soft: #3D3528;
  --lts-on-blue-soft: #E2E6FF;
  --lts-canonical-ref-ink: #F4F6FA;
  --lts-canonical-ref-ink-soft: #C7CFDA;
  --lts-canonical-ref-cream: #121D2B;
  --lts-canonical-ref-parchment: #293A50;
  --lts-canonical-ref-line: #35465C;
  --lts-canonical-ref-line-blue: #5C6DB6;
  --lts-modal-close-color: #B5BFF5;
  --lts-night-navigation-icon: #F4F6FA;
  --shadow-soft: 0 12px 34px rgba(0,0,0,.18);
  --shadow-active: 0 8px 24px rgba(0,0,0,.24);
  --lts-nav-surface: #203044;
  --lts-nav-ink: #F4F6FA;
  --lts-nav-muted: #C7CFDA;
  --lts-nav-line: #35465C;
  --lts-nav-soft: #293A50;
  --lts-header-lock-ink: #F4F6FA;
  --lts-header-lock-blue: #B5BFF5;
  --lts-header-lock-paper: #203044;
  --lts-header-lock-cream: #293A50;
  --lts-header-lock-line: #35465C;
  --lts-dark-canvas: #121D2B;
  --lts-dark-raised: #203044;
  --lts-dark-soft: #293A50;
  --lts-dark-line: #35465C;
  --lts-dark-muted: #C7CFDA;
  --lts-dark-link: #B5BFF5;
  --lts-dark-on-sun: #20344D;
}

/* Entire frontend canvas, including routes outside the dedicated LTS modules. */
html[data-lts-theme="dark"] body.lts-core-navigation-v1,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .wp-site-blocks,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 main:not(.lts-nav-dialog),
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .entry-content {
  color: var(--lts-ink);
  background-color: var(--lts-parchment);
}

/* Canonical header lock currently hardcodes white with !important: supersede it
   without changing its geometry or the default Light presentation. */
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header,
html[data-lts-theme="dark"] body.lts-core-navigation-v1--signed-in .lts-site-header,
html[data-lts-theme="dark"] body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-site-header {
  background: rgba(32,48,68,.98) !important;
  color: var(--lts-ink) !important;
  border-bottom-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__brand-logo img {
  filter: brightness(0) invert(1) !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__icon-link:hover,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__icon-link:focus-visible,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__avatar:hover {
  background: var(--lts-dark-soft) !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__dropdown-menu,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog__panel {
  background: var(--lts-dark-raised) !important;
  color: var(--lts-ink) !important;
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__dropdown-menu a:hover,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__dropdown-menu a:focus-visible {
  background: var(--lts-dark-soft) !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-state-guest .lts-nav__join {
  color: var(--lts-dark-on-sun) !important;
}
html[data-lts-theme="dark"] .lts-profile-menu {
  background: var(--lts-dark-raised);
  color: var(--lts-ink);
  border-color: var(--lts-dark-line);
  box-shadow: 0 18px 44px rgba(0,0,0,.36);
}
html[data-lts-theme="dark"] .lts-profile-menu__links,
html[data-lts-theme="dark"] .lts-profile-menu__identity,
html[data-lts-theme="dark"] .lts-profile-menu__preferences,
html[data-lts-theme="dark"] .lts-profile-menu__links--logout {
  border-color: var(--lts-dark-line);
}
/* The approved profile-picture dropdown: controls between navigation links
   and Log out. No new page, independent settings panel or other menu. */
.lts-profile-menu__preferences {
  padding: 8px;
  border-top: 1px solid var(--lts-nav-line);
}
.lts-profile-menu__theme {
  min-height: 44px;
  width: 100%;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--lts-nav-ink);
  text-align: left;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.lts-profile-menu__theme-wording { display: inline-flex; align-items: center; gap: 9px; }
.lts-profile-menu__theme-wording svg { color: var(--lts-blue); flex: none; }
html[data-lts-theme="dark"] .lts-profile-menu__theme-wording svg { color: var(--lts-dark-link); }
.lts-profile-menu__theme:hover { background: var(--lts-nav-soft); }
.lts-profile-menu__theme:focus-visible { outline: 3px solid var(--lts-blue); outline-offset: -2px; }
.lts-profile-menu__theme-track {
  display: inline-block;
  height: 24px;
  width: 43px;
  flex: 0 0 43px;
  border-radius: 999px;
  background: #AEB7C5;
  position: relative;
  transition: background-color .16s;
}
.lts-profile-menu__theme-track::after {
  content: "";
  position: absolute;
  height: 18px;
  width: 18px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.22);
  transition: transform .16s;
}
.lts-profile-menu__theme[aria-pressed="true"] .lts-profile-menu__theme-track { background: #4352A6; }
.lts-profile-menu__theme[aria-pressed="true"] .lts-profile-menu__theme-track::after { transform: translateX(19px); }

/* WordPress chrome that sometimes wraps otherwise themed LTS output. */
html[data-lts-theme="dark"] body.lts-core-navigation-v1 :where(.wp-block-group.has-background, .wp-block-post-content.has-background) {
  color: var(--lts-ink);
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
  color-scheme: dark;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 :where(input, textarea, select):focus-visible {
  outline-color: #B5BFF5;
}

/* Brand-on-blue sections retain the original Klee Blue background: their
   foreground must stay light even though Paper is now a dark surface token. */
html[data-lts-theme="dark"] :is(.lts-homepage__section--blue, .lts-faq__hero, .lts-our-story__hero) {
  color: #F4F6FA;
}
html[data-lts-theme="dark"] :is(.lts-homepage__section--blue, .lts-faq__hero) :is(h1,h2,h3,p,small,span) {
  color: inherit;
}
html[data-lts-theme="dark"] :is(.lts-homepage__section--blue, .lts-faq__hero) :is(input,button,.lts-faq__search) {
  color: var(--lts-ink);
}
html[data-lts-theme="dark"] :is(.lts-homepage__section--blue, .lts-faq__hero) :is(.lts-homepage__text-link, .lts-homepage__section-heading > p, .lts-faq__eyebrow) {
  color: #E2E6FF;
}

/* v0.15.250 — the last homepage CTA stays Klee Blue in Night Mode.
 * Its supporting sentence must not inherit Night Mode's dark-paper ink. */
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage
.lts-homepage__closing-card .lts-homepage__closing-copy > p {
  color: #F4F6FA !important;
}

/* Sun CTA needs Ink on Sun in both modes. Restrict to product CTAs, not text. */
html[data-lts-theme="dark"] :is(
 .lts-homepage__button--primary, .lts-homepage__button--primary:hover,
 .lts-membership-account__button--primary, .lts-checkout__button--primary,
 .lts-our-story__cta, .lts-our-story__play,
 .lts-rhythm__button--primary
) { color: var(--lts-dark-on-sun) !important; }

/* Dark links against dark surfaces: do not use the original deep Klee Blue for
   foreground-only accents. Background fills continue to use canonical blue. */
html[data-lts-theme="dark"] :is(
 .lts-ps__eyebrow, .lts-review-v1__kicker, .lts-pricing__eyebrow,
 .lts-homepage__eyebrow, .lts-faq__category-link,
 .lts-legal a, .lts-privacy a, .lts-ps a:not(.lts-ps__button),
 .lts-faq a:not(.lts-faq__button), .lts-auth a, .lts-story-v2__back
) { color: var(--lts-dark-link); }

/* Module-specific direct hex backgrounds from older screens: keep the
   semantic status (success/warning/error), just use dark-compatible fills. */
html[data-lts-theme="dark"] :is(
 .lts-ps__stamp, .lts-ps__day, .lts-ps__dash-step,
 .lts-ps__dash-action-card, .lts-ps__dash-album-sheet,
 .lts-ps__dash-album-preview-item, .lts-ps__album-book,
 .lts-ps__album-page, .lts-ps__album-empty-entry,
 .lts-ps--settings-v2 .lts-ps__settings-card,
 .lts-review-v1--overview .lts-review-v1__deck-card,
 .lts-review-v1--overview .lts-review-v1__modal,
 .lts-review-v1--overview .lts-review-v1__modal-option,
 .lts-review-v1--overview .lts-review-v1__empty,
 .lts-review-v1__srs-step,
 .lts-review-v1--study .lts-review-v1__card,
 .lts-review-v1--study .lts-review-v1__item.is-flipped .lts-review-v1__card,
 .lts-review-v1--study .lts-review-v1__rating,
 .lts-review-v1--study .lts-review-v1__speaker,
 .lts-story-v2__download-row, .lts-story-v2__downloads-locked,
 .lts-story-v2__download-consent, .lts-story-v2__story-study-card,
 .lts-story-v2__story-study-exit-dialog,
 .lts-legal__form-sample, .lts-legal__process-note,
 .lts-legal__withdrawal-function, .lts-legal__cancellation-function,
 .lts-our-story__stat, .lts-our-story__footer-logo-card,
 .lts-rhythm__card, .lts-rhythm__qualifying-item,
 .lts-rhythm__next-change, .lts-rhythm__settings-panel,
 .lts-faq--hub .lts-faq__category-card-inner
) { background: var(--lts-dark-raised); color: var(--lts-ink); border-color: var(--lts-dark-line); }

html[data-lts-theme="dark"] :is(
 .lts-ps__dash-step.is-next, .lts-ps__dash-action-icon,
 .lts-ps--settings-v2 .lts-ps__settings-status,
 .lts-story-v2__story-deck-action--secondary,
 .lts-story-v2__vocab-preview-close,
 .lts-story-v2__story-study-language-tag,
 .lts-story-v2--detail-v4 .lts-story-v2__level,
 .lts-story-v2--speaking-v1 .lts-story-v2__speaking-choice-icon,
 .lts-story-v2--downloads-v2 .lts-story-v2__download-kind,
 .lts-review-v1__srs-intervals > span,
 .lts-rhythm__pending, .lts-rhythm__guide
) { background: var(--lts-dark-soft); color: var(--lts-ink); }

html[data-lts-theme="dark"] :is(
 .lts-ps__coming, .lts-ps__dash-album, .lts-ps__album-stage,
 .lts-ps__album-entry, .lts-ps__dash-continue,
 .lts-story-v2--detail-v4 .lts-story-v2__detail-overview-card,
 .lts-story-v2--transcript-v11 .lts-story-v2__transcript-story-card,
 .lts-story-v2--speaking-v1 .lts-story-v2__speaking-card,
 .lts-story-v2--practice-v1 .lts-story-v2__practice-card-v1,
 .lts-story-v2--downloads-v2 .lts-story-v2__downloads-card,
 .lts-story-v2__story-completion,
 .lts-pricing__coming-item
) { background: rgba(32,48,68,.82); color: var(--lts-ink); }

html[data-lts-theme="dark"] :is(
 .lts-ps__notice.is-success, .lts-ps__status--member,
 .lts-story-v2__destination-status.is-complete,
 .lts-story-v2__option.is-answer-correct,
 .lts-story-v2__speaking-row-status.is-complete,
 .lts-story-v2--practice-v1 .lts-story-v2__practice-feedback.is-correct,
 .lts-story-v2--speaking-v1 .lts-story-v2__speaking-row-status.is-complete,
 .lts-rhythm__notice--success, .lts-speaking-saved-state
) { background: #1B403C; color: #D2F6E4; }
html[data-lts-theme="dark"] :is(
 .lts-ps__notice.is-error, .lts-story-v2__option.is-answer-wrong,
 .lts-story-v2--practice-v1 .lts-story-v2__practice-feedback.is-wrong,
 .lts-rhythm__notice--error
) { background: #492C35; color: #FFE0E4; }
html[data-lts-theme="dark"] :is(
 .lts-story-v2__option.is-answer-almost,
 .lts-story-v2--practice-v1 .lts-story-v2__practice-feedback.is-almost,
 .lts-story-v2--practice-v1 .lts-story-v2__practice-hint-v1,
 .lts-legal__placeholder
) { background: #3D3528; color: #FFE7A1; }

html[data-lts-theme="dark"] :is(
 .lts-pricing__admin-preview, .lts-pricing__founder, .lts-pricing__welcome-back,
 .lts-pricing__coming-wrap, .lts-pricing__trust,
 .lts-pricing__final, .lts-our-story__video-shell,
 .lts-our-story__video-frame,
 .lts-review-v1--overview .lts-review-v1__daily-card
) { background: var(--lts-dark-soft); color: var(--lts-ink); }

/* Secondary buttons and text entries on Story/Review/Auth screens. */
html[data-lts-theme="dark"] :is(
 .lts-story-v2__story-study-tool, .lts-story-v2__story-study-close,
 .lts-story-v2__story-study-judgement-button,
 .lts-story-v2__story-study-exit-button--secondary,
 .lts-story-v2__story-study-exit-button--plain,
 .lts-story-v2--practice-v1 .lts-story-v2__order-builder .lts-order-answer,
 .lts-pricing__button--secondary, .lts-pricing__button--outline,
 .lts-speaking-button, .lts-speaking-leave-dialog__panel,
 .lts-speaking-delete-dialog__panel,
 .lts-legal__withdrawal-function input,
 .lts-legal__cancellation-function input
) { background: var(--lts-dark-raised); color: var(--lts-ink); border-color: var(--lts-dark-line); }
html[data-lts-theme="dark"] :is(
 .lts-auth__form input, .lts-auth-recovery__form input,
 .lts-faq__search input, .lts-ps input, .lts-ps select,
 .lts-story-v2 input, .lts-story-v2 select, .lts-story-v2 textarea
) { background-color: var(--lts-dark-raised); color: var(--lts-ink); border-color: var(--lts-dark-line); }
html[data-lts-theme="dark"] :is(
 .lts-auth__errors, .lts-auth__google-placeholder, .lts-auth-recovery__notice,
 .lts-ps--settings-v2 .lts-ps__settings-avatar,
 .lts-story-v2__story-study-hint, .lts-story-v2__story-study-tool,
 .lts-story-v2--practice-v1 .lts-story-v2__option:has(input:checked)
) { background: var(--lts-dark-soft); color: var(--lts-ink); }

/* Existing positive/negative semantic icons should retain their shapes. */
html[data-lts-theme="dark"] :is(.lts-homepage img, .lts-story-v2 img, .lts-ps img, .lts-our-story img) {
  filter: none;
}
html[data-lts-theme="dark"] ::placeholder { color: #A9B4C6; opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .lts-profile-menu__theme-track, .lts-profile-menu__theme-track::after { transition: none; }
}

/* Homepage's canonical visual lock has its own local variables; map those as
   well. Merely changing :root tokens would leave the homepage white. */
html[data-lts-theme="dark"] .lts-homepage {
  --lts-homepage-ref-ink: #F4F6FA;
  --lts-homepage-ref-ink-soft: #C7CFDA;
  --lts-homepage-ref-paper: #203044;
  --lts-homepage-ref-cream: #121D2B;
  --lts-homepage-ref-parchment: #293A50;
  --lts-homepage-ref-line: #35465C;
  --lts-homepage-ref-line-blue: #5C6DB6;
  --lts-homepage-ref-shadow: 0 12px 34px rgba(0,0,0,.18);
}
html[data-lts-theme="dark"] .lts-homepage__section--blue,
html[data-lts-theme="dark"] .lts-homepage__section--blue :is(h1,h2,h3,p,small,span) {
  color: #F4F6FA;
}
html[data-lts-theme="dark"] .lts-homepage__section--blue :is(.lts-homepage__button--primary,.lts-homepage__button--primary span) {
  color: #20344D;
}
html[data-lts-theme="dark"] .lts-homepage :is(
  .lts-homepage__feature-icon,.lts-homepage__text-link,.lts-homepage__feature-tab.is-active
) { color: #B5BFF5; }

/* The homepage legacy integration applies a literal white + Ink rule after its
   token definitions, and feature tabs use !important. Both need dark siblings. */
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage {
  background: var(--lts-dark-raised);
  color: var(--lts-ink);
}
html[data-lts-theme="dark"] .lts-homepage .lts-homepage__feature-tab,
html[data-lts-theme="dark"] .lts-homepage .lts-homepage__feature-tab:hover,
html[data-lts-theme="dark"] .lts-homepage .lts-homepage__feature-tab:focus,
html[data-lts-theme="dark"] .lts-homepage .lts-homepage__feature-tab:focus-visible,
html[data-lts-theme="dark"] .lts-homepage .lts-homepage__feature-tab.is-active {
  background: var(--lts-dark-raised) !important;
  color: var(--lts-ink) !important;
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] .lts-homepage .lts-homepage__feature-tab :is(strong,small) {
  color: var(--lts-ink) !important;
}
html[data-lts-theme="dark"] .lts-homepage .lts-homepage__feature-tab .lts-homepage__feature-icon {
  color: var(--lts-dark-link) !important;
}

/* Mobile: the translucent site header establishes a containing block for
   fixed descendants. The old bottom-anchored menu could render above the
   visible viewport. Anchor the real profile dropdown beneath the header. */
@media (max-width: 780px) {
  body.lts-core-navigation-v1 .lts-profile-menu {
    position: fixed;
    left: 12px;
    right: 12px;
    top: calc(68px + 8px);
    bottom: auto;
    width: auto;
    max-height: calc(100dvh - 94px);
    overflow-y: auto;
  }
}

/* Review's final canonical lock uses !important white surfaces. Keep Review
   cards, duration options and flashcard ratings readable in both states. */
html[data-lts-theme="dark"] :is(
  .lts-review-v1--overview .lts-review-v1__deck-card,
  .lts-review-v1--overview .lts-review-v1__deck-card:hover,
  .lts-review-v1--overview .lts-review-v1__deck-card:focus-within,
  .lts-review-v1--overview .lts-review-v1__modal,
  .lts-review-v1--overview .lts-review-v1__modal-option,
  .lts-review-v1--overview .lts-review-v1__modal-option:hover,
  .lts-review-v1--overview .lts-review-v1__modal-option:focus-visible,
  .lts-review-v1--study .lts-review-v1__card,
  .lts-review-v1--study .lts-review-v1__card:hover,
  .lts-review-v1--study .lts-review-v1__card:focus-visible,
  .lts-review-v1--study .lts-review-v1__card:active,
  .lts-review-v1--study .lts-review-v1__rating,
  .lts-review-v1--study .lts-review-v1__rating:hover,
  .lts-review-v1--study .lts-review-v1__rating:focus-visible,
  .lts-review-v1--study .lts-review-v1__rating:active
) { background: var(--lts-dark-raised) !important; color: var(--lts-ink) !important; border-color: var(--lts-dark-line) !important; }

/* Support's hardcoded canonical Ink and white use a dark counterpart.
   Do not alter Support's blue primary buttons (white-on-blue intentionally). */
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq--hub { background: var(--lts-dark-canvas); color: var(--lts-ink); }
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq--hub .lts-faq__category-card-inner,
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq--hub .lts-faq__category-card:hover .lts-faq__category-card-inner,
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq--hub .lts-faq__category-card:focus-within .lts-faq__category-card-inner,
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq--hub .lts-faq__overview-contact-button,
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq--hub .lts-faq__overview-contact-button:hover,
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq--hub .lts-faq__overview-contact-button:focus-visible,
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq--hub .lts-faq__overview-contact-button:active {
  background: var(--lts-dark-raised) !important;
  color: var(--lts-ink) !important;
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq :is(
  .lts-faq__category-card, .lts-faq__category-title,
  .lts-faq__popular .lts-faq__question,
  .lts-faq__popular .lts-faq__item.is-open .lts-faq__question,
  .lts-faq__popular .lts-faq__question:hover,
  .lts-faq__popular .lts-faq__question:focus-visible,
  .lts-faq__back, .lts-faq__back:hover,
  .lts-faq__back:focus-visible
) { color: var(--lts-ink) !important; }
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq :is(
 .lts-faq__popular .lts-faq__answer-inner,
 .lts-faq__category-description,
 .lts-faq__overview-contact p
) { color: var(--lts-dark-muted); }
html[data-lts-theme="dark"] body.lts-faq-v1-active .lts-faq :is(
 .lts-faq__category-icon,.lts-faq__popular .lts-faq__toggle-icon
) { color: var(--lts-dark-link); }

/* Speaking component is independent but shares our primary semantic tokens. */
html[data-lts-theme="dark"] .lts-speaking-shell { --sp-success-soft: #1B403C; --sp-error: #FFC3C7; }
html[data-lts-theme="dark"] .lts-speaking-shell :is(
 .lts-speaking-button:not(.is-primary):not(.is-danger),
 .lts-speaking-button:not(.is-primary):not(.is-danger):hover,
 .lts-speaking-help-toggle,
 .lts-speaking-help-toggle:hover,
 .lts-speaking-help-toggle[aria-expanded="true"]
) { background: var(--lts-dark-raised) !important; color: var(--lts-ink) !important; border-color: var(--lts-dark-line); }
html[data-lts-theme="dark"] .lts-speaking-shell :is(
 .lts-speaking-help-panel, .lts-speaking-task-status
) { background: var(--lts-dark-soft); color: var(--lts-ink); }

/* Practice answer feedback has !important light fills in the Story module. */
html[data-lts-theme="dark"] .lts-story-v2__option.is-answer-almost { background: #3D3528 !important; color: #FFE7A1 !important; }
html[data-lts-theme="dark"] .lts-story-v2__option.is-answer-wrong { background: #492C35 !important; color: #FFE0E4 !important; }
html[data-lts-theme="dark"] .lts-story-v2__option.is-answer-correct { background: #1B403C !important; color: #D2F6E4 !important; }
html[data-lts-theme="dark"] .lts-homepage__features { background: var(--lts-dark-raised) !important; }

/* Footer remains Klee Blue as a deliberate brand surface, but the logo card
   joins the selected mode instead of remaining a floating white rectangle. */
html[data-lts-theme="dark"] .lts-global-footer .lts-homepage__footer-logo-card {
  background: var(--lts-dark-raised);
  border: 1px solid var(--lts-dark-line);
}
html[data-lts-theme="dark"] .lts-global-footer .lts-homepage__footer-logo {
  filter: brightness(0) invert(1);
}


/* LTS 0.15.114 — Correct legacy light surfaces and contrast in Night mode.
   Core owns these five routes, but Kadence / block-theme container backgrounds
   and Learn's in-content !important rules previously overrode the theme.
   These selectors are intentionally scoped to dark mode and page classes. */

/* Remove the off-white frames around Review, Membership, Profile, Settings,
   and the Learn library. No geometry or spacing adjustments. */
html[data-lts-theme="dark"] body:is(
  .lts-library-page, .lts-review-v1-active, .lts-pricing-page, .lts-profile-settings-v1-active
),
html[data-lts-theme="dark"] body:is(
  .lts-library-page, .lts-review-v1-active, .lts-pricing-page, .lts-profile-settings-v1-active
) :is(
  #inner-wrap, .site, .site-container, .site-content, .site-content-wrap,
  .content-wrap, .content-container, .content-area, #primary,
  .site-main, #main, .entry, .entry-content-wrap, .entry-content,
  .wp-site-blocks, .wp-block-post-content, .wp-block-shortcode,
  .wp-block-group.has-background, .content-bg
),
html[data-lts-theme="dark"] body.lts-library-page .wp-block-group:has(.lts-library-v1),
html[data-lts-theme="dark"] body.lts-review-v1-active .wp-block-group:has(.lts-review-v1),
html[data-lts-theme="dark"] body.lts-pricing-page .wp-block-group:has(.lts-pricing),
html[data-lts-theme="dark"] body.lts-profile-settings-v1-active .wp-block-group:has(.lts-ps) {
  background-color: var(--lts-dark-canvas) !important;
}

/* Learn's canonical inline styles have their own --learn-* palette and force
   a cream surface via !important. Override precisely with stronger specificity. */
html[data-lts-theme="dark"] body.lts-library-page .lts-library-v1[data-lts-library-v1] {
  --learn-ink: #F4F6FA;
  --learn-ink-soft: #C7CFDA;
  --learn-paper: #203044;
  --learn-cream: #121D2B;
  --learn-parchment: #293A50;
  --learn-line: #35465C;
  --learn-shadow: 0 12px 34px rgba(0,0,0,.18);
  background: var(--lts-dark-canvas) !important;
  color: var(--lts-ink) !important;
}
html[data-lts-theme="dark"] .lts-library-v1 :is(
  .lts-library-v1__search,.lts-library-v1__chips button:not(.is-active),
  .lts-library-v1__empty button,.lts-library-v1__show-more,
  .lts-library-v1__card,.lts-library-v1__topic-arrow,
  .lts-library-v1__gate-dialog
) {
  background: var(--lts-dark-raised) !important;
  color: var(--lts-ink);
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] .lts-library-v1 :is(
  .lts-library-v1__topics,.lts-library-v1__topic-card,
  .lts-library-v1__placeholder,.lts-library-v1__image
) {
  background: var(--lts-dark-soft) !important;
  color: var(--lts-ink);
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] .lts-library-v1__level {
  background: var(--lts-dark-raised);
  color: var(--lts-ink);
  border-color: var(--lts-dark-line);
}
/* Yellow "Free story" and other Sun tags must use dark text, not white. */
html[data-lts-theme="dark"] .lts-library-v1__status { color: #20344D !important; }
html[data-lts-theme="dark"] .lts-library-v1 :is(
  .lts-library-v1__lock-icon, .lts-library-v1__arrow,
  .lts-library-v1__note-icon, .lts-library-v1__search-icon
) { color: var(--lts-dark-link); }
html[data-lts-theme="dark"] .lts-library-v1__show-more:is(:hover,:focus,:active),
html[data-lts-theme="dark"] .lts-library-v1__topic-arrow:hover {
  background: var(--lts-dark-soft) !important;
  color: var(--lts-ink) !important;
}

/* High-contrast profile titles: old ink/blue declarations made these nearly
   invisible against the dark page and cards in the owner's screenshots. */
html[data-lts-theme="dark"] .lts-ps :is(
  .lts-ps__profile-head h1, .lts-ps__card-head h2,
  .lts-ps__dash-album h2, .lts-ps__dash-head h1
) { color: var(--lts-ink) !important; }
html[data-lts-theme="dark"] .lts-ps :is(
  .lts-ps__eyebrow, .lts-ps__dash-button, .lts-ps__dash-button:hover,
  .lts-ps__dash-button:focus-visible, .lts-ps__text-link
) { color: var(--lts-dark-link) !important; }
html[data-lts-theme="dark"] .lts-ps__status:not(.lts-ps__status--member) {
  background: var(--lts-sun-soft); color: var(--lts-ink);
}
html[data-lts-theme="dark"] .lts-ps__dash-card,
html[data-lts-theme="dark"] .lts-ps__card,
html[data-lts-theme="dark"] .lts-ps__form-card {
  border-color: var(--lts-dark-line);
}

/* Lower the outer-frame flash caused by theme white backgrounds on page
   containers which are nested below the site shell. */
html[data-lts-theme="dark"] body.lts-review-v1-active .lts-review-v1,
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing,
html[data-lts-theme="dark"] body.lts-profile-settings-v1-active .lts-ps {
  color: var(--lts-ink);
}

/* Core 0.15.118 — notification surface follows the existing dark palette. */
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__notifications {
  background: var(--lts-dark-raised);
  border-color: var(--lts-dark-line);
  box-shadow: 0 18px 44px rgba(0,0,0,.36);
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__notification-trigger:hover,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__notification-trigger[aria-expanded="true"] {
  background: var(--lts-dark-soft) !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__notifications h2 { color: var(--lts-ink); }
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__notifications p { color: var(--lts-dark-muted); }
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__notification-trigger {
  color: var(--lts-dark-link) !important;
}


/* Core 0.15.121 — keep profile dropdown links neutral in dark mode too. */
html[data-lts-theme="dark"] .lts-profile-menu a,
html[data-lts-theme="dark"] .lts-profile-menu a:visited,
html[data-lts-theme="dark"] .lts-profile-menu a:hover,
html[data-lts-theme="dark"] .lts-profile-menu a:focus-visible,
html[data-lts-theme="dark"] .lts-profile-menu a:active {
  color: var(--lts-ink) !important;
}
html[data-lts-theme="dark"] .lts-profile-menu__theme:hover,
html[data-lts-theme="dark"] .lts-profile-menu__theme:focus-visible,
html[data-lts-theme="dark"] .lts-profile-menu a:hover,
html[data-lts-theme="dark"] .lts-profile-menu a:focus-visible,
html[data-lts-theme="dark"] .lts-profile-menu a[aria-current="page"],
html[data-lts-theme="dark"] .lts-profile-menu a.is-current {
  background: var(--lts-dark-soft) !important;
}


/* 0.15.122 — keep the profile Night mode control readable under theme button
   hover/focus styles; make the crescent stroke independent of button color. */
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme,
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:hover,
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:focus,
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:focus-visible,
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:active,
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme-wording,
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu [data-lts-theme-label] {
  color: #20334D !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:hover,
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:focus-visible {
  background: #F5F0E8 !important;
}
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme-wording svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  flex: 0 0 21px !important;
  color: #4959AD !important;
  stroke: #4959AD !important;
  fill: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme-wording svg path {
  stroke: #4959AD !important;
  fill: none !important;
  opacity: 1 !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:hover,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:focus,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:focus-visible,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:active,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme-wording,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu [data-lts-theme-label] {
  color: #F4F6FA !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:hover,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme:focus-visible {
  background: #293A50 !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme-wording svg,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header .lts-profile-menu .lts-profile-menu__theme-wording svg path {
  color: #B5BFF5 !important;
  stroke: #B5BFF5 !important;
}


/* Core 0.15.152 — respect the focused learning-session header suppression
 * even though the Night-mode header palette is loaded after the nav lock. */
html[data-lts-theme="dark"] body.lts-core-navigation-v1.lts-core-learning-session .lts-site-header,
html[data-lts-theme="dark"] body.lts-core-navigation-v1--signed-in.lts-core-learning-session .lts-site-header {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* Core 0.15.163 — the annual/monthly membership artwork uses the same Klee
   Blue stage and beige cards in both themes. Do not let the older route-wide
   dark-canvas and generic Coming-soon surface overrides repaint this page. */
html[data-lts-theme="dark"] body.lts-pricing-page,
html[data-lts-theme="dark"] body.lts-pricing-page :is(
  #inner-wrap, #primary, #main, .site, .site-content, .site-content-wrap,
  .content-wrap, .content-container, .content-area, .site-main,
  .entry, .entry-content-wrap, .entry-content, .wp-site-blocks,
  .wp-block-post-content, .content-bg
),
html[data-lts-theme="dark"] body.lts-pricing-page .wp-block-group:has(.lts-pricing) {
  background-color: #4352A6 !important;
  background-image: none !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing {
  color: #fff !important;
}
/* Membership benefits in Night mode must retain the day layout. The old
   per-row beige override split the single framed list into unrelated cards.
   Paint the frame once; keep its grid rows transparent and readable. */
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__benefit-frame {
  background: #203044 !important;
  border-color: rgba(181,191,245,.48) !important;
  box-shadow: 0 18px 36px rgba(8,17,40,.22);
}
html[data-lts-theme="dark"] body.lts-pricing-page :is(
  .lts-pricing__benefit-item, .lts-pricing__coming-item
) {
  background: transparent !important;
  color: #fff !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page :is(
  .lts-pricing__benefit-item > span:last-child, .lts-pricing__coming-text
) {
  color: #fff !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__benefit-icon {
  color: #D8F1C4 !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__coming-badge {
  background: #FFF0C0 !important;
  color: #20344D !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__comparison-note {
  color: rgba(255,255,255,.9) !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page .wp-block-shortcode:has(.lts-pricing),
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page.lts-pricing-page .entry-content .wp-block-shortcode:has(.lts-pricing),
html[data-lts-theme="dark"] body.lts-pricing-page.lts-pricing-page .wp-block-shortcode:has(.lts-pricing) {
  background: #4352A6 !important;
  background-color: #4352A6 !important;
  background-image: none !important;
}
/* The preceding legacy :is(...) rule contains #inner-wrap, which gives even
   its shortcode branch ID-level specificity. Match that level explicitly. */
html[data-lts-theme="dark"] body.lts-pricing-page :is(#inner-wrap, .wp-block-shortcode:has(.lts-pricing)) {
  background-color: #4352A6 !important;
  background-image: none !important;
}

/* Core 0.15.231 — Membership night-mode wrapper continuity.
 * Some Kadence/block-theme ancestors paint the global dark canvas, leaving
 * navy bands between the fixed navigation, the pricing stage and the footer.
 * Repaint only elements CONTAINING the membership stage; never recolour the
 * actual plan cards, the global header or the existing shared footer. */
html[data-lts-theme="dark"] body.lts-pricing-page :is(div, main, article, section):has(.lts-pricing) {
  background-color: var(--lts-blue, #4352A6) !important;
  background-image: none !important;
}

/* Core 0.15.237 — Night-mode contrast contract, Homepage + shared Sun CTAs.
 * The homepage has approved Light-mode styles that deliberately hardcode
 * parchment/white, including :hover and :focus. Keep those rules untouched
 * for Light, but pair every Dark-mode surface with a legible foreground.
 * This is a presentation-only layer; no markup, URLs or learning state change.
 */
html[data-lts-theme="dark"] {
  --lts-on-sun: #20344D;
  --lts-on-dark-surface: #F4F6FA;
  --lts-dark-action-hover: #293A50;
}

/* Hero: don't put white text on the Light-mode beige stage. */
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__hero,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__section--parchment,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__section--parchment-deep {
  background: var(--lts-dark-canvas) !important;
  color: var(--lts-on-dark-surface);
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__hero-title {
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__word-german {
  color: #B5BFF5 !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__hero-body {
  color: var(--lts-dark-muted) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__mini-scene {
  background: var(--lts-dark-raised) !important;
  border-color: var(--lts-dark-line) !important;
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__mini-scene > span:last-child {
  color: var(--lts-on-dark-surface) !important;
}

/* Four features: the tab shell, selected tab, hover and content share a
 * consistent visual system. Yellow selection ALWAYS uses dark ink. */
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__features {
  background: var(--lts-dark-canvas) !important;
  color: var(--lts-on-dark-surface);
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tabs {
  background: var(--lts-dark-raised) !important;
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab:focus {
  background: transparent !important;
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab:hover:not(.is-active),
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab:focus-visible:not(.is-active) {
  background: var(--lts-dark-action-hover) !important;
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab.is-active,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab.is-active:hover,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab.is-active:focus-visible {
  background: var(--lts-sun) !important;
  color: var(--lts-on-sun) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab strong,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-tab small {
  color: inherit !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-panel,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-mobile-slide {
  background: var(--lts-dark-raised) !important;
  color: var(--lts-on-dark-surface) !important;
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-panel :is(h2,h3,p),
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-mobile-slide :is(h2,h3,p) {
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-mobile-media,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__feature-mobile-media .lts-homepage__media-placeholder,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__split-media .lts-homepage__media-placeholder {
  background: var(--lts-dark-soft) !important;
}

/* Canonical story-method carousel uses isolated custom properties and had
 * white / translucent white cards despite inheriting white text in Dark. */
html[data-lts-theme="dark"] .lts-homepage .showcase {
  --navy: #F4F6FA;
  --cream: #121D2B;
  --white: #203044;
  --line: #35465C;
  --muted: #C7CFDA;
  --blue: #B5BFF5;
  color: var(--lts-on-dark-surface);
}
html[data-lts-theme="dark"] .lts-homepage .showcase .choice,
html[data-lts-theme="dark"] .lts-homepage .showcase .choice.is-active,
html[data-lts-theme="dark"] .lts-homepage .showcase .mobile-tab {
  background: var(--lts-dark-raised) !important;
  color: var(--lts-on-dark-surface) !important;
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] .lts-homepage .showcase .choice:hover,
html[data-lts-theme="dark"] .lts-homepage .showcase .choice:focus-visible,
html[data-lts-theme="dark"] .lts-homepage .showcase .mobile-tab:hover:not(.is-active),
html[data-lts-theme="dark"] .lts-homepage .showcase .mobile-tab:focus-visible:not(.is-active) {
  background: var(--lts-dark-soft) !important;
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] .lts-homepage .showcase .choice .choice-title,
html[data-lts-theme="dark"] .lts-homepage .showcase .choice .choice-text,
html[data-lts-theme="dark"] .lts-homepage .showcase .card-body :is(h3,p) {
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] .lts-homepage .showcase .choice-icon,
html[data-lts-theme="dark"] .lts-homepage .showcase .card-index {
  background: var(--lts-dark-soft) !important;
  color: var(--lts-dark-link) !important;
}
html[data-lts-theme="dark"] .lts-homepage .showcase .slide {
  background: var(--lts-dark-raised) !important;
  border-color: var(--lts-dark-line) !important;
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] .lts-homepage .showcase .carousel-arrow,
html[data-lts-theme="dark"] .lts-homepage .showcase .carousel-arrow:hover {
  background: var(--lts-dark-raised) !important;
  color: var(--lts-on-dark-surface) !important;
  border-color: var(--lts-dark-line) !important;
}
html[data-lts-theme="dark"] .lts-homepage .showcase .mobile-tab.is-active,
html[data-lts-theme="dark"] .lts-homepage .showcase .mobile-tab.is-active:hover,
html[data-lts-theme="dark"] .lts-homepage .showcase .mobile-tab.is-active:focus-visible {
  background: #4352A6 !important;
  color: #FFFFFF !important;
  border-color: #B5BFF5 !important;
}
html[data-lts-theme="dark"] .lts-homepage .showcase .mobile-tab.is-active svg {
  color: #FFFFFF !important;
}

/* Core 0.15.445 — Home learner-benefit carousel navigation in Night Mode.
 * Restore contrast to the two circular buttons without changing geometry,
 * the carousel interactions, or the Light Mode palette. */
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__review-arrow,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__review-arrow:is(:hover,:focus-visible,:active) {
  background: var(--lts-dark-soft, #293A50) !important;
  color: #F4F6FA !important;
  border-color: #5C6DB6 !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__review-arrow > span,
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__review-arrow svg {
  color: #F4F6FA !important;
  stroke: #F4F6FA !important;
  fill: none !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__review-arrow svg path {
  stroke: #F4F6FA !important;
}

/* Other light-only marketing cards also need a paired dark foreground. */
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage :is(
 .lts-homepage__benefit, .lts-homepage__learnmore-card, .lts-homepage__mid-cta-inner
) {
  background: var(--lts-dark-raised) !important;
  border-color: var(--lts-dark-line) !important;
  color: var(--lts-on-dark-surface) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage :is(
 .lts-homepage__benefit, .lts-homepage__learnmore-card, .lts-homepage__mid-cta-inner
) :is(h2,h3) {
  color: var(--lts-on-dark-surface) !important;
}

/* Yellow buttons across the shared product use navy ink even when parent
 * heading/section rules force white. Explicit normal/hover/focus/active states
 * prevent a future beige-hover / white-text pairing. */
html[data-lts-theme="dark"] :is(
 .lts-homepage__button--primary, .lts-homepage__button--primary:visited,
 .lts-homepage__button--primary:hover, .lts-homepage__button--primary:focus-visible,
 .lts-homepage__button--primary:active,
 .lts-our-story__cta, .lts-our-story__cta:hover, .lts-our-story__cta:focus-visible,
 .lts-nav__join, .lts-nav__join:hover, .lts-nav__join:focus-visible,
 .lts-membership-account__button--primary, .lts-membership-account__button--primary:hover,
 .lts-checkout__button--primary, .lts-checkout__button--primary:hover
) {
  color: var(--lts-on-sun) !important;
}
html[data-lts-theme="dark"] .lts-homepage .showcase :is(
 .start-btn, .start-btn:hover, .start-btn:focus-visible, .start-btn:active
) {
  background-color: var(--lts-sun) !important;
  color: var(--lts-on-sun) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active .lts-homepage .lts-homepage__hero-actions .lts-homepage__button--primary:is(:hover,:focus-visible,:active) {
  color: var(--lts-on-sun) !important;
}

/* Core 0.15.237 — blue actions and text-only links must NOT inherit the
 * Sun CTA text colour. In particular, the older Dark-mode rule painted
 * the blue Profile button navy, and the Pricing manage button is blue. */
html[data-lts-theme="dark"] .lts-ps:not(.lts-ps--settings-v2) .lts-ps__button--primary,
html[data-lts-theme="dark"] .lts-ps:not(.lts-ps--settings-v2) .lts-ps__button--primary:hover,
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__member-box .lts-pricing__button--primary,
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__member-box .lts-pricing__button--primary:hover {
  color: #FFFFFF !important;
}
html[data-lts-theme="dark"] .lts-our-story__stat-button,
html[data-lts-theme="dark"] .lts-our-story__stat-button:hover,
html[data-lts-theme="dark"] .lts-our-story__stat-button:focus-visible {
  color: var(--lts-dark-link) !important;
}
/* Settings-v2 deliberately uses neutral filled controls, not blue fills. */
html[data-lts-theme="dark"] .lts-ps--settings-v2 :is(
 .lts-ps__button, .lts-ps__button--primary, .lts-ps__button--outline,
 .lts-ps__button--sun
),
html[data-lts-theme="dark"] .lts-ps--settings-v2 :is(
 .lts-ps__button, .lts-ps__button--primary, .lts-ps__button--outline,
 .lts-ps__button--sun
):hover {
  background: var(--lts-dark-raised) !important;
  color: var(--lts-on-dark-surface) !important;
  border-color: var(--lts-dark-line) !important;
}


/* 0.15.253 — keep redesigned pricing benefits cards readable in Night mode. */
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__benefit-item {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(181,191,245,.24) !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__coming-item {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(181,191,245,.34) !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__benefit-group-mark {
  background: rgba(216,241,196,.14) !important;
  border-color: rgba(216,241,196,.30) !important;
}
html[data-lts-theme="dark"] body.lts-pricing-page .lts-pricing__coming-inline-mark {
  background: rgba(255,194,41,.12) !important;
  border-color: rgba(255,194,41,.22) !important;
  color: #FFF0C0 !important;
}


/* Core 0.15.444 — Night Mode public Home header/hero color continuity.
 * Fix only the light theme-wrapper strip above Home and match the canonical
 * header background to the existing dark hero. No box dimensions, positioning,
 * navigation spacing, menu interactions or Light Mode styles are changed. */
html[data-lts-theme="dark"] body.lts-homepage-v1-active.lts-core-navigation-v1,
html[data-lts-theme="dark"] body.lts-homepage-v1-active.lts-core-navigation-v1 :is(
  .site-content, .site-main, .content-container, .content-area,
  #primary, #main, #inner-wrap, .entry, .entry-content-wrap,
  .entry-content, .wp-block-post-content, .wp-site-blocks > main
) {
  background-color: var(--lts-dark-canvas) !important;
}
html[data-lts-theme="dark"] body.lts-homepage-v1-active.lts-core-navigation-v1 .lts-site-header {
  background: var(--lts-dark-canvas) !important;
  border-bottom-color: #273648 !important;
}

/* Core 0.15.451 — consistent high-contrast text in dark confirmation dialogs.
 * The transcript Leave / Keep going dialog uses a Story-local palette, while
 * its card and actions can be rendered outside that local scope. In Night Mode
 * its surface was dark but its heading and buttons remained dark too.
 * Restrict corrections to existing confirmation-dialog families; do not touch
 * sizing, spacing, movement, navigation, dialog actions, or Light Mode. */
html[data-lts-theme="dark"] :is(
  .lts-story-v2__practice-leave,
  .lts-story-v2__practice-leave-card,
  .lts-story-v2__story-study-exit-dialog,
  .lts-speaking-leave-dialog__panel,
  .lts-speaking-delete-dialog__panel
) {
  color: #F4F6FA !important;
  background-color: #203044 !important;
  border-color: #35465C !important;
}
html[data-lts-theme="dark"] :is(
  .lts-story-v2__practice-leave-card,
  .lts-story-v2__story-study-exit-dialog,
  .lts-speaking-leave-dialog__panel,
  .lts-speaking-delete-dialog__panel
) :is(h2, h3) {
  color: #F4F6FA !important;
}
html[data-lts-theme="dark"] :is(
  .lts-story-v2__practice-leave-card,
  .lts-story-v2__story-study-exit-dialog,
  .lts-speaking-leave-dialog__panel,
  .lts-speaking-delete-dialog__panel
) p {
  color: #C7CFDA !important;
}
/* Match readable foreground and background in every state, without yellow. */
html[data-lts-theme="dark"] .lts-story-v2__practice-leave-actions
.lts-story-v2__practice-leave-confirm:is(:hover, :focus-visible, :active),
html[data-lts-theme="dark"] .lts-story-v2__practice-leave-actions
.lts-story-v2__practice-leave-confirm {
  color: #F4F6FA !important;
  background: #293A50 !important;
  border-color: #7987D2 !important;
}
html[data-lts-theme="dark"] .lts-story-v2__practice-leave-actions
.lts-story-v2__practice-leave-keep:is(:hover, :focus-visible, :active),
html[data-lts-theme="dark"] .lts-story-v2__practice-leave-actions
.lts-story-v2__practice-leave-keep {
  color: #FFFFFF !important;
  background: #4352A6 !important;
  border-color: #7987D2 !important;
}

/* Core 0.15.451 — Night Mode white control surfaces keep dark readable text.
 * Some flashcard controls intentionally remain light (white) in Night Mode.
 * Because global dark tokens switch --lts-ink to a light value, those white
 * controls could inherit pale text/icons and become unreadable. Restore the
 * canonical Ink foreground only on the intentionally light control family.
 * Do not change sizing, spacing, order, animations, navigation, or Light Mode. */
html[data-lts-theme="dark"] .lts-story-v2--vocabulary-screen-learn :is(
  .lts-story-v2__story-study-tool,
  .lts-story-v2__story-study-tool:hover,
  .lts-story-v2__story-study-tool:focus,
  .lts-story-v2__story-study-tool:focus-visible,
  .lts-story-v2__story-study-tool:active,
  .lts-story-v2__story-study-tool[aria-expanded="true"],
  .lts-story-v2__story-study-judgement-button,
  .lts-story-v2__story-study-judgement-button:hover,
  .lts-story-v2__story-study-judgement-button:focus,
  .lts-story-v2__story-study-judgement-button:focus-visible,
  .lts-story-v2__story-study-judgement-button:active,
  .lts-story-v2__story-study-shuffle,
  .lts-story-v2__story-study-shuffle:hover,
  .lts-story-v2__story-study-shuffle:focus,
  .lts-story-v2__story-study-shuffle:focus-visible,
  .lts-story-v2__story-study-shuffle:active
) {
  background: #FFFFFF !important;
  color: #20344D !important;
  border-color: rgba(67, 82, 166, 0.52) !important;
  opacity: 1 !important;
}
html[data-lts-theme="dark"] .lts-story-v2--vocabulary-screen-learn :is(
  .lts-story-v2__story-study-tool,
  .lts-story-v2__story-study-judgement-button,
  .lts-story-v2__story-study-shuffle
) :is(span, strong, small) {
  color: #20344D !important;
  opacity: 1 !important;
}
html[data-lts-theme="dark"] .lts-story-v2--vocabulary-screen-learn .lts-story-v2__story-study-tool .lts-story-v2__icon,
html[data-lts-theme="dark"] .lts-story-v2--vocabulary-screen-learn .lts-story-v2__story-study-shuffle .lts-story-v2__icon {
  color: #4352A6 !important;
  opacity: 1 !important;
}
html[data-lts-theme="dark"] .lts-story-v2--vocabulary-screen-learn .lts-story-v2__story-study-judgement-button--known .lts-story-v2__icon {
  color: #2A9A62 !important;
  opacity: 1 !important;
}
html[data-lts-theme="dark"] .lts-story-v2--vocabulary-screen-learn .lts-story-v2__story-study-judgement-button--later .lts-story-v2__icon {
  color: #D96D2F !important;
  opacity: 1 !important;
}


/* Core 0.15.455 — Settings headings and active tab must stay legible in Night Mode.
 * Prior settings CSS paints its active tab with --lts-blue (dark ink against
 * dark paper), while the Free Membership aside paints its heading with
 * --lts-paper (which becomes navy in dark mode). Canonical site heading rules
 * may also paint the settings headings navy. Pair bright foregrounds with the
 * existing dark surfaces. No geometry, Day Mode or settings logic changes. */
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-head h1,
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-profile-copy h2,
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-section:not(.lts-ps__settings-danger) :is(h2, h3) {
  color: #F4F6FA !important;
}
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-tabs button[aria-selected="true"],
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-tabs button[aria-selected="true"]:is(:hover, :focus, :focus-visible, :active) {
  color: #F4F6FA !important;
  border-color: #7987D2 !important;
  box-shadow: inset 0 0 0 1px #7987D2 !important;
}
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-tabs button:not([aria-selected="true"]),
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-tabs button:not([aria-selected="true"]):is(:hover, :focus-visible, :active) {
  color: #F4F6FA !important;
}
/* The Free-only membership card keeps its original blue surface and yellow
 * call to action. Do not allow globally neutral Settings controls to override
 * the intentionally yellow membership action in the dark theme. */
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-section--membership-cta {
  background-color: #4352A6 !important;
  border-color: #4352A6 !important;
}
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-section--membership-cta :is(h2, h3) {
  color: #FFFFFF !important;
}
html[data-lts-theme="dark"] .lts-ps--settings-v2 .lts-ps__settings-sub-actions .lts-ps__membership-cta-button:is(:link, :visited, :hover, :focus, :focus-visible, :active) {
  background: #FFC229 !important;
  border-color: #FFC229 !important;
  color: #20344D !important;
}
