{
  "$description": "Brand: Twitch — dark mode",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette twitch@1.0.0",
      "twitch-purple": {
        "$value": "#9146FF",
        "$type": "color",
        "$description": "Primary signature purple — the Twitch wordmark, the Glitch mark, and primary CTAs."
      },
      "twitch-purple-hover": {
        "$value": "#772CE8",
        "$type": "color",
        "$description": "Darker purple used for hover/pressed states on the primary action."
      },
      "twitch-purple-light": {
        "$value": "#BF94FF",
        "$type": "color",
        "$description": "Lighter purple used for emphasis on dark canvases and in marketing accents."
      },
      "twitch-black": {
        "$value": "#0E0E10",
        "$type": "color",
        "$description": "Canonical canvas — the Twitch consumer surface and chrome background."
      },
      "twitch-near-black": {
        "$value": "#18181B",
        "$type": "color",
        "$description": "Elevated surface — chat panels, player chrome, and modal backgrounds."
      },
      "twitch-charcoal": {
        "$value": "#1F1F23",
        "$type": "color",
        "$description": "Hovered surface, sidebar background, and elevated tiles in the Twitch consumer app."
      },
      "twitch-white": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Primary text on the dark canvas; reversed wordmark fill on light backgrounds."
      },
      "twitch-off-white": {
        "$value": "#EFEFF1",
        "$type": "color",
        "$description": "Authored light-mode canvas; secondary surface on dark mode."
      },
      "twitch-graphite": {
        "$value": "#53535F",
        "$type": "color",
        "$description": "Secondary text and divider color on the dark canvas."
      },
      "twitch-gray-light": {
        "$value": "#ADADB8",
        "$type": "color",
        "$description": "Tertiary text and metadata in the consumer product."
      }
    },
    "roles": {
      "$description": "Semantic color roles (dark mode) mapped to palette swatches",
      "background": {
        "$value": "{color.swatches.twitch-black}",
        "$type": "color",
        "$description": "background role → Twitch Black"
      },
      "surface": {
        "$value": "{color.swatches.twitch-near-black}",
        "$type": "color",
        "$description": "surface role → Twitch Near-Black"
      },
      "surface-elevated": {
        "$value": "{color.swatches.twitch-charcoal}",
        "$type": "color",
        "$description": "surface-elevated role → Twitch Charcoal"
      },
      "text-primary": {
        "$value": "{color.swatches.twitch-white}",
        "$type": "color",
        "$description": "text-primary role → Twitch White"
      },
      "text-secondary": {
        "$value": "{color.swatches.twitch-gray-light}",
        "$type": "color",
        "$description": "text-secondary role → Twitch Gray Light"
      },
      "text-tertiary": {
        "$value": "{color.swatches.twitch-graphite}",
        "$type": "color",
        "$description": "text-tertiary role → Twitch Graphite"
      },
      "primary": {
        "$value": "{color.swatches.twitch-purple}",
        "$type": "color",
        "$description": "primary role → Twitch Purple"
      },
      "primary-hover": {
        "$value": "{color.swatches.twitch-purple-light}",
        "$type": "color",
        "$description": "primary-hover role → Twitch Purple Light"
      },
      "accent": {
        "$value": "{color.swatches.twitch-purple}",
        "$type": "color",
        "$description": "accent role → Twitch Purple"
      },
      "accent-hover": {
        "$value": "{color.swatches.twitch-purple-light}",
        "$type": "color",
        "$description": "accent-hover role → Twitch Purple Light"
      },
      "warning": {
        "$value": "{color.swatches.twitch-purple-light}",
        "$type": "color",
        "$description": "warning role → Twitch Purple Light"
      },
      "warning-hover": {
        "$value": "{color.swatches.twitch-purple}",
        "$type": "color",
        "$description": "warning-hover role → Twitch Purple"
      },
      "error": {
        "$value": "{color.swatches.twitch-purple-light}",
        "$type": "color",
        "$description": "error role → Twitch Purple Light"
      },
      "success": {
        "$value": "{color.swatches.twitch-purple}",
        "$type": "color",
        "$description": "success role → Twitch Purple"
      },
      "brand-overrides": {
        "$description": "Brand-level role overrides (take precedence over palette role mappings)",
        "identity": {
          "$value": "{color.swatches.twitch-black}",
          "$type": "color",
          "$description": "Brand role identity → Twitch Black"
        },
        "on-identity": {
          "$value": "{color.swatches.twitch-purple}",
          "$type": "color",
          "$description": "Brand role on-identity → Twitch Purple"
        },
        "background": {
          "$value": "{color.swatches.twitch-black}",
          "$type": "color",
          "$description": "Brand role background → Twitch Black"
        },
        "surface": {
          "$value": "{color.swatches.twitch-near-black}",
          "$type": "color",
          "$description": "Brand role surface → Twitch Near-Black"
        },
        "surface-elevated": {
          "$value": "{color.swatches.twitch-charcoal}",
          "$type": "color",
          "$description": "Brand role surface-elevated → Twitch Charcoal"
        },
        "text-primary": {
          "$value": "{color.swatches.twitch-white}",
          "$type": "color",
          "$description": "Brand role text-primary → Twitch White"
        },
        "text-secondary": {
          "$value": "{color.swatches.twitch-gray-light}",
          "$type": "color",
          "$description": "Brand role text-secondary → Twitch Gray Light"
        },
        "text-tertiary": {
          "$value": "{color.swatches.twitch-graphite}",
          "$type": "color",
          "$description": "Brand role text-tertiary → Twitch Graphite"
        },
        "primary": {
          "$value": "{color.swatches.twitch-purple}",
          "$type": "color",
          "$description": "Brand role primary → Twitch Purple"
        },
        "primary-hover": {
          "$value": "{color.swatches.twitch-purple-light}",
          "$type": "color",
          "$description": "Brand role primary-hover → Twitch Purple Light"
        },
        "accent": {
          "$value": "{color.swatches.twitch-purple}",
          "$type": "color",
          "$description": "Brand role accent → Twitch Purple"
        },
        "accent-hover": {
          "$value": "{color.swatches.twitch-purple-light}",
          "$type": "color",
          "$description": "Brand role accent-hover → Twitch Purple Light"
        },
        "mark": {
          "$value": "{color.swatches.twitch-purple}",
          "$type": "color",
          "$description": "Brand role mark → Twitch Purple"
        },
        "text-emphasis": {
          "$value": "{color.swatches.twitch-white}",
          "$type": "color",
          "$description": "Brand role text-emphasis → Twitch White"
        }
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Inter (inter@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Inter (inter@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "mono": {
      "family": {
        "$value": [
          "JetBrainsMono Nerd Font",
          "JetBrains Mono",
          "Fira Code",
          "Menlo",
          "Monaco",
          "Consolas",
          "Liberation Mono",
          "monospace"
        ],
        "$type": "fontFamily",
        "$description": "mono role → JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    }
  }
}
