@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap";:root{color-scheme:dark;font-family:Cormorant Garamond,Georgia,serif;line-height:1.6}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;overflow-x:hidden}body{background:#0d0008;color:#fce4ec}.hearts-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.heart{position:absolute;bottom:-40px;font-size:1.2rem;animation:floatUp linear infinite;opacity:0}@keyframes floatUp{0%{opacity:0;transform:translateY(0) rotate(0) scale(.8)}10%{opacity:.7}90%{opacity:.4}to{opacity:0;transform:translateY(-110vh) rotate(360deg) scale(1.1)}}.proposal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(136,14,79,.15) 0%,transparent 60%),radial-gradient(ellipse at 80% 30%,rgba(173,20,87,.12) 0%,transparent 55%),radial-gradient(ellipse at 50% 80%,rgba(74,20,140,.1) 0%,transparent 50%),linear-gradient(180deg,#0d0008,#1a0012,#0d0008);z-index:0}.proposal-page{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.ring-icon{font-size:3.5rem;margin-bottom:1.5rem;animation:sparkle 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,183,77,.5))}@keyframes sparkle{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px rgba(255,183,77,.5))}50%{transform:scale(1.12);filter:drop-shadow(0 0 35px rgba(255,183,77,.8))}}.proposal-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(2.2rem,6vw,4rem);font-weight:700;letter-spacing:.02em;color:#fff;margin-bottom:.5rem;text-shadow:0 0 40px rgba(233,30,99,.4)}.proposal-subtitle{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.1rem,3vw,1.5rem);font-weight:300;font-style:italic;color:#ffcdd2bf;margin-bottom:2.5rem;max-width:36rem}.love-letter{max-width:32rem;background:linear-gradient(135deg,#ffffff0a,#e91e630f);border:1px solid rgba(233,30,99,.2);border-radius:1rem;padding:2rem 2.5rem;margin-bottom:2.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 30px #0000004d,inset 0 1px #ffffff0d}.love-letter p{font-size:1.1rem;font-weight:300;line-height:1.8;color:#ffe0e6d9}.love-letter .signature{margin-top:1.5rem;font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:1.15rem;color:#ff8aa0e6}.proposal-buttons{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;justify-content:center}.btn-yes{font-family:Playfair Display,Georgia,serif;font-size:1.3rem;font-weight:700;padding:.9rem 3rem;border:none;border-radius:3rem;cursor:pointer;color:#fff;background:linear-gradient(135deg,#e91e63,#ad1457,#880e4f);box-shadow:0 4px 20px #e91e6366,0 0 60px #e91e6326;transition:all .3s ease;letter-spacing:.05em}.btn-yes:hover{transform:scale(1.08);box-shadow:0 6px 30px #e91e6399,0 0 80px #e91e6340}.btn-no{font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;padding:.75rem 2rem;border:1px solid rgba(255,255,255,.15);border-radius:3rem;cursor:pointer;color:#ffffff80;background:transparent;transition:all .3s ease;position:relative}.celebration{animation:fadeInUp .8s ease-out}.celebration .big-heart{font-size:5rem;display:block;margin-bottom:1rem;animation:heartbeat 1s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}}.celebration h2{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,5vw,3.5rem);color:#fff;margin-bottom:1rem;text-shadow:0 0 40px rgba(233,30,99,.5)}.celebration p{font-size:1.2rem;font-weight:300;font-style:italic;color:#ffcdd2cc;max-width:28rem}.divider{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem;color:#e91e6366;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase}.divider:before,.divider:after{content:"";width:3rem;height:1px;background:linear-gradient(90deg,transparent,rgba(233,30,99,.3),transparent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .8s ease-out both}.fade-in-delay-1{animation-delay:.2s}.fade-in-delay-2{animation-delay:.5s}.fade-in-delay-3{animation-delay:.8s}.firework{position:fixed;pointer-events:none;z-index:2}.firework-particle{position:absolute;width:6px;height:6px;border-radius:50%;animation:fireworkBurst 1.2s ease-out forwards}@keyframes fireworkBurst{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}}
