@boost33/ui 0.8.0-next.3 → 0.8.0-next.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +74 -0
- package/README.md +49 -0
- package/dist/buttons.module.css.js +4 -4
- package/dist/components/AppShell/AppShell.d.ts +20 -6
- package/dist/components/AppShell/AppShell.js +52 -50
- package/dist/components/AppShell/AppShell.js.map +1 -1
- package/dist/components/AppShell/AppShell.module.css.js +21 -21
- package/dist/components/AppSwitcher/AppSwitcher.d.ts +6 -0
- package/dist/components/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/components/NavItem/NavItem.d.ts +18 -1
- package/dist/components/NavItem/NavItem.js +17 -13
- package/dist/components/NavItem/NavItem.js.map +1 -1
- package/dist/components/NotificationButton/NotificationButton.d.ts +26 -2
- package/dist/components/NotificationButton/NotificationButton.js +27 -15
- package/dist/components/NotificationButton/NotificationButton.js.map +1 -1
- package/dist/components/NotificationButton/labels.d.ts +19 -2
- package/dist/components/NotificationButton/labels.js +11 -9
- package/dist/components/NotificationButton/labels.js.map +1 -1
- package/dist/components/TopBar/TopBar.module.css.js +8 -8
- package/dist/components/WalletChip/WalletChip.d.ts +6 -0
- package/dist/components/WalletChip/WalletChip.js +125 -104
- package/dist/components/WalletChip/WalletChip.js.map +1 -1
- package/dist/components/WalletChip/WalletChip.module.css.js +81 -81
- package/dist/components/WalletChip/format.d.ts +2 -2
- package/dist/components/WalletChip/format.js +23 -20
- package/dist/components/WalletChip/format.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
const t = "
|
|
1
|
+
const t = "_chip_z1nut_37", n = "_header_z1nut_74", o = "_name_z1nut_83", _ = "_pill_z1nut_162", e = "_figure_z1nut_171", p = "_amount_z1nut_186", u = "_unit_z1nut_195", s = "_retry_z1nut_200", r = "_bar_z1nut_209", c = "_segmentGranted_z1nut_230", a = "_segmentPurchased_z1nut_231", i = "_details_z1nut_275", l = "_split_z1nut_284", d = "_splitRow_z1nut_291", z = "_splitLabel_z1nut_297", g = "_splitAmount_z1nut_305", h = "_dotGranted_z1nut_313", m = "_dotPurchased_z1nut_314", F = "_footer_z1nut_328", b = "_burnNote_z1nut_336", w = "_topUp_z1nut_87", y = "_rail_z1nut_387", A = "_railIcon_z1nut_401", G = "_railFigure_z1nut_407", N = "_srOnly_z1nut_420", P = "_topRoot_z1nut_444", R = "_topTrigger_z1nut_453", U = "_topFigure_z1nut_482", f = "_topAmount_z1nut_489", v = "_topUnit_z1nut_497", B = "_topChevron_z1nut_508", T = "_topBar_z1nut_518", x = "_popBar_z1nut_519", C = "_popover_z1nut_534", H = "_popHead_z1nut_554", I = "_popFigure_z1nut_561", L = "_popAmount_z1nut_569", O = "_popUnit_z1nut_578", W = "_legend_z1nut_592", j = "_legendText_z1nut_601", k = "_legendRow_z1nut_606", q = "_swatchGranted_z1nut_612", D = "_swatchPurchased_z1nut_613", E = "_legendFigure_z1nut_629", J = "_legendNote_z1nut_637", K = "_popFoot_z1nut_644", M = "_popNote_z1nut_652", Q = "_popWarning_z1nut_662", S = "_buy_z1nut_681", V = {
|
|
2
2
|
chip: t,
|
|
3
|
-
header:
|
|
4
|
-
name:
|
|
5
|
-
pill:
|
|
6
|
-
figure:
|
|
7
|
-
amount:
|
|
8
|
-
unit:
|
|
9
|
-
retry:
|
|
10
|
-
bar:
|
|
11
|
-
segmentGranted:
|
|
12
|
-
segmentPurchased:
|
|
13
|
-
details:
|
|
3
|
+
header: n,
|
|
4
|
+
name: o,
|
|
5
|
+
pill: _,
|
|
6
|
+
figure: e,
|
|
7
|
+
amount: p,
|
|
8
|
+
unit: u,
|
|
9
|
+
retry: s,
|
|
10
|
+
bar: r,
|
|
11
|
+
segmentGranted: c,
|
|
12
|
+
segmentPurchased: a,
|
|
13
|
+
details: i,
|
|
14
14
|
split: l,
|
|
15
|
-
splitRow:
|
|
16
|
-
splitLabel:
|
|
17
|
-
splitAmount:
|
|
18
|
-
dotGranted:
|
|
19
|
-
dotPurchased:
|
|
20
|
-
footer:
|
|
21
|
-
burnNote:
|
|
22
|
-
topUp:
|
|
23
|
-
rail:
|
|
24
|
-
railIcon:
|
|
25
|
-
railFigure:
|
|
26
|
-
srOnly:
|
|
27
|
-
topRoot:
|
|
28
|
-
topTrigger:
|
|
29
|
-
topFigure:
|
|
30
|
-
topAmount:
|
|
31
|
-
topUnit:
|
|
32
|
-
topChevron:
|
|
33
|
-
topBar:
|
|
34
|
-
popBar:
|
|
35
|
-
popover:
|
|
36
|
-
popHead:
|
|
37
|
-
popFigure:
|
|
38
|
-
popAmount:
|
|
39
|
-
popUnit:
|
|
40
|
-
legend:
|
|
41
|
-
legendText:
|
|
42
|
-
legendRow:
|
|
43
|
-
swatchGranted:
|
|
15
|
+
splitRow: d,
|
|
16
|
+
splitLabel: z,
|
|
17
|
+
splitAmount: g,
|
|
18
|
+
dotGranted: h,
|
|
19
|
+
dotPurchased: m,
|
|
20
|
+
footer: F,
|
|
21
|
+
burnNote: b,
|
|
22
|
+
topUp: w,
|
|
23
|
+
rail: y,
|
|
24
|
+
railIcon: A,
|
|
25
|
+
railFigure: G,
|
|
26
|
+
srOnly: N,
|
|
27
|
+
topRoot: P,
|
|
28
|
+
topTrigger: R,
|
|
29
|
+
topFigure: U,
|
|
30
|
+
topAmount: f,
|
|
31
|
+
topUnit: v,
|
|
32
|
+
topChevron: B,
|
|
33
|
+
topBar: T,
|
|
34
|
+
popBar: x,
|
|
35
|
+
popover: C,
|
|
36
|
+
popHead: H,
|
|
37
|
+
popFigure: I,
|
|
38
|
+
popAmount: L,
|
|
39
|
+
popUnit: O,
|
|
40
|
+
legend: W,
|
|
41
|
+
legendText: j,
|
|
42
|
+
legendRow: k,
|
|
43
|
+
swatchGranted: q,
|
|
44
44
|
swatchPurchased: D,
|
|
45
45
|
legendFigure: E,
|
|
46
46
|
legendNote: J,
|
|
@@ -50,55 +50,55 @@ const t = "_chip_d975i_37", o = "_header_d975i_74", _ = "_name_d975i_83", e = "_
|
|
|
50
50
|
buy: S
|
|
51
51
|
};
|
|
52
52
|
export {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
p as amount,
|
|
54
|
+
r as bar,
|
|
55
|
+
b as burnNote,
|
|
56
56
|
S as buy,
|
|
57
57
|
t as chip,
|
|
58
58
|
V as default,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
59
|
+
i as details,
|
|
60
|
+
h as dotGranted,
|
|
61
|
+
m as dotPurchased,
|
|
62
|
+
e as figure,
|
|
63
|
+
F as footer,
|
|
64
|
+
n as header,
|
|
65
|
+
W as legend,
|
|
66
66
|
E as legendFigure,
|
|
67
67
|
J as legendNote,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
k as legendRow,
|
|
69
|
+
j as legendText,
|
|
70
|
+
o as name,
|
|
71
|
+
_ as pill,
|
|
72
|
+
L as popAmount,
|
|
73
|
+
x as popBar,
|
|
74
|
+
I as popFigure,
|
|
75
75
|
K as popFoot,
|
|
76
|
-
|
|
76
|
+
H as popHead,
|
|
77
77
|
M as popNote,
|
|
78
|
-
|
|
78
|
+
O as popUnit,
|
|
79
79
|
Q as popWarning,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
80
|
+
C as popover,
|
|
81
|
+
y as rail,
|
|
82
|
+
G as railFigure,
|
|
83
|
+
A as railIcon,
|
|
84
|
+
s as retry,
|
|
85
|
+
c as segmentGranted,
|
|
86
|
+
a as segmentPurchased,
|
|
87
87
|
l as split,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
g as splitAmount,
|
|
89
|
+
z as splitLabel,
|
|
90
|
+
d as splitRow,
|
|
91
|
+
N as srOnly,
|
|
92
|
+
q as swatchGranted,
|
|
93
93
|
D as swatchPurchased,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
94
|
+
f as topAmount,
|
|
95
|
+
T as topBar,
|
|
96
|
+
B as topChevron,
|
|
97
|
+
U as topFigure,
|
|
98
|
+
P as topRoot,
|
|
99
|
+
R as topTrigger,
|
|
100
|
+
v as topUnit,
|
|
101
|
+
w as topUp,
|
|
102
|
+
u as unit
|
|
103
103
|
};
|
|
104
104
|
//# sourceMappingURL=WalletChip.module.css.js.map
|
|
@@ -15,8 +15,8 @@ export declare const DEFAULT_WALLET_LOCALE = "en-US";
|
|
|
15
15
|
export declare function formatTokens(value: number, locale?: string): string;
|
|
16
16
|
/**
|
|
17
17
|
* A burned share as a whole percentage in the locale's own form: 0.87 ->
|
|
18
|
-
* `"87%"` in `en-US`, `"87 %"` in `fr-FR` (with
|
|
19
|
-
*
|
|
18
|
+
* `"87%"` in `en-US`, `"87 %"` in `fr-FR` (with a no-break space; see
|
|
19
|
+
* `visibleSpaces`). Used by the top-bar chip's threshold line.
|
|
20
20
|
*/
|
|
21
21
|
export declare function formatPercent(fraction: number, locale?: string): string;
|
|
22
22
|
/**
|
|
@@ -1,34 +1,37 @@
|
|
|
1
|
-
const
|
|
1
|
+
const e = "en-US", m = {
|
|
2
2
|
grouped: {},
|
|
3
3
|
oneDecimal: { minimumFractionDigits: 1, maximumFractionDigits: 1 },
|
|
4
4
|
percent: { style: "percent", maximumFractionDigits: 0 }
|
|
5
|
-
},
|
|
5
|
+
}, s = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Set();
|
|
6
6
|
function o(t, n) {
|
|
7
|
-
const
|
|
8
|
-
if (
|
|
9
|
-
let
|
|
7
|
+
const i = `${n}|${t}`, c = s.get(i);
|
|
8
|
+
if (c) return c;
|
|
9
|
+
let r;
|
|
10
10
|
try {
|
|
11
|
-
|
|
11
|
+
r = new Intl.NumberFormat(t, m[n]);
|
|
12
12
|
} catch {
|
|
13
|
-
|
|
14
|
-
`@boost33/ui: WalletChip cannot format numbers in locale ${JSON.stringify(t)}; falling back to ${
|
|
15
|
-
)),
|
|
13
|
+
u.has(t) || (u.add(t), console.warn(
|
|
14
|
+
`@boost33/ui: WalletChip cannot format numbers in locale ${JSON.stringify(t)}; falling back to ${e}.`
|
|
15
|
+
)), r = new Intl.NumberFormat(e, m[n]);
|
|
16
16
|
}
|
|
17
|
-
return
|
|
17
|
+
return s.set(i, r), r;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
return o(n, "grouped").format(t);
|
|
19
|
+
function f(t, n = e) {
|
|
20
|
+
return a(o(n, "grouped").format(t));
|
|
21
21
|
}
|
|
22
|
-
function
|
|
23
|
-
return
|
|
22
|
+
function a(t) {
|
|
23
|
+
return t.replace(/\u202f/g, " ");
|
|
24
24
|
}
|
|
25
|
-
function g(t, n =
|
|
26
|
-
return o(n, "
|
|
25
|
+
function g(t, n = e) {
|
|
26
|
+
return a(o(n, "percent").format(t));
|
|
27
|
+
}
|
|
28
|
+
function p(t, n = e) {
|
|
29
|
+
return a(o(n, "oneDecimal").format(t / 1e3));
|
|
27
30
|
}
|
|
28
31
|
export {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
e as DEFAULT_WALLET_LOCALE,
|
|
33
|
+
g as formatPercent,
|
|
34
|
+
f as formatTokens,
|
|
35
|
+
p as thousandsFigure
|
|
33
36
|
};
|
|
34
37
|
//# sourceMappingURL=format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sources":["../../../src/components/WalletChip/format.ts"],"sourcesContent":["// The two numbers the chip says out loud. Kept separate from the component so\n// the rounding and the separator -- the parts that carry meaning rather than\n// look -- are unit-tested without a render.\n//\n// ---------------------------------------------------------------------------\n// B33-876: why a `locale` string, and not consumer-supplied formatters\n// ---------------------------------------------------------------------------\n//\n// This module used to hardcode `toLocaleString('en-US')` and a literal `k`. The\n// first two consumers are French-default, and French writes `4 600` where this\n// wrote `4,600`, and `4,6 k` where this wrote `4.6k` -- in the largest glyphs on\n// the chip, and inside the `bar` and `railBalance` accessible names. `labels`\n// could not reach any of it: the label functions receive the figures *already\n// formatted*, by documented intent, so a consumer had `\"4,600 jetons\"` and no\n// hook.\n//\n// The ticket named two candidate shapes and picked neither: a `locale` prop, or\n// `formatTokens` / `abbreviateThousands` supplied by the consumer. The shape\n// chosen is **a `locale` prop** -- one BCP-47 language tag, defaulting to\n// `en-US`, driving `Intl.NumberFormat`. Written down here, prominently, because\n// it is a published API decision reaching four products on a version bump and\n// reversing it later should be cheap.\n//\n// 1. **A formatter prop is a function, and a function cannot cross the React\n// Server Component boundary.** B33-880 had just finished taking the functions\n// *out* of `labels` for exactly this reason: `AppShell.wallet` is a\n// `ReactNode` slot, so it is the consumer's own page -- under the App Router,\n// a Server Component by default -- that constructs `<WalletChip …/>`, and\n// React's Flight serializer throws on any function anywhere in the prop\n// graph, in production as well as in development. An API of injected\n// formatters would reintroduce that bug the same week it was fixed, and\n// reintroduce it as the *recommended* path. A language tag is a string: data\n// all the way down, and it survives the boundary intact.\n//\n// 2. **Numbers are not words.** `labels` takes whole sentences because word\n// order is not a property of English and cannot be reassembled from\n// fragments -- that is a fact about a consumer's sentence, which no library\n// can know. Grouping and the decimal separator are the opposite: they are\n// CLDR facts about a locale, the platform ships them for every locale, and\n// asking four products to each re-implement French grouping is asking four\n// products to each get it slightly wrong. So \"the `labels` prop is already\n// the injected shape, be consistent\" reverses once you read *why* `labels`\n// took that shape.\n//\n// 3. **It is one string with a default**, and a consumer that passes nothing\n// renders character-for-character what the chip rendered before the prop\n// existed. The five `walletchip-*` baselines cannot move.\n//\n// What `locale` deliberately does not own is the `k`. See `thousandsFigure`.\n\n/**\n * The language tag the chip formats in when the consumer names none. Today's\n * rendering, so the default path is byte-identical to the one the fidelity\n * baselines were captured from.\n */\nexport const DEFAULT_WALLET_LOCALE = 'en-US'\n\n/**\n * The two shapes a figure is asked for: the full balance, grouped; and one\n * decimal of a thousand for the rail.\n */\ntype FormatterKind = 'grouped' | 'oneDecimal' | 'percent'\n\nconst FORMATTER_OPTIONS: Record<FormatterKind, Intl.NumberFormatOptions> = {\n grouped: {},\n oneDecimal: { minimumFractionDigits: 1, maximumFractionDigits: 1 },\n percent: { style: 'percent', maximumFractionDigits: 0 },\n}\n\n/**\n * `Intl.NumberFormat` instances, keyed by kind and tag.\n *\n * Constructing one is not free and the chip formats up to four figures per\n * render, on a component that sits in the sidebar of every screen. The set of\n * locales an app uses is small and long-lived, so a plain module-level Map is\n * the whole of the caching this needs.\n */\nconst formatters = new Map<string, Intl.NumberFormat>()\n\n/**\n * The tags already warned about, so a bad one warns once rather than on every\n * render of every chip.\n */\nconst warnedLocales = new Set<string>()\n\n/**\n * An `Intl.NumberFormat` for this tag, falling back to English if the tag is\n * malformed.\n *\n * `Intl.NumberFormat` throws a `RangeError` on a structurally invalid language\n * tag (`'en_US'`, `'français'`), and this chip sits in the sidebar of four\n * products: one consumer's typo in a config file would take the whole shell down\n * rather than mis-space a number. A tag the platform refuses degrades to the\n * English default and warns the developer -- the same instinct as B33-873, where\n * a missing translation key falls back to English instead of blanking the\n * header. The warning is `console`-only: developer-facing, never rendered, never\n * translated.\n *\n * An unknown-but-well-formed tag (`'zz-ZZ'`) does not throw; the platform\n * resolves it to its own best match, which is its business and not this\n * package's.\n */\nfunction formatterFor(locale: string, kind: FormatterKind): Intl.NumberFormat {\n const key = `${kind}|${locale}`\n const cached = formatters.get(key)\n if (cached) return cached\n\n let formatter: Intl.NumberFormat\n try {\n formatter = new Intl.NumberFormat(locale, FORMATTER_OPTIONS[kind])\n } catch {\n if (!warnedLocales.has(locale)) {\n warnedLocales.add(locale)\n console.warn(\n `@boost33/ui: WalletChip cannot format numbers in locale ${JSON.stringify(locale)}; falling back to ${DEFAULT_WALLET_LOCALE}.`,\n )\n }\n formatter = new Intl.NumberFormat(DEFAULT_WALLET_LOCALE, FORMATTER_OPTIONS[kind])\n }\n formatters.set(key, formatter)\n return formatter\n}\n\n/**\n * The full balance, thousands grouped the way the locale groups them:\n * 4600 -> `\"4,600\"` in `en-US`, `\"4 600\"` in `fr-FR`, `\"4.600\"` in `de-DE`.\n *\n * The `en-US` default is what `toLocaleString('en-US')` produced, character for\n * character -- it is the same CLDR data reached through the constructor that can\n * be cached.\n */\nexport function formatTokens(value: number, locale: string = DEFAULT_WALLET_LOCALE): string {\n return formatterFor(locale, 'grouped').format(value)\n}\n\n/**\n * A burned share as a whole percentage in the locale's own form: 0.87 ->\n * `\"87%\"` in `en-US`, `\"87 %\"` in `fr-FR` (with the narrow no-break space CLDR\n * puts there). Used by the top-bar chip's threshold line.\n */\nexport function formatPercent(fraction: number, locale: string = DEFAULT_WALLET_LOCALE): string {\n return formatterFor(locale, 'percent').format(fraction)\n}\n\n/**\n * The rail's short form: one decimal thousand, always. At 56px there is no room\n * for four digits and a separator, and \"4.6k\" still answers \"am I fine?\".\n *\n * Returns **the figure alone** -- `\"4.6\"` in `en-US`, `\"4,6\"` in `fr-FR`. The\n * mark that follows it is a word rather than a number (\"k\" in English, \"Tsd.\" in\n * German, \"ألف\" in Arabic), and French puts a space in front of it where English\n * does not, so it lives with the chip's other words, as `labels.railFigure`\n * (B33-876).\n *\n * Not `Intl.NumberFormat`'s own `notation: 'compact'`, for two concrete reasons.\n * It renders `en-US` as `\"4.6K\"`, a capital the baselines do not have. And\n * German does not abbreviate four digits at all, so it renders `\"4600,0\"` -- six\n * characters and a decimal, in a 56px rail, longer than the number it was\n * supposed to shorten. One decimal thousand is this package's decision about a\n * fixed-width rail, not CLDR's about a locale; the separator inside it is CLDR's,\n * and that is the part `locale` fixes.\n *\n * Two default-path differences from the `(value / 1000).toFixed(1)` this\n * replaced, both narrower than any state the baselines hold and both left\n * deliberately, but written down because they reach four products (B33-876):\n *\n * - **A balance landing on an exact half rounds the other way.** `toFixed`\n * rounds the double's exact binary expansion, so 150 tokens printed `0.1`;\n * `Intl` rounds the shortest decimal the double stands for, so it prints\n * `0.2`. `Intl` agrees with the reader here, and the old answer was a float\n * artefact rather than a decision.\n * - **A balance over a million is grouped.** `toFixed` gave `1234.6`, this\n * gives `1,234.6`. Neither fits a 56px rail; that is a rail question, not a\n * formatting one.\n */\nexport function thousandsFigure(value: number, locale: string = DEFAULT_WALLET_LOCALE): string {\n return formatterFor(locale, 'oneDecimal').format(value / 1000)\n}\n"],"names":["DEFAULT_WALLET_LOCALE","FORMATTER_OPTIONS","formatters","warnedLocales","formatterFor","locale","kind","key","cached","formatter","formatTokens","value","formatPercent","fraction","thousandsFigure"],"mappings":"AAuDO,MAAMA,IAAwB,SAQ/BC,IAAqE;AAAA,EACzE,SAAS,CAAA;AAAA,EACT,YAAY,EAAE,uBAAuB,GAAG,uBAAuB,EAAA;AAAA,EAC/D,SAAS,EAAE,OAAO,WAAW,uBAAuB,EAAA;AACtD,GAUMC,wBAAiB,IAAA,GAMjBC,wBAAoB,IAAA;AAmB1B,SAASC,EAAaC,GAAgBC,GAAwC;AAC5E,QAAMC,IAAM,GAAGD,CAAI,IAAID,CAAM,IACvBG,IAASN,EAAW,IAAIK,CAAG;AACjC,MAAIC,EAAQ,QAAOA;AAEnB,MAAIC;AACJ,MAAI;AACF,IAAAA,IAAY,IAAI,KAAK,aAAaJ,GAAQJ,EAAkBK,CAAI,CAAC;AAAA,EACnE,QAAQ;AACN,IAAKH,EAAc,IAAIE,CAAM,MAC3BF,EAAc,IAAIE,CAAM,GACxB,QAAQ;AAAA,MACN,2DAA2D,KAAK,UAAUA,CAAM,CAAC,qBAAqBL,CAAqB;AAAA,IAAA,IAG/HS,IAAY,IAAI,KAAK,aAAaT,GAAuBC,EAAkBK,CAAI,CAAC;AAAA,EAClF;AACA,SAAAJ,EAAW,IAAIK,GAAKE,CAAS,GACtBA;AACT;AAUO,SAASC,EAAaC,GAAeN,IAAiBL,GAA+B;AAC1F,SAAOI,EAAaC,GAAQ,SAAS,EAAE,OAAOM,CAAK;AACrD;AAOO,SAASC,EAAcC,GAAkBR,IAAiBL,GAA+B;AAC9F,SAAOI,EAAaC,GAAQ,SAAS,EAAE,OAAOQ,CAAQ;AACxD;AAiCO,SAASC,EAAgBH,GAAeN,IAAiBL,GAA+B;AAC7F,SAAOI,EAAaC,GAAQ,YAAY,EAAE,OAAOM,IAAQ,GAAI;AAC/D;"}
|
|
1
|
+
{"version":3,"file":"format.js","sources":["../../../src/components/WalletChip/format.ts"],"sourcesContent":["// The two numbers the chip says out loud. Kept separate from the component so\n// the rounding and the separator -- the parts that carry meaning rather than\n// look -- are unit-tested without a render.\n//\n// ---------------------------------------------------------------------------\n// B33-876: why a `locale` string, and not consumer-supplied formatters\n// ---------------------------------------------------------------------------\n//\n// This module used to hardcode `toLocaleString('en-US')` and a literal `k`. The\n// first two consumers are French-default, and French writes `4 600` where this\n// wrote `4,600`, and `4,6 k` where this wrote `4.6k` -- in the largest glyphs on\n// the chip, and inside the `bar` and `railBalance` accessible names. `labels`\n// could not reach any of it: the label functions receive the figures *already\n// formatted*, by documented intent, so a consumer had `\"4,600 jetons\"` and no\n// hook.\n//\n// The ticket named two candidate shapes and picked neither: a `locale` prop, or\n// `formatTokens` / `abbreviateThousands` supplied by the consumer. The shape\n// chosen is **a `locale` prop** -- one BCP-47 language tag, defaulting to\n// `en-US`, driving `Intl.NumberFormat`. Written down here, prominently, because\n// it is a published API decision reaching four products on a version bump and\n// reversing it later should be cheap.\n//\n// 1. **A formatter prop is a function, and a function cannot cross the React\n// Server Component boundary.** B33-880 had just finished taking the functions\n// *out* of `labels` for exactly this reason: `AppShell.wallet` is a\n// `ReactNode` slot, so it is the consumer's own page -- under the App Router,\n// a Server Component by default -- that constructs `<WalletChip …/>`, and\n// React's Flight serializer throws on any function anywhere in the prop\n// graph, in production as well as in development. An API of injected\n// formatters would reintroduce that bug the same week it was fixed, and\n// reintroduce it as the *recommended* path. A language tag is a string: data\n// all the way down, and it survives the boundary intact.\n//\n// 2. **Numbers are not words.** `labels` takes whole sentences because word\n// order is not a property of English and cannot be reassembled from\n// fragments -- that is a fact about a consumer's sentence, which no library\n// can know. Grouping and the decimal separator are the opposite: they are\n// CLDR facts about a locale, the platform ships them for every locale, and\n// asking four products to each re-implement French grouping is asking four\n// products to each get it slightly wrong. So \"the `labels` prop is already\n// the injected shape, be consistent\" reverses once you read *why* `labels`\n// took that shape.\n//\n// 3. **It is one string with a default**, and a consumer that passes nothing\n// renders character-for-character what the chip rendered before the prop\n// existed. The five `walletchip-*` baselines cannot move.\n//\n// What `locale` deliberately does not own is the `k`. See `thousandsFigure`.\n\n/**\n * The language tag the chip formats in when the consumer names none. Today's\n * rendering, so the default path is byte-identical to the one the fidelity\n * baselines were captured from.\n */\nexport const DEFAULT_WALLET_LOCALE = 'en-US'\n\n/**\n * The two shapes a figure is asked for: the full balance, grouped; and one\n * decimal of a thousand for the rail.\n */\ntype FormatterKind = 'grouped' | 'oneDecimal' | 'percent'\n\nconst FORMATTER_OPTIONS: Record<FormatterKind, Intl.NumberFormatOptions> = {\n grouped: {},\n oneDecimal: { minimumFractionDigits: 1, maximumFractionDigits: 1 },\n percent: { style: 'percent', maximumFractionDigits: 0 },\n}\n\n/**\n * `Intl.NumberFormat` instances, keyed by kind and tag.\n *\n * Constructing one is not free and the chip formats up to four figures per\n * render, on a component that sits in the sidebar of every screen. The set of\n * locales an app uses is small and long-lived, so a plain module-level Map is\n * the whole of the caching this needs.\n */\nconst formatters = new Map<string, Intl.NumberFormat>()\n\n/**\n * The tags already warned about, so a bad one warns once rather than on every\n * render of every chip.\n */\nconst warnedLocales = new Set<string>()\n\n/**\n * An `Intl.NumberFormat` for this tag, falling back to English if the tag is\n * malformed.\n *\n * `Intl.NumberFormat` throws a `RangeError` on a structurally invalid language\n * tag (`'en_US'`, `'français'`), and this chip sits in the sidebar of four\n * products: one consumer's typo in a config file would take the whole shell down\n * rather than mis-space a number. A tag the platform refuses degrades to the\n * English default and warns the developer -- the same instinct as B33-873, where\n * a missing translation key falls back to English instead of blanking the\n * header. The warning is `console`-only: developer-facing, never rendered, never\n * translated.\n *\n * An unknown-but-well-formed tag (`'zz-ZZ'`) does not throw; the platform\n * resolves it to its own best match, which is its business and not this\n * package's.\n */\nfunction formatterFor(locale: string, kind: FormatterKind): Intl.NumberFormat {\n const key = `${kind}|${locale}`\n const cached = formatters.get(key)\n if (cached) return cached\n\n let formatter: Intl.NumberFormat\n try {\n formatter = new Intl.NumberFormat(locale, FORMATTER_OPTIONS[kind])\n } catch {\n if (!warnedLocales.has(locale)) {\n warnedLocales.add(locale)\n console.warn(\n `@boost33/ui: WalletChip cannot format numbers in locale ${JSON.stringify(locale)}; falling back to ${DEFAULT_WALLET_LOCALE}.`,\n )\n }\n formatter = new Intl.NumberFormat(DEFAULT_WALLET_LOCALE, FORMATTER_OPTIONS[kind])\n }\n formatters.set(key, formatter)\n return formatter\n}\n\n/**\n * The full balance, thousands grouped the way the locale groups them:\n * 4600 -> `\"4,600\"` in `en-US`, `\"4 600\"` in `fr-FR`, `\"4.600\"` in `de-DE`.\n *\n * The `en-US` default is what `toLocaleString('en-US')` produced, character for\n * character -- it is the same CLDR data reached through the constructor that can\n * be cached.\n */\nexport function formatTokens(value: number, locale: string = DEFAULT_WALLET_LOCALE): string {\n return visibleSpaces(formatterFor(locale, 'grouped').format(value))\n}\n\n/**\n * CLDR's narrow no-break space (U+202F), swapped for an ordinary no-break space\n * (U+00A0) everywhere this module returns a figure (0.8.0-next.5).\n *\n * French and several other locales group thousands with U+202F, and in the\n * kit's own faces that glyph is all but invisible: measured in Chromium, 4.1px\n * in Outfit at the popover's 40px headline and 1.9px in Inter at 14px, so a\n * French popover read \"1500\" while its chip, in Geist Mono, read \"1 500\"\n * (Brokers). U+00A0 is about a quarter of an em in every face, so the gap shows,\n * and it still never wraps a number across lines. It is the separator French\n * interfaces commonly use, and the one older ICU builds returned here. A\n * locale whose output has no U+202F (en-US among them) is untouched, so no\n * baseline moves.\n */\nfunction visibleSpaces(formatted: string): string {\n return formatted.replace(/\\u202f/g, '\\u00a0')\n}\n\n/**\n * A burned share as a whole percentage in the locale's own form: 0.87 ->\n * `\"87%\"` in `en-US`, `\"87 %\"` in `fr-FR` (with a no-break space; see\n * `visibleSpaces`). Used by the top-bar chip's threshold line.\n */\nexport function formatPercent(fraction: number, locale: string = DEFAULT_WALLET_LOCALE): string {\n return visibleSpaces(formatterFor(locale, 'percent').format(fraction))\n}\n\n/**\n * The rail's short form: one decimal thousand, always. At 56px there is no room\n * for four digits and a separator, and \"4.6k\" still answers \"am I fine?\".\n *\n * Returns **the figure alone** -- `\"4.6\"` in `en-US`, `\"4,6\"` in `fr-FR`. The\n * mark that follows it is a word rather than a number (\"k\" in English, \"Tsd.\" in\n * German, \"ألف\" in Arabic), and French puts a space in front of it where English\n * does not, so it lives with the chip's other words, as `labels.railFigure`\n * (B33-876).\n *\n * Not `Intl.NumberFormat`'s own `notation: 'compact'`, for two concrete reasons.\n * It renders `en-US` as `\"4.6K\"`, a capital the baselines do not have. And\n * German does not abbreviate four digits at all, so it renders `\"4600,0\"` -- six\n * characters and a decimal, in a 56px rail, longer than the number it was\n * supposed to shorten. One decimal thousand is this package's decision about a\n * fixed-width rail, not CLDR's about a locale; the separator inside it is CLDR's,\n * and that is the part `locale` fixes.\n *\n * Two default-path differences from the `(value / 1000).toFixed(1)` this\n * replaced, both narrower than any state the baselines hold and both left\n * deliberately, but written down because they reach four products (B33-876):\n *\n * - **A balance landing on an exact half rounds the other way.** `toFixed`\n * rounds the double's exact binary expansion, so 150 tokens printed `0.1`;\n * `Intl` rounds the shortest decimal the double stands for, so it prints\n * `0.2`. `Intl` agrees with the reader here, and the old answer was a float\n * artefact rather than a decision.\n * - **A balance over a million is grouped.** `toFixed` gave `1234.6`, this\n * gives `1,234.6`. Neither fits a 56px rail; that is a rail question, not a\n * formatting one.\n */\nexport function thousandsFigure(value: number, locale: string = DEFAULT_WALLET_LOCALE): string {\n return visibleSpaces(formatterFor(locale, 'oneDecimal').format(value / 1000))\n}\n"],"names":["DEFAULT_WALLET_LOCALE","FORMATTER_OPTIONS","formatters","warnedLocales","formatterFor","locale","kind","key","cached","formatter","formatTokens","value","visibleSpaces","formatted","formatPercent","fraction","thousandsFigure"],"mappings":"AAuDO,MAAMA,IAAwB,SAQ/BC,IAAqE;AAAA,EACzE,SAAS,CAAA;AAAA,EACT,YAAY,EAAE,uBAAuB,GAAG,uBAAuB,EAAA;AAAA,EAC/D,SAAS,EAAE,OAAO,WAAW,uBAAuB,EAAA;AACtD,GAUMC,wBAAiB,IAAA,GAMjBC,wBAAoB,IAAA;AAmB1B,SAASC,EAAaC,GAAgBC,GAAwC;AAC5E,QAAMC,IAAM,GAAGD,CAAI,IAAID,CAAM,IACvBG,IAASN,EAAW,IAAIK,CAAG;AACjC,MAAIC,EAAQ,QAAOA;AAEnB,MAAIC;AACJ,MAAI;AACF,IAAAA,IAAY,IAAI,KAAK,aAAaJ,GAAQJ,EAAkBK,CAAI,CAAC;AAAA,EACnE,QAAQ;AACN,IAAKH,EAAc,IAAIE,CAAM,MAC3BF,EAAc,IAAIE,CAAM,GACxB,QAAQ;AAAA,MACN,2DAA2D,KAAK,UAAUA,CAAM,CAAC,qBAAqBL,CAAqB;AAAA,IAAA,IAG/HS,IAAY,IAAI,KAAK,aAAaT,GAAuBC,EAAkBK,CAAI,CAAC;AAAA,EAClF;AACA,SAAAJ,EAAW,IAAIK,GAAKE,CAAS,GACtBA;AACT;AAUO,SAASC,EAAaC,GAAeN,IAAiBL,GAA+B;AAC1F,SAAOY,EAAcR,EAAaC,GAAQ,SAAS,EAAE,OAAOM,CAAK,CAAC;AACpE;AAgBA,SAASC,EAAcC,GAA2B;AAChD,SAAOA,EAAU,QAAQ,WAAW,GAAQ;AAC9C;AAOO,SAASC,EAAcC,GAAkBV,IAAiBL,GAA+B;AAC9F,SAAOY,EAAcR,EAAaC,GAAQ,SAAS,EAAE,OAAOU,CAAQ,CAAC;AACvE;AAiCO,SAASC,EAAgBL,GAAeN,IAAiBL,GAA+B;AAC7F,SAAOY,EAAcR,EAAaC,GAAQ,YAAY,EAAE,OAAOM,IAAQ,GAAI,CAAC;AAC9E;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export type { Boost33MarkProps } from './components/Boost33Mark/Boost33Mark';
|
|
|
9
9
|
export { ProductMark, hasProductMark } from './components/ProductMark/ProductMark';
|
|
10
10
|
export type { ProductMarkProps } from './components/ProductMark/ProductMark';
|
|
11
11
|
export { NavItem } from './components/NavItem/NavItem';
|
|
12
|
-
export type { NavItemProps } from './components/NavItem/NavItem';
|
|
12
|
+
export type { NavItemAttrs, NavItemProps } from './components/NavItem/NavItem';
|
|
13
13
|
export { WalletChip } from './components/WalletChip/WalletChip';
|
|
14
14
|
export type { WalletChipProps, WalletChipKnownProps, WalletChipUnknownProps, WalletChipTotalOnlyProps } from './components/WalletChip/WalletChip';
|
|
15
15
|
export { defaultWalletChipLabels } from './components/WalletChip/labels';
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.btn-primary,.btn-quiet,.btn-danger{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.btn-primary{border:none;background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-quiet{background:transparent;color:var(--color-foreground-secondary)}.btn-quiet:hover:not(:disabled){background:var(--color-surface-muted)}.btn-danger{border:1px solid var(--color-danger);background:var(--color-danger);color:var(--color-neutral-0)}.btn-danger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-danger) 85%,var(--color-neutral-950));background:color-mix(in srgb,var(--color-danger) 85%,var(--color-neutral-950))}.btn-primary:disabled,.btn-quiet:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed}.spinner{box-sizing:border-box;width:var(--spacing-4_5);height:var(--spacing-4_5);border:2px solid var(--color-neutral-0);border-right-color:transparent;border-radius:var(--radius-full);animation:boost33-spin var(--dur-spin) linear infinite}.spinner--sm{width:var(--spacing-3_5);height:var(--spacing-3_5)}.spinner--primary{border-color:var(--color-primary);border-right-color:transparent}@keyframes boost33-spin{to{transform:rotate(360deg)}}.sk{display:block;border-radius:var(--radius-md);background:var(--color-surface-muted);animation:boost33-pulse var(--dur-pulse) ease-in-out infinite}.sk-group{animation:boost33-appear var(--dur-base) var(--ease-out) var(--dur-fast) both}.reveal{animation:boost33-appear var(--dur-base) var(--ease-out) both}@keyframes boost33-pulse{50%{opacity:.55}}@keyframes boost33-appear{0%{opacity:0}}@media(prefers-reduced-motion:no-preference){.btn-primary:active:not(:disabled),.btn-quiet:active:not(:disabled),.btn-danger:active:not(:disabled){transform:scale(.98)}}@media(prefers-reduced-motion:reduce){.sk,.sk-group,.reveal,.spinner{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}._sidebar_197wz_7{display:flex;flex-direction:column;box-sizing:border-box;width:var(--container-sidebar);height:100%;padding:var(--spacing-4) var(--spacing-3);border-right:1px solid var(--color-border);background:var(--color-background);font-family:var(--font-sans)}._sidebar_197wz_7[data-collapsed=true]{width:var(--container-sidebar-rail)}._sidebar_197wz_7>nav{flex-shrink:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:calc(-1 * var(--spacing-1));padding:var(--spacing-1);scroll-padding:var(--spacing-1)}@media(prefers-reduced-motion:reduce){._sidebar_197wz_7>nav{scroll-behavior:auto}}._section_wg5c6_5{display:flex;flex-direction:column}._header_wg5c6_13{margin:0;padding:var(--spacing-2) var(--spacing-2_5);color:var(--color-foreground-muted);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase}._wordmark_ccf4z_4{display:flex;align-items:center;gap:var(--spacing-2_5);font-family:var(--font-display)}a._wordmark_ccf4z_4{border-radius:var(--radius-lg);text-decoration:none}a._wordmark_ccf4z_4:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._mark_ccf4z_32{display:inline-flex;flex:0 0 var(--spacing-6);align-items:center;justify-content:center;width:var(--spacing-6);height:var(--spacing-6)}._mark_ccf4z_32 svg{width:100%;height:100%}._name_ccf4z_50{color:var(--color-foreground);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight)}._wordmark_ccf4z_4[data-collapsed=true] ._name_ccf4z_50{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;white-space:nowrap}._wordmark_ccf4z_4[data-collapsed=true]{justify-content:center}._tile_w89ja_12{fill:var(--color-neutral-950)}._ring_w89ja_16{fill:var(--color-primary)}._mark_w89ja_24{display:block}._link_w89ja_33{display:inline-flex;vertical-align:top;border-radius:var(--radius-lg);text-decoration:none}._link_w89ja_33:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._mark_1jt5g_6{display:block}._ground_1jt5g_17{rx:var(--radius-product-tile)}._row_1vu2t_4{display:flex;align-items:center;width:100%;gap:var(--spacing-2_5);padding:var(--spacing-2) var(--spacing-2_5);border:none;border-radius:var(--radius-lg);background:transparent;font-family:var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._row_1vu2t_4:hover{background:var(--color-surface-muted)}._row_1vu2t_4[data-active=true]{background:var(--color-surface)}._row_1vu2t_4:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._icon_1vu2t_41{display:inline-flex;flex:0 0 var(--spacing-4);align-items:center;justify-content:center;width:var(--spacing-4);height:var(--spacing-4);color:var(--color-foreground-secondary)}._icon_1vu2t_41 svg{width:100%;height:100%}._row_1vu2t_4[data-active=true] ._icon_1vu2t_41{color:var(--color-foreground)}._row_1vu2t_4[data-collapsed=true]{justify-content:center}._label_1vu2t_66{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--color-foreground-secondary);font-size:var(--text-nav-label);font-weight:var(--font-weight-regular);text-overflow:ellipsis;white-space:nowrap}._row_1vu2t_4[data-active=true] ._label_1vu2t_66{color:var(--color-foreground)}._row_1vu2t_4[data-collapsed=true] ._label_1vu2t_66{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;white-space:nowrap}._trailingSlot_1vu2t_106{display:flex;flex:0 0 var(--spacing-5_5);height:var(--spacing-4);align-items:center;justify-content:flex-end;width:var(--spacing-5_5);font-family:var(--font-sans)}._row_1vu2t_4[data-collapsed=true] ._trailingSlot_1vu2t_106{display:none}._count_1vu2t_122{color:var(--color-foreground-muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);line-height:var(--spacing-4)}._countUrgent_1vu2t_134{display:inline-flex;box-sizing:border-box;min-width:var(--spacing-5);height:var(--spacing-4_5);align-items:center;justify-content:center;padding:0 var(--spacing-1_5);border-radius:var(--radius-full);background:var(--color-orange-600);color:var(--color-primary-foreground);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold)}._dot_1vu2t_152{width:var(--spacing-1_75);height:var(--spacing-1_75);border-radius:var(--radius-full);background:var(--color-warning)}._srOnly_1vu2t_151{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){._row_1vu2t_4{transition:none}}._primary_qxhao_26,._outlined_qxhao_27{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;gap:var(--spacing-2);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._primary_qxhao_26{height:var(--spacing-10);padding:0 var(--spacing-4);border:none;background:var(--color-neutral-950);color:var(--color-neutral-0)}._primary_qxhao_26:hover{background:var(--color-neutral-800)}._primary_qxhao_26[data-tone=accent]{background:var(--color-orange-600);color:var(--color-primary-foreground)}._primary_qxhao_26[data-tone=accent]:hover{background:var(--color-orange-700)}._outlined_qxhao_27{height:var(--spacing-8);padding:0 var(--spacing-3);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-foreground)}._outlined_qxhao_27:hover{background:var(--color-surface-muted)}._quiet_qxhao_77{padding:0;border:none;background:transparent;color:var(--color-foreground);font-family:var(--font-sans);font-size:inherit;font-weight:var(--font-weight-medium);line-height:inherit;text-decoration:none;cursor:pointer}._quiet_qxhao_77:hover{text-decoration:underline}._primary_qxhao_26:focus-visible,._outlined_qxhao_27:focus-visible,._quiet_qxhao_77:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._primary_qxhao_26 svg,._outlined_qxhao_27 svg{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0}@media(prefers-reduced-motion:reduce){._primary_qxhao_26,._outlined_qxhao_27{transition:none}}._chip_d975i_37{--chip-lift: 0px;position:relative;box-sizing:border-box;width:100%;padding:calc(var(--spacing-3) + var(--chip-lift));border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:transparent;font-family:var(--font-sans)}._chip_d975i_37:not([data-unknown]):hover,._chip_d975i_37:not([data-unknown]):focus-within,._chip_d975i_37[data-threshold]{--chip-lift: var(--spacing-0_5);box-shadow:var(--shadow-overlay)}._chip_d975i_37:not([data-threshold]):not([data-unknown]):hover,._chip_d975i_37:not([data-threshold]):not([data-unknown]):focus-within{background:var(--color-surface)}._chip_d975i_37:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._header_d975i_74{display:flex;align-items:center;gap:var(--spacing-2)}._chip_d975i_37:not([data-threshold]):not([data-unknown]) ._header_d975i_74{padding-right:var(--spacing-topup-reserve)}._name_d975i_83{min-width:0;overflow:hidden;color:var(--color-foreground-muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap}._pill_d975i_162{padding:var(--spacing-0_5) var(--spacing-2);border-radius:var(--radius-full);background:var(--color-warning-subtle);color:var(--color-warning);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold)}._figure_d975i_171{display:flex;align-items:baseline;gap:var(--spacing-1_5);margin-top:calc(var(--spacing-2_5) + var(--chip-lift))}._amount_d975i_186{color:var(--color-foreground);font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-none)}._unit_d975i_195{color:var(--color-foreground-muted);font-size:var(--text-xs)}._retry_d975i_200{width:var(--spacing-3);height:var(--spacing-3);color:var(--color-foreground-muted)}._bar_d975i_209{display:flex;overflow:hidden;width:100%;height:calc(var(--spacing-1_25) + var(--chip-lift));margin-top:calc(var(--spacing-2_5) + var(--chip-lift));border-radius:var(--radius-full)}._bar_d975i_209[data-tone=rest]{background:var(--color-surface-muted)}._bar_d975i_209[data-tone=threshold]{background:var(--color-warning-subtle)}._bar_d975i_209[data-tone=unknown]{background:var(--color-surface-muted)}._segmentGranted_d975i_230,._segmentPurchased_d975i_231{height:100%;transition:width var(--dur-fast) var(--ease-out)}._segmentGranted_d975i_230{background:var(--color-grant)}._segmentPurchased_d975i_231{background:var(--color-purchased)}._details_d975i_275{display:none}._chip_d975i_37:hover ._details_d975i_275,._chip_d975i_37:focus-within ._details_d975i_275{display:block}._split_d975i_284{display:flex;flex-direction:column;gap:var(--spacing-1);margin:var(--spacing-2_5) 0 0}._splitRow_d975i_291{display:flex;align-items:center;justify-content:space-between}._splitLabel_d975i_297{display:flex;align-items:center;gap:var(--spacing-1_5);color:var(--color-foreground);font-size:var(--text-xs)}._splitAmount_d975i_305{margin:0;color:var(--color-foreground);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}._dotGranted_d975i_313,._dotPurchased_d975i_314{width:var(--spacing-1_5);height:var(--spacing-1_5);border-radius:var(--radius-full)}._dotGranted_d975i_313{background:var(--color-grant)}._dotPurchased_d975i_314{background:var(--color-purchased)}._footer_d975i_328{margin:var(--spacing-3) 0 0;padding-top:var(--spacing-1);border-top:1px solid var(--color-border);color:var(--color-foreground-muted);font-size:var(--text-2xs)}._burnNote_d975i_336{margin:var(--spacing-2_5) 0 0;color:var(--color-foreground-secondary);font-size:var(--text-2xs);line-height:var(--leading-snug)}._topUp_d975i_87:not([data-grown=true]){position:absolute;top:calc(var(--spacing-3) + var(--chip-lift));right:calc(var(--spacing-3) + var(--chip-lift));font-size:var(--text-xs);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}._chip_d975i_37:hover ._topUp_d975i_87,._chip_d975i_37:focus-within ._topUp_d975i_87,._topUp_d975i_87:focus-visible{opacity:1}._topUp_d975i_87[data-grown=true]{width:100%;margin-top:var(--spacing-2_5)}._rail_d975i_387{--chip-lift: 0px;position:relative;display:flex;box-sizing:border-box;width:100%;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);font-family:var(--font-sans)}._railIcon_d975i_401{width:var(--spacing-6);height:var(--spacing-6);color:var(--color-foreground-secondary)}._railFigure_d975i_407{color:var(--color-foreground);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}._rail_d975i_387 ._bar_d975i_209{height:var(--spacing-0_5);margin-top:0}._srOnly_d975i_420{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;white-space:nowrap}@media(prefers-reduced-motion:reduce){._segmentGranted_d975i_230,._segmentPurchased_d975i_231,._topUp_d975i_87{transition:none}}._topRoot_d975i_444{position:relative;font-family:var(--font-sans)}._topTrigger_d975i_453{display:flex;box-sizing:border-box;height:var(--spacing-8);align-items:center;gap:var(--spacing-2_5);padding:0 var(--spacing-3);border:none;border-radius:var(--radius-lg);background:var(--color-surface-muted);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._topTrigger_d975i_453:hover,._topTrigger_d975i_453[aria-expanded=true]{background:var(--color-border)}._topTrigger_d975i_453:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._topFigure_d975i_482{display:flex;align-items:baseline;gap:var(--spacing-1_25);white-space:nowrap}._topAmount_d975i_489{color:var(--color-foreground);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4)}._topUnit_d975i_497{color:var(--color-foreground-muted);font-size:var(--text-2xs);line-height:var(--spacing-3_5)}._topTrigger_d975i_453:hover ._topUnit_d975i_497,._topTrigger_d975i_453[aria-expanded=true] ._topUnit_d975i_497{color:var(--color-foreground-secondary)}._topChevron_d975i_508{width:var(--spacing-3);height:var(--spacing-3);flex-shrink:0;color:var(--color-foreground-muted)}._topBar_d975i_518,._popBar_d975i_519{display:flex;overflow:hidden;flex-shrink:0;border-radius:var(--radius-sm)}._topBar_d975i_518{width:var(--spacing-11);height:var(--spacing-1_5);gap:var(--spacing-0_5)}._popover_d975i_534{position:absolute;z-index:1;top:100%;left:0;display:flex;width:var(--container-token-popover);box-sizing:border-box;flex-direction:column;gap:var(--spacing-4);margin-top:var(--spacing-1_5);padding:var(--spacing-5);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay)}._popHead_d975i_551{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-3)}._popFigure_d975i_558{display:flex;align-items:baseline;gap:var(--spacing-2)}._popAmount_d975i_566{color:var(--color-foreground);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-none)}._popUnit_d975i_575{color:var(--color-foreground-secondary);font-size:var(--text-sm)}._popBar_d975i_519{width:100%;height:var(--spacing-2);gap:var(--spacing-0_75)}._legend_d975i_589{display:flex;flex-direction:column;gap:var(--spacing-3);margin:0;padding:0;list-style:none}._legendText_d975i_598{display:flex;flex-direction:column}._legendRow_d975i_603{display:flex;align-items:flex-start;gap:var(--spacing-2_5)}._swatchGranted_d975i_609,._swatchPurchased_d975i_610{width:var(--spacing-2_25);height:var(--spacing-2_25);flex-shrink:0;margin-top:var(--spacing-1);border-radius:var(--radius-sm)}._swatchGranted_d975i_609{background:var(--color-grant)}._swatchPurchased_d975i_610{background:var(--color-purchased)}._legendFigure_d975i_626{color:var(--color-foreground);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--spacing-4_5)}._legendNote_d975i_634{color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--spacing-4)}._popFoot_d975i_641{display:flex;flex-direction:column;gap:var(--spacing-3);padding-top:var(--spacing-3_5);border-top:1px solid var(--color-border)}._popNote_d975i_649{margin:0;color:var(--color-foreground-secondary);font-size:var(--text-sm);line-height:var(--spacing-4_5)}._popWarning_d975i_659{margin:0;color:var(--color-warning);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--spacing-4_5)}._topBar_d975i_518[data-tone=threshold],._popBar_d975i_519[data-tone=threshold]{background:var(--color-warning-subtle)}._buy_d975i_678{width:100%}@media(prefers-reduced-motion:reduce){._topTrigger_d975i_453{transition:none}}._bar_1t9gi_9{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:center;gap:var(--spacing-5);box-sizing:border-box;height:var(--spacing-12);padding:0 var(--spacing-8);border-bottom:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-sans)}._start_1t9gi_36,._end_1t9gi_37{display:flex;align-items:center}._start_1t9gi_36{grid-column:1;gap:var(--spacing-5)}._end_1t9gi_37{grid-column:3;justify-content:flex-end;gap:var(--spacing-3)}._centre_1t9gi_56{display:flex;grid-column:2;align-items:center;gap:var(--spacing-2)}._label_1t9gi_65{color:var(--color-foreground-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--spacing-4);white-space:nowrap}._label_1t9gi_65[data-after-switcher=true]{padding-left:var(--spacing-8)}@supports (animation-timeline: --a) and (timeline-scope: --a){@container style(--boost33-shell-timeline: on){._bar_1t9gi_9{position:relative;z-index:1;animation:_scrolled_1t9gi_1 linear both;animation-timeline:--boost33-shell-scroll;animation-range:0 var(--spacing-10)}}}@keyframes _scrolled_1t9gi_1{to{box-shadow:var(--shadow-scrolled)}}._button_oj9om_6{display:inline-flex;box-sizing:border-box;width:var(--spacing-8);height:var(--spacing-8);flex-shrink:0;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-lg);background:var(--color-surface-muted);color:var(--color-foreground);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._button_oj9om_6:hover{background:var(--color-border)}._button_oj9om_6:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._bell_oj9om_33{width:var(--spacing-4);height:var(--spacing-4)}._dot_oj9om_42{fill:var(--color-primary)}._button_oj9om_6:hover ._dot_oj9om_42{fill:var(--color-orange-600)}._srOnly_oj9om_41{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){._button_oj9om_6{transition:none}}._header_i17td_42{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-8);padding:var(--spacing-4_5) var(--spacing-8) var(--spacing-4);background:var(--color-surface);font-family:var(--font-sans)}._headings_i17td_52{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-1)}._title_i17td_33{margin:0;color:var(--color-foreground);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}._subtitle_i17td_74{margin:0;color:var(--color-foreground-secondary);font-size:var(--text-base);font-weight:var(--font-weight-regular);line-height:var(--leading-snug)}._actions_i17td_82{display:flex;flex:0 0 auto;align-items:center;gap:var(--spacing-2)}._shell_kt75f_13{display:flex;height:100%;flex-direction:column;background:var(--color-surface);font-family:var(--font-sans)}._body_kt75f_24{display:flex;min-height:0;flex:1}._appName_kt75f_39{flex-shrink:0;margin:0;padding:var(--spacing-1) var(--spacing-2_5) var(--spacing-3_5);overflow:hidden;color:var(--color-foreground-muted);font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--spacing-5);text-overflow:ellipsis;white-space:nowrap}._foot_kt75f_65{display:flex;flex-direction:column;gap:var(--spacing-0_5);margin-block-start:auto;padding-block-start:var(--spacing-4)}._actionSlot_kt75f_79{display:flex;flex-shrink:0;margin-block-start:auto;padding-block-start:var(--spacing-4)}._actionSlot_kt75f_79+._foot_kt75f_65{margin-block-start:var(--spacing-4);padding-block-start:var(--spacing-2_5);border-top:1px solid var(--color-border)}._action_kt75f_79{width:100%}._action_kt75f_79[data-collapsed=true]{width:var(--spacing-10);padding:0}._srOnly_kt75f_103{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}._nav_kt75f_116{display:flex;flex-direction:column;gap:var(--spacing-4)}._main_kt75f_125{display:flex;min-width:0;flex:1;flex-direction:column}._content_kt75f_146{flex:1;min-height:0;overflow-y:auto;background:var(--color-surface)}@supports (animation-timeline: --a) and (timeline-scope: --a){._shell_kt75f_13{timeline-scope:--boost33-shell-scroll;--boost33-shell-timeline: on}._content_kt75f_146{scroll-timeline:--boost33-shell-scroll block}}._phoneChrome_kt75f_203{display:none}@media not (min-width:48rem){._shell_kt75f_13[data-chrome-from=md]>:not(._body_kt75f_24,._phoneChrome_kt75f_203),._shell_kt75f_13[data-chrome-from=md] ._body_kt75f_24>:not(._main_kt75f_125){display:none}._shell_kt75f_13[data-chrome-from=md]{height:auto;min-height:100%}._shell_kt75f_13[data-chrome-from=md]>._phoneChrome_kt75f_203{display:contents}._shell_kt75f_13[data-chrome-from=md] ._content_kt75f_146{overflow-y:visible}}@media not (min-width:64rem){._shell_kt75f_13[data-chrome-from=lg]>:not(._body_kt75f_24,._phoneChrome_kt75f_203),._shell_kt75f_13[data-chrome-from=lg] ._body_kt75f_24>:not(._main_kt75f_125){display:none}._shell_kt75f_13[data-chrome-from=lg]{height:auto;min-height:100%}._shell_kt75f_13[data-chrome-from=lg]>._phoneChrome_kt75f_203{display:contents}._shell_kt75f_13[data-chrome-from=lg] ._content_kt75f_146{overflow-y:visible}}@media not (min-width:80rem){._shell_kt75f_13[data-chrome-from=xl]>:not(._body_kt75f_24,._phoneChrome_kt75f_203),._shell_kt75f_13[data-chrome-from=xl] ._body_kt75f_24>:not(._main_kt75f_125){display:none}._shell_kt75f_13[data-chrome-from=xl]{height:auto;min-height:100%}._shell_kt75f_13[data-chrome-from=xl]>._phoneChrome_kt75f_203{display:contents}._shell_kt75f_13[data-chrome-from=xl] ._content_kt75f_146{overflow-y:visible}}._root_18wu0_8{position:relative;font-family:var(--font-sans)}._trigger_18wu0_17{display:flex;box-sizing:border-box;width:100%;align-items:center;gap:var(--spacing-2);height:var(--spacing-8);padding:0 var(--spacing-3);border:none;border-radius:var(--radius-lg);background:var(--color-surface-muted);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._trigger_18wu0_17:hover,._trigger_18wu0_17[aria-expanded=true]{background:var(--color-border)}._trigger_18wu0_17:focus-visible,._railTrigger_18wu0_52:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._triggerName_18wu0_62{overflow:hidden;flex:1;color:var(--color-foreground);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4_5);text-align:left;text-overflow:ellipsis;white-space:nowrap}._chevron_18wu0_79{width:var(--spacing-3);height:var(--spacing-3);flex-shrink:0;color:var(--color-foreground-muted);transition:transform var(--dur-fast) var(--ease-out)}._trigger_18wu0_17[aria-expanded=true] ._chevron_18wu0_79{transform:rotate(180deg)}._railTrigger_18wu0_52{display:flex;box-sizing:border-box;width:100%;min-height:var(--spacing-6);align-items:flex-start;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer}._panel_18wu0_127{position:absolute;z-index:1;top:100%;left:0;display:flex;width:var(--container-app-switcher);box-sizing:border-box;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-1_5);padding:var(--spacing-2);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay)}._hubRow_18wu0_147,._productRow_18wu0_148{display:flex;box-sizing:border-box;width:100%;align-items:center;gap:var(--spacing-3);border:none;font-family:var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._hubRow_18wu0_147{margin-bottom:var(--spacing-1);padding:var(--spacing-2_75) var(--spacing-3);border-radius:var(--radius-xl);background:var(--color-neutral-950);color:var(--color-neutral-0)}._hubRow_18wu0_147:hover{background:var(--color-neutral-800)}._hubRow_18wu0_147 ._rowText_18wu0_179{flex:1;gap:var(--spacing-0_5)}._hubRow_18wu0_147 ._rowName_18wu0_184{color:var(--color-neutral-0);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4_5)}._hubRow_18wu0_147 ._rowSub_18wu0_191{color:var(--color-neutral-400);font-size:var(--text-sm);line-height:var(--spacing-4)}._hubMark_18wu0_197{width:var(--spacing-5);height:var(--spacing-5);flex-shrink:0;color:var(--color-neutral-0)}._hubChevron_18wu0_204{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;color:var(--color-neutral-0)}._productRow_18wu0_148{padding:var(--spacing-2_25) var(--spacing-3);border-radius:var(--radius-lg);background:transparent;color:var(--color-foreground-secondary)}._productRow_18wu0_148:hover,._productRow_18wu0_148[data-current=true]{background:var(--color-surface-muted)}._hubRow_18wu0_147:focus-visible,._productRow_18wu0_148:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._productRow_18wu0_148[data-current=true] ._rowName_18wu0_184{color:var(--color-foreground);font-weight:var(--font-weight-semibold)}._productRow_18wu0_148[data-entitled=false] ._rowName_18wu0_184{color:var(--color-foreground-muted)}._group_18wu0_250{display:flex;flex-direction:column}._groupLabel_18wu0_258{margin:0;padding:var(--spacing-2) var(--spacing-3);color:var(--color-foreground-muted);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);line-height:var(--spacing-3_5);text-transform:uppercase}._products_18wu0_269{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}._rowText_18wu0_179{display:flex;min-width:0;flex-direction:column}._rowName_18wu0_184{overflow:hidden;font-size:var(--text-nav-label);font-weight:var(--font-weight-regular);line-height:var(--spacing-4_5);text-overflow:ellipsis;white-space:nowrap}._productRow_18wu0_148 ._rowName_18wu0_184{flex:1}._rowSub_18wu0_191{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._tag_18wu0_305{flex-shrink:0;padding:var(--spacing-0_5) var(--spacing-1_5);border-radius:var(--radius-full);background:var(--color-surface-muted);color:var(--color-foreground-muted);font-size:var(--text-2xs);font-weight:var(--font-weight-medium)}._trailing_18wu0_317{display:flex;min-width:var(--spacing-5);flex-shrink:0;align-items:center;justify-content:flex-end}._check_18wu0_325{width:var(--spacing-4);height:var(--spacing-4);color:var(--color-foreground)}._trailingValue_18wu0_333{color:var(--color-foreground-muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--spacing-4);white-space:nowrap}._trailingDot_18wu0_343{width:var(--spacing-1_75);height:var(--spacing-1_75);border-radius:var(--radius-full);background:var(--color-primary)}._srOnly_18wu0_342{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}._chevronRight_18wu0_359{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0}@media(prefers-reduced-motion:reduce){._chevron_18wu0_79{transition:none}}._panel_1hhcn_36{display:flex;width:var(--container-notification-panel);box-sizing:border-box;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay);font-family:var(--font-sans)}._header_1hhcn_54{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3_5) var(--spacing-4) var(--spacing-2_5)}._title_1hhcn_62{margin:0;color:var(--color-foreground);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}._header_1hhcn_54 ._markAll_1hhcn_74{font-size:var(--text-xs);line-height:var(--leading-snug)}._tab_1hhcn_79:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._tabs_1hhcn_88{display:flex;align-items:center;gap:var(--spacing-4_5);padding-inline:var(--spacing-4);border-bottom:1px solid var(--color-border)}._tab_1hhcn_79{display:flex;align-items:center;gap:var(--spacing-1_25);padding:var(--spacing-2) 0 var(--spacing-2_5);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-foreground-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-regular);line-height:var(--leading-tight);cursor:pointer}._tab_1hhcn_79[aria-pressed=true]{border-bottom-color:var(--color-foreground);color:var(--color-foreground);font-weight:var(--font-weight-semibold)}._count_1hhcn_123{padding:var(--spacing-0_25) var(--spacing-1_25);border-radius:var(--radius-full);background:var(--color-surface-muted);color:var(--color-foreground-muted);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}._list_1hhcn_133{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}._row_1hhcn_148{display:flex;box-sizing:border-box;width:100%;align-items:flex-start;gap:var(--spacing-2_5);padding:var(--spacing-2_5) var(--spacing-4);color:var(--color-foreground);font-family:var(--font-sans);text-align:left;text-decoration:none}._row_1hhcn_148[href]:hover{background:var(--color-surface-muted)}._row_1hhcn_148[href]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}._sourceMark_1hhcn_179{display:block;flex-shrink:0;margin-top:var(--spacing-0_25);color:var(--color-primary-foreground)}._sourceMarkGround_1hhcn_188{rx:var(--radius-product-tile);fill:var(--color-neutral-950)}._rowText_1hhcn_193{display:flex;min-width:0;flex:1;flex-direction:column;gap:var(--spacing-0_5)}._rowTitle_1hhcn_204{color:var(--color-foreground-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-snug)}._row_1hhcn_148[data-unread=true] ._rowTitle_1hhcn_204{color:var(--color-foreground)}._rowMeta_1hhcn_215{color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--leading-snug)}._unreadSlot_1hhcn_226{display:flex;width:var(--spacing-4);flex-shrink:0;justify-content:center;padding-top:var(--spacing-1)}._dot_1hhcn_235{width:var(--spacing-1_5);height:var(--spacing-1_5);flex-shrink:0;border-radius:var(--radius-full);background:var(--color-primary)}._empty_1hhcn_250{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-2_5);padding:var(--spacing-10) var(--spacing-6) var(--spacing-11)}._emptyGlyph_1hhcn_259{display:block;width:var(--spacing-7);height:var(--spacing-7);flex-shrink:0;color:var(--color-foreground-disabled)}._emptyText_1hhcn_267{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-0_5)}._emptyTitle_1hhcn_274{margin:0;color:var(--color-foreground-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}._emptyBody_1hhcn_282{margin:0;color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--leading-snug);text-align:center}._footer_1hhcn_291{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2_5) var(--spacing-4);border-top:1px solid var(--color-border)}._footer_1hhcn_291 ._viewAll_1hhcn_300{font-size:var(--text-xs);line-height:var(--leading-snug)}._srOnly_1hhcn_307{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}._panel_4usug_54{display:flex;box-sizing:border-box;width:var(--container-account-menu);flex-direction:column;padding:var(--spacing-1_5);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay);font-family:var(--font-sans)}._person_4usug_72{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3_5) var(--spacing-3)}._personAvatar_4usug_85{display:block;width:var(--spacing-9_5);height:var(--spacing-9_5);flex-shrink:0;border-radius:var(--radius-full);background:var(--color-border-strong);object-fit:cover}._personText_4usug_98{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-0_5)}._personName_4usug_106{overflow:hidden;color:var(--color-foreground);font-size:var(--text-nav-label);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}._personEmail_4usug_122{overflow:hidden;color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}._org_4usug_147{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-1);margin-inline:var(--spacing-1_5);padding:var(--spacing-2_25) var(--spacing-3);border-radius:var(--radius-xl);background:var(--color-neutral-50)}._orgIdentity_4usug_161{display:flex;min-width:0;align-items:center;gap:var(--spacing-2_25)}._orgTile_4usug_178{display:grid;width:var(--spacing-5_5);height:var(--spacing-5_5);flex-shrink:0;border-radius:var(--radius-lg);background:var(--color-neutral-950);color:var(--color-primary-foreground);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);place-items:center}._orgName_4usug_194{overflow:hidden;color:var(--color-foreground);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap}._orgRole_4usug_209{flex-shrink:0;padding:var(--spacing-0_5) var(--spacing-2);border-radius:var(--radius-full);background:var(--color-neutral-950);color:var(--color-primary-foreground);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);white-space:nowrap}._divider_4usug_143{margin:var(--spacing-1_5);border:none;border-top:1px solid var(--color-border)}._rows_4usug_242{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}._row_4usug_48{display:flex;box-sizing:border-box;width:100%;align-items:flex-start;gap:var(--spacing-2_5);padding:var(--spacing-2_25) var(--spacing-3);border:none;border-radius:var(--radius-xl);background:transparent;color:var(--color-foreground);font-family:var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._row_4usug_48:hover{background:var(--color-neutral-50)}._row_4usug_48:hover ._rowDescription_4usug_299{color:var(--color-foreground-secondary)}._row_4usug_48:hover ._lane_4usug_303{color:var(--color-foreground)}._row_4usug_48:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}._row_4usug_48[data-single-line=true]{align-items:center}._row_4usug_48[data-single-line=true] ._lane_4usug_303{margin-top:0}._lane_4usug_303{display:block;width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;margin-top:var(--spacing-0_5);color:var(--color-foreground-muted)}._lane_4usug_303 svg{display:block;width:100%;height:100%}._rowText_4usug_347{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-0_5)}._rowLabel_4usug_365{overflow:hidden;color:var(--color-foreground);font-size:var(--text-nav-label);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}._row_4usug_48[data-single-line=true] ._rowLabel_4usug_365{color:var(--color-foreground-secondary);font-weight:var(--font-weight-regular)}._rowDescription_4usug_299{color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--leading-snug)}@media(prefers-reduced-motion:reduce){._row_4usug_48{transition:none}}:root{--shadow-overlay: 0px 16px 40px -10px var(--shadow-overlay-color);--shadow-lift: 0px 10px 24px -14px color-mix(in srgb, var(--color-neutral-950) 28%, transparent);--shadow-scrolled: 0px 6px 16px -12px color-mix(in srgb, var(--color-neutral-950) 35%, transparent)}._panel_1hdli_22{display:flex;overflow:clip;box-sizing:border-box;width:var(--container-command-palette);flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay);font-family:var(--font-sans)}._searchRow_1hdli_38{display:flex;box-sizing:border-box;width:100%;align-items:center;flex-shrink:0;gap:var(--spacing-2_5);padding:var(--spacing-4);border-bottom:1px solid var(--color-border)}._searchGlyph_1hdli_49{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;color:var(--color-foreground-muted)}._input_1hdli_63{min-width:0;flex:1;border:none;background:transparent;color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-weight-medium)}._input_1hdli_63::placeholder{color:var(--color-foreground-muted)}._input_1hdli_63:focus{outline:none}._dismissKey_1hdli_94{flex-shrink:0;padding:var(--spacing-1) var(--spacing-1_5);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-foreground-muted);font-size:var(--text-2xs)}._results_1hdli_109,._group_1hdli_115{display:flex;flex-direction:column;padding-block:var(--spacing-1)}._groupHeading_1hdli_127{margin:0;padding:var(--spacing-3) var(--spacing-4) var(--spacing-1_5);color:var(--color-foreground-muted);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}._row_1hdli_146{display:flex;box-sizing:border-box;height:var(--spacing-10);align-items:center;gap:var(--spacing-2_5);margin-inline:var(--spacing-2);padding-inline:var(--spacing-2);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--text-nav-label);text-align:left;text-decoration:none;cursor:pointer}._row_1hdli_146:hover{background:var(--color-surface-muted)}._row_1hdli_146[aria-selected=true]{background:var(--color-surface-muted);font-weight:var(--font-weight-medium)}._icon_1hdli_184{display:flex;width:var(--spacing-5_5);height:var(--spacing-5_5);flex-shrink:0;align-items:center;justify-content:center;color:var(--color-foreground-muted)}._label_1hdli_197{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}._empty_1hdli_209{margin:0;padding:var(--spacing-5) var(--spacing-4);color:var(--color-foreground-muted);font-size:var(--text-xs)}._footer_1hdli_217{display:flex;box-sizing:border-box;width:100%;align-items:center;flex-shrink:0;padding:var(--spacing-2) var(--spacing-4);border-top:1px solid var(--color-border)}._hints_1hdli_227{color:var(--color-foreground-muted);font-size:var(--text-xs)}._root_g1823_11{--dots-size: var(--spacing-8);--dots-speed: var(--dur-dots);--dots-ease: var(--ease-in-out-quint);--dots-gap: calc(var(--dots-size) * .14);--dots-dot: calc((var(--dots-size) - var(--dots-gap) * 2) / 3);display:inline-flex;align-items:center;justify-content:center}._grid_g1823_25{display:grid;gap:var(--dots-gap);grid-template-columns:repeat(3,var(--dots-dot))}._dot_g1823_31{width:var(--dots-dot);height:var(--dots-dot);border-radius:var(--radius-full);background:currentColor;opacity:1;animation:_dots-pulse_g1823_1 var(--dots-speed) var(--dots-ease) infinite backwards;animation-delay:calc(var(--dots-step, 0) * var(--dots-speed) / 4)}._dot_g1823_31:nth-child(1){--dots-step: 0}._dot_g1823_31:nth-child(2),._dot_g1823_31:nth-child(4){--dots-step: 1}._dot_g1823_31:nth-child(3),._dot_g1823_31:nth-child(5),._dot_g1823_31:nth-child(7){--dots-step: 2}._dot_g1823_31:nth-child(6),._dot_g1823_31:nth-child(8){--dots-step: 3}._dot_g1823_31:nth-child(9){--dots-step: 4}@keyframes _dots-pulse_g1823_1{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){._dot_g1823_31{animation:none}}:root{--dur-instant: 80ms;--dur-fast: .15s;--dur-base: .22s;--dur-slow: .32s;--dur-bold: .7s;--dur-hero: .9s;--dur-spin: .7s;--dur-pulse: 1.6s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--lift-sm: -1px;--lift-md: -2px;--rise: 8px;--stagger: 40ms;--duration-fast: var(--dur-fast);--easing-standard: var(--ease-out);--dur-dots: 1s;--ease-in-out-quint: cubic-bezier(.83, 0, .17, 1)}._root_1pg11_6{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--spacing-4);overflow:hidden;background-color:var(--color-neutral-1000);color:var(--color-neutral-0);--launch-accent: var(--launch-accent-input, var(--color-neutral-0));isolation:isolate}._glow_1pg11_9{position:absolute;top:50%;left:50%;z-index:0;width:298.333%;height:238.222%;transform:translate(-50%);border-radius:50%;background-image:radial-gradient(circle farthest-corner at 50% 50% in oklab,var(--color-orange-500) 0%,var(--color-orange-600) 28%,var(--color-orange-700) 48%,oklab(from var(--color-orange-700) l a b / 0%) 72%);filter:blur(5.5vmax)}._backdrop_1pg11_103{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}._content_1pg11_16{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-5);inline-size:min(280px,100%)}._dots_1pg11_139{--dots-size: var(--spacing-6);color:var(--launch-accent);mix-blend-mode:soft-light;opacity:1}._bar_1pg11_178{position:relative;inline-size:100%;block-size:var(--spacing-1);overflow:hidden;border-radius:var(--radius-full)}._track_1pg11_186{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--launch-accent) 35%,transparent);mix-blend-mode:soft-light;opacity:.75}._fill_1pg11_194{position:absolute;inset-block:0;inset-inline-start:0;inline-size:calc(var(--launch-progress, 0) * 1%);border-radius:inherit;background:var(--color-neutral-0);transition:inline-size var(--dur-fast) var(--ease-out)}._bar_1pg11_178[data-indeterminate=true] ._fill_1pg11_194{inline-size:33.333%;animation:_launch-indeterminate_1pg11_1 calc(var(--dur-dots) * 1.5) var(--ease-out) infinite}@keyframes _launch-indeterminate_1pg11_1{0%{inset-inline-start:-33.333%}to{inset-inline-start:100%}}._caption_1pg11_220{margin:0;opacity:.8;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);text-align:center}@media(prefers-reduced-motion:reduce){._fill_1pg11_194{transition:none}._bar_1pg11_178[data-indeterminate=true] ._fill_1pg11_194{inset-inline-start:33.333%;animation:none}}@media(prefers-contrast){._root_1pg11_6{--launch-accent: var(--color-neutral-0)}._glow_1pg11_9,._backdrop_1pg11_103{display:none}._dots_1pg11_139,._track_1pg11_186{mix-blend-mode:normal;opacity:1}}:root{--color-neutral-0: #FFFFFF;--color-neutral-50: #F7F7F8;--color-neutral-100: #EFEFF1;--color-neutral-200: #E5E5EA;--color-neutral-300: #D9D9D9;--color-neutral-400: #C1C1C2;--color-neutral-500: #8E8E93;--color-neutral-600: #6B6B6B;--color-neutral-700: #525252;--color-neutral-800: #3A3A3C;--color-neutral-900: #292929;--color-neutral-950: #1D1D1B;--color-neutral-1000: #000000;--color-orange-50: #FDF3EE;--color-orange-100: #FBE2D5;--color-orange-200: #F7C3A8;--color-orange-300: #F0A173;--color-orange-400: #EB7147;--color-orange-500: #E9521E;--color-orange-600: #C2410C;--color-orange-700: #9A3412;--color-sand-100: #FBF3E4;--color-sand-300: #F3D6AC;--color-sand-600: #8A6510;--color-green-100: #DDF0E4;--color-green-600: #157F3D;--color-crimson-100: #F7DEE1;--color-crimson-600: #A3182B;--color-blue-100: #DEE6FA;--color-blue-600: #2A5BD7;--color-background: var(--color-neutral-50);--color-surface: var(--color-neutral-0);--color-surface-muted: var(--color-neutral-100);--color-border: var(--color-neutral-200);--color-border-strong: var(--color-neutral-300);--color-foreground: var(--color-neutral-950);--color-foreground-secondary: var(--color-neutral-700);--color-foreground-muted: var(--color-neutral-600);--color-foreground-disabled: var(--color-neutral-400);--color-primary: var(--color-orange-500);--color-primary-hover: var(--color-orange-600);--color-primary-foreground: var(--color-neutral-0);--color-primary-subtle: var(--color-orange-50);--color-primary-border: var(--color-orange-200);--color-success: var(--color-green-600);--color-success-subtle: var(--color-green-100);--color-warning: var(--color-sand-600);--color-warning-subtle: var(--color-sand-300);--color-danger: var(--color-crimson-600);--color-danger-subtle: var(--color-crimson-100);--color-info: var(--color-blue-600);--color-info-subtle: var(--color-blue-100);--color-grant: var(--color-sand-600);--color-purchased: var(--color-neutral-950);--shadow-overlay-color: rgb(29 29 27 / 20%);--font-display: var(--boost33-font-display, Outfit), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-sans: var(--boost33-font-sans, Inter), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: var(--boost33-font-mono, "Geist Mono"), ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-3xs: 9px;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 46px;--text-6xl: 60px;--text-7xl: 78px;--text-nav-label: 14px;--text-settings-group-label: 10px;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tighter: -.03em;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .04em;--tracking-wider: .09em;--tracking-caps: .05em;--tracking-settings-title: -.01em;--leading-none: 100%;--leading-tight: 120%;--leading-snug: 135%;--leading-normal: 150%;--leading-relaxed: 170%;--breakpoint-mobile: 390px;--breakpoint-desktop: 1440px;--container-sidebar: 264px;--container-sidebar-rail: 56px;--container-command-palette: 560px;--container-content: 1440px;--container-account-menu: 312px;--container-app-switcher: 360px;--container-token-popover: 340px;--container-notification-panel: 360px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-4_5: 18px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-10: 40px;--spacing-11: 44px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-2_5: 10px;--spacing-5_5: 22px;--spacing-1_5: 6px;--spacing-1_25: 5px;--spacing-0_5: 2px;--spacing-2_25: 9px;--spacing-3_5: 14px;--spacing-2_75: 11px;--spacing-1_75: 7px;--spacing-0_75: 3px;--spacing-0_25: 1px;--spacing-settings-crumb: 7px;--spacing-topup-reserve: 68px;--spacing-wallet-segment-min: 3px;--spacing-9_5: 38px;--radius-none: 0px;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-2xl: 12px;--radius-full: 9999px;--radius-product-tile: 25%}._root_1y1aa_41{container-type:inline-size}._frame_1y1aa_47{display:flex;min-height:100vh;background:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans)}._sidebar_1y1aa_59{display:flex;box-sizing:border-box;width:var(--container-sidebar);flex-shrink:0;flex-direction:column;padding:0 var(--spacing-3);border-right:1px solid var(--color-border);background:var(--color-neutral-50)}._sidebar_1y1aa_59 a{text-decoration:none}._back_1y1aa_76{display:flex;align-items:center;gap:var(--spacing-2_5);padding:var(--spacing-4) var(--spacing-2_5) var(--spacing-3_5);color:var(--color-foreground)}._backLabel_1y1aa_84{font-size:var(--text-nav-label);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4_5)}._glyph_1y1aa_91{display:block;width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0}._title_1y1aa_99{padding:var(--spacing-2_5) var(--spacing-2_5) var(--spacing-4)}._titleText_1y1aa_103{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-settings-title);line-height:var(--spacing-6)}._group_1y1aa_112{display:flex;flex-direction:column;gap:var(--spacing-0_25)}._group_1y1aa_112+._group_1y1aa_112{padding-top:var(--spacing-5)}._groupLabel_1y1aa_124{padding:0 var(--spacing-2_5) var(--spacing-2)}._groupLabelText_1y1aa_128{color:var(--color-foreground-muted);font-size:var(--text-settings-group-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);line-height:var(--spacing-3);text-transform:uppercase}._item_1y1aa_140{display:flex;align-items:center;gap:var(--spacing-2_5);padding:var(--spacing-2) var(--spacing-2_5);border-radius:var(--radius-lg);color:var(--color-foreground-muted)}._item_1y1aa_140[aria-current=page]{background:var(--color-surface);color:var(--color-foreground)}._icon_1y1aa_157{display:flex;width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;align-items:center;justify-content:center}._icon_1y1aa_157>svg{width:100%;height:100%}._label_1y1aa_171{flex-grow:1;color:var(--color-foreground-secondary);font-size:var(--text-nav-label);font-weight:var(--font-weight-regular);line-height:var(--spacing-4)}._item_1y1aa_140[aria-current=page] ._label_1y1aa_171{color:var(--color-foreground);font-weight:var(--font-weight-semibold)}._swatch_1y1aa_186{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;border-radius:var(--radius-md);background:var(--color-neutral-300)}._spacer_1y1aa_195{flex-grow:1}._signOut_1y1aa_201{margin-bottom:var(--spacing-4)}._column_1y1aa_207{display:flex;min-width:0;flex-basis:0;flex-direction:column;flex-grow:1}._header_1y1aa_216{display:flex;box-sizing:border-box;height:var(--spacing-12);flex-shrink:0;align-items:center;justify-content:space-between;padding:0 var(--spacing-5);border-bottom:1px solid var(--color-border)}._headerStart_1y1aa_227{display:flex;align-items:center;gap:var(--spacing-3)}._panelMark_1y1aa_237{display:flex;color:var(--color-foreground-muted)}._crumbs_1y1aa_244{display:flex;align-items:center;gap:var(--spacing-settings-crumb);margin:0;padding:0;font-size:var(--text-sm);line-height:var(--spacing-4);list-style:none}._crumbStep_1y1aa_255{display:flex;align-items:center;gap:var(--spacing-settings-crumb)}._crumb_1y1aa_244{color:var(--color-foreground-muted);text-decoration:none}._crumbSeparator_1y1aa_266{color:var(--color-foreground-disabled)}._crumbCurrent_1y1aa_270{color:var(--color-foreground);font-weight:var(--font-weight-semibold);text-decoration:none}._headerEnd_1y1aa_276,._helpLinks_1y1aa_282{display:flex;align-items:center;gap:var(--spacing-4_5)}._helpLink_1y1aa_282{color:var(--color-foreground-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);text-decoration:none}._content_1y1aa_298{display:flex;flex-direction:column;flex-grow:1;background:var(--color-surface)}._pageHead_1y1aa_307{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:var(--spacing-6);padding:var(--spacing-7) var(--spacing-8) var(--spacing-6);border-bottom:1px solid var(--color-border);background:var(--color-surface)}._pageHeadText_1y1aa_318{display:flex;flex-direction:column;gap:var(--spacing-1)}._pageTitle_1y1aa_325{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--spacing-6)}._pageDescription_1y1aa_335{margin:0;color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--spacing-4)}@container (max-width: 767px){._frame_1y1aa_47{flex-direction:column}._sidebar_1y1aa_59{width:auto;flex-direction:row;align-items:center;gap:var(--spacing-0_5);padding:var(--spacing-1_5) var(--spacing-2);overflow-x:auto;border-right:none;border-bottom:1px solid var(--color-border);white-space:nowrap}._sidebar_1y1aa_59 a{flex-shrink:0}._title_1y1aa_99,._groupLabel_1y1aa_124,._spacer_1y1aa_195,._helpLinks_1y1aa_282,._panelMark_1y1aa_237{display:none}._group_1y1aa_112{flex-direction:row;gap:var(--spacing-0_5)}._group_1y1aa_112+._group_1y1aa_112{padding-top:0}._back_1y1aa_76,._signOut_1y1aa_201{margin:0;padding:var(--spacing-2) var(--spacing-2_5)}._header_1y1aa_216{padding:0 var(--spacing-4)}._pageHead_1y1aa_307{flex-wrap:wrap;padding:var(--spacing-5) var(--spacing-4) var(--spacing-4_5)}}
|
|
1
|
+
.btn-primary,.btn-quiet,.btn-danger{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}.btn-primary{border:none;background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-quiet{background:transparent;color:var(--color-foreground-secondary)}.btn-quiet:hover:not(:disabled){background:var(--color-surface-muted)}.btn-danger{border:1px solid var(--color-danger);background:var(--color-danger);color:var(--color-neutral-0)}.btn-danger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-danger) 85%,var(--color-neutral-950));background:color-mix(in srgb,var(--color-danger) 85%,var(--color-neutral-950))}.btn-primary:disabled,.btn-quiet:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed}.spinner{box-sizing:border-box;width:var(--spacing-4_5);height:var(--spacing-4_5);border:2px solid var(--color-neutral-0);border-right-color:transparent;border-radius:var(--radius-full);animation:boost33-spin var(--dur-spin) linear infinite}.spinner--sm{width:var(--spacing-3_5);height:var(--spacing-3_5)}.spinner--primary{border-color:var(--color-primary);border-right-color:transparent}@keyframes boost33-spin{to{transform:rotate(360deg)}}.sk{display:block;border-radius:var(--radius-md);background:var(--color-surface-muted);animation:boost33-pulse var(--dur-pulse) ease-in-out infinite}.sk-group{animation:boost33-appear var(--dur-base) var(--ease-out) var(--dur-fast) both}.reveal{animation:boost33-appear var(--dur-base) var(--ease-out) both}@keyframes boost33-pulse{50%{opacity:.55}}@keyframes boost33-appear{0%{opacity:0}}@media(prefers-reduced-motion:no-preference){.btn-primary:active:not(:disabled),.btn-quiet:active:not(:disabled),.btn-danger:active:not(:disabled){transform:scale(.98)}}@media(prefers-reduced-motion:reduce){.sk,.sk-group,.reveal,.spinner{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}._sidebar_197wz_7{display:flex;flex-direction:column;box-sizing:border-box;width:var(--container-sidebar);height:100%;padding:var(--spacing-4) var(--spacing-3);border-right:1px solid var(--color-border);background:var(--color-background);font-family:var(--font-sans)}._sidebar_197wz_7[data-collapsed=true]{width:var(--container-sidebar-rail)}._sidebar_197wz_7>nav{flex-shrink:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:calc(-1 * var(--spacing-1));padding:var(--spacing-1);scroll-padding:var(--spacing-1)}@media(prefers-reduced-motion:reduce){._sidebar_197wz_7>nav{scroll-behavior:auto}}._section_wg5c6_5{display:flex;flex-direction:column}._header_wg5c6_13{margin:0;padding:var(--spacing-2) var(--spacing-2_5);color:var(--color-foreground-muted);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase}._wordmark_ccf4z_4{display:flex;align-items:center;gap:var(--spacing-2_5);font-family:var(--font-display)}a._wordmark_ccf4z_4{border-radius:var(--radius-lg);text-decoration:none}a._wordmark_ccf4z_4:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._mark_ccf4z_32{display:inline-flex;flex:0 0 var(--spacing-6);align-items:center;justify-content:center;width:var(--spacing-6);height:var(--spacing-6)}._mark_ccf4z_32 svg{width:100%;height:100%}._name_ccf4z_50{color:var(--color-foreground);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight)}._wordmark_ccf4z_4[data-collapsed=true] ._name_ccf4z_50{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;white-space:nowrap}._wordmark_ccf4z_4[data-collapsed=true]{justify-content:center}._tile_w89ja_12{fill:var(--color-neutral-950)}._ring_w89ja_16{fill:var(--color-primary)}._mark_w89ja_24{display:block}._link_w89ja_33{display:inline-flex;vertical-align:top;border-radius:var(--radius-lg);text-decoration:none}._link_w89ja_33:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._mark_1jt5g_6{display:block}._ground_1jt5g_17{rx:var(--radius-product-tile)}._row_1vu2t_4{display:flex;align-items:center;width:100%;gap:var(--spacing-2_5);padding:var(--spacing-2) var(--spacing-2_5);border:none;border-radius:var(--radius-lg);background:transparent;font-family:var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._row_1vu2t_4:hover{background:var(--color-surface-muted)}._row_1vu2t_4[data-active=true]{background:var(--color-surface)}._row_1vu2t_4:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._icon_1vu2t_41{display:inline-flex;flex:0 0 var(--spacing-4);align-items:center;justify-content:center;width:var(--spacing-4);height:var(--spacing-4);color:var(--color-foreground-secondary)}._icon_1vu2t_41 svg{width:100%;height:100%}._row_1vu2t_4[data-active=true] ._icon_1vu2t_41{color:var(--color-foreground)}._row_1vu2t_4[data-collapsed=true]{justify-content:center}._label_1vu2t_66{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--color-foreground-secondary);font-size:var(--text-nav-label);font-weight:var(--font-weight-regular);text-overflow:ellipsis;white-space:nowrap}._row_1vu2t_4[data-active=true] ._label_1vu2t_66{color:var(--color-foreground)}._row_1vu2t_4[data-collapsed=true] ._label_1vu2t_66{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;white-space:nowrap}._trailingSlot_1vu2t_106{display:flex;flex:0 0 var(--spacing-5_5);height:var(--spacing-4);align-items:center;justify-content:flex-end;width:var(--spacing-5_5);font-family:var(--font-sans)}._row_1vu2t_4[data-collapsed=true] ._trailingSlot_1vu2t_106{display:none}._count_1vu2t_122{color:var(--color-foreground-muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);line-height:var(--spacing-4)}._countUrgent_1vu2t_134{display:inline-flex;box-sizing:border-box;min-width:var(--spacing-5);height:var(--spacing-4_5);align-items:center;justify-content:center;padding:0 var(--spacing-1_5);border-radius:var(--radius-full);background:var(--color-orange-600);color:var(--color-primary-foreground);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold)}._dot_1vu2t_152{width:var(--spacing-1_75);height:var(--spacing-1_75);border-radius:var(--radius-full);background:var(--color-warning)}._srOnly_1vu2t_151{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){._row_1vu2t_4{transition:none}}._primary_1nkom_26,._outlined_1nkom_27{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;gap:var(--spacing-2);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._primary_1nkom_26{height:var(--spacing-10);padding:0 var(--spacing-4);border:none;background:var(--color-neutral-950);color:var(--color-neutral-0)}._primary_1nkom_26:hover,._primary_1nkom_26[data-active=true]{background:var(--color-neutral-800)}._primary_1nkom_26[data-tone=accent]{background:var(--color-orange-600);color:var(--color-primary-foreground)}._primary_1nkom_26[data-tone=accent]:hover,._primary_1nkom_26[data-tone=accent][data-active=true]{background:var(--color-orange-700)}._outlined_1nkom_27{height:var(--spacing-8);padding:0 var(--spacing-3);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-foreground)}._outlined_1nkom_27:hover{background:var(--color-surface-muted)}._quiet_1nkom_84{padding:0;border:none;background:transparent;color:var(--color-foreground);font-family:var(--font-sans);font-size:inherit;font-weight:var(--font-weight-medium);line-height:inherit;text-decoration:none;cursor:pointer}._quiet_1nkom_84:hover{text-decoration:underline}._primary_1nkom_26:focus-visible,._outlined_1nkom_27:focus-visible,._quiet_1nkom_84:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._primary_1nkom_26 svg,._outlined_1nkom_27 svg{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0}@media(prefers-reduced-motion:reduce){._primary_1nkom_26,._outlined_1nkom_27{transition:none}}._chip_z1nut_37{--chip-lift: 0px;position:relative;box-sizing:border-box;width:100%;padding:calc(var(--spacing-3) + var(--chip-lift));border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:transparent;font-family:var(--font-sans)}._chip_z1nut_37:not([data-unknown]):hover,._chip_z1nut_37:not([data-unknown]):focus-within,._chip_z1nut_37[data-threshold]{--chip-lift: var(--spacing-0_5);box-shadow:var(--shadow-overlay)}._chip_z1nut_37:not([data-threshold]):not([data-unknown]):hover,._chip_z1nut_37:not([data-threshold]):not([data-unknown]):focus-within{background:var(--color-surface)}._chip_z1nut_37:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._header_z1nut_74{display:flex;align-items:center;gap:var(--spacing-2)}._chip_z1nut_37:not([data-threshold]):not([data-unknown]) ._header_z1nut_74{padding-right:var(--spacing-topup-reserve)}._name_z1nut_83{min-width:0;overflow:hidden;color:var(--color-foreground-muted);font-size:var(--text-xs);font-weight:var(--font-weight-medium);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap}._pill_z1nut_162{padding:var(--spacing-0_5) var(--spacing-2);border-radius:var(--radius-full);background:var(--color-warning-subtle);color:var(--color-warning);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold)}._figure_z1nut_171{display:flex;align-items:baseline;gap:var(--spacing-1_5);margin-top:calc(var(--spacing-2_5) + var(--chip-lift))}._amount_z1nut_186{color:var(--color-foreground);font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-none)}._unit_z1nut_195{color:var(--color-foreground-muted);font-size:var(--text-xs)}._retry_z1nut_200{width:var(--spacing-3);height:var(--spacing-3);color:var(--color-foreground-muted)}._bar_z1nut_209{display:flex;overflow:hidden;width:100%;height:calc(var(--spacing-1_25) + var(--chip-lift));margin-top:calc(var(--spacing-2_5) + var(--chip-lift));border-radius:var(--radius-full)}._bar_z1nut_209[data-tone=rest]{background:var(--color-surface-muted)}._bar_z1nut_209[data-tone=threshold]{background:var(--color-warning-subtle)}._bar_z1nut_209[data-tone=unknown]{background:var(--color-surface-muted)}._segmentGranted_z1nut_230,._segmentPurchased_z1nut_231{height:100%;transition:width var(--dur-fast) var(--ease-out)}._segmentGranted_z1nut_230{background:var(--color-grant)}._segmentPurchased_z1nut_231{background:var(--color-purchased)}._details_z1nut_275{display:none}._chip_z1nut_37:hover ._details_z1nut_275,._chip_z1nut_37:focus-within ._details_z1nut_275{display:block}._split_z1nut_284{display:flex;flex-direction:column;gap:var(--spacing-1);margin:var(--spacing-2_5) 0 0}._splitRow_z1nut_291{display:flex;align-items:center;justify-content:space-between}._splitLabel_z1nut_297{display:flex;align-items:center;gap:var(--spacing-1_5);color:var(--color-foreground);font-size:var(--text-xs)}._splitAmount_z1nut_305{margin:0;color:var(--color-foreground);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}._dotGranted_z1nut_313,._dotPurchased_z1nut_314{width:var(--spacing-1_5);height:var(--spacing-1_5);border-radius:var(--radius-full)}._dotGranted_z1nut_313{background:var(--color-grant)}._dotPurchased_z1nut_314{background:var(--color-purchased)}._footer_z1nut_328{margin:var(--spacing-3) 0 0;padding-top:var(--spacing-1);border-top:1px solid var(--color-border);color:var(--color-foreground-muted);font-size:var(--text-2xs)}._burnNote_z1nut_336{margin:var(--spacing-2_5) 0 0;color:var(--color-foreground-secondary);font-size:var(--text-2xs);line-height:var(--leading-snug)}._topUp_z1nut_87:not([data-grown=true]){position:absolute;top:calc(var(--spacing-3) + var(--chip-lift));right:calc(var(--spacing-3) + var(--chip-lift));font-size:var(--text-xs);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}._chip_z1nut_37:hover ._topUp_z1nut_87,._chip_z1nut_37:focus-within ._topUp_z1nut_87,._topUp_z1nut_87:focus-visible{opacity:1}._topUp_z1nut_87[data-grown=true]{width:100%;margin-top:var(--spacing-2_5)}._rail_z1nut_387{--chip-lift: 0px;position:relative;display:flex;box-sizing:border-box;width:100%;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);font-family:var(--font-sans)}._railIcon_z1nut_401{width:var(--spacing-6);height:var(--spacing-6);color:var(--color-foreground-secondary)}._railFigure_z1nut_407{color:var(--color-foreground);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}._rail_z1nut_387 ._bar_z1nut_209{height:var(--spacing-0_5);margin-top:0}._srOnly_z1nut_420{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;white-space:nowrap}@media(prefers-reduced-motion:reduce){._segmentGranted_z1nut_230,._segmentPurchased_z1nut_231,._topUp_z1nut_87{transition:none}}._topRoot_z1nut_444{position:relative;font-family:var(--font-sans)}._topTrigger_z1nut_453{display:flex;box-sizing:border-box;height:var(--spacing-8);align-items:center;gap:var(--spacing-2_5);padding:0 var(--spacing-3);border:none;border-radius:var(--radius-lg);background:var(--color-surface-muted);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._topTrigger_z1nut_453:hover,._topTrigger_z1nut_453[aria-expanded=true]{background:var(--color-border)}._topTrigger_z1nut_453:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._topFigure_z1nut_482{display:flex;align-items:baseline;gap:var(--spacing-1_25);white-space:nowrap}._topAmount_z1nut_489{color:var(--color-foreground);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4)}._topUnit_z1nut_497{color:var(--color-foreground-muted);font-size:var(--text-2xs);line-height:var(--spacing-3_5)}._topTrigger_z1nut_453:hover ._topUnit_z1nut_497,._topTrigger_z1nut_453[aria-expanded=true] ._topUnit_z1nut_497{color:var(--color-foreground-secondary)}._topChevron_z1nut_508{width:var(--spacing-3);height:var(--spacing-3);flex-shrink:0;color:var(--color-foreground-muted)}._topBar_z1nut_518,._popBar_z1nut_519{display:flex;overflow:hidden;flex-shrink:0;border-radius:var(--radius-sm)}._topBar_z1nut_518{width:var(--spacing-11);height:var(--spacing-1_5);gap:var(--spacing-0_5)}._popover_z1nut_534{position:absolute;z-index:1;top:100%;left:0;display:flex;width:var(--container-token-popover);max-width:calc(100vw - var(--spacing-8));box-sizing:border-box;flex-direction:column;gap:var(--spacing-4);margin-top:var(--spacing-1_5);padding:var(--spacing-5);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay)}._popHead_z1nut_554{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-3)}._popFigure_z1nut_561{display:flex;align-items:baseline;gap:var(--spacing-2)}._popAmount_z1nut_569{color:var(--color-foreground);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-none)}._popUnit_z1nut_578{color:var(--color-foreground-secondary);font-size:var(--text-sm)}._popBar_z1nut_519{width:100%;height:var(--spacing-2);gap:var(--spacing-0_75)}._legend_z1nut_592{display:flex;flex-direction:column;gap:var(--spacing-3);margin:0;padding:0;list-style:none}._legendText_z1nut_601{display:flex;flex-direction:column}._legendRow_z1nut_606{display:flex;align-items:flex-start;gap:var(--spacing-2_5)}._swatchGranted_z1nut_612,._swatchPurchased_z1nut_613{width:var(--spacing-2_25);height:var(--spacing-2_25);flex-shrink:0;margin-top:var(--spacing-1);border-radius:var(--radius-sm)}._swatchGranted_z1nut_612{background:var(--color-grant)}._swatchPurchased_z1nut_613{background:var(--color-purchased)}._legendFigure_z1nut_629{color:var(--color-foreground);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--spacing-4_5)}._legendNote_z1nut_637{color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--spacing-4)}._popFoot_z1nut_644{display:flex;flex-direction:column;gap:var(--spacing-3);padding-top:var(--spacing-3_5);border-top:1px solid var(--color-border)}._popNote_z1nut_652{margin:0;color:var(--color-foreground-secondary);font-size:var(--text-sm);line-height:var(--spacing-4_5)}._popWarning_z1nut_662{margin:0;color:var(--color-warning);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--spacing-4_5)}._topBar_z1nut_518[data-tone=threshold],._popBar_z1nut_519[data-tone=threshold]{background:var(--color-warning-subtle)}._buy_z1nut_681{width:100%}@media(prefers-reduced-motion:reduce){._topTrigger_z1nut_453{transition:none}}._bar_1fqrh_9{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);container:boost33-top-bar / inline-size;align-items:center;gap:var(--spacing-5);box-sizing:border-box;height:var(--spacing-12);padding:0 var(--spacing-8);border-bottom:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-sans)}._start_1fqrh_40,._end_1fqrh_41{display:flex;align-items:center}._start_1fqrh_40{grid-column:1;gap:var(--spacing-5)}._end_1fqrh_41{grid-column:3;justify-content:flex-end;gap:var(--spacing-3)}._centre_1fqrh_60{display:flex;grid-column:2;align-items:center;gap:var(--spacing-2)}._label_1fqrh_69{color:var(--color-foreground-muted);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--spacing-4);white-space:nowrap}._label_1fqrh_69[data-after-switcher=true]{padding-left:var(--spacing-8)}@container boost33-top-bar (width < 80rem){._label_1fqrh_69{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}._label_1fqrh_69[data-after-switcher=true]{padding-left:0}._label_1fqrh_69[data-after-switcher=true]+*{margin-left:var(--spacing-6)}}@supports (animation-timeline: --a) and (timeline-scope: --a){@container style(--boost33-shell-timeline: on){._bar_1fqrh_9{position:relative;z-index:1;animation:_scrolled_1fqrh_1 linear both;animation-timeline:--boost33-shell-scroll;animation-range:0 var(--spacing-10)}}}@keyframes _scrolled_1fqrh_1{to{box-shadow:var(--shadow-scrolled)}}._button_oj9om_6{display:inline-flex;box-sizing:border-box;width:var(--spacing-8);height:var(--spacing-8);flex-shrink:0;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-lg);background:var(--color-surface-muted);color:var(--color-foreground);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._button_oj9om_6:hover{background:var(--color-border)}._button_oj9om_6:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._bell_oj9om_33{width:var(--spacing-4);height:var(--spacing-4)}._dot_oj9om_42{fill:var(--color-primary)}._button_oj9om_6:hover ._dot_oj9om_42{fill:var(--color-orange-600)}._srOnly_oj9om_41{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){._button_oj9om_6{transition:none}}._header_i17td_42{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-8);padding:var(--spacing-4_5) var(--spacing-8) var(--spacing-4);background:var(--color-surface);font-family:var(--font-sans)}._headings_i17td_52{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-1)}._title_i17td_33{margin:0;color:var(--color-foreground);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}._subtitle_i17td_74{margin:0;color:var(--color-foreground-secondary);font-size:var(--text-base);font-weight:var(--font-weight-regular);line-height:var(--leading-snug)}._actions_i17td_82{display:flex;flex:0 0 auto;align-items:center;gap:var(--spacing-2)}._shell_l6zer_13{display:flex;height:100%;flex-direction:column;background:var(--color-surface);font-family:var(--font-sans)}._body_l6zer_24{display:flex;min-height:0;flex:1}._appName_l6zer_39{flex-shrink:0;margin:0;padding:var(--spacing-1) var(--spacing-2_5) var(--spacing-3_5);overflow:hidden;color:var(--color-foreground-muted);font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--spacing-5);text-overflow:ellipsis;white-space:nowrap}._foot_l6zer_65{display:flex;flex-direction:column;gap:var(--spacing-0_5);margin-block-start:auto;padding-block-start:var(--spacing-4)}._actionSlot_l6zer_79{display:flex;flex-shrink:0;margin-block-start:auto;padding-block-start:var(--spacing-4)}._actionSlot_l6zer_79+._foot_l6zer_65{margin-block-start:var(--spacing-4);padding-block-start:var(--spacing-2_5);border-top:1px solid var(--color-border)}._action_l6zer_79{width:100%}._action_l6zer_79[data-collapsed=true]{width:var(--spacing-10);padding:0}._srOnly_l6zer_103{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}._nav_l6zer_116{display:flex;flex-direction:column;gap:var(--spacing-4)}._main_l6zer_125{display:flex;min-width:0;flex:1;flex-direction:column}._content_l6zer_146{flex:1;min-height:0;overflow-y:auto;background:var(--color-surface)}@supports (animation-timeline: --a) and (timeline-scope: --a){._shell_l6zer_13{timeline-scope:--boost33-shell-scroll;--boost33-shell-timeline: on}._content_l6zer_146{scroll-timeline:--boost33-shell-scroll block}}._phoneChrome_l6zer_207{display:none}@media not (min-width:48rem){._shell_l6zer_13[data-chrome-from=md]>:not(._body_l6zer_24,._phoneChrome_l6zer_207),._shell_l6zer_13[data-chrome-from=md] ._body_l6zer_24>:not(._main_l6zer_125){display:none}._shell_l6zer_13[data-chrome-from=md]{height:auto;min-height:100dvh}._shell_l6zer_13[data-chrome-from=md]>._phoneChrome_l6zer_207{display:contents}._shell_l6zer_13[data-chrome-from=md] ._content_l6zer_146{overflow-y:visible}}@media not (min-width:64rem){._shell_l6zer_13[data-chrome-from=lg]>:not(._body_l6zer_24,._phoneChrome_l6zer_207),._shell_l6zer_13[data-chrome-from=lg] ._body_l6zer_24>:not(._main_l6zer_125){display:none}._shell_l6zer_13[data-chrome-from=lg]{height:auto;min-height:100dvh}._shell_l6zer_13[data-chrome-from=lg]>._phoneChrome_l6zer_207{display:contents}._shell_l6zer_13[data-chrome-from=lg] ._content_l6zer_146{overflow-y:visible}}@media not (min-width:80rem){._shell_l6zer_13[data-chrome-from=xl]>:not(._body_l6zer_24,._phoneChrome_l6zer_207),._shell_l6zer_13[data-chrome-from=xl] ._body_l6zer_24>:not(._main_l6zer_125){display:none}._shell_l6zer_13[data-chrome-from=xl]{height:auto;min-height:100dvh}._shell_l6zer_13[data-chrome-from=xl]>._phoneChrome_l6zer_207{display:contents}._shell_l6zer_13[data-chrome-from=xl] ._content_l6zer_146{overflow-y:visible}}._root_18wu0_8{position:relative;font-family:var(--font-sans)}._trigger_18wu0_17{display:flex;box-sizing:border-box;width:100%;align-items:center;gap:var(--spacing-2);height:var(--spacing-8);padding:0 var(--spacing-3);border:none;border-radius:var(--radius-lg);background:var(--color-surface-muted);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._trigger_18wu0_17:hover,._trigger_18wu0_17[aria-expanded=true]{background:var(--color-border)}._trigger_18wu0_17:focus-visible,._railTrigger_18wu0_52:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._triggerName_18wu0_62{overflow:hidden;flex:1;color:var(--color-foreground);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4_5);text-align:left;text-overflow:ellipsis;white-space:nowrap}._chevron_18wu0_79{width:var(--spacing-3);height:var(--spacing-3);flex-shrink:0;color:var(--color-foreground-muted);transition:transform var(--dur-fast) var(--ease-out)}._trigger_18wu0_17[aria-expanded=true] ._chevron_18wu0_79{transform:rotate(180deg)}._railTrigger_18wu0_52{display:flex;box-sizing:border-box;width:100%;min-height:var(--spacing-6);align-items:flex-start;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer}._panel_18wu0_127{position:absolute;z-index:1;top:100%;left:0;display:flex;width:var(--container-app-switcher);box-sizing:border-box;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-1_5);padding:var(--spacing-2);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay)}._hubRow_18wu0_147,._productRow_18wu0_148{display:flex;box-sizing:border-box;width:100%;align-items:center;gap:var(--spacing-3);border:none;font-family:var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._hubRow_18wu0_147{margin-bottom:var(--spacing-1);padding:var(--spacing-2_75) var(--spacing-3);border-radius:var(--radius-xl);background:var(--color-neutral-950);color:var(--color-neutral-0)}._hubRow_18wu0_147:hover{background:var(--color-neutral-800)}._hubRow_18wu0_147 ._rowText_18wu0_179{flex:1;gap:var(--spacing-0_5)}._hubRow_18wu0_147 ._rowName_18wu0_184{color:var(--color-neutral-0);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4_5)}._hubRow_18wu0_147 ._rowSub_18wu0_191{color:var(--color-neutral-400);font-size:var(--text-sm);line-height:var(--spacing-4)}._hubMark_18wu0_197{width:var(--spacing-5);height:var(--spacing-5);flex-shrink:0;color:var(--color-neutral-0)}._hubChevron_18wu0_204{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;color:var(--color-neutral-0)}._productRow_18wu0_148{padding:var(--spacing-2_25) var(--spacing-3);border-radius:var(--radius-lg);background:transparent;color:var(--color-foreground-secondary)}._productRow_18wu0_148:hover,._productRow_18wu0_148[data-current=true]{background:var(--color-surface-muted)}._hubRow_18wu0_147:focus-visible,._productRow_18wu0_148:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._productRow_18wu0_148[data-current=true] ._rowName_18wu0_184{color:var(--color-foreground);font-weight:var(--font-weight-semibold)}._productRow_18wu0_148[data-entitled=false] ._rowName_18wu0_184{color:var(--color-foreground-muted)}._group_18wu0_250{display:flex;flex-direction:column}._groupLabel_18wu0_258{margin:0;padding:var(--spacing-2) var(--spacing-3);color:var(--color-foreground-muted);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);line-height:var(--spacing-3_5);text-transform:uppercase}._products_18wu0_269{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}._rowText_18wu0_179{display:flex;min-width:0;flex-direction:column}._rowName_18wu0_184{overflow:hidden;font-size:var(--text-nav-label);font-weight:var(--font-weight-regular);line-height:var(--spacing-4_5);text-overflow:ellipsis;white-space:nowrap}._productRow_18wu0_148 ._rowName_18wu0_184{flex:1}._rowSub_18wu0_191{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._tag_18wu0_305{flex-shrink:0;padding:var(--spacing-0_5) var(--spacing-1_5);border-radius:var(--radius-full);background:var(--color-surface-muted);color:var(--color-foreground-muted);font-size:var(--text-2xs);font-weight:var(--font-weight-medium)}._trailing_18wu0_317{display:flex;min-width:var(--spacing-5);flex-shrink:0;align-items:center;justify-content:flex-end}._check_18wu0_325{width:var(--spacing-4);height:var(--spacing-4);color:var(--color-foreground)}._trailingValue_18wu0_333{color:var(--color-foreground-muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--spacing-4);white-space:nowrap}._trailingDot_18wu0_343{width:var(--spacing-1_75);height:var(--spacing-1_75);border-radius:var(--radius-full);background:var(--color-primary)}._srOnly_18wu0_342{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}._chevronRight_18wu0_359{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0}@media(prefers-reduced-motion:reduce){._chevron_18wu0_79{transition:none}}._panel_1hhcn_36{display:flex;width:var(--container-notification-panel);box-sizing:border-box;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay);font-family:var(--font-sans)}._header_1hhcn_54{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3_5) var(--spacing-4) var(--spacing-2_5)}._title_1hhcn_62{margin:0;color:var(--color-foreground);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}._header_1hhcn_54 ._markAll_1hhcn_74{font-size:var(--text-xs);line-height:var(--leading-snug)}._tab_1hhcn_79:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._tabs_1hhcn_88{display:flex;align-items:center;gap:var(--spacing-4_5);padding-inline:var(--spacing-4);border-bottom:1px solid var(--color-border)}._tab_1hhcn_79{display:flex;align-items:center;gap:var(--spacing-1_25);padding:var(--spacing-2) 0 var(--spacing-2_5);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-foreground-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-regular);line-height:var(--leading-tight);cursor:pointer}._tab_1hhcn_79[aria-pressed=true]{border-bottom-color:var(--color-foreground);color:var(--color-foreground);font-weight:var(--font-weight-semibold)}._count_1hhcn_123{padding:var(--spacing-0_25) var(--spacing-1_25);border-radius:var(--radius-full);background:var(--color-surface-muted);color:var(--color-foreground-muted);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}._list_1hhcn_133{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}._row_1hhcn_148{display:flex;box-sizing:border-box;width:100%;align-items:flex-start;gap:var(--spacing-2_5);padding:var(--spacing-2_5) var(--spacing-4);color:var(--color-foreground);font-family:var(--font-sans);text-align:left;text-decoration:none}._row_1hhcn_148[href]:hover{background:var(--color-surface-muted)}._row_1hhcn_148[href]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}._sourceMark_1hhcn_179{display:block;flex-shrink:0;margin-top:var(--spacing-0_25);color:var(--color-primary-foreground)}._sourceMarkGround_1hhcn_188{rx:var(--radius-product-tile);fill:var(--color-neutral-950)}._rowText_1hhcn_193{display:flex;min-width:0;flex:1;flex-direction:column;gap:var(--spacing-0_5)}._rowTitle_1hhcn_204{color:var(--color-foreground-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-snug)}._row_1hhcn_148[data-unread=true] ._rowTitle_1hhcn_204{color:var(--color-foreground)}._rowMeta_1hhcn_215{color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--leading-snug)}._unreadSlot_1hhcn_226{display:flex;width:var(--spacing-4);flex-shrink:0;justify-content:center;padding-top:var(--spacing-1)}._dot_1hhcn_235{width:var(--spacing-1_5);height:var(--spacing-1_5);flex-shrink:0;border-radius:var(--radius-full);background:var(--color-primary)}._empty_1hhcn_250{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-2_5);padding:var(--spacing-10) var(--spacing-6) var(--spacing-11)}._emptyGlyph_1hhcn_259{display:block;width:var(--spacing-7);height:var(--spacing-7);flex-shrink:0;color:var(--color-foreground-disabled)}._emptyText_1hhcn_267{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-0_5)}._emptyTitle_1hhcn_274{margin:0;color:var(--color-foreground-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}._emptyBody_1hhcn_282{margin:0;color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--leading-snug);text-align:center}._footer_1hhcn_291{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2_5) var(--spacing-4);border-top:1px solid var(--color-border)}._footer_1hhcn_291 ._viewAll_1hhcn_300{font-size:var(--text-xs);line-height:var(--leading-snug)}._srOnly_1hhcn_307{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}._panel_4usug_54{display:flex;box-sizing:border-box;width:var(--container-account-menu);flex-direction:column;padding:var(--spacing-1_5);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay);font-family:var(--font-sans)}._person_4usug_72{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3_5) var(--spacing-3)}._personAvatar_4usug_85{display:block;width:var(--spacing-9_5);height:var(--spacing-9_5);flex-shrink:0;border-radius:var(--radius-full);background:var(--color-border-strong);object-fit:cover}._personText_4usug_98{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-0_5)}._personName_4usug_106{overflow:hidden;color:var(--color-foreground);font-size:var(--text-nav-label);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}._personEmail_4usug_122{overflow:hidden;color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}._org_4usug_147{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-1);margin-inline:var(--spacing-1_5);padding:var(--spacing-2_25) var(--spacing-3);border-radius:var(--radius-xl);background:var(--color-neutral-50)}._orgIdentity_4usug_161{display:flex;min-width:0;align-items:center;gap:var(--spacing-2_25)}._orgTile_4usug_178{display:grid;width:var(--spacing-5_5);height:var(--spacing-5_5);flex-shrink:0;border-radius:var(--radius-lg);background:var(--color-neutral-950);color:var(--color-primary-foreground);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);place-items:center}._orgName_4usug_194{overflow:hidden;color:var(--color-foreground);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap}._orgRole_4usug_209{flex-shrink:0;padding:var(--spacing-0_5) var(--spacing-2);border-radius:var(--radius-full);background:var(--color-neutral-950);color:var(--color-primary-foreground);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);white-space:nowrap}._divider_4usug_143{margin:var(--spacing-1_5);border:none;border-top:1px solid var(--color-border)}._rows_4usug_242{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}._row_4usug_48{display:flex;box-sizing:border-box;width:100%;align-items:flex-start;gap:var(--spacing-2_5);padding:var(--spacing-2_25) var(--spacing-3);border:none;border-radius:var(--radius-xl);background:transparent;color:var(--color-foreground);font-family:var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}._row_4usug_48:hover{background:var(--color-neutral-50)}._row_4usug_48:hover ._rowDescription_4usug_299{color:var(--color-foreground-secondary)}._row_4usug_48:hover ._lane_4usug_303{color:var(--color-foreground)}._row_4usug_48:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}._row_4usug_48[data-single-line=true]{align-items:center}._row_4usug_48[data-single-line=true] ._lane_4usug_303{margin-top:0}._lane_4usug_303{display:block;width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;margin-top:var(--spacing-0_5);color:var(--color-foreground-muted)}._lane_4usug_303 svg{display:block;width:100%;height:100%}._rowText_4usug_347{display:flex;min-width:0;flex-direction:column;gap:var(--spacing-0_5)}._rowLabel_4usug_365{overflow:hidden;color:var(--color-foreground);font-size:var(--text-nav-label);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}._row_4usug_48[data-single-line=true] ._rowLabel_4usug_365{color:var(--color-foreground-secondary);font-weight:var(--font-weight-regular)}._rowDescription_4usug_299{color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--leading-snug)}@media(prefers-reduced-motion:reduce){._row_4usug_48{transition:none}}:root{--shadow-overlay: 0px 16px 40px -10px var(--shadow-overlay-color);--shadow-lift: 0px 10px 24px -14px color-mix(in srgb, var(--color-neutral-950) 28%, transparent);--shadow-scrolled: 0px 6px 16px -12px color-mix(in srgb, var(--color-neutral-950) 35%, transparent)}._panel_1hdli_22{display:flex;overflow:clip;box-sizing:border-box;width:var(--container-command-palette);flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-overlay);font-family:var(--font-sans)}._searchRow_1hdli_38{display:flex;box-sizing:border-box;width:100%;align-items:center;flex-shrink:0;gap:var(--spacing-2_5);padding:var(--spacing-4);border-bottom:1px solid var(--color-border)}._searchGlyph_1hdli_49{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;color:var(--color-foreground-muted)}._input_1hdli_63{min-width:0;flex:1;border:none;background:transparent;color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-weight-medium)}._input_1hdli_63::placeholder{color:var(--color-foreground-muted)}._input_1hdli_63:focus{outline:none}._dismissKey_1hdli_94{flex-shrink:0;padding:var(--spacing-1) var(--spacing-1_5);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-foreground-muted);font-size:var(--text-2xs)}._results_1hdli_109,._group_1hdli_115{display:flex;flex-direction:column;padding-block:var(--spacing-1)}._groupHeading_1hdli_127{margin:0;padding:var(--spacing-3) var(--spacing-4) var(--spacing-1_5);color:var(--color-foreground-muted);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}._row_1hdli_146{display:flex;box-sizing:border-box;height:var(--spacing-10);align-items:center;gap:var(--spacing-2_5);margin-inline:var(--spacing-2);padding-inline:var(--spacing-2);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--text-nav-label);text-align:left;text-decoration:none;cursor:pointer}._row_1hdli_146:hover{background:var(--color-surface-muted)}._row_1hdli_146[aria-selected=true]{background:var(--color-surface-muted);font-weight:var(--font-weight-medium)}._icon_1hdli_184{display:flex;width:var(--spacing-5_5);height:var(--spacing-5_5);flex-shrink:0;align-items:center;justify-content:center;color:var(--color-foreground-muted)}._label_1hdli_197{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}._empty_1hdli_209{margin:0;padding:var(--spacing-5) var(--spacing-4);color:var(--color-foreground-muted);font-size:var(--text-xs)}._footer_1hdli_217{display:flex;box-sizing:border-box;width:100%;align-items:center;flex-shrink:0;padding:var(--spacing-2) var(--spacing-4);border-top:1px solid var(--color-border)}._hints_1hdli_227{color:var(--color-foreground-muted);font-size:var(--text-xs)}._root_g1823_11{--dots-size: var(--spacing-8);--dots-speed: var(--dur-dots);--dots-ease: var(--ease-in-out-quint);--dots-gap: calc(var(--dots-size) * .14);--dots-dot: calc((var(--dots-size) - var(--dots-gap) * 2) / 3);display:inline-flex;align-items:center;justify-content:center}._grid_g1823_25{display:grid;gap:var(--dots-gap);grid-template-columns:repeat(3,var(--dots-dot))}._dot_g1823_31{width:var(--dots-dot);height:var(--dots-dot);border-radius:var(--radius-full);background:currentColor;opacity:1;animation:_dots-pulse_g1823_1 var(--dots-speed) var(--dots-ease) infinite backwards;animation-delay:calc(var(--dots-step, 0) * var(--dots-speed) / 4)}._dot_g1823_31:nth-child(1){--dots-step: 0}._dot_g1823_31:nth-child(2),._dot_g1823_31:nth-child(4){--dots-step: 1}._dot_g1823_31:nth-child(3),._dot_g1823_31:nth-child(5),._dot_g1823_31:nth-child(7){--dots-step: 2}._dot_g1823_31:nth-child(6),._dot_g1823_31:nth-child(8){--dots-step: 3}._dot_g1823_31:nth-child(9){--dots-step: 4}@keyframes _dots-pulse_g1823_1{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){._dot_g1823_31{animation:none}}:root{--dur-instant: 80ms;--dur-fast: .15s;--dur-base: .22s;--dur-slow: .32s;--dur-bold: .7s;--dur-hero: .9s;--dur-spin: .7s;--dur-pulse: 1.6s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--lift-sm: -1px;--lift-md: -2px;--rise: 8px;--stagger: 40ms;--duration-fast: var(--dur-fast);--easing-standard: var(--ease-out);--dur-dots: 1s;--ease-in-out-quint: cubic-bezier(.83, 0, .17, 1)}._root_1pg11_6{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--spacing-4);overflow:hidden;background-color:var(--color-neutral-1000);color:var(--color-neutral-0);--launch-accent: var(--launch-accent-input, var(--color-neutral-0));isolation:isolate}._glow_1pg11_9{position:absolute;top:50%;left:50%;z-index:0;width:298.333%;height:238.222%;transform:translate(-50%);border-radius:50%;background-image:radial-gradient(circle farthest-corner at 50% 50% in oklab,var(--color-orange-500) 0%,var(--color-orange-600) 28%,var(--color-orange-700) 48%,oklab(from var(--color-orange-700) l a b / 0%) 72%);filter:blur(5.5vmax)}._backdrop_1pg11_103{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}._content_1pg11_16{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-5);inline-size:min(280px,100%)}._dots_1pg11_139{--dots-size: var(--spacing-6);color:var(--launch-accent);mix-blend-mode:soft-light;opacity:1}._bar_1pg11_178{position:relative;inline-size:100%;block-size:var(--spacing-1);overflow:hidden;border-radius:var(--radius-full)}._track_1pg11_186{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--launch-accent) 35%,transparent);mix-blend-mode:soft-light;opacity:.75}._fill_1pg11_194{position:absolute;inset-block:0;inset-inline-start:0;inline-size:calc(var(--launch-progress, 0) * 1%);border-radius:inherit;background:var(--color-neutral-0);transition:inline-size var(--dur-fast) var(--ease-out)}._bar_1pg11_178[data-indeterminate=true] ._fill_1pg11_194{inline-size:33.333%;animation:_launch-indeterminate_1pg11_1 calc(var(--dur-dots) * 1.5) var(--ease-out) infinite}@keyframes _launch-indeterminate_1pg11_1{0%{inset-inline-start:-33.333%}to{inset-inline-start:100%}}._caption_1pg11_220{margin:0;opacity:.8;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);text-align:center}@media(prefers-reduced-motion:reduce){._fill_1pg11_194{transition:none}._bar_1pg11_178[data-indeterminate=true] ._fill_1pg11_194{inset-inline-start:33.333%;animation:none}}@media(prefers-contrast){._root_1pg11_6{--launch-accent: var(--color-neutral-0)}._glow_1pg11_9,._backdrop_1pg11_103{display:none}._dots_1pg11_139,._track_1pg11_186{mix-blend-mode:normal;opacity:1}}:root{--color-neutral-0: #FFFFFF;--color-neutral-50: #F7F7F8;--color-neutral-100: #EFEFF1;--color-neutral-200: #E5E5EA;--color-neutral-300: #D9D9D9;--color-neutral-400: #C1C1C2;--color-neutral-500: #8E8E93;--color-neutral-600: #6B6B6B;--color-neutral-700: #525252;--color-neutral-800: #3A3A3C;--color-neutral-900: #292929;--color-neutral-950: #1D1D1B;--color-neutral-1000: #000000;--color-orange-50: #FDF3EE;--color-orange-100: #FBE2D5;--color-orange-200: #F7C3A8;--color-orange-300: #F0A173;--color-orange-400: #EB7147;--color-orange-500: #E9521E;--color-orange-600: #C2410C;--color-orange-700: #9A3412;--color-sand-100: #FBF3E4;--color-sand-300: #F3D6AC;--color-sand-600: #8A6510;--color-green-100: #DDF0E4;--color-green-600: #157F3D;--color-crimson-100: #F7DEE1;--color-crimson-600: #A3182B;--color-blue-100: #DEE6FA;--color-blue-600: #2A5BD7;--color-background: var(--color-neutral-50);--color-surface: var(--color-neutral-0);--color-surface-muted: var(--color-neutral-100);--color-border: var(--color-neutral-200);--color-border-strong: var(--color-neutral-300);--color-foreground: var(--color-neutral-950);--color-foreground-secondary: var(--color-neutral-700);--color-foreground-muted: var(--color-neutral-600);--color-foreground-disabled: var(--color-neutral-400);--color-primary: var(--color-orange-500);--color-primary-hover: var(--color-orange-600);--color-primary-foreground: var(--color-neutral-0);--color-primary-subtle: var(--color-orange-50);--color-primary-border: var(--color-orange-200);--color-success: var(--color-green-600);--color-success-subtle: var(--color-green-100);--color-warning: var(--color-sand-600);--color-warning-subtle: var(--color-sand-300);--color-danger: var(--color-crimson-600);--color-danger-subtle: var(--color-crimson-100);--color-info: var(--color-blue-600);--color-info-subtle: var(--color-blue-100);--color-grant: var(--color-sand-600);--color-purchased: var(--color-neutral-950);--shadow-overlay-color: rgb(29 29 27 / 20%);--font-display: var(--boost33-font-display, Outfit), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-sans: var(--boost33-font-sans, Inter), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: var(--boost33-font-mono, "Geist Mono"), ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-3xs: 9px;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 46px;--text-6xl: 60px;--text-7xl: 78px;--text-nav-label: 14px;--text-settings-group-label: 10px;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tighter: -.03em;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .04em;--tracking-wider: .09em;--tracking-caps: .05em;--tracking-settings-title: -.01em;--leading-none: 100%;--leading-tight: 120%;--leading-snug: 135%;--leading-normal: 150%;--leading-relaxed: 170%;--breakpoint-mobile: 390px;--breakpoint-desktop: 1440px;--container-sidebar: 264px;--container-sidebar-rail: 56px;--container-command-palette: 560px;--container-content: 1440px;--container-account-menu: 312px;--container-app-switcher: 360px;--container-token-popover: 340px;--container-notification-panel: 360px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-4_5: 18px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-10: 40px;--spacing-11: 44px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-2_5: 10px;--spacing-5_5: 22px;--spacing-1_5: 6px;--spacing-1_25: 5px;--spacing-0_5: 2px;--spacing-2_25: 9px;--spacing-3_5: 14px;--spacing-2_75: 11px;--spacing-1_75: 7px;--spacing-0_75: 3px;--spacing-0_25: 1px;--spacing-settings-crumb: 7px;--spacing-topup-reserve: 68px;--spacing-wallet-segment-min: 3px;--spacing-9_5: 38px;--radius-none: 0px;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-2xl: 12px;--radius-full: 9999px;--radius-product-tile: 25%}._root_1y1aa_41{container-type:inline-size}._frame_1y1aa_47{display:flex;min-height:100vh;background:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans)}._sidebar_1y1aa_59{display:flex;box-sizing:border-box;width:var(--container-sidebar);flex-shrink:0;flex-direction:column;padding:0 var(--spacing-3);border-right:1px solid var(--color-border);background:var(--color-neutral-50)}._sidebar_1y1aa_59 a{text-decoration:none}._back_1y1aa_76{display:flex;align-items:center;gap:var(--spacing-2_5);padding:var(--spacing-4) var(--spacing-2_5) var(--spacing-3_5);color:var(--color-foreground)}._backLabel_1y1aa_84{font-size:var(--text-nav-label);font-weight:var(--font-weight-semibold);line-height:var(--spacing-4_5)}._glyph_1y1aa_91{display:block;width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0}._title_1y1aa_99{padding:var(--spacing-2_5) var(--spacing-2_5) var(--spacing-4)}._titleText_1y1aa_103{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-settings-title);line-height:var(--spacing-6)}._group_1y1aa_112{display:flex;flex-direction:column;gap:var(--spacing-0_25)}._group_1y1aa_112+._group_1y1aa_112{padding-top:var(--spacing-5)}._groupLabel_1y1aa_124{padding:0 var(--spacing-2_5) var(--spacing-2)}._groupLabelText_1y1aa_128{color:var(--color-foreground-muted);font-size:var(--text-settings-group-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);line-height:var(--spacing-3);text-transform:uppercase}._item_1y1aa_140{display:flex;align-items:center;gap:var(--spacing-2_5);padding:var(--spacing-2) var(--spacing-2_5);border-radius:var(--radius-lg);color:var(--color-foreground-muted)}._item_1y1aa_140[aria-current=page]{background:var(--color-surface);color:var(--color-foreground)}._icon_1y1aa_157{display:flex;width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;align-items:center;justify-content:center}._icon_1y1aa_157>svg{width:100%;height:100%}._label_1y1aa_171{flex-grow:1;color:var(--color-foreground-secondary);font-size:var(--text-nav-label);font-weight:var(--font-weight-regular);line-height:var(--spacing-4)}._item_1y1aa_140[aria-current=page] ._label_1y1aa_171{color:var(--color-foreground);font-weight:var(--font-weight-semibold)}._swatch_1y1aa_186{width:var(--spacing-4);height:var(--spacing-4);flex-shrink:0;border-radius:var(--radius-md);background:var(--color-neutral-300)}._spacer_1y1aa_195{flex-grow:1}._signOut_1y1aa_201{margin-bottom:var(--spacing-4)}._column_1y1aa_207{display:flex;min-width:0;flex-basis:0;flex-direction:column;flex-grow:1}._header_1y1aa_216{display:flex;box-sizing:border-box;height:var(--spacing-12);flex-shrink:0;align-items:center;justify-content:space-between;padding:0 var(--spacing-5);border-bottom:1px solid var(--color-border)}._headerStart_1y1aa_227{display:flex;align-items:center;gap:var(--spacing-3)}._panelMark_1y1aa_237{display:flex;color:var(--color-foreground-muted)}._crumbs_1y1aa_244{display:flex;align-items:center;gap:var(--spacing-settings-crumb);margin:0;padding:0;font-size:var(--text-sm);line-height:var(--spacing-4);list-style:none}._crumbStep_1y1aa_255{display:flex;align-items:center;gap:var(--spacing-settings-crumb)}._crumb_1y1aa_244{color:var(--color-foreground-muted);text-decoration:none}._crumbSeparator_1y1aa_266{color:var(--color-foreground-disabled)}._crumbCurrent_1y1aa_270{color:var(--color-foreground);font-weight:var(--font-weight-semibold);text-decoration:none}._headerEnd_1y1aa_276,._helpLinks_1y1aa_282{display:flex;align-items:center;gap:var(--spacing-4_5)}._helpLink_1y1aa_282{color:var(--color-foreground-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);text-decoration:none}._content_1y1aa_298{display:flex;flex-direction:column;flex-grow:1;background:var(--color-surface)}._pageHead_1y1aa_307{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:var(--spacing-6);padding:var(--spacing-7) var(--spacing-8) var(--spacing-6);border-bottom:1px solid var(--color-border);background:var(--color-surface)}._pageHeadText_1y1aa_318{display:flex;flex-direction:column;gap:var(--spacing-1)}._pageTitle_1y1aa_325{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--spacing-6)}._pageDescription_1y1aa_335{margin:0;color:var(--color-foreground-muted);font-size:var(--text-xs);line-height:var(--spacing-4)}@container (max-width: 767px){._frame_1y1aa_47{flex-direction:column}._sidebar_1y1aa_59{width:auto;flex-direction:row;align-items:center;gap:var(--spacing-0_5);padding:var(--spacing-1_5) var(--spacing-2);overflow-x:auto;border-right:none;border-bottom:1px solid var(--color-border);white-space:nowrap}._sidebar_1y1aa_59 a{flex-shrink:0}._title_1y1aa_99,._groupLabel_1y1aa_124,._spacer_1y1aa_195,._helpLinks_1y1aa_282,._panelMark_1y1aa_237{display:none}._group_1y1aa_112{flex-direction:row;gap:var(--spacing-0_5)}._group_1y1aa_112+._group_1y1aa_112{padding-top:0}._back_1y1aa_76,._signOut_1y1aa_201{margin:0;padding:var(--spacing-2) var(--spacing-2_5)}._header_1y1aa_216{padding:0 var(--spacing-4)}._pageHead_1y1aa_307{flex-wrap:wrap;padding:var(--spacing-5) var(--spacing-4) var(--spacing-4_5)}}
|