@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: 225 3% 94%; --sidebar-foreground: 240 5.3% 26.1%; --sidebar-primary: 240 5.9% 10%; --sidebar-primary-foreground: 0 0% 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 23% 9%; --sidebar-foreground: 226 64% 88%; --sidebar-primary: 224.3 76.3% 48%; --sidebar-primary-foreground: 0 0% 100%; --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; } */