`fancy_animations: false` and `low_motion: true` already exist on
the settings struct, but the flag was undocumented and the only
ways to opt in were the `/settings` slash command or hand-editing
`~/.config/deepseek/settings.toml` — there was no environment-
level signal that platform a11y tooling could carry forward.
* `NO_ANIMATIONS=1` env var now forces `low_motion = true` and
`fancy_animations = false` at startup, regardless of what's on
disk. Recognises `1`, `true`, `yes`, `on` (case-insensitive);
any other value is treated as unset.
* `Settings::apply_env_overrides()` is now called at the end of
`Settings::load()`, so every consumer (App::new, /config, the
doctor surface) sees the override applied uniformly. The
override is a startup-time overlay — changing the env var
mid-session has no effect.
* New `docs/ACCESSIBILITY.md` documents the existing `low_motion`,
`fancy_animations`, `calm_mode`, `show_thinking`, and
`show_tool_details` toggles plus the `NO_ANIMATIONS` startup
override. Includes guidance for screen-reader users and a link
back to this issue for follow-up motion regressions.
Tests:
3 new tests in `settings.rs` (force-low-motion-on, override-
user-opt-in, truthy-spelling-recognition). All three serialise
through a static Mutex so the cargo parallel runner doesn't
observe interleaved env mutations.