body {
            box-sizing: border-box;
        }
        
        * {
            font-family: 'Plus Jakarta Sans', sans-serif;
        }
        
        /* Custom scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }
        
        ::-webkit-scrollbar-track {
            background: #1a1a2e;
        }
        
        ::-webkit-scrollbar-thumb {
            background: #4a4a6a;
            border-radius: 4px;
        }
        
        ::-webkit-scrollbar-thumb:hover {
            background: #5a5a7a;
        }
        
        /* Description collapse */
        .description-collapsed {
            max-height: 4.5em;
            overflow: hidden;
            position: relative;
        }
        
        .description-expanded {
            max-height: none;
        }
        
        .description-collapsed::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 1.5em;
            background: linear-gradient(to bottom, transparent, #252547);
        }
        
        .description-expanded::after {
            display: none;
        }
        
        /* Clickable links in description */
        .description-link {
            color: #6366f1;
            text-decoration: underline;
            cursor: pointer;
            transition: color 0.2s;
        }
        
        .description-link:hover {
            color: #8b5cf6;
        }
        
        /* Timestamp styling */
        .timestamp {
            color: #6366f1;
            cursor: pointer;
            font-weight: 500;
            transition: color 0.2s;
        }
        
        .timestamp:hover {
            color: #8b5cf6;
            text-decoration: underline;
        }
        
        /* Playlist video active state */
        .playlist-video-active {
            background: rgba(99, 102, 241, 0.2);
            border-color: #6366f1;
        }
        
        /* Animations */
        @keyframes slideInRight {
            from {
                transform: translateX(100%);
                opacity: 0;
            }
            to {
                transform: translateX(0);
                opacity: 1;
            }
        }
        
        @keyframes slideOutRight {
            from {
                transform: translateX(0);
                opacity: 1;
            }
            to {
                transform: translateX(100%);
                opacity: 0;
            }
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.5; }
        }
        
        @keyframes shimmer {
            0% { background-position: -200% 0; }
            100% { background-position: 200% 0; }
        }
        
        .slide-in {
            animation: slideInRight 0.3s ease-out forwards;
        }
        
        .slide-out {
            animation: slideOutRight 0.3s ease-out forwards;
        }
        
        .fade-in {
            animation: fadeIn 0.3s ease-out forwards;
        }
        
        .skeleton {
            background: linear-gradient(90deg, #2a2a4a 25%, #3a3a5a 50%, #2a2a4a 75%);
            background-size: 200% 100%;
            animation: shimmer 1.5s infinite;
        }
        
        /* Video card hover effects */
        .video-card {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .video-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(99, 102, 241, 0.2);
        }
        
        .video-card:hover .thumbnail-overlay {
            opacity: 1;
        }
        
        .thumbnail-overlay {
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        
        /* Profile panel */
        .profile-panel {
            transition: transform 0.3s ease-out, opacity 0.3s ease-out;
        }
        
        .profile-panel.hidden {
            transform: translateX(100%);
            opacity: 0;
            pointer-events: none;
        }
        
        /* Search suggestions */
        .search-suggestions {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
            opacity: 0;
        }
        
        .search-suggestions.active {
            max-height: 300px;
            opacity: 1;
        }
        
        /* Button hover effects */
        .btn-primary {
            background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
            transition: all 0.3s ease;
        }
        
        .btn-primary:hover {
            transform: scale(1.02);
            box-shadow: 0 8px 25px rgba(99, 102, 241, 0.4);
        }
        
        /* Tab animations */
        .tab-indicator {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        /* Toast notifications */
        .toast {
            animation: slideInRight 0.3s ease-out, fadeOut 0.3s ease-out 2.7s forwards;
        }
        
        @keyframes fadeOut {
            to { opacity: 0; transform: translateX(100%); }
        }
        
        /* Custom gradient backgrounds */
        .gradient-bg {
            background: linear-gradient(135deg, #0f0f1a 0%, #1a1a2e 50%, #16213e 100%);
        }
        
        .card-gradient {
            background: linear-gradient(145deg, #1e1e3f 0%, #252547 100%);
        }
        
        /* Glow effects */
        .glow-purple {
            box-shadow: 0 0 30px rgba(139, 92, 246, 0.3);
        }
        
        .glow-blue {
            box-shadow: 0 0 30px rgba(59, 130, 246, 0.3);
        }
        
        /* Mobile menu */
        .mobile-menu {
            transition: all 0.3s ease;
        }
        
        /* Loading spinner */
        .spinner {
            border: 3px solid rgba(99, 102, 241, 0.2);
            border-top-color: #6366f1;
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
        }
        
        @keyframes spin {
            to { transform: rotate(360deg); }
        }