@refrakt-md/lumina 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base.css +29 -29
- package/contracts/structures.json +58 -60
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +57 -57
- package/dist/icons.js.map +1 -1
- package/dist/presets/catppuccin.js.map +1 -1
- package/dist/presets/dracula.js.map +1 -1
- package/dist/presets/gruvbox.js.map +1 -1
- package/dist/presets/niwaki.js.map +1 -1
- package/dist/presets/nord.js.map +1 -1
- package/dist/presets/one-dark.js.map +1 -1
- package/dist/presets/solarized.js.map +1 -1
- package/dist/presets/tideline.d.ts.map +1 -1
- package/dist/presets/tideline.js +20 -4
- package/dist/presets/tideline.js.map +1 -1
- package/dist/presets/tokyo-night.js.map +1 -1
- package/dist/tokens.js.map +1 -1
- package/index.css +124 -124
- package/package.json +5 -5
- package/presets.json +61 -13
- package/styles/base/attributes.css +32 -13
- package/styles/dimensions/checklist.css +45 -46
- package/styles/dimensions/cover.css +71 -51
- package/styles/dimensions/density.css +69 -65
- package/styles/dimensions/frame.css +116 -57
- package/styles/dimensions/metadata.css +110 -103
- package/styles/dimensions/motion.css +42 -13
- package/styles/dimensions/reading.css +27 -27
- package/styles/dimensions/sections.css +44 -45
- package/styles/dimensions/sequence.css +56 -57
- package/styles/dimensions/state.css +8 -2
- package/styles/dimensions/substrate.css +82 -58
- package/styles/dimensions/surfaces.css +65 -62
- package/styles/elements/blockquote.css +24 -25
- package/styles/elements/code.css +72 -71
- package/styles/elements/table.css +36 -37
- package/styles/global.css +163 -121
- package/styles/layouts/blog.css +219 -218
- package/styles/layouts/default.css +168 -167
- package/styles/layouts/docs.css +121 -122
- package/styles/layouts/mobile.css +54 -55
- package/styles/layouts/on-this-page.css +46 -47
- package/styles/layouts/plan.css +248 -247
- package/styles/layouts/search.css +142 -140
- package/styles/layouts/split.css +45 -45
- package/styles/layouts/theme-toggle.css +33 -31
- package/styles/layouts/version-switcher.css +38 -37
- package/styles/runes/accordion.css +90 -81
- package/styles/runes/aggregate.css +50 -39
- package/styles/runes/annotate.css +46 -45
- package/styles/runes/api.css +22 -23
- package/styles/runes/audio.css +140 -141
- package/styles/runes/badge.css +12 -13
- package/styles/runes/bar.css +4 -5
- package/styles/runes/bento.css +73 -62
- package/styles/runes/bg.css +62 -47
- package/styles/runes/blog.css +89 -90
- package/styles/runes/bond.css +49 -50
- package/styles/runes/breadcrumb.css +34 -35
- package/styles/runes/budget.css +126 -127
- package/styles/runes/bug.css +28 -27
- package/styles/runes/card.css +63 -60
- package/styles/runes/carousel.css +15 -15
- package/styles/runes/cast.css +50 -51
- package/styles/runes/changelog.css +45 -46
- package/styles/runes/character.css +31 -32
- package/styles/runes/chart.css +194 -106
- package/styles/runes/codegroup.css +109 -100
- package/styles/runes/collection.css +87 -86
- package/styles/runes/compare.css +38 -39
- package/styles/runes/comparison.css +205 -179
- package/styles/runes/conversation.css +36 -33
- package/styles/runes/cta.css +135 -132
- package/styles/runes/datatable.css +84 -83
- package/styles/runes/decision.css +25 -26
- package/styles/runes/design-context.css +21 -23
- package/styles/runes/details.css +26 -27
- package/styles/runes/diagram.css +28 -29
- package/styles/runes/diff.css +75 -72
- package/styles/runes/drawer.css +276 -198
- package/styles/runes/embed.css +20 -21
- package/styles/runes/event.css +35 -36
- package/styles/runes/expand.css +43 -34
- package/styles/runes/faction.css +47 -48
- package/styles/runes/feature.css +119 -112
- package/styles/runes/figure.css +11 -12
- package/styles/runes/file-ref.css +11 -13
- package/styles/runes/form.css +155 -154
- package/styles/runes/gallery.css +59 -60
- package/styles/runes/grid.css +10 -7
- package/styles/runes/hero.css +189 -185
- package/styles/runes/hint.css +57 -58
- package/styles/runes/howto.css +62 -64
- package/styles/runes/itinerary.css +133 -134
- package/styles/runes/juxtapose.css +83 -82
- package/styles/runes/lore.css +32 -34
- package/styles/runes/map.css +106 -99
- package/styles/runes/mediatext.css +30 -27
- package/styles/runes/milestone.css +98 -97
- package/styles/runes/mockup.css +338 -335
- package/styles/runes/nav.css +465 -450
- package/styles/runes/organization.css +23 -20
- package/styles/runes/page-section.css +14 -15
- package/styles/runes/pagination.css +45 -44
- package/styles/runes/palette.css +78 -80
- package/styles/runes/placeholder.css +8 -9
- package/styles/runes/plan-history.css +160 -161
- package/styles/runes/plan-progress.css +15 -16
- package/styles/runes/plan-ref.css +32 -23
- package/styles/runes/playlist.css +106 -107
- package/styles/runes/plot.css +92 -91
- package/styles/runes/preview.css +152 -149
- package/styles/runes/pricing.css +133 -123
- package/styles/runes/progress.css +32 -27
- package/styles/runes/pullquote.css +89 -90
- package/styles/runes/realm.css +47 -48
- package/styles/runes/recipe.css +112 -114
- package/styles/runes/relationships.css +77 -76
- package/styles/runes/reveal.css +90 -79
- package/styles/runes/sandbox.css +59 -60
- package/styles/runes/section.css +57 -50
- package/styles/runes/showcase.css +35 -16
- package/styles/runes/sidenote.css +30 -27
- package/styles/runes/snippet.css +8 -9
- package/styles/runes/spacing.css +86 -88
- package/styles/runes/spec.css +24 -25
- package/styles/runes/steps.css +89 -80
- package/styles/runes/storyboard.css +46 -45
- package/styles/runes/swatch.css +22 -23
- package/styles/runes/symbol.css +117 -118
- package/styles/runes/tabs.css +88 -79
- package/styles/runes/testimonial.css +43 -44
- package/styles/runes/textblock.css +32 -28
- package/styles/runes/timeline.css +63 -64
- package/styles/runes/tint.css +214 -215
- package/styles/runes/toc.css +40 -41
- package/styles/runes/track.css +89 -90
- package/styles/runes/typography.css +89 -91
- package/styles/runes/work.css +47 -36
- package/styles/runes/xref.css +21 -22
package/styles/runes/tint.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
/* Tint Rune — Colour Token Bridge
|
|
2
|
+
/* Tint Rune — Colour Token Bridge
|
|
3
3
|
*
|
|
4
4
|
* Maps --tint-* custom properties (set by the identity transform) to
|
|
5
5
|
* Lumina's internal --rf-color-* tokens.
|
|
@@ -9,186 +9,186 @@
|
|
|
9
9
|
* its inherited value instead of becoming guaranteed-invalid (which would
|
|
10
10
|
* happen with a self-referencing var() fallback — a CSS cycle). */
|
|
11
11
|
|
|
12
|
-
/* ── 0. Token registration ────────────────────────────────────────────────
|
|
12
|
+
/* ── 0. Token registration ────────────────────────────────────────────────
|
|
13
13
|
* @property makes guaranteed-invalid fall back to the inherited value
|
|
14
14
|
* (inherits: true) rather than propagating as invalid through children.
|
|
15
15
|
* initial-value must match the light-mode defaults in tokens/base.css. */
|
|
16
16
|
|
|
17
|
-
@property --rf-color-bg {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
@property --rf-color-surface {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
@property --rf-color-text {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
@property --rf-color-muted {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
@property --rf-color-primary {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
@property --rf-color-border {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/* ── 1. Colour scheme override ──────────────────────────────────────────────
|
|
17
|
+
@property --rf-color-bg {
|
|
18
|
+
syntax: "<color>";
|
|
19
|
+
inherits: true;
|
|
20
|
+
initial-value: #f5f4f1;
|
|
21
|
+
}
|
|
22
|
+
@property --rf-color-surface {
|
|
23
|
+
syntax: "<color>";
|
|
24
|
+
inherits: true;
|
|
25
|
+
initial-value: #fbfaf7;
|
|
26
|
+
}
|
|
27
|
+
@property --rf-color-text {
|
|
28
|
+
syntax: "<color>";
|
|
29
|
+
inherits: true;
|
|
30
|
+
initial-value: #1c1a17;
|
|
31
|
+
}
|
|
32
|
+
@property --rf-color-muted {
|
|
33
|
+
syntax: "<color>";
|
|
34
|
+
inherits: true;
|
|
35
|
+
initial-value: #6b6661;
|
|
36
|
+
}
|
|
37
|
+
@property --rf-color-primary {
|
|
38
|
+
syntax: "<color>";
|
|
39
|
+
inherits: true;
|
|
40
|
+
initial-value: #1c1a17;
|
|
41
|
+
}
|
|
42
|
+
@property --rf-color-border {
|
|
43
|
+
syntax: "<color>";
|
|
44
|
+
inherits: true;
|
|
45
|
+
initial-value: #e2e0dd;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* ── 1. Colour scheme override ──────────────────────────────────────────────
|
|
49
49
|
* Forces dark or light mode tokens on a subtree. The six tint-bridgeable
|
|
50
50
|
* tokens are also exposed as --cs-* intermediaries so compound selectors
|
|
51
51
|
* in step 4 can fall back to them without a cycle. */
|
|
52
52
|
|
|
53
|
-
/* Keep in sync with tokens/dark.css */
|
|
54
|
-
[data-color-scheme="dark"] {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/* Keep in sync with tokens/base.css */
|
|
123
|
-
[data-color-scheme="light"] {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/* ── 2. Tint bridge — light mode (default) ────────────────────────────────
|
|
53
|
+
/* Keep in sync with tokens/dark.css */
|
|
54
|
+
[data-color-scheme="dark"] {
|
|
55
|
+
color-scheme: dark;
|
|
56
|
+
color: var(--rf-color-text);
|
|
57
|
+
background-color: var(--rf-color-bg);
|
|
58
|
+
|
|
59
|
+
--cs-bg: #1a1a17;
|
|
60
|
+
--cs-surface: #1f1f1c;
|
|
61
|
+
--cs-text: #f6f4ef;
|
|
62
|
+
--cs-muted: #94908a;
|
|
63
|
+
--cs-accent: #f6f4ef;
|
|
64
|
+
--cs-border: #282825;
|
|
65
|
+
|
|
66
|
+
--rf-color-bg: var(--cs-bg);
|
|
67
|
+
--rf-color-surface: var(--cs-surface);
|
|
68
|
+
--rf-color-text: var(--cs-text);
|
|
69
|
+
--rf-color-muted: var(--cs-muted);
|
|
70
|
+
--rf-color-primary: var(--cs-accent);
|
|
71
|
+
--rf-color-border: var(--cs-border);
|
|
72
|
+
|
|
73
|
+
--rf-color-primary-hover: #d4cfc5;
|
|
74
|
+
--rf-color-surface-hover: #282825;
|
|
75
|
+
--rf-color-surface-active: #333330;
|
|
76
|
+
--rf-color-surface-raised: #272723;
|
|
77
|
+
|
|
78
|
+
--rf-color-info: #9bb4c7;
|
|
79
|
+
--rf-color-info-bg: #1f2530;
|
|
80
|
+
--rf-color-info-border: #3d4655;
|
|
81
|
+
--rf-color-warning: #d4a868;
|
|
82
|
+
--rf-color-warning-bg: #2a2519;
|
|
83
|
+
--rf-color-warning-border: #4a3f2a;
|
|
84
|
+
--rf-color-danger: #d48888;
|
|
85
|
+
--rf-color-danger-bg: #2a1818;
|
|
86
|
+
--rf-color-danger-border: #4a2a2a;
|
|
87
|
+
--rf-color-success: #7eb398;
|
|
88
|
+
--rf-color-success-bg: #1a2a1f;
|
|
89
|
+
--rf-color-success-border: #2a4a35;
|
|
90
|
+
|
|
91
|
+
--rf-color-code-bg: #1c1c19;
|
|
92
|
+
--rf-color-code-text: #f6f4ef;
|
|
93
|
+
--rf-color-code-inline-bg: #2b2b29;
|
|
94
|
+
--rf-color-inline-code-bg: #2b2b29;
|
|
95
|
+
|
|
96
|
+
--rf-syntax-keyword: #7eb6bc;
|
|
97
|
+
--rf-syntax-function: #a89bc7;
|
|
98
|
+
--rf-syntax-string: #c79a9a;
|
|
99
|
+
--rf-syntax-constant: #d4b07e;
|
|
100
|
+
--rf-syntax-comment: #6b6661;
|
|
101
|
+
--rf-syntax-punctuation: #94908a;
|
|
102
|
+
--rf-syntax-variable: #f6f4ef;
|
|
103
|
+
|
|
104
|
+
--rf-syntax-foreground: #f6f4ef;
|
|
105
|
+
--rf-syntax-background: #1c1c19;
|
|
106
|
+
--rf-syntax-token-keyword: #7eb6bc;
|
|
107
|
+
--rf-syntax-token-string: #c79a9a;
|
|
108
|
+
--rf-syntax-token-string-expression: #c79a9a;
|
|
109
|
+
--rf-syntax-token-constant: #d4b07e;
|
|
110
|
+
--rf-syntax-token-comment: #6b6661;
|
|
111
|
+
--rf-syntax-token-function: #a89bc7;
|
|
112
|
+
--rf-syntax-token-parameter: #f6f4ef;
|
|
113
|
+
--rf-syntax-token-punctuation: #94908a;
|
|
114
|
+
--rf-syntax-token-link: #a89bc7;
|
|
115
|
+
|
|
116
|
+
--rf-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
117
|
+
--rf-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
118
|
+
--rf-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
119
|
+
--rf-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5), 0 2px 6px rgba(0, 0, 0, 0.3);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* Keep in sync with tokens/base.css */
|
|
123
|
+
[data-color-scheme="light"] {
|
|
124
|
+
color-scheme: light;
|
|
125
|
+
color: var(--rf-color-text);
|
|
126
|
+
background-color: var(--rf-color-bg);
|
|
127
|
+
|
|
128
|
+
--cs-bg: #f5f4f1;
|
|
129
|
+
--cs-surface: #fbfaf7;
|
|
130
|
+
--cs-text: #1c1a17;
|
|
131
|
+
--cs-muted: #6b6661;
|
|
132
|
+
--cs-accent: #1c1a17;
|
|
133
|
+
--cs-border: #e2e0dd;
|
|
134
|
+
|
|
135
|
+
--rf-color-bg: var(--cs-bg);
|
|
136
|
+
--rf-color-surface: var(--cs-surface);
|
|
137
|
+
--rf-color-text: var(--cs-text);
|
|
138
|
+
--rf-color-muted: var(--cs-muted);
|
|
139
|
+
--rf-color-primary: var(--cs-accent);
|
|
140
|
+
--rf-color-border: var(--cs-border);
|
|
141
|
+
|
|
142
|
+
--rf-color-primary-hover: #3a342d;
|
|
143
|
+
--rf-color-surface-hover: #ecebe8;
|
|
144
|
+
--rf-color-surface-active: #e2e0dd;
|
|
145
|
+
--rf-color-surface-raised: #ffffff;
|
|
146
|
+
|
|
147
|
+
--rf-color-info: #34547a;
|
|
148
|
+
--rf-color-info-bg: #e8edf4;
|
|
149
|
+
--rf-color-info-border: #c5d2e0;
|
|
150
|
+
--rf-color-warning: #9c5a18;
|
|
151
|
+
--rf-color-warning-bg: #f5ebd9;
|
|
152
|
+
--rf-color-warning-border: #e0c9a3;
|
|
153
|
+
--rf-color-danger: #a83232;
|
|
154
|
+
--rf-color-danger-bg: #f5e0e0;
|
|
155
|
+
--rf-color-danger-border: #e0b8b8;
|
|
156
|
+
--rf-color-success: #2d6a3e;
|
|
157
|
+
--rf-color-success-bg: #e0eee4;
|
|
158
|
+
--rf-color-success-border: #b8d4be;
|
|
159
|
+
|
|
160
|
+
--rf-color-code-bg: #ebeae8;
|
|
161
|
+
--rf-color-code-text: #1c1a17;
|
|
162
|
+
--rf-color-code-inline-bg: #e6e5e3;
|
|
163
|
+
--rf-color-inline-code-bg: #e6e5e3;
|
|
164
|
+
|
|
165
|
+
--rf-syntax-keyword: #2a5c63;
|
|
166
|
+
--rf-syntax-function: #4a3b6e;
|
|
167
|
+
--rf-syntax-string: #8a3a3a;
|
|
168
|
+
--rf-syntax-constant: #876327;
|
|
169
|
+
--rf-syntax-comment: #8a857d;
|
|
170
|
+
--rf-syntax-punctuation: #6b6661;
|
|
171
|
+
--rf-syntax-variable: #1c1a17;
|
|
172
|
+
|
|
173
|
+
--rf-syntax-foreground: #1c1a17;
|
|
174
|
+
--rf-syntax-background: #ebeae8;
|
|
175
|
+
--rf-syntax-token-keyword: #2a5c63;
|
|
176
|
+
--rf-syntax-token-string: #8a3a3a;
|
|
177
|
+
--rf-syntax-token-string-expression: #8a3a3a;
|
|
178
|
+
--rf-syntax-token-constant: #876327;
|
|
179
|
+
--rf-syntax-token-comment: #8a857d;
|
|
180
|
+
--rf-syntax-token-function: #4a3b6e;
|
|
181
|
+
--rf-syntax-token-parameter: #1c1a17;
|
|
182
|
+
--rf-syntax-token-punctuation: #6b6661;
|
|
183
|
+
--rf-syntax-token-link: #4a3b6e;
|
|
184
|
+
|
|
185
|
+
--rf-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
186
|
+
--rf-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
187
|
+
--rf-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.07), 0 1px 3px rgba(0, 0, 0, 0.04);
|
|
188
|
+
--rf-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/* ── 2. Tint bridge — light mode (default) ────────────────────────────────
|
|
192
192
|
* Maps --tint-* → --rf-color-*. No fallback needed — when --tint-* is
|
|
193
193
|
* unset, var() produces guaranteed-invalid, and @property makes the
|
|
194
194
|
* token inherit from the parent element.
|
|
@@ -196,57 +196,56 @@
|
|
|
196
196
|
* :where() background gives tinted elements a painted background at zero
|
|
197
197
|
* specificity — runes with their own background naturally override it. */
|
|
198
198
|
|
|
199
|
-
:where([data-tint]) {
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
[data-tint] {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/* ── 3. Tint bridge — dark ancestor ───────────────────────────────────────
|
|
199
|
+
:where([data-tint]) {
|
|
200
|
+
background-color: var(--rf-color-bg);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
[data-tint] {
|
|
204
|
+
color: var(--rf-color-text);
|
|
205
|
+
--rf-color-bg: var(--tint-bg);
|
|
206
|
+
--rf-color-surface: var(--tint-surface);
|
|
207
|
+
--rf-color-text: var(--tint-text);
|
|
208
|
+
--rf-color-muted: var(--tint-muted);
|
|
209
|
+
--rf-color-primary: var(--tint-primary);
|
|
210
|
+
--rf-color-border: var(--tint-border);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/* ── 3. Tint bridge — dark ancestor ───────────────────────────────────────
|
|
214
214
|
* When a dark context is on an ancestor (data-theme on html, or
|
|
215
215
|
* data-color-scheme on a parent), prefer dark tint values.
|
|
216
216
|
* Uses descendant combinator — does NOT match same-element.
|
|
217
217
|
* Unset tokens → guaranteed-invalid → @property inherits from parent
|
|
218
218
|
* (which carries the dark theme value). */
|
|
219
219
|
|
|
220
|
-
:is([data-theme="dark"], [data-color-scheme="dark"]) [data-tint] {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
220
|
+
:is([data-theme="dark"], [data-color-scheme="dark"]) [data-tint] {
|
|
221
|
+
--rf-color-bg: var(--tint-dark-bg, var(--tint-bg));
|
|
222
|
+
--rf-color-surface: var(--tint-dark-surface, var(--tint-surface));
|
|
223
|
+
--rf-color-text: var(--tint-dark-text, var(--tint-text));
|
|
224
|
+
--rf-color-muted: var(--tint-dark-muted, var(--tint-muted));
|
|
225
|
+
--rf-color-primary: var(--tint-dark-primary, var(--tint-primary));
|
|
226
|
+
--rf-color-border: var(--tint-dark-border, var(--tint-border));
|
|
227
|
+
}
|
|
228
228
|
|
|
229
|
-
/* ── 4. Tint bridge — colour scheme + tint on SAME element ────────────────
|
|
229
|
+
/* ── 4. Tint bridge — colour scheme + tint on SAME element ────────────────
|
|
230
230
|
* Compound selectors (no space) match when both attributes sit on the
|
|
231
231
|
* same element. Falls back to --cs-* intermediaries so that unlisted
|
|
232
232
|
* tint tokens use the colour-scheme value, not the page-level value. */
|
|
233
233
|
|
|
234
|
-
[data-color-scheme="dark"][data-tint] {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
[data-color-scheme="light"][data-tint] {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
}
|
|
251
|
-
|
|
234
|
+
[data-color-scheme="dark"][data-tint] {
|
|
235
|
+
--rf-color-bg: var(--tint-dark-bg, var(--tint-bg, var(--cs-bg)));
|
|
236
|
+
--rf-color-surface: var(--tint-dark-surface, var(--tint-surface, var(--cs-surface)));
|
|
237
|
+
--rf-color-text: var(--tint-dark-text, var(--tint-text, var(--cs-text)));
|
|
238
|
+
--rf-color-muted: var(--tint-dark-muted, var(--tint-muted, var(--cs-muted)));
|
|
239
|
+
--rf-color-primary: var(--tint-dark-primary, var(--tint-primary, var(--cs-accent)));
|
|
240
|
+
--rf-color-border: var(--tint-dark-border, var(--tint-border, var(--cs-border)));
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
[data-color-scheme="light"][data-tint] {
|
|
244
|
+
--rf-color-bg: var(--tint-bg, var(--cs-bg));
|
|
245
|
+
--rf-color-surface: var(--tint-surface, var(--cs-surface));
|
|
246
|
+
--rf-color-text: var(--tint-text, var(--cs-text));
|
|
247
|
+
--rf-color-muted: var(--tint-muted, var(--cs-muted));
|
|
248
|
+
--rf-color-primary: var(--tint-primary, var(--cs-accent));
|
|
249
|
+
--rf-color-border: var(--tint-border, var(--cs-border));
|
|
250
|
+
}
|
|
252
251
|
}
|
package/styles/runes/toc.css
CHANGED
|
@@ -1,44 +1,43 @@
|
|
|
1
1
|
@layer skin {
|
|
2
|
-
/* Table of Contents — skin. The list reset + the inline-block link live in
|
|
2
|
+
/* Table of Contents — skin. The list reset + the inline-block link live in
|
|
3
3
|
* @refrakt-md/skeleton (styles/runes/toc.css). */
|
|
4
|
-
.rf-toc {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
.rf-toc__list {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
.rf-toc ul,
|
|
19
|
-
.rf-toc ol {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
.rf-toc li {
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
.rf-toc li[data-level="3"] {
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
.rf-toc li[data-level="4"] {
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
.rf-toc a {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
.rf-toc a:hover {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
4
|
+
.rf-toc {
|
|
5
|
+
padding: 1.25rem 1.5rem;
|
|
6
|
+
border-left: 3px solid var(--rf-color-primary);
|
|
7
|
+
background: var(--rf-color-surface);
|
|
8
|
+
border-radius: 0 var(--rf-radius-md) var(--rf-radius-md) 0;
|
|
9
|
+
}
|
|
10
|
+
.rf-toc__list {
|
|
11
|
+
font-weight: var(--rf-weight-semibold);
|
|
12
|
+
margin-bottom: 0.75rem;
|
|
13
|
+
font-size: var(--rf-text-xs);
|
|
14
|
+
text-transform: uppercase;
|
|
15
|
+
letter-spacing: var(--rf-tracking-wider);
|
|
16
|
+
color: var(--rf-color-muted);
|
|
17
|
+
}
|
|
18
|
+
.rf-toc ul,
|
|
19
|
+
.rf-toc ol {
|
|
20
|
+
padding-left: 0;
|
|
21
|
+
margin: 0;
|
|
22
|
+
}
|
|
23
|
+
.rf-toc li {
|
|
24
|
+
margin: 0.125rem 0;
|
|
25
|
+
}
|
|
26
|
+
.rf-toc li[data-level="3"] {
|
|
27
|
+
padding-left: 1rem;
|
|
28
|
+
}
|
|
29
|
+
.rf-toc li[data-level="4"] {
|
|
30
|
+
padding-left: 2rem;
|
|
31
|
+
}
|
|
32
|
+
.rf-toc a {
|
|
33
|
+
color: var(--rf-color-text);
|
|
34
|
+
text-decoration: none;
|
|
35
|
+
font-size: var(--rf-text-sm);
|
|
36
|
+
padding: 0.2rem 0;
|
|
37
|
+
transition: color 150ms ease;
|
|
38
|
+
}
|
|
39
|
+
.rf-toc a:hover {
|
|
40
|
+
color: var(--rf-color-primary);
|
|
41
|
+
text-decoration: none;
|
|
42
|
+
}
|
|
44
43
|
}
|