*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--pink-100: #fff0f5;--pink-200: #ffd6e7;--pink-300: #ffb3d1;--pink-400: #ff80b5;--pink-500: #ff4d94;--pink-600: #e6005c;--white: #ffffff;--shadow: 0 4px 20px rgba(255, 77, 148, .15);--radius: 16px}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,var(--pink-100) 0%,var(--pink-200) 100%);color:#4a2040;min-height:100dvh;overflow-x:hidden}.app{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px}.screen-container{position:relative;z-index:1;width:100%;max-width:600px;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.screen{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}.title{font-size:2rem;font-weight:700;color:var(--pink-600);line-height:1.3}.question-title{font-size:1.25rem;font-weight:600;color:var(--pink-600)}.btn{border:none;cursor:pointer;font-size:1.1rem;font-weight:600;border-radius:var(--radius);padding:14px 36px;transition:transform .15s,box-shadow .15s}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--pink-400),var(--pink-500));color:var(--white);box-shadow:var(--shadow)}.btn-primary:hover{box-shadow:0 6px 28px #ff4d944d}.btn-secondary{background:var(--white);color:var(--pink-500);border:2px solid var(--pink-300)}.btn-secondary:hover{background:var(--pink-100)}.btn-reveal{font-size:1.3rem;padding:18px 48px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.progress-wrapper{width:100%;display:flex;flex-direction:column;gap:8px}.progress-label{font-size:.9rem;font-weight:600;color:var(--pink-500)}.progress-bar{width:100%;height:6px;background:var(--pink-200);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--pink-400),var(--pink-500));border-radius:3px;transition:width .3s ease}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.photo-card{border:none;background:var(--white);border-radius:var(--radius);overflow:hidden;cursor:pointer;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;padding:0}.photo-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #ff4d9440}.photo-card img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block}.q3-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.q3-card{position:relative;border:none;border-radius:var(--radius);overflow:hidden;cursor:pointer;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;padding:16px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.q3-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #ff4d9440}.q3-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.q3-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ff4d94a6,#e6005c8c)}.q3-text{position:relative;z-index:1;color:var(--white);font-size:1rem;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.3);line-height:1.4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.modal-content{background:var(--white);border-radius:var(--radius);padding:32px 28px;max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:0 12px 40px #ff4d9440}.modal-message{font-size:1.2rem;font-weight:600;color:var(--pink-600);text-align:center;line-height:1.5}.final-screen{gap:20px}.result-container{display:flex;flex-direction:column;align-items:center;gap:24px;animation:fadeIn .5s ease-out}.result-image{width:100%;max-width:400px;border-radius:var(--radius);box-shadow:var(--shadow)}.result-placeholder{width:200px;height:200px;display:flex;align-items:center;justify-content:center;font-size:5rem;background:var(--pink-100);border-radius:var(--radius)}.love-meter{font-size:1rem;font-weight:700;color:var(--pink-600);background:var(--white);padding:16px 20px;border-radius:var(--radius);box-shadow:var(--shadow);line-height:1.5}.final-text{font-size:1.1rem;line-height:1.7;color:#5a2848;background:var(--white);padding:24px;border-radius:var(--radius);box-shadow:var(--shadow)}.reveal-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.hearts-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.heart-fly{position:absolute;font-size:var(--size, 20px);animation:heartFlyOut .8s ease-out forwards}@keyframes heartFlyOut{0%{transform:rotate(var(--angle)) translateY(0) scale(0);opacity:1}30%{transform:rotate(var(--angle)) translateY(calc(var(--distance) * -.4)) scale(1.2);opacity:1}to{transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scale(.8);opacity:0}}.hearts-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.heart{position:absolute;color:var(--pink-300);will-change:transform,opacity}.heart-burst{top:-5%;animation:burstFall ease-out forwards}@keyframes burstFall{0%{transform:translateY(0) translate(0) rotate(0) scale(.3);opacity:0}10%{opacity:1;transform:translateY(8vh) translate(calc(var(--drift, 0px) * .2)) rotate(calc(var(--rotation, 0deg) * .2)) scale(1)}70%{opacity:.8}to{transform:translateY(110vh) translate(var(--drift, 0px)) rotate(var(--rotation, 30deg)) scale(.6);opacity:0}}.heart-ambient{bottom:-30px;animation:ambientFloat linear infinite}@keyframes ambientFloat{0%{transform:translateY(0) translate(0) rotate(0);opacity:var(--opacity, .15)}25%{transform:translateY(-28vh) translate(var(--sway, 20px)) rotate(10deg)}50%{transform:translateY(-55vh) translate(0) rotate(-5deg);opacity:var(--opacity, .15)}75%{transform:translateY(-82vh) translate(calc(var(--sway, 20px) * -.7)) rotate(8deg)}to{transform:translateY(-115vh) translate(0) rotate(0);opacity:0}}@media(max-width:480px){.title{font-size:1.6rem}.question-title{font-size:1.1rem}.q3-card{aspect-ratio:3 / 4}.q3-text,.love-meter{font-size:.9rem}}
