/* FamilyFi colour tokens — values lifted verbatim from src/app/globals.css.
   The --ff- prefix is the product's own closed namespace (AGENTS.md); do not coin others. */
:root{
  /* Base ink + ground */
  --ff-ink:#1c1c1e;
  --ff-muted:#3a3a3c;
  --ff-page:#f5f5f7;
  --ff-card:#ffffff;
  --ff-line:#d2d2d7;
  --ff-well:#f2f2f7;
  --ff-rail:#ececee;
  --ff-mark:#2c2c2e;

  /* Secondary ink ladder */
  --ff-ink-2:rgba(60,60,67,.75);
  --ff-ink-3:rgba(60,60,67,.6);
  --ff-ink-4:rgba(60,60,67,.55);
  --ff-locked:rgba(60,60,67,.5);
  --ff-chevron:rgba(60,60,67,.3);
  --ff-disabled:rgba(60,60,67,.35);
  --ff-ink-struck:rgba(60,60,67,.4);
  --ff-ink-on-fill:#ffffff;

  /* State colours */
  --ff-accent:#007aff;
  --ff-accent-hover:#0066d6;
  --ff-on:#248a3d;
  --ff-on-ink:#1e7a34;
  --ff-paused:#c04c00;
  --ff-danger:#c8100a;
  --ff-now:#ff9500;
  --ff-upstream-fill:#5854d6;
  --ff-upstream-ink:#4b47b8;
  --ff-upstream-tint:rgba(88,84,214,.14);

  /* Hairlines and fields */
  --ff-hairline:rgba(60,60,67,.12);
  --ff-hairline-card:rgba(60,60,67,.14);
  --ff-hairline-strong:rgba(60,60,67,.16);
  --ff-field:rgba(120,120,128,.12);
  --ff-field-soft:rgba(120,120,128,.06);
  --ff-field-strong:rgba(120,120,128,.16);
  --ff-row-nested:rgba(120,120,128,.04);
  --ff-row-network:rgba(0,122,255,.04);
  --ff-control-line:rgba(60,60,67,.2);
  --ff-input-line:rgba(60,60,67,.22);

  /* Accent tints */
  --ff-accent-fill:rgba(0,122,255,.1);
  --ff-accent-tint:rgba(0,122,255,.12);
  --ff-accent-line:rgba(0,122,255,.35);
  --ff-accent-wash:rgba(0,122,255,.08);
  --ff-focus-ring:rgba(0,122,255,.16);

  /* Status fills */
  --ff-person-fill:rgba(52,199,89,.16);
  --ff-person-ink:#248a3d;
  --ff-on-tint:rgba(52,199,89,.16);
  --ff-danger-fill:rgba(200,16,10,.1);
  --ff-danger-tint:rgba(200,16,10,.12);
  --ff-note-fill:rgba(120,120,128,.09);
  --ff-paused-line:rgba(192,76,0,.28);
  --ff-paused-fill:rgba(192,76,0,.08);
  --ff-paused-fill-strong:rgba(192,76,0,.12);

  /* ── The verdict system ───────────────────────────────────────────────
     Four states, one colour each, used identically everywhere a verdict is
     shown — filter marks, chips, rows, detail sheets. The colour answers
     *who* is blocking, which is why none of them borrow the accent blue.

       rule     red on light red        a FamilyFi rule is blocking right now
       blocked  white on medium purple  fully blocked upstream by DNS
       partial  purple on light purple  partially blocked upstream by DNS
       open     green on light green    measured all-clear
       unknown  grey on grey            never checked — NOT the same as open

     Never restyle a verdict locally and never reuse these colours for
     anything that is not a verdict. */
  --ff-verdict-rule-ink:var(--ff-danger);
  --ff-verdict-rule-fill:var(--ff-danger-fill);
  --ff-verdict-rule-line:rgba(200,16,10,.3);
  --ff-verdict-blocked-ink:var(--ff-ink-on-fill);
  --ff-verdict-blocked-fill:var(--ff-upstream-fill);
  --ff-verdict-blocked-line:var(--ff-upstream-fill);
  --ff-verdict-partial-ink:var(--ff-upstream-ink);
  --ff-verdict-partial-fill:var(--ff-upstream-tint);
  --ff-verdict-partial-line:rgba(88,84,214,.3);
  --ff-verdict-open-ink:var(--ff-on-ink);
  --ff-verdict-open-fill:var(--ff-on-tint);
  --ff-verdict-open-line:rgba(52,199,89,.32);
  --ff-verdict-unknown-ink:rgba(60,60,67,.6);
  --ff-verdict-unknown-fill:rgba(120,120,128,.06);
  --ff-verdict-unknown-line:rgba(60,60,67,.14);

  /* Category monogram tiles */
  --ff-mono-seed-fill:#2c2c2e;
  --ff-mono-user-fill:#5854d6;

  /* Chrome */
  --ff-scrim:rgba(0,0,0,.32);
  --ff-header-wash:rgba(245,245,247,.86);
  --ff-card-veil:rgba(255,255,255,.7);
}
