Warm bone by day, warm near-black by night, ink that adapts, and a single oxblood that owns every accent role. Violet and blue exist for data and atmosphere only — they never take a primary action.
Every color is a role, not a value. Components never reference hex — they reference --bone, --ink, --accent, and the modes re-cast them. Both modes run the same oxblood accent, pitched dark on bone and brightened on near-black.
Warm bone field, near-black ink, deep oxblood accent. The accent steps brighten toward clay for emphasis on light ground.
Warm near-black field, bone ink, brightened oxblood accent. The same steps lift to clay and sand to hold contrast on dark ground.
Chips render live from the tokens — toggle the mode to watch the whole page re-cast.
Brand, field, paper, ink, mesh — mood without flooding components. The tri-color mesh (oxblood → blue → violet) is the only place all three hues meet.
A stippled CSS gradient at 5px, blended soft-light at ~45% opacity, applied to heroes and stages — never to text panels.
Series A is always oxblood, B blue, C violet. Warm tones are reserved for warnings and reopen paths.
Series A · --accent-bright
Series B · --cat-blue
Series C · --cat-violet
Warning · --cat-warm