@tailwind base; @tailwind components; @tailwind utilities; :root { /* Compassionate Theme Colors */ --color-primary: #5D7B6F; /* Sage */ --color-secondary: #E6DACE; /* Sand */ --color-accent: #D4A373; /* Muted Coral */ --color-error: #EF4444; --color-success: #10B981; --color-warning: #F59E0B; --color-bg: #FAF9F6; /* Cream */ --color-bg-secondary: #FFFFFF; /* White */ --color-text: #2C3333; /* Charcoal */ --color-text-secondary: #6B7280; /* Muted Text */ --color-border: #E5E7EB; /* Spacing base unit */ --spacing-unit: 4px; } .dark { /* Dark mode colors - adapted for softness */ --color-bg: #1A1D1D; /* Dark Charcoal */ --color-bg-secondary: #2C3333; --color-text: #FAF9F6; /* Cream Text */ --color-text-secondary: #9CA3AF; --color-border: #374151; --color-primary: #749688; /* Lighter Sage */ --color-secondary: #5D4E40; /* Darker Sand */ } * { 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; }