Wire a native <dialog data-hl-modal> to its [data-hl-modal-open] triggers and [data-hl-modal-close] buttons, layering on a focus trap, body scroll-lock, and a background inert barrier for assistive tech. Open state is observable through onOpenChange/hl:open-change and controllable through the returned API.