@farming-labs/theme 0.2.99 → 0.2.102

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.
@@ -35,7 +35,7 @@
35
35
  --scrollbar-track: transparent;
36
36
  /* Sharp corners — no rounding */
37
37
  --radius: 0px;
38
- --fd-nav-height: 44px;
38
+ --fd-nav-height: 56px;
39
39
  --fd-banner-height: 0px;
40
40
  --fd-tocnav-height: 0px;
41
41
  }
@@ -149,593 +149,98 @@ code:not(pre code) {
149
149
  * Pixel-border theme — better-auth inspired sidebar, clean dark UI
150
150
  * ═══════════════════════════════════════════════════════════════════ */
151
151
 
152
- /* ─── Production shell geometry ─────────────────────────────────── */
152
+ /* ─── Wider content area on desktop ──────────────────────────────── */
153
153
 
154
154
  @media (min-width: 1024px) {
155
155
  :root {
156
156
  --fd-layout-width: 1400px;
157
157
  }
158
+ }
158
159
 
159
- #nd-docs-layout.grid:not([data-fd-framework]) {
160
- --fd-header-height: 44px;
161
- grid-template:
162
- "sidebar header header" 44px
163
- "sidebar main toc" 1fr /
164
- var(--fd-sidebar-col) minmax(0, 1fr) var(--fd-toc-width) !important;
160
+ /* ─── Default docs: comfortable article gutters ─────────────────── */
161
+ @media (min-width: 768px) {
162
+ #nd-docs-layout:not([data-fd-framework]) article#nd-page {
163
+ padding-inline: 2rem;
165
164
  }
165
+ }
166
166
 
167
- #nd-docs-layout #nd-subnav {
168
- position: sticky;
169
- top: 0;
170
- z-index: 30;
171
- display: flex !important;
172
- grid-area: header;
173
- grid-column: 2 / -1;
174
- height: 44px;
175
- padding: 0 105px 0 0;
176
- border-bottom: 1px solid var(--color-fd-border);
177
- background: color-mix(in srgb, var(--color-fd-background) 92%, transparent);
178
- backdrop-filter: blur(12px);
167
+ @media (max-width: 1279px) {
168
+ #nd-docs-layout:not([data-fd-framework]) {
169
+ --fd-toc-popover-height: 0px !important;
179
170
  }
180
171
 
181
- #nd-docs-layout #nd-subnav > a,
182
- #nd-docs-layout #nd-subnav button[aria-label="Open Sidebar"] {
172
+ #nd-docs-layout:not([data-fd-framework]) #nd-toc,
173
+ #nd-docs-layout:not([data-fd-framework]) [data-toc-popover] {
183
174
  display: none !important;
184
175
  }
176
+ }
185
177
 
186
- #nd-docs-layout #nd-subnav button[data-search] {
187
- width: 56px;
188
- height: 44px;
189
- margin-left: auto;
190
- padding: 0;
191
- border-left: 1px solid var(--color-fd-border);
192
- color: var(--color-fd-muted-foreground);
193
- }
178
+ /* Keep the native Clerk bend from overpainting the straight rail segment. */
179
+ #nd-toc a > div.bottom-1\.5 {
180
+ bottom: 0.375rem;
181
+ }
194
182
 
195
- /* Farm's desktop header uses the compact keyboard hint in place of the
196
- * magnifier while keeping Fumadocs' search trigger and shortcut behavior. */
197
- #nd-docs-layout #nd-subnav button[data-search] svg {
198
- display: none !important;
199
- }
183
+ #nd-toc a > div.top-1\.5 {
184
+ top: 0.375rem;
185
+ }
200
186
 
201
- #nd-docs-layout #nd-subnav button[data-search]::after {
202
- content: "⌘ K";
203
- display: inline-flex;
204
- width: 35px;
205
- height: 22px;
206
- align-items: center;
207
- justify-content: center;
208
- border: 1px solid var(--color-fd-border);
209
- background: linear-gradient(
210
- to right,
211
- transparent calc(50% - 0.5px),
212
- var(--color-fd-border) calc(50% - 0.5px),
213
- var(--color-fd-border) calc(50% + 0.5px),
214
- transparent calc(50% + 0.5px)
215
- );
216
- font-family: var(--fd-font-mono, ui-monospace, monospace);
217
- font-size: 10px;
218
- line-height: 1;
219
- letter-spacing: 1px;
187
+ /* ─── Docs grid: sidebar (sticky left, full height) | content | TOC ─────── */
188
+ @media (min-width: 1024px) {
189
+ #nd-docs-layout:not([data-fd-framework]),
190
+ #nd-docs-layout:not([data-fd-framework]) [style*="fd-sidebar-col"] {
191
+ grid-template-columns: var(--fd-sidebar-col, 0px) 1fr min-content !important;
220
192
  }
221
-
222
- #nd-docs-layout aside#nd-sidebar {
193
+ /* Sidebar stretches to end and sticks on scroll; no max-height so content isn't clipped */
194
+ #nd-docs-layout:not([data-fd-framework]) aside#nd-sidebar {
223
195
  position: sticky;
224
196
  top: 0;
225
197
  align-self: start;
226
198
  min-height: 0;
227
199
  height: 100vh;
228
200
  }
229
-
230
- #nd-docs-layout [data-sidebar-placeholder] {
231
- justify-self: stretch;
232
- }
233
-
234
- #nd-docs-layout article#nd-page {
235
- width: min(100%, var(--fd-content-width));
236
- max-width: none;
237
- margin-inline: auto;
238
- padding: 47px 40px 80px !important;
239
- gap: 0;
240
- }
241
-
242
- #nd-docs-layout article#nd-page > .prose {
243
- max-width: none;
244
- }
245
-
246
- #nd-docs-layout #nd-toc {
247
- display: flex !important;
248
- width: var(--fd-toc-width);
249
- padding: 48px 16px 8px 0;
250
- }
251
201
  }
252
202
 
253
- /* Keep the compact shell through tablet sizes. The sidebar itself stays on
254
- * Fumadocs' native mobile lifecycle so focus, scroll locking, Escape, and
255
- * backdrop dismissal work consistently at every touch breakpoint. */
256
- @media (max-width: 1023px) {
257
- :root {
258
- --fd-mobile-nav-height: 56px;
259
- }
260
-
261
- /* Farm's server-rendered sidebar brand defaults to a 44px row followed by
262
- * an 18px gap. On tablet, that puts its divider below the 56px mobile
263
- * topbar. Give both sides of the shell one shared header edge instead. */
264
- #nd-docs-layout aside#nd-sidebar > .sidebar-brand {
265
- height: var(--fd-mobile-nav-height);
266
- min-height: var(--fd-mobile-nav-height);
267
- max-height: var(--fd-mobile-nav-height);
268
- flex-basis: var(--fd-mobile-nav-height);
269
- margin-bottom: 0;
270
- }
271
-
272
- body {
273
- overflow-x: hidden;
274
- }
275
-
203
+ @media (min-width: 1024px) {
276
204
  #nd-docs-layout.grid:not([data-fd-framework]) {
277
- --fd-header-height: 56px;
278
- display: block !important;
279
- min-height: 100dvh;
280
- padding-top: 56px;
281
- }
282
-
283
- #nd-docs-layout #nd-subnav {
284
- position: fixed;
285
- inset: 0 0 auto;
286
- z-index: 80;
287
- display: flex !important;
288
- width: 100%;
289
- height: 56px;
290
- padding: 0 105px 0 0;
291
- border-bottom: 1px solid var(--color-fd-border);
292
- background: color-mix(in srgb, var(--color-fd-background) 94%, transparent);
293
- backdrop-filter: blur(12px);
294
- }
295
-
296
- #nd-docs-layout #nd-subnav > a {
297
- display: none;
298
- }
299
-
300
- #nd-docs-layout #nd-subnav > div.flex-1 {
301
- order: 2;
302
- }
303
-
304
- #nd-docs-layout #nd-subnav button[aria-label="Open Sidebar"] {
305
- order: 1;
306
- width: 56px;
307
- height: 56px;
308
- padding: 0;
309
- border-right: 1px solid var(--color-fd-border);
310
- }
311
-
312
- #nd-docs-layout #nd-subnav button[aria-label="Open Sidebar"] svg {
313
- display: none;
314
- }
315
-
316
- #nd-docs-layout #nd-subnav button[aria-label="Open Sidebar"]::before {
317
- content: "";
318
- width: 18px;
319
- height: 1.5px;
320
- background: currentColor;
321
- box-shadow:
322
- 0 -6px 0 currentColor,
323
- 0 6px 0 currentColor;
324
- }
325
-
326
- #nd-docs-layout #nd-subnav button[data-search] {
327
- order: 3;
328
- width: 44px;
329
- height: 56px;
330
- margin-left: auto;
331
- padding: 0;
332
- border-left: 1px solid var(--color-fd-border);
333
- color: var(--color-fd-muted-foreground);
334
- }
335
-
336
- #nd-docs-layout [data-sidebar-placeholder],
337
- #nd-docs-layout [data-sidebar-panel],
338
- #nd-docs-layout [data-toc-popover],
339
- #nd-docs-layout #nd-toc {
340
- display: none !important;
205
+ grid-template:
206
+ "sidebar header toc"
207
+ "sidebar toc-popover toc"
208
+ "sidebar main toc" 1fr /
209
+ var(--fd-sidebar-col) minmax(0, 1fr) var(--fd-toc-width) !important;
341
210
  }
342
211
 
343
- #nd-docs-layout article#nd-page {
344
- width: 100%;
345
- max-width: none;
346
- margin: 0;
347
- padding: 34px 20px 64px !important;
348
- gap: 0;
212
+ #nd-docs-layout:not([data-fd-framework]) [data-sidebar-placeholder] {
213
+ justify-self: stretch;
349
214
  }
350
215
 
351
- #nd-docs-layout article#nd-page > .prose {
216
+ #nd-docs-layout:not([data-fd-framework]) article#nd-page {
352
217
  max-width: none;
218
+ margin-inline: 0;
353
219
  }
354
220
 
355
- html:has([data-fd-tablet-sidebar-state="open"]) {
356
- overflow: hidden;
357
- }
358
-
359
- #nd-docs-layout:has([data-fd-tablet-sidebar-state="open"])
360
- [data-sidebar-placeholder] {
361
- position: fixed;
362
- inset: 0 auto 0 0;
363
- z-index: 100;
364
- display: block !important;
365
- width: min(342px, calc(100vw - 42px));
366
- height: 100dvh;
367
- pointer-events: auto;
368
- }
369
-
370
- #nd-docs-layout:has([data-fd-tablet-sidebar-state="open"])
371
- [data-sidebar-placeholder]
372
- > aside {
373
- position: absolute;
374
- inset: 0;
375
- width: 100% !important;
376
- height: 100dvh;
377
- max-height: none;
378
- }
379
-
380
- /* Fumadocs keeps the desktop sidebar's internal width on its direct
381
- * children. The tablet drawer is wider, so the end-aligned children left a
382
- * large empty gutter at the start of the panel. Let the header and tree use
383
- * the full overlay width instead. */
384
- #nd-docs-layout:has([data-fd-tablet-sidebar-state="open"])
385
- [data-sidebar-placeholder]
386
- > aside
387
- > * {
388
- width: 100% !important;
389
- }
390
-
391
- #nd-docs-layout:has([data-fd-tablet-sidebar-state="open"])
392
- aside#nd-sidebar
393
- > div:first-child {
394
- height: 56px;
395
- min-height: 56px;
396
- max-height: 56px;
397
- flex-basis: 56px;
398
- padding-right: 58px;
399
- }
400
-
401
- .fd-tablet-sidebar-backdrop {
402
- position: fixed;
403
- inset: 0;
404
- z-index: 95;
405
- display: block;
406
- border: 0;
407
- background: color-mix(in srgb, var(--color-fd-background) 72%, transparent);
408
- backdrop-filter: blur(2px);
409
- }
410
-
411
- .fd-tablet-sidebar-close {
412
- position: fixed;
413
- top: 6px;
414
- left: calc(min(342px, calc(100vw - 42px)) - 50px);
415
- z-index: 101;
416
- display: inline-flex;
417
- width: 44px;
418
- height: 44px;
419
- align-items: center;
420
- justify-content: center;
421
- border: 0;
422
- color: var(--color-fd-muted-foreground);
423
- background: transparent;
424
- }
425
-
426
- .fd-tablet-sidebar-close:hover,
427
- .fd-tablet-sidebar-close:focus-visible {
428
- color: var(--color-fd-foreground);
429
- }
430
-
431
- .fd-tablet-sidebar-close:focus-visible {
432
- outline: 1px solid var(--color-fd-ring);
433
- outline-offset: -1px;
434
- }
435
-
436
- .fd-tablet-sidebar-close > span,
437
- .fd-tablet-sidebar-close > span::after {
438
- display: block;
439
- width: 18px;
440
- height: 1px;
441
- background: currentColor;
442
- content: "";
443
- }
444
-
445
- .fd-tablet-sidebar-close > span {
446
- transform: rotate(45deg);
447
- }
448
-
449
- .fd-tablet-sidebar-close > span::after {
450
- transform: rotate(90deg);
451
- }
452
-
453
- #nd-docs-layout > div[data-state]:has(+ aside#nd-sidebar-mobile) {
454
- z-index: 95;
455
- background: color-mix(in srgb, var(--color-fd-background) 72%, transparent);
456
- }
457
-
458
- aside#nd-sidebar-mobile {
459
- --fd-pixel-rail-width: 12px;
460
- inset: 0 auto 0 0 !important;
461
- z-index: 100;
462
- width: min(342px, calc(100vw - 42px));
221
+ #nd-docs-layout:not([data-fd-framework]) article#nd-page > .prose {
463
222
  max-width: none;
464
- border-right: 1px solid var(--color-fd-border);
465
- border-left: 0;
466
- background-color: var(--color-fd-background);
467
- background-image:
468
- linear-gradient(var(--color-fd-border), var(--color-fd-border)),
469
- linear-gradient(var(--color-fd-border), var(--color-fd-border)),
470
- repeating-linear-gradient(
471
- -45deg,
472
- color-mix(in srgb, var(--color-fd-border) 2%, transparent),
473
- color-mix(in srgb, var(--color-fd-foreground) 7%, transparent) 1px,
474
- transparent 1px,
475
- transparent 6px
476
- ),
477
- repeating-linear-gradient(
478
- -45deg,
479
- color-mix(in srgb, var(--color-fd-border) 2%, transparent),
480
- color-mix(in srgb, var(--color-fd-foreground) 7%, transparent) 1px,
481
- transparent 1px,
482
- transparent 6px
483
- );
484
- background-position:
485
- var(--fd-pixel-rail-width) 0,
486
- calc(100% - var(--fd-pixel-rail-width)) 0,
487
- left top,
488
- right top;
489
- background-repeat: repeat-y;
490
- background-size:
491
- 1px 100%,
492
- 1px 100%,
493
- var(--fd-pixel-rail-width) 100%,
494
- var(--fd-pixel-rail-width) 100%;
495
- box-shadow: none;
496
- }
497
-
498
- aside#nd-sidebar-mobile[data-state="open"] {
499
- animation: fd-pixel-sidebar-in 180ms ease-out both !important;
500
223
  }
501
-
502
- aside#nd-sidebar-mobile[data-state="closed"] {
503
- animation: fd-pixel-sidebar-out 150ms ease-in both !important;
504
- }
505
-
506
- aside#nd-sidebar-mobile > div:first-child {
507
- box-sizing: border-box;
508
- min-height: 56px;
509
- flex: 0 0 56px;
510
- gap: 0;
511
- padding: 0 calc(var(--fd-pixel-rail-width) + 8px);
512
- border-bottom: 1px solid var(--color-fd-border);
513
- }
514
-
515
- aside#nd-sidebar-mobile > div:first-child > div {
516
- height: 100%;
517
- }
518
-
519
- aside#nd-sidebar-mobile > div:first-child > div::before {
520
- content: "/ DOCS";
521
- flex: 0 0 auto;
522
- color: var(--color-fd-foreground);
523
- font-family: var(--fd-font-mono, ui-monospace, monospace);
524
- font-size: 12px;
525
- letter-spacing: 0.03em;
526
- }
527
-
528
- aside#nd-sidebar-mobile
529
- > div:first-child
530
- > div
531
- > button[aria-label="Open Sidebar"]:last-child {
532
- position: relative;
533
- width: 44px;
534
- height: 44px;
535
- padding: 0;
536
- }
537
-
538
- aside#nd-sidebar-mobile
539
- > div:first-child
540
- > div
541
- > button[aria-label="Open Sidebar"]:last-child
542
- svg {
543
- display: none;
544
- }
545
-
546
- aside#nd-sidebar-mobile
547
- > div:first-child
548
- > div
549
- > button[aria-label="Open Sidebar"]:last-child::before,
550
- aside#nd-sidebar-mobile
551
- > div:first-child
552
- > div
553
- > button[aria-label="Open Sidebar"]:last-child::after {
554
- position: absolute;
555
- width: 18px;
556
- height: 1px;
557
- background: currentColor;
558
- content: "";
559
- }
560
-
561
- aside#nd-sidebar-mobile
562
- > div:first-child
563
- > div
564
- > button[aria-label="Open Sidebar"]:last-child::before {
565
- transform: rotate(45deg);
566
- }
567
-
568
- aside#nd-sidebar-mobile
569
- > div:first-child
570
- > div
571
- > button[aria-label="Open Sidebar"]:last-child::after {
572
- transform: rotate(-45deg);
573
- }
574
-
575
- aside#nd-sidebar-mobile > div:nth-child(2) > div:last-child {
576
- padding-inline: calc(var(--fd-pixel-rail-width) + 4px) !important;
577
- }
578
- }
579
-
580
- @keyframes fd-pixel-sidebar-in {
581
- from {
582
- transform: translateX(-100%);
583
- }
584
-
585
- to {
586
- transform: translateX(0);
587
- }
588
- }
589
-
590
- @keyframes fd-pixel-sidebar-out {
591
- from {
592
- transform: translateX(0);
593
- }
594
-
595
- to {
596
- transform: translateX(-100%);
597
- }
598
- }
599
-
600
- @media (prefers-reduced-motion: reduce) {
601
- aside#nd-sidebar-mobile[data-state] {
602
- animation-duration: 1ms !important;
603
- }
604
- }
605
-
606
- .fd-agent-llms-directive[data-visible-in-header="true"] {
607
- position: fixed;
608
- top: 0;
609
- right: 0;
610
- z-index: 90;
611
- display: inline-flex;
612
- width: 105px;
613
- height: 44px;
614
- align-items: center;
615
- justify-content: center;
616
- border-left: 1px solid var(--color-fd-border);
617
- border-bottom: 1px solid var(--color-fd-border);
618
- color: var(--color-fd-muted-foreground);
619
- background: color-mix(in srgb, var(--color-fd-background) 94%, transparent);
620
- font-family: var(--fd-font-mono, ui-monospace, monospace);
621
- font-size: 12px;
622
- letter-spacing: 0.03em;
623
- text-decoration: none;
624
- }
625
-
626
- .fd-agent-llms-directive[data-visible-in-header="true"]:hover {
627
- color: var(--color-fd-foreground);
628
224
  }
629
225
 
630
- @media (max-width: 1023px) {
631
- .fd-agent-llms-directive[data-visible-in-header="true"] {
632
- height: 56px;
226
+ /* ─── Mobile: ensure sidebar drawer/content isn't clipped ───────────────── */
227
+ @media (max-width: 767px) {
228
+ #nd-docs-layout:not([data-fd-framework]) aside#nd-sidebar {
229
+ max-height: none;
230
+ overflow-y: visible;
633
231
  }
634
232
  }
635
233
 
636
234
  /* ─── Sidebar (better-auth style) — light + dark ───────────────────── */
637
235
  /* Sidebar container: use theme variables for both modes */
638
236
  aside#nd-sidebar {
639
- --fd-pixel-rail-width: 12px;
640
237
  background: var(--color-fd-background);
641
- background-image:
642
- linear-gradient(var(--color-fd-border), var(--color-fd-border)),
643
- linear-gradient(var(--color-fd-border), var(--color-fd-border)),
644
- repeating-linear-gradient(
645
- -45deg,
646
- color-mix(in srgb, var(--color-fd-border) 2%, transparent),
647
- color-mix(in srgb, var(--color-fd-foreground) 7%, transparent) 1px,
648
- transparent 1px,
649
- transparent 6px
650
- ),
651
- repeating-linear-gradient(
652
- -45deg,
653
- color-mix(in srgb, var(--color-fd-border) 2%, transparent),
654
- color-mix(in srgb, var(--color-fd-foreground) 7%, transparent) 1px,
655
- transparent 1px,
656
- transparent 6px
657
- );
658
- background-position:
659
- var(--fd-pixel-rail-width) 0,
660
- calc(100% - var(--fd-pixel-rail-width)) 0,
661
- left top,
662
- right top;
663
- background-repeat: repeat-y;
664
- background-size:
665
- 1px 100%,
666
- 1px 100%,
667
- var(--fd-pixel-rail-width) 100%,
668
- var(--fd-pixel-rail-width) 100%;
669
- border-left: 1px solid var(--color-fd-border);
670
238
  border-color: var(--color-fd-border);
671
239
  }
672
240
 
673
- aside#nd-sidebar > div:first-child {
674
- box-sizing: border-box;
675
- height: 44px;
676
- min-height: 44px;
677
- max-height: 44px;
678
- flex: 0 0 44px;
679
- gap: 0;
680
- justify-content: center;
681
- padding: 0 calc(var(--fd-pixel-rail-width) + 12px);
682
- border-bottom: 1px solid var(--color-fd-border);
683
- }
684
-
685
- aside#nd-sidebar > div:first-child > div:first-child {
686
- width: 100%;
687
- height: 100%;
688
- align-items: center;
689
- font-family: var(--fd-font-mono, ui-monospace, monospace);
690
- font-size: 12px;
691
- letter-spacing: 0.03em;
692
- text-transform: uppercase;
693
- }
694
-
695
- aside#nd-sidebar > div:first-child > div:first-child::after {
696
- content: "/ DOCS";
697
- flex: 0 0 auto;
698
- margin-left: auto;
699
- color: var(--color-fd-foreground);
700
- }
701
-
702
- aside#nd-sidebar > div:first-child > div:first-child > a {
703
- gap: 8px;
704
- font-size: 12px;
705
- font-weight: 500;
706
- }
707
-
708
- aside#nd-sidebar > div:first-child > div:first-child > a::before {
709
- content: "";
710
- width: 16px;
711
- height: 16px;
712
- flex: 0 0 16px;
713
- background:
714
- linear-gradient(currentColor 0 0) 0 0 / 6px 6px no-repeat,
715
- linear-gradient(currentColor 0 0) 8px 0 / 8px 6px no-repeat,
716
- linear-gradient(color-mix(in srgb, currentColor 64%, transparent) 0 0) 0 8px / 6px 6px
717
- no-repeat,
718
- linear-gradient(color-mix(in srgb, currentColor 64%, transparent) 0 0) 8px 8px / 8px 6px
719
- no-repeat;
720
- }
721
-
722
- aside#nd-sidebar > div:first-child button[aria-label="Collapse Sidebar"],
723
- aside#nd-sidebar > div:first-child button[data-search-full] {
724
- display: none !important;
725
- }
726
-
727
- /* Production keeps the tree scrollable to the bottom without a pinned
728
- * Fumadocs appearance switcher occupying the last row. Farm's server-rendered
729
- * layout uses `.sidebar-scroll` as its last child, so never hide that tree. */
730
- #nd-docs-layout:not([data-fd-framework])
731
- aside#nd-sidebar
732
- > div:last-child:not(.sidebar-scroll) {
733
- display: none !important;
734
- }
735
-
736
241
  /* ── Full-width border separators between top-level items ─────────── */
737
242
  aside .overscroll-contain > div {
738
- margin-top: 3px;
243
+ margin-top: -22px;
739
244
  }
740
245
 
741
246
  aside .overscroll-contain > div > a[data-active] {
@@ -749,19 +254,13 @@ aside .overscroll-contain > div > a[data-active] {
749
254
 
750
255
  aside .overscroll-contain > div > div {
751
256
  border-top: 1px solid var(--color-fd-border);
752
- margin-left: -0.875rem;
257
+ margin-left: -1rem;
753
258
  margin-right: -1rem;
754
259
  padding: 0 !important;
755
260
  }
756
261
 
757
- /* Keep every top-level section title in its own bordered row. The child
758
- * threadline starts immediately below this edge, matching the pixel grid. */
759
- aside .overscroll-contain > div > div > button[aria-controls][aria-expanded] {
760
- width: 100%;
761
- border-bottom: 1px solid var(--color-fd-border);
762
- }
763
-
764
- aside .overscroll-contain > div > a[data-active]:first-child {
262
+ aside .overscroll-contain > div > a[data-active]:first-child,
263
+ aside .overscroll-contain > div > div:first-child {
765
264
  border-top: none;
766
265
  }
767
266
 
@@ -774,7 +273,10 @@ aside .overscroll-contain > div > div:last-child {
774
273
 
775
274
  aside a[data-active],
776
275
  aside button[aria-controls][aria-expanded] {
276
+ font-size: 0.875rem;
277
+ line-height: 1.6;
777
278
  border-radius: 0 !important;
279
+ padding: 0.5rem 0.625rem !important;
778
280
  transition: color 0.15s ease;
779
281
  overflow: hidden;
780
282
  background-color: transparent !important;
@@ -790,7 +292,7 @@ aside a[data-active="true"]:hover {
790
292
  background: transparent !important;
791
293
  background-color: transparent !important;
792
294
  color: var(--color-fd-primary) !important;
793
- font-weight: 400;
295
+ font-weight: 600;
794
296
  }
795
297
 
796
298
  aside a[data-active="false"]:hover {
@@ -802,11 +304,10 @@ aside a[data-active="false"]:hover {
802
304
  /* ── Child links inside collapsible folders ──────────────────────── */
803
305
 
804
306
  aside div.overflow-hidden[data-state] a[data-active] {
805
- position: relative;
806
- min-height: 31.5703125px;
807
- padding: 6px 30px 6px 68px !important;
808
- font-size: 13.5px !important;
809
- line-height: 1.45 !important;
307
+ font-size: 0.785rem !important;
308
+ padding-left: 2rem !important;
309
+ padding-top: 0.25rem !important;
310
+ padding-bottom: 0.25rem !important;
810
311
  color: var(--color-fd-muted-foreground) !important;
811
312
  overflow: hidden;
812
313
  }
@@ -814,7 +315,7 @@ aside div.overflow-hidden[data-state] a[data-active] {
814
315
  aside div.overflow-hidden[data-state] a[data-active="true"],
815
316
  aside div.overflow-hidden[data-state] a[data-active="true"]:hover {
816
317
  color: var(--color-fd-primary) !important;
817
- font-weight: 400 !important;
318
+ font-weight: 500 !important;
818
319
  }
819
320
 
820
321
  aside div.overflow-hidden[data-state] a[data-active="false"]:hover {
@@ -823,124 +324,31 @@ aside div.overflow-hidden[data-state] a[data-active="false"]:hover {
823
324
 
824
325
  /* ── Folder toggle buttons (section headers) ─────────────────────── */
825
326
 
826
- aside#nd-sidebar button.text-fd-muted-foreground,
827
- aside#nd-sidebar-mobile button.text-fd-muted-foreground {
828
- height: 35px;
829
- min-height: 35px;
830
- padding: 8px 30px !important;
831
- color: var(--color-fd-muted-foreground) !important;
832
- font-size: 12px !important;
833
- font-weight: 600 !important;
834
- line-height: 18px !important;
327
+ aside button.text-fd-muted-foreground {
328
+ color: var(--color-fd-foreground);
329
+ font-size: 0.875rem;
330
+ font-weight: 500;
835
331
  letter-spacing: normal;
836
332
  text-transform: none;
837
333
  }
838
334
 
839
- aside#nd-sidebar button.text-fd-muted-foreground:hover,
840
- aside#nd-sidebar-mobile button.text-fd-muted-foreground:hover {
841
- color: var(--color-fd-foreground) !important;
335
+ aside button.text-fd-muted-foreground:hover {
336
+ color: var(--color-fd-foreground);
842
337
  }
843
338
 
844
339
  aside a[data-active="true"]::before {
845
- content: none !important;
846
- }
847
-
848
- aside div.overflow-hidden[data-state] > div {
849
- gap: 0 !important;
850
- padding: 8px 0 6px !important;
851
- }
852
-
853
- /* Nested folders keep their labels visible so the configured information
854
- * architecture survives in adapters with deeper sidebar trees. */
855
- aside div.overflow-hidden[data-state] > div > div[data-state] {
856
- position: relative;
857
- padding: 2px 0 4px;
858
- }
859
-
860
- aside div.overflow-hidden[data-state] > div > div[data-state]::before {
861
- content: "";
862
- position: absolute;
863
- top: 17px;
864
- bottom: 19px;
865
- inset-inline-start: 75px;
866
- width: 1px;
867
- background: color-mix(in srgb, var(--color-fd-border) 88%, transparent);
868
- }
869
-
870
- aside#nd-sidebar div.overflow-hidden[data-state] button[aria-expanded],
871
- aside#nd-sidebar-mobile div.overflow-hidden[data-state] button[aria-expanded] {
872
- position: relative;
873
- display: flex !important;
874
- height: 31.5703125px;
875
- min-height: 31.5703125px;
876
- padding: 6px 30px 6px 68px !important;
877
- color: var(--color-fd-muted-foreground) !important;
878
- font-size: 13.5px !important;
879
- font-weight: 500 !important;
880
- line-height: 1.45 !important;
881
- }
882
-
883
- aside div.overflow-hidden[data-state] div.overflow-hidden[data-state] > div {
884
- padding: 0 0 4px !important;
885
- }
886
-
887
- aside div.overflow-hidden[data-state] button[aria-expanded]::after {
888
- content: "";
889
- position: absolute;
890
- top: calc(50% - 0.5px);
891
- inset-inline-start: 46px;
892
- width: 29px;
893
- height: 1px;
894
- background: color-mix(in srgb, var(--color-fd-border) 88%, transparent);
895
- }
896
-
897
- aside
898
- div.overflow-hidden[data-state]
899
- div.overflow-hidden[data-state]
900
- a[data-active] {
901
- padding-inline-start: 103px !important;
902
- }
903
-
904
- aside div.overflow-hidden[data-state] a[data-active]::after {
905
- content: "";
906
- position: absolute;
907
- top: calc(50% - 0.5px);
908
- inset-inline-start: 46px;
909
- width: 22px;
910
- height: 1px;
911
- background: color-mix(in srgb, var(--color-fd-border) 88%, transparent);
912
- }
913
-
914
- aside div.overflow-hidden[data-state] a[data-active="true"]::after {
915
- background: var(--color-fd-primary);
340
+ background-color: var(--color-fd-primary) !important;
341
+ width: 2px !important;
342
+ height: 40% !important;
343
+ margin-top: -1.5px !important;
344
+ margin-left: 0.6rem !important;
345
+ inset-inline-start: 0.5rem !important;
916
346
  }
917
347
 
918
348
  aside div.overflow-hidden[data-state]::before {
919
- top: 0 !important;
920
- bottom: 0 !important;
921
- inset-inline-start: 46px !important;
922
- width: 1px !important;
923
- height: auto !important;
924
- margin: 0 !important;
925
- }
926
-
927
- aside
928
- div.overflow-hidden[data-state]
929
- div.overflow-hidden[data-state]
930
- a[data-active]::after {
931
- inset-inline-start: 75px;
932
- width: 28px;
933
- }
934
-
935
- aside
936
- div.overflow-hidden[data-state]
937
- div.overflow-hidden[data-state]::before {
938
- content: none !important;
939
- }
940
-
941
- aside button[aria-expanded] > .lucide-chevron-down,
942
- aside button[aria-expanded] > .lucide-chevron-right {
943
- display: none !important;
349
+ margin-left: 0.5rem !important;
350
+ height: calc(100% + 20px) !important;
351
+ margin-top: -25px !important;
944
352
  }
945
353
 
946
354
  aside div[data-state="open"] > :last-child {
@@ -978,100 +386,6 @@ aside button[class*="rounded-full"] {
978
386
 
979
387
  /* ─── Tables: visible borders, rounded-none (light + dark) ─────────── */
980
388
 
981
- /* ─── Page rhythm and typography ─────────────────────────────────── */
982
-
983
- #nd-docs-layout {
984
- background: var(--color-fd-background);
985
- font-family: var(--fd-font-sans, ui-sans-serif, system-ui, sans-serif);
986
- }
987
-
988
- #nd-page > .prose h1 {
989
- margin: 0 0 16px;
990
- font-size: 36px;
991
- font-weight: 400;
992
- line-height: 1.14;
993
- letter-spacing: -0.02em;
994
- }
995
-
996
- #nd-page > .prose h2 {
997
- margin: 44px 0 14px;
998
- padding-top: 26px;
999
- border-top: 1px solid var(--color-fd-border);
1000
- font-size: 24px;
1001
- font-weight: 400;
1002
- line-height: 1.24;
1003
- letter-spacing: -0.01em;
1004
- }
1005
-
1006
- #nd-page > .prose h3 {
1007
- margin: 30px 0 12px;
1008
- font-size: 20px;
1009
- font-weight: 400;
1010
- line-height: 1.3;
1011
- letter-spacing: 0;
1012
- }
1013
-
1014
- #nd-page > .prose h4,
1015
- #nd-page > .prose h5,
1016
- #nd-page > .prose h6 {
1017
- margin: 24px 0 10px;
1018
- font-weight: 400;
1019
- letter-spacing: 0;
1020
- }
1021
-
1022
- #nd-page > .prose p {
1023
- margin: 14px 0;
1024
- color: color-mix(in srgb, var(--color-fd-foreground) 74%, transparent);
1025
- font-size: 15.6px;
1026
- line-height: 1.8;
1027
- }
1028
-
1029
- #nd-page > .prose ul,
1030
- #nd-page > .prose ol {
1031
- margin: 16px 0;
1032
- padding-left: 24px;
1033
- color: color-mix(in srgb, var(--color-fd-foreground) 78%, transparent);
1034
- line-height: 1.75;
1035
- }
1036
-
1037
- #nd-page > .prose li {
1038
- margin: 6px 0;
1039
- }
1040
-
1041
- #nd-docs-layout .fd-title-separator {
1042
- display: none;
1043
- }
1044
-
1045
- /* The adapter portals title actions beside an MDX-owned h1. Removing the
1046
- * portal wrapper from layout makes that block flow like the native page. */
1047
- #nd-docs-layout .fd-title-decorations-host {
1048
- display: contents;
1049
- }
1050
-
1051
- #nd-docs-layout .fd-below-title-block {
1052
- display: flex;
1053
- width: 100%;
1054
- margin: 0 0 20px;
1055
- }
1056
-
1057
- #nd-docs-layout .fd-below-title-block .fd-actions-portal {
1058
- width: 100%;
1059
- }
1060
-
1061
- @media (max-width: 1023px) {
1062
- #nd-page > .prose h1 {
1063
- font-size: 32px;
1064
- line-height: 1.16;
1065
- letter-spacing: 0;
1066
- }
1067
-
1068
- #nd-page > .prose h2 {
1069
- margin-top: 34px;
1070
- padding-top: 22px;
1071
- font-size: 23px;
1072
- }
1073
- }
1074
-
1075
389
  table {
1076
390
  border: 1px solid var(--color-fd-border);
1077
391
  border-radius: 0 !important;
@@ -1102,59 +416,10 @@ tr:last-child td {
1102
416
  /* Target the fumadocs CodeBlock figure (shiki class) */
1103
417
  figure.shiki,
1104
418
  .fd-codeblock {
1105
- --padding-left: 0px;
1106
- --padding-right: 0px;
1107
419
  border: 1px solid var(--color-fd-border) !important;
1108
420
  border-radius: 0 !important;
1109
- background: #141414 !important;
1110
421
  overflow: hidden;
1111
- box-shadow: 3px 3px 0 0 var(--color-fd-border) !important;
1112
- }
1113
-
1114
- @media (min-width: 1024px) {
1115
- figure.shiki,
1116
- .fd-codeblock {
1117
- margin: 20px 0 !important;
1118
- }
1119
-
1120
- figure.shiki span[style*="--shiki-dark"],
1121
- .fd-codeblock span[style*="--shiki-dark"] {
1122
- color: color-mix(in srgb, var(--color-fd-foreground) 74%, transparent) !important;
1123
- }
1124
- }
1125
-
1126
- figure.shiki pre,
1127
- .fd-codeblock pre {
1128
- margin: 0;
1129
- padding: 18px 20px !important;
1130
- font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
1131
- font-size: 13px;
1132
- line-height: 1.6;
1133
- }
1134
-
1135
- figure.shiki > div[role="region"],
1136
- .fd-codeblock > div[role="region"] {
1137
- padding-block: 0 !important;
1138
- }
1139
-
1140
- figure.shiki code,
1141
- .fd-codeblock code {
1142
- font-family: inherit !important;
1143
- }
1144
-
1145
- @media (max-width: 1023px) {
1146
- figure.shiki,
1147
- .fd-codeblock {
1148
- margin: 16px 0;
1149
- box-shadow: 2px 2px 0 0 var(--color-fd-border) !important;
1150
- }
1151
-
1152
- figure.shiki pre,
1153
- .fd-codeblock pre {
1154
- padding: 12px 11px !important;
1155
- font-size: 12px;
1156
- line-height: 1.5;
1157
- }
422
+ box-shadow: none !important;
1158
423
  }
1159
424
 
1160
425
  /* Copy button inside code blocks */
@@ -1163,12 +428,6 @@ figure.shiki button,
1163
428
  border-radius: 0 !important;
1164
429
  }
1165
430
 
1166
- figure.shiki button[aria-label="Copy Text"],
1167
- .fd-copy-btn {
1168
- opacity: 1 !important;
1169
- visibility: visible !important;
1170
- }
1171
-
1172
431
  /* Code block title bar */
1173
432
  figure.shiki > div:first-child,
1174
433
  .fd-codeblock-title {
@@ -1218,108 +477,16 @@ div:has(> [role="tablist"]) {
1218
477
  border-color: var(--color-fd-border);
1219
478
  }
1220
479
 
1221
- /* ─── Page footer + previous/next navigation ─────────────────────── */
1222
-
1223
- #nd-docs-layout .fd-page-footer > a {
1224
- border-radius: 0 !important;
1225
- }
1226
-
1227
- #nd-docs-layout .fd-page-nav,
1228
- #nd-docs-layout[data-fd-framework] .fd-page-nav {
1229
- display: grid;
1230
- width: 100%;
1231
- max-width: 100%;
1232
- grid-template-columns: 1fr;
1233
- gap: 1rem;
1234
- margin-top: 1rem;
1235
- border-top: 0;
1236
- padding-top: 0;
1237
- }
1238
-
1239
- #nd-docs-layout .fd-page-nav:has(.fd-page-nav-prev):has(.fd-page-nav-next),
1240
- #nd-docs-layout[data-fd-framework]
1241
- .fd-page-nav:has(.fd-page-nav-prev):has(.fd-page-nav-next) {
1242
- grid-template-columns: repeat(2, minmax(0, 1fr));
1243
- }
480
+ /* ─── Nav cards (prev/next): visible border, rounded-none ──────────── */
1244
481
 
1245
- #nd-docs-layout .fd-page-nav-card,
1246
- #nd-docs-layout[data-fd-framework] .fd-page-nav-card {
1247
- display: flex;
1248
- min-width: 0;
1249
- min-height: 6.125rem;
1250
- flex-direction: column;
1251
- justify-content: flex-start;
1252
- gap: 0.5rem;
1253
- border: 1px solid var(--color-fd-border);
482
+ article a[class*="border"] {
483
+ border-color: var(--color-fd-border);
1254
484
  border-radius: 0 !important;
1255
- background: transparent;
1256
- padding: 1rem;
1257
- color: var(--color-fd-foreground);
1258
- text-decoration: none;
1259
- transition:
1260
- background-color 150ms ease,
1261
- border-color 150ms ease;
1262
- }
1263
-
1264
- #nd-docs-layout .fd-page-nav-card:hover,
1265
- #nd-docs-layout[data-fd-framework] .fd-page-nav-card:hover {
1266
- border-color: color-mix(in srgb, var(--color-fd-foreground) 28%, transparent);
1267
- background: color-mix(in srgb, var(--color-fd-muted) 80%, transparent);
1268
- }
1269
-
1270
- #nd-docs-layout .fd-page-nav-next,
1271
- #nd-docs-layout[data-fd-framework] .fd-page-nav-next {
1272
- align-items: flex-end;
1273
- text-align: right;
1274
- }
1275
-
1276
- #nd-docs-layout .fd-page-nav-title,
1277
- #nd-docs-layout[data-fd-framework] .fd-page-nav-title {
1278
- display: inline-flex;
1279
- max-width: 100%;
1280
- min-height: 0;
1281
- align-items: center;
1282
- gap: 0.375rem;
1283
- overflow: hidden;
1284
- color: var(--color-fd-foreground);
1285
- font-size: 0.875rem;
1286
- font-weight: 500;
1287
- line-height: 1.5;
1288
- overflow-wrap: anywhere;
1289
- }
1290
-
1291
- #nd-docs-layout .fd-page-nav-title svg,
1292
- #nd-docs-layout[data-fd-framework] .fd-page-nav-title svg {
1293
- width: 1rem;
1294
- height: 1rem;
1295
- flex-shrink: 0;
1296
- }
1297
-
1298
- #nd-docs-layout .fd-page-nav-description,
1299
- #nd-docs-layout[data-fd-framework] .fd-page-nav-description {
1300
- display: block;
1301
- max-width: 100%;
1302
- min-height: 0;
1303
- overflow: hidden;
1304
- color: var(--color-fd-muted-foreground);
1305
- font-size: 0.975rem;
1306
- font-weight: 400;
1307
- line-height: 1.8;
1308
- text-overflow: ellipsis;
1309
- white-space: nowrap;
1310
485
  }
1311
486
 
1312
- @media (max-width: 640px) {
1313
- #nd-docs-layout .fd-page-nav,
1314
- #nd-docs-layout[data-fd-framework] .fd-page-nav {
1315
- grid-template-columns: 1fr !important;
1316
- }
1317
-
1318
- #nd-docs-layout .fd-page-nav-next,
1319
- #nd-docs-layout[data-fd-framework] .fd-page-nav-next {
1320
- align-items: flex-start;
1321
- text-align: left;
1322
- }
487
+ article a[class*="border"]:hover {
488
+ background: var(--color-fd-muted);
489
+ border-color: var(--color-fd-ring);
1323
490
  }
1324
491
 
1325
492
  /* ─── Search dialog ───────────────────────────────────────────────── */
@@ -1329,13 +496,6 @@ div:has(> [role="tablist"]) {
1329
496
  border-color: var(--fd-pixel-modal-border) !important;
1330
497
  }
1331
498
 
1332
- /* ─── TOC right panel (light + dark) ───────────────────────────────── */
1333
-
1334
- nav[class*="toc"],
1335
- [class*="fd-toc"] {
1336
- border-color: var(--color-fd-border);
1337
- }
1338
-
1339
499
  /* ─── Separator/Divider (hr) — light + dark ─────────────────────────── */
1340
500
 
1341
501
  hr {
@@ -1386,9 +546,6 @@ hr {
1386
546
 
1387
547
  /* ─── Page Actions (pixel-border overrides) ───────────────────────── */
1388
548
  .fd-page-action-btn {
1389
- height: 34px;
1390
- gap: 8px;
1391
- padding: 0 12px;
1392
549
  border-radius: 0 !important;
1393
550
  font-size: 0.75rem;
1394
551
  letter-spacing: 0.03em;
@@ -1822,158 +979,43 @@ hr {
1822
979
 
1823
980
  /* ─── Omni Command Palette (pixel-border theme) ─────────────────── */
1824
981
 
1825
- .omni-overlay {
1826
- z-index: 200;
1827
- background: color-mix(in srgb, var(--color-fd-background) 64%, transparent);
1828
- backdrop-filter: blur(3px);
1829
- }
1830
-
1831
982
  .omni-content {
1832
- --omni-content-top: clamp(72px, 14vh, 104px);
1833
- z-index: 201;
1834
- width: min(680px, calc(100% - 24px));
1835
- overflow: hidden;
1836
983
  border-radius: 0 !important;
1837
984
  border: 1px solid var(--fd-pixel-modal-border);
1838
- background: var(--color-fd-background);
1839
985
  box-shadow:
1840
986
  2px 2px 0 0 var(--fd-pixel-modal-shadow),
1841
987
  0 0 0 1px color-mix(in srgb, var(--color-fd-foreground) 3%, transparent);
1842
988
  }
1843
989
 
1844
- .omni-header {
1845
- background: color-mix(in srgb, var(--color-fd-background) 96%, var(--color-fd-foreground));
1846
- }
1847
-
1848
- .omni-search-row {
1849
- min-height: 54px;
1850
- padding: 0 14px;
1851
- }
1852
-
1853
- .omni-search-icon svg {
1854
- width: 18px;
1855
- height: 18px;
990
+ .omni-item {
991
+ border-radius: 0 !important;
1856
992
  }
1857
993
 
1858
- .omni-search-input {
1859
- font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
1860
- font-size: 15.5px;
1861
- line-height: 1.5;
994
+ .omni-kbd,
995
+ .omni-kbd-sm {
996
+ border-radius: 0 !important;
997
+ border: 1px solid var(--color-fd-border, hsl(0 0% 15%));
1862
998
  }
1863
999
 
1864
1000
  .omni-close-btn {
1865
- min-width: 36px;
1866
- height: 30px;
1867
- padding: 0 8px;
1868
1001
  border-radius: 0 !important;
1869
- font-size: 10px;
1870
- letter-spacing: 0.04em;
1871
1002
  }
1872
1003
 
1873
- .omni-close-btn:focus-visible,
1874
- .omni-filter-button:focus-visible,
1875
- .omni-filter-option:focus-visible,
1876
- .omni-item:focus-visible {
1877
- outline: 1px solid var(--color-fd-ring, var(--color-fd-foreground));
1878
- outline-offset: -2px;
1879
- }
1880
-
1881
- .omni-body {
1882
- max-height: min(500px, calc(100dvh - var(--omni-content-top) - 112px));
1883
- padding: 0;
1004
+ .omni-empty-icon {
1005
+ border-radius: 0 !important;
1884
1006
  }
1885
1007
 
1886
- .omni-group + .omni-group {
1887
- border-top: 1px solid var(--color-fd-border);
1008
+ .omni-search-input {
1009
+ font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
1888
1010
  }
1889
1011
 
1890
1012
  .omni-group-label {
1891
- display: block;
1892
- padding: 8px 14px 6px;
1893
- border-bottom: 1px solid var(--color-fd-border);
1894
- color: var(--color-fd-muted-foreground);
1895
1013
  font-family: var(--fd-font-mono, ui-monospace, monospace);
1896
- font-size: 10px;
1897
- line-height: 1.2;
1898
1014
  letter-spacing: 0.08em;
1899
- text-transform: uppercase;
1900
- }
1901
-
1902
- .omni-group-items {
1903
- gap: 0;
1904
- }
1905
-
1906
- .omni-item {
1907
- border-radius: 0 !important;
1908
- padding: 11px 14px;
1909
- border-bottom: 1px solid var(--color-fd-border);
1910
- transition:
1911
- color 80ms ease,
1912
- background-color 80ms ease;
1913
- }
1914
-
1915
- .omni-group-items > .omni-item:last-child {
1916
- border-bottom: 0;
1917
- }
1918
-
1919
- .omni-item:hover,
1920
- .omni-item-active {
1921
- background: color-mix(in srgb, var(--color-fd-foreground) 7%, transparent);
1922
- }
1923
-
1924
- .omni-item-active {
1925
- box-shadow: inset 2px 0 0 var(--color-fd-foreground);
1926
- }
1927
-
1928
- .omni-item-subtitle {
1929
- margin-bottom: 2px;
1930
- font-family: var(--fd-font-mono, ui-monospace, monospace);
1931
- font-size: 10.5px;
1932
- line-height: 1.4;
1933
- letter-spacing: 0.01em;
1934
- }
1935
-
1936
- .omni-item-label {
1937
- font-size: 14px;
1938
- line-height: 1.35;
1939
- }
1940
-
1941
- .omni-item-description {
1942
- -webkit-line-clamp: 2;
1943
- margin-top: 6px;
1944
- padding-left: 0;
1945
- border-left: 0;
1946
- color: var(--color-fd-muted-foreground);
1947
- font-size: 12.5px;
1948
- line-height: 1.5;
1949
- }
1950
-
1951
- .omni-empty {
1952
- display: flex;
1953
- min-height: 132px;
1954
- flex-direction: column;
1955
- align-items: center;
1956
- justify-content: center;
1957
- padding: 24px 16px;
1958
- }
1959
-
1960
- .omni-empty-icon {
1961
- border-radius: 0 !important;
1962
- border: 1px solid var(--color-fd-border);
1963
- background: transparent;
1964
- }
1965
-
1966
- .omni-kbd,
1967
- .omni-kbd-sm {
1968
- border-radius: 0 !important;
1969
- border: 1px solid var(--color-fd-border, hsl(0 0% 15%));
1970
1015
  }
1971
1016
 
1972
1017
  .omni-footer-inner {
1973
- min-height: 42px;
1974
- padding: 8px 12px;
1975
1018
  font-family: var(--fd-font-mono, ui-monospace, monospace);
1976
- font-size: 10.5px;
1977
1019
  }
1978
1020
 
1979
1021
  .omni-footer-hint svg {
@@ -1988,57 +1030,6 @@ hr {
1988
1030
  .omni-highlight {
1989
1031
  background: color-mix(in srgb, var(--color-fd-primary, #6366f1) 25%, transparent);
1990
1032
  border-radius: 0 !important;
1991
- color: inherit;
1992
- text-decoration: none;
1993
- }
1994
-
1995
- @media (max-width: 639px) {
1996
- .omni-content {
1997
- --omni-content-top: 8px;
1998
- width: calc(100% - 16px);
1999
- max-height: calc(100dvh - 16px);
2000
- }
2001
-
2002
- .omni-search-row {
2003
- min-height: 52px;
2004
- padding: 0 12px;
2005
- }
2006
-
2007
- .omni-search-input {
2008
- font-size: 16px;
2009
- }
2010
-
2011
- .omni-body {
2012
- max-height: min(500px, calc(100dvh - 108px));
2013
- }
2014
-
2015
- .omni-item {
2016
- padding: 10px 12px;
2017
- }
2018
-
2019
- .omni-item-description {
2020
- font-size: 12px;
2021
- line-height: 1.45;
2022
- }
2023
-
2024
- .omni-footer-inner {
2025
- min-height: 40px;
2026
- gap: 8px;
2027
- padding: 7px 10px;
2028
- font-size: 10px;
2029
- }
2030
-
2031
- .omni-footer-hints {
2032
- gap: 7px;
2033
- }
2034
-
2035
- .omni-footer-hint {
2036
- gap: 3px;
2037
- }
2038
-
2039
- .omni-filter-label {
2040
- display: none;
2041
- }
2042
1033
  }
2043
1034
 
2044
1035
  /* ─── Feedback (pixel-border theme) ──────────────────────────────── */