You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<Fog variant="cornerTopLeft"|"cornerBottomRight"|"sideLeft"|"sideRight"|"ribbon" animate>: wave SVGs with the cream #f7dfbc → lavender → transparent gradient; optional slow drift (CSS, 12–20s).
<Sparkle size color twinkle delay> + <SparkleCluster> (the 3-star groups).
<Candle height flame animate>: indigo candlestick, cream candle, flame flicker and a pulsing glow.
<Spotlight angle length color origin fixture>: a translucent beam with soft edges, plus the optional black lamp head (hero bushes).
<Starfield density seed>: a deterministic seeded star field in one SVG, with density 0–1 (the hero fades it by progress).
Every component accepts className/style, forwards ref, and puts data-anim on the root. An animate={false} prop turns off all idle motion (SM uses it); reduced motion also turns it off.
/dev/decor demo page.
Acceptance criteria
Each primitive matches its Figma source
Idle animations only use transform/opacity
animate={false} and reduced motion both give a fully static render
Starfield renders the same on server and client (no hydration mismatch)
Fog
5597:15707→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-157075597:16837→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-168375597:20877→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-20877Sparkles
5597:16837→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-168375597:21587→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-215875597:20877→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-20877Candles
5597:15707→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-15707Spotlight beams
5690:2639→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5690-26395597:8846→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-88465597:20877→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-20877Stars
5597:5431→ https://www.figma.com/design/L7vH8bprzaimoVmHMgIx7P/-Design--Mainsite?node-id=5597-5431Steps
<Fog variant="cornerTopLeft"|"cornerBottomRight"|"sideLeft"|"sideRight"|"ribbon" animate>: wave SVGs with the cream#f7dfbc→ lavender → transparent gradient; optional slow drift (CSS, 12–20s).<Sparkle size color twinkle delay>+<SparkleCluster>(the 3-star groups).<Candle height flame animate>: indigo candlestick, cream candle, flame flicker and a pulsing glow.<Spotlight angle length color origin fixture>: a translucent beam with soft edges, plus the optional black lamp head (hero bushes).<Starfield density seed>: a deterministic seeded star field in one SVG, withdensity0–1 (the hero fades it by progress).className/style, forwardsref, and putsdata-animon the root. Ananimate={false}prop turns off all idle motion (SM uses it); reduced motion also turns it off./dev/decordemo page.Acceptance criteria
animate={false}and reduced motion both give a fully static render