personal memory agent

fix(convey): fade the mobile facet strip's trailing scroll edge master

At <=768px the facet pill row is a deliberate horizontal scroller with no overflow affordance, so a clipped pill read as the status mark colliding with it. The fix is a class-gated mask-image on .facet-bar .facet-pills-container, not a gradient cover. The ground is .facet-bar's --facet-bg tint composited over --paper, so no flat cover colour can match it. :focus-within clears the mask so the fade can never sit over a keyboard focus ring (WCAG 2.4.11). updateFacetScrollAffordance() reuses the existing updateScrollShadows() idiom unchanged, including its - 1 fractional-metric tolerance; the menu rail is untouched. renderFacetChooser recomputes on all three container-bearing exits, since the container persists across re-renders and a stale class would otherwise survive navigation into the empty state or a facets-disabled app. Desktop is unaffected: the base rule keeps overflow-x: clip and takes no mask.


+203
3 changed files