A `<style>` block has `.parent { container-type: inline-size; }` and a child rule uses `@container (min-width: 400px) { .a:has(.b) { color: red } }`. Conceptually, what two distinct kinds of style re-evaluation must the engine wire up so this stays correct as the DOM and layout change, and why are they separate mechanisms?
@container (min-width: 400px) {
.a:has(.b) { color: red; }
}