html,body{margin:0;padding:0;height:100%;overflow:hidden;font-family:Damion,cursive;background:linear-gradient(135deg,#ffeef8,#ffe0e9);color:#333}#root{width:100%;height:100%;margin:0;padding:0;text-align:center;font-family:Damion,cursive;box-sizing:border-box;overflow:hidden}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100vh;position:relative;overflow:hidden;box-sizing:border-box;opacity:0;transform:scale(.95);border:#e0435f thick solid;background-color:#ffb6c1}.container.fade-in{animation:fadeInContent 1s ease-out forwards}@keyframes fadeInContent{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.hearts-background{position:fixed;top:0;left:-50px;width:150%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.heart{position:absolute;bottom:-50px;font-size:9rem;animation:floatUp infinite ease-in;opacity:0;-webkit-user-select:none;user-select:none}.heart:nth-child(odd){color:#ff69b4;text-shadow:0 0 15px #ff69b4,0 0 25px #ff1493}.heart:nth-child(2n){color:#fff;text-shadow:0 0 15px #fff,0 0 25px #ffb6c1}.heart:nth-child(3n){font-size:5rem}.heart:nth-child(3n+1){font-size:7rem}.heart:nth-child(3n+2){font-size:9rem}@keyframes floatUp{0%{bottom:-50px;opacity:0;transform:translate(0) scale(.5) rotate(0)}10%{opacity:1}25%{transform:translate(-20px) scale(.8) rotate(90deg)}50%{transform:translate(20px) scale(1) rotate(180deg)}75%{transform:translate(-10px) scale(1.1) rotate(270deg)}90%{opacity:1}to{bottom:110vh;opacity:0;transform:translate(10px) scale(.7) rotate(360deg)}}.val-title{font-size:3rem;color:#ff4d6d;margin-bottom:1rem;position:relative;z-index:1;-webkit-user-select:none;user-select:none;white-space:pre-line;padding:0 1rem}.mickey-container{position:relative;width:350px;height:350px;max-width:90vw;max-height:40vh;z-index:1;display:flex;align-items:center;justify-content:center}.mickey-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;object-fit:cover;transition:opacity 1.5s ease-in-out;filter:drop-shadow(0 5px 10px rgba(0,0,0,.2));z-index:1}.mickey-img.show{opacity:1}.mickey-img.hide{opacity:0;pointer-events:none}.mickey-img.heart-shape{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;filter:drop-shadow(0 10px 20px rgba(255,77,109,.5));transform:translate(-50%,-50%) scale(1.1);transition:opacity 1.5s ease-in-out,filter 1.5s ease-in-out,transform 1.5s ease-in-out}.btn-container{padding:1rem;margin:0 auto;display:flex;justify-content:center;align-content:center;gap:2rem;position:relative;z-index:1}.yes-btn{background-color:#ff4d6d;color:#fff;border:none;padding:1rem 2rem;font-size:1.5rem;border-radius:8px;cursor:pointer;transition:background-color .3s ease;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center;width:120px;min-width:120px}.yes-btn:hover{background-color:#e0435f}.no-btn{background-color:#ccc;color:#333;border:none;padding:1rem 2rem;font-size:1.5rem;border-radius:8px;cursor:pointer;transition:background-color .3s ease,width .3s ease;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center;min-width:120px;width:auto;white-space:nowrap}.no-btn:hover{background-color:#b3b3b3;-webkit-user-select:none;user-select:none}@media(max-width:450px){.mickey-container{width:280px;height:280px}.val-title{font-size:2rem}.btn-container{flex-direction:column;gap:1rem;align-items:center}.hearts-background{left:-30px;width:115%}}.heart-glow-wrapper{position:relative;width:100%;height:100%}.heart-glow-wrapper.active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1.5);width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(255,20,147,.6) 30%,rgba(255,105,180,.3) 60%,transparent 80%);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;filter:blur(35px);z-index:0;pointer-events:none;opacity:.6;animation:glowPulse 1s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1.2);filter:blur(15px)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.25);filter:blur(40px)}}.letter-container{display:flex;justify-content:center;align-items:center;height:100%;width:100%;background:linear-gradient(135deg,#ffeef8,#ffe0e9);cursor:pointer;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-in{animation:fadeIn 1s ease-in-out forwards}.fade-out{animation:fadeOut 1s ease-in-out forwards}.envelope{position:relative;width:400px;height:220px;perspective:1000px;z-index:0}.envelope:hover{transform:scale(1.05);transition:transform .3s ease}.body{position:absolute;bottom:8px;left:0;width:100%;height:100%;background:#ff69b4;border-radius:0 0 10px 10px;z-index:0;box-shadow:0 10px 30px #0003}.flap{position:absolute;top:0;left:0;width:0;height:0;border-style:solid;border-width:100px 190px 0 210px;border-color:#ff4d8f transparent transparent transparent;transform-origin:top center;z-index:2;animation:flapWave 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}@keyframes flapWave{0%,to{transform:translateY(0) rotateX(0)}50%{transform:translateY(-8px) rotateX(-15deg)}}.letter-paper{position:absolute;bottom:40px;left:50%;transform:translate(-50%);width:280px;height:160px;background:linear-gradient(to bottom,#fff,#fffbf8);border-radius:8px;box-shadow:0 8px 16px #00000026;z-index:0;animation:paperPeek 3s ease-in-out infinite;border:1px solid #f0f0f0}@keyframes paperPeek{0%,to{bottom:40px}50%{bottom:60px}}.letter-content{display:flex;flex-direction:column;justify-content:center;align-items:center;height:90%;font-family:Damion,cursive;padding:20px;text-align:center;z-index:0}.letter-content p:first-child{font-size:2rem;margin-top:10rem;animation:heartBeat 1.5s ease-in-out infinite;color:#ff4d8f;z-index:100}.letter-content p:last-child{margin:35px 0 0;font-size:1.4rem;font-weight:500;letter-spacing:1px;color:#ff4d8f;text-shadow:0 2px 4px rgba(255,77,109,.1);z-index:100;padding-top:20px;animation:heartBeat 1.5s ease-in-out infinite}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media(max-width:450px){.envelope{width:300px;height:165px}.flap{border-width:75px 142.5px 0 157.5px}.letter-paper{width:210px;height:120px;top:10px}.letter-content p:first-child{font-size:1.5rem;margin-top:7rem}.letter-content p:last-child{font-size:1.5rem;margin-top:25px}}@media(max-width:320px){.envelope{width:250px;height:137.5px}.flap{border-width:62.5px 118.75px 0 131.25px}.letter-paper{width:175px;height:100px;top:10px}.letter-content p:first-child{font-size:1.2rem;margin-top:5rem}.letter-content p:last-child{font-size:1.2rem;margin-top:20px}}
