@@ -159,12 +159,12 @@ void main() {
159159 float mouseDistance = length(mouseOffset);
160160
161161 // Dynamic color palette that shifts based on deformation and mouse
162- vec3 color1 = mix(vec3(0.1 , 0.9 , 0.4 ), vec3(0.9, 0.1, 0.2), u_rage); // Green to red
163- vec3 color2 = mix(vec3(0.0 , 0.7 , 0.5 ), vec3(0.7, 0.0, 0.1), u_rage); // Teal to dark red
164- vec3 color3 = mix(vec3(0.3, 1.0 , 0.3 ), vec3(1.0, 0.3, 0.0), u_rage); // Electric green to orange-red
162+ vec3 color1 = mix(vec3(0.024 , 0.306 , 0.231 ), vec3(0.9, 0.1, 0.2), u_rage); // emerald-900 to red
163+ vec3 color2 = mix(vec3(0.024 , 0.18 , 0.133 ), vec3(0.7, 0.0, 0.1), u_rage); // emerald-950 to dark red
164+ vec3 color3 = mix(vec3(0.024, 0.373 , 0.275 ), vec3(1.0, 0.3, 0.0), u_rage); // emerald-800 to orange-red
165165
166- // Keyboard glow effect - more subtle cyan tint
167- vec3 glowColor = mix(vec3(0.3 , 0.9 , 0.8 ), vec3(1.0, 0.3, 0.3), u_rage);
166+ // Keyboard glow effect - emerald tint
167+ vec3 glowColor = mix(vec3(0.016 , 0.471 , 0.341 ), vec3(1.0, 0.3, 0.3), u_rage); // emerald-700
168168 float glowIntensity = u_glow * 0.25 * (1.0 + u_rage * 0.5);
169169
170170 // Pulse effect - very subtle white tint
@@ -176,8 +176,8 @@ void main() {
176176 vec3 baseColor = mix(color1, color2, sin(deformIntensity + u_time * 0.5) * 0.5 + 0.5);
177177 baseColor = mix(baseColor, color3, smoothstep(0.1, 0.3, abs(vNoise)));
178178
179- // Boost base color saturation
180- baseColor = baseColor * 1.2 ;
179+ // Subtle boost to maintain deep emerald richness
180+ baseColor = baseColor * 1.08 ;
181181
182182 // Mix in glow color based on keyboard activity - very subtle to preserve vibrancy
183183 baseColor = mix(baseColor, glowColor, glowIntensity * rimLight * 0.3);
@@ -187,38 +187,38 @@ void main() {
187187
188188 // Extra glow where stretched towards mouse
189189 float stretchGlow = smoothstep(0.3, 0.7, dot(normalize(vPosition), normalize(vec3(mouseOffset, 0.0))));
190- baseColor += mix(vec3(0.1 , 0.4 , 0.2 ), vec3(0.4, 0.1, 0.0), u_rage) * stretchGlow * 0.4;
190+ baseColor += mix(vec3(0.024 , 0.373 , 0.275 ), vec3(0.4, 0.1, 0.0), u_rage) * stretchGlow * 0.4; // emerald-800
191191
192192 // Holographic interference patterns enhanced by keyboard glow
193193 float interference = sin(vPosition.x * 15.0 + u_time) * sin(vPosition.y * 15.0 - u_time * 0.7);
194194 interference *= 0.1 * rimLight * (1.0 + u_glow * 1.5 + u_rage * 2.0);
195- baseColor += vec3(interference * 0.2 , interference * 0.5 , interference * 0.3 );
195+ baseColor += vec3(interference * 0.02 , interference * 0.3 , interference * 0.2 );
196196
197197 // Electric rim effect enhanced by mouse proximity and keyboard glow
198198 float electricRim = pow(rimLight, 0.5);
199- vec3 electricColor = mix(vec3(0.4, 1.0 , 0.6 ), vec3(1.0, 0.4, 0.2), u_rage);
199+ vec3 electricColor = mix(vec3(0.02, 0.588 , 0.412 ), vec3(1.0, 0.4, 0.2), u_rage); // emerald-600
200200 float electric = sin(atan(vPosition.y, vPosition.x) * 20.0 + u_time * 3.0) * electricRim;
201201 electric = smoothstep(0.6, 1.0, electric) * 0.3;
202202 electric *= 1.0 + (1.0 - mouseDistance) * 0.5 + u_glow * 0.5 + u_rage * 1.0;
203203
204204 // Core energy with color variation
205205 float centerDistance = length(vPosition) / 2.2;
206206 float coreGlow = smoothstep(1.0, 0.0, centerDistance) * 0.5;
207- vec3 coreColor = mix(vec3(0.5, 1.0 , 0.7 ), vec3(0.3 , 0.8, 1.0 ), sin(u_time * 1.5) * 0.5 + 0.5);
207+ vec3 coreColor = mix(vec3(0.016, 0.471 , 0.341 ), vec3(0.024 , 0.306, 0.231 ), sin(u_time * 1.5) * 0.5 + 0.5); // emerald-700 to emerald-900
208208 coreColor = mix(coreColor, vec3(1.0, 0.5, 0.3), u_rage);
209209 coreColor = mix(coreColor, glowColor, u_glow * 0.3);
210210
211211 // Combine all effects
212212 vec3 finalColor = baseColor;
213213 finalColor += electricColor * electric;
214214 finalColor += coreColor * coreGlow * (1.0 + u_pulse * 0.3);
215- finalColor += electricColor * electricRim * 0.6 ;
215+ finalColor += electricColor * electricRim * 0.25 ;
216216
217217 // Keyboard effect - flowing energy waves instead of dots
218218 float flowingEnergy = sin(vPosition.x * 10.0 - u_time * 5.0 + vPosition.y * 5.0) *
219219 cos(vPosition.y * 8.0 + u_time * 4.0 - vPosition.z * 3.0);
220220 flowingEnergy = smoothstep(0.7, 1.0, abs(flowingEnergy)) * u_glow;
221- vec3 energyColor = mix(vec3(0.2, 1.0 , 0.8 ), vec3(0.5 , 0.8, 1.0 ), sin(u_time * 2.0) * 0.5 + 0.5);
221+ vec3 energyColor = mix(vec3(0.02, 0.588 , 0.412 ), vec3(0.016 , 0.471, 0.341 ), sin(u_time * 2.0) * 0.5 + 0.5); // emerald-600 to emerald-700
222222 energyColor = mix(energyColor, vec3(1.0, 0.3, 0.2), u_rage);
223223 finalColor += energyColor * flowingEnergy * rimLight * 0.6;
224224
@@ -474,7 +474,7 @@ interface AnimatedGradientBackgroundProps {
474474
475475export function AnimatedGradientBackground ( { scale = 1 } : AnimatedGradientBackgroundProps ) {
476476 return (
477- < div className = "fixed inset-0 -z-10 opacity-40 " >
477+ < div className = "fixed inset-0 -z-10 opacity-50 " >
478478 < Canvas
479479 camera = { {
480480 position : [ 0 , 0 , 7 ] ,
0 commit comments