/* Clear black center, a fine frame, and feathered light only near the edges. */
#pricing .plan-standard {
  --plasma-x: 50%;
  --plasma-y: 24%;
  --plasma-intensity: 0;
  position: relative;
  isolation: isolate;
  overflow: visible;
  border: 0;
  border-radius: 13px;
  background: transparent;
  box-shadow: none;
}

#pricing .plan-standard::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border: 1px solid rgb(190 168 213 / 31%);
  border-radius: inherit;
  box-shadow: inset 0 0 8px rgb(174 125 222 / 6%);
  pointer-events: none;
}

#pricing .plan-standard::after {
  content: none;
}

#pricing .plan-standard .plan-content {
  position: relative;
  z-index: 1;
  background: transparent;
  box-shadow: none;
}

/* The unmasked fallback is the thin frame above, with no colored card fill. */
#pricing .plan-standard .plan-glow {
  display: none;
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  background: none;
  filter: none;
  box-shadow: none;
  transform: none;
  animation: none;
  pointer-events: none;
}

@supports (mask-image: linear-gradient(#000, transparent)) or (-webkit-mask-image: linear-gradient(#000, transparent)) {
  #pricing .plan-standard .plan-glow {
    display: block;
    /* Two feathered masks form an unevenly lit perimeter, never a central wash. */
    -webkit-mask-image:
      linear-gradient(90deg, #000, rgb(0 0 0 / 72%) 7px, transparent 34px, transparent calc(100% - 34px), rgb(0 0 0 / 72%) calc(100% - 7px), #000),
      linear-gradient(0deg, #000, rgb(0 0 0 / 76%) 6px, transparent 35px, transparent calc(100% - 35px), rgb(0 0 0 / 76%) calc(100% - 6px), #000);
    mask-image:
      linear-gradient(90deg, #000, rgb(0 0 0 / 72%) 7px, transparent 34px, transparent calc(100% - 34px), rgb(0 0 0 / 72%) calc(100% - 7px), #000),
      linear-gradient(0deg, #000, rgb(0 0 0 / 76%) 6px, transparent 35px, transparent calc(100% - 35px), rgb(0 0 0 / 76%) calc(100% - 6px), #000);
    -webkit-mask-composite: source-over;
    mask-composite: add;
    /* Fine, stationary grain stays subtle and cannot cover the clear center. */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='144'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.055'/%3E%3C/svg%3E");
    background-size: 144px 144px;
    opacity: .88;
  }

  #pricing .plan-standard .plan-glow::before,
  #pricing .plan-standard .plan-glow::after {
    content: "";
    position: absolute;
    inset: -15px;
    pointer-events: none;
  }

  #pricing .plan-standard .plan-glow::before {
    /* Asymmetric overlapping wisps avoid a uniform luminous rectangle. */
    background:
      radial-gradient(ellipse 48% 29% at 12% 1%, rgb(187 141 234 / 66%), transparent 76%),
      radial-gradient(ellipse 61% 21% at 81% 2%, rgb(139 96 191 / 54%), transparent 78%),
      radial-gradient(ellipse 18% 42% at 0% 37%, rgb(164 111 216 / 53%), transparent 78%),
      radial-gradient(ellipse 17% 38% at 100% 68%, rgb(143 99 194 / 39%), transparent 80%),
      radial-gradient(ellipse 62% 17% at 64% 100%, rgb(172 128 215 / 50%), transparent 80%),
      radial-gradient(ellipse 24% 25% at 2% 100%, rgb(128 82 175 / 29%), transparent 79%);
    filter: blur(9px);
    opacity: calc(.80 + var(--plasma-intensity) * .12);
    transform-origin: 50% 50%;
    animation: pulse-plasma-breathe 12s ease-in-out infinite alternate;
  }

  #pricing .plan-standard .plan-glow::after {
    /* Pointer light is still clipped by the feathered edge mask above. */
    inset: 0;
    background:
      radial-gradient(ellipse 280px 230px at var(--plasma-x) var(--plasma-y), rgb(217 178 255 / 74%), rgb(162 105 217 / 35%) 34%, transparent 74%),
      radial-gradient(ellipse 48% 16% at var(--plasma-x) 0%, rgb(170 121 218 / 32%), transparent 80%);
    filter: blur(7px);
    opacity: calc(var(--plasma-intensity) * .68);
  }
}

@supports (mask-composite: exclude) or (-webkit-mask-composite: xor) {
  #pricing .plan-standard::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: radial-gradient(ellipse 330px 230px at var(--plasma-x) var(--plasma-y), rgb(230 204 255 / 80%), rgb(160 113 207 / 18%) 63%, transparent 86%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: calc(.20 + var(--plasma-intensity) * .54);
    pointer-events: none;
  }
}

@keyframes pulse-plasma-breathe {
  0% { transform: translate(-3px, -4px) scale(1.01, 1.025); }
  42% { transform: translate(5px, 4px) scale(1.035, 1.005); }
  100% { transform: translate(-2px, 9px) scale(1.005, 1.03); }
}

#pricing .plan-standard[data-plasma-visible="false"] .plan-glow::before {
  animation-play-state: paused;
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  #pricing .plan-standard .plan-glow::before {
    animation: none;
    transform: none;
  }
  #pricing .plan-standard .plan-glow::after {
    opacity: 0;
  }
  #pricing .plan-standard::after {
    opacity: .20;
  }
}
