@refrakt-md/lumina 0.32.0 → 0.34.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 (142) hide show
  1. package/base.css +29 -29
  2. package/contracts/structures.json +58 -60
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/icons.d.ts.map +1 -1
  6. package/dist/icons.js +57 -57
  7. package/dist/icons.js.map +1 -1
  8. package/dist/presets/catppuccin.js.map +1 -1
  9. package/dist/presets/dracula.js.map +1 -1
  10. package/dist/presets/gruvbox.js.map +1 -1
  11. package/dist/presets/niwaki.js.map +1 -1
  12. package/dist/presets/nord.js.map +1 -1
  13. package/dist/presets/one-dark.js.map +1 -1
  14. package/dist/presets/solarized.js.map +1 -1
  15. package/dist/presets/tideline.d.ts.map +1 -1
  16. package/dist/presets/tideline.js +20 -4
  17. package/dist/presets/tideline.js.map +1 -1
  18. package/dist/presets/tokyo-night.js.map +1 -1
  19. package/dist/tokens.js.map +1 -1
  20. package/index.css +124 -124
  21. package/package.json +5 -5
  22. package/presets.json +61 -13
  23. package/styles/base/attributes.css +32 -13
  24. package/styles/dimensions/checklist.css +45 -46
  25. package/styles/dimensions/cover.css +71 -51
  26. package/styles/dimensions/density.css +69 -65
  27. package/styles/dimensions/frame.css +116 -57
  28. package/styles/dimensions/metadata.css +110 -103
  29. package/styles/dimensions/motion.css +42 -13
  30. package/styles/dimensions/reading.css +27 -27
  31. package/styles/dimensions/sections.css +44 -45
  32. package/styles/dimensions/sequence.css +56 -57
  33. package/styles/dimensions/state.css +8 -2
  34. package/styles/dimensions/substrate.css +82 -58
  35. package/styles/dimensions/surfaces.css +65 -62
  36. package/styles/elements/blockquote.css +24 -25
  37. package/styles/elements/code.css +72 -71
  38. package/styles/elements/table.css +36 -37
  39. package/styles/global.css +163 -121
  40. package/styles/layouts/blog.css +219 -218
  41. package/styles/layouts/default.css +168 -167
  42. package/styles/layouts/docs.css +121 -122
  43. package/styles/layouts/mobile.css +54 -55
  44. package/styles/layouts/on-this-page.css +46 -47
  45. package/styles/layouts/plan.css +248 -247
  46. package/styles/layouts/search.css +142 -140
  47. package/styles/layouts/split.css +45 -45
  48. package/styles/layouts/theme-toggle.css +33 -31
  49. package/styles/layouts/version-switcher.css +38 -37
  50. package/styles/runes/accordion.css +90 -81
  51. package/styles/runes/aggregate.css +50 -39
  52. package/styles/runes/annotate.css +46 -45
  53. package/styles/runes/api.css +22 -23
  54. package/styles/runes/audio.css +140 -141
  55. package/styles/runes/badge.css +12 -13
  56. package/styles/runes/bar.css +4 -5
  57. package/styles/runes/bento.css +73 -62
  58. package/styles/runes/bg.css +62 -47
  59. package/styles/runes/blog.css +89 -90
  60. package/styles/runes/bond.css +49 -50
  61. package/styles/runes/breadcrumb.css +34 -35
  62. package/styles/runes/budget.css +126 -127
  63. package/styles/runes/bug.css +28 -27
  64. package/styles/runes/card.css +63 -60
  65. package/styles/runes/carousel.css +15 -15
  66. package/styles/runes/cast.css +50 -51
  67. package/styles/runes/changelog.css +45 -46
  68. package/styles/runes/character.css +31 -32
  69. package/styles/runes/chart.css +194 -106
  70. package/styles/runes/codegroup.css +109 -100
  71. package/styles/runes/collection.css +87 -86
  72. package/styles/runes/compare.css +38 -39
  73. package/styles/runes/comparison.css +205 -179
  74. package/styles/runes/conversation.css +36 -33
  75. package/styles/runes/cta.css +135 -132
  76. package/styles/runes/datatable.css +84 -83
  77. package/styles/runes/decision.css +25 -26
  78. package/styles/runes/design-context.css +21 -23
  79. package/styles/runes/details.css +26 -27
  80. package/styles/runes/diagram.css +28 -29
  81. package/styles/runes/diff.css +75 -72
  82. package/styles/runes/drawer.css +276 -198
  83. package/styles/runes/embed.css +20 -21
  84. package/styles/runes/event.css +35 -36
  85. package/styles/runes/expand.css +43 -34
  86. package/styles/runes/faction.css +47 -48
  87. package/styles/runes/feature.css +119 -112
  88. package/styles/runes/figure.css +11 -12
  89. package/styles/runes/file-ref.css +11 -13
  90. package/styles/runes/form.css +155 -154
  91. package/styles/runes/gallery.css +59 -60
  92. package/styles/runes/grid.css +10 -7
  93. package/styles/runes/hero.css +189 -185
  94. package/styles/runes/hint.css +57 -58
  95. package/styles/runes/howto.css +62 -64
  96. package/styles/runes/itinerary.css +133 -134
  97. package/styles/runes/juxtapose.css +83 -82
  98. package/styles/runes/lore.css +32 -34
  99. package/styles/runes/map.css +106 -99
  100. package/styles/runes/mediatext.css +30 -27
  101. package/styles/runes/milestone.css +98 -97
  102. package/styles/runes/mockup.css +338 -335
  103. package/styles/runes/nav.css +465 -450
  104. package/styles/runes/organization.css +23 -20
  105. package/styles/runes/page-section.css +14 -15
  106. package/styles/runes/pagination.css +45 -44
  107. package/styles/runes/palette.css +78 -80
  108. package/styles/runes/placeholder.css +8 -9
  109. package/styles/runes/plan-history.css +160 -161
  110. package/styles/runes/plan-progress.css +15 -16
  111. package/styles/runes/plan-ref.css +32 -23
  112. package/styles/runes/playlist.css +106 -107
  113. package/styles/runes/plot.css +92 -91
  114. package/styles/runes/preview.css +152 -149
  115. package/styles/runes/pricing.css +133 -123
  116. package/styles/runes/progress.css +32 -27
  117. package/styles/runes/pullquote.css +89 -90
  118. package/styles/runes/realm.css +47 -48
  119. package/styles/runes/recipe.css +112 -114
  120. package/styles/runes/relationships.css +77 -76
  121. package/styles/runes/reveal.css +90 -79
  122. package/styles/runes/sandbox.css +59 -60
  123. package/styles/runes/section.css +57 -50
  124. package/styles/runes/showcase.css +35 -16
  125. package/styles/runes/sidenote.css +30 -27
  126. package/styles/runes/snippet.css +8 -9
  127. package/styles/runes/spacing.css +86 -88
  128. package/styles/runes/spec.css +24 -25
  129. package/styles/runes/steps.css +89 -80
  130. package/styles/runes/storyboard.css +46 -45
  131. package/styles/runes/swatch.css +22 -23
  132. package/styles/runes/symbol.css +117 -118
  133. package/styles/runes/tabs.css +88 -79
  134. package/styles/runes/testimonial.css +43 -44
  135. package/styles/runes/textblock.css +32 -28
  136. package/styles/runes/timeline.css +63 -64
  137. package/styles/runes/tint.css +214 -215
  138. package/styles/runes/toc.css +40 -41
  139. package/styles/runes/track.css +89 -90
  140. package/styles/runes/typography.css +89 -91
  141. package/styles/runes/work.css +47 -36
  142. package/styles/runes/xref.css +21 -22
@@ -1,63 +1,71 @@
1
1
  @layer skin {
2
- /* ── Map Rune ── */
3
-
4
- .rf-map {
5
- margin: 2rem 0;
6
- border-radius: var(--rf-radius-lg, 0.75rem);
7
- }
8
-
9
- /* Spacing variants */
10
- .rf-map--spacing-flush { margin: 0; }
11
- .rf-map--spacing-tight { margin: 0.5rem 0; }
12
- .rf-map--spacing-loose { margin: 3rem 0; }
13
- .rf-map--spacing-breathe { margin: 4rem 0; }
14
-
15
- .rf-map__container {
16
- background: var(--rf-color-surface, #f8f9fa);
17
- /* Establish a stacking context so Leaflet's internal pane z-indices
2
+ /* ── Map Rune ── */
3
+
4
+ .rf-map {
5
+ margin: 2rem 0;
6
+ border-radius: var(--rf-radius-lg, 0.75rem);
7
+ }
8
+
9
+ /* Spacing variants */
10
+ .rf-map--spacing-flush {
11
+ margin: 0;
12
+ }
13
+ .rf-map--spacing-tight {
14
+ margin: 0.5rem 0;
15
+ }
16
+ .rf-map--spacing-loose {
17
+ margin: 3rem 0;
18
+ }
19
+ .rf-map--spacing-breathe {
20
+ margin: 4rem 0;
21
+ }
22
+
23
+ .rf-map__container {
24
+ background: var(--rf-color-surface, #f8f9fa);
25
+ /* Establish a stacking context so Leaflet's internal pane z-indices
18
26
  * (tile-pane 200, overlay-pane 400, marker-pane 600, popup-pane 700,
19
27
  * etc.) stay contained instead of escaping past siblings — otherwise
20
28
  * a map dropped into a cover card's media slot punches through the
21
29
  * cover scrim (z-index auto) and overlaid content (z-index 1).
22
30
  * `position: relative` alone is not enough; `isolation: isolate` is. */
23
- }
24
-
25
- /* Fallback list shown while Leaflet loads */
26
- .rf-map__fallback {
27
- padding: 1.5rem;
28
- margin: 0;
29
- font-size: var(--rf-text-sm);
30
- color: var(--rf-color-muted);
31
- }
32
-
33
- .rf-map__fallback li {
34
- padding: 0.25rem 0;
35
- }
36
-
37
- .rf-map__fallback strong {
38
- color: var(--rf-color-text);
39
- }
40
-
41
- /* MapPin in fallback / a11y list */
42
- .rf-map-pin {
43
- padding: 0.25rem 0;
44
- }
45
-
46
- .rf-map-pin__description {
47
- color: var(--rf-color-muted);
48
- font-style: italic;
49
- }
50
-
51
- .rf-map-pin__group {
52
- font-size: var(--rf-text-xs);
53
- padding: 0.1rem 0.5rem;
54
- border-radius: var(--rf-radius-sm, 0.25rem);
55
- background: var(--rf-color-surface, #f0f0f0);
56
- color: var(--rf-color-muted);
57
- margin-left: 0.5rem;
58
- }
59
-
60
- /* ── Map as a media guest ──
31
+ }
32
+
33
+ /* Fallback list shown while Leaflet loads */
34
+ .rf-map__fallback {
35
+ padding: 1.5rem;
36
+ margin: 0;
37
+ font-size: var(--rf-text-sm);
38
+ color: var(--rf-color-muted);
39
+ }
40
+
41
+ .rf-map__fallback li {
42
+ padding: 0.25rem 0;
43
+ }
44
+
45
+ .rf-map__fallback strong {
46
+ color: var(--rf-color-text);
47
+ }
48
+
49
+ /* MapPin in fallback / a11y list */
50
+ .rf-map-pin {
51
+ padding: 0.25rem 0;
52
+ }
53
+
54
+ .rf-map-pin__description {
55
+ color: var(--rf-color-muted);
56
+ font-style: italic;
57
+ }
58
+
59
+ .rf-map-pin__group {
60
+ font-size: var(--rf-text-xs);
61
+ padding: 0.1rem 0.5rem;
62
+ border-radius: var(--rf-radius-sm, 0.25rem);
63
+ background: var(--rf-color-surface, #f0f0f0);
64
+ color: var(--rf-color-muted);
65
+ margin-left: 0.5rem;
66
+ }
67
+
68
+ /* ── Map as a media guest ──
61
69
  * When dropped into a `[data-section="media"]` slot (e.g. a card or
62
70
  * bento-cell in cover mode), the map yields its standalone presentation to
63
71
  * the slot: no outer margin or padding (map is in the Banner surface group
@@ -66,49 +74,48 @@
66
74
  * slot height instead of capping at the per-size pixel height. The fallback
67
75
  * list (rendered before Leaflet hydrates) drops its outer padding too so it
68
76
  * doesn't bleed past the slot edge during the brief flash before tiles load. */
69
- [data-section="media"] > .rf-map {
70
- margin: 0;
71
- padding: 0;
72
- border-radius: inherit;
73
- }
74
- [data-section="media"] .rf-map__fallback {
75
- padding: 0.75rem 1rem;
76
- }
77
-
78
- /* Leaflet popup overrides to match theme */
79
- .rf-map .leaflet-popup-content-wrapper {
80
- border-radius: var(--rf-radius-md, 0.5rem);
81
- font-family: var(--rf-font-sans, inherit);
82
- font-size: var(--rf-text-sm);
83
- color: var(--rf-color-text);
84
- }
85
-
86
- .rf-map .leaflet-popup-content {
87
- margin: 0.75rem 1rem;
88
- line-height: var(--rf-leading-normal);
89
- }
90
-
91
- .rf-map .leaflet-popup-content strong {
92
- font-size: var(--rf-text);
93
- margin-bottom: 0.25rem;
94
- }
95
-
96
- .rf-map .leaflet-popup-content em {
97
- color: var(--rf-color-muted);
98
- }
99
-
100
- .rf-map .leaflet-popup-content small {
101
- color: var(--rf-color-muted);
102
- font-size: var(--rf-text-xs);
103
- }
104
-
105
- .rf-map .leaflet-popup-content a {
106
- color: var(--rf-color-primary);
107
- text-decoration: none;
108
- }
109
-
110
- .rf-map .leaflet-popup-content a:hover {
111
- text-decoration: underline;
112
- }
113
-
77
+ [data-section="media"] > .rf-map {
78
+ margin: 0;
79
+ padding: 0;
80
+ border-radius: inherit;
81
+ }
82
+ [data-section="media"] .rf-map__fallback {
83
+ padding: 0.75rem 1rem;
84
+ }
85
+
86
+ /* Leaflet popup overrides to match theme */
87
+ .rf-map .leaflet-popup-content-wrapper {
88
+ border-radius: var(--rf-radius-md, 0.5rem);
89
+ font-family: var(--rf-font-sans, inherit);
90
+ font-size: var(--rf-text-sm);
91
+ color: var(--rf-color-text);
92
+ }
93
+
94
+ .rf-map .leaflet-popup-content {
95
+ margin: 0.75rem 1rem;
96
+ line-height: var(--rf-leading-normal);
97
+ }
98
+
99
+ .rf-map .leaflet-popup-content strong {
100
+ font-size: var(--rf-text);
101
+ margin-bottom: 0.25rem;
102
+ }
103
+
104
+ .rf-map .leaflet-popup-content em {
105
+ color: var(--rf-color-muted);
106
+ }
107
+
108
+ .rf-map .leaflet-popup-content small {
109
+ color: var(--rf-color-muted);
110
+ font-size: var(--rf-text-xs);
111
+ }
112
+
113
+ .rf-map .leaflet-popup-content a {
114
+ color: var(--rf-color-primary);
115
+ text-decoration: none;
116
+ }
117
+
118
+ .rf-map .leaflet-popup-content a:hover {
119
+ text-decoration: underline;
120
+ }
114
121
  }
@@ -1,36 +1,39 @@
1
1
  @layer skin {
2
- /* MediaText */
2
+ /* MediaText */
3
3
 
4
- /* Grid mode (default — no wrap) */
5
- .rf-mediatext:not([data-wrap="true"]) {
6
- gap: 2rem;
7
- }
8
-
9
- /* Media container */
10
- .rf-mediatext__media :is(img, .rf-placeholder) {
11
- border-radius: var(--rf-radius-md);
12
- }
4
+ /* Grid mode (default — no wrap) */
5
+ .rf-mediatext:not([data-wrap="true"]) {
6
+ gap: 2rem;
7
+ }
13
8
 
14
- /* Body */
15
- .rf-mediatext__body p:first-child { margin-top: 0; }
16
- .rf-mediatext__body p:last-child { margin-bottom: 0; }
9
+ /* Media container */
10
+ .rf-mediatext__media :is(img, .rf-placeholder) {
11
+ border-radius: var(--rf-radius-md);
12
+ }
17
13
 
18
- /* Wrap mode — float-based text wrapping */
19
- .rf-mediatext[data-wrap="true"] .rf-mediatext__media {
20
- margin-bottom: 1rem;
21
- }
22
- .rf-mediatext--left[data-wrap="true"] .rf-mediatext__media {
23
- margin-right: 2rem;
24
- }
25
- .rf-mediatext--right[data-wrap="true"] .rf-mediatext__media {
26
- margin-left: 2rem;
27
- }
14
+ /* Body */
15
+ .rf-mediatext__body p:first-child {
16
+ margin-top: 0;
17
+ }
18
+ .rf-mediatext__body p:last-child {
19
+ margin-bottom: 0;
20
+ }
28
21
 
29
- /* Responsive — stack on mobile */
30
- @media (max-width: 768px) {
22
+ /* Wrap mode — float-based text wrapping */
31
23
  .rf-mediatext[data-wrap="true"] .rf-mediatext__media {
32
- margin: 0 0 1rem 0;
24
+ margin-bottom: 1rem;
25
+ }
26
+ .rf-mediatext--left[data-wrap="true"] .rf-mediatext__media {
27
+ margin-right: 2rem;
28
+ }
29
+ .rf-mediatext--right[data-wrap="true"] .rf-mediatext__media {
30
+ margin-left: 2rem;
33
31
  }
34
- }
35
32
 
33
+ /* Responsive — stack on mobile */
34
+ @media (max-width: 768px) {
35
+ .rf-mediatext[data-wrap="true"] .rf-mediatext__media {
36
+ margin: 0 0 1rem 0;
37
+ }
38
+ }
36
39
  }
@@ -1,106 +1,107 @@
1
1
  @layer skin {
2
- /* Milestone */
2
+ /* Milestone */
3
3
 
4
- /* SPEC-079: eyebrow + metadata zone names replace header-primary /
4
+ /* SPEC-079: eyebrow + metadata zone names replace header-primary /
5
5
  * header-secondary. */
6
6
 
7
- .rf-milestone__eyebrow {
8
- margin-bottom: 0.75rem;
9
- }
10
- .rf-milestone__title h1,
11
- .rf-milestone__title h2,
12
- .rf-milestone__title h3 {
13
- margin-top: 0;
14
- }
7
+ .rf-milestone__eyebrow {
8
+ margin-bottom: 0.75rem;
9
+ }
10
+ .rf-milestone__title h1,
11
+ .rf-milestone__title h2,
12
+ .rf-milestone__title h3 {
13
+ margin-top: 0;
14
+ }
15
15
 
16
- .rf-milestone__metadata {
17
- margin-bottom: 1.5rem;
18
- }
19
- .rf-milestone__body {
20
- font-size: var(--rf-text-sm);
21
- line-height: var(--rf-leading-relaxed);
22
- }
23
- .rf-milestone__body ul {
24
- padding-left: 1.5rem;
25
- }
16
+ .rf-milestone__metadata {
17
+ margin-bottom: 1.5rem;
18
+ }
19
+ .rf-milestone__body {
20
+ font-size: var(--rf-text-sm);
21
+ line-height: var(--rf-leading-relaxed);
22
+ }
23
+ .rf-milestone__body ul {
24
+ padding-left: 1.5rem;
25
+ }
26
26
 
27
- /* Auto-backlog */
28
- .rf-milestone__backlog {
29
- margin-top: 1.25rem;
30
- padding-top: 1rem;
31
- border-top: 1px solid var(--rf-color-border);
32
- }
33
- .rf-milestone__backlog-group {
34
- margin-bottom: 1rem;
35
- }
36
- .rf-milestone__backlog-group-label {
37
- font-size: var(--rf-text-xs);
38
- font-weight: var(--rf-weight-bold);
39
- text-transform: uppercase;
40
- letter-spacing: var(--rf-tracking-wider);
41
- color: var(--rf-color-muted);
42
- margin: 0 0 0.375rem;
43
- }
27
+ /* Auto-backlog */
28
+ .rf-milestone__backlog {
29
+ margin-top: 1.25rem;
30
+ padding-top: 1rem;
31
+ border-top: 1px solid var(--rf-color-border);
32
+ }
33
+ .rf-milestone__backlog-group {
34
+ margin-bottom: 1rem;
35
+ }
36
+ .rf-milestone__backlog-group-label {
37
+ font-size: var(--rf-text-xs);
38
+ font-weight: var(--rf-weight-bold);
39
+ text-transform: uppercase;
40
+ letter-spacing: var(--rf-tracking-wider);
41
+ color: var(--rf-color-muted);
42
+ margin: 0 0 0.375rem;
43
+ }
44
44
 
45
- /* Backlog tabs */
46
- .rf-milestone__tabs {
47
- border-bottom: 1px solid var(--rf-color-border);
48
- margin-bottom: 0;
49
- }
50
- .rf-milestone__tab {
51
- padding: 0.5rem 1rem;
52
- font-size: var(--rf-text-sm);
53
- font-weight: var(--rf-weight-medium);
54
- color: var(--rf-color-muted);
55
- background: none;
56
- border: none;
57
- border-bottom: 2px solid transparent;
58
- cursor: pointer;
59
- transition: color 200ms ease, border-color 200ms ease;
60
- white-space: nowrap;
61
- font-family: inherit;
62
- }
63
- .rf-milestone__tab:hover {
64
- color: var(--rf-color-text);
65
- }
66
- .rf-milestone__tab--active {
67
- color: var(--rf-color-primary);
68
- border-bottom-color: var(--rf-color-primary);
69
- font-weight: var(--rf-weight-semibold);
70
- }
71
- .rf-milestone__panels {
72
- padding: 0;
73
- margin: 0;
74
- }
75
- .rf-milestone__panel {
76
- padding-top: 0.75rem;
77
- }
78
-
79
- /* Aggregate progress */
80
- .rf-milestone__progress {
81
- margin-bottom: 1rem;
82
- }
83
- .rf-milestone__progress-header {
84
- margin-bottom: 0.375rem;
85
- }
86
- .rf-milestone__progress-label {
87
- font-size: var(--rf-text-xs);
88
- font-weight: var(--rf-weight-semibold);
89
- color: var(--rf-color-muted);
90
- }
91
- .rf-milestone__progress-count {
92
- font-size: var(--rf-text-xs);
93
- font-weight: var(--rf-weight-semibold);
94
- color: var(--rf-color-muted);
95
- }
96
- .rf-milestone__progress-bar {
97
- border-radius: var(--rf-radius-sm);
98
- background: var(--rf-color-surface-active);
99
- }
100
- .rf-milestone__progress-bar::after {
101
- background: var(--rf-color-primary);
102
- border-radius: var(--rf-radius-sm);
103
- transition: width 0.3s ease;
104
- }
45
+ /* Backlog tabs */
46
+ .rf-milestone__tabs {
47
+ border-bottom: 1px solid var(--rf-color-border);
48
+ margin-bottom: 0;
49
+ }
50
+ .rf-milestone__tab {
51
+ padding: 0.5rem 1rem;
52
+ font-size: var(--rf-text-sm);
53
+ font-weight: var(--rf-weight-medium);
54
+ color: var(--rf-color-muted);
55
+ background: none;
56
+ border: none;
57
+ border-bottom: 2px solid transparent;
58
+ cursor: pointer;
59
+ transition:
60
+ color 200ms ease,
61
+ border-color 200ms ease;
62
+ white-space: nowrap;
63
+ font-family: inherit;
64
+ }
65
+ .rf-milestone__tab:hover {
66
+ color: var(--rf-color-text);
67
+ }
68
+ .rf-milestone__tab--active {
69
+ color: var(--rf-color-primary);
70
+ border-bottom-color: var(--rf-color-primary);
71
+ font-weight: var(--rf-weight-semibold);
72
+ }
73
+ .rf-milestone__panels {
74
+ padding: 0;
75
+ margin: 0;
76
+ }
77
+ .rf-milestone__panel {
78
+ padding-top: 0.75rem;
79
+ }
105
80
 
81
+ /* Aggregate progress */
82
+ .rf-milestone__progress {
83
+ margin-bottom: 1rem;
84
+ }
85
+ .rf-milestone__progress-header {
86
+ margin-bottom: 0.375rem;
87
+ }
88
+ .rf-milestone__progress-label {
89
+ font-size: var(--rf-text-xs);
90
+ font-weight: var(--rf-weight-semibold);
91
+ color: var(--rf-color-muted);
92
+ }
93
+ .rf-milestone__progress-count {
94
+ font-size: var(--rf-text-xs);
95
+ font-weight: var(--rf-weight-semibold);
96
+ color: var(--rf-color-muted);
97
+ }
98
+ .rf-milestone__progress-bar {
99
+ border-radius: var(--rf-radius-sm);
100
+ background: var(--rf-color-surface-active);
101
+ }
102
+ .rf-milestone__progress-bar::after {
103
+ background: var(--rf-color-primary);
104
+ border-radius: var(--rf-radius-sm);
105
+ transition: width 0.3s ease;
106
+ }
106
107
  }