/* Theme-only color layer. It intentionally does not filter or alter research charts or logos. */

:root {
  color-scheme: dark;
  --theme-control-bg: rgba(255, 248, 237, 0.035);
  --theme-control-border: rgba(194, 167, 121, 0.42);
  --theme-control-color: #efe5d5;
  --theme-control-hover: rgba(183, 139, 81, 0.14);
  --theme-focus: rgba(222, 193, 152, 0.9);
}

html[data-theme="light"] {
  color-scheme: light;
  --site-bg: #f8f5ef;
  --site-bg-2: #eee9e0;
  --site-panel: rgba(255, 253, 248, 0.96);
  --site-panel-soft: rgba(247, 242, 233, 0.96);
  --site-line: rgba(112, 76, 33, 0.2);
  --site-line-strong: rgba(112, 76, 33, 0.42);
  --site-text: #29241e;
  --site-soft: #4e463b;
  --site-muted: #6d6254;
  --site-accent: #8a5c1e;
  --site-accent-soft: #78521c;
  --site-olive: #4f6544;
  --site-olive-soft: #6b7d62;
  --site-danger: #9b3c2c;
  --site-shadow-lg: 0 28px 70px rgba(65, 50, 32, 0.14);
  --site-shadow-md: 0 16px 36px rgba(65, 50, 32, 0.11);

  --bg: #f8f5ef;
  --bg-2: #eee9e0;
  --panel: rgba(255, 253, 248, 0.96);
  --panel-soft: rgba(247, 242, 233, 0.96);
  --line: rgba(112, 76, 33, 0.2);
  --line-strong: rgba(112, 76, 33, 0.42);
  --text: #29241e;
  --muted: #6d6254;
  --soft: #4e463b;
  --accent: #8a5c1e;
  --accent-soft: #78521c;
  --olive: #4f6544;
  --olive-soft: #6b7d62;
  --danger: #9b3c2c;
  --success: #3f6744;
  --shadow-lg: 0 24px 60px rgba(65, 50, 32, 0.14);
  --shadow-md: 0 16px 36px rgba(65, 50, 32, 0.11);

  --theme-canvas: #f8f5ef;
  --theme-canvas-deep: #eee9e0;
  --theme-surface: #fffdf8;
  --theme-surface-soft: #f7f2e9;
  --theme-surface-tint: #f2ecdf;
  --theme-field: #fffdf8;
  --theme-media: #eee9df;
  --theme-border: rgba(112, 76, 33, 0.2);
  --theme-border-strong: rgba(112, 76, 33, 0.42);
  --theme-grid-line: rgba(112, 76, 33, 0.14);
  --theme-shadow: rgba(65, 50, 32, 0.12);
  --theme-control-bg: rgba(255, 253, 248, 0.78);
  --theme-control-border: rgba(112, 76, 33, 0.34);
  --theme-control-color: #4e463b;
  --theme-control-hover: rgba(138, 92, 30, 0.11);
  --theme-focus: #78521c;
}

.site-nav-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.theme-toggle {
  width: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--theme-control-border);
  border-radius: 999px;
  background: var(--theme-control-bg);
  color: var(--theme-control-color);
  font: inherit;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.theme-toggle:hover {
  background: var(--theme-control-hover);
  transform: translateY(-1px);
}

.theme-toggle:focus-visible {
  outline: 2px solid var(--theme-focus);
  outline-offset: 3px;
}

.sp-action.ghost.theme-toggle {
  width: 42px;
  min-width: 42px;
  padding: 0;
  background: var(--theme-control-bg);
  color: var(--theme-control-color);
}

.theme-toggle-icon::before {
  content: "☀";
  display: block;
  font-size: 1rem;
  line-height: 1;
}

html[data-theme="light"] .theme-toggle-icon::before {
  content: "☾";
  font-size: 1.12rem;
}

@media (max-width: 640px) {
  .site-nav-actions {
    justify-content: flex-start;
  }
}

html[data-theme="light"] body,
html[data-theme="light"] body.site-theme {
  color: var(--site-text, var(--text));
  background:
    radial-gradient(circle at top left, rgba(164, 127, 76, 0.15), transparent 24%),
    radial-gradient(circle at 85% 18%, rgba(79, 101, 68, 0.12), transparent 26%),
    linear-gradient(180deg, #fbf8f2 0%, var(--theme-canvas-deep) 46%, var(--theme-canvas) 100%);
}

html[data-theme="light"] body::before,
html[data-theme="light"] body.site-theme::before {
  opacity: 0.16;
  background-image: radial-gradient(rgba(83, 64, 39, 0.28) 0.6px, transparent 0.6px);
}

html[data-theme="light"] body::after,
html[data-theme="light"] body.site-theme::after {
  background:
    linear-gradient(90deg, rgba(112, 76, 33, 0.035) 0, transparent 20%, transparent 80%, rgba(112, 76, 33, 0.035) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
}

html[data-theme="light"] .site-nav,
html[data-theme="light"] .sp-topbar {
  border-color: rgba(112, 76, 33, 0.16);
  background: rgba(255, 253, 248, 0.86);
}

html[data-theme="light"] .site-brand-mark,
html[data-theme="light"] .sp-brand-mark {
  border-color: var(--theme-border);
  background: linear-gradient(135deg, rgba(138, 92, 30, 0.1), rgba(79, 101, 68, 0.12));
}

html[data-theme="light"] .site-brand-mark,
html[data-theme="light"] .sp-brand-mark:not(.fallback) {
  color: var(--site-text, var(--text));
}

html[data-theme="light"] .logo-shell.missing,
html[data-theme="light"] .sp-brand-mark.fallback {
  background: linear-gradient(135deg, rgba(138, 92, 30, 0.22), rgba(79, 101, 68, 0.22));
}

html[data-theme="light"] .site-links,
html[data-theme="light"] .sp-global-nav {
  border-color: var(--theme-border);
  background: rgba(255, 253, 248, 0.7);
}

html[data-theme="light"] .site-links a:hover,
html[data-theme="light"] .site-links a.active,
html[data-theme="light"] .sp-global-nav a:hover,
html[data-theme="light"] .sp-global-nav a:focus-visible,
html[data-theme="light"] .sp-anchor:hover,
html[data-theme="light"] .sp-anchor.active,
html[data-theme="light"] .sp-side-nav a:hover,
html[data-theme="light"] .sp-side-nav a.active,
html[data-theme="light"] .filter-chip:hover,
html[data-theme="light"] .filter-chip.active,
html[data-theme="light"] .pill-nav button:hover,
html[data-theme="light"] .pill-nav button.active,
html[data-theme="light"] .table-action:hover,
html[data-theme="light"] .footer-link:hover {
  background: rgba(138, 92, 30, 0.11);
}

html[data-theme="light"] .cta,
html[data-theme="light"] .sp-action:not(.ghost) {
  border-color: #8a5c1e;
  background: #8a5c1e;
  color: #fffaf2;
}

html[data-theme="light"] .ghost-cta,
html[data-theme="light"] .filter-chip,
html[data-theme="light"] .pill-nav button,
html[data-theme="light"] .table-action,
html[data-theme="light"] .sp-action.ghost,
html[data-theme="light"] .sp-anchor,
html[data-theme="light"] .sp-side-nav a {
  border-color: var(--theme-border-strong);
  background: rgba(255, 253, 248, 0.65);
  color: var(--site-text, var(--text));
}

html[data-theme="light"] .hero-panel,
html[data-theme="light"] .panel,
html[data-theme="light"] .radar-card,
html[data-theme="light"] .board-row,
html[data-theme="light"] .feature-card,
html[data-theme="light"] .viewer-panel,
html[data-theme="light"] .viewer-ad,
html[data-theme="light"] .comparison-card,
html[data-theme="light"] .sp-panel {
  border-color: var(--theme-border);
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(247, 242, 233, 0.96)),
    var(--theme-surface);
  box-shadow: 0 16px 36px var(--theme-shadow);
}

html[data-theme="light"] .stat-card,
html[data-theme="light"] .signal-card,
html[data-theme="light"] .metric-card,
html[data-theme="light"] .snapshot-card,
html[data-theme="light"] .logo-shell,
html[data-theme="light"] .badge,
html[data-theme="light"] .status-badge,
html[data-theme="light"] .heatmap-badge,
html[data-theme="light"] .search-shell,
html[data-theme="light"] .sp-badge,
html[data-theme="light"] .sp-dossier-card,
html[data-theme="light"] .sp-kpi,
html[data-theme="light"] .sp-signal-card,
html[data-theme="light"] .sp-chart-card,
html[data-theme="light"] .sp-side-grid article,
html[data-theme="light"] .sp-fact,
html[data-theme="light"] .sp-dossier-details,
html[data-theme="light"] .community-form,
html[data-theme="light"] .community-feed-shell,
html[data-theme="light"] .community-note-card,
html[data-theme="light"] .community-file-list span {
  border-color: var(--theme-border);
  background: rgba(255, 253, 248, 0.72);
  box-shadow: none;
}

html[data-theme="light"] .snapshot-card,
html[data-theme="light"] .community-form,
html[data-theme="light"] .community-feed-shell {
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(247, 242, 233, 0.78));
}

html[data-theme="light"] .status-badge.ready,
html[data-theme="light"] .sp-badge.tone-ready {
  border-color: rgba(63, 103, 68, 0.42);
  background: rgba(63, 103, 68, 0.1);
  color: #315c36;
}

html[data-theme="light"] .status-badge.limited,
html[data-theme="light"] .sp-badge.tone-limited {
  border-color: rgba(155, 60, 44, 0.42);
  background: rgba(155, 60, 44, 0.08);
  color: #8d392d;
}

html[data-theme="light"] .sp-kpi-value.positive {
  color: #315c36;
}

html[data-theme="light"] .sp-kpi-value.negative {
  color: #8d392d;
}

html[data-theme="light"] .lead-figure,
html[data-theme="light"] .micro-figure,
html[data-theme="light"] .row-figure,
html[data-theme="light"] .preview-tile,
html[data-theme="light"] .viewer-stage,
html[data-theme="light"] .comparison-media,
html[data-theme="light"] .sp-chart-media,
html[data-theme="light"] .community-image-grid figure,
html[data-theme="light"] img[data-protected-src][src=""] {
  border-color: var(--theme-border);
  background: var(--theme-media);
}

html[data-theme="light"] .viewer-stage {
  background:
    linear-gradient(90deg, var(--theme-grid-line) 1px, transparent 1px),
    linear-gradient(180deg, var(--theme-grid-line) 1px, transparent 1px),
    var(--theme-media);
  background-size: 32px 32px;
}

html[data-theme="light"] .sp-chart-media {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)),
    var(--theme-media);
}

html[data-theme="light"] .figure-label,
html[data-theme="light"] .preview-tile figcaption,
html[data-theme="light"] .row-figure figcaption,
html[data-theme="light"] .market-table th,
html[data-theme="light"] .sp-table th {
  border-color: var(--theme-border);
  background: var(--theme-surface-tint);
  color: var(--site-accent-soft, var(--accent-soft));
}

html[data-theme="light"] .market-table th,
html[data-theme="light"] .sp-table th {
  color: #78521c;
}

html[data-theme="light"] .market-table th,
html[data-theme="light"] .market-table td,
html[data-theme="light"] .sp-table th,
html[data-theme="light"] .sp-table td,
html[data-theme="light"] .policy-section,
html[data-theme="light"] .sp-chapter + .sp-chapter,
html[data-theme="light"] .sp-dossier-section + .sp-dossier-section,
html[data-theme="light"] .sp-risk-note {
  border-color: var(--theme-border);
}

html[data-theme="light"] .market-table tr {
  background: var(--theme-surface);
}

html[data-theme="light"] .viewer-actions button,
html[data-theme="light"] .sp-open-chart,
html[data-theme="light"] .sp-chapter-toggle,
html[data-theme="light"] .sp-heatmap-switch button,
html[data-theme="light"] .sp-top-button,
html[data-theme="light"] .figure-open-label {
  border-color: var(--theme-border-strong);
  background: rgba(255, 253, 248, 0.9);
  color: var(--site-text, var(--text));
}

html[data-theme="light"] .sp-chart-top span,
html[data-theme="light"] .sp-heatmap-switch button.active {
  background: rgba(138, 92, 30, 0.11);
  color: #78521c;
}

html[data-theme="light"] .login-card,
html[data-theme="light"] .community-form,
html[data-theme="light"] .community-feed-shell {
  border-color: var(--theme-border);
  box-shadow: 0 18px 48px var(--theme-shadow);
}

html[data-theme="light"] .login-card input,
html[data-theme="light"] .community-form input[type="text"],
html[data-theme="light"] .community-form textarea,
html[data-theme="light"] .community-file-control,
html[data-theme="light"] .community-image-grid figure {
  border-color: var(--theme-border);
  background: var(--theme-field);
  color: var(--site-text);
}

html[data-theme="light"] .community-file-control {
  border-style: dashed;
}

html[data-theme="light"] .login-card input::placeholder,
html[data-theme="light"] .community-form input::placeholder,
html[data-theme="light"] .community-form textarea::placeholder,
html[data-theme="light"] .search-shell input::placeholder {
  color: #857969;
}

html[data-theme="light"] .policy-section a,
html[data-theme="light"] .policy-updated {
  color: #78521c;
}

html[data-theme="light"] .radar-card:focus-visible,
html[data-theme="light"] .board-row:focus-visible,
html[data-theme="light"] .preview-tile[data-chart-viewer-href]:focus-visible,
html[data-theme="light"] .row-figure[data-chart-viewer-href]:focus-visible,
html[data-theme="light"] .viewer-stage:focus-visible,
html[data-theme="light"] .login-card input:focus,
html[data-theme="light"] .community-form input[type="text"]:focus,
html[data-theme="light"] .community-form textarea:focus,
html[data-theme="light"] .community-file-control:focus-within {
  outline-color: #78521c;
}

html[data-theme="light"] .site-footer,
html[data-theme="light"] .viewer-status,
html[data-theme="light"] .viewer-ad,
html[data-theme="light"] .viewer-state,
html[data-theme="light"] .login-status,
html[data-theme="light"] .community-note-head p,
html[data-theme="light"] .community-file-control small,
html[data-theme="light"] .community-file-list small {
  color: var(--site-muted, var(--muted));
}
