.celebration {
position: fixed;
inset: 0;
display: grid;
place-items: center;
pointer-events: none;
z-index: 60;
}
.celebration-card {
display: flex;
align-items: center;
gap: 0.9rem;
padding: 1rem 1.4rem;
border-radius: 26px;
background: var(--surface-neutral-9);
border: 2px solid var(--line-pink-7);
box-shadow: 0 18px 44px var(--line-pink-4-veil);
animation: celebration-in 0.4s ease-out both;
}
.celebration.still .celebration-card {
animation: none;
}
.celebration-card img {
width: 76px;
height: 76px;
object-fit: contain;
}
.celebration-card b {
font-size: 1.15rem;
color: var(--ink-pink-3);
}
.celebration-card p {
margin: 0.2rem 0 0;
color: var(--ink-neutral-4);
}
.celebration .petal {
position: absolute;
top: 46%;
left: calc(50% + var(--x));
font-size: 1.6rem;
animation: petal-float 2.4s ease-out var(--delay) both;
}
@keyframes celebration-in {
from {
transform: scale(0.86) translateY(10px);
opacity: 0;
}
}
@keyframes petal-float {
0% {
transform: translateY(0) rotate(0deg);
opacity: 0;
}
18% {
opacity: 1;
}
100% {
transform: translateY(-150px) rotate(24deg);
opacity: 0;
}
}
