BrowserCore now owns an AppearanceSettings, exposes it through BrowserSnapshot.appearance, and offers set_wallpaper_theme, set_theme_mode, set_reduce_motion, reset_appearance mutators. Defaults match the domain defaults (Dawn / System / motion-on) so existing behaviour is unchanged for callers who don't touch appearance. Integration tests cover initial snapshot defaults, mutation persistence across snapshots, and reset behaviour.