@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&family=Cormorant+Garamond:wght@300;400;500;600;700&family=Cinzel:wght@400;500;600;700;800;900&family=Dancing+Script:wght@400;500;600;700&family=Great+Vibes&display=swap";:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;height:100vh}*{margin:0;padding:0;box-sizing:border-box}.app{width:100vw;height:100vh;background:radial-gradient(ellipse at bottom,#1b2735,#090a0f);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;pointer-events:none;z-index:1;transition:opacity 2s ease}.overlay.fade-out{opacity:0}.scroll-hint{position:fixed;bottom:40px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:10px;animation:scrollBounce 2s ease-in-out infinite;pointer-events:none}.scroll-hint .hint-text{font-family:Cormorant Garamond,serif;font-size:1.4rem;color:#ffffffb3;text-shadow:0 2px 10px rgba(0,0,0,.5);letter-spacing:.1em}.scroll-hint .hint-icon{font-size:2rem;animation:arrowBounce 1.5s ease-in-out infinite}@keyframes scrollBounce{0%,to{opacity:.5}50%{opacity:1}}@keyframes arrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.scroll-progress-bar{position:fixed;bottom:0;left:0;width:100%;height:3px;background:#ffffff1a;z-index:101}.scroll-progress-fill{height:100%;background:linear-gradient(90deg,#ffd700cc,#ff6b9dcc,#8a2be2cc);transition:width .1s ease-out;box-shadow:0 0 10px #ffd70099}.click-hint{position:fixed;bottom:40px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:10px;animation:hintPulse 2s ease-in-out infinite;pointer-events:none}.hint-text{font-family:Cormorant Garamond,serif;font-size:1.4rem;color:#ffffffb3;text-shadow:0 2px 10px rgba(0,0,0,.5);letter-spacing:.1em}.hint-icon{font-size:2rem;animation:hintBounce 1s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes hintBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.countdown-container{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;padding:3rem;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #00000080}.countdown-title{font-family:Cinzel,serif;font-size:3.5rem;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(255,215,0,.4),0 0 40px rgba(255,215,0,.2);letter-spacing:.15em;text-transform:uppercase;animation:titleGlow 3s ease-in-out infinite}@keyframes titleGlow{0%,to{opacity:.9}50%{opacity:1;text-shadow:0 0 30px rgba(255,215,0,.6),0 0 60px rgba(255,215,0,.3)}}.countdown-timer{display:flex;align-items:center;gap:2rem}.time-unit{display:flex;flex-direction:column;align-items:center;gap:.5rem}.time-value{font-family:Cinzel,serif;font-size:5rem;font-weight:800;color:gold;text-shadow:0 0 20px rgba(255,215,0,.5),0 5px 15px rgba(0,0,0,.5);line-height:1;min-width:100px;text-align:center}.time-label{font-family:Cormorant Garamond,serif;font-size:1.2rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.2em}.time-separator{font-family:Cinzel,serif;font-size:4rem;color:#ffd70099;font-weight:600;animation:separatorBlink 2s ease-in-out infinite}@keyframes separatorBlink{0%,to{opacity:1}50%{opacity:.3}}.countdown-message{font-family:Cormorant Garamond,serif;font-size:1.8rem;color:#fffc;font-style:italic;letter-spacing:.1em;text-shadow:0 2px 10px rgba(0,0,0,.5)}.loading-text{font-family:Cinzel,serif;font-size:2rem;color:gold;text-shadow:0 0 20px rgba(255,215,0,.5);animation:loadingPulse 1.5s ease-in-out infinite}@keyframes loadingPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@media(max-width:768px){.countdown-container{padding:2rem;gap:2rem}.countdown-title{font-size:2rem}.countdown-timer{gap:1rem}.time-value{font-size:3rem;min-width:70px}.time-label{font-size:.9rem}.time-separator{font-size:2.5rem}.countdown-message{font-size:1.2rem}}.test-button{margin-top:2rem;padding:12px 30px;font-family:Cinzel,serif;font-size:1rem;color:#ffffffe6;background:#667eea33;border:2px solid rgba(255,215,0,.4);border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.1em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.test-button:hover{background:#667eea66;border-color:#ffd700cc;color:gold;transform:translateY(-2px);box-shadow:0 5px 20px #ffd7004d}.test-button:active{transform:translateY(0)}.starfield{position:absolute;width:100%;height:100%;overflow:hidden;z-index:2}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle linear infinite;box-shadow:0 0 10px #fffc;transition:transform .3s ease,opacity .3s ease}.star.bright{box-shadow:0 0 15px gold,0 0 25px #ffd70080}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.shooting-star{position:absolute;width:2px;height:2px;background:#fff;box-shadow:0 0 10px 2px #fffc;animation:shoot 3s ease-out infinite;opacity:0}.shooting-star:nth-child(202){top:20%;left:80%}.shooting-star:nth-child(203){top:40%;left:70%}.shooting-star:nth-child(204){top:60%;left:85%}.shooting-star:nth-child(205){top:30%;left:75%}@keyframes shoot{0%{opacity:1;transform:translate(0) translateY(0)}70%{opacity:1}to{opacity:0;transform:translate(-300px) translateY(200px)}}.fireworks-container{position:absolute;width:100%;height:100%;pointer-events:none;z-index:5}.firework{position:absolute;transform:translate(-50%,-50%)}.particle{position:absolute;width:3px;height:3px;background:var(--color);border-radius:50%;box-shadow:0 0 10px var(--color),0 0 20px var(--color),0 0 30px var(--color),0 0 40px var(--color);animation:explode 2.5s ease-out forwards;animation-delay:var(--delay);left:0;top:0}@keyframes explode{0%{transform:translate(0) scale(0);opacity:0}10%{opacity:1}50%{opacity:1}to{transform:translate(calc(cos(var(--angle)) * var(--firework-size)),calc(sin(var(--angle)) * var(--firework-size) + 50px)) scale(0);opacity:0;filter:blur(2px)}}.message-container{position:relative;z-index:10;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none}.handwritten-note{font-family:Dancing Script,cursive;font-size:2rem;color:#ffd700e6;margin-top:20px;animation:handwritingAppear 1s ease-out .5s forwards;opacity:0;transform:rotate(-2deg)}.handwritten-note.small{font-size:1.6rem;color:#ffffffb3;font-style:italic}.handwritten-note.tiny{font-size:1.3rem;line-height:1.8}.handwritten-subtitle{font-family:Dancing Script,cursive;font-size:1.8rem;color:#fffc;margin-top:30px;animation:fadeInUp .8s ease-out forwards}.handwritten-signature{font-family:Great Vibes,cursive;font-size:2.5rem;color:gold;margin-top:25px;opacity:0;animation:signatureWrite 1.5s ease-out 3s forwards;transform:rotate(-3deg)}.heart-doodle{font-size:2rem;animation:heartBeat 1.5s ease-in-out infinite;display:inline-block;margin-left:10px}.doodle{font-size:2.5rem;margin-top:30px;opacity:0;animation:doodleAppear .8s ease-out 2s forwards}.interactive{transition:all .3s ease;cursor:pointer}.interactive:hover{transform:scale(1.15) rotate(5deg);filter:brightness(1.3)}.glow-hover:hover{text-shadow:0 0 50px rgba(255,215,0,.9)}.interactive-line{cursor:pointer;transition:all .3s ease}.interactive-line:hover{transform:translate(10px) scale(1.05);color:gold;text-shadow:0 0 20px rgba(255,215,0,.6)}.sparkle{animation:sparkleRotate 3s ease-in-out infinite,pulse 2s ease-in-out infinite;cursor:pointer}.sparkle:hover{transform:scale(1.5) rotate(180deg);filter:brightness(2)}.countdown{position:absolute;opacity:0;transform:scale(.5);transition:all 1.5s cubic-bezier(.34,1.56,.64,1);pointer-events:all}.countdown.active{opacity:1;transform:scale(1)}.countdown.exit{opacity:0;transform:scale(1.5)}.countdown-text{font-family:Cinzel,serif;font-size:2rem;font-weight:600;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.8),0 0 40px rgba(255,215,0,.6);animation:pulse 1.5s ease-in-out infinite;letter-spacing:.15em;line-height:1.6;max-width:80%;margin:0 auto}.year-reveal{position:absolute;opacity:0;transform:translateY(100px) scale(.8);transition:all 1.5s cubic-bezier(.175,.885,.32,1.275);pointer-events:all}.year-reveal.active{opacity:1;transform:translateY(0) scale(1)}.year-reveal.fade-up{opacity:0;transform:translateY(-100px)}.year-container{display:flex;gap:20px;margin-bottom:30px;perspective:1000px}.digit{font-family:Cinzel,serif;font-size:10rem;font-weight:900;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb,#4facfe,#00f2fe);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientFlow 4s ease infinite,digitFloat 3s ease-in-out infinite;display:inline-block;transform-style:preserve-3d}.digit:nth-child(1){animation-delay:0s,0s}.digit:nth-child(2){animation-delay:.3s,.3s}.digit:nth-child(3){animation-delay:.6s,.6s}.digit:nth-child(4){animation-delay:.9s,.9s}.subtitle{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:300;color:#fff;letter-spacing:.5em;text-transform:uppercase;opacity:0;animation:fadeInUp 1s ease-out 1.5s forwards}.subtitle.handwritten{font-family:Dancing Script,cursive;text-transform:none;letter-spacing:.05em;font-size:2.8rem;transform:rotate(-2deg)}.main-greeting{position:absolute;opacity:0;transform:translateY(50px);transition:all 1.2s cubic-bezier(.68,-.55,.265,1.55);pointer-events:all}.main-greeting.active{opacity:1;transform:translateY(0)}.main-greeting.fade-out{opacity:0;transform:translateY(-50px)}.elegant-title{font-family:Playfair Display,serif;font-size:6rem;font-weight:800;display:flex;flex-direction:column;gap:10px}.word{display:inline-block;background:linear-gradient(90deg,#fff,gold,#fff);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmerGold 3s linear infinite;letter-spacing:.1em}.message-scene{position:absolute;width:90%;max-width:900px;opacity:0;transform:translateY(50px);transition:all 1.5s cubic-bezier(.25,.46,.45,.94);pointer-events:all}.message-scene.active{opacity:1;transform:translateY(0)}.message-scene.fade-out{opacity:0;transform:translateY(-50px);transition:all 1s ease-in}.message-content{padding:40px}.elegant-line{font-family:Cormorant Garamond,serif;font-size:2.8rem;font-weight:400;color:#fff;margin:20px 0;opacity:0;transform:translate(-30px);animation:slideInElegant 1s ease-out forwards;text-shadow:0 2px 20px rgba(0,0,0,.5);line-height:1.6;letter-spacing:.02em}.elegant-line:nth-child(1){animation-delay:.3s}.elegant-line:nth-child(2){animation-delay:.8s}.elegant-line:nth-child(3){animation-delay:1.3s}.personal-note{margin-top:40px;opacity:0;animation:fadeInUp 1s ease-out 2s forwards}.secret-message{margin-top:50px;padding:20px;background:transparent;border-radius:15px;animation:secretReveal 1s ease-out forwards}.scene-final{transition:all 2s cubic-bezier(.25,.46,.45,.94)}.final-content{position:relative;padding:60px;background:radial-gradient(ellipse at center,rgba(102,126,234,.1) 0%,transparent 70%);border-radius:20px}.ornament{font-size:3rem;color:gold;text-shadow:0 0 30px rgba(255,215,0,.8)}.ornament.top{margin-bottom:15px}.ornament.bottom{margin-top:15px}.romantic-line{font-family:Playfair Display,serif;font-size:3rem;font-weight:400;color:#fff;margin:8px 0;opacity:0;transform:scale(.9);animation:gentleAppear 1.2s cubic-bezier(.34,1.56,.64,1) forwards;text-shadow:0 5px 30px rgba(0,0,0,.7);line-height:1.5}.romantic-line:nth-child(2){animation-delay:.4s}.romantic-line:nth-child(3){animation-delay:.8s}.romantic-line:nth-child(4){animation-delay:1.2s}.romantic-line:nth-child(5){animation-delay:1.6s}.romantic-line:nth-child(6){animation-delay:2s}.romantic-line.highlight{font-weight:600;font-style:italic;background:linear-gradient(135deg,#ff6b9d,#ffc371,#ff6b9d);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gentleAppear 1.2s cubic-bezier(.34,1.56,.64,1) forwards,gradientFlow 4s ease infinite;filter:drop-shadow(0 0 20px rgba(255,107,157,.5))}.romantic-line.final-wish{font-size:3.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb,#ffc371,#ff6b9d);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gentleAppear 1.2s cubic-bezier(.34,1.56,.64,1) forwards,gradientFlow 5s ease infinite,gentlePulse 3s ease-in-out infinite;margin-top:15px;filter:drop-shadow(0 0 30px rgba(102,126,234,.6))}@keyframes gradientFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes digitFloat{0%,to{transform:translateY(0) rotateY(0)}50%{transform:translateY(-20px) rotateY(10deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes shimmerGold{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInElegant{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gentleAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes sparkleRotate{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}@keyframes handwritingAppear{0%{opacity:0;transform:translateY(20px) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}@keyframes signatureWrite{0%{opacity:0;transform:translate(-50px) rotate(-5deg)}to{opacity:1;transform:translate(0) rotate(-3deg)}}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}}@keyframes doodleAppear{0%{opacity:0;transform:scale(0) rotate(-180deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes secretReveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.floating-sparkles{display:flex;gap:60px;margin-top:30px}.floating-sparkles .sparkle{font-size:2rem;animation:floatUpDown 3s ease-in-out infinite;display:inline-block}.floating-sparkles .sparkle:nth-child(1){animation-delay:0s}.floating-sparkles .sparkle:nth-child(2){animation-delay:.5s}.floating-sparkles .sparkle:nth-child(3){animation-delay:1s}@keyframes floatUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.decorative-line{display:flex;align-items:center;gap:20px;margin-top:30px;opacity:0;animation:fadeInUp .8s ease-out 1s forwards}.decorative-line span{color:#ffd700cc;font-size:1.2rem}.line-segment{width:100px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.6),transparent)}.icon-badge{font-size:4rem;margin-bottom:30px;animation:bounceIn .8s ease-out,pulse 2s ease-in-out 1s infinite;display:inline-block}.icon-badge.large{font-size:5rem;margin-bottom:40px}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.support-icons{display:flex;gap:40px;justify-content:center;margin-top:40px}.support-icon{font-size:3rem;animation:popIn .6s ease-out backwards;display:inline-block;transition:transform .3s ease}.support-icon:nth-child(1){animation-delay:2s}.support-icon:nth-child(2){animation-delay:2.3s}.support-icon:nth-child:nth-child(3){animation-delay:2.6s}.support-icon:hover{transform:scale(1.3) rotate(10deg)}@keyframes popIn{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.animated-elements{position:absolute;width:100%;top:50%;left:0;pointer-events:none}.float-element{position:absolute;font-size:2.5rem;animation:floatAround 8s ease-in-out infinite}.float-element:nth-child(1){left:10%;animation-delay:0s}.float-element:nth-child(2){right:10%;animation-delay:2s}@keyframes floatAround{0%,to{transform:translate(0) rotate(0);opacity:.6}25%{transform:translate(20px,-30px) rotate(10deg);opacity:1}50%{transform:translate(-20px,-60px) rotate(-10deg);opacity:.8}75%{transform:translate(30px,-30px) rotate(5deg);opacity:1}}.support-badges{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:50px;opacity:0;animation:fadeInUp 1s ease-out 2s forwards}.badge{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:#ffffffe6;background:#ffd7001a;padding:12px 25px;border-radius:30px;border:2px solid rgba(255,215,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;animation:badgeFloat 3s ease-in-out infinite}.badge:nth-child(1){animation-delay:0s}.badge:nth-child(2){animation-delay:.3s}.badge:nth-child(3){animation-delay:.6s}.badge:hover{transform:translateY(-5px) scale(1.05);background:#ffd70033;border-color:#ffd70099;box-shadow:0 10px 30px #ffd7004d}@keyframes badgeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.subtle-notes{margin-top:20px;opacity:0;animation:fadeInUp 1s ease-out 2s forwards}.subtle-line{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:#fff9;margin:5px 0;font-style:italic;letter-spacing:.05em;transition:all .3s ease}.subtle-line:hover{color:#ffd700cc;transform:translate(5px)}@media(max-width:1024px){.digit{font-size:7rem}.elegant-title{font-size:4.5rem}.elegant-line{font-size:2.2rem}.romantic-line{font-size:2.3rem}.romantic-line.final-wish{font-size:2.8rem}.countdown-text{font-size:3rem}}@media(max-width:768px){.digit{font-size:5rem}.year-container{gap:10px}.subtitle{font-size:1.8rem}.elegant-title{font-size:3rem}.elegant-line{font-size:1.8rem}.romantic-line{font-size:1.8rem;margin:15px 0}.romantic-line.final-wish{font-size:2.2rem}.countdown-text{font-size:2.5rem}.handwritten-note{font-size:1.6rem}.handwritten-signature{font-size:2rem}.final-content{padding:40px 20px}}@media(max-width:480px){.digit{font-size:4rem}.year-container{gap:5px}.subtitle{font-size:1.4rem}.elegant-title{font-size:2.5rem}.elegant-line{font-size:1.4rem}.romantic-line{font-size:1.5rem;margin:12px 0}.romantic-line.final-wish{font-size:1.8rem}.countdown-text,.ornament{font-size:2rem}.handwritten-note{font-size:1.3rem}.handwritten-signature{font-size:1.7rem}}.particle-system{position:absolute;width:100%;height:100%;pointer-events:none;z-index:3;overflow:hidden}.particle{position:absolute;bottom:-20px;border-radius:50%;animation:floatUpParticle linear forwards;opacity:0}.particle.dot{background:radial-gradient(circle,gold,#ffd70000 70%);box-shadow:0 0 10px #ffd700cc}.particle.sparkle{background:radial-gradient(circle,#fff,#fff0 70%);box-shadow:0 0 15px #ffffffe6}@keyframes floatUpParticle{0%{bottom:-20px;opacity:0}10%{opacity:.8}90%{opacity:.5}to{bottom:110%;opacity:0;transform:translate(calc((var(--random, .5) - .5) * 100px))}}.cursor-trail-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}.cursor-glow{position:fixed;width:30px;height:30px;background:radial-gradient(circle,rgba(255,215,0,.5) 0%,rgba(255,215,0,.2) 50%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:49;filter:blur(6px);transition:all .15s ease-out;animation:softGlow 3s ease-in-out infinite}@keyframes softGlow{0%,to{opacity:.6}50%{opacity:.9}}.trail-particle{position:fixed;background:radial-gradient(circle,rgba(255,215,0,.8) 0%,rgba(255,200,100,.4) 40%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;animation:smoothFade .8s cubic-bezier(.4,0,.2,1) forwards;box-shadow:0 0 10px #ffd70080}.trail-particle.burst{background:radial-gradient(circle,rgba(255,215,0,1) 0%,rgba(255,150,100,.6) 50%,transparent 70%);animation:burstEffect .6s cubic-bezier(.34,1.56,.64,1) forwards;box-shadow:0 0 15px #ffd700cc}@keyframes smoothFade{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.3)}}@keyframes burstEffect{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}to{opacity:0;transform:translate(-50%,-50%) scale(.5)}}.interactive-hearts-container{position:absolute;width:100%;height:100%;pointer-events:none;z-index:15;overflow:hidden}.floating-heart{position:absolute;bottom:-50px;animation:floatUpInteractive linear forwards;filter:drop-shadow(0 0 10px rgba(255,107,157,.6));transition:transform .2s ease}.floating-heart.clickable{pointer-events:all;cursor:pointer}.floating-heart.clickable:hover{transform:scale(1.3) rotate(15deg);filter:drop-shadow(0 0 20px rgba(255,107,157,1))}.floating-heart.mini{animation:miniExplode 1s ease-out forwards}@keyframes floatUpInteractive{0%{bottom:-50px;opacity:0;transform:translate(0) rotate(0)}10%{opacity:1}90%{opacity:1}to{bottom:110%;opacity:0;transform:translate(calc(30px*sin(var(--random, 1)))) rotate(360deg)}}@keyframes miniExplode{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(calc(cos(var(--angle))*100px),calc(sin(var(--angle))*100px)) scale(0);opacity:0}}.heart-counter{position:fixed;top:30px;right:30px;background:#ff6b9d33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 30px;border-radius:50px;border:2px solid rgba(255,107,157,.4);animation:counterPop .5s cubic-bezier(.68,-.55,.265,1.55);pointer-events:none}.counter-text{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}@keyframes counterPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}
