/* Kimi Motion: isolated SVG/CSS ambience for the Home mascot. */
.kimi-motion-stage {
  --kimi-pointer-x: 0px;
  --kimi-pointer-y: 0px;
  --kimi-pointer-r: 0deg;
  isolation: isolate;
  overflow: hidden;
  box-shadow: 0 18px 38px rgba(4, 8, 28, .28), inset 0 1px 0 rgba(255, 255, 255, .08);
  transition: border-color .3s ease, box-shadow .3s ease;
}

.kimi-motion-stage::before,
.kimi-motion-stage::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 72%;
  height: 72%;
  border-radius: 50%;
  filter: blur(18px);
  opacity: .48;
  pointer-events: none;
}

.kimi-motion-stage::before {
  top: -32%;
  left: -26%;
  background: radial-gradient(circle, rgba(139, 115, 255, .86), transparent 70%);
}

.kimi-motion-stage::after {
  right: -30%;
  bottom: -34%;
  background: radial-gradient(circle, rgba(75, 207, 255, .78), transparent 70%);
}

.kimi-motion-stage:hover {
  border-color: rgba(185, 181, 255, .34);
  box-shadow: 0 22px 48px rgba(4, 8, 28, .34), 0 0 34px rgba(75, 207, 255, .1), inset 0 1px 0 rgba(255, 255, 255, .1);
}

.kimi-motion-stage:focus-visible {
  outline: 3px solid rgba(143, 210, 255, .46);
  outline-offset: 4px;
}

.kimi-motion-scene {
  position: absolute;
  inset: -8%;
  width: 116%;
  height: 116%;
  overflow: visible;
  pointer-events: none;
  transform-origin: 350px 350px;
}

.kimi-motion-scene-back { z-index: 1; }
.kimi-motion-scene-front { z-index: 4; }

.kimi-motion-stage :is(
  .v3-kimi-state,
  .ia2-kimi-state,
  .qa2-kimi-state,
  .ac2-kimi-state
) {
  z-index: 3;
  display: block;
  opacity: 0;
  transform: translate3d(var(--kimi-pointer-x), var(--kimi-pointer-y), 0) rotate(var(--kimi-pointer-r)) scale(.965);
  translate: 0 4px;
  filter: drop-shadow(0 14px 13px rgba(78, 55, 190, .22)) drop-shadow(0 0 10px rgba(111, 207, 255, .12));
  transition: opacity .42s ease, transform .55s cubic-bezier(.2, .8, .2, 1), filter .5s ease;
  animation: kimi-motion-float 5.4s ease-in-out infinite;
  will-change: transform, translate, opacity;
}

.kimi-motion-stage[data-state="idle"] :is(.v3-kimi-idle, .ia2-kimi-idle, .qa2-kimi-idle, .ac2-kimi-idle),
.kimi-motion-stage[data-state="thinking"] :is(.v3-kimi-thinking, .ia2-kimi-thinking, .qa2-kimi-thinking, .ac2-kimi-thinking),
.kimi-motion-stage[data-state="success"] :is(.v3-kimi-success, .ia2-kimi-success, .qa2-kimi-success, .ac2-kimi-success) {
  opacity: 1;
  transform: translate3d(var(--kimi-pointer-x), var(--kimi-pointer-y), 0) rotate(var(--kimi-pointer-r)) scale(1);
}

.kimi-motion-aura-outer { animation: kimi-motion-breathe 5s ease-in-out infinite; }
.kimi-motion-aura-inner { stroke-dasharray: 4 14; animation: kimi-motion-rotate 17s linear infinite; }
.kimi-motion-orbit-back { animation: kimi-motion-rotate 16s linear infinite; }
.kimi-motion-orbit-front,
.kimi-motion-orbit-glint { animation: kimi-motion-orbit-glide 7s ease-in-out infinite; }
.kimi-motion-particles { animation: kimi-motion-particles 8s ease-in-out infinite; }
.kimi-motion-analysis,
.kimi-motion-rays { opacity: 0; transition: opacity .55s ease; }

.kimi-motion-stage[data-state="thinking"] .kimi-motion-analysis {
  opacity: .62;
  animation: kimi-motion-rotate 8s linear infinite;
}

.kimi-motion-stage[data-state="thinking"] .kimi-motion-orbit-back {
  animation-duration: 9s;
}

.kimi-motion-stage[data-state="success"] .kimi-motion-rays {
  opacity: .92;
  animation: kimi-motion-rays 1.8s ease-in-out infinite;
}

.kimi-motion-stage[data-state="success"] .kimi-motion-particles {
  animation-duration: 2.6s;
}

.kimi-motion-shadow {
  position: absolute;
  z-index: 2;
  bottom: 11%;
  left: 50%;
  width: 46%;
  height: 9%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(109, 83, 246, .62), rgba(75, 207, 255, .14) 46%, transparent 74%);
  filter: blur(5px);
  transform: translateX(-50%);
  animation: kimi-motion-shadow 5.4s ease-in-out infinite;
  pointer-events: none;
}

.v3-command-kimi img {
  animation: kimi-motion-command-float 6s ease-in-out infinite;
}

@keyframes kimi-motion-float {
  0%, 100% { translate: 0 4px; }
  50% { translate: 0 -4px; }
}

@keyframes kimi-motion-command-float {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-5px) rotate(.8deg); }
}

@keyframes kimi-motion-shadow {
  0%, 100% { opacity: .68; scale: 1; }
  50% { opacity: .42; scale: .84; }
}

@keyframes kimi-motion-breathe {
  0%, 100% { opacity: .68; transform: scale(.97); }
  50% { opacity: 1; transform: scale(1.045); }
}

@keyframes kimi-motion-rotate { to { transform: rotate(360deg); } }

@keyframes kimi-motion-orbit-glide {
  0%, 100% { opacity: .56; transform: translateY(0); }
  50% { opacity: .92; transform: translateY(-5px); }
}

@keyframes kimi-motion-particles {
  0%, 100% { transform: translate(0, 0) rotate(0); }
  50% { transform: translate(6px, -10px) rotate(4deg); }
}

@keyframes kimi-motion-rays {
  0%, 100% { opacity: .35; transform: scale(.94); }
  50% { opacity: 1; transform: scale(1.045); }
}

@media (prefers-reduced-motion: reduce) {
  .kimi-motion-stage *,
  .kimi-motion-stage *::before,
  .kimi-motion-stage *::after,
  .v3-command-kimi img {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
