@knowcode/doc-builder 1.2.1 → 1.2.2

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,1974 +0,0 @@
1
- /* JUNO Documentation - Modern CSS Design System */
2
-
3
- :root {
4
- /* Color Palette */
5
- --primary-gradient: linear-gradient(135deg, #4a5568 0%, #2d3748 100%);
6
- --secondary-gradient: linear-gradient(135deg, #718096 0%, #4a5568 100%);
7
- --accent: #5b3d98;
8
- --accent-hover: #4a3280;
9
- --success: #10b981;
10
- --warning: #f59e0b;
11
- --danger: #ef4444;
12
-
13
- /* Text Colors */
14
- --text-primary: #1a202c;
15
- --text-secondary: #4a5568;
16
- --text-muted: #718096;
17
- --text-inverse: #ffffff;
18
-
19
- /* Background Colors */
20
- --bg-primary: #ffffff;
21
- --bg-secondary: #f8fafc;
22
- --bg-tertiary: #e2e8f0;
23
- --bg-dark: #2d3748;
24
-
25
- /* Shadows */
26
- --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
27
- --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
28
- --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
29
- --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
30
-
31
- /* Spacing */
32
- --space-xs: 0.25rem;
33
- --space-sm: 0.375rem;
34
- --space-md: 0.75rem;
35
- --space-lg: 1rem;
36
- --space-xl: 1.5rem;
37
- --space-2xl: 2rem;
38
- --space-3xl: 2.5rem;
39
-
40
- /* Typography */
41
- --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
42
- --font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace;
43
-
44
- /* Layout */
45
- --sidebar-width: 280px;
46
- --content-max-width: 65rem;
47
- --header-height: 64px;
48
- --breadcrumb-height: 40px;
49
- --banner-offset: 0rem;
50
-
51
- /* Transitions */
52
- --transition-fast: 150ms ease-in-out;
53
- --transition-normal: 250ms ease-in-out;
54
- --transition-slow: 350ms ease-in-out;
55
- }
56
-
57
- /* Mermaid Full Screen Viewer */
58
- .mermaid-container {
59
- position: relative;
60
- margin: 1.5rem 0;
61
- border: 1px solid var(--bg-tertiary);
62
- border-radius: 0.5rem;
63
- overflow: hidden;
64
- background: var(--bg-primary);
65
- }
66
-
67
- .mermaid-toolbar {
68
- display: flex;
69
- justify-content: space-between;
70
- align-items: center;
71
- padding: 0.75rem 1rem;
72
- background: var(--bg-secondary);
73
- border-bottom: 1px solid var(--bg-tertiary);
74
- font-size: 0.875rem;
75
- color: var(--text-secondary);
76
- }
77
-
78
- .mermaid-actions {
79
- display: flex;
80
- gap: 0.5rem;
81
- }
82
-
83
- .mermaid-btn {
84
- display: flex;
85
- align-items: center;
86
- gap: 0.375rem;
87
- padding: 0.375rem 0.75rem;
88
- border: 1px solid var(--bg-tertiary);
89
- border-radius: 0.375rem;
90
- background: var(--bg-primary);
91
- color: var(--text-secondary);
92
- text-decoration: none;
93
- font-size: 0.875rem;
94
- cursor: pointer;
95
- transition: all var(--transition-fast);
96
- }
97
-
98
- .mermaid-btn:hover {
99
- background: var(--accent);
100
- color: var(--text-inverse);
101
- border-color: var(--accent);
102
- }
103
-
104
- .mermaid-btn i {
105
- font-size: 0.75rem;
106
- }
107
-
108
- .mermaid-wrapper {
109
- padding: 1.5rem;
110
- overflow: auto;
111
- max-height: 600px;
112
- }
113
-
114
- /* Full Screen Modal */
115
- .mermaid-fullscreen {
116
- position: fixed;
117
- top: 0;
118
- left: 0;
119
- width: 100vw;
120
- height: 100vh;
121
- background: rgba(0, 0, 0, 0.95);
122
- display: none;
123
- z-index: 10000;
124
- backdrop-filter: blur(4px);
125
- }
126
-
127
- .mermaid-fullscreen.active {
128
- display: flex;
129
- flex-direction: column;
130
- }
131
-
132
- .mermaid-fullscreen-toolbar {
133
- display: flex;
134
- justify-content: space-between;
135
- align-items: center;
136
- padding: 1rem 2rem;
137
- background: rgba(255, 255, 255, 0.1);
138
- backdrop-filter: blur(8px);
139
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
140
- }
141
-
142
- .mermaid-fullscreen-title {
143
- color: white;
144
- font-size: 1.125rem;
145
- font-weight: 600;
146
- }
147
-
148
- .mermaid-fullscreen-controls {
149
- display: flex;
150
- gap: 1rem;
151
- align-items: center;
152
- }
153
-
154
- .mermaid-zoom-controls {
155
- display: flex;
156
- gap: 0.5rem;
157
- align-items: center;
158
- }
159
-
160
- .mermaid-zoom-btn {
161
- padding: 0.5rem;
162
- border: 1px solid rgba(255, 255, 255, 0.3);
163
- border-radius: 0.375rem;
164
- background: rgba(255, 255, 255, 0.1);
165
- color: white;
166
- cursor: pointer;
167
- transition: all var(--transition-fast);
168
- display: flex;
169
- align-items: center;
170
- justify-content: center;
171
- }
172
-
173
- .mermaid-zoom-btn:hover {
174
- background: rgba(255, 255, 255, 0.2);
175
- border-color: rgba(255, 255, 255, 0.5);
176
- }
177
-
178
- .mermaid-zoom-level {
179
- color: white;
180
- font-size: 0.875rem;
181
- min-width: 3rem;
182
- text-align: center;
183
- }
184
-
185
- .mermaid-close-btn {
186
- padding: 0.5rem 1rem;
187
- border: 1px solid rgba(255, 255, 255, 0.3);
188
- border-radius: 0.375rem;
189
- background: rgba(255, 255, 255, 0.1);
190
- color: white;
191
- cursor: pointer;
192
- transition: all var(--transition-fast);
193
- display: flex;
194
- align-items: center;
195
- gap: 0.5rem;
196
- }
197
-
198
- .mermaid-close-btn:hover {
199
- background: rgba(255, 255, 255, 0.2);
200
- }
201
-
202
- .mermaid-fullscreen-content {
203
- flex: 1;
204
- display: flex;
205
- align-items: center;
206
- justify-content: center;
207
- padding: 2rem;
208
- overflow: hidden;
209
- }
210
-
211
- .mermaid-fullscreen-wrapper {
212
- background: white;
213
- border-radius: 0.5rem;
214
- padding: 2rem;
215
- width: calc(100vw - 2rem);
216
- height: calc(100vh - 6rem);
217
- overflow: auto;
218
- box-shadow: var(--shadow-xl);
219
- transform-origin: center center;
220
- transition: transform var(--transition-normal);
221
- display: flex;
222
- align-items: center;
223
- justify-content: center;
224
- }
225
-
226
- .mermaid-fullscreen-diagram {
227
- display: flex;
228
- justify-content: center;
229
- align-items: center;
230
- width: 100%;
231
- height: 100%;
232
- min-height: 400px;
233
- position: relative;
234
- }
235
-
236
- .mermaid-fullscreen-diagram .mermaid {
237
- width: 100% !important;
238
- height: 100% !important;
239
- display: flex !important;
240
- justify-content: center !important;
241
- align-items: center !important;
242
- background: transparent !important;
243
- border: none !important;
244
- margin: 0 !important;
245
- padding: 0 !important;
246
- }
247
-
248
- .mermaid-fullscreen-diagram svg {
249
- max-width: 100% !important;
250
- max-height: 100% !important;
251
- width: auto !important;
252
- height: auto !important;
253
- display: block !important;
254
- margin: 0 auto !important;
255
- }
256
-
257
- /* Zoom functionality */
258
- .mermaid-fullscreen-wrapper.zoomed {
259
- overflow: visible;
260
- }
261
-
262
- /* Mermaid Error Styles */
263
- .mermaid-error {
264
- background: #fee;
265
- border: 2px solid #fcc;
266
- border-radius: 0.5rem;
267
- padding: 1rem;
268
- margin: 1rem 0;
269
- font-family: var(--font-sans);
270
- }
271
-
272
- .mermaid-error .error-title {
273
- color: #c53030;
274
- font-weight: 600;
275
- font-size: 1.125rem;
276
- margin-bottom: 0.5rem;
277
- display: flex;
278
- align-items: center;
279
- gap: 0.5rem;
280
- }
281
-
282
- .mermaid-error .error-message {
283
- color: #742a2a;
284
- font-family: var(--font-mono);
285
- font-size: 0.875rem;
286
- background: #fff5f5;
287
- padding: 0.5rem;
288
- border-radius: 0.25rem;
289
- margin: 0.5rem 0;
290
- word-break: break-word;
291
- white-space: pre-wrap;
292
- }
293
-
294
- .mermaid-error .error-help {
295
- color: #744210;
296
- font-size: 0.875rem;
297
- font-style: italic;
298
- }
299
-
300
- .mermaid-error-container {
301
- border: 2px solid #fcc;
302
- border-radius: 0.5rem;
303
- padding: 0.5rem;
304
- background: #fef2f2;
305
- }
306
-
307
- /* Dark theme error styles */
308
- [data-theme="dark"] .mermaid-error {
309
- background: #2d1b1b;
310
- border-color: #553030;
311
- }
312
-
313
- [data-theme="dark"] .mermaid-error .error-title {
314
- color: #feb2b2;
315
- }
316
-
317
- [data-theme="dark"] .mermaid-error .error-message {
318
- color: #fed7d7;
319
- background: #2d1b1b;
320
- }
321
-
322
- [data-theme="dark"] .mermaid-error .error-help {
323
- color: #d69e2e;
324
- }
325
-
326
- [data-theme="dark"] .mermaid-error-container {
327
- border-color: #553030;
328
- background: #2d1b1b;
329
- }
330
-
331
- /* Dark theme adjustments */
332
- [data-theme="dark"] {
333
- --bg-primary: #1a202c;
334
- --bg-secondary: #2d3748;
335
- --bg-tertiary: #4a5568;
336
- --text-primary: #ffffff;
337
- --text-secondary: #e2e8f0;
338
- --text-muted: #a0aec0;
339
- }
340
-
341
- [data-theme="dark"] .mermaid-container {
342
- background: var(--bg-primary);
343
- border-color: var(--bg-tertiary);
344
- }
345
-
346
- [data-theme="dark"] .mermaid-toolbar {
347
- background: var(--bg-secondary);
348
- border-color: var(--bg-tertiary);
349
- }
350
-
351
- [data-theme="dark"] .mermaid-btn {
352
- background: var(--bg-primary);
353
- border-color: var(--bg-tertiary);
354
- color: var(--text-secondary);
355
- }
356
-
357
- [data-theme="dark"] .mermaid-fullscreen-wrapper {
358
- background: var(--bg-primary);
359
- color: var(--text-primary);
360
- }
361
-
362
- /* Responsive design */
363
- @media (max-width: 768px) {
364
- .mermaid-toolbar {
365
- flex-direction: column;
366
- gap: 0.5rem;
367
- align-items: flex-start;
368
- }
369
-
370
- .mermaid-actions {
371
- width: 100%;
372
- justify-content: flex-end;
373
- }
374
-
375
- .mermaid-fullscreen-toolbar {
376
- padding: 1rem;
377
- }
378
-
379
- .mermaid-fullscreen-controls {
380
- flex-direction: column;
381
- gap: 0.5rem;
382
- }
383
-
384
- .mermaid-fullscreen-content {
385
- padding: 1rem;
386
- }
387
-
388
- .mermaid-fullscreen-wrapper {
389
- max-width: calc(100vw - 2rem);
390
- max-height: calc(100vh - 6rem);
391
- padding: 1rem;
392
- }
393
- }
394
-
395
- /* Animation for opening fullscreen */
396
- @keyframes mermaidFadeIn {
397
- from {
398
- opacity: 0;
399
- transform: scale(0.95);
400
- }
401
- to {
402
- opacity: 1;
403
- transform: scale(1);
404
- }
405
- }
406
-
407
- .mermaid-fullscreen.active .mermaid-fullscreen-wrapper {
408
- animation: mermaidFadeIn var(--transition-normal) ease-out;
409
- }
410
-
411
- /* Transitions */
412
- --transition-fast: 150ms ease-in-out;
413
- --transition-base: 250ms ease-in-out;
414
- --transition-slow: 350ms ease-in-out;
415
-
416
- /* Border Radius */
417
- --radius-sm: 0.25rem;
418
- --radius-md: 0.5rem;
419
- --radius-lg: 0.75rem;
420
- --radius-xl: 1rem;
421
- --radius-full: 9999px;
422
- }
423
-
424
- /* Dark Mode Variables */
425
- [data-theme="dark"] {
426
- --text-primary: #f7fafc;
427
- --text-secondary: #e2e8f0;
428
- --text-muted: #a0aec0;
429
- --bg-primary: #1a202c;
430
- --bg-secondary: #2d3748;
431
- --bg-tertiary: #4a5568;
432
- --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
433
- --primary-gradient: linear-gradient(135deg, #4a5568 0%, #2d3748 100%);
434
- --secondary-gradient: linear-gradient(135deg, #718096 0%, #4a5568 100%);
435
- }
436
-
437
- /* Base Styles */
438
- * {
439
- box-sizing: border-box;
440
- margin: 0;
441
- padding: 0;
442
- }
443
-
444
- html {
445
- font-size: 16px;
446
- scroll-behavior: smooth;
447
- height: 100%;
448
- }
449
-
450
- body {
451
- font-family: var(--font-sans);
452
- color: var(--text-primary);
453
- background-color: var(--bg-primary);
454
- line-height: 1.6;
455
- min-height: 100%;
456
- display: flex;
457
- flex-direction: column;
458
- transition: background-color var(--transition-base), color var(--transition-base);
459
- }
460
-
461
- /* Typography */
462
- h1, h2, h3, h4, h5, h6 {
463
- font-weight: 600;
464
- line-height: 1.2;
465
- margin-top: 0;
466
- margin-bottom: var(--space-md);
467
- color: var(--text-primary);
468
- }
469
-
470
- h1 {
471
- font-size: 1.75rem;
472
- color: var(--text-primary);
473
- margin-bottom: var(--space-lg);
474
- font-weight: 600;
475
- }
476
-
477
- h2 {
478
- font-size: 1.375rem;
479
- margin-top: var(--space-xl);
480
- margin-bottom: var(--space-md);
481
- font-weight: 600;
482
- color: var(--text-primary);
483
- }
484
-
485
- h3 {
486
- font-size: 1.125rem;
487
- margin-top: var(--space-lg);
488
- margin-bottom: var(--space-sm);
489
- font-weight: 600;
490
- color: var(--text-primary);
491
- }
492
-
493
- h4 {
494
- font-size: 1rem;
495
- margin-top: var(--space-md);
496
- margin-bottom: var(--space-sm);
497
- font-weight: 600;
498
- color: var(--text-primary);
499
- }
500
-
501
- p {
502
- margin-bottom: var(--space-md);
503
- color: var(--text-primary);
504
- line-height: 1.4;
505
- font-size: 0.9375rem;
506
- }
507
-
508
- a {
509
- color: var(--accent);
510
- text-decoration: none;
511
- transition: color var(--transition-fast);
512
- }
513
-
514
- a:hover {
515
- color: var(--accent-hover);
516
- text-decoration: underline;
517
- }
518
-
519
- strong, b {
520
- font-weight: 600;
521
- color: var(--text-primary);
522
- }
523
-
524
- em, i {
525
- font-style: italic;
526
- color: var(--text-secondary);
527
- }
528
-
529
- /* Layout Components */
530
- .container {
531
- width: 100%;
532
- max-width: 1400px;
533
- margin: 0 auto;
534
- padding: 0 var(--space-lg);
535
- }
536
-
537
- /* Header */
538
- .header {
539
- position: fixed;
540
- top: 0;
541
- left: 0;
542
- right: 0;
543
- height: var(--header-height);
544
- background: rgba(255, 255, 255, 0.95);
545
- backdrop-filter: blur(10px);
546
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
547
- z-index: 1000;
548
- transition: background-color var(--transition-base);
549
- }
550
-
551
- [data-theme="dark"] .header {
552
- background: rgba(26, 32, 44, 0.95);
553
- border-bottom-color: rgba(255, 255, 255, 0.1);
554
- }
555
-
556
- .header-content {
557
- display: flex;
558
- align-items: center;
559
- justify-content: space-between;
560
- height: 100%;
561
- padding: 0 var(--space-xl);
562
- }
563
-
564
- .logo {
565
- display: flex;
566
- align-items: center;
567
- font-size: 1.5rem;
568
- font-weight: 700;
569
- background: var(--primary-gradient);
570
- -webkit-background-clip: text;
571
- -webkit-text-fill-color: transparent;
572
- background-clip: text;
573
- text-decoration: none;
574
- transition: opacity var(--transition-fast);
575
- }
576
-
577
- .logo:hover {
578
- opacity: 0.8;
579
- text-decoration: none;
580
- }
581
-
582
- .logo::before {
583
- content: '🔷';
584
- margin-right: var(--space-sm);
585
- -webkit-text-fill-color: initial;
586
- }
587
-
588
- .header-actions {
589
- display: flex;
590
- align-items: center;
591
- gap: var(--space-lg);
592
- }
593
-
594
- .deployment-info {
595
- display: flex;
596
- align-items: center;
597
- margin-right: var(--space-md);
598
- }
599
-
600
- .deployment-date {
601
- font-size: 0.75rem;
602
- color: var(--text-muted);
603
- opacity: 0.8;
604
- font-weight: 500;
605
- white-space: nowrap;
606
- user-select: none;
607
- }
608
-
609
- /* Hide deployment info on mobile to save space */
610
- @media (max-width: 768px) {
611
- .deployment-info {
612
- display: none;
613
- }
614
- }
615
-
616
- .logout-btn {
617
- background: none;
618
- border: none;
619
- font-size: 1.25rem;
620
- cursor: pointer;
621
- color: var(--text-primary);
622
- padding: var(--space-sm);
623
- border-radius: var(--radius-md);
624
- transition: all var(--transition-fast);
625
- text-decoration: none;
626
- display: flex;
627
- align-items: center;
628
- justify-content: center;
629
- opacity: 0.7;
630
- }
631
-
632
- .logout-btn:hover {
633
- background: var(--bg-tertiary);
634
- opacity: 1;
635
- color: var(--danger);
636
- transform: translateY(-1px);
637
- }
638
-
639
- .search-box {
640
- position: relative;
641
- width: 300px;
642
- }
643
-
644
- .search-input {
645
- width: 100%;
646
- padding: var(--space-sm) var(--space-lg);
647
- padding-left: 40px;
648
- border: 1px solid var(--bg-tertiary);
649
- border-radius: var(--radius-full);
650
- background: var(--bg-secondary);
651
- color: var(--text-primary);
652
- font-size: 0.875rem;
653
- transition: all var(--transition-fast);
654
- }
655
-
656
- .search-input:focus {
657
- outline: none;
658
- border-color: var(--accent);
659
- box-shadow: 0 0 0 3px rgba(0, 212, 255, 0.1);
660
- }
661
-
662
- .search-icon {
663
- position: absolute;
664
- left: 12px;
665
- top: 50%;
666
- transform: translateY(-50%);
667
- color: var(--text-muted);
668
- }
669
-
670
- .theme-toggle {
671
- background: none;
672
- border: none;
673
- font-size: 1.25rem;
674
- cursor: pointer;
675
- color: var(--text-primary);
676
- padding: var(--space-sm);
677
- border-radius: var(--radius-md);
678
- transition: background-color var(--transition-fast);
679
- }
680
-
681
- .theme-toggle:hover {
682
- background-color: var(--bg-secondary);
683
- }
684
-
685
- /* Breadcrumbs */
686
- .breadcrumbs {
687
- display: flex;
688
- align-items: center;
689
- padding: 0.5rem var(--space-xl);
690
- background: var(--bg-secondary);
691
- border-bottom: 1px solid var(--bg-tertiary);
692
- font-size: 0.875rem;
693
- color: var(--text-secondary);
694
- position: fixed;
695
- top: calc(var(--header-height) + var(--banner-offset));
696
- left: 0;
697
- right: 0;
698
- height: var(--breadcrumb-height);
699
- z-index: 900;
700
- transition: background-color var(--transition-base);
701
- }
702
-
703
- .breadcrumb-item {
704
- display: flex;
705
- align-items: center;
706
- gap: 0.375rem;
707
- color: var(--text-muted);
708
- text-decoration: none;
709
- padding: 0.25rem 0.5rem;
710
- border-radius: var(--radius-sm);
711
- transition: all var(--transition-fast);
712
- }
713
-
714
- .breadcrumb-item:hover:not(.current) {
715
- background: var(--bg-tertiary);
716
- color: var(--text-secondary);
717
- }
718
-
719
- .breadcrumb-item.current {
720
- color: var(--text-primary);
721
- font-weight: 500;
722
- cursor: default;
723
- }
724
-
725
- .breadcrumb-separator {
726
- margin: 0 0.25rem;
727
- color: var(--text-muted);
728
- font-size: 0.75rem;
729
- }
730
-
731
- .breadcrumb-item i {
732
- font-size: 0.875rem;
733
- opacity: 0.8;
734
- }
735
-
736
- .breadcrumb-item.current i {
737
- opacity: 1;
738
- }
739
-
740
- /* Adjust breadcrumbs when banner is visible */
741
- .breadcrumbs.banner-visible {
742
- top: calc(var(--header-height) + 3.5rem);
743
- }
744
-
745
- /* Preview Banner */
746
- .preview-banner {
747
- position: fixed;
748
- top: var(--header-height);
749
- left: 0;
750
- right: 0;
751
- background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
752
- color: white;
753
- z-index: 1000;
754
- box-shadow: var(--shadow-md);
755
- transition: transform var(--transition-base), opacity var(--transition-base);
756
- /* Default to hidden state to prevent flash */
757
- transform: translateY(-100%);
758
- opacity: 0;
759
- pointer-events: none;
760
- }
761
-
762
- .preview-banner.visible {
763
- transform: translateY(0);
764
- opacity: 1;
765
- pointer-events: auto;
766
- }
767
-
768
- .preview-banner.hidden {
769
- transform: translateY(-100%);
770
- opacity: 0;
771
- pointer-events: none;
772
- }
773
-
774
- .banner-content {
775
- display: flex;
776
- align-items: center;
777
- justify-content: center;
778
- padding: var(--space-md) var(--space-lg);
779
- max-width: var(--content-max-width);
780
- margin: 0 auto;
781
- gap: var(--space-md);
782
- }
783
-
784
- .banner-icon {
785
- font-size: 1.1rem;
786
- flex-shrink: 0;
787
- }
788
-
789
- .banner-text {
790
- font-size: 0.9rem;
791
- font-weight: 500;
792
- text-align: center;
793
- flex: 1;
794
- }
795
-
796
- .banner-dismiss {
797
- background: none;
798
- border: none;
799
- color: white;
800
- cursor: pointer;
801
- padding: var(--space-xs);
802
- border-radius: var(--radius-sm);
803
- transition: background-color var(--transition-fast);
804
- font-size: 1rem;
805
- width: 2rem;
806
- height: 2rem;
807
- display: flex;
808
- align-items: center;
809
- justify-content: center;
810
- flex-shrink: 0;
811
- }
812
-
813
- .banner-dismiss:hover {
814
- background-color: rgba(255, 255, 255, 0.1);
815
- }
816
-
817
- .banner-dismiss:focus {
818
- outline: 2px solid rgba(255, 255, 255, 0.5);
819
- outline-offset: 2px;
820
- }
821
-
822
- /* Main Layout */
823
- .main-wrapper {
824
- display: flex;
825
- padding-top: calc(var(--header-height) + var(--breadcrumb-height) + var(--banner-offset));
826
- min-height: 100vh;
827
- transition: padding-top var(--transition-base);
828
- }
829
-
830
- /* Adjust layout when banner is visible */
831
- .main-wrapper.banner-visible {
832
- padding-top: calc(var(--header-height) + var(--breadcrumb-height) + 3.5rem);
833
- }
834
-
835
- /* Sidebar */
836
- .sidebar {
837
- position: fixed;
838
- left: 0;
839
- top: calc(var(--header-height) + var(--breadcrumb-height) + var(--banner-offset));
840
- bottom: 0;
841
- width: var(--sidebar-width);
842
- background: var(--bg-primary);
843
- border-right: 1px solid #e1e5e9;
844
- overflow-y: auto;
845
- transition: transform var(--transition-base), top var(--transition-base);
846
- min-width: 200px;
847
- max-width: 500px;
848
- user-select: none;
849
- display: flex;
850
- flex-direction: column;
851
- }
852
-
853
- /* Adjust sidebar when banner is visible */
854
- .sidebar.banner-visible {
855
- top: calc(var(--header-height) + var(--breadcrumb-height) + 3.5rem);
856
- }
857
-
858
- /* Sidebar Header */
859
- .sidebar-header {
860
- padding: var(--space-lg);
861
- border-bottom: 1px solid #e1e5e9;
862
- background: var(--bg-primary);
863
- position: sticky;
864
- top: 0;
865
- z-index: 10;
866
- }
867
-
868
- .filter-box {
869
- position: relative;
870
- width: 100%;
871
- }
872
-
873
- .filter-input {
874
- width: 100%;
875
- padding: var(--space-sm) var(--space-lg) var(--space-sm) 2.5rem;
876
- border: 1px solid #e1e5e9;
877
- border-radius: var(--radius-md);
878
- background: var(--bg-secondary);
879
- color: var(--text-primary);
880
- font-size: 0.875rem;
881
- transition: all var(--transition-fast);
882
- }
883
-
884
- .filter-input:focus {
885
- outline: none;
886
- border-color: var(--accent);
887
- box-shadow: 0 0 0 3px rgba(91, 61, 152, 0.1);
888
- }
889
-
890
- .filter-input::placeholder {
891
- color: var(--text-muted);
892
- }
893
-
894
- .filter-icon {
895
- position: absolute;
896
- left: var(--space-sm);
897
- top: 50%;
898
- transform: translateY(-50%);
899
- color: var(--text-muted);
900
- font-size: 0.875rem;
901
- }
902
-
903
- /* Navigation */
904
- .navigation {
905
- flex: 1;
906
- overflow-y: auto;
907
- padding: var(--space-md) 0;
908
- }
909
-
910
- /* Resize Handle */
911
- .resize-handle {
912
- position: absolute;
913
- top: 0;
914
- right: 0;
915
- bottom: 0;
916
- width: 8px;
917
- background: linear-gradient(90deg, transparent 0%, rgba(160, 174, 192, 0.2) 40%, rgba(160, 174, 192, 0.4) 50%, rgba(160, 174, 192, 0.2) 60%, transparent 100%);
918
- cursor: col-resize;
919
- transition: background var(--transition-fast);
920
- z-index: 10;
921
- }
922
-
923
- .resize-handle:hover {
924
- background: linear-gradient(90deg, transparent 0%, rgba(160, 174, 192, 0.4) 40%, rgba(160, 174, 192, 0.6) 50%, rgba(160, 174, 192, 0.4) 60%, transparent 100%);
925
- }
926
-
927
- /* Resize handle dots for visual indication */
928
- .resize-handle::before {
929
- content: '⋮';
930
- position: absolute;
931
- top: 50%;
932
- left: 50%;
933
- transform: translate(-50%, -50%) rotate(90deg);
934
- color: rgba(160, 174, 192, 0.6);
935
- font-size: 14px;
936
- font-weight: bold;
937
- pointer-events: none;
938
- transition: color var(--transition-fast);
939
- }
940
-
941
- .resize-handle:hover::before {
942
- color: rgba(160, 174, 192, 0.8);
943
- }
944
-
945
- [data-theme="dark"] .sidebar {
946
- border-right-color: rgba(255, 255, 255, 0.1);
947
- background: var(--bg-secondary);
948
- }
949
-
950
- [data-theme="dark"] .sidebar-header {
951
- border-bottom-color: rgba(255, 255, 255, 0.1);
952
- background: var(--bg-secondary);
953
- }
954
-
955
- [data-theme="dark"] .filter-input {
956
- border-color: rgba(255, 255, 255, 0.1);
957
- background: var(--bg-tertiary);
958
- }
959
-
960
- .nav-section {
961
- margin-bottom: var(--space-sm);
962
- }
963
-
964
- .nav-section[data-level="0"] {
965
- margin-left: 0;
966
- }
967
-
968
- .nav-section[data-level="1"] {
969
- margin-left: var(--space-lg);
970
- margin-bottom: var(--space-sm);
971
- }
972
-
973
- .nav-section[data-level="2"] {
974
- margin-left: var(--space-2xl);
975
- margin-bottom: var(--space-sm);
976
- }
977
-
978
- .nav-title {
979
- font-size: 0.875rem;
980
- font-weight: 500;
981
- color: var(--text-primary);
982
- margin-bottom: var(--space-xs);
983
- display: flex;
984
- align-items: center;
985
- gap: var(--space-sm);
986
- padding: var(--space-sm) var(--space-lg);
987
- }
988
-
989
- /* Indent nav titles based on their level */
990
- .nav-section[data-level="1"] .nav-title {
991
- padding-left: calc(var(--space-lg) + var(--space-xl));
992
- }
993
-
994
- .nav-section[data-level="2"] .nav-title {
995
- padding-left: calc(var(--space-lg) + var(--space-2xl));
996
- }
997
-
998
- .nav-title.collapsible {
999
- cursor: pointer;
1000
- border-radius: 0;
1001
- transition: all var(--transition-fast);
1002
- }
1003
-
1004
- .nav-title.collapsible:hover {
1005
- background-color: #f8f9fa;
1006
- color: var(--text-primary);
1007
- }
1008
-
1009
- [data-theme="dark"] .nav-title.collapsible:hover {
1010
- background-color: var(--bg-tertiary);
1011
- }
1012
-
1013
- .collapse-icon {
1014
- transition: transform var(--transition-fast);
1015
- margin-right: var(--space-xs);
1016
- font-size: 0.75rem;
1017
- color: var(--text-muted);
1018
- }
1019
-
1020
- .nav-title.expanded .collapse-icon {
1021
- transform: rotate(90deg);
1022
- }
1023
-
1024
- .nav-content {
1025
- overflow: hidden;
1026
- transition: max-height var(--transition-base);
1027
- max-height: 1000px;
1028
- }
1029
-
1030
- .nav-content.collapsed {
1031
- max-height: 0;
1032
- }
1033
-
1034
- .nav-item {
1035
- display: flex;
1036
- align-items: center;
1037
- padding: var(--space-sm) var(--space-lg);
1038
- color: var(--text-secondary);
1039
- border-radius: 0;
1040
- transition: all var(--transition-fast);
1041
- margin-bottom: 0;
1042
- gap: var(--space-sm);
1043
- font-size: 0.875rem;
1044
- }
1045
-
1046
- /* Indent nav items based on their parent section level */
1047
- .nav-section[data-level="0"] .nav-item {
1048
- padding-left: calc(var(--space-lg) + var(--space-xl));
1049
- }
1050
-
1051
- .nav-section[data-level="1"] .nav-item {
1052
- padding-left: calc(var(--space-lg) + var(--space-2xl));
1053
- }
1054
-
1055
- .nav-section[data-level="2"] .nav-item {
1056
- padding-left: calc(var(--space-lg) + var(--space-3xl));
1057
- }
1058
-
1059
- .nav-item i {
1060
- font-size: 0.75rem;
1061
- color: var(--text-muted);
1062
- width: 14px;
1063
- }
1064
-
1065
- .nav-item:hover {
1066
- background: #f8f9fa;
1067
- color: var(--text-primary);
1068
- text-decoration: none;
1069
- }
1070
-
1071
- [data-theme="dark"] .nav-item:hover {
1072
- background: var(--bg-tertiary);
1073
- }
1074
-
1075
- .nav-item.active {
1076
- background: #e3f2fd;
1077
- color: var(--accent);
1078
- border-right: 3px solid var(--accent);
1079
- }
1080
-
1081
- [data-theme="dark"] .nav-item.active {
1082
- background: var(--bg-tertiary);
1083
- color: var(--accent);
1084
- }
1085
-
1086
- /* Content Area */
1087
- .content {
1088
- flex: 1;
1089
- margin-left: var(--sidebar-width);
1090
- padding: var(--space-xl) var(--space-2xl);
1091
- max-width: calc(var(--content-max-width) + var(--space-2xl) * 2);
1092
- transition: margin-left var(--transition-base);
1093
- }
1094
-
1095
- .content-inner {
1096
- max-width: var(--content-max-width);
1097
- }
1098
-
1099
- /* Hero Section */
1100
- .hero {
1101
- background: var(--primary-gradient);
1102
- color: var(--text-inverse);
1103
- padding: var(--space-3xl) 0;
1104
- margin: calc(var(--space-2xl) * -1) calc(var(--space-3xl) * -1) var(--space-3xl);
1105
- text-align: center;
1106
- }
1107
-
1108
- .hero h1 {
1109
- color: var(--text-inverse);
1110
- -webkit-text-fill-color: var(--text-inverse);
1111
- font-size: 3rem;
1112
- margin-bottom: var(--space-lg);
1113
- text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
1114
- }
1115
-
1116
- .hero-subtitle {
1117
- font-size: 1.25rem;
1118
- color: var(--text-inverse);
1119
- max-width: 600px;
1120
- margin: 0 auto;
1121
- text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
1122
- opacity: 1;
1123
- }
1124
-
1125
- .hero-actions {
1126
- display: flex;
1127
- gap: var(--space-md);
1128
- justify-content: center;
1129
- }
1130
-
1131
- .btn {
1132
- display: inline-flex;
1133
- align-items: center;
1134
- padding: var(--space-sm) var(--space-xl);
1135
- border-radius: var(--radius-md);
1136
- font-weight: 500;
1137
- transition: all var(--transition-fast);
1138
- cursor: pointer;
1139
- border: none;
1140
- font-size: 1rem;
1141
- }
1142
-
1143
- .btn-primary {
1144
- background: var(--accent);
1145
- color: var(--text-inverse);
1146
- }
1147
-
1148
- .btn-primary:hover {
1149
- background: var(--accent-hover);
1150
- transform: translateY(-2px);
1151
- box-shadow: var(--shadow-lg);
1152
- }
1153
-
1154
- .btn-secondary {
1155
- background: rgba(255, 255, 255, 0.2);
1156
- color: var(--text-inverse);
1157
- backdrop-filter: blur(10px);
1158
- }
1159
-
1160
- .btn-secondary:hover {
1161
- background: rgba(255, 255, 255, 0.3);
1162
- }
1163
-
1164
- /* Cards */
1165
- .card {
1166
- background: var(--bg-primary);
1167
- border-radius: var(--radius-lg);
1168
- padding: var(--space-xl);
1169
- box-shadow: var(--shadow-md);
1170
- transition: all var(--transition-base);
1171
- margin-bottom: var(--space-lg);
1172
- }
1173
-
1174
- .card:hover {
1175
- box-shadow: var(--shadow-xl);
1176
- transform: translateY(-2px);
1177
- }
1178
-
1179
- .card-title {
1180
- font-size: 1.25rem;
1181
- font-weight: 600;
1182
- margin-bottom: var(--space-md);
1183
- }
1184
-
1185
- /* Code Blocks */
1186
- pre {
1187
- background: var(--bg-secondary);
1188
- color: var(--text-primary);
1189
- padding: var(--space-md);
1190
- border-radius: var(--radius-sm);
1191
- overflow-x: auto;
1192
- margin: var(--space-md) 0;
1193
- font-family: var(--font-mono);
1194
- font-size: 0.8125rem;
1195
- line-height: 1.4;
1196
- border: 1px solid var(--bg-tertiary);
1197
- }
1198
-
1199
- code {
1200
- font-family: var(--font-mono);
1201
- font-size: 0.8125em;
1202
- background: #f1f3f4;
1203
- color: var(--text-primary);
1204
- padding: 0.0625rem 0.25rem;
1205
- border-radius: var(--radius-sm);
1206
- font-weight: 400;
1207
- }
1208
-
1209
- [data-theme="dark"] code {
1210
- background: var(--bg-tertiary);
1211
- color: var(--text-primary);
1212
- }
1213
-
1214
- pre code {
1215
- background: none;
1216
- padding: 0;
1217
- font-size: 0.8125rem;
1218
- }
1219
-
1220
- /* Tables */
1221
- table {
1222
- width: 100%;
1223
- border-collapse: collapse;
1224
- margin-bottom: var(--space-md);
1225
- font-size: 0.9375rem;
1226
- }
1227
-
1228
- th, td {
1229
- text-align: left;
1230
- padding: var(--space-sm) var(--space-md);
1231
- border-bottom: 1px solid var(--bg-tertiary);
1232
- line-height: 1.3;
1233
- }
1234
-
1235
- th {
1236
- font-weight: 600;
1237
- background: var(--bg-secondary);
1238
- font-size: 0.875rem;
1239
- }
1240
-
1241
- tr:hover {
1242
- background: var(--bg-secondary);
1243
- }
1244
-
1245
- /* Lists */
1246
- ul, ol {
1247
- margin-bottom: var(--space-md);
1248
- padding-left: var(--space-lg);
1249
- color: var(--text-primary);
1250
- line-height: 1.4;
1251
- }
1252
-
1253
- li {
1254
- margin-bottom: var(--space-sm);
1255
- color: var(--text-primary);
1256
- font-size: 0.9375rem;
1257
- line-height: 1.4;
1258
- }
1259
-
1260
- ol li {
1261
- padding-left: var(--space-xs);
1262
- }
1263
-
1264
- ul li::marker {
1265
- color: var(--text-muted);
1266
- }
1267
-
1268
- ol li::marker {
1269
- color: var(--text-muted);
1270
- font-weight: 600;
1271
- }
1272
-
1273
- /* Nested lists */
1274
- li ul, li ol {
1275
- margin-top: var(--space-xs);
1276
- margin-bottom: var(--space-xs);
1277
- }
1278
-
1279
- /* Blockquotes */
1280
- blockquote {
1281
- border-left: 4px solid var(--accent);
1282
- padding-left: var(--space-lg);
1283
- margin: var(--space-lg) 0;
1284
- font-style: italic;
1285
- color: var(--text-secondary);
1286
- }
1287
-
1288
- /* Feature Grid */
1289
- .feature-grid {
1290
- display: grid;
1291
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
1292
- gap: var(--space-xl);
1293
- margin: var(--space-3xl) 0;
1294
- }
1295
-
1296
- .feature-card {
1297
- background: var(--bg-secondary);
1298
- padding: var(--space-xl);
1299
- border-radius: var(--radius-lg);
1300
- transition: all var(--transition-base);
1301
- }
1302
-
1303
- .feature-card:hover {
1304
- transform: translateY(-4px);
1305
- box-shadow: var(--shadow-lg);
1306
- }
1307
-
1308
- .feature-icon {
1309
- font-size: 2rem;
1310
- margin-bottom: var(--space-md);
1311
- }
1312
-
1313
- .feature-title {
1314
- font-size: 1.125rem;
1315
- font-weight: 600;
1316
- margin-bottom: var(--space-sm);
1317
- }
1318
-
1319
- /* Timeline */
1320
- .timeline {
1321
- position: relative;
1322
- padding-left: var(--space-2xl);
1323
- margin: var(--space-2xl) 0;
1324
- }
1325
-
1326
- .timeline::before {
1327
- content: '';
1328
- position: absolute;
1329
- left: 0;
1330
- top: 0;
1331
- bottom: 0;
1332
- width: 2px;
1333
- background: var(--bg-tertiary);
1334
- }
1335
-
1336
- .timeline-item {
1337
- position: relative;
1338
- margin-bottom: var(--space-2xl);
1339
- }
1340
-
1341
- .timeline-item::before {
1342
- content: '';
1343
- position: absolute;
1344
- left: calc(var(--space-2xl) * -1 - 5px);
1345
- top: 0;
1346
- width: 12px;
1347
- height: 12px;
1348
- background: var(--accent);
1349
- border-radius: 50%;
1350
- box-shadow: 0 0 0 4px var(--bg-primary);
1351
- }
1352
-
1353
- .timeline-date {
1354
- font-size: 0.875rem;
1355
- color: var(--text-muted);
1356
- font-weight: 600;
1357
- margin-bottom: var(--space-xs);
1358
- }
1359
-
1360
- /* Metrics */
1361
- .metrics-grid {
1362
- display: grid;
1363
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1364
- gap: var(--space-lg);
1365
- margin: var(--space-2xl) 0;
1366
- }
1367
-
1368
- .metric-card {
1369
- background: var(--bg-secondary);
1370
- padding: var(--space-lg);
1371
- border-radius: var(--radius-md);
1372
- text-align: center;
1373
- }
1374
-
1375
- .metric-value {
1376
- font-size: 2rem;
1377
- font-weight: 700;
1378
- color: var(--accent);
1379
- margin-bottom: var(--space-xs);
1380
- }
1381
-
1382
- .metric-label {
1383
- font-size: 0.875rem;
1384
- color: var(--text-muted);
1385
- }
1386
-
1387
- /* Responsive Design */
1388
- @media (max-width: 1024px) {
1389
- .sidebar {
1390
- transform: translateX(-100%);
1391
- }
1392
-
1393
- .sidebar.open {
1394
- transform: translateX(0);
1395
- }
1396
-
1397
- .content {
1398
- margin-left: 0;
1399
- padding: var(--space-xl);
1400
- }
1401
-
1402
- .search-box {
1403
- display: none;
1404
- }
1405
- }
1406
-
1407
- @media (max-width: 768px) {
1408
- h1 {
1409
- font-size: 2rem;
1410
- }
1411
-
1412
- .hero h1 {
1413
- font-size: 2.5rem;
1414
- text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
1415
- }
1416
-
1417
- .hero-actions {
1418
- flex-direction: column;
1419
- align-items: center;
1420
- }
1421
-
1422
- .feature-grid {
1423
- grid-template-columns: 1fr;
1424
- }
1425
- }
1426
-
1427
- /* Animations */
1428
- @keyframes fadeIn {
1429
- from {
1430
- opacity: 0;
1431
- transform: translateY(20px);
1432
- }
1433
- to {
1434
- opacity: 1;
1435
- transform: translateY(0);
1436
- }
1437
- }
1438
-
1439
- .fade-in {
1440
- animation: fadeIn 0.6s ease-out;
1441
- }
1442
-
1443
- /* Bubble Icon Custom CSS */
1444
- .fa-bubble::before {
1445
- content: "🫧";
1446
- font-family: 'Inter', sans-serif;
1447
- font-style: normal;
1448
- }
1449
-
1450
- /* Mermaid Diagram Styling */
1451
- .mermaid {
1452
- margin: var(--space-xl) 0;
1453
- padding: var(--space-lg);
1454
- background: var(--bg-secondary);
1455
- border-radius: var(--radius-lg);
1456
- border: 1px solid var(--bg-tertiary);
1457
- text-align: center;
1458
- overflow-x: auto;
1459
- }
1460
-
1461
- [data-theme="dark"] .mermaid {
1462
- background: var(--bg-tertiary);
1463
- border-color: var(--text-muted);
1464
- }
1465
-
1466
- /* Scrollbar Styling */
1467
- ::-webkit-scrollbar {
1468
- width: 8px;
1469
- height: 8px;
1470
- }
1471
-
1472
- ::-webkit-scrollbar-track {
1473
- background: var(--bg-secondary);
1474
- }
1475
-
1476
- ::-webkit-scrollbar-thumb {
1477
- background: var(--bg-tertiary);
1478
- border-radius: var(--radius-full);
1479
- }
1480
-
1481
- ::-webkit-scrollbar-thumb:hover {
1482
- background: var(--text-muted);
1483
- }
1484
-
1485
- /* Additional Components */
1486
-
1487
- /* Menu Toggle (Mobile) */
1488
- .menu-toggle {
1489
- display: none;
1490
- background: none;
1491
- border: none;
1492
- font-size: 1.5rem;
1493
- cursor: pointer;
1494
- color: var(--text-primary);
1495
- padding: var(--space-sm);
1496
- }
1497
-
1498
- @media (max-width: 1024px) {
1499
- .menu-toggle {
1500
- display: block;
1501
- }
1502
- }
1503
-
1504
- /* Search Results Dropdown */
1505
- .search-results {
1506
- position: absolute;
1507
- top: 100%;
1508
- left: 0;
1509
- right: 0;
1510
- background: var(--bg-primary);
1511
- border: 1px solid var(--bg-tertiary);
1512
- border-radius: var(--radius-md);
1513
- margin-top: var(--space-xs);
1514
- box-shadow: var(--shadow-lg);
1515
- max-height: 400px;
1516
- overflow-y: auto;
1517
- z-index: 100;
1518
- }
1519
-
1520
- .search-result-item {
1521
- padding: var(--space-md);
1522
- border-bottom: 1px solid var(--bg-tertiary);
1523
- transition: background-color var(--transition-fast);
1524
- }
1525
-
1526
- .search-result-item:hover {
1527
- background: var(--bg-secondary);
1528
- }
1529
-
1530
- /* Code Block Wrapper */
1531
- .code-block-wrapper {
1532
- position: relative;
1533
- margin-bottom: var(--space-lg);
1534
- }
1535
-
1536
- .copy-button {
1537
- position: absolute;
1538
- top: var(--space-sm);
1539
- right: var(--space-sm);
1540
- background: var(--accent);
1541
- color: var(--text-inverse);
1542
- border: none;
1543
- padding: var(--space-xs) var(--space-sm);
1544
- border-radius: var(--radius-sm);
1545
- font-size: 0.75rem;
1546
- cursor: pointer;
1547
- transition: all var(--transition-fast);
1548
- }
1549
-
1550
- .copy-button:hover {
1551
- background: var(--accent-hover);
1552
- }
1553
-
1554
- /* Table of Contents */
1555
- .toc-container {
1556
- background: var(--bg-secondary);
1557
- border-radius: var(--radius-md);
1558
- padding: var(--space-xl);
1559
- margin: var(--space-xl) 0;
1560
- border: 1px solid var(--bg-tertiary);
1561
- }
1562
-
1563
- .toc-container h2 {
1564
- font-size: 1.125rem;
1565
- font-weight: 600;
1566
- color: var(--text-primary);
1567
- margin-bottom: var(--space-lg);
1568
- padding-bottom: var(--space-sm);
1569
- border-bottom: 2px solid var(--bg-tertiary);
1570
- }
1571
-
1572
- .toc-list {
1573
- list-style: none;
1574
- padding: 0;
1575
- margin: 0;
1576
- }
1577
-
1578
- .toc-list ol,
1579
- .toc-list ul {
1580
- list-style: none;
1581
- padding: 0;
1582
- margin: 0;
1583
- }
1584
-
1585
- .toc-list li {
1586
- position: relative;
1587
- margin-bottom: 0;
1588
- line-height: 1.4;
1589
- }
1590
-
1591
- .toc-list > li {
1592
- margin-bottom: 0;
1593
- }
1594
-
1595
- .toc-list li::before {
1596
- content: '';
1597
- position: absolute;
1598
- left: 0;
1599
- top: 0.75em;
1600
- width: 6px;
1601
- height: 6px;
1602
- background: var(--text-muted);
1603
- border-radius: 50%;
1604
- opacity: 0.5;
1605
- }
1606
-
1607
- .toc-list a {
1608
- display: block;
1609
- padding: 0.125rem var(--space-sm);
1610
- padding-left: var(--space-lg);
1611
- color: var(--text-secondary);
1612
- font-size: 0.9375rem;
1613
- transition: all var(--transition-fast);
1614
- border-radius: var(--radius-sm);
1615
- text-decoration: none;
1616
- position: relative;
1617
- }
1618
-
1619
- .toc-list a:hover {
1620
- color: var(--accent);
1621
- background: rgba(91, 61, 152, 0.05);
1622
- transform: translateX(1px);
1623
- }
1624
-
1625
- /* Nested TOC items */
1626
- .toc-list .toc-h2 {
1627
- font-weight: 500;
1628
- }
1629
-
1630
- .toc-list .toc-h3 {
1631
- padding-left: calc(var(--space-lg) + var(--space-xl));
1632
- font-size: 0.875rem;
1633
- color: var(--text-muted);
1634
- }
1635
-
1636
- .toc-list .toc-h3::before {
1637
- left: var(--space-xl);
1638
- width: 4px;
1639
- height: 4px;
1640
- }
1641
-
1642
- .toc-list .toc-h4 {
1643
- padding-left: calc(var(--space-lg) + var(--space-2xl));
1644
- font-size: 0.8125rem;
1645
- color: var(--text-muted);
1646
- font-style: italic;
1647
- }
1648
-
1649
- .toc-list .toc-h4::before {
1650
- left: var(--space-2xl);
1651
- width: 3px;
1652
- height: 3px;
1653
- }
1654
-
1655
- /* Active TOC item */
1656
- .toc-list a.active {
1657
- color: var(--accent);
1658
- background: rgba(91, 61, 152, 0.1);
1659
- font-weight: 500;
1660
- }
1661
-
1662
- /* Number styling for ordered lists */
1663
- .toc-list > ol {
1664
- counter-reset: toc-counter;
1665
- }
1666
-
1667
- .toc-list ol > li {
1668
- counter-increment: toc-counter;
1669
- }
1670
-
1671
- .toc-list ol > li::before {
1672
- content: counter(toc-counter);
1673
- position: absolute;
1674
- left: 0;
1675
- top: var(--space-xs);
1676
- width: 1.5rem;
1677
- height: 1.5rem;
1678
- background: var(--accent);
1679
- color: var(--text-inverse);
1680
- border-radius: var(--radius-sm);
1681
- font-size: 0.75rem;
1682
- font-weight: 600;
1683
- display: flex;
1684
- align-items: center;
1685
- justify-content: center;
1686
- opacity: 1;
1687
- }
1688
-
1689
- .toc-list ol > li > a {
1690
- padding-left: calc(var(--space-lg) + var(--space-md));
1691
- }
1692
-
1693
- /* Dark mode adjustments */
1694
- [data-theme="dark"] .toc-container {
1695
- background: var(--bg-secondary);
1696
- border-color: var(--bg-tertiary);
1697
- }
1698
-
1699
- [data-theme="dark"] .toc-container h2 {
1700
- border-bottom-color: var(--bg-tertiary);
1701
- }
1702
-
1703
- [data-theme="dark"] .toc-list a:hover {
1704
- background: var(--bg-tertiary);
1705
- }
1706
-
1707
- /* Section Separators */
1708
- section + section {
1709
- margin-top: var(--space-3xl);
1710
- padding-top: var(--space-3xl);
1711
- border-top: 1px solid var(--bg-tertiary);
1712
- }
1713
-
1714
- /* Highlight Box */
1715
- .highlight-box {
1716
- background: linear-gradient(135deg, rgba(0, 212, 255, 0.1) 0%, rgba(102, 126, 234, 0.1) 100%);
1717
- border-left: 4px solid var(--accent);
1718
- padding: var(--space-lg);
1719
- margin: var(--space-xl) 0;
1720
- border-radius: var(--radius-md);
1721
- }
1722
-
1723
- /* Badge */
1724
- .badge {
1725
- display: inline-flex;
1726
- align-items: center;
1727
- padding: var(--space-xs) var(--space-sm);
1728
- background: var(--accent);
1729
- color: var(--text-inverse);
1730
- font-size: 0.75rem;
1731
- font-weight: 600;
1732
- border-radius: var(--radius-full);
1733
- margin-left: var(--space-sm);
1734
- }
1735
-
1736
- /* Gradient Text */
1737
- .gradient-text {
1738
- background: var(--primary-gradient);
1739
- -webkit-background-clip: text;
1740
- -webkit-text-fill-color: transparent;
1741
- background-clip: text;
1742
- }
1743
-
1744
- /* Responsive Styles for Banner */
1745
- @media (max-width: 768px) {
1746
- .banner-content {
1747
- padding: var(--space-sm) var(--space-md);
1748
- gap: var(--space-sm);
1749
- }
1750
-
1751
- .banner-text {
1752
- font-size: 0.8rem;
1753
- }
1754
-
1755
- .banner-icon {
1756
- font-size: 1rem;
1757
- }
1758
-
1759
- /* Adjust mobile layout when banner is visible */
1760
- .main-wrapper.banner-visible {
1761
- padding-top: calc(var(--header-height) + var(--breadcrumb-height) + 4rem);
1762
- }
1763
-
1764
- .sidebar.banner-visible {
1765
- top: calc(var(--header-height) + var(--breadcrumb-height) + 4rem);
1766
- }
1767
- }
1768
-
1769
- /* Print Styles */
1770
- @media print {
1771
- .header,
1772
- .sidebar,
1773
- .theme-toggle,
1774
- .search-box,
1775
- .preview-banner,
1776
- .resize-handle,
1777
- .copy-button,
1778
- .menu-toggle {
1779
- display: none !important;
1780
- }
1781
-
1782
- body {
1783
- font-size: 12pt;
1784
- line-height: 1.4;
1785
- color: black !important;
1786
- background: white !important;
1787
- }
1788
-
1789
- .content {
1790
- margin: 0 !important;
1791
- padding: 20px !important;
1792
- max-width: none !important;
1793
- }
1794
-
1795
- .main-wrapper {
1796
- padding-top: 0 !important;
1797
- }
1798
-
1799
- .hero {
1800
- background: none !important;
1801
- color: black !important;
1802
- padding: 20px 0 !important;
1803
- margin: 0 0 20px 0 !important;
1804
- page-break-inside: avoid;
1805
- }
1806
-
1807
- .hero h1 {
1808
- color: black !important;
1809
- -webkit-text-fill-color: black !important;
1810
- text-shadow: none !important;
1811
- font-size: 24pt !important;
1812
- }
1813
-
1814
- .hero-subtitle {
1815
- color: black !important;
1816
- text-shadow: none !important;
1817
- font-size: 14pt !important;
1818
- }
1819
-
1820
- h1, h2, h3, h4, h5, h6 {
1821
- color: black !important;
1822
- page-break-after: avoid;
1823
- margin-top: 15pt;
1824
- margin-bottom: 10pt;
1825
- }
1826
-
1827
- h1 { font-size: 20pt; }
1828
- h2 { font-size: 16pt; }
1829
- h3 { font-size: 14pt; }
1830
- h4 { font-size: 12pt; }
1831
-
1832
- p, li {
1833
- color: black !important;
1834
- font-size: 11pt;
1835
- line-height: 1.4;
1836
- margin-bottom: 8pt;
1837
- }
1838
-
1839
- /* Feature cards and grids */
1840
- .feature-grid, .metrics-grid {
1841
- display: block !important;
1842
- margin: 15pt 0;
1843
- }
1844
-
1845
- .feature-card, .metric-card {
1846
- break-inside: avoid;
1847
- margin-bottom: 10pt;
1848
- border: 1px solid #ccc;
1849
- padding: 8pt;
1850
- background: white !important;
1851
- }
1852
-
1853
- .feature-title, .metric-label {
1854
- color: black !important;
1855
- font-weight: bold;
1856
- }
1857
-
1858
- .metric-value {
1859
- color: black !important;
1860
- font-size: 18pt;
1861
- font-weight: bold;
1862
- }
1863
-
1864
- /* Code blocks */
1865
- pre, code {
1866
- background: #f5f5f5 !important;
1867
- border: 1px solid #ddd;
1868
- color: black !important;
1869
- font-size: 9pt;
1870
- padding: 5pt;
1871
- break-inside: avoid;
1872
- }
1873
-
1874
- /* Tables */
1875
- table {
1876
- break-inside: avoid;
1877
- border-collapse: collapse;
1878
- width: 100%;
1879
- margin: 10pt 0;
1880
- }
1881
-
1882
- th, td {
1883
- border: 1px solid #ccc;
1884
- padding: 5pt;
1885
- color: black !important;
1886
- font-size: 10pt;
1887
- }
1888
-
1889
- th {
1890
- background: #f0f0f0 !important;
1891
- font-weight: bold;
1892
- }
1893
-
1894
- /* Timeline */
1895
- .timeline {
1896
- display: block !important;
1897
- margin: 15pt 0;
1898
- }
1899
-
1900
- .timeline-item {
1901
- break-inside: avoid;
1902
- margin-bottom: 12pt;
1903
- padding-left: 0 !important;
1904
- border-left: 2px solid #ccc;
1905
- padding-left: 10pt;
1906
- }
1907
-
1908
- .timeline::before,
1909
- .timeline-item::before {
1910
- display: none;
1911
- }
1912
-
1913
- .timeline-date {
1914
- color: black !important;
1915
- font-weight: bold;
1916
- font-size: 10pt;
1917
- }
1918
-
1919
- /* Mermaid diagrams */
1920
- .mermaid {
1921
- break-inside: avoid;
1922
- background: white !important;
1923
- border: 1px solid #ccc;
1924
- padding: 10pt;
1925
- margin: 10pt 0;
1926
- }
1927
-
1928
- /* Links */
1929
- a {
1930
- color: black !important;
1931
- text-decoration: underline;
1932
- }
1933
-
1934
- a[href^="http"]:after {
1935
- content: " (" attr(href) ")";
1936
- font-size: 9pt;
1937
- color: #666;
1938
- }
1939
-
1940
- /* Remove gradients and colors */
1941
- .gradient-text {
1942
- color: black !important;
1943
- background: none !important;
1944
- -webkit-text-fill-color: black !important;
1945
- }
1946
-
1947
- /* Lists */
1948
- ul, ol {
1949
- margin: 8pt 0;
1950
- padding-left: 20pt;
1951
- }
1952
-
1953
- li {
1954
- margin-bottom: 4pt;
1955
- }
1956
-
1957
- /* Blockquotes */
1958
- blockquote {
1959
- border-left: 3px solid #ccc;
1960
- padding-left: 10pt;
1961
- margin: 10pt 0;
1962
- font-style: italic;
1963
- color: black !important;
1964
- }
1965
-
1966
- /* Page breaks */
1967
- .page-break {
1968
- page-break-before: always;
1969
- }
1970
-
1971
- .no-break {
1972
- page-break-inside: avoid;
1973
- }
1974
- }