nanoshell 1.2.3 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,8 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
- <title>ZeroUI Cyber System Control Center</title>
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>NanoShell Master Control Center (38 Genuine Win32 APIs)</title>
6
7
  <link rel="stylesheet" href="styles.css">
7
8
  </head>
8
9
  <body>
@@ -10,15 +11,17 @@
10
11
  <!-- Sidebar Navigation -->
11
12
  <aside class="sidebar">
12
13
  <div class="logo-box">
13
- <h1 class="logo-title">Zero<span>UI</span></h1>
14
- <p class="tagline">Hyper-Native Engine</p>
14
+ <h1 class="logo-title">Nano<span>Shell</span></h1>
15
+ <p class="tagline">v1.7.1 Master Engine</p>
15
16
  </div>
16
17
 
17
18
  <nav class="nav-menu">
18
- <button class="nav-btn active" id="btn-overview">Overview</button>
19
- <button class="nav-btn" id="btn-gpu">GPU Shaders</button>
20
- <button class="nav-btn" id="btn-system">System Bridge</button>
21
- <button class="nav-btn" id="btn-child-win">Settings Window</button>
19
+ <button class="nav-btn active" data-tab="tab-overview">⚡ Overview & Telemetry</button>
20
+ <button class="nav-btn" data-tab="tab-window">🪟 Window & Effects</button>
21
+ <button class="nav-btn" data-tab="tab-fs">📁 FileSystem & Dialogs</button>
22
+ <button class="nav-btn" data-tab="tab-process">⚙️ Process & Shell</button>
23
+ <button class="nav-btn" data-tab="tab-system">🖥️ System & Hardware</button>
24
+ <button class="nav-btn" data-tab="tab-engines">🔥 Exclusive Engines</button>
22
25
  </nav>
23
26
 
24
27
  <div class="status-badge">
@@ -32,51 +35,138 @@
32
35
  <!-- Glassmorphic Header Card -->
33
36
  <header class="glass-card header-card">
34
37
  <div class="header-text">
35
- <h2 id="view-title">ZeroUI System Control Center</h2>
36
- <p id="view-desc">Browser-Free Native Engine (< 4ms Boot, 8.1MB RAM, 120 FPS GPU SDF Shaders)</p>
38
+ <h2 id="view-title">NanoShell Master Control Center</h2>
39
+ <p id="view-desc">100% Genuine Win32 System APIs (< 1ms Boot, ~17MB RAM, 120 FPS Native C/Zig)</p>
37
40
  </div>
38
- <button class="action-btn" id="btn-refresh">Refresh Diagnostics</button>
41
+ <button class="action-btn" id="btn-refresh-telemetry">🔄 Refresh Diagnostics</button>
39
42
  </header>
40
43
 
41
- <!-- Grid Metric Cards -->
42
- <section class="metrics-grid">
43
- <div class="glass-card metric-card">
44
- <span class="card-label">RAM Footprint</span>
45
- <span class="card-value" id="val-ram">8.1 MB</span>
46
- <span class="card-sub">Target < 10MB RSS</span>
44
+ <!-- TAB 1: OVERVIEW & TELEMETRY -->
45
+ <section id="tab-overview" class="tab-content active">
46
+ <div class="metrics-grid">
47
+ <div class="glass-card metric-card">
48
+ <span class="card-label">CPU Cores</span>
49
+ <span class="card-value" id="val-cores">--</span>
50
+ <span class="card-sub">Win32 GetSystemInfo</span>
51
+ </div>
52
+
53
+ <div class="glass-card metric-card">
54
+ <span class="card-label">Available RAM</span>
55
+ <span class="card-value" id="val-free-ram">-- MB</span>
56
+ <span class="card-sub">GlobalMemoryStatusEx</span>
57
+ </div>
58
+
59
+ <div class="glass-card metric-card">
60
+ <span class="card-label">Battery Level</span>
61
+ <span class="card-value" id="val-battery">-- %</span>
62
+ <span class="card-sub">GetSystemPowerStatus</span>
63
+ </div>
64
+
65
+ <div class="glass-card metric-card">
66
+ <span class="card-label">Mouse Cursor</span>
67
+ <span class="card-value" id="val-cursor">disabled</span>
68
+ <span class="card-sub">Win32 GetCursorPos</span>
69
+ <button id="btn-cursor-toggle" style="margin-top:6px;font-size:10px;padding:3px 8px;border-radius:6px;border:1px solid #555;background:#1a1a2e;color:#888;cursor:pointer;">Enable Tracking</button>
70
+ </div>
71
+ </div>
72
+
73
+ <div class="glass-card action-panel">
74
+ <h3>⚡ All 38 Genuine Win32 System APIs Live Tester</h3>
75
+ <p class="panel-desc">Click any category tab on the left sidebar to execute real Win32 kernel calls with zero mock data!</p>
76
+ <div class="quick-actions">
77
+ <button class="btn-primary" id="btn-quick-os">Query OS Info</button>
78
+ <button class="btn-secondary" id="btn-quick-battery">Battery Telemetry</button>
79
+ <button class="btn-accent" id="btn-quick-gpu">GPU Hardware Info</button>
80
+ <button class="btn-primary" id="btn-quick-procs">List OS Processes</button>
81
+ </div>
82
+ </div>
83
+ </section>
84
+
85
+ <!-- TAB 2: WINDOW & EFFECTS -->
86
+ <section id="tab-window" class="tab-content">
87
+ <div class="glass-card action-panel">
88
+ <h3>🪟 Native Window & Glassmorphism Backdrop Controls</h3>
89
+ <div class="button-group">
90
+ <button class="btn-primary" id="btn-win-mica">✨ Set Mica Backdrop (Win 11)</button>
91
+ <button class="btn-accent" id="btn-win-acrylic">🧊 Set Acrylic Blur (Win 10/11)</button>
92
+ <button class="btn-secondary" id="btn-win-title">Update Title Bar</button>
93
+ <button class="btn-secondary" id="btn-win-center">Center Window</button>
94
+ <button class="btn-primary" id="btn-win-fullscreen">Toggle Fullscreen</button>
95
+ <button class="btn-secondary" id="btn-win-min">Minimize Window</button>
96
+ <button class="btn-accent" id="btn-win-max">Maximize Window</button>
97
+ </div>
47
98
  </div>
99
+ </section>
48
100
 
49
- <div class="glass-card metric-card">
50
- <span class="card-label">Cold Boot Time</span>
51
- <span class="card-value" id="val-boot">0.8 ms</span>
52
- <span class="card-sub">Instant Snapshot Thaw</span>
101
+ <!-- TAB 3: FILESYSTEM & DIALOGS -->
102
+ <section id="tab-fs" class="tab-content">
103
+ <div class="glass-card action-panel">
104
+ <h3>📁 Native FileSystem & OS File Picker Dialogs</h3>
105
+ <div class="button-group">
106
+ <button class="btn-primary" id="btn-dlg-open">📂 Open File Dialog</button>
107
+ <button class="btn-primary" id="btn-dlg-save">💾 Save File Dialog</button>
108
+ <button class="btn-secondary" id="btn-fs-read">Read File (fs.readFile)</button>
109
+ <button class="btn-secondary" id="btn-fs-write">Write File (fs.writeFile)</button>
110
+ <button class="btn-accent" id="btn-fs-readdir">List Directory (fs.readDir)</button>
111
+ <button class="btn-secondary" id="btn-fs-mkdir">Create Folder (fs.mkdir)</button>
112
+ <button class="btn-primary" id="btn-dlg-msg">Trigger OS Alert Box</button>
113
+ </div>
53
114
  </div>
115
+ </section>
54
116
 
55
- <div class="glass-card metric-card">
56
- <span class="card-label">IPC Latency</span>
57
- <span class="card-value" id="val-ipc">0.00 ms</span>
58
- <span class="card-sub">Zero-Copy SharedMemory</span>
117
+ <!-- TAB 4: PROCESS & SHELL -->
118
+ <section id="tab-process" class="tab-content">
119
+ <div class="glass-card action-panel">
120
+ <h3>⚙️ Win32 Task Manager, Process Spawner & Shell Exec</h3>
121
+ <div class="button-group">
122
+ <button class="btn-primary" id="btn-proc-list">📋 List Running Processes</button>
123
+ <button class="btn-accent" id="btn-proc-spawn">🚀 Spawn Sub-Process (notepad.exe)</button>
124
+ <button class="btn-secondary" id="btn-shell-exec">⚡ Run CLI Exec (dir)</button>
125
+ <button class="btn-primary" id="btn-shell-url">🌐 Open External URL</button>
126
+ </div>
59
127
  </div>
128
+ </section>
129
+
130
+ <!-- TAB 5: SYSTEM & HARDWARE -->
131
+ <section id="tab-system" class="tab-content">
132
+ <div class="glass-card action-panel">
133
+ <h3>🖥️ Hardware Telemetry, Clipboard & Toast Notifications</h3>
134
+ <div class="button-group">
135
+ <button class="btn-primary" id="btn-sys-info">💻 Full System Spec</button>
136
+ <button class="btn-secondary" id="btn-clip-write">📋 Copy Text to Clipboard</button>
137
+ <button class="btn-secondary" id="btn-clip-read">📥 Read Text from Clipboard</button>
138
+ <button class="btn-accent" id="btn-screen-monitors">🖥️ Monitor Resolution</button>
139
+ <button class="btn-primary" id="btn-notif-show">🔔 OS Toast Notification</button>
140
+ </div>
141
+ </div>
142
+ </section>
60
143
 
61
- <div class="glass-card metric-card">
62
- <span class="card-label">Binary Executable</span>
63
- <span class="card-value" id="val-binary">3.00 MB</span>
64
- <span class="card-sub">Single Self-Contained Binary</span>
144
+ <!-- TAB 6: EXCLUSIVE ENGINES -->
145
+ <section id="tab-engines" class="tab-content">
146
+ <div class="glass-card action-panel">
147
+ <h3>🔥 Exclusive Engines: Zero-Copy SHM, Snapshot Thaw & GPU Cap</h3>
148
+ <div class="button-group">
149
+ <button class="btn-accent" id="btn-shm-test">⚡ Test Shared Memory Matrix (< 0.01ms)</button>
150
+ <button class="btn-primary" id="btn-snap-freeze">❄️ Freeze State (snapshot.freezeState)</button>
151
+ <button class="btn-primary" id="btn-snap-thaw">🧊 Thaw State (< 1ms Cold Start)</button>
152
+ <button class="btn-secondary" id="btn-gpu-info">🎮 DXGI GPU Hardware Info</button>
153
+ <button class="btn-accent" id="btn-gpu-fps120">⚡ Cap FPS to 120</button>
154
+ <button class="btn-secondary" id="btn-gpu-fps60">🔋 Cap FPS to 60</button>
155
+ </div>
65
156
  </div>
66
157
  </section>
67
158
 
68
- <!-- Action Panel -->
69
- <section class="glass-card action-panel">
70
- <h3>Native OS & Shell Controls</h3>
71
- <div class="button-group">
72
- <button class="btn-primary" id="btn-msgbox">Trigger Native Dialog</button>
73
- <button class="btn-secondary" id="btn-progress">Set Taskbar Progress (85%)</button>
74
- <button class="btn-accent" id="btn-open-settings">Open Child Settings Window</button>
159
+ <!-- Global Console Output Panel -->
160
+ <section class="glass-card output-panel">
161
+ <div class="output-header">
162
+ <span>🖥️ Live Win32 API Output Stream</span>
163
+ <button class="btn-clear" id="btn-clear-output">Clear</button>
75
164
  </div>
165
+ <pre id="api-output">// Click any API button above to inspect live Win32 system output...</pre>
76
166
  </section>
77
167
  </main>
78
168
  </div>
79
169
 
80
- <script src="app.js"></script>
170
+ <!-- app.js is injected inline by the NanoShell engine at load time -->
81
171
  </body>
82
172
  </html>
@@ -1,131 +1,150 @@
1
- /* ZeroUI Glassmorphism CSS Design Tokens */
1
+ /* ZeroUI / NanoShell Master Cyber Dashboard Stylesheet */
2
+
3
+ :root {
4
+ --bg-dark: #090d16;
5
+ --panel-bg: rgba(15, 23, 42, 0.75);
6
+ --border-color: rgba(56, 189, 248, 0.2);
7
+ --primary-cyan: #38bdf8;
8
+ --accent-purple: #a855f7;
9
+ --accent-emerald: #10b981;
10
+ --text-main: #f8fafc;
11
+ --text-muted: #94a3b8;
12
+ }
2
13
 
3
14
  * {
4
15
  box-sizing: border-box;
5
16
  margin: 0;
6
17
  padding: 0;
7
- font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
8
18
  }
9
19
 
10
20
  body {
11
- background: linear-gradient(135deg, #0b0d19 0%, #15182e 50%, #080a14 100%);
12
- color: #f0f4f8;
21
+ font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
22
+ background-color: var(--bg-dark);
23
+ background-image:
24
+ radial-gradient(at 0% 0%, rgba(56, 189, 248, 0.12) 0px, transparent 50%),
25
+ radial-gradient(at 100% 100%, rgba(168, 85, 247, 0.12) 0px, transparent 50%);
26
+ color: var(--text-main);
13
27
  height: 100vh;
14
28
  overflow: hidden;
15
29
  }
16
30
 
31
+ button, .nav-btn, .action-btn, .btn-primary, .btn-secondary, .btn-accent, .btn-clear {
32
+ pointer-events: auto !important;
33
+ cursor: pointer !important;
34
+ }
35
+
36
+ /* App Layout Grid */
17
37
  .dashboard-container {
18
38
  display: flex;
19
- width: 100%;
20
39
  height: 100vh;
40
+ width: 100vw;
21
41
  }
22
42
 
23
43
  /* Sidebar */
24
44
  .sidebar {
25
45
  width: 260px;
26
- background: rgba(20, 24, 45, 0.6);
27
- border-right: 1px solid rgba(255, 255, 255, 0.08);
46
+ background: rgba(10, 15, 29, 0.85);
47
+ backdrop-filter: blur(16px);
48
+ border-right: 1px solid var(--border-color);
28
49
  display: flex;
29
50
  flex-direction: column;
30
- padding: 24px;
51
+ padding: 1.5rem 1rem;
31
52
  }
32
53
 
33
54
  .logo-box {
34
- margin-bottom: 32px;
35
- display: block;
55
+ margin-bottom: 2rem;
56
+ padding-left: 0.5rem;
36
57
  }
37
58
 
38
59
  .logo-title {
39
- font-size: 28px;
60
+ font-size: 1.5rem;
40
61
  font-weight: 800;
41
- line-height: 1.2;
42
62
  letter-spacing: -0.5px;
43
- color: #ffffff;
44
- display: block;
45
- margin: 0;
46
- padding: 0;
47
63
  }
48
64
 
49
65
  .logo-title span {
50
- color: #00f2fe;
66
+ color: var(--primary-cyan);
51
67
  }
52
68
 
53
69
  .tagline {
54
- font-size: 11px;
55
- color: #94a3b8;
70
+ font-size: 0.75rem;
71
+ color: var(--text-muted);
56
72
  text-transform: uppercase;
57
73
  letter-spacing: 1px;
58
- margin-top: 6px;
59
- display: block;
60
- clear: both;
74
+ margin-top: 0.2rem;
61
75
  }
62
76
 
63
77
  .nav-menu {
64
78
  display: flex;
65
79
  flex-direction: column;
66
- gap: 10px;
80
+ gap: 0.5rem;
67
81
  flex: 1;
68
82
  }
69
83
 
70
84
  .nav-btn {
71
85
  background: transparent;
72
86
  border: 1px solid transparent;
73
- color: #cbd5e1;
74
- padding: 12px 16px;
75
- border-radius: 12px;
87
+ color: var(--text-muted);
88
+ padding: 0.75rem 1rem;
89
+ border-radius: 0.5rem;
76
90
  text-align: left;
77
- font-size: 14px;
78
- font-weight: 500;
91
+ font-size: 0.85rem;
92
+ font-weight: 600;
79
93
  cursor: pointer;
94
+ transition: all 0.2s ease;
80
95
  }
81
96
 
82
97
  .nav-btn:hover {
83
- background: rgba(255, 255, 255, 0.05);
84
- color: #ffffff;
98
+ background: rgba(56, 189, 248, 0.08);
99
+ color: var(--primary-cyan);
85
100
  }
86
101
 
87
102
  .nav-btn.active {
88
- background: linear-gradient(135deg, rgba(0, 242, 254, 0.15) 0%, rgba(79, 172, 254, 0.15) 100%);
89
- border: 1px solid rgba(0, 242, 254, 0.3);
90
- color: #00f2fe;
103
+ background: rgba(56, 189, 248, 0.15);
104
+ border-color: rgba(56, 189, 248, 0.4);
105
+ color: var(--primary-cyan);
106
+ box-shadow: 0 0 15px rgba(56, 189, 248, 0.15);
91
107
  }
92
108
 
93
109
  .status-badge {
94
110
  display: flex;
95
111
  align-items: center;
96
- gap: 10px;
97
- padding: 12px;
98
- background: rgba(0, 242, 254, 0.08);
99
- border-radius: 12px;
100
- font-size: 13px;
101
- color: #00f2fe;
102
- font-weight: 600;
112
+ gap: 0.5rem;
113
+ padding: 0.6rem 0.8rem;
114
+ background: rgba(16, 185, 129, 0.1);
115
+ border: 1px solid rgba(16, 185, 129, 0.3);
116
+ border-radius: 20px;
117
+ font-size: 0.75rem;
118
+ font-weight: bold;
119
+ color: var(--accent-emerald);
103
120
  }
104
121
 
105
122
  .pulse-dot {
106
123
  width: 8px;
107
124
  height: 8px;
108
- background: #00f2fe;
125
+ background-color: var(--accent-emerald);
109
126
  border-radius: 50%;
110
- box-shadow: 0 0 10px #00f2fe;
127
+ box-shadow: 0 0 8px var(--accent-emerald);
111
128
  }
112
129
 
113
130
  /* Content Area */
114
131
  .content-area {
115
132
  flex: 1;
116
- padding: 32px;
133
+ padding: 1.5rem;
134
+ overflow-y: auto;
117
135
  display: flex;
118
136
  flex-direction: column;
119
- gap: 24px;
120
- overflow-y: auto;
137
+ gap: 1.25rem;
121
138
  }
122
139
 
140
+ /* Glassmorphism Card Utility */
123
141
  .glass-card {
124
- background: rgba(30, 41, 59, 0.45);
125
- border: 1px solid rgba(255, 255, 255, 0.1);
126
- border-radius: 20px;
127
- box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
128
- padding: 24px;
142
+ background: var(--panel-bg);
143
+ backdrop-filter: blur(12px);
144
+ border: 1px solid var(--border-color);
145
+ border-radius: 0.75rem;
146
+ padding: 1.25rem;
147
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
129
148
  }
130
149
 
131
150
  .header-card {
@@ -135,89 +154,168 @@ body {
135
154
  }
136
155
 
137
156
  .header-text h2 {
138
- font-size: 22px;
157
+ font-size: 1.25rem;
139
158
  font-weight: 700;
159
+ color: var(--text-main);
140
160
  }
141
161
 
142
162
  .header-text p {
143
- font-size: 13px;
144
- color: #94a3b8;
145
- margin-top: 4px;
163
+ font-size: 0.8rem;
164
+ color: var(--text-muted);
165
+ margin-top: 0.25rem;
166
+ }
167
+
168
+ .action-btn {
169
+ background: rgba(56, 189, 248, 0.15);
170
+ border: 1px solid var(--primary-cyan);
171
+ color: var(--primary-cyan);
172
+ padding: 0.5rem 1rem;
173
+ border-radius: 0.5rem;
174
+ font-weight: 600;
175
+ font-size: 0.8rem;
176
+ cursor: pointer;
177
+ transition: background 0.2s;
178
+ }
179
+
180
+ .action-btn:hover {
181
+ background: var(--primary-cyan);
182
+ color: var(--bg-dark);
146
183
  }
147
184
 
148
185
  /* Metrics Grid */
149
186
  .metrics-grid {
150
187
  display: grid;
151
188
  grid-template-columns: repeat(4, 1fr);
152
- gap: 20px;
189
+ gap: 1rem;
153
190
  }
154
191
 
155
192
  .metric-card {
156
193
  display: flex;
157
194
  flex-direction: column;
158
- gap: 8px;
159
195
  }
160
196
 
161
197
  .card-label {
162
- font-size: 11px;
198
+ font-size: 0.75rem;
199
+ color: var(--text-muted);
163
200
  text-transform: uppercase;
164
- letter-spacing: 1px;
165
- color: #94a3b8;
166
- font-weight: 600;
201
+ letter-spacing: 0.5px;
167
202
  }
168
203
 
169
204
  .card-value {
170
- font-size: 28px;
205
+ font-size: 1.5rem;
171
206
  font-weight: 800;
172
- color: #00f2fe;
207
+ color: var(--primary-cyan);
208
+ margin: 0.3rem 0;
173
209
  }
174
210
 
175
211
  .card-sub {
176
- font-size: 12px;
212
+ font-size: 0.7rem;
177
213
  color: #64748b;
178
214
  }
179
215
 
180
- /* Action Panel */
216
+ /* Action Panels & Buttons */
181
217
  .action-panel h3 {
182
- font-size: 16px;
218
+ font-size: 1rem;
183
219
  font-weight: 600;
184
- margin-bottom: 16px;
220
+ margin-bottom: 0.8rem;
221
+ color: var(--primary-cyan);
222
+ }
223
+
224
+ .panel-desc {
225
+ font-size: 0.8rem;
226
+ color: var(--text-muted);
227
+ margin-bottom: 1rem;
185
228
  }
186
229
 
187
- .button-group {
230
+ .button-group, .quick-actions {
188
231
  display: flex;
189
- gap: 16px;
232
+ flex-wrap: wrap;
233
+ gap: 0.75rem;
190
234
  }
191
235
 
192
- button.action-btn,
193
- button.btn-primary,
194
- button.btn-secondary,
195
- button.btn-accent {
196
- padding: 12px 20px;
197
- border-radius: 12px;
198
- font-size: 14px;
236
+ .btn-primary, .btn-secondary, .btn-accent {
237
+ border: none;
238
+ padding: 0.6rem 1.1rem;
239
+ border-radius: 0.4rem;
240
+ font-size: 0.8rem;
199
241
  font-weight: 600;
200
242
  cursor: pointer;
201
- border: none;
243
+ transition: transform 0.15s, opacity 0.15s;
202
244
  }
203
245
 
204
- button.btn-primary {
205
- background: linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);
206
- color: #0b0d19;
246
+ .btn-primary {
247
+ background: var(--primary-cyan);
248
+ color: #0f172a;
207
249
  }
208
250
 
209
- button.btn-secondary {
251
+ .btn-secondary {
210
252
  background: rgba(255, 255, 255, 0.08);
211
- color: #f0f4f8;
212
253
  border: 1px solid rgba(255, 255, 255, 0.15);
254
+ color: var(--text-main);
213
255
  }
214
256
 
215
- button.btn-accent {
216
- background: linear-gradient(135deg, #b224ef 0%, #7579ff 100%);
257
+ .btn-accent {
258
+ background: var(--accent-purple);
217
259
  color: #ffffff;
218
260
  }
219
261
 
220
- button.action-btn {
221
- background: #ffffff;
222
- color: #0b0d19;
262
+ .btn-primary:hover, .btn-secondary:hover, .btn-accent:hover {
263
+ transform: translateY(-1px);
264
+ opacity: 0.9;
265
+ }
266
+
267
+ /* Tab Switching */
268
+ .tab-content {
269
+ display: none;
270
+ flex-direction: column;
271
+ gap: 1rem;
272
+ }
273
+
274
+ .tab-content.active {
275
+ display: flex;
276
+ }
277
+
278
+ /* Console Output Stream */
279
+ .output-panel {
280
+ display: flex;
281
+ flex-direction: column;
282
+ flex: 1;
283
+ min-height: 200px;
284
+ }
285
+
286
+ .output-header {
287
+ display: flex;
288
+ justify-content: space-between;
289
+ align-items: center;
290
+ font-size: 0.8rem;
291
+ font-weight: 700;
292
+ color: var(--primary-cyan);
293
+ margin-bottom: 0.5rem;
294
+ }
295
+
296
+ .btn-clear {
297
+ background: transparent;
298
+ border: none;
299
+ color: var(--text-muted);
300
+ font-size: 0.75rem;
301
+ cursor: pointer;
302
+ }
303
+
304
+ .btn-clear:hover {
305
+ color: #ef4444;
306
+ }
307
+
308
+ #api-output {
309
+ flex: 1;
310
+ background: rgba(0, 0, 0, 0.4);
311
+ border: 1px solid rgba(255, 255, 255, 0.05);
312
+ border-radius: 0.5rem;
313
+ padding: 0.75rem;
314
+ font-family: 'Consolas', 'Courier New', monospace;
315
+ font-size: 0.8rem;
316
+ color: #38bdf8;
317
+ white-space: pre-wrap;
318
+ word-break: break-word;
319
+ overflow-y: auto;
320
+ max-height: 250px;
223
321
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nanoshell",
3
- "version": "1.2.3",
3
+ "version": "1.7.2",
4
4
  "description": "Hyper-lightweight 17MB RAM, 120 FPS native desktop application framework & runtime engine created by Suman Biswas",
5
5
  "main": "zig-out/bin/example_app.exe",
6
6
  "bin": {
Binary file
Binary file
Binary file
Binary file
Binary file