/** @type {import('tailwindcss').Config} */ module.exports = { darkMode: "class", content: ["./src/**/*.{js,jsx}", "./public/index.html"], theme: { extend: { colors: { border: "hsl(var(--border))", input: "hsl(var(--input))", ring: "hsl(var(--ring))", background: "hsl(var(--background))", foreground: "hsl(var(--foreground))", surface: "hsl(var(--surface))", primary: { DEFAULT: "hsl(var(--primary))", foreground: "hsl(var(--primary-foreground))", }, secondary: { DEFAULT: "hsl(var(--secondary))", foreground: "hsl(var(--secondary-foreground))", }, muted: { DEFAULT: "hsl(var(--muted))", foreground: "hsl(var(--muted-foreground))", }, accent: { DEFAULT: "hsl(var(--accent))", foreground: "hsl(var(--accent-foreground))", }, destructive: { DEFAULT: "hsl(var(--destructive))", foreground: "hsl(var(--destructive-foreground))", }, card: { DEFAULT: "hsl(var(--card))", foreground: "hsl(var(--card-foreground))", }, }, borderRadius: { lg: "var(--radius)", md: "calc(var(--radius) - 2px)", sm: "calc(var(--radius) - 4px)", }, fontFamily: { // Lab-terminal: IBM Plex Mono is the body/UI/mono face. sans: ["IBM Plex Mono", "ui-monospace", "SFMono-Regular", "monospace"], mono: ["IBM Plex Mono", "ui-monospace", "SFMono-Regular", "monospace"], display: ["Major Mono Display", "IBM Plex Mono", "monospace"], }, boxShadow: { glow: "0 0 0 1px hsl(var(--primary) / 0.25), 0 0 24px -6px hsl(var(--primary) / 0.45)", "glow-violet": "0 0 0 1px hsl(var(--secondary) / 0.25), 0 0 24px -6px hsl(var(--secondary) / 0.45)", }, keyframes: { "fade-in": { from: { opacity: 0, transform: "translateY(4px)" }, to: { opacity: 1, transform: "translateY(0)" }, }, "overlay-in": { from: { opacity: 0 }, to: { opacity: 1 } }, }, animation: { "fade-in": "fade-in 0.18s ease-out", "overlay-in": "overlay-in 0.15s ease-out", }, }, }, plugins: [], };