Docs / Mold changelog
Versioned token API history, with git evidence.
v1 is the owner-designated November 1 release. The owner identifies the 2026-11-01 release as v1. Git has no November 1 source snapshot; its earliest tokens.css is November 2. The earliest surviving snapshot is the conservative v1 evidence baseline, not a verified copy of the November 1 publication. Later additions require v2.
Values below include light, dark and conditional alternatives. Each change is linked to the recorded commit. Local component properties are not removed APIs; combo/toast values moved to component roots. The v1 compatibility map uses the earliest surviving snapshot; later additions require v2. Since the November 1 snapshot is unavailable, shared-token users conservatively require v2 until v1 evidence can be verified. Changes of meaning can also raise a requirement.
| Token | Current values (theme/conditional alternatives) | First recorded commit |
|---|---|---|
--k-accent-contrast-surface | var(--k-bg), color(from var(--k-accent-luminance) srgb-linear calc(1 - clamp(0, calc((0.179 - r) * 10000000000), 1)) calc(1 - clamp(0, calc((0.179 - r) * 10000000000), 1)) calc(1 - clamp(0, calc((0.179 - r) * 10000000000), 1))) | c6982b8 |
--k-accent-hover | color-mix(in srgb,var(--k-accent) 90%,var(--k-accent-contrast-surface)) | c6982b8 |
--k-accent-luminance | color(from var(--k-accent) srgb-linear calc(r * 0.2126 + g * 0.7152 + b * 0.0722) calc(r * 0.2126 + g * 0.7152 + b * 0.0722) calc(r * 0.2126 + g * 0.7152 + b * 0.0722)) | c6982b8 |
--k-asagi-100 | #d7f0f3 | 55968f1 |
--k-asagi-200 | #b0e0e7 | 55968f1 |
--k-asagi-300 | #7fc9d4 | 55968f1 |
--k-asagi-400 | #4fb0bf | 55968f1 |
--k-asagi-50 | #eef9fa | 55968f1 |
--k-asagi-500 | #33a6b8 | 55968f1 |
--k-asagi-600 | #29889a | 55968f1 |
--k-asagi-700 | #206b79 | 55968f1 |
--k-asagi-800 | #1a5561 | 55968f1 |
--k-asagi-900 | #143f47 | 55968f1 |
--k-backdrop | color-mix(in srgb,var(--k-zinc-900) 45%,transparent), color-mix(in srgb,var(--k-zinc-950) 70%,transparent) | ee7d179 |
--k-dur-base | calc(180ms * var(--k-mscale)) | fd010dc |
--k-dur-fast | calc(130ms * var(--k-mscale)) | fd010dc |
--k-dur-slow | calc(220ms * var(--k-mscale)) | fd010dc |
--k-ease-bounce | cubic-bezier(.3,2.2,.45,1) | fd010dc |
--k-ease-in-out | cubic-bezier(.6,0,.2,1) | fd010dc |
--k-ease-out | var(--k-ease-in-out) | fd010dc |
--k-ease-spring | cubic-bezier(.3,1.2,.4,1) | fd010dc |
--k-lh-body | 1.7 | 223e972 |
--k-lh-display | 1.1 | 223e972 |
--k-lh-heading | 1.3 | 223e972 |
--k-lh-loose | 1.85 | 223e972 |
--k-ls-body | .012em | 223e972 |
--k-ls-caps | .1em | 223e972 |
--k-ls-cjk | .06em | 223e972 |
--k-ls-cjk-small | .05em | 223e972 |
--k-ls-display | -.025em | 223e972 |
--k-ls-heading | -.015em | 223e972 |
--k-ls-mono | .02em | 223e972 |
--k-ls-small | .01em | 223e972 |
--k-mold | 2 | 91a9ef1 |
--k-mscale | 1, 0 !important | fd010dc |
--k-on-accent | var(--k-ink), color(from var(--k-accent-luminance) srgb-linear max(clamp(0, calc((0.179 - r) * 10000000000), 1), min(0.00913405870222, calc(max(0, calc((r + 0.05) / 4.6 - 0.05)) * 0.985771509405))) max(clamp(0, calc((0.179 - r) * 10000000000), 1), min(0.00913405870222, calc(max(0, calc((r + 0.05) / 4.6 - 0.05)) * 0.985771509405))) max(clamp(0, calc((0.179 - r) * 10000000000), 1), min(0.0109600940065, calc(max(0, calc((r + 0.05) / 4.6 - 0.05)) * 1.18284201626)))) | c6982b8 |
--k-radius-md | var(--k-radius) | ee7d179 |
--k-radius-xl | calc(var(--k-radius) * 2) | ee7d179 |
--k-radius-xs | calc(var(--k-radius) * 0.375) | ee7d179 |
--k-ring-inset | inset 0 0 0 1px currentColor | ee7d179 |
--k-ring-line | 0 0 0 1px var(--k-line) | ee7d179 |
--k-ring-offset | 0 0 0 2px var(--k-bg), 0 0 0 4px var(--k-accent) | ee7d179 |
--k-ring-selected | 0 0 0 2px var(--k-ink) | ee7d179 |
--k-shadow-modal | 0 30px 80px -20px rgba(0,0,0,.4), 0 30px 80px -20px rgba(0,0,0,.65) | ee7d179 |
--k-shadow-overlay | var(--k-shadow-pop) | d51182e |
--k-shadow-pop | 0 20px 44px -14px rgba(16,24,40,.22), 0 20px 44px -14px rgba(0,0,0,.55) | ee7d179 |
--k-shadow-sm | 0 1px 4px rgba(16,24,40,.18), 0 1px 4px rgba(0,0,0,.35) | ee7d179 |
--k-shadow-xs | 0 1px 2px rgba(16,24,40,.05), 0 1px 2px rgba(0,0,0,.25) | ee7d179 |
--k-tsutsuji | #e95295 | 2fa7cdc |
--k-yamabuki | #ffb11b | 55968f1 |
--k-yamabuki-bg | rgba(255,177,27,.12) | 55968f1 |
--k-yamabuki-ink | #876019, #f6c555 | 55968f1 |
--k-yamabuki-line | rgba(255,177,27,.3) | 55968f1 |
--k-z-overlay | 50 | d51182e |
| Token | Added value | Commit |
|---|---|---|
--k-combo-check-icon | 14px | 6aa3df8 |
--k-combo-chevron-bottom | 11px | 6aa3df8 |
--k-combo-chevron-end | 11px | 6aa3df8 |
--k-combo-focus-width | 2px | 6aa3df8 |
--k-combo-gap | 6px | 6aa3df8 |
--k-combo-icon | 15px | 6aa3df8 |
--k-combo-input-end | 34px | 6aa3df8 |
--k-combo-input-size | 16px | 6aa3df8 |
--k-combo-max-height | 238px | 6aa3df8 |
--k-combo-option-inline | 10px | 6aa3df8 |
--k-combo-popup-padding | 5px | 6aa3df8 |
--k-combo-shadow | 0 20px 44px -14px rgba(16,24,40,.22) | 6aa3df8 |
--k-combo-sr-size | 1px | 6aa3df8 |
--k-combo-width | 300px | 6aa3df8 |
--k-combo-z | 50 | 6aa3df8 |
--k-btn-disabled-opacity | .45 | 6f06c46 |
--k-btn-gap | 7px | 6f06c46 |
--k-btn-height-lg | 44px | 6f06c46 |
--k-btn-height-md | 38px | 6f06c46 |
--k-btn-height-sm | 32px | 6f06c46 |
--k-btn-inset | inset 0 0 0 1px currentColor | 6f06c46 |
--k-btn-pad-lg | 20px | 6f06c46 |
--k-btn-press | .5px | 6f06c46 |
--k-btn-shadow | 0 1px 2px rgba(16,24,40,.05) | 6f06c46 |
--k-btn-spin-duration | 700ms | 6f06c46 |
--k-btn-spin-turn | 360deg | 6f06c46 |
--k-btn-spinner-border | 2px | 6f06c46 |
--k-btn-spinner-size | 14px | 6f06c46 |
--k-btn-spinner-track | color-mix(in srgb,currentColor 35%,transparent) | 6f06c46 |
--k-btn-text-lg | 14px | 6f06c46 |
--k-btn-weight | 500 | 6f06c46 |
| Token | Before | After | Commit |
|---|---|---|---|
--k-accent | #0e9594 | #33a6b8 | 55968f1 |
--k-accent-bg | rgba(14,149,148,.08) | rgba(51,166,184,.08) | 55968f1 |
--k-accent-bg-strong | rgba(14,149,148,.1) | rgba(51,166,184,.1) | 55968f1 |
--k-accent-ink | #0b7372 | #2dd4bf | #165e83 | #81c7d4 | 55968f1 |
--k-accent-line | rgba(14,149,148,.18) | rgba(51,166,184,.18) | 55968f1 |
--k-danger | #dc2626 | #c9171e | 55968f1 |
--k-danger-bg | rgba(220,38,38,.07) | rgba(201,23,30,.07) | 55968f1 |
--k-danger-ink | #b91c1c | #fca5a5 | #b7282e | #f596aa | 55968f1 |
--k-danger-line | rgba(220,38,38,.17) | rgba(201,23,30,.17) | 55968f1 |
--k-danger-ring | rgba(220,38,38,.14) | rgba(201,23,30,.14) | 55968f1 |
--k-ring-danger | 0 0 0 3px rgba(220,38,38,.14) | 0 0 0 3px rgba(201,23,30,.14) | 55968f1 |
--k-success | #34d399 | #5dac81 | 55968f1 |
--k-success-bg | #ecfdf5 | rgba(93,172,129,.1) | 55968f1 |
--k-success-ink | #047857 | #1b813e | 55968f1 |
--k-success-line | #a7f3d0 | rgba(93,172,129,.32) | 55968f1 |
--k-radius-full | 99px | 999px | ee7d179 |
--k-radius-lg | 12px | calc(var(--k-radius) * 1.5) | ee7d179 |
--k-radius-sm | 6px | calc(var(--k-radius) * 0.75) | ee7d179 |
--k-shadow-overlay | 0 18px 44px -14px rgba(16,24,40,.28) | var(--k-shadow-pop) | ee7d179 |
--k-accent-ink | #165e83 | #81c7d4 | #165e83 | #81c7d4 | oklch(from var(--k-accent) min(l, 0.48) c h) | oklch(from var(--k-accent) max(l, 0.78) c h) | c6982b8 |
--k-danger-ink | #b7282e | #f596aa | #b7282e | #f28b90 | c6982b8 |
--k-ink-3 | #a1a1aa | #71717a | #71717a | #90909a | c6982b8 |
--k-yamabuki-ink | #9b6e23 | #f6c555 | #876019 | #f6c555 | c6982b8 |
--k-dur-1 | 130ms | var(--k-dur-fast) | fd010dc |
--k-dur-2 | 180ms | var(--k-dur-base) | fd010dc |
--k-dur-3 | 220ms | var(--k-dur-slow) | fd010dc |
| Token | Removed values | Commit |
|---|---|---|
--k-amber | #f59e0b | 55968f1 |
--k-amber-bg | rgba(245,158,11,.08) | 55968f1 |
--k-amber-ink | #b45309 | #fcd34d | 55968f1 |
--k-amber-line | rgba(245,158,11,.18) | 55968f1 |
--k-teal-100 | #d7f2f0 | 55968f1 |
--k-teal-200 | #b0e5e2 | 55968f1 |
--k-teal-300 | #7fd1cd | 55968f1 |
--k-teal-400 | #3fb3ae | 55968f1 |
--k-teal-50 | #effaf9 | 55968f1 |
--k-teal-500 | #0e9594 | 55968f1 |
--k-teal-600 | #0b7a78 | 55968f1 |
--k-teal-700 | #0b7372 | 55968f1 |
--k-teal-800 | #0a5c5b | 55968f1 |
--k-teal-900 | #083f3e | 55968f1 |
--k-btn-disabled-opacity | .45 | d51182e |
--k-btn-gap | 7px | d51182e |
--k-btn-height-lg | 44px | d51182e |
--k-btn-height-md | 38px | d51182e |
--k-btn-height-sm | 32px | d51182e |
--k-btn-inset | inset 0 0 0 1px currentColor | d51182e |
--k-btn-pad-lg | 20px | d51182e |
--k-btn-press | .5px | d51182e |
--k-btn-shadow | 0 1px 2px rgba(16,24,40,.05) | d51182e |
--k-btn-spin-duration | 700ms | d51182e |
--k-btn-spin-turn | 360deg | d51182e |
--k-btn-spinner-border | 2px | d51182e |
--k-btn-spinner-size | 14px | d51182e |
--k-btn-spinner-track | color-mix(in srgb,currentColor 35%,transparent) | d51182e |
--k-btn-text-lg | 14px | d51182e |
--k-btn-weight | 500 | d51182e |
--k-combo-check-icon | 14px | d51182e |
--k-combo-chevron-bottom | 11px | d51182e |
--k-combo-chevron-end | 11px | d51182e |
--k-combo-focus-width | 2px | d51182e |
--k-combo-gap | 6px | d51182e |
--k-combo-icon | 15px | d51182e |
--k-combo-input-end | 34px | d51182e |
--k-combo-input-size | 16px | d51182e |
--k-combo-max-height | 238px | d51182e |
--k-combo-option-inline | 10px | d51182e |
--k-combo-popup-padding | 5px | d51182e |
--k-combo-shadow | 0 20px 44px -14px rgba(16,24,40,.22) | d51182e |
--k-combo-sr-size | 1px | d51182e |
--k-combo-width | 300px | d51182e |
--k-combo-z | 50 | d51182e |
--k-toast-ink | #f4f4f5 | 1db2d12 |
--k-toast-sub | #a1a1aa | 1db2d12 |
| Tokens | Reason | Commit |
|---|---|---|
--k-dur-1, --k-dur-2, --k-dur-3 | Numbered durations now alias scaled fast/base/slow values. Remove an extra multiplier at call sites. | fd010dc |
--k-mscale | The external multiplier now has a shared default of 1; reduced motion sets it to zero. Scoped loop ownership was included in the merged PR. | fd010dc |
Introduction · Getting Started · CLI · Theming · Dark Mode · Accessibility · Installation · Plain HTML · Astro · Laravel · React & Next.js · JavaScript · Guide: Building a Dashboard · Guide: Building a Settings Page · Guide: Building a Pricing Page · Guide: Sign-in & Account Pages · Guide: Forms, For Real · Guide: Data Tables That Survive Real Data · AI Prompts · Why Vanilla · The Mold · Anatomy of a Part · Coming from Tailwind · KATA vs shadcn/ui · FAQ · Registry · Forms · MCP Server · RTL · Contributing · Changelog · Update your mold