PluginProbe
Page Builder: Pagelayer – Drag and Drop website builder / 2.2.0
Page Builder: Pagelayer – Drag and Drop website builder v2.2.0
2.2.1 2.2.0 2.1.9 2.1.8 2.1.7 2.1.6 2.1.5 2.1.4 2.1.3 trunk 0.9.0 0.9.1 0.9.2 0.9.3 0.9.4 0.9.5 0.9.6 0.9.7 0.9.8 0.9.9 1.0.0 1.0.2 1.0.3 1.0.4 1.0.5 All 129 releases
pagelayer / css / pagelayer-ai.css

pagelayer-ai.css in Page Builder: Pagelayer – Drag and Drop website builder 2.2.0, at css/pagelayer-ai.css

1,511 lines 28.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* Pagelayer AI Generator Stylesheet - Premium Dark Aesthetic */
2
3 /* Floating AI Chatbox Container */
4 .pagelayer-ai-chat-panel {
5 position: fixed;
6 bottom: 24px;
7 right: 24px;
8 width: 380px;
9 max-width: calc(100vw - 32px);
10 height: 590px;
11 max-height: calc(100vh - 50px);
12 background: #0f172a;
13 color: #f8fafc;
14 border-radius: 16px;
15 box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 40px rgba(99, 102, 241, 0.2);
16 display: flex;
17 flex-direction: column;
18 z-index: 999999;
19 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
20 overflow: hidden;
21 transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), height 0.3s ease;
22 backdrop-filter: blur(20px);
23 -webkit-backdrop-filter: blur(20px);
24 }
25
26 .pagelayer-ai-chat-panel.pagelayer-ai-hidden {
27 opacity: 0;
28 pointer-events: none;
29 transform: translateY(20px) scale(0.96);
30 display: none;
31 }
32
33 .pagelayer-ai-chat-panel.pagelayer-ai-minimized {
34 height: 52px !important;
35 overflow: hidden;
36 }
37
38 /* Header */
39 .pagelayer-ai-header {
40 display: flex;
41 flex-direction: column;
42 padding: 10px 12px 9px;
43 background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
44 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
45 cursor: grab;
46 user-select: none;
47 gap: 7px;
48 flex-shrink: 0;
49 }
50
51 .pagelayer-ai-header:active {
52 cursor: grabbing;
53 }
54
55 .pagelayer-ai-header-top {
56 display: flex;
57 align-items: center;
58 justify-content: space-between;
59 width: 100%;
60 }
61
62 .pagelayer-ai-title-wrap {
63 display: flex;
64 align-items: center;
65 gap: 7px;
66 flex-shrink: 0;
67 }
68
69 .pagelayer-ai-logo-icon {
70 width: 26px;
71 height: 26px;
72 border-radius: 7px;
73 background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #d946ef 100%);
74 display: flex;
75 align-items: center;
76 justify-content: center;
77 color: #ffffff;
78 font-size: 12px;
79 box-shadow: 0 0 12px rgba(99, 102, 241, 0.45);
80 }
81
82 .pagelayer-ai-title {
83 font-size: 13px;
84 font-weight: 700;
85 color: #ffffff;
86 letter-spacing: 0.1px;
87 display: flex;
88 align-items: center;
89 gap: 5px;
90 }
91
92 .pagelayer-ai-badge {
93 font-size: 8.5px;
94 font-weight: 800;
95 background: rgba(99, 102, 241, 0.25);
96 color: #a5b4fc;
97 border: 1px solid rgba(99, 102, 241, 0.4);
98 padding: 1px 4px;
99 border-radius: 9999px;
100 text-transform: uppercase;
101 letter-spacing: 0.4px;
102 }
103
104 .pagelayer-ai-header-actions {
105 display: flex;
106 align-items: center;
107 gap: 4px;
108 flex-shrink: 0;
109 }
110
111 /* Header Subbar for Provider & Model */
112 .pagelayer-ai-header-subbar {
113 display: flex;
114 align-items: center;
115 width: 100%;
116 }
117
118 .pagelayer-ai-header-subbar .pagelayer-ai-provider-pill-wrap {
119 display: flex;
120 align-items: center;
121 justify-content: space-between;
122 background: rgba(255, 255, 255, 0.06);
123 border: 1px solid rgba(255, 255, 255, 0.12);
124 border-radius: 8px;
125 padding: 3px 8px;
126 width: 100%;
127 box-sizing: border-box;
128 gap: 6px;
129 transition: all 0.2s;
130 }
131
132 .pagelayer-ai-header-subbar .pagelayer-ai-provider-pill-wrap:hover {
133 border-color: rgba(99, 102, 241, 0.5);
134 background: rgba(255, 255, 255, 0.09);
135 }
136
137 .pagelayer-ai-subbar-icon {
138 color: #a5b4fc;
139 font-size: 11px;
140 flex-shrink: 0;
141 }
142
143 .pagelayer-ai-provider-select {
144 background: transparent;
145 color: #f1f5f9;
146 border: none;
147 font-size: 11.5px;
148 font-weight: 600;
149 padding: 2px 0;
150 outline: none;
151 cursor: pointer;
152 flex: 1;
153 min-width: 0;
154 }
155
156 .pagelayer-ai-provider-select option {
157 background: #1e293b;
158 color: #ffffff;
159 }
160
161 .pagelayer-ai-active-model-tag {
162 font-size: 10px;
163 font-weight: 600;
164 color: #93c5fd;
165 background: rgba(59, 130, 246, 0.18);
166 border: 1px solid rgba(59, 130, 246, 0.3);
167 padding: 2px 7px;
168 border-radius: 5px;
169 cursor: pointer;
170 max-width: 140px;
171 white-space: nowrap;
172 overflow: hidden;
173 text-overflow: ellipsis;
174 transition: all 0.2s;
175 flex-shrink: 0;
176 }
177
178 .pagelayer-ai-active-model-tag:hover {
179 background: rgba(59, 130, 246, 0.35);
180 color: #ffffff;
181 border-color: rgba(59, 130, 246, 0.6);
182 }
183
184 /* High-Visibility API Keys Button */
185 .pagelayer-ai-api-btn {
186 background: rgba(168, 85, 247, 0.16);
187 border: 1px solid rgba(168, 85, 247, 0.35);
188 color: #e9d5ff;
189 border-radius: 6px;
190 padding: 3px 7px;
191 font-size: 10.5px;
192 font-weight: 600;
193 display: inline-flex;
194 align-items: center;
195 gap: 4px;
196 cursor: pointer;
197 transition: all 0.2s;
198 white-space: nowrap;
199 flex-shrink: 0;
200 }
201
202 .pagelayer-ai-api-btn:hover {
203 background: linear-gradient(135deg, #7c3aed, #6366f1);
204 color: #ffffff;
205 border-color: transparent;
206 box-shadow: 0 0 10px rgba(124, 58, 237, 0.5);
207 transform: translateY(-1px);
208 }
209
210 .pagelayer-ai-api-btn i {
211 font-size: 10px;
212 color: #c084fc;
213 }
214
215 .pagelayer-ai-api-btn:hover i {
216 color: #ffffff;
217 }
218
219 .pagelayer-ai-icon-btn {
220 background: transparent;
221 border: none;
222 color: #94a3b8;
223 width: 24px;
224 height: 24px;
225 border-radius: 6px;
226 display: inline-flex;
227 align-items: center;
228 justify-content: center;
229 cursor: pointer;
230 transition: all 0.2s;
231 font-size: 11px;
232 padding: 0;
233 flex-shrink: 0;
234 }
235
236 .pagelayer-ai-icon-btn:hover {
237 color: #ffffff;
238 background: rgba(255, 255, 255, 0.12);
239 }
240
241 /* Settings Drawer / View with Sticky Save Button */
242 .pagelayer-ai-settings-view {
243 position: absolute;
244 top: 0;
245 left: 0;
246 right: 0;
247 bottom: 0;
248 background: #0b1120;
249 z-index: 50;
250 display: none;
251 flex-direction: column;
252 height: 100%;
253 padding: 0;
254 border-radius: 16px;
255 animation: pagelayerAiFadeIn 0.2s ease;
256 }
257
258 .pagelayer-ai-settings-view.active {
259 display: flex;
260 }
261
262 .pagelayer-ai-settings-header {
263 padding: 12px 14px 10px;
264 background: #0f172a;
265 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
266 display: flex;
267 flex-direction: column;
268 gap: 4px;
269 flex-shrink: 0;
270 }
271
272 .pagelayer-ai-settings-header-top {
273 display: flex;
274 align-items: center;
275 justify-content: space-between;
276 width: 100%;
277 }
278
279 .pagelayer-ai-settings-title {
280 font-size: 13.5px;
281 font-weight: 700;
282 color: #ffffff;
283 display: flex;
284 align-items: center;
285 gap: 6px;
286 }
287
288 .pagelayer-ai-settings-title i {
289 color: #c084fc;
290 font-size: 12px;
291 }
292
293 .pagelayer-ai-settings-desc {
294 font-size: 11px;
295 color: #94a3b8;
296 margin: 0;
297 line-height: 1.35;
298 }
299
300 .pagelayer-ai-back-btn {
301 background: rgba(255, 255, 255, 0.08);
302 border: 1px solid rgba(255, 255, 255, 0.12);
303 color: #cbd5e1;
304 border-radius: 7px;
305 padding: 4px 9px;
306 font-size: 11px;
307 font-weight: 600;
308 cursor: pointer;
309 display: inline-flex;
310 align-items: center;
311 gap: 5px;
312 transition: all 0.2s;
313 flex-shrink: 0;
314 }
315
316 .pagelayer-ai-back-btn:hover {
317 background: rgba(255, 255, 255, 0.16);
318 color: #ffffff;
319 }
320
321 .pagelayer-ai-settings-scroll-body {
322 flex: 1;
323 overflow-y: auto;
324 padding: 16px 18px;
325 scrollbar-width: thin;
326 scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
327 }
328
329 .pagelayer-ai-settings-scroll-body::-webkit-scrollbar {
330 width: 6px;
331 }
332
333 .pagelayer-ai-settings-scroll-body::-webkit-scrollbar-thumb {
334 background: rgba(255, 255, 255, 0.15);
335 border-radius: 4px;
336 }
337
338 .pagelayer-ai-settings-cards {
339 display: flex;
340 flex-direction: column;
341 gap: 12px;
342 }
343
344 /* Provider Settings Card */
345 .pagelayer-ai-card {
346 background: #1e293b;
347 border: 1px solid rgba(255, 255, 255, 0.08);
348 border-radius: 12px;
349 padding: 12px 14px;
350 display: flex;
351 flex-direction: column;
352 gap: 10px;
353 transition: all 0.2s ease;
354 }
355
356 .pagelayer-ai-card:hover {
357 border-color: rgba(99, 102, 241, 0.35);
358 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
359 }
360
361 .pagelayer-ai-card-header {
362 display: flex;
363 align-items: center;
364 justify-content: space-between;
365 margin-bottom: 2px;
366 }
367
368 .pagelayer-ai-card-title {
369 display: flex;
370 align-items: center;
371 gap: 8px;
372 font-size: 13px;
373 color: #ffffff;
374 }
375
376 .pagelayer-ai-provider-dot {
377 width: 8px;
378 height: 8px;
379 border-radius: 50%;
380 background: #64748b;
381 display: inline-block;
382 transition: all 0.3s;
383 }
384
385 .pagelayer-ai-provider-dot.connected {
386 background: #10b981;
387 box-shadow: 0 0 8px #10b981;
388 }
389
390 .pagelayer-ai-key-link {
391 color: #818cf8;
392 font-size: 11px;
393 text-decoration: none;
394 font-weight: 500;
395 display: inline-flex;
396 align-items: center;
397 gap: 4px;
398 transition: color 0.2s;
399 }
400
401 .pagelayer-ai-key-link:hover {
402 color: #a5b4fc;
403 text-decoration: underline;
404 }
405
406 .pagelayer-ai-badge-sm {
407 font-size: 10px;
408 background: rgba(255, 255, 255, 0.08);
409 color: #94a3b8;
410 padding: 2px 6px;
411 border-radius: 4px;
412 }
413
414 .pagelayer-ai-field {
415 display: flex;
416 flex-direction: column;
417 gap: 4px;
418 }
419
420 .pagelayer-ai-field label {
421 font-size: 11.5px;
422 font-weight: 600;
423 color: #cbd5e1;
424 display: flex;
425 justify-content: space-between;
426 align-items: center;
427 }
428
429 .pagelayer-ai-field-hint {
430 font-size: 10px;
431 color: #64748b;
432 font-weight: normal;
433 }
434
435 .pagelayer-ai-input {
436 background: #0f172a;
437 border: 1px solid rgba(255, 255, 255, 0.1);
438 border-radius: 8px;
439 padding: 7px 10px;
440 color: #f1f5f9;
441 font-size: 12px;
442 outline: none;
443 width: 100%;
444 box-sizing: border-box;
445 transition: all 0.2s;
446 }
447
448 .pagelayer-ai-input-with-eye {
449 position: relative;
450 display: flex;
451 align-items: center;
452 }
453
454 .pagelayer-ai-input-with-eye .pagelayer-ai-input {
455 padding-right: 32px;
456 }
457
458 .pagelayer-ai-input:focus {
459 border-color: #6366f1;
460 box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.25);
461 background: #111827;
462 }
463
464 .pagelayer-ai-eye-btn {
465 position: absolute;
466 right: 6px;
467 background: transparent;
468 border: none;
469 color: #64748b;
470 cursor: pointer;
471 padding: 4px;
472 font-size: 12px;
473 transition: color 0.2s;
474 display: flex;
475 align-items: center;
476 justify-content: center;
477 }
478
479 .pagelayer-ai-eye-btn:hover {
480 color: #cbd5e1;
481 }
482
483 /* Sticky Settings Footer */
484 .pagelayer-ai-settings-footer-sticky {
485 padding: 12px 18px;
486 background: #0f172a;
487 border-top: 1px solid rgba(255, 255, 255, 0.1);
488 box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.4);
489 flex-shrink: 0;
490 z-index: 10;
491 }
492
493 .pagelayer-ai-save-settings-btn {
494 background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
495 color: #ffffff;
496 border: none;
497 padding: 11px 18px;
498 border-radius: 10px;
499 font-weight: 600;
500 font-size: 13.5px;
501 cursor: pointer;
502 display: flex;
503 align-items: center;
504 justify-content: center;
505 gap: 8px;
506 width: 100%;
507 box-sizing: border-box;
508 transition: all 0.2s ease;
509 box-shadow: 0 4px 14px rgba(79, 70, 229, 0.4);
510 }
511
512 .pagelayer-ai-save-settings-btn:hover {
513 background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
514 box-shadow: 0 6px 20px rgba(79, 70, 229, 0.6);
515 transform: translateY(-1px);
516 }
517
518 /* Chat Messages Container */
519 .pagelayer-ai-messages {
520 flex: 1;
521 overflow-y: auto;
522 overflow-x: hidden;
523 padding: 13px 14px;
524 display: flex;
525 flex-direction: column;
526 gap: 12px;
527 scrollbar-width: thin;
528 scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
529 min-width: 0;
530 box-sizing: border-box;
531 }
532
533 .pagelayer-ai-messages::-webkit-scrollbar {
534 width: 5px;
535 }
536
537 .pagelayer-ai-messages::-webkit-scrollbar-thumb {
538 background: rgba(255, 255, 255, 0.15);
539 border-radius: 4px;
540 }
541
542 /* Message Bubble */
543 .pagelayer-ai-msg {
544 display: flex;
545 gap: 8px;
546 max-width: 100%;
547 min-width: 0;
548 box-sizing: border-box;
549 animation: pagelayerAiSlideIn 0.25s cubic-bezier(0.16, 1, 0.3, 1);
550 }
551
552 .pagelayer-ai-msg.user {
553 align-self: flex-end;
554 flex-direction: row-reverse;
555 max-width: 88%;
556 }
557
558 .pagelayer-ai-msg.assistant {
559 align-self: stretch;
560 width: 100%;
561 }
562
563 .pagelayer-ai-avatar {
564 width: 26px;
565 height: 26px;
566 border-radius: 50%;
567 display: flex;
568 align-items: center;
569 justify-content: center;
570 font-size: 11px;
571 flex-shrink: 0;
572 margin-top: 2px;
573 }
574
575 .pagelayer-ai-msg.user .pagelayer-ai-avatar {
576 background: #334155;
577 color: #e2e8f0;
578 }
579
580 .pagelayer-ai-msg.assistant .pagelayer-ai-avatar {
581 background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);
582 color: #ffffff;
583 }
584
585 .pagelayer-ai-bubble {
586 background: #1e293b;
587 border: 1px solid rgba(255, 255, 255, 0.08);
588 border-radius: 13px;
589 padding: 9px 13px;
590 font-size: 12.5px;
591 line-height: 1.45;
592 color: #e2e8f0;
593 word-break: break-word;
594 overflow-wrap: break-word;
595 min-width: 0;
596 max-width: 100%;
597 box-sizing: border-box;
598 flex: 1;
599 }
600
601 .pagelayer-ai-msg.user .pagelayer-ai-bubble {
602 background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
603 color: #ffffff;
604 border: none;
605 border-bottom-right-radius: 3px;
606 flex: none;
607 }
608
609 .pagelayer-ai-msg.assistant .pagelayer-ai-bubble {
610 border-bottom-left-radius: 3px;
611 }
612
613 /* Quick Starter Chips */
614 .pagelayer-ai-chips-wrap {
615 display: flex;
616 flex-wrap: wrap;
617 gap: 6px;
618 margin-top: 8px;
619 }
620
621 .pagelayer-ai-chip {
622 background: rgba(255, 255, 255, 0.06);
623 border: 1px solid rgba(255, 255, 255, 0.1);
624 color: #cbd5e1;
625 padding: 5px 10px;
626 border-radius: 9999px;
627 font-size: 11px;
628 font-weight: 500;
629 cursor: pointer;
630 transition: all 0.2s;
631 user-select: none;
632 }
633
634 .pagelayer-ai-chip:hover {
635 background: rgba(99, 102, 241, 0.25);
636 border-color: rgba(99, 102, 241, 0.6);
637 color: #ffffff;
638 transform: translateY(-1px);
639 box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2);
640 }
641
642 /* Generated Card Actions */
643 .pagelayer-ai-code-preview {
644 margin-top: 8px;
645 background: #020617;
646 border: 1px solid rgba(255, 255, 255, 0.06);
647 border-radius: 8px;
648 padding: 8px 10px;
649 font-family: monospace;
650 font-size: 11px;
651 color: #94a3b8;
652 max-height: 90px;
653 overflow-y: auto;
654 overflow-x: hidden;
655 white-space: pre-wrap;
656 word-break: break-all;
657 overflow-wrap: break-word;
658 box-sizing: border-box;
659 max-width: 100%;
660 }
661
662 /* Interactive Choice Card in Chat */
663 .pagelayer-ai-choice-card {
664 margin-top: 6px;
665 background: rgba(30, 41, 59, 0.8);
666 border: 1px solid rgba(99, 102, 241, 0.3);
667 border-radius: 12px;
668 padding: 12px;
669 display: flex;
670 flex-direction: column;
671 gap: 10px;
672 font-size: 12px;
673 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
674 }
675
676 .pagelayer-ai-choice-title {
677 font-size: 12.5px;
678 font-weight: 700;
679 color: #ffffff;
680 display: flex;
681 align-items: center;
682 gap: 6px;
683 }
684
685 .pagelayer-ai-choice-desc {
686 font-size: 11.5px;
687 color: #94a3b8;
688 line-height: 1.45;
689 margin: 0;
690 }
691
692 .pagelayer-ai-choice-options {
693 display: flex;
694 flex-direction: column;
695 gap: 7px;
696 }
697
698 .pagelayer-ai-choice-btn {
699 background: rgba(255, 255, 255, 0.05);
700 border: 1px solid rgba(255, 255, 255, 0.12);
701 border-radius: 9px;
702 padding: 9px 11px;
703 color: #f1f5f9;
704 cursor: pointer;
705 text-align: left;
706 display: flex;
707 align-items: center;
708 gap: 10px;
709 transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
710 user-select: none;
711 width: 100%;
712 box-sizing: border-box;
713 }
714
715 .pagelayer-ai-choice-btn:hover:not(:disabled) {
716 background: rgba(99, 102, 241, 0.2);
717 border-color: rgba(99, 102, 241, 0.55);
718 color: #ffffff;
719 transform: translateY(-1px);
720 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
721 }
722
723 .pagelayer-ai-choice-btn.active-selected {
724 background: linear-gradient(135deg, rgba(99, 102, 241, 0.35) 0%, rgba(139, 92, 246, 0.35) 100%) !important;
725 border-color: #818cf8 !important;
726 box-shadow: 0 0 14px rgba(99, 102, 241, 0.4) !important;
727 opacity: 1 !important;
728 }
729
730 .pagelayer-ai-choice-btn:disabled {
731 cursor: default;
732 opacity: 0.65;
733 transform: none;
734 }
735
736 .pagelayer-ai-choice-icon {
737 width: 30px;
738 height: 30px;
739 border-radius: 8px;
740 display: flex;
741 align-items: center;
742 justify-content: center;
743 font-size: 13px;
744 flex-shrink: 0;
745 }
746
747 .pagelayer-ai-choice-btn[data-mode="existing"] .pagelayer-ai-choice-icon {
748 background: rgba(16, 185, 129, 0.2);
749 color: #34d399;
750 border: 1px solid rgba(16, 185, 129, 0.35);
751 }
752
753 .pagelayer-ai-choice-btn[data-mode="new"] .pagelayer-ai-choice-icon {
754 background: rgba(168, 85, 247, 0.2);
755 color: #c084fc;
756 border: 1px solid rgba(168, 85, 247, 0.35);
757 }
758
759 .pagelayer-ai-choice-btn[data-mode="custom"] .pagelayer-ai-choice-icon {
760 background: rgba(245, 158, 11, 0.2);
761 color: #fbbf24;
762 border: 1px solid rgba(245, 158, 11, 0.35);
763 }
764
765 .pagelayer-ai-choice-text {
766 display: flex;
767 flex-direction: column;
768 gap: 2px;
769 flex: 1;
770 min-width: 0;
771 }
772
773 .pagelayer-ai-choice-text strong {
774 font-size: 12px;
775 font-weight: 600;
776 color: #ffffff;
777 }
778
779 .pagelayer-ai-choice-text span {
780 font-size: 10.5px;
781 color: #94a3b8;
782 }
783
784 /* AI Plan & Architecture Card */
785 .pagelayer-ai-plan-card {
786 margin-top: 6px;
787 background: rgba(30, 41, 59, 0.7);
788 border: 1px solid rgba(99, 102, 241, 0.25);
789 border-radius: 10px;
790 padding: 10px 12px;
791 display: flex;
792 flex-direction: column;
793 gap: 8px;
794 font-size: 12px;
795 min-width: 0;
796 max-width: 100%;
797 box-sizing: border-box;
798 overflow: hidden;
799 }
800
801 .pagelayer-ai-plan-head {
802 display: flex;
803 align-items: center;
804 justify-content: space-between;
805 flex-wrap: wrap;
806 gap: 6px;
807 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
808 padding-bottom: 6px;
809 width: 100%;
810 box-sizing: border-box;
811 }
812
813 .pagelayer-ai-plan-title {
814 font-size: 11.5px;
815 font-weight: 700;
816 color: #a5b4fc;
817 display: flex;
818 align-items: center;
819 gap: 5px;
820 flex-shrink: 0;
821 white-space: nowrap;
822 }
823
824 .pagelayer-ai-plan-mood {
825 font-size: 10px;
826 font-weight: 600;
827 background: rgba(168, 85, 247, 0.2);
828 color: #d8b4fe;
829 border: 1px solid rgba(168, 85, 247, 0.35);
830 padding: 2px 7px;
831 border-radius: 9999px;
832 max-width: 100%;
833 overflow: hidden;
834 text-overflow: ellipsis;
835 white-space: normal;
836 word-break: break-word;
837 line-height: 1.3;
838 }
839
840 .pagelayer-ai-plan-summary {
841 font-size: 12px;
842 line-height: 1.45;
843 color: #e2e8f0;
844 }
845
846 .pagelayer-ai-plan-row {
847 display: flex;
848 flex-direction: column;
849 gap: 4px;
850 }
851
852 .pagelayer-ai-plan-label {
853 font-size: 10.5px;
854 font-weight: 600;
855 color: #94a3b8;
856 text-transform: uppercase;
857 letter-spacing: 0.3px;
858 }
859
860 .pagelayer-ai-plan-badges {
861 display: flex;
862 flex-wrap: wrap;
863 gap: 4px;
864 }
865
866 .pagelayer-ai-plan-badge {
867 font-size: 10.5px;
868 background: rgba(255, 255, 255, 0.06);
869 border: 1px solid rgba(255, 255, 255, 0.1);
870 color: #cbd5e1;
871 padding: 2px 7px;
872 border-radius: 5px;
873 display: inline-flex;
874 align-items: center;
875 gap: 4px;
876 }
877
878 .pagelayer-ai-plan-badge.section {
879 background: rgba(59, 130, 246, 0.15);
880 border-color: rgba(59, 130, 246, 0.3);
881 color: #93c5fd;
882 font-weight: 500;
883 }
884
885 .pagelayer-ai-plan-badge.widget {
886 background: rgba(16, 185, 129, 0.12);
887 border-color: rgba(16, 185, 129, 0.25);
888 color: #6ee7b7;
889 }
890
891 .pagelayer-ai-plan-swatches {
892 display: flex;
893 align-items: center;
894 flex-wrap: wrap;
895 gap: 5px;
896 }
897
898 .pagelayer-ai-plan-swatch {
899 width: 16px;
900 height: 16px;
901 border-radius: 4px;
902 border: 1px solid rgba(255, 255, 255, 0.2);
903 display: inline-block;
904 flex-shrink: 0;
905 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
906 }
907
908 .pagelayer-ai-globals-tag {
909 font-size: 10px;
910 padding: 2px 6px;
911 border-radius: 4px;
912 display: inline-flex;
913 align-items: center;
914 gap: 4px;
915 margin-left: auto;
916 }
917
918 .pagelayer-ai-globals-tag.preserved {
919 background: rgba(16, 185, 129, 0.15);
920 border: 1px solid rgba(16, 185, 129, 0.3);
921 color: #6ee7b7;
922 }
923
924 .pagelayer-ai-globals-tag.override {
925 background: rgba(245, 158, 11, 0.15);
926 border: 1px solid rgba(245, 158, 11, 0.3);
927 color: #fcd34d;
928 }
929
930 /* AI Real-Time Planning Loading Card */
931 .pagelayer-ai-loading-plan-card {
932 min-width: 250px;
933 max-width: 320px;
934 display: flex;
935 flex-direction: column;
936 gap: 10px;
937 padding: 2px 0;
938 font-size: 12px;
939 color: #e2e8f0;
940 }
941
942 .pagelayer-ai-loading-plan-head {
943 display: flex;
944 align-items: center;
945 justify-content: space-between;
946 gap: 8px;
947 padding-bottom: 6px;
948 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
949 }
950
951 .pagelayer-ai-loading-plan-title {
952 font-size: 12px;
953 font-weight: 700;
954 color: #c7d2fe;
955 display: flex;
956 align-items: center;
957 gap: 6px;
958 }
959
960 .pagelayer-ai-loading-pulse-dot {
961 width: 8px;
962 height: 8px;
963 border-radius: 50%;
964 background: #6366f1;
965 box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.7);
966 animation: pl-plan-pulse 1.8s infinite;
967 display: inline-block;
968 }
969
970 @keyframes pl-plan-pulse {
971 0% {
972 box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.7);
973 }
974 70% {
975 box-shadow: 0 0 0 8px rgba(99, 102, 241, 0);
976 }
977 100% {
978 box-shadow: 0 0 0 0 rgba(99, 102, 241, 0);
979 }
980 }
981
982 .pagelayer-ai-loading-plan-target {
983 font-size: 10.5px;
984 font-weight: 600;
985 background: rgba(99, 102, 241, 0.2);
986 color: #a5b4fc;
987 border: 1px solid rgba(99, 102, 241, 0.4);
988 padding: 2px 7px;
989 border-radius: 9999px;
990 white-space: nowrap;
991 max-width: 140px;
992 overflow: hidden;
993 text-overflow: ellipsis;
994 }
995
996 .pagelayer-ai-planning-steps {
997 display: flex;
998 flex-direction: column;
999 gap: 5px;
1000 background: rgba(15, 23, 42, 0.4);
1001 border: 1px solid rgba(255, 255, 255, 0.05);
1002 border-radius: 8px;
1003 padding: 8px 10px;
1004 }
1005
1006 .pagelayer-ai-plan-step {
1007 display: flex;
1008 align-items: center;
1009 gap: 8px;
1010 font-size: 11.5px;
1011 color: #64748b;
1012 transition: all 0.3s ease;
1013 }
1014
1015 .pagelayer-ai-plan-step.active {
1016 color: #e2e8f0;
1017 font-weight: 600;
1018 }
1019
1020 .pagelayer-ai-plan-step.done {
1021 color: #94a3b8;
1022 }
1023
1024 .pagelayer-ai-plan-step .pl-step-icon {
1025 width: 16px;
1026 text-align: center;
1027 font-size: 11px;
1028 }
1029
1030 .pagelayer-ai-plan-step.pending .pl-step-icon {
1031 color: #475569;
1032 }
1033
1034 .pagelayer-ai-plan-step.active .pl-step-icon {
1035 color: #818cf8;
1036 animation: pl-spin-slow 2s linear infinite;
1037 }
1038
1039 .pagelayer-ai-plan-step.done .pl-step-icon {
1040 color: #10b981;
1041 }
1042
1043 @keyframes pl-spin-slow {
1044 100% {
1045 transform: rotate(360deg);
1046 }
1047 }
1048
1049 .pagelayer-ai-planning-components {
1050 display: flex;
1051 flex-direction: column;
1052 gap: 4px;
1053 }
1054
1055 .pagelayer-ai-planning-comp-label {
1056 font-size: 10px;
1057 font-weight: 600;
1058 color: #94a3b8;
1059 text-transform: uppercase;
1060 letter-spacing: 0.4px;
1061 }
1062
1063 .pagelayer-ai-planning-badges-wrap {
1064 display: flex;
1065 flex-wrap: wrap;
1066 gap: 4px;
1067 }
1068
1069 .pagelayer-ai-plan-chip {
1070 font-size: 10px;
1071 font-weight: 500;
1072 background: rgba(255, 255, 255, 0.05);
1073 border: 1px solid rgba(255, 255, 255, 0.09);
1074 color: #cbd5e1;
1075 padding: 2px 7px;
1076 border-radius: 4px;
1077 display: inline-flex;
1078 align-items: center;
1079 gap: 4px;
1080 }
1081
1082 .pagelayer-ai-plan-chip i {
1083 font-size: 9px;
1084 color: #818cf8;
1085 }
1086
1087 .pagelayer-ai-live-thought {
1088 font-size: 11px;
1089 font-style: italic;
1090 color: #93c5fd;
1091 background: rgba(59, 130, 246, 0.1);
1092 border: 1px dashed rgba(99, 102, 241, 0.35);
1093 border-radius: 6px;
1094 padding: 6px 9px;
1095 display: flex;
1096 align-items: center;
1097 gap: 6px;
1098 min-height: 28px;
1099 }
1100
1101 .pagelayer-ai-live-thought i {
1102 color: #60a5fa;
1103 flex-shrink: 0;
1104 }
1105
1106 .pagelayer-ai-loading-progress-wrap {
1107 display: flex;
1108 flex-direction: column;
1109 gap: 3px;
1110 margin-top: 2px;
1111 }
1112
1113 .pagelayer-ai-progress-track {
1114 width: 100%;
1115 height: 4px;
1116 background: rgba(255, 255, 255, 0.08);
1117 border-radius: 9999px;
1118 overflow: hidden;
1119 }
1120
1121 .pagelayer-ai-progress-bar {
1122 height: 100%;
1123 width: 20%;
1124 background: linear-gradient(90deg, #6366f1, #a855f7, #3b82f6);
1125 background-size: 200% 100%;
1126 border-radius: 9999px;
1127 animation: pl-shimmer-grad 2s linear infinite;
1128 transition: width 0.6s ease;
1129 }
1130
1131 @keyframes pl-shimmer-grad {
1132 0% { background-position: 100% 0; }
1133 100% { background-position: -100% 0; }
1134 }
1135
1136 /* Task Done Card */
1137 .pagelayer-ai-done-card {
1138 display: flex;
1139 flex-direction: column;
1140 gap: 8px;
1141 min-width: 0;
1142 max-width: 100%;
1143 box-sizing: border-box;
1144 overflow: hidden;
1145 }
1146
1147 .pagelayer-ai-done-head {
1148 display: flex;
1149 align-items: center;
1150 justify-content: space-between;
1151 }
1152
1153 .pagelayer-ai-done-badge {
1154 display: inline-flex;
1155 align-items: center;
1156 gap: 6px;
1157 font-size: 13px;
1158 font-weight: 700;
1159 color: #10b981;
1160 }
1161
1162 .pagelayer-ai-done-body {
1163 font-size: 12px;
1164 color: #cbd5e1;
1165 line-height: 1.45;
1166 }
1167
1168 .pagelayer-ai-done-meta {
1169 display: flex;
1170 flex-wrap: wrap;
1171 gap: 6px;
1172 margin-top: 6px;
1173 }
1174
1175 .pagelayer-ai-meta-item {
1176 font-size: 11px;
1177 font-weight: 500;
1178 background: rgba(255, 255, 255, 0.05);
1179 border: 1px solid rgba(255, 255, 255, 0.08);
1180 padding: 3px 8px;
1181 border-radius: 6px;
1182 color: #94a3b8;
1183 display: inline-flex;
1184 align-items: center;
1185 gap: 5px;
1186 }
1187
1188 .pagelayer-ai-meta-item i {
1189 color: #818cf8;
1190 }
1191
1192 /* Collapsible Shortcode Drawer */
1193 .pagelayer-ai-shortcode-drawer {
1194 margin-top: 8px;
1195 background: rgba(15, 23, 42, 0.8);
1196 border: 1px solid rgba(255, 255, 255, 0.08);
1197 border-radius: 8px;
1198 overflow: hidden;
1199 transition: border-color 0.2s;
1200 }
1201
1202 .pagelayer-ai-shortcode-drawer:hover {
1203 border-color: rgba(255, 255, 255, 0.16);
1204 }
1205
1206 .pagelayer-ai-shortcode-drawer summary {
1207 padding: 6px 10px;
1208 font-size: 11px;
1209 font-weight: 600;
1210 color: #94a3b8;
1211 cursor: pointer;
1212 user-select: none;
1213 display: flex;
1214 align-items: center;
1215 gap: 6px;
1216 background: rgba(255, 255, 255, 0.03);
1217 transition: all 0.2s;
1218 outline: none;
1219 }
1220
1221 .pagelayer-ai-shortcode-drawer summary:hover {
1222 color: #cbd5e1;
1223 background: rgba(255, 255, 255, 0.06);
1224 }
1225
1226 .pagelayer-ai-shortcode-drawer[open] summary {
1227 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
1228 color: #a5b4fc;
1229 }
1230
1231 .pagelayer-ai-shortcode-drawer .pagelayer-ai-code-preview {
1232 margin: 0;
1233 border: none;
1234 border-radius: 0;
1235 max-height: 120px;
1236 background: transparent;
1237 }
1238
1239 .pagelayer-ai-card-actions {
1240 display: flex;
1241 flex-wrap: wrap;
1242 gap: 6px;
1243 margin-top: 6px;
1244 }
1245
1246 .pagelayer-ai-btn-sm {
1247 background: #334155;
1248 color: #f1f5f9;
1249 border: 1px solid rgba(255, 255, 255, 0.1);
1250 padding: 5px 11px;
1251 border-radius: 7px;
1252 font-size: 11.5px;
1253 font-weight: 500;
1254 cursor: pointer;
1255 display: inline-flex;
1256 align-items: center;
1257 gap: 5px;
1258 transition: all 0.2s;
1259 }
1260
1261 .pagelayer-ai-btn-sm:hover {
1262 background: #475569;
1263 color: #ffffff;
1264 }
1265
1266 .pagelayer-ai-btn-sm.primary {
1267 background: linear-gradient(135deg, #10b981 0%, #059669 100%);
1268 border: none;
1269 color: #ffffff;
1270 }
1271
1272 .pagelayer-ai-btn-sm.primary:hover {
1273 background: linear-gradient(135deg, #059669 0%, #047857 100%);
1274 box-shadow: 0 2px 8px rgba(16, 185, 129, 0.4);
1275 }
1276
1277 /* Live Loading / Shimmer State */
1278 .pagelayer-ai-loading {
1279 display: flex;
1280 align-items: center;
1281 gap: 8px;
1282 padding: 10px 14px;
1283 color: #94a3b8;
1284 font-size: 12px;
1285 }
1286
1287 .pagelayer-ai-spinner {
1288 width: 16px;
1289 height: 16px;
1290 border: 2px solid rgba(99, 102, 241, 0.2);
1291 border-top-color: #6366f1;
1292 border-radius: 50%;
1293 animation: pagelayerAiSpin 0.8s linear infinite;
1294 }
1295
1296 .pagelayer-ai-shimmer {
1297 height: 14px;
1298 background: linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.05) 100%);
1299 background-size: 200% 100%;
1300 animation: pagelayerAiShimmer 1.5s infinite;
1301 border-radius: 4px;
1302 margin: 4px 0;
1303 }
1304
1305 /* Footer / Input Area */
1306 .pagelayer-ai-footer {
1307 padding: 10px 12px 12px;
1308 background: #0f172a;
1309 border-top: 1px solid rgba(255, 255, 255, 0.08);
1310 display: flex;
1311 flex-direction: column;
1312 gap: 8px;
1313 flex-shrink: 0;
1314 }
1315
1316 .pagelayer-ai-input-row {
1317 display: flex;
1318 align-items: flex-end;
1319 gap: 8px;
1320 background: #1e293b;
1321 border: 1px solid rgba(255, 255, 255, 0.12);
1322 border-radius: 12px;
1323 padding: 9px 12px;
1324 transition: all 0.2s;
1325 }
1326
1327 .pagelayer-ai-input-row:focus-within {
1328 border-color: #818cf8;
1329 box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
1330 background: #192339;
1331 }
1332
1333 .pagelayer-ai-textarea {
1334 flex: 1;
1335 background: transparent;
1336 border: none;
1337 color: #ffffff;
1338 font-size: 13px;
1339 line-height: 1.5;
1340 resize: none;
1341 outline: none;
1342 min-height: 50px;
1343 max-height: 120px;
1344 padding: 2px 0;
1345 font-family: inherit;
1346 box-sizing: border-box;
1347 overflow-x: hidden !important;
1348 overflow-y: hidden;
1349 scrollbar-width: none !important;
1350 -ms-overflow-style: none !important;
1351 }
1352
1353 .pagelayer-ai-textarea::-webkit-scrollbar {
1354 display: none !important;
1355 width: 0 !important;
1356 height: 0 !important;
1357 }
1358
1359 .pagelayer-ai-textarea::-webkit-scrollbar-button {
1360 display: none !important;
1361 width: 0 !important;
1362 height: 0 !important;
1363 }
1364
1365 .pagelayer-ai-textarea::-webkit-resizer {
1366 display: none !important;
1367 width: 0 !important;
1368 height: 0 !important;
1369 }
1370
1371 .pagelayer-ai-textarea::placeholder {
1372 color: #64748b;
1373 }
1374
1375 .pagelayer-ai-submit-btn {
1376 background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
1377 color: #ffffff;
1378 border: none;
1379 width: 34px;
1380 height: 34px;
1381 border-radius: 9px;
1382 display: flex;
1383 align-items: center;
1384 justify-content: center;
1385 cursor: pointer;
1386 transition: all 0.2s;
1387 flex-shrink: 0;
1388 font-size: 13px;
1389 box-shadow: 0 2px 8px rgba(99, 102, 241, 0.35);
1390 margin-bottom: 2px;
1391 }
1392
1393 .pagelayer-ai-submit-btn:hover {
1394 transform: scale(1.06);
1395 background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
1396 box-shadow: 0 4px 14px rgba(99, 102, 241, 0.5);
1397 }
1398
1399 .pagelayer-ai-submit-btn:disabled {
1400 opacity: 0.5;
1401 cursor: not-allowed;
1402 transform: none;
1403 }
1404
1405 .pagelayer-ai-footer-options {
1406 display: flex;
1407 align-items: center;
1408 justify-content: space-between;
1409 font-size: 11.5px;
1410 color: #94a3b8;
1411 }
1412
1413 .pagelayer-ai-insert-select {
1414 background: #1e293b;
1415 border: 1px solid rgba(255, 255, 255, 0.12);
1416 color: #e2e8f0;
1417 font-size: 11.5px;
1418 padding: 3px 8px;
1419 border-radius: 6px;
1420 outline: none;
1421 cursor: pointer;
1422 margin-left: 4px;
1423 }
1424
1425 .pagelayer-ai-insert-select option {
1426 background: #1e293b;
1427 color: #ffffff;
1428 }
1429
1430 /* Floating Trigger Pill - Removed */
1431 .pagelayer-ai-floating-pill {
1432 display: none !important;
1433 }
1434
1435 /* Top Bar AI Icon Button */
1436 .pagelayer-header-right .pagelayer-ai-topbar-btn {
1437 cursor: pointer !important;
1438 display: inline-flex !important;
1439 align-items: center !important;
1440 justify-content: center !important;
1441 color: #c7d2fe !important;
1442 border-radius: 6px !important;
1443 width: 34px !important;
1444 height: 34px !important;
1445 margin-right: 4px !important;
1446 background: rgba(99, 102, 241, 0.18) !important;
1447 border: 1px solid rgba(99, 102, 241, 0.35) !important;
1448 transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
1449 font-size: 14px !important;
1450 }
1451
1452 .pagelayer-header-right .pagelayer-ai-topbar-btn:hover {
1453 background: rgba(99, 102, 241, 0.38) !important;
1454 border-color: rgba(99, 102, 241, 0.7) !important;
1455 color: #ffffff !important;
1456 transform: translateY(-1px) !important;
1457 box-shadow: 0 0 14px rgba(99, 102, 241, 0.5) !important;
1458 }
1459
1460 .pagelayer-header-right .pagelayer-ai-topbar-btn i {
1461 font-size: 14px !important;
1462 color: inherit !important;
1463 }
1464
1465 /* Canvas Section Adder AI Button */
1466 .pagelayer-add-circle-ai {
1467 background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;
1468 color: #ffffff !important;
1469 }
1470
1471 .pagelayer-add-circle-ai:hover {
1472 background: linear-gradient(135deg, #4f46e5 0%, #7c3aed) !important;
1473 transform: scale(1.08) !important;
1474 box-shadow: 0 4px 12px rgba(99, 102, 241, 0.45) !important;
1475 }
1476
1477 /* Live-build highlight */
1478 .pagelayer-ai-just-inserted {
1479 outline: 3px solid #6366f1;
1480 outline-offset: 2px;
1481 box-shadow: 0 0 24px rgba(99, 102, 241, 0.3);
1482 animation: pagelayerAiHighlight 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
1483 }
1484
1485 /* Animations */
1486 @keyframes pagelayerAiSpin {
1487 from { transform: rotate(0deg); }
1488 to { transform: rotate(360deg); }
1489 }
1490
1491 @keyframes pagelayerAiShimmer {
1492 0% { background-position: 200% 0; }
1493 100% { background-position: -200% 0; }
1494 }
1495
1496 @keyframes pagelayerAiFadeIn {
1497 from { opacity: 0; transform: translateY(6px); }
1498 to { opacity: 1; transform: translateY(0); }
1499 }
1500
1501 @keyframes pagelayerAiSlideIn {
1502 from { opacity: 0; transform: translateY(10px); }
1503 to { opacity: 1; transform: translateY(0); }
1504 }
1505
1506 @keyframes pagelayerAiHighlight {
1507 0% { outline-color: #6366f1; }
1508 70% { outline-color: rgba(99, 102, 241, 0.5); }
1509 100% { outline-color: transparent; box-shadow: none; }
1510 }
1511