Create an editable mobile-first app prototype using the existing project stack for [PROJECT] and [AUDIENCE]. The task is: Pantry Meal Planner. ## Required content and structure Enter ingredients with quantities and expiry dates, find meals using those ingredients, and add only missing items to a shared shopping list. ## Screens and navigation Build three connected views: My pantry; Recipe match; Shopping list. Keep the selected record visible in the screen title or summary. Support an explicit back action and preserve in-progress inputs when moving between views. Keep the primary action near the relevant content and account for mobile safe areas, a visible software keyboard and long translated labels. At desktop widths, adapt the composition without removing a step or changing the task. ## Project inputs Use [APPROVED_CONTENT] for names, records, labels, quantities and destinations. Ask for missing data instead of inventing operational claims. Demonstration records may use the fictional brand Pantry; label these as sample data. Explain which actions are local prototype interactions and which would require authentication, persistence, permissions or a backend. Do not connect external services or claim a transaction was completed unless that integration has been explicitly implemented and tested. ## Design direction Follow [BRAND_RULES]. When no brand is supplied, use butter yellow, cream, tomato red, ingredient photography. Make the workflow recognizable through its own content and controls, rather than repeating generic dashboard cards. Use a consistent spacing scale and clear text hierarchy. Include visible keyboard focus, accessible names, sufficient contrast and non-color status labels. Respect reduced motion and keep animated transitions optional. ## Task-specific acceptance check - Handle unknown expiry dates, incompatible units and an unavailable ingredient without silently changing quantities. ## Interaction states Implement the three-screen happy path with local sample data. Include a useful empty state, validation before completing an action, a loading or pending state and a recoverable failure state. Destructive changes require a review or undo path. Keep the state of a record consistent across all three views. Do not silently discard partially completed input or change a user's choice after a retry. ## Delivery and review Return the editable app views and explain the data model, any local storage behavior and unimplemented integrations. Test at 320px and a wider viewport, with keyboard navigation and long content. Use the task-specific acceptance check above to review the result before adding features. Keep demonstration behavior clearly distinct from a running production service. ## Reference attachment and reconstruction goal Attach reference.webp from this prompt’s download bundle alongside this prompt in OpenDesign. Build an editable result with a similar composition and hierarchy; do not embed the whole reference image as the finished interface. Preserve approved project content and brand rules if they conflict with fictional sample labels. If the image is missing or unreadable, ask for it instead of claiming visual fidelity. ## Reference composition and content Use the attached reference.webp as the visual reference for Pantry Meal Planner. Before building, identify the major regions from top to bottom, their relative widths and heights, alignment, spacing, typography hierarchy, surface colors, borders, imagery and repeated components. Preserve those relationships rather than substituting a generic template. Required task content: Enter ingredients with quantities and expiry dates, find meals using those ingredients, and add only missing items to a shared shopping list. Use the following task-specific layout guidance when translating the image into editable elements: Begin with My pantry as the entry screen, give Recipe match a clear primary action, and make Shopping list explain what happened and what can happen next. Use butter yellow, cream, tomato red, ingredient photography as a starting direction, adapting it to the supplied brand. Keep record identity and navigation context visible across the three screens. Prioritize thumb-accessible controls and readable labels over decorative panels; on wider screens, keep the workflow coherent rather than stretching a mobile composition edge to edge. ## Visual direction from the example brief butter yellow, cream, tomato red, ingredient photography. ## Interaction specification The reference is a static concept: the behavior below is a requirement to implement, not proof that the picture already works. Copy the customized prompt into your project and build the connected flow: Enter ingredients with quantities and expiry dates, find meals using those ingredients, and add only missing items to a shared shopping list. Handle unknown expiry dates, incompatible units and an unavailable ingredient without silently changing quantities. For each visible control, specify its trigger, affected state and feedback; implement local changes with consistent state across related views. Give search and filters real results, selection controls an explicit active state, and save actions visible pending/success/failure feedback where relevant. Do not add unrelated workflows. Use proper links for navigation, buttons for actions and accessible names for icon controls. Do not imply a backend operation succeeded when only a local demo changed. ## Visual comparison and delivery 1. Compare the result with the attached image at matching proportions. Review major region placement, relative image sizes, line breaks, spacing, typography hierarchy, contrast, active states and content density before polishing decorative details. 2. Then test the narrow layout without squeezing desktop text into tiny labels. 3. Keep logos, photos and icons as separate assets and all meaningful labels editable. List any unavailable fonts/assets and any intentional departures. Return the working files plus a concise account of implemented behavior and remaining integrations; do not promise a pixel-identical result from the prompt alone.