/* ==========================================
   图形点阵样式
   Graphic Dot Matrix Styles
   ========================================== */

/* Graphic dot matrix container - 2D optimized */
.graphic-matrix-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.graphic-matrix-container .dot-matrix {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Graphic dot base style */
.dot.graphic {
  /* 移除 transition 和 preserve-3d 以提升滚动性能 */
}

/* Layer styling - 2D opacity instead of 3D */
.dot.graphic.layer-1 {
  opacity: 0.3;
}

.dot.graphic.layer-2 {
  opacity: 0.6;
}

.dot.graphic.layer-3 {
  opacity: 0.9;
}

.dot.graphic.ripple {
  opacity: 1;
  font-weight: var(--font-weight-bold);
}

/* Mobile optimization - disable 3D */
@media (max-width: 768px) {
  .graphic-matrix-container {
    perspective: none;
  }

  .graphic-matrix-container .dot-matrix {
    transform-style: flat;
  }

  .dot.graphic {
    transform: none !important;
  }

  .graphic-matrix-container:hover .dot.graphic {
    transform: scale(1.1) !important;
  }

  .dot.graphic.ripple {
    animation: none;
  }
}

/* Small screen layout adjustment */
@media (max-width: 480px) {
  .graphic-matrix-container {
    padding: var(--spacing-lg) 0;
  }

  .graphic-matrix-container .dot-matrix {
    transform: scale(0.85);
  }
}

/* Reduced Motion support */
@media (prefers-reduced-motion: reduce) {
  .dot.graphic.ripple {
    animation: none;
  }

  .graphic-matrix-container:hover .dot.graphic,
  .graphic-matrix-container:hover .dot-matrix {
    transform: none !important;
  }
}

