#pragma once // Design tokens for ui-lvgl — the one place colours, spacing and type live. // First colour take on the "Amber Trace" direction: amber on near-black. namespace theme { // Colours (0xRRGGBB) static const uint32_t BG = 0x0B0B0D; // screen background static const uint32_t SURFACE = 0x17171B; // cards, rows, bubbles (incoming) static const uint32_t SURFACE_2 = 0x222228; // pressed / raised static const uint32_t ACCENT = 0xFFB000; // amber: focus, badges, own bubbles static const uint32_t ACCENT_DIM= 0x6B4A00; // own bubble fill static const uint32_t TEXT = 0xF2EEE6; static const uint32_t TEXT_MUTED= 0x9A958C; static const uint32_t OK = 0x6FCF6F; // delivered / relayed static const uint32_t FAIL = 0xE5534B; // not delivered // Spacing (px) static const int PAD = 8; static const int GAP = 6; static const int RADIUS = 10; static const int STATUS_H = 22; // top status bar static const int ROW_H = 44; // list row (touch target) // Type -- Noto Sans, generated by fonts/generate.sh (declared in lv_conf.h). // ui_font_40 holds digits / ':' / '-' / '.' only (clock, timer, stopwatch). #define THEME_FONT_SMALL (&ui_font_12) #define THEME_FONT_BODY (&ui_font_14) #define THEME_FONT_TITLE (&ui_font_16) #define THEME_FONT_LARGE (&ui_font_20) #define THEME_FONT_CLOCK (&ui_font_40) // Extra FontAwesome glyphs baked into ui_font_12..20 beyond LVGL's LV_SYMBOL_*. #define UI_SYMBOL_STAR "\xEF\x80\x85" // U+F005, favourite #define UI_SYMBOL_MAP "\xEF\x89\xB9" // U+F279 #define UI_SYMBOL_USERS "\xEF\x83\x80" // U+F0C0, Nearby #define UI_SYMBOL_COMPASS "\xEF\x85\x8E" // U+F14E, Navigate #define UI_SYMBOL_FLAG "\xEF\x80\xA4" // U+F024, waypoint #define UI_SYMBOL_PIN "\xEF\x8F\x85" // U+F3C5, mark here #define UI_SYMBOL_CLOCK "\xEF\x80\x97" // U+F017, Clock tools #define UI_SYMBOL_STOPWATCH "\xEF\x8B\xB2" // U+F2F2 #define UI_SYMBOL_RADIO "\xEF\x94\x99" // U+F519, broadcast tower #define UI_SYMBOL_CHART "\xEF\x82\x80" // U+F080, diagnostics }