@tailwind base; @tailwind components; @tailwind utilities; :root { /* Design tokens from prototype */ --color-primary: #2563eb; --color-primary-light: #3b82f6; --color-primary-dark: #1d4ed8; --color-secondary: #64748b; --color-accent: #d946ef; --color-danger: #dc2626; --color-warning: #f59e0b; --color-success: #16a34a; --color-bg: #ffffff; --color-bg-secondary: #f8fafc; --color-bg-tertiary: #f1f5f9; --color-border: #e2e8f0; --color-text: #0f172a; --color-text-muted: #64748b; --color-text-light: #94a3b8; --radius-sm: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05); --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); --font-sans: 'Inter', system-ui, -apple-system, sans-serif; --font-mono: 'JetBrains Mono', monospace; --touch-target: 44px; } .dark { --color-bg: #0f172a; --color-bg-secondary: #1e293b; --color-bg-tertiary: #334155; --color-border: #334155; --color-text: #f1f5f9; --color-text-muted: #94a3b8; --color-text-light: #64748b; } @layer base { * { @apply border-secondary-200; } body { @apply bg-secondary-50 text-secondary-900 font-sans antialiased; margin: 0; min-height: 100vh; } #root { min-height: 100vh; } } @layer components { .btn-touch { @apply min-h-touch min-w-touch; } .focus-ring { @apply focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2; } .sr-only-focusable:not(:focus):not(:focus-within) { @apply sr-only; } } /* Reduced motion support */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }