This package contains interfaces and classes representing various CSS concepts.

An `ICSSDocument` represents all the CSS code in a `.css` file or within a `<Style>` tag in MXML. It is the root of a tree of objects of type `ICSSNode`.

For example, CSS such as as

    Button { color: red; font-size: 12 }

is represented by an `ICSSRule` which has one simple `ICSSSelector` named `"Button"` and two `ICSSProperty` objects named `"color"` and `"font-size"`. Each `ICSSProperty` has an `ICSSPropertyValue`; in this case they represent the two values `red` and `12`.

A rule can have a list of selectors, each of which can be a complex combination of simple selectors; they are stored in a linked-list-like data structure, where an `ICSSCombinator` in the link between between selectors.

Unlike AS and MXML source files, a CSS source file doesn't create a compilation unit in a project. There are three reasons for this:

- The dependency discovery loop for compilation units doesn't work for CSS.
- CSS syntax trees are not used by other sub-systems.
- The output of CSS is different than other compilation units' output. A CSS file does not contribute to a SWF tag of its own, and all of its content does not get generated into ABC code.