{
  "name": "G-doc Universe",
  "short_name": "G-doc",
  "description": "Educational physics simulations and virtual labs by Dr. Jorge Garcia.",
  "start_url": ".",
  "display": "standalone",
  "background_color": "#000000",
  "theme_color": "#000000",
  "icons": [
    {
      "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cdefs%3E%3Cfilter id='shipGlow' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='0.4' result='blur' /%3E%3CfeComposite in='SourceGraphic' in2='blur' operator='over' /%3E%3C/filter%3E%3Cfilter id='orbitGlowEffect' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='0.6' result='blur' /%3E%3CfeComposite in='SourceGraphic' in2='blur' operator='over' /%3E%3C/filter%3E%3ClinearGradient id='orbitFront' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%2322d3ee' stop-opacity='0.4' /%3E%3Cstop offset='50%25' stop-color='%2306b6d4' stop-opacity='0.95' /%3E%3Cstop offset='100%25' stop-color='%2322d3ee' stop-opacity='0.4' /%3E%3C/linearGradient%3E%3CradialGradient id='planetShade' cx='30%25' cy='30%25' r='70%25'%3E%3Cstop offset='0%25' stop-color='%23fdf2f8' /%3E%3Cstop offset='30%25' stop-color='%23f9a8d4' /%3E%3Cstop offset='60%25' stop-color='%23f472b6' /%3E%3Cstop offset='85%25' stop-color='%23881337' /%3E%3Cstop offset='100%25' stop-color='%23020617' /%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='24' height='24' fill='%23000000'/%3E%3Ccircle cx='4' cy='5' r='0.15' fill='white' opacity='0.8'/%3E%3Ccircle cx='18' cy='4' r='0.1' fill='white' opacity='0.5'/%3E%3Ccircle cx='21' cy='9' r='0.2' fill='white' opacity='0.7'/%3E%3Ccircle cx='3' cy='16' r='0.12' fill='white' opacity='0.6'/%3E%3Ccircle cx='20' cy='21' r='0.15' fill='white' opacity='0.8'/%3E%3Ccircle cx='11' cy='2' r='0.1' fill='white' opacity='0.4'/%3E%3Ccircle cx='22' cy='15' r='0.1' fill='white' opacity='0.5'/%3E%3Ccircle cx='2' cy='2' r='0.12' fill='white' opacity='0.5'/%3E%3Ccircle cx='22' cy='2' r='0.1' fill='white' opacity='0.4'/%3E%3Ccircle cx='2' cy='22' r='0.15' fill='white' opacity='0.6'/%3E%3Ccircle cx='22' cy='22' r='0.1' fill='white' opacity='0.5'/%3E%3Cg transform='translate(12, 12) scale(0.7) translate(-12, -12)'%3E%3Cg transform='translate(24, 0) scale(-1, 1)'%3E%3Cg transform='rotate(15 12 12)'%3E%3Cpath d='M 23.55 12 A 11.55 4 0 0 0 0.45 12' stroke='%2322d3ee' stroke-width='0.5' stroke-opacity='0.4' fill='none' filter='url(%23orbitGlowEffect)'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='6' fill='url(%23planetShade)' stroke='%234c0519' stroke-width='0.2' /%3E%3Cg transform='rotate(15 12 12)'%3E%3Cpath d='M 0.45 12 A 11.55 4 0 0 0 23.55 12' stroke='url(%23orbitFront)' stroke-width='1.0' stroke-linecap='round' fill='none' filter='url(%23orbitGlowEffect)'/%3E%3Cg transform='translate(12, 16.0) rotate(180)'%3E%3Ccircle cx='-2.9' cy='2.0' r='0.75' fill='white' filter='url(%23shipGlow)' /%3E%3Cline x1='0' y1='0' x2='-2.6' y2='1.8' stroke='%23cbd5e1' stroke-width='0.8' stroke-opacity='0.7' stroke-linecap='round'/%3E%3Ccircle cx='0' cy='0' r='2.2' fill='white' filter='url(%23shipGlow)' /%3E%3Cg transform='rotate(-25, -0.4, -0.3)'%3E%3Cline x1='-0.4' y1='-0.3' x2='-3.1' y2='-2.1' stroke='%2394a3b8' stroke-width='0.9' stroke-opacity='1' stroke-linecap='round'/%3E%3Ccircle cx='-3.1' cy='-2.1' r='0.9' fill='white' filter='url(%23shipGlow)' /%3E%3C/g%3E%3Crect x='1.1' y='-0.5' width='1.1' height='1.2' rx='0.5' fill='%230f172a' /%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E",
      "sizes": "192x192",
      "type": "image/svg+xml",
      "purpose": "any maskable"
    },
    {
      "src": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cdefs%3E%3Cfilter id='shipGlow' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='0.4' result='blur' /%3E%3CfeComposite in='SourceGraphic' in2='blur' operator='over' /%3E%3C/filter%3E%3Cfilter id='orbitGlowEffect' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='0.6' result='blur' /%3E%3CfeComposite in='SourceGraphic' in2='blur' operator='over' /%3E%3C/filter%3E%3ClinearGradient id='orbitFront' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%2322d3ee' stop-opacity='0.4' /%3E%3Cstop offset='50%25' stop-color='%2306b6d4' stop-opacity='0.95' /%3E%3Cstop offset='100%25' stop-color='%2322d3ee' stop-opacity='0.4' /%3E%3C/linearGradient%3E%3CradialGradient id='planetShade' cx='30%25' cy='30%25' r='70%25'%3E%3Cstop offset='0%25' stop-color='%23fdf2f8' /%3E%3Cstop offset='30%25' stop-color='%23f9a8d4' /%3E%3Cstop offset='60%25' stop-color='%23f472b6' /%3E%3Cstop offset='85%25' stop-color='%23881337' /%3E%3Cstop offset='100%25' stop-color='%23020617' /%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='24' height='24' fill='%23000000'/%3E%3Ccircle cx='4' cy='5' r='0.15' fill='white' opacity='0.8'/%3E%3Ccircle cx='18' cy='4' r='0.1' fill='white' opacity='0.5'/%3E%3Ccircle cx='21' cy='9' r='0.2' fill='white' opacity='0.7'/%3E%3Ccircle cx='3' cy='16' r='0.12' fill='white' opacity='0.6'/%3E%3Ccircle cx='20' cy='21' r='0.15' fill='white' opacity='0.8'/%3E%3Ccircle cx='11' cy='2' r='0.1' fill='white' opacity='0.4'/%3E%3Ccircle cx='22' cy='15' r='0.1' fill='white' opacity='0.5'/%3E%3Ccircle cx='2' cy='2' r='0.12' fill='white' opacity='0.5'/%3E%3Ccircle cx='22' cy='2' r='0.1' fill='white' opacity='0.4'/%3E%3Ccircle cx='2' cy='22' r='0.15' fill='white' opacity='0.6'/%3E%3Ccircle cx='22' cy='22' r='0.1' fill='white' opacity='0.5'/%3E%3Cg transform='translate(12, 12) scale(0.7) translate(-12, -12)'%3E%3Cg transform='translate(24, 0) scale(-1, 1)'%3E%3Cg transform='rotate(15 12 12)'%3E%3Cpath d='M 23.55 12 A 11.55 4 0 0 0 0.45 12' stroke='%2322d3ee' stroke-width='0.5' stroke-opacity='0.4' fill='none' filter='url(%23orbitGlowEffect)'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='6' fill='url(%23planetShade)' stroke='%234c0519' stroke-width='0.2' /%3E%3Cg transform='rotate(15 12 12)'%3E%3Cpath d='M 0.45 12 A 11.55 4 0 0 0 23.55 12' stroke='url(%23orbitFront)' stroke-width='1.0' stroke-linecap='round' fill='none' filter='url(%23orbitGlowEffect)'/%3E%3Cg transform='translate(12, 16.0) rotate(180)'%3E%3Ccircle cx='-2.9' cy='2.0' r='0.75' fill='white' filter='url(%23shipGlow)' /%3E%3Cline x1='0' y1='0' x2='-2.6' y2='1.8' stroke='%23cbd5e1' stroke-width='0.8' stroke-opacity='0.7' stroke-linecap='round'/%3E%3Ccircle cx='0' cy='0' r='2.2' fill='white' filter='url(%23shipGlow)' /%3E%3Cg transform='rotate(-25, -0.4, -0.3)'%3E%3Cline x1='-0.4' y1='-0.3' x2='-3.1' y2='-2.1' stroke='%2394a3b8' stroke-width='0.9' stroke-opacity='1' stroke-linecap='round'/%3E%3Ccircle cx='-3.1' cy='-2.1' r='0.9' fill='white' filter='url(%23shipGlow)' /%3E%3C/g%3E%3Crect x='1.1' y='-0.5' width='1.1' height='1.2' rx='0.5' fill='%230f172a' /%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E",
      "sizes": "512x512",
      "type": "image/svg+xml",
      "purpose": "any maskable"
    }
  ]
}