:root {
  --loading-bg: #000;
  --loading-accent: #fc2f70;
  --loading-blur: 100px;
}

#loading {
  top: 0;
  left: 0;
  position: absolute;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--loading-bg);
  z-index: 100;
  -webkit-backdrop-filter: blur(var(--loading-blur));
  backdrop-filter: blur(var(--loading-blur));
  transition: all 0.5s ease;
}

svg.loading {
  width: 3.75em;
  transform-origin: center;
  animation: rotate 2s linear infinite;
}

circle.loading {
  fill: none;
  stroke: var(--loading-accent);
  stroke-width: 2;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  animation: dash 1.5s ease-in-out infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 90, 200;
    stroke-dashoffset: -35px;
  }

  100% {
    stroke-dashoffset: -125px;
  }
}

html:root body.antigravity-scroll-lock {
  overflow: hidden !important;
}

body::-webkit-scrollbar {
  display: none;
}

html::-webkit-scrollbar {
  display: none;
}

.top-4 {
  top: 1rem;
}

.left-4 {
  left: 1rem;
}

.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.max-w-\[250px\] {
  max-width: 250px;
}

.min-h-\[1\.5em\] {
  min-height: 1.5em;
}

.text-center {
  text-align: center;
}

.origin-right {
  transform-origin: right;
}

.scale-75 {
  transform: scale(0.75);
}

.bg-pink-500 {
  background-color: rgb(236 72 153);
}

.rounded-sm {
  border-radius: 0.125rem;
}

.z-20 {
  z-index: 20;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
