{
  "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 containing all functionality. The page is divided into several sections: (1) BMI Calculator Form section at the top with a Metric/Imperial toggle switch (visually indicating active system), height input field(s) (single field for cm/m in metric, dual fields for feet and inches in imperial), weight input field (kg or lbs), unit labels and placeholders with example values, inline validation error messages, and a 'Calculate' button that is disabled when inputs are invalid or empty. Supports Enter key submission and tab navigation. (2) Results Display section (shown only after successful calculation) with the calculated BMI value rounded to 1 decimal place displayed prominently, BMI category name (Underweight/Normal weight/Overweight/Obese) with color coding (Blue #3B82F6 for Underweight, Green #10B981 for Normal, Yellow #F59E0B for Overweight, Red #EF4444 for Obese), a visual BMI scale/gauge bar showing the user's position across all category ranges, health information and interpretation text, and a medical disclaimer. (3) BMI Category Reference Table showing all categories with their BMI ranges and color codes. (4) Calculation History section (always visible, shows empty state message when no calculations exist) displaying up to 10 most recent calculations in reverse chronological order, each entry showing relative timestamp, height and weight with units, BMI value, and category with color coding. Includes a 'Clear History' button that triggers a confirmation dialog (inline modal/popover) before clearing all history. (5) Collapsible 'About BMI' information section with the BMI formula, explanation of what BMI is, limitations, and when to consult healthcare professionals. The confirmation dialog for clearing history appears as a modal overlay with 'Confirm' and 'Cancel' buttons.",
      "navigates_to": []
    }
  ],
  "shared_state": [
    {
      "key": "measurementSystem",
      "type": "'metric' | 'imperial'",
      "initial_value": "'metric'",
      "description": "Currently selected measurement system affecting input fields and unit labels"
    },
    {
      "key": "calculationHistory",
      "type": "Array<{ id: string; height: number; weight: number; heightUnit: string; weightUnit: string; bmiValue: number; category: string; timestamp: string }>",
      "initial_value": "[]",
      "description": "Session-based history of BMI calculations, persisted in session storage, max 10 entries"
    },
    {
      "key": "latestResult",
      "type": "{ bmiValue: number; category: string; description: string } | null",
      "initial_value": "null",
      "description": "Most recent BMI calculation result displayed in the results section"
    }
  ],
  "default_route": "bmi_calculator",
  "design_system": {
    "theme_mode": "light",
    "density": "comfortable",
    "color_primary": "#3B82F6",
    "color_success": "#10B981",
    "color_warning": "#F59E0B",
    "color_error": "#EF4444",
    "color_bg_container": "#ffffff",
    "color_bg_layout": "#f0f4f8",
    "color_text": "#1a202c",
    "color_border": "#e2e8f0",
    "font_family": "Inter, -apple-system, sans-serif",
    "font_size_base": 14,
    "border_radius": 8,
    "component_overrides": {}
  }
}
