<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>For My Chunnu π</title>
<style>
body{
margin:0;
font-family:'Poppins',sans-serif;
background:linear-gradient(135deg,#ffe3f1,#fff0f7,#ffd6ea);
text-align:center;
overflow-x:hidden;
}
section{padding:70px 20px;}
.card{
background:rgba(255,255,255,.9);
border-radius:40px;
padding:40px;
box-shadow:0 30px 70px rgba(255,120,170,.35);
max-width:680px;
margin:auto;
}
h1{color:#ff2f68;}
h2{color:#ff78aa;}
.hidden{display:none}
/* floating hearts */
.heart,.petal{
position:fixed;
top:-10vh;
animation:fall linear infinite;
pointer-events:none;
}
@keyframes fall{
to{transform:translateY(110vh) rotate(360deg);}
}
/* gift */
.gift{
font-size:140px;
cursor:pointer;
animation:bounce 1.4s infinite;
}
@keyframes bounce{
50%{transform:translateY(-14px)}
}
/* letter */
.letter{
text-align:left;
font-size:18px;
line-height:1.9;
animation:fade 1.2s ease;
}
@keyframes fade{
from{opacity:0;transform:translateY(40px)}
to{opacity:1}
}
/* buttons */
.yesBtn{
background:linear-gradient(135deg,#ff77b7,#ff2f68);
color:white;
border:none;
padding:16px 36px;
border-radius:45px;
font-size:18px;
box-shadow:0 12px 30px rgba(255,70,130,.6);
cursor:pointer;
transition:.3s;
}
.yesBtn:hover{transform:scale(1.12)}
.noBtn{
position:absolute;
background:#ffe1ec;
border:none;
padding:16px 30px;
border-radius:45px;
font-size:18px;
cursor:pointer;
}
/* cute surprise box */
.surprise{
font-size:120px;
cursor:pointer;
transition:.4s;
}
.surprise:hover{transform:scale(1.15)}
</style>
</head>
<body>
<section>
<div class="card">
<h1>Anagh Kaushik π</h1>
<h2>My Chunnu π₯Ίπ</h2>
<p>You are my forever favourite person πΈ</p>
</div>
</section>
<section>
<div class="card">
<h2>Your first surprise π</h2>
<div class="gift" onclick="openLetter()">π</div>
</div>
</section>
<section id="letterBox" class="hidden">
<div class="card letter">
<p>
Dear chunnu,<br><br>
My baby I love you the most okayy ?? you make me feel the most happiest warm and safe πππ
you are cute like a cat you send me everytime π±
you are the most hottest 𧨠person on this planet and yesss I am in love with you π€
I feel butterflies π¦ when I see you, when you hold my hands π€, hug me, feed me, take care of me π§Ώ
when your face comes closer, when your nose touches my nose π©ββ€οΈβπ¨
You are cutest when you sleep beside me with your mouth open π€ and snore like a big guy but still my baby πΆ
Your obsession with potty and serious relationship with your stomach must be studied π
Sometimes you take care of me like a baby π₯Ί but you love being my baby too and I love it π
Thereβs so much more I can never finish writingβ¦
but lastly β I loveeeee youuu the mosttttt β€οΈππ§Ώ
<br><br>
Your deluchu π
</p>
</div>
</section>
<section>
<div class="card">
<h2>Will you be my Valentine? π</h2>
<img src="https://media.giphy.com/media/JIX9t2j0ZTN9S/giphy.gif" style="width:170px;border-radius:30px">
<div style="margin-top:30px;position:relative;height:110px">
<button class="yesBtn" onclick="yesClick()">Yesssss ππ</button>
<button id="noBtn" class="noBtn">No π</button>
</div>
<p id="valMsg" style="font-size:24px;color:#ff2f68;margin-top:25px"></p>
</div>
</section>
<section>
<div class="card">
<h2>Your second surprise π</h2>
<div class="surprise" onclick="openSurprise()">π</div>
<p id="surpriseText" class="hidden" style="font-size:22px;color:#ff2f68;margin-top:25px">
You are my favourite human forever π₯Ίπ
My heart chose you and it will always choose you π§Ώπ
</p>
</div>
</section>
<audio id="loveSong" preload="auto">
<source src="https://cdn.pixabay.com/download/audio/2022/03/15/audio_9f4a1b44b5.mp3">
</audio>
<script>
function openLetter(){
document.getElementById("letterBox").classList.remove("hidden");
}
function openSurprise(){
document.getElementById("surpriseText").classList.remove("hidden");
}
const noBtn=document.getElementById("noBtn");
noBtn.onmouseover=()=>{
const x = Math.random()*300 - 150;
const y = Math.random()*80 - 40;
noBtn.style.transform = `translate(${x}px, ${y}px)`;
}
function yesClick(){
document.getElementById("valMsg").innerHTML="YAYYYY ππ Forever mine π§Ώππ";
const song=document.getElementById("loveSong");
song.volume=0.8;
song.play();
for(let i=0;i<40;i++) burstHeart();
}
function burstHeart(){
let h=document.createElement("div");
h.innerHTML="π";
h.style.position="fixed";
h.style.left="50%";
h.style.top="50%";
h.style.fontSize=20+Math.random()*30+"px";
h.style.transform = `translate(${Math.random()*400-200}px, ${Math.random()*400-200}px)`;
h.style.transition="1s";
document.body.appendChild(h);
setTimeout(()=>h.remove(),1000);
}
/* falling hearts + petals */
function fall(type){
let e=document.createElement("div");
e.className=type;
e.innerHTML= type==="heart"?"π":"πΈ";
e.style.left=Math.random()*100+"%";
e.style.fontSize=18+Math.random()*24+"px";
e.style.animationDuration=5+Math.random()*6+"s";
document.body.appendChild(e);
setTimeout(()=>e.remove(),12000);
}
setInterval(()=>fall("heart"),400);
setInterval(()=>fall("petal"),600);
</script>
</body>
</html>
Converted to HTML with WordToHTML.net | Document Converter for Windows