* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --heart-color: #d62828;
    --start-animationm-color: var(--heart-color);
}

body {
    background-image: radial-gradient(circle, rgb(252, 80, 186), pink);
    background-repeat: no-repeat;
    background-attachment: fixed;
    height: 100%;

}

p {
    font-weight: bold;
    font-size: 22px;
}

/* Header style */
.buttons {
    width: 80%;
    margin: 60px auto 60px;
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}

.buttons>div {
    background-color: #00000038;
    padding: 10px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.scale {
    text-align: center;

}

.size-controle {
    display: flex;
    gap: 20px;
}

.controle-btn{
    height: 30px;
    width: 50px;
    font-size: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: linear-gradient(to bottom, blue, rgba(48, 47, 47, 0.406));
    color: white;
    cursor: pointer;
    border-radius: 7px;
    margin-top: 15px;
}

.color p {
    margin-bottom: 15px;
}

.name [type="text"] {
    padding: 3px;
}

.image [type="file"] {
    margin-top: 15px;
}
.play {
    margin-top: 30px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(to bottom, green, rgba(48, 47, 47, 0.447));
    color: white;
    border-radius: 7px;
    cursor: pointer;

}

.hearts {
    display: flex;
    column-gap: 200px;
    flex-wrap: wrap;
    width: 80vw;
    margin: auto;
}

.heart {
    width: 120px;
    height: 120px;
    transform: rotate(-45deg);
    background: var(--heart-color);
    border-radius: 20% 0 0 0;
    animation: beat 1.2s ease-in-out infinite;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.539);
    position: relative;
    margin: 110px auto 50px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Cairo, sans-serif;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.heart::before,
.heart::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    background: var(--heart-color);
    border-radius: 50%;



}

.heart::before {
    top: -60px;
    left: 0;
}

.heart::after {
    left: 60px;
    top: 0;
}

@keyframes beat {

    0%,
    100% {
        transform: rotate(-45deg) scale(1);
    }

    25% {
        transform: rotate(-45deg) scale(1.2);
    }

    50% {
        transform: rotate(-45deg) scale(0.95);
    }

    75% {
        transform: rotate(-45deg) scale(1.1);
    }
}

@keyframes celebration {
    0% {
        transform: rotate(-45deg) scale(1) translateY(0);
        filter: brightness(1);
        --heart-color: var(--start-animationm-color);
    }

    10% {
        transform: rotate(-35deg) scale(1.3) translateY(-20px) rotate(10deg);
        filter: drop-shadow(0 0 15px gold);
        --heart-color: #f77f00;
    }

    20% {
        transform: rotate(-50deg) scale(1.2) translateY(10px) rotate(-15deg);
        filter: brightness(1.2) drop-shadow(0 0 20px deeppink);
        --heart-color: #fcbf49;
    }

    30% {
        transform: rotate(-30deg) scale(1.4) translateY(-25px) rotate(15deg);
        filter: brightness(1.3) drop-shadow(0 0 25px cyan);
        --heart-color: #e63946;
    }

    40% {
        transform: rotate(-55deg) scale(1.1) translateY(5px) rotate(-10deg);
        filter: brightness(1.4) drop-shadow(0 0 30px lime);
        --heart-color: #d62828;
    }

    50% {
        transform: rotate(-45deg) scale(1.5) translateY(-30px) rotate(20deg);
        filter: brightness(1.5) drop-shadow(0 0 35px gold);
        --heart-color: #f77f00;
    }

    60% {
        transform: rotate(-60deg) scale(1.2) translateY(15px) rotate(-20deg);
        filter: brightness(1.6) drop-shadow(0 0 40px deeppink);
        --heart-color: #fcbf49;
    }

    70% {
        transform: rotate(-40deg) scale(1.6) translateY(-35px) rotate(25deg);
        filter: brightness(1.7) drop-shadow(0 0 45px cyan);
        --heart-color: #e63946;
    }

    80% {
        transform: rotate(-50deg) scale(1.3) translateY(20px) rotate(-25deg);
        filter: brightness(1.5) drop-shadow(0 0 40px lime);
        --heart-color: #d62828;
    }

    90% {
        transform: rotate(-45deg) scale(1.4) translateY(-15px) rotate(15deg);
        filter: brightness(1.6) drop-shadow(0 0 50px gold);
        --heart-color: #f77f00;
    }

    100% {
        transform: rotate(-45deg) scale(1) translateY(0);
        filter: brightness(1);
        --heart-color: var(--start-animationm-color);
    }
}

.celebrate {


    animation: beat 1.2s ease-in-out infinite,
        celebration 5s ease-in-out 1;
}

.text {
    position: absolute;
    top: 44%;
    left: 50%;
    transform: translate(-43%);
    z-index: 100;
    rotate: 45deg
}