.card {
    background-color: #363941;
}

.minoes-table {
    display: flex;
    flex-direction: column;
    filter: drop-shadow(-2px 0 0 white) drop-shadow(2px 0 0 white) drop-shadow(0 -2px 0 white)
        drop-shadow(0 2px 0 white) 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-size);
    height: var(--cell-size);
    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: 5%;
    box-shadow: none;
    transform: translateY(-6px);
}

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

.locking.mino {
  --background-color: white;
  --box-shadow-color: #ddd;
}

.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;
    }
}

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