@import "tailwindcss";
@plugin "@tailwindcss/typography";
@import "tw-animate-css";
@import "shadcn/tailwind.css";
@import "@fontsource-variable/space-grotesk";
@import "@fontsource-variable/dm-sans";
@import "@fontsource-variable/jetbrains-mono";
@import "highlight.js/styles/github.css";

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

@theme inline {
    --font-heading: 'Space Grotesk Variable', sans-serif;
    --font-sans: 'DM Sans Variable', sans-serif;
    --font-mono: 'JetBrains Mono Variable', monospace;
    --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-success: var(--success);
    --color-success-foreground: var(--success-foreground);
    --color-warning: var(--warning);
    --color-warning-foreground: var(--warning-foreground);
    --color-info: var(--info);
    --color-info-foreground: var(--info-foreground);
    --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-popover-foreground: var(--popover-foreground);
    --color-popover: var(--popover);
    --color-card-foreground: var(--card-foreground);
    --color-card: var(--card);
    --color-foreground: var(--foreground);
    --color-background: var(--background);
    --radius-sm: calc(var(--radius) * 0.5);
    --radius-md: calc(var(--radius) * 0.75);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) * 1.25);
    --radius-2xl: calc(var(--radius) * 1.5);
    --radius-3xl: calc(var(--radius) * 2);
    --radius-4xl: calc(var(--radius) * 2.5);
}

:root {
    --background: #ffffff;
    --foreground: #111111;
    --card: #ffffff;
    --card-foreground: #111111;
    --popover: #ffffff;
    --popover-foreground: #111111;
    --primary: #111111;
    --primary-foreground: #ffffff;
    --secondary: #f5f5f5;
    --secondary-foreground: #111111;
    --muted: #f5f5f5;
    --muted-foreground: #737373;
    --accent: #f5f5f5;
    --accent-foreground: #111111;
    --destructive: #ef4444;
    --success: #16a34a;
    --success-foreground: #ffffff;
    --warning: #d97706;
    --warning-foreground: #ffffff;
    --info: #2563eb;
    --info-foreground: #ffffff;
    --border: #e8e8e8;
    --input: #e8e8e8;
    --ring: #111111;
    --chart-1: #111111;
    --chart-2: #737373;
    --chart-3: #4b5563;
    --chart-4: #374151;
    --chart-5: #1f2937;
    --radius: 0.875rem;
    --sidebar: #fafafa;
    --sidebar-foreground: #111111;
    --sidebar-primary: #111111;
    --sidebar-primary-foreground: #ffffff;
    --sidebar-accent: #f5f5f5;
    --sidebar-accent-foreground: #111111;
    --sidebar-border: #e8e8e8;
    --sidebar-ring: #111111;
}

.dark {
    --background: #0f1115;
    --foreground: #ececf1;
    --card: #16181d;
    --card-foreground: #ececf1;
    --popover: #16181d;
    --popover-foreground: #ececf1;
    --primary: #5E6AD2;
    --primary-foreground: #ffffff;
    --secondary: #1f2128;
    --secondary-foreground: #ececf1;
    --muted: #1f2128;
    --muted-foreground: #6e7681;
    --accent: #1f2128;
    --accent-foreground: #ececf1;
    --destructive: #EF4444;
    --success: #22c55e;
    --success-foreground: #052e16;
    --warning: #f59e0b;
    --warning-foreground: #451a03;
    --info: #60a5fa;
    --info-foreground: #082f49;
    --border: rgba(255, 255, 255, 0.08);
    --input: rgba(255, 255, 255, 0.08);
    --ring: #5E6AD2;
    --sidebar: #0f1115;
    --sidebar-foreground: #ececf1;
    --sidebar-primary: #5E6AD2;
    --sidebar-primary-foreground: #ffffff;
    --sidebar-accent: #1f2128;
    --sidebar-accent-foreground: #ececf1;
    --sidebar-border: rgba(255, 255, 255, 0.08);
    --sidebar-ring: #5E6AD2;
}

@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  html {
    @apply font-sans;
    -webkit-tap-highlight-color: transparent;
  }
  body {
    @apply bg-background text-foreground antialiased;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  }
  button,
  a,
  input,
  textarea,
  select {
    touch-action: manipulation;
  }
  h1,
  h2,
  h3 {
    text-wrap: balance;
  }
  p,
  li {
    text-wrap: pretty;
  }
}

/* Hide scrollbar — use class="scrollbar-none" */
.scrollbar-none {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.scrollbar-none::-webkit-scrollbar {
  display: none;
}

/* cmdk / Radix Dialog */
[cmdk-overlay] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 50;
}

[cmdk-dialog] {
    position: fixed;
    top: 12%;
    left: 50%;
    transform: translateX(-50%);
    width: min(640px, 92vw);
    max-height: 72vh;
    z-index: 51;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: var(--card);
    color: var(--card-foreground);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}
