Hover the card and procedural lightning crackles along its border — real midpoint-displacement bolts with branches, born at irregular intervals so it feels like weather, not a metronome. Each strike flashes at its anchor point and fades out as a trail.
The bolts crawl the perimeter: they hug the edges and corners and never bar the content. Two-pass rendering (wide glow plus a near-white core) drawn additively gives them an electric depth. At rest, the card rumbles with a discreet micro-arc every couple of seconds — switchable off.
Border and title glow rise with the storm on hover. Everything stays inside the component's bounds — no page overflow, no scrollbars.
Canvas and requestAnimationFrame, no dependencies, nothing loaded from outside. Honours prefers-reduced-motion, and rests quietly on the Framer canvas.
Hover the card and procedural lightning crackles along its border — real midpoint-displacement bolts with branches, born at irregular intervals so it feels like weather, not a metronome. Each strike flashes at its anchor point and fades out as a trail.
The bolts crawl the perimeter: they hug the edges and corners and never bar the content. Two-pass rendering (wide glow plus a near-white core) drawn additively gives them an electric depth. At rest, the card rumbles with a discreet micro-arc every couple of seconds — switchable off.
Border and title glow rise with the storm on hover. Everything stays inside the component's bounds — no page overflow, no scrollbars.
Canvas and requestAnimationFrame, no dependencies, nothing loaded from outside. Honours prefers-reduced-motion, and rests quietly on the Framer canvas.