html, body, main{
    margin: 0;
    padding: 0;
    height: 100%;
}
main {
    display: flex;
    flex-direction: column;
}
main > nav > ul{
    display: flex;
    flex-direction: row;
    margin: 0;
    padding: 0;
    justify-content: flex-end;
}
nav li{
    list-style-type: none;
    padding: 0.5rem;
}
nav a{
    text-decoration: none;
    color: #000;
}
nav a:hover{
    text-decoration: underline;
}
main > section{
    flex: 1;
}
.hidden{
    display: none !important;
}
.deselected{
    background: #cc9;
}
.selected{
    background: #9c9;
}
.end{
    order: 9999;
}
#log{
    position: relative;
}
#log_clear{
    width: 100%;
    background: #e99;
}
#log_output{
    font-family:'Courier New', Courier, monospace;
    white-space: pre;
    overflow: auto;
}
#subject{
    display: flex;
    padding: 0 1rem 1rem 1rem;
    gap: 1rem;
}
#page_question{
    display: flex;
    flex-direction: column;
}
#subject > select{
    flex: 1;
    font-size: 1.5rem;
    padding: 0.5rem;
}
#questions_reset{
    font-size: 1.5rem;
}
#select_questions{
    display: flex;
    padding: 1rem;
    gap: 1rem;
    flex: 1;
    flex-direction: column;
}
#select_questions > *{
    flex: 1;
}
#questions button{
    border: 1.5px solid #333;
    border-radius: 1rem;
    font-size: 2rem;
}
#questions{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
}
#questions > *{
    flex: 1;
}
.horizontal{
    display: flex;
    gap: 1rem;
}
.horizontal > *{
    flex: 1;
}
#page_file{
    display: flex;
    align-items: center;
    justify-content: center;
}
#page_file > input{
    font-size: 2rem;
}