@zshuangmu/agenthub 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/lib/html.js CHANGED
@@ -218,26 +218,30 @@ const langScript = `
218
218
  const savedTheme = localStorage.getItem('agenthub-theme') || 'light';
219
219
  setTheme(savedTheme);
220
220
 
221
+ // Copy to clipboard with fallback
222
+ async function copyText(text) {
223
+ if (navigator.clipboard?.writeText) {
224
+ return navigator.clipboard.writeText(text);
225
+ }
226
+ const ta = Object.assign(document.createElement('textarea'), { value: text, style: 'position:fixed;opacity:0' });
227
+ document.body.appendChild(ta);
228
+ ta.select();
229
+ document.execCommand('copy');
230
+ ta.remove();
231
+ }
232
+
221
233
  // Initialize copy buttons
222
234
  document.querySelectorAll('.api-code, .detail-install').forEach(el => {
223
- el.addEventListener('click', async (e) => {
224
- const codeText = el.querySelector('.code-text');
225
- const text = codeText ? codeText.textContent.trim() : el.textContent.trim();
235
+ el.addEventListener('click', () => {
236
+ const text = el.querySelector('.code-text')?.textContent.trim() || el.textContent.trim();
226
237
  const btn = el.querySelector('.copy-btn');
227
238
 
228
- try {
229
- await navigator.clipboard.writeText(text);
230
- if (btn) {
231
- btn.textContent = '';
232
- btn.classList.add('copied');
233
- setTimeout(() => {
234
- btn.textContent = '📋';
235
- btn.classList.remove('copied');
236
- }, 2000);
237
- }
238
- } catch (err) {
239
- console.error('Copy failed:', err);
240
- }
239
+ copyText(text).then(() => {
240
+ if (!btn) return;
241
+ btn.textContent = '✓';
242
+ btn.classList.add('copied');
243
+ setTimeout(() => { btn.textContent = '📋'; btn.classList.remove('copied'); }, 1500);
244
+ }).catch(e => console.error('Copy failed:', e));
241
245
  });
242
246
  });
243
247
  });
@@ -302,48 +306,54 @@ function page(title, body, options = {}) {
302
306
  <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🦀</text></svg>">
303
307
  <link rel="preconnect" href="https://fonts.googleapis.com">
304
308
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
305
- <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;700&family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap" rel="stylesheet">
309
+ <link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@500;600;700&family=Geist:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap" rel="stylesheet">
306
310
  <style>
307
- /* Light theme (default) */
311
+ /* Light theme (default) - Vibrant Sunset palette */
308
312
  :root {
309
- --font-display: 'JetBrains Mono', monospace;
310
- --font-body: 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
311
- --bg-primary: #fafafa;
312
- --bg-secondary: #f0f0f0;
313
+ --color-1: #fd63a3;
314
+ --color-2: #fe9800;
315
+ --color-3: #ffb74d;
316
+ --font-display: 'Geist Mono', 'SF Mono', 'Fira Code', monospace;
317
+ --font-body: 'Geist', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
318
+ --bg-primary: #fffbf7;
319
+ --bg-secondary: #fff5ed;
313
320
  --bg-card: #ffffff;
314
- --bg-card-hover: #f8f8f8;
315
- --bg-code: #f4f4f5;
316
- --text-primary: #18181b;
317
- --text-secondary: #52525b;
318
- --text-muted: #a1a1aa;
319
- --accent: #00d68f;
320
- --accent-light: #00e6a0;
321
- --accent-dark: #00b377;
322
- --accent-glow: rgba(0, 214, 143, 0.15);
323
- --border: #e4e4e7;
324
- --header-bg: rgba(250, 250, 250, 0.92);
325
- --tag-ops: #8b5cf6;
326
- --tag-engineering: #3b82f6;
327
- --tag-content: #f59e0b;
328
- --tag-product: #ec4899;
329
- }
330
-
331
- /* Dark theme - Enhanced */
321
+ --bg-card-hover: #fff8f3;
322
+ --bg-code: #fff9f5;
323
+ --text-primary: #2d1810;
324
+ --text-secondary: #6b4a3a;
325
+ --text-muted: #a08070;
326
+ --accent: #fa709a;
327
+ --accent-light: #ff9a8b;
328
+ --accent-dark: #e85a80;
329
+ --accent-glow: rgba(250, 112, 154, 0.12);
330
+ --border: #f0d8c8;
331
+ --header-bg: rgba(255, 251, 247, 0.95);
332
+ --tag-ops: #fa709a;
333
+ --tag-engineering: #ff9a8b;
334
+ --tag-content: #fee140;
335
+ --tag-product: #f5a623;
336
+ }
337
+
338
+ /* Dark theme - Vibrant sunset tones */
332
339
  [data-theme="dark"] {
333
- --bg-primary: #09090b;
334
- --bg-secondary: #18181b;
335
- --bg-card: #1c1c1f;
336
- --bg-card-hover: #242427;
337
- --bg-code: #18181b;
338
- --text-primary: #fafafa;
339
- --text-secondary: #a1a1aa;
340
- --text-muted: #71717a;
341
- --accent: #00e6a0;
342
- --accent-light: #34d399;
343
- --accent-dark: #00d68f;
344
- --accent-glow: rgba(0, 230, 160, 0.12);
345
- --border: #27272a;
346
- --header-bg: rgba(9, 9, 11, 0.92);
340
+ --color-1: #fd63a3;
341
+ --color-2: #fe9800;
342
+ --color-3: #ffb74d;
343
+ --bg-primary: #1a1215;
344
+ --bg-secondary: #251a1d;
345
+ --bg-card: #2a1f22;
346
+ --bg-card-hover: #352528;
347
+ --bg-code: #251a1d;
348
+ --text-primary: #fff5f0;
349
+ --text-secondary: #d4b8a8;
350
+ --text-muted: #8a7060;
351
+ --accent: #ff9a8b;
352
+ --accent-light: #ffb8a8;
353
+ --accent-dark: #fa709a;
354
+ --accent-glow: rgba(255, 154, 139, 0.15);
355
+ --border: #3d2a28;
356
+ --header-bg: rgba(26, 18, 21, 0.95);
347
357
  }
348
358
  * { box-sizing: border-box; margin: 0; padding: 0; }
349
359
  body {
@@ -382,17 +392,17 @@ function page(title, body, options = {}) {
382
392
  padding: 0 24px;
383
393
  }
384
394
 
385
- /* Header */
395
+ /* Header - ClawHub inspired minimal style */
386
396
  header {
387
397
  border-bottom: 1px solid var(--border);
388
- padding: 16px 0;
398
+ padding: 20px 0;
389
399
  position: sticky;
390
400
  top: 0;
391
401
  background: var(--header-bg);
392
- backdrop-filter: blur(12px);
393
- -webkit-backdrop-filter: blur(12px);
402
+ backdrop-filter: blur(16px);
403
+ -webkit-backdrop-filter: blur(16px);
394
404
  z-index: 100;
395
- animation: fadeIn 0.4s ease-out;
405
+ animation: fadeIn 0.5s ease-out;
396
406
  }
397
407
  .header-content {
398
408
  display: flex;
@@ -402,29 +412,31 @@ function page(title, body, options = {}) {
402
412
  .logo {
403
413
  display: flex;
404
414
  align-items: center;
405
- gap: 10px;
415
+ gap: 12px;
406
416
  font-family: var(--font-display);
407
- font-size: 22px;
408
- font-weight: 700;
409
- letter-spacing: -0.5px;
410
- transition: opacity 0.2s;
417
+ font-size: 20px;
418
+ font-weight: 600;
419
+ letter-spacing: -0.02em;
420
+ transition: all 0.3s ease;
411
421
  }
412
422
  .logo:hover {
413
- opacity: 0.85;
423
+ transform: translateX(2px);
414
424
  }
415
425
  .logo-icon {
416
- width: 36px;
417
- height: 36px;
418
- background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
419
- border-radius: 8px;
420
- display: flex;
421
- align-items: center;
422
- justify-content: center;
423
- font-size: 20px;
424
- transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
426
+ font-size: 28px;
427
+ filter: drop-shadow(0 2px 4px rgba(250, 112, 154, 0.3));
428
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
425
429
  }
426
430
  .logo:hover .logo-icon {
427
- transform: rotate(-8deg) scale(1.05);
431
+ transform: rotate(-10deg) scale(1.1);
432
+ }
433
+ .logo-tagline {
434
+ font-size: 11px;
435
+ font-weight: 500;
436
+ color: var(--text-muted);
437
+ font-family: var(--font-body);
438
+ letter-spacing: 0.02em;
439
+ margin-top: 2px;
428
440
  }
429
441
  .nav-links {
430
442
  display: flex;
@@ -445,8 +457,9 @@ function page(title, body, options = {}) {
445
457
  left: 0;
446
458
  width: 0;
447
459
  height: 2px;
448
- background: var(--accent);
449
- transition: width 0.2s ease;
460
+ background: linear-gradient(90deg, var(--color-1), var(--color-3));
461
+ transition: width 0.25s ease;
462
+ border-radius: 1px;
450
463
  }
451
464
  .nav-links a:hover {
452
465
  color: var(--text-primary);
@@ -458,35 +471,35 @@ function page(title, body, options = {}) {
458
471
  display: flex;
459
472
  align-items: center;
460
473
  gap: 6px;
461
- padding: 6px 12px;
474
+ padding: 8px 14px;
462
475
  background: var(--bg-secondary);
463
- border-radius: 6px;
476
+ border-radius: 8px;
464
477
  font-size: 12px;
465
478
  color: var(--text-muted);
466
479
  font-family: var(--font-display);
467
480
  }
468
481
  .nav-powered a {
469
- color: var(--accent);
482
+ color: var(--color-1);
470
483
  font-weight: 600;
471
484
  }
472
485
  .nav-powered a::after {
473
486
  display: none;
474
487
  }
475
488
 
476
- /* Language Switcher */
489
+ /* Language Switcher - Coral themed */
477
490
  .lang-switcher {
478
491
  display: flex;
479
492
  background: var(--bg-secondary);
480
- border-radius: 6px;
493
+ border-radius: 8px;
481
494
  padding: 3px;
482
495
  gap: 2px;
483
496
  }
484
497
  .lang-btn {
485
- padding: 5px 10px;
498
+ padding: 6px 12px;
486
499
  border: none;
487
500
  background: transparent;
488
501
  color: var(--text-muted);
489
- border-radius: 5px;
502
+ border-radius: 6px;
490
503
  cursor: pointer;
491
504
  font-size: 12px;
492
505
  font-weight: 600;
@@ -497,174 +510,199 @@ function page(title, body, options = {}) {
497
510
  color: var(--text-primary);
498
511
  }
499
512
  .lang-btn.active {
500
- background: var(--accent);
513
+ background: linear-gradient(135deg, var(--color-1), var(--color-3));
501
514
  color: #ffffff;
502
515
  }
503
516
 
504
- /* Theme Switcher */
517
+ /* Theme Switcher - Coral themed */
505
518
  .theme-btn {
506
519
  background: var(--bg-secondary);
507
520
  border: none;
508
- width: 34px;
509
- height: 34px;
510
- border-radius: 6px;
521
+ width: 36px;
522
+ height: 36px;
523
+ border-radius: 8px;
511
524
  cursor: pointer;
512
525
  font-size: 16px;
513
526
  display: flex;
514
527
  align-items: center;
515
528
  justify-content: center;
516
- transition: all 0.2s;
529
+ transition: all 0.25s;
517
530
  margin-left: 6px;
518
531
  }
519
532
  .theme-btn:hover {
520
533
  background: var(--bg-card-hover);
534
+ transform: scale(1.05);
521
535
  }
522
536
  .theme-btn:active {
523
537
  transform: scale(0.95);
524
538
  }
525
539
 
526
- /* Hero */
540
+ /* Hero - Sunset gradient style */
527
541
  .hero {
528
542
  text-align: center;
529
- padding: 80px 20px 60px;
543
+ padding: 72px 20px 56px;
530
544
  position: relative;
531
545
  }
532
546
  .hero::before {
533
547
  content: '';
534
548
  position: absolute;
535
- top: 0;
549
+ top: -20px;
536
550
  left: 50%;
537
551
  transform: translateX(-50%);
538
- width: 600px;
539
- height: 400px;
540
- background: radial-gradient(ellipse, var(--accent-glow) 0%, transparent 70%);
552
+ width: 800px;
553
+ height: 500px;
554
+ background: radial-gradient(ellipse at center, rgba(250, 112, 154, 0.08) 0%, rgba(254, 225, 64, 0.05) 40%, transparent 70%);
541
555
  pointer-events: none;
542
556
  z-index: -1;
543
557
  }
544
558
  .hero h1 {
545
559
  font-family: var(--font-display);
546
- font-size: clamp(36px, 7vw, 56px);
560
+ font-size: clamp(40px, 8vw, 64px);
547
561
  font-weight: 700;
548
562
  margin-bottom: 16px;
549
- letter-spacing: -1px;
550
- background: linear-gradient(135deg, var(--accent-light) 0%, var(--accent) 50%, var(--accent-dark) 100%);
563
+ letter-spacing: -0.03em;
564
+ background: linear-gradient(135deg, var(--color-1) 0%, var(--color-3) 50%, var(--color-2) 100%);
551
565
  -webkit-background-clip: text;
552
566
  -webkit-text-fill-color: transparent;
553
567
  background-clip: text;
554
- animation: fadeInUp 0.5s ease-out;
568
+ animation: fadeInUp 0.6s ease-out;
555
569
  }
556
570
  .hero-subtitle {
557
- font-size: 18px;
571
+ font-size: 17px;
558
572
  color: var(--text-secondary);
559
- max-width: 640px;
560
- margin: 0 auto 40px;
561
- line-height: 1.7;
562
- animation: fadeInUp 0.5s ease-out 0.1s backwards;
573
+ max-width: 560px;
574
+ margin: 0 auto 44px;
575
+ line-height: 1.75;
576
+ animation: fadeInUp 0.6s ease-out 0.1s backwards;
563
577
  }
564
578
  .hero-stats {
565
579
  display: flex;
566
580
  justify-content: center;
567
- gap: 48px;
568
- margin-bottom: 48px;
569
- animation: fadeInUp 0.5s ease-out 0.2s backwards;
581
+ gap: 56px;
582
+ margin-bottom: 44px;
583
+ animation: fadeInUp 0.6s ease-out 0.2s backwards;
570
584
  }
571
585
  .hero-stat {
572
586
  text-align: center;
573
587
  }
574
588
  .hero-stat-value {
575
589
  font-family: var(--font-display);
576
- font-size: 32px;
590
+ font-size: 36px;
577
591
  font-weight: 700;
578
- color: var(--accent);
579
- letter-spacing: -1px;
592
+ background: linear-gradient(135deg, var(--color-1), var(--color-3));
593
+ -webkit-background-clip: text;
594
+ -webkit-text-fill-color: transparent;
595
+ background-clip: text;
596
+ letter-spacing: -0.02em;
580
597
  }
581
598
  .hero-stat-label {
582
- font-size: 12px;
599
+ font-size: 11px;
583
600
  color: var(--text-muted);
584
601
  text-transform: uppercase;
585
- letter-spacing: 1.5px;
586
- font-weight: 500;
602
+ letter-spacing: 0.1em;
603
+ font-weight: 600;
604
+ margin-top: 4px;
587
605
  }
588
606
 
589
- /* Features */
607
+ /* Features - Warm coral accents */
590
608
  .features {
591
609
  display: grid;
592
610
  grid-template-columns: repeat(3, 1fr);
593
- gap: 20px;
594
- margin-bottom: 60px;
611
+ gap: 16px;
612
+ margin-bottom: 56px;
595
613
  }
596
614
  .feature-card {
597
615
  background: var(--bg-card);
598
616
  border: 1px solid var(--border);
599
- border-radius: 12px;
600
- padding: 24px;
617
+ border-radius: 16px;
618
+ padding: 28px 24px;
601
619
  text-align: center;
602
- transition: all 0.25s ease;
620
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
621
+ position: relative;
622
+ overflow: hidden;
623
+ }
624
+ .feature-card::before {
625
+ content: '';
626
+ position: absolute;
627
+ top: 0;
628
+ left: 0;
629
+ right: 0;
630
+ height: 3px;
631
+ background: linear-gradient(90deg, var(--color-1), var(--color-3), var(--color-2));
632
+ opacity: 0;
633
+ transition: opacity 0.3s;
603
634
  }
604
635
  .feature-card:hover {
605
- border-color: var(--accent);
606
- box-shadow: 0 0 0 1px var(--accent-glow);
636
+ border-color: var(--color-1);
637
+ transform: translateY(-4px);
638
+ box-shadow: 0 12px 32px rgba(250, 112, 154, 0.12);
639
+ }
640
+ .feature-card:hover::before {
641
+ opacity: 1;
607
642
  }
608
643
  .feature-icon {
609
- font-size: 28px;
610
- margin-bottom: 12px;
644
+ font-size: 32px;
645
+ margin-bottom: 14px;
646
+ display: block;
611
647
  }
612
648
  .feature-title {
613
649
  font-family: var(--font-display);
614
- font-size: 15px;
650
+ font-size: 14px;
615
651
  font-weight: 600;
616
- margin-bottom: 6px;
617
- letter-spacing: -0.3px;
652
+ margin-bottom: 8px;
653
+ letter-spacing: -0.01em;
654
+ color: var(--text-primary);
618
655
  }
619
656
  .feature-desc {
620
657
  font-size: 13px;
621
658
  color: var(--text-secondary);
622
- line-height: 1.5;
659
+ line-height: 1.6;
623
660
  }
624
661
 
625
- /* Section */
662
+ /* Section - Coral themed */
626
663
  .section {
627
- margin-bottom: 60px;
664
+ margin-bottom: 56px;
628
665
  }
629
666
  .section-header {
630
667
  display: flex;
631
668
  align-items: center;
632
669
  justify-content: space-between;
633
- margin-bottom: 20px;
670
+ margin-bottom: 22px;
634
671
  }
635
672
  .section-title {
636
673
  font-family: var(--font-display);
637
674
  font-size: 20px;
638
675
  font-weight: 700;
639
- letter-spacing: -0.5px;
676
+ letter-spacing: -0.02em;
640
677
  }
641
678
  .section-link {
642
- color: var(--accent);
643
- font-weight: 500;
679
+ color: var(--color-1);
680
+ font-weight: 600;
644
681
  font-size: 14px;
645
682
  display: flex;
646
683
  align-items: center;
647
- gap: 4px;
648
- transition: gap 0.2s;
684
+ gap: 6px;
685
+ transition: all 0.25s;
649
686
  }
650
687
  .section-link:hover {
651
- gap: 8px;
688
+ gap: 10px;
689
+ color: var(--color-3);
652
690
  }
653
691
 
654
- /* Agent Grid */
692
+ /* Agent Grid - Coral themed */
655
693
  .agent-grid {
656
694
  display: grid;
657
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
658
- gap: 16px;
695
+ grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
696
+ gap: 18px;
659
697
  }
660
698
  .agent-card {
661
699
  background: var(--bg-card);
662
700
  border: 1px solid var(--border);
663
- border-radius: 12px;
664
- padding: 20px;
665
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
701
+ border-radius: 16px;
702
+ padding: 22px;
703
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
666
704
  cursor: pointer;
667
- animation: fadeInUp 0.4s ease-out backwards;
705
+ animation: fadeInUp 0.5s ease-out backwards;
668
706
  position: relative;
669
707
  }
670
708
  .agent-card:nth-child(1) { animation-delay: 0.05s; }
@@ -677,9 +715,9 @@ function page(title, body, options = {}) {
677
715
  .agent-card:nth-child(8) { animation-delay: 0.4s; }
678
716
  .agent-card:hover {
679
717
  background: var(--bg-card-hover);
680
- border-color: color-mix(in srgb, var(--accent) 50%, transparent);
681
- transform: translateY(-3px);
682
- box-shadow: 0 8px 24px var(--accent-glow);
718
+ border-color: var(--color-1);
719
+ transform: translateY(-4px);
720
+ box-shadow: 0 16px 40px rgba(250, 112, 154, 0.15);
683
721
  }
684
722
  .agent-header {
685
723
  display: flex;
@@ -691,26 +729,29 @@ function page(title, body, options = {}) {
691
729
  font-family: var(--font-display);
692
730
  font-size: 16px;
693
731
  font-weight: 600;
694
- letter-spacing: -0.3px;
732
+ letter-spacing: -0.01em;
695
733
  transition: color 0.2s;
696
734
  }
697
735
  .agent-card:hover .agent-name {
698
- color: var(--accent);
736
+ background: linear-gradient(135deg, var(--color-1), var(--color-3));
737
+ -webkit-background-clip: text;
738
+ -webkit-text-fill-color: transparent;
739
+ background-clip: text;
699
740
  }
700
741
  .agent-version {
701
- background: var(--bg-secondary);
702
- padding: 3px 8px;
703
- border-radius: 4px;
742
+ background: linear-gradient(135deg, rgba(250, 112, 154, 0.12), rgba(255, 154, 139, 0.12));
743
+ padding: 4px 10px;
744
+ border-radius: 6px;
704
745
  font-size: 11px;
705
746
  font-family: var(--font-display);
706
- color: var(--text-muted);
707
- font-weight: 500;
747
+ color: var(--color-1);
748
+ font-weight: 600;
708
749
  }
709
750
  .agent-desc {
710
751
  color: var(--text-secondary);
711
- font-size: 13px;
712
- margin-bottom: 12px;
713
- line-height: 1.5;
752
+ font-size: 14px;
753
+ margin-bottom: 14px;
754
+ line-height: 1.6;
714
755
  display: -webkit-box;
715
756
  -webkit-line-clamp: 2;
716
757
  -webkit-box-orient: vertical;
@@ -720,59 +761,60 @@ function page(title, body, options = {}) {
720
761
  display: flex;
721
762
  flex-wrap: wrap;
722
763
  gap: 6px;
723
- margin-bottom: 14px;
764
+ margin-bottom: 16px;
724
765
  }
725
766
  .agent-tag {
726
- padding: 3px 8px;
727
- border-radius: 4px;
767
+ padding: 4px 10px;
768
+ border-radius: 6px;
728
769
  font-size: 11px;
729
- font-weight: 500;
770
+ font-weight: 600;
730
771
  font-family: var(--font-display);
731
772
  }
732
- .tag-ops { background: rgba(139, 92, 246, 0.15); color: #a78bfa; }
733
- .tag-engineering { background: rgba(59, 130, 246, 0.15); color: #60a5fa; }
734
- .tag-content { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
735
- .tag-product { background: rgba(236, 72, 153, 0.15); color: #f472b6; }
773
+ .tag-ops { background: rgba(250, 112, 154, 0.12); color: var(--color-1); }
774
+ .tag-engineering { background: rgba(255, 154, 139, 0.12); color: var(--color-3); }
775
+ .tag-content { background: rgba(254, 225, 64, 0.15); color: #c9a800; }
776
+ .tag-product { background: rgba(245, 166, 35, 0.12); color: #e09000; }
736
777
  .tag-default { background: var(--bg-secondary); color: var(--text-muted); }
737
778
  .agent-footer {
738
779
  display: flex;
739
780
  align-items: center;
740
781
  justify-content: space-between;
741
- padding-top: 14px;
782
+ padding-top: 16px;
742
783
  border-top: 1px solid var(--border);
743
784
  }
744
785
  .agent-downloads {
745
786
  display: flex;
746
787
  align-items: center;
747
- gap: 5px;
788
+ gap: 6px;
748
789
  color: var(--text-muted);
749
790
  font-size: 13px;
750
791
  }
751
792
  .agent-install {
752
- background: var(--accent);
793
+ background: linear-gradient(135deg, var(--color-1) 0%, var(--color-3) 100%);
753
794
  color: #ffffff;
754
- padding: 6px 14px;
755
- border-radius: 6px;
795
+ padding: 8px 18px;
796
+ border-radius: 8px;
756
797
  font-size: 12px;
757
798
  font-family: var(--font-display);
758
799
  font-weight: 600;
759
- transition: all 0.2s;
800
+ transition: all 0.25s;
801
+ box-shadow: 0 4px 12px rgba(250, 112, 154, 0.25);
760
802
  }
761
803
  .agent-install:hover {
762
- background: var(--accent-dark);
763
- transform: translateY(-1px);
804
+ transform: translateY(-2px);
805
+ box-shadow: 0 6px 20px rgba(250, 112, 154, 0.35);
764
806
  }
765
807
  .agent-install:active {
766
808
  transform: translateY(0);
767
809
  }
768
810
 
769
- /* API Box */
811
+ /* API Box - Sunset gradient accent */
770
812
  .api-box {
771
813
  background: var(--bg-card);
772
814
  border: 1px solid var(--border);
773
- border-radius: 12px;
815
+ border-radius: 16px;
774
816
  padding: 32px;
775
- margin-bottom: 60px;
817
+ margin-bottom: 56px;
776
818
  position: relative;
777
819
  overflow: hidden;
778
820
  }
@@ -782,14 +824,14 @@ function page(title, body, options = {}) {
782
824
  top: 0;
783
825
  left: 0;
784
826
  right: 0;
785
- height: 2px;
786
- background: linear-gradient(90deg, var(--accent), var(--accent-light), var(--accent));
827
+ height: 3px;
828
+ background: linear-gradient(90deg, var(--color-1), var(--color-3), var(--color-2));
787
829
  }
788
830
  .api-box h3 {
789
831
  font-family: var(--font-display);
790
- font-size: 17px;
791
- margin-bottom: 6px;
792
- letter-spacing: -0.3px;
832
+ font-size: 16px;
833
+ margin-bottom: 8px;
834
+ letter-spacing: -0.01em;
793
835
  }
794
836
  .api-box p {
795
837
  color: var(--text-secondary);
@@ -799,11 +841,11 @@ function page(title, body, options = {}) {
799
841
  .api-code {
800
842
  background: var(--bg-code);
801
843
  border: 1px solid var(--border);
802
- border-radius: 8px;
844
+ border-radius: 10px;
803
845
  padding: 16px 20px;
804
846
  font-family: var(--font-display);
805
847
  font-size: 13px;
806
- color: var(--accent);
848
+ color: var(--color-1);
807
849
  overflow-x: auto;
808
850
  position: relative;
809
851
  cursor: pointer;
@@ -811,10 +853,10 @@ function page(title, body, options = {}) {
811
853
  align-items: center;
812
854
  justify-content: space-between;
813
855
  gap: 12px;
814
- transition: border-color 0.2s, background 0.2s;
856
+ transition: all 0.25s;
815
857
  }
816
858
  .api-code:hover {
817
- border-color: var(--accent);
859
+ border-color: var(--color-1);
818
860
  background: var(--bg-secondary);
819
861
  }
820
862
  .api-code .code-text {
@@ -831,8 +873,8 @@ function page(title, body, options = {}) {
831
873
  .api-code .copy-btn {
832
874
  background: transparent;
833
875
  border: 1px solid var(--border);
834
- border-radius: 4px;
835
- padding: 4px 8px;
876
+ border-radius: 6px;
877
+ padding: 6px 10px;
836
878
  font-size: 12px;
837
879
  color: var(--text-muted);
838
880
  cursor: pointer;
@@ -840,22 +882,22 @@ function page(title, body, options = {}) {
840
882
  flex-shrink: 0;
841
883
  }
842
884
  .api-code .copy-btn:hover {
843
- background: var(--accent);
844
- color: var(--bg-primary);
845
- border-color: var(--accent);
885
+ background: var(--color-1);
886
+ color: white;
887
+ border-color: var(--color-1);
846
888
  }
847
889
  .api-code .copy-btn.copied {
848
- background: #22c55e;
849
- border-color: #22c55e;
850
- color: white;
890
+ background: var(--color-2);
891
+ border-color: var(--color-2);
892
+ color: #2d1810;
851
893
  }
852
894
 
853
- /* Detail Page */
895
+ /* Detail Page - Coral themed */
854
896
  .detail-header {
855
897
  background: var(--bg-card);
856
898
  border: 1px solid var(--border);
857
- border-radius: 16px;
858
- padding: 32px;
899
+ border-radius: 20px;
900
+ padding: 36px;
859
901
  margin-bottom: 24px;
860
902
  position: relative;
861
903
  overflow: hidden;
@@ -866,63 +908,72 @@ function page(title, body, options = {}) {
866
908
  top: 0;
867
909
  left: 0;
868
910
  right: 0;
869
- height: 3px;
870
- background: linear-gradient(90deg, var(--accent), var(--accent-light));
911
+ height: 4px;
912
+ background: linear-gradient(90deg, var(--color-1), var(--color-3), var(--color-2));
871
913
  }
872
914
  .detail-title {
873
915
  font-family: var(--font-display);
874
- font-size: 28px;
916
+ font-size: 32px;
875
917
  font-weight: 700;
876
- margin-bottom: 8px;
877
- letter-spacing: -1px;
918
+ margin-bottom: 10px;
919
+ letter-spacing: -0.02em;
920
+ background: linear-gradient(135deg, var(--color-1), var(--color-3));
921
+ -webkit-background-clip: text;
922
+ -webkit-text-fill-color: transparent;
923
+ background-clip: text;
878
924
  }
879
925
  .detail-desc {
880
926
  font-size: 16px;
881
927
  color: var(--text-secondary);
882
- margin-bottom: 20px;
883
- line-height: 1.6;
928
+ margin-bottom: 24px;
929
+ line-height: 1.7;
884
930
  }
885
931
  .detail-grid {
886
932
  display: grid;
887
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
888
- gap: 12px;
889
- margin-bottom: 20px;
933
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
934
+ gap: 14px;
935
+ margin-bottom: 24px;
890
936
  }
891
937
  .detail-item {
892
938
  background: var(--bg-secondary);
893
- padding: 16px;
894
- border-radius: 8px;
939
+ padding: 18px;
940
+ border-radius: 12px;
941
+ border: 1px solid transparent;
942
+ transition: border-color 0.2s;
943
+ }
944
+ .detail-item:hover {
945
+ border-color: var(--border);
895
946
  }
896
947
  .detail-label {
897
948
  font-size: 11px;
898
949
  color: var(--text-muted);
899
950
  text-transform: uppercase;
900
- letter-spacing: 1px;
901
- margin-bottom: 6px;
902
- font-weight: 500;
951
+ letter-spacing: 0.08em;
952
+ margin-bottom: 8px;
953
+ font-weight: 600;
903
954
  }
904
955
  .detail-value {
905
956
  font-family: var(--font-display);
906
957
  font-size: 18px;
907
958
  font-weight: 600;
908
- letter-spacing: -0.5px;
959
+ letter-spacing: -0.01em;
909
960
  }
910
961
  .detail-install {
911
962
  background: var(--bg-code);
912
963
  border: 1px solid var(--border);
913
- color: var(--accent);
914
- padding: 14px 20px;
915
- border-radius: 8px;
964
+ color: var(--color-1);
965
+ padding: 16px 20px;
966
+ border-radius: 12px;
916
967
  font-family: var(--font-display);
917
968
  font-size: 14px;
918
969
  display: flex;
919
970
  align-items: center;
920
- gap: 10px;
971
+ gap: 12px;
921
972
  cursor: pointer;
922
- transition: border-color 0.2s, background 0.2s;
973
+ transition: all 0.25s;
923
974
  }
924
975
  .detail-install:hover {
925
- border-color: var(--accent);
976
+ border-color: var(--color-1);
926
977
  background: var(--bg-secondary);
927
978
  }
928
979
  .detail-install .code-text {
@@ -939,8 +990,8 @@ function page(title, body, options = {}) {
939
990
  .detail-install .copy-btn {
940
991
  background: transparent;
941
992
  border: 1px solid var(--border);
942
- border-radius: 4px;
943
- padding: 4px 10px;
993
+ border-radius: 6px;
994
+ padding: 6px 12px;
944
995
  font-size: 12px;
945
996
  color: var(--text-muted);
946
997
  cursor: pointer;
@@ -948,133 +999,138 @@ function page(title, body, options = {}) {
948
999
  flex-shrink: 0;
949
1000
  }
950
1001
  .detail-install .copy-btn:hover {
951
- background: var(--accent);
952
- color: var(--bg-primary);
953
- border-color: var(--accent);
1002
+ background: var(--color-1);
1003
+ color: white;
1004
+ border-color: var(--color-1);
954
1005
  }
955
1006
  .detail-install .copy-btn.copied {
956
- background: #22c55e;
957
- border-color: #22c55e;
958
- color: white;
1007
+ background: var(--color-2);
1008
+ border-color: var(--color-2);
1009
+ color: #2d1810;
959
1010
  }
960
1011
  .install-label {
961
1012
  font-size: 11px;
962
1013
  color: var(--text-muted);
963
1014
  text-transform: uppercase;
964
- letter-spacing: 1px;
965
- margin-bottom: 8px;
1015
+ letter-spacing: 0.08em;
1016
+ margin-bottom: 10px;
1017
+ font-weight: 600;
966
1018
  }
967
1019
  .install-methods {
968
1020
  display: flex;
969
1021
  flex-direction: column;
970
- gap: 12px;
1022
+ gap: 14px;
971
1023
  }
972
1024
  .install-box {
973
1025
  position: relative;
974
1026
  }
975
1027
  .install-box.primary .detail-install {
976
- border-color: var(--accent);
977
- background: linear-gradient(135deg, rgba(var(--accent-rgb, 99, 102, 241), 0.1), transparent);
1028
+ border-color: var(--color-1);
1029
+ background: linear-gradient(135deg, rgba(250, 112, 154, 0.06), transparent);
978
1030
  }
979
1031
  .install-box .badge-new {
980
1032
  position: absolute;
981
1033
  top: -8px;
982
1034
  right: -8px;
983
- background: var(--accent);
1035
+ background: linear-gradient(135deg, var(--color-1), var(--color-3));
984
1036
  color: white;
985
1037
  font-size: 10px;
986
- padding: 2px 6px;
987
- border-radius: 4px;
988
- font-weight: 500;
1038
+ padding: 3px 8px;
1039
+ border-radius: 6px;
1040
+ font-weight: 600;
989
1041
  }
990
1042
 
991
1043
  .section-card {
992
1044
  background: var(--bg-card);
993
1045
  border: 1px solid var(--border);
994
- border-radius: 12px;
995
- padding: 24px;
1046
+ border-radius: 16px;
1047
+ padding: 26px;
996
1048
  margin-bottom: 20px;
1049
+ transition: border-color 0.25s;
1050
+ }
1051
+ .section-card:hover {
1052
+ border-color: var(--border);
997
1053
  }
998
1054
  .section-card h3 {
999
1055
  font-family: var(--font-display);
1000
- font-size: 16px;
1056
+ font-size: 15px;
1001
1057
  font-weight: 600;
1002
- margin-bottom: 14px;
1058
+ margin-bottom: 16px;
1003
1059
  display: flex;
1004
1060
  align-items: center;
1005
- gap: 8px;
1006
- letter-spacing: -0.3px;
1061
+ gap: 10px;
1062
+ letter-spacing: -0.01em;
1007
1063
  }
1008
1064
  .back-link {
1009
1065
  display: inline-flex;
1010
1066
  align-items: center;
1011
- gap: 6px;
1067
+ gap: 8px;
1012
1068
  color: var(--text-secondary);
1013
- margin-bottom: 20px;
1069
+ margin-bottom: 24px;
1014
1070
  font-size: 14px;
1015
- transition: all 0.2s;
1071
+ transition: all 0.25s;
1016
1072
  }
1017
1073
  .back-link:hover {
1018
- color: var(--accent);
1019
- gap: 10px;
1074
+ color: var(--color-1);
1075
+ gap: 12px;
1020
1076
  }
1021
1077
 
1022
- /* Memory bars */
1078
+ /* Memory bars - Coral themed */
1023
1079
  .memory-bars {
1024
1080
  display: flex;
1025
1081
  gap: 3px;
1026
- height: 6px;
1027
- border-radius: 3px;
1082
+ height: 8px;
1083
+ border-radius: 4px;
1028
1084
  overflow: hidden;
1029
- margin-bottom: 10px;
1085
+ margin-bottom: 12px;
1030
1086
  }
1031
1087
  .memory-bar { height: 100%; }
1032
- .memory-bar.public { background: var(--accent); }
1033
- .memory-bar.portable { background: var(--accent-light); }
1034
- .memory-bar.private { background: var(--tag-content); }
1088
+ .memory-bar.public { background: var(--color-1); }
1089
+ .memory-bar.portable { background: var(--color-3); }
1090
+ .memory-bar.private { background: var(--color-2); }
1035
1091
  .memory-legend {
1036
1092
  display: flex;
1037
- gap: 16px;
1093
+ gap: 20px;
1038
1094
  font-size: 12px;
1039
1095
  color: var(--text-secondary);
1040
1096
  }
1041
1097
  .memory-legend span {
1042
1098
  display: flex;
1043
1099
  align-items: center;
1044
- gap: 5px;
1100
+ gap: 6px;
1045
1101
  }
1046
1102
  .memory-legend .dot {
1047
- width: 8px;
1048
- height: 8px;
1103
+ width: 10px;
1104
+ height: 10px;
1049
1105
  border-radius: 50%;
1050
1106
  }
1051
1107
 
1052
- /* Skills & Tags */
1108
+ /* Skills & Tags - Coral themed */
1053
1109
  .skills-list, .tags-list {
1054
1110
  display: flex;
1055
1111
  flex-wrap: wrap;
1056
- gap: 6px;
1112
+ gap: 8px;
1057
1113
  }
1058
1114
  .badge {
1059
- padding: 5px 10px;
1060
- border-radius: 4px;
1115
+ padding: 6px 12px;
1116
+ border-radius: 8px;
1061
1117
  font-size: 12px;
1062
1118
  font-family: var(--font-display);
1063
- font-weight: 500;
1119
+ font-weight: 600;
1064
1120
  }
1065
- .badge-skill { background: rgba(59, 130, 246, 0.15); color: #60a5fa; }
1066
- .badge-tag { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
1121
+ .badge-skill { background: rgba(250, 112, 154, 0.12); color: var(--color-1); }
1122
+ .badge-tag { background: rgba(254, 225, 64, 0.15); color: #b89800; }
1067
1123
 
1068
- /* Requirements */
1124
+ /* Requirements - Coral themed */
1069
1125
  .requirements-list {
1070
1126
  list-style: none;
1071
1127
  }
1072
1128
  .requirements-list li {
1073
- padding: 10px 0;
1129
+ padding: 12px 0;
1074
1130
  border-bottom: 1px solid var(--border);
1075
1131
  display: flex;
1076
1132
  align-items: center;
1077
- gap: 8px;
1133
+ gap: 10px;
1078
1134
  font-size: 14px;
1079
1135
  }
1080
1136
  .requirements-list li:last-child {
@@ -1082,21 +1138,22 @@ function page(title, body, options = {}) {
1082
1138
  }
1083
1139
  .env-var {
1084
1140
  font-family: var(--font-display);
1085
- background: var(--bg-secondary);
1086
- padding: 3px 8px;
1087
- border-radius: 4px;
1088
- color: var(--accent);
1141
+ background: linear-gradient(135deg, rgba(250, 112, 154, 0.1), rgba(255, 154, 139, 0.1));
1142
+ padding: 4px 10px;
1143
+ border-radius: 6px;
1144
+ color: var(--color-1);
1089
1145
  font-size: 12px;
1146
+ font-weight: 500;
1090
1147
  }
1091
1148
 
1092
- /* Stats Page */
1149
+ /* Stats Page - Coral themed */
1093
1150
  .stats-table {
1094
1151
  width: 100%;
1095
1152
  border-collapse: collapse;
1096
1153
  font-size: 14px;
1097
1154
  }
1098
1155
  .stats-table th, .stats-table td {
1099
- padding: 14px 12px;
1156
+ padding: 16px 14px;
1100
1157
  text-align: left;
1101
1158
  border-bottom: 1px solid var(--border);
1102
1159
  }
@@ -1106,73 +1163,75 @@ function page(title, body, options = {}) {
1106
1163
  font-weight: 600;
1107
1164
  font-size: 11px;
1108
1165
  text-transform: uppercase;
1109
- letter-spacing: 0.5px;
1166
+ letter-spacing: 0.08em;
1110
1167
  }
1111
1168
  .stats-table a {
1112
- color: var(--accent);
1169
+ color: var(--color-1);
1113
1170
  font-family: var(--font-display);
1171
+ font-weight: 500;
1114
1172
  }
1115
1173
  .stats-table a:hover {
1116
1174
  text-decoration: underline;
1117
1175
  }
1118
1176
 
1119
- /* How it works */
1177
+ /* How it works - Coral themed */
1120
1178
  .how-it-works {
1121
1179
  display: grid;
1122
1180
  grid-template-columns: repeat(3, 1fr);
1123
1181
  gap: 24px;
1124
- margin-bottom: 60px;
1182
+ margin-bottom: 56px;
1125
1183
  }
1126
1184
  .step {
1127
1185
  text-align: center;
1128
1186
  }
1129
1187
  .step-number {
1130
- width: 40px;
1131
- height: 40px;
1132
- background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
1188
+ width: 48px;
1189
+ height: 48px;
1190
+ background: linear-gradient(135deg, var(--color-1) 0%, var(--color-3) 100%);
1133
1191
  color: #ffffff;
1134
- border-radius: 10px;
1192
+ border-radius: 14px;
1135
1193
  display: flex;
1136
1194
  align-items: center;
1137
1195
  justify-content: center;
1138
1196
  font-family: var(--font-display);
1139
- font-size: 16px;
1197
+ font-size: 18px;
1140
1198
  font-weight: 700;
1141
- margin: 0 auto 14px;
1199
+ margin: 0 auto 16px;
1200
+ box-shadow: 0 8px 24px rgba(250, 112, 154, 0.25);
1142
1201
  }
1143
1202
  .step h4 {
1144
1203
  font-family: var(--font-display);
1145
- font-size: 16px;
1146
- margin-bottom: 6px;
1147
- letter-spacing: -0.3px;
1204
+ font-size: 15px;
1205
+ margin-bottom: 8px;
1206
+ letter-spacing: -0.01em;
1148
1207
  }
1149
1208
  .step p {
1150
1209
  color: var(--text-secondary);
1151
1210
  font-size: 13px;
1152
- line-height: 1.5;
1211
+ line-height: 1.6;
1153
1212
  }
1154
1213
 
1155
- /* Search */
1214
+ /* Search - Coral themed */
1156
1215
  .search-box {
1157
1216
  display: flex;
1158
1217
  background: var(--bg-card);
1159
- border: 1px solid var(--border);
1160
- border-radius: 10px;
1161
- padding: 5px;
1162
- max-width: 480px;
1163
- margin: 0 auto 32px;
1164
- transition: border-color 0.2s, box-shadow 0.2s;
1218
+ border: 2px solid var(--border);
1219
+ border-radius: 14px;
1220
+ padding: 6px;
1221
+ max-width: 520px;
1222
+ margin: 0 auto 36px;
1223
+ transition: all 0.3s ease;
1165
1224
  }
1166
1225
  .search-box:focus-within {
1167
- border-color: var(--accent);
1168
- box-shadow: 0 0 0 3px var(--accent-glow);
1226
+ border-color: var(--color-1);
1227
+ box-shadow: 0 0 0 4px rgba(250, 112, 154, 0.1);
1169
1228
  }
1170
1229
  .search-box input {
1171
1230
  flex: 1;
1172
1231
  background: transparent;
1173
1232
  border: none;
1174
- padding: 10px 14px;
1175
- font-size: 14px;
1233
+ padding: 12px 16px;
1234
+ font-size: 15px;
1176
1235
  font-family: var(--font-body);
1177
1236
  color: var(--text-primary);
1178
1237
  outline: none;
@@ -1181,45 +1240,53 @@ function page(title, body, options = {}) {
1181
1240
  color: var(--text-muted);
1182
1241
  }
1183
1242
  .search-box button {
1184
- background: var(--accent);
1243
+ background: linear-gradient(135deg, var(--color-1) 0%, var(--color-3) 100%);
1185
1244
  color: #ffffff;
1186
1245
  border: none;
1187
- padding: 10px 20px;
1188
- border-radius: 6px;
1246
+ padding: 12px 24px;
1247
+ border-radius: 10px;
1189
1248
  font-family: var(--font-display);
1190
1249
  font-size: 13px;
1191
1250
  font-weight: 600;
1192
1251
  cursor: pointer;
1193
- transition: all 0.2s;
1252
+ transition: all 0.25s;
1194
1253
  }
1195
1254
  .search-box button:hover {
1196
- background: var(--accent-dark);
1255
+ box-shadow: 0 4px 16px rgba(250, 112, 154, 0.3);
1197
1256
  }
1198
1257
  .search-box button:active {
1199
1258
  transform: scale(0.97);
1200
1259
  }
1201
1260
 
1202
- /* Empty state */
1261
+ /* Empty state - Coral themed */
1203
1262
  .empty-state {
1204
1263
  text-align: center;
1205
- padding: 48px 20px;
1264
+ padding: 56px 20px;
1206
1265
  color: var(--text-muted);
1207
1266
  }
1208
1267
  .empty-state h3 {
1209
1268
  font-family: var(--font-display);
1210
- font-size: 17px;
1211
- margin-bottom: 6px;
1269
+ font-size: 18px;
1270
+ margin-bottom: 8px;
1212
1271
  color: var(--text-primary);
1213
1272
  }
1214
1273
  .empty-state p {
1215
1274
  font-size: 14px;
1216
1275
  }
1276
+ .empty-state code {
1277
+ background: var(--bg-secondary);
1278
+ padding: 4px 10px;
1279
+ border-radius: 6px;
1280
+ font-family: var(--font-display);
1281
+ font-size: 13px;
1282
+ color: var(--color-1);
1283
+ }
1217
1284
 
1218
- /* Footer */
1285
+ /* Footer - Coral themed */
1219
1286
  footer {
1220
1287
  border-top: 1px solid var(--border);
1221
- padding: 32px 0;
1222
- margin-top: 60px;
1288
+ padding: 36px 0;
1289
+ margin-top: 64px;
1223
1290
  background: var(--bg-secondary);
1224
1291
  }
1225
1292
  .footer-content {
@@ -1232,61 +1299,62 @@ function page(title, body, options = {}) {
1232
1299
  .footer-brand {
1233
1300
  display: flex;
1234
1301
  align-items: center;
1235
- gap: 10px;
1302
+ gap: 12px;
1236
1303
  }
1237
1304
  .footer-brand-icon {
1238
- width: 28px;
1239
- height: 28px;
1305
+ width: 32px;
1306
+ height: 32px;
1240
1307
  display: flex;
1241
1308
  align-items: center;
1242
1309
  justify-content: center;
1243
- font-size: 18px;
1310
+ font-size: 22px;
1244
1311
  }
1245
1312
  .footer-brand-text {
1246
1313
  font-family: var(--font-display);
1247
1314
  font-weight: 600;
1248
- font-size: 15px;
1315
+ font-size: 16px;
1249
1316
  color: var(--text-primary);
1250
1317
  }
1251
1318
  .footer-powered {
1252
1319
  display: flex;
1253
1320
  align-items: center;
1254
- gap: 6px;
1321
+ gap: 8px;
1255
1322
  font-size: 13px;
1256
1323
  color: var(--text-muted);
1257
1324
  }
1258
1325
  .footer-powered a {
1259
- color: var(--accent);
1260
- font-weight: 500;
1326
+ color: var(--color-1);
1327
+ font-weight: 600;
1261
1328
  }
1262
1329
  .footer-links {
1263
1330
  display: flex;
1264
- gap: 20px;
1331
+ gap: 24px;
1265
1332
  }
1266
1333
  .footer-links a {
1267
1334
  color: var(--text-secondary);
1268
1335
  font-size: 13px;
1269
1336
  font-family: var(--font-display);
1337
+ font-weight: 500;
1270
1338
  transition: color 0.2s;
1271
1339
  }
1272
1340
  .footer-links a:hover {
1273
- color: var(--accent);
1341
+ color: var(--color-1);
1274
1342
  }
1275
1343
 
1276
1344
  @media (max-width: 768px) {
1277
- .hero { padding: 48px 16px 36px; }
1278
- .hero h1 { font-size: clamp(28px, 6vw, 36px); }
1345
+ .hero { padding: 48px 16px 40px; }
1346
+ .hero h1 { font-size: clamp(32px, 7vw, 44px); }
1279
1347
  .hero-subtitle { font-size: 15px; padding: 0 12px; }
1280
- .hero-stats { gap: 28px; flex-wrap: wrap; }
1281
- .hero-stat-value { font-size: 26px; }
1282
- .features { grid-template-columns: 1fr; gap: 12px; }
1283
- .how-it-works { grid-template-columns: 1fr; gap: 20px; }
1284
- .detail-grid { grid-template-columns: 1fr; }
1348
+ .hero-stats { gap: 32px; flex-wrap: wrap; }
1349
+ .hero-stat-value { font-size: 30px; }
1350
+ .features { grid-template-columns: 1fr; gap: 14px; }
1351
+ .how-it-works { grid-template-columns: 1fr; gap: 24px; }
1352
+ .detail-grid { grid-template-columns: repeat(2, 1fr); }
1285
1353
  .agent-grid { grid-template-columns: 1fr; }
1286
- .footer-content { flex-direction: column; text-align: center; gap: 16px; }
1354
+ .footer-content { flex-direction: column; text-align: center; gap: 20px; }
1287
1355
 
1288
1356
  /* Mobile navigation */
1289
- .header-content { flex-wrap: wrap; gap: 10px; }
1357
+ .header-content { flex-wrap: wrap; gap: 12px; }
1290
1358
  .nav-links {
1291
1359
  order: 3;
1292
1360
  width: 100%;
@@ -1297,28 +1365,30 @@ function page(title, body, options = {}) {
1297
1365
  .nav-links a { font-size: 13px; }
1298
1366
  .nav-powered { display: none; }
1299
1367
  .logo { font-size: 18px; }
1300
- .logo-icon { width: 30px; height: 30px; font-size: 16px; }
1368
+ .logo-icon { font-size: 24px; }
1369
+ .logo-tagline { font-size: 10px; }
1301
1370
  .container { padding: 0 16px; }
1302
- .detail-header { padding: 20px; }
1303
- .detail-title { font-size: 22px; }
1304
- .section-card { padding: 18px; }
1305
- .search-box { margin: 0 0 24px; }
1306
- .api-box { padding: 20px; }
1307
- .api-code { font-size: 11px; padding: 14px; }
1308
- .stats-table th, .stats-table td { padding: 10px 8px; font-size: 12px; }
1309
- .step-number { width: 36px; height: 36px; font-size: 14px; }
1371
+ .detail-header { padding: 24px; }
1372
+ .detail-title { font-size: 26px; }
1373
+ .section-card { padding: 20px; }
1374
+ .search-box { margin: 0 0 28px; }
1375
+ .api-box { padding: 24px; }
1376
+ .api-code { font-size: 12px; padding: 14px 16px; }
1377
+ .stats-table th, .stats-table td { padding: 12px 10px; font-size: 13px; }
1378
+ .step-number { width: 42px; height: 42px; font-size: 16px; }
1310
1379
  .step h4 { font-size: 14px; }
1311
1380
  }
1312
1381
 
1313
1382
  @media (max-width: 480px) {
1314
- .theme-btn { width: 30px; height: 30px; font-size: 14px; }
1315
- .hero-stat-value { font-size: 22px; }
1383
+ .theme-btn { width: 32px; height: 32px; font-size: 14px; }
1384
+ .hero-stat-value { font-size: 26px; }
1316
1385
  .hero-stat-label { font-size: 10px; }
1317
1386
  .nav-links { gap: 12px; }
1318
1387
  .nav-links a { font-size: 12px; }
1319
- .section-title { font-size: 17px; }
1320
- .feature-card { padding: 18px; }
1321
- .feature-icon { font-size: 24px; }
1388
+ .section-title { font-size: 18px; }
1389
+ .feature-card { padding: 22px 18px; }
1390
+ .feature-icon { font-size: 28px; }
1391
+ .detail-grid { grid-template-columns: 1fr; }
1322
1392
  }
1323
1393
  </style>
1324
1394
  </head>
@@ -1326,8 +1396,11 @@ function page(title, body, options = {}) {
1326
1396
  <header>
1327
1397
  <div class="container header-content">
1328
1398
  <a href="/" class="logo">
1329
- <div class="logo-icon">🦀</div>
1330
- <span>AgentHub</span>
1399
+ <span class="logo-icon">🦀</span>
1400
+ <div>
1401
+ <div>AgentHub</div>
1402
+ <div class="logo-tagline">Crab-powered. Agent-ready.</div>
1403
+ </div>
1331
1404
  </a>
1332
1405
  <nav class="nav-links">
1333
1406
  <a href="/"><span data-i18n="navHome">Home</span></a>
@@ -1570,7 +1643,7 @@ export function renderAgentDetailPage(manifest) {
1570
1643
  </div>
1571
1644
  </div>
1572
1645
  <div class="detail-install" title="Click to copy">
1573
- <span class="code-text">npx agenthub install ${manifest.slug}</span>
1646
+ <span class="code-text">npx @zshuangmu/agenthub install ${manifest.slug}</span>
1574
1647
  <button class="copy-btn" title="Copy">📋</button>
1575
1648
  </div>
1576
1649
  </div>
@@ -1623,7 +1696,7 @@ export function renderAgentDetailPage(manifest) {
1623
1696
  <span class="badge-new">推荐</span>
1624
1697
  <div class="install-label">npx (无需预安装)</div>
1625
1698
  <div class="detail-install" title="Click to copy">
1626
- <span class="code-text">npx agenthub install ${manifest.slug} --target-workspace ./my-workspace</span>
1699
+ <span class="code-text">npx @zshuangmu/agenthub install ${manifest.slug} --target-workspace ./my-workspace</span>
1627
1700
  <button class="copy-btn" title="Copy">📋</button>
1628
1701
  </div>
1629
1702
  </div>