:root {
    --col1: #ffd47d;
    --col2: #b6b1a4;
    --col3: #58610a;
    --col4: #974158;
    --col5: #594c30;
    --col6: #ffebc2;
    --col7: #ce8d9e;
}
body {
    background-color: var(--col1);
    color: var(--col5);
    font-family: 'Roboto', sans-serif;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.top_div {
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: 100vh;
    justify-items: center;
    margin: 0 auto;
    row-gap: 0.85em;
}

.content_div {
    display: grid;
    grid-template-rows: auto auto auto;
    max-height: 100%;
    justify-items: center;
    margin: 0 auto;
    padding: 3px;
    row-gap: 1em;
}

canvas {
    background-image: url("/static/img/board.svg");
}

#canvas_div {
    background-color: var(--col5);
    border-radius: 8px;
    height: 580px;
    padding: 40px;
    position: relative;
    text-align: center;
    width: 580px;
}

textarea {
    resize: none;
}

form {
    border: 1px solid var(--col2);
    margin:auto;
    padding: 0.5rem;
}

form > div, h2 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

header h1 {
    font-family: 'Silkscreen', cursive;
    color: var(--col3);
    font-size: 3rem;
}

label, input {
    font-family: 'Roboto Mono', monospace;
}

input[type="text"] {
    background-color: var(--col6);
    border: 1px solid var(--col2);
    color: var(--col3); 
    font-size: 1.05rem;
    font-style: italic;
    font-weight: 600;
    line-height: 1.5;
}

button {
    background-color: var(--col3);
    border-color: var(--col2);
    border-radius: 5px;
    color: var(--col1);
    padding: 5px;
}

button:disabled {
    background-color: var(--col2);
    border: none;
}

.btn_div {
    text-align: center;
}

.help, .error {
    color: var(--col4);
}

.score_lbl {
    position: absolute;
    border: none;
    color: var(--col1);
}

.flash, .instruction {
    font-size: 1.3em;
    margin-bottom: 1rem;
    line-height: 1.5;
}

footer {
    font-family: 'Tangerine', cursive;
    font-size: 1.4rem;
}

footer a {
    text-decoration: none;
}

.link {
    color: var(--col3);
}

/*
@property --l{
    syntax: '<percentage>';
    inherits: false;
    initial-value: 10%;
}

.celeb {
    animation: anim 1s linear infinite;
    font-size: 2rem;
    background: repeating-linear-gradient(to right, var(--col7) var(--l), var(--col4) calc(10% + var(--l)), var(--col7) calc(20% + var(--l)));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

@keyframes anim{
    from {
        --l:10%;
    }
    to {
        --l: 30%;
    }
}
*/

.flash_goaway {
    animation: goaway 2s;
    animation-fill-mode: forwards;
}

@keyframes goaway {
    from {
        font-size: 1.3em;
        line-height: 1.5;
        opacity: 1.0;
        margin-bottom: 1rem;
    }
    to {
        font-size: 0.1em;
        line-height: 0;
        opacity: 0;
        margin-bottom: 0;
    }
}

@media screen and (min-width: 640px) {
    .top_div {
        display: grid;
        grid-template-rows: auto 1fr auto;
        height: 100vh;
        justify-items: center;
        margin: 0 auto;
        max-width: 45em;
        row-gap: 0.85em;
    }
}