/* ===========================
   Theme System
   =========================== */

/* Smooth theme transitions */
body,
.navbar,
.card,
.skill-card,
.project-card,
.timeline-content,
.education-card,
.contact-form-wrapper,
.social-link,
.footer,
.info-card {
    transition: background-color var(--transition-base), 
                color var(--transition-base),
                border-color var(--transition-base);
}

/* Theme toggle animation */
@keyframes iconFadeIn {
    from {
        opacity: 0;
        transform: rotate(-90deg) scale(0.8);
    }
    to {
        opacity: 1;
        transform: rotate(0) scale(1);
    }
}

.theme-toggle-btn i {
    animation: iconFadeIn var(--transition-base) ease;
}

/* Respect user's color scheme preference on first load */
@media (prefers-color-scheme: light) {
    :root:not([data-theme]) {
        --bg: #f8fafc;
        --panel: #ffffff;
        --panel-hover: #f1f5f9;
        --text: #1e293b;
        --text-secondary: #475569;
        --muted: #94a3b8;
        --accent: #0ea5e9;
        --accent-2: #3b82f6;
        --accent-hover: #0284c7;
        --border: #e2e8f0;
        --error: #ef4444;
        --success: #10b981;
        --warning: #f59e0b;
        
        --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
        --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
        --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.15);
        --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
    }
}

/* Enhanced contrast for dark mode readability */
[data-theme="dark"] .hero-title {
    filter: brightness(1.1);
}

/* Light mode specific adjustments */
[data-theme="light"] .hero {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
}

[data-theme="light"] .hero-title {
    filter: brightness(0.9);
}

/* Print styles */
@media print {
    body {
        background-color: white;
        color: black;
    }
    
    .navbar,
    .go-to-top,
    .theme-toggle-btn {
        display: none;
    }
    
    .section {
        page-break-inside: avoid;
    }
}
