*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,"Apple Color Emoji","Segoe UI Emoji";color:#111827}.page{min-height:100%;position:relative;overflow:hidden}.bg{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 600px at 20% 20%,#ffd5e1 0%,transparent 60%),radial-gradient(900px 500px at 80% 30%,#d6e4ff 0%,transparent 55%),radial-gradient(1000px 700px at 50% 80%,#ffe7b8 0%,transparent 60%),linear-gradient(135deg,#fff,#f7f7fb);animation:floatBg 14s ease-in-out infinite alternate;z-index:-1;filter:saturate(1.1)}@keyframes floatBg{0%{transform:translateZ(0)}to{transform:translate3d(0,-12px,0)}}.card{width:min(680px,92vw);margin:8vh auto 10vh;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 20px 60px #00000014;padding:40px 28px 56px;position:relative;min-height:320px;overflow:hidden}.hearts .heart{position:absolute;width:90px;opacity:.2;animation:float 6s ease-in-out infinite;z-index:0}.hearts .left{top:-10px;left:-2px;animation-delay:.2s}.hearts .right{top:-18px;right:-6px;transform:scaleX(-1);animation-delay:.8s}@keyframes float{0%{transform:translateY(0) scale(1)}50%{transform:translateY(8px) scale(1.02)}to{transform:translateY(0) scale(1)}}.title{margin:8px 0 4px;text-align:center;font-size:clamp(28px,5vw,40px);line-height:1.1;font-weight:800;letter-spacing:-.02em;z-index:1;position:relative}.subtitle{margin:0 0 24px;text-align:center;color:#374151;font-size:15px;z-index:1;position:relative}.buttons-row{position:relative;display:flex;justify-content:center;align-items:center;gap:16px;min-height:120px;margin-top:10px}.btn{border:0;padding:14px 22px;font-size:16px;border-radius:14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .2s ease;position:relative;z-index:2}.btn:active{transform:translateY(1px) scale(.99)}.btn.yes{background:#16a34a;color:#fff;box-shadow:0 8px 20px #16a34a40}.btn.yes:hover{filter:brightness(1.04)}.btn.no{background:#ef4444;position:fixed!important;color:#fff;box-shadow:0 8px 20px #ef444440}.hint{margin-top:10px;text-align:center;color:#6b7280;font-size:13px}.accepted{text-align:center;padding:14px 6px 0;min-height:140px}.accepted h2{font-size:clamp(22px,4vw,30px);margin:0 0 8px}.accepted p{margin:6px 0 18px;color:#374151;font-size:16px}.btn.again{background:#6366f1;color:#fff;box-shadow:0 8px 20px #6366f140}.btn.again:hover{filter:brightness(1.05)}.confetti{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:radial-gradient(6px 6px at 10% 20%,#f87171 98%,transparent 100%),radial-gradient(6px 6px at 30% 80%,#60a5fa 98%,transparent 100%),radial-gradient(6px 6px at 70% 40%,#34d399 98%,transparent 100%),radial-gradient(6px 6px at 85% 65%,#fbbf24 98%,transparent 100%),radial-gradient(6px 6px at 50% 10%,#f472b6 98%,transparent 100%);pointer-events:none;opacity:.85;animation:conf 1.2s ease forwards;z-index:0}@keyframes conf{0%{transform:translateY(-10px);filter:blur(6px);opacity:0}to{transform:translateY(0);filter:blur(0);opacity:.9}}.footer{position:fixed;bottom:10px;left:50%;transform:translate(-50%);background:#111827;color:#e5e7eb;padding:8px 14px;border-radius:999px;font-size:12px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px #00000040}.footer .dot{opacity:.6}
