html {
    height: 100%;
    overflow: hidden;
}

h1 {
    position: relative;
    font-size: 8vw;
    font-family: "neverwinter";
    margin-bottom: 0px;
    background: linear-gradient(to bottom right, white, blue, cyan);
    background-clip: text;
    color: transparent;
}

h1::after {
    position: absolute;
    translate: -100% 0%;
    content: 'Frostbite';
    font-family: "neverwinter";
    text-shadow: 0 0 40px white;
    z-index: -1;
}

h2 {
    position: relative;
    font-size: 3vw;
    font-family: "neverwinter";
    margin-top: 0px;
    letter-spacing: 0.3vw;
    background: linear-gradient(to right, white, blue, cyan);
    background-clip: text;
    color: transparent;
}

h2::after {
    position: absolute;
    translate: -100% 0%;
    content: '2025';
    font-family: "neverwinter";
    text-shadow: 0 0 20px white;
    z-index: -1;
    letter-spacing: 0.3vw;
}


button {
    position: relative;
    cursor: pointer;
    font-family: "neverwinter";
    font-size: 3vw;
    width: 14vw;
    height: 8vh;
    border: none;
    letter-spacing: 0px;
    background: linear-gradient(to bottom right, rgb(121, 114, 255), rgb(32, 0, 128));
    color: rgb(255, 62, 62);

    --colorOne: blue;
    --colorTwo: red;
    --colorThree: blue;

    transition: 
    width 0.2s ease-in, 
    height 0.2s ease-in, 
    font-size 0.2s ease-in, 
    letter-spacing 0.6s linear(0 0%, 0 1.8%, 0.01 3.6%, 0.03 6.35%, 0.07 9.1%, 0.13 11.4%, 0.19 13.4%, 0.27 15%, 0.34 16.1%, 0.54 18.35%, 0.66 20.6%, 0.72 22.4%, 0.77 24.6%, 0.81 27.3%, 0.85 30.4%, 0.88 35.1%, 0.92 40.6%, 0.94 47.2%, 0.96 55%, 0.98 64%, 0.99 74.4%, 1 86.4%, 1 100%),
    
    --colorThree 1s ease-in;
}

button:hover {
    width: 16vw;
    height: 10vh;
    letter-spacing: 5px;
    font-size: 4vw;
    text-shadow: 0px 0px 10px red;

    --colorOne: blue;
    --colorTwo: red;
    --colorThree: red;

    transition: width 0.1s ease-out, height 0.1s ease-out, font-size 0.1s ease-out, letter-spacing 0.5s ease-out, text-shadow 0.1s;
}

@property --red {
    syntax: '<angle>';
    inherits: false;
    initial-value: 360deg;
}

@keyframes borderRotate {
    0% {
        --red: 0deg;
    } 100% {
        --red: 360deg;
    }
}

button::after {
    position: absolute;
    top:50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: 100%;
    background: conic-gradient(from var(--red), var(--colorOne), var(--colorTwo), var(--colorThree));
    content: 'x';
    color: transparent;
    z-index: -2;
    padding: 6px;
    filter: blur(20px);

    animation: borderRotate 5s linear infinite;
}


button::before {
    position: absolute;
    top:50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: 100%;
    background: conic-gradient(from var(--red), var(--colorOne), var(--colorTwo), var(--colorThree));
    content: 'x';
    color: transparent;
    z-index: -2;
    padding: 1px;

    animation: borderRotate 5s linear infinite;
}


@media (max-width: 1000px) {
    h1 {
        font-size: 15vw;
        margin-top: 20vh;
    }

    h2 {
        margin-top: -1.5vh;
        font-size: 8vw;
    }

    button {
        width: 40vw;
        height: 7vh;
        font-size: 9vw;
    }

    button:hover {
        width: 44vw;
        height: 8vh;
        font-size: 10vw;
    }
}