/* 分类 / 筛选 Tab 默认非激活样式 */
.cat-tab:not(.active-cat),
.filter-tab:not(.active-tab) {
  background-color: rgb(31 41 55); /* bg-gray-800 */
  color: rgb(156 163 175);         /* text-gray-400 */
}
.cat-tab:not(.active-cat):hover,
.filter-tab:not(.active-tab):hover {
  color: rgb(229 231 235);
}
.active-cat,
.active-tab {
  background-color: #8b5cf6;       /* primary */
  color: #fff;
}

/* 页面入场淡入（仅入场，无出场黑屏） */
@keyframes pageIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
body {
  opacity: 0;
}
body.ready {
  animation: pageIn 0.18s ease forwards;
}

/* 自定义滚动条 */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0b0f19; }
::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #334155; }

/* 霓虹发光效果 */
.neon-glow {
  box-shadow: 0 0 20px rgba(139, 92, 246, 0.4);
}

.text-gradient {
  background: linear-gradient(to right, #8b5cf6, #3b82f6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* FAQ 展开动画 */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] summary ~ * { animation: fadeIn 0.3s ease-in-out; }

@keyframes fadeIn {
  0%   { opacity: 0; transform: translateY(-10px); }
  100% { opacity: 1; transform: translateY(0); }
}
