@x-wave/blog 1.0.34 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { jsxs as d, jsx as t, Fragment as q } from "react/jsx-runtime";
1
+ import { jsxs as d, jsx as t, Fragment as K } from "react/jsx-runtime";
2
2
  import { useTranslation as A } from "react-i18next";
3
3
  import { useLocation as Q, useNavigate as X, Link as dt, useParams as vt, Navigate as Wt, Routes as Yt, Route as Pt } from "react-router-dom";
4
4
  import { CaretLeft as Vt, CaretRight as Ht, ArrowSquareOut as Jt, User as Zt, CalendarBlank as te, X as bt, Tag as ee, MagnifyingGlass as Dt, List as ne, Sun as Mt, Moon as Bt, Monitor as Et, CaretDown as pt, Globe as ae } from "@phosphor-icons/react";
@@ -140,13 +140,13 @@ function Eo(e) {
140
140
  loadEnglishContent: n.loadEnglishContent
141
141
  };
142
142
  }
143
- const Rt = "app-theme", Ut = () => typeof window > "u" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", At = (e) => e === "system" ? Ut() : e, Kt = (e) => {
143
+ const Rt = "app-theme", qt = () => typeof window > "u" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", At = (e) => e === "system" ? qt() : e, Ut = (e) => {
144
144
  const n = () => e || (typeof window > "u" ? "system" : localStorage.getItem(Rt) || "system"), [o, a] = y(n);
145
145
  return S(() => {
146
146
  const s = At(o), l = document.querySelector(".xw-blog-root");
147
147
  if (l && (l.classList.remove("light", "dark"), l.classList.add(s)), o === "system") {
148
148
  const g = window.matchMedia("(prefers-color-scheme: dark)"), h = () => {
149
- const u = Ut(), i = document.querySelector(".xw-blog-root");
149
+ const u = qt(), i = document.querySelector(".xw-blog-root");
150
150
  i && (i.classList.remove("light", "dark"), i.classList.add(u));
151
151
  };
152
152
  return g.addEventListener("change", h), () => g.removeEventListener("change", h);
@@ -209,14 +209,14 @@ const Rt = "app-theme", Ut = () => typeof window > "u" ? "light" : window.matchM
209
209
  prev: a > 0 ? o[a - 1] : void 0,
210
210
  next: a < o.length - 1 ? o[a + 1] : void 0
211
211
  };
212
- }, qt = oe(null);
212
+ }, Kt = oe(null);
213
213
  function Ro({
214
214
  children: e,
215
215
  config: n,
216
216
  blog: o,
217
217
  navigationData: a = []
218
218
  }) {
219
- Kt(n.defaultTheme);
219
+ Ut(n.defaultTheme);
220
220
  const [c, s] = y({});
221
221
  S(() => {
222
222
  const { buildTagIndex: g } = Ft(o.mdxFiles), h = n.supportedLanguages.map(async (u) => {
@@ -238,7 +238,7 @@ function Ro({
238
238
  }, [o.mdxFiles, n.supportedLanguages]);
239
239
  const l = { ...n, navigationData: a, tagIndex: c };
240
240
  return /* @__PURE__ */ t(
241
- qt.Provider,
241
+ Kt.Provider,
242
242
  {
243
243
  value: {
244
244
  config: l,
@@ -250,7 +250,7 @@ function Ro({
250
250
  );
251
251
  }
252
252
  function O() {
253
- const e = se(qt);
253
+ const e = se(Kt);
254
254
  if (!e)
255
255
  throw new Error("useBlogConfig must be used within a BlogProvider");
256
256
  return e;
@@ -334,7 +334,7 @@ function Ce({
334
334
  ] }) }) : /* @__PURE__ */ t("div", {})
335
335
  ] }) });
336
336
  }
337
- const ye = "_blogSidebar_124vg_1", Le = "_section_124vg_21", Te = "_sectionTitle_124vg_28", Se = "_linksList_124vg_36", Pe = "_link_124vg_36", nt = {
337
+ const ye = "_blogSidebar_1ik3q_1", Le = "_section_1ik3q_21", Te = "_sectionTitle_1ik3q_28", Se = "_linksList_1ik3q_36", Pe = "_link_1ik3q_36", nt = {
338
338
  blogSidebar: ye,
339
339
  section: Le,
340
340
  sectionTitle: Te,
@@ -384,7 +384,7 @@ function ft({ date: e, author: n }) {
384
384
  ] })
385
385
  ] });
386
386
  }
387
- const Re = "_tableOfContents_9ofak_1", Ae = "_header_9ofak_21", Oe = "_title_9ofak_25", je = "_nav_9ofak_34", We = "_list_9ofak_40", He = "_link_9ofak_47", ze = "_active_9ofak_71", Fe = "_level1_9ofak_87", Ue = "_level2_9ofak_93", Ke = "_level3_9ofak_98", qe = "_level4_9ofak_104", Ge = "_level5_9ofak_110", Qe = "_level6_9ofak_116", z = {
387
+ const Re = "_tableOfContents_9ofak_1", Ae = "_header_9ofak_21", Oe = "_title_9ofak_25", je = "_nav_9ofak_34", We = "_list_9ofak_40", He = "_link_9ofak_47", ze = "_active_9ofak_71", Fe = "_level1_9ofak_87", qe = "_level2_9ofak_93", Ue = "_level3_9ofak_98", Ke = "_level4_9ofak_104", Ge = "_level5_9ofak_110", Qe = "_level6_9ofak_116", z = {
388
388
  tableOfContents: Re,
389
389
  header: Ae,
390
390
  title: Oe,
@@ -393,9 +393,9 @@ const Re = "_tableOfContents_9ofak_1", Ae = "_header_9ofak_21", Oe = "_title_9of
393
393
  link: He,
394
394
  active: ze,
395
395
  level1: Fe,
396
- level2: Ue,
397
- level3: Ke,
398
- level4: qe,
396
+ level2: qe,
397
+ level3: Ue,
398
+ level4: Ke,
399
399
  level5: Ge,
400
400
  level6: Qe
401
401
  };
@@ -615,7 +615,7 @@ const pn = "_contentPage_1nxj5_1", fn = "_loadingContainer_1nxj5_48", vn = "_err
615
615
  };
616
616
  function yn({ language: e }) {
617
617
  var xt, It, Ct, yt, Lt;
618
- const { slug: n } = vt(), o = Q(), { config: a, loadContent: c, loadEnglishContent: s } = O(), [l, g] = y(""), [h, u] = y(""), [i, f] = y({}), [_, v] = y(!0), [w, r] = y(null), [m, N] = y(!0), [I, D] = y(null), [H, b] = y(""), [$, B] = y({}), j = G(0), U = G([]), st = Qt(o.search), Y = st.advanced;
618
+ const { slug: n } = vt(), o = Q(), { config: a, loadContent: c, loadEnglishContent: s } = O(), [l, g] = y(""), [h, u] = y(""), [i, f] = y({}), [_, v] = y(!0), [w, r] = y(null), [m, N] = y(!0), [I, D] = y(null), [H, b] = y(""), [$, B] = y({}), j = G(0), q = G([]), st = Qt(o.search), Y = st.advanced;
619
619
  if (S(() => {
620
620
  (async () => {
621
621
  if (!n) return;
@@ -665,7 +665,7 @@ function yn({ language: e }) {
665
665
  const it = gt[2].trim();
666
666
  St.push(it), gt = Tt.exec(lt);
667
667
  }
668
- U.current = St, b(mt), u(lt), g(rt), f(k.frontmatter);
668
+ q.current = St, b(mt), u(lt), g(rt), f(k.frontmatter);
669
669
  } catch (k) {
670
670
  r(k instanceof Error ? k.message : "Failed to load content");
671
671
  } finally {
@@ -727,10 +727,10 @@ function yn({ language: e }) {
727
727
  const tt = (p, C) => {
728
728
  p.preventDefault(), Ot(C), fe(C, Y);
729
729
  };
730
- return /* @__PURE__ */ d(q, { children: [
730
+ return /* @__PURE__ */ d(K, { children: [
731
731
  /* @__PURE__ */ d("div", { className: M.contentPage, children: [
732
732
  /* @__PURE__ */ t(he, { hasAdvanced: i.hasAdvanced || !1 }),
733
- ct && /* @__PURE__ */ d(q, { children: [
733
+ ct && /* @__PURE__ */ d(K, { children: [
734
734
  /* @__PURE__ */ t(
735
735
  "h1",
736
736
  {
@@ -755,10 +755,10 @@ function yn({ language: e }) {
755
755
  remarkPlugins: [le],
756
756
  components: {
757
757
  h1: ({ children: p }) => {
758
- const C = j.current++, P = U.current[C] || "", k = Z(P), L = !$t;
758
+ const C = j.current++, P = q.current[C] || "", k = Z(P), L = !$t;
759
759
  $t = !0;
760
760
  const V = i.date || i.author;
761
- return /* @__PURE__ */ d(q, { children: [
761
+ return /* @__PURE__ */ d(K, { children: [
762
762
  /* @__PURE__ */ t(
763
763
  "h1",
764
764
  {
@@ -785,7 +785,7 @@ function yn({ language: e }) {
785
785
  ] });
786
786
  },
787
787
  h2: ({ children: p }) => {
788
- const C = j.current++, P = U.current[C] || "", k = Z(P);
788
+ const C = j.current++, P = q.current[C] || "", k = Z(P);
789
789
  return /* @__PURE__ */ t("h2", { id: k, children: /* @__PURE__ */ t(
790
790
  "a",
791
791
  {
@@ -797,7 +797,7 @@ function yn({ language: e }) {
797
797
  ) });
798
798
  },
799
799
  h3: ({ children: p }) => {
800
- const C = j.current++, P = U.current[C] || "", k = Z(P);
800
+ const C = j.current++, P = q.current[C] || "", k = Z(P);
801
801
  return /* @__PURE__ */ t("h3", { id: k, children: /* @__PURE__ */ t(
802
802
  "a",
803
803
  {
@@ -809,7 +809,7 @@ function yn({ language: e }) {
809
809
  ) });
810
810
  },
811
811
  h4: ({ children: p }) => {
812
- const C = j.current++, P = U.current[C] || "", k = Z(P);
812
+ const C = j.current++, P = q.current[C] || "", k = Z(P);
813
813
  return /* @__PURE__ */ t("h4", { id: k, children: /* @__PURE__ */ t(
814
814
  "a",
815
815
  {
@@ -841,7 +841,7 @@ function yn({ language: e }) {
841
841
  /* @__PURE__ */ t("pre", { children: /* @__PURE__ */ t("code", { className: p, ...P, children: C }) })
842
842
  ] });
843
843
  },
844
- pre: ({ children: p }) => /* @__PURE__ */ t(q, { children: p }),
844
+ pre: ({ children: p }) => /* @__PURE__ */ t(K, { children: p }),
845
845
  // Let code component handle pre styling
846
846
  blockquote: ({ children: p }) => /* @__PURE__ */ t("blockquote", { children: p }),
847
847
  a: ({ href: p, children: C, ...P }) => {
@@ -902,7 +902,7 @@ function yn({ language: e }) {
902
902
  )
903
903
  ] });
904
904
  }
905
- const Ln = "_searchButton_1k9sl_1", Tn = "_searchIcon_1k9sl_17", Sn = "_searchHint_1k9sl_23", Pn = "_kbd_1k9sl_27", Dn = "_searchOverlay_1k9sl_42", Mn = "_searchModal_1k9sl_67", Bn = "_searchHeader_1k9sl_91", En = "_searchInput_1k9sl_105", Rn = "_closeButton_1k9sl_123", An = "_searchResults_1k9sl_144", On = "_resultsList_1k9sl_152", jn = "_resultItem_1k9sl_158", Wn = "_selected_1k9sl_173", Hn = "_resultTitle_1k9sl_176", zn = "_resultSlug_1k9sl_180", Fn = "_noResults_1k9sl_186", Un = "_searchHints_1k9sl_193", Kn = "_hint_1k9sl_210", T = {
905
+ const Ln = "_searchButton_1k9sl_1", Tn = "_searchIcon_1k9sl_17", Sn = "_searchHint_1k9sl_23", Pn = "_kbd_1k9sl_27", Dn = "_searchOverlay_1k9sl_42", Mn = "_searchModal_1k9sl_67", Bn = "_searchHeader_1k9sl_91", En = "_searchInput_1k9sl_105", Rn = "_closeButton_1k9sl_123", An = "_searchResults_1k9sl_144", On = "_resultsList_1k9sl_152", jn = "_resultItem_1k9sl_158", Wn = "_selected_1k9sl_173", Hn = "_resultTitle_1k9sl_176", zn = "_resultSlug_1k9sl_180", Fn = "_noResults_1k9sl_186", qn = "_searchHints_1k9sl_193", Un = "_hint_1k9sl_210", T = {
906
906
  searchButton: Ln,
907
907
  searchIcon: Tn,
908
908
  searchHint: Sn,
@@ -919,10 +919,10 @@ const Ln = "_searchButton_1k9sl_1", Tn = "_searchIcon_1k9sl_17", Sn = "_searchHi
919
919
  resultTitle: Hn,
920
920
  resultSlug: zn,
921
921
  noResults: Fn,
922
- searchHints: Un,
923
- hint: Kn
922
+ searchHints: qn,
923
+ hint: Un
924
924
  };
925
- function qn({ language: e }) {
925
+ function Kn({ language: e }) {
926
926
  const { t: n } = A(), o = X(), { config: a, loadContent: c } = O(), [s, l] = y(!1), [g, h] = y(""), [u, i] = y([]), [f, _] = y(0), [v, w] = y([]), r = G(null), m = G(null), I = typeof navigator < "u" && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform) ? "⌘K" : "Ctrl+K";
927
927
  S(() => {
928
928
  (async () => {
@@ -932,9 +932,9 @@ function qn({ language: e }) {
932
932
  a.navigationData,
933
933
  e,
934
934
  c
935
- )).flatMap((j) => ot(j) ? j.items.map((U) => ({
936
- title: U.title,
937
- slug: U.slug
935
+ )).flatMap((j) => ot(j) ? j.items.map((q) => ({
936
+ title: q.title,
937
+ slug: q.slug
938
938
  })) : [{ title: j.title, slug: j.slug }]);
939
939
  w(B);
940
940
  } catch ($) {
@@ -984,7 +984,7 @@ function qn({ language: e }) {
984
984
  const $ = a.basePath || "";
985
985
  o(`${$}/${e}/${b}`), l(!1), h("");
986
986
  };
987
- return /* @__PURE__ */ d(q, { children: [
987
+ return /* @__PURE__ */ d(K, { children: [
988
988
  /* @__PURE__ */ d(
989
989
  "button",
990
990
  {
@@ -1108,7 +1108,7 @@ const Gn = "_header_jrobc_1", Qn = "_container_jrobc_24", Xn = "_content_jrobc_3
1108
1108
  dropdownIcon: ua
1109
1109
  };
1110
1110
  function ha({ onMobileMenuToggle: e }) {
1111
- const { t: n, i18n: o } = A(), { config: a } = O(), c = a.header ?? {}, s = c.navLinks ?? [], l = c.dropdownItems ?? [], [g, h] = y(!1), [u, i] = y(!1), { theme: f, setTheme: _ } = Kt(), v = G(null), w = G(null);
1111
+ const { t: n, i18n: o } = A(), { config: a } = O(), c = a.header ?? {}, s = c.navLinks ?? [], l = c.dropdownItems ?? [], [g, h] = y(!1), [u, i] = y(!1), { theme: f, setTheme: _ } = Ut(), v = G(null), w = G(null);
1112
1112
  return S(() => {
1113
1113
  const r = (m) => {
1114
1114
  v.current && !v.current.contains(m.target) && h(!1), w.current && !w.current.contains(m.target) && i(!1);
@@ -1129,7 +1129,7 @@ function ha({ onMobileMenuToggle: e }) {
1129
1129
  /* @__PURE__ */ t("div", { className: x.logo })
1130
1130
  ] }),
1131
1131
  /* @__PURE__ */ d("nav", { className: x.nav, children: [
1132
- /* @__PURE__ */ t(qn, { language: o.language }),
1132
+ /* @__PURE__ */ t(Kn, { language: o.language }),
1133
1133
  /* @__PURE__ */ d("div", { className: x.themeDropdown, ref: w, children: [
1134
1134
  /* @__PURE__ */ d(
1135
1135
  "button",
@@ -1384,7 +1384,7 @@ function Ao({
1384
1384
  onLinkClick: n,
1385
1385
  onLanguageChange: o
1386
1386
  }) {
1387
- return /* @__PURE__ */ d(q, { children: [
1387
+ return /* @__PURE__ */ d(K, { children: [
1388
1388
  /* @__PURE__ */ t(wt, { styles: e, onLanguageChange: o }),
1389
1389
  /* @__PURE__ */ t(Nt, { styles: e, onLinkClick: n })
1390
1390
  ] });
@@ -1427,7 +1427,7 @@ function Wa({ isOpen: e, onClose: n }) {
1427
1427
  s.key === "Escape" && e && n();
1428
1428
  };
1429
1429
  return document.addEventListener("keydown", c), () => document.removeEventListener("keydown", c);
1430
- }, [e, n]), /* @__PURE__ */ d(q, { children: [
1430
+ }, [e, n]), /* @__PURE__ */ d(K, { children: [
1431
1431
  /* @__PURE__ */ t(
1432
1432
  "div",
1433
1433
  {
@@ -1457,13 +1457,13 @@ function Wa({ isOpen: e, onClose: n }) {
1457
1457
  ] })
1458
1458
  ] });
1459
1459
  }
1460
- const Ha = "_sidebar_1tdxt_1", za = "_header_1tdxt_17", Fa = "_brand_1tdxt_29", Ua = "_cloudIcon_1tdxt_35", Ka = "_title_1tdxt_44", qa = "_languageSelect_1tdxt_55", Ga = "_languageButton_1tdxt_61", Qa = "_icon_1tdxt_99", Xa = "_chevron_1tdxt_104", Ya = "_languageDropdown_1tdxt_114", Va = "_languageOption_1tdxt_128", Ja = "_selected_1tdxt_147", Za = "_scrollArea_1tdxt_152", to = "_navigation_1tdxt_158", eo = "_section_1tdxt_164", no = "_sectionButton_1tdxt_170", ao = "_expanded_1tdxt_213", oo = "_sectionItems_1tdxt_217", so = "_navItem_1tdxt_225", co = "_active_1tdxt_238", ro = "_navItemContent_1tdxt_243", K = {
1460
+ const Ha = "_sidebar_1tdxt_1", za = "_header_1tdxt_17", Fa = "_brand_1tdxt_29", qa = "_cloudIcon_1tdxt_35", Ua = "_title_1tdxt_44", Ka = "_languageSelect_1tdxt_55", Ga = "_languageButton_1tdxt_61", Qa = "_icon_1tdxt_99", Xa = "_chevron_1tdxt_104", Ya = "_languageDropdown_1tdxt_114", Va = "_languageOption_1tdxt_128", Ja = "_selected_1tdxt_147", Za = "_scrollArea_1tdxt_152", to = "_navigation_1tdxt_158", eo = "_section_1tdxt_164", no = "_sectionButton_1tdxt_170", ao = "_expanded_1tdxt_213", oo = "_sectionItems_1tdxt_217", so = "_navItem_1tdxt_225", co = "_active_1tdxt_238", ro = "_navItemContent_1tdxt_243", U = {
1461
1461
  sidebar: Ha,
1462
1462
  header: za,
1463
1463
  brand: Fa,
1464
- cloudIcon: Ua,
1465
- title: Ka,
1466
- languageSelect: qa,
1464
+ cloudIcon: qa,
1465
+ title: Ua,
1466
+ languageSelect: Ka,
1467
1467
  languageButton: Ga,
1468
1468
  icon: Qa,
1469
1469
  chevron: Xa,
@@ -1482,15 +1482,15 @@ const Ha = "_sidebar_1tdxt_1", za = "_header_1tdxt_17", Fa = "_brand_1tdxt_29",
1482
1482
  };
1483
1483
  function lo() {
1484
1484
  const { config: e } = O(), n = e.logo, o = e.supportedLanguages.length > 1;
1485
- return /* @__PURE__ */ d("div", { className: K.sidebar, children: [
1486
- /* @__PURE__ */ d("div", { className: K.header, children: [
1487
- /* @__PURE__ */ d("div", { className: K.brand, children: [
1488
- n && /* @__PURE__ */ t(n, { className: K.cloudIcon }),
1489
- /* @__PURE__ */ t("div", { className: K.title, children: e.title })
1485
+ return /* @__PURE__ */ d("div", { className: U.sidebar, children: [
1486
+ /* @__PURE__ */ d("div", { className: U.header, children: [
1487
+ /* @__PURE__ */ d("div", { className: U.brand, children: [
1488
+ n && /* @__PURE__ */ t(n, { className: U.cloudIcon }),
1489
+ /* @__PURE__ */ t("div", { className: U.title, children: e.title })
1490
1490
  ] }),
1491
- o && /* @__PURE__ */ t(wt, { styles: K })
1491
+ o && /* @__PURE__ */ t(wt, { styles: U })
1492
1492
  ] }),
1493
- /* @__PURE__ */ t("div", { className: K.scrollArea, children: /* @__PURE__ */ t(Nt, { styles: K }) })
1493
+ /* @__PURE__ */ t("div", { className: U.scrollArea, children: /* @__PURE__ */ t(Nt, { styles: U }) })
1494
1494
  ] });
1495
1495
  }
1496
1496
  const io = "_app_wf6ni_1", uo = "_layout_wf6ni_9", ho = "_main_wf6ni_15", mo = "_fullWidth_wf6ni_21", go = "_contentWrapper_wf6ni_30", at = {
@@ -1591,7 +1591,7 @@ function Io() {
1591
1591
  const f = o.basePath || "";
1592
1592
  window.scrollTo({ top: 0, left: 0, behavior: "auto" }), c(`${f}/${e.language}/${i}`);
1593
1593
  };
1594
- return g ? /* @__PURE__ */ t("div", { className: F.loading, children: n("ui.loadingArticles") }) : s.length === 0 ? /* @__PURE__ */ t("div", { className: F.empty, children: n("ui.noArticlesFound") }) : /* @__PURE__ */ d(q, { children: [
1594
+ return g ? /* @__PURE__ */ t("div", { className: F.loading, children: n("ui.loadingArticles") }) : s.length === 0 ? /* @__PURE__ */ t("div", { className: F.empty, children: n("ui.noArticlesFound") }) : /* @__PURE__ */ d(K, { children: [
1595
1595
  /* @__PURE__ */ d("div", { className: F.homePage, children: [
1596
1596
  /* @__PURE__ */ t("div", { className: F.header, children: /* @__PURE__ */ t("h1", { className: F.title, children: n("ui.latestPosts") }) }),
1597
1597
  /* @__PURE__ */ t("div", { className: F.articlesList, children: s.map((i) => /* @__PURE__ */ d(
@@ -1664,7 +1664,7 @@ export {
1664
1664
  Wa as MobileMenu,
1665
1665
  Ao as NavigationContent,
1666
1666
  Nt as NavigationMenu,
1667
- qn as SearchBar,
1667
+ Kn as SearchBar,
1668
1668
  lo as Sidebar,
1669
1669
  Xe as TableOfContents,
1670
1670
  rn as TagResultsModal,
@@ -1677,5 +1677,5 @@ export {
1677
1677
  O as useBlogConfig,
1678
1678
  Wo as useLanguageChange,
1679
1679
  jo as useSearchModal,
1680
- Kt as useTheme
1680
+ Ut as useTheme
1681
1681
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x-wave/blog",
3
- "version": "1.0.34",
3
+ "version": "1.0.35",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
package/styles/index.css CHANGED
@@ -214,4 +214,4 @@
214
214
  --xw-sidebar-border: oklch(1 0 0 / 10%);
215
215
  --xw-sidebar-ring: oklch(0.556 0 0);
216
216
  }
217
- ._tabContainer_zk6h4_1{display:inline-flex;background-color:var(--xw-card);border:1px solid var(--xw-border);border-radius:.5rem;margin-bottom:2rem;overflow:hidden}._tab_zk6h4_1{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._tab_zk6h4_1:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._tab_zk6h4_1:disabled{pointer-events:none;opacity:.5}._tab_zk6h4_1{padding:.5rem 1rem;font-size:.87rem;font-weight:500;background-color:transparent;border:none;border-radius:0;color:var(--xw-muted-foreground);cursor:pointer;white-space:nowrap}._tab_zk6h4_1:not(:last-child){border-right:1px solid var(--xw-border)}._tab_zk6h4_1._active_zk6h4_45{background-color:var(--xw-accent);color:var(--xw-accent-foreground)}._tab_zk6h4_1:hover:not(._active_zk6h4_45){background-color:var(--xw-muted);color:var(--xw-foreground)}._tab_zk6h4_1:focus-visible{outline:2px solid var(--xw-accent);outline-offset:-2px}._articleNavigation_1m2tz_1{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--xw-border)}._navContainer_1m2tz_7{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(min-width:1024px){._navContainer_1m2tz_7{gap:1.5rem}}._navLink_1m2tz_18{display:flex;padding:1rem;border:1px solid var(--xw-border);border-radius:.5rem;text-decoration:none;color:var(--xw-foreground);background-color:var(--xw-background);transition:all .2s ease;box-shadow:0 1px 3px #0000000d}._navLink_1m2tz_18:hover{border-color:var(--xw-ring);background-color:var(--xw-card);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}._navLink_1m2tz_18:first-child{justify-content:flex-start}._navLink_1m2tz_18:last-child{justify-content:flex-end;text-align:right}._navLinkContent_1m2tz_43{display:flex;align-items:center;gap:.75rem;min-width:0}._navIcon_1m2tz_50{display:flex;align-items:center;color:var(--xw-primary);flex-shrink:0}._navText_1m2tz_57{display:flex;flex-direction:column;gap:.25rem;min-width:0}._navLabel_1m2tz_64{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--xw-muted-foreground)}._navTitle_1m2tz_72{font-size:.875rem;font-weight:400;color:var(--xw-foreground);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}@media(min-width:1024px){._navTitle_1m2tz_72{font-size:1rem}}._blogSidebar_124vg_1{position:sticky;top:0;align-self:flex-start;height:fit-content;max-height:calc(100vh - 8rem);overflow-y:auto;padding:0 0 2rem 1.5rem;margin-left:2rem;background:transparent;border-left:1px solid var(--xw-border);flex-shrink:0;width:250px}@media(max-width:1024px){._blogSidebar_124vg_1{display:none}}._section_124vg_21{margin-bottom:2rem}._section_124vg_21:last-child{margin-bottom:0}._sectionTitle_124vg_28{font-size:.75rem;font-weight:600;color:var(--xw-muted-foreground);letter-spacing:.05em;margin:0 0 1rem}._linksList_124vg_36{display:flex;flex-direction:column;gap:.25rem}._link_124vg_36{display:flex;align-items:center;gap:.5rem;padding:.5rem;color:var(--xw-foreground);text-decoration:none;border-radius:.25rem;transition:all .15s cubic-bezier(.4,0,.2,1);font-size:.875rem}._link_124vg_36:hover{background-color:var(--xw-card);color:var(--xw-primary)}._link_124vg_36 svg{flex-shrink:0}._metadata_bsge0_1{display:flex;align-items:center;gap:1.5rem;margin-top:1rem;margin-bottom:1rem}._author_bsge0_9,._date_bsge0_10{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem}._author_bsge0_9 svg,._date_bsge0_10 svg{flex-shrink:0}._date_bsge0_10{color:var(--xw-text-secondary, #666)}._tableOfContents_9ofak_1{position:sticky;top:5rem;align-self:flex-start;height:fit-content;max-height:calc(100vh - 8rem);overflow-y:auto;padding:2rem 0 2rem 1.5rem;margin-left:2rem;background:transparent;border-left:1px solid var(--xw-border);flex-shrink:0;max-width:250px}@media(max-width:1024px){._tableOfContents_9ofak_1{display:none}}._header_9ofak_21{margin-bottom:1rem}._title_9ofak_25{font-size:.75rem;font-weight:500;color:var(--xw-muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}._nav_9ofak_34 ul{margin:0;padding:0;list-style:none}._list_9ofak_40{display:flex;flex-direction:column;gap:.125rem;margin:0}._link_9ofak_47{display:block;width:100%;padding:.25rem 0;text-align:left;background:none;border:none;cursor:pointer;font-size:.875rem;line-height:1.4;color:var(--xw-muted-foreground);text-decoration:none;border-radius:.25rem;transition:all .15s cubic-bezier(.4,0,.2,1);position:relative;font-family:inherit}._link_9ofak_47:hover{color:var(--xw-foreground)}._link_9ofak_47:focus{outline:none;color:var(--xw-foreground)}._link_9ofak_47._active_9ofak_71{color:var(--xw-primary);font-weight:500}._link_9ofak_47._active_9ofak_71:before{content:"";position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);width:1px;height:1rem;background-color:var(--xw-primary);border-radius:.5px}._level1_9ofak_87{font-weight:500;padding-left:0;margin-bottom:.125rem}._level2_9ofak_93{padding-left:.5rem;margin-bottom:.0625rem}._level3_9ofak_98{padding-left:1rem;font-size:.8125rem;margin-bottom:.0625rem}._level4_9ofak_104{padding-left:1.5rem;font-size:.8125rem;margin-bottom:.0625rem}._level5_9ofak_110{padding-left:2rem;font-size:.75rem;margin-bottom:.0625rem}._level6_9ofak_116{padding-left:2.5rem;font-size:.75rem;margin-bottom:.0625rem}._tableOfContents_9ofak_1::-webkit-scrollbar{width:4px}._tableOfContents_9ofak_1::-webkit-scrollbar-track{background:transparent}._tableOfContents_9ofak_1::-webkit-scrollbar-thumb{background:var(--xw-border);border-radius:2px}._tableOfContents_9ofak_1::-webkit-scrollbar-thumb:hover{background:var(--xw-muted-foreground)}._overlay_1e1d4_1{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:_fadeIn_1e1d4_1 .2s ease;height:100vh}@keyframes _fadeIn_1e1d4_1{0%{opacity:0}to{opacity:1}}._modal_1e1d4_26{width:90%;max-width:600px;background:var(--xw-card);border:1px solid var(--xw-border);border-radius:.75rem;box-shadow:0 20px 60px #0000004d;animation:_slideIn_1e1d4_1 .2s ease;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}@keyframes _slideIn_1e1d4_1{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}._header_1e1d4_50{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--xw-border)}._title_1e1d4_58{font-size:1.125rem;font-weight:600;color:var(--xw-foreground);margin:0}._closeButton_1e1d4_65{background:none;border:none;color:var(--xw-muted-foreground);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}._closeButton_1e1d4_65 svg{width:1.25rem;height:1.25rem}._closeButton_1e1d4_65:hover{background:var(--xw-secondary);color:var(--xw-foreground)}._results_1e1d4_86{flex:1;overflow-y:auto;padding:.5rem;min-height:200px;max-height:400px}._resultsList_1e1d4_94{list-style:none;padding:0;margin:0}._resultItem_1e1d4_100{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-radius:.5rem;cursor:pointer;text-align:left;transition:all .15s ease;color:var(--xw-foreground)}._resultItem_1e1d4_100:hover{background:var(--xw-secondary)}._resultTitle_1e1d4_119{font-weight:500;font-size:.95rem}._resultSlug_1e1d4_124{font-size:.8rem;color:var(--xw-muted-foreground);opacity:.8}._noResults_1e1d4_130{padding:3rem 1rem;text-align:center;color:var(--xw-muted-foreground);font-size:.9rem}._tags_11t8a_1{display:flex;align-items:center;gap:.75rem;margin:2rem 0 1rem;padding:1rem 0 0;border-top:1px solid var(--xw-border)}._tags_11t8a_1._compact_11t8a_9{margin:2rem 0 1rem;padding:1rem 0 0;border-top:1px solid var(--xw-border)}._tagLabel_11t8a_15{display:flex;align-items:center;gap:.5rem;color:var(--xw-muted-foreground);font-size:.875rem;font-weight:500;white-space:nowrap}._tagIcon_11t8a_25{width:1.125rem;height:1.125rem}._tagList_11t8a_30{display:flex;flex-wrap:wrap;gap:.5rem}._tag_11t8a_1{display:inline-flex;align-items:center;padding:.25rem .75rem;background:none;border:1px solid var(--xw-border);border-radius:.75rem;color:var(--xw-muted-foreground);font-size:.8rem;font-weight:400;cursor:pointer;transition:all .2s ease}._tag_11t8a_1:hover{color:var(--xw-foreground);border-color:var(--xw-ring)}._contentPage_1nxj5_1{flex:1;max-width:48rem;margin:0;padding:0 0 2rem}@media(max-width:767px){._contentPage_1nxj5_1{padding:1.5rem;max-width:none}}@media(max-width:1024px){._contentPage_1nxj5_1{max-width:none;padding:2rem}}._metadata_1nxj5_20{display:flex;gap:1rem;align-items:center;padding:.5rem 0 1rem;color:var(--xw-muted-foreground);font-size:.875rem;border-bottom:1px solid var(--xw-border);margin-bottom:1rem}._metadata_1nxj5_20 ._author_1nxj5_30,._metadata_1nxj5_20 ._date_1nxj5_31{display:flex;align-items:center;gap:.5rem}._metadata_1nxj5_20 ._author_1nxj5_30{font-weight:500;color:var(--xw-foreground)}@media(max-width:767px){._metadata_1nxj5_20{flex-direction:column;align-items:flex-start;gap:.25rem}}._loadingContainer_1nxj5_48,._errorContainer_1nxj5_49{display:flex;align-items:center;justify-content:center;height:16rem}._loadingContainer_1nxj5_48{flex-direction:column;align-items:flex-start;gap:1.5rem;padding:2rem 0}@keyframes _shimmer_1nxj5_1{0%{background-position:-1000px 0}to{background-position:1000px 0}}._skeletonTitle_1nxj5_71{width:60%;height:2.5rem;background:linear-gradient(90deg,var(--xw-muted) 0%,color-mix(in oklch,var(--xw-muted) 50%,white) 50%,var(--xw-muted) 100%);background-size:1000px 100%;animation:_shimmer_1nxj5_1 2s infinite linear;border-radius:.5rem}._skeletonParagraph_1nxj5_80{width:100%;height:1rem;background:linear-gradient(90deg,var(--xw-muted) 0%,color-mix(in oklch,var(--xw-muted) 50%,white) 50%,var(--xw-muted) 100%);background-size:1000px 100%;animation:_shimmer_1nxj5_1 2s infinite linear;border-radius:.25rem;margin-bottom:.5rem}._skeletonParagraph_1nxj5_80:not(:last-child){margin-bottom:1rem}._skeletonParagraphShort_1nxj5_93{width:70%;height:1rem;background:linear-gradient(90deg,var(--xw-muted) 0%,color-mix(in oklch,var(--xw-muted) 50%,white) 50%,var(--xw-muted) 100%);background-size:1000px 100%;animation:_shimmer_1nxj5_1 2s infinite linear;border-radius:.25rem}._loadingText_1nxj5_102{color:var(--xw-muted-foreground);font-size:1rem}._errorText_1nxj5_107{color:var(--xw-destructive);font-size:1rem}._mdxContent_1nxj5_112{max-width:none}._mdxContent_1nxj5_112 h1{font-size:1.875rem;font-weight:600;letter-spacing:-.025em;margin-bottom:1.5rem;border-bottom:1px solid var(--xw-border);padding-bottom:.75rem;line-height:1.2;scroll-margin-top:5rem}._mdxContent_1nxj5_112 h1._withMetadata_1nxj5_125{border-bottom:none;padding-bottom:0;margin-bottom:.5rem}._mdxContent_1nxj5_112 h1 a{color:inherit;text-decoration:none;border:none;position:relative}._mdxContent_1nxj5_112 h1 a:hover{color:inherit;border:none}._mdxContent_1nxj5_112 h1 a:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--xw-link);opacity:.7;font-weight:400}._mdxContent_1nxj5_112 h2{font-size:1.5rem;font-weight:500;letter-spacing:-.02em;margin-bottom:1rem;margin-top:2.5rem;border-bottom:1px solid var(--xw-border);padding-bottom:.5rem;line-height:1.3;scroll-margin-top:5rem}._mdxContent_1nxj5_112 h2 a{color:inherit;text-decoration:none;border:none;position:relative}._mdxContent_1nxj5_112 h2 a:hover{color:inherit;border:none}._mdxContent_1nxj5_112 h2 a:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--xw-link);opacity:.7;font-weight:400}._mdxContent_1nxj5_112 h3{font-size:1.25rem;font-weight:500;letter-spacing:-.015em;margin-bottom:.75rem;margin-top:2rem;line-height:1.4;scroll-margin-top:5rem}._mdxContent_1nxj5_112 h3 a{color:inherit;text-decoration:none;border:none;position:relative}._mdxContent_1nxj5_112 h3 a:hover{color:inherit;border:none}._mdxContent_1nxj5_112 h3 a:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--xw-link);opacity:.7;font-weight:400}._mdxContent_1nxj5_112 h4{font-size:1.125rem;font-weight:500;letter-spacing:-.01em;margin-bottom:.5rem;margin-top:1.5rem;line-height:1.4;scroll-margin-top:5rem}._mdxContent_1nxj5_112 h4 a{color:inherit;text-decoration:none;border:none;position:relative}._mdxContent_1nxj5_112 h4 a:hover{color:inherit;border:none}._mdxContent_1nxj5_112 h4 a:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--xw-link);opacity:.7;font-weight:400}._mdxContent_1nxj5_112 h5{font-size:1rem;font-weight:500;margin-bottom:.5rem;margin-top:1.25rem;line-height:1.5}._mdxContent_1nxj5_112 h6{font-size:.875rem;font-weight:500;margin-bottom:.5rem;margin-top:1rem;line-height:1.5}._mdxContent_1nxj5_112 p{font-size:1rem;line-height:1.65;margin-bottom:1rem;color:var(--xw-foreground)}._mdxContent_1nxj5_112 ul,._mdxContent_1nxj5_112 ol{margin-bottom:1rem;padding-left:1.5rem}._mdxContent_1nxj5_112 ul li,._mdxContent_1nxj5_112 ol li{font-size:1rem;line-height:1.65;margin-bottom:.375rem}._mdxContent_1nxj5_112 ul ul,._mdxContent_1nxj5_112 ul ol,._mdxContent_1nxj5_112 ol ul,._mdxContent_1nxj5_112 ol ol{margin-top:.375rem;margin-bottom:.375rem}._mdxContent_1nxj5_112 ul{list-style-type:disc}._mdxContent_1nxj5_112 ol{list-style-type:decimal}._mdxContent_1nxj5_112 code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875rem;background-color:var(--xw-muted);padding:.1875rem .4375rem;border-radius:.25rem;color:var(--xw-foreground);font-weight:500}._mdxContent_1nxj5_112 pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background-color:var(--xw-muted);padding:1.25rem;border-radius:.75rem;overflow-x:auto;margin:1.5rem 0;position:relative;border:1px solid var(--xw-border)}._mdxContent_1nxj5_112 pre code{background-color:transparent;padding:0;color:inherit;font-weight:400}._mdxContent_1nxj5_112 ._codeBlock_1nxj5_300{position:relative;margin-bottom:1.5rem}._mdxContent_1nxj5_112 ._codeLanguage_1nxj5_304{position:absolute;top:.5rem;right:.5rem;font-size:.75rem;color:var(--xw-muted-foreground);background-color:var(--xw-background);padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--xw-border)}._mdxContent_1nxj5_112 blockquote{border-left:3px solid var(--xw-accent);padding-left:1rem;font-style:italic;color:var(--xw-muted-foreground);margin-bottom:1rem;margin-top:1rem}._mdxContent_1nxj5_112 blockquote p{margin-bottom:.5rem}._mdxContent_1nxj5_112 blockquote p:last-child{margin-bottom:0}._mdxContent_1nxj5_112 a{color:var(--xw-link);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);border-bottom:1px solid transparent}._mdxContent_1nxj5_112 a:hover{color:color-mix(in oklch,var(--xw-link) 80%,transparent);border-bottom-color:currentColor}._mdxContent_1nxj5_112 strong{font-weight:600}._mdxContent_1nxj5_112 em{font-style:italic}._mdxContent_1nxj5_112 table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}._mdxContent_1nxj5_112 table th,._mdxContent_1nxj5_112 table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--xw-border);line-height:1.4}._mdxContent_1nxj5_112 table th{font-weight:500;background-color:var(--xw-muted);font-size:.875rem;letter-spacing:.025em}._mdxContent_1nxj5_112 table tbody tr:hover{background-color:color-mix(in oklch,var(--xw-muted) 50%,transparent)}._mdxContent_1nxj5_112 img{max-width:100%;height:auto;border-radius:.5rem;margin:1.5rem 0;border:1px solid var(--xw-border)}._mdxContent_1nxj5_112 hr{border:none;border-top:1px solid var(--xw-border);margin:2rem 0}._searchButton_1k9sl_1{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem;background:none;border:none;color:var(--xw-muted-foreground);cursor:pointer;transition:all .2s ease;font-size:.875rem}._searchButton_1k9sl_1:hover{border-color:var(--xw-input)}._searchButton_1k9sl_1 ._searchIcon_1k9sl_17{width:1rem;height:1rem;opacity:.6}@media(max-width:768px){._searchButton_1k9sl_1 ._searchHint_1k9sl_23{display:none}}._searchButton_1k9sl_1 ._kbd_1k9sl_27{display:none;padding:.125rem .375rem;background:var(--xw-card);border:1px solid var(--xw-border);border-radius:.25rem;font-size:.75rem;font-family:monospace}@media(min-width:768px){._searchButton_1k9sl_1 ._kbd_1k9sl_27{display:block}}._searchOverlay_1k9sl_42{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:_fadeIn_1k9sl_1 .2s ease;height:100vh}@keyframes _fadeIn_1k9sl_1{0%{opacity:0}to{opacity:1}}._searchModal_1k9sl_67{width:90%;max-width:600px;background:var(--xw-card);border:1px solid var(--xw-border);border-radius:.75rem;box-shadow:0 20px 60px #0000004d;animation:_slideIn_1k9sl_1 .2s ease;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}@keyframes _slideIn_1k9sl_1{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}._searchHeader_1k9sl_91{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--xw-border)}._searchHeader_1k9sl_91 ._searchIcon_1k9sl_17{width:1.25rem;height:1.25rem;opacity:.5;flex-shrink:0}._searchInput_1k9sl_105{flex:1;border:none;background:transparent;color:var(--xw-foreground);font-size:1rem;outline:none}._searchInput_1k9sl_105:focus{border:none;outline:none;box-shadow:none}._searchInput_1k9sl_105::placeholder{color:var(--xw-muted-foreground);opacity:.6}._closeButton_1k9sl_123{background:none;border:none;color:var(--xw-muted-foreground);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}._closeButton_1k9sl_123 svg{width:1.25rem;height:1.25rem}._closeButton_1k9sl_123:hover{background:var(--xw-secondary);color:var(--xw-foreground)}._searchResults_1k9sl_144{flex:1;overflow-y:auto;padding:.5rem;min-height:200px;max-height:400px}._resultsList_1k9sl_152{list-style:none;padding:0;margin:0}._resultItem_1k9sl_158{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-radius:.5rem;cursor:pointer;text-align:left;transition:all .15s ease;color:var(--xw-foreground)}._resultItem_1k9sl_158:hover,._resultItem_1k9sl_158._selected_1k9sl_173{background:var(--xw-secondary)}._resultItem_1k9sl_158 ._resultTitle_1k9sl_176{font-weight:500;font-size:.95rem}._resultItem_1k9sl_158 ._resultSlug_1k9sl_180{font-size:.8rem;color:var(--xw-muted-foreground);opacity:.8}._noResults_1k9sl_186{padding:3rem 1rem;text-align:center;color:var(--xw-muted-foreground);font-size:.9rem}._searchHints_1k9sl_193{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--xw-border);background:var(--xw-secondary);font-size:.8rem;color:var(--xw-muted-foreground)}@media(max-width:768px){._searchHints_1k9sl_193{flex-direction:column;align-items:flex-start;gap:.5rem}}._searchHints_1k9sl_193 ._hint_1k9sl_210{display:flex;align-items:center;gap:.5rem}._searchHints_1k9sl_193 ._hint_1k9sl_210 kbd{padding:.125rem .375rem;background:var(--xw-card);border:1px solid var(--xw-border);border-radius:.25rem;font-size:.75rem;font-family:monospace;min-width:1.5rem;text-align:center}._header_jrobc_1{position:sticky;top:0;z-index:1020;background-color:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:3.5rem;padding-left:16rem}.dark ._header_jrobc_1{background-color:#2020201a}@supports not (backdrop-filter: blur(12px)){._header_jrobc_1{background-color:var(--xw-background)}}@media(max-width:767px){._header_jrobc_1{padding:0}}._container_jrobc_24{width:100%;max-width:1400px;margin:0 auto;padding:0 1.5rem}@media(max-width:767px){._container_jrobc_24{padding:0 1rem}}._content_jrobc_36{display:flex;align-items:center;justify-content:space-between;height:3.5rem}._leftSection_jrobc_43{display:flex;align-items:center;gap:1rem}._mobileMenuButton_jrobc_49{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._mobileMenuButton_jrobc_49:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._mobileMenuButton_jrobc_49:disabled{pointer-events:none;opacity:.5}._mobileMenuButton_jrobc_49{padding:.5rem;background-color:transparent;color:var(--xw-muted-foreground);border-radius:.5rem;display:none}._mobileMenuButton_jrobc_49:hover{background-color:var(--xw-muted);color:var(--xw-foreground)}@media(max-width:767px){._mobileMenuButton_jrobc_49{display:flex}}._burgerIcon_jrobc_87{width:1.25rem;height:1.25rem}._logo_jrobc_92,._nav_jrobc_98{display:flex;align-items:center;gap:.5rem}@media(max-width:767px){._nav_jrobc_98{gap:.25rem}}._navLink_jrobc_109{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--xw-muted-foreground);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1)}._navLink_jrobc_109:hover{color:var(--xw-foreground)}._navLink_jrobc_109:focus{outline:none}._githubIcon_jrobc_128{width:1rem;height:1rem;flex-shrink:0;transition:transform .15s cubic-bezier(.4,0,.2,1)}._externalIcon_jrobc_135{width:1rem;height:1rem;flex-shrink:0}._supportDropdown_jrobc_141,._themeDropdown_jrobc_145{position:relative}._themeButton_jrobc_149{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--xw-muted-foreground);background:none;border:none;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}._themeButton_jrobc_149:hover{color:var(--xw-foreground);background-color:var(--xw-muted)}._themeButton_jrobc_149:focus{outline:none}._themeIcon_jrobc_171{width:1.125rem;height:1.125rem;flex-shrink:0}._supportButton_jrobc_177{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--xw-muted-foreground);background:none;border:none;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}._supportButton_jrobc_177:hover{color:var(--xw-foreground)}._supportButton_jrobc_177:focus{outline:none}._caretIcon_jrobc_198{width:.875rem;height:.875rem;flex-shrink:0;transition:transform .15s cubic-bezier(.4,0,.2,1)}button[aria-expanded=true] ._caretIcon_jrobc_198{transform:rotate(180deg)}._dropdownMenu_jrobc_208{position:absolute;top:calc(100% + .25rem);right:0;min-width:10rem;background-color:var(--xw-popover);border:1px solid var(--xw-border);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;z-index:1000;overflow:hidden}._dropdownItem_jrobc_221{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--xw-popover-foreground);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:background-color .15s cubic-bezier(.4,0,.2,1)}._dropdownItem_jrobc_221:hover{background-color:var(--xw-muted)}._dropdownItem_jrobc_221:focus{outline:none;background-color:var(--xw-muted)}._dropdownIcon_jrobc_244{width:1rem;height:1rem;flex-shrink:0}@media(max-width:767px){._logoText_jrobc_251{font-size:1rem}._navLink_jrobc_109{padding:.25rem .5rem;font-size:.8rem;gap:.25rem}._githubIcon_jrobc_128{width:.875rem;height:.875rem}}._backdrop_1a7pu_1{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1040;opacity:0;visibility:hidden;transition:all .15s cubic-bezier(.4,0,.2,1)}._backdrop_1a7pu_1._open_1a7pu_13{opacity:1;visibility:visible}._mobileMenu_1a7pu_18{position:fixed;top:0;left:0;width:320px;height:100vh;background-color:var(--xw-background);border-right:1px solid var(--xw-border);z-index:1050;transform:translate(-100%);transition:transform .15s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}._mobileMenu_1a7pu_18._open_1a7pu_13{transform:translate(0)}._header_1a7pu_37{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--xw-border);flex-shrink:0}._brand_1a7pu_46{flex:1;display:flex;align-items:center;gap:.5rem}._cloudIcon_1a7pu_53{width:1.5rem;height:1.5rem;flex-shrink:0}._cloudIcon_1a7pu_53 .accent{fill:#d33079}._title_1a7pu_62{font-size:1.125rem;font-weight:600;color:var(--xw-foreground);margin:0}._closeButton_1a7pu_69{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._closeButton_1a7pu_69:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._closeButton_1a7pu_69:disabled{pointer-events:none;opacity:.5}._closeButton_1a7pu_69{padding:.5rem;background-color:transparent;color:var(--xw-muted-foreground);border-radius:.5rem}._closeButton_1a7pu_69:hover{background-color:var(--xw-muted);color:var(--xw-foreground)}._closeIcon_1a7pu_101{width:1.25rem;height:1.25rem}._languageSection_1a7pu_106{padding:1.5rem;border-bottom:1px solid var(--xw-border);flex-shrink:0}._languageSelect_1a7pu_112{position:relative;width:100%}._languageButton_1a7pu_117{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._languageButton_1a7pu_117:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._languageButton_1a7pu_117:disabled{pointer-events:none;opacity:.5}._languageButton_1a7pu_117{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem;background-color:var(--xw-background);border:1px solid var(--xw-border);color:var(--xw-foreground);gap:.5rem}._languageButton_1a7pu_117:hover,._languageButton_1a7pu_117[aria-expanded=true]{background-color:var(--xw-muted)}._icon_1a7pu_156{width:1rem;height:1rem;flex-shrink:0}._chevron_1a7pu_162{width:1rem;height:1rem;transition:transform .15s cubic-bezier(.4,0,.2,1);margin-left:auto}._languageButton_1a7pu_117[aria-expanded=true] ._chevron_1a7pu_162{transform:rotate(180deg)}._languageDropdown_1a7pu_172{position:absolute;top:100%;left:0;right:0;background-color:var(--xw-popover);border:1px solid var(--xw-border);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;z-index:1000;margin-top:.25rem}._languageOption_1a7pu_185{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._languageOption_1a7pu_185:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._languageOption_1a7pu_185:disabled{pointer-events:none;opacity:.5}._languageOption_1a7pu_185{width:100%;padding:.5rem 1rem;background-color:transparent;color:var(--xw-foreground);text-align:left;justify-content:flex-start;border-radius:0}._languageOption_1a7pu_185:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}._languageOption_1a7pu_185:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}._languageOption_1a7pu_185:hover{background-color:var(--xw-muted)}._languageOption_1a7pu_185._selected_1a7pu_226{background-color:var(--xw-accent);color:var(--xw-accent-foreground)}._scrollArea_1a7pu_231{flex:1;overflow-y:auto;padding:1.5rem 0}._navigation_1a7pu_237{padding:0 1.5rem}._section_1a7pu_241{margin-bottom:1rem}._sectionButton_1a7pu_245{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._sectionButton_1a7pu_245:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._sectionButton_1a7pu_245:disabled{pointer-events:none;opacity:.5}._sectionButton_1a7pu_245{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem;background-color:transparent;color:var(--xw-foreground);font-weight:600;gap:.5rem;border-radius:.5rem}._sectionButton_1a7pu_245:hover{background-color:var(--xw-muted)}._sectionButton_1a7pu_245 ._icon_1a7pu_156{transition:transform .15s cubic-bezier(.4,0,.2,1);margin-left:auto}._sectionButton_1a7pu_245._expanded_1a7pu_285 ._icon_1a7pu_156{transform:rotate(90deg)}._sectionItems_1a7pu_289{margin-top:.5rem;margin-left:1rem;display:flex;flex-direction:column;gap:.25rem}._navItem_1a7pu_297{display:block;padding:.5rem 1rem;border-radius:.5rem;color:var(--xw-muted-foreground);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);font-size:.875rem}._navItem_1a7pu_297:hover{background-color:var(--xw-muted);color:var(--xw-foreground)}._navItem_1a7pu_297._active_1a7pu_310{background-color:var(--xw-accent);color:var(--xw-accent-foreground);font-weight:500}._navItemContent_1a7pu_316{display:flex;align-items:center;gap:.5rem}._navItemTitle_1a7pu_322{flex:1}@media(min-width:1024px){._mobileMenu_1a7pu_18,._backdrop_1a7pu_1{display:none}}._sidebar_1tdxt_1{position:fixed;top:0;left:0;width:16rem;height:100vh;background-color:var(--xw-sidebar);overflow-y:auto;z-index:1020}@media(max-width:767px){._sidebar_1tdxt_1{display:none}}._header_1tdxt_17{position:sticky;top:0;z-index:1020;padding:1rem;background-color:var(--xw-sidebar);display:flex;flex-direction:column;gap:.5rem;padding-bottom:0}._brand_1tdxt_29{display:flex;align-items:center;gap:.5rem}._cloudIcon_1tdxt_35{width:1.5rem;height:1.5rem;flex-shrink:0}._cloudIcon_1tdxt_35 .accent{fill:#d33079}._title_1tdxt_44{font-size:1rem;font-weight:600;line-height:1.5;margin:0;letter-spacing:-.02em;color:var(--xw-foreground)}._languageSelect_1tdxt_55{position:relative;margin-top:.25rem;width:100%}._languageButton_1tdxt_61{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._languageButton_1tdxt_61:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._languageButton_1tdxt_61:disabled{pointer-events:none;opacity:.5}._languageButton_1tdxt_61{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem;width:100%;gap:.25rem;font-size:.8rem;background:transparent;border:1px solid var(--xw-border);border-radius:.25rem;color:var(--xw-muted-foreground)}._languageButton_1tdxt_61:hover{background-color:var(--xw-muted);color:var(--xw-foreground)}._languageButton_1tdxt_61 ._icon_1tdxt_99{width:.875rem;height:.875rem;flex-shrink:0}._languageButton_1tdxt_61 ._chevron_1tdxt_104{width:.875rem;height:.875rem;flex-shrink:0;transition:transform .15s cubic-bezier(.4,0,.2,1)}._languageButton_1tdxt_61[aria-expanded=true] ._chevron_1tdxt_104{transform:rotate(180deg)}._languageDropdown_1tdxt_114{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background-color:var(--xw-popover);border:1px solid var(--xw-border);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;z-index:1000;overflow:hidden}._languageOption_1tdxt_128{display:block;width:100%;padding:.25rem .5rem;text-align:left;background:none;border:none;color:var(--xw-popover-foreground);font-size:.85rem;cursor:pointer;transition:background-color .15s cubic-bezier(.4,0,.2,1)}._languageOption_1tdxt_128:hover{background-color:var(--xw-muted)}._languageOption_1tdxt_128:focus{outline:none;background-color:var(--xw-muted)}._languageOption_1tdxt_128._selected_1tdxt_147{background-color:var(--xw-muted);color:var(--xw-foreground)}._scrollArea_1tdxt_152{height:calc(100vh - 120px);padding:1rem .5rem 1rem 1rem;overflow-y:auto}._navigation_1tdxt_158{display:flex;flex-direction:column;gap:.125rem}._section_1tdxt_164{display:flex;flex-direction:column;gap:0}._sectionButton_1tdxt_170{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._sectionButton_1tdxt_170:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._sectionButton_1tdxt_170:disabled{pointer-events:none;opacity:.5}._sectionButton_1tdxt_170{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.25rem .5rem;font-weight:500;font-size:.85rem;color:var(--xw-muted-foreground);background:transparent;text-align:left;letter-spacing:-.01em;border:none}._sectionButton_1tdxt_170:hover{color:var(--xw-foreground)}._sectionButton_1tdxt_170 ._icon_1tdxt_99{width:.875rem;height:.875rem;transition:transform .15s cubic-bezier(.4,0,.2,1)}._sectionButton_1tdxt_170._expanded_1tdxt_213 ._icon_1tdxt_99{transform:rotate(90deg)}._sectionItems_1tdxt_217{margin-top:.25rem;padding-left:1rem;display:flex;flex-direction:column;gap:.125rem}._navItem_1tdxt_225{display:block;width:100%;padding:.25rem .5rem;border-radius:.25rem;font-size:.85rem;color:var(--xw-muted-foreground);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}._navItem_1tdxt_225:hover{color:var(--xw-foreground)}._navItem_1tdxt_225._active_1tdxt_238{color:var(--xw-foreground);font-weight:500}._navItemContent_1tdxt_243{display:flex;align-items:center;justify-content:space-between;width:100%}._sidebar_1tdxt_1::-webkit-scrollbar{width:6px}._sidebar_1tdxt_1::-webkit-scrollbar-track{background:transparent}._sidebar_1tdxt_1::-webkit-scrollbar-thumb{background:var(--xw-muted-foreground);border-radius:9999px;opacity:.3}._sidebar_1tdxt_1::-webkit-scrollbar-thumb:hover{opacity:.6}._app_wf6ni_1{min-height:100vh;background-color:var(--xw-background);color:var(--xw-foreground);display:flex;flex-direction:column}._layout_wf6ni_9{display:flex;flex:1;min-height:calc(100vh - 3.5rem)}._main_wf6ni_15{flex:1;display:flex;flex-direction:column;margin-left:16rem}._main_wf6ni_15._fullWidth_wf6ni_21{margin-left:0}@media(max-width:767px){._main_wf6ni_15{margin-left:0}}._contentWrapper_wf6ni_30{display:flex;flex:1;position:relative;width:100%;max-width:80rem;margin:0 auto;padding:2rem}._main_wf6ni_15._fullWidth_wf6ni_21 ._contentWrapper_wf6ni_30{width:auto}@media(max-width:1024px){._contentWrapper_wf6ni_30{padding:1.5rem}}@media(max-width:767px){._contentWrapper_wf6ni_30{padding:1rem}}._homePage_1lc5u_1{flex:1;max-width:48rem;margin:0;padding:0 0 2rem}@media(max-width:767px){._homePage_1lc5u_1{padding:1.5rem;max-width:none}}@media(max-width:1024px){._homePage_1lc5u_1{max-width:none;padding:2rem}}._header_1lc5u_20{margin-bottom:1.5rem}._title_1lc5u_24{font-size:2rem;font-weight:700;color:var(--xw-foreground);margin-bottom:0!important}._articlesList_1lc5u_31{display:flex;flex-direction:column;gap:1rem}._articleCard_1lc5u_37{padding:1rem;border:1px solid var(--xw-border);border-radius:.5rem;background:transparent;cursor:pointer;text-align:left;transition:all .2s ease-in-out}._articleCard_1lc5u_37:hover{border-color:var(--xw-primary);background-color:var(--xw-card);transform:translateY(-2px)}._articleCard_1lc5u_37:focus-visible{outline:2px solid var(--xw-primary);outline-offset:2px}._articleTitle_1lc5u_56{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--xw-foreground)}._articleDescription_1lc5u_63{font-size:.9rem;color:var(--xw-muted-foreground);margin:0 0 .5rem;line-height:1.5}._loading_1lc5u_70,._empty_1lc5u_71{padding:2rem;text-align:center;color:var(--xw-muted-foreground)}
217
+ ._tabContainer_zk6h4_1{display:inline-flex;background-color:var(--xw-card);border:1px solid var(--xw-border);border-radius:.5rem;margin-bottom:2rem;overflow:hidden}._tab_zk6h4_1{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._tab_zk6h4_1:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._tab_zk6h4_1:disabled{pointer-events:none;opacity:.5}._tab_zk6h4_1{padding:.5rem 1rem;font-size:.87rem;font-weight:500;background-color:transparent;border:none;border-radius:0;color:var(--xw-muted-foreground);cursor:pointer;white-space:nowrap}._tab_zk6h4_1:not(:last-child){border-right:1px solid var(--xw-border)}._tab_zk6h4_1._active_zk6h4_45{background-color:var(--xw-accent);color:var(--xw-accent-foreground)}._tab_zk6h4_1:hover:not(._active_zk6h4_45){background-color:var(--xw-muted);color:var(--xw-foreground)}._tab_zk6h4_1:focus-visible{outline:2px solid var(--xw-accent);outline-offset:-2px}._articleNavigation_1m2tz_1{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--xw-border)}._navContainer_1m2tz_7{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(min-width:1024px){._navContainer_1m2tz_7{gap:1.5rem}}._navLink_1m2tz_18{display:flex;padding:1rem;border:1px solid var(--xw-border);border-radius:.5rem;text-decoration:none;color:var(--xw-foreground);background-color:var(--xw-background);transition:all .2s ease;box-shadow:0 1px 3px #0000000d}._navLink_1m2tz_18:hover{border-color:var(--xw-ring);background-color:var(--xw-card);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}._navLink_1m2tz_18:first-child{justify-content:flex-start}._navLink_1m2tz_18:last-child{justify-content:flex-end;text-align:right}._navLinkContent_1m2tz_43{display:flex;align-items:center;gap:.75rem;min-width:0}._navIcon_1m2tz_50{display:flex;align-items:center;color:var(--xw-primary);flex-shrink:0}._navText_1m2tz_57{display:flex;flex-direction:column;gap:.25rem;min-width:0}._navLabel_1m2tz_64{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--xw-muted-foreground)}._navTitle_1m2tz_72{font-size:.875rem;font-weight:400;color:var(--xw-foreground);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}@media(min-width:1024px){._navTitle_1m2tz_72{font-size:1rem}}._blogSidebar_1ik3q_1{position:sticky;top:0;align-self:flex-start;height:fit-content;max-height:calc(100vh - 8rem);overflow-y:auto;padding:0 0 2rem 1.5rem;margin-left:2rem;background:transparent;border-left:1px solid var(--xw-border);flex-shrink:0;width:250px}@media(max-width:1024px){._blogSidebar_1ik3q_1{display:none}}._section_1ik3q_21{margin-bottom:2rem}._section_1ik3q_21:last-child{margin-bottom:0}._sectionTitle_1ik3q_28{font-size:.75rem;font-weight:600;color:var(--xw-muted-foreground);letter-spacing:.05em;margin:0 0 1rem}._linksList_1ik3q_36{display:flex;flex-direction:column;gap:.25rem}._link_1ik3q_36{display:flex;align-items:center;gap:.5rem;padding:.5rem;color:var(--xw-foreground);text-decoration:none;border-radius:.25rem;transition:all .15s cubic-bezier(.4,0,.2,1);font-size:.875rem}._link_1ik3q_36:hover{color:var(--xw-primary)}._link_1ik3q_36 svg{flex-shrink:0}._metadata_bsge0_1{display:flex;align-items:center;gap:1.5rem;margin-top:1rem;margin-bottom:1rem}._author_bsge0_9,._date_bsge0_10{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem}._author_bsge0_9 svg,._date_bsge0_10 svg{flex-shrink:0}._date_bsge0_10{color:var(--xw-text-secondary, #666)}._tableOfContents_9ofak_1{position:sticky;top:5rem;align-self:flex-start;height:fit-content;max-height:calc(100vh - 8rem);overflow-y:auto;padding:2rem 0 2rem 1.5rem;margin-left:2rem;background:transparent;border-left:1px solid var(--xw-border);flex-shrink:0;max-width:250px}@media(max-width:1024px){._tableOfContents_9ofak_1{display:none}}._header_9ofak_21{margin-bottom:1rem}._title_9ofak_25{font-size:.75rem;font-weight:500;color:var(--xw-muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}._nav_9ofak_34 ul{margin:0;padding:0;list-style:none}._list_9ofak_40{display:flex;flex-direction:column;gap:.125rem;margin:0}._link_9ofak_47{display:block;width:100%;padding:.25rem 0;text-align:left;background:none;border:none;cursor:pointer;font-size:.875rem;line-height:1.4;color:var(--xw-muted-foreground);text-decoration:none;border-radius:.25rem;transition:all .15s cubic-bezier(.4,0,.2,1);position:relative;font-family:inherit}._link_9ofak_47:hover{color:var(--xw-foreground)}._link_9ofak_47:focus{outline:none;color:var(--xw-foreground)}._link_9ofak_47._active_9ofak_71{color:var(--xw-primary);font-weight:500}._link_9ofak_47._active_9ofak_71:before{content:"";position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);width:1px;height:1rem;background-color:var(--xw-primary);border-radius:.5px}._level1_9ofak_87{font-weight:500;padding-left:0;margin-bottom:.125rem}._level2_9ofak_93{padding-left:.5rem;margin-bottom:.0625rem}._level3_9ofak_98{padding-left:1rem;font-size:.8125rem;margin-bottom:.0625rem}._level4_9ofak_104{padding-left:1.5rem;font-size:.8125rem;margin-bottom:.0625rem}._level5_9ofak_110{padding-left:2rem;font-size:.75rem;margin-bottom:.0625rem}._level6_9ofak_116{padding-left:2.5rem;font-size:.75rem;margin-bottom:.0625rem}._tableOfContents_9ofak_1::-webkit-scrollbar{width:4px}._tableOfContents_9ofak_1::-webkit-scrollbar-track{background:transparent}._tableOfContents_9ofak_1::-webkit-scrollbar-thumb{background:var(--xw-border);border-radius:2px}._tableOfContents_9ofak_1::-webkit-scrollbar-thumb:hover{background:var(--xw-muted-foreground)}._overlay_1e1d4_1{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:_fadeIn_1e1d4_1 .2s ease;height:100vh}@keyframes _fadeIn_1e1d4_1{0%{opacity:0}to{opacity:1}}._modal_1e1d4_26{width:90%;max-width:600px;background:var(--xw-card);border:1px solid var(--xw-border);border-radius:.75rem;box-shadow:0 20px 60px #0000004d;animation:_slideIn_1e1d4_1 .2s ease;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}@keyframes _slideIn_1e1d4_1{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}._header_1e1d4_50{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--xw-border)}._title_1e1d4_58{font-size:1.125rem;font-weight:600;color:var(--xw-foreground);margin:0}._closeButton_1e1d4_65{background:none;border:none;color:var(--xw-muted-foreground);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}._closeButton_1e1d4_65 svg{width:1.25rem;height:1.25rem}._closeButton_1e1d4_65:hover{background:var(--xw-secondary);color:var(--xw-foreground)}._results_1e1d4_86{flex:1;overflow-y:auto;padding:.5rem;min-height:200px;max-height:400px}._resultsList_1e1d4_94{list-style:none;padding:0;margin:0}._resultItem_1e1d4_100{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-radius:.5rem;cursor:pointer;text-align:left;transition:all .15s ease;color:var(--xw-foreground)}._resultItem_1e1d4_100:hover{background:var(--xw-secondary)}._resultTitle_1e1d4_119{font-weight:500;font-size:.95rem}._resultSlug_1e1d4_124{font-size:.8rem;color:var(--xw-muted-foreground);opacity:.8}._noResults_1e1d4_130{padding:3rem 1rem;text-align:center;color:var(--xw-muted-foreground);font-size:.9rem}._tags_11t8a_1{display:flex;align-items:center;gap:.75rem;margin:2rem 0 1rem;padding:1rem 0 0;border-top:1px solid var(--xw-border)}._tags_11t8a_1._compact_11t8a_9{margin:2rem 0 1rem;padding:1rem 0 0;border-top:1px solid var(--xw-border)}._tagLabel_11t8a_15{display:flex;align-items:center;gap:.5rem;color:var(--xw-muted-foreground);font-size:.875rem;font-weight:500;white-space:nowrap}._tagIcon_11t8a_25{width:1.125rem;height:1.125rem}._tagList_11t8a_30{display:flex;flex-wrap:wrap;gap:.5rem}._tag_11t8a_1{display:inline-flex;align-items:center;padding:.25rem .75rem;background:none;border:1px solid var(--xw-border);border-radius:.75rem;color:var(--xw-muted-foreground);font-size:.8rem;font-weight:400;cursor:pointer;transition:all .2s ease}._tag_11t8a_1:hover{color:var(--xw-foreground);border-color:var(--xw-ring)}._contentPage_1nxj5_1{flex:1;max-width:48rem;margin:0;padding:0 0 2rem}@media(max-width:767px){._contentPage_1nxj5_1{padding:1.5rem;max-width:none}}@media(max-width:1024px){._contentPage_1nxj5_1{max-width:none;padding:2rem}}._metadata_1nxj5_20{display:flex;gap:1rem;align-items:center;padding:.5rem 0 1rem;color:var(--xw-muted-foreground);font-size:.875rem;border-bottom:1px solid var(--xw-border);margin-bottom:1rem}._metadata_1nxj5_20 ._author_1nxj5_30,._metadata_1nxj5_20 ._date_1nxj5_31{display:flex;align-items:center;gap:.5rem}._metadata_1nxj5_20 ._author_1nxj5_30{font-weight:500;color:var(--xw-foreground)}@media(max-width:767px){._metadata_1nxj5_20{flex-direction:column;align-items:flex-start;gap:.25rem}}._loadingContainer_1nxj5_48,._errorContainer_1nxj5_49{display:flex;align-items:center;justify-content:center;height:16rem}._loadingContainer_1nxj5_48{flex-direction:column;align-items:flex-start;gap:1.5rem;padding:2rem 0}@keyframes _shimmer_1nxj5_1{0%{background-position:-1000px 0}to{background-position:1000px 0}}._skeletonTitle_1nxj5_71{width:60%;height:2.5rem;background:linear-gradient(90deg,var(--xw-muted) 0%,color-mix(in oklch,var(--xw-muted) 50%,white) 50%,var(--xw-muted) 100%);background-size:1000px 100%;animation:_shimmer_1nxj5_1 2s infinite linear;border-radius:.5rem}._skeletonParagraph_1nxj5_80{width:100%;height:1rem;background:linear-gradient(90deg,var(--xw-muted) 0%,color-mix(in oklch,var(--xw-muted) 50%,white) 50%,var(--xw-muted) 100%);background-size:1000px 100%;animation:_shimmer_1nxj5_1 2s infinite linear;border-radius:.25rem;margin-bottom:.5rem}._skeletonParagraph_1nxj5_80:not(:last-child){margin-bottom:1rem}._skeletonParagraphShort_1nxj5_93{width:70%;height:1rem;background:linear-gradient(90deg,var(--xw-muted) 0%,color-mix(in oklch,var(--xw-muted) 50%,white) 50%,var(--xw-muted) 100%);background-size:1000px 100%;animation:_shimmer_1nxj5_1 2s infinite linear;border-radius:.25rem}._loadingText_1nxj5_102{color:var(--xw-muted-foreground);font-size:1rem}._errorText_1nxj5_107{color:var(--xw-destructive);font-size:1rem}._mdxContent_1nxj5_112{max-width:none}._mdxContent_1nxj5_112 h1{font-size:1.875rem;font-weight:600;letter-spacing:-.025em;margin-bottom:1.5rem;border-bottom:1px solid var(--xw-border);padding-bottom:.75rem;line-height:1.2;scroll-margin-top:5rem}._mdxContent_1nxj5_112 h1._withMetadata_1nxj5_125{border-bottom:none;padding-bottom:0;margin-bottom:.5rem}._mdxContent_1nxj5_112 h1 a{color:inherit;text-decoration:none;border:none;position:relative}._mdxContent_1nxj5_112 h1 a:hover{color:inherit;border:none}._mdxContent_1nxj5_112 h1 a:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--xw-link);opacity:.7;font-weight:400}._mdxContent_1nxj5_112 h2{font-size:1.5rem;font-weight:500;letter-spacing:-.02em;margin-bottom:1rem;margin-top:2.5rem;border-bottom:1px solid var(--xw-border);padding-bottom:.5rem;line-height:1.3;scroll-margin-top:5rem}._mdxContent_1nxj5_112 h2 a{color:inherit;text-decoration:none;border:none;position:relative}._mdxContent_1nxj5_112 h2 a:hover{color:inherit;border:none}._mdxContent_1nxj5_112 h2 a:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--xw-link);opacity:.7;font-weight:400}._mdxContent_1nxj5_112 h3{font-size:1.25rem;font-weight:500;letter-spacing:-.015em;margin-bottom:.75rem;margin-top:2rem;line-height:1.4;scroll-margin-top:5rem}._mdxContent_1nxj5_112 h3 a{color:inherit;text-decoration:none;border:none;position:relative}._mdxContent_1nxj5_112 h3 a:hover{color:inherit;border:none}._mdxContent_1nxj5_112 h3 a:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--xw-link);opacity:.7;font-weight:400}._mdxContent_1nxj5_112 h4{font-size:1.125rem;font-weight:500;letter-spacing:-.01em;margin-bottom:.5rem;margin-top:1.5rem;line-height:1.4;scroll-margin-top:5rem}._mdxContent_1nxj5_112 h4 a{color:inherit;text-decoration:none;border:none;position:relative}._mdxContent_1nxj5_112 h4 a:hover{color:inherit;border:none}._mdxContent_1nxj5_112 h4 a:hover:before{content:"#";position:absolute;left:-1.5rem;color:var(--xw-link);opacity:.7;font-weight:400}._mdxContent_1nxj5_112 h5{font-size:1rem;font-weight:500;margin-bottom:.5rem;margin-top:1.25rem;line-height:1.5}._mdxContent_1nxj5_112 h6{font-size:.875rem;font-weight:500;margin-bottom:.5rem;margin-top:1rem;line-height:1.5}._mdxContent_1nxj5_112 p{font-size:1rem;line-height:1.65;margin-bottom:1rem;color:var(--xw-foreground)}._mdxContent_1nxj5_112 ul,._mdxContent_1nxj5_112 ol{margin-bottom:1rem;padding-left:1.5rem}._mdxContent_1nxj5_112 ul li,._mdxContent_1nxj5_112 ol li{font-size:1rem;line-height:1.65;margin-bottom:.375rem}._mdxContent_1nxj5_112 ul ul,._mdxContent_1nxj5_112 ul ol,._mdxContent_1nxj5_112 ol ul,._mdxContent_1nxj5_112 ol ol{margin-top:.375rem;margin-bottom:.375rem}._mdxContent_1nxj5_112 ul{list-style-type:disc}._mdxContent_1nxj5_112 ol{list-style-type:decimal}._mdxContent_1nxj5_112 code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875rem;background-color:var(--xw-muted);padding:.1875rem .4375rem;border-radius:.25rem;color:var(--xw-foreground);font-weight:500}._mdxContent_1nxj5_112 pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background-color:var(--xw-muted);padding:1.25rem;border-radius:.75rem;overflow-x:auto;margin:1.5rem 0;position:relative;border:1px solid var(--xw-border)}._mdxContent_1nxj5_112 pre code{background-color:transparent;padding:0;color:inherit;font-weight:400}._mdxContent_1nxj5_112 ._codeBlock_1nxj5_300{position:relative;margin-bottom:1.5rem}._mdxContent_1nxj5_112 ._codeLanguage_1nxj5_304{position:absolute;top:.5rem;right:.5rem;font-size:.75rem;color:var(--xw-muted-foreground);background-color:var(--xw-background);padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--xw-border)}._mdxContent_1nxj5_112 blockquote{border-left:3px solid var(--xw-accent);padding-left:1rem;font-style:italic;color:var(--xw-muted-foreground);margin-bottom:1rem;margin-top:1rem}._mdxContent_1nxj5_112 blockquote p{margin-bottom:.5rem}._mdxContent_1nxj5_112 blockquote p:last-child{margin-bottom:0}._mdxContent_1nxj5_112 a{color:var(--xw-link);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);border-bottom:1px solid transparent}._mdxContent_1nxj5_112 a:hover{color:color-mix(in oklch,var(--xw-link) 80%,transparent);border-bottom-color:currentColor}._mdxContent_1nxj5_112 strong{font-weight:600}._mdxContent_1nxj5_112 em{font-style:italic}._mdxContent_1nxj5_112 table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}._mdxContent_1nxj5_112 table th,._mdxContent_1nxj5_112 table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--xw-border);line-height:1.4}._mdxContent_1nxj5_112 table th{font-weight:500;background-color:var(--xw-muted);font-size:.875rem;letter-spacing:.025em}._mdxContent_1nxj5_112 table tbody tr:hover{background-color:color-mix(in oklch,var(--xw-muted) 50%,transparent)}._mdxContent_1nxj5_112 img{max-width:100%;height:auto;border-radius:.5rem;margin:1.5rem 0;border:1px solid var(--xw-border)}._mdxContent_1nxj5_112 hr{border:none;border-top:1px solid var(--xw-border);margin:2rem 0}._searchButton_1k9sl_1{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem;background:none;border:none;color:var(--xw-muted-foreground);cursor:pointer;transition:all .2s ease;font-size:.875rem}._searchButton_1k9sl_1:hover{border-color:var(--xw-input)}._searchButton_1k9sl_1 ._searchIcon_1k9sl_17{width:1rem;height:1rem;opacity:.6}@media(max-width:768px){._searchButton_1k9sl_1 ._searchHint_1k9sl_23{display:none}}._searchButton_1k9sl_1 ._kbd_1k9sl_27{display:none;padding:.125rem .375rem;background:var(--xw-card);border:1px solid var(--xw-border);border-radius:.25rem;font-size:.75rem;font-family:monospace}@media(min-width:768px){._searchButton_1k9sl_1 ._kbd_1k9sl_27{display:block}}._searchOverlay_1k9sl_42{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:_fadeIn_1k9sl_1 .2s ease;height:100vh}@keyframes _fadeIn_1k9sl_1{0%{opacity:0}to{opacity:1}}._searchModal_1k9sl_67{width:90%;max-width:600px;background:var(--xw-card);border:1px solid var(--xw-border);border-radius:.75rem;box-shadow:0 20px 60px #0000004d;animation:_slideIn_1k9sl_1 .2s ease;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}@keyframes _slideIn_1k9sl_1{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}._searchHeader_1k9sl_91{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--xw-border)}._searchHeader_1k9sl_91 ._searchIcon_1k9sl_17{width:1.25rem;height:1.25rem;opacity:.5;flex-shrink:0}._searchInput_1k9sl_105{flex:1;border:none;background:transparent;color:var(--xw-foreground);font-size:1rem;outline:none}._searchInput_1k9sl_105:focus{border:none;outline:none;box-shadow:none}._searchInput_1k9sl_105::placeholder{color:var(--xw-muted-foreground);opacity:.6}._closeButton_1k9sl_123{background:none;border:none;color:var(--xw-muted-foreground);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}._closeButton_1k9sl_123 svg{width:1.25rem;height:1.25rem}._closeButton_1k9sl_123:hover{background:var(--xw-secondary);color:var(--xw-foreground)}._searchResults_1k9sl_144{flex:1;overflow-y:auto;padding:.5rem;min-height:200px;max-height:400px}._resultsList_1k9sl_152{list-style:none;padding:0;margin:0}._resultItem_1k9sl_158{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-radius:.5rem;cursor:pointer;text-align:left;transition:all .15s ease;color:var(--xw-foreground)}._resultItem_1k9sl_158:hover,._resultItem_1k9sl_158._selected_1k9sl_173{background:var(--xw-secondary)}._resultItem_1k9sl_158 ._resultTitle_1k9sl_176{font-weight:500;font-size:.95rem}._resultItem_1k9sl_158 ._resultSlug_1k9sl_180{font-size:.8rem;color:var(--xw-muted-foreground);opacity:.8}._noResults_1k9sl_186{padding:3rem 1rem;text-align:center;color:var(--xw-muted-foreground);font-size:.9rem}._searchHints_1k9sl_193{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--xw-border);background:var(--xw-secondary);font-size:.8rem;color:var(--xw-muted-foreground)}@media(max-width:768px){._searchHints_1k9sl_193{flex-direction:column;align-items:flex-start;gap:.5rem}}._searchHints_1k9sl_193 ._hint_1k9sl_210{display:flex;align-items:center;gap:.5rem}._searchHints_1k9sl_193 ._hint_1k9sl_210 kbd{padding:.125rem .375rem;background:var(--xw-card);border:1px solid var(--xw-border);border-radius:.25rem;font-size:.75rem;font-family:monospace;min-width:1.5rem;text-align:center}._header_jrobc_1{position:sticky;top:0;z-index:1020;background-color:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:3.5rem;padding-left:16rem}.dark ._header_jrobc_1{background-color:#2020201a}@supports not (backdrop-filter: blur(12px)){._header_jrobc_1{background-color:var(--xw-background)}}@media(max-width:767px){._header_jrobc_1{padding:0}}._container_jrobc_24{width:100%;max-width:1400px;margin:0 auto;padding:0 1.5rem}@media(max-width:767px){._container_jrobc_24{padding:0 1rem}}._content_jrobc_36{display:flex;align-items:center;justify-content:space-between;height:3.5rem}._leftSection_jrobc_43{display:flex;align-items:center;gap:1rem}._mobileMenuButton_jrobc_49{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._mobileMenuButton_jrobc_49:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._mobileMenuButton_jrobc_49:disabled{pointer-events:none;opacity:.5}._mobileMenuButton_jrobc_49{padding:.5rem;background-color:transparent;color:var(--xw-muted-foreground);border-radius:.5rem;display:none}._mobileMenuButton_jrobc_49:hover{background-color:var(--xw-muted);color:var(--xw-foreground)}@media(max-width:767px){._mobileMenuButton_jrobc_49{display:flex}}._burgerIcon_jrobc_87{width:1.25rem;height:1.25rem}._logo_jrobc_92,._nav_jrobc_98{display:flex;align-items:center;gap:.5rem}@media(max-width:767px){._nav_jrobc_98{gap:.25rem}}._navLink_jrobc_109{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--xw-muted-foreground);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1)}._navLink_jrobc_109:hover{color:var(--xw-foreground)}._navLink_jrobc_109:focus{outline:none}._githubIcon_jrobc_128{width:1rem;height:1rem;flex-shrink:0;transition:transform .15s cubic-bezier(.4,0,.2,1)}._externalIcon_jrobc_135{width:1rem;height:1rem;flex-shrink:0}._supportDropdown_jrobc_141,._themeDropdown_jrobc_145{position:relative}._themeButton_jrobc_149{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--xw-muted-foreground);background:none;border:none;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}._themeButton_jrobc_149:hover{color:var(--xw-foreground);background-color:var(--xw-muted)}._themeButton_jrobc_149:focus{outline:none}._themeIcon_jrobc_171{width:1.125rem;height:1.125rem;flex-shrink:0}._supportButton_jrobc_177{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--xw-muted-foreground);background:none;border:none;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}._supportButton_jrobc_177:hover{color:var(--xw-foreground)}._supportButton_jrobc_177:focus{outline:none}._caretIcon_jrobc_198{width:.875rem;height:.875rem;flex-shrink:0;transition:transform .15s cubic-bezier(.4,0,.2,1)}button[aria-expanded=true] ._caretIcon_jrobc_198{transform:rotate(180deg)}._dropdownMenu_jrobc_208{position:absolute;top:calc(100% + .25rem);right:0;min-width:10rem;background-color:var(--xw-popover);border:1px solid var(--xw-border);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;z-index:1000;overflow:hidden}._dropdownItem_jrobc_221{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;font-size:.875rem;color:var(--xw-popover-foreground);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:background-color .15s cubic-bezier(.4,0,.2,1)}._dropdownItem_jrobc_221:hover{background-color:var(--xw-muted)}._dropdownItem_jrobc_221:focus{outline:none;background-color:var(--xw-muted)}._dropdownIcon_jrobc_244{width:1rem;height:1rem;flex-shrink:0}@media(max-width:767px){._logoText_jrobc_251{font-size:1rem}._navLink_jrobc_109{padding:.25rem .5rem;font-size:.8rem;gap:.25rem}._githubIcon_jrobc_128{width:.875rem;height:.875rem}}._backdrop_1a7pu_1{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1040;opacity:0;visibility:hidden;transition:all .15s cubic-bezier(.4,0,.2,1)}._backdrop_1a7pu_1._open_1a7pu_13{opacity:1;visibility:visible}._mobileMenu_1a7pu_18{position:fixed;top:0;left:0;width:320px;height:100vh;background-color:var(--xw-background);border-right:1px solid var(--xw-border);z-index:1050;transform:translate(-100%);transition:transform .15s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}._mobileMenu_1a7pu_18._open_1a7pu_13{transform:translate(0)}._header_1a7pu_37{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--xw-border);flex-shrink:0}._brand_1a7pu_46{flex:1;display:flex;align-items:center;gap:.5rem}._cloudIcon_1a7pu_53{width:1.5rem;height:1.5rem;flex-shrink:0}._cloudIcon_1a7pu_53 .accent{fill:#d33079}._title_1a7pu_62{font-size:1.125rem;font-weight:600;color:var(--xw-foreground);margin:0}._closeButton_1a7pu_69{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._closeButton_1a7pu_69:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._closeButton_1a7pu_69:disabled{pointer-events:none;opacity:.5}._closeButton_1a7pu_69{padding:.5rem;background-color:transparent;color:var(--xw-muted-foreground);border-radius:.5rem}._closeButton_1a7pu_69:hover{background-color:var(--xw-muted);color:var(--xw-foreground)}._closeIcon_1a7pu_101{width:1.25rem;height:1.25rem}._languageSection_1a7pu_106{padding:1.5rem;border-bottom:1px solid var(--xw-border);flex-shrink:0}._languageSelect_1a7pu_112{position:relative;width:100%}._languageButton_1a7pu_117{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._languageButton_1a7pu_117:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._languageButton_1a7pu_117:disabled{pointer-events:none;opacity:.5}._languageButton_1a7pu_117{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem;background-color:var(--xw-background);border:1px solid var(--xw-border);color:var(--xw-foreground);gap:.5rem}._languageButton_1a7pu_117:hover,._languageButton_1a7pu_117[aria-expanded=true]{background-color:var(--xw-muted)}._icon_1a7pu_156{width:1rem;height:1rem;flex-shrink:0}._chevron_1a7pu_162{width:1rem;height:1rem;transition:transform .15s cubic-bezier(.4,0,.2,1);margin-left:auto}._languageButton_1a7pu_117[aria-expanded=true] ._chevron_1a7pu_162{transform:rotate(180deg)}._languageDropdown_1a7pu_172{position:absolute;top:100%;left:0;right:0;background-color:var(--xw-popover);border:1px solid var(--xw-border);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;z-index:1000;margin-top:.25rem}._languageOption_1a7pu_185{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._languageOption_1a7pu_185:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._languageOption_1a7pu_185:disabled{pointer-events:none;opacity:.5}._languageOption_1a7pu_185{width:100%;padding:.5rem 1rem;background-color:transparent;color:var(--xw-foreground);text-align:left;justify-content:flex-start;border-radius:0}._languageOption_1a7pu_185:first-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}._languageOption_1a7pu_185:last-child{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}._languageOption_1a7pu_185:hover{background-color:var(--xw-muted)}._languageOption_1a7pu_185._selected_1a7pu_226{background-color:var(--xw-accent);color:var(--xw-accent-foreground)}._scrollArea_1a7pu_231{flex:1;overflow-y:auto;padding:1.5rem 0}._navigation_1a7pu_237{padding:0 1.5rem}._section_1a7pu_241{margin-bottom:1rem}._sectionButton_1a7pu_245{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._sectionButton_1a7pu_245:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._sectionButton_1a7pu_245:disabled{pointer-events:none;opacity:.5}._sectionButton_1a7pu_245{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem;background-color:transparent;color:var(--xw-foreground);font-weight:600;gap:.5rem;border-radius:.5rem}._sectionButton_1a7pu_245:hover{background-color:var(--xw-muted)}._sectionButton_1a7pu_245 ._icon_1a7pu_156{transition:transform .15s cubic-bezier(.4,0,.2,1);margin-left:auto}._sectionButton_1a7pu_245._expanded_1a7pu_285 ._icon_1a7pu_156{transform:rotate(90deg)}._sectionItems_1a7pu_289{margin-top:.5rem;margin-left:1rem;display:flex;flex-direction:column;gap:.25rem}._navItem_1a7pu_297{display:block;padding:.5rem 1rem;border-radius:.5rem;color:var(--xw-muted-foreground);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);font-size:.875rem}._navItem_1a7pu_297:hover{background-color:var(--xw-muted);color:var(--xw-foreground)}._navItem_1a7pu_297._active_1a7pu_310{background-color:var(--xw-accent);color:var(--xw-accent-foreground);font-weight:500}._navItemContent_1a7pu_316{display:flex;align-items:center;gap:.5rem}._navItemTitle_1a7pu_322{flex:1}@media(min-width:1024px){._mobileMenu_1a7pu_18,._backdrop_1a7pu_1{display:none}}._sidebar_1tdxt_1{position:fixed;top:0;left:0;width:16rem;height:100vh;background-color:var(--xw-sidebar);overflow-y:auto;z-index:1020}@media(max-width:767px){._sidebar_1tdxt_1{display:none}}._header_1tdxt_17{position:sticky;top:0;z-index:1020;padding:1rem;background-color:var(--xw-sidebar);display:flex;flex-direction:column;gap:.5rem;padding-bottom:0}._brand_1tdxt_29{display:flex;align-items:center;gap:.5rem}._cloudIcon_1tdxt_35{width:1.5rem;height:1.5rem;flex-shrink:0}._cloudIcon_1tdxt_35 .accent{fill:#d33079}._title_1tdxt_44{font-size:1rem;font-weight:600;line-height:1.5;margin:0;letter-spacing:-.02em;color:var(--xw-foreground)}._languageSelect_1tdxt_55{position:relative;margin-top:.25rem;width:100%}._languageButton_1tdxt_61{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._languageButton_1tdxt_61:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._languageButton_1tdxt_61:disabled{pointer-events:none;opacity:.5}._languageButton_1tdxt_61{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem;width:100%;gap:.25rem;font-size:.8rem;background:transparent;border:1px solid var(--xw-border);border-radius:.25rem;color:var(--xw-muted-foreground)}._languageButton_1tdxt_61:hover{background-color:var(--xw-muted);color:var(--xw-foreground)}._languageButton_1tdxt_61 ._icon_1tdxt_99{width:.875rem;height:.875rem;flex-shrink:0}._languageButton_1tdxt_61 ._chevron_1tdxt_104{width:.875rem;height:.875rem;flex-shrink:0;transition:transform .15s cubic-bezier(.4,0,.2,1)}._languageButton_1tdxt_61[aria-expanded=true] ._chevron_1tdxt_104{transform:rotate(180deg)}._languageDropdown_1tdxt_114{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background-color:var(--xw-popover);border:1px solid var(--xw-border);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;z-index:1000;overflow:hidden}._languageOption_1tdxt_128{display:block;width:100%;padding:.25rem .5rem;text-align:left;background:none;border:none;color:var(--xw-popover-foreground);font-size:.85rem;cursor:pointer;transition:background-color .15s cubic-bezier(.4,0,.2,1)}._languageOption_1tdxt_128:hover{background-color:var(--xw-muted)}._languageOption_1tdxt_128:focus{outline:none;background-color:var(--xw-muted)}._languageOption_1tdxt_128._selected_1tdxt_147{background-color:var(--xw-muted);color:var(--xw-foreground)}._scrollArea_1tdxt_152{height:calc(100vh - 120px);padding:1rem .5rem 1rem 1rem;overflow-y:auto}._navigation_1tdxt_158{display:flex;flex-direction:column;gap:.125rem}._section_1tdxt_164{display:flex;flex-direction:column;gap:0}._sectionButton_1tdxt_170{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none}._sectionButton_1tdxt_170:focus-visible{outline:2px solid var(--xw-ring);outline-offset:2px}._sectionButton_1tdxt_170:disabled{pointer-events:none;opacity:.5}._sectionButton_1tdxt_170{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.25rem .5rem;font-weight:500;font-size:.85rem;color:var(--xw-muted-foreground);background:transparent;text-align:left;letter-spacing:-.01em;border:none}._sectionButton_1tdxt_170:hover{color:var(--xw-foreground)}._sectionButton_1tdxt_170 ._icon_1tdxt_99{width:.875rem;height:.875rem;transition:transform .15s cubic-bezier(.4,0,.2,1)}._sectionButton_1tdxt_170._expanded_1tdxt_213 ._icon_1tdxt_99{transform:rotate(90deg)}._sectionItems_1tdxt_217{margin-top:.25rem;padding-left:1rem;display:flex;flex-direction:column;gap:.125rem}._navItem_1tdxt_225{display:block;width:100%;padding:.25rem .5rem;border-radius:.25rem;font-size:.85rem;color:var(--xw-muted-foreground);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}._navItem_1tdxt_225:hover{color:var(--xw-foreground)}._navItem_1tdxt_225._active_1tdxt_238{color:var(--xw-foreground);font-weight:500}._navItemContent_1tdxt_243{display:flex;align-items:center;justify-content:space-between;width:100%}._sidebar_1tdxt_1::-webkit-scrollbar{width:6px}._sidebar_1tdxt_1::-webkit-scrollbar-track{background:transparent}._sidebar_1tdxt_1::-webkit-scrollbar-thumb{background:var(--xw-muted-foreground);border-radius:9999px;opacity:.3}._sidebar_1tdxt_1::-webkit-scrollbar-thumb:hover{opacity:.6}._app_wf6ni_1{min-height:100vh;background-color:var(--xw-background);color:var(--xw-foreground);display:flex;flex-direction:column}._layout_wf6ni_9{display:flex;flex:1;min-height:calc(100vh - 3.5rem)}._main_wf6ni_15{flex:1;display:flex;flex-direction:column;margin-left:16rem}._main_wf6ni_15._fullWidth_wf6ni_21{margin-left:0}@media(max-width:767px){._main_wf6ni_15{margin-left:0}}._contentWrapper_wf6ni_30{display:flex;flex:1;position:relative;width:100%;max-width:80rem;margin:0 auto;padding:2rem}._main_wf6ni_15._fullWidth_wf6ni_21 ._contentWrapper_wf6ni_30{width:auto}@media(max-width:1024px){._contentWrapper_wf6ni_30{padding:1.5rem}}@media(max-width:767px){._contentWrapper_wf6ni_30{padding:1rem}}._homePage_1lc5u_1{flex:1;max-width:48rem;margin:0;padding:0 0 2rem}@media(max-width:767px){._homePage_1lc5u_1{padding:1.5rem;max-width:none}}@media(max-width:1024px){._homePage_1lc5u_1{max-width:none;padding:2rem}}._header_1lc5u_20{margin-bottom:1.5rem}._title_1lc5u_24{font-size:2rem;font-weight:700;color:var(--xw-foreground);margin-bottom:0!important}._articlesList_1lc5u_31{display:flex;flex-direction:column;gap:1rem}._articleCard_1lc5u_37{padding:1rem;border:1px solid var(--xw-border);border-radius:.5rem;background:transparent;cursor:pointer;text-align:left;transition:all .2s ease-in-out}._articleCard_1lc5u_37:hover{border-color:var(--xw-primary);background-color:var(--xw-card);transform:translateY(-2px)}._articleCard_1lc5u_37:focus-visible{outline:2px solid var(--xw-primary);outline-offset:2px}._articleTitle_1lc5u_56{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--xw-foreground)}._articleDescription_1lc5u_63{font-size:.9rem;color:var(--xw-muted-foreground);margin:0 0 .5rem;line-height:1.5}._loading_1lc5u_70,._empty_1lc5u_71{padding:2rem;text-align:center;color:var(--xw-muted-foreground)}