:root {
  --van-floating-bubble-size: 48px;
  --van-floating-bubble-initial-gap: 24px;
  --van-floating-bubble-icon-size: 28px;
  --van-floating-bubble-background: var(--van-primary-color);
  --van-floating-bubble-color: var(--van-background-2);
  --van-floating-bubble-z-index: 999;
  --van-floating-bubble-border-radius: var(--van-radius-max);
}

.van-floating-bubble {
  position: fixed;
  left: 0;
  top: 0;
  right: var(--van-floating-bubble-initial-gap);
  bottom: var(--van-floating-bubble-initial-gap);
  width: var(--van-floating-bubble-size);
  height: var(--van-floating-bubble-size);
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
  touch-action: none;
  background: var(--van-floating-bubble-background);
  color: var(--van-floating-bubble-color);
  border-radius: var(--van-floating-bubble-border-radius);
  z-index: var(--van-floating-bubble-z-index);
  transition: transform var(--van-duration-base);

  &:active {
    opacity: 0.8;
  }

  &__icon {
    font-size: var(--van-floating-bubble-icon-size);
  }
}
