@import "tailwindcss";
@import "tw-animate-css";
@import "shadcn/tailwind.css";

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

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-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-popover-foreground: var(--popover-foreground);
  --color-popover: var(--popover);
  --color-card-foreground: var(--card-foreground);
  --color-card: var(--card);
  --radius-sm: calc(var(--radius) * 0.6);
  --radius-md: calc(var(--radius) * 0.8);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) * 1.4);
  --radius-2xl: calc(var(--radius) * 1.8);
  --radius-3xl: calc(var(--radius) * 2.2);
  --radius-4xl: calc(var(--radius) * 2.6);
}

:root,
:root[data-palette="plain"] {
  --radius: 0.65rem;
  --background: #f9f9f9;
  --foreground: #151923;
  --card: #ffffff;
  --card-foreground: #151923;
  --popover: #ffffff;
  --popover-foreground: #151923;
  --primary: #2475fc;
  --primary-foreground: #ffffff;
  --secondary: #e6efff;
  --secondary-foreground: #155be8;
  --muted: #f4f7fc;
  --muted-foreground: #667085;
  --accent: #e6efff;
  --accent-foreground: #155be8;
  --destructive: oklch(0.59 0.225 25);
  --border: #dfe7f3;
  --input: #dfe7f3;
  --ring: #2475fc;
  --chart-1: #2475fc;
  --chart-2: #14b8a6;
  --chart-3: #f59e0b;
  --chart-4: #ec4899;
  --chart-5: #8b5cf6;
  --sidebar: #ffffff;
  --sidebar-foreground: #273142;
  --sidebar-primary: #2475fc;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #e6efff;
  --sidebar-accent-foreground: #155be8;
  --sidebar-border: #dfe7f3;
  --sidebar-ring: #2475fc;
}

.dark[data-palette="plain"] {
  --background: #111827;
  --foreground: #f9fafb;
  --card: #182235;
  --card-foreground: #f9fafb;
  --popover: #182235;
  --popover-foreground: #f9fafb;
  --primary: #6da2ff;
  --primary-foreground: #0f172a;
  --secondary: #1f3354;
  --secondary-foreground: #dbe8ff;
  --muted: #1f2937;
  --muted-foreground: #9ca3af;
  --accent: #1f3354;
  --accent-foreground: #dbe8ff;
  --destructive: oklch(0.68 0.19 25);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 14%);
  --ring: #6da2ff;
  --chart-1: #6da2ff;
  --chart-2: #2dd4bf;
  --chart-3: #fbbf24;
  --chart-4: #f472b6;
  --chart-5: #a78bfa;
  --sidebar: #111827;
  --sidebar-foreground: #f3f4f6;
  --sidebar-primary: #6da2ff;
  --sidebar-primary-foreground: #0f172a;
  --sidebar-accent: #1f3354;
  --sidebar-accent-foreground: #dbe8ff;
  --sidebar-border: oklch(1 0 0 / 9%);
  --sidebar-ring: #6da2ff;
}

:root[data-palette="green"] {
  --background: oklch(0.973 0.011 112);
  --foreground: oklch(0.22 0.021 210);
  --card: oklch(0.996 0.004 105);
  --card-foreground: oklch(0.22 0.021 210);
  --popover: oklch(0.996 0.004 105);
  --popover-foreground: oklch(0.22 0.021 210);
  --primary: oklch(0.475 0.118 178);
  --primary-foreground: oklch(0.985 0.012 170);
  --secondary: oklch(0.94 0.018 124);
  --secondary-foreground: oklch(0.255 0.035 178);
  --muted: oklch(0.942 0.012 115);
  --muted-foreground: oklch(0.49 0.026 205);
  --accent: oklch(0.91 0.028 169);
  --accent-foreground: oklch(0.245 0.045 178);
  --destructive: oklch(0.59 0.225 25);
  --border: oklch(0.872 0.018 116);
  --input: oklch(0.872 0.018 116);
  --ring: oklch(0.56 0.115 178);
  --chart-1: oklch(0.52 0.13 178);
  --chart-2: oklch(0.61 0.14 220);
  --chart-3: oklch(0.72 0.15 78);
  --chart-4: oklch(0.62 0.15 330);
  --chart-5: oklch(0.58 0.12 262);
  --sidebar: oklch(0.925 0.018 118);
  --sidebar-foreground: oklch(0.245 0.03 190);
  --sidebar-primary: oklch(0.475 0.118 178);
  --sidebar-primary-foreground: oklch(0.985 0.012 170);
  --sidebar-accent: oklch(0.89 0.032 156);
  --sidebar-accent-foreground: oklch(0.235 0.048 178);
  --sidebar-border: oklch(0.835 0.022 118);
  --sidebar-ring: oklch(0.56 0.115 178);
}

:root[data-palette="blue"] {
  --background: oklch(0.982 0.007 250);
  --foreground: oklch(0.205 0.018 255);
  --card: oklch(0.998 0.002 250);
  --card-foreground: oklch(0.205 0.018 255);
  --popover: oklch(0.998 0.002 250);
  --popover-foreground: oklch(0.205 0.018 255);
  --primary: oklch(0.548 0.19 257);
  --primary-foreground: oklch(0.985 0.006 248);
  --secondary: oklch(0.948 0.013 250);
  --secondary-foreground: oklch(0.245 0.02 252);
  --muted: oklch(0.95 0.01 250);
  --muted-foreground: oklch(0.49 0.024 245);
  --accent: oklch(0.922 0.026 255);
  --accent-foreground: oklch(0.255 0.044 254);
  --destructive: oklch(0.59 0.225 25);
  --border: oklch(0.888 0.014 250);
  --input: oklch(0.888 0.014 250);
  --ring: oklch(0.61 0.15 252);
  --chart-1: oklch(0.59 0.18 255);
  --chart-2: oklch(0.62 0.13 178);
  --chart-3: oklch(0.72 0.16 82);
  --chart-4: oklch(0.61 0.17 333);
  --chart-5: oklch(0.56 0.13 285);
  --sidebar: oklch(0.94 0.016 250);
  --sidebar-foreground: oklch(0.245 0.024 252);
  --sidebar-primary: oklch(0.548 0.19 257);
  --sidebar-primary-foreground: oklch(0.985 0.006 248);
  --sidebar-accent: oklch(0.908 0.025 252);
  --sidebar-accent-foreground: oklch(0.245 0.038 254);
  --sidebar-border: oklch(0.858 0.018 250);
  --sidebar-ring: oklch(0.61 0.15 252);
}

:root[data-palette="gray"] {
  --background: oklch(0.974 0.006 170);
  --foreground: oklch(0.205 0.018 255);
  --card: oklch(0.998 0.001 106);
  --card-foreground: oklch(0.205 0.018 255);
  --popover: oklch(0.998 0.001 106);
  --popover-foreground: oklch(0.205 0.018 255);
  --primary: oklch(0.538 0.183 257);
  --primary-foreground: oklch(0.985 0.006 248);
  --secondary: oklch(0.944 0.011 175);
  --secondary-foreground: oklch(0.245 0.018 250);
  --muted: oklch(0.948 0.008 180);
  --muted-foreground: oklch(0.49 0.024 245);
  --accent: oklch(0.925 0.018 218);
  --accent-foreground: oklch(0.255 0.033 250);
  --destructive: oklch(0.59 0.225 25);
  --border: oklch(0.886 0.012 178);
  --input: oklch(0.886 0.012 178);
  --ring: oklch(0.61 0.15 252);
  --chart-1: oklch(0.59 0.18 255);
  --chart-2: oklch(0.62 0.13 178);
  --chart-3: oklch(0.72 0.16 82);
  --chart-4: oklch(0.61 0.17 333);
  --chart-5: oklch(0.56 0.13 285);
  --sidebar: oklch(0.94 0.011 170);
  --sidebar-foreground: oklch(0.255 0.022 250);
  --sidebar-primary: oklch(0.538 0.183 257);
  --sidebar-primary-foreground: oklch(0.985 0.006 248);
  --sidebar-accent: oklch(0.904 0.017 190);
  --sidebar-accent-foreground: oklch(0.245 0.028 250);
  --sidebar-border: oklch(0.86 0.014 176);
  --sidebar-ring: oklch(0.61 0.15 252);
}

.dark {
  --background: oklch(0.18 0 0);
  --foreground: oklch(0.94 0 0);
  --card: oklch(0.225 0 0);
  --card-foreground: oklch(0.94 0 0);
  --popover: oklch(0.225 0 0);
  --popover-foreground: oklch(0.94 0 0);
  --primary: oklch(0.82 0 0);
  --primary-foreground: oklch(0.18 0 0);
  --secondary: oklch(0.285 0 0);
  --secondary-foreground: oklch(0.94 0 0);
  --muted: oklch(0.285 0 0);
  --muted-foreground: oklch(0.7 0 0);
  --accent: oklch(0.32 0 0);
  --accent-foreground: oklch(0.94 0 0);
  --destructive: oklch(0.68 0.19 25);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 14%);
  --ring: oklch(0.62 0 0);
  --chart-1: oklch(0.82 0 0);
  --chart-2: oklch(0.72 0 0);
  --chart-3: oklch(0.62 0 0);
  --chart-4: oklch(0.52 0 0);
  --chart-5: oklch(0.42 0 0);
  --sidebar: oklch(0.16 0 0);
  --sidebar-foreground: oklch(0.93 0 0);
  --sidebar-primary: oklch(0.82 0 0);
  --sidebar-primary-foreground: oklch(0.18 0 0);
  --sidebar-accent: oklch(0.27 0 0);
  --sidebar-accent-foreground: oklch(0.94 0 0);
  --sidebar-border: oklch(1 0 0 / 9%);
  --sidebar-ring: oklch(0.62 0 0);
}

.dark[data-palette="green"] {
  --background: oklch(0.18 0.016 190);
  --foreground: oklch(0.94 0.009 155);
  --card: oklch(0.225 0.018 190);
  --card-foreground: oklch(0.94 0.009 155);
  --popover: oklch(0.225 0.018 190);
  --popover-foreground: oklch(0.94 0.009 155);
  --primary: oklch(0.67 0.13 174);
  --primary-foreground: oklch(0.16 0.024 185);
  --secondary: oklch(0.285 0.019 185);
  --secondary-foreground: oklch(0.94 0.009 155);
  --muted: oklch(0.285 0.019 185);
  --muted-foreground: oklch(0.72 0.02 165);
  --accent: oklch(0.33 0.032 174);
  --accent-foreground: oklch(0.955 0.011 155);
  --destructive: oklch(0.68 0.19 25);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 14%);
  --ring: oklch(0.67 0.13 174);
  --chart-1: oklch(0.68 0.13 174);
  --chart-2: oklch(0.68 0.13 220);
  --chart-3: oklch(0.75 0.15 78);
  --chart-4: oklch(0.68 0.16 333);
  --chart-5: oklch(0.67 0.13 262);
  --sidebar: oklch(0.16 0.019 185);
  --sidebar-foreground: oklch(0.93 0.01 155);
  --sidebar-primary: oklch(0.67 0.13 174);
  --sidebar-primary-foreground: oklch(0.16 0.024 185);
  --sidebar-accent: oklch(0.27 0.028 178);
  --sidebar-accent-foreground: oklch(0.955 0.011 155);
  --sidebar-border: oklch(1 0 0 / 9%);
  --sidebar-ring: oklch(0.67 0.13 174);
}

.dark[data-palette="blue"] {
  --background: oklch(0.178 0.012 245);
  --foreground: oklch(0.948 0.006 230);
  --card: oklch(0.226 0.014 245);
  --card-foreground: oklch(0.948 0.006 230);
  --popover: oklch(0.226 0.014 245);
  --popover-foreground: oklch(0.948 0.006 230);
  --primary: oklch(0.66 0.16 252);
  --primary-foreground: oklch(0.168 0.015 250);
  --secondary: oklch(0.285 0.014 245);
  --secondary-foreground: oklch(0.94 0.006 230);
  --muted: oklch(0.285 0.014 245);
  --muted-foreground: oklch(0.72 0.015 238);
  --accent: oklch(0.32 0.022 225);
  --accent-foreground: oklch(0.955 0.006 230);
  --destructive: oklch(0.68 0.19 25);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 14%);
  --ring: oklch(0.66 0.16 252);
  --chart-1: oklch(0.69 0.15 252);
  --chart-2: oklch(0.68 0.12 178);
  --chart-3: oklch(0.75 0.15 82);
  --chart-4: oklch(0.68 0.16 333);
  --chart-5: oklch(0.67 0.13 285);
  --sidebar: oklch(0.158 0.012 248);
  --sidebar-foreground: oklch(0.93 0.006 230);
  --sidebar-primary: oklch(0.66 0.16 252);
  --sidebar-primary-foreground: oklch(0.168 0.015 250);
  --sidebar-accent: oklch(0.255 0.017 245);
  --sidebar-accent-foreground: oklch(0.955 0.006 230);
  --sidebar-border: oklch(1 0 0 / 9%);
  --sidebar-ring: oklch(0.66 0.16 252);
}

.dark[data-palette="gray"] {
  --background: oklch(0.178 0.012 245);
  --foreground: oklch(0.948 0.006 230);
  --card: oklch(0.226 0.014 245);
  --card-foreground: oklch(0.948 0.006 230);
  --popover: oklch(0.226 0.014 245);
  --popover-foreground: oklch(0.948 0.006 230);
  --primary: oklch(0.66 0.16 252);
  --primary-foreground: oklch(0.168 0.015 250);
  --secondary: oklch(0.285 0.014 245);
  --secondary-foreground: oklch(0.94 0.006 230);
  --muted: oklch(0.285 0.014 245);
  --muted-foreground: oklch(0.72 0.015 238);
  --accent: oklch(0.32 0.022 225);
  --accent-foreground: oklch(0.955 0.006 230);
  --destructive: oklch(0.68 0.19 25);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 14%);
  --ring: oklch(0.66 0.16 252);
  --chart-1: oklch(0.69 0.15 252);
  --chart-2: oklch(0.68 0.12 178);
  --chart-3: oklch(0.75 0.15 82);
  --chart-4: oklch(0.68 0.16 333);
  --chart-5: oklch(0.67 0.13 285);
  --sidebar: oklch(0.158 0.012 248);
  --sidebar-foreground: oklch(0.93 0.006 230);
  --sidebar-primary: oklch(0.66 0.16 252);
  --sidebar-primary-foreground: oklch(0.168 0.015 250);
  --sidebar-accent: oklch(0.255 0.017 245);
  --sidebar-accent-foreground: oklch(0.955 0.006 230);
  --sidebar-border: oklch(1 0 0 / 9%);
  --sidebar-ring: oklch(0.66 0.16 252);
}

@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  body {
    @apply bg-background text-foreground;
  }
  html {
    @apply font-sans;
  }
}
