Why: hasText('章节') also matches the 空缺章节 card, tripping Playwright strict mode.
Evidence: rerun of scripts/e2e.sh in this task.
Impact: test-only.
Why: hasText('章节') also matches the 空缺章节 card, tripping Playwright strict mode.
Evidence: rerun of scripts/e2e.sh in this task.
Impact: test-only.