diff --git a/UPGRADE.md b/UPGRADE.md
index d9c7e321..8466a52e 100644
--- a/UPGRADE.md
+++ b/UPGRADE.md
@@ -91,6 +91,15 @@
around the field, which fills its container, so from `medium`, where the field stops at 40rem,
the list ran on past the field's end across the whole container. The field itself is the anchor
now, and the wrapper `
` is gone; the list keeps hanging under the field's supporting text.
+- **A sheet or dialog that opens shows no tooltip on the control it focuses.** A modal
+ ``, ``, the modal rail and `` move the focus to their first
+ control as they open, and on a page loaded with the sheet open (`wire:model` already set, say
+ from `?workout=` in the URL) or a layer opened from the keyboard, browsers count that focus as
+ keyboard focus: the close button's plain tooltip stood over the sheet the moment it appeared, in
+ Chrome, Firefox and Safari. Plain and rich tooltips now leave out focus a modal layer moves into
+ itself from outside; a Tab onto the control, including the one that wraps round to it, and focus
+ moved within the layer still show them. An `autofocus` an application put on another control to
+ keep the focus off the close button can go.
## From 2.0.0 to 2.1.0
diff --git a/resources/boost/skills/livewire-material-development/SKILL.md b/resources/boost/skills/livewire-material-development/SKILL.md
index 445e7e9c..ef26d350 100644
--- a/resources/boost/skills/livewire-material-development/SKILL.md
+++ b/resources/boost/skills/livewire-material-development/SKILL.md
@@ -273,7 +273,7 @@ Label button, icon button, toggle and responsive FAB in one component.
### ``
-M3's plain tooltip, standalone around any trigger: ``. `side`: `top` (default), `bottom`, `left`, `right`. Shows on hover (fine pointers) and keyboard focus, and goes 1.5s after the pointer or the focus leaves it (M3's transient tooltip); only one is on screen at a time. It is `aria-hidden`, so the trigger has to carry the same words itself — as an icon button's `aria-label` does. Where the tip says something the trigger does not, use ``, which points the trigger at its text. Buttons and FABs take a `tooltip` prop instead.
+M3's plain tooltip, standalone around any trigger: ``. `side`: `top` (default), `bottom`, `left`, `right`. Shows on hover (fine pointers) and keyboard focus, and goes 1.5s after the pointer or the focus leaves it (M3's transient tooltip); the focus a sheet, a dialog or the modal rail moves to its first control as it opens does not show it, so a close button's tooltip waits for a Tab; only one is on screen at a time. It is `aria-hidden`, so the trigger has to carry the same words itself — as an icon button's `aria-label` does. Where the tip says something the trigger does not, use ``, which points the trigger at its text. Buttons and FABs take a `tooltip` prop instead.
### ``, ``, ``, ``
@@ -491,7 +491,7 @@ A few lines of context around a trigger, with an optional `title` and `actions`
```
-Shows on hover and keyboard focus and goes 1.5s after the pointer or the focus leaves, as M3 times a plain tooltip too; `persistent` opens it on press and keeps it until a press elsewhere or Escape (use it when there are actions). The trigger is pointed at the bubble with `aria-describedby`, so its words are read out with the control. An open bubble stays open while the Livewire component around it renders, its actions' `wire:click` included. `side`: `bottom` (default), `top`, `left`, `right`.
+Shows on hover and keyboard focus (not the focus a sheet or dialog moves to its trigger as it opens) and goes 1.5s after the pointer or the focus leaves, as M3 times a plain tooltip too; `persistent` opens it on press and keeps it until a press elsewhere or Escape (use it when there are actions). The trigger is pointed at the bubble with `aria-describedby`, so its words are read out with the control. An open bubble stays open while the Livewire component around it renders, its actions' `wire:click` included. `side`: `bottom` (default), `top`, `left`, `right`.
### ``
diff --git a/resources/js/layers.js b/resources/js/layers.js
index b3c5a69f..abccb092 100644
--- a/resources/js/layers.js
+++ b/resources/js/layers.js
@@ -29,6 +29,12 @@
* (materialShowModal(), dialog.js); a modal `