/* ===== HUD SPECIFIC EFFECTS ===== */

/* Ambient glow on panels */
.panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: radial-gradient(ellipse at top left, rgba(0, 240, 255, 0.03), transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* Flicker effect for badges */
@keyframes flicker {
  0%, 97%, 100% { opacity: 1; }
  98% { opacity: 0.7; }
  99% { opacity: 0.9; }
}
.badge { animation: flicker 4s linear infinite; }

/* Data stream decoration */
.panel-header::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 1px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  opacity: 0.2;
}
.panel-header { position: relative; }

/* Holographic shimmer on active channel */
.channel-item.active::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 240, 255, 0.03), transparent);
  animation: shimmer 3s ease-in-out infinite;
  pointer-events: none;
}
@keyframes shimmer {
  0%, 100% { transform: translateX(-100%); }
  50% { transform: translateX(100%); }
}

/* Boot sequence animation */
@keyframes boot-in {
  0% { opacity: 0; transform: scale(0.98); filter: brightness(2); }
  50% { filter: brightness(1.2); }
  100% { opacity: 1; transform: scale(1); filter: brightness(1); }
}
#hud-container:not(.hidden) {
  animation: boot-in 1s ease-out;
}

/* Glow border pulse on chat input focus */
@keyframes input-glow {
  0%, 100% { box-shadow: 0 0 15px rgba(0, 240, 255, 0.1), inset 0 0 15px rgba(0, 240, 255, 0.03); }
  50% { box-shadow: 0 0 25px rgba(0, 240, 255, 0.15), inset 0 0 20px rgba(0, 240, 255, 0.05); }
}
.input-wrapper:focus-within {
  animation: input-glow 2s ease-in-out infinite;
}

/* HUD line decorations */
#top-bar::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 1px;
  background: linear-gradient(90deg, 
    transparent 0%, 
    rgba(0, 240, 255, 0.4) 20%,
    rgba(0, 240, 255, 0.4) 80%,
    transparent 100%
  );
}
#top-bar { position: relative; }

/* Panel content z-index */
.panel > *:not(.panel-corner) {
  position: relative;
  z-index: 1;
}

/* Status badge pulse on change */
.badge-online::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 1px solid var(--green);
  border-radius: 2px;
  animation: badge-pulse 3s ease-in-out infinite;
  pointer-events: none;
}
@keyframes badge-pulse {
  0%, 100% { opacity: 0; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(1.05); }
}
