/** Homepage robot character adapted from the supplied standalone nbt-bot-demo.html. */
.nbt-bot-stage{
  position:relative;
  display:grid;
  width:clamp(150px,18vw,220px);
  aspect-ratio:1;
  place-items:center;
  overflow:visible;
  isolation:isolate;
}
.nbt-bot-halo{
  position:absolute;
  width:145%;
  height:145%;
  border-radius:50%;
  background:radial-gradient(circle,#8275ff30,transparent 70%);
  filter:blur(12px);
  pointer-events:none;
}
.nbt-bot-ring{
  position:absolute;
  width:93%;
  height:93%;
  border:1px solid #79dbff88;
  border-radius:50%;
  opacity:0;
  pointer-events:none;
}
.nbt-bot-character{
  position:relative;
  z-index:1;
  width:100%;
  filter:drop-shadow(0 24px 15px #0008);
  transform-origin:50% 60%;
  animation:nbt-bot-float 3.4s ease-in-out infinite;
}
.nbt-bot-svg{
  display:block;
  width:100%;
  overflow:visible;
}
.nbt-bot-eye{
  filter:drop-shadow(0 0 5px currentColor);
  transform-box:fill-box;
  transform-origin:center;
}
.nbt-bot-mouth{
  fill:none;
  stroke-width:3.5;
  stroke-linecap:round;
}
.nbt-bot-character[data-state="searching"]{
  animation:nbt-bot-search 2.2s ease-in-out infinite;
}
.nbt-bot-character[data-state="searching"] .nbt-bot-eye{
  animation:nbt-bot-blink 1.2s ease-in-out infinite;
}
.nbt-bot-character[data-state="searching"]~.nbt-bot-ring{
  animation:nbt-bot-ring 1.7s linear infinite;
}
.nbt-bot-character[data-state="success"]{
  animation:nbt-bot-happy .65s ease-in-out 2,nbt-bot-float 3.4s ease-in-out 1.3s infinite;
}
.nbt-bot-character[data-state="failure"]{
  animation:nbt-bot-sad .65s ease-in-out 2,nbt-bot-float 3.4s ease-in-out 1.3s infinite;
}
.nbt-bot-character[data-state="attention"]{
  animation:nbt-bot-tilt 1.5s ease-in-out infinite;
}
.nbt-bot-character[data-state="sleeping"]{
  animation:nbt-bot-float 5s ease-in-out infinite;
  filter:brightness(.65) drop-shadow(0 24px 15px #0008);
}
@keyframes nbt-bot-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-9px)}
}
@keyframes nbt-bot-blink{
  0%,44%,56%,100%{transform:scaleY(1)}
  50%{transform:scaleY(.1)}
}
@keyframes nbt-bot-search{
  0%,100%{transform:rotate(-7deg) translateY(0)}
  50%{transform:rotate(7deg) translateY(-6px)}
}
@keyframes nbt-bot-happy{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-19px) scale(1.07)}
}
@keyframes nbt-bot-sad{
  0%,100%{transform:rotate(0)}
  50%{transform:rotate(-11deg) translateY(5px)}
}
@keyframes nbt-bot-tilt{
  0%,100%{transform:rotate(0)}
  50%{transform:rotate(13deg)}
}
@keyframes nbt-bot-ring{
  from{transform:scale(.7);opacity:.8}
  to{transform:scale(1.5);opacity:0}
}
@media(max-width:850px){
  .nbt-bot-stage{width:112px}
}
@media(max-width:620px){
  .nbt-bot-stage{width:104px}
}
@media(prefers-reduced-motion:reduce){
  .nbt-bot-character,
  .nbt-bot-character *,
  .nbt-bot-ring{
    animation:none!important;
    transition:none!important;
  }
}
