6d60994078
#622's `useScrollFocusedDialogField` still failed on Tahani's iPad for two reasons: 1) Touch-gate too narrow: `pointer: coarse` is *primary* pointer. An iPad connected to a Magic Keyboard / trackpad reports primary as `fine`, so the hook returned early and never armed. Broadened to `(pointer: coarse) OR (any-pointer: coarse)` so any device with any touch input qualifies. 2) `scrollIntoView` doesn't work inside `position: fixed` on iOS Safari/PWA — the scroll silently no-ops. Replaced it with a manual walk: from the focused field, ascend to the nearest ancestor whose computed `overflow-y` is auto/scroll AND that actually has overflow, stopping at the dialog root. Compute the target's offset within that container's content and set `container.scrollTop` so the target sits centred in the visible band, clamped to [0, scrollHeight-clientHeight]. Also tightened cleanup per #622's reviewer note — timer IDs are now removed from the tracking set inside the timeout callback as well as on blur. No CSS or dialog component changes. `tsc --noEmit` clean.