.lens-flare-background{pointer-events:none;z-index:-1;animation:20s ease-in-out infinite alternate backgroundDrift;position:fixed;inset:0;overflow:hidden}.lens-center{aspect-ratio:1;filter:blur(4px);background:radial-gradient(circle closest-side,#fff 0% 15%,#b3b3b3b3 30%,#8080804d 55%,#1a1a1a0d 75%,#0000 99%);border-radius:50%;width:40%;animation:8s ease-in-out infinite alternate subtlePulse;position:absolute;top:20%;left:55%}.circle-1,.circle-2{filter:blur(5px);border-radius:50%;position:absolute;top:20%;left:55%;transform:translate(-50%,-50%)}.circle-1{background:radial-gradient(circle closest-side,#0000 50%,#b3b3b366 90%,#0000 100%);width:80%;height:80%;animation:12s ease-in-out infinite alternate circleFade,18s ease-in-out infinite circleFloat}.circle-2{background:radial-gradient(circle closest-side,#0000 50%,#b3b3b333 90%,#0000 100%);width:120%;height:120%;animation:15s ease-in-out infinite alternate circleFade,25s ease-in-out infinite reverse circleFloat}.horizontal-flare{filter:blur(3px);background:linear-gradient(90deg,#0000,#ffffff80,#0000);height:2px;animation:10s ease-in-out infinite shimmer;position:absolute;top:20%;left:55%}.left-flare{width:40%;transform:translate(-100%)}.right-flare{width:40%}.full-flare{opacity:.3;width:100%}.conic-1,.conic-2,.conic-3{transform-origin:50%;pointer-events:none;opacity:.25;filter:blur(40px);background:conic-gradient(at 0 100%,#0000 0deg,#ffd96699 20deg,#0000 40deg);width:200%;height:200%;animation:25s linear infinite rotateFlare;position:absolute;bottom:0;left:0}.conic-2{opacity:.4;filter:blur(40px);background:conic-gradient(from 90deg at 0 100%,#0000 0deg,#f736 25deg,#0000 50deg);animation-duration:40s}.conic-3{opacity:.3;filter:blur(50px);background:conic-gradient(from 180deg at 0 100%,#0000 0deg,#ff66664d 15deg,#0000 35deg);animation-duration:60s}@keyframes subtlePulse{0%{opacity:.3;transform:scale(1)}to{opacity:1;transform:scale(1.3)}}@keyframes rotateFlare{to{transform:rotate(360deg)}}@keyframes backgroundDrift{0%{transform:translate(0)}to{transform:translate(50px,-50px)}}@keyframes shimmer{0%,to{opacity:.1}50%{opacity:.6}}@keyframes circleFade{0%,to{opacity:.25}50%{opacity:.5}}@keyframes circleFloat{0%{transform:translate(-50%,-50%)translate(0)}50%{transform:translate(-50%,-50%)translate(30px,-20px)}to{transform:translate(-50%,-50%)translate(-20px,25px)}}
.rain-background{pointer-events:none;z-index:-1;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.ripple{border:1px solid var(--ripple-color,#00000080);pointer-events:none;width:var(--ripple-size,200px);height:var(--ripple-size,200px);animation:rippleExpand var(--ripple-duration,2.5s)ease-out forwards;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}@keyframes rippleExpand{0%{opacity:1;width:0;height:0}to{width:var(--ripple-size,200px);height:var(--ripple-size,200px);opacity:0}}
.sun-background{pointer-events:none;z-index:-1;background:#fff7e6;position:fixed;inset:0;overflow:hidden}.sun-core{filter:blur(20px);background:radial-gradient(circle,#fff 0%,#ffffffe6 30%,#e6e6e699 60%,#ccc3 85%,#0000 100%);border-radius:50%;width:200px;height:200px;animation:10s ease-in-out infinite alternate sunPulse;position:absolute;top:5%;right:5%}.sun-halo{filter:blur(60px);pointer-events:none;background:radial-gradient(circle,#fff9 0%,#e6e6e64d 60%,#0000 100%);border-radius:50%;width:400px;height:400px;position:absolute;top:5%;right:5%}.flare-horizontal{filter:blur(2px);background:linear-gradient(90deg,#0000,#ffffff80,#0000);width:100%;height:2px;animation:12s ease-in-out infinite shimmer;position:absolute;top:10%;right:5%}.flare-circle-1,.flare-circle-2{filter:blur(4px);background:radial-gradient(circle,#0000 40%,#ffffff40 70%,#0000 100%);border-radius:50%;animation:20s ease-in-out infinite circleFloat;position:absolute;top:15%;right:25%}.flare-circle-1{width:250px;height:250px}.flare-circle-2{opacity:.3;width:400px;height:400px;animation-duration:30s}@keyframes sunPulse{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.1)}}@keyframes shimmer{0%,to{opacity:.2}50%{opacity:.6}}@keyframes circleFloat{0%{transform:translate(0)}50%{transform:translate(-30px,20px)}to{transform:translate(20px,-25px)}}
