//! The application layer: state, events, actions and the runtime loop.
//!
//! Data flows one way: events (terminal, engine, timer) are reduced into
//! [`state::AppState`], and the renderer draws from that state. The UI
//! never mutates state directly.