fix(mobile): park ambient loading animations when offscreen or reduced motion

LoadingStrip's indeterminate sweep and ConnectionStatusDot's halo pulse
ran withRepeat loops for the entire lifetime of the component, including
while the app was backgrounded, the rendering screen was blurred, or the
user had reduced motion enabled, pegging the GPU for work nobody sees.

Add useAmbientAnimationsEnabled (app-active + screen-focus +
reduce-motion, the pattern established in thread-work-log.tsx) and gate
both loops on it. LoadingStrip shows a static strip while parked so
"still loading" stays legible; the status dot keeps its colored dot.
1e0c7329a3Julius Marminge committed on 9/22/2026, 11:03:10 PMparentd7819c1
4 files changedLine totals unavailable