- 5 SVG placeholder product images (minimal dark style with watermark initials)
- Seed data updated to reference .svg placeholders
- Nostr DM inbox in admin (Messages tab) with shop npub display
- GET /api/admin/nostr-info endpoint for shop pubkey
- My Orders page: customers look up orders by NIP-07 Nostr identity
- GET /api/orders/by-pubkey/:pubkey endpoint with hex validation
- SeoMeta component for OG/Twitter meta tags
- SEO meta on HomeView and ProductView
- Base OG meta tags in index.html
- "My Orders" link in shop header nav
- Splash logo doubled in size on desktop (680px max)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Logo draws in centered, then fades out
- Tagline replaces logo in viewport center
- Bebas Neue (condensed hipster block) for main words
- Playfair Display italic 900 for PSYOP in Bitcoin orange
- Desktop: one line. Tablet (900px): 2 lines. Mobile (500px): 4 lines
- Words slam in with blur-to-sharp + scaleY bounce
- PSYOP lands with extra bounce-slam keyframes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>