Usage
@prepared911/ui/portal and @prepared911/ui/portal/styles.css in the app that owns the trigger document.
Pass element from the trigger ref (or container when the mount node is known). Portal never uses the global document.body without resolving the owner document first.
Use Portal when React must render outside a DOM parent in the trigger's document, including hosting a <dialog> or popover whose React owner lives elsewhere. Stacking, inertness, and light dismiss still come from showModal() or popover after the node is in the correct document.
Apply popup-surface-overlay or popup-surface-modal from tailwind/recipes.css on the portaled shell through colocated .tw.css, not utility strings in className.