#pragma once #include #include namespace theme { using pu::ui::Color; namespace color { constexpr Color BgBase{0x10, 0x14, 0x1C, 0xFF}; constexpr Color BgSurface{0x18, 0x1F, 0x2A, 0xFF}; constexpr Color BgSurface2{0x22, 0x2B, 0x39, 0xFF}; constexpr Color Scrim{0x00, 0x00, 0x00, 0xB8}; constexpr Color Primary{0xE2, 0x4B, 0x55, 0xFF}; constexpr Color PrimaryDim{0x9C, 0x33, 0x3A, 0xFF}; constexpr Color Accent{0x4A, 0xC2, 0xE0, 0xFF}; constexpr Color TextPrimary{0xF2, 0xF4, 0xF8, 0xFF}; constexpr Color TextSecondary{0xB6, 0xBE, 0xCB, 0xFF}; constexpr Color TextMuted{0x70, 0x7A, 0x8C, 0xFF}; constexpr Color Success{0x55, 0xC8, 0x8A, 0xFF}; constexpr Color Error{0xE0, 0x6C, 0x6C, 0xFF}; constexpr Color Warning{0xE6, 0xB4, 0x55, 0xFF}; constexpr Color Divider{0x2A, 0x33, 0x42, 0xFF}; constexpr Color FocusRing{0xE2, 0x4B, 0x55, 0xFF}; } // namespace color namespace space { constexpr int xs = 4; constexpr int sm = 8; constexpr int md = 16; constexpr int lg = 24; constexpr int xl = 32; constexpr int xxl = 48; } // namespace space namespace radius { constexpr int sm = 6; constexpr int md = 12; constexpr int lg = 20; constexpr int pill = 9999; } // namespace radius namespace type { constexpr int Display = 38; constexpr int Title = 30; constexpr int Body = 25; constexpr int Label = 20; constexpr int Caption = 18; inline std::string font(int size) { return "DefaultFont@" + std::to_string(size); } } // namespace type namespace layout { constexpr int ScreenW = 1280; constexpr int ScreenH = 720; constexpr int HeaderH = 72; constexpr int HintH = 56; constexpr int ContentTop = HeaderH; constexpr int ContentH = ScreenH - HeaderH - HintH; } // namespace layout namespace motion { constexpr int FadeFrames = 20; constexpr int SlideFrames = 14; constexpr int SpinnerFrames = 72; } // namespace motion namespace font { constexpr const char* Default = "Inter"; constexpr const char* Medium = "InterMedium"; } // namespace font } // namespace theme