/* Liga Sportivilor — Court Theme Engine v2 */
html[data-lsn-theme="us-open"] {
  background: #071a36;
  color-scheme: dark;
}
html[data-lsn-theme="wimbledon"] {
  background: #103c2d;
  color-scheme: dark;
}
html[data-lsn-theme="us-open"] body { background: #071a36; }
html[data-lsn-theme="wimbledon"] body { background: #103c2d; }
html[data-lsn-theme="us-open"] .site-skip { color: #071a36; background: #f4e449; }
html[data-lsn-theme="wimbledon"] .site-skip { color: #103c2d; background: #f1e4bd; }

.lsn[data-theme="us-open"] {
  --ink: #fffdf7;
  --muted: #b9c9df;
  --deep: #071a36;
  --panel: #0d2c53;
  --line: rgba(255, 255, 255, .17);
  --lime: #f4e449;
  --orange: #ff605f;
  --blue: #4bbcff;
  --violet: #9a72ff;
  --court-secondary: #1886c9;
  --court-soft: rgba(75, 188, 255, .13);
  --court-accent-soft: rgba(244, 228, 73, .12);
  --theme-control-bg: rgba(5, 22, 48, .92);
  --theme-control-border: rgba(120, 202, 255, .32);
  --theme-control-active: #f4e449;
  --theme-control-active-ink: #09192d;
  --accent: #f4e449;
  --accent-ink: #071a36;
  --accent-soft: rgba(244, 228, 73, .12);
  --accent-border: rgba(244, 228, 73, .42);
  --accent-glow: rgba(244, 228, 73, .22);
  --secondary: #4bbcff;
  --secondary-ink: #071a36;
  --secondary-soft: rgba(75, 188, 255, .12);
  --secondary-border: rgba(75, 188, 255, .38);
  --signal: #ff6b5f;
  --signal-soft: rgba(255, 107, 95, .10);
  --badge-bg: #4bbcff;
  --badge-ink: #071a36;
  --text-strong: #fffdf7;
  --text-body: #d8e2ef;
  --text-muted: #a9bdd4;
  --text-faint: #7f98b5;
  --surface-0: #071a36;
  --surface-1: #0b2447;
  --surface-2: #0d2c53;
  --surface-glass: rgba(8, 31, 65, .78);
  --field-bg: #081f3f;
  --modal-bg: #06162e;
  --modal-stage: #020a18;
  --modal-backdrop: rgba(2, 10, 24, .86);
  background:
    radial-gradient(circle at 86% 3%, rgba(75, 188, 255, .20), transparent 29rem),
    radial-gradient(circle at 5% 34%, rgba(244, 228, 73, .09), transparent 28rem),
    linear-gradient(180deg, rgba(255, 255, 255, .035), transparent 13rem),
    #071a36;
}

.lsn[data-theme="wimbledon"] {
  --ink: #fffaf0;
  --muted: #c9d7cc;
  --deep: #103c2d;
  --panel: #174b39;
  --line: rgba(255, 248, 228, .18);
  --lime: #f1e4bd;
  --orange: #d9f36b;
  --blue: #a985c2;
  --violet: #7c3f98;
  --court-secondary: #6f2c8f;
  --court-soft: rgba(111, 44, 143, .13);
  --court-accent-soft: rgba(241, 228, 189, .10);
  --theme-control-bg: rgba(11, 51, 37, .94);
  --theme-control-border: rgba(241, 228, 189, .31);
  --theme-control-active: #f1e4bd;
  --theme-control-active-ink: #12382b;
  --accent: #f1e4bd;
  --accent-ink: #12382b;
  --accent-soft: rgba(241, 228, 189, .11);
  --accent-border: rgba(241, 228, 189, .40);
  --accent-glow: rgba(241, 228, 189, .18);
  --secondary: #7c3f98;
  --secondary-ink: #fffaf0;
  --secondary-soft: rgba(124, 63, 152, .14);
  --secondary-border: rgba(169, 133, 194, .42);
  --signal: #d9f36b;
  --signal-soft: rgba(217, 243, 107, .09);
  --badge-bg: #7c3f98;
  --badge-ink: #fffaf0;
  --text-strong: #fffaf0;
  --text-body: #e0e6de;
  --text-muted: #bdcec2;
  --text-faint: #8da799;
  --surface-0: #103c2d;
  --surface-1: #123f30;
  --surface-2: #174b39;
  --surface-glass: rgba(13, 52, 39, .80);
  --field-bg: #0d3427;
  --modal-bg: #0b2d22;
  --modal-stage: #061c15;
  --modal-backdrop: rgba(4, 20, 15, .88);
  background:
    radial-gradient(circle at 88% 1%, rgba(124, 63, 152, .18), transparent 30rem),
    radial-gradient(circle at 4% 38%, rgba(241, 228, 189, .08), transparent 26rem),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .017) 0 72px, rgba(0, 0, 0, .017) 72px 144px),
    #103c2d;
}

.lsn[data-theme]::before,
.lsn[data-theme]::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.lsn[data-theme]::before {
  inset: clamp(90px, 10vw, 150px) max(-160px, -12vw) auto auto;
  width: min(72vw, 880px);
  aspect-ratio: 2 / 1;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 2px;
  opacity: .68;
  transform: rotate(-7deg);
}
.lsn[data-theme]::after {
  top: clamp(110px, 15vw, 220px);
  right: clamp(-180px, -8vw, -70px);
  width: min(58vw, 690px);
  aspect-ratio: 2 / 1;
  border: 1px solid rgba(255, 255, 255, .045);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025);
  transform: rotate(-7deg) scale(.62);
}
.lsn[data-theme="wimbledon"]::before,
.lsn[data-theme="wimbledon"]::after {
  border-color: rgba(255, 248, 228, .08);
}

.lsn .lsn__chapters {
  top: calc(max(4px, env(safe-area-inset-top)) + 72px);
}

.lsn-themebar {
  position: sticky;
  top: max(4px, env(safe-area-inset-top));
  z-index: 80;
  display: flex;
  width: min(1180px, calc(100% - 24px));
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 12px auto 0;
  padding: 8px 9px 8px 15px;
  color: var(--ink);
  border: 1px solid var(--theme-control-border);
  border-radius: 18px;
  background: var(--theme-control-bg);
  box-shadow: 0 14px 44px rgba(0, 0, 0, .24);
  backdrop-filter: blur(18px) saturate(1.18);
  -webkit-backdrop-filter: blur(18px) saturate(1.18);
}
.lsn-themebar__title {
  display: grid;
  min-width: 0;
  gap: 1px;
}
.lsn-themebar__title strong {
  color: var(--ink);
  font-size: .76rem;
  line-height: 1.2;
}
.lsn-themebar__title span {
  overflow: hidden;
  color: var(--muted);
  font-size: .66rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lsn-themebar__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  min-width: min(100%, 320px);
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 13px;
  background: rgba(0, 0, 0, .14);
}
.lsn-themebar__option {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  color: var(--muted);
  border: 0;
  border-radius: 10px;
  outline: 0;
  background: transparent;
  font: 800 .69rem/1.1 Ubuntu, Inter, system-ui, sans-serif;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.lsn-themebar__option:hover {
  color: var(--ink);
  background: rgba(255, 255, 255, .06);
}
.lsn-themebar__option[aria-pressed="true"] {
  color: var(--theme-control-active-ink);
  background: var(--theme-control-active);
  box-shadow: 0 7px 18px rgba(0, 0, 0, .18);
}
.lsn-themebar__option:focus-visible {
  box-shadow: 0 0 0 2px var(--deep), 0 0 0 4px var(--blue);
}
.lsn-themebar__swatch {
  position: relative;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .46);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
}
.lsn-themebar__swatch::before,
.lsn-themebar__swatch::after {
  content: "";
  position: absolute;
  inset: 0 50% 0 0;
}
.lsn-themebar__swatch::after { inset: 0 0 0 50%; }
.lsn-themebar__swatch--open::before { background: #1886c9; }
.lsn-themebar__swatch--open::after { background: #f4e449; }
.lsn-themebar__swatch--wimbledon::before { background: #13533b; }
.lsn-themebar__swatch--wimbledon::after { background: #6f2c8f; }

.lsn[data-theme="us-open"] .lsn__readline span {
  background: linear-gradient(90deg, #4bbcff, #f4e449 55%, #ff605f);
}
.lsn[data-theme="wimbledon"] .lsn__readline span {
  background: linear-gradient(90deg, #f1e4bd, #a985c2 55%, #d9f36b);
}
.lsn[data-theme="wimbledon"] h1 em,
.lsn[data-theme="wimbledon"] .lsn__kicker,
.lsn[data-theme="wimbledon"] .lsn__eyebrow {
  color: #f1e4bd;
}
.lsn[data-theme="wimbledon"] .lsn__eyebrow {
  border-color: rgba(241, 228, 189, .30);
  background: rgba(241, 228, 189, .06);
}
.lsn[data-theme="wimbledon"] .lsn__eyebrow-dot {
  background: #a985c2;
  box-shadow: 0 0 0 5px rgba(169, 133, 194, .14);
}
.lsn[data-theme="wimbledon"] .lsn__portrait-media,
.lsn[data-theme="wimbledon"] .lsn__portrait-fallback,
.lsn[data-theme="wimbledon"] .lsn__chapters button.is-current,
.lsn[data-theme="wimbledon"] .lsn__filters button.is-active,
.lsn[data-theme="wimbledon"] .lsn__hero-actions button:not(.lsn__button--quiet),
.lsn[data-theme="wimbledon"] .lsn__video-play {
  color: #14392d;
  background: #f1e4bd;
  border-color: #f1e4bd;
}
.lsn[data-theme="wimbledon"] .lsn__button--cinema {
  color: #fffaf0 !important;
  border-color: #7c3f98 !important;
  background: #7c3f98 !important;
  box-shadow: 0 12px 35px rgba(124, 63, 152, .22);
}
.lsn[data-theme="wimbledon"] .lsn__button--cinema > span { color: #f1e4bd; }
.lsn[data-theme="wimbledon"] .lsn__chapters {
  background: rgba(13, 52, 39, .92);
  border-color: rgba(241, 228, 189, .18);
}
.lsn[data-theme="wimbledon"] .lsn__chapters button.is-current span { color: #14392d; }
.lsn[data-theme="wimbledon"] .lsn__portrait:hover,
.lsn[data-theme="wimbledon"] .lsn__critical-card:hover,
.lsn[data-theme="wimbledon"] .lsn__era-grid article:hover {
  border-color: rgba(169, 133, 194, .46);
}
.lsn[data-theme="wimbledon"] .lsn__scoreboard li:hover {
  background: rgba(241, 228, 189, .055);
}
.lsn[data-theme="wimbledon"] .lsn__tag--blue,
.lsn[data-theme="wimbledon"] .lsn__era-grid span {
  color: #c9a9de;
}
.lsn[data-theme="wimbledon"] .lsn__atlas,
.lsn[data-theme="wimbledon"] .lsn__interview-index {
  background:
    radial-gradient(circle at 88% 12%, rgba(124, 63, 152, .12), transparent 32%),
    linear-gradient(145deg, rgba(255, 248, 228, .045), rgba(255, 255, 255, .012));
}
.lsn[data-theme="wimbledon"] .lsn__atlas-map circle {
  stroke: #f1e4bd;
  fill: #103c2d;
}
.lsn[data-theme="wimbledon"] .lsn__atlas-route--echo { stroke: #a985c2; }
.lsn[data-theme="wimbledon"] .lsn__graph-canvas {
  background: radial-gradient(circle at 50% 50%, rgba(169, 133, 194, .14), transparent 22%), #103c2d;
}
.lsn[data-theme="wimbledon"] .lsn__graph-lines line { stroke: rgba(241, 228, 189, .42); }

.lsn[data-theme="us-open"] .lsn__chapters {
  background: rgba(5, 22, 48, .92);
  border-color: rgba(75, 188, 255, .18);
}
.lsn[data-theme="us-open"] .lsn__button--cinema {
  color: #071a36 !important;
  border-color: #f4e449 !important;
  background: #f4e449 !important;
  box-shadow: 0 12px 35px rgba(244, 228, 73, .18);
}
.lsn[data-theme="us-open"] .lsn__button--cinema > span { color: #16608f; }
.lsn[data-theme="us-open"] .lsn__portrait-media,
.lsn[data-theme="us-open"] .lsn__portrait-fallback {
  color: #071a36;
  background: linear-gradient(145deg, #f4e449, #ffef7a);
}
.lsn[data-theme="us-open"] .lsn__atlas {
  background:
    radial-gradient(circle at 88% 12%, rgba(75, 188, 255, .14), transparent 32%),
    linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012));
}

/* Mobile-first corrections shared by both visual modes. */
@media (max-width: 860px) {
  .lsn-themebar {
    width: calc(100% - 20px);
  }
  .lsn .lsn__chapters {
    top: calc(max(4px, env(safe-area-inset-top)) + 70px);
  }
  .lsn .lsn__filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 2px 1px 8px;
    scroll-padding-inline: 2px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .lsn .lsn__filters::-webkit-scrollbar,
  .lsn .lsn__chapters::-webkit-scrollbar { display: none; }
  .lsn .lsn__filters button { flex: 0 0 auto; scroll-snap-align: start; }
  .lsn .lsn__hero-actions button,
  .lsn .lsn__journey-card,
  .lsn .lsn__event-tools button,
  .lsn .lsn__studio button { min-height: 46px; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: calc(max(4px, env(safe-area-inset-top)) + 132px); }
  body { overscroll-behavior-y: none; }
  .lsn-themebar {
    min-height: 54px;
    gap: 8px;
    margin-top: 7px;
    padding: 6px;
    border-radius: 15px;
  }
  .lsn-themebar__title {
    width: 44px;
    flex: 0 0 44px;
    padding-left: 4px;
  }
  .lsn-themebar__title strong { font-size: .64rem; }
  .lsn-themebar__title span { display: none; }
  .lsn-themebar__options {
    width: 100%;
    min-width: 0;
  }
  .lsn-themebar__option {
    min-height: 38px;
    gap: 6px;
    padding-inline: 7px;
    font-size: .64rem;
  }
  .lsn-themebar__swatch { width: 17px; height: 17px; }
  .lsn .lsn__chapters {
    top: calc(max(4px, env(safe-area-inset-top)) + 62px);
    margin-inline: -8px;
    border-radius: 13px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .lsn .lsn__chapters button {
    min-width: 112px;
    min-height: 46px;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  .lsn .lsn__shell {
    padding-top: 25px;
    padding-right: max(16px, env(safe-area-inset-right));
    padding-bottom: max(34px, env(safe-area-inset-bottom));
    padding-left: max(16px, env(safe-area-inset-left));
  }
  .lsn .lsn__hero { padding-bottom: 38px; }
  .lsn .lsn__hero-grid { margin-top: 30px; gap: 24px; }
  .lsn h1 {
    margin-bottom: 18px;
    font-size: clamp(2.28rem, 13vw, 3.5rem);
    line-height: .94;
    letter-spacing: -.055em;
  }
  .lsn .lsn__intro { font-size: .96rem; line-height: 1.58; }
  .lsn .lsn__hero-meta { margin-top: 18px; }
  .lsn .lsn__hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 24px;
  }
  .lsn .lsn__hero-actions button {
    width: 100%;
    min-height: 50px;
    padding-inline: 15px;
  }
  .lsn .lsn__journey { gap: 9px; }
  .lsn .lsn__journey-card { padding: 16px; }
  .lsn .lsn__portrait { grid-template-columns: 104px minmax(0, 1fr); }
  .lsn .lsn__scoreboard { border-radius: 16px; }
  .lsn .lsn__scoreboard li { min-height: 116px; }
  .lsn .lsn__thesis,
  .lsn .lsn__atlas,
  .lsn .lsn__interview-index,
  .lsn .lsn__studio-grid,
  .lsn .lsn__critical-lede,
  .lsn .lsn__critical-card,
  .lsn .lsn__microdoc,
  .lsn .lsn__case { border-radius: 16px; }
  .lsn .lsn__section-head { scroll-margin-top: 0; }
  .lsn .lsn__event,
  .lsn .lsn__studio,
  .lsn .lsn__case,
  .lsn [data-lsn-section] { scroll-margin-top: 0; }
  .lsn .lsn__event article { padding: 19px 16px; }
  .lsn .lsn__event-tools {
    display: grid;
    grid-template-columns: 1fr;
  }
  .lsn .lsn__event-tools button { width: 100%; border-radius: 12px; }
  .lsn .lsn__critical-card { padding: 22px 17px; }
  .lsn .lsn__critical-card h3 { font-size: 1.45rem; }
  .lsn .lsn__critical-card p { font-size: .9rem; line-height: 1.65; }
  .lsn .lsn__media-item img { min-height: 230px; max-height: 72vh; object-fit: cover; }
  .lsn .lsn__video-card { border-radius: 16px; }
  .lsn .lsn__video-play { width: 60px; }
  .lsn .lsn__footer { padding-bottom: env(safe-area-inset-bottom); }
  .lsn-doc { min-height: 100dvh; }
  .lsn-doc__controls { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
  .lsn-toast { bottom: max(14px, env(safe-area-inset-bottom)); }
}

@media (max-width: 390px) {
  .lsn-themebar__option { font-size: .59rem; }
  .lsn-themebar__option span:last-child { max-width: 88px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lsn-themebar__option[data-theme-choice="wimbledon"] span:last-child { font-size: 0; }
  .lsn-themebar__option[data-theme-choice="wimbledon"] span:last-child::after { content: "Wimbledon"; font-size: .59rem; }
  .lsn h1 { font-size: clamp(2.1rem, 12.5vw, 3rem); }
  .lsn .lsn__portrait { grid-template-columns: 92px minmax(0, 1fr); }
  .lsn .lsn__bio-facts { padding-inline: 9px; }
}

@media (hover: none), (pointer: coarse) {
  .lsn-themebar__option:active { transform: scale(.985); }
  .lsn .lsn__scoreboard li:hover,
  .lsn .lsn__era-grid article:hover,
  .lsn .lsn__media-item:hover img,
  .lsn .lsn__hero-actions button:hover { transform: none; }
}

@media (prefers-reduced-transparency: reduce) {
  .lsn-themebar,
  .lsn .lsn__chapters { backdrop-filter: none; -webkit-backdrop-filter: none; }
}

@media print {
  .lsn-themebar,
  .lsn__readline,
  .lsn__chapters,
  .lsn__hero-actions,
  .lsn__filters,
  .lsn__event-tools,
  .lsn__studio-actions { display: none !important; }
  .lsn,
  html[data-lsn-theme] body { color: #111; background: #fff !important; }
  .lsn__shell { width: 100%; max-width: none; padding: 0; }
  .lsn * { box-shadow: none !important; text-shadow: none !important; }
}


/* --------------------------------------------------------------------------
   Synergy layer v2 — one information architecture, two complete court moods.
   It replaces legacy neon remnants with semantic, theme-aware design tokens.
   -------------------------------------------------------------------------- */
.lsn[data-theme] {
  --lime: var(--accent);
  --blue: var(--secondary);
  --orange: var(--signal);
  --ink: var(--text-strong);
  --muted: var(--text-muted);
  --panel: var(--surface-2);
}

/* Text hierarchy */
.lsn[data-theme] .lsn__intro,
.lsn[data-theme] .lsn__critical-lede,
.lsn[data-theme] .lsn__case-copy > p:last-child,
.lsn[data-theme] .lsn-evidence [data-evidence-fact] { color: var(--text-body); }
.lsn[data-theme] .lsn__hero-meta span,
.lsn[data-theme] .lsn__journey-note,
.lsn[data-theme] .lsn__studio-note,
.lsn[data-theme] .lsn__footer,
.lsn[data-theme] .lsn__video-copy small,
.lsn[data-theme] .lsn__media-item figcaption small { color: var(--text-faint); }
.lsn[data-theme] .lsn__bio-facts dd,
.lsn[data-theme] .lsn__critical-card p,
.lsn[data-theme] .lsn__video-copy p,
.lsn[data-theme] .lsn__media-item figcaption span,
.lsn[data-theme] .lsn__atlas-head > p:last-child,
.lsn[data-theme] .lsn__era-grid p,
.lsn[data-theme] .lsn__interview-index li span,
.lsn[data-theme] .lsn__graph-detail { color: var(--text-muted); }

/* Theme switcher */
.lsn[data-theme] .lsn-themebar__option[aria-pressed="false"] {
  color: var(--text-body);
  background: transparent;
  opacity: .82;
}
.lsn[data-theme] .lsn-themebar__option[aria-pressed="false"]:hover {
  color: var(--text-strong);
  background: var(--secondary-soft);
  opacity: 1;
}
.lsn[data-theme] .lsn-themebar__option[aria-pressed="true"] {
  opacity: 1;
  box-shadow: 0 7px 20px var(--accent-glow);
}
.lsn[data-theme] .lsn-themebar__options {
  border-color: var(--line);
  background: rgba(0, 0, 0, .12);
}

/* Hero: clear primary / secondary / tertiary hierarchy */
.lsn[data-theme] .lsn__button--cinema {
  color: var(--accent-ink) !important;
  border-color: var(--accent) !important;
  background: var(--accent) !important;
  box-shadow: 0 12px 35px var(--accent-glow) !important;
}
.lsn[data-theme] .lsn__button--cinema > span { color: currentColor !important; opacity: .72; }
.lsn[data-theme] .lsn__hero-actions [data-lsn-jump="timeline"] {
  color: var(--secondary-ink);
  border-color: var(--secondary);
  background: var(--secondary);
  box-shadow: 0 10px 28px var(--secondary-soft);
}
.lsn[data-theme] .lsn__hero-actions .lsn__button--quiet {
  color: var(--text-body);
  border-color: var(--line);
  background: rgba(255, 255, 255, .02);
  box-shadow: none;
}
.lsn[data-theme] .lsn__hero-actions .lsn__button--quiet:hover {
  color: var(--text-strong);
  border-color: var(--secondary-border);
  background: var(--secondary-soft);
}
.lsn[data-theme] .lsn__anniversary {
  color: var(--badge-ink);
  background: var(--badge-bg);
  box-shadow: 0 7px 20px var(--secondary-soft);
}

/* Navigation and filters */
.lsn[data-theme] .lsn__chapters button:hover {
  color: var(--accent);
  background: var(--accent-soft);
}
.lsn[data-theme] .lsn__chapters button.is-current,
.lsn[data-theme] .lsn__filters button.is-active {
  color: var(--accent-ink);
  border-color: var(--accent);
  background: var(--accent);
}
.lsn[data-theme] .lsn__chapters button.is-current span { color: var(--accent-ink); }
.lsn[data-theme] .lsn__filters button { color: var(--text-body); }
.lsn[data-theme] .lsn__filters button:hover {
  color: var(--text-strong);
  border-color: var(--accent-border);
  background: var(--accent-soft);
}

/* Reusable surfaces */
.lsn[data-theme] .lsn__portrait,
.lsn[data-theme] .lsn__scoreboard,
.lsn[data-theme] .lsn__event article,
.lsn[data-theme] .lsn__critical-card,
.lsn[data-theme] .lsn__media-item,
.lsn[data-theme] .lsn__video-card {
  background-color: var(--surface-glass);
}
.lsn[data-theme] .lsn__scoreboard li:hover {
  background: var(--accent-soft);
}
.lsn[data-theme] .lsn__journey-card:hover,
.lsn[data-theme] .lsn__journey-card:focus-visible,
.lsn[data-theme] .lsn__journey-card.is-selected {
  border-color: var(--accent-border);
  background: linear-gradient(135deg, var(--accent-soft), rgba(255,255,255,.025));
}
.lsn[data-theme] .lsn__portrait:hover,
.lsn[data-theme] .lsn__critical-card:hover,
.lsn[data-theme] .lsn__era-grid article:hover {
  border-color: var(--secondary-border);
}

/* Argument / evidence components */
.lsn[data-theme] .lsn__thesis {
  border-color: var(--secondary-border);
  background: linear-gradient(115deg, var(--secondary-soft), transparent 46%), rgba(255,255,255,.018);
}
.lsn[data-theme] .lsn__thesis::before {
  background: linear-gradient(90deg, transparent, var(--accent-soft), transparent);
}
.lsn[data-theme] .lsn__thesis-copy > span { color: var(--secondary); }
.lsn[data-theme] .lsn__case {
  border-color: var(--accent-border);
  background: linear-gradient(135deg, var(--accent-soft), transparent 46%), rgba(255,255,255,.018);
}
.lsn[data-theme] .lsn__critical-card::before,
.lsn[data-theme] .lsn__scoreboard li::after { background: linear-gradient(90deg, var(--accent), transparent); }

/* Documentary modules */
.lsn[data-theme] .lsn__event-tools button:hover,
.lsn[data-theme] .lsn__studio button:hover,
.lsn[data-theme] .lsn-doc button:hover,
.lsn[data-theme] .lsn-evidence button:hover {
  color: var(--accent-ink);
  border-color: var(--accent);
  background: var(--accent);
}
.lsn[data-theme] .lsn__event-tools button:focus-visible,
.lsn[data-theme] .lsn__studio button:focus-visible,
.lsn[data-theme] .lsn-doc button:focus-visible,
.lsn[data-theme] .lsn-evidence button:focus-visible,
.lsn[data-theme] .lsn__studio select:focus-visible {
  box-shadow: 0 0 0 3px var(--deep), 0 0 0 5px var(--accent);
}
.lsn[data-theme] .lsn__event.is-deep-linked article {
  border-color: var(--accent-border);
  box-shadow: 0 0 0 1px var(--accent-soft), 0 24px 70px rgba(0,0,0,.22);
}
.lsn[data-theme] .lsn__atlas {
  border-color: var(--line);
  background: radial-gradient(circle at 88% 12%, var(--secondary-soft), transparent 32%), linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
}
.lsn[data-theme] .lsn__atlas-route--echo { stroke: var(--secondary); }
.lsn[data-theme] .lsn__atlas-map circle { fill: var(--surface-0); stroke: var(--accent); }
.lsn[data-theme] .lsn__atlas-map b,
.lsn[data-theme] .lsn__era-grid a,
.lsn[data-theme] .lsn__interview-index li b { color: var(--accent); }
.lsn[data-theme] .lsn__atlas-map li,
.lsn[data-theme] .lsn__interview-index li { background: color-mix(in srgb, var(--surface-0) 82%, transparent); }
.lsn[data-theme] .lsn__era-grid article::after { border-color: var(--accent-soft); }
.lsn[data-theme] .lsn__era-grid span { color: var(--secondary); }
.lsn[data-theme] .lsn__interview-index {
  border-color: var(--secondary-border);
  background: linear-gradient(135deg, var(--secondary-soft), rgba(255,255,255,.016));
}
.lsn[data-theme] .lsn__studio-grid {
  border-color: var(--accent-border);
  background: linear-gradient(140deg, var(--accent-soft), rgba(255,255,255,.014) 44%);
}
.lsn[data-theme] .lsn__studio select { color: var(--text-strong); background: var(--field-bg); }
.lsn[data-theme] .lsn__studio-actions button {
  color: var(--accent-ink);
  border-color: var(--accent);
  background: var(--accent);
}
.lsn[data-theme] .lsn__studio-actions .lsn__studio-secondary {
  color: var(--text-body);
  border-color: var(--line);
  background: rgba(255,255,255,.025);
}

/* Full-screen documentary and evidence sheet */
.lsn[data-theme] .lsn-doc,
.lsn[data-theme] .lsn-evidence { color: var(--text-strong); background: var(--modal-bg); }
.lsn[data-theme] .lsn-doc::backdrop,
.lsn[data-theme] .lsn-evidence::backdrop { background: var(--modal-backdrop); }
.lsn[data-theme] .lsn-doc__topbar,
.lsn[data-theme] .lsn-doc__controls { background: color-mix(in srgb, var(--modal-bg) 92%, transparent); }
.lsn[data-theme] .lsn-doc__stage { background: var(--modal-stage); }
.lsn[data-theme] .lsn-doc__topbar span,
.lsn[data-theme] .lsn-doc__copy > p[data-doc-kicker],
.lsn[data-theme] .lsn-evidence header > span,
.lsn[data-theme] .lsn-evidence__why > b,
.lsn[data-theme] .lsn-evidence__sources > b { color: var(--accent); }
.lsn[data-theme] .lsn-evidence__year { color: var(--secondary); }
.lsn[data-theme] .lsn-doc__top-actions [aria-pressed="true"],
.lsn[data-theme] .lsn-evidence__share,
.lsn[data-theme] .lsn-evidence__actions button {
  color: var(--accent-ink) !important;
  border-color: var(--accent) !important;
  background: var(--accent) !important;
}
.lsn[data-theme] .lsn-toast {
  color: var(--accent-ink);
  background: var(--accent);
  box-shadow: 0 18px 50px rgba(0,0,0,.35), 0 0 0 1px var(--accent-border);
}

/* Legacy graph and micro-documentary */
.lsn[data-theme] .lsn__legacy-graph {
  border-color: var(--secondary-border);
  background: linear-gradient(145deg, var(--secondary-soft), rgba(255,255,255,.016));
}
.lsn[data-theme] .lsn__graph-canvas {
  background: radial-gradient(circle at 50% 50%, var(--accent-soft), transparent 22%), var(--surface-0);
}
.lsn[data-theme] .lsn__graph-lines line { stroke: var(--accent-border); }
.lsn[data-theme] .lsn__graph-node { background: color-mix(in srgb, var(--surface-2) 92%, transparent); }
.lsn[data-theme] .lsn__graph-node:hover,
.lsn[data-theme] .lsn__graph-node:focus-visible,
.lsn[data-theme] .lsn__graph-node.is-active,
.lsn[data-theme] .lsn__graph-node--center {
  color: var(--accent-ink);
  border-color: var(--accent);
  background: var(--accent);
}
.lsn[data-theme] .lsn__graph-detail { border-left-color: var(--accent); }
.lsn[data-theme] .lsn__graph-detail b { color: var(--accent); }
.lsn[data-theme] .lsn__microdoc {
  border-color: color-mix(in srgb, var(--signal) 34%, transparent);
  background: linear-gradient(135deg, var(--signal-soft), rgba(255,255,255,.016));
}
.lsn[data-theme] .lsn__microdoc-controls select,
.lsn[data-theme] .lsn__microdoc-controls button { background: var(--field-bg); }
.lsn[data-theme] .lsn__microdoc-controls button:not(.secondary) {
  color: var(--accent-ink);
  border-color: var(--accent);
  background: var(--accent);
}
.lsn[data-theme] .lsn-evidence__actions button.secondary,
.lsn[data-theme] .lsn__microdoc-controls button.secondary {
  color: var(--text-body) !important;
  border-color: var(--line) !important;
  background: transparent !important;
}

/* Links and focus states */
.lsn[data-theme] .lsn__sources a { color: var(--text-muted); text-decoration-color: var(--accent-border); }
.lsn[data-theme] .lsn__sources a:hover { color: var(--accent); }
.lsn[data-theme] .lsn__sources a:focus-visible {
  color: var(--accent-ink);
  outline-color: var(--accent);
  background: var(--accent);
}

@media (max-width: 600px) {
  .lsn-themebar__title strong[data-mobile-label] { font-size: 0; }
  .lsn-themebar__title strong[data-mobile-label]::after {
    content: attr(data-mobile-label);
    font-size: .64rem;
    line-height: 1.15;
  }
  .lsn[data-theme] .lsn__hero-actions [data-lsn-jump="timeline"] { box-shadow: none; }
}

@supports not (background: color-mix(in srgb, black 50%, transparent)) {
  .lsn[data-theme] .lsn__atlas-map li,
  .lsn[data-theme] .lsn__interview-index li,
  .lsn[data-theme] .lsn__graph-node { background: var(--surface-1); }
  .lsn[data-theme] .lsn-doc__topbar,
  .lsn[data-theme] .lsn-doc__controls { background: var(--modal-bg); }
  .lsn[data-theme] .lsn__microdoc { border-color: var(--line); }
}

/* Final color leak fixes: timeline, lead badges and modal controls. */
.lsn[data-theme] .lsn__spotlight {
  background: radial-gradient(circle, var(--accent-soft), transparent 66%);
}
.lsn[data-theme] .lsn__eyebrow {
  border-color: var(--accent-border);
  background: var(--accent-soft);
}
.lsn[data-theme] .lsn__eyebrow-dot {
  background: var(--accent);
  box-shadow: 0 0 0 5px var(--accent-soft);
}
.lsn[data-theme] .lsn__event--feature::before {
  background: var(--accent);
  box-shadow: 0 0 0 1px var(--accent), 0 0 24px var(--accent-glow);
}
.lsn[data-theme] .lsn__event--feature::after { border-color: var(--accent-border); }
.lsn[data-theme] .lsn__event article:hover {
  border-color: var(--accent-border);
  background: linear-gradient(135deg, var(--accent-soft), rgba(255,255,255,.02));
}
.lsn[data-theme] .lsn__fact { color: var(--text-body); }
.lsn[data-theme] .lsn__critical-card--accent {
  border-color: var(--accent-border);
  background: linear-gradient(135deg, var(--accent-soft), transparent 54%), rgba(255,255,255,.02);
}
.lsn[data-theme] .lsn-doc__scene-cta,
.lsn[data-theme] .lsn-doc__controls .lsn-doc__play {
  color: var(--accent-ink) !important;
  border-color: var(--accent) !important;
  background: var(--accent) !important;
}
.lsn[data-theme] .lsn-doc__timeline span {
  background: linear-gradient(90deg, var(--accent), var(--secondary));
}
.lsn[data-theme] .lsn-doc__veil {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--modal-stage) 97%, transparent) 0%, color-mix(in srgb, var(--modal-stage) 78%, transparent) 42%, transparent 74%),
    linear-gradient(0deg, color-mix(in srgb, var(--modal-stage) 62%, transparent), transparent 46%);
}

@media (max-width: 860px) {
  .lsn[data-theme] .lsn-doc__veil {
    background: linear-gradient(0deg, var(--modal-stage) 0%, color-mix(in srgb, var(--modal-stage) 78%, transparent) 56%, transparent 100%);
  }
}


/* v10 — Mobile chapter navigator: compact, accessible and thumb-friendly. */
.lsn .lsn__chapters-list { display: contents; }
.lsn .lsn__chapters-toggle { display: none; }

@media (max-width: 600px) {
  .lsn [data-lsn-section] {
    scroll-margin-top: 0;
  }

  .lsn .lsn__chapters {
    position: sticky;
    top: calc(max(4px, env(safe-area-inset-top)) + 62px);
    z-index: 72;
    display: block;
    margin: 0 -4px 18px;
    padding: 5px;
    overflow: visible;
    border-radius: 15px;
    isolation: isolate;
  }

  .lsn .lsn__chapters-toggle {
    display: grid;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    grid-template-columns: minmax(0, 1fr) 36px;
    align-items: center;
    gap: 10px;
    padding: 7px 8px 7px 12px;
    color: var(--text-strong);
    border: 0;
    border-radius: 11px;
    background: var(--surface-soft);
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .lsn .lsn__chapters-toggle:hover {
    color: var(--text-strong);
    background: var(--surface-soft);
  }

  .lsn .lsn__chapters-toggle:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
    box-shadow: 0 0 0 4px var(--accent-soft);
  }

  .lsn .lsn__chapters-toggle-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
  }

  .lsn .lsn__chapters-toggle-copy small {
    color: var(--text-muted);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .095em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  .lsn .lsn__chapters-toggle-copy strong {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
    color: var(--text-strong);
    font-size: .82rem;
    font-weight: 820;
    line-height: 1.15;
  }

  .lsn .lsn__chapters-toggle-copy strong > span:first-child {
    flex: 0 0 auto;
    color: var(--accent);
    font: 850 .63rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  }

  .lsn .lsn__chapters-toggle-copy strong > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .lsn .lsn__chapters-toggle-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: var(--accent);
    border: 1px solid var(--accent-border);
    border-radius: 10px;
    background: var(--accent-soft);
  }

  .lsn .lsn__chapters-toggle-icon svg {
    width: 18px;
    height: 18px;
    transition: transform .2s ease;
  }

  .lsn .lsn__chapters.is-open .lsn__chapters-toggle-icon svg { transform: rotate(180deg); }

  .lsn .lsn__chapters-list {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    left: 0;
    display: none;
    max-height: min(56vh, 372px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--theme-control-border);
    border-radius: 15px;
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--surface-1) 94%, var(--secondary) 6%), var(--surface-0));
    box-shadow: 0 24px 58px rgba(0, 0, 0, .52), 0 0 0 1px color-mix(in srgb, var(--accent) 9%, transparent);
    backdrop-filter: blur(18px) saturate(1.15);
    -webkit-backdrop-filter: blur(18px) saturate(1.15);
    scrollbar-width: thin;
  }

  .lsn .lsn__chapters.is-open .lsn__chapters-list { display: grid; }

  .lsn .lsn__chapters-list > button {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    justify-content: flex-start;
    gap: 9px;
    padding: 10px 11px;
    color: var(--text-body);
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--surface-soft);
    font-size: .72rem;
    line-height: 1.2;
    text-align: left;
    white-space: normal;
    scroll-snap-align: none;
  }

  .lsn .lsn__chapters-list > button:last-child { border-right: 1px solid var(--line); }

  .lsn .lsn__chapters-list > button > span {
    display: inline-grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    color: var(--accent);
    border: 1px solid var(--accent-border);
    border-radius: 8px;
    background: var(--accent-soft);
    font-size: .57rem;
  }

  .lsn[data-theme] .lsn__chapters-list > button.is-current {
    color: var(--accent-ink);
    border-color: var(--accent);
    background: var(--accent);
  }

  .lsn[data-theme] .lsn__chapters-list > button.is-current > span {
    color: var(--accent-ink);
    border-color: color-mix(in srgb, var(--accent-ink) 28%, transparent);
    background: color-mix(in srgb, var(--accent-ink) 10%, transparent);
  }

  .lsn .lsn__chapters-list > button:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  .lsn .lsn__filters {
    margin-right: -16px;
    margin-left: -16px;
    padding-right: 16px;
    padding-left: 16px;
    scroll-padding-inline: 16px;
  }

  .lsn .lsn__filters::after {
    content: "";
    flex: 0 0 8px;
  }
}

@media (max-width: 350px) {
  .lsn .lsn__chapters-list {
    gap: 5px;
    padding: 6px;
  }
  .lsn .lsn__chapters-list > button {
    min-height: 52px;
    gap: 6px;
    padding: 8px 7px;
    font-size: .66rem;
  }
  .lsn .lsn__chapters-list > button > span {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
  }
  .lsn .lsn__chapters-toggle-copy strong { font-size: .78rem; }
}
