` element. * *CSS:* Reset margins, overflow hidden, black background. * *JS:* * Setup Canvas. * Particle Class: Position, velocity, size, "life" (opacity). * Animation Loop: * Clear with a semi-transparent black to create trails. * Update/Draw particles. * Glitch effect: Occasionally draw rectangles with offset colors. * Mouse interaction: Particles move away from the cursor or attract weakly. * Add "ghost code": Randomly print characters in the background. * Instead of simple circles, use small squares (pixels). * The color palette: `#00ffff` (cyan), `#ff00ff` (magenta), `#ffffff` (white), but very desaturated and dark. * The "Melancholy" aspect: The particles shouldn't just move; they should feel like they are *dissolving*. * *HTML:* `` * *CSS:* `body { margin: 0; overflow: hidden; background: #020205; }` * *JS Logic:* * `particles` array. * `draw()` loop. * `glitch()` function: `ctx.drawImage` with offsets. * `fragment()` function: Drawing random tiny lines/dots. * Only code for `body`. * No intro. *(Self-Correction during coding)*: Make sure the "melancholy" isn't just static. It needs to be a slow, drifting motion, like dust in a digital void. *Refining the "Digital Melancholy" visual:* - Use `globalCompositeOperation = 'lighter'` or `'screen'` for the particles to make them feel like light. - Use `globalAlpha` to fade them out. - Implement a "fragmentation" effect where the canvas itself slightly shifts. *Final structure:* `` `