/* ══════════════════════════════════════════════════════════════
   LIGHT THEME — homepage (index.html)
   ══════════════════════════════════════════════════════════════
   Inert unless <html data-theme="light"> (set by js/theme.js and the
   pre-paint script in <head>). Dark stays the default and is untouched.

   Same palette as the Quantum Scanner's light theme, so the two pages read
   as one product: violet ground tint, white cards, buy/sell/warn deepened one
   step because the dark theme's 500-weight greens and reds fail contrast as
   small text on white.

   The page was built dark-only — ~300 hard-coded dark rules in style.css and
   inline colours in the rendered signal card — so this is an override layer,
   not a variable swap. Three tools that paint their own dark palette (charts)
   opt out with [data-keep-dark] and stay dark: every generic override below
   excludes that subtree.
   ══════════════════════════════════════════════════════════════ */

html[data-theme="light"] {
  color-scheme: light;
  --lt-bg: #f6f5fa;
  --lt-card: #ffffff;
  --lt-card-2: #f2f0f8;
  --lt-sunk: #eceaf3;
  --lt-border: #e2e0eb;
  --lt-border-soft: #ececf3;
  --lt-txt: #17171f;
  --lt-txt2: #4a4a57;
  --lt-txt3: #6b6b78;
  --lt-accent: #6d28d9;
  --lt-accent-soft: rgba(124, 92, 255, 0.1);
  --lt-buy: #047857;
  --lt-sell: #dc2626;
  --lt-warn: #b45309;
  --lt-shadow:
    0 1px 2px rgba(23, 23, 31, 0.05), 0 8px 24px rgba(23, 23, 31, 0.06);

  /* Tokens other stylesheets already read. */
  --ls-bg: #f6f5fa;
  --ls-card: #ffffff;
  --ls-border: #e2e0eb;
  --ls-txt: #17171f;
}

html[data-theme="light"] body {
  background: var(--lt-bg);
  color: var(--lt-txt);
}

/* ── Tailwind neutrals ─────────────────────────────────────────── */
html[data-theme="light"]
  :is(
    .bg-gray-950,
    .bg-gray-900,
    .bg-gray-950\/80,
    .bg-gray-900\/97,
    .bg-gray-900\/80,
    .bg-slate-950,
    .bg-slate-900
  ):not([data-keep-dark] *) {
  background-color: var(--lt-card);
}
html[data-theme="light"]
  :is(
    .bg-gray-950\/60,
    .bg-gray-950\/50,
    .bg-gray-900\/50,
    .bg-gray-900\/40,
    .bg-gray-800,
    .bg-gray-800\/80,
    .bg-gray-800\/70,
    .bg-gray-800\/60,
    .bg-gray-800\/50,
    .bg-slate-800
  ):not([data-keep-dark] *) {
  background-color: var(--lt-card-2);
}
html[data-theme="light"]
  :is(
    .bg-gray-700,
    .bg-gray-700\/60,
    .bg-gray-700\/50,
    .bg-gray-700\/40,
    .bg-gray-700\/25,
    .bg-gray-600
  ):not([data-keep-dark] *) {
  background-color: var(--lt-sunk);
}
html[data-theme="light"]
  :is(
    .hover\:bg-gray-800:hover,
    .hover\:bg-gray-700:hover,
    .hover\:bg-white\/5:hover,
    .hover\:bg-white\/10:hover
  ):not([data-keep-dark] *) {
  background-color: rgba(23, 23, 31, 0.06);
}
html[data-theme="light"]
  :is(
    .border-gray-950,
    .border-gray-800,
    .border-gray-800\/80,
    .border-gray-800\/60,
    .border-gray-800\/50,
    .border-gray-800\/40,
    .border-gray-700,
    .border-gray-700\/80,
    .border-gray-700\/60,
    .border-gray-700\/50,
    .border-gray-700\/40,
    .border-gray-600,
    .border-gray-600\/50,
    .border-gray-600\/40,
    .border-white\/5,
    .border-white\/10
  ):not([data-keep-dark] *) {
  border-color: var(--lt-border);
}

/* White text flips to ink — except on a coloured button or chip, where it is
   still the right colour. */
html[data-theme="light"]
  :is(
    .text-white,
    .text-gray-100,
    .text-gray-200,
    .hover\:text-white:hover
  ):not(
    [data-keep-dark] *,
    [class*="bg-["],
    [class*="bg-["] *,
    [class*="bg-emerald"],
    [class*="bg-emerald"] *,
    [class*="bg-rose"],
    [class*="bg-violet"],
    [class*="bg-blue"],
    [class*="bg-green"],
    [class*="bg-red"],
    [class*="from-"],
    [class*="from-"] *
  ) {
  color: var(--lt-txt);
}
html[data-theme="light"] .text-gray-300:not([data-keep-dark] *) {
  color: #33333d;
}
html[data-theme="light"] .text-gray-400:not([data-keep-dark] *) {
  color: var(--lt-txt2);
}
html[data-theme="light"]
  :is(.text-gray-500, .text-gray-600):not([data-keep-dark] *) {
  color: var(--lt-txt3);
}
html[data-theme="light"] .text-gray-700:not([data-keep-dark] *) {
  color: #9a9aa6;
}
html[data-theme="light"]
  :is(.text-emerald-400, .text-emerald-300, .text-green-400):not(
    [data-keep-dark] *
  ) {
  color: var(--lt-buy);
}
html[data-theme="light"]
  :is(.text-rose-400, .text-rose-300, .text-red-400):not([data-keep-dark] *) {
  color: var(--lt-sell);
}
html[data-theme="light"]
  :is(.text-amber-400, .text-amber-300, .text-yellow-400):not(
    [data-keep-dark] *
  ) {
  color: var(--lt-warn);
}
html[data-theme="light"]
  :is(.text-violet-400, .text-violet-300, .text-purple-400):not(
    [data-keep-dark] *
  ) {
  color: var(--lt-accent);
}

/* Overlays behind modals: a lighter veil reads as "behind" on a light page. */
html[data-theme="light"]
  :is(
    .bg-black\/80,
    .bg-black\/85,
    .bg-black\/90,
    .bg-black\/92,
    .bg-black\/95
  ):not([data-keep-dark] *) {
  background-color: rgba(30, 27, 46, 0.45);
}

/* ── Page shell ────────────────────────────────────────────────── */
html[data-theme="light"] .nav-glass {
  background: rgba(255, 255, 255, 0.9) !important;
  border-bottom: 1px solid var(--lt-border) !important;
  box-shadow: 0 1px 0 rgba(23, 23, 31, 0.02);
}
html[data-theme="light"] .ticker-container,
html[data-theme="light"] .sessions-strip,
html[data-theme="light"] .hero-bg,
html[data-theme="light"] .community-section {
  background: var(--lt-bg);
  border-bottom-color: var(--lt-border);
}
html[data-theme="light"] .ticker-container::before,
html[data-theme="light"] .tradingview-ticker-wrap::before {
  background: linear-gradient(to right, var(--lt-bg), transparent);
}
html[data-theme="light"] .ticker-container::after,
html[data-theme="light"] .tradingview-ticker-wrap::after {
  background: linear-gradient(to left, var(--lt-bg), transparent);
}
html[data-theme="light"] .session-clock-item.sess-closed,
html[data-theme="light"] .session-live-pill.closed {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
}
html[data-theme="light"] #csToolsRail {
  background: var(--lt-card);
  border-bottom-color: var(--lt-border);
}
html[data-theme="light"] #csToolsRail::after {
  background: linear-gradient(90deg, transparent, var(--lt-card) 78%);
}
html[data-theme="light"] #csToolsRail .ctr-chip {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
  color: var(--lt-txt);
}
html[data-theme="light"] #csToolsRail .ctr-chip i {
  background: rgba(23, 23, 31, 0.05);
  box-shadow: inset 0 0 0 1px var(--lt-border);
}
html[data-theme="light"] .section-h2 {
  background: linear-gradient(135deg, #17171f 0%, #3b3b48 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
html[data-theme="light"] .text-gradient-hero {
  background: linear-gradient(130deg, #17171f 0%, #6d28d9 60%, #7c5cff 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

/* ── Generic dark component surfaces ──────────────────────────── */
html[data-theme="light"]
  :is(
    .glass-card,
    .pro-card,
    .metric-card,
    .feature-tile,
    .scanner-card,
    .offer-card,
    .signal-stat-card,
    .signal-card-v2,
    .sig-card,
    .sig-card-v3,
    .hero-glass-card,
    .hero-stat-glass,
    .pay-modal-card,
    .testi-bubble,
    .faq-bubble,
    .st-panel,
    .elite-setup-card,
    .verdict-empty-state
  ):not([data-keep-dark] *) {
  background: var(--lt-card) !important;
  border-color: var(--lt-border) !important;
  box-shadow: var(--lt-shadow);
  color: var(--lt-txt);
}
html[data-theme="light"]
  :is(
    .sig-price-cell,
    .trade-level-cell,
    .sig-stat-cell,
    .sig-simple-level,
    .mini-ladder,
    .st-chip,
    .st-strat,
    .st-lvl,
    .desk-call-row,
    .sa-panel,
    .sa-toggle,
    .verdict-feat-pill,
    .conf-tag
  ):not([data-keep-dark] *) {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
}
html[data-theme="light"]
  :is(
    .modal-input,
    .auth-input,
    .calc-input,
    .calc-input option,
    .pay-input,
    .sa-inp,
    .pd-in input
  ):not([data-keep-dark] *) {
  background: var(--lt-card);
  border-color: var(--lt-border);
  color: var(--lt-txt);
}
html[data-theme="light"]
  :is(
    .signal-confidence-bar,
    .course-progress-bar,
    .price-level-bar,
    .scan-progress-track,
    .signal-health-bar,
    .sig-mini-conf-track,
    .toast-conf-bar,
    .pay-tabs,
    .pay-address-box,
    .sig-strength-dot
  ):not([data-keep-dark] *) {
  background: var(--lt-sunk);
}
html[data-theme="light"] .skeleton {
  background: linear-gradient(90deg, #eceaf3 25%, #f6f5fa 50%, #eceaf3 75%);
  background-size: 200% 100%;
}
html[data-theme="light"]
  :is(
    .feature-tile-title,
    .toast-pair,
    .pay-modal-title,
    .testi-fab-name,
    .faq-item summary,
    .st-head h3,
    .st-chip .v,
    .st-strat-name,
    .pd-v,
    .pd-empty-title
  ):not([data-keep-dark] *) {
  color: var(--lt-txt);
}
html[data-theme="light"] .signal-toast {
  background: var(--lt-card) !important;
  box-shadow: 0 8px 32px rgba(23, 23, 31, 0.12);
  border-color: var(--lt-border);
}
html[data-theme="light"]
  :is(.faq-fab, .testi-fab) {
  background: var(--lt-card);
  border-color: var(--lt-border);
  box-shadow: 0 4px 16px rgba(23, 23, 31, 0.12);
  color: var(--lt-txt);
}
html[data-theme="light"]
  :is(.faq-bubble-header, .testi-bubble-header, .st-head, .sa-actions) {
  border-bottom-color: var(--lt-border);
  border-top-color: var(--lt-border);
}
html[data-theme="light"] :is(.faq-item, .testi-fab-item, .sig-hist-row) {
  border-bottom-color: var(--lt-border-soft);
}
html[data-theme="light"] :is(.st-modal, .pay-modal-overlay) {
  background: rgba(30, 27, 46, 0.45) !important;
}
html[data-theme="light"] .st-close {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
  color: var(--lt-txt2);
}
html[data-theme="light"] :is(.acs-tab:hover, .auth-tab:hover, .gate-tab:hover) {
  color: var(--lt-txt);
}
html[data-theme="light"] :is(.auth-tab-active, .gate-tab-active) {
  background: var(--lt-card);
  color: var(--lt-txt);
  box-shadow: 0 1px 3px rgba(23, 23, 31, 0.12);
}
html[data-theme="light"] .acs-toggle-track {
  background: var(--lt-sunk);
  border-color: var(--lt-border);
}
html[data-theme="light"] .sa-switch {
  background: var(--lt-sunk);
  border-color: var(--lt-border);
}
html[data-theme="light"] .sa-seg {
  background: var(--lt-sunk);
  border-color: var(--lt-border);
}
html[data-theme="light"] .range-slider {
  background: linear-gradient(
    to right,
    #7c5cff var(--pct, 44%),
    var(--lt-sunk) var(--pct, 44%)
  );
}

/* ── Appearance picker ─────────────────────────────────────────── */
html[data-theme="light"] .acs-theme-seg {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
}
html[data-theme="light"] .acs-theme-seg button {
  color: var(--lt-txt2);
}
html[data-theme="light"] .acs-theme-seg button:hover {
  color: var(--lt-txt);
}
html[data-theme="light"] .acs-theme-seg button[aria-checked="true"] {
  background: var(--lt-card);
  border-color: rgba(109, 40, 217, 0.35);
  color: var(--lt-accent);
  box-shadow: 0 1px 3px rgba(23, 23, 31, 0.1);
}

/* ── Signal card ───────────────────────────────────────────────── */
html[data-theme="light"] #lsCard {
  --lsc-bg: var(--lt-card);
  --lsc-border: var(--lt-border);
  --lsc-text-muted: var(--lt-txt3);
  --lsc-white: var(--lt-txt);
  background: var(--lt-card) !important;
  box-shadow: var(--lt-shadow);
  color: var(--lt-txt);
}
html[data-theme="light"] #lsCard > div:first-child,
html[data-theme="light"] #lsPLRow,
html[data-theme="light"] #lsCard .grid.grid-cols-2 button {
  border-color: var(--lt-border-soft);
}
html[data-theme="light"] #lsPosWrap > div.overflow-hidden {
  background: var(--lt-sunk);
}
html[data-theme="light"] .ls-focus-btn {
  background: var(--lt-card);
  border-color: var(--lt-border);
  color: var(--lt-txt2);
}
html[data-theme="light"] .ls-focus-btn.is-active {
  background: var(--lt-accent-soft);
  border-color: rgba(109, 40, 217, 0.35);
  color: var(--lt-accent);
}
html[data-theme="light"] .ls-book-pane {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
}
html[data-theme="light"] .ls-book-name {
  color: var(--lt-txt3);
}
html[data-theme="light"] .ls-book-count {
  color: var(--lt-accent);
}
html[data-theme="light"] .ls-book-pair {
  color: var(--lt-txt);
}
html[data-theme="light"] .ls-book-grade {
  color: var(--lt-txt2);
  background: var(--lt-card);
  box-shadow: inset 0 0 0 1px var(--lt-border);
}
html[data-theme="light"]
  :is(.ls-book-setupline, .ls-book-setup, .ls-book-empty) {
  color: var(--lt-txt3);
}
html[data-theme="light"] .ls-lvl {
  background: var(--lt-card);
  border-color: var(--lt-border);
}
html[data-theme="light"] .ls-lvl span {
  color: var(--lt-txt3);
}
html[data-theme="light"] .ls-book-more {
  border-top-color: var(--lt-border);
}
html[data-theme="light"] .ls-book-more-h {
  color: var(--lt-txt3);
}
html[data-theme="light"] .ls-book-px {
  color: var(--lt-txt2);
}
html[data-theme="light"] .ls-book-row:hover .ls-book-px {
  color: var(--lt-txt);
}
html[data-theme="light"] :is(.ls-book-caret, .ls-book-rowmeta) {
  color: var(--lt-txt3);
}
html[data-theme="light"] .ls-pager-arrow {
  border-color: var(--lt-border);
  background: var(--lt-card);
  color: var(--lt-txt2);
}
html[data-theme="light"] .ls-card:hover {
  background: var(--lt-card-2);
}
html[data-theme="light"] #lsLifecycleModal > div {
  background: var(--lt-bg) !important;
  box-shadow: 0 30px 80px rgba(23, 23, 31, 0.2);
}
html[data-theme="light"] #lsLifecycleModal > div > div:nth-of-type(2) {
  background: var(--lt-card) !important;
  border-color: var(--lt-border);
}

/* BEGIN generated inline colours (scratch gen-inline.js) ────────────
   The homepage, the card's renderers and the Sensei Scanner write colours
   inline, tuned for a dark ground. Matched on the attribute text both as
   authored ("color:#34d399", " color: #34d399") and as the browser
   re-serialises a style set through el.style ("color: rgb(52, 211, 153)").
   The prefix guard (start, ";" or a space) keeps "background-color:" from
   matching; the i flag covers "#7C5CFF". */
/* near-white text */
html[data-theme="light"]
  :is(
    [style^="color:#fff" i],
    [style^="color: #fff" i],
    [style*=";color:#fff" i],
    [style*=" color: #fff" i],
    [style*=" color:#fff" i],
    [style^="color: rgb(255, 255, 255)"],
    [style*="; color: rgb(255, 255, 255)"],
    [style^="color:#ffffff" i],
    [style^="color: #ffffff" i],
    [style*=";color:#ffffff" i],
    [style*=" color: #ffffff" i],
    [style*=" color:#ffffff" i],
    [style^="color: rgb(255, 255, 255)"],
    [style*="; color: rgb(255, 255, 255)"],
    [style^="color:#f8fafc" i],
    [style^="color: #f8fafc" i],
    [style*=";color:#f8fafc" i],
    [style*=" color: #f8fafc" i],
    [style*=" color:#f8fafc" i],
    [style^="color: rgb(248, 250, 252)"],
    [style*="; color: rgb(248, 250, 252)"],
    [style^="color:#f1f5f9" i],
    [style^="color: #f1f5f9" i],
    [style*=";color:#f1f5f9" i],
    [style*=" color: #f1f5f9" i],
    [style*=" color:#f1f5f9" i],
    [style^="color: rgb(241, 245, 249)"],
    [style*="; color: rgb(241, 245, 249)"],
    [style^="color:#e2e8f0" i],
    [style^="color: #e2e8f0" i],
    [style*=";color:#e2e8f0" i],
    [style*=" color: #e2e8f0" i],
    [style*=" color:#e2e8f0" i],
    [style^="color: rgb(226, 232, 240)"],
    [style*="; color: rgb(226, 232, 240)"],
    [style^="color:#e5e7eb" i],
    [style^="color: #e5e7eb" i],
    [style*=";color:#e5e7eb" i],
    [style*=" color: #e5e7eb" i],
    [style*=" color:#e5e7eb" i],
    [style^="color: rgb(229, 231, 235)"],
    [style*="; color: rgb(229, 231, 235)"]
  ):not([data-keep-dark] *, [style*="gradient"], [style*="background:#10b981" i], [style*="background: #10b981" i], [style*="background: rgb(16, 185, 129)"], [style*="background:#7c5cff" i], [style*="background: #7c5cff" i], [style*="background: rgb(124, 92, 255)"], [style*="background:#a48bff" i], [style*="background: #a48bff" i], [style*="background: rgb(164, 139, 255)"], [style*="background:#6d28d9" i], [style*="background: #6d28d9" i], [style*="background: rgb(109, 40, 217)"], [style*="background:#229ed9" i], [style*="background: #229ed9" i], [style*="background: rgb(34, 158, 217)"], [style*="background:#34d399" i], [style*="background: #34d399" i], [style*="background: rgb(52, 211, 153)"], [style*="background:#fbbf24" i], [style*="background: #fbbf24" i], [style*="background: rgb(251, 191, 36)"], [style*="background:#ef4444" i], [style*="background: #ef4444" i], [style*="background: rgb(239, 68, 68)"], [style*="background:#f43f5e" i], [style*="background: #f43f5e" i], [style*="background: rgb(244, 63, 94)"], [style*="background:#f59e0b" i], [style*="background: #f59e0b" i], [style*="background: rgb(245, 158, 11)"], [style*="background:#064e3b" i], [style*="background: #064e3b" i], [style*="background: rgb(6, 78, 59)"], [style*="background:#4c1d95" i], [style*="background: #4c1d95" i], [style*="background: rgb(76, 29, 149)"], [style*="background:#1e3a8a" i], [style*="background: #1e3a8a" i], [style*="background: rgb(30, 58, 138)"], [style*="background:#1a0a0a" i], [style*="background: #1a0a0a" i], [style*="background: rgb(26, 10, 10)"], [style*="background:#0d2d1f" i], [style*="background: #0d2d1f" i], [style*="background: rgb(13, 45, 31)"], [style*="background:#06120d" i], [style*="background: #06120d" i], [style*="background: rgb(6, 18, 13)"], [style*="background:#000" i], [style*="background: #000" i], [style*="background: rgb(0, 0, 0)"]) {
  color: var(--lt-txt) !important;
}
/* light grey */
html[data-theme="light"]
  :is(
    [style^="color:#cbd5e1" i],
    [style^="color: #cbd5e1" i],
    [style*=";color:#cbd5e1" i],
    [style*=" color: #cbd5e1" i],
    [style*=" color:#cbd5e1" i],
    [style^="color: rgb(203, 213, 225)"],
    [style*="; color: rgb(203, 213, 225)"],
    [style^="color:#d1d5db" i],
    [style^="color: #d1d5db" i],
    [style*=";color:#d1d5db" i],
    [style*=" color: #d1d5db" i],
    [style*=" color:#d1d5db" i],
    [style^="color: rgb(209, 213, 219)"],
    [style*="; color: rgb(209, 213, 219)"]
  ):not([data-keep-dark] *, [style*="gradient"], [style*="background:#10b981" i], [style*="background: #10b981" i], [style*="background: rgb(16, 185, 129)"], [style*="background:#7c5cff" i], [style*="background: #7c5cff" i], [style*="background: rgb(124, 92, 255)"], [style*="background:#a48bff" i], [style*="background: #a48bff" i], [style*="background: rgb(164, 139, 255)"], [style*="background:#6d28d9" i], [style*="background: #6d28d9" i], [style*="background: rgb(109, 40, 217)"], [style*="background:#229ed9" i], [style*="background: #229ed9" i], [style*="background: rgb(34, 158, 217)"], [style*="background:#34d399" i], [style*="background: #34d399" i], [style*="background: rgb(52, 211, 153)"], [style*="background:#fbbf24" i], [style*="background: #fbbf24" i], [style*="background: rgb(251, 191, 36)"], [style*="background:#ef4444" i], [style*="background: #ef4444" i], [style*="background: rgb(239, 68, 68)"], [style*="background:#f43f5e" i], [style*="background: #f43f5e" i], [style*="background: rgb(244, 63, 94)"], [style*="background:#f59e0b" i], [style*="background: #f59e0b" i], [style*="background: rgb(245, 158, 11)"], [style*="background:#064e3b" i], [style*="background: #064e3b" i], [style*="background: rgb(6, 78, 59)"], [style*="background:#4c1d95" i], [style*="background: #4c1d95" i], [style*="background: rgb(76, 29, 149)"], [style*="background:#1e3a8a" i], [style*="background: #1e3a8a" i], [style*="background: rgb(30, 58, 138)"], [style*="background:#1a0a0a" i], [style*="background: #1a0a0a" i], [style*="background: rgb(26, 10, 10)"], [style*="background:#0d2d1f" i], [style*="background: #0d2d1f" i], [style*="background: rgb(13, 45, 31)"], [style*="background:#06120d" i], [style*="background: #06120d" i], [style*="background: rgb(6, 18, 13)"], [style*="background:#000" i], [style*="background: #000" i], [style*="background: rgb(0, 0, 0)"]) {
  color: #33333d !important;
}
/* mid grey */
html[data-theme="light"]
  :is(
    [style^="color:#94a3b8" i],
    [style^="color: #94a3b8" i],
    [style*=";color:#94a3b8" i],
    [style*=" color: #94a3b8" i],
    [style*=" color:#94a3b8" i],
    [style^="color: rgb(148, 163, 184)"],
    [style*="; color: rgb(148, 163, 184)"],
    [style^="color:#9ca3af" i],
    [style^="color: #9ca3af" i],
    [style*=";color:#9ca3af" i],
    [style*=" color: #9ca3af" i],
    [style*=" color:#9ca3af" i],
    [style^="color: rgb(156, 163, 175)"],
    [style*="; color: rgb(156, 163, 175)"],
    [style^="color:#64748b" i],
    [style^="color: #64748b" i],
    [style*=";color:#64748b" i],
    [style*=" color: #64748b" i],
    [style*=" color:#64748b" i],
    [style^="color: rgb(100, 116, 139)"],
    [style*="; color: rgb(100, 116, 139)"]
  ):not([data-keep-dark] *) {
  color: var(--lt-txt2) !important;
}
/* dim grey */
html[data-theme="light"]
  :is(
    [style^="color:#6b7280" i],
    [style^="color: #6b7280" i],
    [style*=";color:#6b7280" i],
    [style*=" color: #6b7280" i],
    [style*=" color:#6b7280" i],
    [style^="color: rgb(107, 114, 128)"],
    [style*="; color: rgb(107, 114, 128)"]
  ):not([data-keep-dark] *) {
  color: var(--lt-txt3) !important;
}
/* greens */
html[data-theme="light"]
  :is(
    [style^="color:#34d399" i],
    [style^="color: #34d399" i],
    [style*=";color:#34d399" i],
    [style*=" color: #34d399" i],
    [style*=" color:#34d399" i],
    [style^="color: rgb(52, 211, 153)"],
    [style*="; color: rgb(52, 211, 153)"],
    [style^="color:#6ee7b7" i],
    [style^="color: #6ee7b7" i],
    [style*=";color:#6ee7b7" i],
    [style*=" color: #6ee7b7" i],
    [style*=" color:#6ee7b7" i],
    [style^="color: rgb(110, 231, 183)"],
    [style*="; color: rgb(110, 231, 183)"],
    [style^="color:#10b981" i],
    [style^="color: #10b981" i],
    [style*=";color:#10b981" i],
    [style*=" color: #10b981" i],
    [style*=" color:#10b981" i],
    [style^="color: rgb(16, 185, 129)"],
    [style*="; color: rgb(16, 185, 129)"],
    [style^="color:#00ff7f" i],
    [style^="color: #00ff7f" i],
    [style*=";color:#00ff7f" i],
    [style*=" color: #00ff7f" i],
    [style*=" color:#00ff7f" i],
    [style^="color: rgb(0, 255, 127)"],
    [style*="; color: rgb(0, 255, 127)"],
    [style^="color:#93c5a8" i],
    [style^="color: #93c5a8" i],
    [style*=";color:#93c5a8" i],
    [style*=" color: #93c5a8" i],
    [style*=" color:#93c5a8" i],
    [style^="color: rgb(147, 197, 168)"],
    [style*="; color: rgb(147, 197, 168)"],
    [style^="color:#4ade80" i],
    [style^="color: #4ade80" i],
    [style*=";color:#4ade80" i],
    [style*=" color: #4ade80" i],
    [style*=" color:#4ade80" i],
    [style^="color: rgb(74, 222, 128)"],
    [style*="; color: rgb(74, 222, 128)"]
  ):not([data-keep-dark] *) {
  color: var(--lt-buy) !important;
}
/* ambers */
html[data-theme="light"]
  :is(
    [style^="color:#fbbf24" i],
    [style^="color: #fbbf24" i],
    [style*=";color:#fbbf24" i],
    [style*=" color: #fbbf24" i],
    [style*=" color:#fbbf24" i],
    [style^="color: rgb(251, 191, 36)"],
    [style*="; color: rgb(251, 191, 36)"],
    [style^="color:#fcd34d" i],
    [style^="color: #fcd34d" i],
    [style*=";color:#fcd34d" i],
    [style*=" color: #fcd34d" i],
    [style*=" color:#fcd34d" i],
    [style^="color: rgb(252, 211, 77)"],
    [style*="; color: rgb(252, 211, 77)"],
    [style^="color:#f59e0b" i],
    [style^="color: #f59e0b" i],
    [style*=";color:#f59e0b" i],
    [style*=" color: #f59e0b" i],
    [style*=" color:#f59e0b" i],
    [style^="color: rgb(245, 158, 11)"],
    [style*="; color: rgb(245, 158, 11)"]
  ):not([data-keep-dark] *) {
  color: var(--lt-warn) !important;
}
/* orange */
html[data-theme="light"]
  :is(
    [style^="color:#fb923c" i],
    [style^="color: #fb923c" i],
    [style*=";color:#fb923c" i],
    [style*=" color: #fb923c" i],
    [style*=" color:#fb923c" i],
    [style^="color: rgb(251, 146, 60)"],
    [style*="; color: rgb(251, 146, 60)"]
  ):not([data-keep-dark] *) {
  color: #c2410c !important;
}
/* violets */
html[data-theme="light"]
  :is(
    [style^="color:#c084fc" i],
    [style^="color: #c084fc" i],
    [style*=";color:#c084fc" i],
    [style*=" color: #c084fc" i],
    [style*=" color:#c084fc" i],
    [style^="color: rgb(192, 132, 252)"],
    [style*="; color: rgb(192, 132, 252)"],
    [style^="color:#a48bff" i],
    [style^="color: #a48bff" i],
    [style*=";color:#a48bff" i],
    [style*=" color: #a48bff" i],
    [style*=" color:#a48bff" i],
    [style^="color: rgb(164, 139, 255)"],
    [style*="; color: rgb(164, 139, 255)"],
    [style^="color:#7c5cff" i],
    [style^="color: #7c5cff" i],
    [style*=";color:#7c5cff" i],
    [style*=" color: #7c5cff" i],
    [style*=" color:#7c5cff" i],
    [style^="color: rgb(124, 92, 255)"],
    [style*="; color: rgb(124, 92, 255)"],
    [style^="color:#c4b5fd" i],
    [style^="color: #c4b5fd" i],
    [style*=";color:#c4b5fd" i],
    [style*=" color: #c4b5fd" i],
    [style*=" color:#c4b5fd" i],
    [style^="color: rgb(196, 181, 253)"],
    [style*="; color: rgb(196, 181, 253)"]
  ):not([data-keep-dark] *) {
  color: var(--lt-accent) !important;
}
/* blues */
html[data-theme="light"]
  :is(
    [style^="color:#93c5fd" i],
    [style^="color: #93c5fd" i],
    [style*=";color:#93c5fd" i],
    [style*=" color: #93c5fd" i],
    [style*=" color:#93c5fd" i],
    [style^="color: rgb(147, 197, 253)"],
    [style*="; color: rgb(147, 197, 253)"],
    [style^="color:#60a5fa" i],
    [style^="color: #60a5fa" i],
    [style*=";color:#60a5fa" i],
    [style*=" color: #60a5fa" i],
    [style*=" color:#60a5fa" i],
    [style^="color: rgb(96, 165, 250)"],
    [style*="; color: rgb(96, 165, 250)"],
    [style^="color:#38bdf8" i],
    [style^="color: #38bdf8" i],
    [style*=";color:#38bdf8" i],
    [style*=" color: #38bdf8" i],
    [style*=" color:#38bdf8" i],
    [style^="color: rgb(56, 189, 248)"],
    [style*="; color: rgb(56, 189, 248)"],
    [style^="color:#7dd3fc" i],
    [style^="color: #7dd3fc" i],
    [style*=";color:#7dd3fc" i],
    [style*=" color: #7dd3fc" i],
    [style*=" color:#7dd3fc" i],
    [style^="color: rgb(125, 211, 252)"],
    [style*="; color: rgb(125, 211, 252)"]
  ):not([data-keep-dark] *) {
  color: #1d4ed8 !important;
}
/* reds */
html[data-theme="light"]
  :is(
    [style^="color:#f87171" i],
    [style^="color: #f87171" i],
    [style*=";color:#f87171" i],
    [style*=" color: #f87171" i],
    [style*=" color:#f87171" i],
    [style^="color: rgb(248, 113, 113)"],
    [style*="; color: rgb(248, 113, 113)"],
    [style^="color:#fca5a5" i],
    [style^="color: #fca5a5" i],
    [style*=";color:#fca5a5" i],
    [style*=" color: #fca5a5" i],
    [style*=" color:#fca5a5" i],
    [style^="color: rgb(252, 165, 165)"],
    [style*="; color: rgb(252, 165, 165)"],
    [style^="color:#ef4444" i],
    [style^="color: #ef4444" i],
    [style*=";color:#ef4444" i],
    [style*=" color: #ef4444" i],
    [style*=" color:#ef4444" i],
    [style^="color: rgb(239, 68, 68)"],
    [style*="; color: rgb(239, 68, 68)"],
    [style^="color:#f43f5e" i],
    [style^="color: #f43f5e" i],
    [style*=";color:#f43f5e" i],
    [style*=" color: #f43f5e" i],
    [style*=" color:#f43f5e" i],
    [style^="color: rgb(244, 63, 94)"],
    [style*="; color: rgb(244, 63, 94)"],
    [style^="color:#fb7185" i],
    [style^="color: #fb7185" i],
    [style*=";color:#fb7185" i],
    [style*=" color: #fb7185" i],
    [style*=" color:#fb7185" i],
    [style^="color: rgb(251, 113, 133)"],
    [style*="; color: rgb(251, 113, 133)"],
    [style^="color:#fda4af" i],
    [style^="color: #fda4af" i],
    [style*=";color:#fda4af" i],
    [style*=" color: #fda4af" i],
    [style*=" color:#fda4af" i],
    [style^="color: rgb(253, 164, 175)"],
    [style*="; color: rgb(253, 164, 175)"]
  ):not([data-keep-dark] *) {
  color: var(--lt-sell) !important;
}
/* lime */
html[data-theme="light"]
  :is(
    [style^="color:#bef264" i],
    [style^="color: #bef264" i],
    [style*=";color:#bef264" i],
    [style*=" color: #bef264" i],
    [style*=" color:#bef264" i],
    [style^="color: rgb(190, 242, 100)"],
    [style*="; color: rgb(190, 242, 100)"]
  ):not([data-keep-dark] *) {
  color: #4d7c0f !important;
}
/* cyans */
html[data-theme="light"]
  :is(
    [style^="color:#22d3ee" i],
    [style^="color: #22d3ee" i],
    [style*=";color:#22d3ee" i],
    [style*=" color: #22d3ee" i],
    [style*=" color:#22d3ee" i],
    [style^="color: rgb(34, 211, 238)"],
    [style*="; color: rgb(34, 211, 238)"],
    [style^="color:#67e8f9" i],
    [style^="color: #67e8f9" i],
    [style*=";color:#67e8f9" i],
    [style*=" color: #67e8f9" i],
    [style*=" color:#67e8f9" i],
    [style^="color: rgb(103, 232, 249)"],
    [style*="; color: rgb(103, 232, 249)"],
    [style^="color:#a5f3fc" i],
    [style^="color: #a5f3fc" i],
    [style*=";color:#a5f3fc" i],
    [style*=" color: #a5f3fc" i],
    [style*=" color:#a5f3fc" i],
    [style^="color: rgb(165, 243, 252)"],
    [style*="; color: rgb(165, 243, 252)"],
    [style^="color:#cffafe" i],
    [style^="color: #cffafe" i],
    [style*=";color:#cffafe" i],
    [style*=" color: #cffafe" i],
    [style*=" color:#cffafe" i],
    [style^="color: rgb(207, 250, 254)"],
    [style*="; color: rgb(207, 250, 254)"]
  ):not([data-keep-dark] *) {
  color: #0e7490 !important;
}
/* dark inline backgrounds */
html[data-theme="light"]
  :is(
    [style*="background:#0f1830" i],
    [style*="background: #0f1830" i],
    [style*="background: rgb(15, 24, 48)"],
    [style*="background:#0f172a" i],
    [style*="background: #0f172a" i],
    [style*="background: rgb(15, 23, 42)"],
    [style*="background:#0b1220" i],
    [style*="background: #0b1220" i],
    [style*="background: rgb(11, 18, 32)"],
    [style*="background:#070d1a" i],
    [style*="background: #070d1a" i],
    [style*="background: rgb(7, 13, 26)"],
    [style*="background:#020617" i],
    [style*="background: #020617" i],
    [style*="background: rgb(2, 6, 23)"],
    [style*="background:#0d1420" i],
    [style*="background: #0d1420" i],
    [style*="background: rgb(13, 20, 32)"],
    [style*="background:#0d141f" i],
    [style*="background: #0d141f" i],
    [style*="background: rgb(13, 20, 31)"],
    [style*="background:#0b1324" i],
    [style*="background: #0b1324" i],
    [style*="background: rgb(11, 19, 36)"],
    [style*="background:#0b111c" i],
    [style*="background: #0b111c" i],
    [style*="background: rgb(11, 17, 28)"],
    [style*="background:#0b1119" i],
    [style*="background: #0b1119" i],
    [style*="background: rgb(11, 17, 25)"],
    [style*="background:#080b12" i],
    [style*="background: #080b12" i],
    [style*="background: rgb(8, 11, 18)"],
    [style*="background:#243049" i],
    [style*="background: #243049" i],
    [style*="background: rgb(36, 48, 73)"]
  ):not([data-keep-dark] *) {
  background: var(--lt-card-2) !important;
}
/* dark inline backgrounds */
html[data-theme="light"]
  :is(
    [style*="background:#1e293b" i],
    [style*="background: #1e293b" i],
    [style*="background: rgb(30, 41, 59)"],
    [style*="background:#334155" i],
    [style*="background: #334155" i],
    [style*="background: rgb(51, 65, 85)"]
  ):not([data-keep-dark] *) {
  background: var(--lt-sunk) !important;
}
html[data-theme="light"]
  :is(
    [style*="background:rgba(7,13,26"],
    [style*="background: rgba(7,13,26"],
    [style*="background:rgba(7, 13, 26"],
    [style*="background: rgba(7, 13, 26"],
    [style*="background:rgba(4,8,15"],
    [style*="background: rgba(4,8,15"],
    [style*="background:rgba(4, 8, 15"],
    [style*="background: rgba(4, 8, 15"],
    [style*="background:rgba(2,6,23"],
    [style*="background: rgba(2,6,23"],
    [style*="background:rgba(2, 6, 23"],
    [style*="background: rgba(2, 6, 23"],
    [style*="background:rgba(17,24,39"],
    [style*="background: rgba(17,24,39"],
    [style*="background:rgba(17, 24, 39"],
    [style*="background: rgba(17, 24, 39"],
    [style*="background:rgba(15,23,42"],
    [style*="background: rgba(15,23,42"],
    [style*="background:rgba(15, 23, 42"],
    [style*="background: rgba(15, 23, 42"]
  ):not([data-keep-dark] *) {
  background: var(--lt-card-2) !important;
}
html[data-theme="light"]
  :is(
    [style*="background:rgba(255,255,255,0.0"],
    [style*="background: rgba(255,255,255,0.0"],
    [style*="background: rgba(255, 255, 255, 0.0"],
    [style*="background:rgba(255, 255, 255, 0.0"]
  ):not([data-keep-dark] *) {
  background: rgba(23, 23, 31, 0.035) !important;
}
html[data-theme="light"]
  :is(
    [style*="border:1px solid rgba(255,255,255,0.0"],
    [style*="border: 1px solid rgba(255, 255, 255, 0.0"],
    [style*="border: 1px solid rgba(255,255,255,0.0"],
    [style*="border:1px solid rgba(255, 255, 255, 0.0"]
  ):not([data-keep-dark] *) {
  border-color: var(--lt-border) !important;
}
/* END generated inline colours */

/* Grade colour chips on white: the dark theme's pastel violet is too faint. */
html[data-theme="light"] #lsTier {
  background: var(--lt-accent-soft) !important;
}

/* ── Mobile chrome ─────────────────────────────────────────────── */
html[data-theme="light"] {
  --dock-bg: rgba(255, 255, 255, 0.9);
  --dock-border: rgba(23, 23, 31, 0.08);
  --dock-shadow: 0 10px 30px rgba(23, 23, 31, 0.14);
  --dock-txt: #6b6b7b;
  --dock-txt-on: #5b21b6;
  --dock-on: rgba(124, 92, 255, 0.14);
  --sheet-bg: #f7f7fb;
  --sheet-card: #ffffff;
  --sheet-border: rgba(23, 23, 31, 0.08);
  --sheet-txt: #17171f;
  --sheet-txt2: #6b6b7b;
  --sheet-ico: #6d28d9;
}
html[data-theme="light"] #mobileMenu {
  background: var(--lt-card) !important;
  border-color: var(--lt-border) !important;
}

/* The body carries an inline dark background of its own. */
html[data-theme="light"] body {
  background: var(--lt-bg) !important;
}

/* TradingView ticker: the widget is rebuilt with colorTheme "light" (see the
   ticker script in index.html); its wrapper's inline dark backing goes too. */
html[data-theme="light"] #tvTickerWrap {
  background: #ffffff !important;
  border-bottom-color: var(--lt-border) !important;
}

/* Session Trading launcher on the card. */
html[data-theme="light"] .session-glow-btn {
  color: #0e7490;
  background: rgba(8, 145, 178, 0.06);
  border-color: rgba(8, 145, 178, 0.3);
}
html[data-theme="light"] .session-glow-btn:hover {
  color: #155e75;
  background: rgba(8, 145, 178, 0.1);
}
html[data-theme="light"] .session-glow-btn.is-live {
  color: #155e75;
  background: rgba(8, 145, 178, 0.12);
  border-color: rgba(8, 145, 178, 0.55);
}
html[data-theme="light"] .session-glow-btn.is-live .session-glow-badge {
  color: #0e7490;
}
html[data-theme="light"] .session-glow-btn.is-closed {
  color: var(--lt-txt2);
  background: var(--lt-card-2);
  border-color: var(--lt-border);
}
html[data-theme="light"] .session-glow-badge {
  color: var(--lt-txt3);
}

/* Session Trading console. */
html[data-theme="light"] .st-panel {
  border-color: rgba(8, 145, 178, 0.25);
}
html[data-theme="light"] .st-chip .k,
html[data-theme="light"] .st-lvl b,
html[data-theme="light"] .st-record {
  color: var(--lt-txt3);
}
html[data-theme="light"] .st-chip.live {
  background: rgba(8, 145, 178, 0.08);
  border-color: rgba(8, 145, 178, 0.35);
}
html[data-theme="light"] .st-chip.live .v,
html[data-theme="light"] .st-state.triggered {
  color: #0e7490;
}
html[data-theme="light"] .st-state.armed,
html[data-theme="light"] .st-record .r.flat {
  color: var(--lt-warn);
}
html[data-theme="light"] :is(.st-state.waiting, .st-note) {
  color: var(--lt-txt2);
}
html[data-theme="light"] .st-state.over {
  color: var(--lt-txt3);
}
/* The level price itself (#cbd5e1 in style.css) was pale grey on the light chip. */
html[data-theme="light"] .st-lvl {
  color: var(--lt-txt);
}
html[data-theme="light"] .st-lvl.buy,
html[data-theme="light"] .st-record .r.pos {
  color: var(--lt-buy);
}
html[data-theme="light"] .st-lvl.sell,
html[data-theme="light"] .st-record .r.neg {
  color: var(--lt-sell);
}
html[data-theme="light"] .st-record {
  border-top-color: var(--lt-border);
}
html[data-theme="light"] .st-caveat {
  color: #92400e;
  background: #fffbeb;
  border-color: #fcd34d;
}
html[data-theme="light"] .st-full-link {
  color: #0e7490;
  border-color: rgba(8, 145, 178, 0.3);
  background: rgba(8, 145, 178, 0.05);
}

/* Signal alerts switch + Sensei's Calls. */
html[data-theme="light"] :is(.desk-call-mark, .desk-call-live) {
  color: var(--lt-warn);
}
html[data-theme="light"] :is(.sa-toggle, .sa-seg button, .sa-link) {
  color: var(--lt-txt2);
}
html[data-theme="light"] .sa-toggle:hover,
html[data-theme="light"] .sa-seg button:hover {
  color: var(--lt-txt);
}
html[data-theme="light"] :is(.sa-sub, .sa-lab, .sa-hint) {
  color: var(--lt-txt3);
}
html[data-theme="light"] .sa-note {
  color: #92400e;
}
html[data-theme="light"] .sa-note b {
  color: #78350f;
}
html[data-theme="light"] .sa-inp::placeholder {
  color: #9a9aa6;
}
html[data-theme="light"] .sa-knob {
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(23, 23, 31, 0.25);
}
/* ── News Analysis Center ──────────────────────────────────────────
   js/newsCenter.js injects its own dark CSS at runtime; these win on the
   html[data-theme] prefix, not on source order. */
html[data-theme="light"] #nc-ov {
  background: rgba(30, 27, 46, 0.45);
}
html[data-theme="light"] #nc-panel {
  background: var(--lt-card);
  border-color: var(--lt-border);
}
html[data-theme="light"]
  :is(
    #nc-head,
    #nc-filter,
    .nc-ev,
    .nc-grp,
    .nc-grp-row,
    .nc-analysis,
    .nc-inst,
    .nc-status
  ) {
  border-color: var(--lt-border);
}
html[data-theme="light"] :is(.nc-chip, .nc-analysis, .nc-grp-row:first-child) {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
}
html[data-theme="light"] .nc-inst {
  background: var(--lt-card);
}
html[data-theme="light"]
  :is(
    #nc-head h3,
    .nc-time b,
    .nc-grp-row b,
    .nc-title,
    .nc-inst-top b,
    .nce-fig b,
    .nce-line b,
    .nce-lv b,
    .ncv-meta b,
    .ncd-action,
    .ncs-fc b,
    .ncr-head h4,
    .ncr-types b,
    .nca-title
  ) {
  color: var(--lt-txt);
}
html[data-theme="light"]
  :is(
    .nc-ccy,
    .nc-grp-row span,
    .nc-fp b,
    .nc-sum,
    .ncv-plain,
    .ncv-why li b,
    .ncs-t
  ) {
  color: #33333d;
}
html[data-theme="light"]
  :is(
    #nc-close,
    .nc-chip,
    .nc-status,
    .nc-st-rel,
    .nc-count,
    .nc-b.NEUTRAL,
    .nc-inst p,
    .nce-fig span,
    .nce-fig i.flat,
    .nce .flat,
    .nce-line span,
    .nce-line i,
    .nce-p,
    .nce-map-h,
    .ncv-tag,
    .nce-verdict.flat .ncv-word,
    .ncv-why li,
    .ncd-tag,
    .ncs-h,
    .ncs-fc,
    .ncs-n,
    .ncs-trig,
    .ncs-row.flat .ncs-g,
    .ncr-empty,
    .ncr-big span,
    .ncr-verdict,
    .ncr-t,
    .ncr-a
  ) {
  color: var(--lt-txt2);
}
html[data-theme="light"]
  :is(
    #nc-head .sub,
    .nc-time span,
    .nc-grp-row:first-child,
    .nc-grp-row:first-child b,
    .nc-cat,
    .nc-prof .nc-prof-n,
    .nc-empty,
    .nce-h span,
    .nce-load,
    .nce-note,
    .nce-lv span,
    .ncv-align,
    .ncv-meta span,
    .ncv-meta i,
    .ncd-note,
    .nce-gap,
    .ncs-note,
    .ncr-head p,
    .ncr-empty span,
    .ncr-big i,
    .ncr-types span,
    .ncr-types i,
    .ncr-d,
    .nca-x
  ) {
  color: var(--lt-txt3);
}
html[data-theme="light"] :is(.nc-chip.on, .nc-key, .nc-toggle, .nc-b.BULLISH) {
  color: #4d7c0f;
}
html[data-theme="light"] .nc-chip.on {
  background: rgba(101, 163, 13, 0.1);
  border-color: rgba(101, 163, 13, 0.4);
}
html[data-theme="light"] :is(.nc-time i, .nc-st-up) {
  color: #0369a1;
}
html[data-theme="light"]
  :is(
    .nce-fig i.up,
    .nce .up,
    .nce-verdict.up .ncv-word,
    .ncv-meta b.low,
    .nce-dstrat.up .ncd-word,
    .nce-dstrat.up .ncd-verb,
    .ncs-row.up .ncs-g,
    .ncr-p.up,
    .ncr-h.ok,
    .nca-body
  ) {
  color: var(--lt-buy);
}
html[data-theme="light"]
  :is(
    .nce-fig i.dn,
    .nce .dn,
    .nc-b.BEARISH,
    .nce-verdict.dn .ncv-word,
    .ncv-meta b.high,
    .nce-dstrat.dn .ncd-word,
    .nce-dstrat.dn .ncd-verb,
    .ncs-row.dn .ncs-g,
    .ncr-p.dn,
    .ncr-h.no
  ) {
  color: var(--lt-sell);
}
html[data-theme="light"]
  :is(
    .nc-med,
    .nc-st-wait,
    .nc-st-soon,
    .nce-warn,
    .ncv-meta b.medium,
    .ncs-only-one,
    .ncr-warn
  ) {
  color: var(--lt-warn);
}
html[data-theme="light"] .nc-prof {
  color: var(--lt-accent) !important;
}
html[data-theme="light"] :is(.nce-h, .ncr-big b) {
  color: var(--lt-accent);
}
html[data-theme="light"]
  :is(
    .nce-fig,
    .nce-lv div,
    .nce-verdict,
    .nce-dstrat,
    .ncs-row,
    .ncr-empty,
    .ncr-types div
  ) {
  background: rgba(23, 23, 31, 0.035);
}
html[data-theme="light"] :is(.nce-verdict, .nce-dstrat) {
  border-color: var(--lt-border);
}
html[data-theme="light"] .nce-verdict.confirmed.up {
  background: rgba(4, 120, 87, 0.08);
  border-color: rgba(4, 120, 87, 0.35);
}
html[data-theme="light"]
  :is(.nce-line, .nce-map, .ncv-meta, .ncv-why, .ncs, .ncr-live, .ncr-row) {
  border-top-color: var(--lt-border);
}
html[data-theme="light"] #newsDropBar {
  background: linear-gradient(90deg, #ecfdf5 0%, #f5f3ff 100%);
  border-bottom-color: var(--lt-border);
}
html[data-theme="light"] #newsDropBar .ndb-txt {
  color: #065f46;
}
html[data-theme="light"] #newsDropBar .ndb-txt b {
  color: var(--lt-txt);
}
html[data-theme="light"] #newsDropBar .ndb-txt i {
  color: var(--lt-txt3);
}
html[data-theme="light"] #newsDropBar .ndb-cta {
  color: #ffffff;
}
html[data-theme="light"] #nc-alert-toast {
  background: rgba(255, 255, 255, 0.98);
  border-color: var(--lt-border);
  box-shadow: 0 8px 32px rgba(23, 23, 31, 0.14);
}

/* ── Sensei Scanner ───────────────────────────────────────────────
   Chart canvas colours follow the theme in premiumScanner.js
   (_premChartTheme) and chartDrawings.js (palette). */
html[data-theme="light"] #premScannerModal {
  background: var(--lt-bg);
}
html[data-theme="light"] #premScannerModal.prem-inline {
  border-color: var(--lt-border);
  box-shadow: var(--lt-shadow);
}
html[data-theme="light"]
  :is(.prem-header, .prem-pair-row, .prem-market-row, .prem-strategy-bar) {
  background: rgba(255, 255, 255, 0.96);
  border-bottom-color: var(--lt-border);
}
html[data-theme="light"]
  :is(.prem-pair-row-label, .prem-panel-label, .prem-kbd-hint) {
  color: var(--lt-txt3);
}
html[data-theme="light"] :is(.prem-market-select, .prem-pair-select) {
  background: var(--lt-card);
  border-color: var(--lt-border);
  color: var(--lt-txt);
}
html[data-theme="light"] :is(.prem-market-select, .prem-pair-select) option {
  background-color: #ffffff;
  color: var(--lt-txt);
}
html[data-theme="light"] .prem-logo {
  color: var(--lt-accent);
}
html[data-theme="light"]
  :is(.prem-pair-btn, .prem-tf-btn, .prem-strat-btn, .prem-close-btn) {
  background: var(--lt-card);
  border-color: var(--lt-border);
  color: var(--lt-txt2);
}
html[data-theme="light"]
  :is(.prem-pair-btn, .prem-tf-btn, .prem-strat-btn, .prem-market-btn):hover {
  background: var(--lt-card-2);
  color: var(--lt-txt);
}
html[data-theme="light"] .prem-pair-btn.active-prem-pair,
html[data-theme="light"] .prem-market-btn.active-prem-market {
  background: var(--lt-accent-soft);
  border-color: rgba(109, 40, 217, 0.35);
  color: var(--lt-accent);
}
html[data-theme="light"] .prem-tf-btn.active-prem-tf {
  background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%);
  border-color: rgba(217, 119, 6, 0.9);
  color: #1a1205;
}
html[data-theme="light"] .prem-strat-btn.active-strat {
  color: var(--lt-txt);
}
html[data-theme="light"] .prem-market-btn {
  border-color: var(--lt-border);
  color: var(--lt-txt3);
}
html[data-theme="light"] #premChartContainer {
  background: #ffffff;
}
html[data-theme="light"] #premChartContainer.prem-chart-loading::after {
  background: rgba(255, 255, 255, 0.5);
}
html[data-theme="light"] #premSignalPanel {
  background: var(--lt-card);
  border-color: var(--lt-border);
}
html[data-theme="light"] #premSignalPanel:not(.prem-panel-open)::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 92%);
}
html[data-theme="light"] #premSignalPanel::-webkit-scrollbar-thumb {
  background: rgba(23, 23, 31, 0.15);
}
html[data-theme="light"]
  :is(.prem-panel-block, .kill-criterion, .pd-desk, .pd-sec, .pd-check) {
  border-color: var(--lt-border-soft);
}
html[data-theme="light"] .prem-level-row {
  background: rgba(23, 23, 31, 0.03);
}
html[data-theme="light"] .prem-sticky-header {
  background: rgba(255, 255, 255, 0.97);
  border-bottom-color: var(--lt-border);
}
html[data-theme="light"] .prem-sticky-header .prem-price {
  color: var(--lt-txt);
}
html[data-theme="light"] .prem-sticky-header .prem-price-sub {
  color: var(--lt-txt3);
}
html[data-theme="light"]
  :is(
    .prem-sig-pill.bull,
    .pd-buy,
    .pd-f-tp .pd-v,
    .pd-tick,
    .pd-t-live,
    .pd-stage.now.tp
  ) {
  color: var(--lt-buy);
}
html[data-theme="light"]
  :is(.prem-sig-pill.bear, .pd-sell, .pd-f-sl .pd-v, .pd-stage.now.sl) {
  color: var(--lt-sell);
}
html[data-theme="light"] .prem-sig-pill.blue {
  color: #1d4ed8;
}
html[data-theme="light"]
  :is(.prem-sig-pill.amber, .pd-warn, .pd-rr, .pd-t-warn, .pd-t-arm) {
  color: var(--lt-warn);
}
html[data-theme="light"] .kill-criterion .kc-label {
  color: var(--lt-txt3);
}
html[data-theme="light"] .kill-criterion.met .kc-label {
  color: var(--lt-txt);
}
html[data-theme="light"] #premPanelMore {
  color: var(--lt-accent);
}
html[data-theme="light"]
  :is(
    .pd-k,
    .pd-s,
    .pd-note,
    .pd-sizesub,
    .pd-sec-meta,
    .pd-time,
    .pd-other-status
  ) {
  color: var(--lt-txt3);
}
html[data-theme="light"] :is(.pd-v, .pd-empty-title, .pd-btn, .pd-other-name) {
  color: var(--lt-txt);
}
html[data-theme="light"]
  :is(.pd-type, .pd-sec-title, .pd-rule, .pd-ev-text, .pd-other) {
  color: #33333d;
}
html[data-theme="light"] :is(.pd-only, .pd-val, .pd-stage.done) {
  color: var(--lt-txt2);
}
html[data-theme="light"] .pd-stage {
  color: #9a9aa6;
  border-top-color: var(--lt-border);
}
html[data-theme="light"] .pd-stage.now {
  color: var(--lt-accent);
  border-top-color: #7c5cff;
}
html[data-theme="light"] .pd-stage.done {
  border-top-color: rgba(4, 120, 87, 0.5);
}
html[data-theme="light"] :is(.pd-ticket, .pd-field, .pd-other, .pd-btn) {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
}
html[data-theme="light"] .pd-other.current {
  background: var(--lt-accent-soft);
  border-color: rgba(109, 40, 217, 0.35);
}
html[data-theme="light"] .pd-in input {
  background: var(--lt-card);
  border-color: var(--lt-border);
  color: var(--lt-txt);
}
html[data-theme="light"] .pd-lotbox .pd-v {
  color: var(--lt-accent);
}
html[data-theme="light"] .pd-chev {
  border-color: var(--lt-txt3);
}
html[data-theme="light"] .pd-ev::before {
  background: var(--lt-border);
}
html[data-theme="light"] .premium-lock-overlay {
  background: rgba(246, 245, 250, 0.85);
}

/* Tool alert strip: its row paints a black 25% veil inline. */
html[data-theme="light"] #premAlertsStrip > div {
  background: var(--lt-card) !important;
  border-bottom-color: var(--lt-border) !important;
}

/* Trade ruler */
html[data-theme="light"] .ls-ruler {
  --lsr-track: rgba(23, 23, 31, 0.07);
  --lsr-risk: rgba(220, 38, 38, 0.1);
  --lsr-reward: rgba(4, 120, 87, 0.07);
  --lsr-exit: rgba(4, 120, 87, 0.18);
  --lsr-up: #047857;
  --lsr-down: #dc2626;
  --lsr-ink: #33333d;
  --lsr-dim: #6b6b78;
  --lsr-ring: #ffffff;
}
html[data-theme="light"] .lsr-dot {
  background: #17171f;
}
html[data-theme="light"] .lsr-dot.is-waiting {
  background: transparent;
  box-shadow: 0 0 0 2px #6b6b78, 0 0 0 5px #ffffff;
}

/* P&L in R and money */
html[data-theme="light"] .ls-plm-set {
  color: var(--lt-txt3);
}
html[data-theme="light"] .ls-plm-set:hover {
  color: var(--lt-txt);
}
html[data-theme="light"] .ls-plm-val.is-up {
  color: var(--lt-buy);
}
html[data-theme="light"] .ls-plm-val.is-down {
  color: var(--lt-sell);
}

/* Signal Lifecycle button */
html[data-theme="light"] .ls-lifecycle-btn {
  background: rgba(124, 92, 255, 0.08);
  border-color: rgba(124, 92, 255, 0.35);
}
html[data-theme="light"] .ls-lc-text b {
  color: #1e1b4b;
}
html[data-theme="light"] .ls-lc-text small {
  color: #52525b;
}
html[data-theme="light"] .ls-lc-count {
  color: #047857;
}

/* Checkout loader (js/checkoutLoader.js) */
html[data-theme="light"] .ls-analysis-only {
  color: #92400e;
}
html[data-theme="light"] .ls-analysis-only-tag,
html[data-theme="light"] .ls-analysis-chip {
  color: #b45309;
  background: rgba(245, 158, 11, 0.12);
}
html[data-theme="light"] .pay-off-note {
  color: #b45309;
}
html[data-theme="light"] .ckl {
  background: rgba(241, 245, 249, 0.85);
}
html[data-theme="light"] .ckl-card {
  background: #ffffff;
  border-color: rgba(124, 92, 255, 0.3);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}
html[data-theme="light"] .ckl-title {
  color: #0f172a;
}
html[data-theme="light"] .ckl-method {
  color: #6d28d9;
}
html[data-theme="light"] .ckl-step {
  color: #334155;
}
html[data-theme="light"] .ckl-note {
  color: #b45309;
  border-top-color: rgba(15, 23, 42, 0.08);
}

/* Sensei Scanner overlay on phones: the sticky header must be opaque (style.css
   sets a dark solid ground there, which would otherwise win over the rule above). */
@media (max-width: 640px) {
  html[data-theme="light"] #premScannerModal:not(.prem-inline) .prem-header {
    background: #ffffff;
  }
}

/* Today's brief (js/dailyBrief.js): the sheet follows --sheet-*; only the
   status colours need darker shades to read on the light sheet. */
html[data-theme="light"] .br-overlay {
  --br-buy: #047857;
  --br-buy-bg: rgba(4, 120, 87, 0.1);
  --br-sell: #dc2626;
  --br-warn: #b45309;
  --br-warn-bg: rgba(180, 83, 9, 0.1);
  --br-track: rgba(23, 23, 31, 0.09);
}

/* Sensei Scanner laptop layout (2026-10-04): glass and dropdowns on paper. */
html[data-theme="light"] #premScannerModal {
  --prem-glass: rgba(255, 255, 255, 0.66);
  --prem-glass-border: rgba(23, 23, 31, 0.12);
  --prem-glass-shadow: 0 10px 28px rgba(23, 23, 31, 0.14);
  --prem-pop-bg: rgba(255, 255, 255, 0.98);
}
html[data-theme="light"] .prem-desk-btn {
  background: var(--lt-card);
  border-color: var(--lt-border);
  color: var(--lt-txt);
}
html[data-theme="light"] .prem-desk-btn:hover {
  background: var(--lt-card-2);
}
html[data-theme="light"] .prem-desk-btn[aria-expanded="true"] {
  background: var(--lt-accent-soft);
  border-color: rgba(109, 40, 217, 0.35);
}
html[data-theme="light"] .prem-alert-count[data-n="0"] {
  background: rgba(23, 23, 31, 0.1);
  color: var(--lt-txt2);
}
html[data-theme="light"] .prem-float #premTfFloat .prem-tf-btn:not(.active-prem-tf) {
  background: transparent;
  border-color: transparent;
  color: var(--lt-txt2);
}
html[data-theme="light"] .prem-float #premTfFloat .prem-tf-btn:not(.active-prem-tf):hover {
  background: rgba(23, 23, 31, 0.06);
}
html[data-theme="light"] .prem-float .prem-strategy-bar.prem-pop-open {
  background: var(--prem-pop-bg);
}
@media (prefers-reduced-transparency: reduce) {
  html[data-theme="light"] .prem-float #premTfFloat,
  html[data-theme="light"] .prem-float #premChartToggles button {
    background: rgba(255, 255, 255, 0.96) !important;
  }
}
html[data-theme="light"] .prem-float #premTfFloat .prem-tf-btn.active-prem-tf {
  background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%);
  color: #1a1205;
}
html[data-theme="light"] .prem-float #premPanelBtn:hover {
  background: var(--lt-card-2);
  border-color: var(--lt-border);
  color: var(--lt-txt);
}
/* Sensei Scanner night desk (2026-10-05) on paper: the same tokens, light
   values. Teal and coral are deepened so they hold 4.5:1 on white; the amber
   fill keeps its dark ink. */
html[data-theme="light"] #premScannerModal {
  --nd-ground: #f4f6fa;
  --nd-bar: #ffffff;
  --nd-surface: #ffffff;
  --nd-card: #f6f8fb;
  --nd-input: #ffffff;
  --nd-line: #e3e7ee;
  --nd-line2: #d5dbe5;
  --nd-text: #141821;
  --nd-text2: #2d3543;
  --nd-muted: #556072;
  --nd-faint: #6b7586;
  --nd-amber: #f5a524;
  --nd-amber-ink: #1b1205;
  --nd-amber-soft: rgba(245, 165, 36, 0.16);
  --nd-amber-text: #8a5300;
  --tc-up: #0e9f86;
  --tc-dn: #d9414f;
  --tc-up-text: #0b7a67;
  --tc-up-soft: rgba(14, 159, 134, 0.12);
  --tc-dn-soft: rgba(217, 65, 79, 0.12);
}
html[data-theme="light"] #premScannerModal #premChartContainer {
  background: #ffffff;
}

/* ICT trial strategies (js/ictTrial.js) — token values only */
html[data-theme="light"] .ict-trial {
  --it-bg: #fffbeb;
  --it-line: #f3c96b;
  --it-tag-bg: #fef3c7;
  --it-tag: #92400e;
  --it-text: #1f2937;
  --it-dim: #57534e;
  --it-row: #ffffff;
  --it-row-line: #ece4d2;
  --it-buy: #047857;
  --it-sell: #b91c1c;
  --it-live: #047857;
}
