Total Blocking Time (TBT) sums the "blocking portion" of every long task (over 50ms) on the main thread between First Contentful Paint and Time to Interactive. The blocking portion is the time over 50ms -- a 90ms task contributes 40ms of blocking time, a 200ms task contributes 150ms.
TBT is a Lighthouse lab proxy for INP (the field-data Core Web Vital). Google's thresholds: under 200ms is "Good", 200-600ms is "Needs Improvement", over 600ms is "Poor". TBT carries the largest weight in the Lighthouse performance score (30%).
Reduce TBT by code-splitting JavaScript, deferring non-critical scripts, breaking up long tasks with await new Promise(r => setTimeout(r, 0)), and removing unused JS from the bundle.