Same magazine-style PostList as hype404: hero card for top story,
image-row cards for the rest. Posts without /images/* covers render
text-only via CSS :has() fallback. Adds .post-hero / .post-row CSS
to the existing light theme using the magenta accent var.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the Geocities/MTV rainbow stripe layout (Bungee Shade,
Rubik Glitch, hot-pink bg, repeating diagonal stripes, Comic Sans
body) with the same clean editorial magazine theme as hype404:
- Warm off-white bg (#fbfaf6), rich near-black ink
- Fraunces serif headlines + Inter body + JetBrains Mono code
- Magenta accent (#d4308f) — fits the creator-drama beat without
Geocities visual noise
- Same component classes (.post, .post-content, .tag, etc.) so
PostList and post pages cascade through unchanged
- Drop cap on the first paragraph, pill tags, hover lift on cards
- Brand wordmark "viralmvp" (mvp in magenta accent)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tag pages emitted <link rel="canonical" href="...tag/Foo Bar/">
with literal spaces. Wrap with encodeURIComponent so the canonical
matches the encoded URL in the sitemap.