﻿/* 自定义样式 */
.upload-area {
    transition: all 0.3s ease;
}

    .upload-area.dragover {
        border-color: #3b82f6;
        background-color: rgba(59, 130, 246, 0.05);
    }

.image-card {
    transition: all 0.2s ease;
}

    .image-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    }

.progress-fill {
    transition: width 0.5s ease;
}

.quality-slider {
    -webkit-appearance: none;
    height: 6px;
    border-radius: 3px;
    background: #e5e7eb;
    outline: none;
}

    .quality-slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #3b82f6;
        cursor: pointer;
        border: 2px solid white;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    }

    .quality-slider::-moz-range-thumb {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #3b82f6;
        cursor: pointer;
        border: 2px solid white;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    }

.image-badge {
    font-size: 0.7rem;
    padding: 2px 8px;
}

.image-preview-modal {
    max-width: 90vw;
    max-height: 85vh;
}

.modal-image-container {
    max-height: 90%;
    overflow: auto;
}

    .modal-image-container img {
        max-width: 100%;
        max-height: 800px;
        object-fit: contain;
    }

.image-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}

@media (max-width: 640px) {
    .image-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }
}
