ff75ff2a18
The label span used `truncate`, whose ellipsis stops the text ~8px short of the overlay. The hover gradient then faded over empty tab surface — surface to the same surface, invisible by construction — and the ✕ read as floating in a gap beside three dots. A closeable tab publishes `data-closeable`; the label reads it via `group-data-[closeable]/tab:text-clip` so overflow runs under the fade and the gradient dissolves real letterforms. Vertical rails and uncloseable tabs have no ✕, so they keep the ellipsis.