@import "./design-system.css";

@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
  :root {
    --nav-height: 57px;
    --background: 0 0% 100%;
    --foreground: 0 0% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 0 0% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 0 0% 3.9%;
    --primary: 0 0% 9%;
    --primary-foreground: 0 0% 98%;
    --secondary: 0 0% 96.1%;
    --secondary-foreground: 0 0% 9%;
    --muted: 0 0% 96.1%;
    --muted-foreground: 0 0% 45.1%;
    --accent: 0 0% 96.1%;
    --accent-foreground: 0 0% 9%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: var(--ds-gray-200-value);
    --input: 0 0% 89.8%;
    --ring: 0 0% 3.9%;
    --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%;
    --radius: 0.5rem;

    --mobile-menu-height: 41px;

    /* fumadocs */
    --fd-foreground: var(--ds-gray-1000-value);
    /* Fumadocs doesn't use HSLA, but rather HSL...
    so it makes it difficult pass through our variables */
    --fd-popover: 0 0 100%;
    --fd-secondary: var(--ds-background-100-value);
    --fd-muted-foreground: 0 0 40%;
  }

  .dark {
    --background: 0 0% 3.9%;
    --foreground: 0 0% 98%;
    --card: 0 0% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 0 0% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 0 0% 9%;
    --secondary: 0 0% 14.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 0 0% 14.9%;
    --muted-foreground: 0 0% 63.9%;
    --accent: 0 0% 14.9%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border: var(--ds-gray-200-value);
    --input: 0 0% 14.9%;
    --ring: 0 0% 83.1%;
    --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%;

    --fd-popover: 0 0 4%;
    --fd-muted-foreground: 0 0 63%;
  }

  /* Code syntax highlighting */
  /* copied from @vercel/geist/src/components/code-block/code-block.module.css */
  pre {
    background: white;
    --shiki-color-text: var(--ds-gray-1000);
    --shiki-color-background: transparent;
    --shiki-token-constant: var(--ds-blue-900);
    --shiki-token-string: var(--ds-green-900);
    --shiki-token-comment: var(--ds-gray-900);
    --shiki-token-keyword: var(--ds-pink-900);
    --shiki-token-parameter: var(--ds-amber-900);
    --shiki-token-function: var(--ds-purple-900);
    --shiki-token-string-expression: var(--ds-green-900);
    --shiki-token-punctuation: var(--ds-gray-1000);
    --shiki-token-link: var(--ds-green-900);
    --shiki-token-inserted: var(--ds-green-900);
    --shiki-token-deleted: var(--ds-red-900);
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply !bg-background-100 text-foreground;
    text-rendering: optimizeLegibility;
    text-size-adjust: 100%;
    --moz-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
  }
}

@layer base {
  :root {
    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }

  .dark {
    --sidebar-background: 240 5.9% 10%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 224.3 76.3% 48%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 217.2 91.2% 59.8%;

    pre {
      background: black;
    }
  }
}

.dark {
  .fd-step:before {
    background: var(--ds-gray-200);
  }
}

.fd-step:before {
  background: var(--ds-gray-200);
}

/* Hack: "Fixes" colors for dark mode on OpenAPI pages */
.dark {
  [data-openapi="true"] {
    --ds-green-400: hsla(var(--ds-green-900-value), 1);
    --ds-red-400: hsla(var(--ds-red-900-value), 1);
    --ds-blue-400: hsla(var(--ds-blue-900-value), 1);
  }
}
