@refrakt-md/lumina 0.21.0 → 0.23.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.
- package/base.css +2 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/tokens.d.ts +5 -3
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +44 -3
- package/dist/tokens.js.map +1 -1
- package/index.css +11 -1
- package/package.json +7 -5
- package/styles/base/attributes.css +6 -7
- package/styles/dimensions/checklist.css +7 -36
- package/styles/dimensions/cover.css +13 -95
- package/styles/dimensions/density.css +6 -3
- package/styles/dimensions/frame.css +7 -4
- package/styles/dimensions/media.css +14 -61
- package/styles/dimensions/metadata.css +30 -80
- package/styles/dimensions/sections.css +16 -30
- package/styles/dimensions/sequence.css +17 -82
- package/styles/dimensions/state.css +39 -56
- package/styles/dimensions/substrate.css +3 -0
- package/styles/dimensions/surfaces.css +73 -113
- package/styles/elements/blockquote.css +3 -2
- package/styles/elements/code.css +3 -0
- package/styles/elements/table.css +3 -0
- package/styles/global.css +24 -63
- package/styles/layouts/blog.css +34 -95
- package/styles/layouts/default.css +12 -86
- package/styles/layouts/docs.css +9 -159
- package/styles/layouts/mobile.css +3 -52
- package/styles/layouts/on-this-page.css +8 -7
- package/styles/layouts/plan.css +27 -158
- package/styles/layouts/search.css +17 -82
- package/styles/layouts/split.css +24 -169
- package/styles/layouts/theme-toggle.css +3 -29
- package/styles/layouts/version-switcher.css +9 -10
- package/styles/runes/accordion.css +25 -68
- package/styles/runes/aggregate.css +4 -13
- package/styles/runes/annotate.css +11 -40
- package/styles/runes/api.css +4 -1
- package/styles/runes/audio.css +12 -50
- package/styles/runes/badge.css +5 -2
- package/styles/runes/bar.css +3 -0
- package/styles/runes/bento.css +18 -161
- package/styles/runes/bg.css +3 -37
- package/styles/runes/blog.css +18 -20
- package/styles/runes/bond.css +6 -26
- package/styles/runes/breadcrumb.css +7 -15
- package/styles/runes/budget.css +23 -45
- package/styles/runes/bug.css +5 -2
- package/styles/runes/card.css +27 -95
- package/styles/runes/cast.css +10 -27
- package/styles/runes/changelog.css +13 -17
- package/styles/runes/character.css +6 -20
- package/styles/runes/chart.css +15 -57
- package/styles/runes/codegroup.css +18 -26
- package/styles/runes/collection.css +8 -85
- package/styles/runes/compare.css +8 -19
- package/styles/runes/comparison.css +29 -56
- package/styles/runes/conversation.css +9 -31
- package/styles/runes/cta.css +17 -40
- package/styles/runes/datatable.css +33 -48
- package/styles/runes/decision.css +5 -2
- package/styles/runes/design-context.css +5 -4
- package/styles/runes/details.css +9 -17
- package/styles/runes/diagram.css +8 -16
- package/styles/runes/diff.css +11 -94
- package/styles/runes/drawer.css +9 -113
- package/styles/runes/embed.css +5 -13
- package/styles/runes/event.css +5 -3
- package/styles/runes/expand.css +10 -45
- package/styles/runes/faction.css +6 -12
- package/styles/runes/feature.css +15 -43
- package/styles/runes/figure.css +7 -26
- package/styles/runes/file-ref.css +3 -18
- package/styles/runes/form.css +19 -48
- package/styles/runes/gallery.css +8 -140
- package/styles/runes/grid.css +4 -56
- package/styles/runes/hero.css +28 -140
- package/styles/runes/hint.css +23 -48
- package/styles/runes/howto.css +9 -31
- package/styles/runes/itinerary.css +15 -44
- package/styles/runes/juxtapose.css +17 -92
- package/styles/runes/lore.css +7 -14
- package/styles/runes/map.css +9 -42
- package/styles/runes/mediatext.css +4 -45
- package/styles/runes/milestone.css +15 -28
- package/styles/runes/mockup.css +10 -115
- package/styles/runes/nav.css +37 -212
- package/styles/runes/organization.css +6 -5
- package/styles/runes/page-section.css +3 -4
- package/styles/runes/pagination.css +10 -42
- package/styles/runes/palette.css +16 -35
- package/styles/runes/placeholder.css +16 -0
- package/styles/runes/plan-history.css +23 -43
- package/styles/runes/plan-progress.css +6 -7
- package/styles/runes/plan-ref.css +4 -1
- package/styles/runes/playlist.css +10 -44
- package/styles/runes/plot.css +9 -25
- package/styles/runes/preview.css +9 -34
- package/styles/runes/pricing.css +23 -41
- package/styles/runes/progress.css +8 -27
- package/styles/runes/pullquote.css +9 -31
- package/styles/runes/realm.css +6 -12
- package/styles/runes/recipe.css +12 -36
- package/styles/runes/relationships.css +5 -36
- package/styles/runes/reveal.css +17 -22
- package/styles/runes/sandbox.css +9 -39
- package/styles/runes/section.css +10 -24
- package/styles/runes/showcase.css +3 -20
- package/styles/runes/sidenote.css +5 -4
- package/styles/runes/snippet.css +3 -0
- package/styles/runes/spacing.css +14 -33
- package/styles/runes/spec.css +5 -2
- package/styles/runes/steps.css +14 -46
- package/styles/runes/storyboard.css +4 -19
- package/styles/runes/swatch.css +4 -7
- package/styles/runes/symbol.css +16 -14
- package/styles/runes/tabs.css +15 -18
- package/styles/runes/testimonial.css +12 -13
- package/styles/runes/textblock.css +6 -24
- package/styles/runes/timeline.css +10 -28
- package/styles/runes/tint.css +3 -0
- package/styles/runes/toc.css +9 -7
- package/styles/runes/track.css +12 -41
- package/styles/runes/typography.css +15 -27
- package/styles/runes/work.css +5 -2
- package/styles/runes/xref.css +3 -1
- package/tokens/base.css +56 -66
- package/tokens/dark.css +79 -80
- package/styles/dimensions/guest-posture.css +0 -27
package/styles/runes/nav.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Nav */
|
|
2
3
|
.rf-nav {
|
|
3
4
|
padding: 0.5rem 0;
|
|
4
5
|
}
|
|
5
6
|
.rf-nav ul {
|
|
6
|
-
list-style: none;
|
|
7
7
|
padding: 0;
|
|
8
8
|
margin: 0;
|
|
9
9
|
}
|
|
@@ -20,27 +20,26 @@
|
|
|
20
20
|
border-bottom: 1px solid var(--rf-color-border);
|
|
21
21
|
}
|
|
22
22
|
.rf-nav__top-level .rf-nav-item__link {
|
|
23
|
-
font-weight:
|
|
24
|
-
font-size:
|
|
23
|
+
font-weight: var(--rf-weight-semibold);
|
|
24
|
+
font-size: var(--rf-text-sm);
|
|
25
25
|
}
|
|
26
26
|
.rf-nav-group h2,
|
|
27
27
|
.rf-nav-group h3 {
|
|
28
|
-
font-size:
|
|
28
|
+
font-size: var(--rf-text-xs);
|
|
29
29
|
text-transform: uppercase;
|
|
30
|
-
letter-spacing:
|
|
30
|
+
letter-spacing: var(--rf-tracking-wider);
|
|
31
31
|
color: var(--rf-color-muted);
|
|
32
32
|
margin-top: 0;
|
|
33
33
|
margin-bottom: 0.5rem;
|
|
34
34
|
padding-left: 0.75rem;
|
|
35
|
-
font-weight:
|
|
35
|
+
font-weight: var(--rf-weight-semibold);
|
|
36
36
|
}
|
|
37
37
|
.rf-nav-item__link {
|
|
38
|
-
display: block;
|
|
39
38
|
padding: 0.375rem 0.75rem;
|
|
40
39
|
border-radius: var(--rf-radius-sm);
|
|
41
40
|
color: var(--rf-color-text);
|
|
42
41
|
text-decoration: none;
|
|
43
|
-
font-size:
|
|
42
|
+
font-size: var(--rf-text-sm);
|
|
44
43
|
transition: background-color 150ms ease, color 150ms ease;
|
|
45
44
|
}
|
|
46
45
|
.rf-nav-item__link:hover {
|
|
@@ -53,7 +52,7 @@
|
|
|
53
52
|
.rf-nav-item__link[aria-current="page"] {
|
|
54
53
|
background: color-mix(in srgb, var(--rf-color-primary) 8%, transparent);
|
|
55
54
|
color: var(--rf-color-primary);
|
|
56
|
-
font-weight:
|
|
55
|
+
font-weight: var(--rf-weight-semibold);
|
|
57
56
|
}
|
|
58
57
|
/* SPEC-055: ancestor-of-current-page link — subtler treatment than the
|
|
59
58
|
* exact-match aria-current state. Themes can collapse the two into a
|
|
@@ -63,7 +62,7 @@
|
|
|
63
62
|
}
|
|
64
63
|
.rf-nav-item {
|
|
65
64
|
padding: 0.375rem 0.75rem;
|
|
66
|
-
font-size:
|
|
65
|
+
font-size: var(--rf-text-sm);
|
|
67
66
|
color: var(--rf-color-muted);
|
|
68
67
|
}
|
|
69
68
|
|
|
@@ -72,23 +71,14 @@
|
|
|
72
71
|
* instead of wrapping to the next line — the link's `display: block` would
|
|
73
72
|
* otherwise eat the full row. */
|
|
74
73
|
.rf-nav-item:has(> .rf-badge[data-name="badge"]) {
|
|
75
|
-
display: flex;
|
|
76
|
-
align-items: center;
|
|
77
74
|
gap: 0.375rem;
|
|
78
75
|
padding: 0;
|
|
79
76
|
}
|
|
80
|
-
.rf-nav-item:has(> .rf-badge[data-name="badge"]) > .rf-nav-item__link {
|
|
81
|
-
flex: 0 1 auto;
|
|
82
|
-
min-width: 0;
|
|
83
|
-
}
|
|
84
77
|
|
|
85
78
|
/* ─── Collapsible groups (vertical sidebar) ───────────────────────────── */
|
|
86
79
|
|
|
87
80
|
.rf-nav--collapsible .rf-nav-group h2,
|
|
88
81
|
.rf-nav--collapsible .rf-nav-group h3 {
|
|
89
|
-
display: flex;
|
|
90
|
-
align-items: center;
|
|
91
|
-
justify-content: space-between;
|
|
92
82
|
cursor: pointer;
|
|
93
83
|
user-select: none;
|
|
94
84
|
border-radius: var(--rf-radius-sm);
|
|
@@ -104,12 +94,8 @@
|
|
|
104
94
|
}
|
|
105
95
|
.rf-nav--collapsible .rf-nav-group h2::after,
|
|
106
96
|
.rf-nav--collapsible .rf-nav-group h3::after {
|
|
107
|
-
content: '';
|
|
108
|
-
width: 0.5rem;
|
|
109
|
-
height: 0.5rem;
|
|
110
97
|
border-right: 1.5px solid currentColor;
|
|
111
98
|
border-bottom: 1.5px solid currentColor;
|
|
112
|
-
transform: rotate(45deg);
|
|
113
99
|
transition: transform 200ms ease;
|
|
114
100
|
margin-right: 0.25rem;
|
|
115
101
|
}
|
|
@@ -119,18 +105,8 @@
|
|
|
119
105
|
.rf-nav--collapsible .rf-nav-group > .rf-nav-group__panel,
|
|
120
106
|
.rf-nav--collapsible .rf-nav-group > ul,
|
|
121
107
|
.rf-nav--collapsible .rf-nav-group > ol {
|
|
122
|
-
overflow: hidden;
|
|
123
108
|
transition: height 200ms ease;
|
|
124
109
|
}
|
|
125
|
-
.rf-nav--collapsible .rf-nav-group[data-collapsed="true"] > .rf-nav-group__panel,
|
|
126
|
-
.rf-nav--collapsible .rf-nav-group[data-collapsed="true"] > ul,
|
|
127
|
-
.rf-nav--collapsible .rf-nav-group[data-collapsed="true"] > ol {
|
|
128
|
-
height: 0;
|
|
129
|
-
}
|
|
130
|
-
.rf-nav--collapsible .rf-nav-group[data-collapsed="true"] h2::after,
|
|
131
|
-
.rf-nav--collapsible .rf-nav-group[data-collapsed="true"] h3::after {
|
|
132
|
-
transform: rotate(-45deg);
|
|
133
|
-
}
|
|
134
110
|
|
|
135
111
|
@media (prefers-reduced-motion: reduce) {
|
|
136
112
|
.rf-nav--collapsible .rf-nav-group > .rf-nav-group__panel,
|
|
@@ -155,10 +131,7 @@
|
|
|
155
131
|
}
|
|
156
132
|
.rf-nav--menubar > .rf-nav__top-level > ul,
|
|
157
133
|
.rf-nav--menubar > .rf-nav__top-level ul {
|
|
158
|
-
display: flex;
|
|
159
|
-
flex-wrap: wrap;
|
|
160
134
|
gap: 0.25rem;
|
|
161
|
-
align-items: center;
|
|
162
135
|
margin: 0;
|
|
163
136
|
}
|
|
164
137
|
.rf-nav--menubar > .rf-nav__top-level li {
|
|
@@ -166,10 +139,9 @@
|
|
|
166
139
|
margin: 0;
|
|
167
140
|
}
|
|
168
141
|
.rf-nav--menubar > .rf-nav__top-level .rf-nav-item__link {
|
|
169
|
-
display: inline-block;
|
|
170
142
|
padding: 0.375rem 0.75rem;
|
|
171
|
-
font-weight:
|
|
172
|
-
font-size:
|
|
143
|
+
font-weight: var(--rf-weight-medium);
|
|
144
|
+
font-size: var(--rf-text-sm);
|
|
173
145
|
border-radius: var(--rf-radius-sm);
|
|
174
146
|
color: var(--rf-color-muted);
|
|
175
147
|
transition: background-color 150ms ease, color 150ms ease;
|
|
@@ -180,15 +152,13 @@
|
|
|
180
152
|
}
|
|
181
153
|
.rf-nav--menubar .rf-nav-group {
|
|
182
154
|
margin: 0;
|
|
183
|
-
position: relative;
|
|
184
|
-
display: inline-block;
|
|
185
155
|
}
|
|
186
156
|
.rf-nav--menubar .rf-nav-group h2,
|
|
187
157
|
.rf-nav--menubar .rf-nav-group h3 {
|
|
188
158
|
margin: 0;
|
|
189
159
|
padding: 0.375rem 0.75rem;
|
|
190
|
-
font-size:
|
|
191
|
-
font-weight:
|
|
160
|
+
font-size: var(--rf-text-sm);
|
|
161
|
+
font-weight: var(--rf-weight-medium);
|
|
192
162
|
line-height: inherit;
|
|
193
163
|
text-transform: none;
|
|
194
164
|
letter-spacing: normal;
|
|
@@ -210,35 +180,15 @@
|
|
|
210
180
|
* wrapper so the rule works equally well for simple <ul> dropdowns and
|
|
211
181
|
* rich panels containing nested navs / intro / footer slots. */
|
|
212
182
|
.rf-nav--menubar .rf-nav-group > .rf-nav-group__panel {
|
|
213
|
-
display: block;
|
|
214
|
-
position: absolute;
|
|
215
|
-
top: 100%;
|
|
216
|
-
right: 0;
|
|
217
|
-
left: auto;
|
|
218
|
-
min-width: 14rem;
|
|
219
183
|
padding: 0.5rem;
|
|
220
184
|
background: var(--rf-color-bg);
|
|
221
185
|
border: 1px solid var(--rf-color-border);
|
|
222
186
|
border-radius: var(--rf-radius-md);
|
|
223
187
|
box-shadow: var(--rf-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
|
|
224
|
-
z-index: 50;
|
|
225
|
-
opacity: 0;
|
|
226
|
-
visibility: hidden;
|
|
227
|
-
pointer-events: none;
|
|
228
|
-
transform: translateY(-4px);
|
|
229
188
|
transition: opacity 150ms ease, visibility 150ms ease, transform 150ms ease;
|
|
230
189
|
}
|
|
231
|
-
.rf-nav--menubar .rf-nav-group:hover > .rf-nav-group__panel,
|
|
232
|
-
.rf-nav--menubar .rf-nav-group:focus-within > .rf-nav-group__panel,
|
|
233
|
-
.rf-nav--menubar .rf-nav-group[data-open="true"] > .rf-nav-group__panel {
|
|
234
|
-
opacity: 1;
|
|
235
|
-
visibility: visible;
|
|
236
|
-
pointer-events: auto;
|
|
237
|
-
transform: translateY(0);
|
|
238
|
-
}
|
|
239
190
|
/* Inside the panel, lists render naturally (no extra positioning). */
|
|
240
191
|
.rf-nav--menubar .rf-nav-group__panel ul {
|
|
241
|
-
list-style: none;
|
|
242
192
|
padding: 0;
|
|
243
193
|
margin: 0;
|
|
244
194
|
}
|
|
@@ -250,67 +200,40 @@
|
|
|
250
200
|
* `> ul > li > a` so it only catches flat panels — nested columns navs
|
|
251
201
|
* (which sit inside `.rf-nav--columns`) keep their own item styling. */
|
|
252
202
|
.rf-nav--menubar .rf-nav-group__panel > ul > li > .rf-nav-item__link {
|
|
253
|
-
display: block;
|
|
254
|
-
width: 100%;
|
|
255
|
-
box-sizing: border-box;
|
|
256
203
|
padding: 0.5rem 0.75rem;
|
|
257
204
|
}
|
|
258
205
|
.rf-nav--menubar .rf-nav-group .rf-nav-item__link {
|
|
259
|
-
font-size:
|
|
260
|
-
font-weight:
|
|
206
|
+
font-size: var(--rf-text-sm);
|
|
207
|
+
font-weight: var(--rf-weight-normal);
|
|
261
208
|
}
|
|
262
209
|
.rf-nav--menubar > nav,
|
|
263
210
|
.rf-nav--menubar {
|
|
264
|
-
display: flex;
|
|
265
|
-
flex-wrap: wrap;
|
|
266
211
|
gap: 0.25rem;
|
|
267
|
-
align-items: center;
|
|
268
|
-
}
|
|
269
|
-
.rf-nav--menubar [data-name="trigger"] {
|
|
270
|
-
display: none;
|
|
271
212
|
}
|
|
272
213
|
|
|
273
214
|
@media (max-width: 768px) {
|
|
274
|
-
/* Mobile: render the menubar as a flat vertical side-nav. No hamburger
|
|
275
|
-
trigger, no click-to-expand groups — category headings render as plain
|
|
276
|
-
headings with their items always visible. */
|
|
277
|
-
.rf-nav--menubar [data-name="trigger"] {
|
|
278
|
-
display: none;
|
|
279
|
-
}
|
|
280
215
|
.rf-nav--menubar {
|
|
281
|
-
flex-direction: column;
|
|
282
|
-
align-items: stretch;
|
|
283
216
|
gap: 0;
|
|
284
217
|
}
|
|
285
|
-
.rf-nav--menubar > .rf-nav__top-level,
|
|
286
|
-
.rf-nav--menubar > .rf-nav-group {
|
|
287
|
-
display: block;
|
|
288
|
-
width: 100%;
|
|
289
|
-
}
|
|
290
218
|
.rf-nav--menubar > .rf-nav__top-level > ul {
|
|
291
|
-
flex-direction: column;
|
|
292
|
-
align-items: stretch;
|
|
293
219
|
gap: 0;
|
|
294
220
|
}
|
|
295
221
|
.rf-nav--menubar > .rf-nav__top-level .rf-nav-item__link {
|
|
296
|
-
display: block;
|
|
297
222
|
padding: 0.5rem 0.75rem;
|
|
298
223
|
}
|
|
299
224
|
.rf-nav--menubar .rf-nav-group {
|
|
300
|
-
position: static;
|
|
301
|
-
display: block;
|
|
302
225
|
margin: 1rem 0 0;
|
|
303
226
|
}
|
|
304
227
|
.rf-nav--menubar .rf-nav-group h2,
|
|
305
228
|
.rf-nav--menubar .rf-nav-group h3 {
|
|
306
|
-
font-size:
|
|
229
|
+
font-size: var(--rf-text-xs);
|
|
307
230
|
text-transform: uppercase;
|
|
308
|
-
letter-spacing:
|
|
231
|
+
letter-spacing: var(--rf-tracking-wider);
|
|
309
232
|
color: var(--rf-color-muted);
|
|
310
233
|
background: transparent;
|
|
311
234
|
cursor: default;
|
|
312
235
|
padding: 0.5rem 0.75rem 0.25rem;
|
|
313
|
-
font-weight:
|
|
236
|
+
font-weight: var(--rf-weight-semibold);
|
|
314
237
|
}
|
|
315
238
|
.rf-nav--menubar .rf-nav-group h2:hover,
|
|
316
239
|
.rf-nav--menubar .rf-nav-group h3:hover,
|
|
@@ -320,30 +243,20 @@
|
|
|
320
243
|
color: var(--rf-color-muted);
|
|
321
244
|
}
|
|
322
245
|
.rf-nav--menubar .rf-nav-group > .rf-nav-group__panel {
|
|
323
|
-
position: static;
|
|
324
|
-
display: block;
|
|
325
|
-
min-width: 0;
|
|
326
246
|
padding: 0;
|
|
327
247
|
background: transparent;
|
|
328
248
|
border: 0;
|
|
329
249
|
box-shadow: none;
|
|
330
|
-
opacity: 1;
|
|
331
|
-
visibility: visible;
|
|
332
|
-
pointer-events: auto;
|
|
333
|
-
transform: none;
|
|
334
250
|
}
|
|
335
251
|
}
|
|
336
252
|
|
|
337
253
|
/* ─── Columns layout (footer) ─────────────────────────────────────────── */
|
|
338
254
|
|
|
339
255
|
.rf-nav--columns {
|
|
340
|
-
display: grid;
|
|
341
|
-
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
|
|
342
256
|
gap: 2rem;
|
|
343
257
|
padding: 1.5rem 0;
|
|
344
258
|
}
|
|
345
259
|
.rf-nav--columns .rf-nav__top-level {
|
|
346
|
-
grid-column: 1 / -1;
|
|
347
260
|
padding-bottom: 1rem;
|
|
348
261
|
margin-bottom: 0;
|
|
349
262
|
border-bottom: 0;
|
|
@@ -356,7 +269,7 @@
|
|
|
356
269
|
padding-left: 0;
|
|
357
270
|
margin-bottom: 0.75rem;
|
|
358
271
|
color: var(--rf-color-text);
|
|
359
|
-
font-size:
|
|
272
|
+
font-size: var(--rf-text-xs);
|
|
360
273
|
}
|
|
361
274
|
.rf-nav--columns .rf-nav-item__link {
|
|
362
275
|
padding: 0.25rem 0;
|
|
@@ -379,7 +292,6 @@
|
|
|
379
292
|
/* Keep two columns on mobile. `minmax(0, 1fr)` lets columns shrink
|
|
380
293
|
* below their min-content width so long link labels don't push the
|
|
381
294
|
* grid wider than the viewport and trigger horizontal scroll. */
|
|
382
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
383
295
|
gap: 1.25rem 1.5rem;
|
|
384
296
|
}
|
|
385
297
|
.rf-nav--columns .rf-nav-item__link {
|
|
@@ -399,10 +311,7 @@
|
|
|
399
311
|
}
|
|
400
312
|
.rf-nav--cards > .rf-nav__top-level > ul,
|
|
401
313
|
.rf-nav--cards > ul {
|
|
402
|
-
display: grid;
|
|
403
|
-
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
|
404
314
|
gap: 1rem;
|
|
405
|
-
list-style: none;
|
|
406
315
|
padding: 0;
|
|
407
316
|
margin: 0;
|
|
408
317
|
}
|
|
@@ -411,13 +320,11 @@
|
|
|
411
320
|
}
|
|
412
321
|
.rf-nav--cards .rf-nav-group h2,
|
|
413
322
|
.rf-nav--cards .rf-nav-group h3 {
|
|
414
|
-
font-size:
|
|
323
|
+
font-size: var(--rf-text-sm);
|
|
415
324
|
padding-left: 0;
|
|
416
325
|
margin-bottom: 1rem;
|
|
417
326
|
}
|
|
418
327
|
.rf-nav--cards .rf-nav-group > ul {
|
|
419
|
-
display: grid;
|
|
420
|
-
grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
|
|
421
328
|
gap: 1rem;
|
|
422
329
|
}
|
|
423
330
|
.rf-nav--cards .rf-nav-item {
|
|
@@ -426,8 +333,6 @@
|
|
|
426
333
|
font-size: inherit;
|
|
427
334
|
}
|
|
428
335
|
.rf-nav--cards .rf-nav-item__link {
|
|
429
|
-
display: flex;
|
|
430
|
-
flex-direction: column;
|
|
431
336
|
gap: 0.5rem;
|
|
432
337
|
padding: 1.25rem;
|
|
433
338
|
background: var(--rf-color-surface, var(--rf-color-bg));
|
|
@@ -436,7 +341,6 @@
|
|
|
436
341
|
color: var(--rf-color-text);
|
|
437
342
|
text-decoration: none;
|
|
438
343
|
transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
|
|
439
|
-
height: 100%;
|
|
440
344
|
}
|
|
441
345
|
.rf-nav--cards .rf-nav-item__link:hover {
|
|
442
346
|
border-color: var(--rf-color-primary);
|
|
@@ -445,60 +349,31 @@
|
|
|
445
349
|
box-shadow: var(--rf-shadow-sm, 0 2px 6px rgba(0, 0, 0, 0.05));
|
|
446
350
|
}
|
|
447
351
|
.rf-nav--cards .rf-nav-item__icon {
|
|
448
|
-
width: 1.5rem;
|
|
449
|
-
height: 1.5rem;
|
|
450
352
|
color: var(--rf-color-primary);
|
|
451
353
|
margin-bottom: 0.25rem;
|
|
452
354
|
}
|
|
453
355
|
.rf-nav--cards .rf-nav-item__title {
|
|
454
|
-
font-size:
|
|
455
|
-
font-weight:
|
|
356
|
+
font-size: var(--rf-text);
|
|
357
|
+
font-weight: var(--rf-weight-semibold);
|
|
456
358
|
color: var(--rf-color-text);
|
|
457
359
|
}
|
|
458
360
|
.rf-nav--cards .rf-nav-item__description {
|
|
459
|
-
font-size:
|
|
361
|
+
font-size: var(--rf-text-sm);
|
|
460
362
|
color: var(--rf-color-muted);
|
|
461
|
-
line-height:
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
@media (max-width: 500px) {
|
|
465
|
-
.rf-nav--cards > ul,
|
|
466
|
-
.rf-nav--cards > .rf-nav__top-level > ul,
|
|
467
|
-
.rf-nav--cards .rf-nav-group > ul {
|
|
468
|
-
grid-template-columns: 1fr;
|
|
469
|
-
}
|
|
363
|
+
line-height: var(--rf-leading-normal);
|
|
470
364
|
}
|
|
471
365
|
|
|
472
366
|
/* ─── Per-item description (SPEC-054, any layout) ─────────────────────── */
|
|
473
367
|
|
|
474
368
|
.rf-nav-item__description {
|
|
475
|
-
|
|
476
|
-
font-size: 0.8125rem;
|
|
369
|
+
font-size: var(--rf-text-sm);
|
|
477
370
|
color: var(--rf-color-muted);
|
|
478
|
-
line-height:
|
|
371
|
+
line-height: var(--rf-leading-snug);
|
|
479
372
|
margin-top: 0.125rem;
|
|
480
373
|
}
|
|
481
374
|
|
|
482
375
|
/* ─── Menubar group slots (SPEC-054 rich panel content) ──────────────── */
|
|
483
376
|
|
|
484
|
-
/* Rich menubar panels: when the panel contains intro / nested nav / footer
|
|
485
|
-
* blocks, it auto-sizes to fit content rather than the narrow flat dropdown
|
|
486
|
-
* default. */
|
|
487
|
-
.rf-nav--menubar .rf-nav-group__panel:has(.rf-nav-group__intro),
|
|
488
|
-
.rf-nav--menubar .rf-nav-group__panel:has(.rf-nav-group__footer),
|
|
489
|
-
.rf-nav--menubar .rf-nav-group__panel:has(.rf-nav) {
|
|
490
|
-
min-width: 20rem;
|
|
491
|
-
max-width: 36rem;
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
/* When the panel contains a nested columns nav with explicit column wrappers,
|
|
495
|
-
* widen the cap so each column has room for a one-line description rather
|
|
496
|
-
* than wrapping to three or four. */
|
|
497
|
-
.rf-nav--menubar .rf-nav-group__panel:has(.rf-nav--columns > div[data-name="column"]) {
|
|
498
|
-
min-width: 36rem;
|
|
499
|
-
max-width: 56rem;
|
|
500
|
-
}
|
|
501
|
-
|
|
502
377
|
/* Nested columns nav inside a menubar panel: render as a distinct surface
|
|
503
378
|
* card so the column grid reads as a grouped block rather than bleeding
|
|
504
379
|
* into the panel's chrome. Resets the standalone columns padding (which
|
|
@@ -521,10 +396,9 @@
|
|
|
521
396
|
padding: 0;
|
|
522
397
|
}
|
|
523
398
|
.rf-nav--menubar .rf-nav-group__panel .rf-nav--columns .rf-nav-item__link {
|
|
524
|
-
display: block;
|
|
525
399
|
padding: 0.75rem;
|
|
526
400
|
color: var(--rf-color-text);
|
|
527
|
-
font-weight:
|
|
401
|
+
font-weight: var(--rf-weight-medium);
|
|
528
402
|
border-radius: var(--rf-radius-sm);
|
|
529
403
|
}
|
|
530
404
|
.rf-nav--menubar .rf-nav-group__panel .rf-nav--columns .rf-nav-item__link:hover {
|
|
@@ -540,7 +414,7 @@
|
|
|
540
414
|
background: var(--rf-color-surface-active);
|
|
541
415
|
}
|
|
542
416
|
.rf-nav--menubar .rf-nav-group__panel .rf-nav--columns .rf-nav-item__link .rf-nav-item__description {
|
|
543
|
-
font-weight:
|
|
417
|
+
font-weight: var(--rf-weight-normal);
|
|
544
418
|
color: var(--rf-color-muted);
|
|
545
419
|
}
|
|
546
420
|
|
|
@@ -563,7 +437,7 @@
|
|
|
563
437
|
* muted lead-in above the panel content. */
|
|
564
438
|
.rf-nav-group__intro p:only-child {
|
|
565
439
|
margin: 0;
|
|
566
|
-
font-size:
|
|
440
|
+
font-size: var(--rf-text-xs);
|
|
567
441
|
color: var(--rf-color-muted);
|
|
568
442
|
}
|
|
569
443
|
|
|
@@ -572,12 +446,12 @@
|
|
|
572
446
|
}
|
|
573
447
|
.rf-nav-group__footer p {
|
|
574
448
|
margin: 0;
|
|
575
|
-
font-size:
|
|
449
|
+
font-size: var(--rf-text-sm);
|
|
576
450
|
color: var(--rf-color-muted);
|
|
577
451
|
}
|
|
578
452
|
.rf-nav-group__footer a {
|
|
579
453
|
color: var(--rf-color-primary);
|
|
580
|
-
font-weight:
|
|
454
|
+
font-weight: var(--rf-weight-medium);
|
|
581
455
|
}
|
|
582
456
|
|
|
583
457
|
/* ─── Multi-section columns (SPEC-054 columns flow rule) ──────────────── */
|
|
@@ -588,60 +462,30 @@
|
|
|
588
462
|
.rf-nav--columns .rf-nav-group__column,
|
|
589
463
|
.rf-nav--columns .rf-nav__column,
|
|
590
464
|
.rf-nav--columns > div[data-name="column"] {
|
|
591
|
-
display: flex;
|
|
592
|
-
flex-direction: column;
|
|
593
465
|
gap: 1.25rem;
|
|
594
466
|
}
|
|
595
467
|
|
|
596
|
-
/* Multi-section columns mode: when the author has placed explicit `---`
|
|
597
|
-
* dividers, the structure already declares the column count. Use
|
|
598
|
-
* grid-auto-flow:column so each `data-name="column"` wrapper becomes its own
|
|
599
|
-
* track — this expands the container to fit the tracks rather than
|
|
600
|
-
* collapsing to one column when the container is narrow (e.g. nested inside
|
|
601
|
-
* a menubar panel at its min-width). */
|
|
602
|
-
.rf-nav--columns:has(> div[data-name="column"]) {
|
|
603
|
-
display: grid;
|
|
604
|
-
grid-template-columns: unset;
|
|
605
|
-
grid-auto-flow: column;
|
|
606
|
-
grid-auto-columns: minmax(14rem, 1fr);
|
|
607
|
-
}
|
|
608
|
-
|
|
609
468
|
/* Stepped collapse: at four columns × 14rem min + gaps the grid needs ~62rem
|
|
610
469
|
* of width, so below ~900px the explicit-column flow would overflow. Step
|
|
611
470
|
* down to a 2×N grid before going single-column at the narrowest breakpoint. */
|
|
612
|
-
@media (max-width: 900px) {
|
|
613
|
-
.rf-nav--columns:has(> div[data-name="column"]) {
|
|
614
|
-
grid-auto-flow: row;
|
|
615
|
-
grid-auto-columns: unset;
|
|
616
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
617
|
-
}
|
|
618
|
-
}
|
|
619
471
|
|
|
620
472
|
@media (max-width: 600px) {
|
|
621
473
|
.rf-nav--columns:has(> div[data-name="column"]) {
|
|
622
|
-
grid-auto-flow: row;
|
|
623
|
-
grid-auto-columns: unset;
|
|
624
474
|
/* Keep two columns on mobile. `minmax(0, 1fr)` lets columns shrink
|
|
625
475
|
* below their min-content width so long link labels don't push the
|
|
626
476
|
* grid wider than the viewport and trigger horizontal scroll. */
|
|
627
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
628
477
|
}
|
|
629
478
|
}
|
|
630
479
|
|
|
631
480
|
/* ─── Strip layout (SPEC-054 compact secondary nav) ───────────────────── */
|
|
632
481
|
|
|
633
482
|
.rf-nav--strip {
|
|
634
|
-
display: flex;
|
|
635
|
-
flex-wrap: wrap;
|
|
636
483
|
gap: 0.5rem 1rem;
|
|
637
484
|
padding: 0.5rem 0;
|
|
638
|
-
font-size:
|
|
485
|
+
font-size: var(--rf-text-sm);
|
|
639
486
|
}
|
|
640
487
|
.rf-nav--strip ul {
|
|
641
|
-
display: flex;
|
|
642
|
-
flex-wrap: wrap;
|
|
643
488
|
gap: 0.5rem 1rem;
|
|
644
|
-
list-style: none;
|
|
645
489
|
padding: 0;
|
|
646
490
|
margin: 0;
|
|
647
491
|
}
|
|
@@ -649,10 +493,9 @@
|
|
|
649
493
|
padding: 0;
|
|
650
494
|
}
|
|
651
495
|
.rf-nav--strip .rf-nav-item__link {
|
|
652
|
-
display: inline-block;
|
|
653
496
|
padding: 0.25rem 0;
|
|
654
497
|
color: var(--rf-color-muted);
|
|
655
|
-
font-size:
|
|
498
|
+
font-size: var(--rf-text-sm);
|
|
656
499
|
border-radius: 0;
|
|
657
500
|
background: transparent;
|
|
658
501
|
}
|
|
@@ -669,7 +512,7 @@
|
|
|
669
512
|
* compact-but-still-tap-friendly. */
|
|
670
513
|
.rf-nav-group__footer .rf-nav--strip {
|
|
671
514
|
padding: 0;
|
|
672
|
-
font-size:
|
|
515
|
+
font-size: var(--rf-text-xs);
|
|
673
516
|
}
|
|
674
517
|
|
|
675
518
|
/* ─── Mobile menubar: nested columns collapse ─────────────────────────── */
|
|
@@ -686,9 +529,6 @@
|
|
|
686
529
|
background: transparent;
|
|
687
530
|
border: 0;
|
|
688
531
|
border-radius: 0;
|
|
689
|
-
grid-auto-flow: row;
|
|
690
|
-
grid-auto-columns: unset;
|
|
691
|
-
grid-template-columns: 1fr;
|
|
692
532
|
}
|
|
693
533
|
/* Tighter padding + bolder weight matches the visual rhythm of the
|
|
694
534
|
* regular flat menubar group items above. Hover swaps to a text-colour
|
|
@@ -696,27 +536,12 @@
|
|
|
696
536
|
* highlighted bands as the user scrolls. */
|
|
697
537
|
.rf-nav--menubar .rf-nav-group__panel .rf-nav--columns .rf-nav-item__link {
|
|
698
538
|
padding: 0.25rem 0.75rem;
|
|
699
|
-
font-weight:
|
|
539
|
+
font-weight: var(--rf-weight-medium);
|
|
700
540
|
}
|
|
701
541
|
.rf-nav--menubar .rf-nav-group__panel .rf-nav--columns .rf-nav-item__link:hover {
|
|
702
542
|
background: transparent;
|
|
703
543
|
color: var(--rf-color-primary);
|
|
704
544
|
}
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
.rf-nav--menubar .rf-nav-group__panel .rf-nav--columns .rf-nav-item__description {
|
|
708
|
-
display: none;
|
|
709
|
-
}
|
|
710
|
-
/* Rich-panel min-widths (20rem / 36rem) above aren't viewport-gated and
|
|
711
|
-
* would push the drawer wider than the mobile viewport. The drawer
|
|
712
|
-
* renders the menubar as a flat vertical list, so no min-width is
|
|
713
|
-
* needed — clamp to fit. Placed after the rich-panel rules so source
|
|
714
|
-
* order wins the cascade at equal specificity. */
|
|
715
|
-
.rf-nav--menubar .rf-nav-group__panel:has(.rf-nav-group__intro),
|
|
716
|
-
.rf-nav--menubar .rf-nav-group__panel:has(.rf-nav-group__footer),
|
|
717
|
-
.rf-nav--menubar .rf-nav-group__panel:has(.rf-nav),
|
|
718
|
-
.rf-nav--menubar .rf-nav-group__panel:has(.rf-nav--columns > div[data-name="column"]) {
|
|
719
|
-
min-width: 0;
|
|
720
|
-
max-width: 100%;
|
|
721
|
-
}
|
|
545
|
+
}
|
|
546
|
+
|
|
722
547
|
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Organization */
|
|
2
3
|
.rf-organization__type {
|
|
3
|
-
font-size:
|
|
4
|
-
font-weight:
|
|
4
|
+
font-size: var(--rf-text-xs);
|
|
5
|
+
font-weight: var(--rf-weight-normal);
|
|
5
6
|
text-transform: uppercase;
|
|
6
|
-
letter-spacing:
|
|
7
|
+
letter-spacing: var(--rf-tracking-wider);
|
|
7
8
|
color: var(--rf-color-muted);
|
|
8
9
|
opacity: 0.6;
|
|
9
10
|
margin-bottom: 0.5rem;
|
|
10
11
|
}
|
|
11
12
|
.rf-organization__body img {
|
|
12
|
-
max-height: 80px;
|
|
13
|
-
width: auto;
|
|
14
13
|
margin-bottom: 1rem;
|
|
15
14
|
}
|
|
16
15
|
.rf-organization__body ul,
|
|
@@ -19,3 +18,5 @@
|
|
|
19
18
|
}
|
|
20
19
|
.rf-organization__body a { color: var(--rf-color-primary); }
|
|
21
20
|
.rf-organization__body a:hover { color: var(--rf-color-primary-hover); }
|
|
21
|
+
|
|
22
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* PageSection */
|
|
2
3
|
.rf-page-section {
|
|
3
4
|
padding: 3rem 0;
|
|
@@ -7,15 +8,13 @@
|
|
|
7
8
|
margin-top: 0;
|
|
8
9
|
}
|
|
9
10
|
.rf-page-section--split {
|
|
10
|
-
display: grid;
|
|
11
|
-
grid-template-columns: 1fr 1fr;
|
|
12
11
|
gap: 3rem;
|
|
13
|
-
align-items: start;
|
|
14
12
|
}
|
|
15
13
|
|
|
16
14
|
@media (max-width: 768px) {
|
|
17
15
|
.rf-page-section--split {
|
|
18
|
-
grid-template-columns: 1fr;
|
|
19
16
|
gap: 1.5rem;
|
|
20
17
|
}
|
|
21
18
|
}
|
|
19
|
+
|
|
20
|
+
}
|