PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.3.9
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.3.9
4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 4.2.0 4.2.1 All 138 releases
learnpress / assets / css / frontend / ai-assistant.css

ai-assistant.css in LearnPress – WordPress LMS Plugin for Create and Sell Online Courses 4.3.9, at assets/css/frontend/ai-assistant.css

486 lines 11.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * LP AI Assistant - frontend sidebar styles.
3 *
4 * @since 4.3.0
5 * @version 1.1.0
6 */
7 :root {
8 --lp-cotainer-max-with: var(--lp-container-max-width);
9 }
10
11 .wp-block-group {
12 --lp-container-max-width: var(--wp--style--global--wide-size);
13 }
14
15 .lp-footer-launchers {
16 position: fixed;
17 top: 50%;
18 right: 1.5rem;
19 z-index: 9999;
20 display: flex;
21 flex-direction: column;
22 gap: 12px;
23 transform: translateY(-50%);
24 box-sizing: border-box;
25 }
26 .lp-footer-launchers > * {
27 width: 100%;
28 }
29
30 .lp-ai-assistant {
31 position: fixed;
32 top: 0;
33 right: 0;
34 bottom: 0;
35 z-index: 9999;
36 pointer-events: none;
37 font-family: inherit;
38 }
39 .lp-ai-assistant__toggle.is-hidden {
40 opacity: 0;
41 pointer-events: none;
42 transform: translateY(8px) scale(0.96);
43 }
44 .lp-ai-assistant__toggle {
45 display: inline-flex;
46 align-items: center;
47 justify-content: center;
48 width: 58px;
49 height: 58px;
50 min-height: 58px;
51 padding: 0;
52 border: 0;
53 gap: 0;
54 border-radius: 50%;
55 background: var(--lp-primary-color, #ffb606);
56 color: var(--lp-color-white, #fff);
57 cursor: pointer;
58 pointer-events: auto;
59 font-size: 0;
60 line-height: 0;
61 transition: transform 0.18s ease, opacity 0.18s ease;
62 box-sizing: border-box;
63 position: relative;
64 }
65 .lp-ai-assistant__toggle .lp-icon {
66 font-size: 24px; /* Adjust size as needed */
67 line-height: 1;
68 display: inline-block;
69 width: auto;
70 height: auto;
71 }
72 .lp-ai-assistant__toggle:hover, .lp-ai-assistant__toggle:focus-visible {
73 transform: translateY(-1px);
74 outline: none;
75 background: var(--lp-primary-color, #ffb606);
76 }
77 .lp-ai-assistant__toggle:hover .lp-ai-assistant__toggle-label, .lp-ai-assistant__toggle:focus-visible .lp-ai-assistant__toggle-label {
78 opacity: 1;
79 visibility: visible;
80 transform: translateY(-50%) translateX(0);
81 }
82 .lp-ai-assistant__toggle-label {
83 position: absolute;
84 top: 50%;
85 right: calc(100% + 10px);
86 padding: 6px 10px;
87 border-radius: 8px;
88 background: rgba(17, 24, 39, 0.96);
89 color: #fff;
90 font-size: 12px;
91 font-weight: 500;
92 line-height: 1.2;
93 white-space: nowrap;
94 pointer-events: none;
95 opacity: 0;
96 visibility: hidden;
97 transform: translateY(-50%) translateX(6px);
98 transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
99 z-index: 2;
100 }
101 .lp-ai-assistant__toggle-label::after {
102 content: "";
103 position: absolute;
104 top: 50%;
105 left: 100%;
106 width: 0;
107 height: 0;
108 border-top: 5px solid transparent;
109 border-bottom: 5px solid transparent;
110 border-left: 6px solid rgba(17, 24, 39, 0.96);
111 transform: translateY(-50%);
112 }
113 .lp-ai-assistant__toggle-icon, .lp-ai-assistant__icon {
114 display: inline-flex;
115 align-items: center;
116 justify-content: center;
117 line-height: 0;
118 flex-shrink: 0;
119 }
120 .lp-ai-assistant__panel {
121 position: fixed;
122 top: 24px;
123 right: 0;
124 bottom: 0;
125 width: min(410px, 100vw - 1rem);
126 display: flex;
127 flex-direction: column;
128 background: var(--lp-color-white, #fff);
129 border-left: 1px solid var(--lp-border-color, #E2E0DB);
130 box-shadow: -18px 0 40px rgba(68, 46, 102, 0.14);
131 pointer-events: auto;
132 animation: lp-ai-panel-in 0.22s ease;
133 }
134 .lp-ai-assistant__panel[hidden] {
135 display: none;
136 }
137 .lp-ai-assistant__header {
138 display: flex;
139 align-items: center;
140 justify-content: space-between;
141 gap: 12px;
142 padding: 28px 20px;
143 background: linear-gradient(135deg, #b042ff 0%, #6b46ff 50%, #19a7ff 100%);
144 color: var(--lp-color-white, #fff);
145 flex-shrink: 0;
146 }
147 .lp-ai-assistant__title {
148 flex: 1;
149 min-width: 0;
150 margin: 0;
151 font-size: 1.25rem;
152 font-weight: 600;
153 line-height: 1.25;
154 color: inherit;
155 }
156 .lp-ai-assistant__header-actions {
157 display: flex;
158 align-items: center;
159 gap: 8px;
160 }
161 .lp-ai-assistant__clear-btn, .lp-ai-assistant__close-btn {
162 display: inline-flex;
163 align-items: center;
164 justify-content: center;
165 width: 24px;
166 height: 24px;
167 padding: 0;
168 border: 0;
169 background: transparent;
170 color: var(--lp-color-white, #fff);
171 cursor: pointer;
172 transition: opacity 0.12s ease, transform 0.12s ease;
173 }
174 .lp-ai-assistant__clear-btn svg, .lp-ai-assistant__close-btn svg {
175 width: 24px;
176 height: 24px;
177 }
178 .lp-ai-assistant__clear-btn:hover, .lp-ai-assistant__clear-btn:focus-visible, .lp-ai-assistant__close-btn:hover, .lp-ai-assistant__close-btn:focus-visible {
179 color: var(--lp-primary-color, #ffb606);
180 transform: translateY(-1px);
181 outline: none;
182 }
183 .lp-ai-assistant__panel-body {
184 display: flex;
185 flex: 1;
186 flex-direction: column;
187 min-height: 0;
188 background: var(--lp-white-grey, #F7F7FB);
189 }
190 .lp-ai-assistant__messages-wrap {
191 flex: 1;
192 min-height: 0;
193 padding: 16px 12px 8px;
194 background: var(--lp-white-grey, #F7F7FB);
195 }
196 .lp-ai-assistant__messages {
197 display: flex;
198 flex-direction: column;
199 gap: 16px;
200 height: 100%;
201 padding-right: 8px;
202 overflow-y: auto;
203 scrollbar-width: thin;
204 scrollbar-color: rgba(68, 46, 102, 0.18) transparent;
205 }
206 .lp-ai-assistant__messages::-webkit-scrollbar {
207 width: 6px;
208 }
209 .lp-ai-assistant__messages::-webkit-scrollbar-track {
210 background: transparent;
211 }
212 .lp-ai-assistant__messages::-webkit-scrollbar-thumb {
213 border-radius: 999px;
214 background: rgba(68, 46, 102, 0.18);
215 box-shadow: inset 0 0 0 1px rgba(68, 46, 102, 0.08);
216 }
217 .lp-ai-assistant__msg {
218 display: flex;
219 flex-direction: column;
220 gap: 4px;
221 max-width: 100%;
222 }
223 .lp-ai-assistant__msg--user {
224 align-items: flex-end;
225 }
226 .lp-ai-assistant__msg--assistant {
227 align-items: flex-start;
228 }
229 .lp-ai-assistant__msg-label {
230 font-size: 1rem;
231 font-weight: 500;
232 line-height: 1.2;
233 color: #999;
234 }
235 .lp-ai-assistant__msg-text {
236 max-width: 100%;
237 margin: 0;
238 padding: 12px;
239 font-size: 1rem;
240 line-height: 1.55;
241 word-break: break-word;
242 white-space: pre-wrap;
243 }
244 .lp-ai-assistant__msg--user .lp-ai-assistant__msg-text {
245 max-width: calc(410px - 5rem);
246 background: #6b46ff;
247 color: var(--lp-color-white, #fff);
248 border-radius: 16px 16px 4px 16px;
249 }
250 .lp-ai-assistant__msg--assistant .lp-ai-assistant__msg-text {
251 max-width: calc(410px - 5rem);
252 background: var(--lp-color-white, #fff);
253 color: var(--lp-color-base, #333);
254 border-radius: 16px 16px 16px 4px;
255 }
256 .lp-ai-assistant__panel-footer {
257 padding: 20px;
258 background: var(--lp-color-white, #fff);
259 border-top: 1px solid var(--lp-border-color, #E2E0DB);
260 flex-shrink: 0;
261 }
262 .lp-ai-assistant__quick-actions {
263 display: grid;
264 grid-template-columns: repeat(3, 1fr);
265 gap: 8px;
266 margin-bottom: 16px;
267 }
268 .lp-ai-assistant__quick-actions--disabled {
269 opacity: 0.5;
270 pointer-events: none;
271 }
272 #lp-ai-assistant .lp-ai-assistant__quick-btn {
273 display: inline-flex;
274 align-items: center;
275 justify-content: center;
276 width: 100%;
277 min-height: 37px;
278 margin: 0;
279 padding: 8px 12px;
280 border: 1px solid var(--lp-color-base, #333);
281 border-radius: 6px;
282 background: var(--lp-color-white, #fff);
283 box-shadow: none;
284 color: var(--lp-color-base, #333);
285 font-size: 0.875rem;
286 font-weight: 500;
287 line-height: 1.25;
288 text-transform: none;
289 white-space: nowrap;
290 transition: border-color 0.12s ease, background-color 0.12s ease, color 0.12s ease, transform 0.12s ease;
291 }
292 #lp-ai-assistant .lp-ai-assistant__quick-btn:hover, #lp-ai-assistant .lp-ai-assistant__quick-btn:focus-visible {
293 color: var(--lp-primary-color, #ffb606);
294 border-color: var(--lp-primary-color, #ffb606);
295 }
296 .lp-ai-assistant #lp-ai-assistant [data-lp-ai-action=explain],
297 .lp-ai-assistant #lp-ai-assistant .lp-ai-assistant__smart-review-btn {
298 border-color: var(--lp-primary-color, #ffb606);
299 color: var(--lp-primary-color, #ffb606);
300 }
301 .lp-ai-assistant__input-area {
302 background: var(--lp-color-white, #fff);
303 }
304 .lp-ai-assistant__input-area--hidden {
305 display: none;
306 }
307 .lp-ai-assistant__composer {
308 display: flex;
309 align-items: flex-end;
310 gap: 8px;
311 width: 100%;
312 padding: 8px 12px;
313 border: 1px solid var(--lp-border-color, #E2E0DB);
314 border-radius: 6px;
315 background: var(--lp-color-white, #fff);
316 }
317 .lp-ai-assistant__input {
318 flex: 1;
319 min-height: 24px;
320 max-height: 120px;
321 padding: 0;
322 border: 0;
323 background: transparent;
324 color: var(--lp-color-base, #333);
325 font-size: 1rem;
326 font-family: inherit;
327 line-height: 1.5;
328 resize: none;
329 }
330 .lp-ai-assistant__input::placeholder {
331 color: #999;
332 }
333 .lp-ai-assistant__input:focus {
334 outline: none;
335 box-shadow: none;
336 }
337 .lp-ai-assistant__input:disabled {
338 opacity: 0.6;
339 }
340 .lp-ai-assistant__send-btn {
341 display: inline-flex;
342 align-items: center;
343 justify-content: center;
344 width: 24px;
345 height: 24px;
346 padding: 0;
347 border: 0;
348 background: transparent;
349 color: var(--lp-color-base, #333);
350 cursor: pointer;
351 flex-shrink: 0;
352 transition: color 0.12s ease, transform 0.12s ease, opacity 0.12s ease;
353 }
354 .lp-ai-assistant__send-btn:hover, .lp-ai-assistant__send-btn:focus-visible {
355 color: var(--lp-primary-color, #ffb606);
356 transform: translateX(1px);
357 outline: none;
358 }
359 .lp-ai-assistant__send-btn:hover svg path, .lp-ai-assistant__send-btn:focus-visible svg path {
360 stroke: var(--lp-primary-color, #ffb606);
361 }
362 .lp-ai-assistant__send-btn:disabled {
363 opacity: 0.5;
364 cursor: not-allowed;
365 }
366 .lp-ai-assistant__quiz-card {
367 display: flex;
368 flex-direction: column;
369 gap: 12px;
370 padding: 16px;
371 border: 1px solid var(--lp-border-color, #E2E0DB);
372 border-radius: 14px;
373 background: var(--lp-color-white, #fff);
374 box-shadow: 0 12px 30px rgba(68, 46, 102, 0.06);
375 }
376 .lp-ai-assistant__quiz-card--review {
377 border-color: var(--lp-border-color, #E2E0DB);
378 background: rgba(255, 255, 255, 0.96);
379 }
380 .lp-ai-assistant__quiz-head {
381 font-size: 0.6875rem;
382 font-weight: 700;
383 line-height: 1.2;
384 color: var(--lp-color-meta, #8a8a8a);
385 text-transform: uppercase;
386 letter-spacing: 0.04em;
387 }
388 .lp-ai-assistant__quiz-question {
389 font-size: 0.8125rem;
390 font-weight: 600;
391 line-height: 1.45;
392 color: var(--lp-color-base, #333);
393 }
394 .lp-ai-assistant__quiz-options {
395 display: grid;
396 grid-template-columns: 1fr;
397 gap: 8px;
398 }
399 .lp-ai-assistant__quiz-option {
400 padding: 8px 12px;
401 text-align: left;
402 border: 1px solid var(--lp-border-color, #E2E0DB);
403 border-radius: 8px;
404 background: var(--lp-color-white, #fff);
405 color: var(--lp-color-base, #333);
406 cursor: pointer;
407 font-size: 0.75rem;
408 line-height: 1.4;
409 transition: border-color 0.12s ease, background-color 0.12s ease, color 0.12s ease;
410 }
411 .lp-ai-assistant__quiz-option:hover, .lp-ai-assistant__quiz-option:focus-visible {
412 border-color: var(--lp-primary-color, #ffb606);
413 background: rgba(255, 182, 6, 0.08);
414 outline: none;
415 }
416 .lp-ai-assistant__quiz-option.is-selected-wrong {
417 border-color: #ef4444;
418 background: #fdecec;
419 color: #b42318;
420 font-weight: 600;
421 }
422 .lp-ai-assistant__quiz-option.is-correct-answer, .lp-ai-assistant__quiz-option.is-selected-correct {
423 border-color: #22c55e;
424 background: #e8f8ef;
425 color: #166534;
426 font-weight: 600;
427 }
428 .lp-ai-assistant__quiz-option:disabled {
429 cursor: default;
430 }
431 .lp-ai-assistant__quiz-card--review .lp-ai-assistant__quiz-option:hover, .lp-ai-assistant__quiz-card--review .lp-ai-assistant__quiz-option:focus-visible {
432 background: inherit;
433 outline: none;
434 }
435 .lp-ai-assistant__quiz-feedback {
436 padding: 8px 12px;
437 border-radius: 8px;
438 font-size: 0.75rem;
439 line-height: 1.45;
440 }
441 .lp-ai-assistant__quiz-feedback.is-correct {
442 background: #e9f7ef;
443 color: #1f6b40;
444 }
445 .lp-ai-assistant__quiz-feedback.is-wrong {
446 background: #fdeeee;
447 color: #a63535;
448 }
449 .lp-ai-assistant__icon--send {
450 transform: rotate(-8deg);
451 }
452 .lp-ai-assistant .lp-ai-assistant-panel--quick-only .lp-ai-assistant__quick-actions {
453 padding-bottom: 16px;
454 }
455
456 @keyframes lp-ai-panel-in {
457 from {
458 opacity: 0;
459 transform: translateX(18px);
460 }
461 to {
462 opacity: 1;
463 transform: translateX(0);
464 }
465 }
466 @keyframes lp-ai-panel-in-mobile {
467 from {
468 opacity: 0;
469 transform: translateY(16px);
470 }
471 to {
472 opacity: 1;
473 transform: translateY(0);
474 }
475 }
476 @media (max-width: 767px) {
477 .lp-ai-assistant__toggle {
478 min-height: 40px;
479 }
480 .lp-ai-assistant__panel {
481 width: 100%;
482 }
483 .lp-ai-assistant__quick-actions {
484 grid-template-columns: repeat(2, 1fr);
485 }
486 }