D3 v7 starter for Episode 5
A live animation renders fifteen bouncing circles across a tomato-red background. Each circle’s position, size, color, and opacity update every 100 milliseconds based on a sine wave and a time counter. The code uses D3 v7’s `select`, `range`, and data-join via `join('circle')` to bind and update SVG elements. It sets attributes directly, including `cx`, `cy`, `r`, `fill`, and a white stroke, with all values derived from the iterative time variable `t`.