Define what the modal system needs to support.
Functional requirements:
- Open and close modals programmatically
- Support different sizes and content
- Handle nested/stacked modals
- Confirmation dialogs with callbacks
Non-functional requirements:
- Accessible (WCAG AA)
- Keyboard navigable
- Smooth animations
- Prevent body scroll when open
Scope: Focus on the modal infrastructure. Defer specific modal content (forms, wizards) to consumers.