TITLE: Rain Alley — Neon Sector 07 PROMPT: Build a single self-contained HTML page: a full-bleed canvas cyberpunk alley at night in the rain, drawn in ordered passes every requestAnimationFrame. Pass 1 sky: vertical gradient #06070d to a violet horizon haze, filled oversize so a decaying screen shake never reveals an edge. Pass 2 architecture: two bilinear-quad building walls (left corners 0,0 / W*0.36,0 / W*0.44,H*0.60 / 0,H*0.86; right mirrored) filled near-black with a seeded LCG PRNG generating grids of unlit and amber/cyan-lit window rectangles scaled by depth. Pass 3 asphalt: floor polygon between the wall bases filled with a #06070d-to-#0d0f18 gradient. Pass 4 neon: seven abstract glowing signage bars (magenta #ff2d78, cyan #00e5ff, amber #ffb020, violet #7c4dff) with per-sign flicker phases and additive radial halos, plus a far-end streetlight glow. Pass 5 reflection: for each sign a vertically mirrored, 7-strip wave-distorted copy on the floor (strip offsets driven by sin(clock*2.2 + strip + phase)) plus a long additive gradient smear, all clipped to the floor polygon with 'lighter'. Pass 6 puddle ripples: expanding perspective-squashed ellipse rings. Pass 7 rain: ~900 batched line streaks in two depth layers, angle from a gusting wind field, one beginPath/stroke per layer. Pass 8 fog: four drifting additive radial gradients. Pass 9 flash: a decaying white-cyan overlay plus two jagged bolt polylines on lightning. Mono HUD readout top-right (rain %, wind, neon status) refreshed at 4 Hz, wide-tracked ultra-light title lower-left, CSS scanline and vignette overlays. Click fires lightning, screen shake and WebAudio thunder (brown noise through a 420 Hz lowpass with exponential decay); holding pours harder rain; the pointer carries a light that brightens nearby reflections. prefers-reduced-motion renders one still frame and disables shake and flashes. DESCRIPTION: A wet alley rendered entirely in canvas: black walls, rows of dim windows, and a handful of neon signs bleeding magenta, cyan and amber into the asphalt. Every sign has a wobbling mirror image and a long wet smear under it, rain falls in two depths and leans with the gusts, fog drifts across the middle distance, and a click cracks the sky open with a bolt, a shake and a low synthetic thunder roll. A small mono HUD in the corner reports the storm like a machine, and the title sits quiet and wide-tracked in the lower left. TECHNIQUES: multi-pass procedural canvas; bilinear quad wall geometry; seeded LCG for a stable window layout; additive 'lighter' compositing for neon, fog and reflections; vertically mirrored strip-sliced reflection with sine wave distortion; perspective-squashed puddle ripple rings; batched rain stroke paths (two depth layers); gusting wind field; flicker phases per sign; decaying screen-shake transform; jagged lightning polylines; WebAudio brown-noise thunder with biquad lowpass; pointer light with squared distance falloff; throttled HUD DOM updates; DPR-aware canvas with setTransform and resize rebuild; prefers-reduced-motion still frame. INTERACTION: Moving the pointer carries a soft light that lifts the brightness of reflections and rain near the cursor. Clicking the alley triggers a lightning bolt, a decaying screen shake and a synthesised thunder roll (audio is created on the gesture, so no autoplay warnings). Holding the pointer down pours harder, faster, more opaque rain until release. The corner HUD updates rain intensity, wind speed and neon status four times a second. With prefers-reduced-motion the scene renders as a single composed still and lightning, shake and thunder are suppressed.