/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Marketing motion — the brain-hub choreography (agents take turns
   connecting; memory dots stay home). Phase-offset keyframe pairs are
   unreadable as arbitrary utilities, so they live here. Everything
   respects prefers-reduced-motion. */
@keyframes brain-flow { to { stroke-dashoffset: -12; } }
@keyframes brain-hold-a { 0%, 42% { opacity: 1; } 50%, 92% { opacity: .12; } 100% { opacity: 1; } }
@keyframes brain-hold-b { 0%, 42% { opacity: .12; } 50%, 92% { opacity: 1; } 100% { opacity: .12; } }
@keyframes brain-lean-a { 0%, 42% { transform: translateX(7px); } 50%, 92% { transform: translateX(-3px); } 100% { transform: translateX(7px); } }
@keyframes brain-lean-b { 0%, 42% { transform: translateX(3px); } 50%, 92% { transform: translateX(-7px); } 100% { transform: translateX(3px); } }
@keyframes brain-bob { 50% { transform: translateY(-3px); } }

.brain-conn { opacity: .18; }
.brain-conn-a { animation: brain-flow 1.1s linear infinite, brain-hold-a 8s ease-in-out infinite; }
.brain-conn-b { animation: brain-flow 1.1s linear infinite, brain-hold-b 8s ease-in-out infinite; }
.brain-agent, .brain-mem { transform-box: fill-box; transform-origin: center; }
.brain-agent-a { animation: brain-lean-a 8s ease-in-out infinite; }
.brain-agent-b { animation: brain-lean-b 8s ease-in-out infinite; }
.brain-mem { animation: brain-bob 2.4s ease-in-out infinite; }
.brain-mem.m2 { animation-delay: .3s; }
.brain-mem.m3 { animation-delay: .6s; }
.brain-mem.m4 { animation-delay: .9s; }

@media (prefers-reduced-motion: reduce) {
  .brain-conn, .brain-agent, .brain-mem { animation: none !important; }
  .brain-conn { opacity: .7; }
}
