/* Intro "muitos agentes viram um": pares de olhos espalhados viajam até o c com ritmo de "digitando…"
   (bolinhas quicando em sequência), diminuem, desaceleram, param e se fundem nos olhos do c. */
.cm-intro .cm-swarm{fill:var(--cm-cyan,#C026D3)}
.cm-intro .cm-pair{transform-box:fill-box;transform-origin:center;animation:cm-swarm 2.1s linear var(--d) both}
.cm-intro .cm-pair circle{transform-box:fill-box;transform-origin:center;animation:cm-wave 1.3s ease-in-out calc(var(--d) + var(--b) + .15s) both}
.cm-intro .cm-pair circle+circle{animation-delay:calc(var(--d) + var(--b) + .3s)}
.cm-intro .cm-eye{transform-box:fill-box;transform-origin:center;animation:cm-eyes-in 3s ease-out both,cm-hop .4s ease-in-out 2.05s}
.cm-intro .cm-eye+.cm-eye{animation:cm-eyes-in 3s ease-out both,cm-hop .4s ease-in-out 2.2s}
.cm-intro .cm-c{transform-box:fill-box;transform-origin:60% 50%;animation:cm-c-in 3s cubic-bezier(.3,0,.2,1) both}
.cm-intro .cm-word{animation:cm-word-in 3s cubic-bezier(.3,0,.2,1) both}
@keyframes cm-swarm{
  0%{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0;animation-timing-function:cubic-bezier(.3,1.4,.6,1)}
  12%{transform:translate(var(--dx),var(--dy)) scale(var(--s));opacity:1;animation-timing-function:cubic-bezier(.33,0,.15,1)}
  88%{transform:translate(0,0) scale(1);opacity:1}
  94%{transform:translate(0,0) scale(1);opacity:1}
  100%{transform:translate(0,0) scale(1);opacity:0}}
/* "digitando…": sobe/desce com leve escala e opacidade (propriedades translate/scale, independentes do transform do piscar) */
@keyframes cm-type{0%,60%,100%{translate:0 0;scale:.88;opacity:.6}30%{translate:0 -55px;scale:1;opacity:1}}
@keyframes cm-wave{0%,20%,50%,80%,100%{translate:0 0;scale:.88;opacity:.65}10%{translate:0 -55px;scale:1;opacity:1}40%{translate:0 -38px;scale:1;opacity:1}70%{translate:0 -18px;scale:1;opacity:1}100%{scale:1;opacity:1}}
@keyframes cm-hop{0%,100%{translate:0 0}45%{translate:0 -38px}}
@keyframes cm-eyes-in{0%,63%{opacity:0;transform:scaleY(1)}67%{opacity:1}88%{transform:scaleY(1)}91%{transform:scaleY(.1)}95%,100%{opacity:1;transform:scaleY(1)}}
@keyframes cm-c-in{0%,60%{opacity:0;transform:scale(.55)}72%{opacity:1;transform:scale(1.04)}80%,100%{opacity:1;transform:scale(1)}}
@keyframes cm-word-in{0%,66%{opacity:0;transform:translateX(-60px)}86%,100%{opacity:1;transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){
  .cm-intro .cm-swarm{display:none}
  .cm-intro .cm-eye,.cm-intro .cm-eye+.cm-eye,.cm-intro .cm-c,.cm-intro .cm-word{animation:none}}
/* o piscar de tema (comenta-logo-blink.css) vence o intro se o tema mudar durante a intro */
.cm-logo.cm-intro.cm-blink .cm-eye{animation:cm-blink 250ms ease-in-out}
