Spaces:
Sleeping
Sleeping
| @import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); | |
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| /* KaTeX styles */ | |
| @import 'katex/dist/katex.min.css'; | |
| /* ========================================= | |
| DESIGN SYSTEM & TOKENS | |
| ========================================= */ | |
| :root { | |
| /* --- LIGHT THEME (Clean, Airy, Professional) --- */ | |
| /* Brand Colors - Indigo/Violet fused for modern tech feel */ | |
| --brand-primary: #6366f1; | |
| --brand-primary-rgb: 99, 102, 241; | |
| /* Indigo 500 */ | |
| --brand-hover: #4f46e5; | |
| /* Indigo 600 */ | |
| --brand-light: #e0e7ff; | |
| /* Indigo 100 */ | |
| --brand-text: #ffffff; | |
| /* Backgrounds */ | |
| --bg-canvas: #ffffff; | |
| --bg-canvas-rgb: 255, 255, 255; | |
| --bg-surface: #f8fafc; | |
| --bg-surface-rgb: 248, 250, 252; | |
| /* Slate 50 */ | |
| --bg-surface-hover: #eaeff3; | |
| /* Balanced hover: slightly darker than Slate 100, lighter than Slate 200 */ | |
| --bg-modal: rgba(255, 255, 255, 0.95); | |
| /* Text */ | |
| --text-primary: #0f172a; | |
| /* Slate 900 */ | |
| --text-secondary: #64748b; | |
| /* Slate 500 */ | |
| --text-tertiary: #94a3b8; | |
| /* Slate 400 */ | |
| /* Borders */ | |
| --border-light: #e2e8f0; | |
| /* Slate 200 */ | |
| --border-medium: #cbd5e1; | |
| /* Slate 300 */ | |
| /* Status */ | |
| --status-success: #10b981; | |
| --status-error: #ef4444; | |
| --status-warning: #f59e0b; | |
| /* 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), 0 2px 4px -2px rgb(0 0 0 / 0.1); | |
| --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); | |
| --shadow-glow: 0 0 20px rgba(99, 102, 241, 0.15); | |
| /* Legacy variable mapping for compatibility */ | |
| --bg-primary: var(--bg-canvas); | |
| --bg-secondary: var(--bg-surface); | |
| --border-color: var(--border-light); | |
| --accent: var(--brand-primary); | |
| } | |
| .dark { | |
| /* --- DARK THEME (Deep, Rich, Premium) --- */ | |
| /* Brand Colors - Slightly desaturated for dark mode legibility */ | |
| --brand-primary: #818cf8; | |
| --brand-primary-rgb: 129, 140, 248; | |
| /* Indigo 400 */ | |
| --brand-hover: #6366f1; | |
| /* Indigo 500 */ | |
| --brand-light: rgba(99, 102, 241, 0.15); | |
| --brand-text: #ffffff; | |
| /* Backgrounds - Zinc scale for a rich "Obsidian" feel */ | |
| --bg-canvas: #09090b; | |
| --bg-canvas-rgb: 9, 9, 11; | |
| /* Zinc 950 */ | |
| --bg-surface: #18181b; | |
| --bg-surface-rgb: 24, 24, 27; | |
| /* Zinc 900 */ | |
| --bg-surface-hover: #27272a; | |
| /* Zinc 800 */ | |
| --bg-modal: rgba(24, 24, 27, 0.96); | |
| /* More solid for better text contrast */ | |
| /* Text */ | |
| --text-primary: #f4f4f5; | |
| /* Zinc 100 */ | |
| --text-secondary: #a1a1aa; | |
| /* Zinc 400 */ | |
| --text-tertiary: #52525b; | |
| /* Zinc 600 */ | |
| /* Borders */ | |
| --border-light: #27272a; | |
| /* Zinc 800 */ | |
| --border-medium: #3f3f46; | |
| /* Zinc 700 */ | |
| /* Shadows */ | |
| --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.5); | |
| --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.5), 0 2px 4px -2px rgb(0 0 0 / 0.5); | |
| --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5), 0 4px 6px -4px rgb(0 0 0 / 0.5); | |
| --shadow-glow: 0 0 25px rgba(129, 140, 248, 0.15); | |
| /* Legacy mapping */ | |
| --bg-primary: var(--bg-canvas); | |
| --bg-secondary: var(--bg-surface); | |
| --border-color: var(--border-light); | |
| --accent: var(--brand-primary); | |
| } | |
| /* ========================================= | |
| GLOBAL RESET & BASE | |
| ========================================= */ | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| html, | |
| body { | |
| height: 100%; | |
| overflow: hidden; | |
| /* App-like feel */ | |
| overscroll-behavior: none; | |
| /* Prevent bounce/rubber-band effect */ | |
| } | |
| body { | |
| font-family: 'Outfit', 'Inter', system-ui, sans-serif; | |
| /* Outfit for headings, Inter for body */ | |
| background-color: var(--bg-canvas); | |
| color: var(--text-primary); | |
| /* Removed transition on color/background to prevent flickering on theme switch */ | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| /* Selection Highlight */ | |
| ::selection { | |
| background-color: var(--brand-primary); | |
| color: white; | |
| } | |
| /* Scrollbar Styling - Minimalist */ | |
| ::-webkit-scrollbar { | |
| width: 6px; | |
| height: 6px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--border-light); | |
| border-radius: 10px; | |
| transition: background 0.2s; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--text-tertiary); | |
| } | |
| /* ========================================= | |
| UTILITIES & COMPONENTS | |
| ========================================= */ | |
| @layer utilities { | |
| /* Modern Glassmorphism */ | |
| .glass { | |
| background: rgba(255, 255, 255, 0.65); | |
| backdrop-filter: blur(16px) saturate(180%); | |
| -webkit-backdrop-filter: blur(16px) saturate(180%); | |
| border: 1px solid rgba(255, 255, 255, 0.3); | |
| } | |
| .dark .glass { | |
| background: rgba(10, 10, 12, 0.65); | |
| border: 1px solid rgba(255, 255, 255, 0.08); | |
| } | |
| .glass-panel { | |
| background: var(--bg-modal); | |
| backdrop-filter: blur(20px); | |
| border: 1px solid var(--border-light); | |
| } | |
| /* Text Gradients */ | |
| .text-gradient { | |
| background: linear-gradient(135deg, var(--brand-primary), #a855f7); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| } | |
| /* Markdown / Message Content Styling */ | |
| .message-content { | |
| line-height: 1.7; | |
| font-size: 0.95rem; | |
| } | |
| .message-content p { | |
| margin-bottom: 0.85rem; | |
| } | |
| .message-content p:last-child { | |
| margin-bottom: 0; | |
| } | |
| .message-content strong { | |
| font-weight: 600; | |
| color: var(--text-primary); | |
| } | |
| .message-content a { | |
| color: var(--brand-primary); | |
| text-decoration: none; | |
| border-bottom: 1px dashed var(--brand-primary); | |
| transition: all 0.2s; | |
| } | |
| .message-content a:hover { | |
| border-style: solid; | |
| } | |
| /* Code Blocks */ | |
| .message-content pre { | |
| background: var(--bg-surface); | |
| border: 1px solid var(--border-light); | |
| border-radius: 0.75rem; | |
| padding: 1.25rem; | |
| overflow-x: auto; | |
| margin: 1.25rem 0; | |
| box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02); | |
| } | |
| .message-content code { | |
| font-family: 'JetBrains Mono', monospace; | |
| font-size: 0.85em; | |
| padding: 0.2em 0.4em; | |
| border-radius: 0.25rem; | |
| background: var(--bg-surface-hover); | |
| color: var(--brand-primary); | |
| } | |
| .message-content pre code { | |
| background: transparent; | |
| padding: 0; | |
| color: inherit; | |
| font-size: 0.9em; | |
| } | |
| /* Lists */ | |
| .message-content ul, | |
| .message-content ol { | |
| padding-left: 1.5rem; | |
| margin: 0.75rem 0; | |
| } | |
| .message-content li { | |
| margin: 0.4rem 0; | |
| padding-left: 0.5rem; | |
| } | |
| /* KaTeX Override (Math) - Minimalist Integrated Look */ | |
| .katex-display { | |
| margin: 1.5rem 0; | |
| padding: 0.5rem 0; | |
| background: transparent; | |
| border: none; | |
| border-radius: 0; | |
| overflow-x: auto; | |
| box-shadow: none; | |
| position: relative; | |
| transition: color 0.3s ease; | |
| } | |
| .katex-display:hover { | |
| border-color: transparent; | |
| box-shadow: none; | |
| } | |
| .katex { | |
| font-size: 1.1em; | |
| color: var(--text-primary); | |
| } | |
| .katex-error { | |
| color: var(--status-error); | |
| background: rgba(239, 68, 68, 0.1); | |
| padding: 2px 6px; | |
| border-radius: 4px; | |
| } | |
| /* ========================================= | |
| ANIMATIONS | |
| ========================================= */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(5px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes popIn { | |
| 0% { | |
| transform: scale(0.9); | |
| opacity: 0; | |
| } | |
| 100% { | |
| transform: scale(1); | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes messageSlideUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .animate-msg-slide-up { | |
| animation: messageSlideUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; | |
| } | |
| /* Agent Tracking UI Refinements */ | |
| .agent-status-badge { | |
| display: inline-flex; | |
| align-items: center; | |
| background: var(--brand-light); | |
| color: var(--brand-primary); | |
| padding: 0.35rem 0.85rem; | |
| border-radius: 20px; | |
| font-size: 0.75rem; | |
| font-weight: 700; | |
| margin-bottom: 0.75rem; | |
| border: 1px solid rgba(var(--brand-primary-rgb), 0.2); | |
| text-transform: uppercase; | |
| letter-spacing: 0.08em; | |
| box-shadow: 0 4px 10px rgba(99, 102, 241, 0.1); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .agent-status-badge::after { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 50%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); | |
| animation: badgeShine 2s infinite; | |
| } | |
| @keyframes badgeShine { | |
| 0% { | |
| left: -100%; | |
| } | |
| 100% { | |
| left: 200%; | |
| } | |
| } | |
| .agent-steps { | |
| margin-bottom: 1.25rem; | |
| font-size: 0.85rem; | |
| border: 1px solid var(--border-light); | |
| border-radius: 0.75rem; | |
| overflow: hidden; | |
| background: var(--bg-surface); | |
| box-shadow: var(--shadow-sm); | |
| } | |
| .agent-steps summary { | |
| padding: 0.75rem 1rem; | |
| cursor: pointer; | |
| font-weight: 500; | |
| color: var(--text-secondary); | |
| transition: color 0.2s; | |
| background: var(--bg-secondary); | |
| } | |
| .agent-steps summary:hover { | |
| color: var(--brand-primary); | |
| } | |
| .steps-list { | |
| padding: 0.75rem; | |
| gap: 0.75rem; | |
| } | |
| .step-item { | |
| background: var(--bg-canvas); | |
| border: 1px solid var(--border-light); | |
| border-radius: 0.5rem; | |
| padding: 0.75rem; | |
| } | |
| .step-tool { | |
| color: var(--brand-primary); | |
| } |