:root {
    --screen-width: 22em;
    --background-colour: #c2bebb;
    --screen-border-colour: #8a858b;
    --screen-colour: #869d57;
    --center-button-colour: #862359;
    --d-button-colour: #2a2c2b;
    --button-screen-align: 2em;
}

@font-face {
    font-family: 'pixelefy-sans';
    src: url(fonts/PixelifySans-VariableFont_wght.ttf) format('woff');
}

body {
    margin: 1em;
    background-color: var(--background-colour);
    font-family: 'pixelefy-sans', monospace;
}

canvas {
    margin: 0;
    padding: 0;
    border: 1em solid var(--screen-border-colour);
    border-width: 1em var(--button-screen-align);
    width: var(--screen-width);
    height: var(--screen-width);
    background-color: var(--screen-colour);
}

canvas:focus, button:focus {
    outline: none;
}

button {
    width: 8em;
    height: 8em;
    border-color: var(--d-button-colour);
    background-color: var(--d-button-colour);
}

#main {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

#buttons {
    max-width: var(--screen-width);
    position: relative;
    left: var(--button-screen-align);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5em;
}

#sideButtons {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#topButton {
    position: relative;
    margin: 0 auto;
    border-top-left-radius: 6em;
    border-top-right-radius: 6em;
}

#leftButton {
    border-top-left-radius: 6em;
    border-bottom-left-radius: 6em;
}

#rightButton {
    border-top-right-radius: 6em;
    border-bottom-right-radius: 6em;
}

#bottomButton {
    position: relative;
    margin: 0 auto;
    border-bottom-right-radius: 6em;
    border-bottom-left-radius: 6em;
}

#centerButton {
    border-radius: 6em;
    border-color: var(--center-button-colour);
    background-color: var(--center-button-colour);
}