@motion-proto/live-tokens 0.50.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/.claude/skills/live-tokens-adjust-shape-space/SKILL.md +7 -1
  2. package/CHANGELOG.md +108 -0
  3. package/bin/adjust.mjs +16 -39
  4. package/bin/generate-theme.mjs +20 -6
  5. package/dist-plugin/adjust/index.cjs +781 -21
  6. package/dist-plugin/adjust/index.d.cts +2 -1
  7. package/dist-plugin/adjust/index.d.ts +2 -1
  8. package/dist-plugin/adjust/index.js +43 -21
  9. package/dist-plugin/{chunk-6OZFXIQI.js → chunk-232GZGQU.js} +207 -12
  10. package/dist-plugin/chunk-NE6N66EE.js +753 -0
  11. package/dist-plugin/{chunk-76TFDTJO.js → chunk-PB2JTK2H.js} +179 -128
  12. package/dist-plugin/{chunk-44RSTAII.js → chunk-TKZBVIW5.js} +33 -5
  13. package/dist-plugin/chunk-YR6GPXW2.js +129 -0
  14. package/dist-plugin/generateColorsAndType/index.cjs +135 -63
  15. package/dist-plugin/generateColorsAndType/index.d.cts +2 -1
  16. package/dist-plugin/generateColorsAndType/index.d.ts +2 -1
  17. package/dist-plugin/generateColorsAndType/index.js +28 -784
  18. package/dist-plugin/{themeTypes-DSwKq-bj.d.ts → index-DpTIRZ2H.d.cts} +67 -26
  19. package/dist-plugin/{themeTypes-DSwKq-bj.d.cts → index-DpTIRZ2H.d.ts} +67 -26
  20. package/dist-plugin/index.cjs +1254 -140
  21. package/dist-plugin/index.js +106 -82
  22. package/dist-plugin/migrateData/index.cjs +956 -14
  23. package/dist-plugin/migrateData/index.js +10 -3
  24. package/dist-plugin/tokensCssMigrations/index.cjs +71 -5
  25. package/dist-plugin/tokensCssMigrations/index.d.cts +20 -9
  26. package/dist-plugin/tokensCssMigrations/index.d.ts +20 -9
  27. package/dist-plugin/tokensCssMigrations/index.js +4 -1
  28. package/package.json +8 -4
  29. package/src/editor/component-editor/NotificationEditor.svelte +6 -0
  30. package/src/editor/component-editor/scaffolding/ComponentFileManager.svelte +9 -23
  31. package/src/editor/component-editor/scaffolding/LinkedBlock.svelte +8 -8
  32. package/src/editor/core/components/adjustAliases.ts +49 -22
  33. package/src/editor/core/components/aliasKinds.ts +7 -2
  34. package/src/editor/core/components/componentConfigService.ts +1 -1
  35. package/src/editor/core/palettes/oklch.ts +3 -137
  36. package/src/editor/core/palettes/paletteDerivation.ts +79 -37
  37. package/src/editor/core/store/editorStore.ts +7 -197
  38. package/src/editor/core/store/editorTypes.ts +9 -30
  39. package/src/editor/core/themes/generateColorsAndType.ts +18 -8
  40. package/src/editor/core/themes/lookSummary.ts +3 -25
  41. package/src/editor/core/themes/migrateComponentConfig.ts +205 -0
  42. package/src/editor/core/themes/migrations/2026-05-19-sectiondivider-rich-gradient.ts +1 -1
  43. package/src/editor/core/themes/migrations/2026-05-20-sectiondivider-slim-variants.ts +1 -1
  44. package/src/editor/core/themes/migrations/2026-05-22-sectiondivider-intrinsics-to-css.ts +1 -1
  45. package/src/editor/core/themes/parsers/gradient.ts +211 -0
  46. package/src/editor/core/themes/slices/gradients.ts +5 -58
  47. package/src/editor/core/themes/themeService.ts +22 -9
  48. package/src/editor/core/themes/themeTypes.ts +89 -27
  49. package/src/editor/docs/content/editing-tokens.md +6 -2
  50. package/src/editor/docs/content/themes-workflow.md +9 -11
  51. package/src/editor/docs/content/where-themes-live.md +2 -2
  52. package/src/editor/docs/content.generated.ts +3 -3
  53. package/src/editor/index.ts +1 -0
  54. package/src/editor/styles/ui-editor.css +5 -2
  55. package/src/editor/ui/BezierCurveEditor.svelte +90 -67
  56. package/src/editor/ui/PaletteEditor.svelte +180 -59
  57. package/src/editor/ui/ThemePanel.svelte +24 -15
  58. package/src/editor/ui/Toggle.svelte +36 -24
  59. package/src/editor/ui/UIPillButton.svelte +1 -1
  60. package/src/editor/ui/UIReveal.svelte +47 -0
  61. package/src/editor/ui/UISquareButton.svelte +1 -1
  62. package/src/editor/ui/colors/ColorStory.svelte +12 -8
  63. package/src/editor/ui/colors/ColorsTab.svelte +4 -5
  64. package/src/editor/ui/curveEngine.ts +101 -21
  65. package/src/editor/ui/palette/OverridesPanel.svelte +23 -8
  66. package/src/editor/ui/palette/PaletteBase.svelte +17 -78
  67. package/src/editor/ui/palette/PaletteJumpButton.svelte +3 -3
  68. package/src/editor/ui/palette/ScaleCurveEditor.svelte +110 -20
  69. package/src/editor/ui/palette/curveSummary.ts +20 -0
  70. package/src/editor/ui/palette/dockMagnify.ts +5 -13
  71. package/src/editor/ui/palette/paletteMath.ts +7 -4
  72. package/src/live-tokens/data/colors-and-type/autumn.json +528 -528
  73. package/src/live-tokens/data/colors-and-type/default.json +247 -247
  74. package/src/live-tokens/data/colors-and-type/halloween.json +532 -532
  75. package/src/live-tokens/data/colors-and-type/midnight-study.json +538 -538
  76. package/src/live-tokens/data/colors-and-type/ocean.json +521 -521
  77. package/src/live-tokens/data/colors-and-type/royal-velvet.json +532 -532
  78. package/src/live-tokens/data/colors-and-type/spring-meadow.json +504 -504
  79. package/src/live-tokens/data/colors-and-type/sunset.json +531 -531
  80. package/src/live-tokens/data/themes/autumn.json +604 -568
  81. package/src/live-tokens/data/themes/halloween.json +584 -583
  82. package/src/live-tokens/data/themes/midnight-study.json +673 -605
  83. package/src/live-tokens/data/themes/ocean.json +597 -561
  84. package/src/live-tokens/data/themes/royal-velvet.json +574 -573
  85. package/src/live-tokens/data/themes/spring-meadow.json +590 -556
  86. package/src/live-tokens/data/themes/sunset.json +632 -571
  87. package/src/live-tokens/data/tokens.generated.css +282 -282
  88. package/src/system/components/FloatingTokenTags.css +0 -1
  89. package/src/system/internal/backgroundContrast.ts +7 -0
  90. package/src/system/internal/oklch.ts +189 -0
  91. package/src/system/styles/tokens.css +283 -283
@@ -8,140 +8,140 @@
8
8
 
9
9
  :root {
10
10
  /* Invariants. Never themed; not part of any ramp. */
11
- --color-white: #ffffff;
12
- --color-black: #000000;
11
+ --color-white: oklch(1 0 0);
12
+ --color-black: oklch(0 0 0);
13
13
 
14
14
  /* COLOR RAMPS — palette swatches 100–950. Editor overrides at runtime. */
15
15
 
16
16
  /* Neutral */
17
- --color-neutral-100: #dde6ec;
18
- --color-neutral-200: #c4cdd3;
19
- --color-neutral-300: #a8b1b7;
20
- --color-neutral-400: #8b949a;
21
- --color-neutral-500: #70787e;
22
- --color-neutral-600: #555e63;
23
- --color-neutral-700: #3c4449;
24
- --color-neutral-800: #252c31;
25
- --color-neutral-850: #0f161a;
26
- --color-neutral-900: #020407;
27
- --color-neutral-950: #000000;
17
+ --color-neutral-100: oklch(0.9199 0.0127 236.63);
18
+ --color-neutral-200: oklch(0.8432 0.0129 236.66);
19
+ --color-neutral-300: oklch(0.7551 0.0133 236.69);
20
+ --color-neutral-400: oklch(0.6611 0.0137 236.74);
21
+ --color-neutral-500: oklch(0.5679 0.0134 240.07);
22
+ --color-neutral-600: oklch(0.4759 0.0139 231.91);
23
+ --color-neutral-700: oklch(0.3812 0.0136 235.2);
24
+ --color-neutral-800: oklch(0.2884 0.0134 239.06);
25
+ --color-neutral-850: oklch(0.1949 0.0133 233.4);
26
+ --color-neutral-900: oklch(0.1046 0.0125 250.21);
27
+ --color-neutral-950: oklch(0 0 0);
28
28
 
29
29
  /* Alternate */
30
- --color-alternate-100: #e9e3e0;
31
- --color-alternate-200: #d2ccc8;
32
- --color-alternate-300: #b7b1ad;
33
- --color-alternate-400: #9b9693;
34
- --color-alternate-500: #817b78;
35
- --color-alternate-600: #67625f;
36
- --color-alternate-700: #4f4a47;
37
- --color-alternate-800: #373330;
38
- --color-alternate-850: #221d1b;
39
- --color-alternate-900: #0e0b08;
40
- --color-alternate-950: #030101;
30
+ --color-alternate-100: oklch(0.9197 0.0077 48.65);
31
+ --color-alternate-200: oklch(0.8489 0.0087 56.29);
32
+ --color-alternate-300: oklch(0.7642 0.0089 56.27);
33
+ --color-alternate-400: oklch(0.6765 0.0074 53.39);
34
+ --color-alternate-500: oklch(0.5873 0.0087 48.57);
35
+ --color-alternate-600: oklch(0.4998 0.0079 53.33);
36
+ --color-alternate-700: oklch(0.413 0.0083 53.27);
37
+ --color-alternate-800: oklch(0.3242 0.0077 59.41);
38
+ --color-alternate-850: oklch(0.2358 0.0087 43.1);
39
+ --color-alternate-900: oklch(0.1522 0.0083 68.34);
40
+ --color-alternate-950: oklch(0.077 0.0115 20.04);
41
41
 
42
42
  /* Canvas */
43
- --color-canvas-100: #cecfe5;
44
- --color-canvas-200: #abacc2;
45
- --color-canvas-300: #8d8da4;
46
- --color-canvas-400: #727289;
47
- --color-canvas-500: #5a5a72;
48
- --color-canvas-600: #45455c;
49
- --color-canvas-700: #33324a;
50
- --color-canvas-800: #232239;
51
- --color-canvas-850: #15142b;
52
- --color-canvas-900: #0b081f;
53
- --color-canvas-950: #040215;
43
+ --color-canvas-100: oklch(0.8605 0.0303 283.67);
44
+ --color-canvas-200: oklch(0.7507 0.0314 283.55);
45
+ --color-canvas-300: oklch(0.6512 0.034 285.42);
46
+ --color-canvas-400: oklch(0.5603 0.0353 285.2);
47
+ --color-canvas-500: oklch(0.4768 0.0384 284.85);
48
+ --color-canvas-600: oklch(0.3999 0.0385 284.52);
49
+ --color-canvas-700: oklch(0.3291 0.0421 285.74);
50
+ --color-canvas-800: oklch(0.2647 0.0425 285.09);
51
+ --color-canvas-850: oklch(0.2059 0.0449 283.69);
52
+ --color-canvas-900: oklch(0.1549 0.0473 285.65);
53
+ --color-canvas-950: oklch(0.1121 0.0478 283.85);
54
54
 
55
55
  /* Brand */
56
- --color-brand-100: #ffbad3;
57
- --color-brand-200: #ff7bb3;
58
- --color-brand-300: #ec4495;
59
- --color-brand-400: #cf0b7a;
60
- --color-brand-500: #a80062;
61
- --color-brand-600: #84004b;
62
- --color-brand-700: #640038;
63
- --color-brand-800: #490027;
64
- --color-brand-850: #320019;
65
- --color-brand-900: #1f000d;
66
- --color-brand-950: #100005;
56
+ --color-brand-100: oklch(0.8595 0.0853 355.54);
57
+ --color-brand-200: oklch(0.7508 0.1704 355.31);
58
+ --color-brand-300: oklch(0.6509 0.2146 355.41);
59
+ --color-brand-400: oklch(0.5602 0.2257 355.45);
60
+ --color-brand-500: oklch(0.4776 0.196 355.19);
61
+ --color-brand-600: oklch(0.4001 0.1639 355.66);
62
+ --color-brand-700: oklch(0.3285 0.1347 355.3);
63
+ --color-brand-800: oklch(0.2644 0.1083 355.69);
64
+ --color-brand-850: oklch(0.2069 0.0848 355.68);
65
+ --color-brand-900: oklch(0.1559 0.0637 356.44);
66
+ --color-brand-950: oklch(0.1127 0.0461 356.5);
67
67
 
68
68
  /* Accent */
69
- --color-accent-100: #98e1dd;
70
- --color-accent-200: #70beba;
71
- --color-accent-300: #4ba09c;
72
- --color-accent-400: #248582;
73
- --color-accent-500: #006b69;
74
- --color-accent-600: #005351;
75
- --color-accent-700: #003e3d;
76
- --color-accent-800: #002c2b;
77
- --color-accent-850: #001d1c;
78
- --color-accent-900: #00100f;
79
- --color-accent-950: #000606;
69
+ --color-accent-100: oklch(0.8608 0.0728 191.54);
70
+ --color-accent-200: oklch(0.7502 0.0775 191.4);
71
+ --color-accent-300: oklch(0.6523 0.0824 191.2);
72
+ --color-accent-400: oklch(0.5622 0.0864 191.91);
73
+ --color-accent-500: oklch(0.4771 0.0818 192.51);
74
+ --color-accent-600: oklch(0.3996 0.0686 191.95);
75
+ --color-accent-700: oklch(0.329 0.0564 192.97);
76
+ --color-accent-800: oklch(0.2649 0.0454 192.41);
77
+ --color-accent-850: oklch(0.2084 0.0358 191.59);
78
+ --color-accent-900: oklch(0.1562 0.0269 190.23);
79
+ --color-accent-950: oklch(0.1106 0.0189 194.77);
80
80
 
81
81
  /* Special */
82
- --color-special-100: #d2c8ff;
83
- --color-special-200: #b19cff;
84
- --color-special-300: #9673f5;
85
- --color-special-400: #7d54db;
86
- --color-special-500: #6634c4;
87
- --color-special-600: #5407af;
88
- --color-special-700: #3f0088;
89
- --color-special-800: #2d0064;
90
- --color-special-850: #1d0046;
91
- --color-special-900: #10002d;
92
- --color-special-950: #060019;
82
+ --color-special-100: oklch(0.8592 0.0763 293.06);
83
+ --color-special-200: oklch(0.7503 0.1408 292.42);
84
+ --color-special-300: oklch(0.6504 0.187 292.87);
85
+ --color-special-400: oklch(0.561 0.1967 292.96);
86
+ --color-special-500: oklch(0.4765 0.2079 292.53);
87
+ --color-special-600: oklch(0.4008 0.2183 292.83);
88
+ --color-special-700: oklch(0.3298 0.1836 292.66);
89
+ --color-special-800: oklch(0.2654 0.1475 293.03);
90
+ --color-special-850: oklch(0.2073 0.1155 292.54);
91
+ --color-special-900: oklch(0.156 0.0871 292.24);
92
+ --color-special-950: oklch(0.1113 0.0625 291.26);
93
93
 
94
94
  /* Success */
95
- --color-success-100: #92e9a3;
96
- --color-success-200: #69c67e;
97
- --color-success-300: #42a75d;
98
- --color-success-400: #0e8c3f;
99
- --color-success-500: #007030;
100
- --color-success-600: #005723;
101
- --color-success-700: #004119;
102
- --color-success-800: #002f0f;
103
- --color-success-850: #001e08;
104
- --color-success-900: #001103;
105
- --color-success-950: #000701;
95
+ --color-success-100: oklch(0.8609 0.1287 149.32);
96
+ --color-success-200: oklch(0.7507 0.1365 149.46);
97
+ --color-success-300: oklch(0.6507 0.1438 149.44);
98
+ --color-success-400: oklch(0.5607 0.1522 149.49);
99
+ --color-success-500: oklch(0.4763 0.1321 149.72);
100
+ --color-success-600: oklch(0.399 0.1113 149.46);
101
+ --color-success-700: oklch(0.3279 0.0908 149.79);
102
+ --color-success-800: oklch(0.2665 0.075 149.11);
103
+ --color-success-850: oklch(0.2054 0.0567 149.92);
104
+ --color-success-900: oklch(0.1551 0.0439 148.87);
105
+ --color-success-950: oklch(0.1121 0.0324 148.05);
106
106
 
107
107
  /* Warning */
108
- --color-warning-100: #ffc57d;
109
- --color-warning-200: #e29f44;
110
- --color-warning-300: #c47f03;
111
- --color-warning-400: #a06600;
112
- --color-warning-500: #805100;
113
- --color-warning-600: #643e00;
114
- --color-warning-700: #4c2e00;
115
- --color-warning-800: #362000;
116
- --color-warning-850: #241300;
117
- --color-warning-900: #150900;
118
- --color-warning-950: #090300;
108
+ --color-warning-100: oklch(0.8604 0.1113 71.46);
109
+ --color-warning-200: oklch(0.7513 0.132 71.39);
110
+ --color-warning-300: oklch(0.6527 0.1396 71.33);
111
+ --color-warning-400: oklch(0.5599 0.1207 70.84);
112
+ --color-warning-500: oklch(0.4765 0.1025 71.17);
113
+ --color-warning-600: oklch(0.3992 0.086 70.85);
114
+ --color-warning-700: oklch(0.3304 0.0712 70.85);
115
+ --color-warning-800: oklch(0.2656 0.0568 72.22);
116
+ --color-warning-850: oklch(0.2057 0.0446 69.93);
117
+ --color-warning-900: oklch(0.1543 0.0336 69.43);
118
+ --color-warning-950: oklch(0.1087 0.0242 66.15);
119
119
 
120
120
  /* Info */
121
- --color-info-100: #b4d4ff;
122
- --color-info-200: #76b0ff;
123
- --color-info-300: #398efa;
124
- --color-info-400: #0571e0;
125
- --color-info-500: #0059b6;
126
- --color-info-600: #00458f;
127
- --color-info-700: #00336d;
128
- --color-info-800: #002350;
129
- --color-info-850: #001637;
130
- --color-info-900: #000b23;
131
- --color-info-950: #000413;
121
+ --color-info-100: oklch(0.8612 0.0692 255.89);
122
+ --color-info-200: oklch(0.7501 0.1299 256.41);
123
+ --color-info-300: oklch(0.6503 0.1803 256.16);
124
+ --color-info-400: oklch(0.5611 0.1891 255.98);
125
+ --color-info-500: oklch(0.4765 0.1642 256.25);
126
+ --color-info-600: oklch(0.4002 0.1369 256.05);
127
+ --color-info-700: oklch(0.3292 0.1126 256.06);
128
+ --color-info-800: oklch(0.2637 0.0918 256.5);
129
+ --color-info-850: oklch(0.2061 0.0716 256.47);
130
+ --color-info-900: oklch(0.1551 0.0554 257.15);
131
+ --color-info-950: oklch(0.1116 0.0412 257.91);
132
132
 
133
133
  /* Danger */
134
- --color-danger-100: #ffbeb8;
135
- --color-danger-200: #ff847d;
136
- --color-danger-300: #ec5552;
137
- --color-danger-400: #d02d33;
138
- --color-danger-500: #b0001c;
139
- --color-danger-600: #8a0013;
140
- --color-danger-700: #6a000c;
141
- --color-danger-800: #4d0006;
142
- --color-danger-850: #350003;
143
- --color-danger-900: #210001;
144
- --color-danger-950: #110000;
134
+ --color-danger-100: oklch(0.8592 0.0759 24.75);
135
+ --color-danger-200: oklch(0.7497 0.1508 24.68);
136
+ --color-danger-300: oklch(0.6518 0.1872 24.94);
137
+ --color-danger-400: oklch(0.5616 0.1984 24.84);
138
+ --color-danger-500: oklch(0.4772 0.1933 24.63);
139
+ --color-danger-600: oklch(0.3991 0.1617 24.81);
140
+ --color-danger-700: oklch(0.3303 0.1339 24.83);
141
+ --color-danger-800: oklch(0.2647 0.1073 24.99);
142
+ --color-danger-850: oklch(0.2073 0.084 24.82);
143
+ --color-danger-900: oklch(0.156 0.0634 25.75);
144
+ --color-danger-950: oklch(0.1115 0.0458 29.23);
145
145
 
146
146
  /* CSS keyword `transparent` for no-fill slots. */
147
147
  --color-transparent: transparent;
@@ -151,100 +151,100 @@
151
151
  --shimmer-off: none;
152
152
 
153
153
  /* PAGE BACKGROUND — canvas behind all UI. */
154
- --page-bg: #15142b;
154
+ --page-bg: oklch(0.2059 0.0449 283.69);
155
155
  --page-bg-attachment: scroll;
156
156
 
157
157
  /* SURFACES — 7-point scales, lowest → highest. */
158
158
 
159
159
  /* Neutral */
160
- --surface-neutral-lowest: #040c13;
161
- --surface-neutral-lower: #162027;
162
- --surface-neutral-low: #2c353c;
163
- --surface-neutral: #434c52;
164
- --surface-neutral-high: #5c6369;
165
- --surface-neutral-higher: #767c81;
166
- --surface-neutral-highest: #91969a;
160
+ --surface-neutral-lowest: oklch(0.149 0.021 241.64);
161
+ --surface-neutral-lower: oklch(0.2372 0.0197 239.18);
162
+ --surface-neutral-low: oklch(0.3234 0.0175 241.54);
163
+ --surface-neutral: oklch(0.4107 0.0154 237);
164
+ --surface-neutral-high: oklch(0.4957 0.013 243.84);
165
+ --surface-neutral-higher: oklch(0.5829 0.0105 242.95);
166
+ --surface-neutral-highest: oklch(0.6703 0.0083 241.72);
167
167
 
168
168
  /* Alternate surfaces */
169
- --surface-alternate-lowest: #100907;
170
- --surface-alternate-lower: #231d19;
171
- --surface-alternate-low: #39322f;
172
- --surface-alternate: #4f4946;
173
- --surface-alternate-high: #66615e;
174
- --surface-alternate-higher: #7f7a78;
175
- --surface-alternate-highest: #989492;
169
+ --surface-alternate-lowest: oklch(0.1488 0.0135 38.77);
170
+ --surface-alternate-lower: oklch(0.2363 0.012 55.73);
171
+ --surface-alternate-low: oklch(0.3235 0.0114 44.66);
172
+ --surface-alternate: oklch(0.4103 0.0095 48.48);
173
+ --surface-alternate-high: oklch(0.4963 0.008 53.33);
174
+ --surface-alternate-higher: oklch(0.5833 0.0068 43.29);
175
+ --surface-alternate-highest: oklch(0.6693 0.0056 48.65);
176
176
 
177
177
  /* Canvas */
178
- --surface-canvas-lowest: #0a0523;
179
- --surface-canvas-lower: #1c1a37;
180
- --surface-canvas-low: #31304c;
181
- --surface-canvas: #474761;
182
- --surface-canvas-high: #5f6077;
183
- --surface-canvas-higher: #79798e;
184
- --surface-canvas-highest: #9393a5;
178
+ --surface-canvas-lowest: oklch(0.1495 0.0612 285.19);
179
+ --surface-canvas-lower: oklch(0.2367 0.0545 284.56);
180
+ --surface-canvas-low: oklch(0.3235 0.0493 284.92);
181
+ --surface-canvas: oklch(0.4088 0.0433 284.32);
182
+ --surface-canvas-high: oklch(0.4968 0.0365 283.02);
183
+ --surface-canvas-higher: oklch(0.5835 0.0319 285.37);
184
+ --surface-canvas-highest: oklch(0.6692 0.0264 285.67);
185
185
 
186
186
  /* Brand */
187
- --surface-brand-lowest: #1d000c;
188
- --surface-brand-lower: #3e0020;
189
- --surface-brand-low: #620037;
190
- --surface-brand: #89004e;
191
- --surface-brand-high: #b10067;
192
- --surface-brand-higher: #cf3480;
193
- --surface-brand-highest: #e0649a;
187
+ --surface-brand-lowest: oklch(0.1504 0.0616 356.06);
188
+ --surface-brand-lower: oklch(0.2372 0.0971 356.01);
189
+ --surface-brand-low: oklch(0.3239 0.1329 355.13);
190
+ --surface-brand: oklch(0.411 0.1684 355.69);
191
+ --surface-brand-high: oklch(0.4962 0.2035 355.42);
192
+ --surface-brand-higher: oklch(0.5835 0.2006 355.58);
193
+ --surface-brand-highest: oklch(0.6701 0.1642 355.17);
194
194
 
195
195
  /* Accent */
196
- --surface-accent-lowest: #000f0e;
197
- --surface-accent-lower: #002423;
198
- --surface-accent-low: #003c3b;
199
- --surface-accent: #005654;
200
- --surface-accent-high: #00716f;
201
- --surface-accent-higher: #3b8a87;
202
- --surface-accent-highest: #66a29f;
196
+ --surface-accent-lowest: oklch(0.152 0.0262 190.08);
197
+ --surface-accent-lower: oklch(0.2352 0.0404 192.04);
198
+ --surface-accent-low: oklch(0.3221 0.0552 192.92);
199
+ --surface-accent: oklch(0.4095 0.0703 192.03);
200
+ --surface-accent-high: oklch(0.496 0.085 192.61);
201
+ --surface-accent-higher: oklch(0.5838 0.0771 191.85);
202
+ --surface-accent-highest: oklch(0.6705 0.0626 191.73);
203
203
 
204
204
  /* Special */
205
- --surface-special-lowest: #0f002b;
206
- --surface-special-lower: #250055;
207
- --surface-special-low: #3d0084;
208
- --surface-special: #5700b7;
209
- --surface-special-high: #6c3bcb;
210
- --surface-special-higher: #8161d8;
211
- --surface-special-highest: #9983e4;
205
+ --surface-special-lowest: oklch(0.1517 0.0847 292.27);
206
+ --surface-special-lower: oklch(0.2368 0.1317 292.82);
207
+ --surface-special-low: oklch(0.3228 0.1797 292.69);
208
+ --surface-special: oklch(0.41 0.2284 292.6);
209
+ --surface-special-high: oklch(0.4972 0.2082 292.78);
210
+ --surface-special-higher: oklch(0.5831 0.1751 292.52);
211
+ --surface-special-highest: oklch(0.6708 0.1413 292.61);
212
212
 
213
213
  /* Success */
214
- --surface-success-lowest: #001003;
215
- --surface-success-lower: #00270b;
216
- --surface-success-low: #004018;
217
- --surface-success: #005a25;
218
- --surface-success-high: #007733;
219
- --surface-success-higher: #32914d;
220
- --surface-success-highest: #61a870;
214
+ --surface-success-lowest: oklch(0.1511 0.0422 149.44);
215
+ --surface-success-lower: oklch(0.2381 0.0672 148.98);
216
+ --surface-success-low: oklch(0.3245 0.0904 149.54);
217
+ --surface-success: oklch(0.4085 0.1134 149.66);
218
+ --surface-success-high: oklch(0.4973 0.1383 149.6);
219
+ --surface-success-higher: oklch(0.5841 0.1354 149.48);
220
+ --surface-success-highest: oklch(0.6698 0.1097 149.47);
221
221
 
222
222
  /* Warning */
223
- --surface-warning-lowest: #140800;
224
- --surface-warning-lower: #2d1a00;
225
- --surface-warning-low: #4a2c00;
226
- --surface-warning: #684100;
227
- --surface-warning-high: #885600;
228
- --surface-warning-higher: #a96c00;
229
- --surface-warning-highest: #be8a46;
223
+ --surface-warning-lowest: oklch(0.1496 0.0329 67.63);
224
+ --surface-warning-lower: oklch(0.2374 0.0507 72.44);
225
+ --surface-warning-low: oklch(0.3231 0.0701 69.8);
226
+ --surface-warning: oklch(0.4111 0.0884 71.24);
227
+ --surface-warning-high: oklch(0.4972 0.1072 70.85);
228
+ --surface-warning-higher: oklch(0.5829 0.1256 70.84);
229
+ --surface-warning-highest: oklch(0.6709 0.1061 71.57);
230
230
 
231
231
  /* Info */
232
- --surface-info-lowest: #000a21;
233
- --surface-info-lower: #001d44;
234
- --surface-info-low: #00316b;
235
- --surface-info: #004894;
236
- --surface-info-high: #36639f;
237
- --surface-info-higher: #5d7da8;
238
- --surface-info-highest: #8497b1;
232
+ --surface-info-lowest: oklch(0.1501 0.0535 257.12);
233
+ --surface-info-lower: oklch(0.2371 0.0819 256.31);
234
+ --surface-info-low: oklch(0.3226 0.1124 256.54);
235
+ --surface-info: oklch(0.4112 0.1399 255.91);
236
+ --surface-info-high: oklch(0.4971 0.1086 256.25);
237
+ --surface-info-higher: oklch(0.5828 0.076 256);
238
+ --surface-info-highest: oklch(0.6706 0.0444 256.28);
239
239
 
240
240
  /* Danger */
241
- --surface-danger-lowest: #1f0001;
242
- --surface-danger-lower: #410004;
243
- --surface-danger-low: #67000b;
244
- --surface-danger: #8f0014;
245
- --surface-danger-high: #ba001e;
246
- --surface-danger-higher: #cf4443;
247
- --surface-danger-highest: #df6e68;
241
+ --surface-danger-lowest: oklch(0.1507 0.0612 25.38);
242
+ --surface-danger-lower: oklch(0.2364 0.0959 25.25);
243
+ --surface-danger-low: oklch(0.3237 0.1312 24.97);
244
+ --surface-danger: oklch(0.4096 0.166 24.84);
245
+ --surface-danger-high: oklch(0.4971 0.2014 24.68);
246
+ --surface-danger-higher: oklch(0.5836 0.1757 24.75);
247
+ --surface-danger-highest: oklch(0.6696 0.1423 24.72);
248
248
 
249
249
  /* Overlays — semi-transparent washes for backdrops and pressed-state fills. */
250
250
  --overlay-low: rgba(20, 3, 0, 0.38);
@@ -254,140 +254,140 @@
254
254
  /* BORDERS — 5-point scales, faint → strong. */
255
255
 
256
256
  /* Neutral */
257
- --border-neutral-faint: #1c2327;
258
- --border-neutral-subtle: #3a4146;
259
- --border-neutral: #5a6267;
260
- --border-neutral-medium: #7c848b;
261
- --border-neutral-strong: #a0a9af;
257
+ --border-neutral-faint: oklch(0.251 0.0126 233.03);
258
+ --border-neutral-subtle: oklch(0.3707 0.0127 238.86);
259
+ --border-neutral: oklch(0.4909 0.0128 235.04);
260
+ --border-neutral-medium: oklch(0.609 0.0142 244.38);
261
+ --border-neutral-strong: oklch(0.7295 0.0134 236.7);
262
262
 
263
263
  /* Alternate */
264
- --border-alternate-faint: #25201e;
265
- --border-alternate-subtle: #443e3c;
266
- --border-alternate: #655f5c;
267
- --border-alternate-medium: #88827f;
268
- --border-alternate-strong: #aca6a3;
264
+ --border-alternate-faint: oklch(0.2485 0.0086 43.11);
265
+ --border-alternate-subtle: oklch(0.3692 0.009 39.37);
266
+ --border-alternate: oklch(0.4901 0.0091 48.53);
267
+ --border-alternate-medium: oklch(0.6109 0.0086 48.58);
268
+ --border-alternate-strong: oklch(0.7293 0.0082 48.61);
269
269
 
270
270
  /* Canvas */
271
- --border-canvas-faint: #1f1f34;
272
- --border-canvas-subtle: #3d3d54;
273
- --border-canvas: #5d5e76;
274
- --border-canvas-medium: #80809b;
275
- --border-canvas-strong: #a4a5c0;
271
+ --border-canvas-faint: oklch(0.2501 0.0395 283.17);
272
+ --border-canvas-subtle: oklch(0.3699 0.0393 284.32);
273
+ --border-canvas: oklch(0.4902 0.0383 283.01);
274
+ --border-canvas-medium: oklch(0.6094 0.0406 285.13);
275
+ --border-canvas-strong: oklch(0.73 0.0388 283.71);
276
276
 
277
277
  /* Brand */
278
- --border-brand-faint: #430024;
279
- --border-brand-subtle: #760043;
280
- --border-brand: #ae0065;
281
- --border-brand-medium: #e9008a;
282
- --border-brand-strong: #ff6cad;
278
+ --border-brand-faint: oklch(0.25 0.1026 355.03);
279
+ --border-brand-subtle: oklch(0.3693 0.1515 355.33);
280
+ --border-brand: oklch(0.4899 0.2009 355.49);
281
+ --border-brand-medium: oklch(0.6097 0.2502 355.19);
282
+ --border-brand-strong: oklch(0.7296 0.1897 355.24);
283
283
 
284
284
  /* Accent */
285
- --border-accent-faint: #002827;
286
- --border-accent-subtle: #004a48;
287
- --border-accent: #006f6d;
288
- --border-accent-medium: #259592;
289
- --border-accent-strong: #54bbb7;
285
+ --border-accent-faint: oklch(0.2502 0.0429 192.24);
286
+ --border-accent-subtle: oklch(0.3696 0.0635 191.66);
287
+ --border-accent: oklch(0.4897 0.084 192.58);
288
+ --border-accent-medium: oklch(0.6098 0.0956 192.22);
289
+ --border-accent-strong: oklch(0.7305 0.0955 191.8);
290
290
 
291
291
  /* Special */
292
- --border-special-faint: #29005c;
293
- --border-special-subtle: #4b009f;
294
- --border-special: #6b34ce;
295
- --border-special-medium: #8c5df8;
296
- --border-special-strong: #ac93ff;
292
+ --border-special-faint: oklch(0.2506 0.1391 293.15);
293
+ --border-special-subtle: oklch(0.3699 0.2058 292.76);
294
+ --border-special: oklch(0.4904 0.219 292.7);
295
+ --border-special-medium: oklch(0.6095 0.22 292.62);
296
+ --border-special-strong: oklch(0.73 0.154 292.83);
297
297
 
298
298
  /* Success */
299
- --border-success-faint: #002a0d;
300
- --border-success-subtle: #004e1f;
301
- --border-success: #007532;
302
- --border-success-medium: #069e46;
303
- --border-success-strong: #47c46b;
299
+ --border-success-faint: oklch(0.2489 0.0696 149.35);
300
+ --border-success-subtle: oklch(0.3704 0.1029 149.61);
301
+ --border-success: oklch(0.4913 0.1367 149.59);
302
+ --border-success-medium: oklch(0.6113 0.1693 149.41);
303
+ --border-success-strong: oklch(0.7299 0.1682 149.62);
304
304
 
305
305
  /* Warning */
306
- --border-warning-faint: #321c00;
307
- --border-warning-subtle: #5a3700;
308
- --border-warning: #855400;
309
- --border-warning-medium: #b37300;
310
- --border-warning-strong: #e49400;
306
+ --border-warning-faint: oklch(0.25 0.0544 69.41);
307
+ --border-warning-subtle: oklch(0.3702 0.08 70.4);
308
+ --border-warning: oklch(0.4892 0.1054 70.85);
309
+ --border-warning-medium: oklch(0.6089 0.1311 71.09);
310
+ --border-warning-strong: oklch(0.7301 0.157 71.23);
311
311
 
312
312
  /* Info */
313
- --border-info-faint: #00204a;
314
- --border-info-subtle: #003d81;
315
- --border-info: #005dbd;
316
- --border-info-medium: #007efc;
317
- --border-info-strong: #69a9ff;
313
+ --border-info-faint: oklch(0.2505 0.0869 256.41);
314
+ --border-info-subtle: oklch(0.37 0.1278 256.31);
315
+ --border-info: oklch(0.4908 0.1685 256.15);
316
+ --border-info-medium: oklch(0.6088 0.2094 256.2);
317
+ --border-info-strong: oklch(0.7289 0.1421 256.24);
318
318
 
319
319
  /* Danger */
320
- --border-danger-faint: #470005;
321
- --border-danger-subtle: #7c0010;
322
- --border-danger: #b6001d;
323
- --border-danger-medium: #ea3039;
324
- --border-danger-strong: #ff7872;
320
+ --border-danger-faint: oklch(0.2507 0.1016 25.07);
321
+ --border-danger-subtle: oklch(0.3694 0.1497 24.8);
322
+ --border-danger: oklch(0.4891 0.1982 24.71);
323
+ --border-danger-medium: oklch(0.6106 0.2196 24.67);
324
+ --border-danger-strong: oklch(0.7303 0.1659 24.59);
325
325
 
326
326
  /* TEXT — 5-point hierarchy, primary → disabled. */
327
327
 
328
328
  /* Neutral */
329
- --text-primary: #ffffff;
330
- --text-secondary: #c2cacf;
331
- --text-tertiary: #7e8285;
332
- --text-muted: #4e4f50;
333
- --text-disabled: #383838;
329
+ --text-primary: oklch(1 0 0);
330
+ --text-secondary: oklch(0.8343 0.0112 234.85);
331
+ --text-tertiary: oklch(0.6042 0.0066 239.89);
332
+ --text-muted: oklch(0.427 0.0021 247.87);
333
+ --text-disabled: oklch(0.3407 0 0);
334
334
  --text-inverted: var(--color-neutral-900);
335
335
 
336
336
  /* Canvas */
337
- --text-canvas: #9595c6;
338
- --text-canvas-secondary: #6b6b89;
339
- --text-canvas-tertiary: #4e4f5e;
340
- --text-canvas-muted: #3c3c41;
341
- --text-canvas-disabled: #343435;
337
+ --text-canvas: oklch(0.6877 0.0717 284.36);
338
+ --text-canvas-secondary: oklch(0.5391 0.0466 284.73);
339
+ --text-canvas-tertiary: oklch(0.4324 0.0247 282.3);
340
+ --text-canvas-muted: oklch(0.3581 0.0085 285.96);
341
+ --text-canvas-disabled: oklch(0.3254 0.0017 286.3);
342
342
 
343
343
  /* Brand */
344
- --text-brand: #ff75b1;
345
- --text-brand-secondary: #df2d88;
346
- --text-brand-tertiary: #953b63;
347
- --text-brand-muted: #5c3846;
348
- --text-brand-disabled: #403337;
344
+ --text-brand: oklch(0.7422 0.1785 355.07);
345
+ --text-brand-secondary: oklch(0.6077 0.2222 355.46);
346
+ --text-brand-tertiary: oklch(0.4874 0.1284 355.21);
347
+ --text-brand-muted: oklch(0.3885 0.0549 355.05);
348
+ --text-brand-disabled: oklch(0.3368 0.0197 357.81);
349
349
 
350
350
  /* Accent */
351
- --text-accent: #009d9a;
352
- --text-accent-secondary: #1f7673;
353
- --text-accent-tertiary: #2d5351;
354
- --text-accent-muted: #2c3837;
355
- --text-accent-disabled: #292a2a;
351
+ --text-accent: oklch(0.6291 0.1079 192.37);
352
+ --text-accent-secondary: oklch(0.5157 0.0793 191.56);
353
+ --text-accent-tertiary: oklch(0.4134 0.0436 191.24);
354
+ --text-accent-muted: oklch(0.3294 0.0161 190.17);
355
+ --text-accent-disabled: oklch(0.284 0.0014 197.08);
356
356
 
357
357
  /* Special */
358
- --text-special: #baa9ff;
359
- --text-special-secondary: #8665e0;
360
- --text-special-tertiary: #5c4e8b;
361
- --text-special-muted: #3e3a4f;
362
- --text-special-disabled: #303032;
358
+ --text-special: oklch(0.7815 0.1216 292.43);
359
+ --text-special-secondary: oklch(0.5996 0.1798 292.5);
360
+ --text-special-tertiary: oklch(0.4659 0.0974 292.78);
361
+ --text-special-muted: oklch(0.3613 0.0362 293.24);
362
+ --text-special-disabled: oklch(0.3099 0.0035 286.19);
363
363
 
364
364
  /* Success */
365
- --text-success: #88f2a0;
366
- --text-success-secondary: #2f974e;
367
- --text-success-tertiary: #31673e;
368
- --text-success-muted: #2c4530;
369
- --text-success-disabled: #263429;
365
+ --text-success: oklch(0.8766 0.1506 149.72);
366
+ --text-success-secondary: oklch(0.5997 0.1439 149.48);
367
+ --text-success-tertiary: oklch(0.4651 0.0879 149.69);
368
+ --text-success-muted: oklch(0.3633 0.0474 148.65);
369
+ --text-success-disabled: oklch(0.3086 0.0271 151.07);
370
370
 
371
371
  /* Warning */
372
- --text-warning: #ffd19a;
373
- --text-warning-secondary: #dd9324;
374
- --text-warning-tertiary: #967042;
375
- --text-warning-muted: #605345;
376
- --text-warning-disabled: #454442;
372
+ --text-warning: oklch(0.8879 0.0875 71.31);
373
+ --text-warning-secondary: oklch(0.721 0.1451 70.9);
374
+ --text-warning-tertiary: oklch(0.573 0.0789 70.44);
375
+ --text-warning-muted: oklch(0.451 0.0279 69.1);
376
+ --text-warning-disabled: oklch(0.3869 0.0036 84.57);
377
377
 
378
378
  /* Info */
379
- --text-info: #8fbeff;
380
- --text-info-secondary: #2f81e8;
381
- --text-info-tertiary: #365d90;
382
- --text-info-muted: #344051;
383
- --text-info-disabled: #303133;
379
+ --text-info: oklch(0.793 0.1058 256.62);
380
+ --text-info-secondary: oklch(0.6081 0.1744 256.18);
381
+ --text-info-tertiary: oklch(0.4741 0.0942 255.75);
382
+ --text-info-muted: oklch(0.368 0.0334 257.1);
383
+ --text-info-disabled: oklch(0.3129 0.0038 264.51);
384
384
 
385
385
  /* Danger */
386
- --text-danger: #ff635f;
387
- --text-danger-secondary: #bb292f;
388
- --text-danger-tertiary: #813b37;
389
- --text-danger-muted: #543b39;
390
- --text-danger-disabled: #3c3939;
386
+ --text-danger: oklch(0.6996 0.1912 24.82);
387
+ --text-danger-secondary: oklch(0.5202 0.1818 24.44);
388
+ --text-danger-tertiary: oklch(0.4436 0.0977 25.14);
389
+ --text-danger-muted: oklch(0.3799 0.0358 24.06);
390
+ --text-danger-disabled: oklch(0.3476 0.0042 17.36);
391
391
 
392
392
  /* Border Radius */
393
393
  --radius-none: 0;
@@ -663,11 +663,11 @@
663
663
  --eyebrow-text-transform: none;
664
664
 
665
665
  /* Text alternate */
666
- --text-alternate: #ffffff;
667
- --text-alternate-secondary: #d6d0ce;
668
- --text-alternate-tertiary: #8a8786;
669
- --text-alternate-muted: #545352;
670
- --text-alternate-disabled: #3b3b3b;
666
+ --text-alternate: oklch(1 0 0);
667
+ --text-alternate-secondary: oklch(0.8618 0.0072 39.45);
668
+ --text-alternate-tertiary: oklch(0.6257 0.0039 39.47);
669
+ --text-alternate-muted: oklch(0.4429 0.0021 67.77);
670
+ --text-alternate-disabled: oklch(0.3523 0 0);
671
671
  }
672
672
 
673
673
  /* RESPONSIVE TYPE SCALE — display sizes (2xl–6xl) shrink on small