.card {
    background-color: #363941;
}

.minoes-table {
    display: flex;
    flex-direction: column;
    filter: drop-shadow(5px 8px 0 rgba(9, 9, 9, 22%));
}

.minoes-table tr {
    display: flex;
    position: relative;
    flex-direction: row;
    z-index: calc(100 - var(--row));
}

tr.matrix td:not(.mino) {
    border: 0;
}

.minoes-table td {
    display: inline-block;
    width: var(--cell-side);
    height: var(--cell-side);
    padding: 0 !important;
    z-index: calc(200 - var(--row));
}

.mino {
    background: var(--background-color);
    width: inherit;
    height: inherit;
    display: block;
    box-shadow: 0 -6px 0 var(--box-shadow-color);
}

.I.mino {
    --background-color: #42AFE1;
    --box-shadow-color: #6CEAFF;
}

.J.mino {
    --background-color: #1165B5;
    --box-shadow-color: #339BFF;
}

.L.mino {
    --background-color: #F38927;
    --box-shadow-color: #FFBA59;
}

.O.mino {
    --background-color: #F6D03C;
    --box-shadow-color: #FFFF7F;
}

.S.mino {
    --background-color: #51B84D;
    --box-shadow-color: #84F880;
}

.T.mino {
    --background-color: #9739A2;
    --box-shadow-color: #D958E9;
}

.Z.mino {
    --background-color: #EB4F65;
    --box-shadow-color: #FF7F79;
}

.ghost.mino {
    opacity: 50%;
    box-shadow: none;
}

.moving.mino {
    filter: saturate(80%) brightness(110%);
}

.locking.mino {
    filter: saturate(50%) brightness(130%);
}

.locked.mino {
    animation: locked-animation;
    animation-duration: 0.2s;
}

.disabled.mino {
    filter: brightness(50%) contrast(50%);
}

@keyframes locked-animation {
    from {
        filter: saturate(50%) brightness(300%);
    }
}

@keyframes cleared-line-animation {
    from {
        background-color: #eeeeee;
    }
    to {
        background-color: transparent;
    }
}