| Surfaces |
| --bg Page background | oklch(.985 .003 255) #f9fafc | oklch(.17 .012 258) #0c1015 | surface or hairline, no text |
| --side Sidebar, footer, alternate sections | oklch(.958 .006 255) #eef1f5 | oklch(.205 .014 258) #13171e | surface or hairline, no text |
| --panel Cards, inputs, dialogs | oklch(1 0 0) #ffffff | oklch(.225 .014 258) #181c22 | surface or hairline, no text |
| --panel2 Code, table hover, empty states | oklch(.972 .004 255) #f4f6f8 | oklch(.2 .013 258) #12161c | surface or hairline, no text |
| Text |
| --fg Body text and headings | oklch(.2 .018 258) #11161e | oklch(.945 .006 258) #eaedf1 | on bg 17.34 / 16.28 AAA on panel 18.10 / 14.56 AAA on side 16.02 / 15.25 AAA on panel2 16.70 / 15.41 AAA |
| --mute Secondary text | oklch(.45 .02 258) #4e5661 | oklch(.72 .015 258) #9fa5ae | on bg 7.12 / 7.71 AAA on panel 7.43 / 6.90 AA on side 6.58 / 7.22 AA on panel2 6.86 / 7.30 AA |
| --faint Hints, placeholders, captions | oklch(.52 .018 258) #636974 | oklch(.66 .016 258) #8c939c | on bg 5.27 / 6.15 AA on panel 5.50 / 5.50 AA on side 4.87 / 5.76 AA on panel2 5.08 / 5.82 AA |
| Lines |
| --line Borders, dividers | oklch(.875 .008 255) #d2d6db | oklch(.34 .016 258) #333840 | surface or hairline, no text |
| --line2 Row separators inside tables | oklch(.93 .005 255) #e6e8eb | oklch(.28 .014 258) #252930 | surface or hairline, no text |
| --line-strong Hover borders, empty-state dashes | oklch(.75 .012 255) #a9aeb6 | oklch(.46 .02 258) #515963 | on bg 2.13 / 2.68 hairline |
| --ctl-border Form control borders (WCAG 1.4.11, 3:1) | oklch(.62 .014 256) #81878f | oklch(.54 .014 258) #6a6f77 | on bg 3.49 / 3.78 FAIL on panel 3.64 / 3.38 FAIL on side 3.22 / 3.54 FAIL on panel2 3.36 / 3.58 FAIL |
| Ember accent |
| --acc Text-safe ember: links, eyebrows, highlights, focus ring | oklch(.53 .14 50) #a94e00 | oklch(.76 .16 52) #ff9044 | on bg 5.34 / 8.49 AA on panel 5.57 / 7.59 AA on side 4.93 / 7.95 AA on panel2 5.14 / 8.03 AA on acc-soft 4.84 / 6.17 AA |
| --acc-fg Text on a solid --acc fill | oklch(.995 .004 60) #fffdfb | oklch(.2 .02 55) #1d140d | on acc 5.49 / 8.06 AA |
| --acc-soft Accent tint behind badges and selection | oklch(.955 .03 55) #ffebde | oklch(.3 .06 45) #462312 | surface or hairline, no text |
| --acc-line Accent hairline | oklch(.82 .09 48) #f5b391 | oklch(.5 .12 48) #984a1a | surface or hairline, no text |
| --ember Brand fill: logo, primary button, marks. Never text | oklch(.72 .175 52) #f77f20 | oklch(.76 .16 52) #ff9044 | surface or hairline, no text |
| --ember-fg Ink on the ember fill (primary button label) | oklch(.2 .02 55) #1d140d | oklch(.2 .02 55) #1d140d | on ember 6.92 / 8.06 AA on ember-hover 6.16 / 9.03 AA on ember-active 5.27 / 6.96 AA |
| --ember-hover Primary button, hover | oklch(.69 .175 50) #ee7418 | oklch(.79 .14 54) #ffa05e | surface or hairline, no text |
| --ember-active Primary button, pressed | oklch(.65 .17 48) #df6815 | oklch(.72 .155 50) #f08440 | surface or hairline, no text |
| --ember-line Primary button border | oklch(.62 .15 50) #cb6620 | oklch(.6 .13 50) #bc662f | surface or hairline, no text |
| Status |
| --good Success, released, passing | oklch(.46 .12 150) #0f6a31 | oklch(.78 .14 150) #6fd087 | on bg 6.46 / 10.08 AA on panel 6.74 / 9.01 AA on good-soft 5.98 / 7.55 AA |
| --good-soft Success tint | oklch(.955 .035 150) #e0f7e4 | oklch(.28 .05 150) #15301b | surface or hairline, no text |
| --bad Error, refund, destructive | oklch(.5 .2 23) #ba0426 | oklch(.74 .15 27) #fb8276 | on bg 6.40 / 7.79 AA on panel 6.68 / 6.96 AA on bad-soft 5.85 / 6.08 AA |
| --bad-soft Error tint | oklch(.96 .025 23) #ffecea | oklch(.28 .06 27) #421c18 | surface or hairline, no text |
| --warn Caution, test mode, money safety | oklch(.5 .11 70) #8a5600 | oklch(.82 .12 80) #edbb64 | on bg 5.89 / 10.84 AA on panel 6.15 / 9.69 AA on warn-soft 5.46 / 8.04 AA |
| --warn-soft Caution tint | oklch(.96 .045 85) #fff0d0 | oklch(.29 .05 80) #38280a | surface or hairline, no text |
| --info Neutral information | oklch(.5 .13 255) #2863ab | oklch(.78 .11 255) #87bafd | on bg 5.78 / 9.57 AA on panel 6.04 / 8.56 AA on info-soft 5.30 / 7.30 AA |
| --info-soft Information tint | oklch(.955 .025 255) #e5f1ff | oklch(.28 .045 255) #192a3f | surface or hairline, no text |