muriel — brand identity¶
The canonical spec for muriel's own visual mark, wordmark, color tokens, and credit conventions. Inward-facing: this is muriel's brand.toml for itself.
Until this doc existed, muriel theme'd every other project from a documented brand and ran on vibes for its own. The favicon at docs/favicon-512.png was the only canonical artifact, and every "built with muriel" credit anywhere had to be reverse-engineered from the rendered PNG. That's the exact failure muriel exists to prevent. This file fixes it.
Lineage and grammar¶
The mark is six rectangles in typographic-block rhythm, descending from Müller-Brockmann's Swiss grid tradition and Muriel Cooper's Visible Language Workshop discipline (see vocabularies/visible-language.md for the full lineage). The six bars represent a wordmark abstracted to vertical strokes — three "capital-height" chunky bars (1, 2, 5) on the main baseline, two "x-height" bars (3, 4) floating on a secondary baseline, one tall narrow accent stroke (6) on the right edge that may extend above as an ascender (favicon scale) or cap to bar-1 height (inline scale).
The mark is generated, not drawn. It always renders from these exact rect coordinates. Don't trace it from a screenshot. Don't redraw it for each context. Use the snippets below.
Color tokens¶
These match examples/muriel-brand.toml and override nothing — they're the canonical values for any muriel-own surface.
| Token | Hex | Use | Contrast on #0a0a0f |
|---|---|---|---|
background |
#0a0a0f |
OLED near-black surface | — |
foreground |
#e6e4d2 |
cream — primary fill for the mark and wordmark | 15.4:1 |
accent |
#50b4c8 |
cyan — text-safe brand accent for hover, links, highlights | 8.2:1 |
accent-ink |
#7dd4e4 |
higher-contrast cyan for inks/strokes | 11.7:1 |
The mark itself fills with foreground. Cyan accent is reserved for interactive states or highlights; never as the primary mark color (it's a secondary brand color, not the brand's voice).
The mark — full form (favicon scale)¶
For favicons, OG cards, hero placement, anywhere the mark gets ≥32px of display height. Bar 6 carries an ascender (~22% above bar 1's top) — the right-edge accent that gives the mark its character. Cannot be used inline in text because the ascender breaks line-height.
<svg viewBox="0 0 100 54" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="muriel">
<g fill="#e6e4d2">
<rect x="0" y="12" width="22" height="42"/> <!-- bar 1: capital, baseline -->
<rect x="26" y="14" width="17" height="40"/> <!-- bar 2: capital, baseline -->
<rect x="47" y="26" width="10" height="14"/> <!-- bar 3: small, x-height float -->
<rect x="61" y="18" width="7" height="22"/> <!-- bar 4: medium, x-height float -->
<rect x="72" y="14" width="15" height="40"/> <!-- bar 5: capital, baseline -->
<rect x="91" y="0" width="9" height="54"/> <!-- bar 6: accent, ascender -->
</g>
</svg>
Anatomy. Two baselines. Bars 1, 2, 5 sit on the main baseline (y=54). Bars 3, 4 float together on the x-height baseline (bottom at y=40 — fourteen units above the main baseline). Bar 6 ascends from main baseline to viewBox top — its height (54) is 1.29× bar 1 (42), the ascender accent that distinguishes the mark.
The mark — inline form (capped, no ascender)¶
For inline credits, footers, anywhere the mark must fit within a text line. Bar 6 capped to chunky-bar height — the ascender is sacrificed for line-height conformance. Use this whenever the mark renders alongside text in a flowing line.
<svg viewBox="0 0 100 42" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="muriel">
<g fill="#e6e4d2">
<rect x="0" y="0" width="22" height="42"/>
<rect x="26" y="2" width="17" height="40"/>
<rect x="47" y="14" width="10" height="14"/>
<rect x="61" y="6" width="7" height="22"/>
<rect x="72" y="2" width="15" height="40"/>
<rect x="91" y="0" width="9" height="42"/>
</g>
</svg>
The two-baseline rhythm (bars 3, 4 floating together) is preserved. Only bar 6's ascender is removed.
Sizing — the subpixel rendering floor¶
Below ~30px of display width, the narrow bars (4, 6) start to subpixel and antialias to fuzzy hairlines. The minimum sizes that render crisply:
| Variant | Min display width | Min display height | Why |
|---|---|---|---|
| Full mark (with ascender) | 56px | 30px | Bar 4 (w=7) at this scale = 3.9px wide, renderable solid |
| Inline mark (no ascender) | 28px | 12px | Same threshold for bar 4 |
| Below floor | — | — | Drop the mark; use wordmark only with optional accent dingbat |
If the available display size is below the floor, don't shrink the mark — drop it. A wordmark-only credit reads cleaner than a mark rendering as fuzz.
Wordmark conventions¶
- Spelling.
muriel— always lowercase. The brand name is set in lowercase in every context including title positions. The library ismuriel, not "Muriel" or "MURIEL." - Phrase.
built with muriel— canonical attribution form. Lowercase throughout. The verb is "built with," not "powered by," "made with," or "rendered by." - Font. Inter (or system fallback
-apple-system, 'Segoe UI', system-ui, sans-serif). Regular weight (400) for "built with"; semibold (600) for the "muriel" word so the brand name reads as the load-bearing token. - Sizing. Match the surrounding text size. The credit doesn't shout.
- Italic — no. muriel is editorial, not kinetic. Roman only.
Drop-in: inline "built with muriel" credit¶
Self-contained — paste anywhere inside any HTML page on a dark background. Clip the text-domain link to where the muriel project actually lives.
<style>
.muriel-credit {
display: flex; align-items: center; gap: 8px;
margin: 1rem auto 0; width: fit-content;
text-decoration: none; user-select: none;
opacity: 0.78; transition: opacity 0.2s ease;
}
.muriel-credit:hover, .muriel-credit:focus { opacity: 1; }
.muriel-credit .muriel-mark rect { fill: #e6e4d2; }
.muriel-credit .muriel-wordmark {
font-family: -apple-system, 'Inter', 'Segoe UI', system-ui, sans-serif;
font-size: 11px; font-weight: 400; color: #e6e4d2;
}
.muriel-credit .muriel-wordmark strong { font-weight: 600; }
</style>
<a class="muriel-credit" href="https://muriel.mindbendingpixels.com/"
target="_blank" rel="noopener" aria-label="Built with muriel">
<svg class="muriel-mark" viewBox="0 0 100 42" width="32" height="14"
xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<rect x="0" y="0" width="22" height="42"/>
<rect x="26" y="2" width="17" height="40"/>
<rect x="47" y="14" width="10" height="14"/>
<rect x="61" y="6" width="7" height="22"/>
<rect x="72" y="2" width="15" height="40"/>
<rect x="91" y="0" width="9" height="42"/>
</svg>
<span class="muriel-wordmark">built with <strong>muriel</strong></span>
</a>
Contrast on #0a0a0f background at 0.78 opacity: 9.4:1 on cream — passes the 8:1 floor.
Drop-in: block "built with muriel" credit (full mark)¶
For pages with more vertical space — README hero, About pages, project credits sections. Mark stacks above the wordmark, ascender visible.
<style>
.muriel-block-credit {
display: flex; flex-direction: column; align-items: center; gap: 10px;
margin: 2rem auto 0; width: fit-content;
text-decoration: none; user-select: none;
}
.muriel-block-credit svg rect { fill: #e6e4d2; }
.muriel-block-credit .label {
font-family: -apple-system, 'Inter', 'Segoe UI', system-ui, sans-serif;
font-size: 13px; font-weight: 400; color: #e6e4d2;
letter-spacing: 0.02em;
}
.muriel-block-credit .label strong { font-weight: 600; }
</style>
<a class="muriel-block-credit" href="https://muriel.mindbendingpixels.com/"
target="_blank" rel="noopener" aria-label="Built with muriel">
<svg viewBox="0 0 100 54" width="60" height="32"
xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<rect x="0" y="12" width="22" height="42"/>
<rect x="26" y="14" width="17" height="40"/>
<rect x="47" y="26" width="10" height="14"/>
<rect x="61" y="18" width="7" height="22"/>
<rect x="72" y="14" width="15" height="40"/>
<rect x="91" y="0" width="9" height="54"/>
</svg>
<span class="label">built with <strong>muriel</strong></span>
</a>
Wordmark-only fallback (when no mark fits)¶
Use when display constraints rule out even the inline form (extreme micro-scale: below 28px wide, or in any context where SVG isn't supported). The mark's meaning still reads through the wordmark + association.
<a href="https://muriel.mindbendingpixels.com/" target="_blank" rel="noopener"
style="font-family: -apple-system, 'Inter', system-ui, sans-serif;
font-size: 11px; font-weight: 400; color: #e6e4d2; opacity: 0.78;
text-decoration: none;">
built with <strong style="font-weight: 600;">muriel</strong>
</a>
Don'ts¶
- Don't redraw the mark by tracing the favicon. Use the rect coordinates above. Hand-tracing leads to subtly-wrong proportions.
- Don't add color to the bars. Cream
#e6e4d2only. The mark is monochrome; brand differentiation comes from typographic discipline, not chromatic noise. - Don't stretch or distort. The viewBox aspect ratio is fixed (100:54 full, 100:42 inline). Always set
widthandheightproportionally. - Don't use the mark as a watermark or repeating pattern. The mark is a typographic identity, not decoration.
- Don't capitalize "muriel" — even at the start of a sentence. Recast the sentence if the lowercase reads awkward.
Reference exemplars¶
- Favicon set:
docs/favicon-{16,32,180,512}.png— light variant (cream background);docs/favicon-dark-{16,32,180,512}.png— dark variant (cream bars on near-black). - Inside the Math footer credit:
psychodeli-webgl-port/inside_the_math/index.html— first production deployment of the inline form; landed the canonical inline coordinates after several iterations.
Versioning¶
This spec is the v1 canonical mark. Breaking changes (rect coordinates, color tokens, naming conventions) require a versioning step here and migration guidance for existing consumers.