geneseed 3.13.0 → 3.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +93 -0
- package/SHIPPED.md +1 -1
- package/adapters/opencode/plugins/geneseed-context.js +23 -9
- package/adapters/opencode/plugins/geneseed-guard.js +16 -4
- package/adapters/opencode/plugins/geneseed-learn.js +45 -10
- package/adapters/opencode/plugins/geneseed-notify.js +37 -19
- package/adapters/opencode/plugins/geneseed-workflow.js +3 -1
- package/adapters/opencode/workflows/_runtime.js +16 -3
- package/bin/geneseed-cli.mjs +32 -34
- package/bin/geneseed-hook.mjs +28 -18
- package/docs/extending.md +5 -5
- package/harness.config.json +1 -1
- package/js/README.md +28 -15
- package/js/build/args.mjs +375 -0
- package/js/build/bundle.mjs +10 -10
- package/js/build/driver.mjs +145 -560
- package/js/build/emit-claude.mjs +5 -6
- package/js/build/emit-common.mjs +2 -14
- package/js/build/emit-opencode.mjs +12 -8
- package/js/build/generate.mjs +21 -14
- package/js/build/render.mjs +6 -10
- package/js/build/source.mjs +9 -17
- package/js/build/stubs.mjs +6 -5
- package/js/build/version.mjs +21 -2
- package/js/hosts/hooks-context.mjs +432 -0
- package/js/hosts/hooks-learn.mjs +275 -0
- package/js/hosts/hooks-prims.mjs +108 -0
- package/js/hosts/hooks.mjs +50 -977
- package/js/hosts/hosts.mjs +31 -25
- package/js/hosts/installs.mjs +38 -20
- package/js/hosts/link.mjs +75 -26
- package/js/hosts/mcp.mjs +12 -48
- package/js/hosts/memory-files.mjs +190 -0
- package/js/hosts/native.mjs +106 -48
- package/js/hosts/opencode.mjs +44 -36
- package/js/hosts/settings.mjs +135 -414
- package/js/hosts/shim.mjs +375 -0
- package/js/inspect/checks-authoring.mjs +21 -828
- package/js/inspect/checks-build.mjs +4 -4
- package/js/inspect/checks-constitution.mjs +493 -0
- package/js/inspect/checks-counts.mjs +242 -0
- package/js/inspect/checks-repo.mjs +17 -8
- package/js/inspect/diff.mjs +9 -7
- package/js/inspect/doctor.mjs +2 -2
- package/js/inspect/excludes.mjs +10 -5
- package/js/inspect/inventory.mjs +4 -4
- package/js/inspect/scan.mjs +1 -1
- package/js/inspect/status.mjs +19 -22
- package/js/inspect/validate.mjs +50 -37
- package/js/lib/fs.mjs +12 -11
- package/js/lib/json.mjs +4 -4
- package/js/lib/paths.mjs +27 -33
- package/js/lib/proc.mjs +3 -3
- package/js/lib/prompt.mjs +132 -0
- package/js/lib/text.mjs +18 -4
- package/js/lib/udiff.mjs +3 -2
- package/js/loop/catalog.mjs +5 -3
- package/js/loop/cli.mjs +26 -12
- package/js/loop/graph.mjs +1 -1
- package/js/loop/registry.mjs +10 -15
- package/js/loop/score.mjs +1 -1
- package/js/loop/state.mjs +35 -11
- package/js/maintain/memory.mjs +6 -7
- package/js/maintain/migrate.mjs +22 -33
- package/js/maintain/setup.mjs +9 -131
- package/js/maintain/uninstall.mjs +57 -97
- package/js/maintain/update.mjs +115 -34
- package/js/ui/anim.mjs +8 -12
- package/js/ui/cli.mjs +37 -43
- package/js/ui/menu.mjs +7 -13
- package/js/ui/tui.mjs +14 -123
- package/js/web/actions.mjs +109 -403
- package/js/web/activity.mjs +1 -1
- package/js/web/api.mjs +41 -725
- package/js/web/catalog.mjs +527 -0
- package/js/web/daemon.mjs +21 -3
- package/js/web/docs.mjs +29 -72
- package/js/web/handler.mjs +51 -27
- package/js/web/jobs.mjs +24 -2
- package/js/web/routes.mjs +61 -6
- package/js/web/server.mjs +4 -4
- package/js/web/state.mjs +138 -0
- package/js/web/user-files.mjs +339 -0
- package/package.json +1 -1
- package/web/dist/assets/Activity-kpWxd70F.js +1 -0
- package/web/dist/assets/ActivityDetail-Ccr942VL.js +1 -0
- package/web/dist/assets/Dashboard-D1lE7jcg.js +2 -0
- package/web/dist/assets/Docs-BHyaggFy.js +5 -0
- package/web/dist/assets/FilterInput-CVyqmYWM.js +1 -0
- package/web/dist/assets/GreenhouseView-Sc_UDMOE.js +2 -0
- package/web/dist/assets/Installs-Gw-pJ3Zi.js +2 -0
- package/web/dist/assets/JournalView-_gxpsxXi.js +1 -0
- package/web/dist/assets/Laws-S9fq1r9T.js +3 -0
- package/web/dist/assets/Library-MBxadRzn.js +1 -0
- package/web/dist/assets/Loops-Da_JhlzM.js +2 -0
- package/web/dist/assets/{Markdown-CdTX0kLe.js → Markdown-X2a3qvOh.js} +11 -11
- package/web/dist/assets/OperatorHudView--TkvDybH.js +2 -0
- package/web/dist/assets/Personal-CTXKHVbV.js +1 -0
- package/web/dist/assets/Tabs-B0cdf8k6.js +1 -0
- package/web/dist/assets/activity-Dr7ZMBI3.js +1 -0
- package/web/dist/assets/api-CxgfYu18.js +1 -0
- package/web/dist/assets/drawable-BbWQxe82.js +1 -0
- package/web/dist/assets/index-Ctp-4poP.css +1 -0
- package/web/dist/assets/index-ujKG1ZNf.js +2 -0
- package/web/dist/assets/{react-Bbzhmq4v.js → react-B9Z_tXRV.js} +1 -1
- package/web/dist/assets/sections-GalMS0Zv.js +1 -0
- package/web/dist/assets/usePoll-DD8VjtSg.js +1 -0
- package/web/dist/index.html +5 -6
- package/web/src/pages/Laws.jsx +0 -1
- package/web/dist/assets/Activity-Ca2Aruu7.js +0 -1
- package/web/dist/assets/ActivityDetail-Bo7v4Z_r.js +0 -1
- package/web/dist/assets/Dashboard-BuMq46aT.js +0 -2
- package/web/dist/assets/Docs-BzccCllG.js +0 -5
- package/web/dist/assets/FilterInput-CBcJBQPI.js +0 -1
- package/web/dist/assets/GreenhouseView-BCIKcnGG.js +0 -2
- package/web/dist/assets/Installs-DMFJvq7s.js +0 -2
- package/web/dist/assets/JournalView-o1rmd1_1.js +0 -1
- package/web/dist/assets/Laws-BANxq_I_.js +0 -3
- package/web/dist/assets/Library-DW4x0fbh.js +0 -1
- package/web/dist/assets/Loops-DEBibbBP.js +0 -2
- package/web/dist/assets/OperatorHudView-CLD0fYaA.js +0 -2
- package/web/dist/assets/Personal-6uMJvyBG.js +0 -1
- package/web/dist/assets/Tabs-BubnyZhF.js +0 -1
- package/web/dist/assets/activity-CObqyxkL.js +0 -1
- package/web/dist/assets/api-D_ixdyEY.js +0 -1
- package/web/dist/assets/drawable-C_x5xncq.js +0 -1
- package/web/dist/assets/index-CMPgezFm.js +0 -2
- package/web/dist/assets/index-DMsT4Aa6.css +0 -1
- package/web/dist/assets/rolldown-runtime-hePW80VL.js +0 -1
- package/web/dist/assets/sections-Dg23Hel5.js +0 -1
- package/web/dist/assets/usePoll-BOqeunzF.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-400-normal-BG6hkEXj.woff2)format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-500-normal-DrDcrrxK.woff2)format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-600-normal-CIXX6EOa.woff2)format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-latin-700-normal-CeQ8H3UY.woff2)format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-400-italic-Bserb8X5.woff2)format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-500-italic-BGfwwhek.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-YINYabwD.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-italic-YylcN9Ay.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-italic-vNvENeTh.woff2)format("woff2")}:root{--bg:#08090b;--bg-2:#0c0e11;--surface:#101317;--surface-2:#14181d;--surface-3:#1b2026;--line:#2c333b;--line-2:#3a434d;--line-3:#4c5762;--text:#eaeef2;--text-2:#9aa6b2;--text-3:#727f8e;--accent:#3ad4c4;--accent-2:#2ba89b;--accent-ink:#04100d;--accent-soft:color-mix(in srgb, var(--accent) 13%, transparent);--accent-line:color-mix(in srgb, var(--accent) 34%, transparent);--good:#4ed888;--warn:#e8b53d;--bad:#ff5c57;--r-xs:4px;--r-sm:7px;--r-md:11px;--r-lg:16px;--r-xl:22px;--rail-w:248px;--topbar-h:64px;--shadow-pop:0 18px 50px -12px #000000b3, 0 2px 0 #ffffff05 inset;--shadow-card:0 1px 0 #ffffff05 inset, 0 14px 40px -28px #000000e6;--font-display:"Hanken Grotesk", system-ui, sans-serif;--font-ui:"Hanken Grotesk", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.55}#root{height:100%}::selection{background:var(--accent-soft);color:var(--text)}a{color:var(--accent-text,var(--accent));text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border:1px solid var(--accent);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 16px;font-size:13px;text-decoration:none;position:fixed;top:8px;left:-999px}.skip-link:focus{left:8px}.atmos{pointer-events:none;z-index:0;background:radial-gradient(900px 520px at 78% -8%, var(--accent-soft), transparent 60%), radial-gradient(700px 600px at -6% 102%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 60%);opacity:.9;position:fixed;inset:0}.atmos:after{content:"";opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");position:absolute;inset:0}.app{z-index:1;color:var(--text);background:var(--bg);grid-template-columns:var(--rail-w) 1fr;scrollbar-color:var(--line-2) transparent;min-height:100%;display:grid;position:relative}.app,.app *{scrollbar-width:thin}.app ::-webkit-scrollbar{width:9px;height:9px}.app ::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}.app ::-webkit-scrollbar-thumb:hover{background:var(--line-3)}.app ::-webkit-scrollbar-track{background:0 0}.app ::-webkit-scrollbar-corner{background:0 0}.col{flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{z-index:6;height:var(--topbar-h);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);align-items:center;gap:16px;padding:0 26px;display:flex;position:sticky;top:0}.topbar-spacer{flex:1}.tb-search{position:relative}.tb-search input{background:var(--surface);width:240px;color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--font-ui);padding:8px 12px 8px 32px;font-size:13px;transition:border-color .14s}.tb-search input:focus{border-color:var(--accent-line);outline:none}.tb-search .mag{width:14px;height:14px;color:var(--text-3);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.kbd{font-family:var(--font-mono);color:var(--text-3);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px;font-size:10px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.spotlight{z-index:12;background:var(--surface);width:380px;max-height:60vh;color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 0;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 14px 40px #00000052}.spot-empty{color:var(--text-3);padding:14px 16px;font-size:12.5px}.spot-group+.spot-group{border-top:1px solid var(--line-2);margin-top:4px;padding-top:4px}.spot-group-head{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding:6px 14px 4px;font-size:10px}.spot-row{cursor:pointer;padding:7px 14px}.spot-row.on{background:color-mix(in srgb, var(--accent) 16%, transparent)}.spot-title{color:var(--text);font-size:13px}.spot-desc{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;overflow:hidden}.page{flex:1;padding:30px 34px 120px;overflow:auto}.page.center{width:100%;max-width:1180px;margin:0 auto}.pad{max-width:1180px;margin:0 auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;font-size:10px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:2px;width:14px;height:2px}h1.h{font-family:var(--font-display);letter-spacing:-.02em;margin:10px 0 4px;font-size:27px;font-weight:600}h2.h{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600}.sub{color:var(--text-2);max-width:70ch;margin:0;font-size:14px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.dim{color:var(--text-3)}svg.glyph{flex:none;width:16px;height:16px}.card{background:linear-gradient(180deg, var(--surface), var(--surface-2));border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.card.pad-lg{padding:22px 24px}.card.pad-md{padding:18px 20px}.act-card{color:inherit;text-decoration:none;transition:border-color .15s,transform .12s;display:block}.act-card:hover{border-color:var(--line-2);transform:translateY(-1px)}.act-chev{color:var(--text-3);transition:color .14s,transform .14s}.act-card:hover .act-chev{color:var(--text);transform:translate(2px)}.card-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-head h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:16.5px;font-weight:600}.card-head .right{align-items:center;gap:8px;margin-left:auto;display:flex}.tick{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:10px}.metric{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:500;line-height:1}.badge{font-family:var(--font-mono);letter-spacing:.02em;border:1px solid var(--line-2);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok{color:var(--good);border-color:color-mix(in srgb, var(--good) 36%, transparent);background:color-mix(in srgb, var(--good) 9%, transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 36%, transparent);background:color-mix(in srgb, var(--warn) 9%, transparent)}.badge.bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 36%, transparent);background:color-mix(in srgb, var(--bad) 9%, transparent)}.badge.acc{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.btn{cursor:pointer;white-space:nowrap;font-family:var(--font-ui);border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);border:1px solid #0000;align-items:center;gap:8px;padding:9px 15px;font-size:13px;font-weight:600;transition:filter .14s,transform 80ms;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;filter:none}.btn.ghost{color:var(--text);border-color:var(--line-2);background:0 0}.btn.ghost:hover{border-color:var(--accent-line);background:var(--surface);filter:none}.btn.soft{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.btn.soft:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);filter:none}.btn.sm{padding:5px 10px;font-size:12px}.stale-banner{color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 36%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.btn .glyph{width:15px;height:15px}.fl-matrix .btn:not(.ghost):not(.soft):not(.btn-grid):disabled{box-shadow:none;background-image:none}.seg{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--text-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;border-radius:5px;padding:6px 13px;font-size:11px;transition:color .14s,background .14s}.seg button:hover{color:var(--text)}.seg button.on{color:var(--accent-ink);background:var(--accent)}.kv{border-bottom:1px solid var(--line);grid-template-columns:168px 1fr;align-items:baseline;gap:16px;padding:11px 0;font-size:13.5px;display:grid}.kv:last-child{border-bottom:0}.kv .k{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.04em;font-size:11.5px}.kv .v{color:var(--text);word-break:break-word}.hr{background:var(--line);border:0;height:1px;margin:22px 0}code{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text);padding:1px 6px;font-size:.92em}.sel{background:var(--surface);color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-sm);font-family:var(--font-mono);cursor:pointer;min-width:180px;padding:9px 12px;font-size:12.5px}.sel:focus{border-color:var(--accent-line);outline:none}.sel option{background:var(--surface-2)}.grid{gap:16px;display:grid}.row{align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{flex-direction:column;display:flex}.grid.split-status{grid-template-columns:1.55fr 1fr;align-items:start}.grid.split-operator{grid-template-columns:1.6fr 1fr;align-items:start}.grid.split-even{grid-template-columns:1fr 1fr;align-items:start}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.hero{grid-template-columns:232px 1fr;align-items:center;gap:28px;display:grid}.ring-wrap{width:232px;height:232px;position:relative}.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center .pct{font-family:var(--font-display);letter-spacing:-.03em;font-size:44px;font-weight:600;line-height:1}.ring-center .lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-top:6px;font-size:9.5px}.hero-facts{flex-direction:column;gap:4px;display:flex}.hero-facts .ttl{font-family:var(--font-display);letter-spacing:-.02em;font-size:25px;font-weight:600}.hero-chips{flex-wrap:wrap;gap:8px;margin:14px 0 18px;display:flex}.chip{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-family:var(--font-mono);align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:inline-flex}.chip .ck{color:var(--text-3)}.chip .cv{color:var(--text)}.kpiband{flex-wrap:wrap;align-items:center;gap:30px;padding:16px 22px;display:flex}.kseg{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;align-items:baseline;gap:9px;padding:0;text-decoration:none;display:flex}.kseg-n{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:27px;font-weight:500;line-height:1}.kseg-n.zero{color:var(--text-3)}.kseg-l{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-size:10px}.kseg:hover .kseg-l{color:var(--accent)}.kseg-spacer{flex:1}.kseg.hot .kseg-n{color:var(--good)}.delta{font-family:var(--font-mono);font-size:11.5px}.delta.up{color:var(--good)}.genome{grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:14px;display:grid}.gcell{cursor:pointer;background:var(--bg-2);box-shadow:none;border-radius:var(--r-md);padding:18px;transition:border-color .15s,transform .15s,background .15s;position:relative;overflow:hidden}.gcell:hover{border-color:var(--accent-line);background:var(--surface-2);transform:translateY(-2px)}.gcell .gtop{justify-content:space-between;align-items:center;display:flex}.gcell .gname{font-family:var(--font-display);font-size:15px;font-weight:600}.gcell .gcount{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:14px 0 4px;font-size:34px;font-weight:500;line-height:1}.gcell .gcount.zero{color:var(--text-3)}.gcell .gdesc{color:var(--text-2);font-size:12.5px}.gcell .gicon{width:20px;height:20px;color:var(--text-3)}.gcell:hover .gicon{color:var(--accent)}.feed{flex-direction:column;display:flex}.feed-row{border-bottom:1px solid var(--line);grid-template-columns:14px 1fr auto;align-items:center;gap:12px;padding:11px 0;display:grid}.feed-row:last-child{border-bottom:0}.feed-dot{background:var(--text-3);border-radius:50%;width:8px;height:8px}.feed-dot.ok{background:var(--good)}.feed-dot.acc{background:var(--accent)}.feed-dot.warn{background:var(--warn)}.feed-dot.bad{background:var(--bad)}.feed-txt{font-size:13px}.feed-txt b{font-weight:600}.feed-when{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--line);padding:0 14px 11px;font-size:10px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px;font-size:13.5px}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover{background:var(--surface-2)}.tbl .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.tbl .name{font-weight:600}.tbl .clickable{cursor:pointer;position:relative}.stretch-link:after{content:"";position:absolute;inset:0}.strand{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;padding:13px 0;display:flex;position:relative}.strand .strand-name{align-items:center;gap:12px;min-width:150px;font-weight:600;display:flex}.strand .strand-link{color:inherit;text-decoration:none}.strand .strand-link:hover{text-decoration:underline}.strand .strand-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.strand .hbar{flex:1;margin:0 16px}.strand .strand-val{font-family:var(--font-mono);text-align:right;width:34px;font-size:14px}.lineage-track{padding-left:26px;position:relative}.lineage-track .spine{background:linear-gradient(var(--accent), var(--line-2));width:2px;position:absolute;top:6px;bottom:18px;left:7px}.lineage-step{position:relative}.lineage-step:not(:last-child){margin-bottom:22px}.lineage-step .node{border:2px solid var(--bg);background:var(--surface-3);border-radius:50%;width:14px;height:14px;position:absolute;top:3px;left:-26px}.lineage-step .node.on{background:var(--accent);box-shadow:0 0 10px var(--accent)}.lineage-step .lt{font-family:var(--font-display);font-size:15px;font-weight:600}.lineage-step .ld{color:var(--text-2);font-size:13px}.lineage-step .ltag{font-family:var(--font-mono);color:var(--text-3);margin-top:2px;font-size:11px}.lib-filter{box-sizing:border-box;background:var(--surface);width:100%;color:var(--text);border:0;border-bottom:1px solid var(--line);font-family:var(--font-mono);padding:10px 16px;font-size:12px}.lib-filter:focus{border-bottom-color:var(--accent-line);outline:none}.lib-filter::placeholder{color:var(--text-3)}.lib-more{font-family:var(--font-mono);color:var(--text-3);border-bottom:1px solid var(--line);padding:12px 16px;font-size:11px}.lib-rows{max-height:calc(100vh - 280px);overflow:auto}.lib-row{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;padding:12px 16px;transition:background .1s;display:block}.lib-row:hover{background:var(--surface-2)}.lib-row.on{background:var(--accent-soft)}.lib-row.on .lr-name{color:var(--accent)}.lib-row .lr-name{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.lib-row .lr-name .mono{color:var(--text-3);font-size:11px}.lib-row .lr-desc{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.lib-group{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--line);padding:10px 16px 4px;font-size:10px}.lib-group .cdot{background:var(--cc,var(--text-3));vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.mf-doc{flex-direction:column;gap:18px;display:flex}.mf-vault{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:14px 16px}.mf-vault-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.mf-vault-name{font-family:var(--font-display);font-size:15px;font-weight:600}.mf-vault-path{color:var(--text-3);font-size:11.5px}.mf-vault-desc{color:var(--text-2);margin:4px 0 10px;font-size:13px}.mf-roles{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.mf-role{border-radius:var(--r-sm);background:var(--bg-2);color:var(--text-2);align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;display:inline-flex}.mf-role .glyph{width:13px;height:13px}.mf-role-danger{color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, transparent)}.mf-entries{border-collapse:collapse;width:100%;font-size:12.5px}.mf-entries td{border-top:1px solid var(--line);vertical-align:top;padding:7px 0}.mf-entries tr:first-child td{border-top:0}.mf-path{width:42%;color:var(--text)}.mf-struck{color:var(--text-3);text-decoration:line-through}.mf-load-cell{white-space:nowrap;width:74px}.mf-edesc{color:var(--text-2)}.mf-load{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid color-mix(in srgb, currentColor 36%, transparent);border-radius:999px;padding:2px 8px;font-size:10px;display:inline-block}.mf-load-ok{color:var(--good)}.mf-load-warn{color:var(--warn)}.mf-load-muted{color:var(--text-3)}.mf-empty{color:var(--text-2)}.mf-empty-title{font-family:var(--font-display);color:var(--text);margin-bottom:6px;font-size:15px;font-weight:600}.mf-empty p{margin:0 0 12px;font-size:13px}.mf-raw{margin-top:16px}.mf-raw-toggle{cursor:pointer;font:inherit;color:var(--text-3);background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:12px;display:inline-flex}.mf-raw-toggle:hover{color:var(--text)}.mf-caret{width:13px;height:13px;transition:transform .12s}.mf-caret.on{transform:rotate(90deg)}.mf-raw-pre{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-mono);color:var(--text-2);margin-top:8px;padding:14px 16px;font-size:12px;overflow:auto}.detail-doc{padding:28px 32px}.detail-doc h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 4px;font-size:24px;font-weight:600}.detail-doc .doc-meta{flex-wrap:wrap;gap:8px;margin:12px 0 22px;display:flex}.detail-doc h2{font-family:var(--font-display);margin:26px 0 8px;font-size:16px;font-weight:600}.detail-doc p{color:var(--text);margin:0 0 12px}.detail-doc ul{color:var(--text);margin:0 0 14px;padding-left:20px}.detail-doc li{margin:4px 0}.detail-doc pre{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-mono);color:var(--text-2);padding:14px 16px;font-size:12.5px;overflow:auto}.check{padding:16px 20px;transition:border-color .15s}.check.bad{border-color:color-mix(in srgb, var(--bad) 34%, var(--line))}.check-head{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;display:flex}.check-head:disabled{cursor:default}.check-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.check-head h3{font-family:var(--font-display);margin:0;font-size:14.5px;font-weight:600}.check-head .chev{color:var(--text-3);margin-left:auto;transition:transform .15s}.check.open .check-head .chev{transform:rotate(90deg)}.check-body{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin:14px 0 0;padding:14px 0 0;display:flex}.problem{color:var(--text-2);font-size:13px;font-family:var(--font-mono);grid-template-columns:16px 1fr;gap:10px;display:grid}.problem .x{color:var(--bad)}.diff-file{overflow:hidden}.diff-head{cursor:pointer;border-bottom:1px solid #0000;align-items:center;gap:12px;padding:13px 18px;display:flex}.diff-file.open .diff-head{border-bottom-color:var(--line)}.diff-head .chk{width:16px;height:16px;accent-color:var(--accent)}.diff-head .fname{font-family:var(--font-mono);font-size:13px;font-weight:500}.diff-body{font-family:var(--font-mono);padding:6px 0;font-size:12.5px;line-height:1.7;overflow:auto}.diff-line{white-space:pre;padding:0 18px}.diff-line.add{background:color-mix(in srgb, var(--good) 9%, transparent);color:var(--good)}.diff-line.del{background:color-mix(in srgb, var(--bad) 9%, transparent);color:var(--bad)}.diff-line.ctx{color:var(--text-3)}.diff-line.hunk{color:var(--accent);background:var(--accent-soft)}.mcp-target{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:14px;overflow:hidden}.mcp-target .mt-head{background:var(--bg-2);font-family:var(--font-mono);color:var(--text-2);align-items:center;gap:8px;padding:11px 16px;font-size:11.5px;display:flex}.mcp-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:13px 16px;display:flex}.sw-toggle{background:var(--surface-3);border:1px solid var(--line-2);cursor:pointer;appearance:none;border-radius:999px;flex:none;width:38px;height:22px;margin:0;padding:0;transition:background .15s;position:relative}.sw-toggle:after{content:"";background:var(--text-2);border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.sw-toggle.on{background:var(--accent-soft);border-color:var(--accent-line)}.sw-toggle.on:after{background:var(--accent);transform:translate(16px)}.console{left:var(--rail-w);z-index:20;background:linear-gradient(180deg, var(--surface), var(--bg-2));border-top:1px solid var(--line-2);flex-direction:column;transition:transform .18s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;bottom:0;right:0;box-shadow:0 -16px 40px -20px #000c}@media (width<=720px){.console{left:0}}.console-head{cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:12px;height:42px;padding:0 18px;display:flex}.console-head .ttl{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:9px;font-size:11px;display:flex}.console-head .ttl .live{background:var(--text-3);border-radius:50%;width:7px;height:7px}.console-head .ttl .live.on{background:var(--warn);animation:1.1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.console-head .count{font-family:var(--font-mono);color:var(--text-3);border:1px solid var(--line-2);border-radius:999px;padding:0 7px;font-size:11px}.console-head .right{align-items:center;gap:6px;margin-left:auto;display:flex}.console-body{font-family:var(--font-mono);flex:1;padding:8px 18px 16px;font-size:12px;line-height:1.6;overflow:auto}.console-empty{color:var(--text-3);padding:14px 0;font-style:italic}.run{margin-bottom:12px}.run-head{align-items:center;gap:9px;display:flex}.run-head .pr{color:var(--accent);font-weight:600}.run-head .act{color:var(--text)}.run-head .st{margin-left:auto;font-size:11px}.run-head .st.running{color:var(--warn)}.run-head .st.done{color:var(--good)}.run-head .st.failed{color:var(--bad)}.run-out{white-space:pre-wrap;color:var(--text-2);border-left:2px solid var(--line-2);margin:5px 0 0;padding-left:12px}.iconbtn{border-radius:var(--r-sm);cursor:pointer;width:28px;height:28px;color:var(--text-2);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.iconbtn:hover{background:var(--surface-3);color:var(--text)}.iconbtn .glyph{width:16px;height:16px}.pop{z-index:30;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-md);width:204px;box-shadow:var(--shadow-pop);max-height:60vh;padding:8px;position:fixed;bottom:72px;left:14px;overflow:auto}.pop-item{border-radius:var(--r-sm);cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.pop-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pop-item:hover{background:var(--surface-3)}.pop-item .po{border-radius:50%;flex:none;width:11px;height:11px}.pop-item .pn{text-transform:capitalize;font-weight:500}.pop-item.on{background:var(--accent-soft)}.pop-item.on .pn{color:var(--accent)}@keyframes rise{0%{transform:translateY(9px)}to{transform:none}}.rise{animation:.5s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:calc(var(--i,0) * 50ms)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.empty{text-align:center;color:var(--text-3);padding:60px 20px}.empty .big{font-family:var(--font-display);color:var(--text-2);margin-bottom:6px;font-size:18px}@media (width<=1180px){.hero{grid-template-columns:1fr}}.app.light{--bg:#e7eaee;--bg-2:#dde2e7;--surface:#f4f6f8;--surface-2:#ebeef1;--surface-3:#e0e5ea;--line:#c2cbd3;--line-2:#a7b2bc;--line-3:#8593a0;--text:#11161b;--text-2:#3c4750;--text-3:#5a6772;--good:#1f9657;--warn:#b07914;--bad:#d23a37;--shadow-card:0 1px 2px #1f2a210a, 0 14px 36px -28px #1f2a2166;--shadow-pop:0 18px 50px -16px #1f2a2147;--shadow-modal:0 24px 60px -18px #1f2a214d}.app.light .atmos{background:radial-gradient(900px 520px at 80% -10%, var(--accent-soft), transparent 62%), radial-gradient(700px 600px at -6% 102%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 60%);opacity:.7}.app.light .atmos:after{opacity:.015}.app.light .topbar{background:color-mix(in srgb, var(--bg) 82%, transparent)}.app.light .card{background:linear-gradient(180deg, #fbfdfc, var(--surface-2))}.app.light .sprout{filter:none}.app.light .console{background:linear-gradient(180deg, var(--surface), var(--bg-2))}.app.light .kbd{color:var(--text-3)}.app.light .diff-line.add{background:color-mix(in srgb, var(--good) 13%, transparent)}.app.light .diff-line.del{background:color-mix(in srgb, var(--bad) 13%, transparent)}.app.light .sel option{background:#fbfdfc}.voice-readout{font-family:var(--font-mono);color:var(--text-2);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);align-items:center;gap:10px;max-width:64ch;margin:4px 0 16px;padding:9px 13px;font-size:12.5px;display:flex}.voice-readout .vr-cur{color:var(--accent);flex:none;font-weight:600}.voice-readout .vr-txt{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast{z-index:40;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-md);max-width:380px;box-shadow:var(--shadow-pop);padding:14px 16px;font-size:13px;transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);position:fixed;bottom:56px;right:18px}@starting-style{.toast{opacity:0;transform:translateY(10px)}}.toast.err{border-color:color-mix(in srgb, var(--bad) 45%, var(--line-2))}.toast.info{border-color:color-mix(in srgb, var(--accent) 45%, var(--line-2))}.run-cancel{margin-left:8px}.detail-doc .markdown h1,.detail-doc .markdown h2,.detail-doc .markdown h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.detail-doc .markdown h1{margin:22px 0 8px;font-size:20px}.detail-doc .markdown h2{margin:22px 0 8px;font-size:16px}.detail-doc .markdown h3{margin:18px 0 6px;font-size:14px}.detail-doc .markdown p{color:var(--text);margin:0 0 12px}.detail-doc .markdown ul,.detail-doc .markdown ol{margin:0 0 14px;padding-left:20px}.detail-doc .markdown li{margin:4px 0}.detail-doc .markdown a{color:var(--accent);border-bottom:1px dashed var(--accent-line)}.detail-doc .markdown pre{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-mono);color:var(--text-2);padding:14px 16px;font-size:12.5px;overflow:auto}.detail-doc .markdown pre code{background:0 0;border:0;padding:0}.detail-doc .markdown blockquote{border-left:2px solid var(--line-2);color:var(--text-2);margin:0 0 12px;padding:2px 14px}.detail-doc .markdown table{border-collapse:collapse;margin:0 0 14px}.detail-doc .markdown th,.detail-doc .markdown td{border:1px solid var(--line);padding:6px 10px;font-size:13px}.loading{color:var(--text-3);font-family:var(--font-mono);padding:40px 0;font-size:12.5px}.skel{gap:10px;max-width:560px;margin-top:16px;display:grid}.skel-bar{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;height:13px;animation:1.3s linear infinite skel-shimmer}.skel-bar:nth-child(2){width:72%}.skel-bar:nth-child(3){width:46%}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:0 0}}dialog.confirm{background:var(--surface);color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);max-width:400px;padding:20px 22px}dialog.confirm::backdrop{background:#0000008c}dialog.confirm[open]{transition:opacity .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1)}dialog.confirm[open]::backdrop{transition:opacity .2s ease-out}@starting-style{dialog.confirm[open]{opacity:0;transform:scale(.96)translateY(6px)}dialog.confirm[open]::backdrop{opacity:0}}.confirm-title{font-family:var(--font-display);margin:0 0 8px;font-size:17px;font-weight:600}.confirm-body{color:var(--text-2);white-space:pre-line;font-size:13px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.law-toolbar .law-filter{border:1px solid var(--line);border-radius:var(--r-sm);max-width:200px;margin:0;padding:8px 12px}.law-toolbar .law-filter:focus{border-color:var(--accent-line)}.mb-14{margin-bottom:14px}.mb-16{margin-bottom:16px}.mb-18{margin-bottom:18px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.narrow{max-width:820px}.narrow-lg{max-width:860px}.docs-wrap{container:docs/inline-size}.library.docs-lib{overflow:clip}.docs-lib .lib-kinds .seg{grid-template-columns:1fr 1fr;margin:0 8px;display:grid}.docs-lib .lib-kinds .seg button{white-space:nowrap;padding:6px 8px}.docs-lib .lib-list-head .track-prog{margin:10px 0 0}.docs-read-mark{color:var(--good);font-size:12px}.docs-crumbs{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.docs-crumbs a{color:var(--text-2)}.docs-crumbs a:hover{color:var(--accent)}.docs-crumbs [aria-current]{color:var(--text)}.docs-read{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;display:grid}.docs-toc{border:1px solid var(--line-2);background:var(--surface);border-radius:10px;margin:6px 0 22px;padding:12px 16px}.docs-toc-head{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:10.5px}.docs-toc ul{margin:0;padding:0;list-style:none}.docs-toc li{padding:2px 0}.docs-toc li.lvl-3{padding-left:14px}.docs-toc a{color:var(--text-2);font-size:13px;text-decoration:none}.docs-toc a:hover{color:var(--accent)}.markdown .docs-here{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:8px;padding:6px 10px}.docs-article{min-width:0}.docs-margin{order:-1;gap:16px;display:grid;position:static;top:16px}.docs-margin .docs-toc{margin:0}.docs-gloss{gap:8px;display:none}.docs-gloss-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:10px 12px}.docs-gloss-card b{font-family:var(--font-mono);color:var(--accent);font-size:12px}.docs-gloss-card p{color:var(--text-2);margin:4px 0 0;font-size:12.5px;line-height:1.45}@container docs (width>=1422px){.library.docs-lib{grid-template-columns:232px minmax(0,280px) minmax(0,1fr)}.docs-read{grid-template-columns:minmax(0,1fr) 210px}.docs-margin{order:0;position:sticky}.docs-gloss{display:grid}}@container docs (width>=869px) and (width<=1421.98px){.library.docs-lib{grid-template-rows:auto 1fr;grid-template-columns:280px minmax(0,1fr)}.docs-lib .lib-kinds{border-bottom:1px solid var(--line);grid-area:1/1}.docs-lib .lib-list{grid-area:2/1}.docs-lib .lib-reader{grid-area:1/2/3/3;padding:28px}}.track-prog{background:var(--surface-3);border-radius:99px;height:3px;overflow:hidden}.track-prog i{background:var(--accent);height:100%;transition:width .3s cubic-bezier(.22,1,.36,1);display:block}.track-bar{border-top:1px solid var(--line);justify-content:space-between;gap:10px;margin-top:28px;padding-top:16px;display:flex}.detail-doc .markdown blockquote.analogy{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-md);color:var(--text);padding:10px 14px}.detail-doc .markdown blockquote.analogy strong:first-child{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:10.5px;display:block}.docs-map{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px;margin-top:18px;display:grid}.map-tree{border:1px solid var(--line);border-radius:var(--r-md);margin:0;padding:0;list-style:none;overflow:hidden}.map-tree li+li{border-top:1px solid var(--line)}.map-node{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 120px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:grid}.map-node:hover{background:var(--surface-2)}.map-node.on{background:var(--accent-soft)}.map-cost{text-align:right;font-size:11.5px}.map-detail{position:sticky;top:16px}.map-detail dl{margin:12px 0 0;font-size:13px}.map-detail dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-top:10px;font-size:10.5px}.map-detail dd{color:var(--text);margin:3px 0 0}@media (width<=1180px){.docs-map{grid-template-columns:1fr}.map-detail{position:static}}@media (width<=720px){.map-node{grid-template-columns:minmax(0,1fr) auto}.map-cost{display:none}}.newhere{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-md);align-items:center;gap:16px;margin-bottom:20px;padding:14px 18px;display:flex}.newhere-body{flex:1;min-width:0}.newhere-body p{color:var(--text-2);margin:2px 0 8px;font-size:13px}.newhere-dots{gap:6px;display:flex}.newhere-dots i{background:var(--line-2);border-radius:99px;width:22px;height:4px}.newhere-dots i.f{background:var(--accent)}.newhere-x{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:18px;line-height:1}.newhere-x:hover{color:var(--text)}@media (width<=720px){.newhere{flex-wrap:wrap}}.cli-card .cli-syn{background:var(--surface);border:1px solid var(--line);font-family:var(--font-mono);white-space:pre-wrap;color:var(--text);border-radius:8px;margin:10px 0;padding:10px 12px;font-size:12.5px}.cli-block{margin-top:10px}.cli-block-head{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:10.5px}.cli-arg{border-bottom:1px dashed var(--line);padding:6px 0}.cli-arg:last-child{border-bottom:0}.cli-arg-name{font-family:var(--font-mono);color:var(--text);font-weight:600}.cli-arg-meta{color:var(--text-3);font-size:11.5px}.cli-arg-help{color:var(--text-2);margin-top:2px;font-size:13px}.glossary-table{border-collapse:collapse;width:100%;font-size:13px}.glossary-table th,.glossary-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}.glossary-table th{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:10.5px;font-weight:500}.glossary-table td.dim{color:var(--text-2)}.fl-cultivar{--bg:#0b0e12;--bg-2:#0f1318;--surface:#14181d;--surface-2:#1b2026;--surface-3:#232a31;--line:#2c333b;--line-2:#3a434d;--line-3:#4c5762;--text:#eaeef2;--text-2:#9aa6b2;--text-3:#758290;--good:#4ed888;--warn:#e8b53d;--bad:#ff6b66;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--font-display:"Hanken Grotesk", system-ui, sans-serif;--font-ui:"Hanken Grotesk", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--shadow-card:0 1px 0 #ffffff08 inset, 0 16px 40px -28px #000000e6}.fl-cultivar.light{--bg:#eef2f1;--bg-2:#e6eceb;--surface:#fbfdfc;--surface-2:#f3f6f6;--surface-3:#e9efee;--line:#dde5e4;--line-2:#c7d2d1;--line-3:#9dacac;--text:#0e1620;--text-2:#46535f;--text-3:#616f80;--good:#14855a;--warn:#9e6410;--bad:#cc3a44}.fl-cultivar h1.h,.fl-cultivar h2,.fl-cultivar h3{font-family:var(--font-display);letter-spacing:-.012em}.fl-cultivar .card-head h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.fl-cultivar .card{background:var(--surface);box-shadow:inset 0 1px 0 var(--accent-soft), var(--shadow-card)}.fl-cultivar .btn:not(.ghost):not(.soft){box-shadow:inset 0 1px 0 #ffffff24, 0 6px 16px -10px color-mix(in srgb, var(--accent) 60%, transparent)}.fl-cultivar .badge{border-radius:var(--r-sm)}.fl-cultivar .atmos{background:radial-gradient(880px 520px at 82% -10%, var(--accent-soft), transparent 62%), radial-gradient(680px 560px at -8% 104%, color-mix(in srgb, var(--accent) 4%, transparent), transparent 60%);opacity:.85}.fl-cultivar .atmos:after{content:"";pointer-events:none;background-image:radial-gradient(color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 1px);opacity:.5;background-size:26px 26px;position:absolute;inset:0}.fl-operator{--bg:#0a0c0e;--bg-2:#0a0c0e;--surface:#11151a;--surface-2:#171c22;--surface-3:#1e242c;--line:#262d36;--line-2:#333c46;--line-3:#48535f;--text:#d6dee6;--text-2:#92a0ae;--text-3:#738091;--good:#4fb37e;--warn:#e8a23b;--bad:#e8625a;--r-xs:0px;--r-sm:0px;--r-md:0px;--r-lg:0px;--r-xl:0px;--font-display:"JetBrains Mono", ui-monospace, monospace;--font-ui:"JetBrains Mono", ui-monospace, monospace;--font-mono:"JetBrains Mono", ui-monospace, monospace;--shadow-card:none}.fl-operator.light{--bg:#eceef1;--bg-2:#eceef1;--surface:#fbfdfc;--surface-2:#f4f6f8;--surface-3:#e9ecf0;--line:#dce0e5;--line-2:#c4cad1;--line-3:#97a0aa;--text:#141a21;--text-2:#47525e;--text-3:#626d7a;--good:#1a7a4d;--warn:#8f5e10;--bad:#c2403f}.fl-operator{--shadow-card:none}.fl-operator h1.h,.fl-operator h2,.fl-operator h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.fl-operator .card{background:var(--surface);box-shadow:none;border:1px solid var(--line)}.fl-operator .btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border-radius:0}.fl-operator .btn:not(.ghost):not(.soft){box-shadow:inset 0 1px 0 color-mix(in srgb, var(--accent-ink) 22%, transparent)}.fl-operator .badge{text-transform:uppercase;letter-spacing:.06em;border-radius:0}.fl-operator .atmos{background:0 0}.fl-operator .atmos:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg, color-mix(in srgb, var(--accent) 5%, transparent) 0 1px, transparent 1px 3px);opacity:1;mix-blend-mode:normal;position:absolute;inset:0}.fl-matrix{--bg:#04070a;--bg-2:#04070a;--surface:#0b1116;--surface-2:#121a21;--surface-3:#18242c;--line:#16242b;--line-2:#22343c;--line-3:#33514c;--text:#d2ebd9;--text-2:#86a492;--text-3:#64836e;--good:#2dd68a;--warn:#d4a024;--bad:#f2495b;--r-xs:2px;--r-sm:2px;--r-md:2px;--r-lg:2px;--r-xl:2px;--font-display:"Space Mono", ui-monospace, monospace;--font-ui:"Space Mono", ui-monospace, monospace;--font-mono:"Space Mono", ui-monospace, monospace;--shadow-card:none}.fl-matrix.light{--bg:#e8f1eb;--bg-2:#e8f1eb;--surface:#fbfdfc;--surface-2:#e9f4ed;--surface-3:#dceae0;--line:#d0e2d6;--line-2:#b4cdbc;--line-3:#86a793;--text:#0a1410;--text-2:#41564b;--text-3:#5c7064;--good:#117a4e;--warn:#9a6410;--bad:#c2403f}.fl-matrix .card{background:var(--surface);box-shadow:none}.fl-matrix h1.h,.fl-matrix h2,.fl-matrix h3{letter-spacing:.03em}.fl-matrix .btn{font-family:var(--font-mono);letter-spacing:.05em;border-radius:2px}.fl-matrix .badge{text-transform:uppercase;letter-spacing:.04em;border-radius:2px}.fl-matrix .btn:not(.ghost):not(.soft):not(.btn-grid){box-shadow:0 1px 2px #0006, inset 0 1px 0 color-mix(in srgb, var(--accent) 22%, transparent), 0 2px 10px -3px color-mix(in srgb, var(--accent) 34%, transparent)}.fl-matrix .atmos{background:0 0}.fl-matrix .atmos:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg, color-mix(in srgb, var(--text) 5%, transparent) 0 1px, transparent 1px 26px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--text) 5%, transparent) 0 1px, transparent 1px 26px);position:absolute;inset:0}.fl-atlas{--bg:#15130e;--bg-2:#100e0a;--surface:#1c1a12;--surface-2:#211e15;--surface-3:#2a2619;--line:#322d22;--line-2:#453e2e;--line-3:#5c5340;--text:#efeae0;--text-2:#b5ac99;--text-3:#8a8172;--good:#8fd694;--warn:#e8b53d;--bad:#ff6f69;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:24px;--font-display:"Space Grotesk", system-ui, sans-serif;--font-ui:"Hanken Grotesk", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--shadow-card:0 1px 0 #ffffff08 inset, 0 22px 50px -32px #000000d9}.fl-atlas.light{--bg:#f4f0e6;--bg-2:#ebe6d8;--surface:#fcfaf4;--surface-2:#f6f2e7;--surface-3:#ede8d9;--line:#e2dac6;--line-2:#cfc5ac;--line-3:#a2977c;--text:#1f1d16;--text-2:#56503f;--text-3:#736c5a;--good:#1c8450;--warn:#9c6a10;--bad:#cc4a45}.fl-atlas h1.h,.fl-atlas h2,.fl-atlas h3{font-family:var(--font-display);letter-spacing:-.015em;font-weight:600}.fl-atlas .card-head h3{font-family:var(--font-display);font-weight:600}.fl-atlas .card{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 4%, var(--surface)) 0%, var(--surface) 22%);border-radius:var(--r-lg)}.fl-atlas .btn{border-radius:999px}.fl-atlas .btn:not(.ghost):not(.soft){box-shadow:inset 0 1px 0 #ffffff24, 0 8px 20px -12px color-mix(in srgb, var(--accent) 55%, transparent);background-image:linear-gradient(#ffffff1a,#0000)}.fl-atlas .badge,.fl-atlas .tb-search,.fl-atlas .sel,.fl-atlas .inp{border-radius:999px}.fl-atlas .atmos{background:radial-gradient(900px 560px at 70% -10%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%);opacity:1}.fl-atlas .atmos:after{content:"";pointer-events:none;opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");position:absolute;inset:0}.dir-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:4px;display:grid}.dir-tile{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);cursor:pointer;font:inherit;color:var(--text);flex-direction:column;gap:11px;padding:12px;transition:border-color .14s,transform .1s,box-shadow .14s;display:flex}.dir-tile:hover{border-color:var(--accent-line);transform:translateY(-2px)}.dir-tile.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset, 0 12px 28px -22px var(--accent)}.dir-thumb{border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;justify-content:center;gap:6px;height:78px;padding:10px 10px 10px 34px;display:flex;position:relative;overflow:hidden}.dir-thumb-rail{opacity:.9;width:24px;position:absolute;top:0;bottom:0;left:0}.dir-thumb-bar{opacity:.92;border-radius:3px;height:6px}.dir-thumb-dot{border-radius:50%;width:9px;height:9px;position:absolute;top:10px;right:10px}.dir-cultivar .dir-thumb{background:#0b0e12;border-radius:12px}.dir-cultivar .dir-thumb-rail{background:#14181d;border-right:1px solid #2c333b}.dir-cultivar .dir-thumb-bar{background:#3ad4c4}.dir-cultivar .dir-thumb-bar:nth-child(2),.dir-cultivar .dir-thumb-bar:nth-child(3){background:#2c333b}.dir-cultivar .dir-thumb-dot{background:#3ad4c4;box-shadow:0 0 8px #2ba89b}.dir-atlas .dir-thumb{background:#15130e;border-radius:18px}.dir-atlas .dir-thumb-rail{background:#1c1a12;border-right:1px solid #322d22}.dir-atlas .dir-thumb-bar{background:#8fd694;border-radius:999px}.dir-atlas .dir-thumb-bar:nth-child(2),.dir-atlas .dir-thumb-bar:nth-child(3){background:#322d22}.dir-atlas .dir-thumb-dot{background:#c9e8a8;box-shadow:0 0 8px #5c7a50}.dir-operator .dir-thumb{background:#0a0c0e;border-radius:0}.dir-operator .dir-thumb-rail{background:#11151a;border-right:1px solid #262d36}.dir-operator .dir-thumb-bar{background:#e8a23b}.dir-operator .dir-thumb-bar:nth-child(2),.dir-operator .dir-thumb-bar:nth-child(3){background:#262d36}.dir-operator .dir-thumb-dot{background:#e8a23b;box-shadow:0 0 8px #e8a23b}.dir-matrix .dir-thumb{background:#04070a;border-radius:2px}.dir-matrix .dir-thumb-rail{background:#0b1116;border-right:1px solid #16242b}.dir-matrix .dir-thumb-bar{background:#19e37c}.dir-matrix .dir-thumb-bar:nth-child(2),.dir-matrix .dir-thumb-bar:nth-child(3){background:#18242c}.dir-matrix .dir-thumb-dot{background:#19e37c;box-shadow:0 0 8px #19e37c}.dir-meta{flex-direction:column;gap:4px;display:flex}.dir-name{font-family:var(--font-display);align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:flex}.dir-check{font-family:var(--font-mono);color:var(--accent);margin-left:auto;font-size:10px}.dir-tag{color:var(--text-2);font-size:12px;line-height:1.45}.dir-layout{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:16px;display:flex}.dir-layout .tick{color:var(--text-2)}.dir-layout-note{font-size:12px}@media (width<=960px){.dir-grid{grid-template-columns:1fr}}.fl-operator .card{background:var(--surface);box-shadow:none;border-radius:0}.fl-operator .card-head{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:11px}.fl-operator .card-head h3{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);padding-left:22px;font-size:10.5px;font-weight:500;position:relative}.fl-operator .card-head h3:before{content:"";background:var(--accent);width:14px;height:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.fl-operator .hero-facts .ttl{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:17px;font-weight:600}.fl-operator .voice-readout .vr-txt{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.02em;font-size:11.5px}.fl-operator .chip{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:2px;padding:5px 10px;font-size:10.5px}.fl-operator .chip .ck{color:var(--text-3)}.fl-operator .chip .cv{color:var(--text)}.fl-operator .kpiband{border:1px solid var(--line);border-radius:0;padding:12px 14px}.fl-operator .kseg-l{letter-spacing:.14em;font-size:9px}.fl-operator .kseg-n{font-family:var(--font-mono);letter-spacing:-.01em;font-size:24px;font-weight:500}.fl-operator .gcell{border:1px solid var(--line);border-radius:0;padding:14px 16px}.fl-operator .gcell .gname{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);font-size:11px}.fl-operator .gcell .gcount{font-family:var(--font-mono);letter-spacing:-.01em;font-size:30px}.fl-operator .gcell .gdesc{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-3);font-size:10.5px}.fl-operator .feed-row{border-bottom:1px solid var(--line);font-family:var(--font-mono);padding:9px 0;font-size:12px}.fl-operator .seg{border:1px solid var(--line);background:var(--surface);border-radius:0}.fl-operator .seg button{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:0;font-size:10.5px}.fl-operator .atmos:after{content:"";pointer-events:none;background-image:radial-gradient(#ffffff06 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.fl-operator.light .atmos:after{background-image:radial-gradient(#141c260a 1px,#0000 1px)}.b-greet{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.b-greet h1.b-h{letter-spacing:-.025em;margin:4px 0 0;font-size:31px}.b-hero-grid{grid-template-columns:1.25fr 1fr;align-items:stretch}.b-hero{align-items:center;gap:24px;min-height:220px;padding:24px;display:flex}.b-hero-ring{flex:none}.b-hero-side{flex-direction:column;gap:9px;min-width:0;display:flex}.b-hero-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:21px;font-weight:600}.b-chips{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.b-chip{background:var(--surface-3);border:1px solid var(--line);color:var(--text-2);white-space:nowrap;border-radius:999px;padding:6px 13px;font-size:12.5px}.b-chip b{color:var(--text);font-weight:500}.b-hero-checks{flex-direction:column;gap:5px;margin:2px 0;padding:0;list-style:none;display:flex}.b-hcheck{color:var(--text-2);grid-template-columns:16px 1fr;align-items:center;gap:9px;font-size:12.5px;display:grid}.b-hcheck-mark{border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.b-hcheck.ok .b-hcheck-mark{color:var(--good);background:color-mix(in srgb, var(--good) 14%, transparent)}.b-hcheck.bad .b-hcheck-mark{color:var(--bad);background:color-mix(in srgb, var(--bad) 14%, transparent)}.b-hcheck.bad .b-hcheck-label{color:var(--text)}.b-tiles{grid-template-columns:1fr 1fr;gap:14px;display:grid}.b-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:18px;display:flex;position:relative}.b-tile-ic{border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.b-tile-ic .glyph{width:19px;height:19px}.b-tile-body{flex-direction:column;gap:2px;display:flex}.b-tile-val{font-family:var(--font-display);letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1}.b-tile-val.zero{color:var(--text-3)}.b-tile-label{color:var(--text-2);font-size:13px}.b-tile-sub{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-size:9.5px;position:absolute;top:18px;right:18px}.b-mix-card{flex-direction:column;display:flex}.b-mix{flex:1;grid-template-columns:auto 1fr;align-items:center;gap:26px;display:grid}.b-legend{flex-direction:column;gap:11px;display:flex}.b-leg-row{grid-template-columns:12px 90px 1fr 32px;align-items:center;gap:10px;display:grid}.b-leg-dot{border-radius:4px;width:11px;height:11px}.b-leg-name{font-size:13px}.b-leg-bar{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.b-leg-bar i{border-radius:999px;height:100%;display:block}.b-leg-val{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.b-stat-lead{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.b-stat-big{font-family:var(--font-display);letter-spacing:-.02em;font-size:34px;font-weight:600}.b-stat-cap{color:var(--text-2);font-size:12.5px}.b-timeline{flex-direction:column;display:flex}.b-tl-row{border-bottom:1px solid var(--line);grid-template-columns:16px 1fr auto;align-items:center;gap:14px;padding:12px 0;display:grid}.b-tl-row:last-child{border-bottom:0}.b-tl-node{background:var(--text-3);width:10px;height:10px;box-shadow:0 0 0 4px var(--surface);border-radius:50%}.b-tl-node.ok{background:var(--good)}.b-tl-node.acc{background:var(--accent)}.b-tl-node.warn{background:var(--warn)}.b-tl-body{word-break:break-word;min-width:0;font-size:13.5px}.b-tl-body b{text-transform:capitalize}.b-tl-when{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;font-size:11px}.donut-c-num{font-family:var(--font-display);fill:var(--text);font-size:28px;font-weight:600}.donut-c-cap{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;fill:var(--text-3);font-size:10px}@media (width<=1180px){.b-hero-grid{grid-template-columns:1fr}.b-tiles{grid-template-columns:repeat(4,1fr)}}@media (width<=720px){.b-tiles{grid-template-columns:1fr 1fr}.b-hero{flex-direction:column;align-items:flex-start}.b-mix{grid-template-columns:1fr}}.c-root{font-family:var(--font-mono)}.c-titlebar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.c-h1{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text);margin:0;font-size:17px;font-weight:600}.c-sub{font-family:var(--font-mono);color:var(--text-3);margin-top:5px;font-size:11.5px}.c-root .btn{font-family:var(--font-mono);letter-spacing:.05em;border-radius:var(--r-sm);font-size:11px}.c-strip{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);grid-template-columns:repeat(7,1fr);margin-bottom:14px;display:grid}.c-strip-cell{border-right:1px solid var(--line);min-width:0;padding:11px 14px}.c-strip-cell:last-child{border-right:0}.c-strip-k{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:9px}.c-strip-v{color:var(--text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:13.5px;overflow:hidden}.c-pill{letter-spacing:.08em;border-radius:var(--r-sm);text-transform:uppercase;border:1px solid;padding:2px 7px;font-size:9.5px;display:inline-block}.c-pill.ok{color:var(--good)}.c-pill.warn{color:var(--warn)}.c-pill.bad{color:var(--bad)}.c-kpi-row{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);grid-template-columns:repeat(6,1fr);margin-bottom:14px;display:grid}.c-kpi{border-right:1px solid var(--line);padding:14px 16px;position:relative}.c-kpi:last-child{border-right:0}.c-kpi-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:9px}.c-kpi-val{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);margin-top:6px;font-size:29px;font-weight:500}.c-kpi-val.zero{color:var(--text-3)}.c-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.c-mod{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);flex-direction:column;min-width:0;display:flex}.c-mod-head{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:11px 14px;display:flex}.c-tab{background:var(--accent);flex:none;width:16px;height:2px}.c-mod-head h3{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin:0;font-size:10.5px;font-weight:500}.c-mod-right{letter-spacing:.1em;color:var(--text-3);margin-left:auto;font-size:10.5px}.c-mod-body{flex:1;padding:14px}.c-tbl{border-collapse:collapse;width:100%;font-family:var(--font-mono)}.c-tbl th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--line);padding:0 10px 9px;font-size:9px;font-weight:500}.c-tbl td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:8px 10px;font-size:12.5px}.c-tbl tr:last-child td{border-bottom:0}.c-tbl .num{text-align:right}.c-name{color:var(--text);font-weight:500}.c-dim{color:var(--text-3)}.c-bar{background:var(--surface-3);border-radius:var(--r-sm);height:7px;overflow:hidden}.c-bar i{height:100%;display:block}.c-check-list{flex-direction:column;margin-top:12px;display:flex}.c-check-row{border-top:1px solid var(--line);grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:7px 0;font-size:12px;display:grid}.c-check-row:first-child{border-top:0}.c-dotmark{background:var(--text-3);border-radius:2px;width:8px;height:8px}.c-dotmark.ok{background:var(--good)}.c-dotmark.bad{background:var(--bad)}.c-dotmark.acc{background:var(--accent)}.c-dotmark.warn{background:var(--warn)}.c-check-name{color:var(--text)}.c-check-detail{color:var(--text-3);text-align:right;font-size:11px}.c-axis{color:var(--text-3);font-size:9px;font-family:var(--font-mono);justify-content:space-between;margin-top:6px;display:flex}.c-axis span{text-align:center;flex:1}.c-cols{align-items:flex-end;gap:4px;width:100%;display:flex}.c-col{background:var(--surface-3);flex:1;min-width:4px;transition:background .12s}.c-col.hi{background:var(--accent)}.c-band{gap:3px;margin-bottom:12px;display:flex}.c-band-cell{background:var(--surface-3);flex:1;height:14px}.c-band-cell.ok{background:var(--good)}.c-band-cell.bad{background:var(--bad)}@media (width<=1180px){.c-strip{grid-template-columns:repeat(4,1fr)}.c-kpi-row{grid-template-columns:repeat(3,1fr)}.c-grid{grid-template-columns:repeat(2,1fr)}.c-grid .c-mod[style*=span\ 3],.c-grid .c-mod[style*=span\ 2]{grid-column:span 2!important}}@media (width<=720px){.c-strip,.c-kpi-row{grid-template-columns:repeat(2,1fr)}.c-grid{grid-template-columns:1fr}.c-grid .c-mod[style*=span]{grid-column:span 1!important}}.lib-doc{font-size:14px}.lib-doc-empty{border:1px dashed var(--line-2);border-radius:var(--r-sm);color:var(--text-2);align-items:flex-start;gap:10px;padding:16px;font-size:13px;display:flex}.lib-doc-empty .glyph{width:20px;height:20px;color:var(--text-3);flex:none}.boot-splash{z-index:100;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.boot-splash.fading{animation:.55s forwards splashOut}.boot-dial{width:172px;height:172px;animation:1.8s ease-in-out infinite glowPulse;position:relative}.boot-ring{width:100%;height:100%;transform:rotate(-90deg)}.boot-progress{stroke-dasharray:452;stroke-dashoffset:452px;--end:0;animation:.4s cubic-bezier(.2,.7,.2,1) forwards ringFill}.boot-sprout{width:58px;height:58px;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.boot-sprout .bs-stem{transform-origin:12px 21.5px;animation:.3s cubic-bezier(.2,.7,.2,1) .1s forwards stemGrow;transform:scaleY(0)}.boot-sprout .bs-leaf{transform-origin:12px 12px;transform:scale(0)}.boot-sprout .bs-leaf-main{animation:.2s cubic-bezier(.22,1,.36,1) .25s forwards leafIn}.boot-sprout .bs-leaf-back{animation:.2s cubic-bezier(.22,1,.36,1) .35s forwards leafIn}.boot-status{font:500 12px var(--font-mono);color:var(--text-2);align-items:center;display:flex}.boot-caret{background:var(--accent);width:6px;height:13px;margin-left:7px;animation:1s step-end infinite blink}@keyframes splashOut{to{opacity:0;visibility:hidden}}@keyframes stemGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes leafIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes ringFill{to{stroke-dashoffset:var(--end)}}@keyframes glowPulse{0%,to{filter:drop-shadow(0 0 6px var(--accent-soft))}50%{filter:drop-shadow(0 0 16px var(--accent-line))}}.deploy-pop{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);flex-direction:column;gap:10px;margin-bottom:16px;padding:12px;display:flex}.deploy-pop .dp-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deploy-pop .dp-path{background:var(--surface-2);min-width:200px;color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-xs);font-family:var(--font-mono,monospace);flex:260px;padding:7px 10px;font-size:13px}.deploy-pop .dp-path:focus{border-color:var(--accent-line);outline:none}.deploy-pop .dp-note{color:var(--text-2);margin:0}.deploy-pop .dp-note code{color:var(--text)}.deploy-pop .dp-field{align-items:center;gap:6px;display:flex}.deploy-pop .dp-field>span{color:var(--text-2);white-space:nowrap;font-size:12px}.rules-list{overflow:hidden}.rule-row{border-bottom:1px solid var(--line)}.rule-row:last-child{border-bottom:0}.rule-head{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;border:0;align-items:center;gap:12px;padding:13px 18px;transition:background .1s;display:flex}.rule-head:hover{background:var(--surface-2)}.rule-row.on .rule-head{background:var(--accent-soft)}.rule-no{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;min-width:34px;font-size:13px}.rule-title{font-family:var(--font-display);letter-spacing:-.01em;flex:1;font-size:15px;font-weight:600}.rule-chip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--line-2);border-radius:999px;padding:3px 9px;font-size:10.5px}.rule-chip.user{color:var(--accent);border-color:var(--accent-line)}.rule-chip.trial{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.rule-chip.trial.overdue{color:var(--bg);background:var(--warn);border-color:var(--warn)}.rule-expand{background:color-mix(in srgb, var(--accent) 4%, transparent);padding:2px 18px 18px 64px}.rule-expand p{color:var(--text-2);white-space:pre-wrap;font-size:13.5px;line-height:1.66}.rule-src{font-family:var(--font-mono);color:var(--text-3);margin-top:8px;font-size:11px}.rule-notice{color:var(--warn);margin:0 0 12px}.rules-meter{align-items:center;gap:12px;margin-bottom:16px;display:flex}.rules-meter-bar{background:var(--surface-3);border:1px solid var(--line);border-radius:999px;flex:0 0 180px;height:6px;overflow:hidden}.rules-meter-fill{background:var(--accent);height:100%;transition:width .2s}.rules-meter.warn .rules-meter-fill{background:var(--warn)}.rules-meter.over .rules-meter-fill{background:oklch(62% .19 25)}.rules-meter-label{font-family:var(--font-mono);color:var(--text-3);font-size:11.5px}.rules-meter.warn .rules-meter-label{color:var(--warn)}.rules-meter.over .rules-meter-label{color:oklch(62% .19 25)}.rule-form{flex-direction:column;gap:10px;display:flex}.rule-form .lib-filter{width:100%}.rule-body-input{resize:vertical;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-sm);font-family:var(--font-mono);padding:10px 12px;font-size:12.5px;line-height:1.6}.rule-body-input:focus{border-color:var(--accent-line);outline:none}.rule-trial-label{font-family:var(--font-mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;font-size:11px;display:inline-flex}.rule-date{width:150px}.voice-ref{padding:0}.voice-ref>summary{cursor:pointer;border-radius:var(--r-md);align-items:baseline;gap:12px;padding:12px 18px;list-style:none;display:flex}.voice-ref>summary::-webkit-details-marker{display:none}.voice-ref>summary:before{content:"";border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);flex:none;width:5px;height:5px;margin-right:2px;transition:transform .15s;transform:rotate(-45deg)}.voice-ref[open]>summary:before{transform:rotate(45deg)}.voice-ref>summary:hover{background:var(--surface-2)}.voice-ref .vr-title{font-family:var(--font-display);font-size:14px;font-weight:600}.vr-list{padding:2px 12px 12px}.voice-row{border-radius:var(--r-xs);border:1px solid #0000;align-items:baseline;gap:12px;padding:5px 8px;display:flex}.voice-row.current{border-color:var(--accent-line);background:var(--accent-soft)}.vr-name{width:108px;font-family:var(--font-display);text-transform:capitalize;flex:none;font-size:12.5px;font-weight:600}.vr-desc{min-width:0;color:var(--text-2);flex:1;font-size:11.5px;font-style:italic}.jr-head{margin-bottom:14px}.jr-row2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.jr-card{padding-top:14px;padding-bottom:14px}.jr-card .card-head{margin-bottom:10px}.jr-ring{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:5px 0;display:flex}.jr-ring:hover .jr-ring-label{color:var(--text)}.jr-ring-label{width:88px;color:var(--text-2);flex:none;font-size:11.5px}.jr-ring-track{background:var(--surface-3);border-radius:999px;flex:1;height:8px;overflow:hidden}.jr-ring-fill{background:linear-gradient(90deg, var(--accent-2), var(--accent));border-radius:999px;height:100%;display:block}.jr-ring-num{text-align:right;width:34px;font-family:var(--font-mono);color:var(--accent);flex:none;font-size:10.5px}.jr-fresh{border:0;border-bottom:1px solid var(--line-2);width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;align-items:baseline;gap:10px;padding:6px 0;display:flex}.jr-fresh:hover .jr-fresh-name{color:var(--accent)}.jr-fresh-kind{width:64px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);flex:none;font-size:8.5px}.jr-fresh-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11.5px;overflow:hidden}.jr-fresh-when{font-family:var(--font-mono);color:var(--text-3);flex:none;font-size:10px}.jr-skipped{margin:8px 0 0;font-size:11px}.jr-care{border-top:1px solid var(--line-2);color:var(--text-3);margin:8px 0 0;padding-top:9px;font-size:11.5px}.jr-go{font-family:var(--font-mono);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:10.5px}.jr-go:hover{text-decoration:underline}.jr-go.right{margin-left:auto}.jr-map{border-color:var(--accent-line)}.jr-others{margin:14px 0 0;font-size:11.5px}.cmap{width:100%;height:auto;min-height:300px;display:block}.cm-edge{fill:none;stroke:var(--line-3);stroke-width:1.5px}.cm-edge-gov{fill:none;stroke:var(--line-2);stroke-width:1.2px;stroke-dasharray:4 5}.cm-node{cursor:pointer}.cmap .cm-node,.cmap .cm-mini>g{transform-box:fill-box;transform-origin:50%}.cm-node:hover circle{stroke-width:2.6px}.cm-node:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cm-hub-disc{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2px}.cm-hub-name{fill:var(--accent);font-family:var(--font-display);font-size:17px;font-weight:600}.cm-hub-num{fill:var(--text);font-family:var(--font-mono);font-size:10px}.cm-sat-disc{fill:var(--surface-2);stroke:var(--accent);stroke-width:1.5px}.cm-sat-name{fill:var(--text);font-family:var(--font-display);font-size:12.5px;font-weight:600}.cm-sat-num{fill:var(--accent);font-family:var(--font-mono);font-size:10px}.cm-sat-big{fill:var(--accent);font-family:var(--font-mono);font-size:13px;font-weight:500}.cm-mini{font-family:var(--font-mono);font-size:7.5px}.cm-pack-disc{fill:var(--accent-soft);stroke-width:1.2px}.cm-pack-id{fill:var(--text)}.cm-gov-disc{fill:var(--surface);stroke:var(--line-3);stroke-width:1.3px}.cm-gov-name{fill:var(--text);font-family:var(--font-display);font-size:10.5px;font-weight:600}.cm-gov-num{fill:var(--accent);font-family:var(--font-mono);font-size:9px}.cm-note{fill:var(--text-3);font-family:var(--font-mono);font-size:8.5px}.cm-govern-label{fill:var(--text-3);font-family:var(--font-mono);letter-spacing:1.5px;font-size:8.5px}@media (width<=1180px){.jr-row2{grid-template-columns:1fr}}@media (width<=720px){.vr-name{width:100%}.voice-row{flex-wrap:wrap}}.col:has(.pad>.jr-head){height:100vh}.page:has(>.pad>.jr-head){flex-direction:column;display:flex}.pad:has(>.jr-head){flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;display:flex}.pad:has(>.jr-head) .jr-map{flex-direction:column;flex:1;min-height:0;display:flex}.pad:has(>.jr-head) .jr-map .card-head{flex:none}.pad:has(>.jr-head) .cmap{flex:1;height:auto;min-height:240px}.pad:has(>.jr-head) .jr-others{flex:none}:root{--ease-out:cubic-bezier(.22,1,.36,1)}.glide{pointer-events:none;opacity:0;width:0;height:0;position:absolute;top:0;left:0}.seg:has(>.glide){position:relative}.seg>.glide{background:var(--accent);border-radius:5px}.fl-operator .seg>.glide{border-radius:0}.seg:has(>.glide) button{position:relative}.seg:has(>.glide) button.on{background:0 0}@keyframes viewIn{0%{opacity:.4;transform:translateY(5px)}}.view-in{animation:viewIn .22s var(--ease-out)}.console-head{position:relative}.console-progress{height:2px;position:absolute;top:-1px;left:0;right:0;overflow:hidden}.console-progress:after{content:"";background:linear-gradient(90deg, transparent, var(--warn), transparent);width:30%;animation:1.3s cubic-bezier(.45,0,.55,1) infinite consoleScan;position:absolute;inset:0}@keyframes consoleScan{0%{transform:translate(-100%)}to{transform:translate(340%)}}.console-head.flash-ok{animation:.9s ease-out flashOk}.console-head.flash-bad{animation:.9s ease-out flashBad}@keyframes flashOk{0%{background:color-mix(in srgb, var(--good) 28%, transparent)}}@keyframes flashBad{0%{background:color-mix(in srgb, var(--bad) 28%, transparent)}}@keyframes dotPop{0%{transform:scale(.2)}60%{transform:scale(1.35)}}.check.rise .feed-dot{animation:dotPop .4s var(--ease-out) both;animation-delay:calc(var(--i,0) * 50ms + .14s)}:root{interpolate-size:allow-keywords}.law-expand,.rule-expand,.check-body,.mf-raw-pre{transition:height .28s var(--ease-out), opacity .2s ease-out, padding-top .28s var(--ease-out), margin-top .28s var(--ease-out);overflow:clip}@starting-style{.law-expand,.rule-expand,.mf-raw-pre{opacity:0;height:0}.check-body{opacity:0;height:0;margin-top:0;padding-top:0}}.spot-hit{background:color-mix(in srgb, var(--accent) 26%, transparent);color:inherit;border-radius:2px;padding:0 1px;animation:.5s ease-out hitIn}@keyframes hitIn{0%{background:color-mix(in srgb, var(--accent) 55%, transparent)}}::view-transition-old(root){animation-duration:.32s;animation-timing-function:var(--ease-out)}::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--ease-out)}.app{--accent-text:var(--accent);--accent-soft:color-mix(in srgb, var(--accent) 13%, transparent);--accent-line:color-mix(in srgb, var(--accent) 34%, transparent);--accent-dim:color-mix(in srgb, var(--accent-2) 62%, transparent);font-family:var(--font-ui);grid-template-columns:var(--rail-w) minmax(0, 1fr)}.t-good{color:var(--good)}.t-warn{color:var(--warn)}.sidebar{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;align-self:start;gap:2px;height:100vh;padding:20px 12px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sb-brand{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:4px 8px 20px;display:flex}.sb-mark{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);flex:none;place-items:center;width:30px;height:30px;display:grid}.sb-mark .sprout{filter:none;width:20px;height:20px}.sb-brand:hover .sprout{transform:rotate(-7deg)}.sb-brand-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.sb-name{font-size:15px;font-weight:700}.sb-ver{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}a.sb-item{border-radius:var(--r-sm);color:var(--text-2);align-items:center;gap:10px;padding:9px 10px;font-weight:500;transition:background .14s,color .14s;display:flex}a.sb-item:hover{background:var(--surface);color:var(--text)}.sb-item .glyph{width:18px;height:18px}.sb-label{flex:1;min-width:0}.sb-count{font-family:var(--font-mono);color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}a.sb-item.on{background:var(--accent-soft);color:var(--accent-text);font-weight:600}a.sb-item.on .sb-count{color:var(--accent-text)}.sb-spacer{flex:1;min-height:16px}.sb-vitals{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--text-3);flex-direction:column;gap:7px;margin-top:8px;padding:14px 10px 4px;font-size:12px;display:flex}.sb-vitals>div,.sb-voice{justify-content:space-between;gap:8px;display:flex}.sb-vitals b{color:var(--text);font-weight:500}.sb-vitals b.good{color:var(--good)}.sb-vitals b.warn{color:var(--warn)}.sb-vitals b.bad{color:var(--bad)}.sb-voice{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.sb-voice b{align-items:center;gap:3px;display:inline-flex}.sb-voice .glyph{width:12px;height:12px}.sb-voice:hover b{color:var(--accent-text)}.topbar{background:var(--bg-2);-webkit-backdrop-filter:none;backdrop-filter:none;gap:10px;padding:0 32px}.crumbs{min-width:0;color:var(--text-3);white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.crumb-root{text-overflow:ellipsis;font-size:13px;overflow:hidden}.crumb-here{color:var(--text);font-weight:600}.topbar .iconbtn{border-color:var(--line);background:var(--surface);width:38px;height:38px}.topbar .iconbtn:hover{border-color:var(--line-2)}.tb-search input{width:320px;height:38px;padding-left:34px}.tb-harness{min-width:0;max-width:200px;height:38px;padding:0 10px}.tb-pop-anchor{position:relative}.appearance-pop{z-index:30;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);width:max-content;max-width:min(92vw,540px);box-shadow:var(--shadow-pop);flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.ap-group{flex-direction:column;gap:6px;display:flex}.ap-label{color:var(--text-2);font-size:12px;font-weight:600}.accent-picker{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.accent-src{border:1px solid var(--line-2);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}.accent-src:hover{color:var(--text)}.accent-src.on{color:var(--text);border-color:var(--accent-line);background:var(--accent-soft)}.accent-swatches{gap:8px;display:flex}.accent-swatch{cursor:pointer;background:var(--sw);border:2px solid var(--bg-2);width:22px;height:22px;box-shadow:0 0 0 1px var(--line-2);border-radius:50%;padding:0;position:relative}.accent-swatch:hover{box-shadow:0 0 0 1px var(--text-3)}.accent-swatch.on{box-shadow:0 0 0 2px var(--text)}.accent-custom{background:conic-gradient(#ff5c57,#e8b53d,#4ed888,#3ad4c4,#5b8cff,#c77dff,#ff5c57)}.accent-custom.picked{background:var(--sw)}.accent-custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.accent-custom:focus-within{outline:2px solid var(--accent);outline-offset:2px}.appearance-pop .seg{flex-wrap:wrap}.page{padding:28px 32px 120px}.pad{max-width:1320px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h1.h,.lib-title h1.h{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 4px;font-size:28px;font-weight:700}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn.danger{background:var(--bad);color:#fff}.btn.danger-line{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, transparent)}.btn.danger-line:hover{background:color-mix(in srgb, var(--bad) 10%, transparent);border-color:var(--bad)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:12px;min-width:0;padding:18px 20px;display:flex}.panel.flush{gap:0;padding:0;overflow:hidden}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel-head h2{font-family:var(--font-ui);letter-spacing:0;margin:0;font-size:15px;font-weight:700}.panel-head a.mono{color:var(--text-3)}.panel-head a.mono:hover{color:var(--accent-text)}.panel-note{color:var(--text-3);margin:0;font-size:12px}.tag{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:999px;place-self:center start;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.tag.ok{background:color-mix(in srgb, var(--good) 13%, transparent);color:var(--good)}.tag.warn{background:color-mix(in srgb, var(--warn) 15%, transparent);color:var(--warn)}.tag.bad{background:color-mix(in srgb, var(--bad) 13%, transparent);color:var(--bad)}.tag.acc{background:var(--accent-soft);color:var(--accent-text)}.tag.human{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-3)}.app.light .tag.warn,.app.light .t-warn{color:color-mix(in srgb, var(--warn) 72%, #000)}.tag.note{white-space:normal}.tabs{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);gap:4px;max-width:100%;margin-bottom:20px;padding:3px;display:inline-flex;overflow-x:auto}.tabs a{border-radius:max(0px, calc(var(--r-sm) - 2px));color:var(--text-2);white-space:nowrap;padding:6px 14px;font-weight:600}.tabs a:hover{color:var(--text)}.tabs a.on{background:var(--bg-2);color:var(--text);box-shadow:0 0 0 1px var(--line)}.tab-badge{font-family:var(--font-mono);color:var(--text-3);margin-left:6px;font-weight:400}.stackbar{gap:3px;height:12px;display:flex}.stackbar>span{border-radius:3px;min-width:3px}.stackbar.thin{gap:2px;height:8px}.sb-ethos{background:var(--text)}.sb-invariants{background:var(--accent)}.sb-doctrines{background:var(--accent-dim)}.sb-yours{border:1px dashed var(--line-3)}.sb-rest{background:var(--line-2)}.legend{flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.legend li{align-items:center;gap:8px;display:flex}.swatch{border-radius:3px;flex:none;width:10px;height:10px}.legend-label{color:var(--text-2);flex:1}.hbars{flex-direction:column;gap:7px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.hbars li{align-items:center;gap:10px;display:flex}.hb-label{width:84px;color:var(--text-2);flex:none}.hb-track{background:var(--surface-2);border-radius:2px;flex:1;gap:2px;height:9px;display:flex}.hb-track>span{border-radius:2px}.hb-ok{background:var(--accent)}.hb-exp{background:var(--warn)}.hb-n{text-align:right;min-width:22px}.hbar{background:var(--surface-3);border-radius:3px;flex:1;min-width:40px;height:8px;display:block;overflow:hidden}.hbar>span,.hbar>i{background:var(--accent);height:100%;display:block}.hbar.ok>span,.hbar.ok>i{background:var(--good)}.hbar.warn>span,.hbar.warn>i{background:var(--warn)}.hbar.bad>span,.hbar.bad>i{background:var(--bad)}.chart-key{color:var(--text-3);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.chart-key i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:4px;display:inline-block}.key-ok{background:var(--accent)}.key-exp{background:var(--warn)}.vbars{border-bottom:1px solid var(--line);align-items:flex-end;gap:4px;height:118px;padding-bottom:6px;display:flex}.vbars>span{border-radius:3px 3px 0 0;flex:1;min-height:4px}.vb-update{background:var(--accent)}.vb-rebuild{background:var(--accent-dim)}.vb-other{background:var(--line-3)}.vb-failed{background:var(--bad)}.chart-axis{justify-content:space-between;gap:8px;font-size:11px;display:flex}.ov-stack{flex-direction:column;gap:20px;display:flex}.ov-charts{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.health{border-radius:var(--r-md);--tone:var(--good);border:1px solid color-mix(in srgb, var(--tone) 30%, transparent);background:color-mix(in srgb, var(--tone) 8%, transparent);align-items:center;gap:16px;padding:14px 18px;display:flex}.health.warn{--tone:var(--warn)}.health.bad{--tone:var(--bad)}.health-dot{background:var(--tone);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tone) 14%, transparent);border-radius:99px;flex:none}.health p{flex:1;min-width:0;margin:0}.health-built{white-space:nowrap;font-size:12px}.needs{grid-template-columns:max-content minmax(0,1fr) max-content max-content;column-gap:16px;margin:0 -20px -18px;padding:0;list-style:none;display:grid}.needs li{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--line);align-items:center;padding:11px 20px;display:grid}.needs .tag{justify-self:start}.needs-where{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.needs-verb{color:var(--accent-text);white-space:nowrap;justify-self:end;font-weight:600}.needs-verb:hover{text-decoration:underline}.needs-empty{color:var(--text-2);margin:0}.tier-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;display:grid;overflow:hidden}.tier{border-right:1px solid var(--line);color:var(--text);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.tier:last-child{border-right:0}.tier.on{background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}a.tier:hover{background:var(--surface-2)}.tier-k{color:var(--text-3);font-size:11px}.tier.on .tier-k{color:var(--accent-text)}.tier-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tier-name{font-size:16px;font-weight:700}.tier-n{font-size:18px}.tier-bar{background:var(--surface-3);border-radius:99px;height:6px;overflow:hidden}.tier-bar>span{background:var(--accent);height:100%;display:block}a.tier .tier-bar>span{background:var(--line-3)}.tier-sub{color:var(--text-3);font-size:12px}.split{align-items:flex-start;gap:20px;display:flex}.split>.panel{flex:1}.aside-stack{flex-direction:column;flex:none;gap:16px;width:340px;display:flex}.law-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.law-toolbar .law-filter{background:var(--bg-2);min-width:0;color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;flex:0 220px;margin:0;padding:7px 11px;font-size:13px}.law-toolbar .law-filter:focus{border-color:var(--accent-line);outline:none}.law-note{margin-left:auto;font-size:13px}.law-wrap{--law-5:92px minmax(0, 1.4fr) minmax(0, 1fr) 96px 104px;--law-cols:var(--law-5)}.law-wrap.with-toggle{--law-cols:var(--law-5) 44px}.law-rowhead,.law-row{grid-template-columns:var(--law-cols);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:9px 20px;display:grid}.law-rowhead{color:var(--text-3);font-size:12px;font-weight:600}.law-row{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;padding:10px 20px;transition:background .1s}.law-row.has-toggle{grid-template-columns:minmax(0,1fr) 44px;padding-top:0;padding-bottom:0}.law-disclosure{grid-template-columns:var(--law-5);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:10px 0;display:grid}.law-disclosure:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.law-row .toggle-col{justify-content:center;align-items:center;display:flex}.law-row:hover{background:var(--surface-2)}.law-row.on{background:var(--accent-soft)}.law-no{white-space:nowrap;font-family:var(--font-mono);color:var(--accent-text);font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.law-no .x{color:var(--text-3);font-size:11px;transition:transform .14s}.law-row.on .law-no .x{transform:rotate(90deg)}.law-name{flex-direction:column;gap:2px;min-width:0;font-weight:600;display:flex}.law-princ{color:var(--text-3);font-size:12.5px;font-weight:400;line-height:1.4}.law-latin{min-width:0;color:var(--text-3);font-style:italic}.law-status{white-space:nowrap;background:var(--surface-3);color:var(--text-3);border-radius:999px;justify-self:start;padding:2px 9px;font-size:12px;font-weight:600}.law-status.ok{background:color-mix(in srgb, var(--good) 13%, transparent);color:var(--good)}.law-status.warn{background:color-mix(in srgb, var(--warn) 15%, transparent);color:var(--warn)}.law-enf{color:var(--text-2);font-size:13px}.law-enf.hook{color:var(--accent-text);font-weight:600}.law-row.law-off .law-no,.law-row.law-off .law-name>span:first-child{color:var(--text-3)}.law-expand{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 4%, transparent);padding:4px 20px 18px 46px}.law-expand p{max-width:75ch;color:var(--text-2);margin:6px 0 0;font-size:13.5px;line-height:1.66}.law-expand em{color:var(--text)}.law-srcline{font-family:var(--font-mono);color:var(--text-3);margin-top:13px;font-size:11px}.band-head{background:var(--bg-2);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px;padding:12px 20px 8px;display:flex}.band-head .mono{font-size:11px}.tier-h{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:7px;margin:0;font-size:12px;font-weight:700;display:inline-flex}.pack-head .tier-h:before{content:"";background:var(--cc,var(--text-3));border-radius:50%;width:8px;height:8px}.pack-desc{flex:1;font-size:13px}.pack-state{color:var(--text-3);font-size:12px}.pack-wrap.pack-off .law-row{opacity:.72}.pack-wrap.pack-off .pack-state{color:var(--warn)}.pack-enable{border-bottom:1px solid var(--line);white-space:nowrap;font-family:var(--font-mono);color:var(--text-3);padding:9px 20px;font-size:12px;overflow-x:auto}.pack-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pack-list li{align-items:center;gap:10px;display:flex}.pack-list li.off .pl-name{color:var(--text-3)}.pl-name{text-overflow:ellipsis;white-space:nowrap;flex:none;width:78px;font-weight:600;overflow:hidden}.pl-n{text-align:right;width:18px;font-size:12px}.pack-apply{flex-wrap:wrap;gap:10px;display:flex}.pack-warn{color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 36%, transparent);border-radius:var(--r-sm);background:color-mix(in srgb, var(--warn) 8%, transparent);margin:0;padding:10px 13px;font-size:13px}.gate-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.gate-list li{flex-direction:column;gap:5px;display:flex}.gate-top{align-items:baseline;gap:8px;font-size:13px;display:flex}.gate-row{border-radius:var(--r-sm);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:content-box;background:0 0;border:0;flex-direction:column;gap:5px;margin:-6px -8px;padding:6px 8px;display:flex}.gate-row:hover{background:var(--surface-2)}.gate-row:hover .gate-name{color:var(--accent-text)}.gate-name{color:var(--text)}@keyframes lawFlash{0%{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}to{background:0 0;box-shadow:inset 0 0 0 2px #0000}}.law-flash{animation:1.6s cubic-bezier(.22,1,.36,1) lawFlash}@media (prefers-reduced-motion:reduce){.law-flash{animation-duration:10ms}}.gate-n{margin-left:auto}.gate-list .hbar{flex:none;width:100%}.pad-wide{max-width:none}.library{min-height:calc(100vh - var(--topbar-h) - 150px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:232px minmax(0,380px) minmax(0,1fr);display:grid;overflow:hidden}.library.locked{grid-template-columns:minmax(0,380px) minmax(0,1fr)}.lib-kinds{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;gap:16px;padding:22px 14px;display:flex}.lib-title{flex-direction:column;gap:2px;padding:0 8px;font-size:13px;display:flex}.lib-title h1.h{margin:0;font-size:24px}.lib-kinds .stackbar{margin:0 8px}.kind-list{flex-direction:column;gap:2px;display:flex}.kind-list a{border-radius:var(--r-sm);color:var(--text-2);justify-content:space-between;gap:8px;padding:8px;display:flex}.kind-list a:hover{background:var(--surface);color:var(--text)}.kind-list a.on{background:var(--surface-3);color:var(--text);font-weight:600}.rail-cats{border-left:1px solid var(--line-2);flex-direction:column;gap:6px;margin:2px 0 6px 12px;padding-left:8px;display:flex}.rail-cats ul{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.rail-cats button{border-radius:var(--r-sm);width:100%;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;display:flex}.rail-cats button:hover{background:var(--surface);color:var(--text)}.rail-cats button.on{background:var(--surface-3);color:var(--text);font-weight:600}.rail-cats .cdot{background:var(--cc,var(--text-3));border-radius:50%;flex:none;width:7px;height:7px}.rail-cats .rc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rail-mix{gap:2px;height:4px;margin:0 8px;display:flex}.rail-mix span{background:var(--cc,var(--text-3));border-radius:2px;flex-basis:0;transition:opacity .14s}.rail-mix span.dim{opacity:.25}.lib-list{border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex}.lib-list-head{border-bottom:1px solid var(--line);padding:14px 18px}.library .lib-rows{max-height:calc(100vh - var(--topbar-h) - 250px);flex:1;overflow:auto}.library .lib-row{color:var(--text);flex-direction:column;gap:3px;padding:10px 18px;display:flex}.library .lib-row.on{background:var(--accent-soft)}.library .lib-row.on .lr-name{color:var(--text)}.library .lr-desc{font-size:13px}.lib-reader{flex-direction:column;gap:12px;min-width:0;padding:28px 36px;display:flex}.reader-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reader-title{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:28px;font-weight:700}.reader-lede{max-width:62ch;color:var(--text-2);margin:0;font-size:16px;line-height:1.5}.reader-src{overflow-wrap:anywhere;margin:0;font-size:12px}.lib-reader .hr{margin:6px 0}.lib-reader .detail-doc{max-width:76ch;padding:0}.card-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.big-num{color:var(--text-3);margin:0}.big-num .mono{color:var(--text);font-size:26px}.slots{grid-template-columns:repeat(var(--slots,15), minmax(0, 1fr));gap:4px;padding-top:6px;display:grid}.slots span{border:1px dashed var(--line-3);border-radius:4px;height:26px}.slots span.used{background:var(--accent);border:0}.hb-n.warn{color:var(--warn)}.hosts{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px;display:grid}.hosts-main{flex-direction:column;gap:16px;min-width:0;display:flex}.inst-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 20px 12px;display:flex}.inst-head h2{margin:0;font-size:15px;font-weight:700}.inst-head p{margin:2px 0 0;font-size:13px}.inst-deploy{border-bottom:1px solid var(--line);padding:16px 20px}.inst-empty{color:var(--text-3);padding:20px;font-size:13px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.tbl-scroll{overflow-x:auto}.hosts-tbl th{font-family:var(--font-ui);letter-spacing:0;text-transform:none;padding:12px 14px 10px;font-size:12px;font-weight:600}.hosts-tbl th:first-child,.hosts-tbl td:first-child{padding-left:20px}.hosts-tbl td{white-space:nowrap}.hosts-tbl tr.pickable{cursor:pointer}.hosts-tbl tr.pickable:hover{background:var(--surface-2)}.hosts-tbl tr.on,.hosts-tbl tr.on:hover{background:var(--accent-soft)}.hosts-tbl tr.on .row-pick{color:var(--accent-text)}.hosts-tbl .pick-mark{text-align:right;color:var(--accent-text);white-space:nowrap;font-size:12px;font-weight:600}.install-panel .ip-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);font-size:10.5px}.install-panel .ip-kind{color:var(--text-2);margin-top:-6px;font-size:13px}.hosts-tbl tr.quiet td{color:var(--text-3)}.path-cell{text-overflow:ellipsis;max-width:280px;color:var(--text-2);font-size:12px;overflow:hidden}.row-pick{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.row-pick:hover{color:var(--accent-text)}.install-panel{top:calc(var(--topbar-h) + 16px);background:var(--bg-2);border:1px solid var(--accent-line);border-radius:var(--r-md);flex-direction:column;gap:16px;padding:24px;display:flex;position:sticky}.ip-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ip-head h2{margin:0;font-size:20px;font-weight:700}code.ip-path{color:var(--text-3);overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:12px}.ip-picks{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ip-picks .dp-field,.field{flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.ip-picks .dp-field:first-child{grid-column:1/-1}.ip-picks .sel,.field .sel{width:100%;min-width:0;font-family:var(--font-ui)}.ip-block{flex-direction:column;gap:6px;display:flex}.ip-label{font-size:13px;font-weight:600}.install-panel .mcp-target{border:0;border-radius:0;margin:0;overflow:visible}.install-panel .mcp-target .mt-head{background:0 0;flex-wrap:wrap;padding:4px 0}.install-panel .mcp-row{justify-content:space-between;padding:9px 0}.install-panel .card{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.install-panel .card .card-head{margin-bottom:6px}.install-panel .card .card-head h3{font-family:var(--font-ui);font-size:13px;font-weight:600}.ip-switch{color:var(--text-2);align-items:center;gap:10px;font-size:13px;display:flex}.ip-spacer{flex:1}.ip-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;padding-top:16px;display:flex}.install-panel .h-remove{border:1px solid color-mix(in srgb, var(--bad) 40%, transparent);border-radius:var(--r-sm);background:color-mix(in srgb, var(--bad) 5%, transparent);flex-direction:column;align-items:stretch;gap:10px;padding:14px;display:flex}.hr-msg{margin:0;font-size:13px}.kv-grid{grid-template-columns:96px minmax(0,1fr);row-gap:8px;margin:0;font-size:13px;display:grid}.kv-grid dt{color:var(--text-3)}.kv-grid dd{overflow-wrap:anywhere;margin:0}.tabbar,.tb-menu,.nav-scrim{display:none}@media (width<=1180px){.ov-charts,.card-row{grid-template-columns:repeat(2,minmax(0,1fr))}.split{flex-direction:column;align-items:stretch}.aside-stack{width:auto}.hosts{grid-template-columns:minmax(0,1fr)}.install-panel{position:static}.library{grid-template-columns:200px minmax(0,1fr)}.library .lib-reader{border-top:1px solid var(--line);grid-column:1/-1}.library.locked .lib-reader{border-top:0;grid-column:auto}.law-wrap{--law-5:80px minmax(0, 1fr) 96px 104px}.law-latin,.law-rowhead>span:nth-child(3){display:none}.needs{grid-template-columns:max-content minmax(0,1fr) max-content}.needs-where{display:none}}@media (width<=960px){:root{--rail-w:62px}.sidebar{align-items:stretch;padding:18px 8px}.sb-brand{justify-content:center;padding:4px 0 16px}.sb-brand-text,.sb-vitals{display:none}.sb-label,.sb-count{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}a.sb-item{justify-content:center;padding:10px 0}.tier-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tier:nth-child(2){border-right:0}.tier:nth-child(-n+2){border-bottom:1px solid var(--line)}.tb-search input{width:200px}}@media (width<=720px){:root{--rail-w:248px}.app{grid-template-columns:minmax(0,1fr)}.tb-menu{flex:none;place-items:center;display:inline-grid}.topbar{padding:0 16px}.crumb-root,.crumbs>[aria-hidden],.tb-harness{display:none}.tb-search input{width:112px}.tb-search .kbd{display:none}.page .seg{flex-wrap:wrap;max-width:100%}.sidebar{z-index:40;width:var(--rail-w);visibility:hidden;height:100dvh;padding:20px 12px 14px;transition:transform .22s,visibility .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 60px -10px #000c}.app.nav-open .sidebar{visibility:visible;transform:none}.sb-brand{justify-content:flex-start;padding:4px 8px 20px}.sb-brand-text,.sb-vitals{display:flex}.sb-label,.sb-count{clip-path:none;width:auto;height:auto;position:static}a.sb-item{justify-content:flex-start;padding:9px 10px}.nav-scrim{z-index:39;cursor:pointer;background:#0000008c;border:0;padding:0;display:block;position:fixed;inset:0}.page{padding:18px 16px 150px}.tabbar{z-index:25;background:var(--bg-2);border-top:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;height:64px;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-width:0;color:var(--text-3);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.tabbar a.on{color:var(--accent-text)}.tabbar .glyph{width:20px;height:20px}.console{bottom:64px}.ov-charts,.card-row{grid-template-columns:minmax(0,1fr)}.health{flex-wrap:wrap}.needs{grid-template-columns:minmax(0,1fr) max-content;column-gap:10px}.needs .tag{display:none}.law-wrap{--law-5:64px minmax(0, 1fr) 84px}.law-enf,.law-rowhead>span:nth-child(5),.law-note{display:none}.library,.library.locked{grid-template-columns:minmax(0,1fr)}.lib-kinds{border-right:0;border-bottom:1px solid var(--line);padding:16px 12px}.kind-list{grid-auto-columns:max-content;grid-auto-flow:column;gap:2px;display:grid;overflow-x:auto}.kind-list a{white-space:nowrap;grid-row:1}.lib-kinds{container-type:inline-size}.rail-cats{border-left:0;grid-area:2/1/auto/span 12;width:100cqi;margin:6px 0 0;padding:0;position:sticky;left:0}.rail-cats ul{flex-flow:wrap;gap:4px}.rail-cats button{border:1px solid var(--line);width:auto}.lib-list{border-right:0}.library .lib-rows{max-height:45vh}.library .lib-reader{border-top:1px solid var(--line);grid-column:auto;padding:20px 16px}.hosts-tbl th:nth-child(2),.hosts-tbl td:nth-child(2){display:none}.ip-picks{grid-template-columns:minmax(0,1fr)}.slots span{height:20px}}@media (width<=720px) and (prefers-reduced-motion:reduce){.sidebar{transition:none}}.reader-head{align-items:center;gap:18px;display:flex}.reader-head .reader-title{flex:0 auto;width:auto;min-width:0;margin:0}.agent-glyph{color:var(--accent-text);flex:none;display:block;overflow:visible}.agent-glyph g,.agent-glyph path,.agent-glyph circle,.agent-glyph ellipse,.agent-glyph rect{transform-box:fill-box;transform-origin:50%}.agent-glyph .ag-f{fill:currentColor;fill-opacity:.18}.ag-disc{fill:currentColor;fill-opacity:.07;stroke:none}.ag-ring{opacity:.35;animation:40s linear infinite agRing}.ag-late{animation-delay:.5s!important}.ag-later{animation-delay:1s!important}.ag-wave{transform-origin:0;animation:2.6s ease-in-out infinite agWave}.ag-call{opacity:.6;animation:2.6s ease-out infinite agCall}.ag-draw{stroke-dasharray:100;animation:4.5s cubic-bezier(.65,0,.35,1) infinite agDraw}.ag-blink{animation:1.1s step-end infinite agBlink}.ag-nudge-l{animation:3s ease-in-out infinite agNudgeL}.ag-nudge-r{animation:3s ease-in-out infinite agNudgeR}.ag-write{animation:4.5s ease-in-out infinite agWrite}.ag-rise{transform-origin:bottom;animation:4s cubic-bezier(.22,1,.36,1) infinite agRise}.ag-search{animation:4s ease-in-out infinite agSearch}.ag-frame{animation:3s ease-in-out infinite agFrame}.ag-turn{animation:6s cubic-bezier(.65,0,.35,1) infinite agTurn}.ag-drain{transform-origin:bottom;animation:6s linear infinite agDrain}.ag-fill{transform-origin:bottom;animation:6s linear infinite agFillUp}.ag-gauge{transform-origin:0 100%;animation:3.2s ease-in-out infinite agGauge}.ag-tilt{transform-origin:top;animation:3.6s ease-in-out infinite agTilt}.ag-spin{animation:4s linear infinite agSpin}.ag-orbit{transform-box:view-box;transform-origin:30px 34px;animation:8s linear infinite agOrbit}.ag-sweep{animation:4s ease-in-out infinite agSweep}.ag-mark{opacity:0;animation:4s ease-in-out infinite agMark}.ag-ripple{animation:2.8s ease-out infinite agRipple}.ag-lean{transform-origin:bottom;animation:3s ease-in-out infinite agLean}.ag-grow{transform-origin:bottom;animation:5s ease-in-out infinite agGrow}.ag-sway{transform-origin:0 100%;animation:3s ease-in-out infinite agSway}.ag-slosh{animation:3s ease-in-out infinite agSlosh}.ag-bubble{animation:2.4s ease-in infinite agBubble}.ag-beat{animation:1.5s ease-in-out infinite agBeat}.ag-twinkle{animation:2.2s ease-in-out infinite agTwinkle}.ag-rays{animation:24s linear infinite agRing}.ag-pulse{animation:2.6s ease-in-out infinite agPulse}@keyframes agRing{to{transform:rotate(360deg)}}@keyframes agWave{50%{transform:skewY(-7deg)scaleX(.93)}}@keyframes agCall{0%{opacity:0;transform:translate(-3px)}40%{opacity:.7}to{opacity:0;transform:translate(2px)}}@keyframes agDraw{0%{stroke-dashoffset:100px}45%,80%{stroke-dashoffset:0}to{stroke-dashoffset:-100px}}@keyframes agBlink{50%{opacity:0}}@keyframes agNudgeL{50%{transform:translate(-2px)}}@keyframes agNudgeR{50%{transform:translate(2px)}}@keyframes agWrite{0%,to{transform:translate(0)}30%{transform:translate(-14px,-12px)}60%{transform:translate(-8px,-4px)}}@keyframes agRise{0%{transform:scaleY(.2)}40%,85%{transform:scaleY(1)}to{transform:scaleY(.2)}}@keyframes agSearch{20%{transform:rotate(35deg)}45%{transform:rotate(-25deg)}70%{transform:rotate(10deg)}}@keyframes agFrame{50%{transform:scale(.86)}}@keyframes agTurn{0%,42%{transform:rotate(0)}50%,92%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes agDrain{0%{transform:scaleY(1)}42%,to{transform:scaleY(.15)}}@keyframes agFillUp{0%{transform:scaleY(.15)}42%,to{transform:scaleY(1)}}@keyframes agGauge{0%,to{transform:rotate(-70deg)}55%{transform:rotate(8deg)}65%{transform:rotate(-2deg)}}@keyframes agTilt{25%{transform:rotate(7deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(1deg)}}@keyframes agSpin{50%{transform:scaleX(.12)}}@keyframes agOrbit{to{transform:rotate(360deg)}}@keyframes agSweep{50%{transform:translate(16px)}}@keyframes agMark{0%,45%{opacity:0}55%,90%{opacity:1}to{opacity:0}}@keyframes agRipple{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}@keyframes agLean{50%{transform:rotate(-12deg)}}@keyframes agGrow{0%,to{transform:scale(.9)}50%{transform:scale(1)}}@keyframes agSway{50%{transform:rotate(-8deg)}}@keyframes agSlosh{50%{transform:skew(4deg)}}@keyframes agBubble{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}@keyframes agBeat{12%{transform:scale(1.14)}24%{transform:scale(.98)}36%{transform:scale(1.08)}50%{transform:scale(1)}}@keyframes agTwinkle{50%{opacity:.15;transform:rotate(45deg)scale(.7)}}@keyframes agPulse{50%{opacity:.75;transform:scale(1.07)}}@media (prefers-reduced-motion:reduce){.agent-glyph *{animation:none!important}.ag-draw{stroke-dasharray:none}.ag-mark{opacity:1}}.loop-graph{min-width:0}.loop-rules{max-width:76ch;color:var(--text-2);margin:0;padding-left:18px;font-size:13.5px}.loop-rules li+li{margin-top:4px}.loop-ring{width:100%;max-width:680px;height:auto;font-family:var(--font-ui);margin:0 auto;display:block}.loop-run-wait{margin:0;font-size:12.5px}.loop-run-preset{align-items:center;gap:8px;display:flex}.loop-history{border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto}.loop-h2{margin:10px 0 0;font-size:15px;font-weight:700}.loop-brick-list{border:1px solid var(--line);border-radius:var(--r-md);margin:0;padding:0;list-style:none;overflow:hidden}.loop-brick{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--topbar-h) + 12px);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:9px 14px;transition:background .2s;display:flex}.loop-brick:last-child{border-bottom:0}.loop-brick.on{background:var(--accent-soft)}.loop-brick.dimmed{opacity:.55}.loop-brick b{min-width:9em;font-size:13.5px}.loop-brick b a{color:var(--text)}.loop-brick b a:hover{color:var(--accent-text)}.loop-brick .mono{font-size:12px}.loop-facts{grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0;font-size:13.5px;display:grid}.loop-facts dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);align-self:center;font-size:11px}.loop-facts dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px;margin:0;display:flex}.loop-src-bar{margin-bottom:12px}.loop-brick-src{white-space:pre-wrap;max-height:480px;font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);margin:0;padding:10px 12px;font-size:12px;overflow:auto}.loop-problems{border-color:color-mix(in srgb, var(--warn) 40%, transparent);margin-bottom:16px}.loop-problems ul{margin:0;padding-left:18px}.lr-ring{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.lr-inner{fill:color-mix(in srgb, var(--good) 6%, transparent);stroke:color-mix(in srgb, var(--good) 25%, transparent);stroke-width:1px}path.lr-inner{fill:none;stroke:var(--good);stroke-width:2.5px;stroke-linecap:round}.lr-flow{fill:none;stroke:var(--line-3);stroke-width:1.6px}.lr-box{fill:none;stroke:color-mix(in srgb, var(--good) 45%, transparent);stroke-width:1.2px}.lr-head-ring{fill:var(--accent)}.lr-head-inner{fill:var(--good)}.lr-head-flow{fill:var(--line-3)}.lr-node{cursor:pointer}.lr-node circle{fill:color-mix(in srgb, var(--accent) 12%, var(--surface));stroke:var(--accent);stroke-width:2px}.lr-node.inner circle{stroke:var(--good);fill:color-mix(in srgb, var(--good) 12%, var(--surface))}.lr-node text{fill:var(--text);font-size:11.5px;font-weight:600}.lr-node:hover circle,.lr-node:focus-visible circle{stroke-width:3px}.lr-node:focus{outline:none}.lr-node.current circle,.lr-node.inner.current circle{fill:var(--accent);stroke:var(--accent);stroke-width:4px}.lr-node.current text{fill:var(--accent-ink)}.lr-gate circle{fill:var(--warn)}.lr-gate text:first-of-type{fill:var(--surface);font-size:14px}.loop-ring .lr-human circle:first-of-type{fill:var(--surface);stroke:var(--text-2);stroke-width:1.4px}.loop-ring .lr-human path.lr-human-fig,.loop-ring .lr-human circle.lr-human-fig{fill:var(--text);stroke:none}.lr-lbl{fill:var(--text);font-size:14px;font-weight:600}.lr-sub{fill:var(--text-2);font-size:11px}.lr-sub.lr-good{fill:var(--good)}.lr-sub.lr-warn{fill:var(--warn)}.lr-sub.lr-acc{fill:var(--accent)}.lr-title{fill:var(--text);font-size:18px;font-weight:700}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Dashboard-D1lE7jcg.js","assets/sections-GalMS0Zv.js","assets/react-B9Z_tXRV.js","assets/api-CxgfYu18.js","assets/Activity-kpWxd70F.js","assets/activity-Dr7ZMBI3.js","assets/usePoll-DD8VjtSg.js","assets/ActivityDetail-Ccr942VL.js","assets/Library-MBxadRzn.js","assets/Markdown-X2a3qvOh.js","assets/FilterInput-CVyqmYWM.js","assets/Loops-Da_JhlzM.js","assets/Laws-S9fq1r9T.js","assets/Personal-CTXKHVbV.js","assets/Tabs-B0cdf8k6.js","assets/Installs-Gw-pJ3Zi.js","assets/Docs-BHyaggFy.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e,n as t,r as n,s as r}from"./sections-GalMS0Zv.js";import{i,n as a,r as o,t as s}from"./react-B9Z_tXRV.js";import{t as c}from"./api-CxgfYu18.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=typeof window<`u`,u=l?window:null,d=l?document:null,f={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},p={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},m={NONE:0,AUTO:1,FORCE:2},h={replace:0,none:1,blend:2},g=Symbol(),_=Symbol(),v=Symbol(),y=Symbol(),b=Symbol(),x=1e-11,S=0xe8d4a51000,C=1e3,w=[],T=(()=>{let e=new Map;return e.set(`x`,`translateX`),e.set(`y`,`translateY`),e.set(`z`,`translateZ`),e})(),E=[`perspective`,`translateX`,`translateY`,`translateZ`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`scale`,`scaleX`,`scaleY`,`scaleZ`,`skew`,`skewX`,`skewY`],D=E.reduce((e,t)=>({...e,[t]:t+`(`}),{}),O=()=>{},ee=e=>e,k=/\)\s*[-.\d]/,te=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,ne=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,A=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,j=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,M=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,N=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,P=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,F=/([a-z])([A-Z])/g,re=/(\*=|\+=|-=)/,ie=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/,ae={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:240,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:C,delay:0,loopDelay:0,ease:`out(2)`,composition:h.replace,modifier:ee,onBegin:O,onBeforeUpdate:O,onUpdate:O,onLoop:O,onPause:O,onComplete:O,onRender:O},oe={current:null,root:d},I={defaults:ae,precision:4,timeScale:1,tickThreshold:200,editor:null},se={version:`4.5.0`,engine:null};l&&(u.AnimeJS||=[],u.AnimeJS.push(se));var ce=e=>e.replace(F,`$1-$2`).toLowerCase(),L=(e,t)=>e.indexOf(t)===0,le=Date.now,ue=Array.isArray,de=e=>e&&e.constructor===Object,fe=e=>typeof e==`number`&&!isNaN(e),pe=e=>typeof e==`string`,me=e=>typeof e==`function`,R=e=>e===void 0,he=e=>R(e)||e===null,z=e=>l&&e instanceof SVGElement,ge=e=>te.test(e),_e=e=>L(e,`rgb`),ve=e=>L(e,`hsl`),ye=e=>ge(e)||(_e(e)||ve(e))&&(e[e.length-1]===`)`||!k.test(e)),be=e=>!I.defaults.hasOwnProperty(e),xe=[`opacity`,`rotate`,`overflow`,`color`],B=(e,t)=>{if(xe.includes(t))return!1;if(e.getAttribute(t)||t in e){if(t===`scale`){let t=e.parentNode;return t&&t.tagName===`filter`}return!0}},Se=e=>pe(e)?parseFloat(e):e,Ce=Math.pow,we=Math.sqrt,Te=Math.sin,Ee=Math.cos,De=Math.abs,Oe=Math.floor,ke=Math.asin,Ae=Math.PI,je=Math.round,V=(e,t,n)=>e<t?t:e>n?n:e,H=(e,t)=>{if(t<0)return e;if(!t)return je(e);let n=10**t;return je(e*n)/n},Me=(e,t,n)=>n===1?t:n===0?e:e+(t-e)*n,Ne=e=>e===1/0?S:e===-1/0?-S:e,Pe=e=>e<=1e-11?x:Ne(H(e,11)),U=e=>ue(e)?[...e]:e,Fe=(e,t)=>{let n={...e};for(let r in t){let i=e[r];n[r]=R(i)?t[r]:i}return n},W=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._head,o=i;for(n&&(a=e._tail,o=r);a;){let e=a[o];t(a),a=e}},Ie=(e,t,n=`_prev`,r=`_next`)=>{let i=t[n],a=t[r];i?i[r]=a:e._head=a,a?a[n]=i:e._tail=i,t[n]=null,t[r]=null},Le=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._tail;for(;a&&n&&n(a,t);)a=a[r];let o=a?a[i]:e._head;a?a[i]=t:e._head=t,o?o[r]=t:e._tail=t,t[r]=a,t[i]=o},Re=(e,t,n)=>{let r=e.style.transform;if(r){let i=e[y],a=0,o=r.length,s;for(;a<o;){for(;a<o&&r.charCodeAt(a)===32;)a++;if(a>=o)break;let e=a;for(;a<o&&r.charCodeAt(a)!==40;)a++;if(a>=o)break;let t=r.substring(e,a),n=1,c=a+1,l=-1,u=-1;for(a++;a<o&&n>0;){let e=r.charCodeAt(a);e===40?n++:e===41?n--:e===44&&n===1&&(l===-1?l=a:u===-1&&(u=a)),a++}let d=a-1;t===`translate`||t===`translate3d`?(l===-1?i.translateX=r.substring(c,d).trim():(i.translateX=r.substring(c,l).trim(),u===-1?i.translateY=r.substring(l+1,d).trim():(i.translateY=r.substring(l+1,u).trim(),i.translateZ=r.substring(u+1,d).trim())),s=r.substring(c,d)):t===`scale`||t===`scale3d`?l===-1?i.scale=r.substring(c,d).trim():(i.scaleX=r.substring(c,l).trim(),u===-1?i.scaleY=r.substring(l+1,d).trim():(i.scaleY=r.substring(l+1,u).trim(),i.scaleZ=r.substring(u+1,d).trim())):i[t]=r.substring(c,d)}if(t===`translate3d`&&s)return n&&(n[t]=s),s;let c=i[t];if(!R(c))return n&&(n[t]=c),c}return t===`translate3d`?`0px, 0px, 0px`:t===`rotate3d`?`0, 0, 0, 0deg`:L(t,`scale`)?`1`:L(t,`rotate`)||L(t,`skew`)?`0deg`:`0px`},ze=e=>{let t=``;for(let n=0,r=E.length;n<r;n++){let r=E[n],i=e[r];if(i!==void 0){if(r===`translateX`){let r=e.translateY;if(r!==void 0){let a=e.translateZ;a===void 0?(t+=`translate(${i},${r}) `,n+=1):(t+=`translate3d(${i},${r},${a}) `,n+=2);continue}}if(r===`scaleX`&&e.scale===void 0){let r=e.scaleY;if(r!==void 0){let a=e.scaleZ;a===void 0?(t+=`scale(${i},${r}) `,n+=1):(t+=`scale3d(${i},${r},${a}) `,n+=2);continue}}t+=`${D[r]}${i}) `}r===`rotateZ`&&e.rotate3d!==void 0&&(t+=`rotate3d(${e.rotate3d}) `)}return e.matrix!==void 0&&(t+=`matrix(${e.matrix}) `),e.matrix3d!==void 0&&(t+=`matrix3d(${e.matrix3d}) `),t},Be=[];function Ve(e,t){if(!e)return null;let n=Be.length;outer:for(let r=0;r<n;r++){let n=Be[r];if(n.detect&&!n.detect(e))continue;let i=n.targetAdapters;for(let n=0,r=i.length;n<r;n++){let r=i[n];if(r.detect(e)){let n=r.props[t];if(n&&(!n.gate||n.gate(e)))return n;break outer}}}for(let r=0;r<n;r++){let n=Be[r];if(n.detect&&!n.detect(e))continue;let i=n.propertyResolvers;for(let n=0,r=i.length;n<r;n++){let r=i[n](e,t);if(r)return r}}return null}var He=e=>{let t=ne.exec(e)||A.exec(e),n=R(t[4])?1:+t[4];return[+t[1],+t[2],+t[3],n]},Ue=e=>{let t=e.length,n=t===4||t===5;return[+(`0x`+e[1]+e[n?1:2]),+(`0x`+e[n?2:3]+e[n?2:4]),+(`0x`+e[n?3:5]+e[n?3:6]),t===5||t===9?+((`0x`+e[n?4:7]+e[n?4:8])/255).toFixed(3):1]},We=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),Ge=e=>{let t=j.exec(e)||M.exec(e),n=t[1]/360,r=t[2]/100,i=t[3]/100,a=R(t[4])?1:+t[4],o,s,c;if(r===0)o=s=c=i;else{let e=i<.5?i*(1+r):i+r-i*r,t=2*i-e;o=H(We(t,e,n+1/3)*255,0),s=H(We(t,e,n)*255,0),c=H(We(t,e,n-1/3)*255,0)}return[o,s,c,a]},Ke=e=>_e(e)?He(e):ge(e)?Ue(e):ve(e)?Ge(e):[0,0,0,1],G=(e,t)=>R(e)?t:e,qe=(e,t)=>{let n=e.match(ie),r=t[_]?t:document.documentElement,i=getComputedStyle(r)?.getPropertyValue(n[1]);return(!i||i.trim()===``)&&n[2]&&(i=n[2].trim()),i||0},Je=(e,t,n,r,i,a)=>{if(me(e)){if(!i){let i=e(t,n,r,a);return isNaN(+i)?i||0:+i}let o=()=>{let i=e(t,n,r,a);return isNaN(+i)?i||0:+i};return i.func=o,o()}if(pe(e)&&L(e,`var(`)){if(!i)return qe(e,t);let n=()=>qe(e,t);return i.func=n,n()}return e},Ye=(e,t)=>e[_]?e[v]&&B(e,t)?f.ATTRIBUTE:E.includes(t)||T.get(t)?f.TRANSFORM:L(t,`--`)?f.CSS_VAR:t in e.style?f.CSS:t in e?f.OBJECT:f.ATTRIBUTE:f.OBJECT,Xe=(e,t,n)=>{let r=e.style[t];r&&n&&(n[t]=r);let i=r||getComputedStyle(e[b]||e).getPropertyValue(t);return i===`auto`?`0`:i},Ze=(e,t,n,r)=>{let i=R(n)?Ye(e,t):n,a=Ve(e,t);if(a){let n=a.get(e);return n&&r&&(r[t]=n),n??0}if(i===f.OBJECT){let n=e[t];return n&&r&&(r[t]=n),n||0}if(i===f.ATTRIBUTE){let n=e.getAttribute(t);return n&&r&&(r[t]=n),n}return i===f.TRANSFORM?Re(e,t,r):i===f.CSS_VAR?Xe(e,t,r).trimStart():Xe(e,t,r)},Qe=(e,t,n)=>n===`-`?e-t:n===`+`?e+t:e*t,$e=()=>({t:p.NUMBER,n:0,u:null,o:null,d:null,s:null}),K=(e,t)=>{if(t.t=p.NUMBER,t.n=0,t.u=null,t.o=null,t.d=null,t.s=null,!e)return t;let n=+e;if(!isNaN(n))return t.n=n,t;let r=e;r[1]===`=`&&(t.o=r[0],r=r.slice(2));let i=!r.includes(` `)&&P.exec(r);if(i)return t.t=p.UNIT,t.n=+i[1],t.u=i[2],t;if(t.o)return t.n=+r,t;if(ye(r))return t.t=p.COLOR,t.d=Ke(r),t;{let e=r.match(N);return t.t=p.COMPLEX,t.d=e?e.map(Number):[],t.s=r.split(N)||[],t}},et=(e,t)=>(t.t=e._valueType,t.n=e._toNumber,t.u=e._unit,t.o=null,t.d=U(e._toNumbers),t.s=U(e._strings),t),tt=$e(),nt=(e,t,n)=>{let r=e._modifier,i=e._fromNumbers,a=e._toNumbers,o=e._strings,s=o[0];for(let c=0,l=a.length;c<l;c++){let l=r(H(Me(i[c],a[c],t),n)),u=o[c+1];s+=`${u?l+u:l}`,e._numbers[c]=l}return s},rt=(e,t,n,r,i)=>{let a=e.parent,o=e.duration,s=e.completed,c=e.iterationDuration,l=e.iterationCount,u=e._currentIteration,d=e._loopDelay,g=e._reversed,_=e._alternate,v=e._hasChildren,b=e._delay,S=e._currentTime,C=b+c,w=t-b,T=V(S,-b,o),E=V(w,-b,o),D=w-S,O=E>0,ee=E>=o,k=o<=x,te=i===m.FORCE,ne=0,A=w,j=0;if(l>1){let t=c+(ee?0:d),n=~~(E/t);e._currentIteration=V(n,0,l),ee&&e._currentIteration--,ne=e._currentIteration%2,A=E-n*t||0}let M=g^(_&&ne),N=e._ease,P=ee?M?0:o:M?c-A:A;N&&(P=c*N(P/c)||0);let F=(a?a.backwards:w<S)?!M:!!M;if(e._currentTime=w,e._iterationTime=P,e.backwards=F,O&&!e.began?(e.began=!0,!n&&(!a||!F&&a.began)&&e.onBegin(e)):w<=0&&(e.began=!1),!n&&!v&&O&&e._currentIteration!==u&&e.onLoop(e),te||i===m.AUTO&&(t>=(a&&b>0?0:b)&&t<=C||t<=b&&T>b||t>=C&&T!==o)||P>=C&&T!==o||P<=b&&T>0&&!ee||t<=T&&T===o&&s||ee&&!s&&k){if(O&&(e.computeDeltaTime(T),n||e.onBeforeUpdate(e)),!v){let t=te||(F?D*-1:D)>=I.tickThreshold,i=H(e._offset+(a?a._offset:0)+b+P,12),o=e._head,s,c,l,u,d=0;for(;o;){let e=o._composition,n=o._currentTime,a=o._changeDuration,m=o._absoluteStartTime+o._changeDuration,g=o._nextRep,_=o._prevRep,v=e!==h.none,b=_?_._absoluteStartTime+_._changeDuration:0,x=_&&_.parent!==o.parent,S=!g||g._isOverridden?m:g.parent===o.parent?m+g._delay:g._absoluteStartTime<g._absoluteUpdateStartTime?g._absoluteStartTime:g._absoluteUpdateStartTime;if((t||(n!==a||i<=S||_&&!x&&(!g||g.parent!==o.parent))&&(n!==0||i>=o._absoluteStartTime||x&&!o._hasFromValue&&!_._isOverridden&&i>=b||g&&!g._isOverridden&&g.parent===o.parent&&g._currentTime!==0&&P<g._startTime))&&(!_||x||P>=o._startTime)&&(!v||!o._isOverridden&&(!o._isOverlapped||i<=m)&&(!g||g._isOverridden||i<=S)&&(!_||_._isOverridden||(x?i>=o._absoluteStartTime||!o._hasFromValue&&i>=b:i>=b+o._delay)))){let t=o._currentTime=V(P-o._startTime,0,a),n=o._ease(t/o._updateDuration),i=o._modifier,m=o._valueType,g=o._tweenType,_=g===f.OBJECT,b=m===p.NUMBER,x=b&&_||n===0||n===1?-1:I.precision,S,C;if(b)S=C=i(H(Me(o._fromNumber,o._toNumber,n),x));else if(m===p.UNIT)C=i(H(Me(o._fromNumber,o._toNumber,n),x)),S=`${C}${o._unit}`;else if(m===p.COLOR){let e=o._numbers,t=o._fromNumbers,a=o._toNumbers,s=1-n,c=t[0],l=t[1],u=t[2],d=a[0],f=a[1],p=a[2];e[0]=i(Math.sqrt(c*c*s+d*d*n)),e[1]=i(Math.sqrt(l*l*s+f*f*n)),e[2]=i(Math.sqrt(u*u*s+p*p*n)),e[3]=i(Me(t[3],a[3],n)),(!o._setter||r)&&(S=`rgba(${H(e[0],0)},${H(e[1],0)},${H(e[2],0)},${e[3]})`)}else m===p.COMPLEX&&(S=nt(o,n,x));if(v&&(o._number=C),!r&&e!==h.blend){let e=o.property;s=o.target,o._setter?o._setter(s,C,o):_?s[e]=S:g===f.ATTRIBUTE?s.setAttribute(e,S):(c=s.style,g===f.TRANSFORM?(s!==l&&(l=s,u=s[y]),u[e]=S,d=1):g===f.CSS?c[e]=S:g===f.CSS_VAR&&c.setProperty(e,S)),O&&(j=1)}else o._value=S}else n&&_&&!x&&P<o._startTime&&(o._currentTime=0);d&&o._renderTransforms&&(c.transform=ze(u),d=0),o=o._next}!n&&j&&e.onRender(e)}!n&&O&&e.onUpdate(e)}return a&&k?!n&&(a.began&&!F&&w>0&&!s||F&&w<=1e-11&&s)&&(e.onComplete(e),e.completed=!F):O&&ee?l===1/0?e._startTime+=e.duration:e._currentIteration>=l-1&&(e.paused=!0,!s&&!v&&(e.completed=!0,!n&&(!a||!F&&a.began)&&(e.onComplete(e),e._resolve(e)))):e.completed=!1,j},it=(e,t,n,r,i)=>{let a=e._currentIteration;if(rt(e,t,n,r,i),e._hasChildren){let o=e,s=o.backwards,c=r?t:o._iterationTime,l=le(),u=0,d=!0;if(!r&&o._currentIteration!==a){let e=o.iterationDuration;W(o,t=>{if(!s)!t.completed&&!t.backwards&&t._currentTime<t.iterationDuration&&rt(t,e,n,1,m.FORCE),t.began=!1,t.completed=!1;else{let r=t.duration,i=t._offset+t._delay,a=i+r;!n&&r<=1e-11&&(!i||a===e)&&t.onComplete(t)}}),n||o.onLoop(o)}W(o,e=>{let t=H((c-e._offset)*e._speed,12);if(s&&t>e._delay+e.duration)return;let a=e._fps<o._fps?e.requestTick(l):i;u+=rt(e,t,n,r,a),!e.completed&&d&&(d=!1)},s),!n&&u&&o.onRender(o),(d||s)&&o._currentTime>=o.duration&&(o.paused=!0,o.completed||(o.completed=!0,n||(o.onComplete(o),o._resolve(o))))}},at={},ot=(e,t,n)=>{if(n===f.TRANSFORM)return T.get(e)||e;if(n===f.CSS||n===f.ATTRIBUTE&&z(t)&&e in t.style){let t=at[e];if(t)return t;{let t=e&&ce(e);return at[e]=t,t}}return e},st=(e,t=!1)=>{if(e._hasChildren)W(e,e=>st(e,t),!0);else{let n=e;n.pause(),W(n,e=>{let r=e.property,i=e.target,a=e._tweenType,o=e._inlineValue,s=he(o)||o===``;if(e._setter){if(!t&&!s){if(K(o,tt),tt.d){let t=tt.d,n=e._numbers;for(let e=0,r=t.length;e<r;e++)n[e]=t[e]}else e._number=tt.n;e._setter(e.target,e._number,e)}}else if(a===f.OBJECT)!t&&!s&&(i[r]=o);else if(i[_]){if(a===f.ATTRIBUTE)t||(s?i.removeAttribute(r):i.setAttribute(r,o));else{let t=i.style;if(a===f.TRANSFORM){let n=i[y];s?delete n[r]:n[r]=o,e._renderTransforms&&(Object.keys(n).length?t.transform=ze(n):t.removeProperty(`transform`))}else s?t.removeProperty(ce(r)):t[r]=o}}i[_]&&n._tail===e&&n.targets.forEach(e=>{e.getAttribute&&e.getAttribute(`style`)===``&&e.removeAttribute(`style`)})})}return e},ct=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._lastTickTime=e,this._startTime=e,this._lastTime=e,this._frameDuration=C/240,this._fps=240,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let t=+e,n=t<1e-11?x:t,r=C/n;n>ae.frameRate&&(ae.frameRate=n),this._fps=n,this._frameDuration=r}get speed(){return this._speed}set speed(e){let t=+e;this._speed=t<1e-11?x:t}requestTick(e){let t=this._frameDuration,n=e-this._lastTickTime,r=t*.25;return n+(r<4?r:4)<t?m.NONE:(this._lastTickTime=n>=t?e-n%t:e,m.AUTO)}computeDeltaTime(e){let t=e-this._lastTime;return this.deltaTime=t,this._lastTime=e,t}},lt={animation:null,update:O},ut=e=>{let t=lt.animation;return t||(t={duration:x,computeDeltaTime:O,_offset:0,_delay:0,_head:null,_tail:null},lt.animation=t,lt.update=()=>{e.forEach(e=>{for(let t in e){let n=e[t],r=n._head;if(r){let e=r._valueType,t=e===p.COMPLEX||e===p.COLOR?U(r._fromNumbers):null,i=r._fromNumber,a=n._tail;for(;a&&a!==r;){if(t)for(let e=0,n=a._numbers.length;e<n;e++)t[e]+=a._numbers[e];else i+=a._number;a=a._prevAdd}r._toNumber=i,r._toNumbers=t}}}),rt(t,1,1,0,m.FORCE)}),t},dt=l?requestAnimationFrame:setImmediate,ft=l?cancelAnimationFrame:clearImmediate,pt=class extends ct{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=ae,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=le();if(this.requestTick(e)){this.computeDeltaTime(e);let t=this._speed,n=this._fps,r=this._head;for(;r;){let i=r._next;r.paused?(Ie(this,r),this._hasChildren=!!this._tail,r._running=!1,r.completed&&!r._cancelled&&r.cancel()):it(r,(e-r._startTime)*r._speed*t,0,0,r._fps<n?r.requestTick(e):m.AUTO),r=i}lt.update()}}wake(){return this.useDefaultMainLoop&&!this.reqId&&(this.requestTick(le()),this.reqId=dt(mt)),this}pause(){if(this.reqId)return this.paused=!0,ht()}resume(){if(this.paused)return this.paused=!1,W(this,e=>e.resetTime()),this.wake()}get speed(){return this._speed*(I.timeScale===1?1:C)}set speed(e){let t=e*I.timeScale;this._speed!==t&&(this._speed=t,W(this,e=>e.speed=e._speed))}get timeUnit(){return I.timeScale===1?`ms`:`s`}set timeUnit(e){let t=.001,n=e===`s`,r=n?t:1;if(I.timeScale!==r){I.timeScale=r,I.tickThreshold=200*r;let e=n?t:C;this.defaults.duration*=e,this._speed*=e}}get precision(){return I.precision}set precision(e){I.precision=e}},q=(()=>{let e=new pt(le());return l&&(se.engine=e,d.addEventListener(`visibilitychange`,()=>{e.pauseOnDocumentHidden&&(d.hidden?e.pause():e.resume())})),e})(),mt=()=>{q._head?(q.reqId=dt(mt),q.update()):q.reqId=0},ht=()=>(ft(q.reqId),q.reqId=0,q),gt={_rep:new WeakMap,_add:new Map},_t=(e,t,n=`_rep`)=>{let r=gt[n],i=r.get(e);return i||(i={},r.set(e,i)),i[t]?i[t]:i[t]={_head:null,_tail:null}},vt=(e,t)=>e._isOverridden||e._absoluteStartTime>t._absoluteStartTime,yt=e=>{e._isOverlapped=1,e._isOverridden=1,e._changeDuration=x,e._currentTime=x},bt=(e,t)=>{let n=e._composition;if(n===h.replace){let n=e._absoluteStartTime;Le(t,e,vt,`_prevRep`,`_nextRep`);let r=e._prevRep;if(r){let t=r.parent,i=r._absoluteEndTime;if(e.parent.id!==t.id&&t.iterationCount>1&&i+(t.duration-t.iterationDuration)>n){yt(r);let e=r._prevRep;for(;e&&e.parent.id===t.id;)yt(e),e=e._prevRep}let a=e._absoluteUpdateStartTime;if(i>a){let e=r._startTime,t=H(a-(i-(e+r._updateDuration))-e,12);r._changeDuration=t,r._currentTime=t,r._isOverlapped=1,t<1e-11&&yt(r)}let o=e.parent.parent;if(!o||o!==t.parent){let e=!0;if(W(t,t=>{t._isOverlapped||(e=!1)}),e){let e=t.parent;if(e){let n=!0;W(e,e=>{e!==t&&W(e,e=>{e._isOverlapped||(n=!1)})}),n&&e.cancel()}else t.cancel()}}}}else if(n===h.blend){let t=_t(e.target,e.property,`_add`),n=ut(gt._add),r=t._head;r||(r={...e},r._composition=h.replace,r._updateDuration=x,r._startTime=0,r._numbers=U(e._fromNumbers),r._number=0,r._next=null,r._prev=null,Le(t,r),Le(n,r));let i=e._toNumber;if(e._fromNumber=r._fromNumber-i,e._toNumber=0,e._numbers=U(e._fromNumbers),e._number=0,r._fromNumber=i,e._toNumbers.length){let t=U(e._toNumbers);t.forEach((t,n)=>{e._fromNumbers[n]=r._fromNumbers[n]-t,e._toNumbers[n]=0}),r._fromNumbers=t}Le(t,e,null,`_prevAdd`,`_nextAdd`)}return e},xt=e=>{let t=e._composition;if(t!==h.none){let n=e.target,r=e.property,i=gt._rep.get(n)[r];if(Ie(i,e,`_prevRep`,`_nextRep`),t===h.blend){let t=gt._add,i=t.get(n);if(!i)return;let a=i[r],o=lt.animation;Ie(a,e,`_prevAdd`,`_nextAdd`);let s=a._head;if(s&&s===a._tail){Ie(a,s,`_prevAdd`,`_nextAdd`),Ie(o,s);let e=!0;for(let t in i)if(i[t]._head){e=!1;break}e&&t.delete(n)}}}return e},St=(e,t,n)=>{let r=!1;return W(t,i=>{let a=i.target;if(e.includes(a)){let e=i.property,o=i._tweenType,s=ot(n,a,o);(!s||s&&s===e)&&(i.parent._tail===i&&i._tweenType===f.TRANSFORM&&i._prev&&i._prev._tweenType===f.TRANSFORM&&(i._prev._renderTransforms=1),Ie(t,i),xt(i),r=!0)}},!0),r},Ct=(e,t,n)=>{let r=t||q,i;if(r._hasChildren){let t=0;W(r,a=>{if(!a._hasChildren){if(i=St(e,a,n),i&&!a._head)a.cancel(),Ie(r,a);else{let e=a._offset+a._delay+a.duration;e>t&&(t=e)}}a._head?Ct(e,a,n):a._hasChildren=!1},!0),R(r.iterationDuration)||(r.iterationDuration=t)}else i=St(e,r,n);i&&!r._head&&(r._hasChildren=!1,r.cancel&&r.cancel())},wt=e=>(e.paused=!0,e.began=!1,e.completed=!1,e),Tt=e=>e._cancelled?(e._hasChildren?W(e,Tt):W(e,e=>{e._composition!==h.none&&bt(e,_t(e.target,e.property))}),e._cancelled=0,e):e,Et=0,Dt=(e,t)=>e._priority>t._priority,Ot=class extends ct{constructor(e={},t=null,n=0){super(0),++Et;let{id:r,delay:i,duration:a,reversed:o,alternate:s,loop:c,loopDelay:l,autoplay:u,frameRate:d,playbackRate:f,priority:p,onComplete:m,onLoop:h,onPause:g,onBegin:_,onBeforeUpdate:v,onUpdate:y}=e;oe.current&&oe.current.register(this);let b=t?0:q._lastTickTime,x=t?t.defaults:I.defaults,S=me(i)||R(i)?x.delay:+i,C=me(a)||R(a)?1/0:+a,w=G(c,x.loop),T=G(l,x.loopDelay),E=w===!0||w===1/0||w<0?1/0:w+1,D=0;t?D=n:(q.reqId||q.requestTick(le()),D=(q._lastTickTime-q._startTime)*I.timeScale),this.id=R(r)?Et:r,this.parent=t,this.duration=Ne((C+T)*E-T)||1e-11,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=_||x.onBegin,this.onBeforeUpdate=v||x.onBeforeUpdate,this.onUpdate=y||x.onUpdate,this.onLoop=h||x.onLoop,this.onPause=g||x.onPause,this.onComplete=m||x.onComplete,this.iterationDuration=C,this.iterationCount=E,this._autoplay=!t&&G(u,x.autoplay),this._offset=D,this._delay=S,this._loopDelay=T,this._iterationTime=0,this._currentIteration=0,this._resolve=O,this._running=!1,this._reversed=+G(o,x.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=G(s,x.alternate),this._prev=null,this._next=null,this._lastTickTime=b,this._startTime=b,this._lastTime=b,this._fps=G(d,x.frameRate),this._speed=G(f,x.playbackRate),this._priority=+G(p,1)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return V(H(this._currentTime,I.precision),-this._delay,this.duration)}set currentTime(e){let t=this.paused;this.pause().seek(+e),t||this.resume()}get iterationCurrentTime(){return V(H(this._iterationTime,I.precision),0,this.iterationDuration)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return V(H(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return V(H(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let t=this.iterationDuration;this.currentTime=t*this._currentIteration+t*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*V(+e,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(e){e?this.reverse():this.play()}get speed(){return super.speed}set speed(e){super.speed=e,this.resetTime()}reset(e=!1){return Tt(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,it(this,0,1,~~e,m.FORCE),wt(this),this._hasChildren&&W(this,wt),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&it(this,this.duration,1,~~e,m.FORCE),this.reset(e);let t=this._autoplay;return t===!0?this.resume():t&&!R(t.linked)&&t.link(this),this}resetTime(){let e=1/(this._speed*q._speed);return this._startTime=le()-(this._currentTime+this._delay)*e,this}pause(){return this.paused?this:(this.paused=!0,this.onPause(this),this)}resume(){return this.paused?(this.paused=!1,this.duration<=1e-11&&!this._hasChildren?it(this,x,0,0,m.FORCE):(this._running||=(Le(q,this,Dt),q._hasChildren=!0,!0),this.resetTime(),this._startTime-=12,q.wake()),this):this}restart(){return this.reset().resume()}seek(e,t=0,n=0){Tt(this),this.completed=!1;let r=this.paused;return this.paused=!0,it(this,e+this._delay,~~t,~~n,m.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,t=this.iterationCount,n=this.iterationDuration,r=t===1/0?Oe(S/n):t;return this._reversed=+(this._alternate&&!(r%2)?e:!e),t===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(n*r-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?W(this,e=>e.cancel(),!0):W(this,xt),this._cancelled=1,this.pause()}stretch(e){let t=this.duration,n=Pe(e);if(t===n)return this;let r=e/t,i=e<=x;return this.duration=i?x:n,this.iterationDuration=i?x:Pe(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){it(this,0,1,0,m.AUTO);let e=this._autoplay;return e&&e.linked&&e.linked===this&&e.revert(),this.cancel()}complete(e=0){return this.seek(this.duration,e).cancel()}then(e=O){let t=this.then,n=()=>{this.then=null,e(this),this.then=t,this._resolve=O};return new Promise(e=>(this._resolve=()=>e(n()),this.completed&&this._resolve(),this))}};function kt(e){let t=pe(e)?oe.root.querySelectorAll(e):e;if(t instanceof NodeList||t instanceof HTMLCollection)return t}function At(e){if(he(e))return[];if(!l)return ue(e)&&e.flat(1/0)||[e];if(ue(e)){let t=e.flat(1/0),n=[];for(let e=0,r=t.length;e<r;e++){let r=t[e];if(!he(r)){let e=kt(r);if(e)for(let t=0,r=e.length;t<r;t++){let r=e[t];if(!he(r)){let e=!1;for(let t=0,i=n.length;t<i;t++)if(n[t]===r){e=!0;break}e||n.push(r)}}else{let e=!1;for(let t=0,i=n.length;t<i;t++)if(n[t]===r){e=!0;break}e||n.push(r)}}}return n}let t=kt(e);return t?Array.from(t):[e]}function jt(e){let t=At(e),n=t.length;for(let e=0;e<n;e++){let n=t[e];if(!n[g]){n[g]=!0;let e=z(n);(n.nodeType||e)&&(n[_]=!0,n[v]=e,n[y]={})}}return t}var Mt={deg:1,rad:180/Ae,turn:360},Nt={},Pt=(e,t,n,r=!1)=>{let i=t.u,a=t.n;if(t.t===p.UNIT&&i===n)return t;let o=a+i+n,s=Nt[o];if(!R(s)&&!r)t.n=s;else{let r;if(i in Mt)r=a*Mt[i]/Mt[n];else{let t=e.cloneNode(),o=e.parentNode,s=o&&o!==d?o:d.body;s.appendChild(t);let c=t.style;c.width=100+i;let l=t.offsetWidth||100;c.width=100+n;let u=l/(t.offsetWidth||100);s.removeChild(t),r=u*a}t.n=r,Nt[o]=r}return t.t,p.UNIT,t.u=n,t},Ft=e=>e,It=(e=1.68)=>t=>Ce(t,+e),Lt={in:e=>t=>e(t),out:e=>t=>1-e(1-t),inOut:e=>t=>t<.5?e(t*2)/2:1-e(t*-2+2)/2,outIn:e=>t=>t<.5?(1-e(1-t*2))/2:(e(t*2-1)+1)/2},Rt=Ae/2,zt=Ae*2,Bt={"":It,Quad:It(2),Cubic:It(3),Quart:It(4),Quint:It(5),Sine:e=>1-Ee(e*Rt),Circ:e=>1-we(1-e*e),Expo:e=>e?Ce(2,10*e-10):0,Bounce:e=>{let t,n=4;for(;e<((t=Ce(2,--n))-1)/11;);return 1/Ce(4,3-n)-7.5625*Ce((t*3-2)/22-e,2)},Back:(e=1.7)=>t=>(+e+1)*t*t*t-+e*t*t,Elastic:(e=1,t=.3)=>{let n=V(+e,1,10),r=V(+t,x,2),i=r/zt*ke(1/n),a=zt/r;return e=>e===0||e===1?e:-n*Ce(2,-10*(1-e))*Te((1-e-i)*a)}},Vt=(()=>{let e={linear:Ft,none:Ft};for(let t in Lt)for(let n in Bt){let r=Bt[n],i=Lt[t];e[t+n]=n===``||n===`Back`||n===`Elastic`?(e,t)=>i(r(e,t)):i(r)}return e})(),Ht={linear:Ft,none:Ft},Ut=e=>{if(Ht[e])return Ht[e];if(e.indexOf(`(`)<=-1){let t=Lt[e]||e.includes(`Back`)||e.includes(`Elastic`)?Vt[e]():Vt[e];return t?Ht[e]=t:Ft}{let t=e.slice(0,-1).split(`(`),n=Vt[t[0]];return n?Ht[e]=n(...t[1].split(`,`)):Ft}},Wt=[`steps(`,`irregular(`,`linear(`,`cubicBezier(`],Gt=e=>{if(pe(e)){for(let t=0,n=Wt.length;t<n;t++)if(L(e,Wt[t]))return console.warn(`String syntax for \`ease: "${e}"\` has been removed from the core and replaced by importing and passing the easing function directly: \`ease: ${e}\``),Ft}return me(e)?e:pe(e)?Ut(e):Ft},J=$e(),Y=$e(),Kt={},qt={func:null},Jt={func:null},Yt=[null],Xt=[null,null],Zt={to:null},Qt=0,$t=0,en,tn,nn=(e,t)=>{let n={};if(ue(e)){let t=[].concat(...e.map(e=>Object.keys(e))).filter(be);for(let r=0,i=t.length;r<i;r++){let i=t[r];n[i]=e.map(e=>{let t={};for(let n in e){let r=e[n];be(n)?n===i&&(t.to=r):t[n]=r}return t})}}else{let r=G(t.duration,I.defaults.duration);Object.keys(e).map(t=>({o:parseFloat(t)/100,p:e[t]})).sort((e,t)=>e.o-t.o).forEach(e=>{let t=e.o,i=e.p;for(let e in i)if(be(e)){let a=n[e];a||=n[e]=[];let o=t*r,s=a.length,c=a[s-1],l={to:i[e]},u=0;for(let e=0;e<s;e++)u+=a[e].duration;s===1&&(l.from=c.to),i.ease&&(l.ease=i.ease),l.duration=o-(s?u:0),a.push(l)}return e});for(let e in n){let t=n[e],r;for(let e=0,n=t.length;e<n;e++){let n=t[e],i=n.ease;n.ease=r||void 0,r=i}t[0].duration||t.shift()}}return n},rn=class extends Ot{constructor(e,t,n,r,i=!1,a=0,o){super(t,n,r),this._head,this._tail,++$t;let s=jt(e),c=s.length,l=t.keyframes,u=l?Fe(nn(l,t),t):t,{id:d,delay:m,duration:g,ease:_,playbackEase:v,modifier:y,composition:b,onRender:S}=u,C=n?n.defaults:I.defaults,T=G(_,C.ease),E=G(v,C.playbackEase),D=E?Gt(E):null,O=!R(T.ease),ee=O?T.ease:G(_,D?`linear`:C.ease),k=O?T.settlingDuration:G(g,C.duration),te=G(m,C.delay),ne=y||C.modifier,A=R(b)&&c>=1e3?h.none:R(b)?C.composition:b,j=this._offset+(n?n._offset:0);O&&(T.parent=this);let M=NaN,N=NaN,P=0,F=0;for(let e=0;e<c;e++){let t=s[e],r=a||e,c=o||s,l=NaN,d=NaN;for(let e in u)if(be(e)){let a=Ye(t,e),o=Ve(t,e),s=ot(e,t,a),m=u[e],g=ue(m);if(i&&!g&&(Xt[0]=m,Xt[1]=m,m=Xt),g){let e=m.length,t=!de(m[0]);e===2&&t?(Zt.to=m,Yt[0]=Zt,en=Yt):e>2&&t?(en=[],m.forEach((e,t)=>{t?t===1?(Xt[1]=e,en.push(Xt)):en.push(e):Xt[0]=e})):en=m}else Yt[0]=m,en=Yt;let _=null,v=null,y=NaN,b=0,x=0;for(let e=en.length;x<e;x++){let i=en[x];de(i)?tn=i:(Zt.to=i,tn=Zt),qt.func=null,Jt.func=null;let l=Je(G(tn.composition,A),t,r,c,null,null),u=fe(l)?l:h[l];!_&&u!==h.none&&(_=_t(t,s));let d=_?_._tail:null,f=n&&d&&d.parent.parent===n?d:v,m=Je(tn.to,t,r,c,qt,f),g;de(m)&&!R(m.to)?(tn=m,g=m.to):g=m;let S=Je(tn.from,t,r,c,Jt,f),C=tn.ease||ee,T=Je(C,t,r,c,null,f),E=me(T)||pe(T)?T:C,D=!R(E)&&!R(E.ease),O=D?E.ease:E,M=D?E.settlingDuration:Je(G(tn.duration,e>1?Je(k,t,r,c,null,f)/e:k),t,r,c,null,f),N=Je(G(tn.delay,x?0:te),t,r,c,null,f),re=tn.modifier||ne,ie=!R(S),ae=!R(g),oe=ue(g),I=oe||ie&&ae,se=v?b:0,ce=v?b+N:N,L=H(j+ce,12),le=H(j+se,12);!F&&(ie||oe)&&(F=1);let z=v;if(u!==h.none){let e=_._head;for(;e&&e._absoluteStartTime<=L;)if(e._isOverridden||(z=e),e=e._nextRep,e&&e._absoluteStartTime>=L)for(;e;)yt(e),e=e._nextRep}if(I){K(oe?Je(g[0],t,r,c,Jt,f):S,J),K(oe?Je(g[1],t,r,c,qt,f):g,Y);let e=Ze(t,s,a,Kt);J.t===p.NUMBER&&(z?z._valueType===p.UNIT&&(J.t=p.UNIT,J.u=z._unit):(K(e,tt),tt.t===p.UNIT&&(J.t=p.UNIT,J.u=tt.u)))}else ae?K(g,Y):v?et(v,Y):K(n&&z&&z.parent.parent===n?z._value:Ze(t,s,a,Kt),Y),ie?K(S,J):v?et(v,J):K(n&&z&&z.parent.parent===n?z._value:Ze(t,s,a,Kt),J);if(J.o&&(J.n=Qe(z?z._toNumber:K(Ze(t,s,a,Kt),tt).n,J.n,J.o)),Y.o&&(Y.n=Qe(J.n,Y.n,Y.o)),J.t!==Y.t){if(J.t===p.COMPLEX||Y.t===p.COMPLEX){let e=J.t===p.COMPLEX?J:Y,t=J.t===p.COMPLEX?Y:J;t.t=p.COMPLEX,t.s=U(e.s),t.d=e.d.map(()=>t.n)}else if(J.t===p.UNIT||Y.t===p.UNIT){let e=J.t===p.UNIT?J:Y,t=J.t===p.UNIT?Y:J;t.t=p.UNIT,t.u=e.u}else if(J.t===p.COLOR||Y.t===p.COLOR){let e=J.t===p.COLOR?J:Y,t=J.t===p.COLOR?Y:J;t.t=p.COLOR,t.d=e.d.map(()=>0)}}if(J.u!==Y.u){let e=Y.u?J:Y;e=Pt(t,e,Y.u?Y.u:J.u,!1)}if(Y.d&&J.d&&Y.d.length!==J.d.length){let e=J.d.length>Y.d.length?J:Y,t=e===J?Y:J;t.d=e.d.map((e,n)=>R(t.d[n])?0:t.d[n]),t.s=U(e.s)}let ge=H(+M||1e-11,12),_e=Kt[s];he(_e)||(Kt[s]=null);let ve=o?o.set:null;b=H(ce+ge,12);let ye=J.d,be=Y.d,xe=Y.s,B={parent:this,id:Qt++,property:s,target:t,_value:null,_toFunc:qt.func,_fromFunc:Jt.func,_ease:Gt(O),_fromNumbers:ye?U(ye):w,_toNumbers:be?U(be):w,_strings:xe?U(xe):w,_fromNumber:J.n,_toNumber:Y.n,_numbers:ye?U(ye):w,_number:J.n,_unit:Y.u,_modifier:re,_currentTime:0,_startTime:ce,_delay:+N,_updateDuration:ge,_changeDuration:ge,_absoluteStartTime:L,_absoluteUpdateStartTime:le,_absoluteEndTime:H(j+b,12),_hasFromValue:ie||oe?1:0,_tweenType:a,_setter:ve,_valueType:Y.t,_composition:u,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:_e,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};u!==h.none&&bt(B,_);let Se=B._valueType;if(Se===p.COMPLEX)B._value=nt(B,1,-1);else if(Se===p.UNIT)B._value=`${re(B._toNumber)}${B._unit}`;else if(Se===p.COLOR){let e=Y.d;B._value=`rgba(${H(e[0],0)},${H(e[1],0)},${H(e[2],0)},${e[3]})`}else B._value=re(B._toNumber);isNaN(y)&&(y=B._startTime),v=B,P++,Le(this,B)}(isNaN(N)||y<N)&&(N=y),(isNaN(M)||b>M)&&(M=b),a===f.TRANSFORM&&(l=P-x,d=P)}if(!isNaN(l)){let e=0;W(this,t=>{e>=l&&e<d&&(t._renderTransforms=1,t._composition===h.blend&&W(lt.animation,e=>{e.id===t.id&&(e._renderTransforms=1)})),e++})}}c||console.warn(`No target found. Make sure the element you're trying to animate is accessible before creating your animation.`),N?(W(this,e=>{e._startTime-e._delay||(e._delay-=N),e._startTime-=N}),M-=N):N=0,M||(M=x,this.iterationCount=0),this.targets=s,this.id=R(d)?$t:d,this.duration=M===1e-11?x:Ne((M+this._loopDelay)*this.iterationCount-this._loopDelay)||1e-11,this.onRender=S||C.onRender,this._ease=D,this._delay=N,this.iterationDuration=M,!this._autoplay&&F&&this.onRender(this)}stretch(e){let t=this.duration;if(t===Pe(e))return this;let n=e/t;return W(this,e=>{e._updateDuration=Pe(e._updateDuration*n),e._changeDuration=Pe(e._changeDuration*n),e._currentTime*=n,e._delay*=n,e._startTime*=n,e._absoluteStartTime*=n,e._absoluteUpdateStartTime*=n,e._absoluteEndTime*=n}),super.stretch(e)}refresh(){return W(this,e=>{let t=e._toFunc,n=e._fromFunc;(t||n)&&(n?(K(n(),J),J.u!==e._unit&&e.target[_]&&Pt(e.target,J,e._unit,!0),e._fromNumbers=U(J.d),e._fromNumber=J.n):t&&(K(Ze(e.target,e.property,e._tweenType),tt),e._fromNumbers=U(tt.d),e._fromNumber=tt.n),t&&(K(t(),Y),e._toNumbers=U(Y.d),e._strings=U(Y.s),e._toNumber=Y.o?Qe(e._fromNumber,Y.n,Y.o):Y.n))}),this.duration===1e-11&&this.restart(),this}revert(){return super.revert(),st(this)}then(e){return super.then(e)}},an=(e,t)=>I.editor?I.editor.addAnimation(e,t):new rn(e,t,null,0,!1).init(),on=(e,t)=>{if(L(t,`<`)){let n=t[1]===`<`,r=e._tail,i=r?r._offset+r._delay:0;return n?i:i+r.duration}},sn=(e,t)=>{let n=e.iterationDuration;if(n===1e-11&&(n=0),R(t))return n;if(fe(+t))return+t;let r=t,i=e?e.labels:null,a=!he(i),o=on(e,r),s=!R(o),c=re.exec(r);if(c){let e=c[0],t=r.split(e),l=a&&t[0]?i[t[0]]:n;return Qe(s?o:a?l:n,+t[1],e[0])}return s?o:a?R(i[r])?n:i[r]:n},cn=(e,t)=>{if(!R(t))return I.editor&&I.editor.addSet?I.editor.addSet(e,t):(t.duration=x,t.composition=G(t.composition,h.none),new rn(e,t,null,0,!0).resume())},ln=(e=0,t=1,n=0)=>{let r=10**n;return Math.floor((Math.random()*(t-e+1/r)+e)*r)/r},un=0,dn=(e,t=0,n=1,r=0)=>{let i=e===void 0?un++:e;return(e=t,a=n,o=r)=>{i+=1831565813,i=Math.imul(i^i>>>15,i|1),i^=i+Math.imul(i^i>>>7,i|61);let s=10**o;return Math.floor((((i^i>>>14)>>>0)/4294967296*(a-e+1/s)+e)*s)/s}},fn=(e,t=ln)=>{let n=e.length,r,i;for(;n;)i=t(0,--n),r=e[n],e[n]=e[i],e[i]=r;return e},pn=(e,t={})=>{let n=[],r=0,i,a=null,o=t.from,s=t.reversed,c=t.ease,l=!R(c),u=l&&!R(c.ease)?c.ease:l?Gt(c):null,d=t.grid,f=d===!0,p=t.axis,m=t.total,h=R(o)||o===0||o===`first`,g=o===`center`,_=o===`last`,v=o===`random`,y=ue(o),b=ue(e),x=t.use,S=Se(b?e[0]:e),C=b?Se(e[1]):0,w=P.exec((b?e[1]:e)+``),T=t.start||0+(b?S:0),E=t.seed,D=!R(E)&&E!==!1?dn(E===!0?0:E):ln,O=t.jitter,ee=!R(O),k=ue(O),te=k?O[0]:O||0,ne=k?O[1]:O||0,A=h?0:fe(o)?o:0;return(e,c,l,h,E)=>{let[O]=jt(e),k=R(m)?l.length:m,j=R(x)?!1:me(x)?x(O,c,k):Ze(O,x),M=fe(j)||pe(j)&&fe(+j)?+j:c,N=M>=0&&M<k?M:c;if(g&&(A=(k-1)/2),_&&(A=k-1),!n.length){if(f){let e=!0,t=!1,r=1/0,i=1/0,a=1/0,s=-1/0,c=-1/0,u=-1/0,d=[],f=[],m=[];for(let n=0;n<k;n++){let o=l[n],p=0,h=0,g=0,_=!1;if(o&&me(o.getBoundingClientRect)){let e=o.getBoundingClientRect();p=e.left+e.width/2,h=e.top+e.height/2,_=!0}else{let e=o;e&&fe(e.x)&&fe(e.y)&&(p=e.x,h=e.y,fe(e.z)&&(g=e.z,t=!0),_=!0)}if(!_){e=!1;break}d.push(p),f.push(h),m.push(g),p<r&&(r=p),h<i&&(i=h),g<a&&(a=g),p>s&&(s=p),h>c&&(c=h),g>u&&(u=g)}if(e){let e=d[0],l=f[0],h=m[0];y?(e=r+o[0]*(s-r),l=i+o[1]*(c-i),h=t?a+(o.length>=3?o[2]:.5)*(u-a):0):g?(e=(r+s)/2,l=(i+c)/2,h=(a+u)/2):_?(e=d[k-1],l=f[k-1],h=m[k-1]):fe(o)&&(e=d[o],l=f[o],h=m[o]);for(let r=0;r<k;r++){let i=e-d[r],a=l-f[r],o=h-m[r],s=we(i*i+a*a+(t?o*o:0));p===`x`&&(s=-i),p===`y`&&(s=-a),p===`z`&&(s=-o),n.push(s)}let v=1/0;for(let e=0;e<k;e++){let t=De(n[e]);t>0&&t<v&&(v=t)}if(v>0&&v<1/0)for(let e=0;e<k;e++)n[e]=n[e]/v}else for(let e=0;e<k;e++)n.push(De(A-e))}else for(let e=0;e<k;e++)if(!d)n.push(De(A-e));else{let t=d.length,r=d[0]*d[1],i,a,s;y?(i=o[0]*(d[0]-1),a=o[1]*(d[1]-1),s=t===3?(o.length>=3?o[2]:.5)*(d[2]-1):0):g?(i=(d[0]-1)/2,a=(d[1]-1)/2,s=t===3?(d[2]-1)/2:0):(i=A%d[0],a=Oe(A/d[0])%d[1],s=t===3?Oe(A/r):0);let c=e%d[0],l=Oe(e/d[0])%d[1],u=t===3?Oe(e/r):0,f=i-c,m=a-l,h=s-u,_=we(f*f+m*m+(t===3?h*h:0));p===`x`&&(_=-f),p===`y`&&(_=-m),p===`z`&&(_=-h),n.push(_)}r=n[0];for(let e=1;e<k;e++)n[e]>r&&(r=n[e]);if(u||s)for(let e=0;e<k;e++){let t=n[e];u&&(t=u(t/r)*r),s&&(t=p?-t:De(r-t)),n[e]=t}if(ee){a=Array(k);for(let e=0;e<k;e++)a[e]=D(-1,1,4)}v&&(n=fn(n,D))}let P=b?(C-S)/r:S;R(i)&&(i=E?sn(E,R(t.start)?E.iterationDuration:T):T);let F=i+(P*H(n[N],2)||0);if(ee){let e=r?n[N]/r:0,t=te+(ne-te)*e;F+=a[N]*t}return t.modifier&&(F=t.modifier(F)),w&&(F=`${F}${w[2]}`),F}},mn=o(),hn=a(),X=r(i(),1);function gn(){return typeof window>`u`||!window.matchMedia?!1:!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function _n(e,t){let n=setTimeout(()=>e.complete(),t+400);return()=>{clearTimeout(n),e.complete()}}function vn(e,t=700){let n=typeof e==`number`&&Number.isFinite(e)?e:null,r=n!==null&&gn(),[i,a]=(0,X.useState)(0),o=(0,X.useRef)(0);return(0,X.useEffect)(()=>{if(!r)return;let e={n:o.current},i=an(e,{n,duration:t,ease:`outExpo`,onUpdate:()=>{o.current=e.n,a(e.n)},onComplete:()=>{o.current=n,a(n)}}),s=setTimeout(()=>i.complete(),t+400);return()=>{clearTimeout(s),i.pause()}},[n,t,r]),r?i:n}function yn({value:e,duration:t}){let n=vn(e,t);return n===null?e??null:Math.round(n)}function bn(e){let t=(0,X.useRef)(null),n=(0,X.useRef)(null),r=(0,X.useRef)(()=>{}),i=(0,X.useRef)(null);return(0,X.useLayoutEffect)(()=>{let a=t.current,o=a?.querySelector(`:scope > .glide`);o&&(r.current=t=>{let r=a.querySelector(e);if(!r){o.style.opacity=`0`,n.current=null;return}let s=a.getBoundingClientRect(),c=r.getBoundingClientRect(),l={translateX:c.left-s.left+a.scrollLeft-a.clientLeft,translateY:c.top-s.top+a.scrollTop-a.clientTop,width:c.width,height:c.height},u=n.current;if(n.current={el:r,...l},!(u&&u.el===r&&[`translateX`,`translateY`,`width`,`height`].every(e=>Math.abs(u[e]-l[e])<.5))){if(o.style.opacity=`1`,i.current&&=(clearTimeout(i.current.t),i.current.anim.pause(),null),t&&u&&u.el!==r&&gn()){let e=an(o,{...l,duration:280,ease:`outExpo`});i.current={anim:e,t:setTimeout(()=>e.complete(),680)}}else cn(o,l)}},r.current(!0))}),(0,X.useEffect)(()=>{let e=()=>r.current(!1);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),t}function xn(){let e=(0,X.useRef)(null),t=(0,X.useRef)(null);return(0,X.useLayoutEffect)(()=>{let n=e.current;if(!n){t.current=null;return}let r=[...n.querySelectorAll(`:scope > [data-flip]`)],i=new Map(r.map(e=>[e.dataset.flip,e.offsetTop])),a=t.current;if(t.current=i,a&&gn())for(let e of r){let t=a.get(e.dataset.flip);t===void 0?_n(an(e,{opacity:[0,1],translateY:[-12,0],duration:340,ease:`outExpo`}),340):Math.abs(t-i.get(e.dataset.flip))>1&&_n(an(e,{translateY:[t-i.get(e.dataset.flip),0],duration:340,ease:`outExpo`}),340)}}),e}var Sn={overview:`Overview`,laws:`Constitution`,library:`Library`,loops:`Loops`,personal:`Personal`,installs:`Installs`,docs:`Docs`,activity:`Activity`},Cn={loops:[`templates`,`bricks`,`active`],personal:[`rules`,`profile`,`memory`,`notebook`],installs:[`hosts`,`edits`,`doctor`,`server`]},wn={templates:`Templates`,bricks:`Bricks`,active:`Active`,rules:`Rules`,profile:`Profile`,memory:`Memory`,notebook:`Notebook`,hosts:`Hosts`,edits:`Local edits`,doctor:`Doctor`,server:`Server`},Tn={dashboard:[`overview`],constitution:[`laws`],rules:[`personal`,`rules`],profile:[`personal`,`profile`],harness:[`installs`,`hosts`],harnesses:[`installs`,`hosts`],themes:[`installs`,`hosts`],diff:[`installs`,`edits`],doctor:[`installs`,`doctor`],settings:[`installs`,`server`],about:[`installs`,`server`]},En=(e,t)=>t!==void 0&&Object.hasOwn(e,t),Dn=(e,t)=>Cn[e].includes(t)?t:Cn[e][0];function On(t){let n=(t||`#/`).slice(2).split(`/`).filter(Boolean),[r,i,a]=n,o=e=>decodeURIComponent(e||``);if(r===`section`||r===`item`){let t=r===`item`&&En(e,i)?e[i]:i,n=r===`item`?o(a):void 0;return{page:t===`laws`?`laws`:`library`,section:t,item:n}}if(r===`docs`)return{page:`docs`,item:o(n.slice(1).join(`/`))};if(r===`activity`&&i)return{page:`activity`,item:o(i)};if(r===`skills`||r===`agents`)return{page:`library`,section:r};if(En(Cn,r)){let e=Dn(r,i);return a&&e===i?{page:r,tab:e,item:o(a)}:{page:r,tab:e}}if(En(Tn,r)){let[e,t]=Tn[r];return t?{page:e,tab:t}:{page:e}}return{page:En(Sn,r)?r:`overview`}}function kn(){let e=()=>On(typeof window<`u`?window.location.hash:``),[t,n]=(0,X.useState)(e);return(0,X.useEffect)(()=>{let t=()=>n(e());return window.addEventListener(`hashchange`,t),()=>window.removeEventListener(`hashchange`,t)},[]),t}var An=e=>{window.location.hash=e},jn={red:`#FF5C57`,green:`#4ED888`,yellow:`#E8B53D`,blue:`#5B8CFF`,magenta:`#C77DFF`,cyan:`#3AD4C4`,white:`#E9EFEA`},Mn={red:`#C53A36`,green:`#2FA864`,yellow:`#B8862A`,blue:`#3C66D8`,magenta:`#9A52D6`,cyan:`#2BA89B`,white:`#AEB8B0`},Nn=e=>jn[e]||jn.cyan,Pn={red:`#A92F2B`,green:`#1E7A47`,yellow:`#8A6414`,blue:`#2F55C0`,magenta:`#7E3FB8`,cyan:`#15766C`,white:`#465A51`},Fn=e=>e===`yellow`||e===`white`||e===`cyan`||e===`green`?`#06100D`:`#FFFFFF`;function In(e,t,n){if(!e)return;let r=n===`light`,i=r?Mn[t]||Mn.cyan:Nn(t),a=r?`#FFFFFF`:Fn(t);r&&t===`white`&&(i=`#566B62`,a=`#FFFFFF`),e.style.setProperty(`--accent`,i),e.style.setProperty(`--accent-2`,Mn[t]||Mn.cyan),e.style.setProperty(`--accent-ink`,a),e.style.setProperty(`--accent-text`,r?Pn[t]||Pn.cyan:i)}var Ln={cultivar:{dark:`#3AD4C4`,light:`#127E73`,ink:`#06100D`,inkLight:`#FFFFFF`},operator:{dark:`#E8A23B`,light:`#8F5E10`,ink:`#1A1306`,inkLight:`#FFFFFF`},matrix:{dark:`#19E37C`,light:`#0B7A47`,ink:`#04140C`,inkLight:`#FFFFFF`},atlas:{dark:`#8FD694`,light:`#1C8450`,ink:`#14200F`,inkLight:`#FFFFFF`}};function Rn(e,t,n){let r=Ln[t];if(!e||!r)return!1;let i=n===`light`;return e.style.setProperty(`--accent`,i?r.light:r.dark),e.style.setProperty(`--accent-2`,r.light),e.style.setProperty(`--accent-ink`,i?r.inkLight:r.ink),e.style.setProperty(`--accent-text`,i?r.light:r.dark),!0}var zn=`#101317`,Bn=`#F4F6F8`,Vn=e=>{let t=e.replace(`#`,``);return[0,2,4].map(e=>parseInt(t.slice(e,e+2),16))},Hn=e=>`#`+e.map(e=>Math.round(e).toString(16).padStart(2,`0`)).join(``).toUpperCase(),Un=e=>{let[t,n,r]=Vn(e).map(e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*t+.7152*n+.0722*r},Wn=(e,t)=>{let[n,r]=[Un(e),Un(t)].sort((e,t)=>t-e);return(n+.05)/(r+.05)},Gn=(e,t,n)=>{let r=Vn(e),i=Vn(t);return Hn(r.map((e,t)=>e+(i[t]-e)*n))},Kn=(e,t,n,r)=>{let i=e;for(let a=.05;Wn(i,t)<n&&a<=1.0001;a+=.05)i=Gn(e,r,a);return i},qn=e=>typeof e==`string`&&/^#[0-9a-fA-F]{6}$/.test(e);function Jn(e,t){let n=t===`light`,r=n?Bn:zn,i=n?`#000000`:`#FFFFFF`,a=Kn(e,r,3,i),o=Kn(a,r,4.5,i),s=Wn(a,`#06100D`)>=Wn(a,`#FFFFFF`)?`#06100D`:`#FFFFFF`;return{accent:a,accent2:Kn(a,r,4.5,i),ink:s,text:o}}function Yn(e,t,n){if(!e||!qn(t))return!1;let r=Jn(t,n);return e.style.setProperty(`--accent`,r.accent),e.style.setProperty(`--accent-2`,r.accent2),e.style.setProperty(`--accent-ink`,r.ink),e.style.setProperty(`--accent-text`,r.text),!0}function Xn(e,t){let[n,r]=(0,X.useState)(()=>{try{return t(localStorage.getItem(e))}catch{return t(null)}});return[n,(0,X.useCallback)(t=>r(n=>{let r=typeof t==`function`?t(n):t;try{localStorage.setItem(e,r)}catch{}return r}),[e])]}var Zn=`geneseed-mode`;function Qn(){let[e,t]=Xn(Zn,e=>e===`light`?`light`:`dark`);return[e,()=>t(e=>e===`light`?`dark`:`light`)]}var $n=`geneseed-flavour`,er=[{id:`cultivar`,short:`Cultivar`,name:`Cultivar Evolved`,tagline:`The calm default — cool teal ink, geometric sans, soft flat cards lit by one quiet shadow.`},{id:`operator`,short:`Operator`,name:`Operator HUD`,tagline:`Amber phosphor on cool charcoal — all-mono, zero-radius instrument readout.`},{id:`matrix`,short:`Matrix`,name:`Matrix`,tagline:`Acid-green order-book terminal on pure black — all Space Mono, square 2px, a faint code-grid.`},{id:`atlas`,short:`Atlas`,name:`Atlas`,tagline:`The field journal — loam dark, sage ink, the codex as a living map.`}],tr=new Set(er.map(e=>e.id)),nr={a:`cultivar`,b:`atlas`,c:`operator`,d:`cultivar`,e:`matrix`,f:`cultivar`,g:`cultivar`,z:`cultivar`,cb:`matrix`,cm:`cultivar`,greenhouse:`atlas`,heirloom:`cultivar`,aurora:`cultivar`,perspective:`cultivar`,sequencer:`cultivar`,cobalt:`matrix`,cosmic:`cultivar`,neon:`matrix`};function rr(){return Xn($n,ir)}function ir(e){return tr.has(e)?e:nr[e]||`cultivar`}var ar=`geneseed-accent`,or=[{id:`curated`,short:`Curated`,tagline:`Each theme's own signature colour.`}],sr=[[`cyan`,`Cyan`],[`blue`,`Blue`],[`magenta`,`Violet`],[`yellow`,`Amber`],[`green`,`Green`]].map(([e,t])=>({id:`custom:${e}`,name:e,short:t,hex:Nn(e),tagline:`Always ${t.toLowerCase()}, whatever the voice or skin.`})),cr=[...or,...sr],lr=new Set(cr.map(e=>e.id)),ur=e=>{let t=typeof e==`string`&&e.startsWith(`hex:`)?e.slice(4):null;return qn(t)?t.toUpperCase():null},dr=e=>e&&(lr.has(e)||ur(e))?e:`curated`,fr=e=>sr.find(t=>t.id===e)?.name??null,pr=e=>{let t=ur(e);return t?`Your own colour, ${t}.`:cr.find(t=>t.id===e)?.tagline??``};function mr(){return Xn(ar,dr)}var hr=`geneseed-layout`,gr=[{id:`overview`,short:`Overview`,tagline:`Health, three charts, what needs you.`},{id:`cultivar`,short:`Cultivar`,tagline:`Hero, KPIs & genome grid.`},{id:`greenhouse`,short:`Greenhouse`,tagline:`Ring, tiles & mix donut.`},{id:`operator`,short:`Operator`,tagline:`Dense terminal readout.`},{id:`journal`,short:`Journal`,tagline:`Growth rings & the constitution map.`}],_r=new Set(gr.map(e=>e.id));function vr(e){return e&&_r.has(e)?e:`overview`}function yr(){return Xn(hr,vr)}function br(e){let[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)([]),s=()=>c.overview().then(e=>{n(e),i(null)}).catch(t=>{i(t?.body?.message||t?.message||String(t)),e?.(t)});return(0,X.useEffect)(()=>{s()},[]),(0,X.useEffect)(()=>{c.themes().then(e=>o(e.themes)).catch(()=>{})},[]),{overview:t,error:r,themes:a,reload:s}}var xr=1e3,Sr=e=>new Promise(t=>setTimeout(t,e));async function Cr(){try{return(await c.ping()).pid??null}catch{return null}}async function wr(e=0,t=null){await Sr(e);for(let e=0;e<30;e++){let e=await Cr();if(e!==null&&e!==t)break;await Sr(xr)}window.location.reload()}async function Tr(){let e=await Cr();try{await c.restart()}catch(e){if(e.status)throw e}await wr(xr,e)}var Er=600;function Dr({onFinish:e,onError:t}={}){let[n,r]=(0,X.useState)([]),[i,a]=(0,X.useState)(null),[o,s]=(0,X.useState)(!1);return(0,X.useEffect)(()=>{c.jobs().then(({jobs:e})=>{if(!e.length)return;r(e.map(e=>({id:e.id,action:e.action,status:e.status,output:e.output||``,duration:e.duration,started:e.started})));let t=e.find(e=>e.status===`running`);t&&(a(t.id),s(!0))}).catch(()=>{})},[]),(0,X.useEffect)(()=>{if(!i)return;let t=n.find(e=>e.id===i)?.action===`update`,o=null;t&&Cr().then(e=>o=e);let s=setInterval(async()=>{if(!document.hidden)try{let n=await c.job(i);if(r(e=>{let t=e.findIndex(e=>e.id===i);if(t===-1)return e;let r=e[t],a=n.output||``;if(r.output===a&&r.status===n.status&&r.duration===n.duration)return e;let o=e.slice();return o[t]={...r,output:a,status:n.status,duration:n.duration},o}),n.status!==`running`){if(clearInterval(s),a(null),t){wr(2e3,o);return}e?.(n.status)}}catch{if(!t)return;clearInterval(s),wr(0,o)}},Er);return()=>clearInterval(s)},[i]),{runs:n,activeId:i,consoleOpen:o,setConsoleOpen:s,runAction:async(e,n)=>{try{let{job_id:t}=await c.action(e,n),i=e===`build`&&n?.theme?`build (${n.theme} · ${n.emit})`:e;return r(e=>[...e,{id:t,action:i,status:`running`,output:``,started:Date.now()/1e3}]),a(t),s(!0),t}catch(e){t?.(e)}},cancelJob:e=>c.cancelJob(e).catch(e=>t?.(e)),clearRuns:()=>r([])}}var Or=new Map;function kr(e,t=[],n=null){let r=n===null?null:`${n}|${t.join(``)}`,[i,a]=(0,X.useState)(()=>r!==null&&Or.has(r)?Or.get(r):null),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(()=>!(r!==null&&Or.has(r))),u=(0,X.useRef)(e),d=(0,X.useRef)(r);(0,X.useLayoutEffect)(()=>{u.current=e,d.current=r});let f=(0,X.useCallback)(()=>(l(!0),s(``),Promise.resolve(u.current()).then(e=>{d.current!==null&&Or.set(d.current,e),a(e)}).catch(e=>s(e.message)).finally(()=>l(!1))),t);return(0,X.useEffect)(()=>{if(d.current!==null&&Or.has(d.current)){a(Or.get(d.current)),s(``),l(!1);return}f()},[f]),{data:i,error:o,loading:c,reload:f,setData:a}}var Ar=60,jr=3600,Mr=86400,Nr={seconds:90,minutes:5400,hours:36*jr};function Pr(e){let t=Math.max(0,Date.now()/1e3-e);return t<Nr.seconds?`${Math.round(t)}s`:t<Nr.minutes?`${Math.round(t/Ar)}m`:t<Nr.hours?`${Math.round(t/jr)}h`:`${Math.round(t/Mr)}d`}function Fr(e){return e?e.replace(/\\/g,`/`).replace(/^\/?(home|Users)\/[^/]+/i,`~`).replace(/^[A-Z]:\/Users\/[^/]+/i,`~`):`~`}var Ir={deployed:.4,doctorClean:.25,doctorMinor:.15,doctorMinorMax:2,doctorFail:.05,versionSynced:.2,diskClean:.15};function Lr(e,t){if(!e)return 0;let n=e.doctor?.problems?.length??99,r=e.doctor?.ok?Ir.doctorClean:n<=Ir.doctorMinorMax?Ir.doctorMinor:Ir.doctorFail,i=t&&t.installed_fp&&t.installed_fp===t.source_fp;return(e.deployed?Ir.deployed:0)+r+(i?Ir.versionSynced:0)+(e.diff&&e.diff.missing===0?Ir.diskClean:0)}var Rr=e=>Math.max(...n.map(t=>e?.[t]??0),1),zr=e=>(e?.edited??0)+(e?.added??0),Br=e=>(e?.laws??0)+(e?.doctrines?.rules??0),Z=s(),Vr={dashboard:`M3 13h7V3H3v10Zm0 8h7v-6H3v6Zm11 0h7V11h-7v10Zm0-18v6h7V3h-7Z`,library:`M4 5h10v14H4zM16 7h4v12h-4M7 9h4M7 12h4`,loop:`M19.5 9A8 8 0 1 1 15 4.6M15 1.5l.2 3.3-3.2.8`,graph:`M6 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM18 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM18 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM7.5 14.5l8-8M16.7 15.2L8.8 16.6`,changes:`M4 6h10M4 12h7M4 18h12M17 4l3 3-3 3M20 7h-6`,doctor:`M12 3v6m0 0a4 4 0 0 1-4 4H7a3 3 0 0 0-3 3v2m8-9a4 4 0 0 0 4 4h1a3 3 0 0 1 3 3v2M12 3a1.5 1.5 0 1 0 0-.01`,themes:`M12 3a9 9 0 1 0 0 18c1.1 0 2-.9 2-2 0-.5-.2-1-.5-1.3-.3-.4-.5-.8-.5-1.2 0-1 .8-1.5 1.7-1.5H17a4 4 0 0 0 4-4c0-4.4-4-8-9-8Z`,settings:`M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm8-3a8 8 0 0 0-.1-1.3l2-1.6-2-3.4-2.4 1a8 8 0 0 0-2.2-1.3L15 2H9l-.3 2.6a8 8 0 0 0-2.2 1.3l-2.4-1-2 3.4 2 1.6A8 8 0 0 0 4 12c0 .4 0 .9.1 1.3l-2 1.6 2 3.4 2.4-1a8 8 0 0 0 2.2 1.3L9 22h6l.3-2.6a8 8 0 0 0 2.2-1.3l2.4 1 2-3.4-2-1.6c.1-.4.1-.9.1-1.3Z`,search:`M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM21 21l-4.3-4.3`,chevron:`M9 6l6 6-6 6`,x:`M6 6l12 12M18 6L6 18`,menu:`M4 7h16M4 12h16M4 17h16`,play:`M7 5v14l11-7L7 5Z`,clear:`M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14`,download:`M12 3v12m0 0l-4-4m4 4l4-4M4 19h16`,refresh:`M21 12a9 9 0 1 1-3-6.7M21 4v5h-5`,folder:`M3 7a2 2 0 0 1 2-2h3.5l2 2H19a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z`,build:`M14 3l-1 4 4-1 3 3-4 1 1 4-3 3-1-4-4 1-3-3 4-1-1-4 3-3 5 0Z`,arrow:`M5 12h14M13 6l6 6-6 6`,external:`M14 5h5v5M19 5l-8 8M12 5H6a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2v-6`,copy:`M9 9h11v11H9zM5 15H4V4h11v1`,spark:`M12 3v3m0 12v3m9-9h-3M6 12H3m13.5-6.5-2 2m-7 7-2 2m11 0-2-2m-7-7-2-2`,activity:`M3 12h4l2.5-7 5 14 2.5-7H21`,agent:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8`,layers:`M12 3l9 5-9 5-9-5 9-5ZM3 13l9 5 9-5M3 17l9 5 9-5`,sun:`M12 4V2M12 22v-2M4 12H2M22 12h-2M5.6 5.6 4.2 4.2M19.8 19.8l-1.4-1.4M18.4 5.6l1.4-1.4M4.2 19.8l1.4-1.4M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z`,moon:`M21 12.8A8.5 8.5 0 1 1 11.2 3a6.5 6.5 0 0 0 9.8 9.8Z`,power:`M12 3v9M7.5 6.5a7 7 0 1 0 9 0`,docs:`M5 4h9l5 5v11a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1ZM14 4v5h5M8 12h7M8 16h7`,skill:`M21.7 6.6a5 5 0 0 1-6.6 6.6l-7.4 7.4a2 2 0 1 1-2.8-2.8l7.4-7.4a5 5 0 0 1 6.6-6.6l-2.6 2.6a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0Z`,law:`M12 3v18M5 6h14M8 21h8M6 6l-3 6h6zM3 12a3 3 0 0 1 6 0M18 6l-3 6h6zM15 12a3 3 0 0 1 6 0`,rule:`M7 3h10a1 1 0 0 1 1 1v17l-6-3.5L6 21V4a1 1 0 0 1 1-1ZM9.5 9.5l1.8 1.8 3.4-3.6`,profile:`M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM5 20a7 7 0 0 1 14 0`,notebook:`M7 4h11v16H7zM4 8h3M4 12h3M4 16h3M11 9h5M11 13h5M11 17h3`,about:`M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18ZM12 11v6M12 7.6h.01`,github:`M12 2a10 10 0 0 0-3.2 19.5c.5.1.7-.2.7-.5v-1.8c-2.8.6-3.4-1.2-3.4-1.2-.5-1.2-1.1-1.5-1.1-1.5-.9-.6.1-.6.1-.6 1 .1 1.5 1 1.5 1 .9 1.5 2.3 1.1 2.9.8.1-.6.3-1.1.6-1.3-2.2-.3-4.6-1.1-4.6-5 0-1.1.4-2 1-2.7-.1-.3-.4-1.3.1-2.7 0 0 .8-.3 2.7 1a9.4 9.4 0 0 1 5 0c1.9-1.3 2.7-1 2.7-1 .5 1.4.2 2.4.1 2.7.6.7 1 1.6 1 2.7 0 3.9-2.4 4.7-4.6 5 .4.3.7.9.7 1.8v2.6c0 .3.2.6.7.5A10 10 0 0 0 12 2Z`};function Q({name:e,className:t=`glyph`,style:n}){return(0,Z.jsx)(`svg`,{className:t,style:n,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,Z.jsx)(`path`,{d:Vr[e]||``})})}function Hr({className:e=`sprout`}){return(0,Z.jsxs)(`svg`,{className:e,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,Z.jsx)(`path`,{d:`M12 21.5v-9`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,fill:`none`}),(0,Z.jsx)(`path`,{d:`M12 13c0-4.5 3.2-7.5 7.5-7.5 0 4.5-3.2 7.5-7.5 7.5z`,fill:`var(--accent)`}),(0,Z.jsx)(`path`,{d:`M12 14.5c0-3.6-2.6-6-6-6 0 3.6 2.6 6 6 6z`,fill:`var(--accent)`,opacity:`.42`}),(0,Z.jsx)(`circle`,{cx:`12`,cy:`12.4`,r:`1.1`,fill:`var(--bg)`})]})}var Ur=[{hash:`#/`,page:`overview`,label:`Overview`,icon:`dashboard`},{hash:`#/laws`,page:`laws`,label:`Constitution`,short:`Laws`,icon:`law`,count:e=>e?.counts?(e.counts.ontology??0)+(e.counts.laws??0)+(e.counts.doctrines?.rules??0):null},{hash:`#/library`,page:`library`,label:`Library`,icon:`library`,count:e=>e?.counts?[`skills`,`agents`,`memory`,`notebook`,`wiki`,`config`].reduce((t,n)=>t+(e.counts[n]??0),0):null},{hash:`#/loops`,page:`loops`,label:`Loops`,icon:`loop`,count:e=>e?.counts?.loops??null},{hash:`#/personal`,page:`personal`,label:`Personal`,icon:`profile`},{hash:`#/installs`,page:`installs`,label:`Installs`,icon:`layers`,count:(e,t)=>t?`${t.filter(e=>e.state===`active`).length}/${t.length}`:null}],Wr=[{hash:`#/docs`,page:`docs`,label:`Docs`,icon:`docs`},{hash:`#/activity`,page:`activity`,label:`Activity`,icon:`activity`}];function Gr({n:e,lit:t,count:n,onNavigate:r}){return(0,Z.jsxs)(`a`,{className:`sb-item${t?` on`:``}`,href:e.hash,"aria-current":t?`page`:void 0,onClick:()=>r?.(),children:[(0,Z.jsx)(Q,{name:e.icon}),(0,Z.jsx)(`span`,{className:`sb-label`,children:e.label}),n==null?null:(0,Z.jsx)(`span`,{className:`sb-count`,children:n})]})}function Kr({overview:e,onOpenVoice:t}){if(!e)return null;let n=e.doctor,r=zr(e.diff)+(e.diff?.missing??0);return(0,Z.jsxs)(`div`,{className:`sb-vitals`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:`doctor`}),(0,Z.jsx)(`b`,{className:n?n.ok?`good`:`bad`:``,children:n?n.ok?`clean`:`${n.problems.length} to fix`:`not run`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:`drift`}),(0,Z.jsx)(`b`,{className:r?`warn`:``,children:e.diff?r:`n/a`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:`built`}),(0,Z.jsx)(`b`,{title:e.build_time||void 0,children:e.build_epoch?`${Pr(e.build_epoch)} ago`:`never`})]}),(0,Z.jsxs)(`button`,{type:`button`,className:`sb-voice`,onClick:t,title:`Switch voice`,children:[(0,Z.jsx)(`span`,{children:`voice`}),(0,Z.jsxs)(`b`,{children:[e.theme||`none`,(0,Z.jsx)(Q,{name:`chevron`})]})]})]})}function qr({route:e,overview:t,installs:n,onOpenVoice:r,onNavigate:i}){return(0,Z.jsxs)(`nav`,{className:`sidebar`,id:`rail-nav`,"aria-label":`Console`,tabIndex:-1,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`sb-brand`,onClick:()=>{An(`#/`),i?.()},"aria-label":`Geneseed, go to the overview`,children:[(0,Z.jsx)(`span`,{className:`sb-mark`,children:(0,Z.jsx)(Hr,{})}),(0,Z.jsxs)(`span`,{className:`sb-brand-text`,children:[(0,Z.jsx)(`span`,{className:`sb-name`,children:`Geneseed`}),(0,Z.jsx)(`span`,{className:`sb-ver`,children:[t?.version&&`v${t.version}`,t?.theme].filter(Boolean).join(` · `)})]})]}),Ur.map(r=>(0,Z.jsx)(Gr,{n:r,lit:e.page===r.page,count:r.count?.(t,n),onNavigate:i},r.page)),(0,Z.jsx)(`div`,{className:`sb-spacer`}),Wr.map(t=>(0,Z.jsx)(Gr,{n:t,lit:e.page===t.page,onNavigate:i},t.page)),(0,Z.jsx)(Kr,{overview:t,onOpenVoice:r})]})}function Jr({route:e}){return(0,Z.jsx)(`nav`,{className:`tabbar`,"aria-label":`Console pages`,children:Ur.map(t=>(0,Z.jsxs)(`a`,{href:t.hash,className:e.page===t.page?`on`:``,"aria-current":e.page===t.page?`page`:void 0,children:[(0,Z.jsx)(Q,{name:t.icon}),t.short||t.label]},t.page))})}var Yr=[{id:`opencode`,label:`OpenCode`,deployAdds:`.opencode/ + AGENT.md`,removeProject:`.opencode/ + AGENT.md + the bundle`,removeGlobal:`~/.config/opencode's AGENT.md, agents, skills, plugins + the opencode.json entry`},{id:`claude`,label:`Claude Code`,deployAdds:`.claude/ + CLAUDE.md`,removeProject:`.claude/ + the CLAUDE.md block`,removeGlobal:`~/.claude's agents/skills + the CLAUDE.md block + settings hooks`},{id:`bob`,label:`BOB (IBM)`,deployAdds:`.bob/ + AGENTS.md`,removeProject:`.bob/ + the AGENTS.md block`,removeGlobal:`~/.bob's agents/skills + the AGENTS.md block + settings hooks`},{id:`openclaude`,label:`OpenClaude`,deployAdds:`.openclaude/ + its CLAUDE.md`,removeProject:`.openclaude/ + its CLAUDE.md block`,removeGlobal:`~/.openclaude's agents/skills + the CLAUDE.md block + settings hooks`}],Xr=e=>Yr.find(t=>t.id===e)||Yr[0],Zr=(e,t)=>t===`project`?Xr(e).removeProject:Xr(e).removeGlobal,Qr=e=>String(e||``).replace(/[\\/]+$/,``).split(/[\\/]/).pop()||e,$r=e=>e.scope===`global`?Xr(e.host).label:Qr(e.path),ei=`geneseed-harness`,ti=Yr.map(({id:e,label:t})=>({id:e,label:t}));function ni(e=`opencode`){let[t,n]=Xn(ei,e=>ti.some(t=>t.id===e)?e:null);return[t??e,n]}function ri(e){let t=String(e||``);return Yr.find(e=>t.startsWith(e.id))?.id||`opencode`}function ii(e=0){let[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)(``),s=(0,X.useRef)(null),[l]=ni(),u=`${e}|${l}`,[d,f]=(0,X.useState)(u);return d!==u&&(f(u),i(null)),(0,X.useEffect)(()=>{s.current=null},[u]),{index:r,error:a,prime:(0,X.useCallback)(()=>{if(r||s.current)return s.current;let e=(async()=>{let e=Object.entries(Sn).flatMap(([e,t])=>(Cn[e]||[``]).map(n=>{let r=n?t+` / `+wn[n]:t;return{kind:`Pages`,sortKey:-1,title:r,desc:``,hay:r.toLowerCase(),route:e===`overview`?`#/`:`#/`+e+(n?`/`+n:``)}})),r=[`laws`,`skills`,...n],a=await Promise.all(r.map(async e=>{try{return{sec:e,items:(await c.catalog(e))?.items||[]}}catch{return{sec:e,items:[]}}}));for(let{sec:n,items:i}of a){let a=t[n];for(let t of i){let i=t.title||t.name;e.push({kind:a.label,sortKey:r.indexOf(n),title:i,desc:t.desc||``,hay:`${i} ${t.desc||``} ${t.name||``}`.toLowerCase(),route:`#/item/${a.type}/${encodeURIComponent(t.name)}`})}}try{let t=await c.mcp(),n=new Set;for(let r of t?.targets||[])for(let t of r.servers||[]){if(n.has(t.name))continue;n.add(t.name);let r=t.label||t.name;e.push({kind:`MCP servers`,sortKey:100,title:r,desc:t.desc||``,hay:`${r} ${t.desc||``} ${t.name||``} mcp`.toLowerCase(),route:`#/installs/hosts`})}}catch{}try{let t=await c.docs(l);for(let n of t?.groups||[])for(let t of n.pages||[])e.push({kind:`Docs`,sortKey:110,title:t.title,desc:n.label,hay:`${t.title||``} ${t.id||``} ${n.label||``} ${t.section||``} ${t.description||``}`.toLowerCase(),route:`#/docs/${encodeURIComponent(t.id)}`})}catch{}return i(e),s.current=null,e})().catch(e=>(s.current=null,o(e.message||String(e)),[]));return s.current=e,e},[r,l])}}var ai=24;function oi(e,t){let n=e.title.toLowerCase();return n.startsWith(t)?0:n.includes(t)?1:e.hay.includes(t)?2:-1}function si(e,t){let n=t.toLowerCase().trim();if(!n||!e)return[];let r=[];for(let t of e){let e=oi(t,n);e>=0&&r.push({e:t,s:e})}return r.sort((e,t)=>e.s-t.s||e.e.sortKey-t.e.sortKey||e.e.title.localeCompare(t.e.title)),r.slice(0,ai).map(e=>e.e)}function ci(e,t){let n=t.trim().toLowerCase(),r=n?e.toLowerCase().indexOf(n):-1;return r<0?e:(0,Z.jsxs)(Z.Fragment,{children:[e.slice(0,r),(0,Z.jsx)(`mark`,{className:`spot-hit`,children:e.slice(r,r+n.length)}),e.slice(r+n.length)]})}function li({query:e,index:t,loading:n,error:r,active:i,onActive:a,onClose:o}){let s=(0,X.useMemo)(()=>si(t,e),[t,e]),c=(0,X.useRef)(null),l=s.length>0;(0,X.useLayoutEffect)(()=>{let e=c.current?.querySelectorAll(`[data-spot-row]`);return!l||!e?.length||!gn()?void 0:_n(an(e,{opacity:[0,1],translateY:[-4,0],duration:220,delay:pn(18),ease:`outQuart`}),220+18*e.length)},[l]),(0,X.useEffect)(()=>{i>=s.length&&a(0)},[s,i,a]),(0,X.useEffect)(()=>{(c.current?.querySelector(`[data-spot-row="${i}"]`))?.scrollIntoView({block:`nearest`})},[i]);let u=e=>{e&&(An(e.route),o())},d=[],f=null;return s.forEach((e,t)=>{(!f||f.kind!==e.kind)&&(f={kind:e.kind,rows:[]},d.push(f)),f.rows.push({entry:e,index:t})}),e.trim()?(0,Z.jsxs)(`div`,{className:`spotlight`,ref:c,id:`spotlight-list`,role:`listbox`,"aria-label":`Search results`,children:[r&&!t&&(0,Z.jsxs)(`div`,{className:`spot-empty`,role:`presentation`,children:[`Could not load the search index — `,r]}),n&&!t&&!r&&(0,Z.jsx)(`div`,{className:`spot-empty`,role:`presentation`,children:`Loading…`}),!n&&s.length===0&&t&&(0,Z.jsxs)(`div`,{className:`spot-empty`,role:`presentation`,children:[`No matches for “`,e,`”.`]}),d.map(t=>(0,Z.jsxs)(`div`,{className:`spot-group`,role:`group`,"aria-label":t.kind,children:[(0,Z.jsx)(`div`,{className:`spot-group-head`,"aria-hidden":`true`,children:t.kind}),t.rows.map(({entry:t,index:n})=>(0,Z.jsxs)(`div`,{id:`spot-opt-${n}`,"data-spot-row":n,role:`option`,"aria-selected":n===i,className:`spot-row ${n===i?`on`:``}`,onMouseDown:e=>{e.preventDefault(),u(t)},onMouseEnter:()=>a(n),children:[(0,Z.jsx)(`div`,{className:`spot-title`,children:ci(t.title,e)}),t.desc?(0,Z.jsx)(`div`,{className:`spot-desc`,children:t.desc}):null]},`${t.route}-${n}`))]},t.kind))]}):null}function ui({value:e,onChange:t,dataRev:n}){let r=(0,X.useRef)(null),i=(0,X.useRef)(null),[a,o]=(0,X.useState)(!1),[s,c]=(0,X.useState)(0),{index:l,error:u,prime:d}=ii(n);(0,X.useEffect)(()=>{let e=e=>{((e.metaKey||e.ctrlKey)&&!e.altKey&&e.key.toLowerCase()===`k`||e.key===`/`&&!e.target.closest(`input, textarea, select`))&&(e.preventDefault(),r.current?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,X.useEffect)(()=>{if(!a)return;let e=e=>{i.current?.contains(e.target)||o(!1)};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[a]);let f=a&&!!e.trim(),p=f&&l?si(l,e):[],m=s<p.length?`spot-opt-${s}`:void 0;return(0,Z.jsxs)(`div`,{className:`tb-search`,ref:i,children:[(0,Z.jsx)(Q,{name:`search`,className:`mag glyph`}),(0,Z.jsx)(`input`,{ref:r,role:`combobox`,"aria-label":`Search the harness`,"aria-autocomplete":`list`,"aria-expanded":f,"aria-controls":f?`spotlight-list`:void 0,"aria-activedescendant":m,value:e,onChange:e=>{t(e.target.value),c(0)},onFocus:()=>{o(!0),d()},onKeyDown:n=>{if(f){if(n.key===`ArrowDown`)n.preventDefault(),c(e=>Math.min(e+1,Math.max(p.length-1,0)));else if(n.key===`ArrowUp`)n.preventDefault(),c(e=>Math.max(e-1,0));else if(n.key===`Enter`){let e=p[s];e&&(n.preventDefault(),An(e.route),o(!1),r.current?.blur())}else n.key===`Escape`&&(n.preventDefault(),e?t(``):(o(!1),r.current?.blur()))}},placeholder:`Search the harness…`,title:`Press / to jump here, or Ctrl-K / ⌘K from inside any field`}),(0,Z.jsx)(`span`,{className:`kbd`,children:`Ctrl K`}),(0,Z.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:f?p.length?`${p.length} results`:`no matches`:``}),f&&(0,Z.jsx)(li,{query:e,index:l,loading:!l,error:u,active:s,onActive:c,onClose:()=>{o(!1),r.current?.blur()}})]})}function di({installs:e,onSwitch:t}){let n=(e||[]).filter(e=>e.state===`active`);if(n.length<2)return null;let r=n.find(e=>e.selected)||n[0];return(0,Z.jsx)(`select`,{className:`sel tb-harness`,"aria-label":`Harness to view`,title:`Harness the console is viewing`,value:r.id,onChange:async e=>{let r=n.find(t=>t.id===e.target.value);if(r)try{await c.selectView(r.host,r.path),t?.()}catch{}},children:n.map(e=>(0,Z.jsxs)(`option`,{value:e.id,children:[e.host,` · `,e.scope]},e.id))})}function fi({children:e,...t}){let n=bn(`button.on`);return(0,Z.jsxs)(`div`,{className:`seg`,role:`group`,ref:n,...t,children:[(0,Z.jsx)(`span`,{className:`glide`,"aria-hidden":`true`}),e]})}function pi({value:e,onChange:t,labelledBy:n}){let r=ur(e);return(0,Z.jsxs)(`div`,{className:`accent-picker`,role:`group`,"aria-labelledby":n,children:[or.map(n=>(0,Z.jsx)(`button`,{type:`button`,className:`accent-src${e===n.id?` on`:``}`,"aria-pressed":e===n.id,title:n.tagline,onClick:()=>t(n.id),children:n.short},n.id)),(0,Z.jsxs)(`div`,{className:`accent-swatches`,children:[sr.map(n=>(0,Z.jsx)(`button`,{type:`button`,className:`accent-swatch${e===n.id?` on`:``}`,style:{"--sw":n.hex},"aria-pressed":e===n.id,"aria-label":`${n.short} accent`,title:n.short,onClick:()=>t(n.id)},n.id)),(0,Z.jsx)(`label`,{className:`accent-swatch accent-custom${r?` on picked`:``}`,style:r?{"--sw":r}:void 0,title:r?`Your colour, ${r}`:`Pick any colour`,children:(0,Z.jsx)(`input`,{type:`color`,"aria-label":`Custom accent colour`,value:(r||`#3AD4C4`).toLowerCase(),onChange:e=>t(`hex:${e.target.value.toUpperCase()}`)})})]})]})}function mi({flavour:e,onFlavour:t,accentMode:n,onAccentMode:r,layout:i,onLayout:a,onClose:o}){let s=(0,X.useRef)(null);(0,X.useEffect)(()=>{let e=e=>{s.current&&!s.current.contains(e.target)&&!e.target.closest?.(`.tb-pop-anchor`)&&o()},t=e=>{e.key===`Escape`&&o()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]);let c=(e,t,n,r,i)=>(0,Z.jsxs)(`div`,{className:`ap-group`,children:[(0,Z.jsx)(`span`,{className:`ap-label`,id:e,children:t}),(0,Z.jsx)(fi,{"aria-labelledby":e,children:n.map(e=>(0,Z.jsx)(`button`,{type:`button`,className:r===e.id?`on`:``,"aria-pressed":r===e.id,title:e.tagline,onClick:()=>i(e.id),children:e.short},e.id))})]});return(0,Z.jsxs)(`div`,{className:`appearance-pop`,ref:s,role:`dialog`,"aria-label":`Appearance`,children:[c(`ap-skin`,`Skin`,er,e,t),(0,Z.jsxs)(`div`,{className:`ap-group`,children:[(0,Z.jsx)(`span`,{className:`ap-label`,id:`ap-accent`,children:`Accent`}),(0,Z.jsx)(pi,{value:n,onChange:r,labelledBy:`ap-accent`})]}),c(`ap-view`,`Overview view`,gr,i,a)]})}function hi({route:e,navOpen:t,onToggleNav:n,overview:r,installs:i,query:a,onQuery:o,mode:s,onToggleMode:c,appearance:l,dataRev:u,onSwitch:d}){let[f,p]=(0,X.useState)(!1),m=r?.install,h=m?`${m.host}:${m.scope}`:Fr(r?.target),g=e.tab&&wn[e.tab];return(0,Z.jsxs)(`header`,{className:`topbar`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`tb-menu iconbtn`,onClick:n,"aria-label":t?`Close navigation`:`Open navigation`,"aria-expanded":!!t,"aria-controls":`rail-nav`,children:(0,Z.jsx)(Q,{name:t?`x`:`menu`})}),(0,Z.jsxs)(`nav`,{className:`crumbs`,"aria-label":`Breadcrumb`,children:[(0,Z.jsx)(`span`,{className:`crumb-root mono`,title:r?.target||void 0,children:h}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:`/`}),(0,Z.jsx)(`span`,{className:g?``:`crumb-here`,"aria-current":g?void 0:`page`,children:Sn[e.page]}),g?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:`/`}),(0,Z.jsx)(`span`,{className:`crumb-here`,"aria-current":`page`,children:g})]}):null]}),(0,Z.jsx)(`div`,{className:`topbar-spacer`}),(0,Z.jsx)(di,{installs:i,onSwitch:d}),(0,Z.jsx)(ui,{value:a,onChange:o,dataRev:u}),(0,Z.jsxs)(`div`,{className:`tb-pop-anchor`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`iconbtn`,"aria-label":`Appearance`,title:`Appearance`,"aria-expanded":f,onClick:()=>p(e=>!e),children:(0,Z.jsx)(Q,{name:`themes`})}),f?(0,Z.jsx)(mi,{...l,onClose:()=>p(!1)}):null]}),(0,Z.jsx)(`button`,{type:`button`,className:`iconbtn`,title:s===`light`?`Switch to dark`:`Switch to light`,"aria-label":s===`light`?`Switch to dark mode`:`Switch to light mode`,onClick:c,children:(0,Z.jsx)(Q,{name:s===`light`?`moon`:`sun`})})]})}function gi({themes:e,current:t,onPick:n,onClose:r}){let i=(0,X.useRef)(null);return(0,X.useEffect)(()=>{let e=e=>{i.current&&!i.current.contains(e.target)&&r()},t=e=>{e.key===`Escape`&&r()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[r]),(0,X.useEffect)(()=>{i.current?.querySelector(`button.pop-item`)?.focus()},[]),(0,Z.jsxs)(`div`,{className:`pop`,ref:i,role:`menu`,"aria-label":`Switch voice`,children:[(0,Z.jsx)(`div`,{className:`tick`,style:{padding:`4px 10px 8px`},children:`Switch voice`}),e.map(e=>(0,Z.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.name===t,className:`pop-item ${e.name===t?`on`:``}`,onClick:()=>n(e.name),children:[(0,Z.jsx)(`span`,{className:`po`,style:{background:Nn(e.accent),boxShadow:`0 0 8px ${Nn(e.accent)}`}}),(0,Z.jsx)(`span`,{className:`pn`,children:e.name})]},e.name))]})}var _i=3500;function vi({toast:e,onClose:t}){return(0,X.useEffect)(()=>{let e=setTimeout(t,_i);return()=>clearTimeout(e)},[e]),(0,Z.jsxs)(`div`,{className:`toast ${e.kind}`,role:e.kind===`err`?`alert`:`status`,"aria-live":e.kind===`err`?void 0:`polite`,children:[(0,Z.jsx)(`div`,{children:e.msg}),(0,Z.jsx)(`div`,{style:{marginTop:8},children:(0,Z.jsx)(`button`,{className:`btn ghost`,onClick:t,children:`Dismiss`})})]})}function yi({runs:e,open:t,onToggle:n,onClear:r,onCancel:i,busy:a,finish:o}){let s=(0,X.useRef)(null),c=(0,X.useRef)(null);(0,X.useEffect)(()=>{let e=c.current;o&&e&&(e.classList.remove(`flash-ok`,`flash-bad`),e.offsetWidth,e.classList.add(o.status===`done`?`flash-ok`:`flash-bad`))},[o]);let l=e.length?e[e.length-1].output.length:0;return(0,X.useEffect)(()=>{let e=s.current;e&&t&&(e.scrollTop=e.scrollHeight)},[e.length,l,t]),(0,Z.jsxs)(`div`,{className:`console`,style:{height:`42vh`,transform:t?`none`:`translateY(calc(42vh - 42px))`},children:[(0,Z.jsxs)(`div`,{className:`console-head`,ref:c,onClick:n,onAnimationEnd:e=>{e.target===e.currentTarget&&e.currentTarget.classList.remove(`flash-ok`,`flash-bad`)},children:[a&&(0,Z.jsx)(`span`,{className:`console-progress`,"aria-hidden":`true`}),(0,Z.jsxs)(`span`,{className:`ttl`,children:[(0,Z.jsx)(`span`,{className:`live ${a?`on`:``}`}),`terminal`]}),(0,Z.jsx)(`span`,{className:`count`,children:e.length}),(0,Z.jsxs)(`div`,{className:`right`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`button`,{className:`iconbtn`,title:`Clear`,"aria-label":`Clear run history`,onClick:r,disabled:!e.length,children:(0,Z.jsx)(Q,{name:`clear`})}),(0,Z.jsx)(`button`,{className:`iconbtn`,title:t?`Collapse`:`Expand`,"aria-label":t?`Collapse console`:`Expand console`,"aria-expanded":t,onClick:n,children:(0,Z.jsx)(Q,{name:`chevron`,className:`glyph`,style:{transform:t?`rotate(90deg)`:`rotate(-90deg)`}})})]})]}),t&&(0,Z.jsxs)(`div`,{className:`console-body`,ref:s,children:[e.length===0&&(0,Z.jsx)(`div`,{className:`console-empty`,children:`No commands run yet. Actions you trigger stream here.`}),e.map(e=>(0,Z.jsxs)(`div`,{className:`run`,children:[(0,Z.jsxs)(`div`,{className:`run-head`,children:[(0,Z.jsx)(`span`,{className:`pr`,children:`$`}),(0,Z.jsx)(`span`,{className:`act`,children:e.action}),(0,Z.jsx)(`span`,{className:`st ${e.status}`,children:e.status===`running`?`…running`:`${e.status===`done`?`✓ done`:`✗ failed`}${e.duration?` · ${e.duration}s`:``}`}),e.status===`running`&&i&&(0,Z.jsx)(`button`,{className:`iconbtn run-cancel`,title:`Cancel this run`,"aria-label":`Cancel the ${e.action} run`,onClick:()=>i(e.id),children:(0,Z.jsx)(Q,{name:`x`})})]}),e.output&&(0,Z.jsx)(`pre`,{className:`run-out`,children:e.output})]},e.id))]})]})}var bi=550,xi=`gs-splash-seen`;function Si(){try{if(window.localStorage.getItem(xi))return 0;window.localStorage.setItem(xi,`1`)}catch{}return bi}function Ci({ready:e,onDone:t}){let[n,r]=(0,X.useState)(!1),[i,a]=(0,X.useState)(!1);return(0,X.useEffect)(()=>{let e=setTimeout(()=>r(!0),Si());return()=>clearTimeout(e)},[]),e&&n&&!i&&a(!0),(0,X.useEffect)(()=>{if(!i)return;let e=setTimeout(()=>t?.(),700);return()=>clearTimeout(e)},[i]),(0,Z.jsxs)(`div`,{className:`boot-splash${i?` fading`:``}`,"aria-hidden":`true`,onAnimationEnd:e=>{e.animationName===`splashOut`&&t?.()},children:[(0,Z.jsxs)(`div`,{className:`boot-dial`,children:[(0,Z.jsxs)(`svg`,{className:`boot-ring`,viewBox:`0 0 172 172`,children:[(0,Z.jsx)(`circle`,{cx:`86`,cy:`86`,r:`72`,fill:`none`,stroke:`var(--surface-3)`,strokeWidth:`9`}),(0,Z.jsx)(`circle`,{cx:`86`,cy:`86`,r:`50`,fill:`none`,stroke:`var(--line-2)`,strokeWidth:`8`,strokeDasharray:`1.2 5.3`,opacity:`.7`}),(0,Z.jsx)(`circle`,{className:`boot-progress`,cx:`86`,cy:`86`,r:`72`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`9`,strokeLinecap:`round`})]}),(0,Z.jsxs)(`svg`,{className:`boot-sprout`,viewBox:`0 0 24 24`,children:[(0,Z.jsx)(`path`,{className:`bs-stem`,d:`M12 21.5v-9`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,fill:`none`}),(0,Z.jsx)(`path`,{className:`bs-leaf bs-leaf-main`,d:`M12 13c0-4.5 3.2-7.5 7.5-7.5 0 4.5-3.2 7.5-7.5 7.5z`,fill:`var(--accent)`}),(0,Z.jsx)(`path`,{className:`bs-leaf bs-leaf-back`,d:`M12 14.5c0-3.6-2.6-6-6-6 0 3.6 2.6 6 6 6z`,fill:`var(--accent)`,opacity:`.42`}),(0,Z.jsx)(`circle`,{cx:`12`,cy:`12.4`,r:`1.1`,fill:`var(--bg)`})]})]}),(0,Z.jsxs)(`div`,{className:`boot-status`,children:[(0,Z.jsx)(`span`,{children:`germinating harness`}),(0,Z.jsx)(`span`,{className:`boot-caret`})]})]})}function wi({label:e=`Loading…`}){return(0,Z.jsxs)(`div`,{className:`loading`,role:`status`,children:[e,(0,Z.jsxs)(`div`,{className:`skel`,"aria-hidden":`true`,children:[(0,Z.jsx)(`div`,{className:`skel-bar`}),(0,Z.jsx)(`div`,{className:`skel-bar`}),(0,Z.jsx)(`div`,{className:`skel-bar`})]})]})}function Ti({open:e,title:t,children:n,confirmLabel:r,onConfirm:i,onClose:a}){let o=(0,X.useRef)(null);return(0,X.useEffect)(()=>{let t=o.current;t&&(e&&!t.open&&(typeof t.showModal==`function`?t.showModal():t.setAttribute(`open`,``)),!e&&t.open&&(typeof t.close==`function`?t.close():t.removeAttribute(`open`)))},[e]),(0,Z.jsxs)(`dialog`,{ref:o,className:`confirm`,onCancel:a,onClose:a,children:[(0,Z.jsx)(`h3`,{className:`confirm-title`,children:t}),(0,Z.jsx)(`div`,{className:`confirm-body`,children:n}),(0,Z.jsxs)(`div`,{className:`confirm-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn ghost`,onClick:a,children:`Cancel`}),(0,Z.jsx)(`button`,{type:`button`,className:`btn`,onClick:i,autoFocus:!0,children:r||`Confirm`})]})]})}var Ei=(0,X.createContext)(null),Di=()=>{throw Error(`useConfirm() needs a <ConfirmProvider> above it`)};function Oi(){return(0,X.useContext)(Ei)||Di}function ki({children:e}){let[t,n]=(0,X.useState)(null),r=(0,X.useRef)(null),i=e=>{let t=r.current;r.current=null,n(null),t?.(e)},a=(0,X.useCallback)((e,t={})=>new Promise(i=>{r.current?.(!1),r.current=i,n({msg:e,...t})}),[]);return(0,Z.jsxs)(Ei.Provider,{value:a,children:[e,(0,Z.jsx)(Ti,{open:!!t,title:t?.title||`Are you sure?`,confirmLabel:t?.confirmLabel,onConfirm:()=>i(!0),onClose:()=>i(!1),children:t?.msg})]})}var $={security:`oklch(0.74 0.085 45)`,verify:`oklch(0.78 0.075 200)`,process:`oklch(0.76 0.075 150)`,craft:`oklch(0.78 0.085 95)`,context:`oklch(0.74 0.08 280)`,comms:`oklch(0.76 0.085 345)`},Ai={security:{label:`Security`,c:$.security},verify:{label:`Verification`,c:$.verify},process:{label:`Process`,c:$.process},craft:{label:`Craft`,c:$.craft},context:{label:`Context`,c:$.context},comms:{label:`Communication`,c:$.comms}},ji={craft:$.craft,rigor:$.verify,ops:$.process,process:$.security,comms:$.comms},Mi=e=>ji[e]||`var(--text-3)`,Ni={design:{label:`Design`,c:$.context},build:{label:`Build`,c:$.craft},review:{label:`Review`,c:$.security},ship:{label:`Ship`,c:$.process},understand:{label:`Understand`,c:$.verify},learn:{label:`Learn`,c:$.comms},harness:{label:`Harness`,c:`oklch(0.76 0.07 250)`},personal:{label:`Personal`,c:`oklch(0.72 0.025 250)`}},Pi=Object.keys(Ni);function Fi(e){let t=String(e||``),n=/\(retired\)\s*$/i.test(t);t=t.replace(/\s*\(retired\)\s*$/i,``),t=t.replace(/^(?:Rule\s+[IVXLCDM\d]+|Doctrine\s+[a-z]+\s+\d+)\s*[—-]\s*/i,``);let r=t.indexOf(` · `);return r===-1?{latin:``,name:t.trim(),retired:n}:{latin:t.slice(0,r).trim(),name:t.slice(r+3).trim(),retired:n}}var Ii=[[10,`X`],[9,`IX`],[5,`V`],[4,`IV`],[1,`I`]],Li=e=>{let t=``;for(let[n,r]of Ii)for(;e>=n;)t+=r,e-=n;return t};function Ri(e){let t=/^([a-z]+)-(\d+)$/.exec(String(e));return t?t[1]===`law`?Li(Number(t[2])):`${t[1]}.${t[2]}`:String(e)}var zi=new Set([`I`,`IV`,`process.1`,`process.5`]),Bi=e=>zi.has(e)?`Hook gate`:`Instruction`;function Vi(e,t,n){let r=(t?.items||[]).filter(e=>(e.tier??`invariant`)===`invariant`&&Fi(e.title).retired).length,i=(e?.laws??0)-r,a=e?.doctrines||{};return[{key:`ethos`,label:`Ethos`,n:e?.ontology??0},{key:`invariants`,label:`Invariants`,n:i,note:t&&r?`+${r} retired`:``},{key:`doctrines`,label:`Doctrines`,n:a.rules??0,note:a.total==null?``:`${a.active} of ${a.total} packs`},{key:`yours`,label:`Your rules`,n:n?.rules??0}]}function Hi(e){let t={};for(let n of e||[]){let e=Ni[n.klass]?n.klass:`personal`,r=t[e]||(t[e]={key:e,label:Ni[e].label,ok:0,exp:0});n.status===`experimental`?r.exp+=1:r.ok+=1}let n=Pi.filter(e=>t[e]).map(e=>({...t[e],n:t[e].ok+t[e].exp}));return{rows:n,total:n.reduce((e,t)=>e+t.n,0),experimental:n.reduce((e,t)=>e+t.exp,0),max:Math.max(1,...n.map(e=>e.n))}}function Ui(e){return e===`update`?`update`:e===`build-all`?`rebuild`:`other`}function Wi(e,t=20){let n=(e||[]).filter(e=>e.status!==`running`).slice(-t),r=Math.max(0,...n.map(e=>e.duration||0));return{bars:n.map(e=>({id:e.id,kind:Ui(e.action),ok:e.status===`done`,h:r?Math.max(.06,(e.duration||0)/r):.06,tip:`${e.action} · ${e.status} · ${(e.duration??0).toFixed(1)} s`})),ok:n.filter(e=>e.status===`done`).length,longest:r}}var Gi=(e,t,n=t+`s`)=>`${e} ${e===1?t:n}`;function Ki({overview:e,setup:t,rules:n,activity:r,profile:i,skills:a,laws:o}){let s=[],c=e?.doctor;c&&!c.ok&&s.push({id:`doctor`,tag:`Doctor`,tone:`bad`,title:`Doctor found ${Gi(c.problems.length,`problem`)}`,detail:c.problems[0]||``,where:`installs/doctor`,verb:`Review`,href:`#/installs/doctor`});let l=e?.diff,u=l?zr(l)+(l.missing??0):0;u&&s.push({id:`drift`,tag:`Drift`,tone:`warn`,title:`${Gi(u,`file`)} drifted from the source`,detail:`${l.edited} edited, ${l.added} added, ${l.missing} missing`,where:`installs/edits`,verb:`Review`,href:`#/installs/edits`}),i?.seeded&&s.push({id:`profile`,tag:`Profile`,tone:`warn`,title:`Profile is still the seeded template`,detail:`every section holds placeholder text`,where:`personal/profile`,verb:`Fill in`,href:`#/personal/profile`});let d=n?.exists?n.stats:null;d&&d.rules===0&&s.push({id:`rules`,tag:`Rules`,tone:``,title:`No standing rules yet`,detail:`0 of ${d.max_rules} · ${d.tokens} of ${d.max_tokens} tokens`,where:`personal/rules`,verb:`Write a rule`,href:`#/personal/rules`});let f=Object.entries(t?.gates?.asks||{}).sort((e,t)=>t[1]-e[1]);if(f.length){let[e,n]=f[0],r=Ri(e),i=(o?.items||[]).find(e=>e.name===r),a=i?Fi(i.title).name:r;s.push({id:`gates`,tag:`Gates`,tone:``,title:`${a} asked ${Gi(n,`time`)}`,detail:`${n} of ${t.gates.total} gate asks`,where:r,verb:`Review`,href:`#/item/law/${encodeURIComponent(r)}`})}if(a){let{rows:e,experimental:t}=Hi(a.items);t&&s.push({id:`skills`,tag:`Skills`,tone:``,title:`${Gi(t,`skill`)} still experimental`,detail:e.filter(e=>e.exp).sort((e,t)=>t.exp-e.exp).map(e=>`${e.label.toLowerCase()} ${e.exp}`).join(`, `),where:`library/skills`,verb:`Triage`,href:`#/skills`})}return t&&t.facts===0&&s.push({id:`memory`,tag:`Memory`,tone:``,title:`Memory holds no facts`,detail:`MEMORY.md is an empty index`,where:`library/memory`,verb:`Open`,href:`#/section/memory`}),r&&r.enabled===!1&&s.push({id:`activity`,tag:`Activity`,tone:``,title:`Session tracking is off`,detail:`no per-session trace is kept`,where:`activity`,verb:`Turn on`,href:`#/activity`}),s}function qi(e,t){if(e?.doctor&&!e.doctor.ok)return`bad`;let n=e?.diff,r=n?zr(n)+(n.missing??0):0,i=t&&t.installed_fp&&t.installed_fp!==t.source_fp;return r||i?`warn`:`good`}function Ji({error:e,style:t}){return e?(0,Z.jsx)(`p`,{className:`badge bad`,style:t,children:e}):null}function Yi({onAction:e}){let{data:t,error:n}=kr(()=>c.themes(),[]),[r,i]=(0,X.useState)(``),[a,o]=(0,X.useState)(``);if(n)return(0,Z.jsx)(Ji,{error:n});if(!t)return(0,Z.jsx)(wi,{});let s=r||t.current?.theme||`neutral`,l=t.emits?.some(e=>e.name===`opencode-global`),u=a||(l?`opencode-global`:t.current?.emit||t.emits?.[0]?.name||``),d=i,f=o;return(0,Z.jsxs)(`div`,{className:`narrow-lg`,children:[(0,Z.jsx)(`div`,{className:`head-row mb-18`,children:(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h1`,{className:`h`,children:`Deploy your harness`}),(0,Z.jsx)(`p`,{className:`sub`,children:`Geneseed isn't implanted on this machine yet. Pick a voice and an install mode, then deploy. The graft runs in the console below, and this dashboard lights up when it lands.`})]})}),(0,Z.jsxs)(`div`,{className:`card pad-lg mb-16`,children:[(0,Z.jsx)(`div`,{className:`card-head`,children:(0,Z.jsx)(`h3`,{children:`1 · Choose a voice`})}),(0,Z.jsx)(`div`,{className:`row wrap gap-10`,children:t.themes.map(e=>(0,Z.jsxs)(`button`,{className:`btn ${e.name===s?`soft`:`ghost`}`,onClick:()=>d(e.name),title:e.blurb||e.tagline||e.name,children:[(0,Z.jsx)(`span`,{className:`po`,style:{width:10,height:10,borderRadius:`50%`,background:Nn(e.accent),boxShadow:`0 0 8px ${Nn(e.accent)}`}}),(0,Z.jsx)(`span`,{style:{textTransform:`capitalize`},children:e.name})]},e.name))})]}),(0,Z.jsxs)(`div`,{className:`card pad-lg mb-16`,children:[(0,Z.jsx)(`div`,{className:`card-head`,children:(0,Z.jsx)(`h3`,{children:`2 · Install mode`})}),(0,Z.jsxs)(`p`,{className:`sub mb-16`,children:[(0,Z.jsx)(`code`,{children:`opencode-global`}),` deploys once to your global config so every repo on this machine inherits the harness (recommended). Other modes render into a chosen directory.`]}),(0,Z.jsxs)(`label`,{className:`stack`,style:{gap:6,maxWidth:360},children:[(0,Z.jsx)(`span`,{className:`tick`,children:`Mode`}),(0,Z.jsx)(`select`,{className:`sel`,value:u,onChange:e=>f(e.target.value),children:t.emits.map(e=>(0,Z.jsxs)(`option`,{value:e.name,children:[e.name,e.desc?` · ${e.desc}`:``]},e.name))})]})]}),(0,Z.jsxs)(`button`,{className:`btn btn-grid`,disabled:!s||!u,onClick:()=>e(`build`,{theme:s,emit:u}),children:[(0,Z.jsx)(Q,{name:`build`}),`Deploy harness`]})]})}var Xi=`geneseed-understand-seen`,Zi=`understand`;function Qi(){try{let e=JSON.parse(localStorage.getItem(Xi));return Array.isArray(e)?e:[]}catch{return[]}}function $i(e){let t=Qi();if(t.includes(e))return t;let n=[...t,e];return localStorage.setItem(Xi,JSON.stringify(n)),n}function ea(e,t){let n=e?.groups||[],r=n.findIndex(e=>e.id===Zi),i=n[r]?.pages||[],a=i.findIndex(e=>e.id===t);if(a<0)return{prev:null,next:null};let o=n.slice(r+1).find(e=>e.pages.length);return{prev:i[a-1]||null,next:i[a+1]||o?.pages[0]||null}}function ta(e,t){for(let n of e?.groups||[]){let e=n.pages.find(e=>e.id===t);if(e)return{part:n,section:e.section||`General`,page:e}}return{part:null,section:null,page:null}}function na(e,t){let{part:n,section:r}=ta(e,t);if(!n)return{prev:null,next:null};if(n.id===`understand`)return ea(e,t);let i=n.pages.filter(e=>(e.section||`General`)===r),a=i.findIndex(e=>e.id===t);return{prev:i[a-1]||null,next:i[a+1]||null}}var ra=e=>An(`#/docs/${encodeURIComponent(e)}`);function ia({pages:e,seen:t}){let n=e.filter(e=>t.includes(e.id)).length;return(0,Z.jsx)(`div`,{className:`track-prog`,role:`progressbar`,"aria-label":`Pages read`,"aria-valuemin":0,"aria-valuemax":e.length,"aria-valuenow":n,children:(0,Z.jsx)(`i`,{style:{width:`${n/(e.length||1)*100}%`}})})}function aa({menu:e,pageId:t}){let{prev:n,next:r}=na(e,t);return!n&&!r?null:(0,Z.jsxs)(`div`,{className:`track-bar`,children:[n?(0,Z.jsxs)(`button`,{className:`btn ghost sm`,onClick:()=>ra(n.id),children:[`← `,n.title]}):(0,Z.jsx)(`span`,{}),r&&(0,Z.jsxs)(`button`,{className:`btn sm`,onClick:()=>ra(r.id),children:[`Next: `,r.title,` →`]})]})}var oa=`modulepreload`,sa=function(e){return`/`+e},ca={},la=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=sa(t,n),t=s(t),t in ca)return;ca[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:oa,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},ua=`geneseed-newhere-dismissed`,da=(0,X.lazy)(()=>la(()=>import(`./Dashboard-D1lE7jcg.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3]))),fa=(e,t)=>`${t?e/t*100:0}%`,pa=e=>e?new Date(e*1e3).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`}):``;function ma({overview:e,setup:t}){let n=qi(e,t),r=e.doctor,i=e.diff,a=i?i.edited+i.added+i.missing:null,o=[r?r.ok?`doctor clean${r.checked_at?` at ${r.checked_at.slice(-5)}`:``}`:`doctor found ${r.problems.length} problem${r.problems.length===1?``:`s`}`:`doctor not run yet`,a===null?null:a?`${a} file${a===1?``:`s`} drifted`:`no drift`,t?.installed_fp?t.installed_fp===t.source_fp?`install matches source`:`install is behind its source`:null].filter(Boolean),s={good:`Harness healthy.`,warn:`Harness needs a look.`,bad:`Harness has problems.`}[n];return(0,Z.jsxs)(`div`,{className:`health ${n}`,role:`status`,children:[(0,Z.jsx)(`span`,{className:`health-dot`,"aria-hidden":`true`}),(0,Z.jsxs)(`p`,{children:[(0,Z.jsx)(`b`,{children:s}),` `,(0,Z.jsx)(`span`,{className:`muted`,children:o.join(` · `)}),` `,t?.installed_fp?(0,Z.jsx)(`span`,{className:`mono dim`,children:t.installed_fp}):null]}),(0,Z.jsx)(`span`,{className:`mono dim health-built`,title:e.build_time||void 0,children:e.build_epoch?`built ${Pr(e.build_epoch)} ago`:`never built`})]})}function ha({harness:e}){let[t,n]=(0,X.useState)(()=>!!localStorage.getItem(ua)),{data:r}=kr(()=>t?Promise.resolve(null):c.docs(e).catch(()=>null),[t,e]),i=r?.groups?.find(e=>e.id===`understand`)?.pages||[],a=Qi(),o=i.findIndex(e=>!a.includes(e.id));if(t||!i.length||o<0)return null;let s=i.filter(e=>a.includes(e.id)).length;return(0,Z.jsxs)(`section`,{className:`newhere`,"aria-label":`New here?`,children:[(0,Z.jsxs)(`div`,{className:`newhere-body`,children:[(0,Z.jsx)(`b`,{children:`New here? Understand your harness.`}),(0,Z.jsxs)(`p`,{children:[i.length,` short pages: what a harness is, what was installed, what changes in your day, and what is guaranteed.`]}),(0,Z.jsx)(`div`,{className:`newhere-dots`,"aria-label":`${s} of ${i.length} read`,children:i.map(e=>(0,Z.jsx)(`i`,{className:a.includes(e.id)?`f`:``},e.id))})]}),(0,Z.jsx)(`a`,{className:`btn`,href:`#/docs/${encodeURIComponent(i[o].id)}`,children:s?`Continue · step ${o+1}`:`Start`}),(0,Z.jsx)(`button`,{type:`button`,className:`newhere-x`,onClick:()=>{localStorage.setItem(ua,`1`),n(!0)},title:`Dismiss for good`,"aria-label":`Dismiss`,children:`×`})]})}function ga({counts:e,laws:t,rules:n}){let r=Vi(e,t,n?.stats),i=r.reduce((e,t)=>e+t.n,0),a=r[1].n+r[2].n+r[3].n;return(0,Z.jsxs)(`section`,{className:`panel chart-card`,"aria-labelledby":`ov-const`,children:[(0,Z.jsxs)(`div`,{className:`panel-head`,children:[(0,Z.jsx)(`h2`,{id:`ov-const`,children:`Constitution`}),(0,Z.jsxs)(`a`,{className:`mono dim`,href:`#/laws`,children:[a,` in force`]})]}),(0,Z.jsx)(`div`,{className:`stackbar`,"aria-hidden":`true`,children:r.map(e=>e.n?(0,Z.jsx)(`span`,{className:`sb-${e.key}`,style:{width:fa(e.n,i)}},e.key):null)}),(0,Z.jsx)(`ul`,{className:`legend`,children:r.map(e=>(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`span`,{className:`swatch sb-${e.key}`,"aria-hidden":`true`}),(0,Z.jsxs)(`span`,{className:`legend-label`,children:[e.label,` `,e.note?(0,Z.jsxs)(`span`,{className:`dim`,children:[`(`,e.note,`)`]}):null]}),(0,Z.jsx)(`span`,{className:`mono`,children:e.n})]},e.key))})]})}function _a({skills:e}){if(!e)return(0,Z.jsx)(`section`,{className:`panel chart-card`,"aria-busy":`true`});let{rows:t,total:n,experimental:r,max:i}=Hi(e.items);return(0,Z.jsxs)(`section`,{className:`panel chart-card`,"aria-labelledby":`ov-skills`,children:[(0,Z.jsxs)(`div`,{className:`panel-head`,children:[(0,Z.jsx)(`h2`,{id:`ov-skills`,children:`Skills by stage`}),(0,Z.jsxs)(`span`,{className:`mono dim`,children:[n,` · `,r,` experimental`]})]}),(0,Z.jsx)(`ul`,{className:`hbars`,children:t.map(e=>(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`span`,{className:`hb-label`,children:e.label}),(0,Z.jsxs)(`span`,{className:`hb-track`,"aria-hidden":`true`,children:[(0,Z.jsx)(`span`,{className:`hb-ok`,style:{width:fa(e.ok,i)}}),(0,Z.jsx)(`span`,{className:`hb-exp`,style:{width:fa(e.exp,i)}})]}),(0,Z.jsx)(`span`,{className:`mono hb-n`,"aria-label":`${e.n}, ${e.exp} experimental`,children:e.n})]},e.key))}),(0,Z.jsxs)(`div`,{className:`chart-key`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`i`,{className:`key-ok`}),` approved`]}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`i`,{className:`key-exp`}),` experimental`]})]})]})}function va({runs:e}){let{bars:t,ok:n,longest:r}=Wi(e),i=(e||[]).filter(e=>e.status!==`running`).slice(-20);return(0,Z.jsxs)(`section`,{className:`panel chart-card`,"aria-labelledby":`ov-runs`,children:[(0,Z.jsxs)(`div`,{className:`panel-head`,children:[(0,Z.jsxs)(`h2`,{id:`ov-runs`,children:[`Runs · last `,t.length||20]}),(0,Z.jsx)(`span`,{className:`mono ${n===t.length?`t-good`:`t-warn`}`,children:t.length?`${n}/${t.length} ok`:`none yet`})]}),(0,Z.jsx)(`div`,{className:`vbars`,role:`img`,"aria-label":`${t.length} runs, ${n} succeeded`,children:t.map(e=>(0,Z.jsx)(`span`,{title:e.tip,className:`vb-${e.ok?e.kind:`failed`}`,style:{height:`${Math.round(e.h*100)}%`}},e.id))}),(0,Z.jsxs)(`div`,{className:`chart-axis mono dim`,children:[(0,Z.jsx)(`span`,{children:pa(i[0]?.started)}),t.length?(0,Z.jsxs)(`span`,{children:[`longest `,r.toFixed(1),` s`]}):null,(0,Z.jsx)(`span`,{children:pa(i[i.length-1]?.started)})]}),(0,Z.jsxs)(`div`,{className:`chart-key`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`i`,{className:`vb-update`}),` update`]}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`i`,{className:`vb-rebuild`}),` rebuild`]}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`i`,{className:`vb-other`}),` install / build`]})]})]})}function ya({rows:e}){return(0,Z.jsxs)(`section`,{className:`panel`,"aria-labelledby":`ov-needs`,children:[(0,Z.jsx)(`div`,{className:`panel-head panel-head-rule`,children:(0,Z.jsxs)(`h2`,{id:`ov-needs`,children:[`Needs attention `,(0,Z.jsx)(`span`,{className:`mono dim`,children:e.length})]})}),e.length?(0,Z.jsx)(`ul`,{className:`needs`,children:e.map(e=>(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`span`,{className:`tag ${e.tone}`,children:e.tag}),(0,Z.jsxs)(`span`,{className:`needs-what`,children:[(0,Z.jsx)(`b`,{children:e.title}),e.detail?(0,Z.jsxs)(`span`,{className:`dim`,children:[` · `,e.detail]}):null]}),(0,Z.jsx)(`span`,{className:`mono dim needs-where`,children:e.where}),(0,Z.jsx)(`a`,{className:`needs-verb`,href:e.href,children:e.verb})]},e.id))}):(0,Z.jsx)(`p`,{className:`needs-empty`,children:`Nothing needs you.`})]})}function ba({overview:e,overviewError:t,onRetry:n,themes:r,setup:i,runs:a,onAction:o,layout:s=`overview`,dataRev:l}){let u=s===`overview`&&!!e?.deployed,d=e=>e.catch(()=>null),f=Promise.resolve(null),{data:p}=kr(()=>u?d(c.rules()):f,[u,l]),{data:m}=kr(()=>u?d(c.activity()):f,[u,l]),{data:h}=kr(()=>u?d(c.profile()):f,[u,l]),{data:g}=kr(()=>u?d(c.catalog(`skills`)):f,[u,l],`catalog:skills`),{data:_}=kr(()=>u?d(c.catalog(`laws`)):f,[u,l],`catalog:laws`);if(!e)return t?(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(Ji,{error:`Could not load the harness overview: ${t}`}),(0,Z.jsx)(`button`,{type:`button`,className:`btn`,onClick:n,children:`Retry`})]}):(0,Z.jsx)(wi,{});if(!e.deployed)return(0,Z.jsx)(Yi,{onAction:o});let v=Ki({overview:e,setup:i,rules:p,activity:m,profile:h,skills:g,laws:_});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`page-head`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h1`,{className:`h`,children:`Overview`}),(0,Z.jsx)(`p`,{className:`sub`,children:[e.theme&&`${e.theme} voice`,e.footprint&&`${e.footprint} footprint`,e.target].filter(Boolean).join(` · `)})]}),(0,Z.jsxs)(`div`,{className:`page-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`btn ghost`,onClick:()=>o(`doctor`),children:`Run doctor`}),(0,Z.jsx)(`button`,{type:`button`,className:`btn`,onClick:()=>o(`build-all`),children:`Rebuild`})]})]}),(0,Z.jsx)(ha,{harness:ri(e.emit)}),u?(0,Z.jsxs)(`div`,{className:`ov-stack`,children:[(0,Z.jsx)(ma,{overview:e,setup:i}),(0,Z.jsxs)(`div`,{className:`ov-charts`,children:[(0,Z.jsx)(ga,{counts:e.counts,laws:_,rules:p}),(0,Z.jsx)(_a,{skills:g}),(0,Z.jsx)(va,{runs:a})]}),(0,Z.jsx)(ya,{rows:v})]}):(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(wi,{}),children:(0,Z.jsx)(da,{overview:e,overviewError:t,onRetry:n,themes:r,setup:i,runs:a,onAction:o,layout:s,dataRev:l})})]})}var xa=(0,X.lazy)(()=>la(()=>import(`./Activity-kpWxd70F.js`),__vite__mapDeps([4,1,2,3,5,6]))),Sa=(0,X.lazy)(()=>la(()=>import(`./ActivityDetail-Ccr942VL.js`),__vite__mapDeps([7,1,2,3,5,6]))),Ca=(0,X.lazy)(()=>la(()=>import(`./Library-MBxadRzn.js`),__vite__mapDeps([8,1,2,3,9,10]))),wa=(0,X.lazy)(()=>la(()=>import(`./Loops-Da_JhlzM.js`),__vite__mapDeps([11,1,2,3,6,9,10]))),Ta=(0,X.lazy)(()=>la(()=>import(`./Laws-S9fq1r9T.js`),__vite__mapDeps([12,1,2,3,10]))),Ea=(0,X.lazy)(()=>la(()=>import(`./Personal-CTXKHVbV.js`),__vite__mapDeps([13,1,2,3,9,10,14,8]))),Da=(0,X.lazy)(()=>la(()=>import(`./Installs-Gw-pJ3Zi.js`),__vite__mapDeps([15,1,2,3,14]))),Oa=(0,X.lazy)(()=>la(()=>import(`./Docs-BHyaggFy.js`),__vite__mapDeps([16,1,2,3,9,10])));function ka(){let e=kn(),[t,n]=(0,X.useState)(``),[r,i]=(0,X.useState)(null),[a,o]=(0,X.useState)(!1),[s,l]=Qn(),[u,d]=rr(),f=e=>{if(!document.startViewTransition||!gn())return d(e);document.startViewTransition(()=>(0,mn.flushSync)(()=>d(e)))},[p,m]=mr(),[h,g]=yr(),[_,v]=(0,X.useState)(()=>{try{return!window.sessionStorage.getItem(`gs-booted`)}catch{return!0}}),[y,b]=(0,X.useState)(!1),x=(0,X.useRef)(null),S=(0,X.useRef)(null);(0,X.useEffect)(()=>{if(!y)return;let e=e=>{e.key===`Escape`&&b(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]),(0,X.useEffect)(()=>{if(!y)return;let e=S.current,t=document.activeElement;return e&&(e.inert=!0),document.getElementById(`rail-nav`)?.focus(),()=>{e&&(e.inert=!1),t instanceof HTMLElement&&t.focus()}},[y]);let C=e=>i({kind:e?.body?.kind||`err`,msg:e?.body?.message||e.message}),{overview:w,error:T,themes:E,reload:D}=br(C),[O,ee]=(0,X.useState)(0),k=()=>{D(),ee(e=>e+1)},[te,ne]=(0,X.useState)(null),{runs:A,activeId:j,consoleOpen:M,setConsoleOpen:N,runAction:P,cancelJob:F,clearRuns:re}=Dr({onFinish:e=>{k(),ne({status:e,at:Date.now()})},onError:C}),{data:ie}=kr(()=>c.setup().catch(()=>null),[O],`setup`),{data:ae}=kr(()=>c.installs().catch(()=>null),[O],`installs`),oe=ae?.installs||null,I=A[A.length-1],se=I?I.status===`running`?`${I.action} running`:`${I.action} ${I.status}`:``;(0,X.useEffect)(()=>{let e=x.current;if(!e||Yn(e,ur(p),s))return;let t=fr(p);if(t)return In(e,t,s);Rn(e,u,s)||w?.accent&&In(e,w.accent,s)},[w,s,p,u]);let ce={flavour:u,onFlavour:f,accentMode:p,onAccentMode:m,layout:h,onLayout:g};return(0,Z.jsx)(`div`,{className:`app fl-${u} ${s===`light`?`light`:``}${y?` nav-open`:``}`,ref:x,children:(0,Z.jsxs)(ki,{children:[(0,Z.jsx)(`div`,{className:`atmos`,"aria-hidden":`true`}),(0,Z.jsx)(`a`,{className:`skip-link`,href:`#main`,children:`Skip to content`}),(0,Z.jsx)(`p`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:se}),y&&(0,Z.jsx)(`button`,{type:`button`,className:`nav-scrim`,"aria-label":`Close navigation`,onClick:()=>b(!1)}),(0,Z.jsx)(qr,{route:e,overview:w,installs:oe,onOpenVoice:()=>o(e=>!e),onNavigate:()=>b(!1)}),a&&(0,Z.jsx)(gi,{themes:E,current:w?.theme,onPick:e=>{o(!1),P(`build`,{theme:e,emit:w?.emit})},onClose:()=>o(!1)}),(0,Z.jsxs)(`div`,{className:`col`,ref:S,children:[(0,Z.jsx)(hi,{route:e,navOpen:y,onToggleNav:()=>b(e=>!e),overview:w,installs:oe,query:t,onQuery:n,mode:s,onToggleMode:l,appearance:ce,dataRev:O,onSwitch:k}),(0,Z.jsx)(`main`,{className:`page`,id:`main`,tabIndex:-1,children:(0,Z.jsx)(`div`,{className:[`library`,`loops`,`docs`].includes(e.page)?`pad pad-wide`:`pad`,children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(wi,{}),children:{overview:()=>(0,Z.jsx)(ba,{overview:w,overviewError:T,onRetry:D,themes:E,setup:ie,runs:A,onAction:P,layout:h,dataRev:O}),laws:()=>(0,Z.jsx)(Ta,{selected:e.item,overview:w,setup:ie,onAction:P,dataRev:O}),library:()=>(0,Z.jsx)(Ca,{overview:w,section:e.section,selected:e.item,dataRev:O}),loops:()=>(0,Z.jsx)(wa,{tab:e.tab,item:e.item,dataRev:O}),personal:()=>(0,Z.jsx)(Ea,{tab:e.tab,item:e.item,setup:ie,dataRev:O}),installs:()=>(0,Z.jsx)(Da,{tab:e.tab,overview:w,setup:ie,themes:E,onAction:P,onMutated:k,dataRev:O,appearance:ce}),activity:()=>e.item?(0,Z.jsx)(Sa,{sid:e.item},e.item):(0,Z.jsx)(xa,{}),docs:()=>(0,Z.jsx)(Oa,{page:e.item,onAction:P,overview:w})}[e.page]?.()})})}),(0,Z.jsx)(Jr,{route:e}),(0,Z.jsx)(yi,{runs:A,open:M,busy:!!j,finish:te,onToggle:()=>N(e=>!e),onClear:re,onCancel:F})]}),r&&(0,Z.jsx)(vi,{toast:r,onClose:()=>i(null)}),_&&(0,Z.jsx)(Ci,{ready:!!w||!!T,onDone:()=>{try{window.sessionStorage.setItem(`gs-booted`,`1`)}catch{}v(!1)}})]})})}(0,hn.createRoot)(document.getElementById(`root`)).render((0,Z.jsx)(ka,{})),`serviceWorker`in navigator&&window.addEventListener(`load`,()=>{navigator.serviceWorker.register(`/sw.js`).catch(()=>{})});export{Gt as $,zr as A,Cn as B,ri as C,$r as D,Xr as E,kr as F,_n as G,An as H,Tr as I,pn as J,vn as K,gr as L,Lr as M,Pr as N,Zr as O,Br as P,an as Q,pr as R,ti as S,m as St,Yr as T,yn as U,wn as V,gn as W,sn as X,cn as Y,rn as Z,Mi as _,I as _t,$i as a,G as at,pi as b,x as bt,Yi as c,W as ct,Ri as d,de as dt,At as et,Fi as f,pe as ft,Pi as g,we as gt,Ni as h,Pe as ht,ia as i,it,Rr as j,Q as k,Ji as l,me as lt,ji as m,Fe as mt,aa as n,Ct as nt,ta as o,Le as ot,Ai as p,R as pt,xn as q,Zi as r,st as rt,Qi as s,Ne as st,la as t,Ot as tt,Bi as u,fe as ut,Oi as v,C as vt,ni as w,fi as x,b as xt,wi as y,h as yt,er as z};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-hePW80VL.js";var t=e((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var ee=Array.isArray,te=Object.prototype.hasOwnProperty,x={current:null},ne={key:!0,ref:!0,__self:!0,__source:!0};function re(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)te.call(n,i)&&!ne.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:x.current}}function ie(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function ae(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function oe(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var se=/\/+/g;function ce(e,t){return typeof e==`object`&&e&&e.key!=null?oe(``+e.key):t.toString(36)}function le(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+ce(c,0):a,ee(o)?(i=``,e!=null&&(i=e.replace(se,`$&/`)+`/`),le(o,r,i,``,function(e){return e})):o!=null&&(ae(o)&&(o=ie(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(se,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,ee(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+ce(s,l);c+=le(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+ce(s,l++),c+=le(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function ue(e,t,n){if(e==null)return e;var r=[],i=0;return le(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function de(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var S={current:null},fe={transition:null},pe={ReactCurrentDispatcher:S,ReactCurrentBatchConfig:fe,ReactCurrentOwner:x};function me(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:ue,forEach:function(e,t,n){ue(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ue(e,function(){t++}),t},toArray:function(e){return ue(e,function(e){return e})||[]},only:function(e){if(!ae(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pe,e.act=me,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=x.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)te.call(n,l)&&!ne.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=re,e.createFactory=function(e){var t=re.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=ae,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:de}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=fe.transition;fe.transition={};try{e()}finally{fe.transition=t}},e.unstable_act=me,e.useCallback=function(e,t){return S.current.useCallback(e,t)},e.useContext=function(e){return S.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return S.current.useDeferredValue(e)},e.useEffect=function(e,t){return S.current.useEffect(e,t)},e.useId=function(){return S.current.useId()},e.useImperativeHandle=function(e,t,n){return S.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return S.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return S.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return S.current.useMemo(e,t)},e.useReducer=function(e,t,n){return S.current.useReducer(e,t,n)},e.useRef=function(e){return S.current.useRef(e)},e.useState=function(e){return S.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return S.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return S.current.useTransition()},e.version=`18.3.1`})),n=e(((e,n)=>{n.exports=t()})),r=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m){if(n(c)!==null)m=!0,ue(ee);else{var t=n(l);t!==null&&de(b,t.startTime-e)}}}function ee(t,i){m=!1,h&&(h=!1,_(ne),ne=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!ae());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&de(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var te=!1,x=null,ne=-1,re=5,ie=-1;function ae(){return!(e.unstable_now()-ie<re)}function oe(){if(x!==null){var t=e.unstable_now();ie=t;var n=!0;try{n=x(!0,t)}finally{n?se():(te=!1,x=null)}}else te=!1}var se;if(typeof v==`function`)se=function(){v(oe)};else if(typeof MessageChannel<`u`){var ce=new MessageChannel,le=ce.port2;ce.port1.onmessage=oe,se=function(){le.postMessage(null)}}else se=function(){g(oe,0)};function ue(e){x=e,te||(te=!0,se())}function de(t,n){ne=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,ue(ee))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):re=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(ne),ne=-1):h=!0,de(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ue(ee))),r},e.unstable_shouldYield=ae,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),i=e(((e,t)=>{t.exports=r()})),a=e((e=>{var t=n(),r=i();function a(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var o=new Set,s={};function c(e,t){l(e,t),l(e+`Capture`,t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)o.add(t[e])}var u=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e){return d.call(m,e)?!0:d.call(p,e)?!1:f.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function ee(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,ee);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,ee);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,ee);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function te(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(_(t,n,i,r)&&(n=null),r||i===null?h(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type!==3&&``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var x=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ne=Symbol.for(`react.element`),re=Symbol.for(`react.portal`),ie=Symbol.for(`react.fragment`),ae=Symbol.for(`react.strict_mode`),oe=Symbol.for(`react.profiler`),se=Symbol.for(`react.provider`),ce=Symbol.for(`react.context`),le=Symbol.for(`react.forward_ref`),ue=Symbol.for(`react.suspense`),de=Symbol.for(`react.suspense_list`),S=Symbol.for(`react.memo`),fe=Symbol.for(`react.lazy`),pe=Symbol.for(`react.offscreen`),me=Symbol.iterator;function he(e){return typeof e!=`object`||!e?null:(e=me&&e[me]||e[`@@iterator`],typeof e==`function`?e:null)}var C=Object.assign,ge;function _e(e){if(ge===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ge=t&&t[1]||``}return`
|
|
1
|
+
import{a as e}from"./sections-GalMS0Zv.js";var t=e((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var ee=Array.isArray,te=Object.prototype.hasOwnProperty,x={current:null},ne={key:!0,ref:!0,__self:!0,__source:!0};function re(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)te.call(n,i)&&!ne.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:x.current}}function ie(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function ae(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function oe(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var se=/\/+/g;function ce(e,t){return typeof e==`object`&&e&&e.key!=null?oe(``+e.key):t.toString(36)}function le(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+ce(c,0):a,ee(o)?(i=``,e!=null&&(i=e.replace(se,`$&/`)+`/`),le(o,r,i,``,function(e){return e})):o!=null&&(ae(o)&&(o=ie(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(se,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,ee(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+ce(s,l);c+=le(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+ce(s,l++),c+=le(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function ue(e,t,n){if(e==null)return e;var r=[],i=0;return le(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function de(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var S={current:null},fe={transition:null},pe={ReactCurrentDispatcher:S,ReactCurrentBatchConfig:fe,ReactCurrentOwner:x};function me(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:ue,forEach:function(e,t,n){ue(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ue(e,function(){t++}),t},toArray:function(e){return ue(e,function(e){return e})||[]},only:function(e){if(!ae(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pe,e.act=me,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=x.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)te.call(n,l)&&!ne.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=re,e.createFactory=function(e){var t=re.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=ae,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:de}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=fe.transition;fe.transition={};try{e()}finally{fe.transition=t}},e.unstable_act=me,e.useCallback=function(e,t){return S.current.useCallback(e,t)},e.useContext=function(e){return S.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return S.current.useDeferredValue(e)},e.useEffect=function(e,t){return S.current.useEffect(e,t)},e.useId=function(){return S.current.useId()},e.useImperativeHandle=function(e,t,n){return S.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return S.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return S.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return S.current.useMemo(e,t)},e.useReducer=function(e,t,n){return S.current.useReducer(e,t,n)},e.useRef=function(e){return S.current.useRef(e)},e.useState=function(e){return S.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return S.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return S.current.useTransition()},e.version=`18.3.1`})),n=e(((e,n)=>{n.exports=t()})),r=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m){if(n(c)!==null)m=!0,ue(ee);else{var t=n(l);t!==null&&de(b,t.startTime-e)}}}function ee(t,i){m=!1,h&&(h=!1,_(ne),ne=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!ae());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&de(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var te=!1,x=null,ne=-1,re=5,ie=-1;function ae(){return!(e.unstable_now()-ie<re)}function oe(){if(x!==null){var t=e.unstable_now();ie=t;var n=!0;try{n=x(!0,t)}finally{n?se():(te=!1,x=null)}}else te=!1}var se;if(typeof v==`function`)se=function(){v(oe)};else if(typeof MessageChannel<`u`){var ce=new MessageChannel,le=ce.port2;ce.port1.onmessage=oe,se=function(){le.postMessage(null)}}else se=function(){g(oe,0)};function ue(e){x=e,te||(te=!0,se())}function de(t,n){ne=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,ue(ee))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):re=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(ne),ne=-1):h=!0,de(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ue(ee))),r},e.unstable_shouldYield=ae,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),i=e(((e,t)=>{t.exports=r()})),a=e((e=>{var t=n(),r=i();function a(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var o=new Set,s={};function c(e,t){l(e,t),l(e+`Capture`,t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)o.add(t[e])}var u=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e){return d.call(m,e)?!0:d.call(p,e)?!1:f.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function ee(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,ee);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,ee);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,ee);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function te(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(_(t,n,i,r)&&(n=null),r||i===null?h(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type!==3&&``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var x=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ne=Symbol.for(`react.element`),re=Symbol.for(`react.portal`),ie=Symbol.for(`react.fragment`),ae=Symbol.for(`react.strict_mode`),oe=Symbol.for(`react.profiler`),se=Symbol.for(`react.provider`),ce=Symbol.for(`react.context`),le=Symbol.for(`react.forward_ref`),ue=Symbol.for(`react.suspense`),de=Symbol.for(`react.suspense_list`),S=Symbol.for(`react.memo`),fe=Symbol.for(`react.lazy`),pe=Symbol.for(`react.offscreen`),me=Symbol.iterator;function he(e){return typeof e!=`object`||!e?null:(e=me&&e[me]||e[`@@iterator`],typeof e==`function`?e:null)}var C=Object.assign,ge;function _e(e){if(ge===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ge=t&&t[1]||``}return`
|
|
2
2
|
`+ge+e}var ve=!1;function ye(e,t){if(!e||ve)return``;ve=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t){if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&typeof t.stack==`string`){for(var i=t.stack.split(`
|
|
3
3
|
`),a=r.stack.split(`
|
|
4
4
|
`),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(o!==1||s!==1)do if(o--,s--,0>s||i[o]!==a[s]){var c=`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),u={agents:{label:`Agents`,type:`agent`,desc:`capability specialists`,icon:`agent`},skills:{label:`Skills`,type:`skill`,desc:`repeatable workflows`,icon:`skill`},laws:{label:`Constitution`,type:`law`,desc:`ontology, invariants, doctrines`,icon:`law`},memory:{label:`Memory`,type:`memory`,desc:`durable facts`,icon:`library`},notebook:{label:`Notebook`,type:`notebook`,desc:`sovereign space`,icon:`notebook`},wiki:{label:`Wiki`,type:`wiki`,desc:`knowledge base`,icon:`graph`},config:{label:`Setup files`,type:`config`,desc:`install metadata`,icon:`settings`}},d=[`agents`,`memory`,`notebook`,`wiki`,`config`],f=[`skills`,`agents`,`memory`,`notebook`,`wiki`,`config`],p=Object.fromEntries(Object.entries(u).map(([e,t])=>[t.type,e]));export{o as a,p as i,u as n,s as o,d as r,l as s,f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./sections-GalMS0Zv.js";import{i as t}from"./react-B9Z_tXRV.js";var n=e(t(),1);function r(e,t,r){(0,n.useEffect)(()=>{let n=!0,r=()=>n,i=()=>{document.hidden||e(r)};e(r);let a=setInterval(i,t);return document.addEventListener(`visibilitychange`,i),()=>{n=!1,clearInterval(a),document.removeEventListener(`visibilitychange`,i)}},r)}export{r as t};
|