ardo 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{Features-C_06EvGb.d.ts → Features-DEndhnwl.d.ts} +10 -4
  2. package/dist/{chunk-OTUACKCQ.js → chunk-4IRLOOXV.js} +20 -9
  3. package/dist/chunk-4IRLOOXV.js.map +1 -0
  4. package/dist/{chunk-ZXPAEM3M.js → chunk-6U5CYV74.js} +127 -83
  5. package/dist/chunk-6U5CYV74.js.map +1 -0
  6. package/dist/{chunk-N5CEHG2F.js → chunk-CGFRUWNJ.js} +2 -1
  7. package/dist/chunk-CGFRUWNJ.js.map +1 -0
  8. package/dist/{chunk-UWAVET45.js → chunk-LSNTX2BA.js} +8 -6
  9. package/dist/chunk-LSNTX2BA.js.map +1 -0
  10. package/dist/{chunk-G5L4ZUTS.js → chunk-O64PX2AK.js} +2 -2
  11. package/dist/{chunk-LUOUBO3L.js → chunk-SWER4H2H.js} +540 -394
  12. package/dist/chunk-SWER4H2H.js.map +1 -0
  13. package/dist/config/index.d.ts +2 -2
  14. package/dist/config/index.js +1 -1
  15. package/dist/index.d.ts +2 -2
  16. package/dist/index.js +6 -6
  17. package/dist/mdx/provider.js +14 -6
  18. package/dist/mdx/provider.js.map +1 -1
  19. package/dist/runtime/index.d.ts +1 -1
  20. package/dist/typedoc/index.d.ts +6 -0
  21. package/dist/typedoc/index.js +2 -2
  22. package/dist/{types-DchPWkJl.d.ts → types-tjxB5eh7.d.ts} +22 -2
  23. package/dist/ui/index.d.ts +2 -2
  24. package/dist/ui/index.js +2 -2
  25. package/dist/ui/styles.css +332 -109
  26. package/dist/vite/index.d.ts +1 -1
  27. package/dist/vite/index.js +3 -3
  28. package/package.json +9 -9
  29. package/dist/chunk-LUOUBO3L.js.map +0 -1
  30. package/dist/chunk-N5CEHG2F.js.map +0 -1
  31. package/dist/chunk-OTUACKCQ.js.map +0 -1
  32. package/dist/chunk-UWAVET45.js.map +0 -1
  33. package/dist/chunk-ZXPAEM3M.js.map +0 -1
  34. /package/dist/{chunk-G5L4ZUTS.js.map → chunk-O64PX2AK.js.map} +0 -0
@@ -8,8 +8,8 @@
8
8
 
9
9
  /* Brand - Teal/Green from logo - used sparingly for accents */
10
10
  --ardo-brand-h: 170;
11
- --ardo-brand-c: 0.12;
12
- --ardo-brand-l: 0.45;
11
+ --ardo-brand-c: 0.15;
12
+ --ardo-brand-l: 0.48;
13
13
 
14
14
  /* Semantic Colors (hue values) */
15
15
  --ardo-hue-success: 155;
@@ -34,22 +34,22 @@
34
34
  oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h)) 0%,
35
35
  oklch(
36
36
  calc(var(--ardo-brand-l) + 0.08) calc(var(--ardo-brand-c) - 0.02)
37
- calc(var(--ardo-brand-h) + 15)
37
+ calc(var(--ardo-brand-h) + 30)
38
38
  )
39
39
  100%
40
40
  );
41
41
 
42
42
  /* ========================================
43
- Neutral Background Colors (no green tint)
43
+ Neutral Background Colors (brand-tinted)
44
44
  ======================================== */
45
45
  --ardo-c-bg: #ffffff;
46
- --ardo-c-bg-soft: #f8f9fa;
47
- --ardo-c-bg-mute: #f1f3f5;
48
- --ardo-c-bg-alt: #e9ecef;
46
+ --ardo-c-bg-soft: oklch(0.975 0.005 var(--ardo-brand-h));
47
+ --ardo-c-bg-mute: oklch(0.95 0.008 var(--ardo-brand-h));
48
+ --ardo-c-bg-alt: oklch(0.925 0.01 var(--ardo-brand-h));
49
49
 
50
- /* Sidebar - subtle warm gray */
51
- --ardo-sidebar-bg: #f8f9fa;
52
- --ardo-sidebar-border: #e9ecef;
50
+ /* Sidebar - brand-tinted */
51
+ --ardo-sidebar-bg: oklch(0.975 0.006 var(--ardo-brand-h));
52
+ --ardo-sidebar-border: oklch(0.925 0.01 var(--ardo-brand-h));
53
53
 
54
54
  /* Code block styling - warm cream tone */
55
55
  --ardo-code-bg: #fdfcfb;
@@ -57,17 +57,24 @@
57
57
  --ardo-code-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
58
58
 
59
59
  /* ========================================
60
- Text Colors (neutral)
60
+ Text Colors (brand-tinted)
61
61
  ======================================== */
62
- --ardo-c-text: #1a1a2e;
63
- --ardo-c-text-light: #495057;
64
- --ardo-c-text-lighter: #868e96;
62
+ --ardo-c-text: oklch(0.22 0.015 var(--ardo-brand-h));
63
+ --ardo-c-text-light: oklch(0.45 0.01 var(--ardo-brand-h));
64
+ --ardo-c-text-lighter: oklch(0.6 0.008 var(--ardo-brand-h));
65
65
 
66
- /* Border Colors */
67
- --ardo-c-border: #dee2e6;
68
- --ardo-c-border-light: #e9ecef;
66
+ /* Border Colors (brand-tinted) */
67
+ --ardo-c-border: oklch(0.88 0.008 var(--ardo-brand-h));
68
+ --ardo-c-border-light: oklch(0.925 0.006 var(--ardo-brand-h));
69
69
  --ardo-c-divider: var(--ardo-c-border);
70
70
 
71
+ /* ========================================
72
+ Shadows
73
+ ======================================== */
74
+ --ardo-shadow-sm: 0 1px 2px oklch(0 0 0 / 0.04), 0 1px 3px oklch(0 0 0 / 0.06);
75
+ --ardo-shadow-md: 0 4px 6px oklch(0 0 0 / 0.04), 0 2px 4px oklch(0 0 0 / 0.03);
76
+ --ardo-shadow-lg: 0 10px 25px oklch(0 0 0 / 0.06), 0 4px 10px oklch(0 0 0 / 0.04);
77
+
71
78
  /* ========================================
72
79
  Container Colors (using hue variables)
73
80
  ======================================== */
@@ -122,32 +129,36 @@
122
129
  /* Dark mode */
123
130
  .dark {
124
131
  --ardo-brand-l: 0.65;
125
- --ardo-brand-c: 0.14;
132
+ --ardo-brand-c: 0.16;
126
133
 
127
134
  --ardo-c-brand-subtle: oklch(0.2 0.04 var(--ardo-brand-h));
128
135
 
129
- /* Dark backgrounds - cool slate */
130
- --ardo-c-bg: #0f172a;
131
- --ardo-c-bg-soft: #1e293b;
132
- --ardo-c-bg-mute: #334155;
133
- --ardo-c-bg-alt: #475569;
136
+ /* Dark backgrounds - brand-tinted slate */
137
+ --ardo-c-bg: oklch(0.15 0.015 var(--ardo-brand-h));
138
+ --ardo-c-bg-soft: oklch(0.2 0.02 var(--ardo-brand-h));
139
+ --ardo-c-bg-mute: oklch(0.28 0.02 var(--ardo-brand-h));
140
+ --ardo-c-bg-alt: oklch(0.38 0.015 var(--ardo-brand-h));
134
141
 
135
- --ardo-sidebar-bg: #1e293b;
136
- --ardo-sidebar-border: #334155;
142
+ --ardo-sidebar-bg: oklch(0.18 0.018 var(--ardo-brand-h));
143
+ --ardo-sidebar-border: oklch(0.28 0.02 var(--ardo-brand-h));
137
144
 
138
145
  --ardo-code-bg: #1c1917;
139
146
  --ardo-code-border: #292524;
140
147
  --ardo-code-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
141
148
 
142
- /* Light text on dark */
143
- --ardo-c-text: #f1f5f9;
144
- --ardo-c-text-light: #94a3b8;
145
- --ardo-c-text-lighter: #64748b;
149
+ /* Light text on dark (brand-tinted) */
150
+ --ardo-c-text: oklch(0.93 0.008 var(--ardo-brand-h));
151
+ --ardo-c-text-light: oklch(0.7 0.015 var(--ardo-brand-h));
152
+ --ardo-c-text-lighter: oklch(0.55 0.012 var(--ardo-brand-h));
146
153
 
147
- --ardo-c-border: #334155;
148
- --ardo-c-border-light: #475569;
154
+ --ardo-c-border: oklch(0.3 0.02 var(--ardo-brand-h));
155
+ --ardo-c-border-light: oklch(0.38 0.015 var(--ardo-brand-h));
149
156
  --ardo-c-divider: var(--ardo-c-border);
150
157
 
158
+ --ardo-shadow-sm: 0 1px 2px oklch(0 0 0 / 0.12), 0 1px 3px oklch(0 0 0 / 0.15);
159
+ --ardo-shadow-md: 0 4px 6px oklch(0 0 0 / 0.12), 0 2px 4px oklch(0 0 0 / 0.08);
160
+ --ardo-shadow-lg: 0 10px 25px oklch(0 0 0 / 0.2), 0 4px 10px oklch(0 0 0 / 0.12);
161
+
151
162
  /* Dark container backgrounds */
152
163
  --ardo-c-tip-bg: oklch(0.2 0.04 var(--ardo-hue-success));
153
164
  --ardo-c-tip-border: oklch(0.35 0.1 var(--ardo-hue-success));
@@ -227,13 +238,20 @@ body {
227
238
  left: 0;
228
239
  right: 0;
229
240
  height: var(--ardo-header-height);
230
- background: var(--ardo-c-bg);
231
- border-bottom: 1px solid var(--ardo-c-border);
241
+ background: oklch(1 0 0 / 0.85);
242
+ backdrop-filter: blur(12px) saturate(1.5);
243
+ -webkit-backdrop-filter: blur(12px) saturate(1.5);
244
+ box-shadow:
245
+ 0 1px 3px oklch(0 0 0 / 0.04),
246
+ 0 1px 2px oklch(0 0 0 / 0.02);
232
247
  z-index: 100;
233
248
  }
234
249
 
235
250
  .dark .ardo-header {
236
- background: var(--ardo-c-bg);
251
+ background: oklch(0.15 0.02 var(--ardo-brand-h) / 0.85);
252
+ box-shadow:
253
+ 0 1px 3px oklch(0 0 0 / 0.15),
254
+ 0 1px 2px oklch(0 0 0 / 0.1);
237
255
  }
238
256
 
239
257
  .ardo-header-container {
@@ -389,7 +407,7 @@ body {
389
407
  height: calc(100vh - var(--ardo-header-height));
390
408
  padding: 24px 20px;
391
409
  overflow-y: auto;
392
- border-right: 1px solid var(--ardo-c-border);
410
+ box-shadow: 1px 0 3px oklch(0 0 0 / 0.03);
393
411
  background: var(--ardo-sidebar-bg);
394
412
  }
395
413
 
@@ -435,6 +453,8 @@ body {
435
453
  color: var(--ardo-c-brand);
436
454
  background: var(--ardo-c-brand-subtle);
437
455
  font-weight: 500;
456
+ border-left: 3px solid var(--ardo-c-brand);
457
+ padding-left: 7px;
438
458
  }
439
459
 
440
460
  .ardo-sidebar-text {
@@ -445,6 +465,19 @@ body {
445
465
  letter-spacing: 0.05em;
446
466
  color: var(--ardo-c-text-lighter);
447
467
  padding: 6px 10px;
468
+ display: flex;
469
+ align-items: center;
470
+ gap: 6px;
471
+ }
472
+
473
+ .ardo-sidebar-text::before {
474
+ content: "";
475
+ width: 5px;
476
+ height: 5px;
477
+ border-radius: 50%;
478
+ background: var(--ardo-c-brand);
479
+ opacity: 0.5;
480
+ flex-shrink: 0;
448
481
  }
449
482
 
450
483
  .ardo-sidebar-text:hover {
@@ -470,6 +503,10 @@ body {
470
503
  transform: rotate(-90deg);
471
504
  }
472
505
 
506
+ .dark .ardo-sidebar {
507
+ box-shadow: 1px 0 3px oklch(0 0 0 / 0.1);
508
+ }
509
+
473
510
  @media (max-width: 1024px) {
474
511
  .ardo-header-container {
475
512
  padding: 0 20px; /* Symmetric padding on mobile (no sidebar to align with) */
@@ -615,7 +652,18 @@ body {
615
652
  .ardo-content h2 {
616
653
  font-size: 24px;
617
654
  padding-bottom: 10px;
618
- border-bottom: 1px solid var(--ardo-c-border);
655
+ border-bottom: none;
656
+ position: relative;
657
+ }
658
+
659
+ .ardo-content h2::after {
660
+ content: "";
661
+ display: block;
662
+ width: 48px;
663
+ height: 3px;
664
+ background: var(--ardo-c-brand);
665
+ border-radius: 2px;
666
+ margin-top: 10px;
619
667
  }
620
668
  .ardo-content h3 {
621
669
  font-size: 20px;
@@ -631,13 +679,14 @@ body {
631
679
 
632
680
  .ardo-content a {
633
681
  color: var(--ardo-c-brand);
634
- text-decoration: none;
635
- border-bottom: 1px solid transparent;
636
- transition: border-color var(--ardo-transition-fast);
682
+ text-decoration: underline;
683
+ text-decoration-color: oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.3);
684
+ text-underline-offset: 3px;
685
+ transition: text-decoration-color var(--ardo-transition-fast);
637
686
  }
638
687
 
639
688
  .ardo-content a:hover {
640
- border-bottom-color: var(--ardo-c-brand);
689
+ text-decoration-color: var(--ardo-c-brand);
641
690
  }
642
691
 
643
692
  .ardo-content ul,
@@ -658,7 +707,8 @@ body {
658
707
  .ardo-content blockquote {
659
708
  margin: 20px 0;
660
709
  padding: 16px 20px;
661
- border-left: 3px solid var(--ardo-c-brand);
710
+ border-left: 4px solid
711
+ oklch(var(--ardo-brand-l) calc(var(--ardo-brand-c) + 0.03) var(--ardo-brand-h));
662
712
  background: var(--ardo-c-bg-soft);
663
713
  border-radius: 0 var(--ardo-radius) var(--ardo-radius) 0;
664
714
  font-style: italic;
@@ -691,6 +741,10 @@ body {
691
741
  font-size: 13px;
692
742
  }
693
743
 
744
+ .ardo-content tbody tr:nth-child(even) {
745
+ background: var(--ardo-c-bg-soft);
746
+ }
747
+
694
748
  .ardo-content img {
695
749
  max-width: 100%;
696
750
  border-radius: var(--ardo-radius);
@@ -702,9 +756,9 @@ body {
702
756
  font-family: var(--ardo-font-mono);
703
757
  font-size: 0.875em;
704
758
  padding: 3px 6px;
705
- background: var(--ardo-c-bg-mute);
759
+ background: oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.06);
706
760
  border-radius: var(--ardo-radius-sm);
707
- border: 1px solid var(--ardo-c-border-light);
761
+ border: 1px solid oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.1);
708
762
  }
709
763
 
710
764
  .ardo-content pre code {
@@ -741,7 +795,11 @@ body {
741
795
 
742
796
  .ardo-code-title {
743
797
  padding: 10px 16px;
744
- background: var(--ardo-code-border);
798
+ background: linear-gradient(
799
+ 90deg,
800
+ oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.04) 0%,
801
+ var(--ardo-code-border) 100%
802
+ );
745
803
  font-size: 13px;
746
804
  font-weight: 500;
747
805
  font-family: var(--ardo-font-mono);
@@ -764,19 +822,25 @@ body {
764
822
  background: transparent !important;
765
823
  }
766
824
 
825
+ .ardo-code-wrapper pre code {
826
+ display: flex;
827
+ flex-direction: column;
828
+ }
829
+
767
830
  .dark .ardo-code-wrapper pre {
768
831
  color: #e2e8f0;
769
832
  }
770
833
 
771
834
  .ardo-code-line {
772
835
  display: block;
836
+ margin: 0 -16px;
837
+ padding: 0 16px;
838
+ border-left: 3px solid transparent;
773
839
  }
774
840
 
775
841
  .ardo-code-line.highlighted {
776
- background: rgba(99, 179, 237, 0.12);
777
- margin: 0 -16px;
778
- padding: 0 16px;
779
- border-left: 3px solid var(--ardo-c-brand);
842
+ background: oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.1);
843
+ border-left-color: var(--ardo-c-brand);
780
844
  }
781
845
 
782
846
  .ardo-line-number {
@@ -808,7 +872,7 @@ body {
808
872
  font-family: var(--ardo-font-family);
809
873
  color: var(--ardo-c-text-light);
810
874
  opacity: 0;
811
- transition: all var(--ardo-transition-fast);
875
+ transition: all var(--ardo-transition);
812
876
  }
813
877
 
814
878
  .ardo-code-wrapper:hover .ardo-copy-button {
@@ -869,39 +933,54 @@ body {
869
933
  display: block;
870
934
  }
871
935
 
936
+ /* Strip inner code-block chrome when nested inside a code group */
937
+ .ardo-code-group-panel .ardo-code-block {
938
+ margin: 0;
939
+ border: none;
940
+ border-radius: 0;
941
+ box-shadow: none;
942
+ background: transparent;
943
+ }
944
+
872
945
  /* ========================================
873
946
  Containers - Clear Visual Distinction
874
947
  ======================================== */
875
948
  .ardo-container {
876
- margin: 20px 0;
877
- padding: 16px 20px;
949
+ margin: 16px 0;
950
+ padding: 12px 16px;
878
951
  border-radius: var(--ardo-radius);
879
952
  border: 1px solid;
953
+ border-left: 4px solid;
880
954
  }
881
955
 
882
956
  .ardo-container-tip {
883
957
  background: var(--ardo-c-tip-bg);
884
958
  border-color: var(--ardo-c-tip-border);
959
+ border-left-color: var(--ardo-c-tip);
885
960
  }
886
961
 
887
962
  .ardo-container-warning {
888
963
  background: var(--ardo-c-warning-bg);
889
964
  border-color: var(--ardo-c-warning-border);
965
+ border-left-color: var(--ardo-c-warning);
890
966
  }
891
967
 
892
968
  .ardo-container-danger {
893
969
  background: var(--ardo-c-danger-bg);
894
970
  border-color: var(--ardo-c-danger-border);
971
+ border-left-color: var(--ardo-c-danger);
895
972
  }
896
973
 
897
974
  .ardo-container-info {
898
975
  background: var(--ardo-c-info-bg);
899
976
  border-color: var(--ardo-c-info-border);
977
+ border-left-color: var(--ardo-c-info);
900
978
  }
901
979
 
902
980
  .ardo-container-note {
903
981
  background: var(--ardo-c-note-bg);
904
982
  border-color: var(--ardo-c-note-border);
983
+ border-left-color: var(--ardo-c-note);
905
984
  }
906
985
 
907
986
  .ardo-container-title {
@@ -1008,13 +1087,16 @@ body {
1008
1087
  border: 1px solid var(--ardo-c-border);
1009
1088
  border-radius: var(--ardo-radius);
1010
1089
  text-decoration: none;
1011
- transition: all var(--ardo-transition-fast);
1090
+ box-shadow: var(--ardo-shadow-sm);
1091
+ transition: all var(--ardo-transition);
1012
1092
  }
1013
1093
 
1014
1094
  .ardo-prev-link:hover,
1015
1095
  .ardo-next-link:hover {
1016
- border-color: var(--ardo-c-brand);
1096
+ border-color: oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.4);
1017
1097
  background: var(--ardo-c-brand-subtle);
1098
+ box-shadow: var(--ardo-shadow-md);
1099
+ transform: translateY(-2px);
1018
1100
  }
1019
1101
 
1020
1102
  .ardo-next-link {
@@ -1039,8 +1121,21 @@ body {
1039
1121
  .ardo-footer {
1040
1122
  padding: 32px 24px;
1041
1123
  text-align: center;
1042
- border-top: 1px solid var(--ardo-c-border);
1043
- background: var(--ardo-c-bg-soft);
1124
+ box-shadow: 0 -1px 3px oklch(0 0 0 / 0.03);
1125
+ background: linear-gradient(
1126
+ 180deg,
1127
+ var(--ardo-c-bg) 0%,
1128
+ oklch(0.97 0.01 var(--ardo-brand-h)) 100%
1129
+ );
1130
+ }
1131
+
1132
+ .dark .ardo-footer {
1133
+ box-shadow: 0 -1px 3px oklch(0 0 0 / 0.1);
1134
+ background: linear-gradient(
1135
+ 180deg,
1136
+ var(--ardo-c-bg) 0%,
1137
+ oklch(0.18 0.015 var(--ardo-brand-h)) 100%
1138
+ );
1044
1139
  }
1045
1140
 
1046
1141
  .ardo-footer-message,
@@ -1052,37 +1147,40 @@ body {
1052
1147
  /* ========================================
1053
1148
  Search
1054
1149
  ======================================== */
1055
- .ardo-search-button {
1150
+ .ardo-search {
1151
+ position: relative;
1152
+ width: clamp(220px, 30vw, 360px);
1153
+ max-width: 100%;
1154
+ transition: width var(--ardo-transition-fast);
1155
+ }
1156
+
1157
+ .ardo-search-field {
1056
1158
  display: flex;
1057
1159
  align-items: center;
1058
1160
  gap: 8px;
1059
- padding: 8px 14px;
1161
+ min-height: 40px;
1162
+ padding: 8px 12px;
1060
1163
  background: var(--ardo-c-bg-soft);
1061
1164
  border: 1px solid var(--ardo-c-border);
1062
1165
  border-radius: var(--ardo-radius);
1063
- cursor: pointer;
1064
1166
  color: var(--ardo-c-text-lighter);
1065
- font-size: 14px;
1066
- transition: all var(--ardo-transition-fast);
1167
+ cursor: text;
1168
+ transition:
1169
+ border-color var(--ardo-transition-fast),
1170
+ box-shadow var(--ardo-transition-fast),
1171
+ color var(--ardo-transition-fast);
1067
1172
  }
1068
1173
 
1069
- .ardo-search-button:hover {
1174
+ .ardo-search:hover .ardo-search-field,
1175
+ .ardo-search:focus-within .ardo-search-field {
1070
1176
  border-color: var(--ardo-c-brand);
1071
1177
  color: var(--ardo-c-text-light);
1072
- }
1073
-
1074
- .ardo-search-button-text {
1075
- display: none;
1076
- }
1077
-
1078
- @media (min-width: 768px) {
1079
- .ardo-search-button-text {
1080
- display: inline;
1081
- }
1178
+ box-shadow: 0 0 0 3px oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.14);
1082
1179
  }
1083
1180
 
1084
1181
  .ardo-search-kbd {
1085
1182
  display: none;
1183
+ margin-left: 4px;
1086
1184
  }
1087
1185
 
1088
1186
  @media (min-width: 768px) {
@@ -1101,44 +1199,44 @@ body {
1101
1199
  font-family: var(--ardo-font-family);
1102
1200
  }
1103
1201
 
1104
- .ardo-search-modal {
1105
- position: fixed;
1106
- inset: 0;
1107
- background: rgba(0, 0, 0, 0.5);
1108
- display: flex;
1109
- align-items: flex-start;
1110
- justify-content: center;
1111
- padding-top: 100px;
1112
- z-index: 200;
1113
- }
1114
-
1115
- .ardo-search-dialog {
1116
- width: 100%;
1117
- max-width: 560px;
1118
- background: var(--ardo-c-bg);
1119
- border-radius: var(--ardo-radius-lg);
1120
- border: 1px solid var(--ardo-c-border);
1121
- overflow: hidden;
1122
- }
1123
-
1124
- .ardo-search-input-wrapper {
1125
- display: flex;
1126
- align-items: center;
1127
- gap: 12px;
1128
- padding: 16px 20px;
1129
- border-bottom: 1px solid var(--ardo-c-border);
1130
- }
1131
-
1132
1202
  .ardo-search-input {
1133
1203
  flex: 1;
1204
+ min-width: 0;
1134
1205
  border: none;
1135
1206
  outline: none;
1136
- font-size: 16px;
1207
+ font-size: 14px;
1137
1208
  background: none;
1138
1209
  color: var(--ardo-c-text);
1139
1210
  }
1140
1211
 
1212
+ .ardo-search-input::placeholder {
1213
+ color: var(--ardo-c-text-lighter);
1214
+ }
1215
+
1216
+ .ardo-search-input:focus-visible {
1217
+ outline: none;
1218
+ }
1219
+
1220
+ .ardo-search-popover {
1221
+ position: absolute;
1222
+ top: calc(100% + 10px);
1223
+ right: 0;
1224
+ width: min(560px, calc(100vw - 24px));
1225
+ background: var(--ardo-c-bg);
1226
+ border-radius: 16px;
1227
+ border: 1px solid var(--ardo-c-border);
1228
+ box-shadow: var(--ardo-shadow-lg);
1229
+ overflow: hidden;
1230
+ z-index: 210;
1231
+ }
1232
+
1141
1233
  .ardo-search-clear {
1234
+ display: inline-flex;
1235
+ align-items: center;
1236
+ justify-content: center;
1237
+ width: 24px;
1238
+ height: 24px;
1239
+ flex-shrink: 0;
1142
1240
  background: none;
1143
1241
  border: none;
1144
1242
  cursor: pointer;
@@ -1175,7 +1273,7 @@ body {
1175
1273
 
1176
1274
  .ardo-search-result:hover,
1177
1275
  .ardo-search-result.selected {
1178
- background: var(--ardo-c-bg-soft);
1276
+ background: oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.05);
1179
1277
  }
1180
1278
 
1181
1279
  .ardo-search-result-title {
@@ -1215,6 +1313,63 @@ body {
1215
1313
  margin-right: 4px;
1216
1314
  }
1217
1315
 
1316
+ @media (max-width: 768px) {
1317
+ .ardo-search {
1318
+ width: 40px;
1319
+ }
1320
+
1321
+ .ardo-search-field {
1322
+ width: 40px;
1323
+ gap: 0;
1324
+ padding: 8px;
1325
+ }
1326
+
1327
+ .ardo-search-input {
1328
+ flex: 0 0 auto;
1329
+ width: 0;
1330
+ opacity: 0;
1331
+ pointer-events: none;
1332
+ }
1333
+
1334
+ .ardo-search-clear,
1335
+ .ardo-search-kbd {
1336
+ display: none;
1337
+ }
1338
+
1339
+ .ardo-search[data-expanded="true"],
1340
+ .ardo-search:focus-within {
1341
+ width: min(360px, calc(100vw - 20px));
1342
+ }
1343
+
1344
+ .ardo-search[data-expanded="true"] .ardo-search-field,
1345
+ .ardo-search:focus-within .ardo-search-field {
1346
+ width: 100%;
1347
+ gap: 8px;
1348
+ padding: 8px 12px;
1349
+ }
1350
+
1351
+ .ardo-search[data-expanded="true"] .ardo-search-input,
1352
+ .ardo-search:focus-within .ardo-search-input {
1353
+ flex: 1;
1354
+ opacity: 1;
1355
+ pointer-events: auto;
1356
+ }
1357
+
1358
+ .ardo-search[data-expanded="true"] .ardo-search-clear,
1359
+ .ardo-search:focus-within .ardo-search-clear {
1360
+ display: inline-flex;
1361
+ }
1362
+
1363
+ .ardo-search-popover {
1364
+ right: 0;
1365
+ width: min(420px, calc(100vw - 20px));
1366
+ }
1367
+
1368
+ .ardo-search-footer {
1369
+ display: none;
1370
+ }
1371
+ }
1372
+
1218
1373
  /* Theme toggle */
1219
1374
  .ardo-theme-toggle {
1220
1375
  display: flex;
@@ -1290,7 +1445,7 @@ body {
1290
1445
  overflow: hidden;
1291
1446
  }
1292
1447
 
1293
- /* Subtle gradient background */
1448
+ /* Gradient background with dual orbs */
1294
1449
  .ardo-hero::before {
1295
1450
  content: "";
1296
1451
  position: absolute;
@@ -1300,8 +1455,13 @@ body {
1300
1455
  bottom: 0;
1301
1456
  background:
1302
1457
  radial-gradient(
1303
- ellipse 80% 50% at 50% -20%,
1304
- oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.08) 0%,
1458
+ ellipse 60% 50% at 30% 0%,
1459
+ oklch(var(--ardo-brand-l) var(--ardo-brand-c) calc(var(--ardo-brand-h) + 30) / 0.06) 0%,
1460
+ transparent 60%
1461
+ ),
1462
+ radial-gradient(
1463
+ ellipse 80% 50% at 70% -10%,
1464
+ oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.12) 0%,
1305
1465
  transparent 70%
1306
1466
  ),
1307
1467
  linear-gradient(180deg, var(--ardo-c-bg) 0%, var(--ardo-c-bg-soft) 100%);
@@ -1311,8 +1471,13 @@ body {
1311
1471
  .dark .ardo-hero::before {
1312
1472
  background:
1313
1473
  radial-gradient(
1314
- ellipse 80% 50% at 50% -20%,
1315
- oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.15) 0%,
1474
+ ellipse 60% 50% at 30% 0%,
1475
+ oklch(var(--ardo-brand-l) var(--ardo-brand-c) calc(var(--ardo-brand-h) + 30) / 0.1) 0%,
1476
+ transparent 60%
1477
+ ),
1478
+ radial-gradient(
1479
+ ellipse 80% 50% at 70% -10%,
1480
+ oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.2) 0%,
1316
1481
  transparent 70%
1317
1482
  ),
1318
1483
  linear-gradient(180deg, var(--ardo-c-bg) 0%, var(--ardo-c-bg-soft) 100%);
@@ -1385,11 +1550,13 @@ body {
1385
1550
  .ardo-hero-action-brand {
1386
1551
  background: var(--ardo-c-brand);
1387
1552
  color: white;
1553
+ box-shadow: 0 4px 14px oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.3);
1388
1554
  }
1389
1555
 
1390
1556
  .ardo-hero-action-brand:hover {
1391
1557
  background: var(--ardo-c-brand-dark);
1392
- transform: translateY(-1px);
1558
+ transform: translateY(-2px);
1559
+ box-shadow: 0 6px 20px oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.4);
1393
1560
  }
1394
1561
 
1395
1562
  .ardo-hero-action-alt {
@@ -1425,12 +1592,36 @@ body {
1425
1592
  background: var(--ardo-c-bg);
1426
1593
  border-radius: var(--ardo-radius-lg);
1427
1594
  border: 1px solid var(--ardo-c-border);
1595
+ box-shadow: var(--ardo-shadow-sm);
1428
1596
  transition: all var(--ardo-transition);
1597
+ animation: ardo-fade-in-up 0.5s ease both;
1598
+ }
1599
+
1600
+ .ardo-feature:nth-child(1) {
1601
+ animation-delay: 0ms;
1602
+ }
1603
+ .ardo-feature:nth-child(2) {
1604
+ animation-delay: 80ms;
1605
+ }
1606
+ .ardo-feature:nth-child(3) {
1607
+ animation-delay: 160ms;
1608
+ }
1609
+ .ardo-feature:nth-child(4) {
1610
+ animation-delay: 240ms;
1611
+ }
1612
+ .ardo-feature:nth-child(5) {
1613
+ animation-delay: 320ms;
1614
+ }
1615
+ .ardo-feature:nth-child(6) {
1616
+ animation-delay: 400ms;
1429
1617
  }
1430
1618
 
1431
1619
  .ardo-feature:hover {
1432
- border-color: var(--ardo-c-brand);
1433
- transform: translateY(-2px);
1620
+ border-color: oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.4);
1621
+ box-shadow:
1622
+ var(--ardo-shadow-md),
1623
+ 0 0 0 1px oklch(var(--ardo-brand-l) var(--ardo-brand-c) var(--ardo-brand-h) / 0.1);
1624
+ transform: translateY(-3px);
1434
1625
  }
1435
1626
 
1436
1627
  .ardo-feature-icon {
@@ -2183,6 +2374,38 @@ body {
2183
2374
  margin: 16px 0;
2184
2375
  }
2185
2376
 
2377
+ /* ========================================
2378
+ Animations
2379
+ ======================================== */
2380
+ @keyframes ardo-fade-in-up {
2381
+ from {
2382
+ opacity: 0;
2383
+ transform: translateY(20px);
2384
+ }
2385
+ to {
2386
+ opacity: 1;
2387
+ transform: translateY(0);
2388
+ }
2389
+ }
2390
+
2391
+ .ardo-hero-animate {
2392
+ animation: ardo-fade-in-up 0.6s ease both;
2393
+ }
2394
+
2395
+ @media (prefers-reduced-motion: reduce) {
2396
+ .ardo-feature,
2397
+ .ardo-hero-animate {
2398
+ animation: none;
2399
+ }
2400
+
2401
+ .ardo-feature:hover,
2402
+ .ardo-prev-link:hover,
2403
+ .ardo-next-link:hover,
2404
+ .ardo-hero-action-brand:hover {
2405
+ transform: none;
2406
+ }
2407
+ }
2408
+
2186
2409
  /* ========================================
2187
2410
  Focus States - Accessibility
2188
2411
  ======================================== */