- heatmap now fetches /api/stats?days=365 (endpoint already caps at 365; no server change) so the grid spans the past year - week columns with month labels (Aug, Sep, ...), first column labelled by its first in-window day, final column padded - grid wrapped in a horizontal-scroll container (53 weeks ~ 750px)