helixevo 0.2.18 → 0.2.20
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.
- package/dashboard/app/globals.css +236 -253
- package/dashboard/app/layout.tsx +5 -5
- package/dashboard/app/network/client.tsx +6 -29
- package/package.json +1 -1
|
@@ -1,48 +1,60 @@
|
|
|
1
|
+
/* ════════════════════════════════════════════════════════════════
|
|
2
|
+
HelixEvo Dashboard — Premium Warm Theme
|
|
3
|
+
Inspired by modern fintech/data platforms
|
|
4
|
+
════════════════════════════════════════════════════════════════ */
|
|
5
|
+
|
|
1
6
|
:root {
|
|
2
|
-
|
|
7
|
+
/* ─── Backgrounds (warm palette) ─── */
|
|
8
|
+
--bg: #f4f2ee;
|
|
3
9
|
--bg-card: #ffffff;
|
|
4
|
-
--bg-section: #
|
|
5
|
-
--bg-hover: #
|
|
6
|
-
--bg-input: #
|
|
7
|
-
--bg-sidebar: #
|
|
10
|
+
--bg-section: #eceae5;
|
|
11
|
+
--bg-hover: #e6e3dd;
|
|
12
|
+
--bg-input: #f4f2ee;
|
|
13
|
+
--bg-sidebar: #f9f8f5;
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
--border
|
|
11
|
-
--border-
|
|
12
|
-
--
|
|
13
|
-
--shadow-
|
|
14
|
-
--shadow-
|
|
15
|
-
--shadow-
|
|
15
|
+
/* ─── Borders & Elevation ─── */
|
|
16
|
+
--border: #ddd9d1;
|
|
17
|
+
--border-focus: #c5c0b6;
|
|
18
|
+
--border-subtle: #e8e5de;
|
|
19
|
+
--shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
|
|
20
|
+
--shadow-md: 0 2px 8px rgba(0,0,0,0.06), 0 0 1px rgba(0,0,0,0.03);
|
|
21
|
+
--shadow-lg: 0 8px 24px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.03);
|
|
22
|
+
--shadow-xl: 0 16px 48px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.04);
|
|
16
23
|
|
|
17
|
-
|
|
18
|
-
--text
|
|
19
|
-
--text-
|
|
20
|
-
--text-
|
|
24
|
+
/* ─── Typography ─── */
|
|
25
|
+
--text: #1a1a17;
|
|
26
|
+
--text-secondary: #3d3d36;
|
|
27
|
+
--text-dim: #6b6b60;
|
|
28
|
+
--text-muted: #9c9c90;
|
|
21
29
|
|
|
22
|
-
|
|
30
|
+
/* ─── Accent Colors ─── */
|
|
31
|
+
--purple: #6d28d9;
|
|
23
32
|
--purple-light: #f3eefe;
|
|
24
|
-
--purple-border: #
|
|
25
|
-
--green: #
|
|
26
|
-
--green-light: #
|
|
27
|
-
--green-border: #
|
|
28
|
-
--red: #
|
|
29
|
-
--red-light: #
|
|
30
|
-
--red-border: #
|
|
31
|
-
--yellow: #
|
|
32
|
-
--yellow-light: #
|
|
33
|
-
--yellow-border: #
|
|
33
|
+
--purple-border: #c4b5fd;
|
|
34
|
+
--green: #0d7c5f;
|
|
35
|
+
--green-light: #ecf7f3;
|
|
36
|
+
--green-border: #a7d8c8;
|
|
37
|
+
--red: #c0392b;
|
|
38
|
+
--red-light: #fdf0ee;
|
|
39
|
+
--red-border: #e8a89e;
|
|
40
|
+
--yellow: #b8860b;
|
|
41
|
+
--yellow-light: #fdf6e3;
|
|
42
|
+
--yellow-border: #e0cc8a;
|
|
34
43
|
--blue: #2563eb;
|
|
35
44
|
--blue-light: #eff6ff;
|
|
36
45
|
--blue-border: #bfdbfe;
|
|
46
|
+
--teal: #0d7c5f;
|
|
47
|
+
--teal-light: #e8f5f0;
|
|
37
48
|
|
|
49
|
+
/* ─── Radius & Type ─── */
|
|
38
50
|
--radius: 8px;
|
|
39
51
|
--radius-lg: 12px;
|
|
40
52
|
--radius-xl: 16px;
|
|
41
|
-
|
|
42
|
-
--font:
|
|
43
|
-
--font-mono: 'SF Mono', 'Fira Code', 'JetBrains Mono', monospace;
|
|
53
|
+
--font: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
|
|
54
|
+
--font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
|
|
44
55
|
}
|
|
45
56
|
|
|
57
|
+
/* ─── Reset ─── */
|
|
46
58
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
47
59
|
|
|
48
60
|
body {
|
|
@@ -50,24 +62,29 @@ body {
|
|
|
50
62
|
color: var(--text);
|
|
51
63
|
font-family: var(--font);
|
|
52
64
|
-webkit-font-smoothing: antialiased;
|
|
65
|
+
-moz-osx-font-smoothing: grayscale;
|
|
53
66
|
font-size: 14px;
|
|
54
67
|
line-height: 1.6;
|
|
68
|
+
font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
|
|
55
69
|
}
|
|
56
70
|
|
|
57
|
-
::selection { background: var(--
|
|
58
|
-
a { color: var(--
|
|
59
|
-
a:hover { text-decoration:
|
|
71
|
+
::selection { background: var(--teal-light); color: var(--teal); }
|
|
72
|
+
a { color: var(--teal); text-decoration: none; transition: color 0.15s; }
|
|
73
|
+
a:hover { color: #0a6149; text-decoration: none; }
|
|
60
74
|
|
|
61
75
|
code {
|
|
62
76
|
font-family: var(--font-mono);
|
|
63
77
|
font-size: 12px;
|
|
64
|
-
padding: 2px
|
|
78
|
+
padding: 2px 7px;
|
|
65
79
|
background: var(--bg-section);
|
|
66
|
-
border-radius:
|
|
80
|
+
border-radius: 5px;
|
|
67
81
|
color: var(--text-secondary);
|
|
82
|
+
font-feature-settings: normal;
|
|
68
83
|
}
|
|
69
84
|
|
|
70
|
-
/*
|
|
85
|
+
/* ════════════════════════════════════════════════════════════════
|
|
86
|
+
SIDEBAR — Warm, light, refined
|
|
87
|
+
════════════════════════════════════════════════════════════════ */
|
|
71
88
|
.sidebar {
|
|
72
89
|
width: 220px;
|
|
73
90
|
background: var(--bg-sidebar);
|
|
@@ -85,33 +102,34 @@ code {
|
|
|
85
102
|
.sidebar-logo {
|
|
86
103
|
display: flex;
|
|
87
104
|
align-items: center;
|
|
88
|
-
gap:
|
|
89
|
-
padding:
|
|
105
|
+
gap: 11px;
|
|
106
|
+
padding: 22px 18px 18px;
|
|
90
107
|
border-bottom: 1px solid var(--border);
|
|
91
108
|
}
|
|
92
109
|
|
|
93
110
|
.logo-icon {
|
|
94
|
-
width:
|
|
95
|
-
height:
|
|
111
|
+
width: 34px;
|
|
112
|
+
height: 34px;
|
|
96
113
|
border-radius: 10px;
|
|
97
|
-
background: linear-gradient(135deg, #
|
|
114
|
+
background: linear-gradient(135deg, #0d7c5f, #2563eb);
|
|
98
115
|
display: flex;
|
|
99
116
|
align-items: center;
|
|
100
117
|
justify-content: center;
|
|
101
118
|
color: #fff;
|
|
102
119
|
flex-shrink: 0;
|
|
120
|
+
box-shadow: 0 2px 10px rgba(13,124,95,0.25);
|
|
103
121
|
}
|
|
104
122
|
|
|
105
123
|
.nav-item {
|
|
106
124
|
display: flex;
|
|
107
125
|
align-items: center;
|
|
108
126
|
gap: 10px;
|
|
109
|
-
padding: 9px
|
|
127
|
+
padding: 9px 14px;
|
|
110
128
|
border-radius: 8px;
|
|
111
129
|
color: var(--text-dim);
|
|
112
130
|
font-size: 13px;
|
|
113
131
|
font-weight: 500;
|
|
114
|
-
margin
|
|
132
|
+
margin: 1px 6px;
|
|
115
133
|
text-decoration: none;
|
|
116
134
|
transition: all 0.15s ease;
|
|
117
135
|
}
|
|
@@ -133,40 +151,45 @@ code {
|
|
|
133
151
|
|
|
134
152
|
.main-content {
|
|
135
153
|
flex: 1;
|
|
136
|
-
padding:
|
|
137
|
-
max-width:
|
|
154
|
+
padding: 36px 44px;
|
|
155
|
+
max-width: 1320px;
|
|
138
156
|
min-height: 100vh;
|
|
139
157
|
}
|
|
140
158
|
|
|
141
|
-
/*
|
|
159
|
+
/* ════════════════════════════════════════════════════════════════
|
|
160
|
+
PAGE HEADERS
|
|
161
|
+
════════════════════════════════════════════════════════════════ */
|
|
142
162
|
.page-header { margin-bottom: 28px; }
|
|
143
163
|
.page-title {
|
|
144
|
-
font-size:
|
|
145
|
-
font-weight:
|
|
146
|
-
letter-spacing: -0.
|
|
164
|
+
font-size: 26px;
|
|
165
|
+
font-weight: 800;
|
|
166
|
+
letter-spacing: -0.6px;
|
|
147
167
|
color: var(--text);
|
|
148
|
-
line-height: 1.
|
|
168
|
+
line-height: 1.15;
|
|
149
169
|
}
|
|
150
170
|
.page-desc {
|
|
151
|
-
font-size:
|
|
171
|
+
font-size: 14px;
|
|
152
172
|
color: var(--text-dim);
|
|
153
173
|
margin-top: 6px;
|
|
154
174
|
line-height: 1.5;
|
|
175
|
+
font-weight: 400;
|
|
155
176
|
}
|
|
156
177
|
|
|
157
|
-
/*
|
|
178
|
+
/* ════════════════════════════════════════════════════════════════
|
|
179
|
+
CARDS
|
|
180
|
+
════════════════════════════════════════════════════════════════ */
|
|
158
181
|
.card {
|
|
159
182
|
background: var(--bg-card);
|
|
160
183
|
border: 1px solid var(--border);
|
|
161
184
|
border-radius: var(--radius-lg);
|
|
162
185
|
box-shadow: var(--shadow-sm);
|
|
163
|
-
transition: box-shadow 0.
|
|
186
|
+
transition: box-shadow 0.25s ease, border-color 0.25s ease;
|
|
164
187
|
}
|
|
165
188
|
.card:hover {
|
|
166
189
|
box-shadow: var(--shadow-md);
|
|
167
190
|
border-color: var(--border-focus);
|
|
168
191
|
}
|
|
169
|
-
.card-body { padding:
|
|
192
|
+
.card-body { padding: 22px; }
|
|
170
193
|
|
|
171
194
|
.card-header-label {
|
|
172
195
|
font-size: 10px;
|
|
@@ -174,10 +197,12 @@ code {
|
|
|
174
197
|
color: var(--text-muted);
|
|
175
198
|
text-transform: uppercase;
|
|
176
199
|
letter-spacing: 1.5px;
|
|
177
|
-
margin-bottom:
|
|
200
|
+
margin-bottom: 16px;
|
|
178
201
|
}
|
|
179
202
|
|
|
180
|
-
/*
|
|
203
|
+
/* ════════════════════════════════════════════════════════════════
|
|
204
|
+
BADGES
|
|
205
|
+
════════════════════════════════════════════════════════════════ */
|
|
181
206
|
.badge {
|
|
182
207
|
display: inline-flex;
|
|
183
208
|
align-items: center;
|
|
@@ -185,7 +210,7 @@ code {
|
|
|
185
210
|
font-size: 10px;
|
|
186
211
|
font-weight: 600;
|
|
187
212
|
padding: 2px 8px;
|
|
188
|
-
border-radius:
|
|
213
|
+
border-radius: 5px;
|
|
189
214
|
white-space: nowrap;
|
|
190
215
|
letter-spacing: 0.2px;
|
|
191
216
|
}
|
|
@@ -196,32 +221,38 @@ code {
|
|
|
196
221
|
.badge-blue { background: var(--blue-light); color: var(--blue); }
|
|
197
222
|
.badge-gray { background: var(--bg-section); color: var(--text-dim); }
|
|
198
223
|
|
|
199
|
-
/*
|
|
224
|
+
/* ════════════════════════════════════════════════════════════════
|
|
225
|
+
SCORE BARS
|
|
226
|
+
════════════════════════════════════════════════════════════════ */
|
|
200
227
|
.score-track {
|
|
201
|
-
height:
|
|
228
|
+
height: 5px;
|
|
202
229
|
background: var(--bg-section);
|
|
203
|
-
border-radius:
|
|
230
|
+
border-radius: 3px;
|
|
204
231
|
overflow: hidden;
|
|
205
232
|
flex: 1;
|
|
206
233
|
}
|
|
207
234
|
.score-fill {
|
|
208
235
|
height: 100%;
|
|
209
|
-
border-radius:
|
|
210
|
-
transition: width 0.
|
|
236
|
+
border-radius: 3px;
|
|
237
|
+
transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
|
211
238
|
}
|
|
212
239
|
|
|
213
|
-
/*
|
|
240
|
+
/* ════════════════════════════════════════════════════════════════
|
|
241
|
+
STATS
|
|
242
|
+
════════════════════════════════════════════════════════════════ */
|
|
214
243
|
.stat-value {
|
|
215
|
-
font-size:
|
|
244
|
+
font-size: 32px;
|
|
216
245
|
font-weight: 800;
|
|
217
246
|
line-height: 1;
|
|
218
|
-
letter-spacing: -
|
|
247
|
+
letter-spacing: -1px;
|
|
248
|
+
font-variant-numeric: tabular-nums;
|
|
219
249
|
}
|
|
220
250
|
.stat-label {
|
|
221
251
|
font-size: 11px;
|
|
222
252
|
color: var(--text-dim);
|
|
223
|
-
margin-top:
|
|
253
|
+
margin-top: 6px;
|
|
224
254
|
font-weight: 500;
|
|
255
|
+
letter-spacing: 0.1px;
|
|
225
256
|
}
|
|
226
257
|
|
|
227
258
|
.section-label {
|
|
@@ -236,7 +267,9 @@ code {
|
|
|
236
267
|
gap: 8px;
|
|
237
268
|
}
|
|
238
269
|
|
|
239
|
-
/*
|
|
270
|
+
/* ════════════════════════════════════════════════════════════════
|
|
271
|
+
TAB BAR
|
|
272
|
+
════════════════════════════════════════════════════════════════ */
|
|
240
273
|
.tab-bar {
|
|
241
274
|
display: inline-flex;
|
|
242
275
|
background: var(--bg-section);
|
|
@@ -246,7 +279,7 @@ code {
|
|
|
246
279
|
margin-bottom: 24px;
|
|
247
280
|
}
|
|
248
281
|
.tab-item {
|
|
249
|
-
padding: 7px
|
|
282
|
+
padding: 7px 18px;
|
|
250
283
|
border-radius: 8px;
|
|
251
284
|
font-size: 13px;
|
|
252
285
|
font-weight: 500;
|
|
@@ -260,7 +293,7 @@ code {
|
|
|
260
293
|
}
|
|
261
294
|
.tab-item:hover {
|
|
262
295
|
color: var(--text-secondary);
|
|
263
|
-
background: rgba(255,255,255,0.
|
|
296
|
+
background: rgba(255,255,255,0.6);
|
|
264
297
|
}
|
|
265
298
|
.tab-item.active {
|
|
266
299
|
background: var(--bg-card);
|
|
@@ -269,18 +302,20 @@ code {
|
|
|
269
302
|
box-shadow: var(--shadow-sm);
|
|
270
303
|
}
|
|
271
304
|
|
|
272
|
-
/*
|
|
305
|
+
/* ════════════════════════════════════════════════════════════════
|
|
306
|
+
LAYER SECTIONS (Network page)
|
|
307
|
+
════════════════════════════════════════════════════════════════ */
|
|
273
308
|
.layer-section {
|
|
274
309
|
border-radius: var(--radius-xl);
|
|
275
|
-
padding:
|
|
310
|
+
padding: 22px;
|
|
276
311
|
margin-bottom: 16px;
|
|
277
312
|
}
|
|
278
313
|
.layer-generalized {
|
|
279
|
-
background: linear-gradient(135deg, #faf5ff, #
|
|
314
|
+
background: linear-gradient(135deg, #faf5ff, #ede9fe);
|
|
280
315
|
border: 1px solid var(--purple-border);
|
|
281
316
|
}
|
|
282
317
|
.layer-evolved {
|
|
283
|
-
background: linear-gradient(135deg, #
|
|
318
|
+
background: linear-gradient(135deg, #ecf7f3, #d1f0e5);
|
|
284
319
|
border: 1px solid var(--green-border);
|
|
285
320
|
}
|
|
286
321
|
.layer-original {
|
|
@@ -288,11 +323,13 @@ code {
|
|
|
288
323
|
border: 1px solid var(--border);
|
|
289
324
|
}
|
|
290
325
|
.layer-project {
|
|
291
|
-
background: linear-gradient(135deg, #
|
|
326
|
+
background: linear-gradient(135deg, #fdf6e3, #faefc7);
|
|
292
327
|
border: 1px solid var(--yellow-border);
|
|
293
328
|
}
|
|
294
329
|
|
|
295
|
-
/*
|
|
330
|
+
/* ════════════════════════════════════════════════════════════════
|
|
331
|
+
SKILL CARDS
|
|
332
|
+
════════════════════════════════════════════════════════════════ */
|
|
296
333
|
.skill-card {
|
|
297
334
|
background: var(--bg-card);
|
|
298
335
|
border: 1px solid var(--border);
|
|
@@ -308,11 +345,11 @@ code {
|
|
|
308
345
|
transform: translateY(-1px);
|
|
309
346
|
}
|
|
310
347
|
.skill-card.selected {
|
|
311
|
-
border-color: var(--
|
|
312
|
-
box-shadow: 0 0 0 2px var(--
|
|
348
|
+
border-color: var(--teal);
|
|
349
|
+
box-shadow: 0 0 0 2px var(--teal-light), var(--shadow-md);
|
|
313
350
|
}
|
|
314
351
|
|
|
315
|
-
/* ─── Flow
|
|
352
|
+
/* ─── Flow Labels ─── */
|
|
316
353
|
.flow-label {
|
|
317
354
|
font-size: 10px;
|
|
318
355
|
font-weight: 500;
|
|
@@ -331,39 +368,41 @@ code {
|
|
|
331
368
|
letter-spacing: 0.5px;
|
|
332
369
|
}
|
|
333
370
|
|
|
334
|
-
/*
|
|
371
|
+
/* ════════════════════════════════════════════════════════════════
|
|
372
|
+
TIMELINE
|
|
373
|
+
════════════════════════════════════════════════════════════════ */
|
|
335
374
|
.timeline-item {
|
|
336
375
|
position: relative;
|
|
337
|
-
padding-left:
|
|
338
|
-
padding-bottom:
|
|
376
|
+
padding-left: 24px;
|
|
377
|
+
padding-bottom: 18px;
|
|
339
378
|
border-left: 2px solid var(--border);
|
|
340
|
-
margin-left:
|
|
379
|
+
margin-left: 6px;
|
|
341
380
|
}
|
|
342
381
|
.timeline-item:last-child { border-left-color: transparent; }
|
|
343
382
|
.timeline-dot {
|
|
344
383
|
position: absolute;
|
|
345
|
-
left: -
|
|
384
|
+
left: -7px;
|
|
346
385
|
top: 3px;
|
|
347
|
-
width:
|
|
348
|
-
height:
|
|
386
|
+
width: 12px;
|
|
387
|
+
height: 12px;
|
|
349
388
|
border-radius: 50%;
|
|
350
389
|
border: 2px solid var(--bg);
|
|
390
|
+
box-shadow: 0 0 0 2px var(--border);
|
|
351
391
|
}
|
|
352
392
|
|
|
353
|
-
/* ─── Detail Panel ─── */
|
|
354
393
|
.detail-panel {
|
|
355
394
|
background: var(--bg-card);
|
|
356
395
|
border-left: 1px solid var(--border);
|
|
357
|
-
box-shadow: -4px 0
|
|
358
|
-
width:
|
|
396
|
+
box-shadow: -4px 0 24px rgba(0,0,0,0.06);
|
|
397
|
+
width: 420px;
|
|
359
398
|
height: 100%;
|
|
360
399
|
overflow-y: auto;
|
|
361
|
-
padding:
|
|
362
|
-
animation: slideIn 0.
|
|
400
|
+
padding: 28px;
|
|
401
|
+
animation: slideIn 0.25s ease;
|
|
363
402
|
}
|
|
364
403
|
|
|
365
404
|
@keyframes slideIn {
|
|
366
|
-
from { transform: translateX(
|
|
405
|
+
from { transform: translateX(24px); opacity: 0; }
|
|
367
406
|
to { transform: translateX(0); opacity: 1; }
|
|
368
407
|
}
|
|
369
408
|
|
|
@@ -373,46 +412,46 @@ code {
|
|
|
373
412
|
flex-direction: column;
|
|
374
413
|
align-items: center;
|
|
375
414
|
justify-content: center;
|
|
376
|
-
padding:
|
|
415
|
+
padding: 56px 24px;
|
|
377
416
|
text-align: center;
|
|
378
417
|
}
|
|
379
418
|
.empty-state-icon {
|
|
380
|
-
width:
|
|
381
|
-
height:
|
|
382
|
-
border-radius:
|
|
419
|
+
width: 52px;
|
|
420
|
+
height: 52px;
|
|
421
|
+
border-radius: 14px;
|
|
383
422
|
background: var(--bg-section);
|
|
384
423
|
display: flex;
|
|
385
424
|
align-items: center;
|
|
386
425
|
justify-content: center;
|
|
387
|
-
margin-bottom:
|
|
426
|
+
margin-bottom: 16px;
|
|
388
427
|
color: var(--text-muted);
|
|
389
428
|
}
|
|
390
429
|
.empty-state-title {
|
|
391
|
-
font-size:
|
|
392
|
-
font-weight:
|
|
430
|
+
font-size: 16px;
|
|
431
|
+
font-weight: 700;
|
|
393
432
|
color: var(--text);
|
|
394
|
-
margin-bottom:
|
|
433
|
+
margin-bottom: 6px;
|
|
395
434
|
}
|
|
396
435
|
.empty-state-desc {
|
|
397
436
|
font-size: 13px;
|
|
398
437
|
color: var(--text-dim);
|
|
399
438
|
max-width: 360px;
|
|
400
|
-
line-height: 1.
|
|
439
|
+
line-height: 1.55;
|
|
401
440
|
}
|
|
402
441
|
|
|
403
|
-
/*
|
|
442
|
+
/* ═══ Stat Cards ═══ */
|
|
404
443
|
.stat-grid {
|
|
405
444
|
display: grid;
|
|
406
|
-
gap:
|
|
445
|
+
gap: 14px;
|
|
407
446
|
margin-bottom: 28px;
|
|
408
447
|
}
|
|
409
448
|
.stat-card {
|
|
410
449
|
background: var(--bg-card);
|
|
411
450
|
border: 1px solid var(--border);
|
|
412
451
|
border-radius: var(--radius-lg);
|
|
413
|
-
padding:
|
|
452
|
+
padding: 20px 22px;
|
|
414
453
|
box-shadow: var(--shadow-sm);
|
|
415
|
-
transition: all 0.
|
|
454
|
+
transition: all 0.25s ease;
|
|
416
455
|
}
|
|
417
456
|
.stat-card:hover {
|
|
418
457
|
box-shadow: var(--shadow-md);
|
|
@@ -420,7 +459,7 @@ code {
|
|
|
420
459
|
}
|
|
421
460
|
|
|
422
461
|
/* ─── React Flow Overrides ─── */
|
|
423
|
-
.react-flow__background { opacity: 0.
|
|
462
|
+
.react-flow__background { opacity: 0.3; }
|
|
424
463
|
.react-flow__controls {
|
|
425
464
|
box-shadow: var(--shadow-md) !important;
|
|
426
465
|
border: 1px solid var(--border) !important;
|
|
@@ -435,7 +474,6 @@ code {
|
|
|
435
474
|
background: var(--bg-hover) !important;
|
|
436
475
|
}
|
|
437
476
|
|
|
438
|
-
/* ─── View Toggle (for Graph sub-view) ─── */
|
|
439
477
|
.view-header {
|
|
440
478
|
display: flex;
|
|
441
479
|
justify-content: space-between;
|
|
@@ -454,26 +492,26 @@ code {
|
|
|
454
492
|
gap: 6px;
|
|
455
493
|
font-size: 12px;
|
|
456
494
|
color: var(--text-dim);
|
|
457
|
-
padding:
|
|
495
|
+
padding: 5px 12px;
|
|
458
496
|
background: var(--bg-section);
|
|
459
497
|
border-radius: 6px;
|
|
498
|
+
font-weight: 500;
|
|
460
499
|
}
|
|
461
500
|
|
|
462
|
-
/*
|
|
501
|
+
/* ═══ Proposal Card ═══ */
|
|
463
502
|
.proposal-card {
|
|
464
503
|
background: var(--bg-card);
|
|
465
504
|
border: 1px solid var(--border);
|
|
466
505
|
border-radius: var(--radius-lg);
|
|
467
506
|
overflow: hidden;
|
|
468
|
-
margin-bottom:
|
|
469
|
-
transition: all 0.
|
|
507
|
+
margin-bottom: 10px;
|
|
508
|
+
transition: all 0.2s ease;
|
|
470
509
|
}
|
|
471
510
|
.proposal-card:hover {
|
|
472
511
|
box-shadow: var(--shadow-sm);
|
|
473
512
|
border-color: var(--border-focus);
|
|
474
513
|
}
|
|
475
514
|
|
|
476
|
-
/* ─── Score Pill ─── */
|
|
477
515
|
.score-pill {
|
|
478
516
|
display: inline-flex;
|
|
479
517
|
align-items: center;
|
|
@@ -481,29 +519,29 @@ code {
|
|
|
481
519
|
font-size: 11px;
|
|
482
520
|
font-weight: 600;
|
|
483
521
|
padding: 3px 8px;
|
|
484
|
-
border-radius:
|
|
522
|
+
border-radius: 5px;
|
|
485
523
|
background: var(--bg-section);
|
|
486
524
|
}
|
|
487
525
|
|
|
488
|
-
/*
|
|
526
|
+
/* ════════════════════════════════════════════════════════════════
|
|
527
|
+
GRID UTILITIES
|
|
528
|
+
════════════════════════════════════════════════════════════════ */
|
|
489
529
|
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
|
|
490
|
-
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap:
|
|
491
|
-
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap:
|
|
492
|
-
.grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap:
|
|
493
|
-
.grid-auto { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap:
|
|
530
|
+
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
|
|
531
|
+
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
|
|
532
|
+
.grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
|
|
533
|
+
.grid-auto { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 14px; }
|
|
494
534
|
|
|
495
535
|
/* ════════════════════════════════════════════════════════════════
|
|
496
536
|
GUIDE PAGE
|
|
497
537
|
════════════════════════════════════════════════════════════════ */
|
|
498
|
-
|
|
499
538
|
.guide-layout {
|
|
500
539
|
display: flex;
|
|
501
540
|
gap: 0;
|
|
502
|
-
margin: -
|
|
541
|
+
margin: -36px -44px;
|
|
503
542
|
min-height: 100vh;
|
|
504
543
|
}
|
|
505
544
|
|
|
506
|
-
/* ─── Sidebar TOC ─── */
|
|
507
545
|
.guide-toc {
|
|
508
546
|
width: 220px;
|
|
509
547
|
flex-shrink: 0;
|
|
@@ -540,7 +578,7 @@ code {
|
|
|
540
578
|
display: flex;
|
|
541
579
|
align-items: center;
|
|
542
580
|
gap: 8px;
|
|
543
|
-
padding:
|
|
581
|
+
padding: 8px 20px;
|
|
544
582
|
font-size: 12.5px;
|
|
545
583
|
font-weight: 500;
|
|
546
584
|
color: var(--text-dim);
|
|
@@ -554,9 +592,9 @@ code {
|
|
|
554
592
|
text-decoration: none;
|
|
555
593
|
}
|
|
556
594
|
.guide-toc-item.active {
|
|
557
|
-
color: var(--
|
|
558
|
-
border-left-color: var(--
|
|
559
|
-
background: var(--
|
|
595
|
+
color: var(--teal);
|
|
596
|
+
border-left-color: var(--teal);
|
|
597
|
+
background: var(--teal-light);
|
|
560
598
|
font-weight: 600;
|
|
561
599
|
}
|
|
562
600
|
.guide-toc-icon {
|
|
@@ -568,17 +606,15 @@ code {
|
|
|
568
606
|
}
|
|
569
607
|
.guide-toc-item.active .guide-toc-icon { opacity: 1; }
|
|
570
608
|
|
|
571
|
-
/* ─── Content area ─── */
|
|
572
609
|
.guide-content {
|
|
573
610
|
flex: 1;
|
|
574
611
|
max-width: 860px;
|
|
575
|
-
padding: 0
|
|
612
|
+
padding: 0 56px 80px;
|
|
576
613
|
margin: 0 auto;
|
|
577
614
|
}
|
|
578
615
|
|
|
579
|
-
/* ─── Hero ─── */
|
|
580
616
|
.guide-hero {
|
|
581
|
-
padding:
|
|
617
|
+
padding: 56px 0 44px;
|
|
582
618
|
border-bottom: 1px solid var(--border);
|
|
583
619
|
margin-bottom: 48px;
|
|
584
620
|
}
|
|
@@ -588,22 +624,22 @@ code {
|
|
|
588
624
|
font-weight: 700;
|
|
589
625
|
text-transform: uppercase;
|
|
590
626
|
letter-spacing: 1.5px;
|
|
591
|
-
color: var(--
|
|
592
|
-
background: var(--
|
|
593
|
-
padding: 4px
|
|
627
|
+
color: var(--teal);
|
|
628
|
+
background: var(--teal-light);
|
|
629
|
+
padding: 4px 14px;
|
|
594
630
|
border-radius: 20px;
|
|
595
|
-
margin-bottom:
|
|
631
|
+
margin-bottom: 18px;
|
|
596
632
|
}
|
|
597
633
|
.guide-hero-title {
|
|
598
|
-
font-size:
|
|
634
|
+
font-size: 40px;
|
|
599
635
|
font-weight: 800;
|
|
600
|
-
letter-spacing: -
|
|
636
|
+
letter-spacing: -1.2px;
|
|
601
637
|
color: var(--text);
|
|
602
|
-
line-height: 1.
|
|
603
|
-
margin-bottom:
|
|
638
|
+
line-height: 1.1;
|
|
639
|
+
margin-bottom: 14px;
|
|
604
640
|
}
|
|
605
641
|
.guide-hero-desc {
|
|
606
|
-
font-size:
|
|
642
|
+
font-size: 16px;
|
|
607
643
|
color: var(--text-dim);
|
|
608
644
|
line-height: 1.7;
|
|
609
645
|
max-width: 640px;
|
|
@@ -611,17 +647,16 @@ code {
|
|
|
611
647
|
.guide-hero-features {
|
|
612
648
|
display: grid;
|
|
613
649
|
grid-template-columns: repeat(4, 1fr);
|
|
614
|
-
gap:
|
|
615
|
-
margin-top:
|
|
650
|
+
gap: 14px;
|
|
651
|
+
margin-top: 36px;
|
|
616
652
|
}
|
|
617
653
|
|
|
618
|
-
/* ─── Feature Cards ─── */
|
|
619
654
|
.guide-feature-card {
|
|
620
655
|
background: var(--bg-card);
|
|
621
656
|
border: 1px solid var(--border);
|
|
622
657
|
border-radius: var(--radius-lg);
|
|
623
|
-
padding:
|
|
624
|
-
transition: all 0.
|
|
658
|
+
padding: 22px;
|
|
659
|
+
transition: all 0.25s ease;
|
|
625
660
|
}
|
|
626
661
|
.guide-feature-card:hover {
|
|
627
662
|
box-shadow: var(--shadow-md);
|
|
@@ -630,14 +665,14 @@ code {
|
|
|
630
665
|
}
|
|
631
666
|
.guide-feature-icon {
|
|
632
667
|
font-size: 20px;
|
|
633
|
-
margin-bottom:
|
|
634
|
-
width:
|
|
635
|
-
height:
|
|
668
|
+
margin-bottom: 12px;
|
|
669
|
+
width: 42px;
|
|
670
|
+
height: 42px;
|
|
636
671
|
display: flex;
|
|
637
672
|
align-items: center;
|
|
638
673
|
justify-content: center;
|
|
639
674
|
background: var(--bg-section);
|
|
640
|
-
border-radius:
|
|
675
|
+
border-radius: 11px;
|
|
641
676
|
}
|
|
642
677
|
.guide-feature-title {
|
|
643
678
|
font-size: 13px;
|
|
@@ -648,19 +683,18 @@ code {
|
|
|
648
683
|
.guide-feature-desc {
|
|
649
684
|
font-size: 12px;
|
|
650
685
|
color: var(--text-dim);
|
|
651
|
-
line-height: 1.
|
|
686
|
+
line-height: 1.55;
|
|
652
687
|
}
|
|
653
688
|
|
|
654
|
-
/* ─── Sections ─── */
|
|
655
689
|
.guide-section {
|
|
656
|
-
padding-top:
|
|
690
|
+
padding-top: 44px;
|
|
657
691
|
margin-bottom: 16px;
|
|
658
692
|
scroll-margin-top: 20px;
|
|
659
693
|
}
|
|
660
694
|
.guide-section-title {
|
|
661
|
-
font-size:
|
|
695
|
+
font-size: 24px;
|
|
662
696
|
font-weight: 800;
|
|
663
|
-
letter-spacing: -0.
|
|
697
|
+
letter-spacing: -0.6px;
|
|
664
698
|
color: var(--text);
|
|
665
699
|
margin-bottom: 4px;
|
|
666
700
|
line-height: 1.2;
|
|
@@ -669,21 +703,20 @@ code {
|
|
|
669
703
|
font-size: 14px;
|
|
670
704
|
color: var(--text-dim);
|
|
671
705
|
margin-bottom: 24px;
|
|
672
|
-
line-height: 1.
|
|
706
|
+
line-height: 1.6;
|
|
673
707
|
}
|
|
674
708
|
.guide-h3 {
|
|
675
|
-
font-size:
|
|
709
|
+
font-size: 16px;
|
|
676
710
|
font-weight: 700;
|
|
677
711
|
color: var(--text);
|
|
678
712
|
margin: 28px 0 12px;
|
|
679
|
-
letter-spacing: -0.
|
|
713
|
+
letter-spacing: -0.3px;
|
|
680
714
|
}
|
|
681
715
|
|
|
682
|
-
/* ─── Text ─── */
|
|
683
716
|
.guide-text {
|
|
684
717
|
font-size: 14px;
|
|
685
718
|
color: var(--text-secondary);
|
|
686
|
-
line-height: 1.
|
|
719
|
+
line-height: 1.8;
|
|
687
720
|
margin-bottom: 16px;
|
|
688
721
|
}
|
|
689
722
|
.guide-text-sm {
|
|
@@ -702,13 +735,10 @@ code {
|
|
|
702
735
|
line-height: 1.7;
|
|
703
736
|
margin-bottom: 6px;
|
|
704
737
|
}
|
|
705
|
-
.guide-list li strong {
|
|
706
|
-
color: var(--text);
|
|
707
|
-
}
|
|
738
|
+
.guide-list li strong { color: var(--text); }
|
|
708
739
|
|
|
709
|
-
/* ─── Code Blocks ─── */
|
|
710
740
|
.guide-code-block {
|
|
711
|
-
background: #
|
|
741
|
+
background: #1a1b26;
|
|
712
742
|
border-radius: var(--radius-lg);
|
|
713
743
|
overflow: hidden;
|
|
714
744
|
margin: 12px 0 16px;
|
|
@@ -717,7 +747,7 @@ code {
|
|
|
717
747
|
.guide-code-title {
|
|
718
748
|
font-size: 11px;
|
|
719
749
|
font-weight: 600;
|
|
720
|
-
color: #
|
|
750
|
+
color: #7a7f8d;
|
|
721
751
|
padding: 10px 16px 0;
|
|
722
752
|
letter-spacing: 0.3px;
|
|
723
753
|
font-family: var(--font-mono);
|
|
@@ -730,7 +760,7 @@ code {
|
|
|
730
760
|
font-family: var(--font-mono);
|
|
731
761
|
font-size: 12.5px;
|
|
732
762
|
line-height: 1.65;
|
|
733
|
-
color: #
|
|
763
|
+
color: #c0caf5;
|
|
734
764
|
background: none;
|
|
735
765
|
padding: 0;
|
|
736
766
|
border-radius: 0;
|
|
@@ -738,7 +768,6 @@ code {
|
|
|
738
768
|
tab-size: 2;
|
|
739
769
|
}
|
|
740
770
|
|
|
741
|
-
/* ─── Callout ─── */
|
|
742
771
|
.guide-callout {
|
|
743
772
|
display: flex;
|
|
744
773
|
gap: 12px;
|
|
@@ -750,26 +779,23 @@ code {
|
|
|
750
779
|
line-height: 1.6;
|
|
751
780
|
color: var(--text-secondary);
|
|
752
781
|
}
|
|
753
|
-
.guide-callout code {
|
|
754
|
-
font-size: 11.5px;
|
|
755
|
-
}
|
|
782
|
+
.guide-callout code { font-size: 11.5px; }
|
|
756
783
|
.guide-callout-icon {
|
|
757
784
|
font-size: 14px;
|
|
758
785
|
flex-shrink: 0;
|
|
759
786
|
margin-top: 1px;
|
|
760
787
|
}
|
|
761
788
|
|
|
762
|
-
/* ─── Steps ─── */
|
|
763
789
|
.guide-step {
|
|
764
790
|
display: flex;
|
|
765
791
|
gap: 16px;
|
|
766
792
|
margin: 20px 0;
|
|
767
793
|
}
|
|
768
794
|
.guide-step-number {
|
|
769
|
-
width:
|
|
770
|
-
height:
|
|
795
|
+
width: 30px;
|
|
796
|
+
height: 30px;
|
|
771
797
|
border-radius: 50%;
|
|
772
|
-
background: linear-gradient(135deg,
|
|
798
|
+
background: linear-gradient(135deg, #0d7c5f, #2563eb);
|
|
773
799
|
color: #fff;
|
|
774
800
|
font-size: 13px;
|
|
775
801
|
font-weight: 700;
|
|
@@ -778,11 +804,9 @@ code {
|
|
|
778
804
|
justify-content: center;
|
|
779
805
|
flex-shrink: 0;
|
|
780
806
|
margin-top: 2px;
|
|
807
|
+
box-shadow: 0 2px 8px rgba(13,124,95,0.2);
|
|
781
808
|
}
|
|
782
|
-
.guide-step-content {
|
|
783
|
-
flex: 1;
|
|
784
|
-
min-width: 0;
|
|
785
|
-
}
|
|
809
|
+
.guide-step-content { flex: 1; min-width: 0; }
|
|
786
810
|
.guide-step-title {
|
|
787
811
|
font-size: 14px;
|
|
788
812
|
font-weight: 700;
|
|
@@ -790,7 +814,6 @@ code {
|
|
|
790
814
|
margin-bottom: 4px;
|
|
791
815
|
}
|
|
792
816
|
|
|
793
|
-
/* ─── Directions ─── */
|
|
794
817
|
.guide-directions {
|
|
795
818
|
display: flex;
|
|
796
819
|
flex-direction: column;
|
|
@@ -801,11 +824,13 @@ code {
|
|
|
801
824
|
display: flex;
|
|
802
825
|
align-items: flex-start;
|
|
803
826
|
gap: 14px;
|
|
804
|
-
padding:
|
|
827
|
+
padding: 16px 20px;
|
|
805
828
|
background: var(--bg-card);
|
|
806
829
|
border: 1px solid var(--border);
|
|
807
830
|
border-radius: var(--radius);
|
|
831
|
+
transition: border-color 0.15s;
|
|
808
832
|
}
|
|
833
|
+
.guide-direction:hover { border-color: var(--border-focus); }
|
|
809
834
|
.guide-direction-arrow {
|
|
810
835
|
font-size: 22px;
|
|
811
836
|
font-weight: 800;
|
|
@@ -825,10 +850,9 @@ code {
|
|
|
825
850
|
line-height: 1.5;
|
|
826
851
|
}
|
|
827
852
|
|
|
828
|
-
/* ─── Architecture Diagram ─── */
|
|
829
853
|
.guide-diagram {
|
|
830
854
|
margin: 20px 0 28px;
|
|
831
|
-
padding:
|
|
855
|
+
padding: 28px;
|
|
832
856
|
background: var(--bg-card);
|
|
833
857
|
border: 1px solid var(--border);
|
|
834
858
|
border-radius: var(--radius-xl);
|
|
@@ -840,7 +864,7 @@ code {
|
|
|
840
864
|
}
|
|
841
865
|
.guide-diagram-box {
|
|
842
866
|
flex: 1;
|
|
843
|
-
padding:
|
|
867
|
+
padding: 18px;
|
|
844
868
|
border-radius: var(--radius);
|
|
845
869
|
border: 1px solid;
|
|
846
870
|
text-align: center;
|
|
@@ -863,18 +887,10 @@ code {
|
|
|
863
887
|
opacity: 0.7;
|
|
864
888
|
line-height: 1.4;
|
|
865
889
|
}
|
|
866
|
-
.guide-diagram-input {
|
|
867
|
-
|
|
868
|
-
}
|
|
869
|
-
.guide-diagram-
|
|
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
|
-
}
|
|
890
|
+
.guide-diagram-input { background: var(--blue-light); border-color: var(--blue-border); color: var(--blue); }
|
|
891
|
+
.guide-diagram-process { background: var(--purple-light); border-color: var(--purple-border); color: var(--purple); }
|
|
892
|
+
.guide-diagram-judge { background: var(--green-light); border-color: var(--green-border); color: var(--green); }
|
|
893
|
+
.guide-diagram-check { background: var(--yellow-light); border-color: var(--yellow-border); color: var(--yellow); }
|
|
878
894
|
.guide-diagram-output {
|
|
879
895
|
background: linear-gradient(135deg, var(--blue-light), var(--purple-light));
|
|
880
896
|
border-color: var(--blue-border); color: var(--blue);
|
|
@@ -894,10 +910,7 @@ code {
|
|
|
894
910
|
padding: 8px 0;
|
|
895
911
|
}
|
|
896
912
|
|
|
897
|
-
|
|
898
|
-
.guide-hierarchy {
|
|
899
|
-
margin: 20px 0 28px;
|
|
900
|
-
}
|
|
913
|
+
.guide-hierarchy { margin: 20px 0 28px; }
|
|
901
914
|
.guide-hierarchy-level {
|
|
902
915
|
padding: 18px 24px;
|
|
903
916
|
border-radius: var(--radius-lg);
|
|
@@ -910,29 +923,23 @@ code {
|
|
|
910
923
|
letter-spacing: 1px;
|
|
911
924
|
margin-bottom: 4px;
|
|
912
925
|
}
|
|
913
|
-
.guide-hierarchy-desc {
|
|
914
|
-
font-size: 13px;
|
|
915
|
-
margin-bottom: 6px;
|
|
916
|
-
}
|
|
926
|
+
.guide-hierarchy-desc { font-size: 13px; margin-bottom: 6px; }
|
|
917
927
|
.guide-hierarchy-examples {
|
|
918
928
|
font-size: 11px;
|
|
919
929
|
font-family: var(--font-mono);
|
|
920
930
|
opacity: 0.7;
|
|
921
931
|
}
|
|
922
932
|
.guide-hierarchy-system {
|
|
923
|
-
background: linear-gradient(135deg, #faf5ff, #
|
|
924
|
-
border-color: var(--purple-border);
|
|
925
|
-
color: var(--purple);
|
|
933
|
+
background: linear-gradient(135deg, #faf5ff, #ede9fe);
|
|
934
|
+
border-color: var(--purple-border); color: var(--purple);
|
|
926
935
|
}
|
|
927
936
|
.guide-hierarchy-domain {
|
|
928
937
|
background: linear-gradient(135deg, #eff6ff, #dbeafe);
|
|
929
|
-
border-color: var(--blue-border);
|
|
930
|
-
color: var(--blue);
|
|
938
|
+
border-color: var(--blue-border); color: var(--blue);
|
|
931
939
|
}
|
|
932
940
|
.guide-hierarchy-project {
|
|
933
|
-
background: linear-gradient(135deg, #
|
|
934
|
-
border-color: var(--green-border);
|
|
935
|
-
color: var(--green);
|
|
941
|
+
background: linear-gradient(135deg, #ecf7f3, #d1f0e5);
|
|
942
|
+
border-color: var(--green-border); color: var(--green);
|
|
936
943
|
}
|
|
937
944
|
.guide-hierarchy-connector {
|
|
938
945
|
display: flex;
|
|
@@ -944,10 +951,7 @@ code {
|
|
|
944
951
|
font-weight: 500;
|
|
945
952
|
}
|
|
946
953
|
|
|
947
|
-
|
|
948
|
-
.guide-pipeline {
|
|
949
|
-
margin: 16px 0;
|
|
950
|
-
}
|
|
954
|
+
.guide-pipeline { margin: 16px 0; }
|
|
951
955
|
.guide-pipeline-step {
|
|
952
956
|
display: flex;
|
|
953
957
|
align-items: flex-start;
|
|
@@ -955,8 +959,8 @@ code {
|
|
|
955
959
|
padding: 14px 0;
|
|
956
960
|
}
|
|
957
961
|
.guide-pipeline-icon {
|
|
958
|
-
width:
|
|
959
|
-
height:
|
|
962
|
+
width: 34px;
|
|
963
|
+
height: 34px;
|
|
960
964
|
border-radius: 10px;
|
|
961
965
|
display: flex;
|
|
962
966
|
align-items: center;
|
|
@@ -969,14 +973,13 @@ code {
|
|
|
969
973
|
width: 2px;
|
|
970
974
|
height: 16px;
|
|
971
975
|
background: var(--border);
|
|
972
|
-
margin-left:
|
|
976
|
+
margin-left: 16px;
|
|
973
977
|
}
|
|
974
978
|
|
|
975
|
-
/* ─── Judge Cards ─── */
|
|
976
979
|
.guide-judges-grid {
|
|
977
980
|
display: grid;
|
|
978
981
|
grid-template-columns: repeat(3, 1fr);
|
|
979
|
-
gap:
|
|
982
|
+
gap: 14px;
|
|
980
983
|
margin: 16px 0;
|
|
981
984
|
}
|
|
982
985
|
.guide-judge-card {
|
|
@@ -984,7 +987,7 @@ code {
|
|
|
984
987
|
border: 1px solid var(--border);
|
|
985
988
|
border-top: 3px solid;
|
|
986
989
|
border-radius: var(--radius-lg);
|
|
987
|
-
padding:
|
|
990
|
+
padding: 22px;
|
|
988
991
|
}
|
|
989
992
|
.guide-judge-header {
|
|
990
993
|
display: flex;
|
|
@@ -993,8 +996,8 @@ code {
|
|
|
993
996
|
margin-bottom: 12px;
|
|
994
997
|
}
|
|
995
998
|
.guide-judge-icon {
|
|
996
|
-
width:
|
|
997
|
-
height:
|
|
999
|
+
width: 38px;
|
|
1000
|
+
height: 38px;
|
|
998
1001
|
border-radius: 10px;
|
|
999
1002
|
display: flex;
|
|
1000
1003
|
align-items: center;
|
|
@@ -1003,18 +1006,9 @@ code {
|
|
|
1003
1006
|
font-weight: 800;
|
|
1004
1007
|
flex-shrink: 0;
|
|
1005
1008
|
}
|
|
1006
|
-
.guide-judge-name {
|
|
1007
|
-
|
|
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
|
-
}
|
|
1009
|
+
.guide-judge-name { font-size: 14px; font-weight: 700; color: var(--text); }
|
|
1010
|
+
.guide-judge-role { font-size: 11px; color: var(--text-dim); margin-top: 1px; }
|
|
1016
1011
|
|
|
1017
|
-
/* ─── Dimension Cards ─── */
|
|
1018
1012
|
.guide-dimension-card {
|
|
1019
1013
|
padding: 14px 18px;
|
|
1020
1014
|
background: var(--bg-card);
|
|
@@ -1023,7 +1017,6 @@ code {
|
|
|
1023
1017
|
border-radius: var(--radius);
|
|
1024
1018
|
}
|
|
1025
1019
|
|
|
1026
|
-
/* ─── Edge Grid ─── */
|
|
1027
1020
|
.guide-edge-grid {
|
|
1028
1021
|
display: flex;
|
|
1029
1022
|
flex-direction: column;
|
|
@@ -1046,12 +1039,8 @@ code {
|
|
|
1046
1039
|
width: 100px;
|
|
1047
1040
|
flex-shrink: 0;
|
|
1048
1041
|
}
|
|
1049
|
-
.guide-edge-desc {
|
|
1050
|
-
font-size: 13px;
|
|
1051
|
-
color: var(--text-dim);
|
|
1052
|
-
}
|
|
1042
|
+
.guide-edge-desc { font-size: 13px; color: var(--text-dim); }
|
|
1053
1043
|
|
|
1054
|
-
/* ─── Command Grid ─── */
|
|
1055
1044
|
.guide-command-grid {
|
|
1056
1045
|
display: flex;
|
|
1057
1046
|
flex-direction: column;
|
|
@@ -1073,10 +1062,10 @@ code {
|
|
|
1073
1062
|
font-family: var(--font-mono);
|
|
1074
1063
|
font-size: 13px;
|
|
1075
1064
|
font-weight: 600;
|
|
1076
|
-
color: var(--
|
|
1077
|
-
background: var(--
|
|
1065
|
+
color: var(--teal);
|
|
1066
|
+
background: var(--teal-light);
|
|
1078
1067
|
padding: 3px 10px;
|
|
1079
|
-
border-radius:
|
|
1068
|
+
border-radius: 5px;
|
|
1080
1069
|
}
|
|
1081
1070
|
.guide-command-desc {
|
|
1082
1071
|
font-size: 13px;
|
|
@@ -1100,7 +1089,6 @@ code {
|
|
|
1100
1089
|
border: 1px solid var(--border-subtle);
|
|
1101
1090
|
}
|
|
1102
1091
|
|
|
1103
|
-
/* ─── Config Params ─── */
|
|
1104
1092
|
.guide-params {
|
|
1105
1093
|
margin: 8px 0 20px;
|
|
1106
1094
|
border: 1px solid var(--border);
|
|
@@ -1117,8 +1105,8 @@ code {
|
|
|
1117
1105
|
font-family: var(--font-mono);
|
|
1118
1106
|
font-size: 12px;
|
|
1119
1107
|
font-weight: 600;
|
|
1120
|
-
color: var(--
|
|
1121
|
-
background: var(--
|
|
1108
|
+
color: var(--teal);
|
|
1109
|
+
background: var(--teal-light);
|
|
1122
1110
|
padding: 1px 6px;
|
|
1123
1111
|
border-radius: 4px;
|
|
1124
1112
|
}
|
|
@@ -1138,7 +1126,6 @@ code {
|
|
|
1138
1126
|
line-height: 1.5;
|
|
1139
1127
|
}
|
|
1140
1128
|
|
|
1141
|
-
/* ─── Data Cards ─── */
|
|
1142
1129
|
.guide-data-card {
|
|
1143
1130
|
background: var(--bg-card);
|
|
1144
1131
|
border: 1px solid var(--border);
|
|
@@ -1154,21 +1141,18 @@ code {
|
|
|
1154
1141
|
padding: 12px 16px 0;
|
|
1155
1142
|
}
|
|
1156
1143
|
|
|
1157
|
-
/* ─── FAQ ─── */
|
|
1158
1144
|
.guide-faq-item {
|
|
1159
1145
|
border: 1px solid var(--border);
|
|
1160
1146
|
border-radius: var(--radius);
|
|
1161
1147
|
margin-bottom: 6px;
|
|
1162
1148
|
cursor: pointer;
|
|
1163
|
-
transition: all 0.
|
|
1149
|
+
transition: all 0.2s ease;
|
|
1164
1150
|
overflow: hidden;
|
|
1165
1151
|
}
|
|
1166
|
-
.guide-faq-item:hover {
|
|
1167
|
-
border-color: var(--border-focus);
|
|
1168
|
-
}
|
|
1152
|
+
.guide-faq-item:hover { border-color: var(--border-focus); }
|
|
1169
1153
|
.guide-faq-item.open {
|
|
1170
|
-
border-color: var(--
|
|
1171
|
-
box-shadow: 0 0 0 1px var(--
|
|
1154
|
+
border-color: var(--green-border);
|
|
1155
|
+
box-shadow: 0 0 0 1px var(--green-light);
|
|
1172
1156
|
}
|
|
1173
1157
|
.guide-faq-question {
|
|
1174
1158
|
display: flex;
|
|
@@ -1199,7 +1183,6 @@ code {
|
|
|
1199
1183
|
to { opacity: 1; transform: translateY(0); }
|
|
1200
1184
|
}
|
|
1201
1185
|
|
|
1202
|
-
/* ─── Footer ─── */
|
|
1203
1186
|
.guide-footer {
|
|
1204
1187
|
margin-top: 48px;
|
|
1205
1188
|
padding-top: 24px;
|
|
@@ -1207,5 +1190,5 @@ code {
|
|
|
1207
1190
|
}
|
|
1208
1191
|
.guide-footer-content {
|
|
1209
1192
|
text-align: center;
|
|
1210
|
-
padding:
|
|
1193
|
+
padding: 24px 0;
|
|
1211
1194
|
}
|
package/dashboard/app/layout.tsx
CHANGED
|
@@ -43,14 +43,14 @@ export default function RootLayout({ children }: { children: React.ReactNode })
|
|
|
43
43
|
</svg>
|
|
44
44
|
</div>
|
|
45
45
|
<div>
|
|
46
|
-
<div style={{ fontSize:
|
|
47
|
-
<div style={{ fontSize: 10, color: 'var(--text-muted)', letterSpacing: 0.
|
|
46
|
+
<div style={{ fontSize: 15, fontWeight: 700, color: 'var(--text)', letterSpacing: -0.3 }}>HelixEvo</div>
|
|
47
|
+
<div style={{ fontSize: 10, color: 'var(--text-muted)', letterSpacing: 0.3 }}>Co-evolving AI Skills</div>
|
|
48
48
|
</div>
|
|
49
49
|
</div>
|
|
50
50
|
|
|
51
51
|
{/* Nav items */}
|
|
52
|
-
<div style={{ padding: '
|
|
53
|
-
<div style={{ fontSize: 9, fontWeight: 600, color: 'var(--text-muted)', textTransform: 'uppercase', letterSpacing: 1.5, padding: '0 10px
|
|
52
|
+
<div style={{ padding: '16px 6px', flex: 1 }}>
|
|
53
|
+
<div style={{ fontSize: 9, fontWeight: 600, color: 'var(--text-muted)', textTransform: 'uppercase', letterSpacing: 1.5, padding: '0 14px 10px' }}>
|
|
54
54
|
Navigation
|
|
55
55
|
</div>
|
|
56
56
|
{NAV.map(n => (
|
|
@@ -67,7 +67,7 @@ export default function RootLayout({ children }: { children: React.ReactNode })
|
|
|
67
67
|
<div style={{ width: 6, height: 6, borderRadius: '50%', background: 'var(--green)' }} />
|
|
68
68
|
<span>System Active</span>
|
|
69
69
|
</div>
|
|
70
|
-
<code style={{ fontSize: 10, background: 'var(--bg-section)', padding: '2px
|
|
70
|
+
<code style={{ fontSize: 10, background: 'var(--bg-section)', padding: '2px 7px', borderRadius: 4 }}>v{VERSION}</code>
|
|
71
71
|
</div>
|
|
72
72
|
</nav>
|
|
73
73
|
|
|
@@ -585,30 +585,7 @@ export default function NetworkClient({
|
|
|
585
585
|
|
|
586
586
|
function GraphView({ flowNodes, flowEdges, stats }: { flowNodes: Node[]; flowEdges: Edge[]; stats: Props['stats'] }) {
|
|
587
587
|
return (
|
|
588
|
-
<div style={{ height: 'calc(100vh - 200px)', width: '100%', borderRadius: 12, overflow: 'hidden', border: '1px solid var(--border)', background: '
|
|
589
|
-
{/* Column Headers */}
|
|
590
|
-
<div style={{
|
|
591
|
-
position: 'absolute', top: 8, left: 0, right: 0, zIndex: 10,
|
|
592
|
-
display: 'flex', justifyContent: 'space-around', padding: '0 60px',
|
|
593
|
-
pointerEvents: 'none',
|
|
594
|
-
}}>
|
|
595
|
-
{[
|
|
596
|
-
{ label: 'GENERALIZED', color: '#7c3aed', count: stats.generalized },
|
|
597
|
-
{ label: 'EVOLVED', color: '#16a34a', count: stats.evolved },
|
|
598
|
-
{ label: 'ORIGINAL', color: '#6b7280', count: stats.original },
|
|
599
|
-
{ label: 'PROJECTS', color: '#b45309', count: 0 },
|
|
600
|
-
].map(col => (
|
|
601
|
-
<div key={col.label} style={{
|
|
602
|
-
background: '#fff', border: '1px solid #e5e7eb', borderRadius: 8,
|
|
603
|
-
padding: '5px 14px', textAlign: 'center',
|
|
604
|
-
boxShadow: '0 1px 4px rgba(0,0,0,0.05)',
|
|
605
|
-
}}>
|
|
606
|
-
<div style={{ fontSize: 9, fontWeight: 700, letterSpacing: 1.5, color: col.color }}>{col.label}</div>
|
|
607
|
-
{col.count > 0 && <div style={{ fontSize: 9, color: '#9ca3af', marginTop: 1 }}>{col.count} skills</div>}
|
|
608
|
-
</div>
|
|
609
|
-
))}
|
|
610
|
-
</div>
|
|
611
|
-
|
|
588
|
+
<div style={{ position: 'relative', height: 'calc(100vh - 200px)', width: '100%', borderRadius: 12, overflow: 'hidden', border: '1px solid var(--border)', background: 'var(--bg)' }}>
|
|
612
589
|
<ReactFlow
|
|
613
590
|
nodes={flowNodes}
|
|
614
591
|
edges={flowEdges}
|
|
@@ -617,20 +594,20 @@ function GraphView({ flowNodes, flowEdges, stats }: { flowNodes: Node[]; flowEdg
|
|
|
617
594
|
fitView
|
|
618
595
|
fitViewOptions={{ padding: 0.2 }}
|
|
619
596
|
proOptions={{ hideAttribution: true }}
|
|
620
|
-
style={{ background: '
|
|
597
|
+
style={{ background: 'var(--bg)' }}
|
|
621
598
|
minZoom={0.3}
|
|
622
599
|
maxZoom={1.5}
|
|
623
600
|
>
|
|
624
|
-
<Background color="#
|
|
601
|
+
<Background color="#d5d2ca" gap={20} size={1} />
|
|
625
602
|
<Controls position="bottom-left" />
|
|
626
603
|
</ReactFlow>
|
|
627
604
|
|
|
628
605
|
{/* Legend */}
|
|
629
606
|
<div style={{
|
|
630
607
|
position: 'absolute', bottom: 12, right: 12, zIndex: 10,
|
|
631
|
-
background: '
|
|
632
|
-
padding: '8px 14px', display: 'flex', gap: 14, fontSize: 10, color: '
|
|
633
|
-
boxShadow: '
|
|
608
|
+
background: 'var(--bg-card)', border: '1px solid var(--border)', borderRadius: 8,
|
|
609
|
+
padding: '8px 14px', display: 'flex', gap: 14, fontSize: 10, color: 'var(--text-dim)',
|
|
610
|
+
boxShadow: 'var(--shadow-sm)',
|
|
634
611
|
}}>
|
|
635
612
|
<span><span style={{ display: 'inline-block', width: 12, height: 2, background: '#818cf8', marginRight: 4, verticalAlign: 'middle' }} /> inherits</span>
|
|
636
613
|
<span><span style={{ display: 'inline-block', width: 12, height: 2, background: '#22c55e', marginRight: 4, verticalAlign: 'middle' }} /> enhances</span>
|
package/package.json
CHANGED