PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.2.19
MxChat – AI Chatbot & Content Generation for WordPress v3.2.19
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
mxchat-basic / css / test-panel.css

test-panel.css in MxChat – AI Chatbot & Content Generation for WordPress 3.2.19, at css/test-panel.css

826 lines 17.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* MxChat Testing Panel Styles */
2 .mxchat-test-panel {
3 position: fixed;
4 top: 0;
5 left: -400px; /* Hidden by default */
6 width: 400px;
7 height: 100vh;
8 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
9 box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
10 z-index: 999999;
11 transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
12 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
13 font-size: 14px;
14 overflow: hidden;
15 display: flex;
16 flex-direction: column;
17 }
18
19 .mxchat-test-panel.open {
20 left: 0;
21 }
22
23 /* Test Panel Tab */
24 .mxchat-test-tab {
25 position: fixed;
26 top: 50%;
27 left: 0;
28 transform: translateY(-50%);
29 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
30 color: white;
31 padding: 16px 10px;
32 border-radius: 0 12px 12px 0;
33 cursor: pointer;
34 z-index: 999998;
35 font-weight: 700;
36 font-size: 11px;
37 writing-mode: vertical-rl;
38 text-orientation: mixed;
39 box-shadow: 4px 0 15px rgba(0, 0, 0, 0.2);
40 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
41 border: 1px solid rgba(255, 255, 255, 0.2);
42 letter-spacing: 1px;
43 }
44
45 .mxchat-test-tab:hover {
46 background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
47 box-shadow: 6px 0 20px rgba(0, 0, 0, 0.3);
48 transform: translateY(-50%) translateX(2px);
49 }
50
51 /* Panel Header */
52 .mxchat-test-header {
53 background: rgba(255, 255, 255, 0.95);
54 backdrop-filter: blur(10px);
55 padding: 24px;
56 border-bottom: 1px solid rgba(255, 255, 255, 0.2);
57 position: relative;
58 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
59 }
60
61 .mxchat-test-header h3 {
62 margin: 0 0 8px 0;
63 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
64 -webkit-background-clip: text;
65 -webkit-text-fill-color: transparent;
66 background-clip: text;
67 font-size: 18px;
68 font-weight: 700;
69 letter-spacing: -0.5px;
70 }
71
72 .mxchat-test-header p {
73 margin: 0;
74 color: #64748b;
75 font-size: 13px;
76 line-height: 1.5;
77 font-weight: 400;
78 }
79
80 /* Close Button */
81 .mxchat-test-close {
82 position: absolute;
83 top: 20px;
84 right: 20px;
85 background: rgba(255, 255, 255, 0.1);
86 border: 1px solid rgba(255, 255, 255, 0.2);
87 border-radius: 8px;
88 font-size: 18px;
89 color: #64748b;
90 cursor: pointer;
91 padding: 8px;
92 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
93 width: 32px;
94 height: 32px;
95 display: flex;
96 align-items: center;
97 justify-content: center;
98 }
99
100 .mxchat-test-close:hover {
101 background: rgba(244, 67, 54, 0.1);
102 border-color: rgba(244, 67, 54, 0.3);
103 color: #f44336;
104 transform: scale(1.05);
105 }
106
107 /* Panel Content */
108 .mxchat-test-content {
109 flex: 1;
110 padding: 20px;
111 overflow-y: auto;
112 background: rgba(255, 255, 255, 0.95);
113 backdrop-filter: blur(10px);
114 }
115
116 /* Test Section */
117 .mxchat-test-section {
118 margin-bottom: 28px;
119 padding: 20px;
120 background: white;
121 border-radius: 12px;
122 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
123 border: 1px solid rgba(255, 255, 255, 0.8);
124 }
125
126 .mxchat-test-section:last-child {
127 margin-bottom: 0;
128 }
129
130 .mxchat-test-section h4 {
131 margin: 0 0 16px 0;
132 color: #1e293b;
133 font-size: 16px;
134 font-weight: 600;
135 letter-spacing: -0.3px;
136 display: flex;
137 align-items: center;
138 gap: 8px;
139 }
140
141 .mxchat-test-section h4::before {
142 content: '';
143 width: 4px;
144 height: 16px;
145 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
146 border-radius: 2px;
147 }
148
149 /* Action Buttons */
150 .mxchat-test-btn {
151 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
152 color: white;
153 border: none;
154 padding: 10px 18px;
155 border-radius: 8px;
156 cursor: pointer;
157 font-size: 13px;
158 font-weight: 600;
159 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
160 margin-right: 10px;
161 margin-bottom: 10px;
162 box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
163 letter-spacing: 0.3px;
164 }
165
166 .mxchat-test-btn:hover {
167 transform: translateY(-2px);
168 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
169 }
170
171 .mxchat-test-btn.danger {
172 background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);
173 box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
174 }
175
176 .mxchat-test-btn.danger:hover {
177 box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
178 }
179
180 .mxchat-test-btn.secondary {
181 background: linear-gradient(135deg, #64748b 0%, #475569 100%);
182 box-shadow: 0 2px 8px rgba(100, 116, 139, 0.3);
183 }
184
185 .mxchat-test-btn.secondary:hover {
186 box-shadow: 0 4px 12px rgba(100, 116, 139, 0.4);
187 }
188
189 /* Info Display */
190 .mxchat-test-info {
191 background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
192 border: 1px solid #e2e8f0;
193 border-radius: 8px;
194 padding: 16px;
195 margin-top: 12px;
196 font-size: 13px;
197 line-height: 1.5;
198 }
199
200 .mxchat-test-info strong {
201 color: #1e293b;
202 display: block;
203 margin-bottom: 8px;
204 font-weight: 600;
205 font-size: 12px;
206 text-transform: uppercase;
207 letter-spacing: 0.5px;
208 }
209
210 .mxchat-test-info code {
211 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
212 color: white;
213 padding: 4px 8px;
214 border-radius: 4px;
215 font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
216 font-size: 11px;
217 font-weight: 600;
218 }
219
220 /* Query Display */
221 .query-display {
222 font-style: italic;
223 color: #64748b;
224 background: #f8fafc;
225 padding: 12px 16px;
226 border-radius: 8px;
227 margin-top: 8px;
228 border-left: 4px solid #667eea;
229 font-weight: 500;
230 }
231
232 /* Similarity Container */
233 .similarity-container {
234 max-height: 400px;
235 overflow-y: auto;
236 margin-top: 12px;
237 border-radius: 10px;
238 padding: 0;
239 }
240
241 /* No Data Message */
242 .no-data-message {
243 color: #64748b;
244 font-style: italic;
245 padding: 24px;
246 text-align: center;
247 background: #f8fafc;
248 border-radius: 8px;
249 }
250
251 /* Matches Header */
252 .matches-header {
253 font-size: 13px;
254 margin-bottom: 12px;
255 padding: 12px 16px;
256 background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
257 border-radius: 8px;
258 border-left: 4px solid #667eea;
259 font-weight: 600;
260 color: #1e293b;
261 }
262
263 /* Match Cards */
264 .match-card {
265 margin-bottom: 12px;
266 border-radius: 10px;
267 overflow: hidden;
268 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
269 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
270 border: 1px solid #e2e8f0;
271 }
272
273 .match-card:hover {
274 transform: translateY(-1px);
275 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
276 }
277
278 .match-card.above-threshold {
279 border-left: 4px solid #10b981;
280 background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
281 }
282
283 .match-card.below-threshold {
284 border-left: 4px solid #ef4444;
285 background: linear-gradient(135deg, #fef2f2 0%, #fef7f7 100%);
286 }
287
288 /* Match Header */
289 .match-header {
290 display: flex;
291 justify-content: space-between;
292 align-items: center;
293 padding: 12px 16px;
294 border-bottom: 1px solid rgba(0, 0, 0, 0.05);
295 }
296
297 .match-card.above-threshold .match-header {
298 background: rgba(16, 185, 129, 0.1);
299 }
300
301 .match-card.below-threshold .match-header {
302 background: rgba(239, 68, 68, 0.1);
303 }
304
305 /* Match Title */
306 .match-title {
307 font-weight: 600;
308 font-size: 14px;
309 display: flex;
310 align-items: center;
311 gap: 8px;
312 }
313
314 .status-icon {
315 font-size: 14px;
316 }
317
318 .match-card.above-threshold .status-icon {
319 color: #10b981;
320 }
321
322 .match-card.below-threshold .status-icon {
323 color: #ef4444;
324 }
325
326 .doc-id {
327 color: #64748b;
328 font-weight: 500;
329 }
330
331 /* Chunk Badge (legacy) */
332 .chunk-badge {
333 display: inline-flex;
334 align-items: center;
335 padding: 2px 8px;
336 font-size: 11px;
337 font-weight: 600;
338 background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
339 color: #fff;
340 border-radius: 10px;
341 margin-left: 4px;
342 text-transform: uppercase;
343 letter-spacing: 0.3px;
344 }
345
346 /* Matches Header Subheader */
347 .matches-subheader {
348 font-size: 11px;
349 font-weight: 400;
350 color: #64748b;
351 margin-left: 6px;
352 }
353
354 /* Chunk Summary Badge */
355 .chunk-summary {
356 display: inline-flex;
357 align-items: center;
358 padding: 2px 8px;
359 font-size: 11px;
360 font-weight: 600;
361 background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
362 color: #fff;
363 border-radius: 10px;
364 margin-left: 8px;
365 }
366
367 /* Chunk Expand Toggle */
368 .chunk-expand-toggle {
369 display: block;
370 padding: 8px 16px;
371 font-size: 11px;
372 font-weight: 600;
373 color: #6366f1;
374 cursor: pointer;
375 border-top: 1px solid rgba(0, 0, 0, 0.05);
376 transition: background 0.15s ease;
377 }
378
379 .chunk-expand-toggle:hover {
380 background: rgba(99, 102, 241, 0.08);
381 }
382
383 /* Chunk Details Container */
384 .chunk-details {
385 display: none;
386 padding: 0 16px 12px 16px;
387 background: rgba(0, 0, 0, 0.02);
388 border-top: 1px solid rgba(0, 0, 0, 0.05);
389 }
390
391 .chunk-details.expanded {
392 display: block;
393 }
394
395 /* Chunk Detail Row */
396 .chunk-detail-row {
397 display: flex;
398 align-items: center;
399 padding: 6px 8px;
400 margin: 4px 0;
401 border-radius: 6px;
402 font-size: 12px;
403 gap: 10px;
404 }
405
406 .chunk-detail-row.chunk-used {
407 background: rgba(16, 185, 129, 0.1);
408 }
409
410 .chunk-detail-row.chunk-not-used {
411 background: rgba(100, 116, 139, 0.08);
412 }
413
414 .chunk-detail-icon {
415 font-size: 12px;
416 width: 16px;
417 text-align: center;
418 }
419
420 .chunk-used .chunk-detail-icon {
421 color: #10b981;
422 }
423
424 .chunk-not-used .chunk-detail-icon {
425 color: #94a3b8;
426 }
427
428 .chunk-detail-num {
429 font-weight: 600;
430 color: #334155;
431 flex: 1;
432 }
433
434 .chunk-detail-score {
435 font-weight: 600;
436 color: #64748b;
437 }
438
439 .similarity-score {
440 font-size: 16px;
441 font-weight: 700;
442 margin-left: 8px;
443 }
444
445 .match-card.above-threshold .similarity-score {
446 color: #10b981;
447 }
448
449 .match-card.below-threshold .similarity-score {
450 color: #ef4444;
451 }
452
453 /* Context Label */
454 .context-label {
455 font-size: 11px;
456 font-weight: 600;
457 padding: 4px 10px;
458 border-radius: 12px;
459 text-transform: uppercase;
460 letter-spacing: 0.5px;
461 }
462
463 .match-card.above-threshold .context-label {
464 color: #047857;
465 }
466
467 .match-card.below-threshold .context-label {
468 color: #dc2626;
469 }
470
471 /* Match Source */
472 .match-source {
473 padding: 12px 16px;
474 font-size: 12px;
475 color: #475569;
476 line-height: 1.4;
477 word-break: break-word;
478 display: flex;
479 align-items: flex-start;
480 gap: 8px;
481 }
482
483 .source-icon {
484 font-size: 14px;
485 margin-top: 1px;
486 flex-shrink: 0;
487 }
488
489 .link-icon {
490 color: #667eea;
491 }
492
493 .doc-icon {
494 color: #64748b;
495 }
496
497 /* System Prompt Container */
498 .system-prompt-container {
499 max-height: 150px;
500 overflow-y: auto;
501 background: #f8fafc;
502 border: 1px solid #e2e8f0;
503 border-radius: 8px;
504 padding: 12px;
505 margin-top: 8px;
506 font-size: 12px;
507 font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
508 line-height: 1.4;
509 }
510
511 /* Debug Console */
512 .debug-console-container {
513 max-height: 200px;
514 overflow-y: auto;
515 background: #1e293b;
516 border: 1px solid #334155;
517 border-radius: 8px;
518 padding: 12px;
519 margin-top: 8px;
520 font-size: 12px;
521 font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
522 color: #e2e8f0;
523 }
524
525 .debug-entry {
526 margin-bottom: 4px;
527 line-height: 1.4;
528 }
529
530 .debug-timestamp {
531 color: #64748b;
532 font-weight: 500;
533 }
534
535 .debug-placeholder {
536 color: #64748b;
537 font-style: italic;
538 }
539
540 /* Status Indicators */
541 .mxchat-test-status {
542 display: inline-block;
543 padding: 4px 10px;
544 border-radius: 12px;
545 font-size: 11px;
546 font-weight: 600;
547 margin-left: 10px;
548 text-transform: uppercase;
549 letter-spacing: 0.5px;
550 }
551
552 .mxchat-test-status.active {
553 background: linear-gradient(135deg, #10b981 0%, #059669 100%);
554 color: white;
555 box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3);
556 }
557
558 .mxchat-test-status.inactive {
559 background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
560 color: white;
561 box-shadow: 0 2px 4px rgba(245, 158, 11, 0.3);
562 }
563
564 /* Error and Success Text */
565 .error-text {
566 color: #ef4444;
567 font-weight: 500;
568 }
569
570 .success-text {
571 color: #10b981;
572 font-weight: 500;
573 }
574
575 /* Toggle Switch */
576 .mxchat-test-toggle {
577 display: flex;
578 align-items: center;
579 gap: 12px;
580 margin-bottom: 12px;
581 padding: 12px;
582 background: #f8fafc;
583 border-radius: 8px;
584 border: 1px solid #e2e8f0;
585 }
586
587 .mxchat-test-switch {
588 position: relative;
589 width: 48px;
590 height: 24px;
591 background: #cbd5e1;
592 border-radius: 24px;
593 cursor: pointer;
594 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
595 box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
596 }
597
598 .mxchat-test-switch.active {
599 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
600 box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
601 }
602
603 .mxchat-test-switch::after {
604 content: '';
605 position: absolute;
606 top: 2px;
607 left: 2px;
608 width: 20px;
609 height: 20px;
610 background: white;
611 border-radius: 50%;
612 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
613 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
614 }
615
616 .mxchat-test-switch.active::after {
617 transform: translateX(24px);
618 }
619
620 .mxchat-test-toggle label {
621 font-size: 13px;
622 color: #475569;
623 cursor: pointer;
624 font-weight: 500;
625 }
626
627 /* Responsive */
628 @media (max-width: 768px) {
629 .mxchat-test-panel {
630 width: 100vw;
631 left: -100vw;
632 }
633 }
634
635 /* Scrollbar Styling */
636 .mxchat-test-content::-webkit-scrollbar,
637 .similarity-container::-webkit-scrollbar,
638 .system-prompt-container::-webkit-scrollbar,
639 .debug-console-container::-webkit-scrollbar {
640 width: 6px;
641 }
642
643 .mxchat-test-content::-webkit-scrollbar-track,
644 .similarity-container::-webkit-scrollbar-track,
645 .system-prompt-container::-webkit-scrollbar-track {
646 background: #f1f5f9;
647 border-radius: 3px;
648 }
649
650 .debug-console-container::-webkit-scrollbar-track {
651 background: #334155;
652 }
653
654 .mxchat-test-content::-webkit-scrollbar-thumb,
655 .similarity-container::-webkit-scrollbar-thumb,
656 .system-prompt-container::-webkit-scrollbar-thumb {
657 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
658 border-radius: 3px;
659 }
660
661 .debug-console-container::-webkit-scrollbar-thumb {
662 background: #64748b;
663 border-radius: 3px;
664 }
665
666 .mxchat-test-content::-webkit-scrollbar-thumb:hover,
667 .similarity-container::-webkit-scrollbar-thumb:hover,
668 .system-prompt-container::-webkit-scrollbar-thumb:hover,
669 .debug-console-container::-webkit-scrollbar-thumb:hover {
670 background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
671 }
672
673 /* Animation for opening */
674 @keyframes slideIn {
675 from {
676 opacity: 0;
677 transform: translateX(-20px);
678 }
679 to {
680 opacity: 1;
681 transform: translateX(0);
682 }
683 }
684
685 .mxchat-test-section {
686 animation: slideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
687 }
688
689 .mxchat-test-section:nth-child(2) { animation-delay: 0.1s; }
690 .mxchat-test-section:nth-child(3) { animation-delay: 0.2s; }
691 .mxchat-test-section:nth-child(4) { animation-delay: 0.3s; }
692
693
694
695 /* Compact Stacked Action Cards */
696 .actions-container {
697 max-height: 300px;
698 overflow-y: auto;
699 border-radius: 4px;
700 padding: 6px;
701 }
702
703 .actions-header {
704 margin-bottom: 6px;
705 padding-bottom: 4px;
706 border-bottom: 1px solid #e0e0e0;
707 font-size: 12px;
708 }
709
710 .action-card {
711 margin-bottom: 4px;
712 padding: 6px 8px;
713 border-radius: 3px;
714 border-left: 3px solid #ccc;
715 background: white;
716 width: 100%;
717 }
718
719 .action-card.action-triggered {
720 border-left-color: #28a745;
721 background: #f8fff9;
722 }
723
724 .action-card.action-above-threshold {
725 border-left-color: #ffc107;
726 background: #fffdf5;
727 }
728
729 .action-card.action-below-threshold {
730 border-left-color: #dc3545;
731 background: #fff5f5;
732 }
733
734 .action-line {
735 display: flex;
736 align-items: center;
737 justify-content: space-between;
738 gap: 6px;
739 margin-bottom: 3px;
740 }
741
742 .action-icon {
743 font-size: 12px;
744 flex-shrink: 0;
745 }
746
747 .action-name {
748 font-weight: 600;
749 font-size: 11px;
750 color: #333;
751 flex: 1;
752 white-space: nowrap;
753 overflow: hidden;
754 text-overflow: ellipsis;
755 }
756
757 .action-score {
758 font-weight: bold;
759 font-size: 11px;
760 color: #333;
761 background: #f0f0f0;
762 padding: 1px 4px;
763 border-radius: 2px;
764 flex-shrink: 0;
765 }
766
767 .action-details {
768 display: flex;
769 justify-content: space-between;
770 align-items: center;
771 font-size: 9px;
772 color: #666;
773 gap: 6px;
774 }
775
776 .action-status {
777 font-weight: 600;
778 text-transform: uppercase;
779 padding: 1px 3px;
780 border-radius: 2px;
781 flex-shrink: 0;
782 }
783
784 .action-triggered .action-status {
785 background: #28a745;
786 color: white;
787 }
788
789 .action-above-threshold .action-status {
790 background: #ffc107;
791 color: #333;
792 }
793
794 .action-below-threshold .action-status {
795 background: #dc3545;
796 color: white;
797 }
798
799 .action-threshold {
800 font-size: 9px;
801 color: #666;
802 }
803 /* Hybrid retrieval matched-via chips (38ffa1): Vector / Keyword / Both */
804 .mxch-rag-via-chip {
805 font-size: 10px;
806 font-weight: 600;
807 padding: 1px 7px;
808 border-radius: 9px;
809 white-space: nowrap;
810 }
811
812 .mxch-rag-via-vector {
813 background: rgba(120, 115, 245, 0.18);
814 color: #a5a1ff;
815 }
816
817 .mxch-rag-via-keyword {
818 background: rgba(16, 185, 129, 0.18);
819 color: #34d399;
820 }
821
822 .mxch-rag-via-both {
823 background: rgba(245, 158, 11, 0.18);
824 color: #fbbf24;
825 }
826