@apform-ui/core 1.0.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -0
- package/dist/__tests__/components.spec.d.ts +1 -0
- package/dist/apform-ui.css +1 -1
- package/dist/apform-ui.js +5865 -1481
- package/dist/apform-ui.umd.cjs +68 -1
- package/dist/components/AppDialog/AppDialog.vue.d.ts +48 -0
- package/dist/components/AppDialog/index.d.ts +1 -0
- package/dist/components/AppIcon/AppIcon.vue.d.ts +11 -0
- package/dist/components/AppIcon/index.d.ts +1 -0
- package/dist/components/AppPagination/AppPagination.vue.d.ts +26 -0
- package/dist/components/AppPagination/index.d.ts +1 -0
- package/dist/components/CardGridSkeleton/CardGridSkeleton.vue.d.ts +34 -0
- package/dist/components/CardGridSkeleton/index.d.ts +1 -0
- package/dist/components/CardTable/CardTable.vue.d.ts +28 -0
- package/dist/components/CardTable/index.d.ts +1 -0
- package/dist/components/Chat/ApprovalCard/ApprovalCard.vue.d.ts +12 -0
- package/dist/components/Chat/ApprovalCard/index.d.ts +1 -0
- package/dist/components/Chat/Composer/Composer.vue.d.ts +32 -0
- package/dist/components/Chat/Composer/index.d.ts +1 -0
- package/dist/components/Chat/ConversationHeader/ConversationHeader.vue.d.ts +21 -0
- package/dist/components/Chat/ConversationHeader/index.d.ts +1 -0
- package/dist/components/Chat/MessageBubble/MessageBubble.vue.d.ts +23 -0
- package/dist/components/Chat/MessageBubble/index.d.ts +1 -0
- package/dist/components/Chat/MessageList/MessageList.vue.d.ts +24 -0
- package/dist/components/Chat/MessageList/index.d.ts +1 -0
- package/dist/components/Chat/ProcessingDrawer/ProcessingDrawer.vue.d.ts +32 -0
- package/dist/components/Chat/ProcessingDrawer/index.d.ts +1 -0
- package/dist/components/Chat/RunStatusBar/RunStatusBar.vue.d.ts +12 -0
- package/dist/components/Chat/RunStatusBar/index.d.ts +1 -0
- package/dist/components/Chat/SessionSidebar/SessionSidebar.vue.d.ts +18 -0
- package/dist/components/Chat/SessionSidebar/index.d.ts +1 -0
- package/dist/components/Chat/message/AttachmentPreviewModal.vue.d.ts +18 -0
- package/dist/components/Chat/message/DocumentSummaryList.vue.d.ts +12 -0
- package/dist/components/Chat/message/MessageAttachmentList.vue.d.ts +11 -0
- package/dist/components/Chat/message/MessageParts.vue.d.ts +6 -0
- package/dist/components/Chat/message/index.d.ts +4 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.vue.d.ts +26 -0
- package/dist/components/ConfirmDialog/index.d.ts +1 -0
- package/dist/components/ContentPanel/ContentPanel.vue.d.ts +31 -0
- package/dist/components/ContentPanel/index.d.ts +1 -0
- package/dist/components/EmptyState/EmptyState.vue.d.ts +23 -0
- package/dist/components/EmptyState/index.d.ts +1 -0
- package/dist/components/ErrorBoundary/ErrorBoundary.vue.d.ts +39 -0
- package/dist/components/ErrorBoundary/index.d.ts +1 -0
- package/dist/components/FieldRow/FieldRow.vue.d.ts +23 -0
- package/dist/components/FieldRow/index.d.ts +1 -0
- package/dist/components/FilterBar/FilterBar.vue.d.ts +30 -0
- package/dist/components/FilterBar/index.d.ts +1 -0
- package/dist/components/FilterTabs/FilterTabs.vue.d.ts +21 -0
- package/dist/components/FilterTabs/index.d.ts +1 -0
- package/dist/components/FormDialog/FormDialog.vue.d.ts +44 -0
- package/dist/components/FormDialog/index.d.ts +1 -0
- package/dist/components/HintText/HintText.vue.d.ts +19 -0
- package/dist/components/HintText/index.d.ts +1 -0
- package/dist/components/JsonCard/JsonCard.vue.d.ts +20 -0
- package/dist/components/JsonCard/index.d.ts +1 -0
- package/dist/components/JsonDetailDialog/JsonDetailDialog.vue.d.ts +13 -0
- package/dist/components/JsonDetailDialog/index.d.ts +1 -0
- package/dist/components/LoadingDots/LoadingDots.vue.d.ts +10 -0
- package/dist/components/LoadingDots/index.d.ts +1 -0
- package/dist/components/PageHeader/PageHeader.vue.d.ts +28 -0
- package/dist/components/PageHeader/index.d.ts +1 -0
- package/dist/components/PageShell/PageShell.vue.d.ts +25 -0
- package/dist/components/PageShell/index.d.ts +1 -0
- package/dist/components/SchemaLitePreview/SchemaLitePreview.vue.d.ts +30 -0
- package/dist/components/SchemaLitePreview/index.d.ts +2 -0
- package/dist/components/SearchForm/SearchForm.vue.d.ts +39 -0
- package/dist/components/SearchForm/index.d.ts +2 -0
- package/dist/components/SectionToggle/SectionToggle.vue.d.ts +20 -0
- package/dist/components/SectionToggle/index.d.ts +1 -0
- package/dist/components/Skeleton/Skeleton.vue.d.ts +29 -0
- package/dist/components/Skeleton/index.d.ts +1 -0
- package/dist/components/StatusTag/StatusTag.vue.d.ts +21 -0
- package/dist/components/StatusTag/index.d.ts +2 -0
- package/dist/components/TableRowActions/TableRowActions.vue.d.ts +23 -0
- package/dist/components/TableRowActions/index.d.ts +2 -0
- package/dist/components/Toast/Toast.vue.d.ts +12 -0
- package/dist/components/Toast/index.d.ts +2 -0
- package/dist/components/TruncatedTooltipText/TruncatedTooltipText.vue.d.ts +22 -0
- package/dist/components/TruncatedTooltipText/index.d.ts +1 -0
- package/dist/components/UserAvatar/UserAvatar.vue.d.ts +26 -0
- package/dist/components/UserAvatar/index.d.ts +1 -0
- package/dist/composables/index.d.ts +7 -0
- package/dist/composables/useClientPagination.d.ts +15 -0
- package/dist/composables/useConfirm.d.ts +15 -0
- package/dist/composables/useDebounceFn.d.ts +1 -0
- package/dist/composables/useMessage.d.ts +8 -0
- package/dist/composables/useToast.d.ts +17 -0
- package/dist/index.d.ts +69 -0
- package/dist/stories/AppDialog.stories.d.ts +9 -0
- package/dist/stories/AppIcon.stories.d.ts +9 -0
- package/dist/stories/ApprovalCard.stories.d.ts +8 -0
- package/dist/stories/Composer.stories.d.ts +9 -0
- package/dist/stories/MessageBubble.stories.d.ts +10 -0
- package/dist/stories/RunStatusBar.stories.d.ts +8 -0
- package/dist/stories/StatusTag.stories.d.ts +8 -0
- package/dist/stories/useConfirm.stories.d.ts +5 -0
- package/dist/stories/useMessage.stories.d.ts +5 -0
- package/dist/tokens/index.d.ts +139 -0
- package/dist/types/chat.d.ts +121 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/utils/attachmentKind.d.ts +7 -0
- package/dist/utils/iconRegistry.d.ts +7 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/pagination.d.ts +8 -0
- package/dist/utils/resolveApiErrorMessage.d.ts +22 -0
- package/dist/utils/textParser.d.ts +20 -0
- package/package.json +10 -6
- package/src/tokens/index.ts +78 -0
- package/src/tokens/tokens.css +74 -5
- package/styles/element-override.css +155 -0
package/README.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# @apform-ui/core
|
|
2
|
+
|
|
3
|
+
Apform UI 企业级 Vue 3 UI 组件库,基于 Element Plus 2.14.2 fork。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @apform-ui/core element-plus@2.14.2
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 组件
|
|
12
|
+
|
|
13
|
+
| 组件 | 说明 |
|
|
14
|
+
|------|------|
|
|
15
|
+
| `AppDialog` | 通用弹框(全屏、拖拽) |
|
|
16
|
+
| `AppIcon` | 统一图标(Iconify,120+ 图标) |
|
|
17
|
+
| `AppPagination` | 统一分页器 |
|
|
18
|
+
| `UserAvatar` | 用户头像(图片/首字母) |
|
|
19
|
+
| `StatusTag` | 状态标签(预设 15 种状态) |
|
|
20
|
+
| `Skeleton` | 骨架屏(card/list/table) |
|
|
21
|
+
| `CardGridSkeleton` | 卡片网格骨架 |
|
|
22
|
+
| `EmptyState` | 空状态占位 |
|
|
23
|
+
| `ErrorBoundary` | 错误边界 |
|
|
24
|
+
| `FilterTabs` | 筛选标签栏 |
|
|
25
|
+
| `ConfirmDialog` | 确认弹框 |
|
|
26
|
+
| `FormDialog` | 表单弹框 |
|
|
27
|
+
| `Toast` | 轻提示 |
|
|
28
|
+
|
|
29
|
+
## Composables
|
|
30
|
+
|
|
31
|
+
| Composable | 说明 |
|
|
32
|
+
|------------|------|
|
|
33
|
+
| `useMessage` | 消息提示(替代 ElMessage) |
|
|
34
|
+
| `useConfirm` | 确认弹框(替代 ElMessageBox.confirm) |
|
|
35
|
+
| `useDebounceFn` | 防抖函数 |
|
|
36
|
+
| `useToast` | 轻提示(编程式) |
|
|
37
|
+
|
|
38
|
+
## 工具函数
|
|
39
|
+
|
|
40
|
+
| 函数 | 说明 |
|
|
41
|
+
|------|------|
|
|
42
|
+
| `resolveApiErrorMessage` | API 错误消息标准化 |
|
|
43
|
+
| `iconRegistry` | 120+ 图标注册表 |
|
|
44
|
+
|
|
45
|
+
## 快速使用
|
|
46
|
+
|
|
47
|
+
```vue
|
|
48
|
+
<script setup>
|
|
49
|
+
import {
|
|
50
|
+
AppDialog, AppIcon, AppPagination,
|
|
51
|
+
useMessage, useConfirm, useDebounceFn,
|
|
52
|
+
StatusTag, EmptyState, Skeleton,
|
|
53
|
+
} from '@apform-ui/core'
|
|
54
|
+
import '@apform-ui/core/tokens.css'
|
|
55
|
+
import '@apform-ui/core/design-tokens.css'
|
|
56
|
+
|
|
57
|
+
const msg = useMessage()
|
|
58
|
+
const { confirm, confirmDelete } = useConfirm()
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
<template>
|
|
62
|
+
<AppIcon name="setting" :size="18" />
|
|
63
|
+
<StatusTag status="approved" />
|
|
64
|
+
<EmptyState icon="files" title="暂无数据" />
|
|
65
|
+
<AppPagination v-model:current-page="page" :total="100" />
|
|
66
|
+
</template>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 设计令牌
|
|
70
|
+
|
|
71
|
+
```css
|
|
72
|
+
@import '@apform-ui/core/tokens.css'; /* 颜色/字体/间距 */
|
|
73
|
+
@import '@apform-ui/core/design-tokens.css'; /* 动画/z-index */
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 文档
|
|
77
|
+
|
|
78
|
+
https://nan1010082085.github.io/apform-ui/
|
|
79
|
+
|
|
80
|
+
## Fork 信息
|
|
81
|
+
|
|
82
|
+
| 项目 | 值 |
|
|
83
|
+
|------|------|
|
|
84
|
+
| Fork 基准 | Element Plus 2.14.2 |
|
|
85
|
+
| Fork 日期 | 2026-08-27 |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/apform-ui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._header_e01ea_2{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}._title_e01ea_10{font-size:16px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._headerRight_e01ea_19{display:flex;align-items:center;gap:4px;flex-shrink:0}._headerBtn_e01ea_26{width:32px;height:32px;font-size:16px;color:#fff!important}._headerBtn_e01ea_26:hover{background:transparent!important;color:#fff!important}._body_e01ea_38{max-height:calc(100vh - 220px);overflow-y:auto;overflow-x:hidden}._footer_e01ea_44{display:flex;justify-content:flex-end;padding-right:20px}._pagination_ycmph_2{display:flex;justify-content:flex-end;margin-top:20px;padding-bottom:8px}._content_fjn03_2{display:flex;align-items:flex-start;gap:12px}._icon_fjn03_8{font-size:24px;flex-shrink:0}._message_fjn03_13{margin:0;color:var(--el-text-color-secondary);line-height:1.6}._tabs_1ouiv_2{display:flex;gap:2px;background:var(--bg-color-gray-dark, #e8eaed);border-radius:8px;padding:3px}._tab_1ouiv_2{padding:6px 16px;font-size:13px;font-weight:500;color:var(--text-color-regular, #606266);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;line-height:1.4}._tab_1ouiv_2:hover{color:var(--text-color-title, #303133);background:#fff9}._tabActive_1ouiv_29{color:var(--text-color-title, #303133);background:var(--bg-color-white, #ffffff);box-shadow:0 1px 3px #00000014}._container_122pq_2{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:var(--z-index-toast, 1080);display:flex;flex-direction:column;gap:8px;pointer-events:none}._item_122pq_14{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;pointer-events:auto;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08));white-space:nowrap;max-width:90vw;transition:all .3s ease}._info_122pq_31{background:var(--color-info-bg, rgba(22, 119, 255, .08));color:var(--color-info, #4581E9);border:1px solid var(--color-info-light, #E5EFF6)}._success_122pq_37{background:var(--color-success-bg, rgba(82, 196, 26, .1));color:var(--color-success, #26A036);border:1px solid var(--color-success-light, #36B37E)}._warning_122pq_43{background:var(--color-warning-bg, rgba(255, 191, 0, .1));color:var(--color-warning, #F09700);border:1px solid var(--color-warning-light, #FF6010)}._error_122pq_49{background:var(--color-danger-bg, rgba(255, 1, 1, .08));color:var(--color-danger, #E50113);border:1px solid var(--color-danger-light, #FF6B55)}._removing_122pq_55{opacity:0;transform:translateY(-16px) scale(.95)}._icon_122pq_60{font-size:14px;flex-shrink:0}._msg_122pq_65{overflow:hidden;text-overflow:ellipsis}.toast-enter-active,.toast-leave-active{transition:all .3s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-16px) scale(.95)}._empty_1r2bv_2{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}._icon_1r2bv_11{color:var(--text-color-placeholder, #969FA8);margin-bottom:16px}._title_1r2bv_16{margin:0 0 8px;font-size:18px;font-weight:500;color:var(--text-color-primary, #333333)}._desc_1r2bv_23{margin:0 0 24px;font-size:14px;color:var(--text-color-secondary, #666666);max-width:400px}._actions_1r2bv_30{display:flex;gap:12px}.apf-error-boundary{padding:16px;border:1px solid var(--color-danger-light, #FF6B55);border-radius:var(--border-radius-md, 4px);background:var(--color-danger-bg, rgba(255, 1, 1, .08))}.apf-error-boundary__inner{display:flex;flex-direction:column;gap:8px}.apf-error-boundary__header{display:flex;align-items:center;gap:8px}.apf-error-boundary__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-danger, #E50113);color:#fff;font-size:12px;font-weight:700}.apf-error-boundary__title{font-weight:600;color:var(--color-danger, #E50113)}.apf-error-boundary__info{font-size:12px;color:var(--text-color-muted, #909399)}.apf-error-boundary__message{font-size:13px;color:var(--text-color-regular, #606266);font-family:var(--font-family-mono, monospace);word-break:break-all}._skeleton_258xs_2{width:100%}._animated_258xs_6 ._cardImage_258xs_6,._animated_258xs_6 ._line_258xs_7,._animated_258xs_6 ._avatar_258xs_8{background:linear-gradient(90deg,var(--bg-color-gray, #f5f7fa) 25%,var(--bg-color-gray-light, #fafafa) 50%,var(--bg-color-gray, #f5f7fa) 75%);background-size:200% 100%;animation:_skeleton-loading_258xs_1 1.5s ease infinite}@keyframes _skeleton-loading_258xs_1{0%{background-position:200% 0}to{background-position:-200% 0}}._card_258xs_6{display:inline-block;width:calc(33.333% - 12px);margin:6px;border-radius:var(--border-radius-md, 4px);overflow:hidden;background:var(--bg-color-white, #fff);border:1px solid var(--border-color-light, #ebedf3)}._cardImage_258xs_6{width:100%;height:160px;background:var(--bg-color-gray, #f5f7fa)}._cardBody_258xs_36{padding:16px}._listItem_258xs_41{display:flex;align-items:center;gap:16px;padding:16px;border-bottom:1px solid var(--border-color-light, #ebedf3)}._avatar_258xs_8{width:40px;height:40px;border-radius:50%;background:var(--bg-color-gray, #f5f7fa);flex-shrink:0}._listContent_258xs_57{flex:1;display:flex;flex-direction:column;gap:8px}._line_258xs_7{height:14px;border-radius:4px;background:var(--bg-color-gray, #f5f7fa)}._lineTitle_258xs_71{width:40%;height:16px}._lineText_258xs_76{width:100%}._lineTextShort_258xs_80{width:60%}._grid_t4mi3_2{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:16px 0}._card_t4mi3_9{border-radius:var(--border-radius-md, 4px);overflow:hidden;background:var(--bg-color-white, #fff);border:1px solid var(--border-color-light, #ebedf3)}._animated_t4mi3_16 ._thumb_t4mi3_16,._animated_t4mi3_16 ._line_t4mi3_17{background:linear-gradient(90deg,var(--bg-color-gray, #f5f7fa) 25%,var(--bg-color-gray-light, #fafafa) 50%,var(--bg-color-gray, #f5f7fa) 75%);background-size:200% 100%;animation:_skeleton-loading_t4mi3_1 1.5s ease infinite}@keyframes _skeleton-loading_t4mi3_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumb_t4mi3_16{width:100%;height:140px;background:var(--bg-color-gray, #f5f7fa)}._body_t4mi3_39{padding:16px;display:flex;flex-direction:column;gap:10px}._line_t4mi3_17{height:14px;border-radius:4px;background:var(--bg-color-gray, #f5f7fa)}._title_t4mi3_52{width:50%;height:16px}._text_t4mi3_57{width:100%}._textShort_t4mi3_61{width:70%}._avatar_139k7_2{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,var(--color-primary, #0060A2),var(--color-primary-hover, #4581E9));color:#fff;font-weight:600}._circle_139k7_13{border-radius:50%}._square_139k7_17{border-radius:var(--border-radius-md, 4px)}._img_139k7_21{width:100%;height:100%;object-fit:cover}._initial_139k7_27{-webkit-user-select:none;user-select:none;line-height:1}
|
|
1
|
+
._header_1wxe2_2{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--spacing-md, 16px)}._title_1wxe2_10{font-size:var(--font-size-16, 16px);font-weight:var(--font-weight-semibold, 600);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._headerRight_1wxe2_19{display:flex;align-items:center;gap:var(--spacing-xs, 4px);flex-shrink:0}._headerBtn_1wxe2_26{width:var(--control-height-md, 32px);height:var(--control-height-md, 32px);font-size:var(--font-size-16, 16px);color:#fff!important}._headerBtn_1wxe2_26:hover{background:transparent!important;color:#fff!important}._body_1wxe2_38{max-height:calc(100vh - 220px);overflow-y:auto;overflow-x:hidden}._footer_1wxe2_44{display:flex;justify-content:flex-end;padding-right:var(--spacing-20px, 20px)}._pagination_d8k9z_2{display:flex;justify-content:flex-end;margin-top:var(--spacing-20px, 20px);padding-bottom:var(--spacing-sm, 8px)}._content_1cbfb_2{display:flex;align-items:flex-start;gap:var(--spacing-12px, 12px)}._icon_1cbfb_8{font-size:var(--font-size-24, 24px);flex-shrink:0}._message_1cbfb_13{margin:0;color:var(--el-text-color-secondary);line-height:1.6}._tabs_1fmwo_2{display:flex;gap:2px;background:var(--bg-color-gray-dark, #e8eaed);border-radius:var(--border-radius-8, 8px);padding:3px}._tab_1fmwo_2{min-height:var(--control-height-sm, 28px);padding:0 var(--spacing-md, 16px);font-size:var(--font-size-13, 13px);font-weight:var(--font-weight-medium, 500);color:var(--text-color-regular, #606266);background:transparent;border:none;border-radius:var(--border-radius-6, 6px);cursor:pointer;transition:all .2s;white-space:nowrap;line-height:1.4;display:inline-flex;align-items:center}._tab_1fmwo_2:hover{color:var(--text-color-title, #303133);background:#fff9}._tabActive_1fmwo_32{color:var(--text-color-title, #303133);background:var(--bg-color-white, #ffffff);box-shadow:0 1px 3px #00000014}._count_1fmwo_38{margin-left:6px;font-size:var(--font-size-12, 12px);opacity:.65;font-weight:var(--font-weight-medium, 500)}._container_1tfi3_2{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:var(--z-index-toast, 1080);display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);pointer-events:none}._item_1tfi3_14{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-10px, 10px) var(--spacing-20px, 20px);border-radius:var(--border-radius-8, 8px);font-size:var(--font-size-14, 14px);font-weight:var(--font-weight-medium, 500);pointer-events:auto;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08));white-space:nowrap;max-width:90vw;transition:all .3s ease}._info_1tfi3_31{background:var(--color-info-bg, rgba(22, 119, 255, .08));color:var(--color-info, #4581E9);border:1px solid var(--color-info-light, #E5EFF6)}._success_1tfi3_37{background:var(--color-success-bg, rgba(82, 196, 26, .1));color:var(--color-success, #26A036);border:1px solid var(--color-success-light, #36B37E)}._warning_1tfi3_43{background:var(--color-warning-bg, rgba(255, 191, 0, .1));color:var(--color-warning, #F09700);border:1px solid var(--color-warning-light, #FF6010)}._error_1tfi3_49{background:var(--color-danger-bg, rgba(255, 1, 1, .08));color:var(--color-danger, #E50113);border:1px solid var(--color-danger-light, #FF6B55)}._removing_1tfi3_55{opacity:0;transform:translateY(-16px) scale(.95)}._icon_1tfi3_60{font-size:var(--font-size-14, 14px);flex-shrink:0}._msg_1tfi3_65{overflow:hidden;text-overflow:ellipsis}.toast-enter-active,.toast-leave-active{transition:all .3s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-16px) scale(.95)}._empty_1lhdj_2{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl, 64px) var(--spacing-lg, 24px);text-align:center}._icon_1lhdj_11{color:var(--text-color-placeholder, #969FA8);margin-bottom:var(--spacing-md, 16px)}._title_1lhdj_16{margin:0 0 var(--spacing-sm, 8px);font-size:var(--font-size-18, 18px);font-weight:var(--font-weight-medium, 500);color:var(--text-color-primary, #333333)}._desc_1lhdj_23{margin:0 0 var(--spacing-lg, 24px);font-size:var(--font-size-14, 14px);color:var(--text-color-secondary, #666666);max-width:400px}._actions_1lhdj_30{display:flex;gap:var(--spacing-12px, 12px)}.apf-error-boundary{padding:var(--spacing-md, 16px);border:1px solid var(--color-danger-light, #FF6B55);border-radius:var(--border-radius-md, 4px);background:var(--color-danger-bg, rgba(255, 1, 1, .08))}.apf-error-boundary__inner{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.apf-error-boundary__header{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.apf-error-boundary__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg, 20px);height:var(--icon-size-lg, 20px);border-radius:50%;background:var(--color-danger, #E50113);color:#fff;font-size:var(--font-size-12, 12px);font-weight:var(--font-weight-bold, 700)}.apf-error-boundary__title{font-weight:var(--font-weight-semibold, 600);color:var(--color-danger, #E50113)}.apf-error-boundary__info{font-size:var(--font-size-12, 12px);color:var(--text-color-muted, #909399)}.apf-error-boundary__message{font-size:var(--font-size-13, 13px);color:var(--text-color-regular, #606266);font-family:var(--font-family-mono, monospace);word-break:break-all}._skeleton_1krg9_2{width:100%}._animated_1krg9_6 ._cardImage_1krg9_6,._animated_1krg9_6 ._line_1krg9_7,._animated_1krg9_6 ._avatar_1krg9_8{background:linear-gradient(90deg,var(--bg-color-gray, #f5f7fa) 25%,var(--bg-color-gray-light, #fafafa) 50%,var(--bg-color-gray, #f5f7fa) 75%);background-size:200% 100%;animation:_skeleton-loading_1krg9_1 1.5s ease infinite}@keyframes _skeleton-loading_1krg9_1{0%{background-position:200% 0}to{background-position:-200% 0}}._card_1krg9_6{display:inline-block;width:calc(33.333% - 12px);margin:6px;border-radius:var(--border-radius-md, 4px);overflow:hidden;background:var(--bg-color-white, #fff);border:1px solid var(--border-color-light, #ebedf3)}._cardImage_1krg9_6{width:100%;height:160px;background:var(--bg-color-gray, #f5f7fa)}._cardBody_1krg9_36{padding:var(--spacing-md, 16px)}._listItem_1krg9_41{display:flex;align-items:center;gap:var(--spacing-md, 16px);padding:var(--spacing-md, 16px);border-bottom:1px solid var(--border-color-light, #ebedf3)}._avatar_1krg9_8{width:var(--avatar-size-lg, 40px);height:var(--avatar-size-lg, 40px);border-radius:50%;background:var(--bg-color-gray, #f5f7fa);flex-shrink:0}._listContent_1krg9_57{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}._line_1krg9_7{height:var(--icon-size-sm, 14px);border-radius:var(--border-radius-md, 4px);background:var(--bg-color-gray, #f5f7fa)}._lineTitle_1krg9_71{width:40%;height:var(--icon-size-md, 16px)}._lineText_1krg9_76{width:100%}._lineTextShort_1krg9_80{width:60%}._grid_a2uu0_2{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-md, 16px);padding:var(--spacing-md, 16px) 0}._card_a2uu0_9{border-radius:var(--border-radius-md, 4px);overflow:hidden;background:var(--bg-color-white, #fff);border:1px solid var(--border-color-light, #ebedf3)}._animated_a2uu0_16 ._thumb_a2uu0_16,._animated_a2uu0_16 ._line_a2uu0_17{background:linear-gradient(90deg,var(--bg-color-gray, #f5f7fa) 25%,var(--bg-color-gray-light, #fafafa) 50%,var(--bg-color-gray, #f5f7fa) 75%);background-size:200% 100%;animation:_skeleton-loading_a2uu0_1 1.5s ease infinite}@keyframes _skeleton-loading_a2uu0_1{0%{background-position:200% 0}to{background-position:-200% 0}}._thumb_a2uu0_16{width:100%;height:140px;background:var(--bg-color-gray, #f5f7fa)}._body_a2uu0_39{padding:var(--spacing-md, 16px);display:flex;flex-direction:column;gap:var(--spacing-10px, 10px)}._line_a2uu0_17{height:var(--icon-size-sm, 14px);border-radius:var(--border-radius-md, 4px);background:var(--bg-color-gray, #f5f7fa)}._title_a2uu0_52{width:50%;height:var(--icon-size-md, 16px)}._text_a2uu0_57{width:100%}._textShort_a2uu0_61{width:70%}._avatar_nft28_2{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,var(--color-primary, #0060A2),var(--color-primary-hover, #4581E9));color:#fff;font-weight:var(--font-weight-semibold, 600)}._circle_nft28_13{border-radius:50%}._square_nft28_17{border-radius:var(--border-radius-md, 4px)}._img_nft28_21{width:100%;height:100%;object-fit:cover}._initial_nft28_27{-webkit-user-select:none;user-select:none;line-height:1}._shell_1qlp7_2{box-sizing:border-box;height:100%;overflow:auto;background:var(--bg-color-page, #f5f7fa);padding:0 var(--page-padding-x, 24px) var(--page-padding-bottom, 24px)}._shellFill_1qlp7_10{display:flex;flex-direction:column;overflow:hidden}._shellFill_1qlp7_10>*:not(:last-child){flex-shrink:0}._shellFill_1qlp7_10>:last-child{flex:1;min-width:0;min-height:0}._header_ect8w_2{padding:var(--page-header-padding-top, 28px) 0 0}._titleRow_ect8w_6{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md, 16px);margin-bottom:var(--spacing-md, 16px)}._titleLeft_ect8w_14{min-width:0}._title_ect8w_6{font-size:var(--font-size-22, 22px);font-weight:var(--font-weight-bold, 700);margin:0 0 var(--spacing-xs, 4px);color:var(--text-color-primary, #1f2329);line-height:var(--line-height-tight, 1.25)}._subtitle_ect8w_26{margin:0;font-size:var(--font-size-13, 13px);color:var(--text-color-secondary, #909399);line-height:var(--line-height-normal, 1.5)}._actions_ect8w_33{display:flex;align-items:center;gap:var(--spacing-sm, 8px);flex-shrink:0;flex-wrap:wrap}.apf-content-panel[data-v-dd4cdf29]{background:var(--bg-color-white, #fff);border:1px solid var(--border-color-light, #ebeef5);border-radius:var(--border-radius-8, 8px);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .04))}.apf-content-panel+.apf-content-panel[data-v-dd4cdf29]{margin-top:var(--spacing-md, 16px)}.apf-content-panel__head[data-v-dd4cdf29]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12px, 12px);padding:var(--spacing-12px, 12px) var(--spacing-md, 16px);border-bottom:1px solid var(--border-color-light, #ebeef5);background:var(--bg-color-gray-light, #fafafa);flex-shrink:0}.apf-content-panel__title[data-v-dd4cdf29]{font-size:var(--font-size-14, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--text-color-title, #303133)}.apf-content-panel__extra[data-v-dd4cdf29]{display:flex;gap:var(--spacing-sm, 8px);align-items:center}.apf-content-panel__body[data-v-dd4cdf29]{padding:var(--spacing-md, 16px) var(--spacing-20px, 20px)}.apf-content-panel--flush .apf-content-panel__body[data-v-dd4cdf29]{padding:0}.apf-content-panel--fill[data-v-dd4cdf29],.apf-content-panel--fill .apf-content-panel__body[data-v-dd4cdf29]{flex:1;min-height:0;display:flex;flex-direction:column}.apf-filter-bar[data-v-86218301]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--spacing-sm, 8px) var(--spacing-12px, 12px);padding-bottom:var(--spacing-xs, 4px);margin-bottom:var(--spacing-12px, 12px);border-bottom:1px solid var(--border-color-light, #ebeef5)}.apf-filter-bar__title[data-v-86218301]{width:100%;margin-bottom:var(--spacing-xs, 4px);font-size:var(--font-size-13, 13px);font-weight:var(--font-weight-semibold, 600);color:var(--text-color-title, #303133)}.apf-filter-bar__fields[data-v-86218301]{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-start}.apf-filter-bar__fields[data-v-86218301] .el-form-item{margin-bottom:var(--spacing-12px, 12px);margin-right:var(--spacing-12px, 12px)}.apf-filter-bar__actions[data-v-86218301]{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 8px);padding-bottom:var(--spacing-12px, 12px)}.apf-card-table[data-v-fbd06971]{background:var(--bg-color-white, #fff);border:1px solid var(--border-color-light, #ebeef5);border-radius:var(--border-radius-8, 8px)}.apf-card-table--borderless[data-v-fbd06971]{border:none;box-shadow:none}.apf-table-row-actions[data-v-06e2a9ce]{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:var(--spacing-12px, 12px);white-space:nowrap}.apf-search-form[data-v-8a00c2b6]{margin-bottom:var(--spacing-12px, 12px)}.apf-search-form__row[data-v-8a00c2b6]{display:flex;flex-wrap:wrap;gap:var(--spacing-12px, 12px) var(--spacing-md, 16px);align-items:flex-end}.apf-search-form__field[data-v-8a00c2b6]{width:var(--form-field-width, 220px);display:flex;flex-direction:column;gap:var(--form-field-gap, 6px)}.apf-search-form__label[data-v-8a00c2b6]{font-size:var(--font-size-13, 13px);color:var(--text-color-regular, #606266);font-weight:var(--font-weight-medium, 500)}.apf-search-form__actions[data-v-8a00c2b6]{display:flex;gap:var(--spacing-sm, 8px);align-items:center;padding-bottom:2px}.apf-truncated-text[data-v-04c4f36c]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.apf-field-row[data-v-1e6441a9]{display:flex;align-items:center;gap:var(--spacing-12px, 12px);min-height:var(--control-height-md, 32px);margin-bottom:var(--spacing-10px, 10px)}.apf-field-row--textarea[data-v-1e6441a9]{align-items:flex-start}.apf-field-row__label[data-v-1e6441a9]{flex:none;width:var(--form-label-width, 96px);display:flex;align-items:center;gap:2px;min-width:0}.apf-field-row__required[data-v-1e6441a9]{color:var(--el-color-danger, #f56c6c);font-size:var(--font-size-12, 12px)}.apf-field-row__label-text[data-v-1e6441a9]{font-size:var(--font-size-13, 13px);color:var(--text-color-regular, #606266)}.apf-field-row__control[data-v-1e6441a9]{flex:1;min-width:0}.apf-field-row__control--textarea[data-v-1e6441a9]{width:100%}.apf-hint-trigger[data-v-74635820]{display:inline-flex;align-items:center;cursor:pointer;color:var(--text-color-placeholder, #c0c4cc);transition:color .15s;vertical-align:middle;margin-left:var(--spacing-xs, 4px)}.apf-hint-trigger[data-v-74635820]:hover{color:var(--color-primary, #0060a2)}.apf-hint-content[data-v-74635820]{font-size:var(--font-size-12, 12px);color:var(--text-color-regular, #606266);line-height:1.6;word-break:break-word}.apf-section-toggle[data-v-dc38631a]{margin-bottom:var(--spacing-sm, 8px)}.apf-section-toggle__header[data-v-dc38631a]{display:flex;align-items:center;gap:var(--form-field-gap, 6px);width:100%;padding:var(--spacing-sm, 8px) 0;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit}.apf-section-toggle__arrow[data-v-dc38631a]{color:var(--text-color-secondary, #909399)}.apf-section-toggle__label[data-v-dc38631a]{font-size:var(--font-size-13, 13px);font-weight:var(--font-weight-semibold, 600);color:var(--text-color-title, #303133)}.apf-section-toggle__count[data-v-dc38631a]{margin-left:auto;font-size:var(--font-size-12, 12px);color:var(--text-color-secondary, #909399)}.apf-section-toggle__body[data-v-dc38631a]{padding-left:var(--spacing-xs, 4px)}.apf-loading-dots[data-v-df891291]{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px)}.apf-loading-dots__dot[data-v-df891291]{width:6px;height:6px;border-radius:50%;background:var(--color-primary, #0060a2);animation:apf-dot-bounce-df891291 1.2s ease-in-out infinite}.apf-loading-dots__dot[data-v-df891291]:nth-child(2){animation-delay:.15s}.apf-loading-dots__dot[data-v-df891291]:nth-child(3){animation-delay:.3s}@keyframes apf-dot-bounce-df891291{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.apf-json-card[data-v-059cffad]{display:flex;align-items:flex-start;gap:var(--spacing-12px, 12px);width:100%;padding:var(--spacing-12px, 12px) 14px;border:1px solid var(--border-color-light, #ebeef5);border-radius:var(--border-radius-8, 8px);background:var(--bg-color-white, #fff);text-align:left;cursor:pointer;font:inherit;color:inherit}.apf-json-card[data-v-059cffad]:hover{border-color:var(--color-primary, #0060a2)}.apf-json-card__icon[data-v-059cffad]{flex:none;color:var(--color-primary, #0060a2);margin-top:2px}.apf-json-card__body[data-v-059cffad]{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);min-width:0}.apf-json-card__title[data-v-059cffad]{font-size:var(--font-size-14, 14px);font-weight:var(--font-weight-semibold, 600)}.apf-json-card__summary[data-v-059cffad]{font-size:var(--font-size-12, 12px);color:var(--text-color-secondary, #909399)}.apf-json-detail[data-v-ea543e4a]{margin:0;padding:var(--spacing-12px, 12px);max-height:60vh;overflow:auto;background:var(--bg-color-gray-light, #fafafa);border-radius:var(--border-radius-6, 6px);font-size:var(--font-size-12, 12px);line-height:1.5;white-space:pre-wrap;word-break:break-word}.apf-schema-lite-preview[data-v-1d125a82]{padding:var(--spacing-sm, 8px) 0}.apf-message-parts[data-v-ed1039e3],.apf-md-block[data-v-ed1039e3]{min-width:0;width:fit-content;max-width:100%;font-size:var(--font-size-14, 14px)}.apf-md-block[data-v-ed1039e3] p{margin:0 0 .55em;line-height:1.7}.apf-md-block[data-v-ed1039e3] p:last-child{margin-bottom:0}.apf-md-block[data-v-ed1039e3] .table-scroll{overflow-x:auto;margin:var(--spacing-10px, 10px) 0;max-width:min(100%,840px);border:1px solid var(--c-border);border-radius:var(--border-radius-8, 8px);background:#fff}.apf-md-block[data-v-ed1039e3] table{border-collapse:collapse;width:100%;font-size:var(--font-size-14, 14px)}.apf-md-block[data-v-ed1039e3] th,.apf-md-block[data-v-ed1039e3] td{border-bottom:1px solid var(--c-border);padding:var(--spacing-sm, 8px) var(--spacing-10px, 10px);text-align:left;vertical-align:top}.apf-md-block[data-v-ed1039e3] th{background:#f3f6f6;font-weight:var(--font-weight-semibold, 600)}.apf-md-block[data-v-ed1039e3] tr:last-child td{border-bottom:0}.apf-md-block[data-v-ed1039e3] blockquote{margin:var(--spacing-sm, 8px) 0;padding:6px var(--spacing-12px, 12px);border-left:3px solid var(--c-primary);color:var(--c-text-secondary);background:#f7fafa}.apf-md-block[data-v-ed1039e3] ul,.apf-md-block[data-v-ed1039e3] ol{margin:var(--spacing-sm, 8px) 0;padding-left:1.3em}.apf-md-block[data-v-ed1039e3] li{margin:3px 0;line-height:1.6}.apf-md-block[data-v-ed1039e3] h1,.apf-md-block[data-v-ed1039e3] h2,.apf-md-block[data-v-ed1039e3] h3{margin:var(--spacing-12px, 12px) 0 6px;line-height:1.35;font-weight:var(--font-weight-bold, 700)}.apf-md-block[data-v-ed1039e3] h2{margin-top:14px;padding-bottom:var(--spacing-xs, 4px);border-bottom:1px solid var(--c-border-soft, #e9efef);font-size:var(--font-size-15, 15px);color:var(--c-text)}.apf-md-block[data-v-ed1039e3] h2:first-child{margin-top:0}.apf-md-block[data-v-ed1039e3] ol{margin:var(--spacing-sm, 8px) 0 var(--spacing-10px, 10px);padding-left:1.35em}.apf-md-block[data-v-ed1039e3] ol li{margin:6px 0;padding-left:2px;line-height:1.65}.apf-md-block[data-v-ed1039e3] a{color:var(--c-primary);text-decoration:underline;text-underline-offset:2px}.apf-md-block[data-v-ed1039e3] code{padding:1px 5px;border-radius:var(--border-radius-md, 4px);background:#eef3f3;font-size:.92em}.apf-md-block[data-v-ed1039e3] pre code{padding:0;background:transparent}.apf-code-wrap[data-v-ed1039e3]{margin-top:var(--spacing-10px, 10px);border:1px solid #2a3842;border-radius:var(--radius);overflow:hidden}.apf-code-wrap[data-v-ed1039e3]:first-child{margin-top:0}.apf-code-head[data-v-ed1039e3],.apf-artifact-head[data-v-ed1039e3]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm, 8px);padding:6px var(--spacing-sm, 8px) 6px var(--spacing-10px, 10px);background:#243039}.apf-part-actions[data-v-ed1039e3]{display:inline-flex;gap:2px}.apf-code-lang[data-v-ed1039e3],.apf-artifact-badge[data-v-ed1039e3]{display:inline-block;padding:1px 6px;border-radius:3px;background:#ffffff14;color:#9fb3bd;font-size:var(--font-size-10, 10px);font-weight:var(--font-weight-semibold, 600);text-transform:lowercase}.apf-artifact-badge[data-v-ed1039e3]{text-transform:none;color:#8fd0c8;background:#8fd0c81f}.apf-artifact-card[data-v-ed1039e3]{margin-top:var(--spacing-10px, 10px);border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;background:#f7fafa}.apf-artifact-card[data-v-ed1039e3]:first-child{margin-top:0}.apf-artifact-card .apf-artifact-head[data-v-ed1039e3]{background:#eef5f5}.apf-artifact-card .apf-artifact-badge[data-v-ed1039e3]{background:var(--c-primary-soft);color:var(--c-primary)}.apf-artifact-card .apf-icon-btn[data-v-ed1039e3]{color:var(--c-text-muted)}.apf-artifact-card .apf-code-block[data-v-ed1039e3]{border-radius:0}.apf-code-block[data-v-ed1039e3]{margin:0;padding:var(--spacing-12px, 12px) 14px;overflow-x:auto;max-height:420px;background:#1e2a33;color:#e8efef;white-space:pre;font-size:var(--font-size-12, 12px);line-height:1.55}.apf-json .apf-code-block[data-v-ed1039e3]{color:#d7ece8}.apf-icon-btn[data-v-ed1039e3]{display:inline-grid;place-items:center;width:var(--icon-size-xl, 24px);height:var(--icon-size-xl, 24px);padding:0;border:0;border-radius:5px;background:transparent;color:#9fb3bd;cursor:pointer}.apf-icon-btn[data-v-ed1039e3]:hover{color:#fff;background:#ffffff1a}.apf-artifact-card .apf-icon-btn[data-v-ed1039e3]:hover{color:var(--c-primary);background:var(--c-primary-soft)}.apf-att-list[data-v-d851b768]{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);margin-bottom:var(--spacing-sm, 8px)}.apf-image-grid[data-v-d851b768]{display:grid;gap:var(--spacing-sm, 8px);grid-template-columns:minmax(0,1fr)}.apf-image-grid.apf-multi[data-v-d851b768]{grid-template-columns:repeat(2,minmax(0,1fr))}.apf-att-image[data-v-d851b768]{display:block;width:100%;padding:0;border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;background:#f7fafa;cursor:zoom-in}.apf-att-image img[data-v-d851b768]{display:block;width:100%;max-height:240px;object-fit:cover;background:#fff}.apf-att-file[data-v-d851b768]{display:flex;gap:var(--spacing-10px, 10px);align-items:flex-start;width:100%;padding:var(--spacing-10px, 10px) var(--spacing-12px, 12px);border:1px solid var(--c-border);border-radius:var(--radius);background:#f7fafa;text-align:left;color:inherit;cursor:pointer;font:inherit}.apf-att-file[data-v-d851b768]:hover{border-color:var(--c-primary)}.apf-att-badge[data-v-d851b768]{flex:none;min-width:var(--control-height-lg, 40px);height:var(--control-height-sm, 28px);padding:0 var(--spacing-sm, 8px);display:grid;place-items:center;border-radius:var(--border-radius-6, 6px);background:var(--c-primary-soft);color:var(--c-primary);font-size:var(--font-size-11, 11px);font-weight:var(--font-weight-bold, 700);letter-spacing:.02em}.apf-att-meta[data-v-d851b768]{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.apf-att-meta strong[data-v-d851b768]{font-size:var(--font-size-13, 13px);font-weight:var(--font-weight-semibold, 600);word-break:break-all}.apf-att-meta small[data-v-d851b768]{font-size:var(--font-size-11, 11px);color:var(--c-text-muted)}.apf-doc-list[data-v-a5548a3c]{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-10px, 10px)}.apf-doc-card[data-v-a5548a3c]{display:flex;gap:var(--spacing-10px, 10px);padding:var(--spacing-10px, 10px) var(--spacing-12px, 12px);border:1px solid var(--c-border);border-radius:var(--radius);background:#f7fafa}.apf-doc-card.apf-clickable[data-v-a5548a3c]{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.apf-doc-card.apf-clickable[data-v-a5548a3c]:hover{border-color:var(--c-primary);box-shadow:0 0 0 2px #0d6b6714}.apf-doc-card.apf-clickable[data-v-a5548a3c]:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.apf-doc-icon[data-v-a5548a3c]{flex:none;display:grid;place-items:center;width:var(--control-height-sm, 28px);height:var(--control-height-sm, 28px);border-radius:var(--border-radius-6, 6px);background:var(--c-primary-soft);color:var(--c-primary)}.apf-doc-body[data-v-a5548a3c]{min-width:0;flex:1}.apf-doc-name[data-v-a5548a3c]{display:block;font-size:var(--font-size-13, 13px);font-weight:var(--font-weight-semibold, 600)}.apf-doc-summary[data-v-a5548a3c]{margin:var(--spacing-xs, 4px) 0 0;font-size:var(--font-size-12, 12px);line-height:1.5;color:var(--c-text-secondary)}.apf-doc-meta[data-v-a5548a3c]{display:inline-block;margin-top:var(--spacing-xs, 4px);font-size:var(--font-size-11, 11px);color:var(--c-text-muted)}.apf-message[data-v-a82d00ca]{display:flex;gap:var(--spacing-12px, 12px);max-width:1040px;margin:0 auto 22px;align-items:flex-start}.apf-message.user[data-v-a82d00ca]{justify-content:flex-end}.apf-bubble-wrap[data-v-a82d00ca]{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);max-width:880px;min-width:0;width:100%}.apf-message.user .apf-bubble-wrap[data-v-a82d00ca]{align-items:flex-end;max-width:720px}.apf-result-wrap[data-v-a82d00ca]{display:flex;flex-direction:column;align-items:stretch;width:fit-content;max-width:100%;animation:apf-msg-in-a82d00ca .28s ease both}.apf-message.user .apf-result-wrap[data-v-a82d00ca]{align-items:flex-end}@keyframes apf-msg-in-a82d00ca{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.apf-tip[data-v-a82d00ca]{margin:0;padding:0 2px;color:var(--c-text-muted);font-size:var(--font-size-12, 12px)}.apf-bubble[data-v-a82d00ca]{margin:0;padding:var(--spacing-12px, 12px) var(--spacing-md, 16px);width:fit-content;max-width:100%;font-size:var(--font-size-14, 14px);line-height:1.7;background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;word-break:break-word;box-shadow:0 1px 2px #1428280a}.apf-bubble.apf-user[data-v-a82d00ca]{background:#e8f3f2;border-color:#cfe3e1}.apf-bubble.apf-waiting[data-v-a82d00ca]{border-color:#f0d9a8;background:linear-gradient(180deg,#fffdf8,#fff 48%)}.apf-bubble.apf-failed[data-v-a82d00ca]{border-color:#f0c4be;background:#fff8f7}.apf-message-content[data-v-a82d00ca]>:first-child{margin-top:0}.apf-message-content[data-v-a82d00ca]>:last-child{margin-bottom:0}.apf-inline-progress[data-v-a82d00ca]{margin:var(--spacing-10px, 10px) 0 0;font-size:var(--font-size-12, 12px);color:var(--c-running, #0060A2)}.apf-detail-block[data-v-a82d00ca]{width:fit-content;max-width:100%;color:var(--c-text-muted);font-size:var(--font-size-12, 12px);border:1px solid var(--c-border-soft, var(--c-border));border-radius:var(--border-radius-8, 8px);background:#ffffff8c;padding:0 var(--spacing-sm, 8px);transition:width .28s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}.apf-detail-block.open[data-v-a82d00ca]{width:100%;background:#ffffffb8}.apf-detail-block.streaming[data-v-a82d00ca]{border-color:color-mix(in srgb,var(--c-running, #0060A2) 28%,var(--c-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--c-running, #0060A2) 10%,transparent)}.apf-detail-summary[data-v-a82d00ca]{display:inline-flex;align-items:center;gap:var(--form-field-gap, 6px);width:100%;margin:0;padding:5px 2px;border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--font-weight-semibold, 600);cursor:pointer;text-align:left;border-radius:var(--border-radius-6, 6px)}.apf-detail-summary[data-v-a82d00ca]:hover{color:var(--c-text-secondary)}.apf-chevron[data-v-a82d00ca]{display:inline-block;width:0;height:0;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent currentColor;opacity:.7;transition:transform .22s ease;flex:none}.apf-detail-block.open .apf-chevron[data-v-a82d00ca]{transform:rotate(90deg)}.apf-live-dot[data-v-a82d00ca]{width:6px;height:6px;border-radius:50%;background:var(--c-running, #0060A2);animation:apf-blink-a82d00ca 1.4s infinite both;margin-left:2px}.apf-detail-collapse[data-v-a82d00ca]{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .3s ease}.apf-detail-block.open .apf-detail-collapse[data-v-a82d00ca]{grid-template-rows:1fr}.apf-detail-collapse-inner[data-v-a82d00ca]{overflow:hidden;min-height:0}.apf-detail-content[data-v-a82d00ca]{margin:0;padding:0;background:transparent;border-radius:var(--border-radius-8, 8px);white-space:pre-wrap;line-height:1.55;color:var(--c-text-secondary);max-height:14em;overflow:hidden;opacity:0;transform:translateY(-4px);transition:opacity .22s ease,transform .22s ease,padding .22s ease,margin .22s ease,background-color .22s ease}.apf-detail-block.open .apf-detail-content[data-v-a82d00ca]{margin:0 0 var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-10px, 10px);background:var(--c-bg);overflow-y:auto;opacity:1;transform:none;transition-delay:.04s}.apf-detail-block.open .apf-detail-content.streaming[data-v-a82d00ca]{max-height:6.4em;mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 100%)}.apf-tool-row[data-v-a82d00ca]{display:flex;justify-content:space-between;gap:var(--spacing-md, 16px);margin:0 0 var(--spacing-sm, 8px);padding:6px var(--spacing-sm, 8px);background:var(--c-bg);border-radius:var(--border-radius-8, 8px)}.apf-err[data-v-a82d00ca]{color:var(--c-danger, #E50113)}.apf-waiting-hint[data-v-a82d00ca]{color:var(--c-warning, #F09700);background:#fdf2df;border-color:#f0d9a8}.apf-failed-hint[data-v-a82d00ca]{color:var(--c-danger, #E50113);background:var(--c-danger-soft, #fff8f7);border-color:#f0c4be}.apf-cancelled-hint[data-v-a82d00ca]{color:var(--c-text-muted, #909399);background:#eef2f2;border-color:var(--c-border)}.apf-typing[data-v-a82d00ca]{display:flex;align-items:center;gap:var(--spacing-10px, 10px);padding:var(--spacing-12px, 12px) 15px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px}.apf-status-text[data-v-a82d00ca]{font-size:var(--font-size-13, 13px);color:var(--c-text-muted)}.apf-dots[data-v-a82d00ca]{display:inline-flex;gap:var(--spacing-xs, 4px)}.apf-dots i[data-v-a82d00ca]{width:6px;height:6px;background:var(--c-running, #0060A2);border-radius:50%;animation:apf-blink-a82d00ca 1.4s infinite both}.apf-dots i[data-v-a82d00ca]:nth-child(2){animation-delay:.2s}.apf-dots i[data-v-a82d00ca]:nth-child(3){animation-delay:.4s}@keyframes apf-blink-a82d00ca{0%,80%,to{opacity:.3}40%{opacity:1}}.apf-result-actions[data-v-a82d00ca],.apf-fail-actions[data-v-a82d00ca]{display:flex;align-items:center;gap:var(--spacing-xs, 4px);margin-top:var(--spacing-xs, 4px)}.apf-text-link[data-v-a82d00ca]{border:0;background:transparent;color:var(--c-text-muted);font-size:var(--font-size-12, 12px);cursor:pointer;padding:var(--spacing-xs, 4px) 6px;border-radius:var(--border-radius-6, 6px)}.apf-text-link[data-v-a82d00ca]:hover{color:var(--c-primary, #0060A2);background:var(--c-primary-soft, #e8f4ff)}.apf-icon-btn[data-v-a82d00ca]{display:inline-grid;place-items:center;width:var(--control-height-sm, 28px);height:var(--control-height-sm, 28px);padding:0;border:0;border-radius:var(--border-radius-6, 6px);background:transparent;color:var(--c-text-muted);cursor:pointer}.apf-icon-btn[data-v-a82d00ca]:hover{color:var(--c-primary, #0060A2);background:var(--c-primary-soft, #e8f4ff)}.apf-inline-approval[data-v-a82d00ca]{margin-top:var(--spacing-xs, 4px);padding:14px;width:min(100%,520px);background:var(--c-surface);border:1px solid var(--c-border);border-left:3px solid var(--c-warning, #F09700);border-radius:var(--radius);box-shadow:0 4px 14px #281e0a0a}.apf-inline-approval.apf-dangerous-approval[data-v-a82d00ca]{border-left-color:var(--c-danger, #E50113);background:var(--c-danger-soft, #fff8f7)}.apf-approval-head[data-v-a82d00ca]{display:flex;align-items:center;gap:var(--spacing-sm, 8px);margin-bottom:var(--form-field-gap, 6px)}.apf-approval-title[data-v-a82d00ca]{font-weight:var(--font-weight-bold, 700);font-size:var(--font-size-13, 13px)}.apf-approval-danger-tag[data-v-a82d00ca]{font-size:var(--font-size-10, 10px);font-weight:var(--font-weight-bold, 700);color:#fff;background:var(--c-danger, #E50113);padding:1px 6px;border-radius:3px}.apf-approval-prompt[data-v-a82d00ca]{margin:0 0 var(--spacing-10px, 10px);font-size:var(--font-size-13, 13px);line-height:1.55;color:var(--c-text-secondary)}.apf-approval-actions[data-v-a82d00ca]{display:flex;gap:var(--spacing-sm, 8px);justify-content:flex-end;flex-wrap:wrap}.apf-approval-btn[data-v-a82d00ca]{padding:6px var(--spacing-md, 16px);border-radius:var(--radius);font-size:var(--font-size-13, 13px);cursor:pointer;border:1px solid transparent}.apf-approval-btn-primary[data-v-a82d00ca]{background:var(--c-primary, #0060A2);color:#fff}.apf-approval-btn-primary[data-v-a82d00ca]:hover{background:var(--c-primary-hover, #4581E9)}.apf-approval-btn-primary[data-v-a82d00ca]:disabled{opacity:.5;cursor:not-allowed}.apf-approval-btn-danger[data-v-a82d00ca]{background:var(--c-danger, #E50113);color:#fff}.apf-approval-btn-danger[data-v-a82d00ca]:hover{opacity:.9}.apf-approval-btn-danger[data-v-a82d00ca]:disabled{opacity:.5;cursor:not-allowed}.apf-chip[data-v-a82d00ca]{display:inline-flex;align-items:center;gap:var(--form-field-gap, 6px);width:fit-content;padding:3px var(--spacing-sm, 8px);border-radius:var(--border-radius-full, 999px);font-size:var(--font-size-11, 11px);font-weight:var(--font-weight-semibold, 600);background:#eef2f2;color:var(--c-text-secondary);animation:apf-chip-in-a82d00ca .24s ease both}.apf-chip i[data-v-a82d00ca]{width:6px;height:6px;border-radius:50%;background:currentColor}.apf-chip-running[data-v-a82d00ca]{color:var(--c-running, #0060A2);background:#e8f4ff}.apf-chip-waiting[data-v-a82d00ca]{color:var(--c-warning, #F09700);background:#fdf2df}.apf-chip-success[data-v-a82d00ca]{color:var(--c-primary, #0060A2);background:var(--c-primary-soft, #e8f4ff)}.apf-chip-failed[data-v-a82d00ca]{color:var(--c-danger, #E50113);background:var(--c-danger-soft, #fff8f7)}.apf-chip-cancelled[data-v-a82d00ca]{color:var(--c-text-muted, #909399)}@keyframes apf-chip-in-a82d00ca{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.apf-result-wrap[data-v-a82d00ca],.apf-chip[data-v-a82d00ca],.apf-live-dot[data-v-a82d00ca],.apf-dots i[data-v-a82d00ca]{animation:none}.apf-detail-block[data-v-a82d00ca],.apf-detail-collapse[data-v-a82d00ca],.apf-detail-content[data-v-a82d00ca],.apf-chevron[data-v-a82d00ca]{transition:none}}.apf-message-list[data-v-2dbe38cf]{flex:1;overflow-y:auto;padding:var(--spacing-lg, 24px) var(--spacing-xl, 32px);background:transparent}.apf-skeleton-line[data-v-2dbe38cf]{max-width:960px;margin:0 auto;padding:var(--spacing-md, 16px);background:var(--c-surface);border:1px solid var(--c-border-soft);border-radius:var(--radius)}.apf-skeleton[data-v-2dbe38cf]{background:linear-gradient(90deg,var(--c-bg) 25%,var(--c-bg-soft, #f0f0f0) 50%,var(--c-bg) 75%);background-size:200% 100%;animation:apf-skeleton-loading-2dbe38cf 1.5s ease infinite;border-radius:var(--border-radius-md, 4px)}@keyframes apf-skeleton-loading-2dbe38cf{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:767px){.apf-message-list[data-v-2dbe38cf]{padding:var(--spacing-md, 16px)}}.apf-composer[data-v-45ece43f]{position:relative;flex:none;width:min(960px,calc(100% - 48px));margin:0 auto var(--spacing-20px, 20px);padding-top:14px}.apf-composer-field[data-v-45ece43f]{position:relative;display:flex;flex-direction:column;border:1.5px solid var(--c-border);border-radius:var(--radius-lg, 12px);background:var(--c-surface);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.apf-composer-field[data-v-45ece43f]:focus-within,.apf-composer-field[data-v-45ece43f]:hover:not(.apf-disabled){border-color:var(--c-primary, #0060A2);box-shadow:0 0 0 3px #0d6b6714,0 0 20px #5eb8b029}.apf-composer-field.apf-disabled[data-v-45ece43f]{background:#f4f6f6}.apf-pending-list[data-v-45ece43f]{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 8px);padding:var(--spacing-12px, 12px) 14px 0}.apf-pending-chip[data-v-45ece43f]{display:inline-flex;align-items:center;gap:var(--form-field-gap, 6px);max-width:100%;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border:1px solid var(--c-border);border-radius:var(--border-radius-full, 999px);background:#f4f6f6;font-size:var(--font-size-12, 12px)}.apf-pending-chip.error[data-v-45ece43f]{border-color:#e8b4b4;color:#a33}.apf-pending-thumb[data-v-45ece43f]{width:var(--icon-size-xl, 24px);height:var(--icon-size-xl, 24px);border-radius:var(--border-radius-md, 4px);object-fit:cover}.apf-pending-name[data-v-45ece43f]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apf-pending-status[data-v-45ece43f]{color:var(--c-text-muted);font-size:var(--font-size-11, 11px)}.apf-pending-status.apf-error[data-v-45ece43f]{color:#a33}.apf-pending-remove[data-v-45ece43f]{border:0;background:transparent;color:var(--c-text-muted);cursor:pointer;font-size:var(--font-size-14, 14px);line-height:1;padding:0 2px}.apf-file-input[data-v-45ece43f]{display:none}textarea[data-v-45ece43f]{display:block;width:100%;min-height:var(--composer-textarea-min-height, 96px);max-height:var(--composer-textarea-max-height, 220px);resize:none;padding:var(--spacing-md, 16px) 18px var(--spacing-10px, 10px);border:0;border-radius:0;outline:none;background:transparent;line-height:var(--line-height-normal, 1.5);font-size:var(--font-size-14, 14px);box-shadow:none}textarea[data-v-45ece43f]:disabled{color:var(--c-text-muted)}.apf-composer-footer[data-v-45ece43f]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-10px, 10px);flex:none;min-height:var(--toolbar-height, 48px);padding:6px var(--spacing-12px, 12px) var(--spacing-10px, 10px);border-top:1px solid transparent}.apf-composer-tools[data-v-45ece43f]{display:flex;align-items:center;gap:var(--spacing-sm, 8px);min-width:0;flex:1}.apf-cap-btn[data-v-45ece43f]{display:inline-grid;place-items:center;width:var(--control-height-sm, 28px);height:var(--control-height-sm, 28px);padding:0;border:1px solid var(--c-border);border-radius:50%;background:var(--c-surface);color:var(--c-text-secondary);cursor:pointer}.apf-cap-btn[data-v-45ece43f]:hover:not(:disabled){border-color:var(--c-primary, #0060A2);color:var(--c-primary, #0060A2)}.apf-cap-btn[data-v-45ece43f]:disabled{cursor:not-allowed;opacity:.55}.apf-send-btn[data-v-45ece43f]{flex:none;width:var(--control-height-md, 32px);height:var(--control-height-md, 32px);display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--c-primary, #0060A2);color:#fff;cursor:pointer;font-size:var(--font-size-18, 18px);line-height:1}.apf-send-btn[data-v-45ece43f]:hover:not(:disabled){background:var(--c-primary-hover, #4581E9)}.apf-send-btn[data-v-45ece43f]:disabled{background:var(--c-border);cursor:not-allowed}.apf-composer-meta[data-v-45ece43f]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12px, 12px);margin-top:var(--spacing-sm, 8px);padding:0 2px}.apf-cap-row[data-v-45ece43f]{display:flex;flex-wrap:wrap;gap:var(--form-field-gap, 6px);min-width:0}.apf-cap-chip[data-v-45ece43f]{display:inline-flex;align-items:center;padding:2px var(--spacing-sm, 8px);border-radius:var(--border-radius-full, 999px);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-secondary);font-size:var(--font-size-11, 11px)}.apf-meta-right[data-v-45ece43f]{display:flex;align-items:center;gap:var(--spacing-10px, 10px);flex:none;min-width:0}.apf-ws-status[data-v-45ece43f]{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg, 20px);height:var(--icon-size-lg, 20px);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.apf-ws-dot[data-v-45ece43f]{display:block;width:8px;height:8px;border-radius:50%;background:#b7c2c1}.apf-ws-status.ok .apf-ws-dot[data-v-45ece43f]{background:#2f9e8f;box-shadow:0 0 0 3px #2f9e8f29}.apf-ws-status.pending .apf-ws-dot[data-v-45ece43f]{background:#d4a017;animation:apf-ws-pulse-45ece43f 1.1s ease-in-out infinite}.apf-ws-status.streaming .apf-ws-dot[data-v-45ece43f]{background:#5ecfc4;box-shadow:0 0 0 3px #5ecfc42e;animation:apf-ws-pulse-45ece43f .9s ease-in-out infinite}.apf-ws-status.warn .apf-ws-dot[data-v-45ece43f]{background:#d4a017}.apf-ws-status.err .apf-ws-dot[data-v-45ece43f]{background:#c44;box-shadow:0 0 0 3px #cc444424}.apf-ws-status.idle .apf-ws-dot[data-v-45ece43f]{background:#b7c2c1}@keyframes apf-ws-pulse-45ece43f{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.apf-hint[data-v-45ece43f]{flex:none;color:var(--c-text-muted);font-size:var(--font-size-11, 11px);text-align:right;white-space:nowrap}@media(max-width:600px){.apf-composer-tools[data-v-45ece43f]{gap:var(--spacing-xs, 4px)}textarea[data-v-45ece43f]{min-height:var(--composer-textarea-min-height-mobile, 84px);padding:14px 14px var(--spacing-sm, 8px)}.apf-composer-meta[data-v-45ece43f]{flex-direction:column;align-items:flex-start}.apf-meta-right[data-v-45ece43f]{width:100%;justify-content:space-between}.apf-hint[data-v-45ece43f]{display:none}}.apf-run-bar[data-v-33963f1d]{padding:var(--spacing-12px, 12px) var(--spacing-md, 16px);border-bottom:1px solid var(--c-border-soft);background:var(--c-surface)}.apf-row[data-v-33963f1d]{display:flex;align-items:center;gap:var(--spacing-12px, 12px)}.apf-elapsed[data-v-33963f1d]{font-size:var(--font-size-12, 12px);color:var(--c-text-muted);font-variant-numeric:tabular-nums}.apf-btn-cancel[data-v-33963f1d]{margin-left:auto;padding:var(--spacing-xs, 4px) var(--spacing-12px, 12px);font-size:var(--font-size-12, 12px);border:1px solid var(--c-danger);border-radius:var(--radius);color:var(--c-danger);background:var(--c-surface);cursor:pointer}.apf-btn-cancel[data-v-33963f1d]:hover{background:var(--c-danger-soft)}.apf-error-text[data-v-33963f1d]{margin:var(--spacing-sm, 8px) 0 0;font-size:var(--font-size-12, 12px);color:var(--c-danger)}.apf-chip[data-v-33963f1d]{display:inline-flex;align-items:center;gap:var(--form-field-gap, 6px);padding:3px var(--spacing-sm, 8px);border-radius:var(--border-radius-full, 999px);font-size:var(--font-size-11, 11px);font-weight:var(--font-weight-semibold, 600);background:#eef2f2;color:var(--c-text-secondary)}.apf-chip i[data-v-33963f1d]{width:6px;height:6px;border-radius:50%;background:currentColor}.apf-running[data-v-33963f1d]{color:var(--c-running, #0060A2);background:#e8f4ff}.apf-waiting[data-v-33963f1d]{color:var(--c-warning, #F09700);background:#fdf2df}.apf-success[data-v-33963f1d]{color:var(--c-primary, #0060A2);background:var(--c-primary-soft, #e8f4ff)}.apf-failed[data-v-33963f1d]{color:var(--c-danger, #E50113);background:var(--c-danger-soft, #fff8f7)}.apf-cancelled[data-v-33963f1d]{color:var(--c-text-muted, #909399)}.apf-approval-card[data-v-eef9b412]{margin:0 var(--spacing-md, 16px) var(--spacing-md, 16px);padding:var(--spacing-md, 16px);background:var(--c-surface);border:1px solid var(--c-border);border-left:3px solid var(--c-primary);border-radius:var(--radius)}.apf-approval-card.apf-dangerous[data-v-eef9b412]{border-left-color:var(--c-danger);background:var(--c-danger-soft)}.apf-header[data-v-eef9b412]{display:flex;align-items:center;gap:var(--spacing-sm, 8px);margin-bottom:var(--spacing-sm, 8px)}.apf-title[data-v-eef9b412]{font-weight:var(--font-weight-bold, 700);font-size:var(--font-size-14, 14px)}.apf-danger-tag[data-v-eef9b412]{font-size:var(--font-size-11, 11px);font-weight:var(--font-weight-bold, 700);color:#fff;background:var(--c-danger);padding:1px 6px;border-radius:3px}.apf-prompt[data-v-eef9b412]{margin:0 0 var(--spacing-12px, 12px);font-size:var(--font-size-13, 13px);line-height:1.6;color:var(--c-text-secondary)}.apf-field[data-v-eef9b412]{margin-bottom:var(--spacing-10px, 10px)}.apf-field label[data-v-eef9b412]{display:block;font-size:var(--font-size-12, 12px);color:var(--c-text-muted);margin-bottom:var(--spacing-xs, 4px)}.apf-field input[data-v-eef9b412],.apf-field textarea[data-v-eef9b412],.apf-field select[data-v-eef9b412]{display:block;width:100%;padding:var(--spacing-sm, 8px) var(--spacing-10px, 10px);border:1px solid var(--c-border);border-radius:var(--radius);font-size:var(--font-size-13, 13px);outline:none;background:var(--c-surface)}.apf-field input[data-v-eef9b412]:focus,.apf-field textarea[data-v-eef9b412]:focus,.apf-field select[data-v-eef9b412]:focus{border-color:var(--c-primary)}.apf-actions[data-v-eef9b412]{display:flex;gap:var(--spacing-sm, 8px);justify-content:flex-end}.apf-btn[data-v-eef9b412]{padding:6px var(--spacing-md, 16px);border-radius:var(--radius);font-size:var(--font-size-13, 13px);cursor:pointer;border:1px solid transparent}.apf-btn-primary[data-v-eef9b412]{background:var(--c-primary);color:#fff}.apf-btn-primary[data-v-eef9b412]:hover{background:var(--c-primary-hover)}.apf-btn-primary[data-v-eef9b412]:disabled{opacity:.5;cursor:not-allowed}.apf-btn-danger[data-v-eef9b412]{background:var(--c-danger);color:#fff}.apf-btn-danger[data-v-eef9b412]:hover{opacity:.9}.apf-btn-danger[data-v-eef9b412]:disabled{opacity:.5;cursor:not-allowed}.apf-preview-mask[data-v-40702673]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--spacing-lg, 24px);background:#1018208c}.apf-preview-panel[data-v-40702673]{width:min(920px,100%);max-height:90vh;overflow:auto;border-radius:var(--border-radius-xl, 12px);background:#111;box-shadow:0 20px 48px #00000059}.apf-preview-panel.apf-preview-pdf[data-v-40702673]{width:min(1040px,100%);height:min(90vh,860px);display:flex;flex-direction:column;overflow:hidden}.apf-preview-panel.apf-preview-degraded[data-v-40702673]{width:min(480px,100%)}.apf-preview-head[data-v-40702673]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12px, 12px);padding:var(--spacing-12px, 12px) 14px;color:#fff;background:#1b232b;border-radius:var(--border-radius-xl, 12px) var(--border-radius-xl, 12px) 0 0}.apf-preview-title[data-v-40702673]{font-size:var(--font-size-13, 13px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.apf-preview-actions[data-v-40702673]{display:flex;gap:var(--spacing-sm, 8px);flex:none}.apf-preview-action-btn[data-v-40702673]{border:0;border-radius:var(--border-radius-6, 6px);padding:var(--spacing-10px, 10px) 14px;min-height:var(--control-height-xl, 44px);background:#ffffff1a;color:#fff;font-size:var(--font-size-12, 12px);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}.apf-preview-action-btn[data-v-40702673]:hover{background:#fff3}.apf-preview-action-primary[data-v-40702673]{background:var(--c-primary, #0d6b67)}.apf-preview-body-image[data-v-40702673]{display:grid;place-items:center;min-height:200px;max-height:calc(90vh - 52px);overflow:hidden;background:#000;position:relative}.apf-preview-img[data-v-40702673]{display:block;width:100%;max-height:calc(90vh - 52px);object-fit:contain}.apf-gallery-btn[data-v-40702673]{position:absolute;top:50%;transform:translateY(-50%);width:var(--control-height-lg, 40px);height:var(--control-height-lg, 40px);border:0;border-radius:50%;background:#00000080;color:#fff;font-size:var(--font-size-24, 24px);cursor:pointer;z-index:10}.apf-gallery-prev[data-v-40702673]{left:var(--spacing-12px, 12px)}.apf-gallery-next[data-v-40702673]{right:var(--spacing-12px, 12px)}.apf-gallery-counter[data-v-40702673]{position:absolute;bottom:var(--spacing-12px, 12px);left:50%;transform:translate(-50%);padding:var(--spacing-xs, 4px) var(--spacing-12px, 12px);background:#0009;color:#fff;font-size:var(--font-size-12, 12px);border-radius:var(--border-radius-full, 999px)}.apf-preview-body-pdf[data-v-40702673]{flex:1;display:flex;overflow:hidden}.apf-pdf-frame[data-v-40702673]{flex:1;width:100%;border:0;background:#fff}.apf-preview-body-degraded[data-v-40702673]{padding:var(--spacing-lg, 24px);background:#1b232b;border-radius:0 0 var(--border-radius-xl, 12px) var(--border-radius-xl, 12px)}.apf-degraded-content[data-v-40702673]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-12px, 12px);text-align:center;color:#fff}.apf-degraded-badge[data-v-40702673]{padding:0 var(--spacing-sm, 8px);height:var(--control-height-xs, 24px);display:grid;place-items:center;border-radius:var(--border-radius-6, 6px);background:#ffffff26;font-size:var(--font-size-11, 11px);font-weight:var(--font-weight-bold, 700)}.apf-degraded-filename[data-v-40702673]{font-size:var(--font-size-14, 14px);word-break:break-all}.apf-degraded-size[data-v-40702673],.apf-degraded-hint[data-v-40702673]{margin:0;color:#ffffff8c;font-size:var(--font-size-12, 12px)}.apf-session-sidebar[data-v-8f9bd29d]{display:flex;flex-direction:column;height:100%;min-width:var(--sidebar-width, 240px);background:var(--bg-color-white, #fff);border-right:1px solid var(--border-color-light, #ebeef5)}.apf-session-sidebar__head[data-v-8f9bd29d]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-12px, 12px) 14px;border-bottom:1px solid var(--border-color-light, #ebeef5)}.apf-session-sidebar__list[data-v-8f9bd29d]{flex:1;overflow:auto;padding:var(--spacing-sm, 8px)}.apf-session-sidebar__item[data-v-8f9bd29d]{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs, 4px);width:100%;padding:var(--spacing-10px, 10px) var(--spacing-12px, 12px);margin-bottom:var(--spacing-xs, 4px);border:0;border-radius:var(--border-radius-lg, 10px);background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}.apf-session-sidebar__item[data-v-8f9bd29d]:hover,.apf-session-sidebar__item.is-active[data-v-8f9bd29d]{background:var(--bg-color-gray-light, #f5f7fa)}.apf-session-sidebar__item-title[data-v-8f9bd29d]{font-size:var(--font-size-13, 13px);font-weight:var(--font-weight-semibold, 600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding-right:36px}.apf-session-sidebar__item small[data-v-8f9bd29d]{color:var(--text-color-secondary, #909399);font-size:var(--font-size-11, 11px)}.apf-session-sidebar__delete[data-v-8f9bd29d]{position:absolute;top:var(--spacing-sm, 8px);right:6px;opacity:0}.apf-session-sidebar__item:hover .apf-session-sidebar__delete[data-v-8f9bd29d]{opacity:1}.apf-session-sidebar__empty[data-v-8f9bd29d]{padding:var(--spacing-lg, 24px) var(--spacing-12px, 12px);text-align:center;color:var(--text-color-secondary, #909399);font-size:var(--font-size-13, 13px)}.apf-processing-drawer__subtitle[data-v-6036074a]{margin:0 0 var(--spacing-12px, 12px);font-size:var(--font-size-13, 13px);color:var(--text-color-secondary, #909399)}.apf-processing-drawer__body[data-v-6036074a]{margin-top:var(--spacing-md, 16px)}.apf-conversation-header[data-v-47648485]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md, 16px);min-height:var(--conversation-header-height, 68px);padding:var(--spacing-12px, 12px) var(--page-padding-x, 24px);border-bottom:1px solid var(--border-color-light, #ebeef5);background:var(--bg-color-white, #fff)}.apf-conversation-header__copy[data-v-47648485]{display:grid;gap:2px;min-width:0}.apf-conversation-header__label[data-v-47648485]{color:var(--text-color-secondary, #909399);font-size:var(--font-size-11, 11px)}.apf-conversation-header__copy strong[data-v-47648485]{overflow:hidden;color:var(--text-color-title, #303133);font-size:var(--font-size-14, 14px);font-weight:var(--font-weight-semibold, 600);text-overflow:ellipsis;white-space:nowrap}.apf-conversation-header__actions[data-v-47648485]{display:flex;align-items:center;gap:var(--spacing-sm, 8px);flex:none}.apf-conversation-header__btn[data-v-47648485]{border:0;border-radius:var(--border-radius-md, 4px);background:transparent;color:var(--text-color-regular, #606266);cursor:pointer;font-size:var(--font-size-12, 12px);padding:7px var(--spacing-sm, 8px)}.apf-conversation-header__btn[data-v-47648485]:hover{background:var(--bg-color-gray-light, #f5f7fa);color:var(--color-primary, #0060a2)}.apf-conversation-header__processing[data-v-47648485]{display:inline-flex;align-items:center;gap:var(--form-field-gap, 6px);color:var(--el-color-warning, #e6a23c);font-size:var(--font-size-12, 12px)}.apf-conversation-header__processing i[data-v-47648485]{width:6px;height:6px;border-radius:50%;background:currentColor}
|