Танцующие квадраты

Программа создаёт сетку из пульсирующих квадратов, которая автоматически подстраивается под размер окна браузера.
Квадраты ритмично сжимаются и расширяются по синусоидальному закону, создавая волну движения слева направо.
Цвет квадратов плавно меняется по градиенту из шести оттенков фиолетового от ярко-розового до чёрного.
Все квадраты в одном вертикальном столбце двигаются синхронно, образуя гармоничные вертикальные линии.
Анимация обновляется 60 раз в секунду, обеспечивая плавное непрерывное движение.
Клик по экрану мгновенно сдвигает фазу волны, создавая визуальный "толчок" в анимации.
Размер квадратов адаптируется к размеру экрана - на больших экранах квадраты крупнее, на маленьких - мельче.
Квадраты имеют полупрозрачную заливку и белую обводку, что создаёт эффект свечения.
Программа использует тригонометрические функции (синус и модульную арифметику) для расчёта положения, размера и цвета каждого квадрата.