@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); }