/**
 * Index-only: cyber-gold “electric” accents on CTAs and home controls.
 * Loaded only from index.html — scoped to body.ds-v2.page-index.
 * Uses ::after for border current (::before is reserved for .ds-btn shine sweep).
 */

@keyframes eb-orbit {
  to {
    transform: rotate(360deg);
  }
}

@keyframes eb-pulse-glow {
  50% {
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.32) inset,
      0 -3px 12px rgba(0, 0, 0, 0.35) inset,
      0 14px 44px rgba(var(--color-accent-rgb), 0.42),
      0 0 64px rgba(var(--color-accent-rgb), 0.22),
      0 0 0 1px rgba(var(--color-accent-rgb), 0.62);
  }
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--primary:not(:disabled):not([aria-disabled='true'])::after,
body.ds-v2.page-index
  main.ds-page--home
  .btn.ds-btn.ds-btn--primary:not(.btn-secondary):not(.btn-ghost-hero):not(.btn-discord):not(.btn-danger):not(
    [aria-disabled='true']
  )::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient(
    from 210deg,
    rgba(var(--color-accent-rgb), 0.05),
    rgba(var(--color-accent-rgb), 0.35) 70deg,
    var(--color-accent-light) 110deg,
    var(--color-accent) 150deg,
    rgba(255, 252, 240, 0.95) 175deg,
    var(--color-accent-hover) 205deg,
    rgba(var(--color-accent-rgb), 0.25) 260deg,
    rgba(var(--color-accent-rgb), 0.06) 320deg,
    rgba(var(--color-accent-rgb), 0.05)
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
  opacity: 0.88;
  transform-origin: 50% 50%;
  animation: eb-orbit 5.5s linear infinite;
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--primary:not(:disabled):not([aria-disabled='true']),
body.ds-v2.page-index
  main.ds-page--home
  .btn.ds-btn.ds-btn--primary:not(.btn-secondary):not(.btn-ghost-hero):not(.btn-discord):not(.btn-danger):not(
    [aria-disabled='true']
  ) {
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.26) inset,
    0 -4px 14px rgba(0, 0, 0, 0.32) inset,
    0 10px 34px rgba(var(--color-accent-rgb), 0.38),
    0 0 52px rgba(var(--color-accent-rgb), 0.16),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.5);
  animation: eb-pulse-glow 4.2s ease-in-out infinite;
}

/* Let keyboard focus keep the design-system gold ring (higher specificity than base primary). */
body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--primary:focus-visible:not(:disabled):not([aria-disabled='true']),
body.ds-v2.page-index
  main.ds-page--home
  .btn.ds-btn.ds-btn--primary:not(.btn-secondary):not(.btn-ghost-hero):not(.btn-discord):not(.btn-danger):focus-visible:not(
    [aria-disabled='true']
  ) {
  animation: ds-accent-focus-ring 2.4s ease-in-out infinite;
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--primary:hover,
body.ds-v2.page-index
  main.ds-page--home
  .btn.ds-btn.ds-btn--primary:not(.btn-secondary):not(.btn-ghost-hero):not(.btn-discord):not(.btn-danger):hover {
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.34) inset,
    0 -4px 16px rgba(0, 0, 0, 0.38) inset,
    0 16px 52px rgba(var(--color-accent-rgb), 0.48),
    0 0 72px rgba(var(--color-accent-rgb), 0.26),
    0 0 0 1px rgba(var(--color-accent-light), 0.55);
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--secondary:not(:disabled):not([aria-disabled='true'])::after,
body.ds-v2.page-index main.ds-page--home .btn.btn-secondary.ds-btn:not([aria-disabled='true'])::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(
    from 90deg,
    rgba(var(--color-accent-rgb), 0.08),
    rgba(var(--color-accent-rgb), 0.28) 120deg,
    rgba(var(--color-accent-rgb), 0.12) 240deg,
    rgba(var(--color-accent-rgb), 0.08)
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
  opacity: 0.55;
  transform-origin: 50% 50%;
  animation: eb-orbit 9s linear infinite reverse;
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--secondary,
body.ds-v2.page-index main.ds-page--home .btn.btn-secondary.ds-btn {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 -3px 10px rgba(0, 0, 0, 0.45) inset,
    0 0 0 1px rgba(var(--color-accent-rgb), 0.22),
    0 6px 22px rgba(0, 0, 0, 0.35),
    0 0 28px rgba(var(--color-accent-rgb), 0.08);
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--secondary:hover,
body.ds-v2.page-index main.ds-page--home .btn.btn-secondary.ds-btn:hover {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.1) inset,
    0 -3px 10px rgba(0, 0, 0, 0.48) inset,
    0 0 0 1px rgba(var(--color-accent-rgb), 0.38),
    0 10px 30px rgba(0, 0, 0, 0.4),
    0 0 36px rgba(var(--color-accent-rgb), 0.14);
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--ghost:not(:disabled):not([aria-disabled='true'])::after,
body.ds-v2.page-index main.ds-page--home .btn-ghost-hero.ds-btn:not([aria-disabled='true'])::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    115deg,
    rgba(var(--color-accent-rgb), 0.05) 0%,
    rgba(var(--color-accent-rgb), 0.45) 35%,
    var(--color-accent-light) 50%,
    rgba(var(--color-accent-rgb), 0.35) 65%,
    rgba(var(--color-accent-rgb), 0.06) 100%
  );
  background-size: 220% 220%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
  opacity: 0.65;
  animation: eb-border-flow 3.8s ease-in-out infinite;
}

@keyframes eb-border-flow {
  0%,
  100% {
    background-position: 0% 40%;
  }
  50% {
    background-position: 100% 60%;
  }
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--ghost,
body.ds-v2.page-index main.ds-page--home .btn-ghost-hero.ds-btn {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 -2px 8px rgba(0, 0, 0, 0.28) inset,
    0 0 0 1px rgba(var(--color-accent-rgb), 0.2),
    0 4px 18px rgba(0, 0, 0, 0.25),
    0 0 24px rgba(var(--color-accent-rgb), 0.06);
}

body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--ghost:hover,
body.ds-v2.page-index main.ds-page--home .btn-ghost-hero.ds-btn:hover {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.1) inset,
    0 -2px 8px rgba(0, 0, 0, 0.32) inset,
    0 0 0 1px rgba(var(--color-accent-rgb), 0.38),
    0 8px 26px rgba(0, 0, 0, 0.32),
    0 0 36px rgba(var(--color-accent-rgb), 0.12);
}

/* Carousel chrome: lighter “charged” rim, no extra pseudos (layout simplicity) */
body.ds-v2.page-index main.ds-page--home .ds-home-hero-carousel__btn {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 -2px 6px rgba(0, 0, 0, 0.45) inset,
    0 0 0 1px rgba(var(--color-accent-rgb), 0.22),
    0 4px 16px rgba(0, 0, 0, 0.4),
    0 0 20px rgba(var(--color-accent-rgb), 0.12);
}

body.ds-v2.page-index main.ds-page--home .ds-home-hero-carousel__btn:hover {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.16) inset,
    0 -2px 6px rgba(0, 0, 0, 0.48) inset,
    0 0 0 1px rgba(var(--color-accent-rgb), 0.42),
    0 6px 22px rgba(0, 0, 0, 0.45),
    0 0 28px rgba(var(--color-accent-rgb), 0.22);
}

body.ds-v2.page-index main.ds-page--home .ds-home-hero-carousel__dot {
  box-shadow: 0 0 0 1px rgba(var(--color-accent-rgb), 0.12), 0 0 8px rgba(var(--color-accent-rgb), 0.06);
}

body.ds-v2.page-index main.ds-page--home .ds-home-hero-carousel__dot.is-active {
  box-shadow:
    0 0 0 1px rgba(var(--color-accent-rgb), 0.45),
    0 0 18px rgba(var(--color-accent-rgb), 0.42),
    0 0 36px rgba(var(--color-accent-rgb), 0.18);
}

@media (prefers-reduced-motion: reduce) {
  body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--primary:not(:disabled):not([aria-disabled='true'])::after,
  body.ds-v2.page-index
    main.ds-page--home
    .btn.ds-btn.ds-btn--primary:not(.btn-secondary):not(.btn-ghost-hero):not(.btn-discord):not(.btn-danger):not(
      [aria-disabled='true']
    )::after,
  body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--secondary:not(:disabled):not([aria-disabled='true'])::after,
  body.ds-v2.page-index main.ds-page--home .btn.btn-secondary.ds-btn:not([aria-disabled='true'])::after {
    animation: none;
    transform: none;
    opacity: 0.42;
  }

  body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--ghost:not(:disabled):not([aria-disabled='true'])::after,
  body.ds-v2.page-index main.ds-page--home .btn-ghost-hero.ds-btn:not([aria-disabled='true'])::after {
    animation: none;
    background-position: 50% 50%;
    opacity: 0.38;
  }

  body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--primary:not(:disabled):not([aria-disabled='true']),
  body.ds-v2.page-index
    main.ds-page--home
    .btn.ds-btn.ds-btn--primary:not(.btn-secondary):not(.btn-ghost-hero):not(.btn-discord):not(.btn-danger):not(
      [aria-disabled='true']
    ) {
    animation: none;
  }

  body.ds-v2.page-index main.ds-page--home .ds-btn.ds-btn--primary:focus-visible:not(:disabled):not([aria-disabled='true']),
  body.ds-v2.page-index
    main.ds-page--home
    .btn.ds-btn.ds-btn--primary:not(.btn-secondary):not(.btn-ghost-hero):not(.btn-discord):not(.btn-danger):focus-visible:not(
      [aria-disabled='true']
    ) {
    animation: none;
    box-shadow: 0 0 0 3px rgba(var(--color-accent-rgb), 0.4);
  }
}
