Logo, colour, and type for lemonfiber. Single source of truth — pull assets from here rather than re-drawing or re-exporting.
This repo is split:
| Path | Licence |
|---|---|
assets/logo/* |
Proprietary — all rights reserved (LICENSE) |
tokens/* |
Hippocratic 3.0 (LICENSE-tokens) |
.docs/* |
CC BY-SA 4.0 |
The marks are protected — you may build on the code and use the tokens, but not ship a fork under the lemonfiber name or logo. This is the Rust/Mozilla/Python pattern: open project, protected identity. See the rationale.
assets/logo/ SVG marks (primary, mono, crops, lockups) — proprietary
tokens/ colour / type / space tokens (CSS custom props + JSON) — open
.docs/ usage: logo, colour, typography, contact sheet
<link rel="stylesheet" href="tokens/tokens.css">
<img src="assets/logo/lockup-horizontal.svg" alt="lemonfiber" height="48">Or via npm, how the web UI consumes it:
npm install @lemonfiber/brand@import "@lemonfiber/brand/tokens.css";
.header { background: var(--lf-color-paper); color: var(--lf-color-ink); }Never re-colour the mark outside the token palette, never add a tagline, never
stretch or rotate the lockups. Amber is a signal colour, never a background fill
or body text — it fails contrast as text (which is why the brand forbids it).
Full rules in .docs/logo-usage.md; the binding
constraints and the accessibility contract are in the spec's
60-brand.
Body-text colour pairings are verified against WCAG AA in CI
(scripts/check_tokens.py). A token change that puts a failing pairing into body
use is a contract violation, not a preference. See spec
60-brand/accessibility.md.
The spec is canonical. Aesthetic changes within the rules cite GOV-R12;
changes to what the rules permit are DES-R changes. Read AGENTS.md.