Tokens, context windows, and chunking: how LLM sees text