Default Icon System
===================

These files are generated defaults. Customer-uploaded branding still takes
priority where the application supports it.

Identity
--------

- Member PWA: black Wallet Fold on white.
- Staff PWA: white Scan Square on black.
- Browser favicon: adaptive Wallet Fold in a rounded app tile, with ICO and PNG fallbacks.
- Google Wallet fallback: black Wallet Fold on white.

The artwork intentionally avoids program-specific mechanics such as stamps,
coins, vouchers, tiers, or payment-card details. Both PWA symbols stay within
the maskable safe area and contain no lettering.

The PWA PNG canvases deliberately remain square and full-bleed. Mobile
operating systems apply their own rounded, circular, or adaptive masks; baking
corners into those files would create a second unwanted inset.

Generation
----------

Run from the project root:

    npm run icons:generate

The single source of truth is scripts/generate-icon-assets.mjs. It uses the
project's Playwright dependency to render every PNG and packages the favicon
layers without an external image tool. Do not edit generated PNG or ICO files
by hand.

Generated files
---------------

- favicon-16.png, favicon-32.png, favicon-48.png, favicon.ico
- pwa-192.png, pwa-512.png
- pwa-staff-192.png, pwa-staff-512.png
- ../favicon.svg and ../favicon.ico
- ../images/integrations/google-wallet/default-logo.png
