@huskel/sdk 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1008 -159
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +64 -27
- package/dist/index.d.ts +64 -27
- package/dist/index.js +798 -243
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +786 -234
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -1
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/styles.css"],"sourcesContent":["/* ==========================================================================\n Huskel AI SDK Styles\n ========================================================================== */\n\n/* ─── ChatWidget ─── */\n.hsk-chat-widget {\n --hsk-bg: var(--chat-bg-color, #0f0f10);\n --hsk-text: var(--chat-text-color, #f3f3f2);\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n --hsk-font: var(--chat-font-family, inherit);\n\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 320px;\n font-family: var(--hsk-font);\n background: var(--hsk-bg);\n border: 1px solid #2a2a2d;\n border-radius: 12px;\n overflow: hidden;\n}\n.hsk-chat-header {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 14px 16px;\n border-bottom: 1px solid #1e1e1f;\n background: #111112;\n flex-shrink: 0;\n}\n.hsk-chat-header-icon {\n color: var(--hsk-primary);\n display: flex;\n align-items: center;\n}\n.hsk-chat-title {\n font-size: 14px;\n font-weight: 600;\n color: #f3f3f2;\n}\n.hsk-chat-badge {\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: var(--hsk-primary);\n background: rgba(255, 106, 51, 0.09);\n border: 1px solid rgba(255, 106, 51, 0.18);\n padding: 2px 8px;\n border-radius: 20px;\n}\n.hsk-chat-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n scroll-behavior: smooth;\n}\n.hsk-chat-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 8px;\n color: #555;\n font-size: 13px;\n text-align: center;\n padding: 24px;\n}\n.hsk-chat-empty-icon {\n font-size: 28px;\n margin-bottom: 4px;\n color: var(--hsk-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.hsk-chat-empty-suggestions {\n font-size: 12px;\n color: #444;\n margin-top: 4px;\n}\n.hsk-msg-row {\n display: flex;\n gap: 8px;\n align-items: flex-start;\n}\n.hsk-msg-row.user {\n flex-direction: row-reverse;\n}\n.hsk-msg-avatar {\n width: 28px;\n height: 28px;\n border-radius: 50%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 13px;\n font-weight: 700;\n}\n.hsk-msg-avatar.ai {\n background: rgba(255, 106, 51, 0.12);\n border: 1px solid rgba(255, 106, 51, 0.25);\n color: var(--hsk-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.hsk-msg-avatar.user {\n background: #2a2a2d;\n color: #9a9aa1;\n}\n.hsk-msg-bubble {\n max-width: 78%;\n padding: 10px 14px;\n border-radius: 12px;\n font-size: 13px;\n line-height: 1.6;\n}\n.hsk-msg-bubble.ai {\n background: #171718;\n border: 1px solid #2a2a2d;\n color: #e8e8e7;\n border-radius: 4px 12px 12px 12px;\n}\n.hsk-msg-bubble.user {\n background: var(--hsk-primary);\n color: #fff;\n border-radius: 12px 4px 12px 12px;\n}\n.hsk-sources-container {\n margin-left: 36px;\n}\n.hsk-sources {\n margin-top: 10px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.hsk-source-card {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n background: #1a1a1b;\n border: 1px solid #252527;\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.15s;\n}\n.hsk-source-card:hover {\n border-color: rgba(255, 106, 51, 0.37);\n}\n.hsk-source-img {\n width: 36px;\n height: 36px;\n object-fit: cover;\n border-radius: 4px;\n background: #fff;\n}\n.hsk-source-name {\n font-size: 12px;\n font-weight: 500;\n color: #e8e8e7;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.hsk-source-price {\n font-size: 11px;\n color: var(--hsk-primary);\n font-weight: 700;\n margin-top: 2px;\n}\n.hsk-typing {\n display: flex;\n gap: 4px;\n align-items: center;\n padding: 10px 14px;\n background: #171718;\n border: 1px solid #2a2a2d;\n border-radius: 4px 12px 12px 12px;\n width: fit-content;\n}\n.hsk-typing-dot {\n width: 6px;\n height: 6px;\n background: var(--hsk-primary);\n border-radius: 50%;\n animation: hsk-chat-bounce 1.2s infinite;\n}\n.hsk-typing-dot:nth-child(2) {\n animation-delay: 0.2s;\n}\n.hsk-typing-dot:nth-child(3) {\n animation-delay: 0.4s;\n}\n@keyframes hsk-chat-bounce {\n 0%, 100% {\n opacity: 0.3;\n transform: translateY(0);\n }\n 50% {\n opacity: 1;\n transform: translateY(-4px);\n }\n}\n.hsk-chat-input-area {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 14px;\n border-top: 1px solid #1e1e1f;\n background: #111112;\n flex-shrink: 0;\n}\n.hsk-chat-input {\n flex: 1;\n background: #1a1a1b;\n border: 1px solid #2a2a2d;\n border-radius: 8px;\n padding: 9px 14px;\n font-size: 13px;\n color: #f3f3f2;\n outline: none;\n font-family: inherit;\n transition: border-color 0.2s;\n resize: none;\n min-height: 38px;\n max-height: 120px;\n line-height: 1.5;\n}\n.hsk-chat-input::placeholder {\n color: #555;\n}\n.hsk-chat-input:focus {\n border-color: var(--hsk-primary);\n}\n.hsk-chat-send {\n width: 34px;\n height: 34px;\n border-radius: 8px;\n background: var(--hsk-primary);\n border: none;\n color: #fff;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n font-size: 16px;\n transition: opacity 0.15s, transform 0.1s;\n}\n.hsk-chat-send:hover {\n opacity: 0.88;\n}\n.hsk-chat-send:active {\n transform: scale(0.93);\n}\n.hsk-chat-send:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.hsk-chat-reset {\n font-size: 11px;\n color: #555;\n cursor: pointer;\n padding: 0 4px;\n transition: color 0.15s;\n background: none;\n border: none;\n font-family: inherit;\n}\n.hsk-chat-reset:hover {\n color: var(--hsk-primary);\n}\n.hsk-chat-error {\n font-size: 12px;\n color: #ef4444;\n text-align: center;\n padding: 8px;\n}\n\n/* ─── AIChatButton ─── */\n.hsk-cb-btn {\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n display: inline-flex;\n align-items: center;\n gap: 7px;\n padding: 8px 16px;\n border-radius: 9999px;\n border: 1px solid rgba(255, 106, 51, 0.4);\n background: rgba(255, 106, 51, 0.1);\n color: var(--hsk-primary);\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: background .15s, border-color .15s, transform .12s, box-shadow .15s;\n font-family: inherit;\n white-space: nowrap;\n}\n.hsk-cb-btn:hover {\n background: rgba(255, 106, 51, 0.18);\n border-color: rgba(255, 106, 51, 0.7);\n box-shadow: 0 4px 16px rgba(255, 106, 51, 0.2);\n}\n.hsk-cb-btn:active {\n transform: scale(.95);\n}\n.hsk-cb-btn-icon {\n font-size: 15px;\n line-height: 1;\n display: flex;\n align-items: center;\n}\n.hsk-cb-overlay {\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n position: fixed;\n inset: 0;\n z-index: 99999;\n display: flex;\n flex-direction: column;\n animation: hsk-overlay-in .2s ease-out both;\n}\n@keyframes hsk-overlay-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n.hsk-cb-panel {\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n max-width: 780px;\n width: 100%;\n margin: 0 auto;\n animation: hsk-panel-in .28s cubic-bezier(.34,1.2,.64,1) both;\n}\n@keyframes hsk-panel-in {\n from { opacity: 0; transform: translateY(24px); }\n to { opacity: 1; transform: translateY(0); }\n}\n.hsk-cb-topbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 28px 12px;\n flex-shrink: 0;\n}\n.hsk-cb-topbar-left {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.hsk-cb-topbar-icon {\n font-size: 22px;\n color: var(--hsk-primary);\n line-height: 1;\n display: flex;\n align-items: center;\n animation: hsk-sparkle-spin 6s linear infinite;\n}\n@keyframes hsk-sparkle-spin {\n 0%, 100% { transform: rotate(0deg) scale(1); }\n 25% { transform: rotate(15deg) scale(1.1); }\n 75% { transform: rotate(-10deg) scale(.95); }\n}\n.hsk-cb-topbar-title {\n font-size: 16px;\n font-weight: 700;\n color: var(--hsk-chat-text, #111);\n letter-spacing: -.01em;\n}\n.hsk-cb-topbar-sub {\n font-size: 12px;\n color: var(--hsk-chat-muted, #888);\n margin-top: 2px;\n}\n.hsk-cb-topbar-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.hsk-cb-topbar-btn {\n height: 34px;\n padding: 0 14px;\n border-radius: 8px;\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));\n background: none;\n color: var(--hsk-chat-muted, #888);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all .15s;\n font-family: inherit;\n}\n.hsk-cb-topbar-btn:hover {\n border-color: var(--hsk-primary);\n color: var(--hsk-primary);\n}\n.hsk-cb-close {\n width: 34px; height: 34px;\n border-radius: 8px;\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));\n background: none;\n color: var(--hsk-chat-muted, #888);\n cursor: pointer;\n font-size: 20px;\n display: flex; align-items: center; justify-content: center;\n transition: all .15s;\n flex-shrink: 0;\n font-family: inherit;\n line-height: 1;\n}\n.hsk-cb-close:hover { border-color: var(--hsk-primary); color: var(--hsk-primary); }\n.hsk-cb-msgs {\n flex: 1;\n overflow-y: auto;\n padding: 8px 28px 0;\n display: flex;\n flex-direction: column;\n gap: 0;\n scroll-behavior: smooth;\n scrollbar-width: thin;\n scrollbar-color: var(--hsk-chat-divide, rgba(0,0,0,.1)) transparent;\n}\n.hsk-cb-empty {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 20px;\n padding: 60px 32px;\n text-align: center;\n}\n.hsk-cb-empty-icon {\n font-size: 48px;\n color: var(--hsk-primary);\n display: flex;\n align-items: center;\n animation: hsk-sparkle-spin 4s linear infinite;\n}\n.hsk-cb-empty-title {\n font-size: 26px;\n font-weight: 700;\n color: var(--hsk-chat-text, #111);\n letter-spacing: -.02em;\n}\n.hsk-cb-empty-sub {\n font-size: 14px;\n color: var(--hsk-chat-muted, #888);\n line-height: 1.7;\n max-width: 380px;\n}\n.hsk-cb-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n justify-content: center;\n margin-top: 4px;\n}\n.hsk-cb-chip {\n padding: 8px 16px;\n border-radius: 9999px;\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));\n background: var(--hsk-chat-source-bg, rgba(0,0,0,.03));\n color: var(--hsk-chat-text, #333);\n font-size: 13px;\n cursor: pointer;\n transition: all .15s;\n font-family: inherit;\n}\n.hsk-cb-chip:hover {\n border-color: var(--hsk-primary);\n color: var(--hsk-primary);\n background: rgba(255,106,51,.06);\n}\n.hsk-cb-msg-group {\n padding: 20px 0;\n border-bottom: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.05));\n animation: hsk-msg-in .22s ease-out both;\n}\n.hsk-cb-msg-group:last-child { border-bottom: none; }\n@keyframes hsk-msg-in {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n}\n.hsk-cb-user-msg {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 20px;\n}\n.hsk-cb-user-bubble {\n background: var(--hsk-primary);\n color: #fff;\n padding: 12px 20px;\n border-radius: 22px 22px 6px 22px;\n font-size: 15px;\n line-height: 1.6;\n max-width: 72%;\n font-weight: 500;\n}\n.hsk-cb-ai-msg {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n}\n.hsk-cb-ai-icon {\n width: 28px; height: 28px;\n border-radius: 50%;\n background: rgba(255,106,51,.12);\n border: 1px solid rgba(255,106,51,.25);\n color: var(--hsk-primary);\n font-size: 13px;\n display: flex; align-items: center; justify-content: center;\n flex-shrink: 0;\n margin-top: 2px;\n}\n.hsk-cb-ai-body { flex: 1; min-width: 0; }\n.hsk-cb-ai-text {\n font-size: 15px;\n line-height: 1.75;\n color: var(--hsk-chat-text, #111);\n white-space: pre-wrap;\n}\n.hsk-cb-sources-wrap {\n position: relative;\n margin-top: 20px;\n}\n.hsk-cb-sources {\n display: flex;\n flex-direction: row;\n gap: 14px;\n overflow-x: auto;\n scroll-snap-type: x mandatory;\n scrollbar-width: none;\n -ms-overflow-style: none;\n padding-bottom: 4px;\n}\n.hsk-cb-sources::-webkit-scrollbar { display: none; }\n.hsk-cb-sources-fade {\n position: absolute;\n right: 0; top: 0; bottom: 4px;\n width: 90px;\n pointer-events: none;\n}\n.hsk-cb-sources-next {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n width: 30px; height: 30px;\n border-radius: 50%;\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));\n background: var(--hsk-chat-bg, #0e0e0f);\n color: var(--hsk-chat-text, #eee);\n cursor: pointer;\n font-size: 16px;\n display: flex; align-items: center; justify-content: center;\n box-shadow: 0 2px 12px rgba(0,0,0,.2);\n transition: all .15s;\n z-index: 3;\n font-family: inherit;\n line-height: 1;\n}\n.hsk-cb-sources-next:hover { border-color: var(--hsk-primary); color: var(--hsk-primary); }\n.hsk-cb-source {\n flex: 0 0 188px;\n scroll-snap-align: start;\n border-radius: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n transition: transform .14s, opacity .14s;\n animation: hsk-card-in .26s ease-out both;\n overflow: visible;\n}\n@keyframes hsk-card-in {\n from { opacity: 0; transform: translateX(16px); }\n to { opacity: 1; transform: none; }\n}\n.hsk-cb-source:hover { transform: translateY(-3px); opacity: .92; }\n.hsk-cb-src-imgwrap {\n width: 188px;\n height: 188px;\n overflow: hidden;\n border-radius: 0;\n display: block;\n}\n.hsk-cb-src-imgwrap img {\n width: 100%; height: 100%;\n object-fit: cover;\n transition: transform .22s;\n display: block;\n}\n.hsk-cb-source:hover .hsk-cb-src-imgwrap img { transform: scale(1.05); }\n.hsk-cb-src-imgwrap-empty {\n width: 188px;\n height: 188px;\n background: var(--hsk-chat-divide, rgba(255,255,255,.06));\n display: flex; align-items: center; justify-content: center;\n color: var(--hsk-chat-muted, #555);\n font-size: 32px;\n}\n.hsk-cb-src-info {\n padding: 8px 2px 0;\n}\n.hsk-cb-src-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--hsk-chat-text, #eee);\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n.hsk-cb-src-price {\n font-size: 13px;\n color: var(--hsk-primary);\n font-weight: 700;\n margin-top: 3px;\n}\n.hsk-cb-selected-product {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n margin-top: 16px;\n padding: 14px;\n border: 1px solid var(--hsk-chat-divide, rgba(255,255,255,.08));\n border-left: 3px solid var(--hsk-primary);\n background: var(--hsk-chat-source-bg, rgba(255,255,255,.03));\n cursor: pointer;\n transition: border-color .15s;\n animation: hsk-msg-in .2s ease-out both;\n}\n.hsk-cb-selected-product:hover { border-left-color: rgba(255,106,51,.6); }\n.hsk-cb-selected-img {\n width: 64px; height: 64px;\n object-fit: cover;\n flex-shrink: 0;\n}\n.hsk-cb-selected-info { flex: 1; min-width: 0; }\n.hsk-cb-selected-name {\n font-size: 13px; font-weight: 700;\n color: var(--hsk-chat-text, #eee);\n margin-bottom: 3px;\n}\n.hsk-cb-selected-price {\n font-size: 13px; color: var(--hsk-primary); font-weight: 700;\n}\n.hsk-cb-typing-row {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n padding: 20px 0;\n}\n.hsk-cb-typing {\n display: flex;\n gap: 5px;\n padding: 14px 18px;\n}\n.hsk-cb-dot {\n width: 7px; height: 7px;\n border-radius: 50%;\n background: var(--hsk-chat-muted, #ccc);\n animation: hsk-dot-pulse 1.2s ease-in-out infinite;\n}\n.hsk-cb-dot:nth-child(2) { animation-delay: .18s; }\n.hsk-cb-dot:nth-child(3) { animation-delay: .36s; }\n@keyframes hsk-dot-pulse {\n 0%,100% { opacity: .3; transform: scale(.75); }\n 50% { opacity: 1; transform: scale(1); }\n}\n.hsk-cb-input-wrap {\n padding: 16px 28px 28px;\n flex-shrink: 0;\n}\n.hsk-cb-input-box {\n display: flex;\n align-items: flex-end;\n gap: 10px;\n background: var(--hsk-chat-input-bg, rgba(0,0,0,.04));\n border: 1.5px solid var(--hsk-chat-divide, rgba(0,0,0,.1));\n border-radius: 18px;\n padding: 14px 14px 14px 20px;\n transition: border-color .15s, box-shadow .15s;\n}\n.hsk-cb-input-box:focus-within {\n border-color: var(--hsk-primary);\n box-shadow: 0 0 0 3px rgba(255,106,51,.1);\n}\n.hsk-cb-textarea {\n flex: 1;\n background: transparent;\n border: none;\n outline: none;\n resize: none;\n font-size: 15px;\n color: var(--hsk-chat-text, #111);\n min-height: 24px;\n max-height: 140px;\n line-height: 1.55;\n font-family: inherit;\n}\n.hsk-cb-textarea::placeholder { color: var(--hsk-chat-muted, #aaa); }\n.hsk-cb-send {\n width: 38px; height: 38px;\n border-radius: 10px;\n background: var(--hsk-primary);\n border: none;\n color: #fff;\n cursor: pointer;\n font-size: 18px;\n display: flex; align-items: center; justify-content: center;\n flex-shrink: 0;\n transition: opacity .15s, transform .1s, background .15s;\n font-family: inherit;\n}\n.hsk-cb-send:hover { opacity: .88; }\n.hsk-cb-send:active { transform: scale(.9); }\n.hsk-cb-send:disabled { opacity: .3; cursor: not-allowed; background: var(--hsk-chat-muted, #ccc); }\n.hsk-cb-hint {\n text-align: center;\n font-size: 11px;\n color: var(--hsk-chat-muted, #bbb);\n margin-top: 10px;\n}\n.hsk-cb-error {\n margin: 8px 0;\n padding: 10px 14px;\n border-radius: 10px;\n background: rgba(239,68,68,.08);\n border: 1px solid rgba(239,68,68,.2);\n color: #ef4444;\n font-size: 13px;\n}\n@media (prefers-color-scheme: dark) {\n .hsk-cb-overlay {\n --hsk-chat-bg: #0e0e0f;\n --hsk-chat-text: #f0efed;\n --hsk-chat-muted: #555;\n --hsk-chat-divide: rgba(255,255,255,.07);\n --hsk-chat-input-bg: rgba(255,255,255,.05);\n --hsk-chat-source-bg: rgba(255,255,255,.04);\n --hsk-fade-bg: #0e0e0f;\n }\n .hsk-cb-overlay {\n background: rgba(0,0,0,.92) !important;\n }\n}\n@media (prefers-color-scheme: light) {\n .hsk-cb-overlay {\n --hsk-chat-bg: #fafafa;\n --hsk-chat-text: #111;\n --hsk-chat-muted: #999;\n --hsk-chat-divide: rgba(0,0,0,.08);\n --hsk-chat-input-bg: rgba(0,0,0,.04);\n --hsk-chat-source-bg: rgba(0,0,0,.025);\n --hsk-fade-bg: #fafafa;\n }\n .hsk-cb-overlay {\n background: rgba(240,240,244,.88) !important;\n }\n}\n\n/* ─── SearchBar ─── */\n.hsk-sb-wrap {\n --hsk-bg: #fff;\n --hsk-border: #d1d5db;\n --hsk-text: #111;\n --hsk-muted: #9ca3af;\n --hsk-hover: #f3f4f6;\n --hsk-drop-shadow: 0 8px 30px rgba(0,0,0,.12);\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n position: relative;\n width: 100%;\n font-family: inherit;\n}\n@media (prefers-color-scheme: dark) {\n .hsk-sb-wrap {\n --hsk-bg: #1a1a1b;\n --hsk-border: #2a2a2d;\n --hsk-text: #f3f3f2;\n --hsk-muted: #666;\n --hsk-hover: #1e1e1f;\n --hsk-drop-shadow: 0 12px 40px rgba(0,0,0,.5);\n }\n}\n.hsk-sb-input {\n width: 100%;\n padding: 10px 16px 10px 40px;\n font-size: 14px;\n border-radius: 9999px;\n border: 1.5px solid var(--hsk-border);\n outline: none;\n box-sizing: border-box;\n background: var(--hsk-bg);\n color: var(--hsk-text);\n transition: border-color .15s, box-shadow .15s;\n font-family: inherit;\n}\n.hsk-sb-input::placeholder { color: var(--hsk-muted); }\n.hsk-sb-input:focus {\n border-color: var(--hsk-primary);\n box-shadow: 0 0 0 3px rgba(255,106,51,.12);\n}\n.hsk-sb-icon {\n position: absolute;\n left: 14px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--hsk-muted);\n pointer-events: none;\n display: flex;\n align-items: center;\n}\n.hsk-sb-drop {\n position: absolute;\n top: calc(100% + 6px);\n left: 0; right: 0;\n background: var(--hsk-bg);\n border: 1px solid var(--hsk-border);\n border-radius: 12px;\n box-shadow: var(--hsk-drop-shadow);\n z-index: 9999;\n overflow: hidden;\n padding: 6px 0;\n}\n.hsk-sb-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 9px 16px;\n cursor: pointer;\n transition: background .1s;\n}\n.hsk-sb-row:hover { background: var(--hsk-hover); }\n.hsk-sb-row-icon {\n color: var(--hsk-muted);\n flex-shrink: 0;\n display: flex;\n align-items: center;\n}\n.hsk-sb-row-body { flex: 1; min-width: 0; }\n.hsk-sb-row-title {\n font-size: 13px;\n font-weight: 500;\n color: var(--hsk-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.3;\n}\n.hsk-sb-row-sub {\n font-size: 11px;\n color: var(--hsk-muted);\n margin-top: 2px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.hsk-sb-empty {\n padding: 14px 16px;\n font-size: 13px;\n color: var(--hsk-muted);\n}\n.hsk-sb-loading-bar {\n height: 2px;\n background: linear-gradient(90deg, transparent, var(--hsk-primary), transparent);\n background-size: 200% 100%;\n animation: hsk-sweep 0.9s linear infinite;\n position: absolute;\n top: 0; left: 0; right: 0;\n}\n@keyframes hsk-sweep {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n.hsk-sb-fade { animation: hsk-fin .1s ease-out both; }\n@keyframes hsk-fin { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:none; } }\n\n/* ─── Sparkle ─── */\n.hsk-sp-btn {\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 8px;\n border: 1px solid var(--hsk-sp-border, rgba(255,106,51,.35));\n background: var(--hsk-sp-bg, rgba(255,106,51,.08));\n color: var(--hsk-primary);\n cursor: pointer;\n font-size: 15px;\n line-height: 1;\n transition: background .15s, border-color .15s, transform .12s;\n flex-shrink: 0;\n padding: 0;\n}\n.hsk-sp-btn:hover {\n background: rgba(255,106,51,.18);\n border-color: rgba(255,106,51,.7);\n transform: scale(1.1);\n}\n.hsk-sp-btn:active { transform: scale(.92); }\n.hsk-sp-backdrop {\n position: fixed;\n inset: 0;\n z-index: 99998;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding: clamp(48px, 10vh, 96px) 16px 40px;\n animation: hsk-bd-in .2s ease-out both;\n overflow-y: auto;\n}\n@keyframes hsk-bd-in { from { opacity:0; } to { opacity:1; } }\n.hsk-sp-card {\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n width: 100%;\n max-width: 600px;\n border-radius: 18px;\n overflow: hidden;\n animation: hsk-card-in .24s cubic-bezier(.34,1.36,.64,1) both;\n flex-shrink: 0;\n background: var(--hsk-modal-card-bg, #fff);\n border: 1px solid var(--hsk-modal-card-border, rgba(0,0,0,.08));\n box-shadow: 0 32px 80px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.06);\n}\n@keyframes hsk-card-in {\n from { opacity:0; transform: scale(.96) translateY(-12px); }\n to { opacity:1; transform: scale(1) translateY(0); }\n}\n.hsk-sp-header {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 18px 20px 14px;\n border-bottom: 1px solid var(--hsk-modal-divide, rgba(0,0,0,.07));\n}\n.hsk-sp-header-icon { font-size: 18px; color: var(--hsk-primary); flex-shrink: 0; display: flex; align-items: center; }\n.hsk-sp-header-body { flex: 1; min-width: 0; }\n.hsk-sp-header-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--hsk-modal-text, #111);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.hsk-sp-header-sub {\n font-size: 11px;\n color: var(--hsk-modal-muted, #888);\n margin-top: 2px;\n}\n.hsk-sp-close {\n width: 30px; height: 30px;\n border-radius: 8px;\n border: 1px solid var(--hsk-modal-divide, rgba(0,0,0,.1));\n background: none;\n color: var(--hsk-modal-muted, #888);\n cursor: pointer;\n font-size: 18px;\n display: flex; align-items: center; justify-content: center;\n transition: all .15s;\n flex-shrink: 0;\n}\n.hsk-sp-close:hover { border-color: var(--hsk-primary); color: var(--hsk-primary); }\n.hsk-sp-bar {\n height: 2px;\n background: linear-gradient(90deg, transparent 0%, var(--hsk-primary) 40%, #ffaa80 60%, transparent 100%);\n background-size: 200% 100%;\n animation: hsk-bar .9s linear infinite;\n}\n@keyframes hsk-bar { 0%{background-position:200% 0} 100%{background-position:-200% 0} }\n.hsk-sp-results { padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }\n.hsk-sp-empty { padding: 40px; text-align: center; font-size: 13px; color: var(--hsk-modal-muted, #aaa); }\n.hsk-sp-item {\n display: flex;\n gap: 14px;\n padding: 14px;\n border-radius: 12px;\n border: 1px solid var(--hsk-modal-item-border, rgba(0,0,0,.07));\n background: var(--hsk-modal-item-bg, #f9f9f9);\n animation: hsk-toast-up .28s cubic-bezier(.22,.68,0,1.2) both;\n overflow: hidden;\n}\n@keyframes hsk-toast-up {\n from { opacity:0; transform: translateY(18px) scale(.97); }\n to { opacity:1; transform: translateY(0) scale(1); }\n}\n.hsk-sp-img-wrap {\n width: 72px; height: 72px;\n border-radius: 10px;\n background: #fff;\n border: 1px solid var(--hsk-modal-divide, rgba(0,0,0,.07));\n flex-shrink: 0;\n overflow: hidden;\n display: flex; align-items: center; justify-content: center;\n padding: 6px;\n}\n.hsk-sp-img-wrap img { max-width: 100%; max-height: 100%; object-fit: contain; }\n.hsk-sp-img-placeholder { font-size: 26px; }\n.hsk-sp-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }\n.hsk-sp-item-name {\n font-size: 14px;\n font-weight: 600;\n color: var(--hsk-modal-text, #111);\n line-height: 1.35;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.hsk-sp-item-cat {\n font-size: 11px;\n font-weight: 600;\n color: var(--hsk-primary);\n text-transform: uppercase;\n letter-spacing: .05em;\n}\n.hsk-sp-item-price-row { display: flex; align-items: baseline; gap: 8px; margin-top: 2px; }\n.hsk-sp-item-price {\n font-size: 18px;\n font-weight: 700;\n color: var(--hsk-modal-text, #111);\n}\n.hsk-sp-item-currency { font-size: 12px; color: var(--hsk-modal-muted, #888); }\n.hsk-sp-actions { display: flex; gap: 6px; margin-top: 8px; }\n.hsk-sp-action {\n flex: 1;\n padding: 7px 10px;\n border-radius: 8px;\n font-size: 12px;\n font-weight: 600;\n cursor: pointer;\n border: 1px solid transparent;\n transition: all .15s;\n text-align: center;\n font-family: inherit;\n}\n.hsk-sp-action-primary {\n background: var(--hsk-primary);\n color: #fff;\n border-color: var(--hsk-primary);\n}\n.hsk-sp-action-primary:hover { opacity: .88; }\n.hsk-sp-action-secondary {\n background: var(--hsk-action-sec-bg, rgba(0,0,0,.06));\n color: var(--hsk-modal-muted, #666);\n border-color: var(--hsk-modal-divide, rgba(0,0,0,.1));\n}\n.hsk-sp-action-secondary:hover {\n background: var(--hsk-action-sec-bg-hover, rgba(0,0,0,.1));\n color: var(--hsk-modal-text, #333);\n}\n.hsk-sp-footer {\n padding: 12px 20px;\n border-top: 1px solid var(--hsk-modal-divide, rgba(0,0,0,.07));\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.hsk-sp-badge {\n font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;\n color: var(--hsk-primary);\n background: rgba(255,106,51,.1);\n border: 1px solid rgba(255,106,51,.25);\n padding: 2px 8px;\n border-radius: 999px;\n}\n.hsk-sp-esc { font-size: 11px; color: var(--hsk-modal-muted, #bbb); margin-left: auto; }\n@media (prefers-color-scheme: dark) {\n .hsk-sp-card {\n --hsk-modal-card-bg: #111112;\n --hsk-modal-card-border: rgba(255,255,255,.07);\n --hsk-modal-text: #f3f3f2;\n --hsk-modal-muted: #666;\n --hsk-modal-divide: rgba(255,255,255,.07);\n --hsk-modal-item-bg: #1a1a1b;\n --hsk-modal-item-border: rgba(255,255,255,.06);\n --hsk-action-sec-bg: rgba(255,255,255,.07);\n --hsk-action-sec-bg-hover: rgba(255,255,255,.12);\n }\n .hsk-sp-img-wrap { background: #242425; border-color: rgba(255,255,255,.08); }\n}\n\n/* ─── Markdown Rendering Styles ─── */\n.hsk-markdown-p {\n margin: 0 0 8px 0;\n}\n.hsk-markdown-p:last-child {\n margin-bottom: 0;\n}\n.hsk-markdown-list {\n margin: 4px 0 8px 0;\n padding-left: 20px;\n list-style-type: disc;\n}\n.hsk-markdown-list li {\n margin-bottom: 4px;\n}\n.hsk-table-wrapper {\n overflow-x: auto;\n margin: 8px 0;\n border-radius: 6px;\n border: 1px solid var(--hsk-border, #2a2a2d);\n}\n.hsk-markdown-table {\n width: 100%;\n border-collapse: collapse;\n text-align: left;\n font-size: 0.9em;\n}\n.hsk-markdown-table th, .hsk-markdown-table td {\n padding: 6px 10px;\n border-bottom: 1px solid var(--hsk-border, #2a2a2d);\n}\n.hsk-markdown-table tr:last-child td {\n border-bottom: none;\n}\n.hsk-markdown-link {\n color: var(--hsk-primary, #ff6a33);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n.hsk-markdown-code {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 0.85em;\n background-color: rgba(128, 128, 128, 0.15); /* Subtle neutral background */\n padding: 0.2em 0.4em;\n border-radius: 4px;\n color: inherit;\n word-break: break-word; /* Prevents long variable names from breaking the bubble layout */\n}\n\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/styles.css"],"sourcesContent":["/* ==========================================================================\n Huskel AI SDK Styles\n ========================================================================== */\n\n:root {\n --hsk-border-radius: 0px;\n}\n\n/* ─── ChatWidget ─── */\n.hsk-chat-widget {\n --hsk-bg: var(--chat-bg-color, #ffffff);\n --hsk-text: var(--chat-text-color, #1f1f1f);\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n --hsk-font: var(--chat-font-family, inherit);\n\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 320px;\n font-family: var(--hsk-font);\n background: var(--hsk-bg);\n border: 1px solid #f1f3f4;\n border-radius: var(--hsk-border-radius, 0px);\n overflow: hidden;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-chat-widget {\n --hsk-bg: var(--chat-bg-color, #0a0a0a);\n --hsk-text: var(--chat-text-color, #e8eaed);\n border-color: #202124;\n }\n}\n\n.hsk-chat-header {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 14px 16px;\n border-bottom: 1px solid #f1f3f4;\n background: var(--hsk-bg);\n flex-shrink: 0;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-chat-header {\n border-bottom-color: #202124;\n }\n}\n\n.hsk-chat-header-icon {\n color: var(--hsk-primary);\n display: flex;\n align-items: center;\n}\n\n.hsk-chat-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--hsk-text);\n}\n\n.hsk-chat-badge {\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: var(--hsk-primary);\n background: rgba(255, 106, 51, 0.09);\n border: 1px solid rgba(255, 106, 51, 0.18);\n padding: 2px 8px;\n border-radius: var(--hsk-border-radius, 0px);\n}\n\n.hsk-chat-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n scroll-behavior: smooth;\n}\n\n.hsk-chat-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 8px;\n color: #555;\n font-size: 13px;\n text-align: center;\n padding: 24px;\n}\n\n.hsk-chat-empty-icon {\n font-size: 28px;\n margin-bottom: 4px;\n color: var(--hsk-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.hsk-chat-empty-suggestions {\n font-size: 12px;\n color: #666;\n margin-top: 4px;\n}\n\n.hsk-msg-row {\n display: flex;\n gap: 8px;\n align-items: flex-start;\n}\n\n.hsk-msg-row.user {\n flex-direction: row-reverse;\n}\n\n.hsk-msg-avatar {\n width: 28px;\n height: 28px;\n border-radius: var(--hsk-border-radius, 0px);\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 13px;\n font-weight: 700;\n}\n\n.hsk-msg-avatar.ai {\n background: rgba(255, 106, 51, 0.12);\n border: 1px solid rgba(255, 106, 51, 0.25);\n color: var(--hsk-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.hsk-msg-avatar.user {\n background: #f1f3f4;\n color: #5f6368;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-msg-avatar.user {\n background: #202124;\n color: #888;\n }\n}\n\n.hsk-msg-bubble {\n max-width: 78%;\n padding: 10px 14px;\n border-radius: var(--hsk-border-radius, 0px);\n font-size: 13px;\n line-height: 1.6;\n}\n\n.hsk-msg-bubble.ai {\n background: var(--hsk-bg);\n border: 1px solid #f1f3f4;\n color: var(--hsk-text);\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-msg-bubble.ai {\n border-color: #202124;\n }\n}\n\n.hsk-msg-bubble.user {\n background: var(--hsk-primary);\n color: #fff;\n}\n\n.hsk-sources-container {\n margin-left: 36px;\n}\n\n.hsk-sources {\n margin-top: 10px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.hsk-source-card {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 10px;\n background: #f8f9fa;\n border: 1px solid #f1f3f4;\n border-radius: var(--hsk-border-radius, 0px);\n cursor: pointer;\n transition: border-color 0.15s;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-source-card {\n background: #1a1a1b;\n border-color: #202124;\n }\n}\n\n.hsk-source-card:hover {\n border-color: rgba(255, 106, 51, 0.37);\n}\n\n.hsk-source-img {\n width: 36px;\n height: 36px;\n object-fit: cover;\n border-radius: var(--hsk-border-radius, 0px);\n background: #fff;\n}\n\n.hsk-source-name {\n font-size: 12px;\n font-weight: 500;\n color: var(--hsk-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.hsk-source-price {\n font-size: 11px;\n color: var(--hsk-primary);\n font-weight: 700;\n margin-top: 2px;\n}\n\n.hsk-typing {\n display: flex;\n gap: 4px;\n align-items: center;\n padding: 10px 14px;\n background: var(--hsk-bg);\n border: 1px solid #f1f3f4;\n border-radius: var(--hsk-border-radius, 0px);\n width: fit-content;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-typing {\n border-color: #202124;\n }\n}\n\n.hsk-typing-dot {\n width: 6px;\n height: 6px;\n background: var(--hsk-primary);\n border-radius: 50%;\n animation: hsk-chat-bounce 1.2s infinite;\n}\n\n.hsk-typing-dot:nth-child(2) {\n animation-delay: 0.2s;\n}\n\n.hsk-typing-dot:nth-child(3) {\n animation-delay: 0.4s;\n}\n\n@keyframes hsk-chat-bounce {\n 0%, 100% {\n opacity: 0.3;\n transform: translateY(0);\n }\n 50% {\n opacity: 1;\n transform: translateY(-4px);\n }\n}\n\n.hsk-chat-input-area {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 14px;\n border-top: 1px solid #f1f3f4;\n background: var(--hsk-bg);\n flex-shrink: 0;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-chat-input-area {\n border-top-color: #202124;\n }\n}\n\n.hsk-chat-input {\n flex: 1;\n background: #f1f3f4;\n border: 1px solid #f1f3f4;\n border-radius: var(--hsk-border-radius, 0px);\n padding: 9px 14px;\n font-size: 13px;\n color: var(--hsk-text);\n outline: none;\n font-family: inherit;\n transition: border-color 0.2s;\n resize: none;\n min-height: 38px;\n max-height: 120px;\n line-height: 1.5;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-chat-input {\n background: #1a1a1b;\n border-color: #202124;\n }\n}\n\n.hsk-chat-input::placeholder {\n color: #888;\n}\n\n.hsk-chat-input:focus {\n border-color: var(--hsk-primary);\n}\n\n.hsk-chat-send {\n width: 34px;\n height: 34px;\n border-radius: var(--hsk-border-radius, 0px);\n background: var(--hsk-primary);\n border: none;\n color: #fff;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n font-size: 16px;\n transition: opacity 0.15s, transform 0.1s;\n}\n\n.hsk-chat-send:hover {\n opacity: 0.88;\n}\n\n.hsk-chat-send:active {\n transform: scale(0.93);\n}\n\n.hsk-chat-send:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.hsk-chat-reset {\n font-size: 11px;\n color: #555;\n cursor: pointer;\n padding: 0 4px;\n transition: color 0.15s;\n background: none;\n border: none;\n font-family: inherit;\n}\n\n.hsk-chat-reset:hover {\n color: var(--hsk-primary);\n}\n\n.hsk-chat-error {\n font-size: 12px;\n color: #ef4444;\n text-align: center;\n padding: 8px;\n}\n\n\n/* ─── AIChatButton & ChatModal ─── */\n.hsk-cb-btn {\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n display: inline-flex;\n align-items: center;\n gap: 7px;\n padding: 8px 16px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid rgba(255, 106, 51, 0.4);\n background: rgba(255, 106, 51, 0.1);\n color: var(--hsk-primary);\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n transition: background .15s, border-color .15s, transform .12s, box-shadow .15s;\n font-family: inherit;\n white-space: nowrap;\n}\n\n.hsk-cb-btn:hover {\n background: rgba(255, 106, 51, 0.18);\n border-color: rgba(255, 106, 51, 0.7);\n box-shadow: 0 4px 16px rgba(255, 106, 51, 0.2);\n}\n\n.hsk-cb-btn:active {\n transform: scale(.95);\n}\n\n.hsk-cb-btn-icon {\n font-size: 15px;\n line-height: 1;\n display: flex;\n align-items: center;\n}\n\n.hsk-cb-overlay {\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n position: fixed;\n inset: 0;\n z-index: 99999;\n display: flex;\n flex-direction: column;\n animation: hsk-overlay-in .2s ease-out both;\n background: #ffffff !important;\n}\n\n@keyframes hsk-overlay-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.hsk-cb-panel {\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n max-width: 780px;\n width: 100%;\n margin: 0 auto;\n animation: hsk-panel-in .28s cubic-bezier(.34,1.2,.64,1) both;\n}\n\n@keyframes hsk-panel-in {\n from { opacity: 0; transform: translateY(24px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.hsk-cb-topbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 28px 12px;\n flex-shrink: 0;\n}\n\n.hsk-cb-topbar-left {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.hsk-cb-topbar-icon {\n font-size: 22px;\n color: var(--hsk-primary);\n line-height: 1;\n display: flex;\n align-items: center;\n animation: hsk-sparkle-spin 6s linear infinite;\n}\n\n@keyframes hsk-sparkle-spin {\n 0%, 100% { transform: rotate(0deg) scale(1); }\n 25% { transform: rotate(15deg) scale(1.1); }\n 75% { transform: rotate(-10deg) scale(.95); }\n}\n\n.hsk-cb-topbar-title {\n font-size: 16px;\n font-weight: 500;\n color: var(--hsk-chat-text, #1f1f1f);\n letter-spacing: -.01em;\n}\n\n.hsk-cb-topbar-sub {\n font-size: 12px;\n color: var(--hsk-chat-muted, #5f6368);\n margin-top: 2px;\n}\n\n.hsk-cb-topbar-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.hsk-cb-topbar-btn {\n height: 34px;\n padding: 0 14px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));\n background: none;\n color: var(--hsk-chat-muted, #5f6368);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all .15s;\n font-family: inherit;\n}\n\n.hsk-cb-topbar-btn:hover {\n border-color: var(--hsk-primary);\n color: var(--hsk-primary);\n}\n\n.hsk-cb-close {\n width: 34px; height: 34px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));\n background: none;\n color: var(--hsk-chat-muted, #5f6368);\n cursor: pointer;\n font-size: 20px;\n display: flex; align-items: center; justify-content: center;\n transition: all .15s;\n flex-shrink: 0;\n font-family: inherit;\n line-height: 1;\n}\n\n.hsk-cb-close:hover { border-color: var(--hsk-primary); color: var(--hsk-primary); }\n\n.hsk-cb-msgs {\n flex: 1;\n overflow-y: auto;\n padding: 8px 28px 0;\n display: flex;\n flex-direction: column;\n gap: 0;\n scroll-behavior: smooth;\n scrollbar-width: thin;\n scrollbar-color: var(--hsk-chat-divide, rgba(0,0,0,.1)) transparent;\n}\n\n.hsk-cb-empty {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 20px;\n padding: 60px 32px;\n text-align: center;\n background: radial-gradient(circle at center, rgba(var(--hsk-primary-rgb, 255, 106, 51), 0.08) 0%, transparent 60%);\n}\n\n.hsk-cb-empty-icon {\n font-size: 48px;\n color: var(--hsk-primary);\n display: flex;\n align-items: center;\n animation: hsk-sparkle-spin 4s linear infinite;\n}\n\n.hsk-cb-empty-title {\n font-size: 26px;\n font-weight: 500;\n color: var(--hsk-chat-text, #111);\n letter-spacing: -.02em;\n}\n\n.hsk-cb-empty-sub {\n font-size: 14px;\n color: var(--hsk-chat-muted, #5f6368);\n line-height: 1.7;\n max-width: 380px;\n}\n\n.hsk-cb-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n justify-content: center;\n margin-top: 4px;\n}\n\n.hsk-cb-chip {\n padding: 8px 16px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.1));\n background: var(--hsk-chat-source-bg, rgba(0,0,0,.03));\n color: var(--hsk-chat-text, #333);\n font-size: 13px;\n cursor: pointer;\n transition: all .15s;\n font-family: inherit;\n}\n\n.hsk-cb-chip:hover {\n border-color: var(--hsk-primary);\n color: var(--hsk-primary);\n background: rgba(255,106,51,.06);\n}\n\n.hsk-cb-msg-group {\n padding: 20px 0;\n border-bottom: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.05));\n animation: hsk-msg-in .22s ease-out both;\n}\n\n.hsk-cb-msg-group:last-child { border-bottom: none; }\n\n@keyframes hsk-msg-in {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.hsk-cb-user-msg {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 20px;\n}\n\n.hsk-cb-user-bubble {\n background: var(--hsk-primary);\n color: #fff;\n padding: 10px 16px;\n border-radius: var(--hsk-border-radius, 0px);\n font-size: 13px;\n line-height: 1.55;\n max-width: 72%;\n font-weight: 500;\n}\n\n.hsk-cb-ai-msg {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n}\n\n.hsk-cb-ai-icon {\n width: 28px; height: 28px;\n border-radius: var(--hsk-border-radius, 0px);\n background: rgba(255,106,51,.12);\n border: 1px solid rgba(255,106,51,.25);\n color: var(--hsk-primary);\n font-size: 13px;\n display: flex; align-items: center; justify-content: center;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.hsk-cb-ai-body { flex: 1; min-width: 0; }\n\n.hsk-cb-ai-text {\n font-size: 13px;\n line-height: 1.65;\n color: var(--hsk-chat-text, #111);\n white-space: pre-wrap;\n}\n\n.hsk-cb-sources-wrap {\n position: relative;\n margin-top: 20px;\n}\n\n.hsk-cb-sources {\n display: flex;\n flex-direction: row;\n gap: 14px;\n overflow-x: auto;\n scroll-snap-type: x mandatory;\n scrollbar-width: none;\n -ms-overflow-style: none;\n padding-bottom: 4px;\n}\n\n.hsk-cb-sources::-webkit-scrollbar { display: none; }\n\n.hsk-cb-sources-fade {\n position: absolute;\n right: 0; top: 0; bottom: 4px;\n width: 90px;\n pointer-events: none;\n}\n\n.hsk-cb-sources-next {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n width: 30px; height: 30px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.12));\n background: var(--hsk-chat-bg, #ffffff);\n color: var(--hsk-chat-text, #333);\n cursor: pointer;\n font-size: 16px;\n display: flex; align-items: center; justify-content: center;\n box-shadow: 0 2px 12px rgba(0,0,0,.1);\n transition: all .15s;\n z-index: 3;\n font-family: inherit;\n line-height: 1;\n}\n\n.hsk-cb-sources-next:hover { border-color: var(--hsk-primary); color: var(--hsk-primary); }\n\n.hsk-cb-source {\n flex: 0 0 188px;\n scroll-snap-align: start;\n border-radius: var(--hsk-border-radius, 0px);\n border: none;\n background: transparent;\n cursor: pointer;\n transition: transform .14s, opacity .14s;\n animation: hsk-card-in .26s ease-out both;\n overflow: visible;\n}\n\n@keyframes hsk-card-in {\n from { opacity: 0; transform: translateX(16px); }\n to { opacity: 1; transform: none; }\n}\n\n.hsk-cb-source:hover { transform: translateY(-3px); opacity: .92; }\n\n.hsk-cb-src-imgwrap {\n width: 188px;\n height: 188px;\n overflow: hidden;\n border-radius: var(--hsk-border-radius, 0px);\n display: block;\n}\n\n.hsk-cb-src-imgwrap img {\n width: 100%; height: 100%;\n object-fit: cover;\n transition: transform .22s;\n display: block;\n}\n\n.hsk-cb-source:hover .hsk-cb-src-imgwrap img { transform: scale(1.05); }\n\n.hsk-cb-src-imgwrap-empty {\n width: 188px;\n height: 188px;\n background: var(--hsk-chat-divide, rgba(0,0,0,.06));\n display: flex; align-items: center; justify-content: center;\n color: var(--hsk-chat-muted, #555);\n font-size: 32px;\n}\n\n.hsk-cb-src-info {\n padding: 8px 2px 0;\n}\n\n.hsk-cb-src-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--hsk-chat-text, #333);\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.hsk-cb-src-price {\n font-size: 13px;\n color: var(--hsk-primary);\n font-weight: 700;\n margin-top: 3px;\n}\n\n.hsk-cb-selected-product {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n margin-top: 16px;\n padding: 14px;\n border: 1px solid var(--hsk-chat-divide, rgba(0,0,0,.08));\n border-left: 3px solid var(--hsk-primary);\n background: var(--hsk-chat-source-bg, rgba(0,0,0,.03));\n cursor: pointer;\n transition: border-color .15s;\n animation: hsk-msg-in .2s ease-out both;\n}\n\n.hsk-cb-selected-product:hover { border-left-color: rgba(255,106,51,.6); }\n\n.hsk-cb-selected-img {\n width: 64px; height: 64px;\n object-fit: cover;\n flex-shrink: 0;\n}\n\n.hsk-cb-selected-info { flex: 1; min-width: 0; }\n\n.hsk-cb-selected-name {\n font-size: 13px; font-weight: 700;\n color: var(--hsk-chat-text, #111);\n margin-bottom: 3px;\n}\n\n.hsk-cb-selected-price {\n font-size: 13px; color: var(--hsk-primary); font-weight: 700;\n}\n\n.hsk-cb-typing-row {\n display: flex;\n align-items: flex-start;\n gap: 14px;\n padding: 20px 0;\n}\n\n.hsk-cb-typing {\n display: flex;\n gap: 5px;\n padding: 14px 18px;\n border-radius: var(--hsk-border-radius, 0px);\n}\n\n.hsk-cb-dot {\n width: 7px; height: 7px;\n border-radius: 50%;\n background: var(--hsk-chat-muted, #ccc);\n animation: hsk-dot-pulse 1.2s ease-in-out infinite;\n}\n\n.hsk-cb-dot:nth-child(2) { animation-delay: .18s; }\n\n.hsk-cb-dot:nth-child(3) { animation-delay: .36s; }\n\n@keyframes hsk-dot-pulse {\n 0%,100% { opacity: .3; transform: scale(.75); }\n 50% { opacity: 1; transform: scale(1); }\n}\n\n.hsk-cb-input-wrap {\n padding: 16px 28px 28px;\n flex-shrink: 0;\n}\n\n.hsk-cb-input-box {\n display: flex;\n align-items: flex-end;\n gap: 10px;\n background: var(--hsk-chat-input-bg, rgba(0,0,0,.04));\n border: 1.5px solid var(--hsk-chat-divide, rgba(0,0,0,.1));\n border-radius: var(--hsk-border-radius, 0px);\n padding: 14px 14px 14px 20px;\n transition: border-color .15s, box-shadow .15s;\n}\n\n.hsk-cb-input-box:focus-within {\n border-color: var(--hsk-primary);\n box-shadow: 0 0 0 3px rgba(255,106,51,.1);\n}\n\n.hsk-cb-textarea {\n flex: 1;\n background: transparent;\n border: none;\n outline: none;\n resize: none;\n font-size: 13px;\n color: var(--hsk-chat-text, #111);\n min-height: 24px;\n max-height: 140px;\n line-height: 1.5;\n font-family: inherit;\n}\n\n.hsk-cb-textarea::placeholder { color: var(--hsk-chat-muted, #aaa); }\n\n.hsk-cb-send {\n width: 38px; height: 38px;\n border-radius: var(--hsk-border-radius, 0px);\n background: var(--hsk-primary);\n border: none;\n color: #fff;\n cursor: pointer;\n font-size: 18px;\n display: flex; align-items: center; justify-content: center;\n flex-shrink: 0;\n transition: opacity .15s, transform .1s, background .15s;\n font-family: inherit;\n}\n\n.hsk-cb-send:hover { opacity: .88; }\n\n.hsk-cb-send:active { transform: scale(.9); }\n\n.hsk-cb-send:disabled { opacity: .3; cursor: not-allowed; background: var(--hsk-chat-muted, #ccc); }\n\n.hsk-cb-hint {\n text-align: center;\n font-size: 10px;\n color: var(--hsk-chat-muted, #bbb);\n margin-top: 10px;\n}\n\n.hsk-cb-error {\n margin: 8px 0;\n padding: 10px 14px;\n border-radius: var(--hsk-border-radius, 0px);\n background: rgba(239,68,68,.08);\n border: 1px solid rgba(239,68,68,.2);\n color: #ef4444;\n font-size: 13px;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-cb-overlay {\n --hsk-chat-bg: #0a0a0a;\n --hsk-chat-text: #f0efed;\n --hsk-chat-muted: #888;\n --hsk-chat-divide: rgba(255,255,255,.07);\n --hsk-chat-input-bg: rgba(255,255,255,.05);\n --hsk-chat-source-bg: rgba(255,255,255,.04);\n --hsk-fade-bg: #0a0a0a;\n background: #000000 !important;\n }\n .hsk-cb-topbar-title { color: #f0efed; }\n .hsk-cb-topbar-sub { color: #888; }\n .hsk-cb-topbar-btn { border-color: rgba(255,255,255,.07); color: #888; }\n .hsk-cb-close { border-color: rgba(255,255,255,.07); color: #888; }\n .hsk-cb-empty-title { color: #f0efed; }\n .hsk-cb-empty-sub { color: #888; }\n .hsk-cb-chip { border-color: rgba(255,255,255,.07); background: rgba(255,255,255,.04); color: #f0efed; }\n .hsk-cb-chip:hover { background: rgba(255,106,51,.06); }\n .hsk-cb-msg-group { border-bottom-color: rgba(255,255,255,.05); }\n .hsk-cb-user-bubble { color: #fff; }\n .hsk-cb-ai-icon { background: rgba(255,106,51,.12); border-color: rgba(255,106,51,.25); }\n .hsk-cb-ai-text { color: #f0efed; }\n .hsk-cb-sources-next { border-color: rgba(255,255,255,.12); background: #0a0a0a; color: #f0efed; }\n .hsk-cb-src-imgwrap-empty { background: rgba(255,255,255,.06); color: #555; }\n .hsk-cb-src-name { color: #f0efed; }\n .hsk-cb-selected-product { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.03); }\n .hsk-cb-selected-name { color: #f0efed; }\n .hsk-cb-dot { background: #555; }\n .hsk-cb-input-box { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.07); }\n .hsk-cb-textarea { color: #f0efed; }\n .hsk-cb-textarea::placeholder { color: #555; }\n .hsk-cb-send:disabled { background: #555; }\n .hsk-cb-hint { color: #555; }\n}\n\n@media (prefers-color-scheme: light) {\n .hsk-cb-overlay {\n --hsk-chat-bg: #ffffff;\n --hsk-chat-text: #1f1f1f;\n --hsk-chat-muted: #5f6368;\n --hsk-chat-divide: #f1f3f4;\n --hsk-chat-input-bg: #f1f3f4;\n --hsk-chat-source-bg: #f8f9fa;\n --hsk-fade-bg: #ffffff;\n background: #ffffff !important;\n }\n}\n\n\n/* ─── SearchBar ─── */\n.hsk-sb-wrap {\n --hsk-bg: #ffffff;\n --hsk-border: #f1f3f4;\n --hsk-text: #1f1f1f;\n --hsk-muted: #5f6368;\n --hsk-hover: #f8f9fa;\n --hsk-drop-shadow: 0 8px 30px rgba(0,0,0,.06);\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n position: relative;\n width: 100%;\n font-family: inherit;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-sb-wrap {\n --hsk-bg: #0a0a0a;\n --hsk-border: #202124;\n --hsk-text: #e8eaed;\n --hsk-muted: #888;\n --hsk-hover: #1a1a1b;\n --hsk-drop-shadow: 0 12px 40px rgba(0,0,0,.4);\n }\n}\n\n.hsk-sb-input {\n width: 100%;\n padding: 10px 16px 10px 40px;\n font-size: 14px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1.5px solid var(--hsk-border);\n outline: none;\n box-sizing: border-box;\n background: var(--hsk-bg);\n color: var(--hsk-text);\n transition: border-color .15s, box-shadow .15s;\n font-family: inherit;\n}\n\n.hsk-sb-input::placeholder { color: var(--hsk-muted); }\n\n.hsk-sb-input:focus {\n border-color: var(--hsk-primary);\n box-shadow: 0 0 0 3px rgba(255,106,51,.12);\n}\n\n.hsk-sb-icon {\n position: absolute;\n left: 14px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--hsk-muted);\n pointer-events: none;\n display: flex;\n align-items: center;\n}\n\n.hsk-sb-drop {\n position: absolute;\n top: calc(100% + 6px);\n left: 0; right: 0;\n background: var(--hsk-bg);\n border: 1px solid var(--hsk-border);\n border-radius: var(--hsk-border-radius, 0px);\n box-shadow: var(--hsk-drop-shadow);\n z-index: 9999;\n overflow: hidden;\n padding: 6px 0;\n}\n\n.hsk-sb-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 9px 16px;\n cursor: pointer;\n transition: background .1s;\n}\n\n.hsk-sb-row:hover { background: var(--hsk-hover); }\n\n.hsk-sb-row-icon {\n color: var(--hsk-muted);\n flex-shrink: 0;\n display: flex;\n align-items: center;\n}\n\n.hsk-sb-row-body { flex: 1; min-width: 0; }\n\n.hsk-sb-row-title {\n font-size: 13px;\n font-weight: 500;\n color: var(--hsk-text);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.3;\n}\n\n.hsk-sb-row-sub {\n font-size: 11px;\n color: var(--hsk-muted);\n margin-top: 2px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.hsk-sb-empty {\n padding: 14px 16px;\n font-size: 13px;\n color: var(--hsk-muted);\n}\n\n.hsk-sb-loading-bar {\n height: 2px;\n background: linear-gradient(90deg, transparent, var(--hsk-primary), transparent);\n background-size: 200% 100%;\n animation: hsk-sweep 0.9s linear infinite;\n position: absolute;\n top: 0; left: 0; right: 0;\n}\n\n@keyframes hsk-sweep {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n}\n\n.hsk-sb-fade { animation: hsk-fin .1s ease-out both; }\n@keyframes hsk-fin { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:none; } }\n\n\n/* ─── Sparkle split-pane Modal ─── */\n.hsk-sp-btn {\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid var(--hsk-sp-border, rgba(255,106,51,.35));\n background: var(--hsk-sp-bg, rgba(255,106,51,.08));\n color: var(--hsk-primary);\n cursor: pointer;\n font-size: 15px;\n line-height: 1;\n transition: background .15s, border-color .15s, transform .12s;\n flex-shrink: 0;\n padding: 0;\n}\n\n.hsk-sp-btn:hover {\n background: rgba(255,106,51,.18);\n border-color: rgba(255,106,51,.7);\n transform: scale(1.1);\n}\n\n.hsk-sp-btn:active { transform: scale(.92); }\n\n.hsk-sp-backdrop {\n position: fixed;\n inset: 0;\n z-index: 99998;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n animation: hsk-bd-in .2s ease-out both;\n background: #ffffff !important;\n}\n\n@keyframes hsk-bd-in { from { opacity:0; } to { opacity:1; } }\n\n.hsk-sp-card {\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n width: 100%;\n max-width: 600px;\n border-radius: var(--hsk-border-radius, 0px);\n overflow: hidden;\n animation: hsk-card-in .24s cubic-bezier(.34,1.36,.64,1) both;\n flex-shrink: 0;\n background: var(--hsk-modal-card-bg, #ffffff);\n border: 1px solid var(--hsk-modal-card-border, #f1f3f4);\n box-shadow: 0 32px 80px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);\n display: flex;\n flex-direction: column;\n}\n\n.hsk-sp-card.hsk-sp-fullscreen {\n max-width: 1000px;\n width: 90vw;\n height: 85vh;\n max-height: 800px;\n}\n\n@media (max-width: 768px) {\n .hsk-sp-card.hsk-sp-fullscreen {\n width: 95vw;\n height: 90vh;\n max-height: none;\n }\n}\n\n@keyframes hsk-card-in {\n from { opacity:0; transform: scale(.96) translateY(-12px); }\n to { opacity:1; transform: scale(1) translateY(0); }\n}\n\n.hsk-sp-header {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 18px 20px 14px;\n border-bottom: 1px solid var(--hsk-modal-divide, #f1f3f4);\n flex-shrink: 0;\n}\n\n.hsk-sp-header-icon { font-size: 18px; color: var(--hsk-primary); flex-shrink: 0; display: flex; align-items: center; }\n.hsk-sp-header-body { flex: 1; min-width: 0; }\n\n.hsk-sp-header-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--hsk-modal-text, #1f1f1f);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.hsk-sp-header-sub {\n font-size: 11px;\n color: var(--hsk-modal-muted, #5f6368);\n margin-top: 2px;\n}\n\n.hsk-sp-close {\n width: 30px; height: 30px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid var(--hsk-modal-divide, #f1f3f4);\n background: none;\n color: var(--hsk-modal-muted, #5f6368);\n cursor: pointer;\n font-size: 18px;\n display: flex; align-items: center; justify-content: center;\n transition: all .15s;\n flex-shrink: 0;\n}\n\n.hsk-sp-close:hover { border-color: var(--hsk-primary); color: var(--hsk-primary); }\n\n.hsk-sp-bar {\n height: 2px;\n background: linear-gradient(90deg, transparent 0%, var(--hsk-primary) 40%, #ffaa80 60%, transparent 100%);\n background-size: 200% 100%;\n animation: hsk-bar .9s linear infinite;\n flex-shrink: 0;\n}\n\n@keyframes hsk-bar { 0%{background-position:200% 0} 100%{background-position:-200% 0} }\n\n.hsk-sp-body {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n.hsk-sp-details-pane {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n border-right: 1px solid var(--hsk-modal-divide, #f1f3f4);\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.hsk-sp-chat-pane {\n flex: 1.2;\n display: flex;\n flex-direction: column;\n background: var(--hsk-chat-bg, #ffffff);\n}\n\n.hsk-sp-product-profile {\n display: flex;\n gap: 20px;\n}\n\n@media (max-width: 480px) {\n .hsk-sp-product-profile {\n flex-direction: column;\n }\n}\n\n.hsk-sp-details-imgwrap {\n width: 140px;\n height: 140px;\n flex-shrink: 0;\n border: 1px solid var(--hsk-modal-divide, #f1f3f4);\n background: #ffffff;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 8px;\n border-radius: var(--hsk-border-radius, 0px);\n}\n\n.hsk-sp-details-imgwrap img {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n}\n\n.hsk-sp-details-meta {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.hsk-sp-details-name {\n font-size: 20px;\n font-weight: 700;\n color: var(--hsk-modal-text, #1f1f1f);\n margin: 0;\n line-height: 1.3;\n}\n\n.hsk-sp-details-desc {\n margin-top: 12px;\n}\n\n.hsk-sp-details-desc h4 {\n font-size: 13px;\n font-weight: 600;\n color: var(--hsk-modal-text, #1f1f1f);\n margin: 0 0 4px 0;\n}\n\n.hsk-sp-details-desc p {\n font-size: 13px;\n line-height: 1.5;\n color: var(--hsk-modal-muted, #5f6368);\n margin: 0;\n}\n\n.hsk-sp-similar-section {\n border-top: 1px solid var(--hsk-modal-divide, #f1f3f4);\n padding-top: 20px;\n}\n\n.hsk-sp-similar-section h3 {\n font-size: 14px;\n font-weight: 600;\n color: var(--hsk-modal-text, #1f1f1f);\n margin: 0 0 12px 0;\n}\n\n.hsk-sp-results {\n padding: 10px 0;\n display: flex;\n flex-direction: row;\n gap: 12px;\n overflow-x: auto;\n scroll-snap-type: x mandatory;\n padding-bottom: 8px;\n}\n.hsk-sp-empty { padding: 40px; text-align: center; font-size: 13px; color: var(--hsk-modal-muted, #999); }\n\n.hsk-sp-item {\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 12px;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid var(--hsk-modal-item-border, #f1f3f4);\n background: var(--hsk-modal-item-bg, #f8f9fa);\n animation: hsk-toast-up .28s cubic-bezier(.22,.68,0,1.2) both;\n overflow: hidden;\n flex: 0 0 170px;\n scroll-snap-align: start;\n}\n\n@keyframes hsk-toast-up {\n from { opacity:0; transform: translateY(18px) scale(.97); }\n to { opacity:1; transform: translateY(0) scale(1); }\n}\n\n.hsk-sp-img-wrap {\n width: 100%;\n height: 120px;\n border-radius: var(--hsk-border-radius, 0px);\n background: #fff;\n border: 1px solid var(--hsk-modal-divide, #f1f3f4);\n flex-shrink: 0;\n overflow: hidden;\n display: flex; align-items: center; justify-content: center;\n padding: 6px;\n}\n\n.hsk-sp-img-wrap img { max-width: 100%; max-height: 100%; object-fit: contain; }\n.hsk-sp-img-placeholder { font-size: 26px; }\n\n.hsk-sp-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; }\n\n.hsk-sp-item-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--hsk-modal-text, #1f1f1f);\n line-height: 1.35;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.hsk-sp-item-cat {\n font-size: 11px;\n font-weight: 600;\n color: var(--hsk-primary);\n text-transform: uppercase;\n letter-spacing: .05em;\n}\n\n.hsk-sp-item-price-row { display: flex; align-items: baseline; gap: 4px; margin-top: 2px; flex-wrap: wrap; }\n\n.hsk-sp-item-price {\n font-size: 15px;\n font-weight: 700;\n color: var(--hsk-modal-text, #1f1f1f);\n}\n\n.hsk-sp-item-currency { font-size: 11px; color: var(--hsk-modal-muted, #5f6368); }\n.hsk-sp-actions { display: flex; gap: 6px; margin-top: auto; }\n\n.hsk-sp-action {\n flex: 1;\n padding: 6px 8px;\n border-radius: var(--hsk-border-radius, 0px);\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n border: 1px solid transparent;\n transition: all .15s;\n text-align: center;\n font-family: inherit;\n}\n\n.hsk-sp-action-primary {\n background: var(--hsk-primary);\n color: #fff;\n border-color: var(--hsk-primary);\n}\n\n.hsk-sp-action-primary:hover { opacity: .88; }\n\n.hsk-sp-action-secondary {\n background: var(--hsk-action-sec-bg, #f1f3f4);\n color: var(--hsk-modal-muted, #5f6368);\n border-color: var(--hsk-modal-divide, #f1f3f4);\n}\n\n.hsk-sp-action-secondary:hover {\n background: var(--hsk-action-sec-bg-hover, #e8eaed);\n color: var(--hsk-modal-text, #1f1f1f);\n}\n\n.hsk-sp-footer {\n padding: 12px 20px;\n border-top: 1px solid var(--hsk-modal-divide, #f1f3f4);\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.hsk-sp-badge {\n font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;\n color: var(--hsk-primary);\n background: rgba(255,106,51,.1);\n border: 1px solid rgba(255,106,51,.25);\n padding: 2px 8px;\n border-radius: var(--hsk-border-radius, 0px);\n}\n\n.hsk-sp-esc { font-size: 11px; color: var(--hsk-modal-muted, #5f6368); margin-left: auto; }\n\n@media (max-width: 768px) {\n .hsk-sp-body {\n flex-direction: column;\n overflow-y: auto;\n }\n .hsk-sp-details-pane {\n border-right: none;\n border-bottom: 1px solid var(--hsk-modal-divide, #f1f3f4);\n flex: none;\n }\n .hsk-sp-chat-pane {\n flex: none;\n height: 400px;\n }\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-sp-backdrop {\n background: #000000 !important;\n }\n .hsk-sp-card {\n --hsk-modal-card-bg: #0a0a0a;\n --hsk-modal-card-border: #202124;\n --hsk-modal-text: #e8eaed;\n --hsk-modal-muted: #888;\n --hsk-modal-divide: #202124;\n --hsk-modal-item-bg: #1a1a1b;\n --hsk-modal-item-border: #202124;\n --hsk-action-sec-bg: #202124;\n --hsk-action-sec-bg-hover: #2d2f34;\n }\n .hsk-sp-details-imgwrap { background: #202124; border-color: #202124; }\n .hsk-sp-img-wrap { background: #202124; border-color: #202124; }\n .hsk-sp-chat-pane {\n background: var(--hsk-chat-bg, #0a0a0a);\n }\n}\n\n@media (prefers-color-scheme: light) {\n .hsk-sp-backdrop {\n background: #ffffff !important;\n }\n}\n\n/* ─── Markdown Rendering Styles ─── */\n.hsk-markdown-p {\n margin: 0 0 8px 0;\n}\n\n.hsk-markdown-p:last-child {\n margin-bottom: 0;\n}\n\n.hsk-markdown-list {\n margin: 4px 0 8px 0;\n padding-left: 20px;\n list-style-type: disc;\n}\n\n.hsk-markdown-list li {\n margin-bottom: 4px;\n}\n\n.hsk-table-wrapper {\n overflow-x: auto;\n margin: 8px 0;\n border-radius: var(--hsk-border-radius, 0px);\n border: 1px solid var(--hsk-border, #f1f3f4);\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-table-wrapper {\n border-color: #202124;\n }\n}\n\n.hsk-markdown-table {\n width: 100%;\n border-collapse: collapse;\n text-align: left;\n font-size: 0.9em;\n}\n\n.hsk-markdown-table th, .hsk-markdown-table td {\n padding: 6px 10px;\n border-bottom: 1px solid var(--hsk-border, #f1f3f4);\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-markdown-table th, .hsk-markdown-table td {\n border-bottom-color: #202124;\n }\n}\n\n.hsk-markdown-table tr:last-child td {\n border-bottom: none;\n}\n\n.hsk-markdown-link {\n color: var(--hsk-primary, #ff6a33);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.hsk-markdown-code {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 0.85em;\n background-color: rgba(128, 128, 128, 0.15);\n padding: 0.2em 0.4em;\n border-radius: var(--hsk-border-radius, 0px);\n color: inherit;\n word-break: break-word;\n}\n\n/* ─── Rich product picked details & specs styles ─── */\n.hsk-sp-item-original-price {\n font-size: 12px;\n text-decoration: line-through;\n color: var(--hsk-modal-muted, #888);\n margin-left: 6px;\n}\n\n.hsk-sp-item-discount {\n font-size: 11px;\n font-weight: 600;\n color: #10b981;\n margin-left: 6px;\n}\n\n.hsk-sp-item-meta-badges {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 6px;\n}\n\n.hsk-sp-meta-badge {\n font-size: 11px;\n font-weight: 500;\n padding: 3px 8px;\n border-radius: var(--hsk-border-radius, 0px);\n background: var(--hsk-modal-item-bg, #f8f9fa);\n border: 1px solid var(--hsk-modal-divide, #f1f3f4);\n color: var(--hsk-modal-muted, #5f6368);\n}\n\n.hsk-sp-meta-badge-rating {\n color: #f59e0b;\n background: rgba(245, 158, 11, 0.08);\n border-color: rgba(245, 158, 11, 0.2);\n}\n\n.hsk-sp-meta-badge-avail.in-stock {\n color: #10b981;\n background: rgba(16, 185, 129, 0.08);\n border-color: rgba(16, 185, 129, 0.2);\n}\n\n.hsk-sp-meta-badge-avail.out-stock {\n color: #ef4444;\n background: rgba(239, 68, 68, 0.08);\n border-color: rgba(239, 68, 68, 0.2);\n}\n\n.hsk-sp-item-brand {\n font-size: 11px;\n font-weight: 700;\n color: var(--hsk-modal-muted, #888);\n text-transform: uppercase;\n letter-spacing: .05em;\n margin-bottom: -2px;\n}\n\n.hsk-sp-details-specs {\n margin-top: 20px;\n border-top: 1px solid var(--hsk-modal-divide, #f1f3f4);\n padding-top: 20px;\n}\n\n.hsk-sp-details-specs h4 {\n font-size: 13px;\n font-weight: 600;\n color: var(--hsk-modal-text, #1f1f1f);\n margin: 0 0 10px 0;\n}\n\n.hsk-sp-specs-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n gap: 8px;\n}\n\n.hsk-sp-spec-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 12px;\n background: var(--hsk-modal-item-bg, #f8f9fa);\n border: 1px solid var(--hsk-modal-divide, #f1f3f4);\n border-radius: var(--hsk-border-radius, 0px);\n font-size: 12px;\n gap: 8px;\n}\n\n.hsk-sp-spec-label {\n font-weight: 500;\n color: var(--hsk-modal-muted, #888);\n}\n\n.hsk-sp-spec-value {\n font-weight: 600;\n color: var(--hsk-modal-text, #1f1f1f);\n text-align: right;\n max-width: 60%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-sp-details-specs {\n border-top-color: #202124;\n }\n .hsk-sp-spec-row {\n background: #1a1a1b;\n border-color: #202124;\n }\n}\n\n/* ─── Webkit Custom Scrollbar Override (faint scrollbar) ─── */\n.hsk-chat-widget ::-webkit-scrollbar,\n.hsk-sp-card ::-webkit-scrollbar,\n.hsk-cb-msgs ::-webkit-scrollbar,\n.hsk-sp-details-pane ::-webkit-scrollbar,\n.hsk-sp-results ::-webkit-scrollbar,\n.hsk-chat-messages ::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n\n.hsk-chat-widget ::-webkit-scrollbar-track,\n.hsk-sp-card ::-webkit-scrollbar-track,\n.hsk-cb-msgs ::-webkit-scrollbar-track,\n.hsk-sp-details-pane ::-webkit-scrollbar-track,\n.hsk-sp-results ::-webkit-scrollbar-track,\n.hsk-chat-messages ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.hsk-chat-widget ::-webkit-scrollbar-thumb,\n.hsk-sp-card ::-webkit-scrollbar-thumb,\n.hsk-cb-msgs ::-webkit-scrollbar-thumb,\n.hsk-sp-details-pane ::-webkit-scrollbar-thumb,\n.hsk-sp-results ::-webkit-scrollbar-thumb,\n.hsk-chat-messages ::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.08);\n border-radius: 10px;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-chat-widget ::-webkit-scrollbar-thumb,\n .hsk-sp-card ::-webkit-scrollbar-thumb,\n .hsk-cb-msgs ::-webkit-scrollbar-thumb,\n .hsk-sp-details-pane ::-webkit-scrollbar-thumb,\n .hsk-sp-results ::-webkit-scrollbar-thumb,\n .hsk-chat-messages ::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.08);\n }\n}\n\n/* Firefox scrollbar compatibility */\n.hsk-cb-msgs, .hsk-sp-details-pane, .hsk-sp-results, .hsk-chat-messages {\n scrollbar-width: thin;\n scrollbar-color: rgba(0, 0, 0, 0.08) transparent;\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-cb-msgs, .hsk-sp-details-pane, .hsk-sp-results, .hsk-chat-messages {\n scrollbar-color: rgba(255, 255, 255, 0.08) transparent;\n }\n}\n\n/* Horizontal specs style overrides */\n.hsk-sp-specs-horizontal {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 12px;\n}\n\n.hsk-sp-spec-item-horizontal {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px;\n background: var(--hsk-modal-item-bg, #f8f9fa);\n border: 1px solid var(--hsk-modal-divide, #f1f3f4);\n border-radius: var(--hsk-border-radius, 0px);\n font-size: 11px;\n}\n\n.hsk-sp-spec-label-horizontal {\n font-weight: 500;\n color: var(--hsk-modal-muted, #888);\n}\n\n.hsk-sp-spec-value-horizontal {\n font-weight: 600;\n color: var(--hsk-modal-text, #1f1f1f);\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-sp-spec-item-horizontal {\n background: #1a1a1b;\n border-color: #202124;\n }\n}\n\n/* --- Cart Drawer Bottom Sheet --- */\n.hsk-cart-backdrop {\n position: fixed;\n inset: 0;\n background: rgba(0,0,0,0.4);\n backdrop-filter: blur(4px);\n -webkit-backdrop-filter: blur(4px);\n z-index: 99999;\n display: flex;\n align-items: flex-end;\n justify-content: center;\n animation: hskFadeIn 0.3s ease forwards;\n}\n\n.hsk-cart-bottom-sheet {\n --hsk-bg: var(--bg, var(--background, #ffffff));\n --hsk-text: var(--text-primary, var(--foreground, #18181b));\n --hsk-border: var(--border, var(--borders, #f4f4f5));\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n --hsk-primary-color: var(--hsk-primary);\n --hsk-hover: var(--surface, var(--hsk-border, #f4f4f5));\n --hsk-muted: var(--text-muted, var(--accent, #71717a));\n\n width: 100%;\n max-width: 600px;\n background: var(--hsk-bg);\n color: var(--hsk-text);\n border-radius: 24px 24px 0 0;\n padding: 24px;\n box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.1);\n transform: translateY(100%);\n animation: hskSlideUp 0.4s cubic-bezier(0.32, 0.72, 0, 1) forwards;\n display: flex;\n flex-direction: column;\n max-height: 85vh;\n z-index: 100000;\n border-top: 1px solid var(--hsk-border);\n}\n\n@keyframes hskSlideUp {\n from { transform: translateY(100%); }\n to { transform: translateY(0); }\n}\n\n@keyframes hskFadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes hskSlideUpCenter {\n to { transform: translateY(0) scale(1); opacity: 1; }\n}\n\n.hsk-cart-sheet-handle {\n display: none;\n}\n[data-hsk-theme=\"dark\"] .hsk-cart-sheet-handle {\n display: none;\n}\n\n.hsk-cart-sheet-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n}\n\n.hsk-cart-sheet-header h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n}\n\n.hsk-close-btn {\n background: none;\n border: none;\n font-size: 24px;\n cursor: pointer;\n color: var(--hsk-muted);\n padding: 0;\n line-height: 1;\n}\n\n.hsk-cart-sheet-content {\n flex: 1;\n overflow-y: auto;\n margin-bottom: 20px;\n}\n\n.hsk-cart-empty, .hsk-cart-loading {\n text-align: center;\n padding: 40px 0;\n color: #71717a;\n}\n\n.hsk-cart-items {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.hsk-cart-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--hsk-border, #f4f4f5);\n}\n\n.hsk-cart-item-img {\n width: 56px;\n height: 56px;\n border-radius: 8px;\n object-fit: cover;\n background: var(--hsk-border, #f4f4f5);\n}\n\n.hsk-cart-item-info {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.hsk-cart-item-name {\n font-weight: 500;\n font-size: 14px;\n color: var(--hsk-text, #18181b);\n}\n\n.hsk-cart-item-price {\n color: var(--hsk-muted, #71717a);\n font-size: 14px;\n}\n\n.hsk-cart-item-qty {\n font-weight: 600;\n font-size: 14px;\n background: var(--hsk-hover, #f4f4f5);\n color: var(--hsk-text, #18181b);\n padding: 4px 10px;\n border-radius: 12px;\n}\n\n.hsk-cart-sheet-footer {\n padding-top: 16px;\n border-top: 1px solid var(--hsk-border, #f4f4f5);\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.hsk-cart-total {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-weight: 700;\n font-size: 18px;\n color: var(--hsk-text, #18181b);\n}\n\n.hsk-checkout-btn {\n background: var(--hsk-primary-color, #ff6a33);\n color: white;\n border: none;\n padding: 16px;\n border-radius: 12px;\n font-size: 16px;\n font-weight: 600;\n cursor: pointer;\n transition: opacity 0.2s;\n width: 100%;\n}\n.hsk-checkout-btn:hover {\n opacity: 0.9;\n}\n\n.hsk-cart-trigger {\n --hsk-bg: var(--bg, var(--background, #ffffff));\n --hsk-text: var(--text-primary, var(--foreground, #18181b));\n --hsk-border: var(--border, var(--borders, #e4e4e7));\n --hsk-primary: var(--chat-primary-color, #ff6a33);\n --hsk-primary-color: var(--hsk-primary);\n --hsk-hover: var(--surface, var(--hsk-border, #f4f4f5));\n\n background: transparent;\n border: 1px solid var(--hsk-border);\n color: var(--hsk-text);\n border-radius: 20px;\n font-weight: 500;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n}\n\n.hsk-cart-trigger-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n background: var(--hsk-primary-color, #ff6a33);\n color: white;\n font-size: 10px;\n width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 9px;\n font-weight: bold;\n}\n\n.hsk-cart-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--hsk-primary-color, #ff6a33);\n color: white;\n font-size: 12px;\n min-width: 18px;\n height: 18px;\n padding: 0 4px;\n border-radius: 9px;\n font-weight: 600;\n}\n\n[data-hsk-theme=\"dark\"] .hsk-cart-bottom-sheet {\n --hsk-bg: #0a0a0a;\n --hsk-text: #fafafa;\n --hsk-border: rgba(255, 255, 255, 0.07);\n --hsk-muted: #888;\n --hsk-hover: rgba(255, 255, 255, 0.07);\n}\n[data-hsk-theme=\"dark\"] .hsk-cart-trigger {\n --hsk-bg: #0a0a0a;\n --hsk-text: white;\n --hsk-border: rgba(255, 255, 255, 0.07);\n --hsk-hover: rgba(255, 255, 255, 0.07);\n}\n\n@media (prefers-color-scheme: dark) {\n .hsk-cart-bottom-sheet {\n --hsk-bg: #0a0a0a;\n --hsk-text: #e8eaed;\n --hsk-border: rgba(255, 255, 255, 0.07);\n --hsk-muted: #888;\n --hsk-hover: rgba(255, 255, 255, 0.07);\n }\n .hsk-cart-trigger {\n --hsk-bg: #0a0a0a;\n --hsk-text: white;\n --hsk-border: rgba(255, 255, 255, 0.07);\n --hsk-hover: rgba(255, 255, 255, 0.07);\n }\n}\n\n@media (prefers-color-scheme: light) {\n .hsk-cart-bottom-sheet {\n --hsk-bg: #ffffff;\n --hsk-text: #18181b;\n --hsk-border: #f4f4f5;\n --hsk-muted: #71717a;\n --hsk-hover: #f4f4f5;\n }\n .hsk-cart-trigger {\n --hsk-bg: #ffffff;\n --hsk-text: #18181b;\n --hsk-border: #e4e4e7;\n --hsk-hover: #f4f4f5;\n }\n .hsk-cart-backdrop {\n background: rgba(255, 255, 255, 0.6);\n }\n}\r\n\n/* --- Checkout Modal --- */\n.hsk-checkout-modal {\n position: relative;\n width: 90%;\n max-width: 800px;\n max-height: 90vh;\n background: var(--hsk-bg, #ffffff);\n color: var(--hsk-text, #18181b);\n border: 1px solid var(--hsk-border, #e4e4e7);\n border-radius: 12px;\n box-shadow: 0 10px 30px rgba(0,0,0,0.2);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n animation: hskScaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n.hsk-checkout-header {\n padding: 16px 20px;\n border-bottom: 1px solid var(--hsk-border, #e4e4e7);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.hsk-checkout-header h2 {\n margin: 0;\n font-size: 1.1em;\n}\n.hsk-checkout-content {\n padding: 20px;\n overflow-y: auto;\n}\n.hsk-checkout-split {\n display: flex;\n gap: 30px;\n}\n@media (max-width: 600px) {\n .hsk-checkout-split {\n flex-direction: column;\n }\n}\n.hsk-checkout-summary, .hsk-checkout-payment {\n flex: 1;\n}\n.hsk-checkout-summary h3, .hsk-checkout-payment h3 {\n font-size: 1em;\n margin-top: 0;\n margin-bottom: 15px;\n border-bottom: 1px solid var(--hsk-border, #e4e4e7);\n padding-bottom: 8px;\n}\n.hsk-checkout-items {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n.hsk-checkout-items li {\n display: flex;\n justify-content: space-between;\n font-size: 0.9em;\n margin-bottom: 8px;\n}\n.hsk-checkout-total {\n display: flex;\n justify-content: space-between;\n font-weight: bold;\n margin-top: 15px;\n padding-top: 15px;\n border-top: 1px solid var(--hsk-border, #e4e4e7);\n}\n.hsk-payment-options {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n.hsk-pay-btn {\n width: 100%;\n padding: 12px;\n border-radius: 8px;\n font-weight: bold;\n cursor: pointer;\n border: none;\n transition: opacity 0.2s;\n color: white;\n}\n.hsk-pay-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.hsk-pay-mpesa { background: #4caf50; }\n.hsk-pay-equity { background: #8b4513; }\n.hsk-pay-stripe { background: #6772e5; }\n.hsk-pay-paypal { background: #003087; }\n.hsk-checkout-success {\n text-align: center;\n padding: 40px 20px;\n}\n.hsk-success-icon {\n width: 64px;\n height: 64px;\n color: #4caf50;\n margin-bottom: 16px;\n}\n@keyframes hskScaleIn {\n 0% { transform: scale(0.95); opacity: 0; }\n 100% { transform: scale(1); opacity: 1; }\n}\n@media (prefers-color-scheme: dark) {\n .hsk-checkout-modal {\n --hsk-bg: #1a1a1b;\n --hsk-text: #e8eaed;\n --hsk-border: #202124;\n }\n}\n\r\n"],"mappings":"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","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -49,11 +49,36 @@ interface RawProductInput {
|
|
|
49
49
|
tags?: string[];
|
|
50
50
|
specs?: Record<string, string>;
|
|
51
51
|
}
|
|
52
|
+
interface CartItem {
|
|
53
|
+
id: string;
|
|
54
|
+
cart_id: string;
|
|
55
|
+
external_id?: string;
|
|
56
|
+
product_url: string;
|
|
57
|
+
name: string;
|
|
58
|
+
price: string;
|
|
59
|
+
price_numeric: number;
|
|
60
|
+
currency: string;
|
|
61
|
+
image: string;
|
|
62
|
+
brand: string;
|
|
63
|
+
category: string;
|
|
64
|
+
quantity: number;
|
|
65
|
+
}
|
|
66
|
+
interface CartPayload {
|
|
67
|
+
cart_id: string;
|
|
68
|
+
shopper_id: string;
|
|
69
|
+
site_id: string;
|
|
70
|
+
status: string;
|
|
71
|
+
items: CartItem[];
|
|
72
|
+
total: number;
|
|
73
|
+
currency: string;
|
|
74
|
+
item_count: number;
|
|
75
|
+
}
|
|
52
76
|
interface HuskelConfig {
|
|
53
77
|
siteId?: string;
|
|
54
78
|
apiUrl?: string;
|
|
55
79
|
apiToken?: string;
|
|
56
80
|
shopperId?: string;
|
|
81
|
+
onCheckout?: (cart: CartPayload) => void;
|
|
57
82
|
}
|
|
58
83
|
interface SearchRequest {
|
|
59
84
|
query: string;
|
|
@@ -78,6 +103,13 @@ interface HuskelError {
|
|
|
78
103
|
status: number;
|
|
79
104
|
message: string;
|
|
80
105
|
}
|
|
106
|
+
interface HuskelTheme {
|
|
107
|
+
primaryColor?: string;
|
|
108
|
+
backgroundColor?: string;
|
|
109
|
+
textColor?: string;
|
|
110
|
+
fontFamily?: string;
|
|
111
|
+
borderRadius?: string;
|
|
112
|
+
}
|
|
81
113
|
|
|
82
114
|
declare class HuskelAPI {
|
|
83
115
|
private apiUrl;
|
|
@@ -98,7 +130,14 @@ declare class HuskelAPI {
|
|
|
98
130
|
}>): Promise<{
|
|
99
131
|
answer: string;
|
|
100
132
|
sources: any[];
|
|
133
|
+
checkout?: CartPayload;
|
|
134
|
+
action?: any;
|
|
101
135
|
}>;
|
|
136
|
+
private buildHeaders;
|
|
137
|
+
getCart(): Promise<CartPayload>;
|
|
138
|
+
clearCart(): Promise<CartPayload>;
|
|
139
|
+
checkoutCart(): Promise<CartPayload>;
|
|
140
|
+
getCheckoutConfig(): Promise<any>;
|
|
102
141
|
}
|
|
103
142
|
|
|
104
143
|
declare class HuskelClient {
|
|
@@ -109,6 +148,7 @@ declare class HuskelClient {
|
|
|
109
148
|
private onlineHandler;
|
|
110
149
|
private shopperId?;
|
|
111
150
|
private sessionId;
|
|
151
|
+
onCheckout?: (cart: CartPayload) => void;
|
|
112
152
|
private static INGEST_CACHE_KEY;
|
|
113
153
|
private static INGEST_CACHE_TTL;
|
|
114
154
|
private loadIngestedCache;
|
|
@@ -189,11 +229,17 @@ interface UseChatReturn {
|
|
|
189
229
|
sources: ChatSource[];
|
|
190
230
|
loading: boolean;
|
|
191
231
|
error: string | null;
|
|
192
|
-
send: (query: string) => Promise<void>;
|
|
232
|
+
send: (query: string, displayQuery?: string) => Promise<void>;
|
|
193
233
|
reset: () => void;
|
|
194
234
|
}
|
|
195
235
|
declare function useChat(): UseChatReturn;
|
|
196
236
|
|
|
237
|
+
declare function useCart(): {
|
|
238
|
+
cart: CartPayload | null;
|
|
239
|
+
loading: boolean;
|
|
240
|
+
fetchCart: () => Promise<void>;
|
|
241
|
+
};
|
|
242
|
+
|
|
197
243
|
interface SearchBarProps {
|
|
198
244
|
placeholder?: string;
|
|
199
245
|
limit?: number;
|
|
@@ -204,12 +250,7 @@ interface SearchBarProps {
|
|
|
204
250
|
inputClassName?: string;
|
|
205
251
|
dropdownClassName?: string;
|
|
206
252
|
renderResult?: (result: SearchResult) => React.ReactNode;
|
|
207
|
-
theme?:
|
|
208
|
-
primaryColor?: string;
|
|
209
|
-
backgroundColor?: string;
|
|
210
|
-
textColor?: string;
|
|
211
|
-
fontFamily?: string;
|
|
212
|
-
};
|
|
253
|
+
theme?: HuskelTheme;
|
|
213
254
|
classNames?: {
|
|
214
255
|
root?: string;
|
|
215
256
|
input?: string;
|
|
@@ -231,20 +272,16 @@ interface SparkleProps {
|
|
|
231
272
|
className?: string;
|
|
232
273
|
/** Called when user clicks a result — return false to prevent default navigation */
|
|
233
274
|
onNavigate?: (result: SearchResult) => boolean | void;
|
|
234
|
-
theme?:
|
|
235
|
-
primaryColor?: string;
|
|
236
|
-
backgroundColor?: string;
|
|
237
|
-
textColor?: string;
|
|
238
|
-
fontFamily?: string;
|
|
239
|
-
};
|
|
275
|
+
theme?: HuskelTheme;
|
|
240
276
|
classNames?: {
|
|
241
277
|
button?: string;
|
|
242
278
|
backdrop?: string;
|
|
243
279
|
card?: string;
|
|
244
280
|
item?: string;
|
|
245
281
|
};
|
|
282
|
+
product?: Product;
|
|
246
283
|
}
|
|
247
|
-
declare function Sparkle({ productName, limit, onResult, backdropColor, backdropBlur, className, onNavigate, theme, classNames, }: SparkleProps): react_jsx_runtime.JSX.Element;
|
|
284
|
+
declare function Sparkle({ productName, limit, onResult, backdropColor, backdropBlur, className, onNavigate, theme, classNames, product, }: SparkleProps): react_jsx_runtime.JSX.Element;
|
|
248
285
|
|
|
249
286
|
interface ChatWidgetProps {
|
|
250
287
|
title?: string;
|
|
@@ -253,12 +290,7 @@ interface ChatWidgetProps {
|
|
|
253
290
|
emptyStateSuggestions?: string;
|
|
254
291
|
defaultCurrency?: string;
|
|
255
292
|
className?: string;
|
|
256
|
-
theme?:
|
|
257
|
-
primaryColor?: string;
|
|
258
|
-
backgroundColor?: string;
|
|
259
|
-
textColor?: string;
|
|
260
|
-
fontFamily?: string;
|
|
261
|
-
};
|
|
293
|
+
theme?: HuskelTheme;
|
|
262
294
|
classNames?: {
|
|
263
295
|
root?: string;
|
|
264
296
|
header?: string;
|
|
@@ -279,12 +311,7 @@ interface AIChatButtonProps {
|
|
|
279
311
|
onSelectSource?: (source: ChatSource) => void;
|
|
280
312
|
defaultCurrency?: string;
|
|
281
313
|
chips?: string[];
|
|
282
|
-
theme?:
|
|
283
|
-
primaryColor?: string;
|
|
284
|
-
backgroundColor?: string;
|
|
285
|
-
textColor?: string;
|
|
286
|
-
fontFamily?: string;
|
|
287
|
-
};
|
|
314
|
+
theme?: HuskelTheme;
|
|
288
315
|
classNames?: {
|
|
289
316
|
button?: string;
|
|
290
317
|
overlay?: string;
|
|
@@ -295,9 +322,19 @@ interface AIChatButtonProps {
|
|
|
295
322
|
}
|
|
296
323
|
declare function AIChatButton({ label, title, placeholder, backdropColor, backdropBlur, className, onSelectSource, defaultCurrency, chips, theme, classNames, }: AIChatButtonProps): react_jsx_runtime.JSX.Element;
|
|
297
324
|
|
|
325
|
+
declare function CartBadge({ className }: {
|
|
326
|
+
className?: string;
|
|
327
|
+
}): react_jsx_runtime.JSX.Element | null;
|
|
328
|
+
|
|
329
|
+
declare function CartDrawer({ trigger, className, theme }: {
|
|
330
|
+
trigger?: React.ReactNode;
|
|
331
|
+
className?: string;
|
|
332
|
+
theme?: 'light' | 'dark' | HuskelTheme;
|
|
333
|
+
}): react_jsx_runtime.JSX.Element;
|
|
334
|
+
|
|
298
335
|
interface HuskelProviderProps extends HuskelConfig {
|
|
299
336
|
children: React.ReactNode;
|
|
300
337
|
}
|
|
301
338
|
declare function HuskelProvider({ siteId, apiUrl, apiToken, shopperId, children }: HuskelProviderProps): react_jsx_runtime.JSX.Element;
|
|
302
339
|
|
|
303
|
-
export { AIChatButton, type ChatMessage, type ChatSource, ChatWidget, HuskelAPI, HuskelClient, type HuskelConfig, type HuskelError, HuskelProvider, type IngestResponse, type Product, type RawProductInput, SearchBar, type SearchRequest, type SearchResponse, type SearchResult, Sparkle, getHuskelClient, initHuskel, useChat, useHuskel, useIngest, usePageIngest, useSearch };
|
|
340
|
+
export { AIChatButton, CartBadge, CartDrawer, type ChatMessage, type ChatSource, ChatWidget, HuskelAPI, HuskelClient, type HuskelConfig, type HuskelError, HuskelProvider, type IngestResponse, type Product, type RawProductInput, SearchBar, type SearchRequest, type SearchResponse, type SearchResult, Sparkle, getHuskelClient, initHuskel, useCart, useChat, useHuskel, useIngest, usePageIngest, useSearch };
|
package/dist/index.d.ts
CHANGED
|
@@ -49,11 +49,36 @@ interface RawProductInput {
|
|
|
49
49
|
tags?: string[];
|
|
50
50
|
specs?: Record<string, string>;
|
|
51
51
|
}
|
|
52
|
+
interface CartItem {
|
|
53
|
+
id: string;
|
|
54
|
+
cart_id: string;
|
|
55
|
+
external_id?: string;
|
|
56
|
+
product_url: string;
|
|
57
|
+
name: string;
|
|
58
|
+
price: string;
|
|
59
|
+
price_numeric: number;
|
|
60
|
+
currency: string;
|
|
61
|
+
image: string;
|
|
62
|
+
brand: string;
|
|
63
|
+
category: string;
|
|
64
|
+
quantity: number;
|
|
65
|
+
}
|
|
66
|
+
interface CartPayload {
|
|
67
|
+
cart_id: string;
|
|
68
|
+
shopper_id: string;
|
|
69
|
+
site_id: string;
|
|
70
|
+
status: string;
|
|
71
|
+
items: CartItem[];
|
|
72
|
+
total: number;
|
|
73
|
+
currency: string;
|
|
74
|
+
item_count: number;
|
|
75
|
+
}
|
|
52
76
|
interface HuskelConfig {
|
|
53
77
|
siteId?: string;
|
|
54
78
|
apiUrl?: string;
|
|
55
79
|
apiToken?: string;
|
|
56
80
|
shopperId?: string;
|
|
81
|
+
onCheckout?: (cart: CartPayload) => void;
|
|
57
82
|
}
|
|
58
83
|
interface SearchRequest {
|
|
59
84
|
query: string;
|
|
@@ -78,6 +103,13 @@ interface HuskelError {
|
|
|
78
103
|
status: number;
|
|
79
104
|
message: string;
|
|
80
105
|
}
|
|
106
|
+
interface HuskelTheme {
|
|
107
|
+
primaryColor?: string;
|
|
108
|
+
backgroundColor?: string;
|
|
109
|
+
textColor?: string;
|
|
110
|
+
fontFamily?: string;
|
|
111
|
+
borderRadius?: string;
|
|
112
|
+
}
|
|
81
113
|
|
|
82
114
|
declare class HuskelAPI {
|
|
83
115
|
private apiUrl;
|
|
@@ -98,7 +130,14 @@ declare class HuskelAPI {
|
|
|
98
130
|
}>): Promise<{
|
|
99
131
|
answer: string;
|
|
100
132
|
sources: any[];
|
|
133
|
+
checkout?: CartPayload;
|
|
134
|
+
action?: any;
|
|
101
135
|
}>;
|
|
136
|
+
private buildHeaders;
|
|
137
|
+
getCart(): Promise<CartPayload>;
|
|
138
|
+
clearCart(): Promise<CartPayload>;
|
|
139
|
+
checkoutCart(): Promise<CartPayload>;
|
|
140
|
+
getCheckoutConfig(): Promise<any>;
|
|
102
141
|
}
|
|
103
142
|
|
|
104
143
|
declare class HuskelClient {
|
|
@@ -109,6 +148,7 @@ declare class HuskelClient {
|
|
|
109
148
|
private onlineHandler;
|
|
110
149
|
private shopperId?;
|
|
111
150
|
private sessionId;
|
|
151
|
+
onCheckout?: (cart: CartPayload) => void;
|
|
112
152
|
private static INGEST_CACHE_KEY;
|
|
113
153
|
private static INGEST_CACHE_TTL;
|
|
114
154
|
private loadIngestedCache;
|
|
@@ -189,11 +229,17 @@ interface UseChatReturn {
|
|
|
189
229
|
sources: ChatSource[];
|
|
190
230
|
loading: boolean;
|
|
191
231
|
error: string | null;
|
|
192
|
-
send: (query: string) => Promise<void>;
|
|
232
|
+
send: (query: string, displayQuery?: string) => Promise<void>;
|
|
193
233
|
reset: () => void;
|
|
194
234
|
}
|
|
195
235
|
declare function useChat(): UseChatReturn;
|
|
196
236
|
|
|
237
|
+
declare function useCart(): {
|
|
238
|
+
cart: CartPayload | null;
|
|
239
|
+
loading: boolean;
|
|
240
|
+
fetchCart: () => Promise<void>;
|
|
241
|
+
};
|
|
242
|
+
|
|
197
243
|
interface SearchBarProps {
|
|
198
244
|
placeholder?: string;
|
|
199
245
|
limit?: number;
|
|
@@ -204,12 +250,7 @@ interface SearchBarProps {
|
|
|
204
250
|
inputClassName?: string;
|
|
205
251
|
dropdownClassName?: string;
|
|
206
252
|
renderResult?: (result: SearchResult) => React.ReactNode;
|
|
207
|
-
theme?:
|
|
208
|
-
primaryColor?: string;
|
|
209
|
-
backgroundColor?: string;
|
|
210
|
-
textColor?: string;
|
|
211
|
-
fontFamily?: string;
|
|
212
|
-
};
|
|
253
|
+
theme?: HuskelTheme;
|
|
213
254
|
classNames?: {
|
|
214
255
|
root?: string;
|
|
215
256
|
input?: string;
|
|
@@ -231,20 +272,16 @@ interface SparkleProps {
|
|
|
231
272
|
className?: string;
|
|
232
273
|
/** Called when user clicks a result — return false to prevent default navigation */
|
|
233
274
|
onNavigate?: (result: SearchResult) => boolean | void;
|
|
234
|
-
theme?:
|
|
235
|
-
primaryColor?: string;
|
|
236
|
-
backgroundColor?: string;
|
|
237
|
-
textColor?: string;
|
|
238
|
-
fontFamily?: string;
|
|
239
|
-
};
|
|
275
|
+
theme?: HuskelTheme;
|
|
240
276
|
classNames?: {
|
|
241
277
|
button?: string;
|
|
242
278
|
backdrop?: string;
|
|
243
279
|
card?: string;
|
|
244
280
|
item?: string;
|
|
245
281
|
};
|
|
282
|
+
product?: Product;
|
|
246
283
|
}
|
|
247
|
-
declare function Sparkle({ productName, limit, onResult, backdropColor, backdropBlur, className, onNavigate, theme, classNames, }: SparkleProps): react_jsx_runtime.JSX.Element;
|
|
284
|
+
declare function Sparkle({ productName, limit, onResult, backdropColor, backdropBlur, className, onNavigate, theme, classNames, product, }: SparkleProps): react_jsx_runtime.JSX.Element;
|
|
248
285
|
|
|
249
286
|
interface ChatWidgetProps {
|
|
250
287
|
title?: string;
|
|
@@ -253,12 +290,7 @@ interface ChatWidgetProps {
|
|
|
253
290
|
emptyStateSuggestions?: string;
|
|
254
291
|
defaultCurrency?: string;
|
|
255
292
|
className?: string;
|
|
256
|
-
theme?:
|
|
257
|
-
primaryColor?: string;
|
|
258
|
-
backgroundColor?: string;
|
|
259
|
-
textColor?: string;
|
|
260
|
-
fontFamily?: string;
|
|
261
|
-
};
|
|
293
|
+
theme?: HuskelTheme;
|
|
262
294
|
classNames?: {
|
|
263
295
|
root?: string;
|
|
264
296
|
header?: string;
|
|
@@ -279,12 +311,7 @@ interface AIChatButtonProps {
|
|
|
279
311
|
onSelectSource?: (source: ChatSource) => void;
|
|
280
312
|
defaultCurrency?: string;
|
|
281
313
|
chips?: string[];
|
|
282
|
-
theme?:
|
|
283
|
-
primaryColor?: string;
|
|
284
|
-
backgroundColor?: string;
|
|
285
|
-
textColor?: string;
|
|
286
|
-
fontFamily?: string;
|
|
287
|
-
};
|
|
314
|
+
theme?: HuskelTheme;
|
|
288
315
|
classNames?: {
|
|
289
316
|
button?: string;
|
|
290
317
|
overlay?: string;
|
|
@@ -295,9 +322,19 @@ interface AIChatButtonProps {
|
|
|
295
322
|
}
|
|
296
323
|
declare function AIChatButton({ label, title, placeholder, backdropColor, backdropBlur, className, onSelectSource, defaultCurrency, chips, theme, classNames, }: AIChatButtonProps): react_jsx_runtime.JSX.Element;
|
|
297
324
|
|
|
325
|
+
declare function CartBadge({ className }: {
|
|
326
|
+
className?: string;
|
|
327
|
+
}): react_jsx_runtime.JSX.Element | null;
|
|
328
|
+
|
|
329
|
+
declare function CartDrawer({ trigger, className, theme }: {
|
|
330
|
+
trigger?: React.ReactNode;
|
|
331
|
+
className?: string;
|
|
332
|
+
theme?: 'light' | 'dark' | HuskelTheme;
|
|
333
|
+
}): react_jsx_runtime.JSX.Element;
|
|
334
|
+
|
|
298
335
|
interface HuskelProviderProps extends HuskelConfig {
|
|
299
336
|
children: React.ReactNode;
|
|
300
337
|
}
|
|
301
338
|
declare function HuskelProvider({ siteId, apiUrl, apiToken, shopperId, children }: HuskelProviderProps): react_jsx_runtime.JSX.Element;
|
|
302
339
|
|
|
303
|
-
export { AIChatButton, type ChatMessage, type ChatSource, ChatWidget, HuskelAPI, HuskelClient, type HuskelConfig, type HuskelError, HuskelProvider, type IngestResponse, type Product, type RawProductInput, SearchBar, type SearchRequest, type SearchResponse, type SearchResult, Sparkle, getHuskelClient, initHuskel, useChat, useHuskel, useIngest, usePageIngest, useSearch };
|
|
340
|
+
export { AIChatButton, CartBadge, CartDrawer, type ChatMessage, type ChatSource, ChatWidget, HuskelAPI, HuskelClient, type HuskelConfig, type HuskelError, HuskelProvider, type IngestResponse, type Product, type RawProductInput, SearchBar, type SearchRequest, type SearchResponse, type SearchResult, Sparkle, getHuskelClient, initHuskel, useCart, useChat, useHuskel, useIngest, usePageIngest, useSearch };
|