*
{
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

body
{
    --background-color: #EEE;
    color: #333;
    margin: 0;
}

body, button, input, label, select
{
    font-size: 14px;
}

button, input, select
{
    border: 1px solid #CCC;
    padding: 10px 5px;
}

button[type="submit"]
{
    background-color: #FC0;
    border: none;
    border-radius: 5px;
    color: #333;
    font-weight: bold;
    padding: 10px;
}

button[type="submit"]:hover
{
    background-color: #EB0;
}

input.long
{
    width: 350px;
}

input.short
{
    width: 80px;
}

label
{
    font-weight: bold;
}

a
{
    background-color: #55F;
    border-radius: 5px;
    color: #FFF;
    padding: 5px;
    text-decoration: none;
}

#app
{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    height: 100svh;
    padding: 5px;
}

#app > header
{
    padding-bottom: 5px;
}

#app > header > nav
{
    display: flex;
    gap: 5px;
    padding-bottom: 5px;
}

#app > main
{
    overflow-y: auto;
}

#app > footer
{
    padding-top: 5px;
}

@media (max-width: 600px)
{
    #app > main
    {
        overflow-y: auto;
        scrollbar-width: none;
    }

    #app > main::-webkit-scrollbar
    {
        display: none;
    }
}

@media (min-width: 600px)
{
    body
    {
        margin: auto;
        width: 900px;
    }
}