body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}.login-container{align-items:center;background:linear-gradient(135deg,#2c3e50,#3498db 50%,#2980b9);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-background{left:0;pointer-events:none;top:0}.floating-hearts,.login-background{height:100%;position:absolute;width:100%}.heart{animation:float-up linear infinite;bottom:-50px;filter:drop-shadow(0 0 5px rgba(255,255,255,.2));opacity:.15;position:absolute}.login-box{animation:fadeInScale .8s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:30px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:50px 40px;position:relative;text-align:center;width:90%;z-index:1}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.login-box.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.login-title{color:#2c3e50;font-size:3rem;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px #0000001a}.login-subtitle{color:#666;font-size:1.2rem;margin-bottom:30px}.login-input{border:2px solid #ddd;border-radius:50px;box-sizing:border-box;font-size:1.1rem;margin-bottom:10px;outline:none;padding:15px 20px;transition:all .3s ease;width:100%}.login-input:focus{border-color:#3498db;box-shadow:0 0 20px #3498db4d}.login-error{color:#ff6b6b;font-size:.95rem;font-weight:500;margin:10px 0}.login-button{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:50px;box-shadow:0 4px 15px #3498db66;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;margin-top:10px;padding:15px 20px;transition:all .3s ease;width:100%}.login-button:hover{box-shadow:0 6px 25px #3498db99;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-hint{border-top:1px solid #eee;margin-top:30px;padding-top:20px}.login-hint p{color:#999;font-size:.9rem;margin:0}.phase1-container{align-items:center;background:linear-gradient(135deg,#a8c0ff,#c2e9fb 50%,#e0f7fa);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.phase1-container:before{content:"";display:none}.phase1-container:after{animation:float-up-2 30s linear infinite;content:"✨ 💞 ❤️ 💘 🦋 💙 ✨ 💞 ❤️ 💘 🦋 💙 ✨ 💞 ❤️ 💘 🦋 💙 ✨ 💞 ❤️ 💘 🦋 💙 ✨ 💞 ❤️ 💘 🦋 💙";font-size:2rem;height:200%;left:0;line-height:6rem;opacity:.15;pointer-events:none;position:absolute;top:-50%;white-space:pre-wrap;width:100%;word-spacing:4rem;z-index:0}@keyframes float-up-1{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes float-up-2{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.welcome-screen{animation:fadeIn 1s ease-in;position:relative;z-index:1}.welcome-content{animation:slideUp .8s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #87cefa4d;border-radius:20px;box-shadow:0 20px 60px #3498db4d;max-width:600px;padding:60px 40px;text-align:center}.welcome-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3498db,#2980b9);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:20px}.welcome-message{color:#555;font-size:1.3rem;line-height:1.6;margin-bottom:40px}.start-button{background:linear-gradient(135deg,#3498db,#5dade2);border:none;border-radius:50px;box-shadow:0 8px 25px #3498db66;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:700;padding:18px 50px;transition:transform .3s ease,box-shadow .3s ease}.start-button:hover{box-shadow:0 12px 35px #3498db99;transform:translateY(-3px) scale(1.05)}.question-container{animation:slideIn .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #87cefa4d;border-radius:20px;box-shadow:0 20px 60px #3498db4d;max-width:700px;padding:40px;position:relative;width:100%;z-index:1}.progress-bar{background:#87cefa4d;border-radius:10px;height:8px;margin-bottom:30px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#3498db,#5dade2);box-shadow:0 0 10px #3498db80;height:100%;transition:width .5s ease}.question-number{color:#3498db;font-size:1rem;font-weight:600;letter-spacing:1px;margin-bottom:15px;text-transform:uppercase}.question-text{color:#333;font-size:1.8rem;font-weight:600;margin-bottom:30px}.options-container{grid-gap:15px;display:grid;gap:15px;margin-bottom:30px}.option-button{background:#fff;border:2px solid #87cefa66;border-radius:12px;cursor:pointer;font-size:1.1rem;padding:20px;text-align:left;transition:all .3s ease}.option-button:hover{background:linear-gradient(135deg,#ebf5fb,#d6eaf8);border-color:#3498db;transform:translateX(5px)}.option-button.selected{border-color:#3498db;box-shadow:0 4px 15px #3498db66}.option-button.selected,.submit-button{background:linear-gradient(135deg,#3498db,#5dade2);color:#fff;font-weight:700}.submit-button{border:none;border-radius:12px;box-shadow:0 6px 20px #3498db4d;cursor:pointer;font-size:1.3rem;padding:18px;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 10px 30px #3498db80;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.5}.host-animation{align-items:center;animation:bounceIn .6s ease-out;display:flex;justify-content:center;position:relative;z-index:1}.host-character{animation:pulse .5s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #87cefa4d;border-radius:20px;box-shadow:0 20px 60px #3498db4d;font-size:4rem;padding:60px 80px}@keyframes slideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.floating-hearts-layer{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.floating-heart{animation:float-bounce 8s ease-in-out infinite;font-size:2rem;opacity:.3;position:absolute}@keyframes float-bounce{0%,to{transform:translateY(0) translateX(0)}25%{transform:translateY(-30px) translateX(20px)}50%{transform:translateY(-60px) translateX(-20px)}75%{transform:translateY(-30px) translateX(20px)}}@keyframes butterfly-flutter{0%,to{transform:translateY(0) translateX(0) scale(1)}10%{transform:translateY(-15px) translateX(10px) scale(1.1)}20%{transform:translateY(-25px) translateX(-5px) scale(1)}30%{transform:translateY(-40px) translateX(15px) scale(1.15)}40%{transform:translateY(-50px) translateX(-10px) scale(1)}50%{transform:translateY(-70px) translateX(20px) scale(1.2)}60%{transform:translateY(-50px) translateX(-15px) scale(1)}70%{transform:translateY(-40px) translateX(10px) scale(1.1)}80%{transform:translateY(-25px) translateX(-5px) scale(1)}90%{transform:translateY(-15px) translateX(8px) scale(1.05)}}.heart-1{animation-delay:0s;animation-duration:7s;left:5%;top:10%}.heart-2{animation-delay:.5s;animation-duration:8s;font-size:1.5rem;left:15%;top:20%}.heart-3{animation-delay:1s;animation-duration:9s;left:85%;top:15%}.heart-4{animation-delay:1.5s;animation-duration:7.5s;font-size:2.5rem;left:10%;top:30%}.heart-5{animation-delay:2s;animation-duration:8.5s;left:90%;top:40%}.heart-6{animation-delay:2.5s;animation-duration:7s;font-size:1.8rem;left:5%;top:50%}.heart-7{animation-delay:3s;animation-duration:9s;left:80%;top:60%}.heart-8{animation-delay:3.5s;animation-duration:8s;font-size:2.2rem;left:12%;top:70%}.heart-9{animation-delay:4s;animation-duration:7.5s;left:88%;top:80%}.heart-10{animation-delay:.8s;animation-duration:8.5s;font-size:1.6rem;left:50%;top:25%}.heart-11{animation:butterfly-flutter 6s ease-in-out infinite;animation-delay:.5s;font-size:2rem;left:30%;top:35%}.heart-12{animation-delay:1.8s;animation-duration:7s;font-size:2.3rem;left:70%;top:45%}.heart-13{animation-delay:2.2s;animation-duration:8s;left:40%;top:55%}.heart-14{animation-delay:2.8s;animation-duration:7.5s;font-size:1.7rem;left:60%;top:65%}.heart-15{animation-delay:3.2s;animation-duration:9s;left:25%;top:75%}.heart-16{animation-delay:3.8s;animation-duration:8.5s;font-size:2.1rem;left:65%;top:85%}.heart-17{animation-delay:.3s;animation-duration:7.8s;left:45%;top:12%}.heart-18{animation-delay:1.3s;animation-duration:8.2s;font-size:1.9rem;left:20%;top:48%}.heart-19{animation-delay:2.3s;animation-duration:7.3s;left:75%;top:68%}.heart-20{animation-delay:3.3s;animation-duration:8.8s;font-size:2.4rem;left:50%;top:90%}.heart-21{animation:butterfly-flutter 7s ease-in-out infinite;animation-delay:1.5s;font-size:2.2rem;left:65%;top:18%}.heart-22{animation:butterfly-flutter 5.5s ease-in-out infinite;animation-delay:2.5s;font-size:1.8rem;left:55%;top:42%}.heart-23{animation-delay:1.1s;animation-duration:8.3s;font-size:1.6rem;left:78%;top:28%}.heart-24{animation:butterfly-flutter 6.5s ease-in-out infinite;animation-delay:3.5s;font-size:2rem;left:15%;top:58%}.heart-25{animation-delay:4.2s;animation-duration:7.7s;font-size:2.3rem;left:35%;top:92%}.phase2-container{align-items:center;background:linear-gradient(135deg,#8b0000,#c41e3a 30%,#6b5b95 70%,#4a90e2);display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100vw}.intro-screen{animation:fadeIn 1s ease-in}.intro-content{animation:slideUp .8s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:25px;box-shadow:0 25px 70px #0000004d;margin:20px;max-width:700px;padding:60px 50px;text-align:center;z-index:2}.intro-title{-webkit-text-fill-color:#0000;animation:heartbeat 1.5s ease-in-out infinite;background:linear-gradient(135deg,#e74c3c,#c0392b);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;line-height:1.3;margin-bottom:30px}.intro-message{color:#333;font-size:1.4rem;font-weight:500;line-height:1.8;margin-bottom:40px}.ready-button{animation:heartbeat 1.5s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 10px 30px #667eea66;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:700;overflow:hidden;padding:20px 60px;position:relative;transition:all .3s ease}.ready-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.ready-button:hover:before{height:300px;width:300px}.ready-button:hover{box-shadow:0 15px 40px #ff174499;transform:translateY(-3px)}.ready-button:active{transform:translateY(-1px)}.ready-button:disabled{cursor:not-allowed;transform:none}.ready-button:disabled:hover{box-shadow:0 10px 30px #ff174466;transform:none}.loading-indicator{align-items:center;display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #667eea33;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#667eea;font-size:1.1rem;font-weight:600;margin:0}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.floating-elements{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.floating-element{animation:float-up linear infinite;opacity:.7;position:absolute}.comic-panel{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;padding:20px;position:relative;width:100%;z-index:2}.comic-image{border-radius:15px;box-shadow:0 20px 60px #0000004d;height:auto;max-height:calc(100vh - 120px);max-width:100%;object-fit:contain;opacity:0;transition:opacity .5s ease-in-out;width:auto}.comic-image.loaded{opacity:1}.fade-in{animation:fadeIn .6s ease-in forwards}.fade-out{animation:fadeOut .6s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.comic-navigation{align-items:center;bottom:30px;display:flex;flex-direction:column;gap:15px;left:50%;position:fixed;transform:translateX(-50%);z-index:3}.panel-indicator{background:#ffffffe6;border-radius:20px;box-shadow:0 4px 15px #0000001a;color:#764ba2;font-size:.9rem;font-weight:700;padding:8px 20px}.continue-button{animation:heartbeat 1.5s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 8px 25px #667eea66;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;overflow:hidden;padding:15px 40px;position:relative;transition:all .3s ease}.continue-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.continue-button:hover:before{height:300px;width:300px}.continue-button:hover{box-shadow:0 12px 35px #667eea80;transform:translateY(-3px)}.continue-button:active{transform:translateY(-1px)}.continue-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.proposal-buttons-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:20px;height:300px;justify-content:center;position:relative;width:100%}.yes-button{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:50px;box-shadow:0 10px 30px #f5576c66;color:#fff;cursor:pointer;font-size:1.3rem;font-weight:700;overflow:hidden;padding:18px 45px;position:relative;transition:all .3s ease}.yes-button.absolutely-yes{animation:pulse 1.5s ease-in-out infinite,glow 2s ease-in-out infinite;background:linear-gradient(135deg,#fa709a,#fee140);box-shadow:0 12px 35px #fa709a80;font-size:1.5rem;padding:20px 50px}.yes-button:hover{box-shadow:0 15px 40px #f5576c99;transform:translateY(-5px) scale(1.05)}.yes-button.absolutely-yes:hover{box-shadow:0 18px 50px #fa709ab3;transform:translateY(-5px) scale(1.1)}.no-button{background:linear-gradient(135deg,#a8a8a8,#7f7f7f);border:none;border-radius:50px;box-shadow:0 6px 20px #7f7f7f4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;opacity:.7;padding:12px 30px;transition:all .2s ease;z-index:5}.no-button.runaway{position:absolute}.no-button:hover{opacity:.9}@keyframes glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.phase2-container.celebration{animation:fadeIn 1s ease-in;background:linear-gradient(135deg,#f093fb,#f5576c);overflow:hidden}.image-bubbles-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.image-bubble{animation:float-bubble linear infinite;border:4px solid #ffffff80;border-radius:50%;box-shadow:0 8px 30px #0000004d;opacity:.7;overflow:hidden;position:absolute;transition:opacity .3s ease}.image-bubble:hover{opacity:1}.image-bubble img{height:100%;object-fit:cover;width:100%}@keyframes float-bubble{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(calc(var(--float-distance)*-1)) rotate(5deg)}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(var(--float-distance)) rotate(-5deg)}}.transparent-bubbles-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.transparent-bubble{animation:float-up linear infinite;background:radial-gradient(circle at 30% 30%,#fffc,#ffffff4d,#ffffff1a);border:2px solid #ffffff4d;border-radius:50%;bottom:-150px;box-shadow:inset 0 0 20px #ffffff80,0 0 20px #fff3;position:absolute}@keyframes float-up{0%{bottom:-150px;transform:translateX(0) scale(1)}50%{transform:translateX(30px) scale(1.1)}to{bottom:110%;transform:translateX(-20px) scale(.9)}}.confetti-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.confetti-piece{animation:confetti-fall linear forwards;opacity:.9;position:absolute;top:-10px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(3turn)}}.fireworks-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.firework{animation:firework-launch 1s ease-out forwards;height:4px;position:absolute;width:4px}.firework-particle{animation:firework-explode .8s ease-out forwards;border-radius:2px;height:30px;left:0;opacity:0;position:absolute;top:0;transform-origin:0 0;width:4px}@keyframes firework-launch{0%{opacity:1;transform:translateY(100vh)}to{opacity:1;transform:translateY(0)}}@keyframes firework-explode{0%{opacity:0;transform:translateY(0) scale(0)}20%{opacity:1}to{opacity:0;transform:translateY(-150px) scale(1)}}.celebration-content{animation:scaleIn .8s ease-out;position:relative;text-align:center;z-index:2}.celebration-title{animation:bounce 1s ease-in-out;color:#fff;font-size:5rem;font-weight:700;margin-bottom:30px;text-shadow:0 4px 30px #0000004d}.celebration-message{color:#fff;font-size:2rem;line-height:1.6;margin-bottom:20px;text-shadow:0 2px 15px #0003}.celebration-datetime{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:15px;box-shadow:0 4px 20px #0000001a;color:#fff;font-size:1.3rem;font-weight:500;letter-spacing:.5px;margin-bottom:30px;padding:15px 30px;text-shadow:0 2px 10px #0003}.celebration-emoji{animation:pulse 2s ease-in-out infinite;font-size:4rem}.snapshot-button{animation:fadeInUp 1s ease-out 2s both,pulse 2s ease-in-out 3s infinite;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 8px 25px #667eea66;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;margin-top:30px;overflow:hidden;padding:15px 40px;position:relative;transition:all .3s ease}.snapshot-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.snapshot-button:hover:before{height:300px;width:300px}.snapshot-button:hover{box-shadow:0 12px 35px #667eea99;transform:translateY(-3px) scale(1.05)}.snapshot-button:active{transform:translateY(-1px) scale(1.02)}.snapshot-message{animation:fadeIn .5s ease-in;color:#4ecdc4;font-size:1.1rem;font-weight:600;margin-top:15px}.print-certificate-button{animation:fadeInUp 1s ease-out 2s both,pulse 2s ease-in-out 3s infinite;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 8px 25px #667eea66;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;margin-top:30px;overflow:hidden;padding:15px 40px;position:relative;transition:all .3s ease}.print-certificate-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.print-certificate-button:hover:before{height:300px;width:300px}.print-certificate-button:hover{box-shadow:0 12px 35px #667eea99;transform:translateY(-3px) scale(1.05)}.print-certificate-button:active{transform:translateY(-1px) scale(1.02)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}10%{transform:scale(1.05)}20%{transform:scale(1)}30%{transform:scale(1.08)}40%{transform:scale(1)}}@media (max-width:768px){.comic-image{max-height:calc(100vh - 150px)}.continue-button{font-size:1rem;padding:12px 30px}.floating-element{font-size:1rem!important}.proposal-buttons-wrapper{flex-direction:column;gap:15px;height:400px}.yes-button{font-size:1.1rem;padding:15px 35px}.yes-button.absolutely-yes{font-size:1.3rem;padding:18px 40px}.no-button{font-size:.9rem;padding:10px 25px}.celebration-title{font-size:3rem}.celebration-message{font-size:1.5rem;padding:0 20px}.celebration-datetime{font-size:1rem;margin:0 20px 30px;padding:12px 20px}.celebration-emoji{font-size:3rem}.image-bubble{border:3px solid #ffffff80}.snapshot-button{font-size:1rem;padding:12px 30px}.snapshot-message{font-size:.9rem;padding:0 20px}.print-certificate-button{font-size:1rem;padding:12px 30px}}
/*# sourceMappingURL=main.f0d5b35c.css.map*/