*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,sans-serif;
}

body{

background:linear-gradient(135deg,#ff758c,#ff7eb3);

height:100vh;

display:flex;

justify-content:center;

align-items:center;

overflow:hidden;

color:white;

}

.container{

text-align:center;

z-index:2;

}

h1{

font-size:50px;

margin-bottom:20px;

animation:pop 1s infinite alternate;

}

p{

font-size:22px;

margin-bottom:30px;

}

button{

padding:15px 35px;

font-size:20px;

border:none;

border-radius:50px;

cursor:pointer;

background:white;

color:#ff2d55;

transition:.3s;

}

button:hover{

transform:scale(1.1);

}

@keyframes pop{

from{

transform:scale(1);

}

to{

transform:scale(1.1);

}

}

.hearts{

position:absolute;

width:100%;

height:100%;

overflow:hidden;

}

.heart{

position:absolute;

bottom:-40px;

font-size:25px;

animation:float 8s linear infinite;

opacity:.7;

}

@keyframes float{

0%{

transform:translateY(0);

}

100%{

transform:translateY(-120vh);

}

}
.gift{

font-size:150px;

cursor:pointer;

animation:bounce 1s infinite;

}

@keyframes bounce{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-20px);

}

}
/* Glass Card */

.glass{

background:rgba(255,255,255,.18);

backdrop-filter:blur(15px);

-webkit-backdrop-filter:blur(15px);

border:1px solid rgba(255,255,255,.3);

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.25);

}


/* Fade Animation */

.fade{

animation:fadeIn 1s ease;

}

@keyframes fadeIn{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}


/* Glow Text */

.glow{

color:#fff;

text-shadow:

0 0 10px #fff,

0 0 20px #ff66b2,

0 0 40px #ff3399,

0 0 60px #ff1493;

}


/* Gallery */

.gallery{

display:flex;

gap:20px;

justify-content:center;

flex-wrap:wrap;

margin-top:30px;

}

.gallery img{

width:180px;

height:180px;

object-fit:cover;

border-radius:20px;

transition:.4s;

cursor:pointer;

box-shadow:0 10px 25px rgba(0,0,0,.3);

}

.gallery img:hover{

transform:scale(1.1) rotate(3deg);

}


/* Cursor Hearts */

.cursor-heart{

position:fixed;

pointer-events:none;

font-size:18px;

animation:heartMove .8s linear forwards;

z-index:9999;

}

@keyframes heartMove{

0%{

opacity:1;

transform:translateY(0) scale(1);

}

100%{

opacity:0;

transform:translateY(-40px) scale(2);

}

}


/* Fireworks */

.firework{

position:fixed;

width:8px;

height:8px;

border-radius:50%;

pointer-events:none;

animation:explode 1.2s linear forwards;

}

@keyframes explode{

0%{

transform:scale(0);

opacity:1;

}

100%{

transform:scale(12);

opacity:0;

}

}