//! Central color theme for the TUI — Tokyo Night palette. //! //! Design: muted blue-purple dark background with desaturated blue/cyan/ //! purple accents (not neon) — the popular Tokyo Night editor/terminal //! theme. Chosen for a calmer "professional dev tool" read. use ratatui::style::Color; /// Central palette of terminal colors used across all TUI render functions. pub struct Theme; impl Theme { // ── Base surface colors ────────────────────────────────────────────── pub const BG: Color = Color::Rgb(0x1a, 0x1b, 0x26); pub const SURFACE: Color = Color::Rgb(0x1f, 0x23, 0x35); pub const SURFACE_ELEVATED: Color = Color::Rgb(0x29, 0x2e, 0x42); // ── Text colors ────────────────────────────────────────────────────── pub const TEXT: Color = Color::Rgb(0xc0, 0xca, 0xf5); pub const TEXT_MUTED: Color = Color::Rgb(0xa9, 0xb1, 0xd6); pub const TEXT_DIM: Color = Color::Rgb(0x56, 0x5f, 0x89); // ── Accent colors ──────────────────────────────────────────────────── pub const PRIMARY: Color = Color::Rgb(0x7a, 0xa2, 0xf7); pub const SUCCESS: Color = Color::Rgb(0x9e, 0xce, 0x6a); pub const WARNING: Color = Color::Rgb(0xe0, 0xaf, 0x68); pub const ERROR: Color = Color::Rgb(0xf7, 0x76, 0x8e); pub const INFO: Color = Color::Rgb(0x7d, 0xcf, 0xff); // ── Extended accent palette ────────────────────────────────────────── pub const ACCENT_PURPLE: Color = Color::Rgb(0xbb, 0x9a, 0xf7); pub const ACCENT_ORANGE: Color = Color::Rgb(0xff, 0x9e, 0x64); pub const ACCENT_TEAL: Color = Color::Rgb(0x73, 0xda, 0xca); // ── Border colors ──────────────────────────────────────────────────── pub const BORDER: Color = Color::Rgb(0x3b, 0x42, 0x61); // ── Role badge colors ──────────────────────────────────────────────── pub const ROLE_USER: Color = Color::Rgb(0x9e, 0xce, 0x6a); pub const ROLE_ASSISTANT: Color = Color::Rgb(0x7a, 0xa2, 0xf7); pub const ROLE_SYSTEM: Color = Color::Rgb(0x7d, 0xcf, 0xff); pub const ROLE_TOOL: Color = Color::Rgb(0xe0, 0xaf, 0x68); // ── Status colors ──────────────────────────────────────────────────── pub const STATUS_BAR_BG: Color = Color::Rgb(0x16, 0x16, 0x1e); pub const MODE_AUTO: Color = Color::Rgb(0x9e, 0xce, 0x6a); pub const MODE_YOLO: Color = Color::Rgb(0xf7, 0x76, 0x8e); // ── Code / markdown ────────────────────────────────────────────────── pub const CODE_BG: Color = Color::Rgb(0x16, 0x16, 0x1e); pub const CODE_BAR: Color = Color::Rgb(0x29, 0x2e, 0x42); pub const BLOCKQUOTE_BAR: Color = Color::Rgb(0x7d, 0xcf, 0xff); // ── Misc ───────────────────────────────────────────────────────────── pub const HIGHLIGHT: Color = Color::Rgb(0x3d, 0x59, 0xa1); pub const HIGHLIGHT_DIM: Color = Color::Rgb(0x29, 0x2e, 0x42); }