{
  "plugins": [
    "react",
    "import"
  ],
  "rules": {
    "react/forbid-elements": [
      "warn",
      {
        "forbid": []
      }
    ],
    "no-restricted-imports": [
      "warn",
      {
        "patterns": [
          {
            "group": [
              "components/badges/**",
              "components/buttons/**",
              "components/cards/**",
              "components/chips/**",
              "components/data/**",
              "components/feedback/**",
              "components/forms/**",
              "components/links/**",
              "components/modules/**",
              "components/navigation/**"
            ],
            "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*(?!['\\\"]?(?:Besley|Hanken Grotesk))/i]",
        "message": "Font not provided by the design system. Available: Besley, Hanken Grotesk."
      },
      {
        "selector": "JSXOpeningElement[name.name='ActivityCard'] > JSXAttribute > JSXIdentifier[name!=/^(?:title|day|month|place|audience|status|href|key|ref|className|style|children)$/]",
        "message": "<ActivityCard> doesn't accept that prop. Declared props: title, day, month, place, audience, status, href."
      },
      {
        "selector": "JSXOpeningElement[name.name='ActivityCard'] > JSXAttribute[name.name='status'] > Literal[value!=/^(?:open|few|full|waitlist)$/]",
        "message": "<ActivityCard> status must be one of 'open' | 'few' | 'full' | 'waitlist'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Badge'] > JSXAttribute > JSXIdentifier[name!=/^(?:tone|dot|icon|square|children|key|ref|className|style|children)$/]",
        "message": "<Badge> doesn't accept that prop. Declared props: tone, dot, icon, square, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='Crumb'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|href|key|ref|className|style|children)$/]",
        "message": "<Crumb> doesn't accept that prop. Declared props: label, href."
      },
      {
        "selector": "JSXOpeningElement[name.name='Button'] > JSXAttribute > JSXIdentifier[name!=/^(?:variant|size|block|loading|disabled|leadingIcon|trailingIcon|href|type|children|key|ref|className|style|children)$/]",
        "message": "<Button> doesn't accept that prop. Declared props: variant, size, block, loading, disabled, leadingIcon, trailingIcon, href, type, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='Button'] > JSXAttribute[name.name='type'] > Literal[value!=/^(?:button|submit|reset)$/]",
        "message": "<Button> type must be one of 'button' | 'submit' | 'reset'."
      },
      {
        "selector": "JSXOpeningElement[name.name='CabinCard'] > JSXAttribute > JSXIdentifier[name!=/^(?:title|area|open|hours|serving|lodging|image|imageAlt|href|key|ref|className|style|children)$/]",
        "message": "<CabinCard> doesn't accept that prop. Declared props: title, area, open, hours, serving, lodging, image, imageAlt, href."
      },
      {
        "selector": "JSXOpeningElement[name.name='Checkbox'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|help|error|key|ref|className|style|children)$/]",
        "message": "<Checkbox> doesn't accept that prop. Declared props: label, help, error."
      },
      {
        "selector": "JSXOpeningElement[name.name='Chip'] > JSXAttribute > JSXIdentifier[name!=/^(?:selected|onRemove|icon|disabled|children|key|ref|className|style|children)$/]",
        "message": "<Chip> doesn't accept that prop. Declared props: selected, onRemove, icon, disabled, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='EmptyStateAction'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|href|onClick|key|ref|className|style|children)$/]",
        "message": "<EmptyStateAction> doesn't accept that prop. Declared props: label, href, onClick."
      },
      {
        "selector": "JSXOpeningElement[name.name='EntryCard'] > JSXAttribute > JSXIdentifier[name!=/^(?:title|text|overline|cta|href|image|imageAlt|icon|badges|compact|key|ref|className|style|children)$/]",
        "message": "<EntryCard> doesn't accept that prop. Declared props: title, text, overline, cta, href, image, imageAlt, icon, badges, compact."
      },
      {
        "selector": "JSXOpeningElement[name.name='FooterLink'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|href|external|key|ref|className|style|children)$/]",
        "message": "<FooterLink> doesn't accept that prop. Declared props: label, href, external."
      },
      {
        "selector": "JSXOpeningElement[name.name='NavItem'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|href|active|key|ref|className|style|children)$/]",
        "message": "<NavItem> doesn't accept that prop. Declared props: label, href, active."
      },
      {
        "selector": "JSXOpeningElement[name.name='HeroCta'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|href|key|ref|className|style|children)$/]",
        "message": "<HeroCta> doesn't accept that prop. Declared props: label, href."
      },
      {
        "selector": "JSXOpeningElement[name.name='IconButton'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|variant|size|children|key|ref|className|style|children)$/]",
        "message": "<IconButton> doesn't accept that prop. Declared props: label, variant, size, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='IconButton'] > JSXAttribute[name.name='variant'] > Literal[value!=/^(?:ghost|filled|tonal)$/]",
        "message": "<IconButton> variant must be one of 'ghost' | 'filled' | 'tonal'."
      },
      {
        "selector": "JSXOpeningElement[name.name='IconButton'] > JSXAttribute[name.name='size'] > Literal[value!=/^(?:sm|md)$/]",
        "message": "<IconButton> size must be one of 'sm' | 'md'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Input'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|type|help|error|success|required|optional|icon|key|ref|className|style|children)$/]",
        "message": "<Input> doesn't accept that prop. Declared props: label, type, help, error, success, required, optional, icon."
      },
      {
        "selector": "JSXOpeningElement[name.name='Input'] > JSXAttribute[name.name='type'] > Literal[value!=/^(?:text|search|email|tel|number|date|password|url)$/]",
        "message": "<Input> type must be one of 'text' | 'search' | 'email' | 'tel' | 'number' | 'date' | 'password' | 'url'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Link'] > JSXAttribute > JSXIdentifier[name!=/^(?:href|external|standalone|externalNote|children|key|ref|className|style|children)$/]",
        "message": "<Link> doesn't accept that prop. Declared props: href, external, standalone, externalNote, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='MemberNudge'] > JSXAttribute > JSXIdentifier[name!=/^(?:title|message|ctaLabel|memberHref|tone|icon|onDismiss|className|key|ref|className|style|children)$/]",
        "message": "<MemberNudge> doesn't accept that prop. Declared props: title, message, ctaLabel, memberHref, tone, icon, onDismiss, className."
      },
      {
        "selector": "JSXOpeningElement[name.name='MemberNudge'] > JSXAttribute[name.name='tone'] > Literal[value!=/^(?:tertiary|inline)$/]",
        "message": "<MemberNudge> tone must be one of 'tertiary' | 'inline'."
      },
      {
        "selector": "JSXOpeningElement[name.name='MemberBenefit'] > JSXAttribute > JSXIdentifier[name!=/^(?:icon|title|text|key|ref|className|style|children)$/]",
        "message": "<MemberBenefit> doesn't accept that prop. Declared props: icon, title, text."
      },
      {
        "selector": "JSXOpeningElement[name.name='MembershipPlan'] > JSXAttribute > JSXIdentifier[name!=/^(?:name|price|period|who|featured|href|key|ref|className|style|children)$/]",
        "message": "<MembershipPlan> doesn't accept that prop. Declared props: name, price, period, who, featured, href."
      },
      {
        "selector": "JSXOpeningElement[name.name='MobileNav'] > JSXAttribute > JSXIdentifier[name!=/^(?:open|onClose|items|logoSrc|brandName|season|onSeasonChange|sporetHref|memberHref|className|key|ref|className|style|children)$/]",
        "message": "<MobileNav> doesn't accept that prop. Declared props: open, onClose, items, logoSrc, brandName, season, onSeasonChange, sporetHref, memberHref, className."
      },
      {
        "selector": "JSXOpeningElement[name.name='MobileNav'] > JSXAttribute[name.name='season'] > Literal[value!=/^(?:winter|summer)$/]",
        "message": "<MobileNav> season must be one of 'winter' | 'summer'."
      },
      {
        "selector": "JSXOpeningElement[name.name='NewsCard'] > JSXAttribute > JSXIdentifier[name!=/^(?:title|category|date|image|imageAlt|href|key|ref|className|style|children)$/]",
        "message": "<NewsCard> doesn't accept that prop. Declared props: title, category, date, image, imageAlt, href."
      },
      {
        "selector": "JSXOpeningElement[name.name='Pagination'] > JSXAttribute > JSXIdentifier[name!=/^(?:current|total|onChange|className|key|ref|className|style|children)$/]",
        "message": "<Pagination> doesn't accept that prop. Declared props: current, total, onChange, className."
      },
      {
        "selector": "JSXOpeningElement[name.name='Partner'] > JSXAttribute > JSXIdentifier[name!=/^(?:name|logo|href|key|ref|className|style|children)$/]",
        "message": "<Partner> doesn't accept that prop. Declared props: name, logo, href."
      },
      {
        "selector": "JSXOpeningElement[name.name='Radio'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|help|key|ref|className|style|children)$/]",
        "message": "<Radio> doesn't accept that prop. Declared props: label, help."
      },
      {
        "selector": "JSXOpeningElement[name.name='SearchField'] > JSXAttribute > JSXIdentifier[name!=/^(?:size|placeholder|label|onClear|key|ref|className|style|children)$/]",
        "message": "<SearchField> doesn't accept that prop. Declared props: size, placeholder, label, onClear."
      },
      {
        "selector": "JSXOpeningElement[name.name='SearchField'] > JSXAttribute[name.name='size'] > Literal[value!=/^(?:md|lg)$/]",
        "message": "<SearchField> size must be one of 'md' | 'lg'."
      },
      {
        "selector": "JSXOpeningElement[name.name='SeasonToggle'] > JSXAttribute > JSXIdentifier[name!=/^(?:season|onChange|compact|className|key|ref|className|style|children)$/]",
        "message": "<SeasonToggle> doesn't accept that prop. Declared props: season, onChange, compact, className."
      },
      {
        "selector": "JSXOpeningElement[name.name='SectionBanner'] > JSXAttribute > JSXIdentifier[name!=/^(?:title|text|tone|icon|action|className|children|key|ref|className|style|children)$/]",
        "message": "<SectionBanner> doesn't accept that prop. Declared props: title, text, tone, icon, action, className, children."
      },
      {
        "selector": "JSXOpeningElement[name.name='SectionBanner'] > JSXAttribute[name.name='tone'] > Literal[value!=/^(?:navy|info|success|warning|error)$/]",
        "message": "<SectionBanner> tone must be one of 'navy' | 'info' | 'success' | 'warning' | 'error'."
      },
      {
        "selector": "JSXOpeningElement[name.name='SelectOption'] > JSXAttribute > JSXIdentifier[name!=/^(?:value|label|key|ref|className|style|children)$/]",
        "message": "<SelectOption> doesn't accept that prop. Declared props: value, label."
      },
      {
        "selector": "JSXOpeningElement[name.name='SkeletonCard'] > JSXAttribute > JSXIdentifier[name!=/^(?:lines|className|key|ref|className|style|children)$/]",
        "message": "<SkeletonCard> doesn't accept that prop. Declared props: lines, className."
      },
      {
        "selector": "JSXOpeningElement[name.name='SporetArea'] > JSXAttribute > JSXIdentifier[name!=/^(?:name|condition|key|ref|className|style|children)$/]",
        "message": "<SporetArea> doesn't accept that prop. Declared props: name, condition."
      },
      {
        "selector": "JSXOpeningElement[name.name='SporetArea'] > JSXAttribute[name.name='condition'] > Literal[value!=/^(?:good|ok|none)$/]",
        "message": "<SporetArea> condition must be one of 'good' | 'ok' | 'none'."
      },
      {
        "selector": "JSXOpeningElement[name.name='Switch'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|labelPosition|key|ref|className|style|children)$/]",
        "message": "<Switch> doesn't accept that prop. Declared props: label, labelPosition."
      },
      {
        "selector": "JSXOpeningElement[name.name='Switch'] > JSXAttribute[name.name='labelPosition'] > Literal[value!=/^(?:start|end)$/]",
        "message": "<Switch> labelPosition must be one of 'start' | 'end'."
      },
      {
        "selector": "JSXOpeningElement[name.name='TabItem'] > JSXAttribute > JSXIdentifier[name!=/^(?:id|label|icon|count|key|ref|className|style|children)$/]",
        "message": "<TabItem> doesn't accept that prop. Declared props: id, label, icon, count."
      },
      {
        "selector": "JSXOpeningElement[name.name='Tooltip'] > JSXAttribute > JSXIdentifier[name!=/^(?:label|align|children|className|key|ref|className|style|children)$/]",
        "message": "<Tooltip> doesn't accept that prop. Declared props: label, align, children, className."
      },
      {
        "selector": "JSXOpeningElement[name.name='Tooltip'] > JSXAttribute[name.name='align'] > Literal[value!=/^(?:center|end)$/]",
        "message": "<Tooltip> align must be one of 'center' | 'end'."
      },
      {
        "selector": "JSXOpeningElement[name.name='TripCard'] > JSXAttribute > JSXIdentifier[name!=/^(?:title|area|length|season|difficulty|activityIcon|image|imageAlt|href|key|ref|className|style|children)$/]",
        "message": "<TripCard> doesn't accept that prop. Declared props: title, area, length, season, difficulty, activityIcon, image, imageAlt, href."
      },
      {
        "selector": "JSXOpeningElement[name.name='TripCard'] > JSXAttribute[name.name='season'] > Literal[value!=/^(?:vinter|sommer)$/]",
        "message": "<TripCard> season must be one of 'vinter' | 'sommer'."
      },
      {
        "selector": "JSXOpeningElement[name.name='TripCard'] > JSXAttribute[name.name='difficulty'] > Literal[value!=/^(?:enkel|middels|krevende)$/]",
        "message": "<TripCard> difficulty must be one of 'enkel' | 'middels' | 'krevende'."
      }
    ]
  },
  "overrides": [
    {
      "files": [
        "**/index.js"
      ],
      "rules": {
        "no-restricted-imports": "off"
      }
    }
  ],
  "x-omelette": {
    "components": {
      "ActivityCard": {
        "replaces": []
      },
      "Badge": {
        "replaces": []
      },
      "Crumb": {
        "replaces": []
      },
      "Button": {
        "replaces": []
      },
      "CabinCard": {
        "replaces": []
      },
      "Checkbox": {
        "replaces": []
      },
      "Chip": {
        "replaces": []
      },
      "EmptyStateAction": {
        "replaces": []
      },
      "EntryCard": {
        "replaces": []
      },
      "FooterLink": {
        "replaces": []
      },
      "NavItem": {
        "replaces": []
      },
      "HeroCta": {
        "replaces": []
      },
      "IconButton": {
        "replaces": []
      },
      "Input": {
        "replaces": []
      },
      "Link": {
        "replaces": []
      },
      "MemberNudge": {
        "replaces": []
      },
      "MemberBenefit": {
        "replaces": []
      },
      "MembershipPlan": {
        "replaces": []
      },
      "MobileNav": {
        "replaces": []
      },
      "NewsCard": {
        "replaces": []
      },
      "Pagination": {
        "replaces": []
      },
      "Partner": {
        "replaces": []
      },
      "Radio": {
        "replaces": []
      },
      "SearchField": {
        "replaces": []
      },
      "SeasonToggle": {
        "replaces": []
      },
      "SectionBanner": {
        "replaces": []
      },
      "SelectOption": {
        "replaces": []
      },
      "SkeletonCard": {
        "replaces": []
      },
      "SporetArea": {
        "replaces": []
      },
      "Switch": {
        "replaces": []
      },
      "TabItem": {
        "replaces": []
      },
      "Tooltip": {
        "replaces": []
      },
      "TripCard": {
        "replaces": []
      }
    },
    "tokens": [
      "--block-gap",
      "--border-default",
      "--border-hairline",
      "--bp-lg",
      "--bp-md",
      "--bp-sm",
      "--bp-xl",
      "--color-background",
      "--color-error",
      "--color-error-container",
      "--color-focus-ring",
      "--color-info",
      "--color-info-container",
      "--color-inverse-surface",
      "--color-nature-green",
      "--color-nature-green-soft",
      "--color-on-error",
      "--color-on-error-container",
      "--color-on-info",
      "--color-on-info-container",
      "--color-on-inverse-surface",
      "--color-on-nature-green",
      "--color-on-primary",
      "--color-on-primary-container",
      "--color-on-secondary",
      "--color-on-secondary-container",
      "--color-on-success",
      "--color-on-success-container",
      "--color-on-tertiary",
      "--color-on-tertiary-container",
      "--color-on-tertiary-strong",
      "--color-on-warning",
      "--color-on-warning-container",
      "--color-outline",
      "--color-outline-strong",
      "--color-outline-variant",
      "--color-overlay-soft",
      "--color-primary",
      "--color-primary-container",
      "--color-primary-hover",
      "--color-primary-pressed",
      "--color-scrim",
      "--color-secondary",
      "--color-secondary-container",
      "--color-secondary-hover",
      "--color-secondary-pressed",
      "--color-success",
      "--color-success-container",
      "--color-surface",
      "--color-surface-raised",
      "--color-surface-variant",
      "--color-tertiary",
      "--color-tertiary-container",
      "--color-tertiary-hover",
      "--color-tertiary-pressed",
      "--color-tertiary-strong",
      "--color-text",
      "--color-text-inverse",
      "--color-text-link",
      "--color-text-link-visited",
      "--color-text-muted",
      "--color-text-variant",
      "--color-warning",
      "--color-warning-container",
      "--container-max",
      "--container-pad-x",
      "--container-wide",
      "--duration-base",
      "--duration-fast",
      "--duration-slow",
      "--ease-accel",
      "--ease-decel",
      "--ease-emphasized",
      "--ease-standard",
      "--elevation-0",
      "--elevation-1",
      "--elevation-2",
      "--elevation-3",
      "--elevation-4",
      "--focus-ring",
      "--focus-ring-offset",
      "--font-display",
      "--font-mono",
      "--font-sans",
      "--gap-card-grid",
      "--gap-inline",
      "--gap-stack",
      "--grid-columns",
      "--gutter",
      "--measure-narrow",
      "--measure-prose",
      "--navy-100",
      "--navy-150",
      "--navy-200",
      "--navy-300",
      "--navy-400",
      "--navy-50",
      "--navy-500",
      "--navy-600",
      "--navy-700",
      "--navy-800",
      "--navy-900",
      "--navy-950",
      "--pad-button",
      "--pad-button-sm",
      "--pad-card",
      "--pad-card-cozy",
      "--pad-chip",
      "--pad-input",
      "--palette-on-primary-container",
      "--palette-on-secondary-container",
      "--palette-on-tertiary-container",
      "--palette-primary",
      "--palette-primary-container",
      "--palette-secondary",
      "--palette-secondary-container",
      "--palette-tertiary",
      "--palette-tertiary-container",
      "--palette-tertiary-strong",
      "--radius-banner",
      "--radius-button",
      "--radius-card",
      "--radius-card-sm",
      "--radius-chip",
      "--radius-full",
      "--radius-image",
      "--radius-input",
      "--radius-lg",
      "--radius-md",
      "--radius-none",
      "--radius-sm",
      "--radius-xl",
      "--raw-error",
      "--raw-error-container",
      "--raw-info",
      "--raw-info-container",
      "--raw-on-error",
      "--raw-on-info",
      "--raw-on-success",
      "--raw-on-warning",
      "--raw-success",
      "--raw-success-container",
      "--raw-warning",
      "--raw-warning-container",
      "--rhythm",
      "--season-accent",
      "--season-accent-soft",
      "--season-glow",
      "--season-hero-tint",
      "--season-label",
      "--season-on-accent",
      "--section-gap",
      "--section-gap-tight",
      "--shadow-color",
      "--space-0",
      "--space-1",
      "--space-12",
      "--space-16",
      "--space-2",
      "--space-24",
      "--space-3",
      "--space-4",
      "--space-6",
      "--space-8",
      "--state-disabled-opacity",
      "--state-focus-opacity",
      "--state-hover-opacity",
      "--state-pressed-opacity",
      "--transition-color",
      "--transition-elevation",
      "--transition-transform",
      "--type-body-family",
      "--type-body-l-lh",
      "--type-body-l-size",
      "--type-body-m-lh",
      "--type-body-m-size",
      "--type-body-s-lh",
      "--type-body-s-size",
      "--type-body-weight",
      "--type-button-lh",
      "--type-button-size",
      "--type-button-weight",
      "--type-caption-lh",
      "--type-caption-size",
      "--type-caption-weight",
      "--type-display-family",
      "--type-display-lh",
      "--type-display-ls",
      "--type-display-size",
      "--type-display-weight",
      "--type-h1-family",
      "--type-h1-lh",
      "--type-h1-ls",
      "--type-h1-size",
      "--type-h1-weight",
      "--type-h2-family",
      "--type-h2-lh",
      "--type-h2-ls",
      "--type-h2-size",
      "--type-h2-weight",
      "--type-h3-family",
      "--type-h3-lh",
      "--type-h3-ls",
      "--type-h3-size",
      "--type-h3-weight",
      "--type-h4-family",
      "--type-h4-lh",
      "--type-h4-ls",
      "--type-h4-size",
      "--type-h4-weight",
      "--type-label-lh",
      "--type-label-size",
      "--type-label-weight",
      "--type-overline-lh",
      "--type-overline-ls",
      "--type-overline-size",
      "--type-overline-weight",
      "--white"
    ],
    "tokenKinds": {
      "--font-display": "font",
      "--font-sans": "font",
      "--font-mono": "font",
      "--palette-primary": "color",
      "--palette-primary-container": "color",
      "--palette-on-primary-container": "color",
      "--palette-secondary": "color",
      "--palette-secondary-container": "color",
      "--palette-on-secondary-container": "color",
      "--palette-tertiary": "color",
      "--palette-tertiary-container": "color",
      "--palette-on-tertiary-container": "color",
      "--palette-tertiary-strong": "color",
      "--navy-50": "color",
      "--navy-100": "color",
      "--navy-150": "color",
      "--navy-200": "color",
      "--navy-300": "color",
      "--navy-400": "color",
      "--navy-500": "color",
      "--navy-600": "color",
      "--navy-700": "color",
      "--navy-800": "color",
      "--navy-900": "color",
      "--navy-950": "color",
      "--white": "color",
      "--raw-error": "color",
      "--raw-error-container": "color",
      "--raw-on-error": "color",
      "--raw-warning": "color",
      "--raw-warning-container": "color",
      "--raw-on-warning": "color",
      "--raw-success": "color",
      "--raw-success-container": "color",
      "--raw-on-success": "color",
      "--raw-info": "color",
      "--raw-info-container": "color",
      "--raw-on-info": "color",
      "--color-primary": "color",
      "--color-on-primary": "color",
      "--color-primary-container": "color",
      "--color-on-primary-container": "color",
      "--color-secondary": "color",
      "--color-on-secondary": "color",
      "--color-secondary-container": "color",
      "--color-on-secondary-container": "color",
      "--color-tertiary": "color",
      "--color-on-tertiary": "color",
      "--color-tertiary-strong": "color",
      "--color-on-tertiary-strong": "color",
      "--color-tertiary-container": "color",
      "--color-on-tertiary-container": "color",
      "--color-background": "color",
      "--color-surface": "color",
      "--color-surface-variant": "color",
      "--color-surface-raised": "color",
      "--color-inverse-surface": "color",
      "--color-on-inverse-surface": "color",
      "--color-outline": "color",
      "--color-outline-variant": "color",
      "--color-outline-strong": "color",
      "--color-text": "font",
      "--color-text-variant": "font",
      "--color-text-muted": "font",
      "--color-text-inverse": "font",
      "--color-text-link": "font",
      "--color-text-link-visited": "font",
      "--color-error": "color",
      "--color-on-error": "color",
      "--color-error-container": "color",
      "--color-on-error-container": "color",
      "--color-warning": "color",
      "--color-on-warning": "color",
      "--color-warning-container": "color",
      "--color-on-warning-container": "color",
      "--color-success": "color",
      "--color-on-success": "color",
      "--color-success-container": "color",
      "--color-on-success-container": "color",
      "--color-info": "color",
      "--color-on-info": "color",
      "--color-info-container": "color",
      "--color-on-info-container": "color",
      "--state-hover-opacity": "other",
      "--state-pressed-opacity": "other",
      "--state-focus-opacity": "other",
      "--state-disabled-opacity": "other",
      "--color-primary-hover": "color",
      "--color-primary-pressed": "color",
      "--color-secondary-hover": "color",
      "--color-secondary-pressed": "color",
      "--color-tertiary-hover": "color",
      "--color-tertiary-pressed": "color",
      "--color-focus-ring": "color",
      "--color-scrim": "color",
      "--color-overlay-soft": "color",
      "--season-accent": "color",
      "--season-accent-soft": "color",
      "--season-on-accent": "color",
      "--season-hero-tint": "color",
      "--season-glow": "color",
      "--season-label": "other",
      "--color-nature-green": "color",
      "--color-nature-green-soft": "color",
      "--color-on-nature-green": "color",
      "--type-display-family": "font",
      "--type-display-size": "font",
      "--type-display-weight": "font",
      "--type-display-lh": "font",
      "--type-display-ls": "font",
      "--type-h1-family": "font",
      "--type-h1-size": "font",
      "--type-h1-weight": "font",
      "--type-h1-lh": "font",
      "--type-h1-ls": "font",
      "--type-h2-family": "font",
      "--type-h2-size": "font",
      "--type-h2-weight": "font",
      "--type-h2-lh": "font",
      "--type-h2-ls": "font",
      "--type-h3-family": "font",
      "--type-h3-size": "font",
      "--type-h3-weight": "font",
      "--type-h3-lh": "font",
      "--type-h3-ls": "font",
      "--type-h4-family": "font",
      "--type-h4-size": "font",
      "--type-h4-weight": "font",
      "--type-h4-lh": "font",
      "--type-h4-ls": "font",
      "--type-body-family": "font",
      "--type-body-l-size": "font",
      "--type-body-l-lh": "font",
      "--type-body-m-size": "font",
      "--type-body-m-lh": "font",
      "--type-body-s-size": "font",
      "--type-body-s-lh": "font",
      "--type-body-weight": "font",
      "--type-label-size": "font",
      "--type-label-lh": "font",
      "--type-label-weight": "font",
      "--type-button-size": "font",
      "--type-button-lh": "font",
      "--type-button-weight": "font",
      "--type-caption-size": "font",
      "--type-caption-lh": "font",
      "--type-caption-weight": "font",
      "--type-overline-size": "font",
      "--type-overline-lh": "font",
      "--type-overline-weight": "font",
      "--type-overline-ls": "font",
      "--measure-prose": "spacing",
      "--measure-narrow": "spacing",
      "--rhythm": "spacing",
      "--space-0": "spacing",
      "--space-1": "spacing",
      "--space-2": "spacing",
      "--space-3": "spacing",
      "--space-4": "spacing",
      "--space-6": "spacing",
      "--space-8": "spacing",
      "--space-12": "spacing",
      "--space-16": "spacing",
      "--space-24": "spacing",
      "--pad-chip": "spacing",
      "--pad-button": "spacing",
      "--pad-button-sm": "spacing",
      "--pad-input": "spacing",
      "--pad-card": "spacing",
      "--pad-card-cozy": "spacing",
      "--gap-card-grid": "spacing",
      "--gap-inline": "spacing",
      "--gap-stack": "spacing",
      "--section-gap": "spacing",
      "--section-gap-tight": "spacing",
      "--block-gap": "spacing",
      "--container-pad-x": "spacing",
      "--grid-columns": "other",
      "--container-max": "spacing",
      "--container-wide": "spacing",
      "--gutter": "color",
      "--bp-sm": "spacing",
      "--bp-md": "spacing",
      "--bp-lg": "spacing",
      "--bp-xl": "spacing",
      "--radius-none": "radius",
      "--radius-sm": "radius",
      "--radius-md": "radius",
      "--radius-lg": "radius",
      "--radius-xl": "radius",
      "--radius-full": "radius",
      "--radius-button": "radius",
      "--radius-chip": "radius",
      "--radius-input": "radius",
      "--radius-card": "radius",
      "--radius-card-sm": "radius",
      "--radius-image": "radius",
      "--radius-banner": "radius",
      "--shadow-color": "shadow",
      "--elevation-0": "shadow",
      "--elevation-1": "shadow",
      "--elevation-2": "shadow",
      "--elevation-3": "shadow",
      "--elevation-4": "shadow",
      "--border-hairline": "color",
      "--border-default": "color",
      "--focus-ring": "color",
      "--focus-ring-offset": "color",
      "--duration-fast": "other",
      "--duration-base": "other",
      "--duration-slow": "other",
      "--ease-standard": "other",
      "--ease-emphasized": "other",
      "--ease-decel": "other",
      "--ease-accel": "other",
      "--transition-color": "other",
      "--transition-transform": "other",
      "--transition-elevation": "other"
    },
    "fontFamilies": [
      "Besley",
      "Hanken Grotesk"
    ]
  }
}