@import "tailwindcss"; @plugin "tailwindcss-animate"; @source "../../node_modules/streamdown/dist/index.js"; @custom-variant dark (&:where(.dark, .dark *)); @theme { --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif; --font-mono: var(--font-geist-mono), ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace; --color-background: var(--background); --color-foreground: var(--foreground); --color-border: var(--border); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); } :root { --background: #fff; --foreground: #171717; --border: #e5e5e5; --muted: #f5f5f5; --muted-foreground: #737373; --primary: #171717; --primary-foreground: #fff; } .dark { --background: #0a0a0a; --foreground: #f5f5f5; --border: #262626; --muted: #262626; --muted-foreground: #a3a3a3; --primary: #f5f5f5; --primary-foreground: #0a0a0a; } html { scroll-behavior: smooth; } ::selection { background-color: #000; color: #fff; } @media (prefers-color-scheme: dark) { ::selection { background-color: #fff; color: #000; } } /* Article tables */ article table { width: 100%; font-size: 0.875rem; margin-bottom: 1rem; border-collapse: collapse; } article th { border-bottom: 1px solid #e5e5e5; padding: 0.5rem 0.75rem; text-align: left; font-size: 0.75rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; color: #737373; } article td { border-bottom: 1px solid #f5f5f5; padding: 0.5rem 0.75rem; color: #525252; } :is(.dark) article th { border-bottom-color: #262626; color: #a3a3a3; } :is(.dark) article td { border-bottom-color: rgba(38, 38, 38, 0.5); color: #a3a3a3; } button { cursor: pointer; } /* Code blocks */ pre { border: 1px solid var(--border); border-radius: 4px; padding: 0.875rem; overflow-x: auto; font-size: 0.8125rem; line-height: 1.7; } pre:not(.shiki) { background: var(--muted); } .code-block pre { margin: 0; } .code-block { margin-bottom: 1.25rem; } @media (max-width: 640px) { pre { font-size: 0.75rem; padding: 0.75rem; } } :not(pre) > code { background: var(--muted); padding: 0.125rem 0.375rem; border-radius: 3px; font-size: 0.875em; } /* Shiki dual theme support */ .shiki, .shiki span { color: var(--shiki-light) !important; background-color: var(--shiki-light-bg) !important; } .dark .shiki, .dark .shiki span { color: var(--shiki-dark) !important; background-color: var(--shiki-dark-bg) !important; } /* Prose */ .prose { max-width: 100%; } .prose h1 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; margin-bottom: 1.5rem; color: var(--foreground); } @media (min-width: 640px) { .prose h1 { font-size: 1.75rem; } } .prose h2 { font-size: 1.125rem; font-weight: 600; margin-top: 3rem; margin-bottom: 1rem; color: var(--foreground); } .prose h2:first-child { margin-top: 0; } .prose h3 { font-size: 1rem; font-weight: 600; margin-top: 2rem; margin-bottom: 0.75rem; color: var(--foreground); } .prose p { margin-bottom: 1rem; line-height: 1.65; color: #525252; font-size: 0.875rem; } :is(.dark) .prose p { color: #a3a3a3; } .prose ul, .prose ol { margin-bottom: 1rem; padding-left: 1.25rem; } .prose ul { list-style-type: disc; } .prose ol { list-style-type: decimal; } .prose li { margin-bottom: 0.25rem; color: #525252; font-size: 0.875rem; line-height: 1.6; } :is(.dark) .prose li { color: #a3a3a3; } .prose li strong { color: var(--foreground); font-weight: 500; } .prose a { color: var(--foreground); text-decoration: underline; text-decoration-color: #d4d4d4; text-underline-offset: 2px; } .prose a:hover { text-decoration-color: var(--foreground); } :is(.dark) .prose a { text-decoration-color: #525252; } :is(.dark) .prose a:hover { text-decoration-color: var(--foreground); } .prose strong { font-weight: 500; color: var(--foreground); } .prose blockquote { margin-bottom: 1rem; border-left: 2px solid #e5e5e5; padding-left: 1rem; font-size: 0.875rem; color: #737373; } :is(.dark) .prose blockquote { border-left-color: #525252; color: #a3a3a3; } .prose table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.8125rem; } .prose th, .prose td { text-align: left; padding: 0.625rem 0.875rem; border-bottom: 1px solid var(--border); } .prose th { font-weight: 500; color: var(--muted-foreground); text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.025em; } .prose td { color: var(--muted-foreground); } .prose td code { color: var(--foreground); } /* Tool call shimmer animation */ @keyframes tool-shimmer { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.5; } } .animate-tool-shimmer { animation: tool-shimmer 1.5s ease-in-out infinite; } /* Override prose text color in chat so agent responses use primary foreground */ .docs-chat-content p, .docs-chat-content li, .docs-chat-content td, .docs-chat-content th, .docs-chat-content strong, .docs-chat-content code { color: var(--foreground); } /* Reset global pre styles inside chat so Streamdown's own styling takes effect */ .docs-chat-content pre { border: none; border-radius: 0; padding: revert-layer; } /* Fix list rendering in chat content */ .docs-chat-content ul, .docs-chat-content ol { list-style-position: outside; padding-left: 1.25em; } .docs-chat-content li > p { display: inline; margin: 0; } .docs-chat-content li { margin-top: 0.5em; margin-bottom: 0.5em; }