/* evoila brand design tokens, aligned with the evoila-brand skill's web reference. */
:root {
  /* primary */
  --evo-emerald: #0bd7a1;
  --evo-skyline: #0066cc;
  --evo-cobalt: #0000cc;

  /* neutral */
  --evo-obsidian: #1f1534;
  --evo-midnight: #2b2754;
  --evo-carbon: #2e2823;
  --evo-clay: #a99c91;
  --evo-sand: #f6f0eb;
  --evo-white: #ffffff;

  /* accent - sparingly */
  --evo-marigold: #ffe66d;
  --evo-tangerine: #fb923f;
  --evo-seafoam: #9eeca0;
  --evo-violet: #7d3cf8;
  --evo-coral: #ff5e86;
  --evo-lagoon: #05d5ef;

  /* semantic (bright mode) */
  --evo-bg: var(--evo-sand);
  --evo-surface: var(--evo-white);
  /* Full-bleed page backdrop the Sand passepartout container sits inset on -
     distinct from --evo-bg, which stays Sand for sunken surfaces (inputs)
     inside white cards. */
  --evo-page-bg: var(--evo-white);
  --evo-text: var(--evo-obsidian);
  /* Clay-as-text fails AA here (2.37:1 on Sand) per the evoila-brand skill's own
     contrast table and its neutrals table note ("Clay... Not for text") - use
     Obsidian at an opacity tuned to clear 4.5:1 on both Sand and White instead. */
  --evo-text-muted: rgba(31, 21, 52, 0.65);
  /* For text on surfaces that stay a fixed dark (Obsidian) fill in both
     themes, e.g. .raw-signals-list/.raw-signals-checks - --evo-text-muted
     would go dark-on-dark here since it flips light in bright mode. */
  --evo-text-muted-on-dark: rgba(255, 255, 255, 0.55);
  --evo-link: var(--evo-skyline);
  --evo-border: rgba(31, 21, 52, 0.12);
  /* Component parts of --evo-text, for hover/active surface washes
     (rgba(var(--evo-text-rgb), N)) that need to darken bright-mode surfaces
     and lighten dark-mode ones - a flat rgba(31,21,52,N) wash disappears
     against the dark-mode --evo-bg it's meant to sit on top of. */
  --evo-text-rgb: 31, 21, 52;

  --evo-gradient: linear-gradient(90deg, var(--evo-emerald) 0%, var(--evo-skyline) 50%, var(--evo-cobalt) 100%);

  /* Typography */
  --evo-font: 'Lexend Deca', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --evo-font-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;

  --evo-font-weight-headline: 700; /* Bold */
  --evo-font-weight-subheadline: 600; /* SemiBold */
  --evo-font-weight-body: 300; /* Light */

  /* one radius family, held everywhere */
  --evo-radius: 16px;
  --evo-radius-lg: 28px;
  --evo-radius-sm: 8px;
}

[data-theme='dark'] {
  --evo-bg: var(--evo-obsidian);
  --evo-surface: var(--evo-midnight);
  /* Dark mode is full-bleed Obsidian, per the brand doc - the passepartout
     container becomes transparent rather than swapping to another fill. */
  --evo-page-bg: var(--evo-obsidian);
  --evo-text: var(--evo-white);
  /* Same opacity-tuning as bright mode, mirrored onto White so it clears 4.5:1
     on both Obsidian and Midnight (Clay itself would also pass here at 6.46:1,
     but a single formula for both themes is easier to keep correct). */
  --evo-text-muted: rgba(255, 255, 255, 0.55);
  /* Skyline is only 3.1:1 on Obsidian (large text/borders only) - Emerald clears AA. */
  --evo-link: var(--evo-emerald);
  --evo-border: rgba(255, 255, 255, 0.14);
  --evo-text-rgb: 255, 255, 255;
}
