@asgard-js/react 0.2.51 → 0.2.54
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/README.md +66 -2
- package/dist/components/chatbot/chatbot.d.ts +11 -0
- package/dist/components/chatbot/chatbot.d.ts.map +1 -1
- package/dist/components/templates/chart-template/chart-template.d.ts.map +1 -1
- package/dist/components/templates/table-template/table-template.d.ts.map +1 -1
- package/dist/context/asgard-service-context.d.ts +5 -0
- package/dist/context/asgard-service-context.d.ts.map +1 -1
- package/dist/hooks/use-asgard-service-client.d.ts +5 -0
- package/dist/hooks/use-asgard-service-client.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +11529 -11397
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -66,7 +66,6 @@ const App = () => {
|
|
|
66
66
|
enableLoadConfigFromService={true}
|
|
67
67
|
customChannelId="your-channel-id"
|
|
68
68
|
initMessages={[]}
|
|
69
|
-
debugMode={false}
|
|
70
69
|
fullScreen={false}
|
|
71
70
|
avatar="https://example.com/avatar.png"
|
|
72
71
|
botTypingPlaceholder="Bot is typing..."
|
|
@@ -295,7 +294,9 @@ config: {
|
|
|
295
294
|
- **enableLoadConfigFromService?**: `boolean` - Enable loading configuration from service
|
|
296
295
|
- **enableUpload?**: `boolean` - Enable file upload functionality. When set, it takes priority over the `embedConfig.enableUpload` setting from the bot provider metadata. Defaults to `false` if not specified in either location. Supports image files (JPEG, PNG, GIF, WebP) up to 20MB per file, maximum 10 files at once.
|
|
297
296
|
- **enableExport?**: `boolean` - Enable conversation export functionality. When set, it takes priority over the `embedConfig.enableExport` setting from the bot provider metadata. Defaults to `false` if not specified in either location. Adds a download button to the chatbot footer that exports the conversation history as a Markdown file with timestamps and trace IDs.
|
|
297
|
+
- **enableDocumentUpload?**: `boolean` - Enable document file upload functionality. When enabled, users can attach document files to messages. The container-level drag-and-drop overlay is also activated. Defaults to `false`.
|
|
298
298
|
- **maintainConnectionWhenClosed?**: `boolean` - Maintain connection when chat is closed, defaults to `false`
|
|
299
|
+
- **keepConnectionOnUnmount?**: `boolean` - Keep the in-flight SSE run alive when the chatbot unmounts (e.g. the user navigates to another in-app page) instead of aborting it, so that round can finish on the backend. The detached connection cleans itself up once the run completes, or after a safety timeout if it never finishes. Only covers in-app unmounts — a full page reload / tab close / network loss still tears the connection down. Defaults to `false`
|
|
299
300
|
- **loadingComponent?**: `ReactNode` - Custom loading component
|
|
300
301
|
- **asyncInitializers?**: `Record<string, () => Promise<unknown>>` - Asynchronous initializers for app initialization before rendering any component. Good for loading data or other async operations as the initial state. It only works when `enableLoadConfigFromService` is set to `true`.
|
|
301
302
|
- **customChannelId**: `string` - Custom channel identifier for the chat session
|
|
@@ -305,6 +306,8 @@ config: {
|
|
|
305
306
|
- **botTypingPlaceholder**: `string` - Text to display while the bot is typing
|
|
306
307
|
- **inputPlaceholder**: `string` - Custom placeholder text for the message input field
|
|
307
308
|
- **defaultLinkTarget?**: `'_blank' | '_self' | '_parent' | '_top'` - Default target for opening URIs when not specified by the API. Defaults to `'_blank'` (opens in new tab).
|
|
309
|
+
- **className?**: `string` - Custom CSS class name applied to the chatbot container element.
|
|
310
|
+
- **style?**: `CSSProperties` - Custom inline styles applied to the chatbot container element.
|
|
308
311
|
- **theme**: `Partial<AsgardThemeContextValue>` - Custom theme configuration
|
|
309
312
|
- **autoResetChannel?**: `boolean` - Whether to automatically reset channel on mount. Defaults to `true`. When set to `false`, the channel is created without sending `RESET_CHANNEL`, preserving history messages loaded via `initMessages`. See [Auto Reset Channel](#auto-reset-channel) section for details.
|
|
310
313
|
- **userIdentityHint?**: `string` - Optional user identity hint. When provided, all requests (SSE and file upload) will include the `X-ASGARD-USER-IDENTITY-HINT` header with this value.
|
|
@@ -314,6 +317,10 @@ config: {
|
|
|
314
317
|
- **onClose**: `() => void` - Callback function when chat is closed
|
|
315
318
|
- **authState?**: `AuthState` - Authentication state for dynamic API key management. Available states: `'loading'`, `'needApiKey'`, `'authenticated'`, `'error'`, `'invalidApiKey'`
|
|
316
319
|
- **onApiKeySubmit?**: `(apiKey: string) => Promise<void>` - Callback function when user submits API key for authentication
|
|
320
|
+
- **onAuthError?**: `(error: { isAuthError: boolean; isBotProviderError: boolean; errorDetail?: unknown }) => void` - Callback fired when authentication or bot provider initialization fails. Useful for logging or showing a custom error UI.
|
|
321
|
+
- **onSseError?**: `(error: unknown) => void` - Callback fired when the SSE connection encounters an error.
|
|
322
|
+
- **onErrorClick?**: `(message: ConversationErrorMessage) => void` - Callback fired when the user clicks on an error message bubble. Useful for retry or diagnostic flows.
|
|
323
|
+
- **errorMessageRenderer?**: `(message: ConversationErrorMessage) => ReactNode` - Custom renderer for error message bubbles. When provided, completely replaces the default error UI.
|
|
317
324
|
- **onTemplateBtnClick?**: `(payload: Record<string, unknown>, eventName: string, raw: string) => void` - Callback for EMIT button actions. See [EMIT Action](#emit-action) section for details.
|
|
318
325
|
- **messageActions?**: `(message: ConversationBotMessage) => MessageActionConfig[]` - Function to define which action buttons to display for each bot message. Returns an array of `{ id: string, label: string }` objects. See [Message Actions](#message-actions) section for details.
|
|
319
326
|
- **onMessageAction?**: `(actionId: string, message: ConversationBotMessage) => void` - Callback when a message action button is clicked. Receives the action ID and the associated bot message.
|
|
@@ -324,7 +331,7 @@ config: {
|
|
|
324
331
|
- **renderMessageContent?**: `(props: MessageContentRendererProps) => ReactNode` - Custom renderer for message content. Allows customizing how messages are rendered based on message properties. See [Custom Message Renderer](#custom-message-renderer) section for details.
|
|
325
332
|
- **renderToolCallGroup?**: `(props: ToolCallGroupRendererProps) => ReactNode` - Custom renderer for tool call group. Return `null` to hide, return JSX to fully customize, or call `renderDefaultContent()` to use the default UI with optional overrides (e.g., `renderDefaultContent({ title: 'AI is thinking...' })`). See [Tool Call Group Renderer](#tool-call-group-renderer) section for details.
|
|
326
333
|
- **onBeforeSendMessage?**: `(params: SendMessageParams) => SendMessageParams` - Callback to modify message params before sending. Allows injecting contextual data (payload, metadata) from parent components. See [Before Send Message Hook](#before-send-message-hook) section for details.
|
|
327
|
-
- **onSseMessage**: `(response: SseResponse, ctx:
|
|
334
|
+
- **onSseMessage**: `(response: SseResponse, ctx: { conversation: Conversation | null }) => void` - Callback fired on every SSE message. `ctx.conversation` is the conversation state at the time the event fires. Combine with `ref.current.serviceContext.sendMessage` to trigger follow-up messages programmatically.
|
|
328
335
|
- **ref**: `ForwardedRef<ChatbotRef>` - Forwarded ref to access the chatbot instance. It can be used to access the chatbot instance and do some actions like sending messages to the bot. `ChatbotRef` provides `serviceContext` for interacting with the chatbot, and `setInputValue(value: string)` for programmatically setting the textarea text from outside the component.
|
|
329
336
|
|
|
330
337
|
<a id="theme-configuration"></a>
|
|
@@ -435,6 +442,7 @@ export interface AsgardThemeContextValue {
|
|
|
435
442
|
};
|
|
436
443
|
};
|
|
437
444
|
}>;
|
|
445
|
+
AttachmentMessageTemplate: Partial<{ style: CSSProperties }>;
|
|
438
446
|
|
|
439
447
|
// Didn't implement yet
|
|
440
448
|
VideoMessageTemplate: Partial<{ style: CSSProperties }>;
|
|
@@ -519,6 +527,9 @@ const defaultTheme = {
|
|
|
519
527
|
HintMessageTemplate: {
|
|
520
528
|
style: {},
|
|
521
529
|
},
|
|
530
|
+
AttachmentMessageTemplate: {
|
|
531
|
+
style: {},
|
|
532
|
+
},
|
|
522
533
|
ImageMessageTemplate: {
|
|
523
534
|
style: {},
|
|
524
535
|
},
|
|
@@ -588,6 +599,59 @@ const App = () => {
|
|
|
588
599
|
|
|
589
600
|
Note: When `fullScreen` prop is set to `true`, the chatbot's width and height will be set to `100vw` and `100vh` respectively, and `borderRadius` will be set to zero, regardless of theme settings.
|
|
590
601
|
|
|
602
|
+
<a id="hooks"></a>
|
|
603
|
+
<br/>
|
|
604
|
+
|
|
605
|
+
## Hooks
|
|
606
|
+
|
|
607
|
+
<a id="use-asgard-context"></a>
|
|
608
|
+
<br/>
|
|
609
|
+
|
|
610
|
+
### useAsgardContext()
|
|
611
|
+
|
|
612
|
+
Returns the internal service context. Use this inside `renderHeader`, `renderFooter`, `renderMenu`, or any component rendered within the Chatbot tree to access runtime state and actions.
|
|
613
|
+
|
|
614
|
+
```typescript
|
|
615
|
+
import { useAsgardContext } from '@asgard-js/react';
|
|
616
|
+
|
|
617
|
+
function MyCustomFooter() {
|
|
618
|
+
const { sendMessage, isConnecting, pendingInputValue, setPendingInputValue } = useAsgardContext();
|
|
619
|
+
// ...
|
|
620
|
+
}
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
#### Return Value
|
|
624
|
+
|
|
625
|
+
**State**
|
|
626
|
+
|
|
627
|
+
| Property | Type | Description |
|
|
628
|
+
| ---------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
629
|
+
| `avatar` | `string \| undefined` | Avatar URL passed to the Chatbot, or loaded from the bot provider metadata. |
|
|
630
|
+
| `title` | `string \| undefined` | Chatbot title passed to the Chatbot, or loaded from the bot provider metadata. |
|
|
631
|
+
| `isOpen` | `boolean` | Whether the chatbot is currently open/visible. |
|
|
632
|
+
| `isResetting` | `boolean` | Whether a channel reset is in progress. Use to disable reset buttons during reset. |
|
|
633
|
+
| `isConnecting` | `boolean` | Whether the SSE channel is currently processing a message. Use to disable the send button. |
|
|
634
|
+
| `messages` | `Map<string, ConversationMessage> \| null` | All messages in the current conversation. `null` before the channel is initialized. |
|
|
635
|
+
| `botTypingPlaceholder` | `string \| undefined` | Typing indicator text (from props or bot provider metadata). |
|
|
636
|
+
| `inputPlaceholder` | `string \| undefined` | Textarea placeholder text (from props or bot provider metadata). |
|
|
637
|
+
| `enableUpload` | `boolean \| undefined` | Whether image upload is enabled (resolved from props / bot provider metadata). |
|
|
638
|
+
| `enableExport` | `boolean \| undefined` | Whether conversation export is enabled. |
|
|
639
|
+
| `enableDocumentUpload` | `boolean \| undefined` | Whether document upload is enabled. |
|
|
640
|
+
| `isFollowingLatest` | `boolean` | Whether auto-scroll to the latest message is active. Becomes `false` when the user scrolls up. |
|
|
641
|
+
| `pendingInputValue` | `string \| null` | Text waiting to be filled into the textarea. Set by `ChatbotRef.setInputValue()` or by `renderMenu`. Read and clear this in `renderFooter` to receive externally pushed text. |
|
|
642
|
+
|
|
643
|
+
**Actions**
|
|
644
|
+
|
|
645
|
+
| Property | Type | Description |
|
|
646
|
+
| ---------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
647
|
+
| `sendMessage` | `((params: SendMessageParams) => Promise<void>) \| undefined` | Send a message through the channel. `undefined` while the channel is not yet ready or in preview mode — always guard with `?.()`. |
|
|
648
|
+
| `resetChannel` | `(() => void) \| undefined` | Reset the channel (triggers a new welcome message from the bot). |
|
|
649
|
+
| `closeChannel` | `(() => void) \| undefined` | Close the SSE connection without resetting. |
|
|
650
|
+
| `scrollToBottom` | `(behavior?: ScrollBehavior) => void` | Scroll the message list to the bottom. Also resumes auto-scroll (`isFollowingLatest → true`). |
|
|
651
|
+
| `programmaticScrollToBottom` | `(behavior?: ScrollBehavior) => void` | Scroll to bottom without affecting `isFollowingLatest`. |
|
|
652
|
+
| `setFollowingLatest` | `(value: boolean) => void` | Manually set auto-scroll state. |
|
|
653
|
+
| `setPendingInputValue` | `(value: string \| null) => void` | Push text into the textarea from outside. Clear it (`null`) after reading in `renderFooter`. |
|
|
654
|
+
|
|
591
655
|
<a id="event-handlers"></a>
|
|
592
656
|
<br/>
|
|
593
657
|
|
|
@@ -103,6 +103,17 @@ interface ChatbotProps extends AsgardTemplateContextValue {
|
|
|
103
103
|
renderToolCallGroup?: AsgardTemplateContextValue['renderToolCallGroup'];
|
|
104
104
|
/** Whether to automatically reset channel on mount. Defaults to true. When false, the channel is created without sending RESET_CHANNEL, allowing history messages to be preserved via initMessages. */
|
|
105
105
|
autoResetChannel?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* When true, the in-flight SSE run is kept alive when the chatbot unmounts
|
|
108
|
+
* (e.g. the user navigates to another in-app page) instead of being aborted,
|
|
109
|
+
* so that round can finish on the backend. The detached connection cleans
|
|
110
|
+
* itself up once the run completes, or after a safety timeout if the run
|
|
111
|
+
* never finishes. Defaults to false — other SDK consumers are unaffected.
|
|
112
|
+
*
|
|
113
|
+
* Note: this only covers in-app unmounts. A full page reload / tab close /
|
|
114
|
+
* network loss still tears the connection down, since the page itself is gone.
|
|
115
|
+
*/
|
|
116
|
+
keepConnectionOnUnmount?: boolean;
|
|
106
117
|
/** Optional user identity hint. When provided, all requests will include the `X-ASGARD-USER-IDENTITY-HINT` header. */
|
|
107
118
|
userIdentityHint?: string;
|
|
108
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-template.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/chart-template/chart-template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"chart-template.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/chart-template/chart-template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuD,MAAM,OAAO,CAAC;AAEvF,OAAO,EAAE,sBAAsB,EAAwB,MAAM,iBAAiB,CAAC;AAO/E,UAAU,kBAAkB;IAC1B,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CA6FlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-template.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/table-template/table-template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4D,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"table-template.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/table-template/table-template.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4D,MAAM,OAAO,CAAC;AAE5F,OAAO,EACL,sBAAsB,EAKvB,MAAM,iBAAiB,CAAC;AAOzB,UAAU,kBAAkB;IAC1B,OAAO,EAAE,sBAAsB,CAAC;CACjC;AA6HD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAuRlE"}
|
|
@@ -83,6 +83,11 @@ export interface AsgardServiceContextProviderProps {
|
|
|
83
83
|
onMessageSent?: () => void;
|
|
84
84
|
/** Whether to automatically reset channel on mount. Defaults to true. */
|
|
85
85
|
autoResetChannel?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* When true, the in-flight SSE run is kept alive on unmount instead of being
|
|
88
|
+
* aborted, so it can finish on the backend. Defaults to false.
|
|
89
|
+
*/
|
|
90
|
+
keepConnectionOnUnmount?: boolean;
|
|
86
91
|
/**
|
|
87
92
|
* Fired once the chat channel is ready to accept messages. Re-fires after
|
|
88
93
|
* channel reset.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asgard-service-context.d.ts","sourceRoot":"","sources":["../../src/context/asgard-service-context.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"asgard-service-context.d.ts","sourceRoot":"","sources":["../../src/context/asgard-service-context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,11 @@ import { ClientConfig, AsgardServiceClient } from '@asgard-js/core';
|
|
|
2
2
|
|
|
3
3
|
interface UseAsgardServiceClientProps {
|
|
4
4
|
config: ClientConfig;
|
|
5
|
+
/**
|
|
6
|
+
* When true, the in-flight SSE run is kept alive on unmount instead of being
|
|
7
|
+
* aborted, so it can finish on the backend. Defaults to false.
|
|
8
|
+
*/
|
|
9
|
+
keepConnectionOnUnmount?: boolean;
|
|
5
10
|
}
|
|
6
11
|
export declare function useAsgardServiceClient(props: UseAsgardServiceClientProps): AsgardServiceClient | null;
|
|
7
12
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-asgard-service-client.d.ts","sourceRoot":"","sources":["../../src/hooks/use-asgard-service-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAa,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-asgard-service-client.d.ts","sourceRoot":"","sources":["../../src/hooks/use-asgard-service-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAa,MAAM,iBAAiB,CAAC;AAU/E,UAAU,2BAA2B;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,mBAAmB,GAAG,IAAI,CAuErG"}
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&family=Space+Grotesk:wght@300..700&display=swap";._api_key_input_7488d_1{width:360px;max-width:calc(100vw - 32px);background-color:var(--asg-color-bg);border-radius:12px;padding:24px;border:.5px solid var(--asg-color-border)}@media(max-width:480px){._api_key_input_7488d_1{width:100%;max-width:none;padding:20px;margin:0 16px}}._api_key_input__header_7488d_18{display:flex;flex-direction:column;gap:8px;align-items:center;margin-bottom:20px}._api_key_input__icon_7488d_26{width:40px;height:40px}._api_key_input__title_7488d_31{margin:0;font-size:20px;font-weight:500;color:#fff}._api_key_input__form_7488d_38{width:100%;display:flex;flex-direction:column;gap:20px}._api_key_input__label_7488d_45{display:block;font-size:14px;color:#ffffffb3;margin-bottom:8px}._api_key_input__input_wrapper_7488d_52{position:relative;width:100%}._api_key_input__input_7488d_52{width:100%;height:48px;padding:0 40px 0 12px;font-size:14px;font-weight:400;color:#fffc;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;outline:none;transition:all .2s ease;box-sizing:border-box}@media(max-width:480px){._api_key_input__input_7488d_52{height:44px;font-size:16px}}._api_key_input__input_7488d_52::placeholder{color:#fff6}._api_key_input__input_7488d_52:focus{border-color:#ffffff4d;background:#ffffff14}._api_key_input__input--error_7488d_84{border-color:#ff4d4f;background:#ff4d4f0d}._api_key_input__input--disabled_7488d_88{opacity:.5;cursor:not-allowed}._api_key_input__toggle_button_7488d_93{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}._api_key_input__toggle_button_7488d_93:hover:not(:disabled){color:#ffffffb3;background:#ffffff0d}._api_key_input__toggle_button_7488d_93:disabled{opacity:.3;cursor:not-allowed}._api_key_input__toggle_icon_7488d_118{width:16px;height:16px}._api_key_input__error_message_7488d_123{margin-top:6px;font-size:12px;color:#ff4d4f}._api_key_input__submit_button_7488d_129{width:100%;height:48px;border:none;border-radius:6px;background-color:#5856d6;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;outline:none}@media(max-width:480px){._api_key_input__submit_button_7488d_129{height:44px;font-size:16px}}._api_key_input__submit_button_7488d_129:disabled{opacity:.5;cursor:not-allowed;transform:none}._chatbot_header_luxt4_1{border-bottom:1px solid #434343}._chatbot_header_luxt4_1 ._chatbot_header__content_luxt4_4{margin:0 auto;max-width:1200px;padding:var(--asg-spacing-4);display:flex;justify-content:space-between}._chatbot_header__title_luxt4_12{display:flex;flex-direction:row;align-items:center;gap:var(--asg-spacing-2)}._chatbot_header__title_luxt4_12>h4{margin:0;color:#fff}._chatbot_header__extra_luxt4_23{display:flex;flex-direction:row;align-items:center;gap:var(--asg-spacing-3)}._chatbot_header__extra_luxt4_23>div{width:24px;height:24px;display:flex;justify-content:center;align-items:center}._chatbot_header__extra_luxt4_23>div>svg{width:15px;height:15px;cursor:pointer}._chatbot_header__extra_luxt4_23>div>svg:hover{opacity:.5}._chatbot_body_wrapper_13zns_1{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}._chatbot_body_13zns_1{flex:1;min-height:0;overflow-x:hidden;overflow-y:scroll;overscroll-behavior-y:contain}._chatbot_body_13zns_1 ._chatbot_body__content_13zns_16{margin:0 auto;display:flex;flex-direction:column;padding:16px;gap:16px;max-width:1200px}._template_box_rjm7y_1{width:100%;display:flex;gap:8px}._template_box--bot_rjm7y_7._template_box--horizontal_rjm7y_7{flex-direction:row}._template_box--bot_rjm7y_7._template_box--vertical_rjm7y_10{flex-direction:column}._template_box--user_rjm7y_14{flex-direction:row-reverse}._template_box--empty_rjm7y_18{margin-top:-8px}._template_box_content_fs2wk_1{width:100%;display:flex;flex-direction:column;gap:8px}._content_fs2wk_8{width:100%;display:flex;flex-direction:row;gap:8px}._quick_replies_box_zoq7y_1{display:flex;flex-wrap:wrap;gap:8px}._quick_reply_zoq7y_7{font:inherit;font-size:13px;padding:4px 8px;border-radius:8px;border:1px solid #434343;background:#58585833;color:#fff;cursor:pointer}._references_wrapper_qse5c_1{width:100%;display:flex;flex-direction:row;gap:8px;margin-top:4px}._references_box_qse5c_9{display:inline-block;padding:8px 12px;border-radius:8px;word-break:break-all}._references_box--bot_qse5c_16{max-width:70%;background:#585858;color:#fff;border-top-left-radius:0}._references_inner_qse5c_23{width:100%;display:flex;flex-direction:column}._references_header_qse5c_29{display:flex;align-items:center;gap:8px;margin-bottom:8px}._references_title_qse5c_36{font-size:inherit;font-weight:700;white-space:nowrap;color:#8c8c8c}._references_divider_qse5c_43{flex:1;height:1px;min-width:0;background-color:#3d3d3d}._references_list_qse5c_50{display:flex;flex-direction:column;gap:8px}._reference_item_text_qse5c_56,._reference_item_qse5c_56{font-size:.75em;word-break:break-all;color:inherit}._reference_item_qse5c_56{border:none;background:transparent;cursor:pointer;text-align:left;padding:0;transition:opacity .2s}._reference_item_qse5c_56:hover{opacity:.8}._reference_item_qse5c_56:active{opacity:.6}._reference_item_qse5c_56>span{word-break:break-all}._reference_link_qse5c_80{text-decoration:underline}._time_h4puu_1{display:flex;align-items:flex-end;font-size:12px;color:#8c8c8c}._message_actions_mnoya_1{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}._message_action_mnoya_1{font:inherit;font-size:13px;padding:0;border:none;background:transparent;color:#4a9eff;cursor:pointer;text-decoration:none}._message_action_mnoya_1:hover{text-decoration:underline}._bot_avatar_1ch7m_1{flex:0 0 auto;width:24px;height:24px;border-radius:50%}._bot_avatar--invisible_1ch7m_8{visibility:hidden}._card_root_1kvwl_1{width:255px;max-height:400px;border-radius:8px;background:#333;overflow:hidden;display:grid;grid-template-rows:max-content auto}._card_content_1kvwl_11{display:grid;grid-template-rows:max-content 1fr max-content;gap:var(--asg-spacing-2);padding:12px;line-height:1.5em}._card_title_1kvwl_19{color:#fff;margin:0;font-size:15px}._card_description_1kvwl_25{color:#8c8c8c;font-size:13px;font-weight:400;max-height:4.5em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-underline-position:from-font;text-decoration-skip-ink:none}._card_actions_1kvwl_40{display:flex;flex-direction:column;gap:8px}._card_actions_1kvwl_40>button{width:100%;height:32px;line-height:32px;text-align:center;border:none;border-radius:4px;background:#4767eb;color:#fff;font-size:15px;cursor:pointer}._text_609xr_1{display:inline-block;padding:8px 12px;border-radius:8px;color:#fff;word-break:break-all}._text_609xr_1>span{word-break:break-all}._text_609xr_1 p{margin:0 0 .5em}._text_609xr_1 p:last-child{margin-bottom:0}._text--user_609xr_18{max-width:75%;background:#4767eb;border-top-right-radius:0}._text--bot_609xr_24{max-width:70%;background:#585858;border-top-left-radius:0}._content_609xr_30{display:flex;flex-direction:column;gap:8px}._typing-indicator_609xr_36{display:inline-flex;align-items:flex-end;justify-content:center}._typing-indicator_609xr_36 ._dot_609xr_41{width:2px;height:2px;margin:0 2px;background-color:#fff;border-radius:50%;animation:_blink_609xr_1 1.4s infinite ease-in-out both}._typing-indicator_609xr_36 ._dot_609xr_41:nth-child(1){animation-delay:0s}._typing-indicator_609xr_36 ._dot_609xr_41:nth-child(2){animation-delay:.2s}._typing-indicator_609xr_36 ._dot_609xr_41:nth-child(3){animation-delay:.4s}._table_container_609xr_59{overflow-x:scroll}._table_container_609xr_59 table{width:100%;border-collapse:collapse;border-spacing:0;min-width:600px;font-size:14px;background-color:#1f1f1f;color:#ffffffd9;border:1px solid #333;border-radius:4px;overflow:hidden}._table_container_609xr_59 table thead{position:sticky;top:0;z-index:1;background-color:#141414}._table_container_609xr_59 table th,._table_container_609xr_59 table td{padding:12px 16px;border-bottom:1px solid #333;text-align:left;white-space:nowrap;transition:background-color .3s,color .3s}._table_container_609xr_59 table th{font-weight:600;color:#fffffff2}._table_container_609xr_59 table tbody tr:nth-child(odd){background-color:#1c1c1c}._table_container_609xr_59 table tbody tr:nth-child(2n){background-color:#111}._table_container_609xr_59 table tbody tr:hover td{background-color:#262626}._table_container_609xr_59 table tbody tr:last-child td{border-bottom:none}@keyframes _blink_609xr_1{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}._h1_1y0bh_1{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1.875rem;line-height:2.25rem}._h2_1y0bh_9{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1.5rem;line-height:2rem}._h3_1y0bh_17{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1.25rem;line-height:1.75rem}._h4_1y0bh_25{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1.125rem;line-height:1.75rem}._h5_1y0bh_33{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1rem;line-height:1.5rem}._h6_1y0bh_41{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:.875rem;line-height:1.25rem}._p_1y0bh_49{margin-bottom:.75rem;line-height:1.6}._p_1y0bh_49:last-child{margin-bottom:0}._ul_1y0bh_57{margin-bottom:.75rem;padding-left:1.5rem;list-style-type:disc;list-style-position:inside;white-space:normal}._ul_1y0bh_57 ._ul_1y0bh_57,._ul_1y0bh_57 ._ol_1y0bh_65{padding-left:1.5rem}._ol_1y0bh_65{margin-bottom:.75rem;padding-left:1.5rem;list-style-type:decimal;list-style-position:inside;white-space:normal}._ol_1y0bh_65 ._ul_1y0bh_57,._ol_1y0bh_65 ._ol_1y0bh_65{padding-left:1.5rem}._li_1y0bh_81{padding:.25rem 0}._li_1y0bh_81>p{display:inline}._a_1y0bh_88{font-weight:500;color:var(--asgard-markdown-link, #3b82f6);text-decoration:underline;overflow-wrap:anywhere}._a_1y0bh_88:hover{color:var(--asgard-markdown-link-hover, #2563eb)}._blockquote_1y0bh_98{margin:.75rem 0;padding:.5rem 1rem;border-left:4px solid var(--asgard-markdown-blockquote-border, rgba(255, 255, 255, .3));color:var(--asgard-markdown-blockquote, rgba(255, 255, 255, .7));font-style:italic}._blockquote_1y0bh_98 p{margin:0}._hr_1y0bh_109{margin:1.5rem 0;border:none;border-top:1px solid var(--asgard-markdown-hr, rgba(255, 255, 255, .2))}._strong_1y0bh_115{font-weight:600}._em_1y0bh_119{font-style:italic}._code_1y0bh_123{padding:.15rem .4rem;font-size:.9em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;background-color:var(--asgard-markdown-code-bg, rgba(255, 255, 255, .1));border-radius:4px}._pre_1y0bh_131{margin:.75rem 0;padding:.75rem 1rem;overflow-x:auto;font-size:.875rem;line-height:1.5;background-color:var(--asgard-markdown-pre-bg, #1a1a1a);border-radius:6px}._pre_1y0bh_131 code{padding:0;font-size:inherit;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;background-color:transparent;border-radius:0}._img_1y0bh_148{max-width:100%;height:auto;border-radius:4px}._table_1y0bh_154{width:100%;margin:.75rem 0;border-collapse:collapse;font-size:.9rem}._thead_1y0bh_161{background-color:var(--asgard-markdown-table-header-bg, rgba(255, 255, 255, .05))}._tbody_1y0bh_165 tr:nth-child(2n){background-color:var(--asgard-markdown-table-row-alt, rgba(255, 255, 255, .02))}._tr_1y0bh_169{border-bottom:1px solid var(--asgard-markdown-table-border, rgba(255, 255, 255, .2))}._th_1y0bh_161,._td_1y0bh_174{padding:.5rem .75rem;text-align:left;border:1px solid var(--asgard-markdown-table-border, rgba(255, 255, 255, .2))}._th_1y0bh_161{font-weight:600}._carousel_root_v06v3_1{width:100%;display:flex;flex-wrap:nowrap;overflow-x:scroll;gap:8px;align-items:stretch}._carousel_root_v06v3_1>div{flex:0 0 auto}._carousel_time_v06v3_13{justify-content:flex-end}._hint_root_1hmle_1{margin:0 auto;display:flex;flex-direction:column;align-items:center;padding:4px 12px;gap:4px;border-radius:2px;background:#58585833;font-size:13px;color:#fff;word-break:break-all}._hint_root_1hmle_1._hint_root__error_1hmle_14{color:var(--asg-color-error)}._hint_root_1hmle_1 ._error_hint_title_1hmle_17{display:flex;align-items:center;gap:var(--asg-spacing-2);color:var(--asg-color-error)}._hint_root_1hmle_1 ._error_hint_message_1hmle_23{font-size:12px;color:#fff}._hint_root_1hmle_1 ._error_hint_message_1hmle_23>span{border-bottom:1px solid white;cursor:pointer}._hint_text_1hmle_32{color:#fff}._time_1hmle_36{font-size:12px;color:#8c8c8c}._text_we7dz_1{display:inline-block;padding:8px 12px;border-radius:8px;color:#fff;word-break:break-all}._text_we7dz_1>span{word-break:break-all}._text_we7dz_1 ._md_container_we7dz_11{display:inline-block}._text_we7dz_1 ._md_container_we7dz_11 p{margin:0}._text--user_we7dz_18{max-width:75%;background:#4767eb;border-top-right-radius:0}._text--bot_we7dz_24{max-width:70%;background:#585858;border-top-left-radius:0}._chart_time_we7dz_30{justify-content:flex-end}._quick_replies_box_we7dz_34{display:flex;flex-wrap:wrap;gap:8px}._quick_reply_we7dz_40{font:inherit;font-size:13px;padding:4px 8px;border-radius:8px;border:1px solid #434343;background:#58585833;color:#fff;cursor:pointer}._image_box_8cz9p_1{display:flex;align-items:center;justify-content:flex-start;max-width:80%;border-radius:8px;box-sizing:border-box}._image_box_8cz9p_1>img{width:100%;border-radius:8px}._time_8cz9p_14{justify-content:flex-end}._quick_replies_box_8cz9p_18{display:flex;flex-wrap:wrap;gap:8px}._full_screen_8cz9p_24{display:flex;align-items:center;justify-content:center;z-index:9999;position:fixed;top:0;left:0;background:#1e1e1ecc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%;height:100%;overflow:hidden;box-sizing:border-box}._full_screen_8cz9p_24>._imageOrigin_8cz9p_39{width:100%;max-width:100%;height:100%;max-height:90%;border-radius:8px;background-repeat:no-repeat;background-size:contain;background-position:center}._full_screen_8cz9p_24>._full_screen_close_8cz9p_49{position:absolute;top:16px;right:16px;font-size:24px;cursor:pointer;z-index:9999}._quick_reply_8cz9p_58{font:inherit;font-size:13px;padding:4px 8px;border-radius:8px;border:1px solid #434343;background:#58585833;color:#fff;cursor:pointer}._video_box_119ne_1{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;max-width:80%;border-radius:8px;box-sizing:border-box;gap:8px}._video_preview_119ne_12{position:relative;width:100%;border-radius:8px;overflow:hidden;cursor:pointer;background:#000}._video_preview_119ne_12>img{width:100%;display:block;border-radius:8px}._video_preview_119ne_12:hover ._play_button_119ne_25{transform:translate(-50%,-50%) scale(1.1)}._play_button_119ne_25{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:transform .2s ease;pointer-events:none}._duration_badge_119ne_39{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}._video_player_wrapper_119ne_51{position:relative;border-radius:8px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}._video_player_119ne_51{width:100%;height:100%;display:block;border-radius:8px;object-fit:contain}._youtube_player_119ne_69{width:100%;height:100%;border-radius:8px;border:none}._video_text_119ne_76{font-size:14px;color:inherit;word-wrap:break-word}._time_119ne_82{justify-content:flex-end}._quick_replies_box_119ne_86{display:flex;flex-wrap:wrap;gap:8px}._quick_reply_119ne_92{font:inherit;font-size:13px;padding:4px 8px;border-radius:8px;border:1px solid #434343;background:#58585833;color:#fff;cursor:pointer}._audio_box_1y8ew_1{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;max-width:60%;min-width:250px;border-radius:8px;box-sizing:border-box;gap:8px}._audio_player_1y8ew_13{width:100%;min-width:250px;border-radius:8px}._audio_player_1y8ew_13::-webkit-media-controls-download-button{display:none}._audio_player_1y8ew_13::-webkit-media-controls-fullscreen-button{display:none}._audio_player_1y8ew_13::-webkit-media-controls-remote-playback-button{display:none}._card_root_1yq01_1{width:255px;max-height:400px;border-radius:8px;overflow:hidden;display:grid;grid-template-rows:max-content auto}._map_container_1yq01_10{width:100%;height:170px;overflow:hidden;position:relative}._map_iframe_1yq01_17{display:block;width:100%;height:100%;border:none;pointer-events:none}._card_content_1yq01_25{display:grid;grid-template-rows:1.5em auto;gap:var(--asg-spacing-2);padding:12px;line-height:1.5em;background:#333;border-radius:0 0 8px 8px}._card_title_1yq01_35{color:#fff;margin:0;font-size:15px;font-weight:600}._card_description_1yq01_42{color:#8c8c8c;font-size:13px;font-weight:400;max-height:4.5em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-underline-position:from-font;text-decoration-skip-ink:none}._message_wrapper_1cjr0_1{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:75%}._text_bubble_1cjr0_9{display:inline-block;padding:8px 12px;border-radius:8px;white-space:pre-wrap;word-break:break-word}._text_bubble--user_1cjr0_16{background:#4767eb;color:#fff;border-top-right-radius:0}._images_container_1cjr0_22{display:flex;flex-direction:column;gap:8px;width:100%}._image_wrapper_1cjr0_29{position:relative;width:300px;aspect-ratio:3/2;border-radius:8px;overflow:hidden;background:#0000000d;box-shadow:0 1px 2px #0000001a;align-self:flex-end}._uploaded_image_1cjr0_40{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;transition:opacity .2s ease}._uploaded_image_1cjr0_40:hover{opacity:.95}._documents_container_1cjr0_52{display:flex;flex-direction:column;gap:8px;width:100%;align-items:flex-end}._document_card_1cjr0_60{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;max-width:300px}._document_icon_1cjr0_69{flex-shrink:0}._document_name_1cjr0_73{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._image_modal_1cjr0_80{position:fixed;inset:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer;padding:20px}._image_modal_1cjr0_80 ._modal_image_1cjr0_94{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000080}._tool_call_group_1rad3_1{width:100%;display:flex;flex-direction:column;gap:8px}._tool_call_group__header_1rad3_8{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}._tool_call_group__chevron_1rad3_16{width:16px;height:16px;color:var(--asgard-tool-call-icon, #8c8c8c);transition:transform .2s ease;flex-shrink:0}._tool_call_group__chevron--expanded_1rad3_24{transform:rotate(90deg)}._tool_call_group__title_1rad3_28{font-size:14px;font-weight:500;color:var(--asgard-tool-call-text, #fff)}._tool_call_group__content_1rad3_34{display:flex;flex-direction:column;gap:8px}._tool_call_item_1rad3_40{display:flex;flex-direction:column;background-color:var(--asgard-tool-call-item-bg, #1a1a1a);border-radius:8px;overflow:hidden}._tool_call_item__header_1rad3_48{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}._tool_call_item__header_1rad3_48:hover{background-color:var(--asgard-tool-call-hover, rgba(255, 255, 255, .05))}._tool_call_item__left_1rad3_61{display:flex;align-items:center;gap:8px}._tool_call_item__chevron_1rad3_67{width:14px;height:14px;color:var(--asgard-tool-call-icon, #8c8c8c);transition:transform .2s ease;flex-shrink:0}._tool_call_item__chevron--expanded_1rad3_75{transform:rotate(90deg)}._tool_call_item__label_1rad3_79{font-size:14px;color:var(--asgard-tool-call-text, #fff)}._tool_call_item__status_1rad3_84{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}._tool_call_item__status_icon_1rad3_93{width:20px;height:20px}._tool_call_item__status_icon--completed_1rad3_98{color:#52c41a}._tool_call_item__status_icon--error_1rad3_102{color:#ff4d4f}._tool_call_item__status_icon--pending_1rad3_106{color:#faad14;animation:_pulse_1rad3_1 1.5s ease-in-out infinite}@keyframes _pulse_1rad3_1{0%,to{opacity:1}50%{opacity:.5}}._tool_call_item__content_1rad3_119{padding:0 16px 12px 38px;display:flex;flex-direction:column;gap:8px}._json_viewer_1rad3_126{display:flex;flex-direction:column;border-radius:6px;overflow:hidden;background-color:var(--asgard-json-viewer-bg, #141414);border:1px solid var(--asgard-tool-call-border, #333)}._json_viewer__header_1rad3_135{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background-color:var(--asgard-json-viewer-header-bg, #1f1f1f);border-bottom:1px solid var(--asgard-tool-call-border, #333)}._json_viewer__title_1rad3_144{font-size:12px;font-weight:500;color:var(--asgard-tool-call-text-secondary, #8c8c8c)}._json_viewer__actions_1rad3_150{display:flex;align-items:center;gap:4px}._json_viewer__action_btn_1rad3_156{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--asgard-tool-call-icon, #8c8c8c);cursor:pointer;border-radius:4px;transition:all .2s ease}._json_viewer__action_btn_1rad3_156:hover{background-color:var(--asgard-tool-call-hover, rgba(255, 255, 255, .1));color:var(--asgard-tool-call-text, #fff)}._json_viewer__action_btn_1rad3_156 svg{width:14px;height:14px}._json_viewer__content_1rad3_178{padding:8px 10px;max-height:200px;overflow:auto}._json_viewer__code_1rad3_184{font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px;line-height:1.5;color:var(--asgard-json-viewer-text, #d4d4d4);white-space:pre-wrap;word-break:break-all;margin:0}._json_token--key_1rad3_194{color:#9cdcfe}._json_token--string_1rad3_198{color:#ce9178}._json_token--number_1rad3_202{color:#b5cea8}._json_token--boolean_1rad3_206,._json_token--null_1rad3_210{color:#569cd6}._json_token--punctuation_1rad3_214{color:#d4d4d4}._json_modal__backdrop_1rad3_218{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}._json_modal_1rad3_218{display:flex;flex-direction:column;width:100%;max-width:800px;max-height:80vh;background-color:var(--asgard-json-viewer-bg, #141414);border:1px solid var(--asgard-tool-call-border, #333);border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #00000080}._json_modal__header_1rad3_245{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--asgard-json-viewer-header-bg, #1f1f1f);border-bottom:1px solid var(--asgard-tool-call-border, #333)}._json_modal__title_1rad3_254{font-size:14px;font-weight:500;color:var(--asgard-tool-call-text, #fff)}._json_modal__actions_1rad3_260{display:flex;align-items:center;gap:8px}._json_modal__action_btn_1rad3_266{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--asgard-tool-call-icon, #8c8c8c);cursor:pointer;border-radius:4px;transition:all .2s ease}._json_modal__action_btn_1rad3_266:hover{background-color:var(--asgard-tool-call-hover, rgba(255, 255, 255, .1));color:var(--asgard-tool-call-text, #fff)}._json_modal__action_btn_1rad3_266 svg{width:16px;height:16px}._json_modal__content_1rad3_288{flex:1;padding:16px;overflow:auto}._json_modal__content_1rad3_288 ._json_viewer__code_1rad3_184{font-size:13px;line-height:1.6}._container_u8l6w_1{display:flex;flex-direction:column;gap:8px;width:100%;position:relative;background:#585858;color:#fff;border-radius:8px}._header_u8l6w_12{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px 8px 0 0}._title_u8l6w_20{font-size:14px;font-weight:600}._download_button_u8l6w_25{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:#ffffff1a;color:inherit;cursor:pointer;transition:background-color .2s}._download_button_u8l6w_25:hover{background:#fff3}._download_button_u8l6w_25:active{background:#ffffff4d}._table_wrapper_u8l6w_45{overflow-x:auto;border-radius:8px}._table_u8l6w_45{width:100%;border-collapse:collapse;font-size:13px}._table_header_u8l6w_56{background:#0003}._table_header_cell_u8l6w_60{padding:10px 12px;text-align:left;font-weight:600;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.1)}._table_row_u8l6w_68:hover{background:#ffffff0d}._table_row_u8l6w_68:not(:last-child){border-bottom:1px solid rgba(255,255,255,.1)}._table_cell_u8l6w_75{padding:10px 12px;white-space:nowrap}._pagination_u8l6w_80{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px}._pagination_button_u8l6w_88{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;color:inherit;cursor:pointer;font-size:14px}._pagination_button_u8l6w_88:hover:not(:disabled){background:#ffffff1a}._pagination_button_u8l6w_88:disabled{opacity:.4;cursor:not-allowed}._pagination_info_u8l6w_109{font-size:13px;padding:0 12px}._empty_state_u8l6w_114{padding:24px;text-align:center;font-size:13px;opacity:.7}._time_u8l6w_121{justify-content:flex-end}._snackbar_u8l6w_125{position:absolute;bottom:-48px;left:0;right:0;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#282828f2;border-radius:8px;box-shadow:0 4px 12px #0000004d;animation:_slideUp_u8l6w_1 .2s ease-out}@keyframes _slideUp_u8l6w_1{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}._snackbar_text_u8l6w_150{flex:1;font-size:13px;color:#fff}._snackbar_action_u8l6w_156{padding:4px 12px;border:none;border-radius:4px;background:transparent;color:#4fc3f7;font-size:13px;font-weight:500;cursor:pointer}._snackbar_action_u8l6w_156:hover{background:#4fc3f71a}._snackbar_close_u8l6w_170{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#fff9;font-size:18px;cursor:pointer}._snackbar_close_u8l6w_170:hover{background:#ffffff1a;color:#fff}._root_1vqc7_1{display:flex;flex-direction:column;gap:8px;width:320px;max-width:100%}._chip_1vqc7_9{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#333;border:none;text-align:left;cursor:pointer;color:inherit;font:inherit}._chip_1vqc7_9:hover{background:#404040}._chip_1vqc7_9:focus-visible{outline:2px solid rgb(71,103,235);outline-offset:2px}._icon_box_1vqc7_30{flex:0 0 auto;width:36px;height:36px;border-radius:8px;background:#4767eb;color:#fff;display:flex;align-items:center;justify-content:center}._icon_box_1vqc7_30>svg{width:20px;height:20px}._body_1vqc7_46{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}._title_1vqc7_54{color:#fff;font-size:14px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._text_1vqc7_64{color:#8c8c8c;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._download_button_1vqc7_73{flex:0 0 auto;width:32px;height:32px;border-radius:8px;background:transparent;border:none;color:#b4b4b4;display:flex;align-items:center;justify-content:center;cursor:pointer}._download_button_1vqc7_73>svg{width:18px;height:18px}._download_button_1vqc7_73:hover{background:#505050;color:#fff}._download_button_1vqc7_73:focus-visible{outline:2px solid rgb(71,103,235);outline-offset:2px}._chatbot_footer_1fl03_1{border-top:1px solid #434343}._chatbot_footer_1fl03_1 ._chatbot_footer__content_1fl03_4{display:grid;align-items:center;grid-template-columns:auto 1fr auto;margin:0 auto;max-width:1200px;padding:var(--asg-spacing-3) var(--asg-spacing-4);gap:var(--asg-spacing-2)}@keyframes _prevent_ios_focus_scroll_1fl03_1{0%{opacity:0}to{opacity:1}}._chatbot_textarea_1fl03_22{font:inherit;font-size:16px;height:40px!important;max-height:240px;padding:8px 8px 8px 12px;background:var(--asg-color-bg);border:1px solid rgb(67,67,67);border-radius:2px;color:#8c8c8c;resize:none;overflow:hidden}._chatbot_textarea_1fl03_22::placeholder{color:var(--asg-color-text-placeholder)}._chatbot_textarea_1fl03_22._chatbot_textarea--focused_1fl03_39{animation:_prevent_ios_focus_scroll_1fl03_1 .01s}._chatbot_submit_button_1fl03_43{font:inherit;width:24px;height:100%;max-height:38px;display:flex;justify-content:center;align-items:center;font-size:16px;border:none;background:transparent;border-radius:50%;color:#fff;cursor:pointer}._chatbot_submit_button_1fl03_43>svg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:auto;min-width:16px;height:60%;max-height:38px;min-height:16px}._chatbot_submit_button_1fl03_43._chatbot_submit_button__disabled_1fl03_68{opacity:.6}._attachment_buttons_1fl03_72,._send_zone_1fl03_78{display:flex;gap:var(--asg-spacing-2);align-items:center}._attachment_menu_container_1fl03_84{position:relative}._attachment_menu_1fl03_84{position:absolute;bottom:100%;left:0;margin-bottom:8px;min-width:160px;border-radius:8px;border:1px solid var(--asg-color-border, #3d3d3d);background:var(--asg-color-bg, #1a1a1a);box-shadow:0 4px 12px #0000004d;overflow:hidden;z-index:100}._attachment_menu_item_1fl03_102{display:flex;align-items:center;gap:var(--asg-spacing-2, 8px);width:100%;padding:10px 14px;border:none;background:transparent;color:var(--asg-color-text, #e0e0e0);font:inherit;font-size:14px;cursor:pointer;transition:background-color .15s ease;text-align:left}._attachment_menu_item_1fl03_102:hover{background:#ffffff1a}._attachment_menu_item_1fl03_102>svg{width:18px;height:18px;flex-shrink:0}._attachment_menu_item_1fl03_102>span{white-space:nowrap}._attachment_button_1fl03_72{font:inherit;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border:none;background:transparent;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s ease;position:relative}._attachment_button_1fl03_72:disabled{opacity:.6;cursor:not-allowed}._attachment_button_1fl03_72>svg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:18px;height:18px}._file_input_hidden_1fl03_156{display:none}._file_preview_container_1fl03_160{width:100%;max-width:1200px;overflow-x:auto;margin:0 auto;padding:var(--asg-spacing-3, 12px);padding-bottom:0}._file_preview_grid_1fl03_169{display:flex;gap:var(--asg-spacing-2, 8px);flex-wrap:nowrap}._file_preview_item_1fl03_175{position:relative;background:var(--asg-color-bg-secondary, #2d2d2d);border:1px solid var(--asg-color-border, #3d3d3d);border-radius:var(--asg-radius-md, 8px);overflow:hidden;width:100px;height:80px;flex-shrink:0}._file_preview_image_area_1fl03_186{width:100%;height:100%;background:var(--asg-color-bg-dark, #1a1a1a);display:flex;align-items:center;justify-content:center;position:relative}._file_preview_image_1fl03_186{max-width:100%;max-height:100%;object-fit:contain;cursor:pointer;transition:opacity .2s ease}._file_preview_image_1fl03_186:hover{opacity:.8}._file_remove_button_1fl03_207{position:absolute;top:var(--asg-spacing-1, 6px);right:var(--asg-spacing-1, 6px);width:20px;height:20px;border-radius:4px;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border:1px solid rgba(255,255,255,.1);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;padding:0}._file_upload_overlay_1fl03_226{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center}@keyframes _spin_1fl03_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._file_upload_spinner_1fl03_243{width:24px;height:24px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:_spin_1fl03_1 .8s linear infinite}._file_preview_item__error_1fl03_252{border-color:#ef4444}._file_error_overlay_1fl03_256{position:absolute;inset:0;background:#ef444433;display:flex;align-items:center;justify-content:center}._file_error_icon_1fl03_265{width:24px;height:24px;color:#ef4444}._image_modal_1fl03_271{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}._image_modal_content_1fl03_283{display:flex;flex-direction:column;align-items:center;gap:var(--asg-spacing-4, 16px)}._image_modal_image_1fl03_290{max-width:90vw;max-height:75vh;object-fit:contain;border-radius:var(--asg-radius-lg, 12px);box-shadow:0 20px 60px #0009;-webkit-user-select:none;user-select:none}._image_modal_close_button_1fl03_299{position:absolute;top:var(--asg-spacing-5, 20px);right:var(--asg-spacing-5, 20px);width:36px;height:36px;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;padding:0;transition:all .2s ease}._image_modal_close_button_1fl03_299:hover{background:#fff3;transform:scale(1.1)}._image_modal_close_button_1fl03_299:active{transform:scale(.95)}._document_preview_grid_1fl03_326{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--asg-spacing-2, 8px)}@media(max-width:768px){._document_preview_grid_1fl03_326{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}._document_preview_item_1fl03_337{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--asg-spacing-2, 8px);padding:var(--asg-spacing-3, 12px);background:var(--asg-color-bg-secondary, #2d2d2d);border:1px solid var(--asg-color-border, #3d3d3d);border-radius:var(--asg-radius-md, 8px);aspect-ratio:3/2;max-width:250px}._document_preview_icon_wrapper_1fl03_352{display:flex;align-items:center;justify-content:center;flex:1}._document_preview_icon_1fl03_352{width:48px;height:48px;color:var(--asg-color-text-secondary, #a0a0a0)}._document_preview_name_1fl03_365{font-size:12px;color:var(--asg-color-text, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}._chatbot_root_htsl5_2{--asg-color-blue-1: #edf0fd;--asg-color-blue-2: #d3dbfa;--asg-color-blue-3: #b0bef6;--asg-color-blue-4: #6882ef;--asg-color-blue-5: #8b9ff2;--asg-color-blue-6: #4767eb;--asg-color-blue-7: #3c58c8;--asg-color-blue-8: #3249a7;--asg-color-blue-9: #283b86;--asg-color-blue-10: #202e6a;--asg-color-orange-1: #ffeded;--asg-color-orange-2: #ffd4d5;--asg-color-orange-3: #ffb2b3;--asg-color-orange-4: #ff8f90;--asg-color-orange-5: #ff6d6f;--asg-color-orange-6: #ff4d4f;--asg-color-orange-7: #d94143;--asg-color-orange-8: #b53738;--asg-color-orange-9: #912c2d;--asg-color-orange-10: #732324;--asg-color-green-1: #eef9e8;--asg-color-green-2: #d5f1c8;--asg-color-green-3: #b5e69d;--asg-color-green-4: #92da6f;--asg-color-green-5: #71cf43;--asg-color-green-6: #52c41a;--asg-color-green-7: #46a716;--asg-color-green-8: #3a8b12;--asg-color-green-9: #2f700f;--asg-color-green-10: #25580c;--asg-color-yellow-1: #fef7eb;--asg-color-yellow-2: #fdebcf;--asg-color-yellow-3: #fcdba9;--asg-color-yellow-4: #facb82;--asg-color-yellow-5: #f8bb5c;--asg-color-yellow-6: #f7ac38;--asg-color-yellow-7: #d29230;--asg-color-yellow-8: #af7a28;--asg-color-yellow-9: #8d6220;--asg-color-yellow-10: #6f4d19;--asg-color-grey-1: #f3f3f3;--asg-color-grey-2: #e2e2e2;--asg-color-grey-3: #cbcbcb;--asg-color-grey-4: #b2b2b2;--asg-color-grey-5: #9b9b9b;--asg-color-grey-6: #585858;--asg-color-grey-7: #717171;--asg-color-grey-8: #5e5e5e;--asg-color-grey-9: #4c4c4c;--asg-color-grey-10: #3c3c3c;--asg-color-primary: #4767eb;--asg-color-primary-light: #8b9ff2;--asg-color-primary-dark: #3249a7;--asg-color-primary-on-primary: #ffffff;--asg-color-primary-hover-bg: rgba(139, 159, 242, .15);--asg-color-primary-selected-bg: rgba(71, 103, 235, .2);--asg-color-secondary: #585858;--asg-color-secondary-light: #b2b2b2;--asg-color-secondary-dark: #4c4c4c;--asg-color-secondary-on-secondary: #ffffff;--asg-color-secondary-hover-bg: rgba(178, 178, 178, .15);--asg-color-secondary-selected-bg: rgba(88, 88, 88, .2);--asg-color-error: #ff4d4f;--asg-color-error-light: #ff6d6f;--asg-color-error-dark: #d94143;--asg-color-error-on-error: #ffffff;--asg-color-error-hover-bg: rgba(255, 109, 111, .15);--asg-color-error-selected-bg: rgba(255, 77, 79, .2);--asg-color-warning: #f7ac38;--asg-color-warning-light: #f8bb5c;--asg-color-warning-dark: #af7a28;--asg-color-warning-on-warning: #ffffff;--asg-color-warning-hover-bg: rgba(248, 187, 92, .15);--asg-color-warning-selected-bg: rgba(247, 172, 56, .2);--asg-color-success: #52c41a;--asg-color-success-light: #71cf43;--asg-color-success-dark: #3a8b12;--asg-color-success-on-success: #ffffff;--asg-color-success-hover-bg: rgba(113, 207, 67, .15);--asg-color-success-selected-bg: rgba(82, 196, 26, .2);--asg-color-action-active: #ffffff;--asg-color-action-inactive: #8c8c8c;--asg-color-action-disabled: #595959;--asg-color-action-disabled-bg: #393939;--asg-color-text-primary: #ffffff;--asg-color-text-secondary: #8c8c8c;--asg-color-text-disabled: #595959;--asg-color-text-placeholder: #8c8c8c;--asg-color-bg: #141414;--asg-color-surface: #1f1f1f;--asg-color-divider: #333333;--asg-color-border: #434343;--asg-color-overlay-dark: rgba(0, 0, 0, .5);--asg-color-overlay-light: rgba(31, 31, 31, .9);--asg-radius-none: 0px;--asg-radius-xxs: 2px;--asg-radius-xs: 4px;--asg-radius-s: 6px;--asg-radius-md: 8px;--asg-radius-lg: 10px;--asg-radius-xl: 12px;--asg-radius-2xl: 16px;--asg-radius-3xl: 20px;--asg-radius-4xl: 24px;--asg-spacing-1: 4px;--asg-spacing-2: 8px;--asg-spacing-3: 12px;--asg-spacing-4: 16px;--asg-spacing-5: 24px;--asg-spacing-6: 32px;--asg-spacing-7: 40px;--asg-spacing-8: 48px;--asg-spacing-9: 64px;--asg-spacing-10: 96px;--asg-spacing-11: 160px;font-family:Space Grotesk,Noto Sans TC,sans-serif;height:100%;min-height:0}._chatbot_root_htsl5_2 *{line-height:1.5;box-sizing:border-box;min-width:0}._full_screen_htsl5_128{position:fixed;inset:0;background-color:var(--asg-color-bg)}._full_screen_htsl5_128 ._chatbot_container_htsl5_133{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}._chatbot_container_htsl5_133{display:grid;grid-template-rows:max-content 1fr max-content max-content;background-color:var(--asg-color-bg);overflow:hidden;overscroll-behavior:contain;position:relative}._container_32b6s_1{display:flex;flex-direction:column;align-items:center;width:360px;max-width:calc(100vw - 32px);padding:24px;gap:20px;background-color:var(--asg-color-bg);border:.5px solid var(--asg-color-border);border-radius:12px}@media(max-width:480px){._container_32b6s_1{width:100%;max-width:none;padding:20px;margin:0 16px}}._avatar_32b6s_22{width:40px;height:40px;display:flex;align-items:center;justify-content:center}._avatar_32b6s_22 svg,._avatar_32b6s_22 img{width:100%;height:100%}._message_32b6s_35{color:#ffffffb3;font-size:14px;line-height:1.5;text-align:center}._overlay_1r6z5_1{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background-color:#00000026;pointer-events:none}._overlay__content_1r6z5_12{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 48px;border:2px dashed var(--asg-color-primary, #6366f1);border-radius:16px;background-color:#ffffffe6}._overlay__icon_1r6z5_23{color:var(--asg-color-primary, #6366f1)}._overlay__text_1r6z5_27{font-size:16px;font-weight:500;color:var(--asg-color-primary, #6366f1)}._backdrop_1dyy6_1{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}._modal_1dyy6_12{display:flex;flex-direction:column;width:100%;max-width:520px;max-height:85vh;background-color:var(--asgard-consent-modal-bg, var(--asg-color-surface, #1f1f1f));border-radius:12px;overflow:hidden;box-shadow:0 16px 48px #0000003d}._header_1dyy6_24{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--asgard-consent-modal-border, var(--asg-color-border, #434343))}._title_1dyy6_33{font-size:15px;font-weight:600;line-height:1.4;color:var(--asgard-consent-modal-headline, var(--asg-color-text-primary, #ffffff));word-break:break-word}._title_tool_1dyy6_41{color:var(--asgard-consent-modal-accent, var(--asg-color-primary, #4f46e5))}._close_btn_1dyy6_45{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--asgard-consent-modal-muted, var(--asg-color-text-secondary, #8c8c8c));font-family:inherit;cursor:pointer;transition:background-color .15s ease}._close_btn_1dyy6_45:hover{background-color:#ffffff14}._close_btn_1dyy6_45 svg{width:16px;height:16px}._content_1dyy6_68{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}._meta_row_1dyy6_76{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--asgard-consent-modal-muted, var(--asg-color-text-secondary, #8c8c8c))}._meta_row_1dyy6_76 strong{color:var(--asgard-consent-modal-title, var(--asg-color-text-primary, #ffffff));font-weight:500}._input_section_1dyy6_89{display:flex;flex-direction:column;gap:8px}._input_toggle_1dyy6_95{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--asgard-consent-modal-muted, var(--asg-color-text-secondary, #8c8c8c));font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:0;align-self:flex-start}._input_toggle_1dyy6_95:hover{color:var(--asgard-consent-modal-title, var(--asg-color-text-primary, #ffffff))}._input_toggle_1dyy6_95 svg{width:14px;height:14px;transition:transform .2s ease}._input_toggle_expanded_1dyy6_118 svg{transform:rotate(90deg)}._input_viewer_1dyy6_122{background-color:var(--asgard-consent-modal-code-bg, #0f172a);border-radius:8px;overflow:hidden;border:1px solid var(--asgard-consent-modal-code-border, #1e293b)}._deny_reason_1dyy6_129{display:flex;flex-direction:column;gap:6px}._deny_reason_1dyy6_129 label{font-size:13px;font-weight:500;color:var(--asgard-consent-modal-title, var(--asg-color-text-primary, #ffffff))}._deny_reason_1dyy6_129 textarea{width:100%;min-height:72px;max-height:160px;padding:8px 10px;font-size:13px;line-height:1.5;border-radius:6px;border:1px solid var(--asgard-consent-modal-border, var(--asg-color-border, #434343));color:var(--asgard-consent-modal-title, var(--asg-color-text-primary, #ffffff));background-color:var(--asgard-consent-modal-input-bg, var(--asg-color-bg, #141414));resize:vertical;font-family:inherit}._deny_reason_1dyy6_129 textarea:focus{outline:none;border-color:var(--asgard-consent-modal-accent, var(--asg-color-primary, #4f46e5));box-shadow:0 0 0 3px color-mix(in srgb,var(--asgard-consent-modal-accent, var(--asg-color-primary, #4f46e5)) 15%,transparent)}._actions_1dyy6_161{display:flex;flex-direction:column;gap:8px;padding:12px 20px 20px}._action_btn_1dyy6_168{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease}._action_btn_1dyy6_168:disabled{cursor:not-allowed;opacity:.6}._action_primary_1dyy6_186{background-color:var(--asgard-consent-modal-accent, var(--asg-color-primary, #4f46e5));color:var(--asgard-consent-modal-primary-fg, #000000)}._action_primary_1dyy6_186:hover:not(:disabled){background-color:var(--asgard-consent-modal-accent-hover, var(--asg-color-primary-dark, #4338ca))}._action_secondary_1dyy6_194{background-color:transparent;color:var(--asgard-consent-modal-accent, var(--asg-color-text-primary, #ffffff));border-color:transparent}._action_secondary_1dyy6_194:hover:not(:disabled){background-color:#ffffff0f}._action_danger_1dyy6_203{background-color:transparent;color:var(--asgard-consent-modal-danger, var(--asg-color-error, #dc2626));border-color:transparent}._action_danger_1dyy6_203:hover:not(:disabled){background-color:color-mix(in srgb,var(--asgard-consent-modal-danger, var(--asg-color-error, #dc2626)) 8%,transparent)}._pending_indicator_1dyy6_212{font-size:12px;color:var(--asgard-consent-modal-muted, var(--asg-color-text-secondary, #8c8c8c));padding:0 20px 8px}._chatbot__auth_state_container_1hs4h_1{display:flex;align-items:center;justify-content:center;flex:1;padding:20px}._chatbot__error_state_1hs4h_9{color:#ff6b6b}._chatbot__error_state__content_1hs4h_13{text-align:center}._chatbot__error_state__icon_1hs4h_17{font-size:16px;margin-bottom:8px}
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&family=Space+Grotesk:wght@300..700&display=swap";._api_key_input_7488d_1{width:360px;max-width:calc(100vw - 32px);background-color:var(--asg-color-bg);border-radius:12px;padding:24px;border:.5px solid var(--asg-color-border)}@media(max-width:480px){._api_key_input_7488d_1{width:100%;max-width:none;padding:20px;margin:0 16px}}._api_key_input__header_7488d_18{display:flex;flex-direction:column;gap:8px;align-items:center;margin-bottom:20px}._api_key_input__icon_7488d_26{width:40px;height:40px}._api_key_input__title_7488d_31{margin:0;font-size:20px;font-weight:500;color:#fff}._api_key_input__form_7488d_38{width:100%;display:flex;flex-direction:column;gap:20px}._api_key_input__label_7488d_45{display:block;font-size:14px;color:#ffffffb3;margin-bottom:8px}._api_key_input__input_wrapper_7488d_52{position:relative;width:100%}._api_key_input__input_7488d_52{width:100%;height:48px;padding:0 40px 0 12px;font-size:14px;font-weight:400;color:#fffc;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;outline:none;transition:all .2s ease;box-sizing:border-box}@media(max-width:480px){._api_key_input__input_7488d_52{height:44px;font-size:16px}}._api_key_input__input_7488d_52::placeholder{color:#fff6}._api_key_input__input_7488d_52:focus{border-color:#ffffff4d;background:#ffffff14}._api_key_input__input--error_7488d_84{border-color:#ff4d4f;background:#ff4d4f0d}._api_key_input__input--disabled_7488d_88{opacity:.5;cursor:not-allowed}._api_key_input__toggle_button_7488d_93{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}._api_key_input__toggle_button_7488d_93:hover:not(:disabled){color:#ffffffb3;background:#ffffff0d}._api_key_input__toggle_button_7488d_93:disabled{opacity:.3;cursor:not-allowed}._api_key_input__toggle_icon_7488d_118{width:16px;height:16px}._api_key_input__error_message_7488d_123{margin-top:6px;font-size:12px;color:#ff4d4f}._api_key_input__submit_button_7488d_129{width:100%;height:48px;border:none;border-radius:6px;background-color:#5856d6;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;outline:none}@media(max-width:480px){._api_key_input__submit_button_7488d_129{height:44px;font-size:16px}}._api_key_input__submit_button_7488d_129:disabled{opacity:.5;cursor:not-allowed;transform:none}._chatbot_header_luxt4_1{border-bottom:1px solid #434343}._chatbot_header_luxt4_1 ._chatbot_header__content_luxt4_4{margin:0 auto;max-width:1200px;padding:var(--asg-spacing-4);display:flex;justify-content:space-between}._chatbot_header__title_luxt4_12{display:flex;flex-direction:row;align-items:center;gap:var(--asg-spacing-2)}._chatbot_header__title_luxt4_12>h4{margin:0;color:#fff}._chatbot_header__extra_luxt4_23{display:flex;flex-direction:row;align-items:center;gap:var(--asg-spacing-3)}._chatbot_header__extra_luxt4_23>div{width:24px;height:24px;display:flex;justify-content:center;align-items:center}._chatbot_header__extra_luxt4_23>div>svg{width:15px;height:15px;cursor:pointer}._chatbot_header__extra_luxt4_23>div>svg:hover{opacity:.5}._chatbot_body_wrapper_13zns_1{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}._chatbot_body_13zns_1{flex:1;min-height:0;overflow-x:hidden;overflow-y:scroll;overscroll-behavior-y:contain}._chatbot_body_13zns_1 ._chatbot_body__content_13zns_16{margin:0 auto;display:flex;flex-direction:column;padding:16px;gap:16px;max-width:1200px}._template_box_rjm7y_1{width:100%;display:flex;gap:8px}._template_box--bot_rjm7y_7._template_box--horizontal_rjm7y_7{flex-direction:row}._template_box--bot_rjm7y_7._template_box--vertical_rjm7y_10{flex-direction:column}._template_box--user_rjm7y_14{flex-direction:row-reverse}._template_box--empty_rjm7y_18{margin-top:-8px}._template_box_content_fs2wk_1{width:100%;display:flex;flex-direction:column;gap:8px}._content_fs2wk_8{width:100%;display:flex;flex-direction:row;gap:8px}._quick_replies_box_zoq7y_1{display:flex;flex-wrap:wrap;gap:8px}._quick_reply_zoq7y_7{font:inherit;font-size:13px;padding:4px 8px;border-radius:8px;border:1px solid #434343;background:#58585833;color:#fff;cursor:pointer}._references_wrapper_qse5c_1{width:100%;display:flex;flex-direction:row;gap:8px;margin-top:4px}._references_box_qse5c_9{display:inline-block;padding:8px 12px;border-radius:8px;word-break:break-all}._references_box--bot_qse5c_16{max-width:70%;background:#585858;color:#fff;border-top-left-radius:0}._references_inner_qse5c_23{width:100%;display:flex;flex-direction:column}._references_header_qse5c_29{display:flex;align-items:center;gap:8px;margin-bottom:8px}._references_title_qse5c_36{font-size:inherit;font-weight:700;white-space:nowrap;color:#8c8c8c}._references_divider_qse5c_43{flex:1;height:1px;min-width:0;background-color:#3d3d3d}._references_list_qse5c_50{display:flex;flex-direction:column;gap:8px}._reference_item_text_qse5c_56,._reference_item_qse5c_56{font-size:.75em;word-break:break-all;color:inherit}._reference_item_qse5c_56{border:none;background:transparent;cursor:pointer;text-align:left;padding:0;transition:opacity .2s}._reference_item_qse5c_56:hover{opacity:.8}._reference_item_qse5c_56:active{opacity:.6}._reference_item_qse5c_56>span{word-break:break-all}._reference_link_qse5c_80{text-decoration:underline}._time_h4puu_1{display:flex;align-items:flex-end;font-size:12px;color:#8c8c8c}._message_actions_mnoya_1{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}._message_action_mnoya_1{font:inherit;font-size:13px;padding:0;border:none;background:transparent;color:#4a9eff;cursor:pointer;text-decoration:none}._message_action_mnoya_1:hover{text-decoration:underline}._bot_avatar_1ch7m_1{flex:0 0 auto;width:24px;height:24px;border-radius:50%}._bot_avatar--invisible_1ch7m_8{visibility:hidden}._card_root_1kvwl_1{width:255px;max-height:400px;border-radius:8px;background:#333;overflow:hidden;display:grid;grid-template-rows:max-content auto}._card_content_1kvwl_11{display:grid;grid-template-rows:max-content 1fr max-content;gap:var(--asg-spacing-2);padding:12px;line-height:1.5em}._card_title_1kvwl_19{color:#fff;margin:0;font-size:15px}._card_description_1kvwl_25{color:#8c8c8c;font-size:13px;font-weight:400;max-height:4.5em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-underline-position:from-font;text-decoration-skip-ink:none}._card_actions_1kvwl_40{display:flex;flex-direction:column;gap:8px}._card_actions_1kvwl_40>button{width:100%;height:32px;line-height:32px;text-align:center;border:none;border-radius:4px;background:#4767eb;color:#fff;font-size:15px;cursor:pointer}._text_609xr_1{display:inline-block;padding:8px 12px;border-radius:8px;color:#fff;word-break:break-all}._text_609xr_1>span{word-break:break-all}._text_609xr_1 p{margin:0 0 .5em}._text_609xr_1 p:last-child{margin-bottom:0}._text--user_609xr_18{max-width:75%;background:#4767eb;border-top-right-radius:0}._text--bot_609xr_24{max-width:70%;background:#585858;border-top-left-radius:0}._content_609xr_30{display:flex;flex-direction:column;gap:8px}._typing-indicator_609xr_36{display:inline-flex;align-items:flex-end;justify-content:center}._typing-indicator_609xr_36 ._dot_609xr_41{width:2px;height:2px;margin:0 2px;background-color:#fff;border-radius:50%;animation:_blink_609xr_1 1.4s infinite ease-in-out both}._typing-indicator_609xr_36 ._dot_609xr_41:nth-child(1){animation-delay:0s}._typing-indicator_609xr_36 ._dot_609xr_41:nth-child(2){animation-delay:.2s}._typing-indicator_609xr_36 ._dot_609xr_41:nth-child(3){animation-delay:.4s}._table_container_609xr_59{overflow-x:scroll}._table_container_609xr_59 table{width:100%;border-collapse:collapse;border-spacing:0;min-width:600px;font-size:14px;background-color:#1f1f1f;color:#ffffffd9;border:1px solid #333;border-radius:4px;overflow:hidden}._table_container_609xr_59 table thead{position:sticky;top:0;z-index:1;background-color:#141414}._table_container_609xr_59 table th,._table_container_609xr_59 table td{padding:12px 16px;border-bottom:1px solid #333;text-align:left;white-space:nowrap;transition:background-color .3s,color .3s}._table_container_609xr_59 table th{font-weight:600;color:#fffffff2}._table_container_609xr_59 table tbody tr:nth-child(odd){background-color:#1c1c1c}._table_container_609xr_59 table tbody tr:nth-child(2n){background-color:#111}._table_container_609xr_59 table tbody tr:hover td{background-color:#262626}._table_container_609xr_59 table tbody tr:last-child td{border-bottom:none}@keyframes _blink_609xr_1{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}._h1_1y0bh_1{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1.875rem;line-height:2.25rem}._h2_1y0bh_9{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1.5rem;line-height:2rem}._h3_1y0bh_17{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1.25rem;line-height:1.75rem}._h4_1y0bh_25{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1.125rem;line-height:1.75rem}._h5_1y0bh_33{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:1rem;line-height:1.5rem}._h6_1y0bh_41{margin-top:1.5rem;margin-bottom:.5rem;font-weight:600;font-size:.875rem;line-height:1.25rem}._p_1y0bh_49{margin-bottom:.75rem;line-height:1.6}._p_1y0bh_49:last-child{margin-bottom:0}._ul_1y0bh_57{margin-bottom:.75rem;padding-left:1.5rem;list-style-type:disc;list-style-position:inside;white-space:normal}._ul_1y0bh_57 ._ul_1y0bh_57,._ul_1y0bh_57 ._ol_1y0bh_65{padding-left:1.5rem}._ol_1y0bh_65{margin-bottom:.75rem;padding-left:1.5rem;list-style-type:decimal;list-style-position:inside;white-space:normal}._ol_1y0bh_65 ._ul_1y0bh_57,._ol_1y0bh_65 ._ol_1y0bh_65{padding-left:1.5rem}._li_1y0bh_81{padding:.25rem 0}._li_1y0bh_81>p{display:inline}._a_1y0bh_88{font-weight:500;color:var(--asgard-markdown-link, #3b82f6);text-decoration:underline;overflow-wrap:anywhere}._a_1y0bh_88:hover{color:var(--asgard-markdown-link-hover, #2563eb)}._blockquote_1y0bh_98{margin:.75rem 0;padding:.5rem 1rem;border-left:4px solid var(--asgard-markdown-blockquote-border, rgba(255, 255, 255, .3));color:var(--asgard-markdown-blockquote, rgba(255, 255, 255, .7));font-style:italic}._blockquote_1y0bh_98 p{margin:0}._hr_1y0bh_109{margin:1.5rem 0;border:none;border-top:1px solid var(--asgard-markdown-hr, rgba(255, 255, 255, .2))}._strong_1y0bh_115{font-weight:600}._em_1y0bh_119{font-style:italic}._code_1y0bh_123{padding:.15rem .4rem;font-size:.9em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;background-color:var(--asgard-markdown-code-bg, rgba(255, 255, 255, .1));border-radius:4px}._pre_1y0bh_131{margin:.75rem 0;padding:.75rem 1rem;overflow-x:auto;font-size:.875rem;line-height:1.5;background-color:var(--asgard-markdown-pre-bg, #1a1a1a);border-radius:6px}._pre_1y0bh_131 code{padding:0;font-size:inherit;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;background-color:transparent;border-radius:0}._img_1y0bh_148{max-width:100%;height:auto;border-radius:4px}._table_1y0bh_154{width:100%;margin:.75rem 0;border-collapse:collapse;font-size:.9rem}._thead_1y0bh_161{background-color:var(--asgard-markdown-table-header-bg, rgba(255, 255, 255, .05))}._tbody_1y0bh_165 tr:nth-child(2n){background-color:var(--asgard-markdown-table-row-alt, rgba(255, 255, 255, .02))}._tr_1y0bh_169{border-bottom:1px solid var(--asgard-markdown-table-border, rgba(255, 255, 255, .2))}._th_1y0bh_161,._td_1y0bh_174{padding:.5rem .75rem;text-align:left;border:1px solid var(--asgard-markdown-table-border, rgba(255, 255, 255, .2))}._th_1y0bh_161{font-weight:600}._carousel_root_v06v3_1{width:100%;display:flex;flex-wrap:nowrap;overflow-x:scroll;gap:8px;align-items:stretch}._carousel_root_v06v3_1>div{flex:0 0 auto}._carousel_time_v06v3_13{justify-content:flex-end}._hint_root_1hmle_1{margin:0 auto;display:flex;flex-direction:column;align-items:center;padding:4px 12px;gap:4px;border-radius:2px;background:#58585833;font-size:13px;color:#fff;word-break:break-all}._hint_root_1hmle_1._hint_root__error_1hmle_14{color:var(--asg-color-error)}._hint_root_1hmle_1 ._error_hint_title_1hmle_17{display:flex;align-items:center;gap:var(--asg-spacing-2);color:var(--asg-color-error)}._hint_root_1hmle_1 ._error_hint_message_1hmle_23{font-size:12px;color:#fff}._hint_root_1hmle_1 ._error_hint_message_1hmle_23>span{border-bottom:1px solid white;cursor:pointer}._hint_text_1hmle_32{color:#fff}._time_1hmle_36{font-size:12px;color:#8c8c8c}._container_1erxu_1{display:flex;flex-direction:column;gap:12px;width:100%;background:#585858;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px}._header_1erxu_13{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}._title_box_1erxu_20{display:flex;flex-direction:column;gap:4px;min-width:0}._title_1erxu_20{font-size:14px;font-weight:600}._description_1erxu_32{font-size:13px;line-height:1.5;opacity:.75}._chart_select_1erxu_38{flex-shrink:0;font:inherit;font-size:13px;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:inherit;cursor:pointer}._chart_select_1erxu_38:hover{background:#ffffff1a}._chart_wrapper_1erxu_53{width:100%;overflow-x:auto;background:#fff;border-radius:6px;padding:8px}._chart_time_1erxu_61{justify-content:flex-end}._image_box_8cz9p_1{display:flex;align-items:center;justify-content:flex-start;max-width:80%;border-radius:8px;box-sizing:border-box}._image_box_8cz9p_1>img{width:100%;border-radius:8px}._time_8cz9p_14{justify-content:flex-end}._quick_replies_box_8cz9p_18{display:flex;flex-wrap:wrap;gap:8px}._full_screen_8cz9p_24{display:flex;align-items:center;justify-content:center;z-index:9999;position:fixed;top:0;left:0;background:#1e1e1ecc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%;height:100%;overflow:hidden;box-sizing:border-box}._full_screen_8cz9p_24>._imageOrigin_8cz9p_39{width:100%;max-width:100%;height:100%;max-height:90%;border-radius:8px;background-repeat:no-repeat;background-size:contain;background-position:center}._full_screen_8cz9p_24>._full_screen_close_8cz9p_49{position:absolute;top:16px;right:16px;font-size:24px;cursor:pointer;z-index:9999}._quick_reply_8cz9p_58{font:inherit;font-size:13px;padding:4px 8px;border-radius:8px;border:1px solid #434343;background:#58585833;color:#fff;cursor:pointer}._video_box_119ne_1{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;max-width:80%;border-radius:8px;box-sizing:border-box;gap:8px}._video_preview_119ne_12{position:relative;width:100%;border-radius:8px;overflow:hidden;cursor:pointer;background:#000}._video_preview_119ne_12>img{width:100%;display:block;border-radius:8px}._video_preview_119ne_12:hover ._play_button_119ne_25{transform:translate(-50%,-50%) scale(1.1)}._play_button_119ne_25{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:transform .2s ease;pointer-events:none}._duration_badge_119ne_39{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}._video_player_wrapper_119ne_51{position:relative;border-radius:8px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}._video_player_119ne_51{width:100%;height:100%;display:block;border-radius:8px;object-fit:contain}._youtube_player_119ne_69{width:100%;height:100%;border-radius:8px;border:none}._video_text_119ne_76{font-size:14px;color:inherit;word-wrap:break-word}._time_119ne_82{justify-content:flex-end}._quick_replies_box_119ne_86{display:flex;flex-wrap:wrap;gap:8px}._quick_reply_119ne_92{font:inherit;font-size:13px;padding:4px 8px;border-radius:8px;border:1px solid #434343;background:#58585833;color:#fff;cursor:pointer}._audio_box_1y8ew_1{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;max-width:60%;min-width:250px;border-radius:8px;box-sizing:border-box;gap:8px}._audio_player_1y8ew_13{width:100%;min-width:250px;border-radius:8px}._audio_player_1y8ew_13::-webkit-media-controls-download-button{display:none}._audio_player_1y8ew_13::-webkit-media-controls-fullscreen-button{display:none}._audio_player_1y8ew_13::-webkit-media-controls-remote-playback-button{display:none}._card_root_1yq01_1{width:255px;max-height:400px;border-radius:8px;overflow:hidden;display:grid;grid-template-rows:max-content auto}._map_container_1yq01_10{width:100%;height:170px;overflow:hidden;position:relative}._map_iframe_1yq01_17{display:block;width:100%;height:100%;border:none;pointer-events:none}._card_content_1yq01_25{display:grid;grid-template-rows:1.5em auto;gap:var(--asg-spacing-2);padding:12px;line-height:1.5em;background:#333;border-radius:0 0 8px 8px}._card_title_1yq01_35{color:#fff;margin:0;font-size:15px;font-weight:600}._card_description_1yq01_42{color:#8c8c8c;font-size:13px;font-weight:400;max-height:4.5em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-underline-position:from-font;text-decoration-skip-ink:none}._message_wrapper_1cjr0_1{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:75%}._text_bubble_1cjr0_9{display:inline-block;padding:8px 12px;border-radius:8px;white-space:pre-wrap;word-break:break-word}._text_bubble--user_1cjr0_16{background:#4767eb;color:#fff;border-top-right-radius:0}._images_container_1cjr0_22{display:flex;flex-direction:column;gap:8px;width:100%}._image_wrapper_1cjr0_29{position:relative;width:300px;aspect-ratio:3/2;border-radius:8px;overflow:hidden;background:#0000000d;box-shadow:0 1px 2px #0000001a;align-self:flex-end}._uploaded_image_1cjr0_40{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;transition:opacity .2s ease}._uploaded_image_1cjr0_40:hover{opacity:.95}._documents_container_1cjr0_52{display:flex;flex-direction:column;gap:8px;width:100%;align-items:flex-end}._document_card_1cjr0_60{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;max-width:300px}._document_icon_1cjr0_69{flex-shrink:0}._document_name_1cjr0_73{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._image_modal_1cjr0_80{position:fixed;inset:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer;padding:20px}._image_modal_1cjr0_80 ._modal_image_1cjr0_94{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000080}._tool_call_group_1rad3_1{width:100%;display:flex;flex-direction:column;gap:8px}._tool_call_group__header_1rad3_8{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}._tool_call_group__chevron_1rad3_16{width:16px;height:16px;color:var(--asgard-tool-call-icon, #8c8c8c);transition:transform .2s ease;flex-shrink:0}._tool_call_group__chevron--expanded_1rad3_24{transform:rotate(90deg)}._tool_call_group__title_1rad3_28{font-size:14px;font-weight:500;color:var(--asgard-tool-call-text, #fff)}._tool_call_group__content_1rad3_34{display:flex;flex-direction:column;gap:8px}._tool_call_item_1rad3_40{display:flex;flex-direction:column;background-color:var(--asgard-tool-call-item-bg, #1a1a1a);border-radius:8px;overflow:hidden}._tool_call_item__header_1rad3_48{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}._tool_call_item__header_1rad3_48:hover{background-color:var(--asgard-tool-call-hover, rgba(255, 255, 255, .05))}._tool_call_item__left_1rad3_61{display:flex;align-items:center;gap:8px}._tool_call_item__chevron_1rad3_67{width:14px;height:14px;color:var(--asgard-tool-call-icon, #8c8c8c);transition:transform .2s ease;flex-shrink:0}._tool_call_item__chevron--expanded_1rad3_75{transform:rotate(90deg)}._tool_call_item__label_1rad3_79{font-size:14px;color:var(--asgard-tool-call-text, #fff)}._tool_call_item__status_1rad3_84{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}._tool_call_item__status_icon_1rad3_93{width:20px;height:20px}._tool_call_item__status_icon--completed_1rad3_98{color:#52c41a}._tool_call_item__status_icon--error_1rad3_102{color:#ff4d4f}._tool_call_item__status_icon--pending_1rad3_106{color:#faad14;animation:_pulse_1rad3_1 1.5s ease-in-out infinite}@keyframes _pulse_1rad3_1{0%,to{opacity:1}50%{opacity:.5}}._tool_call_item__content_1rad3_119{padding:0 16px 12px 38px;display:flex;flex-direction:column;gap:8px}._json_viewer_1rad3_126{display:flex;flex-direction:column;border-radius:6px;overflow:hidden;background-color:var(--asgard-json-viewer-bg, #141414);border:1px solid var(--asgard-tool-call-border, #333)}._json_viewer__header_1rad3_135{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background-color:var(--asgard-json-viewer-header-bg, #1f1f1f);border-bottom:1px solid var(--asgard-tool-call-border, #333)}._json_viewer__title_1rad3_144{font-size:12px;font-weight:500;color:var(--asgard-tool-call-text-secondary, #8c8c8c)}._json_viewer__actions_1rad3_150{display:flex;align-items:center;gap:4px}._json_viewer__action_btn_1rad3_156{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--asgard-tool-call-icon, #8c8c8c);cursor:pointer;border-radius:4px;transition:all .2s ease}._json_viewer__action_btn_1rad3_156:hover{background-color:var(--asgard-tool-call-hover, rgba(255, 255, 255, .1));color:var(--asgard-tool-call-text, #fff)}._json_viewer__action_btn_1rad3_156 svg{width:14px;height:14px}._json_viewer__content_1rad3_178{padding:8px 10px;max-height:200px;overflow:auto}._json_viewer__code_1rad3_184{font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px;line-height:1.5;color:var(--asgard-json-viewer-text, #d4d4d4);white-space:pre-wrap;word-break:break-all;margin:0}._json_token--key_1rad3_194{color:#9cdcfe}._json_token--string_1rad3_198{color:#ce9178}._json_token--number_1rad3_202{color:#b5cea8}._json_token--boolean_1rad3_206,._json_token--null_1rad3_210{color:#569cd6}._json_token--punctuation_1rad3_214{color:#d4d4d4}._json_modal__backdrop_1rad3_218{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}._json_modal_1rad3_218{display:flex;flex-direction:column;width:100%;max-width:800px;max-height:80vh;background-color:var(--asgard-json-viewer-bg, #141414);border:1px solid var(--asgard-tool-call-border, #333);border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #00000080}._json_modal__header_1rad3_245{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--asgard-json-viewer-header-bg, #1f1f1f);border-bottom:1px solid var(--asgard-tool-call-border, #333)}._json_modal__title_1rad3_254{font-size:14px;font-weight:500;color:var(--asgard-tool-call-text, #fff)}._json_modal__actions_1rad3_260{display:flex;align-items:center;gap:8px}._json_modal__action_btn_1rad3_266{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--asgard-tool-call-icon, #8c8c8c);cursor:pointer;border-radius:4px;transition:all .2s ease}._json_modal__action_btn_1rad3_266:hover{background-color:var(--asgard-tool-call-hover, rgba(255, 255, 255, .1));color:var(--asgard-tool-call-text, #fff)}._json_modal__action_btn_1rad3_266 svg{width:16px;height:16px}._json_modal__content_1rad3_288{flex:1;padding:16px;overflow:auto}._json_modal__content_1rad3_288 ._json_viewer__code_1rad3_184{font-size:13px;line-height:1.6}._container_12tvo_1{display:flex;flex-direction:column;gap:8px;width:100%;position:relative;background:#585858;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:8px}._tabs_12tvo_13{display:flex;align-items:center;gap:4px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.12)}._tab_12tvo_13{padding:10px 8px;border:none;border-bottom:2px solid transparent;background:transparent;color:inherit;font-size:13px;font-weight:500;cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s}._tab_12tvo_13:hover{opacity:.85}._tab--active_12tvo_37{opacity:1;border-bottom-color:currentColor}._header_12tvo_42{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px 8px 0 0}._title_12tvo_50{font-size:14px;font-weight:600}._download_button_12tvo_55{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:#ffffff1a;color:inherit;cursor:pointer;transition:background-color .2s}._download_button_12tvo_55:hover{background:#fff3}._download_button_12tvo_55:active{background:#ffffff4d}._download_12tvo_55{position:relative}._download_backdrop_12tvo_79{position:fixed;inset:0;z-index:1}._download_menu_12tvo_85{position:absolute;top:calc(100% + 4px);right:0;z-index:2;display:flex;flex-direction:column;min-width:120px;padding:4px;background:#282828fa;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 4px 12px #0000004d}._download_menu_item_12tvo_100{padding:8px 12px;border:none;border-radius:4px;background:transparent;color:inherit;font-size:13px;text-align:left;cursor:pointer}._download_menu_item_12tvo_100:hover{background:#ffffff1a}._table_wrapper_12tvo_114{overflow-x:auto;border-radius:8px}._table_12tvo_114{width:100%;border-collapse:collapse;font-size:13px}._table_header_12tvo_125{background:#0003}._table_header_cell_12tvo_129{padding:10px 12px;text-align:left;font-weight:600;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.1)}._header_cell_content_12tvo_137{display:flex;flex-direction:column;gap:2px}._header_label_12tvo_143{font-size:13px;font-weight:600}._header_key_12tvo_148{font-size:11px;font-weight:400;opacity:.55}._table_row_12tvo_154:hover{background:#ffffff0d}._table_row_12tvo_154:not(:last-child){border-bottom:1px solid rgba(255,255,255,.1)}._table_cell_12tvo_161{padding:10px 12px;white-space:nowrap}._pagination_12tvo_166{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px}._pagination_button_12tvo_174{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;color:inherit;cursor:pointer;font-size:14px}._pagination_button_12tvo_174:hover:not(:disabled){background:#ffffff1a}._pagination_button_12tvo_174:disabled{opacity:.4;cursor:not-allowed}._pagination_page_12tvo_195{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;color:inherit;font-size:13px;cursor:pointer}._pagination_page_12tvo_195:hover{background:#ffffff1a}._pagination_page--active_12tvo_213{background:#ffffff26;font-weight:600}._pagination_ellipsis_12tvo_218{padding:0 4px;font-size:13px;opacity:.6}._empty_state_12tvo_224{padding:24px;text-align:center;font-size:13px;opacity:.7}._sql_view_12tvo_231{display:flex;flex-direction:column;gap:12px;padding:0 12px 12px;font-size:13px}._sql_block_12tvo_239{overflow-x:auto}._sql_explanation_12tvo_243{padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;line-height:1.6;opacity:.85}._time_12tvo_251{justify-content:flex-end}._snackbar_12tvo_255{position:absolute;bottom:-48px;left:0;right:0;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#282828f2;border-radius:8px;box-shadow:0 4px 12px #0000004d;animation:_slideUp_12tvo_1 .2s ease-out}@keyframes _slideUp_12tvo_1{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}._snackbar_text_12tvo_280{flex:1;font-size:13px;color:#fff}._snackbar_action_12tvo_286{padding:4px 12px;border:none;border-radius:4px;background:transparent;color:#4fc3f7;font-size:13px;font-weight:500;cursor:pointer}._snackbar_action_12tvo_286:hover{background:#4fc3f71a}._snackbar_close_12tvo_300{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#fff9;font-size:18px;cursor:pointer}._snackbar_close_12tvo_300:hover{background:#ffffff1a;color:#fff}._root_1vqc7_1{display:flex;flex-direction:column;gap:8px;width:320px;max-width:100%}._chip_1vqc7_9{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#333;border:none;text-align:left;cursor:pointer;color:inherit;font:inherit}._chip_1vqc7_9:hover{background:#404040}._chip_1vqc7_9:focus-visible{outline:2px solid rgb(71,103,235);outline-offset:2px}._icon_box_1vqc7_30{flex:0 0 auto;width:36px;height:36px;border-radius:8px;background:#4767eb;color:#fff;display:flex;align-items:center;justify-content:center}._icon_box_1vqc7_30>svg{width:20px;height:20px}._body_1vqc7_46{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}._title_1vqc7_54{color:#fff;font-size:14px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._text_1vqc7_64{color:#8c8c8c;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._download_button_1vqc7_73{flex:0 0 auto;width:32px;height:32px;border-radius:8px;background:transparent;border:none;color:#b4b4b4;display:flex;align-items:center;justify-content:center;cursor:pointer}._download_button_1vqc7_73>svg{width:18px;height:18px}._download_button_1vqc7_73:hover{background:#505050;color:#fff}._download_button_1vqc7_73:focus-visible{outline:2px solid rgb(71,103,235);outline-offset:2px}._chatbot_footer_1fl03_1{border-top:1px solid #434343}._chatbot_footer_1fl03_1 ._chatbot_footer__content_1fl03_4{display:grid;align-items:center;grid-template-columns:auto 1fr auto;margin:0 auto;max-width:1200px;padding:var(--asg-spacing-3) var(--asg-spacing-4);gap:var(--asg-spacing-2)}@keyframes _prevent_ios_focus_scroll_1fl03_1{0%{opacity:0}to{opacity:1}}._chatbot_textarea_1fl03_22{font:inherit;font-size:16px;height:40px!important;max-height:240px;padding:8px 8px 8px 12px;background:var(--asg-color-bg);border:1px solid rgb(67,67,67);border-radius:2px;color:#8c8c8c;resize:none;overflow:hidden}._chatbot_textarea_1fl03_22::placeholder{color:var(--asg-color-text-placeholder)}._chatbot_textarea_1fl03_22._chatbot_textarea--focused_1fl03_39{animation:_prevent_ios_focus_scroll_1fl03_1 .01s}._chatbot_submit_button_1fl03_43{font:inherit;width:24px;height:100%;max-height:38px;display:flex;justify-content:center;align-items:center;font-size:16px;border:none;background:transparent;border-radius:50%;color:#fff;cursor:pointer}._chatbot_submit_button_1fl03_43>svg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:auto;min-width:16px;height:60%;max-height:38px;min-height:16px}._chatbot_submit_button_1fl03_43._chatbot_submit_button__disabled_1fl03_68{opacity:.6}._attachment_buttons_1fl03_72,._send_zone_1fl03_78{display:flex;gap:var(--asg-spacing-2);align-items:center}._attachment_menu_container_1fl03_84{position:relative}._attachment_menu_1fl03_84{position:absolute;bottom:100%;left:0;margin-bottom:8px;min-width:160px;border-radius:8px;border:1px solid var(--asg-color-border, #3d3d3d);background:var(--asg-color-bg, #1a1a1a);box-shadow:0 4px 12px #0000004d;overflow:hidden;z-index:100}._attachment_menu_item_1fl03_102{display:flex;align-items:center;gap:var(--asg-spacing-2, 8px);width:100%;padding:10px 14px;border:none;background:transparent;color:var(--asg-color-text, #e0e0e0);font:inherit;font-size:14px;cursor:pointer;transition:background-color .15s ease;text-align:left}._attachment_menu_item_1fl03_102:hover{background:#ffffff1a}._attachment_menu_item_1fl03_102>svg{width:18px;height:18px;flex-shrink:0}._attachment_menu_item_1fl03_102>span{white-space:nowrap}._attachment_button_1fl03_72{font:inherit;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border:none;background:transparent;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s ease;position:relative}._attachment_button_1fl03_72:disabled{opacity:.6;cursor:not-allowed}._attachment_button_1fl03_72>svg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:18px;height:18px}._file_input_hidden_1fl03_156{display:none}._file_preview_container_1fl03_160{width:100%;max-width:1200px;overflow-x:auto;margin:0 auto;padding:var(--asg-spacing-3, 12px);padding-bottom:0}._file_preview_grid_1fl03_169{display:flex;gap:var(--asg-spacing-2, 8px);flex-wrap:nowrap}._file_preview_item_1fl03_175{position:relative;background:var(--asg-color-bg-secondary, #2d2d2d);border:1px solid var(--asg-color-border, #3d3d3d);border-radius:var(--asg-radius-md, 8px);overflow:hidden;width:100px;height:80px;flex-shrink:0}._file_preview_image_area_1fl03_186{width:100%;height:100%;background:var(--asg-color-bg-dark, #1a1a1a);display:flex;align-items:center;justify-content:center;position:relative}._file_preview_image_1fl03_186{max-width:100%;max-height:100%;object-fit:contain;cursor:pointer;transition:opacity .2s ease}._file_preview_image_1fl03_186:hover{opacity:.8}._file_remove_button_1fl03_207{position:absolute;top:var(--asg-spacing-1, 6px);right:var(--asg-spacing-1, 6px);width:20px;height:20px;border-radius:4px;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border:1px solid rgba(255,255,255,.1);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;padding:0}._file_upload_overlay_1fl03_226{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center}@keyframes _spin_1fl03_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._file_upload_spinner_1fl03_243{width:24px;height:24px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:_spin_1fl03_1 .8s linear infinite}._file_preview_item__error_1fl03_252{border-color:#ef4444}._file_error_overlay_1fl03_256{position:absolute;inset:0;background:#ef444433;display:flex;align-items:center;justify-content:center}._file_error_icon_1fl03_265{width:24px;height:24px;color:#ef4444}._image_modal_1fl03_271{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}._image_modal_content_1fl03_283{display:flex;flex-direction:column;align-items:center;gap:var(--asg-spacing-4, 16px)}._image_modal_image_1fl03_290{max-width:90vw;max-height:75vh;object-fit:contain;border-radius:var(--asg-radius-lg, 12px);box-shadow:0 20px 60px #0009;-webkit-user-select:none;user-select:none}._image_modal_close_button_1fl03_299{position:absolute;top:var(--asg-spacing-5, 20px);right:var(--asg-spacing-5, 20px);width:36px;height:36px;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;padding:0;transition:all .2s ease}._image_modal_close_button_1fl03_299:hover{background:#fff3;transform:scale(1.1)}._image_modal_close_button_1fl03_299:active{transform:scale(.95)}._document_preview_grid_1fl03_326{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--asg-spacing-2, 8px)}@media(max-width:768px){._document_preview_grid_1fl03_326{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}._document_preview_item_1fl03_337{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--asg-spacing-2, 8px);padding:var(--asg-spacing-3, 12px);background:var(--asg-color-bg-secondary, #2d2d2d);border:1px solid var(--asg-color-border, #3d3d3d);border-radius:var(--asg-radius-md, 8px);aspect-ratio:3/2;max-width:250px}._document_preview_icon_wrapper_1fl03_352{display:flex;align-items:center;justify-content:center;flex:1}._document_preview_icon_1fl03_352{width:48px;height:48px;color:var(--asg-color-text-secondary, #a0a0a0)}._document_preview_name_1fl03_365{font-size:12px;color:var(--asg-color-text, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}._chatbot_root_htsl5_2{--asg-color-blue-1: #edf0fd;--asg-color-blue-2: #d3dbfa;--asg-color-blue-3: #b0bef6;--asg-color-blue-4: #6882ef;--asg-color-blue-5: #8b9ff2;--asg-color-blue-6: #4767eb;--asg-color-blue-7: #3c58c8;--asg-color-blue-8: #3249a7;--asg-color-blue-9: #283b86;--asg-color-blue-10: #202e6a;--asg-color-orange-1: #ffeded;--asg-color-orange-2: #ffd4d5;--asg-color-orange-3: #ffb2b3;--asg-color-orange-4: #ff8f90;--asg-color-orange-5: #ff6d6f;--asg-color-orange-6: #ff4d4f;--asg-color-orange-7: #d94143;--asg-color-orange-8: #b53738;--asg-color-orange-9: #912c2d;--asg-color-orange-10: #732324;--asg-color-green-1: #eef9e8;--asg-color-green-2: #d5f1c8;--asg-color-green-3: #b5e69d;--asg-color-green-4: #92da6f;--asg-color-green-5: #71cf43;--asg-color-green-6: #52c41a;--asg-color-green-7: #46a716;--asg-color-green-8: #3a8b12;--asg-color-green-9: #2f700f;--asg-color-green-10: #25580c;--asg-color-yellow-1: #fef7eb;--asg-color-yellow-2: #fdebcf;--asg-color-yellow-3: #fcdba9;--asg-color-yellow-4: #facb82;--asg-color-yellow-5: #f8bb5c;--asg-color-yellow-6: #f7ac38;--asg-color-yellow-7: #d29230;--asg-color-yellow-8: #af7a28;--asg-color-yellow-9: #8d6220;--asg-color-yellow-10: #6f4d19;--asg-color-grey-1: #f3f3f3;--asg-color-grey-2: #e2e2e2;--asg-color-grey-3: #cbcbcb;--asg-color-grey-4: #b2b2b2;--asg-color-grey-5: #9b9b9b;--asg-color-grey-6: #585858;--asg-color-grey-7: #717171;--asg-color-grey-8: #5e5e5e;--asg-color-grey-9: #4c4c4c;--asg-color-grey-10: #3c3c3c;--asg-color-primary: #4767eb;--asg-color-primary-light: #8b9ff2;--asg-color-primary-dark: #3249a7;--asg-color-primary-on-primary: #ffffff;--asg-color-primary-hover-bg: rgba(139, 159, 242, .15);--asg-color-primary-selected-bg: rgba(71, 103, 235, .2);--asg-color-secondary: #585858;--asg-color-secondary-light: #b2b2b2;--asg-color-secondary-dark: #4c4c4c;--asg-color-secondary-on-secondary: #ffffff;--asg-color-secondary-hover-bg: rgba(178, 178, 178, .15);--asg-color-secondary-selected-bg: rgba(88, 88, 88, .2);--asg-color-error: #ff4d4f;--asg-color-error-light: #ff6d6f;--asg-color-error-dark: #d94143;--asg-color-error-on-error: #ffffff;--asg-color-error-hover-bg: rgba(255, 109, 111, .15);--asg-color-error-selected-bg: rgba(255, 77, 79, .2);--asg-color-warning: #f7ac38;--asg-color-warning-light: #f8bb5c;--asg-color-warning-dark: #af7a28;--asg-color-warning-on-warning: #ffffff;--asg-color-warning-hover-bg: rgba(248, 187, 92, .15);--asg-color-warning-selected-bg: rgba(247, 172, 56, .2);--asg-color-success: #52c41a;--asg-color-success-light: #71cf43;--asg-color-success-dark: #3a8b12;--asg-color-success-on-success: #ffffff;--asg-color-success-hover-bg: rgba(113, 207, 67, .15);--asg-color-success-selected-bg: rgba(82, 196, 26, .2);--asg-color-action-active: #ffffff;--asg-color-action-inactive: #8c8c8c;--asg-color-action-disabled: #595959;--asg-color-action-disabled-bg: #393939;--asg-color-text-primary: #ffffff;--asg-color-text-secondary: #8c8c8c;--asg-color-text-disabled: #595959;--asg-color-text-placeholder: #8c8c8c;--asg-color-bg: #141414;--asg-color-surface: #1f1f1f;--asg-color-divider: #333333;--asg-color-border: #434343;--asg-color-overlay-dark: rgba(0, 0, 0, .5);--asg-color-overlay-light: rgba(31, 31, 31, .9);--asg-radius-none: 0px;--asg-radius-xxs: 2px;--asg-radius-xs: 4px;--asg-radius-s: 6px;--asg-radius-md: 8px;--asg-radius-lg: 10px;--asg-radius-xl: 12px;--asg-radius-2xl: 16px;--asg-radius-3xl: 20px;--asg-radius-4xl: 24px;--asg-spacing-1: 4px;--asg-spacing-2: 8px;--asg-spacing-3: 12px;--asg-spacing-4: 16px;--asg-spacing-5: 24px;--asg-spacing-6: 32px;--asg-spacing-7: 40px;--asg-spacing-8: 48px;--asg-spacing-9: 64px;--asg-spacing-10: 96px;--asg-spacing-11: 160px;font-family:Space Grotesk,Noto Sans TC,sans-serif;height:100%;min-height:0}._chatbot_root_htsl5_2 *{line-height:1.5;box-sizing:border-box;min-width:0}._full_screen_htsl5_128{position:fixed;inset:0;background-color:var(--asg-color-bg)}._full_screen_htsl5_128 ._chatbot_container_htsl5_133{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}._chatbot_container_htsl5_133{display:grid;grid-template-rows:max-content 1fr max-content max-content;background-color:var(--asg-color-bg);overflow:hidden;overscroll-behavior:contain;position:relative}._container_32b6s_1{display:flex;flex-direction:column;align-items:center;width:360px;max-width:calc(100vw - 32px);padding:24px;gap:20px;background-color:var(--asg-color-bg);border:.5px solid var(--asg-color-border);border-radius:12px}@media(max-width:480px){._container_32b6s_1{width:100%;max-width:none;padding:20px;margin:0 16px}}._avatar_32b6s_22{width:40px;height:40px;display:flex;align-items:center;justify-content:center}._avatar_32b6s_22 svg,._avatar_32b6s_22 img{width:100%;height:100%}._message_32b6s_35{color:#ffffffb3;font-size:14px;line-height:1.5;text-align:center}._overlay_1r6z5_1{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background-color:#00000026;pointer-events:none}._overlay__content_1r6z5_12{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 48px;border:2px dashed var(--asg-color-primary, #6366f1);border-radius:16px;background-color:#ffffffe6}._overlay__icon_1r6z5_23{color:var(--asg-color-primary, #6366f1)}._overlay__text_1r6z5_27{font-size:16px;font-weight:500;color:var(--asg-color-primary, #6366f1)}._backdrop_1dyy6_1{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}._modal_1dyy6_12{display:flex;flex-direction:column;width:100%;max-width:520px;max-height:85vh;background-color:var(--asgard-consent-modal-bg, var(--asg-color-surface, #1f1f1f));border-radius:12px;overflow:hidden;box-shadow:0 16px 48px #0000003d}._header_1dyy6_24{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--asgard-consent-modal-border, var(--asg-color-border, #434343))}._title_1dyy6_33{font-size:15px;font-weight:600;line-height:1.4;color:var(--asgard-consent-modal-headline, var(--asg-color-text-primary, #ffffff));word-break:break-word}._title_tool_1dyy6_41{color:var(--asgard-consent-modal-accent, var(--asg-color-primary, #4f46e5))}._close_btn_1dyy6_45{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--asgard-consent-modal-muted, var(--asg-color-text-secondary, #8c8c8c));font-family:inherit;cursor:pointer;transition:background-color .15s ease}._close_btn_1dyy6_45:hover{background-color:#ffffff14}._close_btn_1dyy6_45 svg{width:16px;height:16px}._content_1dyy6_68{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}._meta_row_1dyy6_76{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--asgard-consent-modal-muted, var(--asg-color-text-secondary, #8c8c8c))}._meta_row_1dyy6_76 strong{color:var(--asgard-consent-modal-title, var(--asg-color-text-primary, #ffffff));font-weight:500}._input_section_1dyy6_89{display:flex;flex-direction:column;gap:8px}._input_toggle_1dyy6_95{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--asgard-consent-modal-muted, var(--asg-color-text-secondary, #8c8c8c));font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:0;align-self:flex-start}._input_toggle_1dyy6_95:hover{color:var(--asgard-consent-modal-title, var(--asg-color-text-primary, #ffffff))}._input_toggle_1dyy6_95 svg{width:14px;height:14px;transition:transform .2s ease}._input_toggle_expanded_1dyy6_118 svg{transform:rotate(90deg)}._input_viewer_1dyy6_122{background-color:var(--asgard-consent-modal-code-bg, #0f172a);border-radius:8px;overflow:hidden;border:1px solid var(--asgard-consent-modal-code-border, #1e293b)}._deny_reason_1dyy6_129{display:flex;flex-direction:column;gap:6px}._deny_reason_1dyy6_129 label{font-size:13px;font-weight:500;color:var(--asgard-consent-modal-title, var(--asg-color-text-primary, #ffffff))}._deny_reason_1dyy6_129 textarea{width:100%;min-height:72px;max-height:160px;padding:8px 10px;font-size:13px;line-height:1.5;border-radius:6px;border:1px solid var(--asgard-consent-modal-border, var(--asg-color-border, #434343));color:var(--asgard-consent-modal-title, var(--asg-color-text-primary, #ffffff));background-color:var(--asgard-consent-modal-input-bg, var(--asg-color-bg, #141414));resize:vertical;font-family:inherit}._deny_reason_1dyy6_129 textarea:focus{outline:none;border-color:var(--asgard-consent-modal-accent, var(--asg-color-primary, #4f46e5));box-shadow:0 0 0 3px color-mix(in srgb,var(--asgard-consent-modal-accent, var(--asg-color-primary, #4f46e5)) 15%,transparent)}._actions_1dyy6_161{display:flex;flex-direction:column;gap:8px;padding:12px 20px 20px}._action_btn_1dyy6_168{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease}._action_btn_1dyy6_168:disabled{cursor:not-allowed;opacity:.6}._action_primary_1dyy6_186{background-color:var(--asgard-consent-modal-accent, var(--asg-color-primary, #4f46e5));color:var(--asgard-consent-modal-primary-fg, #000000)}._action_primary_1dyy6_186:hover:not(:disabled){background-color:var(--asgard-consent-modal-accent-hover, var(--asg-color-primary-dark, #4338ca))}._action_secondary_1dyy6_194{background-color:transparent;color:var(--asgard-consent-modal-accent, var(--asg-color-text-primary, #ffffff));border-color:transparent}._action_secondary_1dyy6_194:hover:not(:disabled){background-color:#ffffff0f}._action_danger_1dyy6_203{background-color:transparent;color:var(--asgard-consent-modal-danger, var(--asg-color-error, #dc2626));border-color:transparent}._action_danger_1dyy6_203:hover:not(:disabled){background-color:color-mix(in srgb,var(--asgard-consent-modal-danger, var(--asg-color-error, #dc2626)) 8%,transparent)}._pending_indicator_1dyy6_212{font-size:12px;color:var(--asgard-consent-modal-muted, var(--asg-color-text-secondary, #8c8c8c));padding:0 20px 8px}._chatbot__auth_state_container_1hs4h_1{display:flex;align-items:center;justify-content:center;flex:1;padding:20px}._chatbot__error_state_1hs4h_9{color:#ff6b6b}._chatbot__error_state__content_1hs4h_13{text-align:center}._chatbot__error_state__icon_1hs4h_17{font-size:16px;margin-bottom:8px}
|