Core primitives, restyled to the Loke brand — square corners, 2px control / 3px container borders, hard-offset shadows, Archivo Expanded display type, ink-on-bright fills. Toggle the theme (top-right) to check both. Hover / focus / press the live controls to see interaction states.
Type
Archivo Expanded (display) · Roboto (UI/body) · Roboto Mono (all numerics, tabular).
Send It
Level Up
Roboto body copy — the workhorse for UI and reading text. Clean, neutral, legible at every size across the app.
Secondary text — captions and supporting copy.
1,234,567 · 00:42.19 · +128 XP · #06
Badges / Chips
Full-pill (tags are one of the only pill shapes) · 2px border.
Inputs
Filled recessed field, 2px strong border, blue focus ring, square.
Selection controls
Tabs
Segmented (boxed, 2px stroke) or underline (the map / Global-National-Local pattern).
Avatar & Card
Progress & Skeleton
Overlays & feedback
Dialog, bottom Sheet, Dropdown, Tooltip, Toast — all with hard shadows and ink borders.
Colour
4 locked brand accents · 12-hue spectrum ramps (wash→deep) · 12-step level scale · neutrals · status. All AA-verified. Every swatch resolves from a token var — nothing hardcoded.
Brand accents (locked)
12 ramps × 5 steps
Level scale (1–12)
Neutral (cool)
Status
Semantic surfaces
Phase 2 — Loke components
The brand-defining pieces the screens compose from — level system, feed & spot cards, bottom nav, leaderboard. Built on the Phase 1 primitives.
Level system
12-step ladder — colour from the level tokens. LevelBadge (numeral) · RankChip (named pill) · XPBar.
Stats & avatars
Mono numerics. StatTile · AvatarStack (session cluster).
Search & alerts
Feed & spot cards
HeroCard (Archivo + hard shadow) · SpotCard · EngagementBar · CommentRow · MediaControl. (ClipCard retired — superseded by ClipReel, zero real-screen callers.)
Judge's seats at the Glory Challenge
Justin Tallant Had a blast at this one
Krista Molke @J.T. so rad.
Leaderboard
Engagement layer
ONE EngagementBar, driven by the §5.2 capability matrix — the controls come from the objectType, not the caller. Counts are seed + your local events, shared across every surface.
Comments
5Krista Molke so rad, that pop 🔥
Andrei Ucop old local looking good
Justin Tallant been trying this one for weeks
Tap anything above — every surface writes the same event shape.
Clip reel
The edits-style clip experience: a muted, viewport-gated preview that cycles an object's real clips and taps in to watch. Lead with this on any clip surface instead of a static cover. Two variants share one engine — sizing/borders are the caller's via className; the hero takes an overlay slot.