{
  "format": "json",
  "tokens": {
    "color": {
      "primary": "#a78bfa",
      "accent": "#a78bfa",
      "bg": "#ffffff",
      "surface": "#fcfcfd",
      "text": "#737373"
    },
    "font": {
      "display": "Sora",
      "body": "Sora"
    },
    "radius": {
      "sm": "5px",
      "md": "8px",
      "lg": "10px",
      "xl": "12px",
      "full": "9999px"
    }
  },
  "design": {
    "palette": [
      {
        "hex": "#ffffff",
        "usage_pct": 57.6,
        "lum": 1,
        "chroma": 0
      },
      {
        "hex": "#fcfcfd",
        "usage_pct": 20.8,
        "lum": 0.99,
        "chroma": 0
      },
      {
        "hex": "#fafafa",
        "usage_pct": 15.5,
        "lum": 0.98,
        "chroma": 0
      },
      {
        "hex": "#f8f6ff",
        "usage_pct": 3,
        "lum": 0.97,
        "chroma": 0.04
      },
      {
        "hex": "#a78bfa",
        "usage_pct": 1,
        "lum": 0.6,
        "chroma": 0.44
      },
      {
        "hex": "#f5f3ff",
        "usage_pct": 0.8,
        "lum": 0.96,
        "chroma": 0.05
      },
      {
        "hex": "#7150e6",
        "usage_pct": 0.6,
        "lum": 0.38,
        "chroma": 0.59
      },
      {
        "hex": "#f8fafc",
        "usage_pct": 0.2,
        "lum": 0.98,
        "chroma": 0.02
      },
      {
        "hex": "#6f52e5",
        "usage_pct": 0.1,
        "lum": 0.39,
        "chroma": 0.58
      },
      {
        "hex": "#6347d1",
        "usage_pct": 0.1,
        "lum": 0.34,
        "chroma": 0.54
      },
      {
        "hex": "#f5f5f5",
        "usage_pct": 0.1,
        "lum": 0.96,
        "chroma": 0
      },
      {
        "hex": "#f3f4f6",
        "usage_pct": 0.1,
        "lum": 0.96,
        "chroma": 0.01
      }
    ],
    "ink": [
      {
        "hex": "#737373",
        "weight": 44.2
      },
      {
        "hex": "#171717",
        "weight": 25.4
      },
      {
        "hex": "#525252",
        "weight": 10.1
      },
      {
        "hex": "#6b7280",
        "weight": 8.6
      },
      {
        "hex": "#6347d1",
        "weight": 4.4
      },
      {
        "hex": "#5239b8",
        "weight": 2.3
      },
      {
        "hex": "#ffffff",
        "weight": 2.1
      },
      {
        "hex": "#111827",
        "weight": 1
      }
    ],
    "radius_scale": [
      5,
      8,
      10,
      12,
      14,
      9999
    ],
    "type": {
      "display": "Sora",
      "body": "Sora",
      "size_scale": [
        10,
        11,
        12,
        13,
        15,
        20,
        28,
        45
      ],
      "weights": [
        400,
        500,
        600,
        700
      ],
      "families": [
        {
          "family": "Sora",
          "chars": 7424
        }
      ],
      "avg_size": 14,
      "min_size": 10
    },
    "roles": {
      "primary": "#a78bfa",
      "accent": "#a78bfa",
      "bg": "#ffffff",
      "surface": "#fcfcfd",
      "text": "#737373"
    },
    "role_collisions": [
      "accent == primary"
    ]
  },
  "note": "tokens is the five-slot export and is unchanged — ?format=css renders exactly it. design is what those five slots were derived FROM: the full palette ORDERED BY USAGE with usage_pct (the field that tells a background from an accent: the colour covering 55% of the page is the ground, and five equal slots cannot say which one that is), weighted ink candidates, the real type scale and weights, and EVERY radius rather than the five that fit. PAGE-SCOPED, not band-scoped: this is the whole capture. Where role_collisions names a pair, two roles resolved to one colour on this page — that is the measurement, not a bug, and no second colour is invented to fill the slot. There is no spacing field because nothing measures spacing: absent, never guessed."
}