bunnyquery 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bunnyquery.css ADDED
@@ -0,0 +1,796 @@
1
+ /**
2
+ * BunnyQuery embed styles.
3
+ *
4
+ * Plain-CSS port of the scoped LESS in
5
+ * www.skapi.com/src/views/service/agent.vue, with the AI-platform / model
6
+ * selector rules dropped (the embed has no platform picker). Tokens from
7
+ * src/assets/less/bq-tokens.less are resolved inline below.
8
+ *
9
+ * Tokens:
10
+ * --bq-mono IBM Plex Mono stack
11
+ * --bq-ink #111
12
+ * --bq-paper #fff
13
+ * --bq-muted #666
14
+ * --bq-line #c8c8c8
15
+ * --bq-hover-bg #ebebeb
16
+ * --bq-pink #c2185b
17
+ * --bq-danger #c44
18
+ * --bq-danger-bg #fff5f5
19
+ */
20
+
21
+ .bq-agent {
22
+ --bq-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
23
+ --bq-ink: #111;
24
+ --bq-paper: #fff;
25
+ --bq-muted: #666;
26
+ --bq-line: #c8c8c8;
27
+ --bq-hover-bg: #ebebeb;
28
+ --bq-pink: #c2185b;
29
+ --bq-light-pink: #f06292;
30
+ --bq-danger: #c44;
31
+ --bq-danger-bg: #fff5f5;
32
+
33
+ height: var(--agent-available-height, 100%);
34
+ overflow: hidden;
35
+ font-family: var(--bq-mono);
36
+ color: var(--bq-ink);
37
+ box-sizing: border-box;
38
+ }
39
+
40
+ .bq-agent *,
41
+ .bq-agent *::before,
42
+ .bq-agent *::after {
43
+ box-sizing: border-box;
44
+ }
45
+
46
+ /* ---- shared helpers (loader / .btn) ------------------------------------ */
47
+
48
+ .bq-agent .bq-loader {
49
+ font-size: inherit;
50
+ letter-spacing: 0.2em;
51
+ }
52
+
53
+ .bq-agent .bq-loader::after {
54
+ content: '.';
55
+ animation: bq-dots 1.2s steps(1) infinite;
56
+ }
57
+
58
+ @keyframes bq-dots {
59
+ 0% { content: '.'; }
60
+ 33% { content: '..'; }
61
+ 66% { content: '...'; }
62
+ }
63
+
64
+ .bq-agent .btn {
65
+ position: relative;
66
+ display: inline-flex;
67
+ max-width: none;
68
+ padding: 0.75rem 1.4rem;
69
+ width: auto;
70
+ height: auto;
71
+ min-height: 0;
72
+ justify-content: center;
73
+ align-items: center;
74
+ gap: 0.5rem;
75
+ border-radius: 0;
76
+ background: var(--bq-ink);
77
+ border: 1px solid var(--bq-ink);
78
+ color: var(--bq-paper);
79
+ font-family: var(--bq-mono);
80
+ font-size: 0.88rem;
81
+ font-weight: 600;
82
+ letter-spacing: 0.04em;
83
+ white-space: nowrap;
84
+ user-select: none;
85
+ outline: none;
86
+ cursor: pointer;
87
+ box-sizing: border-box;
88
+ transition: background 0.15s, color 0.15s;
89
+ box-shadow: 2px 2px rgba(0, 0, 0, 0.12);
90
+ }
91
+
92
+ .bq-agent .btn:disabled {
93
+ opacity: 0.3;
94
+ pointer-events: none;
95
+ cursor: default;
96
+ }
97
+
98
+ .bq-agent .btn:hover {
99
+ background: var(--bq-paper);
100
+ color: var(--bq-ink);
101
+ text-decoration: none;
102
+ }
103
+
104
+ /* ---- shell -------------------------------------------------------------- */
105
+
106
+ .bq-meta {
107
+ height: 100%;
108
+ width: 100%;
109
+ display: flex;
110
+ flex-direction: column;
111
+ min-height: 0;
112
+ /* border: 1px solid var(--bq-line); */
113
+ padding: 1rem;
114
+ /* box-shadow: 2px 2px rgba(0, 0, 0, 0.12); */
115
+ }
116
+
117
+ .bq-section-title {
118
+ font-size: 1.1rem;
119
+ font-weight: 700;
120
+ padding-bottom: 0.75rem;
121
+ }
122
+
123
+ .bq-title-row {
124
+ display: flex;
125
+ align-items: center;
126
+ justify-content: space-between;
127
+ gap: 0.5rem;
128
+ }
129
+
130
+ .bq-title-row h2 {
131
+ margin: 0;
132
+ font-size: inherit;
133
+ font-weight: inherit;
134
+ }
135
+
136
+ .bq-title-left {
137
+ display: flex;
138
+ align-items: center;
139
+ gap: 0.5rem;
140
+ min-width: 0;
141
+ overflow: hidden;
142
+ text-overflow: ellipsis;
143
+ white-space: nowrap;
144
+ }
145
+
146
+ .bq-title-right {
147
+ display: flex;
148
+ align-items: center;
149
+ gap: 0.5rem;
150
+ }
151
+
152
+ .bq-text-btn {
153
+ font-family: var(--bq-mono);
154
+ font-size: 0.78rem;
155
+ font-weight: 600;
156
+ color: var(--bq-muted);
157
+ background: transparent;
158
+ border: none;
159
+ padding: 0.15rem 0.25rem;
160
+ margin: 0;
161
+ line-height: 1;
162
+ cursor: pointer;
163
+ text-transform: uppercase;
164
+ letter-spacing: 0.04em;
165
+ transition: color 0.15s;
166
+ }
167
+
168
+ .bq-text-btn:hover {
169
+ color: var(--bq-ink);
170
+ }
171
+
172
+ .bq-text-btn.disabled {
173
+ opacity: 0.4;
174
+ pointer-events: none;
175
+ cursor: default;
176
+ }
177
+
178
+ .bq-text-btn--danger:hover {
179
+ color: var(--bq-danger);
180
+ }
181
+
182
+ .bq-text-btn-sep {
183
+ color: var(--bq-line);
184
+ user-select: none;
185
+ font-size: 0.85rem;
186
+ }
187
+
188
+ .bq-link {
189
+ color: var(--bq-pink);
190
+ text-decoration: none;
191
+ }
192
+
193
+ .bq-link:hover {
194
+ text-decoration: underline;
195
+ }
196
+
197
+ /* ---- chat surface ------------------------------------------------------- */
198
+
199
+ .bq-chat {
200
+ border: none;
201
+ display: flex;
202
+ flex-direction: column;
203
+ flex: 1;
204
+ min-height: 0;
205
+ position: relative;
206
+ }
207
+
208
+ .bq-messages {
209
+ position: relative;
210
+ overflow-y: auto;
211
+ overflow-x: hidden;
212
+ flex: 1;
213
+ min-height: 0;
214
+ max-height: none;
215
+ padding: 0;
216
+ border-bottom: none;
217
+ background: var(--bq-paper);
218
+ }
219
+
220
+ .bq-history-loading {
221
+ position: sticky;
222
+ top: 0;
223
+ z-index: 1;
224
+ display: flex;
225
+ justify-content: center;
226
+ padding: 0.5rem 0 1rem;
227
+ text-align: center;
228
+ font-size: 0.8rem;
229
+ color: var(--bq-muted);
230
+ background: linear-gradient(to bottom, var(--bq-paper) 70%, rgba(255, 255, 255, 0));
231
+ }
232
+
233
+ .bq-empty-greeting .bq-bubble {
234
+ user-select: none;
235
+ }
236
+
237
+ .bq-message {
238
+ display: flex;
239
+ margin-bottom: 0.5rem;
240
+ }
241
+
242
+ .bq-message.is-user {
243
+ justify-content: flex-end;
244
+ }
245
+
246
+ .bq-message.is-assistant {
247
+ justify-content: flex-start;
248
+ }
249
+
250
+ .bq-bubble {
251
+ padding: 0.55rem 0.7rem;
252
+ border: 1px solid var(--bq-line);
253
+ white-space: pre-wrap;
254
+ line-height: 1.45;
255
+ font-size: 0.83rem;
256
+ background: var(--bq-paper);
257
+ }
258
+
259
+ .bq-bubble span {
260
+ word-break: break-word;
261
+ }
262
+
263
+ .is-user .bq-bubble {
264
+ background: var(--bq-paper);
265
+ }
266
+
267
+ .is-assistant:not(.is-error) .bq-bubble {
268
+ background: #eef9f0;
269
+ border-color: #b8dcbc;
270
+ }
271
+
272
+ .is-error .bq-bubble {
273
+ background: var(--bq-danger-bg);
274
+ border-color: var(--bq-danger);
275
+ color: var(--bq-danger);
276
+ }
277
+
278
+ .is-pending-older .bq-bubble {
279
+ background: #fff8e1;
280
+ border-color: #e6c25a;
281
+ color: #8a6d1a;
282
+ }
283
+
284
+ .bq-pending-note {
285
+ display: block;
286
+ margin-top: 0.35rem;
287
+ font-size: 0.7rem;
288
+ color: #a07d1a;
289
+ font-style: italic;
290
+ }
291
+
292
+ .bq-file-download,
293
+ .bq-link-button {
294
+ display: inline-flex;
295
+ align-items: center;
296
+ gap: 0.35rem;
297
+ padding: 0.3rem 0.65rem;
298
+ border: 1px solid var(--bq-line);
299
+ background: var(--bq-paper);
300
+ color: var(--bq-ink);
301
+ font-family: var(--bq-mono);
302
+ font-size: 0.8rem;
303
+ text-decoration: none;
304
+ cursor: pointer;
305
+ transition: background 0.15s, color 0.15s;
306
+ vertical-align: middle;
307
+ }
308
+
309
+ .bq-file-download:hover,
310
+ .bq-link-button:hover {
311
+ background: var(--bq-ink);
312
+ color: var(--bq-paper);
313
+ text-decoration: none;
314
+ }
315
+
316
+ .bq-link-button {
317
+ max-width: 100%;
318
+ overflow: hidden;
319
+ text-overflow: ellipsis;
320
+ white-space: nowrap;
321
+ }
322
+
323
+ /* ---- input row ---------------------------------------------------------- */
324
+
325
+ .bq-input-row {
326
+ display: flex;
327
+ flex-shrink: 0;
328
+ --chat-control-height: 2.6rem;
329
+ gap: 0.65rem;
330
+ padding: 0.65rem 0 0;
331
+ background: var(--bq-paper);
332
+ flex-wrap: wrap;
333
+ }
334
+
335
+ .bq-attach-input {
336
+ display: none;
337
+ }
338
+
339
+ .bq-input-wrap {
340
+ position: relative;
341
+ flex: 1;
342
+ display: flex;
343
+ min-width: 0;
344
+ }
345
+
346
+ .bq-attach-btn {
347
+ position: absolute;
348
+ top: 0;
349
+ left: 0;
350
+ display: inline-flex;
351
+ align-items: center;
352
+ justify-content: center;
353
+ width: var(--chat-control-height);
354
+ height: var(--chat-control-height);
355
+ min-height: 0;
356
+ padding: 0;
357
+ border: none;
358
+ background: transparent;
359
+ color: var(--bq-muted);
360
+ cursor: pointer;
361
+ z-index: 1;
362
+ box-shadow: none;
363
+ border-radius: 0;
364
+ }
365
+
366
+ .bq-attach-btn:hover:not(:disabled) {
367
+ background: transparent;
368
+ color: var(--bq-pink);
369
+ }
370
+
371
+ .bq-attach-btn:disabled {
372
+ opacity: 0.5;
373
+ cursor: not-allowed;
374
+ }
375
+
376
+ .bq-attachments {
377
+ flex-basis: 100%;
378
+ display: flex;
379
+ flex-wrap: wrap;
380
+ gap: 0.4rem;
381
+ padding: 0 0 0.5rem;
382
+ }
383
+
384
+ .bq-attachment {
385
+ display: inline-flex;
386
+ align-items: center;
387
+ gap: 0.35rem;
388
+ max-width: 18rem;
389
+ padding: 0.3rem 0.5rem;
390
+ border: 1px solid var(--bq-line);
391
+ background: var(--bq-paper);
392
+ font-size: 0.78rem;
393
+ font-family: var(--bq-mono);
394
+ position: relative;
395
+ overflow: hidden;
396
+ isolation: isolate;
397
+ }
398
+
399
+ .bq-attachment.is-uploading::before {
400
+ content: "";
401
+ position: absolute;
402
+ inset: 0 auto 0 0;
403
+ width: var(--att-progress, 0%);
404
+ background: rgba(194, 24, 91, 0.18);
405
+ transition: width 0.15s linear;
406
+ z-index: 0;
407
+ pointer-events: none;
408
+ }
409
+
410
+ .bq-attachment.is-uploading > * {
411
+ position: relative;
412
+ z-index: 1;
413
+ }
414
+
415
+ .bq-attachment.is-error {
416
+ border-color: #c0392b;
417
+ }
418
+
419
+ .bq-attachment.is-error .bq-attachment-meta {
420
+ color: #c0392b;
421
+ }
422
+
423
+ .bq-attachment.is-clickable {
424
+ cursor: pointer;
425
+ transition: background 0.12s ease, border-color 0.12s ease;
426
+ }
427
+
428
+ .bq-attachment.is-clickable:hover {
429
+ background: var(--bq-hover-bg);
430
+ border-color: var(--bq-ink);
431
+ }
432
+
433
+ .bq-attachment-icon {
434
+ flex: 0 0 16px;
435
+ color: var(--bq-muted);
436
+ }
437
+
438
+ .bq-attachment-arrow {
439
+ flex: 0 0 auto;
440
+ font-size: 0.95rem;
441
+ line-height: 1;
442
+ color: var(--bq-muted);
443
+ }
444
+
445
+ .is-done .bq-attachment-arrow {
446
+ color: var(--bq-ink);
447
+ }
448
+
449
+ .bq-attachment-name {
450
+ overflow: hidden;
451
+ text-overflow: ellipsis;
452
+ white-space: nowrap;
453
+ max-width: 12rem;
454
+ }
455
+
456
+ .bq-attachment-meta {
457
+ color: var(--bq-muted);
458
+ flex-shrink: 0;
459
+ }
460
+
461
+ .bq-attachment-more {
462
+ color: var(--bq-muted);
463
+ font-style: italic;
464
+ cursor: default;
465
+ }
466
+
467
+ .bq-attachment-remove {
468
+ display: inline-flex;
469
+ align-items: center;
470
+ justify-content: center;
471
+ width: 1.2rem;
472
+ height: 1.2rem;
473
+ margin-left: 0.15rem;
474
+ padding: 0;
475
+ border: none;
476
+ background: transparent;
477
+ color: var(--bq-muted);
478
+ font-size: 1rem;
479
+ line-height: 1;
480
+ cursor: pointer;
481
+ }
482
+
483
+ .bq-attachment-remove:hover {
484
+ color: var(--bq-ink);
485
+ }
486
+
487
+ .bq-input {
488
+ flex: 1;
489
+ min-height: var(--chat-control-height);
490
+ box-sizing: border-box;
491
+ overflow-y: hidden;
492
+ resize: vertical;
493
+ border: 1px solid var(--bq-line);
494
+ padding: 0.7rem 0.7rem 0.7rem var(--chat-control-height);
495
+ font-family: var(--bq-mono);
496
+ font-size: calc(1em - 2px);
497
+ color: var(--bq-ink);
498
+ background: var(--bq-paper);
499
+ outline: none;
500
+ }
501
+
502
+ /* When the attach button is hidden (read-only), reclaim the left padding. */
503
+ .bq-input-wrap.no-attach .bq-input {
504
+ padding-left: 0.7rem;
505
+ }
506
+
507
+ .bq-input:focus {
508
+ border-color: var(--bq-ink);
509
+ }
510
+
511
+ .bq-input:disabled {
512
+ opacity: 0.6;
513
+ cursor: not-allowed;
514
+ }
515
+
516
+ .bq-input-row .btn {
517
+ align-self: flex-end;
518
+ min-width: 5.5rem;
519
+ height: var(--chat-control-height);
520
+ padding: 0 1.1rem;
521
+ }
522
+
523
+ /* ---- gate / overlay screens (login, loading, fatal) -------------------- */
524
+
525
+ .bq-gate-loading {
526
+ flex: 1;
527
+ min-height: 100%;
528
+ display: flex;
529
+ flex-direction: column;
530
+ align-items: center;
531
+ justify-content: center;
532
+ font-size: 0.83rem;
533
+ color: var(--bq-muted);
534
+ }
535
+
536
+ .bq-apikey-overlay {
537
+ position: relative;
538
+ flex: 1;
539
+ z-index: 4;
540
+ display: flex;
541
+ align-items: center;
542
+ justify-content: center;
543
+ background: var(--bq-paper);
544
+ padding: 1rem;
545
+ height: 100%;
546
+ }
547
+
548
+ .bq-apikey-overlay-inner {
549
+ display: flex;
550
+ flex-direction: column;
551
+ align-items: center;
552
+ gap: 0.85rem;
553
+ text-align: center;
554
+ max-width: 32rem;
555
+ width: 100%;
556
+ }
557
+
558
+ .bq-apikey-overlay-inner .btn {
559
+ align-self: center;
560
+ min-width: 11rem;
561
+ }
562
+
563
+ .bq-apikey-help {
564
+ margin: 0;
565
+ color: var(--bq-muted);
566
+ font-size: 0.83rem;
567
+ line-height: 1.4;
568
+ }
569
+
570
+ .bq-apikey-error {
571
+ margin: 0;
572
+ color: var(--bq-danger);
573
+ font-size: 0.9rem;
574
+ font-weight: 600;
575
+ }
576
+
577
+ /* ---- login form (embed-only) ------------------------------------------- */
578
+
579
+ .bq-login-form {
580
+ display: flex;
581
+ flex-direction: column;
582
+ gap: 0.65rem;
583
+ width: 100%;
584
+ max-width: 22rem;
585
+ align-items: stretch;
586
+ }
587
+
588
+ .bq-login-title {
589
+ margin: 0 0 0.25rem;
590
+ font-size: 1rem;
591
+ font-weight: 700;
592
+ color: var(--bq-ink);
593
+ text-align: center;
594
+ }
595
+
596
+ .bq-login-form .bq-input {
597
+ padding: 0.6rem 0.7rem;
598
+ min-height: 2.4rem;
599
+ resize: none;
600
+ }
601
+
602
+ .bq-login-form .btn {
603
+ width: 100%;
604
+ align-self: stretch;
605
+ }
606
+
607
+ /*
608
+ * Loading state for the login submit button.
609
+ *
610
+ * The button text is wrapped in `.bq-login-submit-label`; while the parent
611
+ * carries `.is-loading` we hide that label and reveal a CSS pseudo-element
612
+ * whose content is sourced from the `--bq-login-loading-label` custom
613
+ * property. Override either (or both) to fully customize the busy state:
614
+ *
615
+ * .bq-agent .bq-login-submit { --bq-login-loading-label: "Signing in..."; }
616
+ * .bq-agent .bq-login-submit.is-loading::after { content: "..."; }
617
+ */
618
+ .bq-agent .bq-login-submit {
619
+ --bq-login-loading-label: "Logging in...";
620
+ position: relative;
621
+ }
622
+
623
+ .bq-agent .bq-login-submit.is-loading .bq-login-submit-label {
624
+ visibility: hidden;
625
+ }
626
+
627
+ .bq-agent .bq-login-submit.is-loading::after {
628
+ content: var(--bq-login-loading-label);
629
+ position: absolute;
630
+ inset: 0;
631
+ display: flex;
632
+ align-items: center;
633
+ justify-content: center;
634
+ pointer-events: none;
635
+ }
636
+
637
+ /* ---- modal: clear chat history ----------------------------------------- */
638
+
639
+ .bq-modal-backdrop {
640
+ /* Re-declare design tokens here because the modal is appended to
641
+ document.body and would otherwise lose the variables defined under
642
+ .bq-agent (resulting in unstyled font and a transparent dialog
643
+ background that makes the overlay appear to cover everything). */
644
+ --bq-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
645
+ --bq-ink: #111;
646
+ --bq-paper: #fff;
647
+ --bq-muted: #666;
648
+ --bq-line: #c8c8c8;
649
+ --bq-hover-bg: #ebebeb;
650
+ --bq-danger: #c44;
651
+ --bq-danger-bg: #fff5f5;
652
+
653
+ position: fixed;
654
+ inset: 0;
655
+ z-index: 1000;
656
+ background: rgba(0, 0, 0, 0.5);
657
+ display: flex;
658
+ align-items: center;
659
+ justify-content: center;
660
+ padding: 3rem;
661
+ font-family: var(--bq-mono);
662
+ color: var(--bq-ink);
663
+ box-sizing: border-box;
664
+ }
665
+
666
+ .bq-modal-backdrop *,
667
+ .bq-modal-backdrop *::before,
668
+ .bq-modal-backdrop *::after {
669
+ box-sizing: border-box;
670
+ }
671
+
672
+ /* Outer shell mirrors the <dialog> chrome from www.skapi.com's Modal
673
+ component: white card, thin border, soft drop shadow. The inner
674
+ .bq-modal-delete provides the 2rem content padding (matches
675
+ bq-shared.less). */
676
+ .bq-modal-delete {
677
+ width: 100%;
678
+ max-width: 24rem;
679
+ margin: 0 auto;
680
+ background: var(--bq-paper);
681
+ border: 1px solid #d0d0d0;
682
+ box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
683
+ padding: 2rem;
684
+ font-family: var(--bq-mono);
685
+ color: var(--bq-ink);
686
+ }
687
+
688
+ .bq-modal-delete-header {
689
+ display: flex;
690
+ align-items: center;
691
+ gap: 0.5rem;
692
+ font-size: 0.95rem;
693
+ font-weight: 600;
694
+ color: var(--bq-danger);
695
+ margin-bottom: 1.25rem;
696
+ }
697
+
698
+ .bq-modal-delete-icon {
699
+ color: var(--bq-danger);
700
+ font-size: 1.3rem;
701
+ }
702
+
703
+ .bq-modal-delete-body {
704
+ font-size: 0.82rem;
705
+ color: var(--bq-ink);
706
+ line-height: 1.6;
707
+ margin-bottom: 1.5rem;
708
+ }
709
+
710
+ .bq-modal-delete-body p {
711
+ margin: 0 0 0.4rem;
712
+ }
713
+
714
+ .bq-modal-delete-warn {
715
+ color: var(--bq-muted);
716
+ font-size: 0.78rem !important;
717
+ }
718
+
719
+ .bq-modal-delete-footer {
720
+ display: flex;
721
+ justify-content: flex-end;
722
+ align-items: center;
723
+ gap: 0.5rem;
724
+ }
725
+
726
+ .bq-modal-delete-btn {
727
+ font-family: var(--bq-mono);
728
+ font-size: 0.8rem;
729
+ line-height: 0.8rem;
730
+ padding: 0.45rem 1rem;
731
+ border: 1px solid var(--bq-line);
732
+ background: var(--bq-paper);
733
+ color: var(--bq-ink);
734
+ cursor: pointer;
735
+ transition: border-color 0.15s, background 0.15s, color 0.15s;
736
+ box-shadow: 2px 2px rgba(0, 0, 0, 0.12);
737
+ }
738
+
739
+ .bq-modal-delete-btn--cancel:hover {
740
+ border-color: var(--bq-ink);
741
+ }
742
+
743
+ .bq-modal-delete-btn--delete {
744
+ background: var(--bq-danger);
745
+ color: var(--bq-paper);
746
+ border-color: var(--bq-danger);
747
+ }
748
+
749
+ .bq-modal-delete-btn--delete:hover {
750
+ background: var(--bq-danger-bg);
751
+ border-color: var(--bq-danger);
752
+ color: var(--bq-danger);
753
+ }
754
+
755
+ @media (max-width: 800px) {
756
+ .bq-modal-backdrop {
757
+ padding: 0;
758
+ }
759
+ }
760
+
761
+ @media (max-width: 430px) {
762
+ .bq-modal-delete {
763
+ max-width: calc(100% - 1rem);
764
+ max-height: calc(100% - 1rem);
765
+ }
766
+ }
767
+
768
+ @media (max-width: 700px) {
769
+ .bq-meta {
770
+ /* padding: 1rem 0; */
771
+ border: none;
772
+ box-shadow: none;
773
+ }
774
+
775
+ .bq-input-row {
776
+ flex-direction: column;
777
+ }
778
+
779
+ .bq-input-wrap {
780
+ width: 100%;
781
+ flex: 0 0 auto;
782
+ }
783
+
784
+ .bq-attachments {
785
+ flex-basis: auto;
786
+ width: 100%;
787
+ }
788
+
789
+ .bq-input-row .btn {
790
+ width: 100%;
791
+ }
792
+
793
+ .bq-bubble {
794
+ max-width: 100%;
795
+ }
796
+ }