methanol 0.0.1 → 0.0.3

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.
@@ -1,4 +1,4 @@
1
- @import '@wooorm/starry-night/style/both';
1
+ @import '@wooorm/starry-night/style/core';
2
2
 
3
3
  :root {
4
4
  interpolate-size: allow-keywords;
@@ -10,9 +10,9 @@
10
10
  --text: #fafafa;
11
11
  --muted: #a1a1aa;
12
12
  --border: #27272a;
13
- --accent: #f43f5e;
13
+ --accent: #ffa000;
14
14
  --accent-foreground: #ffffff;
15
- --accent-soft: rgba(244, 63, 94, 0.1);
15
+ --accent-soft: rgba(255, 160, 0, 0.1);
16
16
  --radius: 8px;
17
17
  --sidebar-width: 260px;
18
18
  --toc-width: 240px;
@@ -29,9 +29,9 @@
29
29
  --text: #09090b;
30
30
  --muted: #71717a;
31
31
  --border: #e4e4e7;
32
- --accent: #e11d48;
32
+ --accent: #ff8f00;
33
33
  --accent-foreground: #ffffff;
34
- --accent-soft: rgba(225, 29, 72, 0.08);
34
+ --accent-soft: rgba(255, 143, 0, 0.08);
35
35
  --hover-bg: rgba(0, 0, 0, 0.04);
36
36
  }
37
37
  }
@@ -45,10 +45,42 @@
45
45
  --text: #09090b;
46
46
  --muted: #71717a;
47
47
  --border: #e4e4e7;
48
- --accent: #e11d48;
48
+ --accent: #ff8f00;
49
49
  --accent-foreground: #ffffff;
50
- --accent-soft: rgba(225, 29, 72, 0.08);
50
+ --accent-soft: rgba(255, 143, 0, 0.08);
51
51
  --hover-bg: rgba(0, 0, 0, 0.04);
52
+
53
+ /* Starry Night Light Theme */
54
+ --color-prettylights-syntax-brackethighlighter-angle: #59636e;
55
+ --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
56
+ --color-prettylights-syntax-carriage-return-bg: #cf222e;
57
+ --color-prettylights-syntax-carriage-return-text: #f6f8fa;
58
+ --color-prettylights-syntax-comment: #59636e;
59
+ --color-prettylights-syntax-constant: #0550ae;
60
+ --color-prettylights-syntax-constant-other-reference-link: #0a3069;
61
+ --color-prettylights-syntax-entity: #6639ba;
62
+ --color-prettylights-syntax-entity-tag: #0550ae;
63
+ --color-prettylights-syntax-invalid-illegal-bg: #82071e;
64
+ --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
65
+ --color-prettylights-syntax-keyword: #cf222e;
66
+ --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
67
+ --color-prettylights-syntax-markup-changed-text: #953800;
68
+ --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
69
+ --color-prettylights-syntax-markup-deleted-text: #82071e;
70
+ --color-prettylights-syntax-markup-heading: #0550ae;
71
+ --color-prettylights-syntax-markup-ignored-bg: #0550ae;
72
+ --color-prettylights-syntax-markup-ignored-text: #d1d9e0;
73
+ --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
74
+ --color-prettylights-syntax-markup-inserted-text: #116329;
75
+ --color-prettylights-syntax-markup-list: #3b2300;
76
+ --color-prettylights-syntax-meta-diff-range: #8250df;
77
+ --color-prettylights-syntax-string: #0a3069;
78
+ --color-prettylights-syntax-string-regexp: #116329;
79
+ --color-prettylights-syntax-sublimelinter-gutter-mark: #818b98;
80
+ --color-prettylights-syntax-variable: #953800;
81
+ --color-prettylights-syntax-markup-bold: #1f2328;
82
+ --color-prettylights-syntax-markup-italic: #1f2328;
83
+ --color-prettylights-syntax-storage-modifier-import: #1f2328;
52
84
  }
53
85
 
54
86
  &.dark {
@@ -60,11 +92,115 @@
60
92
  --text: #fafafa;
61
93
  --muted: #a1a1aa;
62
94
  --border: #27272a;
63
- --accent: #f43f5e;
95
+ --accent: #ffa000;
64
96
  --accent-foreground: #ffffff;
65
- --accent-soft: rgba(244, 63, 94, 0.1);
97
+ --accent-soft: rgba(255, 160, 0, 0.1);
66
98
  --radius: 8px;
67
99
  --hover-bg: rgba(255, 255, 255, 0.05);
100
+
101
+ /* Starry Night Dark Theme */
102
+ --color-prettylights-syntax-brackethighlighter-angle: #9198a1;
103
+ --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;
104
+ --color-prettylights-syntax-carriage-return-bg: #b62324;
105
+ --color-prettylights-syntax-carriage-return-text: #f0f6fc;
106
+ --color-prettylights-syntax-comment: #9198a1;
107
+ --color-prettylights-syntax-constant: #79c0ff;
108
+ --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;
109
+ --color-prettylights-syntax-entity: #d2a8ff;
110
+ --color-prettylights-syntax-entity-tag: #7ee787;
111
+ --color-prettylights-syntax-invalid-illegal-bg: #8e1519;
112
+ --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;
113
+ --color-prettylights-syntax-keyword: #ff7b72;
114
+ --color-prettylights-syntax-markup-bold: #f0f6fc;
115
+ --color-prettylights-syntax-markup-changed-bg: #5a1e02;
116
+ --color-prettylights-syntax-markup-changed-text: #ffdfb6;
117
+ --color-prettylights-syntax-markup-deleted-bg: #67060c;
118
+ --color-prettylights-syntax-markup-deleted-text: #ffdcd7;
119
+ --color-prettylights-syntax-markup-heading: #1f6feb;
120
+ --color-prettylights-syntax-markup-ignored-bg: #1158c7;
121
+ --color-prettylights-syntax-markup-ignored-text: #f0f6fc;
122
+ --color-prettylights-syntax-markup-inserted-bg: #033a16;
123
+ --color-prettylights-syntax-markup-inserted-text: #aff5b4;
124
+ --color-prettylights-syntax-markup-italic: #f0f6fc;
125
+ --color-prettylights-syntax-markup-list: #f2cc60;
126
+ --color-prettylights-syntax-meta-diff-range: #d2a8ff;
127
+ --color-prettylights-syntax-storage-modifier-import: #f0f6fc;
128
+ --color-prettylights-syntax-string: #a5d6ff;
129
+ --color-prettylights-syntax-string-regexp: #7ee787;
130
+ --color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d;
131
+ --color-prettylights-syntax-variable: #ffa657;
132
+ }
133
+
134
+ /* Accent Colors */
135
+ &.accent-rose {
136
+ --accent: #f43f5e;
137
+ --accent-soft: rgba(244, 63, 94, 0.15);
138
+ @media (prefers-color-scheme: light) {
139
+ --accent: #e11d48;
140
+ --accent-soft: rgba(225, 29, 72, 0.1);
141
+ }
142
+ &.light {
143
+ --accent: #e11d48;
144
+ --accent-soft: rgba(225, 29, 72, 0.1);
145
+ }
146
+ &.dark {
147
+ --accent: #f43f5e;
148
+ --accent-soft: rgba(244, 63, 94, 0.15);
149
+ }
150
+ }
151
+
152
+ &.accent-blue {
153
+ /* Indigo-Blue */
154
+ --accent: #818cf8;
155
+ --accent-soft: rgba(129, 140, 248, 0.15);
156
+ @media (prefers-color-scheme: light) {
157
+ --accent: #4f46e5;
158
+ --accent-soft: rgba(79, 70, 229, 0.1);
159
+ }
160
+ &.light {
161
+ --accent: #4f46e5;
162
+ --accent-soft: rgba(79, 70, 229, 0.1);
163
+ }
164
+ &.dark {
165
+ --accent: #818cf8;
166
+ --accent-soft: rgba(129, 140, 248, 0.15);
167
+ }
168
+ }
169
+
170
+ &.accent-green {
171
+ /* Teal-Emerald */
172
+ --accent: #2dd4bf;
173
+ --accent-soft: rgba(45, 212, 191, 0.15);
174
+ @media (prefers-color-scheme: light) {
175
+ --accent: #0d9488;
176
+ --accent-soft: rgba(13, 148, 136, 0.1);
177
+ }
178
+ &.light {
179
+ --accent: #0d9488;
180
+ --accent-soft: rgba(13, 148, 136, 0.1);
181
+ }
182
+ &.dark {
183
+ --accent: #2dd4bf;
184
+ --accent-soft: rgba(45, 212, 191, 0.15);
185
+ }
186
+ }
187
+
188
+ &.accent-purple {
189
+ /* Violet */
190
+ --accent: #a78bfa;
191
+ --accent-soft: rgba(167, 139, 250, 0.15);
192
+ @media (prefers-color-scheme: light) {
193
+ --accent: #7c3aed;
194
+ --accent-soft: rgba(124, 58, 237, 0.1);
195
+ }
196
+ &.light {
197
+ --accent: #7c3aed;
198
+ --accent-soft: rgba(124, 58, 237, 0.1);
199
+ }
200
+ &.dark {
201
+ --accent: #a78bfa;
202
+ --accent-soft: rgba(167, 139, 250, 0.15);
203
+ }
68
204
  }
69
205
  }
70
206
 
@@ -87,15 +223,15 @@ body {
87
223
  color: var(--text);
88
224
  background-color: var(--bg);
89
225
  background-image:
90
- radial-gradient(at 0% 0%, rgba(244, 63, 94, 0.05) 0px, transparent 50%),
91
- radial-gradient(at 100% 0%, rgba(244, 63, 94, 0.02) 0px, transparent 50%);
226
+ radial-gradient(at 0% 0%, var(--accent-soft) 0px, transparent 50%),
227
+ radial-gradient(at 100% 0%, rgba(255, 255, 255, 0.01) 0px, transparent 50%);
92
228
  background-attachment: fixed;
93
229
  -webkit-font-smoothing: antialiased;
94
230
 
95
231
  @media (prefers-color-scheme: light) {
96
232
  background-image:
97
- radial-gradient(at 0% 0%, rgba(225, 29, 72, 0.03) 0px, transparent 50%),
98
- radial-gradient(at 100% 0%, rgba(225, 29, 72, 0.01) 0px, transparent 50%);
233
+ radial-gradient(at 0% 0%, var(--accent-soft) 0px, transparent 50%),
234
+ radial-gradient(at 100% 0%, rgba(0, 0, 0, 0.01) 0px, transparent 50%);
99
235
  }
100
236
  }
101
237
 
@@ -135,17 +271,24 @@ a {
135
271
  position: sticky;
136
272
  top: 0;
137
273
  height: 100vh;
138
- overflow-y: auto;
274
+ overflow: visible;
139
275
  padding: 2rem 0;
140
276
  display: flex;
141
277
  flex-direction: column;
142
- gap: 1.5rem;
278
+ gap: 1rem;
143
279
  border-right: 1px solid transparent; /* Align visually */
144
280
 
281
+ .sidebar-header,
282
+ .sidebar-footer,
283
+ nav {
284
+ padding: 0 1rem;
285
+ }
286
+
145
287
  .sidebar-header {
146
288
  display: flex;
147
289
  flex-direction: column;
148
290
  gap: 1rem;
291
+ flex-shrink: 0; /* Prevent header from shrinking */
149
292
 
150
293
  .logo {
151
294
  display: flex;
@@ -162,6 +305,10 @@ a {
162
305
  height: auto;
163
306
  width: auto;
164
307
  object-fit: contain;
308
+
309
+ @media (max-width: 1024px) {
310
+ max-height: 128px;
311
+ }
165
312
  }
166
313
 
167
314
  span {
@@ -170,6 +317,10 @@ a {
170
317
  letter-spacing: -0.03em;
171
318
  color: var(--text);
172
319
  line-height: 1.2;
320
+
321
+ @media (max-width: 1024px) {
322
+ font-size: 1.1rem;
323
+ }
173
324
  }
174
325
  }
175
326
 
@@ -178,23 +329,33 @@ a {
178
329
  align-items: center;
179
330
  gap: 0.5rem;
180
331
  width: 100%;
332
+ height: 2.25rem; /* Set a fixed height to prevent shifts */
181
333
  background: var(--surface-muted);
182
334
  border: 1px solid var(--border);
183
335
  border-radius: var(--radius);
184
- padding: 0.5rem 0.75rem;
336
+ padding: 0 0.75rem; /* Vertical padding replaced by height + align-items */
185
337
  color: var(--muted);
186
338
  font-size: 0.875rem;
187
339
  cursor: pointer;
188
340
  transition: all 0.15s ease;
189
341
 
342
+ /* Hide search box on narrow screens */
343
+ @media (max-width: 1024px) {
344
+ display: none;
345
+ }
346
+
190
347
  kbd {
191
348
  margin-left: auto;
192
349
  font-family: inherit;
193
350
  font-size: 0.75rem;
351
+ line-height: 1;
194
352
  border: 1px solid var(--border);
195
353
  border-radius: 4px;
196
- padding: 0.1rem 0.3rem;
354
+ padding: 0.15rem 0.3rem;
197
355
  background: var(--surface);
356
+ display: inline-flex;
357
+ align-items: center;
358
+ justify-content: center;
198
359
  }
199
360
 
200
361
  &:hover {
@@ -204,6 +365,12 @@ a {
204
365
  }
205
366
  }
206
367
 
368
+ nav {
369
+ flex: 1;
370
+ overflow-y: auto;
371
+ min-height: 0;
372
+ }
373
+
207
374
  nav ul {
208
375
  list-style: none;
209
376
  margin: 0;
@@ -412,13 +579,12 @@ a {
412
579
 
413
580
  .sidebar-footer {
414
581
  margin-top: auto;
415
- padding-top: 1rem;
416
- border-top: 1px solid var(--border);
417
582
  display: flex;
418
583
  align-items: center;
419
584
  gap: 0.5rem;
420
- justify-content: end;
585
+ justify-content: space-between;
421
586
  flex-wrap: wrap;
587
+ flex-shrink: 0; /* Prevent footer from shrinking */
422
588
  }
423
589
 
424
590
  .lang-switch-wrapper {
@@ -469,32 +635,275 @@ a {
469
635
  flex-grow: 0;
470
636
  }
471
637
 
638
+ .theme-switch-wrapper {
639
+ position: relative;
640
+ width: 2.25rem;
641
+ height: 2.25rem;
642
+ }
643
+
472
644
  .theme-switch-btn {
645
+
473
646
  display: flex;
647
+
474
648
  align-items: center;
649
+
475
650
  justify-content: center;
651
+
476
652
  width: 100%;
653
+
477
654
  height: 100%;
655
+
478
656
  background: var(--surface-muted);
657
+
479
658
  border: 1px solid var(--border);
659
+
480
660
  border-radius: var(--radius);
661
+
481
662
  color: var(--text);
663
+
482
664
  cursor: pointer;
665
+
483
666
  transition: all 0.2s ease;
484
667
 
668
+ position: relative;
669
+
670
+ overflow: hidden;
671
+
672
+
673
+
485
674
  &:hover {
675
+
486
676
  background: var(--hover-bg);
677
+
487
678
  border-color: var(--muted);
679
+
680
+ }
681
+
682
+
683
+
684
+ &:active {
685
+
686
+ transform: scale(0.96);
687
+
488
688
  }
489
689
 
690
+
691
+
490
692
  svg {
693
+
491
694
  opacity: 0.8;
695
+
492
696
  }
493
697
 
698
+
699
+
494
700
  span {
701
+
495
702
  display: none;
703
+
704
+ }
705
+
706
+ }
707
+
708
+
709
+
710
+ .accent-circle {
711
+
712
+ width: 12px;
713
+
714
+ height: 12px;
715
+
716
+ border-radius: 50%;
717
+
718
+ background-color: var(--accent);
719
+
720
+ transition: background-color 0.2s ease;
721
+
722
+ box-shadow: 0 0 0 1px var(--surface);
723
+
724
+ }
725
+
726
+
727
+
728
+ .accent-popup {
729
+
730
+ position: absolute;
731
+
732
+ bottom: 100%;
733
+
734
+ left: 50%;
735
+
736
+ transform: translateX(-50%) translateY(10px) scale(0.95);
737
+
738
+ margin-bottom: 1rem;
739
+
740
+ background: var(--surface);
741
+
742
+ border: 1px solid var(--border);
743
+
744
+ border-radius: 12px;
745
+
746
+ padding: 0.5rem;
747
+
748
+ display: flex;
749
+
750
+ flex-direction: column;
751
+
752
+ gap: 0.25rem;
753
+
754
+ box-shadow:
755
+
756
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
757
+
758
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05),
759
+
760
+ 0 0 0 1px rgba(0,0,0,0.05);
761
+
762
+ z-index: 50;
763
+
764
+ min-width: 160px;
765
+
766
+ opacity: 0;
767
+
768
+ visibility: hidden;
769
+
770
+ transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
771
+
772
+
773
+
774
+ &.open {
775
+
776
+ opacity: 1;
777
+
778
+ visibility: visible;
779
+
780
+ transform: translateX(-50%) translateY(0) scale(1);
781
+
782
+ }
783
+
784
+
785
+
786
+ &::before {
787
+
788
+ content: '';
789
+
790
+ position: absolute;
791
+
792
+ top: 100%;
793
+
794
+ left: 50%;
795
+
796
+ transform: translateX(-50%);
797
+
798
+ border-left: 6px solid transparent;
799
+
800
+ border-right: 6px solid transparent;
801
+
802
+ border-top: 6px solid var(--border);
803
+
804
+ }
805
+
806
+
807
+
808
+ &::after {
809
+
810
+ content: '';
811
+
812
+ position: absolute;
813
+
814
+ top: 100%;
815
+
816
+ left: 50%;
817
+
818
+ transform: translateX(-50%);
819
+
820
+ border-left: 5px solid transparent;
821
+
822
+ border-right: 5px solid transparent;
823
+
824
+ border-top: 5px solid var(--surface);
825
+
826
+ margin-top: -1px;
827
+
496
828
  }
829
+
497
830
  }
831
+
832
+
833
+
834
+ .accent-option {
835
+
836
+ display: flex;
837
+
838
+ align-items: center;
839
+
840
+ gap: 0.75rem;
841
+
842
+ padding: 0.6rem 0.75rem;
843
+
844
+ border-radius: 8px;
845
+
846
+ cursor: pointer;
847
+
848
+ transition: all 0.15s ease;
849
+
850
+ color: var(--muted);
851
+
852
+ font-size: 0.875rem;
853
+
854
+ font-weight: 500;
855
+
856
+ white-space: nowrap;
857
+
858
+ background: transparent;
859
+
860
+ border: none;
861
+
862
+ width: 100%;
863
+
864
+ text-align: left;
865
+
866
+ position: relative;
867
+
868
+
869
+
870
+ &:hover {
871
+
872
+ background: var(--surface-muted);
873
+
874
+ color: var(--text);
875
+
876
+ }
877
+
878
+
879
+
880
+ &.active {
881
+
882
+ background: var(--accent-soft);
883
+
884
+ color: var(--accent);
885
+
886
+ }
887
+
888
+
889
+
890
+ .option-circle {
891
+
892
+ width: 10px;
893
+
894
+ height: 10px;
895
+
896
+ border-radius: 50%;
897
+
898
+ flex-shrink: 0;
899
+
900
+ box-shadow: 0 0 0 1px rgba(0,0,0,0.1);
901
+
902
+ }
903
+
904
+ }
905
+
906
+
498
907
  }
499
908
 
500
909
  .search-modal {
@@ -613,7 +1022,7 @@ a {
613
1022
  border: 1px solid transparent;
614
1023
  transition: all 0.1s ease;
615
1024
 
616
- &:hover, &:focus-visible {
1025
+ &:hover, &:focus-visible, &.active {
617
1026
  background: var(--surface-muted);
618
1027
  border-color: var(--border);
619
1028
  outline: none;
@@ -736,7 +1145,6 @@ a {
736
1145
  padding: 0.35rem 1rem 0.35rem 1rem;
737
1146
  color: var(--muted);
738
1147
  font-size: 0.85rem;
739
- border-left: 1px solid transparent;
740
1148
  margin-left: -1px;
741
1149
  transition: all 0.2s ease;
742
1150
  word-break: break-word;
@@ -807,6 +1215,7 @@ a {
807
1215
  overflow-x: auto;
808
1216
  margin: 0;
809
1217
  white-space: pre;
1218
+ tab-size: 4;
810
1219
 
811
1220
  code {
812
1221
  white-space: pre;
@@ -948,11 +1357,162 @@ a {
948
1357
  }
949
1358
 
950
1359
  .page-meta {
951
- margin-top: 4rem;
952
- padding-top: 1.5rem;
1360
+ margin-top: 6rem;
1361
+ padding-top: 2rem;
953
1362
  border-top: 1px solid var(--border);
954
1363
  color: var(--muted);
955
- font-size: 0.875rem;
1364
+ font-size: 0.85rem;
1365
+ display: flex;
1366
+ justify-content: space-between;
1367
+ align-items: center;
1368
+ flex-wrap: wrap;
1369
+ gap: 1rem;
1370
+ }
1371
+
1372
+ .page-meta-item {
1373
+ display: flex;
1374
+ align-items: center;
1375
+ }
1376
+
1377
+ .methanol-link {
1378
+ font-weight: 600;
1379
+ color: var(--text);
1380
+ text-decoration: none !important;
1381
+ margin-left: 0.25rem;
1382
+ transition: all 0.2s ease;
1383
+ border-bottom: 1px solid transparent;
1384
+
1385
+ &:hover {
1386
+ color: var(--accent);
1387
+ border-bottom-color: var(--accent);
1388
+ }
1389
+ }
1390
+
1391
+ @media (max-width: 640px) {
1392
+ .page-meta {
1393
+ flex-direction: column;
1394
+ align-items: flex-start;
1395
+ gap: 0.5rem;
1396
+ }
1397
+ }
1398
+
1399
+ .page-nav {
1400
+ display: grid;
1401
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1402
+ gap: 1.5rem;
1403
+ margin-top: 4rem;
1404
+ }
1405
+
1406
+ .page-nav-spacer {
1407
+ opacity: 0;
1408
+ pointer-events: none;
1409
+ }
1410
+
1411
+ .page-nav-card {
1412
+ display: flex;
1413
+ flex-direction: column;
1414
+ gap: 0.5rem;
1415
+ padding: 1.25rem;
1416
+ border-radius: var(--radius);
1417
+ border: 1px solid var(--border);
1418
+ background: var(--surface);
1419
+ text-decoration: none !important; /* Remove global underline */
1420
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1421
+ position: relative;
1422
+ overflow: hidden;
1423
+
1424
+ &:hover {
1425
+ border-color: var(--accent);
1426
+ background: var(--surface-muted);
1427
+ transform: translateY(-2px);
1428
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
1429
+
1430
+ .page-nav-title {
1431
+ color: var(--accent);
1432
+ }
1433
+ }
1434
+ }
1435
+
1436
+ .page-nav-label {
1437
+ font-size: 0.75rem;
1438
+ font-weight: 600;
1439
+ text-transform: uppercase;
1440
+ letter-spacing: 0.05em;
1441
+ color: var(--muted);
1442
+ display: flex;
1443
+ align-items: center;
1444
+ gap: 0.5rem;
1445
+ transition: color 0.2s ease;
1446
+ }
1447
+
1448
+ .page-nav-title {
1449
+ font-size: 1rem;
1450
+ font-weight: 600;
1451
+ color: var(--text);
1452
+ text-decoration: none !important; /* Ensure title has no underline */
1453
+ transition: color 0.2s ease;
1454
+ display: -webkit-box;
1455
+ -webkit-line-clamp: 2;
1456
+ -webkit-box-orient: vertical;
1457
+ overflow: hidden;
1458
+ }
1459
+
1460
+ .page-nav-card.prev .page-nav-label::before {
1461
+ content: '←';
1462
+ font-family: system-ui;
1463
+ margin-right: 0.1rem;
1464
+ transition: transform 0.2s ease;
1465
+ }
1466
+
1467
+ .page-nav-card.next .page-nav-label::after {
1468
+ content: '→';
1469
+ font-family: system-ui;
1470
+ margin-left: 0.1rem;
1471
+ transition: transform 0.2s ease;
1472
+ }
1473
+
1474
+ .page-nav-card.next {
1475
+ text-align: right;
1476
+ align-items: flex-end;
1477
+
1478
+ .page-nav-label {
1479
+ justify-content: flex-end;
1480
+ }
1481
+ }
1482
+
1483
+ .page-nav-card:hover.prev .page-nav-label::before {
1484
+ transform: translateX(-3px);
1485
+ }
1486
+
1487
+ .page-nav-card:hover.next .page-nav-label::after {
1488
+ transform: translateX(3px);
1489
+ }
1490
+
1491
+ @media (max-width: 720px) {
1492
+ .page-nav {
1493
+ grid-template-columns: 1fr;
1494
+ gap: 1rem;
1495
+ }
1496
+
1497
+ .page-nav-card.next {
1498
+ text-align: left;
1499
+ align-items: flex-start;
1500
+
1501
+ .page-nav-label {
1502
+ flex-direction: row;
1503
+ }
1504
+
1505
+ .page-nav-label::after {
1506
+ display: none;
1507
+ }
1508
+
1509
+ .page-nav-label::before {
1510
+ content: '→';
1511
+ font-family: system-ui;
1512
+ margin-right: 0.1rem;
1513
+ transition: transform 0.2s ease;
1514
+ }
1515
+ }
956
1516
  }
957
1517
 
958
1518
  /* --- Mobile / Toggles --- */
@@ -964,12 +1524,16 @@ a {
964
1524
  }
965
1525
 
966
1526
  .nav-toggle-label,
967
- .toc-toggle-label {
1527
+ .toc-toggle-label,
1528
+ .search-toggle-label {
968
1529
  display: none;
969
1530
  position: fixed;
970
1531
  top: 1rem;
971
1532
  z-index: 50;
972
- padding: 0.5rem;
1533
+ width: 42px;
1534
+ height: 42px;
1535
+ align-items: center;
1536
+ justify-content: center;
973
1537
  background: var(--surface);
974
1538
  border: 1px solid var(--border);
975
1539
  border-radius: var(--radius);
@@ -980,6 +1544,11 @@ a {
980
1544
  .nav-toggle-label {
981
1545
  left: 1rem;
982
1546
  }
1547
+
1548
+ .search-toggle-label {
1549
+ left: 4.125rem; /* 1rem + 42px (2.625rem) + 0.5rem = 4.125rem */
1550
+ }
1551
+
983
1552
  .toc-toggle-label {
984
1553
  right: 1rem;
985
1554
  }
@@ -1002,7 +1571,7 @@ a {
1002
1571
  background: var(--surface);
1003
1572
  border: 1px solid var(--border);
1004
1573
  z-index: 100;
1005
- padding: 2rem 1.5rem;
1574
+ padding: 2rem 0;
1006
1575
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
1007
1576
  }
1008
1577
 
@@ -1019,10 +1588,12 @@ a {
1019
1588
  }
1020
1589
 
1021
1590
  .nav-toggle-label,
1022
- .toc-toggle-label {
1591
+ .toc-toggle-label,
1592
+ .search-toggle-label {
1023
1593
  display: flex;
1024
1594
  }
1025
1595
 
1596
+
1026
1597
  .nav-scrim {
1027
1598
  position: fixed;
1028
1599
  inset: 0;