- Global setup no longer throws when API is unavailable; writes empty auth state so Playwright can start; specs that need auth use their own login or storageState override. - Ensure e2e/.auth dir exists before writing empty state.