A 5e storytelling engine with an LLM DM

Add timekeeping with a campaign log and shared transcript master

The sandbox now boots a fresh temp world and player dir each session. The campaign keeps a forward-only log and a player-readable transcript, so the clock resumes where it left off and recall finds what happened. The clock is always the last time anchor in the log; no state drifts. mark advances time and logs an event, recall searches the log and transcript, and narration and player input log to the transcript on their own. The DM thinking line persists through a turn and names what the DM is doing. Tool calls render dim by default, and a public roll's total renders bold and full white.