@refrakt-md/lumina 0.18.0 → 0.19.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 (50) hide show
  1. package/contracts/structures.json +285 -191
  2. package/dist/config.js +5 -5
  3. package/dist/config.js.map +1 -1
  4. package/dist/presets/tideline.d.ts.map +1 -1
  5. package/dist/presets/tideline.js +0 -14
  6. package/dist/presets/tideline.js.map +1 -1
  7. package/dist/tokens.d.ts.map +1 -1
  8. package/dist/tokens.js +14 -23
  9. package/dist/tokens.js.map +1 -1
  10. package/index.css +1 -1
  11. package/package.json +4 -4
  12. package/styles/dimensions/media.css +1 -1
  13. package/styles/dimensions/sections.css +4 -1
  14. package/styles/dimensions/sequence.css +1 -1
  15. package/styles/dimensions/state.css +1 -1
  16. package/styles/dimensions/surfaces.css +15 -2
  17. package/styles/global.css +68 -0
  18. package/styles/layouts/on-this-page.css +2 -2
  19. package/styles/layouts/search.css +2 -2
  20. package/styles/layouts/split.css +134 -183
  21. package/styles/layouts/version-switcher.css +1 -1
  22. package/styles/runes/audio.css +1 -1
  23. package/styles/runes/bento.css +186 -97
  24. package/styles/runes/bond.css +1 -1
  25. package/styles/runes/budget.css +1 -1
  26. package/styles/runes/card.css +64 -9
  27. package/styles/runes/character.css +1 -1
  28. package/styles/runes/chart.css +69 -0
  29. package/styles/runes/design-context.css +7 -5
  30. package/styles/runes/event.css +1 -1
  31. package/styles/runes/faction.css +32 -6
  32. package/styles/runes/feature.css +21 -16
  33. package/styles/runes/figure.css +1 -2
  34. package/styles/runes/gallery.css +39 -8
  35. package/styles/runes/itinerary.css +2 -2
  36. package/styles/runes/lore.css +1 -1
  37. package/styles/runes/palette.css +3 -3
  38. package/styles/runes/plan-progress.css +15 -62
  39. package/styles/runes/playlist.css +32 -0
  40. package/styles/runes/plot.css +2 -2
  41. package/styles/runes/realm.css +32 -6
  42. package/styles/runes/recipe.css +38 -2
  43. package/styles/runes/sandbox.css +1 -1
  44. package/styles/runes/spacing.css +4 -4
  45. package/styles/runes/swatch.css +1 -1
  46. package/styles/runes/tint.css +7 -7
  47. package/styles/runes/typography.css +7 -7
  48. package/styles/runes/xref.css +1 -1
  49. package/tokens/base.css +10 -14
  50. package/tokens/dark.css +16 -14
package/dist/config.js CHANGED
@@ -62,17 +62,17 @@ export const luminaConfig = mergeThemeConfig(baseConfig, {
62
62
  border: 'var(--rf-color-info-border)',
63
63
  },
64
64
  dark: {
65
- bg: 'var(--rf-color-primary-950)',
66
- text: 'var(--rf-color-primary-300)',
65
+ bg: '#1c1a17',
66
+ text: '#e2e0dd',
67
67
  primary: 'var(--rf-color-primary)',
68
- border: 'var(--rf-color-primary-700)',
68
+ border: '#5a564f',
69
69
  },
70
70
  },
71
71
  dark: {
72
72
  lockMode: 'dark',
73
73
  dark: {
74
- bg: 'var(--rf-color-primary-700)',
75
- text: 'var(--rf-color-primary-50)',
74
+ bg: '#5a564f',
75
+ text: '#fbfaf7',
76
76
  primary: 'var(--rf-color-danger)',
77
77
  },
78
78
  },
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAElD,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE;IACxD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,EAAE,EAAE,oBAAoB;gBACxB,OAAO,EAAE,yBAAyB;gBAClC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,EAAE,EAAE,oBAAoB;gBACxB,OAAO,EAAE,yBAAyB;gBAClC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,MAAM,EAAE;YACP,KAAK,EAAE;gBACN,EAAE,EAAE,yBAAyB;gBAC7B,OAAO,EAAE,+BAA+B;gBACxC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,EAAE,EAAE,yBAAyB;gBAC7B,OAAO,EAAE,+BAA+B;gBACxC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,EAAE,EAAE,gCAAgC;gBACpC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,SAAS;aACjB;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,EAAE,EAAE,yBAAyB;gBAC7B,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,6BAA6B;aACrC;YACD,IAAI,EAAE;gBACL,EAAE,EAAE,6BAA6B;gBACjC,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,6BAA6B;aACrC;SACD;QACD,IAAI,EAAE;YACL,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE;gBACL,EAAE,EAAE,6BAA6B;gBACjC,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE,wBAAwB;aACjC;SACD;KACD;IACD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,IAAI,EAAE,4SAA4S;YAClT,OAAO,EAAE,iXAAiX;YAC1X,OAAO,EAAE,uSAAuS;YAChT,KAAK,EAAE,qRAAqR;SAC5R;QACD,MAAM,EAAE,WAAW;KACnB;CACD,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAElD,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE;IACxD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,EAAE,EAAE,oBAAoB;gBACxB,OAAO,EAAE,yBAAyB;gBAClC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,EAAE,EAAE,oBAAoB;gBACxB,OAAO,EAAE,yBAAyB;gBAClC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,MAAM,EAAE;YACP,KAAK,EAAE;gBACN,EAAE,EAAE,yBAAyB;gBAC7B,OAAO,EAAE,+BAA+B;gBACxC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,EAAE,EAAE,yBAAyB;gBAC7B,OAAO,EAAE,+BAA+B;gBACxC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,EAAE,EAAE,gCAAgC;gBACpC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,wBAAwB;aAChC;YACD,IAAI,EAAE;gBACL,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,SAAS;aACjB;SACD;QACD,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,EAAE,EAAE,yBAAyB;gBAC7B,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,6BAA6B;aACrC;YACD,IAAI,EAAE;gBACL,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,yBAAyB;gBAClC,MAAM,EAAE,SAAS;aACjB;SACD;QACD,IAAI,EAAE;YACL,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE;gBACL,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,wBAAwB;aACjC;SACD;KACD;IACD,KAAK,EAAE;QACN,IAAI,EAAE;YACL,IAAI,EAAE,4SAA4S;YAClT,OAAO,EAAE,iXAAiX;YAC1X,OAAO,EAAE,uSAAuS;YAChT,KAAK,EAAE,qRAAqR;SAC5R;QACD,MAAM,EAAE,WAAW;KACnB;CACD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tideline.d.ts","sourceRoot":"","sources":["../../src/presets/tideline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,QAAQ,EAAE,iBAyHf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"tideline.d.ts","sourceRoot":"","sources":["../../src/presets/tideline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,QAAQ,EAAE,iBA0Gf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -32,20 +32,6 @@ const tideline = {
32
32
  bg: '#faf5eb',
33
33
  primary: '#457b9d',
34
34
  'primary-hover': '#376585',
35
- // Cerulean → frosted blue scale, preserved from pre-v0.14.0 Lumina.
36
- 'primary-scale': {
37
- '50': '#f0f6f9',
38
- '100': '#dcebf0',
39
- '200': '#b8d6e2',
40
- '300': '#a8dadc',
41
- '400': '#70b4c0',
42
- '500': '#457b9d',
43
- '600': '#376585',
44
- '700': '#1d3557',
45
- '800': '#182c4a',
46
- '900': '#12213a',
47
- '950': '#0c162a',
48
- },
49
35
  surface: {
50
36
  base: '#fffbf2',
51
37
  hover: '#fdf0d5',
@@ -1 +1 @@
1
- {"version":3,"file":"tideline.js","sourceRoot":"","sources":["../../src/presets/tideline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tideline.js","sourceRoot":"","sources":["../../src/presets/tideline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,EAAE,iBA6L1B,CAAC"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,EAAE,iBAmL1B,CAAC"}
package/dist/tokens.js CHANGED
@@ -27,23 +27,13 @@ export const luminaTokens = {
27
27
  bg: '#f5f4f1',
28
28
  primary: '#1c1a17',
29
29
  'primary-hover': '#3a342d',
30
- // Warm-neutral axis from near-bg to near-text, eleven hand-picked stops.
31
- // Several stops intentionally overlap with semantic tokens (surface.base,
32
- // border, primary-hover, text) that's normal; palette steps double as
33
- // the implementations of the named tokens at their lightness level.
34
- 'primary-scale': {
35
- '50': '#fbfaf7',
36
- '100': '#f5f4f1',
37
- '200': '#ecebe8',
38
- '300': '#e2e0dd',
39
- '400': '#bfbab2',
40
- '500': '#94908a',
41
- '600': '#76716a',
42
- '700': '#5a564f',
43
- '800': '#3a342d',
44
- '900': '#2a2622',
45
- '950': '#1c1a17',
46
- },
30
+ // Derived subtle primary wash completes the {semantic}-bg family.
31
+ // color-mix off `primary` so it tracks any preset/config override in
32
+ // both modes (no per-preset value, no dark override needed).
33
+ 'primary-bg': 'color-mix(in oklch, var(--rf-color-primary) 10%, transparent)',
34
+ // Foreground for text/icons sitting on a `primary` fill. Flips per mode
35
+ // because base `primary` is dark in light mode and light in dark mode.
36
+ 'on-primary': '#ffffff',
47
37
  surface: {
48
38
  base: '#fbfaf7',
49
39
  hover: '#ecebe8',
@@ -126,22 +116,23 @@ export const luminaTokens = {
126
116
  color: {
127
117
  text: '#f6f4ef',
128
118
  muted: '#94908a',
129
- border: '#2a2825',
119
+ border: '#282825',
130
120
  bg: '#1a1a17',
131
121
  primary: '#f6f4ef',
132
122
  'primary-hover': '#d4cfc5',
123
+ 'on-primary': '#1a1a17',
133
124
  surface: {
134
- base: '#211f1c',
135
- hover: '#2a2825',
136
- active: '#353330',
137
- raised: '#292723',
125
+ base: '#1f1f1c',
126
+ hover: '#282825',
127
+ active: '#333330',
128
+ raised: '#272723',
138
129
  },
139
130
  info: { base: '#9bb4c7', bg: '#1f2530', border: '#3d4655' },
140
131
  warning: { base: '#d4a868', bg: '#2a2519', border: '#4a3f2a' },
141
132
  danger: { base: '#d48888', bg: '#2a1818', border: '#4a2a2a' },
142
133
  success: { base: '#7eb398', bg: '#1a2a1f', border: '#2a4a35' },
143
134
  code: {
144
- bg: '#222220',
135
+ bg: '#1c1c19',
145
136
  text: '#f6f4ef',
146
137
  'inline-bg': '#2b2b29',
147
138
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC9C,IAAI,EAAE;QACL,IAAI,EAAE,mEAAmE;QACzE,IAAI,EAAE,yEAAyE;KAC/E;IAED,KAAK,EAAE;QACN,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,SAAS;QAClB,eAAe,EAAE,SAAS;QAC1B,oEAAoE;QACpE,qEAAqE;QACrE,6DAA6D;QAC7D,YAAY,EAAE,+DAA+D;QAC7E,wEAAwE;QACxE,uEAAuE;QACvE,YAAY,EAAE,SAAS;QAEvB,OAAO,EAAE;YACR,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SACjB;QAED,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;QAC3D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;QAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;QAC7D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;QAE9D,IAAI,EAAE;YACL,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,SAAS;YACf,wDAAwD;YACxD,sEAAsE;YACtE,kEAAkE;YAClE,WAAW,EAAE,SAAS;SACtB;QAED,8DAA8D;QAC9D,oEAAoE;QACpE,oEAAoE;QACpE,+DAA+D;QAC/D,8DAA8D;QAC9D,6DAA6D;QAC7D,IAAI,EAAE;YACL,SAAS,EAAE,0DAA0D;YACrE,gBAAgB,EAAE,+CAA+C;YACjE,MAAM,EAAE,uBAAuB;SAC/B;KACD;IAED,MAAM,EAAE;QACP,EAAE,EAAE,KAAK;QACT,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,QAAQ;KACd;IAED,OAAO,EAAE;QACR,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,OAAO,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;SACf;KACD;IAED,KAAK,EAAE;QACN,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;KACf;IAED,MAAM,EAAE;QACP,EAAE,EAAE,4BAA4B;QAChC,EAAE,EAAE,wDAAwD;QAC5D,EAAE,EAAE,yDAAyD;QAC7D,EAAE,EAAE,yDAAyD;KAC7D;IAED,wEAAwE;IACxE,oEAAoE;IACpE,qEAAqE;IACrE,aAAa;IACb,MAAM,EAAE;QACP,OAAO,EAAE,SAAS,EAAM,YAAY;QACpC,QAAQ,EAAE,SAAS,EAAK,eAAe;QACvC,MAAM,EAAE,SAAS,EAAO,YAAY;QACpC,QAAQ,EAAE,SAAS,EAAK,gBAAgB;QACxC,OAAO,EAAE,SAAS,EAAM,mCAAmC;QAC3D,WAAW,EAAE,SAAS,EAAE,8BAA8B;QACtD,QAAQ,EAAE,SAAS,EAAK,6BAA6B;KACrD;IAED,KAAK,EAAE;QACN,IAAI,EAAE;YACL,KAAK,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,SAAS;gBACjB,EAAE,EAAE,SAAS;gBACb,OAAO,EAAE,SAAS;gBAClB,eAAe,EAAE,SAAS;gBAC1B,YAAY,EAAE,SAAS;gBAEvB,OAAO,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,SAAS;iBACjB;gBAED,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBAC3D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBAC7D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBAE9D,IAAI,EAAE;oBACL,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,SAAS;iBACtB;aACD;YAED,MAAM,EAAE;gBACP,EAAE,EAAE,2BAA2B;gBAC/B,EAAE,EAAE,sDAAsD;gBAC1D,EAAE,EAAE,uDAAuD;gBAC3D,EAAE,EAAE,uDAAuD;aAC3D;YAED,uEAAuE;YACvE,qEAAqE;YACrE,MAAM,EAAE;gBACP,OAAO,EAAE,SAAS,EAAM,aAAa;gBACrC,QAAQ,EAAE,SAAS,EAAK,qBAAqB;gBAC7C,MAAM,EAAE,SAAS,EAAO,aAAa;gBACrC,QAAQ,EAAE,SAAS,EAAK,sBAAsB;gBAC9C,OAAO,EAAE,SAAS,EAAM,sBAAsB;gBAC9C,WAAW,EAAE,SAAS,EAAE,qBAAqB;gBAC7C,QAAQ,EAAE,SAAS,EAAK,oBAAoB;aAC5C;YAED,oEAAoE;YACpE,kEAAkE;YAClE,qEAAqE;YACrE,0BAA0B;YAC1B,KAAK,EAAE;gBACN,yBAAyB,EAAE,SAAS;aACpC;SACD;KACD;IAED;;;;;;;;;qBASiB;IACjB,KAAK,EAAE;QACN,yBAAyB,EAAE,SAAS;KACpC;CACD,CAAC"}
package/index.css CHANGED
@@ -125,6 +125,6 @@
125
125
  @import './styles/runes/bug.css';
126
126
  @import './styles/runes/decision.css';
127
127
  @import './styles/runes/milestone.css';
128
- @import './styles/runes/plan-progress.css';
129
128
  @import './styles/runes/plan-ref.css';
130
129
  @import './styles/runes/plan-history.css';
130
+ @import './styles/runes/plan-progress.css';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@refrakt-md/lumina",
3
3
  "description": "Lumina theme for refrakt.md — design tokens, CSS, identity transform, and layout configs",
4
- "version": "0.18.0",
4
+ "version": "0.19.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -83,9 +83,9 @@
83
83
  "build": "tsc"
84
84
  },
85
85
  "dependencies": {
86
- "@refrakt-md/runes": "0.18.0",
87
- "@refrakt-md/transform": "0.18.0",
88
- "@refrakt-md/types": "0.18.0"
86
+ "@refrakt-md/runes": "0.19.0",
87
+ "@refrakt-md/transform": "0.19.0",
88
+ "@refrakt-md/types": "0.19.0"
89
89
  },
90
90
  "devDependencies": {
91
91
  "postcss": "^8.4.0"
@@ -20,7 +20,7 @@
20
20
  [data-media="cover"] {
21
21
  width: 100%;
22
22
  object-fit: cover;
23
- border-radius: var(--rf-radius-md) var(--rf-radius-md) 0 0;
23
+ border-radius: var(--rf-radius-md);
24
24
  }
25
25
 
26
26
  /* ─── Thumbnail: small fixed preview ──────────────────────────────── */
@@ -73,5 +73,8 @@
73
73
  /* ─── Media: visual content ───────────────────────────────────────── */
74
74
 
75
75
  [data-section="media"] {
76
- margin: var(--rf-spacing-sm) 0;
76
+ /* Media zones manage their own spacing via their layout (split gap, cell
77
+ * padding, flow margins); a blanket block margin here misaligns media in
78
+ * flex/beside layouts, so keep it neutral. */
79
+ margin: 0;
77
80
  }
@@ -63,7 +63,7 @@
63
63
  height: 0.75rem;
64
64
  border-radius: 50%;
65
65
  background: var(--rf-color-primary);
66
- border: 2px solid var(--rf-color-background);
66
+ border: 2px solid var(--rf-color-bg);
67
67
  box-shadow: 0 0 0 2px var(--rf-color-primary);
68
68
  }
69
69
 
@@ -45,7 +45,7 @@ button[data-state="inactive"] {
45
45
  /* ─── Selected: user selection highlight ──────────────────────────── */
46
46
 
47
47
  [data-state="selected"] {
48
- background: color-mix(in oklch, var(--rf-color-primary) 10%, transparent);
48
+ background: var(--rf-color-primary-bg);
49
49
  outline: 2px solid var(--rf-color-primary);
50
50
  }
51
51
 
@@ -4,6 +4,17 @@
4
4
  * Padding scales with density via --rune-padding custom property.
5
5
  * ────────────────────────────────────────────────────────────────────── */
6
6
 
7
+ /* Semantic surface/media aliases over the raw token scale (these reference
8
+ * tokens rather than holding raw values, so they live in the styles layer, not
9
+ * the generated token contract). Outer surfaces round at --rf-radius-container;
10
+ * media guests nested inside them round at the smaller --rf-radius-media so they
11
+ * never read as more rounded than their container. SPEC-086's `frame` will
12
+ * override these per-instance. */
13
+ :root {
14
+ --rf-radius-container: var(--rf-radius-lg);
15
+ --rf-radius-media: var(--rf-radius-md);
16
+ }
17
+
7
18
  /* ─── Rune Spacing ────────────────────────────────────────────────── */
8
19
  /* Only top-level runes get vertical margin; child runes (nav items,
9
20
  accordion items, grid cells, etc.) inherit spacing from their parent.
@@ -42,7 +53,8 @@
42
53
  .rf-howto,
43
54
  .rf-form {
44
55
  background: var(--rf-color-surface);
45
- border-radius: var(--rf-radius-md);
56
+ border: 1px solid var(--rf-color-border);
57
+ border-radius: var(--rf-radius-container);
46
58
  padding: var(--rune-padding, var(--rf-spacing-md));
47
59
  }
48
60
 
@@ -86,6 +98,7 @@
86
98
  .rf-figure,
87
99
  .rf-reveal {
88
100
  background: var(--rf-color-surface);
89
- border-radius: var(--rf-radius-md);
101
+ border: 1px solid var(--rf-color-border);
102
+ border-radius: var(--rf-radius-container);
90
103
  padding: var(--rune-padding, var(--rf-spacing-md));
91
104
  }
package/styles/global.css CHANGED
@@ -28,6 +28,74 @@ body {
28
28
  margin: 0;
29
29
  }
30
30
 
31
+ /* ─── Theme-aware browser chrome (WORK-351) ─────────────────────────
32
+ * Make native chrome — scrollbars, form controls, the main viewport
33
+ * scrollbar — follow the active theme instead of always rendering in
34
+ * the OS default scheme. */
35
+
36
+ /* `color-scheme` so the UA paints native widgets/scrollbars per mode.
37
+ * Mirrors the dark-token selectors (explicit toggle + system preference
38
+ * unless forced light). */
39
+ :root { color-scheme: light; }
40
+ [data-theme="dark"] { color-scheme: dark; }
41
+ @media (prefers-color-scheme: dark) {
42
+ :root:not([data-theme="light"]) { color-scheme: dark; }
43
+ }
44
+
45
+ /* Branded text selection — a subtle primary wash (the native/OS blue
46
+ * otherwise leaks through). Background only, so the element's own text
47
+ * colour stays legible under any theme. */
48
+ ::selection {
49
+ background: color-mix(in oklch, var(--rf-color-primary) 22%, transparent);
50
+ }
51
+
52
+ /* Token-driven scrollbars. `scrollbar-color` / `scrollbar-width` inherit,
53
+ * so setting them on the root reaches every overflow container (codegroup,
54
+ * datatable, drawer body, nav/sidebar) without per-rune rules; the WebKit
55
+ * pseudo-elements refine the same colours. More specific per-container
56
+ * rules (e.g. the hidden docs sidebar) still win. */
57
+ :root {
58
+ scrollbar-width: thin;
59
+ scrollbar-color: var(--rf-color-muted) transparent;
60
+ }
61
+ ::-webkit-scrollbar { width: 10px; height: 10px; }
62
+ ::-webkit-scrollbar-track { background: transparent; }
63
+ ::-webkit-scrollbar-thumb {
64
+ background: var(--rf-color-muted);
65
+ border-radius: var(--rf-radius-full);
66
+ border: 2px solid transparent;
67
+ background-clip: padding-box;
68
+ }
69
+ ::-webkit-scrollbar-thumb:hover { background: var(--rf-color-text); }
70
+
71
+ /* ─── Keyboard focus (WORK-352) ─────────────────────────────────────
72
+ * A uniform, token-driven focus ring on every interactive element, at
73
+ * zero specificity (`:where`) so a rune's own `:focus-visible` overrides
74
+ * it. An outline (not box-shadow) follows border-radius and never shifts
75
+ * layout; `outline-color` uses `primary`, so it is visible in both modes. */
76
+ :where(
77
+ a[href], button, input, select, textarea, summary,
78
+ [tabindex]:not([tabindex="-1"]),
79
+ [role="button"], [role="tab"], [role="link"], [role="menuitem"], [role="menuitemradio"]
80
+ ):focus-visible {
81
+ outline: 2px solid var(--rf-color-primary);
82
+ outline-offset: 2px;
83
+ }
84
+
85
+ /* ─── Reduced motion (WORK-352) ─────────────────────────────────────
86
+ * Honour the user's motion preference across every animated rune
87
+ * (chart, reveal, juxtapose, accordion, drawer, …) in one place. Uses a
88
+ * near-zero duration rather than `none` so animation/transition end
89
+ * events still fire for behaviours that await them. */
90
+ @media (prefers-reduced-motion: reduce) {
91
+ *, *::before, *::after {
92
+ animation-duration: 0.01ms !important;
93
+ animation-iteration-count: 1 !important;
94
+ transition-duration: 0.01ms !important;
95
+ scroll-behavior: auto !important;
96
+ }
97
+ }
98
+
31
99
  h1, h2, h3, h4, h5, h6 {
32
100
  line-height: 1.25;
33
101
  margin-top: 2em;
@@ -40,9 +40,9 @@
40
40
  }
41
41
 
42
42
  .rf-on-this-page__item[data-active] {
43
- border-left-color: var(--rf-color-primary, #0ea5e9);
43
+ border-left-color: var(--rf-color-primary);
44
44
  }
45
45
 
46
46
  .rf-on-this-page__item[data-active] a {
47
- color: var(--rf-color-primary, #0ea5e9);
47
+ color: var(--rf-color-primary);
48
48
  }
@@ -145,8 +145,8 @@
145
145
  color: var(--rf-color-muted);
146
146
  }
147
147
  .rf-search-result__excerpt mark {
148
- background: var(--rf-color-primary-100);
149
- color: var(--rf-color-primary-700);
148
+ background: var(--rf-color-primary-bg);
149
+ color: var(--rf-color-text);
150
150
  border-radius: 2px;
151
151
  padding: 0 1px;
152
152
  }