/* Custom CSS styles */
:root {
    --primary-50: #f5f3ff;
    --primary-100: #ede9fe;
    --primary-200: #ddd6fe;
    --primary-300: #c4b5fd;
    --primary-400: #a78bfa;
    --primary-500: #8b5cf6;
    --primary-600: #7c3aed;
    --primary-700: #6d28d9;
    --primary-800: #5b21b6;
    --primary-900: #4c1d95;
}

/* Base styles */
html {
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.6;
    transition: background-color 0.3s, color 0.3s;
}

/* Dark mode specific */
html.dark body {
    color-scheme: dark;
}

.letter-avatar {
    background-color: var(--primary-500);
}

/* Transitions */
.transition {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.hover\:shadow-md:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.hover\:-translate-y-1:hover {
    transform: translateY(-0.25rem);
}

/* Utility classes */
.bg-primary-500 {
    background-color: var(--primary-500);
}

.text-primary-600, .hover\:text-primary-600:hover {
    color: var(--primary-600);
}

.dark .dark\:hover\:text-primary-400:hover {
    color: var(--primary-400);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-title {
        font-size: 1.5rem;
    }
    .hero-subtitle {
        font-size: 1rem;
    }
}

footer {
    background-color: #f8f9fa;
    padding: 2rem;
    margin-top: 2rem;
    text-align: center;
}

.footer-content {
    max-width: 800px;
    margin: 0 auto;
}

.footer-content h3 {
    color: #333;
    margin-bottom: 1rem;
}

.footer-content p {
    color: #666;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.footer-content .disclaimer {
    font-size: 0.9rem;
    color: #999;
    font-style: italic;
}