@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@700&family=Poppins:wght@300;500&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html,body{
height:100%;
background:#000;
}

body{
font-family:'Poppins',sans-serif;
display:flex;
justify-content:center;
align-items:center;
overflow:hidden;
color:white;
background: radial-gradient(circle at center,#2b0000 0%,#000 70%);
}

/* Soft romantic overlay */
.overlay{
position:fixed;
width:100%;
height:100%;
background: radial-gradient(circle at center,rgba(255,0,70,0.08),transparent);
pointer-events:none;
}

/* Container */
.container{
width:90%;
max-width:520px;
text-align:center;
position:relative;
z-index:2;
}

/* Pages */
.page{
display:none;
animation:fade 0.5s ease forwards;
}

.page.active{
display:block;
}

@keyframes fade{
from{opacity:0;transform:translateY(15px);}
to{opacity:1;transform:translateY(0);}
}

/* Card */
.card{
background:rgba(255,215,0,0.06);
backdrop-filter:blur(20px);
border:1px solid rgba(255,215,0,0.4);
padding:40px;
border-radius:30px;
box-shadow:0 0 60px rgba(255,0,70,0.2);
}

/* Heading */
h1{
font-family:'Cinzel',serif;
background:linear-gradient(45deg,gold,#ffcc70,#fff5cc);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
margin-bottom:20px;
text-shadow:0 0 20px rgba(255,215,0,0.6);
}

/* Text */
p{
line-height:1.9;
margin-bottom:25px;
}

/* Button */
button{
padding:10px 28px;
border:none;
border-radius:40px;
background:linear-gradient(45deg,gold,#b8860b);
cursor:pointer;
font-weight:bold;
transition:0.3s;
}

button:hover{
transform:scale(1.1);
box-shadow:0 0 25px gold;
}

/* Kiss box */
.kiss-box{
padding:35px;
border:2px solid gold;
border-radius:30px;
cursor:pointer;
transition:0.3s;
font-size:18px;
}

.kiss-box.active{
background:linear-gradient(45deg,#ff4d6d,gold);
color:black;
box-shadow:0 0 40px #ff4d6d;
transform:scale(1.05);
}

/* Heart burst */
.burst span{
position:absolute;
color:#ff4d6d;
font-size:18px;
animation:explode 1s ease forwards;
}

@keyframes explode{
from{opacity:1;transform:translate(0,0) scale(1);}
to{opacity:0;transform:translate(var(--x),var(--y)) scale(1.5);}
}

/* Fireflies */
.fireflies span{
position:absolute;
width:4px;
height:4px;
background:gold;
border-radius:50%;
box-shadow:0 0 8px gold;
animation:fly linear infinite;
}

@keyframes fly{
from{transform:translateY(100vh);}
to{transform:translateY(-10vh);}
}

/* Hearts floating */
.hearts span{
position:absolute;
color:#ff4d6d;
font-size:14px;
animation:rise linear infinite;
}

@keyframes rise{
from{transform:translateY(100vh);opacity:1;}
to{transform:translateY(-10vh);opacity:0;}
}
