Toggle perm; selected = primaryContainer, unselected = surfaceVariant; count badge AnimatedSwitcher update Mo.m-instant; HapticFeedback.selectionClick() on mobile
Tap group checkbox
Toggle all perms in group; tri-state renders none/some/all
Tap group header label
Collapse/expand section (AnimatedSize, Mo.m-base, no layout pop)
Search typing
Debounce 300 ms (00-shared/03 B); filters chips + collapses 0-match sections; result count announced (liveRegion)
Long-press chip
Tooltip with humanized name (proposed) + raw string (07 §3)
Hover (desktop)
Chip lifts Mo.m-fast; cursor pointer; tooltip after 500 ms
Ctrl+F / / (desktop)
Focus matrix search
Tab
Field order: name → slug → description → priority → matrix groups (chips are focusable toggles, not tab stops — arrow keys move within a FocusTraversalGroup)
Space / Enter on focused chip
Toggle (native M3 checkbox/chip behaviour)
Drag-select
(proposed) — drag across chips to mass-toggle (batched on release; no per-cell writes — server has none)
Density: chips visualDensity: compact, Sp-8 gaps, min touch target 44 dp on
phone (dense inline exemption, 02 §9), 48 dp on desktop for mouse precision.