/* MCW Hero 3D 魔方组件 —— 从 logo-cube-demo.html 提取，适配首页 Hero */
.mcw-cube-stage {
  --cubie: 34px;
  --cube-step: var(--cubie);
  --green-face: #6BC858;
  --gold:       #EAB308;
  --lit-front: 1;
  --lit-back:  0.62;
  --lit-right: 0.88;
  --lit-left:  0.72;
  --lit-top:   1.08;
  --lit-bottom:0.6;

  width: 100%; height: 100%;
  perspective: 1100px;
  transform-style: preserve-3d;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  position: relative;
}

.mcw-cube-stage .cube {
  width: 0; height: 0; position: relative;
  transform-style: preserve-3d;
  transform: rotateX(-20deg) rotateY(-30deg);
  will-change: transform;
}

.mcw-cube-stage .shadow {
  position: absolute;
  width: 230px; height: 52px;
  bottom: 92px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(58, 107, 36, 0.32) 0%, rgba(58, 107, 36, 0) 72%);
  filter: blur(18px);
  pointer-events: none;
  transform: rotateX(80deg) translateZ(-28px);
  will-change: transform;
}

.mcw-cube-stage .cubie {
  position: absolute;
  width: var(--cubie); height: var(--cubie);
  margin-left: calc(var(--cubie) / -2);
  margin-top: calc(var(--cubie) / -2);
  transform-style: preserve-3d;
}

.mcw-cube-stage .face {
  position: absolute;
  width: var(--cubie); height: var(--cubie);
  border: none; border-radius: 0;
  backface-visibility: hidden;
  box-sizing: border-box;
  filter: brightness(1);
}

.mcw-cube-stage .cubie.green .face { background-color: var(--green-face); }
.mcw-cube-stage .cubie.gold  .face { background-color: var(--gold); }

.mcw-cube-stage .f-front  { transform: rotateY(0deg)   translateZ(calc(var(--cubie) / 2)) scale(1.015); }
.mcw-cube-stage .f-back   { transform: rotateY(180deg) translateZ(calc(var(--cubie) / 2)) scale(1.015); }
.mcw-cube-stage .f-right  { transform: rotateY(90deg)  translateZ(calc(var(--cubie) / 2)) scale(1.015); }
.mcw-cube-stage .f-left   { transform: rotateY(-90deg) translateZ(calc(var(--cubie) / 2)) scale(1.015); }
.mcw-cube-stage .f-top    { transform: rotateX(90deg)  translateZ(calc(var(--cubie) / 2)) scale(1.015); }
.mcw-cube-stage .f-bottom { transform: rotateX(-90deg) translateZ(calc(var(--cubie) / 2)) scale(1.015); }

.mcw-cube-stage .cube.lit .f-front  { filter: brightness(var(--lit-front)); }
.mcw-cube-stage .cube.lit .f-back   { filter: brightness(var(--lit-back)); }
.mcw-cube-stage .cube.lit .f-right  { filter: brightness(var(--lit-right)); }
.mcw-cube-stage .cube.lit .f-left   { filter: brightness(var(--lit-left)); }
.mcw-cube-stage .cube.lit .f-top    { filter: brightness(var(--lit-top)); }
.mcw-cube-stage .cube.lit .f-bottom { filter: brightness(var(--lit-bottom)); }

@media (max-width: 720px) {
  .mcw-cube-stage { --cubie: 26px; }
  .mcw-cube-stage .shadow { width: 180px; height: 42px; bottom: 74px; }
}
