/* Netzwerkgrafik, übernommen aus lightbox.network (entwurf_hermes-v1) */
    /* Desktop View vs Mobile View */
.network-svg.desktop-view {
  width: 100%;
  height: 520px;
  display: block;
}

.network-svg.mobile-view {
  width: 100%;
  height: 640px;
  display: none;
}

@media (max-width: 768px) {
  .network-svg.desktop-view {
    display: none;
  }
  .network-svg.mobile-view {
    display: block;
  }
}

.net-link {
  stroke: rgba(255, 255, 255, 0.15);
  stroke-width: 1.5;
  transition: stroke 0.3s ease, stroke-width 0.3s ease, filter 0.3s ease;
}

.net-link.strong {
  stroke: rgba(245, 158, 11, 0.28);
  stroke-width: 2.2;
}

.net-node-group {
  cursor: pointer;
}

.net-node-aura {
  opacity: 0;
  transition: opacity 0.35s cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
}

.net-node-group:hover .net-node-aura,
.net-node-group:active .net-node-aura {
  opacity: 1;
}

.node-human-circle {
  fill: #0f1117;
  stroke: #f5b800;
  stroke-width: 2.2;
  transition: all 0.3s cubic-bezier(.2,.7,.2,1);
}

.node-human-core {
  fill: #ffd24a;
  transition: all 0.3s cubic-bezier(.2,.7,.2,1);
}

.net-node-group.human:hover .node-human-circle,
.net-node-group.human:active .node-human-circle {
  stroke: #ffffff;
  stroke-width: 3;
  filter: drop-shadow(0 0 16px #ffd24a);
}

.node-ai-rect {
  fill: #0c121e;
  stroke: #38bdf8;
  stroke-width: 2.2;
  rx: 3px;
  ry: 3px;
  transition: all 0.3s cubic-bezier(.2,.7,.2,1);
}

.node-ai-core {
  fill: #7dd3fc;
  rx: 1px;
  ry: 1px;
  transition: all 0.3s cubic-bezier(.2,.7,.2,1);
}

.net-node-group.ai:hover .node-ai-rect,
.net-node-group.ai:active .node-ai-rect {
  stroke: #ffffff;
  stroke-width: 3;
  filter: drop-shadow(0 0 16px #7dd3fc);
}

.net-node-label {
  font-family: Inter,system-ui,sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  fill: #cbd5e1;
  text-anchor: middle;
  transition: fill 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.net-node-label.mobile-lbl {
  font-size: 12.5px;
  font-weight: 600;
}

.pulse-human {
  fill: #ffd24a;
  filter: drop-shadow(0 0 8px #ffd24a);
}

.pulse-ai {
  fill: #7dd3fc;
  filter: drop-shadow(0 0 8px #7dd3fc);
  width: 7.5px;
  height: 7.5px;
  rx: 1.5px;
}

.cluster-zone {
  fill: rgba(255, 255, 255, 0.02);
  stroke: rgba(255, 255, 255, 0.07);
  stroke-dasharray: 4 4;
}

.cluster-label {
  font-family: Inter,system-ui,sans-serif;
  font-size: 10.5px;
  fill: #94a3b8;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
}
