(defcomp
  ()
  (~docs/page
    :title "Portals"
    (p
      "A "
      (code "portal")
      " renders children into a DOM node "
      (em "outside")
      " the island's subtree. Essential for modals, tooltips, and toasts — anything that must escape "
      (code "overflow:hidden")
      " or z-index stacking.")
    (~reactive-islands/index/demo-portal)
    (~docs/code
      :src (highlight
        (component-source "~reactive-islands/index/demo-portal")
        "lisp"))
    (p
      "The portal content lives in "
      (code "#portal-root")
      " (typically at the page body level), not inside the island. On island disposal, portal content is automatically removed from its target — the "
      (code "register-in-scope")
      " mechanism handles cleanup.")))
