{
  "plugins": [
    "react",
    "import"
  ],
  "rules": {
    "react/forbid-elements": [
      "warn",
      {
        "forbid": []
      }
    ],
    "no-restricted-imports": [
      "warn",
      {
        "patterns": [
          {
            "group": [
              "components/brand/**",
              "components/core/**",
              "components/editorial/**",
              "components/forms/**",
              "components/graphic/**",
              "components/media/**",
              "ui_kits/website/**"
            ],
            "message": "Import design-system components from 'index.js', not component internals."
          }
        ]
      }
    ],
    "no-restricted-syntax": [
      "warn",
      {
        "selector": "Literal[value=/#[0-9a-fA-F]{3,8}\\b/]",
        "message": "Raw hex color — use a design-system color token via var()."
      },
      {
        "selector": "Literal[value=/\\b\\d+px\\b/]",
        "message": "Raw px value — use a design-system spacing token via var()."
      },
      {
        "selector": "Literal[value=/font-family\\s*:\\s*(?!['\\\"]?(?:PBS Sans|PBS Sans Cond))/i]",
        "message": "Font not provided by the design system. Available: PBS Sans, PBS Sans Cond."
      },
      {
        "selector": "JSXOpeningElement[name.name='AppPromo'] > JSXAttribute > JSXIdentifier[name!=/^(?:lockup|cta|free|passport|tone|size|height|finePrint|showFinePrint|key|ref|className|style|children)$/]",
        "message": "<AppPromo> doesn't accept that prop. Declared props: lockup, cta, free, passport, tone, size, height, finePrint, showFinePrint."
      },
      {
        "selector": "JSXOpeningElement[name.name='AppPromo'] > JSXAttribute[name.name='lockup'] > Literal[value!=/^(?:pill|watch)$/]",
        "message": "<AppPromo> lockup must be one of 'pill' | 'watch'."
      },
      {
        "selector": "JSXOpeningElement[name.name='AppPromo'] > JSXAttribute[name.name='tone'] > Literal[value!=/^(?:white|color)$/]",
        "message": "<AppPromo> tone must be one of 'white' | 'color'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Badge'] > JSXAttribute > JSXIdentifier[name!=/^(?:tone|children|key|ref|className|style|children)$/]",
        "message": "<Badge> doesn't accept that prop. Declared props: tone, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='Badge'] > JSXAttribute[name.name='tone'] > Literal[value!=/^(?:brand|navy|teal|yellow|coral|neutral)$/]",
        "message": "<Badge> tone must be one of 'brand' | 'navy' | 'teal' | 'yellow' | 'coral' | 'neutral'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Button'] > JSXAttribute > JSXIdentifier[name!=/^(?:variant|size|iconLeft|iconRight|fullWidth|disabled|as|children|key|ref|className|style|children)$/]",
        "message": "<Button> doesn't accept that prop. Declared props: variant, size, iconLeft, iconRight, fullWidth, disabled, as, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='Button'] > JSXAttribute[name.name='variant'] > Literal[value!=/^(?:primary|secondary|ghost|inverse)$/]",
        "message": "<Button> variant must be one of 'primary' | 'secondary' | 'ghost' | 'inverse'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Button'] > JSXAttribute[name.name='size'] > Literal[value!=/^(?:sm|md|lg)$/]",
        "message": "<Button> size must be one of 'sm' | 'md' | 'lg'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Button'] > JSXAttribute[name.name='as'] > Literal[value!=/^(?:button|a)$/]",
        "message": "<Button> as must be one of 'button' | 'a'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Card'] > JSXAttribute > JSXIdentifier[name!=/^(?:elevation|padded|interactive|children|key|ref|className|style|children)$/]",
        "message": "<Card> doesn't accept that prop. Declared props: elevation, padded, interactive, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='Card'] > JSXAttribute[name.name='elevation'] > Literal[value!=/^(?:none|xs|sm|md|lg)$/]",
        "message": "<Card> elevation must be one of 'none' | 'xs' | 'sm' | 'md' | 'lg'."
      },
      {
        "selector": "JSXOpeningElement[name.name='ChannelLogo'] > JSXAttribute > JSXIdentifier[name!=/^(?:channel|orientation|tone|print|height|key|ref|className|style|children)$/]",
        "message": "<ChannelLogo> doesn't accept that prop. Declared props: channel, orientation, tone, print, height."
      },
      {
        "selector": "JSXOpeningElement[name.name='ChannelLogo'] > JSXAttribute[name.name='channel'] > Literal[value!=/^(?:world|create|allarts|kids|passport)$/]",
        "message": "<ChannelLogo> channel must be one of 'world' | 'create' | 'allarts' | 'kids' | 'passport'."
      },
      {
        "selector": "JSXOpeningElement[name.name='ChannelLogo'] > JSXAttribute[name.name='orientation'] > Literal[value!=/^(?:horizontal|stacked)$/]",
        "message": "<ChannelLogo> orientation must be one of 'horizontal' | 'stacked'."
      },
      {
        "selector": "JSXOpeningElement[name.name='ChannelLogo'] > JSXAttribute[name.name='tone'] > Literal[value!=/^(?:color|white|black|reverse)$/]",
        "message": "<ChannelLogo> tone must be one of 'color' | 'white' | 'black' | 'reverse'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Checkbox'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|checked|defaultChecked|onChange|disabled|style|key|ref|className|style|children)$/]",
        "message": "<Checkbox> doesn't accept that prop. Declared props: label, checked, defaultChecked, onChange, disabled, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='CircleCrop'] > JSXAttribute > JSXIdentifier[name!=/^(?:side|fill|src|size|extent|background|backgroundSrc|circleStyle|children|key|ref|className|style|children)$/]",
        "message": "<CircleCrop> doesn't accept that prop. Declared props: side, fill, src, size, extent, background, backgroundSrc, circleStyle, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='CircleCrop'] > JSXAttribute[name.name='side'] > Literal[value!=/^(?:left|right|top|bottom)$/]",
        "message": "<CircleCrop> side must be one of 'left' | 'right' | 'top' | 'bottom'."
      },
      {
        "selector": "JSXOpeningElement[name.name='CircleHighlight'] > JSXAttribute > JSXIdentifier[name!=/^(?:fill|color|size|translucent|children|key|ref|className|style|children)$/]",
        "message": "<CircleHighlight> doesn't accept that prop. Declared props: fill, color, size, translucent, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='CircleHighlight'] > JSXAttribute[name.name='fill'] > Literal[value!=/^(?:pbs|navy|medium|light|white)$/]",
        "message": "<CircleHighlight> fill must be one of 'pbs' | 'navy' | 'medium' | 'light' | 'white'."
      },
      {
        "selector": "JSXOpeningElement[name.name='CircleHighlight'] > JSXAttribute[name.name='color'] > Literal[value!=/^(?:teal|yellow|coral|white|pbs)$/]",
        "message": "<CircleHighlight> color must be one of 'teal' | 'yellow' | 'coral' | 'white' | 'pbs'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Curve'] > JSXAttribute > JSXIdentifier[name!=/^(?:fill|src|background|backgroundSrc|shadow|width|height|children|key|ref|className|style|children)$/]",
        "message": "<Curve> doesn't accept that prop. Declared props: fill, src, background, backgroundSrc, shadow, width, height, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='CurvedPhotoMask'] > JSXAttribute > JSXIdentifier[name!=/^(?:src|alt|corner|radius|accent|height|style|key|ref|className|style|children)$/]",
        "message": "<CurvedPhotoMask> doesn't accept that prop. Declared props: src, alt, corner, radius, accent, height, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='CurvedPhotoMask'] > JSXAttribute[name.name='corner'] > Literal[value!=/^(?:bottom-left|bottom-right|top-left|top-right)$/]",
        "message": "<CurvedPhotoMask> corner must be one of 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right'."
      },
      {
        "selector": "JSXOpeningElement[name.name='HighlightLabel'] > JSXAttribute > JSXIdentifier[name!=/^(?:children|tone|ink|style|key|ref|className|style|children)$/]",
        "message": "<HighlightLabel> doesn't accept that prop. Declared props: children, tone, ink, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='IconButton'] > JSXAttribute > JSXIdentifier[name!=/^(?:variant|size|label|children|key|ref|className|style|children)$/]",
        "message": "<IconButton> doesn't accept that prop. Declared props: variant, size, label, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='IconButton'] > JSXAttribute[name.name='variant'] > Literal[value!=/^(?:primary|subtle|ghost|inverse)$/]",
        "message": "<IconButton> variant must be one of 'primary' | 'subtle' | 'ghost' | 'inverse'."
      },
      {
        "selector": "JSXOpeningElement[name.name='IconButton'] > JSXAttribute[name.name='size'] > Literal[value!=/^(?:sm|md|lg)$/]",
        "message": "<IconButton> size must be one of 'sm' | 'md' | 'lg'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Input'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|hint|error|iconLeft|size|key|ref|className|style|children)$/]",
        "message": "<Input> doesn't accept that prop. Declared props: label, hint, error, iconLeft, size."
      },
      {
        "selector": "JSXOpeningElement[name.name='Input'] > JSXAttribute[name.name='size'] > Literal[value!=/^(?:sm|md|lg)$/]",
        "message": "<Input> size must be one of 'sm' | 'md' | 'lg'."
      },
      {
        "selector": "JSXOpeningElement[name.name='KeySidebar'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|items|tone|style|key|ref|className|style|children)$/]",
        "message": "<KeySidebar> doesn't accept that prop. Declared props: label, items, tone, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='LargeCircleHighlight'] > JSXAttribute > JSXIdentifier[name!=/^(?:src|size|contentStyle|children|key|ref|className|style|children)$/]",
        "message": "<LargeCircleHighlight> doesn't accept that prop. Declared props: src, size, contentStyle, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='LineHighlight'] > JSXAttribute > JSXIdentifier[name!=/^(?:orientation|color|thickness|gap|lineOpacity|highlight|children|key|ref|className|style|children)$/]",
        "message": "<LineHighlight> doesn't accept that prop. Declared props: orientation, color, thickness, gap, lineOpacity, highlight, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='LineHighlight'] > JSXAttribute[name.name='orientation'] > Literal[value!=/^(?:vertical|horizontal)$/]",
        "message": "<LineHighlight> orientation must be one of 'vertical' | 'horizontal'."
      },
      {
        "selector": "JSXOpeningElement[name.name='LineHighlight'] > JSXAttribute[name.name='color'] > Literal[value!=/^(?:teal|yellow|coral|white)$/]",
        "message": "<LineHighlight> color must be one of 'teal' | 'yellow' | 'coral' | 'white'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Logo'] > JSXAttribute > JSXIdentifier[name!=/^(?:orientation|tone|height|key|ref|className|style|children)$/]",
        "message": "<Logo> doesn't accept that prop. Declared props: orientation, tone, height."
      },
      {
        "selector": "JSXOpeningElement[name.name='Logo'] > JSXAttribute[name.name='orientation'] > Literal[value!=/^(?:horizontal|vertical)$/]",
        "message": "<Logo> orientation must be one of 'horizontal' | 'vertical'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Logo'] > JSXAttribute[name.name='tone'] > Literal[value!=/^(?:color|white)$/]",
        "message": "<Logo> tone must be one of 'color' | 'white'."
      },
      {
        "selector": "JSXOpeningElement[name.name='NumberBadge'] > JSXAttribute > JSXIdentifier[name!=/^(?:value|tone|size|style|key|ref|className|style|children)$/]",
        "message": "<NumberBadge> doesn't accept that prop. Declared props: value, tone, size, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='PatternPanel'] > JSXAttribute > JSXIdentifier[name!=/^(?:pattern|overlay|rows|children|key|ref|className|style|children)$/]",
        "message": "<PatternPanel> doesn't accept that prop. Declared props: pattern, overlay, rows, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='PatternPanel'] > JSXAttribute[name.name='pattern'] > Literal[value!=/^(?:community|insight)$/]",
        "message": "<PatternPanel> pattern must be one of 'community' | 'insight'."
      },
      {
        "selector": "JSXOpeningElement[name.name='PatternPanel'] > JSXAttribute[name.name='overlay'] > Literal[value!=/^(?:none|brand|deep|scrim|navy50)$/]",
        "message": "<PatternPanel> overlay must be one of 'none' | 'brand' | 'deep' | 'scrim' | 'navy50'."
      },
      {
        "selector": "JSXOpeningElement[name.name='PillarDivider'] > JSXAttribute > JSXIdentifier[name!=/^(?:numeral|title|lead|body|imgSrc|imgAlt|style|key|ref|className|style|children)$/]",
        "message": "<PillarDivider> doesn't accept that prop. Declared props: numeral, title, lead, body, imgSrc, imgAlt, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='PillarTimelineItem'] > JSXAttribute > JSXIdentifier[name!=/^(?:numeral|label|key|ref|className|style|children)$/]",
        "message": "<PillarTimelineItem> doesn't accept that prop. Declared props: numeral, label."
      },
      {
        "selector": "JSXOpeningElement[name.name='PullQuote'] > JSXAttribute > JSXIdentifier[name!=/^(?:quote|name|photoSrc|tone|style|key|ref|className|style|children)$/]",
        "message": "<PullQuote> doesn't accept that prop. Declared props: quote, name, photoSrc, tone, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='Radio'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|checked|name|value|disabled|key|ref|className|style|children)$/]",
        "message": "<Radio> doesn't accept that prop. Declared props: label, checked, name, value, disabled."
      },
      {
        "selector": "JSXOpeningElement[name.name='RingAvatar'] > JSXAttribute > JSXIdentifier[name!=/^(?:src|alt|name|title|ring|size|style|key|ref|className|style|children)$/]",
        "message": "<RingAvatar> doesn't accept that prop. Declared props: src, alt, name, title, ring, size, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='SectionBar'] > JSXAttribute > JSXIdentifier[name!=/^(?:children|tone|ink|style|key|ref|className|style|children)$/]",
        "message": "<SectionBar> doesn't accept that prop. Declared props: children, tone, ink, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='Select'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|hint|error|options|size|key|ref|className|style|children)$/]",
        "message": "<Select> doesn't accept that prop. Declared props: label, hint, error, options, size."
      },
      {
        "selector": "JSXOpeningElement[name.name='Select'] > JSXAttribute[name.name='size'] > Literal[value!=/^(?:sm|md|lg)$/]",
        "message": "<Select> size must be one of 'sm' | 'md' | 'lg'."
      },
      {
        "selector": "JSXOpeningElement[name.name='ShowCard'] > JSXAttribute > JSXIdentifier[name!=/^(?:title|meta|badge|image|duration|progress|onClick|key|ref|className|style|children)$/]",
        "message": "<ShowCard> doesn't accept that prop. Declared props: title, meta, badge, image, duration, progress, onClick."
      },
      {
        "selector": "JSXOpeningElement[name.name='Switch'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|checked|defaultChecked|onChange|disabled|style|key|ref|className|style|children)$/]",
        "message": "<Switch> doesn't accept that prop. Declared props: label, checked, defaultChecked, onChange, disabled, style."
      },
      {
        "selector": "JSXOpeningElement[name.name='SymbolCrop'] > JSXAttribute > JSXIdentifier[name!=/^(?:mode|contentStyle|children|key|ref|className|style|children)$/]",
        "message": "<SymbolCrop> doesn't accept that prop. Declared props: mode, contentStyle, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='SymbolCrop'] > JSXAttribute[name.name='mode'] > Literal[value!=/^(?:a|b)$/]",
        "message": "<SymbolCrop> mode must be one of 'a' | 'b'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Tag'] > JSXAttribute > JSXIdentifier[name!=/^(?:active|onRemove|children|key|ref|className|style|children)$/]",
        "message": "<Tag> doesn't accept that prop. Declared props: active, onRemove, children."
      }
    ]
  },
  "overrides": [
    {
      "files": [
        "**/index.js"
      ],
      "rules": {
        "no-restricted-imports": "off"
      }
    }
  ],
  "x-omelette": {
    "components": {
      "AppPromo": {
        "replaces": []
      },
      "Badge": {
        "replaces": []
      },
      "Button": {
        "replaces": []
      },
      "Card": {
        "replaces": []
      },
      "ChannelLogo": {
        "replaces": []
      },
      "Checkbox": {
        "replaces": []
      },
      "CircleCrop": {
        "replaces": []
      },
      "CircleHighlight": {
        "replaces": []
      },
      "Curve": {
        "replaces": []
      },
      "CurvedPhotoMask": {
        "replaces": []
      },
      "HighlightLabel": {
        "replaces": []
      },
      "IconButton": {
        "replaces": []
      },
      "Input": {
        "replaces": []
      },
      "KeySidebar": {
        "replaces": []
      },
      "LargeCircleHighlight": {
        "replaces": []
      },
      "LineHighlight": {
        "replaces": []
      },
      "Logo": {
        "replaces": []
      },
      "NumberBadge": {
        "replaces": []
      },
      "PatternPanel": {
        "replaces": []
      },
      "PillarDivider": {
        "replaces": []
      },
      "PillarTimelineItem": {
        "replaces": []
      },
      "PullQuote": {
        "replaces": []
      },
      "Radio": {
        "replaces": []
      },
      "RingAvatar": {
        "replaces": []
      },
      "SectionBar": {
        "replaces": []
      },
      "Select": {
        "replaces": []
      },
      "ShowCard": {
        "replaces": []
      },
      "Switch": {
        "replaces": []
      },
      "SymbolCrop": {
        "replaces": []
      },
      "Tag": {
        "replaces": []
      }
    },
    "tokens": [
      "--accent-coral",
      "--accent-teal",
      "--accent-yellow",
      "--border",
      "--border-brand",
      "--border-strong",
      "--brand-on-primary",
      "--brand-primary",
      "--brand-primary-active",
      "--brand-primary-hover",
      "--cloud",
      "--content-max",
      "--coral",
      "--deep-sea",
      "--focus-ring",
      "--fog",
      "--font-body",
      "--font-cond",
      "--font-display",
      "--font-mono",
      "--font-sans",
      "--fs-body",
      "--fs-body-lg",
      "--fs-body-sm",
      "--fs-caption",
      "--fs-display-2xl",
      "--fs-display-lg",
      "--fs-display-xl",
      "--fs-h1",
      "--fs-h2",
      "--fs-h3",
      "--fs-h4",
      "--fs-overline",
      "--fw-black",
      "--fw-bold",
      "--fw-light",
      "--fw-medium",
      "--fw-regular",
      "--fw-semibold",
      "--gradient-brand",
      "--gradient-deep",
      "--gradient-primary",
      "--gradient-primary-overlay",
      "--gradient-primary-overlay-tr",
      "--gradient-primary-tr",
      "--gradient-secondary",
      "--green",
      "--gutter",
      "--honey",
      "--lh-body",
      "--lh-heading",
      "--lh-snug",
      "--lh-tight",
      "--light-blue",
      "--ls-display",
      "--ls-heading",
      "--ls-normal",
      "--ls-overline",
      "--medium-blue",
      "--midnight",
      "--navy-blue",
      "--neutral-100",
      "--neutral-200",
      "--neutral-300",
      "--neutral-400",
      "--neutral-50",
      "--neutral-500",
      "--neutral-700",
      "--neutral-800",
      "--neutral-900",
      "--neutral-950",
      "--page-margin",
      "--pbs-blue",
      "--peach",
      "--purple",
      "--radius-button",
      "--radius-card",
      "--radius-lg",
      "--radius-md",
      "--radius-media",
      "--radius-none",
      "--radius-pill",
      "--radius-sm",
      "--radius-xl",
      "--radius-xs",
      "--red",
      "--ring-focus",
      "--shadow-focus",
      "--shadow-lg",
      "--shadow-md",
      "--shadow-none",
      "--shadow-sm",
      "--shadow-xl",
      "--shadow-xs",
      "--sky",
      "--slate",
      "--space-0",
      "--space-1",
      "--space-10",
      "--space-12",
      "--space-16",
      "--space-2",
      "--space-20",
      "--space-24",
      "--space-3",
      "--space-32",
      "--space-4",
      "--space-5",
      "--space-6",
      "--space-8",
      "--stack",
      "--stack-loose",
      "--stack-tight",
      "--surface-brand",
      "--surface-card",
      "--surface-inverse",
      "--surface-page",
      "--surface-subtle",
      "--surface-sunken",
      "--teal",
      "--text-body",
      "--text-heading",
      "--text-link",
      "--text-link-hover",
      "--text-muted",
      "--text-on-dark",
      "--text-on-dark-muted",
      "--white",
      "--yellow"
    ],
    "tokenKinds": {
      "--pbs-blue": "color",
      "--white": "color",
      "--navy-blue": "color",
      "--medium-blue": "color",
      "--light-blue": "color",
      "--teal": "color",
      "--yellow": "color",
      "--coral": "color",
      "--sky": "color",
      "--honey": "color",
      "--peach": "color",
      "--purple": "color",
      "--red": "color",
      "--green": "color",
      "--cloud": "color",
      "--fog": "color",
      "--slate": "color",
      "--deep-sea": "color",
      "--midnight": "color",
      "--neutral-950": "color",
      "--neutral-900": "color",
      "--neutral-800": "color",
      "--neutral-700": "color",
      "--neutral-500": "color",
      "--neutral-400": "color",
      "--neutral-300": "color",
      "--neutral-200": "color",
      "--neutral-100": "color",
      "--neutral-50": "color",
      "--brand-primary": "color",
      "--brand-primary-hover": "color",
      "--brand-primary-active": "color",
      "--brand-on-primary": "color",
      "--surface-page": "color",
      "--surface-card": "color",
      "--surface-subtle": "color",
      "--surface-sunken": "color",
      "--surface-inverse": "color",
      "--surface-brand": "color",
      "--text-heading": "font",
      "--text-body": "font",
      "--text-muted": "font",
      "--text-on-dark": "font",
      "--text-on-dark-muted": "font",
      "--text-link": "font",
      "--text-link-hover": "font",
      "--border": "color",
      "--border-strong": "color",
      "--border-brand": "color",
      "--focus-ring": "color",
      "--accent-teal": "color",
      "--accent-yellow": "color",
      "--accent-coral": "color",
      "--gradient-primary": "color",
      "--gradient-secondary": "color",
      "--gradient-primary-overlay": "color",
      "--gradient-primary-tr": "color",
      "--gradient-primary-overlay-tr": "color",
      "--gradient-brand": "color",
      "--gradient-deep": "color",
      "--font-sans": "font",
      "--font-body": "font",
      "--font-display": "font",
      "--font-cond": "font",
      "--font-mono": "font",
      "--fw-light": "other",
      "--fw-regular": "other",
      "--fw-medium": "other",
      "--fw-semibold": "other",
      "--fw-bold": "other",
      "--fw-black": "other",
      "--fs-display-2xl": "spacing",
      "--fs-display-xl": "spacing",
      "--fs-display-lg": "spacing",
      "--fs-h1": "spacing",
      "--fs-h2": "spacing",
      "--fs-h3": "spacing",
      "--fs-h4": "spacing",
      "--fs-body-lg": "spacing",
      "--fs-body": "spacing",
      "--fs-body-sm": "spacing",
      "--fs-caption": "spacing",
      "--fs-overline": "spacing",
      "--lh-tight": "other",
      "--lh-heading": "other",
      "--lh-snug": "other",
      "--lh-body": "other",
      "--ls-display": "other",
      "--ls-heading": "other",
      "--ls-normal": "other",
      "--ls-overline": "other",
      "--space-0": "spacing",
      "--space-1": "spacing",
      "--space-2": "spacing",
      "--space-3": "spacing",
      "--space-4": "spacing",
      "--space-5": "spacing",
      "--space-6": "spacing",
      "--space-8": "spacing",
      "--space-10": "spacing",
      "--space-12": "spacing",
      "--space-16": "spacing",
      "--space-20": "spacing",
      "--space-24": "spacing",
      "--space-32": "spacing",
      "--gutter": "spacing",
      "--page-margin": "spacing",
      "--content-max": "spacing",
      "--stack-tight": "spacing",
      "--stack": "spacing",
      "--stack-loose": "spacing",
      "--radius-none": "radius",
      "--radius-xs": "radius",
      "--radius-sm": "radius",
      "--radius-md": "radius",
      "--radius-lg": "radius",
      "--radius-xl": "radius",
      "--radius-pill": "radius",
      "--radius-button": "radius",
      "--radius-card": "radius",
      "--radius-media": "radius",
      "--shadow-none": "shadow",
      "--shadow-xs": "shadow",
      "--shadow-sm": "shadow",
      "--shadow-md": "shadow",
      "--shadow-lg": "shadow",
      "--shadow-xl": "shadow",
      "--shadow-focus": "shadow",
      "--ring-focus": "shadow"
    },
    "fontFamilies": [
      "PBS Sans",
      "PBS Sans Cond"
    ]
  }
}