#welcomeCelebration {
    position: fixed;

    left: 0;

    top: 0;

    width: 100%;

    height: 100%;

    pointer-events: none;

    overflow: hidden;

    z-index: 999;
}

.hero-title {
    font-size: 70px;

    font-weight: 800;

    text-align: center;
}

.welcome-text {
    display: block;

    opacity: 0;

    transform: translateY(40px);
}

.nyrixo-text {
    display: block;

    opacity: 0;

    transform: scale(0.5);

    color: #38bdf8;
}

.party-popper {
    position: absolute;

    width: 40px;

    height: 200px;

    background: linear-gradient(#38bdf8, #2563eb);

    top: 50%;

    opacity: 0;
}

.left-popper {
    left: -80px;
}

.right-popper {
    right: -80px;
}

.flower {
    position: absolute;

    width: 18px;

    height: 18px;

    border-radius: 50% 50% 50% 0;

    background: pink;

    animation: flowerFall linear forwards;
}

@keyframes flowerFall {
    0% {
        transform: translateY(-50px) rotate(0deg);

        opacity: 1;
    }

    100% {
        transform: translateY(110vh) rotate(720deg);

        opacity: 0;
    }
}

.sparkle {
    position: absolute;

    width: 5px;

    height: 5px;

    border-radius: 50%;

    background: #ffd700;

    animation: sparkleMove 3s linear forwards;
}

@keyframes sparkleMove {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;

        transform: translateY(-80px);
    }
}

.hero-title-wrapper {
    position: relative;

    display: inline-block;
}

.hero-glow {
    position: absolute;

    left: 50%;

    top: 50%;

    width: 80px;

    height: 80px;

    background: #38bdf8;

    border-radius: 50%;

    filter: blur(80px);

    transform: translate(-50%, -50%) scale(0.2);

    opacity: 0;

    z-index: -1;
}

.gold-particle {
    position: absolute;

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background: #ffd700;

    box-shadow: 0 0 15px gold;

    animation: goldMove 3s linear forwards;
}

@keyframes goldMove {
    0% {
        opacity: 1;

        transform: translate(0, 0);
    }

    100% {
        opacity: 0;

        transform: translate(calc(var(--x) * 1px), calc(var(--y) * 1px));
    }
}
