/* Glass depth */
.glass-3d {
  background: var(--glass);
  backdrop-filter: blur(16px);
  border: 1px solid var(--line);
  box-shadow:
    0 10px 36px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2);
  transform-style: preserve-3d;
}

/* Neon text */
.neon-text {
  text-shadow:
    0 0 8px rgba(168, 85, 247, 0.6),
    0 0 20px rgba(168, 85, 247, 0.3);
}

/* Depth layers for cards */
.depth-card {
  transform-style: preserve-3d;
  perspective: 800px;
}
.depth-card:hover {
  transform: translateZ(8px);
}

/* Soft vignette overlay helper */
.vignette::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 50%, rgba(0, 0, 0, 0.35) 100%);
}

/* Particle dots in background */
.bg-dot {
  position: absolute;
  width: 3px; height: 3px; border-radius: 50%;
  background: rgba(168, 85, 247, 0.35);
  animation: particle-float linear infinite;
}

/* Shine sweep on buttons */
.btn-shine {
  position: relative; overflow: hidden;
}
.btn-shine::after {
  content: '';
  position: absolute; top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
  animation: shine-sweep 3s ease-in-out infinite;
}
@keyframes shine-sweep {
  0% { left: -100%; }
  40%, 100% { left: 120%; }
}
