@fuxishi/vitepress-theme 2.0.0-alpha.1 → 2.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,16 +10,14 @@
10
10
  - 🎊 **点击彩纸** — 全局点击彩纸特效,支持金色星星、彩色纸片和自定义 Emoji
11
11
  - 🎨 **Hero 图片取色** — 自动提取首页 hero 图片颜色,动态应用到背景光晕、标题渐变、代码块光束和音乐球
12
12
  - ✨ **Feature 光效** — 首页 Feature 卡片鼠标追踪光晕效果
13
- - ✨ **光束边框** — 暗色模式下代码块和导航 hover 时展示紫青品牌色光束旋转边框
13
+ - ✨ **光束边框** — 暗色模式下代码块、代码组和导航 hover 时展示紫青品牌色光束旋转边框
14
14
  - 🔄 **主题切换动画** — View Transition API 实现亮暗模式圆形扩散动画
15
15
  - 📜 **平滑滚动** — 右侧大纲导航点击时平滑滚动,指示条丝滑过渡
16
16
  - 🎨 **标题装饰** — h1-h4 各有不同颜色的下划线装饰
17
17
  - 📦 **代码块折叠** — 超过指定行数的代码块自动折叠,底部毛玻璃模糊遮罩,可配置折叠行数阈值
18
18
  - ⚙️ **类型安全** — 完整的 TypeScript 类型定义,IDE 友好
19
19
 
20
- > **注意:** `1.0.9` 及之前的版本仅适用于 VitePress `1.6.4`。如果你使用 VitePress 2.x,请等待主题后续版本适配。
21
- >
22
- > ⚠️ `1.0.10` 版本的代码块折叠展开功能存在问题,已废弃,请升级到 `1.0.11` 及以上版本。
20
+ > **注意:** 本版本(v2.x)基于 VitePress `2.0` 开发,不向下兼容 VitePress 1.x
23
21
 
24
22
  ## 安装
25
23
 
@@ -51,11 +49,14 @@ export default FxTheme
51
49
  创建 `.vitepress/config.mts`:
52
50
 
53
51
  ```ts
54
- import { defineConfigWithTheme } from "vitepress"
52
+ import { defineConfig } from "vitepress"
53
+ import type { DefaultTheme } from "vitepress"
55
54
  import fxConfig from "@fuxishi/vitepress-theme/config"
56
- import type { FxThemeConfig } from "@fuxishi/vitepress-theme/config"
55
+ import type { FxThemeCustomConfig } from "@fuxishi/vitepress-theme"
57
56
 
58
- export default defineConfigWithTheme<FxThemeConfig>({
57
+ type ThemeConfig = DefaultTheme.Config & FxThemeCustomConfig
58
+
59
+ export default defineConfig<ThemeConfig>({
59
60
  extends: fxConfig,
60
61
  lang: "zh-CN",
61
62
  title: "我的文档站",
@@ -97,9 +98,9 @@ npx vitepress dev
97
98
 
98
99
  ## 配置
99
100
 
100
- ### FxThemeConfig
101
+ ### FxThemeCustomConfig
101
102
 
102
- 继承自 VitePress `DefaultTheme.Config`,新增以下字段:
103
+ 通过 `DefaultTheme.Config & FxThemeCustomConfig` 交叉类型扩展 VitePress 默认主题配置,新增以下字段:
103
104
 
104
105
  | 配置项 | 类型 | 默认值 | 说明 |
105
106
  | --------------------- | --------------------------- | -------- | ------------------------------------------------------ |
@@ -2,17 +2,17 @@ import { t as e } from "./icons-DtAsNqxj.js";
2
2
  import { defineComponent as t, nextTick as n, onBeforeUnmount as r, onMounted as i, watch as a } from "vue";
3
3
  import { useRoute as o } from "vitepress";
4
4
  //#region .vitepress/components/FxCodeBlockFold.ts
5
- var s = "fx-code-folded", c = "fx-code-fold-overlay", l = t({
5
+ var s = "fx-code-folded", c = "fx-code-fold-overlay", l = "div[class*='language-']", u = t({
6
6
  props: { lines: {
7
7
  type: Number,
8
8
  default: 10
9
9
  } },
10
10
  setup(t) {
11
- function l() {
11
+ function u() {
12
12
  let n = t.lines ?? 10;
13
- document.querySelectorAll(".vp-adaptive-theme").forEach((t) => {
13
+ document.querySelectorAll(l).forEach((t) => {
14
14
  if (t.classList.contains(c) || t.classList.contains("vp-code-group")) return;
15
- let r = t.querySelector("pre.vp-code code");
15
+ let r = t.querySelector("pre.shiki code");
16
16
  if (!r) return;
17
17
  if (r.querySelectorAll(".line").length <= n) {
18
18
  t.classList.add("fx-code-no-fold");
@@ -29,29 +29,29 @@ var s = "fx-code-folded", c = "fx-code-fold-overlay", l = t({
29
29
  }), t.appendChild(i);
30
30
  });
31
31
  }
32
- let u = null;
33
- function d() {
34
- u?.disconnect();
32
+ let d = null;
33
+ function f() {
34
+ d?.disconnect();
35
35
  let e = document.querySelector(".vp-doc");
36
- e && (u = new MutationObserver(() => {
37
- requestAnimationFrame(l);
38
- }), u.observe(e, {
36
+ e && (d = new MutationObserver(() => {
37
+ requestAnimationFrame(u);
38
+ }), d.observe(e, {
39
39
  childList: !0,
40
40
  subtree: !0
41
41
  }));
42
42
  }
43
43
  i(() => {
44
- l(), d();
44
+ u(), f();
45
45
  });
46
- let f = o();
47
- return a(() => f.path, () => {
46
+ let p = o();
47
+ return a(() => p.path, () => {
48
48
  n(() => {
49
- l(), d();
49
+ u(), f();
50
50
  });
51
51
  }), r(() => {
52
- u?.disconnect();
52
+ d?.disconnect();
53
53
  }), () => null;
54
54
  }
55
55
  });
56
56
  //#endregion
57
- export { l as default };
57
+ export { u as default };
@@ -1,22 +1,22 @@
1
1
  import { defineComponent as e, nextTick as t, onBeforeUnmount as n, onMounted as r, watch as i } from "vue";
2
- import { useData as a, useRoute as o } from "vitepress";
3
- import { Vibrant as s } from "node-vibrant/browser";
2
+ import { useData as a, useRoute as o, withBase as s } from "vitepress";
3
+ import { Vibrant as c } from "node-vibrant/browser";
4
4
  //#region .vitepress/components/FxHeroImageBg.ts
5
- var c = "fx-hero-colors";
6
- function l() {
5
+ var l = "fx-hero-colors";
6
+ function u() {
7
7
  try {
8
- let e = localStorage.getItem(c);
8
+ let e = localStorage.getItem(l);
9
9
  return e ? JSON.parse(e) : null;
10
10
  } catch {
11
11
  return null;
12
12
  }
13
13
  }
14
- function u(e) {
14
+ function d(e) {
15
15
  try {
16
- localStorage.setItem(c, JSON.stringify(e));
16
+ localStorage.setItem(l, JSON.stringify(e));
17
17
  } catch {}
18
18
  }
19
- function d(e) {
19
+ function f(e) {
20
20
  return [
21
21
  e.Vibrant,
22
22
  e.DarkVibrant,
@@ -26,63 +26,63 @@ function d(e) {
26
26
  e.LightMuted
27
27
  ].filter(Boolean);
28
28
  }
29
- function f(e) {
29
+ function p(e) {
30
30
  return e.slice().sort((e, t) => e.hsl[0] - t.hsl[0]).map((e) => e.hex);
31
31
  }
32
- function p(e) {
33
- let t = d(e);
32
+ function m(e) {
33
+ let t = f(e);
34
34
  if (t.length === 0) return "-webkit-linear-gradient(-45deg, #bd34fe 50%, #47caff 50%)";
35
- let n = f(t);
35
+ let n = p(t);
36
36
  return `conic-gradient(from 0deg, ${[...n, n[0]].join(", ")})`;
37
37
  }
38
- function m(e, t) {
38
+ function h(e, t) {
39
39
  let n = Math.abs(e - t);
40
40
  return Math.min(n, 360 - n);
41
41
  }
42
- function h(e) {
43
- let t = d(e);
42
+ function g(e) {
43
+ let t = f(e);
44
44
  if (t.length < 2) return "linear-gradient(120deg, #bd34fe, #41d1ff)";
45
45
  let n = -1, r = [t[0].hex, t[1].hex];
46
46
  for (let e = 0; e < t.length; e++) for (let i = e + 1; i < t.length; i++) {
47
- let a = m(t[e].hsl[0], t[i].hsl[0]);
47
+ let a = h(t[e].hsl[0], t[i].hsl[0]);
48
48
  a > n && (n = a, r = [t[e].hex, t[i].hex]);
49
49
  }
50
50
  return `linear-gradient(120deg, ${r[0]}, ${r[1]})`;
51
51
  }
52
- function g(e) {
52
+ function _(e) {
53
53
  return `${parseInt(e.slice(1, 3), 16)}, ${parseInt(e.slice(3, 5), 16)}, ${parseInt(e.slice(5, 7), 16)}`;
54
54
  }
55
- function _(e) {
56
- let t = d(e);
55
+ function v(e) {
56
+ let t = f(e);
57
57
  if (t.length < 2) return ["189, 52, 254", "65, 209, 255"];
58
58
  let n = -1, r = [t[0], t[1]];
59
59
  for (let e = 0; e < t.length; e++) for (let i = e + 1; i < t.length; i++) {
60
- let a = m(t[e].hsl[0], t[i].hsl[0]);
60
+ let a = h(t[e].hsl[0], t[i].hsl[0]);
61
61
  a > n && (n = a, r = [t[e], t[i]]);
62
62
  }
63
- return [g(r[0].hex), g(r[1].hex)];
63
+ return [_(r[0].hex), _(r[1].hex)];
64
64
  }
65
- function v() {
65
+ function y() {
66
66
  return document.documentElement.classList.contains("dark");
67
67
  }
68
- function y(e) {
69
- let [t, n] = _(e);
68
+ function b(e) {
69
+ let [t, n] = v(e);
70
70
  return {
71
- imageGradient: p(e),
72
- nameGradient: h(e),
71
+ imageGradient: m(e),
72
+ nameGradient: g(e),
73
73
  beamC1: t,
74
74
  beamC2: n
75
75
  };
76
76
  }
77
- function b(e) {
77
+ function x(e) {
78
78
  let t = document.documentElement;
79
79
  t.style.setProperty("--vp-home-hero-image-background-image", e.imageGradient), t.style.setProperty("--vp-home-hero-name-background", e.nameGradient), t.style.setProperty("--fx-beam-c1", e.beamC1), t.style.setProperty("--fx-beam-c2", e.beamC2);
80
80
  }
81
- function x(e) {
81
+ function S(e) {
82
82
  let t = document.documentElement;
83
83
  t.style.setProperty("--fx-beam-c1", e.beamC1), t.style.setProperty("--fx-beam-c2", e.beamC2);
84
84
  }
85
- var S = e({
85
+ var C = e({
86
86
  props: { heroImageColor: {
87
87
  type: Boolean,
88
88
  default: !1
@@ -90,34 +90,34 @@ var S = e({
90
90
  render: () => null,
91
91
  setup(e) {
92
92
  if (!e.heroImageColor) return;
93
- let d = null, f = o(), { frontmatter: p } = a();
94
- function m() {
93
+ let f = null, p = o(), { frontmatter: m } = a();
94
+ function h() {
95
95
  let e = document.documentElement;
96
96
  e.style.removeProperty("--vp-home-hero-image-background-image"), e.style.removeProperty("--vp-home-hero-name-background"), e.style.removeProperty("--fx-beam-c1"), e.style.removeProperty("--fx-beam-c2");
97
97
  }
98
- function h(e) {
99
- return v() ? e.dark || e.light : e.light || e.dark;
100
- }
101
98
  function g(e) {
102
- let t = l();
103
- return !t || !t.images ? !1 : e && (e.light && t.images.light && e.light !== t.images.light || e.dark && t.images.dark && e.dark !== t.images.dark) ? (localStorage.removeItem(c), !0) : !1;
99
+ return y() ? e.dark || e.light : e.light || e.dark;
104
100
  }
105
- function _() {
106
- let e = l();
107
- if (!e) return !1;
108
- let t = h(e);
109
- return t ? (b(t), !0) : !1;
101
+ function _(e) {
102
+ let t = u();
103
+ return !t || !t.images ? !1 : e && (e.light && t.images.light && e.light !== t.images.light || e.dark && t.images.dark && e.dark !== t.images.dark) ? (localStorage.removeItem(l), !0) : !1;
110
104
  }
111
- function S() {
112
- let e = l();
105
+ function v() {
106
+ let e = u();
113
107
  if (!e) return !1;
114
- let t = h(e);
108
+ let t = g(e);
115
109
  return t ? (x(t), !0) : !1;
116
110
  }
117
111
  function C() {
118
- return p.value.fxHeroImages || {};
112
+ let e = u();
113
+ if (!e) return !1;
114
+ let t = g(e);
115
+ return t ? (S(t), !0) : !1;
116
+ }
117
+ function w() {
118
+ return m.value.fxHeroImages || {};
119
119
  }
120
- async function w() {
120
+ async function T() {
121
121
  try {
122
122
  let e = await import(
123
123
  /* @vite-ignore */
@@ -134,48 +134,48 @@ var S = e({
134
134
  return null;
135
135
  }
136
136
  }
137
- async function T(e, t) {
137
+ async function E(e, t) {
138
138
  let n = e.src;
139
139
  if (n) try {
140
- let e = y(await s.from(n).quality(1).getPalette());
141
- (v() && t === "dark" || !v() && t === "light") && b(e);
142
- let r = l() || {};
143
- r[t] = e, r.images ||= {}, r.images[t] = n, u(r);
140
+ let e = b(await c.from(n).quality(1).getPalette());
141
+ (y() && t === "dark" || !y() && t === "light") && x(e);
142
+ let r = u() || {};
143
+ r[t] = e, r.images ||= {}, r.images[t] = n, d(r);
144
144
  } catch {}
145
145
  }
146
- async function E(e, t) {
146
+ async function D(e, t) {
147
147
  try {
148
- let n = y(await s.from(e).quality(1).getPalette()), r = l() || {};
149
- return r[t] = n, r.images ||= {}, r.images[t] = e, u(r), n;
148
+ let n = b(await c.from(e).quality(1).getPalette()), r = u() || {};
149
+ return r[t] = n, r.images ||= {}, r.images[t] = e, d(r), n;
150
150
  } catch {
151
151
  return null;
152
152
  }
153
153
  }
154
- async function D(e) {
154
+ async function O(e, t = !0) {
155
155
  if (!e.light && !e.dark) return;
156
- let t = {};
156
+ let n = {};
157
157
  if (e.light) {
158
- let n = await E(e.light, "light");
159
- n && (t.light = n);
158
+ let r = await D(t ? s(e.light) : e.light, "light");
159
+ r && (n.light = r);
160
160
  }
161
161
  if (e.dark) {
162
- let n = await E(e.dark, "dark");
163
- n && (t.dark = n);
162
+ let r = await D(t ? s(e.dark) : e.dark, "dark");
163
+ r && (n.dark = r);
164
164
  }
165
- if (t.light || t.dark) {
166
- let e = v() ? t.dark || t.light : t.light || t.dark;
167
- e && b(e);
165
+ if (n.light || n.dark) {
166
+ let e = y() ? n.dark || n.light : n.light || n.dark;
167
+ e && x(e);
168
168
  }
169
169
  }
170
- async function O() {
171
- let e = C();
170
+ async function k() {
171
+ let e = w();
172
172
  if (e.light || e.dark) {
173
- await D(e);
173
+ await O(e);
174
174
  return;
175
175
  }
176
- let t = await w();
176
+ let t = await T();
177
177
  if (t) {
178
- await D(t);
178
+ await O(t);
179
179
  return;
180
180
  }
181
181
  try {
@@ -183,34 +183,34 @@ var S = e({
183
183
  t.forEach((e) => {
184
184
  let t = e.getAttribute("src");
185
185
  t && (e.classList.contains("dark") ? n.dark = t : n.light = t);
186
- }), (n.light || n.dark) && await D(n);
186
+ }), (n.light || n.dark) && await O(n, !1);
187
187
  } catch {}
188
188
  }
189
- function k() {
189
+ function A() {
190
190
  let e = document.querySelector(".VPHero .image-container img.VPImage.light"), t = document.querySelector(".VPHero .image-container img.VPImage.dark");
191
- e || t ? (e && e.complete && e.naturalWidth > 0 ? T(e, "light") : e && e.addEventListener("load", () => T(e, "light"), { once: !0 }), t && t.complete && t.naturalWidth > 0 ? T(t, "dark") : t && t.addEventListener("load", () => T(t, "dark"), { once: !0 })) : (m(), S(), w().then((e) => {
191
+ e || t ? (e && e.complete && e.naturalWidth > 0 ? E(e, "light") : e && e.addEventListener("load", () => E(e, "light"), { once: !0 }), t && t.complete && t.naturalWidth > 0 ? E(t, "dark") : t && t.addEventListener("load", () => E(t, "dark"), { once: !0 })) : (h(), C(), T().then((e) => {
192
192
  if (e && (e.light || e.dark)) {
193
- let t = l();
194
- t?.images && (e.light && t.images.light && e.light !== t.images.light || e.dark && t.images.dark && e.dark !== t.images.dark) && (localStorage.removeItem(c), D(e));
193
+ let t = u();
194
+ t?.images && (e.light && t.images.light && e.light !== t.images.light || e.dark && t.images.dark && e.dark !== t.images.dark) && (localStorage.removeItem(l), O(e));
195
195
  }
196
- }), O());
196
+ }), k());
197
197
  }
198
198
  r(() => {
199
- g(C()), _() || O(), k(), d = new MutationObserver((e) => {
199
+ _(w()), v() || k(), A(), f = new MutationObserver((e) => {
200
200
  for (let t of e) if (t.attributeName === "class") {
201
- S(), k();
201
+ C(), A();
202
202
  break;
203
203
  }
204
- }), d.observe(document.documentElement, {
204
+ }), f.observe(document.documentElement, {
205
205
  attributes: !0,
206
206
  attributeFilter: ["class"]
207
207
  });
208
- }), i(() => f.path, () => {
209
- t(k);
208
+ }), i(() => p.path, () => {
209
+ t(A);
210
210
  }), n(() => {
211
- d?.disconnect(), m();
211
+ f?.disconnect(), h();
212
212
  });
213
213
  }
214
214
  });
215
215
  //#endregion
216
- export { S as default };
216
+ export { C as default };
@@ -1,39 +1,39 @@
1
1
  import { t as e } from "./icons-DtAsNqxj.js";
2
- import { Fragment as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, nextTick as c, normalizeClass as l, onBeforeUnmount as u, onMounted as d, openBlock as f, ref as p, renderList as m, toDisplayString as h, unref as g, vShow as _, watchEffect as v, withDirectives as y } from "vue";
3
- import { useData as ee } from "vitepress";
4
- import { ElSlider as b } from "element-plus";
2
+ import { Fragment as t, computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, nextTick as ee, normalizeClass as c, onBeforeUnmount as l, onMounted as u, openBlock as d, ref as f, renderList as p, toDisplayString as m, unref as h, vShow as g, watchEffect as _, withDirectives as v } from "vue";
3
+ import { useData as y, withBase as b } from "vitepress";
4
+ import { ElSlider as x } from "element-plus";
5
5
  //#region .vitepress/components/FxMusicBall.vue?vue&type=script&setup=true&lang.ts
6
- var x = [
6
+ var S = [
7
7
  "src",
8
8
  "autoplay",
9
9
  "loop"
10
- ], te = ["src", "autoplay"], S = { class: "fx-music-ball__inner" }, C = { class: "fx-play-pause" }, w = ["innerHTML"], ne = ["innerHTML"], re = { class: "fx-time" }, ie = { class: "fx-duration" }, ae = { class: "fx-volume" }, oe = ["innerHTML"], T = ["innerHTML"], se = ["innerHTML"], E = {
10
+ ], C = ["src", "autoplay"], w = { class: "fx-music-ball__inner" }, T = { class: "fx-play-pause" }, E = ["innerHTML"], D = ["innerHTML"], O = { class: "fx-time" }, k = { class: "fx-duration" }, te = { class: "fx-volume" }, ne = ["innerHTML"], re = ["innerHTML"], ie = ["innerHTML"], ae = {
11
11
  id: "fx-progress-gradient",
12
12
  x1: "0%",
13
13
  y1: "0%",
14
14
  x2: "100%",
15
15
  y2: "100%"
16
- }, D = ["stop-color"], O = ["stop-color"], k = ["stroke-dasharray"], A = {
16
+ }, oe = ["stop-color"], se = ["stop-color"], ce = ["stroke-dasharray"], le = {
17
17
  key: 2,
18
18
  class: "fx-orbit-ring"
19
- }, ce = {
19
+ }, ue = {
20
20
  key: 3,
21
21
  class: "fx-music-list"
22
- }, le = ["onClick"], ue = ["d"], j = /* @__PURE__ */ s({
22
+ }, de = ["onClick"], fe = ["d"], A = /* @__PURE__ */ s({
23
23
  __name: "FxMusicBall",
24
24
  setup(s) {
25
- let j = [
25
+ let A = [
26
26
  "M123.252 73.826h111.169v790.935h-111.169z",
27
27
  "M346.361 465.952h111.169v395.467h-111.169z",
28
28
  "M569.466 229.325h111.169v636.444h-111.169z",
29
29
  "M792.574 391.584h111.169v475.788h-111.169z"
30
- ], { site: de } = ee(), M = de.value.themeConfig.musicBall, N = p(null), P = p(0), F = p(0), I = p(0), L = p(!1), R = p(50), z = p(!1), B = p(0), V = p(!!M.autoplay), H = p(!1), U = 2 * Math.PI * 22, W = p("#bd34fe"), G = p("#41d1ff");
30
+ ], { site: j } = y(), M = j.value.themeConfig.musicBall, N = f(null), P = f(0), F = f(0), I = f(0), L = f(!1), R = f(50), z = f(!1), B = f(0), V = f(!!M.autoplay), H = f(!1), U = 2 * Math.PI * 22, W = f("#bd34fe"), G = f("#41d1ff");
31
31
  function K() {
32
32
  let e = getComputedStyle(document.documentElement), t = e.getPropertyValue("--fx-beam-c1").trim(), n = e.getPropertyValue("--fx-beam-c2").trim();
33
33
  t && (W.value = `rgb(${t})`), n && (G.value = `rgb(${n})`);
34
34
  }
35
35
  let q = null;
36
- d(() => {
36
+ u(() => {
37
37
  K(), q = new MutationObserver((e) => {
38
38
  for (let t of e) if (t.attributeName === "style") {
39
39
  K();
@@ -43,27 +43,30 @@ var x = [
43
43
  attributes: !0,
44
44
  attributeFilter: ["style"]
45
45
  });
46
- }), u(() => {
46
+ }), l(() => {
47
47
  q?.disconnect();
48
48
  });
49
- let fe = n(() => {
49
+ let pe = n(() => {
50
50
  let e = U - X.value / 100 * U;
51
51
  return `${U - e} ${e}`;
52
- }), J = n(() => M.src || M.list?.length === 1), pe = n(() => M.src || M.list?.[0]?.src), Y = n(() => M.list || []), X = n({
52
+ }), J = n(() => M.src || M.list?.length === 1), me = n(() => b(M.src || M.list?.[0]?.src || "")), Y = n(() => (M.list || []).map((e) => ({
53
+ ...e,
54
+ src: b(e.src)
55
+ }))), X = n({
53
56
  get() {
54
57
  return I.value / P.value * 100 || 0;
55
58
  },
56
59
  set(e) {
57
60
  F.value = P.value * e / 100, !L.value && N.value && (N.value.currentTime = F.value);
58
61
  }
59
- }), me = n(() => $(P.value)), Z = n(() => $(I.value));
60
- v(() => {
62
+ }), he = n(() => $(P.value)), Z = n(() => $(I.value));
63
+ _(() => {
61
64
  N.value && (z.value = !1, N.value.volume = R.value / 100);
62
- }), v(() => {
65
+ }), _(() => {
63
66
  N.value && (N.value.muted = z.value);
64
67
  });
65
68
  let Q = {};
66
- d(() => {
69
+ u(() => {
67
70
  let e = N.value;
68
71
  if (!e) return;
69
72
  let t = {
@@ -87,47 +90,47 @@ var x = [
87
90
  }
88
91
  B.value = 0;
89
92
  } else B.value++;
90
- c(() => e.play());
93
+ ee(() => e.play());
91
94
  }
92
95
  };
93
96
  for (let [n, r] of Object.entries(t)) e.addEventListener(n, r);
94
97
  Q = t;
95
- }), u(() => {
98
+ }), l(() => {
96
99
  let e = N.value;
97
100
  if (e) {
98
101
  for (let [t, n] of Object.entries(Q)) e.removeEventListener(t, n);
99
102
  Q = {};
100
103
  }
101
104
  });
102
- let he = () => {
105
+ let ge = () => {
103
106
  L.value = !L.value, L.value ? N.value?.play() : N.value?.pause(), !J.value && !V.value && (V.value = !0);
104
- }, ge = () => {
107
+ }, _e = () => {
105
108
  N.value && (N.value.currentTime = F.value);
106
- }, _e = (e) => {
109
+ }, ve = (e) => {
107
110
  V.value = !0, B.value = e;
108
- }, ve = () => {
111
+ }, ye = () => {
109
112
  H.value = !1;
110
113
  };
111
114
  function $(e) {
112
115
  return e = Math.max(0, Number(e) || 0), `${Math.floor(e % 3600 / 60)}:${Math.floor(e % 60).toString().padStart(2, "0")}`;
113
116
  }
114
- return (n, s) => (f(), i("div", {
115
- class: l(["fx-music-ball", {
117
+ return (n, s) => (d(), i("div", {
118
+ class: c(["fx-music-ball", {
116
119
  active: H.value,
117
120
  "is-playing": L.value
118
121
  }]),
119
- onMouseleave: ve
122
+ onMouseleave: ye
120
123
  }, [
121
- J.value ? (f(), i("audio", {
124
+ J.value ? (d(), i("audio", {
122
125
  key: 0,
123
126
  class: "audio",
124
- src: pe.value,
125
- autoplay: g(M).autoplay,
126
- loop: g(M).loop,
127
+ src: me.value,
128
+ autoplay: h(M).autoplay,
129
+ loop: h(M).loop,
127
130
  style: { display: "none" },
128
131
  ref_key: "audioRef",
129
132
  ref: N
130
- }, null, 8, x)) : (f(), i("audio", {
133
+ }, null, 8, S)) : (d(), i("audio", {
131
134
  key: 1,
132
135
  class: "audio",
133
136
  src: Y.value[B.value]?.src,
@@ -135,55 +138,55 @@ var x = [
135
138
  style: { display: "none" },
136
139
  ref_key: "audioRef",
137
140
  ref: N
138
- }, null, 8, te)),
139
- a("div", S, [
140
- a("div", C, [y(a("span", { innerHTML: g(e)("music-ball/playfill", 20) }, null, 8, w), [[_, !L.value]]), y(a("span", { innerHTML: g(e)("music-ball/pause", 26) }, null, 8, ne), [[_, L.value]])]),
141
- a("div", re, h(Z.value) + "\xA0/\xA0" + h(me.value), 1),
142
- a("div", ie, [o(g(b), {
141
+ }, null, 8, C)),
142
+ a("div", w, [
143
+ a("div", T, [v(a("span", { innerHTML: h(e)("music-ball/playfill", 20) }, null, 8, E), [[g, !L.value]]), v(a("span", { innerHTML: h(e)("music-ball/pause", 26) }, null, 8, D), [[g, L.value]])]),
144
+ a("div", O, m(Z.value) + "\xA0/\xA0" + m(he.value), 1),
145
+ a("div", k, [o(h(x), {
143
146
  style: { width: "100%" },
144
147
  "show-tooltip": !1,
145
148
  modelValue: X.value,
146
149
  "onUpdate:modelValue": s[0] ||= (e) => X.value = e,
147
- onChange: ge
150
+ onChange: _e
148
151
  }, null, 8, ["modelValue"])]),
149
- a("div", ae, [
150
- o(g(b), {
152
+ a("div", te, [
153
+ o(h(x), {
151
154
  style: { width: "100%" },
152
155
  "show-tooltip": !1,
153
156
  modelValue: R.value,
154
157
  "onUpdate:modelValue": s[1] ||= (e) => R.value = e
155
158
  }, null, 8, ["modelValue"]),
156
- y(a("span", {
159
+ v(a("span", {
157
160
  class: "fx-icon-volume",
158
161
  onClick: s[2] ||= (e) => z.value = !z.value,
159
- innerHTML: g(e)("music-ball/volume_off", 20)
160
- }, null, 8, oe), [[_, z.value]]),
161
- y(a("span", {
162
+ innerHTML: h(e)("music-ball/volume_off", 20)
163
+ }, null, 8, ne), [[g, z.value]]),
164
+ v(a("span", {
162
165
  class: "fx-icon-volume",
163
166
  onClick: s[3] ||= (e) => z.value = !z.value,
164
- innerHTML: g(e)("music-ball/volume_up", 20)
165
- }, null, 8, T), [[_, !z.value]])
167
+ innerHTML: h(e)("music-ball/volume_up", 20)
168
+ }, null, 8, re), [[g, !z.value]])
166
169
  ]),
167
- J.value ? r("", !0) : (f(), i("div", {
170
+ J.value ? r("", !0) : (d(), i("div", {
168
171
  key: 0,
169
172
  class: "fx-music-list-button",
170
173
  onClick: s[4] ||= (e) => H.value = !H.value
171
- }, [a("span", { innerHTML: g(e)("music-ball/music_list", 20) }, null, 8, se)]))
174
+ }, [a("span", { innerHTML: h(e)("music-ball/music_list", 20) }, null, 8, ie)]))
172
175
  ]),
173
- (f(), i("svg", {
176
+ (d(), i("svg", {
174
177
  class: "fx-progress-ring",
175
178
  width: "50",
176
179
  height: "50",
177
180
  viewBox: "0 0 50 50",
178
- onClick: he
181
+ onClick: ge
179
182
  }, [
180
- a("defs", null, [a("linearGradient", E, [a("stop", {
183
+ a("defs", null, [a("linearGradient", ae, [a("stop", {
181
184
  offset: "0%",
182
185
  "stop-color": W.value
183
- }, null, 8, D), a("stop", {
186
+ }, null, 8, oe), a("stop", {
184
187
  offset: "100%",
185
188
  "stop-color": G.value
186
- }, null, 8, O)])]),
189
+ }, null, 8, se)])]),
187
190
  s[5] ||= a("circle", {
188
191
  class: "fx-progress-track",
189
192
  cx: "25",
@@ -201,26 +204,26 @@ var x = [
201
204
  stroke: "url(#fx-progress-gradient)",
202
205
  "stroke-width": "2.5",
203
206
  "stroke-linecap": "round",
204
- "stroke-dasharray": fe.value
205
- }, null, 8, k)
207
+ "stroke-dasharray": pe.value
208
+ }, null, 8, ce)
206
209
  ])),
207
- L.value ? (f(), i("div", A)) : r("", !0),
208
- H.value ? (f(), i("div", ce, [(f(!0), i(t, null, m(Y.value, (e, n) => (f(), i("div", {
209
- class: l(["fx-music-list-item", B.value === n ? "active" : ""]),
210
+ L.value ? (d(), i("div", le)) : r("", !0),
211
+ H.value ? (d(), i("div", ue, [(d(!0), i(t, null, p(Y.value, (e, n) => (d(), i("div", {
212
+ class: c(["fx-music-list-item", B.value === n ? "active" : ""]),
210
213
  key: n,
211
- onClick: (e) => _e(n)
212
- }, [B.value === n ? (f(), i("svg", {
214
+ onClick: (e) => ve(n)
215
+ }, [B.value === n ? (d(), i("svg", {
213
216
  key: 0,
214
- class: l(["image-live", { playing: L.value }]),
217
+ class: c(["image-live", { playing: L.value }]),
215
218
  viewBox: "0 0 1024 1024",
216
219
  xmlns: "http://www.w3.org/2000/svg"
217
- }, [(f(), i(t, null, m(j, (e, t) => a("path", {
220
+ }, [(d(), i(t, null, p(A, (e, t) => a("path", {
218
221
  key: t,
219
222
  d: e,
220
- class: l(["bar", `bar-${t + 1}`])
221
- }, null, 10, ue)), 64))], 2)) : r("", !0), a("span", null, h(e.name), 1)], 10, le))), 128)), s[6] ||= a("div", { class: "fx-music-list-sep" }, null, -1)])) : r("", !0)
223
+ class: c(["bar", `bar-${t + 1}`])
224
+ }, null, 10, fe)), 64))], 2)) : r("", !0), a("span", null, m(e.name), 1)], 10, de))), 128)), s[6] ||= a("div", { class: "fx-music-list-sep" }, null, -1)])) : r("", !0)
222
225
  ], 34));
223
226
  }
224
227
  });
225
228
  //#endregion
226
- export { j as default };
229
+ export { A as default };
package/dist/config.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import type { UserConfig, DefaultTheme } from 'vitepress'
2
-
3
1
  export type MusicItem = {
4
2
  name: string
5
3
  src: string
@@ -13,7 +11,8 @@ export type ConfettiConfig = {
13
11
  secondary?: boolean
14
12
  }
15
13
 
16
- export interface FxThemeConfig extends DefaultTheme.Config {
14
+ /** 自定义主题属性,消费方通过 & 组合到 DefaultTheme.Config */
15
+ export interface FxThemeCustomConfig {
17
16
  musicBall?: {
18
17
  enable?: boolean
19
18
  visible?: boolean
@@ -34,5 +33,11 @@ export interface FxThemeConfig extends DefaultTheme.Config {
34
33
  }
35
34
  }
36
35
 
37
- declare const fxConfig: UserConfig<FxThemeConfig>
36
+ // fxConfig 不引用 vitepress 内部类型,避免跨模块类型冲突
37
+ // 运行时实际值包含完整配置(在 .vitepress/config/index.ts 源码中维护)
38
+ declare const fxConfig: {
39
+ markdown?: { lineNumbers?: boolean }
40
+ transformPageData?: (pageData: any) => any
41
+ vite?: { ssr?: { noExternal?: string[] } }
42
+ }
38
43
  export default fxConfig
package/dist/index.d.ts CHANGED
@@ -1,4 +1,2 @@
1
- import type { Theme } from 'vitepress'
2
-
3
- declare const theme: Theme
4
- export default theme
1
+ export type { FxThemeCustomConfig, MusicItem, ConfettiShape, ConfettiConfig } from './config'
2
+ export { default as configPreset } from './config'
package/dist/index.js CHANGED
@@ -32,7 +32,7 @@ var d = {
32
32
  }, t = document.querySelector(".VPNavBarTitle .title");
33
33
  t && (x = new ResizeObserver(e), x.observe(t)), e();
34
34
  }), a(() => x?.disconnect());
35
- let w = c(() => import("./chunk/FxMusicBall-DwxRT1yK.js"), [{ style: { display: g.musicBall && g.musicBall.visible ? "" : "none" } }]), T = c(() => import("./chunk/FxHomeFeatureBefore-Cd9m9wit.js")), E = c(() => import("./chunk/FxConfetti-DFRD5KKS.js"), [{ confetti: g.confetti }]), D = c(() => import("./chunk/FxHeroImageBg-CiY3qciK.js"), [{ heroImageColor: g.heroImageColor }]), O = c(() => import("./chunk/FxCodeBlockFold-C7zqZ39g.js"), [{ lines: C }]);
35
+ let w = c(() => import("./chunk/FxMusicBall-CTP51ydo.js"), [{ style: { display: g.musicBall && g.musicBall.visible ? "" : "none" } }]), T = c(() => import("./chunk/FxHomeFeatureBefore-Cd9m9wit.js")), E = c(() => import("./chunk/FxConfetti-DFRD5KKS.js"), [{ confetti: g.confetti }]), D = c(() => import("./chunk/FxHeroImageBg-Ge75loti.js"), [{ heroImageColor: g.heroImageColor }]), O = c(() => import("./chunk/FxCodeBlockFold-BZw-1rNl.js"), [{ lines: C }]);
36
36
  return () => [
37
37
  S && n("style", `:root{--fx-code-fold-lines:${C || 10}}`),
38
38
  g.heroImageColor && n("style", ":root{--vp-home-hero-image-background-image:none;--vp-home-hero-name-color:transparent;--vp-home-hero-name-background:none}"),
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- :root{--fx-beam-c1:189, 52, 254;--fx-beam-c2:65, 209, 255;--decoration-color-blue:#45abff;--decoration-color-yellow:#a29bdb;--decoration-color-green:#8eb78b;--decoration-color-red:#f3bad6;--decoration-color-blue-dark:hsl(from var(--decoration-color-blue) h s calc(l * .5));--decoration-color-yellow-dark:hsl(from var(--decoration-color-yellow) h s calc(l * .5));--decoration-color-green-dark:hsl(from var(--decoration-color-green) h s calc(l * .5));--decoration-color-red-dark:hsl(from var(--decoration-color-red) h s calc(l * .5));--decoration-thick:.6em;--decoration-style:solid;--decoration-line:underline;--decoration-skip-ink:none;--underline-offset:-.4em;--vp-home-hero-name-color:transparent;--vp-home-hero-name-background:linear-gradient(120deg, #bd34fe, #41d1ff);--vp-home-hero-image-background-image:-webkit-linear-gradient(-45deg, #bd34fe 50%, #47caff 50%);--vp-home-hero-image-filter:blur(45px);--vp-layout-max-width:1450px;--vp-code-line-height:2.2em;--fx-code-fold-lines:99999}::selection{color:#fff;background-color:#fe7300}.dark ::selection{color:#efefef;background-color:#692f00}@property --beam-angle{syntax:"<angle>";inherits:true;initial-value:0deg}@keyframes beam-spin{to{--beam-angle:360deg}}@keyframes beam-hue-shift{0%{filter:hue-rotate(-20deg)brightness(1.2)saturate(1.1)}50%{filter:hue-rotate(20deg)brightness(1.2)saturate(1.1)}to{filter:hue-rotate(-20deg)brightness(1.2)saturate(1.1)}}@keyframes beam-hue-shift-bloom{0%{filter:blur(4px)hue-rotate(-20deg)brightness(1.2)saturate(1.1)}50%{filter:blur(4px)hue-rotate(20deg)brightness(1.2)saturate(1.1)}to{filter:blur(4px)hue-rotate(-20deg)brightness(1.2)saturate(1.1)}}@property --blur{syntax:"<length>";inherits:false;initial-value:30px}@keyframes filter_blur{0%{--blur:30px}to{--blur:80px}}.VPDoc.has-aside .content-container{max-width:100%!important}.VPDoc.has-aside>.container>.content{padding-left:5px;padding-right:5px}.VPImage{border-radius:50%}.VPDocOutlineItem a{font-size:12px!important}.aside-container{width:350px!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#80808059;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8080808c}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4{text-decoration-thickness:var(--decoration-thick);-webkit-text-decoration-style:var(--decoration-style);text-decoration-style:var(--decoration-style);-webkit-text-decoration-line:var(--decoration-line);text-decoration-line:var(--decoration-line);text-decoration-skip-ink:var(--decoration-skip-ink);text-underline-offset:var(--underline-offset)}.vp-doc h1{-webkit-text-decoration-color:var(--decoration-color-blue);text-decoration-color:var(--decoration-color-blue)}.vp-doc h2{-webkit-text-decoration-color:var(--decoration-color-yellow);text-decoration-color:var(--decoration-color-yellow)}.vp-doc h3{-webkit-text-decoration-color:var(--decoration-color-green);text-decoration-color:var(--decoration-color-green)}.vp-doc h4{-webkit-text-decoration-color:var(--decoration-color-red);text-decoration-color:var(--decoration-color-red)}.vp-doc img{border:1px dashed #efefef;border-radius:5px;margin-top:10px}.vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme){border-top:6px solid #d4eaf7}.vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme) .vp-code:not(.dark .vp-code){padding-bottom:18px}.vp-doc .vp-code-group.vp-adaptive-theme:not(.dark .vp-code-group.vp-adaptive-theme){border-top:none!important}.vp-doc .vp-code-group.vp-adaptive-theme:after{display:none}.vp-doc .vp-code-group .tabs{border-top:6px solid #d4eaf7}.dark .VPHome .image-bg{filter:blur(var(--blur));animation:1.8s ease-in infinite alternate-reverse filter_blur}.dark .vp-doc h1{-webkit-text-decoration-color:var(--decoration-color-blue-dark);text-decoration-color:var(--decoration-color-blue-dark)}.dark .vp-doc h2{-webkit-text-decoration-color:var(--decoration-color-yellow-dark);text-decoration-color:var(--decoration-color-yellow-dark)}.dark .vp-doc h3{-webkit-text-decoration-color:var(--decoration-color-green-dark);text-decoration-color:var(--decoration-color-green-dark)}.dark .vp-doc h4{-webkit-text-decoration-color:var(--decoration-color-red-dark);text-decoration-color:var(--decoration-color-red-dark)}.dark .vp-doc img{border-color:#2b2b2b}.dark .vp-doc .vp-code-group .tabs{border-top:2px solid #0000!important}.dark .vp-doc .vp-adaptive-theme{border:2px solid #0000;border-radius:8px;position:relative}.dark .vp-doc .vp-adaptive-theme.active{margin-bottom:0}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme){--beam-radius:8px;--beam-z-before:4;--beam-z-after:5;--beam-mask-inset:28px;border-top:2px solid #0000}.dark .VPDocFooter .pager-link{border-color:#0000;position:relative}.dark .VPDocFooter .pager-link:not(:hover){border-color:var(--vp-c-divider,#313d44)}.dark .VPDocFooter .pager-link{--beam-radius:8px;--beam-z-before:1;--beam-z-after:2;--beam-mask-inset:20px}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme):before,.dark .VPDocFooter .pager-link:before{content:"";border-radius:var(--beam-radius);clip-path:inset(0 round var(--beam-radius));pointer-events:none;z-index:var(--beam-z-before);opacity:0;box-shadow:inset 0 0 9px 1px rgba(var(--fx-beam-c1),.3), inset 0 0 12px rgba(var(--fx-beam-c2),.15);background:radial-gradient(ellipse 63px 36px at 33% -7.4%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 54px 31px at 12% -5%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 36px 63px at 2.1% 68.3%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 18px 31px at 2.1% 68.3%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 162px 28px at 74.4% 100%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 76px 23px at 55% 100%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 66px 28px at 93.9% 0%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 23px 37px at 100% 27.1%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 46px 43px at 100% 27.1%, rgba(var(--fx-beam-c2),.45), transparent);-webkit-mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);-webkit-mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);-webkit-mask-composite:source-in, source-over;transition:opacity .5s;animation:3s linear infinite beam-spin,12s ease-in-out infinite beam-hue-shift;position:absolute;inset:0;-webkit-mask-composite:source-in,source-over;mask-composite:intersect,add}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme):after,.dark .VPDocFooter .pager-link:after{content:"";border-radius:var(--beam-radius);pointer-events:none;z-index:var(--beam-z-after);opacity:0;background:conic-gradient(from var(--beam-angle), transparent 0%, transparent 64%, rgba(var(--fx-beam-c1),.15) 66.5%, rgba(var(--fx-beam-c1),.35) 68%, rgba(var(--fx-beam-c1),.5) 69%, rgba(var(--fx-beam-c2),.65) 70%, rgba(var(--fx-beam-c2),.65) 70.5%, rgba(var(--fx-beam-c2),.45) 71.5%, rgba(var(--fx-beam-c1),.25) 73%, rgba(var(--fx-beam-c1),.1) 75%, transparent 77%, transparent 100%), radial-gradient(ellipse 70px 40px at 33% -7.4%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 60px 35px at 12% -5%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 40px 70px at 2.1% 68.3%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 20px 35px at 2.1% 68.3%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 180px 32px at 74.4% 100%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 85px 26px at 55% 100%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 74px 32px at 93.9% 0%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 26px 42px at 100% 27.1%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 52px 48px at 100% 27.1%, rgb(var(--fx-beam-c2)), transparent);-webkit-mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:source-in, xor;filter:blur(4px)brightness(1.2)saturate(1.1);padding:1px;transition:opacity .5s;animation:3s linear infinite beam-spin,12s ease-in-out infinite beam-hue-shift-bloom;position:absolute;inset:0;-webkit-mask-composite:source-in,xor;mask-composite:intersect,exclude}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme):hover:before,.dark .VPDocFooter .pager-link:hover:before{opacity:.7}.dark .vp-doc .vp-adaptive-theme:not(.vp-code-group .vp-adaptive-theme):hover:after,.dark .VPDocFooter .pager-link:hover:after{opacity:.6}.dark .VPHomeFeatures .VPFeature{border-radius:12px;position:relative;overflow:hidden}.dark .VPHomeFeatures .VPFeature:before{content:"";background:radial-gradient(var(--color), transparent, transparent);left:var(--x);top:var(--y);opacity:0;width:700px;height:700px;transition:opacity 1s;display:block;position:absolute;transform:translate(-50%,-50%)}.dark .VPHomeFeatures .VPFeature:hover:before{opacity:1;transition:opacity .3s}.dark .VPHomeFeatures .VPFeature:after{content:"";z-index:0;background-color:#222c;border-radius:10px;display:block;position:absolute;inset:2px}.dark .VPHomeFeatures .VPFeature>.box{z-index:1;position:relative}html.fx-smooth-scroll{scroll-behavior:smooth}html.fx-smooth-scroll .VPDocAsideOutline .outline-marker{transition:top .35s cubic-bezier(.22,1,.36,1),opacity .35s}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}.dark::view-transition-new(root){z-index:1}::view-transition-new(root){z-index:9999}.dark::view-transition-old(root){z-index:9999}.VPNavBarTitle{overflow:hidden}.VPNavBarTitle .title{min-width:0}.VPNavBarTitle .title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.VPNavBarTitle .title img{flex-shrink:0}.vp-doc .vp-adaptive-theme{position:relative}.vp-doc .vp-adaptive-theme>.vp-code{max-height:calc(var(--vp-code-line-height,2.2em) * var(--fx-code-fold-lines,10) + 18px);overflow:hidden}.vp-doc .vp-adaptive-theme>.line-numbers-wrapper{max-height:calc(var(--vp-code-line-height,2.2em) * var(--fx-code-fold-lines,10));overflow:hidden}.fx-code-fold-enabled .vp-doc .fx-code-no-fold>.vp-code,.fx-code-fold-enabled .vp-doc .fx-code-no-fold>.line-numbers-wrapper,.fx-code-fold-enabled .vp-doc .fx-code-foldable:not(.fx-code-folded)>.vp-code,.fx-code-fold-enabled .vp-doc .fx-code-foldable:not(.fx-code-folded)>.line-numbers-wrapper{max-height:none;overflow:visible}.fx-code-fold-overlay{pointer-events:none;z-index:3;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:-webkit-backdrop-filter .3s,backdrop-filter .3s,height .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.fx-code-fold-label{color:var(--vp-c-text-1);pointer-events:auto;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.fx-code-fold-label svg{fill:currentColor;flex-shrink:0}.fx-code-fold-overlay:hover .fx-code-fold-label{color:var(--vp-c-brand-1)}.fx-code-folded>.fx-code-fold-overlay{-webkit-backdrop-filter:blur(8px);background:linear-gradient(to bottom, transparent, var(--vp-c-bg-soft));align-items:flex-end;height:80px;padding-bottom:10px}.fx-code-fold-overlay.fx-code-fold-expanded{height:auto;padding:8px 0}.fx-code-foldable:not(.fx-code-folded){padding-bottom:36px}:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out, var(--el-transition-duration) padding-left ease-in-out, var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.fx-music-ball{--fx-music-accent-start:rgb(var(--fx-beam-c1));--fx-music-accent-end:rgb(var(--fx-beam-c2));--fx-music-bg:#ffffff73;--fx-music-bg-blur:12px;--fx-music-border:#ffffff4d;--fx-music-shadow:0 4px 16px #0000001a;--fx-music-text:#000000a6;--fx-music-text-muted:#0006;--fx-music-slider-track:#00000014;--fx-music-slider-thumb:rgb(var(--fx-beam-c2));--music-list-sep-color:#0000000f;--music-list-bgcolor:#ffffff80;--music-list-bdcolor:#ffffff4d}.dark .fx-music-ball{--fx-music-bg:#1e1e328c;--fx-music-bg-blur:16px;--fx-music-border:#ffffff14;--fx-music-shadow:0 4px 20px #0000004d, 0 0 12px rgba(var(--fx-beam-c1), .15);--fx-music-text:#ffffffb3;--fx-music-text-muted:#fff6;--fx-music-slider-track:#ffffff1a;--music-list-sep-color:#ffffff0d;--music-list-bgcolor:#1e1e3299;--music-list-bdcolor:#ffffff0f}.fx-music-ball{background:var(--fx-music-bg);-webkit-backdrop-filter:blur(var(--fx-music-bg-blur));border:1px solid var(--fx-music-border);box-shadow:var(--fx-music-shadow);cursor:pointer;z-index:99;box-sizing:border-box;border-radius:28px;justify-content:space-between;align-items:center;width:50px;height:50px;padding:0 20px 0 5px;transition:width .35s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;bottom:15px;left:15px;overflow:hidden}.fx-music-ball.active{overflow:inherit}.fx-music-ball:hover{width:330px;transition:width .4s cubic-bezier(.34,1.56,.64,1) .5s}.fx-music-ball .fx-progress-ring{cursor:pointer;position:absolute;top:-1px;left:-1px;transform:rotate(-90deg)}.fx-music-ball .fx-progress-track{stroke:var(--fx-music-slider-track)}.fx-music-ball .fx-progress-bar{stroke:url(#fx-progress-gradient);transition:stroke-dasharray .1s}.fx-music-ball .fx-orbit-ring{border:1.5px solid #0000;border-top-color:rgba(var(--fx-beam-c1), .4);border-right-color:rgba(var(--fx-beam-c2), .2);pointer-events:none;border-radius:50%;animation:3s linear infinite orbit-spin;position:absolute;inset:-4px}.dark .fx-music-ball .fx-orbit-ring{border-top-color:rgba(var(--fx-beam-c1), .6);border-right-color:rgba(var(--fx-beam-c2), .3);filter:drop-shadow(0 0 4px rgba(var(--fx-beam-c1), .3))}@keyframes orbit-spin{to{transform:rotate(360deg)}}.fx-music-ball .fx-music-ball__inner{justify-content:space-between;align-items:center;width:330px;display:flex}.fx-music-ball .fx-play-pause span,.fx-music-ball .fx-music-list-button span,.fx-music-ball .fx-icon-volume{justify-content:center;align-items:center;display:flex}.fx-music-ball .fx-play-pause span svg,.fx-music-ball .fx-music-list-button span svg,.fx-music-ball .fx-icon-volume svg{fill:var(--fx-music-text)}.fx-music-ball .fx-play-pause{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .3s;display:flex}.fx-music-ball .fx-play-pause:hover{background-color:rgba(var(--fx-beam-c1), .1)}.dark .fx-music-ball .fx-play-pause:hover{background-color:rgba(var(--fx-beam-c1), .15)}.fx-music-ball .fx-time{color:var(--fx-music-text-muted);white-space:nowrap;width:78px;padding:0 10px;font-size:12px}.fx-music-ball .fx-duration{flex:1;padding:0 10px 0 3px}.fx-music-ball .fx-music-list-button{justify-content:center;align-items:center;width:30px;margin-left:8px;display:flex}.fx-music-ball .el-slider{--el-slider-height:4px;--el-slider-main-bg-color:var(--fx-music-accent-end);--el-color-white:var(--fx-music-slider-thumb)}.fx-music-ball .el-slider .el-slider__runway{background-color:var(--fx-music-slider-track)}.fx-music-ball .el-slider .el-slider__bar{background:linear-gradient(90deg, var(--fx-music-accent-start), var(--fx-music-accent-end))}.fx-music-ball .el-slider .el-slider__button{--el-slider-button-size:12px;border-color:var(--fx-music-slider-thumb);box-shadow:0 0 6px rgba(var(--fx-beam-c2), .3);position:relative;top:-1px}.fx-music-ball .fx-volume{align-items:center;width:30px;transition:width .3s .3s;display:flex}.fx-music-ball .fx-volume .el-slider{opacity:0;transition:opacity .3s .3s}.fx-music-ball .fx-volume:hover{width:120px;transition:width .3s .3s}.fx-music-ball .fx-volume:hover .el-slider{opacity:1;transition:opacity .3s}.fx-music-ball .fx-icon-volume{cursor:pointer;margin-left:5px}.fx-music-ball.is-playing .fx-progress-bar{animation:2s ease-in-out infinite progress-pulse}@keyframes progress-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(var(--fx-beam-c1), .3))}50%{filter:drop-shadow(0 0 6px rgba(var(--fx-beam-c2), .6))}}.fx-music-ball.is-playing:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgba(var(--fx-beam-c1), .08) 0%, transparent 40%, rgba(var(--fx-beam-c2), .08) 60%, transparent 100%);pointer-events:none;background-size:200% 200%;animation:4s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:200% 0}50%{background-position:0 200%}to{background-position:200% 0}}.dark .fx-music-ball.is-playing{box-shadow:0 4px 20px #0000004d, 0 0 12px rgba(var(--fx-beam-c1), .15), 0 0 24px rgba(var(--fx-beam-c2), .08)}.fx-music-ball .fx-music-list{box-sizing:border-box;z-index:-9;background:var(--music-list-bgcolor);-webkit-backdrop-filter:blur(20px);border:1px solid var(--music-list-bdcolor);width:100%;box-shadow:var(--fx-music-shadow);opacity:0;pointer-events:none;border-radius:24px;padding:15px 5px 50px;transition:opacity .3s,transform .3s;position:absolute;bottom:0;left:0;transform:translateY(10px)}.fx-music-ball.active .fx-music-list{opacity:1;pointer-events:auto;transform:translateY(0)}.fx-music-ball .fx-music-list .fx-music-list-sep{border-bottom:1px solid var(--music-list-sep-color);margin:5px 0}.fx-music-ball .fx-music-list .fx-music-list-item{text-wrap:nowrap;text-overflow:ellipsis;color:var(--fx-music-text-muted);padding-left:20px;padding-right:20px;font-size:12px;line-height:24px;transition:color .2s;position:relative;overflow:hidden}.fx-music-ball .fx-music-list .fx-music-list-item:hover{color:var(--fx-music-accent-end)}.fx-music-ball .fx-music-list .fx-music-list-item .image-live{width:12px;height:12px;position:absolute;bottom:6px;left:3px}.fx-music-ball .fx-music-list .fx-music-list-item .image-live svg{width:100%;height:100%}.fx-music-ball .fx-music-list .fx-music-list-item .image-live .bar{fill:currentColor;transform-box:fill-box;transform-origin:bottom}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-1{animation:.8s ease-in-out infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-2{animation:.8s ease-in-out .2s infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-3{animation:.8s ease-in-out .4s infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-4{animation:.8s ease-in-out .1s infinite fx-eq-bar}@keyframes fx-eq-bar{0%,to{transform:scaleY(1)}50%{transform:scaleY(.3)}}.fx-music-ball .fx-music-list .fx-music-list-item.active{color:var(--fx-music-accent-start)}.fx-music-ball .fx-music-list .fx-music-list-item.active:hover{color:var(--fx-music-accent-end)}@media (prefers-reduced-motion:reduce){.fx-music-ball *,.fx-music-ball :before,.fx-music-ball :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
1
+ :root{--fx-beam-c1:189, 52, 254;--fx-beam-c2:65, 209, 255;--decoration-color-blue:#45abff;--decoration-color-yellow:#a29bdb;--decoration-color-green:#8eb78b;--decoration-color-red:#f3bad6;--decoration-color-blue-dark:hsl(from var(--decoration-color-blue) h s calc(l * .5));--decoration-color-yellow-dark:hsl(from var(--decoration-color-yellow) h s calc(l * .5));--decoration-color-green-dark:hsl(from var(--decoration-color-green) h s calc(l * .5));--decoration-color-red-dark:hsl(from var(--decoration-color-red) h s calc(l * .5));--decoration-thick:.6em;--decoration-style:solid;--decoration-line:underline;--decoration-skip-ink:none;--underline-offset:-.4em;--vp-home-hero-name-color:transparent;--vp-home-hero-name-background:linear-gradient(120deg, #bd34fe, #41d1ff);--vp-home-hero-image-background-image:-webkit-linear-gradient(-45deg, #bd34fe 50%, #47caff 50%);--vp-home-hero-image-filter:blur(45px);--vp-layout-max-width:1450px;--vp-code-line-height:2.2em;--fx-code-fold-lines:99999}::selection{color:#fff;background-color:#fe7300}.dark ::selection{color:#efefef;background-color:#692f00}@property --beam-angle{syntax:"<angle>";inherits:true;initial-value:0deg}@keyframes beam-spin{to{--beam-angle:360deg}}@keyframes beam-hue-shift{0%{filter:hue-rotate(-20deg)brightness(1.2)saturate(1.1)}50%{filter:hue-rotate(20deg)brightness(1.2)saturate(1.1)}to{filter:hue-rotate(-20deg)brightness(1.2)saturate(1.1)}}@keyframes beam-hue-shift-bloom{0%{filter:blur(4px)hue-rotate(-20deg)brightness(1.2)saturate(1.1)}50%{filter:blur(4px)hue-rotate(20deg)brightness(1.2)saturate(1.1)}to{filter:blur(4px)hue-rotate(-20deg)brightness(1.2)saturate(1.1)}}@property --blur{syntax:"<length>";inherits:false;initial-value:30px}@keyframes filter_blur{0%{--blur:30px}to{--blur:80px}}.VPDoc.has-aside .content-container{max-width:100%!important}.VPDoc.has-aside>.container>.content{padding-left:5px;padding-right:5px}.VPImage{border-radius:50%}.VPDocOutlineItem a{font-size:12px!important}.aside-container{width:350px!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#80808059;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8080808c}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4{text-decoration-thickness:var(--decoration-thick);-webkit-text-decoration-style:var(--decoration-style);text-decoration-style:var(--decoration-style);-webkit-text-decoration-line:var(--decoration-line);text-decoration-line:var(--decoration-line);text-decoration-skip-ink:var(--decoration-skip-ink);text-underline-offset:var(--underline-offset)}.vp-doc h1{-webkit-text-decoration-color:var(--decoration-color-blue);text-decoration-color:var(--decoration-color-blue)}.vp-doc h2{-webkit-text-decoration-color:var(--decoration-color-yellow);text-decoration-color:var(--decoration-color-yellow)}.vp-doc h3{-webkit-text-decoration-color:var(--decoration-color-green);text-decoration-color:var(--decoration-color-green)}.vp-doc h4{-webkit-text-decoration-color:var(--decoration-color-red);text-decoration-color:var(--decoration-color-red)}.vp-doc img{border:1px dashed #efefef;border-radius:5px;margin-top:10px}.vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]){border-top:6px solid #d4eaf7}.vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]) pre.shiki:not(.dark pre.shiki){padding-bottom:18px}.vp-doc .vp-code-group:not(.dark .vp-code-group){border-top:none!important}.vp-doc .vp-code-group .tabs{border-top:6px solid #d4eaf7}.dark .VPHome .image-bg{filter:blur(var(--blur));animation:1.8s ease-in infinite alternate-reverse filter_blur}.dark .vp-doc h1{-webkit-text-decoration-color:var(--decoration-color-blue-dark);text-decoration-color:var(--decoration-color-blue-dark)}.dark .vp-doc h2{-webkit-text-decoration-color:var(--decoration-color-yellow-dark);text-decoration-color:var(--decoration-color-yellow-dark)}.dark .vp-doc h3{-webkit-text-decoration-color:var(--decoration-color-green-dark);text-decoration-color:var(--decoration-color-green-dark)}.dark .vp-doc h4{-webkit-text-decoration-color:var(--decoration-color-red-dark);text-decoration-color:var(--decoration-color-red-dark)}.dark .vp-doc img{border-color:#2b2b2b}.dark .vp-doc .vp-code-group .tabs{border-top:2px solid #0000!important}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]){--beam-radius:8px;--beam-z-before:4;--beam-z-after:5;--beam-mask-inset:28px;border:2px solid #0000;border-radius:8px;position:relative}.dark .vp-doc .vp-code-group{--beam-radius:8px;--beam-z-before:4;--beam-z-after:5;--beam-mask-inset:28px;border-radius:8px;position:relative;overflow:hidden}.vp-doc .vp-code-group div[class*=language-]{margin-bottom:0!important}.dark .VPDocFooter .pager-link{border-color:#0000;position:relative}.dark .VPDocFooter .pager-link:not(:hover){border-color:var(--vp-c-divider,#313d44)}.dark .VPDocFooter .pager-link{--beam-radius:8px;--beam-z-before:1;--beam-z-after:2;--beam-mask-inset:20px}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]):before,.dark .vp-doc .vp-code-group:before,.dark .VPDocFooter .pager-link:before{content:"";border-radius:var(--beam-radius);clip-path:inset(0 round var(--beam-radius));pointer-events:none;z-index:var(--beam-z-before);opacity:0;box-shadow:inset 0 0 9px 1px rgba(var(--fx-beam-c1),.3), inset 0 0 12px rgba(var(--fx-beam-c2),.15);background:radial-gradient(ellipse 63px 36px at 33% -7.4%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 54px 31px at 12% -5%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 36px 63px at 2.1% 68.3%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 18px 31px at 2.1% 68.3%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 162px 28px at 74.4% 100%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 76px 23px at 55% 100%, rgba(var(--fx-beam-c2),.45), transparent), radial-gradient(ellipse 66px 28px at 93.9% 0%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 23px 37px at 100% 27.1%, rgba(var(--fx-beam-c1),.45), transparent), radial-gradient(ellipse 46px 43px at 100% 27.1%, rgba(var(--fx-beam-c2),.45), transparent);-webkit-mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);-webkit-mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);mask-image:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white), linear-gradient(to right, white, transparent var(--beam-mask-inset), transparent calc(100% - var(--beam-mask-inset)), white);-webkit-mask-composite:source-in, source-over;transition:opacity .5s;animation:3s linear infinite beam-spin,12s ease-in-out infinite beam-hue-shift;position:absolute;inset:0;-webkit-mask-composite:source-in,source-over;mask-composite:intersect,add}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]):after,.dark .vp-doc .vp-code-group:after,.dark .VPDocFooter .pager-link:after{content:"";border-radius:var(--beam-radius);pointer-events:none;z-index:var(--beam-z-after);opacity:0;background:conic-gradient(from var(--beam-angle), transparent 0%, transparent 64%, rgba(var(--fx-beam-c1),.15) 66.5%, rgba(var(--fx-beam-c1),.35) 68%, rgba(var(--fx-beam-c1),.5) 69%, rgba(var(--fx-beam-c2),.65) 70%, rgba(var(--fx-beam-c2),.65) 70.5%, rgba(var(--fx-beam-c2),.45) 71.5%, rgba(var(--fx-beam-c1),.25) 73%, rgba(var(--fx-beam-c1),.1) 75%, transparent 77%, transparent 100%), radial-gradient(ellipse 70px 40px at 33% -7.4%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 60px 35px at 12% -5%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 40px 70px at 2.1% 68.3%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 20px 35px at 2.1% 68.3%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 180px 32px at 74.4% 100%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 85px 26px at 55% 100%, rgb(var(--fx-beam-c2)), transparent), radial-gradient(ellipse 74px 32px at 93.9% 0%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 26px 42px at 100% 27.1%, rgb(var(--fx-beam-c1)), transparent), radial-gradient(ellipse 52px 48px at 100% 27.1%, rgb(var(--fx-beam-c2)), transparent);-webkit-mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);mask:conic-gradient(from var(--beam-angle), transparent 0%, transparent 48%, #ffffff1a 54%, #ffffff59 62%, white 68%, white 72%, #ffffff59 78%, #ffffff1a 84%, transparent 95%, transparent 100%), linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:source-in, xor;filter:blur(4px)brightness(1.2)saturate(1.1);padding:1px;transition:opacity .5s;animation:3s linear infinite beam-spin,12s ease-in-out infinite beam-hue-shift-bloom;position:absolute;inset:0;-webkit-mask-composite:source-in,xor;mask-composite:intersect,exclude}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]):hover:before,.dark .vp-doc .vp-code-group:hover:before,.dark .VPDocFooter .pager-link:hover:before{opacity:.7}.dark .vp-doc div[class*=language-]:not(.vp-code-group div[class*=language-]):hover:after,.dark .vp-doc .vp-code-group:hover:after,.dark .VPDocFooter .pager-link:hover:after{opacity:.6}.dark .VPHomeFeatures .VPFeature{border-radius:12px;position:relative;overflow:hidden}.dark .VPHomeFeatures .VPFeature:before{content:"";background:radial-gradient(var(--color), transparent, transparent);left:var(--x);top:var(--y);opacity:0;width:700px;height:700px;transition:opacity 1s;display:block;position:absolute;transform:translate(-50%,-50%)}.dark .VPHomeFeatures .VPFeature:hover:before{opacity:1;transition:opacity .3s}.dark .VPHomeFeatures .VPFeature:after{content:"";z-index:0;background-color:#222c;border-radius:10px;display:block;position:absolute;inset:2px}.dark .VPHomeFeatures .VPFeature>.box{z-index:1;position:relative}html.fx-smooth-scroll{scroll-behavior:smooth}html.fx-smooth-scroll .VPDocAsideOutline .outline-marker{transition:top .35s cubic-bezier(.22,1,.36,1),opacity .35s}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}.dark::view-transition-new(root){z-index:1}::view-transition-new(root){z-index:9999}.dark::view-transition-old(root){z-index:9999}.VPNavBarTitle{overflow:hidden}.VPNavBarTitle .title{min-width:0}.VPNavBarTitle .title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.VPNavBarTitle .title img{flex-shrink:0}.vp-doc div[class*=language-]{position:relative;overflow:hidden}.vp-doc div[class*=language-]>pre.shiki{max-height:calc(var(--vp-code-line-height,2.2em) * var(--fx-code-fold-lines,10) + 18px);overflow:hidden}.vp-doc div[class*=language-]>.line-numbers-wrapper{max-height:calc(var(--vp-code-line-height,2.2em) * var(--fx-code-fold-lines,10));overflow:hidden}.fx-code-fold-enabled .vp-doc .fx-code-no-fold>pre.shiki,.fx-code-fold-enabled .vp-doc .fx-code-no-fold>.line-numbers-wrapper,.fx-code-fold-enabled .vp-doc .fx-code-foldable:not(.fx-code-folded)>pre.shiki,.fx-code-fold-enabled .vp-doc .fx-code-foldable:not(.fx-code-folded)>.line-numbers-wrapper{max-height:none;overflow:visible}.fx-code-fold-overlay{pointer-events:none;z-index:3;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:-webkit-backdrop-filter .3s,backdrop-filter .3s,height .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.fx-code-fold-label{color:var(--vp-c-text-1);pointer-events:auto;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.fx-code-fold-label svg{fill:currentColor;flex-shrink:0}.fx-code-fold-overlay:hover .fx-code-fold-label{color:var(--vp-c-brand-1)}.fx-code-folded>.fx-code-fold-overlay{-webkit-backdrop-filter:blur(8px);background:linear-gradient(to bottom, transparent, var(--vp-c-bg-soft));align-items:flex-end;height:80px;padding-bottom:10px}.fx-code-fold-overlay.fx-code-fold-expanded{height:auto;padding:8px 0}.fx-code-foldable:not(.fx-code-folded){padding-bottom:36px}:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out, var(--el-transition-duration) padding-left ease-in-out, var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset, 0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset, 0 -1px 0 0 var(--el-input-border-color) inset, -1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.fx-music-ball{--fx-music-accent-start:rgb(var(--fx-beam-c1));--fx-music-accent-end:rgb(var(--fx-beam-c2));--fx-music-bg:#ffffff73;--fx-music-bg-blur:12px;--fx-music-border:#ffffff4d;--fx-music-shadow:0 4px 16px #0000001a;--fx-music-text:#000000a6;--fx-music-text-muted:#0006;--fx-music-slider-track:#00000014;--fx-music-slider-thumb:rgb(var(--fx-beam-c2));--music-list-sep-color:#0000000f;--music-list-bgcolor:#ffffff80;--music-list-bdcolor:#ffffff4d}.dark .fx-music-ball{--fx-music-bg:#1e1e328c;--fx-music-bg-blur:16px;--fx-music-border:#ffffff14;--fx-music-shadow:0 4px 20px #0000004d, 0 0 12px rgba(var(--fx-beam-c1), .15);--fx-music-text:#ffffffb3;--fx-music-text-muted:#fff6;--fx-music-slider-track:#ffffff1a;--music-list-sep-color:#ffffff0d;--music-list-bgcolor:#1e1e3299;--music-list-bdcolor:#ffffff0f}.fx-music-ball{background:var(--fx-music-bg);-webkit-backdrop-filter:blur(var(--fx-music-bg-blur));border:1px solid var(--fx-music-border);box-shadow:var(--fx-music-shadow);cursor:pointer;z-index:99;box-sizing:border-box;border-radius:28px;justify-content:space-between;align-items:center;width:50px;height:50px;padding:0 20px 0 5px;transition:width .35s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;bottom:15px;left:15px;overflow:hidden}.fx-music-ball.active{overflow:inherit}.fx-music-ball:hover{width:330px;transition:width .4s cubic-bezier(.34,1.56,.64,1) .5s}.fx-music-ball .fx-progress-ring{cursor:pointer;position:absolute;top:-1px;left:-1px;transform:rotate(-90deg)}.fx-music-ball .fx-progress-track{stroke:var(--fx-music-slider-track)}.fx-music-ball .fx-progress-bar{stroke:url(#fx-progress-gradient);transition:stroke-dasharray .1s}.fx-music-ball .fx-orbit-ring{border:1.5px solid #0000;border-top-color:rgba(var(--fx-beam-c1), .4);border-right-color:rgba(var(--fx-beam-c2), .2);pointer-events:none;border-radius:50%;animation:3s linear infinite orbit-spin;position:absolute;inset:-4px}.dark .fx-music-ball .fx-orbit-ring{border-top-color:rgba(var(--fx-beam-c1), .6);border-right-color:rgba(var(--fx-beam-c2), .3);filter:drop-shadow(0 0 4px rgba(var(--fx-beam-c1), .3))}@keyframes orbit-spin{to{transform:rotate(360deg)}}.fx-music-ball .fx-music-ball__inner{justify-content:space-between;align-items:center;width:330px;display:flex}.fx-music-ball .fx-play-pause span,.fx-music-ball .fx-music-list-button span,.fx-music-ball .fx-icon-volume{justify-content:center;align-items:center;display:flex}.fx-music-ball .fx-play-pause span svg,.fx-music-ball .fx-music-list-button span svg,.fx-music-ball .fx-icon-volume svg{fill:var(--fx-music-text)}.fx-music-ball .fx-play-pause{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .3s;display:flex}.fx-music-ball .fx-play-pause:hover{background-color:rgba(var(--fx-beam-c1), .1)}.dark .fx-music-ball .fx-play-pause:hover{background-color:rgba(var(--fx-beam-c1), .15)}.fx-music-ball .fx-time{color:var(--fx-music-text-muted);white-space:nowrap;width:78px;padding:0 10px;font-size:12px}.fx-music-ball .fx-duration{flex:1;padding:0 10px 0 3px}.fx-music-ball .fx-music-list-button{justify-content:center;align-items:center;width:30px;margin-left:8px;display:flex}.fx-music-ball .el-slider{--el-slider-height:4px;--el-slider-main-bg-color:var(--fx-music-accent-end);--el-color-white:var(--fx-music-slider-thumb)}.fx-music-ball .el-slider .el-slider__runway{background-color:var(--fx-music-slider-track)}.fx-music-ball .el-slider .el-slider__bar{background:linear-gradient(90deg, var(--fx-music-accent-start), var(--fx-music-accent-end))}.fx-music-ball .el-slider .el-slider__button{--el-slider-button-size:12px;border-color:var(--fx-music-slider-thumb);box-shadow:0 0 6px rgba(var(--fx-beam-c2), .3);position:relative;top:-1px}.fx-music-ball .fx-volume{align-items:center;width:30px;transition:width .3s .3s;display:flex}.fx-music-ball .fx-volume .el-slider{opacity:0;transition:opacity .3s .3s}.fx-music-ball .fx-volume:hover{width:120px;transition:width .3s .3s}.fx-music-ball .fx-volume:hover .el-slider{opacity:1;transition:opacity .3s}.fx-music-ball .fx-icon-volume{cursor:pointer;margin-left:5px}.fx-music-ball.is-playing .fx-progress-bar{animation:2s ease-in-out infinite progress-pulse}@keyframes progress-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(var(--fx-beam-c1), .3))}50%{filter:drop-shadow(0 0 6px rgba(var(--fx-beam-c2), .6))}}.fx-music-ball.is-playing:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgba(var(--fx-beam-c1), .08) 0%, transparent 40%, rgba(var(--fx-beam-c2), .08) 60%, transparent 100%);pointer-events:none;background-size:200% 200%;animation:4s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:200% 0}50%{background-position:0 200%}to{background-position:200% 0}}.dark .fx-music-ball.is-playing{box-shadow:0 4px 20px #0000004d, 0 0 12px rgba(var(--fx-beam-c1), .15), 0 0 24px rgba(var(--fx-beam-c2), .08)}.fx-music-ball .fx-music-list{box-sizing:border-box;z-index:-9;background:var(--music-list-bgcolor);-webkit-backdrop-filter:blur(20px);border:1px solid var(--music-list-bdcolor);width:100%;box-shadow:var(--fx-music-shadow);opacity:0;pointer-events:none;border-radius:24px;padding:15px 5px 50px;transition:opacity .3s,transform .3s;position:absolute;bottom:0;left:0;transform:translateY(10px)}.fx-music-ball.active .fx-music-list{opacity:1;pointer-events:auto;transform:translateY(0)}.fx-music-ball .fx-music-list .fx-music-list-sep{border-bottom:1px solid var(--music-list-sep-color);margin:5px 0}.fx-music-ball .fx-music-list .fx-music-list-item{text-wrap:nowrap;text-overflow:ellipsis;color:var(--fx-music-text-muted);padding-left:20px;padding-right:20px;font-size:12px;line-height:24px;transition:color .2s;position:relative;overflow:hidden}.fx-music-ball .fx-music-list .fx-music-list-item:hover{color:var(--fx-music-accent-end)}.fx-music-ball .fx-music-list .fx-music-list-item .image-live{width:12px;height:12px;position:absolute;bottom:6px;left:3px}.fx-music-ball .fx-music-list .fx-music-list-item .image-live svg{width:100%;height:100%}.fx-music-ball .fx-music-list .fx-music-list-item .image-live .bar{fill:currentColor;transform-box:fill-box;transform-origin:bottom}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-1{animation:.8s ease-in-out infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-2{animation:.8s ease-in-out .2s infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-3{animation:.8s ease-in-out .4s infinite fx-eq-bar}.fx-music-ball .fx-music-list .fx-music-list-item .image-live.playing .bar-4{animation:.8s ease-in-out .1s infinite fx-eq-bar}@keyframes fx-eq-bar{0%,to{transform:scaleY(1)}50%{transform:scaleY(.3)}}.fx-music-ball .fx-music-list .fx-music-list-item.active{color:var(--fx-music-accent-start)}.fx-music-ball .fx-music-list .fx-music-list-item.active:hover{color:var(--fx-music-accent-end)}@media (prefers-reduced-motion:reduce){.fx-music-ball *,.fx-music-ball :before,.fx-music-ball :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fuxishi/vitepress-theme",
3
3
  "displayName": "@fuxishi/vitepress-theme",
4
4
  "private": false,
5
- "version": "2.0.0-alpha.01",
5
+ "version": "2.0.0-alpha.3",
6
6
  "license": "MIT",
7
7
  "description": "一款精美的 VitePress 主题",
8
8
  "keywords": [
@@ -44,7 +44,6 @@
44
44
  "ncu": "ncu -u && npm install",
45
45
  "login": "npm login --registry=https://registry.npmjs.org/",
46
46
  "pub": "npm publish --access public --registry=https://registry.npmjs.org/",
47
- "pub-alpha": "npm publish --access public --tag alpha --registry=https://registry.npmjs.org/",
48
47
  "deprecate": "node -e \"const v=process.argv[1],m=process.argv[2]||'';require('child_process').execSync('npm deprecate @fuxishi/vitepress-theme@'+v+' \\\"'+m+'\\\" --registry=https://registry.npmjs.org/',{stdio:'inherit'})\""
49
48
  },
50
49
  "dependencies": {
@@ -58,10 +57,10 @@
58
57
  "@vitejs/plugin-vue": "^6.0.6",
59
58
  "typescript": "^6.0.3",
60
59
  "vite": "^8.0.10",
61
- "vitepress": "^1.6.4",
60
+ "vitepress": "^2.0.0-alpha.17",
62
61
  "vue": "^3.5.33"
63
62
  },
64
63
  "peerDependencies": {
65
- "vitepress": "^1.6.4"
64
+ "vitepress": ">=2.0.0-alpha.17"
66
65
  }
67
66
  }