 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
        
        * {
            transition: background-color 0.2s ease, border-color 0.2s ease;
        }
        
        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            overflow-x: hidden;
        }
        
        /* Стили для модального окна */
        .modal-overlay {
            background: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(4px);
        }
        
        .modal-content {
            max-height: 80vh;
            overflow-y: auto;
        }
        
        /* Кастомный скроллбар для модального окна */
        .modal-content::-webkit-scrollbar {
            width: 8px;
        }
        
        .modal-content::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 4px;
        }
        
        .dark .modal-content::-webkit-scrollbar-track {
            background: #374151;
        }
        
        .modal-content::-webkit-scrollbar-thumb {
            background: #c1c1c1;
            border-radius: 4px;
        }
        
        .dark .modal-content::-webkit-scrollbar-thumb {
            background: #6b7280;
        }
        
        .modal-content::-webkit-scrollbar-thumb:hover {
            background: #a1a1a1;
        }
        
        .dark .modal-content::-webkit-scrollbar-thumb:hover {
            background: #9ca3af;
        }
        
        /* Для Firefox */
        .modal-content {
            scrollbar-width: thin;
            scrollbar-color: #c1c1c1 #f1f1f1;
        }
        
        .dark .modal-content {
            scrollbar-color: #6b7280 #374151;
        }
        
        /* Стили для карточек городов */
        .city-card {
            transition: all 0.2s ease;
        }
        
        .city-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
        }
        
        .city-card.selected {
            border-color: #2563eb;
            background-color: rgba(37, 99, 235, 0.05);
        }
        
        .dark .city-card.selected {
            background-color: rgba(37, 99, 235, 0.2);
        }
        
        /* Адаптивные размеры шрифтов для мобильных */
        @media (max-width: 640px) {
            .mobile-text-lg {
                font-size: 1.125rem !important;
                line-height: 1.5rem !important;
            }
            
            .mobile-text-xl {
                font-size: 1.25rem !important;
                line-height: 1.75rem !important;
            }
            
            .mobile-text-2xl {
                font-size: 1.375rem !important;
                line-height: 1.875rem !important;
            }
            
            .mobile-headline {
                font-size: 1.5rem !important;
                line-height: 2rem !important;
            }
            
            .mobile-padding {
                padding-left: 1rem !important;
                padding-right: 1rem !important;
            }
        }
        
        /* Исправление для line-clamp */
        .line-clamp-2 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }
        
        .line-clamp-3 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
        }
        
        /* Стиль для индикатора загрузки */
        .loader {
            border-top-color: #2563eb;
            animation: spinner 0.6s linear infinite;
        }
        
        @keyframes spinner {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        /* Анимация для плавного появления новостей */
        .news-item {
            animation: fadeInUp 0.5s ease-out forwards;
            opacity: 0;
        }
        
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        /* Цвета для разных типов новостей */
        .type-politics { background-color: #dc2626; }
        .type-technology { background-color: #2563eb; }
        .type-sport { background-color: #059669; }
        .type-culture { background-color: #7c3aed; }
        .type-economy { background-color: #d97706; }
        .type-science { background-color: #db2777; }
        .type-default { background-color: #4b5563; }
        
        /* Меню пользователя */
        .user-menu {
            transform-origin: top right;
        }
        
        /* Анимация для меню пользователя */
        @keyframes fadeInDown {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .user-menu-item:hover {
            background-color: rgba(37, 99, 235, 0.1);
        }
        
        .dark .user-menu-item:hover {
            background-color: rgba(37, 99, 235, 0.2);
        }
        
        /* Стили для подсказок поиска */
        .search-hints-container {
            max-height: 70vh;
            overflow-y: auto;
        }
        
        .search-hint-item:hover {
            background-color: rgba(37, 99, 235, 0.05);
        }
        
        .dark .search-hint-item:hover {
            background-color: rgba(37, 99, 235, 0.1);
        }