## Description

<!-- What does this PR change and why? -->

## Regression risk

<!-- What could this break? -->

## Manual test

<!-- How was this tested? For UI changes, include the smoke matrix from CONTRIBUTING.md §13. -->

- [ ] HTML normal: PASS/FAIL
- [ ] HTML parity: PASS/FAIL
- [ ] EXE no-bundle: PASS/FAIL/SKIPPED (reason: ...)

## Screenshots

<!-- If applicable for UI changes. -->

## Checklist

- [ ] Changes follow CONTRIBUTING.md
- [ ] No dead code left behind
- [ ] User-facing text goes through i18n (if applicable)
