body {
    align-items: center;
    background: #301;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.main-field {
    display: flex;
    flex-direction: column;
    height: auto;
    overflow-y: scroll;
}

.opponent-cards, .player-cards, .play-field {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
}

.card-info-bar {
    color: #aba9ab;
    font-family: 'Amatic SC', monospace;
    font-size: 42px;
    text-align: center;
    width: 100%;
}

.player-card-slot, .opponent-card-slot {
    background-size: contain;
    height: auto;
    width: 14%;
}

.card, .player-card-slot, .opponent-card-slot {
    transform: perspective(450px) rotateY(0deg);
    transform-style: preserve-3d;
    transition: transform .3s;
}

.card {
    background-size: contain;
    height: auto;
    width: 12%;
}

.flipped {
    transform: perspective(450px) rotateY(180deg);
}

.opponent-cards > .card {
    width: 10%;
}

@media (max-aspect-ratio: 1/1) {
    .player-card-slot, .opponent-card-slot {
        width: 49%;
    }
    .card, .player-card-slot, .opponent-card-slot {
        transform: perspective(1000px) rotateY(0deg);
    }
    .flipped {
        transform: perspective(1000px) rotateY(180deg);
    }
    .card {
        width: 16%;
    }
    .opponent-cards > .card {
        width: 15%;
    }
    .card-info-bar {
        font-size: 64px;
    }
}

.active-card {
    cursor: pointer;
    transition: transform .2s;
}

.active-card:hover {
    transform: translateY(-8px);
}
