{
  "$description": "Brand: Khan Academy — light mode",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette khan-academy@1.0.0",
      "blue": {
        "$value": "#1865F2",
        "$type": "color",
        "$description": "Khan Academy's primary brand blue (Wonder Blocks blue). The signature action color."
      },
      "green": {
        "$value": "#00A60E",
        "$type": "color",
        "$description": "Mastery / completion green — the \"correct answer\" signal."
      },
      "gold": {
        "$value": "#FFB100",
        "$type": "color",
        "$description": "Achievement / streak gold — the motivational accent."
      },
      "red": {
        "$value": "#D92916",
        "$type": "color",
        "$description": "Error / destructive red — the \"wrong answer\" signal."
      },
      "purple": {
        "$value": "#9059FF",
        "$type": "color",
        "$description": "Editorial purple — secondary accent in illustrations and badges."
      },
      "off-black": {
        "$value": "#21242C",
        "$type": "color",
        "$description": "Canonical text ink — Wonder Blocks deliberately avoids pure"
      },
      "off-white": {
        "$value": "#F7F8FA",
        "$type": "color",
        "$description": "Default surface canvas — Wonder Blocks light-mode background."
      },
      "white": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Pure white — elevated surface and card background."
      },
      "dark-blue": {
        "$value": "#0B2149",
        "$type": "color",
        "$description": "Wonder Blocks brand-tier deep navy — hero callouts and chart anchor."
      },
      "teal": {
        "$value": "#14BF96",
        "$type": "color",
        "$description": "Wonder Blocks brand-tier teal — secondary accent and editorial highlight."
      },
      "eggplant": {
        "$value": "#5F1E5C",
        "$type": "color",
        "$description": "The Khanmigo AI tutor brand accent. Reserved for the AI product surface."
      },
      "blue-hover": {
        "$value": "#11459E",
        "$type": "color",
        "$description": "Pressed / active variant of Khan Academy Blue — derived for hover/active states."
      },
      "blue-pale": {
        "$value": "#E5EEFE",
        "$type": "color",
        "$description": "Pale blue surface tint — Wonder Blocks faded-blue background."
      },
      "red-pale": {
        "$value": "#FBE7E5",
        "$type": "color",
        "$description": "Pale red surface tint — Wonder Blocks faded-red background."
      },
      "green-pale": {
        "$value": "#E0F4E1",
        "$type": "color",
        "$description": "Pale green surface tint — Wonder Blocks faded-green background."
      },
      "gold-pale": {
        "$value": "#FFF6E0",
        "$type": "color",
        "$description": "Pale gold surface tint — Wonder Blocks faded-gold background."
      }
    },
    "roles": {
      "$description": "Semantic color roles (light mode) mapped to palette swatches",
      "background": {
        "$value": "{color.swatches.white}",
        "$type": "color",
        "$description": "background role → White"
      },
      "surface": {
        "$value": "{color.swatches.off-white}",
        "$type": "color",
        "$description": "surface role → Off White"
      },
      "surface-elevated": {
        "$value": "{color.swatches.white}",
        "$type": "color",
        "$description": "surface-elevated role → White"
      },
      "text-primary": {
        "$value": "{color.swatches.off-black}",
        "$type": "color",
        "$description": "text-primary role → Off Black"
      },
      "text-secondary": {
        "$value": "{color.swatches.off-black}",
        "$type": "color",
        "$description": "text-secondary role → Off Black"
      },
      "text-tertiary": {
        "$value": "{color.swatches.off-black}",
        "$type": "color",
        "$description": "text-tertiary role → Off Black"
      },
      "primary": {
        "$value": "{color.swatches.blue}",
        "$type": "color",
        "$description": "primary role → Blue"
      },
      "primary-hover": {
        "$value": "{color.swatches.blue-hover}",
        "$type": "color",
        "$description": "primary-hover role → Blue Hover"
      },
      "accent": {
        "$value": "{color.swatches.blue}",
        "$type": "color",
        "$description": "accent role → Blue"
      },
      "accent-hover": {
        "$value": "{color.swatches.blue-hover}",
        "$type": "color",
        "$description": "accent-hover role → Blue Hover"
      },
      "warning": {
        "$value": "{color.swatches.gold}",
        "$type": "color",
        "$description": "warning role → Gold"
      },
      "warning-hover": {
        "$value": "{color.swatches.gold}",
        "$type": "color",
        "$description": "warning-hover role → Gold"
      },
      "error": {
        "$value": "{color.swatches.red}",
        "$type": "color",
        "$description": "error role → Red"
      },
      "success": {
        "$value": "{color.swatches.green}",
        "$type": "color",
        "$description": "success role → Green"
      },
      "border": {
        "$value": "{color.swatches.off-white}",
        "$type": "color",
        "$description": "border role → Off White"
      },
      "brand-overrides": {
        "$description": "Brand-level role overrides (take precedence over palette role mappings)",
        "identity": {
          "$value": "{color.swatches.white}",
          "$type": "color",
          "$description": "Brand role identity → White"
        },
        "on-identity": {
          "$value": "{color.swatches.off-black}",
          "$type": "color",
          "$description": "Brand role on-identity → Off Black"
        },
        "primary": {
          "$value": "{color.swatches.blue}",
          "$type": "color",
          "$description": "Brand role primary → Blue"
        },
        "primary-hover": {
          "$value": "{color.swatches.blue-hover}",
          "$type": "color",
          "$description": "Brand role primary-hover → Blue Hover"
        },
        "accent": {
          "$value": "{color.swatches.blue}",
          "$type": "color",
          "$description": "Brand role accent → Blue"
        },
        "accent-hover": {
          "$value": "{color.swatches.blue-hover}",
          "$type": "color",
          "$description": "Brand role accent-hover → Blue Hover"
        },
        "mark": {
          "$value": "{color.swatches.blue}",
          "$type": "color",
          "$description": "Brand role mark → Blue"
        },
        "success": {
          "$value": "{color.swatches.green}",
          "$type": "color",
          "$description": "Brand role success → Green"
        },
        "warning": {
          "$value": "{color.swatches.gold}",
          "$type": "color",
          "$description": "Brand role warning → Gold"
        },
        "error": {
          "$value": "{color.swatches.red}",
          "$type": "color",
          "$description": "Brand role error → Red"
        },
        "text-primary-light": {
          "$value": "{color.swatches.off-black}",
          "$type": "color",
          "$description": "Brand role text-primary-light → Off Black"
        },
        "text-primary-dark": {
          "$value": "{color.swatches.white}",
          "$type": "color",
          "$description": "Brand role text-primary-dark → White"
        },
        "background-light": {
          "$value": "{color.swatches.white}",
          "$type": "color",
          "$description": "Brand role background-light → White"
        },
        "background-dark": {
          "$value": "{color.swatches.off-black}",
          "$type": "color",
          "$description": "Brand role background-dark → Off Black"
        },
        "surface-light": {
          "$value": "{color.swatches.off-white}",
          "$type": "color",
          "$description": "Brand role surface-light → Off White"
        },
        "surface-dark": {
          "$value": "{color.swatches.dark-blue}",
          "$type": "color",
          "$description": "Brand role surface-dark → Dark Blue"
        },
        "text-secondary-light": {
          "$value": "{color.swatches.off-black}",
          "$type": "color",
          "$description": "Brand role text-secondary-light → Off Black"
        },
        "border-light": {
          "$value": "{color.swatches.off-white}",
          "$type": "color",
          "$description": "Brand role border-light → Off 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"
      }
    }
  }
}
