/* ==========================================================================
   BanterGaming — ElectricBorder effect
   Vanilla-JS/CSS port of the React Bits <ElectricBorder /> component.
   Link this on every page that uses it: <link rel="stylesheet" href="css/electric-border.css">
   (use "../css/electric-border.css" from pages one folder deep, like /rules/)

   Mark any element with data-electric-border to have js/electric-border.js
   wrap it automatically — see js/electric-border.js for the attribute API.
   ========================================================================== */

.electric-border {
  --electric-light-color: var(--electric-border-color);
  border-radius: inherit;
  overflow: visible;
  isolation: isolate;
}

@supports (color: oklch(from red 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 var(--electric-border-color);
  opacity: 0.6;
  filter: blur(1px);
}

@supports (color: oklch(from red l c h)) {
  .eb-glow-1 {
    border-color: oklch(from var(--electric-border-color) l c h / 0.6);
    opacity: 1;
  }
}

.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;
  }
}
