@import "tailwindcss";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

@theme inline {
  --color-home-background: var(--bg-gradient);
  --dashboard-src: var(--dashboard-src);
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-geist-sans);
  --font-mono: var(--font-geist-mono);
  --color-sidebar-ring: var(--sidebar-ring);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar: var(--sidebar);
  --color-chart-5: var(--chart-5);
  --color-chart-4: var(--chart-4);
  --color-chart-3: var(--chart-3);
  --color-chart-2: var(--chart-2);
  --color-chart-1: var(--chart-1);
  --color-ring: var(--ring);
  --color-input: var(--input);
  --color-border: var(--border);
  --color-destructive: var(--destructive);
  --color-accent-foreground: var(--accent-foreground);
  --color-accent: var(--accent);
  --color-muted-foreground: var(--muted-foreground);
  --color-muted: var(--muted);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-secondary: var(--secondary);
  --color-primary-foreground: var(--primary-foreground);
  --color-primary: var(--primary);
  --color-primary-rgb: var(--primary-rgb);
  --color-popover-foreground: var(--popover-foreground);
  --color-popover: var(--popover);
  --color-card-foreground: var(--card-foreground);
  --color-card: var(--card);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
}

:root {
  --bg-gradient: linear-gradient(135deg, #ffffff 0%, #f2f2f2 100%);
  --dashboard-src: url("/light-dashboard.png");
  --radius: 0.5rem;
  /* Light Mode - Professional blue theme with excellent contrast */
  --background: #ffffff;
  --foreground: #0f172a;
  --card: #ffffff;
  --card-foreground: #0f172a;
  --popover: #ffffff;
  --popover-foreground: #0f172a;
  --primary: #2563eb;
  --primary-rgb: 37, 99, 235;
  --primary-foreground: #ffffff;
  --secondary: #f8fafc;
  --secondary-foreground: #334155;
  --muted: #f1f5f9;
  --muted-foreground: #64748b;
  --accent: #f1f5f9;
  --loading: #9fa1a3;
  --accent-foreground: #334155;
  --destructive: #ef4444;
  --destructive-foreground: #ffffff;
  --border: #e2e8f0;
  --input: #e2e8f0;
  --ring: #2563eb;
  --chart-1: #2563eb;
  --chart-2: #3b82f6;
  --chart-3: #60a5fa;
  --chart-4: #93c5fd;
  --chart-5: #bfdbfe;
  --sidebar: #f8fafc;
  --sidebar-foreground: #0f172a;
  --sidebar-primary: #2563eb;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #f1f5f9;
  --sidebar-accent-foreground: #334155;
  --sidebar-border: #e2e8f0;
  --sidebar-ring: #2563eb;
  --scrollbar-bg: #f1f5f9; /* light background */
  --scrollbar-thumb: #0d0505; /* light thumb */
  --scrollbar-thumb-hover: #94a3b8; /* light thumb hover */
}

.dark {
  /* Dark Mode - Black and purple theme like the image */
  --bg-gradient: linear-gradient(135deg, #000000 0%, #1a0a2e 100%);
  --dashboard-src: url("/dark-dashboard.png");
  --background: #000000;
  --foreground: #ffffff;
  --card: #0a0a0a;
  --card-foreground: #ffffff;
  --popover: #0a0a0a;
  --popover-foreground: #ffffff;
  --primary: #8b5cf6;
  --primary-rgb: 139, 92, 246;
  --primary-foreground: #ffffff;
  --secondary: #1a1a1a;
  --secondary-foreground: #e2e8f0;
  --muted: #1a1a1a;
  --muted-foreground: #94a3b8;
  --accent: #1a1a1a;
  --accent-foreground: #e2e8f0;
  --destructive: #dc2626;
  --destructive-foreground: #ffffff;
  --border: #262626;
  --input: #1a1a1a;
  --ring: #8b5cf6;
  --chart-1: #8b5cf6;
  --chart-2: #a855f7;
  --chart-3: #c084fc;
  --chart-4: #d8b4fe;
  --chart-5: #e9d5ff;
  --sidebar: #0a0a0a;
  --sidebar-foreground: #ffffff;
  --sidebar-primary: #8b5cf6;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #1a1a1a;
  --sidebar-accent-foreground: #e2e8f0;
  --sidebar-border: #262626;
  --sidebar-ring: #8b5cf6;
  --scrollbar-bg: #18181b; /* dark background */
  --scrollbar-thumb: #89898d; /* dark thumb */
  --scrollbar-thumb-hover: #52525b; /* dark thumb hover */
}
/* For Chrome, Edge, and Safari */
body,
* {
  scrollbar-width: 12px;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-bg);
}

body::-webkit-scrollbar,
*::-webkit-scrollbar {
  width: 12px;
  background: var(--scrollbar-bg);
}

body::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 12px;
  transition: background 0.2s;
}

body::-webkit-scrollbar-thumb:hover,
*::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
}

@keyframes float {
  0%,
  100% {
    transform: translateY(20px) rotate(4deg);
  }
  50% {
    transform: translateY(-20px) rotate(-4deg);
  }
}
.animate-float {
  animation: float 4s ease-in-out infinite;
}

/* Continuous Scrolling Animations */
@keyframes scroll-right {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes scroll-left {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

.animate-scroll-right {
  animation: scroll-right 20s linear infinite;
}

.animate-scroll-left {
  animation: scroll-left 20s linear infinite;
}

/* Pause animation on hover */
.animate-scroll-right:hover,
.animate-scroll-left:hover {
  animation-play-state: paused;
}

/* Vertical Scrolling Animation */
@keyframes scroll-vertical {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(-100%);
  }
}

.animate-scroll-vertical {
  animation: scroll-vertical 40s linear infinite;
}

/* Pause vertical animation on hover */
.animate-scroll-vertical:hover {
  animation-play-state: paused;
}

/* Smooth Vertical Scrolling Animation like Verloop */
@keyframes scroll-vertical-smooth {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}

.animate-scroll-vertical-smooth {
  animation: scroll-vertical-smooth 20s linear infinite;
}

/* Pause smooth vertical animation on hover */
.animate-scroll-vertical-smooth:hover {
  animation-play-state: paused;
}

@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  body {
    @apply bg-background text-foreground;
    font-feature-settings:
      "rlig" 1,
      "calt" 1;
  }
}

@layer utilities {
  .bg-light-gradient {
    background-image: linear-gradient(135deg, #ffffff 0%, #f2f2f2 100%);
  }

  .bg-dark-gradient {
    background-image: linear-gradient(135deg, #0a0613 0%, #150d27 100%);
  }
}
