gpu_memory_percent is serialized as JSON null (not omitted) when no GPU is present, but the template checked `!== undefined`, which is true for null too. Calling .toFixed() on that null then threw during render, blanking the whole widget instead of just hiding the GPU row. Only showed up on GPU-less hosts like a Lightsail instance, not on this dev machine which has a GPU.