@tailwind base; @tailwind components; @tailwind utilities; body { font-family: Arial, Helvetica, sans-serif; } @layer utilities { .text-balance { text-wrap: balance; } /* Accessibility improvements */ .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* Better focus states for keyboard navigation */ .focus-visible:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; } /* Improved touch targets for mobile/Chromebook */ .touch-target { min-height: 44px; min-width: 44px; } /* Better contrast for Chromebook displays */ @media (prefers-contrast: high) { .border-input { border-color: hsl(var(--foreground)); } } /* Chromebook and touch device optimizations */ @media (pointer: coarse) { .touch-target { min-height: 48px; min-width: 48px; } /* Larger touch targets for interactive elements */ button, input, textarea, [role="button"] { min-height: 44px; } } /* Better focus indicators for keyboard navigation */ .focus-visible:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; box-shadow: 0 0 0 2px hsl(var(--ring) / 0.2); } /* Improved scrolling for touch devices */ .overflow-y-auto { -webkit-overflow-scrolling: touch; scroll-behavior: smooth; } /* Enhanced contrast for better visibility */ .text-muted-foreground { color: hsl(var(--muted-foreground) / 0.8); } /* Better button contrast */ button:not(:disabled):hover { filter: brightness(1.05); } /* Improved focus visibility */ input:focus, textarea:focus, button:focus { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; } /* Better message bubble contrast */ .bg-primary { background-color: hsl(var(--primary) / 0.9); } .bg-muted { background-color: hsl(var(--muted) / 0.8); } } @layer base { :root { --background: 0 0% 100%; --foreground: 0 0% 3.9%; --card: 0 0% 100%; --card-foreground: 0 0% 3.9%; --popover: 0 0% 100%; --popover-foreground: 0 0% 3.9%; --primary: 0 0% 9%; --primary-foreground: 0 0% 98%; --secondary: 0 0% 96.1%; --secondary-foreground: 0 0% 9%; --muted: 0 0% 96.1%; --muted-foreground: 0 0% 45.1%; --accent: 0 0% 96.1%; --accent-foreground: 0 0% 9%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%; --border: 0 0% 89.8%; --input: 0 0% 89.8%; --ring: 0 0% 3.9%; --chart-1: 12 76% 61%; --chart-2: 173 58% 39%; --chart-3: 197 37% 24%; --chart-4: 43 74% 66%; --chart-5: 27 87% 67%; --radius: 0.5rem; } .dark { --background: 0 0% 3.9%; --foreground: 0 0% 98%; --card: 0 0% 3.9%; --card-foreground: 0 0% 98%; --popover: 0 0% 3.9%; --popover-foreground: 0 0% 98%; --primary: 0 0% 98%; --primary-foreground: 0 0% 9%; --secondary: 0 0% 14.9%; --secondary-foreground: 0 0% 98%; --muted: 0 0% 14.9%; --muted-foreground: 0 0% 63.9%; --accent: 0 0% 14.9%; --accent-foreground: 0 0% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; --border: 0 0% 14.9%; --input: 0 0% 14.9%; --ring: 0 0% 83.1%; --chart-1: 220 70% 50%; --chart-2: 160 60% 45%; --chart-3: 30 80% 55%; --chart-4: 280 65% 60%; --chart-5: 340 75% 55%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; } }