/** * layout.spec.ts — TEST-01 * * Cross-route structural quality-bar assertions (UI-SPEC Rules 1-4): * Rule 1: Touch-target minimum ≥44×44px (FAB ≥56×56px) * Rule 2: No horizontal overflow (scrollWidth ≤ clientWidth) * Rule 3: Critical elements visible and in-viewport on initial load * Rule 4: Accessible names on all interactive elements (role+name locators) * * Runs on all three device profiles automatically (playwright.config.ts matrix): * iphone: iPhone 14 / WebKit / 390×844 * pixel: Pixel 7 / Chromium / 412×915 * desktop: Desktop Chrome / Chromium / 1280×720 (mobile-only geometry tests skipped) * * STRICT-MODE NOTE: * On mobile viewports (≤767px), AppNav renders PhoneNav as a
element * (NOT a nav landmark) — it does NOT expose a navigation landmark. BottomTabBar * renders the sole