perf(wc): pause marquee animation when slide is off-screen master
The marquee on title and outro slides ran morkdeck-marquee-scroll 48s linear infinite on every render, keeping a compositing layer alive for slides scrolled out of view, slides in overview thumbnails, and off-slot slides in presenter mode. Transform animations are cheap but not free. Tie the run state to slide visibility through the existing IntersectionObserver. fireUpdates now toggles an is-in-view class on each entry's target before the role and overview gating, so the class reflects pure visibility independent of navigation logic. The CSS responds with animation-play-state: paused on morkdeck-slide:not(.is-in-view) .marquee-track. In audience mode, only the currently-snapped slide's marquee runs; in presenter mode the current and next previews both run; in overview every thumbnail's marquee is paused. Verified live: title in view shows running, outro off-screen shows paused, and the reverse after scrolling. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>