* {
    image-rendering: pixelated;
    font-family: "Goethe";
    font-size: 8vh;
    color: transparent;

    text-transform: uppercase;
    user-select: none;
    cursor: pointer;
}

body {
    display: grid;
    justify-items: center;
    align-items: center;
    background-image: url("/src/img/rippleDark.gif");
    margin: 0;
    padding: 0;
    overflow: hidden;
}

body::before {
    position: relative;
    width: 100%;
    height: 100vh;
    background: radial-gradient(circle closest-side at center, #ffffff, #000000 180%);

    content: "";
    mix-blend-mode: multiply;
}

#barTop {
    position: absolute;
    width: 100vw;
    height: 25vh;
    top: 0;

    background-color: black;
    border-bottom: 1px solid #444;
    z-index: 2;
}
#barBottom {
    position: absolute;
    width: 100vw;
    height: 25vh;
    bottom: 0;

    background-color: black;
    border-top: 1px solid #444;
    z-index: 2;
}

#hanger {
    position: absolute;
    height: 100vh;
    width: auto;

    top: 0;
    transform-origin: 50% -50%;

    animation: idleHanging alternate 4s ease-in-out infinite;

    cursor: pointer;
}

#textbox {
    position: absolute;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    
    animation: idleJitter 0.4s infinite steps(1, end);
}

#letters {
    display: flex;
    justify-content: center;

    gap: 2vh;
}

#letters > span {
    /* background-image: url("/src/img/warp.png"); */
    background-size: 100vh 100vh;

    opacity: 0;
    background-clip: text;
}


@font-face {
    font-family: "Goethe";
    src:
        local("Goethe"),
        url("../font/goethebold.woff2") format("woff2");
}

@keyframes idleWarp {
    0% {
        background-position-y: 0%;
    }
    100% {
        background-position-y: 100%;
    }
}

@keyframes idleHanging {
    0% {
        transform: rotate(-0.5deg);
    }
    100% {
        transform: rotate(0.5deg);
    }
}

@keyframes letterDown {
    0% {
        opacity: 0;
        transform: translateY(50%);
    }
    100% {
        opacity: 1;
        transform: translateY(-10%);
    }
}

@keyframes letterUp {
    0% {
        opacity: 0;
        transform: translateY(-50%);
    }
    100% {
        opacity: 1;
        transform: translateY(10%);
    }
}

@keyframes idleJitter {
    0% {
        transform:
            skew(-2deg) translate(0px, 0px) scaley(0.98)
    }

    25% {
        transform:
            skew(1deg) translate(2px, 0px) scaley(1.00)
    }

    50% {
        transform:
            skew(0deg) translate(-2px, -1px) scaley(1)
    }

    75% {
        transform:
            skew(4deg) translate(0px, 0px) scaley(0.98)
    }

    100% {
        transform:
            skew(-4deg) translate(2px, 1px) scaley(1.02)
    }
}