PluginProbe
Post Snippets – Custom WordPress Code Snippets Customizer / 4.2.2
Post Snippets – Custom WordPress Code Snippets Customizer v4.2.2
4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.1 1.7.2 1.7.3 1.8 1.8.1 1.8.2 1.8.3 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.8.9.1 1.8.9.2 1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 All 115 releases
post-snippets / assets / features.css

features.css in Post Snippets – Custom WordPress Code Snippets Customizer 4.2.2, at assets/features.css

991 lines 24.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1
2 .ps_features_wrap {
3 overflow: hidden;
4 }
5
6 .ps_features_wrap_intro {
7 margin: 10px 10px 30px 10px;
8 font-size: 20px;
9 }
10
11 .ps_features_wrap .products {
12 overflow: hidden;
13 }
14
15 .ps_features_wrap ul {
16 list-style: none;
17 padding: 0;
18 }
19
20 .ps_features_wrap .products li {
21 float: left;
22 margin: 0 2em 2em 0 !important;
23 padding: 0;
24 vertical-align: top;
25 width: 300px;
26
27 text-decoration: none;
28 color: inherit;
29 border: 1px solid #ddd;
30 display: block;
31 min-height: 220px;
32 overflow: hidden;
33 background: #f5f5f5;
34 -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);
35 box-shadow: inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);
36 }
37
38 .ps_features_wrap .products li:hover {
39 background: #ebebeb;
40 -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);
41 }
42
43 .ps_features_wrap .products li img {
44 max-height: 40px;
45 padding: 20px;
46 display: block;
47 margin: 0;
48 background: #fff;
49 border-right: 260px solid #fff;
50 }
51 .ps_features_wrap .products li h2 {
52 margin: 0!important;
53 padding: 30px!important;
54 background: #fff;
55
56 color: #23282d;
57 font-size: 1.3em;
58
59 display: block;
60 font-weight: 600;
61 height: 20px;
62 }
63
64 img {
65 border: none;
66 }
67
68 .ps_features_wrap .products li p {
69 padding: 20px 20px 0 20px;
70 margin: 10px 0 0 0;
71 height: 55px;
72 }
73
74 .ps_features_wrap .products li .price {
75 float: right;
76 margin: 10px;
77 font-weight: bold;
78 font-size: 1.3em;
79 }
80
81 .ps_features_wrap .ml-subscribe-form {
82 text-align: center;
83 }
84
85 .ps_features_wrap .ml-subscribe-form button {
86 -webkit-transition-property: border, background, color;
87 transition-property: border, background, color;
88 -webkit-transition-duration: .05s;
89 transition-duration: .05s;
90 -webkit-transition-timing-function: ease-in-out;
91 transition-timing-function: ease-in-out;
92
93 display: inline-block;
94 text-decoration: none;
95 font-size: 13px;
96 line-height: 26px;
97 height: 28px;
98 margin: 0;
99 padding: 0 10px 1px 10px;
100 cursor: pointer;
101 -webkit-appearance: none;
102 -webkit-border-radius: 3px;
103 border-radius: 3px;
104 white-space: nowrap;
105 -webkit-box-sizing: border-box;
106 -moz-box-sizing: border-box;
107 box-sizing: border-box;
108
109 background: #0085ba;
110 -webkit-box-shadow: 0 1px 0 #006799;
111 box-shadow: 0 1px 0 #006799;
112 color: #000000;
113 text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
114 margin-top: 25px;
115 }
116
117 .ps_features_wrap .ml-subscribe-form button {
118 border: none !important;
119 cursor: pointer !important;
120 width: 100% !important;
121 border-radius: 0 !important;
122 height: 40px !important;
123 background-color: #0085ba !important;
124 color: #FFFFFF !important;
125 font-family: 'Arial', sans-serif !important;
126 font-size: 16px !important;
127 text-align: center !important;
128 padding: 0 !important;
129 }
130
131 .ps_features_wrap .form-control {
132 margin: 0 10px 15px 10px;
133 width: 250px;
134 height: 30px;
135 text-align: center;
136 }
137
138 .ps_features_wrap #mlb2-3151587.ml-subscribe-form button[disabled] {
139 cursor: not-allowed!important;
140 }
141
142 .ps_features_wrap .ml-subscribe-form button .loading {
143 color: red;
144 border: 1px solid red;
145 }
146
147 .ps_features_wrap .products li .loading img {
148 background-color: #0085ba !important;
149 border-right: 0;
150 display: inline;
151 padding: 0;
152 margin-top: 10px;
153 border-top: 0 solid red;
154 }
155
156 .ps-features-success-message {
157 padding: 0 20px 10px 20px !important;
158 text-align: left;
159 margin: 0 0 0 0 !important;
160 font-weight: bold;
161 }
162
163 .ps-voted-note {
164 font-weight: bold;
165 }
166
167 .ps-voted-note-large {
168 font-weight: bold;
169 margin: 45px 0px 45px 0px;
170 font-size: 15px;
171 text-align: center;
172 background-color: rgba(255, 185, 0, 0.41);
173 padding: 20px;
174 }
175
176 .ps-votes-left {
177 font-weight: bold;
178 margin: 0px 0px 35px 0px;
179 font-size: 15px;
180 text-align: center;
181 background-color: rgba(255, 185, 0, 0.41);
182 padding: 15px;
183 width: 100%
184 }
185
186 .tab-upgrade {
187 color: green;
188 }
189 /* --- Professional AI Chatbot UI (Premium Sync) --- */
190 :root {
191 --ps-ai-primary: #2563eb;
192 --ps-ai-primary-hover: #1d4ed8;
193 --ps-ai-bg: #ffffff;
194 --ps-ai-header: #0f172a;
195 --ps-ai-text: #1e293b;
196 --ps-ai-text-secondary: #64748b;
197 --ps-ai-user-bubble: #2563eb;
198 --ps-ai-ai-bubble: #f8fafc;
199 --ps-ai-border: rgba(0, 0, 0, 0.06);
200 --ps-ai-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
201 }
202
203 /* Toggle Button with Pulse */
204 #chatbot-toggle {
205 position: fixed !important;
206 bottom: 30px !important;
207 right: 30px !important;
208 width: 60px !important;
209 height: 60px !important;
210 background: linear-gradient(135deg, var(--ps-ai-primary) 0%, #3b82f6 100%) !important;
211 border-radius: 50% !important;
212 cursor: pointer !important;
213 display: flex !important;
214 align-items: center !important;
215 justify-content: center !important;
216 box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.4) !important;
217 z-index: 10000 !important;
218 transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
219 color: white !important;
220 border: none !important;
221 outline: none !important;
222 padding: 0 !important;
223 margin: 0 !important;
224 }
225
226 #chatbot-toggle:hover {
227 transform: translateY(-4px) scale(1.05) !important;
228 box-shadow: 0 20px 25px -5px rgba(37, 99, 235, 0.5) !important;
229 }
230
231 #chatbot-toggle::after {
232 content: '';
233 position: absolute;
234 width: 100%;
235 height: 100%;
236 border-radius: 50%;
237 background: var(--ps-ai-primary);
238 opacity: 0.4;
239 z-index: -1;
240 animation: psPulse 2s infinite;
241 }
242
243 @keyframes psPulse {
244 0% { transform: scale(1); opacity: 0.4; }
245 100% { transform: scale(1.6); opacity: 0; }
246 }
247
248 #chatbot-toggle svg {
249 width: 28px !important;
250 height: 28px !important;
251 filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1)) !important;
252 }
253
254 /* Wrapper with Glassmorphism */
255 #chatbot-wrapper {
256 position: fixed !important;
257 bottom: 110px !important;
258 right: 30px !important;
259 width: 400px !important;
260 height: 600px !important;
261 max-height: 80vh !important;
262 background: rgba(255, 255, 255, 0.95) !important;
263 backdrop-filter: blur(12px) !important;
264 -webkit-backdrop-filter: blur(12px) !important;
265 border-radius: 24px !important;
266 box-shadow: var(--ps-ai-shadow) !important;
267 z-index: 10001 !important;
268 display: none; /* Changed from flex !important to none for jQuery control */
269 flex-direction: column !important;
270 overflow: hidden !important;
271 border: 1px solid rgba(255, 255, 255, 0.4) !important;
272 font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif !important;
273 animation: psSlideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
274 }
275
276 @keyframes psSlideUp {
277 from { opacity: 0; transform: translateY(20px) scale(0.95); }
278 to { opacity: 1; transform: translateY(0) scale(1); }
279 }
280
281 /* Header */
282 #chatbot-header {
283 background: var(--ps-ai-header) !important;
284 color: white !important;
285 padding: 16px 24px !important;
286 display: flex !important;
287 justify-content: space-between !important;
288 align-items: center !important;
289 border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
290 }
291
292 #chatbot-header .header-main {
293 display: flex !important;
294 flex-direction: column !important;
295 gap: 2px !important;
296 }
297
298 #chatbot-header h3 {
299 color: #fff !important;
300 margin: 0 !important;
301 font-size: 15px !important;
302 font-weight: 700 !important;
303 letter-spacing: -0.01em !important;
304 display: flex !important;
305 align-items: center !important;
306 gap: 10px !important;
307 }
308
309 #chatbot-header .status-dot {
310 width: 8px;
311 height: 8px;
312 background: #10b981;
313 border-radius: 50%;
314 display: inline-block;
315 box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
316 }
317
318 .header-subtitle {
319 font-size: 9px !important;
320 text-transform: uppercase !important;
321 letter-spacing: 0.1em !important;
322 color: #94a3b8 !important;
323 font-weight: 600 !important;
324 }
325
326 .header-actions {
327 display: flex !important;
328 gap: 12px !important;
329 align-items: center !important;
330 }
331
332 #chatbot-clear, #chatbot-close {
333 background: rgba(255, 255, 255, 0.06) !important;
334 border: none !important;
335 color: #94a3b8 !important;
336 cursor: pointer !important;
337 width: 32px !important;
338 height: 32px !important;
339 border-radius: 10px !important;
340 display: flex !important;
341 align-items: center !important;
342 justify-content: center !important;
343 transition: all 0.2s !important;
344 }
345
346 #chatbot-clear:hover, #chatbot-close:hover {
347 background: rgba(255, 255, 255, 0.15) !important;
348 color: white !important;
349 }
350
351 /* Messages Area */
352 #chatbot-messages {
353 flex: 1 !important;
354 overflow-y: auto !important;
355 padding: 24px !important;
356 display: flex !important;
357 flex-direction: column !important;
358 gap: 16px !important;
359 scroll-behavior: smooth !important;
360 background: transparent !important;
361 }
362
363 #chatbot-messages::-webkit-scrollbar { width: 4px; }
364 #chatbot-messages::-webkit-scrollbar-track { background: transparent; }
365 #chatbot-messages::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
366 #chatbot-messages::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
367
368 /* Message Bubbles */
369 .user-message, .ai-message {
370 display: flex !important;
371 max-width: 92% !important;
372 gap: 12px !important;
373 width: fit-content !important;
374 }
375
376 .user-message {
377 align-self: flex-end !important;
378 flex-direction: row-reverse !important;
379 }
380
381 .ai-message {
382 align-self: flex-start !important;
383 }
384
385 .message-content {
386 padding: 12px 18px !important;
387 border-radius: 18px !important;
388 font-size: 14px !important;
389 line-height: 1.6 !important;
390 position: relative !important;
391 box-sizing: border-box !important;
392 max-width: 100% !important;
393 overflow-wrap: break-word !important;
394 word-break: break-word !important;
395 min-width: 0 !important;
396 }
397
398 .user-message .message-content {
399 background: var(--ps-ai-user-bubble) !important;
400 color: white !important;
401 border-bottom-right-radius: 4px !important;
402 }
403
404 .ai-message .message-content {
405 background: var(--ps-ai-ai-bubble) !important;
406 color: var(--ps-ai-text) !important;
407 border: 1px solid rgba(0,0,0,0.05) !important;
408 border-bottom-left-radius: 4px !important;
409 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
410 }
411
412 .message-content strong {
413 display: block !important;
414 font-size: 11px !important;
415 text-transform: uppercase !important;
416 letter-spacing: 0.05em !important;
417 margin-bottom: 4px !important;
418 opacity: 0.7 !important;
419 }
420
421 /* Icons */
422 .msg-icon {
423 width: 32px !important;
424 height: 32px !important;
425 border-radius: 10px !important;
426 display: flex !important;
427 align-items: center !important;
428 justify-content: center !important;
429 flex-shrink: 0 !important;
430 margin: 0 !important;
431 }
432
433 .ai-icon { background: #f1f5f9 !important; color: #475569 !important; }
434 .user-icon { background: #e0e7ff !important; color: #4338ca !important; }
435
436
437
438 /* Typing Indicator */
439 .typing-indicator {
440 display: flex !important;
441 gap: 4px !important;
442 padding: 4px 0 !important;
443 }
444
445 .typing-indicator span {
446 width: 6px !important;
447 height: 6px !important;
448 background: #94a3b8 !important;
449 border-radius: 50% !important;
450 animation: psBounce 1.4s infinite ease-in-out both !important;
451 }
452
453 .typing-indicator span:nth-child(1) { animation-delay: -0.32s !important; }
454 .typing-indicator span:nth-child(2) { animation-delay: -0.16s !important; }
455
456 @keyframes psBounce {
457 0%, 80%, 100% { transform: scale(0); }
458 40% { transform: scale(1); }
459 }
460
461 /* Code Blocks */
462 .code-block {
463 margin: 16px 0 !important;
464 background: #111827 !important;
465 border-radius: 14px !important;
466 overflow: hidden !important;
467 color: #f3f4f6 !important;
468 max-width: 100% !important;
469 box-sizing: border-box !important;
470 border: 1px solid rgba(255, 255, 255, 0.05) !important;
471 box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
472 }
473
474 .code-header {
475 background: #1f2937 !important;
476 padding: 10px 16px !important;
477 display: flex !important;
478 justify-content: space-between !important;
479 align-items: center !important;
480 font-size: 10px !important;
481 font-weight: 700 !important;
482 text-transform: uppercase !important;
483 letter-spacing: 0.15em !important;
484 color: #9ca3af !important;
485 max-width: 100% !important;
486 box-sizing: border-box !important;
487 border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
488 }
489
490 .code-block pre {
491 margin: 0 !important;
492 padding: 18px !important;
493 overflow-x: auto !important;
494 font-family: 'Fira Code', 'JetBrains Mono', 'Fira Mono', monospace !important;
495 font-size: 13px !important;
496 line-height: 1.6 !important;
497 max-width: 100% !important;
498 box-sizing: border-box !important;
499 }
500
501 .code-block pre::-webkit-scrollbar { height: 6px; }
502 .code-block pre::-webkit-scrollbar-track { background: rgba(0,0,0,0.1); }
503 .code-block pre::-webkit-scrollbar-thumb { background: #374151; border-radius: 10px; }
504 .code-block pre::-webkit-scrollbar-thumb:hover { background: #4b5563; }
505
506
507 .code-actions {
508 padding: 10px 16px !important;
509 background: #1f2937 !important;
510 display: flex !important;
511 gap: 8px !important;
512 justify-content: flex-end !important;
513 border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
514 }
515
516 .apply-snippet-btn, .copy-code-btn {
517 padding: 6px 12px !important;
518 border-radius: 6px !important;
519 font-size: 12px !important;
520 font-weight: 500 !important;
521 cursor: pointer !important;
522 transition: all 0.2s !important;
523 border: 1px solid rgba(255, 255, 255, 0.1) !important;
524 margin: 0 !important;
525 }
526
527 .apply-snippet-btn {
528 background: var(--ps-ai-primary) !important;
529 color: white !important;
530 }
531
532 .apply-snippet-btn:hover { background: var(--ps-ai-primary-hover) !important; }
533
534 .copy-code-btn {
535 background: transparent !important;
536 color: #94a3b8 !important;
537 }
538
539 .copy-code-btn:hover { background: rgba(255, 255, 255, 0.05) !important; color: white !important; }
540
541 /* Success/Error/Welcome */
542 .welcome-message, .error-message, .success-message {
543 padding: 16px !important;
544 border-radius: 14px !important;
545 font-size: 13px !important;
546 display: flex !important;
547 gap: 12px !important;
548 border: 1px solid transparent !important;
549 margin: 10px 0 !important;
550 }
551
552 .welcome-message {
553 background: #f0f9ff !important;
554 color: #0369a1 !important;
555 border-color: #bae6fd !important;
556 }
557
558 .error-message {
559 background: #fef2f2 !important;
560 color: #991b1b !important;
561 border-color: #fecaca !important;
562 }
563
564 .success-message {
565 background: #f0fdf4 !important;
566 color: #166534 !important;
567 border-color: #bbf7d0 !important;
568 }
569
570 /* Animations slide in */
571 .user-message, .ai-message, .welcome-message, .error-message, .system-message {
572 animation: psFadeIn 0.3s ease-out forwards !important;
573 }
574
575 @keyframes psFadeIn {
576 from { opacity: 0; transform: translateY(10px); }
577 to { opacity: 1; transform: translateY(0); }
578 }
579
580
581 #chatbot-toggle:hover {
582 transform: scale(1.08) translateY(-4px);
583 box-shadow: 0 15px 35px rgba(37, 99, 235, 0.6);
584 }
585
586 #chatbot-toggle svg {
587 fill: none;
588 width: 32px;
589 height: 32px;
590 }
591
592 #chatbot-toggle svg path {
593 fill: #ffffff;
594 }
595
596
597
598
599 /* Chatbot Header */
600 #chatbot-header {
601 background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
602 color: white;
603 padding: 20px 24px;
604 display: flex;
605 justify-content: space-between;
606 align-items: center;
607 border-radius: 20px 20px 0 0;
608 box-shadow: 0 4px 15px rgba(0,0,0,0.05);
609 }
610
611 #chatbot-header h3 {
612 color: #fff;
613 margin: 0;
614 font-size: 16px;
615 font-weight: 600;
616 display: flex;
617 align-items: center;
618 gap: 8px;
619 }
620
621 .header-icon {
622 font-size: 18px;
623 }
624
625 #chatbot-close {
626 background: rgba(255,255,255,0.1);
627 border: none;
628 color: white;
629 font-size: 20px;
630 cursor: pointer;
631 padding: 0;
632 width: 32px;
633 height: 32px;
634 display: flex;
635 align-items: center;
636 justify-content: center;
637 border-radius: 50%;
638 transition: all 0.2s ease;
639 }
640
641 #chatbot-close:hover {
642 background-color: rgba(255, 255, 255, 0.25);
643 transform: rotate(90deg);
644 }
645
646 /* Messages Container */
647 #chatbot-messages {
648 flex: 1;
649 overflow-y: auto;
650 padding: 24px 20px;
651 background: #f8fafc;
652 display: flex;
653 flex-direction: column;
654 gap: 16px;
655 }
656
657 /* Custom scrollbar */
658 #chatbot-messages::-webkit-scrollbar {
659 width: 6px;
660 }
661 #chatbot-messages::-webkit-scrollbar-track {
662 background: transparent;
663 }
664 #chatbot-messages::-webkit-scrollbar-thumb {
665 background: #cbd5e1;
666 border-radius: 6px;
667 }
668 #chatbot-messages::-webkit-scrollbar-thumb:hover {
669 background: #94a3b8;
670 }
671
672 /* Message Base Styles */
673 .user-message,
674 .ai-message {
675 display: flex;
676 align-items: flex-start;
677 gap: 12px;
678 max-width: 100%;
679 word-wrap: break-word;
680 animation: slideUpFade 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
681 }
682 .ai-message {
683 justify-content: flex-start;
684 }
685 .user-message {
686 justify-content: flex-start;
687 flex-direction: row-reverse;
688 }
689
690 /* Message Contact Bubbles */
691 .user-message .message-content {
692 background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
693 color: #ffffff;
694 padding: 14px 18px;
695 border-radius: 20px 20px 4px 20px;
696 max-width: 85%;
697 box-shadow: 0 4px 15px rgba(37, 99, 235, 0.15);
698 font-size: 14px;
699 line-height: 1.5;
700 }
701
702 .ai-message .message-content {
703 background: white;
704 color: #1e293b;
705 padding: 14px 18px;
706 border-radius: 20px 20px 20px 4px;
707 border: 1px solid rgba(0,0,0,0.05);
708 max-width: 85%;
709 box-shadow: 0 4px 15px rgba(0,0,0,0.02);
710 font-size: 14px;
711 line-height: 1.5;
712 }
713
714 .message-content strong {
715 font-weight: 700;
716 margin-bottom: 2px;
717 display: block;
718 font-size: 12px;
719 opacity: 0.85;
720 }
721
722 .ai-response {
723 margin-top: 4px;
724 }
725
726 /* Avatar Styles */
727 .user-avatar,
728 .ai-avatar {
729 width: 36px;
730 height: 36px;
731 border-radius: 50%;
732 display: flex;
733 align-items: center;
734 justify-content: center;
735 font-size: 18px;
736 flex-shrink: 0;
737 box-shadow: 0 2px 10px rgba(0,0,0,0.05);
738 }
739
740 .user-avatar {
741 background: #e0e7ff;
742 color: #3730a3;
743 }
744
745 .ai-avatar {
746 background: #f1f5f9;
747 color: #475569;
748 }
749
750 /* Inline Code */
751 .inline-code {
752 background: #f1f5f9;
753 color: #0f172a;
754 padding: 2px 6px;
755 border-radius: 6px;
756 font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
757 font-size: 12px;
758 border: 1px solid #e2e8f0;
759 }
760
761 /* Error Message */
762 .error-message {
763 display: flex;
764 align-items: flex-start;
765 gap: 12px;
766 background: #fef2f2;
767 border: 1px solid #fecaca;
768 border-radius: 12px;
769 padding: 16px;
770 color: #b91c1c;
771 animation: slideUpFade 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
772 font-size: 14px;
773 line-height: 1.5;
774 }
775
776 .error-icon {
777 font-size: 18px;
778 flex-shrink: 0;
779 }
780
781 /* Welcome Message */
782 .welcome-message {
783 display: flex;
784 align-items: flex-start;
785 gap: 12px;
786 background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
787 border: 1px solid #bbf7d0;
788 border-radius: 16px;
789 padding: 16px;
790 color: #166534;
791 animation: slideUpFade 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
792 font-size: 14px;
793 line-height: 1.5;
794 }
795
796 /* Loading Animation */
797 .loading .message-content {
798 background: #f8fafc;
799 border-color: #e2e8f0;
800 padding: 16px 18px;
801 }
802
803 .typing-indicator {
804 display: inline-flex;
805 align-items: center;
806 gap: 4px;
807 margin-left: 8px;
808 }
809
810 .typing-indicator span {
811 width: 6px;
812 height: 6px;
813 border-radius: 50%;
814 background: #94a3b8;
815 animation: bounce 1.4s infinite ease-in-out;
816 }
817
818 .typing-indicator span:nth-child(1) {
819 animation-delay: -0.32s;
820 }
821
822 .typing-indicator span:nth-child(2) {
823 animation-delay: -0.16s;
824 }
825
826 @keyframes bounce {
827 0%, 80%, 100% {
828 transform: scale(0);
829 }
830 40% {
831 transform: scale(1);
832 }
833 }
834
835 /* Input Container */
836 #chatbot-input-container {
837 background: white !important;
838 border-top: 1px solid #f1f5f9 !important;
839 padding: 20px 24px !important;
840 display: flex !important;
841 gap: 12px !important;
842 align-items: flex-end !important;
843 }
844
845 #chatbot-input {
846 flex: 1 !important;
847 border: 1px solid #e2e8f0 !important;
848 background: #f8fafc !important;
849 border-radius: 24px !important;
850 padding: 12px 20px !important;
851 font-size: 14px !important;
852 line-height: 1.5 !important;
853 resize: none !important;
854 min-height: 44px !important;
855 max-height: 150px !important;
856 font-family: inherit !important;
857 transition: all 0.3s ease !important;
858 box-shadow: inset 0 2px 4px rgba(0,0,0,0.02) !important;
859 outline: none !important;
860 }
861
862 #chatbot-input:focus {
863 border-color: #3b82f6 !important;
864 background: #ffffff !important;
865 box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1) !important;
866 }
867
868 #chatbot-send {
869 background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
870 border: none !important;
871 color: white !important;
872 width: 44px !important;
873 height: 44px !important;
874 border-radius: 50% !important;
875 cursor: pointer !important;
876 display: flex !important;
877 align-items: center !important;
878 justify-content: center !important;
879 transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
880 flex-shrink: 0 !important;
881 box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2) !important;
882 padding: 0 !important;
883 margin-bottom: 2px !important;
884 }
885
886 #chatbot-send:hover:not(:disabled) {
887 transform: scale(1.08) translateY(-2px) !important;
888 box-shadow: 0 6px 15px rgba(15, 23, 42, 0.3) !important;
889 }
890
891 #chatbot-send:disabled {
892 opacity: 0.5 !important;
893 cursor: not-allowed !important;
894 background: #94a3b8 !important;
895 }
896
897 /* Apply Snippet Button Styles */
898 .code-actions {
899 margin-top: 10px;
900 padding: 10px;
901 background-color: #f8f9fa;
902 border-top: 1px solid #e9ecef;
903 text-align: right;
904 }
905
906 .apply-snippet-btn, .copy-code-btn {
907 background-color: #007cba;
908 color: white;
909 border: none;
910 padding: 8px 16px;
911 border-radius: 4px;
912 cursor: pointer;
913 font-size: 12px;
914 font-weight: 500;
915 transition: all 0.2s ease;
916 }
917
918 .apply-snippet-btn:hover, .copy-code-btn {
919 background-color: #005a87;
920 transform: translateY(-1px);
921 }
922
923 .apply-snippet-btn:active, .copy-code-btn {
924 transform: translateY(0);
925 }
926
927 .apply-snippet-btn.applied, .copy-code-btn {
928 background-color: #28a745;
929 transform: scale(0.98);
930 }
931
932 .apply-snippet-btn.applied:hover, .copy-code-btn {
933 background-color: #28a745;
934 }
935
936 /* Success message styles */
937 .success-message {
938 display: flex;
939 align-items: center;
940 margin: 10px 0;
941 padding: 10px;
942 background-color: #d4edda;
943 color: #155724;
944 border: 1px solid #c3e6cb;
945 border-radius: 4px;
946 }
947
948 .success-icon {
949 margin-right: 10px;
950 font-size: 16px;
951 }
952
953 /* Enhanced code block styles */
954 .code-block {
955 margin: 10px 0;
956 border: 1px solid #e1e4e8;
957 border-radius: 6px;
958 overflow: hidden;
959 background-color: #f6f8fa;
960 }
961
962 .code-header {
963 background-color: #f1f3f4;
964 padding: 8px 12px;
965 border-bottom: 1px solid #e1e4e8;
966 font-size: 12px;
967 font-weight: 600;
968 }
969
970 .language-label {
971 color: #586069;
972 text-transform: uppercase;
973 }
974
975 .code-block pre {
976 margin: 0;
977 padding: 12px;
978 background-color: #f8f9fa;
979 overflow-x: auto;
980 font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
981 font-size: 13px;
982 line-height: 1.4;
983 }
984
985 .code-block code {
986 background: none;
987 color: #24292e;
988 padding: 0;
989 font-size: inherit;
990 }
991