@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { /* * Semantic colors */ --color-success: #10B981; --color-warning: #F59E0B; --color-error: #EF4444; /* * Chart colors */ --chart-1: #FD5E0F; --chart-2: #60a5fa; --chart-3: #4ade80; --chart-4: #c084fc; --chart-5: #fbbf24; --chart-grid: #262626; --chart-axis: #737373; /* * visx area chart tokens (dark-only) */ --chart-background: #0a0a0a; --chart-foreground: #404040; --chart-foreground-muted: #a3a3a3; --chart-line-primary: #FD5E0F; --chart-line-secondary: #737373; --chart-crosshair: #404040; --chart-label: #a3a3a3; --chart-marker-background: #262626; --chart-marker-border: #404040; --chart-marker-foreground: #fafafa; /* * shadcn-compatible semantic tokens (dark-only) */ --background: 10 10 10; --foreground: 250 250 250; --card: 23 23 23; --card-foreground: 250 250 250; --popover: 23 23 23; --popover-foreground: 250 250 250; --primary: 253 94 15; --primary-foreground: 255 255 255; --secondary: 38 38 38; --secondary-foreground: 250 250 250; --accent: 38 38 38; --accent-foreground: 250 250 250; --destructive-foreground: 255 255 255; } body { @apply bg-neutral-950 text-neutral-100 antialiased; } } @layer utilities { /* * 3D Transform Utilities - Pulse-specific */ .perspective-1000 { perspective: 1000px; } .rotate-x-12 { transform: rotateX(12deg); } .rotate-x-0 { transform: rotateX(0deg); } .transform-style-3d { transform-style: preserve-3d; } /* * Scrollbar hide - for horizontal scroll navs */ .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; } .scrollbar-hide::-webkit-scrollbar { display: none; } /* * Animations */ @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } } .animate-float { animation: float 6s ease-in-out infinite; } }