@akropolys/kiku 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3717 @@
1
+ /* src/styles.css */
2
+ :root {
3
+ --hsk-border-radius: 0px;
4
+ --hsk-brand-green: #2D7A4B;
5
+ }
6
+ .hsk-cb-btn,
7
+ .hsk-cb-close,
8
+ .hsk-cb-topbar-btn,
9
+ .hsk-cb-chip,
10
+ .hsk-cb-sidebar-toggle,
11
+ .hsk-cb-sidebar-new,
12
+ .hsk-cb-sidebar-session,
13
+ .hsk-cb-sidebar-session-del,
14
+ .hsk-cb-source,
15
+ .hsk-cb-sources-next,
16
+ .hsk-action-pill,
17
+ .hsk-chat-send,
18
+ .hsk-chat-reset,
19
+ .hsk-cart-trigger,
20
+ .hsk-checkout-btn,
21
+ .hsk-close-btn,
22
+ .hsk-cart-backdrop,
23
+ .hsk-cb-overlay {
24
+ touch-action: manipulation;
25
+ -webkit-tap-highlight-color: transparent;
26
+ }
27
+ button,
28
+ [role=button] {
29
+ touch-action: manipulation;
30
+ -webkit-tap-highlight-color: transparent;
31
+ }
32
+ .hsk-chat-widget {
33
+ --hsk-bg: var(--chat-bg-color, #ffffff);
34
+ --hsk-text: var(--chat-text-color, #1f1f1f);
35
+ --hsk-primary: var(--chat-primary-color, #ff6a33);
36
+ --hsk-font: var(--chat-font-family, inherit);
37
+ display: flex;
38
+ flex-direction: column;
39
+ height: 100%;
40
+ min-height: 320px;
41
+ font-family: var(--hsk-font);
42
+ background: var(--hsk-bg);
43
+ border: 1px solid #f1f3f4;
44
+ border-radius: var(--hsk-border-radius, 0px);
45
+ overflow: hidden;
46
+ }
47
+ @media (prefers-color-scheme: dark) {
48
+ .hsk-chat-widget {
49
+ --hsk-bg: var(--chat-bg-color, #0a0a0a);
50
+ --hsk-text: var(--chat-text-color, #e8eaed);
51
+ border-color: #202124;
52
+ }
53
+ }
54
+ .hsk-chat-header {
55
+ display: flex;
56
+ align-items: center;
57
+ gap: 10px;
58
+ padding: 14px 16px;
59
+ border-bottom: 1px solid #f1f3f4;
60
+ background: var(--hsk-bg);
61
+ flex-shrink: 0;
62
+ }
63
+ @media (prefers-color-scheme: dark) {
64
+ .hsk-chat-header {
65
+ border-bottom-color: #202124;
66
+ }
67
+ }
68
+ .hsk-chat-header-icon {
69
+ color: var(--hsk-primary);
70
+ display: flex;
71
+ align-items: center;
72
+ }
73
+ .hsk-brand-a {
74
+ color: var(--hsk-brand-green, #2D7A4B) !important;
75
+ }
76
+ .hsk-akr-breath {
77
+ animation: hsk-breath-pulse 3s ease-in-out infinite;
78
+ stroke: var(--hsk-brand-green, #2D7A4B);
79
+ transform-origin: 8.5px 5px;
80
+ }
81
+ @keyframes hsk-breath-pulse {
82
+ 0%, 100% {
83
+ opacity: 0.55;
84
+ stroke-width: 1.5;
85
+ }
86
+ 50% {
87
+ opacity: 1;
88
+ stroke-width: 2.2;
89
+ }
90
+ }
91
+ .hsk-chat-title {
92
+ font-size: 14px;
93
+ font-weight: 600;
94
+ color: var(--hsk-text);
95
+ }
96
+ .hsk-chat-badge {
97
+ font-size: 10px;
98
+ font-weight: 700;
99
+ letter-spacing: 0.08em;
100
+ text-transform: uppercase;
101
+ color: var(--hsk-primary);
102
+ background: rgba(255, 106, 51, 0.09);
103
+ border: 1px solid rgba(255, 106, 51, 0.18);
104
+ padding: 2px 8px;
105
+ border-radius: var(--hsk-border-radius, 0px);
106
+ }
107
+ .hsk-chat-messages {
108
+ flex: 1;
109
+ overflow-y: auto;
110
+ padding: 16px;
111
+ display: flex;
112
+ flex-direction: column;
113
+ gap: 12px;
114
+ scroll-behavior: smooth;
115
+ }
116
+ .hsk-chat-empty {
117
+ display: flex;
118
+ flex-direction: column;
119
+ align-items: center;
120
+ justify-content: center;
121
+ height: 100%;
122
+ gap: 8px;
123
+ color: #555;
124
+ font-size: 13px;
125
+ text-align: center;
126
+ padding: 24px;
127
+ }
128
+ .hsk-chat-empty-icon {
129
+ font-size: 28px;
130
+ margin-bottom: 4px;
131
+ color: var(--hsk-primary);
132
+ display: flex;
133
+ align-items: center;
134
+ justify-content: center;
135
+ }
136
+ .hsk-chat-empty-suggestions {
137
+ font-size: 12px;
138
+ color: #666;
139
+ margin-top: 4px;
140
+ }
141
+ .hsk-msg-row {
142
+ display: flex;
143
+ gap: 8px;
144
+ align-items: flex-start;
145
+ }
146
+ .hsk-msg-row.user {
147
+ flex-direction: row-reverse;
148
+ }
149
+ .hsk-msg-avatar {
150
+ width: 28px;
151
+ height: 28px;
152
+ border-radius: var(--hsk-border-radius, 0px);
153
+ flex-shrink: 0;
154
+ display: flex;
155
+ align-items: center;
156
+ justify-content: center;
157
+ font-size: 13px;
158
+ font-weight: 700;
159
+ }
160
+ .hsk-msg-avatar.ai {
161
+ background: rgba(255, 106, 51, 0.12);
162
+ border: 1px solid rgba(255, 106, 51, 0.25);
163
+ color: var(--hsk-primary);
164
+ display: flex;
165
+ align-items: center;
166
+ justify-content: center;
167
+ }
168
+ .hsk-msg-avatar.user {
169
+ background: #f1f3f4;
170
+ color: #5f6368;
171
+ }
172
+ @media (prefers-color-scheme: dark) {
173
+ .hsk-msg-avatar.user {
174
+ background: #202124;
175
+ color: #888;
176
+ }
177
+ }
178
+ .hsk-msg-bubble {
179
+ max-width: 78%;
180
+ padding: 10px 14px;
181
+ border-radius: var(--hsk-border-radius, 0px);
182
+ font-size: 13px;
183
+ line-height: 1.6;
184
+ }
185
+ .hsk-msg-bubble.ai {
186
+ background: var(--hsk-bg);
187
+ border: 1px solid #f1f3f4;
188
+ color: var(--hsk-text);
189
+ }
190
+ @media (prefers-color-scheme: dark) {
191
+ .hsk-msg-bubble.ai {
192
+ border-color: #202124;
193
+ }
194
+ }
195
+ .hsk-msg-bubble.user {
196
+ background: var(--hsk-primary);
197
+ color: #fff;
198
+ }
199
+ .hsk-sources-container {
200
+ margin-left: 36px;
201
+ }
202
+ .hsk-sources {
203
+ margin-top: 10px;
204
+ display: flex;
205
+ flex-direction: column;
206
+ gap: 6px;
207
+ }
208
+ .hsk-source-card {
209
+ display: flex;
210
+ align-items: center;
211
+ gap: 10px;
212
+ padding: 8px 10px;
213
+ background: #f8f9fa;
214
+ border: 1px solid #f1f3f4;
215
+ border-radius: var(--hsk-border-radius, 0px);
216
+ cursor: pointer;
217
+ transition: border-color 0.15s;
218
+ }
219
+ @media (prefers-color-scheme: dark) {
220
+ .hsk-source-card {
221
+ background: #1a1a1b;
222
+ border-color: #202124;
223
+ }
224
+ }
225
+ .hsk-source-card:hover {
226
+ border-color: rgba(255, 106, 51, 0.37);
227
+ }
228
+ .hsk-source-img {
229
+ width: 36px;
230
+ height: 36px;
231
+ object-fit: cover;
232
+ border-radius: var(--hsk-border-radius, 0px);
233
+ background: #fff;
234
+ }
235
+ .hsk-source-name {
236
+ font-size: 12px;
237
+ font-weight: 500;
238
+ color: var(--hsk-text);
239
+ white-space: nowrap;
240
+ overflow: hidden;
241
+ text-overflow: ellipsis;
242
+ }
243
+ .hsk-source-price {
244
+ font-size: 11px;
245
+ color: var(--hsk-primary);
246
+ font-weight: 700;
247
+ margin-top: 2px;
248
+ }
249
+ .hsk-typing {
250
+ display: flex;
251
+ gap: 4px;
252
+ align-items: center;
253
+ padding: 10px 14px;
254
+ background: var(--hsk-bg);
255
+ border: 1px solid #f1f3f4;
256
+ border-radius: var(--hsk-border-radius, 0px);
257
+ width: fit-content;
258
+ }
259
+ @media (prefers-color-scheme: dark) {
260
+ .hsk-typing {
261
+ border-color: #202124;
262
+ }
263
+ }
264
+ .hsk-typing-dot {
265
+ width: 6px;
266
+ height: 6px;
267
+ background: var(--hsk-primary);
268
+ border-radius: 50%;
269
+ animation: hsk-chat-bounce 1.2s infinite;
270
+ }
271
+ .hsk-typing-dot:nth-child(2) {
272
+ animation-delay: 0.2s;
273
+ }
274
+ .hsk-typing-dot:nth-child(3) {
275
+ animation-delay: 0.4s;
276
+ }
277
+ @keyframes hsk-chat-bounce {
278
+ 0%, 100% {
279
+ opacity: 0.3;
280
+ transform: translateY(0);
281
+ }
282
+ 50% {
283
+ opacity: 1;
284
+ transform: translateY(-4px);
285
+ }
286
+ }
287
+ .hsk-pending {
288
+ display: inline-flex;
289
+ align-items: center;
290
+ gap: 10px;
291
+ padding: 10px 14px;
292
+ background: var(--hsk-bg);
293
+ border: 1px solid #f1f3f4;
294
+ border-radius: var(--hsk-border-radius, 0px);
295
+ position: relative;
296
+ }
297
+ @media (prefers-color-scheme: dark) {
298
+ .hsk-pending {
299
+ border-color: #202124;
300
+ }
301
+ }
302
+ .hsk-pending-glyph {
303
+ width: 18px;
304
+ height: 18px;
305
+ position: relative;
306
+ display: inline-flex;
307
+ align-items: center;
308
+ justify-content: center;
309
+ }
310
+ .hsk-pending-ring {
311
+ width: 18px;
312
+ height: 18px;
313
+ border-radius: 50%;
314
+ border: 2px solid rgba(255, 106, 51, 0.25);
315
+ border-top-color: var(--hsk-primary);
316
+ animation: hsk-pending-spin 1.1s linear infinite;
317
+ }
318
+ .hsk-pending-dot {
319
+ position: absolute;
320
+ width: 6px;
321
+ height: 6px;
322
+ border-radius: 50%;
323
+ background: var(--hsk-primary);
324
+ box-shadow: 0 0 8px rgba(255, 106, 51, 0.45);
325
+ animation: hsk-pending-pulse 1.4s ease-in-out infinite;
326
+ }
327
+ .hsk-pending-text {
328
+ position: relative;
329
+ min-width: 140px;
330
+ height: 16px;
331
+ font-size: 12px;
332
+ color: var(--hsk-text);
333
+ letter-spacing: 0.01em;
334
+ }
335
+ .hsk-pending-step {
336
+ position: absolute;
337
+ left: 0;
338
+ top: 0;
339
+ opacity: 0;
340
+ animation: hsk-pending-cycle 6s infinite;
341
+ }
342
+ .hsk-pending-step.step-1 {
343
+ animation-delay: 0s;
344
+ }
345
+ .hsk-pending-step.step-2 {
346
+ animation-delay: 2s;
347
+ }
348
+ .hsk-pending-step.step-3 {
349
+ animation-delay: 4s;
350
+ }
351
+ @keyframes hsk-pending-spin {
352
+ 0% {
353
+ transform: rotate(0deg);
354
+ }
355
+ 100% {
356
+ transform: rotate(360deg);
357
+ }
358
+ }
359
+ @keyframes hsk-pending-pulse {
360
+ 0%, 100% {
361
+ transform: scale(0.75);
362
+ opacity: 0.6;
363
+ }
364
+ 50% {
365
+ transform: scale(1);
366
+ opacity: 1;
367
+ }
368
+ }
369
+ @keyframes hsk-pending-cycle {
370
+ 0%, 10% {
371
+ opacity: 0;
372
+ transform: translateY(2px);
373
+ }
374
+ 20%, 45% {
375
+ opacity: 1;
376
+ transform: translateY(0);
377
+ }
378
+ 55%, 100% {
379
+ opacity: 0;
380
+ transform: translateY(-2px);
381
+ }
382
+ }
383
+ .hsk-chat-input-area {
384
+ display: flex;
385
+ align-items: center;
386
+ gap: 8px;
387
+ padding: 12px 14px;
388
+ border-top: 1px solid #f1f3f4;
389
+ background: var(--hsk-bg);
390
+ flex-shrink: 0;
391
+ }
392
+ @media (prefers-color-scheme: dark) {
393
+ .hsk-chat-input-area {
394
+ border-top-color: #202124;
395
+ }
396
+ }
397
+ .hsk-chat-input {
398
+ flex: 1;
399
+ background: #f1f3f4;
400
+ border: 1px solid #f1f3f4;
401
+ border-radius: var(--hsk-border-radius, 0px);
402
+ padding: 9px 14px;
403
+ font-size: 13px;
404
+ color: var(--hsk-text);
405
+ outline: none;
406
+ font-family: inherit;
407
+ transition: border-color 0.2s;
408
+ resize: none;
409
+ min-height: 38px;
410
+ max-height: 120px;
411
+ line-height: 1.5;
412
+ }
413
+ @media (prefers-color-scheme: dark) {
414
+ .hsk-chat-input {
415
+ background: #1a1a1b;
416
+ border-color: #202124;
417
+ }
418
+ }
419
+ .hsk-chat-input::placeholder {
420
+ color: #888;
421
+ }
422
+ .hsk-chat-input:focus {
423
+ border-color: var(--hsk-primary);
424
+ }
425
+ .hsk-chat-send {
426
+ width: 34px;
427
+ height: 34px;
428
+ border-radius: var(--hsk-border-radius, 0px);
429
+ background: var(--hsk-primary);
430
+ border: none;
431
+ color: #fff;
432
+ cursor: pointer;
433
+ display: flex;
434
+ align-items: center;
435
+ justify-content: center;
436
+ flex-shrink: 0;
437
+ font-size: 16px;
438
+ transition: opacity 0.15s, transform 0.1s;
439
+ }
440
+ .hsk-chat-send:hover {
441
+ opacity: 0.88;
442
+ }
443
+ .hsk-chat-send:active {
444
+ transform: scale(0.93);
445
+ }
446
+ .hsk-chat-send:disabled {
447
+ opacity: 0.4;
448
+ cursor: not-allowed;
449
+ }
450
+ .hsk-chat-reset {
451
+ font-size: 11px;
452
+ color: #555;
453
+ cursor: pointer;
454
+ padding: 0 4px;
455
+ transition: color 0.15s;
456
+ background: none;
457
+ border: none;
458
+ font-family: inherit;
459
+ }
460
+ .hsk-chat-reset:hover {
461
+ color: var(--hsk-primary);
462
+ }
463
+ .hsk-chat-error {
464
+ font-size: 12px;
465
+ color: #ef4444;
466
+ text-align: center;
467
+ padding: 8px;
468
+ }
469
+ .hsk-cb-btn {
470
+ --hsk-primary: var(--chat-primary-color, #ff6a33);
471
+ display: inline-flex;
472
+ align-items: center;
473
+ gap: 7px;
474
+ padding: 8px 16px;
475
+ border-radius: var(--hsk-border-radius, 0px);
476
+ border: 1px solid rgba(255, 106, 51, 0.4);
477
+ background: rgba(255, 106, 51, 0.1);
478
+ color: var(--hsk-primary);
479
+ font-size: 13px;
480
+ font-weight: 600;
481
+ cursor: pointer;
482
+ transition:
483
+ background .15s,
484
+ border-color .15s,
485
+ transform .12s,
486
+ box-shadow .15s;
487
+ font-family: inherit;
488
+ white-space: nowrap;
489
+ }
490
+ .hsk-cb-btn:hover {
491
+ background: rgba(255, 106, 51, 0.18);
492
+ border-color: rgba(255, 106, 51, 0.7);
493
+ box-shadow: 0 4px 16px rgba(255, 106, 51, 0.2);
494
+ }
495
+ .hsk-cb-btn:active {
496
+ transform: scale(.95);
497
+ }
498
+ .hsk-cb-btn-icon {
499
+ font-size: 15px;
500
+ line-height: 1;
501
+ display: flex;
502
+ align-items: center;
503
+ }
504
+ .hsk-cb-overlay {
505
+ --hsk-primary: var(--chat-primary-color, #ff6a33);
506
+ position: fixed;
507
+ inset: 0;
508
+ z-index: 99999;
509
+ display: flex;
510
+ flex-direction: column;
511
+ animation: hsk-overlay-in .2s ease-out both;
512
+ background: #ffffff !important;
513
+ }
514
+ @keyframes hsk-overlay-in {
515
+ from {
516
+ opacity: 0;
517
+ }
518
+ to {
519
+ opacity: 1;
520
+ }
521
+ }
522
+ .hsk-cb-panel {
523
+ position: relative;
524
+ display: flex;
525
+ flex-direction: column;
526
+ height: 100%;
527
+ max-width: 780px;
528
+ width: 100%;
529
+ margin: 0 auto;
530
+ animation: hsk-panel-in .28s cubic-bezier(.34, 1.2, .64, 1) both;
531
+ }
532
+ @keyframes hsk-panel-in {
533
+ from {
534
+ opacity: 0;
535
+ transform: translateY(24px);
536
+ }
537
+ to {
538
+ opacity: 1;
539
+ transform: translateY(0);
540
+ }
541
+ }
542
+ .hsk-cb-topbar {
543
+ display: flex;
544
+ align-items: center;
545
+ justify-content: space-between;
546
+ padding: 20px 28px 12px;
547
+ flex-shrink: 0;
548
+ }
549
+ .hsk-cb-topbar-left {
550
+ display: flex;
551
+ align-items: center;
552
+ gap: 10px;
553
+ }
554
+ .hsk-cb-topbar-icon {
555
+ font-size: 22px;
556
+ color: var(--hsk-primary);
557
+ line-height: 1;
558
+ display: flex;
559
+ align-items: center;
560
+ animation: hsk-sparkle-spin 6s linear infinite;
561
+ }
562
+ @keyframes hsk-sparkle-spin {
563
+ 0%, 100% {
564
+ transform: rotate(0deg) scale(1);
565
+ }
566
+ 25% {
567
+ transform: rotate(15deg) scale(1.1);
568
+ }
569
+ 75% {
570
+ transform: rotate(-10deg) scale(.95);
571
+ }
572
+ }
573
+ .hsk-cb-topbar-title {
574
+ font-size: 16px;
575
+ font-weight: 500;
576
+ color: var(--hsk-chat-text, #1f1f1f);
577
+ letter-spacing: -.01em;
578
+ }
579
+ .hsk-cb-topbar-sub {
580
+ font-size: 12px;
581
+ color: var(--hsk-chat-muted, #5f6368);
582
+ margin-top: 2px;
583
+ }
584
+ .hsk-cb-topbar-actions {
585
+ display: flex;
586
+ align-items: center;
587
+ gap: 8px;
588
+ }
589
+ .hsk-cb-topbar-btn {
590
+ height: 34px;
591
+ padding: 0 14px;
592
+ border-radius: var(--hsk-border-radius, 0px);
593
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));
594
+ background: none;
595
+ color: var(--hsk-chat-muted, #5f6368);
596
+ font-size: 12px;
597
+ font-weight: 500;
598
+ cursor: pointer;
599
+ transition: all .15s;
600
+ font-family: inherit;
601
+ }
602
+ .hsk-cb-topbar-btn:hover {
603
+ border-color: var(--hsk-primary);
604
+ color: var(--hsk-primary);
605
+ }
606
+ .hsk-cb-close {
607
+ width: 34px;
608
+ height: 34px;
609
+ border-radius: var(--hsk-border-radius, 0px);
610
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));
611
+ background: none;
612
+ color: var(--hsk-chat-muted, #5f6368);
613
+ cursor: pointer;
614
+ font-size: 20px;
615
+ display: flex;
616
+ align-items: center;
617
+ justify-content: center;
618
+ transition: all .15s;
619
+ flex-shrink: 0;
620
+ font-family: inherit;
621
+ line-height: 1;
622
+ }
623
+ .hsk-cb-close:hover {
624
+ border-color: var(--hsk-primary);
625
+ color: var(--hsk-primary);
626
+ }
627
+ .hsk-cb-msgs {
628
+ flex: 1;
629
+ overflow-y: auto;
630
+ padding: 8px 28px 0;
631
+ display: flex;
632
+ flex-direction: column;
633
+ gap: 0;
634
+ scroll-behavior: smooth;
635
+ scrollbar-width: thin;
636
+ scrollbar-color: var(--hsk-chat-divide, rgba(0,0,0,.1)) transparent;
637
+ }
638
+ .hsk-cb-empty {
639
+ flex: 1;
640
+ display: flex;
641
+ flex-direction: column;
642
+ align-items: center;
643
+ justify-content: center;
644
+ gap: 20px;
645
+ padding: 60px 32px;
646
+ text-align: center;
647
+ background:
648
+ radial-gradient(
649
+ circle at center,
650
+ rgba(var(--hsk-primary-rgb, 255, 106, 51), 0.08) 0%,
651
+ transparent 60%);
652
+ }
653
+ .hsk-cb-empty-icon {
654
+ font-size: 48px;
655
+ color: var(--hsk-primary);
656
+ display: flex;
657
+ align-items: center;
658
+ animation: hsk-sparkle-spin 4s linear infinite;
659
+ }
660
+ .hsk-cb-empty-title {
661
+ font-size: 26px;
662
+ font-weight: 500;
663
+ color: var(--hsk-chat-text, #111);
664
+ letter-spacing: -.02em;
665
+ }
666
+ .hsk-cb-empty-sub {
667
+ font-size: 14px;
668
+ color: var(--hsk-chat-muted, #5f6368);
669
+ line-height: 1.7;
670
+ max-width: 380px;
671
+ }
672
+ .hsk-cb-chips {
673
+ display: flex;
674
+ flex-wrap: wrap;
675
+ gap: 8px;
676
+ justify-content: center;
677
+ margin-top: 4px;
678
+ }
679
+ .hsk-cb-chip {
680
+ padding: 8px 16px;
681
+ border-radius: var(--hsk-border-radius, 0px);
682
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));
683
+ background: var(--hsk-chat-source-bg, rgba(0,0,0,.03));
684
+ color: var(--hsk-chat-text, #333);
685
+ font-size: 13px;
686
+ cursor: pointer;
687
+ transition: all .15s;
688
+ font-family: inherit;
689
+ }
690
+ .hsk-cb-chip:hover {
691
+ border-color: var(--hsk-primary);
692
+ color: var(--hsk-primary);
693
+ background: rgba(255, 106, 51, .06);
694
+ }
695
+ .hsk-cb-msg-group {
696
+ padding: 20px 0;
697
+ border-bottom: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.05));
698
+ animation: hsk-msg-in .22s ease-out both;
699
+ }
700
+ .hsk-cb-msg-group:last-child {
701
+ border-bottom: none;
702
+ }
703
+ @keyframes hsk-msg-in {
704
+ from {
705
+ opacity: 0;
706
+ transform: translateY(10px);
707
+ }
708
+ to {
709
+ opacity: 1;
710
+ transform: translateY(0);
711
+ }
712
+ }
713
+ .hsk-cb-user-msg {
714
+ display: flex;
715
+ justify-content: flex-end;
716
+ margin-bottom: 20px;
717
+ }
718
+ .hsk-cb-user-bubble {
719
+ background: var(--hsk-primary);
720
+ color: #fff;
721
+ padding: 10px 16px;
722
+ border-radius: var(--hsk-border-radius, 0px);
723
+ font-size: 13px;
724
+ line-height: 1.55;
725
+ max-width: 72%;
726
+ font-weight: 500;
727
+ }
728
+ .hsk-cb-ai-msg {
729
+ display: flex;
730
+ align-items: flex-start;
731
+ gap: 14px;
732
+ }
733
+ .hsk-cb-ai-icon {
734
+ width: 28px;
735
+ height: 28px;
736
+ border-radius: var(--hsk-border-radius, 0px);
737
+ background: rgba(255, 106, 51, .12);
738
+ border: 1px solid rgba(255, 106, 51, .25);
739
+ color: var(--hsk-primary);
740
+ font-size: 13px;
741
+ display: flex;
742
+ align-items: center;
743
+ justify-content: center;
744
+ flex-shrink: 0;
745
+ margin-top: 2px;
746
+ }
747
+ .hsk-cb-ai-body {
748
+ flex: 1;
749
+ min-width: 0;
750
+ }
751
+ .hsk-cb-ai-text {
752
+ font-size: 13px;
753
+ line-height: 1.65;
754
+ color: var(--hsk-chat-text, #111);
755
+ white-space: pre-wrap;
756
+ }
757
+ .hsk-cb-sources-wrap {
758
+ position: relative;
759
+ margin-top: 20px;
760
+ }
761
+ .hsk-cb-sources {
762
+ display: flex;
763
+ flex-direction: row;
764
+ gap: 14px;
765
+ overflow-x: auto;
766
+ scroll-snap-type: x mandatory;
767
+ scrollbar-width: none;
768
+ -ms-overflow-style: none;
769
+ padding-bottom: 4px;
770
+ }
771
+ .hsk-cb-sources::-webkit-scrollbar {
772
+ display: none;
773
+ }
774
+ .hsk-cb-sources-fade {
775
+ position: absolute;
776
+ right: 0;
777
+ top: 0;
778
+ bottom: 4px;
779
+ width: 90px;
780
+ pointer-events: none;
781
+ }
782
+ .hsk-cb-sources-next {
783
+ position: absolute;
784
+ right: 10px;
785
+ top: 50%;
786
+ transform: translateY(-50%);
787
+ width: 30px;
788
+ height: 30px;
789
+ border-radius: var(--hsk-border-radius, 0px);
790
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));
791
+ background: var(--hsk-chat-bg, #ffffff);
792
+ color: var(--hsk-chat-text, #333);
793
+ cursor: pointer;
794
+ font-size: 16px;
795
+ display: flex;
796
+ align-items: center;
797
+ justify-content: center;
798
+ box-shadow: 0 2px 12px rgba(0, 0, 0, .1);
799
+ transition: all .15s;
800
+ z-index: 3;
801
+ font-family: inherit;
802
+ line-height: 1;
803
+ }
804
+ .hsk-cb-sources-next:hover {
805
+ border-color: var(--hsk-primary);
806
+ color: var(--hsk-primary);
807
+ }
808
+ .hsk-cb-source {
809
+ flex: 0 0 188px;
810
+ scroll-snap-align: start;
811
+ border-radius: var(--hsk-border-radius, 0px);
812
+ border: none;
813
+ background: transparent;
814
+ cursor: pointer;
815
+ transition: transform .14s, opacity .14s;
816
+ animation: hsk-card-in .26s ease-out both;
817
+ overflow: visible;
818
+ }
819
+ @keyframes hsk-card-in {
820
+ from {
821
+ opacity: 0;
822
+ transform: translateX(16px);
823
+ }
824
+ to {
825
+ opacity: 1;
826
+ transform: none;
827
+ }
828
+ }
829
+ .hsk-cb-source:hover {
830
+ transform: translateY(-3px);
831
+ opacity: .92;
832
+ }
833
+ .hsk-cb-src-imgwrap {
834
+ width: 188px;
835
+ height: 188px;
836
+ overflow: hidden;
837
+ border-radius: var(--hsk-border-radius, 0px);
838
+ display: block;
839
+ }
840
+ .hsk-cb-src-imgwrap img {
841
+ width: 100%;
842
+ height: 100%;
843
+ object-fit: cover;
844
+ transition: transform .22s;
845
+ display: block;
846
+ }
847
+ .hsk-cb-source:hover .hsk-cb-src-imgwrap img {
848
+ transform: scale(1.05);
849
+ }
850
+ .hsk-cb-src-imgwrap-empty {
851
+ width: 188px;
852
+ height: 188px;
853
+ background: var(--hsk-chat-divide, rgba(0,0,0,.06));
854
+ display: flex;
855
+ align-items: center;
856
+ justify-content: center;
857
+ color: var(--hsk-chat-muted, #555);
858
+ font-size: 32px;
859
+ }
860
+ .hsk-cb-src-info {
861
+ padding: 8px 2px 0;
862
+ }
863
+ .hsk-cb-src-name {
864
+ font-size: 13px;
865
+ font-weight: 600;
866
+ color: var(--hsk-chat-text, #333);
867
+ line-height: 1.4;
868
+ display: -webkit-box;
869
+ -webkit-line-clamp: 2;
870
+ -webkit-box-orient: vertical;
871
+ overflow: hidden;
872
+ }
873
+ .hsk-cb-src-price {
874
+ font-size: 13px;
875
+ color: var(--hsk-primary);
876
+ font-weight: 700;
877
+ margin-top: 3px;
878
+ }
879
+ .hsk-cb-selected-product {
880
+ display: flex;
881
+ align-items: flex-start;
882
+ gap: 14px;
883
+ margin-top: 16px;
884
+ padding: 14px;
885
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.08));
886
+ border-left: 3px solid var(--hsk-primary);
887
+ background: var(--hsk-chat-source-bg, rgba(0,0,0,.03));
888
+ cursor: pointer;
889
+ transition: border-color .15s;
890
+ animation: hsk-msg-in .2s ease-out both;
891
+ }
892
+ .hsk-cb-selected-product:hover {
893
+ border-left-color: rgba(255, 106, 51, .6);
894
+ }
895
+ .hsk-cb-selected-img {
896
+ width: 64px;
897
+ height: 64px;
898
+ object-fit: cover;
899
+ flex-shrink: 0;
900
+ }
901
+ .hsk-cb-selected-info {
902
+ flex: 1;
903
+ min-width: 0;
904
+ }
905
+ .hsk-cb-selected-name {
906
+ font-size: 13px;
907
+ font-weight: 700;
908
+ color: var(--hsk-chat-text, #111);
909
+ margin-bottom: 3px;
910
+ }
911
+ .hsk-cb-selected-price {
912
+ font-size: 13px;
913
+ color: var(--hsk-primary);
914
+ font-weight: 700;
915
+ }
916
+ .hsk-cb-typing-row {
917
+ display: flex;
918
+ align-items: flex-start;
919
+ gap: 14px;
920
+ padding: 20px 0;
921
+ }
922
+ .hsk-cb-typing {
923
+ display: flex;
924
+ align-items: center;
925
+ gap: 6px;
926
+ padding: 10px 16px;
927
+ border-radius: 20px;
928
+ background: var(--hsk-typing-bg, rgba(0,0,0,.05));
929
+ }
930
+ .hsk-cb-dot {
931
+ width: 7px;
932
+ height: 7px;
933
+ border-radius: 50%;
934
+ background: var(--hsk-primary, #ff6a33);
935
+ animation: hsk-wave-bounce 1.2s ease-in-out infinite;
936
+ transform-origin: bottom center;
937
+ flex-shrink: 0;
938
+ }
939
+ .hsk-cb-dot:nth-child(1) {
940
+ animation-delay: 0s;
941
+ }
942
+ .hsk-cb-dot:nth-child(2) {
943
+ animation-delay: 0.16s;
944
+ }
945
+ .hsk-cb-dot:nth-child(3) {
946
+ animation-delay: 0.32s;
947
+ }
948
+ @keyframes hsk-wave-bounce {
949
+ 0%, 100% {
950
+ transform: translateY(0) scale(1, 1);
951
+ opacity: 0.55;
952
+ }
953
+ 12% {
954
+ transform: translateY(0) scale(1.35, 0.65);
955
+ opacity: 0.6;
956
+ }
957
+ 28% {
958
+ transform: translateY(-5px) scale(0.75, 1.3);
959
+ opacity: 0.85;
960
+ }
961
+ 48% {
962
+ transform: translateY(-12px) scale(1, 1);
963
+ opacity: 1;
964
+ }
965
+ 68% {
966
+ transform: translateY(-5px) scale(0.75, 1.3);
967
+ opacity: 0.85;
968
+ }
969
+ 88% {
970
+ transform: translateY(0) scale(1.35, 0.65);
971
+ opacity: 0.65;
972
+ }
973
+ }
974
+ .hsk-cb-input-wrap {
975
+ padding: 16px 28px 28px;
976
+ flex-shrink: 0;
977
+ }
978
+ .hsk-cb-input-box {
979
+ display: flex;
980
+ align-items: flex-end;
981
+ gap: 10px;
982
+ background: var(--hsk-chat-input-bg, rgba(0,0,0,.04));
983
+ border: 1.5px solid var(--hsk-chat-divide, rgba(0,0,0,.1));
984
+ border-radius: var(--hsk-border-radius, 0px);
985
+ padding: 14px 14px 14px 20px;
986
+ transition: border-color .15s, box-shadow .15s;
987
+ }
988
+ .hsk-cb-input-box:focus-within {
989
+ border-color: var(--hsk-primary);
990
+ box-shadow: 0 0 0 3px rgba(255, 106, 51, .1);
991
+ }
992
+ .hsk-cb-textarea {
993
+ flex: 1;
994
+ background: transparent;
995
+ border: none;
996
+ outline: none;
997
+ resize: none;
998
+ font-size: 13px;
999
+ color: var(--hsk-chat-text, #111);
1000
+ min-height: 24px;
1001
+ max-height: 140px;
1002
+ line-height: 1.5;
1003
+ font-family: inherit;
1004
+ }
1005
+ .hsk-cb-textarea::placeholder {
1006
+ color: var(--hsk-chat-muted, #aaa);
1007
+ }
1008
+ .hsk-cb-send {
1009
+ width: 38px;
1010
+ height: 38px;
1011
+ border-radius: var(--hsk-border-radius, 0px);
1012
+ background: var(--hsk-primary);
1013
+ border: none;
1014
+ color: #fff;
1015
+ cursor: pointer;
1016
+ font-size: 18px;
1017
+ display: flex;
1018
+ align-items: center;
1019
+ justify-content: center;
1020
+ flex-shrink: 0;
1021
+ transition:
1022
+ opacity .15s,
1023
+ transform .1s,
1024
+ background .15s;
1025
+ font-family: inherit;
1026
+ }
1027
+ .hsk-cb-send:hover {
1028
+ opacity: .88;
1029
+ }
1030
+ .hsk-cb-send:active {
1031
+ transform: scale(.9);
1032
+ }
1033
+ .hsk-cb-send:disabled {
1034
+ opacity: .3;
1035
+ cursor: not-allowed;
1036
+ background: var(--hsk-chat-muted, #ccc);
1037
+ }
1038
+ .hsk-cb-hint {
1039
+ text-align: center;
1040
+ font-size: 10px;
1041
+ color: var(--hsk-chat-muted, #bbb);
1042
+ margin-top: 10px;
1043
+ }
1044
+ .hsk-cb-error {
1045
+ margin: 8px 0;
1046
+ padding: 10px 14px;
1047
+ border-radius: var(--hsk-border-radius, 0px);
1048
+ background: rgba(239, 68, 68, .08);
1049
+ border: 1px solid rgba(239, 68, 68, .2);
1050
+ color: #ef4444;
1051
+ font-size: 13px;
1052
+ }
1053
+ @media (prefers-color-scheme: dark) {
1054
+ .hsk-cb-overlay {
1055
+ --hsk-chat-bg: #0a0a0a;
1056
+ --hsk-chat-text: #f0efed;
1057
+ --hsk-chat-muted: #888;
1058
+ --hsk-chat-divide: rgba(255,255,255,.07);
1059
+ --hsk-chat-input-bg: rgba(255,255,255,.05);
1060
+ --hsk-chat-source-bg: rgba(255,255,255,.04);
1061
+ --hsk-fade-bg: #0a0a0a;
1062
+ background: #000000 !important;
1063
+ }
1064
+ .hsk-cb-topbar-title {
1065
+ color: #f0efed;
1066
+ }
1067
+ .hsk-cb-topbar-sub {
1068
+ color: #888;
1069
+ }
1070
+ .hsk-cb-topbar-btn {
1071
+ border-color: rgba(255, 255, 255, .07);
1072
+ color: #888;
1073
+ }
1074
+ .hsk-cb-close {
1075
+ border-color: rgba(255, 255, 255, .07);
1076
+ color: #888;
1077
+ }
1078
+ .hsk-cb-empty-title {
1079
+ color: #f0efed;
1080
+ }
1081
+ .hsk-cb-empty-sub {
1082
+ color: #888;
1083
+ }
1084
+ .hsk-cb-chip {
1085
+ border-color: rgba(255, 255, 255, .07);
1086
+ background: rgba(255, 255, 255, .04);
1087
+ color: #f0efed;
1088
+ }
1089
+ .hsk-cb-chip:hover {
1090
+ background: rgba(255, 106, 51, .06);
1091
+ }
1092
+ .hsk-cb-msg-group {
1093
+ border-bottom-color: rgba(255, 255, 255, .05);
1094
+ }
1095
+ .hsk-cb-user-bubble {
1096
+ color: #fff;
1097
+ }
1098
+ .hsk-cb-ai-icon {
1099
+ background: rgba(255, 106, 51, .12);
1100
+ border-color: rgba(255, 106, 51, .25);
1101
+ }
1102
+ .hsk-cb-ai-text {
1103
+ color: #f0efed;
1104
+ }
1105
+ .hsk-cb-sources-next {
1106
+ border-color: rgba(255, 255, 255, .12);
1107
+ background: #0a0a0a;
1108
+ color: #f0efed;
1109
+ }
1110
+ .hsk-cb-src-imgwrap-empty {
1111
+ background: rgba(255, 255, 255, .06);
1112
+ color: #555;
1113
+ }
1114
+ .hsk-cb-src-name {
1115
+ color: #f0efed;
1116
+ }
1117
+ .hsk-cb-selected-product {
1118
+ border-color: rgba(255, 255, 255, .08);
1119
+ background: rgba(255, 255, 255, .03);
1120
+ }
1121
+ .hsk-cb-selected-name {
1122
+ color: #f0efed;
1123
+ }
1124
+ .hsk-cb-dot {
1125
+ background: #555;
1126
+ }
1127
+ .hsk-cb-input-box {
1128
+ background: rgba(255, 255, 255, .05);
1129
+ border-color: rgba(255, 255, 255, .07);
1130
+ }
1131
+ .hsk-cb-textarea {
1132
+ color: #f0efed;
1133
+ }
1134
+ .hsk-cb-textarea::placeholder {
1135
+ color: #555;
1136
+ }
1137
+ .hsk-cb-send:disabled {
1138
+ background: #555;
1139
+ }
1140
+ .hsk-cb-hint {
1141
+ color: #555;
1142
+ }
1143
+ }
1144
+ @media (prefers-color-scheme: light) {
1145
+ .hsk-cb-overlay {
1146
+ --hsk-chat-bg: #ffffff;
1147
+ --hsk-chat-text: #1f1f1f;
1148
+ --hsk-chat-muted: #5f6368;
1149
+ --hsk-chat-divide: #f1f3f4;
1150
+ --hsk-chat-input-bg: #f1f3f4;
1151
+ --hsk-chat-source-bg: #f8f9fa;
1152
+ --hsk-fade-bg: #ffffff;
1153
+ background: #ffffff !important;
1154
+ }
1155
+ }
1156
+ .hsk-sb-wrap {
1157
+ --hsk-bg: #ffffff;
1158
+ --hsk-border: #f1f3f4;
1159
+ --hsk-text: #1f1f1f;
1160
+ --hsk-muted: #5f6368;
1161
+ --hsk-hover: #f8f9fa;
1162
+ --hsk-drop-shadow: 0 8px 30px rgba(0,0,0,.06);
1163
+ --hsk-primary: var(--chat-primary-color, #ff6a33);
1164
+ position: relative;
1165
+ width: 100%;
1166
+ font-family: inherit;
1167
+ }
1168
+ @media (prefers-color-scheme: dark) {
1169
+ .hsk-sb-wrap {
1170
+ --hsk-bg: #0a0a0a;
1171
+ --hsk-border: #202124;
1172
+ --hsk-text: #e8eaed;
1173
+ --hsk-muted: #888;
1174
+ --hsk-hover: #1a1a1b;
1175
+ --hsk-drop-shadow: 0 12px 40px rgba(0,0,0,.4);
1176
+ }
1177
+ }
1178
+ .hsk-sb-input {
1179
+ width: 100%;
1180
+ padding: 10px 16px 10px 40px;
1181
+ font-size: 14px;
1182
+ border-radius: var(--hsk-border-radius, 0px);
1183
+ border: 1.5px solid var(--hsk-border);
1184
+ outline: none;
1185
+ box-sizing: border-box;
1186
+ background: var(--hsk-bg);
1187
+ color: var(--hsk-text);
1188
+ transition: border-color .15s, box-shadow .15s;
1189
+ font-family: inherit;
1190
+ }
1191
+ .hsk-sb-input::placeholder {
1192
+ color: var(--hsk-muted);
1193
+ }
1194
+ .hsk-sb-input:focus {
1195
+ border-color: var(--hsk-primary);
1196
+ box-shadow: 0 0 0 3px rgba(255, 106, 51, .12);
1197
+ }
1198
+ .hsk-sb-icon {
1199
+ position: absolute;
1200
+ left: 14px;
1201
+ top: 50%;
1202
+ transform: translateY(-50%);
1203
+ color: var(--hsk-muted);
1204
+ pointer-events: none;
1205
+ display: flex;
1206
+ align-items: center;
1207
+ }
1208
+ .hsk-sb-drop {
1209
+ position: absolute;
1210
+ top: calc(100% + 6px);
1211
+ left: 0;
1212
+ right: 0;
1213
+ background: var(--hsk-bg);
1214
+ border: 1px solid var(--hsk-border);
1215
+ border-radius: var(--hsk-border-radius, 0px);
1216
+ box-shadow: var(--hsk-drop-shadow);
1217
+ z-index: 9999;
1218
+ overflow: hidden;
1219
+ padding: 6px 0;
1220
+ }
1221
+ .hsk-sb-row {
1222
+ display: flex;
1223
+ align-items: center;
1224
+ gap: 12px;
1225
+ padding: 9px 16px;
1226
+ cursor: pointer;
1227
+ transition: background .1s;
1228
+ }
1229
+ .hsk-sb-row:hover {
1230
+ background: var(--hsk-hover);
1231
+ }
1232
+ .hsk-sb-row-icon {
1233
+ color: var(--hsk-muted);
1234
+ flex-shrink: 0;
1235
+ display: flex;
1236
+ align-items: center;
1237
+ }
1238
+ .hsk-sb-row-body {
1239
+ flex: 1;
1240
+ min-width: 0;
1241
+ }
1242
+ .hsk-sb-row-title {
1243
+ font-size: 13px;
1244
+ font-weight: 500;
1245
+ color: var(--hsk-text);
1246
+ white-space: nowrap;
1247
+ overflow: hidden;
1248
+ text-overflow: ellipsis;
1249
+ line-height: 1.3;
1250
+ }
1251
+ .hsk-sb-row-sub {
1252
+ font-size: 11px;
1253
+ color: var(--hsk-muted);
1254
+ margin-top: 2px;
1255
+ white-space: nowrap;
1256
+ overflow: hidden;
1257
+ text-overflow: ellipsis;
1258
+ }
1259
+ .hsk-sb-empty {
1260
+ padding: 14px 16px;
1261
+ font-size: 13px;
1262
+ color: var(--hsk-muted);
1263
+ }
1264
+ .hsk-sb-loading-bar {
1265
+ height: 2px;
1266
+ background:
1267
+ linear-gradient(
1268
+ 90deg,
1269
+ transparent,
1270
+ var(--hsk-primary),
1271
+ transparent);
1272
+ background-size: 200% 100%;
1273
+ animation: hsk-sweep 0.9s linear infinite;
1274
+ position: absolute;
1275
+ top: 0;
1276
+ left: 0;
1277
+ right: 0;
1278
+ }
1279
+ @keyframes hsk-sweep {
1280
+ 0% {
1281
+ background-position: 200% 0;
1282
+ }
1283
+ 100% {
1284
+ background-position: -200% 0;
1285
+ }
1286
+ }
1287
+ .hsk-sb-fade {
1288
+ animation: hsk-fin .1s ease-out both;
1289
+ }
1290
+ @keyframes hsk-fin {
1291
+ from {
1292
+ opacity: 0;
1293
+ transform: translateY(3px);
1294
+ }
1295
+ to {
1296
+ opacity: 1;
1297
+ transform: none;
1298
+ }
1299
+ }
1300
+ .hsk-sb-skeleton-row {
1301
+ display: flex;
1302
+ align-items: center;
1303
+ gap: 12px;
1304
+ padding: 9px 16px;
1305
+ }
1306
+ .hsk-sb-skeleton-icon {
1307
+ width: 15px;
1308
+ height: 15px;
1309
+ background: var(--hsk-hover, rgba(0, 0, 0, 0.05));
1310
+ border-radius: 50%;
1311
+ flex-shrink: 0;
1312
+ animation: hsk-pulse 1.5s ease-in-out infinite;
1313
+ }
1314
+ .hsk-sb-skeleton-text1 {
1315
+ height: 12px;
1316
+ background: var(--hsk-hover, rgba(0, 0, 0, 0.05));
1317
+ border-radius: 3px;
1318
+ width: 60%;
1319
+ animation: hsk-pulse 1.5s ease-in-out infinite;
1320
+ }
1321
+ .hsk-sb-skeleton-text2 {
1322
+ height: 8px;
1323
+ background: var(--hsk-hover, rgba(0, 0, 0, 0.05));
1324
+ border-radius: 2px;
1325
+ width: 35%;
1326
+ margin-top: 5px;
1327
+ animation: hsk-pulse 1.5s ease-in-out infinite;
1328
+ }
1329
+ @keyframes hsk-pulse {
1330
+ 0%, 100% {
1331
+ opacity: 0.6;
1332
+ }
1333
+ 50% {
1334
+ opacity: 1;
1335
+ }
1336
+ }
1337
+ .hsk-sp-btn {
1338
+ --hsk-primary: var(--chat-primary-color, #ff6a33);
1339
+ display: inline-flex;
1340
+ align-items: center;
1341
+ justify-content: center;
1342
+ width: 32px;
1343
+ height: 32px;
1344
+ border-radius: var(--hsk-border-radius, 0px);
1345
+ border: 1px solid var(--hsk-sp-border, rgba(255,106,51,.35));
1346
+ background: var(--hsk-sp-bg, rgba(255,106,51,.08));
1347
+ color: var(--hsk-primary);
1348
+ cursor: pointer;
1349
+ font-size: 15px;
1350
+ line-height: 1;
1351
+ transition:
1352
+ background .15s,
1353
+ border-color .15s,
1354
+ transform .12s;
1355
+ flex-shrink: 0;
1356
+ padding: 0;
1357
+ }
1358
+ .hsk-sp-btn:hover {
1359
+ background: rgba(255, 106, 51, .18);
1360
+ border-color: rgba(255, 106, 51, .7);
1361
+ transform: scale(1.1);
1362
+ }
1363
+ .hsk-sp-btn:active {
1364
+ transform: scale(.92);
1365
+ }
1366
+ .hsk-sp-backdrop {
1367
+ position: fixed;
1368
+ inset: 0;
1369
+ z-index: 99998;
1370
+ display: flex;
1371
+ align-items: center;
1372
+ justify-content: center;
1373
+ padding: 24px;
1374
+ animation: hsk-bd-in .2s ease-out both;
1375
+ background: #ffffff !important;
1376
+ }
1377
+ @keyframes hsk-bd-in {
1378
+ from {
1379
+ opacity: 0;
1380
+ }
1381
+ to {
1382
+ opacity: 1;
1383
+ }
1384
+ }
1385
+ .hsk-sp-card {
1386
+ --hsk-primary: var(--chat-primary-color, #ff6a33);
1387
+ width: 100%;
1388
+ max-width: 600px;
1389
+ border-radius: var(--hsk-border-radius, 0px);
1390
+ overflow: hidden;
1391
+ animation: hsk-card-in .24s cubic-bezier(.34, 1.36, .64, 1) both;
1392
+ flex-shrink: 0;
1393
+ background: var(--hsk-modal-card-bg, #ffffff);
1394
+ border: 1px solid var(--hsk-modal-card-border, #f1f3f4);
1395
+ box-shadow: 0 32px 80px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);
1396
+ display: flex;
1397
+ flex-direction: column;
1398
+ }
1399
+ .hsk-sp-card.hsk-sp-fullscreen {
1400
+ max-width: 1000px;
1401
+ width: 90vw;
1402
+ height: 85vh;
1403
+ max-height: 800px;
1404
+ }
1405
+ @media (max-width: 768px) {
1406
+ .hsk-sp-card.hsk-sp-fullscreen {
1407
+ width: 95vw;
1408
+ height: 90vh;
1409
+ max-height: none;
1410
+ }
1411
+ }
1412
+ @keyframes hsk-card-in {
1413
+ from {
1414
+ opacity: 0;
1415
+ transform: scale(.96) translateY(-12px);
1416
+ }
1417
+ to {
1418
+ opacity: 1;
1419
+ transform: scale(1) translateY(0);
1420
+ }
1421
+ }
1422
+ .hsk-sp-header {
1423
+ display: flex;
1424
+ align-items: center;
1425
+ gap: 10px;
1426
+ padding: 18px 20px 14px;
1427
+ border-bottom: 1px solid var(--hsk-modal-divide, #f1f3f4);
1428
+ flex-shrink: 0;
1429
+ }
1430
+ .hsk-sp-header-icon {
1431
+ font-size: 18px;
1432
+ color: var(--hsk-primary);
1433
+ flex-shrink: 0;
1434
+ display: flex;
1435
+ align-items: center;
1436
+ }
1437
+ .hsk-sp-header-body {
1438
+ flex: 1;
1439
+ min-width: 0;
1440
+ }
1441
+ .hsk-sp-header-title {
1442
+ font-size: 14px;
1443
+ font-weight: 600;
1444
+ color: var(--hsk-modal-text, #1f1f1f);
1445
+ white-space: nowrap;
1446
+ overflow: hidden;
1447
+ text-overflow: ellipsis;
1448
+ }
1449
+ .hsk-sp-header-sub {
1450
+ font-size: 11px;
1451
+ color: var(--hsk-modal-muted, #5f6368);
1452
+ margin-top: 2px;
1453
+ }
1454
+ .hsk-sp-close {
1455
+ width: 30px;
1456
+ height: 30px;
1457
+ border-radius: var(--hsk-border-radius, 0px);
1458
+ border: 1px solid var(--hsk-modal-divide, #f1f3f4);
1459
+ background: none;
1460
+ color: var(--hsk-modal-muted, #5f6368);
1461
+ cursor: pointer;
1462
+ font-size: 18px;
1463
+ display: flex;
1464
+ align-items: center;
1465
+ justify-content: center;
1466
+ transition: all .15s;
1467
+ flex-shrink: 0;
1468
+ }
1469
+ .hsk-sp-close:hover {
1470
+ border-color: var(--hsk-primary);
1471
+ color: var(--hsk-primary);
1472
+ }
1473
+ .hsk-sp-bar {
1474
+ height: 2px;
1475
+ background:
1476
+ linear-gradient(
1477
+ 90deg,
1478
+ transparent 0%,
1479
+ var(--hsk-primary) 40%,
1480
+ #ffaa80 60%,
1481
+ transparent 100%);
1482
+ background-size: 200% 100%;
1483
+ animation: hsk-bar .9s linear infinite;
1484
+ flex-shrink: 0;
1485
+ }
1486
+ @keyframes hsk-bar {
1487
+ 0% {
1488
+ background-position: 200% 0;
1489
+ }
1490
+ 100% {
1491
+ background-position: -200% 0;
1492
+ }
1493
+ }
1494
+ .hsk-sp-body {
1495
+ display: flex;
1496
+ flex: 1;
1497
+ overflow: hidden;
1498
+ }
1499
+ .hsk-sp-details-pane {
1500
+ flex: 1;
1501
+ overflow-y: auto;
1502
+ padding: 24px;
1503
+ border-right: 1px solid var(--hsk-modal-divide, #f1f3f4);
1504
+ display: flex;
1505
+ flex-direction: column;
1506
+ gap: 20px;
1507
+ }
1508
+ .hsk-sp-chat-pane {
1509
+ flex: 1.2;
1510
+ display: flex;
1511
+ flex-direction: column;
1512
+ background: var(--hsk-chat-bg, #ffffff);
1513
+ }
1514
+ .hsk-sp-product-profile {
1515
+ display: flex;
1516
+ gap: 20px;
1517
+ }
1518
+ @media (max-width: 480px) {
1519
+ .hsk-sp-product-profile {
1520
+ flex-direction: column;
1521
+ }
1522
+ }
1523
+ .hsk-sp-details-imgwrap {
1524
+ width: 140px;
1525
+ height: 140px;
1526
+ flex-shrink: 0;
1527
+ border: 1px solid var(--hsk-modal-divide, #f1f3f4);
1528
+ background: #ffffff;
1529
+ display: flex;
1530
+ align-items: center;
1531
+ justify-content: center;
1532
+ padding: 8px;
1533
+ border-radius: var(--hsk-border-radius, 0px);
1534
+ }
1535
+ .hsk-sp-details-imgwrap img {
1536
+ max-width: 100%;
1537
+ max-height: 100%;
1538
+ object-fit: contain;
1539
+ }
1540
+ .hsk-sp-details-meta {
1541
+ flex: 1;
1542
+ display: flex;
1543
+ flex-direction: column;
1544
+ gap: 6px;
1545
+ }
1546
+ .hsk-sp-details-name {
1547
+ font-size: 20px;
1548
+ font-weight: 700;
1549
+ color: var(--hsk-modal-text, #1f1f1f);
1550
+ margin: 0;
1551
+ line-height: 1.3;
1552
+ }
1553
+ .hsk-sp-details-desc {
1554
+ margin-top: 12px;
1555
+ }
1556
+ .hsk-sp-details-desc h4 {
1557
+ font-size: 13px;
1558
+ font-weight: 600;
1559
+ color: var(--hsk-modal-text, #1f1f1f);
1560
+ margin: 0 0 4px 0;
1561
+ }
1562
+ .hsk-sp-details-desc p {
1563
+ font-size: 13px;
1564
+ line-height: 1.5;
1565
+ color: var(--hsk-modal-muted, #5f6368);
1566
+ margin: 0;
1567
+ }
1568
+ .hsk-sp-similar-section {
1569
+ border-top: 1px solid var(--hsk-modal-divide, #f1f3f4);
1570
+ padding-top: 20px;
1571
+ }
1572
+ .hsk-sp-similar-section h3 {
1573
+ font-size: 14px;
1574
+ font-weight: 600;
1575
+ color: var(--hsk-modal-text, #1f1f1f);
1576
+ margin: 0 0 12px 0;
1577
+ }
1578
+ .hsk-sp-results {
1579
+ padding: 10px 0;
1580
+ display: flex;
1581
+ flex-direction: row;
1582
+ gap: 12px;
1583
+ overflow-x: auto;
1584
+ scroll-snap-type: x mandatory;
1585
+ padding-bottom: 8px;
1586
+ }
1587
+ .hsk-sp-empty {
1588
+ padding: 40px;
1589
+ text-align: center;
1590
+ font-size: 13px;
1591
+ color: var(--hsk-modal-muted, #999);
1592
+ }
1593
+ .hsk-sp-item {
1594
+ display: flex;
1595
+ flex-direction: column;
1596
+ gap: 10px;
1597
+ padding: 12px;
1598
+ border-radius: var(--hsk-border-radius, 0px);
1599
+ border: 1px solid var(--hsk-modal-item-border, #f1f3f4);
1600
+ background: var(--hsk-modal-item-bg, #f8f9fa);
1601
+ animation: hsk-toast-up .28s cubic-bezier(.22, .68, 0, 1.2) both;
1602
+ overflow: hidden;
1603
+ flex: 0 0 170px;
1604
+ scroll-snap-align: start;
1605
+ }
1606
+ @keyframes hsk-toast-up {
1607
+ from {
1608
+ opacity: 0;
1609
+ transform: translateY(18px) scale(.97);
1610
+ }
1611
+ to {
1612
+ opacity: 1;
1613
+ transform: translateY(0) scale(1);
1614
+ }
1615
+ }
1616
+ .hsk-sp-img-wrap {
1617
+ width: 100%;
1618
+ height: 120px;
1619
+ border-radius: var(--hsk-border-radius, 0px);
1620
+ background: #fff;
1621
+ border: 1px solid var(--hsk-modal-divide, #f1f3f4);
1622
+ flex-shrink: 0;
1623
+ overflow: hidden;
1624
+ display: flex;
1625
+ align-items: center;
1626
+ justify-content: center;
1627
+ padding: 6px;
1628
+ }
1629
+ .hsk-sp-img-wrap img {
1630
+ max-width: 100%;
1631
+ max-height: 100%;
1632
+ object-fit: contain;
1633
+ }
1634
+ .hsk-sp-img-placeholder {
1635
+ font-size: 26px;
1636
+ }
1637
+ .hsk-sp-item-body {
1638
+ flex: 1;
1639
+ min-width: 0;
1640
+ display: flex;
1641
+ flex-direction: column;
1642
+ justify-content: space-between;
1643
+ gap: 6px;
1644
+ }
1645
+ .hsk-sp-item-name {
1646
+ font-size: 13px;
1647
+ font-weight: 600;
1648
+ color: var(--hsk-modal-text, #1f1f1f);
1649
+ line-height: 1.35;
1650
+ overflow: hidden;
1651
+ display: -webkit-box;
1652
+ -webkit-line-clamp: 2;
1653
+ -webkit-box-orient: vertical;
1654
+ overflow: hidden;
1655
+ }
1656
+ .hsk-sp-item-cat {
1657
+ font-size: 11px;
1658
+ font-weight: 600;
1659
+ color: var(--hsk-primary);
1660
+ text-transform: uppercase;
1661
+ letter-spacing: .05em;
1662
+ }
1663
+ .hsk-sp-item-price-row {
1664
+ display: flex;
1665
+ align-items: baseline;
1666
+ gap: 4px;
1667
+ margin-top: 2px;
1668
+ flex-wrap: wrap;
1669
+ }
1670
+ .hsk-sp-item-price {
1671
+ font-size: 15px;
1672
+ font-weight: 700;
1673
+ color: var(--hsk-modal-text, #1f1f1f);
1674
+ }
1675
+ .hsk-sp-item-currency {
1676
+ font-size: 11px;
1677
+ color: var(--hsk-modal-muted, #5f6368);
1678
+ }
1679
+ .hsk-sp-actions {
1680
+ display: flex;
1681
+ gap: 6px;
1682
+ margin-top: auto;
1683
+ }
1684
+ .hsk-sp-action {
1685
+ flex: 1;
1686
+ padding: 6px 8px;
1687
+ border-radius: var(--hsk-border-radius, 0px);
1688
+ font-size: 11px;
1689
+ font-weight: 600;
1690
+ cursor: pointer;
1691
+ border: 1px solid transparent;
1692
+ transition: all .15s;
1693
+ text-align: center;
1694
+ font-family: inherit;
1695
+ }
1696
+ .hsk-sp-action-primary {
1697
+ background: var(--hsk-primary);
1698
+ color: #fff;
1699
+ border-color: var(--hsk-primary);
1700
+ }
1701
+ .hsk-sp-action-primary:hover {
1702
+ opacity: .88;
1703
+ }
1704
+ .hsk-sp-action-secondary {
1705
+ background: var(--hsk-action-sec-bg, #f1f3f4);
1706
+ color: var(--hsk-modal-muted, #5f6368);
1707
+ border-color: var(--hsk-modal-divide, #f1f3f4);
1708
+ }
1709
+ .hsk-sp-action-secondary:hover {
1710
+ background: var(--hsk-action-sec-bg-hover, #e8eaed);
1711
+ color: var(--hsk-modal-text, #1f1f1f);
1712
+ }
1713
+ .hsk-sp-footer {
1714
+ padding: 12px 20px;
1715
+ border-top: 1px solid var(--hsk-modal-divide, #f1f3f4);
1716
+ display: flex;
1717
+ align-items: center;
1718
+ gap: 8px;
1719
+ flex-shrink: 0;
1720
+ }
1721
+ .hsk-sp-badge {
1722
+ font-size: 10px;
1723
+ font-weight: 700;
1724
+ letter-spacing: .07em;
1725
+ text-transform: uppercase;
1726
+ color: var(--hsk-primary);
1727
+ background: rgba(255, 106, 51, .1);
1728
+ border: 1px solid rgba(255, 106, 51, .25);
1729
+ padding: 2px 8px;
1730
+ border-radius: var(--hsk-border-radius, 0px);
1731
+ }
1732
+ .hsk-sp-esc {
1733
+ font-size: 11px;
1734
+ color: var(--hsk-modal-muted, #5f6368);
1735
+ margin-left: auto;
1736
+ }
1737
+ @media (max-width: 768px) {
1738
+ .hsk-sp-body {
1739
+ flex-direction: column;
1740
+ overflow-y: auto;
1741
+ }
1742
+ .hsk-sp-details-pane {
1743
+ border-right: none;
1744
+ border-bottom: 1px solid var(--hsk-modal-divide, #f1f3f4);
1745
+ flex: none;
1746
+ }
1747
+ .hsk-sp-chat-pane {
1748
+ flex: none;
1749
+ height: 400px;
1750
+ }
1751
+ }
1752
+ @media (prefers-color-scheme: dark) {
1753
+ .hsk-sp-backdrop {
1754
+ background: #000000 !important;
1755
+ }
1756
+ .hsk-sp-card {
1757
+ --hsk-modal-card-bg: #0a0a0a;
1758
+ --hsk-modal-card-border: #202124;
1759
+ --hsk-modal-text: #e8eaed;
1760
+ --hsk-modal-muted: #888;
1761
+ --hsk-modal-divide: #202124;
1762
+ --hsk-modal-item-bg: #1a1a1b;
1763
+ --hsk-modal-item-border: #202124;
1764
+ --hsk-action-sec-bg: #202124;
1765
+ --hsk-action-sec-bg-hover: #2d2f34;
1766
+ }
1767
+ .hsk-sp-details-imgwrap {
1768
+ background: #202124;
1769
+ border-color: #202124;
1770
+ }
1771
+ .hsk-sp-img-wrap {
1772
+ background: #202124;
1773
+ border-color: #202124;
1774
+ }
1775
+ .hsk-sp-chat-pane {
1776
+ background: var(--hsk-chat-bg, #0a0a0a);
1777
+ }
1778
+ }
1779
+ @media (prefers-color-scheme: light) {
1780
+ .hsk-sp-backdrop {
1781
+ background: #ffffff !important;
1782
+ }
1783
+ }
1784
+ .hsk-markdown-p {
1785
+ margin: 0 0 8px 0;
1786
+ }
1787
+ .hsk-markdown-p:last-child {
1788
+ margin-bottom: 0;
1789
+ }
1790
+ .hsk-markdown-list {
1791
+ margin: 4px 0 8px 0;
1792
+ padding-left: 20px;
1793
+ list-style-type: disc;
1794
+ }
1795
+ .hsk-markdown-list li {
1796
+ margin-bottom: 4px;
1797
+ }
1798
+ .hsk-table-wrapper {
1799
+ overflow-x: auto;
1800
+ margin: 8px 0;
1801
+ border-radius: var(--hsk-border-radius, 0px);
1802
+ border: 1px solid var(--hsk-border, #f1f3f4);
1803
+ }
1804
+ @media (prefers-color-scheme: dark) {
1805
+ .hsk-table-wrapper {
1806
+ border-color: #202124;
1807
+ }
1808
+ }
1809
+ .hsk-markdown-table {
1810
+ width: 100%;
1811
+ border-collapse: collapse;
1812
+ text-align: left;
1813
+ font-size: 0.9em;
1814
+ }
1815
+ .hsk-markdown-table th,
1816
+ .hsk-markdown-table td {
1817
+ padding: 6px 10px;
1818
+ border-bottom: 1px solid var(--hsk-border, #f1f3f4);
1819
+ }
1820
+ @media (prefers-color-scheme: dark) {
1821
+ .hsk-markdown-table th,
1822
+ .hsk-markdown-table td {
1823
+ border-bottom-color: #202124;
1824
+ }
1825
+ }
1826
+ .hsk-markdown-table tr:last-child td {
1827
+ border-bottom: none;
1828
+ }
1829
+ .hsk-markdown-link {
1830
+ color: var(--hsk-primary, #ff6a33);
1831
+ text-decoration: underline;
1832
+ text-underline-offset: 2px;
1833
+ }
1834
+ .hsk-markdown-code {
1835
+ font-family:
1836
+ ui-monospace,
1837
+ SFMono-Regular,
1838
+ Menlo,
1839
+ Monaco,
1840
+ Consolas,
1841
+ "Liberation Mono",
1842
+ "Courier New",
1843
+ monospace;
1844
+ font-size: 0.85em;
1845
+ background-color: rgba(128, 128, 128, 0.15);
1846
+ padding: 0.2em 0.4em;
1847
+ border-radius: var(--hsk-border-radius, 0px);
1848
+ color: inherit;
1849
+ word-break: break-word;
1850
+ }
1851
+ .hsk-sp-item-original-price {
1852
+ font-size: 12px;
1853
+ text-decoration: line-through;
1854
+ color: var(--hsk-modal-muted, #888);
1855
+ margin-left: 6px;
1856
+ }
1857
+ .hsk-sp-item-discount {
1858
+ font-size: 11px;
1859
+ font-weight: 600;
1860
+ color: #10b981;
1861
+ margin-left: 6px;
1862
+ }
1863
+ .hsk-sp-item-meta-badges {
1864
+ display: flex;
1865
+ flex-wrap: wrap;
1866
+ gap: 8px;
1867
+ margin-top: 6px;
1868
+ }
1869
+ .hsk-sp-meta-badge {
1870
+ font-size: 11px;
1871
+ font-weight: 500;
1872
+ padding: 3px 8px;
1873
+ border-radius: var(--hsk-border-radius, 0px);
1874
+ background: var(--hsk-modal-item-bg, #f8f9fa);
1875
+ border: 1px solid var(--hsk-modal-divide, #f1f3f4);
1876
+ color: var(--hsk-modal-muted, #5f6368);
1877
+ }
1878
+ .hsk-sp-meta-badge-rating {
1879
+ color: #f59e0b;
1880
+ background: rgba(245, 158, 11, 0.08);
1881
+ border-color: rgba(245, 158, 11, 0.2);
1882
+ }
1883
+ .hsk-sp-meta-badge-avail.in-stock {
1884
+ color: #10b981;
1885
+ background: rgba(16, 185, 129, 0.08);
1886
+ border-color: rgba(16, 185, 129, 0.2);
1887
+ }
1888
+ .hsk-sp-meta-badge-avail.out-stock {
1889
+ color: #ef4444;
1890
+ background: rgba(239, 68, 68, 0.08);
1891
+ border-color: rgba(239, 68, 68, 0.2);
1892
+ }
1893
+ .hsk-sp-item-brand {
1894
+ font-size: 11px;
1895
+ font-weight: 700;
1896
+ color: var(--hsk-modal-muted, #888);
1897
+ text-transform: uppercase;
1898
+ letter-spacing: .05em;
1899
+ margin-bottom: -2px;
1900
+ }
1901
+ .hsk-sp-details-specs {
1902
+ margin-top: 20px;
1903
+ border-top: 1px solid var(--hsk-modal-divide, #f1f3f4);
1904
+ padding-top: 20px;
1905
+ }
1906
+ .hsk-sp-details-specs h4 {
1907
+ font-size: 13px;
1908
+ font-weight: 600;
1909
+ color: var(--hsk-modal-text, #1f1f1f);
1910
+ margin: 0 0 10px 0;
1911
+ }
1912
+ .hsk-sp-specs-grid {
1913
+ display: grid;
1914
+ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
1915
+ gap: 8px;
1916
+ }
1917
+ .hsk-sp-spec-row {
1918
+ display: flex;
1919
+ justify-content: space-between;
1920
+ align-items: center;
1921
+ padding: 8px 12px;
1922
+ background: var(--hsk-modal-item-bg, #f8f9fa);
1923
+ border: 1px solid var(--hsk-modal-divide, #f1f3f4);
1924
+ border-radius: var(--hsk-border-radius, 0px);
1925
+ font-size: 12px;
1926
+ gap: 8px;
1927
+ }
1928
+ .hsk-sp-spec-label {
1929
+ font-weight: 500;
1930
+ color: var(--hsk-modal-muted, #888);
1931
+ }
1932
+ .hsk-sp-spec-value {
1933
+ font-weight: 600;
1934
+ color: var(--hsk-modal-text, #1f1f1f);
1935
+ text-align: right;
1936
+ max-width: 60%;
1937
+ white-space: nowrap;
1938
+ overflow: hidden;
1939
+ text-overflow: ellipsis;
1940
+ }
1941
+ @media (prefers-color-scheme: dark) {
1942
+ .hsk-sp-details-specs {
1943
+ border-top-color: #202124;
1944
+ }
1945
+ .hsk-sp-spec-row {
1946
+ background: #1a1a1b;
1947
+ border-color: #202124;
1948
+ }
1949
+ }
1950
+ .hsk-chat-widget ::-webkit-scrollbar,
1951
+ .hsk-sp-card ::-webkit-scrollbar,
1952
+ .hsk-cb-msgs ::-webkit-scrollbar,
1953
+ .hsk-sp-details-pane ::-webkit-scrollbar,
1954
+ .hsk-sp-results ::-webkit-scrollbar,
1955
+ .hsk-chat-messages ::-webkit-scrollbar {
1956
+ width: 4px;
1957
+ height: 4px;
1958
+ }
1959
+ .hsk-chat-widget ::-webkit-scrollbar-track,
1960
+ .hsk-sp-card ::-webkit-scrollbar-track,
1961
+ .hsk-cb-msgs ::-webkit-scrollbar-track,
1962
+ .hsk-sp-details-pane ::-webkit-scrollbar-track,
1963
+ .hsk-sp-results ::-webkit-scrollbar-track,
1964
+ .hsk-chat-messages ::-webkit-scrollbar-track {
1965
+ background: transparent;
1966
+ }
1967
+ .hsk-chat-widget ::-webkit-scrollbar-thumb,
1968
+ .hsk-sp-card ::-webkit-scrollbar-thumb,
1969
+ .hsk-cb-msgs ::-webkit-scrollbar-thumb,
1970
+ .hsk-sp-details-pane ::-webkit-scrollbar-thumb,
1971
+ .hsk-sp-results ::-webkit-scrollbar-thumb,
1972
+ .hsk-chat-messages ::-webkit-scrollbar-thumb {
1973
+ background: rgba(0, 0, 0, 0.08);
1974
+ border-radius: 10px;
1975
+ }
1976
+ @media (prefers-color-scheme: dark) {
1977
+ .hsk-chat-widget ::-webkit-scrollbar-thumb,
1978
+ .hsk-sp-card ::-webkit-scrollbar-thumb,
1979
+ .hsk-cb-msgs ::-webkit-scrollbar-thumb,
1980
+ .hsk-sp-details-pane ::-webkit-scrollbar-thumb,
1981
+ .hsk-sp-results ::-webkit-scrollbar-thumb,
1982
+ .hsk-chat-messages ::-webkit-scrollbar-thumb {
1983
+ background: rgba(255, 255, 255, 0.08);
1984
+ }
1985
+ }
1986
+ .hsk-cb-msgs,
1987
+ .hsk-sp-details-pane,
1988
+ .hsk-sp-results,
1989
+ .hsk-chat-messages {
1990
+ scrollbar-width: thin;
1991
+ scrollbar-color: rgba(0, 0, 0, 0.08) transparent;
1992
+ }
1993
+ @media (prefers-color-scheme: dark) {
1994
+ .hsk-cb-msgs,
1995
+ .hsk-sp-details-pane,
1996
+ .hsk-sp-results,
1997
+ .hsk-chat-messages {
1998
+ scrollbar-color: rgba(255, 255, 255, 0.08) transparent;
1999
+ }
2000
+ }
2001
+ .hsk-sp-specs-horizontal {
2002
+ display: flex;
2003
+ flex-wrap: wrap;
2004
+ gap: 8px;
2005
+ margin-top: 12px;
2006
+ }
2007
+ .hsk-sp-spec-item-horizontal {
2008
+ display: inline-flex;
2009
+ align-items: center;
2010
+ gap: 6px;
2011
+ padding: 4px 10px;
2012
+ background: var(--hsk-modal-item-bg, #f8f9fa);
2013
+ border: 1px solid var(--hsk-modal-divide, #f1f3f4);
2014
+ border-radius: var(--hsk-border-radius, 0px);
2015
+ font-size: 11px;
2016
+ }
2017
+ .hsk-sp-spec-label-horizontal {
2018
+ font-weight: 500;
2019
+ color: var(--hsk-modal-muted, #888);
2020
+ }
2021
+ .hsk-sp-spec-value-horizontal {
2022
+ font-weight: 600;
2023
+ color: var(--hsk-modal-text, #1f1f1f);
2024
+ }
2025
+ @media (prefers-color-scheme: dark) {
2026
+ .hsk-sp-spec-item-horizontal {
2027
+ background: #1a1a1b;
2028
+ border-color: #202124;
2029
+ }
2030
+ }
2031
+ .hsk-cart-backdrop {
2032
+ position: fixed;
2033
+ inset: 0;
2034
+ background: rgba(0, 0, 0, 0.4);
2035
+ backdrop-filter: blur(4px);
2036
+ -webkit-backdrop-filter: blur(4px);
2037
+ z-index: 99999;
2038
+ display: flex;
2039
+ align-items: flex-end;
2040
+ justify-content: center;
2041
+ animation: hskFadeIn 0.3s ease forwards;
2042
+ }
2043
+ .hsk-cart-bottom-sheet {
2044
+ --hsk-bg: var(--bg, var(--background, #ffffff));
2045
+ --hsk-text: var(--text-primary, var(--foreground, #18181b));
2046
+ --hsk-border: var(--border, var(--borders, #f4f4f5));
2047
+ --hsk-primary: var(--chat-primary-color, #ff6a33);
2048
+ --hsk-primary-color: var(--hsk-primary);
2049
+ --hsk-hover: var(--surface, var(--hsk-border, #f4f4f5));
2050
+ --hsk-muted: var(--text-muted, var(--accent, #71717a));
2051
+ width: 100%;
2052
+ max-width: 600px;
2053
+ background: var(--hsk-bg);
2054
+ color: var(--hsk-text);
2055
+ border-radius: 24px 24px 0 0;
2056
+ padding: 24px;
2057
+ box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.1);
2058
+ transform: translateY(100%);
2059
+ animation: hskSlideUp 0.4s cubic-bezier(0.32, 0.72, 0, 1) forwards;
2060
+ display: flex;
2061
+ flex-direction: column;
2062
+ max-height: 85vh;
2063
+ z-index: 100000;
2064
+ border-top: 1px solid var(--hsk-border);
2065
+ }
2066
+ @keyframes hskSlideUp {
2067
+ from {
2068
+ transform: translateY(100%);
2069
+ }
2070
+ to {
2071
+ transform: translateY(0);
2072
+ }
2073
+ }
2074
+ @keyframes hskFadeIn {
2075
+ from {
2076
+ opacity: 0;
2077
+ }
2078
+ to {
2079
+ opacity: 1;
2080
+ }
2081
+ }
2082
+ @keyframes hskSlideUpCenter {
2083
+ to {
2084
+ transform: translateY(0) scale(1);
2085
+ opacity: 1;
2086
+ }
2087
+ }
2088
+ .hsk-cart-sheet-handle {
2089
+ display: none;
2090
+ }
2091
+ [data-hsk-theme=dark] .hsk-cart-sheet-handle {
2092
+ display: none;
2093
+ }
2094
+ .hsk-cart-sheet-header {
2095
+ display: flex;
2096
+ justify-content: space-between;
2097
+ align-items: center;
2098
+ margin-bottom: 20px;
2099
+ }
2100
+ .hsk-cart-sheet-header h2 {
2101
+ margin: 0;
2102
+ font-size: 20px;
2103
+ font-weight: 600;
2104
+ }
2105
+ .hsk-close-btn {
2106
+ background: none;
2107
+ border: none;
2108
+ font-size: 24px;
2109
+ cursor: pointer;
2110
+ color: var(--hsk-muted);
2111
+ padding: 0;
2112
+ line-height: 1;
2113
+ }
2114
+ .hsk-cart-sheet-content {
2115
+ flex: 1;
2116
+ overflow-y: auto;
2117
+ margin-bottom: 20px;
2118
+ }
2119
+ .hsk-cart-empty,
2120
+ .hsk-cart-loading {
2121
+ text-align: center;
2122
+ padding: 40px 0;
2123
+ color: #71717a;
2124
+ }
2125
+ .hsk-cart-items {
2126
+ list-style: none;
2127
+ padding: 0;
2128
+ margin: 0;
2129
+ display: flex;
2130
+ flex-direction: column;
2131
+ gap: 16px;
2132
+ }
2133
+ .hsk-cart-item {
2134
+ display: flex;
2135
+ align-items: center;
2136
+ gap: 12px;
2137
+ padding-bottom: 16px;
2138
+ border-bottom: 1px solid var(--hsk-border, #f4f4f5);
2139
+ }
2140
+ .hsk-cart-item-img {
2141
+ width: 56px;
2142
+ height: 56px;
2143
+ border-radius: 8px;
2144
+ object-fit: cover;
2145
+ background: var(--hsk-border, #f4f4f5);
2146
+ }
2147
+ .hsk-cart-item-info {
2148
+ flex: 1;
2149
+ display: flex;
2150
+ flex-direction: column;
2151
+ gap: 4px;
2152
+ }
2153
+ .hsk-cart-item-name {
2154
+ font-weight: 500;
2155
+ font-size: 14px;
2156
+ color: var(--hsk-text, #18181b);
2157
+ }
2158
+ .hsk-cart-item-price {
2159
+ color: var(--hsk-muted, #71717a);
2160
+ font-size: 14px;
2161
+ }
2162
+ .hsk-cart-item-qty {
2163
+ font-weight: 600;
2164
+ font-size: 14px;
2165
+ background: var(--hsk-hover, #f4f4f5);
2166
+ color: var(--hsk-text, #18181b);
2167
+ padding: 4px 10px;
2168
+ border-radius: 12px;
2169
+ }
2170
+ .hsk-cart-sheet-footer {
2171
+ padding-top: 16px;
2172
+ border-top: 1px solid var(--hsk-border, #f4f4f5);
2173
+ display: flex;
2174
+ flex-direction: column;
2175
+ gap: 16px;
2176
+ }
2177
+ .hsk-cart-total {
2178
+ display: flex;
2179
+ justify-content: space-between;
2180
+ align-items: center;
2181
+ font-weight: 700;
2182
+ font-size: 18px;
2183
+ color: var(--hsk-text, #18181b);
2184
+ }
2185
+ .hsk-checkout-btn {
2186
+ background: var(--hsk-primary-color, #ff6a33);
2187
+ color: white;
2188
+ border: none;
2189
+ padding: 16px;
2190
+ border-radius: 12px;
2191
+ font-size: 16px;
2192
+ font-weight: 600;
2193
+ cursor: pointer;
2194
+ transition: opacity 0.2s;
2195
+ width: 100%;
2196
+ }
2197
+ .hsk-checkout-btn:hover {
2198
+ opacity: 0.9;
2199
+ }
2200
+ .hsk-cart-trigger {
2201
+ --hsk-bg: var(--bg, var(--background, #ffffff));
2202
+ --hsk-text: var(--text-primary, var(--foreground, #18181b));
2203
+ --hsk-border: var(--border, var(--borders, #e4e4e7));
2204
+ --hsk-primary: var(--chat-primary-color, #ff6a33);
2205
+ --hsk-primary-color: var(--hsk-primary);
2206
+ --hsk-hover: var(--surface, var(--hsk-border, #f4f4f5));
2207
+ background: transparent;
2208
+ border: 1px solid var(--hsk-border);
2209
+ color: var(--hsk-text);
2210
+ border-radius: 20px;
2211
+ font-weight: 500;
2212
+ cursor: pointer;
2213
+ display: inline-flex;
2214
+ align-items: center;
2215
+ justify-content: center;
2216
+ position: relative;
2217
+ }
2218
+ .hsk-cart-trigger-badge {
2219
+ position: absolute;
2220
+ top: -4px;
2221
+ right: -4px;
2222
+ background: var(--hsk-primary-color, #ff6a33);
2223
+ color: white;
2224
+ font-size: 10px;
2225
+ width: 18px;
2226
+ height: 18px;
2227
+ display: flex;
2228
+ align-items: center;
2229
+ justify-content: center;
2230
+ border-radius: 9px;
2231
+ font-weight: bold;
2232
+ }
2233
+ .hsk-cart-badge {
2234
+ display: inline-flex;
2235
+ align-items: center;
2236
+ justify-content: center;
2237
+ background: var(--hsk-primary-color, #ff6a33);
2238
+ color: white;
2239
+ font-size: 12px;
2240
+ min-width: 18px;
2241
+ height: 18px;
2242
+ padding: 0 4px;
2243
+ border-radius: 9px;
2244
+ font-weight: 600;
2245
+ }
2246
+ [data-hsk-theme=dark] .hsk-cart-bottom-sheet {
2247
+ --hsk-bg: #0a0a0a;
2248
+ --hsk-text: #fafafa;
2249
+ --hsk-border: rgba(255, 255, 255, 0.07);
2250
+ --hsk-muted: #888;
2251
+ --hsk-hover: rgba(255, 255, 255, 0.07);
2252
+ }
2253
+ [data-hsk-theme=dark] .hsk-cart-trigger {
2254
+ --hsk-bg: #0a0a0a;
2255
+ --hsk-text: white;
2256
+ --hsk-border: rgba(255, 255, 255, 0.07);
2257
+ --hsk-hover: rgba(255, 255, 255, 0.07);
2258
+ }
2259
+ @media (prefers-color-scheme: dark) {
2260
+ .hsk-cart-bottom-sheet {
2261
+ --hsk-bg: #0a0a0a;
2262
+ --hsk-text: #e8eaed;
2263
+ --hsk-border: rgba(255, 255, 255, 0.07);
2264
+ --hsk-muted: #888;
2265
+ --hsk-hover: rgba(255, 255, 255, 0.07);
2266
+ }
2267
+ .hsk-cart-trigger {
2268
+ --hsk-bg: #0a0a0a;
2269
+ --hsk-text: white;
2270
+ --hsk-border: rgba(255, 255, 255, 0.07);
2271
+ --hsk-hover: rgba(255, 255, 255, 0.07);
2272
+ }
2273
+ }
2274
+ @media (prefers-color-scheme: light) {
2275
+ .hsk-cart-bottom-sheet {
2276
+ --hsk-bg: #ffffff;
2277
+ --hsk-text: #18181b;
2278
+ --hsk-border: #f4f4f5;
2279
+ --hsk-muted: #71717a;
2280
+ --hsk-hover: #f4f4f5;
2281
+ }
2282
+ .hsk-cart-trigger {
2283
+ --hsk-bg: #ffffff;
2284
+ --hsk-text: #18181b;
2285
+ --hsk-border: #e4e4e7;
2286
+ --hsk-hover: #f4f4f5;
2287
+ }
2288
+ .hsk-cart-backdrop {
2289
+ background: rgba(255, 255, 255, 0.6);
2290
+ }
2291
+ }
2292
+ .hsk-checkout-modal {
2293
+ position: relative;
2294
+ width: 90%;
2295
+ max-width: 800px;
2296
+ max-height: 90vh;
2297
+ background: var(--hsk-bg, #ffffff);
2298
+ color: var(--hsk-text, #18181b);
2299
+ border: 1px solid var(--hsk-border, #e4e4e7);
2300
+ border-radius: 12px;
2301
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
2302
+ display: flex;
2303
+ flex-direction: column;
2304
+ overflow: hidden;
2305
+ animation: hskScaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
2306
+ }
2307
+ .hsk-checkout-header {
2308
+ padding: 16px 20px;
2309
+ border-bottom: 1px solid var(--hsk-border, #e4e4e7);
2310
+ display: flex;
2311
+ justify-content: space-between;
2312
+ align-items: center;
2313
+ }
2314
+ .hsk-checkout-header h2 {
2315
+ margin: 0;
2316
+ font-size: 1.1em;
2317
+ }
2318
+ .hsk-checkout-content {
2319
+ padding: 20px;
2320
+ overflow-y: auto;
2321
+ }
2322
+ .hsk-checkout-split {
2323
+ display: flex;
2324
+ gap: 30px;
2325
+ }
2326
+ @media (max-width: 600px) {
2327
+ .hsk-checkout-split {
2328
+ flex-direction: column;
2329
+ }
2330
+ }
2331
+ .hsk-checkout-summary,
2332
+ .hsk-checkout-payment {
2333
+ flex: 1;
2334
+ }
2335
+ .hsk-checkout-summary h3,
2336
+ .hsk-checkout-payment h3 {
2337
+ font-size: 1em;
2338
+ margin-top: 0;
2339
+ margin-bottom: 15px;
2340
+ border-bottom: 1px solid var(--hsk-border, #e4e4e7);
2341
+ padding-bottom: 8px;
2342
+ }
2343
+ .hsk-checkout-items {
2344
+ list-style: none;
2345
+ margin: 0;
2346
+ padding: 0;
2347
+ }
2348
+ .hsk-checkout-items li {
2349
+ display: flex;
2350
+ justify-content: space-between;
2351
+ font-size: 0.9em;
2352
+ margin-bottom: 8px;
2353
+ }
2354
+ .hsk-checkout-total {
2355
+ display: flex;
2356
+ justify-content: space-between;
2357
+ font-weight: bold;
2358
+ margin-top: 15px;
2359
+ padding-top: 15px;
2360
+ border-top: 1px solid var(--hsk-border, #e4e4e7);
2361
+ }
2362
+ .hsk-payment-options {
2363
+ display: flex;
2364
+ flex-direction: column;
2365
+ gap: 10px;
2366
+ }
2367
+ .hsk-pay-btn {
2368
+ width: 100%;
2369
+ padding: 12px;
2370
+ border-radius: 8px;
2371
+ font-weight: bold;
2372
+ cursor: pointer;
2373
+ border: none;
2374
+ transition: opacity 0.2s;
2375
+ color: white;
2376
+ }
2377
+ .hsk-pay-btn:disabled {
2378
+ opacity: 0.5;
2379
+ cursor: not-allowed;
2380
+ }
2381
+ .hsk-pay-mpesa {
2382
+ background: #4caf50;
2383
+ }
2384
+ .hsk-pay-equity {
2385
+ background: #8b4513;
2386
+ }
2387
+ .hsk-pay-stripe {
2388
+ background: #6772e5;
2389
+ }
2390
+ .hsk-pay-paypal {
2391
+ background: #003087;
2392
+ }
2393
+ .hsk-checkout-success {
2394
+ text-align: center;
2395
+ padding: 40px 20px;
2396
+ }
2397
+ .hsk-success-icon {
2398
+ width: 64px;
2399
+ height: 64px;
2400
+ color: #4caf50;
2401
+ margin-bottom: 16px;
2402
+ }
2403
+ @keyframes hskScaleIn {
2404
+ 0% {
2405
+ transform: scale(0.95);
2406
+ opacity: 0;
2407
+ }
2408
+ 100% {
2409
+ transform: scale(1);
2410
+ opacity: 1;
2411
+ }
2412
+ }
2413
+ @media (prefers-color-scheme: dark) {
2414
+ .hsk-checkout-modal {
2415
+ --hsk-bg: #1a1a1b;
2416
+ --hsk-text: #e8eaed;
2417
+ --hsk-border: #202124;
2418
+ }
2419
+ }
2420
+ .hsk-cb-payment-prompt {
2421
+ margin: 12px 0;
2422
+ padding: 18px 16px;
2423
+ border-radius: 14px;
2424
+ background: color-mix(in srgb, var(--hsk-primary, #6366f1) 8%, transparent);
2425
+ border: 1px solid color-mix(in srgb, var(--hsk-primary, #6366f1) 25%, transparent);
2426
+ text-align: center;
2427
+ display: flex;
2428
+ flex-direction: column;
2429
+ align-items: center;
2430
+ gap: 10px;
2431
+ animation: hsk-fade-in 0.3s ease;
2432
+ }
2433
+ .hsk-cb-payment-icon {
2434
+ font-size: 1.5rem;
2435
+ }
2436
+ .hsk-cb-payment-label {
2437
+ margin: 0;
2438
+ font-size: 0.875rem;
2439
+ color: var(--hsk-text, #1f1f1f);
2440
+ font-weight: 500;
2441
+ }
2442
+ .hsk-cb-phone-input {
2443
+ width: 100%;
2444
+ max-width: 240px;
2445
+ padding: 10px 14px;
2446
+ border: 1px solid color-mix(in srgb, var(--hsk-primary, #6366f1) 35%, transparent);
2447
+ border-radius: 10px;
2448
+ background: var(--hsk-bg, #fff);
2449
+ color: var(--hsk-text, #1f1f1f);
2450
+ font-size: 0.9rem;
2451
+ text-align: center;
2452
+ outline: none;
2453
+ transition: border-color 0.2s;
2454
+ }
2455
+ .hsk-cb-phone-input:focus {
2456
+ border-color: var(--hsk-primary, #6366f1);
2457
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--hsk-primary, #6366f1) 15%, transparent);
2458
+ }
2459
+ .hsk-cb-pay-submit {
2460
+ padding: 10px 22px;
2461
+ border-radius: 10px;
2462
+ border: none;
2463
+ background: var(--hsk-primary, #6366f1);
2464
+ color: #fff;
2465
+ font-size: 0.875rem;
2466
+ font-weight: 600;
2467
+ cursor: pointer;
2468
+ transition: opacity 0.2s, transform 0.15s;
2469
+ }
2470
+ .hsk-cb-pay-submit:hover {
2471
+ opacity: 0.9;
2472
+ transform: translateY(-1px);
2473
+ }
2474
+ .hsk-checkout-backdrop-full {
2475
+ position: fixed;
2476
+ inset: 0;
2477
+ width: 100vw;
2478
+ height: 100vh;
2479
+ background: var(--hsk-bg-overlay, rgba(0, 0, 0, 0.5));
2480
+ z-index: 999999;
2481
+ display: flex;
2482
+ align-items: center;
2483
+ justify-content: center;
2484
+ overflow: hidden;
2485
+ animation: hskFadeIn 0.25s ease-out forwards;
2486
+ }
2487
+ .hsk-checkout-modal-full {
2488
+ width: 100vw;
2489
+ height: 100vh;
2490
+ display: grid;
2491
+ grid-template-columns: 9fr 11fr;
2492
+ background: var(--hsk-checkout-right-bg, #ffffff);
2493
+ color: var(--hsk-checkout-text, #1e293b);
2494
+ overflow: hidden;
2495
+ position: relative;
2496
+ font-family:
2497
+ -apple-system,
2498
+ BlinkMacSystemFont,
2499
+ "Segoe UI",
2500
+ Roboto,
2501
+ Helvetica,
2502
+ Arial,
2503
+ sans-serif;
2504
+ }
2505
+ .hsk-checkout-panel-left {
2506
+ background: var(--hsk-checkout-left-bg, #f8fafc);
2507
+ border-right: 1px solid var(--hsk-checkout-divide, #e2e8f0);
2508
+ display: flex;
2509
+ flex-direction: column;
2510
+ align-items: flex-end;
2511
+ overflow-y: auto;
2512
+ padding: 4rem 2.5rem 2rem 2.5rem;
2513
+ box-sizing: border-box;
2514
+ }
2515
+ .hsk-checkout-left-content {
2516
+ width: 100%;
2517
+ max-width: 440px;
2518
+ display: flex;
2519
+ flex-direction: column;
2520
+ gap: 2rem;
2521
+ }
2522
+ .hsk-checkout-back-btn {
2523
+ align-self: flex-start;
2524
+ display: flex;
2525
+ align-items: center;
2526
+ gap: 0.5rem;
2527
+ background: none;
2528
+ border: none;
2529
+ color: var(--hsk-checkout-muted, #64748b);
2530
+ font-size: 0.875rem;
2531
+ font-weight: 500;
2532
+ cursor: pointer;
2533
+ padding: 0;
2534
+ transition: color 0.15s ease;
2535
+ position: relative;
2536
+ z-index: 100;
2537
+ pointer-events: auto;
2538
+ }
2539
+ .hsk-checkout-back-btn:hover {
2540
+ color: var(--hsk-primary, #ff6a33);
2541
+ }
2542
+ .hsk-checkout-store-info h2 {
2543
+ margin: 0;
2544
+ font-size: 1.25rem;
2545
+ font-weight: 600;
2546
+ color: var(--hsk-checkout-text, #0f172a);
2547
+ }
2548
+ .hsk-checkout-amount-due {
2549
+ display: flex;
2550
+ flex-direction: column;
2551
+ gap: 0.25rem;
2552
+ }
2553
+ .hsk-checkout-label-muted {
2554
+ font-size: 0.8125rem;
2555
+ font-weight: 500;
2556
+ color: var(--hsk-checkout-muted, #64748b);
2557
+ text-transform: uppercase;
2558
+ letter-spacing: 0.05em;
2559
+ }
2560
+ .hsk-checkout-grand-total {
2561
+ font-size: 2.25rem;
2562
+ font-weight: 700;
2563
+ color: var(--hsk-checkout-text, #0f172a);
2564
+ letter-spacing: -0.02em;
2565
+ }
2566
+ .hsk-checkout-items-list-wrap {
2567
+ margin-top: 1rem;
2568
+ border-top: 1px solid var(--hsk-checkout-divide, #e2e8f0);
2569
+ padding-top: 1.5rem;
2570
+ }
2571
+ .hsk-checkout-items-list {
2572
+ list-style: none;
2573
+ padding: 0;
2574
+ margin: 0;
2575
+ display: flex;
2576
+ flex-direction: column;
2577
+ gap: 1.25rem;
2578
+ }
2579
+ .hsk-checkout-item-row {
2580
+ display: flex;
2581
+ align-items: center;
2582
+ gap: 1rem;
2583
+ font-size: 0.875rem;
2584
+ }
2585
+ .hsk-checkout-item-img-container {
2586
+ position: relative;
2587
+ width: 56px;
2588
+ height: 56px;
2589
+ border-radius: 4px;
2590
+ border: 1px solid var(--hsk-checkout-divide, #e2e8f0);
2591
+ background: #ffffff;
2592
+ display: flex;
2593
+ align-items: center;
2594
+ justify-content: center;
2595
+ flex-shrink: 0;
2596
+ }
2597
+ .hsk-checkout-item-img {
2598
+ width: 100%;
2599
+ height: 100%;
2600
+ object-fit: contain;
2601
+ border-radius: 4px;
2602
+ }
2603
+ .hsk-checkout-item-img-placeholder {
2604
+ font-size: 1.25rem;
2605
+ }
2606
+ .hsk-checkout-item-qty-badge {
2607
+ position: absolute;
2608
+ top: -6px;
2609
+ right: -6px;
2610
+ background: var(--hsk-checkout-muted, #64748b);
2611
+ color: #ffffff;
2612
+ font-size: 0.7rem;
2613
+ font-weight: 700;
2614
+ min-width: 18px;
2615
+ height: 18px;
2616
+ padding: 0 4px;
2617
+ border-radius: 4px;
2618
+ display: flex;
2619
+ align-items: center;
2620
+ justify-content: center;
2621
+ box-sizing: border-box;
2622
+ }
2623
+ .hsk-checkout-item-details {
2624
+ flex: 1;
2625
+ }
2626
+ .hsk-checkout-item-name {
2627
+ font-weight: 500;
2628
+ color: var(--hsk-checkout-text, #0f172a);
2629
+ display: -webkit-box;
2630
+ -webkit-line-clamp: 2;
2631
+ -webkit-box-orient: vertical;
2632
+ overflow: hidden;
2633
+ }
2634
+ .hsk-checkout-item-price {
2635
+ font-weight: 600;
2636
+ color: var(--hsk-checkout-text, #0f172a);
2637
+ }
2638
+ .hsk-checkout-panel-right {
2639
+ background: var(--hsk-checkout-right-bg, #ffffff);
2640
+ display: flex;
2641
+ flex-direction: column;
2642
+ align-items: flex-start;
2643
+ overflow-y: auto;
2644
+ padding: 4rem 2.5rem 2rem 2.5rem;
2645
+ box-sizing: border-box;
2646
+ }
2647
+ .hsk-checkout-right-content {
2648
+ width: 100%;
2649
+ max-width: 440px;
2650
+ display: flex;
2651
+ flex-direction: column;
2652
+ }
2653
+ .hsk-checkout-payment-form-wrap {
2654
+ width: 100%;
2655
+ }
2656
+ .hsk-checkout-section-title {
2657
+ margin: 0 0 2rem 0;
2658
+ font-size: 1.125rem;
2659
+ font-weight: 600;
2660
+ color: var(--hsk-checkout-text, #0f172a);
2661
+ }
2662
+ .hsk-stripe-checkout-form {
2663
+ display: flex;
2664
+ flex-direction: column;
2665
+ gap: 1.5rem;
2666
+ }
2667
+ .hsk-form-group {
2668
+ display: flex;
2669
+ flex-direction: column;
2670
+ gap: 0.5rem;
2671
+ }
2672
+ .hsk-form-row {
2673
+ display: grid;
2674
+ grid-template-columns: 1fr 1fr;
2675
+ gap: 1rem;
2676
+ }
2677
+ .hsk-form-label {
2678
+ font-size: 0.8125rem;
2679
+ font-weight: 600;
2680
+ color: var(--hsk-checkout-text, #334155);
2681
+ }
2682
+ .hsk-form-input {
2683
+ width: 100%;
2684
+ box-sizing: border-box;
2685
+ padding: 0.75rem 1rem;
2686
+ font-size: 0.9375rem;
2687
+ background: #ffffff;
2688
+ color: var(--hsk-checkout-text, #1e293b);
2689
+ border: 1px solid var(--hsk-checkout-divide, #cbd5e1);
2690
+ border-radius: 4px;
2691
+ outline: none;
2692
+ transition: border-color 0.15s ease;
2693
+ }
2694
+ .hsk-form-input:focus {
2695
+ border-color: var(--hsk-primary, #ff6a33);
2696
+ box-shadow: none;
2697
+ }
2698
+ .hsk-phone-input-container {
2699
+ display: flex;
2700
+ align-items: center;
2701
+ border: 1px solid var(--hsk-checkout-divide, #cbd5e1);
2702
+ border-radius: 4px;
2703
+ overflow: hidden;
2704
+ background: #ffffff;
2705
+ transition: border-color 0.15s ease;
2706
+ }
2707
+ .hsk-phone-input-container:focus-within {
2708
+ border-color: var(--hsk-primary, #ff6a33);
2709
+ box-shadow: none;
2710
+ }
2711
+ .hsk-phone-prefix {
2712
+ padding: 0.75rem 1rem;
2713
+ font-weight: 700;
2714
+ font-size: 0.9375rem;
2715
+ background: var(--hsk-checkout-left-bg, #f1f5f9);
2716
+ color: var(--hsk-checkout-muted, #64748b);
2717
+ border-right: 1px solid var(--hsk-checkout-divide, #cbd5e1);
2718
+ user-select: none;
2719
+ }
2720
+ .hsk-phone-input-field {
2721
+ flex: 1;
2722
+ padding: 0.75rem 1rem;
2723
+ font-size: 0.9375rem;
2724
+ font-weight: 600;
2725
+ background: transparent;
2726
+ color: var(--hsk-checkout-text, #1e293b);
2727
+ border: none;
2728
+ outline: none;
2729
+ letter-spacing: 0.05em;
2730
+ }
2731
+ .hsk-form-hint {
2732
+ font-size: 0.75rem;
2733
+ color: var(--hsk-checkout-muted, #64748b);
2734
+ }
2735
+ .hsk-form-error-banner {
2736
+ padding: 0.75rem 1rem;
2737
+ background: #fef2f2;
2738
+ border: 1px solid #fee2e2;
2739
+ border-radius: 4px;
2740
+ font-size: 0.8125rem;
2741
+ color: #ef4444;
2742
+ font-weight: 500;
2743
+ }
2744
+ .hsk-checkout-submit-btn {
2745
+ width: 100%;
2746
+ padding: 0.875rem;
2747
+ font-size: 0.9375rem;
2748
+ font-weight: 600;
2749
+ background: var(--hsk-primary, #ff6a33);
2750
+ color: #ffffff;
2751
+ border: none;
2752
+ border-radius: 4px;
2753
+ cursor: pointer;
2754
+ transition: opacity 0.15s ease, transform 0.1s active;
2755
+ box-shadow: 0 4px 12px rgba(255, 106, 51, 0.25);
2756
+ }
2757
+ .hsk-checkout-submit-btn:hover {
2758
+ opacity: 0.95;
2759
+ }
2760
+ .hsk-checkout-submit-btn:active {
2761
+ transform: scale(0.98);
2762
+ }
2763
+ .hsk-checkout-footer-brand {
2764
+ margin-top: 2rem;
2765
+ display: flex;
2766
+ align-items: center;
2767
+ justify-content: center;
2768
+ font-size: 0.75rem;
2769
+ color: var(--hsk-checkout-muted, #94a3b8);
2770
+ }
2771
+ .hsk-checkout-status-card {
2772
+ display: flex;
2773
+ flex-direction: column;
2774
+ align-items: center;
2775
+ text-align: center;
2776
+ padding: 3.5rem 2rem;
2777
+ border-radius: 16px;
2778
+ background: var(--hsk-checkout-left-bg, #f8fafc);
2779
+ border: 1.5px solid var(--hsk-checkout-divide, #e2e8f0);
2780
+ transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
2781
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
2782
+ width: 100%;
2783
+ box-sizing: border-box;
2784
+ }
2785
+ .hsk-checkout-status-card.success {
2786
+ border-color: rgba(16, 185, 129, 0.35);
2787
+ background:
2788
+ linear-gradient(
2789
+ 135deg,
2790
+ rgba(16, 185, 129, 0.02),
2791
+ rgba(16, 185, 129, 0.08));
2792
+ box-shadow: 0 12px 40px rgba(16, 185, 129, 0.08);
2793
+ }
2794
+ .hsk-checkout-status-card.failed {
2795
+ border-color: rgba(239, 68, 68, 0.35);
2796
+ background:
2797
+ linear-gradient(
2798
+ 135deg,
2799
+ rgba(239, 68, 68, 0.02),
2800
+ rgba(239, 68, 68, 0.08));
2801
+ box-shadow: 0 12px 40px rgba(239, 68, 68, 0.08);
2802
+ animation: hsk-shake-bounce 0.5s ease-in-out;
2803
+ }
2804
+ .hsk-checkout-status-card.cancelled {
2805
+ border-color: rgba(245, 158, 11, 0.35);
2806
+ background:
2807
+ linear-gradient(
2808
+ 135deg,
2809
+ rgba(245, 158, 11, 0.02),
2810
+ rgba(245, 158, 11, 0.08));
2811
+ box-shadow: 0 12px 40px rgba(245, 158, 11, 0.08);
2812
+ }
2813
+ @keyframes hsk-shake-bounce {
2814
+ 0%, 100% {
2815
+ transform: translateX(0);
2816
+ }
2817
+ 20%, 60% {
2818
+ transform: translateX(-4px);
2819
+ }
2820
+ 40%, 80% {
2821
+ transform: translateX(4px);
2822
+ }
2823
+ }
2824
+ .hsk-status-icon-wrap {
2825
+ width: 64px;
2826
+ height: 64px;
2827
+ border-radius: 50%;
2828
+ display: flex;
2829
+ align-items: center;
2830
+ justify-content: center;
2831
+ margin-bottom: 1.5rem;
2832
+ position: relative;
2833
+ transition: transform 0.2s ease;
2834
+ }
2835
+ .hsk-status-icon-wrap:hover {
2836
+ transform: scale(1.05);
2837
+ }
2838
+ .hsk-status-icon-wrap::after {
2839
+ content: "";
2840
+ position: absolute;
2841
+ inset: -6px;
2842
+ border-radius: 50%;
2843
+ border: 2px solid currentColor;
2844
+ opacity: 0.15;
2845
+ animation: hskPulse 2s infinite;
2846
+ }
2847
+ @keyframes hskPulse {
2848
+ 0% {
2849
+ transform: scale(1);
2850
+ opacity: 0.25;
2851
+ }
2852
+ 70% {
2853
+ transform: scale(1.15);
2854
+ opacity: 0;
2855
+ }
2856
+ 100% {
2857
+ transform: scale(1.15);
2858
+ opacity: 0;
2859
+ }
2860
+ }
2861
+ .hsk-status-icon-wrap.success {
2862
+ background: #ecfdf5;
2863
+ color: #10b981;
2864
+ }
2865
+ .hsk-status-icon-wrap.failed {
2866
+ background: #fef2f2;
2867
+ color: #ef4444;
2868
+ }
2869
+ .hsk-status-icon-wrap.cancelled {
2870
+ background: #fffbeb;
2871
+ color: #d97706;
2872
+ }
2873
+ .hsk-checkout-status-card h3 {
2874
+ font-size: 1.25rem;
2875
+ font-weight: 600;
2876
+ margin: 0 0 0.75rem 0;
2877
+ color: var(--hsk-checkout-text, #0f172a);
2878
+ }
2879
+ .hsk-checkout-status-card p {
2880
+ font-size: 0.9375rem;
2881
+ line-height: 1.5;
2882
+ margin: 0 0 1.5rem 0;
2883
+ color: var(--hsk-checkout-muted, #475569);
2884
+ max-width: 340px;
2885
+ }
2886
+ .hsk-checkout-error-text {
2887
+ color: #ef4444 !important;
2888
+ font-weight: 500;
2889
+ }
2890
+ .hsk-status-spinner-wrap {
2891
+ margin-bottom: 1.5rem;
2892
+ position: relative;
2893
+ }
2894
+ .hsk-status-spinner {
2895
+ width: 48px;
2896
+ height: 48px;
2897
+ border: 4px solid var(--hsk-checkout-divide, #e2e8f0);
2898
+ border-top: 4px solid var(--hsk-primary, #ff6a33);
2899
+ border-radius: 50%;
2900
+ animation: hskSpin 1s linear infinite;
2901
+ }
2902
+ .hsk-checkout-stk-instructions {
2903
+ background: #ffffff;
2904
+ border: 1px solid var(--hsk-checkout-divide, #e2e8f0);
2905
+ border-radius: 6px;
2906
+ padding: 1.25rem;
2907
+ margin-bottom: 1.5rem;
2908
+ width: 100%;
2909
+ box-sizing: border-box;
2910
+ text-align: left;
2911
+ }
2912
+ .hsk-checkout-stk-instructions p {
2913
+ margin: 0 0 0.5rem 0;
2914
+ font-size: 0.8125rem;
2915
+ font-weight: 500;
2916
+ color: var(--hsk-checkout-text, #334155);
2917
+ }
2918
+ .hsk-checkout-stk-instructions p:last-child {
2919
+ margin-bottom: 0;
2920
+ }
2921
+ .hsk-checkout-cancel-btn {
2922
+ background: none;
2923
+ border: none;
2924
+ color: var(--hsk-checkout-muted, #64748b);
2925
+ font-size: 0.8125rem;
2926
+ font-weight: 500;
2927
+ text-decoration: underline;
2928
+ cursor: pointer;
2929
+ padding: 0;
2930
+ transition: color 0.15s ease;
2931
+ }
2932
+ .hsk-checkout-cancel-btn:hover {
2933
+ color: var(--hsk-primary, #ff6a33);
2934
+ }
2935
+ .hsk-checkout-status-actions {
2936
+ display: flex;
2937
+ gap: 0.75rem;
2938
+ margin-top: 1.5rem;
2939
+ flex-wrap: wrap;
2940
+ justify-content: center;
2941
+ width: 100%;
2942
+ }
2943
+ .hsk-checkout-close-x {
2944
+ position: absolute;
2945
+ top: 1.5rem;
2946
+ right: 1.5rem;
2947
+ background: none;
2948
+ border: none;
2949
+ color: var(--hsk-checkout-muted, #64748b);
2950
+ cursor: pointer;
2951
+ padding: 0.5rem;
2952
+ display: flex;
2953
+ align-items: center;
2954
+ justify-content: center;
2955
+ border-radius: 50%;
2956
+ transition: background-color 0.15s, color 0.15s;
2957
+ z-index: 1000;
2958
+ }
2959
+ .hsk-checkout-close-x:hover {
2960
+ background-color: var(--hsk-checkout-divide, #e2e8f0);
2961
+ color: var(--hsk-checkout-text, #0f172a);
2962
+ }
2963
+ @keyframes hskSpin {
2964
+ 0% {
2965
+ transform: rotate(0deg);
2966
+ }
2967
+ 100% {
2968
+ transform: rotate(360deg);
2969
+ }
2970
+ }
2971
+ [data-hsk-theme=dark] .hsk-checkout-modal-full,
2972
+ [data-hsk-theme=dark] .hsk-checkout-panel-right {
2973
+ --hsk-checkout-right-bg: #090d16;
2974
+ --hsk-checkout-text: #f8fafc;
2975
+ --hsk-checkout-divide: #1e293b;
2976
+ }
2977
+ [data-hsk-theme=dark] .hsk-checkout-panel-left {
2978
+ --hsk-checkout-left-bg: #0d1321;
2979
+ --hsk-checkout-text: #f8fafc;
2980
+ --hsk-checkout-divide: #1e293b;
2981
+ --hsk-checkout-muted: #94a3b8;
2982
+ }
2983
+ [data-hsk-theme=dark] .hsk-form-input,
2984
+ [data-hsk-theme=dark] .hsk-phone-input-container,
2985
+ [data-hsk-theme=dark] .hsk-checkout-item-img-container {
2986
+ background: #0d1321;
2987
+ border-color: #1e293b;
2988
+ }
2989
+ [data-hsk-theme=dark] .hsk-phone-prefix {
2990
+ background: #090d16;
2991
+ border-color: #1e293b;
2992
+ }
2993
+ [data-hsk-theme=dark] .hsk-checkout-status-card {
2994
+ background: #0d1321;
2995
+ border-color: #1e293b;
2996
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
2997
+ }
2998
+ [data-hsk-theme=dark] .hsk-checkout-stk-instructions {
2999
+ background: #090d16;
3000
+ border-color: #1e293b;
3001
+ }
3002
+ [data-hsk-theme=dark] .hsk-form-label {
3003
+ color: #94a3b8;
3004
+ }
3005
+ [data-hsk-theme=dark] .hsk-checkout-close-x:hover {
3006
+ background-color: #1e293b;
3007
+ color: #f8fafc;
3008
+ }
3009
+ [data-hsk-theme=dark] .hsk-status-icon-wrap.success {
3010
+ background: rgba(16, 185, 129, 0.15);
3011
+ color: #34d399;
3012
+ }
3013
+ [data-hsk-theme=dark] .hsk-status-icon-wrap.failed {
3014
+ background: rgba(239, 68, 68, 0.15);
3015
+ color: #f87171;
3016
+ }
3017
+ [data-hsk-theme=dark] .hsk-status-icon-wrap.cancelled {
3018
+ background: rgba(245, 158, 11, 0.15);
3019
+ color: #fbbf24;
3020
+ }
3021
+ [data-hsk-theme=dark] .hsk-checkout-status-card.success {
3022
+ border-color: rgba(52, 211, 153, 0.3);
3023
+ background:
3024
+ linear-gradient(
3025
+ 135deg,
3026
+ rgba(52, 211, 153, 0.01),
3027
+ rgba(52, 211, 153, 0.08));
3028
+ box-shadow: 0 12px 40px rgba(52, 211, 153, 0.06);
3029
+ }
3030
+ [data-hsk-theme=dark] .hsk-checkout-status-card.failed {
3031
+ border-color: rgba(248, 113, 113, 0.3);
3032
+ background:
3033
+ linear-gradient(
3034
+ 135deg,
3035
+ rgba(248, 113, 113, 0.01),
3036
+ rgba(248, 113, 113, 0.08));
3037
+ box-shadow: 0 12px 40px rgba(248, 113, 113, 0.06);
3038
+ }
3039
+ [data-hsk-theme=dark] .hsk-checkout-status-card.cancelled {
3040
+ border-color: rgba(251, 191, 36, 0.3);
3041
+ background:
3042
+ linear-gradient(
3043
+ 135deg,
3044
+ rgba(251, 191, 36, 0.01),
3045
+ rgba(251, 191, 36, 0.08));
3046
+ box-shadow: 0 12px 40px rgba(251, 191, 36, 0.06);
3047
+ }
3048
+ [data-hsk-theme=dark] .hsk-cb-overlay {
3049
+ --hsk-chat-bg: #0a0a0a;
3050
+ --hsk-chat-text: #f0efed;
3051
+ --hsk-chat-muted: #888;
3052
+ --hsk-chat-divide: rgba(255,255,255,.07);
3053
+ --hsk-chat-input-bg: rgba(255,255,255,.05);
3054
+ --hsk-chat-source-bg: rgba(255,255,255,.04);
3055
+ --hsk-fade-bg: #0a0a0a;
3056
+ background: #000000 !important;
3057
+ }
3058
+ [data-hsk-theme=dark] .hsk-cb-topbar-title {
3059
+ color: #f0efed;
3060
+ }
3061
+ [data-hsk-theme=dark] .hsk-cb-topbar-sub {
3062
+ color: #888;
3063
+ }
3064
+ [data-hsk-theme=dark] .hsk-cb-topbar-btn {
3065
+ border-color: rgba(255, 255, 255, .07);
3066
+ color: #888;
3067
+ }
3068
+ [data-hsk-theme=dark] .hsk-cb-close {
3069
+ border-color: rgba(255, 255, 255, .07);
3070
+ color: #888;
3071
+ }
3072
+ [data-hsk-theme=dark] .hsk-cb-empty-title {
3073
+ color: #f0efed;
3074
+ }
3075
+ [data-hsk-theme=dark] .hsk-cb-empty-sub {
3076
+ color: #888;
3077
+ }
3078
+ [data-hsk-theme=dark] .hsk-cb-chip {
3079
+ border-color: rgba(255, 255, 255, .07);
3080
+ background: rgba(255, 255, 255, .04);
3081
+ color: #f0efed;
3082
+ }
3083
+ [data-hsk-theme=dark] .hsk-cb-chip:hover {
3084
+ background: rgba(255, 106, 51, .06);
3085
+ }
3086
+ [data-hsk-theme=dark] .hsk-cb-msg-group {
3087
+ border-bottom-color: rgba(255, 255, 255, .05);
3088
+ }
3089
+ [data-hsk-theme=dark] .hsk-cb-user-bubble {
3090
+ color: #fff;
3091
+ }
3092
+ [data-hsk-theme=dark] .hsk-cb-ai-icon {
3093
+ background: rgba(255, 106, 51, .12);
3094
+ border-color: rgba(255, 106, 51, .25);
3095
+ }
3096
+ [data-hsk-theme=dark] .hsk-cb-ai-text {
3097
+ color: #f0efed;
3098
+ }
3099
+ [data-hsk-theme=dark] .hsk-cb-sources-next {
3100
+ border-color: rgba(255, 255, 255, .12);
3101
+ background: #0a0a0a;
3102
+ color: #f0efed;
3103
+ }
3104
+ [data-hsk-theme=dark] .hsk-cb-src-imgwrap-empty {
3105
+ background: rgba(255, 255, 255, .06);
3106
+ color: #555;
3107
+ }
3108
+ [data-hsk-theme=dark] .hsk-cb-src-name {
3109
+ color: #f0efed;
3110
+ }
3111
+ [data-hsk-theme=dark] .hsk-cb-selected-product {
3112
+ border-color: rgba(255, 255, 255, .08);
3113
+ background: rgba(255, 255, 255, .03);
3114
+ }
3115
+ [data-hsk-theme=dark] .hsk-cb-selected-name {
3116
+ color: #f0efed;
3117
+ }
3118
+ [data-hsk-theme=dark] .hsk-cb-dot {
3119
+ background: #555;
3120
+ }
3121
+ [data-hsk-theme=dark] .hsk-cb-input-box {
3122
+ background: rgba(255, 255, 255, .05);
3123
+ border-color: rgba(255, 255, 255, .07);
3124
+ }
3125
+ [data-hsk-theme=dark] .hsk-cb-textarea {
3126
+ color: #f0efed;
3127
+ }
3128
+ [data-hsk-theme=dark] .hsk-cb-textarea::placeholder {
3129
+ color: #555;
3130
+ }
3131
+ [data-hsk-theme=dark] .hsk-cb-send:disabled {
3132
+ background: #555;
3133
+ }
3134
+ [data-hsk-theme=dark] .hsk-cb-hint {
3135
+ color: #555;
3136
+ }
3137
+ @media (prefers-color-scheme: dark) {
3138
+ .hsk-checkout-modal-full,
3139
+ .hsk-checkout-panel-right {
3140
+ --hsk-checkout-right-bg: #090d16;
3141
+ --hsk-checkout-text: #f8fafc;
3142
+ --hsk-checkout-divide: #1e293b;
3143
+ }
3144
+ .hsk-checkout-panel-left {
3145
+ --hsk-checkout-left-bg: #0d1321;
3146
+ --hsk-checkout-text: #f8fafc;
3147
+ --hsk-checkout-divide: #1e293b;
3148
+ --hsk-checkout-muted: #94a3b8;
3149
+ }
3150
+ .hsk-form-input,
3151
+ .hsk-phone-input-container,
3152
+ .hsk-checkout-item-img-container {
3153
+ background: #0d1321;
3154
+ border-color: #1e293b;
3155
+ }
3156
+ .hsk-phone-prefix {
3157
+ background: #090d16;
3158
+ border-color: #1e293b;
3159
+ }
3160
+ .hsk-checkout-status-card {
3161
+ background: #0d1321;
3162
+ border-color: #1e293b;
3163
+ }
3164
+ .hsk-checkout-stk-instructions {
3165
+ background: #090d16;
3166
+ border-color: #1e293b;
3167
+ }
3168
+ .hsk-form-label {
3169
+ color: #94a3b8;
3170
+ }
3171
+ .hsk-checkout-close-x:hover {
3172
+ background-color: #1e293b;
3173
+ color: #f8fafc;
3174
+ }
3175
+ .hsk-status-icon-wrap.success {
3176
+ background: rgba(16, 185, 129, 0.15);
3177
+ color: #34d399;
3178
+ }
3179
+ .hsk-status-icon-wrap.failed {
3180
+ background: rgba(239, 68, 68, 0.15);
3181
+ color: #f87171;
3182
+ }
3183
+ .hsk-status-icon-wrap.cancelled {
3184
+ background: rgba(245, 158, 11, 0.15);
3185
+ color: #fbbf24;
3186
+ }
3187
+ .hsk-checkout-status-card.success {
3188
+ background:
3189
+ linear-gradient(
3190
+ 135deg,
3191
+ rgba(16, 185, 129, 0.02),
3192
+ rgba(16, 185, 129, 0.08));
3193
+ }
3194
+ .hsk-checkout-status-card.failed {
3195
+ background:
3196
+ linear-gradient(
3197
+ 135deg,
3198
+ rgba(239, 68, 68, 0.02),
3199
+ rgba(239, 68, 68, 0.08));
3200
+ }
3201
+ .hsk-checkout-status-card.cancelled {
3202
+ background:
3203
+ linear-gradient(
3204
+ 135deg,
3205
+ rgba(245, 158, 11, 0.02),
3206
+ rgba(245, 158, 11, 0.08));
3207
+ }
3208
+ }
3209
+ @media (max-width: 768px) {
3210
+ .hsk-checkout-modal-full {
3211
+ grid-template-columns: 1fr;
3212
+ overflow-y: auto;
3213
+ }
3214
+ .hsk-checkout-panel-left {
3215
+ padding: 2rem 1.5rem 1.5rem 1.5rem;
3216
+ align-items: center;
3217
+ border-right: none;
3218
+ border-bottom: 1px solid var(--hsk-checkout-divide, #cbd5e1);
3219
+ }
3220
+ .hsk-checkout-panel-right {
3221
+ padding: 1.5rem 1.5rem 2rem 1.5rem;
3222
+ align-items: center;
3223
+ }
3224
+ .hsk-checkout-left-content,
3225
+ .hsk-checkout-right-content {
3226
+ max-width: 100%;
3227
+ }
3228
+ }
3229
+ .hsk-cb-panel--with-sidebar {
3230
+ display: flex;
3231
+ flex-direction: row;
3232
+ max-width: 1000px;
3233
+ overflow: hidden;
3234
+ }
3235
+ .hsk-cb-sidebar {
3236
+ width: 0;
3237
+ min-width: 0;
3238
+ flex-shrink: 0;
3239
+ overflow: hidden;
3240
+ background: var(--hsk-sidebar-bg, #f8f8f7);
3241
+ border-right: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.08));
3242
+ display: flex;
3243
+ flex-direction: column;
3244
+ transition: width 0.25s cubic-bezier(.4, 0, .2, 1), min-width 0.25s cubic-bezier(.4, 0, .2, 1);
3245
+ }
3246
+ .hsk-cb-sidebar--open {
3247
+ width: 240px;
3248
+ min-width: 240px;
3249
+ }
3250
+ .hsk-cb-sidebar-header {
3251
+ display: flex;
3252
+ align-items: center;
3253
+ justify-content: space-between;
3254
+ padding: 20px 14px 12px;
3255
+ flex-shrink: 0;
3256
+ border-bottom: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.07));
3257
+ }
3258
+ .hsk-cb-sidebar-title {
3259
+ font-size: 12px;
3260
+ font-weight: 600;
3261
+ letter-spacing: .06em;
3262
+ text-transform: uppercase;
3263
+ color: var(--hsk-chat-muted, #5f6368);
3264
+ white-space: nowrap;
3265
+ }
3266
+ .hsk-cb-sidebar-new {
3267
+ display: flex;
3268
+ align-items: center;
3269
+ gap: 5px;
3270
+ padding: 5px 10px;
3271
+ border-radius: 6px;
3272
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));
3273
+ background: none;
3274
+ color: var(--hsk-primary, #ff6a33);
3275
+ font-size: 11px;
3276
+ font-weight: 500;
3277
+ cursor: pointer;
3278
+ font-family: inherit;
3279
+ white-space: nowrap;
3280
+ transition: background .15s, border-color .15s;
3281
+ }
3282
+ .hsk-cb-sidebar-new:hover {
3283
+ background: color-mix(in srgb, var(--hsk-primary, #ff6a33) 8%, transparent);
3284
+ border-color: var(--hsk-primary, #ff6a33);
3285
+ }
3286
+ .hsk-cb-sidebar-list {
3287
+ flex: 1;
3288
+ overflow-y: auto;
3289
+ padding: 8px 6px;
3290
+ display: flex;
3291
+ flex-direction: column;
3292
+ gap: 2px;
3293
+ scrollbar-width: thin;
3294
+ scrollbar-color: rgba(0, 0, 0, .1) transparent;
3295
+ }
3296
+ .hsk-cb-sidebar-empty {
3297
+ display: flex;
3298
+ flex-direction: column;
3299
+ align-items: center;
3300
+ justify-content: center;
3301
+ gap: 8px;
3302
+ padding: 40px 16px;
3303
+ color: var(--hsk-chat-muted, #9aa0a6);
3304
+ font-size: 12px;
3305
+ text-align: center;
3306
+ }
3307
+ .hsk-cb-sidebar-session {
3308
+ position: relative;
3309
+ padding: 9px 10px;
3310
+ border-radius: 8px;
3311
+ cursor: pointer;
3312
+ transition: background .15s;
3313
+ min-width: 0;
3314
+ }
3315
+ .hsk-cb-sidebar-session:hover {
3316
+ background: rgba(0, 0, 0, .05);
3317
+ }
3318
+ .hsk-cb-sidebar-session--active {
3319
+ background: color-mix(in srgb, var(--hsk-primary, #ff6a33) 10%, transparent) !important;
3320
+ }
3321
+ .hsk-cb-sidebar-session-title {
3322
+ font-size: 12.5px;
3323
+ font-weight: 500;
3324
+ color: var(--hsk-chat-text, #1f1f1f);
3325
+ white-space: nowrap;
3326
+ overflow: hidden;
3327
+ text-overflow: ellipsis;
3328
+ padding-right: 20px;
3329
+ }
3330
+ .hsk-cb-sidebar-session-meta {
3331
+ font-size: 10.5px;
3332
+ color: var(--hsk-chat-muted, #9aa0a6);
3333
+ margin-top: 2px;
3334
+ }
3335
+ .hsk-cb-sidebar-session-del {
3336
+ position: absolute;
3337
+ top: 6px;
3338
+ right: 6px;
3339
+ width: 18px;
3340
+ height: 18px;
3341
+ border: none;
3342
+ background: none;
3343
+ color: var(--hsk-chat-muted, #9aa0a6);
3344
+ font-size: 14px;
3345
+ cursor: pointer;
3346
+ border-radius: 4px;
3347
+ display: flex;
3348
+ align-items: center;
3349
+ justify-content: center;
3350
+ opacity: 0;
3351
+ transition: opacity .15s, background .15s;
3352
+ }
3353
+ .hsk-cb-sidebar-session:hover .hsk-cb-sidebar-session-del {
3354
+ opacity: 1;
3355
+ }
3356
+ .hsk-cb-sidebar-session-del:hover {
3357
+ background: rgba(239, 68, 68, .12);
3358
+ color: #ef4444;
3359
+ }
3360
+ .hsk-cb-sidebar-toggle {
3361
+ width: 34px;
3362
+ height: 34px;
3363
+ border-radius: var(--hsk-border-radius, 0px);
3364
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));
3365
+ background: none;
3366
+ color: var(--hsk-chat-muted, #5f6368);
3367
+ cursor: pointer;
3368
+ display: flex;
3369
+ align-items: center;
3370
+ justify-content: center;
3371
+ flex-shrink: 0;
3372
+ font-family: inherit;
3373
+ transition: all .15s;
3374
+ }
3375
+ .hsk-cb-sidebar-toggle:hover,
3376
+ .hsk-cb-sidebar-toggle--active {
3377
+ border-color: var(--hsk-primary, #ff6a33);
3378
+ color: var(--hsk-primary, #ff6a33);
3379
+ background: color-mix(in srgb, var(--hsk-primary, #ff6a33) 8%, transparent);
3380
+ }
3381
+ .hsk-cb-main {
3382
+ flex: 1;
3383
+ min-width: 0;
3384
+ display: flex;
3385
+ flex-direction: column;
3386
+ height: 100%;
3387
+ overflow: hidden;
3388
+ }
3389
+ .hsk-cb-replay-banner {
3390
+ display: flex;
3391
+ align-items: center;
3392
+ gap: 8px;
3393
+ padding: 8px 16px;
3394
+ background: color-mix(in srgb, var(--hsk-primary, #ff6a33) 8%, transparent);
3395
+ border-bottom: 1px solid color-mix(in srgb, var(--hsk-primary, #ff6a33) 20%, transparent);
3396
+ font-size: 12px;
3397
+ color: var(--hsk-chat-muted, #5f6368);
3398
+ flex-shrink: 0;
3399
+ }
3400
+ .hsk-cb-replay-banner button {
3401
+ border: none;
3402
+ background: none;
3403
+ color: var(--hsk-primary, #ff6a33);
3404
+ font-size: 12px;
3405
+ font-weight: 600;
3406
+ cursor: pointer;
3407
+ margin-left: auto;
3408
+ font-family: inherit;
3409
+ padding: 0;
3410
+ }
3411
+ .hsk-cb-replay-banner button:hover {
3412
+ text-decoration: underline;
3413
+ }
3414
+ .hsk-cart-card {
3415
+ margin-top: 10px;
3416
+ border-radius: 12px;
3417
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));
3418
+ background: var(--hsk-cart-card-bg, rgba(248,248,247,0.9));
3419
+ overflow: hidden;
3420
+ animation: hsk-fade-in-up 0.3s ease both;
3421
+ }
3422
+ @keyframes hsk-fade-in-up {
3423
+ from {
3424
+ opacity: 0;
3425
+ transform: translateY(8px);
3426
+ }
3427
+ to {
3428
+ opacity: 1;
3429
+ transform: translateY(0);
3430
+ }
3431
+ }
3432
+ .hsk-cart-card-header {
3433
+ display: flex;
3434
+ align-items: center;
3435
+ gap: 6px;
3436
+ padding: 8px 12px;
3437
+ background: color-mix(in srgb, var(--hsk-primary, #ff6a33) 6%, transparent);
3438
+ border-bottom: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.07));
3439
+ font-size: 11.5px;
3440
+ font-weight: 600;
3441
+ color: var(--hsk-primary, #ff6a33);
3442
+ letter-spacing: .02em;
3443
+ text-transform: uppercase;
3444
+ }
3445
+ .hsk-cart-items {
3446
+ padding: 6px 0;
3447
+ display: flex;
3448
+ flex-direction: column;
3449
+ }
3450
+ .hsk-cart-item {
3451
+ display: flex;
3452
+ align-items: center;
3453
+ gap: 10px;
3454
+ padding: 8px 12px;
3455
+ transition: background .12s;
3456
+ }
3457
+ .hsk-cart-item:hover {
3458
+ background: rgba(0, 0, 0, .03);
3459
+ }
3460
+ .hsk-cart-item-img-wrap {
3461
+ position: relative;
3462
+ flex-shrink: 0;
3463
+ }
3464
+ .hsk-cart-item-img {
3465
+ width: 44px;
3466
+ height: 44px;
3467
+ object-fit: cover;
3468
+ border-radius: 8px;
3469
+ border: 1px solid rgba(0, 0, 0, .07);
3470
+ background: #f0f0ef;
3471
+ }
3472
+ .hsk-cart-item-img-placeholder {
3473
+ width: 44px;
3474
+ height: 44px;
3475
+ border-radius: 8px;
3476
+ background: color-mix(in srgb, var(--hsk-primary, #ff6a33) 10%, transparent);
3477
+ display: flex;
3478
+ align-items: center;
3479
+ justify-content: center;
3480
+ color: var(--hsk-primary, #ff6a33);
3481
+ }
3482
+ .hsk-cart-item-qty {
3483
+ position: absolute;
3484
+ top: -5px;
3485
+ right: -5px;
3486
+ width: 18px;
3487
+ height: 18px;
3488
+ border-radius: 50%;
3489
+ background: var(--hsk-primary, #ff6a33);
3490
+ color: #fff;
3491
+ font-size: 10px;
3492
+ font-weight: 700;
3493
+ display: flex;
3494
+ align-items: center;
3495
+ justify-content: center;
3496
+ line-height: 1;
3497
+ }
3498
+ .hsk-cart-item-info {
3499
+ flex: 1;
3500
+ min-width: 0;
3501
+ }
3502
+ .hsk-cart-item-name {
3503
+ font-size: 12.5px;
3504
+ font-weight: 500;
3505
+ color: var(--hsk-chat-text, #1f1f1f);
3506
+ white-space: nowrap;
3507
+ overflow: hidden;
3508
+ text-overflow: ellipsis;
3509
+ }
3510
+ .hsk-cart-item-price {
3511
+ font-size: 12px;
3512
+ color: var(--hsk-chat-muted, #5f6368);
3513
+ margin-top: 2px;
3514
+ }
3515
+ .hsk-cart-item-qty-label {
3516
+ opacity: 0.7;
3517
+ }
3518
+ .hsk-cart-total {
3519
+ display: flex;
3520
+ align-items: center;
3521
+ justify-content: space-between;
3522
+ padding: 8px 12px;
3523
+ border-top: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.07));
3524
+ background: color-mix(in srgb, var(--hsk-primary, #ff6a33) 4%, transparent);
3525
+ font-size: 12.5px;
3526
+ color: var(--hsk-chat-muted, #5f6368);
3527
+ }
3528
+ .hsk-cart-total-amount {
3529
+ font-weight: 700;
3530
+ color: var(--hsk-primary, #ff6a33);
3531
+ font-size: 13px;
3532
+ }
3533
+ .hsk-action-pills {
3534
+ display: flex;
3535
+ flex-wrap: wrap;
3536
+ gap: 6px;
3537
+ margin-top: 10px;
3538
+ animation: hsk-fade-in-up 0.35s ease 0.1s both;
3539
+ }
3540
+ .hsk-action-pill {
3541
+ display: inline-flex;
3542
+ align-items: center;
3543
+ gap: 5px;
3544
+ padding: 6px 12px;
3545
+ border-radius: 20px;
3546
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));
3547
+ background: var(--hsk-pill-bg, rgba(255,255,255,0.8));
3548
+ color: var(--hsk-chat-text, #1f1f1f);
3549
+ font-size: 12px;
3550
+ font-weight: 500;
3551
+ cursor: pointer;
3552
+ font-family: inherit;
3553
+ transition: all .15s;
3554
+ white-space: nowrap;
3555
+ backdrop-filter: blur(4px);
3556
+ }
3557
+ .hsk-action-pill:hover:not(:disabled) {
3558
+ border-color: var(--hsk-primary, #ff6a33);
3559
+ background: color-mix(in srgb, var(--hsk-primary, #ff6a33) 8%, transparent);
3560
+ color: var(--hsk-primary, #ff6a33);
3561
+ transform: translateY(-1px);
3562
+ box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
3563
+ }
3564
+ .hsk-action-pill:disabled {
3565
+ opacity: 0.4;
3566
+ cursor: not-allowed;
3567
+ }
3568
+ .hsk-pill-emoji {
3569
+ font-size: 13px;
3570
+ line-height: 1;
3571
+ }
3572
+ .hsk-cb-payment-prompt--awaiting {
3573
+ position: relative;
3574
+ overflow: hidden;
3575
+ background:
3576
+ linear-gradient(
3577
+ 135deg,
3578
+ color-mix(in srgb, #f59e0b 8%, transparent),
3579
+ color-mix(in srgb, #f59e0b 4%, transparent)) !important;
3580
+ border-color: color-mix(in srgb, #f59e0b 30%, transparent) !important;
3581
+ }
3582
+ .hsk-cb-payment-pulse-ring {
3583
+ position: absolute;
3584
+ inset: 0;
3585
+ border-radius: 14px;
3586
+ border: 2px solid #f59e0b;
3587
+ animation: hsk-pulse-ring 2s ease-out infinite;
3588
+ pointer-events: none;
3589
+ }
3590
+ @keyframes hsk-pulse-ring {
3591
+ 0%, 100% {
3592
+ transform: scale(0.96);
3593
+ opacity: 0.8;
3594
+ }
3595
+ 50% {
3596
+ transform: scale(1.02);
3597
+ opacity: 0.4;
3598
+ }
3599
+ }
3600
+ .hsk-cb-payment-prompt--success {
3601
+ position: relative;
3602
+ overflow: hidden;
3603
+ background:
3604
+ linear-gradient(
3605
+ 135deg,
3606
+ color-mix(in srgb, #22c55e 8%, transparent),
3607
+ color-mix(in srgb, #22c55e 4%, transparent)) !important;
3608
+ border-color: color-mix(in srgb, #22c55e 30%, transparent) !important;
3609
+ }
3610
+ .hsk-cb-payment-success-ring {
3611
+ position: absolute;
3612
+ inset: 0;
3613
+ border-radius: 14px;
3614
+ border: 2px solid #22c55e;
3615
+ opacity: 0.4;
3616
+ pointer-events: none;
3617
+ }
3618
+ .hsk-cb-payment-prompt--failed {
3619
+ background:
3620
+ linear-gradient(
3621
+ 135deg,
3622
+ color-mix(in srgb, #ef4444 8%, transparent),
3623
+ color-mix(in srgb, #ef4444 4%, transparent)) !important;
3624
+ border-color: color-mix(in srgb, #ef4444 30%, transparent) !important;
3625
+ }
3626
+ .hsk-cb-payment-icon-wrap {
3627
+ display: flex;
3628
+ align-items: center;
3629
+ justify-content: center;
3630
+ }
3631
+ .hsk-cb-payment-sub {
3632
+ margin: 0;
3633
+ font-size: 0.78rem;
3634
+ color: var(--hsk-chat-muted, #5f6368);
3635
+ text-align: center;
3636
+ line-height: 1.5;
3637
+ opacity: 0.85;
3638
+ }
3639
+ .hsk-cb-payment-actions {
3640
+ display: flex;
3641
+ gap: 8px;
3642
+ align-items: center;
3643
+ }
3644
+ .hsk-cb-pay-secondary {
3645
+ padding: 8px 18px;
3646
+ border-radius: 8px;
3647
+ border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.15));
3648
+ background: none;
3649
+ color: var(--hsk-chat-muted, #5f6368);
3650
+ font-size: 0.85rem;
3651
+ font-weight: 500;
3652
+ cursor: pointer;
3653
+ font-family: inherit;
3654
+ transition: all .15s;
3655
+ }
3656
+ .hsk-cb-pay-secondary:hover {
3657
+ border-color: var(--hsk-primary, #ff6a33);
3658
+ color: var(--hsk-primary, #ff6a33);
3659
+ }
3660
+ .hsk-cb-dot--amber {
3661
+ background: #f59e0b !important;
3662
+ }
3663
+ @media (prefers-color-scheme: dark) {
3664
+ .hsk-cb-sidebar {
3665
+ --hsk-sidebar-bg: #18181a;
3666
+ }
3667
+ .hsk-cart-card {
3668
+ --hsk-cart-card-bg: rgba(30,30,32,0.9);
3669
+ }
3670
+ .hsk-action-pill {
3671
+ --hsk-pill-bg: rgba(40,40,42,0.85);
3672
+ border-color: rgba(255, 255, 255, .1);
3673
+ color: var(--hsk-chat-text, #e8eaed);
3674
+ }
3675
+ }
3676
+ [data-hsk-theme=dark] .hsk-cb-sidebar {
3677
+ --hsk-sidebar-bg: #18181a;
3678
+ }
3679
+ [data-hsk-theme=dark] .hsk-cart-card {
3680
+ --hsk-cart-card-bg: rgba(30,30,32,0.9);
3681
+ }
3682
+ [data-hsk-theme=dark] .hsk-action-pill {
3683
+ --hsk-pill-bg: rgba(40,40,42,0.85);
3684
+ border-color: rgba(255, 255, 255, .1);
3685
+ color: var(--hsk-chat-text, #e8eaed);
3686
+ }
3687
+ [data-hsk-theme=dark] .hsk-cb-sidebar-session-title {
3688
+ color: #e8eaed;
3689
+ }
3690
+ [data-hsk-theme=dark] .hsk-cart-item-name {
3691
+ color: #e8eaed;
3692
+ }
3693
+ [data-hsk-theme=dark] .hsk-cart-total {
3694
+ color: #9aa0a6;
3695
+ }
3696
+ @media (max-width: 600px) {
3697
+ .hsk-cb-panel--with-sidebar {
3698
+ position: relative;
3699
+ }
3700
+ .hsk-cb-sidebar {
3701
+ position: absolute;
3702
+ top: 0;
3703
+ left: 0;
3704
+ bottom: 0;
3705
+ z-index: 10;
3706
+ width: 0;
3707
+ min-width: 0;
3708
+ box-shadow: 4px 0 20px rgba(0, 0, 0, .15);
3709
+ border-right: none;
3710
+ }
3711
+ .hsk-cb-sidebar--open {
3712
+ width: 80vw;
3713
+ max-width: 280px;
3714
+ min-width: unset;
3715
+ }
3716
+ }
3717
+ /*# sourceMappingURL=styles.css.map */