@import 'tailwindcss';

:root {
  --background: #0f172a;
  --foreground: #f8fafc;
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-geist-sans);
  --font-mono: var(--font-geist-mono);
  --animate-gradient-shift-hero: gradient-shift-hero 6s ease-in-out infinite;
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family:
    'Inter',
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    sans-serif;
}

/* Custom animations */
@keyframes gradient-shift {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes gradient-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes gradient-shift-hero {
  0% {
    background-position: 100% 50%;
  }
  50% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

.animate-gradient {
  background-size: 200% 200%;
  animation: gradient-shift 3s ease infinite;
}

.animate-fade-in {
  animation: fade-in 0.5s ease-out forwards;
}

.delay-700 {
  animation-delay: 700ms;
}

/* Hero Section - Beta Dot Animation */
@keyframes beta-dot-delay {
  0%,
  99% {
    background-color: rgb(107, 114, 128);
  }
  100% {
    background-color: rgb(74, 222, 128);
  }
}

@keyframes beta-dot-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

.beta-dot {
  animation:
    beta-dot-delay 20s linear forwards,
    beta-dot-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) 20s infinite;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Custom Scrollbars for Dark Theme */
/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: rgb(71, 85, 105) rgb(15, 23, 42); /* slate-600 on slate-950 */
}

/* Webkit browsers (Chrome, Safari, Edge) */
*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

*::-webkit-scrollbar-track {
  background: rgb(15, 23, 42); /* slate-950 */
  border-radius: 4px;
}

*::-webkit-scrollbar-thumb {
  background: rgb(71, 85, 105); /* slate-600 */
  border-radius: 4px;
  border: 2px solid rgb(15, 23, 42); /* slate-950 */
}

*::-webkit-scrollbar-thumb:hover {
  background: rgb(100, 116, 139); /* slate-500 */
}

/* Code blocks - slightly brighter scrollbar for better visibility */
pre::-webkit-scrollbar-thumb {
  background: rgb(100, 116, 139); /* slate-500 */
}

pre::-webkit-scrollbar-thumb:hover {
  background: rgb(148, 163, 184); /* slate-400 */
}

/* Blog code block scrollbar - light track for dark code blocks */
.blog-scrollbar::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}

.blog-scrollbar::-webkit-scrollbar-track {
  background: #1f2937;
  border-radius: 4px;
}

.blog-scrollbar::-webkit-scrollbar-thumb {
  background: #4b5563;
  border-radius: 4px;
}

.blog-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #6b7280;
}
