jit-viewer 1.2.1 → 1.2.2
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/CHANGELOG.md +8 -0
- package/README.md +74 -8
- package/README.zh-CN.md +74 -8
- package/dist/iife/jit-viewer.min.css +1 -1
- package/dist/iife/jit-viewer.min.js +1 -1
- package/dist/{index-CuSte5rW.cjs → index-BCnBZkpl.cjs} +1 -1
- package/dist/{index-CvlcqXIv.js → index-BDdnUZzd.js} +1290 -80
- package/dist/{index-DKpKxg1L.js → index-BXB1uz9p.js} +1 -1
- package/dist/{index-95hmNxVM.cjs → index-ebnwkxU2.cjs} +16 -16
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +208 -1
- package/dist/index.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.2 - 2026-04-06
|
|
4
|
+
|
|
5
|
+
- Expanded video preview capabilities with resume playback, callbacks, runtime control APIs, and configurable toolbar/custom control items
|
|
6
|
+
- Added `video.nativeControls` so native browser controls can be toggled independently from SDK controls
|
|
7
|
+
- Fixed initial video state syncing so custom controls can render immediately after upload or metadata load
|
|
8
|
+
- Fixed video toolbar `More` menu overlay layering inside the viewer toolbar
|
|
9
|
+
- Added a visual video control debug panel to the full vanilla HTML demo and improved local asset loading fallback order
|
|
10
|
+
|
|
3
11
|
## 1.2.1 - 2026-04-03
|
|
4
12
|
|
|
5
13
|
- Added `cad` as a first-class preview type with built-in DXF rendering
|
package/README.md
CHANGED
|
@@ -10,13 +10,13 @@ Chinese docs:
|
|
|
10
10
|
|
|
11
11
|
## What's New
|
|
12
12
|
|
|
13
|
-
### 1.2.
|
|
13
|
+
### 1.2.2 - 2026-04-06
|
|
14
14
|
|
|
15
|
-
-
|
|
16
|
-
- Added `
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
15
|
+
- Expanded video preview controls with resume playback, callbacks, runtime control APIs, and configurable toolbar/custom control items
|
|
16
|
+
- Added `video.nativeControls` to control browser-native video controls independently
|
|
17
|
+
- Fixed custom video controls not rendering immediately after upload or metadata load
|
|
18
|
+
- Fixed the toolbar `More` menu overlay being clipped by the top toolbar
|
|
19
|
+
- Added a visual video debug panel to the full vanilla HTML demo and improved local SDK asset loading order
|
|
20
20
|
|
|
21
21
|
See the full history in [CHANGELOG.md](./CHANGELOG.md).
|
|
22
22
|
|
|
@@ -118,12 +118,12 @@ export default function App() {
|
|
|
118
118
|
<meta charset="UTF-8" />
|
|
119
119
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
120
120
|
<title>JitViewer Demo</title>
|
|
121
|
-
<link rel="stylesheet" href="https://unpkg.com/jit-viewer@1.2.
|
|
121
|
+
<link rel="stylesheet" href="https://unpkg.com/jit-viewer@1.2.2/dist/iife/jit-viewer.min.css" />
|
|
122
122
|
</head>
|
|
123
123
|
<body>
|
|
124
124
|
<div id="viewer" style="width:100%;height:640px;"></div>
|
|
125
125
|
|
|
126
|
-
<script src="https://unpkg.com/jit-viewer@1.2.
|
|
126
|
+
<script src="https://unpkg.com/jit-viewer@1.2.2/dist/iife/jit-viewer.min.js"></script>
|
|
127
127
|
<script>
|
|
128
128
|
const viewer = JitViewer.createViewer({
|
|
129
129
|
target: '#viewer',
|
|
@@ -159,6 +159,7 @@ Key `ViewerOptions`:
|
|
|
159
159
|
| `watermark` | `WatermarkConfig \| null` | Preview watermark config |
|
|
160
160
|
| `proxyUrl` | `string` | Custom proxy endpoint |
|
|
161
161
|
| `requestAdapter` | `RequestAdapter` | Custom fetch adapter |
|
|
162
|
+
| `video` | `VideoOptions` | Video preview config for seek control, resume playback, and callbacks |
|
|
162
163
|
| `renderOptions` | `{ zoom?: number; rotate?: number; page?: number }` | Initial render state |
|
|
163
164
|
|
|
164
165
|
### `ViewerInstance`
|
|
@@ -178,6 +179,9 @@ Key `ViewerOptions`:
|
|
|
178
179
|
| `getPageInfo()` | Get page state |
|
|
179
180
|
| `print()` | Print current view |
|
|
180
181
|
| `download()` | Download current file |
|
|
182
|
+
| `playVideo()` / `pauseVideo()` / `toggleVideoPlayback()` | Control video playback |
|
|
183
|
+
| `seekVideo(time)` | Seek to a specific video time |
|
|
184
|
+
| `getVideoState()` | Get current video playback state |
|
|
181
185
|
| `setTheme(theme)` | Update theme |
|
|
182
186
|
| `setLocale(locale)` | Update locale |
|
|
183
187
|
| `setToolbar(config)` | Update toolbar |
|
|
@@ -226,6 +230,68 @@ viewer.mount()
|
|
|
226
230
|
| Video | `.mp4`, `.webm`, `.ogg`, `.ogv`, `.mov` |
|
|
227
231
|
| CAD | `.dxf` (built-in rendering), `.dwg`, `.dwf`, `.dwfx`, `.dwt` (via `cad.previewUrl` / `cad.adapter`) |
|
|
228
232
|
|
|
233
|
+
## Video Preview
|
|
234
|
+
|
|
235
|
+
Video preview supports blocking manual seek, resuming from the last playback position, and runtime playback callbacks.
|
|
236
|
+
|
|
237
|
+
When `disableSeek` is enabled, the SDK automatically switches to its own control bar so the native seek bar is no longer exposed.
|
|
238
|
+
Use `nativeControls: false` to hide the browser's native video controls independently.
|
|
239
|
+
When `nativeControls: false` is set and custom controls are not explicitly disabled, the SDK falls back to its own controls or toolbar controls automatically.
|
|
240
|
+
If the main toolbar includes the `video` item, playback controls move to the toolbar and the in-player custom controls are hidden.
|
|
241
|
+
By default, `play / restart / time / progress` stay inline and `mute / speed` move into a `More` menu.
|
|
242
|
+
|
|
243
|
+
```ts
|
|
244
|
+
import { createViewer } from 'jit-viewer'
|
|
245
|
+
import 'jit-viewer/style.css'
|
|
246
|
+
|
|
247
|
+
const viewer = createViewer({
|
|
248
|
+
target: '#viewer',
|
|
249
|
+
file: '/demo/training.mp4',
|
|
250
|
+
video: {
|
|
251
|
+
disableSeek: true,
|
|
252
|
+
nativeControls: false,
|
|
253
|
+
resumePlayback: 'local',
|
|
254
|
+
toolbarItems: ['playback', 'time', 'progress'],
|
|
255
|
+
toolbarMoreItems: ['mute', 'speed'],
|
|
256
|
+
customControlItems: ['playback', 'progress', 'time'],
|
|
257
|
+
onEnded: (state) => {
|
|
258
|
+
console.log('ended', state.currentTime)
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
})
|
|
262
|
+
|
|
263
|
+
viewer.mount()
|
|
264
|
+
|
|
265
|
+
await viewer.playVideo()
|
|
266
|
+
viewer.pauseVideo()
|
|
267
|
+
viewer.seekVideo(120)
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
You can also subscribe to runtime video events:
|
|
271
|
+
|
|
272
|
+
```ts
|
|
273
|
+
viewer.on('video:ended', (state) => {
|
|
274
|
+
console.log('ended', state.currentTime)
|
|
275
|
+
})
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
You can also trim the toolbar-level video controls directly:
|
|
279
|
+
|
|
280
|
+
```ts
|
|
281
|
+
const viewer = createViewer({
|
|
282
|
+
target: '#viewer',
|
|
283
|
+
file: '/demo/training.mp4',
|
|
284
|
+
toolbar: {
|
|
285
|
+
position: 'both',
|
|
286
|
+
items: [
|
|
287
|
+
{ type: 'fullscreen' },
|
|
288
|
+
{ type: 'video', options: { items: ['playback', 'time'], moreItems: ['mute', 'speed'] } },
|
|
289
|
+
{ type: 'download' }
|
|
290
|
+
]
|
|
291
|
+
}
|
|
292
|
+
})
|
|
293
|
+
```
|
|
294
|
+
|
|
229
295
|
## Links
|
|
230
296
|
|
|
231
297
|
- [Chinese README](./README.zh-CN.md)
|
package/README.zh-CN.md
CHANGED
|
@@ -8,13 +8,13 @@ JitViewer 是一个面向 Vue 3、React 和原生 JavaScript 的文档预览 SDK
|
|
|
8
8
|
|
|
9
9
|
## 本次更新
|
|
10
10
|
|
|
11
|
-
### 1.2.
|
|
11
|
+
### 1.2.2 - 2026-04-06
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
- 新增 `
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
13
|
+
- 增强视频预览能力,支持续播、播放回调、运行时控制 API 与控件裁剪配置
|
|
14
|
+
- 新增 `video.nativeControls`,可独立控制浏览器原生视频工具条显示
|
|
15
|
+
- 修复视频加载后自定义控件不立即显示的问题
|
|
16
|
+
- 修复视频工具栏 `More` 面板被顶部工具栏遮挡的问题
|
|
17
|
+
- 完整 HTML demo 新增视频调试面板,并优化本地 SDK 资源加载顺序
|
|
18
18
|
|
|
19
19
|
完整变更见 [CHANGELOG.md](./CHANGELOG.md)。
|
|
20
20
|
|
|
@@ -116,12 +116,12 @@ export default function App() {
|
|
|
116
116
|
<meta charset="UTF-8" />
|
|
117
117
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
118
118
|
<title>JitViewer Demo</title>
|
|
119
|
-
<link rel="stylesheet" href="https://unpkg.com/jit-viewer@1.2.
|
|
119
|
+
<link rel="stylesheet" href="https://unpkg.com/jit-viewer@1.2.2/dist/iife/jit-viewer.min.css" />
|
|
120
120
|
</head>
|
|
121
121
|
<body>
|
|
122
122
|
<div id="viewer" style="width:100%;height:640px;"></div>
|
|
123
123
|
|
|
124
|
-
<script src="https://unpkg.com/jit-viewer@1.2.
|
|
124
|
+
<script src="https://unpkg.com/jit-viewer@1.2.2/dist/iife/jit-viewer.min.js"></script>
|
|
125
125
|
<script>
|
|
126
126
|
const viewer = JitViewer.createViewer({
|
|
127
127
|
target: '#viewer',
|
|
@@ -157,6 +157,7 @@ export default function App() {
|
|
|
157
157
|
| `watermark` | `WatermarkConfig \| null` | 预览层水印配置 |
|
|
158
158
|
| `proxyUrl` | `string` | 自定义代理地址 |
|
|
159
159
|
| `requestAdapter` | `RequestAdapter` | 自定义请求适配器 |
|
|
160
|
+
| `video` | `VideoOptions` | 视频预览配置,支持禁用拖动续播与播放回调 |
|
|
160
161
|
| `cad` | `CadOptions` | CAD 预览配置,支持 `DXF` 直渲染和 `DWG / DWF` 适配器接入 |
|
|
161
162
|
| `renderOptions` | `{ zoom?: number; rotate?: number; page?: number }` | 初始渲染状态 |
|
|
162
163
|
|
|
@@ -177,6 +178,9 @@ export default function App() {
|
|
|
177
178
|
| `getPageInfo()` | 获取页码状态 |
|
|
178
179
|
| `print()` | 打印当前内容 |
|
|
179
180
|
| `download()` | 下载当前文件 |
|
|
181
|
+
| `playVideo()` / `pauseVideo()` / `toggleVideoPlayback()` | 控制视频播放 |
|
|
182
|
+
| `seekVideo(time)` | 跳转到指定视频时间 |
|
|
183
|
+
| `getVideoState()` | 获取当前视频播放状态 |
|
|
180
184
|
| `setTheme(theme)` | 切换主题 |
|
|
181
185
|
| `setLocale(locale)` | 切换语言 |
|
|
182
186
|
| `setToolbar(config)` | 更新工具栏 |
|
|
@@ -225,6 +229,68 @@ viewer.mount()
|
|
|
225
229
|
| 视频 | `.mp4`, `.webm`, `.ogg`, `.ogv`, `.mov` |
|
|
226
230
|
| CAD | `.dxf`(内建直渲染), `.dwg`, `.dwf`, `.dwfx`, `.dwt`(通过 `cad.previewUrl` / `cad.adapter` 接入) |
|
|
227
231
|
|
|
232
|
+
## 视频预览
|
|
233
|
+
|
|
234
|
+
视频预览支持禁止用户拖动进度条、按上次播放进度继续播放,以及播放/暂停/播放结束回调。
|
|
235
|
+
|
|
236
|
+
开启 `disableSeek` 后,SDK 会自动切换到自定义控制栏,避免浏览器原生进度条仍然可拖动。
|
|
237
|
+
通过 `nativeControls: false` 可以单独隐藏浏览器原生视频工具条。
|
|
238
|
+
当 `nativeControls: false` 且未显式关闭自定义控件时,SDK 会自动回退到自定义控件或工具栏控件。
|
|
239
|
+
如果主工具栏启用了 `video` 项,视频控制会优先显示在主工具栏中,画面内控件会自动隐藏。
|
|
240
|
+
默认会把 `播放 / 重播 / 时间 / 进度` 放在主工具栏,把 `音量 / 倍速` 收纳到 `More` 菜单。
|
|
241
|
+
|
|
242
|
+
```ts
|
|
243
|
+
import { createViewer } from 'jit-viewer'
|
|
244
|
+
import 'jit-viewer/style.css'
|
|
245
|
+
|
|
246
|
+
const viewer = createViewer({
|
|
247
|
+
target: '#viewer',
|
|
248
|
+
file: '/demo/training.mp4',
|
|
249
|
+
video: {
|
|
250
|
+
disableSeek: true,
|
|
251
|
+
nativeControls: false,
|
|
252
|
+
resumePlayback: 'local',
|
|
253
|
+
toolbarItems: ['playback', 'time', 'progress'],
|
|
254
|
+
toolbarMoreItems: ['mute', 'speed'],
|
|
255
|
+
customControlItems: ['playback', 'progress', 'time'],
|
|
256
|
+
onEnded: (state) => {
|
|
257
|
+
console.log('播放结束', state.currentTime)
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
})
|
|
261
|
+
|
|
262
|
+
viewer.mount()
|
|
263
|
+
|
|
264
|
+
await viewer.playVideo()
|
|
265
|
+
viewer.pauseVideo()
|
|
266
|
+
viewer.seekVideo(120)
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
如果你希望通过事件总线监听视频状态,也可以使用:
|
|
270
|
+
|
|
271
|
+
```ts
|
|
272
|
+
viewer.on('video:ended', (state) => {
|
|
273
|
+
console.log('ended', state.currentTime)
|
|
274
|
+
})
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
如果你需要裁剪主工具栏里的视频控件,也可以直接这样配:
|
|
278
|
+
|
|
279
|
+
```ts
|
|
280
|
+
const viewer = createViewer({
|
|
281
|
+
target: '#viewer',
|
|
282
|
+
file: '/demo/training.mp4',
|
|
283
|
+
toolbar: {
|
|
284
|
+
position: 'both',
|
|
285
|
+
items: [
|
|
286
|
+
{ type: 'fullscreen' },
|
|
287
|
+
{ type: 'video', options: { items: ['playback', 'time'], moreItems: ['mute', 'speed'] } },
|
|
288
|
+
{ type: 'download' }
|
|
289
|
+
]
|
|
290
|
+
}
|
|
291
|
+
})
|
|
292
|
+
```
|
|
293
|
+
|
|
228
294
|
## CAD 预览
|
|
229
295
|
|
|
230
296
|
`DXF` 默认会在浏览器端直渲染;`DWG / DWF` 等格式建议先由服务端转换成 `PDF / SVG / HTML`,再交给 SDK 展示。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vue-office-docx{height:100%;overflow-y:auto}.vue-office-docx .docx-wrapper>section.docx{margin-bottom:5px}@media screen and (max-width: 800px){.vue-office-docx .docx-wrapper{padding:10px}.vue-office-docx .docx-wrapper>section.docx{padding:10px!important;width:100%!important}}.x-spreadsheet{font-size:13px;line-height:normal;-webkit-user-select:none;user-select:none;-moz-user-select:none;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;box-sizing:content-box;background:#fff;-webkit-font-smoothing:antialiased}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{font-family:inherit;position:absolute;padding:5px 10px;color:#fff;border-radius:1px;background:#000;font-size:12px;z-index:201}.x-spreadsheet-tooltip:before{pointer-events:none;position:absolute;left:calc(50% - 4px);top:-4px;content:"";width:8px;height:8px;background:inherit;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:1;box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:2;background:#fff}.x-spreadsheet-color-palette table td{margin:0;cursor:pointer;border:1px solid transparent}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{width:30px;height:30px;cursor:pointer;text-align:center}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;left:0;top:-3px}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{position:absolute;z-index:200;background:#fff;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{position:absolute;z-index:11}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;left:0;bottom:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{position:absolute;bottom:0;right:0;background-color:#f4f5f8;opacity:.9;z-index:12}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow-x:scroll;overflow-y:hidden}.x-spreadsheet-scrollbar.horizontal>div{height:1px;background:#ddd}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow-x:hidden;overflow-y:scroll}.x-spreadsheet-scrollbar.vertical>div{width:1px;background:#ddd}.x-spreadsheet-overlayer{position:absolute;left:0;top:0;z-index:10}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{position:absolute;overflow:hidden;pointer-events:none;width:100%;height:100%}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;position:absolute;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;height:100%}.x-spreadsheet-selector .hide-input{position:absolute;z-index:0}.x-spreadsheet-selector .hide-input input{padding:0;width:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{position:absolute;border:2px solid #4b89ff;background:#4b89ff1a;z-index:5}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{position:absolute;background:transparent;z-index:100}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed rgba(0,0,0,.45)}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;position:absolute;cursor:crosshair;font-size:0;height:5px;width:5px;right:-5px;bottom:-5px;border:2px solid #ffffff;background:#4b89ff}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{position:absolute;text-align:left;border:2px solid #4b89ff;line-height:0;z-index:100;pointer-events:auto}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;border:none;padding:0 3px;outline:none;resize:none;text-align:start;overflow-y:hidden;font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;color:inherit;white-space:normal;word-wrap:break-word;line-height:22px;margin:0}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{overflow:hidden;visibility:hidden;position:fixed;top:0;left:0}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;background:0;border:1px solid transparent;outline:none;height:26px;color:#000000e6;line-height:26px;list-style:none;padding:2px 10px;cursor:default;text-align:left;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{height:0;padding:0;margin:5px 0;border:none;border-bottom:1px solid rgba(0,0,0,.1)}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{padding-left:35px!important;position:relative}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";position:absolute;width:10px;height:10px;left:12px;top:calc(50% - 5px);background:#00000014;border-radius:2px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;font-size:1rem;line-height:1em}.x-spreadsheet-checkbox>input{position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:-1}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{position:absolute;box-shadow:1px 2px 5px 2px #33333326;background:#fff;z-index:100;width:260px;pointer-events:auto;overflow:auto}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;font-size:12px;margin:10px}.x-spreadsheet-filter .x-spreadsheet-header{padding:.5em .75em;background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid transparent}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{height:40px;padding:0 30px;text-align:left;background:#f5f6f7;display:flex}.x-spreadsheet-bottombar{position:relative;border-top:1px solid #e0e2e4}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{line-height:40px;height:40px;padding-top:0;padding-bottom:0;vertical-align:middle;border-right:1px solid #e8eaed}.x-spreadsheet-menu{display:flex;overflow-x:auto;list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.x-spreadsheet-menu>li{float:left;line-height:1.25em;padding:.785em 1em;margin:0;vertical-align:middle;text-align:left;font-weight:400;color:#80868b;white-space:nowrap;cursor:pointer;transition:all .3s;font-weight:700}.x-spreadsheet-menu>li.active{background-color:#fff;color:#000000a6}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;flex-direction:column}.x-spreadsheet-print-bar{background:#424242;height:60px;line-height:60px;padding:0 30px}.x-spreadsheet-print-bar .-title{color:#fff;font-weight:700;font-size:1.2em;float:left}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{display:flex;flex:auto;flex-direction:row;background:#d0d0d0;height:calc(100% - 60px)}.x-spreadsheet-print-content .-sider{flex:0 0 300px;width:300px;border-left:2px solid #ccc;background:#fff}.x-spreadsheet-print-content .-content{flex:auto;overflow-x:auto;overflow-y:scroll;height:100%}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{background:#fff;margin:auto;page-break-before:auto;page-break-after:always;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;background:#fff;-webkit-user-select:none;user-select:none}.x-spreadsheet-calendar .calendar-header{font-weight:700;line-height:30px;text-align:center;width:100%;float:left;background:#f9fafb}.x-spreadsheet-calendar .calendar-header .calendar-header-left{padding-left:5px;float:left}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{padding:3px 0;margin-right:2px;border-radius:2px}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:14.28571429%;min-width:32px;text-align:center;font-weight:700;line-height:30px;padding:0}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{background:#ecf6fd;color:#2185d0}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{box-shadow:2px 2px 5px #0003;position:absolute;left:0;top:calc(100% + 5px);z-index:10;width:auto}.x-spreadsheet-buttons{display:flex;justify-content:flex-end}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{display:inline-block;border-radius:3px;line-height:1em;min-height:1em;white-space:nowrap;text-align:center;cursor:pointer;font-size:1em;font-weight:700;padding:.75em 1em;color:#0009;background:#e0e1e2;text-decoration:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;outline:none;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;transition:all .1s linear}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{background-color:#c0c1c2;color:#000c}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{font-size:1em;position:relative;font-weight:400;display:inline-flex;color:#000000de}.x-spreadsheet-form-input input{z-index:1;margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:30px;height:30px;padding:0 8px;background:#fff;border:1px solid #e9e9e9;border-radius:3px;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{position:relative;display:inline-block;background:#fff;border:1px solid #e9e9e9;border-radius:2px;cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;min-width:60px;width:auto;height:30px;line-height:30px;padding:0 8px}.x-spreadsheet-form-fields{display:flex;flex-direction:row;flex-wrap:wrap}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 1 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{display:inline-block;margin:0 10px 0 0}.x-spreadsheet-form-field{display:block;vertical-align:middle;margin-left:10px;margin-bottom:10px}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:#0009;opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;transition:background-color .5s linear;-webkit-user-select:none;user-select:none;z-index:1000}.x-spreadsheet-dimmer.active{display:block;opacity:1}form fieldset{border:none}form fieldset label{display:block;margin-bottom:.5em;font-size:1em;color:#666}form fieldset select{font-size:1.1em;width:100%;background-color:#fff;border:none;border-bottom:2px solid #ddd;padding:.5em .85em;border-radius:2px}.x-spreadsheet-modal,.x-spreadsheet-toast{font-size:13px;position:fixed;z-index:1001;text-align:left;line-height:1.25em;min-width:360px;color:#000000de;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;border-radius:4px;border:1px solid rgba(0,0,0,.1);background-color:#fff;background-clip:padding-box;box-shadow:#0003 0 2px 8px}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{font-weight:600;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);border-radius:4px 4px 0 0}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{border-bottom:1px solid #e0e2e4;background:#00000014;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}body{margin:0}.gray{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;align-content:end}.textLayer :is(span,br,div){color:transparent;white-space:pre;cursor:text;transform-origin:0 0}.textLayer .highlight{--highlight-bg-color: rgb(180 0 170 / .25);--highlight-selected-bg-color: rgb(0 100 0 / .25);--highlight-backdrop-filter: none;--highlight-selected-backdrop-filter: none}.textLayer::selection{background:#0000ff40;color:transparent;align-content:end}.selectNone::selection{background:#0000ff40;color:transparent}.highLighting{background-color:#00640040;-webkit-backdrop-filter:none;backdrop-filter:none}.selectHighLight{touch-action:none;margin:-1px;padding:1px;background-color:#00640040;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px}.selectHighLight::selection{background:#0000ff40;color:transparent}.pages-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.jv-toolbar-btn[data-v-9abd52f0]{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border:none;border-radius:var(--jv-radius);background:transparent;color:var(--jv-text-secondary);cursor:pointer;transition:all .2s ease}.jv-toolbar-btn[data-v-9abd52f0]:hover:not(:disabled){background:var(--jv-bg-secondary);color:var(--jv-text-primary)}.jv-toolbar-btn[data-v-9abd52f0]:active:not(:disabled){background:var(--jv-bg-tertiary)}.jv-toolbar-btn--disabled[data-v-9abd52f0],.jv-toolbar-btn[data-v-9abd52f0]:disabled{opacity:.5;cursor:not-allowed}.jv-toolbar-btn__icon[data-v-9abd52f0]{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.jv-toolbar-btn__icon svg[data-v-9abd52f0]{width:100%;height:100%}.jv-toolbar-btn__label[data-v-9abd52f0]{font-size:13px;font-weight:500}.jv-zoom-control[data-v-874ddbac]{display:flex;align-items:center;gap:4px}.jv-zoom-control__value[data-v-874ddbac]{min-width:50px;text-align:center;font-size:13px;font-weight:500;color:var(--jv-text-primary)}.jv-rotate-control[data-v-ad291658]{display:flex;align-items:center;gap:4px}.jv-pagination[data-v-97c0759f]{display:flex;align-items:center;gap:8px}.jv-pagination__info[data-v-97c0759f]{font-size:13px;color:var(--jv-text-secondary);min-width:100px;text-align:center}.jv-toolbar[data-v-74d3b30f]{display:flex;flex-direction:column;background:var(--jv-toolbar-bg);border-bottom:1px solid var(--jv-toolbar-border)}.jv-toolbar--hidden[data-v-74d3b30f]{display:none}.jv-toolbar__top[data-v-74d3b30f],.jv-toolbar__bottom[data-v-74d3b30f]{display:flex;align-items:center;justify-content:space-between;height:var(--jv-toolbar-height);padding:0 16px}.jv-toolbar__top[data-v-74d3b30f]{border-bottom:1px solid var(--jv-toolbar-border)}.jv-toolbar__left[data-v-74d3b30f],.jv-toolbar__right[data-v-74d3b30f],.jv-toolbar__center[data-v-74d3b30f]{display:flex;align-items:center;gap:8px}.jv-toolbar__filename[data-v-74d3b30f]{font-size:14px;font-weight:500;color:var(--jv-text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jv-toolbar--bottom .jv-toolbar__top[data-v-74d3b30f],.jv-toolbar--top .jv-toolbar__bottom[data-v-74d3b30f]{display:none}.jv-file-render--docx[data-v-9181c8b1]{width:100%;height:100%;overflow:auto;display:flex;justify-content:center;padding:20px}.jv-file-render--docx[data-v-9181c8b1] .vue-office-docx{background:#fff;box-shadow:var(--jv-shadow)}.jv-file-render--excel[data-v-a8c7c89f]{width:100%;height:100%;overflow:auto}.jv-file-render--csv[data-v-0dc1ca7d]{width:100%;height:100%;min-width:0;max-width:100%;overflow:hidden;background:var(--jv-bg-primary);display:flex;flex-direction:column}.jv-csv-toolbar[data-v-0dc1ca7d]{position:sticky;top:0;z-index:2;display:flex;gap:16px;align-items:center;padding:12px 16px;background:color-mix(in srgb,var(--jv-bg-secondary) 92%,white);border-bottom:1px solid var(--jv-border-color, #e5e7eb)}.jv-csv-meta[data-v-0dc1ca7d]{font-size:13px;color:var(--jv-text-secondary)}.jv-csv-scroll[data-v-0dc1ca7d]{flex:1;min-height:0;min-width:0;max-width:100%;overflow:hidden}.jv-csv-stage[data-v-0dc1ca7d]{padding:16px;width:100%;height:100%;min-width:0;max-width:100%}.jv-csv-empty[data-v-0dc1ca7d]{padding:24px;color:var(--jv-text-secondary)}.jv-csv-fit-scroll[data-v-0dc1ca7d]{width:100%;height:100%;min-width:0;max-width:100%;overflow:auto}.jv-csv-fit-shell[data-v-0dc1ca7d]{position:relative;width:100%;min-width:100%;max-width:100%}.jv-csv-fit-content[data-v-0dc1ca7d]{position:absolute;top:0;left:0}.jv-csv-table[data-v-0dc1ca7d]{border-collapse:collapse;width:max-content;background:#fff;box-shadow:var(--jv-shadow)}.jv-csv-table th[data-v-0dc1ca7d],.jv-csv-table td[data-v-0dc1ca7d]{min-width:140px;max-width:280px;padding:10px 12px;border:1px solid #e5e7eb;text-align:left;vertical-align:top;white-space:pre-wrap;word-break:break-word;font-size:13px;color:var(--jv-text-primary)}.jv-csv-table thead th[data-v-0dc1ca7d]{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:600}.jv-csv-index[data-v-0dc1ca7d]{min-width:60px!important;width:60px;text-align:center!important;color:var(--jv-text-secondary)!important;background:#f8fafc}.jv-csv-table tbody tr[data-v-0dc1ca7d]:nth-child(2n){background:#fcfcfd}.jv-file-render--pdf[data-v-32fed398]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-secondary)}.jv-file-render--pdf[data-v-32fed398] canvas{display:block;margin:10px auto;box-shadow:var(--jv-shadow)}.jv-pdf-iframe[data-v-32fed398]{width:100%;height:100%;display:block;border:none}.jv-file-render--pptx[data-v-b31abca4]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-secondary)}.jv-file-render--pptx[data-v-b31abca4] .pptx-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.jv-file-render--pptx[data-v-b31abca4] .pptx-slide{background:#fff;box-shadow:var(--jv-shadow)}.jv-file-render--text[data-v-f5957104]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-primary);padding:20px}.jv-text-content[data-v-f5957104]{margin:0;padding:20px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:var(--jv-text-primary);white-space:pre-wrap;word-wrap:break-word;background:var(--jv-bg-secondary);border-radius:var(--jv-radius);min-height:100%}.jv-file-render--markdown[data-v-2d9fb509]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-primary);padding:20px}.jv-markdown-content[data-v-2d9fb509]{max-width:800px;margin:0 auto;padding:30px;background:var(--jv-bg-primary);border-radius:var(--jv-radius-lg);line-height:1.8;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] h1,.jv-markdown-content[data-v-2d9fb509] h2,.jv-markdown-content[data-v-2d9fb509] h3,.jv-markdown-content[data-v-2d9fb509] h4,.jv-markdown-content[data-v-2d9fb509] h5,.jv-markdown-content[data-v-2d9fb509] h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] h1{font-size:2em;border-bottom:1px solid var(--jv-border-color);padding-bottom:.3em}.jv-markdown-content[data-v-2d9fb509] h2{font-size:1.5em;border-bottom:1px solid var(--jv-border-color);padding-bottom:.3em}.jv-markdown-content[data-v-2d9fb509] h3{font-size:1.25em}.jv-markdown-content[data-v-2d9fb509] p{margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] code{padding:.2em .4em;background:var(--jv-bg-secondary);border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:85%}.jv-markdown-content[data-v-2d9fb509] pre{padding:16px;overflow:auto;background:var(--jv-bg-secondary);border-radius:var(--jv-radius);margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] pre code{padding:0;background:transparent}.jv-markdown-content[data-v-2d9fb509] ul,.jv-markdown-content[data-v-2d9fb509] ol{padding-left:2em;margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] li{margin-bottom:.25em}.jv-markdown-content[data-v-2d9fb509] blockquote{padding:0 1em;border-left:4px solid var(--jv-primary-color);margin-bottom:16px;color:var(--jv-text-secondary)}.jv-markdown-content[data-v-2d9fb509] a{color:var(--jv-primary-color);text-decoration:none}.jv-markdown-content[data-v-2d9fb509] a:hover{text-decoration:underline}.jv-markdown-content[data-v-2d9fb509] hr{border:none;border-top:1px solid var(--jv-border-color);margin:24px 0}.jv-markdown-content[data-v-2d9fb509] img{max-width:100%;height:auto;border-radius:var(--jv-radius)}.jv-markdown-content[data-v-2d9fb509] table{width:100%;border-collapse:collapse;margin-bottom:16px;border:1px solid var(--jv-border-color)}.jv-markdown-content[data-v-2d9fb509] th,.jv-markdown-content[data-v-2d9fb509] td{padding:12px 16px;border:1px solid var(--jv-border-color);text-align:left}.jv-markdown-content[data-v-2d9fb509] th{background:var(--jv-bg-secondary);font-weight:600;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] tr:nth-child(2n){background:var(--jv-bg-secondary)}.jv-markdown-content[data-v-2d9fb509] tr:hover{background:var(--jv-bg-hover, rgba(0, 0, 0, .05))}.jv-markdown-content[data-v-2d9fb509] del{text-decoration:line-through;color:var(--jv-text-secondary)}.jv-file-render--ofd[data-v-f933a20c]{width:100%;height:100%;position:relative;background:var(--jv-bg-secondary, #f5f5f5)}.jv-ofd-scroll[data-v-f933a20c]{width:100%;height:100%;overflow:auto;padding:20px 0}.jv-ofd-stage[data-v-f933a20c]{min-height:100%;display:flex;justify-content:center}.jv-ofd-container[data-v-f933a20c]{min-height:100%;display:flex;flex-direction:column;align-items:center}.jv-ofd-loading[data-v-f933a20c],.jv-ofd-error[data-v-f933a20c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--jv-text-secondary, #666);font-size:14px;background:#ffffffe0;z-index:1}.jv-ofd-error[data-v-f933a20c]{color:var(--jv-error, #f56c6c)}.jv-ofd-container[data-v-f933a20c] .page-container{margin:12px auto;box-shadow:0 2px 8px #0000001a;background:#fff}.jv-ofd-container[data-v-f933a20c] canvas{display:block}.jv-file-render--html[data-v-be7a9198]{width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#f8fbfd,#eef3f7);position:relative}.jv-html-iframe[data-v-be7a9198]{width:100%;height:100%;border:none;display:block;background:#fff}.jv-html-loading[data-v-be7a9198]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffffe6;color:#666;font-size:14px}.jv-loading-spinner[data-v-be7a9198]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#1677ff;border-radius:50%;animation:jv-spin-be7a9198 1s linear infinite}@keyframes jv-spin-be7a9198{to{transform:rotate(360deg)}}.jv-html-error[data-v-be7a9198]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;color:#ff4d4f;font-size:14px}.jv-file-render--image[data-v-4810f73a]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--jv-bg-secondary);position:relative;overflow:hidden}.jv-image-loading[data-v-4810f73a],.jv-image-error[data-v-4810f73a]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--jv-text-secondary)}.jv-image-error svg[data-v-4810f73a]{width:48px;height:48px;color:#ff4d4f}.jv-loading-spinner[data-v-4810f73a]{width:40px;height:40px;border:3px solid var(--jv-border-color);border-top-color:var(--jv-primary-color);border-radius:50%;animation:jv-spin-4810f73a 1s linear infinite}@keyframes jv-spin-4810f73a{to{transform:rotate(360deg)}}.jv-image-wrapper[data-v-4810f73a]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jv-image-wrapper--dragging[data-v-4810f73a]{-webkit-user-select:none;user-select:none}.jv-image[data-v-4810f73a]{max-width:100%;max-height:100%;object-fit:contain;will-change:transform}.jv-image-controls[data-v-4810f73a]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px 12px;background:#000000b3;border-radius:8px;opacity:0;transition:opacity .3s ease}.jv-file-render--image:hover .jv-image-controls[data-v-4810f73a]{opacity:1}.jv-image-btn[data-v-4810f73a]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;line-height:1}.jv-image-btn[data-v-4810f73a]:hover{background:#fff3}.jv-image-btn svg[data-v-4810f73a]{display:block;flex:0 0 auto;width:18px;height:18px;stroke:currentColor;fill:none}.jv-image-info[data-v-4810f73a]{position:absolute;top:12px;right:12px;padding:6px 12px;background:#0009;color:#fff;font-size:12px;border-radius:4px;opacity:0;transition:opacity .3s ease}.jv-file-render--image:hover .jv-image-info[data-v-4810f73a]{opacity:1}:fullscreen .jv-file-render--image[data-v-4810f73a]{background:#000}.jv-file-render--video[data-v-39a588be]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0f172a;overflow:auto;position:relative}.jv-video-loading[data-v-39a588be],.jv-video-error[data-v-39a588be]{display:flex;flex-direction:column;align-items:center;gap:12px;color:#e2e8f0}.jv-video-error svg[data-v-39a588be]{width:40px;height:40px}.jv-loading-spinner[data-v-39a588be]{width:36px;height:36px;border:3px solid rgba(255,255,255,.24);border-top-color:#fff;border-radius:50%;animation:jv-video-spin-39a588be .8s linear infinite}.jv-video-stage[data-v-39a588be]{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;position:relative}.jv-video-stage__inner[data-v-39a588be]{max-width:100%;max-height:100%}.jv-video-loading[data-v-39a588be]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0f172ab8;z-index:1}.jv-video-player[data-v-39a588be]{max-width:min(100%,1200px);max-height:calc(100vh - 220px);border-radius:16px;background:#000;box-shadow:0 20px 40px #00000059}.jv-video-info[data-v-39a588be]{display:inline-flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:10px 14px;border-radius:999px;background:#0f172ab3;color:#cbd5e1;font-size:13px}@keyframes jv-video-spin-39a588be{to{transform:rotate(360deg)}}.jv-file-render--cad[data-v-315b420e]{width:100%;height:100%;background:var(--jv-cad-background);color:#e2e8f0;position:relative;overflow:hidden}.jv-cad-stage[data-v-315b420e],.jv-cad-dxf[data-v-315b420e],.jv-cad-iframe[data-v-315b420e]{width:100%;height:100%}.jv-cad-iframe[data-v-315b420e]{display:block;border:none;background:#fff}.jv-cad-loading[data-v-315b420e],.jv-cad-error[data-v-315b420e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:2}.jv-cad-loading[data-v-315b420e]{background:#0b1220ad}.jv-cad-error[data-v-315b420e]{padding:24px;text-align:center;background:linear-gradient(180deg,#0b1220eb,#0f172af5)}.jv-cad-error svg[data-v-315b420e]{width:40px;height:40px}.jv-loading-spinner[data-v-315b420e]{width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:jv-cad-spin-315b420e .8s linear infinite}@keyframes jv-cad-spin-315b420e{to{transform:rotate(360deg)}}.jv-watermark-container[data-v-3c7535d0]{position:relative;width:100%;height:100%;overflow:hidden}.jv-watermark-layer[data-v-3c7535d0]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px;overflow:hidden}.jv-watermark-line[data-v-3c7535d0]{text-align:center;line-height:1.5}.jv-watermark-row[data-v-3c7535d0]{display:flex;gap:100px}.jv-watermark-image[data-v-3c7535d0]{opacity:.3}.jv-watermark--top[data-v-3c7535d0]{z-index:9999}.jv-viewer[data-v-e261aa6d]{display:flex;flex-direction:column;background:var(--jv-bg-primary);border-radius:var(--jv-radius-lg);overflow:hidden;box-shadow:var(--jv-shadow);min-width:0}.jv-viewer--fullscreen[data-v-e261aa6d]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;border-radius:0}.jv-viewer__content[data-v-e261aa6d]{flex:1;min-height:0;min-width:0;overflow:hidden;position:relative}.jv-viewer__render[data-v-e261aa6d]{width:100%;height:100%;min-width:0;transition:transform .3s ease;position:relative}.jv-viewer__loading-overlay[data-v-e261aa6d]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--jv-text-secondary);background:var(--jv-bg-primary);z-index:10}.jv-viewer__loading[data-v-e261aa6d],.jv-viewer__error[data-v-e261aa6d],.jv-viewer__empty[data-v-e261aa6d],.jv-viewer__unsupported[data-v-e261aa6d]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--jv-text-secondary)}.jv-loading-spinner[data-v-e261aa6d]{width:40px;height:40px;border:3px solid var(--jv-border-color);border-top-color:var(--jv-primary-color);border-radius:50%;animation:jv-spin-e261aa6d 1s linear infinite}@keyframes jv-spin-e261aa6d{to{transform:rotate(360deg)}}.jv-loading-text[data-v-e261aa6d],.jv-error-text[data-v-e261aa6d],.jv-empty-text[data-v-e261aa6d]{font-size:14px}.jv-error-icon[data-v-e261aa6d]{width:48px;height:48px;color:#ff4d4f}.jv-viewer__branding[data-v-e261aa6d]{flex-shrink:0;padding:8px 16px;text-align:center;font-size:12px;color:var(--jv-text-secondary);background:var(--jv-bg-secondary);border-top:1px solid var(--jv-border-color);display:flex;align-items:center;justify-content:center;gap:4px}.jv-branding-link[data-v-e261aa6d]{color:var(--jv-primary-color);text-decoration:none;font-weight:500}.jv-branding-text[data-v-e261aa6d]{color:var(--jv-text-secondary)}.jv-branding-link[data-v-e261aa6d]:hover{text-decoration:underline}
|
|
1
|
+
.vue-office-docx{height:100%;overflow-y:auto}.vue-office-docx .docx-wrapper>section.docx{margin-bottom:5px}@media screen and (max-width: 800px){.vue-office-docx .docx-wrapper{padding:10px}.vue-office-docx .docx-wrapper>section.docx{padding:10px!important;width:100%!important}}.x-spreadsheet{font-size:13px;line-height:normal;-webkit-user-select:none;user-select:none;-moz-user-select:none;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;box-sizing:content-box;background:#fff;-webkit-font-smoothing:antialiased}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{font-family:inherit;position:absolute;padding:5px 10px;color:#fff;border-radius:1px;background:#000;font-size:12px;z-index:201}.x-spreadsheet-tooltip:before{pointer-events:none;position:absolute;left:calc(50% - 4px);top:-4px;content:"";width:8px;height:8px;background:inherit;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:1;box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:2;background:#fff}.x-spreadsheet-color-palette table td{margin:0;cursor:pointer;border:1px solid transparent}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{width:30px;height:30px;cursor:pointer;text-align:center}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;left:0;top:-3px}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{position:absolute;z-index:200;background:#fff;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{position:absolute;z-index:11}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;left:0;bottom:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{position:absolute;bottom:0;right:0;background-color:#f4f5f8;opacity:.9;z-index:12}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow-x:scroll;overflow-y:hidden}.x-spreadsheet-scrollbar.horizontal>div{height:1px;background:#ddd}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow-x:hidden;overflow-y:scroll}.x-spreadsheet-scrollbar.vertical>div{width:1px;background:#ddd}.x-spreadsheet-overlayer{position:absolute;left:0;top:0;z-index:10}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{position:absolute;overflow:hidden;pointer-events:none;width:100%;height:100%}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;position:absolute;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;height:100%}.x-spreadsheet-selector .hide-input{position:absolute;z-index:0}.x-spreadsheet-selector .hide-input input{padding:0;width:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{position:absolute;border:2px solid #4b89ff;background:#4b89ff1a;z-index:5}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{position:absolute;background:transparent;z-index:100}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed rgba(0,0,0,.45)}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;position:absolute;cursor:crosshair;font-size:0;height:5px;width:5px;right:-5px;bottom:-5px;border:2px solid #ffffff;background:#4b89ff}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{position:absolute;text-align:left;border:2px solid #4b89ff;line-height:0;z-index:100;pointer-events:auto}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;border:none;padding:0 3px;outline:none;resize:none;text-align:start;overflow-y:hidden;font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;color:inherit;white-space:normal;word-wrap:break-word;line-height:22px;margin:0}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{overflow:hidden;visibility:hidden;position:fixed;top:0;left:0}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;background:0;border:1px solid transparent;outline:none;height:26px;color:#000000e6;line-height:26px;list-style:none;padding:2px 10px;cursor:default;text-align:left;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{height:0;padding:0;margin:5px 0;border:none;border-bottom:1px solid rgba(0,0,0,.1)}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{padding-left:35px!important;position:relative}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";position:absolute;width:10px;height:10px;left:12px;top:calc(50% - 5px);background:#00000014;border-radius:2px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;font-size:1rem;line-height:1em}.x-spreadsheet-checkbox>input{position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:-1}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{position:absolute;box-shadow:1px 2px 5px 2px #33333326;background:#fff;z-index:100;width:260px;pointer-events:auto;overflow:auto}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;font-size:12px;margin:10px}.x-spreadsheet-filter .x-spreadsheet-header{padding:.5em .75em;background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid transparent}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{height:40px;padding:0 30px;text-align:left;background:#f5f6f7;display:flex}.x-spreadsheet-bottombar{position:relative;border-top:1px solid #e0e2e4}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{line-height:40px;height:40px;padding-top:0;padding-bottom:0;vertical-align:middle;border-right:1px solid #e8eaed}.x-spreadsheet-menu{display:flex;overflow-x:auto;list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.x-spreadsheet-menu>li{float:left;line-height:1.25em;padding:.785em 1em;margin:0;vertical-align:middle;text-align:left;font-weight:400;color:#80868b;white-space:nowrap;cursor:pointer;transition:all .3s;font-weight:700}.x-spreadsheet-menu>li.active{background-color:#fff;color:#000000a6}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;flex-direction:column}.x-spreadsheet-print-bar{background:#424242;height:60px;line-height:60px;padding:0 30px}.x-spreadsheet-print-bar .-title{color:#fff;font-weight:700;font-size:1.2em;float:left}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{display:flex;flex:auto;flex-direction:row;background:#d0d0d0;height:calc(100% - 60px)}.x-spreadsheet-print-content .-sider{flex:0 0 300px;width:300px;border-left:2px solid #ccc;background:#fff}.x-spreadsheet-print-content .-content{flex:auto;overflow-x:auto;overflow-y:scroll;height:100%}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{background:#fff;margin:auto;page-break-before:auto;page-break-after:always;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;background:#fff;-webkit-user-select:none;user-select:none}.x-spreadsheet-calendar .calendar-header{font-weight:700;line-height:30px;text-align:center;width:100%;float:left;background:#f9fafb}.x-spreadsheet-calendar .calendar-header .calendar-header-left{padding-left:5px;float:left}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{padding:3px 0;margin-right:2px;border-radius:2px}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:14.28571429%;min-width:32px;text-align:center;font-weight:700;line-height:30px;padding:0}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{background:#ecf6fd;color:#2185d0}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{box-shadow:2px 2px 5px #0003;position:absolute;left:0;top:calc(100% + 5px);z-index:10;width:auto}.x-spreadsheet-buttons{display:flex;justify-content:flex-end}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{display:inline-block;border-radius:3px;line-height:1em;min-height:1em;white-space:nowrap;text-align:center;cursor:pointer;font-size:1em;font-weight:700;padding:.75em 1em;color:#0009;background:#e0e1e2;text-decoration:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;outline:none;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;transition:all .1s linear}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{background-color:#c0c1c2;color:#000c}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{font-size:1em;position:relative;font-weight:400;display:inline-flex;color:#000000de}.x-spreadsheet-form-input input{z-index:1;margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:30px;height:30px;padding:0 8px;background:#fff;border:1px solid #e9e9e9;border-radius:3px;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{position:relative;display:inline-block;background:#fff;border:1px solid #e9e9e9;border-radius:2px;cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;min-width:60px;width:auto;height:30px;line-height:30px;padding:0 8px}.x-spreadsheet-form-fields{display:flex;flex-direction:row;flex-wrap:wrap}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 1 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{display:inline-block;margin:0 10px 0 0}.x-spreadsheet-form-field{display:block;vertical-align:middle;margin-left:10px;margin-bottom:10px}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:#0009;opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;transition:background-color .5s linear;-webkit-user-select:none;user-select:none;z-index:1000}.x-spreadsheet-dimmer.active{display:block;opacity:1}form fieldset{border:none}form fieldset label{display:block;margin-bottom:.5em;font-size:1em;color:#666}form fieldset select{font-size:1.1em;width:100%;background-color:#fff;border:none;border-bottom:2px solid #ddd;padding:.5em .85em;border-radius:2px}.x-spreadsheet-modal,.x-spreadsheet-toast{font-size:13px;position:fixed;z-index:1001;text-align:left;line-height:1.25em;min-width:360px;color:#000000de;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;border-radius:4px;border:1px solid rgba(0,0,0,.1);background-color:#fff;background-clip:padding-box;box-shadow:#0003 0 2px 8px}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{font-weight:600;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);border-radius:4px 4px 0 0}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{border-bottom:1px solid #e0e2e4;background:#00000014;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}body{margin:0}.gray{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;align-content:end}.textLayer :is(span,br,div){color:transparent;white-space:pre;cursor:text;transform-origin:0 0}.textLayer .highlight{--highlight-bg-color: rgb(180 0 170 / .25);--highlight-selected-bg-color: rgb(0 100 0 / .25);--highlight-backdrop-filter: none;--highlight-selected-backdrop-filter: none}.textLayer::selection{background:#0000ff40;color:transparent;align-content:end}.selectNone::selection{background:#0000ff40;color:transparent}.highLighting{background-color:#00640040;-webkit-backdrop-filter:none;backdrop-filter:none}.selectHighLight{touch-action:none;margin:-1px;padding:1px;background-color:#00640040;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px}.selectHighLight::selection{background:#0000ff40;color:transparent}.pages-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.jv-toolbar-btn[data-v-9abd52f0]{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border:none;border-radius:var(--jv-radius);background:transparent;color:var(--jv-text-secondary);cursor:pointer;transition:all .2s ease}.jv-toolbar-btn[data-v-9abd52f0]:hover:not(:disabled){background:var(--jv-bg-secondary);color:var(--jv-text-primary)}.jv-toolbar-btn[data-v-9abd52f0]:active:not(:disabled){background:var(--jv-bg-tertiary)}.jv-toolbar-btn--disabled[data-v-9abd52f0],.jv-toolbar-btn[data-v-9abd52f0]:disabled{opacity:.5;cursor:not-allowed}.jv-toolbar-btn__icon[data-v-9abd52f0]{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.jv-toolbar-btn__icon svg[data-v-9abd52f0]{width:100%;height:100%}.jv-toolbar-btn__label[data-v-9abd52f0]{font-size:13px;font-weight:500}.jv-zoom-control[data-v-874ddbac]{display:flex;align-items:center;gap:4px}.jv-zoom-control__value[data-v-874ddbac]{min-width:50px;text-align:center;font-size:13px;font-weight:500;color:var(--jv-text-primary)}.jv-rotate-control[data-v-ad291658]{display:flex;align-items:center;gap:4px}.jv-pagination[data-v-97c0759f]{display:flex;align-items:center;gap:8px}.jv-pagination__info[data-v-97c0759f]{font-size:13px;color:var(--jv-text-secondary);min-width:100px;text-align:center}.jv-video-toolbar[data-v-80052329]{display:inline-flex;align-items:center;gap:8px;min-width:0;position:relative}.jv-video-toolbar__time[data-v-80052329]{font-size:12px;color:var(--jv-text-secondary);white-space:nowrap}.jv-video-toolbar__progress[data-v-80052329]{width:180px;accent-color:var(--jv-primary-color);cursor:pointer}.jv-video-toolbar__progress-track[data-v-80052329]{width:180px;height:8px;border-radius:999px;background:var(--jv-bg-secondary);overflow:hidden}.jv-video-toolbar__progress-fill[data-v-80052329]{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--jv-primary-color),#22c55e)}.jv-video-toolbar__volume[data-v-80052329]{width:72px;accent-color:var(--jv-primary-color);cursor:pointer}.jv-video-toolbar__rate[data-v-80052329]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--jv-text-secondary)}.jv-video-toolbar__rate select[data-v-80052329],.jv-video-toolbar__select--menu[data-v-80052329]{border:1px solid var(--jv-border-color);border-radius:8px;padding:4px 6px;background:var(--jv-bg-primary);color:var(--jv-text-primary)}.jv-video-toolbar__more[data-v-80052329]{position:relative}.jv-video-toolbar__more-menu[data-v-80052329]{position:absolute;right:0;bottom:calc(100% + 10px);min-width:220px;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--jv-border-color);border-radius:12px;background:var(--jv-bg-primary);box-shadow:0 12px 32px #0f172a24;z-index:1000}.jv-video-toolbar__menu-action[data-v-80052329]{display:inline-flex;align-items:center;justify-content:flex-start;width:100%;padding:8px 10px;border:1px solid var(--jv-border-color);border-radius:10px;background:var(--jv-bg-secondary);color:var(--jv-text-primary);cursor:pointer}.jv-video-toolbar__menu-action[data-v-80052329]:hover{background:var(--jv-bg-tertiary)}.jv-video-toolbar__menu-row[data-v-80052329]{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--jv-text-secondary)}.jv-video-toolbar__menu-label[data-v-80052329]{font-size:12px;color:var(--jv-text-secondary)}.jv-video-toolbar__progress-track--menu[data-v-80052329],.jv-video-toolbar__progress--menu[data-v-80052329],.jv-video-toolbar__volume--menu[data-v-80052329]{width:100%}.jv-toolbar[data-v-c43b7d04]{display:flex;flex-direction:column;background:var(--jv-toolbar-bg);border-bottom:1px solid var(--jv-toolbar-border);position:relative;z-index:20;overflow:visible}.jv-toolbar--hidden[data-v-c43b7d04]{display:none}.jv-toolbar__top[data-v-c43b7d04],.jv-toolbar__bottom[data-v-c43b7d04]{display:flex;align-items:center;justify-content:space-between;height:var(--jv-toolbar-height);padding:0 16px;position:relative}.jv-toolbar__top[data-v-c43b7d04]{border-bottom:1px solid var(--jv-toolbar-border);z-index:1}.jv-toolbar__bottom[data-v-c43b7d04]{z-index:2;overflow:visible}.jv-toolbar__left[data-v-c43b7d04],.jv-toolbar__right[data-v-c43b7d04],.jv-toolbar__center[data-v-c43b7d04]{display:flex;align-items:center;gap:8px}.jv-toolbar__filename[data-v-c43b7d04]{font-size:14px;font-weight:500;color:var(--jv-text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jv-toolbar--bottom .jv-toolbar__top[data-v-c43b7d04],.jv-toolbar--top .jv-toolbar__bottom[data-v-c43b7d04]{display:none}.jv-file-render--docx[data-v-9181c8b1]{width:100%;height:100%;overflow:auto;display:flex;justify-content:center;padding:20px}.jv-file-render--docx[data-v-9181c8b1] .vue-office-docx{background:#fff;box-shadow:var(--jv-shadow)}.jv-file-render--excel[data-v-a8c7c89f]{width:100%;height:100%;overflow:auto}.jv-file-render--csv[data-v-0dc1ca7d]{width:100%;height:100%;min-width:0;max-width:100%;overflow:hidden;background:var(--jv-bg-primary);display:flex;flex-direction:column}.jv-csv-toolbar[data-v-0dc1ca7d]{position:sticky;top:0;z-index:2;display:flex;gap:16px;align-items:center;padding:12px 16px;background:color-mix(in srgb,var(--jv-bg-secondary) 92%,white);border-bottom:1px solid var(--jv-border-color, #e5e7eb)}.jv-csv-meta[data-v-0dc1ca7d]{font-size:13px;color:var(--jv-text-secondary)}.jv-csv-scroll[data-v-0dc1ca7d]{flex:1;min-height:0;min-width:0;max-width:100%;overflow:hidden}.jv-csv-stage[data-v-0dc1ca7d]{padding:16px;width:100%;height:100%;min-width:0;max-width:100%}.jv-csv-empty[data-v-0dc1ca7d]{padding:24px;color:var(--jv-text-secondary)}.jv-csv-fit-scroll[data-v-0dc1ca7d]{width:100%;height:100%;min-width:0;max-width:100%;overflow:auto}.jv-csv-fit-shell[data-v-0dc1ca7d]{position:relative;width:100%;min-width:100%;max-width:100%}.jv-csv-fit-content[data-v-0dc1ca7d]{position:absolute;top:0;left:0}.jv-csv-table[data-v-0dc1ca7d]{border-collapse:collapse;width:max-content;background:#fff;box-shadow:var(--jv-shadow)}.jv-csv-table th[data-v-0dc1ca7d],.jv-csv-table td[data-v-0dc1ca7d]{min-width:140px;max-width:280px;padding:10px 12px;border:1px solid #e5e7eb;text-align:left;vertical-align:top;white-space:pre-wrap;word-break:break-word;font-size:13px;color:var(--jv-text-primary)}.jv-csv-table thead th[data-v-0dc1ca7d]{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:600}.jv-csv-index[data-v-0dc1ca7d]{min-width:60px!important;width:60px;text-align:center!important;color:var(--jv-text-secondary)!important;background:#f8fafc}.jv-csv-table tbody tr[data-v-0dc1ca7d]:nth-child(2n){background:#fcfcfd}.jv-file-render--pdf[data-v-32fed398]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-secondary)}.jv-file-render--pdf[data-v-32fed398] canvas{display:block;margin:10px auto;box-shadow:var(--jv-shadow)}.jv-pdf-iframe[data-v-32fed398]{width:100%;height:100%;display:block;border:none}.jv-file-render--pptx[data-v-b31abca4]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-secondary)}.jv-file-render--pptx[data-v-b31abca4] .pptx-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.jv-file-render--pptx[data-v-b31abca4] .pptx-slide{background:#fff;box-shadow:var(--jv-shadow)}.jv-file-render--text[data-v-f5957104]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-primary);padding:20px}.jv-text-content[data-v-f5957104]{margin:0;padding:20px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:var(--jv-text-primary);white-space:pre-wrap;word-wrap:break-word;background:var(--jv-bg-secondary);border-radius:var(--jv-radius);min-height:100%}.jv-file-render--markdown[data-v-2d9fb509]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-primary);padding:20px}.jv-markdown-content[data-v-2d9fb509]{max-width:800px;margin:0 auto;padding:30px;background:var(--jv-bg-primary);border-radius:var(--jv-radius-lg);line-height:1.8;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] h1,.jv-markdown-content[data-v-2d9fb509] h2,.jv-markdown-content[data-v-2d9fb509] h3,.jv-markdown-content[data-v-2d9fb509] h4,.jv-markdown-content[data-v-2d9fb509] h5,.jv-markdown-content[data-v-2d9fb509] h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] h1{font-size:2em;border-bottom:1px solid var(--jv-border-color);padding-bottom:.3em}.jv-markdown-content[data-v-2d9fb509] h2{font-size:1.5em;border-bottom:1px solid var(--jv-border-color);padding-bottom:.3em}.jv-markdown-content[data-v-2d9fb509] h3{font-size:1.25em}.jv-markdown-content[data-v-2d9fb509] p{margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] code{padding:.2em .4em;background:var(--jv-bg-secondary);border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:85%}.jv-markdown-content[data-v-2d9fb509] pre{padding:16px;overflow:auto;background:var(--jv-bg-secondary);border-radius:var(--jv-radius);margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] pre code{padding:0;background:transparent}.jv-markdown-content[data-v-2d9fb509] ul,.jv-markdown-content[data-v-2d9fb509] ol{padding-left:2em;margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] li{margin-bottom:.25em}.jv-markdown-content[data-v-2d9fb509] blockquote{padding:0 1em;border-left:4px solid var(--jv-primary-color);margin-bottom:16px;color:var(--jv-text-secondary)}.jv-markdown-content[data-v-2d9fb509] a{color:var(--jv-primary-color);text-decoration:none}.jv-markdown-content[data-v-2d9fb509] a:hover{text-decoration:underline}.jv-markdown-content[data-v-2d9fb509] hr{border:none;border-top:1px solid var(--jv-border-color);margin:24px 0}.jv-markdown-content[data-v-2d9fb509] img{max-width:100%;height:auto;border-radius:var(--jv-radius)}.jv-markdown-content[data-v-2d9fb509] table{width:100%;border-collapse:collapse;margin-bottom:16px;border:1px solid var(--jv-border-color)}.jv-markdown-content[data-v-2d9fb509] th,.jv-markdown-content[data-v-2d9fb509] td{padding:12px 16px;border:1px solid var(--jv-border-color);text-align:left}.jv-markdown-content[data-v-2d9fb509] th{background:var(--jv-bg-secondary);font-weight:600;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] tr:nth-child(2n){background:var(--jv-bg-secondary)}.jv-markdown-content[data-v-2d9fb509] tr:hover{background:var(--jv-bg-hover, rgba(0, 0, 0, .05))}.jv-markdown-content[data-v-2d9fb509] del{text-decoration:line-through;color:var(--jv-text-secondary)}.jv-file-render--ofd[data-v-f933a20c]{width:100%;height:100%;position:relative;background:var(--jv-bg-secondary, #f5f5f5)}.jv-ofd-scroll[data-v-f933a20c]{width:100%;height:100%;overflow:auto;padding:20px 0}.jv-ofd-stage[data-v-f933a20c]{min-height:100%;display:flex;justify-content:center}.jv-ofd-container[data-v-f933a20c]{min-height:100%;display:flex;flex-direction:column;align-items:center}.jv-ofd-loading[data-v-f933a20c],.jv-ofd-error[data-v-f933a20c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--jv-text-secondary, #666);font-size:14px;background:#ffffffe0;z-index:1}.jv-ofd-error[data-v-f933a20c]{color:var(--jv-error, #f56c6c)}.jv-ofd-container[data-v-f933a20c] .page-container{margin:12px auto;box-shadow:0 2px 8px #0000001a;background:#fff}.jv-ofd-container[data-v-f933a20c] canvas{display:block}.jv-file-render--html[data-v-be7a9198]{width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#f8fbfd,#eef3f7);position:relative}.jv-html-iframe[data-v-be7a9198]{width:100%;height:100%;border:none;display:block;background:#fff}.jv-html-loading[data-v-be7a9198]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffffe6;color:#666;font-size:14px}.jv-loading-spinner[data-v-be7a9198]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#1677ff;border-radius:50%;animation:jv-spin-be7a9198 1s linear infinite}@keyframes jv-spin-be7a9198{to{transform:rotate(360deg)}}.jv-html-error[data-v-be7a9198]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;color:#ff4d4f;font-size:14px}.jv-file-render--image[data-v-4810f73a]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--jv-bg-secondary);position:relative;overflow:hidden}.jv-image-loading[data-v-4810f73a],.jv-image-error[data-v-4810f73a]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--jv-text-secondary)}.jv-image-error svg[data-v-4810f73a]{width:48px;height:48px;color:#ff4d4f}.jv-loading-spinner[data-v-4810f73a]{width:40px;height:40px;border:3px solid var(--jv-border-color);border-top-color:var(--jv-primary-color);border-radius:50%;animation:jv-spin-4810f73a 1s linear infinite}@keyframes jv-spin-4810f73a{to{transform:rotate(360deg)}}.jv-image-wrapper[data-v-4810f73a]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jv-image-wrapper--dragging[data-v-4810f73a]{-webkit-user-select:none;user-select:none}.jv-image[data-v-4810f73a]{max-width:100%;max-height:100%;object-fit:contain;will-change:transform}.jv-image-controls[data-v-4810f73a]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px 12px;background:#000000b3;border-radius:8px;opacity:0;transition:opacity .3s ease}.jv-file-render--image:hover .jv-image-controls[data-v-4810f73a]{opacity:1}.jv-image-btn[data-v-4810f73a]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;line-height:1}.jv-image-btn[data-v-4810f73a]:hover{background:#fff3}.jv-image-btn svg[data-v-4810f73a]{display:block;flex:0 0 auto;width:18px;height:18px;stroke:currentColor;fill:none}.jv-image-info[data-v-4810f73a]{position:absolute;top:12px;right:12px;padding:6px 12px;background:#0009;color:#fff;font-size:12px;border-radius:4px;opacity:0;transition:opacity .3s ease}.jv-file-render--image:hover .jv-image-info[data-v-4810f73a]{opacity:1}:fullscreen .jv-file-render--image[data-v-4810f73a]{background:#000}.jv-file-render--video[data-v-3724591d]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0f172a;overflow:auto;position:relative}.jv-video-loading[data-v-3724591d],.jv-video-error[data-v-3724591d]{display:flex;flex-direction:column;align-items:center;gap:12px;color:#e2e8f0}.jv-video-error svg[data-v-3724591d]{width:40px;height:40px}.jv-loading-spinner[data-v-3724591d]{width:36px;height:36px;border:3px solid rgba(255,255,255,.24);border-top-color:#fff;border-radius:50%;animation:jv-video-spin-3724591d .8s linear infinite}.jv-video-stage[data-v-3724591d]{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;position:relative}.jv-video-stage__inner[data-v-3724591d]{max-width:100%;max-height:100%;position:relative}.jv-video-loading[data-v-3724591d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0f172ab8;z-index:1}.jv-video-player[data-v-3724591d]{max-width:min(100%,1200px);max-height:calc(100vh - 220px);width:min(100%,1200px);border-radius:16px;background:#000;box-shadow:0 20px 40px #00000059}.jv-video-controls[data-v-3724591d]{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,#0f172ac7,#0f172aeb);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e2e8f0;box-shadow:0 18px 40px #02061759}.jv-video-controls--compact .jv-video-controls__timeline[data-v-3724591d]{min-width:96px}.jv-video-controls__btn[data-v-3724591d]{border:0;border-radius:999px;padding:8px 14px;background:#f8fafc;color:#0f172a;font-size:13px;font-weight:600;cursor:pointer}.jv-video-controls__btn--ghost[data-v-3724591d]{background:#ffffff1f;color:#e2e8f0}.jv-video-controls__timeline[data-v-3724591d]{flex:1;min-width:140px}.jv-video-controls__progress-track[data-v-3724591d]{width:100%;height:8px;border-radius:999px;background:#94a3b847;overflow:hidden}.jv-video-controls__progress-fill[data-v-3724591d]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#22c55e)}.jv-video-controls__range[data-v-3724591d],.jv-video-controls__volume[data-v-3724591d]{width:100%;accent-color:#38bdf8;cursor:pointer}.jv-video-controls__time[data-v-3724591d]{white-space:nowrap;font-size:13px;color:#cbd5e1}.jv-video-controls__rate[data-v-3724591d]{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px}.jv-video-controls__rate select[data-v-3724591d]{border:1px solid rgba(148,163,184,.35);border-radius:10px;padding:6px 8px;background:#0f172acc;color:#e2e8f0}.jv-video-controls__volume[data-v-3724591d]{width:96px}.jv-video-info[data-v-3724591d]{display:inline-flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:10px 14px;border-radius:999px;background:#0f172ab3;color:#cbd5e1;font-size:13px}@media (max-width: 768px){.jv-video-controls[data-v-3724591d]{flex-wrap:wrap;gap:10px}.jv-video-controls__timeline[data-v-3724591d]{order:10;width:100%}.jv-video-controls__volume[data-v-3724591d]{width:100%}}@keyframes jv-video-spin-3724591d{to{transform:rotate(360deg)}}.jv-file-render--cad[data-v-315b420e]{width:100%;height:100%;background:var(--jv-cad-background);color:#e2e8f0;position:relative;overflow:hidden}.jv-cad-stage[data-v-315b420e],.jv-cad-dxf[data-v-315b420e],.jv-cad-iframe[data-v-315b420e]{width:100%;height:100%}.jv-cad-iframe[data-v-315b420e]{display:block;border:none;background:#fff}.jv-cad-loading[data-v-315b420e],.jv-cad-error[data-v-315b420e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:2}.jv-cad-loading[data-v-315b420e]{background:#0b1220ad}.jv-cad-error[data-v-315b420e]{padding:24px;text-align:center;background:linear-gradient(180deg,#0b1220eb,#0f172af5)}.jv-cad-error svg[data-v-315b420e]{width:40px;height:40px}.jv-loading-spinner[data-v-315b420e]{width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:jv-cad-spin-315b420e .8s linear infinite}@keyframes jv-cad-spin-315b420e{to{transform:rotate(360deg)}}.jv-watermark-container[data-v-3c7535d0]{position:relative;width:100%;height:100%;overflow:hidden}.jv-watermark-layer[data-v-3c7535d0]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px;overflow:hidden}.jv-watermark-line[data-v-3c7535d0]{text-align:center;line-height:1.5}.jv-watermark-row[data-v-3c7535d0]{display:flex;gap:100px}.jv-watermark-image[data-v-3c7535d0]{opacity:.3}.jv-watermark--top[data-v-3c7535d0]{z-index:9999}.jv-viewer[data-v-77e0f7de]{display:flex;flex-direction:column;background:var(--jv-bg-primary);border-radius:var(--jv-radius-lg);overflow:hidden;box-shadow:var(--jv-shadow);min-width:0}.jv-viewer--fullscreen[data-v-77e0f7de]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;border-radius:0}.jv-viewer__content[data-v-77e0f7de]{flex:1;min-height:0;min-width:0;overflow:hidden;position:relative}.jv-viewer__render[data-v-77e0f7de]{width:100%;height:100%;min-width:0;transition:transform .3s ease;position:relative}.jv-viewer__loading-overlay[data-v-77e0f7de]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--jv-text-secondary);background:var(--jv-bg-primary);z-index:10}.jv-viewer__loading[data-v-77e0f7de],.jv-viewer__error[data-v-77e0f7de],.jv-viewer__empty[data-v-77e0f7de],.jv-viewer__unsupported[data-v-77e0f7de]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--jv-text-secondary)}.jv-loading-spinner[data-v-77e0f7de]{width:40px;height:40px;border:3px solid var(--jv-border-color);border-top-color:var(--jv-primary-color);border-radius:50%;animation:jv-spin-77e0f7de 1s linear infinite}@keyframes jv-spin-77e0f7de{to{transform:rotate(360deg)}}.jv-loading-text[data-v-77e0f7de],.jv-error-text[data-v-77e0f7de],.jv-empty-text[data-v-77e0f7de]{font-size:14px}.jv-error-icon[data-v-77e0f7de]{width:48px;height:48px;color:#ff4d4f}.jv-viewer__branding[data-v-77e0f7de]{flex-shrink:0;padding:8px 16px;text-align:center;font-size:12px;color:var(--jv-text-secondary);background:var(--jv-bg-secondary);border-top:1px solid var(--jv-border-color);display:flex;align-items:center;justify-content:center;gap:4px}.jv-branding-link[data-v-77e0f7de]{color:var(--jv-primary-color);text-decoration:none;font-weight:500}.jv-branding-text[data-v-77e0f7de]{color:var(--jv-text-secondary)}.jv-branding-link[data-v-77e0f7de]:hover{text-decoration:underline}
|