feat(popup): stand placeholders where a slow card's content will go master
Cards fetch off the render path and redraw when their answer lands, so on a slow connection the popup dropped rows in one at a time. Each card now stands a placeholder the shape and height of the row that is coming, so the answer fills boxes in rather than moving anything below it. Nothing appears for the first 150ms. Most loads here are a read of the extension's own cache and land in single-digit milliseconds; a placeholder that flickers past on every popup open would be worse than the pop-in it replaces. LoadTracker redraws at the two moments nothing else would — when a slow load crosses that delay, and when a load that was showing a placeholder ends with nothing to draw. Cards mark themselves aria-busy while a lookup is out, and the shimmer is dropped under prefers-reduced-motion, which popup.css had no rules for before.