.glow-button {
    --button-background: #09041e;
    --button-color: #fff;
    --button-shadow: rgba(33, 4, 104, 0.2);
    --button-shine-left: rgba(120, 0, 245, 0.5);
    --button-shine-right: rgba(200, 148, 255, 0.65);
    --button-glow-start: #B000E8;
    --button-glow-end: #009FFD;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    font-family: inherit;
    font-size: 16px;
    border-radius: 25px;
    position: relative;
    line-height: 24px;
    cursor: pointer;
    color: var(--button-color);
    padding: 0;
    margin: 0;
    background: none;
    z-index: 1;
    box-shadow: 0 8px 20px var(--button-shadow);
    text-decoration: none;
    max-width: fit-content;
}
.glow-button.light {
    --button-background: #dce4f9;
    --button-color: #000;
}
.glow-button .gradient {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    transform: scaleY(1.02) scaleX(1.005) rotate(-0.35deg);
}
.glow-button .gradient:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transform: scale(1.04) translateY(-44px) rotate(0deg) translateZ(0);
    padding-bottom: 100%;
    border-radius: 50%;
    background: linear-gradient(90deg, var(--button-shine-left), var(--button-shine-right));
    -webkit-animation: rotate linear 2s infinite;
    animation: rotate linear 2s infinite;
}
.glow-button span {
    text-transform: uppercase;
    text-align: center;
    z-index: 1;
    position: relative;
    display: block;
    font-weight: 500;
    font-size: var(--step-c1);
    padding: 8px 28px;
    box-sizing: border-box;
    min-width: 124px;
    max-width: fit-content;
    border-radius: inherit;
    background-color: var(--button-background);
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}
.glow-button span:before {
    content: "";
    position: absolute;
    left: -16px;
    top: -16px;
    transform: translate(var(--pointer-x, 0px), var(--pointer-y, 0px)) translateZ(0);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--button-glow, transparent);
    opacity: var(--button-glow-opacity, 0);
    transition: opacity var(--button-glow-duration, 0.5s);
    filter: blur(20px);
}
.glow-button:hover,
.glow-button:active,
.glow-button:visited,
.glow-button:focus {
    --button-glow-opacity: 1;
    --button-glow-duration: .25s;
    --button-color: initial;
    color: #fff;
    text-decoration: none;
}
.glow-button.light:hover,
.glow-button.light:active,
.glow-button.light:visited,
.glow-button.light:focus {
    color: #000;
    text-decoration: none;
}

@-webkit-keyframes rotate {
    to {
        transform: scale(1.05) translateY(-44px) rotate(360deg) translateZ(0);
    }
}

@keyframes rotate {
    to {
        transform: scale(1.05) translateY(-44px) rotate(360deg) translateZ(0);
    }
}