Block a user
[server] .tmp avatar file leaks on disk if fs::rename fails
[server] ReplayHeader.seed is i64 but client Replay.seed is u64 — high-bit seeds rejected
expect() in Startup system and TokioRuntimeResource::default() violate no-panic rule
WinSummaryOverlay bypasses spawn_modal / ModalScrim — invisible to all modal guards
AnimationChain skips one frame between each step due to deferred command flush
drop_overlay_rect panics via HashMap index operator on unknown PileType
play_by_seed fires NewGameRequestEvent { confirmed: false } — forces unwanted confirm dialog
SettleAnim and FoundationFlourish both write Transform.scale on king card — undefined visual result
evaluate_on_win uses .last() — drops all but the final GameWonEvent when multiple fire in one frame