body, html {
    margin: 0;
    padding: 0;
}

* {
    font-family: sans-serif;
}

.fullscreen {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

.fullscreen > * {
    width: 100%;
    height: 100%;
}

.overlay {
    position: fixed;
    left: 0;
    top: 0;
}

.no-touch {
    touch-action: none;
}

.pixelated {
    image-rendering: pixelated;
}

.loader-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.loader {
    width: 100px;
    height: 100px;

    border: 15px solid transparent;
    border-radius: 50%;
    border-top-color: #999;
    border-bottom-color: #999;

    animation: spin 2s ease-in-out infinite;
}

@keyframes spin {
      0% { transform: rotate(0deg); }
    100% { transform: rotate(1800deg); }
}
