/* Precursor Signal — Color tokens
   Bone + Navy carry ~90% of the work; Signal Green is a sliver.
   Base palette values are taken verbatim from the brand specification. */
:root {
  /* Base palette */
  --bone: #F5F2ED;
  --card: #FFFFFF;
  --navy: #1B2238;
  --stone: #8C8579;
  --stone-dark: #6B6459;
  --line: #E3DED4;
  --signal: #7CD96B;
  --signal-dark: #4F6B2C;
  --signal-dim: #EEF5E4;
  --warn: #9C5330;
  --warn-bg: #F3E4DC;

  /* Derived navy steps for layered dark surfaces */
  --navy-2: #232B44;
  --navy-3: #2E3752;
  --navy-line: #39415C;

  /* Signal glow (used behind interactive elements) */
  --signal-glow: rgba(124, 217, 107, 0.45);
  --signal-glow-soft: rgba(124, 217, 107, 0.22);

  /* Semantic aliases — surfaces */
  --surface-page: var(--bone);
  --surface-card: var(--card);
  --surface-sunken: #EDE9E1;
  --surface-inverse: var(--navy);
  --surface-accent-dim: var(--signal-dim);
  --surface-warn: var(--warn-bg);

  /* Semantic aliases — text */
  --text-strong: var(--navy);
  --text-body: var(--stone-dark);   /* 5.24:1 on bone — AA body safe */
  --text-muted: var(--stone);       /* large / decorative text only */
  --text-accent: var(--signal-dark);
  --text-on-inverse: var(--bone);
  --text-on-accent: var(--navy);
  --text-warn: var(--warn);

  /* Semantic aliases — borders & lines */
  --border-default: var(--line);
  --border-strong: #D3CCBF;
  --border-accent: var(--signal-dark);
  --border-inverse: var(--navy-line);

  /* Semantic aliases — accent fills */
  --fill-accent: var(--signal);
  --fill-accent-strong: var(--signal-dark);
}
