snow-flow 3.4.35 → 3.4.39

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.
Files changed (50) hide show
  1. package/README.md +412 -287
  2. package/dist/cli/deploy-artifact.js +2 -2
  3. package/dist/mcp/servicenow-deployment-mcp.js +1 -1
  4. package/dist/mcp/servicenow-mcp-server.js +2 -2
  5. package/dist/mcp/shared/mcp-logger.js +6 -12
  6. package/dist/queen/agent-factory.js +134 -52
  7. package/dist/queen/servicenow-queen.d.ts +127 -2
  8. package/dist/queen/servicenow-queen.js +978 -618
  9. package/dist/services/widget-deployment-service.d.ts +1 -1
  10. package/dist/services/widget-deployment-service.js +1 -1
  11. package/dist/templates/claude-md-template.d.ts +1 -1
  12. package/dist/templates/claude-md-template.js +2 -2
  13. package/dist/types/servicenow.types.d.ts +1 -1
  14. package/dist/utils/dependency-detector.d.ts +1 -1
  15. package/dist/utils/dependency-detector.js +1 -1
  16. package/dist/utils/servicenow-client.d.ts +1 -1
  17. package/dist/utils/servicenow-client.js +4 -8
  18. package/package.json +1 -1
  19. package/website/components/README.md +419 -0
  20. package/website/components/code-display/CodeDisplay.css +583 -0
  21. package/website/components/code-display/CodeDisplay.html +200 -0
  22. package/website/components/code-display/CodeDisplay.js +375 -0
  23. package/website/components/code-display/CodeDisplay.jsx +268 -0
  24. package/website/components/demo/ComponentLibraryDemo.html +845 -0
  25. package/website/components/feature-cards/FeatureCards.css +573 -0
  26. package/website/components/feature-cards/FeatureCards.html +247 -0
  27. package/website/components/feature-cards/FeatureCards.js +382 -0
  28. package/website/components/feature-cards/FeatureCards.jsx +235 -0
  29. package/website/components/hero/Hero.css +558 -0
  30. package/website/components/hero/Hero.html +98 -0
  31. package/website/components/hero/Hero.js +415 -0
  32. package/website/components/hero/Hero.jsx +214 -0
  33. package/website/components/interactive/InteractiveElements.css +776 -0
  34. package/website/components/interactive/InteractiveElements.html +283 -0
  35. package/website/components/interactive/InteractiveElements.js +489 -0
  36. package/website/components/interactive/InteractiveElements.jsx +444 -0
  37. package/website/components/layout/LayoutComponents.css +697 -0
  38. package/website/components/layout/LayoutComponents.html +374 -0
  39. package/website/components/layout/LayoutComponents.js +447 -0
  40. package/website/components/layout/LayoutComponents.jsx +379 -0
  41. package/website/components/navigation/Navigation.css +383 -0
  42. package/website/components/navigation/Navigation.html +89 -0
  43. package/website/components/navigation/Navigation.js +248 -0
  44. package/website/components/navigation/Navigation.jsx +124 -0
  45. package/website/css/animations.css +854 -0
  46. package/website/css/style.css +916 -948
  47. package/website/index.html +394 -424
  48. package/website/js/animations.js +707 -0
  49. package/website/js/main.js +310 -383
  50. package/website/mcp-servers.html +310 -0
@@ -1,1088 +1,1056 @@
1
- /* Snow-Flow Website Styles */
2
-
1
+ /* =========================================
2
+ SNOW-FLOW MODERN BLACK/WHITE DESIGN SYSTEM
3
+ =========================================
4
+ Version: 3.0.0
5
+ Theme: Minimalist Black/White with Gradients
6
+ Inspired by: Linear, Vercel, Stripe
7
+ ========================================= */
8
+
9
+ /* =========================================
10
+ 1. CSS VARIABLES & DESIGN TOKENS
11
+ ========================================= */
3
12
  :root {
4
- --primary-color: #0066cc;
5
- --secondary-color: #00a6ff;
6
- --accent-color: #00d4ff;
7
- --dark-bg: #0a0e27;
8
- --light-bg: #f8f9fa;
9
- --card-bg: #ffffff;
10
- --text-primary: #2d3748;
11
- --text-secondary: #4a5568;
12
- --text-light: #718096;
13
- --border-color: #e2e8f0;
14
- --success-color: #48bb78;
15
- --warning-color: #ed8936;
16
- --error-color: #f56565;
17
- --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
18
- --gradient-secondary: linear-gradient(135deg, #0066cc 0%, #00d4ff 100%);
19
- --shadow-sm: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
20
- --shadow-md: 0 4px 6px rgba(0,0,0,0.1);
21
- --shadow-lg: 0 10px 20px rgba(0,0,0,0.15);
22
- --shadow-xl: 0 20px 40px rgba(0,0,0,0.2);
23
- }
24
-
25
- * {
26
- margin: 0;
27
- padding: 0;
28
- box-sizing: border-box;
29
- }
30
-
31
- body {
32
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
33
- line-height: 1.6;
34
- color: var(--text-primary);
35
- background: var(--light-bg);
36
- }
37
-
38
- .container {
39
- max-width: 1200px;
40
- margin: 0 auto;
41
- padding: 0 20px;
42
- }
43
-
44
- /* Navigation */
45
- .navbar {
46
- background: white;
47
- box-shadow: var(--shadow-sm);
48
- position: fixed;
49
- top: 0;
50
- width: 100%;
51
- z-index: 1000;
52
- transition: all 0.3s ease;
53
- }
54
-
55
- .navbar .container {
56
- display: flex;
57
- justify-content: space-between;
58
- align-items: center;
59
- padding: 1rem 20px;
60
- }
61
-
62
- .nav-brand {
63
- display: flex;
64
- align-items: center;
65
- gap: 10px;
66
- font-size: 1.5rem;
67
- font-weight: 700;
68
- color: var(--primary-color);
69
- }
70
-
71
- .logo {
72
- font-size: 2rem;
73
- }
74
-
75
- .brand-name {
76
- background: var(--gradient-secondary);
77
- -webkit-background-clip: text;
78
- -webkit-text-fill-color: transparent;
79
- background-clip: text;
80
- }
81
-
82
- .nav-menu {
83
- display: flex;
84
- list-style: none;
85
- gap: 2rem;
86
- align-items: center;
87
- }
88
-
89
- .nav-link {
90
- text-decoration: none;
91
- color: var(--text-primary);
92
- font-weight: 500;
93
- transition: color 0.3s ease;
94
- position: relative;
95
- }
96
-
97
- .nav-link:hover {
98
- color: var(--primary-color);
99
- }
100
-
101
- .nav-link::after {
102
- content: '';
103
- position: absolute;
104
- bottom: -5px;
105
- left: 0;
106
- width: 0;
107
- height: 2px;
108
- background: var(--gradient-secondary);
109
- transition: width 0.3s ease;
110
- }
111
-
112
- .nav-link:hover::after {
113
- width: 100%;
114
- }
115
-
116
- .nav-link.github {
117
- background: var(--gradient-secondary);
118
- color: white;
119
- padding: 8px 20px;
120
- border-radius: 20px;
121
- transition: transform 0.3s ease, box-shadow 0.3s ease;
122
- }
123
-
124
- .nav-link.github:hover {
125
- transform: translateY(-2px);
126
- box-shadow: var(--shadow-md);
127
- }
128
-
129
- .nav-link.github::after {
130
- display: none;
131
- }
132
-
133
- .hamburger {
134
- display: none;
135
- flex-direction: column;
136
- cursor: pointer;
137
- }
138
-
139
- .hamburger span {
140
- width: 25px;
141
- height: 3px;
142
- background: var(--text-primary);
143
- margin: 3px 0;
144
- transition: 0.3s;
145
- border-radius: 3px;
146
- }
147
-
148
- /* Hero Section */
149
- .hero {
150
- margin-top: 70px;
151
- padding: 100px 0;
152
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
153
- position: relative;
154
- overflow: hidden;
155
- }
156
-
157
- .hero::before {
158
- content: '';
159
- position: absolute;
160
- top: 0;
161
- left: 0;
162
- right: 0;
163
- bottom: 0;
164
- background: url('data:image/svg+xml,%3Csvg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cg fill="%23ffffff" fill-opacity="0.05"%3E%3Cpath d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E');
165
- animation: float 20s ease-in-out infinite;
166
- }
167
-
168
- @keyframes float {
169
- 0%, 100% { transform: translateY(0); }
170
- 50% { transform: translateY(-20px); }
171
- }
172
-
173
- .hero-content {
174
- text-align: center;
175
- color: white;
176
- position: relative;
177
- z-index: 1;
13
+ /* Pure Black to White Spectrum */
14
+ --black: #000000;
15
+ --white: #ffffff;
16
+
17
+ /* 12-Step Grayscale System */
18
+ --gray-50: #fafafa;
19
+ --gray-100: #f5f5f5;
20
+ --gray-200: #e5e5e5;
21
+ --gray-300: #d4d4d4;
22
+ --gray-400: #a3a3a3;
23
+ --gray-500: #737373;
24
+ --gray-600: #525252;
25
+ --gray-700: #404040;
26
+ --gray-800: #262626;
27
+ --gray-850: #1a1a1a;
28
+ --gray-900: #0a0a0a;
29
+ --gray-950: #050505;
30
+
31
+ /* Gradient Definitions */
32
+ --gradient-primary: linear-gradient(135deg, var(--black) 0%, var(--gray-700) 100%);
33
+ --gradient-secondary: linear-gradient(135deg, var(--gray-800) 0%, var(--gray-600) 100%);
34
+ --gradient-accent: linear-gradient(135deg, var(--white) 0%, var(--gray-200) 100%);
35
+ --gradient-mesh: radial-gradient(at 40% 20%, var(--gray-900) 0%, transparent 50%),
36
+ radial-gradient(at 80% 0%, var(--gray-800) 0%, transparent 50%),
37
+ radial-gradient(at 10% 50%, var(--gray-700) 0%, transparent 50%),
38
+ radial-gradient(at 80% 50%, var(--gray-600) 0%, transparent 50%),
39
+ radial-gradient(at 50% 100%, var(--gray-900) 0%, transparent 50%);
40
+ --gradient-glass: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);
41
+ --gradient-shine: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.7) 50%, transparent 60%);
42
+
43
+ /* Typography Scale (Golden Ratio) */
44
+ --font-xs: 0.75rem; /* 12px */
45
+ --font-sm: 0.875rem; /* 14px */
46
+ --font-base: 1rem; /* 16px */
47
+ --font-md: 1.125rem; /* 18px */
48
+ --font-lg: 1.25rem; /* 20px */
49
+ --font-xl: 1.5rem; /* 24px */
50
+ --font-2xl: 1.875rem; /* 30px */
51
+ --font-3xl: 2.25rem; /* 36px */
52
+ --font-4xl: 3rem; /* 48px */
53
+ --font-5xl: 3.75rem; /* 60px */
54
+ --font-6xl: 4.5rem; /* 72px */
55
+ --font-7xl: 6rem; /* 96px */
56
+ --font-8xl: 8rem; /* 128px */
57
+
58
+ /* Spacing System (8px base) */
59
+ --space-0: 0;
60
+ --space-px: 1px;
61
+ --space-0_5: 0.125rem; /* 2px */
62
+ --space-1: 0.25rem; /* 4px */
63
+ --space-2: 0.5rem; /* 8px */
64
+ --space-3: 0.75rem; /* 12px */
65
+ --space-4: 1rem; /* 16px */
66
+ --space-5: 1.25rem; /* 20px */
67
+ --space-6: 1.5rem; /* 24px */
68
+ --space-8: 2rem; /* 32px */
69
+ --space-10: 2.5rem; /* 40px */
70
+ --space-12: 3rem; /* 48px */
71
+ --space-16: 4rem; /* 64px */
72
+ --space-20: 5rem; /* 80px */
73
+ --space-24: 6rem; /* 96px */
74
+ --space-32: 8rem; /* 128px */
75
+ --space-40: 10rem; /* 160px */
76
+
77
+ /* Modern Font Stack */
78
+ --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
79
+ --font-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono", "Roboto Mono", monospace;
80
+
81
+ /* Line Heights */
82
+ --leading-none: 1;
83
+ --leading-tight: 1.25;
84
+ --leading-snug: 1.375;
85
+ --leading-normal: 1.5;
86
+ --leading-relaxed: 1.625;
87
+ --leading-loose: 2;
88
+
89
+ /* Letter Spacing */
90
+ --tracking-tighter: -0.05em;
91
+ --tracking-tight: -0.025em;
92
+ --tracking-normal: 0;
93
+ --tracking-wide: 0.025em;
94
+ --tracking-wider: 0.05em;
95
+ --tracking-widest: 0.1em;
96
+
97
+ /* Border Radius */
98
+ --radius-none: 0;
99
+ --radius-sm: 0.125rem;
100
+ --radius-base: 0.25rem;
101
+ --radius-md: 0.375rem;
102
+ --radius-lg: 0.5rem;
103
+ --radius-xl: 0.75rem;
104
+ --radius-2xl: 1rem;
105
+ --radius-3xl: 1.5rem;
106
+ --radius-full: 9999px;
107
+
108
+ /* Shadows (Black/White Only) */
109
+ --shadow-xs: 0 1px 2px 0 rgba(0,0,0,0.05);
110
+ --shadow-sm: 0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px 0 rgba(0,0,0,0.06);
111
+ --shadow-base: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
112
+ --shadow-md: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
113
+ --shadow-lg: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
114
+ --shadow-xl: 0 25px 50px -12px rgba(0,0,0,0.25);
115
+ --shadow-2xl: 0 35px 60px -15px rgba(0,0,0,0.3);
116
+ --shadow-inner: inset 0 2px 4px 0 rgba(0,0,0,0.06);
117
+ --shadow-white: 0 0 15px rgba(255,255,255,0.1);
118
+
119
+ /* Animation Durations */
120
+ --duration-75: 75ms;
121
+ --duration-100: 100ms;
122
+ --duration-150: 150ms;
123
+ --duration-200: 200ms;
124
+ --duration-300: 300ms;
125
+ --duration-500: 500ms;
126
+ --duration-700: 700ms;
127
+ --duration-1000: 1000ms;
128
+
129
+ /* Easing Functions */
130
+ --ease-linear: linear;
131
+ --ease-in: cubic-bezier(0.4, 0, 1, 1);
132
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
133
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
134
+ --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
135
+ }
136
+
137
+ /* Dark Mode Variables */
138
+ @media (prefers-color-scheme: dark) {
139
+ :root {
140
+ --bg-primary: var(--black);
141
+ --bg-secondary: var(--gray-950);
142
+ --text-primary: var(--white);
143
+ --text-secondary: var(--gray-300);
144
+ --border-color: var(--gray-800);
145
+ }
146
+ }
147
+
148
+ /* Light Mode Variables */
149
+ @media (prefers-color-scheme: light) {
150
+ :root {
151
+ --bg-primary: var(--white);
152
+ --bg-secondary: var(--gray-50);
153
+ --text-primary: var(--black);
154
+ --text-secondary: var(--gray-600);
155
+ --border-color: var(--gray-200);
156
+ }
157
+ }
158
+
159
+ /* =========================================
160
+ 2. RESET & BASE STYLES
161
+ ========================================= */
162
+ *, *::before, *::after {
163
+ margin: 0;
164
+ padding: 0;
165
+ box-sizing: border-box;
178
166
  }
179
167
 
180
- .hero-logo {
181
- font-size: 6rem;
182
- margin-bottom: 1rem;
183
- animation: pulse 2s ease-in-out infinite;
184
- }
185
-
186
- @keyframes pulse {
187
- 0%, 100% { transform: scale(1); }
188
- 50% { transform: scale(1.05); }
189
- }
190
-
191
- .hero-title {
192
- font-size: 4rem;
193
- font-weight: 800;
194
- margin-bottom: 1rem;
195
- text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
196
- }
197
-
198
- .hero-subtitle {
199
- font-size: 1.5rem;
200
- margin-bottom: 1rem;
201
- opacity: 0.95;
202
- }
203
-
204
- .hero-description {
205
- font-size: 1.1rem;
206
- max-width: 700px;
207
- margin: 0 auto 2rem;
208
- opacity: 0.9;
209
- line-height: 1.8;
210
- }
211
-
212
- .hero-buttons {
213
- display: flex;
214
- gap: 1rem;
215
- justify-content: center;
216
- margin-bottom: 3rem;
217
- }
218
-
219
- .btn {
220
- padding: 12px 30px;
221
- border-radius: 25px;
222
- text-decoration: none;
223
- font-weight: 600;
224
- transition: all 0.3s ease;
225
- display: inline-block;
226
- }
227
-
228
- .btn-primary {
229
- background: white;
230
- color: var(--primary-color);
231
- box-shadow: var(--shadow-md);
232
- }
233
-
234
- .btn-primary:hover {
235
- transform: translateY(-2px);
236
- box-shadow: var(--shadow-lg);
237
- }
238
-
239
- .btn-secondary {
240
- background: rgba(255,255,255,0.2);
241
- color: white;
242
- border: 2px solid white;
243
- }
244
-
245
- .btn-secondary:hover {
246
- background: white;
247
- color: var(--primary-color);
248
- }
249
-
250
- .hero-stats {
251
- display: flex;
252
- justify-content: center;
253
- gap: 3rem;
254
- margin-top: 3rem;
255
- }
256
-
257
- .stat {
258
- text-align: center;
259
- }
260
-
261
- .stat-number {
262
- display: block;
263
- font-size: 2.5rem;
264
- font-weight: 700;
265
- margin-bottom: 0.5rem;
266
- }
267
-
268
- .stat-label {
269
- font-size: 0.9rem;
270
- opacity: 0.9;
271
- text-transform: uppercase;
272
- letter-spacing: 1px;
273
- }
274
-
275
- /* What Is Section */
276
- .what-is {
277
- padding: 80px 0;
278
- background: white;
279
- }
280
-
281
- .section-title {
282
- font-size: 2.5rem;
283
- text-align: center;
284
- margin-bottom: 3rem;
285
- color: var(--text-primary);
286
- position: relative;
287
- }
288
-
289
- .section-title::after {
290
- content: '';
291
- display: block;
292
- width: 60px;
293
- height: 4px;
294
- background: var(--gradient-secondary);
295
- margin: 1rem auto;
296
- border-radius: 2px;
297
- }
298
-
299
- .what-is-grid {
300
- display: grid;
301
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
302
- gap: 2rem;
303
- }
304
-
305
- .what-is-card {
306
- padding: 2rem;
307
- background: var(--light-bg);
308
- border-radius: 12px;
309
- transition: transform 0.3s ease, box-shadow 0.3s ease;
310
- }
311
-
312
- .what-is-card:hover {
313
- transform: translateY(-5px);
314
- box-shadow: var(--shadow-lg);
315
- }
316
-
317
- .card-icon {
318
- font-size: 3rem;
319
- margin-bottom: 1rem;
320
- }
321
-
322
- .what-is-card h3 {
323
- margin-bottom: 1rem;
324
- color: var(--text-primary);
325
- }
326
-
327
- .what-is-card p {
328
- color: var(--text-secondary);
329
- line-height: 1.8;
330
- }
331
-
332
- /* Features Section */
333
- .features {
334
- padding: 80px 0;
335
- background: var(--light-bg);
336
- }
337
-
338
- .features-grid {
339
- display: grid;
340
- grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
341
- gap: 2rem;
342
- }
343
-
344
- .feature {
345
- background: white;
346
- padding: 2rem;
347
- border-radius: 12px;
348
- box-shadow: var(--shadow-sm);
349
- transition: all 0.3s ease;
350
- border: 1px solid var(--border-color);
351
- }
352
-
353
- .feature:hover {
354
- box-shadow: var(--shadow-lg);
355
- transform: translateY(-5px);
356
- border-color: var(--accent-color);
357
- }
358
-
359
- .feature-icon {
360
- font-size: 2.5rem;
361
- margin-bottom: 1rem;
362
- }
363
-
364
- .feature h3 {
365
- margin-bottom: 0.8rem;
366
- color: var(--text-primary);
367
- }
368
-
369
- .feature p {
370
- color: var(--text-secondary);
371
- line-height: 1.7;
372
- }
373
-
374
- /* MCP Servers Section */
375
- .mcp-servers {
376
- padding: 80px 0;
377
- background: white;
378
- }
379
-
380
- .section-subtitle {
381
- text-align: center;
382
- color: var(--text-secondary);
383
- margin-bottom: 3rem;
384
- font-size: 1.2rem;
385
- }
386
-
387
- .mcp-grid {
388
- display: grid;
389
- grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
390
- gap: 2rem;
391
- }
392
-
393
- .mcp-card {
394
- background: var(--light-bg);
395
- border-radius: 12px;
396
- overflow: hidden;
397
- transition: all 0.3s ease;
398
- border: 1px solid var(--border-color);
399
- }
400
-
401
- .mcp-card:hover {
402
- box-shadow: var(--shadow-lg);
403
- transform: translateY(-5px);
404
- }
405
-
406
- .mcp-header {
407
- background: var(--gradient-secondary);
408
- color: white;
409
- padding: 1.5rem;
410
- display: flex;
411
- justify-content: space-between;
412
- align-items: center;
413
- }
414
-
415
- .mcp-header h3 {
416
- margin: 0;
417
- font-size: 1.3rem;
418
- }
419
-
420
- .mcp-badge {
421
- background: rgba(255,255,255,0.2);
422
- padding: 4px 12px;
423
- border-radius: 20px;
424
- font-size: 0.9rem;
425
- }
426
-
427
- .mcp-description {
428
- padding: 1.5rem;
429
- color: var(--text-secondary);
430
- border-bottom: 1px solid var(--border-color);
431
- }
432
-
433
- .mcp-tools {
434
- padding: 1.5rem;
435
- }
436
-
437
- .mcp-tools h4 {
438
- margin-bottom: 1rem;
439
- color: var(--text-primary);
440
- }
441
-
442
- .mcp-tools ul {
443
- list-style: none;
444
- }
445
-
446
- .mcp-tools li {
447
- padding: 0.5rem 0;
448
- color: var(--text-secondary);
449
- border-bottom: 1px solid var(--border-color);
450
- }
451
-
452
- .mcp-tools li:last-child {
453
- border-bottom: none;
454
- }
455
-
456
- .mcp-tools code {
457
- background: white;
458
- padding: 2px 6px;
459
- border-radius: 4px;
460
- color: var(--primary-color);
461
- font-weight: 500;
168
+ html {
169
+ font-size: 16px;
170
+ -webkit-font-smoothing: antialiased;
171
+ -moz-osx-font-smoothing: grayscale;
172
+ text-rendering: optimizeLegibility;
173
+ scroll-behavior: smooth;
462
174
  }
463
175
 
464
- /* How It Works */
465
- .how-it-works {
466
- padding: 80px 0;
467
- background: var(--light-bg);
176
+ body {
177
+ font-family: var(--font-sans);
178
+ font-size: var(--font-base);
179
+ line-height: var(--leading-normal);
180
+ color: var(--text-primary);
181
+ background: var(--bg-primary);
182
+ min-height: 100vh;
183
+ overflow-x: hidden;
184
+ position: relative;
468
185
  }
469
186
 
470
- .workflow-diagram {
471
- display: flex;
472
- justify-content: center;
473
- align-items: center;
474
- flex-wrap: wrap;
475
- gap: 2rem;
476
- margin-top: 3rem;
187
+ /* Selection Styles */
188
+ ::selection {
189
+ background: var(--black);
190
+ color: var(--white);
477
191
  }
478
192
 
479
- .workflow-step {
480
- background: white;
481
- padding: 2rem;
482
- border-radius: 12px;
483
- text-align: center;
484
- flex: 1;
485
- min-width: 200px;
486
- max-width: 250px;
487
- box-shadow: var(--shadow-md);
488
- transition: all 0.3s ease;
489
- }
490
-
491
- .workflow-step:hover {
492
- transform: translateY(-5px);
493
- box-shadow: var(--shadow-lg);
494
- }
495
-
496
- .step-number {
497
- width: 50px;
498
- height: 50px;
499
- background: var(--gradient-secondary);
500
- color: white;
501
- border-radius: 50%;
502
- display: flex;
503
- align-items: center;
504
- justify-content: center;
505
- font-size: 1.5rem;
506
- font-weight: 700;
507
- margin: 0 auto 1rem;
508
- }
509
-
510
- .workflow-arrow {
511
- font-size: 2rem;
512
- color: var(--primary-color);
513
- }
514
-
515
- /* Installation Section */
516
- .installation {
517
- padding: 80px 0;
518
- background: white;
193
+ ::-moz-selection {
194
+ background: var(--black);
195
+ color: var(--white);
519
196
  }
520
197
 
521
- .install-tabs {
522
- display: flex;
523
- justify-content: center;
524
- gap: 1rem;
525
- margin-bottom: 2rem;
198
+ /* =========================================
199
+ 3. TYPOGRAPHY
200
+ ========================================= */
201
+ h1, h2, h3, h4, h5, h6 {
202
+ font-weight: 700;
203
+ line-height: var(--leading-tight);
204
+ letter-spacing: var(--tracking-tight);
205
+ margin-bottom: var(--space-4);
526
206
  }
527
207
 
528
- .tab-btn {
529
- padding: 10px 30px;
530
- background: var(--light-bg);
531
- border: none;
532
- border-radius: 25px;
533
- cursor: pointer;
534
- font-weight: 600;
535
- transition: all 0.3s ease;
536
- color: var(--text-primary);
208
+ h1 {
209
+ font-size: clamp(var(--font-4xl), 8vw, var(--font-7xl));
210
+ background: var(--gradient-primary);
211
+ -webkit-background-clip: text;
212
+ -webkit-text-fill-color: transparent;
213
+ background-clip: text;
537
214
  }
538
215
 
539
- .tab-btn.active {
540
- background: var(--gradient-secondary);
541
- color: white;
216
+ h2 {
217
+ font-size: clamp(var(--font-3xl), 5vw, var(--font-5xl));
542
218
  }
543
219
 
544
- .tab-btn:hover:not(.active) {
545
- background: var(--border-color);
220
+ h3 {
221
+ font-size: clamp(var(--font-2xl), 3vw, var(--font-4xl));
546
222
  }
547
223
 
548
- .tab-content {
549
- display: none;
550
- animation: fadeIn 0.5s ease;
224
+ h4 {
225
+ font-size: clamp(var(--font-xl), 2.5vw, var(--font-3xl));
551
226
  }
552
227
 
553
- .tab-content.active {
554
- display: block;
228
+ h5 {
229
+ font-size: clamp(var(--font-lg), 2vw, var(--font-2xl));
555
230
  }
556
231
 
557
- @keyframes fadeIn {
558
- from { opacity: 0; transform: translateY(10px); }
559
- to { opacity: 1; transform: translateY(0); }
232
+ h6 {
233
+ font-size: clamp(var(--font-base), 1.5vw, var(--font-xl));
560
234
  }
561
235
 
562
- .tab-content h3 {
563
- margin-bottom: 1.5rem;
564
- color: var(--text-primary);
236
+ p {
237
+ margin-bottom: var(--space-4);
238
+ color: var(--text-secondary);
239
+ line-height: var(--leading-relaxed);
565
240
  }
566
241
 
567
- pre {
568
- background: var(--dark-bg);
569
- border-radius: 8px;
570
- padding: 1.5rem;
571
- overflow-x: auto;
242
+ a {
243
+ color: inherit;
244
+ text-decoration: none;
245
+ position: relative;
246
+ transition: all var(--duration-200) var(--ease-in-out);
572
247
  }
573
248
 
574
- pre code {
575
- color: #e6e6e6;
576
- font-family: 'Fira Code', 'Courier New', monospace;
577
- font-size: 0.95rem;
578
- line-height: 1.6;
249
+ a:hover {
250
+ opacity: 0.8;
579
251
  }
580
252
 
581
- /* Examples Section */
582
- .examples {
583
- padding: 80px 0;
584
- background: var(--light-bg);
253
+ /* Link Underline Animation */
254
+ a.link-animated::after {
255
+ content: '';
256
+ position: absolute;
257
+ bottom: -2px;
258
+ left: 0;
259
+ width: 0;
260
+ height: 2px;
261
+ background: var(--gradient-primary);
262
+ transition: width var(--duration-300) var(--ease-out);
585
263
  }
586
264
 
587
- .example-grid {
588
- display: grid;
589
- gap: 2rem;
265
+ a.link-animated:hover::after {
266
+ width: 100%;
590
267
  }
591
268
 
592
- .example-card {
593
- background: white;
594
- border-radius: 12px;
595
- padding: 2rem;
596
- box-shadow: var(--shadow-sm);
597
- transition: all 0.3s ease;
269
+ /* =========================================
270
+ 4. LAYOUT COMPONENTS
271
+ ========================================= */
272
+ .container {
273
+ width: 100%;
274
+ max-width: 1280px;
275
+ margin: 0 auto;
276
+ padding: 0 var(--space-6);
598
277
  }
599
278
 
600
- .example-card:hover {
601
- box-shadow: var(--shadow-lg);
602
- transform: translateY(-5px);
279
+ .section {
280
+ padding: var(--space-20) 0;
281
+ position: relative;
603
282
  }
604
283
 
605
- .example-card h3 {
606
- margin-bottom: 1.5rem;
607
- color: var(--text-primary);
284
+ .grid {
285
+ display: grid;
286
+ gap: var(--space-6);
608
287
  }
609
288
 
610
- .user-examples {
611
- background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
612
- border: 2px dashed var(--primary-color);
613
- }
289
+ .grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
290
+ .grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
291
+ .grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
292
+ .grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
614
293
 
615
- .user-examples-placeholder {
616
- text-align: center;
617
- padding: 2rem;
618
- color: var(--text-secondary);
294
+ /* =========================================
295
+ 5. NAVIGATION (GLASS MORPHISM)
296
+ ========================================= */
297
+ /* Mountain Logo - Simple Emoji */
298
+ .logo-mountain {
299
+ display: inline-block;
300
+ font-size: 1.4em;
301
+ transition: all var(--duration-300) var(--ease-out);
302
+ position: relative;
303
+ top: -2px;
304
+ /* Reset text fill to show emoji normally */
305
+ -webkit-text-fill-color: initial;
306
+ background: none;
619
307
  }
620
308
 
621
- .example-template {
622
- margin-top: 2rem;
623
- text-align: left;
309
+ .navbar-logo:hover .logo-mountain {
310
+ transform: scale(1.1) translateY(-2px);
624
311
  }
625
312
 
626
- /* API Reference */
627
- .api-reference {
628
- padding: 80px 0;
629
- background: white;
313
+ /* Apply to mountain in cards */
314
+ .card-icon .logo-mountain {
315
+ font-size: 1em;
316
+ top: 0;
630
317
  }
631
318
 
632
- .api-categories {
633
- display: grid;
634
- grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
635
- gap: 3rem;
319
+ /* Keep the hover effect working for card mountains */
320
+ .card:hover .card-icon .logo-mountain {
321
+ transform: scale(1.2) rotate(5deg);
636
322
  }
637
323
 
638
- .api-category h3 {
639
- margin-bottom: 1.5rem;
640
- color: var(--text-primary);
324
+ .navbar {
325
+ position: fixed;
326
+ top: 0;
327
+ left: 0;
328
+ right: 0;
329
+ z-index: 1000;
330
+ background: rgba(255, 255, 255, 0.01);
331
+ backdrop-filter: blur(20px);
332
+ -webkit-backdrop-filter: blur(20px);
333
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
334
+ transition: all var(--duration-300) var(--ease-in-out);
641
335
  }
642
336
 
643
- .api-list {
644
- list-style: none;
337
+ .navbar.scrolled {
338
+ background: rgba(0, 0, 0, 0.9);
339
+ backdrop-filter: blur(30px);
340
+ -webkit-backdrop-filter: blur(30px);
645
341
  }
646
342
 
647
- .api-list li {
648
- padding: 0.8rem;
649
- border-bottom: 1px solid var(--border-color);
650
- transition: background 0.3s ease;
343
+ .navbar-container {
344
+ display: flex;
345
+ justify-content: space-between;
346
+ align-items: center;
347
+ padding: var(--space-4) var(--space-6);
348
+ max-width: 1280px;
349
+ margin: 0 auto;
651
350
  }
652
351
 
653
- .api-list li:hover {
654
- background: var(--light-bg);
352
+ .navbar-logo {
353
+ font-size: var(--font-xl);
354
+ font-weight: 900;
355
+ background: linear-gradient(135deg, var(--white) 0%, var(--gray-400) 100%);
356
+ -webkit-background-clip: text;
357
+ -webkit-text-fill-color: transparent;
358
+ background-clip: text;
359
+ transition: all var(--duration-300) var(--ease-out);
360
+ display: inline-flex;
361
+ align-items: center;
362
+ gap: var(--space-2);
655
363
  }
656
364
 
657
- .api-list code {
658
- background: var(--light-bg);
659
- padding: 4px 8px;
660
- border-radius: 4px;
661
- color: var(--primary-color);
662
- font-weight: 500;
365
+ .navbar-logo:hover {
366
+ transform: scale(1.05);
663
367
  }
664
368
 
665
- /* Best Practices */
666
- .best-practices {
667
- padding: 80px 0;
668
- background: var(--light-bg);
369
+ .navbar-menu {
370
+ display: flex;
371
+ gap: var(--space-8);
372
+ list-style: none;
669
373
  }
670
374
 
671
- .practices-grid {
672
- display: grid;
673
- grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
674
- gap: 2rem;
375
+ .navbar-link {
376
+ color: var(--gray-300);
377
+ font-size: var(--font-sm);
378
+ font-weight: 500;
379
+ letter-spacing: var(--tracking-wide);
380
+ text-transform: uppercase;
381
+ transition: all var(--duration-200) var(--ease-out);
382
+ position: relative;
675
383
  }
676
384
 
677
- .practice {
678
- background: white;
679
- padding: 2rem;
680
- border-radius: 12px;
681
- box-shadow: var(--shadow-sm);
682
- transition: all 0.3s ease;
385
+ .navbar-link:hover {
386
+ color: var(--white);
683
387
  }
684
388
 
685
- .practice:hover {
686
- box-shadow: var(--shadow-lg);
687
- transform: translateY(-5px);
389
+ .navbar-link::before {
390
+ content: '';
391
+ position: absolute;
392
+ bottom: -5px;
393
+ left: 0;
394
+ width: 0;
395
+ height: 2px;
396
+ background: var(--gradient-accent);
397
+ transition: width var(--duration-300) var(--ease-out);
688
398
  }
689
399
 
690
- .practice h3 {
691
- margin-bottom: 1rem;
692
- color: var(--text-primary);
400
+ .navbar-link:hover::before {
401
+ width: 100%;
693
402
  }
694
403
 
695
- .practice p {
696
- color: var(--text-secondary);
697
- line-height: 1.7;
404
+ /* =========================================
405
+ 6. HERO SECTION
406
+ ========================================= */
407
+ /* Hero Mountain Logo */
408
+ .hero-mountain {
409
+ display: inline-block;
410
+ /* Reset text fill to show emoji normally */
411
+ -webkit-text-fill-color: initial;
412
+ background: none;
413
+ filter: drop-shadow(0 8px 16px rgba(0,0,0,0.5));
414
+ animation: mountainFloat 6s ease-in-out infinite;
698
415
  }
699
416
 
700
- /* Footer */
701
- .footer {
702
- background: var(--dark-bg);
703
- color: white;
704
- padding: 60px 0 40px;
417
+ @keyframes mountainFloat {
418
+ 0%, 100% {
419
+ transform: translateY(0px) scale(1);
420
+ filter: drop-shadow(0 8px 16px rgba(0,0,0,0.5));
421
+ }
422
+ 50% {
423
+ transform: translateY(-10px) scale(1.05);
424
+ filter: drop-shadow(0 16px 32px rgba(0,0,0,0.6));
425
+ }
705
426
  }
706
427
 
707
- .footer-content {
708
- display: grid;
709
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
710
- gap: 3rem;
711
- margin-bottom: 2rem;
428
+ .hero-logo-container {
429
+ animation: fadeInDown var(--duration-1000) var(--ease-out);
712
430
  }
713
431
 
714
- .footer-section h4 {
715
- margin-bottom: 1rem;
716
- color: white;
432
+ .hero {
433
+ min-height: 100vh;
434
+ display: flex;
435
+ align-items: center;
436
+ justify-content: center;
437
+ position: relative;
438
+ overflow: hidden;
439
+ background: var(--black);
440
+ padding-bottom: var(--space-20);
717
441
  }
718
442
 
719
- .footer-section ul {
720
- list-style: none;
721
- }
443
+ /* Removed gradient overlays - clean black background */
722
444
 
723
- .footer-section li {
724
- margin-bottom: 0.5rem;
445
+ .hero-content {
446
+ position: relative;
447
+ z-index: 1;
448
+ text-align: center;
449
+ padding: var(--space-8);
725
450
  }
726
451
 
727
- .footer-section a {
728
- color: rgba(255,255,255,0.7);
729
- text-decoration: none;
730
- transition: color 0.3s ease;
452
+ .hero-title {
453
+ font-size: clamp(var(--font-5xl), 10vw, var(--font-8xl));
454
+ font-weight: 900;
455
+ letter-spacing: var(--tracking-tighter);
456
+ margin-bottom: var(--space-6);
457
+ background: linear-gradient(135deg, var(--white) 0%, var(--gray-400) 50%, var(--white) 100%);
458
+ -webkit-background-clip: text;
459
+ -webkit-text-fill-color: transparent;
460
+ background-clip: text;
461
+ background-size: 200% auto;
462
+ animation: gradientShift 15s ease infinite;
731
463
  }
732
464
 
733
- .footer-section a:hover {
734
- color: white;
465
+ @keyframes gradientShift {
466
+ 0% { background-position: 0% 50%; }
467
+ 50% { background-position: 100% 50%; }
468
+ 100% { background-position: 0% 50%; }
735
469
  }
736
470
 
737
- .footer-logo {
738
- font-size: 3rem;
739
- margin-top: 1rem;
471
+ .hero-subtitle {
472
+ font-size: clamp(var(--font-lg), 2vw, var(--font-2xl));
473
+ color: var(--gray-400);
474
+ margin-bottom: var(--space-10);
475
+ font-weight: 300;
476
+ letter-spacing: var(--tracking-wide);
740
477
  }
741
478
 
742
- /* Dynamic MCP Cards */
743
- .mcp-filter {
744
- display: flex;
745
- justify-content: center;
746
- gap: 1rem;
747
- margin-bottom: 2rem;
748
- flex-wrap: wrap;
479
+ /* =========================================
480
+ 7. BUTTONS
481
+ ========================================= */
482
+ .btn {
483
+ display: inline-flex;
484
+ align-items: center;
485
+ justify-content: center;
486
+ padding: var(--space-3) var(--space-6);
487
+ font-size: var(--font-sm);
488
+ font-weight: 600;
489
+ letter-spacing: var(--tracking-wide);
490
+ text-transform: uppercase;
491
+ border-radius: var(--radius-full);
492
+ cursor: pointer;
493
+ transition: all var(--duration-200) var(--ease-out);
494
+ position: relative;
495
+ overflow: hidden;
496
+ border: none;
497
+ outline: none;
498
+ text-decoration: none;
749
499
  }
750
500
 
751
- .filter-btn {
752
- padding: 0.5rem 1.5rem;
753
- border: 2px solid var(--border-color);
754
- background: white;
755
- border-radius: 25px;
756
- cursor: pointer;
757
- font-weight: 500;
758
- transition: all 0.3s ease;
759
- font-size: 0.9rem;
501
+ .btn-primary {
502
+ background: var(--white);
503
+ color: var(--black);
504
+ box-shadow: var(--shadow-lg);
760
505
  }
761
506
 
762
- .filter-btn:hover {
763
- border-color: var(--primary-color);
764
- color: var(--primary-color);
507
+ .btn-primary:hover {
508
+ transform: translateY(-2px) scale(1.05);
509
+ box-shadow: var(--shadow-xl);
765
510
  }
766
511
 
767
- .filter-btn.active {
768
- background: var(--primary-color);
769
- border-color: var(--primary-color);
770
- color: white;
512
+ .btn-primary:active {
513
+ transform: translateY(0) scale(0.98);
771
514
  }
772
515
 
773
- .mcp-grid-dynamic {
774
- display: grid;
775
- grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
776
- gap: 2rem;
777
- margin-top: 2rem;
516
+ .btn-secondary {
517
+ background: transparent;
518
+ color: var(--white);
519
+ border: 2px solid var(--white);
778
520
  }
779
521
 
780
- .mcp-card-dynamic {
781
- background: var(--card-bg);
782
- border-radius: 15px;
783
- box-shadow: var(--shadow-md);
784
- overflow: hidden;
785
- transition: all 0.3s ease;
786
- border: 1px solid var(--border-color);
522
+ .btn-secondary:hover {
523
+ background: var(--white);
524
+ color: var(--black);
525
+ transform: translateY(-2px);
787
526
  }
788
527
 
789
- .mcp-card-dynamic:hover {
790
- transform: translateY(-5px);
791
- box-shadow: var(--shadow-lg);
528
+ .btn-secondary:active {
529
+ transform: translateY(0) scale(0.98);
792
530
  }
793
531
 
794
- .mcp-card-dynamic.expanded {
795
- box-shadow: var(--shadow-xl);
796
- border-color: var(--primary-color);
532
+ .btn-ghost {
533
+ background: transparent;
534
+ color: var(--gray-400);
535
+ border: 1px solid var(--gray-800);
797
536
  }
798
537
 
799
- .mcp-card-header {
800
- padding: 1.5rem;
801
- display: flex;
802
- justify-content: space-between;
803
- align-items: flex-start;
804
- border-bottom: 1px solid var(--border-color);
538
+ .btn-ghost:hover {
539
+ border-color: var(--gray-600);
540
+ color: var(--white);
541
+ background: var(--gray-900);
805
542
  }
806
543
 
807
- .mcp-title {
808
- flex: 1;
544
+ .btn-ghost:active {
545
+ transform: scale(0.98);
809
546
  }
810
547
 
811
- .mcp-title h3 {
812
- margin: 0 0 0.5rem 0;
813
- color: var(--text-primary);
814
- font-size: 1.2rem;
815
- font-weight: 600;
548
+ /* Button Shimmer Effect - More Subtle */
549
+ .btn-animated {
550
+ position: relative;
551
+ overflow: hidden;
816
552
  }
817
553
 
818
- .mcp-badge {
819
- background: var(--gradient-secondary);
820
- color: white;
821
- padding: 0.25rem 0.75rem;
822
- border-radius: 20px;
823
- font-size: 0.8rem;
824
- font-weight: 600;
825
- display: inline-block;
554
+ .btn-animated::before {
555
+ content: '';
556
+ position: absolute;
557
+ top: 0;
558
+ left: -100%;
559
+ width: 100%;
560
+ height: 100%;
561
+ background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%);
562
+ transition: left var(--duration-700) var(--ease-out);
826
563
  }
827
564
 
828
- .mcp-expand-btn {
829
- background: none;
830
- border: none;
831
- cursor: pointer;
832
- padding: 0.5rem;
833
- border-radius: 50%;
834
- transition: all 0.3s ease;
835
- color: var(--text-secondary);
836
- margin-left: 1rem;
565
+ .btn-animated:hover::before {
566
+ left: 100%;
837
567
  }
838
568
 
839
- .mcp-expand-btn:hover {
840
- background: var(--light-bg);
841
- color: var(--primary-color);
569
+ /* Remove any ripple effects that might be causing issues */
570
+ .btn .ripple {
571
+ display: none;
842
572
  }
843
573
 
844
- .mcp-expand-btn.expanded svg {
845
- transform: rotate(180deg);
574
+ /* =========================================
575
+ 8. CARDS
576
+ ========================================= */
577
+ .card {
578
+ background: var(--gray-950);
579
+ border: 1px solid var(--gray-800);
580
+ border-radius: var(--radius-2xl);
581
+ padding: var(--space-8);
582
+ transition: all var(--duration-300) var(--ease-out);
583
+ position: relative;
584
+ overflow: hidden;
846
585
  }
847
586
 
848
- .mcp-expand-btn svg {
849
- transition: transform 0.3s ease;
587
+ .card::before {
588
+ content: '';
589
+ position: absolute;
590
+ top: 0;
591
+ left: 0;
592
+ right: 0;
593
+ height: 2px;
594
+ background: var(--gradient-accent);
595
+ opacity: 0;
596
+ transition: all var(--duration-300) var(--ease-out);
850
597
  }
851
598
 
852
- .mcp-description {
853
- padding: 0 1.5rem 1.5rem 1.5rem;
854
- color: var(--text-secondary);
855
- margin: 0;
856
- line-height: 1.5;
599
+ .card::after {
600
+ content: '';
601
+ position: absolute;
602
+ top: 0;
603
+ left: 0;
604
+ right: 0;
605
+ bottom: 0;
606
+ background: var(--gradient-glass);
607
+ opacity: 0;
608
+ transition: opacity var(--duration-300) var(--ease-out);
609
+ z-index: 0;
857
610
  }
858
611
 
859
- .mcp-tools-container {
860
- border-top: 1px solid var(--border-color);
861
- background: #f9fafb;
612
+ .card > * {
613
+ position: relative;
614
+ z-index: 1;
862
615
  }
863
616
 
864
- .mcp-tools-grid {
865
- padding: 1.5rem;
866
- display: grid;
867
- gap: 1rem;
617
+ .card:hover {
618
+ transform: translateY(-8px) scale(1.02);
619
+ border-color: var(--gray-600);
620
+ box-shadow: 0 30px 60px -15px rgba(0,0,0,0.5),
621
+ 0 0 40px rgba(255,255,255,0.05);
868
622
  }
869
623
 
870
- .tool-item {
871
- background: white;
872
- padding: 1rem;
873
- border-radius: 8px;
874
- border: 1px solid var(--border-color);
875
- transition: all 0.2s ease;
624
+ .card:hover::before {
625
+ opacity: 1;
626
+ height: 100%;
627
+ background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 50%);
876
628
  }
877
629
 
878
- .tool-item:hover {
879
- border-color: var(--primary-color);
880
- box-shadow: 0 2px 8px rgba(0,102,204,0.1);
630
+ .card:hover::after {
631
+ opacity: 1;
881
632
  }
882
633
 
883
- .tool-header {
884
- margin-bottom: 0.5rem;
634
+ .card-icon {
635
+ font-size: 2rem;
636
+ margin-bottom: var(--space-4);
637
+ opacity: 0.8;
638
+ transition: all var(--duration-300) var(--ease-out);
639
+ display: inline-block;
885
640
  }
886
641
 
887
- .tool-name {
888
- background: #f7fafc;
889
- color: var(--primary-color);
890
- padding: 0.25rem 0.5rem;
891
- border-radius: 4px;
892
- font-size: 0.9rem;
893
- font-weight: 600;
894
- border: 1px solid #e2e8f0;
642
+ .card:hover .card-icon {
643
+ opacity: 1;
644
+ transform: scale(1.2) rotate(5deg);
895
645
  }
896
646
 
897
- .tool-description {
898
- color: var(--text-secondary);
899
- margin: 0;
900
- font-size: 0.9rem;
901
- line-height: 1.4;
647
+ .card-title {
648
+ font-size: var(--font-xl);
649
+ font-weight: 700;
650
+ margin-bottom: var(--space-3);
651
+ color: var(--white);
902
652
  }
903
653
 
904
- /* Enhanced Search */
905
- .mcp-search {
906
- transition: all 0.3s ease !important;
907
- }
654
+ .card-description {
655
+ font-size: var(--font-sm);
656
+ color: var(--gray-400);
657
+ line-height: var(--leading-relaxed);
658
+ }
908
659
 
909
- .mcp-search:focus {
910
- outline: none;
911
- border-color: var(--primary-color) !important;
912
- box-shadow: 0 0 0 3px rgba(0,102,204,0.1) !important;
660
+ /* MCP Server Cards Special Styling */
661
+ .card h3 {
662
+ display: flex;
663
+ align-items: center;
664
+ gap: var(--space-2);
665
+ }
666
+
667
+ .card ul li {
668
+ transition: all var(--duration-200) var(--ease-out);
669
+ padding-left: var(--space-3);
670
+ }
671
+
672
+ .card:hover ul li {
673
+ color: var(--gray-300) !important;
674
+ transform: translateX(4px);
675
+ }
676
+
677
+ .card:hover ul li:nth-child(1) { transition-delay: 0ms; }
678
+ .card:hover ul li:nth-child(2) { transition-delay: 50ms; }
679
+ .card:hover ul li:nth-child(3) { transition-delay: 100ms; }
680
+ .card:hover ul li:nth-child(4) { transition-delay: 150ms; }
681
+ .card:hover ul li:nth-child(5) { transition-delay: 200ms; }
682
+ .card:hover ul li:nth-child(6) { transition-delay: 250ms; }
683
+ .card:hover ul li:nth-child(7) { transition-delay: 300ms; }
684
+ .card:hover ul li:nth-child(8) { transition-delay: 350ms; }
685
+
686
+ /* =========================================
687
+ 9. FORMS & INPUTS
688
+ ========================================= */
689
+ .input {
690
+ width: 100%;
691
+ padding: var(--space-3) var(--space-4);
692
+ background: var(--gray-900);
693
+ border: 1px solid var(--gray-800);
694
+ border-radius: var(--radius-lg);
695
+ color: var(--white);
696
+ font-size: var(--font-base);
697
+ transition: all var(--duration-200) var(--ease-out);
698
+ outline: none;
699
+ }
700
+
701
+ .input:focus {
702
+ border-color: var(--gray-600);
703
+ background: var(--gray-850);
704
+ box-shadow: 0 0 0 3px rgba(255,255,255,0.1);
705
+ }
706
+
707
+ .input::placeholder {
708
+ color: var(--gray-600);
709
+ }
710
+
711
+ /* =========================================
712
+ 10. CODE BLOCKS
713
+ ========================================= */
714
+ .code-block {
715
+ background: var(--gray-950);
716
+ border: 1px solid var(--gray-800);
717
+ border-radius: var(--radius-xl);
718
+ padding: var(--space-6);
719
+ overflow-x: auto;
720
+ position: relative;
721
+ }
722
+
723
+ .code-block::before {
724
+ content: '';
725
+ position: absolute;
726
+ top: var(--space-3);
727
+ left: var(--space-4);
728
+ display: flex;
729
+ gap: var(--space-2);
730
+ }
731
+
732
+ .code-block::before {
733
+ content: '● ● ●';
734
+ color: var(--gray-700);
735
+ font-size: var(--font-xs);
736
+ letter-spacing: var(--space-2);
737
+ }
738
+
739
+ code {
740
+ font-family: var(--font-mono);
741
+ font-size: var(--font-sm);
742
+ color: var(--gray-300);
743
+ line-height: var(--leading-relaxed);
744
+ }
745
+
746
+ /* =========================================
747
+ 11. ANIMATIONS & TRANSITIONS
748
+ ========================================= */
749
+ @keyframes fadeInUp {
750
+ from {
751
+ opacity: 0;
752
+ transform: translateY(20px);
753
+ }
754
+ to {
755
+ opacity: 1;
756
+ transform: translateY(0);
757
+ }
758
+ }
759
+
760
+ @keyframes fadeInDown {
761
+ from {
762
+ opacity: 0;
763
+ transform: translateY(-20px);
764
+ }
765
+ to {
766
+ opacity: 1;
767
+ transform: translateY(0);
768
+ }
769
+ }
770
+
771
+ @keyframes scaleIn {
772
+ from {
773
+ opacity: 0;
774
+ transform: scale(0.9);
775
+ }
776
+ to {
777
+ opacity: 1;
778
+ transform: scale(1);
779
+ }
780
+ }
781
+
782
+ @keyframes slideInLeft {
783
+ from {
784
+ opacity: 0;
785
+ transform: translateX(-20px);
786
+ }
787
+ to {
788
+ opacity: 1;
789
+ transform: translateX(0);
790
+ }
791
+ }
792
+
793
+ @keyframes slideInRight {
794
+ from {
795
+ opacity: 0;
796
+ transform: translateX(20px);
797
+ }
798
+ to {
799
+ opacity: 1;
800
+ transform: translateX(0);
801
+ }
913
802
  }
914
803
 
915
804
  /* Animation Classes */
916
- @keyframes fadeIn {
917
- from {
918
- opacity: 0;
919
- transform: translateY(10px);
920
- }
921
- to {
922
- opacity: 1;
923
- transform: translateY(0);
924
- }
925
- }
926
-
927
- .fadeIn {
928
- animation: fadeIn 0.3s ease;
929
- }
930
-
931
- /* Loading States */
932
- .mcp-grid-dynamic.loading {
933
- opacity: 0.6;
934
- pointer-events: none;
935
- }
936
-
937
- .mcp-grid-dynamic.loading::after {
938
- content: "Loading tools...";
939
- position: absolute;
940
- top: 50%;
941
- left: 50%;
942
- transform: translate(-50%, -50%);
943
- font-size: 1.2rem;
944
- color: var(--text-secondary);
945
- }
946
-
947
- /* Tool Count Indicators */
948
- .server-stats {
949
- display: flex;
950
- gap: 1rem;
951
- margin-top: 1rem;
952
- padding-top: 1rem;
953
- border-top: 1px solid var(--border-color);
954
- font-size: 0.9rem;
955
- color: var(--text-light);
956
- }
957
-
958
- .stat-item {
959
- display: flex;
960
- align-items: center;
961
- gap: 0.5rem;
962
- }
963
-
964
- .stat-icon {
965
- width: 16px;
966
- height: 16px;
967
- background: var(--gradient-secondary);
968
- border-radius: 50%;
969
- }
970
-
971
- /* Responsive Design for Dynamic Cards */
972
- @media (max-width: 1024px) {
973
- .mcp-grid-dynamic {
974
- grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
975
- gap: 1.5rem;
976
- }
977
- }
978
-
805
+ .animate-fade-in-up {
806
+ animation: fadeInUp var(--duration-700) var(--ease-out) both;
807
+ }
808
+
809
+ .animate-fade-in-down {
810
+ animation: fadeInDown var(--duration-700) var(--ease-out) both;
811
+ }
812
+
813
+ .animate-scale-in {
814
+ animation: scaleIn var(--duration-500) var(--ease-out) both;
815
+ }
816
+
817
+ .animate-slide-in-left {
818
+ animation: slideInLeft var(--duration-500) var(--ease-out) both;
819
+ }
820
+
821
+ .animate-slide-in-right {
822
+ animation: slideInRight var(--duration-500) var(--ease-out) both;
823
+ }
824
+
825
+ /* Stagger Animation Delays */
826
+ .stagger-1 { animation-delay: 100ms; }
827
+ .stagger-2 { animation-delay: 200ms; }
828
+ .stagger-3 { animation-delay: 300ms; }
829
+ .stagger-4 { animation-delay: 400ms; }
830
+ .stagger-5 { animation-delay: 500ms; }
831
+
832
+ /* =========================================
833
+ 12. UTILITIES
834
+ ========================================= */
835
+ /* Display */
836
+ .hidden { display: none; }
837
+ .block { display: block; }
838
+ .inline-block { display: inline-block; }
839
+ .flex { display: flex; }
840
+ .inline-flex { display: inline-flex; }
841
+ .grid { display: grid; }
842
+
843
+ /* Flexbox */
844
+ .flex-row { flex-direction: row; }
845
+ .flex-col { flex-direction: column; }
846
+ .flex-wrap { flex-wrap: wrap; }
847
+ .items-start { align-items: flex-start; }
848
+ .items-center { align-items: center; }
849
+ .items-end { align-items: flex-end; }
850
+ .justify-start { justify-content: flex-start; }
851
+ .justify-center { justify-content: center; }
852
+ .justify-end { justify-content: flex-end; }
853
+ .justify-between { justify-content: space-between; }
854
+ .justify-around { justify-content: space-around; }
855
+ .gap-1 { gap: var(--space-1); }
856
+ .gap-2 { gap: var(--space-2); }
857
+ .gap-3 { gap: var(--space-3); }
858
+ .gap-4 { gap: var(--space-4); }
859
+ .gap-5 { gap: var(--space-5); }
860
+ .gap-6 { gap: var(--space-6); }
861
+ .gap-8 { gap: var(--space-8); }
862
+
863
+ /* Text Alignment */
864
+ .text-left { text-align: left; }
865
+ .text-center { text-align: center; }
866
+ .text-right { text-align: right; }
867
+ .text-justify { text-align: justify; }
868
+
869
+ /* Font Weight */
870
+ .font-thin { font-weight: 100; }
871
+ .font-light { font-weight: 300; }
872
+ .font-normal { font-weight: 400; }
873
+ .font-medium { font-weight: 500; }
874
+ .font-semibold { font-weight: 600; }
875
+ .font-bold { font-weight: 700; }
876
+ .font-black { font-weight: 900; }
877
+
878
+ /* Opacity */
879
+ .opacity-0 { opacity: 0; }
880
+ .opacity-25 { opacity: 0.25; }
881
+ .opacity-50 { opacity: 0.5; }
882
+ .opacity-75 { opacity: 0.75; }
883
+ .opacity-100 { opacity: 1; }
884
+
885
+ /* Z-Index */
886
+ .z-0 { z-index: 0; }
887
+ .z-10 { z-index: 10; }
888
+ .z-20 { z-index: 20; }
889
+ .z-30 { z-index: 30; }
890
+ .z-40 { z-index: 40; }
891
+ .z-50 { z-index: 50; }
892
+
893
+ /* =========================================
894
+ 13. RESPONSIVE DESIGN
895
+ ========================================= */
896
+ /* Mobile First Breakpoints */
897
+ @media (min-width: 640px) {
898
+ .sm\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
899
+ .sm\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
900
+ .sm\:flex-row { flex-direction: row; }
901
+ }
902
+
903
+ @media (min-width: 768px) {
904
+ .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
905
+ .md\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
906
+ .md\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
907
+ .md\:flex-row { flex-direction: row; }
908
+ }
909
+
910
+ @media (min-width: 1024px) {
911
+ .lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
912
+ .lg\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
913
+ .lg\:flex-row { flex-direction: row; }
914
+ }
915
+
916
+ @media (min-width: 1280px) {
917
+ .xl\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
918
+ .xl\:grid-cols-5 { grid-template-columns: repeat(5, 1fr); }
919
+ }
920
+
921
+ /* Mobile Menu */
979
922
  @media (max-width: 768px) {
980
- .mcp-grid-dynamic {
981
- grid-template-columns: 1fr;
982
- gap: 1rem;
983
- }
984
-
985
- .mcp-card-header {
986
- padding: 1rem;
987
- }
988
-
989
- .mcp-description {
990
- padding: 0 1rem 1rem 1rem;
991
- }
992
-
993
- .mcp-tools-grid {
994
- padding: 1rem;
995
- }
996
-
997
- .mcp-filter {
998
- gap: 0.5rem;
999
- }
1000
-
1001
- .filter-btn {
1002
- padding: 0.4rem 1rem;
1003
- font-size: 0.8rem;
1004
- }
1005
- }
1006
-
1007
- @media (max-width: 480px) {
1008
- .tool-item {
1009
- padding: 0.75rem;
1010
- }
1011
-
1012
- .tool-name {
1013
- font-size: 0.8rem;
1014
- }
1015
-
1016
- .tool-description {
1017
- font-size: 0.85rem;
1018
- }
1019
- }
1020
-
1021
- /* Responsive Design */
1022
- @media (max-width: 768px) {
1023
- .nav-menu {
1024
- position: fixed;
1025
- left: -100%;
1026
- top: 70px;
1027
- flex-direction: column;
1028
- background: white;
1029
- width: 100%;
1030
- text-align: center;
1031
- transition: 0.3s;
1032
- box-shadow: var(--shadow-lg);
1033
- padding: 2rem 0;
1034
- }
1035
-
1036
- .nav-menu.active {
1037
- left: 0;
1038
- }
1039
-
1040
- .hamburger {
1041
- display: flex;
1042
- }
1043
-
1044
- .hero-title {
1045
- font-size: 2.5rem;
1046
- }
1047
-
1048
- .hero-subtitle {
1049
- font-size: 1.2rem;
1050
- }
1051
-
1052
- .hero-stats {
1053
- flex-wrap: wrap;
1054
- gap: 2rem;
1055
- }
1056
-
1057
- .workflow-diagram {
1058
- flex-direction: column;
1059
- }
1060
-
1061
- .workflow-arrow {
1062
- transform: rotate(90deg);
1063
- }
1064
-
1065
- .mcp-grid {
1066
- grid-template-columns: 1fr;
1067
- }
1068
-
1069
- .api-categories {
1070
- grid-template-columns: 1fr;
1071
- }
1072
- }
1073
-
1074
- /* Smooth Scrolling */
1075
- html {
1076
- scroll-behavior: smooth;
1077
- }
1078
-
1079
- /* Selection Colors */
1080
- ::selection {
1081
- background: var(--primary-color);
1082
- color: white;
1083
- }
1084
-
1085
- ::-moz-selection {
1086
- background: var(--primary-color);
1087
- color: white;
1088
- }
923
+ .navbar-menu {
924
+ position: fixed;
925
+ top: 60px;
926
+ left: 0;
927
+ right: 0;
928
+ background: rgba(0, 0, 0, 0.95);
929
+ backdrop-filter: blur(20px);
930
+ flex-direction: column;
931
+ padding: var(--space-6);
932
+ transform: translateY(-100%);
933
+ opacity: 0;
934
+ transition: all var(--duration-300) var(--ease-out);
935
+ }
936
+
937
+ .navbar-menu.active {
938
+ transform: translateY(0);
939
+ opacity: 1;
940
+ }
941
+ }
942
+
943
+ /* =========================================
944
+ 14. LOADING STATES
945
+ ========================================= */
946
+ .skeleton {
947
+ background: linear-gradient(90deg, var(--gray-900) 25%, var(--gray-800) 50%, var(--gray-900) 75%);
948
+ background-size: 200% 100%;
949
+ animation: skeleton-loading 1.5s ease-in-out infinite;
950
+ }
951
+
952
+ @keyframes skeleton-loading {
953
+ 0% { background-position: 200% 0; }
954
+ 100% { background-position: -200% 0; }
955
+ }
956
+
957
+ .spinner {
958
+ width: 40px;
959
+ height: 40px;
960
+ border: 3px solid var(--gray-800);
961
+ border-top-color: var(--white);
962
+ border-radius: 50%;
963
+ animation: spinner-rotate 1s linear infinite;
964
+ }
965
+
966
+ @keyframes spinner-rotate {
967
+ to { transform: rotate(360deg); }
968
+ }
969
+
970
+ /* =========================================
971
+ 15. SPECIAL EFFECTS
972
+ ========================================= */
973
+ /* Glow Effect */
974
+ .glow {
975
+ box-shadow: 0 0 20px rgba(255,255,255,0.1),
976
+ 0 0 40px rgba(255,255,255,0.05),
977
+ 0 0 60px rgba(255,255,255,0.02);
978
+ }
979
+
980
+ /* Noise Texture Overlay */
981
+ .noise::after {
982
+ content: '';
983
+ position: absolute;
984
+ top: 0;
985
+ left: 0;
986
+ width: 100%;
987
+ height: 100%;
988
+ opacity: 0.03;
989
+ z-index: 1;
990
+ pointer-events: none;
991
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
992
+ }
993
+
994
+ /* =========================================
995
+ 16. PRINT STYLES
996
+ ========================================= */
997
+ @media print {
998
+ body {
999
+ background: white;
1000
+ color: black;
1001
+ }
1002
+
1003
+ .navbar,
1004
+ .hero::before,
1005
+ .hero::after,
1006
+ .btn,
1007
+ .no-print {
1008
+ display: none !important;
1009
+ }
1010
+
1011
+ a {
1012
+ color: black;
1013
+ text-decoration: underline;
1014
+ }
1015
+ }
1016
+
1017
+ /* =========================================
1018
+ 17. ACCESSIBILITY
1019
+ ========================================= */
1020
+ /* Focus Visible */
1021
+ :focus-visible {
1022
+ outline: 2px solid var(--white);
1023
+ outline-offset: 2px;
1024
+ }
1025
+
1026
+ /* Skip to Content */
1027
+ .skip-to-content {
1028
+ position: absolute;
1029
+ top: -40px;
1030
+ left: 0;
1031
+ background: var(--white);
1032
+ color: var(--black);
1033
+ padding: var(--space-2) var(--space-4);
1034
+ z-index: 100;
1035
+ text-decoration: none;
1036
+ }
1037
+
1038
+ .skip-to-content:focus {
1039
+ top: 0;
1040
+ }
1041
+
1042
+ /* Reduced Motion */
1043
+ @media (prefers-reduced-motion: reduce) {
1044
+ *,
1045
+ *::before,
1046
+ *::after {
1047
+ animation-duration: 0.01ms !important;
1048
+ animation-iteration-count: 1 !important;
1049
+ transition-duration: 0.01ms !important;
1050
+ scroll-behavior: auto !important;
1051
+ }
1052
+ }
1053
+
1054
+ /* =========================================
1055
+ END OF SNOW-FLOW DESIGN SYSTEM
1056
+ ========================================= */