/* Premium sci-fi enhancements — aurora template */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
  --fx-primary: #a78bfa;
  --fx-accent: #34d399;
  --fx-primary-dim: rgba(167, 139, 250, 0.35);
  --fx-accent-dim: rgba(52, 211, 153, 0.25);
  --fx-glow: rgba(52, 211, 153, 0.35);
  --fx-glow-strong: rgba(167, 139, 250, 0.55);
  --fx-btn-shadow: rgba(52, 211, 153, 0.35);
  --fx-btn-shadow-strong: rgba(167, 139, 250, 0.45);
  --fx-card-shadow: rgba(167, 139, 250, 0.18);
  --fx-grid-color: rgba(167, 139, 250, 0.04);
  --fx-scan-color: rgba(52, 211, 153, 0.03);
  --fx-cursor-color: rgba(167, 139, 250, 0.1);
  --fx-shimmer-highlight: #34d399;
}

body.tpl-aurora { font-feature-settings: "ss01", "ss02"; }

.block-head__title,
.portal-hero__title,
.portal-hero__num,
.cta-orbit h2 {
  font-family: "Space Grotesk", "Outfit", sans-serif;
  letter-spacing: -0.02em;
}

.portal-hero__title span,
.portal-hero__num {
  background: linear-gradient(135deg, #fff 0%, var(--mint) 40%, var(--cyan) 70%, var(--violet) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: fx-shimmer 5s linear infinite;
}

.portal-hero__ring-layer {
  box-shadow: 0 0 24px rgba(167, 139, 250, 0.15), inset 0 0 24px rgba(52, 211, 153, 0.05);
}

.portal-hero__core {
  animation: fx-ring-pulse 5s ease-in-out infinite;
  box-shadow: 0 0 80px rgba(52, 211, 153, 0.3), inset 0 0 40px rgba(167, 139, 250, 0.1);
}

.portal-hero__num { animation: fx-shimmer 5s linear infinite, fx-glow-breathe 4s ease-in-out infinite; }

.btn--primary {
  animation: fx-btn-glow 3.5s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}

.btn--primary::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, 0.35) 50%, transparent 62%);
  transform: translateX(-130%);
  animation: fx-btn-shine 4.5s ease-in-out infinite;
  pointer-events: none;
}

.disclosure-card,
.wallet-item,
.cta-orbit {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s, border-color 0.35s;
}

.disclosure-card:hover,
.wallet-item--link:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(167, 139, 250, 0.2), 0 0 0 1px rgba(52, 211, 153, 0.25);
}

.block-head__title { position: relative; display: inline-block; }
.block-head__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--mint), var(--cyan), transparent);
  background-size: 200% 100%;
  animation: fx-title-underline 3s linear infinite;
}

.block-head--center .block-head__title::after { left: 50%; transform: translateX(-50%); width: 60%; }

.aurora-sky__stars {
  animation: fx-orb-float 30s ease-in-out infinite;
}

.top-bar {
  box-shadow: 0 4px 32px rgba(167, 139, 250, 0.08);
}

.timeline__dot {
  box-shadow: 0 0 20px rgba(52, 211, 153, 0.4);
  animation: fx-ring-pulse 3s ease-in-out infinite;
}

.cta-orbit {
  position: relative;
  overflow: hidden;
}

.cta-orbit::before {
  content: "";
  position: absolute;
  inset: -50%;
  background: conic-gradient(from 0deg, transparent, rgba(167, 139, 250, 0.08), transparent, rgba(52, 211, 153, 0.06), transparent);
  animation: ring-spin 12s linear infinite;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .portal-hero__title span, .portal-hero__num, .btn--primary, .btn--primary::after,
  .block-head__title::after, .portal-hero__core, .timeline__dot, .cta-orbit::before {
    animation: none !important;
  }
}
