/* Design tokens */
.cyber-btn-9dfd259a {
  --radius-pill: 9999px;
  --dur-fast: 160ms;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --color-accent: #3ee7ff;
  --color-accent-strong: #00b6ff;
  --shadow-sm: 0 8px 20px rgba(6, 8, 13, 0.2);
  --edge-color-9dfd259a: rgba(62, 231, 255, 0.46);
  --border-thickness-9dfd259a: 1px;
  --halo-blur-9dfd259a: 20px;
  --grad-1: #00b6ff;
  --grad-2: #3ee7ff;
  --grad-3: #f441a5;
  --grad-4: #ffeb3b;
}

.cyber-btn-align-left {
    text-align: left;
}
.cyber-btn-align-center {
    text-align: center;
}
.cyber-btn-align-right {
    text-align: right;
}

.cyber-btn-container-9dfd259a {
    display: inline-block;
    position: relative;
    padding: 15px;
    overflow: visible;
}

/* Keyframe animations */
@keyframes animate-49 {
  0% { background-position: 0% center; }
  100% { background-position: 400% center; }
}

@keyframes cta-edge-glow-9dfd259a {
  0%, 100% {\n    border-color: rgba(62, 231, 255, 0.35);\n    box-shadow:\n      rgba(62, 231, 255, 0.14) 0px 0px 0px 0px,\n      rgba(62, 231, 255, 0.14) 0px 0px 0px 0px inset;\n  }
  50% {\n    border-color: rgba(62, 231, 255, 0.95);\n    box-shadow:\n      rgba(62, 231, 255, 0.32) 0px 0px 18px 2px,\n      rgba(62, 231, 255, 0.20) 0px 0px 8px 0px inset;\n  }
}

/* Base button */
.cyber-btn-9dfd259a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.78rem 2.2rem;
    border-radius: var(--radius-pill);
    border: none;
    font-weight: 700;
    font-size: 0.95rem;
    color: #ffffff !important;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    z-index: 0;
    isolation: isolate;
    overflow: visible;
    box-shadow: var(--shadow-sm);
    transition:
      transform var(--dur-fast) var(--ease-out),
      box-shadow var(--dur-fast) var(--ease-out),
      border-color var(--dur-fast) var(--ease-out);
}

/* LAYER 1 — Animated gradient body */
.cyber-btn-9dfd259a.button:not(.button--ghost) {
    background-image: linear-gradient(120deg, var(--grad-1) 0%, var(--grad-2) 25%, var(--grad-3) 50%, var(--grad-4) 75%, var(--grad-1) 100%);
    background-size: 400%;
    animation: animate-49 24s linear infinite;
}

/* LAYER 2 — Blurred glow halo */
.cyber-btn-9dfd259a.button:not(.button--ghost)::before {
    content: "";
    position: absolute;
    inset: -5px;
    z-index: -1;
    border-radius: calc(var(--radius-pill) + 10px);
    background-image: linear-gradient(120deg, var(--grad-1) 0%, var(--grad-2) 25%, var(--grad-3) 50%, var(--grad-4) 75%, var(--grad-1) 100%);
    background-size: 400%;
    filter: blur(var(--halo-blur-9dfd259a));
    opacity: 0.55;
    animation: animate-49 24s linear infinite;
    transition: opacity var(--dur-fast) var(--ease-out);
    pointer-events: none;
}

/* LAYER 3 — Pulsing edge ring */
.cyber-btn-9dfd259a.button-glow-edge::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    border: var(--border-thickness-9dfd259a) solid var(--edge-color-9dfd259a);
    box-shadow: rgba(62,231,255,0.18) 0 0 0 0,
                rgba(62,231,255,0.22) 0 0 0 0 inset;
    pointer-events: none;
    opacity: 0.62;
    animation: cta-edge-glow-9dfd259a 1900ms cubic-bezier(0.22, 1, 0.36, 1) infinite;
    transition: opacity 340ms var(--ease-out);
}

/* Hover States */
.cyber-btn-9dfd259a.button:hover {
    transform: translateY(-2px);
}

.cyber-btn-9dfd259a.button:not(.button--ghost):hover {
    box-shadow:
      rgba(0, 0, 0, 0.28) 0px 10px 24px,
      rgba(62, 231, 255, 0.4) 0px 0px 22px;
}

.cyber-btn-9dfd259a.button:not(.button--ghost):hover::before {
    opacity: 0.95;
}

.cyber-btn-9dfd259a.button-glow-edge:hover::after {
    opacity: 1.0;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .cyber-btn-9dfd259a.button-glow-edge::after {
    animation: none !important;
  }
  .cyber-btn-9dfd259a.button:not(.button--ghost),
  .cyber-btn-9dfd259a.button:not(.button--ghost)::before {
    animation-duration: 40s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: linear !important;
  }
}
