.glass-panel {
  background: linear-gradient(
    135deg,
    rgba(15, 15, 35, 0.8) 0%,
    rgba(10, 10, 25, 0.6) 100%
  );
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid rgba(100, 200, 255, 0.12);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.glass-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(100, 200, 255, 0.2) 50%,
    transparent 100%
  );
}

.neon-text-cyan {
  color: var(--neon-cyan);
  text-shadow:
    0 0 4px var(--neon-cyan),
    0 0 8px rgba(0, 240, 255, 0.4);
}

.neon-text-green {
  color: var(--neon-green);
  text-shadow:
    0 0 4px var(--neon-green),
    0 0 8px rgba(0, 255, 136, 0.4);
}

.neon-text-red {
  color: var(--neon-red);
  text-shadow:
    0 0 4px var(--neon-red),
    0 0 8px rgba(255, 51, 102, 0.4);
}

.neon-text-blue {
  color: var(--neon-blue);
  text-shadow:
    0 0 4px var(--neon-blue),
    0 0 8px rgba(51, 153, 255, 0.4);
}

.neon-text-amber {
  color: var(--neon-amber);
  text-shadow:
    0 0 4px var(--neon-amber),
    0 0 8px rgba(255, 170, 0, 0.4);
}

.neon-text-purple {
  color: var(--neon-purple);
  text-shadow:
    0 0 4px var(--neon-purple),
    0 0 8px rgba(204, 102, 255, 0.4);
}

.neon-border-cyan {
  border-color: var(--neon-cyan);
  box-shadow:
    0 0 6px rgba(0, 240, 255, 0.15),
    inset 0 0 6px rgba(0, 240, 255, 0.05);
}

.neon-border-green {
  border-color: var(--neon-green);
  box-shadow:
    0 0 6px rgba(0, 255, 136, 0.15),
    inset 0 0 6px rgba(0, 255, 136, 0.05);
}

.depth-1 {
  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.3),
    0 0 1px rgba(100, 200, 255, 0.1);
}

.depth-2 {
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.4),
    0 0 2px rgba(100, 200, 255, 0.12);
}

.depth-3 {
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.5),
    0 0 4px rgba(100, 200, 255, 0.15);
}

.neon-divider {
  width: 100%;
  height: 1px;
  border: none;
  margin: 8px 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(100, 200, 255, 0.2) 20%,
    rgba(100, 200, 255, 0.2) 80%,
    transparent 100%
  );
}

.gradient-accent {
  background: linear-gradient(
    135deg,
    var(--neon-cyan) 0%,
    var(--neon-purple) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

#panel-stats.hud-panel {
  background: linear-gradient(
    160deg,
    rgba(0, 255, 136, 0.03) 0%,
    rgba(12, 12, 30, 0.75) 30%
  );
}

#panel-performance.hud-panel {
  background: linear-gradient(
    200deg,
    rgba(0, 240, 255, 0.03) 0%,
    rgba(12, 12, 30, 0.75) 30%
  );
}

#panel-generation.hud-panel {
  background: linear-gradient(
    180deg,
    rgba(204, 102, 255, 0.05) 0%,
    rgba(12, 12, 30, 0.8) 50%
  );
}

#panel-events.hud-panel {
  background: linear-gradient(
    0deg,
    rgba(12, 12, 30, 0.85) 0%,
    rgba(12, 12, 30, 0.7) 100%
  );
}

#panel-charts.hud-panel {
  background: linear-gradient(
    225deg,
    rgba(51, 153, 255, 0.03) 0%,
    rgba(12, 12, 30, 0.8) 30%
  );
}

.scan-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 3;
  background: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 2px,
    rgba(100, 200, 255, 0.01) 2px,
    rgba(100, 200, 255, 0.01) 4px
  );
}

.type-gatherer {
  color: var(--gatherer-color);
}
.type-predator {
  color: var(--predator-color);
}
.type-builder {
  color: var(--builder-color);
}
.type-explorer {
  color: var(--explorer-color);
}
.type-hybrid {
  color: var(--hybrid-color);
}

.dot-gatherer {
  background: var(--gatherer-color);
}
.dot-predator {
  background: var(--predator-color);
}
.dot-builder {
  background: var(--builder-color);
}
.dot-explorer {
  background: var(--explorer-color);
}
.dot-hybrid {
  background: var(--hybrid-color);
}

.entity-tooltip {
  position: absolute;
  z-index: var(--z-modal);
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(6, 6, 15, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(100, 200, 255, 0.2);
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-primary);
  pointer-events: none;
  white-space: nowrap;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.entity-tooltip .tooltip-row {
  padding: 1px 0;
}

.entity-tooltip .tooltip-label {
  color: var(--text-muted);
  margin-right: 8px;
}

.neon-bar {
  height: 3px;
  border-radius: 2px;
  background: var(--bg-secondary);
  overflow: hidden;
  margin: 4px 0;
}

.neon-bar-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.3s ease;
}

.neon-bar-fill.cyan {
  background: var(--neon-cyan);
  box-shadow: 0 0 6px var(--neon-cyan);
}
.neon-bar-fill.green {
  background: var(--neon-green);
  box-shadow: 0 0 6px var(--neon-green);
}
.neon-bar-fill.red {
  background: var(--neon-red);
  box-shadow: 0 0 6px var(--neon-red);
}
.neon-bar-fill.amber {
  background: var(--neon-amber);
  box-shadow: 0 0 6px var(--neon-amber);
}

@media (prefers-reduced-motion: reduce) {
  .neon-bar-fill {
    transition: none;
  }
}
