@import "tailwindcss"; :root { --background: oklch(0.98 0.008 240); --foreground: oklch(0.18 0.02 255); --card: oklch(1 0 0 / 0.82); --card-foreground: oklch(0.18 0.02 255); --popover: oklch(1 0 0); --popover-foreground: oklch(0.18 0.02 255); --primary: oklch(0.57 0.17 255); --primary-foreground: oklch(0.98 0.01 255); --secondary: oklch(0.94 0.02 220); --secondary-foreground: oklch(0.28 0.03 250); --muted: oklch(0.95 0.01 250); --muted-foreground: oklch(0.48 0.02 250); --accent: oklch(0.88 0.04 205); --accent-foreground: oklch(0.24 0.03 255); --destructive: oklch(0.62 0.22 28); --destructive-foreground: oklch(0.98 0.01 28); --border: oklch(0.9 0.01 250); --input: oklch(0.91 0.01 250); --ring: oklch(0.57 0.17 255); --success: oklch(0.72 0.16 160); --warning: oklch(0.81 0.16 78); --radius: 1.15rem; } .dark { --background: oklch(0.16 0.02 258); --foreground: oklch(0.95 0.01 255); --card: oklch(0.19 0.02 258 / 0.9); --card-foreground: oklch(0.95 0.01 255); --popover: oklch(0.2 0.02 258); --popover-foreground: oklch(0.95 0.01 255); --primary: oklch(0.71 0.15 246); --primary-foreground: oklch(0.2 0.02 258); --secondary: oklch(0.25 0.02 258); --secondary-foreground: oklch(0.94 0.01 255); --muted: oklch(0.24 0.02 258); --muted-foreground: oklch(0.72 0.02 255); --accent: oklch(0.31 0.04 215); --accent-foreground: oklch(0.94 0.01 255); --destructive: oklch(0.69 0.19 26); --destructive-foreground: oklch(0.96 0.01 26); --border: oklch(0.3 0.02 258); --input: oklch(0.29 0.02 258); --ring: oklch(0.71 0.15 246); --success: oklch(0.75 0.15 160); --warning: oklch(0.84 0.15 84); } @theme inline { --font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif; --font-mono: "JetBrains Mono", ui-monospace, monospace; --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --radius-sm: calc(var(--radius) - 0.35rem); --radius-md: calc(var(--radius) - 0.15rem); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 0.4rem); } * { @apply border-border; } html { color-scheme: light; } body { @apply min-h-screen bg-background font-sans text-foreground antialiased; background-image: radial-gradient(circle at top left, rgb(77 132 255 / 0.12), transparent 24rem), radial-gradient(circle at top right, rgb(16 185 129 / 0.08), transparent 22rem), linear-gradient(180deg, rgb(255 255 255 / 0.66), transparent 26rem); } body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: 0.5; background-image: linear-gradient(rgb(119 140 173 / 0.08) 1px, transparent 1px), linear-gradient(90deg, rgb(119 140 173 / 0.06) 1px, transparent 1px); background-size: 100% 1.35rem, 1.35rem 100%; mask-image: linear-gradient(180deg, rgb(0 0 0 / 0.75), transparent 86%); } #root { min-height: 100vh; } a { @apply transition-colors; } button, input, textarea, select { font: inherit; } @keyframes custom-select-pop { from { opacity: 0; transform: translateY(-2px) scale(0.985); } to { opacity: 1; transform: translateY(0) scale(1); } } .custom-select-popover { animation: custom-select-pop 0.1s ease-out; }