/* Eccentryx God-Kernel Atlas Visual System & Clinical Override */
:root {
  /* Neutralize legacy neon across the cascade */
  --color-neon-base: #0d0e12;
  --bg-app: #0d0e12;
  --bg-surface: #12141a;
  
  /* Precision clinical accents */
  --accent-cyan: #00e5ff;
  --accent-magenta: #ff007f;
  --accent-red: #ff3b30;
  --vector-gravity: #ff3b30;
  --vector-effort: #00e5ff;
}

/* Hyper-clinical wireframe overrides */
body {
  background-color: var(--bg-app);
}

/* Biomechanical SVG Animations */
@keyframes pulse-active-muscle {
  0% { filter: drop-shadow(0 0 2px var(--accent-cyan)) brightness(1); }
  50% { filter: drop-shadow(0 0 10px var(--accent-cyan)) brightness(1.2); }
  100% { filter: drop-shadow(0 0 2px var(--accent-cyan)) brightness(1); }
}

@keyframes trace-force-vector {
  0% { stroke-dashoffset: 100; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { stroke-dashoffset: -100; opacity: 0; }
}

@keyframes breath-loop {
  0% { transform: scale(1); }
  50% { transform: scale(1.02); }
  100% { transform: scale(1); }
}

/* Utility classes bound to atlas_visual_assets.js */
.anim-muscle-active {
  animation: pulse-active-muscle 2.5s ease-in-out infinite;
  transform-origin: center;
}

.anim-muscle-secondary {
  animation: pulse-active-muscle 2.5s ease-in-out infinite;
  animation-delay: 1.25s;
  transform-origin: center;
  opacity: 0.7;
}

.anim-vector-down {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: trace-force-vector 3s linear infinite;
}

.anim-vector-up {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: trace-force-vector 3s linear infinite reverse;
}

.anim-breath {
  animation: breath-loop 4s ease-in-out infinite;
  transform-origin: center 120px;
}

/* God-Kernel Kinematic Morphs */
@keyframes press-concentric {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(22px); }
}

@keyframes hinge-pivot {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-18deg); }
}

@keyframes lat-raise-sweep {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(85deg); }
}

@keyframes lat-raise-sweep-right {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-85deg); }
}

.anim-press-concentric {
  animation: press-concentric 3.5s ease-in-out infinite;
}

.anim-hinge-pivot {
  animation: hinge-pivot 3.5s ease-in-out infinite;
  transform-origin: 147px 128px;
}

.anim-lat-raise-sweep {
  animation: lat-raise-sweep 3.5s ease-in-out infinite;
  transform-origin: 176px 101px;
}

.anim-lat-raise-sweep-right {
  animation: lat-raise-sweep-right 3.5s ease-in-out infinite;
  transform-origin: 184px 101px;
}

/* Scrubbing Logic for God-Kernel DOM Binding */
.atlas-card:hover [class^="anim-"] {
  animation-play-state: paused !important;
  animation-delay: calc(var(--scrub, 0.5) * -3.5s) !important;
}

.atlas-card:hover .anim-vector-down,
.atlas-card:hover .anim-vector-up {
  animation-delay: calc(var(--scrub, 0.5) * -3s) !important;
}
