One Chrome and Kind Accents
Three chrome shades named by depth, one blue spine ramp for every card, and — since 2026-09-22 — one blue for every kind mark, because colour says chrome, not kind
Amendment, 2026-10-01: one heading card and one list, coloured by the space
Every container page is built from the same two parts (owner rulings
2026-10-01, settled across one sitting on the Entities/Folio/FolioCard
colour study and the live pages; GB-338): the card that heads the page,
painted strong, and the cards listed under it, on the band's light wash.
There is no banner or card design of its own for any one screen. The only
difference between pages is the space they stand in: Library space is indigo,
working space is the ground colour.
In plain terms: on the shelf a file sits on pale stock. Open it, and the same cover, now in strong colour, lies at the top of its page, half on the coloured strip and half on the white. Library rooms are indigo; your own work is the warm ground.
| Part | A listed card | The card heading the page |
|---|---|---|
| Fill at rest | the band's wash: indigo-50, or the ground | indigo-500, or gold (#e2b440) |
| Fill under the pointer | a step deeper; held, a step deeper again | indigo-600, or accent-400; the card lifts 4px |
| Name, mark glyph | the ink | white on indigo; the ink on gold |
| Small print | as on every listed card | a light tint of indigo; a deep shade of gold |
| Spine | none: clear on every rung, its 4px track still holding the layout | none |
| Corners | the card's own 12px on all four | the same |
| Shadow | none | a drop shadow under the painted card |
- The heading card is the listed large card, not a banner. A Workspace,
a Project, a Library and the Libraries directory each head with the 216px
card, guide and tags included, and the band ends behind the card's middle
(
pageFrameFeatureCardClassName). The Document page keeps the white banner until it is ruled on. - The strong colour in working space is open. Gold is the builder's pick, since the ground has no strong step of its own; the owner has not ruled on it.
- The paint moves nothing. A painted card is exactly as tall as the
unpainted one with the same words, which the
FolioSolidCardstory measures. - A listed Library or Project carries no menu. Share, Listing, Use and Delete are on the card's own page; bare paint or Enter opens the card. Superseded 2026-10-03 by The Goldie Card: every listed card has a menu, and Project and Library cards carry Share.
- Share is the icon alone in the page header, named Share for a screen reader.
The values live in src/entities/folio/ui/folio-card/folio-solid-card.ts
(the heading card, by space) and pageFrameListClassName in
src/shared/ui/molecules/page-frame/page-frame.tsx (the list).
Amendment, 2026-09-22: colour says chrome, not kind
One blue for every tier, workspace and project included (owner ruling
2026-09-22, settled across one sitting on the one-chip proto story, since
deleted now that its rulings are live). The 2026-09-16 decision below put a
hue of its own on each tier's mark — gold, pink, violet, blue, sky. That is
reversed: every kind mark's accent resolves to the module's blue, the glyph
alone tells the tiers apart, and rank is carried by card height and spacing,
never by hue. The workspace gold and the project pink are retired from the
--color-kind-* tokens; the per-kind names stay as aliases so a tier still
reads its own token.
In plain terms: the little icons are all the same blue. A folder shape means a project and a page shape means a document; the colour no longer says which.
Every glyph rests grey. A mark rests in the muted editor ink
(--color-editor-muted) on its chip. On reach — the pointer on the mark,
keyboard focus on it, or its menu open — the glyph takes the blue and the
chip takes the blue hover wash; a field's bare glyph takes only the grey
reach wash. A held card, selected or with its panel open, keeps the coloured
glyph on the firmer held tint. No caret and no tooltip on a mark's menu
trigger beyond its accessible name: the hand is enough.
One 36px chip for every folio tier. A document, a workspace and a
project draw the module's chip; the 48px chip is retired. The document's
chip and 20px title share one 48px line, the count takes a 16px line beneath
in the title column with 12px of air under it, and the card comes to 84px. A
block takes a chip of its own, 30px with a 20px glyph, resting on the card
wash so it reads as a level above the bare field glyphs; data and content
blocks share it. The numbers are src/shared/ui/atoms/mark-geometry.ts's.
The surfaces, as bound in src/app/app.css on 2026-09-22:
| Token | Value | Job |
|---|---|---|
--color-wash-rest | #F5F3ED, oklch(0.965 0.008 90) | A folio card at rest; the person's message bubble; a block's chip at rest |
--color-wash-hover | #ECE9E2, oklch(0.935 0.010 90) | The reach wash: a card under the pointer, and a held card; a field glyph's reach wash |
--color-goldie-apron | #FFF7E4, oklch(0.980 0.028 83.6) | Goldie's panel and her G disc, warmed so it stays the odd one out under a held card |
--color-text-secondary | rgb(102, 102, 102) | The count line under a name: 5.17:1 on the rest wash, up from 4.27 |
--color-kind-workspace, --color-kind-project | alias of --color-kind-module | Retired hues; one blue |
The wash is warmer and lighter than the neutral it replaces: lighter still and the white chip loses its edge. The person's turn takes the card's rest wash rather than chrome-mid — one token fewer, and the bubble is made of the same material as their card; chrome-mid keeps the name box and the hovered control. The spine is untouched by this amendment: its shape, width and ramp are the Stack's own.
What follows is the 2026-09-16 decision as made. Its chrome, spine and names-by-job sections stand; its kind-accent hues and coloured-at-rest marks are superseded as above.
Decision
Every card on the canvas is drawn in one neutral chrome, in three shades
named by depth. Colour identity moves off the card and onto its kind mark.
The spine reads one blue ramp on every card, block or folio. Owner ruling
2026-09-16, from the live document canvas, replacing the per-tone hue
ladder (indigo module, cyan data, blue content, sage document) that
stack-palette.ts carried.
In plain terms: every card is the same grey paper. The little icon in the corner tells you what kind of thing it is, and the icon is the only thing that gets a colour. (Since 2026-09-22, the icon's shape does that job and its colour is the one blue.)
The three chromes
| Token | Job |
|---|---|
--color-chrome-light | The canvas ground the cards sit on |
--color-chrome-mid | Goldie's conversation panel, the name box on every card, and a hovered control beside it |
--color-goldie-paper | The soft block behind each of Goldie's turns. Gold-50 at 40% over chrome-light |
--color-chrome-heavy | Every folio card's wash: workspace, project, document, module |
Blocks are paper and stay white. The three shades must read as three: the
pre-ruling canvas and panel were one unit apart (#faf8f5 / #faf9f6),
which is no step at all. Settled by looking (see
design-by-looking); the numbers
are the ones to move.
The spine
| Token | Job |
|---|---|
--color-spine-rest | Every card at rest. The soft frame grey |
--color-spine-hover | Pointer over the card. The strong frame grey |
--color-spine-selected | The card is the subject. The faint-control grey (muted-2) |
--color-wash-rest / -hover / -selected | A folio card's wash: chrome-heavy, then one and two warm grey steps darker (#e8e7e1, #e0ded8) |
--color-selection-wash | The hue a folio card washes toward on hover (7%) and selection (12%). blue-300 today |
One ramp for every tier (owner: "A2"). The 2026-08-23 cyan-versus-blue distinction on block spines is retired; the kind mark carries it now.
Selection settles, in the grey family (owner ruling, fourth sitting the
same day, from Notion's sidebar). A folio card rests on chrome-heavy, steps
one warm grey darker when pointed at and two when chosen; the spine steps
the same ladder one shade darker — soft frame, strong frame, muted-2. No
hue on selection. Two blue ladders were tried and retired within the day:
palette blues (blue-50 / blue-200) read as a cool material dropped on
warm stone with a lurch between the steps, and mixing blue into the stone
gave a dirty lavender rather than a warm blue. Notion, the reference the
owner brought, keeps its own selection neutral and its blue for notices on
white paper; that is the split adopted. The module mark returns to
blue-300, safe again on a grey wash. Blue-on-white for notices is a
separate task, not this ruling.
Controls match the name box (owner, same sitting): a hovered control takes chrome-mid, the colour the editable name beside it already sits on, so the header row reads as one material. Chrome-mid is lighter than the folio wash and darker than block paper, which also keeps the rule stated first: lighter on a tinted card, darker on white. The card surface binds one variable and every control reads it.
Document violet, module blue (owner call "A", the same sitting). The first build gave the document the selection blue, which read as a second selection signal beside the wash; the module's indigo then sat one step away from it. The document takes violet-400 and the module blue-400. Blocks then step down from cyan-400 to sky-400 (owner, same sitting: "cyan is too strong"), a lighter neighbour of the module's blue for the smaller thing inside it. The four palette accents then dropped one step, 400 to 300, on a live look at the module card; the workspace followed to a new gold-300 once the gold-500 read a full step stronger than the rest.
The G is a party disc, not a kind mark. Once every kind mark took a
colour, a grey G tied to the spine vanished against the selected wash; a G
drawn as a gold square then sat beside the workspace's gold square as two
of the same thing. Goldie is the other party in the conversation, so her G
wears the round badge the person's initial wears in the account corner
(partyDiscClassName), in her colourway: a gold-50 disc, the letter in
gold ink, a gold-500 ring on hover and while the panel is open. The
person's disc is neutral — chrome-heavy, soft ink, a strong-border ring —
because gold is Goldie's alone (owner, same sitting). Round is a who,
square is a what.
Amended 2026-09-28: Goldie's turns are now plain words on the panel, full column width, with no block or bubble; the person's turn keeps its bubble (Builder Goldie Lives in the Side Panel, item 16). The paragraph below is the earlier ruling.
Goldie speaks on her paper (owner, same sitting, on a second look at the message story's cream surface: a whole panel in gold was "too strong"). Each of Goldie's turns is a soft block on gold-50 diluted to 40% over the canvas — full measure, rounded, never a pill, because her replies run long. The panel itself stays chrome-mid. Diluted, not gold-50 itself, because gold-50 already means a selection fill and a changed row, and both must still stand out. The person's bubble stays chrome-heavy, so the two voices differ by shape and by colour, and the gold ties her speech to her G. The Ask inspector's header row stays on chrome-light: only the conversation body is her paper, and the header's own bottom border is the one seam — the body draws no top border of its own.
The About card has no grounds (owner, same sitting): a value inside it — the Label, the Guide — takes no box, no ring and no fill, editing or not; soft ink at rest, full ink on hover and focus, and the editing field keeps the resting box's geometry so nothing moves on focus. The chrome-mid name box belongs to the header row alone. The card's contents are set in the same mono as its "About this …" header, labels and values alike. The G stays hidden until its card is held — selected or its panel open — and never comes out on hover, so one G stands at a time.
The kind marks
Superseded on 2026-09-22 (see the amendment above): every accent token now resolves to the module's blue, and a mark rests grey. The glyphs stand.
| Kind | Icon (Lucide) | Accent token | Palette, 2026-09-16 (retired) |
|---|---|---|---|
| Workspace | LayoutGrid | --color-kind-workspace | gold-300: home shares Goldie's gold |
| Project | FolderOpen | --color-kind-project | pink-300 |
| Document | FileText | --color-kind-document | violet-300 |
| Module | Layers | --color-kind-module | blue-300 |
| Content block | Pilcrow | --color-kind-block | sky-300 |
| Data block | Braces | --color-kind-block | sky-300 |
A mark is drawn in its accent. On hover its box takes a 1px ring at the
palette's 200 step; while selected, the ring is the accent itself.
Workspace steps on the gold scale (gold-200, gold-300). A ring, not a
tint (owner call "M1", on sight of the first build): the tinted chip
pulled the eye off the title, and the G button beside the mark is already a
bordered box, so the two marks on a header row share one grammar.
Folio marks are coloured at rest. Block marks keep the 2026-09-15 hidden at rest ruling (owner: "D1"): they arrive already coloured when the row is reached for, and the tint steps apply from there. Thirty coloured marks on a page of blocks is the sight the 2026-09-15 ruling was made on.
Names by job
Code names the job (--color-spine-hover), never the palette
(blue-100). app.css is the one place a job is bound to a palette
colour, so a colour can move without a component changing. Both block
kinds bind to one accent deliberately: one token, not two that match.
Supersedes
- The
sagetone and its 25 / 50 / 100 chrome-neutral spine ramp (--color-editor-spine-chrome-neutral,--color-editor-chrome-neutral, both 2026-09-16 morning). - Per-tone spine hues in
stackSpinePalette:content,data,structural,outer. - The 2026-08-23 "cyan on data, blue on content" spine ruling.
- The 2026-08-22 and 2026-08-23 "blocks rest grey" rulings, which the single ramp now states for every tier.
Unchanged: tinted-chrome-white-paper
(folios tinted, blocks white), and the 5 / 7 / 12 card-wash ladder, which
now steps --color-chrome-heavy.
No Separate Interview Event Log
Why the app does not keep a separate interview-event log table
One Goldie Per Folio, One Agent Definition
Owner ruling 2026-09-15 — every folio has its own Goldie thread and authority, built as one agent definition instantiated with the folio as its scope parameter; every turn she is briefed on the whole document and may read any folio, while what she may propose is enforced at the filing gate.