col.css v1.0.0

Design system

Blue ink on ruled ground

One stylesheet for every web tool in the project. Flat fills, tight corners, and borders that are meant to be seen — the line does the work a shadow or a gradient would do elsewhere.

Package
col.css
Version
1.0.0
Themes
Paper · Blueprint
Min contrast
4.5:1

Palette

Two blues carry the whole system: azure is the ink, cyan is the drawn line. Everything else is a status colour and appears nowhere decorative.

50 100 200 300 400 500 600 700 800 900 950

Azure — the ink brand, fills, links, focus rings

200 300 400 500 600 700

Cyan — the line eyebrows, active tabs, corner ticks, anything that reads as live

50 100 200 300 400 500 600 700 800 900

Neutrals tilted cool — 300 and 400 are the borders you see everywhere

ok ok·d warn warn·d danger danger·d

Status light value, then dark — never used decoratively

Buttons

Link as button
tab to the file button — the label shows the focus ring on the hidden input's behalf

The outline button is the default voice here — on a drawing, most things are an edge rather than a fill. Keep the solid one for the single action a page is actually for.

Forms

Unit orders
Map overlays

Sizes, cells and a slider

Zoom Disabled
Offset Name

The <label> wrapper is what makes each caption the input's accessible name, with no id/for pair to generate. The row above it shows a .col-row holding a check and a switch without either one's stacked-form bottom margin.

Navigation and data

ColonyFoundedPopStatus Warehouse
Jamestown16078 growing
Plymouth16205 stable
Roanoke15853 short of food
Fort Nassau16142 starving
New Amsterdam—0 not founded
growing stable short of food starving not founded 12 colonies Atlantic route 34 units

Structure

A vertical index on the left, the record it selects on the right — the shape of a tool that edits one thing out of many.

Colonies

Colony record, +0x0e

name +0x00 · 24b
bells high +0x1d
Accumulated liberty bells. Reset when a new statesman is produced.
nation +0x1f
unknown_20 +0x20 · 2b
Meaning not established. Shown so it can be edited, muted so it does not compete with the rows that are known.
All 142 bytes of the globals block

The fields nothing has claimed yet. Opened by the people who are mapping the format, folded away for everyone else.

turn +0x02
unknown_06 +0x06 · 4b

Status as text, for the one-word verdict inside a sentence: the checksum is valid, two fields are unmapped, and the colony count is out of range. All three clear 4.5:1 on every surface in both themes — the same bar the contrast suite holds the rest of the palette to.

Figures

Colonists
218 / 300
across every colony
Treasury
1 240 gold
after this turn's upkeep
Liberty bells
64/turn
next founding father in 4 turns
Loaded file
COLONY07_DECLARE.SAV
a name, not a figure — 30px would wrap it out of the tile

Warehouse, New Amsterdam

34% tobacco 22% furs 17% lumber 15% tools 12% free

Corner ticks

Add --ticks when a card should read as a detail drawing rather than a container.

Hoverable

The edge brightens instead of the card lifting. Nothing here floats.

Notices, prose, code

Default. A neutral aside in the ink colour.

Ready. The warehouse has room for this turn's production.

Careful. Food stores fall below zero in three turns at this rate.

Blocked. A colony cannot be founded on water.

4.5:1
minimum contrast for any text token, in both themes
6px
the largest radius in the system; nothing is a pill
2
durations, and two z-indexes — if you need a third, something else is wrong

Inline code, a highlighted phrase, and a shortcut: press D to flip the theme.

npm install
npm run dev      # watch + serve on :8000
npm run check    # build, lint, test

Disband this unit?

The veteran dragoon at 42, 17 will be removed from the map. This cannot be undone.