@chrryai/chrry 1.1.78

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.
Files changed (116) hide show
  1. package/About.module.scss +112 -0
  2. package/Account.module.scss +159 -0
  3. package/AddToHomeScreen.module.scss +126 -0
  4. package/Affiliate.module.scss +245 -0
  5. package/AffiliateDashboard.module.scss +269 -0
  6. package/Agent.module.scss +197 -0
  7. package/AnimatedWrapper.module.scss +0 -0
  8. package/App.module.scss +283 -0
  9. package/Bookmark.module.scss +15 -0
  10. package/Calendar.module.scss +824 -0
  11. package/CharacterProfiles.module.scss +29 -0
  12. package/Chat.module.scss +932 -0
  13. package/Checkbox.module.scss +67 -0
  14. package/Chrry.module.scss +69 -0
  15. package/Collaborate.module.scss +22 -0
  16. package/CollaborationStatus.module.scss +17 -0
  17. package/CollaborationTooltip.module.scss +257 -0
  18. package/ColorScheme.module.scss +24 -0
  19. package/EditThread.module.scss +51 -0
  20. package/EmptyStateTips.module.scss +52 -0
  21. package/EnableNotifications.module.scss +20 -0
  22. package/EventModal.module.scss +277 -0
  23. package/Img.module.scss +48 -0
  24. package/Instructions.module.scss +333 -0
  25. package/LICENSE +664 -0
  26. package/LanguageSwitcher.module.scss +21 -0
  27. package/Loading.module.scss +32 -0
  28. package/MarkdownContent.module.scss +161 -0
  29. package/MemoryConsent.module.scss +41 -0
  30. package/Menu.module.scss +272 -0
  31. package/Message.module.scss +470 -0
  32. package/Messages.module.scss +86 -0
  33. package/Modal.module.scss +118 -0
  34. package/README.md +112 -0
  35. package/Search.module.scss +26 -0
  36. package/Select.module.scss +32 -0
  37. package/Share.module.scss +84 -0
  38. package/Sidebar.module.scss +69 -0
  39. package/SignIn.module.scss +129 -0
  40. package/Skeleton.module.scss +232 -0
  41. package/SplashScreen.module.scss +189 -0
  42. package/Star.module.scss +15 -0
  43. package/Store.module.scss +240 -0
  44. package/Subscribe.module.scss +219 -0
  45. package/Testimonials.module.scss +33 -0
  46. package/Thread.module.scss +111 -0
  47. package/Threads.module.scss +105 -0
  48. package/TypingIndicator.module.scss +93 -0
  49. package/Users.module.scss +98 -0
  50. package/Version.module.scss +22 -0
  51. package/Weather.module.scss +31 -0
  52. package/Why.module.scss +79 -0
  53. package/__tests__/README.md +126 -0
  54. package/__tests__/TestComponent.module.scss +236 -0
  55. package/animations.scss +163 -0
  56. package/breakpoints.scss +8 -0
  57. package/context/AppContext.module.scss +22 -0
  58. package/context/providers/README.md +329 -0
  59. package/dist/About.module-RPTFOKG6.scss +112 -0
  60. package/dist/Account.module-AA2NOD5S.scss +159 -0
  61. package/dist/AddToHomeScreen.module-P6HAQ4QD.scss +126 -0
  62. package/dist/Affiliate.module-YM7MG54E.scss +245 -0
  63. package/dist/AffiliateDashboard.module-SZQJJBME.scss +269 -0
  64. package/dist/Agent.module-66YIBDMM.scss +197 -0
  65. package/dist/App.module-TOWYJFPB.scss +283 -0
  66. package/dist/Bookmark.module-UVMQ4TED.scss +15 -0
  67. package/dist/Calendar.module-HHEIXJEA.scss +824 -0
  68. package/dist/CharacterProfiles.module-KABR34TV.scss +29 -0
  69. package/dist/Chat.module-Y4TGJLBQ.scss +932 -0
  70. package/dist/Checkbox.module-RNW2YOC5.scss +67 -0
  71. package/dist/Chrry.module-SLPTRY52.scss +69 -0
  72. package/dist/Collaborate.module-MLRE23FZ.scss +22 -0
  73. package/dist/CollaborationStatus.module-CRGOOW56.scss +17 -0
  74. package/dist/ColorScheme.module-N7SJ5N52.scss +24 -0
  75. package/dist/EditThread.module-L3HOEGS3.scss +51 -0
  76. package/dist/EmptyStateTips.module-JLNPQ4OO.scss +52 -0
  77. package/dist/EnableNotifications.module-C4MYQTUA.scss +20 -0
  78. package/dist/EventModal.module-K7VNKTCE.scss +277 -0
  79. package/dist/Instructions.module-JMFWEXAP.scss +333 -0
  80. package/dist/LanguageSwitcher.module-MT2SIZ4L.scss +21 -0
  81. package/dist/Loading.module-OU42QILE.scss +32 -0
  82. package/dist/MarkdownContent.module-64GHE3YP.scss +161 -0
  83. package/dist/MemoryConsent.module-FZL3REH4.scss +41 -0
  84. package/dist/Menu.module-RVXPXILR.scss +272 -0
  85. package/dist/Message.module-5UUYCVY2.scss +470 -0
  86. package/dist/Messages.module-GBPUAPAI.scss +86 -0
  87. package/dist/Modal.module-TOU4YLFQ.scss +118 -0
  88. package/dist/Search.module-GU3BRADG.scss +26 -0
  89. package/dist/Select.module-R7QM256C.scss +32 -0
  90. package/dist/Share.module-VQBCBSA5.scss +84 -0
  91. package/dist/Sidebar.module-AUSDVTCY.scss +69 -0
  92. package/dist/SignIn.module-53SOSG63.scss +129 -0
  93. package/dist/Skeleton.module-REMEBLDY.scss +232 -0
  94. package/dist/Store.module-NP6776GY.scss +240 -0
  95. package/dist/Subscribe.module-NVGQ57RA.scss +219 -0
  96. package/dist/Thread.module-QAJI6KOQ.scss +111 -0
  97. package/dist/Threads.module-J54DFQQZ.scss +105 -0
  98. package/dist/Users.module-ZRHCY63D.scss +98 -0
  99. package/dist/Version.module-MLMD7GW5.scss +22 -0
  100. package/dist/Weather.module-NT6XFKA7.scss +31 -0
  101. package/dist/Why.module-UVZJCJF7.scss +79 -0
  102. package/dist/index.d.mts +1408 -0
  103. package/dist/index.d.ts +1408 -0
  104. package/dist/index.js +44600 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/index.mjs +44575 -0
  107. package/dist/index.mjs.map +1 -0
  108. package/dist/react-tooltip.min-LLVNRY3Z.css +1 -0
  109. package/globals.css +91 -0
  110. package/globals.scss +585 -0
  111. package/icons/README.md +150 -0
  112. package/package.json +118 -0
  113. package/styles/view-transitions.css +207 -0
  114. package/toRem.scss +6 -0
  115. package/utils.module.scss +116 -0
  116. package/utils.scss +88 -0
@@ -0,0 +1,932 @@
1
+ @use "./breakpoints.scss";
2
+ @use "./utils.scss";
3
+ @use "./toRem.scss";
4
+
5
+ .chatContainerWrapper {
6
+ display: flex;
7
+ position: fixed;
8
+ z-index: 1000;
9
+ bottom: toRem.toRem(3);
10
+ left: 50%;
11
+ transform: translateX(-50%);
12
+ padding: 0 toRem.toRem(10);
13
+
14
+ width: 100%;
15
+ max-width: breakpoints.$breakpoint-mobile;
16
+
17
+ &.drawerOpen {
18
+ @media (min-width: breakpoints.$breakpoint-desktop) {
19
+ left: calc(50% + toRem.toRem(122.5));
20
+ }
21
+ }
22
+
23
+ &.android:not(.standalone) {
24
+ padding-bottom: toRem.toRem(5);
25
+ }
26
+
27
+ &.standalone {
28
+ &.ios {
29
+ padding-bottom: toRem.toRem(4.5);
30
+ }
31
+ }
32
+
33
+ @media all and (display-mode: standalone) {
34
+ &.ios {
35
+ padding-bottom: toRem.toRem(4.5);
36
+ }
37
+ }
38
+ }
39
+
40
+ .loadingContainer {
41
+ display: flex;
42
+ justify-content: center;
43
+ align-items: center;
44
+ flex: 1;
45
+ }
46
+
47
+ @keyframes placeholderGlowPulse {
48
+ 0% {
49
+ border-color: var(--accent-1);
50
+ box-shadow: 0 0 toRem.toRem(20) var(--accent-1);
51
+ }
52
+ 50% {
53
+ border-color: var(--accent-5);
54
+ box-shadow:
55
+ 0 0 toRem.toRem(30) var(--accent-5),
56
+ 0 0 toRem.toRem(45) var(--accent-5),
57
+ inset 0 0 toRem.toRem(25) var(--accent-5-transparent);
58
+ }
59
+ 100% {
60
+ border-color: var(--accent-1);
61
+ box-shadow: 0 0 toRem.toRem(20) var(--accent-1);
62
+ }
63
+ }
64
+
65
+ .chat {
66
+ position: relative;
67
+ flex: 1;
68
+ border: toRem.toRem(1) solid var(--accent-1);
69
+ box-shadow: 0 0 toRem.toRem(5) var(--accent-1);
70
+ border-radius: var(--radius);
71
+ padding: toRem.toRem(5);
72
+ padding-bottom: toRem.toRem(35);
73
+ margin-bottom: toRem.toRem(3);
74
+ background-color: var(--shade-1-transparent);
75
+ padding-right: toRem.toRem(19);
76
+ backdrop-filter: blur(toRem.toRem(5.5));
77
+ position: relative;
78
+
79
+ transition:
80
+ height 0.2s ease-out,
81
+ transform 0.2s ease-out,
82
+ opacity 0.2s ease-out,
83
+ box-shadow 0.3s ease-out,
84
+ border-color 0.3s ease-out;
85
+ will-change: height, transform;
86
+
87
+ &:hover,
88
+ &:focus,
89
+ &.focus {
90
+ border-color: var(--accent-5);
91
+ box-shadow: 0 0 toRem.toRem(5) var(--accent-5);
92
+ }
93
+
94
+ &:active {
95
+ border-color: var(--accent-6);
96
+ box-shadow: 0 0 toRem.toRem(5) var(--accent-6);
97
+ }
98
+
99
+ // Glow effect when placeholder updates
100
+ &.placeholderGlow {
101
+ animation: placeholderGlowPulse 2s ease-in-out;
102
+ @include utils.respect-reduced-motion;
103
+ }
104
+
105
+ @include utils.respect-reduced-motion;
106
+ &.chatFloating {
107
+ animation: slideUp 0.3s ease-in-out;
108
+ background-color: var(--shade-2-transparent);
109
+ border: toRem.toRem(1) dashed var(--shade-3);
110
+ box-shadow: none;
111
+ bottom: toRem.toRem(2.5);
112
+ opacity: 0;
113
+ animation: fadeInUp 0.3s ease-in-out forwards;
114
+
115
+ &.placeholderGlow {
116
+ opacity: 1;
117
+ animation: placeholderGlowPulse 2s ease-in-out;
118
+ transform: translateX(-50%) translateY(toRem.toRem(0));
119
+ }
120
+
121
+ .videoContainer {
122
+ width: toRem.toRem(29);
123
+ height: toRem.toRem(29);
124
+ .video {
125
+ width: toRem.toRem(25);
126
+ height: toRem.toRem(25);
127
+ }
128
+ }
129
+
130
+ .sendButton {
131
+ width: toRem.toRem(26);
132
+ height: toRem.toRem(26);
133
+ }
134
+
135
+ &.standalone {
136
+ &.ios {
137
+ bottom: toRem.toRem(5);
138
+ }
139
+ }
140
+
141
+ @media all and (display-mode: standalone) {
142
+ &.ios {
143
+ bottom: toRem.toRem(5);
144
+ }
145
+ }
146
+ }
147
+ }
148
+
149
+ .hourlyLimit {
150
+ font-size: toRem.toRem(12);
151
+ color: var(--shade-6);
152
+ display: flex;
153
+ align-items: center;
154
+ gap: toRem.toRem(5);
155
+ position: relative;
156
+ }
157
+
158
+ .speechConversation {
159
+ display: flex;
160
+ flex-direction: column;
161
+ gap: toRem.toRem(15);
162
+
163
+ .conversation {
164
+ display: flex;
165
+ flex-direction: column;
166
+ gap: toRem.toRem(15);
167
+ }
168
+
169
+ .usageStats {
170
+ display: flex;
171
+ flex-direction: column;
172
+ gap: toRem.toRem(8);
173
+
174
+ .statItem {
175
+ display: flex;
176
+ justify-content: space-between;
177
+ align-items: center;
178
+ font-size: toRem.toRem(12);
179
+
180
+ .statLabel {
181
+ color: var(--shade-6);
182
+ font-weight: 500;
183
+ }
184
+
185
+ .statValue {
186
+ color: var(--shade-8);
187
+ font-family: var(--font-mono);
188
+ }
189
+ }
190
+ }
191
+
192
+ .actions {
193
+ display: flex;
194
+ align-items: flex-end;
195
+ justify-content: flex-end;
196
+ gap: toRem.toRem(10);
197
+ flex-wrap: wrap;
198
+ }
199
+ }
200
+
201
+ @keyframes fadeInUp {
202
+ from {
203
+ transform: translateX(-50%) translateY(toRem.toRem(10));
204
+ opacity: 0;
205
+ }
206
+ to {
207
+ transform: translateX(-50%) translateY(0);
208
+ opacity: 1;
209
+ }
210
+ }
211
+
212
+ .chatContainerWrapper {
213
+ display: flex;
214
+ flex-direction: column;
215
+ flex: 1;
216
+ gap: toRem.toRem(12);
217
+ }
218
+
219
+ .chatTextArea {
220
+ }
221
+
222
+ .top {
223
+ margin-bottom: toRem.toRem(10);
224
+ }
225
+ .top.chatFloating {
226
+ // position: fixed;
227
+ z-index: 1001;
228
+ // bottom: toRem.toRem(92.5);
229
+ // left: toRem.toRem(15);
230
+ padding: 0 toRem.toRem(5);
231
+ gap: toRem.toRem(5);
232
+ position: relative;
233
+ margin-bottom: toRem.toRem(6.5);
234
+
235
+ transform: translateX(-50%) translateY(0);
236
+ display: flex;
237
+
238
+ align-items: center;
239
+
240
+ .topInner {
241
+ background-color: var(--shade-1);
242
+ border: toRem.toRem(1) solid var(--shade-2);
243
+ padding: toRem.toRem(5);
244
+ border-radius: var(--radius);
245
+ }
246
+
247
+ @media (min-width: breakpoints.$breakpoint-mobile) {
248
+ }
249
+
250
+ @media all and (display-mode: standalone) {
251
+ &.ios {
252
+ margin-bottom: toRem.toRem(4.5);
253
+ }
254
+ }
255
+
256
+ &.standalone {
257
+ &.ios {
258
+ bottom: toRem.toRem(4.5);
259
+ }
260
+ }
261
+ }
262
+
263
+ .top.collaborationStep3 {
264
+ display: flex;
265
+ align-items: center;
266
+ justify-content: center;
267
+ > div {
268
+ background-color: var(--shade-2-transparent);
269
+ border: toRem.toRem(1) solid var(--shade-2);
270
+ backdrop-filter: blur(toRem.toRem(5.5));
271
+ padding: toRem.toRem(5);
272
+ border-radius: var(--radius);
273
+ }
274
+
275
+ @media (min-width: breakpoints.$breakpoint-mobile) {
276
+ left: toRem.toRem(20);
277
+ }
278
+ }
279
+
280
+ .debateAgentButton {
281
+ position: relative;
282
+ display: flex;
283
+ align-items: center;
284
+ gap: toRem.toRem(5);
285
+
286
+ .plusIcon {
287
+ position: absolute;
288
+ bottom: toRem.toRem(-5);
289
+ right: toRem.toRem(-5);
290
+ }
291
+ }
292
+
293
+ .scrollDownButton {
294
+ margin-left: auto !important;
295
+ backdrop-filter: blur(toRem.toRem(5.5));
296
+ transition: all 0.2s ease-in-out;
297
+
298
+ &:hover {
299
+ transform: scale(1.15);
300
+ }
301
+ }
302
+
303
+ .chatContainer {
304
+ display: flex;
305
+ flex-direction: column;
306
+ flex: 1;
307
+
308
+ &.chatFloating {
309
+ bottom: toRem.toRem(5);
310
+ transform: translateX(50%) translateY(0);
311
+ max-width: toRem.toRem(600);
312
+ z-index: 1000;
313
+ }
314
+ }
315
+
316
+ .brandHelp {
317
+ text-align: center;
318
+ font-size: toRem.toRem(18);
319
+ line-height: 1.2;
320
+ display: flex;
321
+ align-items: center;
322
+ gap: toRem.toRem(10);
323
+ margin-top: 0;
324
+ margin-bottom: toRem.toRem(12.5);
325
+
326
+ @media (min-width: breakpoints.$breakpoint-mobile-small-max) {
327
+ font-size: toRem.toRem(20);
328
+ }
329
+
330
+ @media (min-width: breakpoints.$breakpoint-mobile) {
331
+ font-size: toRem.toRem(22);
332
+ }
333
+ }
334
+
335
+ .collaborationTooltip,
336
+ .shareTooltip {
337
+ align-items: center;
338
+ justify-content: center;
339
+ display: flex;
340
+ position: relative;
341
+ bottom: toRem.toRem(5);
342
+
343
+ .tooltip {
344
+ background-color: var(--shade-2-transparent);
345
+ border: toRem.toRem(1) solid var(--shade-2);
346
+ backdrop-filter: blur(toRem.toRem(5.5));
347
+ z-index: 9999;
348
+ border-radius: var(--radius);
349
+ padding: toRem.toRem(10);
350
+ position: relative;
351
+ margin-bottom: toRem.toRem(10);
352
+ }
353
+ }
354
+
355
+ // .collaborateButtonContainer,
356
+ // .enableNotificationsButtonContainer,
357
+ // .generateImagesButtonContainer,
358
+ // .debateButtonContainer {
359
+ // display: flex;
360
+ // flex-direction: row;
361
+ // gap: toRem.toRem(10);
362
+ // flex-wrap: wrap;
363
+ // }
364
+
365
+ .generateImagesButtonContainer {
366
+ display: none;
367
+ @media (min-height: toRem.toRem(650)) {
368
+ display: flex;
369
+ }
370
+ }
371
+
372
+ .collaborateButton {
373
+ position: relative;
374
+ }
375
+
376
+ // .headerButtons {
377
+ // display: flex;
378
+ // gap: toRem.toRem(7.5);
379
+ // flex-direction: column;
380
+ // justify-content: center;
381
+ // align-items: center;
382
+ // }
383
+
384
+ // .instructions {
385
+ // margin-top: toRem.toRem(10);
386
+ // }
387
+
388
+ .collaborateButtonSparkles {
389
+ position: absolute;
390
+ top: toRem.toRem(17);
391
+ left: toRem.toRem(22);
392
+ }
393
+ .content {
394
+ text-align: center;
395
+ position: relative;
396
+ display: flex;
397
+ flex-direction: column;
398
+ align-items: center;
399
+ justify-content: center;
400
+ }
401
+
402
+ .creditInfoText {
403
+ display: flex;
404
+ align-items: center;
405
+ gap: toRem.toRem(2.5);
406
+ }
407
+
408
+ .creditCost {
409
+ font-size: toRem.toRem(13);
410
+ color: var(--accent-1);
411
+ display: flex;
412
+ align-items: center;
413
+ gap: toRem.toRem(5);
414
+ }
415
+
416
+ .instructionsBottom {
417
+ display: flex;
418
+ font-size: toRem.toRem(13);
419
+ justify-content: center;
420
+ align-items: center;
421
+ gap: toRem.toRem(7.5);
422
+ }
423
+
424
+ .subscribeButton,
425
+ .loginButton {
426
+ font-size: toRem.toRem(13);
427
+ display: flex;
428
+ align-items: center;
429
+ gap: toRem.toRem(5);
430
+ }
431
+
432
+ .attachButtons {
433
+ display: flex;
434
+ align-items: center;
435
+ gap: toRem.toRem(10);
436
+ }
437
+
438
+ .filePreviewArea {
439
+ display: flex;
440
+ flex-wrap: wrap;
441
+ gap: toRem.toRem(8);
442
+ padding: toRem.toRem(12);
443
+ margin-bottom: toRem.toRem(8);
444
+ background: var(--shade-1);
445
+ border-bottom: toRem.toRem(1) solid var(--shade-2);
446
+ margin: toRem.toRem(-2.75) toRem.toRem(-10) 0 toRem.toRem(-10);
447
+ position: relative;
448
+ left: toRem.toRem(7);
449
+ border-radius: toRem.toRem(16);
450
+ border-bottom-left-radius: 0;
451
+ border-bottom-right-radius: 0;
452
+ }
453
+
454
+ .filePreview {
455
+ position: relative;
456
+ display: flex;
457
+ align-items: center;
458
+ gap: toRem.toRem(8);
459
+ padding: toRem.toRem(8) toRem.toRem(12);
460
+ background: var(--shade-0);
461
+ border: toRem.toRem(1) solid var(--shade-2);
462
+ border-radius: 12.5px;
463
+ font-size: toRem.toRem(14);
464
+ color: var(--accent-6);
465
+ }
466
+
467
+ .filePreviewImage {
468
+ width: toRem.toRem(32);
469
+ height: toRem.toRem(32);
470
+ border-radius: 4px;
471
+ object-fit: cover;
472
+ background: var(--shade-2);
473
+ }
474
+
475
+ .filePreviewIcon {
476
+ width: toRem.toRem(32);
477
+ height: toRem.toRem(32);
478
+ display: flex;
479
+ align-items: center;
480
+ justify-content: center;
481
+ background: var(--shade-2);
482
+ border-radius: 4px;
483
+ color: var(--accent-5);
484
+ }
485
+
486
+ .filePreviewInfo {
487
+ display: flex;
488
+ flex-direction: column;
489
+ gap: toRem.toRem(2);
490
+ }
491
+
492
+ .filePreviewName {
493
+ font-weight: 500;
494
+ font-size: toRem.toRem(13);
495
+ max-width: toRem.toRem(80);
496
+ overflow: hidden;
497
+ text-overflow: ellipsis;
498
+ white-space: nowrap;
499
+ }
500
+
501
+ .filePreviewSize {
502
+ font-size: toRem.toRem(11);
503
+ color: var(--accent-4);
504
+ }
505
+
506
+ .filePreviewClear {
507
+ position: absolute;
508
+ top: toRem.toRem(-4);
509
+ right: toRem.toRem(-4);
510
+ width: toRem.toRem(16);
511
+ height: toRem.toRem(16);
512
+ border-radius: 50%;
513
+ color: var(--accent-0);
514
+ border: toRem.toRem(2) solid var(--shade-0);
515
+ display: inline-flex;
516
+ align-items: center;
517
+ justify-content: center;
518
+ cursor: pointer;
519
+ transition: background-color 0.2s;
520
+ }
521
+
522
+ .attachButtonSelected {
523
+ color: var(--accent-4) !important;
524
+ background: var(--shade-1);
525
+ }
526
+
527
+ .attachButtonDisabled {
528
+ color: var(--shade-2);
529
+ pointer-events: none;
530
+ }
531
+
532
+ .voiceButtonListening {
533
+ animation: pulse 1.5s ease-in-out infinite;
534
+ }
535
+
536
+ @keyframes pulse {
537
+ 0%,
538
+ 100% {
539
+ opacity: 1;
540
+ }
541
+ 50% {
542
+ opacity: 0.7;
543
+ }
544
+ }
545
+
546
+ .quotaDisplay {
547
+ animation: slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1);
548
+ border-top: toRem.toRem(1) solid var(--shade-2);
549
+ padding: toRem.toRem(5) 0;
550
+ font-size: toRem.toRem(13);
551
+ position: relative;
552
+ left: toRem.toRem(6);
553
+ }
554
+
555
+ .quotaHeader {
556
+ display: flex;
557
+ align-items: center;
558
+ gap: toRem.toRem(8);
559
+ font-weight: 500;
560
+ margin-bottom: toRem.toRem(8);
561
+ color: var(--accent-6);
562
+ }
563
+
564
+ .quotaItems {
565
+ display: flex;
566
+ flex-direction: column;
567
+ gap: toRem.toRem(6);
568
+ }
569
+
570
+ .quotaItem {
571
+ display: flex;
572
+ align-items: center;
573
+ gap: toRem.toRem(8);
574
+ color: var(--shade-6);
575
+ }
576
+
577
+ .quotaReset {
578
+ margin-left: auto;
579
+ font-size: toRem.toRem(12);
580
+ color: var(--shade-5);
581
+ }
582
+
583
+ .capabilitiesLabel {
584
+ display: flex;
585
+ align-items: flex-start;
586
+ gap: toRem.toRem(7.5);
587
+ margin-top: toRem.toRem(3);
588
+ }
589
+
590
+ .creditInfo {
591
+ font-size: toRem.toRem(13);
592
+ color: var(--shade-7);
593
+ display: flex;
594
+ flex-direction: row;
595
+ justify-content: space-between;
596
+ padding: toRem.toRem(5) toRem.toRem(10);
597
+ gap: toRem.toRem(5);
598
+ text-align: center;
599
+ @media all and (display-mode: standalone) {
600
+ &.ios {
601
+ margin-bottom: toRem.toRem(7.5);
602
+ }
603
+ }
604
+
605
+ &.standalone {
606
+ &.ios {
607
+ margin-bottom: toRem.toRem(7.5);
608
+ }
609
+ }
610
+ }
611
+
612
+ .chatFooter {
613
+ position: absolute;
614
+ bottom: toRem.toRem(2.5);
615
+ padding: toRem.toRem(5) toRem.toRem(10);
616
+ left: 0;
617
+ right: 0;
618
+ display: flex;
619
+ align-items: flex-end;
620
+ }
621
+
622
+ .sendButton {
623
+ position: relative;
624
+ right: toRem.toRem(-2);
625
+ }
626
+
627
+ .sendButton,
628
+ .attachButton,
629
+ .voiceButton {
630
+ display: flex;
631
+ }
632
+
633
+ .chatFooterButtons {
634
+ display: flex;
635
+ align-items: flex-end;
636
+ gap: toRem.toRem(12.5);
637
+ margin-left: auto;
638
+ font-size: toRem.toRem(12);
639
+ &.extension {
640
+ gap: toRem.toRem(7.5);
641
+ }
642
+ }
643
+
644
+ .chatTextArea {
645
+ width: 100%;
646
+ display: flex;
647
+ height: var(--textarea-height, auto);
648
+ transition:
649
+ height 0.2s ease-out,
650
+ transform 0.2s ease-out,
651
+ opacity 0.2s ease-out;
652
+ will-change: height, transform;
653
+ overflow-y: hidden;
654
+ resize: none;
655
+ padding-right: 0;
656
+
657
+ /* Initial state - slide up from below */
658
+ transform: translateY(10px);
659
+ opacity: 0;
660
+
661
+ /* Animate to final position */
662
+ animation: slideUpIn 0.3s ease-out forwards;
663
+
664
+ &,
665
+ &:focus,
666
+ &:active,
667
+ &:hover {
668
+ border: none;
669
+ outline: none;
670
+ background-color: transparent;
671
+ }
672
+ }
673
+
674
+ @keyframes slideUpIn {
675
+ from {
676
+ transform: translateY(10px);
677
+ opacity: 0;
678
+ }
679
+ to {
680
+ transform: translateY(0);
681
+ opacity: 1;
682
+ }
683
+ }
684
+
685
+ .favoriteButton {
686
+ &:hover {
687
+ svg {
688
+ fill: var(--accent-1);
689
+ }
690
+ }
691
+ }
692
+
693
+ .agentButtonModal {
694
+ display: flex;
695
+ align-items: center;
696
+ gap: toRem.toRem(5);
697
+
698
+ &.active {
699
+ background-color: var(--accent-6);
700
+ }
701
+
702
+ &.favorite {
703
+ background-color: var(--accent-1);
704
+ }
705
+
706
+ &.inactive {
707
+ background-color: var(--shade-3);
708
+ color: var(--shade-1);
709
+ }
710
+
711
+ &.current {
712
+ background-color: var(--accent-4);
713
+ }
714
+ }
715
+
716
+ .agentButtonContainer {
717
+ display: flex;
718
+ align-items: center;
719
+ gap: toRem.toRem(15);
720
+ }
721
+
722
+ .speechModalTitle {
723
+ display: flex;
724
+ align-items: center;
725
+ justify-content: space-between;
726
+ flex: 1;
727
+ }
728
+
729
+ .speechModalTitleButton {
730
+ margin-left: auto;
731
+ }
732
+
733
+ .title {
734
+ font-display: swap;
735
+ display: flex;
736
+ align-items: center;
737
+ justify-content: center;
738
+ text-align: center;
739
+ font-size: clamp(1.2rem, 4vw, 1.625rem);
740
+ margin: 0 0 toRem.toRem(15) 0;
741
+ gap: toRem.toRem(5);
742
+ }
743
+
744
+ .modalTitle {
745
+ margin: 0;
746
+ }
747
+
748
+ .modalContent {
749
+ display: flex;
750
+ flex-direction: column;
751
+ gap: toRem.toRem(12.5);
752
+
753
+ .buttonContainer {
754
+ display: flex;
755
+ align-items: center;
756
+ gap: toRem.toRem(15);
757
+ flex: 1;
758
+ width: 100%;
759
+ }
760
+
761
+ .stateLabel {
762
+ font-size: toRem.toRem(14);
763
+ color: var(--shade-7);
764
+ margin-left: auto;
765
+ display: flex;
766
+ align-items: center;
767
+ gap: toRem.toRem(5);
768
+ }
769
+
770
+ .stateLabelContainer {
771
+ display: flex;
772
+ align-items: center;
773
+ gap: toRem.toRem(10);
774
+ margin-left: auto;
775
+
776
+ .creditCost {
777
+ gap: toRem.toRem(5);
778
+ font-size: toRem.toRem(12);
779
+ display: none;
780
+
781
+ @media (min-width: toRem.toRem(390)) {
782
+ display: flex;
783
+ }
784
+ }
785
+ }
786
+ }
787
+
788
+ .suggestionsContainer {
789
+ display: flex;
790
+ flex-direction: column;
791
+ position: relative;
792
+ align-items: center;
793
+ gap: toRem.toRem(12.5);
794
+ }
795
+
796
+ .enableTasksButton {
797
+ display: flex;
798
+ align-items: center;
799
+ gap: toRem.toRem(5);
800
+ }
801
+
802
+ .suggestions {
803
+ display: flex;
804
+ flex-direction: column;
805
+ gap: toRem.toRem(8.5);
806
+ position: relative;
807
+ justify-content: center;
808
+ align-items: center;
809
+
810
+ @media (min-width: breakpoints.$breakpoint-desktop) {
811
+ top: 0;
812
+ }
813
+ }
814
+
815
+ .suggestion {
816
+ display: flex;
817
+ align-items: center;
818
+ gap: toRem.toRem(5);
819
+ color: var(--shade-6);
820
+ font-size: toRem.toRem(14);
821
+ text-align: center !important;
822
+ &.selected {
823
+ color: var(--accent-6);
824
+ }
825
+
826
+ @media (min-width: breakpoints.$breakpoint-mobile-small) {
827
+ font-size: toRem.toRem(16);
828
+ }
829
+ }
830
+
831
+ .suggestionsList {
832
+ opacity: 0;
833
+
834
+ @media (prefers-reduced-motion: reduce) {
835
+ opacity: 1 !important;
836
+ }
837
+ }
838
+
839
+ .suggestionItem {
840
+ opacity: 0;
841
+
842
+ @media (prefers-reduced-motion: reduce) {
843
+ opacity: 1 !important;
844
+ }
845
+ }
846
+
847
+ .imageGenerationButton {
848
+ position: absolute;
849
+ right: toRem.toRem(7.5);
850
+ top: toRem.toRem(7.5);
851
+ }
852
+
853
+ .agentModalDescription {
854
+ font-size: toRem.toRem(14);
855
+ color: var(--shade-7);
856
+ display: flex;
857
+ flex-direction: column;
858
+ align-items: flex-start;
859
+ gap: toRem.toRem(10);
860
+ }
861
+
862
+ .agentButton {
863
+ display: flex;
864
+ align-items: center;
865
+ gap: toRem.toRem(2.5);
866
+ }
867
+
868
+ .agentName {
869
+ max-width: toRem.toRem(75);
870
+ overflow: hidden;
871
+ text-overflow: ellipsis;
872
+ white-space: nowrap;
873
+
874
+ @media (min-width: breakpoints.$breakpoint-mobile-small) {
875
+ max-width: toRem.toRem(150);
876
+ }
877
+ }
878
+
879
+ .agentModal {
880
+ display: flex;
881
+ flex-direction: column;
882
+ gap: toRem.toRem(7.5);
883
+ align-items: flex-start;
884
+ max-width: breakpoints.$breakpoint-mobile-max;
885
+ }
886
+
887
+ .video {
888
+ width: toRem.toRem(30);
889
+ height: toRem.toRem(30);
890
+ object-fit: cover;
891
+ border-radius: 50%;
892
+ pointer-events: none; // So clicks pass through to foreground content
893
+ }
894
+
895
+ .videoContainer {
896
+ position: relative;
897
+ background-color: #000;
898
+ padding: 2px;
899
+ width: toRem.toRem(34);
900
+ height: toRem.toRem(34);
901
+ display: inline-flex;
902
+ border-radius: 50%;
903
+ display: flex;
904
+ align-items: center;
905
+ justify-content: center;
906
+ cursor: pointer;
907
+ box-shadow: var(--shadow);
908
+ animation: fadeIn 0.2s ease-in-out;
909
+ position: relative;
910
+ right: toRem.toRem(-2);
911
+ svg {
912
+ display: none;
913
+ position: absolute;
914
+ }
915
+
916
+ border: toRem.toRem(1) solid transparent;
917
+
918
+ &.loading {
919
+ svg {
920
+ display: inline;
921
+ }
922
+
923
+ .video {
924
+ display: none;
925
+ }
926
+ }
927
+
928
+ &:hover {
929
+ border-color: var(--accent-1);
930
+ transition: border-color 0.4s ease-in-out;
931
+ }
932
+ }