Running 40 tests using 1 worker (node:21538) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set. (Use `node --trace-warnings ...` to show where the warning was created) ✓ 1 tests/browser.spec.mjs:65:3 › course presents its primary content on desktop (1.7s) ✓ 2 tests/browser.spec.mjs:71:3 › course fits a 390px mobile viewport without horizontal overflow (1.2s) ✓ 3 tests/browser.spec.mjs:78:3 › course has no serious or critical axe violations (3.8s) ✓ 4 tests/browser.spec.mjs:65:3 › company demo presents its primary content on desktop (1.8s) ✓ 5 tests/browser.spec.mjs:71:3 › company demo fits a 390px mobile viewport without horizontal overflow (1.2s) ✓ 6 tests/browser.spec.mjs:78:3 › company demo has no serious or critical axe violations (3.6s) ✓ 7 tests/browser.spec.mjs:65:3 › rental demo presents its primary content on desktop (1.1s) ✓ 8 tests/browser.spec.mjs:71:3 › rental demo fits a 390px mobile viewport without horizontal overflow (947ms) ✓ 9 tests/browser.spec.mjs:78:3 › rental demo has no serious or critical axe violations (3.1s) ✓ 10 tests/browser.spec.mjs:65:3 › store demo presents its primary content on desktop (1.8s) ✓ 11 tests/browser.spec.mjs:71:3 › store demo fits a 390px mobile viewport without horizontal overflow (1.2s) ✓ 12 tests/browser.spec.mjs:78:3 › store demo has no serious or critical axe violations (3.1s) ✓ 13 tests/browser.spec.mjs:65:3 › real-estate demo presents its primary content on desktop (1.3s) ✓ 14 tests/browser.spec.mjs:71:3 › real-estate demo fits a 390px mobile viewport without horizontal overflow (1.0s) ✓ 15 tests/browser.spec.mjs:78:3 › real-estate demo has no serious or critical axe violations (4.1s) ✓ 16 tests/browser.spec.mjs:91:1 › course skip link moves keyboard focus to main content (1.3s) ✓ 17 tests/browser.spec.mjs:100:1 › course progress persists after a lesson page reload (1.4s) ✓ 18 tests/browser.spec.mjs:109:1 › resource search returns documents matching the learner query (1.0s) ✓ 19 tests/browser.spec.mjs:117:1 › prompt copy button writes the displayed prompt to the clipboard (1.1s) ✓ 20 tests/browser.spec.mjs:127:1 › published document download links resolve to non-empty Markdown files (1.7s) ✓ 21 tests/browser.spec.mjs:145:1 › company contact form displays the D1-backed success response (3.3s) ✓ 22 tests/browser.spec.mjs:155:1 › company contact form exposes a server failure without claiming success (1.4s) ✓ 23 tests/browser.spec.mjs:167:1 › rental form reserves available D1 stock and shows the booking reference (4.0s) ✓ 24 tests/browser.spec.mjs:184:1 › rental form reports a 409 conflict and rechecks availability (2.2s) ✓ 25 tests/browser.spec.mjs:203:1 › store quote form displays the server-calculated success response (2.3s) ✓ 26 tests/browser.spec.mjs:213:1 › store quote form exposes a server failure without claiming success (2.5s) ✓ 27 tests/browser.spec.mjs:225:1 › real-estate combined filters show an empty state that resets the directory (1.7s) ✓ 28 tests/browser.spec.mjs:239:1 › real-estate price sorting places the least expensive home first (1.3s) ✓ 29 tests/browser.spec.mjs:245:1 › real-estate favorites persist after a page reload (1.5s) ✓ 30 tests/browser.spec.mjs:254:1 › real-estate native details dialog returns focus to its opener when closed (1.8s) ✓ 31 tests/browser.spec.mjs:265:1 › real-estate dialog interest action prefills the inquiry form (1.7s) ✓ 32 tests/browser.spec.mjs:275:1 › real-estate inquiry displays the D1-backed contact reference (3.4s) ✓ 33 tests/browser.spec.mjs:287:1 › real-estate inquiry retries a network failure with the same idempotency key (3.6s) ✓ 34 tests/browser.spec.mjs:316:1 › closed store cart keeps its hidden quote fields out of keyboard navigation (1.9s) ✓ 35 tests/browser.spec.mjs:326:1 › store cart traps focus while open and returns focus when dismissed (1.8s) ✓ 36 tests/browser.spec.mjs:341:1 › store quantity update preserves focus on the edited cart field (1.6s) ✓ 37 tests/browser.spec.mjs:352:1 › rental input invalidates a late availability response before the debounced recheck (1.7s) ✓ 38 tests/browser.spec.mjs:404:3 › rental hides its catalog loading state after content loads (1.2s) ✓ 39 tests/browser.spec.mjs:404:3 › store hides its catalog loading state after content loads (1.6s) ✓ 40 tests/browser.spec.mjs:412:1 › store avoids motion effects when reduced motion is requested (1.2s) 40 passed (1.4m)