
/* ===== Hero 3D fox canvas ===== */
.alphafox-hero-3d-scene {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}


/* ===== Hero text - force visible with entrance animation ===== */
/* Override the linked CSS .landing-flat .alphafox-hero-pending { opacity:0; visibility:hidden } */
.alphafox-hero-pending {
  opacity: 1 !important;
  visibility: visible !important;
  animation: alphafoxHeroTextIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}
[data-hero-line].alphafox-hero-pending {
  animation-delay: 0.15s !important;
}
[data-hero-word].alphafox-hero-pending {
  animation-delay: 0.35s !important;
}
[data-hero-reveal].alphafox-hero-pending {
  animation-delay: 0.5s !important;
}
@keyframes alphafoxHeroTextIn {
  0% { opacity: 0; transform: translateY(24px); filter: blur(4px); }
  60% { opacity: 1; filter: blur(0); }
  100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* ===== Scroll-triggered reveal (progressive enhancement) ===== */
/* Only hide when script adds .alphafox-reveal-pending; if script fails, content stays visible */
[data-home-reveal].alphafox-reveal-pending {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity;
}
[data-home-reveal].alphafox-reveal-visible {
  opacity: 1;
  transform: translateY(0);
}
/* Stagger children inside reveal roots */
[data-home-reveal-root].alphafox-reveal-visible [data-home-reveal]:not(.alphafox-reveal-visible) {
  opacity: 1;
  transform: translateY(0);
}

/* ===== Nav logo spin ===== */
.alphafox-nav-logo-spin {
  animation: alphafoxNavSpin 22s linear infinite;
  transform-origin: center;
  transform-style: preserve-3d;
  will-change: transform;
}
@keyframes alphafoxNavSpin {
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

/* ===== Ambient float ===== */
.alphafox-ambient-float {
  animation: alphafoxAmbientFloat 8s ease-in-out infinite;
  will-change: transform;
}
@keyframes alphafoxAmbientFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ===== Section entrance ===== */
section[data-home-reveal].alphafox-reveal-pending {
  opacity: 0;
  transform: translateY(44px);
}

/* ===== Gradient text shimmer for spectrum title ===== */
.home-spectrum-title {
  background-size: 200% !important;
  animation: alphafoxSpectrumPan 6s linear infinite !important;
}
@keyframes alphafoxSpectrumPan {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* ===== Button / CTA pulse ===== */
.alphafox-cta-pulse {
  animation: alphafoxCTAPulse 3s ease-in-out infinite;
}
@keyframes alphafoxCTAPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 153, 31, 0.3); }
  50% { box-shadow: 0 0 24px 4px rgba(255, 153, 31, 0.15); }
}

@media (prefers-reduced-motion: reduce) {
  .alphafox-nav-logo-spin,
  .alphafox-ambient-float,
  .alphafox-hero-3d-scene canvas[data-home-hero-canvas],
  .home-spectrum-title,
  .alphafox-cta-pulse {
    animation: none !important;
  }
  [data-home-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
  .alphafox-hero-pending {
    animation: none !important;
    opacity: 1 !important;
  }
}

/* ============================================================
   MODULE ANIMATIONS
   ============================================================ */

/* ===== Service card hover lift + image zoom ===== */
article[data-service-card] {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1),
              border-color 0.4s ease;
  will-change: transform;
}
article[data-service-card]:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -12px rgba(255, 153, 31, 0.18),
              0 8px 16px -8px rgba(0, 0, 0, 0.3);
  border-color: color-mix(in srgb, var(--brand-orange-button, #ff991f) 35%, var(--landing-border));
}
article[data-service-card] img[data-landing-soft-image] {
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.6s ease;
  will-change: transform;
}
article[data-service-card]:hover img[data-landing-soft-image] {
  transform: scale(1.06);
  filter: brightness(1.08) saturate(1.12);
}
article[data-service-card] [data-card-detail] {
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.4s ease;
}
article[data-service-card]:hover [data-card-detail] {
  transform: translateX(4px);
  box-shadow: 0 0 16px rgba(255, 153, 31, 0.4);
}

/* ===== Strategy stack card float ===== */
[data-strategy-stack-card] {
  animation: alphafoxStackFloat 6s ease-in-out infinite;
  will-change: transform;
}
@keyframes alphafoxStackFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-6px) rotate(0.3deg); }
}

/* ===== Stat number glow pulse ===== */
[data-home-reveal] .text-brand-orange-text,
.alphafox-stat-value {
  animation: alphafoxStatGlow 4s ease-in-out infinite;
  will-change: text-shadow;
}
@keyframes alphafoxStatGlow {
  0%, 100% { text-shadow: 0 0 12px rgba(255, 153, 31, 0.15); }
  50% { text-shadow: 0 0 20px rgba(255, 153, 31, 0.35); }
}

/* ===== Custody architecture image float ===== */
section[data-home-reveal] img[src*="custody-architecture"] {
  animation: alphafoxCustodyFloat 7s ease-in-out infinite;
  will-change: transform;
  transition: transform 0.4s ease;
}
@keyframes alphafoxCustodyFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.01); }
}

/* ===== CTA title shimmer ===== */
.alphafox-display-title-en,
section.dark.landing-content h2 {
  background: linear-gradient(110deg,
    var(--landing-foreground, #fff) 0%,
    var(--landing-foreground, #fff) 40%,
    var(--landing-aurora-orange, #8BC34A) 50%,
    var(--landing-foreground, #fff) 60%,
    var(--landing-foreground, #fff) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: alphafoxCTAShimmer 5s ease-in-out infinite;
  will-change: background-position;
}
@keyframes alphafoxCTAShimmer {
  0% { background-position: 100% 50%; }
  50% { background-position: 0% 50%; }
  100% { background-position: -100% 50%; }
}

/* ===== CTA aurora background drift ===== */
section.dark.landing-content .absolute.inset-0.z-0 {
  animation: alphafoxAuroraDrift 18s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes alphafoxAuroraDrift {
  0% { transform: translateX(-2%) scale(1.02); }
  100% { transform: translateX(2%) scale(1.05); }
}

/* ===== Glass card glow ===== */
.landing-glass-card {
  transition: box-shadow 0.6s ease, border-color 0.4s ease;
  animation: alphafoxGlassGlow 8s ease-in-out infinite;
  will-change: box-shadow;
}
@keyframes alphafoxGlassGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 153, 31, 0); }
  50% { box-shadow: 0 0 32px -8px rgba(255, 153, 31, 0.12); }
}

/* ===== Heading reveal underline ===== */
[data-home-reveal] h2 {
  position: relative;
}
[data-home-reveal].alphafox-reveal-visible h2::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -0.3em;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--landing-aurora-orange, #8BC34A), transparent);
  transform: translateX(-50%);
  animation: alphafoxUnderlineDraw 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s forwards;
  will-change: width;
}
@keyframes alphafoxUnderlineDraw {
  0% { width: 0; }
  100% { width: 40%; }
}

/* ===== Feature step card stagger ===== */
[data-card-shell] {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-card-shell].alphafox-card-visible {
  opacity: 1;
  transform: translateY(0);
}
[data-card-shell]:nth-child(1) { transition-delay: 0s; }
[data-card-shell]:nth-child(2) { transition-delay: 0.12s; }
[data-card-shell]:nth-child(3) { transition-delay: 0.24s; }
[data-card-shell]:nth-child(4) { transition-delay: 0.36s; }

/* ===== Button hover glow ===== */
section[data-home-reveal] a[href*="app"],
section[data-home-reveal] button[data-slot="button"] {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.4s ease;
}
section[data-home-reveal] a[href*="app"]:hover,
section[data-home-reveal] button[data-slot="button"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -6px rgba(255, 153, 31, 0.3);
}

/* ===== Exchange logo subtle rotate on hover ===== */
img[src*="exchanges/"] {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.4s ease;
}
img[src*="exchanges/"]:hover {
  transform: rotate(8deg) scale(1.1);
  filter: brightness(1.2);
}

/* ===== Parallax image wrapper ===== */
.alphafox-parallax-wrap {
  overflow: hidden;
}
.alphafox-parallax-wrap img {
  transition: transform 0.1s linear;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  article[data-service-card],
  article[data-service-card] img[data-landing-soft-image],
  [data-strategy-stack-card],
  section[data-home-reveal] img[src*="custody-architecture"],
  .alphafox-display-title-en,
  section.dark.landing-content h2,
  section.dark.landing-content .absolute.inset-0.z-0,
  .landing-glass-card,
  [data-home-reveal] .text-brand-orange-text,
  .alphafox-stat-value {
    animation: none !important;
    transition: none !important;
  }
  [data-card-shell] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ============================================================
   STRATEGY PLAZA - VERTICAL SCROLLING CAROUSEL
   ============================================================ */
.alphafox-vscroll-viewport {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Gradient mask: fade top and bottom edges */
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 15%,
    black 75%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 15%,
    black 75%,
    transparent 100%
  );
}

.alphafox-vscroll-track {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 8px 0;
  will-change: transform;
  transition: transform 0.55s cubic-bezier(0.65, 0, 0.35, 1);
}

.alphafox-vscroll-card {
  position: relative;
  width: 360px;
  height: 226px;
  flex-shrink: 0;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(255, 153, 31, 0.05);
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0.45;
  transform: scale(0.85);
  filter: blur(1px);
}

/* Current/active card: full opacity, full size, glow */
.alphafox-vscroll-card[data-vscroll-active="true"] {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.5),
    0 0 60px rgba(139, 195, 74, 0.15),
    0 0 0 1px rgba(139, 195, 74, 0.25);
  border-color: rgba(139, 195, 74, 0.3);
}

/* Adjacent cards (preview): medium opacity */
.alphafox-vscroll-card[data-vscroll-near="true"] {
  opacity: 0.7;
  transform: scale(0.92);
  filter: blur(0.5px);
}

/* Make sure inner content scales properly */
.alphafox-vscroll-card > * {
  transform-origin: center center;
}

/* Navigation dots (vertical on the right side) */
.alphafox-vscroll-dots {
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 30;
  pointer-events: auto;
}
.alphafox-vscroll-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  padding: 0;
}
.alphafox-vscroll-dot.alphafox-vdot-active {
  background: var(--landing-aurora-orange, #8BC34A);
  box-shadow: 0 0 14px rgba(139, 195, 74, 0.7);
  height: 24px;
  border-radius: 4px;
}
.alphafox-vscroll-dot:hover:not(.alphafox-vdot-active) {
  background: rgba(255, 255, 255, 0.5);
  transform: scale(1.3);
}

@media (prefers-reduced-motion: reduce) {
  .alphafox-vscroll-track { transition: none !important; }
  .alphafox-vscroll-card { transition: none !important; }
}

/* ============================================================
   ORANGE THEME OVERRIDE — 全站按钮主题色 → 橙色
   ============================================================ */
:root {
  /* 主题橙（primary button base） + 深色 hover + 浅文字色 */
  --brand-orange-button: #FF7A1A !important;
  --brand-orange-hover:  #E86309 !important;
  --brand-orange-text:   #FF8A1F !important;
  --brand-orange-soft:   #FFB27A !important;
  --landing-aurora-orange: #FF7A1A !important;
  /* 覆盖 Tailwind .bg-primary（Next/Tailwind 导出的主色变量） */
  --primary: #FF7A1A !important;
}
html, body {
  /* 让所有使用 bg-primary 的按钮拿到橙色 */
  --color-primary: #FF7A1A !important;
}
/* 全局 .bg-primary 兜底直接写死（优先级高） */
.bg-primary,
button.bg-primary,
a.bg-primary {
  background: #FF7A1A !important;
  color: #fff !important;
}
.bg-primary:hover,
button.bg-primary:hover,
a.bg-primary:hover {
  background: linear-gradient(180deg, #FF8A24 0%, #E86309 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,122,26,0.65),
    0 10px 28px -8px rgba(255,122,26,0.7),
    inset 0 1px 0 rgba(255,255,255,0.25) !important;
}

/* 快速试用 / 立即体验 / 探索策略广场 这些大按钮 */
a[data-slot="button"][data-variant="default"],
button[data-slot="button"][data-variant="default"],
.home-shiny-cta {
  background:
    linear-gradient(180deg, #FF8E2A 0%, #FF7A1A 48%, #F16308 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255,122,26,0.9) !important;
  box-shadow:
    0 0 0 1px rgba(255,122,26,0.45) inset,
    0 12px 30px -14px rgba(255,122,26,0.85),
    0 0 32px -10px rgba(255,122,26,0.45) !important;
  font-weight: 700 !important;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
a[data-slot="button"][data-variant="default"]::after,
button[data-slot="button"][data-variant="default"]::after,
.home-shiny-cta::after {
  content: "";
  position: absolute;
  inset: -40% -10% auto auto;
  width: 45%;
  height: 180%;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.55) 50%, transparent 100%);
  transform: translateX(-220%) skewX(-18deg);
  transition: transform 1.1s cubic-bezier(0.22,1,0.36,1);
  pointer-events: none;
  z-index: 0;
}
a[data-slot="button"][data-variant="default"]:hover::after,
button[data-slot="button"][data-variant="default"]:hover::after,
.home-shiny-cta:hover::after {
  transform: translateX(260%) skewX(-18deg);
}
a[data-slot="button"][data-variant="default"]:hover,
button[data-slot="button"][data-variant="default"]:hover,
.home-shiny-cta:hover {
  background:
    linear-gradient(180deg, #FF9B3B 0%, #FF7A1A 50%, #D85700 100%) !important;
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow:
    0 0 0 1px rgba(255,148,64,0.95),
    0 18px 40px -12px rgba(255,122,26,0.95),
    0 0 48px -6px rgba(255,122,26,0.6),
    inset 0 1px 0 rgba(255,255,255,0.3) !important;
}
a[data-slot="button"][data-variant="default"] > *,
button[data-slot="button"][data-variant="default"] > *,
.home-shiny-cta > * {
  position: relative;
  z-index: 1;
}
/* ghost / 登录 按钮：hover 改为橙色描边+轻微填充 */
a[data-slot="button"][data-variant="ghost"],
button[data-slot="button"][data-variant="ghost"] {
  transition: all 0.3s ease !important;
}
a[data-slot="button"][data-variant="ghost"]:hover,
button[data-slot="button"][data-variant="ghost"]:hover {
  color: #FF7A1A !important;
  border-color: rgba(255,122,26,0.5) !important;
  background: rgba(255,122,26,0.08) !important;
}

/* 原来的柠绿 #ACCE22 → 改为橙色 */
[data-home-reveal] .text-brand-orange-text {
  color: #FF7A1A !important;
}
.text-brand-orange-text { color: #FF7A1A !important; }
.text-emerald-400 { color: #FF7A1A !important; }  /* 策略卡的收益率颜色改为橙色 */
.stop-color-accent,
.text-green-400 { color: #FF8A1F !important; }

/* CTA shimmer / underline / nav 全部橙色调 */
.alphafox-display-title-en,
section.dark.landing-content h2 {
  background-image: linear-gradient(110deg,
    var(--landing-foreground, #fff) 0%,
    var(--landing-foreground, #fff) 40%,
    #FF9B3B 50%,
    var(--landing-foreground, #fff) 60%,
    var(--landing-foreground, #fff) 100%) !important;
}
[data-home-reveal].alphafox-reveal-visible h2::after {
  background: linear-gradient(90deg, transparent, #FF7A1A, transparent) !important;
}
.alphafox-vscroll-dot.alphafox-vdot-active {
  background: #FF7A1A !important;
  box-shadow: 0 0 14px rgba(255,122,26,0.8) !important;
}
.home-spectrum-title {
  background-image: linear-gradient(110deg,#ffffff 0%,#ffffff 35%,#FFB27A 45%,#FF7A1A 50%,#FFB27A 55%,#ffffff 68%,#ffffff 100%) !important;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ===== Strategy Plaza - 旧垂直轮播：直接隐藏（我们在 HTML 里用全新横向 Coverflow 接管）===== */

/* ===== Mobile Menu Drawer（右上角汉堡点击滑出） ===== */
.af-mobile-menu {
  position: fixed;
  inset: 0 0 0 0;
  z-index: 60;
  pointer-events: none;
  visibility: hidden;
}
.af-mobile-menu__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5,6,10,0.58);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 280ms cubic-bezier(0.22,1,0.36,1);
}
.af-mobile-menu__panel {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: min(82vw, 340px);
  padding: calc(env(safe-area-inset-top,0px) + 76px) 20px calc(env(safe-area-inset-bottom,0px) + 24px);
  background:
    linear-gradient(180deg, rgba(24,18,10,0.96) 0%, rgba(12,10,8,0.98) 60%, rgba(8,6,4,1) 100%);
  border-left: 1px solid rgba(255,122,26,0.22);
  box-shadow: -20px 0 60px -20px rgba(0,0,0,0.55), inset 0 0 0 1px rgba(255,255,255,0.03);
  transform: translateX(110%);
  transition: transform 380ms cubic-bezier(0.22,1,0.36,1);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.af-mobile-menu__panel::before {
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: 55%; height: 40%;
  background: radial-gradient(ellipse 70% 60% at 100% 0%, rgba(255,122,26,0.32) 0%, rgba(255,122,26,0.08) 40%, transparent 72%);
  pointer-events: none;
}
.af-mobile-menu.is-open {
  pointer-events: auto;
  visibility: visible;
}
.af-mobile-menu.is-open .af-mobile-menu__backdrop { opacity: 1; }
.af-mobile-menu.is-open .af-mobile-menu__panel { transform: translateX(0); }

.af-mobile-menu__close {
  position: absolute;
  top: calc(env(safe-area-inset-top,0px) + 14px);
  right: 14px;
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  transition: all 220ms ease;
}
.af-mobile-menu__close:hover {
  background: rgba(255,122,26,0.18);
  border-color: rgba(255,122,26,0.55);
  transform: rotate(90deg);
}

.af-mobile-menu__title {
  font-size: 12px;
  letter-spacing: 0.2em;
  color: rgba(255,255,255,0.42);
  text-transform: uppercase;
  margin: 4px 6px 10px;
}

.af-mobile-menu__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.af-mobile-menu__item { display: block; }
.af-mobile-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  text-decoration: none;
  transition: all 220ms cubic-bezier(0.22,1,0.36,1);
  transform: translateX(16px);
  opacity: 0;
  animation: af-mobile-menu-fadeIn 420ms cubic-bezier(0.22,1,0.36,1) forwards;
}
.af-mobile-menu.is-open .af-mobile-menu__link:nth-child(1) { animation-delay: 40ms; }
.af-mobile-menu.is-open .af-mobile-menu__link:nth-child(2) { animation-delay: 80ms; }
.af-mobile-menu.is-open .af-mobile-menu__link:nth-child(3) { animation-delay: 120ms; }
.af-mobile-menu.is-open .af-mobile-menu__link:nth-child(4) { animation-delay: 160ms; }
.af-mobile-menu.is-open .af-mobile-menu__link:nth-child(5) { animation-delay: 200ms; }
.af-mobile-menu.is-open .af-mobile-menu__link:nth-child(6) { animation-delay: 240ms; }
@keyframes af-mobile-menu-fadeIn {
  to { transform: translateX(0); opacity: 1; }
}
.af-mobile-menu__link:hover {
  background: linear-gradient(90deg, rgba(255,122,26,0.22), rgba(255,122,26,0.04));
  border-color: rgba(255,122,26,0.48);
  box-shadow: 0 10px 30px -16px rgba(255,122,26,0.45);
  padding-left: 18px;
}
.af-mobile-menu__link i {
  display: inline-block;
  width: 28px; height: 28px;
  border-radius: 8px;
  background: linear-gradient(135deg, #FF8E2A, #FF7A1A 55%, #F06000);
  color: #fff;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 14px -6px rgba(255,122,26,0.6), inset 0 1px 0 rgba(255,255,255,0.3);
  margin-right: 10px;
  flex: 0 0 auto;
}
.af-mobile-menu__link .arrow {
  color: rgba(255,255,255,0.45);
  font-size: 18px;
  transition: transform 220ms ease, color 220ms ease;
}
.af-mobile-menu__link:hover .arrow {
  color: #FFB27A;
  transform: translateX(4px);
}

.af-mobile-menu__label {
  display: inline-flex; align-items: center; gap: 6px; flex: 1; min-width: 0;
}
.af-mobile-menu__label .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.af-mobile-menu__hint {
  margin-left: auto;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 999px;
  color: #FFB27A;
  border: 1px solid rgba(255,122,26,0.35);
  background: rgba(255,122,26,0.1);
  white-space: nowrap;
}

.af-mobile-menu__divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08) 30%, rgba(255,255,255,0.08) 70%, transparent);
  margin: 10px 4px;
}

.af-mobile-menu__cta {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 12px;
}
.af-mobile-menu__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14.5px;
  text-decoration: none;
  transition: all 240ms ease;
}
.af-mobile-menu__btn--primary {
  color: #fff;
  background: linear-gradient(180deg, #FF8E2A 0%, #FF7A1A 48%, #F16308 100%);
  box-shadow: 0 14px 30px -14px rgba(255,122,26,0.9), 0 0 28px -10px rgba(255,122,26,0.55), inset 0 1px 0 rgba(255,255,255,0.3);
  border: 1px solid rgba(255,122,26,0.9);
}
.af-mobile-menu__btn--primary:hover { transform: translateY(-1px); }
.af-mobile-menu__btn--ghost {
  color: #fff;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
}
.af-mobile-menu__btn--ghost:hover {
  background: rgba(255,122,26,0.12);
  border-color: rgba(255,122,26,0.55);
  color: #FFB27A;
}

/* 汉堡按钮激活态（展开时）：menu 淡出移出, x 淡入转正 */
button[aria-label="打开菜单"][aria-expanded="true"] .lucide-menu {
  opacity: 0 !important;
  transform: scale(0.75) rotate(90deg) !important;
}
button[aria-label="打开菜单"][aria-expanded="true"] .lucide-x {
  opacity: 1 !important;
  transform: scale(1) rotate(0deg) !important;
}
button[aria-label="打开菜单"]:active { transform: scale(0.94); }

@media (min-width: 768px) {
  .af-mobile-menu, button[aria-label="打开菜单"] { display: none !important; }
}
.alphafox-vscroll-viewport,
.alphafox-vscroll-track {
  display: none !important;
}

/* ============================================================
   STRATEGY PLAZA COVERFLOW — 3D 金融风格横排轮播
   ============================================================ */
.af-coverflow {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 12px;
  padding: 8px 0 16px;
  perspective: 1400px;
  perspective-origin: 50% 48%;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* ------- 背景 ------- */
.af-coverflow__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  mask-image: radial-gradient(ellipse 86% 78% at 50% 52%, black 0%, black 40%, transparent 88%);
  -webkit-mask-image: radial-gradient(ellipse 86% 78% at 50% 52%, black 0%, black 40%, transparent 88%);
}
.af-coverflow__bgOrbit {
  position: absolute;
  left: 50%;
  top: 52%;
  width: 110%;
  height: 110%;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(circle 56% 42% at 50% 50%, transparent 0%, rgba(255,122,26,0.12) 36%, rgba(255,122,26,0.05) 52%, transparent 76%),
    repeating-conic-gradient(from 0deg, rgba(255,122,26,0.05) 0deg 1.2deg, transparent 1.2deg 3.5deg);
  filter: blur(0.5px);
  animation: af-coverflowOrbitSpin 22s linear infinite;
}
@keyframes af-coverflowOrbitSpin {
  0%   { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}
.af-coverflow__bgFloor {
  position: absolute;
  left: 50%;
  bottom: -4%;
  width: 160%;
  height: 52%;
  transform: translateX(-50%);
  background-image:
    linear-gradient(rgba(148,163,184,0.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,122,26,0.28) 1px, transparent 1px);
  background-size: 48px 36px, 48px 36px;
  background-position: 50% 0;
  -webkit-mask-image: linear-gradient(to top, black 0%, rgba(0,0,0,0.5) 35%, transparent 100%);
  mask-image: linear-gradient(to top, black 0%, rgba(0,0,0,0.5) 35%, transparent 100%);
  opacity: 0.75;
  animation: af-coverflowFloor 14s linear infinite;
}
@keyframes af-coverflowFloor {
  0%   { background-position: 50% 0, 50% 0; }
  100% { background-position: 50% -36px, 50% -48px; }
}
.af-coverflow__bgSpot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 64%;
  height: 64%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(255,122,26,0.20) 0%, rgba(255,153,31,0.08) 30%, transparent 68%);
  filter: blur(12px);
  animation: af-coverflowSpotPulse 6s ease-in-out infinite;
}
@keyframes af-coverflowSpotPulse {
  0%,100% { opacity: 0.7; transform: translate(-50%,-50%) scale(1); }
  50%     { opacity: 1.0; transform: translate(-50%,-50%) scale(1.06); }
}

/* ------- 舞台 / 轨道 ------- */
.af-coverflow__stage {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.af-coverflow__track {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  will-change: transform;
}

/* ------- 卡片 ------- */
.af-cover-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(340px, 58vw);
  height: min(220px, 40vw);
  transform: translate(-50%, -50%);
  transform-style: preserve-3d;
  will-change: transform, opacity, filter;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  cursor: pointer;
  z-index: 1;
}
/* 手机端：配合 1.6s 快节奏，缩短切换动画至 0.45s，停留更紧凑 */
@media (max-width: 640px) {
  .af-cover-card {
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                filter 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
@media (min-width: 640px) {
  .af-cover-card { width: min(420px, 38vw); height: min(272px, 26vw); }
}
@media (min-width: 1024px) {
  .af-cover-card { width: 460px; height: 296px; }
}
@media (min-width: 1440px) {
  .af-cover-card { width: 512px; height: 328px; }
}
.af-cover-card__shell {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  transform-style: preserve-3d;
  background: #0a0e14;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 26px 70px -24px rgba(0,0,0,0.85),
    0 0 0 1px rgba(255,122,26,0.05);
}
/* 玻璃底 */
.af-cover-card__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 86% at 76% 58%, rgba(34,20,4,0.95) 0%, rgba(10,12,18,1) 62%),
    linear-gradient(180deg, rgba(12,16,24,0.9), rgba(4,8,14,1));
}
/* 外框光晕（激活时明显） */
.af-cover-card__halo {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,122,26,0.0);
  transition: box-shadow 0.5s ease;
  pointer-events: none;
}
/* 数据网格 */
.af-cover-card__grid {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image:
    linear-gradient(rgba(148,163,184,0.55) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,0.55) 1px, transparent 1px);
  background-size: 28px 28px;
  -webkit-mask-image: linear-gradient(105deg, black 0%, black 42%, transparent 78%);
  mask-image: linear-gradient(105deg, black 0%, black 42%, transparent 78%);
}
/* 右侧橙色光 */
.af-cover-card__glow {
  position: absolute;
  inset-y: 0;
  right: 0;
  width: 52%;
  background: radial-gradient(ellipse at 72% 55%, rgba(255,122,26,0.32) 0%, rgba(255,153,31,0.14) 36%, transparent 70%);
}
/* 左边暗部遮罩 */
.af-cover-card__mask {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.18) 32%, rgba(0,0,0,0.04) 54%, transparent 76%);
}
/* 内容 body */
.af-cover-card__body {
  position: relative;
  z-index: 2;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  padding: 6.5% 6.5% 5.5% 6.5%;
  color: #fff;
}
.af-cover-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.af-cover-card__rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  font-weight: 800;
  color: #1a0f04;
  font-size: 12px;
  line-height: 1;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.2), 0 8px 18px -8px rgba(255,122,26,0.6);
}
@media (max-width: 640px) {
  .af-cover-card__rank { width: 30px; height: 30px; font-size: 10px; }
  .af-cover-card__body { padding: 5% 5% 4.5% 5%; }
}
.af-cover-rank--1 { background: linear-gradient(180deg, #FFD37A, #FF9B3B 60%, #F06000); }
.af-cover-rank--2 { background: linear-gradient(180deg, #FFE6B5, #FFB27A 60%, #FF7A1A); }
.af-cover-rank--3 { background: linear-gradient(180deg, #FFF3CF, #FFCC82 60%, #FF8A1F); }
.af-cover-card__titles {
  flex: 1 1 auto;
  min-width: 0;
}
.af-cover-card__name {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0,0,0,0.55);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 640px) { .af-cover-card__name { font-size: 16px; } }
@media (min-width: 1024px) { .af-cover-card__name { font-size: 18px; } }
.af-cover-card__sub {
  margin: 4px 0 0;
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  text-shadow: 0 1px 6px rgba(0,0,0,0.4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 640px) { .af-cover-card__sub { font-size: 12px; } }
.af-cover-card__chip {
  flex-shrink: 0;
  align-self: flex-start;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #FFD3A0;
  background: rgba(255,122,26,0.14);
  border: 1px solid rgba(255,122,26,0.38);
  backdrop-filter: blur(6px);
}

/* 走势 sparkline */
.af-cover-card__spark {
  position: relative;
  flex: 1 1 auto;
  margin: 6px 0;
  min-height: 0;
}
.af-cover-card__spark svg {
  filter: drop-shadow(0 0 10px rgba(255,122,26,0.35));
}
.af-cover-card__sparkBadge {
  position: absolute;
  right: -2%;
  top: -4%;
  padding: 5px 10px;
  border-radius: 10px;
  background: rgba(0,0,0,0.38);
  border: 1px solid rgba(255,122,26,0.35);
  color: #FF8A1F;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.02em;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 24px -14px rgba(255,122,26,0.7);
}
@media (min-width: 640px) {
  .af-cover-card__sparkBadge { font-size: 14px; padding: 6px 12px; }
}

/* 指标 */
.af-cover-card__metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 420px) {
  .af-cover-card__metrics { grid-template-columns: repeat(2, 1fr); gap: 6px; }
}
.af-cover-metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.af-cover-metric__label {
  font-size: 10px;
  line-height: 1;
  color: rgba(255,255,255,0.55);
  text-shadow: 0 1px 6px rgba(0,0,0,0.45);
}
@media (min-width: 640px) { .af-cover-metric__label { font-size: 11px; } }
.af-cover-metric__value {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
  text-shadow: 0 1px 10px rgba(0,0,0,0.5);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 640px) { .af-cover-metric__value { font-size: 16px; } }
@media (min-width: 1024px) { .af-cover-metric__value { font-size: 18px; } }

/* 激活 / 近邻 视觉差异 */
.af-cover-card[data-cover-state="active"] {
  z-index: 20;
}
.af-cover-card[data-cover-state="active"] .af-cover-card__shell {
  box-shadow:
    0 38px 90px -32px rgba(0,0,0,0.95),
    0 0 80px -16px rgba(255,122,26,0.55),
    0 0 0 1px rgba(255,122,26,0.55);
  border-color: rgba(255,122,26,0.55);
}
.af-cover-card[data-cover-state="active"] .af-cover-card__halo {
  box-shadow: inset 0 0 0 1px rgba(255,122,26,0.5), inset 0 0 40px rgba(255,122,26,0.1);
}
.af-cover-card[data-cover-state="active"]::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14%;
  width: 60%;
  height: 28%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse 55% 60% at 50% 50%, rgba(255,122,26,0.45) 0%, rgba(255,122,26,0.12) 40%, transparent 78%);
  filter: blur(8px);
  pointer-events: none;
}
.af-cover-card[data-cover-state="near"] {
  z-index: 10;
}
.af-cover-card[data-cover-state="far"] {
  opacity: 0.5;
  filter: blur(0.6px) saturate(0.8);
}
.af-cover-card[data-cover-state="hidden"] {
  opacity: 0;
  filter: blur(2px);
  pointer-events: none;
}

/* ------- 左右箭头按钮 ------- */
.af-coverflow__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(255,122,26,0.4);
  background: rgba(12,14,20,0.6);
  color: #FFB27A;
  cursor: pointer;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 30px -14px rgba(255,122,26,0.65);
}
.af-coverflow__nav:hover {
  background: linear-gradient(180deg, #FF8E2A, #F06000);
  color: #140800;
  border-color: rgba(255,255,255,0.25);
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 18px 40px -14px rgba(255,122,26,0.95), 0 0 36px -10px rgba(255,122,26,0.8);
}
.af-coverflow__nav--prev { left: max(12px, 3vw); }
.af-coverflow__nav--next { right: max(12px, 3vw); }
.af-coverflow__navHint {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  color: rgba(255,255,255,0.45);
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.af-coverflow__nav:hover .af-coverflow__navHint { opacity: 1; }
@media (max-width: 640px) {
  .af-coverflow__nav { width: 40px; height: 40px; }
  .af-coverflow__navHint { display: none; }
}

/* ------- HUD：当前标题 + 指示点 ------- */
.af-coverflow__hud {
  position: relative;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 0 16px 4px;
}
.af-coverflow__activeTitle {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 6px 14px 8px;
  border-radius: 999px;
  background: rgba(12,14,20,0.55);
  border: 1px solid rgba(255,122,26,0.25);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 40px -24px rgba(255,122,26,0.65);
  max-width: 96%;
}
.af-coverflow__activeNo {
  font-weight: 800;
  color: #FF7A1A;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-shadow: 0 0 14px rgba(255,122,26,0.6);
}
.af-coverflow__activeName {
  font-weight: 700;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.01em;
}
@media (min-width: 640px) { .af-coverflow__activeName { font-size: 16px; } }
.af-coverflow__activeSub {
  font-size: 12px;
  color: rgba(255,255,255,0.55);
}
@media (max-width: 640px) { .af-coverflow__activeSub { display: none; } }

.af-coverflow__dots {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.06);
}
.af-coverflow__dot {
  position: relative;
  appearance: none;
  width: 20px;
  height: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.af-coverflow__dot i {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255,255,255,0.22);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06);
}
.af-coverflow__dot span {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  transform: translateX(-50%) scale(0.9);
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 10px;
  color: #fff;
  background: rgba(255,122,26,0.9);
  white-space: nowrap;
  opacity: 0;
  transition: all 0.3s ease;
  pointer-events: none;
}
.af-coverflow__dot:hover i { background: rgba(255,122,26,0.6); transform: scale(1.3); }
.af-coverflow__dot:hover span { opacity: 1; transform: translateX(-50%) scale(1); }
.af-coverflow__dot[data-active="true"] i {
  width: 22px;
  height: 7px;
  border-radius: 4px;
  background: linear-gradient(90deg, #FF9B3B, #FF7A1A 50%, #F06000);
  box-shadow: 0 0 12px rgba(255,122,26,0.8);
}

@media (prefers-reduced-motion: reduce) {
  .af-coverflow__bgOrbit,
  .af-coverflow__bgFloor,
  .af-coverflow__bgSpot { animation: none !important; }
  .af-cover-card { transition: opacity 0.2s ease; }
}

/* ===== alphaaiquant 顶部 logo 文字渐变（前白尾橙 + 慢速 shimmer） ===== */
.alphaaiquant-wordmark {
  background-image: linear-gradient(110deg,
    var(--landing-foreground, #fff) 0%,
    var(--landing-foreground, #fff) 48%,
    #FFC28A 60%,
    #FF7A1A 72%,
    #FF8A1F 84%,
    #FFB27A 96%,
    #FFC28A 100%) !important;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  background-size: 220% 100%;
  animation: alphaaiquantPan 7s linear infinite;
  will-change: background-position;
}
@keyframes alphaaiquantPan {
  0%   { background-position: 0% 50%; }
  100% { background-position: 220% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .alphaaiquant-wordmark { animation: none !important; }
}
