Foundations
Color, type, space, elevation, and motion — with contrast ratios computed from the tokens and checked by hand, not typed by guess.
Design system
Gloss is the design system for Arbitrary Definitions — a personal umbrella for self-hosted, single-user tools, never a SaaS product. It is not a company's design system; it is one person's. Nothing in it is derived from a brief; every value was chosen once, named, and kept consistent since. Any project under the umbrella keeps its own accent color and typographic mood; Gloss is what they all share underneath.
assets/css/tokens.css is one hand-maintained, hand-readable file of CSS
custom properties — the palette ramps, the semantic aliases, the dark theme,
and a prefers-reduced-motion override. The component stylesheets read
var(--gl-*) and nothing else.
The tables and swatches on these pages are static too — transcribed once
from the token values, not recomputed on every build. If a hex changes in
tokens.css, the swatch and the button are updated by hand together, the
same afternoon.
Color, type, space, elevation, and motion — with contrast ratios computed from the tokens and checked by hand, not typed by guess.
Sixteen components across core, forms, feedback, and navigation, each rendered live next to the exact markup that produced it.
Loop and Archive — a task dashboard and a capture app — put every component family in one screen at once.
Three people have called it "yellow" in review this month. There is no
caution token in this system — only --gl-color-success and
--gl-color-danger, fixed across every project.
<article class="card" data-elevated style="max-width: 26rem;">
<div class="card-body">
<div class="badge-set">
<span class="badge" data-tone="accent">Recommended</span>
<span class="badge">Unassigned</span>
</div>
<h3>Rename the caution color</h3>
<p>
Three people have called it "yellow" in review this month. There is no
caution token in this system — only <code>--gl-color-success</code> and
<code>--gl-color-danger</code>, fixed across every project.
</p>
</div>
<div class="card-footer">
<button data-variant="primary" data-size="sm">Approve</button>
<button data-variant="ghost" data-size="sm">Dismiss</button>
</div>
</article>
Plain, unhurried, never marketing copy. “Take a photo or pick a file to keep.” — not “Effortlessly supercharge your workflow!” These are tools for one person or household; copy never addresses “you” as a customer, and an empty state just states the fact: “Nothing tracked yet.”
Everything the system needs is three stylesheets and, for most components, no JavaScript at all.
<link rel="stylesheet" href="tokens.css">
<link rel="stylesheet" href="base.css">
<link rel="stylesheet" href="components.css">
See Using the CSS for the details, including how to retheme the whole thing by overriding a dozen custom properties.