The instant static overlay every page paints before module JS. Sweep is transform-only so it survives a blocked main thread; measured loads switch to a width fill.
One family. Chrome is ALL-CAPS and tracked — wider tracking marks higher ceremony. Sentence case belongs only to card body and tutorial copy at 10.5px.
Cyan speaks command and data. Amber speaks action and heat. Warm ink narrates. The ink ladder's alpha IS the hierarchy. New colors must join an existing family.
FACTIONS — assets/logos, white variants on dark chrome
CARD KINDS · BIOME ACCENTS
Primary commits — its fill darkens. Secondary advertises — it turns amber. Alert warns in the ember reds. Chrome hides when irrelevant; it never disables without a reason the player can read.
PRIMARY
PRIMARY · HOVER
SECONDARY
SECONDARY · HOVER
DISABLED
ALERT
AMBER CHIP
LINESTANCE CHIP
SALVAGE ◆ 21 · ▣ 8 (+3) · ⬢ 14/24 (+2)CHROME READOUT
PLATE — the sector panel's body
One card, everywhere: 118×162, radius 6, opaque face. Hover lifts −46px at 1.09 with a kind-color glow. Whole-hand dimming uses FILTER (text stays opaque over bright nebulae); a single unaffordable card recedes with opacity .55 — the codified exception.
REST · REST · PINNED HOVER · .HOT (CARDCALL) · .DIM
Screen-space text over the diorama always wears the 4-way black outline — bright suns eat unstroked type. The toggle shows why.
SLIDER — BOOTBAR GRAMMAR
TRANSFORM SLIDE, --EASE-CINE, Z BELOW CHROME — BARS THE SCENE, NEVER THE UI
30VH BAND · MARKS OFF-WHITE (BRIGHTNESS .92) · VS. AT 38% OPACITY · OUTLINED
Glow is always shadow — box or text — never a lit fill. Durations: fast .18s (touch feedback), mid .3s (state), slow .45s (scene). Container dim is filter; the cinematic ease is cubic-bezier(.4,0,.2,1).