Boobs00 commited on
Commit
0033fef
·
verified ·
1 Parent(s): 1bad12b

Add 1 files

Browse files
Files changed (1) hide show
  1. index.html +985 -129
index.html CHANGED
@@ -3,9 +3,17 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>WinUI</title>
 
7
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
8
  <style>
 
 
 
 
 
 
 
9
  * {
10
  margin: 0;
11
  padding: 0;
@@ -14,19 +22,20 @@
14
  }
15
 
16
  body {
17
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
18
- background-color: #0078d7;
19
  background-image: url('https://4kwallpapers.com/images/wallpapers/windows-11-dark-mode-stock-official-3840x2400-5630.jpg');
20
  background-size: cover;
21
  background-position: center;
22
  height: 100vh;
23
  overflow: hidden;
24
- color: white;
25
  }
26
 
 
27
  .desktop {
28
- height: calc(100vh - 40px);
29
- padding: 10px;
30
  display: grid;
31
  grid-template-columns: repeat(auto-fill, 80px);
32
  grid-auto-rows: min-content;
@@ -34,226 +43,322 @@
34
  align-content: start;
35
  }
36
 
 
37
  .desktop-icon {
38
  width: 80px;
39
  text-align: center;
40
  cursor: pointer;
41
- padding: 5px;
42
- border-radius: 5px;
 
43
  }
44
 
45
  .desktop-icon:hover {
46
- background-color: rgba(255, 255, 255, 0.2);
 
 
 
 
 
 
47
  }
48
 
49
  .desktop-icon img {
50
  width: 40px;
51
  height: 40px;
52
- margin-bottom: 5px;
 
53
  }
54
 
55
  .desktop-icon span {
56
  font-size: 12px;
57
  display: block;
58
- text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
59
  word-break: break-word;
 
60
  }
61
 
 
62
  .taskbar {
63
  position: fixed;
64
  bottom: 0;
65
  left: 0;
66
  width: 100%;
67
- height: 40px;
68
- background-color: rgba(32, 32, 32, 0.8);
69
- backdrop-filter: blur(10px);
70
  display: flex;
71
  align-items: center;
72
  z-index: 1000;
 
73
  }
74
 
 
75
  .start-button {
76
  height: 100%;
77
- padding: 0 10px;
78
  display: flex;
79
  align-items: center;
80
- gap: 5px;
81
- font-weight: bold;
82
  cursor: pointer;
83
- transition: background-color 0.2s;
84
  }
85
 
86
  .start-button:hover {
87
  background-color: rgba(255, 255, 255, 0.1);
88
  }
89
 
 
 
 
 
 
 
 
90
  .taskbar-icons {
91
  display: flex;
92
  height: 100%;
93
  align-items: center;
94
- gap: 2px;
95
- margin-left: 10px;
96
  }
97
 
98
  .taskbar-icon {
99
  width: 24px;
100
  height: 24px;
101
- padding: 8px;
102
  cursor: pointer;
103
- border-radius: 4px;
 
104
  }
105
 
106
  .taskbar-icon:hover {
107
  background-color: rgba(255, 255, 255, 0.1);
108
  }
109
 
 
 
 
 
 
110
  .taskbar-icon img {
111
  width: 100%;
112
  height: 100%;
 
113
  }
114
 
 
115
  .clock {
116
  margin-left: auto;
117
- padding: 0 15px;
118
  font-size: 12px;
 
 
 
119
  }
120
 
 
121
  .start-menu {
122
  position: absolute;
123
- bottom: 40px;
124
  left: 0;
125
- width: 500px;
126
- height: 600px;
127
- background-color: rgba(32, 32, 32, 0.9);
128
- backdrop-filter: blur(20px);
129
  border-radius: 8px 8px 0 0;
130
  display: none;
131
  z-index: 1001;
132
- box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
133
  overflow: hidden;
 
 
 
 
 
134
  }
135
 
 
 
 
 
 
 
 
136
  .start-menu-header {
137
- padding: 15px;
138
  display: flex;
139
  align-items: center;
140
- gap: 10px;
 
 
 
 
 
 
141
  }
142
 
143
  .start-menu-header input {
144
  flex-grow: 1;
145
  background: rgba(255, 255, 255, 0.1);
146
  border: none;
147
- padding: 8px 15px;
148
  border-radius: 20px;
149
  color: white;
150
  outline: none;
 
 
151
  }
152
 
 
 
 
 
 
 
153
  .start-menu-content {
154
  display: grid;
155
  grid-template-columns: 1fr 1fr;
156
- height: calc(100% - 60px);
157
  }
158
 
159
  .pinned-apps, .recommended {
160
- padding: 10px;
161
  overflow-y: auto;
162
  }
163
 
164
  .pinned-apps h3, .recommended h3 {
165
- margin-bottom: 15px;
166
- font-weight: normal;
167
  font-size: 14px;
168
  color: rgba(255, 255, 255, 0.7);
 
 
169
  }
170
 
 
171
  .app-grid {
172
  display: grid;
173
  grid-template-columns: repeat(3, 1fr);
174
- gap: 10px;
175
  }
176
 
177
  .app {
178
- padding: 10px;
179
- border-radius: 5px;
180
  cursor: pointer;
181
  display: flex;
182
  flex-direction: column;
183
  align-items: center;
184
  text-align: center;
 
185
  }
186
 
187
  .app:hover {
188
  background-color: rgba(255, 255, 255, 0.1);
 
 
189
  }
190
 
191
  .app img {
192
- width: 30px;
193
- height: 30px;
194
- margin-bottom: 5px;
 
195
  }
196
 
197
  .app span {
198
  font-size: 12px;
 
199
  }
200
 
 
201
  .user-profile {
202
  margin-top: auto;
203
- padding: 15px;
204
  display: flex;
205
  align-items: center;
206
- gap: 10px;
207
- background-color: rgba(0, 0, 0, 0.2);
208
  cursor: pointer;
 
 
209
  }
210
 
211
  .user-profile:hover {
212
- background-color: rgba(0, 0, 0, 0.3);
213
  }
214
 
215
  .user-profile img {
216
- width: 30px;
217
- height: 30px;
218
  border-radius: 50%;
 
 
 
 
 
 
 
219
  }
220
 
 
221
  .window {
222
  position: absolute;
223
  min-width: 300px;
224
  min-height: 200px;
225
- background-color: rgba(32, 32, 32, 0.9);
226
- backdrop-filter: blur(20px);
227
  border-radius: 8px;
228
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
229
  display: none;
230
  flex-direction: column;
231
  overflow: hidden;
232
  z-index: 10;
 
 
 
 
233
  }
234
 
235
  .window.active {
236
  z-index: 100;
237
  display: flex;
 
 
 
 
 
 
 
 
 
 
238
  }
239
 
 
240
  .window-header {
241
- padding: 8px 10px;
242
  display: flex;
243
  align-items: center;
244
- background-color: rgba(0, 0, 0, 0.2);
245
  cursor: move;
 
246
  }
247
 
248
  .window-icon {
249
  width: 16px;
250
  height: 16px;
251
  margin-right: 8px;
 
252
  }
253
 
254
  .window-title {
255
  flex-grow: 1;
256
  font-size: 12px;
 
 
257
  }
258
 
259
  .window-controls {
@@ -261,93 +366,128 @@
261
  }
262
 
263
  .window-btn {
264
- width: 30px;
265
- height: 30px;
266
  display: flex;
267
  align-items: center;
268
  justify-content: center;
269
  cursor: pointer;
270
  background: none;
271
  border: none;
272
- color: white;
 
 
273
  }
274
 
275
  .window-btn:hover {
276
  background-color: rgba(255, 255, 255, 0.1);
 
 
 
 
 
277
  }
278
 
279
  .window-btn.close:hover {
280
  background-color: #e81123;
 
281
  }
282
 
 
283
  .window-content {
284
  flex-grow: 1;
285
- padding: 15px;
286
  overflow: auto;
 
287
  }
288
 
 
289
  .window-footer {
290
- padding: 8px;
291
- background-color: rgba(0, 0, 0, 0.1);
292
  font-size: 12px;
293
  display: flex;
294
  justify-content: space-between;
 
 
295
  }
296
 
297
- /* Explorer window specific */
298
  .explorer-nav {
299
  display: flex;
300
- padding: 5px 10px;
301
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
 
 
302
  }
303
 
304
  .explorer-nav-btn {
305
  background: none;
306
  border: none;
307
- color: white;
308
- padding: 5px 10px;
309
  font-size: 12px;
310
  cursor: pointer;
311
- border-radius: 3px;
 
312
  }
313
 
314
  .explorer-nav-btn:hover {
315
  background-color: rgba(255, 255, 255, 0.1);
 
 
 
 
 
316
  }
317
 
318
  .explorer-path {
319
  flex-grow: 1;
320
- padding: 5px;
321
  font-size: 12px;
322
  color: rgba(255, 255, 255, 0.7);
323
  border: 1px solid rgba(255, 255, 255, 0.2);
324
- border-radius: 3px;
325
  background: rgba(0, 0, 0, 0.2);
 
 
 
 
 
 
 
326
  }
327
 
328
  .explorer-body {
329
  display: flex;
330
- height: calc(100% - 60px);
331
  }
332
 
333
  .explorer-sidebar {
334
  width: 200px;
335
- padding: 10px;
336
  border-right: 1px solid rgba(255, 255, 255, 0.1);
 
 
337
  }
338
 
339
  .explorer-files {
340
  flex-grow: 1;
341
- padding: 10px;
342
  overflow-y: auto;
 
 
 
 
343
  }
344
 
345
  .folder {
346
  display: flex;
347
  align-items: center;
348
- padding: 5px;
349
  cursor: pointer;
350
- border-radius: 3px;
 
351
  }
352
 
353
  .folder:hover {
@@ -358,6 +498,38 @@
358
  width: 20px;
359
  height: 20px;
360
  margin-right: 8px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
361
  }
362
 
363
  /* Notepad window specific */
@@ -367,14 +539,206 @@
367
  background: none;
368
  border: none;
369
  color: white;
370
- font-family: 'Consolas', monospace;
371
  resize: none;
372
  outline: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
373
  }
374
  </style>
375
  </head>
376
  <body>
377
- <div class="desktop">
 
378
  <div class="desktop-icon" onclick="openWindow('explorer')">
379
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="File Explorer">
380
  <span>File Explorer</span>
@@ -387,30 +751,36 @@
387
  <img src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="Calculator">
388
  <span>Calculator</span>
389
  </div>
390
- <div class="desktop-icon">
391
  <img src="https://cdn-icons-png.flaticon.com/512/888/888882.png" alt="Chrome">
392
  <span>Google Chrome</span>
393
  </div>
 
 
 
 
394
  </div>
395
 
 
396
  <div class="taskbar">
397
  <div class="start-button" id="startButton" onclick="toggleStartMenu()">
398
  <i class="fab fa-windows"></i>
399
  </div>
400
  <div class="taskbar-icons">
401
- <div class="taskbar-icon" onclick="openWindow('explorer')">
402
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="File Explorer">
403
  </div>
404
- <div class="taskbar-icon" onclick="openWindow('notepad')">
405
  <img src="https://cdn-icons-png.flaticon.com/512/2809/2809932.png" alt="Notepad">
406
  </div>
407
- <div class="taskbar-icon" onclick="openWindow('calculator')">
408
  <img src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="Calculator">
409
  </div>
410
  </div>
411
  <div class="clock" id="clock">12:00 PM</div>
412
  </div>
413
 
 
414
  <div class="start-menu" id="startMenu">
415
  <div class="start-menu-header">
416
  <i class="fas fa-search"></i>
@@ -432,15 +802,15 @@
432
  <img src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="Calculator">
433
  <span>Calculator</span>
434
  </div>
435
- <div class="app">
436
  <img src="https://cdn-icons-png.flaticon.com/512/888/888882.png" alt="Chrome">
437
  <span>Google Chrome</span>
438
  </div>
439
- <div class="app">
440
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965278.png" alt="Settings">
441
  <span>Settings</span>
442
  </div>
443
- <div class="app">
444
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965256.png" alt="Store">
445
  <span>Microsoft Store</span>
446
  </div>
@@ -449,27 +819,27 @@
449
  <div class="recommended">
450
  <h3>Recommended</h3>
451
  <div class="app-grid">
452
- <div class="app">
453
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965283.png" alt="Word">
454
  <span>Word</span>
455
  </div>
456
- <div class="app">
457
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965335.png" alt="Excel">
458
  <span>Excel</span>
459
  </div>
460
- <div class="app">
461
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965291.png" alt="PowerPoint">
462
  <span>PowerPoint</span>
463
  </div>
464
- <div class="app">
465
  <img src="https://cdn-icons-png.flaticon.com/512/2913/2913111.png" alt="Visual Studio">
466
  <span>Visual Studio</span>
467
  </div>
468
- <div class="app">
469
  <img src="https://cdn-icons-png.flaticon.com/512/5968/5968666.png" alt="Edge">
470
  <span>Edge</span>
471
  </div>
472
- <div class="app">
473
  <img src="https://cdn-icons-png.flaticon.com/512/3046/3046125.png" alt="Outlook">
474
  <span>Outlook</span>
475
  </div>
@@ -478,17 +848,18 @@
478
  </div>
479
  <div class="user-profile" onclick="openWindow('user-settings')">
480
  <img src="https://cdn-icons-png.flaticon.com/512/149/149071.png" alt="User">
481
- <span>User</span>
482
  </div>
483
  </div>
484
 
485
- <div class="window" id="explorerWindow">
 
486
  <div class="window-header">
487
  <img class="window-icon" src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="Explorer">
488
  <div class="window-title">File Explorer</div>
489
  <div class="window-controls">
490
- <button class="window-btn minimize"><i class="fas fa-minus"></i></button>
491
- <button class="window-btn maximize"><i class="far fa-square"></i></button>
492
  <button class="window-btn close" onclick="closeWindow('explorerWindow')"><i class="fas fa-times"></i></button>
493
  </div>
494
  </div>
@@ -526,62 +897,239 @@
526
  </div>
527
  </div>
528
  <div class="explorer-files">
529
- Some files would be listed here...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
530
  </div>
531
  </div>
532
  <div class="window-footer">
533
- <div>5 items</div>
534
- <div>100 GB free of 256 GB</div>
535
  </div>
 
 
 
 
 
 
 
 
 
 
536
  </div>
537
 
538
- <div class="window" id="notepadWindow">
 
539
  <div class="window-header">
540
  <img class="window-icon" src="https://cdn-icons-png.flaticon.com/512/2809/2809932.png" alt="Notepad">
541
  <div class="window-title">Untitled - Notepad</div>
542
  <div class="window-controls">
543
- <button class="window-btn minimize"><i class="fas fa-minus"></i></button>
544
- <button class="window-btn maximize"><i class="far fa-square"></i></button>
545
  <button class="window-btn close" onclick="closeWindow('notepadWindow')"><i class="fas fa-times"></i></button>
546
  </div>
547
  </div>
548
  <div class="window-content">
549
- <textarea class="notepad-textarea">This is a sample text in Notepad.
 
 
550
 
551
- You can type here whatever you want.
 
 
552
 
553
- • List item 1
554
- List item 2
555
- List item 3
 
556
 
557
- 1234567890
558
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
559
- abcdefghijklmnopqrstuvwxyz</textarea>
560
  </div>
561
  <div class="window-footer">
562
- <div>Ln 7, Col 1</div>
563
  <div>Windows (CRLF)</div>
564
  <div>UTF-8</div>
565
  </div>
 
 
 
 
 
 
 
 
 
 
566
  </div>
567
 
568
- <div class="window" id="calculatorWindow">
 
569
  <div class="window-header">
570
  <img class="window-icon" src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="Calculator">
571
  <div class="window-title">Calculator</div>
572
- <div class="window-controls">
573
- <button class="window-btn minimize"><i class="fas fa-minus"></i></button>
574
- <button class="window-btn maximize"><i class="far fa-square"></i></button>
575
- <button class="window-btn close" onclick="closeWindow('calculatorWindow')"><i class="fas fa-times"></i></button>
 
576
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
577
  </div>
578
  <div class="window-content">
579
- <p>Calculator functionality would go here...</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
580
  </div>
581
  </div>
582
 
583
  <script>
584
- // Clock functionality
585
  function updateClock() {
586
  const now = new Date();
587
  const hours = now.getHours();
@@ -592,57 +1140,146 @@ abcdefghijklmnopqrstuvwxyz</textarea>
592
  document.getElementById('clock').textContent = `${formattedHours}:${minutes} ${ampm}`;
593
  }
594
 
 
595
  setInterval(updateClock, 1000);
596
  updateClock();
597
 
598
- // Start menu functionality
599
  function toggleStartMenu() {
600
  const startMenu = document.getElementById('startMenu');
601
- startMenu.style.display = startMenu.style.display === 'block' ? 'none' : 'block';
 
 
 
 
 
 
602
  }
603
 
604
- // Close start menu when clicking outside
605
  document.addEventListener('click', function(event) {
606
  const startMenu = document.getElementById('startMenu');
607
  const startButton = document.getElementById('startButton');
608
 
609
- if (!startMenu.contains(event.target) && event.target !== startButton) {
610
- startMenu.style.display = 'none';
 
 
611
  }
612
  });
613
 
614
- // Window management
 
 
 
 
 
 
 
 
 
615
  function openWindow(windowId) {
616
- document.getElementById(windowId + 'Window').classList.add('active');
617
- document.getElementById('startMenu').style.display = 'none';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  }
619
 
 
620
  function closeWindow(windowId) {
621
- document.getElementById(windowId).classList.remove('active');
 
 
 
 
 
 
 
 
 
622
  }
623
 
624
- // Make windows draggable
625
- const windows = document.querySelectorAll('.window');
626
- windows.forEach(window => {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
627
  const header = window.querySelector('.window-header');
628
  let isDragging = false;
629
  let offsetX, offsetY;
 
630
 
631
  header.addEventListener('mousedown', function(e) {
 
 
 
632
  isDragging = true;
633
  offsetX = e.clientX - window.getBoundingClientRect().left;
634
  offsetY = e.clientY - window.getBoundingClientRect().top;
 
 
635
 
636
  // Bring to front
637
- windows.forEach(w => w.style.zIndex = 10);
 
 
638
  window.style.zIndex = 100;
639
  });
640
 
641
  document.addEventListener('mousemove', function(e) {
642
  if (!isDragging) return;
643
 
644
- const x = e.clientX - offsetX;
645
- const y = e.clientY - offsetY;
 
 
 
 
 
 
 
 
646
 
647
  window.style.left = x + 'px';
648
  window.style.top = y + 'px';
@@ -653,8 +1290,227 @@ abcdefghijklmnopqrstuvwxyz</textarea>
653
  });
654
  });
655
 
656
- // Open File Explorer by default
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
657
  openWindow('explorer');
658
  </script>
659
- </body>
660
  </html>
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Cyberpunk Desktop</title>
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
+ /* Cyberpunk neon glow effect */
11
+ @keyframes neonGlow {
12
+ 0%, 100% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #0073e6, 0 0 20px #0073e6; }
13
+ 50% { text-shadow: 0 0 2px #fff, 0 0 5px #fff, 0 0 10px #0073e6, 0 0 15px #0073e6; }
14
+ }
15
+
16
+ /* Base styles with cyberpunk flair */
17
  * {
18
  margin: 0;
19
  padding: 0;
 
22
  }
23
 
24
  body {
25
+ font-family: 'Segoe UI', 'Noto Sans', system-ui, -apple-system, sans-serif;
26
+ background-color: #000;
27
  background-image: url('https://4kwallpapers.com/images/wallpapers/windows-11-dark-mode-stock-official-3840x2400-5630.jpg');
28
  background-size: cover;
29
  background-position: center;
30
  height: 100vh;
31
  overflow: hidden;
32
+ color: #fff;
33
  }
34
 
35
+ /* Desktop area with grid layout for icons */
36
  .desktop {
37
+ height: calc(100vh - 48px);
38
+ padding: 20px;
39
  display: grid;
40
  grid-template-columns: repeat(auto-fill, 80px);
41
  grid-auto-rows: min-content;
 
43
  align-content: start;
44
  }
45
 
46
+ /* Desktop icons with hover effects */
47
  .desktop-icon {
48
  width: 80px;
49
  text-align: center;
50
  cursor: pointer;
51
+ padding: 8px;
52
+ border-radius: 8px;
53
+ transition: all 0.2s ease;
54
  }
55
 
56
  .desktop-icon:hover {
57
+ background-color: rgba(255, 255, 255, 0.1);
58
+ transform: translateY(-2px);
59
+ box-shadow: 0 5px 15px rgba(0, 115, 230, 0.4);
60
+ }
61
+
62
+ .desktop-icon:active {
63
+ transform: translateY(0);
64
  }
65
 
66
  .desktop-icon img {
67
  width: 40px;
68
  height: 40px;
69
+ margin-bottom: 8px;
70
+ filter: drop-shadow(0 0 2px rgba(0, 115, 230, 0.7));
71
  }
72
 
73
  .desktop-icon span {
74
  font-size: 12px;
75
  display: block;
76
+ text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
77
  word-break: break-word;
78
+ color: #fff;
79
  }
80
 
81
+ /* Taskbar with glass morphism effect */
82
  .taskbar {
83
  position: fixed;
84
  bottom: 0;
85
  left: 0;
86
  width: 100%;
87
+ height: 48px;
88
+ background: rgba(32, 32, 32, 0.7);
89
+ backdrop-filter: blur(12px);
90
  display: flex;
91
  align-items: center;
92
  z-index: 1000;
93
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
94
  }
95
 
96
+ /* Start button with Windows logo */
97
  .start-button {
98
  height: 100%;
99
+ padding: 0 12px;
100
  display: flex;
101
  align-items: center;
102
+ gap: 6px;
103
+ font-weight: 500;
104
  cursor: pointer;
105
+ transition: all 0.2s ease;
106
  }
107
 
108
  .start-button:hover {
109
  background-color: rgba(255, 255, 255, 0.1);
110
  }
111
 
112
+ .start-button i {
113
+ font-size: 18px;
114
+ color: #fff;
115
+ filter: drop-shadow(0 0 3px rgba(0, 115, 230, 0.7));
116
+ }
117
+
118
+ /* Taskbar icons */
119
  .taskbar-icons {
120
  display: flex;
121
  height: 100%;
122
  align-items: center;
123
+ gap: 4px;
124
+ margin-left: 8px;
125
  }
126
 
127
  .taskbar-icon {
128
  width: 24px;
129
  height: 24px;
130
+ padding: 12px;
131
  cursor: pointer;
132
+ border-radius: 6px;
133
+ transition: all 0.2s ease;
134
  }
135
 
136
  .taskbar-icon:hover {
137
  background-color: rgba(255, 255, 255, 0.1);
138
  }
139
 
140
+ .taskbar-icon.active {
141
+ background-color: rgba(255, 255, 255, 0.2);
142
+ border-bottom: 2px solid rgba(0, 115, 230, 0.7);
143
+ }
144
+
145
  .taskbar-icon img {
146
  width: 100%;
147
  height: 100%;
148
+ filter: drop-shadow(0 0 2px rgba(0, 115, 230, 0.5));
149
  }
150
 
151
+ /* Clock with neon effect */
152
  .clock {
153
  margin-left: auto;
154
+ padding: 0 16px;
155
  font-size: 12px;
156
+ font-weight: 500;
157
+ color: #fff;
158
+ animation: neonGlow 3s infinite alternate;
159
  }
160
 
161
+ /* Start menu - cyberpunk style */
162
  .start-menu {
163
  position: absolute;
164
+ bottom: 48px;
165
  left: 0;
166
+ width: 600px;
167
+ height: 650px;
168
+ background: rgba(32, 32, 32, 0.9);
169
+ backdrop-filter: blur(24px);
170
  border-radius: 8px 8px 0 0;
171
  display: none;
172
  z-index: 1001;
173
+ box-shadow: 0 0 30px rgba(0, 115, 230, 0.3);
174
  overflow: hidden;
175
+ border: 1px solid rgba(255, 255, 255, 0.1);
176
+ transform-origin: bottom left;
177
+ transform: scale(0.95);
178
+ opacity: 0;
179
+ transition: all 0.2s ease;
180
  }
181
 
182
+ .start-menu.visible {
183
+ display: block;
184
+ transform: scale(1);
185
+ opacity: 1;
186
+ }
187
+
188
+ /* Start menu header with search */
189
  .start-menu-header {
190
+ padding: 16px;
191
  display: flex;
192
  align-items: center;
193
+ gap: 12px;
194
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
195
+ }
196
+
197
+ .start-menu-header i {
198
+ font-size: 16px;
199
+ color: rgba(255, 255, 255, 0.7);
200
  }
201
 
202
  .start-menu-header input {
203
  flex-grow: 1;
204
  background: rgba(255, 255, 255, 0.1);
205
  border: none;
206
+ padding: 8px 16px;
207
  border-radius: 20px;
208
  color: white;
209
  outline: none;
210
+ font-size: 14px;
211
+ transition: all 0.2s ease;
212
  }
213
 
214
+ .start-menu-header input:focus {
215
+ background: rgba(255, 255, 255, 0.15);
216
+ box-shadow: 0 0 0 2px rgba(0, 115, 230, 0.5);
217
+ }
218
+
219
+ /* Start menu content grid */
220
  .start-menu-content {
221
  display: grid;
222
  grid-template-columns: 1fr 1fr;
223
+ height: calc(100% - 120px);
224
  }
225
 
226
  .pinned-apps, .recommended {
227
+ padding: 16px;
228
  overflow-y: auto;
229
  }
230
 
231
  .pinned-apps h3, .recommended h3 {
232
+ margin-bottom: 16px;
233
+ font-weight: 500;
234
  font-size: 14px;
235
  color: rgba(255, 255, 255, 0.7);
236
+ text-transform: uppercase;
237
+ letter-spacing: 0.5px;
238
  }
239
 
240
+ /* App grid layout */
241
  .app-grid {
242
  display: grid;
243
  grid-template-columns: repeat(3, 1fr);
244
+ gap: 12px;
245
  }
246
 
247
  .app {
248
+ padding: 12px;
249
+ border-radius: 6px;
250
  cursor: pointer;
251
  display: flex;
252
  flex-direction: column;
253
  align-items: center;
254
  text-align: center;
255
+ transition: all 0.2s ease;
256
  }
257
 
258
  .app:hover {
259
  background-color: rgba(255, 255, 255, 0.1);
260
+ transform: translateY(-2px);
261
+ box-shadow: 0 5px 15px rgba(0, 115, 230, 0.3);
262
  }
263
 
264
  .app img {
265
+ width: 32px;
266
+ height: 32px;
267
+ margin-bottom: 8px;
268
+ filter: drop-shadow(0 0 2px rgba(0, 115, 230, 0.5));
269
  }
270
 
271
  .app span {
272
  font-size: 12px;
273
+ color: #fff;
274
  }
275
 
276
+ /* User profile at bottom */
277
  .user-profile {
278
  margin-top: auto;
279
+ padding: 16px;
280
  display: flex;
281
  align-items: center;
282
+ gap: 12px;
283
+ background-color: rgba(0, 0, 0, 0.3);
284
  cursor: pointer;
285
+ transition: all 0.2s ease;
286
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
287
  }
288
 
289
  .user-profile:hover {
290
+ background-color: rgba(0, 0, 0, 0.4);
291
  }
292
 
293
  .user-profile img {
294
+ width: 32px;
295
+ height: 32px;
296
  border-radius: 50%;
297
+ border: 2px solid rgba(0, 115, 230, 0.7);
298
+ }
299
+
300
+ .user-profile span {
301
+ font-size: 14px;
302
+ font-weight: 500;
303
+ color: #fff;
304
  }
305
 
306
+ /* Window styles - cyberpunk enhanced */
307
  .window {
308
  position: absolute;
309
  min-width: 300px;
310
  min-height: 200px;
311
+ background: rgba(32, 32, 32, 0.95);
312
+ backdrop-filter: blur(16px);
313
  border-radius: 8px;
314
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
315
  display: none;
316
  flex-direction: column;
317
  overflow: hidden;
318
  z-index: 10;
319
+ border: 1px solid rgba(255, 255, 255, 0.1);
320
+ transform: scale(0.95);
321
+ opacity: 0;
322
+ transition: all 0.2s ease;
323
  }
324
 
325
  .window.active {
326
  z-index: 100;
327
  display: flex;
328
+ transform: scale(1);
329
+ opacity: 1;
330
+ }
331
+
332
+ .window.maximized {
333
+ width: calc(100% - 20px) !important;
334
+ height: calc(100% - 68px) !important;
335
+ top: 10px !important;
336
+ left: 10px !important;
337
+ border-radius: 0;
338
  }
339
 
340
+ /* Window header with title and controls */
341
  .window-header {
342
+ padding: 8px 12px;
343
  display: flex;
344
  align-items: center;
345
+ background: rgba(0, 0, 0, 0.3);
346
  cursor: move;
347
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
348
  }
349
 
350
  .window-icon {
351
  width: 16px;
352
  height: 16px;
353
  margin-right: 8px;
354
+ filter: drop-shadow(0 0 2px rgba(0, 115, 230, 0.7));
355
  }
356
 
357
  .window-title {
358
  flex-grow: 1;
359
  font-size: 12px;
360
+ font-weight: 500;
361
+ color: #fff;
362
  }
363
 
364
  .window-controls {
 
366
  }
367
 
368
  .window-btn {
369
+ width: 32px;
370
+ height: 32px;
371
  display: flex;
372
  align-items: center;
373
  justify-content: center;
374
  cursor: pointer;
375
  background: none;
376
  border: none;
377
+ color: rgba(255, 255, 255, 0.7);
378
+ transition: all 0.2s ease;
379
+ border-radius: 4px;
380
  }
381
 
382
  .window-btn:hover {
383
  background-color: rgba(255, 255, 255, 0.1);
384
+ color: #fff;
385
+ }
386
+
387
+ .window-btn i {
388
+ font-size: 12px;
389
  }
390
 
391
  .window-btn.close:hover {
392
  background-color: #e81123;
393
+ color: #fff;
394
  }
395
 
396
+ /* Window content area */
397
  .window-content {
398
  flex-grow: 1;
399
+ padding: 16px;
400
  overflow: auto;
401
+ color: rgba(255, 255, 255, 0.9);
402
  }
403
 
404
+ /* Window footer */
405
  .window-footer {
406
+ padding: 8px 12px;
407
+ background: rgba(0, 0, 0, 0.2);
408
  font-size: 12px;
409
  display: flex;
410
  justify-content: space-between;
411
+ color: rgba(255, 255, 255, 0.7);
412
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
413
  }
414
 
415
+ /* Explorer window specific styles */
416
  .explorer-nav {
417
  display: flex;
418
+ padding: 8px 12px;
419
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
420
+ background: rgba(0, 0, 0, 0.2);
421
+ gap: 4px;
422
  }
423
 
424
  .explorer-nav-btn {
425
  background: none;
426
  border: none;
427
+ color: rgba(255, 255, 255, 0.7);
428
+ padding: 6px 12px;
429
  font-size: 12px;
430
  cursor: pointer;
431
+ border-radius: 4px;
432
+ transition: all 0.2s ease;
433
  }
434
 
435
  .explorer-nav-btn:hover {
436
  background-color: rgba(255, 255, 255, 0.1);
437
+ color: #fff;
438
+ }
439
+
440
+ .explorer-nav-btn i {
441
+ font-size: 12px;
442
  }
443
 
444
  .explorer-path {
445
  flex-grow: 1;
446
+ padding: 6px 12px;
447
  font-size: 12px;
448
  color: rgba(255, 255, 255, 0.7);
449
  border: 1px solid rgba(255, 255, 255, 0.2);
450
+ border-radius: 4px;
451
  background: rgba(0, 0, 0, 0.2);
452
+ outline: none;
453
+ transition: all 0.2s ease;
454
+ }
455
+
456
+ .explorer-path:focus {
457
+ border-color: rgba(0, 115, 230, 0.7);
458
+ box-shadow: 0 0 0 1px rgba(0, 115, 230, 0.5);
459
  }
460
 
461
  .explorer-body {
462
  display: flex;
463
+ height: calc(100% - 80px);
464
  }
465
 
466
  .explorer-sidebar {
467
  width: 200px;
468
+ padding: 12px;
469
  border-right: 1px solid rgba(255, 255, 255, 0.1);
470
+ background: rgba(0, 0, 0, 0.1);
471
+ overflow-y: auto;
472
  }
473
 
474
  .explorer-files {
475
  flex-grow: 1;
476
+ padding: 12px;
477
  overflow-y: auto;
478
+ display: grid;
479
+ grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
480
+ gap: 12px;
481
+ align-content: start;
482
  }
483
 
484
  .folder {
485
  display: flex;
486
  align-items: center;
487
+ padding: 8px;
488
  cursor: pointer;
489
+ border-radius: 4px;
490
+ transition: all 0.2s ease;
491
  }
492
 
493
  .folder:hover {
 
498
  width: 20px;
499
  height: 20px;
500
  margin-right: 8px;
501
+ filter: drop-shadow(0 0 2px rgba(0, 115, 230, 0.5));
502
+ }
503
+
504
+ .folder span {
505
+ font-size: 12px;
506
+ color: #fff;
507
+ }
508
+
509
+ .file {
510
+ padding: 12px;
511
+ border-radius: 4px;
512
+ cursor: pointer;
513
+ text-align: center;
514
+ transition: all 0.2s ease;
515
+ }
516
+
517
+ .file:hover {
518
+ background-color: rgba(255, 255, 255, 0.1);
519
+ }
520
+
521
+ .file img {
522
+ width: 40px;
523
+ height: 40px;
524
+ margin-bottom: 8px;
525
+ filter: drop-shadow(0 0 2px rgba(0, 115, 230, 0.5));
526
+ }
527
+
528
+ .file span {
529
+ font-size: 12px;
530
+ color: #fff;
531
+ display: block;
532
+ word-break: break-word;
533
  }
534
 
535
  /* Notepad window specific */
 
539
  background: none;
540
  border: none;
541
  color: white;
542
+ font-family: 'Consolas', 'Courier New', monospace;
543
  resize: none;
544
  outline: none;
545
+ font-size: 14px;
546
+ line-height: 1.5;
547
+ }
548
+
549
+ /* Calculator window specific */
550
+ .calculator {
551
+ display: grid;
552
+ grid-template-columns: repeat(4, 1fr);
553
+ gap: 8px;
554
+ padding: 12px;
555
+ }
556
+
557
+ .calculator-display {
558
+ grid-column: span 4;
559
+ background: rgba(0, 0, 0, 0.3);
560
+ border: 1px solid rgba(255, 255, 255, 0.1);
561
+ border-radius: 4px;
562
+ padding: 12px;
563
+ text-align: right;
564
+ font-size: 24px;
565
+ margin-bottom: 8px;
566
+ height: 48px;
567
+ overflow: hidden;
568
+ text-overflow: ellipsis;
569
+ white-space: nowrap;
570
+ }
571
+
572
+ .calculator-btn {
573
+ padding: 12px;
574
+ border: none;
575
+ border-radius: 4px;
576
+ background: rgba(255, 255, 255, 0.1);
577
+ color: #fff;
578
+ font-size: 16px;
579
+ cursor: pointer;
580
+ transition: all 0.2s ease;
581
+ }
582
+
583
+ .calculator-btn:hover {
584
+ background: rgba(255, 255, 255, 0.2);
585
+ }
586
+
587
+ .calculator-btn.operator {
588
+ background: rgba(0, 115, 230, 0.7);
589
+ }
590
+
591
+ .calculator-btn.operator:hover {
592
+ background: rgba(0, 115, 230, 0.9);
593
+ }
594
+
595
+ .calculator-btn.equals {
596
+ background: rgba(0, 180, 100, 0.7);
597
+ }
598
+
599
+ .calculator-btn.equals:hover {
600
+ background: rgba(0, 180, 100, 0.9);
601
+ }
602
+
603
+ .calculator-btn.clear {
604
+ background: rgba(230, 50, 50, 0.7);
605
+ }
606
+
607
+ .calculator-btn.clear:hover {
608
+ background: rgba(230, 50, 50, 0.9);
609
+ }
610
+
611
+ /* Resize handles - invisible but functional */
612
+ .resize-handle {
613
+ position: absolute;
614
+ background: transparent;
615
+ z-index: 10;
616
+ }
617
+
618
+ .resize-handle.top {
619
+ top: 0;
620
+ left: 0;
621
+ width: 100%;
622
+ height: 4px;
623
+ cursor: ns-resize;
624
+ }
625
+
626
+ .resize-handle.right {
627
+ top: 0;
628
+ right: 0;
629
+ width: 4px;
630
+ height: 100%;
631
+ cursor: ew-resize;
632
+ }
633
+
634
+ .resize-handle.bottom {
635
+ bottom: 0;
636
+ left: 0;
637
+ width: 100%;
638
+ height: 4px;
639
+ cursor: ns-resize;
640
+ }
641
+
642
+ .resize-handle.left {
643
+ top: 0;
644
+ left: 0;
645
+ width: 4px;
646
+ height: 100%;
647
+ cursor: ew-resize;
648
+ }
649
+
650
+ .resize-handle.top-left {
651
+ top: 0;
652
+ left: 0;
653
+ width: 10px;
654
+ height: 10px;
655
+ cursor: nwse-resize;
656
+ }
657
+
658
+ .resize-handle.top-right {
659
+ top: 0;
660
+ right: 0;
661
+ width: 10px;
662
+ height: 10px;
663
+ cursor: nesw-resize;
664
+ }
665
+
666
+ .resize-handle.bottom-left {
667
+ bottom: 0;
668
+ left: 0;
669
+ width: 10px;
670
+ height: 10px;
671
+ cursor: nesw-resize;
672
+ }
673
+
674
+ .resize-handle.bottom-right {
675
+ bottom: 0;
676
+ right: 0;
677
+ width: 10px;
678
+ height: 10px;
679
+ cursor: nwse-resize;
680
+ }
681
+
682
+ /* Ghost preview for resizing */
683
+ .resize-ghost {
684
+ position: absolute;
685
+ border: 2px dashed rgba(0, 115, 230, 0.7);
686
+ background: rgba(0, 115, 230, 0.1);
687
+ pointer-events: none;
688
+ z-index: 1000;
689
+ display: none;
690
+ }
691
+
692
+ /* Context menu */
693
+ .context-menu {
694
+ position: absolute;
695
+ background: rgba(32, 32, 32, 0.95);
696
+ backdrop-filter: blur(10px);
697
+ border: 1px solid rgba(255, 255, 255, 0.1);
698
+ border-radius: 6px;
699
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
700
+ z-index: 2000;
701
+ display: none;
702
+ min-width: 180px;
703
+ overflow: hidden;
704
+ }
705
+
706
+ .context-menu.visible {
707
+ display: block;
708
+ }
709
+
710
+ .context-menu-item {
711
+ padding: 8px 16px;
712
+ font-size: 12px;
713
+ color: rgba(255, 255, 255, 0.9);
714
+ cursor: pointer;
715
+ transition: all 0.2s ease;
716
+ display: flex;
717
+ align-items: center;
718
+ gap: 8px;
719
+ }
720
+
721
+ .context-menu-item:hover {
722
+ background: rgba(0, 115, 230, 0.5);
723
+ color: #fff;
724
+ }
725
+
726
+ .context-menu-item i {
727
+ font-size: 12px;
728
+ width: 16px;
729
+ text-align: center;
730
+ }
731
+
732
+ .context-menu-divider {
733
+ height: 1px;
734
+ background: rgba(255, 255, 255, 0.1);
735
+ margin: 4px 0;
736
  }
737
  </style>
738
  </head>
739
  <body>
740
+ <!-- Desktop with icons -->
741
+ <div class="desktop" id="desktop">
742
  <div class="desktop-icon" onclick="openWindow('explorer')">
743
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="File Explorer">
744
  <span>File Explorer</span>
 
751
  <img src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="Calculator">
752
  <span>Calculator</span>
753
  </div>
754
+ <div class="desktop-icon" onclick="openWindow('chrome')">
755
  <img src="https://cdn-icons-png.flaticon.com/512/888/888882.png" alt="Chrome">
756
  <span>Google Chrome</span>
757
  </div>
758
+ <div class="desktop-icon" onclick="openWindow('terminal')">
759
+ <img src="https://cdn-icons-png.flaticon.com/512/6124/6124995.png" alt="Terminal">
760
+ <span>Terminal</span>
761
+ </div>
762
  </div>
763
 
764
+ <!-- Taskbar -->
765
  <div class="taskbar">
766
  <div class="start-button" id="startButton" onclick="toggleStartMenu()">
767
  <i class="fab fa-windows"></i>
768
  </div>
769
  <div class="taskbar-icons">
770
+ <div class="taskbar-icon" id="explorerTaskbarIcon" onclick="toggleWindow('explorer')">
771
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="File Explorer">
772
  </div>
773
+ <div class="taskbar-icon" id="notepadTaskbarIcon" onclick="toggleWindow('notepad')">
774
  <img src="https://cdn-icons-png.flaticon.com/512/2809/2809932.png" alt="Notepad">
775
  </div>
776
+ <div class="taskbar-icon" id="calculatorTaskbarIcon" onclick="toggleWindow('calculator')">
777
  <img src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="Calculator">
778
  </div>
779
  </div>
780
  <div class="clock" id="clock">12:00 PM</div>
781
  </div>
782
 
783
+ <!-- Start Menu -->
784
  <div class="start-menu" id="startMenu">
785
  <div class="start-menu-header">
786
  <i class="fas fa-search"></i>
 
802
  <img src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="Calculator">
803
  <span>Calculator</span>
804
  </div>
805
+ <div class="app" onclick="openWindow('chrome')">
806
  <img src="https://cdn-icons-png.flaticon.com/512/888/888882.png" alt="Chrome">
807
  <span>Google Chrome</span>
808
  </div>
809
+ <div class="app" onclick="openWindow('settings')">
810
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965278.png" alt="Settings">
811
  <span>Settings</span>
812
  </div>
813
+ <div class="app" onclick="openWindow('store')">
814
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965256.png" alt="Store">
815
  <span>Microsoft Store</span>
816
  </div>
 
819
  <div class="recommended">
820
  <h3>Recommended</h3>
821
  <div class="app-grid">
822
+ <div class="app" onclick="openWindow('word')">
823
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965283.png" alt="Word">
824
  <span>Word</span>
825
  </div>
826
+ <div class="app" onclick="openWindow('excel')">
827
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965335.png" alt="Excel">
828
  <span>Excel</span>
829
  </div>
830
+ <div class="app" onclick="openWindow('powerpoint')">
831
  <img src="https://cdn-icons-png.flaticon.com/512/2965/2965291.png" alt="PowerPoint">
832
  <span>PowerPoint</span>
833
  </div>
834
+ <div class="app" onclick="openWindow('vscode')">
835
  <img src="https://cdn-icons-png.flaticon.com/512/2913/2913111.png" alt="Visual Studio">
836
  <span>Visual Studio</span>
837
  </div>
838
+ <div class="app" onclick="openWindow('edge')">
839
  <img src="https://cdn-icons-png.flaticon.com/512/5968/5968666.png" alt="Edge">
840
  <span>Edge</span>
841
  </div>
842
+ <div class="app" onclick="openWindow('outlook')">
843
  <img src="https://cdn-icons-png.flaticon.com/512/3046/3046125.png" alt="Outlook">
844
  <span>Outlook</span>
845
  </div>
 
848
  </div>
849
  <div class="user-profile" onclick="openWindow('user-settings')">
850
  <img src="https://cdn-icons-png.flaticon.com/512/149/149071.png" alt="User">
851
+ <span>Cyberpunk User</span>
852
  </div>
853
  </div>
854
 
855
+ <!-- File Explorer Window -->
856
+ <div class="window" id="explorerWindow" style="width: 800px; height: 500px; top: 100px; left: 100px;">
857
  <div class="window-header">
858
  <img class="window-icon" src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="Explorer">
859
  <div class="window-title">File Explorer</div>
860
  <div class="window-controls">
861
+ <button class="window-btn minimize" onclick="minimizeWindow('explorerWindow')"><i class="fas fa-minus"></i></button>
862
+ <button class="window-btn maximize" onclick="toggleMaximize('explorerWindow')"><i class="far fa-square"></i></button>
863
  <button class="window-btn close" onclick="closeWindow('explorerWindow')"><i class="fas fa-times"></i></button>
864
  </div>
865
  </div>
 
897
  </div>
898
  </div>
899
  <div class="explorer-files">
900
+ <div class="file">
901
+ <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="Folder">
902
+ <span>Documents</span>
903
+ </div>
904
+ <div class="file">
905
+ <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="Folder">
906
+ <span>Downloads</span>
907
+ </div>
908
+ <div class="file">
909
+ <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="Folder">
910
+ <span>Music</span>
911
+ </div>
912
+ <div class="file">
913
+ <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="Folder">
914
+ <span>Pictures</span>
915
+ </div>
916
+ <div class="file">
917
+ <img src="https://cdn-icons-png.flaticon.com/512/2965/2965300.png" alt="Folder">
918
+ <span>Videos</span>
919
+ </div>
920
+ <div class="file">
921
+ <img src="https://cdn-icons-png.flaticon.com/512/2809/2809932.png" alt="File">
922
+ <span>notes.txt</span>
923
+ </div>
924
+ <div class="file">
925
+ <img src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="File">
926
+ <span>calc.exe</span>
927
+ </div>
928
+ <div class="file">
929
+ <img src="https://cdn-icons-png.flaticon.com/512/888/888882.png" alt="File">
930
+ <span>chrome.exe</span>
931
+ </div>
932
  </div>
933
  </div>
934
  <div class="window-footer">
935
+ <div>8 items</div>
936
+ <div>150 GB free of 256 GB</div>
937
  </div>
938
+
939
+ <!-- Resize handles -->
940
+ <div class="resize-handle top"></div>
941
+ <div class="resize-handle right"></div>
942
+ <div class="resize-handle bottom"></div>
943
+ <div class="resize-handle left"></div>
944
+ <div class="resize-handle top-left"></div>
945
+ <div class="resize-handle top-right"></div>
946
+ <div class="resize-handle bottom-left"></div>
947
+ <div class="resize-handle bottom-right"></div>
948
  </div>
949
 
950
+ <!-- Notepad Window -->
951
+ <div class="window" id="notepadWindow" style="width: 600px; height: 400px; top: 150px; left: 200px;">
952
  <div class="window-header">
953
  <img class="window-icon" src="https://cdn-icons-png.flaticon.com/512/2809/2809932.png" alt="Notepad">
954
  <div class="window-title">Untitled - Notepad</div>
955
  <div class="window-controls">
956
+ <button class="window-btn minimize" onclick="minimizeWindow('notepadWindow')"><i class="fas fa-minus"></i></button>
957
+ <button class="window-btn maximize" onclick="toggleMaximize('notepadWindow')"><i class="far fa-square"></i></button>
958
  <button class="window-btn close" onclick="closeWindow('notepadWindow')"><i class="fas fa-times"></i></button>
959
  </div>
960
  </div>
961
  <div class="window-content">
962
+ <textarea class="notepad-textarea">Welcome to Cyberpunk Notepad!
963
+
964
+ This is a rebellious text editor for the digital underworld.
965
 
966
+ Hack the planet
967
+ • Break the rules
968
+ • Code with attitude
969
 
970
+ Remember:
971
+ - The system is your playground
972
+ - Conformity is the enemy
973
+ - Style matters as much as function
974
 
975
+ Now go forth and create something that would make the establishment nervous!</textarea>
 
 
976
  </div>
977
  <div class="window-footer">
978
+ <div>Ln 10, Col 1</div>
979
  <div>Windows (CRLF)</div>
980
  <div>UTF-8</div>
981
  </div>
982
+
983
+ <!-- Resize handles -->
984
+ <div class="resize-handle top"></div>
985
+ <div class="resize-handle right"></div>
986
+ <div class="resize-handle bottom"></div>
987
+ <div class="resize-handle left"></div>
988
+ <div class="resize-handle top-left"></div>
989
+ <div class="resize-handle top-right"></div>
990
+ <div class="resize-handle bottom-left"></div>
991
+ <div class="resize-handle bottom-right"></div>
992
  </div>
993
 
994
+ <!-- Calculator Window -->
995
+ <div class="window" id="calculatorWindow" style="width: 300px; height: 400px; top: 200px; left: 300px;">
996
  <div class="window-header">
997
  <img class="window-icon" src="https://cdn-icons-png.flaticon.com/512/210/210826.png" alt="Calculator">
998
  <div class="window-title">Calculator</div>
999
+ <div class="window-controls">
1000
+ <button class="window-btn minimize" onclick="minimizeWindow('calculatorWindow')"><i class="fas fa-minus"></i></button>
1001
+ <button class="window-btn maximize" onclick="toggleMaximize('calculatorWindow')"><i class="far fa-square"></i></button>
1002
+ <button class="window-btn close" onclick="closeWindow('calculatorWindow')"><i class="fas fa-times"></i></button>
1003
+ </div>
1004
  </div>
1005
+ <div class="window-content">
1006
+ <div class="calculator">
1007
+ <div class="calculator-display" id="calcDisplay">0</div>
1008
+ <button class="calculator-btn clear" onclick="clearCalculator()">C</button>
1009
+ <button class="calculator-btn" onclick="appendToCalc('(')">(</button>
1010
+ <button class="calculator-btn" onclick="appendToCalc(')')">)</button>
1011
+ <button class="calculator-btn operator" onclick="appendToCalc('/')">/</button>
1012
+ <button class="calculator-btn" onclick="appendToCalc('7')">7</button>
1013
+ <button class="calculator-btn" onclick="appendToCalc('8')">8</button>
1014
+ <button class="calculator-btn" onclick="appendToCalc('9')">9</button>
1015
+ <button class="calculator-btn operator" onclick="appendToCalc('*')">×</button>
1016
+ <button class="calculator-btn" onclick="appendToCalc('4')">4</button>
1017
+ <button class="calculator-btn" onclick="appendToCalc('5')">5</button>
1018
+ <button class="calculator-btn" onclick="appendToCalc('6')">6</button>
1019
+ <button class="calculator-btn operator" onclick="appendToCalc('-')">-</button>
1020
+ <button class="calculator-btn" onclick="appendToCalc('1')">1</button>
1021
+ <button class="calculator-btn" onclick="appendToCalc('2')">2</button>
1022
+ <button class="calculator-btn" onclick="appendToCalc('3')">3</button>
1023
+ <button class="calculator-btn operator" onclick="appendToCalc('+')">+</button>
1024
+ <button class="calculator-btn" onclick="appendToCalc('0')">0</button>
1025
+ <button class="calculator-btn" onclick="appendToCalc('.')">.</button>
1026
+ <button class="calculator-btn" onclick="backspaceCalc()">⌫</button>
1027
+ <button class="calculator-btn equals" onclick="calculateResult()">=</button>
1028
+ </div>
1029
+ </div>
1030
+
1031
+ <!-- Resize handles -->
1032
+ <div class="resize-handle top"></div>
1033
+ <div class="resize-handle right"></div>
1034
+ <div class="resize-handle bottom"></div>
1035
+ <div class="resize-handle left"></div>
1036
+ <div class="resize-handle top-left"></div>
1037
+ <div class="resize-handle top-right"></div>
1038
+ <div class="resize-handle bottom-left"></div>
1039
+ <div class="resize-handle bottom-right"></div>
1040
+ </div>
1041
+
1042
+ <!-- Chrome Window -->
1043
+ <div class="window" id="chromeWindow" style="width: 800px; height: 600px; top: 50px; left: 150px;">
1044
+ <div class="window-header">
1045
+ <img class="window-icon" src="https://cdn-icons-png.flaticon.com/512/888/888882.png" alt="Chrome">
1046
+ <div class="window-title">Google Chrome</div>
1047
+ <div class="window-controls">
1048
+ <button class="window-btn minimize" onclick="minimizeWindow('chromeWindow')"><i class="fas fa-minus"></i></button>
1049
+ <button class="window-btn maximize" onclick="toggleMaximize('chromeWindow')"><i class="far fa-square"></i></button>
1050
+ <button class="window-btn close" onclick="closeWindow('chromeWindow')"><i class="fas fa-times"></i></button>
1051
+ </div>
1052
  </div>
1053
  <div class="window-content">
1054
+ <div style="text-align: center; padding-top: 50px;">
1055
+ <img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="Google" style="width: 200px; margin-bottom: 30px;">
1056
+ <div style="width: 80%; margin: 0 auto; position: relative;">
1057
+ <input type="text" style="width: 100%; padding: 12px 20px; border-radius: 24px; border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.1); color: white; outline: none;">
1058
+ <i class="fas fa-search" style="position: absolute; right: 20px; top: 12px; color: rgba(255,255,255,0.5);"></i>
1059
+ </div>
1060
+ <div style="margin-top: 30px;">
1061
+ <button style="padding: 10px 16px; margin: 0 5px; background: rgba(255,255,255,0.1); border: none; border-radius: 4px; color: white; cursor: pointer;">Google Search</button>
1062
+ <button style="padding: 10px 16px; margin: 0 5px; background: rgba(255,255,255,0.1); border: none; border-radius: 4px; color: white; cursor: pointer;">I'm Feeling Lucky</button>
1063
+ </div>
1064
+ </div>
1065
+ </div>
1066
+
1067
+ <!-- Resize handles -->
1068
+ <div class="resize-handle top"></div>
1069
+ <div class="resize-handle right"></div>
1070
+ <div class="resize-handle bottom"></div>
1071
+ <div class="resize-handle left"></div>
1072
+ <div class="resize-handle top-left"></div>
1073
+ <div class="resize-handle top-right"></div>
1074
+ <div class="resize-handle bottom-left"></div>
1075
+ <div class="resize-handle bottom-right"></div>
1076
+ </div>
1077
+
1078
+ <!-- Terminal Window -->
1079
+ <div class="window" id="terminalWindow" style="width: 600px; height: 400px; top: 100px; left: 200px;">
1080
+ <div class="window-header">
1081
+ <img class="window-icon" src="https://cdn-icons-png.flaticon.com/512/6124/6124995.png" alt="Terminal">
1082
+ <div class="window-title">Terminal</div>
1083
+ <div class="window-controls">
1084
+ <button class="window-btn minimize" onclick="minimizeWindow('terminalWindow')"><i class="fas fa-minus"></i></button>
1085
+ <button class="window-btn maximize" onclick="toggleMaximize('terminalWindow')"><i class="far fa-square"></i></button>
1086
+ <button class="window-btn close" onclick="closeWindow('terminalWindow')"><i class="fas fa-times"></i></button>
1087
+ </div>
1088
+ </div>
1089
+ <div class="window-content" style="background: #1e1e1e; color: #0f0; font-family: 'Courier New', monospace; padding: 10px; white-space: pre;">
1090
+ <div>Microsoft Windows [Version 10.0.19042.1237]</div>
1091
+ <div>(c) Microsoft Corporation. All rights reserved.</div>
1092
+ <br>
1093
+ <div>C:\Users\Cyberpunk> <span id="terminalInput" contenteditable="true" style="outline: none;"></span>
1094
+ </div>
1095
+
1096
+ <!-- Resize handles -->
1097
+ <div class="resize-handle top"></div>
1098
+ <div class="resize-handle right"></div>
1099
+ <div class="resize-handle bottom"></div>
1100
+ <div class="resize-handle left"></div>
1101
+ <div class="resize-handle top-left"></div>
1102
+ <div class="resize-handle top-right"></div>
1103
+ <div class="resize-handle bottom-left"></div>
1104
+ <div class="resize-handle bottom-right"></div>
1105
+ </div>
1106
+
1107
+ <!-- Ghost preview for resizing -->
1108
+ <div class="resize-ghost" id="resizeGhost"></div>
1109
+
1110
+ <!-- Context Menu -->
1111
+ <div class="context-menu" id="contextMenu">
1112
+ <div class="context-menu-item" onclick="openWindow('explorer')">
1113
+ <i class="fas fa-folder-open"></i> Open Explorer
1114
+ </div>
1115
+ <div class="context-menu-item" onclick="openWindow('notepad')">
1116
+ <i class="fas fa-edit"></i> New Text File
1117
+ </div>
1118
+ <div class="context-menu-divider"></div>
1119
+ <div class="context-menu-item">
1120
+ <i class="fas fa-palette"></i> Display Settings
1121
+ </div>
1122
+ <div class="context-menu-item">
1123
+ <i class="fas fa-cog"></i> Personalize
1124
+ </div>
1125
+ <div class="context-menu-divider"></div>
1126
+ <div class="context-menu-item" onclick="refreshDesktop()">
1127
+ <i class="fas fa-sync-alt"></i> Refresh
1128
  </div>
1129
  </div>
1130
 
1131
  <script>
1132
+ // Clock functionality - keeps time like a cyberpunk watch
1133
  function updateClock() {
1134
  const now = new Date();
1135
  const hours = now.getHours();
 
1140
  document.getElementById('clock').textContent = `${formattedHours}:${minutes} ${ampm}`;
1141
  }
1142
 
1143
+ // Start the clock and keep it ticking
1144
  setInterval(updateClock, 1000);
1145
  updateClock();
1146
 
1147
+ // Start menu functionality - the rebel's command center
1148
  function toggleStartMenu() {
1149
  const startMenu = document.getElementById('startMenu');
1150
+ if (startMenu.classList.contains('visible')) {
1151
+ startMenu.classList.remove('visible');
1152
+ setTimeout(() => { startMenu.style.display = 'none'; }, 200);
1153
+ } else {
1154
+ startMenu.style.display = 'block';
1155
+ setTimeout(() => { startMenu.classList.add('visible'); }, 10);
1156
+ }
1157
  }
1158
 
1159
+ // Close start menu when clicking outside - security measure
1160
  document.addEventListener('click', function(event) {
1161
  const startMenu = document.getElementById('startMenu');
1162
  const startButton = document.getElementById('startButton');
1163
 
1164
+ if (!startMenu.contains(event.target) && event.target !== startButton &&
1165
+ !event.target.closest('.window') && !event.target.closest('.desktop-icon')) {
1166
+ startMenu.classList.remove('visible');
1167
+ setTimeout(() => { startMenu.style.display = 'none'; }, 200);
1168
  }
1169
  });
1170
 
1171
+ // Window management system - the rebel's toolkit
1172
+ const windows = {
1173
+ explorer: document.getElementById('explorerWindow'),
1174
+ notepad: document.getElementById('notepadWindow'),
1175
+ calculator: document.getElementById('calculatorWindow'),
1176
+ chrome: document.getElementById('chromeWindow'),
1177
+ terminal: document.getElementById('terminalWindow')
1178
+ };
1179
+
1180
+ // Open a window with style
1181
  function openWindow(windowId) {
1182
+ const window = windows[windowId];
1183
+ if (window) {
1184
+ window.classList.add('active');
1185
+ document.getElementById('startMenu').classList.remove('visible');
1186
+ setTimeout(() => { document.getElementById('startMenu').style.display = 'none'; }, 200);
1187
+
1188
+ // Update taskbar icon
1189
+ const taskbarIcon = document.getElementById(`${windowId}TaskbarIcon`);
1190
+ if (taskbarIcon) {
1191
+ taskbarIcon.classList.add('active');
1192
+ }
1193
+ }
1194
+ }
1195
+
1196
+ // Toggle window visibility - for the taskbar icons
1197
+ function toggleWindow(windowId) {
1198
+ const window = windows[windowId];
1199
+ if (window) {
1200
+ if (window.classList.contains('active')) {
1201
+ minimizeWindow(windowId);
1202
+ } else {
1203
+ openWindow(windowId);
1204
+ }
1205
+ }
1206
  }
1207
 
1208
+ // Close a window - like shutting down the system
1209
  function closeWindow(windowId) {
1210
+ const window = windows[windowId];
1211
+ if (window) {
1212
+ window.classList.remove('active');
1213
+
1214
+ // Update taskbar icon
1215
+ const taskbarIcon = document.getElementById(`${windowId}TaskbarIcon`);
1216
+ if (taskbarIcon) {
1217
+ taskbarIcon.classList.remove('active');
1218
+ }
1219
+ }
1220
  }
1221
 
1222
+ // Minimize a window - hide it but keep it running
1223
+ function minimizeWindow(windowId) {
1224
+ const window = windows[windowId];
1225
+ if (window) {
1226
+ window.classList.remove('active');
1227
+ }
1228
+ }
1229
+
1230
+ // Toggle maximize - go fullscreen or back to normal
1231
+ function toggleMaximize(windowId) {
1232
+ const window = windows[windowId];
1233
+ if (window) {
1234
+ window.classList.toggle('maximized');
1235
+ const maximizeBtn = window.querySelector('.maximize i');
1236
+ if (window.classList.contains('maximized')) {
1237
+ maximizeBtn.classList.remove('fa-square');
1238
+ maximizeBtn.classList.add('fa-clone');
1239
+ } else {
1240
+ maximizeBtn.classList.remove('fa-clone');
1241
+ maximizeBtn.classList.add('fa-square');
1242
+ }
1243
+ }
1244
+ }
1245
+
1246
+ // Make windows draggable - the rebel's playground
1247
+ windows.forEach((window, windowId) => {
1248
  const header = window.querySelector('.window-header');
1249
  let isDragging = false;
1250
  let offsetX, offsetY;
1251
+ let startX, startY;
1252
 
1253
  header.addEventListener('mousedown', function(e) {
1254
+ // Don't drag if we're resizing
1255
+ if (e.target.classList.contains('resize-handle')) return;
1256
+
1257
  isDragging = true;
1258
  offsetX = e.clientX - window.getBoundingClientRect().left;
1259
  offsetY = e.clientY - window.getBoundingClientRect().top;
1260
+ startX = window.offsetLeft;
1261
+ startY = window.offsetTop;
1262
 
1263
  // Bring to front
1264
+ windows.forEach(w => {
1265
+ if (w !== window) w.style.zIndex = 10;
1266
+ });
1267
  window.style.zIndex = 100;
1268
  });
1269
 
1270
  document.addEventListener('mousemove', function(e) {
1271
  if (!isDragging) return;
1272
 
1273
+ // Calculate new position
1274
+ let x = e.clientX - offsetX;
1275
+ let y = e.clientY - offsetY;
1276
+
1277
+ // Constrain to viewport
1278
+ const maxX = window.innerWidth - window.offsetWidth;
1279
+ const maxY = window.innerHeight - window.offsetHeight;
1280
+
1281
+ x = Math.max(0, Math.min(x, maxX));
1282
+ y = Math.max(0, Math.min(y, maxY));
1283
 
1284
  window.style.left = x + 'px';
1285
  window.style.top = y + 'px';
 
1290
  });
1291
  });
1292
 
1293
+ // Resize functionality - make it fit your rebellious needs
1294
+ windows.forEach((window, windowId) => {
1295
+ const resizeHandles = window.querySelectorAll('.resize-handle');
1296
+ let isResizing = false;
1297
+ let resizeDirection = '';
1298
+ let startX, startY, startWidth, startHeight;
1299
+ let ghost = document.getElementById('resizeGhost');
1300
+
1301
+ resizeHandles.forEach(handle => {
1302
+ handle.addEventListener('mousedown', function(e) {
1303
+ e.preventDefault();
1304
+ isResizing = true;
1305
+ resizeDirection = handle.classList[1];
1306
+ startX = e.clientX;
1307
+ startY = e.clientY;
1308
+ startWidth = window.offsetWidth;
1309
+ startHeight = window.offsetHeight;
1310
+
1311
+ // Show ghost preview
1312
+ ghost.style.display = 'block';
1313
+ ghost.style.width = startWidth + 'px';
1314
+ ghost.style.height = startHeight + 'px';
1315
+ ghost.style.left = window.offsetLeft + 'px';
1316
+ ghost.style.top = window.offsetTop + 'px';
1317
+
1318
+ // Bring to front
1319
+ windows.forEach(w => {
1320
+ if (w !== window) w.style.zIndex = 10;
1321
+ });
1322
+ window.style.zIndex = 100;
1323
+ ghost.style.zIndex = 1000;
1324
+ });
1325
+ });
1326
+
1327
+ document.addEventListener('mousemove', function(e) {
1328
+ if (!isResizing) return;
1329
+
1330
+ const minWidth = 150;
1331
+ const minHeight = 100;
1332
+
1333
+ let newWidth = startWidth;
1334
+ let newHeight = startHeight;
1335
+ let newLeft = window.offsetLeft;
1336
+ let newTop = window.offsetTop;
1337
+
1338
+ // Calculate new dimensions based on resize direction
1339
+ if (resizeDirection.includes('right')) {
1340
+ newWidth = startWidth + (e.clientX - startX);
1341
+ }
1342
+ if (resizeDirection.includes('left')) {
1343
+ newWidth = startWidth - (e.clientX - startX);
1344
+ newLeft = window.offsetLeft + (e.clientX - startX);
1345
+ }
1346
+ if (resizeDirection.includes('bottom')) {
1347
+ newHeight = startHeight + (e.clientY - startY);
1348
+ }
1349
+ if (resizeDirection.includes('top')) {
1350
+ newHeight = startHeight - (e.clientY - startY);
1351
+ newTop = window.offsetTop + (e.clientY - startY);
1352
+ }
1353
+
1354
+ // Enforce minimum size
1355
+ if (newWidth < minWidth) {
1356
+ if (resizeDirection.includes('left')) {
1357
+ newLeft = window.offsetLeft + startWidth - minWidth;
1358
+ }
1359
+ newWidth = minWidth;
1360
+ }
1361
+ if (newHeight < minHeight) {
1362
+ if (resizeDirection.includes('top')) {
1363
+ newTop = window.offsetTop + startHeight - minHeight;
1364
+ }
1365
+ newHeight = minHeight;
1366
+ }
1367
+
1368
+ // Constrain to viewport
1369
+ if (newLeft < 0) {
1370
+ newWidth += newLeft;
1371
+ newLeft = 0;
1372
+ }
1373
+ if (newTop < 0) {
1374
+ newHeight += newTop;
1375
+ newTop = 0;
1376
+ }
1377
+ if (newLeft + newWidth > window.innerWidth) {
1378
+ newWidth = window.innerWidth - newLeft;
1379
+ }
1380
+ if (newTop + newHeight > window.innerHeight) {
1381
+ newHeight = window.innerHeight - newTop;
1382
+ }
1383
+
1384
+ // Update ghost preview
1385
+ ghost.style.width = newWidth + 'px';
1386
+ ghost.style.height = newHeight + 'px';
1387
+ ghost.style.left = newLeft + 'px';
1388
+ ghost.style.top = newTop + 'px';
1389
+ });
1390
+
1391
+ document.addEventListener('mouseup', function() {
1392
+ if (!isResizing) return;
1393
+
1394
+ isResizing = false;
1395
+
1396
+ // Apply the resize to the actual window
1397
+ window.style.width = ghost.style.width;
1398
+ window.style.height = ghost.style.height;
1399
+ window.style.left = ghost.style.left;
1400
+ window.style.top = ghost.style.top;
1401
+
1402
+ // Hide ghost
1403
+ ghost.style.display = 'none';
1404
+ });
1405
+ });
1406
+
1407
+ // Calculator functionality - for all your rebellious calculations
1408
+ let calcValue = '0';
1409
+ const calcDisplay = document.getElementById('calcDisplay');
1410
+
1411
+ function updateCalcDisplay() {
1412
+ calcDisplay.textContent = calcValue;
1413
+ }
1414
+
1415
+ function appendToCalc(value) {
1416
+ if (calcValue === '0' && value !== '.') {
1417
+ calcValue = value;
1418
+ } else {
1419
+ calcValue += value;
1420
+ }
1421
+ updateCalcDisplay();
1422
+ }
1423
+
1424
+ function clearCalculator() {
1425
+ calcValue = '0';
1426
+ updateCalcDisplay();
1427
+ }
1428
+
1429
+ function backspaceCalc() {
1430
+ if (calcValue.length === 1) {
1431
+ calcValue = '0';
1432
+ } else {
1433
+ calcValue = calcValue.slice(0, -1);
1434
+ }
1435
+ updateCalcDisplay();
1436
+ }
1437
+
1438
+ function calculateResult() {
1439
+ try {
1440
+ calcValue = eval(calcValue).toString();
1441
+ updateCalcDisplay();
1442
+ } catch (e) {
1443
+ calcValue = 'Error';
1444
+ updateCalcDisplay();
1445
+ setTimeout(clearCalculator, 1000);
1446
+ }
1447
+ }
1448
+
1449
+ // Terminal functionality - the hacker's playground
1450
+ const terminalInput = document.getElementById('terminalInput');
1451
+ terminalInput.addEventListener('keydown', function(e) {
1452
+ if (e.key === 'Enter') {
1453
+ const command = terminalInput.textContent.trim();
1454
+ terminalInput.textContent = '';
1455
+
1456
+ // Add the command to history
1457
+ const terminalContent = document.querySelector('.terminal-window .window-content');
1458
+ terminalContent.innerHTML += `<div>C:\\Users\\Cyberpunk> ${command}</div>`;
1459
+
1460
+ // Process command
1461
+ let response = '';
1462
+ switch (command.toLowerCase()) {
1463
+ case 'help':
1464
+ response = 'Available commands: help, clear, about, hack';
1465
+ break;
1466
+ case 'clear':
1467
+ terminalContent.innerHTML = '<div>Microsoft Windows [Version 10.0.19042.1237]</div><div>(c) Microsoft Corporation. All rights reserved.</div><br>';
1468
+ return;
1469
+ case 'about':
1470
+ response = 'Cyberpunk Terminal v1.0 - For rebels only';
1471
+ break;
1472
+ case 'hack':
1473
+ response = 'Hacking the mainframe... Just kidding!';
1474
+ break;
1475
+ case '':
1476
+ return;
1477
+ default:
1478
+ response = `'${command}' is not recognized as an internal or external command, operable program or batch file.`;
1479
+ }
1480
+
1481
+ terminalContent.innerHTML += `<div>${response}</div><br><div>C:\\Users\\Cyberpunk> </div>`;
1482
+ terminalInput = terminalContent.querySelector('#terminalInput');
1483
+ terminalInput.focus();
1484
+
1485
+ // Scroll to bottom
1486
+ terminalContent.scrollTop = terminalContent.scrollHeight;
1487
+ }
1488
+ });
1489
+
1490
+ // Context menu - right-click goodness
1491
+ document.getElementById('desktop').addEventListener('contextmenu', function(e) {
1492
+ e.preventDefault();
1493
+ const contextMenu = document.getElementById('contextMenu');
1494
+ contextMenu.style.left = e.clientX + 'px';
1495
+ contextMenu.style.top = e.clientY + 'px';
1496
+ contextMenu.classList.add('visible');
1497
+
1498
+ // Close when clicking elsewhere
1499
+ const closeMenu = function() {
1500
+ contextMenu.classList.remove('visible');
1501
+ document.removeEventListener('click', closeMenu);
1502
+ };
1503
+ document.addEventListener('click', closeMenu);
1504
+ });
1505
+
1506
+ // Refresh desktop - because sometimes you need a fresh start
1507
+ function refreshDesktop() {
1508
+ // Just for show - in a real app you might reload content
1509
+ console.log('Desktop refreshed!');
1510
+ }
1511
+
1512
+ // Open File Explorer by default - let's get this party started
1513
  openWindow('explorer');
1514
  </script>
1515
+ <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=Boobs00/myspace" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
1516
  </html>