Buddyly

First-party QR routing for pet rescue campaigns

The QR acquisition flow now lives under `/app`, with platform detection, campaign-safe source handling, and best-effort scan analytics.