@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); @tailwind base; @tailwind components; @tailwind utilities; :root { /* GEO Design System - Light Mode */ --background: 220 14% 98%; /* #FAFBFC */ --foreground: 220 87% 12%; /* #111827 */ --card: 0 0% 100%; /* #FFFFFF */ --card-foreground: 220 87% 12%; --popover: 0 0% 100%; --popover-foreground: 220 87% 12%; --primary: 161 94% 39%; /* #10B981 */ --primary-foreground: 0 0% 100%; --secondary: 220 9% 46%; /* #6B7280 secondary text as bg */ --secondary-foreground: 0 0% 100%; --muted: 220 14% 96%; --muted-foreground: 220 9% 62%; /* #9CA3AF */ --accent: 24 95% 53%; /* #F97316 orange */ --accent-foreground: 0 0% 100%; --destructive: 0 72% 51%; --destructive-foreground: 0 0% 100%; --border: 220 13% 91%; /* #E5E7EB */ --input: 220 13% 91%; --ring: 161 94% 39%; /* primary green */ --radius: 1rem; /* 16px base radius */ /* GEO Custom tokens */ --geo-nav-bg: #FFFFFF; --geo-nav-hover: #F3F4F6; --geo-nav-active: #10B981; --geo-nav-text: #374151; --geo-nav-text-active: #059669; --geo-nav-active-bg: #ECFDF5; --geo-shadow-card: 0 1px 3px rgba(0,0,0,0.04); --geo-shadow-card-hover: 0 4px 12px rgba(0,0,0,0.06); --geo-transition: 200ms ease; } .dark { /* GEO Design System - Dark Mode */ --background: 222 47% 8%; --foreground: 210 40% 96%; --card: 222 47% 10%; --card-foreground: 210 40% 96%; --popover: 222 47% 10%; --popover-foreground: 210 40% 96%; --primary: 161 94% 39%; /* keep green */ --primary-foreground: 0 0% 100%; --secondary: 217 33% 18%; --secondary-foreground: 210 40% 96%; --muted: 217 33% 15%; --muted-foreground: 215 20% 60%; --accent: 24 95% 53%; /* keep orange */ --accent-foreground: 0 0% 100%; --destructive: 0 63% 40%; --destructive-foreground: 210 40% 96%; --border: 217 33% 18%; --input: 217 33% 18%; --ring: 161 94% 39%; } @layer base { * { @apply border-border; } html { font-family: 'Inter', system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { @apply bg-background text-foreground; font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11'; } } @layer utilities { .text-balance { text-wrap: balance; } /* GEO Card hover effect */ .geo-card { @apply bg-white rounded-lg border border-geo-border shadow-card transition-all duration-200; } .geo-card:hover { @apply shadow-card-hover border-primary/30; } /* GEO Scrollbar */ .geo-scrollbar::-webkit-scrollbar { width: 4px; } .geo-scrollbar::-webkit-scrollbar-track { background: transparent; } .geo-scrollbar::-webkit-scrollbar-thumb { @apply bg-border rounded-full; } /* Number stat display */ .stat-number { @apply text-4xl font-bold tracking-tight text-geo-text-primary; font-variant-numeric: tabular-nums; } /* Bento grid */ .bento-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); } }