A seventh box appeared when the field took focus. daisyUI positions each otp box with nth-child, which counts *every* child of the container, not just the spans. With the input as the first child, all six boxes shifted one stride right and the container matched :has(>span:nth-child(7)), so it grew to seven strides wide. The phantom box was the ::after active-box marker -- transparent until :focus-within gives it an outline -- sitting in the empty stride that the off-by-one had opened up. The input goes last, which is also how daisyUI's own examples order it. A test counts the boxes ahead of the input so this cannot come back. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.8 KiB
4.8 KiB