How blooms and text-landing are generated. Keys live only in this browser (localStorage) and go straight to the provider. Offline demo needs no key and uses per-slice phrase banks + a keyword classifier.
/api/v1/chat/completions.{system, prompt, temperature}. Expects {nodes:[{layer,text,axis}]} or OpenAI-style {choices:[{message:{content}}]} whose content is that JSON.Paste any text — a spec, a brain-dump, a README, a transcript. Each non-empty line is classified onto exactly one slice of and lands as an unsettled node (C1). Offline uses a keyword heuristic; connect a model for real classification.