{
  "_comment_1": "Family Globe web app manifest. Created 11 Oct 2026. Closes the three 404s recorded in CLAUDE.md on 5 Oct (/manifest.json, /favicon.ico, /apple-touch-icon.png) and makes the app installable.",
  "_comment_2": "HOSTING SWAP DONE — 12 Oct 2026. The app moved from '/' to '/app' (Cloudflare Pages serves app.html at /app) and the marketing page took '/'. start_url is now '/app'. scope DELIBERATELY STAYS '/' and is not narrowed to '/app': the marketing page at / is where people install from, and Chrome only offers a clean install when the current document is inside scope; a /app scope would also throw the user out to a browser window whenever the app links to /terms.html or /privacy.html. id STAYS '/' — changing id makes browsers treat this as a DIFFERENT app, orphaning every existing install instead of updating it. Verified 12 Oct 2026: iOS Safari Add to Home Screen follows start_url rather than the page you are on, so installing from the marketing page still lands the user in the app.",

  "_comment_3": "A service worker is NOT required for installability (verified against MDN and WebKit, 5 Oct 2026) — sw.js exists for offline, which is a separate concern.",

  "name": "Family Globe",
  "short_name": "Family Globe",
  "description": "Family travel planning: your trips, itineraries, checklists and saved documents, on your phone.",

  "start_url": "/app",
  "scope": "/",
  "id": "/",

  "display": "standalone",
  "orientation": "portrait-primary",

  "background_color": "#0E1117",
  "theme_color": "#0E1117",

  "prefer_related_applications": false,

  "icons": [
    {
      "src": "/icon-192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icon-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icon-512-maskable.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ]
}
