@docmd/ui 0.4.6 → 0.4.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.
@@ -12,57 +12,59 @@
12
12
  * --------------------------------------------------------------------
13
13
  */
14
14
 
15
- /*
16
- * docmd-main.css
17
- * Main CSS styles for the docmd generated site.
18
- */
15
+ *,
16
+ *::before,
17
+ *::after {
18
+ box-sizing: border-box;
19
+ }
19
20
 
20
21
  :root {
21
- --font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
22
- --font-family-mono: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;
23
- --bg-color: #fff;
24
- --text-color: #333;
25
- --sidebar-bg: #f4f7f9;
26
- --sidebar-text: #2c3e50;
27
- --sidebar-link-active-bg: #e0e7ec;
28
- --sidebar-link-active-parent-bg: #e9eff3;
29
- --link-color: #007bff;
30
- --border-color: #e0e0e0;
31
- --code-bg: #f8f8f8;
32
- --code-text: #333;
33
- --header-bg: #fff;
34
- --header-border: #e0e0e0;
35
- --image-border-color: #e0e0e0;
36
- --image-shadow: 0 2px 8px #0000001a;
37
- --image-caption-bg: #f8f8f8;
38
- --image-caption-text: #666;
39
- --lightbox-bg: #000000e6;
40
- --lightbox-text: #fff;
41
- --accent-color: #858585;
42
- --white: #ffffff;
43
- --sponsor-red: #fd828f;
44
- --sponsor-red-hover: #f32c41;
22
+ --font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
23
+ --font-family-mono: "JetBrains Mono", SFMono-Regular, Consolas, Menlo, monospace;
24
+ --bg-color: #ffffff;
25
+ --text-color: #3f3f46;
26
+ --text-muted: #71717a;
27
+ --text-heading: #09090b;
28
+ --sidebar-bg: #fafafa;
29
+ --sidebar-text: #52525b;
30
+ --sidebar-link-active-bg: #f4f4f5;
31
+ --sidebar-link-active-text: #18181b;
32
+ --link-color: #068ad5;
33
+ --border-color: #e4e4e7;
34
+ --code-bg: #f4f4f5;
35
+ --code-text: #27272a;
36
+ --header-bg: rgba(255, 255, 255, 0.8);
37
+ --header-border: #e4e4e7;
38
+ --sponsor-red: #f43f5e;
39
+ --sponsor-red-hover: #e11d48;
40
+ --ui-element-size: 32px;
41
+ --ui-border-radius: 6px;
42
+ --sidebar-width: 260px;
43
+ --scrollbar-thumb: #e4e4e7;
44
+ --scrollbar-thumb-hover: #a1a1aa;
45
+ color-scheme: light;
45
46
  }
46
47
 
47
48
  :root[data-theme=dark] {
48
- --bg-color: #1a1a1a;
49
- --text-color: #e0e0e0;
50
- --sidebar-bg: #2c2c2c;
51
- --sidebar-text: #bdc3c7;
52
- --sidebar-link-active-bg: #3a3a3a;
53
- --sidebar-link-active-parent-bg: #343434;
54
- --link-color: #58a6ff;
55
- --border-color: #444;
56
- --code-bg: #282c34;
57
- --code-text: #abb2bf;
58
- --header-bg: #1a1a1a;
59
- --header-border: #444;
60
- --image-border-color: #444;
61
- --image-shadow: 0 2px 8px #0000004d;
62
- --image-caption-bg: #2c2c2c;
63
- --image-caption-text: #bdc3c7;
64
- --lightbox-bg: #000000f2;
65
- --lightbox-text: #fff
49
+ --bg-color: #09090b;
50
+ --text-color: #a1a1aa;
51
+ --text-muted: #71717a;
52
+ --text-heading: #fafafa;
53
+ --sidebar-bg: #09090b;
54
+ --sidebar-text: #a1a1aa;
55
+ --sidebar-link-active-bg: #18181b;
56
+ --sidebar-link-active-text: #fafafa;
57
+ --link-color: #068ad5;
58
+ --border-color: #27272a;
59
+ --code-bg: #18181b;
60
+ --code-text: #e4e4e7;
61
+ --header-bg: rgba(9, 9, 11, 0.8);
62
+ --header-border: #27272a;
63
+ --sponsor-red: #e11d48;
64
+ --sponsor-red-hover: #be123c;
65
+ --scrollbar-thumb: #27272a;
66
+ --scrollbar-thumb-hover: #52525b;
67
+ color-scheme: dark;
66
68
  }
67
69
 
68
70
  ::-webkit-scrollbar {
@@ -75,22 +77,66 @@
75
77
  }
76
78
 
77
79
  ::-webkit-scrollbar-thumb {
78
- background-color: var(--border-color);
80
+ background-color: var(--scrollbar-thumb);
79
81
  border-radius: 10px;
80
- border: 2px solid transparent;
81
- background-clip: content-box;
82
82
  }
83
83
 
84
84
  ::-webkit-scrollbar-thumb:hover {
85
- background-color: var(--text-color);
85
+ background-color: var(--scrollbar-thumb-hover);
86
+ }
87
+
88
+ ::-webkit-scrollbar-thumb:active {
89
+ background-color: var(--text-color) !important;
90
+ }
91
+
92
+ .sidebar::-webkit-scrollbar-thumb,
93
+ .toc-list::-webkit-scrollbar-thumb,
94
+ .docmd-search-results::-webkit-scrollbar-thumb,
95
+ pre::-webkit-scrollbar-thumb,
96
+ .table-wrapper::-webkit-scrollbar-thumb {
97
+ background-color: transparent;
98
+ border-radius: 10px;
99
+ }
100
+
101
+ .sidebar:hover::-webkit-scrollbar-thumb,
102
+ .toc-list:hover::-webkit-scrollbar-thumb,
103
+ .docmd-search-results:hover::-webkit-scrollbar-thumb,
104
+ pre:hover::-webkit-scrollbar-thumb,
105
+ .table-wrapper:hover::-webkit-scrollbar-thumb {
106
+ background-color: var(--border-color);
107
+ }
108
+
109
+ .sidebar,
110
+ .toc-list,
111
+ .docmd-search-results,
112
+ pre,
113
+ .table-wrapper {
114
+ scrollbar-width: thin;
115
+ scrollbar-color: var(--scrollbar-thumb) transparent;
116
+ transition: scrollbar-color 0.2s ease;
117
+ }
118
+
119
+ .sidebar:hover,
120
+ .toc-list:hover,
121
+ .docmd-search-results:hover,
122
+ pre:hover,
123
+ .table-wrapper:hover {
124
+ scrollbar-color: var(--scrollbar-thumb) transparent;
86
125
  }
87
126
 
88
127
  html {
89
- scroll-behavior: smooth;
90
- scroll-padding-top: 80px;
91
- scrollbar-gutter: stable;
92
128
  scrollbar-width: thin;
93
- scrollbar-color: var(--border-color) transparent;
129
+ scrollbar-color: var(--scrollbar-thumb) transparent;
130
+ color-scheme: light;
131
+ }
132
+
133
+ html[data-theme="dark"] {
134
+ color-scheme: dark;
135
+ }
136
+
137
+ html::-webkit-scrollbar-thumb {
138
+ background-color: var(--scrollbar-thumb);
139
+ border-radius: 10px;
94
140
  }
95
141
 
96
142
  body {
@@ -127,13 +173,12 @@ a:any-link {
127
173
  }
128
174
 
129
175
  .sidebar {
130
- scrollbar-gutter: stable;
131
176
  display: flex;
132
177
  flex-direction: column;
133
178
  width: 260px;
134
179
  background-color: var(--sidebar-bg);
135
180
  color: var(--sidebar-text);
136
- padding: 1em 0 1em 1em;
181
+ padding: .5em .25em .5em .5em;
137
182
  border-right: 1px solid var(--border-color);
138
183
  height: 100vh;
139
184
  position: fixed;
@@ -158,9 +203,10 @@ a:any-link {
158
203
  margin: 0
159
204
  }
160
205
 
161
- .sidebar nav li a {
206
+ .sidebar nav li a, .sidebar nav li .nav-label {
162
207
  display: block;
163
- padding: .5em 1em;
208
+ padding: .5em;
209
+ margin: .15em 0;
164
210
  text-decoration: none;
165
211
  color: var(--sidebar-text);
166
212
  border-radius: 4px;
@@ -193,10 +239,9 @@ a:any-link {
193
239
 
194
240
  .sidebar nav .submenu {
195
241
  display: none;
196
- padding-left: 20px;
197
- margin-top: 5px;
242
+ padding-left: .25em;
198
243
  border-left: 1px solid var(--link-color);
199
- margin-left: 10px;
244
+ margin-left: .75em;
200
245
  }
201
246
 
202
247
  .sidebar nav li[aria-expanded="true"]>.submenu,
@@ -209,7 +254,9 @@ a:any-link {
209
254
  }
210
255
 
211
256
  .sidebar nav li[aria-expanded="true"]>a .collapse-icon,
212
- .sidebar nav li.expanded>a .collapse-icon {
257
+ .sidebar nav li.expanded>a .collapse-icon,
258
+ .sidebar nav li[aria-expanded="true"]>.nav-label .collapse-icon,
259
+ .sidebar nav li.expanded>.nav-label .collapse-icon {
213
260
  transform: rotate(90deg);
214
261
  }
215
262
 
@@ -245,20 +292,14 @@ div:hover>.copy-code-button {
245
292
  opacity: 1
246
293
  }
247
294
 
248
- .sidebar nav ul ul {
249
- padding-left: 20px;
250
- margin-top: 5px
251
- }
252
-
253
295
  .sidebar-toggle-button {
254
296
  background: 0 0;
255
- border: 1px solid transparent;
297
+ border: 0;
256
298
  color: var(--text-color);
257
299
  cursor: pointer;
258
300
  padding: 0;
259
- margin: .5em 0 0;
301
+ margin: 0;
260
302
  display: none;
261
- border-radius: 4px
262
303
  }
263
304
 
264
305
  .sidebar-toggle-button:hover {
@@ -267,8 +308,9 @@ div:hover>.copy-code-button {
267
308
  }
268
309
 
269
310
  .sidebar-toggle-button .lucide-icon {
270
- width: 2em;
271
- height: 2em
311
+ width: 1.5rem;
312
+ height: 1.5rem;
313
+ color: var(--text-muted);
272
314
  }
273
315
 
274
316
  .docmd-container.steps-reset .docmd-container.steps-reset ol.steps-list>li.step-item::before,
@@ -292,6 +334,50 @@ img {
292
334
  display: block
293
335
  }
294
336
 
337
+ .docmd-heading {
338
+ position: relative;
339
+ display: flex;
340
+ align-items: center;
341
+ scroll-margin-top: 80px;
342
+ }
343
+
344
+ .heading-anchor {
345
+ position: absolute;
346
+ left: -2rem;
347
+ width: 1.5rem;
348
+ height: 1.5rem;
349
+ display: inline-flex;
350
+ align-items: center;
351
+ justify-content: center;
352
+ color: var(--text-muted);
353
+ opacity: 0;
354
+ transition: opacity 0.2s ease, color 0.2s ease;
355
+ text-decoration: none !important;
356
+ }
357
+
358
+ .heading-anchor svg {
359
+ width: 1.25em;
360
+ height: 1.25em;
361
+ }
362
+
363
+ .docmd-heading:hover .heading-anchor,
364
+ .heading-anchor:focus {
365
+ opacity: 1;
366
+ }
367
+
368
+ .heading-anchor:hover {
369
+ color: var(--link-color);
370
+ }
371
+
372
+ @media (max-width: 768px) {
373
+ .heading-anchor {
374
+ position: static;
375
+ margin-right: 0.5rem;
376
+ opacity: 1;
377
+ color: var(--border-color);
378
+ }
379
+ }
380
+
295
381
  body.sidebar-collapsed .sidebar {
296
382
  transform: translateX(-100%);
297
383
  visibility: hidden
@@ -322,11 +408,22 @@ body.sidebar-collapsed .main-content-wrapper {
322
408
  }
323
409
 
324
410
  .page-header {
325
- padding: 15px 30px;
326
- border-bottom: 1px solid var(--header-border);
327
- background-color: var(--header-bg);
328
411
  justify-content: space-between;
329
- min-height: 2.5em
412
+ padding: 0.75rem 2rem;
413
+ background-color: var(--header-bg);
414
+ border-bottom: 1px solid var(--header-border);
415
+ position: sticky;
416
+ top: 0;
417
+ z-index: 50;
418
+ backdrop-filter: blur(8px);
419
+ -webkit-backdrop-filter: blur(8px);
420
+ }
421
+
422
+ .page-header .header-title {
423
+ font-size: 1.25rem;
424
+ font-weight: 600;
425
+ color: var(--text-heading);
426
+ margin: 0;
330
427
  }
331
428
 
332
429
  .header-left {
@@ -337,78 +434,93 @@ body.sidebar-collapsed .main-content-wrapper {
337
434
  gap: 5px
338
435
  }
339
436
 
340
- .page-header h1 {
341
- margin: 0;
342
- font-size: 1.8em;
343
- font-weight: 500
437
+ .docmd-options-menu {
438
+ display: flex;
439
+ align-items: center;
440
+ justify-content: center;
441
+ gap: 0.5rem;
344
442
  }
345
443
 
346
- .docmd-search-trigger,
347
- .theme-toggle-header,
348
- .sponsor-link-button {
349
- padding: 8px;
350
- background-color: var(--sidebar-bg);
351
- border: 1px solid var(--border-color);
352
- border-radius: 6px;
353
- cursor: pointer;
354
- transition: .2s;
355
- display: flex;
444
+ .docmd-options-menu .theme-toggle-button,
445
+ .docmd-options-menu .sponsor-link-button,
446
+ .docmd-options-menu .docmd-search-trigger {
447
+ display: inline-flex;
356
448
  align-items: center;
357
449
  justify-content: center;
358
- height: 3em;
359
- width: 3em;
450
+ height: var(--ui-element-size);
451
+ padding: 0;
452
+ background-color: transparent;
453
+ border: 1px solid var(--border-color);
454
+ border-radius: var(--ui-border-radius);
455
+ color: var(--text-muted);
456
+ cursor: pointer;
457
+ transition: all 0.2s ease;
458
+ box-sizing: border-box;
459
+ }
460
+
461
+ .docmd-options-menu .theme-toggle-button,
462
+ .docmd-options-menu .sponsor-link-button {
463
+ width: var(--ui-element-size);
360
464
  }
361
465
 
362
- .docmd-search-trigger:hover,
363
- .theme-toggle-header:hover,
364
- .sponsor-link-button:hover {
365
- background: var(--sidebar-bg);
366
- border-color: var(--accent-color)
466
+ .docmd-options-menu .sponsor-link-button {
467
+ color: var(--sponsor-red);
468
+ border-color: var(--border-color);
367
469
  }
368
470
 
369
- .sponsor-link-button {
471
+ .docmd-options-menu .sponsor-link-button:hover {
370
472
  background-color: var(--sponsor-red);
371
- border: 1px solid var(--sponsor-red);
372
- color: var(--white);
473
+ color: white;
474
+ border-color: var(--sponsor-red);
373
475
  }
374
476
 
375
- .sponsor-link-button:hover {
376
- background-color: var(--sponsor-red-hover);
377
- border: 1px solid var(--sponsor-red-hover);
477
+ .docmd-options-menu .docmd-search-trigger {
478
+ width: auto;
479
+ padding: 0 0.75rem;
480
+ gap: 0.5rem;
481
+ background-color: var(--sidebar-bg);
378
482
  }
379
483
 
380
- :root[data-theme="dark"] .sponsor-link-button {
381
- background-color: var(--sponsor-red-hover);
382
- border: 1px solid var(--sponsor-red-hover);
484
+ .docmd-options-menu button:hover:not(.sponsor-link-button) {
485
+ background-color: var(--sidebar-link-active-bg);
486
+ color: var(--text-heading);
487
+ border-color: var(--text-muted);
383
488
  }
384
489
 
385
- .sponsor-link-button svg {
386
- fill: var(--white);
490
+ .docmd-search-trigger .search-label {
491
+ font-size: 0.85rem;
492
+ font-weight: 500;
387
493
  }
388
494
 
389
- .docmd-search-trigger {
390
- gap: .5rem;
391
- color: var(--image-caption-text);
392
- width: 15em;
495
+ .docmd-search-trigger .search-keys {
496
+ display: flex;
497
+ gap: 0.25rem;
393
498
  }
394
499
 
395
- html[data-theme=dark] .theme-toggle-button .icon-moon {
396
- color: var(--text-color)
500
+ .docmd-kbd {
501
+ background-color: var(--bg-color);
502
+ border: 1px solid var(--border-color);
503
+ border-radius: 4px;
504
+ font-family: var(--font-family-mono);
505
+ font-size: 0.7rem;
506
+ padding: 0.1rem 0.3rem;
507
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
508
+ color: var(--text-muted);
397
509
  }
398
510
 
399
- .docmd-search-trigger .icon-search {
400
- width: 1.25em;
401
- height: 1.25em
511
+ .docmd-options-menu .lucide-icon {
512
+ width: 1.1rem;
513
+ height: 1.1rem;
402
514
  }
403
515
 
404
- .docmd-search-trigger .search-label {
405
- margin-right: 1rem;
406
- font-size: 1.25em
516
+ .sidebar-options-wrapper {
517
+ padding: .5rem 0;
407
518
  }
408
519
 
409
- .docmd-search-trigger .search-keys {
410
- display: flex;
411
- gap: 2px
520
+ .sidebar-options-wrapper.mt-auto {
521
+ margin-top: auto;
522
+ padding: .5rem 0 0;
523
+ border-top: 1px solid var(--border-color);
412
524
  }
413
525
 
414
526
  .card .card-title {
@@ -491,7 +603,7 @@ tr:last-child td {
491
603
 
492
604
  .sidebar-header {
493
605
  flex-shrink: 0;
494
- padding-bottom: 10px;
606
+ margin-bottom: .5em;
495
607
  text-align: center;
496
608
  height: 2.5em;
497
609
  }
@@ -521,10 +633,13 @@ html[data-theme=dark] .theme-toggle-button .icon-sun {
521
633
  flex-grow: 1;
522
634
  overflow-y: auto;
523
635
  min-height: 0;
524
- padding: 1em 0;
525
636
  scrollbar-width: thin;
526
637
  }
527
638
 
639
+ .sidebar-nav li.collapsible>.nav-label:hover {
640
+ background-color: var(--sidebar-link-active-bg);
641
+ }
642
+
528
643
  .sidebar-nav .lucide-icon {
529
644
  width: 1em;
530
645
  height: 1em;
@@ -929,42 +1044,6 @@ details[open]>.collapsible-summary .collapsible-arrow svg {
929
1044
  margin-left: .75rem
930
1045
  }
931
1046
 
932
- .page-footer {
933
- text-align: center;
934
- padding: 20px 30px;
935
- margin-top: auto;
936
- font-size: .9em;
937
- color: var(--text-color);
938
- background-color: var(--sidebar-bg)
939
- }
940
-
941
- .footer-content {
942
- display: flex;
943
- justify-content: space-between;
944
- align-items: center;
945
- margin: 0 auto;
946
- width: 100%
947
- }
948
-
949
- .user-footer {
950
- text-align: left
951
- }
952
-
953
- .branding-footer {
954
- text-align: right;
955
- opacity: .9;
956
- font-weight: 500
957
- }
958
-
959
- .branding-footer svg {
960
- color: #fb3a3a
961
- }
962
-
963
- .page-footer a {
964
- color: var(--link-color);
965
- text-decoration: none
966
- }
967
-
968
1047
  .content-layout {
969
1048
  display: flex;
970
1049
  gap: 2rem;
@@ -975,7 +1054,7 @@ details[open]>.collapsible-summary .collapsible-arrow svg {
975
1054
  .main-content {
976
1055
  flex: 1 1 0;
977
1056
  width: 100%;
978
- min-width: 0
1057
+ min-width: 0;
979
1058
  }
980
1059
 
981
1060
  .toc-container {
@@ -995,8 +1074,6 @@ details[open]>.collapsible-summary .collapsible-arrow svg {
995
1074
  list-style: none;
996
1075
  padding: .5em .25em;
997
1076
  margin: 0;
998
- height: -webkit-fill-available;
999
- max-height: 70vh;
1000
1077
  overflow-y: auto
1001
1078
  }
1002
1079
 
@@ -1048,7 +1125,6 @@ details[open]>.collapsible-summary .collapsible-arrow svg {
1048
1125
  top: 2rem;
1049
1126
  width: 240px;
1050
1127
  flex-shrink: 0;
1051
- max-height: calc(100vh - 15rem);
1052
1128
  margin: 1rem 0
1053
1129
  }
1054
1130
 
@@ -1329,16 +1405,6 @@ hr {
1329
1405
  border-top-width: 1px
1330
1406
  }
1331
1407
 
1332
- .page-footer-actions {
1333
- margin-top: 3rem;
1334
- padding-top: 1.5rem;
1335
- border-top: 1px solid var(--border-color);
1336
- display: flex;
1337
- justify-content: flex-end;
1338
- gap: 1rem;
1339
- font-size: .875rem
1340
- }
1341
-
1342
1408
  .edit-link {
1343
1409
  display: inline-flex;
1344
1410
  align-items: center;
@@ -1357,19 +1423,6 @@ hr {
1357
1423
  height: 1em
1358
1424
  }
1359
1425
 
1360
- .docmd-kbd {
1361
- background-color: var(--bg-color);
1362
- border: 1px solid var(--border-color);
1363
- border-radius: 3px;
1364
- font-family: var(--font-family-mono);
1365
- font-size: .7rem;
1366
- padding: 0 4px;
1367
- box-shadow: 0 1px 0 var(--border-color);
1368
- color: var(--text-muted, var(--accent-color));
1369
- min-width: 1.2em;
1370
- text-align: center
1371
- }
1372
-
1373
1426
  @media (max-width: 768px) {
1374
1427
 
1375
1428
  .search-keys,
@@ -1437,11 +1490,11 @@ hr {
1437
1490
 
1438
1491
  .docmd-search-close {
1439
1492
  background: 0 0;
1440
- border: medium;
1493
+ border: 0;
1441
1494
  cursor: pointer;
1442
- color: var(--text-muted, #888);
1443
1495
  padding: 0;
1444
- display: flex
1496
+ display: flex;
1497
+ font-size: 1.25em
1445
1498
  }
1446
1499
 
1447
1500
  .docmd-search-results {
@@ -1542,6 +1595,191 @@ hr {
1542
1595
  float: right
1543
1596
  }
1544
1597
 
1598
+ .footer-complete {
1599
+ background-color: var(--sidebar-bg);
1600
+ border-top: 1px solid var(--border-color);
1601
+ padding: 3rem 2rem 1.5rem 2rem;
1602
+ margin-top: auto;
1603
+ }
1604
+
1605
+ .footer-complete-top {
1606
+ display: flex;
1607
+ justify-content: space-between;
1608
+ flex-wrap: wrap;
1609
+ gap: 2rem;
1610
+ max-width: 1200px;
1611
+ margin: 0 auto 3rem auto;
1612
+ }
1613
+
1614
+ .footer-brand {
1615
+ flex: 1;
1616
+ min-width: 250px;
1617
+ max-width: 500px;
1618
+ text-align: center;
1619
+ }
1620
+
1621
+ .footer-brand .logo-link {
1622
+ display: block;
1623
+ overflow: hidden;
1624
+ margin: 0 auto;
1625
+ width: fit-content;
1626
+ }
1627
+
1628
+ .footer-brand .logo-link img{
1629
+ max-height: 30px;
1630
+ width: auto;
1631
+ }
1632
+
1633
+ .footer-columns {
1634
+ display: flex;
1635
+ flex-wrap: wrap;
1636
+ gap: 3rem;
1637
+ justify-content: flex-end;
1638
+ }
1639
+
1640
+ .footer-column {
1641
+ min-width: 120px;
1642
+ }
1643
+
1644
+ .footer-title {
1645
+ font-size: 1.25rem;
1646
+ font-weight: 600;
1647
+ color: var(--text-heading);
1648
+ }
1649
+
1650
+ .footer-desc {
1651
+ color: var(--text-muted);
1652
+ font-size: 0.9rem;
1653
+ margin-top: 0.75rem;
1654
+ }
1655
+
1656
+ .footer-column-title {
1657
+ display: block;
1658
+ font-weight: 600;
1659
+ color: var(--text-heading);
1660
+ margin-bottom: 1rem;
1661
+ font-size: 0.95rem;
1662
+ }
1663
+
1664
+ .footer-column ul {
1665
+ list-style: none;
1666
+ padding: 0;
1667
+ margin: 0;
1668
+ }
1669
+
1670
+ .footer-column ul li {
1671
+ margin-bottom: 0.5rem;
1672
+ }
1673
+
1674
+ .footer-column ul a {
1675
+ color: var(--text-muted);
1676
+ text-decoration: none;
1677
+ font-size: 0.9rem;
1678
+ transition: color 0.2s;
1679
+ }
1680
+
1681
+ .footer-column ul a:hover {
1682
+ color: var(--link-color);
1683
+ }
1684
+
1685
+ .footer-complete-bottom {
1686
+ max-width: 1200px;
1687
+ margin: 0 auto;
1688
+ padding-top: 1.5rem;
1689
+ border-top: 1px solid var(--border-color);
1690
+ display: flex;
1691
+ justify-content: space-between;
1692
+ align-items: center;
1693
+ font-size: 0.85rem;
1694
+ color: var(--text-muted);
1695
+ }
1696
+
1697
+ .page-footer {
1698
+ text-align: center;
1699
+ padding: 20px 30px;
1700
+ margin-top: auto;
1701
+ font-size: .9em;
1702
+ color: var(--text-color);
1703
+ background-color: var(--sidebar-bg)
1704
+ }
1705
+
1706
+ .footer-content {
1707
+ display: flex;
1708
+ justify-content: space-between;
1709
+ align-items: center;
1710
+ margin: 0 auto;
1711
+ width: 100%
1712
+ }
1713
+
1714
+ .user-footer {
1715
+ text-align: left
1716
+ }
1717
+
1718
+ .branding-footer {
1719
+ text-align: right;
1720
+ opacity: .9;
1721
+ font-weight: 500
1722
+ }
1723
+
1724
+ .branding-footer svg {
1725
+ color: #fb3a3a
1726
+ }
1727
+
1728
+ .branding-footer a, .page-footer a {
1729
+ color: var(--link-color);
1730
+ text-decoration: none
1731
+ }
1732
+
1733
+ .page-footer-actions {
1734
+ margin-top: 1.5rem;
1735
+ padding-top: 1.5rem;
1736
+ border-top: 1px solid var(--border-color);
1737
+ display: flex;
1738
+ justify-content: flex-end;
1739
+ gap: 1rem;
1740
+ font-size: .875rem
1741
+ }
1742
+
1743
+ @media (max-width: 768px) {
1744
+ .footer-complete-top {
1745
+ flex-direction: column;
1746
+ gap: 2rem;
1747
+ text-align: center;
1748
+ }
1749
+
1750
+ .footer-brand {
1751
+ max-width: 100%;
1752
+ margin: 0 auto;
1753
+ }
1754
+
1755
+ .footer-columns {
1756
+ justify-content: center;
1757
+ gap: 2rem;
1758
+ width: 100%;
1759
+ }
1760
+
1761
+ .footer-column {
1762
+ width: 100%;
1763
+ }
1764
+
1765
+ .footer-complete-bottom {
1766
+ flex-direction: column;
1767
+ gap: 1rem;
1768
+ text-align: center;
1769
+ }
1770
+
1771
+ .footer-content,
1772
+ .page-navigation {
1773
+ flex-direction: column;
1774
+ gap: 1rem
1775
+ }
1776
+
1777
+ .branding-footer,
1778
+ .user-footer {
1779
+ text-align: center
1780
+ }
1781
+ }
1782
+
1545
1783
  @keyframes heartbeat {
1546
1784
 
1547
1785
  0%,
@@ -1582,7 +1820,7 @@ hr {
1582
1820
 
1583
1821
  .toc-container .mobile-view {
1584
1822
  display: inline-flex;
1585
- padding: 4px
1823
+ padding: .15rem 0
1586
1824
  }
1587
1825
 
1588
1826
  .mobile-expanded {
@@ -1673,17 +1911,11 @@ hr {
1673
1911
  padding: 15px
1674
1912
  }
1675
1913
 
1676
- .footer-content,
1677
1914
  .page-navigation {
1678
1915
  flex-direction: column;
1679
1916
  gap: 1rem
1680
1917
  }
1681
1918
 
1682
- .branding-footer,
1683
- .user-footer {
1684
- text-align: center
1685
- }
1686
-
1687
1919
  .next-page,
1688
1920
  .next-page-placeholder,
1689
1921
  .prev-page,