TLDR: CSS Layers are a way to define order of precedence in the case of multiple cascade layers. The suggestion is to implement a way to define these layers, to further improve the development of custom themes and layouts.
Why?
Being able to define cascade layers allows the developers to separate stylesheets into a hierarchy of priority. Quoting the MDN article:
"[A cascade layer] enables the creation of simpler CSS selectors because you do not have to ensure that a selector will have high enough specificity to override competing rules; all you need to ensure is that it appears in a later layer."
In practical OutSystems terms, this means that the OutSystems UI stylesheet could sit in an early layer while the Custom Theme of an application could be placed in a later layer, hence avoiding overriding conflicts with existing rules. Furthermore, in environments where a Custom Theme exists, but a superset theme is applied to specific applications, conflicts of specificity could also be avoided.
How?
This layer definition could be placed in a per-CSS file basis: it's just another parameter like "Name", "Description", "Public", etc. The layer order (or precedence list) could be defined in the Theme Editor, or be set in Service Center.