/* ============================================================
   Inflection 全站 3D 增强层 boost3d.css v1
   卡片 3D 悬停 / 玻璃拟态 / 滚动浮现 / 按钮立体
   官网 + 16 产品共享（/assets/boost3d.css）
   ============================================================ */
:root { --b3-tilt: 10deg; --b3-glow: rgba(160, 107, 255, .35); }

/* 粒子背景层（boost3d.js 注入的 canvas） */
#b3Particles {
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  opacity: .55;
}

/* 3D tilt 卡片（boost3d.js 自动挂 .b3tilt 类） */
.b3tilt {
  transform-style: preserve-3d;
  transition: transform .18s ease, box-shadow .3s ease;
  will-change: transform;
}
.b3tilt:hover {
  box-shadow: 0 18px 46px -12px var(--b3-glow), 0 0 0 1px rgba(255,255,255,.06) inset;
}
.b3tilt > * { transform: translateZ(18px); }

/* 滚动浮现 */
.b3reveal {
  opacity: 0;
  transform: translateY(26px) rotateX(6deg);
  transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);
}
.b3reveal.b3in {
  opacity: 1;
  transform: none;
}

/* 按钮立体 */
.b3btn, button.primary, .btn, a.cta {
  transition: transform .16s ease, box-shadow .16s ease !important;
}
.b3btn:hover, button.primary:hover, .btn:hover, a.cta:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 10px 26px -8px var(--b3-glow);
}
.b3btn:active, button.primary:active, .btn:active, a.cta:active {
  transform: translateY(0) scale(.99);
}

/* 顶部光晕扫过（挂 body::before 会与站点冲突，改独立元素） */
#b3Sheen {
  position: fixed; top: 0; left: -30%; width: 60%; height: 2px;
  background: linear-gradient(90deg, transparent, var(--b3-glow), transparent);
  filter: blur(1px);
  animation: b3sweep 7s linear infinite;
  pointer-events: none; z-index: 9999; opacity: .7;
}
@keyframes b3sweep {
  0% { left: -35%; }
  100% { left: 105%; }
}

/* 减少动效偏好 */
@media (prefers-reduced-motion: reduce) {
  .b3tilt, .b3reveal, #b3Sheen { transition: none !important; animation: none !important; }
  .b3reveal { opacity: 1; transform: none; }
}
