{
  "$description": "ThreadGrid brand tokens. Generated by brand/scripts/build.ts.",
  "color": {
    "brand": {
      "navy": {
        "$type": "color",
        "$value": "#0F172A",
        "$description": "Navy — ink for the wordmark and headlines; dark surfaces"
      },
      "royalBlue": {
        "$type": "color",
        "$value": "#3B82F6",
        "$description": "Royal Blue — primary brand colour; the lit end of every ribbon"
      },
      "periwinkle": {
        "$type": "color",
        "$value": "#6366F1",
        "$description": "Periwinkle — secondary; the middle of the brand gradient"
      },
      "lavender": {
        "$type": "color",
        "$value": "#C084FC",
        "$description": "Lavender — accent; the end of the brand gradient"
      },
      "lightBlue": {
        "$type": "color",
        "$value": "#93C5FD",
        "$description": "Light Blue — highlights and accents on dark backgrounds"
      },
      "pale": {
        "$type": "color",
        "$value": "#E0E7FF",
        "$description": "Pale — tints, selected states and light panels"
      },
      "midnight": {
        "$type": "color",
        "$value": "#080E22",
        "$description": "Midnight — deepest background: dark heroes and the app icon tile"
      },
      "mist": {
        "$type": "color",
        "$value": "#F5F7FB",
        "$description": "Mist — light page background"
      },
      "white": {
        "$type": "color",
        "$value": "#FFFFFF",
        "$description": "White — cards on Mist; text on dark"
      },
      "slate": {
        "$type": "color",
        "$value": "#475569",
        "$description": "Slate — secondary text on light backgrounds"
      },
      "haze": {
        "$type": "color",
        "$value": "#94A3B8",
        "$description": "Haze — secondary text on dark backgrounds"
      },
      "actionBlue": {
        "$type": "color",
        "$value": "#2563EB",
        "$description": "Action Blue — filled buttons and links that carry white text or sit on white (WCAG AA)"
      }
    }
  },
  "gradient": {
    "brand": {
      "brand": {
        "$type": "gradient",
        "$value": [
          {
            "color": "#3B82F6",
            "position": 0
          },
          {
            "color": "#6366F1",
            "position": 0.5
          },
          {
            "color": "#C084FC",
            "position": 1
          }
        ],
        "$description": "signature gradient: CTAs, highlights, gradient text"
      },
      "ribbon": {
        "$type": "gradient",
        "$value": [
          {
            "color": "#3B82F6",
            "position": 0
          },
          {
            "color": "#93C5FD",
            "position": 0.38
          },
          {
            "color": "#E0E7FF",
            "position": 0.52
          },
          {
            "color": "#C084FC",
            "position": 1
          }
        ],
        "$description": "the lit ribbon: thin accents and dividers"
      },
      "mist": {
        "$type": "gradient",
        "$value": [
          {
            "color": "#FFFFFF",
            "position": 0
          },
          {
            "color": "#F5F7FB",
            "position": 0.55
          },
          {
            "color": "#E0E7FF",
            "position": 1
          }
        ],
        "$description": "light hero backgrounds"
      }
    }
  },
  "font": {
    "family": {
      "sans": {
        "$type": "fontFamily",
        "$value": [
          "Inter Variable",
          "Inter",
          "ui-sans-serif",
          "system-ui",
          "sans-serif"
        ]
      }
    },
    "weight": {
      "regular": {
        "$type": "fontWeight",
        "$value": 400
      },
      "medium": {
        "$type": "fontWeight",
        "$value": 500
      },
      "semibold": {
        "$type": "fontWeight",
        "$value": 600
      },
      "bold": {
        "$type": "fontWeight",
        "$value": 700
      }
    }
  }
}
