        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .modern-button {
            position: relative;
            overflow: hidden;
        }

        .modern-button::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.3);
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }

        .modern-button:hover::before {
            width: 300px;
            height: 300px;
        }

        .upload-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5);
        }

        .convert-btn:hover {
            transform: translateY(-3px) scale(1.02);
            box-shadow: 0 8px 24px rgba(66, 153, 225, 0.5);
        }

        .download-btn:hover {
            transform: translateY(-2px);
        }

        #downloadZipBtn:hover {
            box-shadow: 0 6px 20px rgba(34, 197, 94, 0.5);
        }

        .modern-button:active {
            transform: translateY(0);
        }

        #imagePreviewGrid::-webkit-scrollbar {
            width: 8px;
        }

        #imagePreviewGrid::-webkit-scrollbar-track {
            background: #f1f5f9;
            border-radius: 4px;
        }

        #imagePreviewGrid::-webkit-scrollbar-thumb {
            background: #cbd5e0;
            border-radius: 4px;
        }

        #imagePreviewGrid::-webkit-scrollbar-thumb:hover {
            background: #a0aec0;
        }

        #clearBtn:hover {
            background: #fee2e2;
            border-color = '#fca5a5';
        }

        .page-btn {
            transition: all 0.2s ease;
        }

        .page-btn:hover {
            transform: translateY(-1px);
        }

        [data-format] {
            transition: all 0.2s ease;
        }

        [data-format]:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
        
