/* Custom Styles for TopClanker */

/* Category Badges */
.category-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.category-badge.reasoning {
    background-color: #DBEAFE;
    color: #1E40AF;
}

.category-badge.math {
    background-color: #FEE2E2;
    color: #991B1B;
}

.category-badge.research {
    background-color: #D1FAE5;
    color: #065F46;
}

.category-badge.learning {
    background-color: #FEF3C7;
    color: #92400E;
}

/* Filter Buttons */
.filter-btn {
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    border: 1px solid #D1D5DB;
    background-color: white;
    color: #4B5563;
    cursor: pointer;
    transition: all 0.2s;
}

.filter-btn:hover {
    background-color: #F3F4F6;
    border-color: #9CA3AF;
}

.filter-btn.active {
    background-color: #2563EB;
    color: white;
    border-color: #2563EB;
}

/* Type Icons */
.type-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.875rem;
}

.type-icon.open-source {
    color: #059669;
}

.type-icon.closed {
    color: #6B7280;
}

/* Privacy Rating */
.privacy-rating {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.privacy-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
}

.privacy-high {
    background-color: #10B981;
}

.privacy-medium {
    background-color: #F59E0B;
}

.privacy-low {
    background-color: #EF4444;
}

/* Rank Badge */
.rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    font-weight: 700;
    font-size: 0.875rem;
}

.rank-1 {
    background-color: #FCD34D;
    color: #78350F;
}

.rank-2 {
    background-color: #D1D5DB;
    color: #374151;
}

.rank-3 {
    background-color: #FDBA74;
    color: #7C2D12;
}

.rank-other {
    background-color: #F3F4F6;
    color: #6B7280;
}

/* Smooth transitions */
* {
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Table hover effect */
tbody tr:hover {
    background-color: #F9FAFB;
}

/* Link styles */
.external-link {
    color: #2563EB;
    text-decoration: none;
    font-weight: 500;
}

.external-link:hover {
    text-decoration: underline;
}

/* Responsive table */
@media (max-width: 768px) {
    table {
        font-size: 0.875rem;
    }
    
    th, td {
        padding: 0.75rem 0.5rem;
    }
}
