b2be12d456
Screenshots were catching the app mid-boot at ~92% with the onboarding Preparing progress bar still visible. waitForAppReady checked for the composer (textarea/contenteditable) with state:'visible', but Playwright considers an element visible even when a z-1300+ fixed overlay covers it (non-zero bounding box, not display:none). Now waits for the composer to be attached, then polls document.elementFromPoint at viewport center — if the topmost element is inside a position:fixed inset:0 overlay, the app isn't ready yet.