53 tokens · 5 controls · targets: game (..\tandemonium-ui), lab (.)
| game | lab | |
|---|---|---|
| tokens.css linked | ✓ | ✓ |
| kit loaded | ✓ | ✓ |
| uf-* elements in HTML | 45 | 98 |
| uf-* created in JS | 4 | 61 |
| raw <button> still in HTML | 87 | 0 |
| raw buttons still created in JS | 8 | 0 |
| var(--uf-*) references in page CSS | 99 | 318 |
| literal hex colours in page CSS (distinct / total) | 50 / 146 | 74 / 121 |
| literal font stacks in page CSS | ui-monospace, SFMono-Regular, Menlo, monospaceGeorgia, 'Times New Roman', serifsystem-ui, -apple-system, "Segoe UI", Roboto, sans-serif'Noteworthy', 'Bradley Hand', fantasy | var(--mono)-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serifui-monospace, SFMono-Regular, Menlo, monospace |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-color-bg | #0b0d12 | 0 | lab: page gradient base | |
--uf-color-surface | #1a1a2e | 0 | game: panels / cards | |
--uf-color-surface-2 | rgba(255,255,255,.10) | 2 | game .lobby-btn fill | |
--uf-color-surface-3 | rgba(255,255,255,.04) | 1 | ||
--uf-color-line | rgba(255,255,255,.40) | 1 | game .lobby-btn border | |
--uf-color-line-soft | rgba(255,255,255,.16) | 2 | ||
--uf-color-scrim | rgba(0,0,0,.60) | 1 |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-color-fg | #ffffff | 4 | game: 61 uses of #fff | |
--uf-color-fg-muted | #8a93a6 | 3 | ||
--uf-color-fg-on-accent | #06140c | 2 |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-color-accent | #44ff66 | 3 | ||
--uf-color-accent-soft | rgba(60,200,80,.25) | 1 | game .lobby-btn-accent fill | |
--uf-color-accent-line | rgba(60,200,80,.60) | 1 | ||
--uf-color-accent-2 | #ffd23f | 0 | game gold, 26 uses | |
--uf-color-warn | var(--uf-color-accent-2) | 1 | ||
--uf-color-danger | #ff4444 | 2 | ||
--uf-color-danger-soft | rgba(255,68,68,.18) | 2 | ||
--uf-color-info | #4488ff | 0 | shared by game + lab | |
--uf-color-info-soft | rgba(103,193,245,.16) | 1 | game .cta-btn fill | |
--uf-color-info-line | rgba(103,193,245,.50) | 1 | ||
--uf-color-info-fg | #bfe6ff | 1 | ||
--uf-color-versus | #c898ff | 1 | game .lobby-btn-versus | |
--uf-color-versus-soft | rgba(160,64,255,.18) | 1 | ||
--uf-color-versus-line | rgba(160,64,255,.65) | 1 |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-color-captain | #7ae09a | 1 | ||
--uf-color-stoker | #ff9e6b | 1 | ||
--uf-color-team-a | #4c7dff | 1 | game --versus-team-a · P1/P3 lightbar blue | |
--uf-color-team-b | #ff4560 | 1 | game --versus-team-b · --tandem-player2 |
| token | value | used by | note | |
|---|---|---|---|---|
| Tandemonium Ride Together | --uf-font-ui | 'Helvetica Neue', Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif | 3 | |
| Tandemonium Ride Together | --uf-font-mono | ui-monospace, 'Cascadia Mono', SFMono-Regular, Menlo, monospace | 2 | |
| Ag | --uf-size-xs | 10px | 3 | 24 uses |
| Ag | --uf-size-sm | 12px | 3 | 11px+12px+13px = 100 uses in the game: collapse to one |
| Ag | --uf-size-md | 16px | 1 | game .lobby-btn |
| Ag | --uf-size-lg | 18px | 1 | |
| Ag | --uf-size-xl | 22px | 1 | |
| Ag | --uf-size-2xl | 28px | 0 | |
| Ag | --uf-size-hero | 64px | 0 |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-space-1 | 4px | 2 | ||
--uf-space-5 | 24px | 1 |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-radius-sm | 6px | 3 | ||
--uf-radius-md | 10px | 1 | ||
--uf-radius-lg | 14px | 1 | game .lobby-btn | |
--uf-radius-pill | 999px | 0 |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-shadow-card | 0 12px 34px -14px rgba(0,0,0,.8) | 1 | ||
--uf-focus-ring | 0 0 0 3px var(--uf-color-accent) | 1 | ||
--uf-glow-accent | 0 0 18px -4px var(--uf-color-accent) | 0 |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-motion-fast | 120ms | 1 | ||
--uf-motion-base | 180ms | 2 | ||
--uf-ease | cubic-bezier(.2,.8,.2,1) | 2 |
| token | value | used by | note | |
|---|---|---|---|---|
--uf-z-hud | 10 | 0 | ||
--uf-z-sheet | 50 | 0 | ||
--uf-z-modal | 60 | 0 | ||
--uf-z-toast | 90 | 0 |
| token | value | when |
|---|---|---|
--uf-size-sm | 14px | @media (min-width: 1600px) |
--uf-motion-fast | 0ms | @media (prefers-reduced-motion: reduce) |
<uf-button> the one button: every CTA, menu entry and option in both repos.| prop | attribute | type | default |
|---|---|---|---|
label | label | string | "" |
variant | variant | primaryaccentghostdangerversus | primary |
size | size | xssmmdlg | md |
disabled | disabled | boolean | false |
selected | selected | boolean | false |
<uf-chip> a small status tag (READY, ASSIGNED, AVAILABLE, P1).| prop | attribute | type | default |
|---|---|---|---|
label | label | string | "" |
tone | tone | neutralaccentinfowarndanger | neutral |
<uf-flow> hosts uf-steps; exactly one is active; go()/back() with history.| prop | attribute | type | default |
|---|---|---|---|
current | current | string | "" |
<uf-seat> a seat in the lobby: who sits here, on what controller, and whether they are ready.| prop | attribute | type | default |
|---|---|---|---|
seat | seat | string | Captain |
who | who | string | OPEN |
dev | dev | string | "" |
state | state | openjoinedreadylocked | open |
tone | tone | captainstokerteam-ateam-b | captain |
badge | badge | string | "" |
<uf-step> one screen of a flow: optional prompt above and hint below the authored content.| prop | attribute | type | default |
|---|---|---|---|
prompt | prompt | string | "" |
hint | hint | string | "" |
active | active | boolean | false |