body { font-family: 'Inter', sans-serif; }
a:focus { outline: 2px solid #3b82f6; outline-offset: 2px; }

/* Custom scrollbar styling for a consistent look */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

/* Dark mode scrollbar styles */
.dark ::-webkit-scrollbar-track { background: #2d3748; }
.dark ::-webkit-scrollbar-thumb { background: #718096; }
.dark ::-webkit-scrollbar-thumb:hover { background: #a0aec0; }

/* Custom prose styles for markdown-like content */
.prose-custom {
    @apply prose prose-lg dark:prose-invert max-w-none prose-a:text-blue-600 dark:prose-a:text-blue-400;
}

/* Component-specific transitions */
.modal-overlay { transition: opacity 0.3s ease; }
.modal-content { transition: transform 0.3s ease; }
#collapsible-content { max-height: 1000px; transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out; overflow: hidden; opacity: 1; }
#collapsible-content.collapsed { max-height: 0; opacity: 0; }
#cookie-consent { transition: transform 0.3s ease; }