
.matrix-banner {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: black;
  position: relative;
  overflow: hidden;
  user-select: none;
}

.ai-matrix-loader {
    display: grid;
    gap: 6px;
}

.ai-matrix-loader .digit {
  color: #00ff88;
  font-family: monospace;
  font-size: 18px;
  animation:
    matrix-fall 0.8s steps(10) infinite;
  text-shadow:
    0 0 5px  #00ff88,
    0 0 10px #00ff88,
    0 0 20px #00ff88,
    0 10px 12px rgba(0,255,136,0.35),
    0 20px 20px rgba(0,255,136,0.2);
}

.digit.leader {
  color: #aaffcc;
  text-shadow:
    0 0 8px #aaffcc,
    0 0 18px #aaffcc;
  opacity: 1 !important;
}

.matrix-banner .glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  animation: matrix-pulse 5s infinite;

  background:
    linear-gradient(to bottom,
      rgba(0,255,136,0.10) 0%,
      rgba(0,255,136,0.25) 50%,
      rgba(0,255,136,0.10) 100%
    ),
    radial-gradient(circle,
      rgba(0,255,136,0.25) 0%,
      transparent 70%
    );
}

@keyframes background-fall {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(110%); }
}

@keyframes matrix-fall {
  0% {
    transform: translateY(-50px) rotateX(90deg);
    opacity: 0;
  }
  20%, 80% {
    transform: translateY(0) rotateX(0deg);
    opacity: 0.8;
  }
  100% {
    transform: translateY(50px) rotateX(-90deg);
    opacity: 0;
  }
}

@keyframes matrix-pulse {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.7; }
}
