
:root {
    font-family: sans-serif;
}

/* Top Grid Layout */
body {
    display: grid;
    position:fixed;
    overflow:hidden;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:0;
    padding:0;
    grid-template-columns: 15rem auto;
    grid-template-rows: auto;
    grid-template-areas: 'aside main';
}
body > aside {
    grid-area: aside;
}
body > main {
    grid-area: main;
}

/* Aside Layout */
aside {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}
aside>h1,
aside>label,
aside>p {
    display:flex;
    align-self: center;
}
aside>p+p {
    margin-top:.5rem;
}
.grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: .2rem;
}
.grid3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: .2rem;
}
.grid4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto auto auto auto;
    gap: .2rem;
}
.grid3in {
    min-width: 0;
}
.gridout {
    display:flex;
    justify-self:center;
    align-self:center;
    text-align: center;
    margin:0;
    padding:0;
    line-height: 1;
}

/* Aside Formatting */
aside{
    padding:.5rem;
}
aside>h1,
aside>label {
    text-align: center;
    text-transform: uppercase;
    padding: 1rem 0 .5rem 0;
    margin:0;
    font-size: 1.25rem;
    font-weight: normal;
}
aside>p{
    margin:0;
    padding:0;
}
aside>button {
    padding: .5rem;
}

/* Main Layout */
main {
}

/* Main Formatting */
main {
    background-color: black;
    overflow: auto;
}

#display {
    image-rendering: pixelated;
}