{
  "//": "Manifesto do app do entregador (seQ / RotasSmart). É o que faz 'adicionar à tela inicial' virar APP — ícone próprio, tela cheia, sem barra de URL — em vez de atalho pro navegador. Junto com o /sw.js (a casca offline), é o par que o Chrome exige pra oferecer 'Instalar app'.",
  "//extensao": "manifest.JSON e não .webmanifest de propósito: o static files do ASP.NET devolve 404 pra extensão que ele não conhece (mesma pegadinha do .pbf e do .pmtiles, documentada no Program.cs), e .webmanifest não está na lista embutida. Com .json ele sai como application/json, que os navegadores aceitam pra manifesto. Se um dia renomear pra .webmanifest, TEM que registrar o tipo no Program.cs junto.",
  "//start_url": "aponta pro arquivo, e não pra '/', porque este mesmo wwwroot é servido em dois domínios: em seq.* a raiz é o app do entregador, mas em painel.* a raiz é o painel do DONO. Instalado a partir do /gps no painel.*, um start_url '/' abriria o painel. O caminho explícito está certo nos dois.",

  "name": "seQ — sequência que rende",
  "short_name": "seQ",
  "description": "Sequência de entrega e navegação porta a porta.",
  "lang": "pt-BR",
  "dir": "ltr",

  "start_url": "/nocircuito/index.html",
  "scope": "/",
  "display": "standalone",

  "background_color": "#08090C",
  "theme_color": "#08090C",

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