:root {
    --background-color: #202020;
    --element-color: #1a1a1a;
    --input-boarder-color: #404450;
    --focus-color: #0077ff;
    --active-color: #00ff77;
    background-color: var(--background-color);
}

body {
    font-family: sans-serif;
    margin: auto;
    background:#222;
    color: #fff;
}

input {
    font-size: medium;
    border-radius: 5px;
    border-color: var(--input-boarder-color);
}

button {
    color: #fff;
    border: 1px solid;
    border-color: var(--input-boarder-color);
    background-color: var(--element-color);
    border-radius: 5px;
    width: 8em;
    height: 3em;
    transition: all 0.25s;
}

button:hover {
  border-color: var(--focus-color);
}

button:active {
    border-color: var(--active-color);
}

.active {
    border-color: var(--focus-color);
}

#counter {
    background-color: #1a1a1a7e;
    padding: 10px;
    position: fixed;
    top: 0%;
    left: 100%;
    transform: translate(-100%, 0%);
    border-radius: 12px;
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 1em;
}

#view {
    margin-left: auto;
    margin-right: auto;
    width: max-content;
    display: grid;
    grid-template-columns: max-content auto;
}

#ui {
    padding: 10px;
    border:1px solid var(--element-color);
    border-radius: 12px;
    background-color: var(--element-color);
}

#ui label {
    margin-right: 8px;
    height: min-content;
}

#ui input[type=range] {
    vertical-align: middle;
}

#ui span {
    display:inline-block; width:30px; text-align:center;
}

#controls {
    height: max-content;
    display: grid;
    grid-template-rows: min-content min-content min-content min-content min-content;
    row-gap: 1em;
}

#modeButtons {
    display: grid;
    grid-template-columns: max-content max-content;
}

canvas {
    display:block;
    margin:auto;
    background:#646464;
}

.hidden {
    display: none !important;
}


@media (max-width: 900px) {
    #modeButtons {
        grid-template-columns: max-content;
    }
    #view {
        margin-left: 0px;
        margin-right: 0px;
    }
    label, span {
        font-size: small;
        padding-right: 0px;
    }
}

@media (max-width: 700px) {
    label, span {
        font-size: small;
        padding-right: 0px;
    }
    #view {
        grid-template-columns: auto;
        grid-template-rows: auto auto;
        margin-left: 0px;
        margin-right: 0px;
    }
}
