*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}#hearts-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0}.floating-heart{position:absolute;font-size:24px;animation:float-up linear infinite;opacity:.6}@keyframes float-up{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100px) rotate(360deg);opacity:0}}#app{position:relative;z-index:1;text-align:center;padding:2rem}.card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:3rem;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1);max-width:500px;margin:0 auto}h1{color:#fff;font-size:2.2rem;margin-bottom:1rem;line-height:1.3}.joburg{background:linear-gradient(45deg,gold,#ffb347,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:2.8rem;font-weight:800;text-shadow:0 0 30px rgba(255,215,0,.5);animation:golden-glow 2s ease-in-out infinite}@keyframes golden-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.cupid{font-size:4rem;display:block;margin:1rem auto;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.message{color:#fffc;font-size:1.1rem;margin:1.5rem 0;min-height:50px;transition:all .3s ease}.message.desperate{color:#ff6b6b;font-weight:700;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.buttons{display:flex;gap:1.5rem;justify-content:center;align-items:center;margin-top:2rem;min-height:80px;position:relative}.btn{padding:1rem 2.5rem;font-size:1.2rem;border:none;border-radius:50px;cursor:pointer;font-weight:600;transition:all .3s ease;position:relative}.btn.yes{background:linear-gradient(45deg,#00c853,#69f0ae);color:#fff;box-shadow:0 4px 15px #00c85366;animation:pulse-yes 1.5s ease-in-out infinite}.btn.yes:hover{transform:scale(1.1);box-shadow:0 6px 25px #00c85399}@keyframes pulse-yes{0%,to{box-shadow:0 4px 15px #00c85366}50%{box-shadow:0 4px 25px #00c853cc}}.btn.no{background:linear-gradient(45deg,#ff5252,#ff1744);color:#fff;box-shadow:0 4px 15px #ff525266;transition:all .15s ease}.btn.no.shrinking{animation:shrink-bounce .3s ease}@keyframes shrink-bounce{0%{transform:scale(1)}50%{transform:scale(.8)}to{transform:scale(1)}}.btn.no.tiny{font-size:.6rem;padding:.3rem .6rem}.success-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100;animation:fade-in .5s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.success-screen h1{font-size:3.5rem;margin-bottom:1rem;animation:celebration .5s ease-in-out infinite alternate}@keyframes celebration{0%{transform:scale(1) rotate(-2deg)}to{transform:scale(1.05) rotate(2deg)}}.success-screen p{color:#ffffffe6;font-size:1.5rem;margin:.5rem 0}.success-screen .small{font-size:1rem;color:#ffffffb3;font-style:italic}.big-heart{font-size:8rem;margin-top:2rem;animation:heartbeat .8s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1)}75%{transform:scale(1.15)}}#confetti{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:101}.confetti-piece{position:absolute;width:10px;height:10px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.btn.yes.growing{animation:grow-bigger .3s ease forwards}@keyframes grow-bigger{to{transform:scale(1.2)}}.hidden{display:none!important}.sparkle{position:absolute;font-size:1.5rem;animation:sparkle 1s ease-in-out forwards;pointer-events:none}@keyframes sparkle{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.5) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}@media(max-width:480px){.card{padding:2rem 1.5rem;margin:1rem;border-radius:20px}h1{font-size:1.6rem}.joburg{font-size:2rem}.cupid{font-size:3rem}.message{font-size:1rem}.btn{padding:.9rem 2rem;font-size:1.1rem}.success-screen h1{font-size:2.5rem}.success-screen p{font-size:1.2rem;padding:0 1rem}.big-heart{font-size:6rem}}.marcus-flash{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:#000000b3;z-index:200;animation:flash-in .1s ease-out;pointer-events:none}.marcus-flash img{max-width:80%;max-height:60%;border-radius:12px;box-shadow:0 0 30px #ffd70080}.marcus-flash.fade-out{animation:flash-out .2s ease-out forwards}@keyframes flash-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes flash-out{0%{opacity:1}to{opacity:0}}
