@import"https://fonts.googleapis.com/css2?family=Dancing+Script:wght@500&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{background-color:#030308}body{overflow:hidden;background-color:#030308;background-image:radial-gradient(ellipse at 20% 20%,rgba(25,10,40,.8) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(15,5,30,.6) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(10,5,25,.4) 0%,transparent 70%),linear-gradient(to bottom,#030308,#0a0510,#050308);position:relative}#webgl-canvas{display:block;width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:1}.stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle 3s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background-image:radial-gradient(circle at 15% 25%,rgba(80,40,120,.15) 0%,transparent 40%),radial-gradient(circle at 85% 75%,rgba(60,20,100,.1) 0%,transparent 35%),radial-gradient(circle at 50% 10%,rgba(100,50,150,.08) 0%,transparent 30%)}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.85) 100%)}.love-message{position:fixed;top:12%;left:50%;transform:translate(-50%);z-index:2;font-family:Dancing Script,cursive;font-size:clamp(1.2rem,3vw,2rem);color:#ffc8dce6;text-shadow:0 0 10px rgba(255,150,180,.5),0 0 20px rgba(255,100,150,.3);white-space:nowrap;overflow:hidden;letter-spacing:2px}.love-message span{display:inline-block;opacity:0;animation:fadeInLetter .5s ease forwards}@keyframes fadeInLetter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.floating-photos{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.floating-photo{position:absolute;width:200px;height:200px;object-fit:cover;border-radius:15px;opacity:.5;box-shadow:0 8px 32px #0000004d;animation:float 4s ease-in-out infinite}.photo-1{top:15%;left:15%;transform:rotate3d(1,.5,0,35deg);animation-delay:0s}.photo-2{top:15%;right:15%;transform:rotate3d(-1,.5,0,-30deg);animation-delay:1s}.photo-3{bottom:15%;left:15%;transform:rotate3d(.5,-1,0,28deg);animation-delay:2s}.photo-4{bottom:15%;right:15%;transform:rotate3d(-.5,1,0,-38deg);animation-delay:3s}@keyframes float{0%,to{transform:translateY(0) rotate3d(1,.5,0,15deg)}50%{transform:translateY(-20px) rotate3d(1,.5,0,15deg)}}.photo-1{animation-name:float1}.photo-2{animation-name:float2}.photo-3{animation-name:float3}.photo-4{animation-name:float4}@keyframes float1{0%,to{transform:translateY(0) rotate3d(1,.5,0,35deg)}50%{transform:translateY(-20px) rotate3d(1,.5,0,35deg)}}@keyframes float2{0%,to{transform:translateY(0) rotate3d(-1,.5,0,-30deg)}50%{transform:translateY(-20px) rotate3d(-1,.5,0,-30deg)}}@keyframes float3{0%,to{transform:translateY(0) rotate3d(.5,-1,0,28deg)}50%{transform:translateY(-20px) rotate3d(.5,-1,0,28deg)}}@keyframes float4{0%,to{transform:translateY(0) rotate3d(-.5,1,0,-38deg)}50%{transform:translateY(-20px) rotate3d(-.5,1,0,-38deg)}}@media(max-width:768px){.floating-photo{width:120px;height:120px;opacity:.25}}
