.pulsebot-widget{
  position:fixed;
  left:24px;
  bottom:18px;
  width:220px;
  height:220px;
  z-index:99970;
  user-select:none;
  touch-action:none;
  cursor:grab;
  pointer-events:auto;
  --pulsebot-scale:1;
}

.pulsebot-widget.is-dragging{
  cursor:grabbing;
  z-index:99999;
}

.pulsebot-widget__shadow{
  position:absolute;
  left:54px;
  right:54px;
  bottom:8px;
  height:18px;
  border-radius:50%;
  background:rgba(0,0,0,.2);
  filter:blur(8px);
  transform:scaleX(1.05);
}

.pulsebot-widget__img{
  position:absolute;
  inset:0;
  width:220px;
  height:220px;
  object-fit:contain;
  transform:scale(var(--pulsebot-scale));
  transform-origin:center bottom;
  filter:drop-shadow(0 14px 14px rgba(0,0,0,.16));
  image-rendering:auto;
}

.pulsebot-widget__bubble{
  position:absolute;
  left:108px;
  bottom:172px;
  min-width:86px;
  max-width:155px;
  padding:8px 10px;
  border-radius:14px 14px 14px 4px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  opacity:0;
  transform:translateY(6px);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}

.pulsebot-widget.show-bubble .pulsebot-widget__bubble{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:760px){
  .pulsebot-widget{
    width:170px;
    height:170px;
    left:10px;
    bottom:10px;
  }

  .pulsebot-widget__img{
    width:170px;
    height:170px;
  }

  .pulsebot-widget__shadow{
    left:42px;
    right:42px;
  }

  .pulsebot-widget__bubble{
    left:82px;
    bottom:132px;
  }
}

