Spaces:
Sleeping
Sleeping
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| @layer base { | |
| :root { | |
| --background: 0 0% 100%; | |
| --foreground: 222.2 84% 4.9%; | |
| --card: 0 0% 100%; | |
| --card-foreground: 222.2 84% 4.9%; | |
| --popover: 0 0% 100%; | |
| --popover-foreground: 222.2 84% 4.9%; | |
| --primary: 222.2 47.4% 11.2%; | |
| --primary-foreground: 210 40% 98%; | |
| --secondary: 210 40% 96.1%; | |
| --secondary-foreground: 222.2 47.4% 11.2%; | |
| --muted: 210 40% 96.1%; | |
| --muted-foreground: 215.4 16.3% 46.9%; | |
| --accent: 210 40% 96.1%; | |
| --accent-foreground: 222.2 47.4% 11.2%; | |
| --destructive: 0 84.2% 60.2%; | |
| --destructive-foreground: 210 40% 98%; | |
| --border: 214.3 31.8% 91.4%; | |
| --input: 214.3 31.8% 91.4%; | |
| --ring: 222.2 84% 4.9%; | |
| --radius: 0.5rem; | |
| /* Font size variables */ | |
| --font-size-xs: 0.8125rem; /* 13px */ | |
| --font-size-sm: 0.9375rem; /* 15px */ | |
| --font-size-base: 1.0625rem; /* 17px */ | |
| --font-size-lg: 1.1875rem; /* 19px */ | |
| --font-size-xl: 1.375rem; /* 22px */ | |
| --font-size-2xl: 1.625rem; /* 26px */ | |
| /* Line height variables */ | |
| --line-height-tight: 1.3; | |
| --line-height-normal: 1.5; | |
| --line-height-relaxed: 1.7; | |
| } | |
| .dark { | |
| --background: 222.2 84% 4.9%; | |
| --foreground: 210 40% 98%; | |
| --card: 222.2 84% 4.9%; | |
| --card-foreground: 210 40% 98%; | |
| --popover: 222.2 84% 4.9%; | |
| --popover-foreground: 210 40% 98%; | |
| --primary: 210 40% 98%; | |
| --primary-foreground: 222.2 47.4% 11.2%; | |
| --secondary: 217.2 32.6% 17.5%; | |
| --secondary-foreground: 210 40% 98%; | |
| --muted: 217.2 32.6% 17.5%; | |
| --muted-foreground: 215 20.2% 65.1%; | |
| --accent: 217.2 32.6% 17.5%; | |
| --accent-foreground: 210 40% 98%; | |
| --destructive: 0 62.8% 30.6%; | |
| --destructive-foreground: 210 40% 98%; | |
| --border: 217.2 32.6% 17.5%; | |
| --input: 217.2 32.6% 17.5%; | |
| --ring: 212.7 26.8% 83.9%; | |
| } | |
| } | |
| @layer base { | |
| * { | |
| @apply border-border; | |
| } | |
| html { | |
| font-size: 16px; /* Base font size */ | |
| } | |
| body { | |
| @apply bg-background text-foreground; | |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; | |
| font-size: var(--font-size-base); | |
| line-height: var(--line-height-normal); | |
| transition: background-color 0.3s ease, color 0.3s ease; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| text-rendering: optimizeLegibility; | |
| } | |
| /* Custom scrollbar styles */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| @apply bg-secondary/50 rounded-full; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| @apply bg-primary/40 rounded-full transition-colors duration-300; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| @apply bg-primary/60; | |
| } | |
| /* Additional transitions for theme elements */ | |
| button, a, input, textarea, select { | |
| transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; | |
| } | |
| /* Animation for the loading dots */ | |
| @keyframes loading { | |
| 0%, 100% { | |
| transform: translateY(0); | |
| } | |
| 50% { | |
| transform: translateY(-5px); | |
| } | |
| } | |
| .animate-loading { | |
| animation: loading 1s infinite ease-in-out; | |
| } | |
| /* Markdown content styles */ | |
| .markdown-content { | |
| font-size: var(--font-size-base); | |
| line-height: var(--line-height-relaxed); | |
| letter-spacing: 0.01em; | |
| } | |
| .markdown-content pre { | |
| position: relative; | |
| margin: 1.25rem 0; | |
| } | |
| .markdown-content code { | |
| font-family: 'SF Mono', 'Roboto Mono', Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; | |
| font-size: var(--font-size-sm); | |
| } | |
| /* Syntax highlighting for code blocks */ | |
| .markdown-content pre code { | |
| display: block; | |
| padding: 1rem; | |
| overflow-x: auto; | |
| border-radius: 0.375rem; | |
| line-height: 1.5; | |
| } | |
| /* Specific element styles */ | |
| .markdown-content h1, | |
| .markdown-content h2, | |
| .markdown-content h3, | |
| .markdown-content h4 { | |
| font-weight: 600; | |
| line-height: var(--line-height-tight); | |
| margin-top: 1.5em; | |
| margin-bottom: 0.75em; | |
| } | |
| .markdown-content h1 { | |
| font-size: var(--font-size-2xl); | |
| } | |
| .markdown-content h2 { | |
| font-size: var(--font-size-xl); | |
| } | |
| .markdown-content h3 { | |
| font-size: var(--font-size-lg); | |
| } | |
| .markdown-content h4 { | |
| font-size: var(--font-size-base); | |
| } | |
| .markdown-content p { | |
| margin-bottom: 1.25rem; | |
| } | |
| .markdown-content ul, | |
| .markdown-content ol { | |
| margin-bottom: 1.25rem; | |
| padding-left: 1.5rem; | |
| } | |
| .markdown-content li { | |
| margin-bottom: 0.5rem; | |
| } | |
| .markdown-content strong { | |
| font-weight: 600; | |
| } | |
| .markdown-content hr { | |
| @apply my-4 border-t border-border; | |
| } | |
| .markdown-content a { | |
| @apply text-primary font-medium hover:underline; | |
| } | |
| .markdown-content table { | |
| width: 100%; | |
| table-layout: fixed; | |
| overflow: hidden; | |
| margin-bottom: 1.25rem; | |
| } | |
| .markdown-content img { | |
| max-width: 100%; | |
| height: auto; | |
| margin: 1.25rem 0; | |
| } | |
| } | |
| /* Thin scrollbar style */ | |
| .scrollbar-thin::-webkit-scrollbar { | |
| width: 4px; | |
| height: 4px; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-track { | |
| @apply bg-secondary/30 rounded-full; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-thumb { | |
| @apply bg-primary/30 rounded-full transition-colors duration-300; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-thumb:hover { | |
| @apply bg-primary/50; | |
| } | |
| /* Make all scrollable areas use the thin scrollbar */ | |
| .overflow-y-auto, | |
| .overflow-x-auto { | |
| @apply scrollbar-thin; | |
| } | |
| /* Additional content height limits */ | |
| .line-clamp-3 { | |
| display: -webkit-box; | |
| -webkit-line-clamp: 3; | |
| -webkit-box-orient: vertical; | |
| overflow: hidden; | |
| } | |
| /* Fix layout shifts with transitions */ | |
| .max-w-md, | |
| .max-w-4xl, | |
| .container { | |
| width: 100%; | |
| } | |
| /* Ensure fixed layout for markdown content */ | |
| .markdown-content img, | |
| .markdown-content pre, | |
| .markdown-content table { | |
| max-width: 100%; | |
| width: auto ; | |
| overflow-x: auto; | |
| } | |
| /* Prevent layout shifts when switching files */ | |
| button, a { | |
| backface-visibility: hidden; | |
| transform: translateZ(0); | |
| } | |
| /* Word Cloud Styles */ | |
| .word-cloud-container { | |
| display: flex; | |
| flex-wrap: wrap; | |
| justify-content: center; | |
| align-items: center; | |
| width: 100%; | |
| height: 100%; | |
| text-align: center; | |
| } | |
| .word-cloud-container span { | |
| display: inline-block; | |
| padding: 4px 8px; | |
| margin: 4px; | |
| border-radius: 4px; | |
| transition: all 0.2s ease; | |
| } | |
| .word-cloud-container span:hover { | |
| color: hsl(var(--primary)); | |
| transform: scale(1.1); | |
| z-index: 1; | |
| } | |
| /* Add a darker header background for dark mode */ | |
| .dark .markdown-content h1, | |
| .dark .markdown-content h2, | |
| .dark .markdown-content h3, | |
| .dark .markdown-content h4 { | |
| background-color: hsl(var(--primary)); | |
| color: hsl(var(--primary-foreground)); | |
| } |