A 5e storytelling engine with an LLM DM

Fix review findings: dead fallback, dropped styles, stale references master

marker() carried a digits.unwrap_or(1) fallback that never ran, since list() only ever sets digits when number is Some; pairing them into one Option<(u64, usize)> lets the type system rule out the mismatched state instead of a runtime default. Inline and block HTML rendered with Span::raw and Line::raw, dropping the ambient style every other inline and block event carries; both now render in the active style, so HTML inside a dim quote reads dim like the rest of the quote. The transcript's too-wide-row comment was missing the trade a mid-round resize accepts: it can catch one of those rows in the general rewrap and garble its columns. A few comments and the roadmap named a task number or a "prints it raw" pre-state that no longer matches the code, and the plan's list and chunk-invariance bullets described a two-space indent and random chunkings that are not what shipped. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012zSZW6bFzUQTWG37wErsH6