/* ElectricBorder — inspired by @BalintFerenczy / react-bits */
.electric-border {
  --electric-light-color: var(--electric-border-color);
  --eb-pad: 12px;
  position: relative;
  border-radius: inherit;
  overflow: visible;
  isolation: isolate;
  padding: var(--eb-pad);
  margin: calc(var(--eb-pad) * -1);
}

@supports (color: oklch(from #7df9ff l c h)) {
  .electric-border {
    --electric-light-color: oklch(from var(--electric-border-color) l c h);
  }
}

.eb-canvas-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 2;
}

.eb-canvas {
  display: block;
}

.eb-content {
  position: relative;
  border-radius: inherit;
  z-index: 1;
}

.eb-layers {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
}

.eb-glow-1,
.eb-glow-2,
.eb-background-glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-sizing: border-box;
}

.eb-glow-1 {
  border: 2px solid color-mix(in srgb, var(--electric-border-color) 60%, transparent);
  filter: blur(1px);
}

.eb-glow-2 {
  border: 2px solid var(--electric-light-color);
  filter: blur(4px);
}

.eb-background-glow {
  z-index: -1;
  transform: scale(1.1);
  filter: blur(32px);
  opacity: 0.3;
  background: linear-gradient(
    -30deg,
    var(--electric-light-color),
    transparent,
    var(--electric-border-color)
  );
}

@media (prefers-reduced-motion: reduce) {
  .eb-canvas-container {
    display: none;
  }
  .eb-glow-1,
  .eb-glow-2 {
    animation: none;
  }
}
