.box-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}

.box-card {
    aspect-ratio: 1 / 1;
    cursor: pointer;
    perspective: 1000px;
}

.box-card button {
    height: 100%;
    width: 100%;
}

.box-inner {
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 500ms ease;
    width: 100%;
}

.box-card.is-open .box-inner {
    transform: rotateY(180deg);
}

.box-face {
    align-items: center;
    backface-visibility: hidden;
    border: 1px solid var(--stroke);
    border-radius: var(--radius-md);
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 0.8rem;
    position: absolute;
    text-align: center;
    width: 100%;
}

.box-face.front {
    background: linear-gradient(135deg, var(--accent-soft), var(--surface-strong));
    color: var(--accent-strong);
    font-size: 2rem;
}

.box-face.back {
    background: var(--surface-strong);
    color: var(--text);
    transform: rotateY(180deg);
}
