cd web && npm test
# 371 + 30 PASS; planCard 5 PASS
# Playwright gated skip without RUN_UI_ACCEPTANCE
