*{margin:0;padding:0;box-sizing:border-box}#root{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center}body{background-color:#ffd6e0;font-family:Nunito,sans-serif;min-height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden;background-image:linear-gradient(135deg,rgba(255,200,210,.9) 0%,transparent 30%,transparent 70%,rgba(248,180,200,.8) 100%),radial-gradient(ellipse 120% 80% at 20% 90%,rgba(255,182,193,.75) 0%,transparent 50%),radial-gradient(ellipse 100% 70% at 80% 10%,rgba(255,160,180,.65) 0%,transparent 45%),radial-gradient(ellipse 85% 90% at 50% 50%,rgba(255,228,240,.6) 0%,transparent 55%),radial-gradient(circle at 70% 85%,rgba(252,190,210,.45) 0%,transparent 38%),radial-gradient(circle at 25% 15%,rgba(255,192,210,.45) 0%,transparent 38%)}.hearts-bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.hearts-bg:before,.hearts-bg:after{content:"💕 💗 💖 💝 💓";position:absolute;font-size:1.5rem;opacity:.15;animation:floatHearts 12s linear infinite;white-space:nowrap;top:100%;left:10%}.hearts-bg:after{animation-delay:6s;left:60%;content:"💗 💕 💓 💖 💝"}@keyframes floatHearts{0%{transform:translateY(0);opacity:.15}to{transform:translateY(-110vh);opacity:0}}.container{position:relative;z-index:1;text-align:center;padding:40px 20px}h1{font-size:2.4rem;color:#d63384;font-weight:900;margin-bottom:20px;text-shadow:2px 2px 0px rgba(214,51,132,.2);animation:wiggle 2s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.gif-container{margin:20px auto;display:flex;justify-content:center}#cat-gif{width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15));transition:opacity .3s ease}.buttons{display:flex;gap:20px;justify-content:center;align-items:center;margin-top:30px;flex-wrap:wrap}#yes-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:16px;font-size:1.6rem;font-weight:900;font-family:Nunito,sans-serif;padding:18px 45px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 20px #4caf5073;letter-spacing:1px}#yes-btn:hover{transform:scale(1.06) translateY(-2px);box-shadow:0 10px 28px #4caf508c}#yes-btn:active{transform:scale(.98)}#no-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;font-family:Nunito,sans-serif;padding:12px 28px;cursor:pointer;transition:background .2s,left .25s ease,top .25s ease;box-shadow:0 4px 14px #e74c3c66}#no-btn:hover{background:linear-gradient(135deg,#c0392b,#a93226)}#tease-toast{margin-top:32px;font-size:1rem;color:#d63384;font-weight:700;font-style:italic;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;min-height:1.5rem}#tease-toast.show{opacity:1;transform:translateY(0)}#music-toggle{position:fixed;bottom:20px;right:20px;background:#ffffffd9;border:none;border-radius:50%;width:52px;height:52px;font-size:1.4rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001f;transition:transform .2s;z-index:100}#music-toggle:hover{transform:scale(1.1)}.yes-container h1.yes-title{font-size:2.8rem;animation:bounceTitle .6s ease infinite alternate}@keyframes bounceTitle{0%{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-12px) rotate(1deg)}}.yes-message{font-size:1.4rem;color:#e91e8c;font-weight:700;margin-top:24px;animation:fadeIn 1s ease .5s both}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.yes-container #cat-gif{width:260px;height:260px}.yes-letter-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:20px;width:56px;height:56px;border:none;border-radius:50%;background:linear-gradient(135deg,#ff9ebb,#ff6b9d);color:#fff;font-size:1.75rem;cursor:pointer;box-shadow:0 6px 20px #ff6b9d73;transition:transform .2s,box-shadow .2s;z-index:10}.yes-letter-btn:hover{transform:scale(1.08);box-shadow:0 8px 24px #ff6b9d8c}.yes-letter-btn:focus-visible{outline:2px solid #ff6b9d;outline-offset:3px}.love-letter-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#641e3c99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.love-letter-modal{position:relative;max-width:420px;width:100%;max-height:90vh;overflow-y:auto;background:linear-gradient(180deg,#fff5f8,#ffe8f0,#ffdde8);border-radius:20px;box-shadow:0 25px 50px #96325040,0 0 0 1px #ffb6c180,inset 0 1px #fffc;animation:modalSlideIn .35s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.love-letter-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;border-radius:50%;background:#ffffffe6;color:#c9184a;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s,transform .2s;z-index:2}.love-letter-close:hover{background:#fff;transform:scale(1.1)}.love-letter-content{padding:28px 24px 32px;text-align:center}.love-letter-image-wrap{width:140px;height:140px;margin:0 auto 20px;border-radius:50%;overflow:hidden;border:4px solid rgba(255,182,193,.9);box-shadow:0 8px 24px #c850784d}.love-letter-image{width:100%;height:100%;object-fit:cover}.love-letter-title{font-size:1.35rem;color:#a4133c;font-weight:800;margin-bottom:16px;text-shadow:0 1px 2px rgba(164,19,60,.15)}.love-letter-text{font-size:.95rem;line-height:1.75;color:#801336;white-space:pre-line;margin:0;font-weight:600}.love-letter-polaroid{position:relative;width:160px;margin:0 auto 20px;padding:12px 12px 36px;background:#fff;border-radius:2px;box-shadow:0 4px 15px #0000001f,0 0 0 1px #0000000f;transform:rotate(-1.5deg)}.love-letter-polaroid .love-letter-image-wrap{width:100%;height:136px;margin:0;border-radius:0;border:none;overflow:hidden;box-shadow:none}.love-letter-polaroid .love-letter-image{width:100%;height:100%;object-fit:cover}.love-letter-stamp{position:absolute;bottom:8px;right:10px;font-size:.65rem;color:#c9184a;font-weight:800;letter-spacing:.02em;transform:rotate(12deg);opacity:.9}.love-letter-quote{margin-top:20px;font-size:.9rem;color:#a4133c;font-weight:700;font-style:italic}.yes-quote{font-size:1.1rem;color:#c9184a;font-weight:700;font-style:italic;margin-top:12px;animation:fadeIn 1s ease .8s both}.click-hearts-container{position:fixed;inset:0;pointer-events:none;z-index:9999}.click-heart{position:fixed;font-size:1.5rem;transform:translate(-50%,-50%) scale(.3);animation:clickHeartPop 1.4s ease-out forwards;pointer-events:none}@keyframes clickHeartPop{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}30%{transform:translate(-50%,-60%) scale(1.1);opacity:1}to{transform:translate(-50%,-120%) scale(.8);opacity:0}}.falling-hearts{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}.falling-heart{position:absolute;top:-10%;font-size:1.25rem;opacity:.7;animation:fallingHeart linear forwards}@keyframes fallingHeart{0%{transform:translateY(0) rotate(0);opacity:.7}to{transform:translateY(110vh) rotate(360deg);opacity:.2}}
