@tailwind base; @tailwind components; @tailwind utilities; :root { /* Light mode colors */ --color-primary: #3B82F6; --color-secondary: #8B5CF6; --color-error: #EF4444; --color-success: #10B981; --color-warning: #F59E0B; --color-bg: #FFFFFF; --color-bg-secondary: #F9FAFB; --color-text: #111827; --color-text-secondary: #6B7280; --color-border: #D1D5DB; /* Spacing base unit */ --spacing-unit: 4px; } .dark { /* Dark mode colors */ --color-bg: #1F2937; --color-bg-secondary: #111827; --color-text: #F9FAFB; --color-text-secondary: #D1D5DB; --color-border: #4B5563; } * { box-sizing: border-box; padding: 0; margin: 0; } html, body { max-width: 100vw; overflow-x: hidden; } body { color: var(--color-text); background: var(--color-bg); font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Focus styles for keyboard navigation */ *:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; } /* 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; } } /* High contrast mode support */ @media (prefers-contrast: high) { :root { --color-border: #000000; } .dark { --color-border: #FFFFFF; } } /* Screen reader only class */ .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }