/* HOLO color system — extracted from the HOLO Sales Deck (source of truth).
   Warm charcoal + warm off-white base; pink is a signal, not a surface fill.
   Hex (not oklch): oklch() isn't understood by some export pipelines. */
:root{
  /* ── Pink — sampled from the deck. 500 is the editorial "pink moment" surface,
     400 the accent used on dark, 600 the accent used on light. */
  --pink-50:#fdeef3;
  --pink-100:#fbd6e0;
  --pink-200:#f6b8ca;
  --pink-300:#e894ac;
  --pink-400:#dc7a97;
  --pink-500:#ca6584;
  --pink-600:#b1526f;
  --pink-700:#923857;
  --pink-800:#6f2440;
  --pink-900:#4c162a;
  --pink-logo:#ea769c;

  /* ── Warm neutrals. No pure black, no pure white. */
  --white:#fcfcfa;
  --gray-50:#f7f7f4;
  --gray-100:#ecebe8;
  --gray-200:#d9d7d4;
  --gray-300:#bfbeb9;
  --gray-400:#9a9894;
  --gray-500:#73716e;
  --gray-600:#565553;
  --gray-700:#4a4a4a;
  --gray-800:#2e2e2c;
  --gray-900:#161615;
  --black:#0b0b0a;

  --holo-dark:var(--gray-900);
  --holo-light:var(--gray-50);
  --holo-pink:var(--pink-500);

  /* ── Functional. Muted on purpose: state colour never outshines the pink signal. */
  --green-500:#43a65f;
  --green-600:#298646;
  --amber-500:#e6ac3d;
  --amber-600:#bd7d00;
  --red-500:#e24947;
  --red-600:#c13234;

  /* ── Semantic — default composition is LIGHT EDITORIAL. */
  --color-background:var(--gray-50);
  --color-background-light:var(--gray-50);
  --color-background-dark:var(--gray-900);
  --color-background-pink:var(--pink-500);
  --color-bg:var(--gray-50);
  --color-bg-subtle:var(--gray-100);
  --color-surface:var(--white);
  --color-surface-dark:var(--gray-800);
  --color-surface-raised:var(--white);

  --color-text-primary:var(--gray-900);
  --color-text-secondary:var(--gray-600);
  --color-text-muted:var(--gray-500);
  --color-text-tertiary:var(--gray-400);
  --color-text-faint:var(--gray-300);
  --color-text-inverse:var(--white);

  --color-brand:var(--pink-500);
  --color-brand-accent:var(--pink-400);
  --color-brand-ink:var(--pink-600);
  --color-brand-subtle:var(--pink-50);
  --color-brand-hover:var(--pink-600);
  --color-brand-active:var(--pink-700);
  --color-brand-surface:var(--pink-500);
  --color-brand-dark:var(--pink-800);
  --color-accent:var(--pink-400);
  --color-accent-hover:var(--pink-500);
  --color-accent-subtle:var(--pink-50);

  /* Lines, nodes, signals — the deck's structural language. */
  --color-line:rgba(20,20,19,0.20);
  --color-line-subtle:rgba(20,20,19,0.10);
  --color-line-hairline:rgba(20,20,19,0.055);
  --color-line-active:var(--pink-500);
  --color-node:rgba(20,20,19,0.34);
  --color-node-muted:rgba(20,20,19,0.14);
  --color-node-active:var(--pink-500);
  --color-signal:var(--pink-500);
  --color-signal-muted:rgba(202,101,132,0.45);
  --color-signal-faint:rgba(202,101,132,0.20);
  --color-halo:rgba(202,101,132,0.12);
  --color-halo-strong:rgba(202,101,132,0.28);

  --color-border:rgba(20,20,19,0.12);
  --color-border-strong:rgba(20,20,19,0.24);
  --color-focus:var(--pink-500);

  --color-success:var(--green-500);
  --color-success-subtle:#e6f4e9;
  --color-warning:var(--amber-500);
  --color-warning-subtle:#f8efd9;
  --color-danger:var(--red-500);
  --color-danger-hover:var(--red-600);
  --color-danger-subtle:#f9e6e4;

  /* Opacity ladder used over dark surfaces in the deck. */
  --ink-on-dark-95:rgba(252,252,250,0.95);
  --ink-on-dark-82:rgba(252,252,250,0.82);
  --ink-on-dark-70:rgba(252,252,250,0.70);
  --ink-on-dark-56:rgba(252,252,250,0.56);
  --ink-on-dark-45:rgba(252,252,250,0.45);
  --ink-on-dark-34:rgba(252,252,250,0.34);
  --ink-on-dark-16:rgba(252,252,250,0.16);
  --ink-on-dark-08:rgba(252,252,250,0.08);
}
