snow-flow 4.2.0 → 4.2.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.
Files changed (81) hide show
  1. package/README.md +186 -554
  2. package/cloudbuild-npm.yaml +132 -0
  3. package/cloudbuild-website.yaml +92 -0
  4. package/cloudbuild.yaml +141 -0
  5. package/dist/agent/interactive.d.ts +11 -0
  6. package/dist/agent/interactive.js +190 -0
  7. package/dist/agent/session.d.ts +12 -0
  8. package/dist/agent/session.js +106 -0
  9. package/dist/cli/auth.d.ts +3 -0
  10. package/dist/cli/auth.js +59 -0
  11. package/dist/cli/session.d.ts +3 -0
  12. package/dist/cli/session.js +46 -0
  13. package/dist/cli.js +81 -0
  14. package/dist/config/llm-config-loader.d.ts +45 -0
  15. package/dist/config/llm-config-loader.js +49 -0
  16. package/dist/index.js +1 -3
  17. package/dist/intelligence/performance-recommendations-engine.js +0 -1
  18. package/dist/llm/keys.d.ts +5 -0
  19. package/dist/llm/keys.js +29 -0
  20. package/dist/llm/providers.d.ts +11 -0
  21. package/dist/llm/providers.js +77 -0
  22. package/dist/mcp/advanced/servicenow-advanced-features-mcp.js +12 -12
  23. package/dist/mcp/bridge.d.ts +10 -0
  24. package/dist/mcp/bridge.js +31 -0
  25. package/dist/mcp/servicenow-development-assistant-mcp.js +1 -1
  26. package/dist/mcp/servicenow-machine-learning-mcp.js +2 -2
  27. package/dist/mcp/servicenow-reporting-analytics-mcp.js +1 -1
  28. package/dist/mcp/shared/mcp-types.d.ts +37 -0
  29. package/dist/mcp/shared/mcp-types.js +7 -0
  30. package/dist/mcp/shared/response-limiter.js +1 -1
  31. package/dist/memory/hierarchical-memory-system.d.ts +42 -0
  32. package/dist/memory/hierarchical-memory-system.js +60 -0
  33. package/dist/memory/memory-system.d.ts +34 -0
  34. package/dist/memory/memory-system.js +36 -0
  35. package/dist/memory/snow-flow-memory-patterns.d.ts +47 -28
  36. package/dist/memory/snow-flow-memory-patterns.js +46 -25
  37. package/dist/session/store.d.ts +47 -0
  38. package/dist/session/store.js +74 -0
  39. package/dist/snow-flow-system.js +0 -1
  40. package/dist/testing/integration-test-suite.js +0 -1
  41. package/dist/utils/artifact-local-sync.js +17 -0
  42. package/dist/utils/artifact-sync/artifact-registry.js +11 -11
  43. package/dist/utils/chunking-manager.d.ts +39 -0
  44. package/dist/utils/chunking-manager.js +143 -0
  45. package/dist/utils/smart-field-fetcher.js +11 -9
  46. package/package.json +3 -3
  47. package/website/Dockerfile +3 -2
  48. package/website/cloudbuild.yaml +4 -3
  49. package/website/complete-mcp-reference.html +1040 -0
  50. package/website/components/hero/Hero.html +9 -9
  51. package/website/components/hero/Hero.jsx +3 -3
  52. package/website/css/button-contrast-fixes.css +133 -0
  53. package/website/css/button-fixes.css +49 -0
  54. package/website/css/enterprise-section-update.css +38 -0
  55. package/website/css/font-standardization.css +54 -0
  56. package/website/css/footer-hero-styling.css +73 -0
  57. package/website/css/hero-compact-spacing.css +60 -0
  58. package/website/css/hero-contrast-fixes.css +195 -0
  59. package/website/css/hero-inspired-design.css +135 -0
  60. package/website/css/hero-size-optimization.css +146 -0
  61. package/website/css/hero-spacing-improvements.css +139 -0
  62. package/website/css/hero-stats-visibility.css +98 -0
  63. package/website/css/mobile-hero-fix.css +215 -0
  64. package/website/css/navbar-hero-styling.css +70 -0
  65. package/website/css/reference-text-contrast.css +101 -0
  66. package/website/css/scroll-overlap-nuclear-fix.css +127 -0
  67. package/website/css/section-layering-fix.css +85 -0
  68. package/website/css/style.css +37 -10
  69. package/website/css/title-layout-fix.css +58 -0
  70. package/website/css/ultimate-overlap-fix.css +101 -0
  71. package/website/css/website-hero-consistency.css +101 -0
  72. package/website/enterprise-features.html +147 -0
  73. package/website/index.html +268 -43
  74. package/website/js/animations.js +20 -23
  75. package/website/js/main.js +73 -7
  76. package/website/mcp-reference-link.html +16 -0
  77. package/website/mcp-servers.html +2 -2
  78. package/website/tools.js +125 -6
  79. package/website/what-is-snow-flow-section.html +142 -0
  80. package/assets/logo.txt +0 -8
  81. package/assets/snow-flow-logo.svg +0 -51
@@ -53,17 +53,17 @@
53
53
 
54
54
  <!-- Stats -->
55
55
  <div class="sf-hero__stats" id="sf-hero-stats">
56
- <div class="sf-hero__stat" data-number="17" data-label="MCP Servers">
57
- <div class="sf-hero__stat-number">17</div>
58
- <div class="sf-hero__stat-label">MCP Servers</div>
56
+ <div class="sf-hero__stat" data-number="23" data-label="Enterprise MCP Servers">
57
+ <div class="sf-hero__stat-number">23</div>
58
+ <div class="sf-hero__stat-label">Enterprise MCP Servers</div>
59
59
  </div>
60
- <div class="sf-hero__stat" data-number="200+" data-label="Tools">
61
- <div class="sf-hero__stat-number">200+</div>
62
- <div class="sf-hero__stat-label">Tools</div>
60
+ <div class="sf-hero__stat" data-number="355+" data-label="Enterprise Tools">
61
+ <div class="sf-hero__stat-number">355+</div>
62
+ <div class="sf-hero__stat-label">Enterprise Tools</div>
63
63
  </div>
64
- <div class="sf-hero__stat" data-number="80%" data-label="Time Saved">
65
- <div class="sf-hero__stat-number">80%</div>
66
- <div class="sf-hero__stat-label">Time Saved</div>
64
+ <div class="sf-hero__stat" data-number="85%" data-label="Memory Optimized">
65
+ <div class="sf-hero__stat-number">85%</div>
66
+ <div class="sf-hero__stat-label">Memory Optimized</div>
67
67
  </div>
68
68
  <div class="sf-hero__stat" data-number="100%" data-label="Real Data">
69
69
  <div class="sf-hero__stat-number">100%</div>
@@ -8,9 +8,9 @@ const Hero = ({
8
8
  primaryCTA = { text: "Get Started", href: "#get-started" },
9
9
  secondaryCTA = { text: "Learn More", href: "#features" },
10
10
  stats = [
11
- { number: "17", label: "MCP Servers" },
12
- { number: "200+", label: "Tools" },
13
- { number: "80%", label: "Time Saved" },
11
+ { number: "23", label: "Enterprise MCP Servers" },
12
+ { number: "355+", label: "Enterprise Tools" },
13
+ { number: "85%", label: "Memory Optimized" },
14
14
  { number: "100%", label: "Real Data" }
15
15
  ],
16
16
  backgroundAnimation = true,
@@ -0,0 +1,133 @@
1
+ /* =========================================
2
+ BUTTON CONTRAST & VISIBILITY FIXES
3
+ ========================================= */
4
+
5
+ /* HERO-INSPIRED PRIMARY BUTTON */
6
+ .btn-primary {
7
+ background: linear-gradient(135deg,
8
+ rgba(102, 126, 234, 0.95) 0%,
9
+ rgba(118, 75, 162, 0.95) 50%,
10
+ rgba(240, 147, 251, 0.95) 100%) !important; /* Same gradient as hero orbs */
11
+ color: var(--white) !important;
12
+ border: 2px solid rgba(255, 255, 255, 0.4) !important;
13
+ backdrop-filter: blur(20px) !important;
14
+ -webkit-backdrop-filter: blur(20px) !important;
15
+ border-radius: var(--radius-2xl) !important;
16
+ padding: var(--space-4) var(--space-8) !important;
17
+ font-weight: 600 !important;
18
+ font-size: var(--font-lg) !important;
19
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
20
+ box-shadow:
21
+ 0 8px 32px rgba(102, 126, 234, 0.3),
22
+ 0 0 40px rgba(118, 75, 162, 0.2),
23
+ inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
24
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
25
+ font-family: var(--font-sans) !important;
26
+ position: relative !important;
27
+ overflow: hidden !important;
28
+ }
29
+
30
+ /* PRIMARY BUTTON TEXT - FORCE WHITE */
31
+ .btn-primary .btn-text {
32
+ color: var(--white) !important;
33
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
34
+ }
35
+
36
+ .btn-primary .btn-icon {
37
+ color: var(--white) !important;
38
+ }
39
+
40
+ .btn-primary:hover {
41
+ background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%) !important;
42
+ transform: translateY(-2px) !important;
43
+ box-shadow: 0 8px 20px rgba(29, 78, 216, 0.5) !important;
44
+ }
45
+
46
+ /* SECONDARY BUTTON (GitHub) - COMPLETE REDESIGN */
47
+ .btn-glass {
48
+ background: rgba(255, 255, 255, 0.95) !important; /* Almost white background */
49
+ color: var(--black) !important; /* Black text for contrast */
50
+ border: 2px solid rgba(0, 0, 0, 0.1) !important;
51
+ backdrop-filter: blur(10px) !important;
52
+ font-weight: 500 !important;
53
+ position: relative !important;
54
+ }
55
+
56
+ .btn-glass:hover {
57
+ background: var(--white) !important;
58
+ color: var(--black) !important;
59
+ transform: translateY(-2px) !important;
60
+ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1) !important;
61
+ }
62
+
63
+ /* GitHub button text visibility */
64
+ .btn-glass .btn-text {
65
+ color: var(--black) !important; /* Dark text on light button */
66
+ font-weight: 500 !important;
67
+ }
68
+
69
+ .btn-glass .btn-icon {
70
+ color: #f59e0b !important; /* Gold star */
71
+ font-size: var(--font-lg) !important;
72
+ }
73
+
74
+ /* REDESIGNED GITHUB BUTTON - PROFESSIONAL STYLING */
75
+ .btn-glass {
76
+ background: linear-gradient(135deg, #374151 0%, #1f2937 100%) !important; /* Dark gray gradient */
77
+ color: var(--white) !important; /* White text */
78
+ border: 2px solid #6b7280 !important; /* Gray border */
79
+ position: relative !important;
80
+ overflow: visible !important;
81
+ }
82
+
83
+ .btn-glass:hover {
84
+ background: linear-gradient(135deg, #4b5563 0%, #374151 100%) !important;
85
+ border-color: #9ca3af !important;
86
+ }
87
+
88
+ /* GitHub button badge - MUCH CLEANER */
89
+ .btn-badge {
90
+ position: absolute !important;
91
+ top: -10px !important;
92
+ right: -10px !important;
93
+ background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important; /* Green for version */
94
+ color: var(--white) !important;
95
+ font-size: 11px !important; /* Very small and clean */
96
+ padding: 4px 8px !important;
97
+ border-radius: 6px !important;
98
+ font-weight: 600 !important;
99
+ border: 1px solid var(--white) !important;
100
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
101
+ white-space: nowrap !important;
102
+ z-index: 20 !important;
103
+ font-family: var(--font-mono) !important; /* Monospace for version numbers */
104
+ }
105
+
106
+ /* Button container spacing and alignment */
107
+ .hero-actions {
108
+ display: flex !important;
109
+ gap: var(--space-4) !important;
110
+ justify-content: center !important;
111
+ align-items: center !important;
112
+ margin: var(--space-8) 0 !important;
113
+ }
114
+
115
+ /* Button inner content alignment */
116
+ .btn-inner {
117
+ display: flex !important;
118
+ align-items: center !important;
119
+ gap: var(--space-2) !important;
120
+ }
121
+
122
+ /* Remove any conflicting button styles */
123
+ .btn {
124
+ text-decoration: none !important;
125
+ cursor: pointer !important;
126
+ transition: all 0.3s ease !important;
127
+ border-radius: var(--radius-lg) !important;
128
+ padding: var(--space-3) var(--space-6) !important;
129
+ font-family: var(--font-sans) !important;
130
+ display: inline-flex !important;
131
+ align-items: center !important;
132
+ justify-content: center !important;
133
+ }
@@ -0,0 +1,49 @@
1
+ /* =========================================
2
+ BUTTON & BADGE FIXES v4.2.0
3
+ ========================================= */
4
+
5
+ /* GitHub button badge sizing fix */
6
+ .btn-badge {
7
+ font-size: var(--font-sm) !important; /* Larger font for readability */
8
+ padding: var(--space-1) var(--space-3) !important; /* Better padding */
9
+ background: rgba(16, 185, 129, 1) !important; /* Fully opaque */
10
+ color: var(--white) !important;
11
+ border-radius: var(--radius-base) !important;
12
+ font-weight: 600 !important;
13
+ text-shadow: none !important; /* Clean text */
14
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
15
+ white-space: nowrap !important; /* Prevent text wrapping */
16
+ min-width: auto !important;
17
+ overflow: visible !important;
18
+ }
19
+
20
+ /* Button container fixes */
21
+ .btn {
22
+ position: relative !important;
23
+ display: inline-flex !important;
24
+ align-items: center !important;
25
+ justify-content: center !important;
26
+ gap: var(--space-2) !important;
27
+ min-height: 48px !important; /* Ensure enough height for badge */
28
+ padding: var(--space-3) var(--space-6) !important;
29
+ }
30
+
31
+ .btn-glass {
32
+ background: rgba(255, 255, 255, 0.1) !important;
33
+ border: 1px solid rgba(255, 255, 255, 0.2) !important;
34
+ backdrop-filter: blur(10px) !important;
35
+ color: var(--white) !important;
36
+ border-radius: var(--radius-lg) !important;
37
+ }
38
+
39
+ /* Fix button text visibility */
40
+ .btn-text {
41
+ color: var(--white) !important;
42
+ font-weight: 500 !important;
43
+ font-size: var(--font-base) !important;
44
+ }
45
+
46
+ .btn-icon {
47
+ font-size: var(--font-lg) !important;
48
+ color: var(--white) !important;
49
+ }
@@ -0,0 +1,38 @@
1
+ /* =========================================
2
+ ENTERPRISE SECTION CONTENT UPDATE
3
+ ========================================= */
4
+
5
+ /* Update the "New in v4.2.0" section with enterprise features */
6
+ .enterprise-features-grid {
7
+ display: grid !important;
8
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
9
+ gap: var(--space-6) !important;
10
+ margin: var(--space-8) 0 !important;
11
+ }
12
+
13
+ .enterprise-feature-card {
14
+ background: var(--gradient-glass) !important;
15
+ border: 1px solid rgba(255, 255, 255, 0.2) !important;
16
+ border-radius: var(--radius-xl) !important;
17
+ padding: var(--space-6) !important;
18
+ text-align: center !important;
19
+ }
20
+
21
+ .enterprise-feature-icon {
22
+ font-size: var(--font-4xl) !important;
23
+ margin-bottom: var(--space-3) !important;
24
+ display: block !important;
25
+ }
26
+
27
+ .enterprise-feature-title {
28
+ color: var(--white) !important;
29
+ font-size: var(--font-xl) !important;
30
+ font-weight: 700 !important;
31
+ margin-bottom: var(--space-2) !important;
32
+ }
33
+
34
+ .enterprise-feature-description {
35
+ color: var(--gray-300) !important;
36
+ font-size: var(--font-sm) !important;
37
+ line-height: var(--leading-relaxed) !important;
38
+ }
@@ -0,0 +1,54 @@
1
+ /* =========================================
2
+ FONT STANDARDIZATION ACROSS WEBSITE
3
+ ========================================= */
4
+
5
+ /* Override all font inconsistencies with standard Snow-Flow fonts */
6
+
7
+ /* Main font family for all text */
8
+ body,
9
+ html,
10
+ h1, h2, h3, h4, h5, h6,
11
+ p, span, div, a, button,
12
+ .btn, .card, .pill,
13
+ .hero-title, .hero-subtitle,
14
+ .stat-label, .feature-title {
15
+ font-family: var(--font-sans) !important;
16
+ }
17
+
18
+ /* Code and monospace elements */
19
+ code,
20
+ pre,
21
+ .code-block,
22
+ .btn-badge,
23
+ .version-badge,
24
+ .copy-btn,
25
+ kbd {
26
+ font-family: var(--font-mono) !important;
27
+ }
28
+
29
+ /* Specific overrides for consistency */
30
+ .api-docs code,
31
+ .api-docs pre {
32
+ font-family: var(--font-mono) !important; /* Override Fira Code references */
33
+ }
34
+
35
+ /* Button text standardization */
36
+ .btn-text,
37
+ .btn-inner,
38
+ .hero-actions .btn {
39
+ font-family: var(--font-sans) !important;
40
+ font-weight: 500 !important;
41
+ }
42
+
43
+ /* Ensure consistent font rendering */
44
+ * {
45
+ -webkit-font-smoothing: antialiased !important;
46
+ -moz-osx-font-smoothing: grayscale !important;
47
+ }
48
+
49
+ /* High DPI display optimization */
50
+ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
51
+ body {
52
+ font-weight: 400 !important; /* Slightly lighter on high DPI */
53
+ }
54
+ }
@@ -0,0 +1,73 @@
1
+ /* =========================================
2
+ FOOTER HERO-INSPIRED STYLING
3
+ ========================================= */
4
+
5
+ /* Footer with hero background treatment */
6
+ footer {
7
+ background:
8
+ radial-gradient(at 30% 20%, hsla(240, 60%, 20%, 0.4) 0%, transparent 60%),
9
+ radial-gradient(at 70% 80%, hsla(260, 60%, 25%, 0.4) 0%, transparent 60%),
10
+ var(--black) !important;
11
+ border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
12
+ position: relative !important;
13
+ overflow: hidden !important;
14
+ }
15
+
16
+ /* Footer noise effect like hero */
17
+ footer::after {
18
+ content: '';
19
+ position: absolute;
20
+ top: 0;
21
+ left: 0;
22
+ width: 100%;
23
+ height: 100%;
24
+ opacity: 0.02;
25
+ z-index: 1;
26
+ pointer-events: none;
27
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='footerNoise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23footerNoise)'/%3E%3C/svg%3E");
28
+ mix-blend-mode: overlay;
29
+ }
30
+
31
+ /* Footer content */
32
+ .footer-content {
33
+ position: relative !important;
34
+ z-index: 10 !important;
35
+ padding: var(--space-16) 0 var(--space-8) !important;
36
+ }
37
+
38
+ /* Footer logo */
39
+ .footer-logo {
40
+ color: var(--white) !important;
41
+ font-family: var(--font-sans) !important;
42
+ font-weight: 700 !important;
43
+ font-size: var(--font-2xl) !important;
44
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
45
+ margin-bottom: var(--space-4) !important;
46
+ }
47
+
48
+ /* Footer links */
49
+ .footer-links a {
50
+ color: var(--gray-300) !important;
51
+ text-decoration: none !important;
52
+ font-family: var(--font-sans) !important;
53
+ font-weight: 400 !important;
54
+ transition: all 0.3s ease !important;
55
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
56
+ }
57
+
58
+ .footer-links a:hover {
59
+ color: var(--white) !important;
60
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
61
+ }
62
+
63
+ /* Footer copyright with hero styling */
64
+ .footer-copyright {
65
+ color: var(--gray-400) !important;
66
+ font-family: var(--font-sans) !important;
67
+ font-size: var(--font-sm) !important;
68
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
69
+ border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
70
+ padding-top: var(--space-4) !important;
71
+ margin-top: var(--space-8) !important;
72
+ text-align: center !important;
73
+ }
@@ -0,0 +1,60 @@
1
+ /* =========================================
2
+ HERO COMPACT SPACING ADJUSTMENTS
3
+ ========================================= */
4
+
5
+ /* Reduce excessive top spacing in hero */
6
+ .hero {
7
+ padding-top: 100pxik !important;
8
+ padding-bottom: var(--space-16) !important; /* Some bottom space for stats */
9
+ }
10
+
11
+ /* Mountain logo positioning - closer to navbar */
12
+ .hero-logo-container {
13
+ margin-top: var(--space-4) !important; /* Much less top margin */
14
+ margin-bottom: var(--space-6) !important; /* Less bottom margin */
15
+ }
16
+
17
+ /* Title positioning - tighter spacing */
18
+ .hero-title {
19
+ margin-top: var(--space-4) !important; /* Less space after logo */
20
+ margin-bottom: var(--space-4) !important; /* Less space before subtitle */
21
+ }
22
+
23
+ /* Subtitle tighter spacing */
24
+ .hero-subtitle {
25
+ margin-bottom: var(--space-6) !important; /* Less space before pills */
26
+ }
27
+
28
+ /* Feature pills tighter spacing */
29
+ .feature-pills {
30
+ margin: var(--space-4) 0 var(--space-6) !important; /* Compact margins */
31
+ }
32
+
33
+ /* CTA buttons tighter spacing */
34
+ .hero-actions {
35
+ margin: var(--space-6) 0 !important; /* Less margin around buttons */
36
+ }
37
+
38
+ /* Overall hero content compactness + CONTAINER FIX */
39
+ .hero-content {
40
+ max-width: 80% !important; /* CRITICAL: Stay within viewport */
41
+ width: 100% !important; /* Full available width */
42
+ padding: var(--space-12) var(--space-4) var(--space-8) !important; /* Side padding to prevent overflow */
43
+ box-sizing: border-box !important; /* Include padding in width calculation */
44
+ }
45
+
46
+ /* Mobile adjustments for compact layout */
47
+ @media (max-width: 768px) {
48
+ .hero-content {
49
+ padding-top: var(--space-8) !important;
50
+ }
51
+
52
+ .hero-title {
53
+ margin-top: var(--space-2) !important;
54
+ margin-bottom: var(--space-3) !important;
55
+ }
56
+
57
+ .hero-actions {
58
+ margin: var(--space-4) 0 !important;
59
+ }
60
+ }
@@ -0,0 +1,195 @@
1
+ /* =========================================
2
+ HERO CONTRAST & READABILITY FIXES v4.2.0
3
+ ========================================= */
4
+
5
+ /* Critical contrast improvements for hero section */
6
+
7
+ /* Ensure all hero text has proper z-index layering */
8
+ .hero-content * {
9
+ z-index: 10;
10
+ }
11
+
12
+ /* CENTERING FIX: Force hero content center alignment */
13
+ .hero-content {
14
+ text-align: center !important;
15
+ display: flex !important;
16
+ flex-direction: column !important;
17
+ align-items: center !important;
18
+ justify-content: center !important;
19
+ max-width: 100% !important;
20
+ }
21
+
22
+ /* Individual title centering - NORMAL HORIZONTAL TEXT */
23
+ .hero-title {
24
+ text-align: center !important;
25
+ width: 100% !important;
26
+ display: block !important; /* NORMAL: Just a regular centered heading */
27
+ margin: 0 auto !important;
28
+ }
29
+
30
+ /* Fade-in word animations with better contrast */
31
+ .fade-in-word span {
32
+ opacity: 0;
33
+ animation: fadeInUp 0.6s ease forwards;
34
+ color: var(--gray-100); /* CONTRAST FIX: Very light gray for excellent readability */
35
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9);
36
+ }
37
+
38
+ /* Version badge MAXIMUM VISIBILITY - NEON BRIGHT */
39
+ .version-badge {
40
+ /* CRITICAL VISIBILITY FIX: Ultra bright neon colors */
41
+ font-size: var(--font-xl) !important; /* Very large */
42
+ padding: var(--space-4) var(--space-6) !important; /* Large padding */
43
+ background: linear-gradient(135deg, #ff0080 0%, #ff4d6d 100%) !important; /* Bright pink/red neon */
44
+ color: var(--white) !important; /* White text */
45
+ font-weight: 900 !important; /* Maximum boldness */
46
+ border: 4px solid var(--white) !important; /* Thick white border */
47
+ border-radius: var(--radius-2xl) !important; /* Large radius */
48
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important; /* Strong shadow */
49
+ box-shadow:
50
+ 0 0 30px rgba(255, 0, 128, 0.8),
51
+ 0 0 60px rgba(255, 77, 109, 0.6),
52
+ 0 8px 32px rgba(0, 0, 0, 0.4),
53
+ inset 0 2px 0 rgba(255, 255, 255, 0.3) !important; /* Neon glow effect */
54
+ position: absolute !important; /* Absolute positioning for precise control */
55
+ top: -20px !important;
56
+ right: -30px !important;
57
+ transform: rotate(-5deg) scale(1.2) !important; /* Angled and scaled */
58
+ z-index: 1000 !important; /* Absolute highest z-index */
59
+ animation: neon-pulse 2s ease-in-out infinite !important;
60
+ }
61
+
62
+ @keyframes neon-pulse {
63
+ 0%, 100% {
64
+ box-shadow:
65
+ 0 0 30px rgba(255, 0, 128, 0.8),
66
+ 0 0 60px rgba(255, 77, 109, 0.6),
67
+ 0 8px 32px rgba(0, 0, 0, 0.4);
68
+ }
69
+ 50% {
70
+ box-shadow:
71
+ 0 0 40px rgba(255, 0, 128, 1),
72
+ 0 0 80px rgba(255, 77, 109, 0.8),
73
+ 0 12px 40px rgba(0, 0, 0, 0.5);
74
+ }
75
+ }
76
+
77
+ .animated-badge {
78
+ animation: badge-pulse 2s ease-in-out infinite;
79
+ }
80
+
81
+ @keyframes badge-pulse {
82
+ 0%, 100% { transform: scale(1); box-shadow: 0 4px 8px rgba(16, 185, 129, 0.3); }
83
+ 50% { transform: scale(1.05); box-shadow: 0 6px 12px rgba(16, 185, 129, 0.5); }
84
+ }
85
+
86
+ /* Title letters enhanced contrast - INLINE HORIZONTAL */
87
+ .title-letter {
88
+ display: inline-block !important; /* CRITICAL: Inline-block for horizontal letters with animation support */
89
+ opacity: 0;
90
+ animation: letterDrop 0.6s ease forwards;
91
+ /* CRITICAL FIX: Force white color for title letters */
92
+ color: var(--white) !important;
93
+ text-shadow:
94
+ 0 2px 4px rgba(0, 0, 0, 0.8),
95
+ 0 4px 8px rgba(0, 0, 0, 0.6),
96
+ 0 0 20px rgba(255, 255, 255, 0.1); /* Subtle white glow */
97
+ /* Ensure horizontal spacing */
98
+ margin-right: 2px !important;
99
+ }
100
+
101
+ /* Hero title force white color and CENTER - NO DISPLAY OVERRIDE */
102
+ .hero-title {
103
+ color: var(--white) !important;
104
+ -webkit-text-fill-color: var(--white) !important;
105
+ text-align: center !important;
106
+ margin: 0 auto !important;
107
+ width: 100% !important;
108
+ }
109
+
110
+ /* Only target non-letter elements to avoid breaking inline letters */
111
+ .hero-title .version-badge {
112
+ display: inline-block !important;
113
+ }
114
+
115
+ @keyframes letterDrop {
116
+ 0% {
117
+ opacity: 0;
118
+ transform: translateY(-50px) rotateX(90deg);
119
+ }
120
+ 100% {
121
+ opacity: 1;
122
+ transform: translateY(0) rotateX(0deg);
123
+ }
124
+ }
125
+
126
+ /* Feature pills enhanced visibility */
127
+ .feature-pills .pill {
128
+ /* VISIBILITY FIX: Much stronger background for better text contrast */
129
+ background: rgba(0, 0, 0, 0.8);
130
+ border: 1px solid rgba(255, 255, 255, 0.4);
131
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
132
+ }
133
+
134
+ .feature-pills .pill:hover {
135
+ background: rgba(0, 0, 0, 0.9);
136
+ border-color: rgba(255, 255, 255, 0.6);
137
+ transform: translateY(-2px);
138
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
139
+ }
140
+
141
+ /* Subtitle lines enhanced readability */
142
+ .subtitle-line,
143
+ .subtitle-line-2 {
144
+ display: block;
145
+ line-height: var(--leading-relaxed);
146
+ }
147
+
148
+ .subtitle-line-2 {
149
+ margin-top: var(--space-2);
150
+ }
151
+
152
+ /* Background orbs - ensure they don't interfere */
153
+ .floating-orb {
154
+ /* INTERFERENCE FIX: Move orbs further back and reduce impact */
155
+ z-index: 0 !important;
156
+ opacity: 0.15 !important; /* Even more subtle */
157
+ mix-blend-mode: soft-light; /* Softer blending with background */
158
+ }
159
+
160
+ /* Responsive contrast adjustments */
161
+ @media (max-width: 768px) {
162
+ .hero-content {
163
+ /* MOBILE FIX: Even stronger backdrop on mobile */
164
+ background: rgba(0, 0, 0, 0.5);
165
+ padding: var(--space-6);
166
+ }
167
+
168
+ .hero-title {
169
+ text-shadow:
170
+ 0 2px 4px rgba(0, 0, 0, 0.9),
171
+ 0 4px 8px rgba(0, 0, 0, 0.7),
172
+ 0 0 30px rgba(255, 255, 255, 0.2);
173
+ }
174
+
175
+ .hero-subtitle {
176
+ color: var(--gray-100); /* Even lighter on mobile */
177
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9);
178
+ }
179
+ }
180
+
181
+ /* Dark mode safeguards */
182
+ @media (prefers-color-scheme: dark) {
183
+ .hero-title {
184
+ color: var(--white) !important;
185
+ }
186
+
187
+ .hero-subtitle {
188
+ color: var(--gray-200) !important;
189
+ }
190
+
191
+ .pill {
192
+ background: rgba(0, 0, 0, 0.8) !important;
193
+ color: var(--white) !important;
194
+ }
195
+ }