Workhorse//Brand book/v0.1.0
Brand Standards Manualv0.1.0 · 2026-08-19

Meaning Layer

For the seers who want to hone their craft, and for the crafters who want to sharpen their vision.

Document
ClientMeaning Layer
Issued2026-08-19
Versionv0.1.0
Statusactive
Project2026

A library, not a website. One source, every surface.

Contents
  1. 1.0Audience§
  2. 2.0Logo§
  3. 3.0Color§
  4. 4.0Typography§
  5. 5.0Photography§
  6. 6.0Voice§
  7. 7.0Components§
  8. 8.0Sub-brands§
  9. 9.0Applications§
  10. 10.0Design System§
1.0Audience2.0Logo3.0Color4.0Typography5.0Photography6.0Voice7.0Components8.0Sub-brands9.0Applications10.0Design Systemspec.mdspec.jsondata view
1.0 AudienceMeaning Layer · Brand Standards

Four readers, in the order the work serves them: the builder first, students in the course, serious general readers, and scholars last in order and first in constraint.

1.1

Personas

The builder

The person who reads it and writes it

This is a working research library that happens to be public. It is built by the person who reads it, which is why the voice is a good commit message rather than marketing, and why nothing is written to persuade. Any wider audience is downstream of this one.

Students in the course

Charleston Southern, ART 220 and ART 418, Fall 2026

Real readers with a term, a syllabus, and a next session. They arrive at a specific passage because it was assigned, not because they were browsing. This is why the classroom exists as its own register: a reader who is here on a schedule needs an instrument, and the instrument has different rules from the book page.

Serious general readers

Already circling this vocabulary

People already talking about mythology, meaning, psychology, and design online, who do not know how deep the tradition goes, how recent it is, or that the people they are quoting were arguing with each other. THESIS §III is written about them. They are not addressed as beginners: the material is set at full strength and the apparatus does the work.

Scholars and researchers

The citation-first user

People who need an addressable passage, an auditable annotation, and a citation that survives. They are the reason for the permanent identifiers and for keeping annotation beside the text rather than in it. Last in order and first in constraint: build for them, write for the others.

2.0 LogoMeaning Layer · Brand Standards

There is no logo. There is a masthead.

The name set at full width, edge to edge, touching both trim margins. A masthead that spans the measure is what a newspaper and a journal do, and it is the one piece of chrome allowed to be loud, because it appears once at the top and then the page belongs to the text. A small logo in a corner is an app. A masthead is a publication.

2.1

Marks

3.0 ColorMeaning Layer · Brand Standards

Three colours and the ink scale.

Red is the mark. Blue is the machine.

The accent is a second colour on a title page: it rules, marks, and ornaments, and it is never text. Red is the primordial second colour, the first to appear in manuscripts and in early printing, which is the sincere half of the thesis. Blue is load-bearing in a different way: every mark whose origin is a model is rendered in it, and nothing else is, so colour carries the human and machine seam without a reader having to read a label.

3.1

Palette

Select any step to copy its hex. The widest step in each ramp is the working default.

accent

4 steps

machine

3 steps

paper

5 steps

paper-night

5 steps

slab

2 steps

instrument

8 steps
3.2

Semantic roles

The palette mapped to intent. Values are copyable.

Semantic roles23 tokens
4.0 TypographyMeaning Layer · Brand Standards

Three voices do everything.

Serif means this is a text. Nothing interactive is ever serif.

The house serif carries the content: titles, citations, running prose, the masthead, plus a condensed cut for structural type. Stratos carries the interface: every button, chip, key, tab, and empty state. Maison Neue Mono carries the machine: folios, timecodes, references, and nothing that is not measured. A fourth family is not added for a geometric modernist grotesque; the modernist argument is made structurally, by the grid and the rules, not by quoting a typeface.

4.1

Typefaces

Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
primaryfreight-text-pro
Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
displayfreight-big-pro
Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
condensedfreighttextcmp-pro
Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
editorialstratos
Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
monoMaison Neue Mono
Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0123456789
mastheadfreightbigcmp-pro
4.2

Hierarchy

Every role stacked the way it ships.

Hierarchy in use6 roles
Primaryfreight-text-pro
The quick brown fox jumps over the lazy dog.
Freight Text Pro (Joshua Darden, Darden Studio, via Adobe Fonts kit jfm1mdd). --pg-font-text. Reading matter on both tiers. Serves 400/400i/600/600i/700/700i. Carries onum, lnum and smcp, which is why it is here. x-height 446, cap 625.
Displayfreight-big-pro
The quick brown fox jumps over the lazy dog.
Freight Big Pro. --pg-font-display. The largest optical size in the family: x-height 422, the narrowest and highest-contrast cut. Serves 300/300i/400/400i/600/700/700i. There is NO 800 or 900 anywhere in Freight.
Condensedfreighttextcmp-pro
The quick brown fox jumps over the lazy dog.
FreightTextCmp Pro. --ml-serif-cond. Structural type: part heads, day numerals. Serves 400/400i/700/700i. NOTE: declared but currently consumed by no rule.
Editorialstratos
The quick brown fox jumps over the lazy dog.
Stratos (Production Type). --ml-ui. THE INTERFACE VOICE, and deliberately NOT Freight Sans, which was available and declined: Stratos is geometric and machined where Freight Sans is humanist and bookish, and the interface is meant to read as an instrument beside the reading voice, not as more of it. Weights 400/600/700 plus italics; there is NO 500.
MonoMaison Neue Mono
The quick brown fox jumps over the lazy dog.
Maison Neue Mono. --ml-mono. The machine's voice: every folio, timecode, and reference. Data only. The one self-hosted face left in the house.
Mastheadfreightbigcmp-pro
The quick brown fox jumps over the lazy dog.
--ml-font-mast. FreightBigCmp Pro, the compressed cut of the largest optical size. Set TIGHT and fitted to the sheet: the fit is carried by size, not letterspacing (--ml-mast-size-max is 18vw so masthead.mjs's size solve absorbs the whole target, and tracking stays at a 0.02em hair). Freight's cap height is 625 against Benton's 684, so the nameplate's capitals come out about 9% shorter at the same solved width; accepted. check:masthead measures the INK against both trims across eleven widths.
5.0 PhotographyMeaning Layer · Brand Standards

There is almost none, and that is the position.

Covers are typographic, generated from title, author, and tradition, the way a Penguin or a Suhrkamp spine is. A project that insists on labelling machine provenance cannot decorate itself with unlabelled synthesis.

5.2

Direction

Typographic. The cover is drawn from the work's own metadata in .ml-cover, sized in cqi so one drawing serves every scale. Where an image does appear inside a text it is the document's own: plates, diagrams, manuscript pages, set with a caption and a credit in the grammar's plate style (block.kind = 'plate').

5.4

Principles

  1. 01An image in a reading is evidence, not decoration. It belongs to the document.
  2. 02Every plate carries a caption and a credit.
  3. 03The cover is generated from title, author, and tradition, so a new work is publishable without a designer.
  4. 04Absence is cheaper than pastiche. A page with no image and good type argues the thesis; a page with a stock image argues nothing.
5.5

Do and don't

Do
  • Set covers typographically, from the work's own title, author, and tradition.
  • Use the document's own plates, diagrams, and manuscript pages, with caption and credit.
  • Let a surface carry no image at all when it has no evidence to show.
Don’t
  • No stock photography. Ever.
  • No abstract 3D renders.
  • No AI-generated illustration. The project labels machine provenance, so it cannot decorate itself with unlabelled synthesis.
  • No pastiche: no fake page curls, no sepia, no distressed textures. That is dishonest about the machine.
  • No museum register: the tradition under glass, reverent and dead.
  • No generic modern: soft shadows, rounded corners, purple gradients, a neutral sans. That is the default, and it argues nothing.
7.0 ComponentsMeaning Layer · Brand Standards

Compose from these before writing new CSS.

Eighteen primitives in chrome.css carry the whole system. They exist so that a surface is assembled from the vocabulary rather than re-derived, and so that the rules below can be checked rather than trusted. One sheet does three jobs on purpose: building three would guarantee three behaviours for dismissal, focus, and safe areas.

7.1

Primitives

Compose from these before writing new CSS.

.ml-frame

The page frame. Shared width, safe-area trim. Every surface sits in it.

.ml-rule

Rules carry the hierarchy that shadow would otherwise carry. Depth is made of rules, offset, and flat colour.

--ml-rule-hair 0.5px, within a card and between list rows--ml-rule 1px, the default, section separators--ml-rule-thick 3px, major sections and the masthead underline--ml-rule-heavy 6px, page-level division, rare--double

.ml-label

Mono, uppercase, letterspaced. The machine's voice. Carries only what is measured: folios, timecodes, refs, counts, weights.

--ink--mark--micro--machine

.ml-folio

Bracketed reference, set as { No. 1 }. Series numbers are folios, never '#1'.

.ml-display

Display type at four scales.

.ml-d1.ml-d2.ml-d3.ml-d4.ml-sc for small caps

.ml-masthead

The name at full width, justified to both trims by a ResizeObserver solve. The only full-bleed element in the system. See the logo section: this is the mark.

.ml-slab

Flat block of second colour. The ONLY reversed type in the system.

--ink--machine

.ml-card

A ruled region. Hover is a heavier rule plus a 1px offset, never a shadow.

--link--marked

.ml-btn

Square, ruled. Interface voice (Stratos), never serif.

--primary--quietaria-presseddisabled

.ml-field

An underline to be filled in, not a boxed input.

.ml-tag

A ruled box, NOT a pill. The pill is the default decoration the thesis rules out.

--machine

.ml-meter

Hairline progress, 3px tall and square. A radius on it would be a smudge, not an edge.

--machine, for narration

.ml-shelf

Snap-scrolling row that becomes a grid at 48rem.

.ml-cover

Typographic cover, sized in cqi so one drawing serves every scale. Covers are generated from title, author, and tradition, the way a Penguin or Suhrkamp spine is.

.ml-sheet

Bottom sheet that becomes a side panel at 62rem. ONE SHEET, THREE JOBS: the concept drawer, the mobile note reader, and the annotation editor. Building three would guarantee three behaviours for dismissal, focus, and safe areas.

.ml-colophon

The foot. Where the imprint signs the edition.

.ml-prose

Clamp to the measure. Prose never exceeds 55 to 65 characters.

.ml-sr

Visually hidden, still read aloud.

7.2

The rules that hold

Checkable in review. Each has a reason, not a preference.

  1. 01No box-shadow. A hairline plus a 1px offset is the hover state. One documented exception: .is-speaking bleeds its own flat wash 0.35em past the text box so the highlight reads as a region. Instrument surfaces may take --ml-edge-soft, a 1px inset hairline, which is a rule moved inside the box, not an elevation.
  2. 02No border-radius. Everything is square. --ml-radius: 0 exists so any accidental radius is a visible diff. Instrument surfaces may take --ml-radius-soft (2px), and only those two tokens may ever be the value of a border-radius. Enforced by check:radius-scope.
  3. 03No gradient, no glassmorphism, no backdrop blur.
  4. 04No icon-only control. There is no icon set here to guess from. Two named exceptions only: the dock's history pair, and the nav root below 48rem, which carries its word at every width that can hold one so the mark is taught before it is relied on. A third exception means amending IDENTITY.md §5 first.
  5. 05Every @media is min-width.
  6. 06Capitals always letterspaced; lowercase never.
  7. 07--ml-machine marks machine work and nothing else, and always with words beside it.
  8. 08Prose never exceeds the measure.
  9. 09Touch targets at least 44px; inputs at least 16px.
  10. 10Focus is a mark-coloured outline with an offset, on :focus-visible. A glow is a shadow by another name.
  11. 11No stock photography and no synthetic illustration. Covers are typographic. A project that insists on labelling machine provenance cannot decorate itself with unlabelled synthesis.
  12. 12site.css declares no tokens. Values live in the theme.
6.0 VoiceMeaning Layer · Brand Standards
6.1

Principles

State the decision, then the reason. In that order.

Decision first because the reader may already agree and can move on. Reason second because they may not. The pattern, from Site.astro: 'The library is the front door, so the wordmark is the only way back — a nav item pointing at the page you are on is furniture for its own sake.'

Present tense, active, no throat-clearing.

Yes: 'The player lives in the layout, not on the reading page.' No: 'We've decided that it would probably make sense for the player to be located in the layout.' Never describe your own work as elegant. Make it elegant and say what it does.

Name the thing you rejected.

This is the single most characteristic move in the voice. It makes a decision unrepeatable, so nobody re-litigates it six months later, and it teaches. The strongest sentences in the codebase are the ones that close a door: 'A player that stops when you open another page is not a player, it is a preview.'

Cite when there is something to cite.

If a constraint comes from somewhere, a typographic authority, a spec, a book, say where. tokens.css gives page numbers; THESIS.md gives years and titles. Unattributed confidence is the register we are trying not to be in.

Contractions are fine. Exclamation points are not.

The voice is plain, not stiff. But nothing here is exciting enough to need a bang, and emoji do not appear in product copy, headings, or source comments.

Admit the provisional, plainly, once.

Say it in one clause and keep going. Do not apologise, do not hedge every subsequent sentence, and do not turn the admission into a personality. 'We start with a curated collection. Whether this becomes a product is not settled.' That is the whole move. Holding a sincere claim and a knowing shrug at the same time is the thesis; performing the shrug for three paragraphs is not.

The machine says so.

Any text generated or proposed by a model is labelled as such, in words, at the point of use, not in a footer disclaimer. The label is plain: 'Proposed,' 'Machine-found,' 'Unreviewed.' Never 'AI-powered.' A colour alone is not a disclosure either: the machine blue is paired with the word.

Sentence case everywhere except ml-label, which is uppercase because it is the machine's voice and is letterspaced accordingly.

This is the copy half of the letterspacing law: capitals are always letterspaced, lowercase never is. It does not mean a label must BE capitals; on a list surface, labels are sentence case and quiet.

Essay prose writes in the Jungian essayists' register; microcopy stays plain.

Hillman and Moore are the models for the publication's writing: psyche taken as real, argument through image, etymology and myth as evidence. The failure mode is pastiche; soul-language sprinkled on interface copy is worse than either register alone, so buttons, empty states, and errors keep the plain front-matter voice.

No aphorism turns or clever inversions. Say the plain version.

'One question asked in four vocabularies' and every not-X-but-Y cousin read as performed erudition. If the sentence pivots on its own cleverness, rewrite it to state the claim directly.

No em dashes in user-facing copy. Recast the sentence instead.

Use a colon, a comma, or two sentences. The dash had leaked into the site prose from drafts written outside the loop.
6.2

Write this, not that

The fastest way to hear the voice.

Do

The player lives in the layout, not on the reading page.

Don’t

We've decided that it would probably make sense for the player to be located in the layout.

Do

A player that stops when you open another page is not a player, it is a preview.

Don’t

We built a persistent player for a seamless listening experience.

Do

A real input[type=range] rather than a div: keyboard, screen readers and touch all work without reimplementing any of it.

Don’t

We leveraged a custom slider component to deliver a powerful, elegant interaction.

Do

We start with a curated collection. Whether this becomes a product is not settled.

Don’t

We're still figuring things out, and it's worth noting that this may or may not become a product, but we think there's something here.

Do

Proposed connection — unreviewed

Don’t

AI-powered smart recommendations

6.3

Vocabulary

Words we use

readingworklibrarypassageblocknoteannotationconnectioneditionmanifestationnarrationindexshelfcollectioncolophonimprintproposedmachine-foundThe Meaning LayerMeaning Layer

Words we never use

we thinkarguablyit's worth noting thatin order tosimplyjustleverageutilizeseamlesspowerfulrobustelegantcontentassetcatalogfeedplatformchunksnippetcommenthighlightrecommendationrelatedversionformatdownloadaudiobookTTStagstopicsplaylistcategoryaboutcreditsbrandAI-poweredsmartintelligentOops!Please waitTML
6.4

Prompt kit

Ready-to-run prompts for anyone writing as Meaning Layer.

Write a decision note in the house voice
source_commentcommit_bodyroadmapdesign_note

Write a {length, default: 3-5 sentence} note recording this decision: {decision}. Follow The Meaning Layer voice. State the decision first, then the reason, in that order. Name the alternative that was rejected and say why it fails, in one sentence that closes the door. Present tense, active. No 'we think,' 'arguably,' 'it's worth noting,' 'simply,' 'just,' 'leverage,' 'seamless,' 'powerful,' 'robust,' 'elegant.' No exclamation points, no emoji. If the decision is provisional, say so once in one clause and keep going.

Write interface microcopy for a surface
empty_stateerrorloadingbuttonno_results

Write the copy for this surface: {surface}. The Meaning Layer voice, sentence case. Say what is true and what to do; never apologise twice, never say 'Please wait,' never 'Oops.' Progress is a position in a text ('Passage 74 of 312'), never a percentage. If a model produced any part of what is shown, label it in words at the point of use: 'Proposed,' 'Machine-found,' or 'Unreviewed,' never 'AI-powered.' Use: reading, work, library, passage, note, connection, edition, shelf, index. Do not use: content, asset, feed, chunk, highlight, recommendation, category.

Draft a doctrine amendment
identitydesign_systemthesis

Draft an amendment to {document} §{section} permitting {change}. Follow the form the existing amendments use: state what is now permitted and where its scope ends; state what does NOT move, as a list, so nothing later reads as an oversight; draw the distinction the amendment turns on in its own words; and name the enforcement, since scope is enforced, not trusted. Close by stating what a future widening would require. Voice: declarative, specific, willing to state a reason.

Write a colophon or front-matter paragraph
colophontitle_pagefooter

Write the colophon copy for {work}. The register is a well-edited book's front matter written by someone who built the thing. Name the faces and why they were chosen, cite where any constraint came from, and sign it with the imprint: Meaning Layer, without the article. The library is The Meaning Layer, with the article; the two are not interchangeable.

8.0 Sub-brandsMeaning Layer · Brand Standards
8.1

The wider system

Meaning Layer

The library and the imprint

One name, one register. It names the library — the reading surfaces, the index, the dock, the classroom — and it signs the edition in the footer colophon, on covers, on title pages, in printed folios, and in the publisher field in EPUB and audio metadata. The masthead sets it at full width on every page. It is never used as a kicker on a page the masthead already heads. The library and the imprint are the same house; they were not, and the retired imprint was Workhorse Editions.

9.0 ApplicationsMeaning Layer · Brand Standards
9.1

In the world

digital

The library (apps/meaning)

The primary surface and the one every rule was written for. Reading pages, the dock, the player, the index, the colophon, the book view. This is where the book page is inviolate: no fill, no radius, no shadow, no colour beyond the three and the ink scale.

digital

The classroom

Charleston Southern University, Fall 2026: ART 220 Digital Illustration and ART 418 Business of Design, twenty-eight meetings each, August 24 to December 7. The course index, term chart, session brief, syllabus, and course bar are the surfaces the 2026-08 amendments were written for, and they are the reason the amendments exist at all. A reader arriving on a schedule needs to see state, so state is drawn: a raised next session, a today field, a progress track. It is the only instrument scope in the system, and every carve-out it takes stops at the reading page.

print

The editions

The print tier: exported PDFs set in Freight, with the imprint on the title page and folios in the mono. This tier ran Libre Caslon while the screen ran Blacker Pro, so a work's printed edition and its web edition were set in different faces; the 2026-09 swap ended that and re-proofed the editions rather than leaving the split standing. One source, every surface, is a shipping claim here and not a promise.

digital

The Workhorse platform

Registered as a brand so that brand, media, content, prompts and skills are shared rather than re-derived by every person and every agent that touches the work. It is the first system registered for that reason and not for a case study, and it is here to prove the platform can carry a real one: a user should be able to manage the design, hosting and content of their own app in this console. The repo stays the source of truth for the grammar; the registration is what makes the grammar legible outside it.

10.0 Design SystemMeaning Layer · Brand Standards
Live system·active·2026·Tokens on disk, rendered live·spec.json·spec.md

The classroom is an instrument

The book page is inviolate: no fill, no radius, no shadow, no colour beyond the three and the ink scale. That rule was amended in August 2026 for one scope and no others. In classroom chrome, the course index, the term chart, the session brief, the syllabus, and the course bar, functional surfaces and washes of the two existing accents are permitted, and fills may carry state. There is still no green, amber, or red, and no third hue. Done is recession, never a new colour.

The same amendment admits an edge. A filled instrument surface may take a 2px radius and a 1px inset hairline, which is the rule vocabulary moved one pixel inside the box: no blur, no offset, no glow. The distinction being drawn is between an edge and a softening. What is ruled out is roundedness as default decoration, the pill and the card floating on a drop shadow; 2px is the smallest edge a screen can state and too small to be a style.

Both carve-outs are enforced by a script, not by good intentions. check:radius-scope allows the two soft tokens to be referenced from exactly four files and fails on any border-radius that is not token-valued. Adding a third permitted surface means editing that script and amending IDENTITY.md together, which is the point: the fence and the doctrine move as one change or not at all.

Foundations / Spacing

Spacing

The brand's spacing scale and container widths. Mono-keyed for scan, not for memorization.

Scale

9 steps
14px
28px
312px
416px
524px
632px
748px
864px
sectionclamp(2rem, 6vw, 3.75rem)
1 4px. --ml-s12 8px. --ml-s23 12px. --ml-s34 16px. --ml-s4. Base5 24px. --ml-s56 32px. --ml-s67 48px. --ml-s78 64px. --ml-s8section --ml-section

Containers

5 widths
measure100%
--ml-measure. Mobile base; the real value arrives at --ml-bp-apparatus. The measure is 55 to 65 characters, 35 minimum, 75 maximum. Prose is never wider than this, anywhere.
widthcalc(var(--ml-measure) + var(--ml-margin-col) + var(--ml-gap))
--ml-width. The reading frame.
broadmin(100%, 80rem)
--ml-width-broad. THE SECOND FRAME IS CAPPED. Unbounded (a bare 100%), it put the course term chart at 1850px on a desk with its thread column a screen away from the session it glosses. A broad frame wants the whole trim on a laptop, not on a billboard.
broad-classroommin(100%, 66rem)
--ml-width-broad under [data-surface="classroom"]. GOTCHA: set the surface width as a FRAME value. Capping the classroom's blocks by hand looks right and silently breaks the dock alignment, because the dock reads the frame, not the blocks.
activevar(--ml-width)
--ml-width-active. Overridden to --ml-width-broad under [data-frame="broad"].

Foundations / Radius

Radius

Corner-radius tokens. Small UI sharp. Large surfaces soft. Pills and avatars full.

none
0

Foundations / Motion

Motion

Durations and easings. Conservative product-UI motion. Quick hovers, gentle transitions, no theatrics.

Duration

4 durations
quick
90ms
--ml-dur-quick
base
180ms
--ml-dur-base
slow
320ms
--ml-dur-slow
chrome
240ms
--ml-dur-chrome

Easing

2 curves
default
500ms
--ml-ease
out
500ms
--ml-ease-out

Components

Component library

A token-driven component set. Every component reads from the brand scope above. Swap the brand and the same components reskin without code changes.

Button

Six variants (primary, secondary, accent, neutral, ghost, outline), three sizes, default and pill shapes.

Tokens
--primary--secondary--accent--radius-md--radius-full--font-primary
Variants
Sizes
Shape
State

Input

Text input, textarea, and label. Standard size scale with hover and focus states tied to the primary token.

Tokens
--primary--base-300--background--foreground--radius-md
Sizes
State
With label

Card

Default, soft, and outlined surfaces. Composable header, body, and footer regions.

Tokens
--background--base-100--base-200--base-300--radius-lg

Default

Standard surface for product UI. Sits on the base background with a subtle border.

Soft

A muted variant for secondary content. Reads as supporting, not primary.

Outlined

Transparent background with a defined edge. Good for placement over decorated surfaces.

Badge

Status indicators and chips. Pulls from brand and status tokens for semantic meaning.

Tokens
--primary--accent--success--warning--danger--radius-full
Brand
PrimarySecondaryAccentNeutralSoft
Status
InfoSuccessWarningDanger
Size
SmallMedium

Avatar

Image or initials, four sizes, optional brand tone for placeholder fills.

Tokens
--primary--secondary--accent--neutral--radius-full
Sizes
HL
CL
EA
YL
Tones
P
S
A
N

Tabs

Underline and pill variants. Active tab uses the primary token; inactive tabs sit at 60 percent foreground.

Tokens
--primary--foreground--base-100--base-300
Underline
Active lesson workspace.
Pill
Home view content.

Patterns

Composed patterns

Pattern assemblies for Meaning Layer land in the next phase. The Foundations and Components above are the ingredients. Patterns combine them into navigation, account, and dashboard surfaces specific to this brand.

In progress

Screens

Real screens

Production-shaped screens for Meaning Layer land in the next phase. The editorial chapters above already carry the applied side; screens here will be the rendered counterparts.

In progress
Meaning Layer · Brand Standards Manual · v0.1.0 · reconstructed from the Figma brand guideFor agentsspec.mdspec.jsonllms.txtdata view