The per-card text size lives in the theme now, so a theme can pick the size
it was designed for instead of every user overriding it globally.
- CardText stores family + max point size; CardTextMinSize stores the
overlay shrink-to-fit floor (omitted from fonts.toml when 1).
- ThemeManager::cardTextMaxSize()/cardTextMinSize() resolve the range with
the retired defaults (12 max, 1 min), and cardTextMaxSize() falls back to
the CardText role size that #7541 made live.
- The overlay widget starts at the explicit size when one is set (deck
preview), else the theme max, and shrinks down to the theme floor.
- The appearance page's "Maximum font size" spin is gone; the range is
edited in the theme's font grid, whose min/max spins now keep the saved
range consistent with each other.
- Migration: appearance/maxFontSize is seeded into every user theme folder
and into the active theme's folder (created when the theme is a shipped
one that only exists in the system directory). The retired
game/maxfontsize -> appearance/maxFontSize mapping stays, so users still
on global.ini keep their value through the chain.