fix(web): reliable font availability probing and theme-consistent previews

document.fonts.check() answers true for families that are not installed
(nothing needs loading), so the dropdowns offered fonts that silently
fell back to the default stack and the sans-side previews appeared not
to update. Availability now comes from canvas metric probing: a family
counts as available when substituting it before a generic changes the
measured advance.

The terminal preview card also follows the app theme now — the real
terminal renders on the app background in light mode, so a hardcoded
dark card was inconsistent theming.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
80612c4202Wout Stiens committed on 7/31/2026, 11:40:35 AMparentdc3ebeb
2 files changedLine totals unavailable