body {
    background-color: #282a36;
    font-family: 'Arial','Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    font-size: 20px;
    margin:0;
    color: snow;
}

header {
    position: fixed;
    top: 0;
    left: 0;

    margin:0;
    padding:0;
    width:100%;
    height: 64px;

    background-color: rgba(20,21,36,0.8);

}

/* Hamburger Menu */

.hamburger {
    height:64px;
    width: 64px;

    background-color: transparent;

    border:none;

    margin: 0;
    padding: 8px;

    float: left;
}

.bar {
    margin:20% 20%;
    height: 6%;
    width: 60%;

    background-color: snow;

    display: block;
}

.bar-center {
    background-color: gray;
    margin-top: 21%;
    margin-bottom: 21%;
}

/* hamburger -> x */


/* Title */


#title-outer {
    width: calc(100% - 64px - 64px);
    height: 64px;
    margin: 0;

    float: left;
}

#title {
    position: absolute;
    top: 0;
    left: calc(64px + 16px);

    height: 100%;
    width: 32px;

    height: 100%;
    width: 100%;
    margin: 0;

    height: 64px;
    line-height: 64px;
    white-space: nowrap;

    font-size: 1.5rem;
}

#tit-left {
    position: absolute;
    top: 0;
    left: 64px;

    height: 100%;
    width: 16px;

    background: linear-gradient(to right, #1a1c29, rgba(0,0,0,0));
}

#tit-right {
    position: absolute;
    top: 0;
    right: 0;

    height: 100%;
    width: 16px;

    background: linear-gradient(to left, #1a1c29, rgba(0,0,0,0));
}

#class-dummy {
    margin:0;
    padding:0;
    width:100%;
    height: 64px;
}


/* Quiz Area */


main {
    width: 100%;
    min-height: calc(100dvh - 64px);

    overflow: hidden;
}

#console {
    margin: min(64px, 5vw);
    min-height: 50vh;

    line-height: 28px;
}

.Qdesc {
    color: gray;
}


/* File Menu*/


#file-menu {
    left: calc(-80vw - 2rem - 8px);

    position: fixed;
    top: 64px;
    width: 80vw;
    height: calc(100dvh - 64px - 2rem);

    padding: 1rem;

    border-right: 8px ridge lightblue;
    background-color: rgba(20,21,48,0.90);
    overflow: auto;

    transition: 0.3s;
    animation-timing-function: ease-out;

    user-select: none;
}

#file-menu.show {
    left: 0vw;
}


.file {
    padding: 0.1rem;
    margin: 0.3rem 0;
}

.indent {
    margin-left: 1rem;
}

.dir {
    display: flex;
    align-items: center;

    margin: 0.2rem 0;
}

.dir img {
    height: 1.5rem;
    margin-right: 0.5rem;
}

.Qfile {
    display: flex;
    align-items: center;
}

.Qfile img {
    height: 1.8rem;
    padding-right: 0.5rem;
}