@farming-labs/svelte-theme 0.2.6 → 0.2.8

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.
@@ -4,7 +4,8 @@
4
4
 
5
5
  /* ─── GreenTree color overrides ────────────────────────────────── */
6
6
 
7
- :root {
7
+ body:has(#nd-docs-layout),
8
+ #nd-docs-layout {
8
9
  --color-fd-primary: #0d9373;
9
10
  --color-fd-primary-foreground: #fff;
10
11
  --color-fd-ring: #0d9373;
@@ -24,7 +25,11 @@
24
25
  --color-fd-border: #dfe1e0;
25
26
  }
26
27
 
27
- .dark {
28
+ html.dark body:has(#nd-docs-layout),
29
+ body.dark:has(#nd-docs-layout),
30
+ body:has(#nd-docs-layout.dark),
31
+ :is(html.dark, body.dark) #nd-docs-layout,
32
+ #nd-docs-layout.dark {
28
33
  --color-fd-primary: #26bd6c;
29
34
  --color-fd-primary-foreground: #0a0d0d;
30
35
  --color-fd-ring: #26bd6c;
@@ -53,27 +58,27 @@
53
58
 
54
59
  /* ─── Typography — Inter, Mintlify-style values ──────────────── */
55
60
 
56
- h1 {
61
+ #nd-docs-layout h1 {
57
62
  letter-spacing: -0.025em;
58
63
  font-weight: 500;
59
64
  line-height: 1.2;
60
65
  }
61
66
 
62
- h2 {
67
+ #nd-docs-layout h2 {
63
68
  letter-spacing: -0.02em;
64
69
  font-weight: 600;
65
70
  line-height: 1.25;
66
71
  }
67
72
 
68
- h3 {
73
+ #nd-docs-layout h3 {
69
74
  letter-spacing: -0.01em;
70
75
  font-weight: 600;
71
76
  line-height: 1.3;
72
77
  }
73
- .fd-docs-content {
78
+ #nd-docs-layout .fd-docs-content {
74
79
  border: none !important;
75
80
  }
76
- .fd-docs-content p {
81
+ #nd-docs-layout .fd-docs-content p {
77
82
  font-size: 1rem;
78
83
  line-height: 1.7;
79
84
  }
@@ -81,11 +86,10 @@ h3 {
81
86
  /* ═══════════════════════════════════════════════════════════════════
82
87
  * ═══════════════════════════════════════════════════════════════════ */
83
88
 
84
- aside,
85
- #nd-sidebar,
86
- aside#nd-sidebar,
87
89
  #nd-docs-layout aside,
88
- .fd-sidebar {
90
+ #nd-docs-layout #nd-sidebar,
91
+ #nd-docs-layout aside#nd-sidebar,
92
+ #nd-docs-layout .fd-sidebar {
89
93
  border: none;
90
94
  border-right: 1px solid var(--color-fd-border);
91
95
  border-left: none;
@@ -93,17 +97,20 @@ aside#nd-sidebar,
93
97
  background: var(--color-fd-background);
94
98
  }
95
99
 
96
- .dark .fd-sidebar {
100
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar,
101
+ #nd-docs-layout.dark .fd-sidebar {
97
102
  background: var(--color-fd-background);
98
103
  }
99
104
 
100
- .dark .fd-sidebar .fd-sidebar-title {
105
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-title,
106
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-title {
101
107
  font-size: 1.125rem;
102
108
  font-weight: 600;
103
109
  color: var(--color-fd-foreground);
104
110
  }
105
111
 
106
- .dark .fd-sidebar .fd-sidebar-search-btn {
112
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-search-btn,
113
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-search-btn {
107
114
  background: var(--color-fd-secondary) !important;
108
115
  border: 1px solid var(--color-fd-border);
109
116
  border-radius: 8px;
@@ -111,11 +118,13 @@ aside#nd-sidebar,
111
118
  font-size: 0.875rem;
112
119
  }
113
120
 
114
- .dark .fd-sidebar .fd-sidebar-search-btn:hover {
121
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-search-btn:hover,
122
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-search-btn:hover {
115
123
  background: var(--color-fd-accent) !important;
116
124
  }
117
125
 
118
- .dark .fd-sidebar .fd-sidebar-search-btn kbd {
126
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-search-btn kbd,
127
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-search-btn kbd {
119
128
  background: var(--color-fd-muted) !important;
120
129
  border-color: var(--color-fd-border);
121
130
  color: var(--color-fd-muted-foreground);
@@ -126,13 +135,13 @@ aside#nd-sidebar,
126
135
  }
127
136
 
128
137
  /* Nav padding */
129
- .fd-sidebar .fd-sidebar-nav {
138
+ #nd-docs-layout .fd-sidebar .fd-sidebar-nav {
130
139
  padding: 8px 12px;
131
140
  }
132
141
 
133
142
  /* All sidebar links — 14px, 500 weight, 6px 10px padding */
134
- aside a[data-active],
135
- .fd-sidebar .fd-sidebar-link {
143
+ #nd-docs-layout aside a[data-active],
144
+ #nd-docs-layout .fd-sidebar .fd-sidebar-link {
136
145
  font-size: 0.875rem;
137
146
  line-height: 1.5;
138
147
  font-weight: 500;
@@ -142,24 +151,26 @@ aside a[data-active],
142
151
  transition: color 150ms, background-color 150ms;
143
152
  }
144
153
 
145
- .dark .fd-sidebar .fd-sidebar-link {
154
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-link,
155
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-link {
146
156
  color: var(--color-fd-muted-foreground);
147
157
  }
148
158
 
149
- aside a[data-active]:hover,
150
- .fd-sidebar .fd-sidebar-link:hover {
159
+ #nd-docs-layout aside a[data-active]:hover,
160
+ #nd-docs-layout .fd-sidebar .fd-sidebar-link:hover {
151
161
  color: var(--color-fd-foreground);
152
162
  background: var(--color-fd-accent);
153
163
  }
154
164
 
155
- .dark .fd-sidebar .fd-sidebar-link:hover {
165
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-link:hover,
166
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-link:hover {
156
167
  color: var(--color-fd-foreground);
157
168
  background: var(--color-fd-accent);
158
169
  }
159
170
 
160
- aside a[data-active="true"],
161
- .fd-sidebar .fd-sidebar-link-active,
162
- .fd-sidebar .fd-sidebar-link[data-active="true"] {
171
+ #nd-docs-layout aside a[data-active="true"],
172
+ #nd-docs-layout .fd-sidebar .fd-sidebar-link-active,
173
+ #nd-docs-layout .fd-sidebar .fd-sidebar-link[data-active="true"] {
163
174
  position: relative !important;
164
175
  color: var(--color-fd-primary) !important;
165
176
  font-weight: 600 !important;
@@ -167,15 +178,17 @@ aside a[data-active="true"],
167
178
  background-color: rgba(13, 147, 115, 0.08) !important;
168
179
  }
169
180
 
170
- .dark .fd-sidebar .fd-sidebar-link-active,
171
- .dark .fd-sidebar .fd-sidebar-link[data-active="true"] {
181
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-link-active,
182
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-link-active,
183
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-link[data-active="true"],
184
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-link[data-active="true"] {
172
185
  color: var(--color-fd-primary) !important;
173
186
  background: rgba(38, 189, 108, 0.1) !important;
174
187
  background-color: rgba(38, 189, 108, 0.1) !important;
175
188
  }
176
189
 
177
- .fd-sidebar-folder-content .fd-sidebar-link-active::before,
178
- .fd-sidebar-folder-content .fd-sidebar-link[data-active="true"]::before {
190
+ #nd-docs-layout .fd-sidebar-folder-content .fd-sidebar-link-active::before,
191
+ #nd-docs-layout .fd-sidebar-folder-content .fd-sidebar-link[data-active="true"]::before {
179
192
  content: "" !important;
180
193
  display: block !important;
181
194
  position: absolute !important;
@@ -187,19 +200,22 @@ aside a[data-active="true"],
187
200
  background: var(--color-fd-primary) !important;
188
201
  }
189
202
 
190
- .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
191
- .fd-sidebar .fd-sidebar-top-link[data-active="true"] {
203
+ #nd-docs-layout .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
204
+ #nd-docs-layout .fd-sidebar .fd-sidebar-top-link[data-active="true"] {
192
205
  background: rgba(13, 147, 115, 0.08) !important;
193
206
  background-color: rgba(13, 147, 115, 0.08) !important;
194
207
  }
195
208
 
196
- .dark .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
197
- .dark .fd-sidebar .fd-sidebar-top-link[data-active="true"] {
209
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
210
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
211
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-top-link[data-active="true"],
212
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-top-link[data-active="true"] {
198
213
  background: rgba(38, 189, 108, 0.1) !important;
199
214
  background-color: rgba(38, 189, 108, 0.1) !important;
200
215
  }
201
216
 
202
- .dark .fd-sidebar .fd-sidebar-folder {
217
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-folder,
218
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-folder {
203
219
  margin: 2px 0;
204
220
  padding: 0;
205
221
  border-radius: 0;
@@ -207,19 +223,20 @@ aside a[data-active="true"],
207
223
  background: transparent;
208
224
  overflow: visible;
209
225
  }
210
- .fd-sidebar .fd-sidebar-folder {
226
+ #nd-docs-layout .fd-sidebar .fd-sidebar-folder {
211
227
  border: none;
212
228
  }
213
- .fd-page-body .fd-table-wrapper {
229
+ #nd-docs-layout .fd-page-body .fd-table-wrapper {
214
230
  border: none !important;
215
231
  }
216
232
 
217
- .dark .fd-sidebar .fd-sidebar-folder.fd-sidebar-first-item {
233
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-folder.fd-sidebar-first-item,
234
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-folder.fd-sidebar-first-item {
218
235
  margin-top: 0;
219
236
  }
220
237
 
221
- aside a[data-active].w-full,
222
- .fd-sidebar .fd-sidebar-folder-trigger {
238
+ #nd-docs-layout aside a[data-active].w-full,
239
+ #nd-docs-layout .fd-sidebar .fd-sidebar-folder-trigger {
223
240
  font-weight: 600;
224
241
  font-size: 0.875rem;
225
242
  color: var(--color-fd-foreground);
@@ -229,46 +246,50 @@ aside a[data-active].w-full,
229
246
  background: transparent !important;
230
247
  }
231
248
 
232
- .dark .fd-sidebar .fd-sidebar-folder-trigger {
249
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-folder-trigger,
250
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-folder-trigger {
233
251
  color: var(--color-fd-muted-foreground);
234
252
  border: none;
235
253
  }
236
254
 
237
- .fd-sidebar .fd-sidebar-folder-trigger:hover {
255
+ #nd-docs-layout .fd-sidebar .fd-sidebar-folder-trigger:hover {
238
256
  background: var(--color-fd-accent) !important;
239
257
 
240
258
  }
241
259
 
242
- .dark .fd-sidebar .fd-sidebar-folder-trigger:hover {
260
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-folder-trigger:hover,
261
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-folder-trigger:hover {
243
262
  background: var(--color-fd-accent) !important;
244
263
  }
245
264
 
246
- aside a[data-active].w-full:first-child,
247
- .fd-sidebar-nav > .fd-sidebar-folder.fd-sidebar-first-item > .fd-sidebar-folder-trigger {
265
+ #nd-docs-layout aside a[data-active].w-full:first-child,
266
+ #nd-docs-layout .fd-sidebar-nav > .fd-sidebar-folder.fd-sidebar-first-item > .fd-sidebar-folder-trigger {
248
267
  margin-top: 0;
249
268
  }
250
269
 
251
- .fd-sidebar .fd-sidebar-top-link {
270
+ #nd-docs-layout .fd-sidebar .fd-sidebar-top-link {
252
271
  margin-top: 0;
253
272
  padding: 6px 10px;
254
273
  }
255
274
 
256
- .fd-sidebar .fd-sidebar-top-link.fd-sidebar-first-item {
275
+ #nd-docs-layout .fd-sidebar .fd-sidebar-top-link.fd-sidebar-first-item {
257
276
  margin-top: 0;
258
277
  }
259
278
 
260
- aside a[data-active="true"].w-full,
261
- .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
262
- .fd-sidebar .fd-sidebar-top-link[data-active="true"] {
279
+ #nd-docs-layout aside a[data-active="true"].w-full,
280
+ #nd-docs-layout .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
281
+ #nd-docs-layout .fd-sidebar .fd-sidebar-top-link[data-active="true"] {
263
282
  color: var(--color-fd-primary) !important;
264
283
  }
265
284
 
266
- .dark .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
267
- .dark .fd-sidebar .fd-sidebar-top-link[data-active="true"] {
285
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
286
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-top-link.fd-sidebar-link-active,
287
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-top-link[data-active="true"],
288
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-top-link[data-active="true"] {
268
289
  color: var(--color-fd-primary) !important;
269
290
  }
270
291
 
271
- aside div.w-full:not([role]) {
292
+ #nd-docs-layout aside div.w-full:not([role]) {
272
293
  font-weight: 600;
273
294
  font-size: 0.875rem;
274
295
  color: var(--color-fd-foreground);
@@ -277,14 +298,14 @@ aside div.w-full:not([role]) {
277
298
  margin-top: 0.5rem;
278
299
  }
279
300
 
280
- .fd-sidebar .fd-sidebar-folder-content {
301
+ #nd-docs-layout .fd-sidebar .fd-sidebar-folder-content {
281
302
  position: relative;
282
303
  padding-left: 16px;
283
304
  margin-left: 8px;
284
305
  margin-top: -12px;
285
306
  }
286
307
 
287
- .fd-sidebar .fd-sidebar-folder-content::before {
308
+ #nd-docs-layout .fd-sidebar .fd-sidebar-folder-content::before {
288
309
  content: "";
289
310
  position: absolute;
290
311
  left: 8px;
@@ -295,22 +316,24 @@ aside div.w-full:not([role]) {
295
316
  background: var(--color-fd-border);
296
317
  }
297
318
 
298
- .dark .fd-sidebar .fd-sidebar-folder-content::before {
319
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-folder-content::before,
320
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-folder-content::before {
299
321
  background: var(--fd-sidebar-indent-line, var(--color-fd-border));
300
322
  }
301
323
 
302
- aside button[class*="bg-fd-secondary"],
303
- .dark .fd-sidebar .fd-sidebar-search-btn {
324
+ #nd-docs-layout aside button[class*="bg-fd-secondary"],
325
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar .fd-sidebar-search-btn,
326
+ #nd-docs-layout.dark .fd-sidebar .fd-sidebar-search-btn {
304
327
  background: transparent;
305
328
  border: 1px solid var(--color-fd-border);
306
329
  border-radius: 8px;
307
330
  font-size: 0.875rem;
308
331
  }
309
332
 
310
- aside .border-t,
311
- aside [class*="border-t"],
312
- .fd-sidebar .fd-sidebar-footer,
313
- .fd-sidebar .fd-sidebar-footer-custom {
333
+ #nd-docs-layout aside .border-t,
334
+ #nd-docs-layout aside [class*="border-t"],
335
+ #nd-docs-layout .fd-sidebar .fd-sidebar-footer,
336
+ #nd-docs-layout .fd-sidebar .fd-sidebar-footer-custom {
314
337
  border-top: 1px solid var(--color-fd-border);
315
338
  }
316
339
 
@@ -318,10 +341,10 @@ aside [class*="border-t"],
318
341
  * HEADER — clean, no heavy border
319
342
  * ═══════════════════════════════════════════════════════════════════ */
320
343
 
321
- header,
322
- [role="banner"],
344
+ #nd-docs-layout header,
345
+ #nd-docs-layout [role="banner"],
323
346
  #nd-docs-layout > header,
324
- nav[class*="header"] {
347
+ #nd-docs-layout nav[class*="header"] {
325
348
  border-bottom: 1px solid var(--color-fd-border);
326
349
  }
327
350
 
@@ -329,7 +352,7 @@ nav[class*="header"] {
329
352
  * CONTENT — links, code, tables, etc.
330
353
  * ═══════════════════════════════════════════════════════════════════ */
331
354
 
332
- .fd-docs-content a:not(.fd-page-nav-card):not([class]) {
355
+ #nd-docs-layout .fd-docs-content a:not(.fd-page-nav-card):not([class]) {
333
356
  text-decoration: underline;
334
357
  text-underline-offset: 3px;
335
358
  text-decoration-color: rgba(13, 147, 115, 0.3);
@@ -339,11 +362,11 @@ nav[class*="header"] {
339
362
  transition: text-decoration-color 150ms;
340
363
  }
341
364
 
342
- .fd-docs-content a:not(.fd-page-nav-card):not([class]):hover {
365
+ #nd-docs-layout .fd-docs-content a:not(.fd-page-nav-card):not([class]):hover {
343
366
  text-decoration-color: var(--color-fd-primary);
344
367
  }
345
368
 
346
- .fd-docs-content :not(pre) > code {
369
+ #nd-docs-layout .fd-docs-content :not(pre) > code {
347
370
  padding: 2px 5px;
348
371
  border: 1px solid var(--color-fd-border);
349
372
  font-size: 0.875rem;
@@ -353,7 +376,7 @@ nav[class*="header"] {
353
376
  font-weight: 400;
354
377
  }
355
378
 
356
- .fd-docs-content table {
379
+ #nd-docs-layout .fd-docs-content table {
357
380
  border-collapse: separate;
358
381
  border-spacing: 0;
359
382
  background: var(--color-fd-card);
@@ -363,7 +386,7 @@ nav[class*="header"] {
363
386
  width: 100%;
364
387
  }
365
388
 
366
- .fd-docs-content th {
389
+ #nd-docs-layout .fd-docs-content th {
367
390
  background: var(--color-fd-muted);
368
391
  font-weight: 500;
369
392
  font-size: 0.8125rem;
@@ -372,18 +395,18 @@ nav[class*="header"] {
372
395
  letter-spacing: normal;
373
396
  }
374
397
 
375
- .fd-docs-content th,
376
- .fd-docs-content td {
398
+ #nd-docs-layout .fd-docs-content th,
399
+ #nd-docs-layout .fd-docs-content td {
377
400
  padding: 0.75rem 1rem;
378
401
  border-bottom: 1px solid var(--color-fd-border);
379
402
  font-size: 0.875rem;
380
403
  }
381
404
 
382
- .fd-docs-content tr:last-child td {
405
+ #nd-docs-layout .fd-docs-content tr:last-child td {
383
406
  border-bottom: none;
384
407
  }
385
408
 
386
- .fd-docs-content blockquote {
409
+ #nd-docs-layout .fd-docs-content blockquote {
387
410
  border-left: 3px solid var(--color-fd-primary);
388
411
  padding-left: 1rem;
389
412
  color: var(--color-fd-muted-foreground);
@@ -391,8 +414,8 @@ nav[class*="header"] {
391
414
  margin: 1rem 0;
392
415
  }
393
416
 
394
- .fd-page-actions,
395
- [data-page-actions] {
417
+ #nd-docs-layout .fd-page-actions,
418
+ #nd-docs-layout [data-page-actions] {
396
419
  gap: 0 !important;
397
420
  margin-right: 10px;
398
421
  }
@@ -409,7 +432,7 @@ nav[class*="header"] {
409
432
  border-left: none !important;
410
433
  } */
411
434
 
412
- .fd-docs-content hr {
435
+ #nd-docs-layout .fd-docs-content hr {
413
436
  border-color: var(--color-fd-border);
414
437
  }
415
438
 
@@ -417,7 +440,7 @@ nav[class*="header"] {
417
440
  * CARDS
418
441
  * ═══════════════════════════════════════════════════════════════════ */
419
442
 
420
- .fd-card {
443
+ #nd-docs-layout .fd-card {
421
444
  display: block;
422
445
  border-radius: 12px;
423
446
  border: 1px solid var(--color-fd-border);
@@ -431,12 +454,12 @@ nav[class*="header"] {
431
454
  border-color 150ms;
432
455
  }
433
456
 
434
- .fd-card:hover {
457
+ #nd-docs-layout .fd-card:hover {
435
458
  border-color: var(--color-fd-primary);
436
459
  box-shadow: none;
437
460
  }
438
461
 
439
- .fd-card-icon {
462
+ #nd-docs-layout .fd-card-icon {
440
463
  margin-bottom: 0.5rem;
441
464
  width: fit-content;
442
465
  border-radius: 8px;
@@ -446,35 +469,36 @@ nav[class*="header"] {
446
469
  background: rgba(13, 147, 115, 0.06);
447
470
  }
448
471
 
449
- .dark .fd-card-icon {
472
+ :is(html.dark, body.dark) #nd-docs-layout .fd-card-icon,
473
+ #nd-docs-layout.dark .fd-card-icon {
450
474
  background: rgba(38, 189, 108, 0.08);
451
475
  }
452
476
 
453
- .fd-card-title {
477
+ #nd-docs-layout .fd-card-title {
454
478
  font-weight: 500;
455
479
  font-size: 0.9375rem;
456
480
  }
457
481
 
458
- .fd-card-description {
482
+ #nd-docs-layout .fd-card-description {
459
483
  color: var(--color-fd-muted-foreground);
460
484
  margin-top: 0.25rem;
461
485
  font-size: 0.8125rem;
462
486
  line-height: 1.5;
463
487
  }
464
488
 
465
- .fd-cards {
489
+ #nd-docs-layout .fd-cards {
466
490
  display: grid;
467
491
  grid-template-columns: 1fr;
468
492
  gap: 0.75rem;
469
493
  }
470
494
 
471
495
  @media (min-width: 640px) {
472
- .fd-cards {
496
+ #nd-docs-layout .fd-cards {
473
497
  grid-template-columns: repeat(2, 1fr);
474
498
  }
475
499
  }
476
500
 
477
- .fd-page-nav-card {
501
+ #nd-docs-layout .fd-page-nav-card {
478
502
  border-radius: 12px;
479
503
  }
480
504
 
@@ -482,17 +506,17 @@ nav[class*="header"] {
482
506
  * CODE BLOCKS, TABS, CALLOUT, TOC, etc.
483
507
  * ═══════════════════════════════════════════════════════════════════ */
484
508
 
485
- figure.shiki {
509
+ #nd-docs-layout figure.shiki {
486
510
  border-radius: 10px;
487
511
  overflow: hidden;
488
512
  border: 1px solid var(--color-fd-border);
489
513
  }
490
514
 
491
- [role="tablist"] {
515
+ #nd-docs-layout [role="tablist"] {
492
516
  border-bottom: 1px solid var(--color-fd-border);
493
517
  }
494
518
 
495
- [role="tab"] {
519
+ #nd-docs-layout [role="tab"] {
496
520
  font-size: 0.875rem;
497
521
  font-weight: 400;
498
522
  padding: 0.5rem 0.75rem;
@@ -504,19 +528,19 @@ figure.shiki {
504
528
  border-color 150ms;
505
529
  }
506
530
 
507
- [role="tab"][aria-selected="true"],
508
- [role="tab"][data-state="active"] {
531
+ #nd-docs-layout [role="tab"][aria-selected="true"],
532
+ #nd-docs-layout [role="tab"][data-state="active"] {
509
533
  color: var(--color-fd-primary);
510
534
  border-bottom-color: var(--color-fd-primary);
511
535
  font-weight: 500;
512
536
  }
513
537
 
514
- [style*="--callout-color"] {
538
+ #nd-docs-layout [style*="--callout-color"] {
515
539
  border-radius: 10px;
516
540
  border-width: 1px;
517
541
  }
518
542
 
519
- details {
543
+ #nd-docs-layout details {
520
544
  border: 1px solid var(--color-fd-border);
521
545
  border-radius: 10px;
522
546
  padding: 0;
@@ -524,7 +548,7 @@ details {
524
548
  overflow: hidden;
525
549
  }
526
550
 
527
- details summary {
551
+ #nd-docs-layout details summary {
528
552
  padding: 0.75rem 1rem;
529
553
  font-weight: 500;
530
554
  font-size: 0.9375rem;
@@ -534,133 +558,135 @@ details summary {
534
558
  transition: background 150ms;
535
559
  }
536
560
 
537
- details summary:hover {
561
+ #nd-docs-layout details summary:hover {
538
562
  background: var(--color-fd-accent);
539
563
  }
540
564
 
541
- details[open] summary {
565
+ #nd-docs-layout details[open] summary {
542
566
  border-bottom: 1px solid var(--color-fd-border);
543
567
  }
544
568
 
545
- details > :not(summary) {
569
+ #nd-docs-layout details > :not(summary) {
546
570
  padding: 0.75rem 1rem;
547
571
  }
548
572
 
549
- .fd-toc .fd-toc-link,
550
- .fd-toc .fd-toc-clerk-link {
573
+ #nd-docs-layout .fd-toc .fd-toc-link,
574
+ #nd-docs-layout .fd-toc .fd-toc-clerk-link {
551
575
  transition: color 0.2s ease;
552
576
  }
553
577
 
554
- .fd-toc .fd-toc-link-active,
555
- .fd-toc .fd-toc-link[data-active="true"],
556
- .fd-toc .fd-toc-clerk-link[data-active="true"] {
578
+ #nd-docs-layout .fd-toc .fd-toc-link-active,
579
+ #nd-docs-layout .fd-toc .fd-toc-link[data-active="true"],
580
+ #nd-docs-layout .fd-toc .fd-toc-clerk-link[data-active="true"] {
557
581
  color: var(--color-fd-primary);
558
582
  font-weight: 500;
559
583
  }
560
584
 
561
- .fd-toc .fd-toc-link:not(.fd-toc-link-active):not([data-active="true"]),
562
- .fd-toc .fd-toc-clerk-link:not([data-active="true"]) {
585
+ #nd-docs-layout .fd-toc .fd-toc-link:not(.fd-toc-link-active):not([data-active="true"]),
586
+ #nd-docs-layout .fd-toc .fd-toc-clerk-link:not([data-active="true"]) {
563
587
  color: var(--color-fd-muted-foreground);
564
588
  }
565
589
 
566
- .fd-toc .fd-toc-link,
567
- .fd-toc .fd-toc-clerk-link {
590
+ #nd-docs-layout .fd-toc .fd-toc-link,
591
+ #nd-docs-layout .fd-toc .fd-toc-clerk-link {
568
592
  font-size: 0.875rem;
569
593
  line-height: 1.3;
570
594
  }
571
595
 
572
- .fd-toc .fd-toc-title {
596
+ #nd-docs-layout .fd-toc .fd-toc-title {
573
597
  font-size: 0.875rem;
574
598
  font-weight: 500;
575
599
  }
576
600
 
577
- .omni-content {
601
+ #nd-docs-layout .omni-content {
578
602
  border-radius: 12px;
579
603
  border: 1px solid var(--color-fd-border);
580
604
  background: var(--color-fd-popover);
581
605
  box-shadow: 0 16px 70px rgba(0, 0, 0, 0.1);
582
606
  }
583
607
 
584
- .omni-item {
608
+ #nd-docs-layout .omni-item {
585
609
  border-radius: 8px;
586
610
  }
587
611
 
588
- .omni-item-active {
612
+ #nd-docs-layout .omni-item-active {
589
613
  background: var(--color-fd-accent);
590
614
  }
591
615
 
592
- .omni-highlight {
616
+ #nd-docs-layout .omni-highlight {
593
617
  background: rgba(13, 147, 115, 0.1);
594
618
  color: var(--color-fd-primary);
595
619
  }
596
620
 
597
- .dark .omni-highlight {
621
+ :is(html.dark, body.dark) #nd-docs-layout .omni-highlight,
622
+ #nd-docs-layout.dark .omni-highlight {
598
623
  background: rgba(38, 189, 108, 0.15);
599
624
  }
600
625
 
601
- .omni-search-input:focus {
626
+ #nd-docs-layout .omni-search-input:focus {
602
627
  caret-color: var(--color-fd-primary);
603
628
  }
604
629
 
605
- .fd-page-footer {
630
+ #nd-docs-layout .fd-page-footer {
606
631
  border-top: 1px solid var(--color-fd-border);
607
632
  }
608
633
 
609
- .fd-page-description {
634
+ #nd-docs-layout .fd-page-description {
610
635
  margin-bottom: 1rem;
611
636
  font-size: 1rem;
612
637
  line-height: 1.7;
613
638
  color: var(--color-fd-muted-foreground);
614
639
  }
615
640
 
616
- .fd-page-action-btn {
641
+ #nd-docs-layout .fd-page-action-btn {
617
642
  border-radius: 8px;
618
643
  font-size: 0.8125rem;
619
644
  }
620
645
 
621
- .fd-page-action-dropdown {
646
+ #nd-docs-layout .fd-page-action-dropdown {
622
647
  position: relative;
623
648
  }
624
649
 
625
- .fd-page-action-menu {
650
+ #nd-docs-layout .fd-page-action-menu {
626
651
  border-radius: 10px;
627
652
  border: 1px solid var(--color-fd-border);
628
653
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
629
654
  background: var(--color-fd-popover);
630
655
  }
631
656
 
632
- .fd-page-action-menu-item {
657
+ #nd-docs-layout .fd-page-action-menu-item {
633
658
  border-radius: 6px;
634
659
  color: var(--color-fd-foreground);
635
660
  }
636
661
 
637
- .fd-page-action-menu-item:hover {
662
+ #nd-docs-layout .fd-page-action-menu-item:hover {
638
663
  background: var(--color-fd-accent);
639
664
  color: var(--color-fd-accent-foreground);
640
665
  }
641
666
 
642
- .fd-ai-dialog {
667
+ #nd-docs-layout .fd-ai-dialog {
643
668
  border-radius: 14px;
644
669
  box-shadow: 0 16px 70px rgba(0, 0, 0, 0.1);
645
670
  }
646
671
 
647
- .fd-ai-bubble-user {
672
+ #nd-docs-layout .fd-ai-bubble-user {
648
673
  border-radius: 16px 16px 4px 16px;
649
674
  }
650
675
 
651
- .fd-ai-bubble-ai {
676
+ #nd-docs-layout .fd-ai-bubble-ai {
652
677
  border-radius: 16px 16px 16px 4px;
653
678
  }
654
679
 
655
- .fd-ai-input-wrap {
680
+ #nd-docs-layout .fd-ai-input-wrap {
656
681
  border-radius: 10px;
657
682
  }
658
683
 
659
- .fd-ai-send-btn {
684
+ #nd-docs-layout .fd-ai-send-btn {
660
685
  border-radius: 10px;
661
686
  }
662
687
 
663
- .dark .fd-ai-floating-btn {
688
+ :is(html.dark, body.dark) #nd-docs-layout .fd-ai-floating-btn,
689
+ #nd-docs-layout.dark .fd-ai-floating-btn {
664
690
  border-radius: 999px;
665
691
  background: var(--color-fd-primary);
666
692
  color: #fff;
@@ -668,11 +694,12 @@ details > :not(summary) {
668
694
  border: none;
669
695
  }
670
696
 
671
- .dark .fd-ai-floating-btn:hover {
697
+ :is(html.dark, body.dark) #nd-docs-layout .fd-ai-floating-btn:hover,
698
+ #nd-docs-layout.dark .fd-ai-floating-btn:hover {
672
699
  filter: brightness(1.1);
673
700
  }
674
701
 
675
- :root:not(.dark) .fd-ai-floating-btn {
702
+ :root:not(.dark) #nd-docs-layout .fd-ai-floating-btn {
676
703
  border-radius: 999px;
677
704
  background: var(--color-fd-primary);
678
705
  color: #fff;
@@ -680,12 +707,13 @@ details > :not(summary) {
680
707
  border: none;
681
708
  }
682
709
 
683
- :root:not(.dark) .fd-ai-floating-btn:hover {
710
+ :root:not(.dark) #nd-docs-layout .fd-ai-floating-btn:hover {
684
711
  filter: brightness(1.1);
685
712
  }
686
713
 
687
714
  /* Custom Ask AI trigger — same as fd-ai-floating-btn for theme */
688
- .dark .fd-ai-floating-trigger .ask-ai-trigger {
715
+ :is(html.dark, body.dark) #nd-docs-layout .fd-ai-floating-trigger .ask-ai-trigger,
716
+ #nd-docs-layout.dark .fd-ai-floating-trigger .ask-ai-trigger {
689
717
  font-family: var(--fd-font-sans, inherit);
690
718
  border-radius: 999px !important;
691
719
  background: var(--color-fd-primary) !important;
@@ -694,11 +722,12 @@ details > :not(summary) {
694
722
  border: none !important;
695
723
  }
696
724
 
697
- .dark .fd-ai-floating-trigger .ask-ai-trigger:hover {
725
+ :is(html.dark, body.dark) #nd-docs-layout .fd-ai-floating-trigger .ask-ai-trigger:hover,
726
+ #nd-docs-layout.dark .fd-ai-floating-trigger .ask-ai-trigger:hover {
698
727
  filter: brightness(1.1);
699
728
  }
700
729
 
701
- :root:not(.dark) .fd-ai-floating-trigger .ask-ai-trigger {
730
+ :root:not(.dark) #nd-docs-layout .fd-ai-floating-trigger .ask-ai-trigger {
702
731
  font-family: var(--fd-font-sans, inherit);
703
732
  border-radius: 999px !important;
704
733
  background: var(--color-fd-primary) !important;
@@ -707,71 +736,72 @@ details > :not(summary) {
707
736
  border: none !important;
708
737
  }
709
738
 
710
- :root:not(.dark) .fd-ai-floating-trigger .ask-ai-trigger:hover {
739
+ :root:not(.dark) #nd-docs-layout .fd-ai-floating-trigger .ask-ai-trigger:hover {
711
740
  filter: brightness(1.1);
712
741
  }
713
742
 
714
- .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger {
743
+ #nd-docs-layout .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger {
715
744
  border-radius: 999px !important;
716
745
  background: var(--color-fd-primary) !important;
717
746
  color: #fff !important;
718
747
  border: none !important;
719
748
  }
720
749
 
721
- .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger:hover {
750
+ #nd-docs-layout .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger:hover {
722
751
  filter: brightness(1.1);
723
752
  }
724
753
 
725
- .fd-ai-suggestion {
754
+ #nd-docs-layout .fd-ai-suggestion {
726
755
  border-radius: 10px;
727
756
  }
728
- .dark .fd-ai-suggestion:hover {
757
+ :is(html.dark, body.dark) #nd-docs-layout .fd-ai-suggestion:hover,
758
+ #nd-docs-layout.dark .fd-ai-suggestion:hover {
729
759
  border: 1px solid var(--color-fd-primary/50);
730
760
  }
731
761
 
732
- .fd-ai-result {
762
+ #nd-docs-layout .fd-ai-result {
733
763
  border-radius: 10px;
734
764
  }
735
765
 
736
- .fd-ai-fm-input-container {
766
+ #nd-docs-layout .fd-ai-fm-input-container {
737
767
  border-radius: 12px;
738
768
  }
739
769
 
740
- .fd-ai-fm-send-btn {
770
+ #nd-docs-layout .fd-ai-fm-send-btn {
741
771
  border-radius: 9999px;
742
772
  }
743
773
 
744
- .fd-ai-fm-suggestion {
774
+ #nd-docs-layout .fd-ai-fm-suggestion {
745
775
  border-radius: 9999px;
746
776
  }
747
777
 
748
- .fd-ai-fm-trigger-btn {
778
+ #nd-docs-layout .fd-ai-fm-trigger-btn {
749
779
  border-radius: 16px;
750
780
  }
751
781
 
752
- .fd-ai-fm-close-btn {
782
+ #nd-docs-layout .fd-ai-fm-close-btn {
753
783
  border-radius: 9999px;
754
784
  }
755
785
 
756
- .fd-ai-code-block {
786
+ #nd-docs-layout .fd-ai-code-block {
757
787
  border-radius: 20px;
758
788
  }
759
789
 
760
- .fd-ai-fm-msg-content table {
790
+ #nd-docs-layout .fd-ai-fm-msg-content table {
761
791
  border-radius: 20px;
762
792
  }
763
- .fd-ai-code-copy {
793
+ #nd-docs-layout .fd-ai-code-copy {
764
794
  border-radius: 6px;
765
795
  }
766
796
 
767
- .fd-sidebar-search-ai-row {
797
+ #nd-docs-layout .fd-sidebar-search-ai-row {
768
798
  display: flex;
769
799
  gap: 8px;
770
800
  align-items: stretch;
771
801
  width: 100%;
772
802
  }
773
803
 
774
- .fd-sidebar-search-btn {
804
+ #nd-docs-layout .fd-sidebar-search-btn {
775
805
  flex: 1;
776
806
  min-width: 0;
777
807
  display: flex;
@@ -787,15 +817,15 @@ details > :not(summary) {
787
817
  transition: background-color 150ms;
788
818
  }
789
819
 
790
- .fd-sidebar-search-btn:hover {
820
+ #nd-docs-layout .fd-sidebar-search-btn:hover {
791
821
  background: var(--color-fd-accent) ;
792
822
  }
793
823
 
794
- .fd-sidebar-search-btn svg {
824
+ #nd-docs-layout .fd-sidebar-search-btn svg {
795
825
  flex-shrink: 0;
796
826
  }
797
827
 
798
- .fd-sidebar-search-kbd kbd {
828
+ #nd-docs-layout .fd-sidebar-search-kbd kbd {
799
829
  font-family: inherit;
800
830
  font-size: 0.7rem;
801
831
  padding: 1px 4px;
@@ -804,7 +834,7 @@ details > :not(summary) {
804
834
  background: var(--color-fd-muted);
805
835
  }
806
836
 
807
- .fd-sidebar-ai-btn {
837
+ #nd-docs-layout .fd-sidebar-ai-btn {
808
838
  display: inline-flex;
809
839
  align-items: center;
810
840
  justify-content: center;
@@ -821,24 +851,24 @@ details > :not(summary) {
821
851
  border-color 150ms;
822
852
  }
823
853
 
824
- .fd-sidebar-ai-btn:hover {
854
+ #nd-docs-layout .fd-sidebar-ai-btn:hover {
825
855
  background: var(--color-fd-accent);
826
856
  color: var(--color-fd-primary);
827
857
  border-color: var(--color-fd-primary);
828
858
  }
829
859
 
830
- .fd-sidebar-ai-btn svg {
860
+ #nd-docs-layout .fd-sidebar-ai-btn svg {
831
861
  width: 16px;
832
862
  height: 16px;
833
863
  }
834
864
 
835
- .fd-page-actions {
865
+ #nd-docs-layout .fd-page-actions {
836
866
  display: flex;
837
867
  gap: 0;
838
868
  align-items: stretch;
839
869
  }
840
870
 
841
- .fd-page-action-btn {
871
+ #nd-docs-layout .fd-page-action-btn {
842
872
  display: inline-flex;
843
873
  align-items: center;
844
874
  gap: 6px;
@@ -855,55 +885,55 @@ details > :not(summary) {
855
885
  white-space: nowrap;
856
886
  }
857
887
 
858
- .fd-page-action-btn:hover {
888
+ #nd-docs-layout .fd-page-action-btn:hover {
859
889
  background: var(--color-fd-accent);
860
890
  color: var(--color-fd-foreground);
861
891
  }
862
892
 
863
- .fd-page-actions .fd-page-action-btn:first-child {
893
+ #nd-docs-layout .fd-page-actions .fd-page-action-btn:first-child {
864
894
  border-radius: 8px 0 0 8px;
865
895
  }
866
896
 
867
- .fd-page-actions .fd-page-action-dropdown:last-child .fd-page-action-btn,
868
- .fd-page-actions > .fd-page-action-btn:last-child {
897
+ #nd-docs-layout .fd-page-actions .fd-page-action-dropdown:last-child .fd-page-action-btn,
898
+ #nd-docs-layout .fd-page-actions > .fd-page-action-btn:last-child {
869
899
  border-radius: 0 8px 8px 0;
870
900
  border-left: 1px solid var(--color-fd-border);
871
901
  padding: 6px 8px;
872
902
  }
873
903
 
874
- .fd-page-actions .fd-page-action-btn:only-child {
904
+ #nd-docs-layout .fd-page-actions .fd-page-action-btn:only-child {
875
905
  border-radius: 8px;
876
906
  border: 1px solid var(--color-fd-border);
877
907
  }
878
908
 
879
- .fd-page-action-dropdown {
909
+ #nd-docs-layout .fd-page-action-dropdown {
880
910
  position: relative;
881
911
  }
882
912
 
883
- .fd-sidebar::-webkit-scrollbar {
913
+ #nd-docs-layout .fd-sidebar::-webkit-scrollbar {
884
914
  width: 4px;
885
915
  }
886
916
 
887
- .fd-sidebar::-webkit-scrollbar-thumb {
917
+ #nd-docs-layout .fd-sidebar::-webkit-scrollbar-thumb {
888
918
  background: var(--color-fd-border);
889
919
  border-radius: 4px;
890
920
  }
891
921
 
892
- .fd-sidebar::-webkit-scrollbar-track {
922
+ #nd-docs-layout .fd-sidebar::-webkit-scrollbar-track {
893
923
  background: transparent;
894
924
  }
895
925
 
896
926
  /* ─── Feedback (greentree theme) ─────────────────────────────────── */
897
927
 
898
- .fd-feedback-input,
899
- .fd-feedback-submit {
928
+ #nd-docs-layout .fd-feedback-input,
929
+ #nd-docs-layout .fd-feedback-submit {
900
930
  border-radius: 0.75rem;
901
931
  }
902
932
 
903
- .fd-feedback-choice[data-selected="true"] {
933
+ #nd-docs-layout .fd-feedback-choice[data-selected="true"] {
904
934
  background: color-mix(in srgb, var(--color-fd-primary) 12%, var(--color-fd-secondary));
905
935
  }
906
936
 
907
- .fd-feedback-status[data-status="success"] {
937
+ #nd-docs-layout .fd-feedback-status[data-status="success"] {
908
938
  color: var(--color-fd-primary);
909
939
  }