{
  "app_name": "BMI Calculator",
  "pages": [
    {
      "page_id": "bmi_calculator",
      "page_title": "BMI Calculator",
      "route_path": "/",
      "route_params": [],
      "image_indices": [],
      "description": "Single-page BMI Calculator application. Contains the following sections: (1) BMI Input Form at the top with a toggle/radio button for unit system selection (Metric/Imperial, defaulting to Metric), a height numeric input field (cm for metric, feet/inches for imperial) with placeholder and real-time validation, a weight numeric input field (kg for metric, lbs for imperial) with placeholder and real-time validation, a prominent 'Calculate BMI' button (disabled when inputs are invalid), and a 'Clear' button to reset the form. (2) BMI Result Display section that appears after calculation showing: the BMI value in large font rounded to 1 decimal place, the BMI category name (Underweight/Normal weight/Overweight/Obese) with color-coded background (Blue #3498db for Underweight, Green #2ecc71 for Normal, Orange #f39c12 for Overweight, Red #e74c3c for Obese), a visual BMI scale/gauge indicator showing where the user's BMI falls on the spectrum, health information text describing the category, and a disclaimer about consulting healthcare professionals. (3) BMI Category Reference table showing all four categories with their BMI ranges and color indicators. (4) Calculation History section displayed below the result, showing a list of past calculations in reverse chronological order (newest first, max 50 entries displayed). Each history entry shows: timestamp (formatted in user's local timezone), height and weight values with units, BMI result, and category with color indicator. Includes a 'Clear History' button that triggers a confirmation dialog before deleting all entries. Shows an empty state message when no history exists. (5) BMI Information collapsible section explaining what BMI is, the formula (BMI = weight(kg) / height(m)²), limitations of BMI, and measurement guidelines. All data persists in localStorage across browser sessions. The page is fully responsive (mobile-first), accessible (WCAG 2.1 AA), and all calculations are performed client-side.",
      "navigates_to": []
    }
  ],
  "shared_state": [
    {
      "key": "unitSystem",
      "type": "'metric' | 'imperial'",
      "initial_value": "'metric'",
      "description": "Selected measurement unit system that persists during the session and affects input labels, placeholders, and validation ranges"
    },
    {
      "key": "calculationHistory",
      "type": "Array<{ id: string; height: number; weight: number; heightUnit: string; weightUnit: string; bmiValue: number; bmiCategory: string; timestamp: string }>",
      "initial_value": "[]",
      "description": "Array of past BMI calculations stored in localStorage, displayed in the history section and persisted across browser sessions"
    }
  ],
  "default_route": "bmi_calculator",
  "design_system": {
    "theme_mode": "light",
    "density": "comfortable",
    "color_primary": "#2ecc71",
    "color_success": "#2ecc71",
    "color_warning": "#f39c12",
    "color_error": "#e74c3c",
    "color_bg_container": "#ffffff",
    "color_bg_layout": "#f0f4f8",
    "color_text": "#2c3e50",
    "color_border": "#dce1e6",
    "font_family": "Inter, -apple-system, sans-serif",
    "font_size_base": 14,
    "border_radius": 8,
    "component_overrides": {}
  }
}
