*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{touch-action:manipulation;color:#374151;background:linear-gradient(135deg,#fce7f3 0%,#fdf2f8 50%,#fce4ec 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow-x:hidden}.app-container{background:linear-gradient(135deg,#fce7f3 0%,#fdf2f8 50%,#fce4ec 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;display:flex;position:relative}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-popup{text-align:center;background:#fff;border:1px solid #be123c1a;border-radius:20px;width:90%;max-width:400px;padding:40px 30px;animation:.4s cubic-bezier(.68,-.55,.265,1.55) popupIn;box-shadow:0 20px 60px #be123c40,0 0 40px #be123c26}@keyframes popupIn{0%{opacity:0;transform:scale(.5)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-icon{margin-bottom:15px;font-size:3.5rem;animation:.6s ease-out iconBounce}@keyframes iconBounce{0%{transform:scale(0)rotateY(0)}50%{transform:scale(1.15)}to{transform:scale(1)}}.modal-message{color:#374151;letter-spacing:.3px;font-size:1.1rem;font-weight:500;line-height:1.6}.modal-popup.modal-warning{border-top:3px solid #f59e0b}.modal-popup.modal-warning .modal-icon{color:#f59e0b}.modal-popup.modal-warning .modal-message{color:#d97706}.modal-popup.modal-success{border-top:3px solid #10b981}.modal-popup.modal-success .modal-icon{color:#10b981}.modal-popup.modal-success .modal-message{color:#047857}.modal-popup.modal-error{border-top:3px solid #ef4444}.modal-popup.modal-error .modal-icon{color:#ef4444}.modal-popup.modal-error .modal-message{color:#b91c1c}.proposal-container{z-index:10;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px 0;display:flex;position:relative;overflow:hidden}.hearts-background{z-index:0;pointer-events:none;width:100%;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.floating-heart{opacity:.15;pointer-events:none;font-size:clamp(3rem,12vw,6rem);animation:8s ease-in-out infinite float;position:fixed}@keyframes float{0%,to{opacity:.08;transform:translateY(0)rotate(0)}50%{opacity:.16;transform:translateY(-50px)rotate(10deg)}}.floating-heart:first-child{animation-delay:0s;top:10%;left:5%}.floating-heart:nth-child(2){animation-delay:.5s;top:20%;right:10%}.floating-heart:nth-child(3){animation-delay:1s;top:30%;left:15%}.floating-heart:nth-child(4){animation-delay:1.5s;bottom:20%;right:5%}.floating-heart:nth-child(5){animation-delay:2s;top:50%;left:8%}.floating-heart:nth-child(6){animation-delay:.3s;bottom:30%;left:20%}.floating-heart:nth-child(7){animation-delay:1.2s;top:15%;right:20%}.floating-heart:nth-child(8){animation-delay:1.8s;bottom:10%;right:15%}.floating-heart:nth-child(9){animation-delay:.7s;top:60%;right:10%}.floating-heart:nth-child(10){animation-delay:2.3s;bottom:40%;left:10%}.floating-heart:nth-child(11){animation-delay:.9s;top:25%;left:50%}.floating-heart:nth-child(12){animation-delay:1.1s;bottom:25%;right:30%}.floating-heart:nth-child(13){animation-delay:1.6s;top:45%;right:30%}.floating-heart:nth-child(14){animation-delay:.4s;bottom:15%;left:40%}.floating-heart:nth-child(15){animation-delay:2.1s;top:35%;left:60%}.floating-heart:nth-child(16){animation-delay:1.4s;bottom:35%;right:40%}.floating-heart:nth-child(17){animation-delay:.8s;top:55%;left:70%}.floating-heart:nth-child(18){animation-delay:1.9s;bottom:45%;left:30%}.floating-heart:nth-child(19){animation-delay:.6s;top:70%;right:50%}.floating-heart:nth-child(20){animation-delay:2.2s;bottom:50%;right:20%}.proposal-content{z-index:10;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #ec48991a;border-radius:clamp(20px,5vw,30px);width:100%;max-width:550px;padding:clamp(30px,6vw,50px);animation:.8s ease-out slideIn;position:relative;box-shadow:0 20px 60px #ec48991f,0 0 40px #ec489914}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.title-section{margin-bottom:clamp(25px,4vw,35px)}.from-text{color:#be123c;letter-spacing:.5px;opacity:.9;margin-bottom:8px;font-size:clamp(.9rem,2.2vw,1rem);font-weight:600}.title{color:#be123c;text-shadow:none;word-spacing:.1em;letter-spacing:.5px;margin-bottom:clamp(8px,2vw,12px);font-size:clamp(2.2rem,8vw,3.2rem);font-weight:600;line-height:1.2;animation:none}.heart-icon{margin:0 clamp(5px,2vw,10px);font-size:clamp(1.8rem,6vw,3rem);animation:.6s ease-in-out infinite beatHeart;display:inline-block}@keyframes beatHeart{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1)}}.subtitle{color:#9f1239;letter-spacing:.3px;margin-top:clamp(6px,1.5vw,10px);font-size:clamp(.95rem,3vw,1.15rem);font-weight:400}.proposal-question{margin:clamp(28px,5vw,35px) 0}.main-question{color:#be123c;letter-spacing:.3px;margin-bottom:clamp(12px,2vw,16px);font-size:clamp(1.4rem,5vw,2rem);font-weight:500;line-height:1.4}.location-details{color:#be123c;word-spacing:.1em;opacity:.8;margin:clamp(10px,2vw,14px) 0;font-size:clamp(1rem,3.5vw,1.3rem);font-weight:500}.proposal-text{color:#7c2d12;margin-top:clamp(12px,2vw,16px);font-size:clamp(.95rem,3vw,1.1rem);font-style:normal;font-weight:400;line-height:1.6}.buttons-container{flex-direction:column;gap:clamp(12px,3vw,16px);margin:clamp(28px,5vw,38px) 0 clamp(16px,3vw,20px);display:flex;position:relative}.btn-yes{color:#fff;cursor:pointer;z-index:20;letter-spacing:.5px;touch-action:manipulation;background:linear-gradient(135deg,#be123c 0%,#991b1b 100%);border:none;border-radius:8px;align-self:center;width:100%;max-width:280px;min-height:48px;padding:clamp(12px,2.5vw,16px) clamp(40px,6vw,60px);font-size:clamp(1rem,3.5vw,1.2rem);font-weight:600;transition:all .3s;position:relative;box-shadow:0 4px 15px #be123c40}.btn-yes:hover{background:linear-gradient(135deg,#a01630 0%,#7f1d1d 100%);transform:translateY(-2px);box-shadow:0 6px 20px #be123c59}.btn-yes:active{transform:translateY(0)}@media (max-width:600px){.btn-yes:hover{transform:translateY(-1px)}}.btn-no{color:#6b7280;cursor:not-allowed;box-shadow:none;z-index:5;letter-spacing:.3px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;width:auto;max-width:120px;min-height:48px;padding:clamp(12px,2.5vw,16px) clamp(30px,5vw,40px);font-size:clamp(1rem,3.5vw,1.2rem);font-weight:500;transition:all .2s;position:fixed}.btn-no:hover{background:#e5e7eb}.hint-text{color:#6b7280;opacity:.7;margin-top:clamp(10px,2vw,14px);font-size:clamp(.85rem,2.5vw,.95rem);font-style:italic;font-weight:400}.message-container{background:linear-gradient(135deg,#ffd6e8 0%,#fff5f7 50%,#ffe4f0 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;display:flex;position:relative}.success-animation{justify-content:center;align-items:center;width:100%;height:100%;min-height:100vh;display:flex;position:relative}.confetti{z-index:1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.confetti-piece{z-index:1;pointer-events:none;font-size:2.5rem;animation:3s ease-in forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(360deg)}}.confetti-piece:first-child{animation-duration:3s;animation-delay:0s;left:5%}.confetti-piece:nth-child(2){animation-duration:3.2s;animation-delay:.1s;left:10%}.confetti-piece:nth-child(3){animation-duration:2.8s;animation-delay:.2s;left:15%}.confetti-piece:nth-child(4){animation-duration:3.1s;animation-delay:0s;left:20%}.confetti-piece:nth-child(5){animation-duration:2.9s;animation-delay:.1s;left:25%}.confetti-piece:nth-child(6){animation-duration:3.3s;animation-delay:.2s;left:30%}.confetti-piece:nth-child(7){animation-duration:3.2s;animation-delay:0s;left:35%}.confetti-piece:nth-child(8){animation-duration:2.7s;animation-delay:.1s;left:40%}.confetti-piece:nth-child(9){animation-duration:3.4s;animation-delay:.2s;left:45%}.confetti-piece:nth-child(10){animation-duration:3s;animation-delay:0s;left:50%}.confetti-piece:nth-child(11){animation-duration:3.1s;animation-delay:.1s;left:55%}.confetti-piece:nth-child(12){animation-duration:2.8s;animation-delay:.2s;left:60%}.confetti-piece:nth-child(13){animation-duration:3.2s;animation-delay:0s;left:65%}.confetti-piece:nth-child(14){animation-duration:2.9s;animation-delay:.1s;left:70%}.confetti-piece:nth-child(15){animation-duration:3.3s;animation-delay:.2s;left:75%}.confetti-piece:nth-child(16){animation-duration:3.2s;animation-delay:0s;left:80%}.confetti-piece:nth-child(17){animation-duration:2.7s;animation-delay:.1s;left:85%}.confetti-piece:nth-child(18){animation-duration:3.4s;animation-delay:.2s;left:90%}.confetti-piece:nth-child(19){animation-duration:3s;animation-delay:0s;left:95%}.confetti-piece:nth-child(20){animation-duration:3.1s;animation-delay:.1s;left:2%}.confetti-piece:nth-child(21){animation-duration:2.8s;animation-delay:.2s;left:12%}.confetti-piece:nth-child(22){animation-duration:3.2s;animation-delay:0s;left:22%}.confetti-piece:nth-child(23){animation-duration:2.9s;animation-delay:.1s;left:32%}.confetti-piece:nth-child(24){animation-duration:3.3s;animation-delay:.2s;left:42%}.confetti-piece:nth-child(25){animation-duration:3.2s;animation-delay:0s;left:52%}.confetti-piece:nth-child(26){animation-duration:2.7s;animation-delay:.1s;left:62%}.confetti-piece:nth-child(27){animation-duration:3.4s;animation-delay:.2s;left:72%}.confetti-piece:nth-child(28){animation-duration:3s;animation-delay:0s;left:82%}.confetti-piece:nth-child(29){animation-duration:3.1s;animation-delay:.1s;left:92%}.confetti-piece:nth-child(30){animation-duration:2.8s;animation-delay:.2s;left:7%}.message-content{z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #ec48991a;border-radius:clamp(20px,5vw,30px);width:100%;max-width:550px;padding:clamp(28px,5vw,45px);animation:.6s cubic-bezier(.68,-.55,.265,1.55) popIn;position:relative;box-shadow:0 20px 60px #ec48991f,0 0 40px #ec489914}@keyframes popIn{0%{opacity:0;transform:scale(.3)translateY(50px)}to{opacity:1;transform:scale(1)translateY(0)}}.success-title{color:#be123c;text-shadow:none;letter-spacing:.3px;margin-bottom:clamp(8px,1.5vw,12px);font-size:clamp(2rem,7vw,2.8rem);font-weight:600;line-height:1.2}.spinning-heart{margin:0 clamp(5px,2vw,10px);font-size:clamp(2rem,6vw,2.8rem);animation:.8s ease-in-out infinite spinHeart;display:inline-block}@keyframes spinHeart{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(15deg)scale(1.2)}}.success-subtitle{color:#7c2d12;letter-spacing:.3px;margin-bottom:clamp(22px,4vw,28px);font-size:clamp(1rem,3.2vw,1.25rem);font-weight:400}.message-box{background:linear-gradient(135deg,#ec48990d 0%,#be123c08 100%);border:1px solid #fce7f3;border-radius:clamp(12px,3vw,16px);margin:clamp(22px,4vw,28px) 0;padding:clamp(18px,3.5vw,24px)}.message-box h3{color:#be123c;letter-spacing:.3px;margin-bottom:clamp(5px,1vw,8px);font-size:clamp(1.15rem,3.5vw,1.35rem);font-weight:600;line-height:1.3}.message-hint{color:#7c2d12;margin-bottom:clamp(12px,2vw,14px);font-size:clamp(.9rem,2.3vw,1rem);font-style:normal;font-weight:400}.message-input{color:#374151;resize:vertical;background:#fffffff2;border:1px solid #e5e7eb;border-radius:clamp(8px,1.5vw,10px);width:100%;min-height:100px;margin-bottom:clamp(12px,2vw,14px);padding:clamp(11px,2.2vw,13px);font-family:inherit;font-size:clamp(.95rem,2.5vw,1rem);font-weight:400;line-height:1.5;transition:all .3s}.message-input:focus{background:#fff;border-color:#be123c;outline:none;box-shadow:0 0 12px #be123c33}.message-input:disabled{color:#9ca3af;background:#f9fafb}.btn-submit{color:#fff;cursor:pointer;letter-spacing:.3px;touch-action:manipulation;background:linear-gradient(135deg,#be123c 0%,#991b1b 100%);border:none;border-radius:8px;width:100%;min-height:44px;padding:clamp(11px,2.2vw,13px) clamp(20px,3.5vw,28px);font-size:clamp(.95rem,2.8vw,1.1rem);font-weight:600;transition:all .3s;box-shadow:0 4px 15px #be123c40}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#a01630 0%,#7f1d1d 100%);transform:translateY(-2px);box-shadow:0 6px 20px #be123c59}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{cursor:not-allowed;box-shadow:none;background:#d1d5db}.message-footer{color:#be123c;letter-spacing:.3px;margin-top:clamp(18px,3.5vw,22px);font-size:clamp(1rem,3vw,1.15rem);font-weight:500;line-height:1.4;animation:2.5s ease-in-out infinite textGlow}@keyframes textGlow{0%,to{text-shadow:0 0 #be123c00}50%{text-shadow:0 0 8px #be123c33}}@media (max-width:900px){.floating-heart{font-size:clamp(1.5rem,5vw,2.5rem)}.app-container{padding:15px}.proposal-content{margin:0 auto}}@media (max-width:600px){.proposal-container{min-height:auto;padding:15px 0}.app-container{padding:10px}.hearts-background{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute}.floating-heart{opacity:.15;font-size:clamp(2.5rem,10vw,5rem)}@keyframes float{0%,to{opacity:.1;transform:translateY(0)rotate(0)}50%{opacity:.18;transform:translateY(-40px)rotate(10deg)}}.proposal-content{border-radius:clamp(15px,4vw,25px);width:100%;max-width:100%;padding:clamp(20px,4vw,30px)}.title{margin-bottom:8px;font-size:clamp(1.8rem,7vw,2.5rem)}.heart-icon{margin:0 clamp(4px,1.5vw,8px);font-size:clamp(1.4rem,5vw,2.2rem)}.subtitle{font-size:clamp(.9rem,2.5vw,1.1rem)}.main-question{font-size:clamp(1.3rem,4vw,1.8rem)}.location-details{font-size:clamp(1rem,3vw,1.3rem)}.proposal-text{font-size:clamp(.9rem,2.5vw,1.1rem)}.buttons-container{flex-direction:column;gap:clamp(12px,2vw,15px);margin:clamp(20px,4vw,30px) 0 clamp(12px,2vw,15px)}.btn-yes{border-radius:40px;width:100%;max-width:100%;min-height:48px;padding:clamp(14px,3vw,16px) clamp(25px,4vw,40px);font-size:clamp(1rem,3.5vw,1.2rem)}.btn-no{border-radius:30px;width:auto;max-width:120px;padding:12px 30px;font-size:1rem;position:fixed}.hint-text{margin-top:clamp(8px,1.5vw,12px);font-size:clamp(.85rem,2vw,.95rem)}.message-content{border-radius:clamp(15px,4vw,25px);width:100%;max-width:100%;margin-bottom:20px;padding:clamp(20px,4vw,35px)}.success-title{margin-bottom:clamp(8px,1.5vw,12px);font-size:clamp(1.8rem,6vw,2.5rem)}.spinning-heart{margin:0 clamp(4px,1.5vw,8px);font-size:clamp(1.5rem,5vw,2.2rem)}.success-subtitle{margin-bottom:clamp(18px,3vw,25px);font-size:clamp(1rem,3vw,1.2rem)}.message-box{border-radius:clamp(12px,2.5vw,18px);margin:clamp(15px,3vw,20px) 0;padding:clamp(16px,3vw,20px)}.message-box h3{margin-bottom:clamp(5px,1vw,8px);font-size:clamp(1.1rem,3.5vw,1.3rem)}.message-hint{margin-bottom:clamp(10px,1.5vw,12px);font-size:clamp(.9rem,2.2vw,.95rem)}.message-input{border-radius:clamp(10px,1.5vw,12px);min-height:90px;margin-bottom:clamp(10px,1.5vw,12px);padding:clamp(10px,2vw,12px);font-size:clamp(.9rem,2.2vw,1rem)}.btn-submit{border-radius:clamp(8px,1.5vw,12px);min-height:44px;padding:clamp(11px,2vw,13px) clamp(15px,3vw,20px);font-size:clamp(.95rem,2.5vw,1.1rem)}.message-footer{margin-top:clamp(15px,3vw,20px);font-size:clamp(.95rem,2.5vw,1.1rem)}.confetti-piece{font-size:2rem}}@media (max-width:480px){.proposal-container{padding:10px 0}.proposal-content{border-radius:15px;padding:clamp(15px,3vw,25px)}.title{margin-bottom:6px;font-size:clamp(1.6rem,5.5vw,2.2rem)}.heart-icon{font-size:clamp(1.2rem,4.5vw,2rem)}.buttons-container{gap:clamp(10px,1.5vw,12px);margin:clamp(15px,3vw,25px) 0 clamp(10px,1.5vw,12px)}.btn-yes{padding:clamp(12px,2.5vw,14px) clamp(20px,3vw,35px);font-size:clamp(.95rem,3vw,1.1rem)}.message-content{padding:clamp(18px,3vw,28px)}.message-input{min-height:80px}}@media (max-height:700px) and (orientation:landscape){.proposal-container{min-height:auto;padding:10px 0}.title{margin-bottom:4px;font-size:clamp(1.6rem,5vw,2.2rem)}.subtitle{font-size:clamp(.85rem,2vw,1rem)}.main-question{margin-bottom:8px;font-size:clamp(1.2rem,3.5vw,1.6rem)}.location-details{margin:4px 0;font-size:clamp(.95rem,2.5vw,1.1rem)}.proposal-text{margin-top:8px;font-size:clamp(.85rem,2vw,1rem)}.buttons-container{gap:clamp(10px,1.5vw,12px);margin:clamp(15px,3vw,20px) 0 clamp(8px,1.5vw,10px)}.hint-text{margin-top:4px;font-size:clamp(.8rem,1.5vw,.9rem)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;background-color:#242424}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){a:hover{color:#747bff}button{background-color:#f9f9f9}}
