body{
    display: block;
    margin: 0;
    background-color: #DDD;
    font-family: 'Mulish', Arial, Helvetica, sans-serif;
}

header{
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
}

header p{
    font-size: 20px;
}

section#cube-section{
    display: flex;
    align-items: center;
    justify-content: center;
    
    width: 100%;
    height: 300px;
}

cube{
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    
    width: 150px;
    height: 150px;
    --s: 75px;
    
    transform: rotateX(-35.264389682754654deg) rotateY(-45deg);
    transform-style: preserve-3d;
    
    user-select: none;
    pointer-events: none
}

face{
    display: inline-flex;
    
    grid-column: 1;
    grid-row: 1;
    
    position: relative;
    
    width: 100%;
    height: 100%;
    background: #AAA;
}

face img{
    width: 100%;
    height: 100%;
}

.f1{
    transform: rotateX(90deg) translateZ(var(--s));
    background: hsl(0, 0%, 67%);
}
.f2{
    transform: rotateX(-90deg) translateZ(var(--s));
    background: hsl(0, 0%, 67%);
}

.f3{
    transform: rotateY(90deg) translateZ(var(--s));
    background: hsl(0, 0%, 20%);
}
.f4{
    transform: rotateY(-90deg) translateZ(var(--s));
    background: hsl(0, 0%, 20%);
}

.f5{
    transform: rotateX(0deg) translateZ(var(--s));
    background: hsl(0, 0%, 26%);
}
.f6{
    transform: rotateY(-180deg) translateZ(var(--s));
    background: hsl(0, 0%, 26%);
}

section#info{
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
}

section#info > *{
    display: inline-block;
    margin: 8px;
}

h1{
    display: inline-block;
    margin: 0;
    font-size: 30px;
    font-weight: 800;
}
#info p{
    font-weight: 500;
}

main{
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

button, .button{
    padding: 4px 8px;
    background: #CCC;
    border: 2px solid #AAA;
    border-radius: 8px;
    font-size: 20px;
    font-family: 'Mulish', Arial, Helvetica, sans-serif;
    font-weight: 700;
    
    cursor: pointer;
    user-select: none;
}

button[disabled]{
    cursor: initial;
}

main ul{
    text-align: left;
    width: 500px;
    margin: 0 auto;
}

main li{
    font-size: 20px;
}

#control-panel div{
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    margin: 16px 0;
    gap: 16px;
}

#control-panel label{
    width: max-content;
    text-align: left;
    font-weight: 500;
}

#control-panel input[type="checkbox"]{
    width: 20px;
    height: 20px;
    margin: 0;
    vertical-align: middle;
    cursor: pointer;
}