*{box-sizing:border-box;margin:0;padding:0}body{font-family:Poppins,sans-serif}.page{background:linear-gradient(135deg,#ff8dc7,#ffd6e7,#fff0f7);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.envelope{cursor:pointer;background:#ff5e9e;border-radius:10px;width:340px;height:220px;position:relative;box-shadow:0 15px 40px #0003}.cover{clip-path:polygon(0 0,50% 50%,100% 0,100% 0,0 0);background:#ff418c;width:100%;height:100%;position:absolute}.letter{background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:20px}.card{text-align:center;background:#ffffffeb;border-radius:30px;width:100%;max-width:420px;padding:25px;animation:.8s popup}@keyframes popup{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.card h1{color:#ff3f87;margin-bottom:20px}.profile{object-fit:cover;border:5px solid pink;border-radius:50%;width:170px;height:170px}.message{color:#444;min-height:120px;margin-top:20px;line-height:1.8}.cursor{animation:1s infinite blink}@keyframes blink{50%{opacity:0}}.timeline{text-align:left;margin-top:25px}.timeline h2{text-align:center;color:#ff3f87;margin-bottom:15px}.event{background:#fff5fa;border-radius:12px;margin-bottom:12px;padding:12px}.event span{color:#ff3f87;font-weight:700}.gallery{gap:10px;margin-top:20px;display:flex}.gallery img{object-fit:cover;border-radius:12px;width:33%;height:110px}.loveButton{color:#fff;cursor:pointer;background:#ff3f87;border:none;border-radius:30px;margin-top:20px;padding:12px 25px}.heart{animation:8s linear infinite float;position:absolute;bottom:-30px}@keyframes float{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(-120vh)}}.confetti{background:#fff;width:8px;height:20px;animation:3s linear forwards confettiFall;position:absolute;top:-10px}@keyframes confettiFall{0%{transform:translateY(-100px)rotate(0)}to{transform:translateY(120vh)rotate(720deg)}}.modalOverlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{text-align:center;background:#fff;border-radius:20px;width:90%;max-width:350px;padding:25px}.modal button{color:#fff;cursor:pointer;background:#ff3f87;border:none;border-radius:20px;margin-top:15px;padding:10px 20px}
