- Merge RatesSection and ContactLinks into InfoCard using proper
CardHeader/CardTitle/CardDescription/CardContent/CardFooter/Separator
- Dark translucent card (bg-black/50) with primary border glow
- Full-opacity bg image with bg-black/70 overlay instead of opacity hack
- Logo drop shadow uses --color-primary for thematic glow
- Fix heading clipping: leading-tight instead of leading-none
- Force dark mode from JS as safety net
- Lucide Send/Mail icons with ghost Button links
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Clean component architecture with proper spacing and visual hierarchy:
- HeroSection: logo, gradient heading, subtitle with generous whitespace
- InfoCard: single unified Card with divide-y sections
- RatesSection: side-by-side cash-in/out with vertical separator
- AtmStatusList: live Nostr status with Badge and Skeleton loading
- ContactLinks: lucide Send/Mail icons with ghost Button links
- Catppuccin theme with bitcoin as a proper semantic color token
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use OKLch color space with semantic tokens matching the webapp project.
Add Bitcoin orange, float, fade-in-up, and glow animation tokens.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>