@import "tailwindcss"; :root { --background: #ffffff; --foreground: #1a1a1a; --primary: #0ea5e9; --primary-light: #38bdf8; --secondary: #64748b; --accent: #0284c7; --surface: #ffffff; --surface-variant: #f8fafc; --card-border: #e2e8f0; --text-muted: #52525b; } @media (prefers-color-scheme: dark) { :root { --background: #0a0a0a; --foreground: #fafafa; --primary: #38bdf8; --primary-light: #7dd3fc; --secondary: #94a3b8; --accent: #0ea5e9; --surface: #111111; --surface-variant: #18181b; --card-border: #27272a; --text-muted: #a1a1aa; } } body { color: var(--foreground); background: var(--background); font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; overflow-x: hidden; } /* ==================== MARKDOWN CONTENT STYLING ==================== */ .markdown-content { line-height: 1.75; font-size: 0.95rem; } /* Page Title */ .markdown-content h1 { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.5rem; margin-top: 0; color: var(--foreground); display: flex; align-items: center; gap: 0.5rem; line-height: 1.3; } /* Subtitle/Meta line after title */ .markdown-content>p:first-of-type { color: var(--text-muted); font-size: 0.875rem; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--card-border); } /* Section Headers */ .markdown-content h3 { font-size: 1rem; font-weight: 600; margin-bottom: 0.75rem; margin-top: 0; color: var(--foreground); display: flex; align-items: center; gap: 0.5rem; } /* Paragraphs */ .markdown-content p { margin-bottom: 1rem; color: var(--text-muted); font-size: 0.925rem; line-height: 1.7; } /* Cards / Blockquotes - Clean Cards with Clear Separation */ .markdown-content blockquote { position: relative; padding: 1.25rem 1.5rem; margin: 0 0 1.25rem 0; border-radius: 16px; border: 1px solid var(--card-border); background: var(--surface-variant); transition: all 0.2s ease; animation: fadeSlideIn 0.4s ease-out forwards; opacity: 0; transform: translateY(8px); } .markdown-content blockquote:nth-child(1) { animation-delay: 0.05s; } .markdown-content blockquote:nth-child(2) { animation-delay: 0.1s; } .markdown-content blockquote:nth-child(3) { animation-delay: 0.15s; } .markdown-content blockquote:nth-child(4) { animation-delay: 0.2s; } .markdown-content blockquote:nth-child(5) { animation-delay: 0.25s; } .markdown-content blockquote:hover { border-color: var(--primary); } /* Remove margin from first/last elements inside blockquote */ .markdown-content blockquote>*:first-child { margin-top: 0; } .markdown-content blockquote>*:last-child { margin-bottom: 0; } /* Nested content in blockquotes */ .markdown-content blockquote p { color: var(--foreground); opacity: 0.85; } .markdown-content blockquote h3 { margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--card-border); } /* Lists */ .markdown-content ul { list-style: none; padding: 0; margin: 0.5rem 0; } .markdown-content ul li { position: relative; padding-left: 1.5rem; margin-bottom: 0.625rem; font-size: 0.9rem; color: var(--text-muted); line-height: 1.6; } .markdown-content ul li::before { content: ''; position: absolute; left: 0; top: 0.5rem; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); } /* Ordered Lists */ .markdown-content ol { counter-reset: item; padding: 0; margin: 0.5rem 0; } .markdown-content ol li { counter-increment: item; position: relative; padding-left: 2rem; margin-bottom: 0.625rem; font-size: 0.9rem; color: var(--text-muted); } .markdown-content ol li::before { content: counter(item); position: absolute; left: 0; top: 0; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--foreground); color: var(--background); font-weight: 600; font-size: 0.7rem; display: flex; align-items: center; justify-content: center; } /* Bold text */ .markdown-content strong { font-weight: 600; color: var(--foreground); } /* Italic */ .markdown-content em { font-style: italic; color: var(--primary); } /* Horizontal Rule */ .markdown-content hr { border: none; height: 1px; margin: 1.5rem 0; background: var(--card-border); } /* Code/Tags */ .markdown-content code { background: var(--surface-variant); padding: 0.15rem 0.4rem; border-radius: 4px; font-size: 0.85rem; font-family: 'SF Mono', 'Fira Code', monospace; color: var(--foreground); border: 1px solid var(--card-border); } /* Action buttons at the bottom */ .markdown-content strong:has(a), .markdown-content p:last-child strong { display: inline-flex; gap: 0.5rem; } /* ==================== ANIMATIONS ==================== */ @keyframes fadeSlideIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-in-up { animation: fadeSlideIn 0.4s ease-out forwards; } /* ==================== UTILITY CLASSES ==================== */ @layer utilities { .card-shadow { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); } .pixel-corner { border-radius: 16px; } } /* ==================== SCROLLBAR ==================== */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: var(--surface-variant); } ::-webkit-scrollbar-thumb { background: var(--secondary); border-radius: 10px; } ::-webkit-scrollbar-thumb:hover { background: var(--primary); } /* ==================== PROSE OVERRIDES ==================== */ .prose { --tw-prose-body: var(--text-muted); --tw-prose-headings: var(--foreground); --tw-prose-bold: var(--foreground); --tw-prose-quotes: var(--text-muted); } .prose :where(blockquote):not(:where([class~="not-prose"], [class~="not-prose"] *)) { font-style: normal; border-left: none; quotes: none; } .prose :where(blockquote p:first-of-type)::before, .prose :where(blockquote p:last-of-type)::after { content: none; }