/* ================================================================
   PaieMap Viz Modules — Shared Styles
   Usage: <link rel="stylesheet" href="modules/viz.css">
   ================================================================ */

.paiemap-viz {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, Arial, sans-serif;
}
.paiemap-viz svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Optional aspect-ratio presets — add to container */
.paiemap-viz--4x3  { aspect-ratio: 4 / 3; }
.paiemap-viz--16x9 { aspect-ratio: 16 / 9; }
.paiemap-viz--wide { aspect-ratio: 2 / 1; }

/* Subtle entrance animation */
@keyframes pmviz-fadein {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.paiemap-viz svg {
  animation: pmviz-fadein .5s ease-out both;
}

/* Primary node pulse (graph module) */
@keyframes pmviz-pulse {
  0%, 100% { opacity: .92; }
  50%      { opacity: 1; filter: brightness(1.08); }
}
.pmviz-primary-pulse {
  animation: pmviz-pulse 3s ease-in-out infinite;
}
