/* One star, pulse ring, orbit and halo for every creation workspace empty state. */
body.ai-chat-mode #ai-chat-window .ai-unified-intro-stage {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

body.ai-chat-mode #ai-chat-window .ai-unified-intro-stage::before {
  content: "" !important;
  position: absolute !important;
  inset: auto !important;
  z-index: 0 !important;
  top: 50% !important;
  left: 50% !important;
  display: block !important;
  width: 250px !important;
  height: 160px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(72, 205, 179, .11) 0%, rgba(72, 205, 179, .045) 38%, transparent 72%) !important;
  box-shadow: none !important;
  filter: blur(11px) !important;
  opacity: .62;
  pointer-events: none !important;
  transform: translate(-50%, -61%) scale(.9);
  animation: ai-unified-intro-halo 5.6s ease-in-out infinite !important;
}

body.ai-chat-mode #ai-chat-window .ai-unified-intro-stage > .ai-unified-intro-mark {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(111, 221, 198, .3) !important;
  border-radius: 50% !important;
  color: rgba(139, 238, 216, .96) !important;
  background: rgba(61, 157, 143, .12) !important;
  box-shadow: 0 0 24px rgba(72, 205, 179, .1) !important;
  font: 400 20px/1 Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  animation: ai-unified-intro-core 2.8s ease-in-out infinite !important;
}

body.ai-chat-mode #ai-chat-window .ai-unified-intro-mark::before,
body.ai-chat-mode #ai-chat-window .ai-unified-intro-mark::after {
  content: "" !important;
  position: absolute !important;
  z-index: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  mask: none !important;
  -webkit-mask: none !important;
  pointer-events: none !important;
}

body.ai-chat-mode #ai-chat-window .ai-unified-intro-mark::before {
  inset: -8px !important;
  border: 1px solid rgba(112, 226, 203, .28) !important;
  animation: ai-unified-intro-pulse-ring 3.2s ease-out infinite !important;
}

body.ai-chat-mode #ai-chat-window .ai-unified-intro-mark::after {
  inset: -5px !important;
  border: 1px solid transparent !important;
  border-top-color: rgba(151, 242, 222, .72) !important;
  border-right-color: rgba(91, 206, 183, .18) !important;
  animation: ai-unified-intro-orbit 6.8s linear infinite !important;
}

body.ai-chat-mode #ai-chat-window .ai-unified-intro-stage > :not(.ai-unified-intro-mark) {
  position: relative;
  z-index: 2;
}

/* The shared stage supplies the halo, so Kling must not add a second one. */
body.ai-chat-mode #ai-chat-window .kling-stage-canvas:has(.ai-unified-intro-stage)::before {
  content: none !important;
  animation: none !important;
}

@keyframes ai-unified-intro-core {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

@keyframes ai-unified-intro-pulse-ring {
  0% { opacity: 0; transform: scale(.86); }
  18% { opacity: .66; }
  72%, 100% { opacity: 0; transform: scale(1.5); }
}

@keyframes ai-unified-intro-orbit {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes ai-unified-intro-halo {
  0%, 100% { opacity: .48; transform: translate(-50%, -61%) scale(.88); }
  50% { opacity: .78; transform: translate(-50%, -61%) scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  body.ai-chat-mode #ai-chat-window .ai-unified-intro-stage::before,
  body.ai-chat-mode #ai-chat-window .ai-unified-intro-stage > .ai-unified-intro-mark,
  body.ai-chat-mode #ai-chat-window .ai-unified-intro-mark::before,
  body.ai-chat-mode #ai-chat-window .ai-unified-intro-mark::after {
    animation: none !important;
  }
}
