/* Dark Theme Layer */

body.theme-dark {
    color-scheme: dark;
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.26), transparent 24%),
        radial-gradient(circle at top right, rgba(236, 72, 153, 0.14), transparent 22%),
        radial-gradient(circle at 50% 18%, rgba(168, 85, 247, 0.12), transparent 18%),
        radial-gradient(circle at bottom, rgba(16, 185, 129, 0.08), transparent 26%),
        #020617;
    color: #e5e7eb;
}

body.theme-dark::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), transparent 75%);
    z-index: -1;
}

body.theme-dark nav,
body.theme-dark footer,
body.theme-dark .bg-white,
body.theme-dark .bg-gray-50,
body.theme-dark .bg-slate-50,
body.theme-dark .bg-green-50,
body.theme-dark .bg-lime-50,
body.theme-dark .bg-amber-50,
body.theme-dark .bg-sky-50,
body.theme-dark .bg-cyan-50,
body.theme-dark .bg-emerald-50,
body.theme-dark .bg-violet-50,
body.theme-dark .bg-purple-50 {
    background-color: rgba(2, 6, 23, 0.82) !important;
}

body.theme-dark .bg-white\/80,
body.theme-dark .bg-white\/90,
body.theme-dark .bg-white\/95 {
    background-color: rgba(2, 6, 23, 0.76) !important;
    backdrop-filter: blur(18px) saturate(140%);
    border-color: rgba(148, 163, 184, 0.14) !important;
}

body.theme-dark nav,
body.theme-dark footer {
    background-image: linear-gradient(180deg, rgba(2, 6, 23, 0.96), rgba(15, 23, 42, 0.92)) !important;
    border-color: rgba(148, 163, 184, 0.16) !important;
    backdrop-filter: blur(18px) saturate(140%);
}

body.theme-dark nav {
    box-shadow: 0 12px 40px -22px rgba(59, 130, 246, 0.35) !important;
}

body.theme-dark .bg-white,
body.theme-dark .bg-gray-50,
body.theme-dark .bg-slate-50,
body.theme-dark .bg-green-50,
body.theme-dark .bg-lime-50,
body.theme-dark .bg-amber-50,
body.theme-dark .bg-sky-50,
body.theme-dark .bg-cyan-50,
body.theme-dark .bg-emerald-50,
body.theme-dark .bg-violet-50,
body.theme-dark .bg-purple-50 {
    background-image: linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.90)) !important;
    box-shadow: 0 28px 100px -30px rgba(0, 0, 0, 0.9) !important;
    border-color: rgba(51, 65, 85, 0.88) !important;
}

body.theme-dark .text-gray-900,
body.theme-dark .text-gray-800 {
    color: #f8fafc !important;
}

body.theme-dark .text-gray-700 {
    color: #d1d5db !important;
}

body.theme-dark .text-gray-600 {
    color: #94a3b8 !important;
}

body.theme-dark .text-gray-500 {
    color: #64748b !important;
}

body.theme-dark .text-gray-400 {
    color: #475569 !important;
}

body.theme-dark .border-gray-100,
body.theme-dark .border-gray-200,
body.theme-dark .border-gray-200\/50,
body.theme-dark .border-gray-100\/50,
body.theme-dark .border-gray-300 {
    border-color: rgba(51, 65, 85, 0.85) !important;
}

body.theme-dark .shadow-lg,
body.theme-dark .shadow-xl,
body.theme-dark .shadow-2xl {
    box-shadow: 0 28px 90px -28px rgba(0, 0, 0, 0.90) !important;
}

body.theme-dark .hover\:shadow-xl:hover,
body.theme-dark .hover\:shadow-lg:hover {
    box-shadow: 0 34px 120px -30px rgba(59, 130, 246, 0.28), 0 24px 80px -28px rgba(0, 0, 0, 0.92) !important;
    transform: translateY(-3px) scale(1.005);
}

body.theme-dark .group:hover > div {
    border-color: rgba(96, 165, 250, 0.28) !important;
}

body.theme-dark .bg-gradient-to-br.from-slate-50.to-blue-50,
body.theme-dark .bg-gradient-to-br.from-green-50.to-emerald-200,
body.theme-dark .bg-gradient-to-br.from-green-100.to-emerald-200,
body.theme-dark .bg-gradient-to-br.from-lime-50.to-emerald-100,
body.theme-dark .bg-gradient-to-br.from-amber-50.to-orange-100,
body.theme-dark .bg-gradient-to-br.from-sky-50.to-cyan-100 {
    background-image: linear-gradient(135deg, #020617 0%, #0f172a 52%, #111827 100%) !important;
}

body.theme-dark .from-slate-50 { --tw-gradient-from: #020617 var(--tw-gradient-from-position) !important; }
body.theme-dark .to-blue-50 { --tw-gradient-to: #0f172a var(--tw-gradient-to-position) !important; }
body.theme-dark .from-green-50 { --tw-gradient-from: #06111c var(--tw-gradient-from-position) !important; }
body.theme-dark .to-emerald-100 { --tw-gradient-to: #0b1f22 var(--tw-gradient-to-position) !important; }
body.theme-dark .from-green-100 { --tw-gradient-from: #08242a var(--tw-gradient-from-position) !important; }
body.theme-dark .to-emerald-200 { --tw-gradient-to: #0f2930 var(--tw-gradient-to-position) !important; }
body.theme-dark .from-lime-50 { --tw-gradient-from: #0a1120 var(--tw-gradient-from-position) !important; }
body.theme-dark .from-amber-50 { --tw-gradient-from: #101525 var(--tw-gradient-from-position) !important; }
body.theme-dark .to-orange-100 { --tw-gradient-to: #241326 var(--tw-gradient-to-position) !important; }
body.theme-dark .from-sky-50 { --tw-gradient-from: #07111f var(--tw-gradient-from-position) !important; }
body.theme-dark .to-cyan-100 { --tw-gradient-to: #082433 var(--tw-gradient-to-position) !important; }

body.theme-dark #hero,
body.theme-dark section.pt-24 {
    position: relative;
}

body.theme-dark section.pt-24::after {
    content: "";
    position: absolute;
    inset: auto 0 -1px 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.6), rgba(236, 72, 153, 0.55), transparent);
    pointer-events: none;
}

body.theme-dark #projects .group > div,
body.theme-dark #experience .group > div,
body.theme-dark #skills .bg-white,
body.theme-dark #contact .bg-gradient-to-br,
body.theme-dark #contact .flex.items-center.space-x-4,
body.theme-dark #tools .bg-white,
body.theme-dark main .rounded-3xl,
body.theme-dark main .rounded-2xl {
    background-image: linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(2, 6, 23, 0.90)) !important;
    border: 1px solid rgba(148, 163, 184, 0.14) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.03),
        0 30px 80px -30px rgba(0, 0, 0, 0.92) !important;
}

body.theme-dark #projects .group > div:hover,
body.theme-dark #experience .group > div:hover,
body.theme-dark #skills .bg-white:hover,
body.theme-dark #contact .bg-gradient-to-br:hover,
body.theme-dark main .rounded-3xl:hover,
body.theme-dark main .rounded-2xl:hover {
    border-color: rgba(59, 130, 246, 0.24) !important;
    box-shadow:
        0 36px 120px -28px rgba(59, 130, 246, 0.22),
        0 24px 80px -28px rgba(0, 0, 0, 0.94) !important;
}

body.theme-dark #projects .group:hover > div,
body.theme-dark #experience .group:hover > div {
    transform: translateY(-3px) scale(1.01);
}

body.theme-dark .bg-white\/5,
body.theme-dark .bg-primary\/5,
body.theme-dark .bg-secondary\/5,
body.theme-dark .bg-accent\/5,
body.theme-dark .bg-success\/5,
body.theme-dark .bg-violet-100,
body.theme-dark .bg-purple-100,
body.theme-dark .bg-fuchsia-100,
body.theme-dark .bg-indigo-100,
body.theme-dark .bg-sky-100,
body.theme-dark .bg-emerald-100,
body.theme-dark .bg-cyan-100,
body.theme-dark .bg-amber-100,
body.theme-dark .bg-orange-100,
body.theme-dark .bg-lime-100 {
    background-color: rgba(15, 23, 42, 0.70) !important;
    border-color: rgba(59, 130, 246, 0.12) !important;
}

body.theme-dark #projects .flex.flex-wrap.gap-2.mb-6 span,
body.theme-dark #experience .flex.flex-wrap.gap-2.mt-6 span {
    background: rgba(15, 23, 42, 0.88) !important;
    border: 1px solid rgba(59, 130, 246, 0.16) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 24px -18px rgba(0, 0, 0, 0.8) !important;
    padding: 0.35rem 0.9rem !important;
    margin: 0 !important;
    border-radius: 9999px !important;
}

body.theme-dark #projects .flex.flex-wrap.gap-2.mb-6,
body.theme-dark #experience .flex.flex-wrap.gap-2.mt-6 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.85rem !important;
    width: auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 1.25rem 0 !important;
}

body.theme-dark .bg-gray-900,
body.theme-dark .bg-gray-800,
body.theme-dark .bg-slate-900 {
    background-color: #020617 !important;
}

body.theme-dark .text-white {
    color: #f8fafc !important;
}

body.theme-dark input,
body.theme-dark textarea,
body.theme-dark select {
    background-color: rgba(15, 23, 42, 0.92) !important;
    color: #e5e7eb !important;
    border-color: rgba(71, 85, 105, 0.95) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder {
    color: #64748b !important;
}

body.theme-dark input:focus,
body.theme-dark textarea:focus,
body.theme-dark select:focus {
    outline: none !important;
    border-color: rgba(59, 130, 246, 0.85) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.22) !important;
}

body.theme-dark button,
body.theme-dark .inline-flex,
body.theme-dark .flex a,
body.theme-dark .group a,
body.theme-dark .rounded-full {
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

body.theme-dark button:hover,
body.theme-dark a:hover {
    filter: brightness(1.05);
}

body.theme-dark .inline-flex.items-center.justify-center,
body.theme-dark .inline-flex.items-center,
body.theme-dark button[type="submit"],
body.theme-dark .w-full.bg-gradient-to-r,
body.theme-dark .border-2.border-primary,
body.theme-dark .bg-gradient-to-r.from-primary.to-secondary,
body.theme-dark .bg-gradient-to-r.from-success.to-primary {
    transform: translateZ(0);
}

body.theme-dark .inline-flex.items-center.justify-center,
body.theme-dark .inline-flex.items-center,
body.theme-dark button[type="submit"],
body.theme-dark .w-full.bg-gradient-to-r,
body.theme-dark .border-2.border-primary,
body.theme-dark .bg-gradient-to-r.from-primary.to-secondary,
body.theme-dark .bg-gradient-to-r.from-success.to-primary {
    box-shadow: 0 18px 42px -18px rgba(59, 130, 246, 0.46) !important;
    border-color: rgba(59, 130, 246, 0.35) !important;
}

body.theme-dark .inline-flex.items-center.justify-center:hover,
body.theme-dark .inline-flex.items-center:hover,
body.theme-dark button[type="submit"]:hover,
body.theme-dark .w-full.bg-gradient-to-r:hover,
body.theme-dark .border-2.border-primary:hover,
body.theme-dark .bg-gradient-to-r.from-primary.to-secondary:hover,
body.theme-dark .bg-gradient-to-r.from-success.to-primary:hover {
    box-shadow: 0 24px 56px -18px rgba(168, 85, 247, 0.44), 0 0 0 1px rgba(59, 130, 246, 0.18) !important;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary,
body.theme-dark .bg-gradient-to-r.from-success.to-primary,
body.theme-dark .bg-gradient-to-r.from-secondary.to-accent,
body.theme-dark .bg-gradient-to-r.from-accent.to-success,
body.theme-dark .bg-gradient-to-r.from-secondary.to-primary,
body.theme-dark .bg-gradient-to-r.from-emerald-500.to-teal-600,
body.theme-dark .bg-gradient-to-r.from-indigo-500.to-sky-600,
body.theme-dark .bg-gradient-to-r.from-violet-500.to-purple-600 {
    border: 1px solid rgba(59, 130, 246, 0.18) !important;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary,
body.theme-dark .bg-gradient-to-r.from-success.to-primary,
body.theme-dark .bg-gradient-to-r.from-secondary.to-accent,
body.theme-dark .bg-gradient-to-r.from-accent.to-success,
body.theme-dark .bg-gradient-to-r.from-secondary.to-primary,
body.theme-dark .bg-gradient-to-r.from-emerald-500.to-teal-600,
body.theme-dark .bg-gradient-to-r.from-indigo-500.to-sky-600,
body.theme-dark .bg-gradient-to-r.from-violet-500.to-purple-600 {
    background-size: 160% 160% !important;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary:hover,
body.theme-dark .bg-gradient-to-r.from-success.to-primary:hover,
body.theme-dark .bg-gradient-to-r.from-secondary.to-accent:hover,
body.theme-dark .bg-gradient-to-r.from-accent.to-success:hover,
body.theme-dark .bg-gradient-to-r.from-secondary.to-primary:hover,
body.theme-dark .bg-gradient-to-r.from-emerald-500.to-teal-600:hover,
body.theme-dark .bg-gradient-to-r.from-indigo-500.to-sky-600:hover,
body.theme-dark .bg-gradient-to-r.from-violet-500.to-purple-600:hover {
    background-position: 100% 0 !important;
}

body.theme-dark .text-primary {
    color: #60a5fa !important;
}

body.theme-dark .text-secondary {
    color: #f472b6 !important;
}

body.theme-dark .text-accent {
    color: #fbbf24 !important;
}

body.theme-dark .text-success {
    color: #34d399 !important;
}

body.theme-dark .text-warning {
    color: #fbbf24 !important;
}

body.theme-dark .hover\:text-primary:hover {
    color: #93c5fd !important;
}

body.theme-dark .hover\:text-secondary:hover {
    color: #f9a8d4 !important;
}

body.theme-dark .text-transparent.bg-clip-text {
    filter: drop-shadow(0 0 16px rgba(59, 130, 246, 0.18));
}

body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3 {
    letter-spacing: -0.02em;
}

body.theme-dark .tracking-wide.uppercase {
    letter-spacing: 0.18em;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary,
body.theme-dark .bg-gradient-to-r.from-success.to-primary,
body.theme-dark .bg-gradient-to-r.from-emerald-500.to-teal-600,
body.theme-dark .bg-gradient-to-r.from-indigo-500.to-sky-600,
body.theme-dark .bg-gradient-to-r.from-violet-500.to-purple-600 {
    box-shadow: 0 18px 40px -18px rgba(59, 130, 246, 0.55) !important;
    position: relative;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary:hover,
body.theme-dark .bg-gradient-to-r.from-success.to-primary:hover,
body.theme-dark .bg-gradient-to-r.from-emerald-500.to-teal-600:hover,
body.theme-dark .bg-gradient-to-r.from-indigo-500.to-sky-600:hover,
body.theme-dark .bg-gradient-to-r.from-violet-500.to-purple-600:hover {
    box-shadow: 0 22px 50px -20px rgba(168, 85, 247, 0.55) !important;
    transform: translateY(-1px) scale(1.01);
}

body.theme-dark .bg-white\/90 .text-gray-700,
body.theme-dark .bg-white\/95 .text-gray-700 {
    color: #d1d5db !important;
}

body.theme-dark .bg-white\/90 .text-gray-900,
body.theme-dark .bg-white\/95 .text-gray-900 {
    color: #f8fafc !important;
}

body.theme-dark .bg-white\/90 .border-gray-200,
body.theme-dark .bg-white\/95 .border-gray-200 {
    border-color: rgba(51, 65, 85, 0.9) !important;
}

body.theme-dark .bg-gradient-to-br.from-primary\/5,
body.theme-dark .bg-gradient-to-r.from-primary\/5,
body.theme-dark .bg-gradient-to-r.from-secondary\/5,
body.theme-dark .bg-gradient-to-r.from-accent\/5,
body.theme-dark .bg-gradient-to-r.from-success\/5 {
    background-image: linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(30, 41, 59, 0.84)) !important;
}

body.theme-dark .text-primary,
body.theme-dark .text-secondary,
body.theme-dark .text-accent,
body.theme-dark .text-success,
body.theme-dark .text-warning {
    text-shadow: 0 0 18px rgba(99, 102, 241, 0.10);
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary,
body.theme-dark .bg-gradient-to-r.from-success.to-primary,
body.theme-dark .bg-gradient-to-r.from-secondary.to-accent,
body.theme-dark .bg-gradient-to-r.from-accent.to-success,
body.theme-dark .bg-gradient-to-r.from-secondary.to-primary {
    position: relative;
    overflow: hidden;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary::after,
body.theme-dark .bg-gradient-to-r.from-success.to-primary::after,
body.theme-dark .bg-gradient-to-r.from-secondary.to-accent::after,
body.theme-dark .bg-gradient-to-r.from-accent.to-success::after,
body.theme-dark .bg-gradient-to-r.from-secondary.to-primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
    transform: translateX(-120%);
    transition: transform 360ms ease;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary:hover::after,
body.theme-dark .bg-gradient-to-r.from-success.to-primary:hover::after,
body.theme-dark .bg-gradient-to-r.from-secondary.to-accent:hover::after,
body.theme-dark .bg-gradient-to-r.from-accent.to-success:hover::after,
body.theme-dark .bg-gradient-to-r.from-secondary.to-primary:hover::after {
    transform: translateX(120%);
}

body.theme-dark section.pt-24 h1,
body.theme-dark section.pt-24 p.text-lg,
body.theme-dark section.pt-24 p.text-base {
    text-shadow: 0 0 24px rgba(59, 130, 246, 0.10);
}

body.theme-dark section.pt-24 .relative.z-10 img {
    filter: drop-shadow(0 32px 70px rgba(2, 6, 23, 0.9)) drop-shadow(0 0 28px rgba(59, 130, 246, 0.12));
}

body.theme-dark section.pt-24 .absolute.inset-0.bg-gradient-to-br.from-primary\/20.to-secondary\/20 {
    filter: blur(60px);
    opacity: 0.6;
}

body.theme-dark #projects .group > div,
body.theme-dark #experience .group > div {
    will-change: transform, box-shadow, border-color;
}

body.theme-dark #projects .group > div:hover .text-primary,
body.theme-dark #projects .group > div:hover .text-secondary,
body.theme-dark #projects .group > div:hover .text-accent,
body.theme-dark #experience .group > div:hover .text-primary,
body.theme-dark #experience .group > div:hover .text-secondary,
body.theme-dark #experience .group > div:hover .text-accent {
    filter: drop-shadow(0 0 12px rgba(96, 165, 250, 0.16));
}

body.theme-dark .bg-gradient-to-br,
body.theme-dark .bg-gradient-to-r {
    isolation: isolate;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary,
body.theme-dark .bg-gradient-to-r.from-success.to-primary,
body.theme-dark .bg-gradient-to-r.from-secondary.to-accent,
body.theme-dark .bg-gradient-to-r.from-accent.to-success,
body.theme-dark .bg-gradient-to-r.from-secondary.to-primary,
body.theme-dark .bg-gradient-to-r.from-emerald-500.to-teal-600,
body.theme-dark .bg-gradient-to-r.from-indigo-500.to-sky-600,
body.theme-dark .bg-gradient-to-r.from-violet-500.to-purple-600 {
    background-image: linear-gradient(135deg, rgba(59, 130, 246, 0.92), rgba(236, 72, 153, 0.88)) !important;
}

body.theme-dark ::selection {
    background: rgba(99, 102, 241, 0.35);
    color: #ffffff;
}

body.theme-dark a {
    text-decoration-thickness: from-font;
}

body.theme-dark .glass {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(148, 163, 184, 0.16);
}

body.theme-dark .skill-card,
body.theme-dark .group > div,
body.theme-dark .rounded-3xl,
body.theme-dark .rounded-2xl {
    backdrop-filter: blur(10px);
}

body.theme-dark .rounded-full {
    border-color: rgba(148, 163, 184, 0.12);
}

/* Vercel-inspired refinement layer: cleaner blacks, crisp contrast, restrained accents */
body.theme-dark {
    background:
        radial-gradient(1200px 600px at 15% -10%, rgba(255, 255, 255, 0.06), transparent 42%),
        radial-gradient(900px 500px at 92% 6%, rgba(59, 130, 246, 0.08), transparent 38%),
        #050505 !important;
    color: #e4e4e7;
}

body.theme-dark::before {
    background-image: radial-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), transparent 80%);
}

body.theme-dark nav,
body.theme-dark footer {
    background-image: linear-gradient(180deg, rgba(9, 9, 11, 0.96), rgba(10, 10, 10, 0.94)) !important;
    border-color: rgba(63, 63, 70, 0.5) !important;
    box-shadow: 0 0 0 1px rgba(39, 39, 42, 0.55) inset !important;
}

body.theme-dark .bg-white,
body.theme-dark .bg-gray-50,
body.theme-dark .bg-slate-50,
body.theme-dark .bg-green-50,
body.theme-dark .bg-lime-50,
body.theme-dark .bg-amber-50,
body.theme-dark .bg-sky-50,
body.theme-dark .bg-cyan-50,
body.theme-dark .bg-emerald-50,
body.theme-dark .bg-violet-50,
body.theme-dark .bg-purple-50 {
    background-image: linear-gradient(180deg, rgba(10, 10, 10, 0.96), rgba(7, 7, 8, 0.96)) !important;
    border-color: rgba(39, 39, 42, 0.9) !important;
    box-shadow: 0 0 0 1px rgba(24, 24, 27, 0.7) inset, 0 18px 50px -30px rgba(0, 0, 0, 0.95) !important;
}

body.theme-dark .text-gray-900,
body.theme-dark .text-gray-800 {
    color: #fafafa !important;
}

body.theme-dark .text-gray-700 {
    color: #d4d4d8 !important;
}

body.theme-dark .text-gray-600 {
    color: #a1a1aa !important;
}

body.theme-dark .text-gray-500,
body.theme-dark .text-gray-400 {
    color: #71717a !important;
}

body.theme-dark .border-gray-100,
body.theme-dark .border-gray-200,
body.theme-dark .border-gray-200\/50,
body.theme-dark .border-gray-100\/50,
body.theme-dark .border-gray-300 {
    border-color: rgba(39, 39, 42, 0.9) !important;
}

body.theme-dark .shadow-lg,
body.theme-dark .shadow-xl,
body.theme-dark .shadow-2xl {
    box-shadow: 0 20px 55px -36px rgba(0, 0, 0, 0.95) !important;
}

body.theme-dark .hover\:shadow-xl:hover,
body.theme-dark .hover\:shadow-lg:hover {
    box-shadow: 0 28px 70px -36px rgba(0, 0, 0, 0.95) !important;
    transform: translateY(-2px);
}

body.theme-dark #projects .group > div,
body.theme-dark #experience .group > div,
body.theme-dark #skills .bg-white,
body.theme-dark #contact .bg-gradient-to-br,
body.theme-dark #contact .flex.items-center.space-x-4,
body.theme-dark #publications article,
body.theme-dark main .rounded-3xl,
body.theme-dark main .rounded-2xl {
    border: 1px solid rgba(39, 39, 42, 0.9) !important;
    background-image: linear-gradient(180deg, rgba(9, 9, 11, 0.98), rgba(8, 8, 9, 0.98)) !important;
}

body.theme-dark #projects .group > div:hover,
body.theme-dark #experience .group > div:hover,
body.theme-dark #publications article:hover {
    border-color: rgba(113, 113, 122, 0.95) !important;
    box-shadow: 0 0 0 1px rgba(82, 82, 91, 0.45) inset, 0 26px 80px -42px rgba(0, 0, 0, 0.98) !important;
}

body.theme-dark .bg-gradient-to-br.from-slate-50.to-blue-50,
body.theme-dark .bg-gradient-to-br.from-green-50.to-emerald-200,
body.theme-dark .bg-gradient-to-br.from-green-100.to-emerald-200,
body.theme-dark .bg-gradient-to-br.from-lime-50.to-emerald-100,
body.theme-dark .bg-gradient-to-br.from-amber-50.to-orange-100,
body.theme-dark .bg-gradient-to-br.from-sky-50.to-cyan-100 {
    background-image: linear-gradient(180deg, #050505, #0a0a0a) !important;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary,
body.theme-dark .bg-gradient-to-r.from-success.to-primary,
body.theme-dark button[type="submit"] {
    background-image: linear-gradient(180deg, #ffffff, #e4e4e7) !important;
    color: #09090b !important;
    border: 1px solid rgba(212, 212, 216, 0.9) !important;
    box-shadow: 0 10px 30px -20px rgba(255, 255, 255, 0.35) !important;
}

body.theme-dark .bg-gradient-to-r.from-primary.to-secondary::after,
body.theme-dark .bg-gradient-to-r.from-success.to-primary::after,
body.theme-dark .bg-gradient-to-r.from-secondary.to-accent::after,
body.theme-dark .bg-gradient-to-r.from-accent.to-success::after,
body.theme-dark .bg-gradient-to-r.from-secondary.to-primary::after {
    display: none !important;
}

body.theme-dark .border-2.border-primary {
    color: #fafafa !important;
    border-color: rgba(113, 113, 122, 0.95) !important;
    background: rgba(10, 10, 10, 0.8) !important;
}

body.theme-dark .border-2.border-primary:hover {
    border-color: rgba(212, 212, 216, 0.9) !important;
    background: rgba(24, 24, 27, 0.9) !important;
}

body.theme-dark .text-primary {
    color: #93c5fd !important;
}

body.theme-dark .text-secondary {
    color: #c4b5fd !important;
}

body.theme-dark .text-accent,
body.theme-dark .text-success,
body.theme-dark .text-warning {
    color: #e4e4e7 !important;
}

body.theme-dark .text-primary,
body.theme-dark .text-secondary,
body.theme-dark .text-accent,
body.theme-dark .text-success,
body.theme-dark .text-warning,
body.theme-dark .text-transparent.bg-clip-text,
body.theme-dark section.pt-24 h1,
body.theme-dark section.pt-24 p.text-lg,
body.theme-dark section.pt-24 p.text-base {
    text-shadow: none !important;
    filter: none !important;
}

body.theme-dark #projects .flex.flex-wrap.gap-2.mb-6 span,
body.theme-dark #experience .flex.flex-wrap.gap-2.mt-6 span {
    background: rgba(24, 24, 27, 0.94) !important;
    border: 1px solid rgba(63, 63, 70, 0.9) !important;
    box-shadow: none !important;
}

body.theme-dark .citation-pill {
    background: rgba(24, 24, 27, 0.95) !important;
    border: 1px solid rgba(63, 63, 70, 0.9) !important;
    color: #d4d4d8 !important;
}

body.theme-dark input,
body.theme-dark textarea,
body.theme-dark select {
    background: rgba(9, 9, 11, 0.96) !important;
    border-color: rgba(63, 63, 70, 0.9) !important;
    color: #e4e4e7 !important;
}

body.theme-dark input:focus,
body.theme-dark textarea:focus,
body.theme-dark select:focus {
    border-color: rgba(148, 163, 184, 0.9) !important;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.2) !important;
}

/* Micro-pass: nav + hero + CTA + publication readability */
body.theme-dark nav a {
    color: #a1a1aa !important;
    font-weight: 500;
    letter-spacing: 0.01em;
}

body.theme-dark nav h1 {
    color: #fafafa !important;
    background: transparent !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: #fafafa !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
}

body.theme-dark nav a:hover {
    color: #fafafa !important;
}

body.theme-dark nav a.is-active {
    color: #fafafa !important;
    text-shadow: 0 0 22px rgba(255, 255, 255, 0.18);
}

body.theme-dark nav a.is-active::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    margin-top: 0.3rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #fafafa 0%, #a1a1aa 100%);
}

body.theme-dark #mobile-menu a.is-active {
    color: #fafafa !important;
    background: rgba(39, 39, 42, 0.7) !important;
    border-radius: 0.6rem;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
}

body.theme-dark #mobile-menu {
    background: rgba(10, 10, 10, 0.97) !important;
    border-color: rgba(39, 39, 42, 0.8) !important;
}

body.theme-dark section.pt-24 h1 {
    line-height: 0.92;
    letter-spacing: -0.03em;
}

body.theme-dark section.pt-24 p.text-lg,
body.theme-dark section.pt-24 p.text-base {
    color: #a1a1aa !important;
}

body.theme-dark section.pt-24 .flex.flex-wrap.gap-3 a {
    background: #0f0f11 !important;
    border: 1px solid rgba(39, 39, 42, 0.8) !important;
}

body.theme-dark section.pt-24 .flex.flex-wrap.gap-3 a:hover {
    border-color: rgba(113, 113, 122, 0.95) !important;
    transform: translateY(-1px);
}

body.theme-dark .inline-flex.items-center.justify-center,
body.theme-dark button[type="submit"] {
    transition: transform 160ms ease, box-shadow 200ms ease, filter 200ms ease !important;
}

body.theme-dark .inline-flex.items-center.justify-center:hover,
body.theme-dark button[type="submit"]:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.02) !important;
}

body.theme-dark .inline-flex.items-center.justify-center:active,
body.theme-dark button[type="submit"]:active {
    transform: translateY(0) scale(0.995) !important;
}

body.theme-dark #publications article {
    padding: 1.65rem !important;
}

body.theme-dark #publications article h3 {
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    min-height: 7.1rem;
}

body.theme-dark #publications article p.text-sm {
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #71717a !important;
}

body.theme-dark #publications .citation-pill {
    font-size: 0.75rem !important;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

@media (max-width: 1024px) {
    body.theme-dark #publications article h3 {
        min-height: auto;
    }
}

/* Hero electric neon pass */
body.theme-dark section.pt-24 {
    background: #020203 !important;
    overflow: hidden;
}

body.theme-dark section.pt-24::before {
    content: "";
    position: absolute;
    inset: -18% -12% auto -8%;
    height: 120%;
    background:
        radial-gradient(50% 50% at 24% 45%, rgba(0, 214, 255, 0.22), rgba(0, 214, 255, 0) 72%),
        radial-gradient(42% 42% at 70% 52%, rgba(162, 89, 255, 0.18), rgba(162, 89, 255, 0) 75%),
        radial-gradient(34% 34% at 82% 36%, rgba(255, 46, 166, 0.14), rgba(255, 46, 166, 0) 80%);
    pointer-events: none;
    z-index: 0;
}

body.theme-dark section.pt-24 > .absolute.inset-0.bg-gradient-to-br.from-primary\/5.via-secondary\/5.to-accent\/5 {
    background:
        linear-gradient(110deg, rgba(0, 0, 0, 0.92) 0%, rgba(2, 6, 23, 0.72) 46%, rgba(8, 12, 32, 0.86) 100%),
        radial-gradient(circle at 18% 20%, rgba(0, 214, 255, 0.16), transparent 46%),
        radial-gradient(circle at 78% 34%, rgba(149, 76, 233, 0.15), transparent 44%) !important;
}

body.theme-dark section.pt-24 > .max-w-7xl {
    position: relative;
    z-index: 1;
}

body.theme-dark section.pt-24 h1 {
    color: #f5f7ff !important;
    text-shadow: 0 0 18px rgba(210, 228, 255, 0.06);
}

body.theme-dark section.pt-24 h1 span {
    background-image: linear-gradient(90deg, #42d9ff 0%, #6f7dff 45%, #f25cff 100%) !important;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 28px rgba(111, 125, 255, 0.26);
}

body.theme-dark section.pt-24 .text-primary.font-semibold.text-lg {
    color: #7be6ff !important;
    text-shadow: 0 0 16px rgba(35, 210, 255, 0.24);
}

body.theme-dark section.pt-24 .flex.flex-wrap.gap-3 a {
    background: rgba(5, 8, 18, 0.92) !important;
    border: 1px solid rgba(62, 180, 255, 0.24) !important;
    box-shadow: inset 0 0 0 1px rgba(173, 235, 255, 0.04), 0 0 24px rgba(0, 164, 255, 0.14) !important;
}

body.theme-dark section.pt-24 .flex.flex-wrap.gap-3 a:hover {
    border-color: rgba(128, 205, 255, 0.55) !important;
    box-shadow: inset 0 0 0 1px rgba(173, 235, 255, 0.08), 0 0 30px rgba(99, 102, 241, 0.24) !important;
}

body.theme-dark section.pt-24 a[href="#contact"] {
    background: linear-gradient(90deg, #0ad6ff 0%, #6366f1 48%, #d946ef 100%) !important;
    color: #030712 !important;
    box-shadow: 0 10px 38px -12px rgba(99, 102, 241, 0.62) !important;
}

body.theme-dark section.pt-24 a[href="./documents/Anshuman-Nayak-Resume.pdf"] {
    background: rgba(2, 8, 20, 0.92) !important;
    color: #d8f3ff !important;
    border-color: rgba(89, 204, 255, 0.6) !important;
    box-shadow: 0 0 26px rgba(0, 194, 255, 0.18) !important;
}

body.theme-dark section.pt-24 a[href="./documents/Anshuman-Nayak-Resume.pdf"]:hover {
    border-color: rgba(166, 224, 255, 0.9) !important;
    background: rgba(8, 14, 30, 0.95) !important;
}

body.theme-dark section.pt-24 .absolute.inset-0.bg-gradient-to-br.from-primary\/20.to-secondary\/20 {
    background: radial-gradient(circle at 62% 48%, rgba(71, 199, 255, 0.16), rgba(122, 91, 255, 0.14) 38%, transparent 70%) !important;
    opacity: 1 !important;
    filter: blur(56px) saturate(120%) !important;
}

/* Neon pass for remaining sections */
body.theme-dark #about,
body.theme-dark #skills,
body.theme-dark #experience,
body.theme-dark #projects,
body.theme-dark #publications,
body.theme-dark #contact {
    position: relative;
    background:
        radial-gradient(1200px 420px at 10% -10%, rgba(0, 214, 255, 0.10), transparent 52%),
        radial-gradient(900px 380px at 90% -12%, rgba(217, 70, 239, 0.09), transparent 54%),
        #03050a !important;
}

body.theme-dark #about::before,
body.theme-dark #skills::before,
body.theme-dark #experience::before,
body.theme-dark #projects::before,
body.theme-dark #publications::before,
body.theme-dark #contact::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 14%);
}

body.theme-dark #about h2,
body.theme-dark #skills h2,
body.theme-dark #experience h2,
body.theme-dark #projects h2,
body.theme-dark #publications h2,
body.theme-dark #contact h2 {
    color: #f5f7ff !important;
    text-shadow: 0 0 16px rgba(130, 170, 255, 0.12);
}

body.theme-dark #about h2 .text-primary,
body.theme-dark #skills h2 .text-primary,
body.theme-dark #experience h2 .text-primary,
body.theme-dark #projects h2 .text-primary,
body.theme-dark #publications h2 .text-primary,
body.theme-dark #contact h2 .text-primary {
    background-image: linear-gradient(90deg, #33dcff 0%, #818cf8 52%, #f472b6 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
}

body.theme-dark #about .rounded-3xl,
body.theme-dark #skills .rounded-3xl,
body.theme-dark #experience .rounded-3xl,
body.theme-dark #projects .rounded-3xl,
body.theme-dark #publications .rounded-3xl,
body.theme-dark #contact .rounded-3xl,
body.theme-dark #contact .rounded-2xl,
body.theme-dark #publications article {
    background: linear-gradient(180deg, rgba(8, 11, 24, 0.94), rgba(4, 8, 18, 0.92)) !important;
    border: 1px solid rgba(87, 174, 255, 0.22) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 0 0 1px rgba(115, 95, 255, 0.08),
        0 20px 56px -26px rgba(0, 0, 0, 0.92),
        0 0 38px rgba(37, 133, 255, 0.09) !important;
}

body.theme-dark #about .rounded-3xl:hover,
body.theme-dark #skills .rounded-3xl:hover,
body.theme-dark #experience .rounded-3xl:hover,
body.theme-dark #projects .rounded-3xl:hover,
body.theme-dark #publications .rounded-3xl:hover,
body.theme-dark #contact .rounded-3xl:hover,
body.theme-dark #contact .rounded-2xl:hover,
body.theme-dark #publications article:hover {
    border-color: rgba(131, 216, 255, 0.5) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 0 0 1px rgba(168, 85, 247, 0.18),
        0 26px 70px -30px rgba(0, 0, 0, 0.95),
        0 0 52px rgba(66, 220, 255, 0.18) !important;
}

body.theme-dark #projects .flex.flex-wrap.gap-2 span,
body.theme-dark #experience .flex.flex-wrap.gap-2 span,
body.theme-dark #skills .grid .rounded-full,
body.theme-dark #publications .citation-pill {
    background: rgba(7, 14, 30, 0.9) !important;
    border: 1px solid rgba(94, 198, 255, 0.28) !important;
    color: #dbeafe !important;
    box-shadow: 0 0 20px rgba(34, 211, 238, 0.12) !important;
}

body.theme-dark #contact input,
body.theme-dark #contact textarea {
    background: rgba(4, 10, 24, 0.96) !important;
    border-color: rgba(99, 182, 255, 0.28) !important;
}

body.theme-dark #contact input:focus,
body.theme-dark #contact textarea:focus {
    border-color: rgba(136, 222, 255, 0.75) !important;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2), 0 0 22px rgba(96, 165, 250, 0.2) !important;
}

body.theme-dark #about .w-12.h-12.rounded-full {
    background-image: linear-gradient(135deg, rgba(56, 189, 248, 0.95), rgba(168, 85, 247, 0.92)) !important;
    border: 1px solid rgba(191, 219, 254, 0.35) !important;
}

body.theme-dark #about .w-12.h-12.rounded-full i {
    color: #f8fafc !important;
    opacity: 1 !important;
    font-size: 0.95rem;
}

body.theme-dark footer {
    background:
        radial-gradient(800px 260px at 50% -40%, rgba(45, 212, 191, 0.12), transparent 60%),
        linear-gradient(180deg, #04070d 0%, #02040a 100%) !important;
    border-top: 1px solid rgba(99, 182, 255, 0.24);
}
