.blob-container {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}

.blob-container.is-active {
  visibility: visible;
}

.blob-main {
  pointer-events: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: transparent;
  user-select: none;
}

.blob {
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
}

.inner-dot {
  position: absolute;
}

html.has-blob-cursor,
html.has-blob-cursor * {
  cursor: none !important;
}

html.has-blob-cursor .hero-dot-hit,
html.has-blob-cursor .hero-dot-hit * {
  cursor: default !important;
}

.hero-dot-hit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  margin: -17px 0 -17px -17px;
  cursor: default;
  pointer-events: auto;
  touch-action: manipulation;
}

.hero-dot-hit .hero-dot {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  .blob-container {
    display: none !important;
  }
}
