@nurix/etna 0.19.2 → 0.19.4

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 (122) hide show
  1. package/data/harness-index.json +1 -1
  2. package/data/harnesses/code/CLAUDE.md +2 -2
  3. package/data/harnesses/code/harness.json +2 -2
  4. package/data/harnesses/code/rules/frontend.md +3 -3
  5. package/data/harnesses/code/skills/design/SKILL.md +20 -8
  6. package/data/harnesses/code/skills/design/data/catalog/rules.csv +10 -5
  7. package/data/harnesses/code/skills/design/data/combinations/Readme.md +8 -4
  8. package/data/harnesses/code/skills/design/data/combinations/accent-presets.md +113 -0
  9. package/data/harnesses/code/skills/design/data/combinations/fonts-known.json +11 -0
  10. package/data/harnesses/code/skills/design/data/combinations/manifest.json +57 -10
  11. package/data/harnesses/code/skills/design/data/combinations/motion.csv +10 -0
  12. package/data/harnesses/code/skills/design/data/combinations/palettes.csv +92 -49
  13. package/data/harnesses/code/skills/design/data/combinations/styles.csv +67 -54
  14. package/data/harnesses/code/skills/design/data/combinations/typography.csv +64 -61
  15. package/data/harnesses/code/skills/design/data/design-md/library/expo.md +4 -4
  16. package/data/harnesses/code/skills/design/data/design-md/library/lovable.md +5 -5
  17. package/data/harnesses/code/skills/design/data/design-md/library/minimax.md +6 -6
  18. package/data/harnesses/code/skills/design/data/design-md/library/notion.md +4 -4
  19. package/data/harnesses/code/skills/design/data/design-md/library/runwayml.md +4 -4
  20. package/data/harnesses/code/skills/design/data/design-md/library/sentry.md +2 -2
  21. package/data/harnesses/code/skills/design/data/design-md/library/slack.md +6 -6
  22. package/data/harnesses/code/skills/design/data/design-md/library/webflow.md +5 -5
  23. package/data/harnesses/code/skills/design/data/design-md/nurix.md +11 -7
  24. package/data/harnesses/code/skills/design/data/design-tokens/SCHEMA.md +256 -141
  25. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.tokens.json +309 -1
  26. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.tokens.json +309 -1
  27. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.tokens.json +309 -1
  28. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.tokens.json +309 -1
  29. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.tokens.json +309 -1
  30. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.tokens.json +309 -1
  31. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.tokens.json +313 -1
  32. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.tokens.json +309 -1
  33. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.tokens.json +309 -1
  34. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.tokens.json +309 -1
  35. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.tokens.json +309 -1
  36. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.tokens.json +309 -1
  37. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.tokens.json +309 -1
  38. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.tokens.json +313 -1
  39. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.tokens.json +309 -1
  40. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.tokens.json +313 -1
  41. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.tokens.json +309 -1
  42. package/data/harnesses/code/skills/design/data/design-tokens/goldens.json +123 -123
  43. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.tokens.json +309 -1
  44. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.tokens.json +309 -1
  45. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.tokens.json +309 -1
  46. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.tokens.json +313 -1
  47. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.resolver.json +1 -1
  48. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.dark.json +10 -0
  49. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.json +309 -1
  50. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.tokens.json +313 -1
  51. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.tokens.json +313 -1
  52. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.tokens.json +309 -1
  53. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.tokens.json +309 -1
  54. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.tokens.json +313 -1
  55. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.tokens.json +309 -1
  56. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.tokens.json +313 -1
  57. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.tokens.json +309 -1
  58. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.tokens.json +307 -2
  59. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.tokens.json +309 -1
  60. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.tokens.json +309 -1
  61. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.tokens.json +309 -1
  62. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.tokens.json +309 -1
  63. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.tokens.json +309 -1
  64. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.tokens.json +309 -1
  65. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.resolver.json +1 -1
  66. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.dark.json +10 -0
  67. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.json +309 -1
  68. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.tokens.json +309 -1
  69. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.tokens.json +310 -2
  70. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.tokens.json +313 -1
  71. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.tokens.json +309 -1
  72. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.tokens.json +309 -1
  73. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.tokens.json +309 -1
  74. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.tokens.json +309 -1
  75. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.tokens.json +313 -1
  76. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.tokens.json +313 -1
  77. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.tokens.json +309 -1
  78. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.tokens.json +313 -1
  79. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.tokens.json +309 -1
  80. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.tokens.json +309 -1
  81. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.tokens.json +313 -1
  82. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.tokens.json +309 -1
  83. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.tokens.json +309 -1
  84. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.resolver.json +1 -1
  85. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.dark.json +10 -0
  86. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.json +309 -1
  87. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.tokens.json +309 -1
  88. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.tokens.json +309 -1
  89. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.tokens.json +309 -1
  90. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.tokens.json +309 -1
  91. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.tokens.json +309 -1
  92. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.tokens.json +309 -1
  93. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/command-center.tsx +25 -25
  94. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/create-edit.tsx +18 -18
  95. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/dashboard.tsx +82 -105
  96. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/entity-detail.tsx +97 -93
  97. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/list-detail.tsx +16 -15
  98. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/log-stream.tsx +34 -34
  99. package/data/harnesses/code/skills/design/data/operator-pack/surface-catalog.md +5 -5
  100. package/data/harnesses/code/skills/design/references/create.md +49 -7
  101. package/data/harnesses/code/skills/design/references/diagnosis.md +3 -3
  102. package/data/harnesses/code/skills/design/references/hard-rules.md +25 -3
  103. package/data/harnesses/code/skills/design/references/improve.md +32 -3
  104. package/data/harnesses/code/skills/design/references/interaction.md +3 -3
  105. package/data/harnesses/code/skills/design/references/introspect.md +1 -1
  106. package/data/harnesses/code/skills/design/references/lifecycle.md +2 -2
  107. package/data/harnesses/code/skills/design/references/personality.md +280 -133
  108. package/data/harnesses/code/skills/design/references/structure.md +22 -1
  109. package/data/harnesses/code/skills/design/scripts/convert-design-md.mjs +306 -26
  110. package/data/harnesses/code/skills/design/scripts/derive-personality.mjs +596 -104
  111. package/data/harnesses/code/skills/design/scripts/lib/checks.mjs +200 -11
  112. package/data/harnesses/code/skills/design/scripts/lib/vocabulary.mjs +65 -0
  113. package/data/harnesses/code/skills/design/scripts/phase-gate.mjs +95 -11
  114. package/data/harnesses/code/skills/design/scripts/preship-sweep.mjs +50 -5
  115. package/data/harnesses/code/skills/design/scripts/render-rung.mjs +214 -14
  116. package/data/harnesses/code/skills/design/scripts/scaffold.mjs +242 -25
  117. package/data/harnesses/code/skills/design/scripts/self-integrity.mjs +81 -6
  118. package/data/harnesses/code/skills/design/scripts/snapshot-goldens.mjs +101 -5
  119. package/data/harnesses/code/skills/design/scripts/validate-combinations.mjs +142 -17
  120. package/data/harnesses/etna/CLAUDE.md +1 -1
  121. package/data/harnesses/etna/harness.json +2 -2
  122. package/package.json +1 -1
@@ -2,11 +2,12 @@
2
2
  "$description": "Intercom — the operator reading\n[feedback] rationale: Intercom is a warm, human support brand — gentle present feedback, not austere silence\n[density-tier] rationale: editorial-spacious marketing read down to an honest operator tier; warmth carried by the cream palette, not whitespace\n[spacing-scale] corpus base unit 8px; drops the marketing 96px section step\n[radius-scale] corpus radius scale (xs..xxl, pill)\n[shadow-levels] Intercom resists shadows — one faint tier for true overlays over the flat baseline\n[motion] derived: corpus silent on motion",
3
3
  "$extensions": {
4
4
  "com.nurix.design": {
5
- "schema": "design-tokens/v1",
5
+ "schema": "design-tokens/v2",
6
6
  "dtcg": "2025.10",
7
7
  "product": "Intercom",
8
8
  "provenance": "library",
9
9
  "sourced": "2026-07-04",
10
+ "theme-default": "light",
10
11
  "product-traits": [
11
12
  "customer-support",
12
13
  "helpdesk",
@@ -184,6 +185,14 @@
184
185
  }
185
186
  }
186
187
  },
188
+ "stagger-unit": {
189
+ "$type": "duration",
190
+ "$value": {
191
+ "value": 30,
192
+ "unit": "ms"
193
+ },
194
+ "$description": "derived: v1→v2 migration — the 30ms default stagger base (0–60ms legal)"
195
+ },
187
196
  "contrast-boost": {
188
197
  "$type": "number",
189
198
  "$value": 1,
@@ -569,6 +578,16 @@
569
578
  }
570
579
  }
571
580
  },
581
+ "surface-raised": {
582
+ "$type": "color",
583
+ "$value": "{color.card}",
584
+ "$description": "derived: v1→v2 migration — light aliases card; dark looks carry the surface-lightness ladder"
585
+ },
586
+ "surface-overlay": {
587
+ "$type": "color",
588
+ "$value": "{color.popover}",
589
+ "$description": "derived: v1→v2 migration — light aliases popover; dark looks carry the surface-lightness ladder"
590
+ },
572
591
  "popover": {
573
592
  "$type": "color",
574
593
  "$value": {
@@ -976,6 +995,295 @@
976
995
  "letterSpacing": 0
977
996
  },
978
997
  "$description": "section eyebrow"
998
+ },
999
+ "display": {
1000
+ "$type": "typography",
1001
+ "$value": {
1002
+ "fontFamily": "{typography.family.heading}",
1003
+ "fontSize": {
1004
+ "value": 42,
1005
+ "unit": "px"
1006
+ },
1007
+ "lineHeight": 1.25,
1008
+ "fontWeight": "{primitive.font-weight-strong}",
1009
+ "letterSpacing": "{primitive.heading-tracking}"
1010
+ },
1011
+ "$description": "derived: v1→v2 migration — provisional display step (h1 × 1.75, strong weight)",
1012
+ "$extensions": {
1013
+ "com.nurix.design": {
1014
+ "hint": "display step unset — resolve from the product's design.md or leave for budget-time"
1015
+ }
1016
+ }
1017
+ }
1018
+ }
1019
+ },
1020
+ "elevation": {
1021
+ "sm": {
1022
+ "$type": "shadow",
1023
+ "$value": [
1024
+ {
1025
+ "color": {
1026
+ "colorSpace": "srgb",
1027
+ "components": [
1028
+ 0.05882,
1029
+ 0.0902,
1030
+ 0.16471
1031
+ ],
1032
+ "hex": "#0f172a",
1033
+ "alpha": 0.1
1034
+ },
1035
+ "offsetX": {
1036
+ "value": 0,
1037
+ "unit": "px"
1038
+ },
1039
+ "offsetY": {
1040
+ "value": 1,
1041
+ "unit": "px"
1042
+ },
1043
+ "blur": {
1044
+ "value": 3,
1045
+ "unit": "px"
1046
+ },
1047
+ "spread": {
1048
+ "value": 0,
1049
+ "unit": "px"
1050
+ }
1051
+ },
1052
+ {
1053
+ "color": {
1054
+ "colorSpace": "srgb",
1055
+ "components": [
1056
+ 0.05882,
1057
+ 0.0902,
1058
+ 0.16471
1059
+ ],
1060
+ "hex": "#0f172a",
1061
+ "alpha": 0.1
1062
+ },
1063
+ "offsetX": {
1064
+ "value": 0,
1065
+ "unit": "px"
1066
+ },
1067
+ "offsetY": {
1068
+ "value": 1,
1069
+ "unit": "px"
1070
+ },
1071
+ "blur": {
1072
+ "value": 2,
1073
+ "unit": "px"
1074
+ },
1075
+ "spread": {
1076
+ "value": -1,
1077
+ "unit": "px"
1078
+ }
1079
+ }
1080
+ ],
1081
+ "$description": "derived: v1 shadow-intensity migration",
1082
+ "$extensions": {
1083
+ "com.nurix.design": {
1084
+ "css": "0 1px 3px 0 rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 1px 2px -1px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))"
1085
+ }
1086
+ }
1087
+ },
1088
+ "md": {
1089
+ "$type": "shadow",
1090
+ "$value": [
1091
+ {
1092
+ "color": {
1093
+ "colorSpace": "srgb",
1094
+ "components": [
1095
+ 0.05882,
1096
+ 0.0902,
1097
+ 0.16471
1098
+ ],
1099
+ "hex": "#0f172a",
1100
+ "alpha": 0.1
1101
+ },
1102
+ "offsetX": {
1103
+ "value": 0,
1104
+ "unit": "px"
1105
+ },
1106
+ "offsetY": {
1107
+ "value": 4,
1108
+ "unit": "px"
1109
+ },
1110
+ "blur": {
1111
+ "value": 6,
1112
+ "unit": "px"
1113
+ },
1114
+ "spread": {
1115
+ "value": -1,
1116
+ "unit": "px"
1117
+ }
1118
+ },
1119
+ {
1120
+ "color": {
1121
+ "colorSpace": "srgb",
1122
+ "components": [
1123
+ 0.05882,
1124
+ 0.0902,
1125
+ 0.16471
1126
+ ],
1127
+ "hex": "#0f172a",
1128
+ "alpha": 0.1
1129
+ },
1130
+ "offsetX": {
1131
+ "value": 0,
1132
+ "unit": "px"
1133
+ },
1134
+ "offsetY": {
1135
+ "value": 2,
1136
+ "unit": "px"
1137
+ },
1138
+ "blur": {
1139
+ "value": 4,
1140
+ "unit": "px"
1141
+ },
1142
+ "spread": {
1143
+ "value": -2,
1144
+ "unit": "px"
1145
+ }
1146
+ }
1147
+ ],
1148
+ "$description": "derived: v1 shadow-intensity migration",
1149
+ "$extensions": {
1150
+ "com.nurix.design": {
1151
+ "css": "0 4px 6px -1px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 2px 4px -2px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))"
1152
+ }
1153
+ }
1154
+ },
1155
+ "lg": {
1156
+ "$type": "shadow",
1157
+ "$value": [
1158
+ {
1159
+ "color": {
1160
+ "colorSpace": "srgb",
1161
+ "components": [
1162
+ 0.05882,
1163
+ 0.0902,
1164
+ 0.16471
1165
+ ],
1166
+ "hex": "#0f172a",
1167
+ "alpha": 0.1
1168
+ },
1169
+ "offsetX": {
1170
+ "value": 0,
1171
+ "unit": "px"
1172
+ },
1173
+ "offsetY": {
1174
+ "value": 10,
1175
+ "unit": "px"
1176
+ },
1177
+ "blur": {
1178
+ "value": 15,
1179
+ "unit": "px"
1180
+ },
1181
+ "spread": {
1182
+ "value": -3,
1183
+ "unit": "px"
1184
+ }
1185
+ },
1186
+ {
1187
+ "color": {
1188
+ "colorSpace": "srgb",
1189
+ "components": [
1190
+ 0.05882,
1191
+ 0.0902,
1192
+ 0.16471
1193
+ ],
1194
+ "hex": "#0f172a",
1195
+ "alpha": 0.1
1196
+ },
1197
+ "offsetX": {
1198
+ "value": 0,
1199
+ "unit": "px"
1200
+ },
1201
+ "offsetY": {
1202
+ "value": 4,
1203
+ "unit": "px"
1204
+ },
1205
+ "blur": {
1206
+ "value": 6,
1207
+ "unit": "px"
1208
+ },
1209
+ "spread": {
1210
+ "value": -4,
1211
+ "unit": "px"
1212
+ }
1213
+ }
1214
+ ],
1215
+ "$description": "derived: v1 shadow-intensity migration",
1216
+ "$extensions": {
1217
+ "com.nurix.design": {
1218
+ "css": "0 10px 15px -3px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 4px 6px -4px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))"
1219
+ }
1220
+ }
1221
+ },
1222
+ "overlay": {
1223
+ "$type": "shadow",
1224
+ "$value": [
1225
+ {
1226
+ "color": {
1227
+ "colorSpace": "srgb",
1228
+ "components": [
1229
+ 0.05882,
1230
+ 0.0902,
1231
+ 0.16471
1232
+ ],
1233
+ "hex": "#0f172a",
1234
+ "alpha": 0.1
1235
+ },
1236
+ "offsetX": {
1237
+ "value": 0,
1238
+ "unit": "px"
1239
+ },
1240
+ "offsetY": {
1241
+ "value": 20,
1242
+ "unit": "px"
1243
+ },
1244
+ "blur": {
1245
+ "value": 25,
1246
+ "unit": "px"
1247
+ },
1248
+ "spread": {
1249
+ "value": -5,
1250
+ "unit": "px"
1251
+ }
1252
+ },
1253
+ {
1254
+ "color": {
1255
+ "colorSpace": "srgb",
1256
+ "components": [
1257
+ 0.05882,
1258
+ 0.0902,
1259
+ 0.16471
1260
+ ],
1261
+ "hex": "#0f172a",
1262
+ "alpha": 0.1
1263
+ },
1264
+ "offsetX": {
1265
+ "value": 0,
1266
+ "unit": "px"
1267
+ },
1268
+ "offsetY": {
1269
+ "value": 8,
1270
+ "unit": "px"
1271
+ },
1272
+ "blur": {
1273
+ "value": 10,
1274
+ "unit": "px"
1275
+ },
1276
+ "spread": {
1277
+ "value": -6,
1278
+ "unit": "px"
1279
+ }
1280
+ }
1281
+ ],
1282
+ "$description": "derived: v1 shadow-intensity migration",
1283
+ "$extensions": {
1284
+ "com.nurix.design": {
1285
+ "css": "0 20px 25px -5px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 8px 10px -6px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))"
1286
+ }
979
1287
  }
980
1288
  }
981
1289
  }
@@ -2,11 +2,12 @@
2
2
  "$description": "Kraken — the operator reading\n[density-tier] rationale: corpus is a clean, trustworthy marketing surface, not a terminal — dense-capable but reads calm; honest standard tier",
3
3
  "$extensions": {
4
4
  "com.nurix.design": {
5
- "schema": "design-tokens/v1",
5
+ "schema": "design-tokens/v2",
6
6
  "dtcg": "2025.10",
7
7
  "product": "Kraken",
8
8
  "provenance": "library",
9
9
  "sourced": "2026-07-04",
10
+ "theme-default": "light",
10
11
  "product-traits": [
11
12
  "crypto-exchange",
12
13
  "trading-desk",
@@ -183,6 +184,14 @@
183
184
  }
184
185
  }
185
186
  },
187
+ "stagger-unit": {
188
+ "$type": "duration",
189
+ "$value": {
190
+ "value": 30,
191
+ "unit": "ms"
192
+ },
193
+ "$description": "derived: v1→v2 migration — the 30ms default stagger base (0–60ms legal)"
194
+ },
186
195
  "contrast-boost": {
187
196
  "$type": "number",
188
197
  "$value": 1,
@@ -560,6 +569,16 @@
560
569
  }
561
570
  }
562
571
  },
572
+ "surface-raised": {
573
+ "$type": "color",
574
+ "$value": "{color.card}",
575
+ "$description": "derived: v1→v2 migration — light aliases card; dark looks carry the surface-lightness ladder"
576
+ },
577
+ "surface-overlay": {
578
+ "$type": "color",
579
+ "$value": "{color.popover}",
580
+ "$description": "derived: v1→v2 migration — light aliases popover; dark looks carry the surface-lightness ladder"
581
+ },
563
582
  "popover": {
564
583
  "$type": "color",
565
584
  "$value": {
@@ -952,6 +971,299 @@
952
971
  "letterSpacing": 0
953
972
  },
954
973
  "$description": "uppercase eyebrow"
974
+ },
975
+ "display": {
976
+ "$type": "typography",
977
+ "$value": {
978
+ "fontFamily": "{typography.family.heading}",
979
+ "fontSize": {
980
+ "value": 42,
981
+ "unit": "px"
982
+ },
983
+ "lineHeight": 1.25,
984
+ "fontWeight": "{primitive.font-weight-strong}",
985
+ "letterSpacing": "{primitive.heading-tracking}"
986
+ },
987
+ "$description": "derived: v1→v2 migration — provisional display step (h1 × 1.75, strong weight)",
988
+ "$extensions": {
989
+ "com.nurix.design": {
990
+ "hint": "display step unset — resolve from the product's design.md or leave for budget-time"
991
+ }
992
+ }
993
+ }
994
+ }
995
+ },
996
+ "elevation": {
997
+ "sm": {
998
+ "$type": "shadow",
999
+ "$value": [
1000
+ {
1001
+ "color": {
1002
+ "colorSpace": "srgb",
1003
+ "components": [
1004
+ 0.05882,
1005
+ 0.0902,
1006
+ 0.16471
1007
+ ],
1008
+ "hex": "#0f172a",
1009
+ "alpha": 0.1
1010
+ },
1011
+ "offsetX": {
1012
+ "value": 0,
1013
+ "unit": "px"
1014
+ },
1015
+ "offsetY": {
1016
+ "value": 1,
1017
+ "unit": "px"
1018
+ },
1019
+ "blur": {
1020
+ "value": 3,
1021
+ "unit": "px"
1022
+ },
1023
+ "spread": {
1024
+ "value": 0,
1025
+ "unit": "px"
1026
+ }
1027
+ },
1028
+ {
1029
+ "color": {
1030
+ "colorSpace": "srgb",
1031
+ "components": [
1032
+ 0.05882,
1033
+ 0.0902,
1034
+ 0.16471
1035
+ ],
1036
+ "hex": "#0f172a",
1037
+ "alpha": 0.1
1038
+ },
1039
+ "offsetX": {
1040
+ "value": 0,
1041
+ "unit": "px"
1042
+ },
1043
+ "offsetY": {
1044
+ "value": 1,
1045
+ "unit": "px"
1046
+ },
1047
+ "blur": {
1048
+ "value": 2,
1049
+ "unit": "px"
1050
+ },
1051
+ "spread": {
1052
+ "value": -1,
1053
+ "unit": "px"
1054
+ }
1055
+ }
1056
+ ],
1057
+ "$description": "derived: v1 shadow-intensity migration",
1058
+ "$extensions": {
1059
+ "com.nurix.design": {
1060
+ "css": "0 1px 3px 0 rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 1px 2px -1px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))",
1061
+ "hint": "elevation unset — the design.md names real shadow values (`rgba(16,24,40,0.04) 0 1px 4px`; `rgba(0,0,0,0.03) 0 4px 24px`); resolve the composites from that prose at the data build"
1062
+ }
1063
+ }
1064
+ },
1065
+ "md": {
1066
+ "$type": "shadow",
1067
+ "$value": [
1068
+ {
1069
+ "color": {
1070
+ "colorSpace": "srgb",
1071
+ "components": [
1072
+ 0.05882,
1073
+ 0.0902,
1074
+ 0.16471
1075
+ ],
1076
+ "hex": "#0f172a",
1077
+ "alpha": 0.1
1078
+ },
1079
+ "offsetX": {
1080
+ "value": 0,
1081
+ "unit": "px"
1082
+ },
1083
+ "offsetY": {
1084
+ "value": 4,
1085
+ "unit": "px"
1086
+ },
1087
+ "blur": {
1088
+ "value": 6,
1089
+ "unit": "px"
1090
+ },
1091
+ "spread": {
1092
+ "value": -1,
1093
+ "unit": "px"
1094
+ }
1095
+ },
1096
+ {
1097
+ "color": {
1098
+ "colorSpace": "srgb",
1099
+ "components": [
1100
+ 0.05882,
1101
+ 0.0902,
1102
+ 0.16471
1103
+ ],
1104
+ "hex": "#0f172a",
1105
+ "alpha": 0.1
1106
+ },
1107
+ "offsetX": {
1108
+ "value": 0,
1109
+ "unit": "px"
1110
+ },
1111
+ "offsetY": {
1112
+ "value": 2,
1113
+ "unit": "px"
1114
+ },
1115
+ "blur": {
1116
+ "value": 4,
1117
+ "unit": "px"
1118
+ },
1119
+ "spread": {
1120
+ "value": -2,
1121
+ "unit": "px"
1122
+ }
1123
+ }
1124
+ ],
1125
+ "$description": "derived: v1 shadow-intensity migration",
1126
+ "$extensions": {
1127
+ "com.nurix.design": {
1128
+ "css": "0 4px 6px -1px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 2px 4px -2px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))",
1129
+ "hint": "elevation unset — the design.md names real shadow values (`rgba(16,24,40,0.04) 0 1px 4px`; `rgba(0,0,0,0.03) 0 4px 24px`); resolve the composites from that prose at the data build"
1130
+ }
1131
+ }
1132
+ },
1133
+ "lg": {
1134
+ "$type": "shadow",
1135
+ "$value": [
1136
+ {
1137
+ "color": {
1138
+ "colorSpace": "srgb",
1139
+ "components": [
1140
+ 0.05882,
1141
+ 0.0902,
1142
+ 0.16471
1143
+ ],
1144
+ "hex": "#0f172a",
1145
+ "alpha": 0.1
1146
+ },
1147
+ "offsetX": {
1148
+ "value": 0,
1149
+ "unit": "px"
1150
+ },
1151
+ "offsetY": {
1152
+ "value": 10,
1153
+ "unit": "px"
1154
+ },
1155
+ "blur": {
1156
+ "value": 15,
1157
+ "unit": "px"
1158
+ },
1159
+ "spread": {
1160
+ "value": -3,
1161
+ "unit": "px"
1162
+ }
1163
+ },
1164
+ {
1165
+ "color": {
1166
+ "colorSpace": "srgb",
1167
+ "components": [
1168
+ 0.05882,
1169
+ 0.0902,
1170
+ 0.16471
1171
+ ],
1172
+ "hex": "#0f172a",
1173
+ "alpha": 0.1
1174
+ },
1175
+ "offsetX": {
1176
+ "value": 0,
1177
+ "unit": "px"
1178
+ },
1179
+ "offsetY": {
1180
+ "value": 4,
1181
+ "unit": "px"
1182
+ },
1183
+ "blur": {
1184
+ "value": 6,
1185
+ "unit": "px"
1186
+ },
1187
+ "spread": {
1188
+ "value": -4,
1189
+ "unit": "px"
1190
+ }
1191
+ }
1192
+ ],
1193
+ "$description": "derived: v1 shadow-intensity migration",
1194
+ "$extensions": {
1195
+ "com.nurix.design": {
1196
+ "css": "0 10px 15px -3px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 4px 6px -4px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))",
1197
+ "hint": "elevation unset — the design.md names real shadow values (`rgba(16,24,40,0.04) 0 1px 4px`; `rgba(0,0,0,0.03) 0 4px 24px`); resolve the composites from that prose at the data build"
1198
+ }
1199
+ }
1200
+ },
1201
+ "overlay": {
1202
+ "$type": "shadow",
1203
+ "$value": [
1204
+ {
1205
+ "color": {
1206
+ "colorSpace": "srgb",
1207
+ "components": [
1208
+ 0.05882,
1209
+ 0.0902,
1210
+ 0.16471
1211
+ ],
1212
+ "hex": "#0f172a",
1213
+ "alpha": 0.1
1214
+ },
1215
+ "offsetX": {
1216
+ "value": 0,
1217
+ "unit": "px"
1218
+ },
1219
+ "offsetY": {
1220
+ "value": 20,
1221
+ "unit": "px"
1222
+ },
1223
+ "blur": {
1224
+ "value": 25,
1225
+ "unit": "px"
1226
+ },
1227
+ "spread": {
1228
+ "value": -5,
1229
+ "unit": "px"
1230
+ }
1231
+ },
1232
+ {
1233
+ "color": {
1234
+ "colorSpace": "srgb",
1235
+ "components": [
1236
+ 0.05882,
1237
+ 0.0902,
1238
+ 0.16471
1239
+ ],
1240
+ "hex": "#0f172a",
1241
+ "alpha": 0.1
1242
+ },
1243
+ "offsetX": {
1244
+ "value": 0,
1245
+ "unit": "px"
1246
+ },
1247
+ "offsetY": {
1248
+ "value": 8,
1249
+ "unit": "px"
1250
+ },
1251
+ "blur": {
1252
+ "value": 10,
1253
+ "unit": "px"
1254
+ },
1255
+ "spread": {
1256
+ "value": -6,
1257
+ "unit": "px"
1258
+ }
1259
+ }
1260
+ ],
1261
+ "$description": "derived: v1 shadow-intensity migration",
1262
+ "$extensions": {
1263
+ "com.nurix.design": {
1264
+ "css": "0 20px 25px -5px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity))), 0 8px 10px -6px rgb(15 23 42 / calc(0.10 * var(--shadow-intensity)))",
1265
+ "hint": "elevation unset — the design.md names real shadow values (`rgba(16,24,40,0.04) 0 1px 4px`; `rgba(0,0,0,0.03) 0 4px 24px`); resolve the composites from that prose at the data build"
1266
+ }
955
1267
  }
956
1268
  }
957
1269
  }
@@ -11,7 +11,7 @@
11
11
  "modifiers": [
12
12
  {
13
13
  "name": "theme",
14
- "default": "light",
14
+ "default": "dark",
15
15
  "contexts": {
16
16
  "light": [],
17
17
  "dark": [