@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:Quicksand,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:500;color:#ad1457;background:linear-gradient(135deg,#fce4ec,#f8bbd0,#fce4ec);min-height:100vh;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh;display:flex;flex-direction:column}#root{min-height:100vh;display:flex;flex-direction:column}.message-card{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:420px;margin:0 auto;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.message-box{position:relative;background:#fce4ec;border-radius:20px;padding:28px 48px;width:100%;box-sizing:border-box;display:flex;align-items:center;box-shadow:0 4px 20px #c2185b1f}.message-content{flex:1;text-align:center;z-index:1}.message-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:#c2185b;margin-bottom:8px;font-weight:600}.message-text{color:#ad1457;font-size:1.15rem;line-height:1.6;margin:0;font-weight:500}.hearts-left,.hearts-right{display:flex;flex-direction:column;gap:6px;position:absolute;top:50%;transform:translateY(-50%)}.hearts-left{left:10px}.hearts-right{right:10px}.heart{color:#c2185b;opacity:.5}.heart-1{width:14px;height:14px;animation:heartPulse 2s ease-in-out infinite}.heart-2{width:10px;height:10px;animation:heartPulse 2s ease-in-out .3s infinite;margin-left:4px}.heart-3{width:12px;height:12px;animation:heartPulse 2s ease-in-out .6s infinite}@keyframes heartPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.2);opacity:.7}}.connector{display:flex;align-items:center;justify-content:center;padding:10px 0}.connector-heart{width:22px;height:22px;color:#e91e63;animation:connectorBeat 1.4s ease-in-out infinite}@keyframes connectorBeat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}@media(max-width:480px){.message-box{padding:24px 40px;border-radius:16px}.message-text{font-size:1.05rem}.hearts-left{left:8px}.hearts-right{right:8px}.heart-1{width:12px;height:12px}.heart-2{width:8px;height:8px}.heart-3{width:10px;height:10px}}.valentine-question{font-size:1.3rem!important;font-weight:700!important}.valentine-response-box{min-height:100px;overflow:visible;position:relative}.valentine-buttons{display:flex;gap:20px;justify-content:center;align-items:center;padding:8px 0;min-height:50px}.valentine-btn{border:none;border-radius:50px;padding:10px 32px;font-size:1.05rem;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.valentine-yes{background:#c2185b;color:#fff;box-shadow:0 4px 14px #c2185b59}.valentine-yes:hover{background:#ad1457;transform:scale(1.08);box-shadow:0 6px 20px #c2185b73}.valentine-no{background:#f8bbd0;color:#c2185b;box-shadow:0 2px 8px #c2185b26;transition:transform .3s cubic-bezier(.34,1.56,.64,1);user-select:none;-webkit-user-select:none;touch-action:none}.valentine-yes-text{font-size:1.4rem!important;font-weight:700!important;animation:yesReveal .6s ease-out}@keyframes yesReveal{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.love-explosion{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:100}.explosion-heart{position:absolute;top:0;left:0;animation:explodeOut 1.8s cubic-bezier(.25,.46,.45,.94) forwards;opacity:0}@keyframes explodeOut{0%{transform:translate(0) scale(0);opacity:0}15%{opacity:1;transform:translate(0) scale(1.2)}40%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:0}}.big-heart-reveal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:80px;animation:bigHeartPop 1.5s cubic-bezier(.34,1.56,.64,1) .2s forwards}@keyframes bigHeartPop{0%{transform:translate(-50%,-50%) scale(0) rotate(-10deg);opacity:0}30%{transform:translate(-50%,-50%) scale(1.3) rotate(5deg);opacity:1}50%{transform:translate(-50%,-50%) scale(.9) rotate(-3deg)}70%{transform:translate(-50%,-50%) scale(1.1) rotate(2deg)}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}.big-heart-reveal{animation:bigHeartPop 1.5s cubic-bezier(.34,1.56,.64,1) .2s forwards,fadeAway 1s ease 3s forwards}@keyframes fadeAway{to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;padding:20px 16px}.floating-hearts{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.floating-heart{position:absolute;bottom:-30px;animation:floatUp linear infinite}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.2}90%{opacity:.15}to{transform:translateY(-110vh) rotate(360deg);opacity:0}}.header{text-align:center;z-index:1;margin-bottom:24px;padding-top:10px}.header h1{font-size:2rem;font-weight:700;color:#c2185b;margin:0;letter-spacing:-.5px}.subtitle{font-size:.85rem;color:#e91e63;margin-top:4px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.main{flex:1;display:flex;align-items:center;justify-content:center;z-index:1;width:100%;padding:0 16px}.nav{display:flex;gap:16px;z-index:1;padding:20px 0 24px}.nav-btn{display:flex;align-items:center;gap:6px;background:#c2185b;color:#fff;border:none;border-radius:50px;padding:12px 24px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #c2185b4d}.nav-btn:hover:not(:disabled){background:#ad1457;transform:translateY(-2px);box-shadow:0 6px 20px #c2185b66}.nav-btn:active:not(:disabled){transform:translateY(0)}.nav-btn:disabled{background:#f48fb1;cursor:not-allowed;box-shadow:none;opacity:.5}@media(max-width:480px){.app{padding:12px 8px}.header h1{font-size:1.6rem}.nav-btn{padding:10px 20px;font-size:.9rem}}@media(min-height:700px){.header{margin-bottom:0}}
