*{box-sizing:border-box}html,body,#root{height:100%;margin:0;font-family:Lato,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#fff}body{background:radial-gradient(circle at 10% 10%,#ff9ac8,#ff6ea1 30%,#7f00ff);overflow:auto}.app-root{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;position:relative}.hearts-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.heart{position:absolute;will-change:transform,opacity;animation-name:floatUp,sway;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite;opacity:.9}@keyframes floatUp{0%{transform:translateY(110vh) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(-20vh) rotate(360deg);opacity:0}}@keyframes sway{0%{transform:translate(0)}50%{transform:translate(20px)}to{transform:translate(0)}}.card{position:relative;z-index:2;width:min(92vw,720px);max-width:720px;padding:36px;border-radius:18px;text-align:center;-webkit-backdrop-filter:blur(6px) saturate(140%);backdrop-filter:blur(6px) saturate(140%);background:linear-gradient(180deg,#ffffff0f,#ffffff05);box-shadow:0 6px 30px #00000040}.title{font-size:.9rem;margin:0 0 18px}.card{animation:cardEnter .36s cubic-bezier(.22,.9,.32,1);transform-origin:center top}.title{letter-spacing:.2px}.content-wrapper{display:flex;gap:16px;align-items:center;justify-content:center}.gif{width:220px;max-width:45%;border-radius:12px;flex-shrink:0}.buttons{display:flex;gap:16px;align-items:center;justify-content:center}.btn{font-size:1.1rem;padding:12px 20px;border-radius:12px;border:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 6px 18px #00000040}.btn:active{transform:scale(.98)}.yes{background:linear-gradient(90deg,#ff7ab6,#ff5f7a);color:#fff}.no{background:linear-gradient(90deg,#ffd6a5,#ffb677);color:#3a1f00}.btn:focus{outline:3px solid rgba(255,255,255,.18);outline-offset:2px}.celebration-message{font-size:1.3rem;line-height:2;font-weight:600;animation:pulse 1s ease-in-out infinite}.celebration-emoji{font-size:2.4rem;animation:bounce 1.2s ease-in-out infinite;white-space:nowrap}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(-10px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.valentine-form{width:100%;max-width:500px;margin:0 auto}.valentine-form h2{margin:0 0 24px;font-size:1.6rem}.form-group{margin-bottom:16px;display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:8px;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{padding:10px;border-radius:8px;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff9}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#fff9}.form-group select option{color:#000}.form-group textarea{resize:vertical}.error-msg{color:#ff6b9d;font-weight:600;margin:12px 0;text-align:center}.share-link-container{width:100%;text-align:center}.share-link-container h2{margin:0 0 16px;font-size:1.4rem}.link-box{display:flex;gap:10px;margin:20px 0;align-items:stretch}.link-box input{flex:1;padding:10px;border-radius:8px;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:.9rem}.share-buttons{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap;justify-content:center}.share-btn{padding:10px 16px;border-radius:8px;border:0;background:#fff3;color:#fff;cursor:pointer;font-weight:600;transition:background .2s}.share-btn:hover{background:#ffffff4d}.valentine-content{text-align:center;margin:20px 0}.day-badge{display:inline-block;background:#fff3;padding:6px 12px;border-radius:20px;font-weight:600;margin-bottom:16px}.valentine-message{font-size:1.15rem;line-height:1.8;font-style:italic;white-space:pre-wrap;word-wrap:break-word}.day-top-message{font-size:.9rem;font-style:italic;margin-bottom:14px;display:flex;align-items:center;justify-content:center;gap:10px}.day-top-emoji{display:inline-block;font-size:1.2rem;animation:floatEmoji 2s ease-in-out infinite}@keyframes floatEmoji{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.highlight-name{display:inline-block;padding:2px 8px;border-radius:8px;background:#ffffff14;color:#fff;margin:0 4px}@media (max-width:420px){.gif{width:160px}.content-wrapper,.share-buttons,.link-box{flex-direction:column}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.dialog-box{background:linear-gradient(135deg,#ffffff26,#ffffff0d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:30px;max-width:450px;width:90%;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.2);animation:slideUp .3s ease}.dialog-box h3{margin:0 0 16px;font-size:1.5rem;color:#fff}.dialog-box p{line-height:1.6;font-size:1rem;margin:0 0 24px;color:#ffffffe6}.dialog-buttons{display:flex;gap:12px;flex-wrap:wrap}.btn-dialog{flex:1;padding:12px 20px;border-radius:10px;border:0;cursor:pointer;font-weight:600;font-size:1rem;transition:transform .2s ease,box-shadow .2s ease}.btn-dialog:active{transform:scale(.98)}.btn-dialog.follow{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff;box-shadow:0 4px 15px #833ab466}.btn-dialog.follow:hover{box-shadow:0 6px 20px #833ab499}.btn-dialog.cancel{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn-dialog.cancel:hover{background:#ffffff40}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
