Full text selection and block spacing features added to the AI chat panel.
Changes
- Replaced per-line VStack+ForEach rendering with single Text(attributedString) per message for cross-paragraph selection.
- Connected line height settings to .lineSpacing() modifier for improved visual consistency.
- Implemented font-sized spacer newlines for variable inter-block spacing, addressing SwiftUI Text limitations.
- Documented architecture and lessons learned in CLAUDE.md to improve developer understanding.