PluginProbe
Page Builder: Pagelayer – Drag and Drop website builder / 2.2.1
Page Builder: Pagelayer – Drag and Drop website builder v2.2.1
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-abilities.css

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

759 lines 14.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 .pagelayer-ai {
2 --ab-bg: #f6f7f9;
3 --ab-surface: #ffffff;
4 --ab-border: #e5e7eb;
5 --ab-border-soft: #eef0f3;
6 --ab-text: #0f172a;
7 --ab-text-soft: #475569;
8 --ab-text-muted: #6b7280;
9 --ab-primary: #ec008c; /* Pagelayer Magenta */
10 --ab-primary-700: #d0007b;
11 --ab-primary-50: #fdf2f8;
12 --ab-success: #10b981;
13 --ab-success-bg: #ecfdf5;
14 --ab-warning: #f59e0b;
15 --ab-warning-bg: #fffbeb;
16 --ab-error: #ef4444;
17 --ab-error-bg: #fef2f2;
18 --ab-neutral: #6b7280;
19 --ab-neutral-bg: #f1f5f9;
20 --ab-code-bg: #0f172a;
21 --ab-code-text: #e2e8f0;
22 --ab-radius: 10px;
23 --ab-radius-sm: 8px;
24 --ab-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
25 --ab-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
26 margin: 10px 0 40px;
27 padding: 10px 20px 40px 20px;
28 color: var(--ab-text);
29 font-size: 14px;
30 line-height: 1.55;
31 }
32
33 /* ----- Page header ----- */
34 .pagelayer-ai-header {
35 display: flex;
36 align-items: flex-start;
37 justify-content: space-between;
38 gap: 24px;
39 flex-wrap: wrap;
40 margin: 0 0 24px;
41 }
42
43 .pagelayer-ai-header-text {
44 flex: 1 1 360px;
45 min-width: 0;
46 }
47
48 .pagelayer-ai-crumbs {
49 display: flex;
50 align-items: center;
51 gap: 6px;
52 font-size: 12px;
53 color: var(--ab-text-muted);
54 margin: 0 0 6px;
55 }
56
57 .pagelayer-ai-title {
58 margin: 0 0 6px;
59 font-size: 26px;
60 font-weight: 700;
61 color: var(--ab-text);
62 letter-spacing: -0.01em;
63 }
64
65 .pagelayer-ai-subtitle {
66 margin: 0;
67 color: var(--ab-text-soft);
68 font-size: 14px;
69 }
70
71 /* ----- Layout ----- */
72 .pagelayer-ai-layout {
73 display: grid;
74 grid-template-columns: minmax(0, 1fr) 280px;
75 gap: 22px;
76 align-items: start;
77 }
78
79 /* ----- Card ----- */
80 .pagelayer-ai-card {
81 background: var(--ab-surface);
82 border: 1px solid var(--ab-border);
83 border-radius: var(--ab-radius);
84 box-shadow: var(--ab-shadow);
85 padding: 22px 24px;
86 margin-bottom: 18px;
87 }
88
89 .pagelayer-ai-card-head {
90 display: flex;
91 align-items: baseline;
92 justify-content: space-between;
93 gap: 16px;
94 margin-bottom: 16px;
95 }
96
97 .pagelayer-ai-h2 {
98 margin: 0;
99 font-size: 17px;
100 font-weight: 700;
101 color: var(--ab-text);
102 }
103
104 .pagelayer-ai-h3 {
105 margin: 0 0 10px;
106 font-size: 13px;
107 font-weight: 700;
108 color: var(--ab-text);
109 text-transform: uppercase;
110 letter-spacing: 0.04em;
111 }
112
113 .pagelayer-ai-meta {
114 font-size: 12px;
115 color: var(--ab-text-muted);
116 }
117
118 /* ----- Pills (shared) ----- */
119 .pagelayer-ai-pill {
120 display: inline-flex;
121 align-items: center;
122 gap: 5px;
123 padding: 3px 9px;
124 font-size: 11px;
125 font-weight: 600;
126 border-radius: 999px;
127 line-height: 1.4;
128 white-space: nowrap;
129 }
130
131 .pagelayer-ai-pill-success { background: var(--ab-success-bg); color: var(--ab-success); }
132 .pagelayer-ai-pill-warning { background: var(--ab-warning-bg); color: var(--ab-warning); }
133 .pagelayer-ai-pill-error { background: var(--ab-error-bg); color: var(--ab-error); }
134 .pagelayer-ai-pill-neutral { background: var(--ab-neutral-bg); color: var(--ab-neutral); }
135
136 /* ----- Stepper ----- */
137 .pagelayer-ai-stepper {
138 position: relative;
139 display: grid;
140 grid-template-columns: repeat(4, 1fr);
141 gap: 8px;
142 margin: 4px 0 14px;
143 }
144
145 .pagelayer-ai-stepper-track {
146 position: absolute;
147 left: 12.5%;
148 right: 12.5%;
149 top: 13px;
150 height: 3px;
151 background: var(--ab-border);
152 border-radius: 999px;
153 z-index: 0;
154 }
155
156 .pagelayer-ai-stepper-fill {
157 display: block;
158 height: 100%;
159 background: var(--ab-success);
160 border-radius: 999px;
161 transition: width 0.3s ease;
162 }
163
164 .pagelayer-ai-stepper-node {
165 position: relative;
166 z-index: 1;
167 display: flex;
168 flex-direction: column;
169 align-items: center;
170 gap: 6px;
171 }
172
173 .pagelayer-ai-stepper-circle {
174 display: inline-flex;
175 align-items: center;
176 justify-content: center;
177 width: 28px;
178 height: 28px;
179 border-radius: 50%;
180 background: var(--ab-surface);
181 border: 2px solid var(--ab-border);
182 color: var(--ab-text-muted);
183 font-size: 12px;
184 font-weight: 700;
185 }
186
187 .pagelayer-ai-stepper-node-done .pagelayer-ai-stepper-circle {
188 background: var(--ab-success);
189 border-color: var(--ab-success);
190 color: #fff;
191 }
192
193 .pagelayer-ai-stepper-label {
194 font-size: 11.5px;
195 color: var(--ab-text-muted);
196 font-weight: 600;
197 text-align: center;
198 }
199
200 .pagelayer-ai-stepper-node-done .pagelayer-ai-stepper-label { color: var(--ab-text); }
201
202 .pagelayer-ai-nextup {
203 margin: 0 0 16px;
204 font-size: 13px;
205 color: var(--ab-text-muted);
206 }
207
208 .pagelayer-ai-nextup-done {
209 color: var(--ab-success);
210 }
211
212 /* ----- Step rows (accordion) ----- */
213 .pagelayer-ai-rows {
214 display: flex;
215 flex-direction: column;
216 gap: 10px;
217 }
218
219 .pagelayer-ai-row {
220 border: 1px solid var(--ab-border);
221 border-radius: var(--ab-radius-sm);
222 background: var(--ab-surface);
223 overflow: hidden;
224 transition: border-color 0.15s ease;
225 }
226
227 .pagelayer-ai-row:hover { border-color: #cbd5e1; }
228 .pagelayer-ai-row-done { border-color: #bbf7d0; background: #fbfffd; }
229
230 .pagelayer-ai-row-toggle {
231 display: grid;
232 grid-template-columns: 32px 1fr auto;
233 gap: 14px;
234 align-items: center;
235 width: 100%;
236 background: transparent;
237 border: 0;
238 padding: 14px 16px;
239 text-align: left;
240 cursor: pointer;
241 color: inherit;
242 font: inherit;
243 }
244
245 .pagelayer-ai-row-toggle:focus {
246 outline: 2px solid var(--ab-primary-50);
247 outline-offset: -2px;
248 }
249
250 .pagelayer-ai-row-indicator {
251 width: 28px;
252 height: 28px;
253 display: inline-flex;
254 align-items: center;
255 justify-content: center;
256 border-radius: 50%;
257 background: var(--ab-neutral-bg);
258 color: var(--ab-text-soft);
259 font-size: 12px;
260 font-weight: 700;
261 border: 1px solid var(--ab-border);
262 }
263
264 .pagelayer-ai-row-done .pagelayer-ai-row-indicator {
265 background: var(--ab-success);
266 color: #fff;
267 border-color: var(--ab-success);
268 }
269
270 .pagelayer-ai-row-text { min-width: 0; }
271
272 .pagelayer-ai-row-title {
273 display: block;
274 font-size: 14px;
275 font-weight: 600;
276 color: var(--ab-text);
277 line-height: 1.3;
278 }
279
280 .pagelayer-ai-row-sub {
281 display: block;
282 font-size: 12px;
283 color: var(--ab-text-muted);
284 margin-top: 2px;
285 }
286
287 .pagelayer-ai-row-body {
288 padding: 0 16px 16px 60px;
289 font-size: 13.5px;
290 color: var(--ab-text-soft);
291 border-top: 1px dashed var(--ab-border);
292 margin-top: -1px;
293 }
294
295 .pagelayer-ai-row-body > p:first-child { margin-top: 14px; }
296 .pagelayer-ai-row-body > p:last-child { margin-bottom: 0; }
297
298 .pagelayer-ai-row-body[hidden],
299 .pagelayer-ai-row-body[style*="display:none"] {
300 padding: 0 16px;
301 }
302
303 .pagelayer-ai-btn { margin-top: 10px; }
304
305 /* ----- Inline feedback ----- */
306 .pagelayer-ai-feedback {
307 display: none;
308 margin-top: 10px;
309 padding: 8px 12px;
310 border-radius: var(--ab-radius-sm);
311 font-size: 13px;
312 line-height: 1.45;
313 }
314
315 .pagelayer-ai-feedback[hidden] { display: none; }
316
317 .pagelayer-ai-feedback.is-success {
318 display: block;
319 background: var(--ab-success-bg);
320 color: var(--ab-success);
321 border: 1px solid #bbf7d0;
322 }
323
324 .pagelayer-ai-feedback.is-error {
325 display: block;
326 background: var(--ab-error-bg);
327 color: var(--ab-error);
328 border: 1px solid #fecaca;
329 }
330
331 /* ----- App password fields ----- */
332 .pagelayer-ai-app-pass-fields {
333 display: flex;
334 flex-wrap: wrap;
335 gap: 12px;
336 margin: 12px 0 14px;
337 padding: 14px;
338 background: var(--ab-neutral-bg);
339 border: 1px solid var(--ab-border);
340 border-radius: var(--ab-radius-sm);
341 }
342
343 .pagelayer-ai-app-pass-fields[data-hidden="true"] { display: none; }
344
345 .pagelayer-ai-field {
346 flex: 1;
347 min-width: 220px;
348 display: flex;
349 flex-direction: column;
350 font-size: 12px;
351 color: var(--ab-text-soft);
352 font-weight: 600;
353 }
354
355 .pagelayer-ai-field span { margin-bottom: 4px; }
356
357 .pagelayer-ai-field input {
358 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
359 font-size: 13px;
360 padding: 6px 10px;
361 border: 1px solid var(--ab-border);
362 border-radius: 6px;
363 background: #fff;
364 }
365
366 .pagelayer-ai-profile-link {
367 align-self: flex-end;
368 font-size: 12px;
369 color: var(--ab-primary);
370 text-decoration: none;
371 }
372
373 .pagelayer-ai-profile-link:hover { text-decoration: underline; }
374
375 /* ----- Test result ----- */
376 .pagelayer-ai-test-result {
377 margin-top: 12px;
378 padding: 10px 14px;
379 border-radius: var(--ab-radius-sm);
380 font-size: 13px;
381 line-height: 1.45;
382 }
383
384 .pagelayer-ai-test-result[data-hidden="true"] { display: none; }
385
386 .pagelayer-ai-test-result-ok {
387 background: var(--ab-success-bg);
388 border: 1px solid #bbf7d0;
389 color: var(--ab-success);
390 }
391
392 .pagelayer-ai-test-result-error {
393 background: var(--ab-error-bg);
394 border: 1px solid #fecaca;
395 color: var(--ab-error);
396 }
397
398 /* ----- Abilities list (step 1) ----- */
399 .pagelayer-ai-list {
400 display: grid;
401 grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
402 gap: 12px;
403 margin-top: 10px;
404 }
405
406 .pagelayer-ai-group {
407 background: var(--ab-neutral-bg);
408 border: 1px solid var(--ab-border);
409 border-radius: var(--ab-radius-sm);
410 padding: 12px 14px;
411 }
412
413 .pagelayer-ai-group h4 {
414 margin: 0 0 8px;
415 font-size: 11px;
416 color: var(--ab-text-muted);
417 text-transform: uppercase;
418 letter-spacing: 0.04em;
419 font-weight: 700;
420 }
421
422 .pagelayer-ai-group ul {
423 margin: 0;
424 padding: 0;
425 list-style: none;
426 }
427
428 .pagelayer-ai-group li {
429 padding: 8px 0;
430 border-top: 1px solid var(--ab-border);
431 font-size: 12.5px;
432 }
433
434 .pagelayer-ai-group li:first-child { border-top: 0; padding-top: 0; }
435
436 .pagelayer-ai-ability-name {
437 display: block;
438 font-weight: 600;
439 color: var(--ab-text);
440 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
441 font-size: 12px;
442 }
443
444 .pagelayer-ai-ability-desc {
445 display: block;
446 color: var(--ab-text-muted);
447 margin-top: 2px;
448 font-size: 12px;
449 }
450
451 /* ----- Segmented client tabs ----- */
452 .pagelayer-ai-segmented {
453 display: flex;
454 flex-wrap: wrap;
455 gap: 4px;
456 background: var(--ab-neutral-bg);
457 border: 1px solid var(--ab-border);
458 border-radius: var(--ab-radius-sm);
459 padding: 4px;
460 margin: 4px 0 18px;
461 }
462
463 .pagelayer-ai-segmented-btn {
464 background: transparent;
465 border: 0;
466 padding: 7px 14px;
467 font-size: 12.5px;
468 font-weight: 600;
469 color: var(--ab-text-muted);
470 border-radius: 6px;
471 cursor: pointer;
472 transition: background 0.15s ease, color 0.15s ease;
473 }
474
475 .pagelayer-ai-segmented-btn:hover { color: var(--ab-text); }
476
477 .pagelayer-ai-segmented-btn.active {
478 background: var(--ab-surface);
479 color: var(--ab-primary);
480 box-shadow: var(--ab-shadow);
481 }
482
483 .pagelayer-ai-segmented-btn:disabled,
484 .pagelayer-ai-segmented-btn[aria-disabled="true"] {
485 opacity: 0.5;
486 cursor: not-allowed;
487 }
488
489 /* ----- Client panel ----- */
490 .pagelayer-ai-client-panel {
491 background: var(--ab-neutral-bg);
492 border: 1px solid var(--ab-border);
493 border-radius: var(--ab-radius-sm);
494 padding: 16px;
495 }
496
497 .pagelayer-ai-client-meta {
498 display: flex;
499 flex-wrap: wrap;
500 gap: 8px;
501 align-items: center;
502 margin-bottom: 10px;
503 font-size: 12px;
504 }
505
506 .pagelayer-ai-client-path-label {
507 color: var(--ab-text-muted);
508 font-weight: 600;
509 text-transform: uppercase;
510 letter-spacing: 0.04em;
511 font-size: 10.5px;
512 }
513
514 .pagelayer-ai-client-path-value {
515 background: #fff;
516 border-radius: 6px;
517 padding: 4px 10px;
518 color: var(--ab-text-soft);
519 white-space: pre-wrap;
520 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
521 font-size: 12px;
522 border: 1px solid var(--ab-border-soft);
523 }
524
525 /* ----- Snippet ----- */
526 .pagelayer-ai-snippet-wrap {
527 border-radius: var(--ab-radius-sm);
528 overflow: hidden;
529 border: 1px solid #1e293b;
530 background: var(--ab-code-bg);
531 margin-bottom: 14px;
532 box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15);
533 }
534
535 .pagelayer-ai-snippet-header {
536 display: flex;
537 align-items: center;
538 justify-content: space-between;
539 padding: 8px 14px;
540 background: #1e293b;
541 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
542 }
543
544 .pagelayer-ai-snippet-title {
545 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
546 font-size: 11px;
547 font-weight: 700;
548 color: #94a3b8;
549 text-transform: uppercase;
550 letter-spacing: 0.05em;
551 display: flex;
552 align-items: center;
553 gap: 6px;
554 }
555
556 .pagelayer-ai-snippet {
557 display: block;
558 background: var(--ab-code-bg);
559 color: var(--ab-code-text);
560 padding: 16px 18px;
561 overflow: auto;
562 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
563 font-size: 13px;
564 line-height: 1.55;
565 white-space: pre-wrap;
566 word-break: break-all;
567 margin: 0;
568 min-height: 54px;
569 max-height: 360px;
570 tab-size: 2;
571 border: none;
572 border-radius: 0;
573 }
574
575 .pagelayer-ai-snippet.unsupported { opacity: 0.65; }
576
577 .pagelayer-ai-copy-btn {
578 display: inline-flex;
579 align-items: center;
580 gap: 6px;
581 padding: 5px 12px;
582 font-size: 12px;
583 font-weight: 600;
584 white-space: nowrap;
585 color: #e2e8f0;
586 background: rgba(255, 255, 255, 0.08);
587 border: 1px solid rgba(255, 255, 255, 0.16);
588 border-radius: 6px;
589 cursor: pointer;
590 transition: background 0.15s ease, border-color 0.15s ease;
591 }
592
593 .pagelayer-ai-copy-btn:hover { background: rgba(255, 255, 255, 0.18); color: #fff; border-color: rgba(255, 255, 255, 0.3); }
594 .pagelayer-ai-copy-btn:focus { outline: 2px solid var(--ab-primary-50); outline-offset: 1px; }
595
596 .pagelayer-ai-copy-btn.is-copied {
597 background: var(--ab-success);
598 border-color: var(--ab-success);
599 color: #fff;
600 }
601
602 .pagelayer-ai-copy-btn:disabled { opacity: 0.5; cursor: not-allowed; }
603
604 /* ----- Instructions ----- */
605 .pagelayer-ai-instructions {
606 margin: 0;
607 padding-left: 22px;
608 color: var(--ab-text-soft);
609 font-size: 13px;
610 counter-reset: abstep;
611 list-style: none;
612 }
613
614 .pagelayer-ai-instructions li {
615 position: relative;
616 margin-bottom: 6px;
617 padding-left: 4px;
618 line-height: 1.55;
619 counter-increment: abstep;
620 }
621
622 .pagelayer-ai-instructions li::before {
623 content: counter(abstep);
624 position: absolute;
625 left: -22px;
626 top: 1px;
627 width: 18px;
628 height: 18px;
629 display: inline-flex;
630 align-items: center;
631 justify-content: center;
632 background: var(--ab-primary-50);
633 color: var(--ab-primary);
634 border-radius: 50%;
635 font-size: 10px;
636 font-weight: 700;
637 }
638
639 /* ----- Sidebar ----- */
640 .pagelayer-ai-side {
641 display: flex;
642 flex-direction: column;
643 gap: 16px;
644 position: sticky;
645 top: 16px;
646 }
647
648 .pagelayer-ai-side-card { padding: 18px 20px; }
649
650 .pagelayer-ai-side-desc {
651 font-size: 12px;
652 color: var(--ab-text-muted);
653 line-height: 1.5;
654 margin: 0 0 10px;
655 }
656
657 .pagelayer-ai-side-card .pagelayer-ai-field { margin-bottom: 10px; min-width: 0; }
658
659 .pagelayer-ai-side-card .pagelayer-ai-h3 {
660 margin-bottom: 12px;
661 border-bottom: 1px solid var(--ab-border-soft);
662 padding-bottom: 8px;
663 }
664
665 .pagelayer-ai-tip-list,
666 .pagelayer-ai-resource-list {
667 list-style: none;
668 margin: 0;
669 padding: 0;
670 }
671
672 .pagelayer-ai-tip-list li {
673 position: relative;
674 padding: 6px 0 6px 22px;
675 font-size: 13px;
676 color: var(--ab-text-soft);
677 line-height: 1.55;
678 }
679
680 .pagelayer-ai-tip-list li::before {
681 content: "";
682 position: absolute;
683 left: 4px;
684 top: 13px;
685 width: 6px;
686 height: 6px;
687 background: var(--ab-primary);
688 border-radius: 50%;
689 }
690
691 .pagelayer-ai-resource-list li {
692 padding: 8px 0;
693 border-top: 1px solid var(--ab-border-soft);
694 }
695
696 .pagelayer-ai-resource-list li:first-child { border-top: 0; padding-top: 0; }
697
698 .pagelayer-ai-resource-list a {
699 display: block;
700 color: var(--ab-text);
701 font-size: 13px;
702 font-weight: 600;
703 text-decoration: none;
704 }
705
706 .pagelayer-ai-resource-list a:hover { color: var(--ab-primary); }
707
708 .pagelayer-ai-resource-sub {
709 display: block;
710 color: var(--ab-text-muted);
711 font-size: 12px;
712 margin-top: 2px;
713 }
714
715 /* ----- Status list (sidebar) ----- */
716 .pagelayer-ai-status-list {
717 margin: 0;
718 padding: 0;
719 display: flex;
720 flex-direction: column;
721 gap: 10px;
722 }
723
724 .pagelayer-ai-status-list > div {
725 display: flex;
726 align-items: center;
727 justify-content: space-between;
728 gap: 10px;
729 }
730
731 .pagelayer-ai-status-list dt {
732 margin: 0;
733 font-size: 12.5px;
734 color: var(--ab-text-soft);
735 font-weight: 500;
736 }
737
738 .pagelayer-ai-status-list dd {
739 margin: 0;
740 }
741
742 .pagelayer-deprecated-badge {
743 background-color: #ffebee;
744 color: #c62828;
745 font-size: 8px;
746 padding: 2px 6px;
747 border-radius: 4px;
748 text-transform: uppercase;
749 font-weight: bold;
750 border: 1px solid #ef9a9a;
751 display: inline-block;
752 vertical-align: middle;
753 }
754
755 .pagelayer-ai-empty {
756 font-style: italic;
757 color: var(--ab-text-muted);
758 }
759