.fw193-vis {
  --fw193-vis-blue: #2563ff;
  --fw193-vis-blue-strong: #1748c7;
  --fw193-vis-blue-soft: #eaf1ff;
  --fw193-vis-polar: #f5f8ff;
  --fw193-vis-ink: #12213f;
  --fw193-vis-muted: #61708c;
  --fw193-vis-line: #c9d7f4;
  --fw193-vis-green: #15836d;
  position: relative;
  width: 100%;
  color: var(--fw193-vis-ink);
  font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.fw193-vis svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.fw193-vis__surface {
  fill: rgba(255, 255, 255, 0.96);
  stroke: var(--fw193-vis-line);
  stroke-width: 1.7;
}

.fw193-vis__polar { fill: var(--fw193-vis-polar); }
.fw193-vis__blue-soft { fill: var(--fw193-vis-blue-soft); }
.fw193-vis__blue { fill: var(--fw193-vis-blue); }
.fw193-vis__green-soft { fill: #e9f7f2; }
.fw193-vis__line,
.fw193-vis__icon {
  fill: none;
  stroke: var(--fw193-vis-blue);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fw193-vis__line--quiet { stroke: var(--fw193-vis-line); }
.fw193-vis__line--green { stroke: var(--fw193-vis-green); }
.fw193-vis__line--strong { stroke: var(--fw193-vis-blue-strong); }
.fw193-vis__dash { stroke-dasharray: 5 8; }

.fw193-vis__label {
  fill: var(--fw193-vis-ink);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.fw193-vis__meta {
  fill: var(--fw193-vis-muted);
  font-size: 18px;
  font-weight: 500;
}
.fw193-vis__micro {
  fill: var(--fw193-vis-muted);
  font-size: 16px;
  font-weight: 500;
}

.fw193-vis__node {
  transform-box: fill-box;
  transform-origin: center;
}
.fw193-vis__motion,
.fw193-vis__pulse,
.fw193-vis__draw,
.fw193-vis__float,
.fw193-vis__check {
  animation-play-state: paused !important;
}
.fw193-vis[data-visible="true"]:not([data-paused="true"]) .fw193-vis__motion,
.fw193-vis[data-visible="true"]:not([data-paused="true"]) .fw193-vis__pulse,
.fw193-vis[data-visible="true"]:not([data-paused="true"]) .fw193-vis__draw,
.fw193-vis[data-visible="true"]:not([data-paused="true"]) .fw193-vis__float,
.fw193-vis[data-visible="true"]:not([data-paused="true"]) .fw193-vis__check {
  animation-play-state: running !important;
}
.fw193-vis__pulse { animation: fw193-vis-pulse 3.8s ease-in-out infinite; }
.fw193-vis__float { animation: fw193-vis-float 4.6s ease-in-out infinite; }
.fw193-vis__draw {
  stroke-dasharray: 10 9;
  animation: fw193-vis-draw 2.8s linear infinite;
}
.fw193-vis__check {
  stroke-dasharray: 34;
  stroke-dashoffset: 34;
  animation: fw193-vis-check 4.2s ease-in-out infinite;
}
.fw193-vis__motion { animation: fw193-vis-travel 4.8s ease-in-out infinite; }
.fw193-vis__delay-1 { animation-delay: -0.8s; }
.fw193-vis__delay-2 { animation-delay: -1.6s; }
.fw193-vis__delay-3 { animation-delay: -2.4s; }
.fw193-vis__delay-4 { animation-delay: -3.2s; }

@keyframes fw193-vis-pulse {
  0%, 100% { opacity: 0.55; transform: scale(0.96); }
  45% { opacity: 1; transform: scale(1.04); }
}
@keyframes fw193-vis-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
@keyframes fw193-vis-draw {
  to { stroke-dashoffset: -38; }
}
@keyframes fw193-vis-check {
  0%, 38% { stroke-dashoffset: 34; opacity: 0; }
  48%, 88% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
@keyframes fw193-vis-travel {
  0%, 12% { opacity: 0; transform: translateX(-18px); }
  25%, 70% { opacity: 1; }
  88%, 100% { opacity: 0; transform: translateX(18px); }
}

@media (prefers-reduced-motion: reduce) {
  .fw193-vis *,
  .fw193-vis *::before,
  .fw193-vis *::after {
    animation: none !important;
    transition: none !important;
  }
  .fw193-vis__check { stroke-dashoffset: 0; opacity: 1; }
}
