void mainImage(out vec4 fragColor, in vec2 fragCoord) { vec2 uv = fragCoord / iResolution.xy; float wave = 0.5 + 0.5 * sin(iTime + uv.x * 6.2831853); vec3 deep = vec3(0.015, 0.025, 0.07); vec3 light = vec3(0.08, 0.65, 0.78); vec3 color = mix(deep, light, wave * (0.35 + 0.65 * uv.y)); float glow = exp(-8.0 * dot(uv - 0.5, uv - 0.5)); color += vec3(0.25, 0.08, 0.35) * glow; fragColor = vec4(color, 1.0); }