.cube-container {
    perspective: 600px;
    margin-bottom: 5rem;
    width: 120px;
    height: 120px;
}

.cube {
    width: 100px;
    height: 100px;
    transform-style: preserve-3d;
    animation: cube-spin 3s linear infinite;
}

.face {
    position: absolute;
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, var(--cube-primary) 60%, var(--cube-secondary) 100%);
    box-shadow: 0 0 40px 10px var(--cube-secondary), 0 0 80px 30px var(--cube-primary);
    border-radius: 6px;
    opacity: 0.4;
}

.front  { transform: rotateY(0deg) translateZ(50px); }
.back   { transform: rotateY(180deg) translateZ(50px); }
.right  { transform: rotateY(90deg) translateZ(50px); }
.left   { transform: rotateY(-90deg) translateZ(50px); }
.top    { transform: rotateX(90deg) translateZ(50px); }
.bottom { transform: rotateX(-90deg) translateZ(50px); }

@keyframes cube-spin {
    0%   { transform: rotateY(0deg) rotateX(0deg); }
    100% { transform: rotateY(360deg) rotateX(360deg); }
}

/* Media queries */

@media (max-width: 600px) {
    .cube-container {
        margin-bottom: 3rem;
    }
}
