Show streaming reasoning in a fixed-height fade viewport (#2262)
* Show streaming reasoning in a fixed-height fade viewport
While reasoning is streaming, render the <think> content in a bottom-aligned
4rem viewport with a top gradient mask so only the most recent lines stay
visible. This avoids the overwhelming wall-of-text effect during long
chain-of-thought, and works uniformly across model formats (DeepSeek R1,
gpt-oss, Qwen3, etc.) without per-model parsing. After streaming completes,
the existing collapsed/expand-to-full behavior is unchanged.
* Bump streaming reasoning viewport to 320px
* Cap reasoning fade band at ~2 lines (48px)
* Invert Thinking header shimmer in light mode
* Anchor Thinking shimmer to text-gray-500 baseline
* Apply reasoning fade only when content overflows viewport
* Vertically center alternatives nav and copy/edit buttons
---------
Co-authored-by: Claude <noreply@anthropic.com>