/* Unified slide styling for Buidl Land presentation */

:root {
  /* Enhanced vibrant gradients */
  --gradient-1: #4338ca;
  --gradient-2: #6d28d9;
  --gradient-3: #06b6d4;
  --gradient-4: #10b981;
  --gradient-5: #8b5cf6;
  --gradient-accent: #f472b6;

  /* Card styling */
  --card-bg: rgba(15, 15, 25, 0.65);
  --card-border: rgba(255, 255, 255, 0.12);
  --card-border-hover: rgba(255, 255, 255, 0.35);
  --glass-blur: 20px;

  /* Text colors */
  --text-primary: rgba(255, 255, 255, 0.95);
  --text-secondary: rgba(255, 255, 255, 0.7);
  --text-muted: rgba(255, 255, 255, 0.45);
  --text-accent: #a78bfa;

  /* Font sizes */
  --font-size-xxl: 3.0rem; /* Reduced */
  --font-size-xl: 2.2rem; /* Reduced */
  --font-size-lg: 1.5rem; /* Reduced */
  --font-size-md: 1.1rem; /* Reduced */
  --font-size-sm: 0.9rem; /* Reduced */
  --font-size-xs: 0.8rem; /* Reduced */
}

body {
  margin: 0;
  padding: 0;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text-primary);
  background-color: #080814;
  line-height: 1.6;
}

/* Cosmic space background */
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    125deg,
    #050c2e 0%,
    #0c1445 25%,
    #0a0a2a 50%,
    #030b30 75%,
    #02082d 100%
  );
  opacity: 1;
  z-index: -10;
}

/* Stars effect overlay */
.stars-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:
    radial-gradient(2px 2px at 20px 30px, rgba(255, 255, 255, 0.9), rgba(0, 0, 0, 0)),
    radial-gradient(2px 2px at 40px 70px, rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0)),
    radial-gradient(2px 2px at 50px 160px, rgba(255, 255, 255, 0.7), rgba(0, 0, 0, 0)),
    radial-gradient(2px 2px at 90px 40px, rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0)),
    radial-gradient(2px 2px at 130px 80px, rgba(255, 255, 255, 0.9), rgba(0, 0, 0, 0)),
    radial-gradient(2px 2px at 160px 120px, rgba(255, 255, 255, 0.7), rgba(0, 0, 0, 0));
  background-repeat: repeat;
  background-size: 200px 200px;
  opacity: 0.5;
  z-index: -9;
  animation: stars-move 100s linear infinite;
}

/* Space nebula effect */
.nebula-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(67, 26, 143, 0.2) 0%, transparent 70%),
    radial-gradient(ellipse at 80% 40%, rgba(47, 0, 255, 0.2) 0%, transparent 70%),
    radial-gradient(ellipse at 10% 80%, rgba(184, 0, 161, 0.2) 0%, transparent 70%),
    radial-gradient(ellipse at 90% 10%, rgba(0, 204, 255, 0.2) 0%, transparent 70%),
    radial-gradient(ellipse at 50% 60%, rgba(60, 0, 255, 0.2) 0%, transparent 70%);
  opacity: 0.7;
  z-index: -8;
  filter: blur(20px);
  animation: nebula-pulse 15s ease-in-out infinite alternate;
}

/* Enhanced noise texture overlay */
.noise {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48ZmlsdGVyIGlkPSJhIiB4PSIwIiB5PSIwIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iLjc1IiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+PGZlQ29sb3JNYXRyaXggdHlwZT0ic2F0dXJhdGUiIHZhbHVlcz0iMCIvPjwvZmlsdGVyPjxwYXRoIGZpbHRlcj0idXJsKCNhKSIgb3BhY2l0eT0iLjA1IiBkPSJNMCAwaDMwMHYzMDBIMHoiLz48L3N2Zz4=');
  opacity: 0.4;
  z-index: -6;
  pointer-events: none;
}

/* Animation keyframes */
@keyframes stars-move {
  from { background-position: 0 0; }
  to { background-position: 1000px 1000px; }
}

@keyframes nebula-pulse {
  0% {
    opacity: 0.5;
    filter: blur(20px) hue-rotate(0deg);
  }
  50% {
    opacity: 0.7;
    filter: blur(25px) hue-rotate(30deg);
  }
  100% {
    opacity: 0.5;
    filter: blur(20px) hue-rotate(60deg);
  }
}

/* Optimized typography */
/* Heading styles to override Tailwind Preflight */
:is(h1, h2, h3, h4, h5, h6) {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: var(--text-primary) !important;
  margin: 0.4em 0 !important; /* Reduced */
  line-height: 1.3 !important;
}

h1 {
  font-size: 2.2rem !important; /* Reduced */
  font-weight: 700 !important;
}

h2 {
  font-size: 1.8rem !important; /* Reduced */
  font-weight: 600 !important;
}

h3 {
  font-size: 1.5rem !important; /* Reduced */
  font-weight: 600 !important;
}

h4 {
  font-size: 1.3rem !important; /* Reduced */
  font-weight: 500 !important;
}

h5 {
  font-size: 1.1rem !important; /* Reduced */
  font-weight: 500 !important;
}

h6 {
  font-size: 0.9rem !important; /* Reduced */
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

p {
  font-size: var(--font-size-md);
  color: var(--text-secondary);
  margin-bottom: 1rem; /* Reduced */
  max-width: 65ch;
}

.text-center {
  text-align: center;
  margin: 0 auto;
  max-width: 80ch;
}

.text-accent {
  color: var(--text-accent);
}

.text-gradient {
  background: linear-gradient(
    90deg,
    var(--text-primary) 0%,
    var(--text-accent) 50%,
    var(--text-primary) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.05);
}

/* Enhanced container styling */
.container {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 1.5rem; /* Reduced */
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Animated fade in for content */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeIn 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Staggered delays for children */
.fade-in > * {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeInItem 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.fade-in > *:nth-child(1) { animation-delay: 0.1s; }
.fade-in > *:nth-child(2) { animation-delay: 0.3s; }
.fade-in > *:nth-child(3) { animation-delay: 0.5s; }
.fade-in > *:nth-child(4) { animation-delay: 0.7s; }
.fade-in > *:nth-child(5) { animation-delay: 0.9s; }

@keyframes fadeInItem {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Enhanced cards */
.card {
  background: rgba(15, 15, 25, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 1rem;
  padding: 1.2rem; /* Reduced */
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 255, 255, 0.3);
  box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.3);
}

/* Enhanced buttons */
.btn {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 2rem;
  padding: 0.6rem 1.2rem; /* Reduced */
  font-weight: 500;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
  color: var(--text-primary);
  cursor: pointer;
}

.btn:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Particles effect */
.particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -5;
}

.particle {
  position: absolute;
  display: block;
  background: rgba(255, 255, 255, 0.5);
  width: 3px;
  height: 3px;
  border-radius: 50%;
  animation: particleFloat 25s infinite linear;
}

@keyframes particleFloat {
  0% {
    transform: translateY(0) translateX(0);
    opacity: 0;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    transform: translateY(-100vh) translateX(100vw);
    opacity: 0;
  }
}