Spaces:
Sleeping
Sleeping
| @import "tailwindcss"; | |
| @import "tw-animate-css"; | |
| @custom-variant dark (&:where(.dark, .dark *)); | |
| @theme inline { | |
| --radius-sm: calc(var(--radius) - 4px); | |
| --radius-md: calc(var(--radius) - 2px); | |
| --radius-lg: var(--radius); | |
| --radius-xl: calc(var(--radius) + 4px); | |
| --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-border: var(--border); | |
| --color-input: var(--input); | |
| --color-ring: var(--ring); | |
| --color-chart-1: var(--chart-1); | |
| --color-chart-2: var(--chart-2); | |
| --color-chart-3: var(--chart-3); | |
| --color-chart-4: var(--chart-4); | |
| --color-chart-5: var(--chart-5); | |
| --color-sidebar: var(--sidebar); | |
| --color-sidebar-foreground: var(--sidebar-foreground); | |
| --color-sidebar-primary: var(--sidebar-primary); | |
| --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); | |
| --color-sidebar-accent: var(--sidebar-accent); | |
| --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); | |
| --color-sidebar-border: var(--sidebar-border); | |
| --color-sidebar-ring: var(--sidebar-ring); | |
| } | |
| :root { | |
| --radius: 1rem; | |
| /* AfriDataHub - Palette Vert / Jaune / Blanc */ | |
| --background: oklch(0.985 0.005 140); | |
| --foreground: oklch(0.18 0.04 150); | |
| --card: oklch(1 0 0); | |
| --card-foreground: oklch(0.18 0.04 150); | |
| --popover: oklch(1 0 0); | |
| --popover-foreground: oklch(0.18 0.04 150); | |
| --primary: oklch(0.52 0.17 155); | |
| /* Rich Emerald Green */ | |
| --primary-foreground: oklch(0.99 0.005 140); | |
| --secondary: oklch(0.78 0.16 85); | |
| /* Warm Golden Yellow */ | |
| --secondary-foreground: oklch(0.2 0.04 85); | |
| --muted: oklch(0.94 0.015 140); | |
| --muted-foreground: oklch(0.45 0.04 150); | |
| --accent: oklch(0.75 0.14 140); | |
| /* Fresh Lime Green */ | |
| --accent-foreground: oklch(0.18 0.04 150); | |
| --destructive: oklch(0.6 0.2 25); | |
| --border: oklch(0.91 0.02 140); | |
| --input: oklch(0.91 0.02 140); | |
| --ring: oklch(0.52 0.17 155); | |
| --glass-bg: rgba(255, 255, 255, 0.75); | |
| --glass-border: rgba(34, 120, 60, 0.12); | |
| --glass-shadow: 0 8px 32px 0 rgba(34, 120, 60, 0.08); | |
| } | |
| .dark { | |
| --background: oklch(0.14 0.03 155); | |
| --foreground: oklch(0.95 0.01 140); | |
| --card: oklch(0.18 0.035 155); | |
| --card-foreground: oklch(0.95 0.01 140); | |
| --popover: oklch(0.18 0.035 155); | |
| --popover-foreground: oklch(0.95 0.01 140); | |
| --primary: oklch(0.62 0.17 155); | |
| --primary-foreground: oklch(0.14 0.03 155); | |
| --secondary: oklch(0.8 0.15 85); | |
| --secondary-foreground: oklch(0.14 0.03 155); | |
| --muted: oklch(0.22 0.04 155); | |
| --muted-foreground: oklch(0.7 0.02 140); | |
| --accent: oklch(0.5 0.12 140); | |
| --accent-foreground: oklch(0.95 0.01 140); | |
| --destructive: oklch(0.5 0.2 25); | |
| --border: oklch(0.26 0.04 155); | |
| --input: oklch(0.26 0.04 155); | |
| --ring: oklch(0.62 0.17 155); | |
| --glass-bg: rgba(10, 30, 15, 0.65); | |
| --glass-border: rgba(120, 200, 100, 0.12); | |
| --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4); | |
| } | |
| @layer utilities { | |
| .glass { | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(12px); | |
| -webkit-backdrop-filter: blur(12px); | |
| border: 1px solid var(--glass-border); | |
| box-shadow: var(--glass-shadow); | |
| } | |
| .text-gradient { | |
| background: linear-gradient(135deg, var(--primary), var(--secondary)); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .bg-mesh { | |
| background-color: var(--background); | |
| background-image: | |
| radial-gradient(at 0% 0%, oklch(0.52 0.17 155 / 0.12) 0px, transparent 50%), | |
| radial-gradient(at 100% 0%, oklch(0.78 0.16 85 / 0.12) 0px, transparent 50%), | |
| radial-gradient(at 100% 100%, oklch(0.75 0.14 140 / 0.08) 0px, transparent 50%), | |
| radial-gradient(at 0% 100%, oklch(0.52 0.17 155 / 0.08) 0px, transparent 50%); | |
| } | |
| .animate-float { | |
| animation: float 6s ease-in-out infinite; | |
| } | |
| .shadow-premium { | |
| box-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.1), 0 10px 20px -10px rgba(0, 0, 0, 0.05); | |
| } | |
| .hover-lift { | |
| transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease; | |
| } | |
| .hover-lift:hover { | |
| transform: translateY(-8px) scale(1.02); | |
| box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.15); | |
| } | |
| @keyframes float { | |
| 0% { | |
| transform: translateY(0px); | |
| } | |
| 50% { | |
| transform: translateY(-10px); | |
| } | |
| 100% { | |
| transform: translateY(0px); | |
| } | |
| } | |
| } | |
| @layer base { | |
| * { | |
| @apply border-border outline-ring/50; | |
| } | |
| body { | |
| @apply bg-background text-foreground; | |
| } | |
| } | |
| /* Prose styles for Markdown parsing */ | |
| .prose { | |
| max-width: none; | |
| color: inherit; | |
| } | |
| .prose p { | |
| margin-bottom: 1.25em; | |
| } | |
| .prose strong { | |
| font-weight: 700; | |
| color: inherit; | |
| } | |
| .prose ul { | |
| list-style-type: disc; | |
| padding-left: 1.625em; | |
| margin-bottom: 1.25em; | |
| } | |
| .prose li { | |
| margin-bottom: 0.5em; | |
| } | |
| .prose h1, | |
| .prose h2, | |
| .prose h3 { | |
| font-weight: 700; | |
| margin-top: 1.5em; | |
| margin-bottom: 0.75em; | |
| } | |
| .prose-lg { | |
| font-size: 1.125rem; | |
| line-height: 1.75; | |
| } | |
| .prose-green { | |
| --tw-prose-bullets: var(--color-primary); | |
| } |