# WebKreator Design System JSON Schema

Use this structure for `webkreator-design-system.json`. Keep the JSON practical, readable, and stable enough for WordPress/plugin mapping.

```json
{
  "meta": {
    "client": "",
    "project": "",
    "created_for": "webkreator",
    "source_files": [],
    "status": "draft"
  },
  "brand": {
    "industry": "",
    "audience": "",
    "tone": [],
    "design_keywords": [],
    "memorable_visual_idea": ""
  },
  "colors": {
    "raw_palette": [
      { "token": "--wk-color-1", "name": "White", "value": "#ffffff", "role": "base" }
    ],
    "semantic": {
      "primary": "",
      "primary_hover": "",
      "accent": "",
      "background": "",
      "surface": "",
      "surface_alt": "",
      "heading": "",
      "text": "",
      "muted_text": "",
      "border": "",
      "dark_background": "",
      "heading_on_dark": "",
      "text_on_dark": "",
      "cta_primary_bg": "",
      "cta_primary_text": "",
      "cta_secondary_bg": "",
      "cta_secondary_text": "",
      "link": "",
      "link_hover": ""
    },
    "contrast_pairs": [
      {
        "name": "Primary CTA",
        "background": "",
        "text": "",
        "minimum": "4.5:1 for normal text, 3:1 for large text",
        "status": "pass"
      }
    ]
  },
  "typography": {
    "heading_font": "",
    "body_font": "",
    "accent_font": "",
    "scale": {
      "hero_h1": { "desktop": "", "mobile": "", "line_height": "" },
      "section_h2": { "desktop": "", "mobile": "", "line_height": "" },
      "card_h3": { "desktop": "", "mobile": "", "line_height": "" },
      "body": { "desktop": "", "mobile": "", "line_height": "" },
      "small": { "desktop": "", "mobile": "", "line_height": "" },
      "button": { "desktop": "", "mobile": "", "line_height": "" },
      "nav": { "desktop": "", "mobile": "", "line_height": "" }
    },
    "rules": []
  },
  "spacing": {
    "container_max": "",
    "page_gutter_desktop": "",
    "page_gutter_mobile": "",
    "section_padding_desktop": "",
    "section_padding_mobile": "",
    "grid_gap": "",
    "stack_gap": "",
    "card_padding": "",
    "sticky_header_offset": ""
  },
  "shape_and_depth": {
    "radius_sm": "",
    "radius_md": "",
    "radius_lg": "",
    "radius_pill": "999px",
    "shadow_soft": "",
    "shadow_strong": ""
  },
  "components": {
    "buttons": {},
    "cards": {},
    "forms": {},
    "badges": {},
    "media_frames": {},
    "faq": {},
    "testimonials": {},
    "motion": {
      "parallax": {
        "enabled_when": [],
        "background_type": "image, video, gradient, or texture",
        "overlay_color": "",
        "overlay_opacity": "",
        "speed": "0.12-0.32",
        "reduced_motion": "disabled"
      },
      "scroll_animations": {
        "enabled_when": [],
        "patterns": [],
        "duration": "450ms-800ms",
        "distance": "12px-32px",
        "stagger": "60ms-120ms",
        "reduced_motion": "disabled"
      }
    }
  },
  "navigation": {
    "header": {
      "position": "",
      "background": "",
      "shape": "",
      "alignment": "",
      "menu_style": "",
      "cta_style": "",
      "mobile_style": ""
    },
    "footer": {
      "variant": "",
      "content_density": "",
      "cta_presence": ""
    },
    "blog": {
      "archive_layout": "",
      "card_style": "",
      "single_post_style": ""
    }
  },
  "qa": {
    "passed": [],
    "risks": [],
    "manual_checks": []
  }
}
```
