fad65a4fcff3ffa5b1fa787f4b0e7eb7cf56ffa4
Field test found Steam games were never detected on Linux. Root cause: Steam rewrites ~/.steam/registry.vdf only on SHUTDOWN, so its RunningAppID is stale (often absent) while a game is actually running — polling it can never see the live game. Fix: on Linux, read the live appid from the running game's environment (SteamAppId in /proc/<pid>/environ, the var Steam exports to every game process — the same signal MangoHud uses; readable for our own processes). registry.vdf stays as a best-effort fallback. Windows still reads the real registry's RunningAppID, which IS updated live there. Other Unix keeps the registry.vdf fallback. Pure parse_steam_app_id_from_environ() is unit-tested (nonzero filter, absent, substring-not-fooled, garbage). Also fixes a latent bug in the first draft where a single non-UTF8 SteamAppId value would abort the whole scan via ? instead of skipping. 396 lib tests, clippy --all-targets clean.