mafzaal's picture
Update project title and enhance dark mode styling
ac3613d
@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 !important;
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));
}