:root,
html[data-appearance='dark'] {
  --bg: #11161b;
  --sidebar: #1f262d;
  --sidebar-border: rgba(255, 255, 255, 0.08);
  --panel-bg: #0a0c0f;
  --surface-soft: rgba(255, 255, 255, 0.04);
  --control-bg: rgba(255, 255, 255, 0.04);
  --menu-bg: #171d23;
  --border-soft: rgba(255, 255, 255, 0.10);
  --header: rgba(34, 42, 50, 0.96);
  --header-border: #8b5e34;
  --accent: #8b5e34;
  --accent-dark: #6f4927;
  --accent-light: #d7a66a;
  --accent-wash: rgba(215, 166, 106, 0.16);
  --text: #ece8e1;
  --muted: #c6c0b8;
  --success-bg: #1f3a28;
  --success-border: #2c6b3f;
  --success-text: #d7f5df;
  --warning-bg: #40351c;
  --warning-border: #a67c24;
  --warning-text: #ffe29a;
  --error-bg: #402124;
  --error-border: #7a2f37;
  --error-text: #ffd9dd;
  --info-bg: rgba(255, 255, 255, 0.04);
  --info-border: rgba(255, 255, 255, 0.16);
  --info-text: #ece8e1;
  --menu-shadow: 0 14px 30px rgba(0, 0, 0, 0.38);
}

html[data-appearance='light'] {
  --bg: #f4f1eb;
  --sidebar: #e9e3da;
  --sidebar-border: rgba(54, 43, 31, 0.14);
  --panel-bg: #ffffff;
  --surface-soft: rgba(72, 56, 40, 0.045);
  --control-bg: #ffffff;
  --menu-bg: #ffffff;
  --border-soft: rgba(54, 43, 31, 0.18);
  --header: rgba(250, 247, 242, 0.98);
  --header-border: #8b5e34;
  --text: #261f19;
  --muted: #62594f;
  --success-bg: #e7f4e9;
  --success-border: #4d7d56;
  --success-text: #173d20;
  --warning-bg: #fff4cf;
  --warning-border: #a87916;
  --warning-text: #5b430b;
  --error-bg: #fae9ea;
  --error-border: #9a4b52;
  --error-text: #5b2026;
  --info-bg: #f5f2ed;
  --info-border: #aaa198;
  --info-text: #332c25;
  --menu-shadow: 0 14px 30px rgba(47, 35, 24, 0.18);
}

/* Accent choices are deliberately finite so text/border contrast can be tested. */
html[data-accent='brown'] {
  --accent: #8b5e34;
  --accent-dark: #6f4927;
  --accent-light: #d7a66a;
  --accent-wash: rgba(215, 166, 106, 0.16);
  --header-border: #8b5e34;
}

html[data-accent='blue'] {
  --accent: #356d9e;
  --accent-dark: #285579;
  --accent-light: #82b7df;
  --accent-wash: rgba(130, 183, 223, 0.16);
  --header-border: #356d9e;
}

html[data-accent='green'] {
  --accent: #4e7751;
  --accent-dark: #3a5d3d;
  --accent-light: #8fc292;
  --accent-wash: rgba(143, 194, 146, 0.16);
  --header-border: #4e7751;
}

html[data-accent='burgundy'] {
  --accent: #7d3f50;
  --accent-dark: #62303e;
  --accent-light: #d18a9c;
  --accent-wash: rgba(209, 138, 156, 0.16);
  --header-border: #7d3f50;
}

html[data-accent='maroon'] {
  --accent: #800000;
  --accent-dark: #510400;
  --accent-light: #dc8585;
  --accent-wash: rgba(128, 0, 0, 0.18);
  --header-border: #800000;
}

/* Light mode needs darker accent text than the dark mode palette. */
html[data-appearance='light'][data-accent='brown'] {
  --accent-light: #704820;
  --accent-wash: rgba(139, 94, 52, 0.10);
}

html[data-appearance='light'][data-accent='blue'] {
  --accent-light: #285d8a;
  --accent-wash: rgba(53, 109, 158, 0.10);
}

html[data-appearance='light'][data-accent='green'] {
  --accent-light: #365f3a;
  --accent-wash: rgba(78, 119, 81, 0.10);
}

html[data-appearance='light'][data-accent='burgundy'] {
  --accent-light: #713344;
  --accent-wash: rgba(125, 63, 80, 0.10);
}

html[data-appearance='light'][data-accent='maroon'] {
  --accent-light: #760000;
  --accent-wash: rgba(128, 0, 0, 0.10);
}

html[data-appearance='contrast'] {
  --bg: #000000;
  --sidebar: #000000;
  --sidebar-border: #ffffff;
  --panel-bg: #000000;
  --surface-soft: #000000;
  --control-bg: #000000;
  --menu-bg: #000000;
  --border-soft: #ffffff;
  --header: #000000;
  --header-border: #ffea00;
  --accent: #ffea00;
  --accent-dark: #ffea00;
  --accent-light: #ffea00;
  --accent-wash: #262200;
  --text: #ffffff;
  --muted: #ffffff;
  --success-bg: #000000;
  --success-border: #63ff7a;
  --success-text: #ffffff;
  --warning-bg: #000000;
  --warning-border: #ffea00;
  --warning-text: #ffffff;
  --error-bg: #000000;
  --error-border: #ff6b6b;
  --error-text: #ffffff;
  --info-bg: #000000;
  --info-border: #ffffff;
  --info-text: #ffffff;
  --menu-shadow: none;
}

/* Site Health keeps its original compact layout; only problems get color. */
.site-health-warn .site-health-check-heading strong,
.site-health-warn .site-health-check-heading span {
  color: var(--warning-text);
}

.site-health-error .site-health-check-heading strong,
.site-health-error .site-health-check-heading span {
  color: var(--error-text);
}

html[data-appearance='contrast'] .site-health-warn .site-health-check-heading strong,
html[data-appearance='contrast'] .site-health-warn .site-health-check-heading span {
  color: #ffea00;
}

html[data-appearance='contrast'] .site-health-error .site-health-check-heading strong,
html[data-appearance='contrast'] .site-health-error .site-health-check-heading span {
  color: #ff6b6b;
}
