@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
|
@@ -1,77 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* controls stay compact enough to sit side-by-side on mobile. Equal
|
|
5
|
-
* heights are guaranteed by the container's `align-items: stretch`, so
|
|
6
|
-
* if one label wraps to multiple lines the other box grows to match.
|
|
7
|
-
*
|
|
8
|
-
* Boxes are capped at ~50% width via `flex: 1 1 0` + `max-width`, with
|
|
9
|
-
* `margin-left: auto` on `__next` so it stays right-aligned even when
|
|
10
|
-
* `__prev` isn't rendered (first page in a sequence). */
|
|
11
|
-
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Pagination — skin. The flex row + box flex sizing + alignment + marker order
|
|
3
|
+
* live in @refrakt-md/skeleton (styles/runes/pagination.css). */
|
|
12
4
|
.rf-pagination {
|
|
13
|
-
display: flex;
|
|
14
|
-
align-items: stretch;
|
|
15
5
|
gap: 1rem;
|
|
16
6
|
margin: 3rem 0 1.5rem;
|
|
17
7
|
padding-top: 1.5rem;
|
|
18
8
|
border-top: 1px solid var(--rf-color-border);
|
|
19
9
|
}
|
|
20
|
-
|
|
21
10
|
.rf-pagination__prev,
|
|
22
11
|
.rf-pagination__next {
|
|
23
|
-
display: flex;
|
|
24
|
-
flex-direction: column;
|
|
25
12
|
gap: 0.375rem;
|
|
26
13
|
padding: 0.75rem 1rem;
|
|
27
14
|
border: 1px solid var(--rf-color-border);
|
|
28
15
|
border-radius: var(--rf-radius-md);
|
|
29
16
|
color: var(--rf-color-text);
|
|
30
17
|
text-decoration: none;
|
|
31
|
-
font-size:
|
|
18
|
+
font-size: var(--rf-text-sm);
|
|
32
19
|
transition: border-color 150ms ease, background-color 150ms ease;
|
|
33
|
-
flex: 1 1 0;
|
|
34
|
-
min-width: 0;
|
|
35
|
-
max-width: calc(50% - 0.5rem);
|
|
36
20
|
}
|
|
37
|
-
|
|
38
21
|
.rf-pagination__prev {
|
|
39
|
-
align-items: flex-start;
|
|
40
22
|
text-align: left;
|
|
41
23
|
}
|
|
42
|
-
|
|
43
24
|
.rf-pagination__next {
|
|
44
|
-
align-items: flex-end;
|
|
45
25
|
text-align: right;
|
|
46
|
-
margin-left: auto;
|
|
47
26
|
}
|
|
48
|
-
|
|
49
27
|
.rf-pagination__prev:hover,
|
|
50
28
|
.rf-pagination__next:hover {
|
|
51
29
|
border-color: var(--rf-color-primary);
|
|
52
30
|
background: var(--rf-color-surface, var(--rf-color-bg));
|
|
53
31
|
text-decoration: none;
|
|
54
32
|
}
|
|
55
|
-
|
|
56
33
|
.rf-pagination [data-name="marker"] {
|
|
57
34
|
color: var(--rf-color-muted);
|
|
58
|
-
font-weight:
|
|
59
|
-
font-size:
|
|
35
|
+
font-weight: var(--rf-weight-normal);
|
|
36
|
+
font-size: var(--rf-text-lg);
|
|
60
37
|
line-height: 1;
|
|
61
38
|
}
|
|
62
|
-
|
|
63
39
|
.rf-pagination [data-name="label"] {
|
|
64
|
-
font-weight:
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/* The pagination rune emits prev as `<marker> <label>` but next as
|
|
68
|
-
`<label> <marker>` (an artefact of the original row layout where the
|
|
69
|
-
arrow flanked the outer edge). With our vertical stack this puts the
|
|
70
|
-
next arrow at the bottom of its box. Force it to the top to match prev. */
|
|
71
|
-
.rf-pagination__next [data-name="marker"] {
|
|
72
|
-
order: -1;
|
|
40
|
+
font-weight: var(--rf-weight-medium);
|
|
73
41
|
}
|
|
74
|
-
|
|
75
42
|
@media (max-width: 768px) {
|
|
76
43
|
.rf-pagination {
|
|
77
44
|
gap: 0.5rem;
|
|
@@ -79,7 +46,8 @@
|
|
|
79
46
|
.rf-pagination__prev,
|
|
80
47
|
.rf-pagination__next {
|
|
81
48
|
padding: 0.625rem 0.875rem;
|
|
82
|
-
|
|
83
|
-
font-size: 0.85rem;
|
|
49
|
+
font-size: var(--rf-text-sm);
|
|
84
50
|
}
|
|
85
51
|
}
|
|
52
|
+
|
|
53
|
+
}
|
package/styles/runes/palette.css
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Palette — color swatch grid */
|
|
2
3
|
.rf-palette__title {
|
|
3
|
-
font-size:
|
|
4
|
-
font-weight:
|
|
4
|
+
font-size: var(--rf-text-lg);
|
|
5
|
+
font-weight: var(--rf-weight-semibold);
|
|
5
6
|
margin-bottom: 1rem;
|
|
6
7
|
}
|
|
7
8
|
.rf-palette__group {
|
|
@@ -11,56 +12,41 @@
|
|
|
11
12
|
margin-bottom: 0;
|
|
12
13
|
}
|
|
13
14
|
.rf-palette__group-title {
|
|
14
|
-
font-size:
|
|
15
|
-
font-weight:
|
|
15
|
+
font-size: var(--rf-text-xs);
|
|
16
|
+
font-weight: var(--rf-weight-semibold);
|
|
16
17
|
text-transform: uppercase;
|
|
17
|
-
letter-spacing:
|
|
18
|
+
letter-spacing: var(--rf-tracking-wider);
|
|
18
19
|
color: var(--rf-color-muted);
|
|
19
20
|
margin-bottom: 0.75rem;
|
|
20
21
|
}
|
|
21
22
|
.rf-palette__grid {
|
|
22
|
-
display: grid;
|
|
23
|
-
grid-template-columns: repeat(var(--rf-palette-cols, 4), 1fr);
|
|
24
23
|
gap: 0.75rem;
|
|
25
24
|
}
|
|
26
|
-
|
|
27
|
-
@media (max-width: 768px) {
|
|
28
|
-
/* Cap the grid at 3 columns on narrow viewports — at 4 cols each swatch
|
|
29
|
-
is too cramped to read the hex value. Palettes with fewer than 3
|
|
30
|
-
declared columns keep their natural count (the `min()`). */
|
|
31
|
-
.rf-palette__grid {
|
|
32
|
-
grid-template-columns: repeat(min(var(--rf-palette-cols, 4), 3), 1fr);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
25
|
.rf-palette__swatch {
|
|
36
|
-
display: flex;
|
|
37
|
-
flex-direction: column;
|
|
38
26
|
gap: 0.375rem;
|
|
39
27
|
}
|
|
40
28
|
.rf-palette__swatch-color {
|
|
41
|
-
height: 5rem;
|
|
42
29
|
border-radius: var(--rf-radius-md, 8px);
|
|
43
30
|
border: 1px solid rgba(0, 0, 0, 0.08);
|
|
44
31
|
}
|
|
45
32
|
.rf-palette__swatch-name {
|
|
46
|
-
font-weight:
|
|
47
|
-
font-size:
|
|
33
|
+
font-weight: var(--rf-weight-medium);
|
|
34
|
+
font-size: var(--rf-text-sm);
|
|
48
35
|
}
|
|
49
36
|
.rf-palette__swatch-value {
|
|
50
37
|
font-family: var(--rf-font-mono, monospace);
|
|
51
|
-
font-size:
|
|
38
|
+
font-size: var(--rf-text-xs);
|
|
52
39
|
color: var(--rf-color-muted);
|
|
53
40
|
}
|
|
54
41
|
.rf-palette__swatch-contrast {
|
|
55
42
|
font-family: var(--rf-font-mono, monospace);
|
|
56
|
-
font-size:
|
|
43
|
+
font-size: var(--rf-text-xs);
|
|
57
44
|
color: var(--rf-color-muted);
|
|
58
45
|
}
|
|
59
46
|
.rf-palette__swatch-a11y {
|
|
60
|
-
display: flex;
|
|
61
47
|
gap: 0.5rem;
|
|
62
|
-
font-size:
|
|
63
|
-
font-weight:
|
|
48
|
+
font-size: var(--rf-text-xs);
|
|
49
|
+
font-weight: var(--rf-weight-medium);
|
|
64
50
|
}
|
|
65
51
|
.rf-palette__swatch-a11y--pass {
|
|
66
52
|
color: var(--rf-color-success, #10b981);
|
|
@@ -71,27 +57,22 @@
|
|
|
71
57
|
|
|
72
58
|
/* Neutral scale — horizontal gradient strip */
|
|
73
59
|
.rf-palette__scale {
|
|
74
|
-
display: flex;
|
|
75
60
|
border-radius: var(--rf-radius-md, 8px);
|
|
76
|
-
overflow: hidden;
|
|
77
61
|
margin-bottom: 0.5rem;
|
|
78
62
|
}
|
|
79
63
|
.rf-palette__scale-stop {
|
|
80
|
-
flex: 1;
|
|
81
64
|
padding: 1.25rem 0.5rem 0.5rem;
|
|
82
|
-
|
|
83
|
-
align-items: flex-end;
|
|
84
|
-
justify-content: center;
|
|
85
|
-
min-height: 4rem;
|
|
86
|
-
font-size: 0.625rem;
|
|
65
|
+
font-size: var(--rf-text-xs);
|
|
87
66
|
font-family: var(--rf-font-mono, monospace);
|
|
88
67
|
}
|
|
89
68
|
.rf-palette__scale + .rf-palette__swatch-name {
|
|
90
69
|
margin-top: 0.25rem;
|
|
91
|
-
font-size:
|
|
70
|
+
font-size: var(--rf-text-xs);
|
|
92
71
|
}
|
|
93
72
|
|
|
94
73
|
/* Context-aware: no outer margin when inside design-context */
|
|
95
74
|
.rf-palette--in-design-context {
|
|
96
75
|
margin: 0;
|
|
97
76
|
}
|
|
77
|
+
|
|
78
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@layer skin {
|
|
2
|
+
/* Placeholder — generated inline SVG from the `placeholder:<shape>` image-src
|
|
3
|
+
* scheme (SPEC-106). The SVG carries its own viewBox aspect and tints itself
|
|
4
|
+
* with theme tokens (surface / muted / border), so it tracks the active tint
|
|
5
|
+
* and dark mode for free. These rules just make it behave like a responsive
|
|
6
|
+
* replaced element wherever a real `<img>` would have gone. */
|
|
7
|
+
.rf-placeholder {
|
|
8
|
+
border-radius: var(--rf-radius-media);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* Avatar shape reads as round. */
|
|
12
|
+
.rf-placeholder[data-shape="avatar"] {
|
|
13
|
+
border-radius: 50%;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
}
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Plan History — vertical timeline (mirrors .rf-timeline--vertical) */
|
|
2
3
|
|
|
3
4
|
.rf-plan-history {
|
|
4
5
|
margin: 2rem 0;
|
|
5
6
|
}
|
|
6
7
|
.rf-plan-history__heading {
|
|
7
|
-
font-size:
|
|
8
|
-
font-weight:
|
|
8
|
+
font-size: var(--rf-text);
|
|
9
|
+
font-weight: var(--rf-weight-bold);
|
|
9
10
|
color: var(--rf-color-text);
|
|
10
11
|
margin: 0 0 1rem;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
/* Event list — vertical line */
|
|
14
15
|
.rf-plan-history__events {
|
|
15
|
-
list-style: none;
|
|
16
16
|
padding: 0;
|
|
17
17
|
margin: 0;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/* Each event entry — left-padded with border line */
|
|
21
21
|
.rf-plan-history__event {
|
|
22
|
-
position: relative;
|
|
23
22
|
padding-left: 2rem;
|
|
24
23
|
padding-bottom: 2rem;
|
|
25
24
|
border-left: 2px solid var(--rf-color-border);
|
|
@@ -32,12 +31,6 @@
|
|
|
32
31
|
|
|
33
32
|
/* Circle markers on the timeline line */
|
|
34
33
|
.rf-plan-history__event::before {
|
|
35
|
-
content: '';
|
|
36
|
-
position: absolute;
|
|
37
|
-
left: -0.4375rem;
|
|
38
|
-
top: 0.25rem;
|
|
39
|
-
width: 0.75rem;
|
|
40
|
-
height: 0.75rem;
|
|
41
34
|
border-radius: 50%;
|
|
42
35
|
background: var(--rf-color-primary);
|
|
43
36
|
border: 2px solid var(--rf-color-bg);
|
|
@@ -51,16 +44,15 @@
|
|
|
51
44
|
|
|
52
45
|
/* Date + hash header */
|
|
53
46
|
.rf-plan-history__date {
|
|
54
|
-
|
|
55
|
-
font-
|
|
56
|
-
font-weight: 600;
|
|
47
|
+
font-size: var(--rf-text-xs);
|
|
48
|
+
font-weight: var(--rf-weight-semibold);
|
|
57
49
|
color: var(--rf-color-primary);
|
|
58
|
-
letter-spacing:
|
|
50
|
+
letter-spacing: var(--rf-tracking-wide);
|
|
59
51
|
margin-right: 0.5rem;
|
|
60
52
|
}
|
|
61
53
|
.rf-plan-history__hash {
|
|
62
54
|
font-family: var(--rf-font-mono);
|
|
63
|
-
font-size:
|
|
55
|
+
font-size: var(--rf-text-xs);
|
|
64
56
|
color: var(--rf-color-muted);
|
|
65
57
|
text-decoration: none;
|
|
66
58
|
}
|
|
@@ -74,15 +66,13 @@ a.rf-plan-history__hash:hover {
|
|
|
74
66
|
margin-top: 0.25rem;
|
|
75
67
|
}
|
|
76
68
|
.rf-plan-history__change {
|
|
77
|
-
display: flex;
|
|
78
|
-
align-items: center;
|
|
79
69
|
gap: 0.25rem;
|
|
80
|
-
font-size:
|
|
81
|
-
line-height:
|
|
70
|
+
font-size: var(--rf-text-sm);
|
|
71
|
+
line-height: var(--rf-leading-relaxed);
|
|
82
72
|
color: var(--rf-color-muted);
|
|
83
73
|
}
|
|
84
74
|
.rf-plan-history__field {
|
|
85
|
-
font-weight:
|
|
75
|
+
font-weight: var(--rf-weight-medium);
|
|
86
76
|
color: var(--rf-color-text);
|
|
87
77
|
}
|
|
88
78
|
.rf-plan-history__field::after {
|
|
@@ -95,7 +85,7 @@ a.rf-plan-history__hash:hover {
|
|
|
95
85
|
|
|
96
86
|
/* Value badges (add/remove) */
|
|
97
87
|
.rf-plan-history__value {
|
|
98
|
-
font-size:
|
|
88
|
+
font-size: var(--rf-text-sm);
|
|
99
89
|
padding: 0.0625rem 0.375rem;
|
|
100
90
|
border-radius: var(--rf-radius-sm);
|
|
101
91
|
}
|
|
@@ -111,25 +101,24 @@ a.rf-plan-history__hash:hover {
|
|
|
111
101
|
|
|
112
102
|
/* Event kind labels */
|
|
113
103
|
.rf-plan-history__created {
|
|
114
|
-
font-size:
|
|
104
|
+
font-size: var(--rf-text-sm);
|
|
115
105
|
color: var(--rf-color-muted);
|
|
116
106
|
}
|
|
117
107
|
.rf-plan-history__resolution,
|
|
118
108
|
.rf-plan-history__content-edit {
|
|
119
|
-
font-size:
|
|
109
|
+
font-size: var(--rf-text-sm);
|
|
120
110
|
color: var(--rf-color-muted);
|
|
121
111
|
font-style: italic;
|
|
122
112
|
}
|
|
123
113
|
|
|
124
114
|
/* Criteria list */
|
|
125
115
|
.rf-plan-history__criteria {
|
|
126
|
-
list-style: none;
|
|
127
116
|
padding: 0;
|
|
128
117
|
margin: 0.25rem 0 0;
|
|
129
118
|
}
|
|
130
119
|
.rf-plan-history__criteria li {
|
|
131
|
-
font-size:
|
|
132
|
-
line-height:
|
|
120
|
+
font-size: var(--rf-text-sm);
|
|
121
|
+
line-height: var(--rf-leading-relaxed);
|
|
133
122
|
color: var(--rf-color-text);
|
|
134
123
|
}
|
|
135
124
|
.rf-plan-history__criteria li[data-action="checked"] {
|
|
@@ -156,24 +145,21 @@ a.rf-plan-history__hash:hover {
|
|
|
156
145
|
|
|
157
146
|
/* Global feed (commit-grouped) */
|
|
158
147
|
.rf-plan-history--global .rf-plan-history__commit-message {
|
|
159
|
-
|
|
160
|
-
font-
|
|
161
|
-
font-weight: 700;
|
|
148
|
+
font-size: var(--rf-text);
|
|
149
|
+
font-weight: var(--rf-weight-bold);
|
|
162
150
|
color: var(--rf-color-text);
|
|
163
151
|
margin-top: 0.25rem;
|
|
164
152
|
margin-bottom: 0.5rem;
|
|
165
153
|
}
|
|
166
154
|
.rf-plan-history--global .rf-plan-history__entity-summary {
|
|
167
|
-
display: flex;
|
|
168
|
-
align-items: baseline;
|
|
169
155
|
gap: 0.5rem;
|
|
170
|
-
font-size:
|
|
171
|
-
line-height:
|
|
156
|
+
font-size: var(--rf-text-sm);
|
|
157
|
+
line-height: var(--rf-leading-relaxed);
|
|
172
158
|
}
|
|
173
159
|
.rf-plan-history--global .rf-plan-history__entity-id {
|
|
174
|
-
font-weight:
|
|
160
|
+
font-weight: var(--rf-weight-semibold);
|
|
175
161
|
font-family: var(--rf-font-mono);
|
|
176
|
-
font-size:
|
|
162
|
+
font-size: var(--rf-text-xs);
|
|
177
163
|
color: var(--rf-color-primary);
|
|
178
164
|
white-space: nowrap;
|
|
179
165
|
}
|
|
@@ -186,12 +172,6 @@ a.rf-plan-history__hash:hover {
|
|
|
186
172
|
.rf-plan-history__event {
|
|
187
173
|
padding-left: 1.25rem;
|
|
188
174
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
height: 0.625rem;
|
|
192
|
-
left: -0.375rem;
|
|
193
|
-
}
|
|
194
|
-
.rf-plan-history__change {
|
|
195
|
-
flex-wrap: wrap;
|
|
196
|
-
}
|
|
175
|
+
}
|
|
176
|
+
|
|
197
177
|
}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* plan-progress (SPEC-076 / WORK-296) — a stack of per-type blocks, each a type
|
|
2
3
|
* heading + an `aggregate` composition (progress bar + status badges). The bar
|
|
3
4
|
* and badge-row chrome come from the `progress` / `aggregate` / `badge` runes;
|
|
4
5
|
* this file only lays out the per-type grouping. */
|
|
5
6
|
.rf-plan-progress {
|
|
6
|
-
display: flex;
|
|
7
|
-
flex-direction: column;
|
|
8
7
|
gap: var(--rf-spacing-lg, 2rem);
|
|
9
8
|
}
|
|
10
9
|
.rf-plan-progress__group {
|
|
11
|
-
display: flex;
|
|
12
|
-
flex-direction: column;
|
|
13
10
|
gap: var(--rf-spacing-sm, 0.75rem);
|
|
14
11
|
}
|
|
15
12
|
.rf-plan-progress__heading {
|
|
16
13
|
margin: 0;
|
|
17
|
-
font-size:
|
|
18
|
-
font-weight:
|
|
14
|
+
font-size: var(--rf-text-sm);
|
|
15
|
+
font-weight: var(--rf-weight-semibold);
|
|
19
16
|
text-transform: uppercase;
|
|
20
|
-
letter-spacing:
|
|
17
|
+
letter-spacing: var(--rf-tracking-wider);
|
|
21
18
|
color: var(--rf-color-muted);
|
|
22
19
|
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Plan cross-reference links */
|
|
2
3
|
|
|
3
4
|
.rf-plan-ref {
|
|
4
5
|
font-family: var(--rf-font-mono, ui-monospace, monospace);
|
|
5
|
-
font-size:
|
|
6
|
+
font-size: var(--rf-text-sm);
|
|
6
7
|
color: var(--rf-color-info, #339af0);
|
|
7
8
|
text-decoration: none;
|
|
8
9
|
border-bottom: 1px dashed var(--rf-color-info, #339af0);
|
|
@@ -24,3 +25,5 @@
|
|
|
24
25
|
.rf-plan-ref[data-type="bug"]::before { content: '\1F41B'; }
|
|
25
26
|
.rf-plan-ref[data-type="decision"]::before { content: '\2696\FE0F'; }
|
|
26
27
|
.rf-plan-ref[data-type="milestone"]::before { content: '\1F3AF'; }
|
|
28
|
+
|
|
29
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer skin {
|
|
1
2
|
/* Playlist */
|
|
2
3
|
|
|
3
4
|
/* Thin-edge inset model (matches `.rf-card` / `.rf-recipe`): card outer padding
|
|
@@ -34,8 +35,6 @@
|
|
|
34
35
|
|
|
35
36
|
/* Inner header (headline + description) inside content */
|
|
36
37
|
.rf-playlist__content > .rf-playlist__header {
|
|
37
|
-
flex-direction: column;
|
|
38
|
-
align-items: flex-start;
|
|
39
38
|
gap: 0.25rem;
|
|
40
39
|
margin-bottom: 1rem;
|
|
41
40
|
}
|
|
@@ -44,36 +43,26 @@
|
|
|
44
43
|
}
|
|
45
44
|
.rf-playlist__content > .rf-playlist__header p {
|
|
46
45
|
margin: 0;
|
|
47
|
-
font-size:
|
|
46
|
+
font-size: var(--rf-text-sm);
|
|
48
47
|
color: var(--rf-color-muted);
|
|
49
|
-
line-height:
|
|
48
|
+
line-height: var(--rf-leading-normal);
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
/* Tracks list wrapper */
|
|
53
52
|
.rf-playlist__tracks {
|
|
54
|
-
list-style: none;
|
|
55
53
|
padding: 0;
|
|
56
54
|
margin: 0;
|
|
57
|
-
counter-reset: track;
|
|
58
55
|
border: 1px solid var(--rf-color-border);
|
|
59
56
|
border-radius: var(--rf-radius-md);
|
|
60
|
-
overflow: hidden;
|
|
61
57
|
}
|
|
62
58
|
|
|
63
59
|
/* Track items — override sequence dimension's absolute positioning */
|
|
64
60
|
.rf-playlist__tracks > li {
|
|
65
|
-
display: flex;
|
|
66
|
-
align-items: baseline;
|
|
67
61
|
gap: 0.75rem;
|
|
68
62
|
padding: 0.75rem 1.25rem;
|
|
69
63
|
padding-left: 1.25rem;
|
|
70
|
-
position: static;
|
|
71
64
|
transition: background 0.15s ease;
|
|
72
65
|
}
|
|
73
|
-
/* Hide meta elements from flex layout */
|
|
74
|
-
.rf-playlist__tracks > li > meta {
|
|
75
|
-
display: none;
|
|
76
|
-
}
|
|
77
66
|
.rf-playlist__tracks > li + li {
|
|
78
67
|
border-top: 1px solid var(--rf-color-border);
|
|
79
68
|
}
|
|
@@ -81,36 +70,27 @@
|
|
|
81
70
|
background: color-mix(in srgb, var(--rf-color-border) 15%, transparent);
|
|
82
71
|
}
|
|
83
72
|
.rf-playlist__tracks > li::before {
|
|
84
|
-
|
|
85
|
-
width: auto;
|
|
86
|
-
height: auto;
|
|
87
|
-
min-width: 1.5rem;
|
|
88
|
-
font-size: 0.8rem;
|
|
73
|
+
font-size: var(--rf-text-xs);
|
|
89
74
|
font-variant-numeric: tabular-nums;
|
|
90
75
|
color: var(--rf-color-muted);
|
|
91
76
|
background: none;
|
|
92
77
|
border-radius: 0;
|
|
93
78
|
text-align: right;
|
|
94
|
-
flex-shrink: 0;
|
|
95
79
|
}
|
|
96
80
|
|
|
97
81
|
/* Track name */
|
|
98
82
|
.rf-playlist__tracks [data-name="track-name"] {
|
|
99
|
-
|
|
100
|
-
font-
|
|
101
|
-
font-weight: 500;
|
|
83
|
+
font-size: var(--rf-text);
|
|
84
|
+
font-weight: var(--rf-weight-medium);
|
|
102
85
|
color: var(--rf-color-text);
|
|
103
|
-
min-width: 0;
|
|
104
|
-
overflow: hidden;
|
|
105
86
|
text-overflow: ellipsis;
|
|
106
87
|
white-space: nowrap;
|
|
107
88
|
}
|
|
108
89
|
|
|
109
90
|
/* Track artist */
|
|
110
91
|
.rf-playlist__tracks [data-name="track-artist"] {
|
|
111
|
-
font-size:
|
|
92
|
+
font-size: var(--rf-text-sm);
|
|
112
93
|
color: var(--rf-color-muted);
|
|
113
|
-
flex-shrink: 0;
|
|
114
94
|
}
|
|
115
95
|
.rf-playlist__tracks [data-name="track-artist"]::before {
|
|
116
96
|
content: '\00b7';
|
|
@@ -120,20 +100,16 @@
|
|
|
120
100
|
|
|
121
101
|
/* Track duration — pushed right */
|
|
122
102
|
.rf-playlist__tracks [data-name="track-duration"] {
|
|
123
|
-
font-size:
|
|
103
|
+
font-size: var(--rf-text-sm);
|
|
124
104
|
color: var(--rf-color-muted);
|
|
125
105
|
font-variant-numeric: tabular-nums;
|
|
126
|
-
flex-shrink: 0;
|
|
127
|
-
margin-left: auto;
|
|
128
|
-
min-width: 3rem;
|
|
129
106
|
text-align: right;
|
|
130
107
|
}
|
|
131
108
|
|
|
132
109
|
/* Track meta (date etc.) */
|
|
133
110
|
.rf-playlist__tracks [data-name="track-meta"] {
|
|
134
|
-
font-size:
|
|
111
|
+
font-size: var(--rf-text-xs);
|
|
135
112
|
color: var(--rf-color-muted);
|
|
136
|
-
flex-shrink: 0;
|
|
137
113
|
}
|
|
138
114
|
.rf-playlist__tracks [data-name="track-meta"]::before {
|
|
139
115
|
content: '\00b7';
|
|
@@ -147,16 +123,6 @@
|
|
|
147
123
|
margin-top: 0.5rem;
|
|
148
124
|
}
|
|
149
125
|
|
|
150
|
-
/* Media zone — domain-specific cover art overrides (base styles in split.css) */
|
|
151
|
-
.rf-playlist__media img {
|
|
152
|
-
aspect-ratio: 1;
|
|
153
|
-
object-fit: cover;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
126
|
/* Hide secondary columns on narrow screens */
|
|
157
|
-
|
|
158
|
-
.rf-playlist__tracks [data-name="track-artist"],
|
|
159
|
-
.rf-playlist__tracks [data-name="track-meta"] {
|
|
160
|
-
display: none;
|
|
161
|
-
}
|
|
127
|
+
|
|
162
128
|
}
|
package/styles/runes/plot.css
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
.rf-plot {
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
}
|
|
1
|
+
@layer skin {
|
|
6
2
|
.rf-plot > span[property="name"] {
|
|
7
|
-
|
|
8
|
-
font-
|
|
9
|
-
font-weight: 700;
|
|
3
|
+
font-size: var(--rf-text-2xl);
|
|
4
|
+
font-weight: var(--rf-weight-bold);
|
|
10
5
|
margin-bottom: 0.5rem;
|
|
11
6
|
color: var(--rf-color-text);
|
|
12
7
|
}
|
|
@@ -20,41 +15,33 @@
|
|
|
20
15
|
|
|
21
16
|
/* Beats list */
|
|
22
17
|
.rf-plot ol {
|
|
23
|
-
list-style: none;
|
|
24
18
|
padding-left: 0;
|
|
25
19
|
margin: 1rem 0 0;
|
|
26
20
|
}
|
|
27
21
|
|
|
28
22
|
/* Beat — all variants use left padding with dot at left: 0 */
|
|
29
23
|
.rf-beat {
|
|
30
|
-
position: relative;
|
|
31
24
|
padding: 0.625rem 0 0.625rem 2.25rem;
|
|
32
25
|
}
|
|
33
26
|
.rf-beat + .rf-beat {
|
|
34
27
|
border-top: 1px solid var(--rf-color-border);
|
|
35
28
|
}
|
|
36
29
|
.rf-beat::before {
|
|
37
|
-
content: '';
|
|
38
|
-
position: absolute;
|
|
39
|
-
left: 0.375rem;
|
|
40
|
-
top: 1rem;
|
|
41
|
-
width: 0.75rem;
|
|
42
|
-
height: 0.75rem;
|
|
43
30
|
border-radius: 50%;
|
|
44
31
|
background: var(--rf-color-surface-active);
|
|
45
32
|
border: 2px solid var(--rf-color-bg);
|
|
46
33
|
box-shadow: 0 0 0 2px var(--rf-color-surface-active);
|
|
47
34
|
}
|
|
48
35
|
.rf-beat > span[data-field="label"] {
|
|
49
|
-
font-weight:
|
|
50
|
-
font-size:
|
|
36
|
+
font-weight: var(--rf-weight-semibold);
|
|
37
|
+
font-size: var(--rf-text);
|
|
51
38
|
color: var(--rf-color-text);
|
|
52
39
|
}
|
|
53
40
|
.rf-beat__body {
|
|
54
41
|
margin-top: 0.25rem;
|
|
55
|
-
font-size:
|
|
42
|
+
font-size: var(--rf-text);
|
|
56
43
|
color: var(--rf-color-muted);
|
|
57
|
-
line-height:
|
|
44
|
+
line-height: var(--rf-leading-relaxed);
|
|
58
45
|
}
|
|
59
46
|
.rf-beat__body p {
|
|
60
47
|
margin: 0;
|
|
@@ -69,13 +56,8 @@
|
|
|
69
56
|
border-left: 2px solid var(--rf-color-border);
|
|
70
57
|
margin-left: 0.375rem;
|
|
71
58
|
}
|
|
72
|
-
.rf-plot--linear .rf-beat::before {
|
|
73
|
-
left: -0.4375rem;
|
|
74
|
-
top: 0.125rem;
|
|
75
|
-
}
|
|
76
59
|
.rf-plot--linear .rf-beat > span[data-field="label"] {
|
|
77
60
|
line-height: 1;
|
|
78
|
-
display: block;
|
|
79
61
|
margin-top: -0.5rem;
|
|
80
62
|
}
|
|
81
63
|
.rf-plot--linear .rf-beat + .rf-beat {
|
|
@@ -115,3 +97,5 @@
|
|
|
115
97
|
background: var(--rf-color-muted);
|
|
116
98
|
box-shadow: 0 0 0 2px var(--rf-color-muted);
|
|
117
99
|
}
|
|
100
|
+
|
|
101
|
+
}
|