Canonical placement (matches Mantine, shadcn-svelte): triggers sit as
siblings of Viewport (children of the Carousel root), not as siblings
of ItemGroup inside Viewport. Keeps the gesture-bearing ItemGroup
region clean of unrelated event targets; the recipe's absolute
positioning still anchors the triggers correctly because the carousel
root is `position: relative`.
The "clicks fail" report was the expected disabled state at the last
slide under loop=false — verified the next button correctly reports
disabled=true + opacity 0.4 once canGoNext becomes false. Enable loop
from the controls for infinite navigation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>