@amulet-laboratories/hex 0.3.0 → 0.5.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.
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 +2 -0
  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,6 @@
1
+ @import 'tailwindcss';
2
+ @import '../../shared/tokens.css';
3
+ @import './tokens.css';
4
+ @import './base.css';
5
+ @import './components.css';
6
+ @import './domains.css';
@@ -0,0 +1,208 @@
1
+ /* Hex — Beanwoven Design Tokens
2
+ * Deep brown palette for coffee and tea content sites.
3
+ * Light mode theme — deep brown primary, copper accent, warm cream neutrals.
4
+ *
5
+ * Full palette (10 swatch colors):
6
+ * #faf6ef warm cream — background
7
+ * #ffffff white — card, popover
8
+ * #f0ebe2 warm linen — secondary
9
+ * #e4ddd0 light taupe — muted
10
+ * #d9cfc2 warm border — border, input
11
+ * #c07840 copper — accent
12
+ * #7a5636 deep brown — primary
13
+ * #654528 darker brown — hover
14
+ * #6b5d4f muted foreground — muted-foreground
15
+ * #1e1610 near-black brown — foreground
16
+ *
17
+ * @theme feeds Tailwind v4 utility generation (bg-background, text-foreground, etc.)
18
+ * :root provides standalone CSS custom property access for non-Tailwind consumers.
19
+ */
20
+
21
+ @theme {
22
+ /* Surface colors */
23
+ --color-background: #faf6ef;
24
+ --color-foreground: #1e1610;
25
+ --color-card: #ffffff;
26
+ --color-card-foreground: #1e1610;
27
+ --color-popover: #ffffff;
28
+ --color-popover-foreground: #1e1610;
29
+
30
+ /* Brand */
31
+ --color-primary: #7a5636;
32
+ --color-primary-foreground: #ffffff;
33
+
34
+ /* Soft accents */
35
+ --color-secondary: #f0ebe2;
36
+ --color-secondary-foreground: #1e1610;
37
+ --color-muted: #e4ddd0;
38
+ --color-muted-foreground: #6b5d4f;
39
+ --color-accent: #c07840;
40
+ --color-accent-foreground: #ffffff;
41
+
42
+ /* Semantic status */
43
+ --color-destructive: #dc2626;
44
+ --color-destructive-foreground: #ffffff;
45
+ --color-success: #16a34a;
46
+ --color-warning: #d97706;
47
+ --color-info: #2563eb;
48
+
49
+ /* Borders and focus */
50
+ --color-border: #d9cfc2;
51
+ --color-input: #d9cfc2;
52
+ --color-ring: #7a5636;
53
+
54
+ /* Typography */
55
+ --font-sans: 'Work Sans', ui-sans-serif, system-ui, sans-serif;
56
+ --font-serif: 'Spectral', ui-serif, Georgia, serif;
57
+ --font-heading: 'Cormorant Garamond', ui-serif, Georgia, serif;
58
+ --font-mono: 'JetBrains Mono', ui-monospace, monospace;
59
+
60
+ /* Typography — content-optimized type scale */
61
+ --font-size-2xs: 0.75rem;
62
+ --font-size-2xs--line-height: 1.5;
63
+ --font-size-xs: 0.8125rem;
64
+ --font-size-xs--line-height: 1.5;
65
+ --font-size-sm: 0.875rem;
66
+ --font-size-sm--line-height: 1.5;
67
+ --font-size-base: 1rem;
68
+ --font-size-base--line-height: 1.7;
69
+ --font-size-lg: 1.125rem;
70
+ --font-size-lg--line-height: 1.5;
71
+ --font-size-xl: 1.25rem;
72
+ --font-size-xl--line-height: 1.4;
73
+
74
+ /* Display font family */
75
+ --font-display: var(--font-serif);
76
+ --font-heading: 'Cormorant Garamond', ui-serif, Georgia, serif;
77
+
78
+ /* Radius */
79
+ --radius: 6px;
80
+ }
81
+
82
+ :root {
83
+ --background: #faf6ef;
84
+ --foreground: #1e1610;
85
+ --card: #ffffff;
86
+ --card-foreground: #1e1610;
87
+ --popover: #ffffff;
88
+ --popover-foreground: #1e1610;
89
+ --primary: #7a5636;
90
+ --primary-foreground: #ffffff;
91
+ --secondary: #f0ebe2;
92
+ --secondary-foreground: #1e1610;
93
+ --muted: #e4ddd0;
94
+ --muted-foreground: #6b5d4f;
95
+ --accent: #c07840;
96
+ --accent-foreground: #ffffff;
97
+ --destructive: #dc2626;
98
+ --destructive-foreground: #ffffff;
99
+ --success: #16a34a;
100
+ --warning: #d97706;
101
+ --info: #2563eb;
102
+ --border: #d9cfc2;
103
+ --input: #d9cfc2;
104
+ --ring: #7a5636;
105
+
106
+ /* Color token bridge -- component CSS uses var(--color-*) */
107
+ --color-background: #faf6ef;
108
+ --color-foreground: #1e1610;
109
+ --color-card: #ffffff;
110
+ --color-card-foreground: #1e1610;
111
+ --color-popover: #ffffff;
112
+ --color-popover-foreground: #1e1610;
113
+ --color-primary: #7a5636;
114
+ --color-primary-foreground: #ffffff;
115
+ --color-secondary: #f0ebe2;
116
+ --color-secondary-foreground: #1e1610;
117
+ --color-muted: #e4ddd0;
118
+ --color-muted-foreground: #6b5d4f;
119
+ --color-accent: #c07840;
120
+ --color-accent-foreground: #ffffff;
121
+ --color-destructive: #dc2626;
122
+ --color-destructive-foreground: #ffffff;
123
+ --color-success: #16a34a;
124
+ --color-warning: #d97706;
125
+ --color-info: #2563eb;
126
+ --color-border: #d9cfc2;
127
+ --color-input: #d9cfc2;
128
+ --color-ring: #7a5636;
129
+ --font-sans: 'Work Sans', ui-sans-serif, system-ui, sans-serif;
130
+ --font-serif: 'Spectral', ui-serif, Georgia, serif;
131
+ --font-heading: 'Cormorant Garamond', ui-serif, Georgia, serif;
132
+ --font-mono: 'JetBrains Mono', ui-monospace, monospace;
133
+ --font-heading: var(--font-serif);
134
+ --font-heading: 'Cormorant Garamond', ui-serif, Georgia, serif;
135
+ --radius: 6px;
136
+
137
+ /* Typography — content-optimized type scale */
138
+ --font-size-2xs: 0.75rem;
139
+ --font-size-2xs--line-height: 1.5;
140
+ --font-size-xs: 0.8125rem;
141
+ --font-size-xs--line-height: 1.5;
142
+ --font-size-sm: 0.875rem;
143
+ --font-size-sm--line-height: 1.5;
144
+ --font-size-base: 1rem;
145
+ --font-size-base--line-height: 1.7;
146
+ --font-size-lg: 1.125rem;
147
+ --font-size-lg--line-height: 1.5;
148
+ --font-size-xl: 1.25rem;
149
+ --font-size-xl--line-height: 1.4;
150
+
151
+ /* Display font family */
152
+ --font-display: var(--font-serif);
153
+ --font-heading: 'Cormorant Garamond', ui-serif, Georgia, serif;
154
+
155
+ --radius: 6px;
156
+
157
+ /* Typography — content-optimized type scale (shorthand aliases) */
158
+ --text-2xs: 0.75rem;
159
+ --text-xs: 0.8125rem;
160
+ --text-sm: 0.875rem;
161
+ --text-base: 1rem;
162
+ --text-lg: 1.125rem;
163
+ --text-xl: 1.25rem;
164
+ --leading-tight: 1.25;
165
+ --leading-snug: 1.375;
166
+ --leading-normal: 1.5;
167
+ --leading-relaxed: 1.7;
168
+ --weight-normal: 400;
169
+ --weight-medium: 500;
170
+ --weight-semibold: 600;
171
+ --weight-bold: 700;
172
+ --tracking-tight: -0.01em;
173
+ --tracking-normal: 0;
174
+ --tracking-wide: 0.05em;
175
+ --tracking-wider: 0.08em;
176
+ --font-display: var(--font-serif);
177
+ --font-heading: 'Cormorant Garamond', ui-serif, Georgia, serif;
178
+ --font-sans: 'Work Sans', ui-sans-serif, system-ui, sans-serif;
179
+ --font-serif: 'Spectral', ui-serif, Georgia, serif;
180
+ --font-heading: 'Cormorant Garamond', ui-serif, Georgia, serif;
181
+ --font-mono: 'JetBrains Mono', ui-monospace, monospace;
182
+
183
+ /* ── Named palette aliases ──────────────────────────────────────────────
184
+ * All 10 swatch colors available for direct template use.
185
+ */
186
+ --beanwoven-warm-cream: #faf6ef;
187
+ --beanwoven-white: #ffffff;
188
+ --beanwoven-linen: #f0ebe2;
189
+ --beanwoven-light-taupe: #e4ddd0;
190
+ --beanwoven-warm-border: #d9cfc2;
191
+ --beanwoven-copper: #c07840;
192
+ --beanwoven-deep-brown: #7a5636;
193
+ --beanwoven-dark-brown: #654528;
194
+ --beanwoven-muted-fg: #6b5d4f;
195
+ --beanwoven-near-black: #1e1610;
196
+
197
+ /* ── Rig component token bridge ─────────────────────────────────────────
198
+ * Overrides shared/tokens.css defaults where the Beanwoven palette needs
199
+ * values that can't be derived directly from --color-* semantics.
200
+ */
201
+
202
+ /* Button — darker brown for hover feedback */
203
+ --rig-button-hover-bg: #654528;
204
+
205
+ /* Scrollbar — near-black brown tint */
206
+ --rig-scrollbar-thumb: rgba(30, 22, 16, 0.12);
207
+ --rig-scrollbar-thumb-hover: rgba(30, 22, 16, 0.25);
208
+ }
@@ -0,0 +1,6 @@
1
+ @import 'tailwindcss';
2
+ @import '../../shared/tokens.css';
3
+ @import './tokens.css';
4
+ @import './base.css';
5
+ @import './components.css';
6
+ @import './domains.css';
@@ -0,0 +1,207 @@
1
+ /* Hex — Shelfglow Base Styles
2
+ * Books and reading — Playfair Display headings, Source Sans 3 UI,
3
+ * Lora body text. Warm, editorial, literary.
4
+ */
5
+
6
+ @reference 'tailwindcss';
7
+ @reference './tokens.css';
8
+
9
+ /* Base styles */
10
+ html {
11
+ /* Keep 16px on <html> so Tailwind rem utilities stay correctly sized */
12
+ font-size: 16px;
13
+ }
14
+
15
+ html,
16
+ body {
17
+ @apply bg-background text-foreground;
18
+
19
+ color-scheme: light;
20
+ -webkit-font-smoothing: antialiased;
21
+ -moz-osx-font-smoothing: grayscale;
22
+ }
23
+
24
+ /* Subtle paper texture overlay on the body */
25
+ body::before {
26
+ content: '';
27
+ position: fixed;
28
+ inset: 0;
29
+ background-image: url('/images/texture-paper.jpg');
30
+ background-size: 600px;
31
+ background-repeat: repeat;
32
+ opacity: 0.03;
33
+ pointer-events: none;
34
+ z-index: 9999;
35
+ mix-blend-mode: multiply;
36
+ }
37
+
38
+ body {
39
+ /* Literary reading: 1rem body, weight 400, relaxed leading, sans body */
40
+ font-size: 1rem;
41
+ font-weight: 400;
42
+ line-height: 1.7;
43
+ font-family: var(--font-sans);
44
+ }
45
+
46
+ /* Heading defaults — serif display headings
47
+ * Scale: h1 2.5rem, h2 2rem, h3 1.5rem, h4 1.25rem
48
+ * All rem-based, matching content.css article/category heading sizes.
49
+ */
50
+ h1 {
51
+ font-size: 2.5rem;
52
+ font-weight: 700;
53
+ font-family: var(--font-heading);
54
+ color: var(--color-primary);
55
+ margin: 0;
56
+ padding: 0;
57
+ line-height: 1.15;
58
+ }
59
+
60
+ h2 {
61
+ font-size: 2rem;
62
+ font-weight: 600;
63
+ font-family: var(--font-heading);
64
+ color: var(--color-primary);
65
+ margin: 0;
66
+ padding: 0;
67
+ line-height: 1.2;
68
+ }
69
+
70
+ h3 {
71
+ font-size: 1.5rem;
72
+ font-weight: 600;
73
+ font-family: var(--font-heading);
74
+ color: var(--color-foreground);
75
+ margin: 0;
76
+ padding: 0;
77
+ line-height: 1.3;
78
+ }
79
+
80
+ h4 {
81
+ font-size: 1.25rem;
82
+ font-weight: 600;
83
+ font-family: var(--font-heading);
84
+ color: var(--color-foreground);
85
+ margin: 0;
86
+ padding: 0;
87
+ line-height: 1.35;
88
+ }
89
+
90
+ /* Scrollbar */
91
+ ::-webkit-scrollbar {
92
+ width: 8px;
93
+ height: 8px;
94
+ }
95
+
96
+ ::-webkit-scrollbar-track {
97
+ background: transparent;
98
+ }
99
+
100
+ ::-webkit-scrollbar-thumb {
101
+ background: color-mix(in srgb, var(--color-foreground) 12%, transparent);
102
+ border-radius: 4px;
103
+ }
104
+
105
+ ::-webkit-scrollbar-thumb:hover {
106
+ background: color-mix(in srgb, var(--color-foreground) 25%, transparent);
107
+ }
108
+
109
+ /* Focus styles */
110
+ *:focus-visible {
111
+ outline: 2px solid var(--color-primary);
112
+ outline-offset: 2px;
113
+ }
114
+
115
+ /* Selection — gold accent highlight */
116
+ ::selection {
117
+ background: color-mix(in srgb, var(--color-accent) 30%, transparent);
118
+ color: var(--color-foreground);
119
+ }
120
+
121
+ /* Smooth scrolling */
122
+ html {
123
+ scroll-behavior: smooth;
124
+ }
125
+
126
+ /* Reduced motion — disable animations and transitions */
127
+ @media (prefers-reduced-motion: reduce) {
128
+ *,
129
+ *::before,
130
+ *::after {
131
+ animation-duration: 0.01ms !important;
132
+ animation-iteration-count: 1 !important;
133
+ transition-duration: 0.01ms !important;
134
+ scroll-behavior: auto !important;
135
+ }
136
+ }
137
+
138
+ /* Firefox scrollbar */
139
+ * {
140
+ scrollbar-width: thin;
141
+ scrollbar-color: color-mix(in srgb, var(--color-foreground) 12%, transparent) transparent;
142
+ }
143
+
144
+ /* ───────── Scroll-draw SVG utility ───────── */
145
+
146
+ @keyframes scroll-draw-in {
147
+ from {
148
+ stroke-dashoffset: 1;
149
+ }
150
+
151
+ to {
152
+ stroke-dashoffset: 0;
153
+ }
154
+ }
155
+
156
+ .scroll-draw path,
157
+ .scroll-draw line,
158
+ .scroll-draw polyline,
159
+ .scroll-draw polygon,
160
+ .scroll-draw circle,
161
+ .scroll-draw ellipse {
162
+ stroke-dasharray: 1;
163
+ stroke-dashoffset: 1;
164
+ animation: scroll-draw-in linear both;
165
+ animation-timeline: view();
166
+ animation-range: entry 20% cover 50%;
167
+ }
168
+
169
+ @media (prefers-reduced-motion: reduce) {
170
+ .scroll-draw path,
171
+ .scroll-draw line,
172
+ .scroll-draw polyline,
173
+ .scroll-draw polygon,
174
+ .scroll-draw circle,
175
+ .scroll-draw ellipse {
176
+ animation: none;
177
+ stroke-dashoffset: 0;
178
+ }
179
+ }
180
+
181
+ /* ───────── Scroll-reveal utility ───────── */
182
+
183
+ @keyframes scroll-fade-in {
184
+ from {
185
+ opacity: 0;
186
+ transform: translateY(20px);
187
+ }
188
+
189
+ to {
190
+ opacity: 1;
191
+ transform: translateY(0);
192
+ }
193
+ }
194
+
195
+ .scroll-reveal {
196
+ animation: scroll-fade-in linear both;
197
+ animation-timeline: view();
198
+ animation-range: entry 10% cover 30%;
199
+ }
200
+
201
+ @media (prefers-reduced-motion: reduce) {
202
+ .scroll-reveal {
203
+ animation: none;
204
+ opacity: 1;
205
+ transform: none;
206
+ }
207
+ }
@@ -0,0 +1,23 @@
1
+ /* Hex — Shelfglow Component Barrel */
2
+
3
+ @import '../../shared/rig-defaults.css';
4
+ @import '../../shared/components/core.css';
5
+ @import '../../shared/components/layout.css';
6
+ @import '../../shared/components/nav.css';
7
+ @import '../../shared/components/editor.css';
8
+ @import '../../shared/components/lists.css';
9
+ @import '../../shared/components/menus.css';
10
+ @import '../../shared/components/extras.css';
11
+ @import '../../shared/components/shell.css';
12
+ @import '../../shared/components/data.css';
13
+ @import '../../shared/components/spatial.css';
14
+ @import '../../shared/components/temporal.css';
15
+ @import '../../shared/components/web.css';
16
+ @import '../../shared/components/content.css';
17
+ @import '../../shared/a11y.css';
18
+ @import '../../shared/components/prose.css';
19
+ @import '../../shared/utilities.css';
20
+ @import '../../shared/scroll-animations.css';
21
+
22
+ @reference 'tailwindcss';
23
+ @reference './tokens.css';