bybrawe commited on
Commit
7dafec3
·
verified ·
1 Parent(s): 2970595

Add 1 files

Browse files
Files changed (1) hide show
  1. index.html +1091 -137
index.html CHANGED
@@ -7,14 +7,16 @@
7
  <script src="https://cdn.tailwindcss.com"></script>
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
  <style>
10
- @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Rajdhani:wght@300;500;700&display=swap');
11
 
12
  :root {
13
  --neon-pink: #ff2a6d;
14
  --neon-blue: #05d9e8;
15
  --neon-purple: #d300c5;
 
16
  --dark-bg: #0d0221;
17
  --darker-bg: #02010a;
 
18
  }
19
 
20
  body {
@@ -22,10 +24,12 @@
22
  background-color: var(--dark-bg);
23
  color: white;
24
  overflow-x: hidden;
 
25
  }
26
 
27
  h1, h2, h3, .font-orbitron {
28
  font-family: 'Orbitron', sans-serif;
 
29
  }
30
 
31
  .neon-text-pink {
@@ -38,6 +42,11 @@
38
  text-shadow: 0 0 5px var(--neon-blue), 0 0 10px var(--neon-blue);
39
  }
40
 
 
 
 
 
 
41
  .neon-border-pink {
42
  border: 2px solid var(--neon-pink);
43
  box-shadow: 0 0 10px var(--neon-pink), inset 0 0 10px var(--neon-pink);
@@ -49,11 +58,15 @@
49
  }
50
 
51
  .glow-pink {
52
- animation: glow-pink 2s infinite alternate;
53
  }
54
 
55
  .glow-blue {
56
- animation: glow-blue 2s infinite alternate;
 
 
 
 
57
  }
58
 
59
  @keyframes glow-pink {
@@ -61,7 +74,7 @@
61
  box-shadow: 0 0 5px var(--neon-pink);
62
  }
63
  to {
64
- box-shadow: 0 0 20px var(--neon-pink);
65
  }
66
  }
67
 
@@ -70,7 +83,16 @@
70
  box-shadow: 0 0 5px var(--neon-blue);
71
  }
72
  to {
73
- box-shadow: 0 0 20px var(--neon-blue);
 
 
 
 
 
 
 
 
 
74
  }
75
  }
76
 
@@ -101,7 +123,7 @@
101
  }
102
 
103
  .flicker {
104
- animation: flicker 5s infinite alternate;
105
  }
106
 
107
  @keyframes flicker {
@@ -109,13 +131,22 @@
109
  opacity: 1;
110
  }
111
  20%, 22%, 24%, 55% {
112
- opacity: 0.5;
 
 
 
 
 
 
 
 
 
113
  }
114
  }
115
 
116
  .stock-up {
117
- color: #00ff00;
118
- text-shadow: 0 0 5px #00ff00;
119
  }
120
 
121
  .stock-down {
@@ -130,16 +161,30 @@
130
  }
131
 
132
  .grid-bg {
 
133
  background-image:
134
- linear-gradient(rgba(5, 217, 232, 0.1) 1px, transparent 1px),
135
- linear-gradient(90deg, rgba(5, 217, 232, 0.1) 1px, transparent 1px);
136
  background-size: 20px 20px;
 
 
 
 
 
 
 
 
 
 
 
 
137
  }
138
 
139
  .cyber-button {
140
  transition: all 0.3s;
141
  position: relative;
142
  overflow: hidden;
 
143
  }
144
 
145
  .cyber-button:hover {
@@ -156,6 +201,7 @@
156
  height: 100%;
157
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
158
  transition: all 0.5s;
 
159
  }
160
 
161
  .cyber-button:hover::before {
@@ -177,18 +223,411 @@
177
  opacity: 0.7;
178
  }
179
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
180
  </style>
181
  </head>
182
  <body class="min-h-screen grid-bg">
183
  <div class="scanline"></div>
 
 
 
 
 
184
 
185
- <!-- Header -->
186
- <header class="bg-black bg-opacity-80 border-b border-neon-blue py-4 px-6 flex justify-between items-center neon-border-blue">
187
  <div class="flex items-center space-x-4">
188
  <div class="w-12 h-12 bg-neon-pink rounded-full glow-pink flex items-center justify-center">
189
  <i class="fas fa-chart-line text-xl text-white"></i>
190
  </div>
191
- <h1 class="text-3xl font-bold neon-text-pink flicker">NEON TRADER 2077</h1>
192
  </div>
193
 
194
  <div class="flex items-center space-x-6">
@@ -198,137 +637,257 @@
198
  </div>
199
  <div class="text-center">
200
  <p class="text-xs text-gray-400">NET WORTH</p>
201
- <p class="text-xl neon-text-pink font-orbitron">₡ 1,245,890</p>
202
  </div>
203
- <div class="w-10 h-10 rounded-full bg-neon-blue bg-opacity-30 flex items-center justify-center neon-border-blue cursor-pointer hover:bg-opacity-50 transition">
204
- <i class="fas fa-user neon-text-blue"></i>
 
 
 
 
 
 
 
 
 
 
 
 
205
  </div>
206
  </div>
 
 
 
207
  </header>
208
 
209
- <main class="container mx-auto px-4 py-6">
210
  <div class="grid grid-cols-1 lg:grid-cols-4 gap-6">
211
  <!-- Left sidebar -->
212
  <div class="lg:col-span-1 space-y-6">
213
- <!-- Portfolio Summary -->
214
- <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-pink">
215
- <h2 class="text-xl neon-text-pink font-orbitron mb-4">PORTFOLIO</h2>
216
-
217
- <div class="space-y-3">
218
- <div class="flex justify-between items-center">
219
- <span class="text-gray-400">Total Value:</span>
220
- <span class="neon-text-blue font-bold">₡ 1,245,890</span>
221
- </div>
222
- <div class="flex justify-between items-center">
223
- <span class="text-gray-400">Day Change:</span>
224
- <span class="text-green-400 font-bold">+₡ 24,560 (+2.01%)</span>
225
- </div>
226
- <div class="flex justify-between items-center">
227
- <span class="text-gray-400">Buying Power:</span>
228
- <span class="neon-text-blue font-bold">₡ 245,890</span>
 
 
 
 
 
229
  </div>
230
- </div>
231
-
232
- <div class="mt-6">
233
- <h3 class="text-sm text-gray-400 mb-2">ASSET DISTRIBUTION</h3>
234
- <div class="h-2 w-full bg-gray-800 rounded-full mb-2">
235
- <div class="h-2 rounded-full bg-gradient-to-r from-neon-pink to-neon-purple" style="width: 65%;"></div>
 
 
 
 
236
  </div>
237
- <div class="flex justify-between text-xs">
238
- <span class="neon-text-pink">Stocks (65%)</span>
239
- <span class="neon-text-blue">Crypto (35%)</span>
 
 
240
  </div>
241
  </div>
242
  </div>
243
 
244
- <!-- Quick Actions -->
245
  <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-blue">
246
  <h2 class="text-xl neon-text-blue font-orbitron mb-4">QUICK ACTIONS</h2>
247
 
248
  <div class="grid grid-cols-2 gap-3">
249
- <button class="cyber-button bg-neon-pink bg-opacity-20 text-white py-2 px-3 rounded-md neon-border-pink neon-text-pink">
250
  <i class="fas fa-arrow-up mr-2"></i> Buy
251
  </button>
252
- <button class="cyber-button bg-red-500 bg-opacity-20 text-white py-2 px-3 rounded-md border border-red-500 text-red-400">
253
  <i class="fas fa-arrow-down mr-2"></i> Sell
254
  </button>
255
- <button class="cyber-button bg-neon-blue bg-opacity-20 text-white py-2 px-3 rounded-md neon-border-blue neon-text-blue">
256
  <i class="fas fa-exchange-alt mr-2"></i> Trade
257
  </button>
258
- <button class="cyber-button bg-purple-500 bg-opacity-20 text-white py-2 px-3 rounded-md border border-purple-500 text-purple-400">
259
  <i class="fas fa-coins mr-2"></i> Crypto
260
  </button>
261
  </div>
 
 
 
 
 
 
 
 
 
 
 
262
  </div>
263
 
264
- <!-- News Feed -->
265
  <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-pink">
266
- <h2 class="text-xl neon-text-pink font-orbitron mb-4">CYBER NEWS</h2>
 
 
 
 
 
 
 
 
 
267
 
268
- <div class="space-y-4">
269
- <div class="border-b border-gray-800 pb-3">
270
- <p class="text-xs text-gray-400">10:45 AM</p>
271
- <p class="text-sm neon-text-blue">Arasaka Corp announces breakthrough in neural interface tech</p>
 
 
 
 
 
 
 
 
 
 
272
  </div>
273
- <div class="border-b border-gray-800 pb-3">
274
- <p class="text-xs text-gray-400">09:30 AM</p>
275
- <p class="text-sm neon-text-blue">Militech wins major defense contract</p>
 
 
 
 
 
 
 
 
 
 
 
276
  </div>
277
- <div class="border-b border-gray-800 pb-3">
278
- <p class="text-xs text-gray-400">08:15 AM</p>
279
- <p class="text-sm neon-text-blue">NetWatch reports surge in rogue AIs</p>
 
 
 
 
 
 
 
 
 
 
 
280
  </div>
281
- <div class="pb-2">
282
- <p class="text-xs text-gray-400">07:00 AM</p>
283
- <p class="text-sm neon-text-blue">Night City stock exchange hits record high</p>
 
 
284
  </div>
285
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
286
  </div>
287
  </div>
288
 
289
  <!-- Main Content -->
290
  <div class="lg:col-span-3 space-y-6">
291
- <!-- Market Overview -->
292
  <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-blue">
293
  <div class="flex justify-between items-center mb-4">
294
  <h2 class="text-xl neon-text-blue font-orbitron">MARKET OVERVIEW</h2>
295
- <div class="flex space-x-2">
296
- <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">STOCKS</button>
297
- <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">CRYPTO</button>
298
- <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">FUTURES</button>
299
  </div>
300
  </div>
301
 
302
- <div class="grid grid-cols-2 md:grid-cols-4 gap-4 mb-6">
303
- <div class="bg-gray-900 bg-opacity-50 p-3 rounded-lg border border-gray-800">
304
  <p class="text-xs text-gray-400">NIGHT CITY INDEX</p>
305
  <p class="text-xl neon-text-blue font-orbitron">4,328.76</p>
306
  <p class="text-sm text-green-400">+42.18 (0.98%)</p>
307
  </div>
308
- <div class="bg-gray-900 bg-opacity-50 p-3 rounded-lg border border-gray-800">
309
  <p class="text-xs text-gray-400">TECH SECTOR</p>
310
  <p class="text-xl neon-text-pink font-orbitron">1,845.32</p>
311
  <p class="text-sm text-green-400">+28.45 (1.56%)</p>
312
  </div>
313
- <div class="bg-gray-900 bg-opacity-50 p-3 rounded-lg border border-gray-800">
314
  <p class="text-xs text-gray-400">BTC/USD</p>
315
  <p class="text-xl neon-text-blue font-orbitron">₡ 42,876</p>
316
  <p class="text-sm text-red-400">-1,245.76 (2.82%)</p>
317
  </div>
318
- <div class="bg-gray-900 bg-opacity-50 p-3 rounded-lg border border-gray-800">
319
  <p class="text-xs text-gray-400">ETH/USD</p>
320
  <p class="text-xl neon-text-pink font-orbitron">₡ 2,876</p>
321
  <p class="text-sm text-green-400">+45.32 (1.60%)</p>
322
  </div>
323
  </div>
324
 
325
- <!-- Stock Chart -->
326
- <div class="h-64 bg-gray-900 bg-opacity-50 rounded-lg mb-4 relative overflow-hidden">
327
- <!-- This would be a chart in a real app - using a placeholder here -->
328
- <div class="absolute inset-0 flex items-center justify-center">
329
- <div class="terminal-text text-opacity-50">[ LIVE PRICE CHART ]</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
330
  </div>
331
- <div class="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-neon-pink via-neon-blue to-neon-purple"></div>
332
  </div>
333
 
334
  <div class="flex justify-between items-center">
@@ -337,23 +896,44 @@
337
  <button class="cyber-button bg-neon-blue bg-opacity-20 text-white text-xs py-1 px-3 rounded-md neon-border-blue">1W</button>
338
  <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">1M</button>
339
  <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">1Y</button>
 
340
  </div>
341
  <div class="text-xs text-gray-400">
342
- <span class="neon-text-blue">ARAS</span> |
343
- <span class="neon-text-pink">MILT</span> |
344
- <span class="neon-text-blue">KANG</span> |
345
- <span class="neon-text-pink">NETW</span>
 
346
  </div>
347
  </div>
348
  </div>
349
 
350
- <!-- Watchlist -->
351
  <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-pink">
352
  <div class="flex justify-between items-center mb-4">
353
- <h2 class="text-xl neon-text-pink font-orbitron">WATCHLIST</h2>
354
- <div class="relative">
355
- <input type="text" placeholder="Search assets..." class="bg-gray-900 bg-opacity-50 text-white text-sm py-1 px-3 pr-8 rounded-md border border-gray-800 focus:outline-none focus:border-neon-blue">
356
- <i class="fas fa-search absolute right-3 top-2 text-gray-500"></i>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
357
  </div>
358
  </div>
359
 
@@ -366,6 +946,7 @@
366
  <th class="pb-2">CHANGE</th>
367
  <th class="pb-2">% CHANGE</th>
368
  <th class="pb-2">VOLUME</th>
 
369
  <th class="pb-2">ACTIONS</th>
370
  </tr>
371
  </thead>
@@ -374,28 +955,183 @@
374
  </tbody>
375
  </table>
376
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
  </div>
378
  </div>
379
  </div>
380
  </main>
381
 
382
- <!-- Footer -->
383
  <footer class="bg-black bg-opacity-80 border-t border-neon-blue py-3 px-6 neon-border-blue mt-6">
384
  <div class="flex justify-between items-center">
385
  <div class="flex items-center space-x-4">
386
  <div class="flex items-center space-x-1">
387
- <div class="w-2 h-2 rounded-full bg-green-500 pulse"></div>
388
  <span class="text-xs text-gray-400">CONNECTED</span>
389
  </div>
390
- <span class="text-xs text-gray-400">LATENCY: <span class="neon-text-blue">28ms</span></span>
391
  <span class="text-xs text-gray-400">API: <span class="neon-text-pink">v3.2.7</span></span>
 
392
  </div>
393
  <div class="text-xs text-gray-400">
394
- <span class="neon-text-blue">NEON TRADER 2077</span> | SECURE TRADING TERMINAL | <span class="neon-text-pink">ENCRYPTED</span>
395
  </div>
396
  </div>
397
  </footer>
398
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
399
  <script>
400
  // Update current time
401
  function updateTime() {
@@ -407,17 +1143,51 @@
407
  setInterval(updateTime, 1000);
408
  updateTime();
409
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
410
  // Sample stock data
411
  const stocks = [
412
- { symbol: 'ARAS', name: 'Arasaka Corp', price: 245.67, change: 3.45, percentChange: 1.42, volume: '4.5M' },
413
- { symbol: 'MILT', name: 'Militech Intl', price: 187.32, change: -2.34, percentChange: -1.23, volume: '3.2M' },
414
- { symbol: 'KANG', name: 'Kang Tao Arms', price: 92.45, change: 1.87, percentChange: 2.06, volume: '1.8M' },
415
- { symbol: 'NETW', name: 'NetWatch', price: 156.78, change: 5.67, percentChange: 3.75, volume: '2.7M' },
416
- { symbol: 'BIOT', name: 'Biotechnica', price: 78.23, change: -0.45, percentChange: -0.57, volume: '1.2M' },
417
- { symbol: 'TRAU', name: 'Trauma Team', price: 134.56, change: 2.34, percentChange: 1.77, volume: '2.1M' },
418
- { symbol: 'ZETT', name: 'Zetatech', price: 67.89, change: -1.23, percentChange: -1.78, volume: '3.5M' },
419
- { symbol: 'BTC', name: 'Bitcoin', price: 42876, change: -1245, percentChange: -2.82, volume: '24.5K' },
420
- { symbol: 'ETH', name: 'Ethereum', price: 2876, change: 45, percentChange: 1.60, volume: '18.7K' }
421
  ];
422
 
423
  // Render stock table
@@ -433,6 +1203,15 @@
433
  const changeClass = stock.change >= 0 ? 'stock-up' : 'stock-down';
434
  const changeSymbol = stock.change >= 0 ? '+' : '';
435
 
 
 
 
 
 
 
 
 
 
436
  row.innerHTML = `
437
  <td class="py-3">
438
  <div class="font-bold ${isCrypto ? 'neon-text-blue' : 'neon-text-pink'}">${stock.symbol}</div>
@@ -442,13 +1221,19 @@
442
  <td class="py-3 font-orbitron ${changeClass}">${changeSymbol}${stock.change}</td>
443
  <td class="py-3 font-orbitron ${changeClass}">${changeSymbol}${stock.percentChange}%</td>
444
  <td class="py-3 text-gray-400">${stock.volume}</td>
 
 
 
445
  <td class="py-3">
446
  <div class="flex space-x-2">
447
- <button class="cyber-button bg-green-900 bg-opacity-20 text-green-400 text-xs py-1 px-2 rounded border border-green-500">
448
- <i class="fas fa-arrow-up mr-1"></i> Buy
449
  </button>
450
- <button class="cyber-button bg-red-900 bg-opacity-20 text-red-400 text-xs py-1 px-2 rounded border border-red-500">
451
- <i class="fas fa-arrow-down mr-1"></i> Sell
 
 
 
452
  </button>
453
  </div>
454
  </td>
@@ -456,12 +1241,204 @@
456
 
457
  tableBody.appendChild(row);
458
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
459
  }
460
 
461
- renderStockTable();
 
 
 
462
 
463
  // Simulate stock price changes
464
  function simulateMarket() {
 
 
 
 
 
 
 
465
  stocks.forEach(stock => {
466
  // Random price change between -2% and +2%
467
  const changePercent = (Math.random() * 4 - 2) / 100;
@@ -473,6 +1450,10 @@
473
  stock.change = parseFloat(change.toFixed(2));
474
  stock.percentChange = parseFloat(percentChange.toFixed(2));
475
 
 
 
 
 
476
  // Random volume change
477
  const volumeNum = parseFloat(stock.volume.replace(/[MK]/g, ''));
478
  const volumeChange = Math.random() * 0.2 - 0.1; // -10% to +10%
@@ -487,35 +1468,8 @@
487
  stock.volume = newVolume;
488
  });
489
 
490
- renderStockTable();
491
- }
492
-
493
- setInterval(simulateMarket, 5000);
494
-
495
- // Add cyberpunk terminal effect to inputs
496
- document.querySelectorAll('input').forEach(input => {
497
- input.addEventListener('focus', () => {
498
- input.classList.add('neon-border-blue');
499
- input.classList.remove('border-gray-800');
500
- });
501
-
502
- input.addEventListener('blur', () => {
503
- input.classList.remove('neon-border-blue');
504
- input.classList.add('border-gray-800');
505
- });
506
- });
507
-
508
- // Add button hover effects
509
- document.querySelectorAll('.cyber-button').forEach(button => {
510
- button.addEventListener('mouseenter', () => {
511
- const rect = button.getBoundingClientRect();
512
- const x = event.clientX - rect.left;
513
- const y = event.clientY - rect.top;
514
-
515
- button.style.setProperty('--x', `${x}px`);
516
- button.style.setProperty('--y', `${y}px`);
517
- });
518
- });
519
- </script>
520
- <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=bybrawe/neon-trader-2077" style="color: #fff;text-decoration: underline;" target="_blank" >🧬 Remix</a></p></body>
521
  </html>
 
7
  <script src="https://cdn.tailwindcss.com"></script>
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
  <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@300;500;700&display=swap');
11
 
12
  :root {
13
  --neon-pink: #ff2a6d;
14
  --neon-blue: #05d9e8;
15
  --neon-purple: #d300c5;
16
+ --neon-green: #00ff9d;
17
  --dark-bg: #0d0221;
18
  --darker-bg: #02010a;
19
+ --grid-color: rgba(5, 217, 232, 0.1);
20
  }
21
 
22
  body {
 
24
  background-color: var(--dark-bg);
25
  color: white;
26
  overflow-x: hidden;
27
+ cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="7" fill="none" stroke="%2305d9e8" stroke-width="1"/><circle cx="8" cy="8" r="3" fill="%2305d9e8"/></svg>'), auto;
28
  }
29
 
30
  h1, h2, h3, .font-orbitron {
31
  font-family: 'Orbitron', sans-serif;
32
+ letter-spacing: 1px;
33
  }
34
 
35
  .neon-text-pink {
 
42
  text-shadow: 0 0 5px var(--neon-blue), 0 0 10px var(--neon-blue);
43
  }
44
 
45
+ .neon-text-green {
46
+ color: var(--neon-green);
47
+ text-shadow: 0 0 5px var(--neon-green), 0 0 10px var(--neon-green);
48
+ }
49
+
50
  .neon-border-pink {
51
  border: 2px solid var(--neon-pink);
52
  box-shadow: 0 0 10px var(--neon-pink), inset 0 0 10px var(--neon-pink);
 
58
  }
59
 
60
  .glow-pink {
61
+ animation: glow-pink 1.5s infinite alternate;
62
  }
63
 
64
  .glow-blue {
65
+ animation: glow-blue 1.5s infinite alternate;
66
+ }
67
+
68
+ .glow-green {
69
+ animation: glow-green 1.5s infinite alternate;
70
  }
71
 
72
  @keyframes glow-pink {
 
74
  box-shadow: 0 0 5px var(--neon-pink);
75
  }
76
  to {
77
+ box-shadow: 0 0 20px var(--neon-pink), 0 0 30px var(--neon-pink);
78
  }
79
  }
80
 
 
83
  box-shadow: 0 0 5px var(--neon-blue);
84
  }
85
  to {
86
+ box-shadow: 0 0 20px var(--neon-blue), 0 0 30px var(--neon-blue);
87
+ }
88
+ }
89
+
90
+ @keyframes glow-green {
91
+ from {
92
+ box-shadow: 0 0 5px var(--neon-green);
93
+ }
94
+ to {
95
+ box-shadow: 0 0 20px var(--neon-green), 0 0 30px var(--neon-green);
96
  }
97
  }
98
 
 
123
  }
124
 
125
  .flicker {
126
+ animation: flicker 5s infinite alternate, color-shift 10s infinite alternate;
127
  }
128
 
129
  @keyframes flicker {
 
131
  opacity: 1;
132
  }
133
  20%, 22%, 24%, 55% {
134
+ opacity: 0.7;
135
+ }
136
+ }
137
+
138
+ @keyframes color-shift {
139
+ 0%, 100% {
140
+ filter: hue-rotate(0deg);
141
+ }
142
+ 50% {
143
+ filter: hue-rotate(10deg);
144
  }
145
  }
146
 
147
  .stock-up {
148
+ color: var(--neon-green);
149
+ text-shadow: 0 0 5px var(--neon-green);
150
  }
151
 
152
  .stock-down {
 
161
  }
162
 
163
  .grid-bg {
164
+ position: relative;
165
  background-image:
166
+ linear-gradient(var(--grid-color) 1px, transparent 1px),
167
+ linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
168
  background-size: 20px 20px;
169
+ overflow: hidden;
170
+ }
171
+
172
+ .grid-bg::before {
173
+ content: '';
174
+ position: absolute;
175
+ top: 0;
176
+ left: 0;
177
+ right: 0;
178
+ bottom: 0;
179
+ background: radial-gradient(circle at center, transparent 0%, var(--dark-bg) 70%);
180
+ pointer-events: none;
181
  }
182
 
183
  .cyber-button {
184
  transition: all 0.3s;
185
  position: relative;
186
  overflow: hidden;
187
+ z-index: 1;
188
  }
189
 
190
  .cyber-button:hover {
 
201
  height: 100%;
202
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
203
  transition: all 0.5s;
204
+ z-index: -1;
205
  }
206
 
207
  .cyber-button:hover::before {
 
223
  opacity: 0.7;
224
  }
225
  }
226
+
227
+ .matrix-rain {
228
+ position: absolute;
229
+ top: 0;
230
+ left: 0;
231
+ width: 100%;
232
+ height: 100%;
233
+ pointer-events: none;
234
+ opacity: 0.1;
235
+ z-index: 0;
236
+ }
237
+
238
+ .cyber-glitch {
239
+ position: relative;
240
+ }
241
+
242
+ .cyber-glitch::before, .cyber-glitch::after {
243
+ content: attr(data-text);
244
+ position: absolute;
245
+ top: 0;
246
+ left: 0;
247
+ width: 100%;
248
+ height: 100%;
249
+ background: var(--dark-bg);
250
+ }
251
+
252
+ .cyber-glitch::before {
253
+ left: 2px;
254
+ text-shadow: -2px 0 var(--neon-blue);
255
+ clip: rect(44px, 450px, 56px, 0);
256
+ animation: glitch-anim-1 2s infinite linear alternate-reverse;
257
+ }
258
+
259
+ .cyber-glitch::after {
260
+ left: -2px;
261
+ text-shadow: -2px 0 var(--neon-pink);
262
+ clip: rect(44px, 450px, 56px, 0);
263
+ animation: glitch-anim-2 2s infinite linear alternate-reverse;
264
+ }
265
+
266
+ @keyframes glitch-anim-1 {
267
+ 0% { clip: rect(32px, 9999px, 78px, 0); }
268
+ 20% { clip: rect(8px, 9999px, 23px, 0); }
269
+ 40% { clip: rect(45px, 9999px, 99px, 0); }
270
+ 60% { clip: rect(3px, 9999px, 92px, 0); }
271
+ 80% { clip: rect(54px, 9999px, 72px, 0); }
272
+ 100% { clip: rect(18px, 9999px, 3px, 0); }
273
+ }
274
+
275
+ @keyframes glitch-anim-2 {
276
+ 0% { clip: rect(91px, 9999px, 53px, 0); }
277
+ 20% { clip: rect(92px, 9999px, 98px, 0); }
278
+ 40% { clip: rect(23px, 9999px, 12px, 0); }
279
+ 60% { clip: rect(86px, 9999px, 6px, 0); }
280
+ 80% { clip: rect(1px, 9999px, 23px, 0); }
281
+ 100% { clip: rect(9px, 9999px, 99px, 0); }
282
+ }
283
+
284
+ .holographic {
285
+ background: linear-gradient(135deg, rgba(5, 217, 232, 0.2) 0%, rgba(255, 42, 109, 0.2) 50%, rgba(211, 0, 197, 0.2) 100%);
286
+ box-shadow: 0 0 20px rgba(5, 217, 232, 0.3);
287
+ position: relative;
288
+ overflow: hidden;
289
+ }
290
+
291
+ .holographic::before {
292
+ content: '';
293
+ position: absolute;
294
+ top: -50%;
295
+ left: -50%;
296
+ width: 200%;
297
+ height: 200%;
298
+ background: linear-gradient(
299
+ to bottom right,
300
+ rgba(5, 217, 232, 0) 0%,
301
+ rgba(5, 217, 232, 0.1) 50%,
302
+ rgba(255, 42, 109, 0.1) 100%
303
+ );
304
+ transform: rotate(30deg);
305
+ animation: hologram 6s linear infinite;
306
+ }
307
+
308
+ @keyframes hologram {
309
+ 0% { transform: rotate(30deg) translate(-10%, -10%); }
310
+ 100% { transform: rotate(30deg) translate(10%, 10%); }
311
+ }
312
+
313
+ .cyber-input {
314
+ background: rgba(0, 0, 0, 0.5);
315
+ border: 1px solid rgba(5, 217, 232, 0.3);
316
+ transition: all 0.3s;
317
+ position: relative;
318
+ }
319
+
320
+ .cyber-input:focus {
321
+ outline: none;
322
+ border-color: var(--neon-blue);
323
+ box-shadow: 0 0 10px var(--neon-blue);
324
+ }
325
+
326
+ .cyber-input::placeholder {
327
+ color: rgba(5, 217, 232, 0.5);
328
+ }
329
+
330
+ .particles {
331
+ position: absolute;
332
+ top: 0;
333
+ left: 0;
334
+ width: 100%;
335
+ height: 100%;
336
+ pointer-events: none;
337
+ z-index: 0;
338
+ }
339
+
340
+ .particle {
341
+ position: absolute;
342
+ background-color: var(--neon-blue);
343
+ border-radius: 50%;
344
+ pointer-events: none;
345
+ }
346
+
347
+ .cyber-loader {
348
+ width: 40px;
349
+ height: 40px;
350
+ border: 3px solid var(--neon-blue);
351
+ border-radius: 50%;
352
+ border-top-color: transparent;
353
+ animation: spin 1s linear infinite;
354
+ position: relative;
355
+ }
356
+
357
+ .cyber-loader::before {
358
+ content: '';
359
+ position: absolute;
360
+ top: -5px;
361
+ left: -5px;
362
+ right: -5px;
363
+ bottom: -5px;
364
+ border: 3px solid var(--neon-pink);
365
+ border-radius: 50%;
366
+ border-top-color: transparent;
367
+ animation: spin 1.5s linear infinite reverse;
368
+ }
369
+
370
+ @keyframes spin {
371
+ 0% { transform: rotate(0deg); }
372
+ 100% { transform: rotate(360deg); }
373
+ }
374
+
375
+ .cyber-tooltip {
376
+ position: relative;
377
+ }
378
+
379
+ .cyber-tooltip:hover::after {
380
+ content: attr(data-tooltip);
381
+ position: absolute;
382
+ bottom: 100%;
383
+ left: 50%;
384
+ transform: translateX(-50%);
385
+ background: rgba(0, 0, 0, 0.8);
386
+ color: var(--neon-blue);
387
+ padding: 5px 10px;
388
+ border-radius: 4px;
389
+ font-size: 12px;
390
+ white-space: nowrap;
391
+ border: 1px solid var(--neon-blue);
392
+ box-shadow: 0 0 10px var(--neon-blue);
393
+ z-index: 100;
394
+ }
395
+
396
+ .cyber-badge {
397
+ display: inline-block;
398
+ padding: 2px 6px;
399
+ font-size: 10px;
400
+ font-weight: bold;
401
+ border-radius: 3px;
402
+ animation: pulse 2s infinite;
403
+ }
404
+
405
+ .cyber-badge.new {
406
+ background-color: var(--neon-pink);
407
+ color: black;
408
+ }
409
+
410
+ .cyber-badge.hot {
411
+ background-color: var(--neon-green);
412
+ color: black;
413
+ }
414
+
415
+ .cyber-badge.alert {
416
+ background-color: #ff0000;
417
+ color: white;
418
+ }
419
+
420
+ .cyber-tabs {
421
+ display: flex;
422
+ border-bottom: 1px solid rgba(5, 217, 232, 0.3);
423
+ }
424
+
425
+ .cyber-tab {
426
+ padding: 8px 16px;
427
+ cursor: pointer;
428
+ position: relative;
429
+ }
430
+
431
+ .cyber-tab.active {
432
+ color: var(--neon-blue);
433
+ }
434
+
435
+ .cyber-tab.active::after {
436
+ content: '';
437
+ position: absolute;
438
+ bottom: -1px;
439
+ left: 0;
440
+ right: 0;
441
+ height: 2px;
442
+ background-color: var(--neon-blue);
443
+ box-shadow: 0 0 10px var(--neon-blue);
444
+ }
445
+
446
+ .cyber-tab:hover {
447
+ background-color: rgba(5, 217, 232, 0.1);
448
+ }
449
+
450
+ .cyber-dropdown {
451
+ position: relative;
452
+ }
453
+
454
+ .cyber-dropdown-content {
455
+ display: none;
456
+ position: absolute;
457
+ background-color: rgba(0, 0, 0, 0.9);
458
+ min-width: 160px;
459
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5);
460
+ z-index: 1;
461
+ border: 1px solid var(--neon-blue);
462
+ }
463
+
464
+ .cyber-dropdown:hover .cyber-dropdown-content {
465
+ display: block;
466
+ animation: fadeIn 0.3s;
467
+ }
468
+
469
+ @keyframes fadeIn {
470
+ from { opacity: 0; transform: translateY(-10px); }
471
+ to { opacity: 1; transform: translateY(0); }
472
+ }
473
+
474
+ .cyber-modal {
475
+ display: none;
476
+ position: fixed;
477
+ top: 0;
478
+ left: 0;
479
+ right: 0;
480
+ bottom: 0;
481
+ background-color: rgba(0, 0, 0, 0.8);
482
+ z-index: 1000;
483
+ align-items: center;
484
+ justify-content: center;
485
+ }
486
+
487
+ .cyber-modal-content {
488
+ background-color: var(--dark-bg);
489
+ border: 2px solid var(--neon-blue);
490
+ box-shadow: 0 0 30px var(--neon-blue);
491
+ padding: 20px;
492
+ max-width: 600px;
493
+ width: 90%;
494
+ position: relative;
495
+ animation: modalAppear 0.5s;
496
+ }
497
+
498
+ @keyframes modalAppear {
499
+ from { opacity: 0; transform: scale(0.8); }
500
+ to { opacity: 1; transform: scale(1); }
501
+ }
502
+
503
+ .cyber-close {
504
+ position: absolute;
505
+ top: 10px;
506
+ right: 10px;
507
+ color: var(--neon-blue);
508
+ font-size: 20px;
509
+ cursor: pointer;
510
+ }
511
+
512
+ .cyber-notification {
513
+ position: fixed;
514
+ bottom: 20px;
515
+ right: 20px;
516
+ background-color: rgba(0, 0, 0, 0.9);
517
+ border: 1px solid var(--neon-pink);
518
+ box-shadow: 0 0 20px var(--neon-pink);
519
+ padding: 15px;
520
+ max-width: 300px;
521
+ transform: translateX(150%);
522
+ transition: transform 0.5s;
523
+ z-index: 1000;
524
+ }
525
+
526
+ .cyber-notification.show {
527
+ transform: translateX(0);
528
+ }
529
+
530
+ .cyber-progress {
531
+ height: 5px;
532
+ background-color: rgba(5, 217, 232, 0.2);
533
+ border-radius: 3px;
534
+ overflow: hidden;
535
+ position: relative;
536
+ }
537
+
538
+ .cyber-progress-bar {
539
+ height: 100%;
540
+ background-color: var(--neon-blue);
541
+ width: 0;
542
+ transition: width 0.5s;
543
+ position: relative;
544
+ }
545
+
546
+ .cyber-progress-bar::after {
547
+ content: '';
548
+ position: absolute;
549
+ top: 0;
550
+ left: 0;
551
+ right: 0;
552
+ bottom: 0;
553
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
554
+ animation: progressShine 2s infinite;
555
+ }
556
+
557
+ @keyframes progressShine {
558
+ 0% { transform: translateX(-100%); }
559
+ 100% { transform: translateX(100%); }
560
+ }
561
+
562
+ .cyber-countdown {
563
+ font-family: 'Orbitron', sans-serif;
564
+ font-size: 24px;
565
+ color: var(--neon-pink);
566
+ text-shadow: 0 0 5px var(--neon-pink);
567
+ }
568
+
569
+ .cyber-countdown.separator {
570
+ margin: 0 5px;
571
+ }
572
+
573
+ .cyber-countdown.danger {
574
+ color: #ff0000;
575
+ text-shadow: 0 0 5px #ff0000;
576
+ }
577
+
578
+ .cyber-carousel {
579
+ position: relative;
580
+ overflow: hidden;
581
+ }
582
+
583
+ .cyber-carousel-slide {
584
+ display: none;
585
+ animation: fadeIn 0.5s;
586
+ }
587
+
588
+ .cyber-carousel-slide.active {
589
+ display: block;
590
+ }
591
+
592
+ .cyber-carousel-nav {
593
+ position: absolute;
594
+ bottom: 10px;
595
+ left: 0;
596
+ right: 0;
597
+ display: flex;
598
+ justify-content: center;
599
+ gap: 10px;
600
+ }
601
+
602
+ .cyber-carousel-dot {
603
+ width: 10px;
604
+ height: 10px;
605
+ border-radius: 50%;
606
+ background-color: rgba(5, 217, 232, 0.5);
607
+ cursor: pointer;
608
+ }
609
+
610
+ .cyber-carousel-dot.active {
611
+ background-color: var(--neon-blue);
612
+ box-shadow: 0 0 5px var(--neon-blue);
613
+ }
614
  </style>
615
  </head>
616
  <body class="min-h-screen grid-bg">
617
  <div class="scanline"></div>
618
+ <div class="matrix-rain" id="matrixRain"></div>
619
+ <div class="particles" id="particles"></div>
620
+
621
+ <!-- Cyber Noise Overlay -->
622
+ <div class="fixed inset-0 pointer-events-none opacity-5" id="noiseOverlay" style="background-image: url('data:image/svg+xml;utf8,<svg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"noise\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.65\" numOctaves=\"3\" stitchTiles=\"stitch\"/></filter><rect width=\"100%\" height=\"100%\" filter=\"url(%23noise)\"/></svg>');"></div>
623
 
624
+ <!-- Header with glitch effect -->
625
+ <header class="bg-black bg-opacity-80 border-b border-neon-blue py-4 px-6 flex justify-between items-center neon-border-blue relative">
626
  <div class="flex items-center space-x-4">
627
  <div class="w-12 h-12 bg-neon-pink rounded-full glow-pink flex items-center justify-center">
628
  <i class="fas fa-chart-line text-xl text-white"></i>
629
  </div>
630
+ <h1 class="text-3xl font-bold neon-text-pink flicker cyber-glitch" data-text="NEON TRADER 2077">NEON TRADER 2077</h1>
631
  </div>
632
 
633
  <div class="flex items-center space-x-6">
 
637
  </div>
638
  <div class="text-center">
639
  <p class="text-xs text-gray-400">NET WORTH</p>
640
+ <p class="text-xl neon-text-pink font-orbitron">₡ <span id="net-worth">1,245,890</span></p>
641
  </div>
642
+ <div class="cyber-dropdown">
643
+ <div class="w-10 h-10 rounded-full bg-neon-blue bg-opacity-30 flex items-center justify-center neon-border-blue cursor-pointer hover:bg-opacity-50 transition cyber-tooltip" data-tooltip="User Profile">
644
+ <i class="fas fa-user neon-text-blue"></i>
645
+ </div>
646
+ <div class="cyber-dropdown-content">
647
+ <div class="p-3 border-b border-gray-800">
648
+ <p class="text-sm neon-text-blue">Logged in as: <span class="text-white">Corp_Trader_42</span></p>
649
+ </div>
650
+ <div class="p-2">
651
+ <a href="#" class="block px-3 py-2 text-sm hover:bg-gray-800">Dashboard</a>
652
+ <a href="#" class="block px-3 py-2 text-sm hover:bg-gray-800">Settings</a>
653
+ <a href="#" class="block px-3 py-2 text-sm hover:bg-gray-800">Logout</a>
654
+ </div>
655
+ </div>
656
  </div>
657
  </div>
658
+
659
+ <!-- Connection status indicator -->
660
+ <div class="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-neon-blue via-neon-pink to-neon-green" id="connectionIndicator"></div>
661
  </header>
662
 
663
+ <main class="container mx-auto px-4 py-6 relative z-10">
664
  <div class="grid grid-cols-1 lg:grid-cols-4 gap-6">
665
  <!-- Left sidebar -->
666
  <div class="lg:col-span-1 space-y-6">
667
+ <!-- Portfolio Summary with holographic effect -->
668
+ <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-pink holographic">
669
+ <div class="relative">
670
+ <h2 class="text-xl neon-text-pink font-orbitron mb-4 flex items-center">
671
+ <span>PORTFOLIO</span>
672
+ <span class="cyber-badge new ml-2">NEW</span>
673
+ </h2>
674
+
675
+ <div class="space-y-3">
676
+ <div class="flex justify-between items-center">
677
+ <span class="text-gray-400">Total Value:</span>
678
+ <span class="neon-text-blue font-bold">₡ <span id="portfolio-total">1,245,890</span></span>
679
+ </div>
680
+ <div class="flex justify-between items-center">
681
+ <span class="text-gray-400">Day Change:</span>
682
+ <span class="text-green-400 font-bold">+₡ <span id="day-change">24,560</span> (<span id="day-change-percent">+2.01%</span>)</span>
683
+ </div>
684
+ <div class="flex justify-between items-center">
685
+ <span class="text-gray-400">Buying Power:</span>
686
+ <span class="neon-text-blue font-bold">₡ <span id="buying-power">245,890</span></span>
687
+ </div>
688
  </div>
689
+
690
+ <div class="mt-6">
691
+ <h3 class="text-sm text-gray-400 mb-2">ASSET DISTRIBUTION</h3>
692
+ <div class="cyber-progress mb-2">
693
+ <div class="cyber-progress-bar" id="asset-progress" style="width: 65%;"></div>
694
+ </div>
695
+ <div class="flex justify-between text-xs">
696
+ <span class="neon-text-pink">Stocks (65%)</span>
697
+ <span class="neon-text-blue">Crypto (35%)</span>
698
+ </div>
699
  </div>
700
+
701
+ <!-- Mini chart animation -->
702
+ <div class="mt-4 h-16 relative">
703
+ <canvas id="miniChart" class="w-full h-full"></canvas>
704
+ <div class="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-neon-pink via-neon-blue to-neon-green"></div>
705
  </div>
706
  </div>
707
  </div>
708
 
709
+ <!-- Quick Actions with enhanced buttons -->
710
  <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-blue">
711
  <h2 class="text-xl neon-text-blue font-orbitron mb-4">QUICK ACTIONS</h2>
712
 
713
  <div class="grid grid-cols-2 gap-3">
714
+ <button class="cyber-button bg-neon-pink bg-opacity-20 text-white py-2 px-3 rounded-md neon-border-pink neon-text-pink hover:bg-opacity-30 cyber-tooltip" data-tooltip="Buy Assets">
715
  <i class="fas fa-arrow-up mr-2"></i> Buy
716
  </button>
717
+ <button class="cyber-button bg-red-500 bg-opacity-20 text-white py-2 px-3 rounded-md border border-red-500 text-red-400 hover:bg-opacity-30 cyber-tooltip" data-tooltip="Sell Assets">
718
  <i class="fas fa-arrow-down mr-2"></i> Sell
719
  </button>
720
+ <button class="cyber-button bg-neon-blue bg-opacity-20 text-white py-2 px-3 rounded-md neon-border-blue neon-text-blue hover:bg-opacity-30 cyber-tooltip" data-tooltip="Trade Pairs">
721
  <i class="fas fa-exchange-alt mr-2"></i> Trade
722
  </button>
723
+ <button class="cyber-button bg-purple-500 bg-opacity-20 text-white py-2 px-3 rounded-md border border-purple-500 text-purple-400 hover:bg-opacity-30 cyber-tooltip" data-tooltip="Crypto Markets">
724
  <i class="fas fa-coins mr-2"></i> Crypto
725
  </button>
726
  </div>
727
+
728
+ <!-- Quick transfer form -->
729
+ <div class="mt-4">
730
+ <h3 class="text-sm neon-text-green mb-2">QUICK TRANSFER</h3>
731
+ <div class="flex space-x-2">
732
+ <input type="text" class="cyber-input flex-1 text-sm py-1 px-2 rounded" placeholder="Amount ₡">
733
+ <button class="cyber-button bg-neon-green bg-opacity-20 text-neon-green text-sm py-1 px-3 rounded border border-neon-green cyber-tooltip" data-tooltip="Transfer Funds">
734
+ <i class="fas fa-paper-plane"></i>
735
+ </button>
736
+ </div>
737
+ </div>
738
  </div>
739
 
740
+ <!-- News Feed with carousel -->
741
  <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-pink">
742
+ <div class="flex justify-between items-center mb-4">
743
+ <h2 class="text-xl neon-text-pink font-orbitron">CYBER NEWS</h2>
744
+ <div class="flex items-center">
745
+ <span class="text-xs text-gray-400 mr-2">AUTO</span>
746
+ <label class="relative inline-flex items-center cursor-pointer">
747
+ <input type="checkbox" value="" class="sr-only peer" id="newsAutoScroll" checked>
748
+ <div class="w-9 h-5 bg-gray-700 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-neon-pink"></div>
749
+ </label>
750
+ </div>
751
+ </div>
752
 
753
+ <div class="cyber-carousel" id="newsCarousel">
754
+ <div class="cyber-carousel-slide active">
755
+ <div class="border-b border-gray-800 pb-3">
756
+ <p class="text-xs text-gray-400">10:45 AM</p>
757
+ <p class="text-sm neon-text-blue">Arasaka Corp announces breakthrough in neural interface tech</p>
758
+ </div>
759
+ <div class="border-b border-gray-800 pb-3">
760
+ <p class="text-xs text-gray-400">09:30 AM</p>
761
+ <p class="text-sm neon-text-blue">Militech wins major defense contract</p>
762
+ </div>
763
+ <div class="border-b border-gray-800 pb-3">
764
+ <p class="text-xs text-gray-400">08:15 AM</p>
765
+ <p class="text-sm neon-text-blue">NetWatch reports surge in rogue AIs</p>
766
+ </div>
767
  </div>
768
+
769
+ <div class="cyber-carousel-slide">
770
+ <div class="border-b border-gray-800 pb-3">
771
+ <p class="text-xs text-gray-400">07:00 AM</p>
772
+ <p class="text-sm neon-text-blue">Night City stock exchange hits record high</p>
773
+ </div>
774
+ <div class="border-b border-gray-800 pb-3">
775
+ <p class="text-xs text-gray-400">06:30 AM</p>
776
+ <p class="text-sm neon-text-blue">New cyberware regulations announced</p>
777
+ </div>
778
+ <div class="border-b border-gray-800 pb-3">
779
+ <p class="text-xs text-gray-400">05:45 AM</p>
780
+ <p class="text-sm neon-text-blue">Crypto market volatility expected</p>
781
+ </div>
782
  </div>
783
+
784
+ <div class="cyber-carousel-slide">
785
+ <div class="border-b border-gray-800 pb-3">
786
+ <p class="text-xs text-gray-400">04:30 AM</p>
787
+ <p class="text-sm neon-text-blue">Biotechnica patents new synthetic food</p>
788
+ </div>
789
+ <div class="border-b border-gray-800 pb-3">
790
+ <p class="text-xs text-gray-400">03:15 AM</p>
791
+ <p class="text-sm neon-text-blue">Trauma Team IPO oversubscribed</p>
792
+ </div>
793
+ <div class="border-b border-gray-800 pb-3">
794
+ <p class="text-xs text-gray-400">02:00 AM</p>
795
+ <p class="text-sm neon-text-blue">Zetatech unveils new cyberdeck</p>
796
+ </div>
797
  </div>
798
+
799
+ <div class="cyber-carousel-nav">
800
+ <div class="cyber-carousel-dot active" data-slide="0"></div>
801
+ <div class="cyber-carousel-dot" data-slide="1"></div>
802
+ <div class="cyber-carousel-dot" data-slide="2"></div>
803
  </div>
804
  </div>
805
+
806
+ <div class="mt-3 text-center">
807
+ <button id="refreshNews" class="text-xs text-gray-400 hover:text-neon-blue">
808
+ <i class="fas fa-sync-alt mr-1"></i> Refresh Feed
809
+ </button>
810
+ </div>
811
+ </div>
812
+
813
+ <!-- Countdown to market close -->
814
+ <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-blue text-center">
815
+ <h3 class="text-sm text-gray-400 mb-1">MARKET CLOSES IN</h3>
816
+ <div class="cyber-countdown flex justify-center items-center">
817
+ <span id="countdown-hours">05</span>
818
+ <span class="cyber-countdown separator">:</span>
819
+ <span id="countdown-minutes">43</span>
820
+ <span class="cyber-countdown separator">:</span>
821
+ <span id="countdown-seconds">22</span>
822
+ </div>
823
  </div>
824
  </div>
825
 
826
  <!-- Main Content -->
827
  <div class="lg:col-span-3 space-y-6">
828
+ <!-- Market Overview with tabs -->
829
  <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-blue">
830
  <div class="flex justify-between items-center mb-4">
831
  <h2 class="text-xl neon-text-blue font-orbitron">MARKET OVERVIEW</h2>
832
+ <div class="cyber-tabs">
833
+ <div class="cyber-tab active" data-tab="stocks">STOCKS</div>
834
+ <div class="cyber-tab" data-tab="crypto">CRYPTO</div>
835
+ <div class="cyber-tab" data-tab="futures">FUTURES</div>
836
  </div>
837
  </div>
838
 
839
+ <div class="grid grid-cols-2 md:grid-cols-4 gap-4 mb-6" id="market-metrics">
840
+ <div class="bg-gray-900 bg-opacity-50 p-3 rounded-lg border border-gray-800 hover:border-neon-blue transition">
841
  <p class="text-xs text-gray-400">NIGHT CITY INDEX</p>
842
  <p class="text-xl neon-text-blue font-orbitron">4,328.76</p>
843
  <p class="text-sm text-green-400">+42.18 (0.98%)</p>
844
  </div>
845
+ <div class="bg-gray-900 bg-opacity-50 p-3 rounded-lg border border-gray-800 hover:border-neon-pink transition">
846
  <p class="text-xs text-gray-400">TECH SECTOR</p>
847
  <p class="text-xl neon-text-pink font-orbitron">1,845.32</p>
848
  <p class="text-sm text-green-400">+28.45 (1.56%)</p>
849
  </div>
850
+ <div class="bg-gray-900 bg-opacity-50 p-3 rounded-lg border border-gray-800 hover:border-neon-blue transition">
851
  <p class="text-xs text-gray-400">BTC/USD</p>
852
  <p class="text-xl neon-text-blue font-orbitron">₡ 42,876</p>
853
  <p class="text-sm text-red-400">-1,245.76 (2.82%)</p>
854
  </div>
855
+ <div class="bg-gray-900 bg-opacity-50 p-3 rounded-lg border border-gray-800 hover:border-neon-pink transition">
856
  <p class="text-xs text-gray-400">ETH/USD</p>
857
  <p class="text-xl neon-text-pink font-orbitron">₡ 2,876</p>
858
  <p class="text-sm text-green-400">+45.32 (1.60%)</p>
859
  </div>
860
  </div>
861
 
862
+ <!-- Stock Chart with interactive controls -->
863
+ <div class="h-64 bg-gray-900 bg-opacity-50 rounded-lg mb-4 relative overflow-hidden" id="mainChartContainer">
864
+ <div class="absolute top-2 left-2 z-10 flex space-x-1">
865
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-2 rounded cyber-tooltip" data-tooltip="Line Chart">
866
+ <i class="fas fa-chart-line"></i>
867
+ </button>
868
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-2 rounded cyber-tooltip" data-tooltip="Candlestick">
869
+ <i class="fas fa-chart-bar"></i>
870
+ </button>
871
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-2 rounded cyber-tooltip" data-tooltip="Area Chart">
872
+ <i class="fas fa-chart-area"></i>
873
+ </button>
874
+ </div>
875
+
876
+ <canvas id="mainChart" class="w-full h-full"></canvas>
877
+
878
+ <div class="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-neon-pink via-neon-blue to-neon-green"></div>
879
+
880
+ <div class="absolute bottom-2 right-2 z-10 flex space-x-1">
881
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-2 rounded cyber-tooltip" data-tooltip="Draw Tools">
882
+ <i class="fas fa-pencil-alt"></i>
883
+ </button>
884
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-2 rounded cyber-tooltip" data-tooltip="Indicators">
885
+ <i class="fas fa-wave-square"></i>
886
+ </button>
887
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-2 rounded cyber-tooltip" data-tooltip="Fullscreen">
888
+ <i class="fas fa-expand"></i>
889
+ </button>
890
  </div>
 
891
  </div>
892
 
893
  <div class="flex justify-between items-center">
 
896
  <button class="cyber-button bg-neon-blue bg-opacity-20 text-white text-xs py-1 px-3 rounded-md neon-border-blue">1W</button>
897
  <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">1M</button>
898
  <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">1Y</button>
899
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">ALL</button>
900
  </div>
901
  <div class="text-xs text-gray-400">
902
+ <span class="neon-text-blue cursor-pointer hover:underline">ARAS</span> |
903
+ <span class="neon-text-pink cursor-pointer hover:underline">MILT</span> |
904
+ <span class="neon-text-blue cursor-pointer hover:underline">KANG</span> |
905
+ <span class="neon-text-pink cursor-pointer hover:underline">NETW</span> |
906
+ <span class="neon-text-green cursor-pointer hover:underline">+5</span>
907
  </div>
908
  </div>
909
  </div>
910
 
911
+ <!-- Watchlist with enhanced features -->
912
  <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-pink">
913
  <div class="flex justify-between items-center mb-4">
914
+ <div class="flex items-center space-x-4">
915
+ <h2 class="text-xl neon-text-pink font-orbitron">WATCHLIST</h2>
916
+ <div class="cyber-dropdown">
917
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded flex items-center">
918
+ <span>MY LIST</span>
919
+ <i class="fas fa-caret-down ml-1"></i>
920
+ </button>
921
+ <div class="cyber-dropdown-content">
922
+ <div class="p-2">
923
+ <a href="#" class="block px-3 py-2 text-sm hover:bg-gray-800">MY LIST</a>
924
+ <a href="#" class="block px-3 py-2 text-sm hover:bg-gray-800">TOP GAINERS</a>
925
+ <a href="#" class="block px-3 py-2 text-sm hover:bg-gray-800">TOP LOSERS</a>
926
+ <a href="#" class="block px-3 py-2 text-sm hover:bg-gray-800">MOST ACTIVE</a>
927
+ </div>
928
+ </div>
929
+ </div>
930
+ </div>
931
+ <div class="relative flex items-center">
932
+ <input type="text" placeholder="Search assets..." class="cyber-input bg-gray-900 bg-opacity-50 text-white text-sm py-1 px-3 pr-8 rounded-md border border-gray-800 focus:outline-none">
933
+ <i class="fas fa-search absolute right-3 text-gray-500"></i>
934
+ <button class="cyber-button bg-neon-pink bg-opacity-20 text-neon-pink text-sm py-1 px-2 rounded-md ml-2 neon-border-pink cyber-tooltip" data-tooltip="Add Asset">
935
+ <i class="fas fa-plus"></i>
936
+ </button>
937
  </div>
938
  </div>
939
 
 
946
  <th class="pb-2">CHANGE</th>
947
  <th class="pb-2">% CHANGE</th>
948
  <th class="pb-2">VOLUME</th>
949
+ <th class="pb-2">CHART</th>
950
  <th class="pb-2">ACTIONS</th>
951
  </tr>
952
  </thead>
 
955
  </tbody>
956
  </table>
957
  </div>
958
+
959
+ <div class="mt-4 flex justify-between items-center">
960
+ <div class="text-xs text-gray-400">
961
+ Showing <span class="text-white">1-9</span> of <span class="text-white">24</span> assets
962
+ </div>
963
+ <div class="flex space-x-2">
964
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">
965
+ <i class="fas fa-chevron-left"></i>
966
+ </button>
967
+ <button class="cyber-button bg-neon-blue bg-opacity-20 text-white text-xs py-1 px-3 rounded-md neon-border-blue">
968
+ 1
969
+ </button>
970
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">
971
+ 2
972
+ </button>
973
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">
974
+ 3
975
+ </button>
976
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-3 rounded-md">
977
+ <i class="fas fa-chevron-right"></i>
978
+ </button>
979
+ </div>
980
+ </div>
981
+ </div>
982
+
983
+ <!-- Recent Transactions -->
984
+ <div class="bg-black bg-opacity-70 p-4 rounded-lg neon-border-blue">
985
+ <div class="flex justify-between items-center mb-4">
986
+ <h2 class="text-xl neon-text-blue font-orbitron">RECENT TRANSACTIONS</h2>
987
+ <button class="cyber-button bg-neon-blue bg-opacity-20 text-white text-xs py-1 px-3 rounded-md neon-border-blue cyber-tooltip" data-tooltip="View All Transactions">
988
+ VIEW ALL
989
+ </button>
990
+ </div>
991
+
992
+ <div class="space-y-3">
993
+ <div class="flex justify-between items-center p-2 hover:bg-gray-900 rounded">
994
+ <div class="flex items-center">
995
+ <div class="w-8 h-8 rounded-full bg-neon-pink bg-opacity-20 flex items-center justify-center neon-border-pink mr-3">
996
+ <i class="fas fa-arrow-up text-xs text-neon-pink"></i>
997
+ </div>
998
+ <div>
999
+ <p class="text-sm font-medium">BUY ARAS</p>
1000
+ <p class="text-xs text-gray-400">Today, 10:23 AM</p>
1001
+ </div>
1002
+ </div>
1003
+ <div class="text-right">
1004
+ <p class="text-sm">10 shares @ ₡245.67</p>
1005
+ <p class="text-xs text-green-400">Completed</p>
1006
+ </div>
1007
+ </div>
1008
+
1009
+ <div class="flex justify-between items-center p-2 hover:bg-gray-900 rounded">
1010
+ <div class="flex items-center">
1011
+ <div class="w-8 h-8 rounded-full bg-red-500 bg-opacity-20 flex items-center justify-center border border-red-500 mr-3">
1012
+ <i class="fas fa-arrow-down text-xs text-red-400"></i>
1013
+ </div>
1014
+ <div>
1015
+ <p class="text-sm font-medium">SELL MILT</p>
1016
+ <p class="text-xs text-gray-400">Today, 09:45 AM</p>
1017
+ </div>
1018
+ </div>
1019
+ <div class="text-right">
1020
+ <p class="text-sm">5 shares @ ₡187.32</p>
1021
+ <p class="text-xs text-green-400">Completed</p>
1022
+ </div>
1023
+ </div>
1024
+
1025
+ <div class="flex justify-between items-center p-2 hover:bg-gray-900 rounded">
1026
+ <div class="flex items-center">
1027
+ <div class="w-8 h-8 rounded-full bg-neon-blue bg-opacity-20 flex items-center justify-center neon-border-blue mr-3">
1028
+ <i class="fas fa-exchange-alt text-xs text-neon-blue"></i>
1029
+ </div>
1030
+ <div>
1031
+ <p class="text-sm font-medium">TRADE BTC/ETH</p>
1032
+ <p class="text-xs text-gray-400">Today, 08:30 AM</p>
1033
+ </div>
1034
+ </div>
1035
+ <div class="text-right">
1036
+ <p class="text-sm">0.5 BTC @ ₡42,876</p>
1037
+ <p class="text-xs text-yellow-400">Pending</p>
1038
+ </div>
1039
+ </div>
1040
+ </div>
1041
  </div>
1042
  </div>
1043
  </div>
1044
  </main>
1045
 
1046
+ <!-- Footer with connection status -->
1047
  <footer class="bg-black bg-opacity-80 border-t border-neon-blue py-3 px-6 neon-border-blue mt-6">
1048
  <div class="flex justify-between items-center">
1049
  <div class="flex items-center space-x-4">
1050
  <div class="flex items-center space-x-1">
1051
+ <div class="w-2 h-2 rounded-full bg-green-500 pulse" id="connectionStatus"></div>
1052
  <span class="text-xs text-gray-400">CONNECTED</span>
1053
  </div>
1054
+ <span class="text-xs text-gray-400">LATENCY: <span class="neon-text-blue" id="latencyIndicator">28ms</span></span>
1055
  <span class="text-xs text-gray-400">API: <span class="neon-text-pink">v3.2.7</span></span>
1056
+ <span class="text-xs text-gray-400">DATA CENTER: <span class="neon-text-green">NC-42</span></span>
1057
  </div>
1058
  <div class="text-xs text-gray-400">
1059
+ <span class="neon-text-blue">NEON TRADER 2077</span> | SECURE TRADING TERMINAL | <span class="neon-text-pink">ENCRYPTED</span> | <span class="neon-text-green">HIGH FREQUENCY</span>
1060
  </div>
1061
  </div>
1062
  </footer>
1063
 
1064
+ <!-- Cyber Modal -->
1065
+ <div class="cyber-modal" id="assetModal">
1066
+ <div class="cyber-modal-content">
1067
+ <span class="cyber-close" id="closeModal">&times;</span>
1068
+ <h2 class="text-xl neon-text-blue font-orbitron mb-4">ASSET DETAILS</h2>
1069
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
1070
+ <div>
1071
+ <h3 class="text-lg neon-text-pink font-orbitron mb-2" id="modalAssetName">Arasaka Corp (ARAS)</h3>
1072
+ <div class="flex items-center mb-4">
1073
+ <div class="text-3xl font-bold mr-4" id="modalAssetPrice">₡ 245.67</div>
1074
+ <div class="text-sm stock-up" id="modalAssetChange">+3.45 (1.42%)</div>
1075
+ </div>
1076
+ <div class="h-48 bg-gray-900 rounded mb-4" id="modalChartContainer">
1077
+ <canvas id="modalChart"></canvas>
1078
+ </div>
1079
+ </div>
1080
+ <div>
1081
+ <div class="mb-4">
1082
+ <h4 class="text-sm text-gray-400 mb-2">MARKET DATA</h4>
1083
+ <div class="grid grid-cols-2 gap-2 text-sm">
1084
+ <div>Open: <span class="neon-text-blue">₡ 242.22</span></div>
1085
+ <div>High: <span class="neon-text-green">₡ 246.78</span></div>
1086
+ <div>Low: <span class="neon-text-pink">₡ 241.05</span></div>
1087
+ <div>Volume: <span>4.5M</span></div>
1088
+ <div>Market Cap: <span>₡ 245.6B</span></div>
1089
+ <div>P/E: <span>28.76</span></div>
1090
+ </div>
1091
+ </div>
1092
+
1093
+ <div class="mb-4">
1094
+ <h4 class="text-sm text-gray-400 mb-2">TRADE</h4>
1095
+ <div class="grid grid-cols-2 gap-3 mb-3">
1096
+ <button class="cyber-button bg-green-900 bg-opacity-20 text-green-400 py-1 px-3 rounded border border-green-500">
1097
+ <i class="fas fa-arrow-up mr-1"></i> Buy
1098
+ </button>
1099
+ <button class="cyber-button bg-red-900 bg-opacity-20 text-red-400 py-1 px-3 rounded border border-red-500">
1100
+ <i class="fas fa-arrow-down mr-1"></i> Sell
1101
+ </button>
1102
+ </div>
1103
+ <div class="flex space-x-2">
1104
+ <input type="text" class="cyber-input flex-1 text-sm py-1 px-2 rounded" placeholder="Shares">
1105
+ <select class="cyber-input text-sm py-1 px-2 rounded bg-gray-900">
1106
+ <option>Market</option>
1107
+ <option>Limit</option>
1108
+ <option>Stop</option>
1109
+ </select>
1110
+ </div>
1111
+ </div>
1112
+
1113
+ <button class="w-full cyber-button bg-neon-blue bg-opacity-20 text-white py-2 rounded-md neon-border-blue">
1114
+ PLACE ORDER
1115
+ </button>
1116
+ </div>
1117
+ </div>
1118
+ </div>
1119
+ </div>
1120
+
1121
+ <!-- Cyber Notification -->
1122
+ <div class="cyber-notification" id="notification">
1123
+ <div class="flex items-start">
1124
+ <div class="w-6 h-6 rounded-full bg-neon-blue flex items-center justify-center mr-3 mt-1">
1125
+ <i class="fas fa-bell text-xs text-black"></i>
1126
+ </div>
1127
+ <div>
1128
+ <h3 class="text-sm font-bold neon-text-blue mb-1" id="notificationTitle">Market Update</h3>
1129
+ <p class="text-xs" id="notificationMessage">Arasaka Corp stock has increased by 1.42%</p>
1130
+ </div>
1131
+ </div>
1132
+ </div>
1133
+
1134
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
1135
  <script>
1136
  // Update current time
1137
  function updateTime() {
 
1143
  setInterval(updateTime, 1000);
1144
  updateTime();
1145
 
1146
+ // Update countdown to market close
1147
+ function updateCountdown() {
1148
+ const now = new Date();
1149
+ const closeTime = new Date();
1150
+ closeTime.setHours(16, 0, 0, 0); // Market closes at 4 PM
1151
+
1152
+ if (now > closeTime) {
1153
+ closeTime.setDate(closeTime.getDate() + 1); // Set to next day if already past close
1154
+ }
1155
+
1156
+ const diff = closeTime - now;
1157
+ const hours = Math.floor(diff / (1000 * 60 * 60));
1158
+ const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
1159
+ const seconds = Math.floor((diff % (1000 * 60)) / 1000);
1160
+
1161
+ document.getElementById('countdown-hours').textContent = hours.toString().padStart(2, '0');
1162
+ document.getElementById('countdown-minutes').textContent = minutes.toString().padStart(2, '0');
1163
+ document.getElementById('countdown-seconds').textContent = seconds.toString().padStart(2, '0');
1164
+
1165
+ // Change color to red when less than 1 hour remains
1166
+ if (hours === 0) {
1167
+ document.getElementById('countdown-hours').classList.add('cyber-countdown', 'danger');
1168
+ document.getElementById('countdown-minutes').classList.add('cyber-countdown', 'danger');
1169
+ document.getElementById('countdown-seconds').classList.add('cyber-countdown', 'danger');
1170
+ } else {
1171
+ document.getElementById('countdown-hours').classList.remove('danger');
1172
+ document.getElementById('countdown-minutes').classList.remove('danger');
1173
+ document.getElementById('countdown-seconds').classList.remove('danger');
1174
+ }
1175
+ }
1176
+
1177
+ setInterval(updateCountdown, 1000);
1178
+ updateCountdown();
1179
+
1180
  // Sample stock data
1181
  const stocks = [
1182
+ { symbol: 'ARAS', name: 'Arasaka Corp', price: 245.67, change: 3.45, percentChange: 1.42, volume: '4.5M', chartData: [240, 242, 243, 244, 245, 246, 245, 244, 245, 246, 245, 244, 245, 246, 245] },
1183
+ { symbol: 'MILT', name: 'Militech Intl', price: 187.32, change: -2.34, percentChange: -1.23, volume: '3.2M', chartData: [190, 189, 188, 187, 186, 187, 186, 187, 188, 187, 186, 187, 188, 187, 186] },
1184
+ { symbol: 'KANG', name: 'Kang Tao Arms', price: 92.45, change: 1.87, percentChange: 2.06, volume: '1.8M', chartData: [90, 91, 92, 91, 92, 93, 92, 91, 92, 93, 92, 91, 92, 93, 92] },
1185
+ { symbol: 'NETW', name: 'NetWatch', price: 156.78, change: 5.67, percentChange: 3.75, volume: '2.7M', chartData: [150, 152, 154, 155, 156, 157, 156, 155, 156, 157, 156, 155, 156, 157, 156] },
1186
+ { symbol: 'BIOT', name: 'Biotechnica', price: 78.23, change: -0.45, percentChange: -0.57, volume: '1.2M', chartData: [78, 79, 78, 77, 78, 79, 78, 77, 78, 79, 78, 77, 78, 79, 78] },
1187
+ { symbol: 'TRAU', name: 'Trauma Team', price: 134.56, change: 2.34, percentChange: 1.77, volume: '2.1M', chartData: [132, 133, 134, 133, 134, 135, 134, 133, 134, 135, 134, 133, 134, 135, 134] },
1188
+ { symbol: 'ZETT', name: 'Zetatech', price: 67.89, change: -1.23, percentChange: -1.78, volume: '3.5M', chartData: [69, 68, 67, 68, 69, 68, 67, 68, 69, 68, 67, 68, 69, 68, 67] },
1189
+ { symbol: 'BTC', name: 'Bitcoin', price: 42876, change: -1245, percentChange: -2.82, volume: '24.5K', chartData: [44000, 43500, 43000, 42500, 43000, 42500, 43000, 42500, 43000, 42500, 43000, 42500, 43000, 42500, 43000] },
1190
+ { symbol: 'ETH', name: 'Ethereum', price: 2876, change: 45, percentChange: 1.60, volume: '18.7K', chartData: [2800, 2820, 2840, 2860, 2880, 2860, 2840, 2860, 2880, 2860, 2840, 2860, 2880, 2860, 2840] }
1191
  ];
1192
 
1193
  // Render stock table
 
1203
  const changeClass = stock.change >= 0 ? 'stock-up' : 'stock-down';
1204
  const changeSymbol = stock.change >= 0 ? '+' : '';
1205
 
1206
+ // Create mini sparkline chart
1207
+ const canvas = document.createElement('canvas');
1208
+ canvas.width = 80;
1209
+ canvas.height = 30;
1210
+ canvas.className = 'sparkline-chart';
1211
+
1212
+ const ctx = canvas.getContext('2d');
1213
+ drawSparkline(ctx, stock.chartData, changeClass.includes('up') ? '#00ff9d' : '#ff0000');
1214
+
1215
  row.innerHTML = `
1216
  <td class="py-3">
1217
  <div class="font-bold ${isCrypto ? 'neon-text-blue' : 'neon-text-pink'}">${stock.symbol}</div>
 
1221
  <td class="py-3 font-orbitron ${changeClass}">${changeSymbol}${stock.change}</td>
1222
  <td class="py-3 font-orbitron ${changeClass}">${changeSymbol}${stock.percentChange}%</td>
1223
  <td class="py-3 text-gray-400">${stock.volume}</td>
1224
+ <td class="py-3">
1225
+ <div class="w-20 h-8">${canvas.outerHTML}</div>
1226
+ </td>
1227
  <td class="py-3">
1228
  <div class="flex space-x-2">
1229
+ <button class="cyber-button bg-green-900 bg-opacity-20 text-green-400 text-xs py-1 px-2 rounded border border-green-500 cyber-tooltip" data-tooltip="Buy ${stock.symbol}">
1230
+ <i class="fas fa-arrow-up mr-1"></i>
1231
  </button>
1232
+ <button class="cyber-button bg-red-900 bg-opacity-20 text-red-400 text-xs py-1 px-2 rounded border border-red-500 cyber-tooltip" data-tooltip="Sell ${stock.symbol}">
1233
+ <i class="fas fa-arrow-down mr-1"></i>
1234
+ </button>
1235
+ <button class="cyber-button bg-gray-800 text-white text-xs py-1 px-2 rounded cyber-tooltip view-details" data-tooltip="View Details" data-symbol="${stock.symbol}">
1236
+ <i class="fas fa-chart-bar"></i>
1237
  </button>
1238
  </div>
1239
  </td>
 
1241
 
1242
  tableBody.appendChild(row);
1243
  });
1244
+
1245
+ // Add event listeners to view details buttons
1246
+ document.querySelectorAll('.view-details').forEach(button => {
1247
+ button.addEventListener('click', () => {
1248
+ const symbol = button.getAttribute('data-symbol');
1249
+ showAssetModal(symbol);
1250
+ });
1251
+ });
1252
+ }
1253
+
1254
+ // Draw sparkline chart
1255
+ function drawSparkline(ctx, data, color) {
1256
+ const width = ctx.canvas.width;
1257
+ const height = ctx.canvas.height;
1258
+ const min = Math.min(...data);
1259
+ const max = Math.max(...data);
1260
+ const range = max - min;
1261
+ const step = width / (data.length - 1);
1262
+
1263
+ ctx.beginPath();
1264
+
1265
+ data.forEach((value, index) => {
1266
+ const x = index * step;
1267
+ const y = height - ((value - min) / range) * height;
1268
+
1269
+ if (index === 0) {
1270
+ ctx.moveTo(x, y);
1271
+ } else {
1272
+ ctx.lineTo(x, y);
1273
+ }
1274
+ });
1275
+
1276
+ ctx.strokeStyle = color;
1277
+ ctx.lineWidth = 1;
1278
+ ctx.stroke();
1279
+ }
1280
+
1281
+ // Initialize charts
1282
+ function initCharts() {
1283
+ // Mini chart
1284
+ const miniCtx = document.getElementById('miniChart').getContext('2d');
1285
+ const miniChart = new Chart(miniCtx, {
1286
+ type: 'line',
1287
+ data: {
1288
+ labels: Array.from({length: 15}, (_, i) => i + 1),
1289
+ datasets: [{
1290
+ data: [240, 242, 243, 244, 245, 246, 245, 244, 245, 246, 245, 244, 245, 246, 245],
1291
+ borderColor: '#05d9e8',
1292
+ borderWidth: 1,
1293
+ pointRadius: 0,
1294
+ fill: false,
1295
+ tension: 0.4
1296
+ }]
1297
+ },
1298
+ options: {
1299
+ responsive: true,
1300
+ maintainAspectRatio: false,
1301
+ plugins: {
1302
+ legend: {
1303
+ display: false
1304
+ }
1305
+ },
1306
+ scales: {
1307
+ x: {
1308
+ display: false
1309
+ },
1310
+ y: {
1311
+ display: false
1312
+ }
1313
+ }
1314
+ }
1315
+ });
1316
+
1317
+ // Main chart
1318
+ const mainCtx = document.getElementById('mainChart').getContext('2d');
1319
+ const mainChart = new Chart(mainCtx, {
1320
+ type: 'line',
1321
+ data: {
1322
+ labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
1323
+ datasets: [
1324
+ {
1325
+ label: 'Arasaka Corp',
1326
+ data: [210, 215, 220, 218, 225, 230, 235, 240, 238, 242, 245, 250],
1327
+ borderColor: '#ff2a6d',
1328
+ borderWidth: 2,
1329
+ pointRadius: 0,
1330
+ fill: false,
1331
+ tension: 0.4
1332
+ },
1333
+ {
1334
+ label: 'Night City Index',
1335
+ data: [4000, 4100, 4150, 4200, 4250, 4300, 4280, 4320, 4300, 4350, 4320, 4400],
1336
+ borderColor: '#05d9e8',
1337
+ borderWidth: 2,
1338
+ pointRadius: 0,
1339
+ fill: false,
1340
+ tension: 0.4
1341
+ }
1342
+ ]
1343
+ },
1344
+ options: {
1345
+ responsive: true,
1346
+ maintainAspectRatio: false,
1347
+ plugins: {
1348
+ legend: {
1349
+ display: false
1350
+ }
1351
+ },
1352
+ scales: {
1353
+ x: {
1354
+ grid: {
1355
+ color: 'rgba(255, 255, 255, 0.1)'
1356
+ },
1357
+ ticks: {
1358
+ color: 'rgba(255, 255, 255, 0.5)'
1359
+ }
1360
+ },
1361
+ y: {
1362
+ grid: {
1363
+ color: 'rgba(255, 255, 255, 0.1)'
1364
+ },
1365
+ ticks: {
1366
+ color: 'rgba(255, 255, 255, 0.5)'
1367
+ }
1368
+ }
1369
+ }
1370
+ }
1371
+ });
1372
+ }
1373
+
1374
+ // Show asset modal
1375
+ function showAssetModal(symbol) {
1376
+ const asset = stocks.find(s => s.symbol === symbol);
1377
+ if (!asset) return;
1378
+
1379
+ document.getElementById('modalAssetName').textContent = `${asset.name} (${asset.symbol})`;
1380
+ document.getElementById('modalAssetPrice').textContent = `₡ ${asset.price.toLocaleString()}`;
1381
+
1382
+ const changeClass = asset.change >= 0 ? 'stock-up' : 'stock-down';
1383
+ const changeSymbol = asset.change >= 0 ? '+' : '';
1384
+ document.getElementById('modalAssetChange').textContent = `${changeSymbol}${asset.change} (${changeSymbol}${asset.percentChange}%)`;
1385
+ document.getElementById('modalAssetChange').className = `text-sm ${changeClass}`;
1386
+
1387
+ // Update modal chart
1388
+ const modalCtx = document.getElementById('modalChart').getContext('2d');
1389
+ if (window.modalChart) {
1390
+ window.modalChart.destroy();
1391
+ }
1392
+
1393
+ window.modalChart = new Chart(modalCtx, {
1394
+ type: 'line',
1395
+ data: {
1396
+ labels: Array.from({length: asset.chartData.length}, (_, i) => i + 1),
1397
+ datasets: [{
1398
+ data: asset.chartData,
1399
+ borderColor: changeClass.includes('up') ? '#00ff9d' : '#ff0000',
1400
+ borderWidth: 2,
1401
+ pointRadius: 0,
1402
+ fill: false,
1403
+ tension: 0.4
1404
+ }]
1405
+ },
1406
+ options: {
1407
+ responsive: true,
1408
+ maintainAspectRatio: false,
1409
+ plugins: {
1410
+ legend: {
1411
+ display: false
1412
+ }
1413
+ },
1414
+ scales: {
1415
+ x: {
1416
+ display: false
1417
+ },
1418
+ y: {
1419
+ display: false
1420
+ }
1421
+ }
1422
+ }
1423
+ });
1424
+
1425
+ document.getElementById('assetModal').style.display = 'flex';
1426
  }
1427
 
1428
+ // Close modal
1429
+ document.getElementById('closeModal').addEventListener('click', () => {
1430
+ document.getElementById('assetModal').style.display = 'none';
1431
+ });
1432
 
1433
  // Simulate stock price changes
1434
  function simulateMarket() {
1435
+ // Randomly update some metrics
1436
+ const randomMetric = Math.floor(Math.random() * 4);
1437
+ const metricElement = document.querySelectorAll('#market-metrics > div')[randomMetric];
1438
+ metricElement.classList.add('glow-blue');
1439
+ setTimeout(() => metricElement.classList.remove('glow-blue'), 1000);
1440
+
1441
+ // Update stocks
1442
  stocks.forEach(stock => {
1443
  // Random price change between -2% and +2%
1444
  const changePercent = (Math.random() * 4 - 2) / 100;
 
1450
  stock.change = parseFloat(change.toFixed(2));
1451
  stock.percentChange = parseFloat(percentChange.toFixed(2));
1452
 
1453
+ // Update chart data
1454
+ stock.chartData.shift();
1455
+ stock.chartData.push(newPrice);
1456
+
1457
  // Random volume change
1458
  const volumeNum = parseFloat(stock.volume.replace(/[MK]/g, ''));
1459
  const volumeChange = Math.random() * 0.2 - 0.1; // -10% to +10%
 
1468
  stock.volume = newVolume;
1469
  });
1470
 
1471
+ // Randomly show notification for significant changes
1472
+ if (Math.random() > 0.7) {
1473
+ const randomStock = stocks[Math.floor(Math.random() * stocks.length)];
1474
+ if (Math.abs(randomStock.percentChange) >
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1475
  </html>