/* ============================================================ Inference Co-op branding — LibreChat overlay (v3) Colors are pulled from the co-op homepage's own CSS variables (inference.coop): --cream #faf8f5, --wash #eef4ea, --green-deep #5b8c5a, --green-mid #6ba86b, --green-light #7ab87a, --ink #2d3327, --muted #6b7a62, --border #e8e2d8, font Figtree. LibreChat resolves its Tailwind colors through CSS variables on html.light / html.dark (space-separated RGB) — overriding them rebrands the WHOLE app through the existing theme system. ============================================================ */ html.light { --surface-primary: 250 248 245; /* --cream #faf8f5 — dashboard page background */ --surface-secondary: 255 255 255; /* sidebar + composer box: white cards */ --surface-tertiary: 244 242 236; /* #f4f2ec — dashboard chip background */ --surface-hover: 234 243 234; /* #eaf3ea — dashboard green wash as hover */ --surface-submit: 91 140 90; /* --green-deep #5b8c5a */ --surface-submit-hover: 107 168 107; /* --green-mid #6ba86b */ --accent-primary: 91 140 90; /* --green-deep */ --accent-primary-hover: 107 168 107; /* --green-mid */ --ring-primary: 91 140 90; --link: 74 122 74; --text-primary: 45 51 39; /* --ink #2d3327 */ --text-secondary: 107 122 98; /* --muted #6b7a62 */ --border-light: 228 224 216; /* --border #e4e0d8 */ --presentation: 250 248 245; /* cream — composer band matches page */ --surface-chat: 255 255 255; /* chat box text areas: white */ --surface-composer-hover: 244 242 236; } html.dark { --surface-primary: 34 39 31; /* deep pine */ --surface-secondary: 42 48 39; --surface-tertiary: 52 59 48; --surface-hover: 45 51 39; /* --ink */ --surface-submit: 122 184 122; /* --green-light #7ab87a */ --surface-submit-hover: 142 200 142; --accent-primary: 122 184 122; --accent-primary-hover: 142 200 142; --ring-primary: 142 200 142; --link: 142 200 142; --text-primary: 232 245 232; /* #e8f5e8 */ --text-secondary: 148 160 140; --border-light: 74 82 64; --presentation: 34 39 31; --surface-chat: 34 39 31; --surface-composer-hover: 42 48 39; } /* ---- Figtree font (design kit, SIL OFL) — matches homepage & dashboard ---- */ @font-face { font-family: 'Figtree'; src: url('/assets/fonts/figtree-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'Figtree'; src: url('/assets/fonts/figtree-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: 'Figtree'; src: url('/assets/fonts/figtree-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } @font-face { font-family: 'Figtree'; src: url('/assets/fonts/figtree-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; } /* ---- Loading screen: brand the pre-React flash instead of white/black ---- */ #loading-container { background-color: rgb(250, 248, 245); /* cream */ } @media (prefers-color-scheme: dark) { #loading-container { background-color: rgb(34, 39, 31); /* deep pine */ } } /* Homepage font stack — Figtree first, self-hosted above */ html, body, button, input, select, textarea, [class*='font-'] { font-family: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important; } /* ---- Remove the "Don't have an account? Sign up" line ---- The

wraps the register link on auth pages. :has() hides the whole paragraph (custom2.js is the MutationObserver fallback). */ p:has(> a[href*="register"]) { display: none !important; } /* Belt-and-braces: hide any residual register/signup links */ a[href*="register"], a[href*="signup"] { display: none !important; } /* ---- Footer: the LibreChat tagline is replaced at build time (patch_ui_strings.py) with the co-op footer text; CSS just centers it ---- */ footer { text-align: center; padding: 1rem; } footer a { color: rgb(var(--accent-primary)); font-weight: 600; text-decoration: none; } footer a:hover { text-decoration: underline; }