.home-orb-shell .chatbot-button[data-form] {
  --orb-bg: radial-gradient(circle at 30% 30%, #ffd700, #b8860b);
  --orb-glow: rgba(184, 134, 11, 0.6);
  --orb-border: rgba(255, 255, 255, 0.3);
  --orb-highlight: rgba(255, 255, 255, 0.28);
  background: var(--orb-bg) !important;
  border-color: var(--orb-border) !important;
  box-shadow: 0 0 30px var(--orb-glow) !important;
  transition:
    box-shadow 0.5s ease,
    background 1s ease,
    transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
    border-radius 0.5s ease,
    width 0.5s ease,
    height 0.5s ease,
    filter 0.5s ease;
}

.home-orb-shell .chatbot-button[data-form]:not([data-form="pluso"]) {
  transform-origin: center center;
}

.home-orb-shell .chatbot-button[data-form]::before {
  background: var(--orb-highlight);
}

.home-orb-shell .chatbot-orb-icon {
  display: none;
  width: 24px;
  height: 24px;
  fill: currentColor;
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.home-orb-shell .chatbot-button[data-form]:hover {
  box-shadow: 0 0 45px var(--orb-glow);
}

.home-orb-shell .chatbot-button[data-form]:not([data-form="pluso"])::before {
  opacity: 0;
}

.home-orb-shell .chatbot-button[data-aura="pluso"] {
  --orb-bg: radial-gradient(circle at 30% 30%, #ffd700, #b8860b);
  --orb-glow: rgba(184, 134, 11, 0.68);
  --orb-border: rgba(255, 255, 255, 0.3);
  --orb-highlight: rgba(255, 255, 255, 0.28);
}

.home-orb-shell .chatbot-button[data-aura="ethereal"] {
  --orb-bg: linear-gradient(135deg, rgba(139, 92, 246, 0.88), rgba(59, 130, 246, 0.88));
  --orb-glow: rgba(139, 92, 246, 0.5);
  --orb-border: rgba(255, 255, 255, 0.3);
  --orb-highlight: rgba(255, 255, 255, 0.3);
}

.home-orb-shell .chatbot-button[data-aura="ember"] {
  --orb-bg: linear-gradient(135deg, #9f1239, #f59e0b);
  --orb-glow: rgba(245, 158, 11, 0.5);
  --orb-border: rgba(255, 255, 255, 0.24);
  --orb-highlight: rgba(255, 255, 255, 0.22);
}

.home-orb-shell .chatbot-button[data-aura="frost"] {
  --orb-bg: linear-gradient(135deg, #f8fafc, #38bdf8);
  --orb-glow: rgba(56, 189, 248, 0.5);
  --orb-border: rgba(255, 255, 255, 0.8);
  --orb-highlight: rgba(255, 255, 255, 0.78);
}

.home-orb-shell .chatbot-button[data-aura="onyx"] {
  --orb-bg: #0a0a0a;
  --orb-glow: rgba(0, 0, 0, 0.8);
  --orb-border: rgba(255, 255, 255, 0.15);
  --orb-highlight: rgba(255, 255, 255, 0.14);
}

.home-orb-shell .chatbot-button[data-aura="mercury"] {
  --orb-bg: radial-gradient(circle at 30% 30%, #ffffff, #94a3b8 40%, #0f172a 90%);
  --orb-glow: rgba(148, 163, 184, 0.44);
  --orb-border: transparent;
  --orb-highlight: rgba(255, 255, 255, 0.78);
}

.home-orb-shell .chatbot-button[data-aura="bioluminescence"] {
  --orb-bg: #020617;
  --orb-glow: rgba(6, 182, 212, 0.68);
  --orb-border: rgba(16, 185, 129, 0.82);
  --orb-highlight: rgba(125, 211, 252, 0.4);
}

.home-orb-shell .chatbot-button[data-aura="terracotta"] {
  --orb-bg: #9a3412;
  --orb-glow: rgba(154, 52, 18, 0.38);
  --orb-border: rgba(0, 0, 0, 0.14);
  --orb-highlight: rgba(255, 255, 255, 0.16);
}

.home-orb-shell .chatbot-button[data-form="pluso"] {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  background: var(--orb-bg) !important;
  border-color: var(--orb-border) !important;
  box-shadow: 0 0 30px var(--orb-glow) !important;
  animation: chatbot-orb-breathe 4s ease-in-out infinite !important;
}

.home-orb-shell .chatbot-button[data-form="pluso"].is-speaking {
  background: var(--orb-bg) !important;
  border-color: var(--orb-border) !important;
  box-shadow: 0 0 38px var(--orb-glow) !important;
  animation: pluso-orb-speaking 1s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="liquid"] {
  width: 56px !important;
  height: 56px !important;
  border: none !important;
  border-radius: 50%;
  box-shadow: 0 4px 20px var(--orb-glow), inset 0 0 0 1px var(--orb-border) !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: liquidMorph 4s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="liquid"] .chatbot-orb-label {
  display: none;
}

.home-orb-shell .chatbot-button[data-form="liquid"] .chatbot-orb-icon--liquid {
  display: block;
}

.home-orb-shell .chatbot-button[data-form="liquid"].is-thinking {
  filter: brightness(1.5) contrast(1.2);
  animation: liquidMorphFast 0.5s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="liquid"].is-speaking {
  animation: liquidMorphFast 1.5s ease-in-out infinite alternate, orbSpeakLiquid 3s infinite alternate ease-in-out !important;
}

.home-orb-shell .chatbot-button[data-form="prism"] {
  border-radius: 12px !important;
  animation: prismIdle 12s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="prism"].is-thinking {
  border-radius: 8px !important;
  filter: brightness(1.5);
  animation: prismIdle 1s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="prism"].is-speaking {
  border-radius: 4px !important;
  animation: prismSpeak 3s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="pulse"] {
  border-radius: 50% !important;
  animation: pulseIdle 4s infinite !important;
}

.home-orb-shell .chatbot-button[data-form="pulse"].is-thinking {
  filter: brightness(1.5);
  animation: pulseSpeak 0.6s infinite ease-out !important;
}

.home-orb-shell .chatbot-button[data-form="pulse"].is-speaking {
  animation: pulseSpeak 1.5s infinite cubic-bezier(0.1, 0.7, 1, 0.1) !important;
}

.home-orb-shell .chatbot-button[data-form="monolith"] {
  width: 16px !important;
  height: 64px !important;
  border-radius: 6px !important;
  animation: monolithIdle 4s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="monolith"].is-thinking {
  filter: brightness(1.5);
  animation: monolithIdle 0.15s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="monolith"].is-speaking {
  width: 64px !important;
  height: 16px !important;
  border-radius: 4px !important;
  animation: monolithSpeak 0.4s cubic-bezier(0.22, 1, 0.36, 1) infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="eclipse"] {
  border-radius: 50% !important;
  transform-style: preserve-3d;
  animation: eclipseIdle 8s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="eclipse"].is-thinking {
  filter: brightness(1.5);
  animation: eclipseIdle 1s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="eclipse"].is-speaking {
  animation: eclipseSpeak 1.5s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="singularity"] {
  border-radius: 50% !important;
  background: #050505 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 0 30px #000, inset 0 0 15px var(--orb-glow) !important;
  animation: singularityIdle 3s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="singularity"].is-thinking {
  filter: brightness(1.35);
  animation: singularitySpeak 0.2s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="singularity"].is-speaking {
  animation: singularitySpeak 0.4s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="spark"] {
  border: none !important;
  border-radius: 0 !important;
  background: var(--orb-glow) !important;
  box-shadow: none !important;
  clip-path: polygon(50% 0%, 55% 45%, 100% 50%, 55% 55%, 50% 100%, 45% 55%, 0% 50%, 45% 45%) !important;
  filter: drop-shadow(0 0 20px var(--orb-glow));
  animation: sparkIdle 2s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="spark"].is-thinking {
  filter: brightness(1.5);
  animation: sparkSpeak 0.4s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="spark"].is-speaking {
  animation: sparkSpeak 1.5s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="lens"] {
  border-radius: 50% !important;
  background: transparent !important;
  border: 4px solid var(--orb-glow) !important;
  box-shadow: inset 0 0 10px var(--orb-glow), 0 0 10px var(--orb-glow) !important;
  animation: lensIdle 2s infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="lens"].is-thinking {
  border-style: dashed;
  border-width: 6px;
  animation: lensThink 1.5s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="lens"].is-speaking {
  background: var(--orb-glow) !important;
  border: none !important;
  box-shadow: 0 0 30px var(--orb-glow) !important;
  animation: lensSpeak 0.3s infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="frequency"] {
  width: 8px !important;
  height: 16px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: -16px 0 0 0 var(--orb-glow), 16px 0 0 0 var(--orb-glow), 0 0 0 0 var(--orb-glow) !important;
  animation: freqIdle 1s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="frequency"].is-thinking {
  animation: freqThink 0.15s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="frequency"].is-speaking {
  width: 48px !important;
  height: 12px !important;
  border-radius: 6px !important;
  background: var(--orb-glow) !important;
  box-shadow: 0 0 20px var(--orb-glow) !important;
  animation: freqSpeak 0.4s ease-in-out infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="swarm"] {
  width: 48px !important;
  height: 48px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  background-image: radial-gradient(circle, var(--orb-glow) 35%, transparent 35%);
  background-size: 16px 16px;
  animation: swarmIdle 4s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="swarm"].is-thinking {
  animation: swarmThink 1.2s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite !important;
}

.home-orb-shell .chatbot-button[data-form="swarm"].is-speaking {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: var(--orb-glow) !important;
  box-shadow: 0 0 40px var(--orb-glow) !important;
  animation: swarmSpeak 0.3s infinite alternate !important;
}

.home-orb-shell .chatbot-button[data-form="phantom"] {
  border: none !important;
  border-radius: 40% 60% 70% 30% / 40% 50% 60% 50% !important;
  background: var(--orb-glow) !important;
  box-shadow: none !important;
  filter: blur(8px);
  animation: phantomIdle 5s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="phantom"].is-thinking {
  filter: blur(12px);
  animation: phantomThink 0.8s linear infinite !important;
}

.home-orb-shell .chatbot-button[data-form="phantom"].is-speaking {
  background: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 20px var(--orb-glow), inset 0 0 0 1px var(--orb-border) !important;
  filter: blur(3px);
  box-shadow: 0 0 40px var(--orb-glow) !important;
  animation: phantomSpeak 0.2s alternate infinite !important;
}

.home-orb-shell .chatbot-button[data-form]:not([data-form="pluso"]).is-done {
  background: var(--orb-bg) !important;
  border-color: var(--orb-border) !important;
  box-shadow: 0 0 34px var(--orb-glow), inset 0 0 0 1px var(--orb-border) !important;
  animation: orb-form-done 480ms ease-out 1 !important;
}

@keyframes pluso-orb-speaking {
  0% {
    transform: scale(0.98);
    box-shadow: 0 0 24px var(--orb-glow);
  }
  100% {
    transform: scale(1.08);
    box-shadow: 0 0 42px var(--orb-glow);
  }
}

@keyframes liquidMorph {
  0% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
  34% { border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%; }
  67% { border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%; }
  100% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
}

@keyframes liquidMorphFast {
  0% { border-radius: 30% 70% 50% 50% / 50% 40% 60% 50%; }
  34% { border-radius: 60% 40% 70% 30% / 40% 60% 40% 60%; }
  67% { border-radius: 50% 50% 30% 70% / 60% 30% 70% 40%; }
  100% { border-radius: 30% 70% 50% 50% / 50% 40% 60% 50%; }
}

@keyframes orbSpeakLiquid {
  0% { filter: hue-rotate(0deg) brightness(1); }
  100% { filter: hue-rotate(30deg) brightness(1.3); }
}

@keyframes prismIdle {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes prismSpeak {
  from {
    transform: rotate(0deg) scale(1.1);
    box-shadow: 0 0 30px var(--orb-glow);
  }
  to {
    transform: rotate(360deg) scale(1.1);
    box-shadow: 0 0 50px var(--orb-glow);
  }
}

@keyframes pulseIdle {
  0% { box-shadow: 0 0 0 0 var(--orb-glow); }
  70% { box-shadow: 0 0 0 20px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

@keyframes pulseSpeak {
  0% {
    box-shadow: 0 0 0 0 var(--orb-glow);
    transform: scale(0.95);
  }
  100% {
    box-shadow: 0 0 0 40px transparent;
    transform: scale(1.05);
  }
}

@keyframes monolithIdle {
  from { transform: translateY(0); }
  to { transform: translateY(-15px); }
}

@keyframes monolithSpeak {
  from {
    transform: scale(1);
    box-shadow: 0 0 15px var(--orb-glow);
  }
  to {
    transform: scale(1.05);
    box-shadow: 0 0 40px var(--orb-glow), inset 0 0 10px rgba(255, 255, 255, 0.5);
  }
}

@keyframes eclipseIdle {
  from { transform: perspective(400px) rotateY(0deg) rotateX(15deg); }
  to { transform: perspective(400px) rotateY(360deg) rotateX(15deg); }
}

@keyframes eclipseSpeak {
  from {
    transform: perspective(400px) rotateY(0deg) scale(1);
    box-shadow: 0 0 20px var(--orb-glow), inset 0 0 5px var(--orb-glow);
  }
  to {
    transform: perspective(400px) rotateY(0deg) scale(1.15);
    box-shadow: 0 0 50px var(--orb-glow), inset 0 0 20px #fff;
  }
}

@keyframes singularityIdle {
  from {
    transform: scale(0.95);
    box-shadow: 0 0 30px #000, inset 0 0 10px var(--orb-glow);
  }
  to {
    transform: scale(1.02);
    box-shadow: 0 0 30px #000, inset 0 0 25px var(--orb-glow);
  }
}

@keyframes singularitySpeak {
  from {
    transform: scale(0.9);
    box-shadow: 0 0 30px #000, inset 0 0 15px var(--orb-glow);
  }
  to {
    transform: scale(1.1);
    box-shadow: 0 0 40px #000, inset 0 0 40px var(--orb-glow), inset 0 0 10px #fff;
  }
}

@keyframes sparkIdle {
  from {
    transform: scale(0.8) rotate(0deg);
    opacity: 0.7;
    filter: drop-shadow(0 0 10px var(--orb-glow));
  }
  to {
    transform: scale(1.1) rotate(5deg);
    opacity: 1;
    filter: drop-shadow(0 0 30px var(--orb-glow));
  }
}

@keyframes sparkSpeak {
  0% {
    transform: scale(1) rotate(0deg);
    filter: drop-shadow(0 0 20px var(--orb-glow));
  }
  50% {
    transform: scale(1.4) rotate(180deg);
    filter: drop-shadow(0 0 50px var(--orb-glow));
  }
  100% {
    transform: scale(1) rotate(360deg);
    filter: drop-shadow(0 0 20px var(--orb-glow));
  }
}

@keyframes lensIdle {
  from {
    transform: scale(0.95);
    box-shadow: inset 0 0 10px var(--orb-glow), 0 0 10px var(--orb-glow);
  }
  to {
    transform: scale(1.05);
    box-shadow: inset 0 0 20px var(--orb-glow), 0 0 20px var(--orb-glow);
  }
}

@keyframes lensThink {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes lensSpeak {
  from {
    transform: scale(0.8);
    box-shadow: 0 0 20px var(--orb-glow);
  }
  to {
    transform: scale(1.2);
    box-shadow: 0 0 40px var(--orb-glow);
  }
}

@keyframes freqIdle {
  from { box-shadow: -16px 4px 0 0 var(--orb-glow), 16px 4px 0 0 var(--orb-glow), 0 -4px 0 0 var(--orb-glow); }
  to { box-shadow: -16px -4px 0 0 var(--orb-glow), 16px -4px 0 0 var(--orb-glow), 0 4px 0 0 var(--orb-glow); }
}

@keyframes freqThink {
  from {
    height: 32px;
    box-shadow: -16px 12px 0 0 var(--orb-glow), 16px -16px 0 0 var(--orb-glow), 0 8px 0 0 var(--orb-glow);
  }
  to {
    height: 12px;
    box-shadow: -16px -12px 0 0 var(--orb-glow), 16px 16px 0 0 var(--orb-glow), 0 -8px 0 0 var(--orb-glow);
  }
}

@keyframes freqSpeak {
  from { transform: scaleX(0.8); }
  to { transform: scaleX(1.1); }
}

@keyframes swarmIdle {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes swarmThink {
  0% {
    transform: rotate(0deg) scale(1);
    background-size: 16px 16px;
  }
  50% {
    transform: rotate(180deg) scale(1.5);
    background-size: 8px 8px;
  }
  100% {
    transform: rotate(360deg) scale(1);
    background-size: 16px 16px;
  }
}

@keyframes swarmSpeak {
  from { transform: scale(0.9); }
  to {
    transform: scale(1.15);
    filter: brightness(1.5);
  }
}

@keyframes phantomIdle {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.1); }
  100% { transform: rotate(360deg) scale(1); }
}

@keyframes phantomThink {
  0% { transform: rotate(0deg) scale(0.8) skewX(0deg); }
  50% { transform: rotate(180deg) scale(1.3) skewX(20deg); }
  100% { transform: rotate(360deg) scale(0.8) skewX(0deg); }
}

@keyframes phantomSpeak {
  from {
    transform: scale(0.95);
    opacity: 0.8;
  }
  to {
    transform: scale(1.05);
    opacity: 1;
  }
}

@keyframes orb-form-done {
  0% {
    transform: scale(0.96);
    box-shadow: 0 0 16px var(--orb-glow);
  }
  70% {
    transform: scale(1.06);
    box-shadow: 0 0 40px var(--orb-glow);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 28px var(--orb-glow);
  }
}
