/* Custom Styles and Animations for Liebed */

:root {
  --brand-color: #8b5cf6;
  --accent-color: #3b82f6;
}

body {
  overflow-x: hidden;
}

/* Glassmorphism */
.glass-card {
  background: rgba(10, 10, 12, 0.6);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.nav-glass {
  background: rgba(3, 3, 3, 0.7);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.nav-scrolled {
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Scroll Animations */
.reveal-up {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-up.active {
  opacity: 1;
  transform: translateY(0);
}

/* Custom flow animations */
@keyframes flow-y {
  0% { transform: translateY(-100%); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateY(100%); opacity: 0; }
}

.data-flow-y {
  position: relative;
  overflow: hidden;
}

.data-flow-y::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.8), transparent);
  animation: flow-y 2s infinite linear;
}

/* Code block styles */
.code-block pre {
  margin: 0;
  padding: 0;
  background: transparent;
}

/* Grid background for CTA */
.cta-grid {
  background-size: 50px 50px;
  background-image: 
    linear-gradient(to right, rgba(139, 92, 246, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(139, 92, 246, 0.05) 1px, transparent 1px);
  mask-image: linear-gradient(to bottom, transparent, black, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black, transparent);
  animation: grid-move 20s linear infinite;
}

@keyframes grid-move {
  0% { transform: translateY(0); }
  100% { transform: translateY(50px); }
}
