Implement CSS math functions: calc(), min(), max(), clamp()
Add parsing, evaluation, and layout-time resolution for CSS math
functions per CSS Values and Units Module Level 4.
- CSS crate: MathExpr AST with recursive descent parser supporting
operator precedence, nested functions, and mixed units
- Style crate: Two-phase evaluation — resolves non-percentage units
at style time, defers percentage-based expressions to layout via
new LengthOrAuto::Calc and ClampCalc variants
- Layout crate: Resolves deferred calc expressions against containing
block dimensions at layout time
- Handles calc(100% - 20px), min/max with vw/px, clamp with mixed
units, division by zero, and nested expressions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>