@nimtech/nimpress 2.5.0 → 2.6.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimtech/nimpress",
3
- "version": "2.5.0",
3
+ "version": "2.6.1",
4
4
  "description": "Svelte 5 docs framework that supports it all.",
5
5
  "author": "nimling",
6
6
  "license": "Apache-2.0",
@@ -46,6 +46,7 @@
46
46
  "./harness/svelte": "./src/harness/svelte/index.ts",
47
47
  "./mock": "./src/mock/index.ts",
48
48
  "./app.css": "./src/styles/app.css",
49
+ "./themes/*": "./src/styles/themes/*",
49
50
  "./style.css": "./dist/style.css"
50
51
  },
51
52
  "files": [
@@ -0,0 +1,379 @@
1
+ @layer nimpress-theme {
2
+ html[data-np-theme="glass"] {
3
+ --np-bg: color-mix(in oklab, var(--np-brand) 7%, #f7f5f3);
4
+ --np-bg-surface: color-mix(in oklab, var(--np-brand) 5%, #efebe8);
5
+ --np-bg-sidebar: transparent;
6
+ --np-bg-card: color-mix(in oklab, var(--np-brand) 3%, #fdfcfb);
7
+ --np-bg-code-inline: color-mix(in oklab, var(--np-brand) 9%, rgb(255 255 255 / 0.7));
8
+ --np-bg-code-block: color-mix(in oklab, var(--np-brand) 7%, #15110f);
9
+
10
+ --np-text-primary: #1a1614;
11
+ --np-text-secondary: #3d3531;
12
+ --np-text-muted: #5a504b;
13
+ --np-text-faint: #6f6560;
14
+
15
+ --np-border: rgb(60 40 30 / 0.14);
16
+ --np-border-strong: rgb(60 40 30 / 0.26);
17
+ --np-divider: rgb(60 40 30 / 0.1);
18
+
19
+ --np-table-header-bg: rgb(60 40 30 / 0.05);
20
+ --np-table-row-alt: rgb(60 40 30 / 0.025);
21
+ --np-table-row-hover: color-mix(in oklab, var(--np-brand) 8%, transparent);
22
+
23
+ --np-radius-sm: 8px;
24
+ --np-radius-md: 12px;
25
+ --np-radius-lg: 18px;
26
+
27
+ --np-shadow-card: 0 1px 1px rgb(60 30 15 / 0.04), 0 8px 24px -10px rgb(60 30 15 / 0.18);
28
+ --np-shadow-popover: 0 2px 4px rgb(60 30 15 / 0.05), 0 18px 40px -12px rgb(60 30 15 / 0.28);
29
+ --np-shadow-modal: 0 2px 6px rgb(60 30 15 / 0.06), 0 30px 70px -20px rgb(60 30 15 / 0.35);
30
+ --np-shadow-dialog: 0 2px 6px rgb(60 30 15 / 0.08), 0 40px 90px -24px rgb(60 30 15 / 0.45);
31
+
32
+ --np-overlay: color-mix(in oklab, var(--np-brand) 12%, rgb(20 12 8 / 0.42));
33
+ --np-overlay-soft: rgb(20 12 8 / 0.22);
34
+
35
+ --np-glass-ink-brand: color-mix(in oklab, var(--np-brand) 70%, #000);
36
+ --np-link: var(--np-glass-ink-brand);
37
+ --np-glass-lamp: color-mix(in oklab, var(--np-brand) 62%, transparent);
38
+ --np-glass-ground: rgb(255 253 251 / 0.66);
39
+ --np-glass-cover: rgb(255 255 255 / 0.8);
40
+ --np-glass-slip: rgb(255 255 255 / 0.62);
41
+ --np-glass-edge: rgb(255 255 255 / 0.85);
42
+ --np-glass-rim: rgb(60 40 30 / 0.1);
43
+ --np-glass-frost: blur(22px) saturate(170%);
44
+ --np-glass-frost-light: blur(12px) saturate(150%);
45
+ --np-glass-frost-overlay: blur(6px);
46
+ --np-glass-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .14 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
47
+ }
48
+
49
+ html.dark[data-np-theme="glass"] {
50
+ --np-bg: color-mix(in oklab, var(--np-brand) 6%, #0d0b0a);
51
+ --np-bg-surface: color-mix(in oklab, var(--np-brand) 6%, #1a1715);
52
+ --np-bg-card: color-mix(in oklab, var(--np-brand) 4%, #1f1b19);
53
+ --np-bg-code-inline: color-mix(in oklab, var(--np-brand) 10%, rgb(255 255 255 / 0.07));
54
+ --np-bg-code-block: color-mix(in oklab, var(--np-brand) 6%, #0f0c0b);
55
+
56
+ --np-text-primary: #f6f1ee;
57
+ --np-text-secondary: #cfc5bf;
58
+ --np-text-muted: #a89d97;
59
+ --np-text-faint: #8a807a;
60
+
61
+ --np-border: rgb(255 240 230 / 0.1);
62
+ --np-border-strong: rgb(255 240 230 / 0.2);
63
+ --np-divider: rgb(255 240 230 / 0.07);
64
+
65
+ --np-table-header-bg: rgb(255 255 255 / 0.05);
66
+ --np-table-row-alt: rgb(255 255 255 / 0.025);
67
+ --np-table-row-hover: color-mix(in oklab, var(--np-brand) 12%, rgb(255 255 255 / 0.04));
68
+
69
+ --np-shadow-card: 0 1px 1px rgb(0 0 0 / 0.3), 0 10px 28px -10px rgb(0 0 0 / 0.6);
70
+ --np-shadow-popover: 0 2px 4px rgb(0 0 0 / 0.3), 0 20px 44px -12px rgb(0 0 0 / 0.7);
71
+ --np-shadow-modal: 0 2px 6px rgb(0 0 0 / 0.35), 0 32px 72px -20px rgb(0 0 0 / 0.75);
72
+ --np-shadow-dialog: 0 2px 6px rgb(0 0 0 / 0.4), 0 40px 90px -24px rgb(0 0 0 / 0.8);
73
+
74
+ --np-overlay: color-mix(in oklab, var(--np-brand) 8%, rgb(0 0 0 / 0.6));
75
+ --np-overlay-soft: rgb(0 0 0 / 0.4);
76
+
77
+ --np-glass-ink-brand: color-mix(in oklab, var(--np-brand) 72%, #fff);
78
+ --np-link: var(--np-glass-ink-brand);
79
+ --np-glass-lamp: color-mix(in oklab, var(--np-brand) 46%, transparent);
80
+ --np-glass-ground: rgb(34 29 27 / 0.6);
81
+ --np-glass-cover: rgb(22 19 18 / 0.84);
82
+ --np-glass-slip: rgb(40 35 32 / 0.6);
83
+ --np-glass-edge: rgb(255 245 238 / 0.1);
84
+ --np-glass-rim: rgb(0 0 0 / 0.5);
85
+ --np-glass-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .2 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
86
+ }
87
+
88
+ html[data-np-theme="glass"] ::selection {
89
+ background-color: color-mix(in oklab, var(--np-brand) 32%, transparent);
90
+ color: var(--np-text-primary);
91
+ }
92
+
93
+ html[data-np-theme="glass"] :focus-visible {
94
+ outline: 2px solid var(--np-glass-ink-brand);
95
+ outline-offset: 2px;
96
+ }
97
+
98
+ html[data-np-theme="glass"] * {
99
+ scrollbar-color: color-mix(in oklab, var(--np-brand) 30%, var(--np-border-strong)) transparent;
100
+ }
101
+
102
+ html[data-np-theme="glass"] .np-app {
103
+ background-color: var(--np-bg);
104
+ background-image:
105
+ radial-gradient(ellipse 85% 95% at 0% 0%, var(--np-glass-lamp) 0%, transparent 68%);
106
+ background-attachment: fixed;
107
+ timeline-scope: --np-glass-scroll;
108
+ }
109
+
110
+ html[data-np-theme="glass"] .np-app > .np-header {
111
+ grid-row: 1;
112
+ grid-column: 1;
113
+ }
114
+
115
+ html[data-np-theme="glass"] .np-app > .np-body {
116
+ grid-row: 1 / 3;
117
+ grid-column: 1;
118
+ }
119
+
120
+ html[data-np-theme="glass"] .np-announce {
121
+ --np-announce-bg: var(--np-glass-cover);
122
+ border-color: var(--np-glass-rim);
123
+ backdrop-filter: var(--np-glass-frost);
124
+ -webkit-backdrop-filter: var(--np-glass-frost);
125
+ box-shadow: inset 0 1px 0 var(--np-glass-edge), var(--np-shadow-popover);
126
+ }
127
+
128
+ html[data-np-theme="glass"] .np-header {
129
+ --np-header-bg: var(--np-glass-ground);
130
+ background-image: var(--np-glass-grain);
131
+ --np-header-border: var(--np-glass-rim);
132
+ backdrop-filter: var(--np-glass-frost);
133
+ -webkit-backdrop-filter: var(--np-glass-frost);
134
+ box-shadow: inset 0 1px 0 var(--np-glass-edge), inset 0 -1px 0 var(--np-glass-edge);
135
+ }
136
+
137
+ html[data-np-theme="glass"] .np-aside {
138
+ background-color: var(--np-glass-ground);
139
+ background-image: var(--np-glass-grain);
140
+ backdrop-filter: var(--np-glass-frost);
141
+ -webkit-backdrop-filter: var(--np-glass-frost);
142
+ }
143
+
144
+ html[data-np-theme="glass"] .np-aside .np-sidebar {
145
+ top: var(--np-header-height);
146
+ border-right-color: var(--np-glass-rim);
147
+ box-shadow: inset -1px 0 0 var(--np-glass-edge);
148
+ }
149
+
150
+ html[data-np-theme="glass"] .np-link.active,
151
+ html[data-np-theme="glass"] .np-group-header.active,
152
+ html[data-np-theme="glass"] .np-subgroup-row.active {
153
+ color: var(--np-glass-ink-brand);
154
+ background-color: var(--np-glass-cover);
155
+ box-shadow:
156
+ inset 0 0 0 1px var(--np-glass-edge),
157
+ 0 0 0 1px color-mix(in oklab, var(--np-brand) 36%, transparent),
158
+ 0 4px 12px -6px color-mix(in oklab, var(--np-brand) 50%, transparent);
159
+ }
160
+
161
+ html[data-np-theme="glass"] .np-subgroup-row.active .np-link.active {
162
+ box-shadow: none;
163
+ }
164
+
165
+ html[data-np-theme="glass"] .np-group-header.active .np-group-label-link,
166
+ html[data-np-theme="glass"] .np-subgroup-row.active .np-subgroup-link,
167
+ html[data-np-theme="glass"] .np-group-label-link.active,
168
+ html[data-np-theme="glass"] .np-group-header.active .np-group-toggle,
169
+ html[data-np-theme="glass"] .np-subgroup-row.active .np-subgroup-toggle {
170
+ color: var(--np-glass-ink-brand);
171
+ }
172
+
173
+ html[data-np-theme="glass"] .np-page-backdrop {
174
+ display: none;
175
+ }
176
+
177
+ html[data-np-theme="glass"] .np-main {
178
+ padding-top: var(--np-header-height);
179
+ scroll-padding-top: var(--np-header-height);
180
+ scroll-timeline: --np-glass-scroll block;
181
+ }
182
+
183
+ html[data-np-theme="glass"] .np-prose a:not([class*="np-"]) {
184
+ text-decoration-color: color-mix(in oklab, var(--np-brand) 45%, transparent);
185
+ text-underline-offset: 0.2em;
186
+ }
187
+
188
+ html[data-np-theme="glass"] .np-prose a:not([class*="np-"]):hover {
189
+ text-decoration-color: currentColor;
190
+ }
191
+
192
+ html[data-np-theme="glass"] .np-hero-title {
193
+ color: var(--np-glass-ink-brand);
194
+ }
195
+
196
+ html[data-np-theme="glass"] .np-prose table {
197
+ border-radius: var(--np-radius-md);
198
+ overflow: hidden;
199
+ box-shadow: inset 0 0 0 1px var(--np-glass-rim);
200
+ }
201
+
202
+ html[data-np-theme="glass"] .np-toc-strip,
203
+ html[data-np-theme="glass"] .np-toc-overlay,
204
+ html[data-np-theme="glass"] .np-toc {
205
+ padding: 14px 16px;
206
+ border-radius: var(--np-radius-md);
207
+ background-color: var(--np-glass-ground);
208
+ backdrop-filter: var(--np-glass-frost);
209
+ -webkit-backdrop-filter: var(--np-glass-frost);
210
+ box-shadow: inset 0 1px 0 var(--np-glass-edge), 0 0 0 1px var(--np-glass-rim);
211
+ }
212
+
213
+ html[data-np-theme="glass"] .np-card,
214
+ html[data-np-theme="glass"] .np-feature-card,
215
+ html[data-np-theme="glass"] .np-callout {
216
+ box-shadow: inset 0 1px 0 var(--np-glass-edge), var(--np-shadow-card);
217
+ }
218
+
219
+ html[data-np-theme="glass"] .np-toc-strip {
220
+ padding: 10px 0;
221
+ border-radius: var(--np-radius-pill);
222
+ }
223
+
224
+ html[data-np-theme="glass"] .np-code {
225
+ border-color: var(--np-glass-rim);
226
+ box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.14), var(--np-shadow-card);
227
+ }
228
+
229
+ html[data-np-theme="glass"] .np-code-bar {
230
+ background-color: rgb(255 255 255 / 0.07);
231
+ }
232
+
233
+ html[data-np-theme="glass"] .np-card,
234
+ html[data-np-theme="glass"] .np-feature-card {
235
+ background-color: var(--np-glass-slip);
236
+ backdrop-filter: var(--np-glass-frost-light);
237
+ -webkit-backdrop-filter: var(--np-glass-frost-light);
238
+ border-color: var(--np-glass-rim);
239
+ transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 240ms cubic-bezier(0.16, 1, 0.3, 1), border-color 240ms ease;
240
+ }
241
+
242
+ html[data-np-theme="glass"] .np-card:hover,
243
+ html[data-np-theme="glass"] .np-feature-card:hover {
244
+ transform: translateY(-2px);
245
+ border-color: color-mix(in oklab, var(--np-brand) 45%, transparent);
246
+ box-shadow: inset 0 1px 0 var(--np-glass-edge), var(--np-shadow-popover);
247
+ }
248
+
249
+ html[data-np-theme="glass"] .np-callout {
250
+ border: 1px solid color-mix(in oklab, var(--np-callout-color) 32%, var(--np-glass-rim));
251
+ background-color: color-mix(in oklab, var(--np-callout-color) 9%, var(--np-glass-slip));
252
+ backdrop-filter: var(--np-glass-frost-light);
253
+ -webkit-backdrop-filter: var(--np-glass-frost-light);
254
+ }
255
+
256
+ html[data-np-theme="glass"] .np-callout-title {
257
+ color: color-mix(in oklab, var(--np-callout-color) 72%, var(--np-text-primary));
258
+ }
259
+
260
+ html[data-np-theme="glass"] .np-search-backdrop {
261
+ backdrop-filter: var(--np-glass-frost-overlay);
262
+ -webkit-backdrop-filter: var(--np-glass-frost-overlay);
263
+ }
264
+
265
+ html[data-np-theme="glass"] .np-search-modal {
266
+ background-color: var(--np-glass-cover);
267
+ backdrop-filter: var(--np-glass-frost);
268
+ -webkit-backdrop-filter: var(--np-glass-frost);
269
+ border-color: var(--np-glass-rim);
270
+ box-shadow: inset 0 1px 0 var(--np-glass-edge), var(--np-shadow-modal);
271
+ }
272
+
273
+ html[data-np-theme="glass"] .np-back-to-top {
274
+ background-color: var(--np-glass-ground);
275
+ backdrop-filter: var(--np-glass-frost);
276
+ -webkit-backdrop-filter: var(--np-glass-frost);
277
+ box-shadow: inset 0 1px 0 var(--np-glass-edge), var(--np-shadow-popover);
278
+ }
279
+
280
+ html[data-np-theme="glass"] .np-tooltip {
281
+ background-color: var(--np-glass-cover);
282
+ backdrop-filter: var(--np-glass-frost);
283
+ -webkit-backdrop-filter: var(--np-glass-frost);
284
+ border-color: var(--np-glass-rim);
285
+ box-shadow: inset 0 1px 0 var(--np-glass-edge), var(--np-shadow-popover);
286
+ }
287
+
288
+ @supports (animation-timeline: scroll()) {
289
+ html[data-np-theme="glass"] .np-header {
290
+ animation: np-glass-header-frost linear both;
291
+ animation-timeline: --np-glass-scroll;
292
+ animation-range: 0 96px;
293
+ }
294
+ }
295
+
296
+ @keyframes np-glass-header-frost {
297
+ from {
298
+ background-color: transparent;
299
+ background-image: none;
300
+ border-bottom-color: transparent;
301
+ box-shadow: none;
302
+ backdrop-filter: blur(0) saturate(100%);
303
+ -webkit-backdrop-filter: blur(0) saturate(100%);
304
+ }
305
+ }
306
+
307
+ @media (max-width: 1024px) {
308
+ html[data-np-theme="glass"] .np-main {
309
+ padding-top: 0;
310
+ scroll-timeline: none;
311
+ }
312
+
313
+ html[data-np-theme="glass"] .np-body {
314
+ padding-top: var(--np-header-height);
315
+ scroll-padding-top: var(--np-header-height);
316
+ scroll-timeline: --np-glass-scroll block;
317
+ }
318
+
319
+ html[data-np-theme="glass"] .np-aside .np-sidebar {
320
+ top: 0;
321
+ }
322
+
323
+ html[data-np-theme="glass"] .np-aside,
324
+ html[data-np-theme="glass"] .np-aside .np-sidebar {
325
+ background-color: var(--np-glass-cover);
326
+ }
327
+ }
328
+
329
+ @media (prefers-reduced-motion: reduce) {
330
+ html[data-np-theme="glass"] .np-header {
331
+ animation: none;
332
+ }
333
+
334
+ html[data-np-theme="glass"] .np-card,
335
+ html[data-np-theme="glass"] .np-feature-card {
336
+ transition: none;
337
+ }
338
+
339
+ html[data-np-theme="glass"] .np-card:hover,
340
+ html[data-np-theme="glass"] .np-feature-card:hover {
341
+ transform: none;
342
+ }
343
+ }
344
+
345
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
346
+ html[data-np-theme="glass"] .np-header {
347
+ animation: none;
348
+ }
349
+
350
+ html[data-np-theme="glass"] {
351
+ --np-glass-ground: color-mix(in oklab, var(--np-brand) 4%, #f4f1ef);
352
+ --np-glass-cover: #ffffff;
353
+ --np-glass-slip: #fbf9f8;
354
+ --np-glass-rim: rgb(60 40 30 / 0.28);
355
+ --np-glass-frost: none;
356
+ --np-glass-frost-light: none;
357
+ --np-glass-frost-overlay: none;
358
+ --np-glass-grain: none;
359
+ --np-bg-card: #ffffff;
360
+ --np-bg-code-inline: color-mix(in oklab, var(--np-brand) 9%, #ffffff);
361
+ --np-table-header-bg: #f3efec;
362
+ --np-table-row-alt: #faf8f7;
363
+ --np-table-row-hover: color-mix(in oklab, var(--np-brand) 8%, #ffffff);
364
+ }
365
+
366
+ html.dark[data-np-theme="glass"] {
367
+ --np-glass-ground: #1b1816;
368
+ --np-glass-cover: #141110;
369
+ --np-glass-slip: #221e1c;
370
+ --np-glass-rim: rgb(255 240 230 / 0.24);
371
+ --np-glass-grain: none;
372
+ --np-bg-card: #221e1c;
373
+ --np-bg-code-inline: color-mix(in oklab, var(--np-brand) 10%, #221e1c);
374
+ --np-table-header-bg: #1f1b19;
375
+ --np-table-row-alt: #181514;
376
+ --np-table-row-hover: color-mix(in oklab, var(--np-brand) 12%, #1f1b19);
377
+ }
378
+ }
379
+ }
@@ -13,6 +13,14 @@
13
13
  --np-code-line-highlight: rgba(204, 120, 92, 0.18);
14
14
  --np-code-annotation: #CC785C;
15
15
  --np-code-annotation-text: #FFFFFF;
16
+ --np-code-bar-bg: rgb(255 255 255 / 0.04);
17
+ --np-code-bar-border: rgb(255 255 255 / 0.06);
18
+ --np-code-bar-border-strong: rgb(255 255 255 / 0.12);
19
+ --np-code-bar-hover: rgb(255 255 255 / 0.08);
20
+ --np-code-bar-text: rgb(229 231 235 / 0.6);
21
+ --np-code-bar-text-active: rgb(229 231 235 / 0.9);
22
+ --np-code-gutter: rgb(229 231 235 / 0.35);
23
+ --np-code-inset: rgb(0 0 0 / 0.3);
16
24
 
17
25
  --np-text-primary: #09090B;
18
26
  --np-text-secondary: #3F3F46;
@@ -39,6 +47,12 @@
39
47
  --np-success: #22C55E;
40
48
  --np-mark-bg: #FDE68A;
41
49
  --np-lightbox-backdrop: rgb(9 9 11 / 0.82);
50
+ --np-overlay: rgb(0 0 0 / 0.6);
51
+ --np-overlay-soft: rgb(0 0 0 / 0.35);
52
+ --np-lightbox-control: rgb(255 255 255 / 0.12);
53
+ --np-lightbox-control-hover: rgb(255 255 255 / 0.24);
54
+ --np-lightbox-control-text: #FFFFFF;
55
+ --np-shimmer: rgb(0 0 0 / 0.05);
42
56
  --np-question: #84CC16;
43
57
  --np-failure: #F43F5E;
44
58
  --np-bug: #EC4899;
@@ -58,6 +72,9 @@
58
72
 
59
73
  --np-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.04);
60
74
  --np-shadow-modal: 0 10px 30px rgba(0, 0, 0, 0.12);
75
+ --np-shadow-popover: 0 12px 32px rgb(0 0 0 / 0.18);
76
+ --np-shadow-dialog: 0 24px 60px rgb(0 0 0 / 0.4);
77
+ --np-shadow-inset: inset 0 4px 14px rgb(0 0 0 / 0.25);
61
78
 
62
79
  --np-font-sans: "Inter var", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
63
80
  --np-font-mono: ui-monospace, "JetBrains Mono", "Fira Code", "SF Mono", Menlo, Consolas, monospace;
@@ -83,6 +100,14 @@ html.dark {
83
100
  --np-code-line-highlight: rgba(204, 120, 92, 0.22);
84
101
  --np-code-annotation: #E8A48E;
85
102
  --np-code-annotation-text: #0F0F10;
103
+ --np-code-bar-bg: rgb(255 255 255 / 0.04);
104
+ --np-code-bar-border: rgb(255 255 255 / 0.06);
105
+ --np-code-bar-border-strong: rgb(255 255 255 / 0.12);
106
+ --np-code-bar-hover: rgb(255 255 255 / 0.08);
107
+ --np-code-bar-text: rgb(229 231 235 / 0.6);
108
+ --np-code-bar-text-active: rgb(229 231 235 / 0.9);
109
+ --np-code-gutter: rgb(229 231 235 / 0.35);
110
+ --np-code-inset: rgb(0 0 0 / 0.3);
86
111
 
87
112
  --np-text-primary: #FAFAFA;
88
113
  --np-text-secondary: #A1A1AA;
@@ -103,11 +128,23 @@ html.dark {
103
128
  --np-success: #4ADE80;
104
129
  --np-mark-bg: #713F12;
105
130
  --np-lightbox-backdrop: rgb(0 0 0 / 0.86);
131
+ --np-overlay: rgb(0 0 0 / 0.7);
132
+ --np-overlay-soft: rgb(0 0 0 / 0.45);
133
+ --np-lightbox-control: rgb(255 255 255 / 0.12);
134
+ --np-lightbox-control-hover: rgb(255 255 255 / 0.24);
135
+ --np-lightbox-control-text: #FFFFFF;
136
+ --np-shimmer: rgb(255 255 255 / 0.05);
106
137
  --np-question: #A3E635;
107
138
  --np-failure: #FB7185;
108
139
  --np-bug: #F472B6;
109
140
  --np-example: #A78BFA;
110
141
  --np-quote: #9CA3AF;
142
+
143
+ --np-shadow-card: 0 1px 2px rgb(0 0 0 / 0.3);
144
+ --np-shadow-modal: 0 10px 30px rgb(0 0 0 / 0.45);
145
+ --np-shadow-popover: 0 12px 32px rgb(0 0 0 / 0.4);
146
+ --np-shadow-dialog: 0 24px 60px rgb(0 0 0 / 0.55);
147
+ --np-shadow-inset: inset 0 6px 18px rgb(0 0 0 / 0.7), inset 0 0 0 1px rgb(255 255 255 / 0.07);
111
148
  }
112
149
 
113
150
  html, body {