@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

:root {
    --academic-navy: #0f172a;
    --academic-blue: #1e40af;
    --accent-gold: #b45309;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #f8fafc;
    color: #0f172a;
}

h1, h2, h3, .font-heading {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Кастомный академический скроллбар */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Анимации появления и модалки */
@keyframes modalBackdropFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes modalContentScale {
    from { 
        opacity: 0; 
        transform: scale(0.96) translateY(8px); 
    }
    to { 
        opacity: 1; 
        transform: scale(1) translateY(0); 
    }
}

.animate-modal-backdrop {
    animation: modalBackdropFade 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-modal-card {
    animation: modalContentScale 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Стилизация выделения текста */
::selection {
    background-color: #e0e7ff;
    color: #1e3a8a;
}

/* Интерактивные карточки загрузки файлов */
.dropzone-card {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.dropzone-card:hover {
    border-color: #3b82f6;
    background-color: #f8fafc;
    transform: translateY(-1px);
}
.dropzone-card.file-selected {
    border-color: #10b981;
    background-color: #f0fdf4;
}
.dropzone-card.file-error {
    border-color: #ef4444 !important;
    background-color: #fef2f2 !important;
}
