Error messages now render as styled Rich panels with colored borders:
- Errors: red border panel with "Error" title
- Warnings: yellow border panel with "Warning" title
- Success: green checkmark prefix
Falls back to ANSI output if Rich is not importable.
This affects all 217+ error display points across both PyBlock.py and
SPV/spvblock.py automatically since they all call show_error().
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Foundation module for Level 1 frontend improvements:
- status_bar(): persistent header showing mode, block height, BTC price
- show_error/warning/success(): visible user-facing messages
- Spinner: context manager for loading animations on API calls
- prompt_menu(): input validation with back-button support
- ANSI color constants for consistent styling
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>