html.codex-animated .codex-hero-canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  background: transparent;
  position: relative;
  z-index: 1;
  pointer-events: none;
}

html.codex-animated .codex-liquid-host {
  overflow: hidden;
}

html.codex-animated .codex-liquid-fallback {
  position: absolute;
  inset: 18% -3% -1%;
  z-index: 0;
  pointer-events: none;
  animation: codex-liquid-fallback 9.5s ease-in-out infinite;
  transform-origin: center bottom;
  transform: translate3d(0, 0, 0);
  will-change: transform, opacity;
}

html.codex-animated .codex-liquid-fallback svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

html.codex-animated .codex-hero-rise {
  animation: codex-rise 720ms cubic-bezier(.22, 1, .36, 1) both;
}

html.codex-animated .codex-hero-soft {
  animation: codex-soft-pulse 5s ease-in-out infinite;
}

html.codex-animated .codex-hero-button {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}

html.codex-animated .codex-hero-button::after {
  content: "";
  position: absolute;
  inset: -35% -65%;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .75) 50%, transparent 65%);
  transform: translateX(-120%);
  animation: codex-button-shine 3.8s ease-in-out infinite;
  pointer-events: none;
}

html.codex-animated .codex-mini-canvas {
  background:
    radial-gradient(circle at 35% 40%, rgba(255, 255, 255, .72), transparent 17%),
    linear-gradient(135deg, rgba(0, 82, 255, .2), rgba(57, 190, 183, .3), rgba(255, 212, 0, .22));
  border-radius: 999px;
}

html.codex-animated .codex-liquid-card {
  transform: translateZ(0);
}

html.codex-animated .codex-liquid-card:nth-of-type(2n) {
  animation-delay: -2.2s;
}

html.codex-animated .codex-liquid-card:nth-of-type(3n) {
  animation-delay: -4.1s;
}

@keyframes codex-rise {
  from {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes codex-soft-pulse {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, -4px, 0);
  }
}

@keyframes codex-button-shine {
  0%, 42% {
    transform: translateX(-120%);
  }

  58%, 100% {
    transform: translateX(120%);
  }
}

@keyframes codex-liquid-fallback {
  0% {
    opacity: .97;
    transform: translate3d(-1.1%, .5%, 0) scale3d(1.025, 1.01, 1);
  }

  50% {
    opacity: 1;
    transform: translate3d(.9%, -1.1%, 0) scale3d(1.035, 1.018, 1);
  }

  100% {
    opacity: .98;
    transform: translate3d(-.5%, .6%, 0) scale3d(1.02, 1.006, 1);
  }
}

@keyframes codex-card-float {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, -6px, 0);
  }
}
