{{-- Decorative pixel-art cat mascot, bottom-right corner of every App panel page (injected once via a panel render hook — see AppPanelProvider). The sprite sheet (public/img/cat/cat-sprite.png, generated by tracing the user-supplied reference pixel-art cat — see scratchpad/build_james_sprite.py for the generator) has 8 frames of 128x128px, displayed at 160x160, in order: idle_a, idle_b, look, play, startled, walk_a, walk_b, peek. Everything below is a single self-contained IIFE: no Alpine/Livewire dependency, so it survives Livewire's wire:navigate page swaps without needing to re-hydrate any component state. The "recently fled" flag is kept in localStorage so a click doesn't just reset on the next page load. --}}