@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Inter:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";@tailwind base;@tailwind components;@tailwind utilities;:root{--color-deep-red: #991b1b;--color-red: #dc2626;--color-red-light: #ef4444;--color-rose: #e11d48;--color-rose-light: #fda4af;--color-rose-soft: #fecdd3;--color-cream: #fef2f2;--color-white: #ffffff;--color-dark: #450a0a;--color-black: #000000;--color-gold: #fbbf24;--color-gold-light: #fcd34d;--color-bg-primary: #050505;--color-bg-secondary: #0a0a0a;--color-bg-dark: #450a0a;--color-text-primary: #fafafa;--color-text-secondary: rgba(250, 250, 250, .7);--color-text-muted: rgba(250, 250, 250, .5);--color-text-light: #fef2f2;--grain-opacity: .03;--ease-elegant: cubic-bezier(.23, 1, .32, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#050505;color:var(--color-text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.font-display{font-family:Playfair Display,Georgia,serif}.font-elegant{font-family:Cormorant Garamond,Georgia,serif}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.glass{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3)}.glass-romantic{background:linear-gradient(135deg,#ffffffe6,#fef2f2d9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(253,164,175,.2)}.glass-dark{background:#450a0ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(220,38,38,.2)}.transition-elegant{transition:all .6s var(--ease-elegant)}.transition-spring{transition:all .5s var(--ease-spring)}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(2deg)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes pulseGentle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.animate-pulse-gentle{animation:pulseGentle 3s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}10%{transform:scale(1.08)}20%{transform:scale(1)}30%{transform:scale(1.06)}40%{transform:scale(1)}}.animate-heartbeat{animation:heartbeat 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes paperPeel{0%{transform:rotateX(0) translateY(0);opacity:1}50%{transform:rotateX(-45deg) translateY(-20px);opacity:.8}to{transform:rotateX(-90deg) translateY(-100%);opacity:0}}.animate-paper-peel{animation:paperPeel 1.2s var(--ease-elegant) forwards;transform-origin:top center}@keyframes petalWindBlow{0%{transform:translate(0) translateY(0) rotate(0) skew(0)}25%{transform:translate(200px) translateY(-50px) rotate(45deg) skew(15deg)}50%{transform:translate(400px) translateY(-20px) rotate(90deg) skew(-10deg)}75%{transform:translate(600px) translateY(-80px) rotate(135deg) skew(5deg)}to{transform:translate(800px) translateY(0) rotate(180deg) skew(0)}}.animate-wind-blow{animation:petalWindBlow 2s var(--ease-smooth) forwards}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.animate-sway{animation:sway 4s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .8s var(--ease-elegant) forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn .6s var(--ease-spring) forwards}@keyframes blurIn{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur(0)}}.animate-blur-in{animation:blurIn 1s var(--ease-elegant) forwards}@keyframes reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.animate-reveal{animation:reveal 1s var(--ease-elegant) forwards}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.animate-blink{animation:blink 1s step-end infinite}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.animate-sparkle{animation:sparkle 2s ease-in-out infinite}@keyframes confettiFall{0%{transform:translateY(-100%) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.stagger-children>*{opacity:0;transform:translateY(20px);animation:fadeInUp .6s var(--ease-elegant) forwards}.stagger-children>*:nth-child(1){animation-delay:.1s}.stagger-children>*:nth-child(2){animation-delay:.2s}.stagger-children>*:nth-child(3){animation-delay:.3s}.stagger-children>*:nth-child(4){animation-delay:.4s}.stagger-children>*:nth-child(5){animation-delay:.5s}.stagger-children>*:nth-child(6){animation-delay:.6s}.perspective-1000{perspective:1000px}.preserve-3d{transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden;-webkit-backface-visibility:hidden}.text-gradient-romantic{background:linear-gradient(135deg,#dc2626,#991b1b,#dc2626);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rose-glow{box-shadow:0 0 30px #dc26264d,0 0 60px #dc262626}.rose-glow-strong{box-shadow:0 0 40px #dc262666,0 0 80px #dc262633}.gold-glow{box-shadow:0 0 30px #fbbf244d,0 0 60px #fbbf2426}.border-romantic{border:1px solid rgba(220,38,38,.15)}.border-romantic-light{border:1px solid rgba(253,164,175,.3)}.frame-elegant{position:relative;padding:20px;background:#fff;box-shadow:0 0 0 1px #dc26261a,0 0 0 8px #fff,0 0 0 9px #dc26261a,0 10px 40px #0000001a}@media(max-width:768px){.font-display{letter-spacing:-.01em}button,[role=button],input,textarea,select{min-height:48px;min-width:48px}.no-select{-webkit-user-select:none;user-select:none}.touch-scroll{-webkit-overflow-scrolling:touch}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::selection{background:#e11d484d;color:#fafafa}::-moz-selection{background:#e11d484d;color:#fafafa}@media(min-width:769px){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#dc26260d}::-webkit-scrollbar-thumb{background:#dc262633;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#dc26264d}}::placeholder{color:#991b1b66}:focus-visible{outline:2px solid rgba(220,38,38,.4);outline-offset:2px}button:active{transform:scale(.98)}img{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.noise-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.015;pointer-events:none}@keyframes loveMeterPulse{0%,to{box-shadow:0 0 20px #dc26264d}50%{box-shadow:0 0 40px #dc262680}}.love-meter-fill{animation:loveMeterPulse 2s ease-in-out infinite}.floating-hearts-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;overflow:hidden}.shadow-elegant{box-shadow:0 4px 6px -1px #450a0a1a,0 2px 4px -2px #450a0a0d}.shadow-elegant-lg{box-shadow:0 20px 25px -5px #450a0a1a,0 8px 10px -6px #450a0a0d}.toggle-ios{position:relative;width:56px;height:32px;background:#0003;border-radius:16px;cursor:pointer;transition:background .3s var(--ease-spring)}.toggle-ios.active{background:#dc2626}.toggle-ios-thumb{position:absolute;top:2px;left:2px;width:28px;height:28px;background:#fff;border-radius:50%;transition:transform .3s var(--ease-spring);box-shadow:0 2px 4px #0003}.toggle-ios.active .toggle-ios-thumb{transform:translate(24px)}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -10px 40px #0003;transform:translateY(100%);transition:transform .4s var(--ease-spring);max-height:90vh;overflow-y:auto}.bottom-sheet.open{transform:translateY(0)}@keyframes giftReveal{0%{filter:blur(20px) brightness(.5);transform:scale(.9)}to{filter:blur(0) brightness(1);transform:scale(1)}}.animate-gift-reveal{animation:giftReveal 1s var(--ease-elegant) forwards}@keyframes tapHint{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}.animate-tap-hint{animation:tapHint 1.5s ease-in-out infinite}.flip-card{perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .8s var(--ease-elegant);transform-style:preserve-3d}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}
