@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
        
        * {
            font-family: 'Inter', sans-serif;
        }
        
        /* Enhanced 3D Task Card Animations */
        .task-card {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            animation: taskSlideIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
            transform-origin: center center;
            margin-bottom: 1rem; /* Consistent spacing between tasks */
            position: relative;
            padding: 1.5rem !important;
            /* 3D Card Effect */
            background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
            border: 1px solid rgba(226, 232, 240, 0.8);
            box-shadow: 
                0 4px 12px rgba(0, 0, 0, 0.08),
                0 2px 6px rgba(0, 0, 0, 0.04),
                inset 0 1px 0 rgba(255, 255, 255, 0.9),
                inset 0 -1px 0 rgba(0, 0, 0, 0.05);
            transform: translateY(0) translateZ(0);
        }
        
        .task-card:hover {
            transform: translateY(-3px) translateZ(0);
            box-shadow: 
                0 12px 24px rgba(0, 0, 0, 0.12),
                0 6px 12px rgba(0, 0, 0, 0.08),
                inset 0 1px 0 rgba(255, 255, 255, 1),
                inset 0 -1px 0 rgba(0, 0, 0, 0.08);
            z-index: 10;
            background: linear-gradient(145deg, #ffffff 0%, #f1f5f9 100%);
        }
        
        .dark .task-card {
            background: linear-gradient(145deg, #1f2937 0%, #111827 100%);
            border: 1px solid rgba(75, 85, 99, 0.6);
            box-shadow: 
                0 4px 12px rgba(0, 0, 0, 0.3),
                0 2px 6px rgba(0, 0, 0, 0.2),
                inset 0 1px 0 rgba(255, 255, 255, 0.1),
                inset 0 -1px 0 rgba(0, 0, 0, 0.3);
        }
        
        .dark .task-card:hover {
            background: linear-gradient(145deg, #374151 0%, #1f2937 100%);
            box-shadow: 
                0 12px 24px rgba(0, 0, 0, 0.4),
                0 6px 12px rgba(0, 0, 0, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.15),
                inset 0 -1px 0 rgba(0, 0, 0, 0.4);
        }
        
        .task-card.completed {
            opacity: 0.7;
            transform: scale(0.99); /* Subtle scale reduction */
        }
        
        .task-card.completed:hover {
            transform: translateY(-0.5px); /* Even more minimal hover for completed tasks */
            opacity: 0.8;
        }
        
        .task-card.completed .task-title {
            text-decoration: line-through;
            opacity: 0.6;
        }
        
        /* Smooth Entry Animation - Reduced Intensity */
        @keyframes taskSlideIn {
            0% {
                opacity: 0;
                transform: translateY(-15px) scale(0.95);
            }
            60% {
                opacity: 0.9;
                transform: translateY(2px) scale(1.01);
            }
            100% {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }
        
        /* Smooth Exit Animation - Reduced Movement */
        @keyframes taskSlideOut {
            0% {
                opacity: 1;
                transform: translateX(0) scale(1);
            }
            100% {
                opacity: 0;
                transform: translateX(50px) scale(0.9);
            }
        }
        
        .task-removing {
            animation: taskSlideOut 0.4s ease-in forwards;
        }
        
        /* Enhanced Empty State Animation */
        @keyframes bounceIn {
            0% {
                opacity: 0;
                transform: scale(0.3) translateY(-50px);
            }
            50% {
                opacity: 0.8;
                transform: scale(1.1) translateY(10px);
            }
            100% {
                opacity: 1;
                transform: scale(1) translateY(0);
            }
        }
        
        .empty-state {
            animation: bounceIn 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        }
        
        /* Completion Celebration Animation */
        @keyframes celebrate {
            0%, 100% { transform: scale(1) rotate(0deg); }
            25% { transform: scale(1.1) rotate(-5deg); }
            75% { transform: scale(1.1) rotate(5deg); }
        }
        
        .celebration {
            animation: celebrate 0.6s ease-in-out;
        }
        
        /* Priority Indicators */
        .priority-high { 
            border-left: 5px solid #ef4444;
            background: linear-gradient(135deg, #fef2f2 0%, #ffffff 100%);
        }
        .dark .priority-high {
            background: linear-gradient(135deg, #7f1d1d 0%, #1f2937 100%);
        }
        
        .priority-medium { 
            border-left: 5px solid #f59e0b;
            background: linear-gradient(135deg, #fffbeb 0%, #ffffff 100%);
        }
        .dark .priority-medium {
            background: linear-gradient(135deg, #78350f 0%, #1f2937 100%);
        }
        
        .priority-low { 
            border-left: 5px solid #10b981;
            background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
        }
        .dark .priority-low {
            background: linear-gradient(135deg, #064e3b 0%, #1f2937 100%);
        }
        
        /* Enhanced Category Badges */
        .category-personal { 
            background: linear-gradient(135deg, #8b5cf6 0%, #a855f7 100%);
            box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
        }
        .category-work { 
            background: linear-gradient(135deg, #ef4444 0%, #f87171 100%);
            box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
        }
        .category-others { 
            background: linear-gradient(135deg, #06b6d4 0%, #67e8f9 100%);
            box-shadow: 0 4px 12px rgba(6, 182, 212, 0.3);
        }
        .category-future { 
            background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
        }
        
        /* Enhanced Progress Bar */
        .progress-bar {
            transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);
            box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
        }
        
        /* 3D Button Effects */
        .btn-primary {
            background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
            transition: all 0.2s ease;
            box-shadow: 
                0 4px 8px rgba(59, 130, 246, 0.3),
                0 2px 4px rgba(0, 0, 0, 0.1),
                inset 0 1px 0 rgba(255, 255, 255, 0.2);
            border: 1px solid rgba(29, 78, 216, 0.8);
            position: relative;
            transform: translateY(0);
        }
        
        .btn-primary:hover {
            background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
            transform: translateY(-2px);
            box-shadow: 
                0 8px 16px rgba(59, 130, 246, 0.4),
                0 4px 8px rgba(0, 0, 0, 0.15),
                inset 0 1px 0 rgba(255, 255, 255, 0.3);
        }
        
        .btn-primary:active {
            transform: translateY(0);
            box-shadow: 
                0 2px 4px rgba(59, 130, 246, 0.3),
                0 1px 2px rgba(0, 0, 0, 0.1),
                inset 0 1px 0 rgba(255, 255, 255, 0.1);
        }
        
        /* 3D Secondary Button */
        .btn-secondary {
            background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
            border: 1px solid #cbd5e1;
            box-shadow: 
                0 3px 6px rgba(0, 0, 0, 0.1),
                0 1px 3px rgba(0, 0, 0, 0.08),
                inset 0 1px 0 rgba(255, 255, 255, 0.8);
            transition: all 0.2s ease;
            transform: translateY(0);
        }
        
        .btn-secondary:hover {
            background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
            transform: translateY(-1px);
            box-shadow: 
                0 5px 10px rgba(0, 0, 0, 0.15),
                0 2px 4px rgba(0, 0, 0, 0.1),
                inset 0 1px 0 rgba(255, 255, 255, 0.9);
        }
        
        .btn-secondary:active {
            transform: translateY(0);
            box-shadow: 
                0 1px 3px rgba(0, 0, 0, 0.1),
                inset 0 1px 0 rgba(255, 255, 255, 0.6);
        }
        
        .dark .btn-secondary {
            background: linear-gradient(135deg, #374151 0%, #1f2937 100%);
            border: 1px solid #4b5563;
            box-shadow: 
                0 3px 6px rgba(0, 0, 0, 0.3),
                0 1px 3px rgba(0, 0, 0, 0.2),
                inset 0 1px 0 rgba(255, 255, 255, 0.1);
        }
        
        .dark .btn-secondary:hover {
            background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
            box-shadow: 
                0 5px 10px rgba(0, 0, 0, 0.4),
                0 2px 4px rgba(0, 0, 0, 0.25),
                inset 0 1px 0 rgba(255, 255, 255, 0.15);
        }
        
        /* 3D Form Input Styles */
        .form-input-3d {
            background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
            border: 1px solid #cbd5e1;
            box-shadow: 
                inset 0 2px 4px rgba(0, 0, 0, 0.06),
                inset 0 1px 2px rgba(0, 0, 0, 0.04),
                0 1px 0 rgba(255, 255, 255, 0.8);
            transition: all 0.2s ease;
        }
        
        .form-input-3d:focus {
            background: linear-gradient(145deg, #ffffff 0%, #f1f5f9 100%);
            border-color: #3b82f6;
            box-shadow: 
                inset 0 2px 4px rgba(0, 0, 0, 0.08),
                inset 0 1px 2px rgba(0, 0, 0, 0.06),
                0 0 0 3px rgba(59, 130, 246, 0.1),
                0 1px 0 rgba(255, 255, 255, 0.9);
            outline: none;
        }
        
        .dark .form-input-3d {
            background: linear-gradient(145deg, #374151 0%, #1f2937 100%);
            border: 1px solid #4b5563;
            box-shadow: 
                inset 0 2px 4px rgba(0, 0, 0, 0.3),
                inset 0 1px 2px rgba(0, 0, 0, 0.2),
                0 1px 0 rgba(255, 255, 255, 0.05);
        }
        
        .dark .form-input-3d:focus {
            background: linear-gradient(145deg, #4b5563 0%, #374151 100%);
            border-color: #3b82f6;
            box-shadow: 
                inset 0 2px 4px rgba(0, 0, 0, 0.4),
                inset 0 1px 2px rgba(0, 0, 0, 0.3),
                0 0 0 3px rgba(59, 130, 246, 0.2),
                0 1px 0 rgba(255, 255, 255, 0.1);
        }
        
        /* 3D Container Styles */
        .container-3d {
            background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
            border: 1px solid rgba(226, 232, 240, 0.8);
            box-shadow: 
                0 8px 24px rgba(0, 0, 0, 0.08),
                0 4px 12px rgba(0, 0, 0, 0.04),
                inset 0 1px 0 rgba(255, 255, 255, 0.9),
                inset 0 -1px 0 rgba(0, 0, 0, 0.05);
        }
        
        .dark .container-3d {
            background: linear-gradient(145deg, #1f2937 0%, #111827 100%);
            border: 1px solid rgba(75, 85, 99, 0.6);
            box-shadow: 
                0 8px 24px rgba(0, 0, 0, 0.3),
                0 4px 12px rgba(0, 0, 0, 0.2),
                inset 0 1px 0 rgba(255, 255, 255, 0.1),
                inset 0 -1px 0 rgba(0, 0, 0, 0.3);
        }
        
        /* Modal Enhancements */
        .modal-overlay {
            backdrop-filter: blur(8px);
            background: rgba(0, 0, 0, 0.6);
        }
        
        .modal-content {
            animation: modalSlideIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
            background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
            border: 1px solid rgba(226, 232, 240, 0.8);
            box-shadow: 
                0 20px 40px rgba(0, 0, 0, 0.15),
                0 10px 20px rgba(0, 0, 0, 0.1),
                inset 0 1px 0 rgba(255, 255, 255, 0.9),
                inset 0 -1px 0 rgba(0, 0, 0, 0.05);
        }
        
        .dark .modal-content {
            background: linear-gradient(145deg, #1f2937 0%, #111827 100%);
            border: 1px solid rgba(75, 85, 99, 0.6);
            box-shadow: 
                0 20px 40px rgba(0, 0, 0, 0.4),
                0 10px 20px rgba(0, 0, 0, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.1),
                inset 0 -1px 0 rgba(0, 0, 0, 0.3);
        }
        
        @keyframes modalSlideIn {
            0% {
                opacity: 0;
                transform: scale(0.8) translateY(-50px);
            }
            100% {
                opacity: 1;
                transform: scale(1) translateY(0);
            }
        }
        
        /* Custom Scrollbar */
        .custom-scrollbar::-webkit-scrollbar {
            width: 8px;
        }
        
        .custom-scrollbar::-webkit-scrollbar-track {
            background: #f1f5f9;
            border-radius: 4px;
        }
        
        .dark .custom-scrollbar::-webkit-scrollbar-track {
            background: #374151;
        }
        
        .custom-scrollbar::-webkit-scrollbar-thumb {
            background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%);
            border-radius: 4px;
        }
        
        .dark .custom-scrollbar::-webkit-scrollbar-thumb {
            background: linear-gradient(135deg, #64748b 0%, #475569 100%);
        }
        
        .custom-scrollbar::-webkit-scrollbar-thumb:hover {
            background: linear-gradient(135deg, #94a3b8 0%, #64748b 100%);
        }
        
        /* Responsive Design Enhancements */
        @media (max-width: 640px) {
            .task-card {
                margin-bottom: 1rem; /* Consistent space on mobile */
                padding: 1.25rem !important; /* Slightly less padding on mobile */
            }
            
            .task-card:hover {
                transform: translateY(-0.5px); /* Even more subtle on mobile */
            }
            
            /* Adjust header spacing on mobile */
            .header-mobile {
                padding-top: 1rem;
            }
            
            /* Adjust container padding on mobile */
            #taskList {
                padding: 1rem !important;
                margin: 0.5rem !important;
            }
        }
        
        /* Loading State */
        .loading-pulse {
            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }
        
        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.5; }
        }
        
        /* Drag and Drop Visual Feedback */
        .task-card.dragging {
            opacity: 0.5;
            transform: rotate(5deg) scale(1.05);
            z-index: 1000;
            box-shadow: 0 20px 40px rgba(0,0,0,0.3);
        }
        
        .task-card:not(.dragging) {
            transition: transform 0.2s ease;
        }