* {
	margin: 0;
	padding: 0;
}


html, body, main {
    width: 100%;
    height: 100%;
}

html {
    overflow-x: hidden;
}

body {
    background: black;
    color: white;
}

main {
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
}

.animation, .title-section {
    overflow: hidden;
    scroll-snap-align: start;

    height: 100%;
    min-height: 100vlh;
    border-bottom: 1px dashed white;
    margin-bottom: 1px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

footer.title-section {
    border-bottom: 0;
}

#blob {
    top: -100%;
    left: -100%;

    background: aquamarine;

    background: linear-gradient(
        to right,
        aquamarine,
        mediumpurple
    );

    position: absolute;
    z-index: -2;

    translate: -50% -50%;

    width: 15vmin;
    aspect-ratio: 1;

    border-radius: 50%;

    background-color: cyan;

    /* filter: blur(10vmin); */
    animation: rotate infinite alternate 10s;
}

#blur {
    position: absolute;

    z-index: -1;

    width: 100%;
    height: 100%;

    backdrop-filter: blur(11vmin);
}

.title, .text {
    font-family: 'Space Mono', monospace;
    font-size: 7rem;
}

.text {
    font-size: 1rem;
}

.hacker-text {
    user-select: none;
}

@keyframes rotate {
    from {
        filter: hue-rotate(0deg);
        scale: 1.7 1;
    }
    to {
        filter: hue-rotate(100deg);
        scale: 1 1.7;
        rotate: 10deg;
    }

}

.canvas {
    outline: auto;
    width: 75%;
    height: 75%;

    cursor: pointer;
}

@media screen and (max-width: 600px) {
    .title-section {
        text-align: center;
    }
}