// Purely decorative, server-rendered Ghibli landscape that sits behind all // content. No JS, no state — just layered CSS-animated SVG/divs. Positions and // timings are hardcoded so SSR and client markup match (no hydration drift). const clouds = [ { top: "8%", scale: 1.0, duration: "70s", delay: "0s", opacity: 0.9 }, { top: "18%", scale: 0.7, duration: "95s", delay: "-30s", opacity: 0.75 }, { top: "30%", scale: 1.3, duration: "120s", delay: "-70s", opacity: 0.85 }, { top: "46%", scale: 0.55, duration: "85s", delay: "-15s", opacity: 0.6 }, ]; // Soot sprites (susuwatari) drifting up from the meadow const sprites = [ { left: "12%", size: 10, duration: "16s", delay: "0s" }, { left: "26%", size: 7, duration: "21s", delay: "-6s" }, { left: "44%", size: 12, duration: "18s", delay: "-11s" }, { left: "61%", size: 8, duration: "23s", delay: "-3s" }, { left: "78%", size: 9, duration: "19s", delay: "-14s" }, { left: "89%", size: 6, duration: "25s", delay: "-9s" }, ]; function Cloud({ opacity }: { opacity: number }) { return ( ); } export default function GhibliBackground() { return (