@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-hind-siliguri), var(--font-geist-sans), "Geist Fallback", ui-sans-serif, system-ui, sans-serif;
  --font-mono: var(--font-geist-mono), "Geist Mono Fallback", ui-monospace, monospace;
  --font-heading: var(--font-hind-siliguri), var(--font-geist-sans), "Geist Fallback", ui-sans-serif, system-ui, sans-serif;
  --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);
}

/* ─────────────────────────────────────────────────────
   LIME GREEN × WHITE  —  Elite design system
   Primary: #86E237  ≈  oklch(0.83 0.21 130)
   ───────────────────────────────────────────────────── */
:root {
  --background:          oklch(1 0 0);           /* pure white */
  --foreground:          oklch(0.12 0.01 130);   /* near-black with slight green tint */
  --card:                oklch(1 0 0);
  --card-foreground:     oklch(0.12 0.01 130);
  --popover:             oklch(1 0 0);
  --popover-foreground:  oklch(0.12 0.01 130);

  /* Lime green primary */
  --primary:             oklch(0.83 0.21 130);   /* #86E237 */
  --primary-foreground:  oklch(0.12 0.01 130);   /* dark text on lime */

  --secondary:           oklch(0.96 0.04 130);   /* very light lime tint */
  --secondary-foreground: oklch(0.25 0.04 130);

  --muted:               oklch(0.96 0.01 130);
  --muted-foreground:    oklch(0.48 0.02 130);

  --accent:              oklch(0.90 0.12 130);   /* medium lime */
  --accent-foreground:   oklch(0.12 0.01 130);

  --destructive:         oklch(0.577 0.245 27.325);
  --border:              oklch(0.91 0.03 130);
  --input:               oklch(0.91 0.03 130);
  --ring:                oklch(0.83 0.21 130);

  --chart-1:             oklch(0.83 0.21 130);
  --chart-2:             oklch(0.70 0.18 130);
  --chart-3:             oklch(0.60 0.15 130);
  --chart-4:             oklch(0.50 0.12 130);
  --chart-5:             oklch(0.40 0.08 130);

  --radius: 0.625rem;

  --sidebar:             oklch(0.98 0.01 130);
  --sidebar-foreground:  oklch(0.12 0.01 130);
  --sidebar-primary:     oklch(0.83 0.21 130);
  --sidebar-primary-foreground: oklch(0.12 0.01 130);
  --sidebar-accent:      oklch(0.94 0.06 130);
  --sidebar-accent-foreground: oklch(0.25 0.04 130);
  --sidebar-border:      oklch(0.91 0.03 130);
  --sidebar-ring:        oklch(0.83 0.21 130);
}

/* Dark mode kept neutral */
.dark {
  --background:          oklch(0.10 0 0);
  --foreground:          oklch(0.97 0 0);
  --card:                oklch(0.14 0 0);
  --card-foreground:     oklch(0.97 0 0);
  --popover:             oklch(0.14 0 0);
  --popover-foreground:  oklch(0.97 0 0);
  --primary:             oklch(0.83 0.21 130);
  --primary-foreground:  oklch(0.10 0 0);
  --secondary:           oklch(0.22 0 0);
  --secondary-foreground: oklch(0.97 0 0);
  --muted:               oklch(0.22 0 0);
  --muted-foreground:    oklch(0.65 0 0);
  --accent:              oklch(0.22 0 0);
  --accent-foreground:   oklch(0.97 0 0);
  --destructive:         oklch(0.704 0.191 22.216);
  --border:              oklch(1 0 0 / 10%);
  --input:               oklch(1 0 0 / 15%);
  --ring:                oklch(0.83 0.21 130);
  --chart-1:             oklch(0.83 0.21 130);
  --chart-2:             oklch(0.70 0.18 130);
  --chart-3:             oklch(0.60 0.15 130);
  --chart-4:             oklch(0.50 0.12 130);
  --chart-5:             oklch(0.40 0.08 130);
  --sidebar:             oklch(0.14 0 0);
  --sidebar-foreground:  oklch(0.97 0 0);
  --sidebar-primary:     oklch(0.83 0.21 130);
  --sidebar-primary-foreground: oklch(0.10 0 0);
  --sidebar-accent:      oklch(0.22 0 0);
  --sidebar-accent-foreground: oklch(0.97 0 0);
  --sidebar-border:      oklch(1 0 0 / 10%);
  --sidebar-ring:        oklch(0.83 0.21 130);
}

@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  body {
    @apply bg-background text-foreground font-sans;
  }
  html {
    @apply font-sans;
  }
  button,
  a,
  input,
  textarea {
    letter-spacing: 0;
  }
}

/* ── Utility: lime pill tag ── */
.lime-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 9999px;
  background: oklch(0.83 0.21 130);
  color: oklch(0.12 0.01 130);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.15rem 0.65rem;
}

@keyframes spin-slow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.animate-spin-slow {
  animation: spin-slow 15s linear infinite;
}

