.yjdm-fantasy-layout {
  background: linear-gradient(135deg, #f5f3ff 0%, #fdf4ff 50%, #f0f9ff 100%);
}

.yjdm-category-card {
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.yjdm-category-card:hover {
  transform: translateY(-8px) rotate(2deg);
  box-shadow: 0 20px 50px rgba(124, 58, 237, 0.25);
}

.yjdm-category-icon {
  transition: transform 0.3s ease;
}

.yjdm-category-card:hover .yjdm-category-icon {
  transform: scale(1.2) rotate(-5deg);
}

.yjdm-fantasy-card {
  border-radius: 24px;
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
}

.yjdm-fantasy-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 60px rgba(139, 92, 246, 0.3);
}

@keyframes fantasySparkle {
  0% { opacity: 0.4; transform: scale(1) rotate(0deg); }
  50% { opacity: 1; transform: scale(1.1) rotate(180deg); }
  100% { opacity: 0.4; transform: scale(1) rotate(360deg); }
}

.yjdm-fantasy-badge::before {
  content: '✨';
  animation: fantasySparkle 2s infinite;
}