.minoes-table {
    display: flex;
    flex-direction: column;
    filter: drop-shadow(0 8px 1px #0008);
}

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

tr.matrix td:not(.mino) {
    border: none;
    border-right: 1px solid #8884;
}

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

.mino {
    width: inherit;
    height: inherit;
    display: block;
    padding: 0;
    opacity: 100%;
    border: none;
    box-shadow: 0 -6px 0 var(--box-shadow-color);
}

.I.mino {
    background-color: #0293b0;
  --box-shadow-color: #05d2f2;
}

.J.mino {
    background-color: #2c69c2;
  --box-shadow-color: #7bb7f6;
}

.L.mino {
    background-color: #fa9b23;
  --box-shadow-color: #ffba59;
}

.O.mino {
    background-color: #f9d92c;
  --box-shadow-color: #fff194;
}

.S.mino {
    background-color: #01a493;
  --box-shadow-color: #03e7d3;
}

.T.mino {
    background-color: #6830d1;
  --box-shadow-color: #bb88fc;
}

.Z.mino {
    background-color: #ee2b58;
  --box-shadow-color: #fd4487;
}

.ghost.mino {
    background-color: #fff8;
    box-shadow: none;
    transform: blue(4px);
}

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

.locking.mino {
    filter: saturate(20%) brightness(300%);
}

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

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

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

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

@keyframes trail-animation {
    from {
        background-color: #ceffff05;
        filter: saturate(50%) brightness(110%);
    }
    to {
        background-color: transparent;
    }
}
