@helpway/react 0.1.0 → 0.1.1

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/dist/index.css ADDED
@@ -0,0 +1,2865 @@
1
+ /* src/themed/styles.css */
2
+ :host {
3
+ all: initial;
4
+ font-family:
5
+ -apple-system,
6
+ BlinkMacSystemFont,
7
+ "Segoe UI",
8
+ Roboto,
9
+ "Helvetica Neue",
10
+ Arial,
11
+ sans-serif;
12
+ font-size: 14px;
13
+ line-height: 1.5;
14
+ color: #1a1a1a;
15
+ -webkit-font-smoothing: antialiased;
16
+ -moz-osx-font-smoothing: grayscale;
17
+ }
18
+ .hw-widget *,
19
+ .hw-widget *::before,
20
+ .hw-widget *::after {
21
+ box-sizing: border-box;
22
+ margin: 0;
23
+ padding: 0;
24
+ }
25
+ .hw-widget {
26
+ --hw-primary: #171717;
27
+ --hw-primary-hover: #2a2a2a;
28
+ --hw-focus-border: #9ca3af;
29
+ --hw-focus-ring: rgba(0, 0, 0, 0.06);
30
+ --hw-accent: #6366f1;
31
+ --hw-bg: #ffffff;
32
+ --hw-bg-subtle: #fafafa;
33
+ --hw-bg-hover: #f5f5f5;
34
+ --hw-border: #f0f0f0;
35
+ --hw-border-md: #e5e5e5;
36
+ --hw-text: #111;
37
+ --hw-text-1: #111;
38
+ --hw-text-2: #666;
39
+ --hw-text-3: #999;
40
+ --hw-text-4: #bbb;
41
+ --hw-radius: 16px;
42
+ --hw-visitor-bubble-bg: #f0f0f0;
43
+ --hw-visitor-bubble-text: #1a1a1a;
44
+ --hw-font: inherit;
45
+ }
46
+ .hw-agent-img {
47
+ width: 100%;
48
+ height: 100%;
49
+ object-fit: cover;
50
+ }
51
+ .hw-agent-icon {
52
+ width: 100%;
53
+ height: 100%;
54
+ border-radius: inherit;
55
+ }
56
+ .hw-widget :focus-visible {
57
+ outline: 2px solid var(--hw-primary);
58
+ outline-offset: 2px;
59
+ }
60
+ .hw-widget :focus:not(:focus-visible) {
61
+ outline: none;
62
+ }
63
+ .hw-widget {
64
+ position: fixed;
65
+ bottom: 20px;
66
+ right: var(--hw-position-right, 20px);
67
+ left: var(--hw-position-left, auto);
68
+ z-index: 999999;
69
+ font-family: var(--hw-font);
70
+ }
71
+ .hw-bubble {
72
+ width: 48px;
73
+ height: 48px;
74
+ border-radius: 14px;
75
+ background: var(--hw-primary);
76
+ color: white;
77
+ border: none;
78
+ cursor: pointer;
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: center;
82
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
83
+ transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;
84
+ position: relative;
85
+ overflow: visible;
86
+ }
87
+ .hw-bubble--rounded {
88
+ border-radius: 14px;
89
+ }
90
+ .hw-bubble--square {
91
+ border-radius: 8px;
92
+ }
93
+ .hw-bubble--pill {
94
+ border-radius: 24px;
95
+ }
96
+ .hw-bubble--launcher-bubble,
97
+ .hw-bubble--launcher-help {
98
+ width: auto;
99
+ padding: 0 16px 0 12px;
100
+ gap: 8px;
101
+ border-radius: 24px;
102
+ }
103
+ .hw-bubble--launcher-bubble.hw-bubble--square,
104
+ .hw-bubble--launcher-help.hw-bubble--square {
105
+ border-radius: 8px;
106
+ }
107
+ .hw-bubble--launcher-bubble.hw-bubble--rounded,
108
+ .hw-bubble--launcher-help.hw-bubble--rounded {
109
+ border-radius: 14px;
110
+ }
111
+ .hw-bubble-label {
112
+ font-size: 14px;
113
+ font-weight: 600;
114
+ white-space: nowrap;
115
+ line-height: 1;
116
+ position: static;
117
+ opacity: 1;
118
+ transform: none;
119
+ }
120
+ .hw-bubble--launcher-bubble .hw-bubble-icon,
121
+ .hw-bubble--launcher-help .hw-bubble-icon {
122
+ position: static;
123
+ }
124
+ .hw-bubble:hover {
125
+ transform: scale(1.05);
126
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
127
+ }
128
+ .hw-bubble:active {
129
+ transform: scale(0.95);
130
+ }
131
+ .hw-bubble--open {
132
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
133
+ }
134
+ .hw-bubble:focus-visible {
135
+ outline: 2px solid white;
136
+ outline-offset: 2px;
137
+ }
138
+ .hw-bubble-icon {
139
+ display: flex;
140
+ align-items: center;
141
+ justify-content: center;
142
+ position: absolute;
143
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease;
144
+ }
145
+ .hw-bubble-icon svg {
146
+ width: 22px;
147
+ height: 22px;
148
+ }
149
+ .hw-bubble-icon--hidden {
150
+ transform: scale(0.3) rotate(90deg);
151
+ opacity: 0;
152
+ }
153
+ .hw-bubble-icon--bot {
154
+ }
155
+ .hw-bubble--avatar .hw-bubble-icon--bot {
156
+ width: 100%;
157
+ height: 100%;
158
+ }
159
+ .hw-bubble--avatar .hw-bubble-icon--bot .hw-agent-img {
160
+ width: 100%;
161
+ height: 100%;
162
+ border-radius: 0;
163
+ }
164
+ .hw-bubble-icon--close svg {
165
+ width: 22px;
166
+ height: 22px;
167
+ }
168
+ .hw-bubble-badge {
169
+ position: absolute;
170
+ top: -4px;
171
+ right: -4px;
172
+ min-width: 20px;
173
+ height: 20px;
174
+ border-radius: 10px;
175
+ background: var(--hw-primary);
176
+ color: white;
177
+ font-size: 11px;
178
+ font-weight: 700;
179
+ display: flex;
180
+ align-items: center;
181
+ justify-content: center;
182
+ padding: 0 5px;
183
+ border: 2px solid white;
184
+ animation: hw-badge-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
185
+ }
186
+ @keyframes hw-badge-pop {
187
+ from {
188
+ transform: scale(0);
189
+ }
190
+ to {
191
+ transform: scale(1);
192
+ }
193
+ }
194
+ .hw-bubble-badge::after {
195
+ content: "";
196
+ position: absolute;
197
+ inset: -2px;
198
+ border-radius: inherit;
199
+ background: var(--hw-primary);
200
+ opacity: 0;
201
+ animation: hw-badge-pulse 2s ease-out infinite;
202
+ }
203
+ @keyframes hw-badge-pulse {
204
+ 0% {
205
+ opacity: 0.5;
206
+ transform: scale(1);
207
+ }
208
+ 100% {
209
+ opacity: 0;
210
+ transform: scale(1.8);
211
+ }
212
+ }
213
+ .hw-window {
214
+ position: absolute;
215
+ bottom: 72px;
216
+ right: var(--hw-window-right, 0);
217
+ left: var(--hw-window-left, auto);
218
+ width: 440px;
219
+ height: 640px;
220
+ background: var(--hw-bg-subtle);
221
+ color: var(--hw-text);
222
+ border-radius: var(--hw-radius);
223
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
224
+ display: flex;
225
+ flex-direction: column;
226
+ overflow: hidden;
227
+ animation: hw-window-open 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
228
+ }
229
+ @keyframes hw-window-open {
230
+ from {
231
+ opacity: 0;
232
+ transform: translateY(12px) scale(0.96);
233
+ }
234
+ to {
235
+ opacity: 1;
236
+ transform: translateY(0) scale(1);
237
+ }
238
+ }
239
+ .hw-window--closing {
240
+ animation: hw-window-close 0.2s ease forwards;
241
+ }
242
+ @keyframes hw-window-close {
243
+ from {
244
+ opacity: 1;
245
+ transform: translateY(0) scale(1);
246
+ }
247
+ to {
248
+ opacity: 0;
249
+ transform: translateY(8px) scale(0.98);
250
+ }
251
+ }
252
+ .hw-content {
253
+ flex: 1;
254
+ display: flex;
255
+ flex-direction: column;
256
+ overflow: hidden;
257
+ min-height: 0;
258
+ }
259
+ @media (prefers-reduced-motion: reduce) {
260
+ .hw-window,
261
+ .hw-window--closing,
262
+ .hw-content,
263
+ .hw-msg,
264
+ .hw-bubble-icon,
265
+ .hw-bubble-badge,
266
+ .hw-bubble-badge::after,
267
+ .hw-typing-dot,
268
+ .hw-loading-dot {
269
+ animation-duration: 0.01ms !important;
270
+ transition-duration: 0.01ms !important;
271
+ }
272
+ }
273
+ .hw-hero {
274
+ flex-shrink: 0;
275
+ background:
276
+ linear-gradient(
277
+ 160deg,
278
+ color-mix(in srgb, var(--hw-primary) 60%, black) 0%,
279
+ var(--hw-primary) 50%,
280
+ color-mix(in srgb, var(--hw-primary) 40%, black) 100%);
281
+ color: white;
282
+ padding: 20px 22px 40px;
283
+ }
284
+ .hw-hero-top {
285
+ display: flex;
286
+ align-items: center;
287
+ justify-content: space-between;
288
+ margin-bottom: 16px;
289
+ }
290
+ .hw-hero-close {
291
+ width: 30px;
292
+ height: 30px;
293
+ border-radius: 50%;
294
+ border: none;
295
+ background: rgba(255, 255, 255, 0.1);
296
+ color: rgba(255, 255, 255, 0.6);
297
+ cursor: pointer;
298
+ display: flex;
299
+ align-items: center;
300
+ justify-content: center;
301
+ transition: background 0.15s, color 0.15s;
302
+ }
303
+ .hw-hero-close:hover {
304
+ background: rgba(255, 255, 255, 0.2);
305
+ color: white;
306
+ }
307
+ .hw-hero-close:active {
308
+ transform: scale(0.92);
309
+ transition:
310
+ transform 0.14s cubic-bezier(0.23, 1, 0.32, 1),
311
+ background 0.15s,
312
+ color 0.15s;
313
+ }
314
+ .hw-hero-close svg {
315
+ width: 20px;
316
+ height: 20px;
317
+ }
318
+ .hw-hero-bot-icon {
319
+ width: 36px;
320
+ height: 36px;
321
+ flex-shrink: 0;
322
+ color: white;
323
+ display: flex;
324
+ align-items: center;
325
+ justify-content: center;
326
+ border-radius: 10px;
327
+ overflow: hidden;
328
+ }
329
+ .hw-hero-bot-icon svg {
330
+ width: 32px;
331
+ height: 32px;
332
+ }
333
+ .hw-hero-greeting {
334
+ font-size: 26px;
335
+ font-weight: 700;
336
+ line-height: 1.15;
337
+ margin-bottom: 6px;
338
+ }
339
+ .hw-hero-greeting-name {
340
+ font-weight: 300;
341
+ }
342
+ .hw-hero-greeting-question {
343
+ font-weight: 700;
344
+ }
345
+ .hw-hero-subtitle {
346
+ font-size: 15px;
347
+ color: rgba(255, 255, 255, 0.5);
348
+ line-height: 1.35;
349
+ }
350
+ .hw-sheet {
351
+ flex: 1;
352
+ overflow-y: auto;
353
+ min-height: 0;
354
+ background: #ffffff;
355
+ border-radius: 20px 20px 0 0;
356
+ margin-top: -24px;
357
+ box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
358
+ position: relative;
359
+ z-index: 1;
360
+ }
361
+ .hw-sheet-inner {
362
+ padding: 20px 16px;
363
+ display: flex;
364
+ flex-direction: column;
365
+ gap: 12px;
366
+ }
367
+ .hw-header {
368
+ display: flex;
369
+ align-items: center;
370
+ padding: 12px 16px;
371
+ background: var(--hw-primary);
372
+ color: white;
373
+ flex-shrink: 0;
374
+ gap: 10px;
375
+ }
376
+ .hw-header--sub {
377
+ justify-content: space-between;
378
+ background: transparent;
379
+ color: var(--hw-text);
380
+ border-bottom: 1px solid var(--hw-border);
381
+ }
382
+ .hw-header-back {
383
+ width: 28px;
384
+ height: 28px;
385
+ border-radius: 8px;
386
+ border: none;
387
+ background: transparent;
388
+ color: var(--hw-text-3);
389
+ cursor: pointer;
390
+ display: flex;
391
+ align-items: center;
392
+ justify-content: center;
393
+ transition: color 0.15s, background 0.15s;
394
+ flex-shrink: 0;
395
+ }
396
+ .hw-header-back svg {
397
+ width: 18px;
398
+ height: 18px;
399
+ }
400
+ .hw-header-back:hover {
401
+ color: var(--hw-text);
402
+ background: var(--hw-bg-subtle);
403
+ }
404
+ .hw-header-identity {
405
+ display: flex;
406
+ align-items: center;
407
+ gap: 10px;
408
+ flex: 1;
409
+ min-width: 0;
410
+ }
411
+ .hw-header-bot-icon {
412
+ width: 28px;
413
+ height: 28px;
414
+ flex-shrink: 0;
415
+ color: var(--hw-text);
416
+ display: flex;
417
+ align-items: center;
418
+ justify-content: center;
419
+ border-radius: 8px;
420
+ overflow: hidden;
421
+ }
422
+ .hw-header-bot-icon svg {
423
+ width: 24px;
424
+ height: 24px;
425
+ }
426
+ .hw-header-info {
427
+ flex: 1;
428
+ min-width: 0;
429
+ }
430
+ .hw-header-name {
431
+ font-size: 14px;
432
+ font-weight: 600;
433
+ line-height: 1.3;
434
+ }
435
+ .hw-header-status {
436
+ font-size: 12px;
437
+ color: var(--hw-text-3);
438
+ line-height: 1.3;
439
+ }
440
+ .hw-header-close {
441
+ width: 28px;
442
+ height: 28px;
443
+ border-radius: 8px;
444
+ border: none;
445
+ background: transparent;
446
+ color: var(--hw-text-3);
447
+ cursor: pointer;
448
+ display: flex;
449
+ align-items: center;
450
+ justify-content: center;
451
+ transition:
452
+ background-color 140ms cubic-bezier(0.23, 1, 0.32, 1),
453
+ color 140ms cubic-bezier(0.23, 1, 0.32, 1),
454
+ transform 140ms cubic-bezier(0.23, 1, 0.32, 1);
455
+ flex-shrink: 0;
456
+ }
457
+ .hw-header-close svg {
458
+ width: 20px;
459
+ height: 20px;
460
+ }
461
+ .hw-header-close:hover {
462
+ background: var(--hw-bg-subtle);
463
+ color: var(--hw-text);
464
+ }
465
+ .hw-header-close:active {
466
+ transform: scale(0.92);
467
+ }
468
+ .hw-header--centered {
469
+ justify-content: space-between;
470
+ background: transparent;
471
+ color: var(--hw-text);
472
+ border-bottom: 1px solid var(--hw-border);
473
+ }
474
+ .hw-header--centered .hw-header-title {
475
+ position: absolute;
476
+ left: 50%;
477
+ transform: translateX(-50%);
478
+ max-width: calc(100% - 88px);
479
+ white-space: nowrap;
480
+ overflow: hidden;
481
+ text-overflow: ellipsis;
482
+ text-align: center;
483
+ }
484
+ .hw-header-spacer {
485
+ width: 28px;
486
+ flex-shrink: 0;
487
+ }
488
+ .hw-header--messages {
489
+ justify-content: space-between;
490
+ background: transparent;
491
+ color: var(--hw-text);
492
+ border-bottom: 1px solid var(--hw-border);
493
+ }
494
+ .hw-header-title {
495
+ font-size: 16px;
496
+ font-weight: 600;
497
+ }
498
+ .hw-header-actions {
499
+ display: flex;
500
+ align-items: center;
501
+ gap: 6px;
502
+ }
503
+ .hw-header-action {
504
+ width: 28px;
505
+ height: 28px;
506
+ border-radius: 8px;
507
+ border: none;
508
+ background: transparent;
509
+ color: var(--hw-text-3);
510
+ cursor: pointer;
511
+ display: flex;
512
+ align-items: center;
513
+ justify-content: center;
514
+ transition:
515
+ background-color 140ms cubic-bezier(0.23, 1, 0.32, 1),
516
+ color 140ms cubic-bezier(0.23, 1, 0.32, 1),
517
+ transform 140ms cubic-bezier(0.23, 1, 0.32, 1);
518
+ }
519
+ .hw-header-action svg {
520
+ width: 16px;
521
+ height: 16px;
522
+ }
523
+ .hw-header-action:hover {
524
+ background: var(--hw-bg-subtle);
525
+ color: var(--hw-text);
526
+ }
527
+ .hw-header-action:active {
528
+ transform: scale(0.94);
529
+ }
530
+ .hw-card {
531
+ display: flex;
532
+ align-items: center;
533
+ gap: 12px;
534
+ width: 100%;
535
+ padding: 14px 16px;
536
+ border-radius: 14px;
537
+ background: var(--hw-bg);
538
+ border: 1px solid rgba(0, 0, 0, 0.06);
539
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.03);
540
+ cursor: pointer;
541
+ transition: box-shadow 180ms cubic-bezier(0.23, 1, 0.32, 1), transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
542
+ text-align: left;
543
+ color: var(--hw-text);
544
+ font-family: inherit;
545
+ }
546
+ .hw-card:hover {
547
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.05);
548
+ transform: translateY(-1px);
549
+ }
550
+ .hw-card:active {
551
+ transform: translateY(0) scale(0.99);
552
+ transition-duration: 120ms;
553
+ }
554
+ .hw-card-body {
555
+ flex: 1;
556
+ min-width: 0;
557
+ }
558
+ .hw-card-title {
559
+ font-size: 14px;
560
+ font-weight: 600;
561
+ line-height: 1.3;
562
+ color: var(--hw-text);
563
+ }
564
+ .hw-card-meta {
565
+ font-size: 12px;
566
+ color: var(--hw-text-3);
567
+ line-height: 1.3;
568
+ margin-top: 1px;
569
+ }
570
+ .hw-card-arrow {
571
+ width: 32px;
572
+ height: 32px;
573
+ border-radius: 50%;
574
+ background: var(--hw-primary);
575
+ color: white;
576
+ display: flex;
577
+ align-items: center;
578
+ justify-content: center;
579
+ flex-shrink: 0;
580
+ }
581
+ .hw-card-arrow svg {
582
+ width: 14px;
583
+ height: 14px;
584
+ }
585
+ .hw-msgs-tab {
586
+ flex: 1;
587
+ overflow-y: auto;
588
+ padding: 12px 16px;
589
+ display: flex;
590
+ flex-direction: column;
591
+ gap: 8px;
592
+ }
593
+ .hw-recent-card {
594
+ border-radius: 14px;
595
+ background: var(--hw-bg);
596
+ border: 1px solid rgba(0, 0, 0, 0.06);
597
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.03);
598
+ overflow: hidden;
599
+ }
600
+ .hw-recent-header {
601
+ font-size: 12px;
602
+ font-weight: 600;
603
+ color: var(--hw-text-2);
604
+ padding: 12px 14px 0;
605
+ }
606
+ .hw-recent-row {
607
+ display: flex;
608
+ align-items: center;
609
+ gap: 10px;
610
+ width: 100%;
611
+ padding: 10px 14px;
612
+ border: none;
613
+ border-bottom: 1px solid var(--hw-border);
614
+ background: none;
615
+ cursor: pointer;
616
+ text-align: left;
617
+ font-family: inherit;
618
+ color: var(--hw-text);
619
+ transition: background-color 140ms cubic-bezier(0.23, 1, 0.32, 1), transform 140ms cubic-bezier(0.23, 1, 0.32, 1);
620
+ position: relative;
621
+ }
622
+ .hw-recent-row:hover {
623
+ background: rgba(0, 0, 0, 0.03);
624
+ }
625
+ .hw-recent-row:active {
626
+ transform: scale(0.995);
627
+ }
628
+ .hw-recent-row--last {
629
+ border-bottom: none;
630
+ }
631
+ .hw-recent-row .hw-conv-card-avatar {
632
+ width: 32px;
633
+ height: 32px;
634
+ border-radius: 8px;
635
+ }
636
+ .hw-recent-row .hw-conv-card-avatar svg {
637
+ width: 18px;
638
+ height: 18px;
639
+ }
640
+ .hw-recent-row .hw-conv-card-name {
641
+ font-size: 13px;
642
+ }
643
+ .hw-recent-row .hw-conv-card-preview {
644
+ font-size: 12px;
645
+ }
646
+ .hw-recent-row--unread .hw-conv-card-name {
647
+ color: var(--hw-text);
648
+ }
649
+ .hw-recent-row--unread .hw-conv-card-time {
650
+ color: var(--hw-accent);
651
+ font-weight: 500;
652
+ }
653
+ .hw-recent-row-badge {
654
+ min-width: 18px;
655
+ height: 18px;
656
+ border-radius: 9px;
657
+ background: var(--hw-primary);
658
+ color: white;
659
+ font-size: 11px;
660
+ font-weight: 600;
661
+ display: flex;
662
+ align-items: center;
663
+ justify-content: center;
664
+ padding: 0 5px;
665
+ flex-shrink: 0;
666
+ font-variant-numeric: tabular-nums;
667
+ }
668
+ .hw-recent-see-all {
669
+ display: block;
670
+ width: 100%;
671
+ padding: 10px 14px;
672
+ text-align: center;
673
+ font-size: 13px;
674
+ font-weight: 500;
675
+ color: var(--hw-text);
676
+ background: none;
677
+ border: none;
678
+ border-top: 1px solid var(--hw-border);
679
+ cursor: pointer;
680
+ font-family: inherit;
681
+ transition: background 0.1s;
682
+ }
683
+ .hw-recent-see-all:hover {
684
+ background: rgba(0, 0, 0, 0.02);
685
+ }
686
+ .hw-conv-card {
687
+ position: relative;
688
+ display: flex;
689
+ flex-direction: column;
690
+ gap: 4px;
691
+ width: 100%;
692
+ padding: 14px 16px;
693
+ border-radius: 14px;
694
+ background: var(--hw-bg);
695
+ border: 1px solid rgba(0, 0, 0, 0.06);
696
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.03);
697
+ cursor: pointer;
698
+ transition: box-shadow 0.15s, transform 0.1s;
699
+ text-align: left;
700
+ font-family: inherit;
701
+ color: var(--hw-text);
702
+ }
703
+ .hw-conv-card:hover {
704
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.04);
705
+ }
706
+ .hw-conv-card:active {
707
+ transform: scale(0.99);
708
+ }
709
+ .hw-conv-card-row {
710
+ display: flex;
711
+ align-items: center;
712
+ gap: 12px;
713
+ }
714
+ .hw-conv-card-avatar {
715
+ width: 36px;
716
+ height: 36px;
717
+ border-radius: 10px;
718
+ background: var(--hw-bg-subtle);
719
+ color: var(--hw-text-3);
720
+ display: flex;
721
+ align-items: center;
722
+ justify-content: center;
723
+ flex-shrink: 0;
724
+ overflow: hidden;
725
+ }
726
+ .hw-conv-card-avatar svg {
727
+ width: 20px;
728
+ height: 20px;
729
+ }
730
+ .hw-conv-card-content {
731
+ flex: 1;
732
+ min-width: 0;
733
+ }
734
+ .hw-conv-card-top {
735
+ display: flex;
736
+ align-items: baseline;
737
+ gap: 8px;
738
+ }
739
+ .hw-conv-card-name {
740
+ flex: 1;
741
+ font-size: 14px;
742
+ font-weight: 600;
743
+ color: var(--hw-text);
744
+ }
745
+ .hw-conv-card-time {
746
+ font-size: 11px;
747
+ color: var(--hw-text-3);
748
+ flex-shrink: 0;
749
+ font-variant-numeric: tabular-nums;
750
+ }
751
+ .hw-conv-card-preview {
752
+ font-size: 13px;
753
+ color: var(--hw-text-2);
754
+ overflow: hidden;
755
+ text-overflow: ellipsis;
756
+ white-space: nowrap;
757
+ line-height: 1.4;
758
+ margin-top: 1px;
759
+ }
760
+ .hw-conv-card--unread .hw-conv-card-name {
761
+ color: var(--hw-text);
762
+ }
763
+ .hw-conv-card--unread .hw-conv-card-time {
764
+ color: var(--hw-accent);
765
+ font-weight: 500;
766
+ }
767
+ .hw-conv-card-badge {
768
+ position: absolute;
769
+ top: 12px;
770
+ right: 12px;
771
+ min-width: 18px;
772
+ height: 18px;
773
+ border-radius: 9px;
774
+ background: var(--hw-primary);
775
+ color: white;
776
+ font-size: 11px;
777
+ font-weight: 600;
778
+ display: flex;
779
+ align-items: center;
780
+ justify-content: center;
781
+ padding: 0 5px;
782
+ font-variant-numeric: tabular-nums;
783
+ }
784
+ .hw-empty-state {
785
+ flex: 1;
786
+ display: flex;
787
+ flex-direction: column;
788
+ align-items: center;
789
+ justify-content: center;
790
+ padding: 32px;
791
+ text-align: center;
792
+ }
793
+ .hw-empty-icon-wrap {
794
+ width: 48px;
795
+ height: 48px;
796
+ border-radius: 50%;
797
+ background: var(--hw-bg-subtle);
798
+ display: flex;
799
+ align-items: center;
800
+ justify-content: center;
801
+ margin-bottom: 16px;
802
+ color: var(--hw-text-3);
803
+ }
804
+ .hw-empty-icon-wrap svg {
805
+ width: 24px;
806
+ height: 24px;
807
+ }
808
+ .hw-empty-title {
809
+ font-size: 15px;
810
+ font-weight: 600;
811
+ color: var(--hw-text);
812
+ margin-bottom: 4px;
813
+ }
814
+ .hw-empty-desc {
815
+ font-size: 13px;
816
+ color: var(--hw-text-3);
817
+ margin-bottom: 20px;
818
+ }
819
+ .hw-empty-btn {
820
+ padding: 8px 20px;
821
+ border-radius: 10px;
822
+ background: var(--hw-primary);
823
+ color: white;
824
+ border: none;
825
+ font-size: 13px;
826
+ font-weight: 500;
827
+ cursor: pointer;
828
+ font-family: inherit;
829
+ transition: background 0.15s;
830
+ }
831
+ .hw-empty-btn:hover {
832
+ background: var(--hw-primary-hover);
833
+ }
834
+ .hw-tabs {
835
+ display: flex;
836
+ border-top: 1px solid var(--hw-border);
837
+ flex-shrink: 0;
838
+ background: var(--hw-bg-subtle);
839
+ }
840
+ .hw-tabs-item {
841
+ flex: 1;
842
+ display: flex;
843
+ flex-direction: column;
844
+ align-items: center;
845
+ gap: 2px;
846
+ padding: 8px 0;
847
+ border: none;
848
+ background: none;
849
+ cursor: pointer;
850
+ font-family: inherit;
851
+ font-size: 11px;
852
+ font-weight: 500;
853
+ color: var(--hw-text-3);
854
+ transition: color 0.15s;
855
+ }
856
+ .hw-tabs-item svg {
857
+ width: 22px;
858
+ height: 22px;
859
+ }
860
+ .hw-tabs-item--active {
861
+ color: var(--hw-text);
862
+ }
863
+ .hw-tabs-item:hover {
864
+ color: var(--hw-text-2);
865
+ }
866
+ .hw-tabs-item:active {
867
+ transform: scale(0.94);
868
+ transition: transform 0.14s cubic-bezier(0.23, 1, 0.32, 1), color 0.15s;
869
+ }
870
+ .hw-tabs-icon-wrap {
871
+ position: relative;
872
+ display: inline-flex;
873
+ }
874
+ .hw-tabs-badge {
875
+ position: absolute;
876
+ top: -6px;
877
+ right: -10px;
878
+ min-width: 16px;
879
+ height: 16px;
880
+ border-radius: 8px;
881
+ background: var(--hw-primary);
882
+ color: white;
883
+ font-size: 10px;
884
+ font-weight: 700;
885
+ display: flex;
886
+ align-items: center;
887
+ justify-content: center;
888
+ padding: 0 4px;
889
+ font-variant-numeric: tabular-nums;
890
+ }
891
+ .hw-messages {
892
+ flex: 1;
893
+ overflow-y: auto;
894
+ overflow-x: hidden;
895
+ padding: 16px 20px;
896
+ background: var(--hw-bg-subtle);
897
+ display: flex;
898
+ flex-direction: column;
899
+ gap: 2px;
900
+ overscroll-behavior: contain;
901
+ min-width: 0;
902
+ }
903
+ .hw-empty {
904
+ flex: 1;
905
+ display: flex;
906
+ flex-direction: column;
907
+ align-items: center;
908
+ justify-content: center;
909
+ padding: 32px;
910
+ color: var(--hw-text-3);
911
+ text-align: center;
912
+ }
913
+ .hw-empty-icon {
914
+ width: 40px;
915
+ height: 40px;
916
+ margin-bottom: 12px;
917
+ opacity: 0.3;
918
+ }
919
+ .hw-date-sep {
920
+ display: flex;
921
+ align-items: center;
922
+ gap: 12px;
923
+ padding: 12px 0;
924
+ }
925
+ .hw-date-sep-line {
926
+ flex: 1;
927
+ height: 1px;
928
+ background: var(--hw-border-md);
929
+ }
930
+ .hw-date-sep-text {
931
+ font-size: 11px;
932
+ color: var(--hw-text-3);
933
+ font-weight: 500;
934
+ white-space: nowrap;
935
+ }
936
+ .hw-msg {
937
+ display: flex;
938
+ padding: 4px 0;
939
+ max-width: 75%;
940
+ min-width: 0;
941
+ animation: hw-msg-appear 0.25s ease-out;
942
+ }
943
+ @keyframes hw-msg-appear {
944
+ from {
945
+ opacity: 0;
946
+ transform: translateY(6px);
947
+ }
948
+ to {
949
+ opacity: 1;
950
+ transform: translateY(0);
951
+ }
952
+ }
953
+ .hw-msg--visitor {
954
+ align-self: flex-end;
955
+ }
956
+ .hw-msg--team,
957
+ .hw-msg--ai {
958
+ align-self: flex-start;
959
+ }
960
+ .hw-msg-body {
961
+ display: flex;
962
+ flex-direction: column;
963
+ min-width: 0;
964
+ max-width: 100%;
965
+ }
966
+ .hw-msg-bubble {
967
+ padding: 10px 14px;
968
+ border-radius: 18px;
969
+ font-size: 14px;
970
+ line-height: 1.45;
971
+ white-space: pre-wrap;
972
+ word-break: break-word;
973
+ overflow-wrap: anywhere;
974
+ max-width: 100%;
975
+ }
976
+ .hw-msg--visitor .hw-msg-bubble {
977
+ background: var(--hw-primary);
978
+ color: white;
979
+ border-bottom-right-radius: 4px;
980
+ }
981
+ .hw-msg--team .hw-msg-bubble {
982
+ background: var(--hw-visitor-bubble-bg);
983
+ color: var(--hw-visitor-bubble-text);
984
+ border-bottom-left-radius: 4px;
985
+ }
986
+ .hw-msg--ai .hw-msg-bubble {
987
+ background: var(--hw-visitor-bubble-bg);
988
+ color: var(--hw-text);
989
+ border-bottom-left-radius: 4px;
990
+ white-space: normal;
991
+ }
992
+ .hw-msg-meta {
993
+ font-size: 11px;
994
+ color: var(--hw-text-3);
995
+ margin-top: 3px;
996
+ padding: 0 4px;
997
+ opacity: 0;
998
+ transition: opacity 0.15s;
999
+ font-variant-numeric: tabular-nums;
1000
+ }
1001
+ .hw-msg:hover .hw-msg-meta,
1002
+ .hw-msg:focus-within .hw-msg-meta {
1003
+ opacity: 1;
1004
+ }
1005
+ .hw-msg--visitor .hw-msg-meta {
1006
+ text-align: right;
1007
+ }
1008
+ .hw-msg--team .hw-msg-body,
1009
+ .hw-msg--ai .hw-msg-body {
1010
+ align-items: flex-start;
1011
+ }
1012
+ .hw-msg--visitor .hw-msg-body {
1013
+ align-items: flex-end;
1014
+ }
1015
+ .hw-msg-sender {
1016
+ font-size: 11px;
1017
+ font-weight: 500;
1018
+ color: var(--hw-text-3);
1019
+ margin-bottom: 3px;
1020
+ padding: 0 4px;
1021
+ }
1022
+ .hw-typing {
1023
+ display: flex;
1024
+ flex-direction: column;
1025
+ gap: 3px;
1026
+ padding: 8px 0;
1027
+ width: fit-content;
1028
+ animation: hw-msg-appear 0.25s ease-out;
1029
+ }
1030
+ .hw-typing-label {
1031
+ font-size: 11px;
1032
+ font-weight: 500;
1033
+ color: var(--hw-text-3);
1034
+ padding: 0 4px;
1035
+ }
1036
+ .hw-typing-dots {
1037
+ display: flex;
1038
+ gap: 3px;
1039
+ padding: 10px 14px;
1040
+ width: fit-content;
1041
+ background: var(--hw-visitor-bubble-bg);
1042
+ border-radius: var(--hw-radius);
1043
+ border-bottom-left-radius: 4px;
1044
+ }
1045
+ .hw-typing-dot {
1046
+ width: 6px;
1047
+ height: 6px;
1048
+ border-radius: 50%;
1049
+ background: var(--hw-text-3);
1050
+ animation: hw-typing-bounce 1.4s infinite;
1051
+ }
1052
+ .hw-typing-dot:nth-child(2) {
1053
+ animation-delay: 0.2s;
1054
+ }
1055
+ .hw-typing-dot:nth-child(3) {
1056
+ animation-delay: 0.4s;
1057
+ }
1058
+ @keyframes hw-typing-bounce {
1059
+ 0%, 60%, 100% {
1060
+ transform: translateY(0);
1061
+ }
1062
+ 30% {
1063
+ transform: translateY(-4px);
1064
+ }
1065
+ }
1066
+ .hw-loading {
1067
+ flex: 1;
1068
+ display: flex;
1069
+ align-items: center;
1070
+ justify-content: center;
1071
+ }
1072
+ .hw-loading-dots {
1073
+ display: flex;
1074
+ gap: 4px;
1075
+ }
1076
+ .hw-loading-dot {
1077
+ width: 8px;
1078
+ height: 8px;
1079
+ border-radius: 50%;
1080
+ background: var(--hw-text-4);
1081
+ animation: hw-loading-pulse 1.4s infinite;
1082
+ }
1083
+ .hw-loading-dot:nth-child(2) {
1084
+ animation-delay: 0.2s;
1085
+ }
1086
+ .hw-loading-dot:nth-child(3) {
1087
+ animation-delay: 0.4s;
1088
+ }
1089
+ @keyframes hw-loading-pulse {
1090
+ 0%, 60%, 100% {
1091
+ opacity: 0.3;
1092
+ transform: scale(0.8);
1093
+ }
1094
+ 30% {
1095
+ opacity: 1;
1096
+ transform: scale(1);
1097
+ }
1098
+ }
1099
+ @keyframes hw-skeleton-shimmer {
1100
+ 0% {
1101
+ background-position: -200px 0;
1102
+ }
1103
+ 100% {
1104
+ background-position: calc(200px + 100%) 0;
1105
+ }
1106
+ }
1107
+ .hw-skeleton {
1108
+ background:
1109
+ linear-gradient(
1110
+ 90deg,
1111
+ var(--hw-bg-subtle) 25%,
1112
+ rgba(0, 0, 0, 0.04) 50%,
1113
+ var(--hw-bg-subtle) 75%);
1114
+ background-size: 200px 100%;
1115
+ animation: hw-skeleton-shimmer 1.5s ease-in-out infinite;
1116
+ border-radius: 6px;
1117
+ }
1118
+ .hw-skeleton-messages {
1119
+ flex: 1;
1120
+ display: flex;
1121
+ flex-direction: column;
1122
+ padding: 16px;
1123
+ gap: 16px;
1124
+ }
1125
+ .hw-skeleton-msg {
1126
+ display: flex;
1127
+ gap: 10px;
1128
+ align-items: flex-start;
1129
+ }
1130
+ .hw-skeleton-msg--right {
1131
+ flex-direction: row-reverse;
1132
+ }
1133
+ .hw-skeleton-avatar {
1134
+ width: 28px;
1135
+ height: 28px;
1136
+ border-radius: 8px;
1137
+ flex-shrink: 0;
1138
+ }
1139
+ .hw-skeleton-bubble {
1140
+ display: flex;
1141
+ flex-direction: column;
1142
+ gap: 6px;
1143
+ }
1144
+ .hw-skeleton-line {
1145
+ height: 12px;
1146
+ border-radius: 6px;
1147
+ }
1148
+ .hw-skeleton-convs {
1149
+ display: flex;
1150
+ flex-direction: column;
1151
+ padding: 8px 0;
1152
+ }
1153
+ .hw-skeleton-conv {
1154
+ display: flex;
1155
+ gap: 10px;
1156
+ align-items: center;
1157
+ padding: 10px 16px;
1158
+ }
1159
+ .hw-skeleton-conv-avatar {
1160
+ width: 36px;
1161
+ height: 36px;
1162
+ border-radius: 8px;
1163
+ flex-shrink: 0;
1164
+ }
1165
+ .hw-skeleton-conv-lines {
1166
+ flex: 1;
1167
+ display: flex;
1168
+ flex-direction: column;
1169
+ gap: 6px;
1170
+ }
1171
+ .hw-skeleton-content {
1172
+ display: flex;
1173
+ flex-direction: column;
1174
+ padding: 12px 16px;
1175
+ gap: 12px;
1176
+ }
1177
+ .hw-skeleton-content-item {
1178
+ display: flex;
1179
+ flex-direction: column;
1180
+ gap: 6px;
1181
+ padding: 12px;
1182
+ border-radius: 10px;
1183
+ background: var(--hw-bg);
1184
+ }
1185
+ .hw-email-card {
1186
+ margin: 0 12px;
1187
+ padding: 14px 16px 10px;
1188
+ border: 1px solid var(--hw-border, rgba(0,0,0,0.08));
1189
+ border-radius: 14px;
1190
+ background: var(--hw-surface, #fff);
1191
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.03);
1192
+ animation: hw-email-slide-in 0.25s ease-out;
1193
+ }
1194
+ @keyframes hw-email-slide-in {
1195
+ from {
1196
+ opacity: 0;
1197
+ transform: translateY(8px);
1198
+ }
1199
+ to {
1200
+ opacity: 1;
1201
+ transform: translateY(0);
1202
+ }
1203
+ }
1204
+ .hw-email-card-header {
1205
+ display: flex;
1206
+ align-items: flex-start;
1207
+ gap: 10px;
1208
+ margin-bottom: 12px;
1209
+ }
1210
+ .hw-email-card-icon {
1211
+ flex-shrink: 0;
1212
+ width: 32px;
1213
+ height: 32px;
1214
+ border-radius: 8px;
1215
+ background: var(--hw-brand, #0a0a0a);
1216
+ display: flex;
1217
+ align-items: center;
1218
+ justify-content: center;
1219
+ color: #fff;
1220
+ }
1221
+ .hw-email-card-title {
1222
+ font-size: 13px;
1223
+ font-weight: 600;
1224
+ color: var(--hw-text, #1a1a1a);
1225
+ line-height: 1.3;
1226
+ margin: 0 0 2px;
1227
+ }
1228
+ .hw-email-card-subtitle {
1229
+ font-size: 12px;
1230
+ color: var(--hw-text-muted, #888);
1231
+ line-height: 1.4;
1232
+ margin: 0;
1233
+ }
1234
+ .hw-email-card-input {
1235
+ width: 100%;
1236
+ padding: 9px 12px;
1237
+ border-radius: 10px;
1238
+ border: 1px solid var(--hw-border, rgba(0,0,0,0.1));
1239
+ background: var(--hw-bg, #fafafa);
1240
+ color: var(--hw-text, #1a1a1a);
1241
+ font-size: 13px;
1242
+ outline: none;
1243
+ margin-bottom: 8px;
1244
+ box-sizing: border-box;
1245
+ transition: border-color 0.15s;
1246
+ }
1247
+ .hw-email-card-input:focus {
1248
+ border-color: var(--hw-brand, #0a0a0a);
1249
+ box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
1250
+ }
1251
+ .hw-email-card-input--error {
1252
+ border-color: #ef4444;
1253
+ }
1254
+ .hw-email-card-submit {
1255
+ width: 100%;
1256
+ padding: 9px;
1257
+ border-radius: 10px;
1258
+ border: none;
1259
+ background: var(--hw-brand, #0a0a0a);
1260
+ color: #fff;
1261
+ font-size: 13px;
1262
+ font-weight: 500;
1263
+ cursor: pointer;
1264
+ transition: opacity 0.15s;
1265
+ display: flex;
1266
+ align-items: center;
1267
+ justify-content: center;
1268
+ gap: 6px;
1269
+ }
1270
+ .hw-email-card-submit:hover:not(:disabled) {
1271
+ opacity: 0.88;
1272
+ }
1273
+ .hw-email-card-submit:disabled {
1274
+ opacity: 0.5;
1275
+ cursor: not-allowed;
1276
+ }
1277
+ .hw-email-card--success {
1278
+ display: flex;
1279
+ align-items: center;
1280
+ justify-content: center;
1281
+ gap: 6px;
1282
+ padding: 10px 16px;
1283
+ font-size: 13px;
1284
+ color: var(--hw-text-muted, #888);
1285
+ animation: hw-email-slide-in 0.2s ease-out;
1286
+ }
1287
+ .hw-email-card--success svg {
1288
+ flex-shrink: 0;
1289
+ }
1290
+ .hw-composer {
1291
+ display: flex;
1292
+ flex-direction: column;
1293
+ padding: 12px 16px;
1294
+ background: transparent;
1295
+ flex-shrink: 0;
1296
+ }
1297
+ .hw-composer--compact {
1298
+ padding: 8px 12px;
1299
+ }
1300
+ .hw-composer-box {
1301
+ display: flex;
1302
+ flex-direction: column;
1303
+ border: 2px solid var(--hw-border-md);
1304
+ border-radius: 16px;
1305
+ overflow: hidden;
1306
+ transition: border-color 0.2s;
1307
+ background: var(--hw-bg);
1308
+ }
1309
+ .hw-composer-box:focus-within {
1310
+ border-color: var(--hw-focus-border);
1311
+ box-shadow: 0 0 0 3px var(--hw-focus-ring);
1312
+ }
1313
+ .hw-composer-input {
1314
+ flex: 1;
1315
+ resize: none;
1316
+ border: none;
1317
+ padding: 12px 16px 4px;
1318
+ font-size: 14px;
1319
+ font-family: inherit;
1320
+ line-height: 1.4;
1321
+ outline: none;
1322
+ min-height: 40px;
1323
+ max-height: 120px;
1324
+ background: transparent;
1325
+ color: var(--hw-text);
1326
+ }
1327
+ .hw-composer-input:focus {
1328
+ outline: none;
1329
+ }
1330
+ .hw-composer-input:focus-visible {
1331
+ outline: none;
1332
+ }
1333
+ .hw-composer-input::placeholder {
1334
+ color: var(--hw-text-4);
1335
+ }
1336
+ .hw-composer-toolbar {
1337
+ display: flex;
1338
+ align-items: center;
1339
+ justify-content: space-between;
1340
+ padding: 4px 10px 10px;
1341
+ }
1342
+ .hw-composer-toolbar-left {
1343
+ display: flex;
1344
+ align-items: center;
1345
+ gap: 4px;
1346
+ }
1347
+ .hw-composer-send {
1348
+ width: 32px;
1349
+ height: 32px;
1350
+ border-radius: 50%;
1351
+ border: none;
1352
+ cursor: pointer;
1353
+ display: flex;
1354
+ align-items: center;
1355
+ justify-content: center;
1356
+ flex-shrink: 0;
1357
+ transition:
1358
+ background-color 140ms cubic-bezier(0.23, 1, 0.32, 1),
1359
+ color 140ms cubic-bezier(0.23, 1, 0.32, 1),
1360
+ transform 140ms cubic-bezier(0.23, 1, 0.32, 1);
1361
+ }
1362
+ .hw-composer-send:active:not(:disabled) {
1363
+ transform: scale(0.9);
1364
+ }
1365
+ .hw-composer-send--active {
1366
+ background: var(--hw-primary);
1367
+ color: white;
1368
+ }
1369
+ .hw-composer-send--inactive {
1370
+ background: var(--hw-border);
1371
+ color: var(--hw-text-4);
1372
+ cursor: default;
1373
+ }
1374
+ .hw-composer-send svg {
1375
+ width: 14px;
1376
+ height: 14px;
1377
+ }
1378
+ .hw-composer-charcount {
1379
+ font-size: 11px;
1380
+ color: var(--hw-text-3);
1381
+ font-variant-numeric: tabular-nums;
1382
+ opacity: 1;
1383
+ transform: translateY(0);
1384
+ transition:
1385
+ color 180ms cubic-bezier(0.23, 1, 0.32, 1),
1386
+ opacity 180ms cubic-bezier(0.23, 1, 0.32, 1),
1387
+ transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
1388
+ }
1389
+ @starting-style {
1390
+ .hw-composer-charcount {
1391
+ opacity: 0;
1392
+ transform: translateY(3px);
1393
+ }
1394
+ }
1395
+ .hw-composer-charcount--over {
1396
+ color: #ef4444;
1397
+ font-weight: 600;
1398
+ }
1399
+ @media (prefers-reduced-motion: reduce) {
1400
+ .hw-composer-charcount {
1401
+ transform: none;
1402
+ transition: color 160ms ease, opacity 160ms ease;
1403
+ }
1404
+ @starting-style {
1405
+ .hw-composer-charcount {
1406
+ transform: none;
1407
+ }
1408
+ }
1409
+ }
1410
+ .hw-composer-previews {
1411
+ display: flex;
1412
+ gap: 6px;
1413
+ padding: 8px 10px 0;
1414
+ overflow-x: auto;
1415
+ scrollbar-width: none;
1416
+ }
1417
+ .hw-composer-previews::-webkit-scrollbar {
1418
+ display: none;
1419
+ }
1420
+ .hw-composer-preview {
1421
+ position: relative;
1422
+ width: 48px;
1423
+ height: 48px;
1424
+ border-radius: 8px;
1425
+ overflow: hidden;
1426
+ flex-shrink: 0;
1427
+ background: var(--hw-border);
1428
+ cursor: pointer;
1429
+ }
1430
+ .hw-composer-preview--error {
1431
+ outline: 2px solid #ef4444;
1432
+ outline-offset: -2px;
1433
+ }
1434
+ .hw-composer-preview-img {
1435
+ width: 100%;
1436
+ height: 100%;
1437
+ object-fit: cover;
1438
+ }
1439
+ .hw-composer-preview-file {
1440
+ width: 100%;
1441
+ height: 100%;
1442
+ display: flex;
1443
+ align-items: center;
1444
+ justify-content: center;
1445
+ background: var(--hw-bg-subtle);
1446
+ }
1447
+ .hw-composer-preview-ext {
1448
+ font-size: 10px;
1449
+ font-weight: 700;
1450
+ color: var(--hw-text-3);
1451
+ text-transform: uppercase;
1452
+ }
1453
+ .hw-composer-preview-loader {
1454
+ position: absolute;
1455
+ inset: 0;
1456
+ background: rgba(0, 0, 0, 0.35);
1457
+ display: flex;
1458
+ align-items: center;
1459
+ justify-content: center;
1460
+ }
1461
+ .hw-composer-preview-loader::after {
1462
+ content: "";
1463
+ width: 16px;
1464
+ height: 16px;
1465
+ border: 2px solid rgba(255, 255, 255, 0.3);
1466
+ border-top-color: white;
1467
+ border-radius: 50%;
1468
+ animation: hw-spin 0.6s linear infinite;
1469
+ }
1470
+ @keyframes hw-spin {
1471
+ to {
1472
+ transform: rotate(360deg);
1473
+ }
1474
+ }
1475
+ .hw-composer-preview-badge {
1476
+ position: absolute;
1477
+ top: 2px;
1478
+ right: 2px;
1479
+ width: 16px;
1480
+ height: 16px;
1481
+ border-radius: 50%;
1482
+ background: #ef4444;
1483
+ color: white;
1484
+ font-size: 10px;
1485
+ font-weight: 700;
1486
+ display: flex;
1487
+ align-items: center;
1488
+ justify-content: center;
1489
+ }
1490
+ .hw-composer-preview-remove {
1491
+ position: absolute;
1492
+ top: 2px;
1493
+ right: 2px;
1494
+ width: 18px;
1495
+ height: 18px;
1496
+ border-radius: 50%;
1497
+ border: none;
1498
+ background: rgba(0, 0, 0, 0.55);
1499
+ color: white;
1500
+ cursor: pointer;
1501
+ display: flex;
1502
+ align-items: center;
1503
+ justify-content: center;
1504
+ opacity: 0;
1505
+ transition: opacity 0.15s;
1506
+ }
1507
+ .hw-composer-preview-remove svg {
1508
+ width: 10px;
1509
+ height: 10px;
1510
+ }
1511
+ .hw-composer-preview:hover .hw-composer-preview-remove {
1512
+ opacity: 1;
1513
+ }
1514
+ .hw-composer-attach {
1515
+ width: 28px;
1516
+ height: 28px;
1517
+ border: none;
1518
+ background: none;
1519
+ color: var(--hw-text-3);
1520
+ cursor: pointer;
1521
+ display: flex;
1522
+ align-items: center;
1523
+ justify-content: center;
1524
+ border-radius: 6px;
1525
+ opacity: 0.7;
1526
+ transition: opacity 0.15s;
1527
+ }
1528
+ .hw-composer-attach:hover {
1529
+ opacity: 1;
1530
+ }
1531
+ .hw-composer-attach svg {
1532
+ width: 16px;
1533
+ height: 16px;
1534
+ }
1535
+ .hw-msg-images {
1536
+ display: flex;
1537
+ flex-direction: column;
1538
+ gap: 4px;
1539
+ margin-bottom: 4px;
1540
+ }
1541
+ .hw-msg-image-link {
1542
+ display: block;
1543
+ border-radius: 14px;
1544
+ overflow: hidden;
1545
+ line-height: 0;
1546
+ }
1547
+ .hw-msg-image {
1548
+ max-width: 140px;
1549
+ max-height: 80px;
1550
+ object-fit: cover;
1551
+ border-radius: 8px;
1552
+ outline: 1px solid rgba(0, 0, 0, 0.08);
1553
+ outline-offset: -1px;
1554
+ }
1555
+ .hw-msg-files {
1556
+ display: flex;
1557
+ flex-direction: column;
1558
+ gap: 4px;
1559
+ margin-top: 4px;
1560
+ }
1561
+ .hw-msg-file {
1562
+ display: flex;
1563
+ align-items: center;
1564
+ gap: 8px;
1565
+ padding: 8px 12px;
1566
+ border-radius: 10px;
1567
+ background: var(--hw-bg-subtle);
1568
+ text-decoration: none;
1569
+ color: var(--hw-text);
1570
+ transition: background 0.15s;
1571
+ }
1572
+ .hw-msg-file:hover {
1573
+ background: var(--hw-border);
1574
+ }
1575
+ .hw-msg-file-icon {
1576
+ flex-shrink: 0;
1577
+ width: 20px;
1578
+ height: 20px;
1579
+ color: var(--hw-text-3);
1580
+ }
1581
+ .hw-msg-file-icon svg {
1582
+ width: 100%;
1583
+ height: 100%;
1584
+ }
1585
+ .hw-msg-file-info {
1586
+ display: flex;
1587
+ flex-direction: column;
1588
+ min-width: 0;
1589
+ }
1590
+ .hw-msg-file-name {
1591
+ font-size: 13px;
1592
+ font-weight: 500;
1593
+ white-space: nowrap;
1594
+ overflow: hidden;
1595
+ text-overflow: ellipsis;
1596
+ }
1597
+ .hw-msg-file-size {
1598
+ font-size: 11px;
1599
+ color: var(--hw-text-3);
1600
+ }
1601
+ .hw-msg-image-link {
1602
+ cursor: pointer;
1603
+ border: none;
1604
+ padding: 0;
1605
+ background: none;
1606
+ display: block;
1607
+ line-height: 0;
1608
+ }
1609
+ .hw-hover-preview {
1610
+ position: fixed;
1611
+ z-index: 99998;
1612
+ padding: 6px;
1613
+ border-radius: 14px;
1614
+ background: white;
1615
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.06);
1616
+ cursor: pointer;
1617
+ animation: hw-hover-in 0.15s ease-out;
1618
+ }
1619
+ @media (prefers-color-scheme: dark) {
1620
+ .hw-hover-preview {
1621
+ background: #1c1c1e;
1622
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.08);
1623
+ }
1624
+ }
1625
+ @keyframes hw-hover-in {
1626
+ from {
1627
+ opacity: 0;
1628
+ transform: scale(0.96) translateY(4px);
1629
+ }
1630
+ to {
1631
+ opacity: 1;
1632
+ transform: scale(1) translateY(0);
1633
+ }
1634
+ }
1635
+ .hw-hover-preview-img {
1636
+ width: 100%;
1637
+ max-height: 200px;
1638
+ object-fit: contain;
1639
+ border-radius: 10px;
1640
+ display: block;
1641
+ outline: 1px solid rgba(0, 0, 0, 0.08);
1642
+ outline-offset: -1px;
1643
+ }
1644
+ .hw-hover-preview--doc {
1645
+ display: flex;
1646
+ align-items: center;
1647
+ gap: 10px;
1648
+ padding: 10px 14px;
1649
+ }
1650
+ .hw-hover-preview-doc-icon {
1651
+ width: 28px;
1652
+ height: 28px;
1653
+ flex-shrink: 0;
1654
+ }
1655
+ .hw-hover-preview-doc-icon svg {
1656
+ width: 100%;
1657
+ height: 100%;
1658
+ }
1659
+ .hw-hover-preview-doc-info {
1660
+ display: flex;
1661
+ flex-direction: column;
1662
+ min-width: 0;
1663
+ }
1664
+ .hw-hover-preview-doc-name {
1665
+ font-size: 13px;
1666
+ font-weight: 500;
1667
+ color: var(--hw-text);
1668
+ white-space: nowrap;
1669
+ overflow: hidden;
1670
+ text-overflow: ellipsis;
1671
+ }
1672
+ .hw-hover-preview-doc-hint {
1673
+ font-size: 11px;
1674
+ color: var(--hw-text-3);
1675
+ }
1676
+ .hw-event {
1677
+ display: flex;
1678
+ justify-content: center;
1679
+ padding: 8px 16px;
1680
+ }
1681
+ .hw-event-text {
1682
+ font-size: 12px;
1683
+ color: var(--hw-text-3);
1684
+ text-align: center;
1685
+ }
1686
+ .hw-event--card {
1687
+ justify-content: flex-start;
1688
+ align-items: center;
1689
+ gap: 10px;
1690
+ background: var(--hw-bg-subtle);
1691
+ padding: 10px 14px;
1692
+ border-radius: 12px;
1693
+ margin: 4px 16px;
1694
+ }
1695
+ .hw-event-avatar {
1696
+ width: 32px;
1697
+ height: 32px;
1698
+ border-radius: 50%;
1699
+ background: #e0e0e0;
1700
+ color: #555;
1701
+ display: flex;
1702
+ align-items: center;
1703
+ justify-content: center;
1704
+ font-size: 11px;
1705
+ font-weight: 600;
1706
+ flex-shrink: 0;
1707
+ overflow: hidden;
1708
+ }
1709
+ .hw-event-avatar-img {
1710
+ width: 100%;
1711
+ height: 100%;
1712
+ object-fit: cover;
1713
+ }
1714
+ .hw-event-body {
1715
+ font-size: 13px;
1716
+ line-height: 1.3;
1717
+ }
1718
+ .hw-event-name {
1719
+ font-weight: 600;
1720
+ color: var(--hw-text);
1721
+ }
1722
+ .hw-event-action {
1723
+ color: var(--hw-text-2);
1724
+ }
1725
+ .hw-resolved-banner {
1726
+ display: flex;
1727
+ align-items: center;
1728
+ justify-content: center;
1729
+ padding: 12px 16px;
1730
+ border-top: 1px solid var(--hw-border);
1731
+ background: var(--hw-bg-subtle);
1732
+ color: var(--hw-text-2);
1733
+ font-size: 13px;
1734
+ flex-shrink: 0;
1735
+ }
1736
+ .hw-new {
1737
+ flex: 1;
1738
+ display: flex;
1739
+ flex-direction: column;
1740
+ background: var(--hw-bg-subtle);
1741
+ }
1742
+ .hw-new-body {
1743
+ flex: 1;
1744
+ display: flex;
1745
+ flex-direction: column;
1746
+ align-items: center;
1747
+ justify-content: center;
1748
+ padding: 32px 24px;
1749
+ text-align: center;
1750
+ }
1751
+ .hw-new-welcome {
1752
+ flex: 1;
1753
+ padding: 16px 20px;
1754
+ overflow-y: auto;
1755
+ }
1756
+ .hw-new-heading {
1757
+ font-size: 17px;
1758
+ font-weight: 600;
1759
+ color: var(--hw-text);
1760
+ margin-bottom: 6px;
1761
+ }
1762
+ .hw-new-desc {
1763
+ font-size: 13px;
1764
+ color: var(--hw-text-2);
1765
+ margin-bottom: 24px;
1766
+ }
1767
+ .hw-powered {
1768
+ text-align: center;
1769
+ padding: 8px;
1770
+ font-size: 11px;
1771
+ color: var(--hw-text-4);
1772
+ flex-shrink: 0;
1773
+ }
1774
+ .hw-powered a {
1775
+ color: var(--hw-text-2);
1776
+ text-decoration: none;
1777
+ font-weight: 500;
1778
+ }
1779
+ .hw-powered a:hover {
1780
+ color: var(--hw-text);
1781
+ }
1782
+ @media (max-width: 479px) {
1783
+ .hw-widget {
1784
+ bottom: 16px;
1785
+ right: 16px;
1786
+ left: auto;
1787
+ }
1788
+ .hw-window {
1789
+ position: fixed;
1790
+ top: 0;
1791
+ left: 0;
1792
+ right: 0;
1793
+ bottom: 0;
1794
+ width: 100%;
1795
+ height: var(--hw-visible-height, 100%);
1796
+ border-radius: 0;
1797
+ animation: hw-mob-up 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
1798
+ }
1799
+ .hw-window--closing {
1800
+ animation: hw-mob-down 0.2s ease forwards;
1801
+ }
1802
+ @keyframes hw-mob-up {
1803
+ from {
1804
+ opacity: 0;
1805
+ transform: translateY(100%);
1806
+ }
1807
+ to {
1808
+ opacity: 1;
1809
+ transform: translateY(0);
1810
+ }
1811
+ }
1812
+ @keyframes hw-mob-down {
1813
+ from {
1814
+ opacity: 1;
1815
+ transform: translateY(0);
1816
+ }
1817
+ to {
1818
+ opacity: 0;
1819
+ transform: translateY(100%);
1820
+ }
1821
+ }
1822
+ .hw-hero {
1823
+ padding-top: calc(20px + env(safe-area-inset-top, 0px));
1824
+ }
1825
+ .hw-header {
1826
+ padding-top: env(safe-area-inset-top, 0px);
1827
+ }
1828
+ .hw-tabs {
1829
+ padding-bottom: env(safe-area-inset-bottom, 0px);
1830
+ }
1831
+ .hw-composer {
1832
+ padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
1833
+ }
1834
+ .hw-powered {
1835
+ padding-bottom: calc(5px + env(safe-area-inset-bottom, 0px));
1836
+ }
1837
+ .hw-header-close,
1838
+ .hw-header-back,
1839
+ .hw-header-action {
1840
+ width: 34px;
1841
+ height: 34px;
1842
+ }
1843
+ .hw-composer-send {
1844
+ width: 40px;
1845
+ height: 40px;
1846
+ }
1847
+ .hw-window ~ .hw-bubble {
1848
+ display: none;
1849
+ }
1850
+ .hw-messages {
1851
+ padding: 12px 14px;
1852
+ }
1853
+ .hw-msg {
1854
+ max-width: 82%;
1855
+ }
1856
+ }
1857
+ .hw-preview {
1858
+ position: absolute;
1859
+ bottom: calc(100% + 12px);
1860
+ right: 0;
1861
+ width: 300px;
1862
+ max-width: calc(100vw - 40px);
1863
+ background: var(--hw-bg);
1864
+ border: 1px solid var(--hw-border);
1865
+ border-radius: 16px;
1866
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
1867
+ animation: hw-preview-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
1868
+ overflow: hidden;
1869
+ cursor: pointer;
1870
+ transition: transform 0.15s, box-shadow 0.15s;
1871
+ }
1872
+ .hw-preview:hover {
1873
+ transform: translateY(-2px);
1874
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.08);
1875
+ }
1876
+ .hw-preview--closing {
1877
+ animation: hw-preview-out 0.2s ease forwards;
1878
+ }
1879
+ @keyframes hw-preview-in {
1880
+ from {
1881
+ opacity: 0;
1882
+ transform: translateY(8px) scale(0.95);
1883
+ }
1884
+ to {
1885
+ opacity: 1;
1886
+ transform: translateY(0) scale(1);
1887
+ }
1888
+ }
1889
+ @keyframes hw-preview-out {
1890
+ from {
1891
+ opacity: 1;
1892
+ transform: translateY(0) scale(1);
1893
+ }
1894
+ to {
1895
+ opacity: 0;
1896
+ transform: translateY(8px) scale(0.95);
1897
+ }
1898
+ }
1899
+ .hw-preview-header {
1900
+ display: flex;
1901
+ align-items: center;
1902
+ gap: 8px;
1903
+ padding: 12px 14px 0;
1904
+ }
1905
+ .hw-preview-avatar {
1906
+ width: 28px;
1907
+ height: 28px;
1908
+ border-radius: 50%;
1909
+ background:
1910
+ linear-gradient(
1911
+ 135deg,
1912
+ var(--hw-primary),
1913
+ color-mix(in srgb, var(--hw-primary) 50%, black));
1914
+ display: flex;
1915
+ align-items: center;
1916
+ justify-content: center;
1917
+ color: white;
1918
+ flex-shrink: 0;
1919
+ overflow: hidden;
1920
+ }
1921
+ .hw-preview-avatar svg {
1922
+ width: 16px;
1923
+ height: 16px;
1924
+ }
1925
+ .hw-preview-name {
1926
+ font-size: 13px;
1927
+ font-weight: 600;
1928
+ color: var(--hw-text);
1929
+ flex: 1;
1930
+ }
1931
+ .hw-preview-close {
1932
+ width: 24px;
1933
+ height: 24px;
1934
+ border: none;
1935
+ background: transparent;
1936
+ color: var(--hw-text-3);
1937
+ cursor: pointer;
1938
+ display: flex;
1939
+ align-items: center;
1940
+ justify-content: center;
1941
+ border-radius: 50%;
1942
+ transition: background 0.15s, color 0.15s;
1943
+ flex-shrink: 0;
1944
+ }
1945
+ .hw-preview-close:hover {
1946
+ background: var(--hw-bg-subtle);
1947
+ color: var(--hw-text-2);
1948
+ }
1949
+ .hw-preview-close:active {
1950
+ transform: scale(0.90);
1951
+ transition:
1952
+ transform 0.14s cubic-bezier(0.23, 1, 0.32, 1),
1953
+ background 0.15s,
1954
+ color 0.15s;
1955
+ }
1956
+ .hw-preview-close svg {
1957
+ width: 12px;
1958
+ height: 12px;
1959
+ }
1960
+ .hw-preview-body {
1961
+ padding: 8px 14px 14px;
1962
+ font-size: 14px;
1963
+ line-height: 1.45;
1964
+ color: var(--hw-text-2);
1965
+ display: -webkit-box;
1966
+ -webkit-line-clamp: 3;
1967
+ -webkit-box-orient: vertical;
1968
+ overflow: hidden;
1969
+ }
1970
+ .hw-content-search {
1971
+ padding: 10px 16px;
1972
+ }
1973
+ .hw-content-search-box {
1974
+ display: flex;
1975
+ align-items: center;
1976
+ gap: 8px;
1977
+ padding: 8px 12px;
1978
+ background: var(--hw-bg);
1979
+ border: 1px solid var(--hw-border-md);
1980
+ border-radius: 10px;
1981
+ transition: border-color 0.15s, box-shadow 0.15s;
1982
+ }
1983
+ .hw-content-search-box:focus-within {
1984
+ border-color: var(--hw-focus-border);
1985
+ box-shadow: 0 0 0 3px var(--hw-focus-ring);
1986
+ }
1987
+ .hw-content-search-input {
1988
+ flex: 1;
1989
+ border: none !important;
1990
+ outline: none !important;
1991
+ box-shadow: none !important;
1992
+ background: none;
1993
+ font-size: 13px;
1994
+ color: var(--hw-text-1);
1995
+ font-family: inherit;
1996
+ line-height: 1;
1997
+ -webkit-appearance: none;
1998
+ }
1999
+ .hw-content-search-input:focus,
2000
+ .hw-content-search-input:focus-visible {
2001
+ outline: none !important;
2002
+ box-shadow: none !important;
2003
+ border: none !important;
2004
+ }
2005
+ .hw-content-search-input::placeholder {
2006
+ color: var(--hw-text-3);
2007
+ }
2008
+ .hw-content-search-icon {
2009
+ width: 15px;
2010
+ height: 15px;
2011
+ color: var(--hw-text-3);
2012
+ flex-shrink: 0;
2013
+ }
2014
+ .hw-content-list {
2015
+ display: flex;
2016
+ flex-direction: column;
2017
+ height: 100%;
2018
+ }
2019
+ .hw-content-entries {
2020
+ flex: 1;
2021
+ overflow-y: auto;
2022
+ overscroll-behavior: contain;
2023
+ }
2024
+ .hw-content-entry {
2025
+ display: block;
2026
+ width: 100%;
2027
+ padding: 14px 16px;
2028
+ border: none;
2029
+ border-bottom: 1px solid var(--hw-border);
2030
+ background: none;
2031
+ cursor: pointer;
2032
+ text-align: left;
2033
+ transition: background-color 0.15s ease;
2034
+ -webkit-tap-highlight-color: transparent;
2035
+ }
2036
+ .hw-content-entry:hover {
2037
+ background: var(--hw-bg-hover);
2038
+ }
2039
+ .hw-content-entry:active {
2040
+ background: var(--hw-border);
2041
+ }
2042
+ .hw-content-entry:last-child {
2043
+ border-bottom: none;
2044
+ }
2045
+ .hw-content-entry-main {
2046
+ display: flex;
2047
+ align-items: center;
2048
+ gap: 12px;
2049
+ }
2050
+ .hw-content-entry-text {
2051
+ flex: 1;
2052
+ min-width: 0;
2053
+ display: flex;
2054
+ flex-direction: column;
2055
+ gap: 3px;
2056
+ }
2057
+ .hw-content-entry-title {
2058
+ font-size: 14px;
2059
+ font-weight: 600;
2060
+ color: var(--hw-text-1);
2061
+ line-height: 1.3;
2062
+ }
2063
+ .hw-content-entry-desc {
2064
+ font-size: 13px;
2065
+ color: var(--hw-text-2);
2066
+ line-height: 1.4;
2067
+ display: -webkit-box;
2068
+ -webkit-line-clamp: 2;
2069
+ -webkit-box-orient: vertical;
2070
+ overflow: hidden;
2071
+ }
2072
+ .hw-content-entry-meta {
2073
+ display: flex;
2074
+ align-items: center;
2075
+ gap: 6px;
2076
+ margin-top: 2px;
2077
+ }
2078
+ .hw-content-entry-badge {
2079
+ font-size: 11px;
2080
+ font-weight: 500;
2081
+ color: var(--hw-text-3);
2082
+ background: var(--hw-bg-hover);
2083
+ padding: 1px 6px;
2084
+ border-radius: 4px;
2085
+ }
2086
+ .hw-content-entry-date {
2087
+ font-size: 11px;
2088
+ color: var(--hw-text-3);
2089
+ }
2090
+ .hw-content-entry-chevron {
2091
+ width: 16px;
2092
+ height: 16px;
2093
+ color: var(--hw-text-3);
2094
+ flex-shrink: 0;
2095
+ opacity: 0.5;
2096
+ }
2097
+ .hw-content-detail {
2098
+ padding: 16px;
2099
+ overflow-y: auto;
2100
+ overscroll-behavior: contain;
2101
+ height: 100%;
2102
+ }
2103
+ .hw-content-detail-header {
2104
+ margin-bottom: 16px;
2105
+ }
2106
+ .hw-content-detail-title {
2107
+ font-size: 17px;
2108
+ font-weight: 700;
2109
+ color: var(--hw-text-1);
2110
+ margin: 0 0 6px;
2111
+ line-height: 1.3;
2112
+ display: flex;
2113
+ align-items: center;
2114
+ gap: 6px;
2115
+ }
2116
+ .hw-content-detail-meta {
2117
+ display: flex;
2118
+ align-items: center;
2119
+ gap: 8px;
2120
+ flex-wrap: wrap;
2121
+ }
2122
+ .hw-content-detail-date {
2123
+ font-size: 12px;
2124
+ color: var(--hw-text-3);
2125
+ }
2126
+ .hw-content-detail-body {
2127
+ font-size: 14px;
2128
+ line-height: 1.6;
2129
+ color: var(--hw-text-1);
2130
+ }
2131
+ .hw-markdown h1 {
2132
+ font-size: 17px;
2133
+ font-weight: 700;
2134
+ margin: 20px 0 8px;
2135
+ }
2136
+ .hw-markdown h2 {
2137
+ font-size: 15px;
2138
+ font-weight: 600;
2139
+ margin: 16px 0 6px;
2140
+ }
2141
+ .hw-markdown h3 {
2142
+ font-size: 14px;
2143
+ font-weight: 600;
2144
+ margin: 12px 0 4px;
2145
+ }
2146
+ .hw-markdown p {
2147
+ margin: 0 0 12px;
2148
+ }
2149
+ .hw-markdown ul {
2150
+ margin: 0 0 12px;
2151
+ padding-left: 20px;
2152
+ }
2153
+ .hw-markdown li {
2154
+ margin: 4px 0;
2155
+ }
2156
+ .hw-markdown code {
2157
+ font-family:
2158
+ ui-monospace,
2159
+ "SF Mono",
2160
+ monospace;
2161
+ font-size: 12px;
2162
+ background: var(--hw-bg-hover);
2163
+ padding: 1px 5px;
2164
+ border-radius: 4px;
2165
+ }
2166
+ .hw-code {
2167
+ margin: 10px 0;
2168
+ border-radius: 10px;
2169
+ overflow: hidden;
2170
+ border: 1px solid var(--hw-border, rgba(0, 0, 0, 0.08));
2171
+ background: var(--hw-bg-hover, #f5f5f4);
2172
+ font-family:
2173
+ ui-monospace,
2174
+ "SF Mono",
2175
+ "Menlo",
2176
+ monospace;
2177
+ }
2178
+ .hw-code-header {
2179
+ display: flex;
2180
+ align-items: center;
2181
+ justify-content: space-between;
2182
+ padding: 6px 12px;
2183
+ font-size: 11px;
2184
+ color: var(--hw-text-2, #6b7280);
2185
+ background: rgba(0, 0, 0, 0.03);
2186
+ border-bottom: 1px solid var(--hw-border, rgba(0, 0, 0, 0.06));
2187
+ }
2188
+ .hw-code-lang {
2189
+ text-transform: lowercase;
2190
+ letter-spacing: 0.02em;
2191
+ font-weight: 500;
2192
+ }
2193
+ .hw-code-copy {
2194
+ display: inline-flex;
2195
+ align-items: center;
2196
+ gap: 4px;
2197
+ padding: 2px 8px;
2198
+ font-size: 11px;
2199
+ font-family: inherit;
2200
+ color: var(--hw-text-2, #6b7280);
2201
+ background: transparent;
2202
+ border: 1px solid transparent;
2203
+ border-radius: 5px;
2204
+ cursor: pointer;
2205
+ transition: background 120ms ease, color 120ms ease;
2206
+ }
2207
+ .hw-code-copy:hover {
2208
+ color: var(--hw-text, #111);
2209
+ background: rgba(0, 0, 0, 0.06);
2210
+ }
2211
+ .hw-code-copy--copied {
2212
+ color: #16a34a;
2213
+ }
2214
+ .hw-code-copy--failed {
2215
+ color: #dc2626;
2216
+ }
2217
+ .hw-code pre {
2218
+ margin: 0;
2219
+ padding: 10px 12px;
2220
+ background: transparent;
2221
+ border-radius: 0;
2222
+ overflow-x: auto;
2223
+ max-width: 100%;
2224
+ }
2225
+ .hw-code pre code {
2226
+ display: block;
2227
+ background: transparent;
2228
+ padding: 0;
2229
+ font-size: 12px;
2230
+ line-height: 1.55;
2231
+ white-space: pre;
2232
+ color: var(--hw-text, #111);
2233
+ }
2234
+ @media (prefers-color-scheme: dark) {
2235
+ .hw-code {
2236
+ background: rgba(255, 255, 255, 0.04);
2237
+ border-color: rgba(255, 255, 255, 0.08);
2238
+ }
2239
+ .hw-code-header {
2240
+ background: rgba(255, 255, 255, 0.03);
2241
+ border-bottom-color: rgba(255, 255, 255, 0.06);
2242
+ }
2243
+ .hw-code-copy:hover {
2244
+ background: rgba(255, 255, 255, 0.08);
2245
+ }
2246
+ }
2247
+ .hw-markdown pre {
2248
+ margin: 8px 0;
2249
+ padding: 10px 12px;
2250
+ background: var(--hw-bg-hover);
2251
+ border-radius: 8px;
2252
+ overflow-x: auto;
2253
+ max-width: 100%;
2254
+ }
2255
+ .hw-markdown pre code {
2256
+ display: block;
2257
+ background: transparent;
2258
+ padding: 0;
2259
+ border-radius: 0;
2260
+ font-size: 12px;
2261
+ line-height: 1.5;
2262
+ white-space: pre;
2263
+ word-break: normal;
2264
+ color: inherit;
2265
+ }
2266
+ .hw-msg-bubble pre {
2267
+ margin: 6px 0;
2268
+ padding: 8px 10px;
2269
+ background: rgba(0, 0, 0, 0.06);
2270
+ border-radius: 6px;
2271
+ overflow-x: auto;
2272
+ max-width: 100%;
2273
+ }
2274
+ .hw-msg-bubble pre code {
2275
+ background: transparent;
2276
+ padding: 0;
2277
+ font-size: 12px;
2278
+ line-height: 1.5;
2279
+ white-space: pre;
2280
+ }
2281
+ .hw-msg--team .hw-msg-bubble pre,
2282
+ .hw-msg--visitor .hw-msg-bubble pre {
2283
+ background: rgba(255, 255, 255, 0.12);
2284
+ }
2285
+ .hw-markdown blockquote {
2286
+ margin: 0 0 12px;
2287
+ padding: 8px 12px;
2288
+ border-left: 3px solid var(--hw-border);
2289
+ color: var(--hw-text-2);
2290
+ font-style: italic;
2291
+ }
2292
+ .hw-markdown a {
2293
+ color: var(--hw-primary);
2294
+ text-decoration: underline;
2295
+ text-underline-offset: 2px;
2296
+ }
2297
+ .hw-markdown img {
2298
+ max-width: 100%;
2299
+ border-radius: 8px;
2300
+ margin: 8px 0;
2301
+ outline: 1px solid rgba(0, 0, 0, 0.08);
2302
+ outline-offset: -1px;
2303
+ }
2304
+ .hw-markdown hr {
2305
+ border: none;
2306
+ border-top: 1px solid var(--hw-border);
2307
+ margin: 16px 0;
2308
+ }
2309
+ .hw-content-empty {
2310
+ display: flex;
2311
+ flex-direction: column;
2312
+ align-items: center;
2313
+ justify-content: center;
2314
+ padding: 40px 20px;
2315
+ text-align: center;
2316
+ }
2317
+ .hw-content-empty-title {
2318
+ font-size: 14px;
2319
+ font-weight: 600;
2320
+ color: var(--hw-text-1);
2321
+ margin-bottom: 4px;
2322
+ }
2323
+ .hw-content-empty-desc {
2324
+ font-size: 12px;
2325
+ color: var(--hw-text-3);
2326
+ }
2327
+ .hw-content-loading {
2328
+ display: flex;
2329
+ align-items: center;
2330
+ justify-content: center;
2331
+ padding: 40px 20px;
2332
+ }
2333
+ .hw-content-load-more {
2334
+ display: block;
2335
+ width: 100%;
2336
+ padding: 10px;
2337
+ border: none;
2338
+ background: none;
2339
+ color: var(--hw-primary);
2340
+ font-size: 13px;
2341
+ font-weight: 500;
2342
+ cursor: pointer;
2343
+ text-align: center;
2344
+ }
2345
+ .hw-content-load-more:hover {
2346
+ background: var(--hw-bg-hover);
2347
+ }
2348
+ .hw-content-load-more:disabled {
2349
+ opacity: 0.5;
2350
+ cursor: default;
2351
+ }
2352
+ @media (hover: none) {
2353
+ .hw-composer-preview-remove {
2354
+ opacity: 0.7;
2355
+ }
2356
+ .hw-msg-meta {
2357
+ opacity: 1;
2358
+ }
2359
+ }
2360
+ .hw-composer--dragging .hw-composer-box {
2361
+ border-color: var(--hw-primary);
2362
+ background: color-mix(in srgb, var(--hw-primary) 4%, transparent);
2363
+ }
2364
+ .hw-composer-drop-overlay {
2365
+ position: absolute;
2366
+ inset: 0;
2367
+ display: flex;
2368
+ align-items: center;
2369
+ justify-content: center;
2370
+ background: color-mix(in srgb, var(--hw-bg) 90%, transparent);
2371
+ border: 2px dashed var(--hw-primary);
2372
+ border-radius: 12px;
2373
+ z-index: 10;
2374
+ pointer-events: none;
2375
+ animation: hw-drop-pulse 1.5s ease-in-out infinite;
2376
+ }
2377
+ .hw-composer-drop-text {
2378
+ font-size: 13px;
2379
+ font-weight: 500;
2380
+ color: var(--hw-primary);
2381
+ }
2382
+ @keyframes hw-drop-pulse {
2383
+ 0%, 100% {
2384
+ opacity: 0.8;
2385
+ }
2386
+ 50% {
2387
+ opacity: 1;
2388
+ }
2389
+ }
2390
+ .hw-msg-copy {
2391
+ display: inline-flex;
2392
+ align-items: center;
2393
+ justify-content: center;
2394
+ width: 20px;
2395
+ height: 20px;
2396
+ margin-left: 4px;
2397
+ border: none;
2398
+ border-radius: 4px;
2399
+ background: none;
2400
+ color: var(--hw-text-4);
2401
+ cursor: pointer;
2402
+ vertical-align: middle;
2403
+ transition: color 0.15s, background 0.15s;
2404
+ padding: 0;
2405
+ flex-shrink: 0;
2406
+ }
2407
+ .hw-msg-copy:hover {
2408
+ background: var(--hw-bg-hover);
2409
+ color: var(--hw-text-2);
2410
+ }
2411
+ .hw-msg-copy svg {
2412
+ width: 12px;
2413
+ height: 12px;
2414
+ }
2415
+ .hw-msg-copy--done {
2416
+ color: #22c55e;
2417
+ }
2418
+ .hw-disconnect {
2419
+ display: flex;
2420
+ align-items: center;
2421
+ justify-content: center;
2422
+ gap: 6px;
2423
+ padding: 6px 12px;
2424
+ background: #fef3c7;
2425
+ color: #92400e;
2426
+ font-size: 12px;
2427
+ font-weight: 500;
2428
+ flex-shrink: 0;
2429
+ animation: hw-msg-appear 0.25s ease-out;
2430
+ }
2431
+ .hw-disconnect-dot {
2432
+ width: 6px;
2433
+ height: 6px;
2434
+ border-radius: 50%;
2435
+ background: #f59e0b;
2436
+ animation: hw-loading-pulse 1.4s infinite;
2437
+ }
2438
+ .hw-error-state {
2439
+ flex: 1;
2440
+ display: flex;
2441
+ flex-direction: column;
2442
+ align-items: center;
2443
+ justify-content: center;
2444
+ padding: 32px 24px;
2445
+ text-align: center;
2446
+ gap: 12px;
2447
+ }
2448
+ .hw-error-icon {
2449
+ width: 48px;
2450
+ height: 48px;
2451
+ border-radius: 50%;
2452
+ background: #fef2f2;
2453
+ color: #ef4444;
2454
+ display: flex;
2455
+ align-items: center;
2456
+ justify-content: center;
2457
+ }
2458
+ .hw-error-icon svg {
2459
+ width: 24px;
2460
+ height: 24px;
2461
+ }
2462
+ .hw-error-title {
2463
+ font-size: 15px;
2464
+ font-weight: 600;
2465
+ color: var(--hw-text);
2466
+ }
2467
+ .hw-error-desc {
2468
+ font-size: 13px;
2469
+ color: var(--hw-text-2);
2470
+ }
2471
+ .hw-error-btn {
2472
+ padding: 8px 20px;
2473
+ border: 1px solid var(--hw-border-md);
2474
+ border-radius: 8px;
2475
+ background: var(--hw-bg);
2476
+ color: var(--hw-text);
2477
+ font-size: 13px;
2478
+ font-weight: 500;
2479
+ cursor: pointer;
2480
+ transition: background 0.15s;
2481
+ }
2482
+ .hw-error-btn:hover {
2483
+ background: var(--hw-bg-hover);
2484
+ }
2485
+ .hw-send-error {
2486
+ display: flex;
2487
+ align-items: center;
2488
+ gap: 8px;
2489
+ padding: 8px 12px;
2490
+ background: #fef2f2;
2491
+ color: #dc2626;
2492
+ font-size: 12px;
2493
+ font-weight: 500;
2494
+ flex-shrink: 0;
2495
+ animation: hw-msg-appear 0.25s ease-out;
2496
+ }
2497
+ .hw-send-error-retry {
2498
+ margin-left: auto;
2499
+ padding: 2px 8px;
2500
+ border: 1px solid #fca5a5;
2501
+ border-radius: 4px;
2502
+ background: none;
2503
+ color: #dc2626;
2504
+ font-size: 11px;
2505
+ font-weight: 600;
2506
+ cursor: pointer;
2507
+ }
2508
+ .hw-send-error-retry:hover {
2509
+ background: #fee2e2;
2510
+ }
2511
+ .hw-resolved {
2512
+ display: flex;
2513
+ flex-direction: column;
2514
+ align-items: center;
2515
+ gap: 12px;
2516
+ padding: 16px 20px;
2517
+ border-top: 1px solid var(--hw-border);
2518
+ flex-shrink: 0;
2519
+ }
2520
+ .hw-resolved-text {
2521
+ font-size: 13px;
2522
+ color: var(--hw-text-3);
2523
+ font-weight: 500;
2524
+ }
2525
+ .hw-resolved-actions {
2526
+ display: flex;
2527
+ gap: 8px;
2528
+ }
2529
+ .hw-resolved-reopen {
2530
+ padding: 6px 16px;
2531
+ border: 1px solid var(--hw-border-md);
2532
+ border-radius: 8px;
2533
+ background: var(--hw-bg);
2534
+ color: var(--hw-text);
2535
+ font-size: 13px;
2536
+ font-weight: 500;
2537
+ cursor: pointer;
2538
+ transition: background 0.15s;
2539
+ }
2540
+ .hw-resolved-reopen:hover {
2541
+ background: var(--hw-bg-hover);
2542
+ }
2543
+ .hw-csat {
2544
+ display: flex;
2545
+ flex-direction: column;
2546
+ align-items: center;
2547
+ gap: 8px;
2548
+ }
2549
+ .hw-csat-label {
2550
+ font-size: 12px;
2551
+ color: var(--hw-text-3);
2552
+ }
2553
+ .hw-csat-buttons {
2554
+ display: flex;
2555
+ gap: 8px;
2556
+ }
2557
+ .hw-csat-btn {
2558
+ width: 36px;
2559
+ height: 36px;
2560
+ border: 1px solid var(--hw-border-md);
2561
+ border-radius: 8px;
2562
+ background: var(--hw-bg);
2563
+ cursor: pointer;
2564
+ display: flex;
2565
+ align-items: center;
2566
+ justify-content: center;
2567
+ font-size: 18px;
2568
+ transition:
2569
+ transform 0.15s,
2570
+ border-color 0.15s,
2571
+ background 0.15s;
2572
+ }
2573
+ .hw-csat-btn:hover {
2574
+ transform: scale(1.1);
2575
+ border-color: var(--hw-text-3);
2576
+ }
2577
+ .hw-csat-btn--selected {
2578
+ border-color: var(--hw-primary);
2579
+ background: var(--hw-bg-hover);
2580
+ transform: scale(1.15);
2581
+ }
2582
+ .hw-csat-thanks {
2583
+ font-size: 12px;
2584
+ color: #22c55e;
2585
+ font-weight: 500;
2586
+ animation: hw-msg-appear 0.25s ease-out;
2587
+ }
2588
+ .hw-load-more-trigger {
2589
+ display: flex;
2590
+ justify-content: center;
2591
+ min-height: 1px;
2592
+ }
2593
+ .hw-load-more-trigger:has(.hw-load-more-spinner) {
2594
+ padding: 8px 0;
2595
+ }
2596
+ .hw-load-more-spinner {
2597
+ display: flex;
2598
+ gap: 3px;
2599
+ }
2600
+ .hw-load-more-spinner > div {
2601
+ width: 5px;
2602
+ height: 5px;
2603
+ border-radius: 50%;
2604
+ background: var(--hw-text-4);
2605
+ animation: hw-loading-pulse 1.4s infinite;
2606
+ }
2607
+ .hw-load-more-spinner > div:nth-child(2) {
2608
+ animation-delay: 0.2s;
2609
+ }
2610
+ .hw-load-more-spinner > div:nth-child(3) {
2611
+ animation-delay: 0.4s;
2612
+ }
2613
+ .hw-drag-handle {
2614
+ display: none;
2615
+ }
2616
+ @media (max-width: 479px) {
2617
+ .hw-drag-handle {
2618
+ display: flex;
2619
+ justify-content: center;
2620
+ padding: 8px 0 4px;
2621
+ flex-shrink: 0;
2622
+ }
2623
+ .hw-drag-handle-pill {
2624
+ width: 32px;
2625
+ height: 4px;
2626
+ border-radius: 2px;
2627
+ background: var(--hw-text-4);
2628
+ }
2629
+ }
2630
+ .hw-msg-bubble p {
2631
+ margin: 0 0 8px;
2632
+ }
2633
+ .hw-msg-bubble p:last-child {
2634
+ margin-bottom: 0;
2635
+ }
2636
+ .hw-msg-bubble strong {
2637
+ font-weight: 600;
2638
+ }
2639
+ .hw-msg-bubble em {
2640
+ font-style: italic;
2641
+ }
2642
+ .hw-msg-bubble a {
2643
+ color: var(--hw-primary);
2644
+ text-decoration: underline;
2645
+ text-underline-offset: 2px;
2646
+ word-break: break-all;
2647
+ }
2648
+ .hw-msg-bubble a:hover {
2649
+ opacity: 0.8;
2650
+ }
2651
+ .hw-msg--visitor .hw-msg-bubble a {
2652
+ color: rgba(255, 255, 255, 0.9);
2653
+ }
2654
+ .hw-msg--visitor .hw-msg-bubble a:hover {
2655
+ color: white;
2656
+ }
2657
+ .hw-msg-bubble ul,
2658
+ .hw-msg-bubble ol {
2659
+ margin: 4px 0 8px;
2660
+ padding-left: 20px;
2661
+ }
2662
+ .hw-msg-bubble li {
2663
+ margin: 2px 0;
2664
+ }
2665
+ .hw-msg-bubble code {
2666
+ padding: 1px 4px;
2667
+ border-radius: 3px;
2668
+ background: rgba(0, 0, 0, 0.06);
2669
+ font-size: 0.9em;
2670
+ font-family:
2671
+ ui-monospace,
2672
+ SFMono-Regular,
2673
+ Menlo,
2674
+ monospace;
2675
+ }
2676
+ .hw-msg-bubble pre {
2677
+ margin: 4px 0 8px;
2678
+ padding: 8px 10px;
2679
+ border-radius: 6px;
2680
+ background: rgba(0, 0, 0, 0.06);
2681
+ overflow-x: auto;
2682
+ font-size: 0.85em;
2683
+ }
2684
+ .hw-msg-bubble pre code {
2685
+ padding: 0;
2686
+ background: none;
2687
+ }
2688
+ .hw-msg-bubble blockquote {
2689
+ margin: 4px 0 8px;
2690
+ padding: 4px 0 4px 12px;
2691
+ border-left: 3px solid var(--hw-border-md);
2692
+ color: var(--hw-text-2);
2693
+ }
2694
+ .hw-widget[data-theme=dark] {
2695
+ --hw-bg: #1c1c1e;
2696
+ --hw-bg-subtle: #161618;
2697
+ --hw-bg-hover: #2c2c2e;
2698
+ --hw-border: rgba(255, 255, 255, 0.08);
2699
+ --hw-border-md: rgba(255, 255, 255, 0.14);
2700
+ --hw-text: #f5f5f5;
2701
+ --hw-text-1: #f5f5f5;
2702
+ --hw-text-2: #a1a1aa;
2703
+ --hw-text-3: #71717a;
2704
+ --hw-text-4: #52525b;
2705
+ --hw-visitor-bubble-bg: #2c2c2e;
2706
+ --hw-visitor-bubble-text: #f5f5f5;
2707
+ --hw-focus-border: rgba(255, 255, 255, 0.28);
2708
+ --hw-focus-ring: rgba(255, 255, 255, 0.08);
2709
+ }
2710
+ @media (prefers-color-scheme: dark) {
2711
+ .hw-widget:not([data-theme=light]) {
2712
+ --hw-bg: #1c1c1e;
2713
+ --hw-bg-subtle: #161618;
2714
+ --hw-bg-hover: #2c2c2e;
2715
+ --hw-border: rgba(255, 255, 255, 0.08);
2716
+ --hw-border-md: rgba(255, 255, 255, 0.14);
2717
+ --hw-text: #f5f5f5;
2718
+ --hw-text-1: #f5f5f5;
2719
+ --hw-text-2: #a1a1aa;
2720
+ --hw-text-3: #71717a;
2721
+ --hw-text-4: #52525b;
2722
+ --hw-visitor-bubble-bg: #2c2c2e;
2723
+ --hw-visitor-bubble-text: #f5f5f5;
2724
+ --hw-focus-border: rgba(255, 255, 255, 0.28);
2725
+ --hw-focus-ring: rgba(255, 255, 255, 0.08);
2726
+ }
2727
+ }
2728
+ @media (prefers-color-scheme: dark) {
2729
+ .hw-widget:not([data-theme=light]) .hw-header {
2730
+ background: var(--hw-bg);
2731
+ border-color: var(--hw-border);
2732
+ }
2733
+ .hw-header-bot-icon {
2734
+ background: var(--hw-bg-hover);
2735
+ }
2736
+ .hw-header-name,
2737
+ .hw-header-title {
2738
+ color: var(--hw-text);
2739
+ }
2740
+ .hw-header-status {
2741
+ color: var(--hw-text-2);
2742
+ }
2743
+ .hw-header-close,
2744
+ .hw-header-back {
2745
+ color: var(--hw-text-2);
2746
+ }
2747
+ .hw-header-close:hover,
2748
+ .hw-header-back:hover {
2749
+ background: var(--hw-bg-hover);
2750
+ color: var(--hw-text);
2751
+ }
2752
+ .hw-content-entry {
2753
+ background: var(--hw-bg);
2754
+ border-color: var(--hw-border);
2755
+ }
2756
+ .hw-content-entry:hover {
2757
+ background: var(--hw-bg-hover);
2758
+ border-color: var(--hw-border-md);
2759
+ }
2760
+ .hw-content-empty,
2761
+ .hw-empty {
2762
+ color: var(--hw-text-3);
2763
+ }
2764
+ .hw-conv-card {
2765
+ border-color: var(--hw-border);
2766
+ }
2767
+ .hw-recent-row {
2768
+ border-color: var(--hw-border);
2769
+ }
2770
+ .hw-composer-drop-overlay {
2771
+ background: rgba(0, 0, 0, 0.6);
2772
+ color: var(--hw-text);
2773
+ }
2774
+ .hw-composer--dragging .hw-composer-box {
2775
+ border-color: var(--hw-focus-border);
2776
+ box-shadow: 0 0 0 3px var(--hw-focus-ring);
2777
+ }
2778
+ .hw-hero {
2779
+ background:
2780
+ linear-gradient(
2781
+ 160deg,
2782
+ color-mix(in srgb, var(--hw-primary) 40%, black) 0%,
2783
+ var(--hw-primary) 50%,
2784
+ color-mix(in srgb, var(--hw-primary) 25%, black) 100%);
2785
+ }
2786
+ .hw-sheet {
2787
+ background: var(--hw-bg);
2788
+ }
2789
+ .hw-card {
2790
+ background: var(--hw-bg-hover);
2791
+ border-color: var(--hw-border);
2792
+ }
2793
+ .hw-card:hover {
2794
+ background: #333;
2795
+ }
2796
+ .hw-window {
2797
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.06);
2798
+ }
2799
+ .hw-bubble:focus-visible {
2800
+ outline-color: var(--hw-text-3);
2801
+ }
2802
+ .hw-msg--visitor .hw-msg-bubble {
2803
+ background: var(--hw-primary);
2804
+ color: white;
2805
+ }
2806
+ .hw-msg-bubble code {
2807
+ background: rgba(255, 255, 255, 0.08);
2808
+ }
2809
+ .hw-msg-bubble pre {
2810
+ background: rgba(255, 255, 255, 0.08);
2811
+ }
2812
+ .hw-composer-box {
2813
+ background: var(--hw-bg);
2814
+ border-color: var(--hw-border);
2815
+ }
2816
+ .hw-composer-input {
2817
+ color: var(--hw-text);
2818
+ }
2819
+ .hw-tabs {
2820
+ background: var(--hw-bg);
2821
+ border-color: var(--hw-border);
2822
+ }
2823
+ .hw-conv-card:hover,
2824
+ .hw-recent-row:hover {
2825
+ background: var(--hw-bg-hover);
2826
+ }
2827
+ .hw-disconnect {
2828
+ background: #422006;
2829
+ color: #fcd34d;
2830
+ }
2831
+ .hw-send-error {
2832
+ background: #450a0a;
2833
+ color: #fca5a5;
2834
+ }
2835
+ .hw-error-icon {
2836
+ background: #450a0a;
2837
+ color: #f87171;
2838
+ }
2839
+ .hw-msg-copy:hover {
2840
+ background: var(--hw-bg-hover);
2841
+ color: var(--hw-text-2);
2842
+ }
2843
+ .hw-resolved {
2844
+ border-color: var(--hw-border);
2845
+ }
2846
+ .hw-resolved-reopen,
2847
+ .hw-csat-btn {
2848
+ background: var(--hw-bg-hover);
2849
+ border-color: var(--hw-border-md);
2850
+ color: var(--hw-text);
2851
+ }
2852
+ .hw-hover-preview {
2853
+ background: #1c1c1e;
2854
+ border-color: var(--hw-border);
2855
+ }
2856
+ .hw-content-search-box {
2857
+ background: var(--hw-bg-hover);
2858
+ border-color: var(--hw-border-md);
2859
+ }
2860
+ .hw-preview {
2861
+ background: var(--hw-bg);
2862
+ border-color: var(--hw-border);
2863
+ }
2864
+ }
2865
+ /*# sourceMappingURL=index.css.map */