TITLE: Forest Canopy — Light Arriving in Slow, Dusty Columns PROMPT: Build a single-file, dependency-free full-viewport artwork of a forest canopy seen from directly below. Compose a canvas scene: a radial sky gradient opening at 40% width / 22% height that runs from a warm sun core (#f2e8a0 blended to #2f6b3f) out to deep forest (#0f2417); seven additive light shafts crossing from the upper-left at ~56 degrees, each a pre-rendered soft-edged gradient sprite drawn with globalCompositeOperation 'lighter' and alpha shimmering on a per-shaft sine phase; roughly 180 leaves placed on a golden-angle spiral whose radius is biased outward (Math.pow(k,0.4)), each a bezier lens shape with a bright vein stroke, drawn back-to-front by depth so far backlit leaves are pale #a8d5a2 and near leaves are near-black #1a3d28; a forest-floor band across the bottom 20% with drifting dappled light blobs; and ~140 pollen motes as additive radial sprites drifting upward. Palette: #0f2417, #2f6b3f, #a8d5a2, #f2e8a0, #1a3d28. Typography: Georgia serif for the title "Forest / Canopy" (italic second line), ui-monospace for the tag, birdsong indicator and light readout. Sticky stage inside a 240dvh wrapper so scrolling tilts the scene via rotate/scale on the scene wrapper. Wheel interpolates the whole palette between morning and dusk. Click spawns an expanding ring that pushes leaves outward with a spring. Respect prefers-reduced-motion by freezing the clock and damping sway to 30%. DESCRIPTION: A quiet, immersive look straight up through a dense canopy. Light arrives in seven dusty columns that cross the frame from the upper left, and every leaf is a separate silhouette with its own phase and speed, so the whole ceiling breathes. The view is deepest at the edges where near leaves go almost black and brightest at the opening where backlit leaves wash out toward the sun. The floor is only a sliver at the bottom, holding a few slow dapples of light. A tiny monospace tag, a visual birdsong indicator with four animated bars, and a light meter sit at the corners, deliberately quiet so the green does the talking. TECHNIQUES: Layered leaf clusters with per-leaf rotation phase and depth-sorted painter's ordering; pre-rendered additive light-shaft sprites cross-faded between morning and dusk palettes; radial-gradient dapple sprites on the floor; additive pollen particle sprites; spring physics for pointer parting and click ripples; sticky-scroll parallax tilt applied as a transform on the scene wrapper; DPR-aware canvas sizing with setTransform; dirty-gated rAF driven by an active/needsRender flag. INTERACTION: Moving the pointer parts the leaves around the cursor with a critically damped spring (they drift aside and swing back). Clicking anywhere sends an expanding ripple ring through the canopy that shoves leaves outward as it passes. Scrolling the 240dvh page tilts the whole view up to about ±3.4 degrees and scales it slightly to hide the edges. The mouse wheel steps the light between morning and dusk, cross-fading the sky gradient, the shaft sprites, the floor dapples and the leaf tint while the monospace readout switches MORNING / MIDDAY / DUSK. With prefers-reduced-motion the scene renders one calm frame and only moves in response to pointer input.