// Single source of truth for the arcade catalogue.
// Add a game = drop it in games/<slug>/ and add one entry here.
// `soon: true` renders a greyed, non-clickable "coming soon" tile (the genre tags still show).
// `tags` = 1–3 genre tags; each tag's color is canonical (TAG_COLORS in index.html), not per-game.
window.GAMES = [
  {
    slug: "asteroids",
    title: "Asteroids",
    blurb: "Fly, shoot, survive. Classic arcade — endless waves plus a speedrun race.",
    icon: "🛸",
    accent: "#9fe8ff",
    tags: ["ARCADE", "SHOOTER"],
    added: "2026-06-26",
    updated: "2026-07-13",
    shot: "shot.v1.webp",
  },
  {
    slug: "asteroids-plus",
    title: "Asteroids+",
    blurb: "Roguelite Asteroids — XP, upgrades, bosses and a wave shop. Build a run, survive the waves.",
    icon: "☄️",
    accent: "#b98cff",
    tags: ["ROGUELIKE", "SHOOTER"],
    added: "2026-06-28",
    updated: "2026-07-13",
    shot: "shot.v1.webp",
  },
  {
    slug: "tower-defense",
    title: "Keep Defender",
    blurb: "Hold the path. Build towers, spend gold, defend the keep wave after wave.",
    icon: "🏰",
    accent: "#e0b25a",
    tags: ["STRATEGY"],
    badges: ["pick"],
    added: "2026-06-26",
    updated: "2026-07-06",
    shot: "shot.v1.webp",
  },

  {
    slug: "forcefield",
    title: "Forcefield",
    blurb: "Slide your atmosphere dome to block the battle station's fire — solo or 2-player.",
    icon: "🌐",
    accent: "#38bdf8",
    tags: ["SKILL", "REFLEX"],
    badges: ["pick"],
    players: "1–2P",
    added: "2026-07-04",
    updated: "2026-07-11",
    preview: "preview.v1.mp4",
  },

  {
    slug: "bubbles",
    title: "Bubble Pop",
    blurb: "Shoot glossy bubbles to pop groups of 3+ — Arcade, Endless and Zen, with special shots.",
    icon: "🫧",
    accent: "#2ee8c8",
    tags: ["PUZZLE", "CASUAL"],
    added: "2026-06-26",
    updated: "2026-07-24",
    shot: "shot.v1.webp",
  },
  {
    slug: "frog-bonk",
    title: "Frog Bonk",
    blurb: "Bonk the invading frogs with the king's soft hammer before they chomp the castle.",
    icon: "🐸",
    accent: "#7ed957",
    tags: ["REFLEX", "KIDS"],
    added: "2026-07-06",
    updated: "2026-07-06",
    shot: "shot.v1.webp",
  },

  // ---- coming soon ----
  {
    slug: "breakout",
    title: "Brick Breaker",
    blurb: "Bounce the ball, smash every brick. Synthwave neon, power-ups, escalating walls.",
    icon: "🧱",
    accent: "#ff5cc8",
    tags: ["ARCADE", "REFLEX"],
    added: "2026-06-26",
    updated: "2026-07-03",
    shot: "shot.v1.webp",
  },
  {
    slug: "invaders",
    title: "Invaders",
    blurb: "Marching aliens descend on a green CRT. Dodge, shoot, hold the line.",
    icon: "👾",
    accent: "#5fe07a",
    tags: ["SHOOTER", "ARCADE"],
    soon: true,
  },
  {
    slug: "sudoku",
    title: "Sudoku",
    blurb: "Fill the 9×9 so every row, column and box holds 1–9 — daily puzzles, hints and zen mode.",
    icon: "🔢",
    accent: "#f0b429",
    tags: ["LOGIC", "PUZZLE"],
    added: "2026-07-10",
    updated: "2026-07-11",
    shot: "shot.v1.webp",
  },
  {
    slug: "crossy",
    title: "Road Hop",
    blurb: "Hop across roads and rivers without getting squished. Blocky and endless.",
    icon: "🚧",
    accent: "#5bb6e0",
    tags: ["ARCADE", "CASUAL"],
    soon: true,
  },
  {
    slug: "stacker",
    title: "Stack",
    blurb: "Time the drop to stack the tower. One tap, pastel-clean, just-one-more.",
    icon: "🗼",
    accent: "#ff9aa2",
    tags: ["REFLEX", "CASUAL"],
    added: "2026-06-26",
    updated: "2026-07-03",
    shot: "shot.v1.webp",
  },
  {
    slug: "icy-tower",
    title: "Icy Tower",
    blurb: "Build speed, leap higher, wall-bounce and chain combos up an endless tower.",
    icon: "🧗",
    accent: "#7fd8ff",
    tags: ["PLATFORMER", "ARCADE"],
    soon: true,
  },
  {
    slug: "pulse-dash",
    title: "Pulse Dash",
    blurb: "Auto-run and jump to the beat — one-tap rhythm platforming through neon gauntlets.",
    icon: "🔺",
    accent: "#caff4d",
    tags: ["RHYTHM", "REFLEX"],
    soon: true,
  },
  {
    slug: "trap-the-cat",
    title: "Trap the Cat",
    blurb: "Wall off the hex board to corner the cat before it slips off the edge.",
    icon: "🐱",
    accent: "#f0a6c8",
    tags: ["PUZZLE", "LOGIC"],
    badges: ["pick"],
    added: "2026-07-12",
    updated: "2026-07-19",
    preview: "preview.v1.mp4",
  },
  {
    slug: "flappy",
    title: "Meadow Flyer",
    blurb: "One-tap flyer through a soft storybook meadow.",
    icon: "🐤",
    accent: "#8fd3a6",
    tags: ["CASUAL", "ARCADE"],
    added: "2026-06-26",
    updated: "2026-07-06",
    shot: "shot.v1.webp",
    preview: "preview.v1.mp4",
  },
  {
    slug: "aim-trainer",
    title: "Range",
    blurb: "Flick-aim headshot practice on a tactical range, against the clock.",
    icon: "🎯",
    accent: "#ff7a3c",
    tags: ["SKILL", "SHOOTER"],
    added: "2026-06-26",
    updated: "2026-07-03",
    shot: "shot.v1.webp",
    preview: "preview.v1.mp4",
  },
  {
    slug: "spellcaster",
    title: "Arcane",
    blurb: "Cast spells against waves of the dark. Runes, sigils, and gold filigree.",
    icon: "🔮",
    accent: "#b98cff",
    tags: ["ACTION", "SHOOTER"],
    soon: true,
  },
  {
    slug: "snake",
    title: "Neon Snake",
    blurb: "The classic, in glowing neon. Grow long, don't bite yourself.",
    icon: "🐍",
    accent: "#7fffb0",
    tags: ["CLASSIC", "ARCADE"],
    badges: ["pick"],
    added: "2026-06-26",
    updated: "2026-07-03",
    shot: "shot.v1.webp",
  },

  // ---- coming soon: new ideas ----
  {
    slug: "2048",
    title: "2048",
    blurb: "Slide and merge the tiles — double your way up to the fabled 2048.",
    icon: "🧮",
    accent: "#f2b179",
    tags: ["PUZZLE", "LOGIC"],
    badges: ["pick"],
    added: "2026-07-12",
    updated: "2026-07-24",
    shot: "shot.v1.webp",
    preview: "preview.v1.mp4",
  },
  {
    slug: "type-siege",
    title: "Type Siege",
    blurb: "Doodle armies besiege your keep — type the word above each one to cut it down.",
    icon: "⌨️",
    accent: "#6ad6ff",
    tags: ["TYPING", "ACTION"],
    added: "2026-07-27",
    shot: "shot.v1.webp",
  },
  {
    slug: "word-hunt",
    title: "Word Hunt",
    blurb: "Find hidden words in the letter grid. Drag to circle, beat the clock, themed packs.",
    icon: "🔍",
    accent: "#ffcf5c",
    tags: ["WORD", "PUZZLE"],
    soon: true,
  },
  {
    slug: "dusk-runner",
    title: "Chrome Runner",
    blurb: "Polished chromium dino — jump the cacti, duck the gantries, chase a faster 1000 m.",
    icon: "🦖",
    accent: "#cfe0f2",
    tags: ["ARCADE", "REFLEX"],
    added: "2026-07-27",
    shot: "shot.v1.webp",
  },
  {
    slug: "sky-sling",
    title: "Sky Sling",
    blurb: "Drag back, set your power, let fly — pop floating balloons against gravity and shifting wind.",
    icon: "🏹",
    accent: "#ff8fb0",
    tags: ["SKILL", "ARCADE"],
    soon: true,
  },
  {
    slug: "pump-stop",
    title: "Pump Stop",
    blurb: "Hold to pump, stop dead on the target — overrun by a cent and you blow the round.",
    icon: "⛽",
    accent: "#7dd37d",
    tags: ["SKILL", "REFLEX"],
    soon: true,
  },
  {
    slug: "blink",
    title: "Blink",
    blurb: "Watch the scene, then answer what you saw — how many ducks? what color was the sky?",
    icon: "👁️",
    accent: "#9aa6ff",
    tags: ["LOGIC", "PUZZLE"],
    soon: true,
  },
  {
    slug: "pocket-rally",
    title: "Pocket Rally",
    blurb: "Floor it down a busy multi-lane straight — weave the traffic, chase distance.",
    icon: "🏎️",
    accent: "#ff6a3c",
    tags: ["RACING", "ARCADE"],
    soon: true,
  },
  {
    slug: "market-parking",
    title: "Market Parking",
    blurb: "A packed lot, too few spaces — beat the rest to an empty spot. Bots fill the solo game.",
    icon: "🅿️",
    accent: "#4db6e0",
    tags: ["SKILL", "RACING"],
    soon: true,
  },
  {
    slug: "floodgate",
    title: "Floodgate",
    blurb: "Rotate the pipes to route water source-to-drain — plug the leaks, beat the timer.",
    icon: "🚰",
    accent: "#5fb8d9",
    tags: ["LOGIC", "PUZZLE"],
    added: "2026-07-27",
    shot: "shot.v1.webp",
  },
  {
    slug: "mirror-maze",
    title: "Mirror Maze",
    blurb: "Spin the mirrors, split the beam, light every target in its own colour. A neon laser puzzle.",
    icon: "🔆",
    accent: "#7fe8ff",
    tags: ["LOGIC", "PUZZLE"],
    added: "2026-07-27",
    shot: "shot.v1.webp",
  },
  {
    slug: "minesweeper",
    title: "Minesweeper",
    blurb: "Clear the minefield — flag bombs, read the numbers, deduce the rest. The logic classic.",
    icon: "💣",
    accent: "#35e0ff",
    tags: ["LOGIC", "PUZZLE", "CLASSIC"],
    added: "2026-07-12",
    updated: "2026-07-24",
    shot: "shot.v1.webp",
  },

  // ---- coming soon: kids-first (ages 6–10) ----
  {
    slug: "balloon-pop",
    title: "Balloon Pop",
    blurb: "Tap the floating balloons — bright colors, happy pops, no way to lose.",
    icon: "🎈",
    accent: "#ff9ec2",
    tags: ["KIDS", "CASUAL"],
    added: "2026-07-12",
    shot: "shot.v1.webp",
    preview: "preview.v1.mp4",
  },
  {
    slug: "critter-match",
    title: "Critter Match",
    blurb: "Flip the cards, find the matching animals. Grows with you, gentle and cheerful.",
    icon: "🐾",
    accent: "#ffb86b",
    tags: ["KIDS", "PUZZLE"],
    players: "1–4P",
    added: "2026-07-12",
    shot: "shot.v1.webp",
    preview: "preview.v1.mp4",
  },
  {
    slug: "glow-says",
    title: "Glow Says",
    blurb: "Watch the lights, repeat the tune — how long a sequence can you remember?",
    icon: "🟢",
    accent: "#7ee787",
    tags: ["KIDS", "LOGIC"],
    added: "2026-07-12",
    shot: "shot.v1.webp",
  },
  {
    slug: "tube-racer",
    title: "Tube Racer",
    blurb: "Roll around the inside of a giant pipe at Mach 2 — find the gap, then cool the engine.",
    icon: "🌀",
    accent: "#4ff2ff",
    tags: ["RACING", "ARCADE"],
    added: "2026-07-29",
    shot: "shot.v1.webp",
    preview: "preview.v1.mp4",
  },
  {
    slug: "color-pop",
    title: "Color Pop",
    blurb: "Tap to fill the picture with color. No rules, no fail — just paint.",
    icon: "🎨",
    accent: "#ff7ac8",
    tags: ["KIDS", "CASUAL"],
    soon: true,
  },
  {
    slug: "tap-learn",
    title: "Tap & Learn",
    blurb: "Count the ducks, tap the letter, find the shape — playful early learning.",
    icon: "🔠",
    accent: "#7aa2ff",
    tags: ["KIDS", "LOGIC"],
    soon: true,
  },
  {
    slug: "maze-pals",
    title: "Maze Pals",
    blurb: "Guide the little mouse to the cheese. Big tiles, no timer, just find the way.",
    icon: "🐭",
    accent: "#c9a0dc",
    tags: ["KIDS", "PUZZLE"],
    soon: true,
  },

  // ---- coming soon: persistent / idle ----
  {
    slug: "foxden",
    title: "Foxden",
    blurb: "Grow your little fox den — gather, build, upgrade. Earns while you're away.",
    icon: "🦊",
    accent: "#e0883a",
    tags: ["IDLE", "CASUAL"],
    soon: true,
  },

  // ---- multiplayer (local, single-screen) — coming soon ----
  {
    slug: "tron",
    title: "Light Cycles",
    blurb: "Neon trails fill the arena — box your rivals in, last cycle riding wins. Local 2–4 players.",
    icon: "🏍️",
    accent: "#5fe0ff",
    tags: ["ARCADE", "ACTION"],
    players: "2–4P",
    soon: true,
  },
  {
    slug: "air-hockey",
    title: "Air Hockey",
    blurb: "Slam the puck past your friend on a glowing rink. Fast, frantic, two-thumb local play.",
    icon: "🏒",
    accent: "#ff5c8a",
    tags: ["SPORT", "REFLEX"],
    players: "2P",
    soon: true,
  },
  {
    slug: "slime-volley",
    title: "Slime Volleyball",
    blurb: "Two blobs, one ball, one net — bounce it onto their side. Silly, springy local duel.",
    icon: "🏐",
    accent: "#caff4d",
    tags: ["SPORT", "CASUAL"],
    players: "2P",
    soon: true,
  },
  {
    slug: "ring-out",
    title: "Ring Out",
    blurb: "Shove your rivals off the disc — last blob standing wins. Springy, silly sumo.",
    icon: "🟡",
    accent: "#ffd24d",
    tags: ["SPORT", "PARTY"],
    players: "2–4P",
    soon: true,
  },
  {
    slug: "gravity-duel",
    title: "Gravity Duel",
    blurb: "Two ships, one star pulling you in — orbit, aim, and shoot around the well.",
    icon: "🚀",
    accent: "#9fb4ff",
    tags: ["ACTION", "SHOOTER"],
    players: "2P",
    soon: true,
  },
  {
    slug: "flap-fight",
    title: "Flap Fight",
    blurb: "Flap to ride higher than your rival and stomp them — Joust on a single screen.",
    icon: "🪶",
    accent: "#f0c674",
    tags: ["ARCADE", "PARTY"],
    players: "2–4P",
    soon: true,
  },
  {
    slug: "mash-dash",
    title: "Mash Dash",
    blurb: "Hammer your button, first to the line wins. Pure thumb chaos.",
    icon: "🏁",
    accent: "#caff4d",
    tags: ["PARTY", "REFLEX"],
    players: "2–4P",
    soon: true,
  },
];
