*{margin:0;padding:0;box-sizing:border-box}:root{--valentine-red: #FF4D6D;--valentine-dark: #E8365A;--valentine-light: #FF8FA3;--valentine-bg: #FF4D6D;--white: #ffffff;--glass: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .2)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--valentine-bg);color:var(--white);height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;position:fixed;inset:0}#app{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;position:relative;overflow:hidden}.header{font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin-bottom:2rem;animation:fadeInDown .8s ease-out}.header .cursor-blink{animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.heart-container{margin-bottom:2rem;animation:fadeIn 1s ease-out .3s both}.heart{width:80px;height:80px;position:relative;animation:heartbeat 1.2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,255,255,.3));transition:animation-duration .3s ease}.heart:before,.heart:after{content:"";position:absolute;width:52px;height:80px;background:var(--white);border-radius:52px 52px 0 0}.heart:before{left:40px;top:0;transform:rotate(-45deg);transform-origin:0 100%}.heart:after{left:0;top:0;transform:rotate(45deg);transform-origin:100% 100%}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}60%{transform:scale(1)}}.heart.fast{animation-duration:.5s}.heart.superfast{animation-duration:.3s}.question{font-size:clamp(1.8rem,6vw,2.8rem);font-weight:800;text-align:center;margin-bottom:2.5rem;line-height:1.2;animation:fadeInUp .8s ease-out .5s both;text-shadow:0 2px 20px rgba(0,0,0,.1);transition:opacity .3s ease}.buttons{display:flex;gap:1rem;animation:fadeInUp .8s ease-out .7s both;flex-wrap:wrap;justify-content:center}.btn{padding:1rem 2.5rem;border:none;border-radius:100px;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn-yes{background:var(--white);color:var(--valentine-red);box-shadow:0 4px 24px #00000026;min-width:140px;transition:all .4s cubic-bezier(.4,0,.2,1)}.btn-yes:hover{filter:brightness(.95);box-shadow:0 8px 32px #0003}.btn-yes:active{filter:brightness(.9)}.btn-dodge{position:fixed;z-index:50;transition:left .25s cubic-bezier(.4,0,.2,1),top .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.btn-no{background:var(--glass);color:var(--white);border:2px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);min-width:140px;transition:all .4s cubic-bezier(.4,0,.2,1)}.btn-no:hover{background:#fff3}.btn-no:active{transform:scale(.97)}.buttons.all-yes{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;max-width:320px;width:100%}.btn-final{animation:popIn .4s cubic-bezier(.175,.885,.32,1.275) both;min-width:unset!important;padding:1rem 1.5rem}.btn-final:nth-child(1){animation-delay:0s}.btn-final:nth-child(2){animation-delay:.1s}.btn-final:nth-child(3){animation-delay:.2s}.btn-final:nth-child(4){animation-delay:.3s}.meme-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background:var(--white);color:#1a1a2e;padding:1rem;border-radius:20px;font-weight:700;font-size:1.2rem;text-align:center;box-shadow:0 24px 80px #0000004d;z-index:100;max-width:340px;width:90%;pointer-events:none;line-height:1.4;opacity:0;overflow:hidden}.meme-popup.show{animation:memeIn .5s cubic-bezier(.175,.885,.32,1.275) forwards,memeOut .4s ease-in 2.5s forwards}.meme-popup .meme-image{width:100%;border-radius:12px;display:block;margin-bottom:.6rem}.meme-popup .meme-text{font-size:.85rem;font-weight:600;opacity:.6;padding:0 .5rem .5rem}@keyframes memeIn{0%{transform:translate(-50%,-50%) scale(0) rotate(-10deg);opacity:0}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}@keyframes memeOut{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(.8) translateY(20px);opacity:0}}.meme-overlay{position:fixed;inset:0;background:#0000004d;z-index:99;opacity:0;pointer-events:none;transition:opacity .3s ease}.meme-overlay.show{opacity:1}.accepted-screen{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100dvh;padding:2rem;overflow-y:auto}.accepted-screen.show{display:flex;animation:fadeIn .6s ease-out}.accepted-status{font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin-bottom:1.5rem;animation:fadeInDown .6s ease-out .3s both}.accepted-heart-container{position:relative;width:200px;height:200px;margin-bottom:1.5rem;animation:fadeIn .6s ease-out .5s both}.big-red-heart{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:6rem;animation:acceptedPulse 1.5s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,77,109,.5));z-index:2}.orbiting-heart{position:absolute;font-size:1.5rem;z-index:1}.orbit-1,.orbit-2{animation:orbitHorizontal 3s linear infinite}.orbit-1{animation-delay:0s}.orbit-2{animation-delay:1.5s}.orbit-3,.orbit-4{animation:orbitVertical 3s linear infinite}.orbit-3{animation-delay:0s}.orbit-4{animation-delay:1.5s}.orbit-5,.orbit-6{animation:orbitDiagonal1 3s linear infinite}.orbit-5{animation-delay:0s}.orbit-6{animation-delay:1.5s}.orbit-7,.orbit-8{animation:orbitDiagonal2 3s linear infinite}.orbit-7{animation-delay:0s}.orbit-8{animation-delay:1.5s}.orbit-9{animation:orbitCircular 2.5s linear infinite}.orbit-10{animation:orbitCircular 2.5s linear infinite reverse}@keyframes orbitHorizontal{0%{top:50%;left:50%;transform:translate(-50%,-50%) translate(-80px)}50%{top:50%;left:50%;transform:translate(-50%,-50%) translate(80px)}to{top:50%;left:50%;transform:translate(-50%,-50%) translate(-80px)}}@keyframes orbitVertical{0%{top:50%;left:50%;transform:translate(-50%,-50%) translateY(-80px)}50%{top:50%;left:50%;transform:translate(-50%,-50%) translateY(80px)}to{top:50%;left:50%;transform:translate(-50%,-50%) translateY(-80px)}}@keyframes orbitDiagonal1{0%{top:50%;left:50%;transform:translate(-50%,-50%) translate(-60px,-60px)}50%{top:50%;left:50%;transform:translate(-50%,-50%) translate(60px,60px)}to{top:50%;left:50%;transform:translate(-50%,-50%) translate(-60px,-60px)}}@keyframes orbitDiagonal2{0%{top:50%;left:50%;transform:translate(-50%,-50%) translate(60px,-60px)}50%{top:50%;left:50%;transform:translate(-50%,-50%) translate(-60px,60px)}to{top:50%;left:50%;transform:translate(-50%,-50%) translate(60px,-60px)}}@keyframes orbitCircular{0%{top:50%;left:50%;transform:translate(-50%,-50%) rotate(0) translate(70px) rotate(0)}to{top:50%;left:50%;transform:translate(-50%,-50%) rotate(360deg) translate(70px) rotate(-360deg)}}@keyframes acceptedPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.15)}}.accepted-title{font-size:clamp(2rem,8vw,3.5rem);font-weight:900;margin-bottom:.5rem;animation:fadeInUp .8s ease-out .7s both;text-shadow:0 2px 20px rgba(0,0,0,.1)}.accepted-subtitle{font-size:1.1rem;font-weight:400;opacity:.8;margin-bottom:3rem;animation:fadeInUp .8s ease-out .9s both}.voucher{background:var(--glass);border:2px dashed var(--glass-border);border-radius:20px;padding:2rem 2.5rem;max-width:340px;width:100%;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fadeInUp .8s ease-out 1.2s both}.voucher-header{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:1rem}.voucher-title{font-size:1.4rem;font-weight:800;margin-bottom:.5rem;line-height:1.3}.voucher-detail{font-size:.9rem;opacity:.7;font-weight:400}.voucher-divider{width:100%;height:1px;background:var(--glass-border);margin:1rem 0}.voucher-footer{font-size:.75rem;opacity:.5;font-style:italic}.main-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .4s ease}.main-screen.hidden{display:none}.floating-hearts{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.floating-heart{position:absolute;font-size:1.5rem;opacity:.15;animation:floatUp linear infinite}@keyframes floatUp{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.15}90%{opacity:.15}to{transform:translateY(-10vh) rotate(360deg);opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.shake{animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@media(max-width:380px){.btn{padding:.9rem 2rem;font-size:1rem;min-width:120px}.meme-popup{padding:1.5rem 2rem}}
