/* Летающие блоки и пиксели на главной (#head_pics) */
.gg-fx-layer {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 2;
    perspective: 1000px;
}

.gg-cube {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--s);
    height: var(--s);
    transform-style: preserve-3d;
    will-change: transform;
}

.gg-cube i {
    position: absolute;
    inset: 0;
    display: block;
    backface-visibility: hidden;
}

.gg-cube .f { transform: translateZ(calc(var(--s) / 2)); }
.gg-cube .b { transform: rotateY(180deg) translateZ(calc(var(--s) / 2)); }
.gg-cube .r { transform: rotateY(90deg) translateZ(calc(var(--s) / 2)); }
.gg-cube .l { transform: rotateY(-90deg) translateZ(calc(var(--s) / 2)); }
.gg-cube .t { transform: rotateX(90deg) translateZ(calc(var(--s) / 2)); }

/* Трава: зелёный верх, земляной бок */
.gg-cube.grass .t {
    background:
        conic-gradient(#7cbd56 0 25%, #6aa94a 0 50%, #7cbd56 0 75%, #6aa94a 0)
        0 0 / calc(var(--s) / 2) calc(var(--s) / 2);
}
.gg-cube.grass .f {
    background:
        linear-gradient(#7cbd56 0 18%, transparent 18%),
        conic-gradient(#8a5a32 0 25%, #7c5030 0 50%, #8a5a32 0 75%, #7c5030 0)
        0 0 / calc(var(--s) / 2) calc(var(--s) / 2);
}
.gg-cube.grass .r,
.gg-cube.grass .l,
.gg-cube.grass .b {
    background:
        linear-gradient(rgba(0, 0, 0, .22), rgba(0, 0, 0, .22)),
        conic-gradient(#8a5a32 0 25%, #7c5030 0 50%, #8a5a32 0 75%, #7c5030 0)
        0 0 / calc(var(--s) / 2) calc(var(--s) / 2);
}

/* Светокамень */
.gg-cube.glow i {
    background:
        conic-gradient(#ffd76a 0 25%, #f2b93b 0 50%, #ffe28a 0 75%, #f2b93b 0)
        0 0 / calc(var(--s) / 2) calc(var(--s) / 2);
}
.gg-cube.glow .r,
.gg-cube.glow .l,
.gg-cube.glow .b { filter: brightness(.85); }
.gg-cube.glow { filter: drop-shadow(0 0 14px rgba(255, 200, 80, .45)); }

/* Алмазная руда */
.gg-cube.diamond i {
    background:
        radial-gradient(circle at 30% 30%, #59e3e3 0 12%, transparent 13%),
        radial-gradient(circle at 70% 60%, #59e3e3 0 10%, transparent 11%),
        radial-gradient(circle at 45% 78%, #7ce8e8 0 9%, transparent 10%),
        conic-gradient(#9a9a9a 0 25%, #8d8d8d 0 50%, #9a9a9a 0 75%, #8d8d8d 0)
        0 0 / calc(var(--s) / 2) calc(var(--s) / 2);
}
.gg-cube.diamond .r,
.gg-cube.diamond .l,
.gg-cube.diamond .b { filter: brightness(.8); }

/* Глитч-куб в фирменном оранжевом */
.gg-cube.glitch i {
    background:
        conic-gradient(#fc9404 0 25%, #e08400 0 50%, #ffa62b 0 75%, #e08400 0)
        0 0 / calc(var(--s) / 2) calc(var(--s) / 2);
    animation: ggGlitchFlicker 4s steps(1) infinite;
}
@keyframes ggGlitchFlicker {
    0%, 92%, 100% { opacity: 1; }
    93% { opacity: .35; transform: translateX(-3px); }
    95% { opacity: 1; transform: translateX(2px); }
    97% { opacity: .55; transform: translateX(-2px); }
}

/* Всплывающие пиксели */
.gg-pix {
    position: absolute;
    bottom: -16px;
    width: var(--ps);
    height: var(--ps);
    background: var(--pc);
    border-radius: 1px;
    opacity: 0;
    animation: ggRise var(--pd) linear forwards;
    will-change: transform, opacity;
}

@keyframes ggRise {
    0% { transform: translate3d(0, 0, 0) rotate(0); opacity: 0; }
    8% { opacity: .5; }
    85% { opacity: .5; }
    100% {
        transform: translate3d(var(--dx), -110vh, 0) rotate(320deg);
        opacity: 0;
    }
}
