P2P sync: make WaitService resilient to dropped messages and timing races — re-send wait state every 5 s and on MemberJoined, credit recent (≤ 10 s) matching peer waits at the start of a new wait, and resolve with own data after 60 s so the applet keeps playing instead of hanging on a black screen
Muted overlay (proprietary timer OFF window with keepAppletRunning) now blurs the running applet on WebOS by applying a CSS filter to the content elements instead of backdrop-filter, which WebOS' Chromium reports as supported but never paints
Power off the display panel when a proprietary timer enters its OFF window with keepAppletRunning=true, so the applet keeps running while the panel turns off instead of staying lit on the muted overlay