Hand-rolled in Vue 3 using Claude Code :)

I was considering IntroJS, but Claude Code generated a simpler version in ~120 lines — just @vueuse/core helpers (useLocalStorage, useIntervalFn) and focus-trap, no tour library.