Implement CSS cascade and computed style resolution master
Adds the `computed` module to the `style` crate with: - `ComputedStyle` struct with typed fields for all CSS properties: display, margin, padding, border (width/style/color), width, height, color, font-size, font-weight, font-style, font-family, text-align, text-decoration, line-height, background-color, position, top/right/ bottom/left, overflow, visibility - Cascade algorithm: 1. Collects matching rules via selector matching (from existing matching module) 2. Sorts by origin (UA < author) and specificity 3. Separates normal vs !important declarations 4. Applies inline styles (from style attribute) with highest priority 5. Expands shorthand properties (margin, padding, border, background) - Property inheritance: - Inherited properties (color, font-size, font-weight, font-style, font-family, text-align, text-decoration, line-height, visibility) automatically inherit from parent computed values - Non-inherited properties reset to initial values - `inherit`, `initial`, `unset` keyword support - User-agent default stylesheet with standard HTML element defaults: display types, body margin, heading sizes/weights/margins, paragraph margins, bold/italic/underline for semantic elements - Relative value resolution: - `em` units relative to parent font-size (for font-size) or current font-size (for other properties) - `rem` units relative to root (16px) - Physical unit conversion (pt, cm, mm, in, pc) - Percentage resolution for font-size - `resolve_styles()` API that builds a styled tree (StyledNode) from a DOM document and author stylesheets - 34 comprehensive tests covering UA defaults, author overrides, cascade ordering, specificity, inheritance, inherit/initial/unset keywords, em resolution, inline styles, shorthand expansion, multiple stylesheets, and display:none removal Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>