@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.min-h-\[45px\]{min-height:45px}.min-h-screen{min-height:100vh}.w-full{width:100%}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-default{cursor:default}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.bg-\[\#bb9457\]{background-color:#bb9457}.bg-\[\#ca8a04\]{background-color:#ca8a04}.bg-\[\#e11d48\]{background-color:#e11d48}.bg-\[\#fde047\]{background-color:#fde047}.bg-\[\#fdf0d5\]{background-color:#fdf0d5}.bg-\[\#ffb7c5\]{background-color:#ffb7c5}.bg-\[\#fff0f3\]{background-color:#fff0f3}.bg-\[\#fff0f5\]{background-color:#fff0f5}.bg-\[\#fff5f5\]{background-color:#fff5f5}.bg-\[\#fff5f7\]{background-color:#fff5f7}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#432818\]{--tw-gradient-from:#432818;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#b45309\]{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#be123c\]{--tw-gradient-from:#be123c;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#be185d\]{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#ff4d94\]{--tw-gradient-from:#ff4d94;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#603808\]{--tw-gradient-via:#603808;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#db2777\]{--tw-gradient-via:#db2777;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#e11d48\]{--tw-gradient-via:#e11d48;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#ff85a2\]{--tw-gradient-via:#ff85a2;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#99582a\]{--tw-gradient-to:#99582a;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#d97706\]{--tw-gradient-to:#d97706;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#f06292\]{--tw-gradient-to:#f06292;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#fb7185\]{--tw-gradient-to:#fb7185;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.text-center{text-align:center}.text-\[\#9f1239\]{color:#9f1239}.text-\[\#99582a\]{color:#99582a}.text-\[\#374151\]{color:#374151}.text-\[\#432818\]{color:#432818}.text-\[\#603808\]{color:#603808}.text-\[\#881337\]{color:#881337}.text-\[\#be123c\]{color:#be123c}.text-\[\#be185d\]{color:#be185d}.text-\[\#db2777\]{color:#db2777}.text-\[\#e11d48\]{color:#e11d48}.text-\[\#fb7185\]{color:#fb7185}.text-\[\#ff4d94\]{color:#ff4d94}.text-\[\#ff85a2\]{color:#ff85a2}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow-\[0_20px_50px_rgba\(190\,24\,93\,0\.3\)\]{--tw-shadow:0 20px 50px var(--tw-shadow-color,#be185d4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(255\,77\,148\,0\.4\)\]{--tw-shadow:0 20px 50px var(--tw-shadow-color,#ff4d9466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(225\,29\,72\,0\.5\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,#e11d4880);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}@media(hover:hover){.hover\:shadow-\[\#ff4d94\]\/70:hover{--tw-shadow-color:#ff4d94b3}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-\[\#ff4d94\]\/70:hover{--tw-shadow-color:color-mix(in oklab,oklab(68.8439% .219833 .00193197/.7) var(--tw-shadow-alpha),transparent)}}}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}body{background:linear-gradient(#fff5f5,#fed7e2);margin:0;padding:0;font-family:Georgia,serif;overflow:hidden}@keyframes fall{0%{opacity:1;transform:translateY(-10vh)translate(0)rotate(0)}to{opacity:0;transform:translateY(110vh)translate(100px)rotate(360deg)}}.petal-bg{color:#ffb7c5;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;animation:linear infinite fall;position:absolute;top:-10%}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}body,html{margin:0;padding:0;width:100%;height:100%;overflow:hidden}.valentine-app{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;background-image:url(/heart-bg.jpg);background-size:cover;background-position:center;font-family:Pixelify Sans,sans-serif;touch-action:manipulation}#envelope-container{text-align:center;cursor:pointer}#envelope{width:180px;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}#letter-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.letter-window{width:60vw;max-width:800px;aspect-ratio:3/2;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-image:url(/window.png);background-size:contain;background-repeat:no-repeat;background-position:center;padding:10% 5% 5%;transform:scale(.9);opacity:0;transition:transform .5s ease-out,opacity .5s ease-out}.letter-window.open{transform:scale(1);opacity:1}h1{font-size:2vw;min-size:18px;margin:0;color:#333}.cat{width:40%;max-width:200px;margin:10px 0}.buttons{display:flex;justify-content:center;gap:2vw;position:relative;width:100%}.btn{width:8vw;max-width:110px;min-width:60px;cursor:pointer;-webkit-tap-highlight-color:transparent}.no-btn{transition:transform .2s ease}.final-text{font-size:1.5vw;min-size:14px;background-color:#fff6;border-radius:8px;padding:5px}@media(max-width:768px){.letter-window{width:90vw}h1{font-size:5vw}.final-text{font-size:4vw}.btn{width:25vw}}.rd-container{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden;position:relative}.rose-canvas{height:400px;display:flex;justify-content:center;align-items:center;position:relative;z-index:5;transform:scale(1.3)}.rose-main{position:relative;width:100px;height:300px}.rose-petals-container{position:absolute;width:80px;height:80px;left:50%;transform:translate(-50%);z-index:10;overflow:visible!important}.petal{position:absolute;bottom:0;left:50%;width:60px;height:85px;background:radial-gradient(circle at center,#ff85a2,#ff4d94)!important;border-radius:50%/80% 80% 20% 20%;transform-origin:bottom center;opacity:0;animation:bloom 2s ease-out forwards;backface-visibility:hidden;box-shadow:inset 0 0 8px #0000001a}.falling-petal{z-index:50!important;animation:bloom 2s ease-out forwards,petal-drift 5s ease-in-out 3.5s forwards!important}.rose-stem{position:absolute;width:6px;height:220px;background:linear-gradient(to bottom,#0a4d0a,#043304);left:50%;top:60px;transform:translate(-50%);border-radius:4px}.leaf{position:absolute;width:45px;height:22px;background:#1b4332;border-radius:0 50%;z-index:2;top:155px}.leaf-1{left:-25px;transform:rotate(-20deg)}.leaf-2{right:-25px;transform:rotate(200deg)}@keyframes bloom{0%{transform:translate(-50%) scale(0);opacity:0}to{opacity:1}}@keyframes petal-drift{0%{transform:translate(-50%) rotate(var(--rot));top:0}to{transform:translate3d(-100px,450px,0) rotate(240deg);opacity:0}}@keyframes pop{0%{transform:translate3d(-50%,-50%,0) scale(0);opacity:1}to{transform:translate3d(calc(var(--x-dir) * var(--dist)),calc(var(--y-dir) * var(--dist)),0) scale(1.2) rotate(360deg);opacity:0}}.animate-pop{animation:pop 1.2s cubic-bezier(.2,.8,.2,1) forwards}.petal-bg{position:absolute;top:-10%;font-size:2.5rem;animation:fall linear infinite;pointer-events:none;color:#ffb7c5}@keyframes fall{0%{transform:translateY(-10vh) rotate(0);opacity:.8}to{transform:translateY(110vh) rotate(360deg);opacity:0}}.propose-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:#fff0f3;font-family:"serif";overflow:hidden}.card{text-align:center;padding:40px;background:#fff;border-radius:30px;box-shadow:0 10px 30px #0000000d}h1{color:#ff4d94;font-size:3rem;margin-bottom:20px}.heart-shape{background-color:#ff4d94;height:50px;width:50px;margin:40px auto;position:relative;transform:rotate(-45deg);animation:pulse .6s infinite alternate}.heart-shape:before,.heart-shape:after{content:"";background-color:#ff4d94;border-radius:50%;height:50px;width:50px;position:absolute}.heart-shape:before{top:-25px;left:0}.heart-shape:after{left:25px;top:0}@keyframes pulse{to{transform:rotate(-45deg) scale(1.2)}}.btn-group{margin-top:30px;height:100px}.yes-btn{background:#ff4d94;color:#fff;border:none;padding:15px 40px;font-size:1.5rem;border-radius:50px;cursor:pointer}.no-btn{background:#ccc;color:#fff;border:none;padding:10px 25px;border-radius:50px;cursor:pointer;transition:.2s}.success-msg{text-align:center;animation:zoomIn .5s}.big-heart{font-size:5rem;margin-top:20px}@keyframes zoomIn{0%{transform:scale(0)}to{transform:scale(1)}}.choco-container{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}.choco-canvas{height:300px;display:flex;justify-content:center;align-items:center;transform:scale(1.3)}.choco-bar{width:120px;height:180px;background:#432818;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:8px;box-shadow:10px 10px 30px #0000004d;position:relative;z-index:2}.choco-chunk{background:#603808;border-radius:4px;box-shadow:inset -2px -2px 5px #0006,inset 2px 2px 5px #ffffff1a}.choco-wrapper-torn{position:absolute;bottom:-10px;width:140px;height:120px;background:#bb9457;left:50%;transform:translate(-50%);z-index:1;clip-path:polygon(0% 0%,100% 20%,100% 100%,0% 100%);box-shadow:0 5px 15px #0003}.bg-choco-item{position:absolute;top:-10%;animation:fallChoco linear infinite;opacity:.4;pointer-events:none}@keyframes fallChoco{0%{transform:translateY(0) rotate(0);opacity:0}20%{opacity:.6}to{transform:translateY(120vh) rotate(360deg);opacity:0}}@keyframes chocoPop{0%{transform:translate3d(-50%,-50%,0) scale(0);opacity:1}to{transform:translate3d(calc(var(--x-dir) * var(--dist)),calc(var(--y-dir) * var(--dist)),0) scale(1.3) rotate(360deg);opacity:0}}.animate-choco-pop{animation:chocoPop 1.5s cubic-bezier(.2,.8,.2,1) forwards}button{white-space:nowrap;letter-spacing:.05em;text-transform:uppercase}.choco-chunk{background:#603808;border-radius:4px;box-shadow:inset -2px -2px 5px #0006,inset 2px 2px 5px #ffffff1a;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.choco-chunk.eaten{transform:scale(0) rotate(20deg);opacity:0;filter:blur(5px)}.choco-bar{width:120px;height:180px;background:#361d0f;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:8px;box-shadow:10px 10px 30px #0000004d;position:relative;z-index:2}@keyframes shimmer{to{transform:translate(150%) skew(-12deg)}}.animate-shimmer{animation:shimmer 1.5s infinite}button span{white-space:nowrap;text-shadow:2px 4px 10px rgba(0,0,0,.3)}.teddy-container{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative;width:100%;min-height:100vh;touch-action:manipulation}.teddy-canvas{height:350px;display:flex;justify-content:center;align-items:center;transform:scale(1.1);margin-bottom:20px}.teddy-bear{position:relative;width:150px;height:130px;background:radial-gradient(circle at 30% 30%,#b47111,#854d0e);border-radius:70px 70px 60px 60px;box-shadow:inset -8px -8px 15px #0003,0 10px 20px #0000001a;z-index:5;transition:transform .3s ease}.ear{width:55px;height:55px;background:#854d0e;border-radius:50%;position:absolute;top:-10px;display:flex;justify-content:center;align-items:center;box-shadow:-2px 2px 5px #0000001a}.ear.left{left:-10px;transform:rotate(-10deg)}.ear.right{right:-10px;transform:rotate(10deg)}.inner-ear{width:30px;height:30px;background:#63390a;border-radius:50%;opacity:.8}.teddy-face{position:relative;width:100%;height:100%;z-index:6}.eye{width:14px;height:14px;background:#000;border-radius:50%;position:absolute;top:50px;box-shadow:0 2px 4px #0003}.eye:after{content:"";position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;top:3px;left:3px}.eye.left{left:40px}.eye.right{right:40px}.snout{width:65px;height:50px;background:#d4a373;border-radius:50%;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:inset 0 -2px 5px #0000000d}.nose{width:20px;height:14px;background:#2b1a10;border-radius:50% 50% 40% 40%;position:absolute;top:8px;left:50%;transform:translate(-50%)}.mouth{width:20px;height:10px;border-bottom:3px solid #2b1a10;border-radius:0 0 50% 50%;position:absolute;top:22px;left:50%;transform:translate(-50%)}.teddy-body{width:190px;height:200px;background:radial-gradient(circle at 30% 30%,#a16207,#854d0e);border-radius:50% 50% 45% 45%;position:absolute;top:90px;left:50%;transform:translate(-50%);z-index:-1;display:flex;justify-content:center;box-shadow:inset -10px -10px 20px #00000026}.belly{width:110px;height:130px;background:#d4a37340;border-radius:50%;margin-top:35px;filter:blur(5px)}.arm{width:60px;height:110px;background:#854d0e;border-radius:40px;position:absolute;top:120px;transition:all .6s cubic-bezier(.175,.885,.32,1.275);box-shadow:-2px 2px 5px #0003}.arm.left{left:-50px;transform:rotate(35deg);transform-origin:top right}.arm.right{right:-50px;transform:rotate(-35deg);transform-origin:top left}.foot{width:70px;height:80px;background:#854d0e;border-radius:50% 50% 40% 40%;position:absolute;bottom:-160px;box-shadow:0 5px 10px #0000001a}.foot.left{left:-15px;transform:rotate(15deg)}.foot.right{right:-15px;transform:rotate(-15deg)}.teddy-bear.hugging .arm.left{transform:rotate(-35deg) translate(55px,-10px);z-index:10}.teddy-bear.hugging .arm.right{transform:rotate(35deg) translate(-55px,-10px);z-index:10}.hug-heart{font-size:4rem;position:absolute;top:35%;z-index:20;animation:heartPulse .8s infinite alternate;filter:drop-shadow(0 0 10px rgba(255,0,0,.5))}@keyframes heartPulse{0%{transform:scale(1)}to{transform:scale(1.3)}}@keyframes floatTeddy{0%{transform:translateY(0) rotate(0);opacity:0}50%{opacity:.5}to{transform:translateY(-120vh) rotate(360deg);opacity:0}}.bg-teddy-item{position:absolute;top:100%;animation:floatTeddy linear infinite;opacity:.3;pointer-events:none;font-size:2rem}@keyframes teddyPop{0%{transform:translate3d(-50%,-50%,0) scale(0);opacity:1}to{transform:translate3d(calc(var(--x-dir) * var(--dist)),calc(var(--y-dir) * var(--dist)),0) scale(1.2) rotate(360deg);opacity:0}}.animate-teddy-pop{animation:teddyPop 1.2s cubic-bezier(.2,.9,.2,1) forwards}button{-webkit-tap-highlight-color:transparent}:root{--hand-w: 130px;--hand-h: 155px;--palm-w: 110px;--palm-h: 120px;--pinky-w: 28px;--pinky-h: 70px;--canvas-scale: 1.4;--gap-open: 140px;--gap-locked: 25px}@media(max-width:768px){:root{--hand-w: 90px;--hand-h: 110px;--palm-w: 75px;--palm-h: 85px;--pinky-w: 20px;--pinky-h: 50px;--canvas-scale: 1.1;--gap-open: 90px;--gap-locked: 15px}}.promise-container{overflow-x:hidden;position:relative}.promise-canvas{height:280px;display:flex;justify-content:center;align-items:center;transform:scale(var(--canvas-scale))}.promise-hands-wrapper{position:relative;display:flex;gap:var(--gap-open);transition:all 1s cubic-bezier(.4,0,.2,1)}.promise-hands-wrapper.locked{gap:var(--gap-locked)}.hand-container{position:relative;width:var(--hand-w);height:var(--hand-h)}.palm{width:var(--palm-w);height:var(--palm-h);background:#ffe4e6;border:4px solid #fda4af;border-radius:30px 30px 45px 45px;position:relative;box-shadow:0 10px 25px #db27771a}.pinky-finger{width:var(--pinky-w);height:var(--pinky-h);background:#ffe4e6;border:4px solid #fda4af;border-radius:15px;position:absolute;top:calc(var(--pinky-h) * -.6);transition:all 1s ease;transform-origin:bottom center}.left .palm{transform:rotate(10deg)}.left .pinky-finger{right:12%;transform:rotate(-10deg)}.right .palm{transform:rotate(-10deg)}.right .pinky-finger{left:12%;transform:rotate(10deg)}.locked .left .pinky-finger{transform:rotate(35deg) translateY(5px) translate(calc(var(--pinky-w) * .75));background:#fecdd3;z-index:10}.locked .right .pinky-finger{transform:rotate(-35deg) translateY(5px) translate(calc(var(--pinky-w) * -.75));background:#fecdd3;z-index:5}.promise-sparkle{position:absolute;top:-60px;left:50%;transform:translate(-50%);font-size:4rem;z-index:20;animation:sparkle 1s infinite alternate}@keyframes sparkle{0%{opacity:.5;transform:translate(-50%) scale(.8) rotate(0)}to{opacity:1;transform:translate(-50%) scale(1.3) rotate(15deg)}}.bg-float-item{position:absolute;top:110%;font-size:2.5rem;animation:floatPromise linear infinite;opacity:.2;pointer-events:none}@keyframes floatPromise{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.2}to{transform:translateY(-120vh) rotate(360deg);opacity:0}}@keyframes promisePop{0%{transform:translate3d(-50%,-50%,0) scale(0);opacity:1}to{transform:translate3d(calc(var(--x-dir) * var(--dist)),calc(var(--y-dir) * var(--dist)),0) scale(1.4) rotate(720deg);opacity:0}}.animate-promise-pop{animation:promisePop 1.8s cubic-bezier(.1,.9,.2,1) forwards}.hug-container{background:radial-gradient(circle at center,#fff9fb,#ffe4e9 60%,#ffc1cf)}.hug-button{letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.idle-btn{background:linear-gradient(135deg,#fb7185,#be185d);border:3px solid rgba(255,255,255,.4)}.idle-btn:hover{transform:scale(1.12) translateY(-5px);box-shadow:0 25px 60px #be185d80;filter:brightness(1.1)}.active-btn{background:#9d174d;opacity:.9;transform:scale(.98);box-shadow:none}.face{position:absolute;top:.0001%;left:50%;display:flex;gap:1px}.char-back .face{left:32%}.hug-stage{position:relative;width:320px;height:280px;display:flex;justify-content:center;align-items:flex-end}.couple-wrapper{display:flex;align-items:flex-end;justify-content:center;gap:120px;transition:gap .5s cubic-bezier(.5,0,.1,1);position:relative;z-index:10;padding-bottom:20px}.couple-wrapper.active{gap:-80px;animation:heartbeat-squeeze 2s 1s infinite ease-in-out}.character{position:relative;display:flex;flex-direction:column;align-items:center;transition:transform .5s cubic-bezier(.5,0,.1,1);transform-origin:bottom center}.char-front{z-index:10}.char-front .torso{background:#4f46e5}.char-front .head{background:#6366f1;z-index:20}.char-back{z-index:2}.char-back .torso{background:#db2777}.char-back .head{background:#ec4899;z-index:1}.torso{width:80px;height:95px;border-radius:35px 35px 10px 10px;position:relative;box-shadow:inset -5px 0 15px #0000001a;transition:all .5s ease}.head{width:65px;height:65px;border-radius:50%;position:absolute;top:-45px;left:8px;transition:all .6s ease}.arm-front{position:absolute;width:24px;height:65px;border-radius:12px;background:inherit;transform-origin:top center;transition:all .6s cubic-bezier(.5,0,.1,1);z-index:30;box-shadow:2px 4px 8px #0003}.char-front .arm-front{background:#4f46e5;top:15px;right:-5px}.char-back .arm-front{background:#db2777;top:35px;left:-5px}.active .char-front{transform:rotate(5deg) translate(25px)}.active .char-back{transform:rotate(-5deg) translate(-25px)}.active .char-front .torso{border-radius:35px 5px 10px 10px}.active .char-back .torso{border-radius:5px 35px 10px 10px}.active .char-front .head{transform:rotate(15deg) translate(15px,10px)}.active .char-back .head{transform:rotate(-15deg) translate(-15px,10px)}.active .char-front .arm-front{height:95px;transform:rotate(-100deg) translate(-5px,-12px);border-radius:10px 10px 30px 30px}.active .char-back .arm-front{height:95px;transform:rotate(100deg) translate(-5px,12px);border-radius:10px 10px 30px 30px}.eye{width:8px;height:8px;background:#1e293b;border-radius:50%;transition:all .3s}.active .eye{height:4px;width:12px;background:transparent;border-bottom:3px solid #1e293b;border-radius:0;transform:translateY(3px)}.impact-heart{position:absolute;top:-65px;font-size:4rem;transform:scale(0);transition:transform .4s .4s cubic-bezier(.175,.885,.32,1.5);z-index:40}.impact-heart.visible{transform:scale(1.3)}.burst-heart{position:absolute;top:50%;left:50%;font-size:1.5rem;pointer-events:none;animation:burst .8s ease-out forwards}@keyframes burst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(calc(cos(var(--i) * 30deg)*150px),calc(sin(var(--i) * 30deg)*150px)) scale(1);opacity:0}}.falling-emoji{position:absolute;top:-50px;font-size:2.5rem;z-index:5;animation:fall linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(360deg)}}@keyframes heartbeat-squeeze{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.kiss-container{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden;position:relative}.kiss-stage{height:320px;width:100%;display:flex;justify-content:center;align-items:center;position:relative;transform:scale(1.5)}.couple-container{display:flex;gap:60px;transition:gap .6s cubic-bezier(.175,.885,.32,1.275);position:relative;z-index:5}.couple-container.kissing{gap:0px}.emoji-face{width:100px;height:100px;background:#fecdd3;border-radius:50%;position:relative;box-shadow:inset -5px -5px 15px #0000001a,0 10px 20px #0000001a;border:3px solid #fb7185;transition:transform .6s ease}.kissing .left-face{transform:rotate(15deg)}.kissing .right-face{transform:rotate(-15deg)}.eye{width:10px;height:10px;background:#333;border-radius:50%;position:absolute;top:35px;transition:all .2s}.left-face .eye.left{left:25px}.left-face .eye.right{left:60px}.right-face .eye.left{left:25px}.right-face .eye.right{left:60px}.kissing .eye{height:4px;width:12px;background:transparent;border-radius:0;border-bottom:3px solid #333;top:38px}.blush{position:absolute;top:50px;width:100%;display:flex;justify-content:space-around;padding:0 15px;opacity:0;transition:opacity .5s}.kissing .blush{opacity:.6}.blush:before,.blush:after{content:"";width:15px;height:8px;background:#e11d48;border-radius:50%}.lips{width:10px;height:5px;background:#be123c;border-radius:50px;position:absolute;top:65px;left:50%;transform:translate(-50%);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.kissing .left-face .lips{width:15px;height:15px;border-radius:50%;left:85%;background:#e11d48}.kissing .right-face .lips{width:15px;height:15px;border-radius:50%;left:15%;background:#e11d48}.pop-kiss{position:absolute;top:-60px;left:50%;transform:translate(-50%) scale(0) rotate(-15deg);font-size:5rem;transition:transform .5s cubic-bezier(.175,.885,.32,1.275);transition-delay:.3s;z-index:20}.pop-kiss.visible{transform:translate(-50%) scale(1.5) rotate(0)}.shadow-floor{width:180px;height:20px;background:#0000000d;border-radius:50%;position:absolute;bottom:10px}.bg-float-item{position:absolute;top:110%;font-size:2.5rem;animation:floatKiss linear infinite;opacity:.3}@keyframes floatKiss{0%{transform:translateY(0) rotate(0);opacity:0}to{transform:translateY(-120vh) rotate(360deg);opacity:0}}@keyframes kissPop{0%{transform:translate3d(-50%,-50%,0) scale(0);opacity:1}to{transform:translate3d(calc(var(--x-dir) * var(--dist)),calc(var(--y-dir) * var(--dist)),0) scale(1.4) rotate(720deg);opacity:0}}.animate-kiss-pop{animation:kissPop 1.8s cubic-bezier(.1,.9,.2,1) forwards}button{white-space:nowrap;letter-spacing:.08em;text-transform:uppercase}.vday-container{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden;position:relative}.portal-stage{height:400px;width:100%;display:flex;justify-content:center;align-items:center;position:relative;transform:scale(1.4)}.main-heart-portal{width:150px;height:150px;background:#e11d48;position:relative;transform:rotate(-45deg);transition:all .8s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 0 50px #e11d4899;z-index:10}.main-heart-portal:before,.main-heart-portal:after{content:"";width:150px;height:150px;background:#e11d48;border-radius:50%;position:absolute}.main-heart-portal:before{top:-75px;left:0}.main-heart-portal:after{left:75px;top:0}.open .main-heart-portal{transform:rotate(-45deg) scale(.8);background:#fb7185;filter:brightness(1.2)}.portal-inner{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;transform:rotate(45deg)}.orbit-icon{position:absolute;font-size:3rem;animation:orbit 4s linear infinite;animation-delay:var(--delay);opacity:0}.open .orbit-icon{opacity:1}@keyframes orbit{0%{transform:rotate(calc(var(--idx) * 51deg)) translate(120px) rotate(calc(var(--idx) * -51deg))}to{transform:rotate(calc(var(--idx) * 51deg + 360deg)) translate(120px) rotate(calc(var(--idx) * -51deg - 360deg))}}.portal-glow{position:absolute;width:200px;height:200px;background:radial-gradient(circle,rgba(251,113,133,.4) 0%,transparent 70%);border-radius:50%;animation:pulseGlow 2s infinite alternate}@keyframes pulseGlow{to{transform:scale(1.5);opacity:.8}}@keyframes ultimatePop{0%{transform:translate3d(-50%,-50%,0) scale(0);opacity:1}to{transform:translate3d(calc(var(--x-dir) * var(--dist)),calc(var(--y-dir) * var(--dist)),0) scale(1.5) rotate(720deg);opacity:0}}.animate-ultimate-pop{animation:ultimatePop 2s cubic-bezier(.1,.9,.2,1) forwards}.bg-float-item{position:absolute;top:110%;font-size:3rem;animation:floatV linear infinite;opacity:.3}@keyframes floatV{0%{transform:translateY(0) rotate(0);opacity:0}to{transform:translateY(-120vh) rotate(360deg);opacity:0}}button{white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 5px 15px rgba(0,0,0,.2)}.next-year-container{height:100vh;width:100vw;background:#0d0d0d;display:flex;justify-content:center;align-items:center;color:#fff;overflow:hidden;position:relative;font-family:Poppins,sans-serif}.starry-night{position:absolute;inset:0;background-image:radial-gradient(white,rgba(255,255,255,.2) 2px,transparent 40px);background-size:100px 100px;opacity:.1;animation:drift 60s linear infinite}@keyframes drift{0%{background-position:0 0}to{background-position:1000px 1000px}}.content-wrap{text-align:center;opacity:0;transform:translateY(30px);transition:all 1.5s cubic-bezier(.2,.8,.2,1);z-index:10}.content-wrap.fade-up{opacity:1;transform:translateY(0)}.icon-scroll{font-size:2rem;margin-bottom:2rem;display:flex;justify-content:center;gap:15px;filter:drop-shadow(0 0 5px rgba(190,24,93,.5));opacity:.8}.main-text{font-size:3.5rem;font-weight:300;margin-bottom:1rem}.highlight{color:#be185d;font-weight:800;text-shadow:0 0 20px rgba(190,24,93,.4)}.sub-text{color:#888;font-size:1.2rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:4rem}.promise-banner h2{font-size:1.5rem;font-weight:400;color:#ccc}.creativity-box{font-size:2.5rem;font-weight:700;color:#fff;margin-top:10px;position:relative;display:inline-block}.creativity-box:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:4px;background:#be185d;transform:scaleX(0);transition:transform 1s ease-in-out 1s;transform-origin:left}.fade-up .creativity-box:after{transform:scaleX(1)}.loading-container{margin-top:5rem;width:320px;margin-left:auto;margin-right:auto}.loading-label{display:flex;justify-content:space-between;font-size:.8rem;color:#888;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.bar-bg{width:100%;height:4px;background:#222;border-radius:10px;overflow:hidden}.bar-fill{width:40%;height:100%;background:#be185d;box-shadow:0 0 15px #be185d;animation:constantGrowth 5s ease-in-out infinite alternate}@keyframes constantGrowth{0%{width:35%;opacity:.7}to{width:45%;opacity:1}}.footer-note{position:absolute;bottom:30px;color:#444;font-size:.8rem;letter-spacing:1px}
