fix(ui): settle panel and popup hover feedback (#200)

Every interactive surface in the popup already animated its hover/press state
with a short transition; four did not, each in a different way.

- Panel provider meter: the hover/press highlight snapped between states.
- Usage & Spend heatmap cell: the hover outline snapped in. Two review rounds
  were needed to get this right. Animating border.width reflowed the cell;
  holding the width and fading the border's alpha only moved the problem, since
  Qt derives the effective border width from the pen and QQuickPen treats a
  zero-alpha colour as invalid, so at rest the cell painted a zero-width border
  and its fill reached the edge. Grabbing rendered pixels confirmed an edge
  pixel flipping from fill colour to near-background in a single frame. The
  cell now carries no border and the outline is a transparent-filled overlay
  whose opacity fades, leaving the painted geometry untouched.
- Session cards: they reveal copy actions on hover but left the card surface
  unchanged. The tint now lifts as overview rows already do.
- Chart readout: the label and value blinked on every pointer entry and exit.
  They now fade with the active point, retaining the last inspected point so
  the fade-out has something to fade, and leaving the accessibility tree while
  no point is active so a screen reader never announces the retained text.
- Tab selection indicator: the tab background crossfaded while the accent
  underline switched instantly. It now fades its alpha over the same duration.

Regression checks in scripts/test_ui_regressions.sh pin each behaviour,
including rejecting the alpha-faded border shape outright.

Documentation impact: none. Internal motion and consistency work with no new
setting, behaviour, or CLI contract change. CHANGELOG.md updated under
Unreleased -> Fixed.
f1818a395cSimone committed on 9/10/2026, 1:59:12 AM· committed by GitHubparent6fde664
8 files changedLine totals unavailable