@import "tailwindcss"; :root { /* Brand Colors - 中性灰色系 */ --color-primary: #374151; /* gray-700 */ --color-primary-hover: #1f2937; /* gray-800 */ --color-primary-light: #f3f4f6; /* gray-100 */ /* Accent Color - 仅用于重要强调 */ --color-accent: #f97316; /* orange-500 */ --color-accent-hover: #ea580c; /* orange-600 */ /* Semantic Colors */ --color-success: #22c55e; --color-warning: #eab308; --color-error: #ef4444; --color-info: #3b82f6; /* Neutral Colors */ --color-bg: #ffffff; --color-bg-secondary: #faf9f6; --color-border: #e8e6e1; --color-text: #111827; --color-text-secondary: #6b7280; --color-text-muted: #9ca3af; /* Spacing Scale */ --space-xs: 4px; --space-sm: 8px; --space-md: 16px; --space-lg: 24px; --space-xl: 32px; /* Border Radius */ --radius-sm: 6px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-full: 9999px; /* Shadows */ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1); /* Transitions */ --transition-fast: 150ms ease; --transition-normal: 200ms ease; --transition-slow: 300ms ease; } .dark { --color-bg: #0f1117; --color-bg-secondary: #1a1b26; --color-border: #2e303a; --color-text: #f1f5f9; --color-text-secondary: #94a3b8; --color-text-muted: #64748b; } /* Focus states for accessibility */ :focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background-color: #faf9f6; } .custom-scrollbar::-webkit-scrollbar { width: 6px; } .custom-scrollbar::-webkit-scrollbar-track { background: transparent; } .custom-scrollbar::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; } .agent-avatar { background: #4b5563; /* gray-600 */ } /* Sidebar warm background — DeerFlow-style */ .sidebar-bg { background: #f5f4f1; } :root.dark .sidebar-bg { background: #0f1117; } .chat-bubble-assistant { background: white; border: 1px solid #e5e7eb; border-radius: 12px; border-bottom-left-radius: 4px; } .chat-bubble-user { background: #374151; /* gray-700 */ color: white; border-radius: 12px; border-bottom-right-radius: 4px; } .thinking-dot { animation: pulse 1.5s infinite; } @keyframes pulse { 0%, 100% { opacity: 0.4; } 50% { opacity: 1; } } @keyframes gradientShift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } /* Force remove textarea border — WebView2 / Tailwind v4 preflight override */ textarea { border: none !important; outline: none !important; box-shadow: none !important; } textarea:focus, textarea:focus-visible { border: none !important; outline: none !important; box-shadow: none !important; } /* === Accessibility: reduced motion === */ @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; } } /* === Responsive breakpoints for small windows/tablets === */ @media (max-width: 768px) { /* Auto-collapse sidebar aside on narrow viewports */ aside.w-64 { width: 0 !important; min-width: 0 !important; overflow: hidden; border-right: none !important; } aside.w-64.sidebar-open { width: 260px !important; min-width: 260px !important; position: fixed; z-index: 50; height: 100vh; } } @media (max-width: 480px) { .chat-bubble-assistant, .chat-bubble-user { max-width: 95% !important; } }