diff --git a/src/blocks.xsl b/src/blocks.xsl
index c4f3e16..acfca21 100644
--- a/src/blocks.xsl
+++ b/src/blocks.xsl
@@ -99,18 +99,27 @@ version="3.0">
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/edit.xsl b/src/edit.xsl
index 9954b63..d4c9019 100644
--- a/src/edit.xsl
+++ b/src/edit.xsl
@@ -379,6 +379,16 @@ version="3.0">
+
+
@@ -390,8 +400,11 @@ version="3.0">
-
+
+
+
+
+
@@ -1651,19 +1664,12 @@ version="3.0">
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/select.xsl b/src/select.xsl
index 0b5e102..da59b5c 100644
--- a/src/select.xsl
+++ b/src/select.xsl
@@ -247,12 +247,14 @@ version="3.0">
+ native caret placement that would collapse it), a press on non-editable
+ canvas places the caret at the point itself (no native placement exists
+ there), and a plain primary press on a host arms a sweep anchor for the
+ mousemove takeover (no preventDefault: native caret placement and
+ in-host drags proceed untouched). SaxonJS dispatches an event at the
+ innermost matching template only, so a press on the drag handle never
+ reaches this (the handle owns its gesture) and chrome is guarded out
+ explicitly -->
@@ -282,6 +284,32 @@ version="3.0">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+