{
  "$comment": [
    "Owner-accepted color-contrast debt. SHRINK-ONLY: rows may be deleted freely",
    "(that means a defect was fixed); adding one is an Owner decision and also",
    "requires bumping ACCEPTED_PAIR_COUNT in tests/a11y-contrast-exemptions-gate.test.ts.",
    "An empty table is the finished state, not a TODO.",
    "Semantics, key choice and what is deliberately NOT ratcheted:",
    "tests/lib/a11y-contrast-exemptions.mjs header."
  ],
  "exemptions": [
    {
      "fg": "#299f45",
      "bg": "#f0f0f0",
      "expectedRatio": 4.5,
      "measuredRatio": 3,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #f0f0f0 to >= 4.5:1 (measured 3:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#2fb54e",
      "expectedRatio": 4.5,
      "measuredRatio": 2.52,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #2fb54e to >= 4.5:1 (measured 2.52:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#299f45",
      "expectedRatio": 4.5,
      "measuredRatio": 3.22,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #299f45 to >= 4.5:1 (measured 3.22:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#299f45",
      "bg": "#ffffff",
      "expectedRatio": 4.5,
      "measuredRatio": 3.42,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #ffffff to >= 4.5:1 (measured 3.42:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#299f45",
      "bg": "#f8f8f8",
      "expectedRatio": 4.5,
      "measuredRatio": 3.22,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #f8f8f8 to >= 4.5:1 (measured 3.22:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#cccccc",
      "bg": "#ffffff",
      "expectedRatio": 4.5,
      "measuredRatio": 1.6,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #cccccc and #ffffff to >= 4.5:1 (measured 1.6:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#9e9e9e",
      "bg": "#ffffff",
      "expectedRatio": 4.5,
      "measuredRatio": 2.67,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #9e9e9e and #ffffff to >= 4.5:1 (measured 2.67:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#9e9e9e",
      "bg": "#f0f0f0",
      "expectedRatio": 4.5,
      "measuredRatio": 2.35,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #9e9e9e and #f0f0f0 to >= 4.5:1 (measured 2.35:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#7b7b7b",
      "bg": "#353535",
      "expectedRatio": 4.5,
      "measuredRatio": 2.89,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #7b7b7b and #353535 to >= 4.5:1 (measured 2.89:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#7b7b7b",
      "bg": "#262626",
      "expectedRatio": 4.5,
      "measuredRatio": 3.57,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #7b7b7b and #262626 to >= 4.5:1 (measured 3.57:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#0473d5",
      "expectedRatio": 4.5,
      "measuredRatio": 4.47,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #0473d5 to >= 4.5:1 (measured 4.47:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#3892f3",
      "expectedRatio": 4.5,
      "measuredRatio": 3,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #3892f3 to >= 4.5:1 (measured 3:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#ea4233",
      "expectedRatio": 4.5,
      "measuredRatio": 3.71,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #ea4233 to >= 4.5:1 (measured 3.71:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#7b7b7b",
      "bg": "#141414",
      "expectedRatio": 4.5,
      "measuredRatio": 4.35,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #7b7b7b and #141414 to >= 4.5:1 (measured 4.35:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#0473d5",
      "bg": "#e1eefd",
      "expectedRatio": 4.5,
      "measuredRatio": 4.03,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #0473d5 and #e1eefd to >= 4.5:1 (measured 4.03:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#3892f3",
      "bg": "#e1eefd",
      "expectedRatio": 4.5,
      "measuredRatio": 2.71,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #3892f3 and #e1eefd to >= 4.5:1 (measured 2.71:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#299f45",
      "bg": "#f6f6f6",
      "expectedRatio": 4.5,
      "measuredRatio": 3.16,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #f6f6f6 to >= 4.5:1 (measured 3.16:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#e26601",
      "bg": "#f0f0f0",
      "expectedRatio": 4.5,
      "measuredRatio": 3,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #e26601 and #f0f0f0 to >= 4.5:1 (measured 3:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#e26601",
      "bg": "#f6f6f6",
      "expectedRatio": 4.5,
      "measuredRatio": 3.16,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #e26601 and #f6f6f6 to >= 4.5:1 (measured 3.16:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#e26601",
      "expectedRatio": 4.5,
      "measuredRatio": 3.22,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #e26601 to >= 4.5:1 (measured 3.22:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#f68512",
      "expectedRatio": 4.5,
      "measuredRatio": 2.38,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #f68512 to >= 4.5:1 (measured 2.38:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#299f45",
      "bg": "#d3e8d8",
      "expectedRatio": 4.5,
      "measuredRatio": 2.65,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #d3e8d8 to >= 4.5:1 (measured 2.65:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#299f45",
      "bg": "#f1fbf3",
      "expectedRatio": 4.5,
      "measuredRatio": 3.23,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #f1fbf3 to >= 4.5:1 (measured 3.23:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#2fb54e",
      "bg": "#f1fbf3",
      "expectedRatio": 4.5,
      "measuredRatio": 2.52,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #2fb54e and #f1fbf3 to >= 4.5:1 (measured 2.52:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#cccccc",
      "bg": "#f8f8f8",
      "expectedRatio": 4.5,
      "measuredRatio": 1.51,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #cccccc and #f8f8f8 to >= 4.5:1 (measured 1.51:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#dc2717",
      "bg": "#f3d2d0",
      "expectedRatio": 4.5,
      "measuredRatio": 3.43,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #dc2717 and #f3d2d0 to >= 4.5:1 (measured 3.43:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#dc2717",
      "bg": "#fff1f0",
      "expectedRatio": 4.5,
      "measuredRatio": 4.39,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #dc2717 and #fff1f0 to >= 4.5:1 (measured 4.39:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#e26601",
      "bg": "#fff3db",
      "expectedRatio": 4.5,
      "measuredRatio": 3.11,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #e26601 and #fff3db to >= 4.5:1 (measured 3.11:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#ea4233",
      "bg": "#442523",
      "expectedRatio": 4.5,
      "measuredRatio": 3.47,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #ea4233 and #442523 to >= 4.5:1 (measured 3.47:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#ea4233",
      "bg": "#fff1f0",
      "expectedRatio": 4.5,
      "measuredRatio": 3.58,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #ea4233 and #fff1f0 to >= 4.5:1 (measured 3.58:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f68512",
      "bg": "#fff3db",
      "expectedRatio": 4.5,
      "measuredRatio": 2.3,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f68512 and #fff3db to >= 4.5:1 (measured 2.3:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#0473d5",
      "bg": "#cfe4fa",
      "expectedRatio": 4.5,
      "measuredRatio": 3.65,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #0473d5 and #cfe4fa to >= 4.5:1 (measured 3.65:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#3892f3",
      "bg": "#d3e7fc",
      "expectedRatio": 4.5,
      "measuredRatio": 2.52,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #3892f3 and #d3e7fc to >= 4.5:1 (measured 2.52:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#595959",
      "bg": "#1f1f1f",
      "expectedRatio": 4.5,
      "measuredRatio": 2.35,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #595959 and #1f1f1f to >= 4.5:1 (measured 2.35:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#ea4233",
      "bg": "#1f1f1f",
      "expectedRatio": 4.5,
      "measuredRatio": 4.18,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #ea4233 and #1f1f1f to >= 4.5:1 (measured 4.18:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#3aa653",
      "expectedRatio": 4.5,
      "measuredRatio": 2.92,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #3aa653 to >= 4.5:1 (measured 2.92:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#3fba5c",
      "expectedRatio": 4.5,
      "measuredRatio": 2.35,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #3fba5c to >= 4.5:1 (measured 2.35:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#0473d5",
      "bg": "#cadcec",
      "expectedRatio": 4.5,
      "measuredRatio": 3.38,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #0473d5 and #cadcec to >= 4.5:1 (measured 3.38:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#0473d5",
      "bg": "#cce0f2",
      "expectedRatio": 4.5,
      "measuredRatio": 3.51,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #0473d5 and #cce0f2 to >= 4.5:1 (measured 3.51:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#0473d5",
      "bg": "#d2e6f7",
      "expectedRatio": 4.5,
      "measuredRatio": 3.71,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #0473d5 and #d2e6f7 to >= 4.5:1 (measured 3.71:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#299f45",
      "bg": "#cce1d1",
      "expectedRatio": 4.5,
      "measuredRatio": 2.48,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #cce1d1 to >= 4.5:1 (measured 2.48:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#299f45",
      "bg": "#d0e3d5",
      "expectedRatio": 4.5,
      "measuredRatio": 2.54,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #d0e3d5 to >= 4.5:1 (measured 2.54:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#299f45",
      "bg": "#d8eede",
      "expectedRatio": 4.5,
      "measuredRatio": 2.8,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #299f45 and #d8eede to >= 4.5:1 (measured 2.8:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#2fb54e",
      "bg": "#273d2c",
      "expectedRatio": 4.5,
      "measuredRatio": 4.37,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #2fb54e and #273d2c to >= 4.5:1 (measured 4.37:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#2fb54e",
      "bg": "#28402d",
      "expectedRatio": 4.5,
      "measuredRatio": 4.21,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #2fb54e and #28402d to >= 4.5:1 (measured 4.21:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#3892f3",
      "bg": "#243445",
      "expectedRatio": 4.5,
      "measuredRatio": 3.97,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #3892f3 and #243445 to >= 4.5:1 (measured 3.97:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#3892f3",
      "bg": "#293747",
      "expectedRatio": 4.5,
      "measuredRatio": 3.79,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #3892f3 and #293747 to >= 4.5:1 (measured 3.79:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#3b92df",
      "bg": "#e1eefd",
      "expectedRatio": 4.5,
      "measuredRatio": 2.8,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #3b92df and #e1eefd to >= 4.5:1 (measured 2.8:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#595959",
      "bg": "#141414",
      "expectedRatio": 4.5,
      "measuredRatio": 2.63,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #595959 and #141414 to >= 4.5:1 (measured 2.63:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#62a9f6",
      "bg": "#e1eefd",
      "expectedRatio": 4.5,
      "measuredRatio": 2.09,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #62a9f6 and #e1eefd to >= 4.5:1 (measured 2.09:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#7b7b7b",
      "bg": "#1a1a1a",
      "expectedRatio": 4.5,
      "measuredRatio": 4.11,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #7b7b7b and #1a1a1a to >= 4.5:1 (measured 4.11:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#7b7b7b",
      "bg": "#1f1f1f",
      "expectedRatio": 4.5,
      "measuredRatio": 3.89,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #7b7b7b and #1f1f1f to >= 4.5:1 (measured 3.89:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#7b7b7b",
      "bg": "#232323",
      "expectedRatio": 4.5,
      "measuredRatio": 3.71,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #7b7b7b and #232323 to >= 4.5:1 (measured 3.71:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#7b7b7b",
      "bg": "#f3f3f3",
      "expectedRatio": 4.5,
      "measuredRatio": 3.81,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #7b7b7b and #f3f3f3 to >= 4.5:1 (measured 3.81:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#7b7b7b",
      "bg": "#f9f9f9",
      "expectedRatio": 4.5,
      "measuredRatio": 4.02,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #7b7b7b and #f9f9f9 to >= 4.5:1 (measured 4.02:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#9e9e9e",
      "bg": "#f8f8f8",
      "expectedRatio": 4.5,
      "measuredRatio": 2.52,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #9e9e9e and #f8f8f8 to >= 4.5:1 (measured 2.52:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#c4e2cb",
      "bg": "#299f45",
      "expectedRatio": 4.5,
      "measuredRatio": 2.45,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #c4e2cb and #299f45 to >= 4.5:1 (measured 2.45:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#c6e7ce",
      "bg": "#2fb54e",
      "expectedRatio": 4.5,
      "measuredRatio": 2,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #c6e7ce and #2fb54e to >= 4.5:1 (measured 2:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#d39f39",
      "bg": "#f0f0f0",
      "expectedRatio": 4.5,
      "measuredRatio": 2.09,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #d39f39 and #f0f0f0 to >= 4.5:1 (measured 2.09:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#dc2717",
      "bg": "#f0f0f0",
      "expectedRatio": 4.5,
      "measuredRatio": 4.24,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #dc2717 and #f0f0f0 to >= 4.5:1 (measured 4.24:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#dc2717",
      "bg": "#f9d8d5",
      "expectedRatio": 4.5,
      "measuredRatio": 3.63,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #dc2717 and #f9d8d5 to >= 4.5:1 (measured 3.63:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#e26601",
      "bg": "#eedaca",
      "expectedRatio": 4.5,
      "measuredRatio": 2.52,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #e26601 and #eedaca to >= 4.5:1 (measured 2.52:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#ea4233",
      "bg": "#262626",
      "expectedRatio": 4.5,
      "measuredRatio": 3.83,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #ea4233 and #262626 to >= 4.5:1 (measured 3.83:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#ea4233",
      "bg": "#3b1c1a",
      "expectedRatio": 4.5,
      "measuredRatio": 3.89,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #ea4233 and #3b1c1a to >= 4.5:1 (measured 3.89:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#00ac39",
      "expectedRatio": 4.5,
      "measuredRatio": 2.84,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #00ac39 to >= 4.5:1 (measured 2.84:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#41c760",
      "expectedRatio": 4.5,
      "measuredRatio": 2.06,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #41c760 to >= 4.5:1 (measured 2.06:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#f8f8f8",
      "bg": "#e1eefd",
      "expectedRatio": 4.5,
      "measuredRatio": 1.1,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #f8f8f8 and #e1eefd to >= 4.5:1 (measured 1.1:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#ffffff",
      "bg": "#299f45",
      "expectedRatio": 4.5,
      "measuredRatio": 3.42,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #ffffff and #299f45 to >= 4.5:1 (measured 3.42:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    },
    {
      "fg": "#ffffff",
      "bg": "#2fb54e",
      "expectedRatio": 4.5,
      "measuredRatio": 2.67,
      "acceptedOn": "2026-08-31",
      "acceptedBy": "owner (INFRA-F86 残余③ option ①)",
      "fixDirection": "raise contrast between #ffffff and #2fb54e to >= 4.5:1 (measured 2.67:1). Which side moves is a designer decision on the Figma semantic colour tokens — INFRA-F86 option (2).",
      "note": "Steady-state axe finding, frozen transitions, measured 2026-08-31 across 35 docs pages x 2 themes."
    }
  ]
}
