:root {
  --primary: #FF6B35;
  --primary-dark: #D94F1E;
  --primary-light: #FF9A6C;
  --secondary: #2D2D2D;
  --accent: #FFD166;
  --neon-cyan: #22d3ee;
  --neon-magenta: #e879f9;
  --cyber-bg: #08080c;
}

* { scroll-behavior: smooth; }

body {
  background: #08080c;
  background-image:
    radial-gradient(ellipse 80% 60% at 20% 0%, rgba(34,211,238,.12), transparent),
    radial-gradient(ellipse 70% 50% at 90% 10%, rgba(232,121,249,.10), transparent);
  background-attachment: fixed;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0d0d14; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--neon-cyan), var(--neon-magenta));
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover { background: var(--neon-cyan); }

/* 渐变霓虹文字 */
.text-gradient {
  background: linear-gradient(100deg, #22d3ee 0%, #e879f9 60%, #818cf8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* 玻璃拟态卡片 */
.glass {
  background: rgba(20, 22, 34, 0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.glass-strong {
  background: rgba(14, 15, 24, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

/* 卡片 hover 霓虹发光边框 */
.neon-card {
  position: relative;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.neon-card:hover {
  transform: translateY(-6px);
  border-color: rgba(34, 211, 238, 0.55);
  box-shadow:
    0 0 0 1px rgba(34, 211, 238, 0.35),
    0 0 28px rgba(34, 211, 238, 0.22),
    0 0 48px rgba(232, 121, 249, 0.14);
}

/* 霓虹按钮发光 */
.neon-glow {
  box-shadow: 0 0 22px rgba(34, 211, 238, 0.35), 0 0 8px rgba(232, 121, 249, 0.25);
  transition: box-shadow .3s ease, transform .3s ease;
}
.neon-glow:hover {
  box-shadow: 0 0 36px rgba(34, 211, 238, 0.6), 0 0 16px rgba(232, 121, 249, 0.4);
  transform: translateY(-2px);
}

/* 霓虹文字描边发光 */
.neon-text { text-shadow: 0 0 14px rgba(34, 211, 238, 0.55); }

/* 移动端抽屉导航 */
.nav { transition: transform .35s cubic-bezier(.4,0,.2,1); }
@media (max-width: 1023px) {
  .nav {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 82%; max-width: 340px;
    flex-direction: column;
    align-items: flex-start;
    background: rgba(10, 11, 18, 0.96);
    backdrop-filter: blur(20px);
    padding: 6rem 1.75rem 2rem;
    transform: translateX(100%);
    z-index: 60; overflow-y: auto;
    border-left: 1px solid rgba(34, 211, 238, 0.25);
  }
  .nav.active { transform: translateX(0); }
  .menu-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.7);
    opacity: 0; visibility: hidden;
    transition: opacity .3s ease;
    z-index: 55;
  }
  .menu-overlay.active { opacity: 1; visibility: visible; }
  body.menu-open { overflow: hidden; }
}

/* FAQ 折叠 */
.faq-answer {
  max-height: 0; overflow: hidden; opacity: 0;
  transition: max-height .35s ease, opacity .35s ease;
}
.faq-icon { transition: transform .3s ease; }

/* 回到顶部 */
.back-to-top {
  opacity: 0; visibility: hidden;
  transition: opacity .3s ease, transform .3s ease;
}
.back-to-top.visible { opacity: 1; visibility: visible; }

/* 分类 Tab 激活态 */
.cat-tab.active {
  background: linear-gradient(100deg, var(--neon-cyan), var(--neon-magenta)) !important;
  color: #08080c !important;
  border-color: transparent !important;
  box-shadow: 0 0 18px rgba(34, 211, 238, 0.45);
}

/* 网格扫描线背景 */
.cyber-grid {
  background-image:
    linear-gradient(rgba(34,211,238,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34,211,238,.06) 1px, transparent 1px);
  background-size: 48px 48px;
}

@media print {
  header, footer, nav, .no-print { display: none !important; }
  body { background: #fff; color: #000; }
}
