@nestr/mcp 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/web/styles.css ADDED
@@ -0,0 +1,700 @@
1
+ /* Nestr MCP Landing Page Styles */
2
+
3
+ :root {
4
+ --primary: #6366f1;
5
+ --primary-dark: #4f46e5;
6
+ --secondary: #f1f5f9;
7
+ --text: #1e293b;
8
+ --text-muted: #64748b;
9
+ --border: #e2e8f0;
10
+ --background: #ffffff;
11
+ --code-bg: #1e293b;
12
+ --code-text: #e2e8f0;
13
+ --success: #22c55e;
14
+ --warning: #f59e0b;
15
+ }
16
+
17
+ * {
18
+ box-sizing: border-box;
19
+ margin: 0;
20
+ padding: 0;
21
+ }
22
+
23
+ body {
24
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
25
+ line-height: 1.6;
26
+ color: var(--text);
27
+ background: var(--background);
28
+ }
29
+
30
+ .container {
31
+ max-width: 1100px;
32
+ margin: 0 auto;
33
+ padding: 0 20px;
34
+ }
35
+
36
+ /* Header */
37
+ header {
38
+ border-bottom: 1px solid var(--border);
39
+ padding: 16px 0;
40
+ position: sticky;
41
+ top: 0;
42
+ background: var(--background);
43
+ z-index: 100;
44
+ }
45
+
46
+ header .container {
47
+ display: flex;
48
+ justify-content: space-between;
49
+ align-items: center;
50
+ }
51
+
52
+ .logo {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 10px;
56
+ font-weight: 600;
57
+ font-size: 1.25rem;
58
+ color: var(--primary);
59
+ }
60
+
61
+ nav {
62
+ display: flex;
63
+ gap: 24px;
64
+ }
65
+
66
+ nav a {
67
+ color: var(--text-muted);
68
+ text-decoration: none;
69
+ font-size: 0.9rem;
70
+ }
71
+
72
+ nav a:hover {
73
+ color: var(--primary);
74
+ }
75
+
76
+ /* Hero */
77
+ .hero {
78
+ padding: 80px 0;
79
+ text-align: center;
80
+ background: linear-gradient(180deg, var(--secondary) 0%, var(--background) 100%);
81
+ }
82
+
83
+ .hero h1 {
84
+ font-size: 2.75rem;
85
+ margin-bottom: 16px;
86
+ color: var(--text);
87
+ }
88
+
89
+ .hero .subtitle {
90
+ font-size: 1.25rem;
91
+ color: var(--text-muted);
92
+ max-width: 600px;
93
+ margin: 0 auto 32px;
94
+ }
95
+
96
+ .cta-buttons {
97
+ display: flex;
98
+ gap: 16px;
99
+ justify-content: center;
100
+ }
101
+
102
+ .btn {
103
+ display: inline-block;
104
+ padding: 12px 24px;
105
+ border-radius: 8px;
106
+ text-decoration: none;
107
+ font-weight: 500;
108
+ transition: all 0.2s;
109
+ }
110
+
111
+ .btn.primary {
112
+ background: var(--primary);
113
+ color: white;
114
+ }
115
+
116
+ .btn.primary:hover {
117
+ background: var(--primary-dark);
118
+ }
119
+
120
+ .btn.secondary {
121
+ background: var(--background);
122
+ color: var(--text);
123
+ border: 1px solid var(--border);
124
+ }
125
+
126
+ .btn.secondary:hover {
127
+ border-color: var(--primary);
128
+ color: var(--primary);
129
+ }
130
+
131
+ /* Features */
132
+ .features {
133
+ padding: 60px 0;
134
+ }
135
+
136
+ .feature-grid {
137
+ display: grid;
138
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
139
+ gap: 32px;
140
+ }
141
+
142
+ .feature {
143
+ text-align: center;
144
+ padding: 24px;
145
+ }
146
+
147
+ .feature-icon {
148
+ font-size: 2.5rem;
149
+ margin-bottom: 16px;
150
+ }
151
+
152
+ .feature h3 {
153
+ margin-bottom: 8px;
154
+ }
155
+
156
+ .feature p {
157
+ color: var(--text-muted);
158
+ font-size: 0.95rem;
159
+ }
160
+
161
+ /* Setup */
162
+ .setup {
163
+ padding: 60px 0;
164
+ background: var(--secondary);
165
+ }
166
+
167
+ .setup h2 {
168
+ text-align: center;
169
+ margin-bottom: 48px;
170
+ }
171
+
172
+ .step {
173
+ display: flex;
174
+ gap: 24px;
175
+ margin-bottom: 48px;
176
+ background: var(--background);
177
+ padding: 32px;
178
+ border-radius: 12px;
179
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
180
+ }
181
+
182
+ .step-number {
183
+ flex-shrink: 0;
184
+ width: 40px;
185
+ height: 40px;
186
+ background: var(--primary);
187
+ color: white;
188
+ border-radius: 50%;
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ font-weight: 600;
193
+ }
194
+
195
+ .step-content h3 {
196
+ margin-bottom: 16px;
197
+ }
198
+
199
+ .step-content ol, .step-content ul {
200
+ margin-left: 20px;
201
+ margin-bottom: 16px;
202
+ }
203
+
204
+ .step-content li {
205
+ margin-bottom: 8px;
206
+ }
207
+
208
+ .warning {
209
+ background: #fef3c7;
210
+ border-left: 4px solid var(--warning);
211
+ padding: 12px 16px;
212
+ border-radius: 4px;
213
+ font-size: 0.9rem;
214
+ }
215
+
216
+ .tip {
217
+ background: #e0f2fe;
218
+ border-left: 4px solid #0ea5e9;
219
+ padding: 12px 16px;
220
+ border-radius: 4px;
221
+ font-size: 0.9rem;
222
+ margin-top: 16px;
223
+ }
224
+
225
+ .quickstart-box {
226
+ background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
227
+ border: 2px solid var(--success);
228
+ border-radius: 8px;
229
+ padding: 20px;
230
+ margin-bottom: 20px;
231
+ }
232
+
233
+ .quickstart-box h4 {
234
+ color: #166534;
235
+ margin-bottom: 8px;
236
+ font-size: 1rem;
237
+ }
238
+
239
+ .quickstart-box p {
240
+ margin-bottom: 12px;
241
+ }
242
+
243
+ .quickstart-box pre {
244
+ margin: 12px 0;
245
+ }
246
+
247
+ .quickstart-box .quickstart-note {
248
+ font-size: 0.9rem;
249
+ color: #166534;
250
+ margin-bottom: 0;
251
+ font-style: italic;
252
+ }
253
+
254
+ /* Auth Options */
255
+ .auth-options {
256
+ display: grid;
257
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
258
+ gap: 20px;
259
+ margin-top: 16px;
260
+ }
261
+
262
+ .auth-option {
263
+ border: 2px solid var(--border);
264
+ border-radius: 12px;
265
+ padding: 20px;
266
+ background: var(--secondary);
267
+ cursor: pointer;
268
+ transition: all 0.2s;
269
+ text-align: left;
270
+ font-family: inherit;
271
+ font-size: inherit;
272
+ width: 100%;
273
+ }
274
+
275
+ .auth-option:hover {
276
+ border-color: var(--primary);
277
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.15);
278
+ }
279
+
280
+ .auth-option.active {
281
+ border-color: var(--primary);
282
+ background: linear-gradient(135deg, #f0f0ff 0%, #fff 100%);
283
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.15);
284
+ }
285
+
286
+ .auth-option h4 {
287
+ margin: 0;
288
+ font-size: 1.1rem;
289
+ }
290
+
291
+ .auth-option > p {
292
+ color: var(--text-muted);
293
+ font-size: 0.9rem;
294
+ margin-bottom: 12px;
295
+ }
296
+
297
+ /* Auth Details Section */
298
+ .auth-details {
299
+ margin-top: 20px;
300
+ padding: 20px;
301
+ background: var(--secondary);
302
+ border-radius: 12px;
303
+ border: 1px solid var(--border);
304
+ }
305
+
306
+ .auth-detail {
307
+ display: none;
308
+ }
309
+
310
+ .auth-detail.active {
311
+ display: block;
312
+ }
313
+
314
+ .auth-detail ol, .auth-detail ul {
315
+ margin-left: 20px;
316
+ margin-bottom: 16px;
317
+ }
318
+
319
+ .auth-detail li {
320
+ margin-bottom: 8px;
321
+ }
322
+
323
+ .auth-detail p {
324
+ color: var(--text-muted);
325
+ font-size: 0.95rem;
326
+ margin-bottom: 12px;
327
+ }
328
+
329
+ .oauth-login-section {
330
+ text-align: center;
331
+ padding: 20px;
332
+ margin: 16px 0;
333
+ background: rgba(99, 102, 241, 0.05);
334
+ border-radius: 8px;
335
+ }
336
+
337
+ .oauth-btn {
338
+ display: inline-block;
339
+ font-size: 1rem;
340
+ }
341
+
342
+ .oauth-hint {
343
+ margin-top: 8px;
344
+ font-size: 0.85rem;
345
+ color: var(--text-muted);
346
+ }
347
+
348
+ /* Setup Options */
349
+ .setup-options {
350
+ display: grid;
351
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
352
+ gap: 20px;
353
+ margin-top: 16px;
354
+ }
355
+
356
+ .setup-option {
357
+ border: 2px solid var(--border);
358
+ border-radius: 12px;
359
+ padding: 20px;
360
+ background: var(--secondary);
361
+ cursor: pointer;
362
+ transition: all 0.2s;
363
+ text-align: left;
364
+ font-family: inherit;
365
+ font-size: inherit;
366
+ width: 100%;
367
+ }
368
+
369
+ .setup-option:hover {
370
+ border-color: var(--primary);
371
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.15);
372
+ }
373
+
374
+ .setup-option.active {
375
+ border-color: var(--primary);
376
+ background: linear-gradient(135deg, #f0f0ff 0%, #fff 100%);
377
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.15);
378
+ }
379
+
380
+ .option-header {
381
+ display: flex;
382
+ align-items: center;
383
+ gap: 12px;
384
+ margin-bottom: 12px;
385
+ }
386
+
387
+ .option-header h4 {
388
+ margin: 0;
389
+ font-size: 1.1rem;
390
+ }
391
+
392
+ .option-badge {
393
+ background: var(--primary);
394
+ color: white;
395
+ font-size: 0.7rem;
396
+ font-weight: 600;
397
+ padding: 4px 8px;
398
+ border-radius: 4px;
399
+ text-transform: uppercase;
400
+ letter-spacing: 0.5px;
401
+ }
402
+
403
+ .setup-option > p {
404
+ color: var(--text-muted);
405
+ font-size: 0.9rem;
406
+ margin-bottom: 12px;
407
+ }
408
+
409
+ .option-pros {
410
+ list-style: none;
411
+ margin: 0;
412
+ padding: 0;
413
+ }
414
+
415
+ .option-pros li {
416
+ font-size: 0.85rem;
417
+ color: var(--text);
418
+ padding: 4px 0;
419
+ padding-left: 20px;
420
+ position: relative;
421
+ }
422
+
423
+ .option-pros li::before {
424
+ content: "✓";
425
+ position: absolute;
426
+ left: 0;
427
+ color: var(--success);
428
+ font-weight: bold;
429
+ }
430
+
431
+ /* Field table (for Raycast manual setup) */
432
+ .field-table {
433
+ width: 100%;
434
+ border-collapse: collapse;
435
+ margin: 16px 0;
436
+ background: var(--code-bg);
437
+ border-radius: 8px;
438
+ overflow: hidden;
439
+ }
440
+
441
+ .field-table td {
442
+ padding: 12px 16px;
443
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
444
+ color: var(--code-text);
445
+ }
446
+
447
+ .field-table tr:last-child td {
448
+ border-bottom: none;
449
+ }
450
+
451
+ .field-table td:first-child {
452
+ width: 140px;
453
+ color: var(--text-muted);
454
+ }
455
+
456
+ .field-table code {
457
+ background: rgba(255, 255, 255, 0.1);
458
+ padding: 2px 6px;
459
+ border-radius: 4px;
460
+ }
461
+
462
+ /* Keyboard shortcut styling */
463
+ kbd {
464
+ background: var(--secondary);
465
+ border: 1px solid var(--border);
466
+ border-radius: 4px;
467
+ padding: 2px 6px;
468
+ font-family: inherit;
469
+ font-size: 0.85rem;
470
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
471
+ }
472
+
473
+ /* Config blocks (show/hide based on setup method selection) */
474
+ .config-block {
475
+ display: none;
476
+ }
477
+
478
+ .config-block.active {
479
+ display: block;
480
+ }
481
+
482
+ /* Tabs */
483
+ .tabs {
484
+ display: flex;
485
+ gap: 8px;
486
+ margin-bottom: 16px;
487
+ border-bottom: 1px solid var(--border);
488
+ padding-bottom: 8px;
489
+ }
490
+
491
+ .tab {
492
+ padding: 8px 16px;
493
+ border: none;
494
+ background: none;
495
+ cursor: pointer;
496
+ color: var(--text-muted);
497
+ font-size: 0.9rem;
498
+ border-radius: 4px;
499
+ }
500
+
501
+ .tab.active {
502
+ background: var(--primary);
503
+ color: white;
504
+ }
505
+
506
+ .tab-content {
507
+ display: none;
508
+ }
509
+
510
+ .tab-content.active {
511
+ display: block;
512
+ }
513
+
514
+ /* Code blocks */
515
+ pre {
516
+ background: var(--code-bg);
517
+ color: var(--code-text);
518
+ padding: 16px;
519
+ border-radius: 8px;
520
+ overflow-x: auto;
521
+ margin: 16px 0;
522
+ }
523
+
524
+ code {
525
+ font-family: "SF Mono", Monaco, Consolas, monospace;
526
+ font-size: 0.9rem;
527
+ }
528
+
529
+ p code, li code {
530
+ background: var(--secondary);
531
+ padding: 2px 6px;
532
+ border-radius: 4px;
533
+ color: var(--primary-dark);
534
+ }
535
+
536
+ /* Examples */
537
+ .examples {
538
+ padding: 60px 0;
539
+ }
540
+
541
+ .examples h2 {
542
+ text-align: center;
543
+ margin-bottom: 48px;
544
+ }
545
+
546
+ .example {
547
+ margin-bottom: 32px;
548
+ border: 1px solid var(--border);
549
+ border-radius: 12px;
550
+ overflow: hidden;
551
+ }
552
+
553
+ .user-message, .ai-message {
554
+ padding: 20px;
555
+ }
556
+
557
+ .user-message {
558
+ background: var(--secondary);
559
+ border-bottom: 1px solid var(--border);
560
+ }
561
+
562
+ .ai-message ul {
563
+ margin-left: 20px;
564
+ margin-top: 8px;
565
+ }
566
+
567
+ .example-queries {
568
+ list-style: none;
569
+ margin-left: 0;
570
+ }
571
+
572
+ .example-queries li {
573
+ padding: 8px 12px;
574
+ background: var(--secondary);
575
+ border-radius: 6px;
576
+ margin-bottom: 8px;
577
+ font-style: italic;
578
+ }
579
+
580
+ /* Tools */
581
+ .tools {
582
+ padding: 60px 0;
583
+ background: var(--secondary);
584
+ }
585
+
586
+ .tools h2 {
587
+ text-align: center;
588
+ margin-bottom: 32px;
589
+ }
590
+
591
+ .tool-grid {
592
+ display: grid;
593
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
594
+ gap: 16px;
595
+ }
596
+
597
+ .tool {
598
+ background: var(--background);
599
+ padding: 16px;
600
+ border-radius: 8px;
601
+ border: 1px solid var(--border);
602
+ }
603
+
604
+ .tool code {
605
+ display: block;
606
+ color: var(--primary);
607
+ font-size: 0.85rem;
608
+ margin-bottom: 8px;
609
+ }
610
+
611
+ .tool p {
612
+ color: var(--text-muted);
613
+ font-size: 0.9rem;
614
+ margin: 0;
615
+ }
616
+
617
+ .tool-note {
618
+ text-align: center;
619
+ margin-top: 24px;
620
+ }
621
+
622
+ .tool-note a {
623
+ color: var(--primary);
624
+ }
625
+
626
+ /* Support */
627
+ .support {
628
+ padding: 60px 0;
629
+ }
630
+
631
+ .support h2 {
632
+ text-align: center;
633
+ margin-bottom: 32px;
634
+ }
635
+
636
+ .support-links {
637
+ display: grid;
638
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
639
+ gap: 24px;
640
+ }
641
+
642
+ .support-link {
643
+ display: flex;
644
+ align-items: center;
645
+ gap: 16px;
646
+ padding: 20px;
647
+ border: 1px solid var(--border);
648
+ border-radius: 12px;
649
+ text-decoration: none;
650
+ color: var(--text);
651
+ transition: all 0.2s;
652
+ }
653
+
654
+ .support-link:hover {
655
+ border-color: var(--primary);
656
+ box-shadow: 0 4px 12px rgba(99, 102, 241, 0.1);
657
+ }
658
+
659
+ .support-icon {
660
+ font-size: 2rem;
661
+ }
662
+
663
+ .support-link p {
664
+ color: var(--text-muted);
665
+ font-size: 0.9rem;
666
+ margin: 0;
667
+ }
668
+
669
+ /* Footer */
670
+ footer {
671
+ border-top: 1px solid var(--border);
672
+ padding: 24px 0;
673
+ text-align: center;
674
+ color: var(--text-muted);
675
+ font-size: 0.9rem;
676
+ }
677
+
678
+ footer a {
679
+ color: var(--primary);
680
+ }
681
+
682
+ /* Responsive */
683
+ @media (max-width: 768px) {
684
+ .hero h1 {
685
+ font-size: 2rem;
686
+ }
687
+
688
+ .step {
689
+ flex-direction: column;
690
+ }
691
+
692
+ .cta-buttons {
693
+ flex-direction: column;
694
+ align-items: center;
695
+ }
696
+
697
+ nav {
698
+ gap: 16px;
699
+ }
700
+ }