@import "tailwindcss"; :root { --background: #fafaf9; --foreground: #1c1917; --primary: #0f766e; /* deep teal — financial-services serious */ --primary-foreground: #ffffff; --muted: #f5f5f4; --muted-foreground: #57534e; --border: #e7e5e4; --card: #ffffff; --accent: #fef3c7; /* warm amber for highlights */ --error: #dc2626; } @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-border: var(--border); --color-card: var(--card); --color-accent: var(--accent); --color-error: var(--error); --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace; } @media (prefers-color-scheme: dark) { :root { --background: #0c0a09; --foreground: #fafaf9; --muted: #1c1917; --muted-foreground: #a8a29e; --border: #292524; --card: #1c1917; --primary: #2dd4bf; --primary-foreground: #0a0a0a; --accent: #422006; } } body { background: var(--background); color: var(--foreground); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; } /* utility — scrollbar styling */ .scrollbar-thin::-webkit-scrollbar { width: 8px; height: 8px; } .scrollbar-thin::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; } .scrollbar-thin::-webkit-scrollbar-thumb:hover { background: var(--muted-foreground); } .scrollbar-thin::-webkit-scrollbar-track { background: transparent; } /* fade-in for chat messages */ @keyframes fade-up { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-up { animation: fade-up 0.3s ease-out; } /* pulse for recording indicator */ @keyframes record-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7); } 50% { box-shadow: 0 0 0 12px rgba(220, 38, 38, 0); } } .animate-record-pulse { animation: record-pulse 1.4s infinite; }