MGros commited on
Commit
e4ce48c
·
verified ·
1 Parent(s): 5f4e0ff

# 🎮 PROMPT TECHNIQUE : Reproduction de "The Operator" ## 🎯 DESCRIPTION DU JEU **The Operator** est un jeu vidéo indépendant français de réflexion où le joueur incarne un enquêteur posté derrière un ordinateur et chargé de venir en aide à des agents de terrain. **Univers** : Début des années 1990, le joueur incarne Evan Tanner au sein du Bureau fédéral des renseignements (FDI) ## 🚀 PROMPT POUR LLM ``` Créez une reproduction fidèle du jeu "The Operator" avec les spécifications suivantes : ### CONCEPT PRINCIPAL - Jeu d'enquête/thriller interactif en interface ordinateur rétro années 90 - Le joueur est un opérateur FDI assistant des agents de terrain via ordinateur - Gameplay basé sur l'analyse de preuves, résolution d'énigmes et déduction logique - Narration immersive avec éléments de conspiration et plot twists ### INTERFACE UTILISATEUR 🖥️ Design rétro authentique : - Interface façon terminal/DOS années 90 - Écrans CRT avec effet scanlines - Palette de couleurs verte/ambre sur fond noir - Fenêtres multiples superposées - Effets de bruit et de pixellisation ### MÉCANIQUES DE JEU CORE 🔍 Système d'enquête : - Analyse d'échantillons via logiciels fictifs (ChemScan, etc.) - Recoupement de données entre différentes sources - Visionnage et analyse de séquences vidéo - Communication radio avec agents terrain - Résolution d'énigmes techniques (désamorçage bombe, etc.) 🧩 Types de preuves à analyser : - Extraits vidéo de surveillance - Échantillons chimiques/biologiques - Documents suspects - Données informatiques - Témoignages audio ### STRUCTURE NARRATIVE 📖 Format épisodique : - 4 jours/chapitres principaux - Durée totale : 3-5 heures de gameplay - Révélations progressives d'une conspiration - Connexions entre différentes affaires - Antagoniste mystérieux : HAL (hacker) ### TECHNOLOGIES À UTILISER 🔧 Stack recommandée : - React avec TypeScript pour la logique - CSS3 avec animations pour l'effet rétro - Canvas HTML5 pour effets visuels spéciaux - Web Audio API pour ambiance sonore - Système de sauvegarde local (localStorage) ### FONCTIONNALITÉS TECHNIQUES SPÉCIFIQUES ⚡ Éléments d'automatisme industriel (adapté à votre expertise) : - Interfaces de contrôle-commande réalistes - Protocoles de communication simulés - Systèmes d'alarme et de monitoring - Logiques de sécurité industrielle ### AMBIANCE ET IMMERSION 🎭 Éléments atmosphériques : - Bruit de fond de bureau (claviers, ventilateurs) - Effets sonores de modem/transmission - Dialogues radio crépitants - Tension progressive via timing serré - Références aux séries X-Files et films thriller 90s ### GAMEPLAY DÉTAILLÉ 🎯 Mécaniques spécifiques : - Point & click sur éléments interactifs - Mini-jeux de décodage/analyse - Choix de dialogue influençant l'enquête - Système de déduction par élimination - Gestion du temps/urgence lors des crises ### ÉLÉMENTS DE DIFFICULTÉ 🧠 Challenges intellectuels : - Puzzles logiques variés et renouvelés - Connexions subtiles entre indices - Fausses pistes et red herrings - Pression temporelle lors d'événements critiques - Complexité croissante des analyses Créez un artifact complet et jouable qui capture l'essence unique de The Operator : l'immersion d'être "l'homme derrière l'écran" qui guide les héros depuis les coulisses ! ``` ## 🎪 ADAPTATION PERSONNALISÉE Vu votre expertise en **automatisme industriel** et **contrôle-commande**, le jeu pourrait intégrer : 🔧 **Éléments techniques réalistes** : - Interfaces SCADA authentiques - Protocoles de communication industriels - Systèmes de supervision avancés - Logiques de sécurité professionnelles ## 🌟 RÉSULTAT ATTENDU Le prompt générera une reproduction fidèle de The Operator avec : - ✅ Interface rétro immersive - ✅ Mécaniques d'enquête engageantes - ✅ Narration captivante avec twists - ✅ Ambiance thriller années 90 - ✅ Gameplay varié et intelligent **Prêt à plonger dans cette enquête passionnante ! 🕵️‍♂️** - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +6 -4
  2. index.html +524 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Operator
3
- emoji: 🏃
4
- colorFrom: indigo
5
  colorTo: purple
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: operator
3
+ emoji: 🐳
4
+ colorFrom: green
5
  colorTo: purple
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,524 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>The Operator - FDI Terminal</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
+ @import url('https://fonts.googleapis.com/css2?family=VT323&display=swap');
11
+
12
+ body {
13
+ font-family: 'VT323', monospace;
14
+ background-color: #000;
15
+ color: #00ff00;
16
+ overflow: hidden;
17
+ position: relative;
18
+ }
19
+
20
+ .crt::before {
21
+ content: " ";
22
+ display: block;
23
+ position: absolute;
24
+ top: 0;
25
+ left: 0;
26
+ bottom: 0;
27
+ right: 0;
28
+ background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%);
29
+ background-size: 100% 4px;
30
+ z-index: 100;
31
+ pointer-events: none;
32
+ }
33
+
34
+ .crt::after {
35
+ content: " ";
36
+ display: block;
37
+ position: absolute;
38
+ top: 0;
39
+ left: 0;
40
+ bottom: 0;
41
+ right: 0;
42
+ background: rgba(0, 30, 0, 0.05);
43
+ z-index: 100;
44
+ pointer-events: none;
45
+ }
46
+
47
+ .scanlines {
48
+ position: relative;
49
+ overflow: hidden;
50
+ }
51
+
52
+ .scanlines::before {
53
+ content: "";
54
+ position: absolute;
55
+ top: 0;
56
+ left: 0;
57
+ width: 100%;
58
+ height: 100%;
59
+ background: repeating-linear-gradient(
60
+ to bottom,
61
+ transparent 0%,
62
+ rgba(0, 255, 0, 0.05) 0.5%,
63
+ transparent 1%
64
+ );
65
+ animation: scanline 8s linear infinite;
66
+ z-index: 1001;
67
+ pointer-events: none;
68
+ }
69
+
70
+ @keyframes scanline {
71
+ from { transform: translateY(0%); }
72
+ to { transform: translateY(-100%); }
73
+ }
74
+
75
+ .glow {
76
+ text-shadow: 0 0 5px #00ff00;
77
+ }
78
+
79
+ .window {
80
+ box-shadow: 0 0 10px #00ff00;
81
+ border: 1px solid #00ff00;
82
+ }
83
+
84
+ .terminal-text {
85
+ animation: blink 1s step-end infinite;
86
+ }
87
+
88
+ @keyframes blink {
89
+ from, to { opacity: 1; }
90
+ 50% { opacity: 0; }
91
+ }
92
+
93
+ .pixelated {
94
+ image-rendering: pixelated;
95
+ image-rendering: -moz-crisp-edges;
96
+ image-rendering: crisp-edges;
97
+ }
98
+
99
+ .noise {
100
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABOSURBVGhD7c4xEQAgDAAxhHSj+5+2jAgywL0kO7O7AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4zX14KZ3Z3B5QAAAAASUVORK5CYII=");
101
+ opacity: 0.05;
102
+ position: absolute;
103
+ top: 0;
104
+ left: 0;
105
+ width: 100%;
106
+ height: 100%;
107
+ pointer-events: none;
108
+ }
109
+ </style>
110
+ </head>
111
+ <body class="crt scanlines h-screen w-screen overflow-hidden">
112
+ <div class="noise"></div>
113
+
114
+ <!-- Main Container -->
115
+ <div class="container mx-auto h-full p-4 flex flex-col">
116
+ <!-- Header -->
117
+ <div class="flex justify-between items-center mb-2">
118
+ <div class="text-2xl glow">
119
+ <span class="text-amber-400">FDI</span> TERMINAL v3.1.4
120
+ </div>
121
+ <div class="text-sm">
122
+ <span class="text-amber-400">OPERATOR:</span> EVAN TANNER
123
+ </div>
124
+ <div class="text-sm">
125
+ <span class="text-amber-400">DATE:</span> <span id="current-date">05/12/1991</span>
126
+ </div>
127
+ </div>
128
+
129
+ <!-- Main Content -->
130
+ <div class="flex flex-1 gap-4 overflow-hidden">
131
+ <!-- Left Panel -->
132
+ <div class="w-1/4 flex flex-col gap-4">
133
+ <!-- Case Info -->
134
+ <div class="window bg-black p-3 flex-1">
135
+ <div class="border-b border-green-500 pb-1 mb-2 flex justify-between items-center">
136
+ <span class="text-lg glow">CASE #X-2479</span>
137
+ <span class="text-xs">CLASSIFIED</span>
138
+ </div>
139
+ <div class="text-sm space-y-2">
140
+ <p><span class="text-amber-400">LOCATION:</span> BLACKWOOD FACILITY</p>
141
+ <p><span class="text-amber-400">STATUS:</span> <span class="text-red-400">CRITICAL</span></p>
142
+ <p><span class="text-amber-400">AGENT:</span> R. KOWALSKI</p>
143
+ <p><span class="text-amber-400">LAST CONTACT:</span> 23:47</p>
144
+ </div>
145
+ <div class="mt-4 border-t border-green-500 pt-2">
146
+ <p class="text-xs">SUSPECTED ACTIVITY:</p>
147
+ <p class="text-red-400">UNAUTHORIZED ACCESS TO SCADA SYSTEMS</p>
148
+ <p class="text-red-400">POTENTIAL SABOTAGE</p>
149
+ </div>
150
+ </div>
151
+
152
+ <!-- Tools -->
153
+ <div class="window bg-black p-3">
154
+ <div class="border-b border-green-500 pb-1 mb-2">
155
+ <span class="text-lg glow">TOOLS</span>
156
+ </div>
157
+ <div class="grid grid-cols-2 gap-2">
158
+ <button class="bg-green-900 hover:bg-green-800 p-1 text-xs" onclick="openTool('chemScan')">CHEMSCAN</button>
159
+ <button class="bg-green-900 hover:bg-green-800 p-1 text-xs" onclick="openTool('dataDecrypt')">DATA DECRYPT</button>
160
+ <button class="bg-green-900 hover:bg-green-800 p-1 text-xs" onclick="openTool('videoAnalyzer')">VIDEO ANALYZER</button>
161
+ <button class="bg-green-900 hover:bg-green-800 p-1 text-xs" onclick="openTool('comms')">COMMS LINK</button>
162
+ <button class="bg-green-900 hover:bg-green-800 p-1 text-xs" onclick="openTool('scada')">SCADA ACCESS</button>
163
+ <button class="bg-green-900 hover:bg-green-800 p-1 text-xs" onclick="openTool('logs')">SYSTEM LOGS</button>
164
+ </div>
165
+ </div>
166
+ </div>
167
+
168
+ <!-- Center Panel -->
169
+ <div class="w-2/4 flex flex-col gap-4">
170
+ <!-- Main Terminal -->
171
+ <div class="window bg-black p-3 flex-1 relative">
172
+ <div class="border-b border-green-500 pb-1 mb-2">
173
+ <span class="text-lg glow">MAIN TERMINAL</span>
174
+ </div>
175
+ <div id="terminal-output" class="h-5/6 overflow-y-auto text-sm font-mono leading-snug">
176
+ <p>> INITIALIZING FDI TERMINAL...</p>
177
+ <p>> LOADING CASE FILES...</p>
178
+ <p>> ESTABLISHING SECURE CONNECTION...</p>
179
+ <p class="text-amber-400">> WARNING: UNAUTHORIZED ACCESS DETECTED IN SYSTEM 4B</p>
180
+ <p>> LAST KNOWN AGENT STATUS: IN COMMUNICATION WITH SUSPECT</p>
181
+ <p>> SCADA SYSTEMS SHOW ABNORMAL PRESSURE READINGS IN NORTH WING</p>
182
+ <p class="text-red-400">> ALERT: FIRE SUPPRESSION SYSTEM DISABLED IN SECTOR D</p>
183
+ <p>> ENTER COMMAND OR SELECT TOOL TO PROCEED<span class="terminal-text">_</span></p>
184
+ </div>
185
+ <div class="absolute bottom-3 left-3 right-3">
186
+ <div class="flex">
187
+ <span class="mr-2">></span>
188
+ <input type="text" id="command-input" class="bg-black text-green-500 flex-1 outline-none font-mono" autofocus>
189
+ </div>
190
+ </div>
191
+ </div>
192
+
193
+ <!-- Evidence -->
194
+ <div class="window bg-black p-3">
195
+ <div class="border-b border-green-500 pb-1 mb-2">
196
+ <span class="text-lg glow">EVIDENCE</span>
197
+ </div>
198
+ <div class="flex gap-2 overflow-x-auto">
199
+ <div class="border border-green-500 p-1 flex flex-col items-center" onclick="viewEvidence('video1')">
200
+ <div class="w-16 h-16 bg-gray-800 flex items-center justify-center">
201
+ <i class="fas fa-video text-green-500"></i>
202
+ </div>
203
+ <span class="text-xs mt-1">SURV_001.avi</span>
204
+ </div>
205
+ <div class="border border-green-500 p-1 flex flex-col items-center" onclick="viewEvidence('chem1')">
206
+ <div class="w-16 h-16 bg-gray-800 flex items-center justify-center">
207
+ <i class="fas fa-flask text-green-500"></i>
208
+ </div>
209
+ <span class="text-xs mt-1">CHEM_004.dat</span>
210
+ </div>
211
+ <div class="border border-green-500 p-1 flex flex-col items-center" onclick="viewEvidence('doc1')">
212
+ <div class="w-16 h-16 bg-gray-800 flex items-center justify-center">
213
+ <i class="fas fa-file-alt text-green-500"></i>
214
+ </div>
215
+ <span class="text-xs mt-1">MEMO_023.txt</span>
216
+ </div>
217
+ <div class="border border-green-500 p-1 flex flex-col items-center" onclick="viewEvidence('audio1')">
218
+ <div class="w-16 h-16 bg-gray-800 flex items-center justify-center">
219
+ <i class="fas fa-microphone text-green-500"></i>
220
+ </div>
221
+ <span class="text-xs mt-1">AUDIO_007.wav</span>
222
+ </div>
223
+ <div class="border border-green-500 p-1 flex flex-col items-center" onclick="viewEvidence('scada1')">
224
+ <div class="w-16 h-16 bg-gray-800 flex items-center justify-center">
225
+ <i class="fas fa-chart-line text-green-500"></i>
226
+ </div>
227
+ <span class="text-xs mt-1">SCADA_LOG.rdt</span>
228
+ </div>
229
+ </div>
230
+ </div>
231
+ </div>
232
+
233
+ <!-- Right Panel -->
234
+ <div class="w-1/4 flex flex-col gap-4">
235
+ <!-- Comms -->
236
+ <div class="window bg-black p-3 flex-1">
237
+ <div class="border-b border-green-500 pb-1 mb-2">
238
+ <span class="text-lg glow">COMMS CHANNEL</span>
239
+ </div>
240
+ <div id="comms-log" class="h-64 overflow-y-auto text-xs space-y-1">
241
+ <p class="text-amber-400">[23:47] AGENT KOWALSKI: I'm in position. No visual on suspect yet.</p>
242
+ <p class="text-amber-400">[23:49] AGENT KOWALSKI: Found something... security logs show unauthorized access.</p>
243
+ <p class="text-amber-400">[23:52] AGENT KOWALSKI: There's a chemical spill in sector C. Doesn't look accidental.</p>
244
+ <p class="text-red-400">[23:55] AGENT KOWALSKI: I see someone! They're tampering with the control panel!</p>
245
+ <p class="text-red-400">[23:56] AGENT KOWALSKI: They're wearing an FDI badge but I don't recognize them.</p>
246
+ <p class="text-red-400">[23:57] AGENT KOWALSKI: They've spotted me! I'm pursuing on foot!</p>
247
+ <p class="text-red-400">[23:58] AGENT KOWALSKI: They're heading to the server room!</p>
248
+ <p class="text-gray-500">[23:59] COMMS LOST...</p>
249
+ </div>
250
+ <div class="mt-2 border-t border-green-500 pt-2">
251
+ <div class="flex">
252
+ <input type="text" class="bg-black text-green-500 flex-1 outline-none text-xs" placeholder="TYPE MESSAGE...">
253
+ <button class="bg-green-900 hover:bg-green-800 px-2 text-xs">SEND</button>
254
+ </div>
255
+ </div>
256
+ </div>
257
+
258
+ <!-- Alerts -->
259
+ <div class="window bg-black p-3">
260
+ <div class="border-b border-green-500 pb-1 mb-2">
261
+ <span class="text-lg glow">ALERTS</span>
262
+ </div>
263
+ <div class="space-y-2">
264
+ <div class="border border-red-500 p-2">
265
+ <p class="text-xs text-red-400">SCADA ALERT: PRESSURE BUILDING IN NORTH WING</p>
266
+ <p class="text-xs">Current: 4.7 MPa | Safe limit: 3.2 MPa</p>
267
+ </div>
268
+ <div class="border border-amber-500 p-2">
269
+ <p class="text-xs text-amber-400">SECURITY ALERT: SERVER ROOM ACCESS</p>
270
+ <p class="text-xs">Unauthorized user: ID 4473</p>
271
+ </div>
272
+ <div class="border border-green-500 p-2">
273
+ <p class="text-xs">SYSTEM ALERT: BACKUP POWER ACTIVATED</p>
274
+ </div>
275
+ </div>
276
+ </div>
277
+ </div>
278
+ </div>
279
+
280
+ <!-- Status Bar -->
281
+ <div class="mt-2 text-xs flex justify-between">
282
+ <div>
283
+ <span class="text-amber-400">STATUS:</span> ACTIVE | <span class="text-amber-400">CONNECTION:</span> ENCRYPTED | <span class="text-amber-400">POWER:</span> 98%
284
+ </div>
285
+ <div>
286
+ <span class="text-amber-400">FDI HEADQUARTERS</span> - ALL RIGHTS RESERVED 1991
287
+ </div>
288
+ </div>
289
+ </div>
290
+
291
+ <!-- Tool Windows (Hidden by default) -->
292
+ <div id="chemScan-window" class="window bg-black absolute top-1/4 left-1/4 w-1/2 h-1/2 p-3 hidden" style="transform: translate(-50%, -50%); z-index: 1000;">
293
+ <div class="flex justify-between items-center border-b border-green-500 pb-1 mb-2">
294
+ <span class="text-lg glow">CHEMSCAN v2.4</span>
295
+ <button onclick="closeTool('chemScan')" class="text-red-400 hover:text-red-300">X</button>
296
+ </div>
297
+ <div class="flex h-5/6">
298
+ <div class="w-1/3 border-r border-green-500 pr-2">
299
+ <p class="text-sm mb-2">SELECT SAMPLE:</p>
300
+ <div class="space-y-1">
301
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">CHEM_001.dat</button>
302
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">CHEM_002.dat</button>
303
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">CHEM_003.dat</button>
304
+ <button class="w-full text-left p-1 bg-green-900 text-xs">CHEM_004.dat</button>
305
+ </div>
306
+ </div>
307
+ <div class="w-2/3 pl-2">
308
+ <p class="text-sm mb-2">ANALYSIS RESULTS:</p>
309
+ <div class="border border-green-500 p-2 h-4/5 overflow-y-auto text-xs">
310
+ <p>> SAMPLE: CHEM_004.dat</p>
311
+ <p>> SOURCE: NORTH WING, SECTOR C</p>
312
+ <p>> COLLECTED: 05/12/1991 23:30</p>
313
+ <p class="mt-2 text-amber-400">> COMPOSITION ANALYSIS:</p>
314
+ <p>- 45% TRICHLOROETHYLENE</p>
315
+ <p>- 30% METHYL ETHYL KETONE</p>
316
+ <p>- 15% UNKNOWN COMPOUND</p>
317
+ <p>- 10% WATER</p>
318
+ <p class="mt-2 text-red-400">> WARNING: UNKNOWN COMPOUND MATCHES EXPERIMENTAL FORMULA X-247</p>
319
+ <p class="text-red-400">> CAUTION: HIGHLY VOLATILE MIXTURE</p>
320
+ </div>
321
+ <button class="mt-2 bg-green-900 hover:bg-green-800 p-1 text-xs w-full">EXPORT REPORT</button>
322
+ </div>
323
+ </div>
324
+ </div>
325
+
326
+ <div id="videoAnalyzer-window" class="window bg-black absolute top-1/4 left-1/4 w-1/2 h-1/2 p-3 hidden" style="transform: translate(-50%, -50%); z-index: 1000;">
327
+ <div class="flex justify-between items-center border-b border-green-500 pb-1 mb-2">
328
+ <span class="text-lg glow">VIDEO ANALYZER v1.7</span>
329
+ <button onclick="closeTool('videoAnalyzer')" class="text-red-400 hover:text-red-300">X</button>
330
+ </div>
331
+ <div class="flex h-5/6">
332
+ <div class="w-1/3 border-r border-green-500 pr-2">
333
+ <p class="text-sm mb-2">SELECT FILE:</p>
334
+ <div class="space-y-1">
335
+ <button class="w-full text-left p-1 bg-green-900 text-xs">SURV_001.avi</button>
336
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">SURV_002.avi</button>
337
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">SURV_003.avi</button>
338
+ </div>
339
+ <div class="mt-4">
340
+ <p class="text-sm mb-2">TOOLS:</p>
341
+ <button class="w-full p-1 hover:bg-green-900 text-xs mb-1">ENHANCE</button>
342
+ <button class="w-full p-1 hover:bg-green-900 text-xs mb-1">FRAME ANALYSIS</button>
343
+ <button class="w-full p-1 hover:bg-green-900 text-xs">AUDIO ISOLATION</button>
344
+ </div>
345
+ </div>
346
+ <div class="w-2/3 pl-2 flex flex-col">
347
+ <div class="border border-green-500 h-48 mb-2 flex items-center justify-center bg-gray-900">
348
+ <div class="text-center">
349
+ <i class="fas fa-video text-green-500 text-4xl mb-2"></i>
350
+ <p class="text-xs">VIDEO PLAYBACK</p>
351
+ </div>
352
+ </div>
353
+ <div class="border border-green-500 p-2 flex-1 overflow-y-auto text-xs">
354
+ <p>> FILE: SURV_001.avi</p>
355
+ <p>> SOURCE: NORTH WING CAMERA 4B</p>
356
+ <p>> TIMESTAMP: 05/12/1991 23:55:12</p>
357
+ <p class="mt-2 text-amber-400">> ANALYSIS:</p>
358
+ <p>- SINGLE SUBJECT VISIBLE</p>
359
+ <p>- MALE, APPROX 180CM</p>
360
+ <p>- WEARING FDI SECURITY UNIFORM</p>
361
+ <p>- ID BADGE VISIBLE BUT BLURRED</p>
362
+ <p class="text-red-400">- CARRYING UNKNOWN DEVICE</p>
363
+ <p class="mt-2">> AUDIO TRANSCRIPT:</p>
364
+ <p>"...just a few more minutes... systems will be offline... HAL will be pleased..."</p>
365
+ </div>
366
+ </div>
367
+ </div>
368
+ </div>
369
+
370
+ <div id="scada-window" class="window bg-black absolute top-1/4 left-1/4 w-1/2 h-1/2 p-3 hidden" style="transform: translate(-50%, -50%); z-index: 1000;">
371
+ <div class="flex justify-between items-center border-b border-green-500 pb-1 mb-2">
372
+ <span class="text-lg glow">SCADA MONITOR v4.2</span>
373
+ <button onclick="closeTool('scada')" class="text-red-400 hover:text-red-300">X</button>
374
+ </div>
375
+ <div class="flex h-5/6">
376
+ <div class="w-1/3 border-r border-green-500 pr-2">
377
+ <p class="text-sm mb-2">SYSTEMS:</p>
378
+ <div class="space-y-1">
379
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">POWER DISTRIBUTION</button>
380
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">HVAC</button>
381
+ <button class="w-full text-left p-1 bg-green-900 text-xs">PRESSURE SYSTEMS</button>
382
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">FIRE SUPPRESSION</button>
383
+ <button class="w-full text-left p-1 hover:bg-green-900 text-xs">SECURITY</button>
384
+ </div>
385
+ </div>
386
+ <div class="w-2/3 pl-2">
387
+ <p class="text-sm mb-2">PRESSURE SYSTEMS STATUS:</p>
388
+ <div class="border border-green-500 p-2 h-4/5 overflow-y-auto text-xs">
389
+ <div class="mb-4">
390
+ <p class="text-amber-400">NORTH WING:</p>
391
+ <div class="w-full bg-gray-800 h-4 mt-1">
392
+ <div class="bg-red-500 h-full" style="width: 90%;"></div>
393
+ </div>
394
+ <p>4.7 MPa / 3.2 MPa MAX</p>
395
+ <p class="text-red-400">CRITICAL OVERPRESSURE</p>
396
+ </div>
397
+ <div class="mb-4">
398
+ <p class="text-amber-400">SOUTH WING:</p>
399
+ <div class="w-full bg-gray-800 h-4 mt-1">
400
+ <div class="bg-green-500 h-full" style="width: 45%;"></div>
401
+ </div>
402
+ <p>2.1 MPa / 3.2 MPa MAX</p>
403
+ <p>NORMAL</p>
404
+ </div>
405
+ <div class="mb-4">
406
+ <p class="text-amber-400">EAST WING:</p>
407
+ <div class="w-full bg-gray-800 h-4 mt-1">
408
+ <div class="bg-amber-500 h-full" style="width: 70%;"></div>
409
+ </div>
410
+ <p>3.0 MPa / 3.2 MPa MAX</p>
411
+ <p class="text-amber-400">ELEVATED</p>
412
+ </div>
413
+ <div>
414
+ <p class="text-amber-400">WEST WING:</p>
415
+ <div class="w-full bg-gray-800 h-4 mt-1">
416
+ <div class="bg-green-500 h-full" style="width: 30%;"></div>
417
+ </div>
418
+ <p>1.4 MPa / 3.2 MPa MAX</p>
419
+ <p>NORMAL</p>
420
+ </div>
421
+ </div>
422
+ <button class="mt-2 bg-green-900 hover:bg-green-800 p-1 text-xs w-full">OVERRIDE CONTROL</button>
423
+ </div>
424
+ </div>
425
+ </div>
426
+
427
+ <script>
428
+ // Simulate terminal typing
429
+ function typeWriter(element, text, speed) {
430
+ let i = 0;
431
+ element.innerHTML = '';
432
+ function typing() {
433
+ if (i < text.length) {
434
+ element.innerHTML += text.charAt(i);
435
+ i++;
436
+ setTimeout(typing, speed);
437
+ }
438
+ }
439
+ typing();
440
+ }
441
+
442
+ // Handle command input
443
+ document.getElementById('command-input').addEventListener('keypress', function(e) {
444
+ if (e.key === 'Enter') {
445
+ const command = this.value;
446
+ this.value = '';
447
+
448
+ const output = document.getElementById('terminal-output');
449
+ output.innerHTML += `<p>> ${command}</p>`;
450
+
451
+ // Process command
452
+ if (command.toLowerCase() === 'help') {
453
+ output.innerHTML += `<p>AVAILABLE COMMANDS: HELP, CHEMSCAN, VIDEO, SCADA, COMMS, LOGS, CLEAR</p>`;
454
+ } else if (command.toLowerCase() === 'clear') {
455
+ output.innerHTML = '';
456
+ } else if (command.toLowerCase() === 'chemscan') {
457
+ openTool('chemScan');
458
+ } else if (command.toLowerCase() === 'video') {
459
+ openTool('videoAnalyzer');
460
+ } else if (command.toLowerCase() === 'scada') {
461
+ openTool('scada');
462
+ } else {
463
+ output.innerHTML += `<p>COMMAND NOT RECOGNIZED. TYPE HELP FOR AVAILABLE COMMANDS.</p>`;
464
+ }
465
+
466
+ output.innerHTML += `<p>> ENTER COMMAND OR SELECT TOOL TO PROCEED<span class="terminal-text">_</span></p>`;
467
+ output.scrollTop = output.scrollHeight;
468
+ }
469
+ });
470
+
471
+ // Tool functions
472
+ function openTool(tool) {
473
+ document.getElementById(`${tool}-window`).classList.remove('hidden');
474
+ }
475
+
476
+ function closeTool(tool) {
477
+ document.getElementById(`${tool}-window`).classList.add('hidden');
478
+ }
479
+
480
+ // Evidence viewer
481
+ function viewEvidence(type) {
482
+ const output = document.getElementById('terminal-output');
483
+
484
+ if (type === 'video1') {
485
+ output.innerHTML += `<p>> OPENING SURVEILLANCE FOOTAGE: SURV_001.avi</p>`;
486
+ output.innerHTML += `<p>> TIMESTAMP: 23:55:12 | LOCATION: NORTH WING 4B</p>`;
487
+ output.innerHTML += `<p>> SUBJECT VISIBLE: MALE, 180CM, FDI UNIFORM</p>`;
488
+ output.innerHTML += `<p class="text-red-400">> WARNING: UNAUTHORIZED ACCESS DETECTED</p>`;
489
+ } else if (type === 'chem1') {
490
+ output.innerHTML += `<p>> ANALYZING CHEMICAL SAMPLE: CHEM_004.dat</p>`;
491
+ output.innerHTML += `<p>> COMPOSITION: TRICHLOROETHYLENE (45%), MEK (30%), UNKNOWN (15%), WATER (10%)</p>`;
492
+ output.innerHTML += `<p class="text-red-400">> WARNING: UNKNOWN COMPOUND MATCHES EXPERIMENTAL FORMULA X-247</p>`;
493
+ } else if (type === 'doc1') {
494
+ output.innerHTML += `<p>> VIEWING DOCUMENT: MEMO_023.txt</p>`;
495
+ output.innerHTML += `<p>> SUBJECT: SECURITY OVERRIDE PROCEDURES</p>`;
496
+ output.innerHTML += `<p>> NOTE: "HAL HAS ACCESS TO ALL SYSTEMS. DO NOT QUESTION."</p>`;
497
+ }
498
+
499
+ output.innerHTML += `<p>> ENTER COMMAND OR SELECT TOOL TO PROCEED<span class="terminal-text">_</span></p>`;
500
+ output.scrollTop = output.scrollHeight;
501
+ }
502
+
503
+ // Simulate real-time updates
504
+ setInterval(() => {
505
+ const commsLog = document.getElementById('comms-log');
506
+ const now = new Date();
507
+ const timeStr = `[${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}]`;
508
+
509
+ // Random chance to add a new comms message
510
+ if (Math.random() > 0.9) {
511
+ const messages = [
512
+ `${timeStr} SYSTEM ALERT: PRESSURE IN NORTH WING INCREASING`,
513
+ `${timeStr} WARNING: TEMPERATURE SPIKE IN SERVER ROOM`,
514
+ `${timeStr} SECURITY ALERT: MOTION DETECTED IN SECTOR D`,
515
+ `${timeStr} AGENT KOWALSKI: *STATIC* ...need backup... *STATIC*`
516
+ ];
517
+
518
+ commsLog.innerHTML += `<p class="text-red-400">${messages[Math.floor(Math.random() * messages.length)]}</p>`;
519
+ commsLog.scrollTop = commsLog.scrollHeight;
520
+ }
521
+ }, 10000);
522
+ </script>
523
+ <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=MGros/operator" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
524
+ </html>