@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.
@@ -6,7 +6,8 @@
6
6
 
7
7
  /* ─── Color Tokens (light) ───────────────────────────────────────── */
8
8
 
9
- :root {
9
+ body:has(#nd-docs-layout),
10
+ #nd-docs-layout {
10
11
  --color-fd-background: oklch(1 0 0);
11
12
  --color-fd-foreground: oklch(0.147 0.004 49.25);
12
13
  --color-fd-card: oklch(0.985 0.001 106.423);
@@ -34,7 +35,11 @@
34
35
 
35
36
  /* ─── Color Tokens (dark) ────────────────────────────────────────── */
36
37
 
37
- .dark {
38
+ html.dark body:has(#nd-docs-layout),
39
+ body.dark:has(#nd-docs-layout),
40
+ body:has(#nd-docs-layout.dark),
41
+ :is(html.dark, body.dark) #nd-docs-layout,
42
+ #nd-docs-layout.dark {
38
43
  --color-fd-background: hsl(0 0% 2%);
39
44
  --color-fd-foreground: oklch(0.985 0.001 106.423);
40
45
  --color-fd-card: hsl(0 0% 4%);
@@ -58,94 +63,102 @@
58
63
 
59
64
  /* ─── Scroll (light + dark) ──────────────────────────────────────── */
60
65
 
61
- html {
66
+ #nd-docs-layout {
62
67
  scroll-behavior: auto;
63
68
  scroll-padding-top: calc(
64
69
  var(--fd-nav-height, 56px) + var(--fd-banner-height, 0px) + var(--fd-tocnav-height, 0px) + 24px
65
70
  );
66
71
  }
67
72
 
68
- html:not([data-anchor-scrolling]) {
73
+ html:not([data-anchor-scrolling]) #nd-docs-layout {
69
74
  scroll-behavior: smooth;
70
75
  }
71
76
 
72
77
  /* ─── Custom scrollbar (light + dark) ─────────────────────────────── */
73
78
 
74
- * {
79
+ #nd-docs-layout,
80
+ #nd-docs-layout * {
75
81
  scrollbar-width: thin;
76
82
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
77
83
  }
78
84
 
79
- ::-webkit-scrollbar {
85
+ #nd-docs-layout::-webkit-scrollbar,
86
+ #nd-docs-layout *::-webkit-scrollbar {
80
87
  width: 12px;
81
88
  height: 12px;
82
89
  }
83
90
 
84
- ::-webkit-scrollbar-track {
91
+ #nd-docs-layout::-webkit-scrollbar-track,
92
+ #nd-docs-layout *::-webkit-scrollbar-track {
85
93
  background: var(--scrollbar-track);
86
94
  }
87
95
 
88
- ::-webkit-scrollbar-thumb {
96
+ #nd-docs-layout::-webkit-scrollbar-thumb,
97
+ #nd-docs-layout *::-webkit-scrollbar-thumb {
89
98
  background-color: var(--scrollbar-thumb);
90
99
  border-radius: 9999px;
91
100
  border: 3px solid transparent;
92
101
  background-clip: content-box;
93
102
  }
94
103
 
95
- ::-webkit-scrollbar-thumb:hover {
104
+ #nd-docs-layout::-webkit-scrollbar-thumb:hover,
105
+ #nd-docs-layout *::-webkit-scrollbar-thumb:hover {
96
106
  background-color: var(--scrollbar-thumb-hover);
97
107
  }
98
108
 
99
- ::-webkit-scrollbar-corner {
109
+ #nd-docs-layout::-webkit-scrollbar-corner,
110
+ #nd-docs-layout *::-webkit-scrollbar-corner {
100
111
  background: transparent;
101
112
  }
102
113
 
103
114
  /* ─── Selection (light + dark) ───────────────────────────────────── */
104
115
 
105
- body {
116
+ body:has(#nd-docs-layout),
117
+ #nd-docs-layout {
106
118
  overscroll-behavior: none;
107
119
  }
108
120
 
109
- ::selection {
121
+ #nd-docs-layout::selection,
122
+ #nd-docs-layout *::selection {
110
123
  background: var(--color-fd-foreground);
111
124
  color: var(--color-fd-background);
112
125
  }
113
126
 
114
127
  /* ─── Inline code word break ─────────────────────────────────────── */
115
128
 
116
- code:not(pre code) {
129
+ #nd-docs-layout code:not(pre code) {
117
130
  overflow-wrap: break-word;
118
131
  word-break: break-word;
119
132
  }
120
133
 
121
134
  /* ─── Sharp corners everywhere (both modes) ──────────────────────── */
122
135
 
123
- .fd-sidebar-search-btn,
124
- .fd-search-dialog,
125
- .fd-search-overlay .fd-search-dialog,
126
- .fd-search-result,
127
- .fd-codeblock,
128
- .fd-codeblock pre,
129
- .fd-codeblock-title,
130
- .fd-tabs,
131
- .fd-tab-trigger,
132
- .fd-tab-panel,
133
- .fd-callout,
134
- .fd-page-nav-card,
135
- .fd-table-wrapper,
136
- .fd-copy-btn,
137
- .fd-sidebar-search-btn kbd,
138
- .fd-sidebar-collapse-btn,
139
- .fd-theme-toggle {
136
+ #nd-docs-layout .fd-sidebar-search-btn,
137
+ #nd-docs-layout .fd-search-dialog,
138
+ #nd-docs-layout .fd-search-overlay .fd-search-dialog,
139
+ #nd-docs-layout .fd-search-result,
140
+ #nd-docs-layout .fd-codeblock,
141
+ #nd-docs-layout .fd-codeblock pre,
142
+ #nd-docs-layout .fd-codeblock-title,
143
+ #nd-docs-layout .fd-tabs,
144
+ #nd-docs-layout .fd-tab-trigger,
145
+ #nd-docs-layout .fd-tab-panel,
146
+ #nd-docs-layout .fd-callout,
147
+ #nd-docs-layout .fd-page-nav-card,
148
+ #nd-docs-layout .fd-table-wrapper,
149
+ #nd-docs-layout .fd-copy-btn,
150
+ #nd-docs-layout .fd-sidebar-search-btn kbd,
151
+ #nd-docs-layout .fd-sidebar-collapse-btn,
152
+ #nd-docs-layout .fd-theme-toggle {
140
153
  border-radius: 0 !important;
141
154
  }
142
155
 
143
156
  /* ─── Docs grid: sidebar (sticky left, full height) — no clipping ─────── */
144
157
  @media (min-width: 1024px) {
145
- .fd-layout {
158
+ #nd-docs-layout {
146
159
  grid-template-columns: var(--fd-sidebar-width) minmax(0, 1fr);
147
160
  }
148
- .fd-sidebar {
161
+ #nd-docs-layout .fd-sidebar {
149
162
  position: sticky;
150
163
  top: 0;
151
164
  align-self: start;
@@ -153,16 +166,16 @@ code:not(pre code) {
153
166
  height: 100%;
154
167
  }
155
168
 
156
- .fd-main {
169
+ #nd-docs-layout .fd-main {
157
170
  min-width: 0;
158
171
  }
159
172
 
160
- .fd-page {
173
+ #nd-docs-layout .fd-page {
161
174
  grid-template-columns: minmax(0, 1fr) var(--fd-toc-width);
162
175
  }
163
176
 
164
- .fd-page-article,
165
- .fd-page-body {
177
+ #nd-docs-layout .fd-page-article,
178
+ #nd-docs-layout .fd-page-body {
166
179
  max-width: none;
167
180
  margin-inline: 0;
168
181
  }
@@ -170,7 +183,7 @@ code:not(pre code) {
170
183
 
171
184
  /* ─── Mobile: ensure sidebar drawer/content isn't clipped ───────────────── */
172
185
  @media (max-width: 1023px) {
173
- .fd-sidebar {
186
+ #nd-docs-layout .fd-sidebar {
174
187
  max-height: none;
175
188
  overflow-y: visible;
176
189
  }
@@ -179,8 +192,8 @@ code:not(pre code) {
179
192
  /* ─── Sidebar (pixel-border style — BOTH light and dark) ─────────── */
180
193
 
181
194
  /* Full-width border separators between top-level items */
182
- .fd-sidebar-top-link,
183
- .fd-sidebar-nav > .fd-sidebar-folder {
195
+ #nd-docs-layout .fd-sidebar-top-link,
196
+ #nd-docs-layout .fd-sidebar-nav > .fd-sidebar-folder {
184
197
  border-top: 1px solid var(--color-fd-border);
185
198
  margin-left: -12px;
186
199
  margin-right: -12px;
@@ -188,7 +201,7 @@ code:not(pre code) {
188
201
  padding-right: 12px;
189
202
  }
190
203
 
191
- .fd-sidebar-folder-content::before {
204
+ #nd-docs-layout .fd-sidebar-folder-content::before {
192
205
  content: "";
193
206
  position: absolute;
194
207
  left: 4px;
@@ -198,16 +211,16 @@ code:not(pre code) {
198
211
  background: var(--color-fd-border);
199
212
  }
200
213
 
201
- .fd-sidebar-top-link.fd-sidebar-first-item,
202
- .fd-sidebar-folder.fd-sidebar-first-item {
214
+ #nd-docs-layout .fd-sidebar-top-link.fd-sidebar-first-item,
215
+ #nd-docs-layout .fd-sidebar-folder.fd-sidebar-first-item {
203
216
  border-top: none;
204
217
  }
205
218
 
206
- .fd-sidebar-top-link:last-child,
207
- .fd-sidebar-nav > .fd-sidebar-folder:last-child {
219
+ #nd-docs-layout .fd-sidebar-top-link:last-child,
220
+ #nd-docs-layout .fd-sidebar-nav > .fd-sidebar-folder:last-child {
208
221
  border-bottom: 1px solid var(--color-fd-border);
209
222
  }
210
- .fd-sidebar-folder-content::before {
223
+ #nd-docs-layout .fd-sidebar-folder-content::before {
211
224
  content: "";
212
225
  position: absolute;
213
226
  left: -4px;
@@ -219,7 +232,7 @@ code:not(pre code) {
219
232
  }
220
233
 
221
234
  /* Folder trigger — extend to full sidebar width */
222
- .fd-sidebar-nav > .fd-sidebar-folder > .fd-sidebar-folder-trigger {
235
+ #nd-docs-layout .fd-sidebar-nav > .fd-sidebar-folder > .fd-sidebar-folder-trigger {
223
236
  margin-left: -12px;
224
237
  margin-right: -12px;
225
238
  padding-left: 12px;
@@ -227,7 +240,7 @@ code:not(pre code) {
227
240
  }
228
241
 
229
242
  /* All sidebar links — sharp corners, transparent bg */
230
- .fd-sidebar-link {
243
+ #nd-docs-layout .fd-sidebar-link {
231
244
  font-size: 0.875rem;
232
245
  line-height: 1.6;
233
246
  border-radius: 0 !important;
@@ -238,89 +251,99 @@ code:not(pre code) {
238
251
  color: var(--color-fd-muted-foreground);
239
252
  }
240
253
 
241
- .fd-sidebar-link:hover {
254
+ #nd-docs-layout .fd-sidebar-link:hover {
242
255
  background: transparent !important;
243
256
  background-color: transparent !important;
244
257
  color: var(--color-fd-foreground);
245
258
  }
246
259
 
247
- .fd-sidebar-link-active,
248
- .fd-sidebar-link[data-active="true"] {
260
+ #nd-docs-layout .fd-sidebar-link-active,
261
+ #nd-docs-layout .fd-sidebar-link[data-active="true"] {
249
262
  color: var(--color-fd-foreground) !important;
250
263
  font-weight: 600;
251
264
  background: transparent !important;
252
265
  background-color: transparent !important;
253
266
  }
254
267
 
255
- .fd-sidebar-link-active:hover,
256
- .fd-sidebar-link[data-active="true"]:hover {
268
+ #nd-docs-layout .fd-sidebar-link-active:hover,
269
+ #nd-docs-layout .fd-sidebar-link[data-active="true"]:hover {
257
270
  background: transparent !important;
258
271
  background-color: transparent !important;
259
272
  }
260
273
 
261
274
  /* Folder triggers — sharp corners, transparent bg */
262
- .fd-sidebar-folder-trigger {
275
+ #nd-docs-layout .fd-sidebar-folder-trigger {
263
276
  font-size: 0.875rem;
264
277
  font-weight: 500;
265
278
  border-radius: 0 !important;
266
279
  }
267
280
 
268
- .fd-sidebar-folder-trigger:hover {
281
+ #nd-docs-layout .fd-sidebar-folder-trigger:hover {
269
282
  background: transparent !important;
270
283
  }
271
284
 
272
285
  /* Child links — smaller, inside folder content */
273
- .fd-sidebar-child-link {
286
+ #nd-docs-layout .fd-sidebar-child-link {
274
287
  font-size: 0.785rem !important;
275
288
  padding-top: 0.25rem !important;
276
289
  padding-bottom: 0.25rem !important;
277
290
  }
278
291
 
279
- .fd-sidebar-child-link.fd-sidebar-link-active {
292
+ #nd-docs-layout .fd-sidebar-child-link.fd-sidebar-link-active {
280
293
  font-weight: 600 !important;
281
294
  }
282
295
 
283
296
  /* Dark mode — specific color overrides */
284
- .dark .fd-sidebar {
297
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar,
298
+ #nd-docs-layout.dark .fd-sidebar {
285
299
  background: hsl(0 0% 2%);
286
300
  border-color: hsl(0 0% 12%);
287
301
  }
288
302
 
289
- .dark .fd-sidebar-link {
303
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-link,
304
+ #nd-docs-layout.dark .fd-sidebar-link {
290
305
  color: hsl(0 0% 50%);
291
306
  }
292
307
 
293
- .dark .fd-sidebar-link:hover {
308
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-link:hover,
309
+ #nd-docs-layout.dark .fd-sidebar-link:hover {
294
310
  color: hsl(0 0% 80%);
295
311
  }
296
312
 
297
- .dark .fd-sidebar-folder-trigger {
313
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-folder-trigger,
314
+ #nd-docs-layout.dark .fd-sidebar-folder-trigger {
298
315
  color: hsl(0 0% 90%);
299
316
  }
300
317
 
301
- .dark .fd-sidebar-folder-trigger:hover {
318
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-folder-trigger:hover,
319
+ #nd-docs-layout.dark .fd-sidebar-folder-trigger:hover {
302
320
  color: hsl(0 0% 100%);
303
321
  }
304
322
 
305
- .dark .fd-sidebar-link-active,
306
- .dark .fd-sidebar-link[data-active="true"] {
323
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-link-active,
324
+ #nd-docs-layout.dark .fd-sidebar-link-active,
325
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-link[data-active="true"],
326
+ #nd-docs-layout.dark .fd-sidebar-link[data-active="true"] {
307
327
  color: var(--color-fd-primary, hsl(0 0% 95%)) !important;
308
328
  }
309
329
 
310
- .dark .fd-sidebar-child-link {
330
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-child-link,
331
+ #nd-docs-layout.dark .fd-sidebar-child-link {
311
332
  color: hsl(0 0% 45%) !important;
312
333
  }
313
334
 
314
- .dark .fd-sidebar-child-link:hover {
335
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-child-link:hover,
336
+ #nd-docs-layout.dark .fd-sidebar-child-link:hover {
315
337
  color: hsl(0 0% 75%) !important;
316
338
  }
317
339
 
318
- .dark .fd-sidebar-child-link.fd-sidebar-link-active {
340
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-child-link.fd-sidebar-link-active,
341
+ #nd-docs-layout.dark .fd-sidebar-child-link.fd-sidebar-link-active {
319
342
  color: var(--color-fd-primary, hsl(0 0% 95%)) !important;
320
343
  }
321
344
 
322
345
  /* Active indicator bar for child links */
323
- .fd-sidebar-folder-content .fd-sidebar-link-active::before {
346
+ #nd-docs-layout .fd-sidebar-folder-content .fd-sidebar-link-active::before {
324
347
  content: "";
325
348
  position: absolute;
326
349
  left: -16px;
@@ -331,24 +354,25 @@ code:not(pre code) {
331
354
  border-radius: 0;
332
355
  }
333
356
 
334
- .dark .fd-sidebar-folder-content .fd-sidebar-link-active::before {
357
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-folder-content .fd-sidebar-link-active::before,
358
+ #nd-docs-layout.dark .fd-sidebar-folder-content .fd-sidebar-link-active::before {
335
359
  background: var(--color-fd-primary, hsl(0 0% 95%));
336
360
  }
337
361
 
338
362
  /* Sidebar icon */
339
- .fd-sidebar-icon {
363
+ #nd-docs-layout .fd-sidebar-icon {
340
364
  display: inline-flex;
341
365
  align-items: center;
342
366
  flex-shrink: 0;
343
367
  opacity: 0.7;
344
368
  }
345
369
 
346
- .fd-sidebar-link-active .fd-sidebar-icon {
370
+ #nd-docs-layout .fd-sidebar-link-active .fd-sidebar-icon {
347
371
  opacity: 1;
348
372
  }
349
373
 
350
374
  /* Sidebar search button — full-width, border-y */
351
- .fd-sidebar-search-btn {
375
+ #nd-docs-layout .fd-sidebar-search-btn {
352
376
  background: transparent !important;
353
377
  border: none !important;
354
378
  border-top: 1px solid var(--color-fd-border) !important;
@@ -356,7 +380,7 @@ code:not(pre code) {
356
380
  border-radius: 0 !important;
357
381
  }
358
382
 
359
- .fd-sidebar-search {
383
+ #nd-docs-layout .fd-sidebar-search {
360
384
  padding: 0;
361
385
  margin-left: -12px;
362
386
  margin-right: -12px;
@@ -364,60 +388,65 @@ code:not(pre code) {
364
388
  padding-right: 12px;
365
389
  }
366
390
 
367
- .fd-sidebar-search .fd-sidebar-search-btn {
391
+ #nd-docs-layout .fd-sidebar-search .fd-sidebar-search-btn {
368
392
  width: 100%;
369
393
  padding-left: 12px;
370
394
  padding-right: 12px;
371
395
  margin: 0;
372
396
  }
373
397
 
374
- .fd-sidebar-search-btn:hover {
398
+ #nd-docs-layout .fd-sidebar-search-btn:hover {
375
399
  background: var(--color-fd-accent) !important;
376
400
  }
377
401
 
378
- .dark .fd-sidebar-search-btn {
402
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-search-btn,
403
+ #nd-docs-layout.dark .fd-sidebar-search-btn {
379
404
  color: hsl(0 0% 45%);
380
405
  }
381
406
 
382
- .dark .fd-sidebar-search-btn:hover {
407
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar-search-btn:hover,
408
+ #nd-docs-layout.dark .fd-sidebar-search-btn:hover {
383
409
  background: hsl(0 0% 4%) !important;
384
410
  color: hsl(0 0% 65%);
385
411
  }
386
412
 
387
413
  /* ─── Tables ─────────────────────────────────────────────────────── */
388
414
 
389
- .fd-table-wrapper {
415
+ #nd-docs-layout .fd-table-wrapper {
390
416
  border-radius: 0 !important;
391
417
  }
392
418
 
393
- .dark .fd-table-wrapper {
419
+ :is(html.dark, body.dark) #nd-docs-layout .fd-table-wrapper,
420
+ #nd-docs-layout.dark .fd-table-wrapper {
394
421
  border-color: hsl(0 0% 15%);
395
422
  }
396
423
 
397
- .dark .fd-page-body table th {
424
+ :is(html.dark, body.dark) #nd-docs-layout .fd-page-body table th,
425
+ #nd-docs-layout.dark .fd-page-body table th {
398
426
  background: hsl(0 0% 6%);
399
427
  color: hsl(0 0% 80%);
400
428
  font-weight: 500;
401
429
  border-color: hsl(0 0% 15%);
402
430
  }
403
431
 
404
- .dark .fd-page-body table td {
432
+ :is(html.dark, body.dark) #nd-docs-layout .fd-page-body table td,
433
+ #nd-docs-layout.dark .fd-page-body table td {
405
434
  border-color: hsl(0 0% 12%);
406
435
  }
407
436
 
408
437
  /* ─── Code blocks ────────────────────────────────────────────────── */
409
438
 
410
- .fd-codeblock {
439
+ #nd-docs-layout .fd-codeblock {
411
440
  border: 1px solid var(--color-fd-border);
412
441
  border-radius: 0 !important;
413
442
  box-shadow: none;
414
443
  }
415
444
 
416
- .fd-codeblock pre.shiki {
445
+ #nd-docs-layout .fd-codeblock pre.shiki {
417
446
  border-radius: 0 !important;
418
447
  }
419
448
 
420
- .fd-codeblock-title {
449
+ #nd-docs-layout .fd-codeblock-title {
421
450
  border-bottom: 1px solid var(--color-fd-border) !important;
422
451
  border-radius: 0 !important;
423
452
  background-color: color-mix(in srgb, var(--color-fd-secondary, hsl(0 0% 8%)) 55%, transparent) !important;
@@ -430,161 +459,166 @@ code:not(pre code) {
430
459
  ) !important;
431
460
  }
432
461
 
433
- .fd-codeblock-title .fd-copy-btn {
462
+ #nd-docs-layout .fd-codeblock-title .fd-copy-btn {
434
463
  border-radius: 0 !important;
435
464
  }
436
465
 
437
- .fd-copy-btn {
466
+ #nd-docs-layout .fd-copy-btn {
438
467
  border-radius: 0 !important;
439
468
  }
440
469
 
441
470
  /* ─── Tabs ───────────────────────────────────────────────────────── */
442
471
 
443
- .fd-tabs {
472
+ #nd-docs-layout .fd-tabs {
444
473
  border-radius: 0 !important;
445
474
  box-shadow: none;
446
475
  }
447
476
 
448
477
  /* ─── Callouts ───────────────────────────────────────────────────── */
449
478
 
450
- .fd-callout {
479
+ #nd-docs-layout .fd-callout {
451
480
  border-radius: 0 !important;
452
481
  }
453
482
 
454
483
  /* ─── Prev/Next nav cards ────────────────────────────────────────── */
455
484
 
456
- .fd-page-nav-card {
485
+ #nd-docs-layout .fd-page-nav-card {
457
486
  border-radius: 0 !important;
458
487
  }
459
488
 
460
- .dark .fd-page-nav-card {
489
+ :is(html.dark, body.dark) #nd-docs-layout .fd-page-nav-card,
490
+ #nd-docs-layout.dark .fd-page-nav-card {
461
491
  border-color: hsl(0 0% 15%);
462
492
  }
463
493
 
464
- .dark .fd-page-nav-card:hover {
494
+ :is(html.dark, body.dark) #nd-docs-layout .fd-page-nav-card:hover,
495
+ #nd-docs-layout.dark .fd-page-nav-card:hover {
465
496
  background: hsl(0 0% 6%);
466
497
  border-color: hsl(0 0% 22%);
467
498
  }
468
499
 
469
500
  /* ─── Search dialog ──────────────────────────────────────────────── */
470
501
 
471
- .fd-search-overlay .fd-search-dialog {
502
+ #nd-docs-layout .fd-search-overlay .fd-search-dialog {
472
503
  border-radius: 0;
473
504
  }
474
505
 
475
506
  /* ─── Breadcrumb (monospace, uppercase) ───────────────────────────── */
476
507
 
477
- .fd-breadcrumb {
508
+ #nd-docs-layout .fd-breadcrumb {
478
509
  font-size: 0.75rem;
479
510
  letter-spacing: 0.01em;
480
511
  }
481
512
 
482
- .fd-breadcrumb-parent,
483
- .fd-breadcrumb-current {
513
+ #nd-docs-layout .fd-breadcrumb-parent,
514
+ #nd-docs-layout .fd-breadcrumb-current {
484
515
  font-family: ui-monospace, monospace;
485
516
  text-transform: uppercase;
486
517
  }
487
518
 
488
519
  /* ─── Selection ──────────────────────────────────────────────────── */
489
520
 
490
- ::selection {
521
+ #nd-docs-layout::selection,
522
+ #nd-docs-layout *::selection {
491
523
  background: var(--color-fd-foreground);
492
524
  color: var(--color-fd-background);
493
525
  }
494
526
 
495
527
  /* ─── Scrollbar ──────────────────────────────────────────────────── */
496
528
 
497
- * {
529
+ #nd-docs-layout,
530
+ #nd-docs-layout * {
498
531
  scrollbar-width: thin;
499
532
  scrollbar-color: var(--color-fd-border) transparent;
500
533
  }
501
534
 
502
535
  /* ─── HR ─────────────────────────────────────────────────────────── */
503
536
 
504
- .dark hr {
537
+ :is(html.dark, body.dark) #nd-docs-layout hr,
538
+ #nd-docs-layout.dark hr {
505
539
  border-color: hsl(0 0% 15%);
506
540
  }
507
541
 
508
542
  /* ─── AI Chat (pixel-border — zero radius, pixel-art, monospace) ── */
509
543
 
510
- .fd-ai-dialog {
544
+ #nd-docs-layout .fd-ai-dialog {
511
545
  border-radius: 0 !important;
512
546
  border-width: 1px;
513
547
  box-shadow: 4px 4px 0 0 var(--color-fd-border, hsl(0 0% 15%));
514
548
  }
515
549
 
516
- .fd-ai-tab-bar {
550
+ #nd-docs-layout .fd-ai-tab-bar {
517
551
  gap: 0;
518
552
  }
519
553
 
520
- .fd-ai-tab {
554
+ #nd-docs-layout .fd-ai-tab {
521
555
  border-radius: 0 !important;
522
556
  font-size: 12px;
523
557
  letter-spacing: 0.04em;
524
558
  }
525
559
 
526
- .fd-ai-header-title {
560
+ #nd-docs-layout .fd-ai-header-title {
527
561
  font-size: 13px;
528
562
  }
529
563
 
530
- .fd-ai-bubble-user {
564
+ #nd-docs-layout .fd-ai-bubble-user {
531
565
  border-radius: 0 !important;
532
566
  font-size: 12px;
533
567
  }
534
568
 
535
- .fd-ai-bubble-ai {
569
+ #nd-docs-layout .fd-ai-bubble-ai {
536
570
  border-radius: 0 !important;
537
571
  font-size: 12px;
538
572
  }
539
573
 
540
- .fd-ai-bubble-ai pre {
574
+ #nd-docs-layout .fd-ai-bubble-ai pre {
541
575
  border-radius: 0 !important;
542
576
  border: 1px solid var(--color-fd-border, hsl(0 0% 15%));
543
577
  }
544
578
 
545
- .fd-ai-bubble-ai code {
579
+ #nd-docs-layout .fd-ai-bubble-ai code {
546
580
  border-radius: 0 !important;
547
581
  }
548
582
 
549
- .fd-ai-input-wrap {
583
+ #nd-docs-layout .fd-ai-input-wrap {
550
584
  border-radius: 0 !important;
551
585
  }
552
586
 
553
- .fd-ai-input {
587
+ #nd-docs-layout .fd-ai-input {
554
588
  font-size: 13px;
555
589
  }
556
590
 
557
- .fd-ai-send-btn {
591
+ #nd-docs-layout .fd-ai-send-btn {
558
592
  border-radius: 0 !important;
559
593
  }
560
594
 
561
- .fd-ai-close-btn {
595
+ #nd-docs-layout .fd-ai-close-btn {
562
596
  border-radius: 0 !important;
563
597
  }
564
598
 
565
- .fd-ai-floating-btn {
599
+ #nd-docs-layout .fd-ai-floating-btn {
566
600
  border-radius: 0 !important;
567
601
  box-shadow: 3px 3px 0 0 var(--color-fd-border, hsl(0 0% 15%));
568
602
  }
569
603
 
570
- .fd-ai-floating-btn:hover {
604
+ #nd-docs-layout .fd-ai-floating-btn:hover {
571
605
  transform: translate(-1px, -1px);
572
606
  box-shadow: 4px 4px 0 0 var(--color-fd-border, hsl(0 0% 15%));
573
607
  }
574
608
 
575
609
  /* Custom Ask AI trigger — same as fd-ai-floating-btn for theme */
576
- .fd-ai-floating-trigger .ask-ai-trigger {
610
+ #nd-docs-layout .fd-ai-floating-trigger .ask-ai-trigger {
577
611
  font-family: var(--fd-font-sans, inherit);
578
612
  border-radius: 0 !important;
579
613
  box-shadow: 3px 3px 0 0 var(--color-fd-border, hsl(0 0% 15%)) !important;
580
614
  }
581
615
 
582
- .fd-ai-floating-trigger .ask-ai-trigger:hover {
616
+ #nd-docs-layout .fd-ai-floating-trigger .ask-ai-trigger:hover {
583
617
  transform: translate(-1px, -1px);
584
618
  box-shadow: 4px 4px 0 0 var(--color-fd-border, hsl(0 0% 15%));
585
619
  }
586
620
 
587
- .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger {
621
+ #nd-docs-layout .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger {
588
622
  border-radius: 0 !important;
589
623
  font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
590
624
  text-transform: uppercase !important;
@@ -593,40 +627,40 @@ code:not(pre code) {
593
627
  box-shadow: 3px 3px 0 0 var(--color-fd-border, hsl(0 0% 15%)) !important;
594
628
  }
595
629
 
596
- .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger:hover {
630
+ #nd-docs-layout .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger:hover {
597
631
  transform: translate(-1px, -1px);
598
632
  box-shadow: 4px 4px 0 0 var(--color-fd-border, hsl(0 0% 15%));
599
633
  }
600
634
 
601
- .fd-ai-suggestion {
635
+ #nd-docs-layout .fd-ai-suggestion {
602
636
  border-radius: 0 !important;
603
637
  font-size: 12px;
604
638
  }
605
639
 
606
- .fd-ai-result {
640
+ #nd-docs-layout .fd-ai-result {
607
641
  border-radius: 0 !important;
608
642
  }
609
643
 
610
- .fd-ai-esc {
644
+ #nd-docs-layout .fd-ai-esc {
611
645
  border-radius: 0 !important;
612
646
  }
613
647
 
614
- .fd-ai-clear-btn {
648
+ #nd-docs-layout .fd-ai-clear-btn {
615
649
  border-radius: 0 !important;
616
650
  letter-spacing: 0.04em;
617
651
  }
618
652
 
619
- .fd-ai-msg-label {
653
+ #nd-docs-layout .fd-ai-msg-label {
620
654
  letter-spacing: 0.06em;
621
655
  }
622
656
 
623
- .fd-ai-loader-shimmer-text {
657
+ #nd-docs-layout .fd-ai-loader-shimmer-text {
624
658
  text-transform: uppercase;
625
659
  letter-spacing: 0.04em;
626
660
  font-size: 11px;
627
661
  }
628
662
 
629
- .fd-ai-loader-typing-dot {
663
+ #nd-docs-layout .fd-ai-loader-typing-dot {
630
664
  border-radius: 0;
631
665
  width: 4px;
632
666
  height: 4px;
@@ -634,24 +668,24 @@ code:not(pre code) {
634
668
 
635
669
  /* ─── Full-Modal (pixel-border) ──────────────────────────────────── */
636
670
 
637
- .fd-ai-fm-input-container {
671
+ #nd-docs-layout .fd-ai-fm-input-container {
638
672
  border-radius: 0 !important;
639
673
  box-shadow: 4px 4px 0 0 var(--color-fd-border, hsl(0 0% 15%));
640
674
  }
641
675
 
642
- .fd-ai-fm-send-btn {
676
+ #nd-docs-layout .fd-ai-fm-send-btn {
643
677
  border-radius: 0 !important;
644
678
  }
645
679
 
646
- .fd-ai-fm-close-btn {
680
+ #nd-docs-layout .fd-ai-fm-close-btn {
647
681
  border-radius: 0 !important;
648
682
  }
649
683
 
650
- .fd-ai-fm-input {
684
+ #nd-docs-layout .fd-ai-fm-input {
651
685
  font-size: 13px;
652
686
  }
653
687
 
654
- .fd-ai-fm-suggestion {
688
+ #nd-docs-layout .fd-ai-fm-suggestion {
655
689
  border-radius: 0 !important;
656
690
  font-family: var(--fd-font-mono, ui-monospace, monospace);
657
691
  font-size: 11px;
@@ -659,7 +693,7 @@ code:not(pre code) {
659
693
  letter-spacing: 0.04em;
660
694
  }
661
695
 
662
- .fd-ai-fm-trigger-btn {
696
+ #nd-docs-layout .fd-ai-fm-trigger-btn {
663
697
  border-radius: 0 !important;
664
698
  font-family: var(--fd-font-mono, ui-monospace, monospace);
665
699
  text-transform: uppercase;
@@ -668,39 +702,39 @@ code:not(pre code) {
668
702
  box-shadow: 3px 3px 0 0 var(--color-fd-border, hsl(0 0% 15%));
669
703
  }
670
704
 
671
- .fd-ai-fm-trigger-btn:hover {
705
+ #nd-docs-layout .fd-ai-fm-trigger-btn:hover {
672
706
  transform: translate(-1px, -1px);
673
707
  box-shadow: 4px 4px 0 0 var(--color-fd-border, hsl(0 0% 15%));
674
708
  }
675
709
 
676
- .fd-ai-fm-msg-label {
710
+ #nd-docs-layout .fd-ai-fm-msg-label {
677
711
  font-family: var(--fd-font-mono, ui-monospace, monospace);
678
712
  text-transform: uppercase;
679
713
  letter-spacing: 0.06em;
680
714
  font-size: 11px;
681
715
  }
682
716
 
683
- .fd-ai-fm-msg-content {
717
+ #nd-docs-layout .fd-ai-fm-msg-content {
684
718
  font-size: 13px;
685
719
  }
686
720
 
687
- .fd-ai-fm-msg-content code {
721
+ #nd-docs-layout .fd-ai-fm-msg-content code {
688
722
  border-radius: 0 !important;
689
723
  }
690
724
 
691
- .fd-ai-fm-suggestions-label {
725
+ #nd-docs-layout .fd-ai-fm-suggestions-label {
692
726
  font-family: var(--fd-font-mono, ui-monospace, monospace);
693
727
  text-transform: uppercase;
694
728
  letter-spacing: 0.04em;
695
729
  }
696
730
 
697
- .fd-ai-fm-clear-btn {
731
+ #nd-docs-layout .fd-ai-fm-clear-btn {
698
732
  font-family: var(--fd-font-mono, ui-monospace, monospace);
699
733
  text-transform: uppercase;
700
734
  letter-spacing: 0.04em;
701
735
  }
702
736
 
703
- .fd-ai-fm-footer-hint {
737
+ #nd-docs-layout .fd-ai-fm-footer-hint {
704
738
  font-size: 11px;
705
739
  }
706
740
 
@@ -708,7 +742,7 @@ code:not(pre code) {
708
742
 
709
743
  /* ─── Code blocks in AI chat (pixel-border) ──────────────────────── */
710
744
 
711
- .fd-ai-code-block {
745
+ #nd-docs-layout .fd-ai-code-block {
712
746
  border-radius: 0 !important;
713
747
  box-shadow: 3px 3px 0 0 var(--color-fd-border, hsl(0 0% 15%));
714
748
  background: transparent;
@@ -723,28 +757,28 @@ code:not(pre code) {
723
757
  --sh-jsxliterals: #ae81ff;
724
758
  }
725
759
 
726
- .fd-ai-code-header {
760
+ #nd-docs-layout .fd-ai-code-header {
727
761
  border-bottom-color: var(--color-fd-border, hsl(0 0% 15%));
728
762
  background: transparent;
729
763
  }
730
764
 
731
- .fd-ai-code-lang {
765
+ #nd-docs-layout .fd-ai-code-lang {
732
766
  font-family: var(--fd-font-mono, ui-monospace, monospace);
733
767
  }
734
768
 
735
- .fd-ai-code-copy {
769
+ #nd-docs-layout .fd-ai-code-copy {
736
770
  border-radius: 0 !important;
737
771
  font-family: var(--fd-font-mono, ui-monospace, monospace);
738
772
  text-transform: uppercase;
739
773
  letter-spacing: 0.04em;
740
774
  }
741
775
 
742
- .fd-ai-code-block code {
776
+ #nd-docs-layout .fd-ai-code-block code {
743
777
  font-family: var(--fd-font-mono, ui-monospace, monospace);
744
778
  }
745
779
 
746
780
  /* Light mode: AI code blocks — light bg + dark text + visible pixel border */
747
- :root:not(.dark) .fd-ai-code-block {
781
+ :root:not(.dark) #nd-docs-layout .fd-ai-code-block {
748
782
  background: #f4f4f5 !important;
749
783
  box-shadow: 3px 3px 0 0 hsl(0 0% 75%);
750
784
  --sh-class: #b45309;
@@ -758,32 +792,32 @@ code:not(pre code) {
758
792
  --sh-jsxliterals: #7c3aed;
759
793
  }
760
794
 
761
- :root:not(.dark) .fd-ai-code-header {
795
+ :root:not(.dark) #nd-docs-layout .fd-ai-code-header {
762
796
  border-bottom-color: hsl(0 0% 80%);
763
797
  background: color-mix(in srgb, #e4e4e7 90%, transparent);
764
798
  }
765
799
 
766
- :root:not(.dark) .fd-ai-code-lang {
800
+ :root:not(.dark) #nd-docs-layout .fd-ai-code-lang {
767
801
  color: #52525b;
768
802
  }
769
803
 
770
- :root:not(.dark) .fd-ai-code-copy {
804
+ :root:not(.dark) #nd-docs-layout .fd-ai-code-copy {
771
805
  color: #52525b;
772
806
  border-color: hsl(0 0% 75%);
773
807
  }
774
808
 
775
- :root:not(.dark) .fd-ai-code-copy:hover {
809
+ :root:not(.dark) #nd-docs-layout .fd-ai-code-copy:hover {
776
810
  color: #18181b;
777
811
  background: color-mix(in srgb, #d4d4d8 70%, transparent);
778
812
  }
779
813
 
780
- :root:not(.dark) .fd-ai-code-block code {
814
+ :root:not(.dark) #nd-docs-layout .fd-ai-code-block code {
781
815
  color: #1f2937;
782
816
  }
783
817
 
784
818
  /* ─── Omni Command Palette — pixel-border theme ──────────────────── */
785
819
 
786
- .omni-content {
820
+ #nd-docs-layout .omni-content {
787
821
  border-radius: 0 !important;
788
822
  border: 2px solid var(--color-fd-border, hsl(0 0% 15%)) !important;
789
823
  box-shadow:
@@ -791,45 +825,45 @@ code:not(pre code) {
791
825
  0 24px 60px -12px rgba(0, 0, 0, 0.5) !important;
792
826
  }
793
827
 
794
- .omni-item {
828
+ #nd-docs-layout .omni-item {
795
829
  border-radius: 0 !important;
796
830
  }
797
831
 
798
- .omni-kbd,
799
- .omni-kbd-sm {
832
+ #nd-docs-layout .omni-kbd,
833
+ #nd-docs-layout .omni-kbd-sm {
800
834
  border-radius: 0 !important;
801
835
  border: 1px solid var(--color-fd-border, hsl(0 0% 15%)) !important;
802
836
  }
803
837
 
804
- .omni-close-btn {
838
+ #nd-docs-layout .omni-close-btn {
805
839
  border-radius: 0 !important;
806
840
  }
807
841
 
808
- .omni-empty-icon {
842
+ #nd-docs-layout .omni-empty-icon {
809
843
  border-radius: 0 !important;
810
844
  }
811
845
 
812
- .omni-search-input {
846
+ #nd-docs-layout .omni-search-input {
813
847
  font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
814
848
  }
815
849
 
816
- .omni-group-label {
850
+ #nd-docs-layout .omni-group-label {
817
851
  font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
818
852
  letter-spacing: 0.08em !important;
819
853
  }
820
854
 
821
- .omni-footer-inner {
855
+ #nd-docs-layout .omni-footer-inner {
822
856
  font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
823
857
  }
824
858
 
825
- .omni-highlight {
859
+ #nd-docs-layout .omni-highlight {
826
860
  background: color-mix(in srgb, var(--color-fd-primary, #6366f1) 25%, transparent) !important;
827
861
  border-radius: 0 !important;
828
862
  }
829
863
 
830
864
  /* ─── Page Actions — pixel-border theme ─────────────────────────── */
831
865
 
832
- .fd-page-action-btn {
866
+ #nd-docs-layout .fd-page-action-btn {
833
867
  text-transform: uppercase !important;
834
868
  box-shadow: 2px 2px 0 0 var(--color-fd-border, #262626) !important;
835
869
  font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
@@ -838,18 +872,18 @@ code:not(pre code) {
838
872
  letter-spacing: 0.03em !important;
839
873
  }
840
874
 
841
- .fd-page-action-dropdown {
875
+ #nd-docs-layout .fd-page-action-dropdown {
842
876
  position: relative !important;
843
877
  }
844
878
 
845
- .fd-page-action-menu {
879
+ #nd-docs-layout .fd-page-action-menu {
846
880
  border-radius: 0 !important;
847
881
  border: 2px solid var(--color-fd-border, #262626) !important;
848
882
  box-shadow: 2px 2px 0 0 var(--color-fd-border, #262626), 0 4px 24px hsl(0 0% 0% / 0.5) !important;
849
883
  padding: 0 !important;
850
884
  }
851
885
 
852
- .fd-page-action-menu-item {
886
+ #nd-docs-layout .fd-page-action-menu-item {
853
887
  border-radius: 0 !important;
854
888
  font-size: 0.8rem !important;
855
889
  font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
@@ -859,26 +893,26 @@ code:not(pre code) {
859
893
  border-top: 1px solid var(--color-fd-border, #262626) !important;
860
894
  }
861
895
 
862
- .fd-page-action-menu-item:first-child {
896
+ #nd-docs-layout .fd-page-action-menu-item:first-child {
863
897
  border-top: none !important;
864
898
  }
865
899
 
866
900
  /* ─── Prompt (pixel-border theme) ──────────────────────────────── */
867
901
 
868
- .fd-prompt {
902
+ #nd-docs-layout .fd-prompt {
869
903
  border-radius: 0 !important;
870
904
  border: 1px solid var(--color-fd-border, #262626) !important;
871
905
  background: var(--color-fd-card, var(--color-fd-background)) !important;
872
906
  box-shadow: 4px 4px 0 0 var(--color-fd-border, #262626) !important;
873
907
  }
874
908
 
875
- .fd-prompt-body {
909
+ #nd-docs-layout .fd-prompt-body {
876
910
  border-radius: 0 !important;
877
911
  border-top: 1px solid var(--color-fd-border, #262626) !important;
878
912
  background: var(--color-fd-background, #0c0c0c) !important;
879
913
  }
880
914
 
881
- .fd-prompt-action-btn {
915
+ #nd-docs-layout .fd-prompt-action-btn {
882
916
  text-transform: uppercase !important;
883
917
  box-shadow: 2px 2px 0 0 var(--color-fd-border, #262626) !important;
884
918
  font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
@@ -890,12 +924,12 @@ code:not(pre code) {
890
924
  border: 1px solid var(--color-fd-border) !important;
891
925
  }
892
926
 
893
- .fd-prompt-action-btn:hover {
927
+ #nd-docs-layout .fd-prompt-action-btn:hover {
894
928
  background: var(--color-fd-muted) !important;
895
929
  color: var(--color-fd-foreground) !important;
896
930
  }
897
931
 
898
- .fd-prompt-menu {
932
+ #nd-docs-layout .fd-prompt-menu {
899
933
  border-radius: 0 !important;
900
934
  box-shadow: 4px 4px 0 0 var(--color-fd-border, hsl(0 0% 15%)), 0 4px 24px hsl(0 0% 0% / 0.5) !important;
901
935
  background: var(--color-fd-popover) !important;
@@ -903,7 +937,7 @@ code:not(pre code) {
903
937
  padding: 0.375rem !important;
904
938
  }
905
939
 
906
- .fd-prompt-menu-item {
940
+ #nd-docs-layout .fd-prompt-menu-item {
907
941
  border-radius: 0 !important;
908
942
  font-size: 0.8rem !important;
909
943
  font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
@@ -914,28 +948,28 @@ code:not(pre code) {
914
948
  border-top: 1px solid var(--color-fd-border) !important;
915
949
  }
916
950
 
917
- .fd-prompt-menu-item:first-child {
951
+ #nd-docs-layout .fd-prompt-menu-item:first-child {
918
952
  border-top: none !important;
919
953
  }
920
954
 
921
- .fd-prompt-menu-item:hover {
955
+ #nd-docs-layout .fd-prompt-menu-item:hover {
922
956
  background: var(--color-fd-muted) !important;
923
957
  color: var(--color-fd-foreground) !important;
924
958
  }
925
959
 
926
960
  /* ─── Feedback (pixel-border theme) ──────────────────────────────── */
927
961
 
928
- .fd-feedback-input,
929
- .fd-feedback-submit {
962
+ #nd-docs-layout .fd-feedback-input,
963
+ #nd-docs-layout .fd-feedback-submit {
930
964
  border-radius: 0 !important;
931
965
  box-shadow: 3px 3px 0 0 var(--color-fd-border);
932
966
  }
933
967
 
934
- .fd-feedback-choice[data-selected="true"] {
968
+ #nd-docs-layout .fd-feedback-choice[data-selected="true"] {
935
969
  background: var(--color-fd-secondary);
936
970
  }
937
971
 
938
- .fd-feedback-status[data-status="success"] {
972
+ #nd-docs-layout .fd-feedback-status[data-status="success"] {
939
973
  font-family: var(--fd-font-mono, var(--font-geist-mono, ui-monospace, monospace));
940
974
  text-transform: uppercase;
941
975
  }