helixevo 0.2.0 → 0.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.
@@ -0,0 +1,1211 @@
1
+ :root {
2
+ --bg: #f8f9fb;
3
+ --bg-card: #ffffff;
4
+ --bg-section: #f1f3f8;
5
+ --bg-hover: #eef0f6;
6
+ --bg-input: #f8f9fb;
7
+ --bg-sidebar: #fafbfd;
8
+
9
+ --border: #e4e6ee;
10
+ --border-focus: #c4c8d8;
11
+ --border-subtle: #eef0f4;
12
+ --shadow-sm: 0 1px 2px rgba(0,0,0,0.03), 0 1px 3px rgba(0,0,0,0.02);
13
+ --shadow-md: 0 2px 8px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
14
+ --shadow-lg: 0 4px 20px rgba(0,0,0,0.07), 0 2px 6px rgba(0,0,0,0.03);
15
+ --shadow-xl: 0 8px 32px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04);
16
+
17
+ --text: #1a1d2e;
18
+ --text-secondary: #4a4f6a;
19
+ --text-dim: #8b90a8;
20
+ --text-muted: #b0b5c8;
21
+
22
+ --purple: #7c3aed;
23
+ --purple-light: #f3eefe;
24
+ --purple-border: #d4bffd;
25
+ --green: #059669;
26
+ --green-light: #ecfdf5;
27
+ --green-border: #a7f3d0;
28
+ --red: #dc2626;
29
+ --red-light: #fef2f2;
30
+ --red-border: #fca5a5;
31
+ --yellow: #d97706;
32
+ --yellow-light: #fffbeb;
33
+ --yellow-border: #fde68a;
34
+ --blue: #2563eb;
35
+ --blue-light: #eff6ff;
36
+ --blue-border: #bfdbfe;
37
+
38
+ --radius: 8px;
39
+ --radius-lg: 12px;
40
+ --radius-xl: 16px;
41
+
42
+ --font: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', system-ui, sans-serif;
43
+ --font-mono: 'SF Mono', 'Fira Code', 'JetBrains Mono', monospace;
44
+ }
45
+
46
+ * { box-sizing: border-box; margin: 0; padding: 0; }
47
+
48
+ body {
49
+ background: var(--bg);
50
+ color: var(--text);
51
+ font-family: var(--font);
52
+ -webkit-font-smoothing: antialiased;
53
+ font-size: 14px;
54
+ line-height: 1.6;
55
+ }
56
+
57
+ ::selection { background: var(--purple-light); color: var(--purple); }
58
+ a { color: var(--purple); text-decoration: none; }
59
+ a:hover { text-decoration: underline; }
60
+
61
+ code {
62
+ font-family: var(--font-mono);
63
+ font-size: 12px;
64
+ padding: 2px 6px;
65
+ background: var(--bg-section);
66
+ border-radius: 4px;
67
+ color: var(--text-secondary);
68
+ }
69
+
70
+ /* ─── Sidebar ─── */
71
+ .sidebar {
72
+ width: 220px;
73
+ background: var(--bg-sidebar);
74
+ border-right: 1px solid var(--border);
75
+ padding: 0;
76
+ flex-shrink: 0;
77
+ position: sticky;
78
+ top: 0;
79
+ height: 100vh;
80
+ display: flex;
81
+ flex-direction: column;
82
+ z-index: 20;
83
+ }
84
+
85
+ .sidebar-logo {
86
+ display: flex;
87
+ align-items: center;
88
+ gap: 10px;
89
+ padding: 20px 18px 16px;
90
+ border-bottom: 1px solid var(--border);
91
+ }
92
+
93
+ .logo-icon {
94
+ width: 32px;
95
+ height: 32px;
96
+ border-radius: 10px;
97
+ background: linear-gradient(135deg, #7c3aed, #4f46e5);
98
+ display: flex;
99
+ align-items: center;
100
+ justify-content: center;
101
+ color: #fff;
102
+ flex-shrink: 0;
103
+ }
104
+
105
+ .nav-item {
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 10px;
109
+ padding: 9px 12px;
110
+ border-radius: 8px;
111
+ color: var(--text-dim);
112
+ font-size: 13px;
113
+ font-weight: 500;
114
+ margin-bottom: 2px;
115
+ text-decoration: none;
116
+ transition: all 0.15s ease;
117
+ }
118
+ .nav-item:hover {
119
+ background: var(--bg-hover);
120
+ color: var(--text);
121
+ text-decoration: none;
122
+ }
123
+
124
+ .sidebar-footer {
125
+ padding: 14px 18px;
126
+ border-top: 1px solid var(--border);
127
+ font-size: 11px;
128
+ color: var(--text-muted);
129
+ display: flex;
130
+ justify-content: space-between;
131
+ align-items: center;
132
+ }
133
+
134
+ .main-content {
135
+ flex: 1;
136
+ padding: 32px 40px;
137
+ max-width: 1280px;
138
+ min-height: 100vh;
139
+ }
140
+
141
+ /* ─── Page Header ─── */
142
+ .page-header { margin-bottom: 28px; }
143
+ .page-title {
144
+ font-size: 24px;
145
+ font-weight: 700;
146
+ letter-spacing: -0.4px;
147
+ color: var(--text);
148
+ line-height: 1.2;
149
+ }
150
+ .page-desc {
151
+ font-size: 13px;
152
+ color: var(--text-dim);
153
+ margin-top: 6px;
154
+ line-height: 1.5;
155
+ }
156
+
157
+ /* ─── Cards ─── */
158
+ .card {
159
+ background: var(--bg-card);
160
+ border: 1px solid var(--border);
161
+ border-radius: var(--radius-lg);
162
+ box-shadow: var(--shadow-sm);
163
+ transition: box-shadow 0.2s ease, border-color 0.2s ease;
164
+ }
165
+ .card:hover {
166
+ box-shadow: var(--shadow-md);
167
+ border-color: var(--border-focus);
168
+ }
169
+ .card-body { padding: 20px; }
170
+
171
+ .card-header-label {
172
+ font-size: 10px;
173
+ font-weight: 700;
174
+ color: var(--text-muted);
175
+ text-transform: uppercase;
176
+ letter-spacing: 1.5px;
177
+ margin-bottom: 14px;
178
+ }
179
+
180
+ /* ─── Badges ─── */
181
+ .badge {
182
+ display: inline-flex;
183
+ align-items: center;
184
+ gap: 3px;
185
+ font-size: 10px;
186
+ font-weight: 600;
187
+ padding: 2px 8px;
188
+ border-radius: 6px;
189
+ white-space: nowrap;
190
+ letter-spacing: 0.2px;
191
+ }
192
+ .badge-purple { background: var(--purple-light); color: var(--purple); }
193
+ .badge-green { background: var(--green-light); color: var(--green); }
194
+ .badge-red { background: var(--red-light); color: var(--red); }
195
+ .badge-yellow { background: var(--yellow-light); color: var(--yellow); }
196
+ .badge-blue { background: var(--blue-light); color: var(--blue); }
197
+ .badge-gray { background: var(--bg-section); color: var(--text-dim); }
198
+
199
+ /* ─── Score Bars ─── */
200
+ .score-track {
201
+ height: 4px;
202
+ background: var(--bg-section);
203
+ border-radius: 2px;
204
+ overflow: hidden;
205
+ flex: 1;
206
+ }
207
+ .score-fill {
208
+ height: 100%;
209
+ border-radius: 2px;
210
+ transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1);
211
+ }
212
+
213
+ /* ─── Stats ─── */
214
+ .stat-value {
215
+ font-size: 28px;
216
+ font-weight: 800;
217
+ line-height: 1;
218
+ letter-spacing: -0.5px;
219
+ }
220
+ .stat-label {
221
+ font-size: 11px;
222
+ color: var(--text-dim);
223
+ margin-top: 4px;
224
+ font-weight: 500;
225
+ }
226
+
227
+ .section-label {
228
+ font-size: 10px;
229
+ font-weight: 700;
230
+ color: var(--text-muted);
231
+ text-transform: uppercase;
232
+ letter-spacing: 1.5px;
233
+ margin-bottom: 12px;
234
+ display: flex;
235
+ align-items: center;
236
+ gap: 8px;
237
+ }
238
+
239
+ /* ─── Sub-View Tab Bar ─── */
240
+ .tab-bar {
241
+ display: inline-flex;
242
+ background: var(--bg-section);
243
+ border-radius: 10px;
244
+ padding: 3px;
245
+ gap: 2px;
246
+ margin-bottom: 24px;
247
+ }
248
+ .tab-item {
249
+ padding: 7px 16px;
250
+ border-radius: 8px;
251
+ font-size: 13px;
252
+ font-weight: 500;
253
+ color: var(--text-dim);
254
+ cursor: pointer;
255
+ transition: all 0.2s ease;
256
+ border: none;
257
+ background: none;
258
+ font-family: var(--font);
259
+ white-space: nowrap;
260
+ }
261
+ .tab-item:hover {
262
+ color: var(--text-secondary);
263
+ background: rgba(255,255,255,0.5);
264
+ }
265
+ .tab-item.active {
266
+ background: var(--bg-card);
267
+ color: var(--text);
268
+ font-weight: 600;
269
+ box-shadow: var(--shadow-sm);
270
+ }
271
+
272
+ /* ─── Layer Sections ─── */
273
+ .layer-section {
274
+ border-radius: var(--radius-xl);
275
+ padding: 20px;
276
+ margin-bottom: 16px;
277
+ }
278
+ .layer-generalized {
279
+ background: linear-gradient(135deg, #faf5ff, #f3e8ff);
280
+ border: 1px solid var(--purple-border);
281
+ }
282
+ .layer-evolved {
283
+ background: linear-gradient(135deg, #ecfdf5, #d1fae5);
284
+ border: 1px solid var(--green-border);
285
+ }
286
+ .layer-original {
287
+ background: var(--bg-card);
288
+ border: 1px solid var(--border);
289
+ }
290
+ .layer-project {
291
+ background: linear-gradient(135deg, #fffbeb, #fef3c7);
292
+ border: 1px solid var(--yellow-border);
293
+ }
294
+
295
+ /* ─── Skill Card ─── */
296
+ .skill-card {
297
+ background: var(--bg-card);
298
+ border: 1px solid var(--border);
299
+ border-radius: var(--radius);
300
+ padding: 14px 16px;
301
+ cursor: pointer;
302
+ transition: all 0.2s ease;
303
+ box-shadow: var(--shadow-sm);
304
+ }
305
+ .skill-card:hover {
306
+ box-shadow: var(--shadow-md);
307
+ border-color: var(--border-focus);
308
+ transform: translateY(-1px);
309
+ }
310
+ .skill-card.selected {
311
+ border-color: var(--purple);
312
+ box-shadow: 0 0 0 2px var(--purple-light), var(--shadow-md);
313
+ }
314
+
315
+ /* ─── Flow Arrow Labels ─── */
316
+ .flow-label {
317
+ font-size: 10px;
318
+ font-weight: 500;
319
+ color: var(--text-dim);
320
+ background: var(--bg);
321
+ padding: 2px 8px;
322
+ border-radius: 10px;
323
+ border: 1px solid var(--border);
324
+ }
325
+ .flow-arrow {
326
+ text-align: center;
327
+ padding: 10px 0;
328
+ font-size: 11px;
329
+ color: var(--text-muted);
330
+ font-weight: 500;
331
+ letter-spacing: 0.5px;
332
+ }
333
+
334
+ /* ─── Timeline ─── */
335
+ .timeline-item {
336
+ position: relative;
337
+ padding-left: 22px;
338
+ padding-bottom: 16px;
339
+ border-left: 2px solid var(--border);
340
+ margin-left: 5px;
341
+ }
342
+ .timeline-item:last-child { border-left-color: transparent; }
343
+ .timeline-dot {
344
+ position: absolute;
345
+ left: -6px;
346
+ top: 3px;
347
+ width: 10px;
348
+ height: 10px;
349
+ border-radius: 50%;
350
+ border: 2px solid var(--bg);
351
+ }
352
+
353
+ /* ─── Detail Panel ─── */
354
+ .detail-panel {
355
+ background: var(--bg-card);
356
+ border-left: 1px solid var(--border);
357
+ box-shadow: -4px 0 20px rgba(0,0,0,0.04);
358
+ width: 400px;
359
+ height: 100%;
360
+ overflow-y: auto;
361
+ padding: 24px;
362
+ animation: slideIn 0.2s ease;
363
+ }
364
+
365
+ @keyframes slideIn {
366
+ from { transform: translateX(20px); opacity: 0; }
367
+ to { transform: translateX(0); opacity: 1; }
368
+ }
369
+
370
+ /* ─── Empty State ─── */
371
+ .empty-state {
372
+ display: flex;
373
+ flex-direction: column;
374
+ align-items: center;
375
+ justify-content: center;
376
+ padding: 48px 24px;
377
+ text-align: center;
378
+ }
379
+ .empty-state-icon {
380
+ width: 48px;
381
+ height: 48px;
382
+ border-radius: 12px;
383
+ background: var(--bg-section);
384
+ display: flex;
385
+ align-items: center;
386
+ justify-content: center;
387
+ margin-bottom: 14px;
388
+ color: var(--text-muted);
389
+ }
390
+ .empty-state-title {
391
+ font-size: 15px;
392
+ font-weight: 600;
393
+ color: var(--text);
394
+ margin-bottom: 4px;
395
+ }
396
+ .empty-state-desc {
397
+ font-size: 13px;
398
+ color: var(--text-dim);
399
+ max-width: 360px;
400
+ line-height: 1.5;
401
+ }
402
+
403
+ /* ─── Stat Grid ─── */
404
+ .stat-grid {
405
+ display: grid;
406
+ gap: 12px;
407
+ margin-bottom: 28px;
408
+ }
409
+ .stat-card {
410
+ background: var(--bg-card);
411
+ border: 1px solid var(--border);
412
+ border-radius: var(--radius-lg);
413
+ padding: 18px 20px;
414
+ box-shadow: var(--shadow-sm);
415
+ transition: all 0.2s ease;
416
+ }
417
+ .stat-card:hover {
418
+ box-shadow: var(--shadow-md);
419
+ border-color: var(--border-focus);
420
+ }
421
+
422
+ /* ─── React Flow Overrides ─── */
423
+ .react-flow__background { opacity: 0.4; }
424
+ .react-flow__controls {
425
+ box-shadow: var(--shadow-md) !important;
426
+ border: 1px solid var(--border) !important;
427
+ border-radius: var(--radius) !important;
428
+ overflow: hidden;
429
+ }
430
+ .react-flow__controls-button {
431
+ background: var(--bg-card) !important;
432
+ border-color: var(--border) !important;
433
+ }
434
+ .react-flow__controls-button:hover {
435
+ background: var(--bg-hover) !important;
436
+ }
437
+
438
+ /* ─── View Toggle (for Graph sub-view) ─── */
439
+ .view-header {
440
+ display: flex;
441
+ justify-content: space-between;
442
+ align-items: center;
443
+ margin-bottom: 20px;
444
+ gap: 16px;
445
+ }
446
+ .view-header-left {
447
+ display: flex;
448
+ align-items: center;
449
+ gap: 12px;
450
+ }
451
+ .view-header-stat {
452
+ display: flex;
453
+ align-items: center;
454
+ gap: 6px;
455
+ font-size: 12px;
456
+ color: var(--text-dim);
457
+ padding: 4px 10px;
458
+ background: var(--bg-section);
459
+ border-radius: 6px;
460
+ }
461
+
462
+ /* ─── Proposal Card ─── */
463
+ .proposal-card {
464
+ background: var(--bg-card);
465
+ border: 1px solid var(--border);
466
+ border-radius: var(--radius-lg);
467
+ overflow: hidden;
468
+ margin-bottom: 8px;
469
+ transition: all 0.15s ease;
470
+ }
471
+ .proposal-card:hover {
472
+ box-shadow: var(--shadow-sm);
473
+ border-color: var(--border-focus);
474
+ }
475
+
476
+ /* ─── Score Pill ─── */
477
+ .score-pill {
478
+ display: inline-flex;
479
+ align-items: center;
480
+ gap: 4px;
481
+ font-size: 11px;
482
+ font-weight: 600;
483
+ padding: 3px 8px;
484
+ border-radius: 6px;
485
+ background: var(--bg-section);
486
+ }
487
+
488
+ /* ─── Grid utilities ─── */
489
+ .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
490
+ .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
491
+ .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
492
+ .grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
493
+ .grid-auto { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 12px; }
494
+
495
+ /* ════════════════════════════════════════════════════════════════
496
+ GUIDE PAGE
497
+ ════════════════════════════════════════════════════════════════ */
498
+
499
+ .guide-layout {
500
+ display: flex;
501
+ gap: 0;
502
+ margin: -32px -40px;
503
+ min-height: 100vh;
504
+ }
505
+
506
+ /* ─── Sidebar TOC ─── */
507
+ .guide-toc {
508
+ width: 220px;
509
+ flex-shrink: 0;
510
+ position: sticky;
511
+ top: 0;
512
+ height: 100vh;
513
+ overflow-y: auto;
514
+ border-right: 1px solid var(--border);
515
+ background: var(--bg-sidebar);
516
+ padding-bottom: 20px;
517
+ }
518
+ .guide-toc-header {
519
+ padding: 24px 20px 16px;
520
+ border-bottom: 1px solid var(--border);
521
+ display: flex;
522
+ justify-content: space-between;
523
+ align-items: baseline;
524
+ }
525
+ .guide-toc-title {
526
+ font-size: 12px;
527
+ font-weight: 700;
528
+ color: var(--text);
529
+ letter-spacing: -0.2px;
530
+ }
531
+ .guide-toc-version {
532
+ font-size: 10px;
533
+ color: var(--text-muted);
534
+ background: var(--bg-section);
535
+ padding: 2px 6px;
536
+ border-radius: 4px;
537
+ font-family: var(--font-mono);
538
+ }
539
+ .guide-toc-item {
540
+ display: flex;
541
+ align-items: center;
542
+ gap: 8px;
543
+ padding: 7px 20px;
544
+ font-size: 12.5px;
545
+ font-weight: 500;
546
+ color: var(--text-dim);
547
+ text-decoration: none;
548
+ transition: all 0.15s ease;
549
+ border-left: 2px solid transparent;
550
+ }
551
+ .guide-toc-item:hover {
552
+ color: var(--text);
553
+ background: var(--bg-hover);
554
+ text-decoration: none;
555
+ }
556
+ .guide-toc-item.active {
557
+ color: var(--purple);
558
+ border-left-color: var(--purple);
559
+ background: var(--purple-light);
560
+ font-weight: 600;
561
+ }
562
+ .guide-toc-icon {
563
+ font-size: 10px;
564
+ width: 16px;
565
+ text-align: center;
566
+ flex-shrink: 0;
567
+ opacity: 0.6;
568
+ }
569
+ .guide-toc-item.active .guide-toc-icon { opacity: 1; }
570
+
571
+ /* ─── Content area ─── */
572
+ .guide-content {
573
+ flex: 1;
574
+ max-width: 860px;
575
+ padding: 0 48px 80px;
576
+ margin: 0 auto;
577
+ }
578
+
579
+ /* ─── Hero ─── */
580
+ .guide-hero {
581
+ padding: 48px 0 40px;
582
+ border-bottom: 1px solid var(--border);
583
+ margin-bottom: 48px;
584
+ }
585
+ .guide-hero-badge {
586
+ display: inline-flex;
587
+ font-size: 10px;
588
+ font-weight: 700;
589
+ text-transform: uppercase;
590
+ letter-spacing: 1.5px;
591
+ color: var(--purple);
592
+ background: var(--purple-light);
593
+ padding: 4px 12px;
594
+ border-radius: 20px;
595
+ margin-bottom: 16px;
596
+ }
597
+ .guide-hero-title {
598
+ font-size: 36px;
599
+ font-weight: 800;
600
+ letter-spacing: -1px;
601
+ color: var(--text);
602
+ line-height: 1.15;
603
+ margin-bottom: 12px;
604
+ }
605
+ .guide-hero-desc {
606
+ font-size: 15px;
607
+ color: var(--text-dim);
608
+ line-height: 1.7;
609
+ max-width: 640px;
610
+ }
611
+ .guide-hero-features {
612
+ display: grid;
613
+ grid-template-columns: repeat(4, 1fr);
614
+ gap: 12px;
615
+ margin-top: 32px;
616
+ }
617
+
618
+ /* ─── Feature Cards ─── */
619
+ .guide-feature-card {
620
+ background: var(--bg-card);
621
+ border: 1px solid var(--border);
622
+ border-radius: var(--radius-lg);
623
+ padding: 20px;
624
+ transition: all 0.2s ease;
625
+ }
626
+ .guide-feature-card:hover {
627
+ box-shadow: var(--shadow-md);
628
+ border-color: var(--border-focus);
629
+ transform: translateY(-2px);
630
+ }
631
+ .guide-feature-icon {
632
+ font-size: 20px;
633
+ margin-bottom: 10px;
634
+ width: 40px;
635
+ height: 40px;
636
+ display: flex;
637
+ align-items: center;
638
+ justify-content: center;
639
+ background: var(--bg-section);
640
+ border-radius: 10px;
641
+ }
642
+ .guide-feature-title {
643
+ font-size: 13px;
644
+ font-weight: 700;
645
+ color: var(--text);
646
+ margin-bottom: 4px;
647
+ }
648
+ .guide-feature-desc {
649
+ font-size: 12px;
650
+ color: var(--text-dim);
651
+ line-height: 1.5;
652
+ }
653
+
654
+ /* ─── Sections ─── */
655
+ .guide-section {
656
+ padding-top: 40px;
657
+ margin-bottom: 16px;
658
+ scroll-margin-top: 20px;
659
+ }
660
+ .guide-section-title {
661
+ font-size: 22px;
662
+ font-weight: 800;
663
+ letter-spacing: -0.5px;
664
+ color: var(--text);
665
+ margin-bottom: 4px;
666
+ line-height: 1.2;
667
+ }
668
+ .guide-section-subtitle {
669
+ font-size: 14px;
670
+ color: var(--text-dim);
671
+ margin-bottom: 24px;
672
+ line-height: 1.5;
673
+ }
674
+ .guide-h3 {
675
+ font-size: 15px;
676
+ font-weight: 700;
677
+ color: var(--text);
678
+ margin: 28px 0 12px;
679
+ letter-spacing: -0.2px;
680
+ }
681
+
682
+ /* ─── Text ─── */
683
+ .guide-text {
684
+ font-size: 14px;
685
+ color: var(--text-secondary);
686
+ line-height: 1.75;
687
+ margin-bottom: 16px;
688
+ }
689
+ .guide-text-sm {
690
+ font-size: 13px;
691
+ color: var(--text-dim);
692
+ line-height: 1.6;
693
+ margin-top: 8px;
694
+ }
695
+ .guide-list {
696
+ padding-left: 20px;
697
+ margin-bottom: 16px;
698
+ }
699
+ .guide-list li {
700
+ font-size: 13px;
701
+ color: var(--text-secondary);
702
+ line-height: 1.7;
703
+ margin-bottom: 6px;
704
+ }
705
+ .guide-list li strong {
706
+ color: var(--text);
707
+ }
708
+
709
+ /* ─── Code Blocks ─── */
710
+ .guide-code-block {
711
+ background: #1e1e2e;
712
+ border-radius: var(--radius-lg);
713
+ overflow: hidden;
714
+ margin: 12px 0 16px;
715
+ border: 1px solid rgba(255,255,255,0.06);
716
+ }
717
+ .guide-code-title {
718
+ font-size: 11px;
719
+ font-weight: 600;
720
+ color: #a6adc8;
721
+ padding: 10px 16px 0;
722
+ letter-spacing: 0.3px;
723
+ font-family: var(--font-mono);
724
+ }
725
+ .guide-code-block pre {
726
+ padding: 14px 16px;
727
+ overflow-x: auto;
728
+ }
729
+ .guide-code-block code {
730
+ font-family: var(--font-mono);
731
+ font-size: 12.5px;
732
+ line-height: 1.65;
733
+ color: #cdd6f4;
734
+ background: none;
735
+ padding: 0;
736
+ border-radius: 0;
737
+ white-space: pre;
738
+ tab-size: 2;
739
+ }
740
+
741
+ /* ─── Callout ─── */
742
+ .guide-callout {
743
+ display: flex;
744
+ gap: 12px;
745
+ padding: 14px 18px;
746
+ border-radius: var(--radius);
747
+ border: 1px solid;
748
+ margin: 16px 0;
749
+ font-size: 13px;
750
+ line-height: 1.6;
751
+ color: var(--text-secondary);
752
+ }
753
+ .guide-callout code {
754
+ font-size: 11.5px;
755
+ }
756
+ .guide-callout-icon {
757
+ font-size: 14px;
758
+ flex-shrink: 0;
759
+ margin-top: 1px;
760
+ }
761
+
762
+ /* ─── Steps ─── */
763
+ .guide-step {
764
+ display: flex;
765
+ gap: 16px;
766
+ margin: 20px 0;
767
+ }
768
+ .guide-step-number {
769
+ width: 28px;
770
+ height: 28px;
771
+ border-radius: 50%;
772
+ background: linear-gradient(135deg, var(--purple), #4f46e5);
773
+ color: #fff;
774
+ font-size: 13px;
775
+ font-weight: 700;
776
+ display: flex;
777
+ align-items: center;
778
+ justify-content: center;
779
+ flex-shrink: 0;
780
+ margin-top: 2px;
781
+ }
782
+ .guide-step-content {
783
+ flex: 1;
784
+ min-width: 0;
785
+ }
786
+ .guide-step-title {
787
+ font-size: 14px;
788
+ font-weight: 700;
789
+ color: var(--text);
790
+ margin-bottom: 4px;
791
+ }
792
+
793
+ /* ─── Directions ─── */
794
+ .guide-directions {
795
+ display: flex;
796
+ flex-direction: column;
797
+ gap: 12px;
798
+ margin: 16px 0;
799
+ }
800
+ .guide-direction {
801
+ display: flex;
802
+ align-items: flex-start;
803
+ gap: 14px;
804
+ padding: 14px 18px;
805
+ background: var(--bg-card);
806
+ border: 1px solid var(--border);
807
+ border-radius: var(--radius);
808
+ }
809
+ .guide-direction-arrow {
810
+ font-size: 22px;
811
+ font-weight: 800;
812
+ line-height: 1;
813
+ flex-shrink: 0;
814
+ margin-top: 2px;
815
+ }
816
+ .guide-direction strong {
817
+ display: block;
818
+ font-size: 14px;
819
+ color: var(--text);
820
+ margin-bottom: 2px;
821
+ }
822
+ .guide-direction span {
823
+ font-size: 13px;
824
+ color: var(--text-dim);
825
+ line-height: 1.5;
826
+ }
827
+
828
+ /* ─── Architecture Diagram ─── */
829
+ .guide-diagram {
830
+ margin: 20px 0 28px;
831
+ padding: 24px;
832
+ background: var(--bg-card);
833
+ border: 1px solid var(--border);
834
+ border-radius: var(--radius-xl);
835
+ }
836
+ .guide-diagram-row {
837
+ display: flex;
838
+ align-items: stretch;
839
+ gap: 0;
840
+ }
841
+ .guide-diagram-box {
842
+ flex: 1;
843
+ padding: 16px;
844
+ border-radius: var(--radius);
845
+ border: 1px solid;
846
+ text-align: center;
847
+ }
848
+ .guide-diagram-box-label {
849
+ font-size: 9px;
850
+ font-weight: 700;
851
+ text-transform: uppercase;
852
+ letter-spacing: 1.5px;
853
+ margin-bottom: 6px;
854
+ opacity: 0.7;
855
+ }
856
+ .guide-diagram-box-title {
857
+ font-size: 13px;
858
+ font-weight: 700;
859
+ margin-bottom: 4px;
860
+ }
861
+ .guide-diagram-box-desc {
862
+ font-size: 11px;
863
+ opacity: 0.7;
864
+ line-height: 1.4;
865
+ }
866
+ .guide-diagram-input {
867
+ background: var(--blue-light); border-color: var(--blue-border); color: var(--blue);
868
+ }
869
+ .guide-diagram-process {
870
+ background: var(--purple-light); border-color: var(--purple-border); color: var(--purple);
871
+ }
872
+ .guide-diagram-judge {
873
+ background: var(--green-light); border-color: var(--green-border); color: var(--green);
874
+ }
875
+ .guide-diagram-check {
876
+ background: var(--yellow-light); border-color: var(--yellow-border); color: var(--yellow);
877
+ }
878
+ .guide-diagram-output {
879
+ background: linear-gradient(135deg, var(--blue-light), var(--purple-light));
880
+ border-color: var(--blue-border); color: var(--blue);
881
+ }
882
+ .guide-diagram-arrow {
883
+ display: flex;
884
+ align-items: center;
885
+ justify-content: center;
886
+ width: 36px;
887
+ font-size: 18px;
888
+ color: var(--text-muted);
889
+ flex-shrink: 0;
890
+ }
891
+ .guide-diagram-arrow-down {
892
+ font-size: 18px;
893
+ color: var(--text-muted);
894
+ padding: 8px 0;
895
+ }
896
+
897
+ /* ─── Hierarchy Diagram ─── */
898
+ .guide-hierarchy {
899
+ margin: 20px 0 28px;
900
+ }
901
+ .guide-hierarchy-level {
902
+ padding: 18px 24px;
903
+ border-radius: var(--radius-lg);
904
+ border: 1px solid;
905
+ }
906
+ .guide-hierarchy-label {
907
+ font-size: 11px;
908
+ font-weight: 700;
909
+ text-transform: uppercase;
910
+ letter-spacing: 1px;
911
+ margin-bottom: 4px;
912
+ }
913
+ .guide-hierarchy-desc {
914
+ font-size: 13px;
915
+ margin-bottom: 6px;
916
+ }
917
+ .guide-hierarchy-examples {
918
+ font-size: 11px;
919
+ font-family: var(--font-mono);
920
+ opacity: 0.7;
921
+ }
922
+ .guide-hierarchy-system {
923
+ background: linear-gradient(135deg, #faf5ff, #f3e8ff);
924
+ border-color: var(--purple-border);
925
+ color: var(--purple);
926
+ }
927
+ .guide-hierarchy-domain {
928
+ background: linear-gradient(135deg, #eff6ff, #dbeafe);
929
+ border-color: var(--blue-border);
930
+ color: var(--blue);
931
+ }
932
+ .guide-hierarchy-project {
933
+ background: linear-gradient(135deg, #ecfdf5, #d1fae5);
934
+ border-color: var(--green-border);
935
+ color: var(--green);
936
+ }
937
+ .guide-hierarchy-connector {
938
+ display: flex;
939
+ justify-content: center;
940
+ gap: 40px;
941
+ padding: 6px 0;
942
+ font-size: 11px;
943
+ color: var(--text-muted);
944
+ font-weight: 500;
945
+ }
946
+
947
+ /* ─── Evolution Pipeline ─── */
948
+ .guide-pipeline {
949
+ margin: 16px 0;
950
+ }
951
+ .guide-pipeline-step {
952
+ display: flex;
953
+ align-items: flex-start;
954
+ gap: 14px;
955
+ padding: 14px 0;
956
+ }
957
+ .guide-pipeline-icon {
958
+ width: 32px;
959
+ height: 32px;
960
+ border-radius: 10px;
961
+ display: flex;
962
+ align-items: center;
963
+ justify-content: center;
964
+ font-size: 14px;
965
+ font-weight: 800;
966
+ flex-shrink: 0;
967
+ }
968
+ .guide-pipeline-connector {
969
+ width: 2px;
970
+ height: 16px;
971
+ background: var(--border);
972
+ margin-left: 15px;
973
+ }
974
+
975
+ /* ─── Judge Cards ─── */
976
+ .guide-judges-grid {
977
+ display: grid;
978
+ grid-template-columns: repeat(3, 1fr);
979
+ gap: 12px;
980
+ margin: 16px 0;
981
+ }
982
+ .guide-judge-card {
983
+ background: var(--bg-card);
984
+ border: 1px solid var(--border);
985
+ border-top: 3px solid;
986
+ border-radius: var(--radius-lg);
987
+ padding: 20px;
988
+ }
989
+ .guide-judge-header {
990
+ display: flex;
991
+ align-items: center;
992
+ gap: 12px;
993
+ margin-bottom: 12px;
994
+ }
995
+ .guide-judge-icon {
996
+ width: 36px;
997
+ height: 36px;
998
+ border-radius: 10px;
999
+ display: flex;
1000
+ align-items: center;
1001
+ justify-content: center;
1002
+ font-size: 16px;
1003
+ font-weight: 800;
1004
+ flex-shrink: 0;
1005
+ }
1006
+ .guide-judge-name {
1007
+ font-size: 14px;
1008
+ font-weight: 700;
1009
+ color: var(--text);
1010
+ }
1011
+ .guide-judge-role {
1012
+ font-size: 11px;
1013
+ color: var(--text-dim);
1014
+ margin-top: 1px;
1015
+ }
1016
+
1017
+ /* ─── Dimension Cards ─── */
1018
+ .guide-dimension-card {
1019
+ padding: 14px 18px;
1020
+ background: var(--bg-card);
1021
+ border: 1px solid var(--border);
1022
+ border-left: 3px solid;
1023
+ border-radius: var(--radius);
1024
+ }
1025
+
1026
+ /* ─── Edge Grid ─── */
1027
+ .guide-edge-grid {
1028
+ display: flex;
1029
+ flex-direction: column;
1030
+ gap: 6px;
1031
+ margin: 12px 0 20px;
1032
+ }
1033
+ .guide-edge-card {
1034
+ display: flex;
1035
+ align-items: center;
1036
+ gap: 16px;
1037
+ padding: 10px 16px;
1038
+ background: var(--bg-card);
1039
+ border: 1px solid var(--border);
1040
+ border-radius: var(--radius);
1041
+ }
1042
+ .guide-edge-type {
1043
+ font-family: var(--font-mono);
1044
+ font-size: 12px;
1045
+ font-weight: 700;
1046
+ width: 100px;
1047
+ flex-shrink: 0;
1048
+ }
1049
+ .guide-edge-desc {
1050
+ font-size: 13px;
1051
+ color: var(--text-dim);
1052
+ }
1053
+
1054
+ /* ─── Command Grid ─── */
1055
+ .guide-command-grid {
1056
+ display: flex;
1057
+ flex-direction: column;
1058
+ gap: 8px;
1059
+ margin-bottom: 20px;
1060
+ }
1061
+ .guide-command-card {
1062
+ padding: 16px 20px;
1063
+ background: var(--bg-card);
1064
+ border: 1px solid var(--border);
1065
+ border-radius: var(--radius);
1066
+ transition: all 0.15s ease;
1067
+ }
1068
+ .guide-command-card:hover {
1069
+ border-color: var(--border-focus);
1070
+ box-shadow: var(--shadow-sm);
1071
+ }
1072
+ .guide-command-name {
1073
+ font-family: var(--font-mono);
1074
+ font-size: 13px;
1075
+ font-weight: 600;
1076
+ color: var(--purple);
1077
+ background: var(--purple-light);
1078
+ padding: 3px 10px;
1079
+ border-radius: 6px;
1080
+ }
1081
+ .guide-command-desc {
1082
+ font-size: 13px;
1083
+ color: var(--text-secondary);
1084
+ margin-top: 8px;
1085
+ line-height: 1.6;
1086
+ }
1087
+ .guide-command-flags {
1088
+ display: flex;
1089
+ gap: 6px;
1090
+ margin-top: 10px;
1091
+ flex-wrap: wrap;
1092
+ }
1093
+ .guide-command-flag {
1094
+ font-size: 11px;
1095
+ font-family: var(--font-mono);
1096
+ background: var(--bg-section);
1097
+ color: var(--text-dim);
1098
+ padding: 2px 8px;
1099
+ border-radius: 4px;
1100
+ border: 1px solid var(--border-subtle);
1101
+ }
1102
+
1103
+ /* ─── Config Params ─── */
1104
+ .guide-params {
1105
+ margin: 8px 0 20px;
1106
+ border: 1px solid var(--border);
1107
+ border-radius: var(--radius-lg);
1108
+ overflow: hidden;
1109
+ }
1110
+ .guide-param-row {
1111
+ padding: 10px 18px;
1112
+ border-bottom: 1px solid var(--border-subtle);
1113
+ }
1114
+ .guide-param-row:last-child { border-bottom: none; }
1115
+ .guide-param-row:hover { background: var(--bg-hover); }
1116
+ .guide-param-name {
1117
+ font-family: var(--font-mono);
1118
+ font-size: 12px;
1119
+ font-weight: 600;
1120
+ color: var(--purple);
1121
+ background: var(--purple-light);
1122
+ padding: 1px 6px;
1123
+ border-radius: 4px;
1124
+ }
1125
+ .guide-param-type {
1126
+ font-size: 10px;
1127
+ font-weight: 600;
1128
+ color: var(--text-muted);
1129
+ background: var(--bg-section);
1130
+ padding: 1px 6px;
1131
+ border-radius: 4px;
1132
+ font-family: var(--font-mono);
1133
+ }
1134
+ .guide-param-desc {
1135
+ font-size: 12px;
1136
+ color: var(--text-dim);
1137
+ margin-top: 4px;
1138
+ line-height: 1.5;
1139
+ }
1140
+
1141
+ /* ─── Data Cards ─── */
1142
+ .guide-data-card {
1143
+ background: var(--bg-card);
1144
+ border: 1px solid var(--border);
1145
+ border-radius: var(--radius-lg);
1146
+ overflow: hidden;
1147
+ }
1148
+ .guide-data-title {
1149
+ font-size: 11px;
1150
+ font-weight: 700;
1151
+ color: var(--text-muted);
1152
+ text-transform: uppercase;
1153
+ letter-spacing: 1px;
1154
+ padding: 12px 16px 0;
1155
+ }
1156
+
1157
+ /* ─── FAQ ─── */
1158
+ .guide-faq-item {
1159
+ border: 1px solid var(--border);
1160
+ border-radius: var(--radius);
1161
+ margin-bottom: 6px;
1162
+ cursor: pointer;
1163
+ transition: all 0.15s ease;
1164
+ overflow: hidden;
1165
+ }
1166
+ .guide-faq-item:hover {
1167
+ border-color: var(--border-focus);
1168
+ }
1169
+ .guide-faq-item.open {
1170
+ border-color: var(--purple-border);
1171
+ box-shadow: 0 0 0 1px var(--purple-light);
1172
+ }
1173
+ .guide-faq-question {
1174
+ display: flex;
1175
+ justify-content: space-between;
1176
+ align-items: center;
1177
+ padding: 14px 18px;
1178
+ font-size: 14px;
1179
+ font-weight: 600;
1180
+ color: var(--text);
1181
+ }
1182
+ .guide-faq-toggle {
1183
+ font-size: 18px;
1184
+ color: var(--text-muted);
1185
+ width: 24px;
1186
+ text-align: center;
1187
+ font-weight: 400;
1188
+ }
1189
+ .guide-faq-answer {
1190
+ padding: 0 18px 16px;
1191
+ font-size: 13px;
1192
+ color: var(--text-secondary);
1193
+ line-height: 1.7;
1194
+ animation: fadeIn 0.2s ease;
1195
+ }
1196
+
1197
+ @keyframes fadeIn {
1198
+ from { opacity: 0; transform: translateY(-4px); }
1199
+ to { opacity: 1; transform: translateY(0); }
1200
+ }
1201
+
1202
+ /* ─── Footer ─── */
1203
+ .guide-footer {
1204
+ margin-top: 48px;
1205
+ padding-top: 24px;
1206
+ border-top: 1px solid var(--border);
1207
+ }
1208
+ .guide-footer-content {
1209
+ text-align: center;
1210
+ padding: 20px 0;
1211
+ }