#version 330 core

// Post-fx node: vignette + a subtle grade (framing pass, not beat-reactive).
in vec2 ex_Uv;
out vec4 fragColor;

uniform sampler2D iChannel0;

void main() {
	vec3 c = texture(iChannel0, ex_Uv).rgb;
	float v = smoothstep(0.9, 0.35, length(ex_Uv - 0.5));
	c *= mix(0.4, 1.0, v);
	c = pow(max(c, 0.0), vec3(0.95)); // slight lift
	fragColor = vec4(c, 1.0);
}
