Stop analyzing and deleting photos mid-upload and mid-analysis

Analyze and delete buttons now hide during uploads and active analysis, preventing race conditions and partial batches.

Bug Fixes

Three race conditions in the contents upload/analyze flow have been fixed to prevent partial-batch analysis and mid-flight photo deletion.

Analyze buttons now hide during upload batches. The per-card "Analyze N photos" button and phase-level "Analyze all N photos" action are now hidden while upload confirmations are still landing, preventing premature analysis of an incomplete batch.

Photo deletion is blocked while analysis is in flight. The delete affordance (trash icons in grid and lightbox) now hides while a photo's analysis is QUEUED or RUNNING. This prevents a race where the delete request and the analyzer's projection could collide.

Photo badges now update live during analysis. The QUEUED → ANALYZING → done badge transitions now refresh on a 10-second tick while a card's analysis is active, so badge flips appear without needing to refocus the window.