Dedup the identical min/max→rect projection shared by pfDrawSparkline and pfDrawSparklineFilled into pfProjectSeries, and the repeated right-align cursor math (footer Close, detail Revert/Save, summary Manage button) into pfRightAlignX. No behavior change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>