* {
    padding: 0;
    margin: 0;
}

html,
body {
    overflow: hidden;
    touch-action: none;
    -ms-touch-action: none;
}

div#viewport {
    position: fixed;
    width: 100%;
    height: 100%;
}

div#viewport>canvas {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
    touch-action: none;
    -ms-touch-action: none;
    touch-action-delay: none;
}

@media screen and (orientation: portrait) {
    html.is-landscape {
        transform: rotate(90deg);
        transform-origin: top left;
        width: 100vh;
        height: 100vw;
        position: absolute;
        top: 0;
        left: 100%;
    }
}

@media screen and (orientation: landscape) {
    html.is-portrait {
        transform: rotate(-90deg);
        transform-origin: top right;
        width: 100vh;
        height: 100vw;
        position: absolute;
        top: 0;
        right: 100%;
    }
}