ydev-mern 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,732 @@
1
+ /* App.css - y-DEV Showcase Styles */
2
+
3
+ .app-container {
4
+ display: flex;
5
+ flex-direction: column;
6
+ min-height: 100vh;
7
+ position: relative;
8
+ }
9
+
10
+ /* Background Glowing Orbs */
11
+ .bg-glow-orb-1 {
12
+ position: fixed;
13
+ top: -150px;
14
+ left: 50%;
15
+ transform: translateX(-50%);
16
+ width: 700px;
17
+ height: 500px;
18
+ background: radial-gradient(circle, rgba(139, 92, 246, 0.22) 0%, rgba(6, 182, 212, 0.08) 50%, transparent 70%);
19
+ filter: blur(80px);
20
+ pointer-events: none;
21
+ z-index: 0;
22
+ }
23
+
24
+ .bg-glow-orb-2 {
25
+ position: fixed;
26
+ bottom: 50px;
27
+ right: -100px;
28
+ width: 450px;
29
+ height: 450px;
30
+ background: radial-gradient(circle, rgba(6, 182, 212, 0.15) 0%, transparent 70%);
31
+ filter: blur(90px);
32
+ pointer-events: none;
33
+ z-index: 0;
34
+ }
35
+
36
+ /* Top Navbar */
37
+ .navbar {
38
+ position: sticky;
39
+ top: 0;
40
+ z-index: 50;
41
+ backdrop-filter: blur(16px);
42
+ -webkit-backdrop-filter: blur(16px);
43
+ background: rgba(10, 12, 16, 0.8);
44
+ border-bottom: 1px solid var(--border-subtle);
45
+ }
46
+
47
+ .nav-content {
48
+ max-width: 1200px;
49
+ margin: 0 auto;
50
+ padding: 16px 24px;
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: space-between;
54
+ }
55
+
56
+ .logo-brand {
57
+ display: flex;
58
+ align-items: center;
59
+ gap: 10px;
60
+ text-decoration: none;
61
+ font-weight: 800;
62
+ font-size: 22px;
63
+ letter-spacing: -0.5px;
64
+ color: var(--text-primary);
65
+ }
66
+
67
+ .logo-badge {
68
+ background: linear-gradient(135deg, #8b5cf6, #06b6d4);
69
+ color: #fff;
70
+ font-size: 11px;
71
+ font-weight: 700;
72
+ padding: 2px 7px;
73
+ border-radius: 6px;
74
+ text-transform: uppercase;
75
+ letter-spacing: 0.5px;
76
+ }
77
+
78
+ .nav-links {
79
+ display: flex;
80
+ align-items: center;
81
+ gap: 28px;
82
+ }
83
+
84
+ .nav-link {
85
+ color: var(--text-secondary);
86
+ text-decoration: none;
87
+ font-size: 14px;
88
+ font-weight: 500;
89
+ transition: color 0.2s ease;
90
+ }
91
+
92
+ .nav-link:hover {
93
+ color: var(--text-primary);
94
+ }
95
+
96
+ .nav-cta {
97
+ background: rgba(139, 92, 246, 0.15);
98
+ border: 1px solid rgba(139, 92, 246, 0.3);
99
+ color: #c4b5fd;
100
+ font-size: 13px;
101
+ font-weight: 600;
102
+ padding: 7px 16px;
103
+ border-radius: 9999px;
104
+ text-decoration: none;
105
+ display: flex;
106
+ align-items: center;
107
+ gap: 6px;
108
+ transition: all 0.2s ease;
109
+ }
110
+
111
+ .nav-cta:hover {
112
+ background: rgba(139, 92, 246, 0.25);
113
+ border-color: rgba(139, 92, 246, 0.6);
114
+ color: #ffffff;
115
+ box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
116
+ }
117
+
118
+ /* Hero Section */
119
+ .hero-section {
120
+ position: relative;
121
+ z-index: 1;
122
+ max-width: 1100px;
123
+ margin: 0 auto;
124
+ padding: 80px 24px 60px;
125
+ text-align: center;
126
+ display: flex;
127
+ flex-direction: column;
128
+ align-items: center;
129
+ }
130
+
131
+ .pill-badge {
132
+ display: inline-flex;
133
+ align-items: center;
134
+ gap: 8px;
135
+ padding: 6px 14px;
136
+ background: rgba(139, 92, 246, 0.1);
137
+ border: 1px solid rgba(139, 92, 246, 0.25);
138
+ border-radius: 9999px;
139
+ font-size: 13px;
140
+ font-weight: 600;
141
+ color: #d8b4fe;
142
+ margin-bottom: 24px;
143
+ backdrop-filter: blur(8px);
144
+ animation: pulse-border 3s infinite ease-in-out;
145
+ }
146
+
147
+ .pill-dot {
148
+ width: 8px;
149
+ height: 8px;
150
+ background: #10b981;
151
+ border-radius: 50%;
152
+ box-shadow: 0 0 8px #10b981;
153
+ }
154
+
155
+ @keyframes pulse-border {
156
+ 0%, 100% { border-color: rgba(139, 92, 246, 0.3); }
157
+ 50% { border-color: rgba(6, 182, 212, 0.5); }
158
+ }
159
+
160
+ .hero-title {
161
+ font-size: 80px;
162
+ line-height: 1.05;
163
+ font-weight: 800;
164
+ letter-spacing: -2px;
165
+ margin-bottom: 20px;
166
+ }
167
+
168
+ .hero-gradient {
169
+ background: linear-gradient(135deg, #ffffff 15%, #c084fc 50%, #38bdf8 85%);
170
+ -webkit-background-clip: text;
171
+ -webkit-text-fill-color: transparent;
172
+ display: inline-block;
173
+ text-shadow: 0 0 40px rgba(192, 132, 252, 0.25);
174
+ }
175
+
176
+ .hero-subtitle {
177
+ font-size: 20px;
178
+ line-height: 1.5;
179
+ max-width: 680px;
180
+ color: var(--text-secondary);
181
+ margin-bottom: 36px;
182
+ font-weight: 400;
183
+ }
184
+
185
+ /* Command Install Bar */
186
+ .install-wrapper {
187
+ width: 100%;
188
+ max-width: 560px;
189
+ margin-bottom: 36px;
190
+ }
191
+
192
+ .package-tabs {
193
+ display: flex;
194
+ gap: 6px;
195
+ margin-bottom: 8px;
196
+ justify-content: center;
197
+ }
198
+
199
+ .tab-btn {
200
+ background: transparent;
201
+ border: 1px solid transparent;
202
+ color: var(--text-muted);
203
+ font-family: var(--font-mono);
204
+ font-size: 12px;
205
+ font-weight: 600;
206
+ padding: 4px 12px;
207
+ border-radius: 6px;
208
+ cursor: pointer;
209
+ transition: all 0.2s ease;
210
+ }
211
+
212
+ .tab-btn:hover {
213
+ color: var(--text-secondary);
214
+ }
215
+
216
+ .tab-btn.active {
217
+ background: rgba(255, 255, 255, 0.06);
218
+ border-color: var(--border-subtle);
219
+ color: #38bdf8;
220
+ }
221
+
222
+ .terminal-box {
223
+ display: flex;
224
+ align-items: center;
225
+ justify-content: space-between;
226
+ background: #0d111a;
227
+ border: 1px solid rgba(255, 255, 255, 0.12);
228
+ border-radius: 12px;
229
+ padding: 10px 14px 10px 18px;
230
+ box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45), 0 0 20px rgba(139, 92, 246, 0.1);
231
+ transition: border-color 0.2s ease;
232
+ }
233
+
234
+ .terminal-box:hover {
235
+ border-color: rgba(139, 92, 246, 0.4);
236
+ }
237
+
238
+ .command-content {
239
+ display: flex;
240
+ align-items: center;
241
+ gap: 12px;
242
+ font-family: var(--font-mono);
243
+ font-size: 15px;
244
+ }
245
+
246
+ .terminal-prompt {
247
+ color: #38bdf8;
248
+ user-select: none;
249
+ font-weight: 700;
250
+ }
251
+
252
+ .terminal-cmd {
253
+ color: #f1f5f9;
254
+ letter-spacing: 0.3px;
255
+ font-weight: 500;
256
+ }
257
+
258
+ .copy-btn {
259
+ background: rgba(255, 255, 255, 0.07);
260
+ border: 1px solid rgba(255, 255, 255, 0.1);
261
+ color: var(--text-secondary);
262
+ font-family: var(--font-sans);
263
+ font-size: 13px;
264
+ font-weight: 600;
265
+ padding: 7px 14px;
266
+ border-radius: 8px;
267
+ cursor: pointer;
268
+ display: flex;
269
+ align-items: center;
270
+ gap: 7px;
271
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
272
+ }
273
+
274
+ .copy-btn:hover {
275
+ background: rgba(255, 255, 255, 0.14);
276
+ color: #ffffff;
277
+ border-color: rgba(255, 255, 255, 0.2);
278
+ }
279
+
280
+ .copy-btn.copied {
281
+ background: rgba(16, 185, 129, 0.2);
282
+ border-color: rgba(16, 185, 129, 0.5);
283
+ color: #34d399;
284
+ }
285
+
286
+ /* Badges Bar */
287
+ .badges-row {
288
+ display: flex;
289
+ flex-wrap: wrap;
290
+ justify-content: center;
291
+ gap: 12px;
292
+ margin-bottom: 24px;
293
+ }
294
+
295
+ .metric-badge {
296
+ display: flex;
297
+ align-items: center;
298
+ gap: 8px;
299
+ background: rgba(15, 23, 42, 0.6);
300
+ border: 1px solid var(--border-subtle);
301
+ border-radius: 8px;
302
+ padding: 6px 12px;
303
+ font-size: 13px;
304
+ color: var(--text-secondary);
305
+ }
306
+
307
+ .metric-badge strong {
308
+ color: var(--text-primary);
309
+ }
310
+
311
+ /* Interactive Playground Card */
312
+ .demo-section {
313
+ position: relative;
314
+ z-index: 1;
315
+ max-width: 960px;
316
+ width: 100%;
317
+ margin: 0 auto 80px;
318
+ padding: 0 24px;
319
+ }
320
+
321
+ .section-tag {
322
+ font-family: var(--font-mono);
323
+ font-size: 12px;
324
+ font-weight: 700;
325
+ letter-spacing: 1.5px;
326
+ text-transform: uppercase;
327
+ color: #38bdf8;
328
+ margin-bottom: 8px;
329
+ text-align: center;
330
+ }
331
+
332
+ .section-title {
333
+ font-size: 32px;
334
+ font-weight: 700;
335
+ text-align: center;
336
+ margin-bottom: 12px;
337
+ letter-spacing: -0.5px;
338
+ }
339
+
340
+ .section-desc {
341
+ font-size: 16px;
342
+ text-align: center;
343
+ color: var(--text-secondary);
344
+ max-width: 580px;
345
+ margin: 0 auto 36px;
346
+ }
347
+
348
+ .interactive-card {
349
+ background: linear-gradient(180deg, rgba(22, 28, 42, 0.8) 0%, rgba(13, 17, 26, 0.9) 100%);
350
+ border: 1px solid rgba(255, 255, 255, 0.1);
351
+ border-radius: 16px;
352
+ overflow: hidden;
353
+ box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.6), 0 0 30px rgba(139, 92, 246, 0.08);
354
+ backdrop-filter: blur(12px);
355
+ }
356
+
357
+ .card-topbar {
358
+ display: flex;
359
+ align-items: center;
360
+ justify-content: space-between;
361
+ padding: 14px 20px;
362
+ background: rgba(10, 14, 22, 0.6);
363
+ border-bottom: 1px solid rgba(255, 255, 255, 0.06);
364
+ }
365
+
366
+ .window-dots {
367
+ display: flex;
368
+ gap: 6px;
369
+ }
370
+
371
+ .dot {
372
+ width: 10px;
373
+ height: 10px;
374
+ border-radius: 50%;
375
+ }
376
+ .dot-red { background: #ef4444; }
377
+ .dot-yellow { background: #f59e0b; }
378
+ .dot-green { background: #10b981; }
379
+
380
+ .window-title {
381
+ font-family: var(--font-mono);
382
+ font-size: 12px;
383
+ color: var(--text-muted);
384
+ }
385
+
386
+ .card-body {
387
+ padding: 32px;
388
+ display: grid;
389
+ grid-template-columns: 1.2fr 1fr;
390
+ gap: 32px;
391
+ }
392
+
393
+ .demo-controls h4 {
394
+ font-size: 18px;
395
+ margin-bottom: 8px;
396
+ color: var(--text-primary);
397
+ }
398
+
399
+ .demo-controls p {
400
+ font-size: 14px;
401
+ color: var(--text-secondary);
402
+ margin-bottom: 24px;
403
+ }
404
+
405
+ .control-group {
406
+ margin-bottom: 20px;
407
+ }
408
+
409
+ .control-label {
410
+ display: block;
411
+ font-size: 12px;
412
+ font-weight: 600;
413
+ color: var(--text-muted);
414
+ text-transform: uppercase;
415
+ letter-spacing: 0.5px;
416
+ margin-bottom: 8px;
417
+ }
418
+
419
+ .button-row {
420
+ display: flex;
421
+ gap: 10px;
422
+ }
423
+
424
+ .interactive-btn {
425
+ background: rgba(139, 92, 246, 0.15);
426
+ border: 1px solid rgba(139, 92, 246, 0.35);
427
+ color: #c4b5fd;
428
+ font-size: 14px;
429
+ font-weight: 600;
430
+ padding: 9px 18px;
431
+ border-radius: 8px;
432
+ cursor: pointer;
433
+ display: inline-flex;
434
+ align-items: center;
435
+ gap: 8px;
436
+ transition: all 0.2s ease;
437
+ }
438
+
439
+ .interactive-btn:hover {
440
+ background: rgba(139, 92, 246, 0.25);
441
+ transform: translateY(-1px);
442
+ box-shadow: 0 4px 12px rgba(139, 92, 246, 0.25);
443
+ }
444
+
445
+ .interactive-btn:active {
446
+ transform: translateY(0);
447
+ }
448
+
449
+ .interactive-btn.secondary {
450
+ background: rgba(255, 255, 255, 0.05);
451
+ border-color: rgba(255, 255, 255, 0.1);
452
+ color: var(--text-secondary);
453
+ }
454
+
455
+ .interactive-btn.secondary:hover {
456
+ background: rgba(255, 255, 255, 0.1);
457
+ color: #fff;
458
+ }
459
+
460
+ .demo-preview {
461
+ background: #090c12;
462
+ border: 1px solid rgba(255, 255, 255, 0.08);
463
+ border-radius: 12px;
464
+ padding: 20px;
465
+ display: flex;
466
+ flex-direction: column;
467
+ justify-content: space-between;
468
+ }
469
+
470
+ .preview-header {
471
+ display: flex;
472
+ justify-content: space-between;
473
+ align-items: center;
474
+ margin-bottom: 16px;
475
+ font-size: 12px;
476
+ color: var(--text-muted);
477
+ }
478
+
479
+ .preview-status {
480
+ display: flex;
481
+ align-items: center;
482
+ gap: 6px;
483
+ color: #34d399;
484
+ font-size: 12px;
485
+ font-weight: 600;
486
+ }
487
+
488
+ .pulse-led {
489
+ width: 6px;
490
+ height: 6px;
491
+ background: #10b981;
492
+ border-radius: 50%;
493
+ box-shadow: 0 0 6px #10b981;
494
+ }
495
+
496
+ .preview-stats {
497
+ display: flex;
498
+ flex-direction: column;
499
+ gap: 12px;
500
+ }
501
+
502
+ .stat-item {
503
+ display: flex;
504
+ justify-content: space-between;
505
+ font-size: 13px;
506
+ border-bottom: 1px dashed rgba(255, 255, 255, 0.06);
507
+ padding-bottom: 8px;
508
+ }
509
+
510
+ .stat-item span:first-child {
511
+ color: var(--text-secondary);
512
+ }
513
+
514
+ .stat-item span:last-child {
515
+ font-family: var(--font-mono);
516
+ color: #38bdf8;
517
+ font-weight: 600;
518
+ }
519
+
520
+ .live-log-output {
521
+ margin-top: 16px;
522
+ background: rgba(0, 0, 0, 0.4);
523
+ border-radius: 6px;
524
+ padding: 10px 12px;
525
+ font-family: var(--font-mono);
526
+ font-size: 12px;
527
+ color: #a78bfa;
528
+ min-height: 48px;
529
+ display: flex;
530
+ align-items: center;
531
+ }
532
+
533
+ /* Features Grid */
534
+ .features-section {
535
+ position: relative;
536
+ z-index: 1;
537
+ max-width: 1100px;
538
+ margin: 0 auto 80px;
539
+ padding: 0 24px;
540
+ }
541
+
542
+ .features-grid {
543
+ display: grid;
544
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
545
+ gap: 24px;
546
+ }
547
+
548
+ .feature-card {
549
+ background: var(--bg-card);
550
+ border: 1px solid var(--border-subtle);
551
+ border-radius: 16px;
552
+ padding: 28px;
553
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
554
+ position: relative;
555
+ overflow: hidden;
556
+ }
557
+
558
+ .feature-card::before {
559
+ content: '';
560
+ position: absolute;
561
+ top: 0;
562
+ left: 0;
563
+ right: 0;
564
+ height: 2px;
565
+ background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.4), transparent);
566
+ opacity: 0;
567
+ transition: opacity 0.3s ease;
568
+ }
569
+
570
+ .feature-card:hover {
571
+ transform: translateY(-4px);
572
+ border-color: rgba(139, 92, 246, 0.3);
573
+ background: var(--bg-card-hover);
574
+ box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.5), 0 0 20px rgba(139, 92, 246, 0.1);
575
+ }
576
+
577
+ .feature-card:hover::before {
578
+ opacity: 1;
579
+ }
580
+
581
+ .feature-icon-wrapper {
582
+ width: 48px;
583
+ height: 48px;
584
+ border-radius: 12px;
585
+ display: flex;
586
+ align-items: center;
587
+ justify-content: center;
588
+ font-size: 22px;
589
+ margin-bottom: 20px;
590
+ background: rgba(139, 92, 246, 0.12);
591
+ border: 1px solid rgba(139, 92, 246, 0.25);
592
+ color: #c084fc;
593
+ }
594
+
595
+ .feature-title {
596
+ font-size: 19px;
597
+ font-weight: 700;
598
+ margin-bottom: 10px;
599
+ color: var(--text-primary);
600
+ }
601
+
602
+ .feature-desc {
603
+ font-size: 14px;
604
+ line-height: 1.6;
605
+ color: var(--text-secondary);
606
+ }
607
+
608
+ /* Quick Start Code Section */
609
+ .code-section {
610
+ position: relative;
611
+ z-index: 1;
612
+ max-width: 860px;
613
+ margin: 0 auto 90px;
614
+ padding: 0 24px;
615
+ width: 100%;
616
+ }
617
+
618
+ .code-container {
619
+ background: #0d1117;
620
+ border: 1px solid rgba(255, 255, 255, 0.1);
621
+ border-radius: 14px;
622
+ overflow: hidden;
623
+ box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
624
+ }
625
+
626
+ .code-header {
627
+ display: flex;
628
+ justify-content: space-between;
629
+ align-items: center;
630
+ padding: 12px 18px;
631
+ background: #161b22;
632
+ border-bottom: 1px solid rgba(255, 255, 255, 0.06);
633
+ font-size: 13px;
634
+ color: var(--text-secondary);
635
+ }
636
+
637
+ .code-filename {
638
+ font-family: var(--font-mono);
639
+ display: flex;
640
+ align-items: center;
641
+ gap: 8px;
642
+ }
643
+
644
+ .code-block {
645
+ padding: 24px;
646
+ font-family: var(--font-mono);
647
+ font-size: 14px;
648
+ line-height: 1.7;
649
+ overflow-x: auto;
650
+ color: #e6edf3;
651
+ }
652
+
653
+ .code-comment { color: #8b949e; }
654
+ .code-keyword { color: #ff7b72; font-weight: 600; }
655
+ .code-func { color: #d2a8ff; }
656
+ .code-string { color: #a5d6ff; }
657
+ .code-var { color: #79c0ff; }
658
+
659
+ /* Footer */
660
+ .footer {
661
+ position: relative;
662
+ z-index: 1;
663
+ border-top: 1px solid var(--border-subtle);
664
+ background: rgba(10, 12, 16, 0.9);
665
+ padding: 40px 24px;
666
+ margin-top: auto;
667
+ }
668
+
669
+ .footer-content {
670
+ max-width: 1100px;
671
+ margin: 0 auto;
672
+ display: flex;
673
+ flex-direction: column;
674
+ align-items: center;
675
+ text-align: center;
676
+ gap: 16px;
677
+ }
678
+
679
+ .footer-brand {
680
+ font-size: 18px;
681
+ font-weight: 700;
682
+ color: var(--text-primary);
683
+ }
684
+
685
+ .footer-text {
686
+ font-size: 14px;
687
+ color: var(--text-muted);
688
+ }
689
+
690
+ .footer-badges {
691
+ display: flex;
692
+ gap: 16px;
693
+ margin-top: 8px;
694
+ }
695
+
696
+ .footer-badge-link {
697
+ color: var(--text-secondary);
698
+ font-size: 13px;
699
+ text-decoration: none;
700
+ transition: color 0.2s;
701
+ }
702
+
703
+ .footer-badge-link:hover {
704
+ color: #38bdf8;
705
+ }
706
+
707
+ /* Responsive adjustments */
708
+ @media (max-width: 840px) {
709
+ .hero-title {
710
+ font-size: 52px;
711
+ }
712
+ .card-body {
713
+ grid-template-columns: 1fr;
714
+ gap: 24px;
715
+ padding: 20px;
716
+ }
717
+ .nav-links {
718
+ display: none;
719
+ }
720
+ }
721
+
722
+ @media (max-width: 480px) {
723
+ .hero-title {
724
+ font-size: 42px;
725
+ }
726
+ .hero-subtitle {
727
+ font-size: 16px;
728
+ }
729
+ .terminal-cmd {
730
+ font-size: 13px;
731
+ }
732
+ }