body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{font-family:Segoe UI,sans-serif;margin:0;overflow:hidden}.app{align-items:center;animation:aurora 18s ease infinite;background:linear-gradient(120deg,#ff9a9e,#fad0c4,#fbc2eb,#a18cd1,#fad0c4);background-size:400% 400%;color:#fff;display:flex;height:100vh;justify-content:center;position:relative}@keyframes aurora{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.stars{animation:starsMove 40s linear infinite;background-image:radial-gradient(#fff 1px,#0000 0),radial-gradient(#ffd6f6 1px,#0000 0);background-size:60px 60px,120px 120px;height:100%;opacity:.4;position:absolute;width:100%}@keyframes starsMove{0%{transform:translateY(0)}to{transform:translateY(-400px)}}.sparkles{height:100%;pointer-events:none;position:absolute;width:100%}.sparkles:after,.sparkles:before{animation:twinkle 4s infinite alternate;background:#fff;box-shadow:200px 300px #fff,500px 200px #fff,800px 500px pink,1200px 300px #fff,900px 600px pink;content:"";height:3px;position:absolute;width:3px}@keyframes twinkle{0%{opacity:.3;transform:scale(1)}to{opacity:1;transform:scale(1.8)}}.flowers,.flowers1{height:100%;pointer-events:none;position:absolute;width:50%}.flowers{left:0}.flowers1{right:0}.flowers span,.flowers1 span{animation:flowerFall linear infinite;font-size:28px;position:absolute}@keyframes flowerFall{0%{opacity:1;transform:translateY(-10vh) rotate(0deg)}to{opacity:.7;transform:translateY(110vh) rotate(1turn)}}.lock{text-align:center;z-index:2}.title{-webkit-text-fill-color:#0000;animation:shine 6s linear infinite;background:linear-gradient(90deg,#fff,#ffd6f6,#fff);-webkit-background-clip:text;background-size:200%;font-size:48px;letter-spacing:2px;margin-bottom:25px}@keyframes shine{0%{background-position:0}to{background-position:200%}}.dots span{font-size:34px;margin:12px;transition:all .3s}.dots span:not(:empty){text-shadow:0 0 10px pink,0 0 20px hotpink,0 0 30px #ff1493}.pad{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,85px);justify-content:center;margin-top:30px}.pad button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:50%;box-shadow:inset 0 0 15px #fff6,0 10px 30px #0000004d;color:#fff;cursor:pointer;font-size:24px;font-weight:700;height:85px;position:relative;transition:all .25s ease;width:85px}.pad button:hover{background:#ffffff40;box-shadow:0 0 15px pink,0 0 35px hotpink,0 10px 40px #0006;transform:scale(1.12)}.pad button:active{box-shadow:inset 0 5px 20px #00000080;transform:scale(.92)}.pad button:after{background:#fff6;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:0}.pad button:active:after{animation:ripple .6s ease;height:120px;opacity:0;width:120px}@keyframes ripple{0%{opacity:.6;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.scene{z-index:2}.envelope,.scene{position:relative}.envelope{animation:float 3s ease-in-out infinite;cursor:pointer;filter:drop-shadow(0 15px 25px rgba(0,0,0,.3));height:160px;width:260px}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-18px)}to{transform:translateY(0)}}.body{background:linear-gradient(135deg,#ff6b81,#ff8fa3);border-radius:10px;box-shadow:0 10px 40px #ff649680}.body,.flap{height:100%;width:100%}.flap{background:linear-gradient(135deg,#ff8fa3,#ffc2d1);-webkit-clip-path:polygon(0 0,100% 0,50% 60%);clip-path:polygon(0 0,100% 0,50% 60%);position:absolute}.letter{animation:letterAppear 1s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border-radius:25px;box-shadow:0 30px 80px #0000004d,0 0 40px #ff78a066;color:#444;padding:40px;text-align:center;width:420px}@keyframes letterAppear{0%{opacity:0;transform:scale(.6) translateY(50px)}to{opacity:1;transform:scale(1) translateY(0)}}.letter h2{color:#ff5c8a;text-shadow:0 0 10px pink,0 0 20px #ff78a099}.heart{filter:drop-shadow(0 0 10px pink);font-size:26px;left:50%;position:absolute;top:50%}.orbit-container{align-items:center;display:flex;height:500px;justify-content:center;pointer-events:none;position:absolute;width:500px}.orbit{animation:rotateOrbit 25s linear infinite;height:100%;position:relative;width:100%}@keyframes rotateOrbit{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.orbit-photo{border:3px solid #fff;border-radius:50%;box-shadow:0 0 15px pink,0 0 40px #ff78a099;height:90px;object-fit:cover;position:absolute;width:90px}.p1{top:0}.p1,.p2{left:50%;transform:translateX(-50%)}.p2{bottom:0}.p3{left:0}.p3,.p4{top:50%;transform:translateY(-50%)}.p4{right:0}.p5{right:80px;top:50px}.photo-columns{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;height:100%;overflow:hidden;pointer-events:none;position:absolute;width:100%}.photo-track{align-items:center;animation:scrollPhotos linear infinite;display:flex;flex-direction:column}.speed1{animation-duration:25s}.speed2{animation-duration:32s}.speed3{animation-duration:20s}.scroll-photo{border-radius:18px;box-shadow:0 10px 30px #0006,0 0 25px pink,0 0 40px #ff78a099;height:160px;margin:20px;object-fit:cover;transform:rotate(-5deg);width:120px}@keyframes scrollPhotos{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (max-width:1024px){.title{font-size:40px}.pad{gap:14px;grid-template-columns:repeat(3,70px)}.pad button{font-size:20px;height:70px;width:70px}.letter{padding:30px;width:360px}.photo-columns{grid-template-columns:repeat(4,1fr)}.scroll-photo{height:140px;width:100px}}@media (max-width:768px){.title{font-size:32px}.dots span{font-size:26px;margin:8px}.pad{gap:12px;grid-template-columns:repeat(3,60px)}.pad button{font-size:18px;height:60px;width:60px}.envelope{height:130px;width:200px}.letter{border-radius:20px;padding:25px;width:85vw}.letter h2{font-size:22px}.photo-columns{grid-template-columns:repeat(3,1fr)}.scroll-photo{height:110px;margin:12px;width:80px}}@media (max-width:480px){.title{font-size:26px}.pad{gap:10px;grid-template-columns:repeat(3,55px)}.pad button{font-size:16px;height:55px;width:55px}.letter{padding:20px;width:90vw}.letter h2{font-size:20px}.photo-columns{grid-template-columns:repeat(2,1fr)}.scroll-photo{height:95px;margin:10px;width:70px}}
/*# sourceMappingURL=main.cc0d57b3.css.map*/