a91e5aceee
Panel: MutationObserver intercepts the #hashrate DOM update and rescales the GH/s value from the API to the appropriate unit (MH/s, GH/s, TH/s, PH/s), also updating the unit label in the card header. Chart: nethashChart Y-axis tick callback detects the canvas ID and applies the same scaling logic per tick; a btcpHashrateUnit plugin updates the Y-axis title (e.g. "Hashrate (TH/s)") after each chart update to stay in sync with the data range