@feedmepos/mf-report 5.32.2-beta.0 → 5.32.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/{App-BP79-pGe.js → App-BNQfnOS8.js} +4 -4
  2. package/dist/{DateRangeSelect-BQeTCYj3.js → DateRangeSelect-BS73I-EY.js} +1 -1
  3. package/dist/{Default.vue_vue_type_script_setup_true_lang-BOeoaMo1.js → Default.vue_vue_type_script_setup_true_lang-D0mOTzcw.js} +1 -1
  4. package/dist/DigestListView-C8FI4P9l.js +876 -0
  5. package/dist/DigestReaderView-uYimDn1a.js +526 -0
  6. package/dist/{DynamicWidget.vue_vue_type_script_setup_true_lang-D8QF3uYf.js → DynamicWidget.vue_vue_type_script_setup_true_lang-g0wq9TN7.js} +6 -6
  7. package/dist/{GlobalFilterSelect.vue_vue_type_script_setup_true_lang-qJU3Lajn.js → GlobalFilterSelect.vue_vue_type_script_setup_true_lang-C6Kk1Oc6.js} +4 -4
  8. package/dist/{InsightView-BdFa7Puu.js → InsightView-CYY3JR4R.js} +5 -5
  9. package/dist/{Integration-BYVJWVVm.js → Integration-CV75SnmP.js} +179 -179
  10. package/dist/{Integrations-C2C3ZTZE.js → Integrations-CtE730pa.js} +2 -2
  11. package/dist/{Layout-DA6Ea_fd.js → Layout-DjQ9AR4L.js} +1 -1
  12. package/dist/{LocationSelect.vue_vue_type_script_setup_true_lang-BWIv2bXa.js → LocationSelect.vue_vue_type_script_setup_true_lang-CLZJZtaS.js} +2 -2
  13. package/dist/{MenuTab.vue_vue_type_script_setup_true_lang-qZ20899_.js → MenuTab.vue_vue_type_script_setup_true_lang-BkCwTEZ8.js} +5 -5
  14. package/dist/{NavigationTab.vue_vue_type_script_setup_true_lang-gUs7SED3.js → NavigationTab.vue_vue_type_script_setup_true_lang-BnbjdkWg.js} +5 -5
  15. package/dist/{OverviewView-DxEdvcVU.js → OverviewView-DrLXEnyQ.js} +5 -5
  16. package/dist/{Report-Cwt1I1WF.js → Report-BFeedwld.js} +3 -3
  17. package/dist/ReportCanvasView-uSPSmxoS.js +1035 -0
  18. package/dist/{ReportEditor-DHEZfsbo.js → ReportEditor-DdmeWp-N.js} +7 -7
  19. package/dist/{ReportView-BJsozRvM.js → ReportView-DP-3aapL.js} +6 -6
  20. package/dist/{ReportViewRoute-D8SmSqK6.js → ReportViewRoute-Djtc4rpu.js} +2 -2
  21. package/dist/{Setting-Cz23FN6Y.js → Setting-Co0Fv5PF.js} +3 -3
  22. package/dist/{Template-FymPP-MH.js → Template-Dmfdlx_-.js} +3 -3
  23. package/dist/{TileEditor-B6qWtJyl.js → TileEditor-lbcwAmG7.js} +6 -6
  24. package/dist/{TilePageStack.vue_vue_type_script_setup_true_lang-DrWGT9_C.js → TilePageStack.vue_vue_type_script_setup_true_lang-Bewf5Mwf.js} +2 -2
  25. package/dist/{TransitionFade-D7B83Dif.js → TransitionFade-BvzD7CKL.js} +5 -5
  26. package/dist/{app-D_dN5Wt5.js → app-Bvy-gTq7.js} +14 -14
  27. package/dist/app.js +1 -1
  28. package/dist/{currency-DqVpMeDl.js → currency-CAUD27u3.js} +1 -1
  29. package/dist/{index-C4HXhNGH.js → index-D9j1ly8Z.js} +1 -1
  30. package/dist/{report-BU89xSvp.js → report-B4jAut5H.js} +1 -1
  31. package/dist/report-canvas-libs/components-1.js +57 -15
  32. package/dist/report-canvas-libs-CNx4fuqd.js +40 -0
  33. package/dist/style.css +1 -1
  34. package/dist/{useDigestFont-BEucXChN.js → useDigestFont-6hcS7_aG.js} +1 -1
  35. package/dist/{useReportCanvasPanel-DS-t5Qo6.js → useReportCanvasPanel-C2iiBQZf.js} +356 -393
  36. package/dist/{useRestaurantPermission-DCN49TLJ.js → useRestaurantPermission-D6WmoPR2.js} +1 -1
  37. package/package.json +1 -1
  38. package/dist/DigestListView-BzBiyKDg.js +0 -637
  39. package/dist/DigestReaderView-D7XQFPuA.js +0 -507
  40. package/dist/ReportCanvasView-wHRaYc3f.js +0 -966
@@ -1,22 +1,23 @@
1
- import { ref as T, shallowRef as qt, getCurrentScope as Et, onScopeDispose as Tt, watch as se, onMounted as Le, onBeforeUnmount as Pe, defineComponent as $e, computed as B, resolveComponent as Oe, createElementBlock as m, createCommentVNode as P, openBlock as c, createElementVNode as C, Fragment as fe, renderList as me, createVNode as ee, toDisplayString as w, unref as b, createTextVNode as Ce, createBlock as ve, nextTick as ke, normalizeClass as tt, h as ce, mergeModels as ot, useModel as it, withCtx as Ue, mergeProps as st } from "vue";
1
+ import { ref as T, shallowRef as Dt, getCurrentScope as Ct, onScopeDispose as Et, watch as se, onMounted as Le, onBeforeUnmount as Pe, defineComponent as $e, computed as B, resolveComponent as Oe, createElementBlock as m, createCommentVNode as P, openBlock as c, createElementVNode as C, Fragment as fe, renderList as me, createVNode as ee, toDisplayString as w, unref as b, createTextVNode as Ce, createBlock as ve, nextTick as ke, normalizeClass as et, h as ce, mergeModels as at, useModel as ot, withCtx as Ue, mergeProps as it } from "vue";
2
2
  import { storeToRefs as ze } from "pinia";
3
- import { detectLocale as Vt } from "@feedmepos/mf-common";
4
- import { v as oe, F as ie, u as De, a as Ft, a4 as Ut, a5 as Ht, a6 as Wt, a7 as Gt, A as Yt, a8 as Xt, a9 as Kt, aa as Jt, ab as Qt, ac as Zt, ad as en } from "./app-D_dN5Wt5.js";
5
- import { c as tn } from "./currency-DqVpMeDl.js";
6
- import { u as Be, _ as Ot } from "./_plugin-vue_export-helper-C6QDExPN.js";
7
- import { v as lt } from "./report-BU89xSvp.js";
3
+ import { detectLocale as Bt } from "@feedmepos/mf-common";
4
+ import { v as oe, F as ie, u as De, a as qt, a4 as Vt, a5 as Ft, a6 as Ut, a7 as Ht, A as Wt, a8 as Gt, a9 as Yt, aa as Xt, ab as Kt, ac as Jt, ad as Qt } from "./app-Bvy-gTq7.js";
5
+ import { c as Zt } from "./currency-CAUD27u3.js";
6
+ import { l as st } from "./report-canvas-libs-CNx4fuqd.js";
7
+ import { u as Be, _ as Tt } from "./_plugin-vue_export-helper-C6QDExPN.js";
8
+ import { v as lt } from "./report-B4jAut5H.js";
8
9
  function ye(t) {
9
10
  const { businessId: e } = ze(De());
10
11
  if (!e.value) throw new Error("Business Id is not defined");
11
12
  return `/${e.value}/report-canvas/${t}`;
12
13
  }
13
- const to = (t) => {
14
+ const Ja = (t) => {
14
15
  const e = {
15
16
  fetchType: ie.Get,
16
17
  url: ye(t)
17
18
  };
18
19
  return oe.fetch(e);
19
- }, nn = (t, e, n, o, a, i) => {
20
+ }, en = (t, e, n, o, a, i) => {
20
21
  const v = {
21
22
  fetchType: ie.Post,
22
23
  url: `${ye(t)}/query/${e}`,
@@ -25,43 +26,43 @@ const to = (t) => {
25
26
  requestConfig: { signal: i }
26
27
  };
27
28
  return oe.fetch(v);
28
- }, no = (t, e, n, o) => {
29
+ }, Qa = (t, e, n, o) => {
29
30
  const a = {
30
31
  fetchType: ie.Post,
31
32
  url: `${ye(t)}/section/${e}/ack`,
32
33
  data: { ...n, state: o }
33
34
  };
34
35
  return oe.fetch(a);
35
- }, ro = (t) => oe.fetch({
36
+ }, Za = (t) => oe.fetch({
36
37
  fetchType: ie.Post,
37
38
  url: `${ye(t)}/publish`,
38
39
  data: {}
39
- }), ao = (t) => oe.fetch({
40
+ }), eo = (t) => oe.fetch({
40
41
  fetchType: ie.Delete,
41
42
  url: `${ye(t)}/draft`
42
- }), oo = (t, e) => oe.fetch({
43
+ }), to = (t, e) => oe.fetch({
43
44
  fetchType: ie.Post,
44
45
  url: `${ye(t)}/draft/undo`,
45
46
  data: { turnId: e }
46
- }), io = (t) => oe.fetch({
47
+ }), no = (t) => oe.fetch({
47
48
  fetchType: ie.Get,
48
49
  url: `${ye(t)}/versions`
49
- }), so = (t, e) => oe.fetch({
50
+ }), ro = (t, e) => oe.fetch({
50
51
  fetchType: ie.Post,
51
52
  url: `${ye(t)}/restore`,
52
53
  data: { versionId: e }
53
- }), rn = ["@from", "@to", "@locationIds", "@timezone"], He = ["@from", "@to", "@locationIds"], an = ["@timezone"], on = ["@locationIds"], sn = 1, ln = 1500;
54
- function fn(t) {
55
- if (!(!(t instanceof Yt) || t.status !== 429))
56
- return Math.min(Math.max(t.retryAfterMs ?? ln, 500), 5e3);
54
+ }), tn = ["@from", "@to", "@locationIds", "@timezone"], He = ["@from", "@to", "@locationIds"], nn = ["@timezone"], rn = ["@locationIds"], an = 1, on = 1500;
55
+ function sn(t) {
56
+ if (!(!(t instanceof Wt) || t.status !== 429))
57
+ return Math.min(Math.max(t.retryAfterMs ?? on, 500), 5e3);
57
58
  }
58
59
  const ft = {
59
- "en-US": Gt,
60
- "th-TH": Wt,
61
- "zh-CN": Ht,
62
- "zh-Hant": Ut
60
+ "en-US": Ht,
61
+ "th-TH": Ut,
62
+ "zh-CN": Ft,
63
+ "zh-Hant": Vt
63
64
  };
64
- function dn(t) {
65
+ function ln(t) {
65
66
  var a, i;
66
67
  const e = ft[t] ?? ft["en-US"], n = {}, o = (v, k) => {
67
68
  for (const [_, u] of Object.entries(v ?? {}))
@@ -72,11 +73,11 @@ function dn(t) {
72
73
  function dt(t) {
73
74
  return t == null ? !0 : Array.isArray(t) ? t.length === 0 : t === "";
74
75
  }
75
- function lo(t, e = {}) {
76
- const n = e.frozen, o = Ft(), { dateRange: a, selectedLocationIds: i, locations: v, timezone: k } = ze(o), { country: _ } = ze(De()), u = T({}), D = T([]), R = T({}), A = qt({}), M = T(), O = T([]), E = [], j = [], N = { ids: "[]", date: "" };
76
+ function ao(t, e = {}) {
77
+ const n = e.frozen, o = qt(), { dateRange: a, selectedLocationIds: i, locations: v, timezone: k } = ze(o), { country: _ } = ze(De()), u = T({}), D = T([]), R = T({}), A = Dt({}), M = T(), O = T([]), E = [], j = [], N = { ids: "[]", date: "" };
77
78
  let L = !1;
78
79
  const V = {}, Y = {};
79
- Et() && Tt(() => Object.values(Y).forEach((h) => h.abort()));
80
+ Ct() && Et(() => Object.values(Y).forEach((h) => h.abort()));
80
81
  const X = {};
81
82
  function Z(h) {
82
83
  E.push(h);
@@ -136,7 +137,7 @@ function lo(t, e = {}) {
136
137
  return { values: u.value, decls: D.value, intent: R.value };
137
138
  }
138
139
  function ue() {
139
- const h = Vt() || "en-US";
140
+ const h = Bt() || "en-US";
140
141
  return {
141
142
  locations: v.value.map((I) => ({
142
143
  id: I.id,
@@ -145,8 +146,8 @@ function lo(t, e = {}) {
145
146
  })),
146
147
  timezone: n && typeof u.value["@timezone"] == "string" ? u.value["@timezone"] : k.value,
147
148
  locale: h,
148
- currency: tn(_.value),
149
- strings: dn(h)
149
+ currency: Zt(_.value),
150
+ strings: ln(h)
150
151
  };
151
152
  }
152
153
  function we(h, I) {
@@ -182,7 +183,7 @@ function lo(t, e = {}) {
182
183
  });
183
184
  for (let r = 0; ; r++)
184
185
  try {
185
- const p = await nn(
186
+ const p = await en(
186
187
  t,
187
188
  h.id,
188
189
  I,
@@ -202,8 +203,8 @@ function lo(t, e = {}) {
202
203
  return;
203
204
  } catch (p) {
204
205
  if (F.signal.aborted || V[h.id] !== z) return;
205
- const G = fn(p);
206
- if (G !== void 0 && r < sn) {
206
+ const G = sn(p);
207
+ if (G !== void 0 && r < an) {
207
208
  if (await new Promise((W) => setTimeout(W, G)), V[h.id] !== z) return;
208
209
  continue;
209
210
  }
@@ -251,8 +252,8 @@ function lo(t, e = {}) {
251
252
  const z = { ...u.value }, F = { ...R.value };
252
253
  let J = !1;
253
254
  for (const [H, r] of Object.entries(h)) {
254
- if (!(H in z) || an.includes(H)) continue;
255
- const p = on.includes(H) ? I == null ? void 0 : I[H] : void 0;
255
+ if (!(H in z) || nn.includes(H)) continue;
256
+ const p = rn.includes(H) ? I == null ? void 0 : I[H] : void 0;
256
257
  F[H] !== p && (p ? F[H] = p : delete F[H], J = !0), JSON.stringify(z[H] ?? null) !== JSON.stringify(r ?? null) && (z[H] = r, J = !0);
257
258
  }
258
259
  return J ? (u.value = z, R.value = F, Object.keys(h).some((H) => He.includes(H)) && re(), he(), j.forEach((H) => H()), !0) : !1;
@@ -296,84 +297,46 @@ function lo(t, e = {}) {
296
297
  setParams: de,
297
298
  onResult: Z,
298
299
  onParamsChanged: l,
299
- RESERVED: rn
300
+ RESERVED: tn
300
301
  };
301
302
  }
302
- const cn = `:root{--fm-palette-brand-fm-100:#fff3e6;--fm-palette-brand-fm-200:#ff9455;--fm-palette-brand-fm-300:#ff7823;--fm-palette-brand-fm-400:#b25300;--fm-palette-brand-fm-500:#6b3100;--fm-palette-aqua-100:#b7e2ff;--fm-palette-aqua-300:#3ab0ff;--fm-palette-aqua-500:#0a5384;--fm-palette-berry-100:#fee4dc;--fm-palette-berry-300:#e94850;--fm-palette-berry-500:#5f090a;--fm-palette-blossom-100:#fff7fc;--fm-palette-blossom-300:#ffc4c3;--fm-palette-blossom-500:#8c146a;--fm-palette-lime-100:#f4fde6;--fm-palette-lime-300:#aeef4b;--fm-palette-lime-500:#306a01;--fm-palette-mustard-100:#fef5ea;--fm-palette-mustard-300:#ffc746;--fm-palette-mustard-500:#903e1f;--fm-palette-stone-100:#f6f8fc;--fm-palette-stone-300:#b2b3b6;--fm-palette-stone-500:#2e2e2e;--fm-palette-grape-100:#eddfff;--fm-palette-grape-300:#8f61e8;--fm-palette-grape-500:#512191;--fm-palette-neurastone-0:#fff;--fm-palette-neurastone-100:#f6f6f8;--fm-palette-neurastone-200:#f0f0f0;--fm-palette-neurastone-300:#b2b3b6;--fm-palette-neurastone-400:#6b6c70;--fm-palette-neurastone-500:#4b4b4b;--fm-palette-neurastone-600:#2e2e2e;--fm-palette-neurastone-700:#262628;--fm-palette-neurastone-800:#1c1c1e;--fm-palette-neurastone-900:#121212;--fm-palette-blue-100:#e6f2ff;--fm-palette-blue-200:#66afff;--fm-palette-blue-300:#007aff;--fm-palette-blue-400:#004999;--fm-palette-blue-500:#002c5c;--fm-palette-orange-100:#fff4e6;--fm-palette-orange-200:#ffbf66;--fm-palette-orange-300:#ff9500;--fm-palette-orange-400:#995900;--fm-palette-orange-500:#5c3500;--fm-palette-green-100:#ebf9ee;--fm-palette-green-200:#85dd9b;--fm-palette-green-300:#34c759;--fm-palette-green-400:#1f7735;--fm-palette-green-500:#134720;--fm-palette-red-100:#ffebea;--fm-palette-red-200:#ff8983;--fm-palette-red-300:#ff3b30;--fm-palette-red-400:#99231d;--fm-palette-red-500:#5c1511;--fm-palette-overlay-black-alpha-4:#1212120a;--fm-palette-overlay-black-alpha-8:#12121214;--fm-palette-overlay-black-alpha-12:#1212121f;--fm-palette-overlay-black-alpha-16:#12121229;--fm-palette-overlay-black-alpha-24:#1212123d;--fm-palette-overlay-black-alpha-32:#12121252;--fm-palette-overlay-black-alpha-48:#1212127a;--fm-palette-overlay-black-alpha-64:#121212a3;--fm-palette-overlay-black-alpha-72:#121212b8;--fm-palette-overlay-black-alpha-80:#121212cc;--fm-palette-overlay-white-alpha-4:#ffffff0a;--fm-palette-overlay-white-alpha-8:#ffffff14;--fm-palette-overlay-white-alpha-12:#ffffff1f;--fm-palette-overlay-white-alpha-16:#ffffff29;--fm-palette-overlay-white-alpha-24:#ffffff3d;--fm-palette-overlay-white-alpha-32:#ffffff52;--fm-palette-overlay-white-alpha-48:#ffffff7a;--fm-palette-overlay-white-alpha-64:#ffffffa3;--fm-palette-overlay-white-alpha-72:#ffffffb8;--fm-palette-overlay-white-alpha-80:#fffc;--fm-spacing-0:0;--fm-spacing-1:1px;--fm-spacing-2:2px;--fm-spacing-4:4px;--fm-spacing-6:6px;--fm-spacing-8:8px;--fm-spacing-10:10px;--fm-spacing-12:12px;--fm-spacing-14:14px;--fm-spacing-16:16px;--fm-spacing-18:18px;--fm-spacing-20:20px;--fm-spacing-24:24px;--fm-spacing-28:28px;--fm-spacing-32:32px;--fm-spacing-40:40px;--fm-spacing-48:48px;--fm-spacing-56:56px;--fm-spacing-64:64px;--fm-spacing-72:72px;--fm-spacing-80:80px;--fm-spacing-88:88px;--fm-spacing-96:96px;--fm-spacing-104:104px;--fm-spacing-112:112px;--fm-spacing-120:120px;--fm-spacing-128:128px;--fm-spacing-160:160px;--fm-spacing-192:192px;--fm-radius-none:0;--fm-radius-xs:4px;--fm-radius-sm:8px;--fm-radius-md:12px;--fm-radius-lg:16px;--fm-radius-xl:24px;--fm-radius-2xl:32px;--fm-radius-3xl:64px;--fm-radius-full:99999px;--fm-border-width-none:0;--fm-border-width-hairline:.5px;--fm-border-width-thin:1px;--fm-border-width-regular:1.5px;--fm-border-width-medium:2px;--fm-border-width-thick:4px;--fm-opacity-0:0;--fm-opacity-8:.08;--fm-opacity-12:.12;--fm-opacity-16:.16;--fm-opacity-24:.24;--fm-opacity-32:.32;--fm-opacity-40:.4;--fm-opacity-48:.48;--fm-opacity-56:.56;--fm-opacity-64:.64;--fm-opacity-80:.8;--fm-opacity-100:1;--fm-shadow-blur-none:0;--fm-shadow-blur-xs:2px;--fm-shadow-blur-sm:4px;--fm-shadow-blur-md:6px;--fm-shadow-blur-lg:10px;--fm-shadow-blur-xl:16px;--fm-shadow-blur-2xl:24px;--fm-blur-sm:8px;--fm-blur-md:16px;--fm-blur-lg:24px;--fm-blur-xl:40px;--fm-z-index-base:0;--fm-z-index-raised:100;--fm-z-index-dropdown:200;--fm-z-index-sticky:300;--fm-z-index-overlay:400;--fm-z-index-modal:500;--fm-z-index-toast:600;--fm-z-index-tooltip:700;--fm-duration-instant:0s;--fm-duration-fast:.1s;--fm-duration-normal:.2s;--fm-duration-slow:.3s;--fm-duration-slower:.5s;--fm-easing-standard:cubic-bezier(.4, 0, .2, 1);--fm-easing-decelerate:cubic-bezier(0, 0, .2, 1);--fm-easing-accelerate:cubic-bezier(.4, 0, 1, 1);--fm-easing-spring:cubic-bezier(.34, 1.56, .64, 1);--fm-shadow-color:#1c1c1e;--fm-breakpoint-sm:0;--fm-breakpoint-md:768px;--fm-breakpoint-lg:1024px;--fm-breakpoint-xl:1440px;--fm-breakpoint-xxl:1920px}:root,[data-fm-theme=light]{--fm-bg-canvas:#f6f6f8;--fm-bg-default:#fff;--fm-bg-subtle:#f6f6f8;--fm-bg-muted:#f0f0f0;--fm-bg-elevated:#fff;--fm-bg-inverse:#1c1c1e;--fm-bg-brand:#fff3e6;--fm-bg-success:#ebf9ee;--fm-bg-warning:#fff4e6;--fm-bg-error:#ffebea;--fm-bg-info:#e6f2ff;--fm-surface-default:#fff;--fm-surface-sunken:#f0f0f0;--fm-surface-inset:#b2b3b6;--fm-surface-raised:#fff;--fm-surface-floating:#fff;--fm-text-primary:#1c1c1e;--fm-text-secondary:#4b4b4b;--fm-text-muted:#6b6c70;--fm-text-disabled:#b2b3b6;--fm-text-inverse:#fff;--fm-text-on-inset:#fff;--fm-text-link:#007aff;--fm-text-brand:#ff7823;--fm-text-success:#1f7735;--fm-text-warning:#995900;--fm-text-error:#99231d;--fm-icon-primary:#1c1c1e;--fm-icon-secondary:#4b4b4b;--fm-icon-muted:#6b6c70;--fm-icon-disabled:#b2b3b6;--fm-icon-inverse:#fff;--fm-icon-link:#007aff;--fm-icon-brand:#ff7823;--fm-icon-success:#1f7735;--fm-icon-warning:#995900;--fm-icon-error:#99231d;--fm-icon-info:#004999;--fm-icon-on-brand:#b25300;--fm-icon-on-success:#1f7735;--fm-icon-on-warning:#995900;--fm-icon-on-error:#99231d;--fm-icon-on-info:#004999;--fm-text-info:#004999;--fm-border-default:#f0f0f0;--fm-border-subtle:#f6f6f8;--fm-border-medium:#b2b3b6;--fm-border-strong:#6b6c70;--fm-border-inverse:#fff;--fm-border-brand:#ff7823;--fm-border-success:#1f7735;--fm-border-warning:#995900;--fm-border-error:#99231d;--fm-border-info:#004999;--fm-overlay-scrim-1:#12121252;--fm-overlay-scrim-2:#1212127a;--fm-overlay-scrim-3:#121212a3;--fm-overlay-scrim-4:#121212b8;--fm-action-primary-bg:#ff7823;--fm-feature-aqua-bg:#b7e2ff;--fm-feature-aqua-accent:#3ab0ff;--fm-feature-aqua-fg:#0a5384;--fm-feature-berry-bg:#fee4dc;--fm-feature-berry-accent:#e94850;--fm-feature-berry-fg:#5f090a;--fm-feature-blossom-bg:#fff7fc;--fm-feature-blossom-accent:#ffc4c3;--fm-feature-blossom-fg:#8c146a;--fm-feature-lime-bg:#f4fde6;--fm-feature-lime-accent:#aeef4b;--fm-feature-lime-fg:#306a01;--fm-feature-mustard-bg:#fef5ea;--fm-feature-mustard-accent:#ffc746;--fm-feature-mustard-fg:#903e1f;--fm-feature-stone-bg:#f6f8fc;--fm-feature-stone-accent:#b2b3b6;--fm-feature-stone-fg:#2e2e2e;--fm-feature-grape-bg:#eddfff;--fm-feature-grape-accent:#8f61e8;--fm-feature-grape-fg:#512191;--fm-state-subtle:#1212120a;--fm-state-hover:#12121214;--fm-state-pressed:#1212121f;--fm-state-selected:#12121229;--fm-state-dragged:#1212123d;--fm-action-primary-bg-hover:#b25300;--fm-action-primary-bg-subtle:#fff3e6;--fm-action-primary-fg:#1c1c1e;--fm-action-secondary-bg:#fff;--fm-action-secondary-bg-hover:#f6f6f8;--fm-action-secondary-fg:#1c1c1e;--fm-action-ghost-bg-hover:#f6f6f8;--fm-action-ghost-bg-active:#f0f0f0;--fm-action-danger-bg:#ff3b30;--fm-action-danger-bg-hover:#99231d;--fm-action-danger-bg-subtle:#ffebea;--fm-action-danger-fg:#1c1c1e;--fm-action-disabled-bg:#f0f0f0;--fm-action-disabled-fg:#6b6c70;--fm-text-on-brand:#b25300;--fm-text-on-success:#1f7735;--fm-text-on-warning:#995900;--fm-text-on-error:#99231d;--fm-text-on-info:#004999;--fm-badge-bg-aqua:#b7e2ff;--fm-badge-text-on-aqua:#0a5384;--fm-badge-icon-on-aqua:#0a5384;--fm-badge-border-aqua:#0a5384;--fm-badge-bg-berry:#fee4dc;--fm-badge-bg-blossom:#fff7fc;--fm-badge-bg-lime:#f4fde6;--fm-badge-bg-mustard:#fef5ea;--fm-badge-bg-stone:#f6f8fc;--fm-badge-bg-grape:#eddfff;--fm-badge-border-blossom:#8c146a;--fm-badge-text-on-blossom:#8c146a;--fm-badge-icon-on-blossom:#8c146a;--fm-badge-border-berry:#5f090a;--fm-badge-text-on-berry:#5f090a;--fm-badge-icon-on-berry:#5f090a;--fm-badge-border-lime:#306a01;--fm-badge-text-on-lime:#306a01;--fm-badge-icon-on-lime:#306a01;--fm-badge-border-mustard:#903e1f;--fm-badge-text-on-mustard:#903e1f;--fm-badge-icon-on-mustard:#903e1f;--fm-badge-border-stone:#2e2e2e;--fm-badge-text-on-stone:#2e2e2e;--fm-badge-icon-on-stone:#2e2e2e;--fm-badge-border-grape:#512191;--fm-badge-text-on-grape:#512191;--fm-badge-icon-on-grape:#512191;--fm-badge-bg-brand:#fff3e6;--fm-badge-border-brand:#ff7823;--fm-badge-text-on-brand:#ff7823;--fm-badge-icon-on-brand:#ff7823}[data-fm-theme=dark]{--fm-bg-canvas:#121212;--fm-bg-default:#1c1c1e;--fm-bg-subtle:#262628;--fm-bg-muted:#2e2e2e;--fm-bg-elevated:#262628;--fm-bg-inverse:#fff;--fm-bg-brand:#b25300;--fm-bg-success:#1f7735;--fm-bg-warning:#995900;--fm-bg-error:#99231d;--fm-bg-info:#004999;--fm-surface-default:#262628;--fm-surface-sunken:#121212;--fm-surface-inset:#1c1c1e;--fm-surface-raised:#2e2e2e;--fm-surface-floating:#4b4b4b;--fm-text-primary:#fff;--fm-text-secondary:#b2b3b6;--fm-text-muted:#6b6c70;--fm-text-disabled:#4b4b4b;--fm-text-inverse:#1c1c1e;--fm-text-on-inset:#fff;--fm-text-link:#66afff;--fm-text-brand:#fff3e6;--fm-text-success:#85dd9b;--fm-text-warning:#ffbf66;--fm-text-error:#ff8983;--fm-icon-primary:#fff;--fm-icon-secondary:#b2b3b6;--fm-icon-muted:#6b6c70;--fm-icon-disabled:#4b4b4b;--fm-icon-inverse:#1c1c1e;--fm-icon-link:#66afff;--fm-icon-brand:#fff3e6;--fm-icon-success:#85dd9b;--fm-icon-warning:#ffbf66;--fm-icon-error:#ff8983;--fm-icon-info:#66afff;--fm-icon-on-brand:#fff3e6;--fm-icon-on-success:#ebf9ee;--fm-icon-on-warning:#fff4e6;--fm-icon-on-error:#ffebea;--fm-icon-on-info:#e6f2ff;--fm-text-info:#66afff;--fm-border-default:#2e2e2e;--fm-border-subtle:#262628;--fm-border-medium:#b2b3b6;--fm-border-strong:#f6f6f8;--fm-border-inverse:#1c1c1e;--fm-border-brand:#fff3e6;--fm-border-success:#85dd9b;--fm-border-warning:#ffbf66;--fm-border-error:#ff8983;--fm-border-info:#66afff;--fm-overlay-scrim-1:#1212127a;--fm-overlay-scrim-2:#121212a3;--fm-overlay-scrim-3:#121212b8;--fm-overlay-scrim-4:#121212cc;--fm-action-primary-bg:#ff7823;--fm-feature-aqua-bg:#0a5384;--fm-feature-aqua-accent:#3ab0ff;--fm-feature-aqua-fg:#b7e2ff;--fm-feature-berry-bg:#5f090a;--fm-feature-berry-accent:#e94850;--fm-feature-berry-fg:#fee4dc;--fm-feature-blossom-bg:#8c146a;--fm-feature-blossom-accent:#ffc4c3;--fm-feature-blossom-fg:#fff7fc;--fm-feature-lime-bg:#306a01;--fm-feature-lime-accent:#aeef4b;--fm-feature-lime-fg:#f4fde6;--fm-feature-mustard-bg:#903e1f;--fm-feature-mustard-accent:#ffc746;--fm-feature-mustard-fg:#fef5ea;--fm-feature-stone-bg:#2e2e2e;--fm-feature-stone-accent:#b2b3b6;--fm-feature-stone-fg:#f6f8fc;--fm-feature-grape-bg:#512191;--fm-feature-grape-accent:#8f61e8;--fm-feature-grape-fg:#eddfff;--fm-state-subtle:#ffffff0a;--fm-state-hover:#ffffff14;--fm-state-pressed:#ffffff1f;--fm-state-selected:#ffffff29;--fm-state-dragged:#ffffff3d;--fm-action-primary-bg-hover:#b25300;--fm-action-primary-bg-subtle:#6b3100;--fm-action-primary-fg:#1c1c1e;--fm-action-secondary-bg:#262628;--fm-action-secondary-bg-hover:#2e2e2e;--fm-action-secondary-fg:#fff;--fm-action-ghost-bg-hover:#262628;--fm-action-ghost-bg-active:#2e2e2e;--fm-action-danger-bg:#ff3b30;--fm-action-danger-bg-hover:#99231d;--fm-action-danger-bg-subtle:#5c1511;--fm-action-danger-fg:#1c1c1e;--fm-action-disabled-bg:#2e2e2e;--fm-action-disabled-fg:#6b6c70;--fm-text-on-brand:#fff3e6;--fm-text-on-success:#ebf9ee;--fm-text-on-warning:#fff4e6;--fm-text-on-error:#ffebea;--fm-text-on-info:#e6f2ff;--fm-badge-bg-aqua:#0a5384;--fm-badge-text-on-aqua:#b7e2ff;--fm-badge-icon-on-aqua:#b7e2ff;--fm-badge-border-aqua:#3ab0ff;--fm-badge-bg-berry:#5f090a;--fm-badge-bg-blossom:#8c146a;--fm-badge-bg-lime:#306a01;--fm-badge-bg-mustard:#903e1f;--fm-badge-bg-stone:#2e2e2e;--fm-badge-bg-grape:#512191;--fm-badge-border-blossom:#ffc4c3;--fm-badge-text-on-blossom:#fff7fc;--fm-badge-icon-on-blossom:#fff7fc;--fm-badge-border-berry:#e94850;--fm-badge-text-on-berry:#fee4dc;--fm-badge-icon-on-berry:#fee4dc;--fm-badge-border-lime:#aeef4b;--fm-badge-text-on-lime:#f4fde6;--fm-badge-icon-on-lime:#f4fde6;--fm-badge-border-mustard:#ffc746;--fm-badge-text-on-mustard:#fef5ea;--fm-badge-icon-on-mustard:#fef5ea;--fm-badge-border-stone:#b2b3b6;--fm-badge-text-on-stone:#f6f8fc;--fm-badge-icon-on-stone:#f6f8fc;--fm-badge-border-grape:#8f61e8;--fm-badge-text-on-grape:#eddfff;--fm-badge-icon-on-grape:#eddfff;--fm-badge-bg-brand:#6b3100;--fm-badge-border-brand:#ff7823;--fm-badge-text-on-brand:#fff3e6;--fm-badge-icon-on-brand:#fff3e6}:root{--fm-font-size-8:8px;--fm-font-size-10:10px;--fm-font-size-12:12px;--fm-font-size-14:14px;--fm-font-size-16:16px;--fm-font-size-18:18px;--fm-font-size-22:22px;--fm-font-size-26:26px;--fm-font-size-32:32px;--fm-font-size-36:36px;--fm-font-size-48:48px;--fm-font-size-60:60px;--fm-font-size-72:72px;--fm-font-family-heading:"Cabinet Grotesk";--fm-font-family-body:"Inter";--fm-font-weight-regular:400;--fm-font-weight-medium:500;--fm-font-weight-semi-bold:600;--fm-font-weight-extra-bold:800;--fm-font-weight-black:900;--fm-line-height-8:12px;--fm-line-height-10:14px;--fm-line-height-12:16px;--fm-line-height-14:20px;--fm-line-height-16:24px;--fm-line-height-18:26px;--fm-line-height-22:30px;--fm-line-height-26:36px;--fm-line-height-32:40px;--fm-line-height-36:44px;--fm-line-height-48:56px;--fm-line-height-60:72px;--fm-line-height-72:80px}:root:lang(zh),[lang=zh]{--fm-font-family-heading:"Noto Sans SC";--fm-font-family-body:"Noto Sans SC";--fm-font-weight-regular:400;--fm-font-weight-medium:500;--fm-font-weight-semi-bold:600;--fm-font-weight-extra-bold:800;--fm-font-weight-black:900;--fm-line-height-8:12px;--fm-line-height-10:14px;--fm-line-height-12:18px;--fm-line-height-14:20px;--fm-line-height-16:26px;--fm-line-height-18:26px;--fm-line-height-22:30px;--fm-line-height-26:36px;--fm-line-height-32:44px;--fm-line-height-36:46px;--fm-line-height-48:60px;--fm-line-height-60:76px;--fm-line-height-72:90px}:root:lang(th),[lang=th]{--fm-font-family-heading:"Noto Sans Thai";--fm-font-family-body:"Noto Sans Thai";--fm-font-weight-regular:400;--fm-font-weight-medium:500;--fm-font-weight-semi-bold:600;--fm-font-weight-extra-bold:800;--fm-font-weight-black:900;--fm-line-height-8:14px;--fm-line-height-10:16px;--fm-line-height-12:20px;--fm-line-height-14:24px;--fm-line-height-16:28px;--fm-line-height-18:28px;--fm-line-height-22:32px;--fm-line-height-26:38px;--fm-line-height-32:46px;--fm-line-height-36:50px;--fm-line-height-48:64px;--fm-line-height-60:80px;--fm-line-height-72:96px}.fm-text-display-xl{letter-spacing:.015em;font-family:Cabinet Grotesk,sans-serif;font-size:72px;font-weight:900;line-height:80px}.fm-text-display-lg{letter-spacing:.015em;font-family:Cabinet Grotesk,sans-serif;font-size:60px;font-weight:900;line-height:72px}.fm-text-display-md{letter-spacing:.015em;font-family:Cabinet Grotesk,sans-serif;font-size:48px;font-weight:900;line-height:56px}.fm-text-display-sm{letter-spacing:.015em;font-family:Cabinet Grotesk,sans-serif;font-size:36px;font-weight:900;line-height:44px}.fm-text-title-xl{letter-spacing:.01em;font-family:Cabinet Grotesk,sans-serif;font-size:32px;font-weight:800;line-height:40px}.fm-text-title-lg{letter-spacing:.01em;font-family:Cabinet Grotesk,sans-serif;font-size:26px;font-weight:800;line-height:36px}.fm-text-title-md{letter-spacing:.01em;font-family:Cabinet Grotesk,sans-serif;font-size:22px;font-weight:800;line-height:30px}.fm-text-title-sm{letter-spacing:.01em;font-family:Cabinet Grotesk,sans-serif;font-size:18px;font-weight:800;line-height:26px}.fm-text-body-lg-600{letter-spacing:.0025em;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px}.fm-text-body-md-600{letter-spacing:.01em;font-family:Inter,sans-serif;font-size:14px;font-weight:600;line-height:20px}.fm-text-body-sm-600{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:12px;font-weight:600;line-height:16px}.fm-text-body-xs-600{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:10px;font-weight:600;line-height:14px}.fm-text-body-overline-xs-600{letter-spacing:.1em;font-family:Inter,sans-serif;font-size:10px;font-weight:600;line-height:14px}.fm-text-body-overline-2xs-600{letter-spacing:.1em;font-family:Inter,sans-serif;font-size:8px;font-weight:600;line-height:12px}.fm-text-body-lg-500{letter-spacing:.0025em;font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:24px}.fm-text-body-md-500{letter-spacing:.01em;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px}.fm-text-body-sm-500{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:12px;font-weight:500;line-height:16px}.fm-text-body-xs-500{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:10px;font-weight:500;line-height:14px}.fm-text-body-lg-400{letter-spacing:.0025em;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:24px}.fm-text-body-md-400{letter-spacing:.01em;font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:20px}.fm-text-body-sm-400{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:16px}.fm-text-body-xs-400{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:10px;font-weight:400;line-height:14px}:root{--fm-shadow-light-xs:0 1px 2px 0 #1c1c1e0a;--fm-shadow-light-sm:0 2px 4px 0 #1c1c1e0f;--fm-shadow-light-md:0 4px 6px 0 #1c1c1e14;--fm-shadow-light-lg:0 6px 10px 0 #1c1c1e1a;--fm-shadow-light-xl:0 8px 16px 0 #1c1c1e1f;--fm-shadow-light-2xl:0 12px 24px 0 #1c1c1e24;--fm-shadow-light-top-sm:0 -2px 4px 0 #1c1c1e0f;--fm-shadow-light-top-md:0 -4px 6px 0 #1c1c1e14;--fm-shadow-light-side-left-md:-4px 0 6px 0 #1c1c1e14;--fm-shadow-light-side-right-md:4px 0 6px 0 #1c1c1e14;--fm-shadow-light-text-sm:0 1px 1px 0 #1c1c1e0d;--fm-shadow-light-text-md:0 1px 2px 0 #1c1c1e1a;--fm-shadow-light-text-lg:0 2px 4px 0 #1c1c1e26;--fm-shadow-light-text-xl:0 3px 6px 0 #1c1c1e33;--fm-shadow-dark-xs:0 1px 2px 0 #ffffff0a;--fm-shadow-dark-sm:0 2px 4px 0 #ffffff0f;--fm-shadow-dark-md:0 4px 6px 0 #ffffff14;--fm-shadow-dark-lg:0 6px 10px 0 #ffffff1a;--fm-shadow-dark-xl:0 8px 16px 0 #ffffff1f;--fm-shadow-dark-2xl:0 12px 24px 0 #ffffff24;--fm-shadow-dark-top-sm:0 -2px 4px 0 #ffffff0f;--fm-shadow-dark-top-md:0 -4px 6px 0 #ffffff14;--fm-shadow-dark-side-left-md:-4px 0 6px 0 #ffffff14;--fm-shadow-dark-side-right-md:4px 0 6px 0 #ffffff14;--fm-shadow-dark-text-sm:0 1px 1px 0 #ffffff0d;--fm-shadow-dark-text-md:0 1px 2px 0 #ffffff1a;--fm-shadow-dark-text-lg:0 2px 4px 0 #ffffff26;--fm-shadow-dark-text-xl:0 3px 6px 0 #fff3;--fm-outer-shadow-light-brand:0 0 0 4px #ff782352;--fm-outer-shadow-light-error:0 0 0 4px #ff3b3052;--fm-outer-shadow-dark-brand:0 0 0 4px #ff782366;--fm-outer-shadow-dark-error:0 0 0 4px #ff3b3066;--fm-inner-shadow-light-sm:inset 0 1px 2px 0 #1c1c1e0f;--fm-inner-shadow-light-md:inset 0 2px 4px 0 #1c1c1e1a;--fm-inner-shadow-light-brand:0 2px 4px 0 #1c1c1e14, inset 0 0 0 1.25px #1c1c1e1f;--fm-inner-shadow-dark-sm:inset 0 1px 2px 0 #ffffff0f;--fm-inner-shadow-dark-md:inset 0 2px 4px 0 #ffffff1a;--fm-inner-shadow-dark-brand:0 2px 4px 0 #ffffff14, inset 0 0 0 1.25px #ffffff1f;--fm-blur-sm:8px;--fm-blur-md:16px;--fm-blur-lg:24px;--fm-blur-xl:40px}:root,[data-fm-theme=light]{--fm-shadow-xs:var(--fm-shadow-light-xs);--fm-shadow-sm:var(--fm-shadow-light-sm);--fm-shadow-md:var(--fm-shadow-light-md);--fm-shadow-lg:var(--fm-shadow-light-lg);--fm-shadow-xl:var(--fm-shadow-light-xl);--fm-shadow-2xl:var(--fm-shadow-light-2xl);--fm-shadow-top-sm:var(--fm-shadow-light-top-sm);--fm-shadow-top-md:var(--fm-shadow-light-top-md);--fm-shadow-side-left-md:var(--fm-shadow-light-side-left-md);--fm-shadow-side-right-md:var(--fm-shadow-light-side-right-md);--fm-shadow-text-sm:var(--fm-shadow-light-text-sm);--fm-shadow-text-md:var(--fm-shadow-light-text-md);--fm-shadow-text-lg:var(--fm-shadow-light-text-lg);--fm-shadow-text-xl:var(--fm-shadow-light-text-xl);--fm-outer-shadow-brand:var(--fm-outer-shadow-light-brand);--fm-outer-shadow-error:var(--fm-outer-shadow-light-error);--fm-inner-shadow-sm:var(--fm-inner-shadow-light-sm);--fm-inner-shadow-md:var(--fm-inner-shadow-light-md);--fm-inner-shadow-brand:var(--fm-inner-shadow-light-brand)}[data-fm-theme=dark]{--fm-shadow-xs:var(--fm-shadow-dark-xs);--fm-shadow-sm:var(--fm-shadow-dark-sm);--fm-shadow-md:var(--fm-shadow-dark-md);--fm-shadow-lg:var(--fm-shadow-dark-lg);--fm-shadow-xl:var(--fm-shadow-dark-xl);--fm-shadow-2xl:var(--fm-shadow-dark-2xl);--fm-shadow-top-sm:var(--fm-shadow-dark-top-sm);--fm-shadow-top-md:var(--fm-shadow-dark-top-md);--fm-shadow-side-left-md:var(--fm-shadow-dark-side-left-md);--fm-shadow-side-right-md:var(--fm-shadow-dark-side-right-md);--fm-shadow-text-sm:var(--fm-shadow-dark-text-sm);--fm-shadow-text-md:var(--fm-shadow-dark-text-md);--fm-shadow-text-lg:var(--fm-shadow-dark-text-lg);--fm-shadow-text-xl:var(--fm-shadow-dark-text-xl);--fm-outer-shadow-brand:var(--fm-outer-shadow-dark-brand);--fm-outer-shadow-error:var(--fm-outer-shadow-dark-error);--fm-inner-shadow-sm:var(--fm-inner-shadow-dark-sm);--fm-inner-shadow-md:var(--fm-inner-shadow-dark-md);--fm-inner-shadow-brand:var(--fm-inner-shadow-dark-brand)}[data-fm-theme]{color:var(--fm-text-primary)}.fm-icon{width:var(--fm-icon-size,24px);height:var(--fm-icon-size,24px);font-size:var(--fm-icon-size,24px);vertical-align:middle;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.fm-icon__svg{fill:none;width:100%;height:100%;display:block}.fm-icon--rounded,.fm-icon--outlined{text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:antialiased;text-rendering:optimizelegibility;direction:ltr;font-style:normal;font-weight:400}.fm-icon--rounded{font-family:Material Symbols Filled}.fm-icon--outlined{font-family:Material Symbols Outlined}.fm-alert{--fm-alert-surface:var(--fm-bg-inverse);--fm-alert-fg:var(--fm-text-inverse);--fm-alert-icon:var(--fm-icon-inverse);--fm-alert-progress:var(--fm-bg-default);--fm-alert-pad-x:var(--fm-spacing-16);--fm-alert-pad-y:var(--fm-spacing-12);box-sizing:border-box;border-radius:var(--fm-radius-lg);background-color:var(--fm-alert-surface);color:var(--fm-alert-fg);box-shadow:var(--fm-shadow-sm);flex-direction:column;display:flex;overflow:hidden}@media (width>=768px){.fm-alert{--fm-alert-pad-x:var(--fm-spacing-24);--fm-alert-pad-y:var(--fm-spacing-16)}}.fm-alert__body{align-items:center;gap:var(--fm-spacing-12);padding:var(--fm-alert-pad-y) var(--fm-alert-pad-x);display:flex}.fm-alert__icon{--fm-icon-size:32px;width:32px;height:32px;color:var(--fm-alert-icon);flex:none;justify-content:center;align-items:center;display:inline-flex}.fm-alert__danger-mark{width:var(--fm-spacing-24);height:var(--fm-spacing-24);border-radius:var(--fm-radius-full);background-color:var(--fm-alert-icon);justify-content:center;align-items:center;display:inline-flex}.fm-alert__danger-bar{width:var(--fm-spacing-12);height:var(--fm-border-width-medium);border-radius:var(--fm-radius-full);background-color:var(--fm-icon-inverse)}.fm-alert__text{flex-direction:column;flex:auto;min-width:0;display:flex}.fm-alert__close{--fm-icon-size:var(--fm-spacing-20);width:var(--fm-spacing-40);height:var(--fm-spacing-40);border-radius:var(--fm-radius-sm);color:var(--fm-alert-fg);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fm-alert__progress{border-radius:var(--fm-radius-full);background-color:var(--fm-alert-progress);height:2px}.fm-alert__progress--animated{transform-origin:0;animation:fm-alert-drain var(--fm-alert-duration,3s) linear forwards}@keyframes fm-alert-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.fm-alert--info{--fm-alert-surface:var(--fm-bg-info);--fm-alert-fg:var(--fm-text-on-info);--fm-alert-icon:var(--fm-icon-on-info);--fm-alert-progress:var(--fm-icon-on-info)}.fm-alert--success{--fm-alert-surface:var(--fm-bg-success);--fm-alert-fg:var(--fm-text-on-success);--fm-alert-icon:var(--fm-icon-on-success);--fm-alert-progress:var(--fm-icon-on-success)}.fm-alert--warning{--fm-alert-surface:var(--fm-bg-warning);--fm-alert-fg:var(--fm-text-on-warning);--fm-alert-icon:var(--fm-icon-on-warning);--fm-alert-progress:var(--fm-icon-on-warning)}.fm-alert--danger{--fm-alert-surface:var(--fm-bg-error);--fm-alert-fg:var(--fm-text-on-error);--fm-alert-icon:var(--fm-icon-on-error);--fm-alert-progress:var(--fm-icon-on-error)}.fm-badge{--fm-badge-gap:var(--fm-spacing-2);justify-content:center;align-items:center;gap:var(--fm-badge-gap);box-sizing:border-box;border-radius:var(--fm-radius-xs);background-color:var(--fm-badge-surface);color:var(--fm-badge-fg);padding:var(--fm-badge-pad-y) var(--fm-badge-pad-x);-webkit-user-select:none;user-select:none;display:inline-flex}.fm-badge__label{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;overflow:hidden}.fm-badge__icon{color:var(--fm-badge-icon,var(--fm-badge-fg));flex:none;display:inline-flex}.fm-badge--sm{--fm-badge-pad-x:var(--fm-spacing-4);--fm-badge-pad-y:var(--fm-spacing-2);--fm-badge-count-size:16px}.fm-badge--md{--fm-badge-pad-x:var(--fm-spacing-6);--fm-badge-pad-y:var(--fm-spacing-4);--fm-badge-count-size:24px}.fm-badge--lg{--fm-badge-pad-x:var(--fm-spacing-8);--fm-badge-pad-y:var(--fm-spacing-4);--fm-badge-count-size:32px}.fm-badge--filled{--fm-badge-surface:var(--fm-badge-bg)}.fm-badge--outlined{--fm-badge-surface:transparent;box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-badge-border)}.fm-badge--count{--fm-badge-surface:var(--fm-action-primary-bg-subtle);--fm-badge-fg:var(--fm-text-brand);width:var(--fm-badge-count-size);height:var(--fm-badge-count-size);border-radius:calc(var(--fm-badge-count-size) / 2);padding:0}.fm-badge__count{line-height:1}.fm-badge--count-overflow{width:auto;min-width:var(--fm-badge-count-size);padding:0 calc(var(--fm-badge-count-size) * .375)}.fm-badge--brand{--fm-badge-bg:var(--fm-badge-bg-brand);--fm-badge-fg:var(--fm-badge-text-on-brand);--fm-badge-icon:var(--fm-badge-icon-on-brand);--fm-badge-border:var(--fm-badge-border-brand)}.fm-badge--info{--fm-badge-bg:var(--fm-bg-info);--fm-badge-fg:var(--fm-text-on-info);--fm-badge-icon:var(--fm-text-on-info);--fm-badge-border:var(--fm-border-info)}.fm-badge--success{--fm-badge-bg:var(--fm-bg-success);--fm-badge-fg:var(--fm-text-on-success);--fm-badge-icon:var(--fm-text-on-success);--fm-badge-border:var(--fm-border-success)}.fm-badge--warning{--fm-badge-bg:var(--fm-bg-warning);--fm-badge-fg:var(--fm-text-on-warning);--fm-badge-icon:var(--fm-text-on-warning);--fm-badge-border:var(--fm-border-warning)}.fm-badge--error{--fm-badge-bg:var(--fm-bg-error);--fm-badge-fg:var(--fm-text-on-error);--fm-badge-icon:var(--fm-text-on-error);--fm-badge-border:var(--fm-border-error)}.fm-badge--aqua{--fm-badge-bg:var(--fm-badge-bg-aqua);--fm-badge-fg:var(--fm-badge-text-on-aqua);--fm-badge-icon:var(--fm-badge-icon-on-aqua);--fm-badge-border:var(--fm-badge-border-aqua)}.fm-badge--berry{--fm-badge-bg:var(--fm-badge-bg-berry);--fm-badge-fg:var(--fm-badge-text-on-berry);--fm-badge-icon:var(--fm-badge-icon-on-berry);--fm-badge-border:var(--fm-badge-border-berry)}.fm-badge--blossom{--fm-badge-bg:var(--fm-badge-bg-blossom);--fm-badge-fg:var(--fm-badge-text-on-blossom);--fm-badge-icon:var(--fm-badge-icon-on-blossom);--fm-badge-border:var(--fm-badge-border-blossom)}.fm-badge--lime{--fm-badge-bg:var(--fm-badge-bg-lime);--fm-badge-fg:var(--fm-badge-text-on-lime);--fm-badge-icon:var(--fm-badge-icon-on-lime);--fm-badge-border:var(--fm-badge-border-lime)}.fm-badge--mustard{--fm-badge-bg:var(--fm-badge-bg-mustard);--fm-badge-fg:var(--fm-badge-text-on-mustard);--fm-badge-icon:var(--fm-badge-icon-on-mustard);--fm-badge-border:var(--fm-badge-border-mustard)}.fm-badge--stone{--fm-badge-bg:var(--fm-badge-bg-stone);--fm-badge-fg:var(--fm-badge-text-on-stone);--fm-badge-icon:var(--fm-badge-icon-on-stone);--fm-badge-border:var(--fm-badge-border-stone)}.fm-badge--grape{--fm-badge-bg:var(--fm-badge-bg-grape);--fm-badge-fg:var(--fm-badge-text-on-grape);--fm-badge-icon:var(--fm-badge-icon-on-grape);--fm-badge-border:var(--fm-badge-border-grape)}.fm-badge-anchor{align-items:center;gap:var(--fm-spacing-8);-webkit-user-select:none;user-select:none;display:inline-flex;position:relative}.fm-badge--overlay{--fm-badge-surface:var(--fm-text-primary);--fm-badge-fg:var(--fm-text-inverse);border-radius:var(--fm-radius-full);padding:0}.fm-badge--overlay-pinned{position:absolute;top:-2px;right:-4px}.fm-badge--overlay:not(.fm-badge--dot){min-width:16px;height:16px;padding:0 var(--fm-spacing-4)}.fm-badge--dot{width:6px;min-width:0;height:6px;padding:0}.fm-badge--overlay-pinned.fm-badge--dot{top:0;right:0}.fm-badge--v1-info{--fm-badge-surface:var(--fm-feature-aqua-accent);--fm-badge-fg:var(--fm-text-inverse)}.fm-badge--v1-success{--fm-badge-surface:var(--fm-feature-lime-accent);--fm-badge-fg:var(--fm-text-inverse)}.fm-badge--v1-warning{--fm-badge-surface:var(--fm-feature-mustard-accent);--fm-badge-fg:var(--fm-text-primary)}.fm-badge--v1-critical{--fm-badge-surface:var(--fm-feature-berry-accent);--fm-badge-fg:var(--fm-text-inverse)}.fm-badge--v1-neutral{--fm-badge-surface:var(--fm-text-primary);--fm-badge-fg:var(--fm-text-inverse)}.fm-badge--v1-numeric{--fm-badge-surface:var(--fm-text-error);--fm-badge-fg:var(--fm-text-inverse)}.fm-button{--fm-button-height:44px;--fm-button-padding-x:var(--fm-spacing-16);--fm-button-gap:var(--fm-spacing-8);--fm-button-icon-size:var(--fm-spacing-20);--fm-button-radius:var(--fm-radius-sm);--fm-button-border-width:var(--fm-border-width-none);--fm-button-border-color:transparent;--fm-button-bg:transparent;--fm-button-bg-hover:var(--fm-button-bg);--fm-button-bg-active:var(--fm-button-bg-hover);--fm-button-fg:var(--fm-text-primary);--fm-button-effects:0 0 #0000;--fm-button-effects-pressed:var(--fm-button-effects);--fm-button-glow:0 0 #0000;--fm-button-focus-ring:0 0 #0000;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--fm-button-gap);height:var(--fm-button-height);padding:0 var(--fm-button-padding-x);border:var(--fm-button-border-width) solid var(--fm-button-border-color);border-radius:var(--fm-button-radius);background-color:var(--fm-button-bg);color:var(--fm-button-fg);box-shadow:var(--fm-button-focus-ring), var(--fm-button-effects);font-family:var(--fm-font-family-body), sans-serif;font-size:var(--fm-font-size-14);font-weight:var(--fm-font-weight-semi-bold);line-height:var(--fm-line-height-14);letter-spacing:.01em;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;appearance:none;-webkit-tap-highlight-color:transparent;background-image:none;text-decoration:none;display:inline-flex}.fm-button:focus{outline:none}.fm-button--xs{--fm-button-height:32px}.fm-button--sm{--fm-button-height:40px}.fm-button--md{--fm-button-height:44px}.fm-button--lg{--fm-button-height:52px}@media (width>=768px){.fm-button--xs{--fm-button-height:28px}.fm-button--sm{--fm-button-height:36px}.fm-button--md{--fm-button-height:40px}.fm-button--lg{--fm-button-height:48px}.fm-button:not(.fm-button--xs){font-size:var(--fm-font-size-16);line-height:var(--fm-line-height-16);letter-spacing:.0025em}}@media (width>=1024px){.fm-button--xs{--fm-button-height:24px}.fm-button--sm{--fm-button-height:32px}.fm-button--md{--fm-button-height:36px}.fm-button--lg{--fm-button-height:44px}}.fm-button--primary{--fm-button-bg:var(--fm-action-primary-bg);--fm-button-bg-hover:var(--fm-action-primary-bg-hover);--fm-button-fg:var(--fm-text-inverse);--fm-button-effects:var(--fm-inner-shadow-brand);--fm-button-glow:var(--fm-outer-shadow-brand)}.fm-button--secondary{--fm-button-bg:var(--fm-action-secondary-bg);--fm-button-bg-hover:var(--fm-action-secondary-bg-hover);--fm-button-fg:var(--fm-text-primary);--fm-button-effects:var(--fm-inner-shadow-brand);--fm-button-effects-pressed:0 0 #0000;--fm-button-glow:var(--fm-outer-shadow-brand)}.fm-button--danger{--fm-button-bg:var(--fm-action-danger-bg);--fm-button-bg-hover:var(--fm-action-danger-bg-hover);--fm-button-fg:var(--fm-text-inverse);--fm-button-effects:var(--fm-inner-shadow-brand);--fm-button-glow:var(--fm-outer-shadow-error)}.fm-button--ghost{--fm-button-bg:transparent;--fm-button-bg-hover:var(--fm-action-ghost-bg-hover);--fm-button-bg-active:var(--fm-action-ghost-bg-active);--fm-button-fg:var(--fm-text-primary);--fm-button-glow:var(--fm-outer-shadow-brand)}.fm-button--legacy-plain{--fm-button-fg:var(--fm-text-brand)}.fm-button--legacy-fab{--fm-button-height:var(--fm-spacing-56);--fm-button-radius:var(--fm-radius-full);min-width:var(--fm-spacing-56);padding:0 var(--fm-spacing-16)}.fm-button:enabled:hover{background-color:var(--fm-button-bg-hover)}.fm-button:enabled:focus-visible{background-color:var(--fm-button-bg-hover);box-shadow:var(--fm-button-focus-ring), var(--fm-button-effects), var(--fm-button-glow)}.fm-button--secondary:enabled:focus-visible{--fm-button-focus-ring:inset 0 0 0 1px var(--fm-border-brand)}.fm-button:enabled:active{background-color:var(--fm-button-bg-active);background-image:linear-gradient(var(--fm-state-pressed), var(--fm-state-pressed));box-shadow:var(--fm-button-focus-ring), var(--fm-button-effects-pressed), var(--fm-button-glow)}.fm-button--ghost:enabled:active{background-image:none}.fm-button:disabled{--fm-button-bg:var(--fm-action-disabled-bg);--fm-button-fg:var(--fm-text-disabled);cursor:not-allowed}.fm-button--ghost:disabled{--fm-button-bg:transparent}.fm-button--loading{pointer-events:none}.fm-button__labels{display:contents}.fm-button__label,.fm-button__sub-label{overflow-wrap:anywhere;min-width:0}.fm-button__icon{width:var(--fm-button-icon-size);height:var(--fm-button-icon-size);flex:none;justify-content:center;align-items:center;display:inline-flex}.fm-button__icon>svg{width:100%;height:100%}.fm-button__icon--legacy{width:var(--fm-spacing-24);height:var(--fm-spacing-24)}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v232/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOelbd5zrDAt.woff)format("woff");font-display:block}@font-face{font-family:Material Symbols Filled;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v232/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzazHD_dY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOelbd5zrDAt.woff)format("woff");font-display:block}.fm-button__legacy-icon{font-size:var(--fm-spacing-24);letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"liga";-moz-osx-font-smoothing:grayscale;direction:ltr;font-style:normal;font-weight:400;line-height:1;display:inline-block}.fm-button__legacy-icon--outline{font-family:Material Symbols Outlined,sans-serif}.fm-button__legacy-icon--filled{font-family:Material Symbols Filled,sans-serif}.fm-button--icon-only{width:var(--fm-button-height);padding:0}.fm-button--layout-dotted,.fm-button--layout-spaced{width:100%}.fm-button--layout-dotted .fm-button__labels,.fm-button--layout-spaced .fm-button__labels{flex:auto;justify-content:space-between;align-items:center;min-width:0;display:flex}.fm-button__dot{background-color:#ffffff52;border-radius:50%;flex:none;width:4px;height:4px}.fm-button__spinner{--fm-button-spinner-size:18px;box-sizing:border-box;width:var(--fm-button-spinner-size);height:var(--fm-button-spinner-size);animation:fm-button-spin var(--fm-duration-slower,.6s) linear infinite;border:2px solid;border-top-color:#0000;border-radius:50%;flex:none}.fm-button--lg .fm-button__spinner{--fm-button-spinner-size:20px}.fm-button--md .fm-button__spinner{--fm-button-spinner-size:18px}.fm-button--sm .fm-button__spinner,.fm-button--xs .fm-button__spinner{--fm-button-spinner-size:16px}@keyframes fm-button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.fm-button__spinner{animation-duration:2s}}.fm-checkbox{--fm-checkbox-size:24px;--fm-checkbox-surface:var(--fm-action-secondary-bg);--fm-checkbox-border:var(--fm-border-default);--fm-checkbox-glyph:var(--fm-icon-inverse);--fm-checkbox-glow:0 0 #0000;cursor:pointer;color:var(--fm-text-primary);align-items:center;gap:12px;display:inline-flex}.fm-checkbox--disabled{cursor:not-allowed}.fm-checkbox__box{box-sizing:border-box;width:var(--fm-checkbox-size);height:var(--fm-checkbox-size);border-radius:var(--fm-radius-sm);background-color:var(--fm-checkbox-surface);box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-checkbox-border), var(--fm-shadow-xs);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.fm-checkbox__input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.fm-checkbox__glyph{--fm-icon-size:calc(var(--fm-checkbox-size) * 5 / 6);color:var(--fm-checkbox-glyph);pointer-events:none;position:relative}.fm-checkbox__labels{gap:var(--fm-spacing-4);flex-direction:column;min-width:0;display:inline-flex}.fm-checkbox__sublabel{color:var(--fm-text-secondary)}.fm-checkbox--sm{--fm-checkbox-size:24px}.fm-checkbox--md{--fm-checkbox-size:28px}.fm-checkbox--lg{--fm-checkbox-size:32px}@media (width>=1024px){.fm-checkbox--sm{--fm-checkbox-size:20px}.fm-checkbox--md{--fm-checkbox-size:24px}.fm-checkbox--lg{--fm-checkbox-size:28px}}.fm-checkbox:hover:not(.fm-checkbox--disabled):not(.fm-checkbox--selected){--fm-checkbox-border:var(--fm-border-medium)}.fm-checkbox--pressed:not(.fm-checkbox--disabled):not(.fm-checkbox--selected){--fm-checkbox-border:var(--fm-border-strong)}.fm-checkbox--error:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-danger-bg-subtle);--fm-checkbox-border:var(--fm-border-error);--fm-checkbox-glyph:var(--fm-icon-error)}.fm-checkbox--error.fm-checkbox--pressed:not(.fm-checkbox--selected):not(.fm-checkbox--disabled){--fm-checkbox-glow:var(--fm-outer-shadow-error)}.fm-checkbox--selected:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-primary-bg);--fm-checkbox-border:transparent;--fm-checkbox-glyph:var(--fm-icon-inverse)}.fm-checkbox--selected.fm-checkbox--pressed:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-primary-bg-hover)}.fm-checkbox--selected.fm-checkbox--error:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-danger-bg-subtle);--fm-checkbox-glyph:var(--fm-icon-error)}.fm-checkbox--selected.fm-checkbox--error.fm-checkbox--pressed:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-danger-bg-hover);--fm-checkbox-glyph:var(--fm-icon-inverse)}.fm-checkbox:has(.fm-checkbox__input:focus-visible):not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-secondary-bg);--fm-checkbox-border:var(--fm-border-brand);--fm-checkbox-glyph:var(--fm-action-primary-bg);--fm-checkbox-glow:var(--fm-outer-shadow-brand)}.fm-checkbox--error:has(.fm-checkbox__input:focus-visible):not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-danger-bg-subtle);--fm-checkbox-border:var(--fm-border-error);--fm-checkbox-glyph:var(--fm-icon-error);--fm-checkbox-glow:var(--fm-outer-shadow-error)}.fm-checkbox--disabled{--fm-checkbox-surface:var(--fm-action-disabled-bg);--fm-checkbox-border:var(--fm-border-default);--fm-checkbox-glyph:var(--fm-icon-disabled)}.fm-checkbox--error.fm-checkbox--pressed:not(.fm-checkbox--selected) .fm-checkbox__box{box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-checkbox-border), var(--fm-checkbox-glow)}.fm-checkbox:has(.fm-checkbox__input:focus-visible) .fm-checkbox__box{box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-checkbox-border), var(--fm-checkbox-glow)}.fm-chip{--fm-chip-height:36px;--fm-chip-surface:var(--fm-surface-default);--fm-chip-overlay:transparent;--fm-chip-border:var(--fm-border-default);--fm-chip-border-width:var(--fm-border-width-thin);--fm-chip-fg:var(--fm-text-primary);--fm-chip-icon:var(--fm-icon-primary);--fm-chip-accent:var(--fm-icon-brand);--fm-chip-glow:0 0 #0000;justify-content:center;align-items:center;gap:var(--fm-spacing-4);box-sizing:border-box;height:var(--fm-chip-height);padding:0 var(--fm-spacing-12);border-radius:var(--fm-radius-sm);background-color:var(--fm-chip-surface);background-image:linear-gradient(var(--fm-chip-overlay), var(--fm-chip-overlay));color:var(--fm-chip-fg);cursor:pointer;box-shadow:inset 0 0 0 var(--fm-chip-border-width) var(--fm-chip-border), var(--fm-shadow-xs);border:none;display:inline-flex}.fm-chip:disabled{cursor:not-allowed}.fm-chip__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fm-chip__icon{--fm-icon-size:var(--fm-spacing-20);color:var(--fm-chip-icon);flex:none;display:inline-flex}.fm-chip__indicator-slot{width:var(--fm-spacing-20);height:var(--fm-spacing-20);flex:none;justify-content:center;align-items:center;display:inline-flex}.fm-chip__indicator{width:var(--fm-spacing-12);height:var(--fm-spacing-12);border-radius:var(--fm-radius-full);background-color:var(--fm-chip-accent)}.fm-chip__count{box-sizing:border-box;min-width:var(--fm-spacing-20);height:var(--fm-spacing-20);padding:0 var(--fm-spacing-4);border-radius:var(--fm-radius-full);background-color:var(--fm-chip-accent);color:var(--fm-text-inverse);flex:none;justify-content:center;align-items:center;display:inline-flex}.fm-chip__remove{--fm-icon-size:var(--fm-spacing-16);color:var(--fm-chip-icon);cursor:pointer;flex:none;display:inline-flex}.fm-chip:hover:not(:disabled){--fm-chip-overlay:var(--fm-state-hover)}.fm-chip--pressed:not(:disabled){--fm-chip-overlay:var(--fm-state-pressed)}.fm-chip:hover:not(:disabled):not(.fm-chip--selected),.fm-chip--pressed:not(:disabled):not(.fm-chip--selected){--fm-chip-border:var(--fm-border-medium)}.fm-chip--selected:not(:disabled){--fm-chip-border:var(--fm-border-brand);--fm-chip-border-width:var(--fm-border-width-regular)}.fm-chip:disabled{--fm-chip-surface:var(--fm-surface-sunken);--fm-chip-overlay:transparent;--fm-chip-border:var(--fm-border-medium);--fm-chip-fg:var(--fm-text-disabled);--fm-chip-icon:var(--fm-icon-disabled);--fm-chip-accent:var(--fm-border-medium)}.fm-chip:focus-visible{--fm-chip-border:var(--fm-border-brand);--fm-chip-border-width:var(--fm-border-width-regular);--fm-chip-glow:var(--fm-outer-shadow-brand);box-shadow:inset 0 0 0 var(--fm-chip-border-width) var(--fm-chip-border), var(--fm-chip-glow);outline:none}.fm-chip--compact{--fm-chip-height:22px;padding:0 var(--fm-spacing-8)}.fm-chip--v1-plain{--fm-chip-surface:var(--fm-bg-subtle);--fm-chip-border:transparent}.fm-chip--v1-plain.fm-chip--v1-selected{--fm-chip-surface:var(--fm-text-primary);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse)}.fm-chip--v1-neutral{--fm-chip-surface:var(--fm-text-primary);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse);--fm-chip-border:transparent}.fm-chip--v1-info{--fm-chip-surface:var(--fm-feature-aqua-accent);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse);--fm-chip-border:transparent}.fm-chip--v1-success{--fm-chip-surface:var(--fm-feature-lime-accent);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse);--fm-chip-border:transparent}.fm-chip--v1-critical{--fm-chip-surface:var(--fm-feature-berry-accent);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse);--fm-chip-border:transparent}.fm-chip--v1-warning{--fm-chip-surface:var(--fm-feature-mustard-accent);--fm-chip-fg:var(--fm-text-primary);--fm-chip-icon:var(--fm-text-primary);--fm-chip-border:transparent}.fm-radio{--fm-radio-size:24px;--fm-radio-ring-width:var(--fm-border-width-thin);--fm-radio-surface:var(--fm-action-secondary-bg);--fm-radio-ring:var(--fm-border-default);--fm-radio-dot:var(--fm-action-primary-bg);--fm-radio-glow:0 0 #0000;align-items:center;gap:var(--fm-spacing-16);cursor:pointer;color:var(--fm-text-primary);display:inline-flex}.fm-radio--disabled{cursor:not-allowed}.fm-radio__circle{box-sizing:border-box;width:var(--fm-radio-size);height:var(--fm-radio-size);border-radius:var(--fm-radius-full);background-color:var(--fm-radio-surface);box-shadow:inset 0 0 0 var(--fm-radio-ring-width) var(--fm-radio-ring), var(--fm-shadow-xs);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.fm-radio__input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.fm-radio__dot{width:calc(var(--fm-radio-size) * 10 / 24);height:calc(var(--fm-radio-size) * 10 / 24);border-radius:var(--fm-radius-full);background-color:var(--fm-radio-dot);pointer-events:none}.fm-radio__labels{gap:var(--fm-spacing-4);flex-direction:column;min-width:0;display:inline-flex}.fm-radio__sublabel{color:var(--fm-text-secondary)}.fm-radio--sm{--fm-radio-size:24px;--fm-radio-selected-ring:1px}.fm-radio--md{--fm-radio-size:28px;--fm-radio-selected-ring:1.5px}.fm-radio--lg{--fm-radio-size:32px;--fm-radio-selected-ring:2.5px}@media (width>=1024px){.fm-radio--sm{--fm-radio-size:20px;--fm-radio-selected-ring:1px}.fm-radio--md{--fm-radio-size:24px;--fm-radio-selected-ring:1px}.fm-radio--lg{--fm-radio-size:28px;--fm-radio-selected-ring:1.5px}}.fm-radio--selected:not(.fm-radio--disabled){--fm-radio-ring:var(--fm-border-brand);--fm-radio-ring-width:var(--fm-radio-selected-ring)}.fm-radio:hover:not(.fm-radio--disabled):not(.fm-radio--selected){--fm-radio-ring:var(--fm-border-medium)}.fm-radio--pressed:not(.fm-radio--disabled):not(.fm-radio--selected){--fm-radio-ring:var(--fm-border-strong)}.fm-radio--selected.fm-radio--pressed:not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-primary-bg-hover);--fm-radio-ring:transparent;--fm-radio-dot:#fff9}.fm-radio--error:not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-danger-bg-subtle);--fm-radio-ring:var(--fm-border-error);--fm-radio-dot:var(--fm-border-error)}.fm-radio--error.fm-radio--selected.fm-radio--pressed:not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-danger-bg-hover);--fm-radio-ring:transparent;--fm-radio-dot:#fff9}.fm-radio:has(.fm-radio__input:focus-visible):not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-secondary-bg);--fm-radio-ring:var(--fm-border-brand);--fm-radio-glow:var(--fm-outer-shadow-brand)}.fm-radio--error:has(.fm-radio__input:focus-visible):not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-danger-bg-subtle);--fm-radio-ring:var(--fm-border-error);--fm-radio-glow:var(--fm-outer-shadow-error)}.fm-radio--disabled{--fm-radio-surface:var(--fm-action-disabled-bg);--fm-radio-ring:transparent;--fm-radio-dot:var(--fm-icon-disabled)}.fm-radio:has(.fm-radio__input:focus-visible) .fm-radio__circle{box-shadow:inset 0 0 0 var(--fm-radio-ring-width) var(--fm-radio-ring), var(--fm-radio-glow)}.fm-radio-group{gap:var(--fm-spacing-8);flex-direction:column;display:flex}.fm-radio-group__label{color:var(--fm-text-primary)}.fm-radio-group__items{gap:var(--fm-spacing-8);flex-direction:column;display:flex}.fm-radio-group--inline>.fm-radio-group__items{align-items:center;gap:var(--fm-spacing-16);flex-direction:row}.fm-search-bar{--fm-search-height:44px;--fm-search-surface:var(--fm-surface-raised);--fm-search-border:var(--fm-border-default);--fm-search-fg:var(--fm-text-primary);--fm-search-placeholder:var(--fm-text-muted);--fm-search-icon:var(--fm-icon-primary);--fm-search-glow:0 0 #0000;--fm-search-shadow:var(--fm-shadow-text-sm);align-items:center;gap:var(--fm-spacing-12);box-sizing:border-box;width:100%;height:var(--fm-search-height);padding:0 var(--fm-spacing-8);border-radius:var(--fm-radius-md);background-color:var(--fm-search-surface);box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-search-border), var(--fm-search-shadow), var(--fm-search-glow);display:flex}.fm-search-bar__leading{--fm-icon-size:var(--fm-spacing-16);color:var(--fm-search-icon);flex:none;align-items:center;display:inline-flex}.fm-search-bar__control{min-width:0;height:20px;color:var(--fm-search-fg);appearance:none;background:0 0;border:none;outline:none;flex:auto;margin:0;padding:0}.fm-search-bar__control::placeholder{color:var(--fm-search-placeholder);opacity:1}.fm-search-bar__control::-webkit-search-cancel-button{appearance:none;display:none}.fm-search-bar__control::-webkit-search-decoration{appearance:none;display:none}.fm-search-bar__clear{--fm-icon-size:var(--fm-spacing-20);width:var(--fm-spacing-20);height:var(--fm-spacing-20);color:var(--fm-icon-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fm-search-bar--sm{--fm-search-height:40px}.fm-search-bar--md{--fm-search-height:44px}.fm-search-bar--lg{--fm-search-height:52px}@media (width>=768px){.fm-search-bar--sm{--fm-search-height:36px}.fm-search-bar--md{--fm-search-height:40px}.fm-search-bar--lg{--fm-search-height:48px}}@media (width>=1024px){.fm-search-bar--sm{--fm-search-height:32px}.fm-search-bar--md{--fm-search-height:36px}.fm-search-bar--lg{--fm-search-height:44px}}.fm-search-bar:not(.fm-search-bar--disabled):hover{--fm-search-border:var(--fm-border-medium)}.fm-search-bar:not(.fm-search-bar--disabled):focus-within{--fm-search-border:var(--fm-border-brand);--fm-search-shadow:0 0 #0000;--fm-search-glow:var(--fm-outer-shadow-brand)}.fm-search-bar--error,.fm-search-bar--error:hover,.fm-search-bar--error:focus-within{--fm-search-border:var(--fm-border-error);--fm-search-fg:var(--fm-text-error);--fm-search-placeholder:var(--fm-text-error);--fm-search-icon:var(--fm-icon-error);--fm-search-shadow:0 0 #0000;--fm-search-glow:var(--fm-outer-shadow-error)}.fm-search-bar--disabled{--fm-search-surface:var(--fm-surface-sunken);--fm-search-border:var(--fm-border-default);--fm-search-fg:var(--fm-text-disabled);--fm-search-placeholder:var(--fm-text-disabled);--fm-search-icon:var(--fm-icon-disabled);--fm-search-shadow:0 0 #0000}.fm-search-bar--disabled .fm-search-bar__control{cursor:not-allowed}.fm-switch{--fm-switch-track-w:52px;--fm-switch-track-h:28px;--fm-switch-inset:2px;--fm-switch-thumb:calc(var(--fm-switch-track-h) - var(--fm-switch-inset) * 2);--fm-switch-travel:calc(var(--fm-switch-track-w) - var(--fm-switch-thumb) - var(--fm-switch-inset) * 2);--fm-switch-surface:var(--fm-action-disabled-bg);--fm-switch-thumb-color:var(--fm-border-medium);--fm-switch-icon:var(--fm-action-disabled-fg);--fm-switch-glow:0 0 #0000;align-items:center;gap:var(--fm-spacing-8);cursor:pointer;color:var(--fm-text-primary);display:inline-flex}.fm-switch--label-right{flex-direction:row-reverse}.fm-switch--disabled{cursor:not-allowed;opacity:.32}.fm-switch__track{box-sizing:border-box;width:var(--fm-switch-track-w);height:var(--fm-switch-track-h);border-radius:var(--fm-radius-full);background-color:var(--fm-switch-surface);box-shadow:var(--fm-shadow-sm);flex:none;display:inline-block;position:relative}.fm-switch__input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.fm-switch__thumb{top:var(--fm-switch-inset);left:var(--fm-switch-inset);width:var(--fm-switch-thumb);height:var(--fm-switch-thumb);border-radius:var(--fm-radius-full);background-color:var(--fm-switch-thumb-color);box-shadow:var(--fm-shadow-sm);transition:transform var(--fm-duration-fast,.15s) ease-in-out;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.fm-switch__thumb-icon{--fm-icon-size:max(8px, calc(var(--fm-switch-thumb) - 8px));color:var(--fm-switch-icon)}.fm-switch__labels{gap:var(--fm-spacing-4);flex-direction:column;min-width:0;display:inline-flex}.fm-switch__sublabel{color:var(--fm-text-secondary)}.fm-switch--sm{--fm-switch-track-w:40px;--fm-switch-track-h:22px}.fm-switch--md{--fm-switch-track-w:52px;--fm-switch-track-h:28px}.fm-switch--lg{--fm-switch-track-w:60px;--fm-switch-track-h:32px}@media (width>=768px){.fm-switch--sm{--fm-switch-track-w:44px;--fm-switch-track-h:24px}}@media (width>=1024px){.fm-switch--sm{--fm-switch-track-w:32px;--fm-switch-track-h:18px}.fm-switch--md{--fm-switch-track-w:44px;--fm-switch-track-h:24px}.fm-switch--lg{--fm-switch-track-w:52px;--fm-switch-track-h:28px}}.fm-switch--on{--fm-switch-surface:var(--fm-action-primary-bg);--fm-switch-thumb-color:var(--fm-surface-raised);--fm-switch-icon:var(--fm-action-primary-bg)}.fm-switch--on .fm-switch__thumb{transform:translateX(var(--fm-switch-travel))}.fm-switch--on.fm-switch--pressed{--fm-switch-surface:var(--fm-action-primary-bg-hover)}.fm-switch--pressed:not(.fm-switch--on){--fm-switch-surface:var(--fm-action-disabled-fg)}.fm-switch:not(.fm-switch--on):has(.fm-switch__thumb-icon){--fm-switch-thumb-color:var(--fm-surface-raised)}.fm-switch:has(.fm-switch__input:focus-visible):not(.fm-switch--disabled){--fm-switch-glow:var(--fm-outer-shadow-brand)}.fm-switch:has(.fm-switch__input:focus-visible) .fm-switch__track{box-shadow:var(--fm-switch-glow)}.fm-field{--fm-field-pad-x:var(--fm-spacing-8);--fm-field-pad-y:var(--fm-spacing-12);--fm-field-radius:var(--fm-radius-md);--fm-field-surface:var(--fm-surface-raised);--fm-field-border:var(--fm-border-default);--fm-field-fg:var(--fm-text-primary);--fm-field-placeholder:var(--fm-text-muted);--fm-field-affix:var(--fm-icon-secondary);--fm-field-label:var(--fm-text-primary);--fm-field-helper:var(--fm-text-secondary);--fm-field-glow:0 0 #0000;--fm-field-shadow:var(--fm-shadow-xs);gap:var(--fm-spacing-4);flex-direction:column;width:100%;display:flex}.fm-field__label{align-items:baseline;gap:var(--fm-spacing-4);color:var(--fm-field-label);display:flex}.fm-field__mark{color:var(--fm-text-error)}.fm-field__box{align-items:center;gap:var(--fm-spacing-4);box-sizing:border-box;width:100%;padding:var(--fm-field-pad-y) var(--fm-field-pad-x);border-radius:var(--fm-field-radius);background-color:var(--fm-field-surface);box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-field-border), var(--fm-field-shadow), var(--fm-field-glow);display:flex}.fm-field__control{min-width:0;height:20px;color:var(--fm-field-fg);background:0 0;border:none;outline:none;flex:auto;margin:0;padding:0}.fm-field__control::placeholder{color:var(--fm-field-placeholder);opacity:1}.fm-field__affix{--fm-icon-size:var(--fm-spacing-20);color:var(--fm-field-affix);flex:none;align-items:center;display:inline-flex}.fm-field__footer{justify-content:space-between;gap:var(--fm-spacing-8);color:var(--fm-field-helper);display:flex}.fm-field__counter{margin-left:auto}.fm-field--single.fm-field--sm{--fm-field-pad-y:var(--fm-spacing-10)}.fm-field--single.fm-field--md{--fm-field-pad-y:var(--fm-spacing-12)}.fm-field--single.fm-field--lg{--fm-field-pad-y:var(--fm-spacing-16);--fm-field-radius:var(--fm-radius-lg)}.fm-field--multiline{--fm-field-pad-x:var(--fm-spacing-8);--fm-field-pad-y:var(--fm-spacing-8);--fm-field-radius:var(--fm-radius-md);--fm-field-height:128px}.fm-field--multiline>.fm-field__box{height:var(--fm-field-height);align-items:stretch}.fm-field--multiline .fm-field__control{resize:none;height:100%}.fm-field--multiline .fm-field__box{align-items:stretch}.fm-field--multiline.fm-field--sm{--fm-field-height:96px}.fm-field--multiline.fm-field--md{--fm-field-height:128px}.fm-field--multiline.fm-field--lg{--fm-field-height:160px}@media (width>=768px){.fm-field--multiline.fm-field--sm{--fm-field-height:128px}.fm-field--multiline.fm-field--md{--fm-field-height:160px}.fm-field--multiline.fm-field--lg{--fm-field-height:192px}}@media (width>=1024px){.fm-field--multiline.fm-field--sm{--fm-field-height:164px}.fm-field--multiline.fm-field--md{--fm-field-height:196px}.fm-field--multiline.fm-field--lg{--fm-field-height:228px}}.fm-field:not(.fm-field--disabled)>.fm-field__box:hover{--fm-field-border:var(--fm-border-medium)}.fm-field:not(.fm-field--disabled)>.fm-field__box:focus-within{--fm-field-border:var(--fm-border-brand);--fm-field-shadow:0 0 #0000;--fm-field-glow:var(--fm-outer-shadow-brand)}.fm-field--error:not(.fm-field--disabled){--fm-field-fg:var(--fm-text-error);--fm-field-placeholder:var(--fm-text-error);--fm-field-affix:var(--fm-text-error);--fm-field-label:var(--fm-text-error);--fm-field-helper:var(--fm-text-error)}.fm-field--error:not(.fm-field--disabled)>.fm-field__box,.fm-field--error:not(.fm-field--disabled)>.fm-field__box:hover,.fm-field--error:not(.fm-field--disabled)>.fm-field__box:focus-within{--fm-field-border:var(--fm-border-error);--fm-field-shadow:0 0 #0000;--fm-field-glow:var(--fm-outer-shadow-error)}.fm-field--multiline.fm-field--error:not(.fm-field--disabled)>.fm-field__box,.fm-field--multiline.fm-field--error:not(.fm-field--disabled)>.fm-field__box:hover,.fm-field--multiline.fm-field--error:not(.fm-field--disabled)>.fm-field__box:focus-within{--fm-field-border:var(--fm-border-warning)}.fm-field--disabled{--fm-field-surface:var(--fm-surface-sunken);--fm-field-border:var(--fm-border-default);--fm-field-fg:var(--fm-text-disabled);--fm-field-placeholder:var(--fm-text-disabled);--fm-field-affix:var(--fm-icon-disabled);--fm-field-label:var(--fm-text-disabled);--fm-field-helper:var(--fm-text-disabled)}.fm-field--disabled .fm-field__control{cursor:not-allowed}
303
- /*$vite$:1*/`;
304
- function mn(t) {
305
- const e = t.replace(/^\//, "");
306
- try {
307
- const n = new URL(import.meta.url);
308
- if (typeof location < "u" && location.hostname !== n.hostname)
309
- return new URL(e, n).href;
310
- } catch {
311
- }
312
- return `${"/".replace(/\/$/, "")}/${e}`;
313
- }
314
- const zt = {
315
- "chart.js@4": "chart.js-4.js",
316
- "fm-ui@1": "fm-ui-1.js",
317
- "components@1": "components-1.js",
318
- "chartjs-chart-geo@4": "chartjs-chart-geo-4.js",
319
- "geo-outlines@1": "geo-outlines-1.js",
320
- "chartjs-chart-sankey@0": "chartjs-chart-sankey-0.js"
321
- }, un = Object.keys(zt), We = /* @__PURE__ */ new Map();
322
- function pn(t) {
323
- return mn(`report-canvas-libs/${zt[t]}`);
324
- }
325
- async function ct(t) {
326
- const e = un.filter((o) => t.includes(o));
327
- await Promise.all(
328
- e.map(async (o) => {
329
- if (We.has(o)) return;
330
- const a = await fetch(pn(o));
331
- a.ok && We.set(o, await a.text());
332
- })
333
- );
334
- const n = {};
335
- for (const o of e) {
336
- const a = We.get(o);
337
- a && (n[o] = a);
338
- }
339
- return n;
340
- }
341
- const Nt = /url\(\s*(['"]?)\s*([^)'"]*?)\s*\1\s*\)/gi, hn = /@font-face\s*\{[^}]*\}/gi;
342
- function Rt(t) {
303
+ const fn = `:root{--fm-palette-brand-fm-100:#fff3e6;--fm-palette-brand-fm-200:#ff9455;--fm-palette-brand-fm-300:#ff7823;--fm-palette-brand-fm-400:#b25300;--fm-palette-brand-fm-500:#6b3100;--fm-palette-aqua-100:#b7e2ff;--fm-palette-aqua-300:#3ab0ff;--fm-palette-aqua-500:#0a5384;--fm-palette-berry-100:#fee4dc;--fm-palette-berry-300:#e94850;--fm-palette-berry-500:#5f090a;--fm-palette-blossom-100:#fff7fc;--fm-palette-blossom-300:#ffc4c3;--fm-palette-blossom-500:#8c146a;--fm-palette-lime-100:#f4fde6;--fm-palette-lime-300:#aeef4b;--fm-palette-lime-500:#306a01;--fm-palette-mustard-100:#fef5ea;--fm-palette-mustard-300:#ffc746;--fm-palette-mustard-500:#903e1f;--fm-palette-stone-100:#f6f8fc;--fm-palette-stone-300:#b2b3b6;--fm-palette-stone-500:#2e2e2e;--fm-palette-grape-100:#eddfff;--fm-palette-grape-300:#8f61e8;--fm-palette-grape-500:#512191;--fm-palette-neurastone-0:#fff;--fm-palette-neurastone-100:#f6f6f8;--fm-palette-neurastone-200:#f0f0f0;--fm-palette-neurastone-300:#b2b3b6;--fm-palette-neurastone-400:#6b6c70;--fm-palette-neurastone-500:#4b4b4b;--fm-palette-neurastone-600:#2e2e2e;--fm-palette-neurastone-700:#262628;--fm-palette-neurastone-800:#1c1c1e;--fm-palette-neurastone-900:#121212;--fm-palette-blue-100:#e6f2ff;--fm-palette-blue-200:#66afff;--fm-palette-blue-300:#007aff;--fm-palette-blue-400:#004999;--fm-palette-blue-500:#002c5c;--fm-palette-orange-100:#fff4e6;--fm-palette-orange-200:#ffbf66;--fm-palette-orange-300:#ff9500;--fm-palette-orange-400:#995900;--fm-palette-orange-500:#5c3500;--fm-palette-green-100:#ebf9ee;--fm-palette-green-200:#85dd9b;--fm-palette-green-300:#34c759;--fm-palette-green-400:#1f7735;--fm-palette-green-500:#134720;--fm-palette-red-100:#ffebea;--fm-palette-red-200:#ff8983;--fm-palette-red-300:#ff3b30;--fm-palette-red-400:#99231d;--fm-palette-red-500:#5c1511;--fm-palette-overlay-black-alpha-4:#1212120a;--fm-palette-overlay-black-alpha-8:#12121214;--fm-palette-overlay-black-alpha-12:#1212121f;--fm-palette-overlay-black-alpha-16:#12121229;--fm-palette-overlay-black-alpha-24:#1212123d;--fm-palette-overlay-black-alpha-32:#12121252;--fm-palette-overlay-black-alpha-48:#1212127a;--fm-palette-overlay-black-alpha-64:#121212a3;--fm-palette-overlay-black-alpha-72:#121212b8;--fm-palette-overlay-black-alpha-80:#121212cc;--fm-palette-overlay-white-alpha-4:#ffffff0a;--fm-palette-overlay-white-alpha-8:#ffffff14;--fm-palette-overlay-white-alpha-12:#ffffff1f;--fm-palette-overlay-white-alpha-16:#ffffff29;--fm-palette-overlay-white-alpha-24:#ffffff3d;--fm-palette-overlay-white-alpha-32:#ffffff52;--fm-palette-overlay-white-alpha-48:#ffffff7a;--fm-palette-overlay-white-alpha-64:#ffffffa3;--fm-palette-overlay-white-alpha-72:#ffffffb8;--fm-palette-overlay-white-alpha-80:#fffc;--fm-spacing-0:0;--fm-spacing-1:1px;--fm-spacing-2:2px;--fm-spacing-4:4px;--fm-spacing-6:6px;--fm-spacing-8:8px;--fm-spacing-10:10px;--fm-spacing-12:12px;--fm-spacing-14:14px;--fm-spacing-16:16px;--fm-spacing-18:18px;--fm-spacing-20:20px;--fm-spacing-24:24px;--fm-spacing-28:28px;--fm-spacing-32:32px;--fm-spacing-40:40px;--fm-spacing-48:48px;--fm-spacing-56:56px;--fm-spacing-64:64px;--fm-spacing-72:72px;--fm-spacing-80:80px;--fm-spacing-88:88px;--fm-spacing-96:96px;--fm-spacing-104:104px;--fm-spacing-112:112px;--fm-spacing-120:120px;--fm-spacing-128:128px;--fm-spacing-160:160px;--fm-spacing-192:192px;--fm-radius-none:0;--fm-radius-xs:4px;--fm-radius-sm:8px;--fm-radius-md:12px;--fm-radius-lg:16px;--fm-radius-xl:24px;--fm-radius-2xl:32px;--fm-radius-3xl:64px;--fm-radius-full:99999px;--fm-border-width-none:0;--fm-border-width-hairline:.5px;--fm-border-width-thin:1px;--fm-border-width-regular:1.5px;--fm-border-width-medium:2px;--fm-border-width-thick:4px;--fm-opacity-0:0;--fm-opacity-8:.08;--fm-opacity-12:.12;--fm-opacity-16:.16;--fm-opacity-24:.24;--fm-opacity-32:.32;--fm-opacity-40:.4;--fm-opacity-48:.48;--fm-opacity-56:.56;--fm-opacity-64:.64;--fm-opacity-80:.8;--fm-opacity-100:1;--fm-shadow-blur-none:0;--fm-shadow-blur-xs:2px;--fm-shadow-blur-sm:4px;--fm-shadow-blur-md:6px;--fm-shadow-blur-lg:10px;--fm-shadow-blur-xl:16px;--fm-shadow-blur-2xl:24px;--fm-blur-sm:8px;--fm-blur-md:16px;--fm-blur-lg:24px;--fm-blur-xl:40px;--fm-z-index-base:0;--fm-z-index-raised:100;--fm-z-index-dropdown:200;--fm-z-index-sticky:300;--fm-z-index-overlay:400;--fm-z-index-modal:500;--fm-z-index-toast:600;--fm-z-index-tooltip:700;--fm-duration-instant:0s;--fm-duration-fast:.1s;--fm-duration-normal:.2s;--fm-duration-slow:.3s;--fm-duration-slower:.5s;--fm-easing-standard:cubic-bezier(.4, 0, .2, 1);--fm-easing-decelerate:cubic-bezier(0, 0, .2, 1);--fm-easing-accelerate:cubic-bezier(.4, 0, 1, 1);--fm-easing-spring:cubic-bezier(.34, 1.56, .64, 1);--fm-shadow-color:#1c1c1e;--fm-breakpoint-sm:0;--fm-breakpoint-md:768px;--fm-breakpoint-lg:1024px;--fm-breakpoint-xl:1440px;--fm-breakpoint-xxl:1920px}:root,[data-fm-theme=light]{--fm-bg-canvas:#f6f6f8;--fm-bg-default:#fff;--fm-bg-subtle:#f6f6f8;--fm-bg-muted:#f0f0f0;--fm-bg-elevated:#fff;--fm-bg-inverse:#1c1c1e;--fm-bg-brand:#fff3e6;--fm-bg-success:#ebf9ee;--fm-bg-warning:#fff4e6;--fm-bg-error:#ffebea;--fm-bg-info:#e6f2ff;--fm-surface-default:#fff;--fm-surface-sunken:#f0f0f0;--fm-surface-inset:#b2b3b6;--fm-surface-raised:#fff;--fm-surface-floating:#fff;--fm-text-primary:#1c1c1e;--fm-text-secondary:#4b4b4b;--fm-text-muted:#6b6c70;--fm-text-disabled:#b2b3b6;--fm-text-inverse:#fff;--fm-text-on-inset:#fff;--fm-text-link:#007aff;--fm-text-brand:#ff7823;--fm-text-success:#1f7735;--fm-text-warning:#995900;--fm-text-error:#99231d;--fm-icon-primary:#1c1c1e;--fm-icon-secondary:#4b4b4b;--fm-icon-muted:#6b6c70;--fm-icon-disabled:#b2b3b6;--fm-icon-inverse:#fff;--fm-icon-link:#007aff;--fm-icon-brand:#ff7823;--fm-icon-success:#1f7735;--fm-icon-warning:#995900;--fm-icon-error:#99231d;--fm-icon-info:#004999;--fm-icon-on-brand:#b25300;--fm-icon-on-success:#1f7735;--fm-icon-on-warning:#995900;--fm-icon-on-error:#99231d;--fm-icon-on-info:#004999;--fm-text-info:#004999;--fm-border-default:#f0f0f0;--fm-border-subtle:#f6f6f8;--fm-border-medium:#b2b3b6;--fm-border-strong:#6b6c70;--fm-border-inverse:#fff;--fm-border-brand:#ff7823;--fm-border-success:#1f7735;--fm-border-warning:#995900;--fm-border-error:#99231d;--fm-border-info:#004999;--fm-overlay-scrim-1:#12121252;--fm-overlay-scrim-2:#1212127a;--fm-overlay-scrim-3:#121212a3;--fm-overlay-scrim-4:#121212b8;--fm-action-primary-bg:#ff7823;--fm-feature-aqua-bg:#b7e2ff;--fm-feature-aqua-accent:#3ab0ff;--fm-feature-aqua-fg:#0a5384;--fm-feature-berry-bg:#fee4dc;--fm-feature-berry-accent:#e94850;--fm-feature-berry-fg:#5f090a;--fm-feature-blossom-bg:#fff7fc;--fm-feature-blossom-accent:#ffc4c3;--fm-feature-blossom-fg:#8c146a;--fm-feature-lime-bg:#f4fde6;--fm-feature-lime-accent:#aeef4b;--fm-feature-lime-fg:#306a01;--fm-feature-mustard-bg:#fef5ea;--fm-feature-mustard-accent:#ffc746;--fm-feature-mustard-fg:#903e1f;--fm-feature-stone-bg:#f6f8fc;--fm-feature-stone-accent:#b2b3b6;--fm-feature-stone-fg:#2e2e2e;--fm-feature-grape-bg:#eddfff;--fm-feature-grape-accent:#8f61e8;--fm-feature-grape-fg:#512191;--fm-state-subtle:#1212120a;--fm-state-hover:#12121214;--fm-state-pressed:#1212121f;--fm-state-selected:#12121229;--fm-state-dragged:#1212123d;--fm-action-primary-bg-hover:#b25300;--fm-action-primary-bg-subtle:#fff3e6;--fm-action-primary-fg:#1c1c1e;--fm-action-secondary-bg:#fff;--fm-action-secondary-bg-hover:#f6f6f8;--fm-action-secondary-fg:#1c1c1e;--fm-action-ghost-bg-hover:#f6f6f8;--fm-action-ghost-bg-active:#f0f0f0;--fm-action-danger-bg:#ff3b30;--fm-action-danger-bg-hover:#99231d;--fm-action-danger-bg-subtle:#ffebea;--fm-action-danger-fg:#1c1c1e;--fm-action-disabled-bg:#f0f0f0;--fm-action-disabled-fg:#6b6c70;--fm-text-on-brand:#b25300;--fm-text-on-success:#1f7735;--fm-text-on-warning:#995900;--fm-text-on-error:#99231d;--fm-text-on-info:#004999;--fm-badge-bg-aqua:#b7e2ff;--fm-badge-text-on-aqua:#0a5384;--fm-badge-icon-on-aqua:#0a5384;--fm-badge-border-aqua:#0a5384;--fm-badge-bg-berry:#fee4dc;--fm-badge-bg-blossom:#fff7fc;--fm-badge-bg-lime:#f4fde6;--fm-badge-bg-mustard:#fef5ea;--fm-badge-bg-stone:#f6f8fc;--fm-badge-bg-grape:#eddfff;--fm-badge-border-blossom:#8c146a;--fm-badge-text-on-blossom:#8c146a;--fm-badge-icon-on-blossom:#8c146a;--fm-badge-border-berry:#5f090a;--fm-badge-text-on-berry:#5f090a;--fm-badge-icon-on-berry:#5f090a;--fm-badge-border-lime:#306a01;--fm-badge-text-on-lime:#306a01;--fm-badge-icon-on-lime:#306a01;--fm-badge-border-mustard:#903e1f;--fm-badge-text-on-mustard:#903e1f;--fm-badge-icon-on-mustard:#903e1f;--fm-badge-border-stone:#2e2e2e;--fm-badge-text-on-stone:#2e2e2e;--fm-badge-icon-on-stone:#2e2e2e;--fm-badge-border-grape:#512191;--fm-badge-text-on-grape:#512191;--fm-badge-icon-on-grape:#512191;--fm-badge-bg-brand:#fff3e6;--fm-badge-border-brand:#ff7823;--fm-badge-text-on-brand:#ff7823;--fm-badge-icon-on-brand:#ff7823}[data-fm-theme=dark]{--fm-bg-canvas:#121212;--fm-bg-default:#1c1c1e;--fm-bg-subtle:#262628;--fm-bg-muted:#2e2e2e;--fm-bg-elevated:#262628;--fm-bg-inverse:#fff;--fm-bg-brand:#b25300;--fm-bg-success:#1f7735;--fm-bg-warning:#995900;--fm-bg-error:#99231d;--fm-bg-info:#004999;--fm-surface-default:#262628;--fm-surface-sunken:#121212;--fm-surface-inset:#1c1c1e;--fm-surface-raised:#2e2e2e;--fm-surface-floating:#4b4b4b;--fm-text-primary:#fff;--fm-text-secondary:#b2b3b6;--fm-text-muted:#6b6c70;--fm-text-disabled:#4b4b4b;--fm-text-inverse:#1c1c1e;--fm-text-on-inset:#fff;--fm-text-link:#66afff;--fm-text-brand:#fff3e6;--fm-text-success:#85dd9b;--fm-text-warning:#ffbf66;--fm-text-error:#ff8983;--fm-icon-primary:#fff;--fm-icon-secondary:#b2b3b6;--fm-icon-muted:#6b6c70;--fm-icon-disabled:#4b4b4b;--fm-icon-inverse:#1c1c1e;--fm-icon-link:#66afff;--fm-icon-brand:#fff3e6;--fm-icon-success:#85dd9b;--fm-icon-warning:#ffbf66;--fm-icon-error:#ff8983;--fm-icon-info:#66afff;--fm-icon-on-brand:#fff3e6;--fm-icon-on-success:#ebf9ee;--fm-icon-on-warning:#fff4e6;--fm-icon-on-error:#ffebea;--fm-icon-on-info:#e6f2ff;--fm-text-info:#66afff;--fm-border-default:#2e2e2e;--fm-border-subtle:#262628;--fm-border-medium:#b2b3b6;--fm-border-strong:#f6f6f8;--fm-border-inverse:#1c1c1e;--fm-border-brand:#fff3e6;--fm-border-success:#85dd9b;--fm-border-warning:#ffbf66;--fm-border-error:#ff8983;--fm-border-info:#66afff;--fm-overlay-scrim-1:#1212127a;--fm-overlay-scrim-2:#121212a3;--fm-overlay-scrim-3:#121212b8;--fm-overlay-scrim-4:#121212cc;--fm-action-primary-bg:#ff7823;--fm-feature-aqua-bg:#0a5384;--fm-feature-aqua-accent:#3ab0ff;--fm-feature-aqua-fg:#b7e2ff;--fm-feature-berry-bg:#5f090a;--fm-feature-berry-accent:#e94850;--fm-feature-berry-fg:#fee4dc;--fm-feature-blossom-bg:#8c146a;--fm-feature-blossom-accent:#ffc4c3;--fm-feature-blossom-fg:#fff7fc;--fm-feature-lime-bg:#306a01;--fm-feature-lime-accent:#aeef4b;--fm-feature-lime-fg:#f4fde6;--fm-feature-mustard-bg:#903e1f;--fm-feature-mustard-accent:#ffc746;--fm-feature-mustard-fg:#fef5ea;--fm-feature-stone-bg:#2e2e2e;--fm-feature-stone-accent:#b2b3b6;--fm-feature-stone-fg:#f6f8fc;--fm-feature-grape-bg:#512191;--fm-feature-grape-accent:#8f61e8;--fm-feature-grape-fg:#eddfff;--fm-state-subtle:#ffffff0a;--fm-state-hover:#ffffff14;--fm-state-pressed:#ffffff1f;--fm-state-selected:#ffffff29;--fm-state-dragged:#ffffff3d;--fm-action-primary-bg-hover:#b25300;--fm-action-primary-bg-subtle:#6b3100;--fm-action-primary-fg:#1c1c1e;--fm-action-secondary-bg:#262628;--fm-action-secondary-bg-hover:#2e2e2e;--fm-action-secondary-fg:#fff;--fm-action-ghost-bg-hover:#262628;--fm-action-ghost-bg-active:#2e2e2e;--fm-action-danger-bg:#ff3b30;--fm-action-danger-bg-hover:#99231d;--fm-action-danger-bg-subtle:#5c1511;--fm-action-danger-fg:#1c1c1e;--fm-action-disabled-bg:#2e2e2e;--fm-action-disabled-fg:#6b6c70;--fm-text-on-brand:#fff3e6;--fm-text-on-success:#ebf9ee;--fm-text-on-warning:#fff4e6;--fm-text-on-error:#ffebea;--fm-text-on-info:#e6f2ff;--fm-badge-bg-aqua:#0a5384;--fm-badge-text-on-aqua:#b7e2ff;--fm-badge-icon-on-aqua:#b7e2ff;--fm-badge-border-aqua:#3ab0ff;--fm-badge-bg-berry:#5f090a;--fm-badge-bg-blossom:#8c146a;--fm-badge-bg-lime:#306a01;--fm-badge-bg-mustard:#903e1f;--fm-badge-bg-stone:#2e2e2e;--fm-badge-bg-grape:#512191;--fm-badge-border-blossom:#ffc4c3;--fm-badge-text-on-blossom:#fff7fc;--fm-badge-icon-on-blossom:#fff7fc;--fm-badge-border-berry:#e94850;--fm-badge-text-on-berry:#fee4dc;--fm-badge-icon-on-berry:#fee4dc;--fm-badge-border-lime:#aeef4b;--fm-badge-text-on-lime:#f4fde6;--fm-badge-icon-on-lime:#f4fde6;--fm-badge-border-mustard:#ffc746;--fm-badge-text-on-mustard:#fef5ea;--fm-badge-icon-on-mustard:#fef5ea;--fm-badge-border-stone:#b2b3b6;--fm-badge-text-on-stone:#f6f8fc;--fm-badge-icon-on-stone:#f6f8fc;--fm-badge-border-grape:#8f61e8;--fm-badge-text-on-grape:#eddfff;--fm-badge-icon-on-grape:#eddfff;--fm-badge-bg-brand:#6b3100;--fm-badge-border-brand:#ff7823;--fm-badge-text-on-brand:#fff3e6;--fm-badge-icon-on-brand:#fff3e6}:root{--fm-font-size-8:8px;--fm-font-size-10:10px;--fm-font-size-12:12px;--fm-font-size-14:14px;--fm-font-size-16:16px;--fm-font-size-18:18px;--fm-font-size-22:22px;--fm-font-size-26:26px;--fm-font-size-32:32px;--fm-font-size-36:36px;--fm-font-size-48:48px;--fm-font-size-60:60px;--fm-font-size-72:72px;--fm-font-family-heading:"Cabinet Grotesk";--fm-font-family-body:"Inter";--fm-font-weight-regular:400;--fm-font-weight-medium:500;--fm-font-weight-semi-bold:600;--fm-font-weight-extra-bold:800;--fm-font-weight-black:900;--fm-line-height-8:12px;--fm-line-height-10:14px;--fm-line-height-12:16px;--fm-line-height-14:20px;--fm-line-height-16:24px;--fm-line-height-18:26px;--fm-line-height-22:30px;--fm-line-height-26:36px;--fm-line-height-32:40px;--fm-line-height-36:44px;--fm-line-height-48:56px;--fm-line-height-60:72px;--fm-line-height-72:80px}:root:lang(zh),[lang=zh]{--fm-font-family-heading:"Noto Sans SC";--fm-font-family-body:"Noto Sans SC";--fm-font-weight-regular:400;--fm-font-weight-medium:500;--fm-font-weight-semi-bold:600;--fm-font-weight-extra-bold:800;--fm-font-weight-black:900;--fm-line-height-8:12px;--fm-line-height-10:14px;--fm-line-height-12:18px;--fm-line-height-14:20px;--fm-line-height-16:26px;--fm-line-height-18:26px;--fm-line-height-22:30px;--fm-line-height-26:36px;--fm-line-height-32:44px;--fm-line-height-36:46px;--fm-line-height-48:60px;--fm-line-height-60:76px;--fm-line-height-72:90px}:root:lang(th),[lang=th]{--fm-font-family-heading:"Noto Sans Thai";--fm-font-family-body:"Noto Sans Thai";--fm-font-weight-regular:400;--fm-font-weight-medium:500;--fm-font-weight-semi-bold:600;--fm-font-weight-extra-bold:800;--fm-font-weight-black:900;--fm-line-height-8:14px;--fm-line-height-10:16px;--fm-line-height-12:20px;--fm-line-height-14:24px;--fm-line-height-16:28px;--fm-line-height-18:28px;--fm-line-height-22:32px;--fm-line-height-26:38px;--fm-line-height-32:46px;--fm-line-height-36:50px;--fm-line-height-48:64px;--fm-line-height-60:80px;--fm-line-height-72:96px}.fm-text-display-xl{letter-spacing:.015em;font-family:Cabinet Grotesk,sans-serif;font-size:72px;font-weight:900;line-height:80px}.fm-text-display-lg{letter-spacing:.015em;font-family:Cabinet Grotesk,sans-serif;font-size:60px;font-weight:900;line-height:72px}.fm-text-display-md{letter-spacing:.015em;font-family:Cabinet Grotesk,sans-serif;font-size:48px;font-weight:900;line-height:56px}.fm-text-display-sm{letter-spacing:.015em;font-family:Cabinet Grotesk,sans-serif;font-size:36px;font-weight:900;line-height:44px}.fm-text-title-xl{letter-spacing:.01em;font-family:Cabinet Grotesk,sans-serif;font-size:32px;font-weight:800;line-height:40px}.fm-text-title-lg{letter-spacing:.01em;font-family:Cabinet Grotesk,sans-serif;font-size:26px;font-weight:800;line-height:36px}.fm-text-title-md{letter-spacing:.01em;font-family:Cabinet Grotesk,sans-serif;font-size:22px;font-weight:800;line-height:30px}.fm-text-title-sm{letter-spacing:.01em;font-family:Cabinet Grotesk,sans-serif;font-size:18px;font-weight:800;line-height:26px}.fm-text-body-lg-600{letter-spacing:.0025em;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px}.fm-text-body-md-600{letter-spacing:.01em;font-family:Inter,sans-serif;font-size:14px;font-weight:600;line-height:20px}.fm-text-body-sm-600{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:12px;font-weight:600;line-height:16px}.fm-text-body-xs-600{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:10px;font-weight:600;line-height:14px}.fm-text-body-overline-xs-600{letter-spacing:.1em;font-family:Inter,sans-serif;font-size:10px;font-weight:600;line-height:14px}.fm-text-body-overline-2xs-600{letter-spacing:.1em;font-family:Inter,sans-serif;font-size:8px;font-weight:600;line-height:12px}.fm-text-body-lg-500{letter-spacing:.0025em;font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:24px}.fm-text-body-md-500{letter-spacing:.01em;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:20px}.fm-text-body-sm-500{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:12px;font-weight:500;line-height:16px}.fm-text-body-xs-500{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:10px;font-weight:500;line-height:14px}.fm-text-body-lg-400{letter-spacing:.0025em;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:24px}.fm-text-body-md-400{letter-spacing:.01em;font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:20px}.fm-text-body-sm-400{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:16px}.fm-text-body-xs-400{letter-spacing:.02em;font-family:Inter,sans-serif;font-size:10px;font-weight:400;line-height:14px}:root{--fm-shadow-light-xs:0 1px 2px 0 #1c1c1e0a;--fm-shadow-light-sm:0 2px 4px 0 #1c1c1e0f;--fm-shadow-light-md:0 4px 6px 0 #1c1c1e14;--fm-shadow-light-lg:0 6px 10px 0 #1c1c1e1a;--fm-shadow-light-xl:0 8px 16px 0 #1c1c1e1f;--fm-shadow-light-2xl:0 12px 24px 0 #1c1c1e24;--fm-shadow-light-top-sm:0 -2px 4px 0 #1c1c1e0f;--fm-shadow-light-top-md:0 -4px 6px 0 #1c1c1e14;--fm-shadow-light-side-left-md:-4px 0 6px 0 #1c1c1e14;--fm-shadow-light-side-right-md:4px 0 6px 0 #1c1c1e14;--fm-shadow-light-text-sm:0 1px 1px 0 #1c1c1e0d;--fm-shadow-light-text-md:0 1px 2px 0 #1c1c1e1a;--fm-shadow-light-text-lg:0 2px 4px 0 #1c1c1e26;--fm-shadow-light-text-xl:0 3px 6px 0 #1c1c1e33;--fm-shadow-dark-xs:0 1px 2px 0 #ffffff0a;--fm-shadow-dark-sm:0 2px 4px 0 #ffffff0f;--fm-shadow-dark-md:0 4px 6px 0 #ffffff14;--fm-shadow-dark-lg:0 6px 10px 0 #ffffff1a;--fm-shadow-dark-xl:0 8px 16px 0 #ffffff1f;--fm-shadow-dark-2xl:0 12px 24px 0 #ffffff24;--fm-shadow-dark-top-sm:0 -2px 4px 0 #ffffff0f;--fm-shadow-dark-top-md:0 -4px 6px 0 #ffffff14;--fm-shadow-dark-side-left-md:-4px 0 6px 0 #ffffff14;--fm-shadow-dark-side-right-md:4px 0 6px 0 #ffffff14;--fm-shadow-dark-text-sm:0 1px 1px 0 #ffffff0d;--fm-shadow-dark-text-md:0 1px 2px 0 #ffffff1a;--fm-shadow-dark-text-lg:0 2px 4px 0 #ffffff26;--fm-shadow-dark-text-xl:0 3px 6px 0 #fff3;--fm-outer-shadow-light-brand:0 0 0 4px #ff782352;--fm-outer-shadow-light-error:0 0 0 4px #ff3b3052;--fm-outer-shadow-dark-brand:0 0 0 4px #ff782366;--fm-outer-shadow-dark-error:0 0 0 4px #ff3b3066;--fm-inner-shadow-light-sm:inset 0 1px 2px 0 #1c1c1e0f;--fm-inner-shadow-light-md:inset 0 2px 4px 0 #1c1c1e1a;--fm-inner-shadow-light-brand:0 2px 4px 0 #1c1c1e14, inset 0 0 0 1.25px #1c1c1e1f;--fm-inner-shadow-dark-sm:inset 0 1px 2px 0 #ffffff0f;--fm-inner-shadow-dark-md:inset 0 2px 4px 0 #ffffff1a;--fm-inner-shadow-dark-brand:0 2px 4px 0 #ffffff14, inset 0 0 0 1.25px #ffffff1f;--fm-blur-sm:8px;--fm-blur-md:16px;--fm-blur-lg:24px;--fm-blur-xl:40px}:root,[data-fm-theme=light]{--fm-shadow-xs:var(--fm-shadow-light-xs);--fm-shadow-sm:var(--fm-shadow-light-sm);--fm-shadow-md:var(--fm-shadow-light-md);--fm-shadow-lg:var(--fm-shadow-light-lg);--fm-shadow-xl:var(--fm-shadow-light-xl);--fm-shadow-2xl:var(--fm-shadow-light-2xl);--fm-shadow-top-sm:var(--fm-shadow-light-top-sm);--fm-shadow-top-md:var(--fm-shadow-light-top-md);--fm-shadow-side-left-md:var(--fm-shadow-light-side-left-md);--fm-shadow-side-right-md:var(--fm-shadow-light-side-right-md);--fm-shadow-text-sm:var(--fm-shadow-light-text-sm);--fm-shadow-text-md:var(--fm-shadow-light-text-md);--fm-shadow-text-lg:var(--fm-shadow-light-text-lg);--fm-shadow-text-xl:var(--fm-shadow-light-text-xl);--fm-outer-shadow-brand:var(--fm-outer-shadow-light-brand);--fm-outer-shadow-error:var(--fm-outer-shadow-light-error);--fm-inner-shadow-sm:var(--fm-inner-shadow-light-sm);--fm-inner-shadow-md:var(--fm-inner-shadow-light-md);--fm-inner-shadow-brand:var(--fm-inner-shadow-light-brand)}[data-fm-theme=dark]{--fm-shadow-xs:var(--fm-shadow-dark-xs);--fm-shadow-sm:var(--fm-shadow-dark-sm);--fm-shadow-md:var(--fm-shadow-dark-md);--fm-shadow-lg:var(--fm-shadow-dark-lg);--fm-shadow-xl:var(--fm-shadow-dark-xl);--fm-shadow-2xl:var(--fm-shadow-dark-2xl);--fm-shadow-top-sm:var(--fm-shadow-dark-top-sm);--fm-shadow-top-md:var(--fm-shadow-dark-top-md);--fm-shadow-side-left-md:var(--fm-shadow-dark-side-left-md);--fm-shadow-side-right-md:var(--fm-shadow-dark-side-right-md);--fm-shadow-text-sm:var(--fm-shadow-dark-text-sm);--fm-shadow-text-md:var(--fm-shadow-dark-text-md);--fm-shadow-text-lg:var(--fm-shadow-dark-text-lg);--fm-shadow-text-xl:var(--fm-shadow-dark-text-xl);--fm-outer-shadow-brand:var(--fm-outer-shadow-dark-brand);--fm-outer-shadow-error:var(--fm-outer-shadow-dark-error);--fm-inner-shadow-sm:var(--fm-inner-shadow-dark-sm);--fm-inner-shadow-md:var(--fm-inner-shadow-dark-md);--fm-inner-shadow-brand:var(--fm-inner-shadow-dark-brand)}[data-fm-theme]{color:var(--fm-text-primary)}.fm-icon{width:var(--fm-icon-size,24px);height:var(--fm-icon-size,24px);font-size:var(--fm-icon-size,24px);vertical-align:middle;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.fm-icon__svg{fill:none;width:100%;height:100%;display:block}.fm-icon--rounded,.fm-icon--outlined{text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:antialiased;text-rendering:optimizelegibility;direction:ltr;font-style:normal;font-weight:400}.fm-icon--rounded{font-family:Material Symbols Filled}.fm-icon--outlined{font-family:Material Symbols Outlined}.fm-alert{--fm-alert-surface:var(--fm-bg-inverse);--fm-alert-fg:var(--fm-text-inverse);--fm-alert-icon:var(--fm-icon-inverse);--fm-alert-progress:var(--fm-bg-default);--fm-alert-pad-x:var(--fm-spacing-16);--fm-alert-pad-y:var(--fm-spacing-12);box-sizing:border-box;border-radius:var(--fm-radius-lg);background-color:var(--fm-alert-surface);color:var(--fm-alert-fg);box-shadow:var(--fm-shadow-sm);flex-direction:column;display:flex;overflow:hidden}@media (width>=768px){.fm-alert{--fm-alert-pad-x:var(--fm-spacing-24);--fm-alert-pad-y:var(--fm-spacing-16)}}.fm-alert__body{align-items:center;gap:var(--fm-spacing-12);padding:var(--fm-alert-pad-y) var(--fm-alert-pad-x);display:flex}.fm-alert__icon{--fm-icon-size:32px;width:32px;height:32px;color:var(--fm-alert-icon);flex:none;justify-content:center;align-items:center;display:inline-flex}.fm-alert__danger-mark{width:var(--fm-spacing-24);height:var(--fm-spacing-24);border-radius:var(--fm-radius-full);background-color:var(--fm-alert-icon);justify-content:center;align-items:center;display:inline-flex}.fm-alert__danger-bar{width:var(--fm-spacing-12);height:var(--fm-border-width-medium);border-radius:var(--fm-radius-full);background-color:var(--fm-icon-inverse)}.fm-alert__text{flex-direction:column;flex:auto;min-width:0;display:flex}.fm-alert__close{--fm-icon-size:var(--fm-spacing-20);width:var(--fm-spacing-40);height:var(--fm-spacing-40);border-radius:var(--fm-radius-sm);color:var(--fm-alert-fg);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fm-alert__progress{border-radius:var(--fm-radius-full);background-color:var(--fm-alert-progress);height:2px}.fm-alert__progress--animated{transform-origin:0;animation:fm-alert-drain var(--fm-alert-duration,3s) linear forwards}@keyframes fm-alert-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.fm-alert--info{--fm-alert-surface:var(--fm-bg-info);--fm-alert-fg:var(--fm-text-on-info);--fm-alert-icon:var(--fm-icon-on-info);--fm-alert-progress:var(--fm-icon-on-info)}.fm-alert--success{--fm-alert-surface:var(--fm-bg-success);--fm-alert-fg:var(--fm-text-on-success);--fm-alert-icon:var(--fm-icon-on-success);--fm-alert-progress:var(--fm-icon-on-success)}.fm-alert--warning{--fm-alert-surface:var(--fm-bg-warning);--fm-alert-fg:var(--fm-text-on-warning);--fm-alert-icon:var(--fm-icon-on-warning);--fm-alert-progress:var(--fm-icon-on-warning)}.fm-alert--danger{--fm-alert-surface:var(--fm-bg-error);--fm-alert-fg:var(--fm-text-on-error);--fm-alert-icon:var(--fm-icon-on-error);--fm-alert-progress:var(--fm-icon-on-error)}.fm-badge{--fm-badge-gap:var(--fm-spacing-2);justify-content:center;align-items:center;gap:var(--fm-badge-gap);box-sizing:border-box;border-radius:var(--fm-radius-xs);background-color:var(--fm-badge-surface);color:var(--fm-badge-fg);padding:var(--fm-badge-pad-y) var(--fm-badge-pad-x);-webkit-user-select:none;user-select:none;display:inline-flex}.fm-badge__label{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;overflow:hidden}.fm-badge__icon{color:var(--fm-badge-icon,var(--fm-badge-fg));flex:none;display:inline-flex}.fm-badge--sm{--fm-badge-pad-x:var(--fm-spacing-4);--fm-badge-pad-y:var(--fm-spacing-2);--fm-badge-count-size:16px}.fm-badge--md{--fm-badge-pad-x:var(--fm-spacing-6);--fm-badge-pad-y:var(--fm-spacing-4);--fm-badge-count-size:24px}.fm-badge--lg{--fm-badge-pad-x:var(--fm-spacing-8);--fm-badge-pad-y:var(--fm-spacing-4);--fm-badge-count-size:32px}.fm-badge--filled{--fm-badge-surface:var(--fm-badge-bg)}.fm-badge--outlined{--fm-badge-surface:transparent;box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-badge-border)}.fm-badge--count{--fm-badge-surface:var(--fm-action-primary-bg-subtle);--fm-badge-fg:var(--fm-text-brand);width:var(--fm-badge-count-size);height:var(--fm-badge-count-size);border-radius:calc(var(--fm-badge-count-size) / 2);padding:0}.fm-badge__count{line-height:1}.fm-badge--count-overflow{width:auto;min-width:var(--fm-badge-count-size);padding:0 calc(var(--fm-badge-count-size) * .375)}.fm-badge--brand{--fm-badge-bg:var(--fm-badge-bg-brand);--fm-badge-fg:var(--fm-badge-text-on-brand);--fm-badge-icon:var(--fm-badge-icon-on-brand);--fm-badge-border:var(--fm-badge-border-brand)}.fm-badge--info{--fm-badge-bg:var(--fm-bg-info);--fm-badge-fg:var(--fm-text-on-info);--fm-badge-icon:var(--fm-text-on-info);--fm-badge-border:var(--fm-border-info)}.fm-badge--success{--fm-badge-bg:var(--fm-bg-success);--fm-badge-fg:var(--fm-text-on-success);--fm-badge-icon:var(--fm-text-on-success);--fm-badge-border:var(--fm-border-success)}.fm-badge--warning{--fm-badge-bg:var(--fm-bg-warning);--fm-badge-fg:var(--fm-text-on-warning);--fm-badge-icon:var(--fm-text-on-warning);--fm-badge-border:var(--fm-border-warning)}.fm-badge--error{--fm-badge-bg:var(--fm-bg-error);--fm-badge-fg:var(--fm-text-on-error);--fm-badge-icon:var(--fm-text-on-error);--fm-badge-border:var(--fm-border-error)}.fm-badge--aqua{--fm-badge-bg:var(--fm-badge-bg-aqua);--fm-badge-fg:var(--fm-badge-text-on-aqua);--fm-badge-icon:var(--fm-badge-icon-on-aqua);--fm-badge-border:var(--fm-badge-border-aqua)}.fm-badge--berry{--fm-badge-bg:var(--fm-badge-bg-berry);--fm-badge-fg:var(--fm-badge-text-on-berry);--fm-badge-icon:var(--fm-badge-icon-on-berry);--fm-badge-border:var(--fm-badge-border-berry)}.fm-badge--blossom{--fm-badge-bg:var(--fm-badge-bg-blossom);--fm-badge-fg:var(--fm-badge-text-on-blossom);--fm-badge-icon:var(--fm-badge-icon-on-blossom);--fm-badge-border:var(--fm-badge-border-blossom)}.fm-badge--lime{--fm-badge-bg:var(--fm-badge-bg-lime);--fm-badge-fg:var(--fm-badge-text-on-lime);--fm-badge-icon:var(--fm-badge-icon-on-lime);--fm-badge-border:var(--fm-badge-border-lime)}.fm-badge--mustard{--fm-badge-bg:var(--fm-badge-bg-mustard);--fm-badge-fg:var(--fm-badge-text-on-mustard);--fm-badge-icon:var(--fm-badge-icon-on-mustard);--fm-badge-border:var(--fm-badge-border-mustard)}.fm-badge--stone{--fm-badge-bg:var(--fm-badge-bg-stone);--fm-badge-fg:var(--fm-badge-text-on-stone);--fm-badge-icon:var(--fm-badge-icon-on-stone);--fm-badge-border:var(--fm-badge-border-stone)}.fm-badge--grape{--fm-badge-bg:var(--fm-badge-bg-grape);--fm-badge-fg:var(--fm-badge-text-on-grape);--fm-badge-icon:var(--fm-badge-icon-on-grape);--fm-badge-border:var(--fm-badge-border-grape)}.fm-badge-anchor{align-items:center;gap:var(--fm-spacing-8);-webkit-user-select:none;user-select:none;display:inline-flex;position:relative}.fm-badge--overlay{--fm-badge-surface:var(--fm-text-primary);--fm-badge-fg:var(--fm-text-inverse);border-radius:var(--fm-radius-full);padding:0}.fm-badge--overlay-pinned{position:absolute;top:-2px;right:-4px}.fm-badge--overlay:not(.fm-badge--dot){min-width:16px;height:16px;padding:0 var(--fm-spacing-4)}.fm-badge--dot{width:6px;min-width:0;height:6px;padding:0}.fm-badge--overlay-pinned.fm-badge--dot{top:0;right:0}.fm-badge--v1-info{--fm-badge-surface:var(--fm-feature-aqua-accent);--fm-badge-fg:var(--fm-text-inverse)}.fm-badge--v1-success{--fm-badge-surface:var(--fm-feature-lime-accent);--fm-badge-fg:var(--fm-text-inverse)}.fm-badge--v1-warning{--fm-badge-surface:var(--fm-feature-mustard-accent);--fm-badge-fg:var(--fm-text-primary)}.fm-badge--v1-critical{--fm-badge-surface:var(--fm-feature-berry-accent);--fm-badge-fg:var(--fm-text-inverse)}.fm-badge--v1-neutral{--fm-badge-surface:var(--fm-text-primary);--fm-badge-fg:var(--fm-text-inverse)}.fm-badge--v1-numeric{--fm-badge-surface:var(--fm-text-error);--fm-badge-fg:var(--fm-text-inverse)}.fm-button{--fm-button-height:44px;--fm-button-padding-x:var(--fm-spacing-16);--fm-button-gap:var(--fm-spacing-8);--fm-button-icon-size:var(--fm-spacing-20);--fm-button-radius:var(--fm-radius-sm);--fm-button-border-width:var(--fm-border-width-none);--fm-button-border-color:transparent;--fm-button-bg:transparent;--fm-button-bg-hover:var(--fm-button-bg);--fm-button-bg-active:var(--fm-button-bg-hover);--fm-button-fg:var(--fm-text-primary);--fm-button-effects:0 0 #0000;--fm-button-effects-pressed:var(--fm-button-effects);--fm-button-glow:0 0 #0000;--fm-button-focus-ring:0 0 #0000;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--fm-button-gap);height:var(--fm-button-height);padding:0 var(--fm-button-padding-x);border:var(--fm-button-border-width) solid var(--fm-button-border-color);border-radius:var(--fm-button-radius);background-color:var(--fm-button-bg);color:var(--fm-button-fg);box-shadow:var(--fm-button-focus-ring), var(--fm-button-effects);font-family:var(--fm-font-family-body), sans-serif;font-size:var(--fm-font-size-14);font-weight:var(--fm-font-weight-semi-bold);line-height:var(--fm-line-height-14);letter-spacing:.01em;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;appearance:none;-webkit-tap-highlight-color:transparent;background-image:none;text-decoration:none;display:inline-flex}.fm-button:focus{outline:none}.fm-button--xs{--fm-button-height:32px}.fm-button--sm{--fm-button-height:40px}.fm-button--md{--fm-button-height:44px}.fm-button--lg{--fm-button-height:52px}@media (width>=768px){.fm-button--xs{--fm-button-height:28px}.fm-button--sm{--fm-button-height:36px}.fm-button--md{--fm-button-height:40px}.fm-button--lg{--fm-button-height:48px}.fm-button:not(.fm-button--xs){font-size:var(--fm-font-size-16);line-height:var(--fm-line-height-16);letter-spacing:.0025em}}@media (width>=1024px){.fm-button--xs{--fm-button-height:24px}.fm-button--sm{--fm-button-height:32px}.fm-button--md{--fm-button-height:36px}.fm-button--lg{--fm-button-height:44px}}.fm-button--primary{--fm-button-bg:var(--fm-action-primary-bg);--fm-button-bg-hover:var(--fm-action-primary-bg-hover);--fm-button-fg:var(--fm-text-inverse);--fm-button-effects:var(--fm-inner-shadow-brand);--fm-button-glow:var(--fm-outer-shadow-brand)}.fm-button--secondary{--fm-button-bg:var(--fm-action-secondary-bg);--fm-button-bg-hover:var(--fm-action-secondary-bg-hover);--fm-button-fg:var(--fm-text-primary);--fm-button-effects:var(--fm-inner-shadow-brand);--fm-button-effects-pressed:0 0 #0000;--fm-button-glow:var(--fm-outer-shadow-brand)}.fm-button--danger{--fm-button-bg:var(--fm-action-danger-bg);--fm-button-bg-hover:var(--fm-action-danger-bg-hover);--fm-button-fg:var(--fm-text-inverse);--fm-button-effects:var(--fm-inner-shadow-brand);--fm-button-glow:var(--fm-outer-shadow-error)}.fm-button--ghost{--fm-button-bg:transparent;--fm-button-bg-hover:var(--fm-action-ghost-bg-hover);--fm-button-bg-active:var(--fm-action-ghost-bg-active);--fm-button-fg:var(--fm-text-primary);--fm-button-glow:var(--fm-outer-shadow-brand)}.fm-button--legacy-plain{--fm-button-fg:var(--fm-text-brand)}.fm-button--legacy-fab{--fm-button-height:var(--fm-spacing-56);--fm-button-radius:var(--fm-radius-full);min-width:var(--fm-spacing-56);padding:0 var(--fm-spacing-16)}.fm-button:enabled:hover{background-color:var(--fm-button-bg-hover)}.fm-button:enabled:focus-visible{background-color:var(--fm-button-bg-hover);box-shadow:var(--fm-button-focus-ring), var(--fm-button-effects), var(--fm-button-glow)}.fm-button--secondary:enabled:focus-visible{--fm-button-focus-ring:inset 0 0 0 1px var(--fm-border-brand)}.fm-button:enabled:active{background-color:var(--fm-button-bg-active);background-image:linear-gradient(var(--fm-state-pressed), var(--fm-state-pressed));box-shadow:var(--fm-button-focus-ring), var(--fm-button-effects-pressed), var(--fm-button-glow)}.fm-button--ghost:enabled:active{background-image:none}.fm-button:disabled{--fm-button-bg:var(--fm-action-disabled-bg);--fm-button-fg:var(--fm-text-disabled);cursor:not-allowed}.fm-button--ghost:disabled{--fm-button-bg:transparent}.fm-button--loading{pointer-events:none}.fm-button__labels{display:contents}.fm-button__label,.fm-button__sub-label{overflow-wrap:anywhere;min-width:0}.fm-button__icon{width:var(--fm-button-icon-size);height:var(--fm-button-icon-size);flex:none;justify-content:center;align-items:center;display:inline-flex}.fm-button__icon>svg{width:100%;height:100%}.fm-button__icon--legacy{width:var(--fm-spacing-24);height:var(--fm-spacing-24)}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v232/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOelbd5zrDAt.woff)format("woff");font-display:block}@font-face{font-family:Material Symbols Filled;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v232/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzazHD_dY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOelbd5zrDAt.woff)format("woff");font-display:block}.fm-button__legacy-icon{font-size:var(--fm-spacing-24);letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"liga";-moz-osx-font-smoothing:grayscale;direction:ltr;font-style:normal;font-weight:400;line-height:1;display:inline-block}.fm-button__legacy-icon--outline{font-family:Material Symbols Outlined,sans-serif}.fm-button__legacy-icon--filled{font-family:Material Symbols Filled,sans-serif}.fm-button--icon-only{width:var(--fm-button-height);padding:0}.fm-button--layout-dotted,.fm-button--layout-spaced{width:100%}.fm-button--layout-dotted .fm-button__labels,.fm-button--layout-spaced .fm-button__labels{flex:auto;justify-content:space-between;align-items:center;min-width:0;display:flex}.fm-button__dot{background-color:#ffffff52;border-radius:50%;flex:none;width:4px;height:4px}.fm-button__spinner{--fm-button-spinner-size:18px;box-sizing:border-box;width:var(--fm-button-spinner-size);height:var(--fm-button-spinner-size);animation:fm-button-spin var(--fm-duration-slower,.6s) linear infinite;border:2px solid;border-top-color:#0000;border-radius:50%;flex:none}.fm-button--lg .fm-button__spinner{--fm-button-spinner-size:20px}.fm-button--md .fm-button__spinner{--fm-button-spinner-size:18px}.fm-button--sm .fm-button__spinner,.fm-button--xs .fm-button__spinner{--fm-button-spinner-size:16px}@keyframes fm-button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.fm-button__spinner{animation-duration:2s}}.fm-checkbox{--fm-checkbox-size:24px;--fm-checkbox-surface:var(--fm-action-secondary-bg);--fm-checkbox-border:var(--fm-border-default);--fm-checkbox-glyph:var(--fm-icon-inverse);--fm-checkbox-glow:0 0 #0000;cursor:pointer;color:var(--fm-text-primary);align-items:center;gap:12px;display:inline-flex}.fm-checkbox--disabled{cursor:not-allowed}.fm-checkbox__box{box-sizing:border-box;width:var(--fm-checkbox-size);height:var(--fm-checkbox-size);border-radius:var(--fm-radius-sm);background-color:var(--fm-checkbox-surface);box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-checkbox-border), var(--fm-shadow-xs);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.fm-checkbox__input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.fm-checkbox__glyph{--fm-icon-size:calc(var(--fm-checkbox-size) * 5 / 6);color:var(--fm-checkbox-glyph);pointer-events:none;position:relative}.fm-checkbox__labels{gap:var(--fm-spacing-4);flex-direction:column;min-width:0;display:inline-flex}.fm-checkbox__sublabel{color:var(--fm-text-secondary)}.fm-checkbox--sm{--fm-checkbox-size:24px}.fm-checkbox--md{--fm-checkbox-size:28px}.fm-checkbox--lg{--fm-checkbox-size:32px}@media (width>=1024px){.fm-checkbox--sm{--fm-checkbox-size:20px}.fm-checkbox--md{--fm-checkbox-size:24px}.fm-checkbox--lg{--fm-checkbox-size:28px}}.fm-checkbox:hover:not(.fm-checkbox--disabled):not(.fm-checkbox--selected){--fm-checkbox-border:var(--fm-border-medium)}.fm-checkbox--pressed:not(.fm-checkbox--disabled):not(.fm-checkbox--selected){--fm-checkbox-border:var(--fm-border-strong)}.fm-checkbox--error:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-danger-bg-subtle);--fm-checkbox-border:var(--fm-border-error);--fm-checkbox-glyph:var(--fm-icon-error)}.fm-checkbox--error.fm-checkbox--pressed:not(.fm-checkbox--selected):not(.fm-checkbox--disabled){--fm-checkbox-glow:var(--fm-outer-shadow-error)}.fm-checkbox--selected:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-primary-bg);--fm-checkbox-border:transparent;--fm-checkbox-glyph:var(--fm-icon-inverse)}.fm-checkbox--selected.fm-checkbox--pressed:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-primary-bg-hover)}.fm-checkbox--selected.fm-checkbox--error:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-danger-bg-subtle);--fm-checkbox-glyph:var(--fm-icon-error)}.fm-checkbox--selected.fm-checkbox--error.fm-checkbox--pressed:not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-danger-bg-hover);--fm-checkbox-glyph:var(--fm-icon-inverse)}.fm-checkbox:has(.fm-checkbox__input:focus-visible):not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-secondary-bg);--fm-checkbox-border:var(--fm-border-brand);--fm-checkbox-glyph:var(--fm-action-primary-bg);--fm-checkbox-glow:var(--fm-outer-shadow-brand)}.fm-checkbox--error:has(.fm-checkbox__input:focus-visible):not(.fm-checkbox--disabled){--fm-checkbox-surface:var(--fm-action-danger-bg-subtle);--fm-checkbox-border:var(--fm-border-error);--fm-checkbox-glyph:var(--fm-icon-error);--fm-checkbox-glow:var(--fm-outer-shadow-error)}.fm-checkbox--disabled{--fm-checkbox-surface:var(--fm-action-disabled-bg);--fm-checkbox-border:var(--fm-border-default);--fm-checkbox-glyph:var(--fm-icon-disabled)}.fm-checkbox--error.fm-checkbox--pressed:not(.fm-checkbox--selected) .fm-checkbox__box{box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-checkbox-border), var(--fm-checkbox-glow)}.fm-checkbox:has(.fm-checkbox__input:focus-visible) .fm-checkbox__box{box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-checkbox-border), var(--fm-checkbox-glow)}.fm-chip{--fm-chip-height:36px;--fm-chip-surface:var(--fm-surface-default);--fm-chip-overlay:transparent;--fm-chip-border:var(--fm-border-default);--fm-chip-border-width:var(--fm-border-width-thin);--fm-chip-fg:var(--fm-text-primary);--fm-chip-icon:var(--fm-icon-primary);--fm-chip-accent:var(--fm-icon-brand);--fm-chip-glow:0 0 #0000;justify-content:center;align-items:center;gap:var(--fm-spacing-4);box-sizing:border-box;height:var(--fm-chip-height);padding:0 var(--fm-spacing-12);border-radius:var(--fm-radius-sm);background-color:var(--fm-chip-surface);background-image:linear-gradient(var(--fm-chip-overlay), var(--fm-chip-overlay));color:var(--fm-chip-fg);cursor:pointer;box-shadow:inset 0 0 0 var(--fm-chip-border-width) var(--fm-chip-border), var(--fm-shadow-xs);border:none;display:inline-flex}.fm-chip:disabled{cursor:not-allowed}.fm-chip__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fm-chip__icon{--fm-icon-size:var(--fm-spacing-20);color:var(--fm-chip-icon);flex:none;display:inline-flex}.fm-chip__indicator-slot{width:var(--fm-spacing-20);height:var(--fm-spacing-20);flex:none;justify-content:center;align-items:center;display:inline-flex}.fm-chip__indicator{width:var(--fm-spacing-12);height:var(--fm-spacing-12);border-radius:var(--fm-radius-full);background-color:var(--fm-chip-accent)}.fm-chip__count{box-sizing:border-box;min-width:var(--fm-spacing-20);height:var(--fm-spacing-20);padding:0 var(--fm-spacing-4);border-radius:var(--fm-radius-full);background-color:var(--fm-chip-accent);color:var(--fm-text-inverse);flex:none;justify-content:center;align-items:center;display:inline-flex}.fm-chip__remove{--fm-icon-size:var(--fm-spacing-16);color:var(--fm-chip-icon);cursor:pointer;flex:none;display:inline-flex}.fm-chip:hover:not(:disabled){--fm-chip-overlay:var(--fm-state-hover)}.fm-chip--pressed:not(:disabled){--fm-chip-overlay:var(--fm-state-pressed)}.fm-chip:hover:not(:disabled):not(.fm-chip--selected),.fm-chip--pressed:not(:disabled):not(.fm-chip--selected){--fm-chip-border:var(--fm-border-medium)}.fm-chip--selected:not(:disabled){--fm-chip-border:var(--fm-border-brand);--fm-chip-border-width:var(--fm-border-width-regular)}.fm-chip:disabled{--fm-chip-surface:var(--fm-surface-sunken);--fm-chip-overlay:transparent;--fm-chip-border:var(--fm-border-medium);--fm-chip-fg:var(--fm-text-disabled);--fm-chip-icon:var(--fm-icon-disabled);--fm-chip-accent:var(--fm-border-medium)}.fm-chip:focus-visible{--fm-chip-border:var(--fm-border-brand);--fm-chip-border-width:var(--fm-border-width-regular);--fm-chip-glow:var(--fm-outer-shadow-brand);box-shadow:inset 0 0 0 var(--fm-chip-border-width) var(--fm-chip-border), var(--fm-chip-glow);outline:none}.fm-chip--compact{--fm-chip-height:22px;padding:0 var(--fm-spacing-8)}.fm-chip--v1-plain{--fm-chip-surface:var(--fm-bg-subtle);--fm-chip-border:transparent}.fm-chip--v1-plain.fm-chip--v1-selected{--fm-chip-surface:var(--fm-text-primary);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse)}.fm-chip--v1-neutral{--fm-chip-surface:var(--fm-text-primary);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse);--fm-chip-border:transparent}.fm-chip--v1-info{--fm-chip-surface:var(--fm-feature-aqua-accent);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse);--fm-chip-border:transparent}.fm-chip--v1-success{--fm-chip-surface:var(--fm-feature-lime-accent);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse);--fm-chip-border:transparent}.fm-chip--v1-critical{--fm-chip-surface:var(--fm-feature-berry-accent);--fm-chip-fg:var(--fm-text-inverse);--fm-chip-icon:var(--fm-text-inverse);--fm-chip-border:transparent}.fm-chip--v1-warning{--fm-chip-surface:var(--fm-feature-mustard-accent);--fm-chip-fg:var(--fm-text-primary);--fm-chip-icon:var(--fm-text-primary);--fm-chip-border:transparent}.fm-radio{--fm-radio-size:24px;--fm-radio-ring-width:var(--fm-border-width-thin);--fm-radio-surface:var(--fm-action-secondary-bg);--fm-radio-ring:var(--fm-border-default);--fm-radio-dot:var(--fm-action-primary-bg);--fm-radio-glow:0 0 #0000;align-items:center;gap:var(--fm-spacing-16);cursor:pointer;color:var(--fm-text-primary);display:inline-flex}.fm-radio--disabled{cursor:not-allowed}.fm-radio__circle{box-sizing:border-box;width:var(--fm-radio-size);height:var(--fm-radio-size);border-radius:var(--fm-radius-full);background-color:var(--fm-radio-surface);box-shadow:inset 0 0 0 var(--fm-radio-ring-width) var(--fm-radio-ring), var(--fm-shadow-xs);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.fm-radio__input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.fm-radio__dot{width:calc(var(--fm-radio-size) * 10 / 24);height:calc(var(--fm-radio-size) * 10 / 24);border-radius:var(--fm-radius-full);background-color:var(--fm-radio-dot);pointer-events:none}.fm-radio__labels{gap:var(--fm-spacing-4);flex-direction:column;min-width:0;display:inline-flex}.fm-radio__sublabel{color:var(--fm-text-secondary)}.fm-radio--sm{--fm-radio-size:24px;--fm-radio-selected-ring:1px}.fm-radio--md{--fm-radio-size:28px;--fm-radio-selected-ring:1.5px}.fm-radio--lg{--fm-radio-size:32px;--fm-radio-selected-ring:2.5px}@media (width>=1024px){.fm-radio--sm{--fm-radio-size:20px;--fm-radio-selected-ring:1px}.fm-radio--md{--fm-radio-size:24px;--fm-radio-selected-ring:1px}.fm-radio--lg{--fm-radio-size:28px;--fm-radio-selected-ring:1.5px}}.fm-radio--selected:not(.fm-radio--disabled){--fm-radio-ring:var(--fm-border-brand);--fm-radio-ring-width:var(--fm-radio-selected-ring)}.fm-radio:hover:not(.fm-radio--disabled):not(.fm-radio--selected){--fm-radio-ring:var(--fm-border-medium)}.fm-radio--pressed:not(.fm-radio--disabled):not(.fm-radio--selected){--fm-radio-ring:var(--fm-border-strong)}.fm-radio--selected.fm-radio--pressed:not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-primary-bg-hover);--fm-radio-ring:transparent;--fm-radio-dot:#fff9}.fm-radio--error:not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-danger-bg-subtle);--fm-radio-ring:var(--fm-border-error);--fm-radio-dot:var(--fm-border-error)}.fm-radio--error.fm-radio--selected.fm-radio--pressed:not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-danger-bg-hover);--fm-radio-ring:transparent;--fm-radio-dot:#fff9}.fm-radio:has(.fm-radio__input:focus-visible):not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-secondary-bg);--fm-radio-ring:var(--fm-border-brand);--fm-radio-glow:var(--fm-outer-shadow-brand)}.fm-radio--error:has(.fm-radio__input:focus-visible):not(.fm-radio--disabled){--fm-radio-surface:var(--fm-action-danger-bg-subtle);--fm-radio-ring:var(--fm-border-error);--fm-radio-glow:var(--fm-outer-shadow-error)}.fm-radio--disabled{--fm-radio-surface:var(--fm-action-disabled-bg);--fm-radio-ring:transparent;--fm-radio-dot:var(--fm-icon-disabled)}.fm-radio:has(.fm-radio__input:focus-visible) .fm-radio__circle{box-shadow:inset 0 0 0 var(--fm-radio-ring-width) var(--fm-radio-ring), var(--fm-radio-glow)}.fm-radio-group{gap:var(--fm-spacing-8);flex-direction:column;display:flex}.fm-radio-group__label{color:var(--fm-text-primary)}.fm-radio-group__items{gap:var(--fm-spacing-8);flex-direction:column;display:flex}.fm-radio-group--inline>.fm-radio-group__items{align-items:center;gap:var(--fm-spacing-16);flex-direction:row}.fm-search-bar{--fm-search-height:44px;--fm-search-surface:var(--fm-surface-raised);--fm-search-border:var(--fm-border-default);--fm-search-fg:var(--fm-text-primary);--fm-search-placeholder:var(--fm-text-muted);--fm-search-icon:var(--fm-icon-primary);--fm-search-glow:0 0 #0000;--fm-search-shadow:var(--fm-shadow-text-sm);align-items:center;gap:var(--fm-spacing-12);box-sizing:border-box;width:100%;height:var(--fm-search-height);padding:0 var(--fm-spacing-8);border-radius:var(--fm-radius-md);background-color:var(--fm-search-surface);box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-search-border), var(--fm-search-shadow), var(--fm-search-glow);display:flex}.fm-search-bar__leading{--fm-icon-size:var(--fm-spacing-16);color:var(--fm-search-icon);flex:none;align-items:center;display:inline-flex}.fm-search-bar__control{min-width:0;height:20px;color:var(--fm-search-fg);appearance:none;background:0 0;border:none;outline:none;flex:auto;margin:0;padding:0}.fm-search-bar__control::placeholder{color:var(--fm-search-placeholder);opacity:1}.fm-search-bar__control::-webkit-search-cancel-button{appearance:none;display:none}.fm-search-bar__control::-webkit-search-decoration{appearance:none;display:none}.fm-search-bar__clear{--fm-icon-size:var(--fm-spacing-20);width:var(--fm-spacing-20);height:var(--fm-spacing-20);color:var(--fm-icon-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.fm-search-bar--sm{--fm-search-height:40px}.fm-search-bar--md{--fm-search-height:44px}.fm-search-bar--lg{--fm-search-height:52px}@media (width>=768px){.fm-search-bar--sm{--fm-search-height:36px}.fm-search-bar--md{--fm-search-height:40px}.fm-search-bar--lg{--fm-search-height:48px}}@media (width>=1024px){.fm-search-bar--sm{--fm-search-height:32px}.fm-search-bar--md{--fm-search-height:36px}.fm-search-bar--lg{--fm-search-height:44px}}.fm-search-bar:not(.fm-search-bar--disabled):hover{--fm-search-border:var(--fm-border-medium)}.fm-search-bar:not(.fm-search-bar--disabled):focus-within{--fm-search-border:var(--fm-border-brand);--fm-search-shadow:0 0 #0000;--fm-search-glow:var(--fm-outer-shadow-brand)}.fm-search-bar--error,.fm-search-bar--error:hover,.fm-search-bar--error:focus-within{--fm-search-border:var(--fm-border-error);--fm-search-fg:var(--fm-text-error);--fm-search-placeholder:var(--fm-text-error);--fm-search-icon:var(--fm-icon-error);--fm-search-shadow:0 0 #0000;--fm-search-glow:var(--fm-outer-shadow-error)}.fm-search-bar--disabled{--fm-search-surface:var(--fm-surface-sunken);--fm-search-border:var(--fm-border-default);--fm-search-fg:var(--fm-text-disabled);--fm-search-placeholder:var(--fm-text-disabled);--fm-search-icon:var(--fm-icon-disabled);--fm-search-shadow:0 0 #0000}.fm-search-bar--disabled .fm-search-bar__control{cursor:not-allowed}.fm-switch{--fm-switch-track-w:52px;--fm-switch-track-h:28px;--fm-switch-inset:2px;--fm-switch-thumb:calc(var(--fm-switch-track-h) - var(--fm-switch-inset) * 2);--fm-switch-travel:calc(var(--fm-switch-track-w) - var(--fm-switch-thumb) - var(--fm-switch-inset) * 2);--fm-switch-surface:var(--fm-action-disabled-bg);--fm-switch-thumb-color:var(--fm-border-medium);--fm-switch-icon:var(--fm-action-disabled-fg);--fm-switch-glow:0 0 #0000;align-items:center;gap:var(--fm-spacing-8);cursor:pointer;color:var(--fm-text-primary);display:inline-flex}.fm-switch--label-right{flex-direction:row-reverse}.fm-switch--disabled{cursor:not-allowed;opacity:.32}.fm-switch__track{box-sizing:border-box;width:var(--fm-switch-track-w);height:var(--fm-switch-track-h);border-radius:var(--fm-radius-full);background-color:var(--fm-switch-surface);box-shadow:var(--fm-shadow-sm);flex:none;display:inline-block;position:relative}.fm-switch__input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.fm-switch__thumb{top:var(--fm-switch-inset);left:var(--fm-switch-inset);width:var(--fm-switch-thumb);height:var(--fm-switch-thumb);border-radius:var(--fm-radius-full);background-color:var(--fm-switch-thumb-color);box-shadow:var(--fm-shadow-sm);transition:transform var(--fm-duration-fast,.15s) ease-in-out;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.fm-switch__thumb-icon{--fm-icon-size:max(8px, calc(var(--fm-switch-thumb) - 8px));color:var(--fm-switch-icon)}.fm-switch__labels{gap:var(--fm-spacing-4);flex-direction:column;min-width:0;display:inline-flex}.fm-switch__sublabel{color:var(--fm-text-secondary)}.fm-switch--sm{--fm-switch-track-w:40px;--fm-switch-track-h:22px}.fm-switch--md{--fm-switch-track-w:52px;--fm-switch-track-h:28px}.fm-switch--lg{--fm-switch-track-w:60px;--fm-switch-track-h:32px}@media (width>=768px){.fm-switch--sm{--fm-switch-track-w:44px;--fm-switch-track-h:24px}}@media (width>=1024px){.fm-switch--sm{--fm-switch-track-w:32px;--fm-switch-track-h:18px}.fm-switch--md{--fm-switch-track-w:44px;--fm-switch-track-h:24px}.fm-switch--lg{--fm-switch-track-w:52px;--fm-switch-track-h:28px}}.fm-switch--on{--fm-switch-surface:var(--fm-action-primary-bg);--fm-switch-thumb-color:var(--fm-surface-raised);--fm-switch-icon:var(--fm-action-primary-bg)}.fm-switch--on .fm-switch__thumb{transform:translateX(var(--fm-switch-travel))}.fm-switch--on.fm-switch--pressed{--fm-switch-surface:var(--fm-action-primary-bg-hover)}.fm-switch--pressed:not(.fm-switch--on){--fm-switch-surface:var(--fm-action-disabled-fg)}.fm-switch:not(.fm-switch--on):has(.fm-switch__thumb-icon){--fm-switch-thumb-color:var(--fm-surface-raised)}.fm-switch:has(.fm-switch__input:focus-visible):not(.fm-switch--disabled){--fm-switch-glow:var(--fm-outer-shadow-brand)}.fm-switch:has(.fm-switch__input:focus-visible) .fm-switch__track{box-shadow:var(--fm-switch-glow)}.fm-field{--fm-field-pad-x:var(--fm-spacing-8);--fm-field-pad-y:var(--fm-spacing-12);--fm-field-radius:var(--fm-radius-md);--fm-field-surface:var(--fm-surface-raised);--fm-field-border:var(--fm-border-default);--fm-field-fg:var(--fm-text-primary);--fm-field-placeholder:var(--fm-text-muted);--fm-field-affix:var(--fm-icon-secondary);--fm-field-label:var(--fm-text-primary);--fm-field-helper:var(--fm-text-secondary);--fm-field-glow:0 0 #0000;--fm-field-shadow:var(--fm-shadow-xs);gap:var(--fm-spacing-4);flex-direction:column;width:100%;display:flex}.fm-field__label{align-items:baseline;gap:var(--fm-spacing-4);color:var(--fm-field-label);display:flex}.fm-field__mark{color:var(--fm-text-error)}.fm-field__box{align-items:center;gap:var(--fm-spacing-4);box-sizing:border-box;width:100%;padding:var(--fm-field-pad-y) var(--fm-field-pad-x);border-radius:var(--fm-field-radius);background-color:var(--fm-field-surface);box-shadow:inset 0 0 0 var(--fm-border-width-thin) var(--fm-field-border), var(--fm-field-shadow), var(--fm-field-glow);display:flex}.fm-field__control{min-width:0;height:20px;color:var(--fm-field-fg);background:0 0;border:none;outline:none;flex:auto;margin:0;padding:0}.fm-field__control::placeholder{color:var(--fm-field-placeholder);opacity:1}.fm-field__affix{--fm-icon-size:var(--fm-spacing-20);color:var(--fm-field-affix);flex:none;align-items:center;display:inline-flex}.fm-field__footer{justify-content:space-between;gap:var(--fm-spacing-8);color:var(--fm-field-helper);display:flex}.fm-field__counter{margin-left:auto}.fm-field--single.fm-field--sm{--fm-field-pad-y:var(--fm-spacing-10)}.fm-field--single.fm-field--md{--fm-field-pad-y:var(--fm-spacing-12)}.fm-field--single.fm-field--lg{--fm-field-pad-y:var(--fm-spacing-16);--fm-field-radius:var(--fm-radius-lg)}.fm-field--multiline{--fm-field-pad-x:var(--fm-spacing-8);--fm-field-pad-y:var(--fm-spacing-8);--fm-field-radius:var(--fm-radius-md);--fm-field-height:128px}.fm-field--multiline>.fm-field__box{height:var(--fm-field-height);align-items:stretch}.fm-field--multiline .fm-field__control{resize:none;height:100%}.fm-field--multiline .fm-field__box{align-items:stretch}.fm-field--multiline.fm-field--sm{--fm-field-height:96px}.fm-field--multiline.fm-field--md{--fm-field-height:128px}.fm-field--multiline.fm-field--lg{--fm-field-height:160px}@media (width>=768px){.fm-field--multiline.fm-field--sm{--fm-field-height:128px}.fm-field--multiline.fm-field--md{--fm-field-height:160px}.fm-field--multiline.fm-field--lg{--fm-field-height:192px}}@media (width>=1024px){.fm-field--multiline.fm-field--sm{--fm-field-height:164px}.fm-field--multiline.fm-field--md{--fm-field-height:196px}.fm-field--multiline.fm-field--lg{--fm-field-height:228px}}.fm-field:not(.fm-field--disabled)>.fm-field__box:hover{--fm-field-border:var(--fm-border-medium)}.fm-field:not(.fm-field--disabled)>.fm-field__box:focus-within{--fm-field-border:var(--fm-border-brand);--fm-field-shadow:0 0 #0000;--fm-field-glow:var(--fm-outer-shadow-brand)}.fm-field--error:not(.fm-field--disabled){--fm-field-fg:var(--fm-text-error);--fm-field-placeholder:var(--fm-text-error);--fm-field-affix:var(--fm-text-error);--fm-field-label:var(--fm-text-error);--fm-field-helper:var(--fm-text-error)}.fm-field--error:not(.fm-field--disabled)>.fm-field__box,.fm-field--error:not(.fm-field--disabled)>.fm-field__box:hover,.fm-field--error:not(.fm-field--disabled)>.fm-field__box:focus-within{--fm-field-border:var(--fm-border-error);--fm-field-shadow:0 0 #0000;--fm-field-glow:var(--fm-outer-shadow-error)}.fm-field--multiline.fm-field--error:not(.fm-field--disabled)>.fm-field__box,.fm-field--multiline.fm-field--error:not(.fm-field--disabled)>.fm-field__box:hover,.fm-field--multiline.fm-field--error:not(.fm-field--disabled)>.fm-field__box:focus-within{--fm-field-border:var(--fm-border-warning)}.fm-field--disabled{--fm-field-surface:var(--fm-surface-sunken);--fm-field-border:var(--fm-border-default);--fm-field-fg:var(--fm-text-disabled);--fm-field-placeholder:var(--fm-text-disabled);--fm-field-affix:var(--fm-icon-disabled);--fm-field-label:var(--fm-text-disabled);--fm-field-helper:var(--fm-text-disabled)}.fm-field--disabled .fm-field__control{cursor:not-allowed}
304
+ /*$vite$:1*/`, Ot = /url\(\s*(['"]?)\s*([^)'"]*?)\s*\1\s*\)/gi, dn = /@font-face\s*\{[^}]*\}/gi;
305
+ function zt(t) {
343
306
  return /^(data:|blob:|#)/i.test(t);
344
307
  }
345
- function gn(t) {
346
- for (const e of t.matchAll(Nt))
347
- if (!Rt(e[2])) return !0;
308
+ function cn(t) {
309
+ for (const e of t.matchAll(Ot))
310
+ if (!zt(e[2])) return !0;
348
311
  return !1;
349
312
  }
350
- function bn(t) {
313
+ function mn(t) {
351
314
  var n;
352
315
  return `@font-face ${((n = /font-family\s*:\s*([^;}]+)/i.exec(t)) == null ? void 0 : n[1].trim()) || "(unnamed)"}`;
353
316
  }
354
- function vn(t) {
317
+ function un(t) {
355
318
  const e = [];
356
- let n = t.replace(hn, (o) => gn(o) ? (e.push(bn(o)), "") : o);
357
- return n = n.replace(Nt, (o, a, i) => Rt(i) ? o : (e.push(`url(${i})`), "url(about:invalid)")), { css: n, stripped: e };
319
+ let n = t.replace(dn, (o) => cn(o) ? (e.push(mn(o)), "") : o);
320
+ return n = n.replace(Ot, (o, a, i) => zt(i) ? o : (e.push(`url(${i})`), "url(about:invalid)")), { css: n, stripped: e };
358
321
  }
359
- const Ge = "/* __FM_UI_LIBRARY_V2_STYLES__ */", yn = [
322
+ const We = "/* __FM_UI_LIBRARY_V2_STYLES__ */", pn = [
360
323
  "--fm-text-primary",
361
324
  "--fm-bg-default",
362
325
  "--fm-border-default",
363
326
  "--fm-action-primary-bg"
364
327
  ];
365
- function xn(t, e) {
366
- if (!t.includes(Ge))
328
+ function hn(t, e) {
329
+ if (!t.includes(We))
367
330
  throw new Error("report canvas frame is missing the UI library style placeholder");
368
- const { css: n, stripped: o } = vn(e), a = yn.filter((v) => !n.includes(v));
331
+ const { css: n, stripped: o } = un(e), a = pn.filter((v) => !n.includes(v));
369
332
  if (a.length)
370
333
  throw new Error(`the UI library stylesheet defines none of ${a.join(", ")}`);
371
- const i = t.replace(Ge, () => n);
372
- if (i.includes(Ge))
334
+ const i = t.replace(We, () => n);
335
+ if (i.includes(We))
373
336
  throw new Error("the frame declares the UI library style placeholder more than once");
374
337
  return { html: i, stripped: o };
375
338
  }
376
- const wn = `<meta charset="utf-8" />
339
+ const gn = `<meta charset="utf-8" />
377
340
  <meta name="viewport" content="width=device-width, initial-scale=1" />
378
341
  <!--
379
342
  Runtime shell for AI-written report sections. Loaded into ONE iframe per report with
@@ -3239,8 +3202,8 @@ const wn = `<meta charset="utf-8" />
3239
3202
  post({ type: "ready", nonce: NONCE })
3240
3203
  })()
3241
3204
  <\/script>
3242
- `, fo = xn(wn, cn).html, mt = 8e3;
3243
- function ut(t) {
3205
+ `, oo = hn(gn, fn).html, ct = 8e3;
3206
+ function mt(t) {
3244
3207
  const e = t;
3245
3208
  if (!e || typeof e != "object") return;
3246
3209
  const n = (a) => Number.isSafeInteger(a) && a >= 0 && a <= 1e4;
@@ -3254,10 +3217,10 @@ function ut(t) {
3254
3217
  ...o === null || typeof o == "number" && Number.isFinite(o) ? { value: o } : typeof o == "string" ? { value: o.slice(0, 64) } : {}
3255
3218
  };
3256
3219
  }
3257
- function Mt(t) {
3220
+ function Nt(t) {
3258
3221
  const e = t;
3259
3222
  if (!e || typeof e != "object" || typeof e.tag != "string") return;
3260
- const n = Array.isArray(e.path) ? e.path.filter((i) => Number.isSafeInteger(i) && i >= 0).slice(0, 32) : [], o = ut(e.datum), a = Array.isArray(e.points) ? e.points.slice(0, 64).map(ut).filter((i) => !!i) : [];
3223
+ const n = Array.isArray(e.path) ? e.path.filter((i) => Number.isSafeInteger(i) && i >= 0).slice(0, 32) : [], o = mt(e.datum), a = Array.isArray(e.points) ? e.points.slice(0, 64).map(mt).filter((i) => !!i) : [];
3261
3224
  return {
3262
3225
  tag: e.tag.slice(0, 32),
3263
3226
  ...typeof e.part == "string" ? { part: e.part.slice(0, 128) } : {},
@@ -3268,15 +3231,15 @@ function Mt(t) {
3268
3231
  ...a.length ? { points: a } : {}
3269
3232
  };
3270
3233
  }
3271
- function kn(t) {
3234
+ function bn(t) {
3272
3235
  const e = t;
3273
3236
  if (!e || typeof e != "object") return;
3274
3237
  const [n, o, a, i] = [e.left, e.top, e.width, e.height], v = (k) => typeof k == "number" && Number.isFinite(k);
3275
3238
  return v(n) && v(o) && v(a) && v(i) && a > 0 && i > 0 ? { left: n, top: o, width: a, height: i } : void 0;
3276
3239
  }
3277
- function pt(t) {
3240
+ function ut(t) {
3278
3241
  if (typeof t.sectionId != "string" || !Number.isSafeInteger(t.version)) return;
3279
- const e = Mt(t.element), n = kn(t.area);
3242
+ const e = Nt(t.element), n = bn(t.area);
3280
3243
  return {
3281
3244
  sectionId: t.sectionId,
3282
3245
  version: t.version,
@@ -3287,7 +3250,7 @@ function pt(t) {
3287
3250
  ...n ? { area: n } : {}
3288
3251
  };
3289
3252
  }
3290
- function co(t, e) {
3253
+ function io(t, e) {
3291
3254
  const n = T(!1);
3292
3255
  let o = null;
3293
3256
  const a = /* @__PURE__ */ new Map();
@@ -3314,15 +3277,15 @@ function co(t, e) {
3314
3277
  break;
3315
3278
  case "sectionSelected": {
3316
3279
  if (!i || g.nonce !== i) return;
3317
- const ae = pt(g);
3280
+ const ae = ut(g);
3318
3281
  if (!ae) return;
3319
- const { area: te, ...xe } = ae, ue = Array.isArray(g.widen) ? g.widen.slice(0, 4).map(Mt).filter((we) => !!we) : [];
3282
+ const { area: te, ...xe } = ae, ue = Array.isArray(g.widen) ? g.widen.slice(0, 4).map(Nt).filter((we) => !!we) : [];
3320
3283
  (U = e.onSelectSection) == null || U.call(e, xe, ue);
3321
3284
  break;
3322
3285
  }
3323
3286
  case "areaSelected": {
3324
3287
  if (!i || g.nonce !== i || !Array.isArray(g.picks)) return;
3325
- const ae = g.picks.slice(0, 64).map((te) => te && typeof te == "object" ? pt(te) : void 0).filter((te) => !!te);
3288
+ const ae = g.picks.slice(0, 64).map((te) => te && typeof te == "object" ? ut(te) : void 0).filter((te) => !!te);
3326
3289
  ae.length && ((q = e.onSelectArea) == null || q.call(e, ae));
3327
3290
  break;
3328
3291
  }
@@ -3380,14 +3343,14 @@ function co(t, e) {
3380
3343
  v.delete(g), e.onSectionError(
3381
3344
  y.id,
3382
3345
  y.version,
3383
- `the section did not report a render within ${mt}ms`
3346
+ `the section did not report a render within ${ct}ms`
3384
3347
  );
3385
- }, mt)
3348
+ }, ct)
3386
3349
  );
3387
3350
  }
3388
3351
  }
3389
3352
  async function E(l, y, g) {
3390
- const U = await ct(l.flatMap((K) => K.libs ?? [])), q = () => {
3353
+ const U = await st(l.flatMap((K) => K.libs ?? [])), q = () => {
3391
3354
  _({
3392
3355
  type: "init",
3393
3356
  sections: l,
@@ -3401,7 +3364,7 @@ function co(t, e) {
3401
3364
  n.value ? q() : o = q;
3402
3365
  }
3403
3366
  async function j(l) {
3404
- const y = await ct(l.flatMap((g) => g.libs ?? []));
3367
+ const y = await st(l.flatMap((g) => g.libs ?? []));
3405
3368
  _({ type: "sections", sections: l, libs: y }), O(l);
3406
3369
  }
3407
3370
  function N(l) {
@@ -3473,29 +3436,29 @@ function co(t, e) {
3473
3436
  reset: Z
3474
3437
  };
3475
3438
  }
3476
- const _n = /^(?:https?:\/\/|mailto:)[^\s]+$/i, Ye = /`([^`]+)`|(!?)\[([^\]]*)\]\(([^)\s]*)\)|\*\*([\s\S]+?)\*\*|\*([^*\n]+)\*/g;
3477
- function Xe(t, e) {
3439
+ const vn = /^(?:https?:\/\/|mailto:)[^\s]+$/i, Ge = /`([^`]+)`|(!?)\[([^\]]*)\]\(([^)\s]*)\)|\*\*([\s\S]+?)\*\*|\*([^*\n]+)\*/g;
3440
+ function Ye(t, e) {
3478
3441
  if (!e) return;
3479
3442
  const n = t[t.length - 1];
3480
3443
  (n == null ? void 0 : n.type) === "text" ? n.text += e : t.push({ type: "text", text: e });
3481
3444
  }
3482
- function Ke(t) {
3445
+ function Xe(t) {
3483
3446
  const e = [];
3484
3447
  let n = 0;
3485
- Ye.lastIndex = 0;
3486
- for (let o = Ye.exec(t); o; o = Ye.exec(t)) {
3487
- Xe(e, t.slice(n, o.index)), n = o.index + o[0].length;
3448
+ Ge.lastIndex = 0;
3449
+ for (let o = Ge.exec(t); o; o = Ge.exec(t)) {
3450
+ Ye(e, t.slice(n, o.index)), n = o.index + o[0].length;
3488
3451
  const [, a, i, v, k, _, u] = o;
3489
- a !== void 0 ? e.push({ type: "code", text: a }) : v !== void 0 ? !i && _n.test(k) ? e.push({ type: "link", text: v || k, href: k }) : Xe(e, o[0]) : _ !== void 0 ? e.push({ type: "strong", text: _ }) : u !== void 0 && e.push({ type: "em", text: u });
3452
+ a !== void 0 ? e.push({ type: "code", text: a }) : v !== void 0 ? !i && vn.test(k) ? e.push({ type: "link", text: v || k, href: k }) : Ye(e, o[0]) : _ !== void 0 ? e.push({ type: "strong", text: _ }) : u !== void 0 && e.push({ type: "em", text: u });
3490
3453
  }
3491
- return Xe(e, t.slice(n)), e;
3454
+ return Ye(e, t.slice(n)), e;
3492
3455
  }
3493
- const In = /^\s*```/, Sn = /^\s{0,3}(#{1,6})\s+(.*)$/, An = /^\s*[-*+]\s+(.*)$/, Cn = /^\s*\d{1,3}[.)]\s+(.*)$/;
3494
- function ht(t) {
3456
+ const yn = /^\s*```/, xn = /^\s{0,3}(#{1,6})\s+(.*)$/, wn = /^\s*[-*+]\s+(.*)$/, kn = /^\s*\d{1,3}[.)]\s+(.*)$/;
3457
+ function pt(t) {
3495
3458
  const e = [], n = String(t ?? "").split(/\r?\n/);
3496
3459
  let o = [], a = null, i = null;
3497
3460
  function v() {
3498
- o.length && (e.push({ type: "p", inline: Ke(o.join(" ")) }), o = []);
3461
+ o.length && (e.push({ type: "p", inline: Xe(o.join(" ")) }), o = []);
3499
3462
  }
3500
3463
  function k() {
3501
3464
  a && (e.push({ type: "list", ordered: a.ordered, items: a.items }), a = null);
@@ -3504,7 +3467,7 @@ function ht(t) {
3504
3467
  v(), k();
3505
3468
  }
3506
3469
  for (const u of n) {
3507
- if (In.test(u)) {
3470
+ if (yn.test(u)) {
3508
3471
  i ? (e.push({ type: "pre", text: i.join(`
3509
3472
  `) }), i = null) : (_(), i = []);
3510
3473
  continue;
@@ -3513,35 +3476,35 @@ function ht(t) {
3513
3476
  i.push(u);
3514
3477
  continue;
3515
3478
  }
3516
- const D = Sn.exec(u), R = An.exec(u), A = Cn.exec(u);
3479
+ const D = xn.exec(u), R = wn.exec(u), A = kn.exec(u);
3517
3480
  if (!u.trim())
3518
3481
  _();
3519
3482
  else if (D)
3520
- _(), e.push({ type: "p", inline: Ke(D[2]), heading: !0 });
3483
+ _(), e.push({ type: "p", inline: Xe(D[2]), heading: !0 });
3521
3484
  else if (R || A) {
3522
3485
  v();
3523
3486
  const M = !R;
3524
- (!a || a.ordered !== M) && (k(), a = { ordered: M, items: [] }), a.items.push(Ke((R ?? A)[1]));
3487
+ (!a || a.ordered !== M) && (k(), a = { ordered: M, items: [] }), a.items.push(Xe((R ?? A)[1]));
3525
3488
  } else
3526
3489
  k(), o.push(u.trim());
3527
3490
  }
3528
3491
  return i != null && i.length && e.push({ type: "pre", text: i.join(`
3529
3492
  `) }), _(), e;
3530
3493
  }
3531
- function En(t, e) {
3494
+ function _n(t, e) {
3532
3495
  const n = String(t ?? "").trim();
3533
3496
  if (n.length <= e) return n;
3534
3497
  const o = n.slice(0, e), a = o.lastIndexOf(" ");
3535
3498
  return `${(a > e * 0.6 ? o.slice(0, a) : o).trimEnd()}…`;
3536
3499
  }
3537
- const gt = 600, je = [
3500
+ const ht = 600, je = [
3538
3501
  "reviewing",
3539
3502
  "checking",
3540
3503
  "updating",
3541
3504
  "verifying",
3542
3505
  "writing",
3543
3506
  "loading"
3544
- ], Tn = {
3507
+ ], In = {
3545
3508
  discovery: "reviewing",
3546
3509
  grounding_probe: "reviewing",
3547
3510
  option_probe: "reviewing",
@@ -3579,7 +3542,7 @@ const gt = 600, je = [
3579
3542
  lazy_forced: "updating",
3580
3543
  manifest_unbound: "updating",
3581
3544
  rendered: "loading"
3582
- }, On = /* @__PURE__ */ new Set([
3545
+ }, Sn = /* @__PURE__ */ new Set([
3583
3546
  "plan",
3584
3547
  "edit-target",
3585
3548
  "error",
@@ -3590,18 +3553,18 @@ const gt = 600, je = [
3590
3553
  "step",
3591
3554
  "answer"
3592
3555
  ]);
3593
- function Lt(t) {
3594
- return t && Tn[t] || "working";
3556
+ function Rt(t) {
3557
+ return t && In[t] || "working";
3595
3558
  }
3596
- function bt(t, e) {
3559
+ function gt(t, e) {
3597
3560
  const n = je.indexOf(e);
3598
3561
  return n < 0 || t && je.indexOf(t) >= n ? t : e;
3599
3562
  }
3600
- function zn(t) {
3601
- const e = new Set(t.map(Lt));
3563
+ function An(t) {
3564
+ const e = new Set(t.map(Rt));
3602
3565
  return je.filter((n) => e.has(n));
3603
3566
  }
3604
- function Pt(t) {
3567
+ function Mt(t) {
3605
3568
  var n;
3606
3569
  const e = [];
3607
3570
  for (const o of t) {
@@ -3612,42 +3575,42 @@ function Pt(t) {
3612
3575
  }
3613
3576
  return e;
3614
3577
  }
3615
- function Nn(t) {
3616
- return t ? t.steps.length ? t.steps : zn(t.signals) : [];
3578
+ function Cn(t) {
3579
+ return t ? t.steps.length ? t.steps : An(t.signals) : [];
3617
3580
  }
3618
- function Rn(t) {
3619
- return Pt((t == null ? void 0 : t.parts) ?? []).pop() ?? null;
3581
+ function En(t) {
3582
+ return Mt((t == null ? void 0 : t.parts) ?? []).pop() ?? null;
3620
3583
  }
3621
- function Je(t) {
3584
+ function Ke(t) {
3622
3585
  return t.filter((e) => e.type === "text").map((e) => String(e.text ?? "").trim()).filter(Boolean).join(`
3623
3586
 
3624
3587
  `);
3625
3588
  }
3626
- function Mn(t) {
3589
+ function Tn(t) {
3627
3590
  const e = [];
3628
3591
  for (const n of t) {
3629
3592
  const o = n.type.startsWith("tool-") || n.type.startsWith("data-") ? n.type.slice(5) : "";
3630
- o && !On.has(o) && e.push(o);
3593
+ o && !Sn.has(o) && e.push(o);
3631
3594
  }
3632
3595
  return e;
3633
3596
  }
3634
- function Ln(t) {
3597
+ function On(t) {
3635
3598
  var o;
3636
3599
  const e = t.find((a) => a.type === "data-turn_stats"), n = (o = e == null ? void 0 : e.data) == null ? void 0 : o.ms;
3637
3600
  return typeof n == "number" && n >= 0 ? n : void 0;
3638
3601
  }
3639
- function Pn(t) {
3602
+ function zn(t) {
3640
3603
  const e = Math.max(0, Math.floor(t / 1e3));
3641
3604
  return e < 60 ? `${e}s` : `${Math.floor(e / 60)}m ${String(e % 60).padStart(2, "0")}s`;
3642
3605
  }
3643
- function jn(t) {
3606
+ function Nn(t) {
3644
3607
  const e = t / 1e3;
3645
3608
  return e < 60 ? `${e.toFixed(1)}s` : `${Math.floor(e / 60)}m ${String(Math.round(e % 60)).padStart(2, "0")}s`;
3646
3609
  }
3647
- function $n(t) {
3610
+ function Rn(t) {
3648
3611
  return t === "too_costly" || t === "timeout" ? "tooLarge" : t === "deadline" ? "outOfTime" : "ours";
3649
3612
  }
3650
- function Dn(t) {
3613
+ function Mn(t) {
3651
3614
  var n;
3652
3615
  const e = (n = t.find((o) => o.type === "data-turn_failed")) == null ? void 0 : n.data;
3653
3616
  if (e)
@@ -3656,30 +3619,30 @@ function Dn(t) {
3656
3619
  ...typeof e.ref == "string" ? { ref: e.ref } : {}
3657
3620
  };
3658
3621
  }
3659
- function Bn(t) {
3622
+ function Ln(t) {
3660
3623
  return t.filter((e) => e.type === "data-edit-target").map((e) => e.data);
3661
3624
  }
3662
- function qn(t) {
3625
+ function Pn(t) {
3663
3626
  const e = [[]];
3664
3627
  for (const n of t)
3665
3628
  n.type === "step-start" ? e.push([]) : e[e.length - 1].push(n);
3666
3629
  return e.filter((n) => n.length > 0);
3667
3630
  }
3668
- function vt(t) {
3631
+ function bt(t) {
3669
3632
  return t.some((e) => e.type.startsWith("tool-"));
3670
3633
  }
3671
- function Vn(t) {
3634
+ function jn(t) {
3672
3635
  var n;
3673
3636
  const e = (n = t.find((o) => o.type === "data-answer")) == null ? void 0 : n.data;
3674
3637
  return typeof (e == null ? void 0 : e.outcome) == "string" ? e.outcome : void 0;
3675
3638
  }
3676
- function Fn(t, e = {}) {
3639
+ function $n(t, e = {}) {
3677
3640
  var o, a;
3678
3641
  const n = [];
3679
3642
  for (const i of t ?? []) {
3680
- const v = i.parts ?? [], k = Mn(v), _ = Bn(v);
3643
+ const v = i.parts ?? [], k = Tn(v), _ = Ln(v);
3681
3644
  if (i.role === "user") {
3682
- const N = Je(v);
3645
+ const N = Ke(v);
3683
3646
  n.push({
3684
3647
  id: i.id,
3685
3648
  turnId: i.turnId ?? i.id,
@@ -3697,86 +3660,86 @@ function Fn(t, e = {}) {
3697
3660
  }
3698
3661
  const u = !!e.streamingId && i.id === e.streamingId;
3699
3662
  if (i.inProgress && !u) continue;
3700
- const D = qn(v), R = D[D.length - 1] ?? [], A = D.some(vt), M = A && !v.some((N) => N.type === "step-start");
3663
+ const D = Pn(v), R = D[D.length - 1] ?? [], A = D.some(bt), M = A && !v.some((N) => N.type === "step-start");
3701
3664
  let O = "";
3702
3665
  if (!u) {
3703
- !A || M ? O = Je(v) : vt(R) || (O = Je(R));
3704
- const N = O ? void 0 : Vn(v);
3666
+ !A || M ? O = Ke(v) : bt(R) || (O = Ke(R));
3667
+ const N = O ? void 0 : jn(v);
3705
3668
  N && (O = ((o = e.outcomes) == null ? void 0 : o[N]) ?? "");
3706
3669
  }
3707
- const E = !!O && (M || O.length > gt), j = u ? void 0 : Dn(v);
3670
+ const E = !!O && (M || O.length > ht), j = u ? void 0 : Mn(v);
3708
3671
  !O && !k.length && !u || n.push({
3709
3672
  id: i.id,
3710
3673
  turnId: i.turnId ?? i.id,
3711
3674
  role: "assistant",
3712
3675
  targets: _,
3713
3676
  answer: O,
3714
- blocks: O ? ht(O) : [],
3715
- preview: E ? ht(En(O, gt)) : null,
3677
+ blocks: O ? pt(O) : [],
3678
+ preview: E ? pt(_n(O, ht)) : null,
3716
3679
  signals: k,
3717
- steps: Pt(v),
3680
+ steps: Mt(v),
3718
3681
  pending: u,
3719
3682
  noSummary: !u && !O && A,
3720
- ms: u ? void 0 : Ln(v) ?? ((a = i.stats) == null ? void 0 : a.ms),
3683
+ ms: u ? void 0 : On(v) ?? ((a = i.stats) == null ? void 0 : a.ms),
3721
3684
  ...j ? { failure: j } : {}
3722
3685
  });
3723
3686
  }
3724
3687
  return n;
3725
3688
  }
3726
- const Un = {
3689
+ const Dn = {
3727
3690
  key: 0,
3728
3691
  class: "flex flex-col gap-4"
3729
- }, Hn = {
3692
+ }, Bn = {
3730
3693
  key: 0,
3731
3694
  "data-testid": "report-canvas-activity",
3732
3695
  class: "flex flex-col gap-4"
3733
- }, Wn = { class: "flex w-16 shrink-0 justify-center text-fm-color-system-success-300" }, Gn = { class: "min-w-0 truncate" }, Yn = { class: "flex items-start gap-8" }, Xn = { class: "min-w-0 grow" }, Kn = { class: "flex items-baseline gap-8" }, Jn = {
3696
+ }, qn = { class: "flex w-16 shrink-0 justify-center text-fm-color-system-success-300" }, Vn = { class: "min-w-0 truncate" }, Fn = { class: "flex items-start gap-8" }, Un = { class: "min-w-0 grow" }, Hn = { class: "flex items-baseline gap-8" }, Wn = {
3734
3697
  class: "activity-shimmer fm-typo-en-body-md-400 min-w-0 grow",
3735
3698
  role: "status"
3736
- }, Qn = {
3699
+ }, Gn = {
3737
3700
  key: 0,
3738
3701
  "data-testid": "report-canvas-elapsed",
3739
3702
  class: "fm-typo-en-body-sm-400 shrink-0 tabular-nums text-fm-color-typo-secondary"
3740
- }, Zn = {
3703
+ }, Yn = {
3741
3704
  key: 0,
3742
3705
  "data-testid": "report-canvas-prepared",
3743
3706
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
3744
- }, er = {
3707
+ }, Xn = {
3745
3708
  key: 1,
3746
3709
  "data-testid": "report-canvas-slow",
3747
3710
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
3748
- }, tr = {
3711
+ }, Kn = {
3749
3712
  key: 1,
3750
3713
  "data-testid": "report-canvas-interrupted",
3751
3714
  class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
3752
- }, nr = {
3715
+ }, Jn = {
3753
3716
  key: 2,
3754
3717
  "data-testid": "report-canvas-stalled",
3755
3718
  class: "flex flex-col items-start gap-4"
3756
- }, rr = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-error" }, ar = {
3719
+ }, Qn = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-error" }, Zn = {
3757
3720
  key: 3,
3758
3721
  "data-testid": "report-canvas-failed",
3759
3722
  class: "flex flex-col gap-4"
3760
- }, or = { class: "min-w-0 grow" }, ir = { class: "fm-typo-en-body-sm-600 truncate" }, sr = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, lr = ["onClick"], fr = ["onClick"], dr = {
3723
+ }, er = { class: "min-w-0 grow" }, tr = { class: "fm-typo-en-body-sm-600 truncate" }, nr = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, rr = ["onClick"], ar = ["onClick"], or = {
3761
3724
  key: 4,
3762
3725
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-error"
3763
- }, cr = { key: 5 }, mr = ["aria-expanded"], ur = {
3726
+ }, ir = { key: 5 }, sr = ["aria-expanded"], lr = {
3764
3727
  key: 0,
3765
3728
  "data-testid": "report-canvas-details",
3766
3729
  class: "mt-4 flex flex-col gap-4"
3767
- }, pr = { class: "flex w-16 shrink-0 justify-center text-fm-color-system-success-300" }, hr = ["title"], gr = {
3730
+ }, fr = { class: "flex w-16 shrink-0 justify-center text-fm-color-system-success-300" }, dr = ["title"], cr = {
3768
3731
  class: "flex w-16 shrink-0 justify-center",
3769
3732
  "aria-hidden": "true"
3770
- }, br = {
3733
+ }, mr = {
3771
3734
  key: 2,
3772
3735
  class: "h-12 w-12 animate-spin rounded-full border-2 border-fm-color-neutral-gray-200 border-t-fm-color-primary motion-reduce:animate-none"
3773
- }, vr = { class: "min-w-0 grow truncate" }, yr = {
3736
+ }, ur = { class: "min-w-0 grow truncate" }, pr = {
3774
3737
  key: 0,
3775
3738
  class: "shrink-0 text-fm-color-typo-error"
3776
- }, xr = {
3739
+ }, hr = {
3777
3740
  key: 1,
3778
3741
  class: "sr-only"
3779
- }, wr = /* @__PURE__ */ $e({
3742
+ }, gr = /* @__PURE__ */ $e({
3780
3743
  __name: "ReportCanvasActivity",
3781
3744
  props: {
3782
3745
  active: { type: Boolean },
@@ -3812,57 +3775,57 @@ const Un = {
3812
3775
  { immediate: !0 }
3813
3776
  ), Pe(() => window.clearInterval(R));
3814
3777
  const A = B(
3815
- () => n.active && n.startedAt != null ? Pn(D.value - n.startedAt) : ""
3778
+ () => n.active && n.startedAt != null ? zn(D.value - n.startedAt) : ""
3816
3779
  ), M = T(!1), O = B(
3817
3780
  () => i.value.length > 0 || !n.active && n.phases.length > 0
3818
3781
  );
3819
3782
  return (E, j) => {
3820
3783
  const N = Oe("FmIcon");
3821
- return E.active || E.interrupted || E.stale || E.retryError || k.value.length || O.value ? (c(), m("div", Un, [
3822
- E.active ? (c(), m("ol", Hn, [
3784
+ return E.active || E.interrupted || E.stale || E.retryError || k.value.length || O.value ? (c(), m("div", Dn, [
3785
+ E.active ? (c(), m("ol", Bn, [
3823
3786
  (c(!0), m(fe, null, me(u.value, (L) => (c(), m("li", {
3824
3787
  key: L,
3825
3788
  "data-testid": "report-canvas-step-done",
3826
3789
  class: "fm-typo-en-body-sm-400 flex items-center gap-8 text-fm-color-typo-secondary"
3827
3790
  }, [
3828
- C("span", Wn, [
3791
+ C("span", qn, [
3829
3792
  ee(N, {
3830
3793
  name: "check",
3831
3794
  size: "sm"
3832
3795
  })
3833
3796
  ]),
3834
- C("span", Gn, w(b(a)(`reportV5.reportAi.chat.phaseDone.${L}`)), 1)
3797
+ C("span", Vn, w(b(a)(`reportV5.reportAi.chat.phaseDone.${L}`)), 1)
3835
3798
  ]))), 128)),
3836
- C("li", Yn, [
3799
+ C("li", Fn, [
3837
3800
  j[2] || (j[2] = C("span", { class: "flex h-[21px] w-16 shrink-0 items-center justify-center" }, [
3838
3801
  C("span", { class: "h-12 w-12 animate-spin rounded-full border-2 border-fm-color-neutral-gray-200 border-t-fm-color-primary motion-reduce:animate-none" })
3839
3802
  ], -1)),
3840
- C("div", Xn, [
3841
- C("div", Kn, [
3842
- C("p", Jn, w(b(a)(`reportV5.reportAi.chat.phase.${E.phase}`)), 1),
3843
- A.value ? (c(), m("span", Qn, w(A.value), 1)) : P("", !0)
3803
+ C("div", Un, [
3804
+ C("div", Hn, [
3805
+ C("p", Wn, w(b(a)(`reportV5.reportAi.chat.phase.${E.phase}`)), 1),
3806
+ A.value ? (c(), m("span", Gn, w(A.value), 1)) : P("", !0)
3844
3807
  ]),
3845
- i.value.length ? (c(), m("p", Zn, w(b(a)("reportV5.reportAi.build.prepared", { done: v.value, total: i.value.length })), 1)) : P("", !0),
3846
- E.slow ? (c(), m("p", er, w(b(a)("reportV5.reportAi.build.slow")) + " " + w(b(a)("reportV5.reportAi.build.safeToLeave")), 1)) : P("", !0)
3808
+ i.value.length ? (c(), m("p", Yn, w(b(a)("reportV5.reportAi.build.prepared", { done: v.value, total: i.value.length })), 1)) : P("", !0),
3809
+ E.slow ? (c(), m("p", Xn, w(b(a)("reportV5.reportAi.build.slow")) + " " + w(b(a)("reportV5.reportAi.build.safeToLeave")), 1)) : P("", !0)
3847
3810
  ])
3848
3811
  ])
3849
3812
  ])) : P("", !0),
3850
- E.interrupted ? (c(), m("p", tr, w(b(a)("reportV5.reportAi.build.interrupted")), 1)) : P("", !0),
3851
- E.stale ? (c(), m("div", nr, [
3852
- C("p", rr, w(b(a)("reportV5.reportAi.build.stalled")), 1),
3813
+ E.interrupted ? (c(), m("p", Kn, w(b(a)("reportV5.reportAi.build.interrupted")), 1)) : P("", !0),
3814
+ E.stale ? (c(), m("div", Jn, [
3815
+ C("p", Qn, w(b(a)("reportV5.reportAi.build.stalled")), 1),
3853
3816
  C("button", {
3854
3817
  class: "fm-typo-en-body-sm-600 text-fm-color-typo-secondary underline",
3855
3818
  onClick: j[0] || (j[0] = (L) => o("checkStatus"))
3856
3819
  }, w(b(a)("reportV5.reportAi.build.checkStatus")), 1)
3857
3820
  ])) : P("", !0),
3858
- k.value.length ? (c(), m("ul", ar, [
3821
+ k.value.length ? (c(), m("ul", Zn, [
3859
3822
  (c(!0), m(fe, null, me(k.value, (L) => (c(), m("li", {
3860
3823
  key: L.id,
3861
3824
  class: "flex items-start gap-8"
3862
3825
  }, [
3863
- C("div", or, [
3864
- C("p", ir, w(L.title), 1),
3865
- C("p", sr, w(b(a)(
3826
+ C("div", er, [
3827
+ C("p", tr, w(L.title), 1),
3828
+ C("p", nr, w(b(a)(
3866
3829
  L.retries ? "reportV5.reportAi.build.retriedWidget" : "reportV5.reportAi.build.failedWidget"
3867
3830
  )), 1)
3868
3831
  ]),
@@ -3871,16 +3834,16 @@ const Un = {
3871
3834
  "data-testid": "report-canvas-retry",
3872
3835
  class: "fm-typo-en-body-sm-600 shrink-0 text-fm-color-typo-secondary underline",
3873
3836
  onClick: (V) => o("retry", L.id)
3874
- }, w(b(a)("reportV5.reportAi.build.retry")), 9, lr)) : _.value ? (c(), m("button", {
3837
+ }, w(b(a)("reportV5.reportAi.build.retry")), 9, rr)) : _.value ? (c(), m("button", {
3875
3838
  key: 1,
3876
3839
  "data-testid": "report-canvas-ask-builder",
3877
3840
  class: "fm-typo-en-body-sm-600 shrink-0 text-fm-color-typo-secondary underline",
3878
3841
  onClick: (V) => o("askBuilder", L.title)
3879
- }, w(b(a)("reportV5.reportAi.build.askBuilder")), 9, fr)) : P("", !0)
3842
+ }, w(b(a)("reportV5.reportAi.build.askBuilder")), 9, ar)) : P("", !0)
3880
3843
  ]))), 128))
3881
3844
  ])) : P("", !0),
3882
- E.retryError ? (c(), m("p", dr, w(b(a)("reportV5.reportAi.build.retryFailed")), 1)) : P("", !0),
3883
- O.value ? (c(), m("div", cr, [
3845
+ E.retryError ? (c(), m("p", or, w(b(a)("reportV5.reportAi.build.retryFailed")), 1)) : P("", !0),
3846
+ O.value ? (c(), m("div", ir, [
3884
3847
  C("button", {
3885
3848
  "data-testid": "report-canvas-details-toggle",
3886
3849
  class: "details-toggle fm-typo-en-body-sm-600 -ml-4 flex items-center gap-4 rounded-md py-2 pl-4 pr-8 text-fm-color-typo-secondary",
@@ -3892,13 +3855,13 @@ const Un = {
3892
3855
  size: "sm"
3893
3856
  }, null, 8, ["name"]),
3894
3857
  Ce(" " + w(b(a)("reportV5.reportAi.build.details")), 1)
3895
- ], 8, mr),
3896
- M.value ? (c(), m("div", ur, [
3858
+ ], 8, sr),
3859
+ M.value ? (c(), m("div", lr, [
3897
3860
  E.active ? P("", !0) : (c(!0), m(fe, { key: 0 }, me(E.phases, (L) => (c(), m("p", {
3898
3861
  key: L,
3899
3862
  class: "fm-typo-en-body-sm-400 flex items-center gap-8 text-fm-color-typo-secondary"
3900
3863
  }, [
3901
- C("span", pr, [
3864
+ C("span", fr, [
3902
3865
  ee(N, {
3903
3866
  name: "check",
3904
3867
  size: "sm"
@@ -3912,7 +3875,7 @@ const Un = {
3912
3875
  class: "fm-typo-en-body-sm-400 flex items-center gap-8 pl-24 text-fm-color-typo-secondary",
3913
3876
  title: b(a)(`reportV5.reportAi.build.state.${L.status}`)
3914
3877
  }, [
3915
- C("span", gr, [
3878
+ C("span", cr, [
3916
3879
  L.status === "ok" ? (c(), ve(N, {
3917
3880
  key: 0,
3918
3881
  name: "check",
@@ -3923,42 +3886,42 @@ const Un = {
3923
3886
  name: "close",
3924
3887
  size: "sm",
3925
3888
  class: "text-fm-color-typo-error"
3926
- })) : L.status === "building" ? (c(), m("span", br)) : (c(), ve(N, {
3889
+ })) : L.status === "building" ? (c(), m("span", mr)) : (c(), ve(N, {
3927
3890
  key: 3,
3928
3891
  name: "radio_button_unchecked",
3929
3892
  size: "sm",
3930
3893
  class: "text-fm-color-typo-tertiary"
3931
3894
  }))
3932
3895
  ]),
3933
- C("span", vr, w(L.title), 1),
3934
- L.status === "error" ? (c(), m("span", yr, w(b(a)("reportV5.reportAi.build.state.error")), 1)) : (c(), m("span", xr, w(b(a)(`reportV5.reportAi.build.state.${L.status}`)), 1))
3935
- ], 8, hr))), 128))
3896
+ C("span", ur, w(L.title), 1),
3897
+ L.status === "error" ? (c(), m("span", pr, w(b(a)("reportV5.reportAi.build.state.error")), 1)) : (c(), m("span", hr, w(b(a)(`reportV5.reportAi.build.state.${L.status}`)), 1))
3898
+ ], 8, dr))), 128))
3936
3899
  ])) : P("", !0)
3937
3900
  ])) : P("", !0)
3938
3901
  ])) : P("", !0);
3939
3902
  };
3940
3903
  }
3941
- }), yt = /* @__PURE__ */ Ot(wr, [["__scopeId", "data-v-d9511bdd"]]), kr = { class: "flex flex-col items-stretch gap-8 px-[20px] pb-16 pt-12" }, _r = {
3904
+ }), vt = /* @__PURE__ */ Tt(gr, [["__scopeId", "data-v-d9511bdd"]]), br = { class: "flex flex-col items-stretch gap-8 px-[20px] pb-16 pt-12" }, vr = {
3942
3905
  key: 0,
3943
3906
  "data-testid": "chat-edit-target-context",
3944
3907
  class: "fm-typo-en-body-sm-400 line-clamp-1 text-fm-color-typo-secondary"
3945
- }, Ir = {
3908
+ }, yr = {
3946
3909
  key: 1,
3947
3910
  role: "alert",
3948
3911
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-error"
3949
- }, Sr = {
3912
+ }, xr = {
3950
3913
  "data-testid": "report-canvas-chat-input",
3951
3914
  class: "rounded-lg border border-fm-color-border-secondary bg-fm-color-neutral-white p-16 focus-within:border-fm-color-primary"
3952
- }, Ar = ["value", "placeholder", "aria-label"], Cr = { class: "mt-16 flex items-center gap-12" }, Er = ["aria-label"], Tr = {
3915
+ }, wr = ["value", "placeholder", "aria-label"], kr = { class: "mt-16 flex items-center gap-12" }, _r = ["aria-label"], Ir = {
3953
3916
  key: 0,
3954
3917
  class: "flex max-h-[96px] min-w-0 grow flex-wrap gap-4 overflow-y-auto"
3955
- }, Or = { class: "fm-typo-en-body-sm-400 min-w-0 truncate" }, zr = ["disabled", "aria-label", "onClick"], Nr = {
3918
+ }, Sr = { class: "fm-typo-en-body-sm-400 min-w-0 truncate" }, Ar = ["disabled", "aria-label", "onClick"], Cr = {
3956
3919
  key: 1,
3957
3920
  class: "fm-typo-en-body-sm-400 min-w-0 grow truncate"
3958
- }, Rr = {
3921
+ }, Er = {
3959
3922
  key: 0,
3960
3923
  "data-testid": "chat-edit-target-element"
3961
- }, Mr = ["disabled", "aria-label"], Lr = ["disabled", "aria-label", "title"], Pr = ["disabled", "aria-label"], jr = { class: "text-[12px] leading-16 text-fm-color-typo-secondary" }, xt = 21, $r = /* @__PURE__ */ $e({
3924
+ }, Tr = ["disabled", "aria-label"], Or = ["disabled", "aria-label", "title"], zr = ["disabled", "aria-label"], Nr = { class: "text-[12px] leading-16 text-fm-color-typo-secondary" }, yt = 21, Rr = /* @__PURE__ */ $e({
3962
3925
  __name: "ReportCanvasComposer",
3963
3926
  props: {
3964
3927
  draft: {},
@@ -3974,7 +3937,7 @@ const Un = {
3974
3937
  },
3975
3938
  emits: ["update:draft", "submit", "clearTarget", "stop"],
3976
3939
  setup(t, { expose: e, emit: n }) {
3977
- const o = t, a = n, { t: i } = Be(), v = xt * 2, k = xt * 6, _ = T(), u = T(!1);
3940
+ const o = t, a = n, { t: i } = Be(), v = yt * 2, k = yt * 6, _ = T(), u = T(!1);
3978
3941
  function D() {
3979
3942
  const l = _.value;
3980
3943
  l && (l.style.height = "auto", l.style.height = `${Math.min(Math.max(l.scrollHeight, v), k)}px`);
@@ -4018,10 +3981,10 @@ const Un = {
4018
3981
  return (l, y) => {
4019
3982
  var U;
4020
3983
  const g = Oe("FmIcon");
4021
- return c(), m("div", kr, [
4022
- (U = N.value) != null && U.elementText ? (c(), m("p", _r, " “" + w(N.value.elementText) + "” ", 1)) : P("", !0),
4023
- l.targetStale && !l.streaming ? (c(), m("p", Ir, w(b(i)("reportV5.reportAi.chat.staleTarget")), 1)) : P("", !0),
4024
- C("div", Sr, [
3984
+ return c(), m("div", br, [
3985
+ (U = N.value) != null && U.elementText ? (c(), m("p", vr, " “" + w(N.value.elementText) + "” ", 1)) : P("", !0),
3986
+ l.targetStale && !l.streaming ? (c(), m("p", yr, w(b(i)("reportV5.reportAi.chat.staleTarget")), 1)) : P("", !0),
3987
+ C("div", xr, [
4025
3988
  C("textarea", {
4026
3989
  ref_key: "field",
4027
3990
  ref: _,
@@ -4034,8 +3997,8 @@ const Un = {
4034
3997
  onKeydown: A,
4035
3998
  onCompositionstart: y[0] || (y[0] = (q) => u.value = !0),
4036
3999
  onCompositionend: y[1] || (y[1] = (q) => u.value = !1)
4037
- }, null, 40, Ar),
4038
- C("div", Cr, [
4000
+ }, null, 40, wr),
4001
+ C("div", kr, [
4039
4002
  C("div", {
4040
4003
  "data-testid": "chat-edit-target",
4041
4004
  role: "status",
@@ -4047,13 +4010,13 @@ const Un = {
4047
4010
  size: "sm",
4048
4011
  outline: ""
4049
4012
  }, null, 8, ["name"]),
4050
- j.value.length > 1 ? (c(), m("ul", Tr, [
4013
+ j.value.length > 1 ? (c(), m("ul", Ir, [
4051
4014
  (c(!0), m(fe, null, me(j.value, (q, K) => (c(), m("li", {
4052
4015
  key: K,
4053
4016
  "data-testid": "chat-edit-target-part",
4054
4017
  class: "flex min-w-0 max-w-full items-center gap-4 rounded-sm bg-fm-color-neutral-gray-100 py-2 pl-8 pr-4"
4055
4018
  }, [
4056
- C("span", Or, w(Y(q)), 1),
4019
+ C("span", Sr, w(Y(q)), 1),
4057
4020
  C("button", {
4058
4021
  class: "flex shrink-0 items-center text-fm-color-typo-secondary disabled:opacity-50",
4059
4022
  disabled: l.streaming,
@@ -4066,11 +4029,11 @@ const Un = {
4066
4029
  name: "close",
4067
4030
  size: "sm"
4068
4031
  })
4069
- ], 8, zr)
4032
+ ], 8, Ar)
4070
4033
  ]))), 128))
4071
- ])) : (c(), m("p", Nr, [
4034
+ ])) : (c(), m("p", Cr, [
4072
4035
  Ce(w(N.value ? N.value.label || b(i)("reportV5.reportAi.chat.selectedWidget") : Z.value), 1),
4073
- V.value ? (c(), m("span", Rr, " › " + w(V.value), 1)) : P("", !0)
4036
+ V.value ? (c(), m("span", Er, " › " + w(V.value), 1)) : P("", !0)
4074
4037
  ])),
4075
4038
  N.value ? (c(), m("button", {
4076
4039
  key: 2,
@@ -4085,8 +4048,8 @@ const Un = {
4085
4048
  name: "close",
4086
4049
  size: "sm"
4087
4050
  })
4088
- ], 8, Mr)) : P("", !0)
4089
- ], 8, Er),
4051
+ ], 8, Tr)) : P("", !0)
4052
+ ], 8, _r),
4090
4053
  l.stoppable ? (c(), m("button", {
4091
4054
  key: 0,
4092
4055
  "data-testid": "report-canvas-chat-stop",
@@ -4101,10 +4064,10 @@ const Un = {
4101
4064
  name: "stop",
4102
4065
  size: "sm"
4103
4066
  })
4104
- ], 8, Lr)) : (c(), m("button", {
4067
+ ], 8, Or)) : (c(), m("button", {
4105
4068
  key: 1,
4106
4069
  "data-testid": "report-canvas-chat-send",
4107
- class: tt([
4070
+ class: et([
4108
4071
  "flex h-[36px] w-[36px] shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-fm-color-primary disabled:cursor-not-allowed",
4109
4072
  M.value ? "bg-fm-color-primary text-fm-color-neutral-white" : "bg-fm-color-neutral-gray-100 text-fm-color-typo-secondary"
4110
4073
  ]),
@@ -4116,16 +4079,16 @@ const Un = {
4116
4079
  name: "arrow_forward",
4117
4080
  size: "sm"
4118
4081
  })
4119
- ], 10, Pr))
4082
+ ], 10, zr))
4120
4083
  ])
4121
4084
  ]),
4122
- C("p", jr, w(l.streaming && l.draft.trim() ? b(i)("reportV5.reportAi.chat.waitForUpdate") : b(i)("reportV5.reportAi.chat.newLineHint")), 1)
4085
+ C("p", Nr, w(l.streaming && l.draft.trim() ? b(i)("reportV5.reportAi.chat.waitForUpdate") : b(i)("reportV5.reportAi.chat.newLineHint")), 1)
4123
4086
  ]);
4124
4087
  };
4125
4088
  }
4126
- }), Dr = "rounded-sm bg-fm-color-neutral-gray-100 px-4 font-mono text-[0.9em]";
4127
- function wt(t) {
4128
- return t.map((e) => e.type === "strong" ? ce("strong", { class: "font-semibold" }, e.text) : e.type === "em" ? ce("em", e.text) : e.type === "code" ? ce("code", { class: Dr }, e.text) : e.type === "link" ? ce(
4089
+ }), Mr = "rounded-sm bg-fm-color-neutral-gray-100 px-4 font-mono text-[0.9em]";
4090
+ function xt(t) {
4091
+ return t.map((e) => e.type === "strong" ? ce("strong", { class: "font-semibold" }, e.text) : e.type === "em" ? ce("em", e.text) : e.type === "code" ? ce("code", { class: Mr }, e.text) : e.type === "link" ? ce(
4129
4092
  "a",
4130
4093
  {
4131
4094
  href: e.href,
@@ -4136,7 +4099,7 @@ function wt(t) {
4136
4099
  e.text
4137
4100
  ) : e.text);
4138
4101
  }
4139
- const Br = (t) => ce(
4102
+ const Lr = (t) => ce(
4140
4103
  "div",
4141
4104
  { class: "fm-typo-en-body-md-400 flex flex-col items-stretch gap-8 !leading-[21px]" },
4142
4105
  (t.blocks ?? []).map((e) => e.type === "pre" ? ce(
@@ -4148,13 +4111,13 @@ const Br = (t) => ce(
4148
4111
  ) : e.type === "list" ? ce(
4149
4112
  e.ordered ? "ol" : "ul",
4150
4113
  { class: `flex flex-col gap-4 pl-16 ${e.ordered ? "list-decimal" : "list-disc"}` },
4151
- e.items.map((n) => ce("li", wt(n)))
4114
+ e.items.map((n) => ce("li", xt(n)))
4152
4115
  ) : ce(
4153
4116
  "p",
4154
4117
  { class: e.heading ? "fm-typo-en-body-md-600" : void 0 },
4155
- wt(e.inline)
4118
+ xt(e.inline)
4156
4119
  ))
4157
- ), qr = ["aria-expanded"], Vr = /* @__PURE__ */ $e({
4120
+ ), Pr = ["aria-expanded"], jr = /* @__PURE__ */ $e({
4158
4121
  __name: "ReportCanvasMessage",
4159
4122
  props: {
4160
4123
  blocks: {},
@@ -4163,89 +4126,89 @@ const Br = (t) => ce(
4163
4126
  setup(t) {
4164
4127
  const e = t, { t: n } = Be(), o = T(!0), a = B(() => e.preview && !o.value ? e.preview : e.blocks);
4165
4128
  return (i, v) => (c(), m("div", null, [
4166
- ee(b(Br), { blocks: a.value }, null, 8, ["blocks"]),
4129
+ ee(b(Lr), { blocks: a.value }, null, 8, ["blocks"]),
4167
4130
  i.preview ? (c(), m("button", {
4168
4131
  key: 0,
4169
4132
  "data-testid": "report-canvas-full-reply",
4170
4133
  class: "fm-typo-en-body-sm-600 mt-4 text-fm-color-typo-secondary underline",
4171
4134
  "aria-expanded": o.value,
4172
4135
  onClick: v[0] || (v[0] = (k) => o.value = !o.value)
4173
- }, w(b(n)(o.value ? "reportV5.reportAi.chat.showLess" : "reportV5.reportAi.chat.showFullReply")), 9, qr)) : P("", !0)
4136
+ }, w(b(n)(o.value ? "reportV5.reportAi.chat.showLess" : "reportV5.reportAi.chat.showFullReply")), 9, Pr)) : P("", !0)
4174
4137
  ]));
4175
4138
  }
4176
- }), Fr = ["aria-label"], Ur = { class: "flex h-64 shrink-0 items-center gap-12 border-b border-fm-color-border-secondary px-[20px]" }, Hr = { class: "min-w-0 grow" }, Wr = { class: "fm-typo-en-body-md-600" }, Gr = {
4139
+ }), $r = ["aria-label"], Dr = { class: "flex h-64 shrink-0 items-center gap-12 border-b border-fm-color-border-secondary px-[20px]" }, Br = { class: "min-w-0 grow" }, qr = { class: "fm-typo-en-body-md-600" }, Vr = {
4177
4140
  key: 0,
4178
4141
  class: "fm-typo-en-body-sm-400 truncate text-fm-color-typo-secondary"
4179
- }, Yr = ["disabled", "aria-label"], Xr = ["disabled", "aria-label", "title"], Kr = ["aria-label"], Jr = ["data-testid", "aria-label"], Qr = {
4142
+ }, Fr = ["disabled", "aria-label"], Ur = ["disabled", "aria-label", "title"], Hr = ["aria-label"], Wr = ["data-testid", "aria-label"], Gr = {
4180
4143
  key: 0,
4181
4144
  class: "mt-auto flex shrink-0 flex-col gap-24 pb-8 pt-32"
4182
- }, Zr = { class: "text-center" }, ea = { class: "text-[24px] font-semibold leading-tight tracking-tight text-fm-color-typo-primary" }, ta = { class: "fm-typo-en-body-sm-400 mt-12 text-fm-color-typo-secondary" }, na = {
4145
+ }, Yr = { class: "text-center" }, Xr = { class: "text-[24px] font-semibold leading-tight tracking-tight text-fm-color-typo-primary" }, Kr = { class: "fm-typo-en-body-sm-400 mt-12 text-fm-color-typo-secondary" }, Jr = {
4183
4146
  key: 0,
4184
4147
  class: "flex flex-col gap-4"
4185
- }, ra = ["disabled", "title", "onClick"], aa = ["aria-label"], oa = { class: "fm-typo-en-body-sm-600 mb-12 text-fm-color-typo-secondary" }, ia = {
4148
+ }, Qr = ["disabled", "title", "onClick"], Zr = ["aria-label"], ea = { class: "fm-typo-en-body-sm-600 mb-12 text-fm-color-typo-secondary" }, ta = {
4186
4149
  key: 0,
4187
4150
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary"
4188
- }, sa = {
4151
+ }, na = {
4189
4152
  key: 1,
4190
4153
  "data-testid": "report-canvas-chat-list-error",
4191
4154
  class: "fm-typo-en-body-sm-400 text-fm-color-typo-error"
4192
- }, la = {
4155
+ }, ra = {
4193
4156
  key: 2,
4194
4157
  class: "fm-typo-en-body-sm-400 py-12 text-fm-color-typo-secondary"
4195
- }, fa = {
4158
+ }, aa = {
4196
4159
  key: 0,
4197
4160
  class: "fm-typo-en-body-sm-400 mb-8 text-fm-color-typo-secondary"
4198
- }, da = ["disabled", "aria-current", "title", "onClick"], ca = { class: "fm-typo-en-body-md-400 min-w-0 grow truncate" }, ma = ["datetime"], ua = ["disabled"], pa = ["disabled"], ha = {
4161
+ }, oa = ["disabled", "aria-current", "title", "onClick"], ia = { class: "fm-typo-en-body-md-400 min-w-0 grow truncate" }, sa = ["datetime"], la = ["disabled"], fa = ["disabled"], da = {
4199
4162
  key: 2,
4200
4163
  "data-testid": "report-canvas-chat-error",
4201
4164
  class: "fm-typo-en-body-sm-400 mt-12 text-fm-color-typo-error"
4202
- }, ga = {
4165
+ }, ca = {
4203
4166
  key: 1,
4204
4167
  class: "relative flex min-h-0 grow flex-col"
4205
- }, ba = {
4168
+ }, ma = {
4206
4169
  key: 0,
4207
4170
  "data-testid": "report-canvas-chat-loading",
4208
4171
  class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
4209
- }, va = ["disabled"], ya = {
4172
+ }, ua = ["disabled"], pa = {
4210
4173
  key: 0,
4211
4174
  "data-testid": "chat-message-target",
4212
4175
  class: "fm-typo-en-body-sm-600 mb-4 text-right text-fm-color-typo-secondary"
4213
- }, xa = {
4176
+ }, ha = {
4214
4177
  key: 1,
4215
4178
  class: "flex flex-col items-end"
4216
- }, wa = {
4179
+ }, ga = {
4217
4180
  key: 0,
4218
4181
  "data-testid": "chat-message-unsent",
4219
4182
  class: "fm-typo-en-body-sm-400 mt-4 text-fm-color-typo-secondary"
4220
- }, ka = ["disabled", "onClick"], _a = {
4183
+ }, ba = ["disabled", "onClick"], va = {
4221
4184
  key: 1,
4222
4185
  "data-testid": "chat-message-no-reply",
4223
4186
  class: "fm-typo-en-body-sm-400 mt-4 max-w-[90%] text-right text-fm-color-typo-secondary"
4224
- }, Ia = ["disabled", "onClick"], Sa = ["disabled", "onClick"], Aa = {
4187
+ }, ya = ["disabled", "onClick"], xa = ["disabled", "onClick"], wa = {
4225
4188
  key: 1,
4226
4189
  "data-testid": "report-canvas-failure",
4227
4190
  class: "rounded-md border border-fm-color-border-secondary px-12 py-12"
4228
- }, Ca = { class: "fm-typo-en-body-md-600 flex items-center gap-8" }, Ea = { class: "fm-typo-en-body-sm-400 mt-4 text-fm-color-typo-secondary" }, Ta = {
4191
+ }, ka = { class: "fm-typo-en-body-md-600 flex items-center gap-8" }, _a = { class: "fm-typo-en-body-sm-400 mt-4 text-fm-color-typo-secondary" }, Ia = {
4229
4192
  key: 0,
4230
4193
  class: "mt-12 flex flex-wrap gap-8"
4231
- }, Oa = {
4194
+ }, Sa = {
4232
4195
  key: 1,
4233
4196
  "data-testid": "report-canvas-failure-ref",
4234
4197
  class: "fm-typo-en-body-sm-400 mt-8 text-fm-color-typo-tertiary"
4235
- }, za = {
4198
+ }, Aa = {
4236
4199
  key: 3,
4237
4200
  class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary"
4238
- }, Na = {
4201
+ }, Ca = {
4239
4202
  key: 4,
4240
4203
  "data-testid": "report-canvas-answer-duration",
4241
4204
  class: "fm-typo-en-body-sm-400 mt-4 text-fm-color-typo-secondary"
4242
- }, Ra = {
4205
+ }, Ea = {
4243
4206
  key: 2,
4244
4207
  "data-testid": "report-canvas-chat-error",
4245
4208
  class: "fm-typo-en-body-md-400 text-fm-color-typo-error"
4246
- }, Ma = { class: "shrink-0" }, kt = "New chat", La = 24 * 60 * 60 * 1e3, Pa = 80, ja = /* @__PURE__ */ $e({
4209
+ }, Ta = { class: "shrink-0" }, wt = "New chat", Oa = 24 * 60 * 60 * 1e3, za = 80, Na = /* @__PURE__ */ $e({
4247
4210
  __name: "ReportCanvasChatPanel",
4248
- props: /* @__PURE__ */ ot({
4211
+ props: /* @__PURE__ */ at({
4249
4212
  messages: {},
4250
4213
  draft: {},
4251
4214
  target: {},
@@ -4287,13 +4250,13 @@ const Br = (t) => ce(
4287
4250
  homeDraft: { default: "" },
4288
4251
  homeDraftModifiers: {}
4289
4252
  }),
4290
- emits: /* @__PURE__ */ ot(["update:draft", "submit", "close", "retry", "undo", "resend", "askAgain", "editRequest", "askBuilder", "checkStatus", "clearTarget", "newChat", "selectChat", "loadChats", "loadMoreChats", "loadEarlier", "stop"], ["update:homeOpen", "update:homeDraft"]),
4253
+ emits: /* @__PURE__ */ at(["update:draft", "submit", "close", "retry", "undo", "resend", "askAgain", "editRequest", "askBuilder", "checkStatus", "clearTarget", "newChat", "selectChat", "loadChats", "loadMoreChats", "loadEarlier", "stop"], ["update:homeOpen", "update:homeDraft"]),
4291
4254
  setup(t, { emit: e }) {
4292
4255
  const n = t, o = e, { t: a, locale: i } = Be(), v = B(() => {
4293
4256
  var r;
4294
4257
  return ((r = n.copy) == null ? void 0 : r.title) ?? a("reportV5.reportAi.chat.title");
4295
- }), k = it(t, "homeOpen"), _ = T(!1), u = it(t, "homeDraft"), D = T(!1), R = B(
4296
- () => !n.chatTitle || n.chatTitle === kt ? a("reportV5.reportAi.chat.chats") : n.chatTitle
4258
+ }), k = ot(t, "homeOpen"), _ = T(!1), u = ot(t, "homeDraft"), D = T(!1), R = B(
4259
+ () => !n.chatTitle || n.chatTitle === wt ? a("reportV5.reportAi.chat.chats") : n.chatTitle
4297
4260
  ), A = T(!1), M = B(() => n.switching || A.value);
4298
4261
  se(
4299
4262
  () => n.messages,
@@ -4344,7 +4307,7 @@ const Br = (t) => ce(
4344
4307
  r.setHours(0, 0, 0, 0);
4345
4308
  const p = [];
4346
4309
  for (const G of n.chats ?? []) {
4347
- const W = new Date(G.lastMessageAt).getTime(), ge = W >= r.getTime() ? "today" : W >= r.getTime() - La ? "yesterday" : "earlier";
4310
+ const W = new Date(G.lastMessageAt).getTime(), ge = W >= r.getTime() ? "today" : W >= r.getTime() - Oa ? "yesterday" : "earlier";
4348
4311
  (p.find((be) => be.key === ge) ?? (p.push({ key: ge, label: a(`reportV5.reportAi.chat.group.${ge}`), chats: [] }), p[p.length - 1])).chats.push(G);
4349
4312
  }
4350
4313
  return p;
@@ -4367,7 +4330,7 @@ const Br = (t) => ce(
4367
4330
  const g = B(
4368
4331
  () => {
4369
4332
  var r;
4370
- return Fn(n.messages ?? [], {
4333
+ return $n(n.messages ?? [], {
4371
4334
  streamingId: n.streaming ? n.turnId : void 0,
4372
4335
  outcomes: (r = n.copy) == null ? void 0 : r.outcomes
4373
4336
  });
@@ -4412,7 +4375,7 @@ const Br = (t) => ce(
4412
4375
  active: p && n.streaming || G && ((W = n.run) == null ? void 0 : W.status) === "running" && !n.runStale,
4413
4376
  // a run card left behind by a newer streaming turn shows its own work, not that turn's phase
4414
4377
  phase: p || !n.streaming ? n.phase : "updating",
4415
- phases: Nn(g.value[r]),
4378
+ phases: Cn(g.value[r]),
4416
4379
  run: G ? n.run : null,
4417
4380
  slow: p && n.slow,
4418
4381
  startedAt: p && n.streaming ? n.startedAt ?? null : null,
@@ -4445,7 +4408,7 @@ const Br = (t) => ce(
4445
4408
  const h = T(), I = T(!0), z = T(!1);
4446
4409
  function F() {
4447
4410
  const r = h.value;
4448
- r && (I.value = r.scrollHeight - r.scrollTop - r.clientHeight <= Pa, I.value && (z.value = !1));
4411
+ r && (I.value = r.scrollHeight - r.scrollTop - r.clientHeight <= za, I.value && (z.value = !1));
4449
4412
  }
4450
4413
  async function J() {
4451
4414
  await ke();
@@ -4474,10 +4437,10 @@ const Br = (t) => ce(
4474
4437
  "aria-label": v.value,
4475
4438
  onKeydown: V
4476
4439
  }, [
4477
- C("header", Ur, [
4478
- C("div", Hr, [
4479
- C("h2", Wr, w(v.value), 1),
4480
- !te.value && r.chatTitle && r.chatTitle !== kt ? (c(), m("p", Gr, w(r.chatTitle), 1)) : P("", !0)
4440
+ C("header", Dr, [
4441
+ C("div", Br, [
4442
+ C("h2", qr, w(v.value), 1),
4443
+ !te.value && r.chatTitle && r.chatTitle !== wt ? (c(), m("p", Vr, w(r.chatTitle), 1)) : P("", !0)
4481
4444
  ]),
4482
4445
  !k.value || _.value ? (c(), ve(W, {
4483
4446
  key: 0,
@@ -4496,7 +4459,7 @@ const Br = (t) => ce(
4496
4459
  name: "chevron_left",
4497
4460
  size: "md"
4498
4461
  })
4499
- ], 8, Yr)
4462
+ ], 8, Fr)
4500
4463
  ]),
4501
4464
  _: 1
4502
4465
  }, 8, ["content"])) : P("", !0),
@@ -4519,7 +4482,7 @@ const Br = (t) => ce(
4519
4482
  size: "md",
4520
4483
  outline: ""
4521
4484
  })
4522
- ], 8, Xr)
4485
+ ], 8, Ur)
4523
4486
  ]),
4524
4487
  _: 1
4525
4488
  }, 8, ["content"])),
@@ -4538,7 +4501,7 @@ const Br = (t) => ce(
4538
4501
  name: "close",
4539
4502
  size: "md"
4540
4503
  })
4541
- ], 8, Kr)
4504
+ ], 8, Hr)
4542
4505
  ]),
4543
4506
  _: 1
4544
4507
  }, 8, ["content"])
@@ -4549,14 +4512,14 @@ const Br = (t) => ce(
4549
4512
  class: "flex min-h-0 grow flex-col overflow-y-auto px-[20px] py-24",
4550
4513
  "aria-label": b(a)("reportV5.reportAi.chat.chats")
4551
4514
  }, [
4552
- _.value ? P("", !0) : (c(), m("div", Qr, [
4553
- C("div", Zr, [
4554
- C("h3", ea, w(((Se = r.copy) == null ? void 0 : Se.welcome) ?? b(a)("reportV5.reportAi.chat.exploreTitle")), 1),
4555
- C("p", ta, w(((be = r.copy) == null ? void 0 : be.hint) ?? b(a)(
4515
+ _.value ? P("", !0) : (c(), m("div", Gr, [
4516
+ C("div", Yr, [
4517
+ C("h3", Xr, w(((Se = r.copy) == null ? void 0 : Se.welcome) ?? b(a)("reportV5.reportAi.chat.exploreTitle")), 1),
4518
+ C("p", Kr, w(((be = r.copy) == null ? void 0 : be.hint) ?? b(a)(
4556
4519
  r.blank ? "reportV5.reportAi.chat.placeholderNew" : "reportV5.reportAi.chat.exploreHint"
4557
4520
  )), 1)
4558
4521
  ]),
4559
- pe.value.length ? (c(), m("div", na, [
4522
+ pe.value.length ? (c(), m("div", Jr, [
4560
4523
  (c(!0), m(fe, null, me(pe.value, (s) => (c(), m("button", {
4561
4524
  key: s.label,
4562
4525
  "data-testid": "report-canvas-suggestion",
@@ -4571,7 +4534,7 @@ const Br = (t) => ce(
4571
4534
  size: "sm",
4572
4535
  class: "shrink-0"
4573
4536
  })
4574
- ], 8, ra))), 128))
4537
+ ], 8, Qr))), 128))
4575
4538
  ])) : P("", !0)
4576
4539
  ])),
4577
4540
  ue.value ? (c(), m("section", {
@@ -4579,14 +4542,14 @@ const Br = (t) => ce(
4579
4542
  class: "shrink-0 pt-24",
4580
4543
  "aria-label": b(a)("reportV5.reportAi.chat.recentChats")
4581
4544
  }, [
4582
- C("h3", oa, w(b(a)(
4545
+ C("h3", ea, w(b(a)(
4583
4546
  _.value ? "reportV5.reportAi.chat.yourChats" : "reportV5.reportAi.chat.recentChats"
4584
4547
  )), 1),
4585
- r.chatsLoading && !((Ne = r.chats) != null && Ne.length) ? (c(), m("p", ia, w(b(a)("reportV5.reportAi.chat.loadingChats")), 1)) : r.chatsError ? (c(), m("p", sa, w(r.chatsError), 1)) : (Re = r.chats) != null && Re.length ? (c(!0), m(fe, { key: 3 }, me(we.value, (s) => (c(), m("section", {
4548
+ r.chatsLoading && !((Ne = r.chats) != null && Ne.length) ? (c(), m("p", ta, w(b(a)("reportV5.reportAi.chat.loadingChats")), 1)) : r.chatsError ? (c(), m("p", na, w(r.chatsError), 1)) : (Re = r.chats) != null && Re.length ? (c(!0), m(fe, { key: 3 }, me(we.value, (s) => (c(), m("section", {
4586
4549
  key: s.key,
4587
- class: tt(_.value ? "mb-16" : "")
4550
+ class: et(_.value ? "mb-16" : "")
4588
4551
  }, [
4589
- s.label ? (c(), m("p", fa, w(s.label), 1)) : P("", !0),
4552
+ s.label ? (c(), m("p", aa, w(s.label), 1)) : P("", !0),
4590
4553
  (c(!0), m(fe, null, me(s.chats, (d) => (c(), m("button", {
4591
4554
  key: d.id,
4592
4555
  "data-testid": "report-canvas-chat-list-item",
@@ -4596,48 +4559,48 @@ const Br = (t) => ce(
4596
4559
  title: d.title,
4597
4560
  onClick: (S) => N(d.id)
4598
4561
  }, [
4599
- C("span", ca, w(d.title), 1),
4562
+ C("span", ia, w(d.title), 1),
4600
4563
  C("time", {
4601
4564
  datetime: d.lastMessageAt,
4602
4565
  class: "fm-typo-en-body-sm-400 shrink-0 text-fm-color-typo-secondary"
4603
- }, w(X(d)), 9, ma)
4604
- ], 8, da))), 128))
4605
- ], 2))), 128)) : (c(), m("p", la, w(b(a)("reportV5.reportAi.chat.noChats")), 1)),
4566
+ }, w(X(d)), 9, sa)
4567
+ ], 8, oa))), 128))
4568
+ ], 2))), 128)) : (c(), m("p", ra, w(b(a)("reportV5.reportAi.chat.noChats")), 1)),
4606
4569
  _.value ? r.chatsCursor ? (c(), m("button", {
4607
4570
  key: 5,
4608
4571
  "data-testid": "report-canvas-chat-list-more",
4609
4572
  class: "chat-row fm-typo-en-body-sm-600 rounded-md px-8 py-12 text-fm-color-typo-secondary",
4610
4573
  disabled: r.chatsLoading,
4611
4574
  onClick: p[1] || (p[1] = (s) => o("loadMoreChats"))
4612
- }, w(b(a)("reportV5.reportAi.chat.loadMoreChats")), 9, pa)) : P("", !0) : (c(), m("button", {
4575
+ }, w(b(a)("reportV5.reportAi.chat.loadMoreChats")), 9, fa)) : P("", !0) : (c(), m("button", {
4613
4576
  key: 4,
4614
4577
  "data-testid": "report-canvas-chat-see-all",
4615
4578
  class: "chat-row fm-typo-en-body-sm-600 mt-8 rounded-md px-8 py-12 text-fm-color-typo-secondary",
4616
4579
  disabled: r.chatsLoading,
4617
4580
  onClick: E
4618
- }, w(b(a)("reportV5.reportAi.chat.seeAll")), 9, ua))
4619
- ], 8, aa)) : P("", !0),
4620
- r.error ? (c(), m("p", ha, w(r.error), 1)) : P("", !0)
4621
- ], 8, Jr)) : (c(), m("div", ga, [
4581
+ }, w(b(a)("reportV5.reportAi.chat.seeAll")), 9, la))
4582
+ ], 8, Zr)) : P("", !0),
4583
+ r.error ? (c(), m("p", da, w(r.error), 1)) : P("", !0)
4584
+ ], 8, Wr)) : (c(), m("div", ca, [
4622
4585
  C("div", {
4623
4586
  ref_key: "scroller",
4624
4587
  ref: h,
4625
4588
  class: "min-h-0 grow overflow-y-auto px-[20px] py-16",
4626
4589
  onScroll: F
4627
4590
  }, [
4628
- M.value ? (c(), m("p", ba, w(b(a)("reportV5.reportAi.chat.loadingChat")), 1)) : (c(), m(fe, { key: 1 }, [
4591
+ M.value ? (c(), m("p", ma, w(b(a)("reportV5.reportAi.chat.loadingChat")), 1)) : (c(), m(fe, { key: 1 }, [
4629
4592
  r.earlier ? (c(), m("button", {
4630
4593
  key: 0,
4631
4594
  "data-testid": "report-canvas-load-earlier",
4632
4595
  class: "fm-typo-en-body-sm-600 mb-16 w-full text-fm-color-typo-secondary disabled:opacity-50",
4633
4596
  disabled: r.loadingEarlier,
4634
4597
  onClick: p[2] || (p[2] = (s) => o("loadEarlier"))
4635
- }, w(b(a)("reportV5.reportAi.chat.loadEarlier")), 9, va)) : P("", !0),
4598
+ }, w(b(a)("reportV5.reportAi.chat.loadEarlier")), 9, ua)) : P("", !0),
4636
4599
  (c(!0), m(fe, null, me(g.value, (s, d) => (c(), m("div", {
4637
4600
  key: s.id,
4638
4601
  class: "mb-16"
4639
4602
  }, [
4640
- s.targets.length ? (c(), m("p", ya, w(b(a)("reportV5.reportAi.chat.commentOn", {
4603
+ s.targets.length ? (c(), m("p", pa, w(b(a)("reportV5.reportAi.chat.commentOn", {
4641
4604
  widget: [
4642
4605
  ...new Set(
4643
4606
  s.targets.map(
@@ -4646,39 +4609,39 @@ const Br = (t) => ce(
4646
4609
  )
4647
4610
  ].join(", ")
4648
4611
  })), 1)) : P("", !0),
4649
- s.role === "user" ? (c(), m("div", xa, [
4612
+ s.role === "user" ? (c(), m("div", ha, [
4650
4613
  C("div", {
4651
4614
  "data-testid": "report-canvas-user-message",
4652
- class: tt([
4615
+ class: et([
4653
4616
  "fm-typo-en-body-md-400 max-w-[90%] whitespace-pre-wrap rounded-md px-12 py-8 !leading-[21px]",
4654
4617
  l.value.has(s.id) ? "bg-fm-color-neutral-gray-100 text-fm-color-typo-secondary" : "bg-fm-color-system-info-100"
4655
4618
  ])
4656
4619
  }, w(s.answer), 3),
4657
- l.value.has(s.id) ? (c(), m("p", wa, [
4620
+ l.value.has(s.id) ? (c(), m("p", ga, [
4658
4621
  Ce(w(b(a)("reportV5.reportAi.chat.notSent")) + " ", 1),
4659
4622
  C("button", {
4660
4623
  "data-testid": "chat-message-resend",
4661
4624
  class: "ml-4 underline disabled:opacity-50",
4662
4625
  disabled: r.streaming || r.busy,
4663
4626
  onClick: (S) => o("resend", s.id)
4664
- }, w(b(a)("reportV5.reportAi.chat.resend")), 9, ka)
4665
- ])) : U.value.has(s.id) ? (c(), m("p", _a, [
4627
+ }, w(b(a)("reportV5.reportAi.chat.resend")), 9, ba)
4628
+ ])) : U.value.has(s.id) ? (c(), m("p", va, [
4666
4629
  Ce(w(b(a)("reportV5.reportAi.chat.noReply")) + " ", 1),
4667
4630
  C("button", {
4668
4631
  "data-testid": "chat-message-ask-again",
4669
4632
  class: "ml-4 underline disabled:opacity-50",
4670
4633
  disabled: r.streaming || r.busy,
4671
4634
  onClick: (S) => o("askAgain", s.id)
4672
- }, w(b(a)("reportV5.reportAi.chat.resend")), 9, Ia)
4635
+ }, w(b(a)("reportV5.reportAi.chat.resend")), 9, ya)
4673
4636
  ])) : Z.value.has(s.turnId) ? (c(), m("button", {
4674
4637
  key: 2,
4675
4638
  "data-testid": "chat-turn-undo",
4676
4639
  class: "fm-typo-en-body-sm-400 mt-4 text-fm-color-typo-secondary underline disabled:opacity-50",
4677
4640
  disabled: r.undoing || r.streaming,
4678
4641
  onClick: (S) => o("undo", s.turnId)
4679
- }, w(b(a)("reportV5.reportCanvas.draft.undo")), 9, Sa)) : P("", !0)
4642
+ }, w(b(a)("reportV5.reportCanvas.draft.undo")), 9, xa)) : P("", !0)
4680
4643
  ])) : (c(), m(fe, { key: 2 }, [
4681
- d === K.value || d === re.value ? (c(), ve(yt, st({
4644
+ d === K.value || d === re.value ? (c(), ve(vt, it({
4682
4645
  key: 0,
4683
4646
  class: "mb-8",
4684
4647
  ref_for: !0
@@ -4687,8 +4650,8 @@ const Br = (t) => ce(
4687
4650
  onAskBuilder: de,
4688
4651
  onCheckStatus: p[4] || (p[4] = (S) => o("checkStatus"))
4689
4652
  }), null, 16)) : P("", !0),
4690
- s.failure ? (c(), m("div", Aa, [
4691
- C("p", Ca, [
4653
+ s.failure ? (c(), m("div", wa, [
4654
+ C("p", ka, [
4692
4655
  ee(G, {
4693
4656
  name: "error",
4694
4657
  size: "sm",
@@ -4696,8 +4659,8 @@ const Br = (t) => ce(
4696
4659
  }),
4697
4660
  Ce(" " + w(b(a)("reportV5.reportAi.build.failed.title")), 1)
4698
4661
  ]),
4699
- C("p", Ea, w(b(a)(`reportV5.reportAi.build.failed.${b($n)(s.failure.code)}`)), 1),
4700
- d === g.value.length - 1 && q(d) ? (c(), m("div", Ta, [
4662
+ C("p", _a, w(b(a)(`reportV5.reportAi.build.failed.${b(Rn)(s.failure.code)}`)), 1),
4663
+ d === g.value.length - 1 && q(d) ? (c(), m("div", Ia, [
4701
4664
  ee(ge, {
4702
4665
  "data-testid": "report-canvas-try-again",
4703
4666
  variant: "primary",
@@ -4713,17 +4676,17 @@ const Br = (t) => ce(
4713
4676
  onClick: (S) => he(q(d))
4714
4677
  }, null, 8, ["label", "disabled", "onClick"])
4715
4678
  ])) : P("", !0),
4716
- s.failure.ref ? (c(), m("p", Oa, w(b(a)("reportV5.reportAi.build.failed.ref", { ref: s.failure.ref })), 1)) : P("", !0)
4717
- ])) : s.blocks.length ? (c(), ve(Vr, {
4679
+ s.failure.ref ? (c(), m("p", Sa, w(b(a)("reportV5.reportAi.build.failed.ref", { ref: s.failure.ref })), 1)) : P("", !0)
4680
+ ])) : s.blocks.length ? (c(), ve(jr, {
4718
4681
  key: 2,
4719
4682
  "data-testid": "report-canvas-answer",
4720
4683
  blocks: s.blocks,
4721
4684
  preview: s.preview
4722
- }, null, 8, ["blocks", "preview"])) : s.noSummary ? (c(), m("p", za, w(b(a)("reportV5.reportAi.chat.noSummary")), 1)) : P("", !0),
4723
- s.ms ? (c(), m("p", Na, w(b(a)("reportV5.reportAi.chat.took", { duration: b(jn)(s.ms) })), 1)) : P("", !0)
4685
+ }, null, 8, ["blocks", "preview"])) : s.noSummary ? (c(), m("p", Aa, w(b(a)("reportV5.reportAi.chat.noSummary")), 1)) : P("", !0),
4686
+ s.ms ? (c(), m("p", Ca, w(b(a)("reportV5.reportAi.chat.took", { duration: b(Nn)(s.ms) })), 1)) : P("", !0)
4724
4687
  ], 64))
4725
4688
  ]))), 128)),
4726
- ae.value ? (c(), ve(yt, st({
4689
+ ae.value ? (c(), ve(vt, it({
4727
4690
  key: 1,
4728
4691
  class: "mb-16"
4729
4692
  }, ne(-1), {
@@ -4731,7 +4694,7 @@ const Br = (t) => ce(
4731
4694
  onAskBuilder: de,
4732
4695
  onCheckStatus: p[6] || (p[6] = (s) => o("checkStatus"))
4733
4696
  }), null, 16)) : P("", !0),
4734
- r.error ? (c(), m("p", Ra, w(r.error), 1)) : P("", !0)
4697
+ r.error ? (c(), m("p", Ea, w(r.error), 1)) : P("", !0)
4735
4698
  ], 64))
4736
4699
  ], 544),
4737
4700
  z.value ? (c(), m("button", {
@@ -4741,8 +4704,8 @@ const Br = (t) => ce(
4741
4704
  onClick: J
4742
4705
  }, w(b(a)("reportV5.reportAi.chat.jumpToLatest")), 1)) : P("", !0)
4743
4706
  ])),
4744
- C("div", Ma, [
4745
- ee($r, {
4707
+ C("div", Ta, [
4708
+ ee(Rr, {
4746
4709
  ref_key: "composer",
4747
4710
  ref: y,
4748
4711
  draft: k.value ? u.value : r.draft,
@@ -4761,16 +4724,16 @@ const Br = (t) => ce(
4761
4724
  onStop: p[8] || (p[8] = (s) => o("stop"))
4762
4725
  }, null, 8, ["draft", "target", "targets", "target-stale", "streaming", "blank", "stoppable", "stopping", "target-label", "placeholder"])
4763
4726
  ])
4764
- ], 40, Fr);
4727
+ ], 40, $r);
4765
4728
  };
4766
4729
  }
4767
- }), mo = /* @__PURE__ */ Ot(ja, [["__scopeId", "data-v-cbe24113"]]);
4730
+ }), so = /* @__PURE__ */ Tt(Na, [["__scopeId", "data-v-cbe24113"]]);
4768
4731
  function Ee(t) {
4769
4732
  const { businessId: e } = ze(De());
4770
4733
  if (!e.value) throw new Error("Business Id is not defined");
4771
4734
  return `/${e.value}/report-ai/${t}`;
4772
4735
  }
4773
- const $a = (t, e = {}) => {
4736
+ const Ra = (t, e = {}) => {
4774
4737
  const n = new URLSearchParams();
4775
4738
  e.sessionId && n.set("sessionId", e.sessionId), e.before && n.set("before", e.before);
4776
4739
  const o = n.toString(), a = {
@@ -4778,84 +4741,84 @@ const $a = (t, e = {}) => {
4778
4741
  url: `${Ee(t)}/chat${o ? `?${o}` : ""}`
4779
4742
  };
4780
4743
  return oe.fetch(a);
4781
- }, Da = (t, e) => {
4744
+ }, Ma = (t, e) => {
4782
4745
  const n = {
4783
4746
  fetchType: ie.Get,
4784
4747
  url: `${Ee(t)}/chats${e ? `?cursor=${encodeURIComponent(e)}` : ""}`
4785
4748
  };
4786
4749
  return oe.fetch(n);
4787
- }, Ba = (t) => {
4750
+ }, La = (t) => {
4788
4751
  const e = {
4789
4752
  fetchType: ie.Post,
4790
4753
  url: `${Ee(t)}/chats`,
4791
4754
  data: {}
4792
4755
  };
4793
4756
  return oe.fetch(e);
4794
- }, uo = (t, e) => {
4757
+ }, lo = (t, e) => {
4795
4758
  const n = {
4796
4759
  fetchType: ie.Get,
4797
4760
  url: `${Ee(t)}/runs/latest${e ? `?sessionId=${e}` : ""}`
4798
4761
  };
4799
4762
  return oe.fetch(n);
4800
- }, po = (t, e, n, o) => {
4763
+ }, fo = (t, e, n, o) => {
4801
4764
  const a = {
4802
4765
  fetchType: ie.Post,
4803
4766
  url: `${Ee(t)}/runs/${e}/sections/${n}/retry`,
4804
4767
  data: { timezone: o }
4805
4768
  };
4806
4769
  return oe.fetch(a);
4807
- }, qa = (t, e) => {
4770
+ }, Pa = (t, e) => {
4808
4771
  const n = {
4809
4772
  fetchType: ie.Post,
4810
4773
  url: `${Ee(t)}/chat/stop`,
4811
4774
  data: { sessionId: e }
4812
4775
  };
4813
4776
  return oe.fetch(n);
4814
- }, Va = (t, e) => `/${t}/report-ai/${e}/chat`, Qe = 3e4, _t = 3e3, Fa = "New chat", It = 80, Ua = (t) => ({
4777
+ }, ja = (t, e) => `/${t}/report-ai/${e}/chat`, Je = 3e4, kt = 3e3, $a = "New chat", _t = 80, Da = (t) => ({
4815
4778
  key: t,
4816
- getChat: (e) => $a(t, e),
4817
- listChats: (e) => Da(t, e),
4818
- createChat: () => Ba(t),
4819
- stopChat: (e) => qa(t, e),
4820
- chatPath: (e) => Va(e, t)
4821
- }), ho = (t) => ({
4779
+ getChat: (e) => Ra(t, e),
4780
+ listChats: (e) => Ma(t, e),
4781
+ createChat: () => La(t),
4782
+ stopChat: (e) => Pa(t, e),
4783
+ chatPath: (e) => ja(e, t)
4784
+ }), co = (t) => ({
4822
4785
  key: `digest:${t}`,
4823
- getChat: (e) => Zt(t, e),
4824
- listChats: (e) => Qt(t, e),
4825
- createChat: () => Jt(t),
4826
- stopChat: (e) => Kt(t, e),
4827
- chatPath: (e) => Xt(e, t)
4786
+ getChat: (e) => Jt(t, e),
4787
+ listChats: (e) => Kt(t, e),
4788
+ createChat: () => Xt(t),
4789
+ stopChat: (e) => Yt(t, e),
4790
+ chatPath: (e) => Gt(e, t)
4828
4791
  });
4829
- function Ze(t, e) {
4792
+ function Qe(t, e) {
4830
4793
  return `report-canvas:chat:${t}:${e}`;
4831
4794
  }
4832
- function Ha(t) {
4795
+ function Ba(t) {
4833
4796
  try {
4834
4797
  return window.localStorage.getItem(t) ?? void 0;
4835
4798
  } catch {
4836
4799
  return;
4837
4800
  }
4838
4801
  }
4839
- function et(t, e) {
4802
+ function Ze(t, e) {
4840
4803
  try {
4841
4804
  e ? window.localStorage.setItem(t, e) : window.localStorage.removeItem(t);
4842
4805
  } catch {
4843
4806
  }
4844
4807
  }
4845
- const St = (t) => Array.isArray(t) ? t : t ? [t] : [], jt = (t, e) => ({
4808
+ const It = (t) => Array.isArray(t) ? t : t ? [t] : [], Lt = (t, e) => ({
4846
4809
  text: t,
4847
4810
  ...e.length ? { target: e[0] } : {},
4848
4811
  targets: e
4849
4812
  });
4850
- function At(t) {
4851
- return jt(
4813
+ function St(t) {
4814
+ return Lt(
4852
4815
  t.parts.filter((e) => e.type === "text").map((e) => String(e.text ?? "")).join(`
4853
4816
  `),
4854
4817
  t.parts.filter((e) => e.type === "data-edit-target").map((e) => e.data)
4855
4818
  );
4856
4819
  }
4857
- function go(t) {
4858
- const { businessId: e, token: n } = ze(De()), o = typeof t == "string" ? Ua(t) : t, a = T([]), i = T(), v = T(""), k = T(null), _ = T(!1), u = T([]), D = T(null), R = T(!1), A = T(""), M = T(!1), O = T(!1), E = T(""), j = T(null), N = T(""), L = T(!1), V = T([]), Y = T(!1), X = T(null), Z = T(!1), l = T(null), y = T(!1), g = B(() => Z.value || O.value && y.value), U = T(!1);
4820
+ function mo(t) {
4821
+ const { businessId: e, token: n } = ze(De()), o = typeof t == "string" ? Da(t) : t, a = T([]), i = T(), v = T(""), k = T(null), _ = T(!1), u = T([]), D = T(null), R = T(!1), A = T(""), M = T(!1), O = T(!1), E = T(""), j = T(null), N = T(""), L = T(!1), V = T([]), Y = T(!1), X = T(null), Z = T(!1), l = T(null), y = T(!1), g = B(() => Z.value || O.value && y.value), U = T(!1);
4859
4822
  se([O, Z], ([f, s]) => {
4860
4823
  !f && !s && (U.value = !1);
4861
4824
  });
@@ -4873,11 +4836,11 @@ function go(t) {
4873
4836
  ue.push(f);
4874
4837
  }
4875
4838
  let ne = 0;
4876
- Et() && Tt(() => {
4839
+ Ct() && Et(() => {
4877
4840
  ne += 1, clearTimeout(q), clearTimeout(K);
4878
4841
  });
4879
4842
  async function _e(f) {
4880
- const s = Ze(b(e.value), o.key), d = f ?? Ha(s), S = ne += 1;
4843
+ const s = Qe(b(e.value), o.key), d = f ?? Ba(s), S = ne += 1;
4881
4844
  clearTimeout(q), M.value = !0;
4882
4845
  try {
4883
4846
  let x;
@@ -4885,7 +4848,7 @@ function go(t) {
4885
4848
  x = await o.getChat({ sessionId: d });
4886
4849
  } catch ($) {
4887
4850
  if (!d) throw $;
4888
- et(s, void 0), x = await o.getChat();
4851
+ Ze(s, void 0), x = await o.getChat();
4889
4852
  }
4890
4853
  return S !== ne ? null : (pe(x), x.latestRun ?? null);
4891
4854
  } catch (x) {
@@ -4895,7 +4858,7 @@ function go(t) {
4895
4858
  }
4896
4859
  }
4897
4860
  function pe(f) {
4898
- i.value = f.sessionId ?? void 0, v.value = f.title ?? "", a.value = f.messages, k.value = f.earlier ?? null, V.value = [], N.value = "", et(Ze(b(e.value), o.key), f.sessionId), he(f);
4861
+ i.value = f.sessionId ?? void 0, v.value = f.title ?? "", a.value = f.messages, k.value = f.earlier ?? null, V.value = [], N.value = "", Ze(Qe(b(e.value), o.key), f.sessionId), he(f);
4899
4862
  }
4900
4863
  function he(f) {
4901
4864
  clearTimeout(q), clearTimeout(K);
@@ -4908,7 +4871,7 @@ function go(t) {
4908
4871
  const x = Date.parse(s.now) - Date.parse(s.since);
4909
4872
  X.value = Date.now() - x;
4910
4873
  const $ = (d == null ? void 0 : d.role) === "assistant" && d.inProgress ? d : void 0;
4911
- $ && (E.value = $.id), j.value = Rn($), Y.value = x >= Qe, Y.value || (K = setTimeout(() => Y.value = !0, Qe - x)), q = setTimeout(() => void de(), _t);
4874
+ $ && (E.value = $.id), j.value = En($), Y.value = x >= Je, Y.value || (K = setTimeout(() => Y.value = !0, Je - x)), q = setTimeout(() => void de(), kt);
4912
4875
  }
4913
4876
  async function de(f = !1) {
4914
4877
  const s = ne, d = i.value;
@@ -4917,7 +4880,7 @@ function go(t) {
4917
4880
  if (s !== ne || O.value || d !== i.value) return;
4918
4881
  pe(S), (!S.pending || S.pending.stopped) && (te.forEach((x) => x()), ue.forEach((x) => x(S.latestRun ?? null)));
4919
4882
  } catch {
4920
- s === ne && (Z.value || f) && (q = setTimeout(() => void de(f), _t));
4883
+ s === ne && (Z.value || f) && (q = setTimeout(() => void de(f), kt));
4921
4884
  }
4922
4885
  }
4923
4886
  async function Te(f) {
@@ -4963,7 +4926,7 @@ function go(t) {
4963
4926
  }
4964
4927
  const z = /* @__PURE__ */ new Map();
4965
4928
  function F(f, s) {
4966
- i.value && z.set(i.value, jt(f, St(s)));
4929
+ i.value && z.set(i.value, Lt(f, It(s)));
4967
4930
  }
4968
4931
  function J() {
4969
4932
  return i.value && z.get(i.value) || { text: "", targets: [] };
@@ -4985,11 +4948,11 @@ function go(t) {
4985
4948
  }
4986
4949
  function p(f) {
4987
4950
  const s = a.value.find((d) => d.id === f && d.role === "user");
4988
- return s ? At(s) : null;
4951
+ return s ? St(s) : null;
4989
4952
  }
4990
4953
  function G(f) {
4991
4954
  const s = a.value.find((d) => d.id === f);
4992
- return !s || !V.value.includes(f) ? null : (a.value = a.value.filter((d) => d.id !== f), V.value = V.value.filter((d) => d !== f), At(s));
4955
+ return !s || !V.value.includes(f) ? null : (a.value = a.value.filter((d) => d.id !== f), V.value = V.value.filter((d) => d !== f), St(s));
4993
4956
  }
4994
4957
  function W(f, s) {
4995
4958
  const d = a.value[a.value.length - 1];
@@ -5020,7 +4983,7 @@ function go(t) {
5020
4983
  return !1;
5021
4984
  }
5022
4985
  function be(f, s) {
5023
- f.named || (j.value = bt(j.value, Lt(s)));
4986
+ f.named || (j.value = gt(j.value, Rt(s)));
5024
4987
  }
5025
4988
  function Ne(f, s) {
5026
4989
  const d = String(f.type ?? ""), S = s.id;
@@ -5081,12 +5044,12 @@ function go(t) {
5081
5044
  }
5082
5045
  if (d.startsWith("data-")) {
5083
5046
  const x = d.slice(5), $ = f.data ?? {};
5084
- x === "plan" && typeof $.sessionId == "string" && (s.acked = !0, y.value = !0, i.value = $.sessionId, et(Ze(b(e.value), o.key), $.sessionId)), x === "step" && typeof $.step == "string" ? (s.named = !0, j.value = bt(j.value, $.step)) : be(s, x), W(S, (Q) => Q.push({ type: d, data: $ })), re.forEach((Q) => Q({ name: x, data: $ }));
5047
+ x === "plan" && typeof $.sessionId == "string" && (s.acked = !0, y.value = !0, i.value = $.sessionId, Ze(Qe(b(e.value), o.key), $.sessionId)), x === "step" && typeof $.step == "string" ? (s.named = !0, j.value = gt(j.value, $.step)) : be(s, x), W(S, (Q) => Q.push({ type: d, data: $ })), re.forEach((Q) => Q({ name: x, data: $ }));
5085
5048
  }
5086
5049
  }
5087
5050
  function Re(f) {
5088
- if (v.value && v.value !== Fa) return;
5089
- const s = f.length > It ? `${f.slice(0, It - 1)}…` : f;
5051
+ if (v.value && v.value !== $a) return;
5052
+ const s = f.length > _t ? `${f.slice(0, _t - 1)}…` : f;
5090
5053
  v.value = s, u.value = u.value.map(
5091
5054
  (d) => d.id === i.value ? { ...d, title: s } : d
5092
5055
  );
@@ -5094,7 +5057,7 @@ function go(t) {
5094
5057
  async function Me(f, s) {
5095
5058
  const d = f.trim();
5096
5059
  if (!d || O.value || Z.value) return;
5097
- const S = St(s);
5060
+ const S = It(s);
5098
5061
  N.value = "", L.value = !1;
5099
5062
  const x = {
5100
5063
  id: lt(),
@@ -5113,11 +5076,11 @@ function go(t) {
5113
5076
  ], Re(d), y.value = !1, O.value = !0, j.value = null, Y.value = !1, l.value = null, X.value = Date.now(), E.value = `assistant-${Date.now()}`;
5114
5077
  const $ = { id: E.value, acked: !1 }, Q = setTimeout(() => {
5115
5078
  Y.value = !0;
5116
- }, Qe);
5117
- let nt = !1;
5079
+ }, Je);
5080
+ let tt = !1;
5118
5081
  try {
5119
5082
  const le = await fetch(
5120
- en(o.chatPath(e.value)),
5083
+ Qt(o.chatPath(e.value)),
5121
5084
  {
5122
5085
  method: "POST",
5123
5086
  headers: {
@@ -5142,21 +5105,21 @@ function go(t) {
5142
5105
  console.warn("[report-canvas] chat rejected", { subject: o.key, status: le.status }), H(x.id);
5143
5106
  return;
5144
5107
  }
5145
- const $t = le.body.getReader(), Dt = new TextDecoder();
5108
+ const Pt = le.body.getReader(), jt = new TextDecoder();
5146
5109
  let qe = "";
5147
5110
  for (; ; ) {
5148
- const { done: Ae, value: Ve } = await $t.read();
5111
+ const { done: Ae, value: Ve } = await Pt.read();
5149
5112
  if (Ae) break;
5150
- qe += Dt.decode(Ve, { stream: !0 });
5151
- const rt = qe.split(`
5113
+ qe += jt.decode(Ve, { stream: !0 });
5114
+ const nt = qe.split(`
5152
5115
 
5153
5116
  `);
5154
- qe = rt.pop() ?? "";
5155
- for (const Bt of rt)
5156
- for (const at of Bt.split(`
5117
+ qe = nt.pop() ?? "";
5118
+ for (const $t of nt)
5119
+ for (const rt of $t.split(`
5157
5120
  `)) {
5158
- if (!at.startsWith("data:")) continue;
5159
- const Fe = at.slice(5).trim();
5121
+ if (!rt.startsWith("data:")) continue;
5122
+ const Fe = rt.slice(5).trim();
5160
5123
  if (!(!Fe || Fe === "[DONE]"))
5161
5124
  try {
5162
5125
  Ne(JSON.parse(Fe), $);
@@ -5165,9 +5128,9 @@ function go(t) {
5165
5128
  }
5166
5129
  }
5167
5130
  } catch (le) {
5168
- console.warn("[report-canvas] chat stream failed", { subject: o.key, err: le }), $.acked ? (L.value = !0, nt = !0) : H(x.id);
5131
+ console.warn("[report-canvas] chat stream failed", { subject: o.key, err: le }), $.acked ? (L.value = !0, tt = !0) : H(x.id);
5169
5132
  } finally {
5170
- clearTimeout(Q), O.value = !1, j.value = null, Y.value = !1, X.value = null, te.forEach((le) => le()), nt && de(!0);
5133
+ clearTimeout(Q), O.value = !1, j.value = null, Y.value = !1, X.value = null, te.forEach((le) => le()), tt && de(!0);
5171
5134
  }
5172
5135
  }
5173
5136
  return {
@@ -5209,8 +5172,8 @@ function go(t) {
5209
5172
  onResumed: we
5210
5173
  };
5211
5174
  }
5212
- const Wa = 380, Ga = 600, Ct = 'button:not([disabled]),textarea:not([disabled]),select:not([disabled]),a[href],[tabindex]:not([tabindex="-1"])';
5213
- function bo(t, e) {
5175
+ const qa = 380, Va = 600, At = 'button:not([disabled]),textarea:not([disabled]),select:not([disabled]),a[href],[tabindex]:not([tabindex="-1"])';
5176
+ function uo(t, e) {
5214
5177
  const n = T(), o = T(), a = T(0);
5215
5178
  let i, v = !1;
5216
5179
  Le(() => {
@@ -5219,20 +5182,20 @@ function bo(t, e) {
5219
5182
  }), i.observe(n.value));
5220
5183
  }), Pe(() => i == null ? void 0 : i.disconnect());
5221
5184
  const k = B(
5222
- () => !a.value || a.value >= Wa + Ga
5185
+ () => !a.value || a.value >= qa + Va
5223
5186
  ), _ = B(() => t.value && !k.value && !e.value);
5224
5187
  let u = null;
5225
5188
  se(_, async (R) => {
5226
5189
  var A, M, O;
5227
5190
  if (R) {
5228
- u = document.activeElement, await ke(), (M = (A = o.value) == null ? void 0 : A.querySelector(Ct)) == null || M.focus();
5191
+ u = document.activeElement, await ke(), (M = (A = o.value) == null ? void 0 : A.querySelector(At)) == null || M.focus();
5229
5192
  return;
5230
5193
  }
5231
5194
  (O = u == null ? void 0 : u.focus) == null || O.call(u), u = null;
5232
5195
  });
5233
5196
  function D(R) {
5234
5197
  if (R.key !== "Tab" || !_.value || !o.value) return;
5235
- const A = [...o.value.querySelectorAll(Ct)];
5198
+ const A = [...o.value.querySelectorAll(At)];
5236
5199
  if (!A.length) return;
5237
5200
  const M = R.shiftKey ? A[0] : A[A.length - 1];
5238
5201
  document.activeElement === M && (R.preventDefault(), (R.shiftKey ? A[A.length - 1] : A[0]).focus());
@@ -5240,20 +5203,20 @@ function bo(t, e) {
5240
5203
  return Le(() => window.addEventListener("keydown", D, !0)), Pe(() => window.removeEventListener("keydown", D, !0)), { root: n, drawer: o, docked: k, modal: _ };
5241
5204
  }
5242
5205
  export {
5243
- fo as R,
5244
- co as a,
5245
- bo as b,
5246
- go as c,
5247
- ho as d,
5248
- mo as e,
5249
- po as f,
5250
- io as g,
5251
- uo as h,
5252
- ao as i,
5253
- oo as j,
5254
- to as k,
5255
- no as l,
5256
- ro as p,
5257
- so as r,
5258
- lo as u
5206
+ oo as R,
5207
+ io as a,
5208
+ uo as b,
5209
+ mo as c,
5210
+ co as d,
5211
+ so as e,
5212
+ fo as f,
5213
+ no as g,
5214
+ lo as h,
5215
+ eo as i,
5216
+ to as j,
5217
+ Ja as k,
5218
+ Qa as l,
5219
+ Za as p,
5220
+ ro as r,
5221
+ ao as u
5259
5222
  };