@amulet-laboratories/hex 0.3.0 → 0.5.1

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.
Files changed (189) hide show
  1. package/dist/beacon.css +1 -0
  2. package/dist/brass.css +5 -0
  3. package/dist/cardinal.css +5 -0
  4. package/dist/citron.css +5 -0
  5. package/dist/clover.css +5 -0
  6. package/dist/cobalt.css +5 -0
  7. package/dist/copper.css +5 -0
  8. package/dist/cypress.css +5 -0
  9. package/dist/damson.css +5 -0
  10. package/dist/fern.css +5 -0
  11. package/dist/forge.css +2 -2
  12. package/dist/garden.css +2 -2
  13. package/dist/greyline.css +2 -2
  14. package/dist/harbor.css +5 -0
  15. package/dist/hearth.css +5 -0
  16. package/dist/hex.css +2 -2
  17. package/dist/iris.css +5 -0
  18. package/dist/juniper.css +5 -0
  19. package/dist/lagoon.css +5 -0
  20. package/dist/ochre.css +5 -0
  21. package/dist/orchid.css +5 -0
  22. package/dist/quartz.css +5 -0
  23. package/dist/roast.css +5 -0
  24. package/dist/sienna.css +5 -0
  25. package/dist/slate.css +5 -0
  26. package/dist/spacewizard.css +2 -2
  27. package/dist/vesper.css +5 -0
  28. package/dist/voltaic.css +1 -0
  29. package/package.json +73 -53
  30. package/src/index.css +3 -3
  31. package/src/scoped/index.css +13 -13
  32. package/src/scoped/themes/{kbcv.css → cardinal.css} +17 -1
  33. package/src/scoped/themes/citron.css +105 -0
  34. package/src/scoped/themes/{compass.css → clover.css} +26 -13
  35. package/src/scoped/themes/{vscode.css → cobalt.css} +10 -5
  36. package/src/scoped/themes/{undertow.css → copper.css} +16 -1
  37. package/src/scoped/themes/{tidemark.css → cypress.css} +24 -11
  38. package/src/scoped/themes/{aldricpace.css → harbor.css} +15 -3
  39. package/src/scoped/themes/hearth.css +134 -0
  40. package/src/scoped/themes/{briarcove.css → iris.css} +13 -2
  41. package/src/scoped/themes/juniper.css +121 -0
  42. package/src/scoped/themes/{duskline.css → lagoon.css} +25 -9
  43. package/src/scoped/themes/{saltsignal.css → ochre.css} +23 -10
  44. package/src/scoped/themes/{marenlys.css → orchid.css} +26 -9
  45. package/src/scoped/themes/{briarcovelib.css → sienna.css} +20 -7
  46. package/src/scoped/themes/{lanternhouse.css → vesper.css} +27 -6
  47. package/src/scoped/tokens.css +15 -13
  48. package/src/shared/components/content.css +772 -0
  49. package/src/shared/components/core.css +88 -720
  50. package/src/shared/components/data.css +24 -126
  51. package/src/shared/components/editor.css +33 -164
  52. package/src/shared/components/extras.css +30 -346
  53. package/src/shared/components/layout.css +21 -369
  54. package/src/shared/components/lists.css +11 -114
  55. package/src/shared/components/menus.css +10 -146
  56. package/src/shared/components/nav.css +112 -501
  57. package/src/shared/components/prose.css +12 -180
  58. package/src/shared/components/shell.css +22 -259
  59. package/src/shared/components/spatial.css +15 -47
  60. package/src/shared/components/temporal.css +28 -68
  61. package/src/shared/components/web.css +42 -1037
  62. package/src/shared/tokens.css +37 -0
  63. package/src/shared/utilities.css +52 -3
  64. package/src/themes/beacon/base.css +59 -0
  65. package/src/themes/beacon/index.css +11 -0
  66. package/src/themes/beacon/tokens.css +219 -0
  67. package/src/themes/brass/base.css +179 -0
  68. package/src/themes/brass/components.css +23 -0
  69. package/src/themes/brass/domains.css +731 -0
  70. package/src/themes/brass/tokens.css +208 -0
  71. package/src/themes/{kbcv → cardinal}/tokens.css +5 -0
  72. package/src/themes/citron/base.css +232 -0
  73. package/src/themes/citron/tokens.css +136 -0
  74. package/src/themes/{vscode → cobalt}/tokens.css +5 -5
  75. package/src/themes/damson/base.css +179 -0
  76. package/src/themes/damson/components.css +23 -0
  77. package/src/themes/damson/domains.css +731 -0
  78. package/src/themes/damson/tokens.css +208 -0
  79. package/src/themes/{quizbit → fern}/base.css +21 -27
  80. package/src/themes/fern/components.css +23 -0
  81. package/src/themes/fern/domains.css +731 -0
  82. package/src/themes/fern/tokens.css +208 -0
  83. package/src/themes/{aldricpace → harbor}/tokens.css +5 -0
  84. package/src/themes/hearth/base.css +111 -0
  85. package/src/themes/hearth/components.css +22 -0
  86. package/src/themes/hearth/domains.css +19 -0
  87. package/src/themes/hearth/tokens.css +179 -0
  88. package/src/themes/juniper/base.css +111 -0
  89. package/src/themes/juniper/components.css +22 -0
  90. package/src/themes/juniper/domains.css +19 -0
  91. package/src/themes/juniper/tokens.css +171 -0
  92. package/src/themes/lagoon/index.css +6 -0
  93. package/src/themes/{duskline → lagoon}/tokens.css +5 -0
  94. package/src/themes/ochre/index.css +6 -0
  95. package/src/themes/{saltsignal → ochre}/tokens.css +8 -8
  96. package/src/themes/orchid/index.css +6 -0
  97. package/src/themes/{marenlys → orchid}/tokens.css +8 -3
  98. package/src/themes/quartz/base.css +114 -0
  99. package/src/themes/quartz/components.css +23 -0
  100. package/src/themes/quartz/domains.css +731 -0
  101. package/src/themes/quartz/index.css +6 -0
  102. package/src/themes/quartz/tokens.css +208 -0
  103. package/src/themes/roast/base.css +114 -0
  104. package/src/themes/roast/components.css +23 -0
  105. package/src/themes/roast/domains.css +731 -0
  106. package/src/themes/roast/index.css +6 -0
  107. package/src/themes/roast/tokens.css +208 -0
  108. package/src/themes/sienna/index.css +6 -0
  109. package/src/themes/slate/base.css +207 -0
  110. package/src/themes/slate/components.css +23 -0
  111. package/src/themes/slate/domains.css +731 -0
  112. package/src/themes/slate/index.css +6 -0
  113. package/src/themes/slate/tokens.css +208 -0
  114. package/src/themes/vesper/index.css +6 -0
  115. package/src/themes/{lanternhouse → vesper}/tokens.css +5 -0
  116. package/dist/aldricpace.css +0 -5
  117. package/dist/briarcove.css +0 -5
  118. package/dist/briarcovelib.css +0 -5
  119. package/dist/compass.css +0 -5
  120. package/dist/duskline.css +0 -5
  121. package/dist/kbcv.css +0 -5
  122. package/dist/lanternhouse.css +0 -5
  123. package/dist/marenlys.css +0 -5
  124. package/dist/quizbit.css +0 -5
  125. package/dist/saltsignal.css +0 -5
  126. package/dist/tidemark.css +0 -5
  127. package/dist/undertow.css +0 -5
  128. package/dist/vscode.css +0 -5
  129. package/src/scoped/themes/quizbit.css +0 -101
  130. package/src/themes/quizbit/tokens.css +0 -132
  131. /package/src/themes/{aldricpace → brass}/index.css +0 -0
  132. /package/src/themes/{kbcv → cardinal}/base.css +0 -0
  133. /package/src/themes/{kbcv → cardinal}/components.css +0 -0
  134. /package/src/themes/{kbcv → cardinal}/domains.css +0 -0
  135. /package/src/themes/{briarcove → cardinal}/index.css +0 -0
  136. /package/src/themes/{quizbit → citron}/components.css +0 -0
  137. /package/src/themes/{quizbit → citron}/domains.css +0 -0
  138. /package/src/themes/{briarcovelib → citron}/index.css +0 -0
  139. /package/src/themes/{compass → clover}/base.css +0 -0
  140. /package/src/themes/{compass → clover}/components.css +0 -0
  141. /package/src/themes/{compass → clover}/domains.css +0 -0
  142. /package/src/themes/{compass → clover}/index.css +0 -0
  143. /package/src/themes/{compass → clover}/tokens.css +0 -0
  144. /package/src/themes/{vscode → cobalt}/base.css +0 -0
  145. /package/src/themes/{vscode → cobalt}/components.css +0 -0
  146. /package/src/themes/{vscode → cobalt}/domains.css +0 -0
  147. /package/src/themes/{vscode → cobalt}/index.css +0 -0
  148. /package/src/themes/{undertow → copper}/base.css +0 -0
  149. /package/src/themes/{undertow → copper}/components.css +0 -0
  150. /package/src/themes/{undertow → copper}/domains.css +0 -0
  151. /package/src/themes/{duskline → copper}/index.css +0 -0
  152. /package/src/themes/{undertow → copper}/tokens.css +0 -0
  153. /package/src/themes/{tidemark → cypress}/base.css +0 -0
  154. /package/src/themes/{tidemark → cypress}/components.css +0 -0
  155. /package/src/themes/{tidemark → cypress}/domains.css +0 -0
  156. /package/src/themes/{kbcv → cypress}/index.css +0 -0
  157. /package/src/themes/{tidemark → cypress}/tokens.css +0 -0
  158. /package/src/themes/{lanternhouse → damson}/index.css +0 -0
  159. /package/src/themes/{marenlys → fern}/index.css +0 -0
  160. /package/src/themes/{aldricpace → harbor}/base.css +0 -0
  161. /package/src/themes/{aldricpace → harbor}/components.css +0 -0
  162. /package/src/themes/{aldricpace → harbor}/domains.css +0 -0
  163. /package/src/themes/{quizbit → harbor}/index.css +0 -0
  164. /package/src/themes/{saltsignal → hearth}/index.css +0 -0
  165. /package/src/themes/{briarcove → iris}/base.css +0 -0
  166. /package/src/themes/{briarcove → iris}/components.css +0 -0
  167. /package/src/themes/{briarcove → iris}/domains.css +0 -0
  168. /package/src/themes/{tidemark → iris}/index.css +0 -0
  169. /package/src/themes/{briarcove → iris}/tokens.css +0 -0
  170. /package/src/themes/{undertow → juniper}/index.css +0 -0
  171. /package/src/themes/{duskline → lagoon}/base.css +0 -0
  172. /package/src/themes/{duskline → lagoon}/components.css +0 -0
  173. /package/src/themes/{duskline → lagoon}/domains.css +0 -0
  174. /package/src/themes/{saltsignal → ochre}/base.css +0 -0
  175. /package/src/themes/{saltsignal → ochre}/components.css +0 -0
  176. /package/src/themes/{saltsignal → ochre}/domains.css +0 -0
  177. /package/src/themes/{marenlys → orchid}/base.css +0 -0
  178. /package/src/themes/{marenlys → orchid}/components.css +0 -0
  179. /package/src/themes/{marenlys → orchid}/domains.css +0 -0
  180. /package/src/themes/{briarcovelib → sienna}/base.css +0 -0
  181. /package/src/themes/{briarcovelib → sienna}/components.css +0 -0
  182. /package/src/themes/{briarcovelib → sienna}/domains.css +0 -0
  183. /package/src/themes/{briarcovelib → sienna}/tokens.css +0 -0
  184. /package/src/themes/{lanternhouse → vesper}/base.css +0 -0
  185. /package/src/themes/{lanternhouse → vesper}/components.css +0 -0
  186. /package/src/themes/{lanternhouse → vesper}/domains.css +0 -0
  187. /package/src/themes/{andrewpassanisi → voltaic}/base.css +0 -0
  188. /package/src/themes/{andrewpassanisi → voltaic}/index.css +0 -0
  189. /package/src/themes/{andrewpassanisi → voltaic}/tokens.css +0 -0
@@ -0,0 +1,772 @@
1
+ /* Hex -- Shared Content Components (skin only)
2
+ * Colors, backgrounds, gradients, shadows, color-only transitions, font-family.
3
+ * Structural layout lives in Rig/src/styles/content.css.
4
+ *
5
+ * All six authority themes (Dewthread, Wainloft, Meeplehaus,
6
+ * Burrowtail, Beanwoven, Shelfglow) consume this file.
7
+ */
8
+
9
+ /* ───────── Article Header ───────── */
10
+
11
+ [data-rig-article-header] {
12
+ border-bottom-color: var(--color-border);
13
+ }
14
+
15
+ [data-rig-article-header-meta] {
16
+ color: var(--color-muted-foreground);
17
+ }
18
+
19
+ [data-rig-article-header-category] {
20
+ color: var(--color-primary);
21
+ background: color-mix(in srgb, var(--color-primary) 10%, transparent);
22
+ text-decoration: none;
23
+ transition: background-color 150ms ease;
24
+ }
25
+
26
+ [data-rig-article-header-category]:hover {
27
+ background: color-mix(in srgb, var(--color-primary) 18%, transparent);
28
+ }
29
+
30
+ [data-rig-article-header-reading-time] {
31
+ color: var(--color-muted-foreground);
32
+ }
33
+
34
+ [data-rig-article-header-title] {
35
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
36
+ color: var(--color-foreground);
37
+ }
38
+
39
+ [data-rig-article-header-description] {
40
+ color: var(--color-muted-foreground);
41
+ }
42
+
43
+ [data-rig-article-header-byline] {
44
+ color: var(--color-muted-foreground);
45
+ }
46
+
47
+ [data-rig-article-header-updated] {
48
+ color: var(--color-muted-foreground);
49
+ }
50
+
51
+ [data-rig-article-header-caption] {
52
+ color: var(--color-muted-foreground);
53
+ }
54
+
55
+ /* ───────── Article Grid / Card ───────── */
56
+
57
+ [data-rig-article-card-link] {
58
+ text-decoration: none;
59
+ color: inherit;
60
+ transition: background-color 150ms ease;
61
+ }
62
+
63
+ [data-rig-article-card-link]:hover {
64
+ background: color-mix(in srgb, var(--color-muted) 40%, transparent);
65
+ }
66
+
67
+ [data-rig-article-card-category] {
68
+ color: var(--color-primary);
69
+ }
70
+
71
+ [data-rig-article-card-title] {
72
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
73
+ color: var(--color-foreground);
74
+ }
75
+
76
+ [data-rig-article-card-description] {
77
+ color: var(--color-muted-foreground);
78
+ }
79
+
80
+ [data-rig-article-card-meta] {
81
+ color: var(--color-muted-foreground);
82
+ }
83
+
84
+ /* ───────── Card Visual ───────── */
85
+
86
+ [data-rig-card-visual] {
87
+ background: linear-gradient(
88
+ 135deg,
89
+ color-mix(in srgb, var(--card-accent, var(--color-primary)) 25%, var(--color-card)),
90
+ color-mix(in srgb, var(--card-accent, var(--color-primary)) 12%, var(--color-card))
91
+ );
92
+ border-bottom-color: color-mix(
93
+ in srgb,
94
+ var(--card-accent, var(--color-primary)) 30%,
95
+ transparent
96
+ );
97
+ }
98
+
99
+ [data-rig-card-visual] svg {
100
+ color: var(--card-accent, var(--color-primary));
101
+ opacity: 0.45;
102
+ }
103
+
104
+ /* ───────── Card Photo ───────── */
105
+
106
+ [data-rig-card-photo-overlay] {
107
+ background: linear-gradient(
108
+ 180deg,
109
+ color-mix(in srgb, var(--card-accent, var(--color-primary)) 20%, transparent) 0%,
110
+ color-mix(in srgb, var(--card-accent, var(--color-primary)) 50%, transparent) 100%
111
+ );
112
+ transition: background 0.3s ease;
113
+ }
114
+
115
+ [data-rig-card][data-interactive]:hover [data-rig-card-photo-overlay] {
116
+ background: linear-gradient(
117
+ 180deg,
118
+ color-mix(in srgb, var(--card-accent, var(--color-primary)) 30%, transparent) 0%,
119
+ color-mix(in srgb, var(--card-accent, var(--color-primary)) 60%, transparent) 100%
120
+ );
121
+ }
122
+
123
+ [data-rig-card-photo-overlay] svg {
124
+ color: #ffffff;
125
+ opacity: 0.9;
126
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
127
+ }
128
+
129
+ /* ───────── Category Grid / Card ───────── */
130
+
131
+ [data-rig-category-card-link] {
132
+ text-decoration: none;
133
+ color: inherit;
134
+ transition: background-color 150ms ease;
135
+ }
136
+
137
+ [data-rig-category-card-link]:hover {
138
+ background: color-mix(in srgb, var(--color-muted) 40%, transparent);
139
+ }
140
+
141
+ [data-rig-category-card-title] {
142
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
143
+ color: var(--color-foreground);
144
+ }
145
+
146
+ [data-rig-category-card-description] {
147
+ color: var(--color-muted-foreground);
148
+ }
149
+
150
+ [data-rig-category-header-title] {
151
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
152
+ color: var(--color-foreground);
153
+ }
154
+
155
+ [data-rig-category-header-description] {
156
+ color: var(--color-muted-foreground);
157
+ }
158
+
159
+ /* ───────── Product Card ───────── */
160
+
161
+ [data-rig-product-card-image] {
162
+ background: color-mix(in srgb, var(--color-surface, #f5f5f5) 60%, transparent);
163
+ }
164
+
165
+ [data-rig-product-card-name] {
166
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
167
+ color: var(--color-foreground);
168
+ }
169
+
170
+ [data-rig-product-card-brand] {
171
+ color: var(--color-muted-foreground);
172
+ }
173
+
174
+ [data-rig-product-card-rating] {
175
+ color: var(--color-primary-foreground);
176
+ background: var(--color-primary);
177
+ }
178
+
179
+ [data-rig-product-card-oneliner] {
180
+ color: var(--color-foreground);
181
+ }
182
+
183
+ [data-rig-product-card-details] {
184
+ background: var(--color-muted);
185
+ }
186
+
187
+ [data-rig-product-card-pros],
188
+ [data-rig-product-card-cons] {
189
+ color: var(--color-foreground);
190
+ }
191
+
192
+ [data-rig-product-card-pros]::before {
193
+ color: var(--color-success, #22c55e);
194
+ }
195
+
196
+ [data-rig-product-card-cons]::before {
197
+ color: var(--color-destructive, #e54d2e);
198
+ }
199
+
200
+ [data-rig-product-card-footer] {
201
+ border-top-color: var(--color-border);
202
+ }
203
+
204
+ [data-rig-product-card-link] {
205
+ color: #ffffff;
206
+ background: var(--color-primary);
207
+ text-decoration: none;
208
+ transition: background-color 0.2s ease;
209
+ }
210
+
211
+ [data-rig-product-card-link]:hover {
212
+ background: color-mix(in srgb, var(--color-primary) 85%, #000);
213
+ color: #ffffff;
214
+ text-decoration: none;
215
+ }
216
+
217
+ /* ───────── Table of Contents ───────── */
218
+
219
+ [data-rig-toc-heading] {
220
+ color: var(--color-muted-foreground);
221
+ }
222
+
223
+ [data-rig-toc-link] {
224
+ color: var(--color-muted-foreground);
225
+ text-decoration: none;
226
+ border-left-color: transparent;
227
+ transition:
228
+ color 150ms ease,
229
+ border-color 150ms ease;
230
+ }
231
+
232
+ [data-rig-toc-link]:hover {
233
+ color: var(--color-foreground);
234
+ }
235
+
236
+ [data-rig-toc-link][data-active] {
237
+ color: var(--color-primary);
238
+ border-left-color: var(--color-primary);
239
+ }
240
+
241
+ /* ───────── Quiz Embed ───────── */
242
+
243
+ [data-rig-quiz-embed] {
244
+ background: var(--color-card);
245
+ border-color: var(--color-border);
246
+ }
247
+
248
+ [data-rig-quiz-embed-heading] {
249
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
250
+ color: var(--color-foreground);
251
+ }
252
+
253
+ [data-rig-quiz-embed-cta] {
254
+ color: var(--color-muted-foreground);
255
+ }
256
+
257
+ /* ───────── Related Articles ───────── */
258
+
259
+ [data-rig-related-link] {
260
+ text-decoration: none;
261
+ color: inherit;
262
+ transition: background-color 150ms ease;
263
+ }
264
+
265
+ [data-rig-related-link]:hover {
266
+ background: color-mix(in srgb, var(--color-muted) 30%, transparent);
267
+ }
268
+
269
+ [data-rig-related-category] {
270
+ color: var(--color-primary);
271
+ }
272
+
273
+ [data-rig-related-title] {
274
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
275
+ color: var(--color-foreground);
276
+ }
277
+
278
+ [data-rig-related-description] {
279
+ color: var(--color-muted-foreground);
280
+ }
281
+
282
+ /* ───────── Affiliate Disclosure ───────── */
283
+
284
+ [data-rig-affiliate-disclosure] {
285
+ color: var(--color-muted-foreground);
286
+ }
287
+
288
+ /* ───────── Newsletter Overrides ───────── */
289
+
290
+ [data-rig-newsletter-heading] {
291
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
292
+ color: var(--color-foreground);
293
+ }
294
+
295
+ [data-rig-newsletter-description] {
296
+ color: var(--color-muted-foreground);
297
+ }
298
+
299
+ /* ───────── Ad Slot ───────── */
300
+
301
+ [data-rig-ad-slot] {
302
+ background: var(--color-muted);
303
+ border-color: var(--color-border);
304
+ color: var(--color-muted-foreground);
305
+ }
306
+
307
+ /* ───────── Error Page ───────── */
308
+
309
+ [data-rig-error-code] {
310
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
311
+ color: var(--color-primary);
312
+ opacity: 0.6;
313
+ }
314
+
315
+ [data-rig-error-title] {
316
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
317
+ color: var(--color-foreground);
318
+ }
319
+
320
+ [data-rig-error-message] {
321
+ color: var(--color-muted-foreground);
322
+ }
323
+
324
+ /* ───────── Prose — article-layout extensions ───────── */
325
+
326
+ [data-rig-article-layout-content] [data-rig-prose] h2 {
327
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
328
+ }
329
+
330
+ [data-rig-article-layout-content] [data-rig-prose] h3 {
331
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
332
+ }
333
+
334
+ [data-rig-article-layout-content] [data-rig-prose] blockquote {
335
+ border-left-color: var(--color-primary);
336
+ background: color-mix(in srgb, var(--color-muted) 40%, transparent);
337
+ }
338
+
339
+ /* ───────── Empty State ───────── */
340
+
341
+ [data-rig-empty-state] {
342
+ color: var(--color-muted-foreground);
343
+ }
344
+
345
+ /* ───────── Static Page ───────── */
346
+
347
+ [data-rig-static-page-title] {
348
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
349
+ color: var(--color-primary);
350
+ border-bottom-color: var(--color-border);
351
+ }
352
+
353
+ /* ───────── Breadcrumbs ───────── */
354
+
355
+ [data-rig-breadcrumbs-link] {
356
+ color: var(--color-muted-foreground);
357
+ text-decoration: none;
358
+ transition: color 150ms ease;
359
+ }
360
+
361
+ [data-rig-breadcrumbs-link]:hover {
362
+ color: var(--color-primary);
363
+ }
364
+
365
+ [data-rig-breadcrumbs-current] {
366
+ color: var(--color-foreground);
367
+ }
368
+
369
+ [data-rig-breadcrumbs-separator] {
370
+ color: var(--color-muted-foreground);
371
+ opacity: 0.5;
372
+ }
373
+
374
+ /* ───────── Reading Progress ───────── */
375
+
376
+ [data-rig-reading-progress] {
377
+ background: transparent;
378
+ }
379
+
380
+ [data-rig-reading-progress-bar] {
381
+ background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
382
+ transition: width 100ms ease-out;
383
+ }
384
+
385
+ /* ───────── Category Icon / Card ───────── */
386
+
387
+ [data-rig-category-icon] {
388
+ color: var(--color-primary);
389
+ }
390
+
391
+ [data-rig-category-card-icon] {
392
+ background: color-mix(in srgb, var(--color-primary) 10%, transparent);
393
+ color: var(--color-primary);
394
+ }
395
+
396
+ /* ───────── Featured Card ───────── */
397
+
398
+ [data-rig-featured-card-link] {
399
+ text-decoration: none;
400
+ color: inherit;
401
+ transition: background-color 150ms ease;
402
+ }
403
+
404
+ [data-rig-featured-card-link]:hover {
405
+ background: color-mix(in srgb, var(--color-muted) 40%, transparent);
406
+ }
407
+
408
+ [data-rig-featured-card-category] {
409
+ color: var(--color-primary);
410
+ }
411
+
412
+ [data-rig-featured-card-title] {
413
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
414
+ color: var(--color-foreground);
415
+ }
416
+
417
+ [data-rig-featured-card-description] {
418
+ color: var(--color-muted-foreground);
419
+ }
420
+
421
+ [data-rig-featured-card-meta] {
422
+ color: var(--color-muted-foreground);
423
+ }
424
+
425
+ /* ───────── Hero — Light-theme decoration ───────── */
426
+
427
+ [data-rig-hero-decoration] {
428
+ opacity: 0.5;
429
+ }
430
+
431
+ [data-rig-hero-decoration] svg {
432
+ color: var(--color-border);
433
+ }
434
+
435
+ /* ───────── Prose — Standalone ───────── */
436
+
437
+ [data-rig-static-page] [data-rig-prose] h2 {
438
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
439
+ color: var(--color-primary);
440
+ }
441
+
442
+ [data-rig-static-page] [data-rig-prose] h3 {
443
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
444
+ }
445
+
446
+ [data-rig-static-page] [data-rig-prose] a {
447
+ color: var(--color-primary);
448
+ text-decoration: underline;
449
+ transition: color 150ms ease;
450
+ }
451
+
452
+ [data-rig-static-page] [data-rig-prose] a:hover {
453
+ color: var(--color-accent);
454
+ }
455
+
456
+ /* ───────── Prose — Base link ───────── */
457
+
458
+ [data-rig-prose] a {
459
+ color: var(--color-primary);
460
+ text-decoration: underline;
461
+ text-decoration-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
462
+ transition: text-decoration-color 150ms ease;
463
+ }
464
+
465
+ [data-rig-prose] a:hover {
466
+ text-decoration-color: var(--color-primary);
467
+ }
468
+
469
+ /* ───────── Affiliate Notice ───────── */
470
+
471
+ [data-rig-affiliate-notice] {
472
+ color: var(--color-muted-foreground);
473
+ background: color-mix(in srgb, var(--color-muted) 50%, transparent);
474
+ }
475
+
476
+ [data-rig-affiliate-notice] svg {
477
+ color: var(--color-muted-foreground);
478
+ opacity: 0.7;
479
+ }
480
+
481
+ [data-rig-affiliate-notice] a {
482
+ color: var(--color-primary);
483
+ text-decoration: underline;
484
+ }
485
+
486
+ /* ───────── Section Ornament ───────── */
487
+
488
+ [data-rig-section-ornament] {
489
+ color: var(--color-border);
490
+ }
491
+
492
+ [data-rig-section-ornament] svg {
493
+ opacity: 0.6;
494
+ }
495
+
496
+ /* ───────── Cookie Consent ───────── */
497
+
498
+ [data-rig-cookie-consent] {
499
+ background: var(--color-foreground);
500
+ color: var(--color-background);
501
+ box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15);
502
+ }
503
+
504
+ [data-rig-cookie-consent-text] a {
505
+ color: var(--color-accent);
506
+ text-decoration: underline;
507
+ }
508
+
509
+ /* ───────── Quiz Gated ───────── */
510
+
511
+ [data-rig-quiz-gated-prompt] {
512
+ background: linear-gradient(
513
+ 135deg,
514
+ color-mix(in srgb, var(--color-accent) 8%, var(--color-card)),
515
+ color-mix(in srgb, var(--color-primary) 5%, var(--color-card))
516
+ );
517
+ border-color: color-mix(in srgb, var(--color-accent) 20%, var(--color-border));
518
+ }
519
+
520
+ [data-rig-quiz-gated-prompt] h3 {
521
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
522
+ color: var(--color-foreground);
523
+ }
524
+
525
+ [data-rig-quiz-gated-prompt] p {
526
+ color: var(--color-muted-foreground);
527
+ }
528
+
529
+ [data-rig-quiz-gated-result] {
530
+ background: var(--color-card);
531
+ border-color: var(--color-border);
532
+ }
533
+
534
+ [data-rig-quiz-gated-badge] {
535
+ color: var(--color-accent);
536
+ background: color-mix(in srgb, var(--color-accent) 12%, transparent);
537
+ }
538
+
539
+ /* ───────── Quiz Promo ───────── */
540
+
541
+ [data-rig-quiz-promo] {
542
+ background: var(--color-card);
543
+ border-color: var(--color-border);
544
+ text-decoration: none;
545
+ color: inherit;
546
+ }
547
+
548
+ [data-rig-quiz-promo]:hover {
549
+ border-color: var(--color-accent);
550
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
551
+ }
552
+
553
+ [data-rig-quiz-promo-icon] {
554
+ background: color-mix(in srgb, var(--color-accent) 12%, transparent);
555
+ color: var(--color-accent);
556
+ }
557
+
558
+ [data-rig-quiz-promo-badge] {
559
+ color: var(--color-accent);
560
+ }
561
+
562
+ [data-rig-quiz-promo-title] {
563
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
564
+ color: var(--color-foreground);
565
+ }
566
+
567
+ [data-rig-quiz-promo-description] {
568
+ color: var(--color-muted-foreground);
569
+ }
570
+
571
+ [data-rig-quiz-promo-arrow] {
572
+ color: var(--color-muted-foreground);
573
+ transition: color 0.2s ease;
574
+ }
575
+
576
+ [data-rig-quiz-promo]:hover [data-rig-quiz-promo-arrow] {
577
+ color: var(--color-accent);
578
+ }
579
+
580
+ /* ───────── Network Footer ───────── */
581
+
582
+ [data-rig-network-footer] {
583
+ border-top-color: var(--color-border);
584
+ background: var(--color-background);
585
+ }
586
+
587
+ [data-rig-network-footer-label] {
588
+ color: var(--color-muted-foreground);
589
+ }
590
+
591
+ [data-rig-network-footer-link] {
592
+ border-color: var(--color-border);
593
+ text-decoration: none;
594
+ transition:
595
+ border-color 0.15s ease,
596
+ background-color 0.15s ease;
597
+ }
598
+
599
+ [data-rig-network-footer-link]:hover {
600
+ border-color: var(--color-primary);
601
+ background: color-mix(in srgb, var(--color-primary) 5%, transparent);
602
+ }
603
+
604
+ [data-rig-network-footer-name] {
605
+ color: var(--color-foreground);
606
+ }
607
+
608
+ [data-rig-network-footer-tagline] {
609
+ color: var(--color-muted-foreground);
610
+ }
611
+
612
+ /* ───────── Network Articles ───────── */
613
+
614
+ [data-rig-network-articles] {
615
+ border-top-color: var(--color-border);
616
+ }
617
+
618
+ [data-rig-network-articles-heading] {
619
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
620
+ color: var(--color-foreground);
621
+ }
622
+
623
+ [data-rig-network-articles-link] {
624
+ border-color: var(--color-border);
625
+ text-decoration: none;
626
+ transition:
627
+ border-color 0.15s ease,
628
+ background-color 0.15s ease;
629
+ }
630
+
631
+ [data-rig-network-articles-link]:hover {
632
+ border-color: var(--color-primary);
633
+ background: color-mix(in srgb, var(--color-primary) 4%, transparent);
634
+ }
635
+
636
+ [data-rig-network-articles-site] {
637
+ color: var(--color-accent);
638
+ }
639
+
640
+ [data-rig-network-articles-title] {
641
+ color: var(--color-foreground);
642
+ }
643
+
644
+ /* ───────── Network Links ───────── */
645
+
646
+ [data-rig-network-links] {
647
+ border-top-color: var(--color-border);
648
+ }
649
+
650
+ [data-rig-network-links-heading] {
651
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
652
+ color: var(--color-foreground-muted, var(--color-foreground));
653
+ }
654
+
655
+ [data-rig-network-links-card] {
656
+ border-color: var(--color-border);
657
+ text-decoration: none;
658
+ transition:
659
+ border-color 0.15s ease,
660
+ background-color 0.15s ease;
661
+ }
662
+
663
+ [data-rig-network-links-card]:hover {
664
+ border-color: var(--color-primary);
665
+ background: color-mix(in srgb, var(--color-primary) 4%, transparent);
666
+ }
667
+
668
+ [data-rig-network-links-site] {
669
+ color: var(--color-accent);
670
+ }
671
+
672
+ [data-rig-network-links-title] {
673
+ color: var(--color-foreground);
674
+ }
675
+
676
+ /* ───────── Comparison Page ───────── */
677
+
678
+ [data-rig-compare-card] {
679
+ border-color: var(--color-border);
680
+ background: var(--color-card);
681
+ }
682
+
683
+ [data-rig-compare-card-name] {
684
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
685
+ color: var(--color-foreground);
686
+ }
687
+
688
+ [data-rig-compare-card-brand] {
689
+ color: var(--color-muted-foreground);
690
+ }
691
+
692
+ [data-rig-compare-card-price] {
693
+ color: var(--color-primary);
694
+ }
695
+
696
+ [data-rig-compare-card-oneliner] {
697
+ color: var(--color-foreground);
698
+ }
699
+
700
+ [data-rig-compare-verdict] {
701
+ background: color-mix(in srgb, var(--color-accent) 8%, transparent);
702
+ border-color: color-mix(in srgb, var(--color-accent) 20%, transparent);
703
+ }
704
+
705
+ [data-rig-compare-verdict] h2 {
706
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
707
+ color: var(--color-accent);
708
+ }
709
+
710
+ [data-rig-compare-verdict] p {
711
+ color: var(--color-foreground);
712
+ }
713
+
714
+ /* ───────── Persona Landing ───────── */
715
+
716
+ [data-rig-persona-header] {
717
+ background: linear-gradient(
718
+ 170deg,
719
+ color-mix(in srgb, var(--color-accent) 8%, var(--color-background)),
720
+ color-mix(in srgb, var(--color-primary) 5%, var(--color-background))
721
+ );
722
+ border-bottom-color: var(--color-border);
723
+ }
724
+
725
+ [data-rig-persona-badge] {
726
+ color: var(--color-accent);
727
+ background: color-mix(in srgb, var(--color-accent) 12%, transparent);
728
+ }
729
+
730
+ [data-rig-persona-title] {
731
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
732
+ color: var(--color-foreground);
733
+ }
734
+
735
+ [data-rig-persona-description] {
736
+ font-family: var(--font-serif);
737
+ color: var(--color-muted-foreground);
738
+ }
739
+
740
+ [data-rig-persona-products-heading] {
741
+ color: var(--color-muted-foreground);
742
+ }
743
+
744
+ /* ───────── Related On-Site ───────── */
745
+
746
+ [data-rig-related-onsite] {
747
+ border-top-color: var(--color-border);
748
+ }
749
+
750
+ [data-rig-related-onsite-heading] {
751
+ font-family: var(--font-heading, var(--font-serif, var(--font-sans)));
752
+ color: var(--color-foreground);
753
+ }
754
+
755
+ /* ───────── Personalized Hero ───────── */
756
+
757
+ [data-rig-personalized-hero] {
758
+ background: color-mix(in srgb, var(--color-accent) 8%, var(--color-background));
759
+ border-bottom-color: color-mix(in srgb, var(--color-accent) 15%, var(--color-border));
760
+ }
761
+
762
+ [data-rig-personalized-hero-text] {
763
+ color: var(--color-foreground);
764
+ }
765
+
766
+ [data-rig-personalized-hero-text] strong {
767
+ color: var(--color-accent);
768
+ }
769
+
770
+ [data-rig-personalized-hero-link] {
771
+ color: var(--color-accent);
772
+ }