@szdziedzic/sim-on 0.1.0

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.
Files changed (116) hide show
  1. package/README.md +51 -0
  2. package/bin/sim-on.js +5 -0
  3. package/dist/simon.mjs +307 -0
  4. package/package.json +38 -0
  5. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/LiveKitWebRTC.h +113 -0
  6. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioBuffer.h +38 -0
  7. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioCustomProcessingDelegate.h +52 -0
  8. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioDeviceModule.h +287 -0
  9. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingConfig.h +37 -0
  10. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingModule.h +31 -0
  11. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingState.h +137 -0
  12. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioRenderer.h +35 -0
  13. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioSource.h +32 -0
  14. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioTrack.h +150 -0
  15. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCVPixelBuffer.h +52 -0
  16. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCallbackLogger.h +41 -0
  17. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCameraVideoCapturer.h +71 -0
  18. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCertificate.h +47 -0
  19. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCodecSpecificInfo.h +24 -0
  20. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCodecSpecificInfoH264.h +27 -0
  21. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCConfiguration.h +278 -0
  22. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCryptoOptions.h +66 -0
  23. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataChannel.h +134 -0
  24. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataChannelConfiguration.h +52 -0
  25. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataPacketCryptor.h +52 -0
  26. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultAudioProcessingModule.h +47 -0
  27. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultVideoDecoderFactory.h +26 -0
  28. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultVideoEncoderFactory.h +31 -0
  29. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopCapturer.h +60 -0
  30. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopMediaList.h +51 -0
  31. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopSource.h +40 -0
  32. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDispatcher.h +46 -0
  33. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDtmfSender.h +73 -0
  34. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCEncodedImage.h +52 -0
  35. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFieldTrials.h +34 -0
  36. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFileLogger.h +75 -0
  37. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFileVideoCapturer.h +51 -0
  38. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFrameCryptor.h +77 -0
  39. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFrameCryptorKeyProvider.h +76 -0
  40. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCH264ProfileLevelId.h +60 -0
  41. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCI420Buffer.h +22 -0
  42. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIODevice.h +41 -0
  43. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceCandidate.h +50 -0
  44. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceCandidateErrorEvent.h +45 -0
  45. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceServer.h +114 -0
  46. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCLegacyStatsReport.h +37 -0
  47. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCLogging.h +66 -0
  48. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMTLNSVideoView.h +22 -0
  49. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMTLVideoView.h +63 -0
  50. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMacros.h +69 -0
  51. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaConstraints.h +47 -0
  52. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaSource.h +34 -0
  53. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaStream.h +50 -0
  54. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaStreamTrack.h +50 -0
  55. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMetrics.h +24 -0
  56. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMetricsSampleInfo.h +48 -0
  57. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMutableI420Buffer.h +24 -0
  58. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMutableYUVPlanarBuffer.h +28 -0
  59. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCNativeI420Buffer.h +23 -0
  60. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCNativeMutableI420Buffer.h +24 -0
  61. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnection.h +416 -0
  62. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnectionFactory.h +159 -0
  63. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnectionFactoryOptions.h +38 -0
  64. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtcpParameters.h +30 -0
  65. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCapabilities.h +31 -0
  66. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCodecCapability.h +58 -0
  67. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCodecParameters.h +74 -0
  68. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpEncodingParameters.h +81 -0
  69. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpHeaderExtension.h +33 -0
  70. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpHeaderExtensionCapability.h +39 -0
  71. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpParameters.h +63 -0
  72. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpReceiver.h +105 -0
  73. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpSender.h +55 -0
  74. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpSource.h +66 -0
  75. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpTransceiver.h +180 -0
  76. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSSLAdapter.h +20 -0
  77. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSSLCertificateVerifier.h +25 -0
  78. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSessionDescription.h +48 -0
  79. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCStatisticsReport.h +58 -0
  80. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCTracing.h +21 -0
  81. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoCapturer.h +37 -0
  82. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoCodecInfo.h +43 -0
  83. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoder.h +41 -0
  84. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderAV1.h +25 -0
  85. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderFactory.h +33 -0
  86. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderFactoryH264.h +18 -0
  87. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderH264.h +18 -0
  88. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderVP8.h +25 -0
  89. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderVP9.h +27 -0
  90. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoder.h +62 -0
  91. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderAV1.h +34 -0
  92. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactory.h +78 -0
  93. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactoryH264.h +18 -0
  94. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactorySimulcast.h +16 -0
  95. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderH264.h +22 -0
  96. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderQpThresholds.h +29 -0
  97. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderSettings.h +42 -0
  98. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderSimulcast.h +13 -0
  99. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderVP8.h +30 -0
  100. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderVP9.h +34 -0
  101. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoFrame.h +86 -0
  102. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoFrameBuffer.h +40 -0
  103. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoRenderer.h +44 -0
  104. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoSource.h +37 -0
  105. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoTrack.h +41 -0
  106. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoViewShading.h +39 -0
  107. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCYUVHelper.h +118 -0
  108. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCYUVPlanarBuffer.h +46 -0
  109. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/LiveKitWebRTC +0 -0
  110. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Modules/module.modulemap +6 -0
  111. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Resources/Info.plist +36 -0
  112. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Versions/A/Resources/PrivacyInfo.xcprivacy +32 -0
  113. package/vendor/helper/simon-helper +0 -0
  114. package/vendor/web/app.js +54 -0
  115. package/vendor/web/index.html +15 -0
  116. package/vendor/web/styles.css +435 -0
@@ -0,0 +1,435 @@
1
+ /* sim-on browser UI — dark theme, Expo accent. */
2
+
3
+ :root {
4
+ color-scheme: dark;
5
+ --bg: #0d0f14;
6
+ --bg-panel: #13161d;
7
+ --bg-raised: #1b1f29;
8
+ --border: #262b37;
9
+ --text: #e6e8ee;
10
+ --text-dim: #8b91a0;
11
+ --accent: #4630eb;
12
+ --accent-soft: rgba(70, 48, 235, 0.35);
13
+ --green: #34d399;
14
+ --red: #f87171;
15
+ --orange: #fb923c;
16
+ --violet: #a78bfa;
17
+ --blue: #60a5fa;
18
+ --teal: #2dd4bf;
19
+ --gray: #9ca3af;
20
+ --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
21
+ }
22
+
23
+ * {
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ html,
28
+ body,
29
+ #root {
30
+ height: 100%;
31
+ margin: 0;
32
+ }
33
+
34
+ body {
35
+ background: var(--bg);
36
+ color: var(--text);
37
+ font: 13px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
38
+ overflow: hidden;
39
+ }
40
+
41
+ .app {
42
+ display: flex;
43
+ flex-direction: column;
44
+ height: 100%;
45
+ }
46
+
47
+ .main {
48
+ flex: 1;
49
+ display: flex;
50
+ min-height: 0;
51
+ }
52
+
53
+ /* ─── Toolbar ─── */
54
+
55
+ .toolbar {
56
+ display: flex;
57
+ align-items: center;
58
+ gap: 8px;
59
+ padding: 8px 12px;
60
+ background: var(--bg-panel);
61
+ border-bottom: 1px solid var(--border);
62
+ }
63
+
64
+ .toolbar-title {
65
+ font-weight: 700;
66
+ letter-spacing: 0.02em;
67
+ color: var(--text);
68
+ margin-right: 4px;
69
+ }
70
+
71
+ .toolbar-title::before {
72
+ content: "";
73
+ display: inline-block;
74
+ width: 8px;
75
+ height: 8px;
76
+ border-radius: 2px;
77
+ background: var(--accent);
78
+ margin-right: 7px;
79
+ vertical-align: baseline;
80
+ }
81
+
82
+ .toolbar-sep {
83
+ width: 1px;
84
+ height: 18px;
85
+ background: var(--border);
86
+ margin: 0 2px;
87
+ }
88
+
89
+ .toolbar-spacer {
90
+ flex: 1;
91
+ }
92
+
93
+ .toolbar-note {
94
+ color: var(--text-dim);
95
+ font-size: 12px;
96
+ }
97
+
98
+ .btn {
99
+ appearance: none;
100
+ background: var(--bg-raised);
101
+ color: var(--text);
102
+ border: 1px solid var(--border);
103
+ border-radius: 6px;
104
+ padding: 4px 10px;
105
+ font: inherit;
106
+ font-size: 12px;
107
+ cursor: pointer;
108
+ }
109
+
110
+ .btn:hover:not(:disabled) {
111
+ border-color: var(--accent);
112
+ }
113
+
114
+ .btn:active:not(:disabled) {
115
+ background: var(--accent-soft);
116
+ }
117
+
118
+ .btn:disabled {
119
+ opacity: 0.45;
120
+ cursor: default;
121
+ }
122
+
123
+ .btn-accent {
124
+ background: var(--accent);
125
+ border-color: var(--accent);
126
+ }
127
+
128
+ .btn-accent:hover:not(:disabled) {
129
+ filter: brightness(1.15);
130
+ }
131
+
132
+ .device-picker {
133
+ appearance: none;
134
+ background: var(--bg-raised);
135
+ color: var(--text);
136
+ border: 1px solid var(--border);
137
+ border-radius: 6px;
138
+ padding: 4px 26px 4px 10px;
139
+ font: inherit;
140
+ font-size: 12px;
141
+ max-width: 280px;
142
+ cursor: pointer;
143
+ background-image: linear-gradient(45deg, transparent 50%, var(--text-dim) 50%),
144
+ linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);
145
+ background-position: calc(100% - 14px) 55%, calc(100% - 10px) 55%;
146
+ background-size: 4px 4px;
147
+ background-repeat: no-repeat;
148
+ }
149
+
150
+ .quality-dot {
151
+ width: 10px;
152
+ height: 10px;
153
+ border-radius: 50%;
154
+ background: var(--gray);
155
+ }
156
+
157
+ .quality-good {
158
+ background: var(--green);
159
+ box-shadow: 0 0 6px rgba(52, 211, 153, 0.6);
160
+ }
161
+
162
+ .quality-degraded {
163
+ background: var(--orange);
164
+ }
165
+
166
+ .quality-poor {
167
+ background: var(--red);
168
+ }
169
+
170
+ .quality-unknown {
171
+ background: var(--gray);
172
+ opacity: 0.5;
173
+ }
174
+
175
+ /* ─── Simulator surface ─── */
176
+
177
+ .sim-stage {
178
+ flex: 1;
179
+ min-width: 0;
180
+ min-height: 0;
181
+ position: relative;
182
+ display: flex;
183
+ align-items: center;
184
+ justify-content: center;
185
+ padding: 16px;
186
+ outline: none;
187
+ }
188
+
189
+ .sim-stage:focus-visible {
190
+ box-shadow: inset 0 0 0 2px var(--accent-soft);
191
+ }
192
+
193
+ .sim-media {
194
+ max-width: 100%;
195
+ max-height: 100%;
196
+ display: block;
197
+ background: #000;
198
+ border-radius: 10px;
199
+ box-shadow: 0 0 0 1px var(--border), 0 12px 40px rgba(0, 0, 0, 0.5);
200
+ touch-action: none;
201
+ user-select: none;
202
+ -webkit-user-select: none;
203
+ }
204
+
205
+ .sim-placeholder {
206
+ color: var(--text-dim);
207
+ font-size: 13px;
208
+ letter-spacing: 0.02em;
209
+ }
210
+
211
+ .touch-ripple {
212
+ position: absolute;
213
+ width: 36px;
214
+ height: 36px;
215
+ margin: -18px 0 0 -18px;
216
+ border-radius: 50%;
217
+ background: var(--accent-soft);
218
+ border: 1.5px solid var(--accent);
219
+ pointer-events: none;
220
+ z-index: 3;
221
+ animation: touch-ripple 450ms ease-out forwards;
222
+ }
223
+
224
+ @keyframes touch-ripple {
225
+ 0% {
226
+ transform: scale(0.35);
227
+ opacity: 0.9;
228
+ }
229
+ 100% {
230
+ transform: scale(1.9);
231
+ opacity: 0;
232
+ }
233
+ }
234
+
235
+ /* ─── Event log ─── */
236
+
237
+ .event-log {
238
+ width: 380px;
239
+ min-width: 380px;
240
+ display: flex;
241
+ flex-direction: column;
242
+ background: var(--bg-panel);
243
+ border-left: 1px solid var(--border);
244
+ }
245
+
246
+ .log-header {
247
+ display: flex;
248
+ flex-direction: column;
249
+ gap: 6px;
250
+ padding: 8px 10px;
251
+ border-bottom: 1px solid var(--border);
252
+ }
253
+
254
+ .log-title {
255
+ font-size: 11px;
256
+ font-weight: 700;
257
+ text-transform: uppercase;
258
+ letter-spacing: 0.08em;
259
+ color: var(--text-dim);
260
+ }
261
+
262
+ .chips {
263
+ display: flex;
264
+ flex-wrap: wrap;
265
+ gap: 4px;
266
+ }
267
+
268
+ .chip {
269
+ appearance: none;
270
+ background: transparent;
271
+ border: 1px solid var(--border);
272
+ border-radius: 999px;
273
+ color: var(--text-dim);
274
+ font: inherit;
275
+ font-size: 11px;
276
+ padding: 1px 9px;
277
+ cursor: pointer;
278
+ }
279
+
280
+ .chip:hover {
281
+ border-color: var(--text-dim);
282
+ }
283
+
284
+ .chip-agent.active {
285
+ color: var(--violet);
286
+ border-color: var(--violet);
287
+ }
288
+
289
+ .chip-flow.active {
290
+ color: var(--blue);
291
+ border-color: var(--blue);
292
+ }
293
+
294
+ .chip-browser.active {
295
+ color: var(--green);
296
+ border-color: var(--green);
297
+ }
298
+
299
+ .chip-cli.active {
300
+ color: var(--orange);
301
+ border-color: var(--orange);
302
+ }
303
+
304
+ .chip-mcp.active {
305
+ color: var(--teal);
306
+ border-color: var(--teal);
307
+ }
308
+
309
+ .chip-system.active {
310
+ color: var(--gray);
311
+ border-color: var(--gray);
312
+ }
313
+
314
+ .log-rows {
315
+ flex: 1;
316
+ overflow-y: auto;
317
+ padding: 4px 0 8px;
318
+ }
319
+
320
+ .log-row {
321
+ display: flex;
322
+ align-items: baseline;
323
+ gap: 7px;
324
+ padding: 2px 10px;
325
+ }
326
+
327
+ .log-row:hover {
328
+ background: var(--bg-raised);
329
+ }
330
+
331
+ .row-fail {
332
+ background: rgba(248, 113, 113, 0.08);
333
+ }
334
+
335
+ .row-fail:hover {
336
+ background: rgba(248, 113, 113, 0.14);
337
+ }
338
+
339
+ .row-time {
340
+ font-family: var(--mono);
341
+ font-size: 10.5px;
342
+ color: var(--text-dim);
343
+ white-space: nowrap;
344
+ }
345
+
346
+ .badge {
347
+ flex: none;
348
+ font-size: 9.5px;
349
+ font-weight: 700;
350
+ text-transform: uppercase;
351
+ letter-spacing: 0.05em;
352
+ border-radius: 4px;
353
+ padding: 0 5px;
354
+ line-height: 16px;
355
+ }
356
+
357
+ .badge-agent {
358
+ color: var(--violet);
359
+ background: rgba(167, 139, 250, 0.14);
360
+ }
361
+
362
+ .badge-flow {
363
+ color: var(--blue);
364
+ background: rgba(96, 165, 250, 0.14);
365
+ }
366
+
367
+ .badge-browser {
368
+ color: var(--green);
369
+ background: rgba(52, 211, 153, 0.14);
370
+ }
371
+
372
+ .badge-cli {
373
+ color: var(--orange);
374
+ background: rgba(251, 146, 60, 0.14);
375
+ }
376
+
377
+ .badge-mcp {
378
+ color: var(--teal);
379
+ background: rgba(45, 212, 191, 0.14);
380
+ }
381
+
382
+ .badge-system {
383
+ color: var(--gray);
384
+ background: rgba(156, 163, 175, 0.14);
385
+ }
386
+
387
+ .row-desc {
388
+ font-family: var(--mono);
389
+ font-size: 11.5px;
390
+ word-break: break-word;
391
+ min-width: 0;
392
+ }
393
+
394
+ .show-older {
395
+ display: block;
396
+ width: calc(100% - 20px);
397
+ margin: 4px 10px;
398
+ appearance: none;
399
+ background: var(--bg-raised);
400
+ border: 1px solid var(--border);
401
+ border-radius: 6px;
402
+ color: var(--text-dim);
403
+ font: inherit;
404
+ font-size: 11px;
405
+ padding: 3px 0;
406
+ cursor: pointer;
407
+ }
408
+
409
+ .show-older:hover {
410
+ border-color: var(--accent);
411
+ color: var(--text);
412
+ }
413
+
414
+ .log-empty {
415
+ color: var(--text-dim);
416
+ font-size: 12px;
417
+ text-align: center;
418
+ padding: 24px 0;
419
+ }
420
+
421
+ /* Scrollbars */
422
+
423
+ .log-rows::-webkit-scrollbar {
424
+ width: 10px;
425
+ }
426
+
427
+ .log-rows::-webkit-scrollbar-thumb {
428
+ background: var(--bg-raised);
429
+ border: 2px solid var(--bg-panel);
430
+ border-radius: 6px;
431
+ }
432
+
433
+ .log-rows::-webkit-scrollbar-thumb:hover {
434
+ background: var(--border);
435
+ }