{
  "$description": "Semantic tier: what things mean. Every token here is a decision with a name, aliasing a primitive. This is the tier agents should build from; primitives never appear in application code. From tokenstoagents.ai/kit.",
  "color": {
    "text": {
      "primary":  { "$value": "{color.gray.950}", "$type": "color", "$description": "Default text on light surfaces." },
      "muted":    { "$value": "{color.gray.500}", "$type": "color", "$description": "Secondary text: captions, metadata, help text. Not for body copy." },
      "error":    { "$value": "{color.red.600}",  "$type": "color", "$description": "Error message text. Deep red for contrast on light surfaces." },
      "inverse":  { "$value": "{color.white}",    "$type": "color", "$description": "Text on dark or filled surfaces." }
    },
    "surface": {
      "page":          { "$value": "{color.white}",    "$type": "color", "$description": "Page background." },
      "raised":        { "$value": "{color.gray.50}",  "$type": "color", "$description": "Cards and raised regions." },
      "danger-subtle": { "$value": "{color.red.100}",  "$type": "color", "$description": "Background for error and destructive-warning regions only." }
    },
    "border": {
      "default": { "$value": "{color.gray.300}", "$type": "color", "$description": "Default hairline borders and dividers." },
      "strong":  { "$value": "{color.gray.700}", "$type": "color", "$description": "Emphasized borders: focused inputs, selected states." }
    },
    "feedback": {
      "danger": { "$value": "{color.red.500}", "$type": "color", "$description": "The danger role: destructive actions and error indicators. This is the red that means danger. Never used decoratively." }
    },
    "action": {
      "primary":       { "$value": "{color.gray.950}", "$type": "color", "$description": "Primary action fill. Ink-filled by design; reserve color for meaning." },
      "primary-hover": { "$value": "{color.gray.700}", "$type": "color", "$description": "Primary action hover fill." }
    }
  },
  "space": {
    "inset": {
      "control": { "$value": "{space.2}", "$type": "dimension", "$description": "Padding inside compact controls: buttons, inputs, chips." },
      "card":    { "$value": "{space.4}", "$type": "dimension", "$description": "Padding inside cards and panels." },
      "section": { "$value": "{space.8}", "$type": "dimension", "$description": "Padding around page sections." }
    },
    "stack": {
      "tight":   { "$value": "{space.1}", "$type": "dimension", "$description": "Vertical gap between tightly related items: label to input." },
      "default": { "$value": "{space.3}", "$type": "dimension", "$description": "Vertical gap between siblings in a group." },
      "loose":   { "$value": "{space.6}", "$type": "dimension", "$description": "Vertical gap between distinct groups." }
    }
  },
  "text": {
    "body":    { "$value": "{font.size.200}", "$type": "dimension", "$description": "Body text size." },
    "caption": { "$value": "{font.size.100}", "$type": "dimension", "$description": "Captions and metadata size." },
    "heading": { "$value": "{font.size.500}", "$type": "dimension", "$description": "Section heading size." }
  }
}
