/* byCaliber Tools theme. Light is the default, dark is opt-in (AL 2026-09-09, Notion: Intranet structure).
   Same contract as /assets/eo-theme.css on tools.eliteoutsiders.com: load this AFTER the
   page own <style> block. Both blocks below score 0,2,0 on specificity, so they beat a plain
   :root from the page and source order decides between them: the dark block comes last and
   wins whenever data-theme="dark". A page keeps its own token only if that token is absent
   here. The dark block restores the pre-2026-09-09 palette exactly. */
:root:root {
  /* Fixed colour system, identical on the four intranets (rule 3, 2026-09-09) */
  --n-white: #ffffff; --n-paper: #f7f6f3; --n-grey-1: #dedbd4; --n-grey-2: #b6b1a7; --n-grey-3: #6e6e78; --n-grey-4: #45454e; --n-black: #16161a;
  --c-red: #a3282a; --c-green: #0f7a55; --c-amber: #8a5f08; --c-blue: #1c6f9c; --c-violet: #6641b8;
  color-scheme: light;
  /* ground, green-tinted white carrying the forest */
  --bg: #f4f8f5;
  --bg-soft: #e9f0ec;
  --surface: #ffffff;
  --surface-elevated: #f6faf7;
  /* structure */
  --border: #d2ddd7;
  --border-hi: #bccbc2;
  --border-hover: #85a095;
  /* ink, the forest itself */
  --ink: #0b1812;
  --ink-soft: #2e463a;
  --ink-faint: #5a7567;
  --ink-muted: #7a9084;
  /* accent, vert sapin taken down so it carries on white */
  --accent: #2f6449;
  --accent-light: #255239;
  --accent-dark: #1F3A2E;
  --accent-bg: rgba(47, 100, 73, 0.10);
  /* status */
  --danger: #b23b3b;
  --warning: #8a6300;
  --success: #1f7a45;
  /* veils, for the rgba(255,255,255,a) overlays the dark pages used */
  --veil-1: rgba(0,0,0,.03);
  --veil-2: rgba(0,0,0,.06);
  --veil-3: rgba(0,0,0,.10);
  --veil-4: rgba(0,0,0,.18);
}
:root[data-theme="dark"] {
  --c-red: #fb7185; --c-green: #10b981; --c-amber: #fbbf24; --c-blue: #38bdf8; --c-violet: #a78bfa;
  color-scheme: dark;
  --bg: #0B1812;
  --bg-soft: #0E1D17;
  --surface: #142420;
  --surface-elevated: #1B302A;
  --border: #1F3D32;
  --border-hi: #2A5544;
  --border-hover: #3A6F58;
  --ink: #FFFFFF;
  --ink-soft: #CFE0D8;
  --ink-faint: #85A095;
  --ink-muted: #5A7567;
  --accent: #3F7A5E;
  --accent-light: #5FA982;
  --accent-dark: #1F3A2E;
  --accent-bg: rgba(31, 58, 46, 0.18);
  --danger: #F87171;
  --warning: #FBBF24;
  --success: #4ADE80;
  --veil-1: rgba(255,255,255,.03);
  --veil-2: rgba(255,255,255,.06);
  --veil-3: rgba(255,255,255,.10);
  --veil-4: rgba(255,255,255,.18);
}

/* Nothing is themed until the ground itself follows the tokens. A page whose body paints a
   literal hex keeps that hex, which is exactly the case an agent has to tokenise by hand. */
html, body { background: var(--bg); color: var(--ink-soft); }
body { transition: background .18s ease, color .18s ease; }
/* Inter replaced JetBrains Mono everywhere (rule 2). Numbers keep their alignment here. */
html { font-variant-numeric: tabular-nums; }

/* Floating toggle, injected by bc-theme.js when the page carries no button of its own. */
#bc-theme-fab {
  position: fixed; right: 16px; bottom: 16px; z-index: 9999;
  font: 500 11.5px/1 Inter, -apple-system, system-ui, sans-serif;
  letter-spacing: 1.2px; text-transform: uppercase;
  color: var(--ink-faint); background: var(--surface);
  border: 1px solid var(--border); border-radius: 4px;
  padding: 9px 13px; cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,.14);
}
#bc-theme-fab:hover { color: var(--accent); border-color: var(--accent); }
@media print { #bc-theme-fab { display: none; } }
