:root{
  /* --- Graphite ink ramp: surfaces, darkest to lightest --- */
  --ink-0:#08090A;
  --ink-1:#0E1012;
  --ink-2:#15181B;
  --ink-3:#1D2124;
  --ink-4:#272C30;
  --ink-5:#353B41;
  --ink-6:#4A5158;

  /* --- Foreground ramp --- */
  --fg-1:#F3F5F6;
  --fg-2:#A6ADB4;
  --fg-3:#6D757C;
  --fg-4:#4A5158;

  /* --- Signal: the one accent. Radar glow, active state, primary action --- */
  --signal:#00E5A0;
  --signal-bright:#4DFFC4;
  --signal-deep:#00A876;
  --signal-ink:#00291D;

  /* --- Context hues. Subordinate to signal: 1px borders, dots, label text.
         Never large fills. --- */
  --ctx-work:#4DA3FF;
  --ctx-talk:#FFB020;
  --ctx-meet:#FF5C7A;

  /* --- Semantic --- */
  --danger:#FF4D4D;
  --warn:#FFB020;
  --ok:var(--signal);

  /* --- Semantic aliases: use these in components --- */
  --bg-app:var(--ink-0);
  --bg-sheet:var(--ink-1);
  --surface-card:var(--ink-2);
  --surface-raised:var(--ink-3);
  --surface-input:var(--ink-2);
  --surface-hover:var(--ink-3);

  --text-primary:var(--fg-1);
  --text-body:var(--fg-2);
  --text-muted:var(--fg-3);
  --text-disabled:var(--fg-4);
  --text-on-signal:var(--signal-ink);

  --border-hairline:rgba(255,255,255,.07);
  --border-soft:rgba(255,255,255,.12);
  --border-strong:rgba(255,255,255,.22);
  --border-signal:rgba(0,229,160,.45);

  /* --- Alpha utilities: glow, scrim, radar rings --- */
  --signal-a06:rgba(0,229,160,.06);
  --signal-a12:rgba(0,229,160,.12);
  --signal-a24:rgba(0,229,160,.24);
  --signal-a40:rgba(0,229,160,.40);
  --scrim:rgba(8,9,10,.72);
  --scrim-hard:rgba(8,9,10,.92);
}
