k-cli-for-devs 1.0.0__py3-none-any.whl

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 (75) hide show
  1. k_cli/__init__.py +77 -0
  2. k_cli/agents/__init__.py +0 -0
  3. k_cli/agents/adversarial_swarm.py +338 -0
  4. k_cli/agents/agent_core.py +255 -0
  5. k_cli/agents/background_daemon.py +141 -0
  6. k_cli/agents/orchestrator.py +376 -0
  7. k_cli/agents/persona.py +649 -0
  8. k_cli/agents/scaffold_engine.py +121 -0
  9. k_cli/agents/strands_agent.py +832 -0
  10. k_cli/agents/subagents.py +1496 -0
  11. k_cli/cli.py +3297 -0
  12. k_cli/core/__init__.py +0 -0
  13. k_cli/core/airgap.py +95 -0
  14. k_cli/core/credentials.py +548 -0
  15. k_cli/core/intent_sensor.py +177 -0
  16. k_cli/core/llm_driver.py +1028 -0
  17. k_cli/core/model_manager.py +1109 -0
  18. k_cli/core/models_hub.py +913 -0
  19. k_cli/core/prompting.py +41 -0
  20. k_cli/core/sdk.py +322 -0
  21. k_cli/core/session.py +826 -0
  22. k_cli/core/smart_router.py +230 -0
  23. k_cli/core/storage_manager.py +176 -0
  24. k_cli/core/viewport_engine.py +117 -0
  25. k_cli/demo/demo_runner.py +579 -0
  26. k_cli/git/__init__.py +0 -0
  27. k_cli/git/ai_bisect.py +208 -0
  28. k_cli/git/conflict_resolver.py +1039 -0
  29. k_cli/git/git_guard.py +417 -0
  30. k_cli/git/patcher.py +1175 -0
  31. k_cli/git/repo_map.py +1780 -0
  32. k_cli/git/smart_git.py +928 -0
  33. k_cli/git/verifier.py +969 -0
  34. k_cli/github/__init__.py +0 -0
  35. k_cli/github/dedup_engine.py +787 -0
  36. k_cli/github/github_client.py +1702 -0
  37. k_cli/github/github_engine.py +641 -0
  38. k_cli/github/local_hub.py +209 -0
  39. k_cli/github/pr_watcher.py +129 -0
  40. k_cli/github/trending.py +205 -0
  41. k_cli/tools/__init__.py +0 -0
  42. k_cli/tools/audit.py +79 -0
  43. k_cli/tools/chaos_immunity.py +377 -0
  44. k_cli/tools/codebase_qa.py +106 -0
  45. k_cli/tools/command_runner.py +256 -0
  46. k_cli/tools/diagram_generator.py +547 -0
  47. k_cli/tools/doc_retriever.py +1332 -0
  48. k_cli/tools/feature.py +105 -0
  49. k_cli/tools/ghost_daemon.py +122 -0
  50. k_cli/tools/incident_triage.py +1365 -0
  51. k_cli/tools/mcp_client.py +1846 -0
  52. k_cli/tools/repo_gardener.py +142 -0
  53. k_cli/tools/rules.py +109 -0
  54. k_cli/tools/security.py +52 -0
  55. k_cli/tools/security_healer.py +999 -0
  56. k_cli/tools/synapse_graph.py +155 -0
  57. k_cli/tui/__init__.py +0 -0
  58. k_cli/tui/diff_viewer.py +223 -0
  59. k_cli/tui/tui.py +1145 -0
  60. k_cli/tui/tui_animations.py +648 -0
  61. k_cli/tui/tui_app.py +2788 -0
  62. k_cli/ui/__init__.py +10 -0
  63. k_cli/ui/simple_repl.py +315 -0
  64. k_cli/web/__init__.py +7 -0
  65. k_cli/web/server.py +624 -0
  66. k_cli/web/static/app.js +830 -0
  67. k_cli/web/static/index.html +495 -0
  68. k_cli/web/static/monitor.html +189 -0
  69. k_cli/web/static/style.css +838 -0
  70. k_cli_for_devs-1.0.0.dist-info/METADATA +461 -0
  71. k_cli_for_devs-1.0.0.dist-info/RECORD +75 -0
  72. k_cli_for_devs-1.0.0.dist-info/WHEEL +5 -0
  73. k_cli_for_devs-1.0.0.dist-info/entry_points.txt +2 -0
  74. k_cli_for_devs-1.0.0.dist-info/licenses/LICENSE +21 -0
  75. k_cli_for_devs-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,838 @@
1
+ /* Cyberpunk / Modern DevOps Dark Mode Theme for K-CLI Web UI */
2
+
3
+ :root {
4
+ --bg-dark: #070a13;
5
+ --bg-surface: #0e1526;
6
+ --bg-card: #121b2f;
7
+ --bg-card-hover: #18243e;
8
+ --bg-input: #090e1a;
9
+ --border-color: #1e2d4a;
10
+ --border-glow: rgba(0, 240, 255, 0.25);
11
+
12
+ --primary-cyan: #00f0ff;
13
+ --primary-glow: rgba(0, 240, 255, 0.4);
14
+ --accent-magenta: #ff007f;
15
+ --accent-magenta-glow: rgba(255, 0, 127, 0.35);
16
+ --accent-green: #00ffaa;
17
+ --accent-amber: #ffaa00;
18
+ --accent-red: #ff3366;
19
+
20
+ --text-primary: #f1f5f9;
21
+ --text-secondary: #94a3b8;
22
+ --text-muted: #64748b;
23
+ --text-cyan: #00f0ff;
24
+ --text-magenta: #ff007f;
25
+ --text-green: #00ffaa;
26
+
27
+ --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
28
+ --font-mono: 'Fira Code', monospace;
29
+ }
30
+
31
+ /* Responsive Cross-Device Media Queries */
32
+ @media (max-width: 1024px) {
33
+ .main-container {
34
+ grid-template-columns: 220px 1fr !important;
35
+ }
36
+ }
37
+
38
+ @media (max-width: 768px) {
39
+ .app-layout {
40
+ padding: 0.5rem !important;
41
+ }
42
+ .header-bar {
43
+ flex-direction: column !important;
44
+ align-items: flex-start !important;
45
+ gap: 0.75rem !important;
46
+ }
47
+ .system-status-pills {
48
+ flex-wrap: wrap !important;
49
+ }
50
+ .main-container {
51
+ grid-template-columns: 1fr !important;
52
+ }
53
+ .sidebar-nav {
54
+ display: flex !important;
55
+ flex-direction: row !important;
56
+ overflow-x: auto !important;
57
+ white-space: nowrap !important;
58
+ padding-bottom: 0.5rem !important;
59
+ }
60
+ .nav-item {
61
+ flex: 0 0 auto !important;
62
+ }
63
+ }
64
+
65
+ * {
66
+ box-sizing: border-box;
67
+ margin: 0;
68
+ padding: 0;
69
+ }
70
+
71
+ body.cyber-station {
72
+ background-color: var(--bg-dark);
73
+ color: var(--text-primary);
74
+ font-family: var(--font-sans);
75
+ line-height: 1.5;
76
+ min-height: 100vh;
77
+ overflow-x: hidden;
78
+ position: relative;
79
+ }
80
+
81
+ /* Ambient Background Elements */
82
+ .cyber-grid-bg {
83
+ position: fixed;
84
+ top: 0;
85
+ left: 0;
86
+ width: 100vw;
87
+ height: 100vh;
88
+ background-image:
89
+ linear-gradient(to right, rgba(0, 240, 255, 0.03) 1px, transparent 1px),
90
+ linear-gradient(to bottom, rgba(0, 240, 255, 0.03) 1px, transparent 1px);
91
+ background-size: 40px 40px;
92
+ pointer-events: none;
93
+ z-index: 0;
94
+ }
95
+
96
+ .ambient-glow {
97
+ position: fixed;
98
+ width: 450px;
99
+ height: 450px;
100
+ border-radius: 50%;
101
+ filter: blur(140px);
102
+ opacity: 0.15;
103
+ pointer-events: none;
104
+ z-index: 0;
105
+ }
106
+ .ambient-glow.cyan { top: -100px; left: -100px; background: var(--primary-cyan); }
107
+ .ambient-glow.magenta { bottom: -100px; right: -100px; background: var(--accent-magenta); }
108
+
109
+ /* App Layout Structure */
110
+ .app-layout {
111
+ display: flex;
112
+ flex-direction: column;
113
+ height: 100vh;
114
+ position: relative;
115
+ z-index: 1;
116
+ }
117
+
118
+ /* Header Bar */
119
+ .header-bar {
120
+ display: flex;
121
+ align-items: center;
122
+ justify-content: space-between;
123
+ padding: 0.85rem 1.75rem;
124
+ background: rgba(14, 21, 38, 0.85);
125
+ backdrop-filter: blur(16px);
126
+ border-bottom: 1px solid var(--border-color);
127
+ box-shadow: 0 4px 25px rgba(0, 0, 0, 0.5);
128
+ z-index: 100;
129
+ }
130
+
131
+ .logo-group {
132
+ display: flex;
133
+ align-items: center;
134
+ gap: 0.9rem;
135
+ }
136
+
137
+ .logo-icon {
138
+ width: 2.5rem;
139
+ height: 2.5rem;
140
+ background: linear-gradient(135deg, var(--primary-cyan), var(--accent-magenta));
141
+ border-radius: 0.6rem;
142
+ display: flex;
143
+ align-items: center;
144
+ justify-content: center;
145
+ color: #000;
146
+ font-size: 1.25rem;
147
+ box-shadow: 0 0 16px var(--primary-glow);
148
+ }
149
+
150
+ .logo-text {
151
+ display: flex;
152
+ flex-direction: column;
153
+ }
154
+
155
+ .brand-row {
156
+ display: flex;
157
+ align-items: center;
158
+ gap: 0.5rem;
159
+ }
160
+
161
+ .brand-name {
162
+ font-weight: 900;
163
+ font-size: 1.25rem;
164
+ letter-spacing: -0.02em;
165
+ color: #fff;
166
+ }
167
+
168
+ .badge-tag {
169
+ font-size: 0.68rem;
170
+ font-weight: 700;
171
+ background: rgba(0, 240, 255, 0.15);
172
+ color: var(--primary-cyan);
173
+ border: 1px solid var(--primary-cyan);
174
+ padding: 0.15rem 0.45rem;
175
+ border-radius: 0.25rem;
176
+ font-family: var(--font-mono);
177
+ }
178
+
179
+ .badge-author {
180
+ font-size: 0.72rem;
181
+ color: var(--accent-magenta);
182
+ font-weight: 600;
183
+ }
184
+
185
+ .brand-sub {
186
+ font-size: 0.75rem;
187
+ color: var(--text-secondary);
188
+ font-weight: 400;
189
+ }
190
+
191
+ /* System Status Pills */
192
+ .system-status-pills {
193
+ display: flex;
194
+ align-items: center;
195
+ gap: 0.75rem;
196
+ }
197
+
198
+ .status-pill {
199
+ display: flex;
200
+ align-items: center;
201
+ gap: 0.5rem;
202
+ background: rgba(18, 27, 47, 0.8);
203
+ border: 1px solid var(--border-color);
204
+ padding: 0.4rem 0.85rem;
205
+ border-radius: 0.5rem;
206
+ font-size: 0.8rem;
207
+ font-family: var(--font-mono);
208
+ color: var(--text-secondary);
209
+ }
210
+
211
+ .pill-online {
212
+ border-color: rgba(0, 255, 170, 0.4);
213
+ color: var(--accent-green);
214
+ background: rgba(0, 255, 170, 0.1);
215
+ }
216
+
217
+ .pulse-dot {
218
+ width: 8px;
219
+ height: 8px;
220
+ background: var(--accent-green);
221
+ border-radius: 50%;
222
+ box-shadow: 0 0 8px var(--accent-green);
223
+ animation: pulseGlow 1.5s infinite;
224
+ }
225
+
226
+ @keyframes pulseGlow {
227
+ 0%, 100% { transform: scale(1); opacity: 1; }
228
+ 50% { transform: scale(1.3); opacity: 0.6; }
229
+ }
230
+
231
+ /* Main Container Layout */
232
+ .main-container {
233
+ display: flex;
234
+ flex: 1;
235
+ overflow: hidden;
236
+ }
237
+
238
+ /* Sidebar Nav */
239
+ .sidebar-nav {
240
+ width: 260px;
241
+ background: rgba(11, 17, 30, 0.9);
242
+ border-right: 1px solid var(--border-color);
243
+ padding: 1.25rem 0.75rem;
244
+ display: flex;
245
+ flex-direction: column;
246
+ gap: 0.35rem;
247
+ overflow-y: auto;
248
+ }
249
+
250
+ .nav-section-title {
251
+ font-size: 0.65rem;
252
+ font-weight: 800;
253
+ letter-spacing: 0.1em;
254
+ color: var(--text-muted);
255
+ padding: 0 0.75rem 0.5rem 0.75rem;
256
+ font-family: var(--font-mono);
257
+ }
258
+
259
+ .nav-item {
260
+ display: flex;
261
+ align-items: center;
262
+ gap: 0.75rem;
263
+ padding: 0.65rem 0.9rem;
264
+ border-radius: 0.5rem;
265
+ background: transparent;
266
+ border: 1px solid transparent;
267
+ color: var(--text-secondary);
268
+ font-size: 0.88rem;
269
+ font-weight: 500;
270
+ cursor: pointer;
271
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
272
+ text-align: left;
273
+ width: 100%;
274
+ }
275
+
276
+ .nav-item i {
277
+ font-size: 1rem;
278
+ width: 1.25rem;
279
+ text-align: center;
280
+ }
281
+
282
+ .nav-item:hover {
283
+ background: rgba(24, 36, 62, 0.6);
284
+ color: var(--text-primary);
285
+ border-color: rgba(255, 255, 255, 0.05);
286
+ }
287
+
288
+ .nav-item.active {
289
+ background: linear-gradient(90deg, rgba(0, 240, 255, 0.15), rgba(0, 240, 255, 0.02));
290
+ border-color: var(--primary-cyan);
291
+ color: var(--primary-cyan);
292
+ box-shadow: inset 0 0 12px rgba(0, 240, 255, 0.1);
293
+ font-weight: 600;
294
+ }
295
+
296
+ .sidebar-author-box {
297
+ margin-top: auto;
298
+ background: rgba(18, 27, 47, 0.6);
299
+ border: 1px solid var(--border-color);
300
+ padding: 0.85rem;
301
+ border-radius: 0.5rem;
302
+ font-size: 0.75rem;
303
+ }
304
+
305
+ .author-label {
306
+ font-size: 0.65rem;
307
+ font-weight: 800;
308
+ color: var(--primary-cyan);
309
+ letter-spacing: 0.08em;
310
+ }
311
+
312
+ .author-name {
313
+ color: #fff;
314
+ font-weight: 600;
315
+ margin: 0.2rem 0;
316
+ }
317
+
318
+ .author-engine {
319
+ color: var(--text-muted);
320
+ font-size: 0.7rem;
321
+ }
322
+
323
+ /* Content Area */
324
+ .content-area {
325
+ flex: 1;
326
+ padding: 1.5rem;
327
+ overflow-y: auto;
328
+ background: transparent;
329
+ }
330
+
331
+ .tab-pane {
332
+ display: none;
333
+ animation: fadeIn 0.25s ease-in-out;
334
+ }
335
+
336
+ .tab-pane.active {
337
+ display: block;
338
+ }
339
+
340
+ @keyframes fadeIn {
341
+ from { opacity: 0; transform: translateY(6px); }
342
+ to { opacity: 1; transform: translateY(0); }
343
+ }
344
+
345
+ /* Quick Action Chips */
346
+ .quick-chips-row {
347
+ display: flex;
348
+ align-items: center;
349
+ gap: 0.5rem;
350
+ margin-bottom: 1rem;
351
+ overflow-x: auto;
352
+ padding-bottom: 0.25rem;
353
+ }
354
+
355
+ .chip-label {
356
+ font-size: 0.75rem;
357
+ font-weight: 700;
358
+ color: var(--text-muted);
359
+ font-family: var(--font-mono);
360
+ white-space: nowrap;
361
+ }
362
+
363
+ .quick-chip {
364
+ background: rgba(18, 27, 47, 0.7);
365
+ border: 1px solid var(--border-color);
366
+ color: var(--text-secondary);
367
+ padding: 0.35rem 0.75rem;
368
+ border-radius: 2rem;
369
+ font-size: 0.78rem;
370
+ font-weight: 500;
371
+ cursor: pointer;
372
+ white-space: nowrap;
373
+ transition: all 0.2s;
374
+ }
375
+
376
+ .quick-chip:hover {
377
+ background: rgba(0, 240, 255, 0.15);
378
+ border-color: var(--primary-cyan);
379
+ color: var(--primary-cyan);
380
+ transform: translateY(-1px);
381
+ }
382
+
383
+ /* Cards */
384
+ .card {
385
+ background: rgba(18, 27, 47, 0.85);
386
+ backdrop-filter: blur(12px);
387
+ border: 1px solid var(--border-color);
388
+ border-radius: 0.75rem;
389
+ padding: 1.5rem;
390
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
391
+ margin-bottom: 1.5rem;
392
+ transition: border-color 0.2s;
393
+ }
394
+
395
+ .card:hover {
396
+ border-color: rgba(0, 240, 255, 0.3);
397
+ }
398
+
399
+ .card-hero {
400
+ border-color: rgba(0, 240, 255, 0.25);
401
+ background: linear-gradient(180deg, rgba(18, 27, 47, 0.95), rgba(11, 17, 30, 0.95));
402
+ }
403
+
404
+ .card-header {
405
+ margin-bottom: 1.25rem;
406
+ }
407
+
408
+ .card-header h2 {
409
+ font-size: 1.25rem;
410
+ font-weight: 700;
411
+ color: #fff;
412
+ display: flex;
413
+ align-items: center;
414
+ gap: 0.6rem;
415
+ }
416
+
417
+ .card-header h3 {
418
+ font-size: 1rem;
419
+ font-weight: 600;
420
+ color: #fff;
421
+ display: flex;
422
+ align-items: center;
423
+ gap: 0.5rem;
424
+ }
425
+
426
+ .card-subtitle {
427
+ font-size: 0.8rem;
428
+ color: var(--text-muted);
429
+ }
430
+
431
+ .flex-between {
432
+ display: flex;
433
+ align-items: center;
434
+ justify-content: space-between;
435
+ }
436
+
437
+ /* Inputs & Form Elements */
438
+ .input-grid {
439
+ display: grid;
440
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
441
+ gap: 1rem;
442
+ }
443
+
444
+ .form-group {
445
+ display: flex;
446
+ flex-direction: column;
447
+ gap: 0.4rem;
448
+ }
449
+
450
+ .form-group.full-width {
451
+ grid-column: 1 / -1;
452
+ }
453
+
454
+ label {
455
+ font-size: 0.8rem;
456
+ font-weight: 600;
457
+ color: var(--text-secondary);
458
+ font-family: var(--font-mono);
459
+ }
460
+
461
+ input[type="text"], textarea, select {
462
+ background: var(--bg-input);
463
+ border: 1px solid var(--border-color);
464
+ color: var(--text-primary);
465
+ padding: 0.65rem 0.85rem;
466
+ border-radius: 0.5rem;
467
+ font-size: 0.9rem;
468
+ font-family: var(--font-sans);
469
+ outline: none;
470
+ transition: all 0.2s;
471
+ }
472
+
473
+ textarea {
474
+ font-family: var(--font-mono);
475
+ resize: vertical;
476
+ }
477
+
478
+ input[type="text"]:focus, textarea:focus, select:focus {
479
+ border-color: var(--primary-cyan);
480
+ box-shadow: 0 0 10px var(--primary-glow);
481
+ }
482
+
483
+ /* Buttons */
484
+ .btn {
485
+ display: inline-flex;
486
+ align-items: center;
487
+ justify-content: center;
488
+ gap: 0.5rem;
489
+ padding: 0.65rem 1.25rem;
490
+ border-radius: 0.5rem;
491
+ font-size: 0.88rem;
492
+ font-weight: 600;
493
+ cursor: pointer;
494
+ border: 1px solid transparent;
495
+ transition: all 0.2s;
496
+ font-family: var(--font-sans);
497
+ }
498
+
499
+ .btn-primary {
500
+ background: linear-gradient(135deg, var(--primary-cyan), #0284c7);
501
+ color: #000;
502
+ font-weight: 700;
503
+ }
504
+
505
+ .btn-primary:hover {
506
+ filter: brightness(1.15);
507
+ box-shadow: 0 0 15px var(--primary-glow);
508
+ }
509
+
510
+ .btn-secondary {
511
+ background: var(--bg-card);
512
+ border-color: var(--border-color);
513
+ color: var(--text-primary);
514
+ }
515
+
516
+ .btn-secondary:hover {
517
+ background: var(--bg-card-hover);
518
+ border-color: var(--text-muted);
519
+ }
520
+
521
+ .btn-success {
522
+ background: linear-gradient(135deg, var(--accent-green), #059669);
523
+ color: #000;
524
+ font-weight: 700;
525
+ }
526
+
527
+ .btn-sm {
528
+ padding: 0.35rem 0.75rem;
529
+ font-size: 0.78rem;
530
+ }
531
+
532
+ .btn-glow {
533
+ box-shadow: 0 0 15px var(--primary-glow);
534
+ }
535
+
536
+ /* Spotlight Custom Models Grid */
537
+ .spotlight-grid {
538
+ display: grid;
539
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
540
+ gap: 1.25rem;
541
+ }
542
+
543
+ .spotlight-card {
544
+ background: linear-gradient(145deg, rgba(25, 36, 62, 0.85), rgba(14, 21, 38, 0.85));
545
+ border: 1px solid var(--border-color);
546
+ border-radius: 0.75rem;
547
+ padding: 1.25rem;
548
+ display: flex;
549
+ flex-direction: column;
550
+ gap: 0.6rem;
551
+ box-shadow: 0 6px 20px rgba(0,0,0,0.3);
552
+ position: relative;
553
+ overflow: hidden;
554
+ }
555
+
556
+ .spotlight-card::before {
557
+ content: '';
558
+ position: absolute;
559
+ top: 0;
560
+ left: 0;
561
+ width: 4px;
562
+ height: 100%;
563
+ background: linear-gradient(to bottom, var(--primary-cyan), var(--accent-magenta));
564
+ }
565
+
566
+ .spotlight-header {
567
+ display: flex;
568
+ align-items: center;
569
+ justify-content: space-between;
570
+ }
571
+
572
+ .spotlight-badge {
573
+ font-size: 0.65rem;
574
+ font-weight: 800;
575
+ color: var(--accent-magenta);
576
+ background: rgba(255, 0, 127, 0.12);
577
+ border: 1px solid var(--accent-magenta);
578
+ padding: 0.1rem 0.4rem;
579
+ border-radius: 0.25rem;
580
+ font-family: var(--font-mono);
581
+ }
582
+
583
+ .hf-link {
584
+ color: var(--primary-cyan);
585
+ font-size: 0.78rem;
586
+ text-decoration: none;
587
+ font-weight: 600;
588
+ }
589
+ .hf-link:hover { text-decoration: underline; }
590
+
591
+ .spotlight-card h3 {
592
+ font-size: 1.1rem;
593
+ color: #fff;
594
+ }
595
+
596
+ .spotlight-card p {
597
+ font-size: 0.82rem;
598
+ color: var(--text-secondary);
599
+ }
600
+
601
+ .spotlight-footer {
602
+ display: flex;
603
+ align-items: center;
604
+ justify-content: space-between;
605
+ margin-top: auto;
606
+ padding-top: 0.75rem;
607
+ border-top: 1px solid rgba(255, 255, 255, 0.05);
608
+ }
609
+
610
+ .spotlight-footer code {
611
+ font-family: var(--font-mono);
612
+ font-size: 0.75rem;
613
+ color: var(--text-muted);
614
+ }
615
+
616
+ /* Badges */
617
+ .badge {
618
+ display: inline-flex;
619
+ align-items: center;
620
+ gap: 0.35rem;
621
+ padding: 0.25rem 0.6rem;
622
+ border-radius: 0.35rem;
623
+ font-size: 0.72rem;
624
+ font-weight: 700;
625
+ font-family: var(--font-mono);
626
+ }
627
+
628
+ .badge-info { background: rgba(0, 240, 255, 0.15); color: var(--primary-cyan); border: 1px solid var(--primary-cyan); }
629
+ .badge-success { background: rgba(0, 255, 170, 0.15); color: var(--accent-green); border: 1px solid var(--accent-green); }
630
+ .badge-warning { background: rgba(255, 170, 0, 0.15); color: var(--accent-amber); border: 1px solid var(--accent-amber); }
631
+ .badge-intent { background: rgba(255, 0, 127, 0.15); color: var(--accent-magenta); border: 1px solid var(--accent-magenta); }
632
+
633
+ /* Terminals */
634
+ .code-terminal {
635
+ background: #050811;
636
+ border: 1px solid var(--border-color);
637
+ border-radius: 0.5rem;
638
+ padding: 1rem;
639
+ font-family: var(--font-mono);
640
+ font-size: 0.85rem;
641
+ color: #e2e8f0;
642
+ overflow-x: auto;
643
+ white-space: pre-wrap;
644
+ max-height: 480px;
645
+ overflow-y: auto;
646
+ }
647
+
648
+ .hidden { display: none !important; }
649
+ .margin-top-md { margin-top: 1rem; }
650
+ .margin-top-sm { margin-top: 0.5rem; }
651
+ .gap-sm { gap: 0.5rem; }
652
+ .text-xs { font-size: 0.72rem; }
653
+
654
+ /* Text Utilities */
655
+ .text-cyan { color: var(--primary-cyan); }
656
+ .text-magenta { color: var(--accent-magenta); }
657
+ .text-green { color: var(--accent-green); }
658
+ .text-amber, .text-yellow { color: var(--accent-amber); }
659
+ .text-dim { color: var(--text-muted); font-size: 0.85rem; }
660
+
661
+ .btn-text {
662
+ background: transparent;
663
+ border: none;
664
+ color: var(--primary-cyan);
665
+ font-size: 0.8rem;
666
+ cursor: pointer;
667
+ text-decoration: underline;
668
+ }
669
+ .btn-text:hover {
670
+ color: #fff;
671
+ }
672
+
673
+ .btn-group {
674
+ display: inline-flex;
675
+ gap: 0.4rem;
676
+ }
677
+
678
+ /* Footer */
679
+ .footer-bar {
680
+ display: flex;
681
+ align-items: center;
682
+ justify-content: space-between;
683
+ padding: 0.65rem 1.75rem;
684
+ background: #090e1a;
685
+ border-top: 1px solid var(--border-color);
686
+ font-size: 0.75rem;
687
+ color: var(--text-muted);
688
+ }
689
+
690
+ /* =============================================================================
691
+ Auto-Adjusting Responsive Engine (Mobile, Tablet, Desktop, UltraWide 4K)
692
+ ============================================================================= */
693
+
694
+ @media (max-width: 1024px) {
695
+ .main-grid {
696
+ grid-template-columns: 1fr;
697
+ height: auto;
698
+ overflow-y: visible;
699
+ }
700
+
701
+ .app-layout {
702
+ height: auto;
703
+ min-height: 100vh;
704
+ }
705
+
706
+ .workspace-pane, .drawer-pane {
707
+ max-height: 550px;
708
+ }
709
+
710
+ .chips-carousel {
711
+ padding-bottom: 0.5rem;
712
+ }
713
+
714
+ .telemetry-cluster {
715
+ display: none;
716
+ }
717
+ }
718
+
719
+ @media (max-width: 768px) {
720
+ .header-bar {
721
+ flex-direction: column;
722
+ gap: 0.75rem;
723
+ align-items: flex-start;
724
+ padding: 0.75rem 1rem;
725
+ }
726
+
727
+ .header-right {
728
+ width: 100%;
729
+ justify-content: space-between;
730
+ }
731
+
732
+ .main-grid {
733
+ padding: 0.75rem;
734
+ gap: 0.75rem;
735
+ }
736
+
737
+ .chat-card {
738
+ max-height: 400px;
739
+ }
740
+
741
+ .prompt-input-wrapper {
742
+ flex-direction: column;
743
+ }
744
+
745
+ .btn-send {
746
+ width: 100%;
747
+ }
748
+
749
+ .footer-bar {
750
+ flex-direction: column;
751
+ gap: 0.5rem;
752
+ text-align: center;
753
+ }
754
+ }
755
+
756
+ @media (min-width: 1920px) {
757
+ .main-grid {
758
+ max-width: 2200px;
759
+ margin: 0 auto;
760
+ width: 100%;
761
+ }
762
+ }
763
+
764
+ /* Local Machine Terminal Runner (Google Antigravity Engine) */
765
+ .local-terminal-box {
766
+ background: #090e1a;
767
+ border: 1px solid rgba(0, 240, 255, 0.25);
768
+ border-radius: 8px;
769
+ padding: 0.85rem 1rem;
770
+ box-shadow: inset 0 0 15px rgba(0, 240, 255, 0.05);
771
+ }
772
+
773
+ .terminal-bar-header {
774
+ display: flex;
775
+ justify-content: space-between;
776
+ align-items: center;
777
+ margin-bottom: 0.6rem;
778
+ }
779
+
780
+ .terminal-input-row {
781
+ display: flex;
782
+ align-items: center;
783
+ gap: 0.5rem;
784
+ background: #050811;
785
+ border: 1px solid #1e2d4a;
786
+ border-radius: 6px;
787
+ padding: 0.35rem 0.6rem;
788
+ }
789
+
790
+ .terminal-input-row:focus-within {
791
+ border-color: var(--primary-cyan);
792
+ box-shadow: 0 0 10px rgba(0, 240, 255, 0.2);
793
+ }
794
+
795
+ .prompt-prefix {
796
+ font-family: var(--font-mono);
797
+ color: var(--primary-cyan);
798
+ font-weight: 700;
799
+ font-size: 0.9rem;
800
+ user-select: none;
801
+ }
802
+
803
+ .terminal-input-row input {
804
+ flex: 1;
805
+ background: transparent;
806
+ border: none;
807
+ outline: none;
808
+ color: #f1f5f9;
809
+ font-family: var(--font-mono);
810
+ font-size: 0.88rem;
811
+ }
812
+
813
+ .quick-cmd-chips {
814
+ display: flex;
815
+ flex-wrap: wrap;
816
+ align-items: center;
817
+ gap: 0.4rem;
818
+ margin-top: 0.5rem;
819
+ }
820
+
821
+ .chip-sm {
822
+ background: #121b2f;
823
+ border: 1px solid #1e2d4a;
824
+ color: #94a3b8;
825
+ border-radius: 4px;
826
+ font-size: 0.75rem;
827
+ font-family: var(--font-mono);
828
+ padding: 0.2rem 0.5rem;
829
+ cursor: pointer;
830
+ transition: all 0.2s ease;
831
+ }
832
+
833
+ .chip-sm:hover {
834
+ background: #18243e;
835
+ color: var(--primary-cyan);
836
+ border-color: var(--primary-cyan);
837
+ }
838
+