*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;min-height:100vh;line-height:1.6;overflow-x:hidden}#root{width:100%;min-height:100vh}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}::selection{color:#fff;background:#ff69b466}:root{--deep-red:#8b0a1a;--crimson:#c41e3a;--rose-pink:#e75480;--hot-pink:#ff6b8a;--blush-pink:#ffb6c1;--soft-pink:#ffd1dc;--cream:#fff8f0;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-snap-type:y mandatory;scroll-behavior:smooth}body{color:var(--white);-webkit-font-smoothing:antialiased;background:linear-gradient(#8b0a1a 0%,#a01525 10%,#c41e3a 25%,#d63060 40%,#e75480 55%,#ff6b8a 70%,#e75480 85%,#c41e3a 95%,#8b0a1a 100%) fixed;min-height:100vh;font-family:Poppins,sans-serif;overflow-x:hidden}.love-story{width:100%;min-height:100vh;transition:filter 1.2s cubic-bezier(.22,1,.36,1);position:relative}.floating-elements{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.floating-item{filter:drop-shadow(0 0 15px #ff69b499);will-change:transform, opacity;position:absolute;bottom:-60px}.floating-item.heart{animation:linear infinite floatUpHeart}.floating-item.kiss{animation:linear infinite floatUpKiss}@keyframes floatUpHeart{0%{opacity:0;transform:translate(0,0)rotate(0)scale(.8)}10%{opacity:var(--opacity,.4)}50%{transform:translateY(-50vh)rotate(180deg)scale(1)}90%{opacity:var(--opacity,.4)}to{opacity:0;transform:translateY(-110vh)rotate(360deg)scale(1.1)}}@keyframes floatUpKiss{0%{opacity:0;transform:translate(0,0)rotate(-10deg)scale(.8)}10%{opacity:var(--opacity,.5)}50%{transform:translate(50px,-50vh)rotate(10deg)scale(1)}90%{opacity:var(--opacity,.5)}to{opacity:0;transform:translate(80px,-110vh)rotate(20deg)scale(1.1)}}.particles{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0}.particle{will-change:transform, opacity;background:radial-gradient(circle,#ffb6c1e6,#0000);border-radius:50%;width:8px;height:8px;animation:ease-in-out infinite particleGlow;position:absolute;box-shadow:0 0 18px #ff69b459}@keyframes particleGlow{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.7;transform:scale(2)}}.heart-burst-container{z-index:1000;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.burst-item{filter:drop-shadow(0 0 10px #ff69b4cc);will-change:transform, opacity;font-size:1.8rem;animation:1.5s ease-out forwards burstOut;position:absolute}@keyframes burstOut{0%{opacity:1;transform:translate(0,0)scale(.5)}to{transform:rotate(var(--angle)) translate3d(0, calc(var(--distance) * -1), 0) scale(1.2);opacity:0}}.section{min-height:100vh;scroll-snap-align:start;scroll-snap-stop:always;z-index:2;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:3rem 1.5rem;display:flex;position:relative;overflow:hidden}.section-content{text-align:center;opacity:0;will-change:transform, opacity;width:100%;max-width:450px;transition:transform 1s cubic-bezier(.22,1,.36,1),opacity 1s cubic-bezier(.22,1,.36,1);transform:translateY(40px)}.section.visible .section-content{opacity:1;transform:translate(0,0)}.hero-section{background:radial-gradient(#ff69b440 0%,#0000 60%)}.hero-glow{filter:blur(28px);z-index:0;will-change:transform, opacity;background:radial-gradient(circle,#ffb6c166 0%,#ff69b433 40%,#0000 70%);border-radius:50%;width:350px;height:350px;animation:5s ease-in-out infinite heroGlow;position:absolute}.hero-glow.secondary{width:200px;height:200px;animation-delay:2s;top:20%;right:10%}@keyframes heroGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.4)}}.hero-title{color:var(--white);text-shadow:0 0 40px #ff69b4cc,0 0 80px #ff69b466,0 4px 20px #0000004d;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:clamp(2.2rem,9vw,4rem);font-weight:600;line-height:1.2;animation:1.2s forwards fadeInUp}.heart-pulse{filter:drop-shadow(0 0 20px #ff69b4cc);animation:1.5s ease-in-out infinite heartbeat;display:inline-block}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.25)}70%{transform:scale(1)}}.hero-subtitle{color:var(--soft-pink);opacity:0;text-shadow:0 0 30px #ffb6c180;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(1.2rem,4.5vw,1.7rem);font-style:italic;font-weight:400;line-height:1.8;animation:1s .4s forwards fadeInUp}.hero-subtitle.delayed{animation-delay:.7s}.hero-hint{color:#fffc;opacity:0;margin-top:2.5rem;font-size:clamp(.95rem,3vw,1.1rem);animation:1s 1.2s forwards fadeInUp}.scroll-indicator{will-change:transform, opacity;flex-direction:column;align-items:center;gap:.5rem;animation:2.5s infinite bounce;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-text{text-transform:uppercase;letter-spacing:3px;opacity:.6;font-size:.75rem}.scroll-arrow{color:var(--soft-pink);filter:drop-shadow(0 0 10px #ffb6c199);font-size:1.8rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)}40%{transform:translate(-50%,-12px)}60%{transform:translate(-50%,-6px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translate(0,0)}}.commitment-section{background:radial-gradient(#c81e3c33 0%,#0000 60%)}.emotional-text{color:var(--white);text-shadow:0 0 30px #ffb6c166;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:clamp(1.25rem,5vw,1.7rem);font-style:italic;line-height:1.9}.emotional-text.emphasis{color:var(--soft-pink);text-shadow:0 0 40px #ffb6c199;font-weight:600}.commitment-card{margin-top:2.5rem;animation:1s forwards cardFloat}.heart-frame{-webkit-backdrop-filter:blur(20px);will-change:transform, opacity;background:linear-gradient(145deg,#ffb6c140 0%,#ff698a2e 50%,#ff96aa38 100%);border:1px solid #ffc8d259;border-radius:30px;flex-direction:column;align-items:center;padding:3rem 4rem;animation:.8s forwards cardFloat;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #c81e5040,0 0 60px #ff69b426,inset 0 1px #ffffff40,inset 0 -1px #ff69b41a}.heart-frame:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff80 30%,#fff9 50%,#ffffff80 70%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.heart-frame:after{content:"💗";opacity:.15;font-size:1rem;animation:6s ease-in-out infinite innerHeartFloat;position:absolute;top:20%;right:15%}@keyframes innerHeartFloat{0%,to{opacity:.1;transform:translateY(0)rotate(-5deg)}50%{opacity:.2;transform:translateY(-10px)rotate(5deg)}}@keyframes cardFloat{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes cardGlow{0%,to{box-shadow:0 8px 32px #c81e5040,0 0 60px #ff69b426,inset 0 1px #ffffff40,inset 0 -1px #ff69b41a}50%{box-shadow:0 12px 40px #c81e5059,0 0 80px #ff69b440,inset 0 1px #ffffff59,inset 0 -1px #ff69b426}}.heart-deco{filter:drop-shadow(0 0 10px #ff69b499);font-size:1.2rem;animation:2s ease-in-out infinite heartbeat;position:absolute}.heart-deco.top-left{top:-12px;left:-12px}.heart-deco.top-right{animation-delay:.5s;top:-12px;right:-12px}.heart-deco.bottom-left{animation-delay:1s;bottom:-12px;left:-12px}.heart-deco.bottom-right{animation-delay:1.5s;bottom:-12px;right:-12px}.commitment-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:3px;margin-bottom:.75rem;font-size:.85rem}.commitment-date{color:var(--soft-pink);text-shadow:0 0 30px #ffb6c199;font-family:Playfair Display,serif;font-size:clamp(1.5rem,6vw,2.2rem);font-weight:600}.movie-section{background:radial-gradient(#ff648226 0%,#0000 60%)}.envelope-container{perspective:1200px;width:100%;max-width:360px;height:480px;margin:0 auto 2.5rem;position:relative;overflow:visible}.envelope-container:before{content:"";filter:blur(15px);z-index:0;opacity:0;background:radial-gradient(#ff96b44d 0%,#ff78a026 50%,#0000 80%);height:40px;transition:opacity 1s .8s;position:absolute;bottom:-20px;left:8%;right:8%}.envelope-container.opened:before{opacity:1}.envelope-back{z-index:1;background:linear-gradient(170deg,#ffe4ec 0%,#ffdae3 25%,#ffc8d7 50%,#ffbdce 75%,#ffb0c4 100%);border-radius:12px 12px 28px 28px;height:200px;position:absolute;bottom:0;left:0;right:0;overflow:visible;box-shadow:0 20px 50px #c8507833,0 8px 25px #ff96b426,inset 0 2px 4px #fff9,inset 0 -8px 25px #e682a01f}.envelope-pattern{border-radius:inherit;background-image:repeating-linear-gradient(45deg,#0000,#0000 8px,#ffffff0a 8px 16px),radial-gradient(at 30% 70%,#ffc8d726 0%,#0000 50%),radial-gradient(at 70% 30%,#ffdce61f 0%,#0000 40%);position:absolute;inset:0}.envelope-back:before{content:"💕";opacity:0;z-index:10;font-size:.85rem;transition:transform .8s cubic-bezier(.34,1.56,.64,1) 1s,opacity .8s cubic-bezier(.34,1.56,.64,1) 1s;position:absolute;top:15px;left:20px;transform:translateY(10px)}.envelope-back:after{content:"💋";opacity:0;z-index:10;font-size:.75rem;transition:transform .8s cubic-bezier(.34,1.56,.64,1) 1.2s,opacity .8s cubic-bezier(.34,1.56,.64,1) 1.2s;position:absolute;top:20px;right:25px;transform:translateY(8px)rotate(-10deg)}.envelope-container.opened .envelope-back:before{opacity:.5;animation:4s ease-in-out 1.5s infinite peekHeartFloat;transform:translateY(0)}.envelope-container.opened .envelope-back:after{opacity:.4;animation:4.5s ease-in-out 1.8s infinite peekKissFloat;transform:translateY(0)rotate(-10deg)}@keyframes peekHeartFloat{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:.7;transform:translateY(-8px)}}@keyframes peekKissFloat{0%,to{opacity:.4;transform:translateY(0)rotate(-10deg)}50%{opacity:.55;transform:translateY(-6px)rotate(5deg)}}.letter-content{z-index:10;opacity:0;will-change:transform, opacity;height:290px;transition:transform 1.4s cubic-bezier(.22,1,.36,1) .5s,opacity 1.4s cubic-bezier(.22,1,.36,1) .5s;position:absolute;bottom:60px;left:10px;right:10px;transform:translateY(180px)scale(.94)}.envelope-container.opened .letter-content{opacity:1;animation:1.6s cubic-bezier(.22,1,.36,1) forwards letterSlideOut,.5s ease-out 1.6s forwards letterSettle;transform:translateY(-140px)scale(1)}@keyframes letterSlideOut{0%{opacity:0;transform:translateY(180px)scale(.94)}30%{opacity:1}to{opacity:1;transform:translateY(-140px)scale(1)}}@keyframes letterSettle{0%{transform:translateY(-140px)scale(1)}40%{transform:translateY(-148px)scale(1.008)}70%{transform:translateY(-138px)scale(.998)}to{transform:translateY(-140px)scale(1)}}.letter-inner{background:linear-gradient(155deg,#fffbfc 0%,#fff5f8 20%,#ffeff4 45%,#ffe8ef 70%,#ffe2eb 100%);border:1.5px solid #ffc3d28c;border-radius:24px;height:100%;padding:1.5rem 1.3rem;position:relative;overflow:hidden;box-shadow:0 25px 60px #b43c6440,0 15px 35px #c8507826,0 8px 20px #ff96b41f,0 2px 6px #0000000f,inset 0 2px #fffffffa,inset 0 -2px 10px #ffc8dc2e}.letter-inner:before{content:"";background:linear-gradient(90deg,#ffb6c199 0%,#ff69b4cc 50%,#ffb6c199 100%);border-radius:22px 22px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.letter-inner:after{content:"✨";opacity:0;font-size:.9rem;animation:.6s ease-out 2s forwards sparkleAppear;position:absolute;top:8px;right:12px}@keyframes sparkleAppear{0%{opacity:0;transform:scale(0)rotate(-30deg)}60%{opacity:1;transform:scale(1.3)rotate(10deg)}to{opacity:.7;transform:scale(1)rotate(0)}}.letter-header{border-bottom:1.5px dashed #ff8caf59;justify-content:center;align-items:center;gap:.6rem;margin-bottom:.85rem;padding-bottom:.7rem;display:flex;position:relative}.letter-header:after{content:"💗";opacity:0;font-size:.7rem;animation:.5s ease-out 2.2s forwards tinyHeartPop;position:absolute;top:-2px;right:5px}@keyframes tinyHeartPop{0%{opacity:0;transform:scale(0)translateY(5px)}70%{opacity:1;transform:scale(1.3)translateY(-2px)}to{opacity:.6;transform:scale(1)translateY(0)}}.letter-icon{font-size:1.6rem;animation:3.5s ease-in-out infinite wiggle}.letter-title{color:#b83b5e;text-shadow:0 1px 3px #ffc8d799;font-family:Playfair Display,serif;font-size:1.15rem;font-style:italic;font-weight:600}.letter-details{text-align:left}.letter-item{color:#8b5065;border-bottom:1px solid #ffbed24d;align-items:center;gap:.7rem;padding:.55rem 0;font-size:clamp(.88rem,3.5vw,.98rem);transition:transform .3s;display:flex}.letter-item:last-child{border-bottom:none}.letter-item .emoji{font-size:1.15rem}.letter-footer{text-align:center;margin-top:.6rem}.letter-hearts{filter:drop-shadow(0 2px 6px #ff69b44d);font-size:1.4rem;animation:2s ease-in-out infinite heartbeat}.letter-corner-heart{opacity:0;font-size:.85rem;transition:opacity .5s 2.3s;position:absolute}.envelope-container.opened .letter-corner-heart{opacity:.3;animation:5s ease-in-out 2.5s infinite innerHeartFloat}.letter-corner-heart.tl{top:12px;left:12px}.letter-corner-heart.br{animation-delay:4.5s;bottom:12px;right:12px}.envelope-front{z-index:5;transform-style:preserve-3d;transition:z-index 0s linear .8s;position:absolute;bottom:0;left:0;right:0}.envelope-container.opened .envelope-front{z-index:2}.envelope-flap{transform-origin:bottom;z-index:6;will-change:transform;height:120px;transition:transform 1.6s cubic-bezier(.22,1,.36,1) .1s;position:absolute;bottom:200px;left:0;right:0;transform:rotateX(0)}.envelope-container.opened .envelope-flap{z-index:2;animation:.6s ease-out 1.6s forwards flapSettle;transform:rotateX(185deg)}@keyframes flapSettle{0%{transform:rotateX(185deg)}40%{transform:rotateX(172deg)}70%{transform:rotateX(182deg)}to{transform:rotateX(180deg)}}.flap-inner{clip-path:polygon(0 100%,50% 5%,100% 100%);backface-visibility:hidden;background:linear-gradient(175deg,#ffd0dc 0%,#ffc4d4 40%,#ffbdce 100%);height:100%;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 25px #c8648c1f,inset 0 -15px 40px #ffffff40,inset 0 3px 8px #ffdce680}.flap-inner:before{content:"";clip-path:inherit;background:radial-gradient(at 50% 80%,#ffffff26 0%,#0000 60%);position:absolute;inset:0}.flap-inner:after{content:"";clip-path:polygon(0 100%,50% 5%,100% 100%);backface-visibility:hidden;background:linear-gradient(175deg,#ffe8ef 0%,#ffd8e5 50%,#ffcfdd 100%);height:100%;position:absolute;bottom:0;left:0;right:0;transform:rotateX(180deg)}.envelope-body{background:linear-gradient(175deg,#ffcfdd 0%,#ffd8e5 25%,#ffe2eb 50%,#ffe8f0 75%,#fff0f4 100%);border-radius:0 0 28px 28px;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;height:200px;transition:opacity .6s .35s;display:flex;position:relative;box-shadow:0 15px 45px #c8648c2e,0 5px 20px #ff96b41f,inset 0 8px 25px #ffffff73,inset 0 -3px 15px #ffc8dc33}.envelope-body:before{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);height:1px;position:absolute;top:0;left:10%;right:10%}.envelope-container.opened .envelope-body{opacity:0;pointer-events:none}.envelope-seal{filter:drop-shadow(0 4px 15px #dc507859);will-change:transform, opacity;font-size:2.8rem;transition:transform .7s cubic-bezier(.34,1.56,.64,1),opacity .7s cubic-bezier(.34,1.56,.64,1);animation:2.5s ease-in-out infinite sealPulse}.envelope-container.opened .envelope-seal{opacity:0;transform:scale(1.8)rotate(15deg)}@keyframes sealPulse{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.08)rotate(-3deg)}50%{transform:scale(1.12)rotate(0)}75%{transform:scale(1.08)rotate(3deg)}}.envelope-text{color:#9b5568;text-shadow:0 1px 4px #fff9;letter-spacing:.3px;font-family:Playfair Display,serif;font-size:clamp(1.05rem,4vw,1.25rem);font-style:italic;animation:3.5s ease-in-out infinite textFloat}@keyframes textFloat{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.9;transform:translateY(-4px)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.emotional-caption{color:#ffffffe6;text-shadow:0 0 20px #ffb6c166;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(1.1rem,4vw,1.35rem);font-style:italic;line-height:1.8}.emotional-caption.emphasis{color:var(--soft-pink)}.date-badge{-webkit-backdrop-filter:blur(15px);color:var(--soft-pink);letter-spacing:1px;background:linear-gradient(135deg,#ffb6c140 0%,#ff8ca533 100%);border:1px solid #ffc8d759;border-radius:50px;margin-bottom:2rem;padding:.7rem 2rem;font-size:.9rem;font-weight:500;animation:.6s forwards cardFloat;display:inline-block;position:relative;overflow:hidden;box-shadow:0 8px 25px #b4285033,inset 0 1px #ffffff40}.date-badge:before{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);height:1px;position:absolute;top:0;left:20%;right:20%}.time-badge{color:#fffc;margin-bottom:2rem;font-family:Playfair Display,serif;font-size:clamp(1.2rem,4vw,1.5rem);font-weight:500;display:block}.poetic-text{color:var(--white);text-shadow:0 0 30px #ffb6c166;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(1.5rem,6vw,2.2rem);line-height:1.8}.poetic-text.emphasis{color:var(--soft-pink);font-style:italic;font-weight:600}.bite-decoration{-webkit-backdrop-filter:blur(15px);background:linear-gradient(145deg,#ffb9c82e 0%,#ff8ca51f 100%);border:1px solid #ffc8d740;border-radius:60px;justify-content:center;align-items:center;gap:1.5rem;margin:2rem 0;padding:2rem 3rem;font-size:3rem;animation:.7s forwards cardFloat;display:flex;box-shadow:0 12px 40px #b4285038,inset 0 1px #fff3}.bite-decoration:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);height:1px;position:absolute;top:0;left:20%;right:20%}.hand-icon{animation:3s ease-in-out infinite gentleFloat}.heart-icon{filter:drop-shadow(0 0 15px #ff69b499);animation:1.5s ease-in-out infinite heartbeat}@keyframes gentleFloat{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-8px)rotate(5deg)}}.emotional-subtext{color:#ffffffd9;text-shadow:0 0 20px #ffb6c14d;font-size:clamp(1rem,3.5vw,1.2rem);font-style:italic}.voice-section{background:radial-gradient(#dc325a40 0%,#0000 60%);position:relative}.extra-kisses{pointer-events:none;width:100%;height:100%;position:absolute;overflow:hidden}.extra-kiss{filter:drop-shadow(0 0 10px #ff69b480);animation:5s ease-in-out infinite floatKiss;position:absolute}@keyframes floatKiss{0%,to{opacity:.3;transform:translateY(0)rotate(-5deg)}50%{opacity:.7;transform:translateY(-25px)rotate(10deg)}}.audio-ui{-webkit-backdrop-filter:blur(22px);will-change:transform, opacity;background:linear-gradient(145deg,#ffb6c133 0%,#ff789626 50%,#ffa0b42e 100%);border:1px solid #ffc8d747;border-radius:50px;justify-content:center;align-items:center;gap:1.2rem;margin:2rem 0;padding:1.8rem 2.8rem;transition:transform .4s;animation:.8s forwards cardFloat;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #b4285040,0 0 50px #ff69b41f,inset 0 1px #ffffff47,inset 0 -1px #ff69b414}.audio-ui:hover{transform:translateY(-3px)}@keyframes audioGlow{0%,to{box-shadow:0 12px 40px #b4285040,0 0 50px #ff69b41f,inset 0 1px #ffffff47,inset 0 -1px #ff69b414}50%{box-shadow:0 14px 45px #b4285052,0 0 65px #ff69b42e,inset 0 1px #ffffff52,inset 0 -1px #ff69b41a}}.audio-ui:before{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);height:1px;position:absolute;top:0;left:10%;right:10%}.audio-wave{align-items:center;gap:4px;height:35px;display:flex}.wave-bar{background:linear-gradient(to top, var(--hot-pink), var(--soft-pink));border-radius:3px;width:4px;height:100%;animation:1.2s ease-in-out infinite waveAnimation}@keyframes waveAnimation{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.play-btn{color:var(--soft-pink);filter:drop-shadow(0 0 10px #ffb6c180);font-size:1.5rem}.heartbeat-text{animation:2s ease-in-out infinite textPulse}@keyframes textPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.love-section{background:radial-gradient(#ff648240 0%,#0000 60%)}.love-declaration{-webkit-backdrop-filter:blur(18px);will-change:transform, opacity;background:linear-gradient(145deg,#ffb4c326 0%,#ff82a01a 50%,#ffa0b41f 100%);border:1px solid #ffc8d740;border-radius:35px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;margin:2.5rem 0;padding:3rem 2rem;animation:.9s forwards cardFloat;display:flex;position:relative;box-shadow:0 15px 50px #b4285040,0 0 70px #ff69b41a,inset 0 1px #fff3}.love-declaration:before{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);height:1px;position:absolute;top:0;left:0;right:0}.love-declaration:after{content:"💗";opacity:.12;font-size:1rem;animation:7s ease-in-out infinite innerHeartFloat;position:absolute;top:15%;left:12%}@keyframes loveGlow{0%,to{box-shadow:0 15px 50px #b4285040,0 0 70px #ff69b41a,inset 0 1px #fff3}50%{box-shadow:0 18px 55px #b4285052,0 0 85px #ff69b426,inset 0 1px #ffffff40}}.i-love-you{color:var(--soft-pink);text-shadow:0 0 60px #ffb6c1cc,0 0 120px #ff69b480;margin:.5rem 0;font-family:Playfair Display,serif;font-size:clamp(2.5rem,12vw,4.5rem);font-style:italic;font-weight:700}.i-love-you.primary{animation:4s ease-in-out infinite loveTextPrimary}.i-love-you.secondary{opacity:.6;font-size:clamp(2rem,10vw,3.5rem);animation:4s ease-in-out infinite loveTextSecondary}@keyframes loveTextPrimary{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.98)}}@keyframes loveTextSecondary{0%,to{opacity:.3;transform:scale(.98)}50%{opacity:.8;transform:scale(1)}}.heartbeat-visual{width:100%;max-width:220px;margin-top:2rem}.heartbeat-svg{transform-origin:50%;will-change:transform, opacity;width:100%;height:auto;animation:2.5s cubic-bezier(.22,1,.36,1) infinite heartbeatLine}.heartbeat-svg path{fill:none;stroke:var(--soft-pink);stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 0 15px #ffb6c1cc);stroke-dasharray:none;stroke-dashoffset:0}@keyframes heartbeatLine{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(.985)}}.night-section{background:linear-gradient(#281428e6 0%,#3c1e32d9 30%,#50283ccc 70%,#643246b3 100%);position:relative}.moonlight{filter:blur(20px);will-change:transform, opacity;background:radial-gradient(circle,#fffaf066 0%,#fff0dc33 40%,#0000 70%);border-radius:50%;width:100px;height:100px;animation:5s ease-in-out infinite moonGlow;position:absolute;top:15%;right:12%}@keyframes moonGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.stars{pointer-events:none;width:100%;height:100%;position:absolute}.star{color:#fffaf099;will-change:transform, opacity;font-size:.8rem;animation:3s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:.8;transform:scale(1.2)}}.date-badge.night{background:#ffffff1a;border-color:#fffaf04d}.poetic-text.night{color:#fffaf0f2}.gentle-text{color:#fffaf0cc;margin:1.5rem 0;font-family:Playfair Display,serif;font-size:clamp(1.15rem,4vw,1.4rem);font-style:italic}.emotional-subtext.night{color:#fffaf0bf;margin-top:1rem}.emotional-subtext.night.emphasis{color:#ffdce6e6}.meaning-section{background:radial-gradient(#ff699633 0%,#0000 60%)}.section-title{color:var(--soft-pink);text-shadow:0 0 40px #ffb6c180;margin-bottom:2.5rem;font-family:Playfair Display,serif;font-size:clamp(1.5rem,6vw,2.2rem);font-weight:600}.meaning-list{text-align:left;-webkit-backdrop-filter:blur(20px);will-change:transform, opacity;background:linear-gradient(150deg,#ffb9c32e 0%,#ff8ca51f 50%,#ffaab929 100%);border:1px solid #ffc8d747;border-radius:30px;max-width:380px;margin:0 auto;padding:2.5rem 2rem;list-style:none;animation:.9s forwards cardFloat;position:relative;overflow:hidden;box-shadow:0 15px 50px #b4285040,0 0 60px #ff69b41a,inset 0 1px #ffffff38}.meaning-list:before{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);height:1px;position:absolute;top:0;left:0;right:0}.meaning-list:after{content:"💗";opacity:.1;font-size:1.1rem;animation:6s ease-in-out infinite innerHeartFloat;position:absolute;bottom:12%;right:8%}@keyframes meaningGlow{0%,to{box-shadow:0 15px 50px #b4285040,0 0 60px #ff69b41a,inset 0 1px #ffffff38}50%{box-shadow:0 18px 55px #b4285052,0 0 75px #ff69b426,inset 0 1px #ffffff47}}.meaning-item{color:var(--white);opacity:0;will-change:transform, opacity;text-shadow:0 0 20px #ffb6c14d;border-bottom:1px solid #ffc8d71f;padding:1.3rem 0 1.3rem 2.8rem;font-family:Playfair Display,serif;font-size:clamp(1.15rem,4vw,1.4rem);font-style:italic;transition:transform .7s,opacity .7s;position:relative;transform:translate(-30px)}.meaning-item:last-child{border-bottom:none}.section.visible .meaning-item{opacity:1;transform:translate(0)}.section.visible .meaning-item:first-child{transition-delay:.2s}.section.visible .meaning-item:nth-child(2){transition-delay:.5s}.section.visible .meaning-item:nth-child(3){transition-delay:.8s}.section.visible .meaning-item:nth-child(4){transition-delay:1.1s}.meaning-item:before{content:"💗";font-size:1.1rem;animation:2s ease-in-out infinite heartbeat;position:absolute;left:0}.meaning-item.emphasis{color:var(--soft-pink);font-weight:600}.letter-section{background:radial-gradient(#ff96aa26 0%,#0000 60%)}.letter-card{-webkit-backdrop-filter:blur(25px);will-change:transform, opacity;background:linear-gradient(155deg,#ffbec833 0%,#ff96af26 30%,#ff78962e 70%,#ffaabe33 100%);border:1px solid #ffc8d74d;border-radius:35px;max-width:420px;padding:3.5rem 2.5rem;transition:transform .4s;animation:1s forwards cardFloat;position:relative;overflow:hidden;box-shadow:0 20px 70px #b428504d,0 0 100px #ff69b41a,inset 0 2px #ffffff40,inset 0 -3px 15px #ff69b40f}.letter-card:hover{transform:translateY(-4px)}@keyframes letterGlow{0%,to{box-shadow:0 20px 70px #b428504d,0 0 100px #ff69b41a,inset 0 2px #ffffff40,inset 0 -3px 15px #ff69b40f}50%{box-shadow:0 22px 75px #b4285061,0 0 110px #ff69b426,inset 0 2px #ffffff4d,inset 0 -3px 18px #ff69b414}}.letter-card:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff80 25%,#fff9 50%,#ffffff80 75%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.letter-card:after{content:"💋";opacity:.1;font-size:1rem;animation:8s ease-in-out 2s infinite innerHeartFloat;position:absolute;top:18%;right:10%}.letter-seal{filter:drop-shadow(0 5px 20px #ff69b480);z-index:2;font-size:3rem;animation:4s ease-in-out infinite sealFloat;position:absolute;top:-25px;left:50%;transform:translate(-50%)}@keyframes sealFloat{0%,to{transform:translate(-50%)translateY(0)rotate(-3deg)}50%{transform:translate(-50%)translateY(-8px)rotate(3deg)}}.letter-greeting{color:var(--soft-pink);text-align:left;text-shadow:0 0 30px #ffb6c180;margin-bottom:2rem;font-family:Playfair Display,serif;font-size:clamp(1.8rem,6vw,2.5rem);font-style:italic}.letter-body{color:var(--white);text-align:left;text-shadow:0 0 15px #ffb6c14d;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:clamp(1rem,3.5vw,1.15rem);line-height:1.9}.letter-body.emphasis{color:var(--soft-pink);margin-top:1.5rem;font-weight:500}.forever-section{background:radial-gradient(#c8325040 0%,#0000 60%);padding-bottom:5rem}.forever-text{color:var(--white);text-shadow:0 0 30px #ffb6c166;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(1.3rem,5vw,1.7rem);line-height:2}.forever-highlight{color:var(--soft-pink);text-shadow:0 0 80px #ffb6c1e6,0 0 150px #ff69b499;will-change:transform, opacity;margin:1.5rem 0 2rem;font-family:Playfair Display,serif;font-size:clamp(3.5rem,15vw,6rem);font-weight:700;animation:4s ease-in-out infinite foreverGlow}@keyframes foreverGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.95;transform:scale(1.02)}}.signature{color:#ffffffe6;margin-bottom:3rem;font-family:Playfair Display,serif;font-size:clamp(1.3rem,4.5vw,1.8rem);font-style:italic}.love-button{color:#fff;cursor:pointer;will-change:transform, opacity;background:linear-gradient(135deg,#ff6b8ae6 0%,#dc3250d9 50%,#c41e3ae6 100%);border:1px solid #ffc8d759;border-radius:60px;align-items:center;gap:.85rem;padding:1.4rem 3.2rem;font-family:Poppins,sans-serif;font-size:clamp(1rem,4vw,1.2rem);font-weight:600;transition:transform .4s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 15px 50px #c81e3c73,0 0 60px #ff69b440,inset 0 1px #ffffff40,inset 0 -2px 10px #8b0a1a33}@keyframes buttonGlow{0%,to{box-shadow:0 15px 50px #c81e3c73,0 0 60px #ff69b440,inset 0 1px #ffffff40,inset 0 -2px 10px #8b0a1a33}50%{box-shadow:0 18px 55px #c81e3c8c,0 0 80px #ff69b459,inset 0 1px #ffffff4d,inset 0 -2px 12px #8b0a1a40}}.love-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:100%;transition:transform .6s;position:absolute;top:0;left:0;transform:translate(-120%)}.love-button:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);height:1px;position:absolute;top:0;left:0;right:0}.love-button:hover{transform:translateY(-5px)scale(1.03)}.love-button:hover:before{transform:translate(120%)}.love-button:active{transform:scale(.98)}.button-hearts{animation:1.2s ease-in-out infinite buttonPulse}@keyframes buttonPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.heartbeat-scroll-glow{pointer-events:none;z-index:0;opacity:.08;will-change:transform, opacity;background:radial-gradient(#ff69b459 0%,#ff508c26 40%,#0000 70%);position:fixed;inset:0}.countdown-section{background:radial-gradient(#ff82aa38 0%,#0000 60%)}.countdown-title{margin-bottom:2rem}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;max-width:380px;margin:0 auto;display:grid}.countdown-unit{background:linear-gradient(145deg,#ffb6c138 0%,#ff789e24 100%);border:1px solid #ffc8d74d;border-radius:20px;flex-direction:column;align-items:center;gap:.4rem;padding:1.2rem .5rem;display:flex;box-shadow:0 8px 28px #b428502e}.countdown-number{color:var(--soft-pink);text-shadow:0 0 30px #ffb6c1b3;will-change:transform;font-family:Playfair Display,serif;font-size:clamp(1.8rem,7vw,2.8rem);font-weight:700;animation:1s ease-in-out infinite countPulse}.countdown-unit:nth-child(2) .countdown-number{animation-delay:.15s}.countdown-unit:nth-child(3) .countdown-number{animation-delay:.3s}.countdown-unit:nth-child(4) .countdown-number{animation-delay:.45s}@keyframes countPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.countdown-label{text-transform:uppercase;letter-spacing:2px;color:#fff9;font-size:.7rem}.countdown-subtext{color:#ffffffb3;margin-top:2rem;font-family:Playfair Display,serif;font-size:clamp(.95rem,3.5vw,1.15rem);font-style:italic}.firstdate-section{background:radial-gradient(at 50% 40%,#a01e3c2e 0%,#780f2814 40%,#0000 70%);min-height:110vh;padding:5rem 1.5rem 6rem;position:relative;overflow:hidden}.fd-seat{color:#ffb6c10f;letter-spacing:4px;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-family:Poppins,sans-serif;font-size:1.6rem;font-weight:700;position:absolute}.fd-seat-1{will-change:transform;animation:16s ease-in-out infinite fdSeatDrift;top:12%;left:8%}.fd-seat-2{will-change:transform;animation:18s ease-in-out infinite reverse fdSeatDrift;bottom:15%;right:8%}@keyframes fdSeatDrift{0%,to{opacity:.06;transform:translate(0,0)}50%{opacity:.1;transform:translate(8px,-10px)}}.fd-content{z-index:1;flex-direction:column;align-items:center;gap:0;display:flex;position:relative}.fd-title{color:var(--white);text-shadow:0 0 40px #ffb6c166;margin-bottom:.6rem;font-family:Playfair Display,serif;font-weight:700;font-size:clamp(1.8rem,7vw,2.6rem)!important}.fd-date{color:#ffffff80;letter-spacing:2px;opacity:0;margin-bottom:2.5rem;font-family:Poppins,sans-serif;font-size:clamp(.8rem,2.5vw,.9rem);font-weight:400}.section.visible .fd-date{animation:.8s cubic-bezier(.22,1,.36,1) .3s forwards fadeInUp}.fd-ticket-wrap{perspective:600px;width:100%;max-width:340px;margin:0 auto 1.8rem;position:relative}.fd-ticket-glow{opacity:0;pointer-events:none;z-index:-1;background:radial-gradient(#ffb6c133 0%,#0000 65%);border-radius:20px;transition:opacity .8s;position:absolute;inset:-15px}.section.visible .fd-ticket-glow{opacity:1}.fd-ticket{will-change:transform;background:#fffdf8;border-radius:14px;padding:8px;transition:transform .6s cubic-bezier(.22,1,.36,1);animation:6s ease-in-out infinite fdTicketBreathe;overflow:hidden;transform:rotateX(2deg)rotateY(-1deg);box-shadow:0 10px 40px #0000001f,0 2px 8px #0000000f}.fd-ticket-img{object-fit:cover;border-radius:10px;width:100%;height:auto;display:block}@keyframes fdTicketBreathe{0%,to{transform:rotateX(2deg)rotateY(-1deg)scale(1)}50%{transform:rotateX(2deg)rotateY(-1deg)scale(1.008)}}.section.visible .fd-ticket{animation:.9s cubic-bezier(.22,1,.36,1) .2s both fdTicketSlide,6s ease-in-out 1.2s infinite fdTicketBreathe}@keyframes fdTicketSlide{0%{opacity:0;transform:rotateX(2deg)rotateY(-1deg)translateY(30px)scale(.95)}to{opacity:1;transform:rotateX(2deg)rotateY(-1deg)translate(0,0)scale(1)}}.fd-relive .fd-ticket{animation:1.5s cubic-bezier(.22,1,.36,1) forwards fdReliveTicket!important}.fd-relive .fd-ticket-glow{animation:1.5s forwards fdReliveGlow;opacity:1!important}@keyframes fdReliveTicket{0%{transform:rotateX(2deg)rotateY(-1deg)scale(1)}40%{transform:rotateX(2deg)rotateY(-1deg)scale(1.03)}to{transform:rotateX(2deg)rotateY(-1deg)scale(1)}}@keyframes fdReliveGlow{0%{opacity:.5}40%{opacity:1}to{opacity:.6}}.fd-caption{color:var(--white);text-shadow:0 0 20px #ffb6c14d;opacity:0;margin-bottom:.3rem;font-family:Playfair Display,serif;font-size:clamp(1.15rem,4.5vw,1.4rem);font-style:italic}.section.visible .fd-caption{animation:.7s cubic-bezier(.22,1,.36,1) .6s forwards fadeInUp}.fd-subcaption{color:#ffffff8c;opacity:0;margin-bottom:2.5rem;font-family:Poppins,sans-serif;font-size:clamp(.85rem,3vw,.95rem);font-weight:300}.section.visible .fd-subcaption{animation:.7s cubic-bezier(.22,1,.36,1) .9s forwards fadeInUp}.fd-whisper{color:#ffc8d740;letter-spacing:3px;opacity:0;will-change:opacity;margin:1rem 0 2.5rem;font-family:Playfair Display,serif;font-size:clamp(1.3rem,5vw,1.7rem);font-style:italic}.section.visible .fd-whisper{animation:2s 1.2s forwards fdWhisperIn}@keyframes fdWhisperIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translate(0,0)}}.fd-cozy-wrap{opacity:0;will-change:transform, opacity;background:#ffffff1f;border-radius:22px;width:100%;max-width:300px;margin:0 auto 1.5rem;padding:6px;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001f,0 2px 8px #ffb6c126}.section.visible .fd-cozy-wrap{animation:.9s cubic-bezier(.22,1,.36,1) 1.5s forwards fdCozyFloat}@keyframes fdCozyFloat{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translate(0,0)}}.fd-cozy-img{object-fit:cover;filter:brightness(.95)contrast(1.02)sepia(.08);border-radius:18px;width:100%;height:auto;display:block}.fd-cozy-vignette{border-radius:inherit;z-index:1;pointer-events:none;background:radial-gradient(#0000 55%,#280a144d 100%);position:absolute;inset:0}.fd-cozy-glow{transition:box-shadow .6s;box-shadow:0 0 40px #ff96b440,0 8px 32px #0000001a!important}.fd-cozy-caption{color:#fffc;text-shadow:0 0 15px #ffb6c140;opacity:0;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:clamp(1rem,4vw,1.2rem);font-style:italic}.section.visible .fd-cozy-caption{animation:.7s cubic-bezier(.22,1,.36,1) 1.8s forwards fadeInUp}.fd-btn{background:linear-gradient(135deg,#ff8caa40 0%,#ff6e9626 100%)}.fd-btn.active{animation:.4s fdBtnPress}@keyframes fdBtnPress{0%{transform:scale(1)}40%{transform:scale(.95)}to{transform:scale(1)}}.fd-burst{z-index:10;pointer-events:none;width:0;height:0;position:absolute;bottom:40px;left:50%}.fd-burst-heart{will-change:transform, opacity;font-size:.7rem;animation:.9s cubic-bezier(.22,1,.36,1) forwards fdBurstOut;position:absolute}@keyframes fdBurstOut{0%{opacity:1;transform:rotate(var(--fd-angle)) translateY(0) scale(.5)}to{opacity:0;transform:rotate(var(--fd-angle)) translateY(calc(var(--fd-dist) * -1)) scale(1)}}.photo-section{overflow:hidden}.photo-title{color:var(--white);text-shadow:0 0 30px #ffb6c166;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:clamp(1.6rem,6vw,2.4rem);font-weight:700}.photo-frame{will-change:transform, opacity;width:100%;max-width:320px;margin:0 auto 1.5rem;position:relative;overflow:hidden}.photo-img{object-fit:cover;border-radius:inherit;width:100%;height:auto;display:block}.card-frame{background:var(--white);border-radius:20px;padding:8px;box-shadow:0 8px 32px #c8507826,0 2px 8px #0000000f}.card-frame .photo-img{border-radius:14px}.photo-glow{z-index:-1;pointer-events:none;background:radial-gradient(#ffb6c159 0%,#ff96b426 50%,#0000 70%);border-radius:30px;position:absolute;inset:-20px}.photo-glow.warm{background:radial-gradient(#ffc8d266 0%,#ffaabe2e 50%,#0000 70%)}.photo-glow.blush{background:radial-gradient(#ffa0b466 0%,#ff82a033 50%,#0000 70%)}.photo-glow.soft{background:radial-gradient(#ffd2dc4d 0%,#ffbecd1f 50%,#0000 70%)}.blush-frame{border:2px solid #ffb6c14d}.polaroid-frame{background:#fffdf8;border-radius:6px;padding:8px 8px 40px;position:relative;box-shadow:0 6px 24px #0000001a,0 2px 6px #0000000d}.polaroid-frame .photo-img{border-radius:3px}.polaroid-frame.tilt-left{transform:rotate(-3deg)}.polaroid-frame.tilt-right{transform:rotate(3deg)}.section.visible .polaroid-frame.tilt-left{animation:.7s cubic-bezier(.34,1.56,.64,1) forwards polaroidBounceIn}.section.visible .polaroid-frame.tilt-right{animation:.7s cubic-bezier(.34,1.56,.64,1) .1s forwards polaroidBounceIn}@keyframes polaroidBounceIn{0%{opacity:0;transform:rotate(var(--base-rot,-3deg)) translate3d(0, 30px, 0) scale(.9)}60%{transform:rotate(var(--base-rot,-3deg)) translate3d(0, -6px, 0) scale(1.02)}to{opacity:1;transform:rotate(var(--base-rot,-3deg)) translate3d(0, 0, 0) scale(1)}}.tilt-left{--base-rot:-3deg}.tilt-right{--base-rot:3deg}.polaroid-tape-strip{z-index:5;background:#ffb6c180;border-radius:2px;width:36px;height:16px;position:absolute;top:-6px;right:16px;transform:rotate(12deg);box-shadow:0 1px 3px #0000000f}.polaroid-sticker{color:#c06080;z-index:5;background:#ffdce6b3;border-radius:8px;padding:2px 8px;font-family:Poppins,sans-serif;font-size:.65rem;font-weight:600;position:absolute;bottom:8px;right:12px}.full-frame{border-radius:16px;max-width:380px;position:relative}.full-frame .photo-img{border-radius:16px}.photo-pastel-overlay{z-index:1;pointer-events:none;background:linear-gradient(#ffe6f014 0%,#ffd2e11f 100%);border-radius:16px;position:absolute;inset:0}.section.visible .full-frame .photo-img{animation:8s ease-out forwards gentleZoomIn}.section.visible .flowers1-frame .photo-img{animation:12s ease-in-out infinite alternate slowDriftZoom}@keyframes gentleZoomIn{0%{transform:scale(1)}to{transform:scale(1.02)}}.sparkle-wrap{overflow:visible}.mini-sparkle{color:#ffc8d7b3;pointer-events:none;z-index:10;will-change:transform, opacity;font-size:.6rem;animation:3s ease-in-out infinite miniTwinkle;position:absolute}@keyframes miniTwinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:.8;transform:scale(1.2)}}.photo-caption{color:var(--white);text-shadow:0 0 20px #ffb6c14d;margin-bottom:.4rem;font-family:Playfair Display,serif;font-size:clamp(1.1rem,4.5vw,1.4rem);font-style:italic;line-height:1.6}.photo-subtext{color:#fff9;font-family:Poppins,sans-serif;font-size:clamp(.85rem,3vw,1rem);font-weight:300}@media (hover:hover){.card-frame:hover{transition:transform .4s cubic-bezier(.22,1,.36,1);transform:scale(1.02)}.polaroid-frame:hover{transition:transform .4s cubic-bezier(.22,1,.36,1);transform:rotate(0)scale(1.03)!important}}@media (hover:none){.card-frame:active{transition:transform .2s;transform:scale(.97)}.polaroid-frame:active{transition:transform .2s;transform:rotate(0)scale(.97)!important}}.finale-section{background:radial-gradient(#ff82aa33 0%,#0000 60%)}.finale-text{color:var(--soft-pink);text-shadow:0 0 40px #ffb6c199,0 0 80px #ff69b44d;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:clamp(1.4rem,5.5vw,2rem);font-style:italic;line-height:1.8}.finale-line{color:var(--white);text-shadow:0 0 50px #ffb6c1b3,0 0 100px #ff69b466;margin-bottom:2rem;font-family:Playfair Display,serif;font-size:clamp(1.6rem,6vw,2.4rem);font-weight:700;animation:5s ease-in-out infinite gentleFloat}.seal-sparkles{z-index:12;pointer-events:none;opacity:0;width:80px;height:80px;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}.envelope-container.opened .seal-sparkles{animation:.6s ease-out .2s forwards sparklesAppear}@keyframes sparklesAppear{0%{opacity:0;transform:translate(-50%)scale(.5)}50%{opacity:1;transform:translate(-50%)scale(1.3)}to{opacity:0;transform:translate(-50%)scale(1.6)}}.sparkle-dot{color:#ffdce6e6;will-change:transform, opacity;font-size:.7rem;position:absolute}.sparkle-dot.s1{opacity:0;animation:.8s ease-out .25s forwards sparklePop;top:0;left:50%}.sparkle-dot.s2{opacity:0;animation:.8s ease-out .35s forwards sparklePop;bottom:0;left:50%}.sparkle-dot.s3{opacity:0;animation:.8s ease-out .4s forwards sparklePop;top:50%;left:0}.sparkle-dot.s4{opacity:0;animation:.8s ease-out .5s forwards sparklePop;top:50%;right:0}.envelope-container.opened .sparkle-dot.s1,.envelope-container.opened .sparkle-dot.s2,.envelope-container.opened .sparkle-dot.s3,.envelope-container.opened .sparkle-dot.s4{animation:.8s ease-out forwards sparklePop}.envelope-container.opened .sparkle-dot.s1{animation-delay:.15s}.envelope-container.opened .sparkle-dot.s2{animation-delay:.25s}.envelope-container.opened .sparkle-dot.s3{animation-delay:.35s}.envelope-container.opened .sparkle-dot.s4{animation-delay:.45s}@keyframes sparklePop{0%{opacity:0;transform:scale(0)rotate(0)}40%{opacity:1;transform:scale(1.5)rotate(90deg)}to{opacity:0;transform:scale(.5)rotate(180deg)translateY(-20px)}}.polaroid-section{background:radial-gradient(#ff789b2e 0%,#0000 60%)}.polaroid-wall{grid-template-columns:repeat(2,1fr);gap:1rem;max-width:380px;margin:0 auto;display:grid}.polaroid-card{transform:rotate(var(--rot,0deg)) translate3d(0, 20px, 0);opacity:0;will-change:transform, opacity;background:#fffdf8;border-radius:6px;padding:.6rem .6rem 1.6rem;transition:transform .3s;animation:.7s cubic-bezier(.22,1,.36,1) forwards polaroidIn;position:relative;box-shadow:0 4px 18px #0000001f,0 1px 4px #0000000f}.section.visible .polaroid-card{opacity:1;transform:rotate(var(--rot,0deg)) translate3d(0, 0, 0)}.polaroid-card:hover{transform:rotate(var(--rot,0deg)) scale(1.05) translate3d(0, -4px, 0)}.polaroid-card:active{transform:rotate(var(--rot,0deg)) scale(.97) translate3d(0, 0, 0)}@keyframes polaroidIn{0%{opacity:0;transform:rotate(var(--rot,0deg)) translate3d(0, 30px, 0) scale(.92)}to{opacity:1;transform:rotate(var(--rot,0deg)) translate3d(0, 0, 0) scale(1)}}.polaroid-tape{background:#ffb6c18c;border-radius:2px;width:40px;height:14px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 1px 3px #00000014}.polaroid-image{aspect-ratio:1;background:linear-gradient(135deg,#ffe8ef 0%,#ffd6e0 50%,#ffc8d7 100%);border-radius:3px;justify-content:center;align-items:center;width:100%;margin-bottom:.5rem;display:flex}.polaroid-emoji{font-size:2.2rem;animation:4s ease-in-out infinite gentleFloat}.polaroid-caption{color:#8b5065;text-align:center;font-family:Playfair Display,serif;font-size:.72rem;font-style:italic;line-height:1.4}.dream-section{background:linear-gradient(#641e32d9 0%,#782841cc 40%,#8c324bbf 100%);position:relative}.dream-stars{pointer-events:none;position:absolute;inset:0}.dream-star{color:#ffdceb80;will-change:transform, opacity;font-size:.65rem;animation:4s ease-in-out infinite twinkle;position:absolute}.dream-title{text-shadow:0 0 40px #ffb6c199,0 0 80px #ff69b44d}.dream-list{text-align:left;max-width:340px;margin:0 auto;padding:0;list-style:none}.dream-item{color:var(--white);opacity:0;will-change:transform, opacity;text-shadow:0 0 20px #ffb6c14d;border-bottom:1px solid #ffc8d71a;padding:1.1rem 0 1.1rem 2.4rem;font-family:Playfair Display,serif;font-size:clamp(1.15rem,4.5vw,1.4rem);font-style:italic;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .7s cubic-bezier(.22,1,.36,1);position:relative;transform:translateY(20px)}.dream-item:last-child{border-bottom:none}.dream-item:before{content:"✦";color:var(--soft-pink);opacity:.7;font-size:.9rem;position:absolute;left:0}.dream-item.emphasis{color:var(--soft-pink);font-weight:600}.section.visible .dream-item{opacity:1;transform:translate(0,0)}.section.visible .dream-item:first-child{transition-delay:.15s}.section.visible .dream-item:nth-child(2){transition-delay:.35s}.section.visible .dream-item:nth-child(3){transition-delay:.55s}.section.visible .dream-item:nth-child(4){transition-delay:.75s}.surprise-section{background:radial-gradient(#b41e3c59 0%,#0000 65%);min-height:100vh}.surprise-content{flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex}.surprise-teaser{opacity:0;will-change:transform, opacity;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .8s cubic-bezier(.22,1,.36,1);transform:translateY(20px)}.surprise-teaser.show{opacity:1;transform:translate(0,0)}.surprise-question{color:#ffffffb3;text-shadow:0 0 25px #ffb6c166;font-family:Playfair Display,serif;font-size:clamp(1.3rem,5vw,1.8rem);font-style:italic}.surprise-reveal{opacity:0;will-change:transform, opacity;text-align:center;margin-top:2rem;transition:transform 1s cubic-bezier(.22,1,.36,1) .2s,opacity 1s cubic-bezier(.22,1,.36,1) .2s;transform:translateY(30px)}.surprise-reveal.show{opacity:1;transform:translate(0,0)}.surprise-line{color:var(--soft-pink);text-shadow:0 0 40px #ffb6c1b3,0 0 80px #ff69b466;opacity:0;will-change:transform, opacity;font-family:Playfair Display,serif;font-size:clamp(1.4rem,5.5vw,2rem);font-style:italic;line-height:2;animation:.8s cubic-bezier(.22,1,.36,1) forwards surpriseLineIn;transform:translateY(15px)}.surprise-reveal.show .surprise-line{animation-delay:.1s}.surprise-reveal.show .surprise-line.d2{animation-delay:.4s}.surprise-reveal.show .surprise-line.d3{animation-delay:.7s}.surprise-reveal.show .surprise-line.d4{animation-delay:1s}@keyframes surpriseLineIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translate(0,0)}}.hug-button{color:#fff;cursor:pointer;will-change:transform;opacity:0;background:linear-gradient(135deg,#ff6b8ae6 0%,#dc3250d9 50%,#c41e3ae6 100%);border:1px solid #ffc8d759;border-radius:60px;align-items:center;gap:.6rem;margin-top:2.5rem;padding:1.2rem 2.8rem;font-family:Poppins,sans-serif;font-size:clamp(1rem,4vw,1.15rem);font-weight:600;transition:transform .4s;animation:.8s cubic-bezier(.22,1,.36,1) 1.3s forwards surpriseLineIn;display:inline-flex;box-shadow:0 12px 40px #c81e3c66,0 0 50px #ff69b433}.hug-button:hover{transform:translateY(-4px)scale(1.04)}.hug-button:active{transform:scale(.96)}.hug-button.hugged{animation:.6s ease-out forwards hugPulse}@keyframes hugPulse{0%{transform:scale(1)}30%{transform:scale(1.12)}60%{transform:scale(.95)}to{transform:scale(1)}}.hug-overlay{z-index:1001;pointer-events:none;justify-content:center;align-items:center;animation:2s ease-out forwards hugOverlayIn;display:flex;position:fixed;inset:0}@keyframes hugOverlayIn{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.hug-glow{filter:blur(20px);will-change:transform, opacity;background:radial-gradient(circle,#ff96b473 0%,#ff69a033 40%,#0000 70%);border-radius:50%;width:300px;height:300px;animation:1.5s ease-in-out hugGlowPulse;position:absolute}@keyframes hugGlowPulse{0%{opacity:0;transform:scale(.6)}30%{opacity:1;transform:scale(1.2)}70%{opacity:.7;transform:scale(1.3)}to{opacity:0;transform:scale(1.5)}}.hug-hearts{position:absolute}.hug-heart{will-change:transform, opacity;font-size:1.4rem;animation:1.5s ease-out forwards hugHeartOut;position:absolute}@keyframes hugHeartOut{0%{opacity:1;transform:translate(0,0)scale(.4)}to{transform:rotate(var(--angle)) translate3d(0, calc(var(--dist) * -1), 0) scale(1);opacity:0}}.hero-radial{pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 40%,#ff69b41f 0%,#0000 55%);position:absolute;inset:0}.hero-bottom-fade{pointer-events:none;z-index:1;background:linear-gradient(#0000 0%,#3c0a1e80 100%);height:120px;position:absolute;bottom:0;left:0;right:0}.us-section{background:radial-gradient(at 50% 55%,#ff96b424 0%,#0000 65%)}.us-card{will-change:transform;animation:6s ease-in-out infinite breatheCard}@keyframes breatheCard{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.us-caption{opacity:0;transform:translateY(12px)}.section.visible .us-caption{animation:.8s cubic-bezier(.22,1,.36,1) .4s forwards captionSlide}@keyframes captionSlide{to{opacity:1;transform:translate(0,0)}}.countdown-section .section-content{z-index:2;position:relative}.countdown-section .countdown-unit{-webkit-backdrop-filter:blur(8px);background:linear-gradient(145deg,#ffffff14 0%,#ffb6c11a 100%);border:1px solid #ffffff26}.adventure-section{background:radial-gradient(at 50% 60%,#ffb4c81f 0%,#0000 60%)}.section-hearts{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.section-heart{opacity:0;will-change:transform, opacity;animation:linear infinite sectionHeartFloat;position:absolute;bottom:-20px}@keyframes sectionHeartFloat{0%{opacity:0;transform:translate(0,0)scale(.5)}15%{opacity:.6}85%{opacity:.4}to{opacity:0;transform:translateY(-100vh)scale(1)}}.adventure-section .section-content{z-index:1;position:relative}.flowers1-section{background:radial-gradient(#ffc8b41a 0%,#0000 60%)}.warm-overlay{background:linear-gradient(#ffdcc80f 0%,#ffb4a014 60%,#ff96820a 100%)!important}.flowers1-frame .photo-img{will-change:transform;animation:12s ease-in-out infinite alternate slowDriftZoom}@keyframes slowDriftZoom{0%{transform:scale(1)translate(0,0)}to{transform:scale(1.03)translate(-2px,-1px)}}.flowers2-section{background:radial-gradient(at 50% 45%,#ffdceb26 0%,#0000 55%)}.flowers2-glow{filter:blur(18px);z-index:1;pointer-events:none;background:radial-gradient(circle,#ffc8dc4d 0%,#0000 65%);border-radius:50%;width:70%;height:60%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.flowers2-frame .photo-img{filter:brightness(1.04)contrast(1.02)}.cutie-section{background:radial-gradient(at 55% 45%,#ffbed21f 0%,#0000 60%)}.cutie-section .card-frame{transition:transform .6s cubic-bezier(.22,1,.36,1)}.cutie-section .card-frame:hover{transform:rotate(-2deg)scale(1.03)}.cutie-section .mini-sparkle:nth-child(odd){animation-duration:2.5s}.cutie-section .mini-sparkle:nth-child(2n){animation-duration:3.8s;animation-delay:1s}.cutered-section{background:radial-gradient(#c832501a 0%,#0000 60%)}.cutered-vignette{pointer-events:none;z-index:0;background:radial-gradient(#0000 50%,#28050f59 100%);position:absolute;inset:0}.cutered-card{will-change:box-shadow;border:2px solid #ff96af40;animation:5s ease-in-out infinite cuteRedPulse;box-shadow:0 0 30px #ff82aa26,0 8px 32px #c8507826,0 2px 8px #0000000f}@keyframes cuteRedPulse{0%,to{box-shadow:0 0 20px #ff82aa1a,0 8px 32px #c8507826}50%{box-shadow:0 0 40px #ff82aa40,0 8px 36px #c8507833}}.cutered-section .photo-caption{opacity:0;animation:1.2s .6s forwards cuteRedFade}@keyframes cuteRedFade{to{opacity:1}}.cutered-section .section-content{z-index:1;position:relative}.eyes-section{background:radial-gradient(#3c0a1926 0%,#0000 55%)}.eyes-content{max-width:340px;margin:0 auto}.eyes-title{letter-spacing:1px;opacity:0;font-size:clamp(1.3rem,5vw,1.8rem)!important}.section.visible .eyes-title{animation:1.4s cubic-bezier(.22,1,.36,1) forwards eyesTitleIn}@keyframes eyesTitleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}.eyes-card{box-shadow:0 8px 40px #0000001f,0 2px 8px #0000000f}.eyes-card .photo-img{will-change:transform;animation:14s ease-in-out infinite alternate eyesSlowZoom}@keyframes eyesSlowZoom{0%{transform:scale(1)}to{transform:scale(1.04)}}.eyes-caption{opacity:0;letter-spacing:.5px;font-size:clamp(1rem,4vw,1.25rem)!important}.section.visible .eyes-caption{animation:1s cubic-bezier(.22,1,.36,1) .9s forwards eyesCaptionIn}@keyframes eyesCaptionIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}.bite-section{background:radial-gradient(at 45% 55%,#ffa0be1f 0%,#0000 60%)}.bite-section .section-content{z-index:1;position:relative}.bite-section .polaroid-sticker{animation:.5s cubic-bezier(.34,1.56,.64,1) .8s both stickerPop}@keyframes stickerPop{0%{opacity:0;transform:scale(0)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.finale-warm-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#ffb6c11f 0%,#0000 50%);position:absolute;inset:0}.finale-content{z-index:1;position:relative}.finale-word{opacity:0;will-change:transform, opacity;display:inline-block;transform:translateY(8px)}.section.visible .finale-word.w1{animation:.6s cubic-bezier(.22,1,.36,1) .2s forwards wordReveal}.section.visible .finale-word.w2{animation:.6s cubic-bezier(.22,1,.36,1) .5s forwards wordReveal}.section.visible .finale-word.w3{animation:.6s cubic-bezier(.22,1,.36,1) .8s forwards wordReveal}.section.visible .finale-word.w4{animation:.6s cubic-bezier(.22,1,.36,1) 1.1s forwards wordReveal}@keyframes wordReveal{to{opacity:1;transform:translate(0,0)}}.section.visible .finale-line{animation:4s ease-in-out 1.6s infinite finaleGlowPulse}@keyframes finaleGlowPulse{0%,to{text-shadow:0 0 50px #ffb6c1b3,0 0 100px #ff69b466}50%{text-shadow:0 0 70px #ffb6c1e6,0 0 120px #ff69b499}}.section-btn{color:#ffffffeb;cursor:pointer;will-change:transform;z-index:5;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#ffb6c147 0%,#ff82a52e 100%);border:1px solid #ffc8d74d;border-radius:50px;align-items:center;gap:.5rem;margin-top:1.2rem;padding:.75rem 1.8rem;font-family:Poppins,sans-serif;font-size:clamp(.85rem,3vw,.95rem);font-weight:500;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),opacity .3s;display:inline-flex;position:relative;box-shadow:0 4px 18px #c83c641f}.section-btn:hover{transform:translateY(-3px);box-shadow:0 6px 24px #c83c6433}.section-btn:active{transition:transform .12s;transform:scale(.96)}.hero-btn{background:linear-gradient(135deg,#ff6b8a59 0%,#ff96b433 100%);margin-top:1.6rem;padding:.85rem 2rem}.hero-btn-heart{transition:transform .3s;display:inline-block}.hero-btn:hover .hero-btn-heart{animation:.5s heartWiggle}.hero-btn-heart.wiggle{animation:.4s 3 heartWiggle}@keyframes heartWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.hero-mini-burst{z-index:10;pointer-events:none;width:0;height:0;position:absolute;bottom:80px;left:50%}.hero-burst-heart{will-change:transform, opacity;font-size:.75rem;animation:.9s cubic-bezier(.22,1,.36,1) forwards heroBurstOut;position:absolute}@keyframes heroBurstOut{0%{opacity:1;transform:rotate(var(--hb-angle)) translateY(0) scale(.5)}to{opacity:0;transform:rotate(var(--hb-angle)) translateY(calc(var(--hb-dist) * -1)) scale(1)}}.us-btn{background:linear-gradient(135deg,#ffc8d240 0%,#ffaabe26 100%)}.us-btn.active{animation:.3s usPress}@keyframes usPress{0%{transform:scale(1)}40%{transform:scale(.95)}to{transform:scale(1)}}.us-zoomed{animation:1.5s cubic-bezier(.22,1,.36,1) forwards usCardZoom!important}@keyframes usCardZoom{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.us-glow-active{animation:1.5s forwards usGlowPulse!important}@keyframes usGlowPulse{0%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.countdown-btn{background:linear-gradient(135deg,#ff96b440 0%,#ff78a026 100%);justify-content:center;min-width:160px}.countdown-btn.active{animation:.4s cdBtnPulse}@keyframes cdBtnPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.cd-flash .countdown-number{animation:.6s cdNumberFlash!important}@keyframes cdNumberFlash{0%,to{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.countdown-confetti{pointer-events:none;z-index:10;position:absolute;inset:0;overflow:hidden}.confetti-heart{will-change:transform, opacity;font-size:.7rem;animation:1s cubic-bezier(.22,1,.36,1) forwards confettiFall;position:absolute;top:50%}@keyframes confettiFall{0%{opacity:1;transform:translate(0,0)scale(.5)rotate(0)}to{opacity:0;transform:translateY(60px)scale(1)rotate(180deg)}}.adventure-btn{background:linear-gradient(135deg,#ffb4c840 0%,#ff8caa26 100%)}.adventure-btn.shake{animation:.6s cubic-bezier(.22,1,.36,1) advBtnShake}@keyframes advBtnShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.adv-bounce{animation:.7s cubic-bezier(.34,1.56,.64,1) advPolaroidBounce!important}@keyframes advPolaroidBounce{0%{transform:rotate(-3deg)}40%{transform:rotate(2deg)scale(1.03)}70%{transform:rotate(-4deg)scale(.99)}to{transform:rotate(-3deg)scale(1)}}.flowers1-btn{background:linear-gradient(135deg,#ffd2c840 0%,#ffb4aa26 100%)}.flowers1-btn.active{animation:.35s f1BtnPress}@keyframes f1BtnPress{0%{transform:scale(1)}40%{transform:scale(.95)}to{transform:scale(1)}}.f1-zoomed{animation:2s cubic-bezier(.22,1,.36,1) forwards f1SlowZoom!important}@keyframes f1SlowZoom{0%{transform:scale(1)}60%{transform:scale(1.04)}to{transform:scale(1)}}.glow-caption{transition:text-shadow .5s;text-shadow:0 0 30px #ffb6c1cc!important}.flowers2-btn{background:linear-gradient(135deg,#ffdceb40 0%,#ffbed226 100%)}.flowers2-btn.active{animation:.3s f2BtnPress}@keyframes f2BtnPress{0%{transform:scale(1)}50%{transform:scale(.96)}to{transform:scale(1)}}.f2-tilt{animation:1.2s cubic-bezier(.22,1,.36,1) forwards f2TiltSettle!important}@keyframes f2TiltSettle{0%{transform:rotate(0)}30%{transform:rotate(2deg)}70%{transform:rotate(-1deg)}to{transform:rotate(0)}}.flowers2-heart-pop{pointer-events:none;z-index:20;will-change:transform, opacity;font-size:1.2rem;animation:1.2s cubic-bezier(.22,1,.36,1) forwards heartPopUp;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}@keyframes heartPopUp{0%{opacity:1;transform:translate(-50%)translateY(0)scale(.5)}to{opacity:0;transform:translate(-50%)translateY(-50px)scale(1.2)}}.cutie-btn{background:linear-gradient(135deg,#ffbed240 0%,#ffa0be26 100%)}.cutie-btn.bounce{animation:.6s cubic-bezier(.34,1.56,.64,1) cutieBtnBounce}@keyframes cutieBtnBounce{0%,to{transform:translateY(0)}30%{transform:translateY(-8px)}50%{transform:translateY(-4px)rotate(3deg)}70%{transform:translateY(-2px)rotate(-2deg)}}.cutie-mini-hearts{pointer-events:none;z-index:10;position:absolute;inset:0;overflow:hidden}.cutie-float-heart{will-change:transform, opacity;font-size:.65rem;animation:.8s cubic-bezier(.22,1,.36,1) forwards cutieHeartUp;position:absolute;bottom:30%}@keyframes cutieHeartUp{0%{opacity:1;transform:translate(0,0)scale(.5)}to{opacity:0;transform:translateY(-60px)scale(1)}}.cutered-btn{background:linear-gradient(135deg,#ffa0b440 0%,#ff82a026 100%)}.cutered-btn.fade-cycle{animation:1.2s cuteredBtnFade}@keyframes cuteredBtnFade{0%{opacity:1}40%{opacity:.2}to{opacity:1}}.cutered-vig-deep{transition:background .6s;background:radial-gradient(#0000 40%,#28050f8c 100%)!important}.cutered-glow{transition:box-shadow .6s;box-shadow:0 0 50px #ff82aa4d,0 8px 36px #c8507840!important}.eyes-btn{letter-spacing:1px;background:linear-gradient(135deg,#c8b4c333 0%,#b4a0b41f 100%)}.eyes-btn.active{animation:.5s eyesBtnDeep}@keyframes eyesBtnDeep{0%{transform:scale(1)}50%{transform:scale(.96)}to{transform:scale(1)}}.eyes-zoom{animation:2.2s cubic-bezier(.22,1,.36,1) forwards eyesCardZoom!important}@keyframes eyesCardZoom{0%{transform:scale(1)}60%{transform:scale(1.05)}to{transform:scale(1)}}.eyes-strong{transition:text-shadow .6s,opacity .6s;opacity:1!important;text-shadow:0 0 35px #ffb6c1b3!important}.bite-btn{background:linear-gradient(135deg,#ffaac340 0%,#ff8caa26 100%)}.bite-btn.shake{animation:.5s cubic-bezier(.22,1,.36,1) biteBtnShake}@keyframes biteBtnShake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-3px)rotate(-2deg)}50%{transform:translate(3px)rotate(2deg)}75%{transform:translate(-2px)rotate(-1deg)}}.bite-mark{pointer-events:none;z-index:20;will-change:transform, opacity;font-size:1.6rem;animation:1.2s cubic-bezier(.22,1,.36,1) forwards biteAppear;position:absolute;top:35%;right:25%}@keyframes biteAppear{0%{opacity:0;transform:scale(0)rotate(-20deg)}30%{opacity:1;transform:scale(1.3)rotate(5deg)}to{opacity:0;transform:scale(.8)rotate(0)}}.finale-climax-btn.climax{animation:1.5s cubic-bezier(.22,1,.36,1) finaleClimaxPulse}@keyframes finaleClimaxPulse{0%{transform:scale(1)}20%{transform:scale(.96)}50%{transform:scale(1.06)}to{transform:scale(1)}}.finale-screen-glow{pointer-events:none;z-index:100;will-change:opacity;background:radial-gradient(circle,#ffb6c133 0%,#0000 60%);animation:2.5s forwards screenGlowFade;position:fixed;inset:0}@keyframes screenGlowFade{0%{opacity:0}30%{opacity:1}to{opacity:0}}@media (max-width:768px){.heart-frame,.date-badge,.bite-decoration,.audio-ui,.love-declaration,.meaning-list,.letter-card,.countdown-unit,.mood-toggle{-webkit-backdrop-filter:none}.polaroid-wall{gap:.6rem}.countdown-grid{gap:.5rem}.mood-toggle{width:42px;height:42px;font-size:1.2rem;top:.8rem;right:.8rem}}@media (max-width:480px){.section{padding:2rem 1.25rem}.firstdate-section{min-height:100vh;padding:3.5rem 1.25rem 4rem}.fd-ticket-wrap{max-width:280px}.fd-cozy-wrap{max-width:250px}.movie-card{border-radius:26px;padding:2rem 1.5rem}.letter-card{border-radius:28px;padding:3rem 1.8rem}.audio-ui{padding:1.4rem 2rem}.heart-frame{border-radius:25px;padding:2.5rem}.moonlight{width:60px;height:60px;top:10%;right:8%}.meaning-list{border-radius:25px;padding:2rem 1.5rem}.bite-decoration{padding:1.5rem 2rem;font-size:2.5rem}.love-declaration{border-radius:28px;padding:2.5rem 1.5rem}.polaroid-wall{grid-template-columns:repeat(2,1fr);gap:.5rem;max-width:300px}.polaroid-emoji{font-size:1.8rem}.countdown-grid{max-width:300px}.dream-list{max-width:280px}.hug-button{padding:1rem 2rem}.photo-frame{max-width:280px}.full-frame{max-width:320px}.photo-title{font-size:clamp(1.3rem,5vw,1.8rem)}.card-frame{border-radius:16px;padding:6px}.card-frame .photo-img{border-radius:12px}}@media (min-width:768px){.section-content{max-width:550px}.movie-card{border-radius:36px;padding:3rem}.meaning-list{max-width:480px;padding:3rem 2.5rem}.letter-card{border-radius:38px;padding:4rem 3rem}.heart-frame{border-radius:35px;padding:3.5rem 5rem}.love-declaration{border-radius:40px;padding:3.5rem 3rem}.photo-frame{max-width:380px}.full-frame{max-width:440px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#8b0a1a80}::-webkit-scrollbar-thumb{background:linear-gradient(to bottom, var(--hot-pink), var(--crimson));border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(to bottom, var(--soft-pink), var(--rose-pink))}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
