@media (pointer: coarse) {
    html {
        font-size: 150%;
        -moz-text-size-adjust: none;
        -webkit-text-size-adjust: none;
    }
}

body, html {
    margin: 0;
    padding: 0;
}
div.hori {
    height: 100vh;
    width: 100%;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows:  1fr min-content min-content;
}

@media (orientation: landscape) {
    img {
        height: 100%;
        width: auto;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (orientation: portrait) {
    img {
        display: block;
        width: auto;
        height: 100%;
        margin: auto;
    }
    div.hori {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr min-content;
        height: 100vh;
    }
}

td {
    text-align: center;
}
th {
    padding-left: 0.5em;
}
td.title {
    text-align: left;
}
td.num {
    padding-left: 1em;
    text-align: right;
}
table.main {
    margin-left: auto;
    margin-right: auto;
}
#title {
    width: 100%;
    text-align: center;
    padding: 0.5em;
}
#result {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    padding: 0.5em;
}
