Build a **Stardew Valley-style 2D farming simulator** as a static web app. This is a top-down pixel-painted farming sim where you till soil, plant seeds, water crops, watch them grow over in-game days, and harvest for money. The vibe is *warm, cozy, satisfying* — not stressful, not procedurally cluttered. Take your time on aesthetic.

PICK A NAME YOURSELF — something cozy and rural (e.g. "Marigold Acre", "Harvest Cove", "Cinder Hollow", whatever fits). Put it on the title screen and the page title.

## CORE GAMEPLAY (must work end-to-end):
- **Top-down 2D view** of a farm plot — your character can walk around an ~16×12 tile grid.
- **Tile types**: grass, dirt (untilled), soil (tilled), watered-soil, sprout-stage crop, mid-stage crop, mature-stage crop, fence, water-tile (decorative pond), path.
- **Player character** with 4-directional sprite animation (idle + walk for each direction, plus a "use tool" pose). WASD or arrow keys to walk, **space** to use the currently-selected tool. Mobile: on-screen virtual joystick + action button.
- **Tools** in a hotbar at the bottom: hoe (tills dirt → soil), watering can (waters soil → watered-soil), seeds (sows on tilled soil), scythe (harvests mature crops). Number keys 1-4 to switch. Mobile: tap the tool slot to switch.
- **3-5 crop types** with distinct visuals (e.g. parsnip, tomato, blueberry, pumpkin, sunflower). Each crop has stages: sprout (day 1) → mid (day 2-3) → mature (day 4+). Different crops have different growth times + sell prices.
- **Day/night cycle**: ~3-5 minutes of real time = 1 in-game day. At sunset, screen color-shifts amber/blue. Sleep button (or auto-sleep at night) advances to next day. Each new day: watered crops grow 1 stage. Energy refills.
- **Energy bar**: each tool use costs 1 energy. Energy max 30. Out of energy → can still walk but actions blocked. Restored on sleep.
- **Money + inventory**: harvest mature crops, they go in inventory. At top-right shows current money + crop counts. A simple "sell" button (or sleep-screen sell-all) converts harvested crops to money.
- **Save state to localStorage**: tile grid + inventory + money + day-number + player pos + energy on every action.

## ART — THIS IS THE TEST:
- **Use OpenAI gpt-image-2 for sprites + the farm background.** Same chroma-key + trim pipeline you used for Lumen Vale (`#FF00FF` magenta background, runtime chroma-key + auto-trim in `src/assets.ts`).
- Generate (~10-14 sprites max, $0.04 each, < $0.60 budget):
  - 1 character sheet OR multiple poses (idle-down, walk-down, idle-up, walk-up, idle-left, walk-left, idle-right, walk-right, tool-use) — pick what's practical. gpt-image-2 can't keep characters consistent across separate images well, so consider generating ONE big "character base" + animating via canvas transforms for direction/walk, like Iron Fist Harbor did.
  - 3-5 crop sprites (one per stage = 3 stages × 3 crops = 9 sprites OR a single 3-stage sheet per crop)
  - 1 farm-background plate (1024×768, full bleed, lush green/dirt/water vibe — like a warm Stardew screenshot painted in lush gouache)
  - 1 sprite for each tool icon for the hotbar (4 small sprites OR procgen these in canvas — your call)
- **Style direction**: painterly pixel-art with chunky outlines, saturated cozy palette (warm earth tones, deep greens, soft amber sunset). Think Stardew Valley meets Studio Ghibli.
- **TIPS**: the tiles themselves should be procgen canvas-drawn (CONSISTENT tile-to-tile is critical, and gpt-image-2 drifts between calls). Save the API budget for hero sprites + background. Don't try to use gpt-image-2 for individual repeating soil tiles.

## JUICE / POLISH:
- Day/night color-grade overlay
- Particle burst when harvesting (color matches the crop)
- Tilt/squash on tool use
- Soft "tink" / "thud" / "whoosh" Web Audio synth sounds for actions
- Title screen with the farm-background plate behind a cozy logo
- End-of-day "Sleep" screen showing earnings + crops sold

## TECH:
- Vite + TS. Single canvas + a DOM HUD layer. `base: './'`. `npm run build` → `dist/` populates.
- Mobile-portrait responsive (390×844 base, scales up).
- `window.__game` debug hook: `{ phase, day, energy, money, inventory, playerPos, time }`.
- Touch + keyboard input both work.

## VERIFY:
- Playwright e2e: load, walk player, till a tile, plant a seed, water it, sleep through 4 days, harvest, sell, money increases. No console errors.

## OUT OF SCOPE:
- No multiplayer.
- No combat / dungeons / NPCs (this is *just* farming).
- No real save slots — single localStorage save.
- No achievements / progression tree.
- No fishing / mining / crafting beyond seeds → crops.
- Don't include "Stardew Valley" or "Marigold Acre" → don't pick "Stardew Valley" as the name, obviously.

## SHIPPING DISCIPLINE:
- **By turn ~10**: tile grid + player can walk + you can till one tile + one seed type works (sprout shows up).
- **By turn ~20**: full crop growth cycle works (day advance, water → grow → harvest → inventory).
- **By turn ~30**: all 4 tools, money, sell flow, full crop roster, day/night visual.
- **By turn ~40**: title screen + sprites + polish + e2e.
- Hard cap **50 turns**. If you hit 40 and 2 crops are working, ship 2 crops — don't add a 4th and a 5th. PLAYABLE > COMPLETE.

WHEN DONE: one-line summary including the name you chose.
