Neomyst commited on
Commit
9b5d8d9
·
verified ·
1 Parent(s): 47b145a

Add 1 files

Browse files
Files changed (1) hide show
  1. index.html +817 -390
index.html CHANGED
@@ -3,542 +3,969 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Microbiome Explorer | Award-Winning Holistic Search Engine</title>
7
- <!-- Improved compatibility with older browsers -->
8
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
9
- <!-- Preload critical resources -->
10
  <link rel="preload" href="https://cdn.tailwindcss.com" as="script">
11
  <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" as="style">
12
- <!-- Fallback fonts -->
13
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
14
- <!-- Favicon for better compatibility -->
15
- <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🧫</text></svg>">
16
  <script src="https://cdn.tailwindcss.com"></script>
17
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
 
18
  <style>
19
- /* Improved font stack with system fonts as fallback */
20
  body {
21
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
 
 
 
22
  }
23
 
24
- /* Microbiome gradient with fallback */
25
- .microbiome-gradient {
26
- background-color: #005bea; /* Fallback */
27
- background-image: linear-gradient(135deg, #00c6fb 0%, #005bea 100%);
28
  }
29
 
30
- /* Cell pattern with better browser support */
31
- .cell-pattern {
32
- background-image: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
33
- background-size: 20px 20px;
34
- background-repeat: repeat;
35
  }
36
 
37
- /* Glow effect with fallback */
38
- .glow-effect {
39
- box-shadow: 0 0 15px rgba(0, 198, 251, 0.5);
40
  }
41
 
42
- /* Animation with proper prefixes */
43
- .dna-animation {
44
- -webkit-animation: dnaFloat 8s ease-in-out infinite;
45
- animation: dnaFloat 8s ease-in-out infinite;
46
  }
47
 
48
- @-webkit-keyframes dnaFloat {
49
- 0%, 100% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); }
50
- 25% { -webkit-transform: translateY(-10px) rotate(2deg); transform: translateY(-10px) rotate(2deg); }
51
- 50% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); }
52
- 75% { -webkit-transform: translateY(10px) rotate(-2deg); transform: translateY(10px) rotate(-2deg); }
 
53
  }
54
 
55
- @keyframes dnaFloat {
56
- 0%, 100% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); }
57
- 25% { -webkit-transform: translateY(-10px) rotate(2deg); transform: translateY(-10px) rotate(2deg); }
58
- 50% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); }
59
- 75% { -webkit-transform: translateY(10px) rotate(-2deg); transform: translateY(10px) rotate(-2deg); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
61
 
62
- /* Search focus with proper prefixes */
63
  .search-focus {
64
- -webkit-transition: all 0.3s ease;
65
  transition: all 0.3s ease;
66
  }
67
 
68
  .search-focus:focus {
69
- -webkit-transform: scale(1.02);
70
  transform: scale(1.02);
71
- box-shadow: 0 5px 15px rgba(0, 91, 234, 0.2);
72
  }
73
 
74
- /* Microbe hover with better compatibility */
75
- .microbe-hover {
76
- -webkit-transition: all 0.3s ease;
77
- transition: all 0.3s ease;
 
 
 
 
78
  }
79
 
80
- .microbe-hover:hover {
81
- -webkit-transform: scale(1.1) rotate(5deg);
82
- transform: scale(1.1) rotate(5deg);
 
 
 
 
 
 
 
 
 
83
  }
84
 
85
- /* Typewriter effect with better compatibility */
86
- .typewriter {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  overflow: hidden;
88
- border-right: .15em solid #00c6fb;
89
- white-space: nowrap;
90
- -webkit-animation: typing 3.5s steps(40, end), blink-caret .75s step-end infinite;
91
- animation: typing 3.5s steps(40, end), blink-caret .75s step-end infinite;
92
  }
93
 
94
- @-webkit-keyframes typing {
95
- from { width: 0 }
96
- to { width: 100% }
 
 
 
 
 
 
 
 
 
 
 
 
97
  }
98
 
99
- @keyframes typing {
100
- from { width: 0 }
101
- to { width: 100% }
102
  }
103
 
104
- @-webkit-keyframes blink-caret {
105
- from, to { border-color: transparent }
106
- 50% { border-color: #00c6fb; }
 
 
107
  }
108
 
109
- @keyframes blink-caret {
110
- from, to { border-color: transparent }
111
- 50% { border-color: #00c6fb; }
 
 
 
 
 
 
 
 
 
 
 
112
  }
113
 
114
- /* Improved button focus states for accessibility */
115
- button:focus, a:focus {
116
- outline: 2px solid #00c6fb;
117
- outline-offset: 2px;
118
  }
119
 
120
- /* Better mobile responsiveness */
121
- @media (max-width: 768px) {
122
- .hero-content {
123
- padding-top: 2rem;
124
- padding-bottom: 2rem;
125
- }
126
-
127
- .search-container {
128
- margin-top: -3rem;
129
- }
130
-
131
- .feature-cards {
132
- grid-template-columns: 1fr;
133
- }
134
  }
135
 
136
- /* Print styles */
137
- @media print {
138
- .no-print {
139
- display: none !important;
140
- }
141
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  body {
143
- background: white !important;
144
- color: black !important;
145
- font-size: 12pt;
146
- }
147
-
148
- a::after {
149
- content: " (" attr(href) ")";
150
- font-size: 0.8em;
151
- font-weight: normal;
152
  }
153
  }
154
  </style>
155
  </head>
156
  <body class="bg-gray-50">
157
- <!-- Award Badge -->
158
- <div class="absolute top-4 right-4 z-50 no-print">
159
- <div class="relative">
160
- <div class="bg-yellow-400 text-yellow-900 px-4 py-2 rounded-full font-bold text-sm transform rotate-12 shadow-lg">
161
- <i class="fas fa-trophy mr-1" aria-hidden="true"></i> 2024 BioTech Innovation Award
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
  </div>
163
- <div class="absolute -bottom-1 left-1/2 transform -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-t-8 border-l-transparent border-r-transparent border-t-yellow-400"></div>
164
  </div>
165
- </div>
166
 
167
- <!-- Hero Section with improved semantics -->
168
- <header class="microbiome-gradient text-white pt-24 pb-32 relative overflow-hidden hero-content">
169
- <div class="cell-pattern absolute inset-0 opacity-10"></div>
170
  <div class="container mx-auto px-6 relative z-10">
171
  <div class="flex flex-col lg:flex-row items-center">
172
- <div class="lg:w-1/2 mb-12 lg:mb-0">
173
- <div class="flex items-center mb-4">
174
- <div class="bg-white bg-opacity-20 px-3 py-1 rounded-full text-sm font-medium mr-3">
175
- Game-Changer
176
- </div>
177
- <div class="text-sm opacity-90">Patent Pending Technology</div>
 
 
178
  </div>
179
- <h1 class="text-4xl md:text-5xl font-bold leading-tight mb-6">
180
- Explore the <span class="typewriter inline-block" aria-live="polite">Human Microbiome</span>
 
181
  </h1>
182
- <p class="text-xl opacity-90 mb-8 max-w-lg">
183
- The world's first holistic search engine for microbiome research, connecting symptoms, treatments, and microbial relationships.
 
184
  </p>
185
- <div class="flex flex-col sm:flex-row space-y-3 sm:space-y-0 sm:space-x-4">
186
- <button class="bg-white text-blue-700 px-6 py-3 rounded-full font-semibold hover:bg-opacity-90 transition-all transform hover:scale-105 flex items-center justify-center focus:outline-none">
187
- <i class="fas fa-flask mr-2" aria-hidden="true"></i> Start Research
188
  </button>
189
- <button class="border-2 border-white border-opacity-50 text-white px-6 py-3 rounded-full font-semibold hover:bg-white hover:bg-opacity-10 transition-all transform hover:scale-105 flex items-center justify-center focus:outline-none">
190
- <i class="fas fa-play-circle mr-2" aria-hidden="true"></i> Watch Demo
191
  </button>
192
  </div>
193
  </div>
194
- <div class="lg:w-1/2 flex justify-center">
195
- <div class="relative">
196
- <img src="https://www.svgrepo.com/show/530537/dna.svg" alt="DNA Strand" class="w-64 h-64 dna-animation" loading="lazy">
197
- <div class="absolute -top-10 -left-10">
198
- <div class="bg-white bg-opacity-20 rounded-full w-32 h-32 flex items-center justify-center microbe-hover" aria-hidden="true">
199
- <i class="fas fa-bacterium text-4xl text-white"></i>
200
- </div>
201
- </div>
202
- <div class="absolute -bottom-5 -right-5">
203
- <div class="bg-white bg-opacity-20 rounded-full w-24 h-24 flex items-center justify-center microbe-hover" aria-hidden="true">
204
- <i class="fas fa-virus text-3xl text-white"></i>
205
- </div>
206
- </div>
207
  </div>
208
  </div>
209
  </div>
210
  </div>
211
- </header>
212
 
213
- <!-- Search Interface with better accessibility -->
214
- <section class="container mx-auto px-6 -mt-16 relative z-20 mb-24 search-container">
215
- <div class="bg-white rounded-xl shadow-2xl p-6">
216
- <div class="flex flex-col md:flex-row space-y-4 md:space-y-0 md:space-x-4">
217
  <div class="flex-1 relative">
218
- <label for="searchInput" class="sr-only">Search symptoms, microbes, or treatments</label>
219
- <div class="absolute left-4 top-1/2 transform -translate-y-1/2 text-blue-500">
220
  <i class="fas fa-search" aria-hidden="true"></i>
221
  </div>
222
- <input type="text" id="searchInput" placeholder="Search symptoms, microbes, or treatments..."
223
- class="search-focus w-full pl-12 pr-4 py-4 border border-gray-200 rounded-lg focus:outline-none focus:border-blue-400">
224
  </div>
225
- <button class="bg-blue-600 hover:bg-blue-700 text-white px-6 py-4 rounded-lg font-semibold transition-all flex items-center justify-center focus:outline-none">
226
- <i class="fas fa-dna mr-2" aria-hidden="true"></i> Analyze
227
  </button>
228
  </div>
229
 
230
- <div class="mt-6 grid grid-cols-2 md:grid-cols-4 gap-4">
231
- <button class="bg-blue-50 border border-blue-100 rounded-lg p-3 text-center cursor-pointer hover:bg-blue-100 transition-colors focus:outline-none">
232
- <div class="text-blue-600 mb-1"><i class="fas fa-heartbeat" aria-hidden="true"></i></div>
233
- <div class="text-sm font-medium text-blue-800">Gut Health</div>
234
- </button>
235
- <button class="bg-purple-50 border border-purple-100 rounded-lg p-3 text-center cursor-pointer hover:bg-purple-100 transition-colors focus:outline-none">
236
- <div class="text-purple-600 mb-1"><i class="fas fa-brain" aria-hidden="true"></i></div>
237
- <div class="text-sm font-medium text-purple-800">Mental Health</div>
238
- </button>
239
- <button class="bg-green-50 border border-green-100 rounded-lg p-3 text-center cursor-pointer hover:bg-green-100 transition-colors focus:outline-none">
240
- <div class="text-green-600 mb-1"><i class="fas fa-weight" aria-hidden="true"></i></div>
241
- <div class="text-sm font-medium text-green-800">Metabolism</div>
242
- </button>
243
- <button class="bg-amber-50 border border-amber-100 rounded-lg p-3 text-center cursor-pointer hover:bg-amber-100 transition-colors focus:outline-none">
244
- <div class="text-amber-600 mb-1"><i class="fas fa-allergies" aria-hidden="true"></i></div>
245
- <div class="text-sm font-medium text-amber-800">Immunity</div>
246
- </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
247
  </div>
248
  </div>
249
  </section>
250
 
251
- <!-- Unique Value Proposition with better semantics -->
252
- <section class="container mx-auto px-6 mb-24">
253
- <div class="text-center mb-16">
254
- <h2 class="text-3xl md:text-4xl font-bold text-gray-800 mb-4">Why Our Technology is Revolutionary</h2>
255
- <p class="text-xl text-gray-600 max-w-3xl mx-auto">
256
- Connecting the dots between microbiome research and human health like never before
257
- </p>
258
  </div>
259
 
260
- <div class="grid md:grid-cols-3 gap-8 feature-cards">
261
- <article class="bg-white p-8 rounded-xl shadow-lg hover:shadow-xl transition-shadow">
262
- <div class="bg-blue-100 w-16 h-16 rounded-full flex items-center justify-center mb-6 mx-auto">
263
- <i class="fas fa-project-diagram text-blue-600 text-2xl" aria-hidden="true"></i>
264
- </div>
265
- <h3 class="text-xl font-bold text-center mb-3">Holistic Connections</h3>
266
- <p class="text-gray-600 text-center">
267
- Our AI maps complex relationships between 10,000+ microbial species and human health conditions.
268
- </p>
269
- </article>
270
- <article class="bg-white p-8 rounded-xl shadow-lg hover:shadow-xl transition-shadow glow-effect">
271
- <div class="bg-purple-100 w-16 h-16 rounded-full flex items-center justify-center mb-6 mx-auto">
272
- <i class="fas fa-chart-network text-purple-600 text-2xl" aria-hidden="true"></i>
273
- </div>
274
- <h3 class="text-xl font-bold text-center mb-3">Predictive Analytics</h3>
275
- <p class="text-gray-600 text-center">
276
- Anticipate health trends and microbiome changes before symptoms appear with our predictive models.
277
- </p>
278
- </article>
279
- <article class="bg-white p-8 rounded-xl shadow-lg hover:shadow-xl transition-shadow">
280
- <div class="bg-green-100 w-16 h-16 rounded-full flex items-center justify-center mb-6 mx-auto">
281
- <i class="fas fa-user-md text-green-600 text-2xl" aria-hidden="true"></i>
282
- </div>
283
- <h3 class="text-xl font-bold text-center mb-3">Clinical Applications</h3>
284
- <p class="text-gray-600 text-center">
285
- Directly applicable to patient care with personalized microbiome intervention recommendations.
286
- </p>
287
- </article>
 
 
 
 
 
 
 
 
 
 
 
 
 
288
  </div>
289
  </section>
290
 
291
- <!-- Data Visualization with better semantics -->
292
- <section class="bg-gray-100 py-16 mb-24">
293
  <div class="container mx-auto px-6">
294
- <div class="flex flex-col lg:flex-row items-center">
295
- <div class="lg:w-1/2 mb-12 lg:mb-0 lg:pr-12">
296
- <h2 class="text-3xl font-bold text-gray-800 mb-6">Interactive Microbiome Network</h2>
297
- <p class="text-gray-600 mb-6">
298
- Explore our dynamic visualization of microbial ecosystems and their connections to human physiology.
299
- Each node represents a microbial species or health factor - click to discover relationships.
300
- </p>
301
- <div class="flex space-x-4">
302
- <button class="bg-blue-600 text-white px-6 py-2 rounded-full text-sm font-semibold hover:bg-blue-700 transition-colors focus:outline-none">
303
- <i class="fas fa-play mr-1" aria-hidden="true"></i> Tutorial
304
- </button>
305
- <button class="border border-blue-600 text-blue-600 px-6 py-2 rounded-full text-sm font-semibold hover:bg-blue-50 transition-colors focus:outline-none">
306
- <i class="fas fa-download mr-1" aria-hidden="true"></i> Sample Data
307
- </button>
308
  </div>
 
 
 
 
 
309
  </div>
310
- <div class="lg:w-1/2 bg-white p-6 rounded-xl shadow-lg">
311
- <div class="bg-gray-200 rounded-lg overflow-hidden" style="height: 350px;">
312
- <div class="flex items-center justify-center h-full">
313
- <div class="text-center">
314
- <i class="fas fa-network-wired text-5xl text-gray-400 mb-4" aria-hidden="true"></i>
315
- <p class="text-gray-600">Interactive microbiome network visualization</p>
316
- <div class="mt-4 flex justify-center space-x-2">
317
- <div class="w-3 h-3 rounded-full bg-blue-500" aria-hidden="true"></div>
318
- <div class="w-3 h-3 rounded-full bg-green-500" aria-hidden="true"></div>
319
- <div class="w-3 h-3 rounded-full bg-purple-500" aria-hidden="true"></div>
320
- <div class="w-3 h-3 rounded-full bg-yellow-500" aria-hidden="true"></div>
321
- <div class="w-3 h-3 rounded-full bg-red-500" aria-hidden="true"></div>
322
- </div>
323
- </div>
324
- </div>
325
  </div>
 
 
 
 
 
 
326
  </div>
327
- </div>
328
- </div>
329
- </section>
330
-
331
- <!-- Testimonials with better semantics -->
332
- <section class="container mx-auto px-6 mb-24">
333
- <div class="bg-white rounded-xl shadow-lg overflow-hidden">
334
- <div class="md:flex">
335
- <div class="md:w-1/3 bg-blue-600 text-white p-8 flex flex-col justify-center">
336
- <h2 class="text-2xl font-bold mb-4">Trusted by Leading Researchers</h2>
337
- <p class="opacity-90 mb-6">
338
- Our platform has been adopted by top research institutions and healthcare organizations worldwide.
339
- </p>
340
- <div class="flex space-x-2">
341
- <div class="bg-white bg-opacity-20 rounded-full w-10 h-10 flex items-center justify-center">
342
- <i class="fas fa-quote-left" aria-hidden="true"></i>
343
- </div>
344
- <div>
345
- <div class="font-bold">4.9/5</div>
346
- <div class="text-xs opacity-80">Average rating</div>
347
- </div>
348
  </div>
349
- </div>
350
- <div class="md:w-2/3 p-8">
351
- <div class="grid md:grid-cols-2 gap-8">
352
- <blockquote>
353
- <div class="flex items-center mb-4">
354
- <div class="w-12 h-12 rounded-full bg-blue-100 flex items-center justify-center mr-4">
355
- <i class="fas fa-user-md text-blue-600" aria-hidden="true"></i>
356
- </div>
357
- <div>
358
- <div class="font-bold">Dr. Sarah Chen</div>
359
- <div class="text-sm text-gray-500">Harvard Medical School</div>
360
- </div>
361
- </div>
362
- <p class="text-gray-600">
363
- "This platform has revolutionized how we approach microbiome research. The connections it reveals between microbial populations and chronic conditions are game-changing."
364
- </p>
365
- </blockquote>
366
- <blockquote>
367
- <div class="flex items-center mb-4">
368
- <div class="w-12 h-12 rounded-full bg-green-100 flex items-center justify-center mr-4">
369
- <i class="fas fa-flask text-green-600" aria-hidden="true"></i>
370
- </div>
371
- <div>
372
- <div class="font-bold">Prof. James Wilson</div>
373
- <div class="text-sm text-gray-500">Stanford University</div>
374
- </div>
375
- </div>
376
- <p class="text-gray-600">
377
- "The predictive analytics capabilities have helped us identify potential microbiome-based interventions months before traditional methods would."
378
- </p>
379
- </blockquote>
380
  </div>
381
  </div>
382
  </div>
383
- </div>
384
- </section>
385
-
386
- <!-- CTA Section with better semantics -->
387
- <section class="microbiome-gradient text-white py-16 mb-12 rounded-3xl mx-6">
388
- <div class="container mx-auto px-6 text-center">
389
- <h2 class="text-3xl md:text-4xl font-bold mb-6">Ready to Transform Microbiome Research?</h2>
390
- <p class="text-xl opacity-90 mb-8 max-w-3xl mx-auto">
391
- Join hundreds of researchers and clinicians using our award-winning platform to unlock new discoveries.
392
- </p>
393
- <div class="flex flex-col sm:flex-row justify-center space-y-4 sm:space-y-0 sm:space-x-6">
394
- <button class="bg-white text-blue-700 px-8 py-4 rounded-full font-bold hover:bg-opacity-90 transition-all transform hover:scale-105 focus:outline-none">
395
- Start Free Trial
396
- </button>
397
- <button class="border-2 border-white border-opacity-50 px-8 py-4 rounded-full font-bold hover:bg-white hover:bg-opacity-10 transition-all transform hover:scale-105 focus:outline-none">
398
- Schedule Demo
399
  </button>
400
  </div>
401
  </div>
402
  </section>
403
 
404
- <!-- Footer with better semantics -->
405
  <footer class="bg-gray-900 text-white py-12">
406
  <div class="container mx-auto px-6">
407
  <div class="grid md:grid-cols-4 gap-8 mb-8">
408
  <div>
409
- <h3 class="text-xl font-bold mb-4 flex items-center">
410
- <i class="fas fa-dna mr-2" aria-hidden="true"></i> Microbiome Explorer
411
  </h3>
412
- <p class="text-gray-400">
413
- The world's most advanced holistic search engine for human microbiome research.
414
  </p>
415
  </div>
416
  <div>
417
- <h4 class="font-bold mb-4">Research</h4>
418
  <ul class="space-y-2">
419
- <li><a href="#" class="text-gray-400 hover:text-white transition-colors">Database</a></li>
420
- <li><a href="#" class="text-gray-400 hover:text-white transition-colors">Analytics</a></li>
421
- <li><a href="#" class="text-gray-400 hover:text-white transition-colors">Visualizations</a></li>
422
- <li><a href="#" class="text-gray-400 hover:text-white transition-colors">API Access</a></li>
423
  </ul>
424
  </div>
425
  <div>
426
- <h4 class="font-bold mb-4">Resources</h4>
427
  <ul class="space-y-2">
428
- <li><a href="#" class="text-gray-400 hover:text-white transition-colors">Documentation</a></li>
429
- <li><a href="#" class="text-gray-400 hover:text-white transition-colors">Case Studies</a></li>
430
- <li><a href="#" class="text-gray-400 hover:text-white transition-colors">Research Papers</a></li>
431
- <li><a href="#" class="text-gray-400 hover:text-white transition-colors">Blog</a></li>
432
  </ul>
433
  </div>
434
  <div>
435
- <h4 class="font-bold mb-4">Connect</h4>
436
  <div class="flex space-x-4 mb-4">
437
- <a href="#" class="w-10 h-10 bg-gray-800 rounded-full flex items-center justify-center hover:bg-blue-600 transition-colors focus:outline-none" aria-label="Twitter">
438
- <i class="fab fa-twitter" aria-hidden="true"></i>
439
  </a>
440
- <a href="#" class="w-10 h-10 bg-gray-800 rounded-full flex items-center justify-center hover:bg-blue-700 transition-colors focus:outline-none" aria-label="LinkedIn">
441
- <i class="fab fa-linkedin-in" aria-hidden="true"></i>
442
  </a>
443
- <a href="#" class="w-10 h-10 bg-gray-800 rounded-full flex items-center justify-center hover:bg-gray-700 transition-colors focus:outline-none" aria-label="GitHub">
444
- <i class="fab fa-github" aria-hidden="true"></i>
445
  </a>
446
  </div>
447
- <p class="text-gray-400">support@microbiome-explorer.com</p>
448
  </div>
449
  </div>
450
- <div class="pt-8 border-t border-gray-800 text-center text-gray-400 text-sm">
451
- <p>© 2024 Microbiome Explorer. All rights reserved. Patent pending technology.</p>
452
  </div>
453
  </div>
454
  </footer>
455
 
456
  <script>
457
- // Improved JavaScript with feature detection
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
458
  document.addEventListener('DOMContentLoaded', function() {
459
- // Typewriter effect with fallback
460
- if (typeof document.querySelector === 'function' &&
461
- typeof window.requestAnimationFrame === 'function') {
 
 
 
 
 
 
 
 
 
 
 
 
 
462
 
463
- const phrases = [
464
- "Human Microbiome",
465
- "Gut-Brain Axis",
466
- "Microbial Ecosystems",
467
- "Health Connections"
468
- ];
469
 
470
- let currentPhrase = 0;
471
- let currentChar = 0;
472
- let isDeleting = false;
473
- let isEnd = false;
 
 
 
474
 
475
- function typeWriter() {
476
- const typewriterElement = document.querySelector('.typewriter');
477
- if (!typewriterElement) return;
478
-
479
- const currentText = phrases[currentPhrase];
480
-
481
- if (isDeleting) {
482
- typewriterElement.textContent = currentText.substring(0, currentChar - 1);
483
- currentChar--;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
484
  } else {
485
- typewriterElement.textContent = currentText.substring(0, currentChar + 1);
486
- currentChar++;
487
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
488
 
489
- if (!isDeleting && currentChar === currentText.length) {
490
- isEnd = true;
491
- isDeleting = true;
492
- setTimeout(typeWriter, 2000);
493
- } else if (isDeleting && currentChar === 0) {
494
- isDeleting = false;
495
- currentPhrase = (currentPhrase + 1) % phrases.length;
496
- setTimeout(typeWriter, 500);
497
- } else {
498
- const speed = isDeleting ? 100 : 150;
499
- setTimeout(typeWriter, speed);
500
- }
501
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
502
 
503
- // Start the typewriter effect
504
- setTimeout(typeWriter, 1000);
 
 
 
 
 
 
 
505
  }
506
 
507
- // Improved hover animations with feature detection
508
- if ('ontouchstart' in window === false) {
509
- const microbes = document.querySelectorAll('.microbe-hover');
510
- if (microbes.length) {
511
- microbes.forEach(microbe => {
512
- microbe.addEventListener('mouseenter', function() {
513
- this.style.transform = 'scale(1.1) rotate(5deg)';
514
- });
515
- microbe.addEventListener('mouseleave', function() {
516
- this.style.transform = 'scale(1) rotate(0deg)';
517
- });
518
- });
519
  }
 
 
 
 
 
520
 
521
- // Search focus effect
522
- const searchInput = document.querySelector('.search-focus');
523
- if (searchInput) {
524
- searchInput.addEventListener('focus', function() {
525
- this.style.transform = 'scale(1.02)';
526
- this.style.boxShadow = '0 5px 15px rgba(0, 91, 234, 0.2)';
527
- });
528
- searchInput.addEventListener('blur', function() {
529
- this.style.transform = 'scale(1)';
530
- this.style.boxShadow = 'none';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
531
  });
532
- }
533
  }
534
 
535
- // Load Font Awesome if not already loaded
536
- if (typeof FontAwesome === 'undefined') {
537
- const faScript = document.createElement('script');
538
- faScript.src = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js';
539
- faScript.async = true;
540
- document.head.appendChild(faScript);
541
- }
 
 
 
 
 
 
 
 
 
 
542
  });
543
  </script>
544
  <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Neomyst/microbiome-explorer" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Holistic Health Explorer | Advanced Database Integration</title>
 
7
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
 
8
  <link rel="preload" href="https://cdn.tailwindcss.com" as="script">
9
  <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" as="style">
10
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
11
+ <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🌿</text></svg>">
 
 
12
  <script src="https://cdn.tailwindcss.com"></script>
13
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
14
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
15
  <style>
 
16
  body {
17
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
18
+ padding-top: 70px;
19
+ color: #333;
20
+ line-height: 1.6;
21
  }
22
 
23
+ .header-gradient {
24
+ background: linear-gradient(135deg, #2b8a3e 0%, #40c057 100%);
25
+ box-shadow: 0 2px 10px rgba(43, 138, 62, 0.1);
 
26
  }
27
 
28
+ .health-gradient {
29
+ background: linear-gradient(135deg, #f8f9fa 0%, #ebfbee 100%);
 
 
 
30
  }
31
 
32
+ .floating-element {
33
+ animation: float 8s ease-in-out infinite;
 
34
  }
35
 
36
+ @keyframes float {
37
+ 0%, 100% { transform: translateY(0) rotate(0deg); }
38
+ 50% { transform: translateY(-15px) rotate(2deg); }
 
39
  }
40
 
41
+ .typewriter {
42
+ overflow: hidden;
43
+ white-space: nowrap;
44
+ border-right: 2px solid #40c057;
45
+ width: 0;
46
+ animation: typing 3s steps(40, end) forwards, blink-caret .75s step-end infinite;
47
  }
48
 
49
+ @keyframes typing {
50
+ from { width: 0 }
51
+ to { width: 100% }
52
+ }
53
+
54
+ @keyframes blink-caret {
55
+ from, to { border-color: transparent }
56
+ 50% { border-color: #40c057; }
57
+ }
58
+
59
+ .nav-link {
60
+ position: relative;
61
+ padding: 8px 0;
62
+ transition: all 0.2s ease;
63
+ }
64
+
65
+ .nav-link::after {
66
+ content: '';
67
+ position: absolute;
68
+ bottom: 0;
69
+ left: 0;
70
+ width: 0;
71
+ height: 2px;
72
+ background-color: white;
73
+ transition: width 0.3s ease;
74
+ }
75
+
76
+ .nav-link:hover::after {
77
+ width: 100%;
78
  }
79
 
 
80
  .search-focus {
 
81
  transition: all 0.3s ease;
82
  }
83
 
84
  .search-focus:focus {
 
85
  transform: scale(1.02);
86
+ box-shadow: 0 5px 15px rgba(43, 138, 62, 0.1);
87
  }
88
 
89
+ .database-badge {
90
+ display: inline-block;
91
+ padding: 2px 8px;
92
+ border-radius: 12px;
93
+ font-size: 12px;
94
+ font-weight: 500;
95
+ background-color: #ebfbee;
96
+ color: #2b8a3e;
97
  }
98
 
99
+ .database-chip {
100
+ display: inline-flex;
101
+ align-items: center;
102
+ padding: 2px 8px;
103
+ border-radius: 12px;
104
+ font-size: 11px;
105
+ font-weight: 500;
106
+ background-color: #f8f9fa;
107
+ color: #495057;
108
+ border: 1px solid #dee2e6;
109
+ margin-right: 6px;
110
+ margin-bottom: 6px;
111
  }
112
 
113
+ .database-chip i {
114
+ margin-right: 4px;
115
+ font-size: 10px;
116
+ }
117
+
118
+ .result-card {
119
+ transition: all 0.2s ease;
120
+ border-left: 3px solid transparent;
121
+ }
122
+
123
+ .result-card:hover {
124
+ transform: translateY(-2px);
125
+ box-shadow: 0 4px 12px rgba(0,0,0,0.05);
126
+ border-left: 3px solid #40c057;
127
+ }
128
+
129
+ .knowledge-graph {
130
+ height: 300px;
131
+ background-color: #f8f9fa;
132
+ border-radius: 8px;
133
+ position: relative;
134
  overflow: hidden;
 
 
 
 
135
  }
136
 
137
+ .graph-node {
138
+ position: absolute;
139
+ width: 80px;
140
+ height: 80px;
141
+ border-radius: 50%;
142
+ display: flex;
143
+ align-items: center;
144
+ justify-content: center;
145
+ color: white;
146
+ font-weight: 500;
147
+ font-size: 12px;
148
+ text-align: center;
149
+ box-shadow: 0 4px 6px rgba(0,0,0,0.1);
150
+ cursor: pointer;
151
+ transition: all 0.3s ease;
152
  }
153
 
154
+ .graph-node:hover {
155
+ transform: scale(1.1);
156
+ box-shadow: 0 6px 12px rgba(0,0,0,0.15);
157
  }
158
 
159
+ .graph-line {
160
+ position: absolute;
161
+ height: 2px;
162
+ background-color: rgba(0,0,0,0.1);
163
+ transform-origin: left center;
164
  }
165
 
166
+ .relevance-badge {
167
+ position: absolute;
168
+ top: -8px;
169
+ right: -8px;
170
+ background-color: #ff6b6b;
171
+ color: white;
172
+ border-radius: 50%;
173
+ width: 24px;
174
+ height: 24px;
175
+ display: flex;
176
+ align-items: center;
177
+ justify-content: center;
178
+ font-size: 12px;
179
+ font-weight: bold;
180
  }
181
 
182
+ .suggestion-card {
183
+ border-left: 4px solid #40c057;
184
+ transition: all 0.2s ease;
 
185
  }
186
 
187
+ .suggestion-card:hover {
188
+ transform: translateX(5px);
 
 
 
 
 
 
 
 
 
 
 
 
189
  }
190
 
191
+ .database-relation {
192
+ position: relative;
193
+ padding-left: 20px;
194
+ }
195
+
196
+ .database-relation::before {
197
+ content: '';
198
+ position: absolute;
199
+ left: 0;
200
+ top: 8px;
201
+ width: 12px;
202
+ height: 12px;
203
+ border-radius: 2px;
204
+ }
205
+
206
+ .ncbi-relation::before { background-color: #2b8a3e; }
207
+ .pubchem-relation::before { background-color: #1971c2; }
208
+ .microbiome-relation::before { background-color: #6741d9; }
209
+ .food-relation::before { background-color: #e67700; }
210
+ .phytochem-relation::before { background-color: #d6336c; }
211
+
212
+ @media (max-width: 768px) {
213
  body {
214
+ padding-top: 60px;
 
 
 
 
 
 
 
 
215
  }
216
  }
217
  </style>
218
  </head>
219
  <body class="bg-gray-50">
220
+ <!-- Fixed Navigation Header -->
221
+ <header class="fixed top-0 left-0 right-0 z-50 header-gradient text-white">
222
+ <div class="container mx-auto px-6">
223
+ <div class="flex items-center justify-between h-16">
224
+ <!-- Logo -->
225
+ <div class="flex items-center">
226
+ <div class="w-8 h-8 rounded-full bg-white bg-opacity-20 flex items-center justify-center mr-2">
227
+ <i class="fas fa-leaf text-sm"></i>
228
+ </div>
229
+ <span class="text-lg font-medium">Health<span class="font-light">Explorer</span></span>
230
+ </div>
231
+
232
+ <!-- Desktop Navigation -->
233
+ <nav class="hidden md:flex items-center space-x-6">
234
+ <a href="#" class="nav-link active">Home</a>
235
+ <a href="#" class="nav-link">Databases</a>
236
+ <a href="#" class="nav-link">Health Insights</a>
237
+ <a href="#" class="nav-link">For Practitioners</a>
238
+ <a href="#" class="nav-link">Resources</a>
239
+ </nav>
240
+
241
+ <!-- Mobile Menu Button -->
242
+ <button class="md:hidden text-white focus:outline-none">
243
+ <i class="fas fa-bars"></i>
244
+ </button>
245
+
246
+ <!-- CTA Button -->
247
+ <div class="hidden md:block">
248
+ <button class="bg-white text-green-700 px-4 py-1.5 rounded-full text-sm font-medium hover:bg-opacity-90 transition-all">
249
+ <i class="fas fa-user mr-1"></i> My Health
250
+ </button>
251
+ </div>
252
  </div>
 
253
  </div>
254
+ </header>
255
 
256
+ <!-- Hero Section -->
257
+ <section class="health-gradient text-gray-800 pt-16 pb-12 relative overflow-hidden">
 
258
  <div class="container mx-auto px-6 relative z-10">
259
  <div class="flex flex-col lg:flex-row items-center">
260
+ <div class="lg:w-2/3 mb-8 lg:mb-0">
261
+ <div class="flex flex-wrap items-center mb-3">
262
+ <span class="database-badge px-3 py-1 text-xs mr-3 mb-2">
263
+ <i class="fas fa-database mr-1"></i> 27 Integrated Health Databases
264
+ </span>
265
+ <span class="database-badge px-3 py-1 text-xs mr-3 mb-2">
266
+ <i class="fas fa-brain mr-1"></i> AI-Powered Cross-References
267
+ </span>
268
  </div>
269
+ <h1 class="text-2xl md:text-3xl font-light leading-tight mb-3">
270
+ Advanced Health <span class="font-medium">Database Explorer</span><br>
271
+ <span class="typewriter inline-block text-xl" aria-live="polite">Cross-Referencing Scientific Research</span>
272
  </h1>
273
+ <p class="text-gray-600 mb-6 max-w-lg text-sm">
274
+ Our intelligent system connects research across multiple databases to reveal hidden relationships between nutrition,
275
+ microbiome science, herbal medicine, and clinical studies.
276
  </p>
277
+ <div class="flex flex-col sm:flex-row space-y-3 sm:space-y-0 sm:space-x-3">
278
+ <button class="bg-green-600 text-white px-5 py-2 rounded-full text-sm font-medium hover:bg-green-700 transition-colors flex items-center justify-center focus:outline-none">
279
+ <i class="fas fa-search mr-2" aria-hidden="true"></i> Explore Health Data
280
  </button>
281
+ <button class="border border-green-600 text-green-600 px-5 py-2 rounded-full text-sm font-medium hover:bg-green-50 transition-colors flex items-center justify-center focus:outline-none">
282
+ <i class="fas fa-video mr-2" aria-hidden="true"></i> Watch Demo
283
  </button>
284
  </div>
285
  </div>
286
+ <div class="lg:w-1/3 flex justify-center">
287
+ <div class="relative floating-element">
288
+ <img src="https://www.svgrepo.com/show/530537/dna.svg" alt="Health DNA" class="w-40 h-40 opacity-90" loading="lazy" style="filter: hue-rotate(60deg);">
 
 
 
 
 
 
 
 
 
 
289
  </div>
290
  </div>
291
  </div>
292
  </div>
293
+ </section>
294
 
295
+ <!-- Health Search Interface -->
296
+ <section class="container mx-auto px-6 -mt-8 relative z-20 mb-16">
297
+ <div class="bg-white rounded-xl shadow-lg p-5">
298
+ <div class="flex flex-col md:flex-row space-y-3 md:space-y-0 md:space-x-3">
299
  <div class="flex-1 relative">
300
+ <label for="healthSearchInput" class="sr-only">Search health databases</label>
301
+ <div class="absolute left-3 top-1/2 transform -translate-y-1/2 text-green-500">
302
  <i class="fas fa-search" aria-hidden="true"></i>
303
  </div>
304
+ <input type="text" id="healthSearchInput" placeholder="Search microbiome, nutrition, herbs, lifestyle..."
305
+ class="search-focus w-full pl-10 pr-4 py-3 border border-gray-200 rounded-lg focus:outline-none focus:border-green-400 text-sm">
306
  </div>
307
+ <button id="healthSearchButton" class="bg-green-600 hover:bg-green-700 text-white px-5 py-3 rounded-lg font-medium text-sm transition-all flex items-center justify-center focus:outline-none">
308
+ <i class="fas fa-brain mr-2" aria-hidden="true"></i> Find Connections
309
  </button>
310
  </div>
311
 
312
+ <div class="mt-4">
313
+ <div class="text-xs text-gray-500 mb-2">Select databases to search:</div>
314
+ <div class="flex flex-wrap" id="databaseFilters">
315
+ <label class="database-chip cursor-pointer">
316
+ <input type="checkbox" class="hidden" checked data-db="ncbi">
317
+ <i class="fas fa-dna"></i> NCBI
318
+ </label>
319
+ <label class="database-chip cursor-pointer">
320
+ <input type="checkbox" class="hidden" checked data-db="pubchem">
321
+ <i class="fas fa-flask"></i> PubChem
322
+ </label>
323
+ <label class="database-chip cursor-pointer">
324
+ <input type="checkbox" class="hidden" checked data-db="pubmed">
325
+ <i class="fas fa-book-medical"></i> PubMed
326
+ </label>
327
+ <label class="database-chip cursor-pointer">
328
+ <input type="checkbox" class="hidden" checked data-db="food">
329
+ <i class="fas fa-utensils"></i> FoodData
330
+ </label>
331
+ <label class="database-chip cursor-pointer">
332
+ <input type="checkbox" class="hidden" checked data-db="phytochem">
333
+ <i class="fas fa-leaf"></i> Phytochemical
334
+ </label>
335
+ <label class="database-chip cursor-pointer">
336
+ <input type="checkbox" class="hidden" checked data-db="microbiome">
337
+ <i class="fas fa-bacterium"></i> Microbiome
338
+ </label>
339
+ <label class="database-chip cursor-pointer">
340
+ <input type="checkbox" class="hidden" checked data-db="clinical">
341
+ <i class="fas fa-hospital"></i> Clinical Trials
342
+ </label>
343
+ </div>
344
  </div>
345
  </div>
346
  </section>
347
 
348
+ <!-- Search Results Section (Initially Hidden) -->
349
+ <section id="searchResults" class="container mx-auto px-6 mb-16 hidden">
350
+ <div class="flex items-center justify-between mb-6">
351
+ <h2 class="text-lg font-medium text-gray-800">Cross-Database Results</h2>
352
+ <div class="text-sm text-gray-500"><span id="resultCount">0</span> results across <span id="dbCount">0</span> databases</div>
 
 
353
  </div>
354
 
355
+ <!-- Knowledge Graph Visualization -->
356
+ <div class="mb-8">
357
+ <div class="flex items-center justify-between mb-3">
358
+ <h3 class="font-medium text-gray-700">Knowledge Graph</h3>
359
+ <div class="text-xs text-gray-500">Showing relationships between concepts</div>
360
+ </div>
361
+ <div class="knowledge-graph" id="knowledgeGraph">
362
+ <!-- Nodes will be dynamically inserted here -->
363
+ </div>
364
+ </div>
365
+
366
+ <!-- Results Tabs -->
367
+ <div class="mb-6 border-b border-gray-200">
368
+ <div class="flex space-x-4">
369
+ <button class="tab-button px-4 py-2 font-medium text-sm border-b-2 border-green-500 text-green-600" data-tab="all">All Results</button>
370
+ <button class="tab-button px-4 py-2 font-medium text-sm text-gray-500 hover:text-gray-700" data-tab="suggestions">AI Suggestions</button>
371
+ <button class="tab-button px-4 py-2 font-medium text-sm text-gray-500 hover:text-gray-700" data-tab="microbiome">Microbiome</button>
372
+ <button class="tab-button px-4 py-2 font-medium text-sm text-gray-500 hover:text-gray-700" data-tab="nutrition">Nutrition</button>
373
+ <button class="tab-button px-4 py-2 font-medium text-sm text-gray-500 hover:text-gray-700" data-tab="herbal">Herbal</button>
374
+ </div>
375
+ </div>
376
+
377
+ <!-- Results Grid -->
378
+ <div class="grid gap-6" id="resultsContainer">
379
+ <!-- Results will be dynamically inserted here -->
380
+ </div>
381
+
382
+ <!-- AI Suggestions Section -->
383
+ <div id="aiSuggestions" class="mt-8 hidden">
384
+ <h3 class="font-medium text-gray-700 mb-4 flex items-center">
385
+ <i class="fas fa-lightbulb text-yellow-500 mr-2"></i> AI-Powered Research Suggestions
386
+ </h3>
387
+ <div class="grid md:grid-cols-2 gap-4" id="suggestionsContainer">
388
+ <!-- Suggestions will be dynamically inserted here -->
389
+ </div>
390
+ </div>
391
+
392
+ <div class="mt-8 text-center">
393
+ <button class="bg-white border border-gray-200 text-gray-700 px-5 py-2 rounded-lg text-sm font-medium hover:bg-gray-50 transition-colors">
394
+ <i class="fas fa-sync-alt mr-2"></i> Load More Results
395
+ </button>
396
  </div>
397
  </section>
398
 
399
+ <!-- Database Integration Section -->
400
+ <section class="bg-gray-50 py-12">
401
  <div class="container mx-auto px-6">
402
+ <div class="text-center mb-10">
403
+ <h2 class="text-2xl font-light text-gray-800 mb-3">Intelligent Database <span class="font-medium">Integration</span></h2>
404
+ <p class="text-gray-600 max-w-2xl mx-auto text-sm">Our system automatically finds relationships between data across different scientific domains</p>
405
+ </div>
406
+
407
+ <div class="grid md:grid-cols-3 gap-6 mb-12">
408
+ <div class="bg-white p-6 rounded-xl shadow-sm border border-gray-100">
409
+ <div class="w-12 h-12 bg-green-100 rounded-full flex items-center justify-center text-green-600 mb-4">
410
+ <i class="fas fa-project-diagram text-xl"></i>
 
 
 
 
 
411
  </div>
412
+ <h3 class="font-medium text-lg mb-2">Cross-Database Relationships</h3>
413
+ <p class="text-gray-600 text-sm mb-4">Automatically identifies connections between compounds, genes, microbiome impacts, and clinical studies.</p>
414
+ <div class="database-relation ncbi-relation text-xs text-gray-500 mb-1">NCBI Gene Data → PubChem Compounds</div>
415
+ <div class="database-relation pubchem-relation text-xs text-gray-500 mb-1">PubChem → Microbiome Interactions</div>
416
+ <div class="database-relation phytochem-relation text-xs text-gray-500">Phytochemicals → Clinical Trial Results</div>
417
  </div>
418
+
419
+ <div class="bg-white p-6 rounded-xl shadow-sm border border-gray-100">
420
+ <div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center text-blue-600 mb-4">
421
+ <i class="fas fa-robot text-xl"></i>
 
 
 
 
 
 
 
 
 
 
 
422
  </div>
423
+ <h3 class="font-medium text-lg mb-2">AI-Powered Suggestions</h3>
424
+ <p class="text-gray-600 text-sm mb-4">Machine learning identifies potentially relevant research you might have missed based on your search patterns.</p>
425
+ <div class="text-xs text-gray-500 mb-2">Common suggestions include:</div>
426
+ <div class="text-xs bg-blue-50 text-blue-700 px-3 py-1 rounded-full inline-block mr-2 mb-2">Related Metabolic Pathways</div>
427
+ <div class="text-xs bg-purple-50 text-purple-700 px-3 py-1 rounded-full inline-block mr-2 mb-2">Alternative Compounds</div>
428
+ <div class="text-xs bg-green-50 text-green-700 px-3 py-1 rounded-full inline-block">Microbiome Interactions</div>
429
  </div>
430
+
431
+ <div class="bg-white p-6 rounded-xl shadow-sm border border-gray-100">
432
+ <div class="w-12 h-12 bg-purple-100 rounded-full flex items-center justify-center text-purple-600 mb-4">
433
+ <i class="fas fa-chart-network text-xl"></i>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
434
  </div>
435
+ <h3 class="font-medium text-lg mb-2">Visual Knowledge Mapping</h3>
436
+ <p class="text-gray-600 text-sm mb-4">Interactive graphs show how different concepts connect across multiple research domains.</p>
437
+ <div class="flex items-center text-xs text-gray-500 mb-2">
438
+ <div class="w-3 h-3 bg-green-500 rounded-full mr-2"></div>
439
+ <span>Primary search term</span>
440
+ </div>
441
+ <div class="flex items-center text-xs text-gray-500 mb-2">
442
+ <div class="w-3 h-3 bg-blue-500 rounded-full mr-2"></div>
443
+ <span>Directly related concepts</span>
444
+ </div>
445
+ <div class="flex items-center text-xs text-gray-500">
446
+ <div class="w-3 h-3 bg-orange-500 rounded-full mr-2"></div>
447
+ <span>Secondary relationships</span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
448
  </div>
449
  </div>
450
  </div>
451
+
452
+ <div class="text-center">
453
+ <button class="bg-green-600 text-white px-6 py-2 rounded-full text-sm font-medium hover:bg-green-700 transition-colors">
454
+ <i class="fas fa-database mr-2"></i> View All Database Connections
 
 
 
 
 
 
 
 
 
 
 
 
455
  </button>
456
  </div>
457
  </div>
458
  </section>
459
 
460
+ <!-- Footer -->
461
  <footer class="bg-gray-900 text-white py-12">
462
  <div class="container mx-auto px-6">
463
  <div class="grid md:grid-cols-4 gap-8 mb-8">
464
  <div>
465
+ <h3 class="text-lg font-medium mb-4 flex items-center">
466
+ <i class="fas fa-brain mr-2" aria-hidden="true"></i> HealthExplorer AI
467
  </h3>
468
+ <p class="text-gray-400 text-sm">
469
+ Advanced research discovery through intelligent database integration.
470
  </p>
471
  </div>
472
  <div>
473
+ <h4 class="font-medium mb-4 text-sm">Research Tools</h4>
474
  <ul class="space-y-2">
475
+ <li><a href="#" class="text-gray-400 hover:text-white transition-colors text-sm">Knowledge Graph</a></li>
476
+ <li><a href="#" class="text-gray-400 hover:text-white transition-colors text-sm">Database Cross-Reference</a></li>
477
+ <li><a href="#" class="text-gray-400 hover:text-white transition-colors text-sm">AI Suggestions</a></li>
 
478
  </ul>
479
  </div>
480
  <div>
481
+ <h4 class="font-medium mb-4 text-sm">Databases</h4>
482
  <ul class="space-y-2">
483
+ <li><a href="#" class="text-gray-400 hover:text-white transition-colors text-sm">Molecular Biology</a></li>
484
+ <li><a href="#" class="text-gray-400 hover:text-white transition-colors text-sm">Nutrition Science</a></li>
485
+ <li><a href="#" class="text-gray-400 hover:text-white transition-colors text-sm">Herbal Research</a></li>
 
486
  </ul>
487
  </div>
488
  <div>
489
+ <h4 class="font-medium mb-4 text-sm">Connect</h4>
490
  <div class="flex space-x-4 mb-4">
491
+ <a href="#" target="_blank" class="w-8 h-8 bg-gray-800 rounded-full flex items-center justify-center hover:bg-green-600 transition-colors focus:outline-none" aria-label="Twitter">
492
+ <i class="fab fa-twitter text-xs" aria-hidden="true"></i>
493
  </a>
494
+ <a href="#" target="_blank" class="w-8 h-8 bg-gray-800 rounded-full flex items-center justify-center hover:bg-green-600 transition-colors focus:outline-none" aria-label="LinkedIn">
495
+ <i class="fab fa-linkedin-in text-xs" aria-hidden="true"></i>
496
  </a>
497
+ <a href="#" target="_blank" class="w-8 h-8 bg-gray-800 rounded-full flex items-center justify-center hover:bg-green-600 transition-colors focus:outline-none" aria-label="Github">
498
+ <i class="fab fa-github text-xs" aria-hidden="true"></i>
499
  </a>
500
  </div>
501
+ <p class="text-gray-400 text-sm">research@healthexplorer.ai</p>
502
  </div>
503
  </div>
504
+ <div class="pt-8 border-t border-gray-800 text-center text-gray-400 text-xs">
505
+ <p>© 2024 HealthExplorer AI. Advanced research discovery platform.</p>
506
  </div>
507
  </div>
508
  </footer>
509
 
510
  <script>
511
+ // Extended sample data with cross-database relationships
512
+ const sampleResults = [
513
+ {
514
+ id: 'res1',
515
+ title: "Curcumin's Anti-Inflammatory Mechanisms",
516
+ source: "PubMed Central",
517
+ year: "2023",
518
+ type: "Review Article",
519
+ databases: ["PubMed", "PubChem", "Clinical Trials"],
520
+ snippet: "Comprehensive review of curcumin's anti-inflammatory mechanisms through NF-κB pathway inhibition and clinical applications in chronic inflammatory conditions.",
521
+ link: "https://www.ncbi.nlm.nih.gov/pmc/articles/example",
522
+ relevance: 98,
523
+ categories: ["herbal", "nutrition"],
524
+ related: ["res2", "res3", "res5", "res8"],
525
+ compounds: ["Curcumin", "Turmeric"],
526
+ pathways: ["NF-κB", "COX-2"],
527
+ genes: ["TNF", "IL6"]
528
+ },
529
+ {
530
+ id: 'res2',
531
+ title: "Microbiome Modulation by Curcumin",
532
+ source: "Human Microbiome Project",
533
+ year: "2022",
534
+ type: "Research Study",
535
+ databases: ["Microbiome", "NCBI", "PubMed"],
536
+ snippet: "Study showing curcumin's impact on gut microbiota diversity and its correlation with reduced systemic inflammation markers in human subjects.",
537
+ link: "https://hmpdacc.org/example",
538
+ relevance: 95,
539
+ categories: ["microbiome", "nutrition"],
540
+ related: ["res1", "res4", "res6"],
541
+ bacteria: ["Bacteroides", "Lactobacillus"],
542
+ metabolites: ["Butyrate"]
543
+ },
544
+ {
545
+ id: 'res3',
546
+ title: "Curcumin Chemical Properties & Bioavailability",
547
+ source: "PubChem",
548
+ year: "2023",
549
+ type: "Chemical Database",
550
+ databases: ["PubChem", "FoodData"],
551
+ snippet: "Detailed chemical properties, solubility, and known biological activities of curcumin (diferuloylmethane), including bioavailability enhancement methods.",
552
+ link: "https://pubchem.ncbi.nlm.nih.gov/compound/curcumin",
553
+ relevance: 92,
554
+ categories: ["nutrition"],
555
+ related: ["res1", "res7"],
556
+ solubility: "Lipophilic",
557
+ bioavailability: "Low (enhanced with piperine)"
558
+ },
559
+ {
560
+ id: 'res4',
561
+ title: "Traditional Uses of Turmeric",
562
+ source: "Dr. Duke's Phytochemical",
563
+ year: "2021",
564
+ type: "Ethnobotanical Database",
565
+ databases: ["Phytochemical", "PubMed"],
566
+ snippet: "Documentation of turmeric's traditional uses in Ayurvedic medicine for inflammatory conditions, wound healing, and digestive disorders.",
567
+ link: "https://phytochem.nal.usda.gov/example",
568
+ relevance: 89,
569
+ categories: ["herbal"],
570
+ related: ["res1", "res5"],
571
+ traditionalUses: ["Inflammation", "Digestion", "Wound Healing"]
572
+ },
573
+ {
574
+ id: 'res5',
575
+ title: "Curcumin Clinical Trials for IBD",
576
+ source: "ClinicalTrials.gov",
577
+ year: "2022",
578
+ type: "Clinical Trial",
579
+ databases: ["Clinical Trials", "PubMed"],
580
+ snippet: "Randomized controlled trial examining curcumin's effects on inflammatory bowel disease symptoms and biomarkers.",
581
+ link: "https://clinicaltrials.gov/example",
582
+ relevance: 94,
583
+ categories: ["clinical"],
584
+ related: ["res1", "res2", "res8"],
585
+ conditions: ["Crohn's Disease", "Ulcerative Colitis"],
586
+ outcomes: ["Reduced CRP", "Improved symptoms"]
587
+ },
588
+ {
589
+ id: 'res6',
590
+ title: "Gut Microbiota and Inflammation Pathways",
591
+ source: "NCBI Gene",
592
+ year: "2023",
593
+ type: "Genomic Study",
594
+ databases: ["NCBI", "Microbiome"],
595
+ snippet: "Analysis of how specific gut bacteria influence inflammatory pathways relevant to autoimmune conditions.",
596
+ link: "https://www.ncbi.nlm.nih.gov/gene/example",
597
+ relevance: 90,
598
+ categories: ["microbiome"],
599
+ related: ["res2", "res7"],
600
+ genes: ["TLR4", "NOD2"],
601
+ bacteria: ["E. coli", "B. fragilis"]
602
+ },
603
+ {
604
+ id: 'res7',
605
+ title: "Piperine Enhancement of Curcumin Bioavailability",
606
+ source: "FoodData Central",
607
+ year: "2021",
608
+ type: "Nutrition Study",
609
+ databases: ["FoodData", "PubChem"],
610
+ snippet: "Study demonstrating how piperine from black pepper enhances curcumin bioavailability by 2000% through metabolic pathway modulation.",
611
+ link: "https://fdc.nal.usda.gov/example",
612
+ relevance: 93,
613
+ categories: ["nutrition"],
614
+ related: ["res1", "res3"],
615
+ compounds: ["Piperine", "Curcumin"],
616
+ mechanism: "Inhibition of glucuronidation"
617
+ },
618
+ {
619
+ id: 'res8',
620
+ title: "Comparative Analysis of Anti-Inflammatory Compounds",
621
+ source: "PubMed",
622
+ year: "2023",
623
+ type: "Meta-Analysis",
624
+ databases: ["PubMed", "PubChem", "Clinical Trials"],
625
+ snippet: "Systematic comparison of curcumin, resveratrol, and other natural compounds' anti-inflammatory efficacy across clinical studies.",
626
+ link: "https://pubmed.ncbi.nlm.nih.gov/example",
627
+ relevance: 96,
628
+ categories: ["clinical", "nutrition"],
629
+ related: ["res1", "res5"],
630
+ compounds: ["Curcumin", "Resveratrol", "Quercetin"],
631
+ conclusion: "Curcumin shows strongest evidence for chronic inflammation"
632
+ },
633
+ {
634
+ id: 'res9',
635
+ title: "Curcumin Metabolites and Microbiome Interactions",
636
+ source: "Microbiome Journal",
637
+ year: "2023",
638
+ type: "Research Paper",
639
+ databases: ["Microbiome", "PubChem"],
640
+ snippet: "Identification of specific curcumin metabolites produced by gut bacteria and their anti-inflammatory effects on intestinal epithelium.",
641
+ link: "https://microbiomejournal.com/example",
642
+ relevance: 91,
643
+ categories: ["microbiome"],
644
+ related: ["res1", "res2", "res6"],
645
+ metabolites: ["Tetrahydrocurcumin", "Hexahydrocurcumin"],
646
+ effects: ["Reduced IL-8", "Improved barrier function"]
647
+ },
648
+ {
649
+ id: 'res10',
650
+ title: "Traditional Preparation Methods for Turmeric",
651
+ source: "Ethnobotanical Database",
652
+ year: "2020",
653
+ type: "Cultural Study",
654
+ databases: ["Phytochemical", "FoodData"],
655
+ snippet: "Analysis of traditional preparation methods that enhance turmeric's bioavailability and therapeutic effects in various cultural practices.",
656
+ link: "https://ethnobotany.org/example",
657
+ relevance: 87,
658
+ categories: ["herbal"],
659
+ related: ["res1", "res4", "res7"],
660
+ methods: ["Heating with fats", "Combination with pepper"]
661
+ }
662
+ ];
663
+
664
+ // AI Suggestions based on search patterns
665
+ const aiSuggestions = [
666
+ {
667
+ title: "Explore Related Metabolic Pathways",
668
+ description: "Curcumin interacts with multiple inflammatory pathways including NF-κB, COX-2, and LOX. View the complete pathway map.",
669
+ icon: "fas fa-project-diagram",
670
+ color: "text-blue-500",
671
+ action: "View Pathways"
672
+ },
673
+ {
674
+ title: "Compare with Similar Compounds",
675
+ description: "Resveratrol and quercetin share some anti-inflammatory mechanisms with curcumin. See comparative effectiveness data.",
676
+ icon: "fas fa-balance-scale",
677
+ color: "text-purple-500",
678
+ action: "Compare Compounds"
679
+ },
680
+ {
681
+ title: "Microbiome Interaction Analysis",
682
+ description: "View how curcumin metabolites produced by gut bacteria contribute to its systemic effects.",
683
+ icon: "fas fa-bacterium",
684
+ color: "text-green-500",
685
+ action: "Analyze Interactions"
686
+ },
687
+ {
688
+ title: "Bioavailability Enhancement Methods",
689
+ description: "Discover formulations and combinations that significantly improve curcumin absorption.",
690
+ icon: "fas fa-chart-line",
691
+ color: "text-orange-500",
692
+ action: "View Methods"
693
+ }
694
+ ];
695
+
696
  document.addEventListener('DOMContentLoaded', function() {
697
+ // Typewriter effect
698
+ const phrases = [
699
+ "Cross-Referencing Scientific Research",
700
+ "AI-Powered Database Connections",
701
+ "Holistic Health Insights",
702
+ "Interdisciplinary Research Discovery"
703
+ ];
704
+
705
+ let currentPhrase = 0;
706
+ let currentChar = 0;
707
+ let isDeleting = false;
708
+ let isEnd = false;
709
+
710
+ function typeWriter() {
711
+ const typewriterElement = document.querySelector('.typewriter');
712
+ if (!typewriterElement) return;
713
 
714
+ const currentText = phrases[currentPhrase];
 
 
 
 
 
715
 
716
+ if (isDeleting) {
717
+ typewriterElement.textContent = currentText.substring(0, currentChar - 1);
718
+ currentChar--;
719
+ } else {
720
+ typewriterElement.textContent = currentText.substring(0, currentChar + 1);
721
+ currentChar++;
722
+ }
723
 
724
+ if (!isDeleting && currentChar === currentText.length) {
725
+ isEnd = true;
726
+ isDeleting = true;
727
+ setTimeout(typeWriter, 2000);
728
+ } else if (isDeleting && currentChar === 0) {
729
+ isDeleting = false;
730
+ currentPhrase = (currentPhrase + 1) % phrases.length;
731
+ setTimeout(typeWriter, 500);
732
+ } else {
733
+ const speed = isDeleting ? 50 : 100;
734
+ setTimeout(typeWriter, speed);
735
+ }
736
+ }
737
+
738
+ setTimeout(typeWriter, 1000);
739
+
740
+ // Database filter toggles
741
+ const dbFilters = document.querySelectorAll('#databaseFilters input[type="checkbox"]');
742
+ dbFilters.forEach(filter => {
743
+ filter.addEventListener('change', function() {
744
+ const parent = this.parentElement;
745
+ if (this.checked) {
746
+ parent.classList.add('bg-blue-50', 'text-blue-700', 'border-blue-200');
747
  } else {
748
+ parent.classList.remove('bg-blue-50', 'text-blue-700', 'border-blue-200');
 
749
  }
750
+ });
751
+ });
752
+
753
+ // Search functionality
754
+ document.getElementById('healthSearchButton').addEventListener('click', performSearch);
755
+ document.getElementById('healthSearchInput').addEventListener('keypress', function(e) {
756
+ if (e.key === 'Enter') {
757
+ performSearch();
758
+ }
759
+ });
760
+
761
+ function performSearch() {
762
+ const searchTerm = document.getElementById('healthSearchInput').value.trim();
763
+ if (searchTerm) {
764
+ // Show loading state
765
+ const searchButton = document.getElementById('healthSearchButton');
766
+ const originalButtonText = searchButton.innerHTML;
767
+ searchButton.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i> Analyzing...';
768
+ searchButton.disabled = true;
769
 
770
+ // In a real app, this would be API calls to the various databases
771
+ // For this demo, we'll use setTimeout to simulate network delay
772
+ setTimeout(() => {
773
+ // Display results
774
+ displayResults(searchTerm);
775
+
776
+ // Restore button
777
+ searchButton.innerHTML = originalButtonText;
778
+ searchButton.disabled = false;
779
+ }, 1500);
 
 
780
  }
781
+ }
782
+
783
+ function displayResults(searchTerm) {
784
+ const resultsContainer = document.getElementById('resultsContainer');
785
+ const resultCountElement = document.getElementById('resultCount');
786
+ const dbCountElement = document.getElementById('dbCount');
787
+ const searchResultsSection = document.getElementById('searchResults');
788
+ const aiSuggestionsSection = document.getElementById('aiSuggestions');
789
+ const suggestionsContainer = document.getElementById('suggestionsContainer');
790
+
791
+ // Clear previous results
792
+ resultsContainer.innerHTML = '';
793
+ suggestionsContainer.innerHTML = '';
794
+
795
+ // Filter sample results (in real app, this would be done server-side)
796
+ const filteredResults = sampleResults.filter(result =>
797
+ result.title.toLowerCase().includes(searchTerm.toLowerCase()) ||
798
+ result.snippet.toLowerCase().includes(searchTerm.toLowerCase()) ||
799
+ (result.compounds && result.compounds.some(c => c.toLowerCase().includes(searchTerm.toLowerCase())))
800
+ );
801
+
802
+ // Count unique databases
803
+ const uniqueDBs = new Set();
804
+ filteredResults.forEach(result => {
805
+ result.databases.forEach(db => uniqueDBs.add(db));
806
+ });
807
+
808
+ // Update result counts
809
+ resultCountElement.textContent = filteredResults.length;
810
+ dbCountElement.textContent = uniqueDBs.size;
811
+
812
+ // Display each result
813
+ filteredResults.forEach(result => {
814
+ const resultElement = document.createElement('div');
815
+ resultElement.className = 'result-card bg-white p-5 rounded-lg shadow-sm border border-gray-100';
816
+ resultElement.innerHTML = `
817
+ <div class="flex justify-between items-start mb-2">
818
+ <div class="font-medium text-gray-800">${result.title}</div>
819
+ <div class="text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full">${result.relevance}% relevance</div>
820
+ </div>
821
+ <div class="text-gray-500 text-xs mb-3">${result.source} • ${result.year} ${result.type}</div>
822
+ <div class="flex flex-wrap text-xs mb-3">
823
+ ${result.databases.map(db =>
824
+ `<span class="database-chip"><i class="fas fa-database"></i> ${db}</span>`
825
+ ).join('')}
826
+ </div>
827
+ <p class="text-gray-600 text-sm mb-4">${result.snippet}</p>
828
+ <div class="flex flex-wrap gap-2 mb-3">
829
+ ${result.categories.map(cat =>
830
+ `<span class="text-xs px-2 py-1 rounded-full ${getCategoryColor(cat)}">${cat}</span>`
831
+ ).join('')}
832
+ </div>
833
+ <a href="${result.link}" target="_blank" class="text-green-600 text-sm font-medium inline-flex items-center">
834
+ View in ${result.databases[0]} <i class="fas fa-external-link-alt ml-1 text-xs"></i>
835
+ </a>
836
+ `;
837
+ resultsContainer.appendChild(resultElement);
838
+ });
839
+
840
+ // Display AI suggestions
841
+ aiSuggestions.forEach(suggestion => {
842
+ const suggestionElement = document.createElement('div');
843
+ suggestionElement.className = 'suggestion-card bg-white p-4 rounded-lg shadow-sm border border-gray-100 mb-4';
844
+ suggestionElement.innerHTML = `
845
+ <div class="flex items-start mb-2">
846
+ <div class="${suggestion.color} text-lg mr-3 mt-1">
847
+ <i class="${suggestion.icon}"></i>
848
+ </div>
849
+ <div>
850
+ <h4 class="font-medium text-gray-800">${suggestion.title}</h4>
851
+ <p class="text-gray-600 text-sm">${suggestion.description}</p>
852
+ </div>
853
+ </div>
854
+ <button class="text-xs bg-gray-100 hover:bg-gray-200 text-gray-700 px-3 py-1 rounded-full mt-2 transition-colors">
855
+ ${suggestion.action} <i class="fas fa-arrow-right ml-1"></i>
856
+ </button>
857
+ `;
858
+ suggestionsContainer.appendChild(suggestionElement);
859
+ });
860
 
861
+ // Create knowledge graph
862
+ createKnowledgeGraph(filteredResults);
863
+
864
+ // Show results and suggestions sections
865
+ searchResultsSection.classList.remove('hidden');
866
+ aiSuggestionsSection.classList.remove('hidden');
867
+
868
+ // Scroll to results
869
+ searchResultsSection.scrollIntoView({ behavior: 'smooth' });
870
  }
871
 
872
+ function getCategoryColor(category) {
873
+ switch(category) {
874
+ case 'microbiome': return 'bg-purple-100 text-purple-800';
875
+ case 'nutrition': return 'bg-blue-100 text-blue-800';
876
+ case 'herbal': return 'bg-green-100 text-green-800';
877
+ case 'clinical': return 'bg-orange-100 text-orange-800';
878
+ default: return 'bg-gray-100 text-gray-800';
 
 
 
 
 
879
  }
880
+ }
881
+
882
+ function createKnowledgeGraph(results) {
883
+ const graphContainer = document.getElementById('knowledgeGraph');
884
+ graphContainer.innerHTML = '';
885
 
886
+ // Create nodes for each result
887
+ const nodes = [];
888
+ const centerX = graphContainer.offsetWidth / 2;
889
+ const centerY = graphContainer.offsetHeight / 2;
890
+ const radius = Math.min(centerX, centerY) * 0.8;
891
+
892
+ // Add main node (search term)
893
+ const mainNode = document.createElement('div');
894
+ mainNode.className = 'graph-node bg-green-500';
895
+ mainNode.style.left = `${centerX - 40}px`;
896
+ mainNode.style.top = `${centerY - 40}px`;
897
+ mainNode.textContent = 'Curcumin';
898
+ nodes.push({ element: mainNode, id: 'main', x: centerX, y: centerY });
899
+ graphContainer.appendChild(mainNode);
900
+
901
+ // Add result nodes in a circle around main node
902
+ const angleStep = (2 * Math.PI) / results.length;
903
+ results.forEach((result, index) => {
904
+ const angle = index * angleStep;
905
+ const x = centerX + radius * Math.cos(angle) - 40;
906
+ const y = centerY + radius * Math.sin(angle) - 40;
907
+
908
+ const node = document.createElement('div');
909
+ node.className = 'graph-node bg-blue-500';
910
+ node.style.left = `${x}px`;
911
+ node.style.top = `${y}px`;
912
+ node.textContent = result.source.split(' ')[0];
913
+
914
+ // Add relevance badge
915
+ const badge = document.createElement('div');
916
+ badge.className = 'relevance-badge';
917
+ badge.textContent = result.relevance.toString().charAt(0);
918
+ node.appendChild(badge);
919
+
920
+ nodes.push({ element: node, id: result.id, x: x + 40, y: y + 40 });
921
+ graphContainer.appendChild(node);
922
+
923
+ // Create line to main node
924
+ const line = document.createElement('div');
925
+ line.className = 'graph-line';
926
+ const length = Math.sqrt(Math.pow(x + 40 - centerX, 2) + Math.pow(y + 40 - centerY, 2));
927
+ const lineAngle = Math.atan2(y + 40 - centerY, x + 40 - centerX);
928
+ line.style.width = `${length}px`;
929
+ line.style.left = `${centerX}px`;
930
+ line.style.top = `${centerY}px`;
931
+ line.style.transform = `rotate(${lineAngle}rad)`;
932
+ graphContainer.appendChild(line);
933
+ });
934
+
935
+ // Add interactivity to nodes
936
+ nodes.forEach(node => {
937
+ node.element.addEventListener('click', function() {
938
+ // Highlight this node and connected nodes
939
+ nodes.forEach(n => {
940
+ n.element.style.transform = '';
941
+ n.element.style.zIndex = '';
942
+ });
943
+
944
+ this.style.transform = 'scale(1.2)';
945
+ this.style.zIndex = '10';
946
+
947
+ // In a real app, this would show details for the selected node
948
  });
949
+ });
950
  }
951
 
952
+ // Tab switching functionality
953
+ const tabButtons = document.querySelectorAll('.tab-button');
954
+ tabButtons.forEach(button => {
955
+ button.addEventListener('click', function() {
956
+ // Remove active state from all buttons
957
+ tabButtons.forEach(btn => {
958
+ btn.classList.remove('border-b-2', 'border-green-500', 'text-green-600');
959
+ btn.classList.add('text-gray-500');
960
+ });
961
+
962
+ // Add active state to clicked button
963
+ this.classList.add('border-b-2', 'border-green-500', 'text-green-600');
964
+ this.classList.remove('text-gray-500');
965
+
966
+ // In a real app, this would filter the results by category
967
+ });
968
+ });
969
  });
970
  </script>
971
  <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Neomyst/microbiome-explorer" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>