@refrakt-md/lumina 0.22.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.map +1 -1
- package/dist/tokens.js +2 -0
- package/dist/tokens.js.map +1 -1
- package/index.css +10 -1
- package/package.json +5 -4
- package/styles/base/attributes.css +6 -7
- package/styles/dimensions/checklist.css +6 -35
- package/styles/dimensions/cover.css +13 -95
- package/styles/dimensions/density.css +3 -0
- package/styles/dimensions/frame.css +3 -0
- package/styles/dimensions/media.css +14 -61
- package/styles/dimensions/metadata.css +24 -74
- package/styles/dimensions/sections.css +10 -24
- package/styles/dimensions/sequence.css +14 -79
- 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 +9 -48
- package/styles/layouts/blog.css +3 -64
- package/styles/layouts/default.css +3 -77
- package/styles/layouts/docs.css +3 -153
- package/styles/layouts/mobile.css +1 -50
- package/styles/layouts/on-this-page.css +3 -2
- package/styles/layouts/plan.css +3 -134
- package/styles/layouts/search.css +3 -68
- package/styles/layouts/split.css +24 -169
- package/styles/layouts/theme-toggle.css +3 -29
- package/styles/layouts/version-switcher.css +3 -4
- package/styles/runes/accordion.css +15 -58
- package/styles/runes/aggregate.css +3 -12
- package/styles/runes/annotate.css +6 -35
- package/styles/runes/api.css +3 -0
- package/styles/runes/audio.css +3 -41
- package/styles/runes/badge.css +3 -0
- package/styles/runes/bar.css +3 -0
- package/styles/runes/bento.css +16 -159
- package/styles/runes/bg.css +3 -37
- package/styles/runes/blog.css +3 -5
- package/styles/runes/bond.css +3 -23
- package/styles/runes/breadcrumb.css +5 -13
- package/styles/runes/budget.css +3 -25
- package/styles/runes/bug.css +3 -0
- package/styles/runes/card.css +24 -92
- package/styles/runes/cast.css +5 -22
- package/styles/runes/changelog.css +5 -9
- package/styles/runes/character.css +3 -17
- package/styles/runes/chart.css +10 -52
- package/styles/runes/codegroup.css +15 -23
- package/styles/runes/collection.css +5 -82
- package/styles/runes/compare.css +3 -14
- package/styles/runes/comparison.css +7 -34
- package/styles/runes/conversation.css +5 -27
- package/styles/runes/cta.css +3 -26
- package/styles/runes/datatable.css +25 -40
- package/styles/runes/decision.css +3 -0
- package/styles/runes/design-context.css +3 -2
- package/styles/runes/details.css +5 -13
- package/styles/runes/diagram.css +5 -13
- package/styles/runes/diff.css +5 -88
- package/styles/runes/drawer.css +1 -105
- package/styles/runes/embed.css +4 -12
- package/styles/runes/event.css +3 -1
- package/styles/runes/expand.css +5 -40
- package/styles/runes/faction.css +3 -9
- package/styles/runes/feature.css +4 -32
- package/styles/runes/figure.css +5 -24
- package/styles/runes/file-ref.css +3 -18
- package/styles/runes/form.css +3 -32
- package/styles/runes/gallery.css +3 -135
- package/styles/runes/grid.css +4 -56
- package/styles/runes/hero.css +13 -126
- package/styles/runes/hint.css +16 -41
- package/styles/runes/howto.css +3 -25
- package/styles/runes/itinerary.css +3 -32
- package/styles/runes/juxtapose.css +12 -87
- package/styles/runes/lore.css +3 -10
- package/styles/runes/map.css +3 -36
- package/styles/runes/mediatext.css +3 -44
- package/styles/runes/milestone.css +3 -16
- package/styles/runes/mockup.css +3 -108
- package/styles/runes/nav.css +3 -178
- package/styles/runes/organization.css +3 -2
- package/styles/runes/page-section.css +3 -4
- package/styles/runes/pagination.css +5 -37
- package/styles/runes/palette.css +3 -22
- package/styles/runes/placeholder.css +3 -3
- package/styles/runes/plan-history.css +3 -23
- package/styles/runes/plan-progress.css +3 -4
- package/styles/runes/plan-ref.css +3 -0
- package/styles/runes/playlist.css +2 -36
- package/styles/runes/plot.css +3 -19
- package/styles/runes/preview.css +3 -28
- package/styles/runes/pricing.css +7 -25
- package/styles/runes/progress.css +6 -25
- package/styles/runes/pullquote.css +3 -26
- package/styles/runes/realm.css +3 -9
- package/styles/runes/recipe.css +3 -27
- package/styles/runes/relationships.css +3 -34
- package/styles/runes/reveal.css +7 -12
- package/styles/runes/sandbox.css +6 -36
- package/styles/runes/section.css +4 -18
- package/styles/runes/showcase.css +3 -20
- package/styles/runes/sidenote.css +3 -2
- package/styles/runes/snippet.css +3 -0
- package/styles/runes/spacing.css +3 -22
- package/styles/runes/spec.css +3 -0
- package/styles/runes/steps.css +4 -36
- package/styles/runes/storyboard.css +2 -17
- package/styles/runes/swatch.css +3 -6
- package/styles/runes/symbol.css +6 -4
- package/styles/runes/tabs.css +6 -9
- package/styles/runes/testimonial.css +5 -6
- package/styles/runes/textblock.css +2 -20
- package/styles/runes/timeline.css +3 -21
- package/styles/runes/tint.css +3 -0
- package/styles/runes/toc.css +5 -3
- package/styles/runes/track.css +2 -31
- package/styles/runes/typography.css +3 -15
- package/styles/runes/work.css +3 -0
- package/styles/runes/xref.css +3 -1
- package/tokens/base.css +13 -0
- package/tokens/dark.css +3 -0
- package/styles/dimensions/guest-posture.css +0 -27
package/styles/runes/steps.css
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
.
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Steps — skin. The counter mechanism, step item layout, badge box placement, and
|
|
3
|
+
* media-position flip live in @refrakt-md/skeleton (styles/runes/steps.css). */
|
|
5
4
|
.rf-steps__preamble {
|
|
6
|
-
flex-direction: column;
|
|
7
|
-
align-items: flex-start;
|
|
8
5
|
gap: 0.25rem;
|
|
9
6
|
margin-bottom: 1.5rem;
|
|
10
7
|
}
|
|
@@ -17,8 +14,6 @@
|
|
|
17
14
|
margin: 0 0 0.5rem;
|
|
18
15
|
}
|
|
19
16
|
.rf-steps__eyebrow:has(a) {
|
|
20
|
-
display: inline-block;
|
|
21
|
-
position: relative;
|
|
22
17
|
padding: 0.25rem 0.875rem;
|
|
23
18
|
border: 1px solid var(--rf-color-border);
|
|
24
19
|
border-radius: var(--rf-radius-full);
|
|
@@ -30,7 +25,7 @@
|
|
|
30
25
|
}
|
|
31
26
|
.rf-steps__eyebrow:has(a):hover { border-color: var(--rf-color-muted); }
|
|
32
27
|
.rf-steps__eyebrow:has(a) a { color: var(--rf-color-primary); font-weight: var(--rf-weight-semibold); text-decoration: none; }
|
|
33
|
-
.rf-steps__eyebrow:has(a) a::before {
|
|
28
|
+
.rf-steps__eyebrow:has(a) a::before { border-radius: inherit; }
|
|
34
29
|
.rf-steps__headline {
|
|
35
30
|
margin-top: 0;
|
|
36
31
|
}
|
|
@@ -42,36 +37,21 @@
|
|
|
42
37
|
margin-bottom: 1rem;
|
|
43
38
|
}
|
|
44
39
|
.rf-steps ol {
|
|
45
|
-
list-style: none;
|
|
46
40
|
padding-left: 0;
|
|
47
41
|
margin: 0;
|
|
48
42
|
}
|
|
49
|
-
.rf-step__content {
|
|
50
|
-
display: contents;
|
|
51
|
-
}
|
|
52
43
|
|
|
53
44
|
/* Individual step — borderless, matching recipe */
|
|
54
45
|
.rf-step {
|
|
55
|
-
counter-increment: step;
|
|
56
|
-
position: relative;
|
|
57
46
|
padding: 0.625rem 0 0.625rem 2.25rem;
|
|
58
47
|
}
|
|
59
48
|
.rf-step + .rf-step {
|
|
60
49
|
border-top: 1px solid var(--rf-color-border);
|
|
61
50
|
}
|
|
62
51
|
.rf-step::before {
|
|
63
|
-
content: counter(step);
|
|
64
|
-
position: absolute;
|
|
65
|
-
left: 0;
|
|
66
|
-
top: 0.625rem;
|
|
67
|
-
width: 1.5rem;
|
|
68
|
-
height: 1.5rem;
|
|
69
52
|
background: var(--rf-color-surface);
|
|
70
53
|
color: var(--rf-color-primary);
|
|
71
54
|
border-radius: var(--rf-radius-full);
|
|
72
|
-
display: flex;
|
|
73
|
-
align-items: center;
|
|
74
|
-
justify-content: center;
|
|
75
55
|
font-weight: var(--rf-weight-bold);
|
|
76
56
|
font-size: var(--rf-text-xs);
|
|
77
57
|
font-variant-numeric: tabular-nums;
|
|
@@ -83,7 +63,6 @@
|
|
|
83
63
|
.rf-step h5,
|
|
84
64
|
.rf-step h6,
|
|
85
65
|
.rf-step strong {
|
|
86
|
-
display: block;
|
|
87
66
|
margin-top: 0;
|
|
88
67
|
margin-bottom: 0.375rem;
|
|
89
68
|
}
|
|
@@ -99,17 +78,6 @@
|
|
|
99
78
|
}
|
|
100
79
|
.rf-step__media {
|
|
101
80
|
border-radius: var(--rf-radius-md);
|
|
102
|
-
overflow: hidden;
|
|
103
81
|
}
|
|
104
82
|
|
|
105
|
-
/* BUG-001 — content-first DOM inverts the shared media-first stacked contract
|
|
106
|
-
* (layouts/split.css): counter it so the labels are truthful. `bottom` (the
|
|
107
|
-
* default) is plain block flow — media after the content, the historical
|
|
108
|
-
* look; an explicit `top` flips the visual order without touching the DOM. */
|
|
109
|
-
.rf-step[data-media-position="bottom"] {
|
|
110
|
-
display: block;
|
|
111
|
-
}
|
|
112
|
-
.rf-step[data-media-position="top"] {
|
|
113
|
-
display: flex;
|
|
114
|
-
flex-direction: column-reverse;
|
|
115
83
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Storyboard */
|
|
2
3
|
.rf-storyboard__panels {
|
|
3
|
-
display: grid;
|
|
4
|
-
grid-template-columns: repeat(var(--sb-columns, 3), 1fr);
|
|
5
4
|
gap: 1rem;
|
|
6
5
|
}
|
|
7
6
|
/* Clean style */
|
|
8
7
|
.rf-storyboard--clean .rf-storyboard-panel {
|
|
9
8
|
border: 1px solid var(--rf-color-border);
|
|
10
9
|
border-radius: var(--rf-radius-md);
|
|
11
|
-
overflow: hidden;
|
|
12
10
|
}
|
|
13
11
|
.rf-storyboard--clean .rf-storyboard-panel__body {
|
|
14
12
|
padding: 0.75rem;
|
|
@@ -17,7 +15,6 @@
|
|
|
17
15
|
.rf-storyboard--comic .rf-storyboard-panel {
|
|
18
16
|
border: 3px solid var(--rf-color-text);
|
|
19
17
|
border-radius: 0.25rem;
|
|
20
|
-
overflow: hidden;
|
|
21
18
|
transform: rotate(-0.5deg);
|
|
22
19
|
}
|
|
23
20
|
.rf-storyboard--comic .rf-storyboard-panel:nth-child(even) {
|
|
@@ -45,18 +42,6 @@
|
|
|
45
42
|
color: var(--rf-color-muted);
|
|
46
43
|
margin: 0.5rem 0 0;
|
|
47
44
|
}
|
|
48
|
-
/* Shared image styles */
|
|
49
|
-
.rf-storyboard-panel img {
|
|
50
|
-
width: 100%;
|
|
51
|
-
height: auto;
|
|
52
|
-
display: block;
|
|
53
|
-
}
|
|
54
|
-
.rf-storyboard-panel__body > span[property],
|
|
55
|
-
.rf-storyboard-panel__body > meta { display: none; }
|
|
56
45
|
.rf-storyboard-panel__body p:last-child { margin-bottom: 0; }
|
|
57
|
-
|
|
58
|
-
.rf-storyboard__panels { grid-template-columns: repeat(2, 1fr) !important; }
|
|
59
|
-
}
|
|
60
|
-
@media (max-width: 480px) {
|
|
61
|
-
.rf-storyboard__panels { grid-template-columns: 1fr !important; }
|
|
46
|
+
|
|
62
47
|
}
|
package/styles/runes/swatch.css
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Swatch — inline color chip */
|
|
2
3
|
.rf-swatch {
|
|
3
|
-
display: inline-flex;
|
|
4
|
-
align-items: center;
|
|
5
4
|
gap: 0.375rem;
|
|
6
5
|
vertical-align: middle;
|
|
7
6
|
border: 1px solid rgba(0, 0, 0, 0.12);
|
|
@@ -10,12 +9,8 @@
|
|
|
10
9
|
margin: 0 0.15em;
|
|
11
10
|
}
|
|
12
11
|
.rf-swatch__chip {
|
|
13
|
-
display: inline-block;
|
|
14
|
-
width: 0.875em;
|
|
15
|
-
height: 0.875em;
|
|
16
12
|
border-radius: 50%;
|
|
17
13
|
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
18
|
-
flex-shrink: 0;
|
|
19
14
|
}
|
|
20
15
|
.rf-swatch__label {
|
|
21
16
|
font-weight: var(--rf-weight-medium);
|
|
@@ -26,3 +21,5 @@
|
|
|
26
21
|
font-family: var(--rf-font-mono, monospace);
|
|
27
22
|
vertical-align: middle;
|
|
28
23
|
}
|
|
24
|
+
|
|
25
|
+
}
|
package/styles/runes/symbol.css
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Symbol — skin. The list display resets live in @refrakt-md/skeleton
|
|
3
|
+
* (styles/runes/symbol.css); the signature-bar geometry comes from the shared
|
|
4
|
+
* [data-zone-layout="bar"]. */
|
|
2
5
|
|
|
3
6
|
/* SPEC-080: signature bar (kind/lang chips + source link). Geometry +
|
|
4
7
|
* the source link's right-push come from [data-zone-layout="bar"]; the
|
|
@@ -30,7 +33,6 @@
|
|
|
30
33
|
margin: 1rem 0;
|
|
31
34
|
}
|
|
32
35
|
.rf-symbol__body > div > ul {
|
|
33
|
-
list-style: none;
|
|
34
36
|
padding-left: 0;
|
|
35
37
|
margin: 1rem 0;
|
|
36
38
|
}
|
|
@@ -45,7 +47,6 @@
|
|
|
45
47
|
.rf-symbol__body > div > ul > li > ul {
|
|
46
48
|
margin-top: 0.375rem;
|
|
47
49
|
padding-left: 1.25rem;
|
|
48
|
-
list-style: none;
|
|
49
50
|
}
|
|
50
51
|
.rf-symbol__body > div > ul > li > ul > li {
|
|
51
52
|
padding: 0.25rem 0;
|
|
@@ -106,7 +107,6 @@
|
|
|
106
107
|
margin: 0.75rem 0;
|
|
107
108
|
}
|
|
108
109
|
.rf-symbol-member ul {
|
|
109
|
-
list-style: none;
|
|
110
110
|
padding-left: 0;
|
|
111
111
|
margin: 0.75rem 0;
|
|
112
112
|
}
|
|
@@ -124,3 +124,5 @@
|
|
|
124
124
|
.rf-symbol-member blockquote::before {
|
|
125
125
|
content: none;
|
|
126
126
|
}
|
|
127
|
+
|
|
128
|
+
}
|
package/styles/runes/tabs.css
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Tabs — skin. The eyebrow stretched-link, the scrollable tab strip, and the tab
|
|
3
|
+
* flex live in @refrakt-md/skeleton (styles/runes/tabs.css). */
|
|
2
4
|
.rf-tabs__preamble {
|
|
3
5
|
margin-bottom: 1.5rem;
|
|
4
6
|
}
|
|
@@ -11,8 +13,6 @@
|
|
|
11
13
|
margin: 0 0 0.5rem;
|
|
12
14
|
}
|
|
13
15
|
.rf-tabs__eyebrow:has(a) {
|
|
14
|
-
display: inline-block;
|
|
15
|
-
position: relative;
|
|
16
16
|
padding: 0.25rem 0.875rem;
|
|
17
17
|
border: 1px solid var(--rf-color-border);
|
|
18
18
|
border-radius: var(--rf-radius-full);
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
}
|
|
25
25
|
.rf-tabs__eyebrow:has(a):hover { border-color: var(--rf-color-muted); }
|
|
26
26
|
.rf-tabs__eyebrow:has(a) a { color: var(--rf-color-primary); font-weight: var(--rf-weight-semibold); text-decoration: none; }
|
|
27
|
-
.rf-tabs__eyebrow:has(a) a::before {
|
|
27
|
+
.rf-tabs__eyebrow:has(a) a::before { border-radius: inherit; }
|
|
28
28
|
.rf-tabs__headline {
|
|
29
29
|
margin-top: 0;
|
|
30
30
|
}
|
|
@@ -38,11 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
/* Tab bar — clean bottom line, no background */
|
|
40
40
|
.rf-tabs__tabs {
|
|
41
|
-
display: flex;
|
|
42
41
|
border-bottom: 1px solid var(--rf-color-border);
|
|
43
|
-
overflow-x: auto;
|
|
44
|
-
overflow-y: hidden;
|
|
45
|
-
-webkit-overflow-scrolling: touch;
|
|
46
42
|
}
|
|
47
43
|
.rf-tabs__panels {
|
|
48
44
|
padding: 0;
|
|
@@ -51,7 +47,6 @@
|
|
|
51
47
|
|
|
52
48
|
/* Tab buttons */
|
|
53
49
|
.rf-tab {
|
|
54
|
-
flex: 0 0 auto;
|
|
55
50
|
padding: 0.625rem 1.25rem;
|
|
56
51
|
font-size: var(--rf-text-sm);
|
|
57
52
|
font-weight: var(--rf-weight-medium);
|
|
@@ -86,3 +81,5 @@
|
|
|
86
81
|
.rf-tab-panel pre {
|
|
87
82
|
margin: 0;
|
|
88
83
|
}
|
|
84
|
+
|
|
85
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Testimonial — skin. The author block display + avatar box (size/crop) live in
|
|
3
|
+
* @refrakt-md/skeleton (styles/runes/testimonial.css). */
|
|
2
4
|
.rf-testimonial {
|
|
3
5
|
border-radius: var(--rf-radius-lg);
|
|
4
6
|
padding: 1.75rem 2rem;
|
|
@@ -28,22 +30,19 @@
|
|
|
28
30
|
margin: 0;
|
|
29
31
|
}
|
|
30
32
|
.rf-testimonial__author-name {
|
|
31
|
-
display: block;
|
|
32
33
|
font-weight: var(--rf-weight-bold);
|
|
33
34
|
font-style: normal;
|
|
34
35
|
font-size: var(--rf-text-sm);
|
|
35
36
|
color: var(--rf-color-text);
|
|
36
37
|
}
|
|
37
38
|
.rf-testimonial__author-role {
|
|
38
|
-
display: block;
|
|
39
39
|
margin-top: 0.125rem;
|
|
40
40
|
font-size: var(--rf-text-sm);
|
|
41
41
|
color: var(--rf-color-muted);
|
|
42
42
|
}
|
|
43
43
|
.rf-testimonial :is(img, .rf-placeholder) {
|
|
44
|
-
width: 48px;
|
|
45
|
-
height: 48px;
|
|
46
44
|
border-radius: 50%;
|
|
47
|
-
object-fit: cover;
|
|
48
45
|
margin-top: 0.75rem;
|
|
49
46
|
}
|
|
47
|
+
|
|
48
|
+
}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
.rf-textblock__body {
|
|
3
|
-
display: block;
|
|
4
|
-
}
|
|
1
|
+
@layer skin {
|
|
5
2
|
|
|
6
3
|
/* Drop cap — decorative first letter */
|
|
7
4
|
.rf-textblock--dropcap .rf-textblock__body > p:first-child::first-letter {
|
|
8
|
-
float: left;
|
|
9
5
|
font-size: 3.5em;
|
|
10
6
|
font-weight: var(--rf-weight-bold);
|
|
11
7
|
line-height: 0.8;
|
|
@@ -25,17 +21,14 @@
|
|
|
25
21
|
|
|
26
22
|
/* Multi-column text flow */
|
|
27
23
|
.rf-textblock[data-columns="2"] .rf-textblock__body {
|
|
28
|
-
column-count: 2;
|
|
29
24
|
column-gap: 2rem;
|
|
30
25
|
column-rule: 1px solid var(--rf-color-border);
|
|
31
26
|
}
|
|
32
27
|
.rf-textblock[data-columns="3"] .rf-textblock__body {
|
|
33
|
-
column-count: 3;
|
|
34
28
|
column-gap: 2rem;
|
|
35
29
|
column-rule: 1px solid var(--rf-color-border);
|
|
36
30
|
}
|
|
37
31
|
.rf-textblock[data-columns="4"] .rf-textblock__body {
|
|
38
|
-
column-count: 4;
|
|
39
32
|
column-gap: 2rem;
|
|
40
33
|
column-rule: 1px solid var(--rf-color-border);
|
|
41
34
|
}
|
|
@@ -46,16 +39,5 @@
|
|
|
46
39
|
.rf-textblock--justify .rf-textblock__body { text-align: justify; }
|
|
47
40
|
|
|
48
41
|
/* Responsive — columns collapse on smaller screens */
|
|
49
|
-
|
|
50
|
-
.rf-textblock[data-columns="3"] .rf-textblock__body,
|
|
51
|
-
.rf-textblock[data-columns="4"] .rf-textblock__body {
|
|
52
|
-
column-count: 2;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
@media (max-width: 480px) {
|
|
56
|
-
.rf-textblock[data-columns="2"] .rf-textblock__body,
|
|
57
|
-
.rf-textblock[data-columns="3"] .rf-textblock__body,
|
|
58
|
-
.rf-textblock[data-columns="4"] .rf-textblock__body {
|
|
59
|
-
column-count: 1;
|
|
60
|
-
}
|
|
42
|
+
|
|
61
43
|
}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Timeline */
|
|
2
3
|
.rf-timeline {
|
|
3
4
|
margin: 2rem 0;
|
|
4
5
|
}
|
|
5
6
|
.rf-timeline ol {
|
|
6
|
-
list-style: none;
|
|
7
7
|
padding: 0;
|
|
8
8
|
margin: 0;
|
|
9
9
|
}
|
|
10
|
-
.rf-timeline-entry {
|
|
11
|
-
position: relative;
|
|
12
|
-
}
|
|
13
10
|
.rf-timeline-entry:last-child {
|
|
14
11
|
padding-bottom: 0;
|
|
15
12
|
}
|
|
16
13
|
.rf-timeline-entry > time {
|
|
17
|
-
display: block;
|
|
18
14
|
font-size: var(--rf-text-xs);
|
|
19
15
|
font-weight: var(--rf-weight-semibold);
|
|
20
16
|
color: var(--rf-color-primary);
|
|
@@ -22,7 +18,6 @@
|
|
|
22
18
|
margin-bottom: 0.25rem;
|
|
23
19
|
}
|
|
24
20
|
.rf-timeline-entry > span {
|
|
25
|
-
display: block;
|
|
26
21
|
font-size: var(--rf-text);
|
|
27
22
|
font-weight: var(--rf-weight-bold);
|
|
28
23
|
color: var(--rf-color-text);
|
|
@@ -48,12 +43,6 @@
|
|
|
48
43
|
border-left-color: transparent;
|
|
49
44
|
}
|
|
50
45
|
.rf-timeline--vertical .rf-timeline-entry::before {
|
|
51
|
-
content: '';
|
|
52
|
-
position: absolute;
|
|
53
|
-
left: -0.4375rem;
|
|
54
|
-
top: 0.25rem;
|
|
55
|
-
width: 0.75rem;
|
|
56
|
-
height: 0.75rem;
|
|
57
46
|
border-radius: 50%;
|
|
58
47
|
background: var(--rf-color-primary);
|
|
59
48
|
border: 2px solid var(--rf-color-bg);
|
|
@@ -62,25 +51,18 @@
|
|
|
62
51
|
|
|
63
52
|
/* Horizontal timeline */
|
|
64
53
|
.rf-timeline--horizontal ol {
|
|
65
|
-
display: flex;
|
|
66
54
|
gap: 2rem;
|
|
67
|
-
overflow-x: auto;
|
|
68
55
|
padding: 2rem 0 1rem;
|
|
69
56
|
}
|
|
70
57
|
.rf-timeline--horizontal .rf-timeline-entry {
|
|
71
|
-
min-width: 12rem;
|
|
72
58
|
padding-top: 1.5rem;
|
|
73
59
|
border-top: 2px solid var(--rf-color-border);
|
|
74
60
|
}
|
|
75
61
|
.rf-timeline--horizontal .rf-timeline-entry::before {
|
|
76
|
-
content: '';
|
|
77
|
-
position: absolute;
|
|
78
|
-
top: -0.4375rem;
|
|
79
|
-
left: 0.5rem;
|
|
80
|
-
width: 0.75rem;
|
|
81
|
-
height: 0.75rem;
|
|
82
62
|
border-radius: 50%;
|
|
83
63
|
background: var(--rf-color-primary);
|
|
84
64
|
border: 2px solid var(--rf-color-bg);
|
|
85
65
|
box-shadow: 0 0 0 2px var(--rf-color-primary);
|
|
86
66
|
}
|
|
67
|
+
|
|
68
|
+
}
|
package/styles/runes/tint.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Tint Rune — Colour Token Bridge
|
|
2
3
|
*
|
|
3
4
|
* Maps --tint-* custom properties (set by the identity transform) to
|
|
@@ -247,3 +248,5 @@
|
|
|
247
248
|
--rf-color-primary: var(--tint-primary, var(--cs-accent));
|
|
248
249
|
--rf-color-border: var(--tint-border, var(--cs-border));
|
|
249
250
|
}
|
|
251
|
+
|
|
252
|
+
}
|
package/styles/runes/toc.css
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Table of Contents — skin. The list reset + the inline-block link live in
|
|
3
|
+
* @refrakt-md/skeleton (styles/runes/toc.css). */
|
|
2
4
|
.rf-toc {
|
|
3
5
|
padding: 1.25rem 1.5rem;
|
|
4
6
|
border-left: 3px solid var(--rf-color-primary);
|
|
@@ -15,7 +17,6 @@
|
|
|
15
17
|
}
|
|
16
18
|
.rf-toc ul,
|
|
17
19
|
.rf-toc ol {
|
|
18
|
-
list-style: none;
|
|
19
20
|
padding-left: 0;
|
|
20
21
|
margin: 0;
|
|
21
22
|
}
|
|
@@ -32,7 +33,6 @@
|
|
|
32
33
|
color: var(--rf-color-text);
|
|
33
34
|
text-decoration: none;
|
|
34
35
|
font-size: var(--rf-text-sm);
|
|
35
|
-
display: inline-block;
|
|
36
36
|
padding: 0.2rem 0;
|
|
37
37
|
transition: color 150ms ease;
|
|
38
38
|
}
|
|
@@ -40,3 +40,5 @@
|
|
|
40
40
|
color: var(--rf-color-primary);
|
|
41
41
|
text-decoration: none;
|
|
42
42
|
}
|
|
43
|
+
|
|
44
|
+
}
|
package/styles/runes/track.css
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Track */
|
|
2
3
|
.rf-track {
|
|
3
|
-
display: flex;
|
|
4
|
-
align-items: center;
|
|
5
4
|
gap: 0.75rem;
|
|
6
5
|
padding: 0.75rem 1.25rem;
|
|
7
6
|
transition: background 0.15s ease;
|
|
8
|
-
counter-increment: track;
|
|
9
7
|
}
|
|
10
8
|
.rf-track + .rf-track {
|
|
11
9
|
border-top: 1px solid var(--rf-color-border);
|
|
@@ -14,22 +12,16 @@
|
|
|
14
12
|
background: color-mix(in srgb, var(--rf-color-border) 15%, transparent);
|
|
15
13
|
}
|
|
16
14
|
.rf-track::before {
|
|
17
|
-
content: counter(track);
|
|
18
|
-
min-width: 1.5rem;
|
|
19
15
|
font-size: var(--rf-text-xs);
|
|
20
16
|
color: var(--rf-color-primary);
|
|
21
17
|
text-align: right;
|
|
22
|
-
flex-shrink: 0;
|
|
23
18
|
}
|
|
24
19
|
|
|
25
20
|
/* Track name — primary text, takes remaining space */
|
|
26
21
|
.rf-track__track-name {
|
|
27
|
-
flex: 1;
|
|
28
22
|
font-size: var(--rf-text);
|
|
29
23
|
font-weight: var(--rf-weight-medium);
|
|
30
24
|
color: var(--rf-color-text);
|
|
31
|
-
min-width: 0;
|
|
32
|
-
overflow: hidden;
|
|
33
25
|
text-overflow: ellipsis;
|
|
34
26
|
white-space: nowrap;
|
|
35
27
|
}
|
|
@@ -38,7 +30,6 @@
|
|
|
38
30
|
.rf-track__track-artist {
|
|
39
31
|
font-size: var(--rf-text-sm);
|
|
40
32
|
color: var(--rf-color-muted);
|
|
41
|
-
flex-shrink: 0;
|
|
42
33
|
}
|
|
43
34
|
.rf-track__track-artist::before {
|
|
44
35
|
content: '\00b7';
|
|
@@ -51,9 +42,6 @@
|
|
|
51
42
|
font-size: var(--rf-text-sm);
|
|
52
43
|
color: var(--rf-color-muted);
|
|
53
44
|
font-variant-numeric: tabular-nums;
|
|
54
|
-
flex-shrink: 0;
|
|
55
|
-
margin-left: auto;
|
|
56
|
-
min-width: 3rem;
|
|
57
45
|
text-align: right;
|
|
58
46
|
}
|
|
59
47
|
|
|
@@ -61,7 +49,6 @@
|
|
|
61
49
|
.rf-track__track-meta {
|
|
62
50
|
font-size: var(--rf-text-xs);
|
|
63
51
|
color: var(--rf-color-muted);
|
|
64
|
-
flex-shrink: 0;
|
|
65
52
|
}
|
|
66
53
|
.rf-track__track-meta::before {
|
|
67
54
|
content: '\00b7';
|
|
@@ -71,7 +58,6 @@
|
|
|
71
58
|
|
|
72
59
|
/* Description — full width below the row */
|
|
73
60
|
.rf-track__track-description {
|
|
74
|
-
flex-basis: 100%;
|
|
75
61
|
font-size: var(--rf-text-sm);
|
|
76
62
|
color: var(--rf-color-muted);
|
|
77
63
|
line-height: var(--rf-leading-normal);
|
|
@@ -81,16 +67,9 @@
|
|
|
81
67
|
margin: 0;
|
|
82
68
|
}
|
|
83
69
|
|
|
84
|
-
/* Wrap when description is present */
|
|
85
|
-
.rf-track:has(.rf-track__track-description) {
|
|
86
|
-
flex-wrap: wrap;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
70
|
/* Cue points (lyrics / chapters) */
|
|
90
71
|
.rf-track [data-name="lyrics"],
|
|
91
72
|
.rf-track [data-name="chapters"] {
|
|
92
|
-
flex-basis: 100%;
|
|
93
|
-
list-style: none;
|
|
94
73
|
padding: 0.5rem 0 0;
|
|
95
74
|
margin: 0;
|
|
96
75
|
font-size: var(--rf-text-sm);
|
|
@@ -103,7 +82,6 @@
|
|
|
103
82
|
margin: 0;
|
|
104
83
|
}
|
|
105
84
|
.rf-track [data-name="chapters"] li {
|
|
106
|
-
display: flex;
|
|
107
85
|
gap: 0.75rem;
|
|
108
86
|
padding: 0.25rem 0;
|
|
109
87
|
}
|
|
@@ -114,15 +92,8 @@
|
|
|
114
92
|
.rf-track [data-name="chapter-time"] {
|
|
115
93
|
color: var(--rf-color-muted);
|
|
116
94
|
font-variant-numeric: tabular-nums;
|
|
117
|
-
margin-left: auto;
|
|
118
95
|
}
|
|
119
96
|
|
|
120
97
|
/* Hide secondary columns on narrow screens */
|
|
121
|
-
|
|
122
|
-
.rf-track__track-artist {
|
|
123
|
-
display: none;
|
|
124
|
-
}
|
|
125
|
-
.rf-track__track-meta {
|
|
126
|
-
display: none;
|
|
127
|
-
}
|
|
98
|
+
|
|
128
99
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Typography — font specimen display */
|
|
2
3
|
.rf-typography__title {
|
|
3
4
|
font-size: var(--rf-text-lg);
|
|
@@ -5,8 +6,6 @@
|
|
|
5
6
|
margin-bottom: 1rem;
|
|
6
7
|
}
|
|
7
8
|
.rf-typography__specimens {
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
9
|
gap: 2rem;
|
|
11
10
|
}
|
|
12
11
|
.rf-typography__specimen {
|
|
@@ -14,8 +13,6 @@
|
|
|
14
13
|
padding: 0;
|
|
15
14
|
}
|
|
16
15
|
.rf-typography__specimen-header {
|
|
17
|
-
display: flex;
|
|
18
|
-
align-items: baseline;
|
|
19
16
|
gap: 0.75rem;
|
|
20
17
|
margin-bottom: 1.25rem;
|
|
21
18
|
padding-bottom: 0.75rem;
|
|
@@ -36,38 +33,27 @@
|
|
|
36
33
|
color: var(--rf-color-muted);
|
|
37
34
|
}
|
|
38
35
|
.rf-typography__sizes {
|
|
39
|
-
display: flex;
|
|
40
|
-
flex-direction: column;
|
|
41
36
|
gap: 0.5rem;
|
|
42
37
|
margin-bottom: 1rem;
|
|
43
38
|
}
|
|
44
39
|
.rf-typography__size-sample {
|
|
45
|
-
display: flex;
|
|
46
|
-
align-items: baseline;
|
|
47
40
|
gap: 1rem;
|
|
48
41
|
line-height: var(--rf-leading-snug);
|
|
49
|
-
overflow: hidden;
|
|
50
42
|
text-overflow: ellipsis;
|
|
51
43
|
white-space: nowrap;
|
|
52
44
|
}
|
|
53
45
|
.rf-typography__size-label {
|
|
54
|
-
flex-shrink: 0;
|
|
55
46
|
font-size: var(--rf-text-xs);
|
|
56
47
|
font-family: var(--rf-font-mono, monospace);
|
|
57
48
|
color: var(--rf-color-muted);
|
|
58
|
-
min-width: 3rem;
|
|
59
49
|
text-align: right;
|
|
60
50
|
}
|
|
61
51
|
.rf-typography__weights {
|
|
62
|
-
display: flex;
|
|
63
52
|
gap: 1.5rem;
|
|
64
|
-
flex-wrap: wrap;
|
|
65
53
|
padding-top: 1rem;
|
|
66
54
|
border-top: 1px solid var(--rf-color-border, #e5e7eb);
|
|
67
55
|
}
|
|
68
56
|
.rf-typography__weight-sample {
|
|
69
|
-
display: flex;
|
|
70
|
-
flex-direction: column;
|
|
71
57
|
gap: 0.25rem;
|
|
72
58
|
}
|
|
73
59
|
.rf-typography__weight-label {
|
|
@@ -98,3 +84,5 @@
|
|
|
98
84
|
.rf-typography--in-design-context .rf-typography__specimen + .rf-typography__specimen {
|
|
99
85
|
padding-top: 1.5rem;
|
|
100
86
|
}
|
|
87
|
+
|
|
88
|
+
}
|
package/styles/runes/work.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Work */
|
|
2
3
|
|
|
3
4
|
/* SPEC-080: eyebrow / metadata / tags are projected blocks placed at the
|
|
@@ -44,3 +45,5 @@
|
|
|
44
45
|
[data-complexity="moderate"] .rf-work__metadata [data-field="complexity"] dd::after { content: ' ●●●'; }
|
|
45
46
|
[data-complexity="complex"] .rf-work__metadata [data-field="complexity"] dd::after { content: ' ●●●●'; }
|
|
46
47
|
[data-complexity="unknown"] .rf-work__metadata [data-field="complexity"] dd::after { content: ' ?'; }
|
|
48
|
+
|
|
49
|
+
}
|
package/styles/runes/xref.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Xref — inline cross-reference link */
|
|
2
3
|
|
|
3
4
|
.rf-xref {
|
|
@@ -13,7 +14,6 @@
|
|
|
13
14
|
}
|
|
14
15
|
.rf-xref--external::after {
|
|
15
16
|
content: '\2197'; /* ↗ */
|
|
16
|
-
display: inline-block;
|
|
17
17
|
margin-inline-start: 0.15em;
|
|
18
18
|
font-size: 0.85em;
|
|
19
19
|
vertical-align: 0.05em;
|
|
@@ -26,3 +26,5 @@
|
|
|
26
26
|
color: var(--rf-color-muted);
|
|
27
27
|
cursor: help;
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
}
|
package/tokens/base.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* GENERATED from src/tokens.ts by scripts/generate-tokens.mjs — do not edit by hand.
|
|
2
3
|
* Edit the `luminaTokens` source and rebuild; a drift test guards this file. */
|
|
3
4
|
|
|
@@ -63,6 +64,8 @@
|
|
|
63
64
|
--rf-radius-full: 9999px;
|
|
64
65
|
--rf-spacing-xs: 0.25rem;
|
|
65
66
|
--rf-spacing-sm: 0.5rem;
|
|
67
|
+
--rf-spacing-snug: 0.75rem;
|
|
68
|
+
--rf-spacing-cozy: 1rem;
|
|
66
69
|
--rf-spacing-md: 1.5rem;
|
|
67
70
|
--rf-spacing-lg: 2rem;
|
|
68
71
|
--rf-spacing-xl: 3rem;
|
|
@@ -108,3 +111,13 @@
|
|
|
108
111
|
--rf-color-inline-code-bg: #e6e5e3;
|
|
109
112
|
--rf-surface-inset-shift: 0.04;
|
|
110
113
|
}
|
|
114
|
+
|
|
115
|
+
:root {
|
|
116
|
+
--rf-icon-hint-note: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cline%20x1%3D%2212%22%20y1%3D%2216%22%20x2%3D%2212%22%20y2%3D%2212%22%2F%3E%3Cline%20x1%3D%2212%22%20y1%3D%228%22%20x2%3D%2212.01%22%20y2%3D%228%22%2F%3E%3C%2Fsvg%3E");
|
|
117
|
+
--rf-icon-hint-warning: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.29%203.86L1.82%2018a2%202%200%200%200%201.71%203h16.94a2%202%200%200%200%201.71-3L13.71%203.86a2%202%200%200%200-3.42%200z%22%2F%3E%3Cline%20x1%3D%2212%22%20y1%3D%229%22%20x2%3D%2212%22%20y2%3D%2213%22%2F%3E%3Cline%20x1%3D%2212%22%20y1%3D%2217%22%20x2%3D%2212.01%22%20y2%3D%2217%22%2F%3E%3C%2Fsvg%3E");
|
|
118
|
+
--rf-icon-hint-caution: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cline%20x1%3D%2215%22%20y1%3D%229%22%20x2%3D%229%22%20y2%3D%2215%22%2F%3E%3Cline%20x1%3D%229%22%20y1%3D%229%22%20x2%3D%2215%22%20y2%3D%2215%22%2F%3E%3C%2Fsvg%3E");
|
|
119
|
+
--rf-icon-hint-check: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2011.08V12a10%2010%200%201%201-5.93-9.14%22%2F%3E%3Cpolyline%20points%3D%2222%204%2012%2014.01%209%2011.01%22%2F%3E%3C%2Fsvg%3E");
|
|
120
|
+
--rf-icon-accordion-chevron: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%229%2018%2015%2012%209%206%22%2F%3E%3C%2Fsvg%3E");
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
}
|
package/tokens/dark.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* GENERATED from src/tokens.ts by scripts/generate-tokens.mjs — do not edit by hand.
|
|
2
3
|
* Edit the `luminaTokens` source and rebuild; a drift test guards this file. */
|
|
3
4
|
|
|
@@ -122,3 +123,5 @@
|
|
|
122
123
|
--rf-surface-inset-shift: 0.06;
|
|
123
124
|
}
|
|
124
125
|
}
|
|
126
|
+
|
|
127
|
+
}
|