ZapInto internals
The Design Framework
Every page on ZapInto answers to the rules on this page. They exist because consistency is a feature: when spacing, type and color behave the same way everywhere, players stop noticing the interface and keep noticing the game. This is a living document — rules are added when the owner rules, never before.
01Tokens
Seven colors, two themes. Five carry the daily work; warm cream and muted gold are rare accents — warmth and prestige, spent on special occasions. The palette is closed, but it is a palette, not a cage.
light theme
- background#e5e5e5
- foreground#333333
- border#c5c5c5
- light-text#636363
- primary#C1571C
- cream#f4e7b6rare
- gold#b59a4frare
dark theme
- background#151515
- foreground#e5e5e5
- border#353535
- light-text#999999
- primary#C1571C
- cream#f4e7b6rare
- gold#b59a4frare
02Type: Poppins speaks, Mono counts
Poppins is the voice — every word, label, heading and button. Space Mono exists for one job only: digits. Numbers, dates, counters, scores. If it can be read aloud as a word, it is not mono. Headings are weight 500 — the site speaks, it does not shout.
✓ Right
Best run 2,490 Volts · member since Jul 9, 2026
Words in Poppins, digits in mono.
✕ Wrong
Best run follows you forever
A sentence in mono — the retired habit this law exists to kill.
03Spacing: the 15px rhythm
Stacked full-width rows sit 15px apart. Sections pad 15px on every side, uniformly. Tight inline clusters (chips, icon rows) may use 10px. Nothing earns its size through empty space — a section too empty to fill is a section that needs more to say, not bigger digits.
04Buttons: 48px, outlined, weight 500
One button, one law: 48px tall, 2px text-color border, transparent body, uppercase Poppins at weight 500, filling on hover. Orange borders are reserved for the one special action of a surface — never more than one per view.
05The orange budget
Primary #C1571C is loud on purpose — emphasis is its whole job, and it should flash where it lands. The budget controls how often it lands, not how bright it is: the selected state, the one special action, a small point of emphasis. What it may not do is bleed — filling banners edge to edge, painting large numerals, framing whole sections. When everything flashes, nothing does. Cream and gold obey the same budget, at even lower frequency.
06Backgrounds: the pattern library
Five named patterns, used one at a time, always subtle. Heroes may layer the ghost Z over a paper; content cards stay plain.
07Iconography: curated, never improvised
Icons are Google Material Symbols, each wrapped as a component with currentColor fill. The set is curated by the owner: when a design needs an icon that does not exist yet, it is requested and provided — never hand-drawn, never an emoji, never a unicode stand-in.
08Frames: border and shadow match
A framed surface pairs its border with an equal shadow: 2px border carries a 2px offset shadow, 4px carries 4px. Never mixed — a heavy throw under a thin line (or the reverse) is how a page starts feeling subtly wrong without anyone knowing why.
09Numbers earn their size
A digit's size must come from its meaning, not from empty space around it. Giant numerals that exist to fill a quiet section are a confession — the section needed more to say. Data gets mono, context gets sentences, and nothing on a page should need a telescope or produce vertigo.
The scale (ruled 2026-07-25): ONE hero figure per page at 40px max · secondary figures 24–28px · tertiary 16–18px. Donut numbers are drawn inside the graphic and scale with it — exempt from this scale (ruled 2026-07-31).
10Dates and chips are words
Mono is for pure digit tokens only. A date ("Jul 25, 2026") contains a word, so the whole date sets in Poppins. Status chips, mode tags and level pills (Castle, Quiz, ZapCore, Locked) are words in bordered slots — Poppins 500, uppercase, tracked — never mono, never improvised abbreviations when a real name fits ("Zapegory Level 1", not "GEN"). Exception (ruled 2026-07-31): map coordinates ("C:4") count as data tokens and set in mono, letter included.
11Empty sections don't advertise
A section with nothing in it shows its head and one honest sentence — and NO link to its full page, because an empty section's full page is an equally empty dead end. The link earns its place back with the first real row. Catalog pages that are never empty (the badge ladders) keep their links.
Pending rulings
Not yet law — listed here so nobody mistakes habit for rule:
- The single shared Button component (the law exists above; the one-primitive consolidation is scheduled).
- Carousel arrows: below-the-strip navigation (ZapFolio) vs side arrows (badge wall) — one language may win later.
Questions about a rule, or a page that seems to break one? Tell us — consistency bugs are bugs.