/** * BanGUI Fluent UI custom theme. * * The primary brand colour ramp is built around #0F6CBD (a deep, professional blue). * This colour has a contrast ratio of ~5.4:1 against white, satisfying WCAG 2.1 AA * requirements for both text and large UI elements. * * Both `lightTheme` and `darkTheme` share the same brand ramp so all semantic * colour slots stay consistent when the user switches modes. */ import { createDarkTheme, createLightTheme, type BrandVariants, type Theme, } from "@fluentui/react-components"; /** * BanGUI brand colour ramp — 16 stops from 10 (darkest) to 160 (lightest). * * Primary stop (80): #0F6CBD — contrast ratio ≈ 5.4:1 against white. */ const banGuiBrand: BrandVariants = { 10: "#020D1A", 20: "#041B32", 30: "#072B50", 40: "#0A3C6E", 50: "#0C4E8A", 60: "#0E5FA7", 70: "#1169BA", 80: "#0F6CBD" /* PRIMARY — passes WCAG AA */, 90: "#2C81CC", 100: "#4A96D8", 110: "#6CADE3", 120: "#91C5EC", 130: "#B5D9F3", 140: "#D2EAF8", 150: "#E8F4FB", 160: "#F3F9FD", }; /** Light theme using the BanGUI brand palette. */ export const lightTheme: Theme = createLightTheme(banGuiBrand); /** Dark theme using the BanGUI brand palette. */ export const darkTheme: Theme = createDarkTheme(banGuiBrand);