/* V33 PNSS AI launcher: one self-contained transparent robot treatment. */
.ai-launcher {
  position: fixed !important;
  z-index: 90 !important;
  right: 8px !important;
  bottom: 0 !important;
  display: block !important;
  width: 178px !important;
  height: 210px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.ai-launcher:hover { transform: translateY(-4px); }
.ai-robot-stage {
  position: relative !important;
  display: block !important;
  width: 178px !important;
  height: 210px !important;
  overflow: visible !important;
  animation: pnssRobotBreathing 3.6s ease-in-out infinite;
  transform-origin: 50% 90%;
}
.ai-launcher-robot {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: pnssRobotHeadShake 4.8s ease-in-out infinite;
  transform-origin: 50% 54%;
}
.ai-robot-body-label {
  position: absolute !important;
  left: 50% !important;
  top: 58% !important;
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  width: max-content !important;
  transform: translate(-50%, -50%) perspective(140px) rotateX(-18deg) scaleY(.9) !important;
  color: #1267f3 !important;
  font-family: var(--font-sora), Arial, sans-serif !important;
  font-size: .88rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .015em !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  filter: none !important;
}
.ai-robot-body-label > span {
  display: inline-block !important;
  background: linear-gradient(180deg, #5eb1ff 0%, #1267f3 52%, #073eaa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  text-shadow: 0 1px 0 rgba(7,62,170,.75), 0 2px 2px rgba(4,35,100,.42) !important;
}
.ai-robot-body-label > span:nth-child(1) { transform: translateY(2px) rotate(-9deg); }
.ai-robot-body-label > span:nth-child(2) { transform: translateY(0) rotate(-4deg); }
.ai-robot-body-label > span:nth-child(3) { transform: translateY(-1px); }
.ai-robot-body-label > span:nth-child(4) { transform: translateY(-1px) rotate(4deg); }
.ai-robot-body-label > span:nth-child(6) { transform: translateY(0) rotate(5deg); }
.ai-robot-body-label > span:nth-child(7) { transform: translateY(2px) rotate(9deg); }
.ai-robot-eye-glint {
  position: absolute !important;
  left: 35% !important;
  top: 29% !important;
  width: 30% !important;
  height: 9% !important;
  border-radius: 999px !important;
  background: #8deaff !important;
  opacity: .08;
  filter: blur(2px);
  animation: pnssRobotBlink 4.8s ease-in-out infinite;
  pointer-events: none;
}
.ai-launcher-label, .ai-launcher-pulse, .ai-launcher-mark,
.ai-launcher small, .ai-robot-head { display: none !important; }
@keyframes pnssRobotBreathing {
  0%, 100% { transform: translateY(0); }
  42% { transform: translateY(-2px); }
  58% { transform: translateY(0); }
}
@keyframes pnssRobotHeadShake {
  0%, 35%, 100% { transform: translateX(0); }
  40% { transform: translateX(-2px); }
  45% { transform: translateX(2px); }
  50% { transform: translateX(-1px); }
  55% { transform: translateX(0); }
}
@keyframes pnssRobotBlink {
  0%, 44%, 48%, 100% { opacity: .08; transform: scaleY(1); }
  46% { opacity: .8; transform: scaleY(.15); }
}
@media (prefers-reduced-motion: reduce) {
  .ai-robot-stage, .ai-launcher-robot, .ai-robot-eye-glint { animation: none; }
}
@media (max-width: 620px) {
  .ai-launcher { width: 142px !important; height: 168px !important; right: 0 !important; bottom: -2px !important; }
  .ai-robot-stage { width: 142px !important; height: 168px !important; }
  .ai-robot-body-label { font-size: .7rem !important; }
}
