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

@plugin "tailwindcss-animate";

@theme inline {
  --font-sans:
    Inter, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-mono:
    "JetBrains Mono", Menlo, ui-monospace, SFMono-Regular, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;

  --color-border: hsl(var(--border));
  --color-input: hsl(var(--input));
  --color-ring: hsl(var(--ring));
  --color-background: hsl(var(--background));
  --color-foreground: hsl(var(--foreground));
  --color-primary: hsl(var(--primary));
  --color-primary-foreground: hsl(var(--primary-foreground));
  --color-secondary: hsl(var(--secondary));
  --color-secondary-foreground: hsl(var(--secondary-foreground));
  --color-destructive: hsl(var(--destructive));
  --color-destructive-foreground: hsl(var(--destructive-foreground));
  --color-muted: hsl(var(--muted));
  --color-muted-foreground: hsl(var(--muted-foreground));
  --color-accent: hsl(var(--accent));
  --color-accent-foreground: hsl(var(--accent-foreground));
  --color-popover: hsl(var(--popover));
  --color-popover-foreground: hsl(var(--popover-foreground));
  --color-card: hsl(var(--card));
  --color-card-foreground: hsl(var(--card-foreground));
  --color-sidebar: hsl(var(--sidebar-background));
  --color-sidebar-foreground: hsl(var(--sidebar-foreground));
  --color-sidebar-primary: hsl(var(--sidebar-primary));
  --color-sidebar-primary-foreground: hsl(var(--sidebar-primary-foreground));
  --color-sidebar-accent: hsl(var(--sidebar-accent));
  --color-sidebar-accent-foreground: hsl(var(--sidebar-accent-foreground));
  --color-sidebar-border: hsl(var(--sidebar-border));
  --color-sidebar-ring: hsl(var(--sidebar-ring));
  --color-success: hsl(var(--success));
  --color-success-foreground: hsl(var(--success-foreground));
  --color-warning: hsl(var(--warning));
  --color-warning-foreground: hsl(var(--warning-foreground));
  --color-green: hsl(var(--green));
  --color-red: hsl(var(--red));
  --color-blue: hsl(var(--blue));
  --color-purple: hsl(var(--purple));
  --color-yellow: hsl(var(--yellow));
  --color-gray: hsl(var(--gray));
  --color-primary-light: hsl(var(--primary-light));

  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);

  --animate-accordion-down: accordion-down 0.4s ease-out;
  --animate-accordion-up: accordion-up 0.4s ease-out;
}

@keyframes accordion-down {
  from {
    height: 0;
  }

  to {
    height: var(--radix-accordion-content-height);
  }
}

@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height);
  }

  to {
    height: 0;
  }
}

@layer base {
  :root,
  .light {
    --background: 220 2% 96%;
    --foreground: 234 16% 35%;

    --card: 0 0% 100%;
    --card-foreground: 234 16% 35%;

    --popover: 220 2% 96%;
    --popover-foreground: 234 16% 35%;

    --primary: 167 34% 20%;
    --primary-foreground: 210 40% 98%;

    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;

    --muted: 240 11% 88%;
    --muted-foreground: 215.4 16.3% 46.9%;

    --accent: 240 11% 88%;
    --accent-foreground: 222.2 47.4% 11.2%;

    --destructive: 347 62% 55%;
    --destructive-foreground: 210 40% 98%;

    --warning: 35 77% 49%;
    --warning-foreground: 210 40% 98%;

    --success: 142 49% 44%;
    --success-foreground: 210 40% 98%;

    --border: 220 21% 89%;
    --input: 214.3 31.8% 91.4%;
    --ring: 222.2 84% 4.9%;

    --radius: 0.5rem;

    --chart-1: 12 76% 61%;
    --chart-2: 173 58% 39%;
    --chart-3: 197 37% 24%;
    --chart-4: 43 74% 66%;
    --chart-5: 27 87% 67%;

    --sidebar-background: 220 2% 96%;
    --sidebar-foreground: 234 16% 35%;
    --sidebar-primary: 167 34% 20%;
    --sidebar-primary-foreground: 210 40% 98%;
    --sidebar-accent: 240 11% 88%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 240 11% 88%;
    --sidebar-ring: 217.2 91.2% 59.8%;

    /* Status Colors */
    --green: 109 58% 40%;
    --red: 347 87% 44%;
    --blue: 197 97% 46%;
    --purple: 266 85% 58%;
    --yellow: 35 77% 49%;
    --gray: 220 9% 46%;
    --primary-light: 183 74% 35%;
  }

  .dark {
    --background: 240 21% 12%;
    --foreground: 226 64% 88%;

    --card: 222.2 84% 4.9%;
    --card-foreground: 226 64% 88%;

    --popover: 240 21% 15%;
    --popover-foreground: 226 64% 88%;

    --primary: 167 64% 94%;
    --primary-foreground: 240 23% 9%;

    --secondary: 217.2 32.6% 17.5%;
    --secondary-foreground: 210 40% 98%;

    --muted: 237 16% 23%;
    --muted-foreground: 215 20.2% 65.1%;

    --accent: 237 16% 23%;
    --accent-foreground: 210 40% 98%;

    --destructive: 343 81% 75%;
    --destructive-foreground: 240 21% 15%;

    --success: 115 54% 76%;
    --success-foreground: 210 40% 98%;

    --warning: 41 86% 83%;
    --warning-foreground: 210 40% 98%;

    --border: 237 16% 23%;
    --input: 217.2 32.6% 17.5%;
    --ring: 217.2 32.6% 17.5%;

    --chart-1: 220 70% 50%;
    --chart-2: 160 60% 45%;
    --chart-3: 30 80% 55%;
    --chart-4: 280 65% 60%;
    --chart-5: 340 75% 55%;

    --sidebar-background: 240 21% 12%;
    --sidebar-foreground: 226 64% 88%;
    --sidebar-primary: 167 64% 94%;
    --sidebar-primary-foreground: 240 23% 9%;
    --sidebar-accent: 237 17% 20%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 21% 15%;
    --sidebar-ring: 217.2 91.2% 59.8%;

    /* Status Colors - Dark Mode */
    --green: 115 54% 76%;
    --red: 343 81% 75%;
    --blue: 212 96% 78%;
    --purple: 267 84% 81%;
    --yellow: 41 86% 83%;
    --gray: 218 11% 65%;
    --primary-light: 170 57% 73%;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground h-full;
  }
  html {
    @apply h-full;
  }
}

/* Prevent italic styling in Shiki code blocks */
.shiki,
.shiki span {
  font-style: normal !important;
}

.dark .shiki,
.dark .shiki span {
  color: var(--shiki-dark) !important;
  background-color: var(--shiki-dark-bg) !important;
  /* Optional, if you also want font styles */
  font-weight: var(--shiki-dark-font-weight) !important;
  text-decoration: var(--shiki-dark-text-decoration) !important;
}

@layer utilities {
  .container {
    margin-inline: auto;
    padding-inline: 2rem;
  }

  @media (min-width: 1400px) {
    .container {
      max-width: 1400px;
    }
  }

  /* Hide scrollbars but preserve scroll behavior */
  .no-scrollbar::-webkit-scrollbar {
    display: none;
  }
  .no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
}

/* .app,
::before,
::after {
  @apply border-border;
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
} */
