{
  "$description": "Brand: Epic Games — light mode",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette epic-games@1.0.0",
      "ink": {
        "$value": "#101014",
        "$type": "color",
        "$description": "Page canvas — the Epic Games Store's primary dark background. Captured from the html background-color on store.epicgames.com.\n"
      },
      "ink-deep": {
        "$value": "#000000",
        "$type": "color",
        "$description": "Pure black for hero artwork grounds and modal scrims.\n"
      },
      "graphite": {
        "$value": "#202024",
        "$type": "color",
        "$description": "Elevated surface on the Ink canvas — card backgrounds and header chrome.\n"
      },
      "graphite-mid": {
        "$value": "#2A2A2E",
        "$type": "color",
        "$description": "Mid graphite — secondary card surfaces and quiet panel backgrounds.\n"
      },
      "graphite-light": {
        "$value": "#404044",
        "$type": "color",
        "$description": "Secondary button surface — observed as the default fill on the page chrome's secondary buttons.\n"
      },
      "fog-dark": {
        "$value": "#5A5A5E",
        "$type": "color",
        "$description": "Tertiary text on dark canvas; quiet icon fills.\n"
      },
      "fog": {
        "$value": "#A6A6A6",
        "$type": "color",
        "$description": "Secondary text on dark canvas; observed as rgba(255,255,255, 0.65) on disabled link affordances.\n"
      },
      "fog-light": {
        "$value": "#D0D0D0",
        "$type": "color",
        "$description": "Quiet body-on-dark text and pale icon fills.\n"
      },
      "snow": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Pure white — the Epic Games Store's primary CTA fill (white surface with Ink text). Also the brand mark's positive fill.\n"
      },
      "snow-mid": {
        "$value": "#F5F5F5",
        "$type": "color",
        "$description": "Pale surface — alternate card background and quiet promotional treatments.\n"
      },
      "action-blue": {
        "$value": "#0078F2",
        "$type": "color",
        "$description": "Inline link accent observed on the marketing-site link surfaces. Not the primary CTA — Epic's primary action is a white surface with ink text — but the established hue for inline links and focus rings.\n"
      },
      "hot-pink": {
        "$value": "#FF1F8A",
        "$type": "color",
        "$description": "Promotional / discount sticker accent observed on hero banners and sale stickers across the storefront.\n"
      },
      "signal-green": {
        "$value": "#26BBA4",
        "$type": "color",
        "$description": "Free-claim / \"now free\" sticker accent observed on the weekly free-game banners.\n"
      },
      "alert-red": {
        "$value": "#D8453A",
        "$type": "color",
        "$description": "Destructive-action / error red used for \"remove from wishlist\" and refund-related affordances.\n"
      }
    },
    "roles": {
      "$description": "Semantic color roles (light mode) mapped to palette swatches",
      "background": {
        "$value": "{color.swatches.snow}",
        "$type": "color",
        "$description": "background role → Snow"
      },
      "surface": {
        "$value": "{color.swatches.snow-mid}",
        "$type": "color",
        "$description": "surface role → Snow Mid"
      },
      "surface-elevated": {
        "$value": "{color.swatches.snow}",
        "$type": "color",
        "$description": "surface-elevated role → Snow"
      },
      "text-primary": {
        "$value": "{color.swatches.ink}",
        "$type": "color",
        "$description": "text-primary role → Ink"
      },
      "text-secondary": {
        "$value": "{color.swatches.fog-dark}",
        "$type": "color",
        "$description": "text-secondary role → Fog Dark"
      },
      "text-tertiary": {
        "$value": "{color.swatches.fog}",
        "$type": "color",
        "$description": "text-tertiary role → Fog"
      },
      "primary": {
        "$value": "{color.swatches.ink}",
        "$type": "color",
        "$description": "primary role → Ink"
      },
      "primary-hover": {
        "$value": "{color.swatches.graphite-light}",
        "$type": "color",
        "$description": "primary-hover role → Graphite Light"
      },
      "accent": {
        "$value": "{color.swatches.action-blue}",
        "$type": "color",
        "$description": "accent role → Action Blue"
      },
      "accent-hover": {
        "$value": "{color.swatches.action-blue}",
        "$type": "color",
        "$description": "accent-hover role → Action Blue"
      },
      "warning": {
        "$value": "{color.swatches.hot-pink}",
        "$type": "color",
        "$description": "warning role → Hot Pink"
      },
      "warning-hover": {
        "$value": "{color.swatches.hot-pink}",
        "$type": "color",
        "$description": "warning-hover role → Hot Pink"
      },
      "error": {
        "$value": "{color.swatches.alert-red}",
        "$type": "color",
        "$description": "error role → Alert Red"
      },
      "success": {
        "$value": "{color.swatches.signal-green}",
        "$type": "color",
        "$description": "success role → Signal Green"
      },
      "border": {
        "$value": "{color.swatches.fog-light}",
        "$type": "color",
        "$description": "border role → Fog Light"
      },
      "brand-overrides": {
        "$description": "Brand-level role overrides (take precedence over palette role mappings)",
        "identity": {
          "$value": "{color.swatches.ink}",
          "$type": "color",
          "$description": "Brand role identity → Ink"
        },
        "on-identity": {
          "$value": "{color.swatches.snow}",
          "$type": "color",
          "$description": "Brand role on-identity → Snow"
        },
        "primary": {
          "$value": "{color.swatches.snow}",
          "$type": "color",
          "$description": "Brand role primary → Snow"
        },
        "primary-hover": {
          "$value": "{color.swatches.fog-light}",
          "$type": "color",
          "$description": "Brand role primary-hover → Fog Light"
        },
        "accent": {
          "$value": "{color.swatches.action-blue}",
          "$type": "color",
          "$description": "Brand role accent → Action Blue"
        },
        "accent-hover": {
          "$value": "{color.swatches.action-blue}",
          "$type": "color",
          "$description": "Brand role accent-hover → Action Blue"
        },
        "mark": {
          "$value": "{color.swatches.snow}",
          "$type": "color",
          "$description": "Brand role mark → Snow"
        },
        "success": {
          "$value": "{color.swatches.signal-green}",
          "$type": "color",
          "$description": "Brand role success → Signal Green"
        },
        "warning": {
          "$value": "{color.swatches.hot-pink}",
          "$type": "color",
          "$description": "Brand role warning → Hot Pink"
        },
        "error": {
          "$value": "{color.swatches.alert-red}",
          "$type": "color",
          "$description": "Brand role error → Alert Red"
        },
        "text-primary-light": {
          "$value": "{color.swatches.ink}",
          "$type": "color",
          "$description": "Brand role text-primary-light → Ink"
        },
        "text-primary-dark": {
          "$value": "{color.swatches.snow}",
          "$type": "color",
          "$description": "Brand role text-primary-dark → Snow"
        },
        "background-light": {
          "$value": "{color.swatches.snow}",
          "$type": "color",
          "$description": "Brand role background-light → Snow"
        },
        "background-dark": {
          "$value": "{color.swatches.ink}",
          "$type": "color",
          "$description": "Brand role background-dark → Ink"
        },
        "surface-light": {
          "$value": "{color.swatches.snow-mid}",
          "$type": "color",
          "$description": "Brand role surface-light → Snow Mid"
        },
        "surface-dark": {
          "$value": "{color.swatches.graphite}",
          "$type": "color",
          "$description": "Brand role surface-dark → Graphite"
        },
        "text-secondary-light": {
          "$value": "{color.swatches.fog-dark}",
          "$type": "color",
          "$description": "Brand role text-secondary-light → Fog Dark"
        },
        "text-tertiary-light": {
          "$value": "{color.swatches.fog}",
          "$type": "color",
          "$description": "Brand role text-tertiary-light → Fog"
        },
        "border-light": {
          "$value": "{color.swatches.fog-light}",
          "$type": "color",
          "$description": "Brand role border-light → Fog Light"
        }
      }
    }
  },
  "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"
      }
    }
  }
}
