{
  "$description": "Brand: Airbnb — dark mode",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette airbnb@1.0.0",
      "airbnb-rausch": {
        "$value": "#FF5A5F",
        "$type": "color",
        "$description": "Signature pink-red — the primary brand color. Verified hex from the simple-icons brand database citing airbnb.com.\n"
      },
      "airbnb-rausch-hover": {
        "$value": "#E94A4F",
        "$type": "color",
        "$description": "Authored hover / active state for Rausch."
      },
      "airbnb-white": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Canvas on light surfaces."
      },
      "airbnb-near-white": {
        "$value": "#F7F7F7",
        "$type": "color",
        "$description": "Authored panel surface for light mode."
      },
      "airbnb-text-primary": {
        "$value": "#222222",
        "$type": "color",
        "$description": "Authored body text on light backgrounds — the near-black tone Airbnb's marketing surfaces uniformly read as.\n"
      },
      "airbnb-text-secondary": {
        "$value": "#717171",
        "$type": "color",
        "$description": "Authored secondary text on light backgrounds."
      },
      "airbnb-text-tertiary": {
        "$value": "#B0B0B0",
        "$type": "color",
        "$description": "Authored tertiary / muted text."
      },
      "airbnb-divider": {
        "$value": "#EBEBEB",
        "$type": "color",
        "$description": "Authored hairline divider tone."
      },
      "airbnb-canvas-dark": {
        "$value": "#1A1A1A",
        "$type": "color",
        "$description": "Authored dark-mode canvas — Airbnb's primary product is light-first; this is an authored inversion."
      },
      "airbnb-surface-dark": {
        "$value": "#2B2B2B",
        "$type": "color",
        "$description": "Authored elevated surface on dark mode."
      },
      "airbnb-success": {
        "$value": "#008A05",
        "$type": "color",
        "$description": "Authored success accent — leans deep green, consistent with Airbnb's status indicators."
      },
      "airbnb-warning": {
        "$value": "#C13515",
        "$type": "color",
        "$description": "Authored warning accent — a deeper red used distinctly from Rausch for destructive context."
      },
      "airbnb-error": {
        "$value": "#C13515",
        "$type": "color",
        "$description": "Authored error accent — same deeper red."
      }
    },
    "roles": {
      "$description": "Semantic color roles (dark mode) mapped to palette swatches",
      "background": {
        "$value": "{color.swatches.airbnb-canvas-dark}",
        "$type": "color",
        "$description": "background role → Airbnb Canvas Dark"
      },
      "surface": {
        "$value": "{color.swatches.airbnb-surface-dark}",
        "$type": "color",
        "$description": "surface role → Airbnb Surface Dark"
      },
      "surface-elevated": {
        "$value": "{color.swatches.airbnb-surface-dark}",
        "$type": "color",
        "$description": "surface-elevated role → Airbnb Surface Dark"
      },
      "text-primary": {
        "$value": "{color.swatches.airbnb-white}",
        "$type": "color",
        "$description": "text-primary role → Airbnb White"
      },
      "text-secondary": {
        "$value": "{color.swatches.airbnb-text-tertiary}",
        "$type": "color",
        "$description": "text-secondary role → Airbnb Text Tertiary"
      },
      "text-tertiary": {
        "$value": "{color.swatches.airbnb-text-secondary}",
        "$type": "color",
        "$description": "text-tertiary role → Airbnb Text Secondary"
      },
      "primary": {
        "$value": "{color.swatches.airbnb-rausch}",
        "$type": "color",
        "$description": "primary role → Airbnb Rausch"
      },
      "primary-hover": {
        "$value": "{color.swatches.airbnb-rausch-hover}",
        "$type": "color",
        "$description": "primary-hover role → Airbnb Rausch Hover"
      },
      "accent": {
        "$value": "{color.swatches.airbnb-rausch}",
        "$type": "color",
        "$description": "accent role → Airbnb Rausch"
      },
      "accent-hover": {
        "$value": "{color.swatches.airbnb-rausch-hover}",
        "$type": "color",
        "$description": "accent-hover role → Airbnb Rausch Hover"
      },
      "warning": {
        "$value": "{color.swatches.airbnb-warning}",
        "$type": "color",
        "$description": "warning role → Airbnb Warning"
      },
      "warning-hover": {
        "$value": "{color.swatches.airbnb-warning}",
        "$type": "color",
        "$description": "warning-hover role → Airbnb Warning"
      },
      "error": {
        "$value": "{color.swatches.airbnb-error}",
        "$type": "color",
        "$description": "error role → Airbnb Error"
      },
      "success": {
        "$value": "{color.swatches.airbnb-success}",
        "$type": "color",
        "$description": "success role → Airbnb Success"
      },
      "brand-overrides": {
        "$description": "Brand-level role overrides (take precedence over palette role mappings)",
        "identity": {
          "$value": "{color.swatches.airbnb-rausch}",
          "$type": "color",
          "$description": "Brand role identity → Airbnb Rausch"
        },
        "on-identity": {
          "$value": "{color.swatches.airbnb-white}",
          "$type": "color",
          "$description": "Brand role on-identity → Airbnb White"
        },
        "primary": {
          "$value": "{color.swatches.airbnb-rausch}",
          "$type": "color",
          "$description": "Brand role primary → Airbnb Rausch"
        },
        "primary-hover": {
          "$value": "{color.swatches.airbnb-rausch-hover}",
          "$type": "color",
          "$description": "Brand role primary-hover → Airbnb Rausch Hover"
        },
        "accent": {
          "$value": "{color.swatches.airbnb-rausch}",
          "$type": "color",
          "$description": "Brand role accent → Airbnb Rausch"
        },
        "accent-hover": {
          "$value": "{color.swatches.airbnb-rausch-hover}",
          "$type": "color",
          "$description": "Brand role accent-hover → Airbnb Rausch Hover"
        },
        "success": {
          "$value": "{color.swatches.airbnb-success}",
          "$type": "color",
          "$description": "Brand role success → Airbnb Success"
        },
        "warning": {
          "$value": "{color.swatches.airbnb-warning}",
          "$type": "color",
          "$description": "Brand role warning → Airbnb Warning"
        },
        "error": {
          "$value": "{color.swatches.airbnb-error}",
          "$type": "color",
          "$description": "Brand role error → Airbnb Error"
        },
        "background-light": {
          "$value": "{color.swatches.airbnb-white}",
          "$type": "color",
          "$description": "Brand role background-light → Airbnb White"
        },
        "background-dark": {
          "$value": "{color.swatches.airbnb-canvas-dark}",
          "$type": "color",
          "$description": "Brand role background-dark → Airbnb Canvas Dark"
        },
        "surface-light": {
          "$value": "{color.swatches.airbnb-near-white}",
          "$type": "color",
          "$description": "Brand role surface-light → Airbnb Near-White"
        },
        "surface-dark": {
          "$value": "{color.swatches.airbnb-surface-dark}",
          "$type": "color",
          "$description": "Brand role surface-dark → Airbnb Surface Dark"
        },
        "text-primary-light": {
          "$value": "{color.swatches.airbnb-text-primary}",
          "$type": "color",
          "$description": "Brand role text-primary-light → Airbnb Text Primary"
        },
        "text-primary-dark": {
          "$value": "{color.swatches.airbnb-white}",
          "$type": "color",
          "$description": "Brand role text-primary-dark → Airbnb White"
        },
        "text-secondary-light": {
          "$value": "{color.swatches.airbnb-text-secondary}",
          "$type": "color",
          "$description": "Brand role text-secondary-light → Airbnb Text Secondary"
        },
        "divider": {
          "$value": "{color.swatches.airbnb-divider}",
          "$type": "color",
          "$description": "Brand role divider → Airbnb Divider"
        }
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Airbnb Cereal",
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Airbnb Cereal (airbnb-cereal@1.0.0)"
      },
      "weight": {
        "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"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Airbnb Cereal",
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Airbnb Cereal (airbnb-cereal@1.0.0)"
      },
      "weight": {
        "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"
      }
    },
    "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"
      }
    }
  }
}
