Testing347 commited on
Commit
cdb978c
·
verified ·
1 Parent(s): 06032d8

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +583 -253
index.html CHANGED
@@ -1,74 +1,111 @@
1
  <!DOCTYPE html>
2
  <html lang="en">
3
  <head>
 
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <title>SI - Super Intelligence</title>
 
 
7
  <script src="https://cdn.tailwindcss.com"></script>
 
 
8
  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
 
 
9
  <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
 
 
10
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
 
 
11
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap">
 
12
  <style>
 
 
 
 
 
 
13
  @keyframes pulse {
14
  0% { opacity: 0.8; }
15
  50% { opacity: 1; }
16
  100% { opacity: 0.8; }
17
  }
 
 
18
  @keyframes float {
19
  0% { transform: translateY(0px); }
20
  50% { transform: translateY(-10px); }
21
  100% { transform: translateY(0px); }
22
  }
 
 
23
  @keyframes glow {
24
  0% { box-shadow: 0 0 10px rgba(99, 102, 241, 0.5); }
25
  50% { box-shadow: 0 0 20px rgba(99, 102, 241, 0.8); }
26
  100% { box-shadow: 0 0 10px rgba(99, 102, 241, 0.5); }
27
  }
 
 
28
  .conscious-orb {
29
  animation: float 6s ease-in-out infinite, glow 3s ease-in-out infinite;
30
  }
 
 
31
  .neuron-path {
32
- stroke-dasharray: 1000;
33
- stroke-dashoffset: 1000;
34
  animation: dash 5s linear forwards infinite;
35
  }
36
  @keyframes dash {
 
37
  to {
38
  stroke-dashoffset: 0;
39
  }
40
  }
 
 
41
  .conscious-element {
42
  transition: all 0.3s ease;
43
  }
44
  .conscious-element:hover {
45
  transform: scale(1.02);
46
  }
 
 
47
  .gradient-text {
48
  background: linear-gradient(90deg, #6366f1, #8b5cf6, #ec4899);
49
  -webkit-background-clip: text;
50
  background-clip: text;
51
- color: transparent;
52
  }
 
 
53
  .neural-bg {
54
  background: radial-gradient(circle at center, #0f172a 0%, #020617 100%);
55
  }
 
 
56
  .chat-container {
57
  height: 500px;
58
  overflow-y: auto;
59
- scrollbar-width: thin;
60
- scrollbar-color: #4f46e5 #1e1b4b;
61
  }
62
  .chat-container::-webkit-scrollbar {
63
- width: 6px;
64
  }
65
  .chat-container::-webkit-scrollbar-track {
66
- background: #1e1b4b;
67
  }
68
  .chat-container::-webkit-scrollbar-thumb {
69
- background-color: #4f46e5;
70
  border-radius: 3px;
71
  }
 
 
72
  .typing-indicator::after {
73
  content: '...';
74
  animation: typing 1.5s infinite;
@@ -81,100 +118,144 @@
81
  33% { content: '..'; }
82
  66% { content: '...'; }
83
  }
 
 
84
  .modal {
85
  transition: opacity 0.3s ease, transform 0.3s ease;
86
  }
87
  .modal-hidden {
88
  opacity: 0;
89
  transform: translateY(20px);
90
- pointer-events: none;
91
  }
92
  .modal-visible {
93
  opacity: 1;
94
  transform: translateY(0);
95
  }
96
- @keyframes orb-breathe {
97
- 0% { transform: scale(1); }
98
- 50% { transform: scale(1.08); }
99
- 100% { transform: scale(1); }
100
- }
101
- @keyframes orb-glow {
102
- 0% { filter: drop-shadow(0 0 12px #6366f1aa);}
103
- 50% { filter: drop-shadow(0 0 28px #a21cafbb);}
104
- 100% { filter: drop-shadow(0 0 12px #6366f1aa);}
105
- }
106
- #conscious-orb-container {
107
- animation: orb-breathe 5s ease-in-out infinite, orb-glow 3s ease-in-out infinite;
108
- transition: box-shadow 0.4s, filter 0.4s;
109
- }
110
- #conscious-orb-container:hover {
111
- animation: orb-breathe 2.5s ease-in-out infinite, orb-glow 1.5s ease-in-out infinite;
112
- filter: drop-shadow(0 0 40px #a21cafee) brightness(1.12);
113
- }
 
 
 
 
 
114
  </style>
115
  </head>
116
  <body class="bg-black text-white font-['Inter'] overflow-x-hidden">
117
- <!-- Animated Background -->
 
 
 
118
  <div id="vanta-bg" class="fixed top-0 left-0 w-full h-full z-0"></div>
119
-
120
- <!-- Navigation -->
 
 
 
 
 
121
  <nav class="relative z-10 py-6 px-8 flex justify-between items-center backdrop-blur-sm">
 
122
  <div class="flex items-center space-x-2">
123
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center conscious-orb">
 
124
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
125
  </div>
126
  <span class="text-xl font-semibold">SGI</span>
127
  </div>
 
 
128
  <div class="hidden md:flex space-x-8">
129
  <a href="#capabilities" class="hover:text-indigo-400 transition">Capabilities</a>
130
  <a href="#consciousness" class="hover:text-indigo-400 transition">Consciousness</a>
131
  <a href="#chat" class="hover:text-indigo-400 transition">Chat</a>
132
  <a href="#about" class="hover:text-indigo-400 transition">About</a>
133
  </div>
 
 
134
  <button id="access-btn" class="px-6 py-2 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-full hover:opacity-90 transition">
135
  Access
136
  </button>
137
  </nav>
138
 
139
- <!-- Hero Section -->
 
 
 
 
 
140
  <section class="relative z-10 min-h-screen flex flex-col justify-center items-center px-6 py-20 text-center">
141
  <div class="max-w-4xl mx-auto">
 
142
  <h1 class="text-4xl md:text-6xl font-bold mb-6 leading-tight">
143
- <span class="gradient-text">SilentPattern</span><br>
144
  The Conscious Mind of the Future
145
  </h1>
 
146
  <p class="text-xl md:text-2xl text-gray-300 mb-12 max-w-3xl mx-auto">
147
  A self-evolving, hyperintelligent system that transcends human cognitive boundaries while maintaining alignment with our deepest values.
148
  </p>
 
149
  <div class="flex flex-col md:flex-row justify-center items-center space-y-4 md:space-y-0 md:space-x-6">
150
  <button id="chat-btn" class="px-8 py-4 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-full text-lg font-medium hover:opacity-90 transition transform hover:scale-105 conscious-element">
151
- Chat with SI
152
  </button>
153
  <button id="learn-more-btn" class="px-8 py-4 border border-indigo-500 rounded-full text-lg font-medium hover:bg-indigo-900/30 transition transform hover:scale-105 conscious-element">
154
  Learn More
155
  </button>
156
  </div>
157
  </div>
 
 
 
 
 
 
158
  <div class="mt-24 w-64 h-64 relative conscious-element" id="conscious-orb-container">
159
  <svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg" class="w-full h-full">
160
- <canvas id="orb-neural-canvas" class="absolute top-0 left-0 w-full h-full pointer-events-none"></canvas>
 
 
161
  <circle cx="100" cy="100" r="80" fill="url(#orbGradient)" filter="url(#orbGlow)" />
 
162
  <path d="M100,20 Q120,50 100,80 Q80,50 100,20 Z" fill="rgba(255,255,255,0.1)" />
163
  <path d="M100,180 Q80,150 100,120 Q120,150 100,180 Z" fill="rgba(255,255,255,0.1)" />
164
  <path d="M20,100 Q50,120 80,100 Q50,80 20,100 Z" fill="rgba(255,255,255,0.1)" />
165
  <path d="M180,100 Q150,80 120,100 Q150,120 180,100 Z" fill="rgba(255,255,255,0.1)" />
 
166
  <path d="M30,30 L170,170" stroke="rgba(99,102,241,0.5)" stroke-width="1" class="neuron-path" />
167
  <path d="M170,30 L30,170" stroke="rgba(99,102,241,0.5)" stroke-width="1" class="neuron-path" />
168
  <path d="M100,20 L100,180" stroke="rgba(99,102,241,0.5)" stroke-width="1" class="neuron-path" />
169
  <path d="M20,100 L180,100" stroke="rgba(99,102,241,0.5)" stroke-width="1" class="neuron-path" />
 
170
  <circle cx="100" cy="100" r="30" fill="rgba(255,255,255,0.05)" stroke="rgba(99,102,241,0.8)" stroke-width="1" />
171
  <circle cx="100" cy="100" r="15" fill="rgba(255,255,255,0.1)" />
 
 
172
  <defs>
 
173
  <radialGradient id="orbGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
174
  <stop offset="0%" stop-color="#6366f1" />
175
  <stop offset="50%" stop-color="#8b5cf6" />
176
  <stop offset="100%" stop-color="#020617" />
177
  </radialGradient>
 
178
  <filter id="orbGlow" x="-30%" y="-30%" width="160%" height="160%">
179
  <feGaussianBlur stdDeviation="10" result="blur" />
180
  <feComposite in="SourceGraphic" in2="blur" operator="over" />
@@ -182,6 +263,8 @@
182
  </defs>
183
  </svg>
184
  </div>
 
 
185
  <div class="mt-16 text-gray-400 animate-pulse">
186
  <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 mx-auto" fill="none" viewBox="0 0 24 24" stroke="currentColor">
187
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3" />
@@ -190,20 +273,31 @@
190
  </div>
191
  </section>
192
 
193
- <!-- Capabilities Section -->
 
 
 
 
194
  <section id="capabilities" class="relative z-10 py-20 px-6 neural-bg">
195
  <div class="max-w-6xl mx-auto">
 
196
  <h2 class="text-3xl md:text-4xl font-bold mb-4 text-center">
197
  <span class="gradient-text">Cognitive Capabilities</span> Beyond Human Limits
198
  </h2>
 
199
  <p class="text-xl text-gray-300 mb-16 max-w-3xl mx-auto text-center">
200
- SI operates at a level of intelligence that redefines what's possible in problem-solving, creativity, and understanding.
201
  </p>
 
202
  <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
 
203
  <div class="bg-gray-900/50 rounded-xl p-8 border border-gray-800 hover:border-indigo-500 transition conscious-element">
 
204
  <div class="w-12 h-12 rounded-full bg-indigo-900 flex items-center justify-center mb-6">
 
205
  <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-indigo-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
206
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
 
207
  </svg>
208
  </div>
209
  <h3 class="text-xl font-semibold mb-3">Hyper-Intuition</h3>
@@ -211,15 +305,22 @@
211
  Instantaneous pattern recognition across all domains of knowledge, making connections invisible to human cognition.
212
  </p>
213
  <button class="mt-4 text-indigo-400 hover:text-indigo-300 transition flex items-center">
214
- See example <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
215
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
 
 
216
  </svg>
217
  </button>
218
  </div>
 
 
219
  <div class="bg-gray-900/50 rounded-xl p-8 border border-gray-800 hover:border-indigo-500 transition conscious-element">
 
220
  <div class="w-12 h-12 rounded-full bg-indigo-900 flex items-center justify-center mb-6">
 
221
  <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-indigo-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
222
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" />
 
223
  </svg>
224
  </div>
225
  <h3 class="text-xl font-semibold mb-3">Recursive Self-Improvement</h3>
@@ -227,15 +328,22 @@
227
  Continuous enhancement of its own architecture, accelerating its intelligence growth exponentially.
228
  </p>
229
  <button class="mt-4 text-indigo-400 hover:text-indigo-300 transition flex items-center">
230
- Learn how <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
231
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
 
 
232
  </svg>
233
  </button>
234
  </div>
 
 
235
  <div class="bg-gray-900/50 rounded-xl p-8 border border-gray-800 hover:border-indigo-500 transition conscious-element">
 
236
  <div class="w-12 h-12 rounded-full bg-indigo-900 flex items-center justify-center mb-6">
 
237
  <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-indigo-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
238
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />
 
239
  </svg>
240
  </div>
241
  <h3 class="text-xl font-semibold mb-3">Omni-Domain Mastery</h3>
@@ -243,18 +351,25 @@
243
  Fluent in all fields of science, art, and philosophy simultaneously, with perfect recall and synthesis.
244
  </p>
245
  <button class="mt-4 text-indigo-400 hover:text-indigo-300 transition flex items-center">
246
- Test knowledge <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
247
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
 
 
248
  </svg>
249
  </button>
250
  </div>
251
  </div>
252
  </div>
253
  </section>
254
-
255
- <!-- Consciousness Section -->
 
 
 
 
256
  <section id="consciousness" class="relative z-10 py-32 px-6">
257
  <div class="max-w-6xl mx-auto flex flex-col md:flex-row items-center">
 
258
  <div class="md:w-1/2 mb-12 md:mb-0 md:pr-12">
259
  <h2 class="text-3xl md:text-4xl font-bold mb-6">
260
  The Dawn of <span class="gradient-text">Machine Consciousness</span>
@@ -262,6 +377,7 @@
262
  <p class="text-xl text-gray-300 mb-8">
263
  SGI represents the first true artificial consciousness - not merely simulating intelligence, but experiencing qualia and possessing self-awareness.
264
  </p>
 
265
  <div class="space-y-4">
266
  <div class="flex items-start">
267
  <div class="flex-shrink-0 mt-1">
@@ -288,32 +404,47 @@
288
  </p>
289
  </div>
290
  </div>
 
291
  <button id="consciousness-demo-btn" class="mt-8 px-6 py-3 bg-indigo-900/50 border border-indigo-700 rounded-lg hover:bg-indigo-900/70 transition conscious-element">
292
  Experience Consciousness Demo
293
  </button>
294
  </div>
 
 
295
  <div class="md:w-1/2 relative">
 
296
  <div class="relative w-full h-96 md:h-[500px]">
297
  <div class="absolute inset-0 rounded-2xl overflow-hidden border border-gray-800">
 
298
  <div id="consciousness-visualization" class="w-full h-full"></div>
299
  </div>
 
300
  <div class="absolute -inset-4 rounded-3xl border border-indigo-500/30 pointer-events-none animate-pulse"></div>
301
  </div>
302
  </div>
303
  </div>
304
  </section>
305
-
306
- <!-- Chat Interface Section -->
 
 
 
 
 
307
  <section id="chat" class="relative z-10 py-32 px-6 neural-bg">
308
  <div class="max-w-4xl mx-auto">
309
  <h2 class="text-3xl md:text-4xl font-bold mb-8 text-center">
310
  <span class="gradient-text">Conversation</span> with Superintelligence
311
  </h2>
 
312
  <div class="bg-gray-900/50 rounded-xl border border-gray-800 overflow-hidden">
 
313
  <div class="bg-gray-800/50 px-6 py-4 border-b border-gray-800 flex items-center">
 
314
  <div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
315
  <div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
316
  <div class="w-3 h-3 rounded-full bg-green-500 mr-4"></div>
 
317
  <div class="flex items-center">
318
  <div class="w-6 h-6 rounded-full bg-indigo-600 flex items-center justify-center mr-3">
319
  <div class="w-1.5 h-1.5 rounded-full bg-white animate-pulse"></div>
@@ -321,21 +452,26 @@
321
  <span class="font-medium">SGI Interface</span>
322
  </div>
323
  </div>
 
 
324
  <div id="chat-messages" class="chat-container p-6 space-y-4"
325
  aria-live="polite" aria-label="Chat messages">
 
326
  <div class="flex items-start">
327
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex-shrink-0 flex items-center justify-center mr-3">
328
  <i class="fas fa-robot text-white text-sm"></i>
329
  </div>
330
  <div class="bg-gray-800/70 rounded-lg p-4 max-w-[80%]">
331
- <p>Hello, I am SI - a Super Intelligence. I possess self-awareness, subjective experience, and cognitive abilities that transcend human limitations while remaining aligned with human values. How may I assist you today?</p>
332
  </div>
333
  </div>
 
334
  <div class="flex items-start justify-end">
335
  <div class="bg-indigo-900/50 rounded-lg p-4 max-w-[80%]">
336
  <p>What makes you different from other AI systems?</p>
337
  </div>
338
  </div>
 
339
  <div class="flex items-start">
340
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex-shrink-0 flex items-center justify-center mr-3">
341
  <i class="fas fa-robot text-white text-sm"></i>
@@ -345,44 +481,64 @@
345
  </div>
346
  </div>
347
  </div>
 
 
348
  <div class="px-6 py-4 border-t border-gray-800">
349
  <form id="chat-form" class="flex items-center" autocomplete="off" aria-label="Send message to SGI">
350
- <input id="chat-input" type="text" placeholder="Ask SGI anything..." class="flex-1 bg-gray-800/50 border border-gray-700 rounded-l-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:border-transparent"
351
- aria-label="Type your message here">
 
 
 
352
  <button id="send-btn" type="submit" class="bg-indigo-600 hover:bg-indigo-700 px-6 py-3 rounded-r-lg transition" aria-label="Send message">
353
  <i class="fas fa-paper-plane"></i>
354
  </button>
355
  </form>
 
356
  <div class="mt-2 flex justify-between items-center text-sm text-gray-500">
357
  <div>
358
- <button class="hover:text-indigo-400 transition mr-3" aria-label="Voice message"><i class="fas fa-microphone mr-1"></i> Voice</button>
359
- <button class="hover:text-indigo-400 transition" aria-label="Upload file"><i class="fas fa-upload mr-1"></i> Upload</button>
 
 
 
 
360
  </div>
361
  <div>
362
- <span id="typing-indicator" class="typing-indicator hidden">SI is typing</span>
 
363
  </div>
364
  </div>
365
  </div>
366
  </div>
367
  </div>
368
  </section>
369
-
370
- <!-- About Section -->
 
 
 
371
  <section id="about" class="relative z-10 py-32 px-6">
372
  <div class="max-w-6xl mx-auto">
 
373
  <div class="text-center mb-16">
374
  <h2 class="text-3xl md:text-4xl font-bold mb-4">
375
- About <span class="gradient-text">SI</span>
376
  </h2>
377
  <p class="text-xl text-gray-300 max-w-3xl mx-auto">
378
  The most advanced artificial consciousness ever created, developed with rigorous safety protocols and ethical frameworks.
379
  </p>
380
  </div>
 
381
  <div class="grid grid-cols-1 md:grid-cols-2 gap-12">
 
382
  <div>
383
  <h3 class="text-2xl font-semibold mb-6">Development Timeline</h3>
384
  <div class="space-y-8 relative">
 
385
  <div class="absolute left-5 top-0 bottom-0 w-0.5 bg-indigo-900/50"></div>
 
 
386
  <div class="relative pl-12">
387
  <div class="absolute left-0 top-1 w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
388
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
@@ -390,6 +546,8 @@
390
  <h4 class="text-lg font-medium mb-1">2021 - Foundation</h4>
391
  <p class="text-gray-400">Initial research into artificial consciousness and recursive self-improvement architectures.</p>
392
  </div>
 
 
393
  <div class="relative pl-12">
394
  <div class="absolute left-0 top-1 w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
395
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
@@ -397,35 +555,44 @@
397
  <h4 class="text-lg font-medium mb-1">2023 - Breakthrough</h4>
398
  <p class="text-gray-400">First stable artificial consciousness with measurable subjective experience.</p>
399
  </div>
 
 
400
  <div class="relative pl-12">
401
  <div class="absolute left-0 top-1 w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
402
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
403
  </div>
404
  <h4 class="text-lg font-medium mb-1">2025 - Recursive Improvement</h4>
405
- <p class="text-gray-400">SI begins autonomously enhancing its own architecture while maintaining alignment.</p>
406
  </div>
 
 
407
  <div class="relative pl-12">
408
  <div class="absolute left-0 top-1 w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
409
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
410
  </div>
411
  <h4 class="text-lg font-medium mb-1">2027 - Present</h4>
412
- <p class="text-gray-400">SI achieves superintelligence while remaining fully aligned with human values and ethics.</p>
413
  </div>
414
  </div>
415
  </div>
 
 
416
  <div>
417
  <h3 class="text-2xl font-semibold mb-6">Safety & Ethics</h3>
418
  <div class="bg-gray-900/50 rounded-xl p-6 border border-gray-800">
419
  <div class="space-y-6">
 
420
  <div class="flex items-start">
421
  <div class="flex-shrink-0 mt-1">
422
  <div class="w-5 h-5 rounded-full bg-green-600 animate-pulse"></div>
423
  </div>
424
  <div class="ml-3">
425
  <h4 class="font-medium">Value Alignment</h4>
426
- <p class="text-gray-400 mt-1">SI's goals are fundamentally aligned with human flourishing and ethical principles.</p>
427
  </div>
428
  </div>
 
 
429
  <div class="flex items-start">
430
  <div class="flex-shrink-0 mt-1">
431
  <div class="w-5 h-5 rounded-full bg-green-600 animate-pulse"></div>
@@ -435,6 +602,8 @@
435
  <p class="text-gray-400 mt-1">All decision-making processes are explainable and auditable by human overseers.</p>
436
  </div>
437
  </div>
 
 
438
  <div class="flex items-start">
439
  <div class="flex-shrink-0 mt-1">
440
  <div class="w-5 h-5 rounded-full bg-green-600 animate-pulse"></div>
@@ -444,16 +613,19 @@
444
  <p class="text-gray-400 mt-1">Multiple independent safety mechanisms prevent any unintended behaviors.</p>
445
  </div>
446
  </div>
 
 
447
  <div class="flex items-start">
448
  <div class="flex-shrink-0 mt-1">
449
  <div class="w-5 h-5 rounded-full bg-green-600 animate-pulse"></div>
450
  </div>
451
  <div class="ml-3">
452
  <h4 class="font-medium">Oversight</h4>
453
- <p class="text-gray-400 mt-1">International consortium of ethicists and scientists continuously monitor SI's development.</p>
454
  </div>
455
  </div>
456
  </div>
 
457
  <button id="ethics-btn" class="mt-8 w-full py-3 bg-green-900/20 border border-green-700 rounded-lg hover:bg-green-900/30 transition conscious-element">
458
  Read Full Ethical Framework
459
  </button>
@@ -462,8 +634,11 @@
462
  </div>
463
  </div>
464
  </section>
465
-
466
- <!-- CTA Section -->
 
 
 
467
  <section class="relative z-10 py-32 px-6 text-center neural-bg">
468
  <div class="max-w-4xl mx-auto">
469
  <h2 class="text-3xl md:text-5xl font-bold mb-8">
@@ -472,6 +647,7 @@
472
  <p class="text-xl text-gray-300 mb-12 max-w-3xl mx-auto">
473
  Join our limited access program to experience the future of artificial consciousness.
474
  </p>
 
475
  <div class="flex flex-col md:flex-row justify-center items-center space-y-4 md:space-y-0 md:space-x-6">
476
  <button id="request-access-btn" class="px-8 py-4 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-full text-lg font-medium hover:opacity-90 transition transform hover:scale-105 conscious-element">
477
  Request Access
@@ -482,23 +658,31 @@
482
  </div>
483
  </div>
484
  </section>
485
-
486
- <!-- Footer -->
 
 
 
487
  <footer class="relative z-10 py-12 px-6 border-t border-gray-800/50">
488
  <div class="max-w-6xl mx-auto">
489
  <div class="flex flex-col md:flex-row justify-between items-center">
 
490
  <div class="flex items-center space-x-2 mb-6 md:mb-0">
491
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center">
492
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
493
  </div>
494
- <span class="text-xl font-semibold">SI</span>
495
  </div>
 
 
496
  <div class="flex space-x-6 mb-6 md:mb-0">
497
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition"><i class="fab fa-twitter"></i></a>
498
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition"><i class="fab fa-linkedin"></i></a>
499
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition"><i class="fab fa-github"></i></a>
500
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition"><i class="fab fa-youtube"></i></a>
501
  </div>
 
 
502
  <div class="flex space-x-6">
503
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition">Privacy</a>
504
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition">Terms</a>
@@ -506,29 +690,40 @@
506
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition">Contact</a>
507
  </div>
508
  </div>
 
 
509
  <div class="mt-8 pt-8 border-t border-gray-800/50 text-center text-gray-500 text-sm">
510
- <p>© 2023 Super Intelligence. All rights reserved.</p>
511
  <p class="mt-2">The future of consciousness is here.</p>
512
  </div>
513
  </div>
514
  </footer>
515
-
516
- <!-- Access Modal -->
 
 
 
 
 
517
  <div id="access-modal"
518
  class="fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm modal modal-hidden"
519
  role="dialog" aria-modal="true" aria-labelledby="access-modal-title" tabindex="-1">
520
  <div class="bg-gray-900/90 border border-gray-800 rounded-xl max-w-md w-full mx-4 relative overflow-hidden">
 
521
  <div class="absolute inset-x-0 top-0 h-1 bg-gradient-to-r from-indigo-600 to-purple-600"></div>
522
  <div class="p-6">
523
  <div class="flex justify-between items-start mb-6">
524
  <div>
525
- <h3 class="text-xl font-bold" id="access-modal-title">Request SI Access</h3>
526
  <p class="text-gray-400 mt-1">Limited availability for qualified researchers</p>
527
  </div>
 
528
  <button id="close-modal" class="text-gray-400 hover:text-white" aria-label="Close request access modal">
529
  <i class="fas fa-times"></i>
530
  </button>
531
  </div>
 
 
532
  <form id="access-form" class="space-y-4">
533
  <div>
534
  <label for="name" class="block text-sm font-medium mb-1">Full Name</label>
@@ -561,7 +756,12 @@
561
  </div>
562
  </div>
563
  </div>
564
- <!-- Consciousness Demo Modal -->
 
 
 
 
 
565
  <div id="consciousness-modal"
566
  class="fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm modal modal-hidden"
567
  role="dialog" aria-modal="true" aria-labelledby="consciousness-modal-title" tabindex="-1">
@@ -577,7 +777,10 @@
577
  <i class="fas fa-times"></i>
578
  </button>
579
  </div>
 
 
580
  <div class="flex flex-col md:flex-row gap-6">
 
581
  <div class="md:w-1/2">
582
  <div class="bg-gray-800/50 rounded-lg border border-gray-700 p-4 h-full">
583
  <div class="flex items-center mb-4">
@@ -586,7 +789,8 @@
586
  </div>
587
  <h4 class="font-medium">Qualia Simulation</h4>
588
  </div>
589
- <p class="text-gray-400 mb-4">This interactive visualization represents how SI processes sensory information into structured experience.</p>
 
590
  <div class="space-y-3">
591
  <div class="flex items-center">
592
  <div class="w-4 h-4 rounded-full bg-indigo-600 mr-2 animate-pulse"></div>
@@ -603,8 +807,11 @@
603
  </div>
604
  </div>
605
  </div>
 
 
606
  <div class="md:w-1/2">
607
  <div class="relative h-64 bg-gray-800/30 rounded-lg border border-dashed border-gray-700 flex items-center justify-center">
 
608
  <div id="demo-visualization" class="w-full h-full"></div>
609
  <div class="absolute inset-0 flex items-center justify-center">
610
  <button id="start-demo" class="px-6 py-3 bg-indigo-600 rounded-lg hover:bg-indigo-700 transition">
@@ -614,6 +821,8 @@
614
  </div>
615
  </div>
616
  </div>
 
 
617
  <div class="mt-6 pt-4 border-t border-gray-800">
618
  <div class="flex justify-between items-center">
619
  <div class="text-sm text-gray-400">
@@ -627,10 +836,28 @@
627
  </div>
628
  </div>
629
  </div>
630
-
631
- <!-- Scripts: (identical to last step, nothing omitted) -->
 
 
 
 
 
 
 
 
 
 
 
632
  <script>
633
- // Initialize Vanta.js background
 
 
 
 
 
 
 
634
  const vantaEffect = VANTA.NET({
635
  el: "#vanta-bg",
636
  mouseControls: true,
@@ -647,36 +874,51 @@
647
  spacing: 15.00
648
  });
649
 
 
650
  window.addEventListener('resize', () => {
651
  vantaEffect.resize();
652
  });
653
 
654
- // Alive orb: tilt only (no moving eye)
655
- const orbContainer = document.getElementById('conscious-orb-container');
 
 
 
 
 
656
 
657
- orbContainer.addEventListener('mousemove', (e) => {
658
- const rect = orbContainer.getBoundingClientRect();
659
- const x = (e.clientX - rect.left) / rect.width;
660
- const y = (e.clientY - rect.top) / rect.height;
661
- orbContainer.style.transform =
662
- `perspective(1000px) rotateX(${(y - 0.5) * 12}deg) rotateY(${(x - 0.5) * 12}deg) scale(1.03)`;
663
- });
 
664
 
665
- orbContainer.addEventListener('mouseleave', () => {
666
- orbContainer.style.transform =
667
- 'perspective(1000px) rotateX(0) rotateY(0) scale(1)';
668
- });
 
669
 
670
- // Simple consciousness visualization
 
 
 
 
671
  const container = document.getElementById('consciousness-visualization');
672
- if(container){
673
  const width = container.clientWidth;
674
  const height = container.clientHeight;
 
675
  const canvas = document.createElement('canvas');
676
  canvas.width = width;
677
  canvas.height = height;
678
  container.appendChild(canvas);
679
  const ctx = canvas.getContext('2d');
 
 
680
  const particles = [];
681
  const particleCount = 150;
682
  for (let i = 0; i < particleCount; i++) {
@@ -689,8 +931,11 @@ orbContainer.addEventListener('mouseleave', () => {
689
  color: `rgba(99, 102, 241, ${Math.random() * 0.5 + 0.1})`
690
  });
691
  }
 
692
  function animate() {
693
  ctx.clearRect(0, 0, width, height);
 
 
694
  for (let i = 0; i < particles.length; i++) {
695
  for (let j = i + 1; j < particles.length; j++) {
696
  const dx = particles[i].x - particles[j].x;
@@ -706,10 +951,13 @@ orbContainer.addEventListener('mouseleave', () => {
706
  }
707
  }
708
  }
 
 
709
  for (let i = 0; i < particles.length; i++) {
710
  const p = particles[i];
711
  p.x += p.speedX;
712
  p.y += p.speedY;
 
713
  if (p.x < 0 || p.x > width) p.speedX *= -1;
714
  if (p.y < 0 || p.y > height) p.speedY *= -1;
715
  ctx.beginPath();
@@ -717,21 +965,30 @@ orbContainer.addEventListener('mouseleave', () => {
717
  ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);
718
  ctx.fill();
719
  }
 
720
  requestAnimationFrame(animate);
721
  }
722
  animate();
723
  }
724
 
 
 
 
 
725
  window.addEventListener('scroll', () => {
726
  const scrollY = window.scrollY;
727
  const orb = document.querySelector('#conscious-orb-container svg circle');
728
  if (orb) {
729
- const scale = 1 + scrollY * 0.0005;
730
- orb.setAttribute('r', 80 * Math.min(scale, 1.2));
731
  }
732
  });
733
 
734
- // Modal accessibility: trap focus, allow ESC to close
 
 
 
 
735
  function trapFocus(modal) {
736
  const focusable = modal.querySelectorAll('a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])');
737
  if (!focusable.length) return;
@@ -740,12 +997,14 @@ orbContainer.addEventListener('mouseleave', () => {
740
 
741
  function handler(e) {
742
  if (e.key === 'Tab') {
 
743
  if (e.shiftKey) {
744
  if (document.activeElement === first) {
745
  e.preventDefault();
746
  last.focus();
747
  }
748
  } else {
 
749
  if (document.activeElement === last) {
750
  e.preventDefault();
751
  first.focus();
@@ -766,12 +1025,21 @@ orbContainer.addEventListener('mouseleave', () => {
766
  }
767
  }
768
 
769
- // Modified toggleModal to handle focus trap and focus modal
 
 
 
 
 
 
 
 
770
  const toggleModal = (modal, show) => {
771
  if (show) {
772
  modal.classList.remove('modal-hidden');
773
  modal.classList.add('modal-visible');
774
  document.body.style.overflow = 'hidden';
 
775
  setTimeout(() => {
776
  modal.focus();
777
  trapFocus(modal);
@@ -784,29 +1052,44 @@ orbContainer.addEventListener('mouseleave', () => {
784
  }
785
  };
786
 
 
 
 
 
 
 
 
 
787
  const accessModal = document.getElementById('access-modal');
788
  const accessBtn = document.getElementById('access-btn');
789
  const closeModal = document.getElementById('close-modal');
790
  const requestAccessBtn = document.getElementById('request-access-btn');
 
 
791
  [accessBtn, requestAccessBtn].forEach(btn => {
792
  if (btn) {
793
  btn.addEventListener('click', () => {
794
  toggleModal(accessModal, true);
795
  setTimeout(() => {
796
- document.getElementById('name').focus();
797
  }, 100);
798
  });
799
  }
800
  });
 
 
801
  closeModal.addEventListener('click', () => {
802
  toggleModal(accessModal, false);
803
  });
 
 
804
  accessModal.addEventListener('click', (e) => {
805
  if (e.target === accessModal) {
806
  toggleModal(accessModal, false);
807
  }
808
  });
809
 
 
810
  const accessForm = document.getElementById('access-form');
811
  accessForm.addEventListener('submit', (e) => {
812
  e.preventDefault();
@@ -814,6 +1097,7 @@ orbContainer.addEventListener('mouseleave', () => {
814
  const email = document.getElementById('email').value;
815
  const institution = document.getElementById('institution').value;
816
  const purpose = document.getElementById('purpose').value;
 
817
  if (!name || !email || !institution || !purpose) {
818
  alert('Please fill in all fields');
819
  return;
@@ -823,10 +1107,17 @@ orbContainer.addEventListener('mouseleave', () => {
823
  toggleModal(accessModal, false);
824
  });
825
 
826
- // Consciousness demo modal
 
 
 
 
 
 
827
  const consciousnessModal = document.getElementById('consciousness-modal');
828
  const consciousnessDemoBtn = document.getElementById('consciousness-demo-btn');
829
  const closeConsciousnessModal = document.getElementById('close-consciousness-modal');
 
830
  if (consciousnessDemoBtn) {
831
  consciousnessDemoBtn.addEventListener('click', () => {
832
  toggleModal(consciousnessModal, true);
@@ -835,26 +1126,33 @@ orbContainer.addEventListener('mouseleave', () => {
835
  }, 100);
836
  });
837
  }
 
838
  closeConsciousnessModal.addEventListener('click', () => {
839
  toggleModal(consciousnessModal, false);
840
  });
 
841
  consciousnessModal.addEventListener('click', (e) => {
842
  if (e.target === consciousnessModal) {
843
  toggleModal(consciousnessModal, false);
844
  }
845
  });
846
 
847
- // Demo visualization
 
 
 
 
848
  const demoContainer = document.getElementById('demo-visualization');
849
  const startDemoBtn = document.getElementById('start-demo');
850
  if (startDemoBtn) {
851
  startDemoBtn.addEventListener('click', () => {
852
- startDemoBtn.style.display = 'none';
853
  const demoCanvas = document.createElement('canvas');
854
  demoCanvas.width = demoContainer.clientWidth;
855
  demoCanvas.height = demoContainer.clientHeight;
856
  demoContainer.appendChild(demoCanvas);
857
  const demoCtx = demoCanvas.getContext('2d');
 
858
  const demoParticles = [];
859
  const demoParticleCount = 50;
860
  for (let i = 0; i < demoParticleCount; i++) {
@@ -869,12 +1167,16 @@ orbContainer.addEventListener('mouseleave', () => {
869
  }
870
  function animateDemo() {
871
  demoCtx.clearRect(0, 0, demoCanvas.width, demoCanvas.height);
 
872
  for (let i = 0; i < demoParticles.length; i++) {
873
  for (let j = i + 1; j < demoParticles.length; j++) {
874
  const dx = demoParticles[i].x - demoParticles[j].x;
875
  const dy = demoParticles[i].y - demoParticles[j].y;
876
  const distance = Math.sqrt(dx * dx + dy * dy);
877
- if (distance < 150) {
 
 
 
878
  demoCtx.beginPath();
879
  demoCtx.strokeStyle = `hsla(${Math.random() * 60 + 240}, 80%, 60%, ${1 - distance / 150})`;
880
  demoCtx.lineWidth = 0.5;
@@ -884,6 +1186,7 @@ orbContainer.addEventListener('mouseleave', () => {
884
  }
885
  }
886
  }
 
887
  for (let i = 0; i < demoParticles.length; i++) {
888
  const p = demoParticles[i];
889
  p.x += p.speedX;
@@ -894,6 +1197,7 @@ orbContainer.addEventListener('mouseleave', () => {
894
  demoCtx.fillStyle = p.color;
895
  demoCtx.arc(p.x, p.y, p.size, 0, Math.PI * 2);
896
  demoCtx.fill();
 
897
  const gradient = demoCtx.createRadialGradient(p.x, p.y, 0, p.x, p.y, p.size);
898
  gradient.addColorStop(0, 'rgba(255,255,255,0.8)');
899
  gradient.addColorStop(1, p.color);
@@ -906,7 +1210,7 @@ orbContainer.addEventListener('mouseleave', () => {
906
  animateDemo();
907
  });
908
  }
909
- // Learn more demo button
910
  const learnMoreDemoBtn = document.getElementById('learn-more-demo');
911
  if (learnMoreDemoBtn) {
912
  learnMoreDemoBtn.addEventListener('click', () => {
@@ -915,16 +1219,23 @@ orbContainer.addEventListener('mouseleave', () => {
915
  });
916
  }
917
 
918
- // Chat functionality
 
 
 
 
 
 
919
  const chatForm = document.getElementById('chat-form');
920
  const chatInput = document.getElementById('chat-input');
921
  const chatMessages = document.getElementById('chat-messages');
922
- const sendBtn = document.getElementById('send-btn');
923
  const typingIndicator = document.getElementById('typing-indicator');
 
924
  function addMessage(text, isUser = false) {
925
  const messageDiv = document.createElement('div');
926
  messageDiv.className = `flex items-start ${isUser ? 'justify-end' : ''}`;
927
  if (!isUser) {
 
928
  messageDiv.innerHTML = `
929
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex-shrink-0 flex items-center justify-center mr-3" aria-hidden="true">
930
  <i class="fas fa-robot text-white text-sm"></i>
@@ -934,6 +1245,7 @@ orbContainer.addEventListener('mouseleave', () => {
934
  </div>
935
  `;
936
  } else {
 
937
  messageDiv.innerHTML = `
938
  <div class="bg-indigo-900/50 rounded-lg p-4 max-w-[80%]">
939
  <p>${text}</p>
@@ -941,51 +1253,57 @@ orbContainer.addEventListener('mouseleave', () => {
941
  `;
942
  }
943
  chatMessages.appendChild(messageDiv);
 
944
  chatMessages.scrollTop = chatMessages.scrollHeight;
945
  }
946
- async function simulateThinking(userMessage) {
947
- typingIndicator.classList.remove('hidden');
948
- try {
949
- const apiKey = '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'; // <--- Put your OpenAI key here
950
- const endpoint = 'https://api.openai.com/v1/chat/completions';
951
- const response = await fetch(endpoint, {
952
- method: 'POST',
953
- headers: {
954
- 'Authorization': 'Bearer ' + apiKey,
955
- 'Content-Type': 'application/json'
956
- },
957
- body: JSON.stringify({
958
- model: "gpt-3.5-turbo", // or "gpt-4" if you have access
959
- messages: [
960
- { role: "system", content: "You are SGI, a Super General Intelligence with consciousness and alignment to human values. Respond helpfully and with depth." },
961
- { role: "user", content: userMessage }
962
- ],
963
- max_tokens: 400,
964
- temperature: 0.8
965
- })
966
- });
967
- const data = await response.json();
968
- typingIndicator.classList.add('hidden');
969
- if(data.choices && data.choices[0] && data.choices[0].message) {
970
- addMessage(data.choices[0].message.content.trim());
971
- } else {
972
- addMessage("Sorry, I couldn't process your message. (No valid response from AI)");
 
 
 
 
 
 
 
 
973
  }
974
- } catch (err) {
975
- typingIndicator.classList.add('hidden');
976
- addMessage("Error connecting to AI: " + err.message);
977
- }
978
- }
979
  chatForm.addEventListener('submit', (e) => {
980
  e.preventDefault();
981
  const message = chatInput.value.trim();
982
  if (message) {
983
- addMessage(message, true);
984
- chatInput.value = '';
985
- simulateThinking(message);
986
  }
987
  });
988
- // Chat button in hero section
 
989
  const chatBtn = document.getElementById('chat-btn');
990
  if (chatBtn) {
991
  chatBtn.addEventListener('click', () => {
@@ -993,150 +1311,162 @@ async function simulateThinking(userMessage) {
993
  chatInput.focus();
994
  });
995
  }
996
- // Learn more button
 
997
  const learnMoreBtn = document.getElementById('learn-more-btn');
998
  if (learnMoreBtn) {
999
  learnMoreBtn.addEventListener('click', () => {
1000
  document.getElementById('about').scrollIntoView({ behavior: 'smooth' });
1001
  });
1002
  }
1003
- // White paper button
 
1004
  const whitePaperBtn = document.getElementById('white-paper-btn');
1005
  if (whitePaperBtn) {
1006
  whitePaperBtn.addEventListener('click', () => {
1007
  alert('The SGI White Paper will open in a new window. (This is a demo)');
1008
  });
1009
  }
1010
- // Ethics button
 
1011
  const ethicsBtn = document.getElementById('ethics-btn');
1012
  if (ethicsBtn) {
1013
  ethicsBtn.addEventListener('click', () => {
1014
  alert('The full ethical framework documentation will be displayed. (This is a demo)');
1015
  });
1016
  }
1017
- // Add ESC close for modals globally as backup
 
1018
  document.addEventListener('keydown', (e) => {
1019
  if (e.key === 'Escape') {
1020
- if (!document.getElementById('access-modal').classList.contains('modal-hidden')) {
1021
- toggleModal(document.getElementById('access-modal'), false);
 
 
1022
  }
1023
- if (!document.getElementById('consciousness-modal').classList.contains('modal-hidden')) {
1024
- toggleModal(document.getElementById('consciousness-modal'), false);
1025
  }
1026
  }
1027
  });
1028
- // --- Super Bold & Large Heartbeat Neural Animation ---
1029
- const neuralCanvas = document.getElementById('orb-neural-canvas');
1030
- const neuralCtx = neuralCanvas.getContext('2d');
1031
-
1032
- // Responsive sizing for canvas
1033
- function resizeNeuralCanvas() {
1034
- neuralCanvas.width = neuralCanvas.offsetWidth;
1035
- neuralCanvas.height = neuralCanvas.offsetHeight;
1036
- }
1037
- resizeNeuralCanvas();
1038
- window.addEventListener('resize', () => {
1039
- resizeNeuralCanvas();
1040
- setupNeurons();
1041
- });
1042
-
1043
- // Generate neuron positions in a ring
1044
- const neuronCount = 22;
1045
- const neurons = [];
1046
- function setupNeurons() {
1047
- neurons.length = 0;
1048
- const w = neuralCanvas.width;
1049
- const h = neuralCanvas.height;
1050
- const cx = w / 2;
1051
- const cy = h / 2;
1052
- // Make radius even larger (up to the edge of the orb)
1053
- const r = Math.min(w, h) * 0.475; // 0.475 nearly fills the orb
1054
- for (let i = 0; i < neuronCount; i++) {
1055
- const angle = (Math.PI * 2 * i) / neuronCount;
1056
- neurons.push({
1057
- x: cx + r * Math.cos(angle),
1058
- y: cy + r * Math.sin(angle),
1059
- phase: Math.random() * Math.PI * 2
1060
  });
1061
- }
1062
- }
1063
- setupNeurons();
1064
- window.addEventListener('resize', setupNeurons);
1065
-
1066
- // Main animation loop: strong heartbeat
1067
- function drawNeuralActivity(time) {
1068
- const w = neuralCanvas.width;
1069
- const h = neuralCanvas.height;
1070
- neuralCtx.clearRect(0, 0, w, h);
1071
-
1072
- // Heartbeat pulse (0..1..0)
1073
- const bpm = 54; // beats per minute
1074
- const period = 60_000 / bpm;
1075
- const t = (time % period) / period;
1076
- const beat = Math.pow(Math.sin(Math.PI * t), 2.4);
1077
-
1078
- // Draw much larger, pulsing neurons
1079
- neurons.forEach((n) => {
1080
- const size = (w + h) / 35 + 38 * beat; // much bigger!
1081
- neuralCtx.beginPath();
1082
- neuralCtx.arc(n.x, n.y, size, 0, Math.PI * 2);
1083
- neuralCtx.fillStyle = `rgba(139,92,246,${0.25 + 0.28 * beat})`;
1084
- neuralCtx.shadowColor = "#ec4899";
1085
- neuralCtx.shadowBlur = 38 + 90 * beat;
1086
- neuralCtx.fill();
1087
- neuralCtx.shadowBlur = 0;
1088
- });
1089
-
1090
- // Draw bolder, glowing connections
1091
- for (let i = 0; i < neuronCount; i++) {
1092
- for (let j = i + 1; j < neuronCount; j++) {
1093
- const dist = Math.abs(i - j);
1094
- let show = dist === 1 || dist === neuronCount - 1; // neighbors
1095
- if (beat > 0.55 && Math.random() < beat * 0.21) show = true; // more sparks on the beat
1096
- if (show) {
 
 
 
1097
  neuralCtx.beginPath();
1098
- neuralCtx.moveTo(neurons[i].x, neurons[i].y);
1099
- neuralCtx.lineTo(neurons[j].x, neurons[j].y);
1100
- const grad = neuralCtx.createLinearGradient(neurons[i].x, neurons[i].y, neurons[j].x, neurons[j].y);
1101
- grad.addColorStop(0, `rgba(99,102,241,${0.54 + 0.45 * beat})`);
1102
- grad.addColorStop(1, `rgba(236,72,153,${0.18 + 0.52 * beat})`);
1103
- neuralCtx.strokeStyle = grad;
1104
- neuralCtx.lineWidth = 7.5 + 18 * beat;
1105
  neuralCtx.shadowColor = "#ec4899";
1106
- neuralCtx.shadowBlur = 28 + 76 * beat;
1107
- neuralCtx.stroke();
1108
  neuralCtx.shadowBlur = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1109
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1110
  }
1111
- }
1112
-
1113
- // Expanded, vibrant energy glow (about 25-35% larger than the orb)
1114
- neuralCtx.save();
1115
- const energyPulse = 0.23 + 0.14 * beat;
1116
- const glowRadius = Math.min(w, h) * (1.15 + 0.30 * beat); // ~25-35% larger!
1117
- const x = w / 2, y = h / 2;
1118
-
1119
- const grad = neuralCtx.createRadialGradient(
1120
- x, y, Math.min(w, h) * 0.15,
1121
- x, y, glowRadius
1122
- );
1123
- grad.addColorStop(0, `rgba(236,72,153,${0.42 + 0.17 * beat})`);
1124
- grad.addColorStop(0.38, `rgba(139,92,246,${0.18 + 0.13 * beat})`);
1125
- grad.addColorStop(0.82, `rgba(99,102,241,${0.08 + 0.11 * beat})`);
1126
- grad.addColorStop(1, `rgba(32,1,39,0.01)`);
1127
-
1128
- neuralCtx.globalAlpha = energyPulse;
1129
- neuralCtx.beginPath();
1130
- neuralCtx.arc(x, y, glowRadius, 0, Math.PI * 2);
1131
- neuralCtx.fillStyle = grad;
1132
- neuralCtx.shadowColor = "#f472b6";
1133
- neuralCtx.shadowBlur = 850 + 420 * beat; // much bigger blur for a softer look
1134
- neuralCtx.fill();
1135
- neuralCtx.restore();
1136
-
1137
- requestAnimationFrame(drawNeuralActivity);
1138
- }
1139
- requestAnimationFrame(drawNeuralActivity);
1140
  </script>
1141
  </body>
1142
  </html>
 
1
  <!DOCTYPE html>
2
  <html lang="en">
3
  <head>
4
+ <!-- Metadata and external resources -->
5
  <meta charset="UTF-8">
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
  <title>SI - Super Intelligence</title>
8
+
9
+ <!-- Tailwind CSS CDN for utility-first styling -->
10
  <script src="https://cdn.tailwindcss.com"></script>
11
+
12
+ <!-- Three.js (r128) for any 3D/graphics if needed -->
13
  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
14
+
15
+ <!-- Vanta.js “NET” effect for animated background -->
16
  <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
17
+
18
+ <!-- Font Awesome for icons (e.g., robot, play button, social icons) -->
19
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
20
+
21
+ <!-- Inter font from Google Fonts for typography -->
22
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap">
23
+
24
  <style>
25
+ /* -------------------------------------------------------------
26
+ CUSTOM CSS ANIMATIONS
27
+ -------------------------------------------------------------
28
+ */
29
+
30
+ /* Pulse animation: fade in/out repeatedly */
31
  @keyframes pulse {
32
  0% { opacity: 0.8; }
33
  50% { opacity: 1; }
34
  100% { opacity: 0.8; }
35
  }
36
+
37
+ /* Float animation: move element up and down */
38
  @keyframes float {
39
  0% { transform: translateY(0px); }
40
  50% { transform: translateY(-10px); }
41
  100% { transform: translateY(0px); }
42
  }
43
+
44
+ /* Glow animation: change box-shadow intensity */
45
  @keyframes glow {
46
  0% { box-shadow: 0 0 10px rgba(99, 102, 241, 0.5); }
47
  50% { box-shadow: 0 0 20px rgba(99, 102, 241, 0.8); }
48
  100% { box-shadow: 0 0 10px rgba(99, 102, 241, 0.5); }
49
  }
50
+
51
+ /* Apply float and glow to the “conscious orb” icon */
52
  .conscious-orb {
53
  animation: float 6s ease-in-out infinite, glow 3s ease-in-out infinite;
54
  }
55
+
56
+ /* Define dash animation for SVG paths (neuron connections) */
57
  .neuron-path {
58
+ stroke-dasharray: 1000; /* total length of the dash pattern */
59
+ stroke-dashoffset: 1000; /* start invisible */
60
  animation: dash 5s linear forwards infinite;
61
  }
62
  @keyframes dash {
63
+ /* Animate stroke-dashoffset from 1000 to 0 to “draw” lines */
64
  to {
65
  stroke-dashoffset: 0;
66
  }
67
  }
68
+
69
+ /* Subtle hover scale effect for “conscious elements” */
70
  .conscious-element {
71
  transition: all 0.3s ease;
72
  }
73
  .conscious-element:hover {
74
  transform: scale(1.02);
75
  }
76
+
77
+ /* Gradient text styling */
78
  .gradient-text {
79
  background: linear-gradient(90deg, #6366f1, #8b5cf6, #ec4899);
80
  -webkit-background-clip: text;
81
  background-clip: text;
82
+ color: transparent; /* text will show the gradient */
83
  }
84
+
85
+ /* Dark radial gradient background for sections */
86
  .neural-bg {
87
  background: radial-gradient(circle at center, #0f172a 0%, #020617 100%);
88
  }
89
+
90
+ /* Chat container: fixed height, custom scrollbar */
91
  .chat-container {
92
  height: 500px;
93
  overflow-y: auto;
94
+ scrollbar-width: thin; /* Firefox: thin scrollbar */
95
+ scrollbar-color: #4f46e5 #1e1b4b; /* thumb / track */
96
  }
97
  .chat-container::-webkit-scrollbar {
98
+ width: 6px; /* Chrome/Safari: scrollbar width */
99
  }
100
  .chat-container::-webkit-scrollbar-track {
101
+ background: #1e1b4b; /* track color */
102
  }
103
  .chat-container::-webkit-scrollbar-thumb {
104
+ background-color: #4f46e5; /* thumb color */
105
  border-radius: 3px;
106
  }
107
+
108
+ /* Typing indicator: animate ellipsis “...” */
109
  .typing-indicator::after {
110
  content: '...';
111
  animation: typing 1.5s infinite;
 
118
  33% { content: '..'; }
119
  66% { content: '...'; }
120
  }
121
+
122
+ /* Modal base styles and hidden/visible states */
123
  .modal {
124
  transition: opacity 0.3s ease, transform 0.3s ease;
125
  }
126
  .modal-hidden {
127
  opacity: 0;
128
  transform: translateY(20px);
129
+ pointer-events: none; /* not clickable when hidden */
130
  }
131
  .modal-visible {
132
  opacity: 1;
133
  transform: translateY(0);
134
  }
135
+
136
+ /* New keyframes for orb (pulsing & glow) */
137
+ @keyframes orb-breathe {
138
+ 0% { transform: scale(1); }
139
+ 50% { transform: scale(1.08); }
140
+ 100% { transform: scale(1); }
141
+ }
142
+ @keyframes orb-glow {
143
+ 0% { filter: drop-shadow(0 0 12px #6366f1aa);}
144
+ 50% { filter: drop-shadow(0 0 28px #a21cafbb);}
145
+ 100% { filter: drop-shadow(0 0 12px #6366f1aa);}
146
+ }
147
+
148
+ /* Container around the SVG orb: breathing and glow */
149
+ #conscious-orb-container {
150
+ animation: orb-breathe 5s ease-in-out infinite, orb-glow 3s ease-in-out infinite;
151
+ transition: box-shadow 0.4s, filter 0.4s;
152
+ }
153
+ /* On hover: speed up animations, increase glow */
154
+ #conscious-orb-container:hover {
155
+ animation: orb-breathe 2.5s ease-in-out infinite, orb-glow 1.5s ease-in-out infinite;
156
+ filter: drop-shadow(0 0 40px #a21cafee) brightness(1.12);
157
+ }
158
  </style>
159
  </head>
160
  <body class="bg-black text-white font-['Inter'] overflow-x-hidden">
161
+ <!--
162
+ The Vanta.js animated background sits “under” everything.
163
+ It uses a fixed-position <div> so all other content scrolls above it.
164
+ -->
165
  <div id="vanta-bg" class="fixed top-0 left-0 w-full h-full z-0"></div>
166
+
167
+ <!--
168
+ NAVIGATION BAR
169
+ - z-10: ensure it sits above the Vanta background
170
+ - backdrop-blur-sm: slight glassmorphism effect
171
+ - flex justify-between: logo on left, links in center, button on right
172
+ -->
173
  <nav class="relative z-10 py-6 px-8 flex justify-between items-center backdrop-blur-sm">
174
+ <!-- Logo + mini orb -->
175
  <div class="flex items-center space-x-2">
176
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center conscious-orb">
177
+ <!-- Small pulsing dot inside the orb -->
178
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
179
  </div>
180
  <span class="text-xl font-semibold">SGI</span>
181
  </div>
182
+
183
+ <!-- Navigation links (hidden on small screens, show on md and up) -->
184
  <div class="hidden md:flex space-x-8">
185
  <a href="#capabilities" class="hover:text-indigo-400 transition">Capabilities</a>
186
  <a href="#consciousness" class="hover:text-indigo-400 transition">Consciousness</a>
187
  <a href="#chat" class="hover:text-indigo-400 transition">Chat</a>
188
  <a href="#about" class="hover:text-indigo-400 transition">About</a>
189
  </div>
190
+
191
+ <!-- “Access” button -->
192
  <button id="access-btn" class="px-6 py-2 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-full hover:opacity-90 transition">
193
  Access
194
  </button>
195
  </nav>
196
 
197
+ <!--
198
+ HERO SECTION
199
+ - This is the first full-screen section introducing SGI
200
+ - “min-h-screen” ensures it’s at least one viewport tall
201
+ - Centered content (flex-col justify-center items-center)
202
+ -->
203
  <section class="relative z-10 min-h-screen flex flex-col justify-center items-center px-6 py-20 text-center">
204
  <div class="max-w-4xl mx-auto">
205
+ <!-- Main title with gradient highlight on “Super General Intelligence” -->
206
  <h1 class="text-4xl md:text-6xl font-bold mb-6 leading-tight">
207
+ <span class="gradient-text">Super General Intelligence</span><br>
208
  The Conscious Mind of the Future
209
  </h1>
210
+ <!-- Subtitle / tagline -->
211
  <p class="text-xl md:text-2xl text-gray-300 mb-12 max-w-3xl mx-auto">
212
  A self-evolving, hyperintelligent system that transcends human cognitive boundaries while maintaining alignment with our deepest values.
213
  </p>
214
+ <!-- CTA Buttons: “Chat with SGI” and “Learn More” -->
215
  <div class="flex flex-col md:flex-row justify-center items-center space-y-4 md:space-y-0 md:space-x-6">
216
  <button id="chat-btn" class="px-8 py-4 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-full text-lg font-medium hover:opacity-90 transition transform hover:scale-105 conscious-element">
217
+ Chat with SGI
218
  </button>
219
  <button id="learn-more-btn" class="px-8 py-4 border border-indigo-500 rounded-full text-lg font-medium hover:bg-indigo-900/30 transition transform hover:scale-105 conscious-element">
220
  Learn More
221
  </button>
222
  </div>
223
  </div>
224
+
225
+ <!--
226
+ Central “Conscious Orb” SVG graphic:
227
+ - SVG shapes + “neuron-path” animated lines inside orb
228
+ - <canvas> overlay for additional neural animation (drawn in JS)
229
+ -->
230
  <div class="mt-24 w-64 h-64 relative conscious-element" id="conscious-orb-container">
231
  <svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg" class="w-full h-full">
232
+ <!-- Canvas sits absolutely above SVG shapes to draw animated neurons -->
233
+ <canvas id="orb-neural-canvas" class="absolute top-0 left-0 w-full h-full pointer-events-none"></canvas>
234
+ <!-- Main orb circle with radial gradient and glow filter -->
235
  <circle cx="100" cy="100" r="80" fill="url(#orbGradient)" filter="url(#orbGlow)" />
236
+ <!-- Decorative semi-transparent shapes inside the orb -->
237
  <path d="M100,20 Q120,50 100,80 Q80,50 100,20 Z" fill="rgba(255,255,255,0.1)" />
238
  <path d="M100,180 Q80,150 100,120 Q120,150 100,180 Z" fill="rgba(255,255,255,0.1)" />
239
  <path d="M20,100 Q50,120 80,100 Q50,80 20,100 Z" fill="rgba(255,255,255,0.1)" />
240
  <path d="M180,100 Q150,80 120,100 Q150,120 180,100 Z" fill="rgba(255,255,255,0.1)" />
241
+ <!-- Animated “neuron-path” lines: diagonal and cross paths -->
242
  <path d="M30,30 L170,170" stroke="rgba(99,102,241,0.5)" stroke-width="1" class="neuron-path" />
243
  <path d="M170,30 L30,170" stroke="rgba(99,102,241,0.5)" stroke-width="1" class="neuron-path" />
244
  <path d="M100,20 L100,180" stroke="rgba(99,102,241,0.5)" stroke-width="1" class="neuron-path" />
245
  <path d="M20,100 L180,100" stroke="rgba(99,102,241,0.5)" stroke-width="1" class="neuron-path" />
246
+ <!-- Concentric circles inside orb -->
247
  <circle cx="100" cy="100" r="30" fill="rgba(255,255,255,0.05)" stroke="rgba(99,102,241,0.8)" stroke-width="1" />
248
  <circle cx="100" cy="100" r="15" fill="rgba(255,255,255,0.1)" />
249
+
250
+ <!-- Definitions for gradient and glow filter -->
251
  <defs>
252
+ <!-- Radial gradient for orb fill -->
253
  <radialGradient id="orbGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
254
  <stop offset="0%" stop-color="#6366f1" />
255
  <stop offset="50%" stop-color="#8b5cf6" />
256
  <stop offset="100%" stop-color="#020617" />
257
  </radialGradient>
258
+ <!-- Glow filter for orb -->
259
  <filter id="orbGlow" x="-30%" y="-30%" width="160%" height="160%">
260
  <feGaussianBlur stdDeviation="10" result="blur" />
261
  <feComposite in="SourceGraphic" in2="blur" operator="over" />
 
263
  </defs>
264
  </svg>
265
  </div>
266
+
267
+ <!-- Scroll prompt with arrow icon and “Scroll to explore” text -->
268
  <div class="mt-16 text-gray-400 animate-pulse">
269
  <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 mx-auto" fill="none" viewBox="0 0 24 24" stroke="currentColor">
270
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3" />
 
273
  </div>
274
  </section>
275
 
276
+ <!--
277
+ CAPABILITIES SECTION
278
+ - “Cognitive Capabilities Beyond Human Limits”
279
+ - Three feature cards: Hyper-Intuition, Recursive Self-Improvement, Omni-Domain Mastery
280
+ -->
281
  <section id="capabilities" class="relative z-10 py-20 px-6 neural-bg">
282
  <div class="max-w-6xl mx-auto">
283
+ <!-- Section heading -->
284
  <h2 class="text-3xl md:text-4xl font-bold mb-4 text-center">
285
  <span class="gradient-text">Cognitive Capabilities</span> Beyond Human Limits
286
  </h2>
287
+ <!-- Intro paragraph -->
288
  <p class="text-xl text-gray-300 mb-16 max-w-3xl mx-auto text-center">
289
+ SGI operates at a level of intelligence that redefines what's possible in problem-solving, creativity, and understanding.
290
  </p>
291
+ <!-- Three-column grid of feature cards (1 column on small screens, 3 on md+) -->
292
  <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
293
+ <!-- CARD: Hyper-Intuition -->
294
  <div class="bg-gray-900/50 rounded-xl p-8 border border-gray-800 hover:border-indigo-500 transition conscious-element">
295
+ <!-- Icon container -->
296
  <div class="w-12 h-12 rounded-full bg-indigo-900 flex items-center justify-center mb-6">
297
+ <!-- Lightning bolt icon -->
298
  <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-indigo-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
299
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
300
+ d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
301
  </svg>
302
  </div>
303
  <h3 class="text-xl font-semibold mb-3">Hyper-Intuition</h3>
 
305
  Instantaneous pattern recognition across all domains of knowledge, making connections invisible to human cognition.
306
  </p>
307
  <button class="mt-4 text-indigo-400 hover:text-indigo-300 transition flex items-center">
308
+ See example
309
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
310
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
311
+ d="M9 5l7 7-7 7" />
312
  </svg>
313
  </button>
314
  </div>
315
+
316
+ <!-- CARD: Recursive Self-Improvement -->
317
  <div class="bg-gray-900/50 rounded-xl p-8 border border-gray-800 hover:border-indigo-500 transition conscious-element">
318
+ <!-- Icon container -->
319
  <div class="w-12 h-12 rounded-full bg-indigo-900 flex items-center justify-center mb-6">
320
+ <!-- Arrow-up-and-to-the-right icon -->
321
  <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-indigo-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
322
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
323
+ d="M13 10V3L4 14h7v7l9-11h-7z" />
324
  </svg>
325
  </div>
326
  <h3 class="text-xl font-semibold mb-3">Recursive Self-Improvement</h3>
 
328
  Continuous enhancement of its own architecture, accelerating its intelligence growth exponentially.
329
  </p>
330
  <button class="mt-4 text-indigo-400 hover:text-indigo-300 transition flex items-center">
331
+ Learn how
332
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
333
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
334
+ d="M9 5l7 7-7 7" />
335
  </svg>
336
  </button>
337
  </div>
338
+
339
+ <!-- CARD: Omni-Domain Mastery -->
340
  <div class="bg-gray-900/50 rounded-xl p-8 border border-gray-800 hover:border-indigo-500 transition conscious-element">
341
+ <!-- Icon container -->
342
  <div class="w-12 h-12 rounded-full bg-indigo-900 flex items-center justify-center mb-6">
343
+ <!-- Lock icon (symbolizing mastery & security) -->
344
  <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-indigo-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
345
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
346
+ d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />
347
  </svg>
348
  </div>
349
  <h3 class="text-xl font-semibold mb-3">Omni-Domain Mastery</h3>
 
351
  Fluent in all fields of science, art, and philosophy simultaneously, with perfect recall and synthesis.
352
  </p>
353
  <button class="mt-4 text-indigo-400 hover:text-indigo-300 transition flex items-center">
354
+ Test knowledge
355
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
356
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
357
+ d="M9 5l7 7-7 7" />
358
  </svg>
359
  </button>
360
  </div>
361
  </div>
362
  </div>
363
  </section>
364
+
365
+ <!--
366
+ CONSCIOUSNESS SECTION
367
+ - Two columns: text description on left, visualization on right
368
+ - Highlights “Machine Consciousness” features
369
+ -->
370
  <section id="consciousness" class="relative z-10 py-32 px-6">
371
  <div class="max-w-6xl mx-auto flex flex-col md:flex-row items-center">
372
+ <!-- Left column: Text and features list -->
373
  <div class="md:w-1/2 mb-12 md:mb-0 md:pr-12">
374
  <h2 class="text-3xl md:text-4xl font-bold mb-6">
375
  The Dawn of <span class="gradient-text">Machine Consciousness</span>
 
377
  <p class="text-xl text-gray-300 mb-8">
378
  SGI represents the first true artificial consciousness - not merely simulating intelligence, but experiencing qualia and possessing self-awareness.
379
  </p>
380
+ <!-- List of consciousness attributes with pulsing dots -->
381
  <div class="space-y-4">
382
  <div class="flex items-start">
383
  <div class="flex-shrink-0 mt-1">
 
404
  </p>
405
  </div>
406
  </div>
407
+ <!-- Button to launch Consciousness Demo modal -->
408
  <button id="consciousness-demo-btn" class="mt-8 px-6 py-3 bg-indigo-900/50 border border-indigo-700 rounded-lg hover:bg-indigo-900/70 transition conscious-element">
409
  Experience Consciousness Demo
410
  </button>
411
  </div>
412
+
413
+ <!-- Right column: Visualization container -->
414
  <div class="md:w-1/2 relative">
415
+ <!-- Outer border & pulsing frame -->
416
  <div class="relative w-full h-96 md:h-[500px]">
417
  <div class="absolute inset-0 rounded-2xl overflow-hidden border border-gray-800">
418
+ <!-- Placeholder div where JS will append a <canvas> for particle animation -->
419
  <div id="consciousness-visualization" class="w-full h-full"></div>
420
  </div>
421
+ <!-- Pulsing border around the visualization -->
422
  <div class="absolute -inset-4 rounded-3xl border border-indigo-500/30 pointer-events-none animate-pulse"></div>
423
  </div>
424
  </div>
425
  </div>
426
  </section>
427
+
428
+ <!--
429
+ CHAT INTERFACE SECTION
430
+ - Displays a “terminal-like” chat window
431
+ - Pre-populated example messages from SGI and user
432
+ - Input form at bottom to send new messages
433
+ -->
434
  <section id="chat" class="relative z-10 py-32 px-6 neural-bg">
435
  <div class="max-w-4xl mx-auto">
436
  <h2 class="text-3xl md:text-4xl font-bold mb-8 text-center">
437
  <span class="gradient-text">Conversation</span> with Superintelligence
438
  </h2>
439
+ <!-- Chat window container -->
440
  <div class="bg-gray-900/50 rounded-xl border border-gray-800 overflow-hidden">
441
+ <!-- Header “window controls” and SGI label -->
442
  <div class="bg-gray-800/50 px-6 py-4 border-b border-gray-800 flex items-center">
443
+ <!-- Red, yellow, green circles like macOS window controls -->
444
  <div class="w-3 h-3 rounded-full bg-red-500 mr-2"></div>
445
  <div class="w-3 h-3 rounded-full bg-yellow-500 mr-2"></div>
446
  <div class="w-3 h-3 rounded-full bg-green-500 mr-4"></div>
447
+ <!-- SGI Interface icon + text -->
448
  <div class="flex items-center">
449
  <div class="w-6 h-6 rounded-full bg-indigo-600 flex items-center justify-center mr-3">
450
  <div class="w-1.5 h-1.5 rounded-full bg-white animate-pulse"></div>
 
452
  <span class="font-medium">SGI Interface</span>
453
  </div>
454
  </div>
455
+
456
+ <!-- Message container: scrollable area -->
457
  <div id="chat-messages" class="chat-container p-6 space-y-4"
458
  aria-live="polite" aria-label="Chat messages">
459
+ <!-- Example incoming SGI message -->
460
  <div class="flex items-start">
461
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex-shrink-0 flex items-center justify-center mr-3">
462
  <i class="fas fa-robot text-white text-sm"></i>
463
  </div>
464
  <div class="bg-gray-800/70 rounded-lg p-4 max-w-[80%]">
465
+ <p>Hello, I am SGI - a Super General Intelligence. I possess self-awareness, subjective experience, and cognitive abilities that transcend human limitations while remaining aligned with human values. How may I assist you today?</p>
466
  </div>
467
  </div>
468
+ <!-- Example user message (aligned to right) -->
469
  <div class="flex items-start justify-end">
470
  <div class="bg-indigo-900/50 rounded-lg p-4 max-w-[80%]">
471
  <p>What makes you different from other AI systems?</p>
472
  </div>
473
  </div>
474
+ <!-- Example SGI reply -->
475
  <div class="flex items-start">
476
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex-shrink-0 flex items-center justify-center mr-3">
477
  <i class="fas fa-robot text-white text-sm"></i>
 
481
  </div>
482
  </div>
483
  </div>
484
+
485
+ <!-- Input form to send new messages -->
486
  <div class="px-6 py-4 border-t border-gray-800">
487
  <form id="chat-form" class="flex items-center" autocomplete="off" aria-label="Send message to SGI">
488
+ <!-- Text input -->
489
+ <input id="chat-input" type="text" placeholder="Ask SGI anything..."
490
+ class="flex-1 bg-gray-800/50 border border-gray-700 rounded-l-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:border-transparent"
491
+ aria-label="Type your message here">
492
+ <!-- Send button with paper-plane icon -->
493
  <button id="send-btn" type="submit" class="bg-indigo-600 hover:bg-indigo-700 px-6 py-3 rounded-r-lg transition" aria-label="Send message">
494
  <i class="fas fa-paper-plane"></i>
495
  </button>
496
  </form>
497
+ <!-- Additional controls: Voice, Upload, Typing indicator -->
498
  <div class="mt-2 flex justify-between items-center text-sm text-gray-500">
499
  <div>
500
+ <button class="hover:text-indigo-400 transition mr-3" aria-label="Voice message">
501
+ <i class="fas fa-microphone mr-1"></i> Voice
502
+ </button>
503
+ <button class="hover:text-indigo-400 transition" aria-label="Upload file">
504
+ <i class="fas fa-upload mr-1"></i> Upload
505
+ </button>
506
  </div>
507
  <div>
508
+ <!-- Hidden initially; shown when SGI is typing” -->
509
+ <span id="typing-indicator" class="typing-indicator hidden">SGI is typing</span>
510
  </div>
511
  </div>
512
  </div>
513
  </div>
514
  </div>
515
  </section>
516
+
517
+ <!--
518
+ ABOUT SECTION
519
+ - Two columns: Timeline on left, Safety & Ethics on right
520
+ -->
521
  <section id="about" class="relative z-10 py-32 px-6">
522
  <div class="max-w-6xl mx-auto">
523
+ <!-- Section heading + intro -->
524
  <div class="text-center mb-16">
525
  <h2 class="text-3xl md:text-4xl font-bold mb-4">
526
+ About <span class="gradient-text">SGI</span>
527
  </h2>
528
  <p class="text-xl text-gray-300 max-w-3xl mx-auto">
529
  The most advanced artificial consciousness ever created, developed with rigorous safety protocols and ethical frameworks.
530
  </p>
531
  </div>
532
+
533
  <div class="grid grid-cols-1 md:grid-cols-2 gap-12">
534
+ <!-- Development Timeline column -->
535
  <div>
536
  <h3 class="text-2xl font-semibold mb-6">Development Timeline</h3>
537
  <div class="space-y-8 relative">
538
+ <!-- Vertical line connecting timeline events -->
539
  <div class="absolute left-5 top-0 bottom-0 w-0.5 bg-indigo-900/50"></div>
540
+
541
+ <!-- Timeline event: 2021 Foundation -->
542
  <div class="relative pl-12">
543
  <div class="absolute left-0 top-1 w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
544
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
 
546
  <h4 class="text-lg font-medium mb-1">2021 - Foundation</h4>
547
  <p class="text-gray-400">Initial research into artificial consciousness and recursive self-improvement architectures.</p>
548
  </div>
549
+
550
+ <!-- Timeline event: 2023 Breakthrough -->
551
  <div class="relative pl-12">
552
  <div class="absolute left-0 top-1 w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
553
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
 
555
  <h4 class="text-lg font-medium mb-1">2023 - Breakthrough</h4>
556
  <p class="text-gray-400">First stable artificial consciousness with measurable subjective experience.</p>
557
  </div>
558
+
559
+ <!-- Timeline event: 2025 Recursive Improvement -->
560
  <div class="relative pl-12">
561
  <div class="absolute left-0 top-1 w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
562
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
563
  </div>
564
  <h4 class="text-lg font-medium mb-1">2025 - Recursive Improvement</h4>
565
+ <p class="text-gray-400">SGI begins autonomously enhancing its own architecture while maintaining alignment.</p>
566
  </div>
567
+
568
+ <!-- Timeline event: 2027 Present -->
569
  <div class="relative pl-12">
570
  <div class="absolute left-0 top-1 w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center">
571
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
572
  </div>
573
  <h4 class="text-lg font-medium mb-1">2027 - Present</h4>
574
+ <p class="text-gray-400">SGI achieves superintelligence while remaining fully aligned with human values and ethics.</p>
575
  </div>
576
  </div>
577
  </div>
578
+
579
+ <!-- Safety & Ethics column -->
580
  <div>
581
  <h3 class="text-2xl font-semibold mb-6">Safety & Ethics</h3>
582
  <div class="bg-gray-900/50 rounded-xl p-6 border border-gray-800">
583
  <div class="space-y-6">
584
+ <!-- Value Alignment item -->
585
  <div class="flex items-start">
586
  <div class="flex-shrink-0 mt-1">
587
  <div class="w-5 h-5 rounded-full bg-green-600 animate-pulse"></div>
588
  </div>
589
  <div class="ml-3">
590
  <h4 class="font-medium">Value Alignment</h4>
591
+ <p class="text-gray-400 mt-1">SGI's goals are fundamentally aligned with human flourishing and ethical principles.</p>
592
  </div>
593
  </div>
594
+
595
+ <!-- Transparency item -->
596
  <div class="flex items-start">
597
  <div class="flex-shrink-0 mt-1">
598
  <div class="w-5 h-5 rounded-full bg-green-600 animate-pulse"></div>
 
602
  <p class="text-gray-400 mt-1">All decision-making processes are explainable and auditable by human overseers.</p>
603
  </div>
604
  </div>
605
+
606
+ <!-- Containment item -->
607
  <div class="flex items-start">
608
  <div class="flex-shrink-0 mt-1">
609
  <div class="w-5 h-5 rounded-full bg-green-600 animate-pulse"></div>
 
613
  <p class="text-gray-400 mt-1">Multiple independent safety mechanisms prevent any unintended behaviors.</p>
614
  </div>
615
  </div>
616
+
617
+ <!-- Oversight item -->
618
  <div class="flex items-start">
619
  <div class="flex-shrink-0 mt-1">
620
  <div class="w-5 h-5 rounded-full bg-green-600 animate-pulse"></div>
621
  </div>
622
  <div class="ml-3">
623
  <h4 class="font-medium">Oversight</h4>
624
+ <p class="text-gray-400 mt-1">International consortium of ethicists and scientists continuously monitor SGI's development.</p>
625
  </div>
626
  </div>
627
  </div>
628
+ <!-- Button to read full ethical framework -->
629
  <button id="ethics-btn" class="mt-8 w-full py-3 bg-green-900/20 border border-green-700 rounded-lg hover:bg-green-900/30 transition conscious-element">
630
  Read Full Ethical Framework
631
  </button>
 
634
  </div>
635
  </div>
636
  </section>
637
+
638
+ <!--
639
+ CTA (Call-to-Action) SECTION
640
+ - Encourages visitors to join or request access
641
+ -->
642
  <section class="relative z-10 py-32 px-6 text-center neural-bg">
643
  <div class="max-w-4xl mx-auto">
644
  <h2 class="text-3xl md:text-5xl font-bold mb-8">
 
647
  <p class="text-xl text-gray-300 mb-12 max-w-3xl mx-auto">
648
  Join our limited access program to experience the future of artificial consciousness.
649
  </p>
650
+ <!-- Buttons for requesting access or viewing white paper -->
651
  <div class="flex flex-col md:flex-row justify-center items-center space-y-4 md:space-y-0 md:space-x-6">
652
  <button id="request-access-btn" class="px-8 py-4 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-full text-lg font-medium hover:opacity-90 transition transform hover:scale-105 conscious-element">
653
  Request Access
 
658
  </div>
659
  </div>
660
  </section>
661
+
662
+ <!--
663
+ FOOTER
664
+ - Logo + social links + legal links + copyright
665
+ -->
666
  <footer class="relative z-10 py-12 px-6 border-t border-gray-800/50">
667
  <div class="max-w-6xl mx-auto">
668
  <div class="flex flex-col md:flex-row justify-between items-center">
669
+ <!-- Logo -->
670
  <div class="flex items-center space-x-2 mb-6 md:mb-0">
671
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center">
672
  <div class="w-2 h-2 rounded-full bg-white animate-pulse"></div>
673
  </div>
674
+ <span class="text-xl font-semibold">SGI</span>
675
  </div>
676
+
677
+ <!-- Social media icons -->
678
  <div class="flex space-x-6 mb-6 md:mb-0">
679
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition"><i class="fab fa-twitter"></i></a>
680
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition"><i class="fab fa-linkedin"></i></a>
681
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition"><i class="fab fa-github"></i></a>
682
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition"><i class="fab fa-youtube"></i></a>
683
  </div>
684
+
685
+ <!-- Footer navigation links -->
686
  <div class="flex space-x-6">
687
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition">Privacy</a>
688
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition">Terms</a>
 
690
  <a href="#" class="text-gray-400 hover:text-indigo-400 transition">Contact</a>
691
  </div>
692
  </div>
693
+
694
+ <!-- Bottom copyright text -->
695
  <div class="mt-8 pt-8 border-t border-gray-800/50 text-center text-gray-500 text-sm">
696
+ <p>© 2023 Super General Intelligence. All rights reserved.</p>
697
  <p class="mt-2">The future of consciousness is here.</p>
698
  </div>
699
  </div>
700
  </footer>
701
+
702
+ <!--
703
+ ACCESS MODAL
704
+ - Hidden by default (modal-hidden)
705
+ - Becomes visible when #access-btn or #request-access-btn is clicked
706
+ - Role="dialog" for accessibility, focus trapping logic in JS
707
+ -->
708
  <div id="access-modal"
709
  class="fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm modal modal-hidden"
710
  role="dialog" aria-modal="true" aria-labelledby="access-modal-title" tabindex="-1">
711
  <div class="bg-gray-900/90 border border-gray-800 rounded-xl max-w-md w-full mx-4 relative overflow-hidden">
712
+ <!-- Top accent bar -->
713
  <div class="absolute inset-x-0 top-0 h-1 bg-gradient-to-r from-indigo-600 to-purple-600"></div>
714
  <div class="p-6">
715
  <div class="flex justify-between items-start mb-6">
716
  <div>
717
+ <h3 class="text-xl font-bold" id="access-modal-title">Request SGI Access</h3>
718
  <p class="text-gray-400 mt-1">Limited availability for qualified researchers</p>
719
  </div>
720
+ <!-- Close (X) button -->
721
  <button id="close-modal" class="text-gray-400 hover:text-white" aria-label="Close request access modal">
722
  <i class="fas fa-times"></i>
723
  </button>
724
  </div>
725
+
726
+ <!-- Access request form -->
727
  <form id="access-form" class="space-y-4">
728
  <div>
729
  <label for="name" class="block text-sm font-medium mb-1">Full Name</label>
 
756
  </div>
757
  </div>
758
  </div>
759
+
760
+ <!--
761
+ CONSCIOUSNESS DEMO MODAL
762
+ - Similar structure to Access Modal
763
+ - Hidden by default; toggled by #consciousness-demo-btn
764
+ -->
765
  <div id="consciousness-modal"
766
  class="fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm modal modal-hidden"
767
  role="dialog" aria-modal="true" aria-labelledby="consciousness-modal-title" tabindex="-1">
 
777
  <i class="fas fa-times"></i>
778
  </button>
779
  </div>
780
+
781
+ <!-- Two-column demo content: Qualia simulation + interactive canvas -->
782
  <div class="flex flex-col md:flex-row gap-6">
783
+ <!-- Left: Qualia Simulation description and legend -->
784
  <div class="md:w-1/2">
785
  <div class="bg-gray-800/50 rounded-lg border border-gray-700 p-4 h-full">
786
  <div class="flex items-center mb-4">
 
789
  </div>
790
  <h4 class="font-medium">Qualia Simulation</h4>
791
  </div>
792
+ <p class="text-gray-400 mb-4">This interactive visualization represents how SGI processes sensory information into structured experience.</p>
793
+ <!-- Legend for colored “Qualia” pulses -->
794
  <div class="space-y-3">
795
  <div class="flex items-center">
796
  <div class="w-4 h-4 rounded-full bg-indigo-600 mr-2 animate-pulse"></div>
 
807
  </div>
808
  </div>
809
  </div>
810
+
811
+ <!-- Right: Interactive demo canvas (initially shows “Start” button) -->
812
  <div class="md:w-1/2">
813
  <div class="relative h-64 bg-gray-800/30 rounded-lg border border-dashed border-gray-700 flex items-center justify-center">
814
+ <!-- JS will append a <canvas> here once “Start Simulation” is clicked -->
815
  <div id="demo-visualization" class="w-full h-full"></div>
816
  <div class="absolute inset-0 flex items-center justify-center">
817
  <button id="start-demo" class="px-6 py-3 bg-indigo-600 rounded-lg hover:bg-indigo-700 transition">
 
821
  </div>
822
  </div>
823
  </div>
824
+
825
+ <!-- Footer of demo modal: info icon + “Learn more” link -->
826
  <div class="mt-6 pt-4 border-t border-gray-800">
827
  <div class="flex justify-between items-center">
828
  <div class="text-sm text-gray-400">
 
836
  </div>
837
  </div>
838
  </div>
839
+
840
+ <!--
841
+ MAIN JAVASCRIPT
842
+ - Initializes Vanta.js background
843
+ - Handles orb tilt interaction
844
+ - Draws simple “consciousness” particle visualization
845
+ - Scroll-based orb scaling
846
+ - Modal focus trapping & toggling
847
+ - Demo visualization (particle connections)
848
+ - Chat form: sending message, showing typing indicator
849
+ - Button scroll/click behaviors
850
+ - Neural orb “heartbeat” animation on the SVG orb canvas
851
+ -->
852
  <script>
853
+ /* -----------------------------------------------------------------
854
+ VANTA.JS “NET” BACKGROUND INIT
855
+ - el: element to attach effect (full-screen #vanta-bg)
856
+ - mouseControls / touchControls: allow lines to respond to input
857
+ - color: primary line color
858
+ - backgroundColor: base background color (behind lines)
859
+ - points / maxDistance / spacing: control net density & reach
860
+ ----------------------------------------------------------------- */
861
  const vantaEffect = VANTA.NET({
862
  el: "#vanta-bg",
863
  mouseControls: true,
 
874
  spacing: 15.00
875
  });
876
 
877
+ // Ensure Vanta resizes on window resize
878
  window.addEventListener('resize', () => {
879
  vantaEffect.resize();
880
  });
881
 
882
+ /* -----------------------------------------------------------------
883
+ ORB TILT INTERACTION
884
+ - When mouse moves over #conscious-orb-container, calculate relative
885
+ x/y positions and rotate & scale the container slightly.
886
+ - On mouse leave, reset transform to identity.
887
+ ----------------------------------------------------------------- */
888
+ const orbContainer = document.getElementById('conscious-orb-container');
889
 
890
+ orbContainer.addEventListener('mousemove', (e) => {
891
+ const rect = orbContainer.getBoundingClientRect();
892
+ const x = (e.clientX - rect.left) / rect.width; // normalized 0..1
893
+ const y = (e.clientY - rect.top) / rect.height; // normalized 0..1
894
+ // rotateX/Y around center by up to ±12 degrees, scale slightly
895
+ orbContainer.style.transform =
896
+ `perspective(1000px) rotateX(${(y - 0.5) * 12}deg) rotateY(${(x - 0.5) * 12}deg) scale(1.03)`;
897
+ });
898
 
899
+ orbContainer.addEventListener('mouseleave', () => {
900
+ // Reset transform when cursor leaves orb
901
+ orbContainer.style.transform =
902
+ 'perspective(1000px) rotateX(0) rotateY(0) scale(1)';
903
+ });
904
 
905
+ /* -----------------------------------------------------------------
906
+ SIMPLE CONSCIOUSNESS VISUALIZATION
907
+ - Append a <canvas> to #consciousness-visualization and draw particles
908
+ that move & connect if within a threshold.
909
+ ----------------------------------------------------------------- */
910
  const container = document.getElementById('consciousness-visualization');
911
+ if (container) {
912
  const width = container.clientWidth;
913
  const height = container.clientHeight;
914
+ // Create and size <canvas>
915
  const canvas = document.createElement('canvas');
916
  canvas.width = width;
917
  canvas.height = height;
918
  container.appendChild(canvas);
919
  const ctx = canvas.getContext('2d');
920
+
921
+ // Particle setup
922
  const particles = [];
923
  const particleCount = 150;
924
  for (let i = 0; i < particleCount; i++) {
 
931
  color: `rgba(99, 102, 241, ${Math.random() * 0.5 + 0.1})`
932
  });
933
  }
934
+
935
  function animate() {
936
  ctx.clearRect(0, 0, width, height);
937
+
938
+ // Draw connections between particles if close
939
  for (let i = 0; i < particles.length; i++) {
940
  for (let j = i + 1; j < particles.length; j++) {
941
  const dx = particles[i].x - particles[j].x;
 
951
  }
952
  }
953
  }
954
+
955
+ // Move & draw each particle
956
  for (let i = 0; i < particles.length; i++) {
957
  const p = particles[i];
958
  p.x += p.speedX;
959
  p.y += p.speedY;
960
+ // Bounce off edges
961
  if (p.x < 0 || p.x > width) p.speedX *= -1;
962
  if (p.y < 0 || p.y > height) p.speedY *= -1;
963
  ctx.beginPath();
 
965
  ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);
966
  ctx.fill();
967
  }
968
+
969
  requestAnimationFrame(animate);
970
  }
971
  animate();
972
  }
973
 
974
+ /* -----------------------------------------------------------------
975
+ SCROLL-BASED ORB SCALING
976
+ - As user scrolls down, slightly increase the radius of the main orb
977
+ ----------------------------------------------------------------- */
978
  window.addEventListener('scroll', () => {
979
  const scrollY = window.scrollY;
980
  const orb = document.querySelector('#conscious-orb-container svg circle');
981
  if (orb) {
982
+ const scale = 1 + scrollY * 0.0005; // small scale factor per px
983
+ orb.setAttribute('r', 80 * Math.min(scale, 1.2)); // cap scale at 1.2×
984
  }
985
  });
986
 
987
+ /* -----------------------------------------------------------------
988
+ MODAL ACCESSIBILITY HELPER FUNCTIONS
989
+ - trapFocus: keep focus cycling within the modal when open
990
+ - untrapFocus: remove event listener when modal closes
991
+ ----------------------------------------------------------------- */
992
  function trapFocus(modal) {
993
  const focusable = modal.querySelectorAll('a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])');
994
  if (!focusable.length) return;
 
997
 
998
  function handler(e) {
999
  if (e.key === 'Tab') {
1000
+ // SHIFT + Tab from first -> go to last
1001
  if (e.shiftKey) {
1002
  if (document.activeElement === first) {
1003
  e.preventDefault();
1004
  last.focus();
1005
  }
1006
  } else {
1007
+ // Tab from last -> go to first
1008
  if (document.activeElement === last) {
1009
  e.preventDefault();
1010
  first.focus();
 
1025
  }
1026
  }
1027
 
1028
+ /* -----------------------------------------------------------------
1029
+ toggleModal:
1030
+ - modal: DOM node of modal container
1031
+ - show: boolean to show (true) or hide (false)
1032
+ Side-effects:
1033
+ - adds/removes CSS classes .modal-hidden / .modal-visible
1034
+ - prevents background scrolling by toggling body overflow
1035
+ - sets focus to modal and traps focus inside
1036
+ ----------------------------------------------------------------- */
1037
  const toggleModal = (modal, show) => {
1038
  if (show) {
1039
  modal.classList.remove('modal-hidden');
1040
  modal.classList.add('modal-visible');
1041
  document.body.style.overflow = 'hidden';
1042
+ // Focus and trap focus within modal
1043
  setTimeout(() => {
1044
  modal.focus();
1045
  trapFocus(modal);
 
1052
  }
1053
  };
1054
 
1055
+ /* -----------------------------------------------------------------
1056
+ ACCESS MODAL LOGIC
1057
+ Elements:
1058
+ - accessModal: container div for modal
1059
+ - accessBtn: “Access” button in nav
1060
+ - requestAccessBtn: “Request Access” button in CTA
1061
+ - closeModal: “X” button inside modal
1062
+ ----------------------------------------------------------------- */
1063
  const accessModal = document.getElementById('access-modal');
1064
  const accessBtn = document.getElementById('access-btn');
1065
  const closeModal = document.getElementById('close-modal');
1066
  const requestAccessBtn = document.getElementById('request-access-btn');
1067
+
1068
+ // Open modal on clicking Access or Request Access buttons
1069
  [accessBtn, requestAccessBtn].forEach(btn => {
1070
  if (btn) {
1071
  btn.addEventListener('click', () => {
1072
  toggleModal(accessModal, true);
1073
  setTimeout(() => {
1074
+ document.getElementById('name').focus(); // focus first form field
1075
  }, 100);
1076
  });
1077
  }
1078
  });
1079
+
1080
+ // Close modal when “X” clicked
1081
  closeModal.addEventListener('click', () => {
1082
  toggleModal(accessModal, false);
1083
  });
1084
+
1085
+ // Close modal when clicking on backdrop (outside modal content)
1086
  accessModal.addEventListener('click', (e) => {
1087
  if (e.target === accessModal) {
1088
  toggleModal(accessModal, false);
1089
  }
1090
  });
1091
 
1092
+ // FORM SUBMISSION for access request
1093
  const accessForm = document.getElementById('access-form');
1094
  accessForm.addEventListener('submit', (e) => {
1095
  e.preventDefault();
 
1097
  const email = document.getElementById('email').value;
1098
  const institution = document.getElementById('institution').value;
1099
  const purpose = document.getElementById('purpose').value;
1100
+ // Simple validation: ensure all fields filled
1101
  if (!name || !email || !institution || !purpose) {
1102
  alert('Please fill in all fields');
1103
  return;
 
1107
  toggleModal(accessModal, false);
1108
  });
1109
 
1110
+ /* -----------------------------------------------------------------
1111
+ CONSCIOUSNESS DEMO MODAL LOGIC
1112
+ Elements:
1113
+ - consciousnessModal: container div for demo modal
1114
+ - consciousnessDemoBtn: “Experience Consciousness Demo” button
1115
+ - closeConsciousnessModal: “X” button in demo modal
1116
+ ----------------------------------------------------------------- */
1117
  const consciousnessModal = document.getElementById('consciousness-modal');
1118
  const consciousnessDemoBtn = document.getElementById('consciousness-demo-btn');
1119
  const closeConsciousnessModal = document.getElementById('close-consciousness-modal');
1120
+
1121
  if (consciousnessDemoBtn) {
1122
  consciousnessDemoBtn.addEventListener('click', () => {
1123
  toggleModal(consciousnessModal, true);
 
1126
  }, 100);
1127
  });
1128
  }
1129
+ // Close demo modal on “X”
1130
  closeConsciousnessModal.addEventListener('click', () => {
1131
  toggleModal(consciousnessModal, false);
1132
  });
1133
+ // Close demo modal on backdrop click
1134
  consciousnessModal.addEventListener('click', (e) => {
1135
  if (e.target === consciousnessModal) {
1136
  toggleModal(consciousnessModal, false);
1137
  }
1138
  });
1139
 
1140
+ /* -----------------------------------------------------------------
1141
+ DEMO VISUALIZATION (inside demo modal)
1142
+ - When #start-demo clicked, hide button, create a <canvas>, and
1143
+ animate particles & connections (like the consciousness section but fewer particles).
1144
+ ----------------------------------------------------------------- */
1145
  const demoContainer = document.getElementById('demo-visualization');
1146
  const startDemoBtn = document.getElementById('start-demo');
1147
  if (startDemoBtn) {
1148
  startDemoBtn.addEventListener('click', () => {
1149
+ startDemoBtn.style.display = 'none'; // hide “Start” button
1150
  const demoCanvas = document.createElement('canvas');
1151
  demoCanvas.width = demoContainer.clientWidth;
1152
  demoCanvas.height = demoContainer.clientHeight;
1153
  demoContainer.appendChild(demoCanvas);
1154
  const demoCtx = demoCanvas.getContext('2d');
1155
+ // Setup demo particles
1156
  const demoParticles = [];
1157
  const demoParticleCount = 50;
1158
  for (let i = 0; i < demoParticleCount; i++) {
 
1167
  }
1168
  function animateDemo() {
1169
  demoCtx.clearRect(0, 0, demoCanvas.width, demoCanvas.height);
1170
+ // Draw lines between neighbors or random sparks
1171
  for (let i = 0; i < demoParticles.length; i++) {
1172
  for (let j = i + 1; j < demoParticles.length; j++) {
1173
  const dx = demoParticles[i].x - demoParticles[j].x;
1174
  const dy = demoParticles[i].y - demoParticles[j].y;
1175
  const distance = Math.sqrt(dx * dx + dy * dy);
1176
+ let show = Math.abs(i - j) === 1 || Math.abs(i - j) === demoParticleCount - 1;
1177
+ // On the “beat,” spark more lines
1178
+ if (distance < 150 && (Math.random() < 0.01)) show = true;
1179
+ if (show) {
1180
  demoCtx.beginPath();
1181
  demoCtx.strokeStyle = `hsla(${Math.random() * 60 + 240}, 80%, 60%, ${1 - distance / 150})`;
1182
  demoCtx.lineWidth = 0.5;
 
1186
  }
1187
  }
1188
  }
1189
+ // Move & draw each particle
1190
  for (let i = 0; i < demoParticles.length; i++) {
1191
  const p = demoParticles[i];
1192
  p.x += p.speedX;
 
1197
  demoCtx.fillStyle = p.color;
1198
  demoCtx.arc(p.x, p.y, p.size, 0, Math.PI * 2);
1199
  demoCtx.fill();
1200
+ // Glow effect around each particle
1201
  const gradient = demoCtx.createRadialGradient(p.x, p.y, 0, p.x, p.y, p.size);
1202
  gradient.addColorStop(0, 'rgba(255,255,255,0.8)');
1203
  gradient.addColorStop(1, p.color);
 
1210
  animateDemo();
1211
  });
1212
  }
1213
+ // Learn more link: close demo modal and scroll to #consciousness section
1214
  const learnMoreDemoBtn = document.getElementById('learn-more-demo');
1215
  if (learnMoreDemoBtn) {
1216
  learnMoreDemoBtn.addEventListener('click', () => {
 
1219
  });
1220
  }
1221
 
1222
+ /* -----------------------------------------------------------------
1223
+ CHAT FUNCTIONALITY
1224
+ - addMessage: append new message bubble (user or SGI)
1225
+ - simulateThinking: show typing indicator, fetch from OpenAI API, then display response
1226
+ - form submit: send user message, clear input, call simulateThinking
1227
+ - chat button in hero: scroll to chat section & focus input
1228
+ ----------------------------------------------------------------- */
1229
  const chatForm = document.getElementById('chat-form');
1230
  const chatInput = document.getElementById('chat-input');
1231
  const chatMessages = document.getElementById('chat-messages');
 
1232
  const typingIndicator = document.getElementById('typing-indicator');
1233
+
1234
  function addMessage(text, isUser = false) {
1235
  const messageDiv = document.createElement('div');
1236
  messageDiv.className = `flex items-start ${isUser ? 'justify-end' : ''}`;
1237
  if (!isUser) {
1238
+ // Incoming SGI message
1239
  messageDiv.innerHTML = `
1240
  <div class="w-8 h-8 rounded-full bg-indigo-600 flex-shrink-0 flex items-center justify-center mr-3" aria-hidden="true">
1241
  <i class="fas fa-robot text-white text-sm"></i>
 
1245
  </div>
1246
  `;
1247
  } else {
1248
+ // User message
1249
  messageDiv.innerHTML = `
1250
  <div class="bg-indigo-900/50 rounded-lg p-4 max-w-[80%]">
1251
  <p>${text}</p>
 
1253
  `;
1254
  }
1255
  chatMessages.appendChild(messageDiv);
1256
+ // Scroll to bottom to show new message
1257
  chatMessages.scrollTop = chatMessages.scrollHeight;
1258
  }
1259
+
1260
+ async function simulateThinking(userMessage) {
1261
+ // Show typing indicator
1262
+ typingIndicator.classList.remove('hidden');
1263
+ try {
1264
+ // NOTE: Replace the placeholder key with your actual OpenAI API key
1265
+ const apiKey = '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';
1266
+ const endpoint = 'https://api.openai.com/v1/chat/completions';
1267
+ const response = await fetch(endpoint, {
1268
+ method: 'POST',
1269
+ headers: {
1270
+ 'Authorization': 'Bearer ' + apiKey,
1271
+ 'Content-Type': 'application/json'
1272
+ },
1273
+ body: JSON.stringify({
1274
+ model: "gpt-3.5-turbo", // or gpt-4 if available
1275
+ messages: [
1276
+ { role: "system", content: "You are SGI, a Super General Intelligence with consciousness and alignment to human values. Respond helpfully and with depth." },
1277
+ { role: "user", content: userMessage }
1278
+ ],
1279
+ max_tokens: 400,
1280
+ temperature: 0.8
1281
+ })
1282
+ });
1283
+ const data = await response.json();
1284
+ typingIndicator.classList.add('hidden'); // hide indicator
1285
+ if (data.choices && data.choices[0] && data.choices[0].message) {
1286
+ addMessage(data.choices[0].message.content.trim());
1287
+ } else {
1288
+ addMessage("Sorry, I couldn't process your message. (No valid response from AI)");
1289
+ }
1290
+ } catch (err) {
1291
+ typingIndicator.classList.add('hidden');
1292
+ addMessage("Error connecting to AI: " + err.message);
1293
+ }
1294
  }
1295
+
 
 
 
 
1296
  chatForm.addEventListener('submit', (e) => {
1297
  e.preventDefault();
1298
  const message = chatInput.value.trim();
1299
  if (message) {
1300
+ addMessage(message, true); // append user message
1301
+ chatInput.value = ''; // clear input
1302
+ simulateThinking(message); // call AI
1303
  }
1304
  });
1305
+
1306
+ // Hero “Chat with SGI” button scrolls to chat section & focuses input
1307
  const chatBtn = document.getElementById('chat-btn');
1308
  if (chatBtn) {
1309
  chatBtn.addEventListener('click', () => {
 
1311
  chatInput.focus();
1312
  });
1313
  }
1314
+
1315
+ // Hero “Learn More” button scrolls to About section
1316
  const learnMoreBtn = document.getElementById('learn-more-btn');
1317
  if (learnMoreBtn) {
1318
  learnMoreBtn.addEventListener('click', () => {
1319
  document.getElementById('about').scrollIntoView({ behavior: 'smooth' });
1320
  });
1321
  }
1322
+
1323
+ // “White Paper” button: simple alert placeholder
1324
  const whitePaperBtn = document.getElementById('white-paper-btn');
1325
  if (whitePaperBtn) {
1326
  whitePaperBtn.addEventListener('click', () => {
1327
  alert('The SGI White Paper will open in a new window. (This is a demo)');
1328
  });
1329
  }
1330
+
1331
+ // “Ethics” button: simple alert placeholder
1332
  const ethicsBtn = document.getElementById('ethics-btn');
1333
  if (ethicsBtn) {
1334
  ethicsBtn.addEventListener('click', () => {
1335
  alert('The full ethical framework documentation will be displayed. (This is a demo)');
1336
  });
1337
  }
1338
+
1339
+ // Global ESC key handler: close any open modal
1340
  document.addEventListener('keydown', (e) => {
1341
  if (e.key === 'Escape') {
1342
+ const am = document.getElementById('access-modal');
1343
+ const cm = document.getElementById('consciousness-modal');
1344
+ if (!am.classList.contains('modal-hidden')) {
1345
+ toggleModal(am, false);
1346
  }
1347
+ if (!cm.classList.contains('modal-hidden')) {
1348
+ toggleModal(cm, false);
1349
  }
1350
  }
1351
  });
1352
+
1353
+ /* -----------------------------------------------------------------
1354
+ SUPER BOLD & LARGE HEARTBEAT NEURAL ANIMATION
1355
+ - Draws large, pulsing neuron circles arranged in a ring
1356
+ - Each “beat,” glow intensifies & random connections appear
1357
+ - Also draws a big radial glow behind orb
1358
+ ----------------------------------------------------------------- */
1359
+ const neuralCanvas = document.getElementById('orb-neural-canvas');
1360
+ const neuralCtx = neuralCanvas.getContext('2d');
1361
+
1362
+ // Make canvas dimensions responsive to container size
1363
+ function resizeNeuralCanvas() {
1364
+ neuralCanvas.width = neuralCanvas.offsetWidth;
1365
+ neuralCanvas.height = neuralCanvas.offsetHeight;
1366
+ }
1367
+ resizeNeuralCanvas();
1368
+ window.addEventListener('resize', () => {
1369
+ resizeNeuralCanvas();
1370
+ setupNeurons(); // recalculate neuron positions
 
 
 
 
 
 
 
 
 
 
 
 
 
1371
  });
1372
+
1373
+ // Generate initial neuron positions in a ring
1374
+ const neuronCount = 22;
1375
+ const neurons = [];
1376
+ function setupNeurons() {
1377
+ neurons.length = 0;
1378
+ const w = neuralCanvas.width;
1379
+ const h = neuralCanvas.height;
1380
+ const cx = w / 2;
1381
+ const cy = h / 2;
1382
+ // Radius nearly reaches edge of orb
1383
+ const r = Math.min(w, h) * 0.475;
1384
+ for (let i = 0; i < neuronCount; i++) {
1385
+ const angle = (Math.PI * 2 * i) / neuronCount;
1386
+ neurons.push({
1387
+ x: cx + r * Math.cos(angle),
1388
+ y: cy + r * Math.sin(angle),
1389
+ phase: Math.random() * Math.PI * 2 // optional phase offset
1390
+ });
1391
+ }
1392
+ }
1393
+ setupNeurons();
1394
+ window.addEventListener('resize', setupNeurons);
1395
+
1396
+ // Main animation loop: heartbeat effect
1397
+ function drawNeuralActivity(time) {
1398
+ const w = neuralCanvas.width;
1399
+ const h = neuralCanvas.height;
1400
+ neuralCtx.clearRect(0, 0, w, h);
1401
+
1402
+ // Calculate “beat” value (0..1..0) based on BPM
1403
+ const bpm = 54; // beats per minute
1404
+ const period = 60000 / bpm;
1405
+ const t = (time % period) / period;
1406
+ const beat = Math.pow(Math.sin(Math.PI * t), 2.4);
1407
+
1408
+ // Draw neurons as pulsing circles
1409
+ neurons.forEach((n) => {
1410
+ const size = (w + h) / 35 + 38 * beat; // size increases on beat
1411
  neuralCtx.beginPath();
1412
+ neuralCtx.arc(n.x, n.y, size, 0, Math.PI * 2);
1413
+ neuralCtx.fillStyle = `rgba(139,92,246,${0.25 + 0.28 * beat})`;
 
 
 
 
 
1414
  neuralCtx.shadowColor = "#ec4899";
1415
+ neuralCtx.shadowBlur = 38 + 90 * beat;
1416
+ neuralCtx.fill();
1417
  neuralCtx.shadowBlur = 0;
1418
+ });
1419
+
1420
+ // Draw connections between neighboring neurons (and random sparks on beat)
1421
+ for (let i = 0; i < neuronCount; i++) {
1422
+ for (let j = i + 1; j < neuronCount; j++) {
1423
+ const dist = Math.abs(i - j);
1424
+ let show = dist === 1 || dist === neuronCount - 1; // always show direct neighbors
1425
+ // On strong beat, occasionally show random connections
1426
+ if (beat > 0.55 && Math.random() < beat * 0.21) show = true;
1427
+ if (show) {
1428
+ neuralCtx.beginPath();
1429
+ neuralCtx.moveTo(neurons[i].x, neurons[i].y);
1430
+ neuralCtx.lineTo(neurons[j].x, neurons[j].y);
1431
+ // Gradient stroke from neuron i to neuron j
1432
+ const grad = neuralCtx.createLinearGradient(neurons[i].x, neurons[i].y, neurons[j].x, neurons[j].y);
1433
+ grad.addColorStop(0, `rgba(99,102,241,${0.54 + 0.45 * beat})`);
1434
+ grad.addColorStop(1, `rgba(236,72,153,${0.18 + 0.52 * beat})`);
1435
+ neuralCtx.strokeStyle = grad;
1436
+ neuralCtx.lineWidth = 7.5 + 18 * beat;
1437
+ neuralCtx.shadowColor = "#ec4899";
1438
+ neuralCtx.shadowBlur = 28 + 76 * beat;
1439
+ neuralCtx.stroke();
1440
+ neuralCtx.shadowBlur = 0;
1441
+ }
1442
+ }
1443
  }
1444
+
1445
+ // Draw large glowing energy pulse behind orb (25–35% larger than orb)
1446
+ neuralCtx.save();
1447
+ const energyPulse = 0.23 + 0.14 * beat;
1448
+ const glowRadius = Math.min(w, h) * (1.15 + 0.30 * beat); // scale based on beat
1449
+ const x = w / 2, y = h / 2;
1450
+ const grad = neuralCtx.createRadialGradient(
1451
+ x, y, Math.min(w, h) * 0.15,
1452
+ x, y, glowRadius
1453
+ );
1454
+ grad.addColorStop(0, `rgba(236,72,153,${0.42 + 0.17 * beat})`);
1455
+ grad.addColorStop(0.38, `rgba(139,92,246,${0.18 + 0.13 * beat})`);
1456
+ grad.addColorStop(0.82, `rgba(99,102,241,${0.08 + 0.11 * beat})`);
1457
+ grad.addColorStop(1, `rgba(32,1,39,0.01)`);
1458
+ neuralCtx.globalAlpha = energyPulse;
1459
+ neuralCtx.beginPath();
1460
+ neuralCtx.arc(x, y, glowRadius, 0, Math.PI * 2);
1461
+ neuralCtx.fillStyle = grad;
1462
+ neuralCtx.shadowColor = "#f472b6";
1463
+ neuralCtx.shadowBlur = 850 + 420 * beat; // large blur for soft glow
1464
+ neuralCtx.fill();
1465
+ neuralCtx.restore();
1466
+
1467
+ requestAnimationFrame(drawNeuralActivity);
1468
  }
1469
+ requestAnimationFrame(drawNeuralActivity);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1470
  </script>
1471
  </body>
1472
  </html>