@refrakt-md/lumina 0.4.0 → 0.5.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 (71) hide show
  1. package/base.css +16 -0
  2. package/contracts/structures.json +1317 -3
  3. package/dist/config.d.ts +2 -3
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +4 -229
  6. package/dist/config.js.map +1 -1
  7. package/dist/transform.d.ts +2 -0
  8. package/dist/transform.d.ts.map +1 -1
  9. package/dist/transform.js +2 -0
  10. package/dist/transform.js.map +1 -1
  11. package/index.css +11 -0
  12. package/package.json +18 -11
  13. package/styles/elements/blockquote.css +8 -4
  14. package/styles/global.css +0 -7
  15. package/styles/layouts/blog.css +255 -0
  16. package/styles/layouts/default.css +11 -3
  17. package/styles/layouts/docs.css +67 -13
  18. package/styles/layouts/mobile.css +84 -0
  19. package/styles/runes/bento.css +2 -0
  20. package/styles/runes/codegroup.css +7 -2
  21. package/styles/runes/design-context.css +25 -0
  22. package/styles/runes/feature.css +20 -14
  23. package/styles/runes/form.css +1 -2
  24. package/styles/runes/grid.css +25 -7
  25. package/styles/runes/hero.css +15 -0
  26. package/styles/runes/map.css +113 -0
  27. package/styles/runes/palette.css +86 -0
  28. package/styles/runes/preview.css +187 -0
  29. package/styles/runes/sandbox.css +23 -0
  30. package/styles/runes/spacing.css +105 -0
  31. package/styles/runes/steps.css +7 -1
  32. package/styles/runes/swatch.css +28 -0
  33. package/styles/runes/symbol.css +164 -0
  34. package/styles/runes/tabs.css +6 -0
  35. package/styles/runes/testimonial.css +2 -3
  36. package/styles/runes/timeline.css +43 -24
  37. package/styles/runes/typography.css +91 -0
  38. package/svelte/elements.ts +1 -0
  39. package/{sveltekit → svelte}/index.ts +0 -8
  40. package/svelte/layouts/BlogLayout.svelte +173 -0
  41. package/svelte/layouts/DefaultLayout.svelte +67 -0
  42. package/svelte/layouts/DocsLayout.svelte +155 -0
  43. package/{sveltekit → svelte}/manifest.json +1 -1
  44. package/svelte/registry.ts +2 -0
  45. package/svelte/tokens.css +6 -0
  46. package/sveltekit/components/Accordion.svelte +0 -26
  47. package/sveltekit/components/Bento.svelte +0 -50
  48. package/sveltekit/components/Chart.svelte +0 -121
  49. package/sveltekit/components/CodeGroup.svelte +0 -88
  50. package/sveltekit/components/Comparison.svelte +0 -209
  51. package/sveltekit/components/DataTable.svelte +0 -154
  52. package/sveltekit/components/Details.svelte +0 -23
  53. package/sveltekit/components/Diagram.svelte +0 -45
  54. package/sveltekit/components/Embed.svelte +0 -36
  55. package/sveltekit/components/Form.svelte +0 -194
  56. package/sveltekit/components/Grid.svelte +0 -42
  57. package/sveltekit/components/Nav.svelte +0 -62
  58. package/sveltekit/components/Pricing.svelte +0 -20
  59. package/sveltekit/components/Reveal.svelte +0 -62
  60. package/sveltekit/components/Storyboard.svelte +0 -41
  61. package/sveltekit/components/Tabs.svelte +0 -75
  62. package/sveltekit/components/Testimonial.svelte +0 -26
  63. package/sveltekit/elements/Blockquote.svelte +0 -37
  64. package/sveltekit/elements/Pre.svelte +0 -77
  65. package/sveltekit/elements/Table.svelte +0 -40
  66. package/sveltekit/elements.ts +0 -11
  67. package/sveltekit/layouts/BlogLayout.svelte +0 -382
  68. package/sveltekit/layouts/DefaultLayout.svelte +0 -70
  69. package/sveltekit/layouts/DocsLayout.svelte +0 -133
  70. package/sveltekit/registry.ts +0 -59
  71. package/sveltekit/tokens.css +0 -71
@@ -9,12 +9,17 @@
9
9
  .rf-hero__actions {
10
10
  max-width: 720px;
11
11
  margin: 0 auto;
12
+ display: flex;
13
+ align-items: center;
14
+ gap: 0.75rem;
15
+ flex-wrap: wrap;
12
16
  }
13
17
  .rf-hero--center {
14
18
  text-align: center;
15
19
  }
16
20
  .rf-hero--center .rf-hero__actions {
17
21
  margin: 0 auto;
22
+ justify-content: center;
18
23
  }
19
24
  .rf-hero--left {
20
25
  text-align: left;
@@ -28,6 +33,16 @@
28
33
  .rf-hero--right .rf-hero__actions {
29
34
  margin: 0 0 0 auto;
30
35
  }
36
+ .rf-hero__actions pre {
37
+ margin: 0;
38
+ padding: 0.7rem 1.75rem;
39
+ font-size: 0.95rem;
40
+ border-radius: var(--rf-radius-sm);
41
+ background: var(--rf-color-code-bg);
42
+ color: var(--rf-color-code-text);
43
+ border: 1px solid var(--rf-color-border);
44
+ white-space: nowrap;
45
+ }
31
46
  .rf-hero h1 {
32
47
  font-size: 3.25rem;
33
48
  font-weight: 800;
@@ -0,0 +1,113 @@
1
+ /* ── Map Rune ── */
2
+
3
+ .rf-map {
4
+ margin: 2rem 0;
5
+ border-radius: var(--rf-radius-lg, 0.75rem);
6
+ overflow: hidden;
7
+ border: 1px solid var(--rf-color-border);
8
+ }
9
+
10
+ /* Height variants */
11
+ .rf-map--small .rf-map__container { height: 200px; }
12
+ .rf-map--medium .rf-map__container { height: 400px; }
13
+ .rf-map--large .rf-map__container { height: 600px; }
14
+ .rf-map--full .rf-map__container { height: 80vh; min-height: 400px; }
15
+
16
+ .rf-map__container {
17
+ width: 100%;
18
+ position: relative;
19
+ background: var(--rf-color-surface, #f8f9fa);
20
+ }
21
+
22
+ /* Fallback list shown while Leaflet loads */
23
+ .rf-map__fallback {
24
+ padding: 1.5rem;
25
+ margin: 0;
26
+ list-style: decimal inside;
27
+ font-size: 0.925rem;
28
+ color: var(--rf-color-muted);
29
+ }
30
+
31
+ .rf-map__fallback li {
32
+ padding: 0.25rem 0;
33
+ }
34
+
35
+ .rf-map__fallback strong {
36
+ color: var(--rf-color-text);
37
+ }
38
+
39
+ /* Accessible text list (visible to screen readers, hidden visually) */
40
+ .rf-map__pins {
41
+ position: absolute;
42
+ width: 1px;
43
+ height: 1px;
44
+ padding: 0;
45
+ margin: -1px;
46
+ overflow: hidden;
47
+ clip: rect(0, 0, 0, 0);
48
+ white-space: nowrap;
49
+ border: 0;
50
+ }
51
+
52
+ /* MapPin in fallback / a11y list */
53
+ .rf-map-pin {
54
+ padding: 0.25rem 0;
55
+ }
56
+
57
+ .rf-map-pin__description {
58
+ color: var(--rf-color-muted);
59
+ font-style: italic;
60
+ }
61
+
62
+ .rf-map-pin__group {
63
+ display: inline-block;
64
+ font-size: 0.75rem;
65
+ padding: 0.1rem 0.5rem;
66
+ border-radius: var(--rf-radius-sm, 0.25rem);
67
+ background: var(--rf-color-surface, #f0f0f0);
68
+ color: var(--rf-color-muted);
69
+ margin-left: 0.5rem;
70
+ }
71
+
72
+ /* Hide meta tags and property spans inside the map */
73
+ .rf-map meta,
74
+ .rf-map span[property] {
75
+ display: none;
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: 0.875rem;
83
+ color: var(--rf-color-text);
84
+ }
85
+
86
+ .rf-map .leaflet-popup-content {
87
+ margin: 0.75rem 1rem;
88
+ line-height: 1.5;
89
+ }
90
+
91
+ .rf-map .leaflet-popup-content strong {
92
+ display: block;
93
+ font-size: 0.95rem;
94
+ margin-bottom: 0.25rem;
95
+ }
96
+
97
+ .rf-map .leaflet-popup-content em {
98
+ color: var(--rf-color-muted);
99
+ }
100
+
101
+ .rf-map .leaflet-popup-content small {
102
+ color: var(--rf-color-muted);
103
+ font-size: 0.8rem;
104
+ }
105
+
106
+ .rf-map .leaflet-popup-content a {
107
+ color: var(--rf-color-primary);
108
+ text-decoration: none;
109
+ }
110
+
111
+ .rf-map .leaflet-popup-content a:hover {
112
+ text-decoration: underline;
113
+ }
@@ -0,0 +1,86 @@
1
+ /* Palette — color swatch grid */
2
+ .rf-palette {
3
+ margin: 1.5rem 0;
4
+ }
5
+ .rf-palette__title {
6
+ font-size: 1.125rem;
7
+ font-weight: 600;
8
+ margin-bottom: 1rem;
9
+ }
10
+ .rf-palette__group {
11
+ margin-bottom: 1.5rem;
12
+ }
13
+ .rf-palette__group:last-child {
14
+ margin-bottom: 0;
15
+ }
16
+ .rf-palette__group-title {
17
+ font-size: 0.8rem;
18
+ font-weight: 600;
19
+ text-transform: uppercase;
20
+ letter-spacing: 0.05em;
21
+ color: var(--rf-color-text-muted, #6b7280);
22
+ margin-bottom: 0.75rem;
23
+ }
24
+ .rf-palette__grid {
25
+ display: grid;
26
+ grid-template-columns: repeat(var(--rf-palette-cols, 4), 1fr);
27
+ gap: 0.75rem;
28
+ }
29
+ .rf-palette__swatch {
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 0.375rem;
33
+ }
34
+ .rf-palette__swatch-color {
35
+ height: 5rem;
36
+ border-radius: var(--rf-radius-md, 8px);
37
+ border: 1px solid rgba(0, 0, 0, 0.08);
38
+ }
39
+ .rf-palette__swatch-name {
40
+ font-weight: 500;
41
+ font-size: 0.875rem;
42
+ }
43
+ .rf-palette__swatch-value {
44
+ font-family: var(--rf-font-mono, monospace);
45
+ font-size: 0.75rem;
46
+ color: var(--rf-color-text-muted, #6b7280);
47
+ }
48
+ .rf-palette__swatch-contrast {
49
+ font-family: var(--rf-font-mono, monospace);
50
+ font-size: 0.7rem;
51
+ color: var(--rf-color-text-muted, #6b7280);
52
+ }
53
+ .rf-palette__swatch-a11y {
54
+ display: flex;
55
+ gap: 0.5rem;
56
+ font-size: 0.7rem;
57
+ font-weight: 500;
58
+ }
59
+ .rf-palette__swatch-a11y--pass {
60
+ color: var(--rf-color-success, #10b981);
61
+ }
62
+ .rf-palette__swatch-a11y--fail {
63
+ color: var(--rf-color-danger, #ef4444);
64
+ }
65
+
66
+ /* Neutral scale — horizontal gradient strip */
67
+ .rf-palette__scale {
68
+ display: flex;
69
+ border-radius: var(--rf-radius-md, 8px);
70
+ overflow: hidden;
71
+ margin-bottom: 0.5rem;
72
+ }
73
+ .rf-palette__scale-stop {
74
+ flex: 1;
75
+ padding: 1.25rem 0.5rem 0.5rem;
76
+ display: flex;
77
+ align-items: flex-end;
78
+ justify-content: center;
79
+ min-height: 4rem;
80
+ font-size: 0.625rem;
81
+ font-family: var(--rf-font-mono, monospace);
82
+ }
83
+ .rf-palette__scale + .rf-palette__swatch-name {
84
+ margin-top: 0.25rem;
85
+ font-size: 0.8rem;
86
+ }
@@ -0,0 +1,187 @@
1
+ /* Preview — Component showcase with theme toggle and width control */
2
+ .rf-preview {
3
+ margin: 2rem 0;
4
+ border: 1px solid var(--rf-color-border);
5
+ border-radius: var(--rf-radius-lg);
6
+ overflow: hidden;
7
+ }
8
+
9
+ /* Width variants */
10
+ .rf-preview[data-width="medium"] {
11
+ width: calc(100% + 4rem);
12
+ margin-left: -2rem;
13
+ }
14
+ @container (min-width: 1008px) {
15
+ .rf-preview[data-width="wide"] {
16
+ width: calc(100% + 8rem);
17
+ margin-left: -4rem;
18
+ max-width: 76rem;
19
+ }
20
+ }
21
+ .rf-preview[data-width="full"] {
22
+ width: 100vw;
23
+ margin-left: calc(-50vw + 50%);
24
+ }
25
+
26
+ /* Toolbar */
27
+ .rf-preview__toolbar {
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: space-between;
31
+ padding: 0.5rem 1rem;
32
+ background: var(--rf-color-surface);
33
+ border-bottom: 1px solid var(--rf-color-border);
34
+ min-height: 2.5rem;
35
+ }
36
+ .rf-preview__title {
37
+ font-size: 0.75rem;
38
+ font-weight: 600;
39
+ color: var(--rf-color-muted);
40
+ text-transform: uppercase;
41
+ letter-spacing: 0.05em;
42
+ }
43
+
44
+ /* Controls container (view toggle + theme toggle) */
45
+ .rf-preview__controls {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 0.5rem;
49
+ }
50
+
51
+ /* View toggle pill (code/preview) */
52
+ .rf-preview__view-toggle {
53
+ display: flex;
54
+ gap: 0.125rem;
55
+ background: var(--rf-color-surface-active);
56
+ border-radius: var(--rf-radius-full);
57
+ padding: 0.125rem;
58
+ }
59
+
60
+ /* Theme toggle pill */
61
+ .rf-preview__toggle {
62
+ display: flex;
63
+ gap: 0.125rem;
64
+ background: var(--rf-color-surface-active);
65
+ border-radius: var(--rf-radius-full);
66
+ padding: 0.125rem;
67
+ }
68
+ .rf-preview__toggle-btn {
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+ width: 1.625rem;
73
+ height: 1.625rem;
74
+ border: none;
75
+ border-radius: var(--rf-radius-full);
76
+ background: transparent;
77
+ color: var(--rf-color-muted);
78
+ cursor: pointer;
79
+ transition: background 150ms ease, color 150ms ease;
80
+ padding: 0;
81
+ }
82
+ .rf-preview__toggle-btn:hover {
83
+ color: var(--rf-color-text);
84
+ }
85
+ .rf-preview__toggle-btn--active {
86
+ background: var(--rf-color-bg);
87
+ color: var(--rf-color-text);
88
+ box-shadow: var(--rf-shadow-xs);
89
+ }
90
+
91
+ /* Canvas */
92
+ .rf-preview__canvas {
93
+ padding: 2rem 2.5rem;
94
+ background: var(--rf-color-bg);
95
+ }
96
+ .rf-preview__canvas > *:first-child {
97
+ margin-top: 0;
98
+ }
99
+ .rf-preview__canvas > *:last-child {
100
+ margin-bottom: 0;
101
+ }
102
+
103
+ /* Viewport simulation toggle pill */
104
+ .rf-preview__viewport-toggle {
105
+ display: flex;
106
+ gap: 0.125rem;
107
+ background: var(--rf-color-surface-active);
108
+ border-radius: var(--rf-radius-full);
109
+ padding: 0.125rem;
110
+ }
111
+
112
+ /* Viewport simulation frame */
113
+ .rf-preview__viewport-frame {
114
+ position: relative;
115
+ overflow: hidden;
116
+ transition: max-width 300ms ease;
117
+ }
118
+ .rf-preview__viewport-frame--constrained {
119
+ margin: 0 auto;
120
+ border: 1px dashed var(--rf-color-border);
121
+ border-radius: var(--rf-radius-sm);
122
+ }
123
+ .rf-preview__viewport-label {
124
+ position: absolute;
125
+ top: 0.25rem;
126
+ right: 0.5rem;
127
+ font-size: 0.625rem;
128
+ color: var(--rf-color-muted);
129
+ font-variant-numeric: tabular-nums;
130
+ pointer-events: none;
131
+ z-index: 1;
132
+ }
133
+
134
+ /* Source code view */
135
+ .rf-preview__source {
136
+ overflow: auto;
137
+ }
138
+ .rf-preview__source pre {
139
+ margin: 0;
140
+ border-radius: 0;
141
+ }
142
+ .rf-preview__source .rf-codeblock {
143
+ border-radius: 0;
144
+ }
145
+
146
+ /* Source tabs (data-source panels) */
147
+ .rf-preview__source-tabs {
148
+ display: flex;
149
+ gap: 0;
150
+ background: var(--rf-color-surface);
151
+ border-bottom: 1px solid var(--rf-color-border);
152
+ }
153
+ .rf-preview__source-tab {
154
+ padding: 0.5rem 1rem;
155
+ border: none;
156
+ background: transparent;
157
+ color: var(--rf-color-muted);
158
+ font-size: 0.75rem;
159
+ font-weight: 500;
160
+ cursor: pointer;
161
+ border-bottom: 2px solid transparent;
162
+ transition: color 150ms ease, border-color 150ms ease;
163
+ }
164
+ .rf-preview__source-tab:hover {
165
+ color: var(--rf-color-text);
166
+ }
167
+ .rf-preview__source-tab--active {
168
+ color: var(--rf-color-text);
169
+ border-bottom-color: var(--rf-color-primary);
170
+ }
171
+
172
+ /* Small containers: edge-to-edge bleed */
173
+ @container (max-width: 1008px) {
174
+ .rf-preview {
175
+ margin-left: calc(-1 * var(--rf-content-padding, 1.5rem));
176
+ margin-right: calc(-1 * var(--rf-content-padding, 1.5rem));
177
+ border-radius: 0;
178
+ border-left: none;
179
+ border-right: none;
180
+ }
181
+ .rf-preview__toolbar {
182
+ padding: 0.5rem calc(var(--rf-content-padding, 1.5rem) + 1rem) 0.5rem var(--rf-content-padding, 1.5rem);
183
+ }
184
+ .rf-preview__canvas {
185
+ padding: 1.5rem var(--rf-content-padding, 1.5rem);
186
+ }
187
+ }
@@ -0,0 +1,23 @@
1
+ /* Sandbox — Isolated HTML/CSS/JS rendering via iframe */
2
+ .rf-sandbox {
3
+ margin: 1.5rem 0;
4
+ border-radius: var(--rf-radius-md);
5
+ overflow: hidden;
6
+ }
7
+
8
+ .rf-sandbox iframe {
9
+ display: block;
10
+ width: 100%;
11
+ border: none;
12
+ }
13
+
14
+ /* Static fallback (pre/code shown before hydration) */
15
+ .rf-sandbox pre {
16
+ margin: 0;
17
+ }
18
+
19
+ /* When inside preview, remove sandbox margin */
20
+ .rf-preview .rf-sandbox {
21
+ margin: 0;
22
+ border-radius: 0;
23
+ }
@@ -0,0 +1,105 @@
1
+ /* Spacing — spacing scale, radii, and shadow display */
2
+ .rf-spacing {
3
+ margin: 1.5rem 0;
4
+ }
5
+ .rf-spacing__title {
6
+ font-size: 1.125rem;
7
+ font-weight: 600;
8
+ margin-bottom: 1rem;
9
+ }
10
+ .rf-spacing__section {
11
+ margin-bottom: 2rem;
12
+ }
13
+ .rf-spacing__section:last-child {
14
+ margin-bottom: 0;
15
+ }
16
+ .rf-spacing__section-title {
17
+ font-size: 0.8rem;
18
+ font-weight: 600;
19
+ text-transform: uppercase;
20
+ letter-spacing: 0.05em;
21
+ color: var(--rf-color-text-muted, #6b7280);
22
+ margin-bottom: 0.75rem;
23
+ }
24
+
25
+ /* Spacing scale — proportional bars */
26
+ .rf-spacing__scale {
27
+ display: flex;
28
+ flex-direction: column;
29
+ gap: 0.375rem;
30
+ }
31
+ .rf-spacing__scale-item {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: 0.75rem;
35
+ }
36
+ .rf-spacing__scale-bar {
37
+ height: 1.25rem;
38
+ background: var(--rf-color-primary, #0ea5e9);
39
+ border-radius: var(--rf-radius-sm, 4px);
40
+ opacity: 0.8;
41
+ min-width: 4px;
42
+ }
43
+ .rf-spacing__scale-label {
44
+ font-size: 0.75rem;
45
+ font-family: var(--rf-font-mono, monospace);
46
+ color: var(--rf-color-text, #1a1a2e);
47
+ white-space: nowrap;
48
+ flex-shrink: 0;
49
+ }
50
+ .rf-spacing__scale-multiplier {
51
+ color: var(--rf-color-text-muted, #6b7280);
52
+ margin-left: 0.25rem;
53
+ }
54
+
55
+ /* Radius — rounded corner samples */
56
+ .rf-spacing__radii {
57
+ display: flex;
58
+ gap: 1.25rem;
59
+ flex-wrap: wrap;
60
+ align-items: flex-end;
61
+ }
62
+ .rf-spacing__radius-item {
63
+ display: flex;
64
+ flex-direction: column;
65
+ align-items: center;
66
+ gap: 0.375rem;
67
+ }
68
+ .rf-spacing__radius-sample {
69
+ width: 3.5rem;
70
+ height: 3.5rem;
71
+ border: 2px solid var(--rf-color-border, #e5e7eb);
72
+ background: var(--rf-color-surface-raised, #f9fafb);
73
+ }
74
+ .rf-spacing__radius-label {
75
+ font-weight: 500;
76
+ font-size: 0.8rem;
77
+ }
78
+ .rf-spacing__radius-value {
79
+ font-size: 0.7rem;
80
+ font-family: var(--rf-font-mono, monospace);
81
+ color: var(--rf-color-text-muted, #6b7280);
82
+ }
83
+
84
+ /* Shadows — sample cards */
85
+ .rf-spacing__shadows {
86
+ display: flex;
87
+ gap: 1.5rem;
88
+ flex-wrap: wrap;
89
+ }
90
+ .rf-spacing__shadow-item {
91
+ display: flex;
92
+ flex-direction: column;
93
+ align-items: center;
94
+ gap: 0.5rem;
95
+ }
96
+ .rf-spacing__shadow-sample {
97
+ width: 5rem;
98
+ height: 3.5rem;
99
+ background: var(--rf-color-surface, #fff);
100
+ border-radius: var(--rf-radius-md, 8px);
101
+ }
102
+ .rf-spacing__shadow-label {
103
+ font-weight: 500;
104
+ font-size: 0.8rem;
105
+ }
@@ -1,9 +1,12 @@
1
1
  /* Steps */
2
2
  .rf-steps {
3
3
  counter-reset: step;
4
+ margin: 1.5rem 0;
5
+ }
6
+ .rf-steps ol {
4
7
  list-style: none;
5
8
  padding-left: 0;
6
- margin: 1.5rem 0;
9
+ margin: 0;
7
10
  }
8
11
  .rf-step__main {
9
12
  display: contents;
@@ -53,6 +56,9 @@
53
56
  grid-template-columns: 1fr 1fr;
54
57
  gap: 2rem;
55
58
  }
59
+ .rf-step--mirror .rf-step__showcase {
60
+ order: -1;
61
+ }
56
62
  .rf-step__showcase {
57
63
  border-radius: var(--rf-radius-md);
58
64
  overflow: hidden;
@@ -0,0 +1,28 @@
1
+ /* Swatch — inline color chip */
2
+ .rf-swatch {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ gap: 0.375rem;
6
+ vertical-align: middle;
7
+ border: 1px solid rgba(0, 0, 0, 0.12);
8
+ border-radius: 9999px;
9
+ padding: 0.125em 0.625em 0.125em 0.375em;
10
+ margin: 0 0.15em;
11
+ }
12
+ .rf-swatch__chip {
13
+ display: inline-block;
14
+ width: 0.875em;
15
+ height: 0.875em;
16
+ border-radius: 50%;
17
+ border: 1px solid rgba(0, 0, 0, 0.1);
18
+ flex-shrink: 0;
19
+ }
20
+ .rf-swatch__label {
21
+ font-weight: 500;
22
+ }
23
+ .rf-swatch__value {
24
+ color: var(--rf-color-text-muted, #6b7280);
25
+ font-size: 0.75em;
26
+ font-family: var(--rf-font-mono, monospace);
27
+ vertical-align: middle;
28
+ }