<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Color Therapy Enhanced</title>
<style>body,html{margin:0;padding:0;height:100%;overflow:hidden;font-family:Arial,sans-serif}#message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;text-align:center;z-index:2;white-space:nowrap;animation:breathe 5s ease-in-out infinite,glow 2s ease-in-out infinite}@keyframes breathe{0%,100%{transform:scale(1) translate(-50%,-50%)}50%{transform:scale(1.1) translate(-50%,-50%)}}@keyframes glow{0%,100%{text-shadow:0 0 10px rgba(255,255,255,.5)}50%{text-shadow:0 0 20px #fff}}.popup{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,.8);color:#fff;padding:20px;border-radius:10px;text-align:center;z-index:1000}.popup button{margin:10px;padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer}.popup button:hover{background-color:#45a049}</style>
</head>
<body>
<div id="message"></div>
<div class="popup" id="exitPopup">
<p>Are you sure you want to exit?</p>
<button id="confirmExit">Yes</button>
<button id="cancelExit">No</button>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
<script>const q=b;(function(c,d){const p=b,e=c();while(!![]){try{const f=parseInt(p(0x17d))/0x1+parseInt(p(0x166))/0x2+-parseInt(p(0x162))/0x3+-parseInt(p(0x173))/0x4*(parseInt(p(0x159))/0x5)+-parseInt(p(0x193))/0x6+parseInt(p(0x182))/0x7+-parseInt(p(0x187))/0x8;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xd7afe));const scene=new THREE[(q(0x163))](),camera=new THREE['PerspectiveCamera'](0x4b,window[q(0x153)]/window['innerHeight'],0.1,0x3e8),renderer=new THREE['WebGLRenderer']({'antialias':!![]});function b(c,d){const e=a();return b=function(f,g){f=f-0x150;let h=e[f];return h;},b(c,d);}renderer['setSize'](window[q(0x153)],window[q(0x176)]),document['body'][q(0x15f)](renderer[q(0x195)]);const backgroundColors=[q(0x190),q(0x18c),q(0x184),q(0x188),q(0x174)];let backgroundColorIndex=0x0;const messages=[q(0x194),q(0x16d),q(0x189),'Feel\x20the\x20energy\x20flow\x20through\x20you...'];function a(){const B=['#4f412c','render','none','2207724ucVZrv','Find\x20inner\x20peace\x20and\x20harmony...','domElement','Float32BufferAttribute','MathUtils','AdditiveBlending','innerWidth','addEventListener','color','exitPopup','MeshBasicMaterial','resize','248645wJFBll','geometry','click','copy','style','shift','appendChild','close','remove','3431214GgyUEi','Scene','SphereGeometry','velocity','253542hgfmjY','push','Points','keydown','cancelExit','rotation','Vector3','Let\x20go\x20of\x20all\x20worries\x20and\x20stress...','Color','randFloatSpread','target','array','createElement','60dTjmuz','#574e42','innerHTML','innerHeight','classList','opacity','display','random','position','Mesh','1668473SUvUXv','message','getElementById','block','abs','10701817WNLoMz','add','#101347','needsUpdate','material','1463952GFDpQz','#a05bcf','Embrace\x20the\x20calm\x20and\x20tranquility...','sin','setSize','#9da85e','attributes','aspect','setHSL'];a=function(){return B;};return a();}let messageIndex=0x0;const geometry=new THREE['BufferGeometry'](),vertices=[],colors=[];for(let i=0x0;i<0x2710;i++){vertices['push'](THREE[q(0x151)][q(0x16f)](0x7d0),THREE['MathUtils']['randFloatSpread'](0x7d0),THREE['MathUtils']['randFloatSpread'](0x7d0)),colors[q(0x167)](Math[q(0x17a)](),Math['random'](),Math[q(0x17a)]());}geometry['setAttribute']('position',new THREE['Float32BufferAttribute'](vertices,0x3)),geometry['setAttribute'](q(0x155),new THREE[(q(0x150))](colors,0x3));const particleMaterial=new THREE['PointsMaterial']({'size':0x2,'vertexColors':!![],'blending':THREE[q(0x152)],'transparent':!![]}),particles=new THREE[(q(0x168))](geometry,particleMaterial);scene[q(0x183)](particles);const ships=[],shipTrails=[],maxTrailLength=0x32;for(let i=0x0;i<0xa;i++){const shipGeometry=new THREE['IcosahedronGeometry'](0x14,0x0),shipMaterial=new THREE[(q(0x157))]({'color':new THREE[(q(0x16e))]()[q(0x18f)](Math[q(0x17a)](),0x1,0.5),'wireframe':!![]}),ship=new THREE['Mesh'](shipGeometry,shipMaterial);ship['position']['set'](THREE['MathUtils']['randFloatSpread'](0x3e8),THREE['MathUtils']['randFloatSpread'](0x3e8),THREE[q(0x151)][q(0x16f)](0x3e8)),ship['velocity']=new THREE[(q(0x16c))](Math[q(0x17a)]()*0x2-0x1,Math[q(0x17a)]()*0x2-0x1,Math[q(0x17a)]()*0x2-0x1)['normalize']()['multiplyScalar'](0x2),ships[q(0x167)](ship),shipTrails[q(0x167)]([]),scene[q(0x183)](ship);}function createTrailPoint(c,d){const r=q,e=new THREE[(r(0x164))](0x2,0x8,0x8),f=new THREE[(r(0x157))]({'color':d,'transparent':!![],'opacity':0.8}),g=new THREE[(r(0x17c))](e,f);return g['position'][r(0x15c)](c),g;}let isPopupVisible=![];document[q(0x154)](q(0x169),showExitPopup),document['addEventListener'](q(0x15b),c=>{const s=q;if(!isPopupVisible||(c[s(0x170)]['id']==='cancelExit'||c['target']['id']==='confirmExit')){if(c['target']['id']===s(0x16a))hideExitPopup();else{if(c[s(0x170)]['id']==='confirmExit')window[s(0x160)]();else!isPopupVisible&&showExitPopup();}}});function showExitPopup(){const t=q;!isPopupVisible&&(isPopupVisible=!![],document['getElementById']('exitPopup')[t(0x15d)][t(0x179)]=t(0x180));}function hideExitPopup(){const u=q;isPopupVisible=![],document[u(0x17f)](u(0x156))[u(0x15d)]['display']=u(0x192);}camera[q(0x17b)]['z']=0x3e8;let time=0x0;function animate(){const v=q;requestAnimationFrame(animate),time+=0.01;const c=geometry[v(0x18d)][v(0x17b)][v(0x171)],d=geometry['attributes']['color']['array'];for(let e=0x0;e<c['length'];e+=0x3){const f=c[e],g=c[e+0x1],h=c[e+0x2];c[e+0x1]=g+Math['sin'](time+f*0.01)*0.5,d[e]=Math[v(0x18a)](time+f*0.01)*0.5+0.5,d[e+0x1]=Math['cos'](time+g*0.01)*0.5+0.5,d[e+0x2]=Math['sin'](time+h*0.01)*0.5+0.5;}geometry[v(0x18d)]['position'][v(0x185)]=!![],geometry['attributes'][v(0x155)]['needsUpdate']=!![],ships['forEach']((j,k)=>{const x=v;j['position']['add'](j['velocity']),j['rotation']['x']+=0.01,j['rotation']['y']+=0.01,['x','y','z']['forEach'](m=>{const w=b;Math[w(0x181)](j[w(0x17b)][m])>0x3e8&&(j[w(0x165)][m]*=-0x1);});const l=createTrailPoint(j['position']['clone'](),new THREE['Color']()['setHSL']((time+k*0.1)%0x1,0x1,0.5));shipTrails[k][x(0x167)](l),scene['add'](l);if(shipTrails[k]['length']>maxTrailLength){const m=shipTrails[k][x(0x15e)]();scene[x(0x161)](m),m[x(0x15a)]['dispose'](),m['material']['dispose']();}shipTrails[k]['forEach']((n,o)=>{const y=x;n[y(0x186)][y(0x178)]=o/maxTrailLength;});}),particles[v(0x16b)]['x']+=0.0003,particles[v(0x16b)]['y']+=0.0005,renderer[v(0x191)](scene,camera);}window[q(0x154)](q(0x158),()=>{const z=q;camera[z(0x18e)]=window['innerWidth']/window['innerHeight'],camera['updateProjectionMatrix'](),renderer[z(0x18b)](window[z(0x153)],window['innerHeight']);}),animate();async function changeMessage(){const A=q,c=document['getElementById'](A(0x17e)),d=messages[messageIndex];messageIndex=(messageIndex+0x1)%messages['length'],c[A(0x175)]='',c[A(0x15d)]['color']='hsl('+Math['random']()*0x168+',\x20100%,\x2070%)';for(let e=0x0;e<d['length'];e++){const f=document[A(0x172)]('span');f[A(0x177)]['add']('char'),f['innerText']=d[e]==='\x20'?'\u00a0':d[e],c[A(0x15f)](f),await new Promise(g=>setTimeout(g,0x46));}}changeMessage(),setInterval(changeMessage,0x2710);</script>
</body>
</html>
