/* CIPHER BOX - Modular Encrypted Intro Block */
#cipher-box {
  position: relative;
  width: 100%;
  max-width: 800px;
  height: 150px;
  margin: 3rem auto;
  background-color: #000;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px #111;
}

/* Corner brackets */
#cipher-box .cipher-corners::before,
#cipher-box .cipher-corners::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid #666;
}

#cipher-box .cipher-corners::before {
  top: 0; left: 0;
  border-right: none;
  border-bottom: none;
}

#cipher-box .cipher-corners::after {
  bottom: 0; right: 0;
  border-left: none;
  border-top: none;
}

/* Optional: Top-right + bottom-left L’s for symmetry */
#cipher-box::before,
#cipher-box::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid #666;
}

#cipher-box::before {
  top: 0; right: 0;
  border-left: none;
  border-bottom: none;
}

#cipher-box::after {
  bottom: 0; left: 0;
  border-right: none;
  border-top: none;
}

/* Ocean shimmer */
.cipher-shimmer {
  position: absolute;
  top: 0; left: -50%;
  width: 200%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.04),
    rgba(255, 255, 255, 0.15),
    rgba(255, 255, 255, 0.04)
  );
  animation: shimmer 6s infinite;
  opacity: 0.85; /* increased visibility */
}

@keyframes shimmer {
  0%   { transform: translateX(0); opacity: 0; }
  20%  { opacity: 1; }
  50%  { transform: translateX(50%); }
  80%  { opacity: 1; }
  100% { transform: translateX(100%); opacity: 0; }
}

/* Message cycling */
.cipher-message {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  color: #F2F3F4;
  font-family: "Courier New", monospace;
  font-size: 1.5rem;
  opacity: 0;
  animation: messageCycle 6s infinite;
  text-shadow: 0 0 4px #000;
  white-space: nowrap;
}

.cipher-garble {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Courier New", monospace;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  color: #3d5f62;
  opacity: 0.35;
  transition: opacity 0.3s ease;
  animation: pulseGlow 2s infinite;
  text-shadow: 0 0 6px #000;
  pointer-events: none;
}

@keyframes messageCycle {
  10% { opacity: 1; content: "You may read this message"; }
  40% { opacity: 1; }
  50% { opacity: 0; }
  60% { opacity: 1; content: "Encrypting..."; }
  80% { opacity: 0; }
}

/* Service List Container */
.services-list {
  margin-top: 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-family: 'Courier New', monospace;
  color: #8de6ff;
  opacity: 0.15;
  text-align: center;
}

/* Each individual line */
.service-ping {
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
  white-space: nowrap;
  transition: opacity 1s ease;
  animation: pingFade 6s infinite;
}

/* Optional: Pulsing fade effect */
@keyframes pingFade {
  0%, 100% { opacity: 0.1; }
  50% { opacity: 0.35; }
}