/* Shared light palette. Component declarations retain their original dark
   colors as var() fallbacks, so an unset/missing preference stays dark.
   Keep images, video surfaces, QR artwork and dimming backdrops unmodified. */
:root[data-lfl-theme="light"] {
  color-scheme: light;
  --lfl-page: #f4f6fa;
  --lfl-surface: #ffffff;
  --lfl-surface-soft: #edf1f7;
  --lfl-surface-hover: #e2e8f1;
  --lfl-selection: #dceaff;
  --lfl-text: #172534;
  --lfl-muted: #526173;
  --lfl-border: #c9d3e0;
  --lfl-wash: rgba(32, 53, 80, .055);
  --lfl-wash-strong: rgba(32, 53, 80, .12);
  --lfl-shadow: rgba(22, 40, 65, .16);
  --lfl-shadow-soft: rgba(22, 40, 65, .06);
  --lfl-author-lightness: 27%;
  --lfl-on-accent: #ffffff;
  --lfl-blue-text: #075db3;
  --lfl-blue-solid: #1261c9;
  --lfl-blue-border: #83afe5;
  --lfl-blue-wash: #e9f2ff;
  --lfl-green-text: #18683d;
  --lfl-green-solid: #18703e;
  --lfl-green-border: #83b99a;
  --lfl-green-wash: #eaf6ee;
  --lfl-red-text: #b02836;
  --lfl-red-solid: #bc3040;
  --lfl-red-border: #d79a9f;
  --lfl-red-wash: #fff0f1;
  --lfl-amber-text: #895300;
  --lfl-amber-solid: #925900;
  --lfl-amber-border: #c8aa69;
  --lfl-amber-wash: #fff5df;
  --lfl-cyan-text: #0e6972;
  --lfl-cyan-solid: #08717c;
  --lfl-cyan-border: #80bac1;
  --lfl-cyan-wash: #e9f7f8;
  --lfl-purple-text: #713ca8;
  --lfl-purple-solid: #7841ae;
  --lfl-purple-border: #b59acf;
  --lfl-purple-wash: #f4edfc;
}

/* Voice Room semantic colors serve both links and the selected room section. */
:root[data-lfl-theme="light"] .moq-section-item.active {
  color: #fff;
}

:root[data-lfl-theme="light"] .blocks-button--primary { color: #fff; }
:root[data-lfl-theme="light"] .media-network-type-filter input[type="date"] { color-scheme: light; }

/* The live header may paint before its identity badge color is populated. */
:root[data-lfl-theme="light"] .live-gender-badge { background: #393838; }

/* Filled variants inherit their color from neutral base controls in dark mode. */
:root[data-lfl-theme="light"] .watch-btn:not(.client-button),
:root[data-lfl-theme="light"] .live-badge,
:root[data-lfl-theme="light"] .lfl-floataction--guest,
:root[data-lfl-theme="light"] .lfl-browse-login button:hover,
:root[data-lfl-theme="light"] .lfl-browse-login button:focus-visible,
:root[data-lfl-theme="light"] .stream-quality-option:is(:hover, :focus-visible, .is-selected),
:root[data-lfl-theme="light"] .stream-quality-option:is(:hover, :focus-visible, .is-selected) .stream-quality-check,
:root[data-lfl-theme="light"] .live-quote-actions #liveQuotePublish,
:root[data-lfl-theme="light"] .moq-zap-dialog button[type="submit"][data-identity="ghost"],
:root[data-lfl-theme="light"] #balance-box.balance-level--empty,
:root[data-lfl-theme="light"] #balance-box.balance-level--empty .icon {
  color: #fff;
}
:root[data-lfl-theme="light"] .live-custom-emoji button {
  background: var(--lfl-blue-solid);
  color: #fff;
}

/* Dev.09 restarts from the first light palette. Reading surfaces and controls
   remain light in idle, hover and selected states; contrast comes from ink. */
:root[data-lfl-theme="light"] {
  --lfl-rose-text: #9d2861;
  --lfl-card-shadow: 0 3px 16px rgba(32, 53, 80, .075);
  --lfl-action-bg: #e5effc;
  --lfl-action-hover: #d6e7fc;
  --lfl-action-ink: #22588c;
}
:root[data-lfl-theme="light"] :is(.card, .note-card, .video-card, .live-card, .moq-card, .streams-sidebar):not(.notification-card):not(.is-unread) {
  border-color: transparent;
  box-shadow: var(--lfl-card-shadow);
}
:root[data-lfl-theme="light"] .top-bar {
  background: #fff;
  border-bottom-color: transparent;
  box-shadow: 0 2px 12px rgba(32, 53, 80, .065);
}
:root[data-lfl-theme="light"] .top-bar-inner { border-color: transparent; background: transparent; }
:root[data-lfl-theme="light"] :is(.top-link, .lfl-notification-link, .mobile-menu-btn, .lfl-dock-btn, .nav-more) {
  background: #edf3fb;
  color: #345671;
  border-color: transparent;
  border-radius: 9px;
  box-shadow: none;
}
:root[data-lfl-theme="light"] :is(.top-link, .lfl-notification-link, .mobile-menu-btn, .lfl-dock-btn, .nav-more):is(:hover, :focus-visible) {
  background: #e2edfc;
  color: #204e7b;
}
:root[data-lfl-theme="light"] :is(.top-link, .lfl-notification-link, .mobile-menu-btn, .lfl-dock-btn):is(.active, .is-active, [aria-expanded="true"]) {
  background: #dceafb;
  color: #204e7b;
  border-color: transparent;
  box-shadow: inset 0 -2px 0 #6899cb;
}
:root[data-lfl-theme="light"] .lfl-dock-btn.is-active::after { background: #6899cb; box-shadow: none; }
:root[data-lfl-theme="light"] :is(.sidebar-item, .nav-sub) { border-color: transparent; border-radius: 7px; }
:root[data-lfl-theme="light"] :is(.sidebar-item, .nav-sub):is(:hover, :focus-visible, .active) {
  background: #e6f0fc;
  color: #22588c;
  border-color: transparent;
}
:root[data-lfl-theme="light"] .sidebar-item.active { box-shadow: inset 3px 0 0 #7aa5d2; }

/* A white information card, grouped quiet counters, and softly colored actions. */
:root[data-lfl-theme="light"] .live-meta {
  margin-top: 9px;
  padding: 10px 12px;
  background: #fff;
  color: var(--lfl-text);
  border-radius: 12px;
  box-shadow: var(--lfl-card-shadow);
}
:root[data-lfl-theme="light"] .live-meta :is(.live-country-pill, .live-streamer-name, .live-gender-pill) {
  background: transparent;
  border-color: transparent;
  opacity: 1;
}
:root[data-lfl-theme="light"] .live-meta .live-streamer-name { color: #2d4863; font-weight: 750; }
:root[data-lfl-theme="light"] .live-meta .live-meta-pill {
  background: #edf4fb;
  border-color: transparent;
  color: #365d7e;
  opacity: 1;
}
:root[data-lfl-theme="light"] .live-meta .live-meta-counter { background: transparent; }
:root[data-lfl-theme="light"] .live-meta-pill :is(.live-meta-label, .live-meta-value) { color: inherit; }
:root[data-lfl-theme="light"] .live-meta .live-summary { color: var(--lfl-muted); }
:root[data-lfl-theme="light"] .live-meta :is(.live-event-action-button, .stream-quality-button) {
  background: var(--lfl-action-bg);
  color: var(--lfl-action-ink);
  border-color: transparent;
  box-shadow: none;
}
:root[data-lfl-theme="light"] .live-meta .live-reaction-button { background: #fbeaf1; color: #92365f; }
:root[data-lfl-theme="light"] .live-meta .live-voice-button { background: #e1f3ed; color: #25654f; }
:root[data-lfl-theme="light"] .live-meta .live-voice-button.voice-live:not(.voice-disabled) { background: #ccebdd; color: #205d47; }
:root[data-lfl-theme="light"] .live-meta :is(.live-voice-button.voice-disabled, .live-voice-button.voice-offline) { background: #eef1f5; color: #637286; }
:root[data-lfl-theme="light"] .live-meta :is(.live-event-action-button, .stream-quality-button, .live-voice-button):not(:disabled):is(:hover, :focus-visible, .is-active) {
  background: var(--lfl-action-hover);
  color: var(--lfl-action-ink);
}
:root[data-lfl-theme="light"] .chat-wrapper.card { border-color: transparent; box-shadow: var(--lfl-card-shadow); }
:root[data-lfl-theme="light"] .chat-header-bar { background: #edf4fc; border-radius: 8px; padding: 10px; }
:root[data-lfl-theme="light"] .chat-header-bar :is(h3, .chat-title-link, .chat-title-link:hover h3) { color: #355878; }
:root[data-lfl-theme="light"] .chat-toggle-btn { background: #fff; border-color: transparent; color: #466078; }
:root[data-lfl-theme="light"] .stats-row > .stats-box { border-color: transparent; box-shadow: 0 2px 10px rgba(32, 53, 80, .055); }

/* One continuous, light Zap face. The gold symbol has its own outline, so it
   needs neither a yellow-on-yellow fill nor a dark button for visibility. */
:root[data-lfl-theme="light"] .stats-box--zap {
  padding: 0;
  background: #efe9fb;
  border-color: transparent;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(99, 71, 149, .1);
}
:root[data-lfl-theme="light"] .stats-box--zap .zap-icon {
  flex: 1 1 auto;
  align-self: stretch;
  gap: 6px;
  background: transparent;
  color: #60478b;
}
:root[data-lfl-theme="light"] .stats-box--zap:has(.zap-icon:not(.zap-unavailable):is(:hover, :focus-visible)) { background: #e5daf6; }
:root[data-lfl-theme="light"] .stats-box--zap.zap-unavailable-wrap { background: #fff0f1; }
:root[data-lfl-theme="light"] .stats-box--zap .zap-icon.zap-unavailable { color: var(--lfl-red-text); }
:root[data-lfl-theme="light"] :is(.lfl-zap-symbol, .note-zap-trigger > span[aria-hidden="true"]) {
  display: inline-block;
  flex: 0 0 auto;
  width: 15px;
  height: 19px;
  font-size: 0;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath d='M10.6 1 2 12.5h6.1L6.8 21 16 8.5h-6.1z' fill='%23f4c343' stroke='%23815b13' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Pulse identity stays blue, with white artwork overlays in component CSS. */
:root[data-lfl-theme="light"] .pulse-live-link {
  background: #e5f0ff;
  border-color: transparent;
  box-shadow: 0 2px 10px rgba(61, 105, 160, .1);
  color: #2a6098;
}
:root[data-lfl-theme="light"] .pulse-live-link:is(.is-active, :hover, :focus-visible) {
  background: #d7e9ff;
  border-color: transparent;
  box-shadow: 0 2px 10px rgba(61, 105, 160, .14);
}
:root[data-lfl-theme="light"] .pulse-live-link .pulse-live-count { color: #2a6098; }
:root[data-lfl-theme="light"] :is(.pulse-hero, .pulse-history-header) { background: #edf5ff; border-color: transparent; box-shadow: var(--lfl-card-shadow); }
/* Keep inner supporter, identity and history panels distinct from white cards. */
:root[data-lfl-theme="light"] { --pulse-panel-2: #eaf2fd; }
:root[data-lfl-theme="light"] .pulse-supporter { border-color: transparent; }
:root[data-lfl-theme="light"] .pulse-heart { background: #fff; }
:root[data-lfl-theme="light"] .pulse-count-card { background: #fff; border-color: transparent; }
:root[data-lfl-theme="light"] :is(.pulse-join-card, .pulse-supporters-card, .pulse-history-card) { border-color: transparent; box-shadow: var(--lfl-card-shadow); }

/* Shared controls keep light fills in every interaction state. Status badges
   retain their semantic colors; media and QR surfaces are left alone. */
:root[data-lfl-theme="light"] .notes-tab-tool,
:root[data-lfl-theme="light"] .note-interaction-control,
:root[data-lfl-theme="light"] .notifications-filter,
:root[data-lfl-theme="light"] .media-type-tab,
:root[data-lfl-theme="light"] .pulse-primary,
:root[data-lfl-theme="light"] .pulse-section-heading button,
:root[data-lfl-theme="light"] .pulse-history-actions a,
:root[data-lfl-theme="light"] .pulse-history-actions button,
:root[data-lfl-theme="light"] .sidebar-tab,
:root[data-lfl-theme="light"] #sendButton,
:root[data-lfl-theme="light"] .tab-button.active,
:root[data-lfl-theme="light"] .blocks-button--primary,
:root[data-lfl-theme="light"] .watch-btn:not(.client-button),
:root[data-lfl-theme="light"] .moq-section-item.active,
:root[data-lfl-theme="light"] .lfl-floataction--guest,
:root[data-lfl-theme="light"] .lfl-browse-login button,
:root[data-lfl-theme="light"] .lfl-lightning-checkout-wallet,
:root[data-lfl-theme="light"] .stream-quality-option.is-selected,
:root[data-lfl-theme="light"] .stream-quality-option.is-selected .stream-quality-check,
:root[data-lfl-theme="light"] .live-quote-actions #liveQuotePublish,
:root[data-lfl-theme="light"] .live-custom-emoji button,
:root[data-lfl-theme="light"] .moq-zap-dialog button[type="submit"][data-identity="ghost"] {
  background: var(--lfl-action-bg);
  color: var(--lfl-action-ink);
  border-color: transparent;
  box-shadow: none;
}
:root[data-lfl-theme="light"] .notes-tab-tool:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .note-interaction-control:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .notifications-filter:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .media-type-tab:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .pulse-primary:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .pulse-section-heading button:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .pulse-history-actions a:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .pulse-history-actions button:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .sidebar-tab:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] #sendButton:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .watch-btn:not(.client-button):not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .blocks-button--primary:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .lfl-browse-login button:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .lfl-lightning-checkout-wallet:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]),
:root[data-lfl-theme="light"] .stream-quality-option:not(:disabled):is(:hover, :focus-visible, .is-active, [aria-expanded="true"], [aria-pressed="true"]) {
  background: var(--lfl-action-hover);
  color: var(--lfl-action-ink);
  border-color: transparent;
}
:root[data-lfl-theme="light"] .stream-quality-option:is(:hover, :focus-visible, .is-selected) .stream-quality-check { color: inherit; }
:root[data-lfl-theme="light"] .note-interaction-control.note-zap-trigger { background: #efe9fb; color: #60478b; border-color: transparent; box-shadow: none; }
:root[data-lfl-theme="light"] .note-interaction-control.note-zap-trigger:not(:disabled):is(:hover, :focus-visible, [aria-expanded="true"]) { background: #e5daf6; color: #60478b; }
:root[data-lfl-theme="light"] .sidebar-tab.is-active { background: var(--lfl-action-hover); color: var(--lfl-action-ink); border-color: transparent; }

/* Counts use the normal reading color. Color stays on the emoji artwork. */
:root[data-lfl-theme="light"] :is(.note-stats, .live-stats) { color: var(--lfl-text); opacity: 1; }
:root[data-lfl-theme="light"] :is(.note-stats, .live-stats) :is(.note-reply-count, .note-reaction-count, .note-boost-count, .note-quote-count, .note-zap-count, .note-sats-count, .s-num) { color: inherit; font-weight: 650; }
:root[data-lfl-theme="light"] :is(.note-stat-quote-icon, .sidebar-quote-icon, .profile-quote-icon, .image-quote-icon, .live-quote-icon) {
  background: rgba(33, 150, 243, .42);
  border-color: rgba(77, 163, 255, .72);
  color: #074b85;
}
:root[data-lfl-theme="light"] :is(.sats-symbol, .image-sats-symbol),
:root[data-lfl-theme="light"] .zap-amount .sats,
:root[data-lfl-theme="light"] #zap-count .sats { color: #f7931a; }

/* The four Respond choices remain visible against their surrounding panel. */
:root[data-lfl-theme="light"] .note-respond-option { background: var(--lfl-surface-soft); }
:root[data-lfl-theme="light"] .note-respond-option:is(:hover, :focus-visible) {
  background: var(--lfl-surface-hover);
  border-color: var(--lfl-blue-border);
}
:root[data-lfl-theme="light"] :is(.top-link, .lfl-notification-link, .mobile-menu-btn, .lfl-dock-btn, .nav-sub, .sidebar-item, .media-type-tab, .notifications-filter, .notes-tab-tool, .note-interaction-control, .live-event-action-button, .stream-quality-button, .pulse-primary, .pulse-live-link, .stats-box--zap .zap-icon):focus-visible {
  outline: 2px solid #6293c9;
  outline-offset: 3px;
}
