- Theme is now a runtime struct loaded from its own TOML file
(theme = "themes/dark.toml" in config.toml, like panels), all
fields optional with built-in defaults; ships themes/dark.toml and
themes/light.toml
- shadow = true/false in config.toml, shadow_color per theme
- dim_unfocused (per theme): unfocused window content is dimmed
- BUGFIX: resizing a window no longer erases its content and history —
the vt100 parser was recreated on every resize; now uses
screen_mut().set_size() which preserves the grid and scrollback
- New integration check: window content survives mouse resize (20/20)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>