/* Cortex Collective Agency — Colour tokens
   Klein Blue is the primary. Near-black anchors dark slides.
   Black and white are the supporting palette. Restraint is the rule:
   one or two colours per surface, never a rainbow. */

:root {
  /* ---- Base palette ---- */
  --cca-klein: #002FA7;        /* Primary. Klein Blue (IKB). */
  --cca-klein-web: #003399;    /* Web-safe blue. Use only where #002FA7 fails contrast/rendering. */
  --cca-ink: #0A0A0A;          /* Near-black. The dark-slide ground. */
  --cca-black: #000000;
  --cca-white: #FFFFFF;

  /* ---- Blue shades (tints/shades of Klein, for hover/press/depth only) ---- */
  --cca-klein-800: #00246F;    /* Pressed / deep. */
  --cca-klein-700: #002B93;    /* Deep blue. */
  --cca-klein-600: #0039C9;    /* Hover lift on solid blue. */
  --cca-klein-050: #EAEFFB;    /* Faint blue wash for light surfaces. */
  --cca-klein-100: #D3DEF6;    /* Soft blue fill. */

  /* ---- Neutrals (warm-neutral greys, kept close to black/white) ---- */
  --cca-grey-900: #141414;
  --cca-grey-700: #3D3D3D;
  --cca-grey-500: #6B6B6B;
  --cca-grey-300: #B8B8B8;
  --cca-grey-200: #DBDBDB;
  --cca-grey-100: #ECECEC;
  --cca-grey-050: #F6F6F5;     /* Off-white paper. */

  /* ---- Semantic aliases: LIGHT surface (default) ---- */
  --surface-page: var(--cca-white);
  --surface-paper: var(--cca-grey-050);
  --surface-card: var(--cca-white);
  --surface-inset: var(--cca-klein-050);
  --surface-invert: var(--cca-ink);

  --text-strong: var(--cca-ink);        /* Headlines on light. */
  --text-body: var(--cca-grey-900);
  --text-muted: var(--cca-grey-500);
  --text-accent: var(--cca-klein);      /* The two-tone headline accent. */
  --text-on-accent: var(--cca-white);

  --border-hair: var(--cca-grey-200);   /* 1px rules, dividers. */
  --border-strong: var(--cca-ink);
  --border-accent: var(--cca-klein);

  --focus-ring: var(--cca-klein);
}

/* ---- Semantic aliases: DARK surface ----
   Apply to any container that sits on the near-black ground.
   Alternate light/dark slide to slide for the deck rhythm. */
.cca-dark,
[data-surface="dark"] {
  --surface-page: var(--cca-ink);
  --surface-paper: #121212;
  --surface-card: #161616;
  --surface-inset: #14205A;             /* deep Klein wash on dark */
  --surface-invert: var(--cca-white);

  --text-strong: var(--cca-white);
  --text-body: #EDEDED;
  --text-muted: #9A9A9A;
  --text-accent: #6E8FE6;               /* Klein lifted for contrast on ink */
  --text-on-accent: var(--cca-white);

  --border-hair: rgba(255,255,255,0.16);
  --border-strong: var(--cca-white);
  --border-accent: #6E8FE6;

  --focus-ring: #6E8FE6;
}

/* Klein-blue full-bleed surface (title / section covers) */
.cca-klein-surface,
[data-surface="klein"] {
  --surface-page: var(--cca-klein);
  --surface-paper: var(--cca-klein);
  --surface-card: rgba(255,255,255,0.06);
  --surface-inset: rgba(255,255,255,0.10);
  --surface-invert: var(--cca-white);

  --text-strong: var(--cca-white);
  --text-body: rgba(255,255,255,0.88);
  --text-muted: rgba(255,255,255,0.62);
  --text-accent: rgba(255,255,255,0.55);  /* the quiet half of a two-tone headline */
  --text-on-accent: var(--cca-klein);

  --border-hair: rgba(255,255,255,0.22);
  --border-strong: var(--cca-white);
  --border-accent: var(--cca-white);

  --focus-ring: var(--cca-white);
}
