Logomark & lockup
Filled square. No stroke. Fill = foreground (or accent). JJ = background. Always. The [JJ] text string is the universal plain-text fallback.
Color system
Monochrome base. Category accents applied via data-category attribute on any ancestor element.
Type scale
Major Third ratio (×1.250). IBM Plex Mono for display and UI, IBM Plex Sans for body. Two weights only: 400 and 500.
$ 1,234.00
$ 987.50
$ 5.99
$ 1,234.00
$ 987.50
$ 5.99
Buttons
Four variants, three sizes. Accent buttons inherit --jj-accent from nearest data-category ancestor.
Form inputs
All inputs use monospace font. Focus ring inherits the active accent. Works with no JS — all validation via HTML attributes.
Cards
Two card types: content card and product card. Both use the accent bar to signal category.
GB Home
A launch ROM for custom Game Boy flash carts. Boots directly into a home menu with save state management and library organization.
GB Home
Same card with data-category="gb" on the element and .jj-card--accent for the border-left. Accent color cascades to all children automatically.
Category accent system
Add data-category="[name]" to any ancestor. All --jj-accent references inside it resolve to that category's color automatically. No extra CSS required.
Enhancement layers
Each layer is self-contained. Remove any layer and everything beneath it still works. This file is Layer 3. The token file is Layer 0.