3629ffef2c
Read MCP override state outside LVGL lock in tick(). Previously: LVGL lock -> MCP mutex (tick) vs MCP mutex -> LVGL lock (video task startMcpScreensaver) = deadlock risk observed on RLCD when text tool called. Now: MCP state read first, then LVGL lock. Preserves <1s flash guard (isMcpActive). Board: waveshare-esp32-s3-rlcd 0x2b78b0 32%% free, flashed to /dev/cu.usbmodem101 Co-Authored-By: internal-model