typerighter 0.53.0 → 0.53.2
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.
|
@@ -370,7 +370,7 @@ function A() {
|
|
|
370
370
|
}), process.on("unhandledRejection", (e) => {
|
|
371
371
|
j("runtime", e instanceof Error ? e : Error(String(e)));
|
|
372
372
|
}), i.command("[root]", "Start dev server").alias("dev").option("--port <port>", "Port to listen on").option("--host", "Expose to network").option("--fresh", "Start fresh, ignore cache from previous session").option("--verbose", "Print version and build info").action(async (e, n) => {
|
|
373
|
-
n.verbose && console.log(`${k} cli v0.53.
|
|
373
|
+
n.verbose && console.log(`${k} cli v0.53.2 (built 11/2/2026, 7:32:16 PM)\n`), n.fresh && (process.env.TYPEDOWN_NO_CACHE = "1");
|
|
374
374
|
let r = await a({
|
|
375
375
|
root: N(e),
|
|
376
376
|
configFile: !1,
|
|
@@ -395,7 +395,7 @@ function A() {
|
|
|
395
395
|
}
|
|
396
396
|
process.exit(0);
|
|
397
397
|
}), i.command("init [root]", "Scaffold a new project").option("--name <name>", "Project name").option("--title <title>", "Site title").option("--description <description>", "Site description").option("--yes", "Skip confirmation for existing projects").action(async (e, t) => {
|
|
398
|
-
let { initialize: n } = await import("./init-
|
|
398
|
+
let { initialize: n } = await import("./init-DWC9Yk8H.js");
|
|
399
399
|
await n(N(e), t);
|
|
400
400
|
}), i.command("preview [root]", "Preview production build").option("--port <port>", "Port to listen on").action(async (e, t) => {
|
|
401
401
|
let r = N(e), i = n(r);
|
|
@@ -433,7 +433,7 @@ function A() {
|
|
|
433
433
|
} finally {
|
|
434
434
|
i.dispose();
|
|
435
435
|
}
|
|
436
|
-
}), i.help(), i.version("0.53.
|
|
436
|
+
}), i.help(), i.version("0.53.2"), i.parse();
|
|
437
437
|
}
|
|
438
438
|
function j(e, t) {
|
|
439
439
|
let n = t instanceof Error ? t.message : String(t);
|
|
@@ -441,7 +441,7 @@ function j(e, t) {
|
|
|
441
441
|
}
|
|
442
442
|
async function M(e) {
|
|
443
443
|
let t = await (await e.getTdContext()).rpc.getVersion();
|
|
444
|
-
console.log(`${k} cli v0.53.
|
|
444
|
+
console.log(`${k} cli v0.53.2 (built 11/2/2026, 7:32:16 PM)`), console.log(`${k} rpc v${t}`), console.log("");
|
|
445
445
|
}
|
|
446
446
|
function N(e) {
|
|
447
447
|
return r.resolve(e ?? process.cwd());
|
package/dist/cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as cli } from "./cli-
|
|
1
|
+
export { t as cli } from "./cli-CQLJ7G7c.js";
|
|
@@ -1427,7 +1427,9 @@ function ni(e) {
|
|
|
1427
1427
|
};
|
|
1428
1428
|
}
|
|
1429
1429
|
if (typeof e != "object") return;
|
|
1430
|
-
let t = e
|
|
1430
|
+
let t = e;
|
|
1431
|
+
if (t.$kind !== void 0 && t.$kind !== "ref") return;
|
|
1432
|
+
let n = t.$ref ?? t;
|
|
1431
1433
|
if (typeof n.url != "string") return;
|
|
1432
1434
|
let r = n.url, a = n.name ?? i(r), o = n.format ?? t.format;
|
|
1433
1435
|
return {
|
|
@@ -1618,7 +1620,16 @@ var Si = 5, Ci = /*#__PURE__*/ k(/* @__PURE__ */ z({
|
|
|
1618
1620
|
setup(e) {
|
|
1619
1621
|
let { withBase: t } = A(), n = M(() => typeof e.value == "string" ? e.value.trim() : ""), r = M(() => ni(e.value)), i = M(() => r.value ? r.value.isImage : 0 < n.value.length && ri({ url: n.value })), a = M(() => r.value ? r.value.url : n.value), o = M(() => t(a.value)), s = M(() => !n.value || !n.value.includes(".") || n.value.includes(" ") ? !1 : n.value.endsWith(".pdf") || n.value.endsWith(".zip") || n.value.endsWith(".doc") || n.value.endsWith(".docx"));
|
|
1620
1622
|
function c(t) {
|
|
1621
|
-
|
|
1623
|
+
if (t == null) return "";
|
|
1624
|
+
if (typeof t == "object" && !Array.isArray(t)) {
|
|
1625
|
+
let e = t;
|
|
1626
|
+
switch (e._type) {
|
|
1627
|
+
case "date":
|
|
1628
|
+
case "datetime":
|
|
1629
|
+
case "time": return typeof e.value == "string" ? g(e.value) : "";
|
|
1630
|
+
}
|
|
1631
|
+
}
|
|
1632
|
+
return e.definition.widget === "date" ? g(String(t)) : String(t);
|
|
1622
1633
|
}
|
|
1623
1634
|
return (t, a) => i.value ? (H(), F("a", {
|
|
1624
1635
|
key: 0,
|
|
@@ -1640,7 +1651,7 @@ var Si = 5, Ci = /*#__PURE__*/ k(/* @__PURE__ */ z({
|
|
|
1640
1651
|
class: "td-widget-file-link"
|
|
1641
1652
|
}, [R(q(E), { class: "td-widget-file-icon" }), I("span", Oi, K(n.value.split("/").pop() ?? n.value), 1)], 8, Di)) : (H(), F(j, { key: 2 }, [L(K(c(e.value)), 1)], 64));
|
|
1642
1653
|
}
|
|
1643
|
-
}), [["__scopeId", "data-v-
|
|
1654
|
+
}), [["__scopeId", "data-v-09e791ba"]]), Ai = {
|
|
1644
1655
|
key: 0,
|
|
1645
1656
|
class: "td-frontmatter-empty"
|
|
1646
1657
|
}, ji = /*#__PURE__*/ k(/* @__PURE__ */ z({
|
|
@@ -1689,17 +1700,20 @@ var Si = 5, Ci = /*#__PURE__*/ k(/* @__PURE__ */ z({
|
|
|
1689
1700
|
let t = ve(), n = M(() => {
|
|
1690
1701
|
if (e.schema) return t.value.schemas[e.schema];
|
|
1691
1702
|
}), r = M(() => {
|
|
1692
|
-
let t =
|
|
1693
|
-
t &&
|
|
1694
|
-
|
|
1703
|
+
let t = e.frontmatter;
|
|
1704
|
+
return t._type && t.fields && typeof t.fields == "object" && !Array.isArray(t.fields) ? t.fields : t;
|
|
1705
|
+
}), i = M(() => {
|
|
1706
|
+
let e = n.value, t = r.value, i = [], a = /* @__PURE__ */ new Set();
|
|
1707
|
+
e && Object.keys(e).forEach((e) => a.add(e)), Object.keys(t).forEach((e) => a.add(e));
|
|
1708
|
+
for (let n of a) {
|
|
1695
1709
|
if (p(n)) continue;
|
|
1696
|
-
let
|
|
1697
|
-
if (
|
|
1698
|
-
let a =
|
|
1699
|
-
|
|
1710
|
+
let r = t[n];
|
|
1711
|
+
if (r == null || Array.isArray(r) && r.length === 0) continue;
|
|
1712
|
+
let a = e?.[n] ?? { widget: "text" };
|
|
1713
|
+
i.push([n, a]);
|
|
1700
1714
|
}
|
|
1701
|
-
return
|
|
1702
|
-
}),
|
|
1715
|
+
return i;
|
|
1716
|
+
}), a = {
|
|
1703
1717
|
text: ht,
|
|
1704
1718
|
checkbox: at,
|
|
1705
1719
|
select: ge,
|
|
@@ -1707,51 +1721,51 @@ var Si = 5, Ci = /*#__PURE__*/ k(/* @__PURE__ */ z({
|
|
|
1707
1721
|
relation: oe,
|
|
1708
1722
|
list: le
|
|
1709
1723
|
};
|
|
1710
|
-
function
|
|
1711
|
-
return
|
|
1712
|
-
}
|
|
1713
|
-
let o = U(!1), s = U(!1);
|
|
1714
|
-
function c() {
|
|
1715
|
-
o.value = !o.value;
|
|
1724
|
+
function o(e) {
|
|
1725
|
+
return a[e] ?? ht;
|
|
1716
1726
|
}
|
|
1727
|
+
let s = U(!1), c = U(!1);
|
|
1717
1728
|
function l() {
|
|
1718
1729
|
s.value = !s.value;
|
|
1719
1730
|
}
|
|
1720
|
-
|
|
1731
|
+
function u() {
|
|
1732
|
+
c.value = !c.value;
|
|
1733
|
+
}
|
|
1734
|
+
return (t, n) => e.mode === "rail" && i.value.length > 0 ? (H(), F("div", Mi, [I("button", {
|
|
1721
1735
|
type: "button",
|
|
1722
1736
|
class: "td-fm-rail-header",
|
|
1723
|
-
onClick:
|
|
1737
|
+
onClick: u
|
|
1724
1738
|
}, [n[0] ||= I("span", { class: "td-fm-rail-label" }, "Properties", -1), R(q(ee), {
|
|
1725
1739
|
size: 14,
|
|
1726
|
-
class: B(["td-fm-rail-caret", { "is-collapsed":
|
|
1727
|
-
}, null, 8, ["class"])]), I("div", { class: B(["td-collapse", { "is-collapsed":
|
|
1728
|
-
key:
|
|
1740
|
+
class: B(["td-fm-rail-caret", { "is-collapsed": c.value }])
|
|
1741
|
+
}, null, 8, ["class"])]), I("div", { class: B(["td-collapse", { "is-collapsed": c.value }]) }, [I("div", null, [(H(!0), F(j, null, W(i.value, ([e, t]) => (H(), F("div", {
|
|
1742
|
+
key: e,
|
|
1729
1743
|
class: "td-fm-rail-row"
|
|
1730
|
-
}, [I("span", Ni, [(H(), N(qe(
|
|
1744
|
+
}, [I("span", Ni, [(H(), N(qe(o(t.widget)), {
|
|
1731
1745
|
size: 12,
|
|
1732
1746
|
class: "td-fm-icon"
|
|
1733
|
-
})), L(" " + K(q(v)(
|
|
1734
|
-
definition:
|
|
1735
|
-
value:
|
|
1736
|
-
}, null, 8, ["definition", "value"])])]))), 128))])], 2)])) :
|
|
1747
|
+
})), L(" " + K(q(v)(e)), 1)]), I("span", Pi, [R(ji, {
|
|
1748
|
+
definition: t,
|
|
1749
|
+
value: r.value[e]
|
|
1750
|
+
}, null, 8, ["definition", "value"])])]))), 128))])], 2)])) : i.value.length > 0 ? (H(), F("div", Fi, [I("button", {
|
|
1737
1751
|
type: "button",
|
|
1738
1752
|
class: "td-fm-box-header",
|
|
1739
|
-
onClick:
|
|
1740
|
-
}, [I("span", Ii, [n[1] ||= L("Properties ", -1), I("span", Li, K(
|
|
1753
|
+
onClick: l
|
|
1754
|
+
}, [I("span", Ii, [n[1] ||= L("Properties ", -1), I("span", Li, K(i.value.length), 1)]), I("span", Ri, [L(K(s.value ? "Show" : "Hide") + " ", 1), s.value ? (H(), N(q(se), {
|
|
1741
1755
|
key: 1,
|
|
1742
1756
|
size: 14
|
|
1743
1757
|
})) : (H(), N(q(ee), {
|
|
1744
1758
|
key: 0,
|
|
1745
1759
|
size: 14
|
|
1746
|
-
}))])]), I("div", { class: B(["td-collapse", { "is-collapsed":
|
|
1760
|
+
}))])]), I("div", { class: B(["td-collapse", { "is-collapsed": s.value }]) }, [I("div", zi, [(H(!0), F(j, null, W(i.value, ([e, t]) => (H(), F(j, { key: e }, [I("span", Bi, [(H(), N(qe(o(t.widget)), {
|
|
1747
1761
|
size: 12,
|
|
1748
1762
|
class: "td-fm-icon"
|
|
1749
|
-
})), L(" " + K(q(v)(
|
|
1750
|
-
definition:
|
|
1751
|
-
value:
|
|
1763
|
+
})), L(" " + K(q(v)(e)), 1)]), I("span", Vi, [R(ji, {
|
|
1764
|
+
definition: t,
|
|
1765
|
+
value: r.value[e]
|
|
1752
1766
|
}, null, 8, ["definition", "value"])])], 64))), 128))])], 2)])) : P("", !0);
|
|
1753
1767
|
}
|
|
1754
|
-
}), [["__scopeId", "data-v-
|
|
1768
|
+
}), [["__scopeId", "data-v-27defa8d"]]), Ui = U(!1);
|
|
1755
1769
|
function Wi() {
|
|
1756
1770
|
function e() {
|
|
1757
1771
|
Ui.value = !Ui.value;
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./vite-0T8QXeWH.js";
|
|
2
|
-
import { t as s } from "./cli-
|
|
2
|
+
import { t as s } from "./cli-CQLJ7G7c.js";
|
|
3
3
|
export { n as PAGES_ID, i as PAGE_DATA_EVENT, t as SEARCH_INDEX_ID, e as SITE_DATA_ID, r as THEME_ID, a as buildSite, s as cli, o as typedown };
|
package/dist/typerighter.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.td-dir-row[data-v-2e4028bc]{border-bottom:1px solid var(--color-td-line-soft);color:var(--color-td-ink);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);align-items:center;gap:12px;padding:11px 4px;text-decoration:none;display:flex}.td-dir-row[data-v-2e4028bc]:hover{background:var(--color-td-sel)}.td-dir-icon[data-v-2e4028bc]{color:var(--color-td-ink-4);flex-shrink:0}.td-dir-parent[data-v-2e4028bc]{font-weight:600;font-size:var(--font-size-td-sm);color:var(--color-td-ink-4)}.td-dir-name[data-v-2e4028bc]{font-weight:600;font-size:var(--font-size-td-sm)}.td-dir-count[data-v-2e4028bc]{font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);margin-left:auto}.td-flashcard[data-v-f2a71f0c]{-webkit-user-select:none;user-select:none;cursor:pointer;perspective:max(100vw,100vh);grid-template:1fr/1fr;min-height:8rem;display:grid}.td-flashcard-face[data-v-f2a71f0c]{backface-visibility:hidden;box-sizing:border-box;border:1px solid var(--color-td-ink-4);background:var(--color-td-surf);color:var(--color-td-ink);font-size:var(--font-size-td-base);line-height:var(--leading-td-relaxed);transition-property:transform;transition-duration:var(--duration-slow,.3s);transition-timing-function:var(--ease-default,ease);border-radius:.75rem;flex-direction:column;grid-area:1/1;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.td-flashcard-face-key[data-v-f2a71f0c]{background:var(--color-td-sel);border-color:var(--color-td-accent);transform:rotateY(180deg)}.td-flashcard.is-revealed .td-flashcard-face-question[data-v-f2a71f0c]{transform:rotateY(180deg)}.td-flashcard.is-revealed .td-flashcard-face-key[data-v-f2a71f0c]{transform:rotateY(0)}.td-flashcard-face-key[data-v-f2a71f0c],.td-flashcard.is-revealed .td-flashcard-face-question[data-v-f2a71f0c]{pointer-events:none}.td-flashcard.is-revealed .td-flashcard-face-key[data-v-f2a71f0c]{pointer-events:auto}.td-flashcard-label[data-v-f2a71f0c]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-3);margin:0;font-weight:600;line-height:1}.td-flashcard-face-key .td-flashcard-label[data-v-f2a71f0c]{color:var(--color-td-accent)}.td-flashcard-body[data-v-f2a71f0c]{text-align:left;overflow-wrap:anywhere;flex-direction:column;flex:1;justify-content:center;display:flex}.td-flashcard-body [data-v-f2a71f0c-s]:first-child{margin-top:0}.td-flashcard-body [data-v-f2a71f0c-s]:last-child{margin-bottom:0}.td-flashcard[data-v-f2a71f0c]:focus-visible{outline:2px solid var(--color-td-link);outline-offset:3px}.td-flashcard.is-disabled[data-v-f2a71f0c]{cursor:not-allowed;opacity:.5}@media (prefers-reduced-motion:reduce){.td-flashcard-face[data-v-f2a71f0c]{transition-duration:0s}}.td-grid[data-v-88c6703c]{display:grid}.td-grid-cell[data-v-035b2ee6]{min-width:0}.td-glossary-row[data-v-9ad74790],.td-glossary-row[data-v-9ad74790]:hover{border-bottom:1px solid var(--color-td-line-soft);color:inherit;transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);flex-direction:column;gap:2px;padding:10px 4px;text-decoration:none;display:flex}.td-glossary-row[data-v-9ad74790]:last-child{border-bottom:none}.td-glossary-row[data-v-9ad74790]:hover{background:var(--color-td-sel)}.td-glossary-row:hover .td-glossary-row-title[data-v-9ad74790]{text-decoration:underline}.td-glossary-row-title[data-v-9ad74790]{font-size:var(--font-size-td-base);color:var(--color-td-accent);font-weight:800}.td-glossary-row-time[data-v-9ad74790]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4)}.td-glossary-row-desc[data-v-9ad74790]{font-size:var(--font-size-td-xs);line-height:var(--leading-td-normal);color:var(--color-td-ink-4);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-glossary-row-stub[data-v-9ad74790]{color:var(--color-td-ink-4);font-style:italic}.td-glossary-row-tags[data-v-9ad74790]{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.td-glossary-row-tag[data-v-9ad74790]{border:1px solid var(--color-td-line-soft);background:var(--color-td-pg);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);border-radius:999px;padding:1px 8px}.td-glossary-filter[data-v-e6d21e87]{border:1px solid var(--color-td-line-soft);background:var(--color-td-pg);border-radius:7px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 12px;display:flex}.td-glossary-filter-icon[data-v-e6d21e87]{color:var(--color-td-ink-4);flex-shrink:0}.td-glossary-filter-input[data-v-e6d21e87]{font-size:var(--font-size-td-xs);color:var(--color-td-ink);background:0 0;border:none;outline:none;flex:1}.td-glossary-filter-input[data-v-e6d21e87]::placeholder{color:var(--color-td-ink-4)}.td-glossary-empty[data-v-e6d21e87]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-4);padding:16px 4px;font-style:italic}.td-glossary-letter-row[data-v-e6d21e87]{align-items:center;gap:10px;margin-top:24px;padding-bottom:4px;display:flex}.td-glossary-letter-row[data-v-e6d21e87]:first-child{margin-top:0}.td-glossary-letter[data-v-e6d21e87]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);color:var(--color-td-accent);font-weight:500}.td-glossary-letter-line[data-v-e6d21e87]{background:var(--color-td-line-soft);flex:1;height:1px}.td-glossary-letter-count[data-v-e6d21e87]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4)}.td-glossary-columns[data-v-e6d21e87]{column-count:3;column-gap:32px}.td-glossary-dense-group[data-v-e6d21e87]{break-inside:avoid;flex-direction:column;gap:2px;margin-bottom:18px;display:flex}.td-glossary-dense-link[data-v-e6d21e87]{font-size:var(--font-size-td-sm);color:var(--color-td-accent);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;text-decoration:none;display:block;overflow:hidden}.td-glossary-dense-link[data-v-e6d21e87]:hover{color:var(--color-td-accent-hi)}@media (width<75rem){.td-glossary-columns[data-v-e6d21e87]{column-count:2}}@media (width<56.25rem){.td-glossary-columns[data-v-e6d21e87]{column-count:1}}.td-inline-icon[data-v-ed097470]{vertical-align:-2px;margin-right:2px;display:inline}.td-icon-btn[data-v-b1861a4a]{cursor:pointer;width:30px;height:30px;color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.td-icon-btn[data-v-b1861a4a]:hover{color:var(--color-td-ink)}.td-icon-btn[data-v-b1861a4a]:active{transform:scale(.94)}.td-tooltip-trigger[data-v-953f5bd3]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.td-tooltip{z-index:1000;max-width:300px;font-size:var(--font-size-td-xs);color:var(--color-td-tooltip-fg);background:var(--color-td-tooltip-bg);border:1px solid var(--color-td-line);pointer-events:auto;word-break:break-word;white-space:normal;border-radius:6px;padding:7px 12px 6px;line-height:1.4;position:absolute;box-shadow:0 2px 8px #0000001f}.td-tooltip-arrow{background:var(--color-td-tooltip-bg);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.td-tree-label[data-v-9ff3968e]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);cursor:pointer;align-items:center;gap:4px;padding:6px 17px 6px 10px;display:flex}.td-tree-label[data-v-9ff3968e]:hover{color:var(--color-td-ink)}.td-tree-label-text[data-v-9ff3968e]{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.td-tree-index-btn[data-v-9ff3968e]{color:var(--color-td-accent);transition:color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:4px;justify-content:center;align-items:center;padding:2px;text-decoration:none;display:flex}.td-tree-index-btn[data-v-9ff3968e]:hover,.td-tree-index-btn.is-active[data-v-9ff3968e]{color:var(--color-td-accent)}.td-tree-count[data-v-9ff3968e]{font-family:var(--font-mono);font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);letter-spacing:normal;text-transform:none;margin-left:auto}.td-tree-caret[data-v-9ff3968e]{transition:transform var(--duration-td-fast) var(--ease-td-out-quart);flex-shrink:0}.td-tree-caret.is-collapsed[data-v-9ff3968e]{transform:rotate(-90deg)}.td-tree-children[data-v-9ff3968e]{border-left:1px solid var(--color-td-line-soft);margin-left:16px}.td-tree-file-icon[data-v-9ff3968e]{color:var(--color-td-ink-4);flex-shrink:0}.td-tree-link[data-v-9ff3968e]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart), padding var(--duration-td-fast) var(--ease-td-out-quart), color var(--duration-td-fast) var(--ease-td-out-quart);align-items:center;gap:6px;padding:5px 10px;text-decoration:none;display:flex}.td-tree-link[data-v-9ff3968e]:hover{background-color:var(--color-td-hov);color:var(--color-td-ink);padding-left:13px}.td-tree-link-text[data-v-9ff3968e]{flex:1;min-width:0}.td-tree-time[data-v-9ff3968e]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);flex-shrink:0;margin-left:auto}.td-tree-link.is-active[data-v-9ff3968e]{background-color:var(--color-td-sel);border-left-color:var(--color-td-accent);color:var(--color-td-accent);font-weight:600}.td-tree-index-entry[data-v-9ff3968e]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4)}.td-tree-index-entry[data-v-9ff3968e]:hover{color:var(--color-td-ink-3)}.td-tree-more[data-v-9ff3968e]{cursor:pointer;font-size:var(--font-size-td-xs);color:var(--color-td-accent);transition:color var(--duration-td-fast) var(--ease-td-out-quart);background:0 0;border:none;padding:5px 12px;display:block}.td-tree-more[data-v-9ff3968e]:hover{color:var(--color-td-accent-hi)}.td-nav[data-v-d02f24f2]{padding-bottom:min(40vh,300px)}.td-root-link[data-v-d02f24f2]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart), padding var(--duration-td-fast) var(--ease-td-out-quart), color var(--duration-td-fast) var(--ease-td-out-quart);border-left:3px solid #0000;align-items:center;gap:6px;padding:5px 17px 5px 10px;text-decoration:none;display:flex}.td-root-link[data-v-d02f24f2]:hover{background-color:var(--color-td-hov);color:var(--color-td-ink);padding-left:13px}.td-root-link.is-active[data-v-d02f24f2]{background-color:var(--color-td-sel);border-left-color:var(--color-td-accent);color:var(--color-td-accent);font-weight:600}.td-root-link-text[data-v-d02f24f2]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.td-root-link-time[data-v-d02f24f2]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);flex-shrink:0;margin-left:auto}.td-root-link-icon[data-v-d02f24f2]{color:var(--color-td-ink-4);flex-shrink:0}.td-footer[data-v-50e2a5bc]{border-top:1px solid var(--color-td-line);background:var(--color-td-surf);font-family:var(--font-mono);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.5rem 24px;display:flex}.td-footer-link[data-v-50e2a5bc]{color:var(--color-td-accent);font-weight:500}.td-footer-link[data-v-50e2a5bc]:hover{text-decoration:underline}.td-dropdown[data-v-80759150]{position:relative}.td-dropdown-panel[data-v-80759150]{z-index:50;background:var(--color-td-pg);border:1px solid var(--color-td-line-soft);border-radius:8px;min-width:160px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0000001a}.td-breadcrumb[data-v-3400a7c6]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-4);align-items:center;gap:2px;min-width:0;display:flex}.td-breadcrumb-sep[data-v-3400a7c6]{margin:0 2px}.td-breadcrumb-link[data-v-3400a7c6],.td-breadcrumb-current[data-v-3400a7c6]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.td-breadcrumb-link[data-v-3400a7c6]{color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart);text-decoration:none}.td-breadcrumb-home[data-v-3400a7c6]{flex-shrink:0}.td-breadcrumb-link[data-v-3400a7c6]:hover{color:var(--color-td-accent)}.td-breadcrumb-current[data-v-3400a7c6]{color:var(--color-td-ink-3)}.td-breadcrumb-ellipsis[data-v-3400a7c6]{vertical-align:middle;cursor:pointer;color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart), background-color var(--duration-td-fast) var(--ease-td-out-quart);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 4px;display:inline-flex}.td-breadcrumb-ellipsis[data-v-3400a7c6]:hover{color:var(--color-td-ink);background:var(--color-td-hov)}.td-breadcrumb-dropdown-item[data-v-3400a7c6]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:4px;padding:6px 10px;text-decoration:none;display:block}.td-breadcrumb-dropdown-item[data-v-3400a7c6]:hover{background:var(--color-td-hov);color:var(--color-td-accent)}.td-header-nav[data-v-4df0cda6]{align-items:center;gap:.25rem;margin-left:auto;margin-right:1rem;display:none}@media (width>=64rem){.td-header-nav[data-v-4df0cda6]{display:flex}}.td-header-nav-link[data-v-4df0cda6]{border-radius:var(--radius-td-sm);font-size:var(--font-size-td-sm);color:var(--color-td-ink-4);transition:color var(--duration-td-move) var(--ease-td-out-quart), background-color var(--duration-td-fast) var(--ease-td-out-quart);align-items:center;gap:.125rem;padding:4px 10px;text-decoration:none;display:inline-flex}.td-header-nav-link[data-v-4df0cda6]:hover{color:var(--color-td-accent);background-color:var(--color-td-hov)}.td-header-nav-link.is-active[data-v-4df0cda6]{color:var(--color-td-accent);background-color:var(--color-td-sel)}.td-menu-nav[data-v-f3c16d10]{flex-direction:column;padding:.5rem 0;display:flex}.td-menu-nav[data-v-f3c16d10]:after{content:"";background:color-mix(in srgb, var(--color-td-line) 50%, transparent);height:1px;margin:.5rem 1rem 0;display:block}.td-menu-nav-item[data-v-f3c16d10]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.625rem 1rem;text-decoration:none;display:flex}.td-menu-nav-item[data-v-f3c16d10]:hover{background-color:var(--color-td-hov)}.td-menu-nav-item.is-active[data-v-f3c16d10]{background-color:var(--color-td-sel);border-left-color:var(--color-td-accent);color:var(--color-td-accent);font-weight:600}.td-widget-checkbox[data-v-13241c06]{align-items:center;display:inline-flex}.td-widget-checkbox-icon[data-v-13241c06]{color:var(--color-td-ink-4)}.td-widget-checkbox-icon.is-checked[data-v-13241c06]{color:var(--color-td-accent)}.td-widget-relation-wrapper[data-v-e593af69]{align-items:flex-start;display:inline-flex}.td-widget-ref[data-v-e593af69]{color:var(--color-td-link);align-items:flex-start;gap:4px;text-decoration:none;display:inline-flex}.td-widget-ref[data-v-e593af69]:hover{color:var(--color-td-link-hover);text-decoration:underline}.td-widget-ref-icon[data-v-e593af69]{flex-shrink:0;margin-top:.2em}.td-widget-external-icon[data-v-e593af69]{flex-shrink:0;margin-top:.2em;margin-left:3px}.td-widget-image-preview[data-v-e593af69]{border:1px solid var(--color-td-line-soft);width:180px;height:260px;box-shadow:0 2px 6px color-mix(in srgb, var(--color-td-ink) 8%, transparent);transition:transform var(--duration-td-fast) var(--ease-td-out-quart), box-shadow var(--duration-td-fast) var(--ease-td-out-quart);vertical-align:middle;background-color:var(--color-td-surf);border-radius:8px;display:inline-block;overflow:hidden}.td-widget-image-preview[data-v-e593af69]:hover{box-shadow:0 4px 12px color-mix(in srgb, var(--color-td-ink) 12%, transparent);transform:scale(1.02)}.td-widget-image-img[data-v-e593af69]{object-fit:cover;width:100%;height:100%;display:block}.td-widget-file-link[data-v-e593af69]{color:var(--color-td-ink-3);font-size:var(--font-size-td-base);background-color:var(--color-td-surf);border:1px solid var(--color-td-line-soft);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart), border-color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:4px;align-items:center;gap:8px;padding:4px 8px;line-height:1.4;text-decoration:none;display:inline-flex}.td-widget-file-link[data-v-e593af69]:hover{background-color:var(--color-td-hov);text-decoration:none}.td-widget-file-icon[data-v-e593af69]{width:20px;height:20px;color:var(--color-td-ink-4);flex-shrink:0}.td-widget-file-name[data-v-e593af69]{word-break:break-all}.td-widget-list[data-v-bc659020]{margin:0;padding-left:1.25rem;list-style-type:disc}.td-widget-list-icons[data-v-bc659020]{padding-left:0;list-style-type:none}.td-widget-list-icons li[data-v-bc659020]{align-items:baseline;gap:6px;display:flex}.td-widget-list-icon[data-v-bc659020]{color:var(--color-td-link);flex-shrink:0;position:relative;top:2.5px}.td-widget-list li[data-v-bc659020]{font-size:var(--font-size-td-sm);margin:0}.td-widget-more[data-v-bc659020]{color:var(--color-td-ink-4);font-size:var(--font-size-td-sm);cursor:pointer;border-radius:var(--border-radius-td-sm);background:0 0;border:none;margin-top:4px;padding:2px 4px}.td-widget-more[data-v-bc659020]:hover{color:var(--color-td-accent)}.td-widget-pill[data-v-b3656329]{font-size:var(--font-size-td-xs);border-radius:4px;padding:2px 8px;display:inline-block}.td-widget-more[data-v-b3656329]{cursor:pointer;font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);background:0 0;border:none;padding:2px 0}.td-widget-more[data-v-b3656329]:hover{color:var(--color-td-accent)}.td-widget-pill[data-v-b9e2b4fd]{font-size:var(--font-size-td-xs);border-radius:4px;padding:2px 8px;display:inline-block}.td-widget-image-preview[data-v-37708635]{border:1px solid var(--color-td-line-soft);width:180px;height:260px;box-shadow:0 2px 6px color-mix(in srgb, var(--color-td-ink) 8%, transparent);transition:transform var(--duration-td-fast) var(--ease-td-out-quart), box-shadow var(--duration-td-fast) var(--ease-td-out-quart);vertical-align:middle;background-color:var(--color-td-surf);border-radius:8px;display:inline-block;overflow:hidden}.td-widget-image-preview[data-v-37708635]:hover{box-shadow:0 4px 12px color-mix(in srgb, var(--color-td-ink) 12%, transparent);transform:scale(1.02)}.td-widget-image-img[data-v-37708635]{object-fit:cover;width:100%;height:100%;display:block}.td-widget-file-link[data-v-37708635]{color:var(--color-td-ink-3);font-size:var(--font-size-td-base);background-color:var(--color-td-surf);border:1px solid var(--color-td-line-soft);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart), border-color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:4px;align-items:center;gap:8px;padding:4px 8px;line-height:1.4;text-decoration:none;display:inline-flex}.td-widget-file-link[data-v-37708635]:hover{background-color:var(--color-td-hov);text-decoration:none}.td-widget-file-icon[data-v-37708635]{width:20px;height:20px;color:var(--color-td-ink-4);flex-shrink:0}.td-widget-file-name[data-v-37708635]{word-break:break-all}.td-frontmatter-empty[data-v-1deedc98]{color:var(--color-td-ink-4);font-style:italic;font-size:var(--font-size-td-xs)}.td-fm-rail[data-v-1b3924e7]{flex-direction:column;display:flex}.td-fm-rail-header[data-v-1b3924e7]{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;margin-bottom:6px;padding:0;display:flex}.td-fm-rail-label[data-v-1b3924e7]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);font-weight:500}.td-fm-rail-caret[data-v-1b3924e7]{color:var(--color-td-ink-4);transition:transform var(--duration-td-fast) var(--ease-td-out-quart)}.td-fm-rail-caret.is-collapsed[data-v-1b3924e7]{transform:rotate(-90deg)}.td-fm-rail-row[data-v-1b3924e7]{flex-direction:column;gap:3px;padding:9px 0;display:flex}.td-fm-rail-key[data-v-1b3924e7]{font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);align-items:center;gap:4px;display:flex}.td-fm-rail-value[data-v-1b3924e7]{font-size:var(--font-size-td-xs);flex-wrap:wrap;align-items:center;gap:5px;display:flex}.td-fm-box[data-v-1b3924e7]{border:1px solid var(--color-td-line-soft);background:var(--color-td-pg);border-radius:6px;margin:14px 0 0;overflow:hidden}.td-fm-box-header[data-v-1b3924e7]{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;display:flex}.td-fm-box-label[data-v-1b3924e7]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);font-weight:500}.td-fm-box-count[data-v-1b3924e7]{color:var(--color-td-ink-4)}.td-fm-box-toggle[data-v-1b3924e7]{font-size:var(--font-size-td-2xs);color:var(--color-td-accent);align-items:center;gap:2px;font-weight:500;display:inline-flex}.td-fm-box-body[data-v-1b3924e7]{border-top:1px solid var(--color-td-line-soft);font-size:var(--font-size-td-xs);grid-template-columns:120px 1fr;align-items:start;gap:10px 24px;padding:14px;display:grid}.td-fm-box-key[data-v-1b3924e7]{color:var(--color-td-ink-4);align-items:center;gap:4px;display:flex}.td-fm-icon[data-v-1b3924e7]{color:var(--color-td-ink-4);flex-shrink:0}.td-fm-box-value[data-v-1b3924e7]{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.td-prevnext[data-v-8ea01cd7]{border-top:1px solid var(--color-td-line);grid-template-columns:1fr 1fr;gap:12px;margin-top:64px;padding-top:28px;display:grid}.td-prevnext-link[data-v-8ea01cd7]{border:1px solid var(--color-td-line);border-radius:var(--radius-td-lg);transition:border-color var(--duration-td-move) var(--ease-td-out-quart), background var(--duration-td-move) var(--ease-td-out-quart), transform var(--duration-td-move) var(--ease-td-out-quart);flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.td-prevnext-link[data-v-8ea01cd7]:hover{border-color:var(--color-td-accent);background:var(--color-td-sel);transform:translateY(-1px)}.td-prevnext-link.is-next[data-v-8ea01cd7]{text-align:right}.td-prevnext-label[data-v-8ea01cd7]{letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);align-items:center;gap:2px;font-size:10.5px;font-weight:600;display:inline-flex}.td-prevnext-link.is-next .td-prevnext-label[data-v-8ea01cd7]{justify-content:flex-end}.td-prevnext-chevron[data-v-8ea01cd7]{flex-shrink:0}.td-prevnext-title[data-v-8ea01cd7]{color:var(--color-td-accent);font-size:15px;font-weight:600}@media not all and (width>=56.25rem){.td-prevnext[data-v-8ea01cd7]{grid-template-columns:1fr}.td-prevnext-link.is-next[data-v-8ea01cd7]{text-align:left}.td-prevnext-link.is-next .td-prevnext-label[data-v-8ea01cd7]{justify-content:flex-start}}.td-toc-label[data-v-2b800578]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);margin-bottom:9px;font-weight:600}.td-toc-list[data-v-2b800578]{border-left:2px solid var(--color-td-line-soft);margin:0;padding:0;list-style:none}.td-toc-list li[data-v-2b800578]{margin:0}.td-toc-link[data-v-2b800578]{color:var(--color-td-ink-3);transition:color var(--duration-td-fast) var(--ease-td-out-quart), border-left-color var(--duration-td-fast) var(--ease-td-out-quart);border-left:2px solid #0000;margin-left:-2px;padding:5px 0 5px 12px;font-size:13px;text-decoration:none;display:block}.td-toc-link[data-v-2b800578]:hover{color:var(--color-td-ink);border-left-color:var(--color-td-ink-4)}.td-toc-link.is-active[data-v-2b800578]{color:var(--color-td-accent);border-left-color:var(--color-td-accent);font-weight:500}.td-toc-indent-1[data-v-2b800578]{padding-left:24px}.td-toc-indent-2[data-v-2b800578]{padding-left:36px}.td-toc-indent-3[data-v-2b800578]{padding-left:48px}.td-rail[data-v-39bd5d5f]{top:var(--td-header-height);height:calc(100vh - var(--td-header-height));overscroll-behavior:contain;border-left:1px solid var(--color-td-line-soft);background:var(--color-td-pg);flex-direction:column;gap:22px;min-width:0;padding:24px 18px 40px;display:flex;position:sticky;overflow-y:auto}.td-skeleton[data-v-312f021d]{flex-direction:column;gap:12px;padding:8px 16px;display:flex}.td-skeleton-line[data-v-312f021d]{background:var(--color-td-surf);border-radius:4px;height:12px;animation:1.5s ease-in-out infinite td-skeleton-pulse-312f021d}@media (prefers-reduced-motion:reduce){.td-skeleton-line[data-v-312f021d]{opacity:.6;animation:none}}@keyframes td-skeleton-pulse-312f021d{0%,to{opacity:.4}50%{opacity:.8}}.td-sidebar-scroll[data-v-bda84418]{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:8px 0 0;overflow:clip auto}.td-kbd-shortcut[data-v-b61b97da]{align-items:center;gap:2px;display:inline-flex}.td-kbd-shortcut kbd[data-v-b61b97da]{border:1px solid var(--color-td-line);background:var(--color-td-pg);min-width:20px;height:20px;font-family:var(--font-sans);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-weight:500;line-height:1;display:inline-flex}.td-search[data-v-999e1838]{padding:16px 16px 12px}.td-search-input-wrap[data-v-999e1838]{border:1px solid var(--color-td-line);background:var(--color-td-pg);transition:border-color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;display:flex}.td-search-input-wrap[data-v-999e1838]:hover{border-color:var(--color-td-ink-4);background:var(--color-td-hov)}.td-search-input-wrap[data-v-999e1838]:focus-within{border-color:var(--color-td-accent)}.td-search-input-wrap:focus-within .td-search-kbd[data-v-999e1838]{display:none}.td-search-kbd[data-v-999e1838]{opacity:.5;flex-shrink:0}.td-search-icon[data-v-999e1838]{color:var(--color-td-ink-4);flex-shrink:0}.td-search-input[data-v-999e1838]{min-width:0;font-size:var(--font-size-td-sm);color:var(--color-td-ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit}.td-search-input[data-v-999e1838]::placeholder{color:var(--color-td-ink-4)}.td-search-count[data-v-999e1838]{font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);flex-shrink:0}.td-search-spinner[data-v-999e1838]{color:var(--color-td-ink-4);flex-shrink:0;animation:.8s linear infinite td-spin-999e1838}@keyframes td-spin-999e1838{to{transform:rotate(360deg)}}.td-search-clear[data-v-999e1838]{cursor:pointer;color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.td-search-clear[data-v-999e1838]:hover{color:var(--color-td-ink)}.td-search-results[data-v-999e1838]{flex-direction:column;margin-top:8px;display:flex}.td-search-result[data-v-999e1838]{transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);flex-direction:column;gap:2px;padding:5px 12px;text-decoration:none;display:flex}.td-search-result[data-v-999e1838]:hover,.td-search-result.is-selected[data-v-999e1838]{background:var(--color-td-hov)}.td-search-result.is-current[data-v-999e1838]{border-left-color:var(--color-td-accent);background:color-mix(in srgb, var(--color-td-accent) 6%, transparent)}.td-search-result.is-current .td-search-result-title[data-v-999e1838]{color:var(--color-td-accent);font-weight:600}.td-search-result-title[data-v-999e1838]{font-size:var(--font-size-td-sm);color:var(--color-td-ink)}.td-search-result-title[data-v-999e1838] mark{color:var(--color-td-accent);background:0 0}.td-search-result-path[data-v-999e1838]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-search-result-excerpt[data-v-999e1838]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-3);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.td-search-result-excerpt[data-v-999e1838] mark{color:var(--color-td-accent);background:0 0;font-weight:600}.td-search-empty[data-v-999e1838]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-4);margin-top:8px;padding:8px 10px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter Variable", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", monospace;--spacing:.25rem;--breakpoint-lg:64rem;--font-weight-extrabold:800;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-td-pg:#fbf9f7;--color-td-surf:#f5f2ee;--color-td-hov:#f1ede6;--color-td-sel:#b5471f1a;--color-td-ink:#1f1c19;--color-td-ink-2:#48423b;--color-td-ink-3:#6b635b;--color-td-ink-4:#7c746b;--color-td-line:#e4dfd7;--color-td-line-soft:#ede8e1;--color-td-accent:#b5471f;--color-td-accent-hi:#93381a;--color-td-link:#3d6b99;--color-td-link-hover:#2e5278;--color-td-tip:#10b981;--color-td-tip-bg:#10b98114;--color-td-info:#3b82f6;--color-td-info-bg:#3b82f614;--color-td-warning:#eab308;--color-td-warning-text:#ca8a04;--color-td-warning-bg:#eab30814;--color-td-danger:#ef4444;--color-td-danger-bg:#ef444414;--color-td-diff-add:#10b981;--color-td-diff-add-bg:#10b98124;--color-td-diff-remove:#f43f5e;--color-td-diff-remove-bg:#f43f5e24;--color-td-tooltip-bg:#000;--color-td-tooltip-fg:#fff;--color-td-code-bg:#f3f0ea;--color-td-code-header-bg:#ede9e1;--color-td-code-num-bg:#e8e3db;--color-td-code-hl-bg:#e8e2d5;--color-td-code-num-hl-bg:#e0d9cc;--color-td-code-fg:#3a362f;--font-size-td-2xs:11px;--font-size-td-xs:12.5px;--font-size-td-sm:13.5px;--font-size-td-sub:14.5px;--font-size-td-base:16px;--font-size-td-md:17px;--font-size-td-lg:20px;--font-size-td-xl:25px;--font-size-td-2xl:40px;--leading-td-tight:1.12;--leading-td-heading:1.25;--leading-td-normal:1.5;--leading-td-relaxed:1.72;--leading-td-loose:1.8;--tracking-td-tight:-.028em;--tracking-td-heading:-.024em;--tracking-td-wide:.07em;--ease-td-out-quart:cubic-bezier(.33, 1, .68, 1);--radius-td-sm:4px;--radius-td-md:6px;--radius-td-lg:8px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.border{border-style:var(--tw-border-style);border-width:1px}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.leading-none{--tw-leading:1;line-height:1}.leading-td-relaxed{--tw-leading:var(--leading-td-relaxed);line-height:var(--leading-td-relaxed)}.leading-td-tight{--tw-leading:var(--leading-td-tight);line-height:var(--leading-td-tight)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.tracking-td-tight{--tw-tracking:var(--tracking-td-tight);letter-spacing:var(--tracking-td-tight)}.text-td-accent{color:var(--color-td-accent)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:text-td-accent-hi:hover{color:var(--color-td-accent-hi)}}}:root{--td-sidebar-width:260px;--td-toc-width:216px;--td-content-max:704px;--td-header-height:56px;--duration-td-fast:.15s;--duration-td-move:.2s;--duration-td-open:.24s;--duration-td-drawer:.26s}.dark{--color-td-pg:#1a1816;--color-td-surf:#231f1c;--color-td-hov:#2e2a26;--color-td-sel:#c578501f;--color-td-ink:#d4d0ce;--color-td-ink-2:#bab6b4;--color-td-ink-3:#9b9797;--color-td-ink-4:#7d7979;--color-td-line:#3a3634;--color-td-line-soft:#2e2a28;--color-td-accent:#c4885e;--color-td-accent-hi:#d4a07a;--color-td-link:#8b9fe8;--color-td-link-hover:#a8b8f0;--color-td-tip-bg:#10b9811f;--color-td-info-bg:#3b82f61f;--color-td-warning-bg:#eab3081f;--color-td-danger-bg:#ef44441f;--color-td-code-bg:#201d1a;--color-td-code-header-bg:#282421;--color-td-code-num-bg:#282421;--color-td-code-hl-bg:#ffffff0f;--color-td-code-num-hl-bg:#ffffff17;--color-td-code-fg:#d4d0ce}body{font-family:var(--font-sans);font-size:var(--font-size-td-base);line-height:var(--leading-td-relaxed);color:var(--color-td-ink-2);background-color:var(--color-td-pg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400}.td-collapse{transition:grid-template-rows var(--duration-td-open) var(--ease-td-out-quart);grid-template-rows:minmax(0,1fr);display:grid}.td-collapse.is-collapsed{grid-template-rows:minmax(0,0fr)}.td-collapse>*{min-height:0;overflow:hidden}::selection{background:var(--color-td-sel)}:focus-visible{outline:2px solid var(--color-td-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.td-header,.td-sidebar-left,.td-rail,.td-drawer,.td-drawer-scrim,.td-skip-link,.td-toc-inline,.td-frontmatter-inline,.td-previous-next,.td-page-edit{display:none!important}.td-page,.td-main-and-rail{display:block}.td-content{max-width:100%;padding:0}}.td-navigating,.td-navigating *{cursor:wait!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.td-content h1,.td-content h2,.td-content h3,.td-content h4,.td-content h5,.td-content h6{font-family:var(--font-sans);color:var(--color-td-ink);overflow-wrap:break-word;scroll-margin-top:calc(var(--td-header-height) + 24px);font-weight:600}.td-content h1{font-size:var(--font-size-td-2xl);line-height:var(--leading-td-tight);letter-spacing:var(--tracking-td-tight);font-variation-settings:"opsz" 28;margin-top:2.25rem;margin-bottom:.5rem}.td-content h1:first-child{margin-top:0}.td-content h2{font-size:var(--font-size-td-xl);line-height:var(--leading-td-heading);letter-spacing:var(--tracking-td-heading);font-variation-settings:"opsz" 28;border-bottom:1px solid var(--color-td-line);margin-top:56px;margin-bottom:26px;padding-bottom:12px}.td-content h3{font-size:var(--font-size-td-lg);line-height:var(--leading-td-heading);letter-spacing:-.016em;margin-top:40px;margin-bottom:12px}.td-content h4{font-size:var(--font-size-td-md);line-height:var(--leading-td-heading);letter-spacing:-.01em;margin-top:28px;margin-bottom:8px}.td-content h5{font-size:var(--font-size-td-sub);line-height:var(--leading-td-normal);margin-top:24px;margin-bottom:6px}.td-content h6{font-size:var(--font-size-td-xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-3);margin-top:24px;margin-bottom:6px}.td-content p{font-size:var(--font-size-td-base);line-height:var(--leading-td-relaxed);text-wrap:pretty;overflow-wrap:break-word;margin:18px 0}.td-content a{color:var(--color-td-link);text-underline-offset:3px;transition:color var(--duration-td-fast) var(--ease-td-out-quart);text-decoration:none}.td-content a:hover{color:var(--color-td-link-hover);text-decoration:underline}.td-content .td-external-link-icon{color:var(--color-td-link);vertical-align:-1px}.td-content .td-header-anchor{color:var(--color-td-link);opacity:0;transition:opacity var(--duration-td-move) var(--ease-td-out-quart);padding-right:.25em;font-weight:500;text-decoration:none}.td-content .td-header-anchor:before{content:"#"}.td-content h1:hover .td-header-anchor,.td-content h2:hover .td-header-anchor,.td-content h3:hover .td-header-anchor,.td-content h4:hover .td-header-anchor,.td-content h5:hover .td-header-anchor,.td-content h6:hover .td-header-anchor{opacity:1}.td-content .td-header-anchor--copied:before{content:"✓";color:var(--color-td-tip)}.td-content ul{margin:1rem 0;padding-left:1.25rem;list-style-type:disc}.td-content ol{margin:1rem 0;padding-left:1.25rem;list-style-type:decimal}.td-content li{line-height:var(--leading-td-relaxed);margin:.5rem 0}.td-content li>ul,.td-content li>ol{margin:.25rem 0}.td-content .td-task-list{padding-left:0;list-style:none}.td-content .td-task-list-item{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.td-content .td-task-list-item input[type=checkbox]{flex-shrink:0;margin-top:.375rem}.td-content .td-task-list-item>span{flex:1;min-width:0}.td-content .td-task-list-item>.td-task-list{flex-basis:100%;padding-left:1.5rem}.td-mermaid,.td-d2{text-align:center;margin:1rem 0}.td-mermaid svg,.td-d2 svg{max-width:100%;height:auto}.td-mermaid figcaption,.td-d2 figcaption{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);margin-top:8px}.td-mermaid-placeholder,.td-d2-placeholder{background:var(--color-td-surf);border:1px solid var(--color-td-line);border-radius:var(--radius-td-md);min-height:120px;margin:1rem 0;position:relative}.td-mermaid-placeholder:before,.td-d2-placeholder:before{content:"";border:2px solid var(--color-td-line);border-top-color:var(--color-td-ink-3);border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;animation:.6s linear infinite td-spin;position:absolute;top:50%;left:50%}.td-mermaid-error,.td-d2-error{border:1px solid var(--color-td-danger)}.td-github-placeholder{background:var(--color-td-surf);border:1px solid var(--color-td-line);border-radius:var(--radius-td-md);min-height:120px;margin:1rem 0;position:relative}.td-github-placeholder:before{content:"";border:2px solid var(--color-td-line);border-top-color:var(--color-td-ink-3);border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;animation:.6s linear infinite td-spin;position:absolute;top:50%;left:50%}.td-github-error{border:1px solid var(--color-td-danger)}.td-content .td-github-wrapper{margin:16px 0}.td-content .td-github-wrapper iframe{border:none;display:block}.td-content .td-embed{margin:16px auto}.td-content .td-embed-wrapper{border:1px solid var(--color-td-line);border-radius:var(--radius-td-lg);background:var(--color-td-surf);width:100%;margin:16px auto;position:relative;overflow:hidden}.td-content .td-embed-wrapper:before{content:"";border:2px solid var(--color-td-line);border-top-color:var(--color-td-ink-3);z-index:0;border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;animation:.6s linear infinite td-spin;position:absolute;top:50%;left:50%}@keyframes td-spin{to{transform:rotate(360deg)}}.td-content .td-embed-wrapper iframe{z-index:1;border:none;outline:none;width:100%;height:100%;position:absolute;inset:0}.td-content .td-embed-wrapper[style]{background:0 0;border:none}.td-content .td-embed-wrapper[style]:before{display:none}.td-content .td-embed-wrapper:not([style]){aspect-ratio:16/9}.td-content .td-embed figcaption{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);margin-top:8px}.td-content blockquote{border-left:3px solid var(--color-td-line);color:var(--color-td-ink-3);margin:1rem 0;padding:0 1rem}.td-content blockquote>p{margin:.5rem 0}.td-content blockquote div[class*=language-]{border-radius:8px;margin-left:0;margin-right:0}.td-content hr{background:var(--color-td-line);border:none;height:2px;margin:2rem 0}.td-content img{outline:none;max-width:100%;height:auto;display:block}.td-content figure:not(.td-code-block){text-align:center;margin:16px 0}.td-content figure:not(.td-code-block) img{border-radius:var(--radius-td-md);margin:0 auto}.td-content figure:not(.td-code-block) figcaption{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);margin-top:8px}.td-content table{border-collapse:collapse;width:100%;font-size:var(--font-size-td-sm);margin:1.5rem 0;display:block;overflow-x:auto}.td-content th{text-align:left;font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-3);border-bottom:2px solid var(--color-td-line);padding:.5rem;position:relative}.td-content th:not(:last-child):after{content:"";cursor:col-resize;width:6px;height:100%;position:absolute;top:0;right:0}.td-content th.is-near-border:after,.td-content th.is-resizing:after{background:var(--color-td-accent);opacity:.3;width:2px;right:2px}.td-content td{text-align:left;border-bottom:1px solid var(--color-td-line);padding:.5rem}.td-content tbody tr:hover{background:color-mix(in srgb, var(--color-td-ink) 4%, transparent)}.td-table-resize-handle{cursor:col-resize;z-index:1;width:5px;height:100%;position:absolute;top:0;right:-2px}.td-table-resize-handle:hover,.td-table-resize-handle:active{background:var(--color-td-accent);opacity:.3}.td-content strong{font-weight:600}.td-content em{font-style:italic}.td-content mjx-container{overflow:auto hidden}.td-content mjx-container:not([display=true]){display:inline-block}.td-content :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--font-size-td-sm);color:var(--color-td-ink);font-weight:500}.td-content :not(pre)>code{font-family:var(--font-mono);background-color:var(--color-td-hov);border-radius:var(--radius-td-sm);padding:3px 6px}.td-content h1>code,.td-content h2>code,.td-content h3>code,.td-content h4>code{font-size:.9em}.td-content a>code{color:var(--color-td-link)}.td-content a:hover>code{color:var(--color-td-link-hover)}.td-content figure.td-code-block{border:1px solid var(--color-td-line);background-color:var(--color-td-code-bg);margin:16px -24px;position:relative;overflow:hidden}@media (width>=40rem){.td-content figure.td-code-block{border-radius:var(--radius-td-lg);margin:16px 0}}.td-content .td-code-header{border-bottom:1px solid var(--color-td-line);background-color:var(--color-td-code-header-bg);justify-content:space-between;align-items:center;gap:12px;padding:6px 10px 6px 16px;display:flex}.td-content .td-code-left{align-items:center;gap:10px;min-width:0;display:flex}.td-content .td-code-lang{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);letter-spacing:.04em;color:var(--color-td-ink-4);-webkit-user-select:none;user-select:none;border-radius:var(--radius-td-sm);border:1px solid var(--color-td-line);background-color:var(--color-td-code-bg);flex-shrink:0;padding:1px 6px;font-weight:500}.td-content .td-code-label{font-family:var(--font-mono);color:var(--color-td-ink-4);-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.td-content figure.td-code-block.has-title .td-code-label{color:var(--color-td-ink)}.td-content .td-code-linecount{color:var(--color-td-ink-4);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:12px}.td-content .td-code-actions{flex-shrink:0;align-items:center;display:flex}.td-content .td-code-copy{border:1px solid var(--color-td-line);border-radius:var(--radius-td-md);background-color:var(--color-td-pg);height:32px;font-family:var(--font-sans);color:var(--color-td-ink-3);cursor:pointer;opacity:0;transition:opacity var(--duration-td-move) var(--ease-td-out-quart), background-color var(--duration-td-move) var(--ease-td-out-quart);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.td-content figure.td-code-block:hover .td-code-copy,.td-content .td-code-copy:focus-visible{opacity:1}.td-content .td-code-copy:hover{background-color:var(--color-td-hov)}.td-content .td-code-copy.copied{opacity:1;color:var(--color-td-tip);border-color:var(--color-td-tip)}.td-content .td-code-copy.copied .td-code-copy-text:after{content:attr(data-copied)}.td-content figure.td-code-block pre{z-index:1;text-align:left;background:0 0;margin:0;padding:14px 0;position:relative;overflow-x:auto}.td-content figure.td-code-block pre,.td-content figure.td-code-block code{tab-size:4}.td-content figure.td-code-block code{width:fit-content;min-width:100%;font-family:var(--font-mono);font-size:13px;line-height:var(--leading-td-loose);color:var(--color-td-code-fg);background:0 0;padding:0 20px;display:block}.td-content .shiki{background-color:var(--shiki-light-bg,var(--color-td-code-bg))}.td-content .shiki span,.td-content .td-code-col span{color:var(--shiki-light,inherit)}.dark .td-content .shiki{background-color:var(--color-td-code-bg)}.dark .td-content .shiki span,.dark .td-content .td-code-col span{color:var(--shiki-dark,inherit)}.td-content figure.td-code-block.line-numbers-mode pre{padding:0}.td-content figure.td-code-block.line-numbers-mode code{width:auto;min-width:auto;padding:0}.td-content .td-code-row{min-width:max-content;font-family:var(--font-mono);font-size:13px;line-height:24px;display:flex}.td-content .td-code-row:first-child .td-code-num,.td-content .td-code-row:first-child .td-code-col{padding-top:12px}.td-content .td-code-row:last-child .td-code-num,.td-content .td-code-row:last-child .td-code-col{padding-bottom:12px}.td-content .td-code-row.highlighted{background-color:var(--color-td-code-hl-bg)}.td-content .td-code-num{box-sizing:border-box;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-td-ink-4);background-color:var(--color-td-code-num-bg);border-right:1px solid var(--color-td-line);-webkit-user-select:none;user-select:none;flex:0 0 52px;padding-right:14px;position:sticky;left:0}.td-content .td-code-row.highlighted .td-code-num{background-color:var(--color-td-code-num-hl-bg);color:var(--color-td-ink-3)}.td-content .td-code-col{white-space:pre;color:var(--color-td-code-fg);padding:0 24px 0 20px}.td-content figure.td-code-block .line.diff{width:calc(100% + 40px);margin:0 -20px;padding:0 20px;display:inline-block}.td-content figure.td-code-block .line.diff.add{background-color:var(--color-td-diff-add-bg)}.td-content figure.td-code-block .line.diff.add:before{content:"+";color:var(--color-td-diff-add);position:absolute;left:8px}.td-content figure.td-code-block .line.diff.remove{background-color:var(--color-td-diff-remove-bg);opacity:.7}.td-content figure.td-code-block .line.diff.remove:before{content:"-";color:var(--color-td-diff-remove);position:absolute;left:8px}.td-content figure.td-code-block .has-focused-lines .line:not(.has-focus){opacity:.4;transition:opacity var(--duration-td-move) var(--ease-td-out-quart)}.td-content figure.td-code-block .has-focused-lines:hover .line:not(.has-focus){opacity:1}.td-content figure.td-code-block .line.highlighted{background-color:#0000000a;width:calc(100% + 40px);margin:0 -20px;padding:0 20px;display:inline-block}.dark .td-content figure.td-code-block .line.highlighted{background-color:#ffffff0f}.td-content figure.td-code-block .line.highlighted.error{background-color:var(--color-td-diff-remove-bg)}.td-content figure.td-code-block .line.highlighted.warning{background-color:var(--color-td-warning-bg)}.td-content div[class*=language-]{background-color:var(--color-td-code-bg);margin:16px -24px;position:relative;overflow-x:auto}@media (width>=40rem){.td-content div[class*=language-]{border-radius:8px;margin:16px 0}}.td-content div[class*=language-] pre{z-index:1;text-align:left;background:0 0;margin:0;padding:20px 0;position:relative;overflow-x:auto}.td-content div[class*=language-] pre,.td-content div[class*=language-] code{tab-size:4}.td-content div[class*=language-] code{width:fit-content;min-width:100%;font-size:13px;line-height:var(--leading-td-loose);color:var(--color-td-code-fg);background:0 0;padding:0 24px;display:block}.td-content div[class*=language-]>span.lang{z-index:2;font-size:var(--font-size-td-2xs);color:#fff6;font-weight:500;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;position:absolute;top:2px;right:8px}.td-content div[class*=language-]>button.copy{z-index:3;background-color:var(--color-td-code-bg);cursor:pointer;opacity:0;border:1px solid #ffffff26;border-radius:4px;width:32px;height:32px;position:absolute;top:12px;right:12px}.td-content div[class*=language-]:hover .copy,.td-content div[class*=language-] .copy:focus{opacity:1}.td-content .td-callout{border-left:4px solid;margin:16px 0;padding:12px 16px}.td-content .td-callout-title{font-weight:600;font-size:var(--font-size-td-sm);margin-bottom:8px}.td-content .td-callout p{margin:8px 0}.td-content .td-callout.tip{border-color:var(--color-td-tip);background-color:var(--color-td-tip-bg)}.td-content .td-callout.tip .td-callout-title{color:var(--color-td-tip)}.td-content .td-callout.info,.td-content .td-callout.note{border-color:var(--color-td-info);background-color:var(--color-td-info-bg)}.td-content .td-callout.info .td-callout-title,.td-content .td-callout.note .td-callout-title{color:var(--color-td-info)}.td-content .td-callout.warning,.td-content .td-callout.important,.td-content .td-callout.caution{border-color:var(--color-td-warning);background-color:var(--color-td-warning-bg)}.td-content .td-callout.warning .td-callout-title,.td-content .td-callout.important .td-callout-title,.td-content .td-callout.caution .td-callout-title{color:var(--color-td-warning-text)}.td-content .td-callout.danger{border-color:var(--color-td-danger);background-color:var(--color-td-danger-bg)}.td-content .td-callout.danger .td-callout-title{color:var(--color-td-danger)}.td-content details.td-callout{border-left:none;border:1px solid var(--color-td-line-soft);padding:0}.td-content details.td-callout summary{font-weight:600;font-size:var(--font-size-td-sm);cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 16px}.td-content details.td-callout summary:hover{color:var(--color-td-link)}.td-content details.td-callout[open] summary{border-bottom:1px solid var(--color-td-line-soft);margin-bottom:8px}.td-content details.td-callout>:not(summary):not(div[class*=language-]){padding:0 16px}.td-content details.td-callout>div[class*=language-]{border-radius:8px;margin:8px 16px}.td-content .td-callout div[class*=language-]{border-radius:8px;margin-left:0;margin-right:0}.td-skip-link[data-v-98e349b6]{z-index:50;background:var(--color-td-accent);color:#fff;font-size:var(--font-size-td-sm);border-radius:4px;padding:8px 16px;text-decoration:none;position:absolute;top:-100%;left:16px}.td-skip-link[data-v-98e349b6]:focus{top:8px}.td-header[data-v-98e349b6]{height:var(--td-header-height);border-bottom:1px solid var(--color-td-line);background:var(--color-td-surf);z-index:40;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.td-header-left[data-v-98e349b6]{align-items:center;gap:12px;display:flex}.td-header-right[data-v-98e349b6]{align-items:center;gap:2px;display:flex}.td-header-icon-link[data-v-98e349b6]{width:36px;height:36px;color:var(--color-td-ink-4);transition:color var(--duration-td-move) var(--ease-td-out-quart);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.td-header-icon-link[data-v-98e349b6]:hover{color:var(--color-td-accent)}.td-header-breadcrumb[data-v-98e349b6]{font-size:var(--font-size-td-xs)}.td-brand[data-v-98e349b6]{color:var(--color-td-accent);transition:color var(--duration-td-move) var(--ease-td-out-quart);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.td-brand[data-v-98e349b6]:hover{color:var(--color-td-accent-hi)}.td-brand-name[data-v-98e349b6]{font-family:var(--font-sans);font-weight:800;font-size:var(--font-size-td-base);letter-spacing:var(--tracking-td-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-page[data-v-98e349b6]{min-height:calc(100vh - var(--td-header-height));display:flex}.td-main-and-rail[data-v-98e349b6]{grid-template-columns:minmax(0, 1fr) var(--td-toc-width);flex:1;min-width:0;display:grid}.td-main[data-v-98e349b6]{min-width:0}.td-content[data-v-98e349b6]{padding:44px 56px 48px}.td-page-eyebrow[data-v-98e349b6]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-accent);margin-bottom:6px;font-weight:500}.td-page-icon[data-v-98e349b6]{color:var(--color-td-accent);margin-bottom:8px}.td-page-title[data-v-98e349b6]{font-family:var(--font-sans);font-weight:600;font-size:var(--font-size-td-2xl);line-height:var(--leading-td-tight);letter-spacing:var(--tracking-td-tight);font-variation-settings:"opsz" 28;color:var(--color-td-ink);margin:0 0 8px}.td-page-meta[data-v-98e349b6]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);margin-bottom:8px}.td-page-edit[data-v-98e349b6]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart);margin-top:16px;text-decoration:none;display:inline-block}.td-page-edit[data-v-98e349b6]:hover{color:var(--color-td-accent)}.td-menu-button[data-v-98e349b6]{display:none}.td-sidebar-left[data-v-98e349b6]{top:var(--td-header-height);height:calc(100vh - var(--td-header-height));flex-direction:column;flex-shrink:0;display:flex;position:sticky;overflow:clip}.td-sidebar-search[data-v-98e349b6]{flex-shrink:0;padding:12px 10px}.td-resize-handle[data-v-98e349b6]{cursor:col-resize;z-index:10;width:5px;height:100%;position:absolute;top:0;right:-2px}.td-resize-handle[data-v-98e349b6]:hover,.td-resize-handle[data-v-98e349b6]:active{background:var(--color-td-accent);opacity:.3}.td-drawer-scrim[data-v-98e349b6]{z-index:49;opacity:0;pointer-events:none;transition:opacity .22s var(--ease-td-out-quart);background:#0006;position:fixed;inset:0}.td-drawer-scrim.is-open[data-v-98e349b6]{opacity:1;pointer-events:auto}.td-drawer[data-v-98e349b6]{z-index:50;background:var(--color-td-pg);border-right:1px solid var(--color-td-line);overscroll-behavior:contain;width:300px;max-width:min(85vw,500px);transition:transform var(--duration-td-drawer) var(--ease-td-out-quart);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:clip auto;transform:translate(-100%)}.td-drawer.is-open[data-v-98e349b6]{transform:translate(0)}.td-drawer-header[data-v-98e349b6]{height:var(--td-header-height);border-bottom:1px solid var(--color-td-line);background:var(--color-td-surf);z-index:1;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:sticky;top:0}.td-frontmatter-inline[data-v-98e349b6],.td-toc-inline[data-v-98e349b6]{display:none}.td-toc-inline[data-v-98e349b6]{margin:16px 0 0}@media (width<75rem){.td-rail[data-v-98e349b6]{display:none}.td-main-and-rail[data-v-98e349b6]{grid-template-columns:1fr}.td-frontmatter-inline[data-v-98e349b6]{margin-bottom:16px;display:block}.td-toc-inline[data-v-98e349b6]{display:block}}@media (width<56.25rem){.td-header[data-v-98e349b6]{padding:0 16px}.td-menu-button[data-v-98e349b6]{display:inline-flex}.td-sidebar-left[data-v-98e349b6],.td-header-breadcrumb[data-v-98e349b6]{display:none}.td-content[data-v-98e349b6]{padding:24px 16px 60px}}
|
|
1
|
+
.td-dir-row[data-v-2e4028bc]{border-bottom:1px solid var(--color-td-line-soft);color:var(--color-td-ink);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);align-items:center;gap:12px;padding:11px 4px;text-decoration:none;display:flex}.td-dir-row[data-v-2e4028bc]:hover{background:var(--color-td-sel)}.td-dir-icon[data-v-2e4028bc]{color:var(--color-td-ink-4);flex-shrink:0}.td-dir-parent[data-v-2e4028bc]{font-weight:600;font-size:var(--font-size-td-sm);color:var(--color-td-ink-4)}.td-dir-name[data-v-2e4028bc]{font-weight:600;font-size:var(--font-size-td-sm)}.td-dir-count[data-v-2e4028bc]{font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);margin-left:auto}.td-flashcard[data-v-f2a71f0c]{-webkit-user-select:none;user-select:none;cursor:pointer;perspective:max(100vw,100vh);grid-template:1fr/1fr;min-height:8rem;display:grid}.td-flashcard-face[data-v-f2a71f0c]{backface-visibility:hidden;box-sizing:border-box;border:1px solid var(--color-td-ink-4);background:var(--color-td-surf);color:var(--color-td-ink);font-size:var(--font-size-td-base);line-height:var(--leading-td-relaxed);transition-property:transform;transition-duration:var(--duration-slow,.3s);transition-timing-function:var(--ease-default,ease);border-radius:.75rem;flex-direction:column;grid-area:1/1;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.td-flashcard-face-key[data-v-f2a71f0c]{background:var(--color-td-sel);border-color:var(--color-td-accent);transform:rotateY(180deg)}.td-flashcard.is-revealed .td-flashcard-face-question[data-v-f2a71f0c]{transform:rotateY(180deg)}.td-flashcard.is-revealed .td-flashcard-face-key[data-v-f2a71f0c]{transform:rotateY(0)}.td-flashcard-face-key[data-v-f2a71f0c],.td-flashcard.is-revealed .td-flashcard-face-question[data-v-f2a71f0c]{pointer-events:none}.td-flashcard.is-revealed .td-flashcard-face-key[data-v-f2a71f0c]{pointer-events:auto}.td-flashcard-label[data-v-f2a71f0c]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-3);margin:0;font-weight:600;line-height:1}.td-flashcard-face-key .td-flashcard-label[data-v-f2a71f0c]{color:var(--color-td-accent)}.td-flashcard-body[data-v-f2a71f0c]{text-align:left;overflow-wrap:anywhere;flex-direction:column;flex:1;justify-content:center;display:flex}.td-flashcard-body [data-v-f2a71f0c-s]:first-child{margin-top:0}.td-flashcard-body [data-v-f2a71f0c-s]:last-child{margin-bottom:0}.td-flashcard[data-v-f2a71f0c]:focus-visible{outline:2px solid var(--color-td-link);outline-offset:3px}.td-flashcard.is-disabled[data-v-f2a71f0c]{cursor:not-allowed;opacity:.5}@media (prefers-reduced-motion:reduce){.td-flashcard-face[data-v-f2a71f0c]{transition-duration:0s}}.td-grid[data-v-88c6703c]{display:grid}.td-grid-cell[data-v-035b2ee6]{min-width:0}.td-glossary-row[data-v-9ad74790],.td-glossary-row[data-v-9ad74790]:hover{border-bottom:1px solid var(--color-td-line-soft);color:inherit;transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);flex-direction:column;gap:2px;padding:10px 4px;text-decoration:none;display:flex}.td-glossary-row[data-v-9ad74790]:last-child{border-bottom:none}.td-glossary-row[data-v-9ad74790]:hover{background:var(--color-td-sel)}.td-glossary-row:hover .td-glossary-row-title[data-v-9ad74790]{text-decoration:underline}.td-glossary-row-title[data-v-9ad74790]{font-size:var(--font-size-td-base);color:var(--color-td-accent);font-weight:800}.td-glossary-row-time[data-v-9ad74790]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4)}.td-glossary-row-desc[data-v-9ad74790]{font-size:var(--font-size-td-xs);line-height:var(--leading-td-normal);color:var(--color-td-ink-4);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-glossary-row-stub[data-v-9ad74790]{color:var(--color-td-ink-4);font-style:italic}.td-glossary-row-tags[data-v-9ad74790]{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.td-glossary-row-tag[data-v-9ad74790]{border:1px solid var(--color-td-line-soft);background:var(--color-td-pg);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);border-radius:999px;padding:1px 8px}.td-glossary-filter[data-v-e6d21e87]{border:1px solid var(--color-td-line-soft);background:var(--color-td-pg);border-radius:7px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 12px;display:flex}.td-glossary-filter-icon[data-v-e6d21e87]{color:var(--color-td-ink-4);flex-shrink:0}.td-glossary-filter-input[data-v-e6d21e87]{font-size:var(--font-size-td-xs);color:var(--color-td-ink);background:0 0;border:none;outline:none;flex:1}.td-glossary-filter-input[data-v-e6d21e87]::placeholder{color:var(--color-td-ink-4)}.td-glossary-empty[data-v-e6d21e87]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-4);padding:16px 4px;font-style:italic}.td-glossary-letter-row[data-v-e6d21e87]{align-items:center;gap:10px;margin-top:24px;padding-bottom:4px;display:flex}.td-glossary-letter-row[data-v-e6d21e87]:first-child{margin-top:0}.td-glossary-letter[data-v-e6d21e87]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);color:var(--color-td-accent);font-weight:500}.td-glossary-letter-line[data-v-e6d21e87]{background:var(--color-td-line-soft);flex:1;height:1px}.td-glossary-letter-count[data-v-e6d21e87]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4)}.td-glossary-columns[data-v-e6d21e87]{column-count:3;column-gap:32px}.td-glossary-dense-group[data-v-e6d21e87]{break-inside:avoid;flex-direction:column;gap:2px;margin-bottom:18px;display:flex}.td-glossary-dense-link[data-v-e6d21e87]{font-size:var(--font-size-td-sm);color:var(--color-td-accent);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;text-decoration:none;display:block;overflow:hidden}.td-glossary-dense-link[data-v-e6d21e87]:hover{color:var(--color-td-accent-hi)}@media (width<75rem){.td-glossary-columns[data-v-e6d21e87]{column-count:2}}@media (width<56.25rem){.td-glossary-columns[data-v-e6d21e87]{column-count:1}}.td-inline-icon[data-v-ed097470]{vertical-align:-2px;margin-right:2px;display:inline}.td-icon-btn[data-v-b1861a4a]{cursor:pointer;width:30px;height:30px;color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.td-icon-btn[data-v-b1861a4a]:hover{color:var(--color-td-ink)}.td-icon-btn[data-v-b1861a4a]:active{transform:scale(.94)}.td-tooltip-trigger[data-v-953f5bd3]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.td-tooltip{z-index:1000;max-width:300px;font-size:var(--font-size-td-xs);color:var(--color-td-tooltip-fg);background:var(--color-td-tooltip-bg);border:1px solid var(--color-td-line);pointer-events:auto;word-break:break-word;white-space:normal;border-radius:6px;padding:7px 12px 6px;line-height:1.4;position:absolute;box-shadow:0 2px 8px #0000001f}.td-tooltip-arrow{background:var(--color-td-tooltip-bg);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.td-tree-label[data-v-9ff3968e]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);cursor:pointer;align-items:center;gap:4px;padding:6px 17px 6px 10px;display:flex}.td-tree-label[data-v-9ff3968e]:hover{color:var(--color-td-ink)}.td-tree-label-text[data-v-9ff3968e]{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.td-tree-index-btn[data-v-9ff3968e]{color:var(--color-td-accent);transition:color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:4px;justify-content:center;align-items:center;padding:2px;text-decoration:none;display:flex}.td-tree-index-btn[data-v-9ff3968e]:hover,.td-tree-index-btn.is-active[data-v-9ff3968e]{color:var(--color-td-accent)}.td-tree-count[data-v-9ff3968e]{font-family:var(--font-mono);font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);letter-spacing:normal;text-transform:none;margin-left:auto}.td-tree-caret[data-v-9ff3968e]{transition:transform var(--duration-td-fast) var(--ease-td-out-quart);flex-shrink:0}.td-tree-caret.is-collapsed[data-v-9ff3968e]{transform:rotate(-90deg)}.td-tree-children[data-v-9ff3968e]{border-left:1px solid var(--color-td-line-soft);margin-left:16px}.td-tree-file-icon[data-v-9ff3968e]{color:var(--color-td-ink-4);flex-shrink:0}.td-tree-link[data-v-9ff3968e]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart), padding var(--duration-td-fast) var(--ease-td-out-quart), color var(--duration-td-fast) var(--ease-td-out-quart);align-items:center;gap:6px;padding:5px 10px;text-decoration:none;display:flex}.td-tree-link[data-v-9ff3968e]:hover{background-color:var(--color-td-hov);color:var(--color-td-ink);padding-left:13px}.td-tree-link-text[data-v-9ff3968e]{flex:1;min-width:0}.td-tree-time[data-v-9ff3968e]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);flex-shrink:0;margin-left:auto}.td-tree-link.is-active[data-v-9ff3968e]{background-color:var(--color-td-sel);border-left-color:var(--color-td-accent);color:var(--color-td-accent);font-weight:600}.td-tree-index-entry[data-v-9ff3968e]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4)}.td-tree-index-entry[data-v-9ff3968e]:hover{color:var(--color-td-ink-3)}.td-tree-more[data-v-9ff3968e]{cursor:pointer;font-size:var(--font-size-td-xs);color:var(--color-td-accent);transition:color var(--duration-td-fast) var(--ease-td-out-quart);background:0 0;border:none;padding:5px 12px;display:block}.td-tree-more[data-v-9ff3968e]:hover{color:var(--color-td-accent-hi)}.td-nav[data-v-d02f24f2]{padding-bottom:min(40vh,300px)}.td-root-link[data-v-d02f24f2]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart), padding var(--duration-td-fast) var(--ease-td-out-quart), color var(--duration-td-fast) var(--ease-td-out-quart);border-left:3px solid #0000;align-items:center;gap:6px;padding:5px 17px 5px 10px;text-decoration:none;display:flex}.td-root-link[data-v-d02f24f2]:hover{background-color:var(--color-td-hov);color:var(--color-td-ink);padding-left:13px}.td-root-link.is-active[data-v-d02f24f2]{background-color:var(--color-td-sel);border-left-color:var(--color-td-accent);color:var(--color-td-accent);font-weight:600}.td-root-link-text[data-v-d02f24f2]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.td-root-link-time[data-v-d02f24f2]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);flex-shrink:0;margin-left:auto}.td-root-link-icon[data-v-d02f24f2]{color:var(--color-td-ink-4);flex-shrink:0}.td-footer[data-v-50e2a5bc]{border-top:1px solid var(--color-td-line);background:var(--color-td-surf);font-family:var(--font-mono);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.5rem 24px;display:flex}.td-footer-link[data-v-50e2a5bc]{color:var(--color-td-accent);font-weight:500}.td-footer-link[data-v-50e2a5bc]:hover{text-decoration:underline}.td-dropdown[data-v-80759150]{position:relative}.td-dropdown-panel[data-v-80759150]{z-index:50;background:var(--color-td-pg);border:1px solid var(--color-td-line-soft);border-radius:8px;min-width:160px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0000001a}.td-breadcrumb[data-v-3400a7c6]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-4);align-items:center;gap:2px;min-width:0;display:flex}.td-breadcrumb-sep[data-v-3400a7c6]{margin:0 2px}.td-breadcrumb-link[data-v-3400a7c6],.td-breadcrumb-current[data-v-3400a7c6]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.td-breadcrumb-link[data-v-3400a7c6]{color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart);text-decoration:none}.td-breadcrumb-home[data-v-3400a7c6]{flex-shrink:0}.td-breadcrumb-link[data-v-3400a7c6]:hover{color:var(--color-td-accent)}.td-breadcrumb-current[data-v-3400a7c6]{color:var(--color-td-ink-3)}.td-breadcrumb-ellipsis[data-v-3400a7c6]{vertical-align:middle;cursor:pointer;color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart), background-color var(--duration-td-fast) var(--ease-td-out-quart);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 4px;display:inline-flex}.td-breadcrumb-ellipsis[data-v-3400a7c6]:hover{color:var(--color-td-ink);background:var(--color-td-hov)}.td-breadcrumb-dropdown-item[data-v-3400a7c6]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:4px;padding:6px 10px;text-decoration:none;display:block}.td-breadcrumb-dropdown-item[data-v-3400a7c6]:hover{background:var(--color-td-hov);color:var(--color-td-accent)}.td-header-nav[data-v-4df0cda6]{align-items:center;gap:.25rem;margin-left:auto;margin-right:1rem;display:none}@media (width>=64rem){.td-header-nav[data-v-4df0cda6]{display:flex}}.td-header-nav-link[data-v-4df0cda6]{border-radius:var(--radius-td-sm);font-size:var(--font-size-td-sm);color:var(--color-td-ink-4);transition:color var(--duration-td-move) var(--ease-td-out-quart), background-color var(--duration-td-fast) var(--ease-td-out-quart);align-items:center;gap:.125rem;padding:4px 10px;text-decoration:none;display:inline-flex}.td-header-nav-link[data-v-4df0cda6]:hover{color:var(--color-td-accent);background-color:var(--color-td-hov)}.td-header-nav-link.is-active[data-v-4df0cda6]{color:var(--color-td-accent);background-color:var(--color-td-sel)}.td-menu-nav[data-v-f3c16d10]{flex-direction:column;padding:.5rem 0;display:flex}.td-menu-nav[data-v-f3c16d10]:after{content:"";background:color-mix(in srgb, var(--color-td-line) 50%, transparent);height:1px;margin:.5rem 1rem 0;display:block}.td-menu-nav-item[data-v-f3c16d10]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.625rem 1rem;text-decoration:none;display:flex}.td-menu-nav-item[data-v-f3c16d10]:hover{background-color:var(--color-td-hov)}.td-menu-nav-item.is-active[data-v-f3c16d10]{background-color:var(--color-td-sel);border-left-color:var(--color-td-accent);color:var(--color-td-accent);font-weight:600}.td-widget-checkbox[data-v-13241c06]{align-items:center;display:inline-flex}.td-widget-checkbox-icon[data-v-13241c06]{color:var(--color-td-ink-4)}.td-widget-checkbox-icon.is-checked[data-v-13241c06]{color:var(--color-td-accent)}.td-widget-relation-wrapper[data-v-e593af69]{align-items:flex-start;display:inline-flex}.td-widget-ref[data-v-e593af69]{color:var(--color-td-link);align-items:flex-start;gap:4px;text-decoration:none;display:inline-flex}.td-widget-ref[data-v-e593af69]:hover{color:var(--color-td-link-hover);text-decoration:underline}.td-widget-ref-icon[data-v-e593af69]{flex-shrink:0;margin-top:.2em}.td-widget-external-icon[data-v-e593af69]{flex-shrink:0;margin-top:.2em;margin-left:3px}.td-widget-image-preview[data-v-e593af69]{border:1px solid var(--color-td-line-soft);width:180px;height:260px;box-shadow:0 2px 6px color-mix(in srgb, var(--color-td-ink) 8%, transparent);transition:transform var(--duration-td-fast) var(--ease-td-out-quart), box-shadow var(--duration-td-fast) var(--ease-td-out-quart);vertical-align:middle;background-color:var(--color-td-surf);border-radius:8px;display:inline-block;overflow:hidden}.td-widget-image-preview[data-v-e593af69]:hover{box-shadow:0 4px 12px color-mix(in srgb, var(--color-td-ink) 12%, transparent);transform:scale(1.02)}.td-widget-image-img[data-v-e593af69]{object-fit:cover;width:100%;height:100%;display:block}.td-widget-file-link[data-v-e593af69]{color:var(--color-td-ink-3);font-size:var(--font-size-td-base);background-color:var(--color-td-surf);border:1px solid var(--color-td-line-soft);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart), border-color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:4px;align-items:center;gap:8px;padding:4px 8px;line-height:1.4;text-decoration:none;display:inline-flex}.td-widget-file-link[data-v-e593af69]:hover{background-color:var(--color-td-hov);text-decoration:none}.td-widget-file-icon[data-v-e593af69]{width:20px;height:20px;color:var(--color-td-ink-4);flex-shrink:0}.td-widget-file-name[data-v-e593af69]{word-break:break-all}.td-widget-list[data-v-bc659020]{margin:0;padding-left:1.25rem;list-style-type:disc}.td-widget-list-icons[data-v-bc659020]{padding-left:0;list-style-type:none}.td-widget-list-icons li[data-v-bc659020]{align-items:baseline;gap:6px;display:flex}.td-widget-list-icon[data-v-bc659020]{color:var(--color-td-link);flex-shrink:0;position:relative;top:2.5px}.td-widget-list li[data-v-bc659020]{font-size:var(--font-size-td-sm);margin:0}.td-widget-more[data-v-bc659020]{color:var(--color-td-ink-4);font-size:var(--font-size-td-sm);cursor:pointer;border-radius:var(--border-radius-td-sm);background:0 0;border:none;margin-top:4px;padding:2px 4px}.td-widget-more[data-v-bc659020]:hover{color:var(--color-td-accent)}.td-widget-pill[data-v-b3656329]{font-size:var(--font-size-td-xs);border-radius:4px;padding:2px 8px;display:inline-block}.td-widget-more[data-v-b3656329]{cursor:pointer;font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);background:0 0;border:none;padding:2px 0}.td-widget-more[data-v-b3656329]:hover{color:var(--color-td-accent)}.td-widget-pill[data-v-b9e2b4fd]{font-size:var(--font-size-td-xs);border-radius:4px;padding:2px 8px;display:inline-block}.td-widget-image-preview[data-v-09e791ba]{border:1px solid var(--color-td-line-soft);width:180px;height:260px;box-shadow:0 2px 6px color-mix(in srgb, var(--color-td-ink) 8%, transparent);transition:transform var(--duration-td-fast) var(--ease-td-out-quart), box-shadow var(--duration-td-fast) var(--ease-td-out-quart);vertical-align:middle;background-color:var(--color-td-surf);border-radius:8px;display:inline-block;overflow:hidden}.td-widget-image-preview[data-v-09e791ba]:hover{box-shadow:0 4px 12px color-mix(in srgb, var(--color-td-ink) 12%, transparent);transform:scale(1.02)}.td-widget-image-img[data-v-09e791ba]{object-fit:cover;width:100%;height:100%;display:block}.td-widget-file-link[data-v-09e791ba]{color:var(--color-td-ink-3);font-size:var(--font-size-td-base);background-color:var(--color-td-surf);border:1px solid var(--color-td-line-soft);transition:background-color var(--duration-td-fast) var(--ease-td-out-quart), border-color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:4px;align-items:center;gap:8px;padding:4px 8px;line-height:1.4;text-decoration:none;display:inline-flex}.td-widget-file-link[data-v-09e791ba]:hover{background-color:var(--color-td-hov);text-decoration:none}.td-widget-file-icon[data-v-09e791ba]{width:20px;height:20px;color:var(--color-td-ink-4);flex-shrink:0}.td-widget-file-name[data-v-09e791ba]{word-break:break-all}.td-frontmatter-empty[data-v-1deedc98]{color:var(--color-td-ink-4);font-style:italic;font-size:var(--font-size-td-xs)}.td-fm-rail[data-v-27defa8d]{flex-direction:column;display:flex}.td-fm-rail-header[data-v-27defa8d]{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;margin-bottom:6px;padding:0;display:flex}.td-fm-rail-label[data-v-27defa8d]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);font-weight:500}.td-fm-rail-caret[data-v-27defa8d]{color:var(--color-td-ink-4);transition:transform var(--duration-td-fast) var(--ease-td-out-quart)}.td-fm-rail-caret.is-collapsed[data-v-27defa8d]{transform:rotate(-90deg)}.td-fm-rail-row[data-v-27defa8d]{flex-direction:column;gap:3px;padding:9px 0;display:flex}.td-fm-rail-key[data-v-27defa8d]{font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);align-items:center;gap:4px;display:flex}.td-fm-rail-value[data-v-27defa8d]{font-size:var(--font-size-td-xs);flex-wrap:wrap;align-items:center;gap:5px;display:flex}.td-fm-box[data-v-27defa8d]{border:1px solid var(--color-td-line-soft);background:var(--color-td-pg);border-radius:6px;margin:14px 0 0;overflow:hidden}.td-fm-box-header[data-v-27defa8d]{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;display:flex}.td-fm-box-label[data-v-27defa8d]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);font-weight:500}.td-fm-box-count[data-v-27defa8d]{color:var(--color-td-ink-4)}.td-fm-box-toggle[data-v-27defa8d]{font-size:var(--font-size-td-2xs);color:var(--color-td-accent);align-items:center;gap:2px;font-weight:500;display:inline-flex}.td-fm-box-body[data-v-27defa8d]{border-top:1px solid var(--color-td-line-soft);font-size:var(--font-size-td-xs);grid-template-columns:120px 1fr;align-items:start;gap:10px 24px;padding:14px;display:grid}.td-fm-box-key[data-v-27defa8d]{color:var(--color-td-ink-4);align-items:center;gap:4px;display:flex}.td-fm-icon[data-v-27defa8d]{color:var(--color-td-ink-4);flex-shrink:0}.td-fm-box-value[data-v-27defa8d]{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.td-prevnext[data-v-8ea01cd7]{border-top:1px solid var(--color-td-line);grid-template-columns:1fr 1fr;gap:12px;margin-top:64px;padding-top:28px;display:grid}.td-prevnext-link[data-v-8ea01cd7]{border:1px solid var(--color-td-line);border-radius:var(--radius-td-lg);transition:border-color var(--duration-td-move) var(--ease-td-out-quart), background var(--duration-td-move) var(--ease-td-out-quart), transform var(--duration-td-move) var(--ease-td-out-quart);flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.td-prevnext-link[data-v-8ea01cd7]:hover{border-color:var(--color-td-accent);background:var(--color-td-sel);transform:translateY(-1px)}.td-prevnext-link.is-next[data-v-8ea01cd7]{text-align:right}.td-prevnext-label[data-v-8ea01cd7]{letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);align-items:center;gap:2px;font-size:10.5px;font-weight:600;display:inline-flex}.td-prevnext-link.is-next .td-prevnext-label[data-v-8ea01cd7]{justify-content:flex-end}.td-prevnext-chevron[data-v-8ea01cd7]{flex-shrink:0}.td-prevnext-title[data-v-8ea01cd7]{color:var(--color-td-accent);font-size:15px;font-weight:600}@media not all and (width>=56.25rem){.td-prevnext[data-v-8ea01cd7]{grid-template-columns:1fr}.td-prevnext-link.is-next[data-v-8ea01cd7]{text-align:left}.td-prevnext-link.is-next .td-prevnext-label[data-v-8ea01cd7]{justify-content:flex-start}}.td-toc-label[data-v-2b800578]{font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-4);margin-bottom:9px;font-weight:600}.td-toc-list[data-v-2b800578]{border-left:2px solid var(--color-td-line-soft);margin:0;padding:0;list-style:none}.td-toc-list li[data-v-2b800578]{margin:0}.td-toc-link[data-v-2b800578]{color:var(--color-td-ink-3);transition:color var(--duration-td-fast) var(--ease-td-out-quart), border-left-color var(--duration-td-fast) var(--ease-td-out-quart);border-left:2px solid #0000;margin-left:-2px;padding:5px 0 5px 12px;font-size:13px;text-decoration:none;display:block}.td-toc-link[data-v-2b800578]:hover{color:var(--color-td-ink);border-left-color:var(--color-td-ink-4)}.td-toc-link.is-active[data-v-2b800578]{color:var(--color-td-accent);border-left-color:var(--color-td-accent);font-weight:500}.td-toc-indent-1[data-v-2b800578]{padding-left:24px}.td-toc-indent-2[data-v-2b800578]{padding-left:36px}.td-toc-indent-3[data-v-2b800578]{padding-left:48px}.td-rail[data-v-39bd5d5f]{top:var(--td-header-height);height:calc(100vh - var(--td-header-height));overscroll-behavior:contain;border-left:1px solid var(--color-td-line-soft);background:var(--color-td-pg);flex-direction:column;gap:22px;min-width:0;padding:24px 18px 40px;display:flex;position:sticky;overflow-y:auto}.td-skeleton[data-v-312f021d]{flex-direction:column;gap:12px;padding:8px 16px;display:flex}.td-skeleton-line[data-v-312f021d]{background:var(--color-td-surf);border-radius:4px;height:12px;animation:1.5s ease-in-out infinite td-skeleton-pulse-312f021d}@media (prefers-reduced-motion:reduce){.td-skeleton-line[data-v-312f021d]{opacity:.6;animation:none}}@keyframes td-skeleton-pulse-312f021d{0%,to{opacity:.4}50%{opacity:.8}}.td-sidebar-scroll[data-v-bda84418]{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:8px 0 0;overflow:clip auto}.td-kbd-shortcut[data-v-b61b97da]{align-items:center;gap:2px;display:inline-flex}.td-kbd-shortcut kbd[data-v-b61b97da]{border:1px solid var(--color-td-line);background:var(--color-td-pg);min-width:20px;height:20px;font-family:var(--font-sans);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-weight:500;line-height:1;display:inline-flex}.td-search[data-v-999e1838]{padding:16px 16px 12px}.td-search-input-wrap[data-v-999e1838]{border:1px solid var(--color-td-line);background:var(--color-td-pg);transition:border-color var(--duration-td-fast) var(--ease-td-out-quart);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;display:flex}.td-search-input-wrap[data-v-999e1838]:hover{border-color:var(--color-td-ink-4);background:var(--color-td-hov)}.td-search-input-wrap[data-v-999e1838]:focus-within{border-color:var(--color-td-accent)}.td-search-input-wrap:focus-within .td-search-kbd[data-v-999e1838]{display:none}.td-search-kbd[data-v-999e1838]{opacity:.5;flex-shrink:0}.td-search-icon[data-v-999e1838]{color:var(--color-td-ink-4);flex-shrink:0}.td-search-input[data-v-999e1838]{min-width:0;font-size:var(--font-size-td-sm);color:var(--color-td-ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit}.td-search-input[data-v-999e1838]::placeholder{color:var(--color-td-ink-4)}.td-search-count[data-v-999e1838]{font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);flex-shrink:0}.td-search-spinner[data-v-999e1838]{color:var(--color-td-ink-4);flex-shrink:0;animation:.8s linear infinite td-spin-999e1838}@keyframes td-spin-999e1838{to{transform:rotate(360deg)}}.td-search-clear[data-v-999e1838]{cursor:pointer;color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.td-search-clear[data-v-999e1838]:hover{color:var(--color-td-ink)}.td-search-results[data-v-999e1838]{flex-direction:column;margin-top:8px;display:flex}.td-search-result[data-v-999e1838]{transition:background-color var(--duration-td-fast) var(--ease-td-out-quart);flex-direction:column;gap:2px;padding:5px 12px;text-decoration:none;display:flex}.td-search-result[data-v-999e1838]:hover,.td-search-result.is-selected[data-v-999e1838]{background:var(--color-td-hov)}.td-search-result.is-current[data-v-999e1838]{border-left-color:var(--color-td-accent);background:color-mix(in srgb, var(--color-td-accent) 6%, transparent)}.td-search-result.is-current .td-search-result-title[data-v-999e1838]{color:var(--color-td-accent);font-weight:600}.td-search-result-title[data-v-999e1838]{font-size:var(--font-size-td-sm);color:var(--color-td-ink)}.td-search-result-title[data-v-999e1838] mark{color:var(--color-td-accent);background:0 0}.td-search-result-path[data-v-999e1838]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);color:var(--color-td-ink-4);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-search-result-excerpt[data-v-999e1838]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-3);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.td-search-result-excerpt[data-v-999e1838] mark{color:var(--color-td-accent);background:0 0;font-weight:600}.td-search-empty[data-v-999e1838]{font-size:var(--font-size-td-sm);color:var(--color-td-ink-4);margin-top:8px;padding:8px 10px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter Variable", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", monospace;--spacing:.25rem;--breakpoint-lg:64rem;--font-weight-extrabold:800;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-td-pg:#fbf9f7;--color-td-surf:#f5f2ee;--color-td-hov:#f1ede6;--color-td-sel:#b5471f1a;--color-td-ink:#1f1c19;--color-td-ink-2:#48423b;--color-td-ink-3:#6b635b;--color-td-ink-4:#7c746b;--color-td-line:#e4dfd7;--color-td-line-soft:#ede8e1;--color-td-accent:#b5471f;--color-td-accent-hi:#93381a;--color-td-link:#3d6b99;--color-td-link-hover:#2e5278;--color-td-tip:#10b981;--color-td-tip-bg:#10b98114;--color-td-info:#3b82f6;--color-td-info-bg:#3b82f614;--color-td-warning:#eab308;--color-td-warning-text:#ca8a04;--color-td-warning-bg:#eab30814;--color-td-danger:#ef4444;--color-td-danger-bg:#ef444414;--color-td-diff-add:#10b981;--color-td-diff-add-bg:#10b98124;--color-td-diff-remove:#f43f5e;--color-td-diff-remove-bg:#f43f5e24;--color-td-tooltip-bg:#000;--color-td-tooltip-fg:#fff;--color-td-code-bg:#f3f0ea;--color-td-code-header-bg:#ede9e1;--color-td-code-num-bg:#e8e3db;--color-td-code-hl-bg:#e8e2d5;--color-td-code-num-hl-bg:#e0d9cc;--color-td-code-fg:#3a362f;--font-size-td-2xs:11px;--font-size-td-xs:12.5px;--font-size-td-sm:13.5px;--font-size-td-sub:14.5px;--font-size-td-base:16px;--font-size-td-md:17px;--font-size-td-lg:20px;--font-size-td-xl:25px;--font-size-td-2xl:40px;--leading-td-tight:1.12;--leading-td-heading:1.25;--leading-td-normal:1.5;--leading-td-relaxed:1.72;--leading-td-loose:1.8;--tracking-td-tight:-.028em;--tracking-td-heading:-.024em;--tracking-td-wide:.07em;--ease-td-out-quart:cubic-bezier(.33, 1, .68, 1);--radius-td-sm:4px;--radius-td-md:6px;--radius-td-lg:8px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.border{border-style:var(--tw-border-style);border-width:1px}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.leading-none{--tw-leading:1;line-height:1}.leading-td-relaxed{--tw-leading:var(--leading-td-relaxed);line-height:var(--leading-td-relaxed)}.leading-td-tight{--tw-leading:var(--leading-td-tight);line-height:var(--leading-td-tight)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.tracking-td-tight{--tw-tracking:var(--tracking-td-tight);letter-spacing:var(--tracking-td-tight)}.text-td-accent{color:var(--color-td-accent)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:text-td-accent-hi:hover{color:var(--color-td-accent-hi)}}}:root{--td-sidebar-width:260px;--td-toc-width:216px;--td-content-max:704px;--td-header-height:56px;--duration-td-fast:.15s;--duration-td-move:.2s;--duration-td-open:.24s;--duration-td-drawer:.26s}.dark{--color-td-pg:#1a1816;--color-td-surf:#231f1c;--color-td-hov:#2e2a26;--color-td-sel:#c578501f;--color-td-ink:#d4d0ce;--color-td-ink-2:#bab6b4;--color-td-ink-3:#9b9797;--color-td-ink-4:#7d7979;--color-td-line:#3a3634;--color-td-line-soft:#2e2a28;--color-td-accent:#c4885e;--color-td-accent-hi:#d4a07a;--color-td-link:#8b9fe8;--color-td-link-hover:#a8b8f0;--color-td-tip-bg:#10b9811f;--color-td-info-bg:#3b82f61f;--color-td-warning-bg:#eab3081f;--color-td-danger-bg:#ef44441f;--color-td-code-bg:#201d1a;--color-td-code-header-bg:#282421;--color-td-code-num-bg:#282421;--color-td-code-hl-bg:#ffffff0f;--color-td-code-num-hl-bg:#ffffff17;--color-td-code-fg:#d4d0ce}body{font-family:var(--font-sans);font-size:var(--font-size-td-base);line-height:var(--leading-td-relaxed);color:var(--color-td-ink-2);background-color:var(--color-td-pg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400}.td-collapse{transition:grid-template-rows var(--duration-td-open) var(--ease-td-out-quart);grid-template-rows:minmax(0,1fr);display:grid}.td-collapse.is-collapsed{grid-template-rows:minmax(0,0fr)}.td-collapse>*{min-height:0;overflow:hidden}::selection{background:var(--color-td-sel)}:focus-visible{outline:2px solid var(--color-td-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.td-header,.td-sidebar-left,.td-rail,.td-drawer,.td-drawer-scrim,.td-skip-link,.td-toc-inline,.td-frontmatter-inline,.td-previous-next,.td-page-edit{display:none!important}.td-page,.td-main-and-rail{display:block}.td-content{max-width:100%;padding:0}}.td-navigating,.td-navigating *{cursor:wait!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.td-content h1,.td-content h2,.td-content h3,.td-content h4,.td-content h5,.td-content h6{font-family:var(--font-sans);color:var(--color-td-ink);overflow-wrap:break-word;scroll-margin-top:calc(var(--td-header-height) + 24px);font-weight:600}.td-content h1{font-size:var(--font-size-td-2xl);line-height:var(--leading-td-tight);letter-spacing:var(--tracking-td-tight);font-variation-settings:"opsz" 28;margin-top:2.25rem;margin-bottom:.5rem}.td-content h1:first-child{margin-top:0}.td-content h2{font-size:var(--font-size-td-xl);line-height:var(--leading-td-heading);letter-spacing:var(--tracking-td-heading);font-variation-settings:"opsz" 28;border-bottom:1px solid var(--color-td-line);margin-top:56px;margin-bottom:26px;padding-bottom:12px}.td-content h3{font-size:var(--font-size-td-lg);line-height:var(--leading-td-heading);letter-spacing:-.016em;margin-top:40px;margin-bottom:12px}.td-content h4{font-size:var(--font-size-td-md);line-height:var(--leading-td-heading);letter-spacing:-.01em;margin-top:28px;margin-bottom:8px}.td-content h5{font-size:var(--font-size-td-sub);line-height:var(--leading-td-normal);margin-top:24px;margin-bottom:6px}.td-content h6{font-size:var(--font-size-td-xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-3);margin-top:24px;margin-bottom:6px}.td-content p{font-size:var(--font-size-td-base);line-height:var(--leading-td-relaxed);text-wrap:pretty;overflow-wrap:break-word;margin:18px 0}.td-content a{color:var(--color-td-link);text-underline-offset:3px;transition:color var(--duration-td-fast) var(--ease-td-out-quart);text-decoration:none}.td-content a:hover{color:var(--color-td-link-hover);text-decoration:underline}.td-content .td-external-link-icon{color:var(--color-td-link);vertical-align:-1px}.td-content .td-header-anchor{color:var(--color-td-link);opacity:0;transition:opacity var(--duration-td-move) var(--ease-td-out-quart);padding-right:.25em;font-weight:500;text-decoration:none}.td-content .td-header-anchor:before{content:"#"}.td-content h1:hover .td-header-anchor,.td-content h2:hover .td-header-anchor,.td-content h3:hover .td-header-anchor,.td-content h4:hover .td-header-anchor,.td-content h5:hover .td-header-anchor,.td-content h6:hover .td-header-anchor{opacity:1}.td-content .td-header-anchor--copied:before{content:"✓";color:var(--color-td-tip)}.td-content ul{margin:1rem 0;padding-left:1.25rem;list-style-type:disc}.td-content ol{margin:1rem 0;padding-left:1.25rem;list-style-type:decimal}.td-content li{line-height:var(--leading-td-relaxed);margin:.5rem 0}.td-content li>ul,.td-content li>ol{margin:.25rem 0}.td-content .td-task-list{padding-left:0;list-style:none}.td-content .td-task-list-item{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.td-content .td-task-list-item input[type=checkbox]{flex-shrink:0;margin-top:.375rem}.td-content .td-task-list-item>span{flex:1;min-width:0}.td-content .td-task-list-item>.td-task-list{flex-basis:100%;padding-left:1.5rem}.td-mermaid,.td-d2{text-align:center;margin:1rem 0}.td-mermaid svg,.td-d2 svg{max-width:100%;height:auto}.td-mermaid figcaption,.td-d2 figcaption{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);margin-top:8px}.td-mermaid-placeholder,.td-d2-placeholder{background:var(--color-td-surf);border:1px solid var(--color-td-line);border-radius:var(--radius-td-md);min-height:120px;margin:1rem 0;position:relative}.td-mermaid-placeholder:before,.td-d2-placeholder:before{content:"";border:2px solid var(--color-td-line);border-top-color:var(--color-td-ink-3);border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;animation:.6s linear infinite td-spin;position:absolute;top:50%;left:50%}.td-mermaid-error,.td-d2-error{border:1px solid var(--color-td-danger)}.td-github-placeholder{background:var(--color-td-surf);border:1px solid var(--color-td-line);border-radius:var(--radius-td-md);min-height:120px;margin:1rem 0;position:relative}.td-github-placeholder:before{content:"";border:2px solid var(--color-td-line);border-top-color:var(--color-td-ink-3);border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;animation:.6s linear infinite td-spin;position:absolute;top:50%;left:50%}.td-github-error{border:1px solid var(--color-td-danger)}.td-content .td-github-wrapper{margin:16px 0}.td-content .td-github-wrapper iframe{border:none;display:block}.td-content .td-embed{margin:16px auto}.td-content .td-embed-wrapper{border:1px solid var(--color-td-line);border-radius:var(--radius-td-lg);background:var(--color-td-surf);width:100%;margin:16px auto;position:relative;overflow:hidden}.td-content .td-embed-wrapper:before{content:"";border:2px solid var(--color-td-line);border-top-color:var(--color-td-ink-3);z-index:0;border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;animation:.6s linear infinite td-spin;position:absolute;top:50%;left:50%}@keyframes td-spin{to{transform:rotate(360deg)}}.td-content .td-embed-wrapper iframe{z-index:1;border:none;outline:none;width:100%;height:100%;position:absolute;inset:0}.td-content .td-embed-wrapper[style]{background:0 0;border:none}.td-content .td-embed-wrapper[style]:before{display:none}.td-content .td-embed-wrapper:not([style]){aspect-ratio:16/9}.td-content .td-embed figcaption{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);margin-top:8px}.td-content blockquote{border-left:3px solid var(--color-td-line);color:var(--color-td-ink-3);margin:1rem 0;padding:0 1rem}.td-content blockquote>p{margin:.5rem 0}.td-content blockquote div[class*=language-]{border-radius:8px;margin-left:0;margin-right:0}.td-content hr{background:var(--color-td-line);border:none;height:2px;margin:2rem 0}.td-content img{outline:none;max-width:100%;height:auto;display:block}.td-content figure:not(.td-code-block){text-align:center;margin:16px 0}.td-content figure:not(.td-code-block) img{border-radius:var(--radius-td-md);margin:0 auto}.td-content figure:not(.td-code-block) figcaption{font-size:var(--font-size-td-sm);color:var(--color-td-ink-3);margin-top:8px}.td-content table{border-collapse:collapse;width:100%;font-size:var(--font-size-td-sm);margin:1.5rem 0;display:block;overflow-x:auto}.td-content th{text-align:left;font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-ink-3);border-bottom:2px solid var(--color-td-line);padding:.5rem;position:relative}.td-content th:not(:last-child):after{content:"";cursor:col-resize;width:6px;height:100%;position:absolute;top:0;right:0}.td-content th.is-near-border:after,.td-content th.is-resizing:after{background:var(--color-td-accent);opacity:.3;width:2px;right:2px}.td-content td{text-align:left;border-bottom:1px solid var(--color-td-line);padding:.5rem}.td-content tbody tr:hover{background:color-mix(in srgb, var(--color-td-ink) 4%, transparent)}.td-table-resize-handle{cursor:col-resize;z-index:1;width:5px;height:100%;position:absolute;top:0;right:-2px}.td-table-resize-handle:hover,.td-table-resize-handle:active{background:var(--color-td-accent);opacity:.3}.td-content strong{font-weight:600}.td-content em{font-style:italic}.td-content mjx-container{overflow:auto hidden}.td-content mjx-container:not([display=true]){display:inline-block}.td-content :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--font-size-td-sm);color:var(--color-td-ink);font-weight:500}.td-content :not(pre)>code{font-family:var(--font-mono);background-color:var(--color-td-hov);border-radius:var(--radius-td-sm);padding:3px 6px}.td-content h1>code,.td-content h2>code,.td-content h3>code,.td-content h4>code{font-size:.9em}.td-content a>code{color:var(--color-td-link)}.td-content a:hover>code{color:var(--color-td-link-hover)}.td-content figure.td-code-block{border:1px solid var(--color-td-line);background-color:var(--color-td-code-bg);margin:16px -24px;position:relative;overflow:hidden}@media (width>=40rem){.td-content figure.td-code-block{border-radius:var(--radius-td-lg);margin:16px 0}}.td-content .td-code-header{border-bottom:1px solid var(--color-td-line);background-color:var(--color-td-code-header-bg);justify-content:space-between;align-items:center;gap:12px;padding:6px 10px 6px 16px;display:flex}.td-content .td-code-left{align-items:center;gap:10px;min-width:0;display:flex}.td-content .td-code-lang{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);letter-spacing:.04em;color:var(--color-td-ink-4);-webkit-user-select:none;user-select:none;border-radius:var(--radius-td-sm);border:1px solid var(--color-td-line);background-color:var(--color-td-code-bg);flex-shrink:0;padding:1px 6px;font-weight:500}.td-content .td-code-label{font-family:var(--font-mono);color:var(--color-td-ink-4);-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.td-content figure.td-code-block.has-title .td-code-label{color:var(--color-td-ink)}.td-content .td-code-linecount{color:var(--color-td-ink-4);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:12px}.td-content .td-code-actions{flex-shrink:0;align-items:center;display:flex}.td-content .td-code-copy{border:1px solid var(--color-td-line);border-radius:var(--radius-td-md);background-color:var(--color-td-pg);height:32px;font-family:var(--font-sans);color:var(--color-td-ink-3);cursor:pointer;opacity:0;transition:opacity var(--duration-td-move) var(--ease-td-out-quart), background-color var(--duration-td-move) var(--ease-td-out-quart);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.td-content figure.td-code-block:hover .td-code-copy,.td-content .td-code-copy:focus-visible{opacity:1}.td-content .td-code-copy:hover{background-color:var(--color-td-hov)}.td-content .td-code-copy.copied{opacity:1;color:var(--color-td-tip);border-color:var(--color-td-tip)}.td-content .td-code-copy.copied .td-code-copy-text:after{content:attr(data-copied)}.td-content figure.td-code-block pre{z-index:1;text-align:left;background:0 0;margin:0;padding:14px 0;position:relative;overflow-x:auto}.td-content figure.td-code-block pre,.td-content figure.td-code-block code{tab-size:4}.td-content figure.td-code-block code{width:fit-content;min-width:100%;font-family:var(--font-mono);font-size:13px;line-height:var(--leading-td-loose);color:var(--color-td-code-fg);background:0 0;padding:0 20px;display:block}.td-content .shiki{background-color:var(--shiki-light-bg,var(--color-td-code-bg))}.td-content .shiki span,.td-content .td-code-col span{color:var(--shiki-light,inherit)}.dark .td-content .shiki{background-color:var(--color-td-code-bg)}.dark .td-content .shiki span,.dark .td-content .td-code-col span{color:var(--shiki-dark,inherit)}.td-content figure.td-code-block.line-numbers-mode pre{padding:0}.td-content figure.td-code-block.line-numbers-mode code{width:auto;min-width:auto;padding:0}.td-content .td-code-row{min-width:max-content;font-family:var(--font-mono);font-size:13px;line-height:24px;display:flex}.td-content .td-code-row:first-child .td-code-num,.td-content .td-code-row:first-child .td-code-col{padding-top:12px}.td-content .td-code-row:last-child .td-code-num,.td-content .td-code-row:last-child .td-code-col{padding-bottom:12px}.td-content .td-code-row.highlighted{background-color:var(--color-td-code-hl-bg)}.td-content .td-code-num{box-sizing:border-box;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-td-ink-4);background-color:var(--color-td-code-num-bg);border-right:1px solid var(--color-td-line);-webkit-user-select:none;user-select:none;flex:0 0 52px;padding-right:14px;position:sticky;left:0}.td-content .td-code-row.highlighted .td-code-num{background-color:var(--color-td-code-num-hl-bg);color:var(--color-td-ink-3)}.td-content .td-code-col{white-space:pre;color:var(--color-td-code-fg);padding:0 24px 0 20px}.td-content figure.td-code-block .line.diff{width:calc(100% + 40px);margin:0 -20px;padding:0 20px;display:inline-block}.td-content figure.td-code-block .line.diff.add{background-color:var(--color-td-diff-add-bg)}.td-content figure.td-code-block .line.diff.add:before{content:"+";color:var(--color-td-diff-add);position:absolute;left:8px}.td-content figure.td-code-block .line.diff.remove{background-color:var(--color-td-diff-remove-bg);opacity:.7}.td-content figure.td-code-block .line.diff.remove:before{content:"-";color:var(--color-td-diff-remove);position:absolute;left:8px}.td-content figure.td-code-block .has-focused-lines .line:not(.has-focus){opacity:.4;transition:opacity var(--duration-td-move) var(--ease-td-out-quart)}.td-content figure.td-code-block .has-focused-lines:hover .line:not(.has-focus){opacity:1}.td-content figure.td-code-block .line.highlighted{background-color:#0000000a;width:calc(100% + 40px);margin:0 -20px;padding:0 20px;display:inline-block}.dark .td-content figure.td-code-block .line.highlighted{background-color:#ffffff0f}.td-content figure.td-code-block .line.highlighted.error{background-color:var(--color-td-diff-remove-bg)}.td-content figure.td-code-block .line.highlighted.warning{background-color:var(--color-td-warning-bg)}.td-content div[class*=language-]{background-color:var(--color-td-code-bg);margin:16px -24px;position:relative;overflow-x:auto}@media (width>=40rem){.td-content div[class*=language-]{border-radius:8px;margin:16px 0}}.td-content div[class*=language-] pre{z-index:1;text-align:left;background:0 0;margin:0;padding:20px 0;position:relative;overflow-x:auto}.td-content div[class*=language-] pre,.td-content div[class*=language-] code{tab-size:4}.td-content div[class*=language-] code{width:fit-content;min-width:100%;font-size:13px;line-height:var(--leading-td-loose);color:var(--color-td-code-fg);background:0 0;padding:0 24px;display:block}.td-content div[class*=language-]>span.lang{z-index:2;font-size:var(--font-size-td-2xs);color:#fff6;font-weight:500;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;position:absolute;top:2px;right:8px}.td-content div[class*=language-]>button.copy{z-index:3;background-color:var(--color-td-code-bg);cursor:pointer;opacity:0;border:1px solid #ffffff26;border-radius:4px;width:32px;height:32px;position:absolute;top:12px;right:12px}.td-content div[class*=language-]:hover .copy,.td-content div[class*=language-] .copy:focus{opacity:1}.td-content .td-callout{border-left:4px solid;margin:16px 0;padding:12px 16px}.td-content .td-callout-title{font-weight:600;font-size:var(--font-size-td-sm);margin-bottom:8px}.td-content .td-callout p{margin:8px 0}.td-content .td-callout.tip{border-color:var(--color-td-tip);background-color:var(--color-td-tip-bg)}.td-content .td-callout.tip .td-callout-title{color:var(--color-td-tip)}.td-content .td-callout.info,.td-content .td-callout.note{border-color:var(--color-td-info);background-color:var(--color-td-info-bg)}.td-content .td-callout.info .td-callout-title,.td-content .td-callout.note .td-callout-title{color:var(--color-td-info)}.td-content .td-callout.warning,.td-content .td-callout.important,.td-content .td-callout.caution{border-color:var(--color-td-warning);background-color:var(--color-td-warning-bg)}.td-content .td-callout.warning .td-callout-title,.td-content .td-callout.important .td-callout-title,.td-content .td-callout.caution .td-callout-title{color:var(--color-td-warning-text)}.td-content .td-callout.danger{border-color:var(--color-td-danger);background-color:var(--color-td-danger-bg)}.td-content .td-callout.danger .td-callout-title{color:var(--color-td-danger)}.td-content details.td-callout{border-left:none;border:1px solid var(--color-td-line-soft);padding:0}.td-content details.td-callout summary{font-weight:600;font-size:var(--font-size-td-sm);cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 16px}.td-content details.td-callout summary:hover{color:var(--color-td-link)}.td-content details.td-callout[open] summary{border-bottom:1px solid var(--color-td-line-soft);margin-bottom:8px}.td-content details.td-callout>:not(summary):not(div[class*=language-]){padding:0 16px}.td-content details.td-callout>div[class*=language-]{border-radius:8px;margin:8px 16px}.td-content .td-callout div[class*=language-]{border-radius:8px;margin-left:0;margin-right:0}.td-skip-link[data-v-98e349b6]{z-index:50;background:var(--color-td-accent);color:#fff;font-size:var(--font-size-td-sm);border-radius:4px;padding:8px 16px;text-decoration:none;position:absolute;top:-100%;left:16px}.td-skip-link[data-v-98e349b6]:focus{top:8px}.td-header[data-v-98e349b6]{height:var(--td-header-height);border-bottom:1px solid var(--color-td-line);background:var(--color-td-surf);z-index:40;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.td-header-left[data-v-98e349b6]{align-items:center;gap:12px;display:flex}.td-header-right[data-v-98e349b6]{align-items:center;gap:2px;display:flex}.td-header-icon-link[data-v-98e349b6]{width:36px;height:36px;color:var(--color-td-ink-4);transition:color var(--duration-td-move) var(--ease-td-out-quart);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.td-header-icon-link[data-v-98e349b6]:hover{color:var(--color-td-accent)}.td-header-breadcrumb[data-v-98e349b6]{font-size:var(--font-size-td-xs)}.td-brand[data-v-98e349b6]{color:var(--color-td-accent);transition:color var(--duration-td-move) var(--ease-td-out-quart);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.td-brand[data-v-98e349b6]:hover{color:var(--color-td-accent-hi)}.td-brand-name[data-v-98e349b6]{font-family:var(--font-sans);font-weight:800;font-size:var(--font-size-td-base);letter-spacing:var(--tracking-td-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-page[data-v-98e349b6]{min-height:calc(100vh - var(--td-header-height));display:flex}.td-main-and-rail[data-v-98e349b6]{grid-template-columns:minmax(0, 1fr) var(--td-toc-width);flex:1;min-width:0;display:grid}.td-main[data-v-98e349b6]{min-width:0}.td-content[data-v-98e349b6]{padding:44px 56px 48px}.td-page-eyebrow[data-v-98e349b6]{font-family:var(--font-mono);font-size:var(--font-size-td-2xs);letter-spacing:var(--tracking-td-wide);text-transform:uppercase;color:var(--color-td-accent);margin-bottom:6px;font-weight:500}.td-page-icon[data-v-98e349b6]{color:var(--color-td-accent);margin-bottom:8px}.td-page-title[data-v-98e349b6]{font-family:var(--font-sans);font-weight:600;font-size:var(--font-size-td-2xl);line-height:var(--leading-td-tight);letter-spacing:var(--tracking-td-tight);font-variation-settings:"opsz" 28;color:var(--color-td-ink);margin:0 0 8px}.td-page-meta[data-v-98e349b6]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);margin-bottom:8px}.td-page-edit[data-v-98e349b6]{font-size:var(--font-size-td-xs);color:var(--color-td-ink-4);transition:color var(--duration-td-fast) var(--ease-td-out-quart);margin-top:16px;text-decoration:none;display:inline-block}.td-page-edit[data-v-98e349b6]:hover{color:var(--color-td-accent)}.td-menu-button[data-v-98e349b6]{display:none}.td-sidebar-left[data-v-98e349b6]{top:var(--td-header-height);height:calc(100vh - var(--td-header-height));flex-direction:column;flex-shrink:0;display:flex;position:sticky;overflow:clip}.td-sidebar-search[data-v-98e349b6]{flex-shrink:0;padding:12px 10px}.td-resize-handle[data-v-98e349b6]{cursor:col-resize;z-index:10;width:5px;height:100%;position:absolute;top:0;right:-2px}.td-resize-handle[data-v-98e349b6]:hover,.td-resize-handle[data-v-98e349b6]:active{background:var(--color-td-accent);opacity:.3}.td-drawer-scrim[data-v-98e349b6]{z-index:49;opacity:0;pointer-events:none;transition:opacity .22s var(--ease-td-out-quart);background:#0006;position:fixed;inset:0}.td-drawer-scrim.is-open[data-v-98e349b6]{opacity:1;pointer-events:auto}.td-drawer[data-v-98e349b6]{z-index:50;background:var(--color-td-pg);border-right:1px solid var(--color-td-line);overscroll-behavior:contain;width:300px;max-width:min(85vw,500px);transition:transform var(--duration-td-drawer) var(--ease-td-out-quart);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:clip auto;transform:translate(-100%)}.td-drawer.is-open[data-v-98e349b6]{transform:translate(0)}.td-drawer-header[data-v-98e349b6]{height:var(--td-header-height);border-bottom:1px solid var(--color-td-line);background:var(--color-td-surf);z-index:1;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:sticky;top:0}.td-frontmatter-inline[data-v-98e349b6],.td-toc-inline[data-v-98e349b6]{display:none}.td-toc-inline[data-v-98e349b6]{margin:16px 0 0}@media (width<75rem){.td-rail[data-v-98e349b6]{display:none}.td-main-and-rail[data-v-98e349b6]{grid-template-columns:1fr}.td-frontmatter-inline[data-v-98e349b6]{margin-bottom:16px;display:block}.td-toc-inline[data-v-98e349b6]{display:block}}@media (width<56.25rem){.td-header[data-v-98e349b6]{padding:0 16px}.td-menu-button[data-v-98e349b6]{display:inline-flex}.td-sidebar-left[data-v-98e349b6],.td-header-breadcrumb[data-v-98e349b6]{display:none}.td-content[data-v-98e349b6]{padding:24px 16px 60px}}
|
|
2
2
|
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
3
|
"name": "typerighter",
|
|
4
|
-
"version": "0.53.
|
|
4
|
+
"version": "0.53.2",
|
|
5
5
|
"description": "Typedown: A typed content framework.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"@lucide/vue": "^1.47.0",
|
|
62
62
|
"@shikijs/transformers": "^4.4.3",
|
|
63
63
|
"@tailwindcss/vite": "^4.3.3",
|
|
64
|
-
"@typerighter/rpc-client": "0.53.
|
|
65
|
-
"@typerighter/rpc-server": "0.53.
|
|
64
|
+
"@typerighter/rpc-client": "0.53.2",
|
|
65
|
+
"@typerighter/rpc-server": "0.53.2",
|
|
66
66
|
"@vitejs/plugin-vue": "^6.0.10",
|
|
67
67
|
"cac": "^7.1.0",
|
|
68
68
|
"picocolors": "^1.1.1",
|