.topbar-coach-avatar,
.topbar-coach .coach-face{
  animation:ezcCoachBreathe 7.6s cubic-bezier(.45,0,.25,1) infinite;
  transform-origin:center;
  will-change:transform, filter, box-shadow;
}

.topbar-coach{
  transition:border-color .24s ease,box-shadow .24s ease,background .24s ease,transform .24s ease;
}

.topbar-coach-avatar{
  position:relative;
}

.topbar-coach-avatar::after{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:inherit;
  border:1px solid rgba(31,155,208,.22);
  box-shadow:0 0 0 0 rgba(35,182,166,0);
  opacity:.18;
  pointer-events:none;
}

.topbar-coach-avatar::after,
.topbar-coach .coach-face::after{
  animation:ezcCoachAura 7.6s cubic-bezier(.45,0,.25,1) infinite;
}

.topbar-coach-text,
.topbar-coach-action{
  transition:filter .22s ease,color .22s ease;
}

.topbar-coach.is-speaking .topbar-coach-avatar,
.topbar-coach.is-speaking .coach-face{
  animation:ezcCoachListen 1.22s cubic-bezier(.2,.7,.2,1);
  filter:saturate(1.12) brightness(1.035);
}

.topbar-coach.is-speaking{
  transform:translateY(-1px);
  border-color:rgba(31,155,208,.52)!important;
  box-shadow:0 14px 28px rgba(47,97,201,.16),inset 0 1px 0 rgba(255,255,255,.95);
}

.topbar-coach.is-speaking .topbar-coach-avatar::after{
  opacity:.72;
  animation:ezcCoachSignalRing 1.22s ease;
}

.topbar-coach.is-speaking .topbar-coach-avatar::before,
.topbar-coach.is-speaking .coach-face::before{
  animation:ezcCoachWarmGlow 1.1s ease;
}

.topbar-coach.is-speaking .topbar-coach-text,
.topbar-coach.is-speaking .topbar-coach-action{
  filter:saturate(1.08);
}

.topbar-coach-text.is-refreshing,
.topbar-coach-action.is-refreshing{
  animation:ezcCoachMessageIn .48s cubic-bezier(.2,.8,.2,1)!important;
}

.topbar-coach-status::before{
  animation:ezcCoachLivePulse 4.8s ease-in-out infinite;
}

@keyframes ezcCoachBreathe{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  28%{transform:translate3d(.3px,-.7px,0) scale(1.006)}
  58%{transform:translate3d(0,-1.1px,0) scale(1.014)}
  82%{transform:translate3d(-.2px,-.35px,0) scale(1.005)}
}

@keyframes ezcCoachListen{
  0%{transform:translate3d(0,0,0) scale(1)}
  24%{transform:translate3d(0,-1.8px,0) scale(1.035)}
  52%{transform:translate3d(.25px,-1px,0) scale(1.018)}
  78%{transform:translate3d(0,-.3px,0) scale(1.006)}
  100%{transform:translate3d(0,0,0) scale(1)}
}

@keyframes ezcCoachWarmGlow{
  0%{filter:brightness(1);opacity:.75}
  35%{filter:brightness(1.16) saturate(1.16);opacity:1}
  100%{filter:brightness(1);opacity:.78}
}

@keyframes ezcCoachAura{
  0%,100%{opacity:.16;transform:scale(1)}
  48%{opacity:.27;transform:scale(1.035)}
}

@keyframes ezcCoachSignalRing{
  0%{opacity:.16;transform:scale(.92);box-shadow:0 0 0 0 rgba(35,182,166,.18)}
  35%{opacity:.78;transform:scale(1.04);box-shadow:0 0 0 5px rgba(35,182,166,.12)}
  100%{opacity:.24;transform:scale(1);box-shadow:0 0 0 10px rgba(35,182,166,0)}
}

@keyframes ezcCoachLivePulse{
  0%,100%{transform:scale(1);opacity:.68}
  50%{transform:scale(1.18);opacity:.95}
}

@keyframes ezcCoachMessageIn{
  0%{opacity:.55;transform:translateY(3px)}
  58%{opacity:1;transform:translateY(-1px)}
  100%{opacity:1;transform:translateY(0)}
}

@media (prefers-reduced-motion:reduce){
  .topbar-coach-avatar,
  .topbar-coach .coach-face,
  .topbar-coach-avatar::after,
  .topbar-coach .coach-face::after,
  .topbar-coach-status::before,
  .topbar-coach-text.is-refreshing,
  .topbar-coach-action.is-refreshing{
    animation:none!important;
  }
  .topbar-coach.is-speaking{
    transform:none;
  }
}
