uBlock Origin: Filter all subsequent siblings until a specific element

Issue

I have a webpage with the following HTML structure.

<li id="announcements"></li>
<li>Post 1</li>
<li id="blog"></li>
<li>Post 2</li>
<li>Post 3</li>
<li id="featured"></li>
<li>Post 4</li>

I want to write a uBlock Origin filter rule which hides id="blog" and all subsequent sibling li elements up until id="featured".

<li id="announcements"></li>
<li>Post 1</li>
<li id="featured"></li>
<li>Post 4</li>

Attempted solutions

Using the subsequent-sibling combinator (~) causes all subsequent elements to get filtered without stopping at id="featured",

example.com###blog
example.com###blog ~ li
<li id="announcements"></li>
<li>Post 1</li>

There’s a similar Stack Overflow question about selecting siblings until an element in CSS. However, the proposed solution is to use an extra CSS rule that resets styling back to default after a match. Perhaps this would be possible with a uBlock rule that exempts matching elements, but I’m unsure how to accomplish that.

Question

How do I make a uBlock Origin filter rule that filters all subsequent sibling li elements after id="blog", but stops filtering at id="featured"