:root{
    --light: white;
    --dark: black;
    --info: rgb(0, 211, 0);
    --warning: rgb(224, 153, 0);
    --error: rgb(192, 0, 0);
}
*{
    font-family: sans-serif;
}
body {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
}
.main-container {
    padding: 5px;
}
.flex-col {
    display: flex;
    flex-direction: column;
}
.flex-row {
    display: flex;
    flex-direction: row;
}
.flex-grow {
    flex-grow: 1;
}
.button {
    border: 2px solid var(--dark);
    background-color: var(--light);
    border-radius: 2vmin;
    padding: 2vmin;
    margin-left: .5vmin;
    margin-right: .5vmin;
    margin-bottom: 3px;
    margin-top: 3px;
    text-align: center;
    flex-basis: 100%;
    user-select: none;
}
.button:hover {
    background-color: var(--dark);
    color: var(--light);
}
#message-box {
    color: var(--light);
    background-color: var(--error);
    padding: 5px;
}
canvas {
    background-color: white;
    border: 2px solid var(--dark);
    border-top: 2px dashed var(--dark);
    border-bottom: 2px dashed var(--dark);
}
#settings-modal {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--light);
    padding: 5px;
    display: flex;
    flex-direction: column;
}
.settings-row, .settings-col {
    padding: 2vmin;
    margin-left: .5vmin;
    margin-right: .5vmin;
    margin-bottom: 3px;
    margin-top: 3px;
}
.settings-col {
    border: 2px solid var(--dark);
    border-radius: 2vmin;
}