/* Base body styles */
body {
    font-family: Inter, sans-serif;
    font-family: Inter, sans-serif;
    transition: background-color 0.4s ease, color 0.4s ease;
}

/* Explicit light mode body styles */
.light body { /* White background for light mode */
    background-color: #fff; /* White background for light mode */
    color: #374151; /* Tailwind gray-700 for text */
}

/* True Black Dark Mode Styles */
.dark body { /* True black background */
    background-color: #000; /* True black background */
    color: #e0e0e0; /* Lighter gray for text on black bg for good contrast */
}

.gradient-text {
    background-clip: text;
    background-clip: text;

    /* -webkit-background-clip: text; */

 /* Removed as per property-no-vendor-prefix, re-add with a disable comment if Safari needs it */
    color: transparent;
}


.section-title-underline { /* For the main content sections */
    display: inline-block;
    position: relative;
    padding-bottom: 8px;
}

/* Light mode underline - Emerald & Teal */
.section-title-underline::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #10b981, #0d9488); /* emerald-500 to teal-600 */
    transition: background 0.3s ease;
}

/* Dark mode underline - Emerald & Teal (lighter) */
.dark .section-title-underline::after {
    background: linear-gradient(to right, #34d399, #2dd4bf); /* emerald-400 to teal-500 */
}

.card-hover-effect {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}


.card-hover-effect:hover { /* Default light mode hover */
    transform: translateY(-6px);
    box-shadow: 0 12px 20px -4px rgb(0 0 0 / 12%), 0 5px 8px -3px rgb(0 0 0 / 8%);
}


.dark .card-hover-effect {
    border: 1px solid #2a2a2a; /* Base border for dark mode cards */
}


.dark .card-hover-effect:hover {
    transform: translateY(-6px); /* Keep the lift effect */
}

.theme-switch-wrapper { display: flex; align-items: center; gap: 0.5rem; }
.theme-switch { display: inline-block; height: 26px; position: relative; width: 50px; }
.theme-switch input { display:none; }
.slider { background-color: #ccc; inset: 0; cursor: pointer; position: absolute; transition: .4s; }
.dark .slider { background-color: #333; }
.slider::before { background-color: #fff; bottom: 3px; content: ""; height: 20px; left: 3px; position: absolute; transition: .4s; width: 20px; }
input:checked + .slider { background-color: #14b8a6; }
.dark input:checked + .slider { background-color: #0d9488; }
input:checked + .slider::before { transform: translateX(24px); }
.slider.round { border-radius: 26px; }
.slider.round::before { border-radius: 50%; }

.theme-switch-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.theme-switch {
    display: inline-block;
    height: 26px;
    position: relative;
    width: 50px;
}

.theme-switch input {
    display:none;
}

.slider {
    background-color: #ccc;
    cursor: pointer;
    position: absolute;
    inset: 0; /* Replaces top, right, bottom, left */
    transition: .4s;
}

.dark .slider {
    background-color: #333;
}

.slider::before {
    background-color: #fff;
    bottom: 3px;
    content: "";
    height: 20px;
    left: 3px;
    position: absolute;
    transition: .4s;
    width: 20px;
}

input:checked + .slider {
    background-color: #14b8a6;
}

.dark input:checked + .slider {
    background-color: #0d9488;
}

input:checked + .slider::before {
    transform: translateX(24px);
}

.slider.round {
    border-radius: 26px;
}

.slider.round::before {
    border-radius: 50%;
}

.dark .text-gray-800 { color: #f5f5f5 !important; }
.dark .text-gray-700 { color: #ccc !important; }
.dark .text-gray-700 { color: #ccc !important; }
.dark .text-gray-600 { color: #b3b3b3 !important; }
.dark .text-gray-500 { color: #999 !important; }
.dark .text-gray-500 { color: #999 !important; }
.dark .bg-white { background-color: #121212 !important; }
.dark .bg-gray-50 { background-color: #0a0a0a !important; }
.dark .bg-gray-100 { background-color: #000 !important; }
.dark .bg-gray-100 { background-color: #000 !important; }
.dark .learning-div-dark-bg { background-color: #1f2937 !important; }
.dark .border-white { border-color: #222 !important; }
.dark .shadow-lg { box-shadow: 0 6px 12px -3px rgb(255 255 255 / 5%), 0 2px 4px -2px rgb(255 255 255 / 4%) !important; }
.dark .hero-shadow-lg { box-shadow: 0 8px 16px -5px rgb(255 255 255 / 7%), 0 3px 6px -3px rgb(255 255 255 / 6%) !important; }
.dark .border-white { border-color: #222 !important; }
.dark .shadow-lg { box-shadow: 0 6px 12px -3px rgb(255 255 255 / 5%), 0 2px 4px -2px rgb(255 255 255 / 4%) !important; }
.dark .hero-shadow-lg { box-shadow: 0 8px 16px -5px rgb(255 255 255 / 7%), 0 3px 6px -3px rgb(255 255 255 / 6%) !important; }
.dark .contact-icon { color: #b3b3b3; }
.dark .contact-icon:hover { color: #2dd4bf; }
.dark .github-icon:hover { color: #fff; }
.dark .github-icon:hover { color: #fff; }

/* Project Links Dark Mode - specific for project cards */
.dark .project-card-link { color: #81d4fa; } /* Lighter blue for dark mode demo links */
.dark .project-card-link:hover { color: #b3e5fc; }

unchanged lines
.dark .project-card-source-link:hover { color: #e0e0e0; }



.hero-logo {
    object-fit: contain;
}