@loidolt/theme-styles 0.6.0 → 0.8.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.
@@ -38,7 +38,7 @@
38
38
  margin-block: 1.8em 0.6em;
39
39
  color: var(--loidolt-text);
40
40
  font-family: var(--loidolt-font-display);
41
- font-weight: 500;
41
+ font-weight: var(--loidolt-heading-weight);
42
42
  line-height: var(--loidolt-font-line-height-tight);
43
43
  /* Clears a sticky top bar when a heading is the target of an in-page link. */
44
44
  scroll-margin-top: calc(var(--loidolt-size-topbar) + var(--loidolt-space-4));
@@ -48,7 +48,7 @@
48
48
  font-size: 2em;
49
49
  }
50
50
  :where(.ldt-prose h2):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
51
- padding-block-end: 0.3em;
51
+ padding-block-end: 0.3em; /* @literal em-based prose rhythm */
52
52
  border-bottom: var(--loidolt-border-width) solid var(--loidolt-border-soft);
53
53
  font-size: 1.5em;
54
54
  }
@@ -63,8 +63,8 @@
63
63
  color: var(--loidolt-text-muted);
64
64
  font-family: var(--loidolt-font-utility);
65
65
  font-size: 0.8em;
66
- letter-spacing: var(--loidolt-font-tracking-utility);
67
- text-transform: uppercase;
66
+ letter-spacing: var(--loidolt-label-tracking);
67
+ text-transform: var(--loidolt-label-transform);
68
68
  }
69
69
  /* A heading directly after another heading sits closer to it. */
70
70
  :where(.ldt-prose :is(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3, h4, h5, h6)):not(
@@ -86,19 +86,21 @@
86
86
  /* Only one weight per family ships, so bold is synthesized; colour keeps it legible. */
87
87
  :where(.ldt-prose :is(strong, b)):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
88
88
  color: var(--loidolt-text);
89
- font-weight: 700;
89
+ font-weight: 700; /* @literal bold means bold in running text */
90
90
  }
91
91
  :where(.ldt-prose :not(pre) > code):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
92
- padding: 0.12em 0.35em;
92
+ padding: 0.12em 0.35em; /* @literal em-based inline code */
93
93
  border: var(--loidolt-border-width) solid var(--loidolt-border-soft);
94
+ border-radius: var(--loidolt-radius-inner);
94
95
  color: var(--loidolt-text);
95
96
  background: var(--loidolt-surface-sunken);
96
97
  font-size: 0.875em;
97
98
  }
98
99
  :where(.ldt-prose kbd):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
99
- padding: 0.05em 0.4em;
100
+ padding: 0.05em 0.4em; /* @literal em-based key cap */
100
101
  border: var(--loidolt-border-width) solid var(--loidolt-border-strong);
101
- border-bottom-width: 2px;
102
+ border-radius: var(--loidolt-radius-inner);
103
+ border-bottom-width: 2px; /* @literal key-cap depth */
102
104
  background: var(--loidolt-surface);
103
105
  font-size: 0.85em;
104
106
  }
@@ -110,7 +112,7 @@
110
112
  /* --- Lists --------------------------------------------------------------------------------- */
111
113
 
112
114
  :where(.ldt-prose :is(ul, ol)):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
113
- padding-inline-start: 1.5em;
115
+ padding-inline-start: 1.5em; /* @literal em-based list indent */
114
116
  }
115
117
  :where(.ldt-prose li):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
116
118
  margin-block: 0.3em;
@@ -131,7 +133,7 @@
131
133
  accent-color: var(--loidolt-accent);
132
134
  }
133
135
  :where(.ldt-prose dt):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
134
- font-weight: 700;
136
+ font-weight: 700; /* @literal bold means bold in running text */
135
137
  }
136
138
  :where(.ldt-prose dd):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
137
139
  margin: 0 0 0.6em 1.5em;
@@ -141,8 +143,8 @@
141
143
 
142
144
  :where(.ldt-prose blockquote):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
143
145
  margin-inline: 0;
144
- padding: 0.7em 1em;
145
- border-inline-start: 3px solid var(--loidolt-accent);
146
+ padding: 0.7em 1em; /* @literal em-based prose rhythm */
147
+ border-inline-start: var(--loidolt-stroke-accent) solid var(--loidolt-accent);
146
148
  color: var(--loidolt-text);
147
149
  background: var(--loidolt-surface-alt);
148
150
  }
@@ -168,9 +170,10 @@
168
170
  * surface so it reads as code in both colour schemes.
169
171
  */
170
172
  :where(.ldt-prose pre):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
171
- padding: 0.9em 1.1em;
173
+ padding: 0.9em 1.1em; /* @literal em-based code rhythm */
172
174
  overflow-x: auto;
173
175
  border: var(--loidolt-border-width) solid var(--loidolt-border);
176
+ border-radius: var(--loidolt-radius-surface);
174
177
  color: var(--loidolt-text-inverse);
175
178
  background: var(--loidolt-surface-inverse);
176
179
  font-size: 0.85em;
@@ -199,14 +202,14 @@
199
202
  font-size: 0.9em;
200
203
  }
201
204
  :where(.ldt-prose :is(th, td)):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
202
- padding: 0.5em 0.8em;
205
+ padding: 0.5em 0.8em; /* @literal em-based table rhythm */
203
206
  border: var(--loidolt-border-width) solid var(--loidolt-border);
204
207
  text-align: start;
205
208
  vertical-align: top;
206
209
  }
207
210
  :where(.ldt-prose th):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
208
211
  background: var(--loidolt-surface-alt);
209
- font-weight: 700;
212
+ font-weight: 700; /* @literal bold means bold in running text */
210
213
  }
211
214
  :where(.ldt-prose td):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
212
215
  background: var(--loidolt-surface);
@@ -221,12 +224,13 @@
221
224
  /* --- Disclosure ---------------------------------------------------------------------------- */
222
225
 
223
226
  :where(.ldt-prose details):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
224
- padding: 0.5em 0.9em;
227
+ padding: 0.5em 0.9em; /* @literal em-based prose rhythm */
225
228
  border: var(--loidolt-border-width) solid var(--loidolt-border);
229
+ border-radius: var(--loidolt-radius-surface);
226
230
  background: var(--loidolt-surface);
227
231
  }
228
232
  :where(.ldt-prose summary):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
229
- font-weight: 700;
233
+ font-weight: 700; /* @literal bold means bold in running text */
230
234
  }
231
235
  :where(.ldt-prose details[open] > summary):not(:where(.ldt-not-prose, .ldt-not-prose *)) {
232
236
  margin-block-end: 0.5em;
@@ -13,15 +13,16 @@
13
13
  display: flex;
14
14
  align-items: center;
15
15
  justify-content: space-between;
16
- gap: 1rem;
16
+ gap: var(--loidolt-space-4);
17
17
  border: 0;
18
- padding: 0.75rem 0;
18
+ padding: var(--loidolt-space-3) 0;
19
19
  color: var(--loidolt-text);
20
20
  background: transparent;
21
21
  font: var(--loidolt-font-size-sm) var(--loidolt-font-utility);
22
- letter-spacing: 0.08em;
22
+ font-weight: var(--loidolt-control-weight);
23
+ letter-spacing: var(--loidolt-control-tracking);
23
24
  text-align: left;
24
- text-transform: uppercase;
25
+ text-transform: var(--loidolt-control-transform);
25
26
  }
26
27
  .ldt-accordion__trigger:hover:not([data-disabled]) {
27
28
  color: var(--loidolt-text-accent);
@@ -34,15 +35,15 @@
34
35
  width: 0;
35
36
  height: 0;
36
37
  flex: 0 0 auto;
37
- border-inline: 0.3rem solid transparent;
38
- border-top: 0.34rem solid currentColor;
38
+ border-inline: 0.3rem solid transparent; /* @literal CSS triangle geometry */
39
+ border-top: 0.34rem solid currentColor; /* @literal CSS triangle geometry */
39
40
  transition: transform var(--loidolt-motion-normal) var(--loidolt-motion-easing);
40
41
  }
41
42
  .ldt-accordion__trigger[data-state='open'] .ldt-accordion__indicator {
42
43
  transform: rotate(180deg);
43
44
  }
44
45
  .ldt-accordion__body {
45
- padding-bottom: 1rem;
46
+ padding-bottom: var(--loidolt-space-4);
46
47
  color: var(--loidolt-text-muted);
47
48
  }
48
49
  .ldt-toggle-group {
@@ -50,6 +51,7 @@
50
51
  display: inline-flex;
51
52
  overflow-x: auto;
52
53
  border: var(--loidolt-border-width) solid var(--loidolt-border-strong);
54
+ border-radius: var(--loidolt-radius-control);
53
55
  overscroll-behavior-inline: contain;
54
56
  scrollbar-width: thin;
55
57
  }
@@ -62,15 +64,16 @@
62
64
  display: inline-flex;
63
65
  align-items: center;
64
66
  justify-content: center;
65
- gap: 0.4rem;
67
+ gap: 0.4rem; /* @literal glyph-to-label spacing, not density */
66
68
  border: 0;
67
- padding: 0 0.85rem;
69
+ padding: 0 var(--loidolt-pad-control-x);
68
70
  color: var(--loidolt-text-muted);
69
71
  background: transparent;
70
72
  font: var(--loidolt-font-size-sm) var(--loidolt-font-utility);
71
- letter-spacing: 0.08em;
73
+ font-weight: var(--loidolt-control-weight);
74
+ letter-spacing: var(--loidolt-control-tracking);
72
75
  line-height: 1;
73
- text-transform: uppercase;
76
+ text-transform: var(--loidolt-control-transform);
74
77
  white-space: nowrap;
75
78
  }
76
79
  /* One shared rule between neighbours, so the group reads as a single object rather than a row
@@ -101,18 +104,18 @@
101
104
  }
102
105
  .ldt-toggle-group--sm .ldt-toggle-group__item {
103
106
  min-height: var(--loidolt-size-control-sm);
104
- padding: 0 0.65rem;
107
+ padding: 0 var(--loidolt-pad-control-x-sm);
105
108
  font-size: var(--loidolt-font-size-xs);
106
109
  }
107
110
  .ldt-toggle-group--lg .ldt-toggle-group__item {
108
111
  min-height: var(--loidolt-size-control-lg);
109
- padding: 0 1.2rem;
112
+ padding: 0 var(--loidolt-pad-control-x-lg);
110
113
  }
111
114
  .ldt-breadcrumbs__list {
112
115
  display: flex;
113
116
  flex-wrap: wrap;
114
117
  align-items: center;
115
- gap: 0.35rem 0.5rem;
118
+ gap: 0.35rem 0.5rem; /* @literal separator rhythm, not density */
116
119
  margin: 0;
117
120
  padding: 0;
118
121
  list-style: none;
@@ -121,7 +124,7 @@
121
124
  min-width: 0;
122
125
  display: inline-flex;
123
126
  align-items: center;
124
- gap: 0.5rem;
127
+ gap: var(--loidolt-space-2);
125
128
  }
126
129
  /* Generated content, so the separator is never selected, copied, or read aloud. */
127
130
  .ldt-breadcrumbs__item + .ldt-breadcrumbs__item::before {
@@ -132,9 +135,10 @@
132
135
  .ldt-breadcrumbs__current {
133
136
  overflow: hidden;
134
137
  font: var(--loidolt-font-size-xs) var(--loidolt-font-utility);
135
- letter-spacing: var(--loidolt-font-tracking-utility);
138
+ font-weight: var(--loidolt-label-weight);
139
+ letter-spacing: var(--loidolt-label-tracking);
136
140
  text-overflow: ellipsis;
137
- text-transform: uppercase;
141
+ text-transform: var(--loidolt-label-transform);
138
142
  white-space: nowrap;
139
143
  }
140
144
  .ldt-breadcrumbs__link {
@@ -155,10 +159,10 @@
155
159
  display: flex;
156
160
  flex-wrap: wrap;
157
161
  align-items: center;
158
- gap: 0.3rem;
162
+ gap: 0.3rem; /* @literal page buttons sit nearly flush */
159
163
  }
160
164
  .ldt-pagination__ellipsis {
161
- padding-inline: 0.35rem;
165
+ padding-inline: 0.35rem; /* @literal matches the page-button gap */
162
166
  color: var(--loidolt-text-muted);
163
167
  }
164
168
  .ldt-pagination__page {
@@ -179,6 +183,7 @@
179
183
  display: inline-flex;
180
184
  overflow-x: auto;
181
185
  border: var(--loidolt-border-width) solid var(--loidolt-border-strong);
186
+ border-radius: var(--loidolt-radius-control);
182
187
  overscroll-behavior-inline: contain;
183
188
  scrollbar-width: thin;
184
189
  }
@@ -207,6 +212,7 @@
207
212
  gap: var(--loidolt-space-1);
208
213
  padding: var(--loidolt-space-1);
209
214
  border: var(--loidolt-border-width) solid var(--loidolt-border);
215
+ border-radius: var(--loidolt-radius-inner);
210
216
  color: inherit;
211
217
  background: none;
212
218
  font: inherit;
@@ -244,15 +250,16 @@
244
250
  .ldt-chip {
245
251
  display: inline-flex;
246
252
  align-items: center;
247
- gap: 0.2rem;
253
+ gap: 0.2rem; /* @literal chip glyph spacing */
248
254
  min-height: 1.5rem;
249
255
  max-width: 100%;
250
256
  border: var(--loidolt-border-width) solid var(--loidolt-border-control);
251
- padding-inline-start: 0.45rem;
257
+ border-radius: var(--loidolt-radius-control);
258
+ padding-inline-start: 0.45rem; /* @literal chip label inset */
252
259
  color: var(--loidolt-text);
253
260
  background: var(--loidolt-surface-alt);
254
261
  font: var(--loidolt-font-size-sm) var(--loidolt-font-utility);
255
- letter-spacing: 0.04em;
262
+ letter-spacing: calc(var(--loidolt-label-tracking) * 0.4);
256
263
  }
257
264
  .ldt-chip > span {
258
265
  overflow: hidden;
@@ -1,6 +1,7 @@
1
1
  .ldt-card,
2
2
  .ldt-panel {
3
3
  border: var(--loidolt-border-width) solid var(--loidolt-border);
4
+ border-radius: var(--loidolt-radius-surface);
4
5
  color: var(--loidolt-text);
5
6
  background: var(--loidolt-surface);
6
7
  }
@@ -25,7 +26,7 @@
25
26
  .ldt-panel__header,
26
27
  .ldt-panel__content,
27
28
  .ldt-panel__footer {
28
- padding: var(--loidolt-space-4);
29
+ padding: var(--loidolt-pad-surface);
29
30
  }
30
31
  .ldt-card__header,
31
32
  .ldt-panel__header {
@@ -56,15 +57,16 @@
56
57
  display: inline-flex;
57
58
  align-items: center;
58
59
  min-height: 1.4rem;
59
- padding: 0.15rem 0.5rem;
60
+ padding: 0.15rem 0.5rem; /* @literal inline badge metrics, sized to sit in running text */
60
61
  border: var(--loidolt-border-width) solid var(--loidolt-border);
61
62
  border-radius: var(--loidolt-border-radius-pill);
62
63
  color: var(--loidolt-text-muted);
63
64
  background: var(--loidolt-surface-sunken);
64
65
  font: var(--loidolt-font-size-xs) var(--loidolt-font-utility);
65
66
  /* The label voice (`.ldt-eyebrow`, `.ldt-field__label`), not the tighter control voice. */
66
- letter-spacing: var(--loidolt-font-tracking-wide);
67
- text-transform: uppercase;
67
+ font-weight: var(--loidolt-label-weight);
68
+ letter-spacing: var(--loidolt-label-tracking-wide);
69
+ text-transform: var(--loidolt-label-transform);
68
70
  }
69
71
  /*
70
72
  * Size steps take the button scale's *box* so a badge in a row of controls lines up with them,
@@ -83,17 +85,17 @@
83
85
  }
84
86
  .ldt-badge--sm {
85
87
  min-height: var(--loidolt-size-control-sm);
86
- padding: 0.38rem 0.7rem;
88
+ padding: var(--loidolt-pad-control-y-sm) 0.7rem; /* @literal inline pad sits between control steps */
87
89
  line-height: 1;
88
90
  }
89
91
  .ldt-badge--md {
90
92
  min-height: var(--loidolt-size-control);
91
- padding: 0.5rem 0.9rem;
93
+ padding: var(--loidolt-pad-control-y) 0.9rem; /* @literal inline pad sits between control steps */
92
94
  line-height: 1;
93
95
  }
94
96
  .ldt-badge--lg {
95
97
  min-height: var(--loidolt-size-control-lg);
96
- padding: 0.5rem 1.25rem;
98
+ padding: var(--loidolt-pad-control-y) 1.25rem; /* @literal inline pad sits between control steps */
97
99
  line-height: 1;
98
100
  }
99
101
  .ldt-badge--accent {
@@ -130,6 +132,7 @@
130
132
  aspect-ratio: var(--ldt-thumbnail-ratio, 4 / 3);
131
133
  overflow: hidden;
132
134
  border: var(--loidolt-border-width) solid var(--loidolt-border);
135
+ border-radius: var(--loidolt-radius-surface);
133
136
  background: var(--loidolt-surface-sunken);
134
137
  }
135
138
  .ldt-thumbnail--paper {
@@ -169,8 +172,9 @@
169
172
  /* A dashboard tile: one hero number over a utility label; the link form invites a click. */
170
173
  .ldt-stat {
171
174
  display: block;
172
- padding: var(--loidolt-space-4);
175
+ padding: var(--loidolt-pad-surface);
173
176
  border: var(--loidolt-border-width) solid var(--loidolt-border);
177
+ border-radius: var(--loidolt-radius-surface);
174
178
  color: var(--loidolt-text);
175
179
  background: var(--loidolt-surface);
176
180
  text-decoration: none;
@@ -183,14 +187,15 @@ a.ldt-stat:hover {
183
187
  margin: 0;
184
188
  font-family: var(--loidolt-font-display);
185
189
  font-size: var(--loidolt-font-size-xl);
186
- font-weight: 600;
190
+ font-weight: var(--loidolt-strong-weight);
187
191
  }
188
192
  .ldt-stat__label {
189
193
  margin: 0.25rem 0 0;
190
194
  color: var(--loidolt-text-muted);
191
195
  font: var(--loidolt-font-size-xs) var(--loidolt-font-utility);
192
- letter-spacing: var(--loidolt-font-tracking-utility);
193
- text-transform: uppercase;
196
+ font-weight: var(--loidolt-label-weight);
197
+ letter-spacing: var(--loidolt-label-tracking);
198
+ text-transform: var(--loidolt-label-transform);
194
199
  }
195
200
  .ldt-separator {
196
201
  width: 100%;
@@ -214,10 +219,11 @@ a.ldt-stat:hover {
214
219
  place-items: center;
215
220
  overflow: hidden;
216
221
  border: var(--loidolt-border-width) solid var(--loidolt-border);
222
+ border-radius: var(--loidolt-radius-control);
217
223
  color: var(--loidolt-text-muted);
218
224
  background: var(--loidolt-surface-sunken);
219
225
  font: var(--loidolt-font-size-sm) var(--loidolt-font-utility);
220
- letter-spacing: 0.06em;
226
+ letter-spacing: calc(var(--loidolt-label-tracking) * 0.6);
221
227
  }
222
228
  .ldt-avatar--sm {
223
229
  width: var(--loidolt-size-control-sm);
@@ -7,4 +7,7 @@
7
7
  @import './components/selection.css';
8
8
  @import './components/layout.css';
9
9
  @import './components/media.css';
10
+ @import './components/charts.css';
11
+ @import './components/maps.css';
10
12
  @import './components/prose.css';
13
+ @import './components/docs.css';
package/src/index.css CHANGED
@@ -8,9 +8,14 @@
8
8
  * `loidolt.a11y` is last so the focus ring and the reduced-motion overrides beat component
9
9
  * styles by layer order alone — no `!important` needed, which keeps app CSS able to override
10
10
  * them (unlayered styles outrank every layer for normal declarations).
11
+ *
12
+ * `loidolt.vendor` holds third-party stylesheets a loidolt package ships with — MapLibre's, for
13
+ * `@loidolt/theme-maps`. Vendor CSS left unlayered would outrank every layer here; slotted after
14
+ * `base` and before `components`, our resets cannot break it and our component styles can
15
+ * restyle it, whichever order the two stylesheets are imported in.
11
16
  */
12
- @layer loidolt.tokens, loidolt.reset, loidolt.base, loidolt.components, loidolt.utilities,
13
- loidolt.a11y;
17
+ @layer loidolt.tokens, loidolt.reset, loidolt.base, loidolt.vendor, loidolt.components,
18
+ loidolt.utilities, loidolt.a11y;
14
19
 
15
20
  @import '@loidolt/theme-tokens/css' layer(loidolt.tokens);
16
21
  @import './fonts.css' layer(loidolt.base);
@@ -0,0 +1,2 @@
1
+ /* The compact preset (dark-auto colours). See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/compact-dark-auto';
@@ -0,0 +1,2 @@
1
+ /* The compact preset (dark colours). See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/compact-dark';
@@ -0,0 +1,2 @@
1
+ /* The compact preset. See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/compact';
@@ -0,0 +1,2 @@
1
+ /* The loidolt preset (dark-auto colours). See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/loidolt-dark-auto';
@@ -0,0 +1,2 @@
1
+ /* The loidolt preset (dark colours). See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/loidolt-dark';
@@ -0,0 +1,2 @@
1
+ /* The loidolt preset. See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/loidolt';
@@ -0,0 +1,2 @@
1
+ /* The soft preset (dark-auto colours). See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/soft-dark-auto';
@@ -0,0 +1,2 @@
1
+ /* The soft preset (dark colours). See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/soft-dark';
@@ -0,0 +1,2 @@
1
+ /* The soft preset. See '@loidolt/theme-tokens' definePreset() to build your own. */
2
+ @import '@loidolt/theme-tokens/css/presets/soft';
package/src/utilities.css CHANGED
@@ -32,10 +32,14 @@
32
32
  * scope has to re-declare it. Put this on the wrapper you redefine tokens on:
33
33
  *
34
34
  * <div class="ldt-theme" style="--loidolt-surface: #10212c; --loidolt-text: #dceaf2">
35
+ *
36
+ * The same goes for `font-family`, which `<html>` sets once: a subtree preset that changes the
37
+ * display face needs it re-declared here to reach running text.
35
38
  */
36
39
  .ldt-theme {
37
40
  color: var(--loidolt-text);
38
41
  background: var(--loidolt-background);
42
+ font-family: var(--loidolt-font-display);
39
43
  }
40
44
  /* Muted body voice for meta lines (author · timestamp). Unlike .ldt-utility-text it keeps
41
45
  sentence case and the body face, so names and dates stay readable. */
@@ -63,15 +67,17 @@
63
67
  .ldt-utility-text {
64
68
  color: var(--loidolt-text-muted);
65
69
  font: var(--loidolt-font-size-xs) var(--loidolt-font-utility);
66
- letter-spacing: var(--loidolt-font-tracking-utility);
67
- text-transform: uppercase;
70
+ font-weight: var(--loidolt-label-weight);
71
+ letter-spacing: var(--loidolt-label-tracking);
72
+ text-transform: var(--loidolt-label-transform);
68
73
  }
69
74
  .ldt-eyebrow {
70
75
  margin: 0 0 0.4rem;
71
76
  color: var(--loidolt-text-accent);
72
77
  font: var(--loidolt-font-size-xs) var(--loidolt-font-utility);
73
- letter-spacing: var(--loidolt-font-tracking-wide);
74
- text-transform: uppercase;
78
+ font-weight: var(--loidolt-label-weight);
79
+ letter-spacing: var(--loidolt-label-tracking-wide);
80
+ text-transform: var(--loidolt-label-transform);
75
81
  }
76
82
 
77
83
  /* Print-only content — a URL written out after a link, a signature line. The counterpart to