There are tags for the current category or sub that can be used without depending on the pseudo-classes. In tpl_categories.php:
PHP Code:
 if ($box_categories_array[$i]['current']) {
        if (
$box_categories_array[$i]['has_sub_cat']) {
          
$content .= '<span class="category-subs-parent">' $cat_name_display '</span>';
        } else {
          
$content .= '<span class="category-subs-selected">' $cat_name_display '</span>';
        } 
(snippet from Cat Dressing, so not identical to stock - but the classes are)

The Classic template uses this functionality, if you want to see how it operates.