@property --rotate {
    syntax: "<angle>";
    initial-value: 132deg;
    inherits: false;
}

:root {
    --card-height: 55vh;
    --card-width: calc(var(--card-height) / 1.5);
    --text-size: 3.5em;
}


body {
    min-height: 100vh;
    background: #212534;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-top: 2rem;
    padding-bottom: 2rem;
    box-sizing: border-box;
}


.card {
    margin-top: 10vh;
    background: #191c29;
    width: var(--card-width);
    height: var(--card-height);
    padding: 3px;
    position: relative;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
}

.text-holder {
    display: grid;
    place-items: center;
    grid-template-areas: "text-stack";
}

.card .text {
    font-family: 'Cinzel Decorative', cursive;
    line-height: calc(var(--card-height) / 7.5); /* adjust the line height */
    letter-spacing: 0.05em; /* adjust the letter spacing */
    text-align: center;
  }

.text {
    font-size: var(--text-size);
    grid-area: text-stack;
    color: #191c29;
}

.text-glow {
    font-size: var(--text-size);
    color: rgb(88 199 250 / 50%);
    text-shadow: 0 0 10px rgb(88 199 250 / 50%);
    filter: blur(2px);
    opacity: 0;
    transition: opacity 0.5s;
}

.card:hover .text-glow {
    color: rgb(88 199 250 / 100%);
    opacity: 1;
    transition: color 2.5s;
}

.card:hover .text {
    color: rgb(88 199 250 / 100%);
    opacity: 1;
    transition: color 1.5s, opacity 1.5s;
    /* add opacity to the transition property */
}

.card:hover {
    color: rgb(88 199 250 / 100%);
    transition: color 1s;
}

.card:hover:before,
.card:hover:after {
    animation: none;
    opacity: 0.3;
    transition: opacity 2s;
}

.card::before {
    content: "";
    width: 104%;
    height: 102%;
    border-radius: 8px;
    background-image: linear-gradient(var(--rotate), #5ddcff, #3c67e3 43%, #4e00c2);
    position: absolute;
    z-index: -1;
    top: -1%;
    left: -2%;
    animation: spin 5.5s linear infinite;
}

.card::after {
    position: absolute;
    content: "";
    top: calc(var(--card-height) / 6);
    left: 0;
    right: 0;
    z-index: -1;
    height: 100%;
    width: 100%;
    margin: 0 auto;
    transform: scale(0.8);
    filter: blur(calc(var(--card-height) / 6));

    filter: blur(calc(var(--card-height) / 6));
    -webkit-filter: blur(calc(var(--card-height) / 6));

    background-image: linear-gradient(var(--rotate), #5ddcff, #3c67e3 43%, #4e00c2);
    opacity: 1;
    transition: opacity .5s;
    animation: spin 2.5s linear infinite;
}

@keyframes spin {
    0% {
        --rotate: 0deg;
    }

    100% {
        --rotate: 360deg;
    }
}