@peasant-labs/fairtrade 0.0.37 → 0.0.39

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.
@@ -39,7 +39,7 @@ var f = {
39
39
  accessibilityLayer: !0,
40
40
  margin: {
41
41
  top: 8,
42
- right: 18,
42
+ right: 28,
43
43
  bottom: 4,
44
44
  left: 4
45
45
  }
@@ -1304,21 +1304,20 @@ function mt({ match: e }) {
1304
1304
  children: [
1305
1305
  /* @__PURE__ */ f("span", {
1306
1306
  className: `dv-badge${u ? " dv-badge-low" : ""}`,
1307
- children: [
1308
- /* @__PURE__ */ d("span", {
1307
+ children: [/* @__PURE__ */ f("span", {
1308
+ className: "dv-badge-lead",
1309
+ children: [/* @__PURE__ */ d("span", {
1309
1310
  className: "dv-badge-cat",
1310
1311
  children: t
1311
- }),
1312
- /* @__PURE__ */ d("span", {
1312
+ }), /* @__PURE__ */ d("span", {
1313
1313
  className: "dv-badge-dot",
1314
1314
  "aria-hidden": "true",
1315
1315
  children: ","
1316
- }),
1317
- /* @__PURE__ */ d("span", {
1318
- className: "dv-badge-conf tnum",
1319
- children: p
1320
- })
1321
- ]
1316
+ })]
1317
+ }), /* @__PURE__ */ d("span", {
1318
+ className: "dv-badge-conf tnum",
1319
+ children: p
1320
+ })]
1322
1321
  }),
1323
1322
  s && /* @__PURE__ */ f("span", {
1324
1323
  className: "dv-kept-flag",
@@ -3750,7 +3749,6 @@ function Kr({ accountLabel: e, villageLabel: t, domains: n, collectives: r, cate
3750
3749
  if (a !== void 0 && a !== "catalog" && a !== "history") throw Error("VillageObservations: controlled view must be catalog or history; supply a registered view or omit it for local selection.");
3751
3750
  if (o !== void 0 && !i.some((e) => e.id === o)) throw Error("VillageObservations: controlled categoryId is not present in categories; supply the selected category or clear the controlled selection when changing scope.");
3752
3751
  let re = /* @__PURE__ */ f(u, { children: [
3753
- /* @__PURE__ */ d("p", { children: "Observations do not grant current permission. Earlier details remain dated evidence." }),
3754
3752
  /* @__PURE__ */ d("div", {
3755
3753
  role: "status",
3756
3754
  className: "vobs-status",
@@ -3771,35 +3769,31 @@ function Kr({ accountLabel: e, villageLabel: t, domains: n, collectives: r, cate
3771
3769
  })
3772
3770
  ] }), ie = /* @__PURE__ */ f("div", {
3773
3771
  className: "vobs-catalog",
3774
- children: [
3775
- te === "catalog" && re,
3776
- /* @__PURE__ */ d("p", { children: "Relevant collectives only. Tracking does not join a collective or grant access." }),
3777
- r.length === 0 ? /* @__PURE__ */ d("p", { children: "No saved relevant collectives. Fetch metadata to check available sources." }) : /* @__PURE__ */ d("ul", {
3778
- className: "vobs-list",
3779
- children: r.map((e) => /* @__PURE__ */ f("li", { children: [
3780
- /* @__PURE__ */ f("div", {
3781
- className: "vobs-row-head",
3782
- children: [/* @__PURE__ */ d("strong", { children: e.name }), g && typeof e.tracking == "boolean" ? /* @__PURE__ */ f(be, {
3783
- onClick: () => g(e.id, !e.tracking),
3784
- children: [e.tracking ? "untrack" : "track", /* @__PURE__ */ f("span", {
3785
- className: "sr-only",
3786
- children: [" ", e.name]
3787
- })]
3788
- }) : null]
3789
- }),
3790
- e.description && /* @__PURE__ */ d("p", { children: e.description }),
3791
- /* @__PURE__ */ f("dl", {
3792
- className: "vobs-facts",
3793
- children: [
3794
- /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("dt", { children: "evidence" }), /* @__PURE__ */ d("dd", { children: e.state })] }),
3795
- /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("dt", { children: "relevance" }), /* @__PURE__ */ d("dd", { children: e.reasons.join(", ") || "no current relevance" })] }),
3796
- e.policy && /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("dt", { children: "observed policy" }), /* @__PURE__ */ d("dd", { children: e.policy })] }),
3797
- /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("dt", { children: "observed at" }), /* @__PURE__ */ d("dd", { children: /* @__PURE__ */ d(Wr, { value: e.observedAt }) })] })
3798
- ]
3799
- })
3800
- ] }, e.id))
3801
- })
3802
- ]
3772
+ children: [te === "catalog" && re, r.length === 0 ? /* @__PURE__ */ d("p", { children: "no collectives saved yet" }) : /* @__PURE__ */ d("ul", {
3773
+ className: "vobs-list",
3774
+ children: r.map((e) => /* @__PURE__ */ f("li", { children: [
3775
+ /* @__PURE__ */ f("div", {
3776
+ className: "vobs-row-head",
3777
+ children: [/* @__PURE__ */ d("strong", { children: e.name }), g && typeof e.tracking == "boolean" ? /* @__PURE__ */ f(be, {
3778
+ onClick: () => g(e.id, !e.tracking),
3779
+ children: [e.tracking ? "untrack" : "track", /* @__PURE__ */ f("span", {
3780
+ className: "sr-only",
3781
+ children: [" ", e.name]
3782
+ })]
3783
+ }) : null]
3784
+ }),
3785
+ e.description && /* @__PURE__ */ d("p", { children: e.description }),
3786
+ /* @__PURE__ */ f("dl", {
3787
+ className: "vobs-facts",
3788
+ children: [
3789
+ /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("dt", { children: "evidence" }), /* @__PURE__ */ d("dd", { children: e.state })] }),
3790
+ /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("dt", { children: "relevance" }), /* @__PURE__ */ d("dd", { children: e.reasons.join(", ") || "no current relevance" })] }),
3791
+ e.policy && /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("dt", { children: "observed policy" }), /* @__PURE__ */ d("dd", { children: e.policy })] }),
3792
+ /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("dt", { children: "observed at" }), /* @__PURE__ */ d("dd", { children: /* @__PURE__ */ d(Wr, { value: e.observedAt }) })] })
3793
+ ]
3794
+ })
3795
+ ] }, e.id))
3796
+ })]
3803
3797
  }), ae = /* @__PURE__ */ d("div", {
3804
3798
  className: "vobs-history",
3805
3799
  children: i.length ? /* @__PURE__ */ d(N, {
@@ -3815,7 +3809,6 @@ function Kr({ accountLabel: e, villageLabel: t, domains: n, collectives: r, cate
3815
3809
  "aria-busy": e.loading || void 0,
3816
3810
  children: [
3817
3811
  te === "history" && ne === e.id && re,
3818
- /* @__PURE__ */ d("p", { children: "Saved evidence is dated. A confirmed receipt does not mean collective approval. Unknown coverage is not an empty history." }),
3819
3812
  /* @__PURE__ */ f("p", {
3820
3813
  className: "vobs-summary",
3821
3814
  children: [
@@ -3846,7 +3839,7 @@ function Kr({ accountLabel: e, villageLabel: t, domains: n, collectives: r, cate
3846
3839
  })
3847
3840
  ]
3848
3841
  }, e.id))
3849
- }) : /* @__PURE__ */ d("p", { children: "No saved items on this page." }), /* @__PURE__ */ d("div", {
3842
+ }) : /* @__PURE__ */ d("p", { children: "nothing saved on this page" }), /* @__PURE__ */ d("div", {
3850
3843
  className: "vobs-pager",
3851
3844
  inert: e.loading || !y ? !0 : void 0,
3852
3845
  children: /* @__PURE__ */ d(Oe, {
@@ -3859,7 +3852,7 @@ function Kr({ accountLabel: e, villageLabel: t, domains: n, collectives: r, cate
3859
3852
  ]
3860
3853
  })
3861
3854
  }))
3862
- }) : /* @__PURE__ */ d("p", { children: "No saved contribution evidence. Fetch metadata to check available history." })
3855
+ }) : /* @__PURE__ */ d("p", { children: "no contribution history saved yet" })
3863
3856
  });
3864
3857
  return /* @__PURE__ */ f("section", {
3865
3858
  className: "vobs",
@@ -1 +1 @@
1
- @layer analytics{.gan-root{min-width:0;height:100%;min-height:0;font-family:var(--font-mono);--gan-pad-x:max(var(--sp-4), calc((100% - 1360px) / 2));flex-direction:column;max-width:none;margin-inline:0;display:flex}.gan-head{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--gan-pad-x);border-bottom:var(--bd);flex-direction:column;display:flex}.gan-head-titles{min-width:0}.gan-h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--ink-strong);text-transform:lowercase;line-height:var(--lh-body);overflow-wrap:anywhere;margin:0}.gan-sub{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-3);text-transform:lowercase;margin-top:var(--sp-1)}.gan-scroll{min-height:0;padding:var(--sp-4) var(--gan-pad-x);gap:var(--sp-4);flex-direction:column;flex:auto;display:flex;overflow:auto}.gan-toggle{align-items:center;gap:var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.gan-toggle-lab{align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:lowercase;color:var(--ink-3);display:inline-flex}.gan-toggle-lab .lucide{width:var(--ic-sm);height:var(--ic-sm)}.gan-toggle-lab b{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600}.gan-toggle-chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.gan-seg{box-sizing:border-box;height:var(--control-h-sm);padding:0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:lowercase;line-height:var(--lh-mono);color:var(--ink-4);background:var(--canvas);border:var(--bd-strong);cursor:pointer}@media (prefers-reduced-motion:no-preference){.gan-seg{transition:color var(--dur-1), border-color var(--dur-1), background var(--dur-1)}}.gan-seg:hover{color:var(--ink);border-color:var(--amber-dim)}.gan-seg:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.gan-seg.is-on{color:var(--amber-fill-ink);border-color:var(--amber-fill);background:var(--amber-fill);border-bottom-width:var(--stroke-emphasis);font-weight:700}.gan-kpis{gap:var(--sp-3);grid-template-columns:repeat(6,1fr);display:grid}.gan-tile{gap:var(--sp-1);background:var(--surface);border:var(--bd-strong);padding:var(--sp-3);flex-direction:column;min-width:0;display:flex}.gan-tile summary{cursor:pointer;gap:var(--sp-1);min-height:var(--target-min);flex-direction:column;display:flex}.gan-tile summary:after{content:"details";font-size:var(--fs-label);color:var(--ink-3)}.gan-tile details[open]>summary:after{content:"hide details"}.gan-tile-detail{margin-block:var(--sp-3) 0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);white-space:pre-wrap;overflow-wrap:anywhere}.gan-tile-lab{align-items:center;gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:lowercase;color:var(--ink-3);overflow-wrap:anywhere;display:inline-flex}.gan-tile-lab .lucide{width:var(--ic-sm);height:var(--ic-sm);color:var(--ink-4);flex:none}.gan-tile-val{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--ink-strong);font-variant-numeric:tabular-nums;line-height:1}.gan-tile-hint{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-4);text-transform:lowercase;overflow-wrap:anywhere}.gan-grid{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gan-card{gap:var(--sp-3);background:var(--surface);border:var(--bd-strong);padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;min-width:0;display:flex}.gan-card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.gan-card-titles{min-width:0}.gan-card-title{align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--ink-strong);text-transform:lowercase;line-height:var(--lh-body);overflow-wrap:anywhere;margin:0;display:inline-flex}.gan-card-title .lucide{width:var(--ic-sm);height:var(--ic-sm);color:var(--ink-3);flex:none}.gan-card-sub{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-3);text-transform:lowercase;margin-top:var(--sp-1);display:block}.gan-card-figure{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.gan-card-body{min-width:0}.gan-donut{gap:var(--sp-4);grid-template-columns:180px minmax(0,1fr);align-items:center;display:grid}.gan-donut-svg{width:100%;max-width:180px;height:auto;display:block}.gan-slice{cursor:pointer}@media (prefers-reduced-motion:no-preference){.gan-slice{transition:opacity var(--dur-1)}}.gan-slice:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring)}.gan-donut-num{font-family:var(--font-display);fill:var(--ink-strong);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.gan-donut-lab{font-family:var(--font-mono);font-size:var(--fs-label);fill:var(--ink-3);text-transform:lowercase}.gan-donut-empty{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);text-transform:lowercase;padding:var(--sp-5) var(--sp-2);text-align:center}.gan-legend{flex-direction:column;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.gan-legend-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);cursor:default;grid-template-columns:12px minmax(0,1fr) auto auto;display:grid}@media (prefers-reduced-motion:no-preference){.gan-legend-row{transition:background var(--dur-1)}}.gan-legend-row.is-hot{background:var(--surface-hover)}.gan-legend-sw{border:1px solid color-mix(in srgb, var(--canvas) 30%, transparent);flex:none;width:10px;height:10px}.gan-legend-nm{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-2);text-transform:lowercase;overflow-wrap:anywhere}.gan-legend-v{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.gan-legend-pct{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-4);font-variant-numeric:tabular-nums;text-align:right;min-width:var(--sp-6)}.gan-typical{flex-direction:column;display:flex}.gan-typrow{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:var(--bd);display:flex}.gan-typrow:last-child{border-bottom:0}.gan-typlab{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2);text-transform:lowercase}.gan-typvals{align-items:baseline;gap:var(--sp-2);display:inline-flex}.gan-typmed{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--ink-strong);font-variant-numeric:tabular-nums}.gan-typsep{color:var(--ink-5)}.gan-typp90{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-4);font-variant-numeric:tabular-nums}.gan-tablecard{gap:var(--sp-2);background:var(--surface);border:var(--bd-strong);padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;min-width:0;display:flex;overflow:hidden}.gan-tablecard .tbl-wrap{margin-top:var(--sp-2)}.gan-contrib{align-items:center;gap:var(--sp-2);color:var(--ink);display:inline-flex}.gan-table-foot{gap:var(--sp-4);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:var(--bd);flex-wrap:wrap;display:flex}.gan-foot{font-family:var(--font-body);font-size:var(--fs-body);color:var(--ink-3);line-height:var(--lh-body);max-width:var(--measure-prose);border-left:var(--stroke-emphasis) solid var(--rule-strong);padding-left:var(--sp-3)}@media (width<1024px){.gan-kpis{grid-template-columns:repeat(3,1fr)}.gan-grid{grid-template-columns:1fr}}@media (width<768px){.gan-card-head{flex-wrap:wrap}.gan-kpis{grid-template-columns:repeat(2,1fr)}.gan-donut{grid-template-columns:1fr;justify-items:center}.gan-legend{width:100%}.gan-head,.gan-scroll{padding:var(--sp-3)}.gan-tablecard{padding:var(--sp-2) var(--sp-3) var(--sp-3)}.gan-tablecard .tbl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}}.gan-root section{max-width:none;margin:0;padding:0}.gan-root .gan-card,.gan-root .gan-tablecard{padding:var(--sp-3) var(--sp-4) var(--sp-4)}@media (width<768px){.gan-root .gan-tablecard{padding:var(--sp-2) var(--sp-3) var(--sp-3)}}
1
+ @layer analytics{.gan-root{min-width:0;height:100%;min-height:0;font-family:var(--font-mono);--gan-pad-x:var(--sp-6);flex-direction:column;max-width:none;margin-inline:0;display:flex}@media (width<768px){.gan-root{--gan-pad-x:var(--sp-4)}}.iu-view:has(>.gan-root){padding:0}.gan-head{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--gan-pad-x);border-bottom:var(--bd);flex-direction:column;display:flex}.gan-head-titles{min-width:0}.gan-h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--ink-strong);text-transform:lowercase;line-height:var(--lh-body);overflow-wrap:anywhere;margin:0}.gan-sub{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-3);text-transform:lowercase;margin-top:var(--sp-1)}.gan-scroll{min-height:0;padding:var(--sp-4) var(--gan-pad-x);gap:var(--sp-4);flex-direction:column;flex:auto;display:flex;overflow:auto}.gan-toggle{align-items:center;gap:var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.gan-toggle-lab{align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:lowercase;color:var(--ink-3);display:inline-flex}.gan-toggle-lab .lucide{width:var(--ic-sm);height:var(--ic-sm)}.gan-toggle-lab b{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600}.gan-toggle-chips{gap:var(--sp-1);flex-wrap:wrap;display:flex}.gan-seg{box-sizing:border-box;height:var(--control-h-sm);padding:0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:lowercase;line-height:var(--lh-mono);color:var(--ink-4);background:var(--canvas);border:var(--bd-strong);cursor:pointer}@media (prefers-reduced-motion:no-preference){.gan-seg{transition:color var(--dur-1), border-color var(--dur-1), background var(--dur-1)}}.gan-seg:hover{color:var(--ink);border-color:var(--amber-dim)}.gan-seg:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.gan-seg.is-on{color:var(--ink-strong);border-color:var(--rule-strong);background:var(--surface-2);font-weight:600}.gan-kpis{gap:var(--sp-3);grid-template-columns:repeat(6,1fr);display:grid}.gan-tile{gap:var(--sp-1);background:var(--surface);border:var(--bd-strong);padding:var(--sp-3);flex-direction:column;min-width:0;display:flex}.gan-tile summary{cursor:pointer;gap:var(--sp-1);min-height:var(--target-min);flex-direction:column;display:flex}.gan-tile summary:after{content:"details";font-size:var(--fs-label);color:var(--ink-3)}.gan-tile details[open]>summary:after{content:"hide details"}.gan-tile-detail{margin-block:var(--sp-3) 0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);white-space:pre-wrap;overflow-wrap:anywhere}.gan-tile-lab{align-items:flex-start;gap:var(--sp-1);min-block-size:calc(var(--fs-label) * var(--lh-mono) * 2);font-family:var(--font-mono);font-size:var(--fs-label);line-height:var(--lh-mono);text-transform:lowercase;color:var(--ink-3);overflow-wrap:anywhere;display:inline-flex}.gan-tile-lab .lucide{width:var(--ic-sm);height:var(--ic-sm);color:var(--ink-4);flex:none;margin-block-start:calc((var(--fs-label) * var(--lh-mono) - var(--ic-sm)) / 2)}.gan-tile-val{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--ink-strong);font-variant-numeric:tabular-nums;line-height:1}.gan-tile-hint{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-4);text-transform:lowercase;overflow-wrap:anywhere}.gan-grid{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gan-card{gap:var(--sp-3);background:var(--surface);border:var(--bd-strong);padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;min-width:0;display:flex}.gan-card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.gan-card-titles{min-width:0}.gan-card-title{align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--ink-strong);text-transform:lowercase;line-height:var(--lh-body);overflow-wrap:anywhere;margin:0;display:inline-flex}.gan-card-title .lucide{width:var(--ic-sm);height:var(--ic-sm);color:var(--ink-3);flex:none}.gan-card-sub{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-3);text-transform:lowercase;margin-top:var(--sp-1);display:block}.gan-card-figure{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.gan-card-body{min-width:0}.gan-donut{gap:var(--sp-4);grid-template-columns:180px minmax(0,1fr);align-items:center;display:grid}.gan-donut-svg{width:100%;max-width:180px;height:auto;display:block}.gan-slice{cursor:pointer}@media (prefers-reduced-motion:no-preference){.gan-slice{transition:opacity var(--dur-1)}}.gan-slice:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring)}.gan-donut-num{font-family:var(--font-display);fill:var(--ink-strong);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.gan-donut-lab{font-family:var(--font-mono);font-size:var(--fs-label);fill:var(--ink-3);text-transform:lowercase}.gan-donut-empty{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);text-transform:lowercase;padding:var(--sp-5) var(--sp-2);text-align:center}.gan-legend{flex-direction:column;gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.gan-legend-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);cursor:default;grid-template-columns:12px minmax(0,1fr) auto auto;display:grid}@media (prefers-reduced-motion:no-preference){.gan-legend-row{transition:background var(--dur-1)}}.gan-legend-row.is-hot{background:var(--surface-hover)}.gan-legend-sw{border:1px solid color-mix(in srgb, var(--canvas) 30%, transparent);flex:none;width:10px;height:10px}.gan-legend-nm{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-2);text-transform:lowercase;overflow-wrap:anywhere}.gan-legend-v{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.gan-legend-pct{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-4);font-variant-numeric:tabular-nums;text-align:right;min-width:var(--sp-6)}.gan-typical{flex-direction:column;display:flex}.gan-typrow{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:var(--bd);display:flex}.gan-typrow:last-child{border-bottom:0}.gan-typlab{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2);text-transform:lowercase}.gan-typvals{align-items:baseline;gap:var(--sp-2);display:inline-flex}.gan-typmed{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--ink-strong);font-variant-numeric:tabular-nums}.gan-typsep{color:var(--ink-3)}.gan-typp90{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.gan-tablecard{gap:var(--sp-2);background:var(--surface);border:var(--bd-strong);padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;min-width:0;display:flex;overflow:hidden}.gan-tablecard .tbl-wrap{margin-top:var(--sp-2)}.gan-contrib{align-items:center;gap:var(--sp-2);color:var(--ink);display:inline-flex}.gan-table-foot{gap:var(--sp-4);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:var(--bd);flex-wrap:wrap;display:flex}.gan-foot{font-family:var(--font-body);font-size:var(--fs-body);color:var(--ink-3);line-height:var(--lh-body);max-width:var(--measure-prose);border-left:var(--stroke-emphasis) solid var(--rule-strong);padding-left:var(--sp-3)}@media (width<1024px){.gan-kpis{grid-template-columns:repeat(3,1fr)}.gan-grid{grid-template-columns:1fr}}@media (width<768px){.gan-card-head{flex-wrap:wrap}.gan-kpis{grid-template-columns:repeat(2,1fr)}.gan-donut{grid-template-columns:1fr;justify-items:center}.gan-legend{width:100%}.gan-head,.gan-scroll{padding:var(--sp-3) var(--gan-pad-x)}.gan-tablecard{padding:var(--sp-2) var(--sp-3) var(--sp-3)}.gan-tablecard .tbl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}}.gan-root section{max-width:none;margin:0;padding:0}.gan-root .gan-card,.gan-root .gan-tablecard{padding:var(--sp-3) var(--sp-4) var(--sp-4)}@media (width<768px){.gan-root .gan-tablecard{padding:var(--sp-2) var(--sp-3) var(--sp-3)}}