@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}:root{--glass-bg: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .28);--glass-shadow: rgba(0, 0, 0, .15);--glass-blur: 24px;--glass-radius: 32px;--pink-light: hsl(350, 100%, 88%);--pink: hsl(330, 100%, 70%);--rose: hsl(355, 80%, 58%);--deep-red: hsl(348, 70%, 36%);--gold: hsl(45, 100%, 70%);--white: #fff;--text-primary: #fff;--text-secondary: rgba(255, 255, 255, .9);--font-romantic: "Great Vibes", cursive;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100vh;height:100dvh;overflow:hidden}html{font-family:var(--font-body);color:var(--text-primary);-webkit-text-size-adjust:100%}body{background:linear-gradient(135deg,#ffd1dc,#ff85a2 20%,#ff4f81 45%,#e8435a 65%,#9b1b30);background-size:400% 400%;animation:gradientShift 10s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0%}to{background-position:0% 50%}}@keyframes heartRain{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(110vh) translate(20px) rotate(360deg);opacity:0}}.glass{position:relative;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:0 8px 32px var(--glass-shadow),inset 0 1px #fff3;overflow:hidden}.glass:before{content:"";position:absolute;top:0;left:-150%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skew(-20deg);animation:glassShimmer 8s infinite linear;pointer-events:none}@keyframes glassShimmer{0%{left:-150%}20%{left:150%}to{left:150%}}.app{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;overflow:hidden}.music-toggle{position:fixed;top:16px;right:16px;z-index:100;width:44px;height:44px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--white);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 4px 16px #00000026;animation:floatBounce 3s ease-in-out infinite}.music-toggle:hover{transform:scale(1.15);box-shadow:0 6px 24px #00000040}@keyframes floatBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.floating-hearts{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.floating-heart{position:absolute;bottom:-60px;opacity:0;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 8px rgba(255,105,180,.45))}.sparkles-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.sparkle{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffffffe6;box-shadow:0 0 8px 2px #fff9;animation:sparkleFloat linear infinite}@keyframes sparkleFloat{0%{opacity:0;transform:translateY(0) scale(0)}15%{opacity:1;transform:translateY(-30px) scale(1)}85%{opacity:1;transform:translateY(-120px) scale(.8)}to{opacity:0;transform:translateY(-160px) scale(0)}}.proposal-section{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:clamp(8px,2vh,16px);width:100%;max-width:clamp(300px,90vw,440px);max-height:calc(100% - 40px);overflow-y:auto;scrollbar-width:none;margin:env(safe-area-inset-top,20px) auto}.proposal-section::-webkit-scrollbar{display:none}@media(min-height:500px){.proposal-section{margin:auto}}.proposal-card{width:100%;padding:clamp(16px,5vw,28px) clamp(12px,4vw,20px) clamp(14px,4vw,24px);text-align:center;animation:cardGlow 4s ease-in-out infinite alternate}@keyframes cardGlow{0%{box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff26,0 0 30px #ff69b41a}to{box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff26,0 0 50px #ff69b440}}.proposal-card h1{font-family:var(--font-romantic);font-size:clamp(1.8rem,7vw,3.2rem);font-weight:400;line-height:1.3;margin-bottom:4px;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.4)}.proposal-card .subtitle{font-size:clamp(.85rem,2.5vw,.95rem);color:var(--text-secondary);margin-bottom:16px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.proposal-gif{width:clamp(120px,40vw,200px);height:auto;border-radius:18px;margin:0 auto 14px;display:block;box-shadow:0 6px 28px #ff69b459;border:2px solid rgba(255,255,255,.15)}.hover-hint{font-size:clamp(.7rem,2vw,.8rem);color:#fffc;margin-top:6px;font-style:italic;text-shadow:0 1px 4px rgba(0,0,0,.4);animation:fadeInOut 2.5s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.35}50%{opacity:.85}}.reason-ticker{font-size:clamp(.72rem,2.2vw,.85rem);color:#fff;background:#00000040;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:8px 18px;margin:12px auto 6px;width:fit-content;max-width:95%;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.3)}.no-tombstone{font-size:clamp(.7rem,2vw,.85rem);color:#ffffff80;font-style:italic;padding:6px 14px;background:#00000026;border-radius:12px;display:inline-block}.button-area{display:flex;align-items:center;justify-content:center;gap:clamp(8px,3vw,20px);flex-wrap:wrap;min-height:clamp(60px,10vh,80px);width:100%;padding:clamp(4px,2vh,12px) 0}.btn{border:none;border-radius:50px;cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:clamp(.85rem,2.5vw,1rem);letter-spacing:.02em;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn-yes{background:linear-gradient(135deg,#ff4e8e,#ff1a5e,#ff0050);background-size:200% 200%;animation:shimmerBtn 3s ease infinite;color:#fff;padding:clamp(12px,3.5vw,16px) clamp(28px,10vw,44px);box-shadow:0 4px 20px #ff1e5e73;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s ease}.btn-yes:active{transform:scale(.92);box-shadow:0 2px 10px #ff1e5e4d}@keyframes shimmerBtn{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.btn-yes:hover{box-shadow:0 6px 32px #ff1e5eb3}.btn-no{background:#0003;color:#fff;padding:clamp(10px,3vw,14px) clamp(24px,8vw,40px);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);transition:transform .2s ease,background .25s ease;text-shadow:0 2px 4px rgba(0,0,0,.3)}.btn-no:active{transform:scale(.95)}.btn-no:hover{background:#ffffff38}.celebration-section{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,3vh,24px);width:100%;max-width:clamp(320px,90vw,540px);max-height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:env(safe-area-inset-top,20px) 10px env(safe-area-inset-bottom,20px)}.celebration-section::-webkit-scrollbar{display:none}.celebration-card{width:100%;padding:clamp(18px,6vw,32px) clamp(14px,5vw,24px);text-align:center;flex-shrink:0}.celebration-card .big-heart{font-size:clamp(3rem,10vw,4.5rem);display:block;margin-bottom:10px;animation:heartPulse .9s ease-in-out infinite}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.celebration-card h1{font-family:var(--font-romantic);font-size:clamp(1.8rem,7vw,3.4rem);font-weight:400;margin-bottom:8px;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.4)}.celebration-card p{font-size:clamp(.85rem,2.5vw,1rem);color:var(--text-secondary);line-height:1.65;margin-bottom:14px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.celebration-card .celebration-gif{width:clamp(180px,50vw,280px);height:auto;border-radius:18px;margin:0 auto;display:block;border:2px solid rgba(255,255,255,.15);box-shadow:0 6px 28px #ff69b44d}.love-meter{width:100%;max-width:200px;margin:8px auto 4px;text-align:center}.love-meter .meter-label{font-size:clamp(.65rem,2vw,.75rem);color:#fff9;margin-bottom:4px}.meter-track{width:100%;height:8px;border-radius:4px;background:#ffffff26;overflow:hidden}.meter-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#ff69b4,#ff1a5e);box-shadow:0 0 10px #ff1a5e99;transition:width .6s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.meter-fill:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:liquidMove 1.5s infinite linear}@keyframes liquidMove{0%{transform:translate(-100%)}to{transform:translate(100%)}}.carousel-wrapper{width:100%;padding:20px 14px}.carousel-wrapper h2{font-family:var(--font-romantic);font-size:clamp(1.4rem,5vw,2.2rem);text-align:center;margin-bottom:14px;font-weight:400}.carousel-wrapper .swiper{border-radius:16px;overflow:hidden}.carousel-wrapper .swiper-slide{display:flex;align-items:center;justify-content:center}.carousel-wrapper .swiper-slide img,.carousel-wrapper .swiper-slide .carousel-video{width:100%;height:clamp(160px,40vw,260px);object-fit:cover;border-radius:12px}.carousel-wrapper .swiper-pagination-bullet{background:#ffffff80;opacity:1}.carousel-wrapper .swiper-pagination-bullet-active{background:var(--white);transform:scale(1.3)}.carousel-slide-content{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.carousel-caption{margin-top:10px;font-size:clamp(.75rem,2.2vw,.9rem);color:#fff;font-style:italic;padding:8px 16px;background:#00000040;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:12px;text-align:center;width:90%}.emoji-burst{position:fixed;pointer-events:none;z-index:60;font-size:1.6rem;animation:emojiFly 1s ease-out forwards}@keyframes emojiFly{0%{opacity:1;transform:translate(0) scale(1) rotate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3) rotate(180deg)}}@media(max-width:480px){.app{padding:56px 10px 12px;justify-content:flex-start}.proposal-card,.celebration-card{padding:22px 14px 18px;border-radius:20px}.button-area{gap:12px;min-height:60px}.carousel-wrapper{padding:14px 10px;border-radius:20px}.music-toggle{width:36px;height:36px;font-size:1rem;top:10px;right:10px}}@media(max-width:480px)and (min-height:700px){.app{justify-content:center;padding-top:20px}}@media(min-width:481px)and (max-width:768px){.proposal-gif{max-width:200px}}@media(max-height:500px){.app{justify-content:flex-start;padding-top:16px}.proposal-gif{max-width:100px}.celebration-card .big-heart{font-size:2.5rem}.proposal-card,.celebration-card{padding:16px 14px 14px}}
