@font-face {
    font-family: 'Rubik Black';
    src: url('./assets/fonts/Rubik.woff2') format('woff2');
    font-weight: 900;
    font-display: block;
}
@font-face {
    font-family: 'Rubik';
    src: url('./assets/fonts/Rubik.woff2') format('woff2');
    font-weight: 500;
    font-display: block;
}
@font-face {
    font-family: 'Rubik Light';
    src: url('./assets/fonts/Rubik.woff2') format('woff2');
    font-weight: 300;
    font-display: block;
}

body {
    margin: 0;
    padding: 0;
    color: rgba(255, 255, 255, 0.87);
    background-color: #0f0f0f;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

#app {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Landscape: fill 100% width, height follows 16:9 ratio */
@media (orientation: landscape) {
    #app {
        width: 100vw;
        height: calc(100vw * 580 / 1031);
        max-height: 100vh;
    }
}

/* Portrait: fill 100% height, width follows 9:16 ratio */
@media (orientation: portrait) {
    #app {
        height: 100vh;
        width: calc(100vh * 580 / 1031);
        max-width: 100vw;
    }
}

canvas {
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}
