pixelcrew 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.
@@ -0,0 +1,892 @@
1
+ /* ==========================================================================
2
+ PIXEL AGENTS — CORPORATE TECH STARTUP OFFICE HQ STYLESHEET
3
+ ========================================================================== */
4
+
5
+ :root {
6
+ --bg-dark: #0a0c14;
7
+ --bg-panel: #111422;
8
+ --bg-panel-dark: #0d0f1a;
9
+ --bg-card: #181c2f;
10
+ --bg-card-hover: #222742;
11
+
12
+ --border-color: #2b3252;
13
+ --border-light: #444f7c;
14
+ --border-black: #000000;
15
+
16
+ --text-main: #e2e8f0;
17
+ --text-dim: #8a96b0;
18
+ --text-bright: #ffffff;
19
+
20
+ --color-cyan: #00f0ff;
21
+ --color-magenta: #ff007f;
22
+ --color-gold: #ffd700;
23
+ --color-green: #39ff14;
24
+ --color-red: #ff3344;
25
+ --color-purple: #b026ff;
26
+ --color-orange: #ff9900;
27
+
28
+ --font-pixel: 'Press Start 2P', monospace;
29
+ --font-display: 'Silkscreen', monospace;
30
+ --font-terminal: 'VT323', monospace;
31
+
32
+ --pixel-shadow: 4px 4px 0px #000000;
33
+ --pixel-shadow-sm: 2px 2px 0px #000000;
34
+ }
35
+
36
+ /* Night Mode / Cyberpunk Shift Overrides */
37
+ body.night-mode {
38
+ --bg-dark: #05060b;
39
+ --bg-panel: #0b0d18;
40
+ --bg-card: #101324;
41
+ --border-color: #1f274a;
42
+ background-image:
43
+ radial-gradient(#251838 1px, transparent 1px),
44
+ linear-gradient(180deg, #04050a 0%, #090a16 100%);
45
+ }
46
+
47
+ /* Base & Reset */
48
+ * {
49
+ box-sizing: border-box;
50
+ margin: 0;
51
+ padding: 0;
52
+ image-rendering: pixelated;
53
+ }
54
+
55
+ body {
56
+ background-color: var(--bg-dark);
57
+ color: var(--text-main);
58
+ font-family: var(--font-display);
59
+ min-height: 100vh;
60
+ overflow-x: hidden;
61
+ position: relative;
62
+ line-height: 1.4;
63
+ font-size: 13px;
64
+ background-image:
65
+ radial-gradient(#1c223a 1px, transparent 1px),
66
+ linear-gradient(180deg, #090a12 0%, #0e1220 100%);
67
+ background-size: 24px 24px, 100% 100%;
68
+ }
69
+
70
+ /* CRT Scanlines Overlay */
71
+ .crt-scanlines {
72
+ position: fixed;
73
+ top: 0;
74
+ left: 0;
75
+ width: 100vw;
76
+ height: 100vh;
77
+ pointer-events: none;
78
+ z-index: 9999;
79
+ background: linear-gradient(
80
+ rgba(18, 16, 16, 0) 50%,
81
+ rgba(0, 0, 0, 0.25) 50%
82
+ );
83
+ background-size: 100% 4px;
84
+ opacity: 0.65;
85
+ display: block;
86
+ }
87
+
88
+ .crt-vignette {
89
+ position: fixed;
90
+ top: 0;
91
+ left: 0;
92
+ width: 100vw;
93
+ height: 100vh;
94
+ pointer-events: none;
95
+ z-index: 9998;
96
+ box-shadow: inset 0 0 100px rgba(0,0,0,0.85);
97
+ }
98
+
99
+ body:not(.crt-active) .crt-scanlines,
100
+ body:not(.crt-active) .crt-vignette {
101
+ display: none;
102
+ }
103
+
104
+ /* App Container */
105
+ .pixel-app {
106
+ max-width: 1440px;
107
+ margin: 0 auto;
108
+ padding: 16px 20px 40px;
109
+ display: flex;
110
+ flex-direction: column;
111
+ gap: 16px;
112
+ }
113
+
114
+ /* Arcade Header */
115
+ .arcade-header {
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: space-between;
119
+ background: var(--bg-panel);
120
+ border: 3px solid var(--border-black);
121
+ box-shadow: var(--pixel-shadow);
122
+ padding: 12px 18px;
123
+ flex-wrap: wrap;
124
+ gap: 12px;
125
+ }
126
+
127
+ .header-left {
128
+ display: flex;
129
+ align-items: center;
130
+ gap: 16px;
131
+ }
132
+
133
+ .logo-box {
134
+ display: flex;
135
+ align-items: center;
136
+ gap: 10px;
137
+ }
138
+
139
+ .pixel-icon {
140
+ font-size: 26px;
141
+ filter: drop-shadow(0 0 8px var(--color-cyan));
142
+ animation: floatIcon 2s ease-in-out infinite;
143
+ }
144
+
145
+ .logo-title {
146
+ font-family: var(--font-pixel);
147
+ font-size: 15px;
148
+ color: var(--color-cyan);
149
+ text-shadow: 2px 2px 0 #000, 0 0 10px rgba(0, 240, 255, 0.5);
150
+ letter-spacing: 1px;
151
+ }
152
+
153
+ .logo-subtitle {
154
+ font-family: var(--font-terminal);
155
+ font-size: 14px;
156
+ color: var(--text-dim);
157
+ display: block;
158
+ }
159
+
160
+ .project-badge {
161
+ display: flex;
162
+ align-items: center;
163
+ gap: 6px;
164
+ background: var(--bg-panel-dark);
165
+ padding: 4px 10px;
166
+ border: 2px solid var(--border-color);
167
+ font-size: 11px;
168
+ }
169
+
170
+ .badge-label { color: var(--text-dim); }
171
+ .badge-value { color: var(--color-green); font-weight: bold; }
172
+
173
+ /* Office Meters */
174
+ .header-center {
175
+ display: flex;
176
+ align-items: center;
177
+ gap: 16px;
178
+ }
179
+
180
+ .office-meters {
181
+ display: flex;
182
+ gap: 12px;
183
+ }
184
+
185
+ .meter-item {
186
+ display: flex;
187
+ align-items: center;
188
+ gap: 6px;
189
+ font-family: var(--font-pixel);
190
+ font-size: 8px;
191
+ color: var(--text-dim);
192
+ }
193
+
194
+ .pixel-meter {
195
+ width: 50px;
196
+ height: 8px;
197
+ background: #000;
198
+ border: 1px solid var(--border-color);
199
+ overflow: hidden;
200
+ }
201
+
202
+ .pixel-meter-fill {
203
+ height: 100%;
204
+ background: #b08968;
205
+ transition: width 0.3s;
206
+ }
207
+
208
+ .pixel-meter-fill.velocity {
209
+ background: var(--color-green);
210
+ box-shadow: 0 0 6px var(--color-green);
211
+ }
212
+
213
+ .status-indicator {
214
+ display: flex;
215
+ align-items: center;
216
+ gap: 8px;
217
+ background: #0d1a15;
218
+ border: 2px solid #165b38;
219
+ padding: 6px 14px;
220
+ box-shadow: var(--pixel-shadow-sm);
221
+ }
222
+
223
+ .status-indicator.running {
224
+ background: #1a0f2b;
225
+ border-color: var(--color-magenta);
226
+ }
227
+
228
+ .status-dot {
229
+ width: 10px;
230
+ height: 10px;
231
+ background: var(--color-green);
232
+ box-shadow: 0 0 8px var(--color-green);
233
+ animation: pulseDot 1s infinite alternate;
234
+ }
235
+
236
+ .status-indicator.running .status-dot {
237
+ background: var(--color-magenta);
238
+ box-shadow: 0 0 8px var(--color-magenta);
239
+ }
240
+
241
+ .status-text {
242
+ font-family: var(--font-pixel);
243
+ font-size: 10px;
244
+ color: var(--color-green);
245
+ letter-spacing: 1px;
246
+ }
247
+
248
+ .status-indicator.running .status-text {
249
+ color: var(--color-magenta);
250
+ }
251
+
252
+ .header-right {
253
+ display: flex;
254
+ align-items: center;
255
+ gap: 8px;
256
+ }
257
+
258
+ /* Pixel Buttons */
259
+ .pixel-btn {
260
+ font-family: var(--font-pixel);
261
+ font-size: 9px;
262
+ background: #252b47;
263
+ color: var(--text-main);
264
+ border: 2px solid var(--border-black);
265
+ box-shadow: var(--pixel-shadow-sm), inset 1px 1px 0 rgba(255,255,255,0.2);
266
+ padding: 8px 12px;
267
+ cursor: pointer;
268
+ display: inline-flex;
269
+ align-items: center;
270
+ gap: 6px;
271
+ transition: transform 0.05s, background-color 0.1s;
272
+ user-select: none;
273
+ }
274
+
275
+ .pixel-btn:hover { background: #343c63; color: #ffffff; }
276
+ .pixel-btn:active { transform: translate(2px, 2px); box-shadow: 0px 0px 0px #000; }
277
+ .pixel-btn.btn-sm { padding: 6px 10px; font-size: 9px; }
278
+ .pixel-btn.btn-xs { padding: 4px 6px; font-size: 8px; }
279
+
280
+ .pixel-btn.btn-primary {
281
+ background: #005f73;
282
+ color: var(--color-cyan);
283
+ border-color: #000;
284
+ box-shadow: 2px 2px 0 #000, 0 0 8px rgba(0, 240, 255, 0.4);
285
+ }
286
+
287
+ .pixel-btn.btn-primary:hover { background: #0a9396; color: #fff; }
288
+ .pixel-btn.btn-warn { background: #5c1421; color: #ff8899; }
289
+ .pixel-btn.btn-warn:hover { background: #8b1e32; color: #fff; }
290
+
291
+ /* Sprint Dispatch Bar */
292
+ .task-dispatch-section {
293
+ background: var(--bg-panel);
294
+ border: 3px solid var(--border-black);
295
+ box-shadow: var(--pixel-shadow);
296
+ padding: 12px 16px;
297
+ display: flex;
298
+ flex-direction: column;
299
+ gap: 8px;
300
+ }
301
+
302
+ .prompt-input-wrapper {
303
+ display: flex;
304
+ align-items: center;
305
+ background: var(--bg-panel-dark);
306
+ border: 2px solid var(--border-light);
307
+ padding: 4px 8px;
308
+ gap: 8px;
309
+ }
310
+
311
+ .prompt-prefix {
312
+ font-family: var(--font-pixel);
313
+ color: var(--color-gold);
314
+ font-size: 11px;
315
+ }
316
+
317
+ .pixel-input {
318
+ flex: 1;
319
+ background: transparent;
320
+ border: none;
321
+ outline: none;
322
+ color: #ffffff;
323
+ font-family: var(--font-terminal);
324
+ font-size: 18px;
325
+ letter-spacing: 0.5px;
326
+ }
327
+
328
+ .pixel-input::placeholder { color: #556285; }
329
+
330
+ .quick-prompts {
331
+ display: flex;
332
+ align-items: center;
333
+ gap: 8px;
334
+ flex-wrap: wrap;
335
+ }
336
+
337
+ .quick-title {
338
+ font-size: 10px;
339
+ color: var(--text-dim);
340
+ font-family: var(--font-pixel);
341
+ }
342
+
343
+ .quick-tag {
344
+ background: #191e33;
345
+ border: 1px solid var(--border-color);
346
+ color: var(--text-dim);
347
+ font-family: var(--font-display);
348
+ font-size: 11px;
349
+ padding: 3px 8px;
350
+ cursor: pointer;
351
+ transition: all 0.15s;
352
+ }
353
+
354
+ .quick-tag:hover {
355
+ background: #273052;
356
+ color: var(--color-cyan);
357
+ border-color: var(--color-cyan);
358
+ }
359
+
360
+ /* Layout */
361
+ .orchestration-layout {
362
+ display: flex;
363
+ flex-direction: column;
364
+ gap: 16px;
365
+ }
366
+
367
+ .pixel-panel {
368
+ background: var(--bg-panel);
369
+ border: 3px solid var(--border-black);
370
+ box-shadow: var(--pixel-shadow);
371
+ display: flex;
372
+ flex-direction: column;
373
+ }
374
+
375
+ .panel-header {
376
+ background: #171b2d;
377
+ border-bottom: 2px solid var(--border-black);
378
+ padding: 8px 12px;
379
+ display: flex;
380
+ align-items: center;
381
+ justify-content: space-between;
382
+ }
383
+
384
+ .panel-title {
385
+ font-family: var(--font-pixel);
386
+ font-size: 10px;
387
+ color: var(--color-gold);
388
+ letter-spacing: 1px;
389
+ }
390
+
391
+ /* Office Floor Canvas Stage */
392
+ .office-tab-title {
393
+ display: flex;
394
+ align-items: center;
395
+ gap: 10px;
396
+ }
397
+
398
+ .office-status-pill {
399
+ font-family: var(--font-pixel);
400
+ font-size: 8px;
401
+ background: #0d1a15;
402
+ color: var(--color-green);
403
+ padding: 2px 6px;
404
+ border: 1px solid #165b38;
405
+ }
406
+
407
+ .office-legend {
408
+ display: flex;
409
+ gap: 10px;
410
+ }
411
+
412
+ .legend-item {
413
+ display: flex;
414
+ align-items: center;
415
+ gap: 4px;
416
+ font-family: var(--font-pixel);
417
+ font-size: 8px;
418
+ color: var(--text-dim);
419
+ }
420
+
421
+ .legend-dot {
422
+ width: 8px;
423
+ height: 8px;
424
+ display: inline-block;
425
+ }
426
+
427
+ .legend-dot.fe { background: var(--color-cyan); }
428
+ .legend-dot.be { background: var(--color-magenta); }
429
+ .legend-dot.db { background: var(--color-gold); }
430
+ .legend-dot.sec { background: var(--color-red); }
431
+ .legend-dot.perf { background: var(--color-green); }
432
+ .legend-dot.qa { background: var(--color-purple); }
433
+ .legend-dot.lead { background: #ffffff; }
434
+
435
+ .office-canvas-container {
436
+ position: relative;
437
+ background: #0d111d;
438
+ display: flex;
439
+ justify-content: center;
440
+ align-items: center;
441
+ padding: 8px;
442
+ overflow: hidden;
443
+ }
444
+
445
+ .office-canvas {
446
+ width: 100%;
447
+ max-width: 960px;
448
+ height: auto;
449
+ aspect-ratio: 960 / 420;
450
+ background: #101426;
451
+ border: 2px solid var(--border-color);
452
+ box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
453
+ cursor: pointer;
454
+ }
455
+
456
+ .desk-tooltip {
457
+ position: absolute;
458
+ background: #0a0d18;
459
+ border: 2px solid var(--color-cyan);
460
+ box-shadow: 4px 4px 0 #000;
461
+ padding: 6px 10px;
462
+ pointer-events: none;
463
+ z-index: 50;
464
+ transform: translate(-50%, -120%);
465
+ display: flex;
466
+ flex-direction: column;
467
+ gap: 2px;
468
+ }
469
+
470
+ .tooltip-name {
471
+ font-family: var(--font-pixel);
472
+ font-size: 9px;
473
+ color: var(--color-cyan);
474
+ }
475
+
476
+ .tooltip-status {
477
+ font-family: var(--font-pixel);
478
+ font-size: 7px;
479
+ color: var(--color-gold);
480
+ }
481
+
482
+ .tooltip-task {
483
+ font-family: var(--font-terminal);
484
+ font-size: 14px;
485
+ color: #fff;
486
+ white-space: nowrap;
487
+ }
488
+
489
+ .office-footer-bar {
490
+ display: flex;
491
+ justify-content: space-between;
492
+ align-items: center;
493
+ background: #0a0d18;
494
+ padding: 8px 12px;
495
+ border-top: 2px solid var(--border-black);
496
+ font-size: 10px;
497
+ color: var(--text-dim);
498
+ }
499
+
500
+ .office-metrics {
501
+ display: flex;
502
+ gap: 16px;
503
+ }
504
+
505
+ .office-metrics strong {
506
+ color: var(--color-green);
507
+ }
508
+
509
+ .office-hints {
510
+ font-family: var(--font-terminal);
511
+ font-size: 15px;
512
+ color: var(--color-gold);
513
+ }
514
+
515
+ /* Agent Swarm Grid */
516
+ .section-title-bar {
517
+ display: flex;
518
+ justify-content: space-between;
519
+ align-items: center;
520
+ padding: 4px 6px;
521
+ border-bottom: 2px dashed var(--border-color);
522
+ margin-bottom: 4px;
523
+ }
524
+
525
+ .section-title {
526
+ font-family: var(--font-pixel);
527
+ font-size: 11px;
528
+ color: var(--color-cyan);
529
+ }
530
+
531
+ .section-subtitle {
532
+ font-size: 10px;
533
+ color: var(--text-dim);
534
+ }
535
+
536
+ .agents-grid {
537
+ display: grid;
538
+ grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
539
+ gap: 12px;
540
+ }
541
+
542
+ .agent-card {
543
+ background: var(--bg-card);
544
+ border: 3px solid var(--border-black);
545
+ box-shadow: var(--pixel-shadow-sm);
546
+ display: flex;
547
+ flex-direction: column;
548
+ cursor: pointer;
549
+ transition: transform 0.1s, border-color 0.15s;
550
+ position: relative;
551
+ overflow: hidden;
552
+ }
553
+
554
+ .agent-card:hover {
555
+ transform: translateY(-2px);
556
+ background: var(--bg-card-hover);
557
+ border-color: var(--agent-color, var(--color-cyan));
558
+ }
559
+
560
+ .agent-card-header {
561
+ background: #0e111f;
562
+ padding: 6px 10px;
563
+ display: flex;
564
+ align-items: center;
565
+ justify-content: space-between;
566
+ border-bottom: 2px solid var(--border-black);
567
+ }
568
+
569
+ .agent-role-title {
570
+ font-family: var(--font-pixel);
571
+ font-size: 8px;
572
+ color: var(--agent-color, #ffffff);
573
+ letter-spacing: 0.5px;
574
+ }
575
+
576
+ .agent-state-pill {
577
+ font-family: var(--font-pixel);
578
+ font-size: 7px;
579
+ padding: 2px 4px;
580
+ background: #000;
581
+ color: var(--text-dim);
582
+ border: 1px solid var(--border-color);
583
+ }
584
+
585
+ .agent-state-pill.state-working {
586
+ color: var(--color-magenta);
587
+ border-color: var(--color-magenta);
588
+ background: #25091c;
589
+ }
590
+
591
+ .agent-state-pill.state-completed {
592
+ color: var(--color-green);
593
+ border-color: var(--color-green);
594
+ background: #092013;
595
+ }
596
+
597
+ .agent-state-pill.state-analyzing {
598
+ color: var(--color-gold);
599
+ border-color: var(--color-gold);
600
+ background: #231d09;
601
+ }
602
+
603
+ .agent-card-body {
604
+ padding: 10px;
605
+ display: flex;
606
+ flex-direction: column;
607
+ gap: 8px;
608
+ }
609
+
610
+ .agent-sprite-wrapper {
611
+ display: flex;
612
+ align-items: center;
613
+ justify-content: center;
614
+ background: #070912;
615
+ border: 1px solid var(--border-color);
616
+ padding: 6px;
617
+ height: 80px;
618
+ position: relative;
619
+ }
620
+
621
+ .agent-expression {
622
+ position: absolute;
623
+ bottom: 4px;
624
+ right: 6px;
625
+ font-family: var(--font-pixel);
626
+ font-size: 8px;
627
+ color: var(--text-dim);
628
+ background: #000;
629
+ padding: 1px 4px;
630
+ }
631
+
632
+ .agent-current-task {
633
+ font-family: var(--font-terminal);
634
+ font-size: 15px;
635
+ color: var(--text-main);
636
+ background: #0a0d18;
637
+ padding: 6px;
638
+ border: 1px solid var(--border-color);
639
+ min-height: 42px;
640
+ overflow: hidden;
641
+ text-overflow: ellipsis;
642
+ }
643
+
644
+ .agent-skills-mini {
645
+ display: flex;
646
+ flex-direction: column;
647
+ gap: 3px;
648
+ }
649
+
650
+ .mini-skill-row {
651
+ display: flex;
652
+ justify-content: space-between;
653
+ font-size: 9px;
654
+ color: var(--text-dim);
655
+ }
656
+
657
+ .mini-skill-icon.active {
658
+ color: var(--color-gold);
659
+ animation: pulseDot 0.6s infinite alternate;
660
+ }
661
+
662
+ .mini-skill-icon.completed {
663
+ color: var(--color-green);
664
+ }
665
+
666
+ /* Bottom Split: Slack & Jira Skills */
667
+ .bottom-split-section {
668
+ display: grid;
669
+ grid-template-columns: 2fr 1fr;
670
+ gap: 16px;
671
+ }
672
+
673
+ .terminal-controls {
674
+ display: flex;
675
+ align-items: center;
676
+ gap: 6px;
677
+ }
678
+
679
+ .term-btn { width: 8px; height: 8px; display: inline-block; }
680
+ .term-red { background: #ff5f56; }
681
+ .term-yellow { background: #ffbd2e; }
682
+ .term-green { background: #27c93f; }
683
+
684
+ .activity-actions {
685
+ display: flex;
686
+ align-items: center;
687
+ gap: 8px;
688
+ }
689
+
690
+ .filter-group { display: flex; gap: 4px; }
691
+
692
+ .filter-chip {
693
+ background: #0c0e1a;
694
+ border: 1px solid var(--border-color);
695
+ color: var(--text-dim);
696
+ font-family: var(--font-pixel);
697
+ font-size: 8px;
698
+ padding: 3px 6px;
699
+ cursor: pointer;
700
+ }
701
+
702
+ .filter-chip.active,
703
+ .filter-chip:hover {
704
+ background: #1f2742;
705
+ color: var(--color-cyan);
706
+ border-color: var(--color-cyan);
707
+ }
708
+
709
+ .terminal-logs {
710
+ background: #060810;
711
+ padding: 12px;
712
+ height: 240px;
713
+ overflow-y: auto;
714
+ display: flex;
715
+ flex-direction: column;
716
+ gap: 6px;
717
+ font-family: var(--font-terminal);
718
+ font-size: 16px;
719
+ }
720
+
721
+ .log-entry {
722
+ display: flex;
723
+ align-items: flex-start;
724
+ gap: 10px;
725
+ word-break: break-word;
726
+ animation: fadeIn 0.15s ease-in;
727
+ }
728
+
729
+ .log-time { color: #4e5a7e; flex-shrink: 0; }
730
+
731
+ .log-agent {
732
+ font-family: var(--font-pixel);
733
+ font-size: 8px;
734
+ padding: 1px 4px;
735
+ flex-shrink: 0;
736
+ border: 1px solid transparent;
737
+ }
738
+
739
+ .log-agent-orchestrator { color: var(--color-gold); border-color: #554400; background: #1c1600; }
740
+ .log-agent-frontend { color: var(--color-cyan); border-color: #004455; background: #00161c; }
741
+ .log-agent-backend { color: var(--color-magenta); border-color: #55002b; background: #1c000e; }
742
+ .log-agent-database { color: var(--color-gold); border-color: #554400; background: #1c1600; }
743
+ .log-agent-security { color: var(--color-red); border-color: #551111; background: #1c0606; }
744
+ .log-agent-performance { color: var(--color-green); border-color: #115511; background: #061c06; }
745
+ .log-agent-qa { color: var(--color-purple); border-color: #3d0e59; background: #160521; }
746
+
747
+ .log-msg { color: #cbd5e1; flex: 1; }
748
+
749
+ .log-entry.log-complete .log-msg { color: var(--color-green); font-weight: bold; }
750
+ .log-entry.log-error .log-msg { color: var(--color-red); }
751
+
752
+ /* Skills Panel */
753
+ .skill-stats-badge {
754
+ font-family: var(--font-pixel);
755
+ font-size: 8px;
756
+ color: var(--color-green);
757
+ background: #0d1a15;
758
+ padding: 2px 6px;
759
+ border: 1px solid #165b38;
760
+ }
761
+
762
+ .skills-list {
763
+ padding: 10px;
764
+ height: 240px;
765
+ overflow-y: auto;
766
+ display: flex;
767
+ flex-direction: column;
768
+ gap: 6px;
769
+ }
770
+
771
+ .skill-item {
772
+ display: flex;
773
+ align-items: center;
774
+ justify-content: space-between;
775
+ background: #090c17;
776
+ padding: 6px 10px;
777
+ border: 1px solid var(--border-color);
778
+ font-size: 11px;
779
+ }
780
+
781
+ .skill-left { display: flex; align-items: center; gap: 8px; }
782
+ .skill-icon { font-family: var(--font-pixel); font-size: 9px; }
783
+ .skill-icon.status-idle { color: #4e5a7e; }
784
+ .skill-icon.status-active { color: var(--color-gold); animation: pulseDot 0.6s infinite alternate; }
785
+ .skill-icon.status-completed { color: var(--color-green); }
786
+
787
+ .skill-agent-tag {
788
+ font-family: var(--font-pixel);
789
+ font-size: 7px;
790
+ padding: 1px 4px;
791
+ background: #171d33;
792
+ color: var(--text-dim);
793
+ }
794
+
795
+ /* Modal */
796
+ .pixel-modal-backdrop {
797
+ position: fixed;
798
+ top: 0;
799
+ left: 0;
800
+ width: 100vw;
801
+ height: 100vh;
802
+ background: rgba(0, 0, 0, 0.75);
803
+ display: none;
804
+ align-items: center;
805
+ justify-content: center;
806
+ z-index: 10000;
807
+ }
808
+
809
+ .pixel-modal-backdrop.open { display: flex; }
810
+
811
+ .pixel-modal-card {
812
+ background: var(--bg-panel);
813
+ border: 4px solid var(--border-black);
814
+ box-shadow: 0 0 30px rgba(0,0,0,0.9);
815
+ width: 90%;
816
+ max-width: 650px;
817
+ display: flex;
818
+ flex-direction: column;
819
+ animation: modalPop 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
820
+ }
821
+
822
+ .modal-header {
823
+ background: #171b2d;
824
+ border-bottom: 2px solid var(--border-black);
825
+ padding: 10px 16px;
826
+ display: flex;
827
+ align-items: center;
828
+ justify-content: space-between;
829
+ }
830
+
831
+ .modal-title-box { display: flex; align-items: center; gap: 8px; }
832
+ .modal-agent-name { font-family: var(--font-pixel); font-size: 12px; color: var(--color-cyan); }
833
+
834
+ .modal-body {
835
+ padding: 16px;
836
+ max-height: 70vh;
837
+ overflow-y: auto;
838
+ display: flex;
839
+ flex-direction: column;
840
+ gap: 12px;
841
+ font-family: var(--font-terminal);
842
+ font-size: 16px;
843
+ }
844
+
845
+ /* Arcade Footer */
846
+ .arcade-footer {
847
+ display: flex;
848
+ justify-content: space-between;
849
+ align-items: center;
850
+ padding: 10px 14px;
851
+ background: var(--bg-panel-dark);
852
+ border: 2px solid var(--border-black);
853
+ font-size: 10px;
854
+ color: var(--text-dim);
855
+ font-family: var(--font-pixel);
856
+ }
857
+
858
+ .footer-left { display: flex; gap: 12px; }
859
+ .footer-right { display: flex; gap: 12px; align-items: center; }
860
+ .heartbeat-indicator { color: var(--color-green); }
861
+
862
+ /* Custom Scrollbars */
863
+ ::-webkit-scrollbar { width: 8px; height: 8px; }
864
+ ::-webkit-scrollbar-track { background: #080a13; }
865
+ ::-webkit-scrollbar-thumb { background: #252c4a; border: 1px solid #000; }
866
+ ::-webkit-scrollbar-thumb:hover { background: #394370; }
867
+
868
+ /* Animations */
869
+ @keyframes floatIcon {
870
+ 0%, 100% { transform: translateY(0px); }
871
+ 50% { transform: translateY(-4px); }
872
+ }
873
+
874
+ @keyframes pulseDot {
875
+ 0% { opacity: 0.4; }
876
+ 100% { opacity: 1; }
877
+ }
878
+
879
+ @keyframes fadeIn {
880
+ from { opacity: 0; transform: translateY(2px); }
881
+ to { opacity: 1; transform: translateY(0); }
882
+ }
883
+
884
+ @keyframes modalPop {
885
+ 0% { transform: scale(0.9); opacity: 0; }
886
+ 100% { transform: scale(1); opacity: 1; }
887
+ }
888
+
889
+ @media (max-width: 900px) {
890
+ .bottom-split-section { grid-template-columns: 1fr; }
891
+ .office-legend { display: none; }
892
+ }