{
  "name": "Musical Notes & Staff Reading",
  "short_name": "Staff",
  "description": "Interactive staff-reading trainer for treble, bass, alto and tenor clefs — note identification drill, rhythm values, time signatures, key signatures, audio playback, daily challenge.",
  "start_url": "./index.html",
  "scope": "./",
  "display": "standalone",
  "orientation": "any",
  "background_color": "#0e1525",
  "theme_color": "#4F46E5",
  "lang": "en",
  "icons": [
    {
      "src": "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 192'><rect width='192' height='192' rx='32' fill='%230e1525'/><g stroke='%23f0f4ff' stroke-width='4' stroke-linecap='round'><line x1='30' y1='60' x2='162' y2='60'/><line x1='30' y1='80' x2='162' y2='80'/><line x1='30' y1='100' x2='162' y2='100'/><line x1='30' y1='120' x2='162' y2='120'/><line x1='30' y1='140' x2='162' y2='140'/></g><ellipse cx='110' cy='110' rx='14' ry='10' fill='%234F46E5' transform='rotate(-22 110 110)'/><line x1='123' y1='110' x2='123' y2='62' stroke='%234F46E5' stroke-width='4' stroke-linecap='round'/></svg>",
      "sizes": "192x192",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><rect width='512' height='512' rx='80' fill='%230e1525'/><g stroke='%23f0f4ff' stroke-width='10' stroke-linecap='round'><line x1='80' y1='160' x2='432' y2='160'/><line x1='80' y1='215' x2='432' y2='215'/><line x1='80' y1='270' x2='432' y2='270'/><line x1='80' y1='325' x2='432' y2='325'/><line x1='80' y1='380' x2='432' y2='380'/></g><ellipse cx='290' cy='295' rx='38' ry='27' fill='%234F46E5' transform='rotate(-22 290 295)'/><line x1='325' y1='295' x2='325' y2='165' stroke='%234F46E5' stroke-width='10' stroke-linecap='round'/></svg>",
      "sizes": "512x512",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><rect width='512' height='512' fill='%230e1525'/><g stroke='%23f0f4ff' stroke-width='8' stroke-linecap='round'><line x1='120' y1='200' x2='392' y2='200'/><line x1='120' y1='245' x2='392' y2='245'/><line x1='120' y1='290' x2='392' y2='290'/><line x1='120' y1='335' x2='392' y2='335'/></g><ellipse cx='280' cy='312' rx='32' ry='22' fill='%234F46E5' transform='rotate(-22 280 312)'/></svg>",
      "sizes": "512x512",
      "type": "image/svg+xml",
      "purpose": "maskable"
    }
  ]
}
