e16f2ec90f
- Two dedicated <input> elements: cameraInput (capture=environment) for direct camera, galleryInput (no capture) for gallery picker - Both wired to handlePickedPhoto() via a shared wireInput helper - refreshGPS() fires on button click (before picker opens) for a fresh high-accuracy GPS fix — no maximumAge, so it pulls current location instead of relying on cached values from page-load initGPS() - Workaround for browser EXIF GPS stripping: camera captures may preserve EXIF GPS, gallery picks fall through to device geolocation API