Tokens
These tables are generated from Zeszyt’s stylesheet when the docs are built. A token renamed or changed in the code shows here on the next build, with no edit to this page.
The Overview explains the 3 tiers. The System page shows them drawn on real parts.
What each colour means, and the value it comes to in each theme. “From” names the primitive the role reads.
| Role | Light | Dark |
|---|---|---|
--jw-ground | #fffffffrom --jw-p-white | #1d1e22from --jw-p-night-25 |
--jw-card | #fffffffrom --jw-p-white | #1d1e22from --jw-p-night-25 |
--jw-prompt-card | #fffffffrom --jw-p-white | #1d1e22from --jw-p-night-25 |
--jw-ink | #22252dfrom --jw-p-paper-900 | #ece8defrom --jw-p-night-900 |
--jw-ink-soft | #50535cfrom --jw-p-paper-600 | #b9b4a7from --jw-p-night-600 |
--jw-placeholder | #726f68from --jw-p-paper-500 | #918c83from --jw-p-night-450 |
--jw-line | #e8e2d5from --jw-p-paper-200 | #373941from --jw-p-night-200 |
--jw-line-strong | #50535cfrom --jw-p-paper-600 | #b9b4a7from --jw-p-night-600 |
--jw-act | #9fbaebfrom --jw-p-ink-300 | #3a5fa8from --jw-p-ink-600 |
--jw-on-act | #0f285afrom --jw-p-ink-900 | #e6eefffrom --jw-p-ink-50 |
--jw-act-edge | #6585c2from --jw-p-ink-500 | #24407afrom --jw-p-ink-750 |
--jw-act-quiet | #f2eee6from --jw-p-paper-100 | #2a2c33from --jw-p-night-100 |
--jw-on-act-quiet | #55565cfrom --jw-p-paper-650 | #b3aea2from --jw-p-night-550 |
--jw-focus | #3a5fa8from --jw-p-ink-600 | #93b6fffrom --jw-p-ink-350 |
--jw-on-focus | #fffffffrom --jw-p-white | #0f1a33from --jw-p-ink-950 |
--jw-pick | #dce8fbfrom --jw-p-ink-100 | #1d3157from --jw-p-ink-850 |
--jw-pick-edge | #2f63b8from --jw-p-ink-650 | #7aa6f0from --jw-p-ink-400 |
--jw-pick-ink | #163a78from --jw-p-ink-800 | #d9e6fffrom --jw-p-ink-150 |
--jw-help | #fbf1d2from --jw-p-sun-100 | #3a3016from --jw-p-sun-900 |
--jw-help-edge | #a07c14from --jw-p-sun-600 | #b8973afrom --jw-p-sun-500 |
--jw-help-ink | #5a4300from --jw-p-sun-800 | #ffe7a3from --jw-p-sun-200 |
--jw-right | #e3eedcfrom --jw-p-green-100 | #26452afrom --jw-p-green-850 |
--jw-right-edge | #3f8a46from --jw-p-green-600 | #6fc477from --jw-p-green-400 |
--jw-right-ink | #25522afrom --jw-p-green-800 | #cbe9c8from --jw-p-green-150 |
--jw-right-act | #a6cf9cfrom --jw-p-green-300 | #2f6a36from --jw-p-green-700 |
--jw-on-right-act | #123a17from --jw-p-green-950 | #e2f5e0from --jw-p-green-50 |
--jw-right-act-edge | #6b9a61from --jw-p-green-500 | #1b4320from --jw-p-green-900 |
--jw-miss | #f8e5e0from --jw-p-red-100 | #682b23from --jw-p-red-850 |
--jw-miss-edge | #c4402ffrom --jw-p-red-600 | #ff8a7afrom --jw-p-red-400 |
--jw-miss-ink | #90321ffrom --jw-p-red-800 | #ffdcd5from --jw-p-red-150 |
--jw-on-miss-edge | #fffffffrom --jw-p-white | #18191dfrom --jw-p-night-0 |
--jw-miss-act | #f0b2a6from --jw-p-red-300 | #8f3a2efrom --jw-p-red-700 |
--jw-on-miss-act | #4a130bfrom --jw-p-red-950 | #ffe6e1from --jw-p-red-50 |
--jw-miss-act-edge | #c27a6dfrom --jw-p-red-500 | #5c231bfrom --jw-p-red-900 |
--jw-rest | #fffffffrom --jw-p-white | #24262cfrom --jw-p-night-75 |
--jw-rest-ink | #22252dfrom --jw-p-paper-900 | #ece8defrom --jw-p-night-900 |
Aliases
Section titled “Aliases”The names the components read. Each one reads a role, so it follows the theme.
| Alias | Light | Dark |
|---|---|---|
--background | #fffffffrom --jw-ground | #1d1e22from --jw-ground |
--foreground | #22252dfrom --jw-ink | #ece8defrom --jw-ink |
--card | #fffffffrom --jw-prompt-card | #1d1e22from --jw-prompt-card |
--card-foreground | #22252dfrom --jw-ink | #ece8defrom --jw-ink |
--popover | #fffffffrom --jw-card | #1d1e22from --jw-card |
--popover-foreground | #22252dfrom --jw-ink | #ece8defrom --jw-ink |
--primary | #3a5fa8from --jw-focus | #93b6fffrom --jw-focus |
--primary-foreground | #fffffffrom --jw-on-focus | #0f1a33from --jw-on-focus |
--secondary | #f2eee6from --jw-act-quiet | #2a2c33from --jw-act-quiet |
--secondary-foreground | #22252dfrom --jw-ink | #ece8defrom --jw-ink |
--muted | #f2eee6from --jw-act-quiet | #2a2c33from --jw-act-quiet |
--muted-foreground | #50535cfrom --jw-ink-soft | #b9b4a7from --jw-ink-soft |
--accent | #dce8fbfrom --jw-pick | #1d3157from --jw-pick |
--accent-foreground | #163a78from --jw-pick-ink | #d9e6fffrom --jw-pick-ink |
--border | #e8e2d5from --jw-line | #373941from --jw-line |
--input | #50535cfrom --jw-line-strong | #b9b4a7from --jw-line-strong |
--ring | #3a5fa8from --jw-focus | #93b6fffrom --jw-focus |
--kid-correct | #3f8a46from --jw-right-edge | #6fc477from --jw-right-edge |
--kid-correct-foreground | #123a17from --jw-on-right-act | #e2f5e0from --jw-on-right-act |
--kid-correct-action | #a6cf9cfrom --jw-right-act | #2f6a36from --jw-right-act |
--kid-correct-action-foreground | #123a17from --jw-on-right-act | #e2f5e0from --jw-on-right-act |
--kid-correct-action-edge | #6b9a61from --jw-right-act-edge | #1b4320from --jw-right-act-edge |
--kid-correct-soft | #e3eedcfrom --jw-right | #26452afrom --jw-right |
--kid-correct-ink | #25522afrom --jw-right-ink | #cbe9c8from --jw-right-ink |
--kid-try-again | #c4402ffrom --jw-miss-edge | #ff8a7afrom --jw-miss-edge |
--kid-try-again-foreground | #fffffffrom --jw-on-miss-edge | #18191dfrom --jw-on-miss-edge |
--kid-try-again-soft | #f8e5e0from --jw-miss | #682b23from --jw-miss |
--kid-try-again-ink | #90321ffrom --jw-miss-ink | #ffdcd5from --jw-miss-ink |
--kid-try-again-action | #f0b2a6from --jw-miss-act | #8f3a2efrom --jw-miss-act |
--kid-try-again-action-foreground | #4a130bfrom --jw-on-miss-act | #ffe6e1from --jw-on-miss-act |
--kid-try-again-action-edge | #c27a6dfrom --jw-miss-act-edge | #5c231bfrom --jw-miss-act-edge |
--kid-help | #fbf1d2from --jw-help | #3a3016from --jw-help |
--kid-help-edge | #a07c14from --jw-help-edge | #b8973afrom --jw-help-edge |
--kid-help-ink | #5a4300from --jw-help-ink | #ffe7a3from --jw-help-ink |
--kid-rest | #fffffffrom --jw-rest | #24262cfrom --jw-rest |
--kid-rest-ink | #22252dfrom --jw-rest-ink | #ece8defrom --jw-rest-ink |
--kid-action | #9fbaebfrom --jw-act | #3a5fa8from --jw-act |
--kid-action-foreground | #0f285afrom --jw-on-act | #e6eefffrom --jw-on-act |
--kid-action-edge | #6585c2from --jw-act-edge | #24407afrom --jw-act-edge |
--kid-action-quiet | #f2eee6from --jw-act-quiet | #2a2c33from --jw-act-quiet |
--kid-action-quiet-foreground | #55565cfrom --jw-on-act-quiet | #b3aea2from --jw-on-act-quiet |
--kid-press | 4pxfrom --jw-press | 4pxfrom --jw-press |
--kid-bar-height | 6remfrom --jw-bar-height | 6remfrom --jw-bar-height |
--kid-selected | #2f63b8from --jw-pick-edge | #7aa6f0from --jw-pick-edge |
--kid-selected-soft | #dce8fbfrom --jw-pick | #1d3157from --jw-pick |
--kid-selected-ink | #163a78from --jw-pick-ink | #d9e6fffrom --jw-pick-ink |
--kid-say-size | 2remfrom --jw-size-prompt | 2remfrom --jw-size-prompt |
--kid-answer-size | 1.625remfrom --jw-size-option | 1.625remfrom --jw-size-option |
--kid-math-size | 2.25remfrom --jw-size-math | 2.25remfrom --jw-size-math |
--font-body | 'Andika', 'Nunito Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-seriffrom --jw-font | 'Andika', 'Nunito Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-seriffrom --jw-font |
--font-sans | 'Andika', 'Nunito Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-seriffrom --jw-font | 'Andika', 'Nunito Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-seriffrom --jw-font |
--radius-sm | 0.625remfrom --jw-radius-small | 0.625remfrom --jw-radius-small |
--radius | 1remfrom --jw-radius-control | 1remfrom --jw-radius-control |
--radius-lg | 1remfrom --jw-radius-card | 1remfrom --jw-radius-card |
--radius-xl | 1remfrom --jw-radius-card | 1remfrom --jw-radius-card |
--radius-2xl | 1remfrom --jw-radius-card | 1remfrom --jw-radius-card |
--shadow-xs | nonefrom none | nonefrom none |
--shadow-sm | nonefrom none | nonefrom none |
--shadow-elevation | nonefrom none | nonefrom none |
--duration-slow | 320msfrom --jw-dur-step | 320msfrom --jw-dur-step |
--theme-icon-stroke | 2from 2 | 2from 2 |
Primitives
Section titled “Primitives”The only literal colours. Nothing outside the roles reads them.
| Primitive | Value |
|---|---|
--jw-p-paper-100 | #f2eee6 |
--jw-p-paper-200 | #e8e2d5 |
--jw-p-paper-500 | #726f68 |
--jw-p-paper-600 | #50535c |
--jw-p-paper-650 | #55565c |
--jw-p-paper-900 | #22252d |
--jw-p-white | #ffffff |
--jw-p-night-0 | #18191d |
--jw-p-night-25 | #1d1e22 |
--jw-p-night-75 | #24262c |
--jw-p-night-100 | #2a2c33 |
--jw-p-night-200 | #373941 |
--jw-p-night-450 | #918c83 |
--jw-p-night-550 | #b3aea2 |
--jw-p-night-600 | #b9b4a7 |
--jw-p-night-900 | #ece8de |
--jw-p-ink-50 | #e6eeff |
--jw-p-ink-100 | #dce8fb |
--jw-p-ink-150 | #d9e6ff |
--jw-p-ink-300 | #9fbaeb |
--jw-p-ink-350 | #93b6ff |
--jw-p-ink-400 | #7aa6f0 |
--jw-p-ink-500 | #6585c2 |
--jw-p-ink-600 | #3a5fa8 |
--jw-p-ink-650 | #2f63b8 |
--jw-p-ink-750 | #24407a |
--jw-p-ink-800 | #163a78 |
--jw-p-ink-850 | #1d3157 |
--jw-p-ink-900 | #0f285a |
--jw-p-ink-950 | #0f1a33 |
--jw-p-sun-100 | #fbf1d2 |
--jw-p-sun-200 | #ffe7a3 |
--jw-p-sun-500 | #b8973a |
--jw-p-sun-600 | #a07c14 |
--jw-p-sun-800 | #5a4300 |
--jw-p-sun-900 | #3a3016 |
--jw-p-green-50 | #e2f5e0 |
--jw-p-green-100 | #e3eedc |
--jw-p-green-150 | #cbe9c8 |
--jw-p-green-300 | #a6cf9c |
--jw-p-green-400 | #6fc477 |
--jw-p-green-500 | #6b9a61 |
--jw-p-green-600 | #3f8a46 |
--jw-p-green-700 | #2f6a36 |
--jw-p-green-800 | #25522a |
--jw-p-green-850 | #26452a |
--jw-p-green-900 | #1b4320 |
--jw-p-green-950 | #123a17 |
--jw-p-red-50 | #ffe6e1 |
--jw-p-red-100 | #f8e5e0 |
--jw-p-red-150 | #ffdcd5 |
--jw-p-red-300 | #f0b2a6 |
--jw-p-red-400 | #ff8a7a |
--jw-p-red-500 | #c27a6d |
--jw-p-red-600 | #c4402f |
--jw-p-red-700 | #8f3a2e |
--jw-p-red-800 | #90321f |
--jw-p-red-850 | #682b23 |
--jw-p-red-900 | #5c231b |
--jw-p-red-950 | #4a130b |
Type, shape, space and motion
Section titled “Type, shape, space and motion”The same in light and dark. On a phone, under 600 px wide, the type steps take smaller values: the prompt stays at 28 px or more and an option at 24 px or more. Under reduced motion every duration is 0.
| Token | Value |
|---|---|
--jw-font | 'Andika', 'Nunito Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif |
--jw-weight-text | 400 |
--jw-weight-strong | 700 |
--jw-leading | 1.3 |
--jw-size-instruction | 1.375rem |
--jw-size-prompt | 2rem |
--jw-size-option | 1.625rem |
--jw-size-math | 2.25rem |
--jw-size-verdict | 1.375rem |
--jw-size-body | 1.125rem |
--jw-size-small | 0.9375rem |
--jw-size-key | 1.875rem |
--jw-size-key-sign | 1.75rem |
--jw-size-key-strip | 1.625rem |
--jw-size-unit | 1.625rem |
--jw-size-target | 2.5rem |
--jw-control-height | 3rem |
--jw-control-height-sm | 2.75rem |
--jw-math-op-space | 0.2em |
--jw-radius-card | 1rem |
--jw-radius-control | 1rem |
--jw-radius-small | 0.625rem |
--jw-radius-chip | 9999px |
--jw-border | 2px |
--jw-press | 4px |
--jw-focus-width | 3px |
--jw-space-1 | 0.25rem |
--jw-space-2 | 0.5rem |
--jw-space-3 | 0.75rem |
--jw-space-4 | 1rem |
--jw-space-5 | 1.5rem |
--jw-space-6 | 2rem |
--jw-space-7 | 3rem |
--jw-space-8 | 4rem |
--jw-dur-fast | 120ms |
--jw-dur-mark | 120ms |
--jw-dur-band | 260ms |
--jw-dur-step | 320ms |
--jw-step-shift | 1.5rem |
--jw-dur-scroll | 320ms |
--jw-dur-tools | 200ms |
--jw-dur-tick | 400ms |
--jw-ease-out | cubic-bezier(0.22, 1, 0.36, 1) |
--jw-bar-height | 6rem |