Testing347 commited on
Commit
4db44d4
Β·
verified Β·
1 Parent(s): 4052fb3

Update index.html

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