wiki-viewer 2.6.2 → 2.7.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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +8 -0
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/agent/activity/route.js +7 -7
- package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/admin/agents/[agentId]/revoke/route.js +5 -5
- package/.next/standalone/.next/server/app/api/agent/admin/agents/[agentId]/revoke/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/admin/agents/route.js +5 -5
- package/.next/standalone/.next/server/app/api/agent/admin/agents/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/[regId]/approve/route.js +3 -3
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/[regId]/approve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/[regId]/deny/route.js +5 -5
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/[regId]/deny/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/route.js +5 -5
- package/.next/standalone/.next/server/app/api/agent/admin/registrations/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js +6 -6
- package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js +8 -8
- package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js +6 -6
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js +7 -7
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js +7 -7
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js +7 -7
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/internal/span/route.js +5 -5
- package/.next/standalone/.next/server/app/api/agent/internal/span/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/settings/route.js +8 -8
- package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js +6 -6
- package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/app-proxy/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/assets/[...path]/route.js +6 -6
- package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/[...all]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/pdf/save/route.js +5 -5
- package/.next/standalone/.next/server/app/api/pdf/save/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js +9 -0
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/share/[token]/route.js +5 -5
- package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/route.js +5 -5
- package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/admins/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/admins/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/auth-config/route.js +6 -6
- package/.next/standalone/.next/server/app/api/system/auth-config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/auth-settings/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/auth-settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/browse/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/browse/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/clear-root/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/clear-root/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/config/route.js +6 -6
- package/.next/standalone/.next/server/app/api/system/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/pins/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/pins/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/reveal/route.js +5 -5
- package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/root-status/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/root-status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/set-root/route.js +6 -6
- package/.next/standalone/.next/server/app/api/system/set-root/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/users/route.js +5 -5
- package/.next/standalone/.next/server/app/api/system/users/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/branch/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/branch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js +6 -6
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js +6 -6
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/route.js +4 -4
- package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/upload/[...path]/route.js +6 -6
- package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/app/route.js +8 -8
- package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js +8 -8
- package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/content/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/download/route.js +8 -8
- package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/file/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/folder/route.js +7 -7
- package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js +4 -4
- package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-history/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/move/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/new-file/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js +8 -8
- package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/page/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/search/route.js +8 -8
- package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/slugs/route.js +6 -6
- package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/upload/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/watch/route.js +5 -5
- package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/s/[token]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/signin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0zv_j05._.js → [root-of-the-server]__0-mos44._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0nmx3k2._.js → [root-of-the-server]__00xq4wx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ovhccp._.js → [root-of-the-server]__038~~rd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0~rntxj._.js → [root-of-the-server]__04jklyx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0nzlmkb._.js → [root-of-the-server]__04z5.s-._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0a6j6r4._.js → [root-of-the-server]__04~bqmd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05jd.5~._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ajw6de._.js → [root-of-the-server]__05~-fkm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0esmskc._.js → [root-of-the-server]__06s802c._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0na11h0._.js → [root-of-the-server]__08-0m4o._.js} +4 -4
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0s_8poz._.js → [root-of-the-server]__08mb7mf._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__000spch._.js → [root-of-the-server]__096dpr1._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09i-r6q._.js +12 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0n9zdf0._.js → [root-of-the-server]__0a_c5s5._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0as-u6z._.js → [root-of-the-server]__0asy5fk._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0l-wu5u._.js → [root-of-the-server]__0bikav1._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0fshk._._.js → [root-of-the-server]__0cynf.m._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0yat~ul._.js → [root-of-the-server]__0dyghs~._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0w~__xz._.js → [root-of-the-server]__0ej__9l._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0wfv_by._.js → [root-of-the-server]__0f-y9ak._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0oruwos._.js → [root-of-the-server]__0j456kt._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0zbkgnr._.js → [root-of-the-server]__0kgev~0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0km~c.f._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0.-oq-7._.js → [root-of-the-server]__0le9en3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lvz22t._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0uibxf_._.js → [root-of-the-server]__0lwoa8u._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0-jzw2_._.js → [root-of-the-server]__0ocu5kq._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0fu72o7._.js → [root-of-the-server]__0omu2ls._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__09t4v4r._.js → [root-of-the-server]__0ou1yo3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0u81k~2._.js → [root-of-the-server]__0qe_pj_._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0wlj-yw._.js → [root-of-the-server]__0snmvie._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__06booxp._.js → [root-of-the-server]__0sqf51n._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vxex1w._.js → [root-of-the-server]__0syhzuy._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__024967n._.js → [root-of-the-server]__0xblgqt._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0s38pid._.js → [root-of-the-server]__0xzvkcg._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0z3wg9x._.js → [root-of-the-server]__0y6a-84._.js} +4 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ywviax._.js +20 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__071_pmz._.js → [root-of-the-server]__0~1k.~a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0bvtbax._.js → [root-of-the-server]__0~dajlm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0sggstu._.js → [root-of-the-server]__0~oj7j3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0e_9pc5._.js → [root-of-the-server]__0~yn~7e._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0c-ee48._.js → [root-of-the-server]__10l3owp._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0o0v6hf._.js → [root-of-the-server]__10ljgl.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0_1f2cw._.js → [root-of-the-server]__10~3r6l._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__01qcera._.js → [root-of-the-server]__11akjkm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0aoqat-._.js → [root-of-the-server]__11fcf05._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__02.uul~._.js → [root-of-the-server]__13f0ukk._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0_0bqpg._.js → [root-of-the-server]__13hpe9q._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_share_[token]_asset_route_actions_0mxwvof.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_system_workspaces_[id]_open_route_actions_1087xu7.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_auth_server_ts_00f4e0h._.js +452 -0
- package/.next/standalone/.next/server/chunks/ssr/{0~w0_katex_dist_katex_mjs_0awdhzw._.js → 0~w0_katex_dist_katex_mjs_1115d6v._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-5ZQYHXKU_mjs_0z1.978._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/12y~_mermaid_dist_chunks_mermaid_core_chunk-KSCS5N6A_mjs_0v4oeem._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.j71x7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0sxeqi8._.js → _03xt0rl._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{_0kcfv3r._.js → _0i3r51-._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/_0v4uz-4._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0_zq~v6._.js → node_modules__pnpm_0-gfnl9._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0cy5ftq._.js → node_modules__pnpm_0.41jpn._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0~5s0h-._.js → node_modules__pnpm_00mt6nh._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_01uc1hl._.js → node_modules__pnpm_06za8g0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0t16czj._.js → node_modules__pnpm_0752tb8._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0jywdw0._.js → node_modules__pnpm_08.egvu._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0a4su30._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0w~3li6._.js → node_modules__pnpm_0a5jwqo._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0~xns8v._.js → node_modules__pnpm_0c-_96g._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0w3.bto._.js → node_modules__pnpm_0cxeac7._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_11-1cme._.js → node_modules__pnpm_0do9l33._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0h8t6~c._.js → node_modules__pnpm_0go8~j7._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_02vvjkq._.js → node_modules__pnpm_0h~ckqb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0~l___j._.js → node_modules__pnpm_0knclqg._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_04hymjt._.js → node_modules__pnpm_0lne~4i._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0c5xt34._.js → node_modules__pnpm_0mrjai_._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0abi.df._.js → node_modules__pnpm_0mx7wsr._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0u3p3__._.js → node_modules__pnpm_0oi2w2s._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0o~d81.._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_131u09o._.js → node_modules__pnpm_0qiaujf._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_10y-1uw._.js → node_modules__pnpm_0r529m.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0zt6ord._.js → node_modules__pnpm_0s8-kbr._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0j2ck16._.js → node_modules__pnpm_0uvds62._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0bwtedy._.js → node_modules__pnpm_0w7.zt6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_13kfm1k._.js → node_modules__pnpm_0z5ch94._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0of-lo7._.js → node_modules__pnpm_0zya776._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_05py9u6._.js → node_modules__pnpm_10qgn1p._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0ve~5~d._.js → node_modules__pnpm_113-u.n._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules__pnpm_0g7aqxf._.js → node_modules__pnpm_12v.ysz._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/src_app_s_[token]_page_tsx_0_fzrmd._.js +3 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{0alhqgtsl8w~~.js → 0-6si2~0z2ds~.js} +3 -3
- package/.next/standalone/.next/static/chunks/0.a7ig7sonb84.js +17 -0
- package/.next/standalone/.next/static/chunks/{0on-0-cxvzy-7.js → 0gzs0suw~dy53.js} +3 -3
- package/.next/standalone/.next/static/chunks/0pw6gfeuvlhiu.css +5 -0
- package/.next/standalone/.next/static/chunks/11_s27j_.g~44.js +1 -0
- package/.next/standalone/node_modules/.pnpm/better-sqlite3@12.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08n~vj1._.js +0 -12
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0m6r9ip._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sfrx~.._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0dr1r1g._.js +0 -452
- package/.next/standalone/.next/server/chunks/_101exke._.js +0 -452
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w2ebbx._.js +0 -3
- package/.next/standalone/.next/static/chunks/0.g_p6_b0v2sp.js +0 -1
- package/.next/standalone/.next/static/chunks/0ncw5hhg~98~p.css +0 -5
- package/.next/standalone/.next/static/chunks/11c7-ic7.2nku.js +0 -17
- /package/.next/standalone/.next/static/{67H1xYhtLYoTKKFA6Djps → Ww8jT7MN_-EXqCtedCETt}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{67H1xYhtLYoTKKFA6Djps → Ww8jT7MN_-EXqCtedCETt}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{67H1xYhtLYoTKKFA6Djps → Ww8jT7MN_-EXqCtedCETt}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter", "Inter Fallback"}
|
|
2
|
+
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.0j1f760ks3~7e.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.0lukgm0wyhr0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0524igg32t-c1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_b92072b0-module__sw6Q8q__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_b92072b0-module__sw6Q8q__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
|
|
3
|
+
@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/ca8956476e4b15e1-s.08wnys.spqmz-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/0ada71b763703d9d-s.03kpp5fbi.88j.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/2b7d3311b69a4dca-s.p.0g6adshk-wxa_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6632a144c419935f-s.02msn089-soa4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/7b27d9904b50e540-s.13-bl75dp544c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d38f3bca7db33566-s.p.07n94j49quulv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_c4814ff8-module__L-7Q2W__className{font-family:Newsreader,Newsreader Fallback}.newsreader_c4814ff8-module__L-7Q2W__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
|
|
4
|
+
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.0_n_qwbzcushi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.07r2ragk8ph~z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0787d67~10694.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0dgq8lqrj3gc_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0o14nraug8u5s.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_120c816a-module__Ikjzxa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_120c816a-module__Ikjzxa__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
|
|
5
|
+
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-plex-mono), ui-monospace, SFMono-Regular, Menlo, monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground)}a,button,input,textarea,select{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d6d3d1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a29e}.dark ::-webkit-scrollbar{width:8px;height:8px}.dark ::-webkit-scrollbar-track{background:0 0}.dark ::-webkit-scrollbar-thumb{background:#292524;border-radius:4px}.dark ::-webkit-scrollbar-thumb:hover{background:#4e4e4e}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:#1118271a;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-9{top:2.25rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.-m-1\.5{margin:-.375rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-px{margin-bottom:-1px}.-mr-px{margin-right:-1px}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-\[var\(--editor-ml\,auto\)\]{margin-left:var(--editor-ml,auto)}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-\[1px\]{margin-top:1px}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1}.size-16{width:4rem;height:4rem}.size-4{width:1rem;height:1rem}.size-8{width:2rem;height:2rem}.h-0{height:0}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[60vh\]{height:60vh}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[32px\]{min-height:32px}.min-h-\[52px\]{min-height:52px}.min-h-\[60px\]{min-height:60px}.min-h-\[calc\(100vh-12rem\)\]{min-height:calc(100vh - 12rem)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[1\%\]{width:1%}.w-\[1px\]{width:1px}.w-\[280px\]{width:280px}.w-\[340px\]{width:340px}.w-\[360px\]{width:360px}.w-\[85vw\]{width:85vw}.w-\[90vw\]{width:90vw}.w-\[min\(16rem\,calc\(100vw-1rem\)\)\]{width:min(16rem,100vw - 1rem)}.w-\[min\(18rem\,calc\(100vw-1rem\)\)\]{width:min(18rem,100vw - 1rem)}.w-\[min\(20rem\,calc\(100vw-1rem\)\)\]{width:min(20rem,100vw - 1rem)}.w-\[var\(--radix-dropdown-menu-trigger-width\)\]{width:var(--radix-dropdown-menu-trigger-width)}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[100px\]{min-width:100px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-max{min-width:max-content}.max-w-0{max-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[100px\]{max-width:100px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[180px\]{max-width:180px}.max-w-\[20rem\]{max-width:20rem}.max-w-\[80px\]{max-width:80px}.max-w-\[90rem\]{max-width:90rem}.max-w-\[var\(--editor-max-w\,48rem\)\]{max-width:var(--editor-max-w,48rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[0\.5px\]{--tw-translate-y:.5px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.select-all{-webkit-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[60px_1fr\]{grid-template-columns:60px 1fr}.grid-cols-\[max-content_1fr\]{grid-template-columns:max-content 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-px{gap:1px}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:var(--border)}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:16px}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius,8px)}.rounded-md{border-radius:6px}.rounded-none{border-radius:0}.rounded-sm{border-radius:4px}.rounded-xl{border-radius:12px}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-md{border-top-left-radius:6px;border-top-right-radius:6px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-dashed{border-style:dashed}.border-\[\#E8DDC5\]{--tw-border-opacity:1;border-color:rgb(232 221 197/var(--tw-border-opacity,1))}.border-\[rgba\(139\,46\,62\,0\.18\)\]{border-color:#8b2e3e2e}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/40{border-color:#f59e0b66}.border-blue-500\/20{border-color:#3b82f633}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-red-500\/30{border-color:#ef44444d}.border-ring{border-color:var(--ring)}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#1a1a1a\]{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.bg-\[\#1e1e1e\]{--tw-bg-opacity:1;background-color:rgb(30 30 30/var(--tw-bg-opacity,1))}.bg-\[\#F5EEDC\]{--tw-bg-opacity:1;background-color:rgb(245 238 220/var(--tw-bg-opacity,1))}.bg-\[\#FFF9E9\]{--tw-bg-opacity:1;background-color:rgb(255 249 233/var(--tw-bg-opacity,1))}.bg-\[rgba\(139\,46\,62\,0\.06\)\]{background-color:#8b2e3e0f}.bg-\[rgba\(139\,46\,62\,0\.08\)\]{background-color:#8b2e3e14}.bg-accent{background-color:var(--accent)}.bg-accent-soft{background-color:var(--accent-soft)}.bg-amber-400\/25{background-color:#fbbf2440}.bg-amber-50\/10{background-color:#fffbeb1a}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-background{background-color:var(--background)}.bg-black\/90{background-color:#000000e6}.bg-blue-500\/10{background-color:#3b82f61a}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-muted{background-color:var(--muted)}.bg-overlay{background-color:var(--overlay)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-soft{background-color:var(--primary-soft)}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/5{background-color:#ef44440d}.bg-secondary{background-color:var(--secondary)}.bg-success{background-color:var(--success)}.bg-transparent{background-color:#0000}.bg-warning-soft{background-color:var(--warning-soft)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.bg-\[repeating-conic-gradient\(hsl\(var\(--muted\)\)_0\%_25\%\,transparent_0\%_50\%\)\]{background-image:repeating-conic-gradient(hsl(var(--muted)) 0% 25%,transparent 0% 50%)}.bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-background{--tw-gradient-from:var(--background) var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-\[length\:20px_20px\]{background-size:20px 20px}.fill-border{fill:var(--border)}.fill-current{fill:currentColor}.fill-primary{fill:var(--primary)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[1px\]{padding-left:1px;padding-right:1px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pb-\[5px\]{padding-bottom:5px}.pl-0\.5{padding-left:.125rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-\[7px\]{padding-top:7px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-plex-mono), ui-monospace, SFMono-Regular, Menlo, monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#0c0a09\]{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity,1))}.text-\[\#2A221B\]{--tw-text-opacity:1;color:rgb(42 34 27/var(--tw-text-opacity,1))}.text-\[\#7A6B5D\]{--tw-text-opacity:1;color:rgb(122 107 93/var(--tw-text-opacity,1))}.text-\[\#858585\]{--tw-text-opacity:1;color:rgb(133 133 133/var(--tw-text-opacity,1))}.text-\[\#8B2E3E\]{--tw-text-opacity:1;color:rgb(139 46 62/var(--tw-text-opacity,1))}.text-\[\#8B5E3C\]{--tw-text-opacity:1;color:rgb(139 94 60/var(--tw-text-opacity,1))}.text-\[\#d4d4d4\]{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity,1))}.text-accent{color:var(--accent)}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-600\/80{color:#d97706cc}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-foreground{color:var(--foreground)}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary-foreground{color:var(--secondary-foreground)}.text-success{color:var(--success)}.text-sunshine-700{--tw-text-opacity:1;color:rgb(78 78 78/var(--tw-text-opacity,1))}.text-warning{color:var(--warning)}.text-warning-ink{color:var(--warning-ink)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-e-1{--tw-shadow:0 1px 2px 0 #0000000a;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-e-2{--tw-shadow:var(--shadow-golden-card,0 4px 16px #0000000a);--tw-shadow-colored:0 4px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-e-4{--tw-shadow:var(--shadow-golden-dialog,0 16px 48px #00000014);--tw-shadow-colored:0 16px 48px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-golden{--tw-shadow:var(--shadow-golden-card,0 4px 16px #0000000a);--tw-shadow-colored:0 4px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-black\/5{--tw-ring-color:#0000000d}.ring-primary{--tw-ring-color:var(--primary)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[height\]{transition-property:height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[stroke-dashoffset\]{transition-property:stroke-dashoffset;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--background:#f5f5f5;--foreground:#0c0a09;--card:#fff;--card-foreground:#0c0a09;--popover:#fff;--popover-foreground:#0c0a09;--primary:#292524;--primary-foreground:#fff;--secondary:#fafafa;--secondary-foreground:#0c0a09;--muted:#f0efed;--muted-foreground:#777169;--accent:#e7e5e4;--accent-foreground:#0c0a09;--accent-soft:#e7e5e4;--primary-soft:#e7e5e4;--success-soft:#dcfce7;--destructive:#dc2626;--destructive-foreground:#fff;--destructive-soft:#fee2e2;--warning-soft:#fef3c7;--warning-ink:#a16207;--border:#e7e5e4;--input:#d6d3d1;--switch-checked:#292524;--ring:#292524;--overlay:#0c0a0966;--radius:8px;--sidebar-background:#fafafa;--sidebar-foreground:#0c0a09;--sidebar-primary:#292524;--sidebar-primary-foreground:#fff;--sidebar-accent:#fff;--sidebar-accent-foreground:#0c0a09;--sidebar-border:#e7e5e4;--sidebar-ring:#292524;--success:#16a34a;--warning:#d97706;--info:#292524;--shadow-golden-card:0 4px 16px #0000000a;--shadow-golden-pop:0 8px 24px #0000000f;--shadow-golden-dialog:0 16px 48px #00000014;--shadow-golden-toast:0 24px 64px #0000001a;--state-hover-overlay:0 0 0 / .05;--motion-fast:.1s;--motion-base:.15s;--motion-slow:.3s;--motion-easing:cubic-bezier(0, 0, .2, 1);--z-sticky:10;--z-sidebar:30;--z-overlay:40;--z-float:50}.dark{--background:#0c0a09;--foreground:#fff;--card:#1c1917;--card-foreground:#fff;--popover:#1c1917;--popover-foreground:#fff;--primary:#44403c;--primary-foreground:#fff;--secondary:#1c1917;--secondary-foreground:#fff;--muted:#292524;--muted-foreground:#a8a29e;--accent:#383330;--accent-foreground:#fff;--accent-soft:#3d3d3d;--primary-soft:#453c35;--success-soft:#14532d;--destructive:#dc2626;--destructive-foreground:#fff;--destructive-soft:#7f1d1d;--warning-soft:#3d2b1a;--warning-ink:#fbbf24;--border:#292524;--input:#57534e;--switch-checked:#f5f5f5;--ring:#fff;--overlay:#0000008c;--sidebar-background:#0c0a09;--sidebar-foreground:#fff;--sidebar-primary:#292524;--sidebar-primary-foreground:#fff;--sidebar-accent:#1c1917;--sidebar-accent-foreground:#fff;--sidebar-border:#292524;--sidebar-ring:#fff;--success:#16a34a;--warning:#fbbf24;--info:#fff;--state-hover-overlay:255 255 255 / .1;--shadow-golden-card:0 4px 16px #0000004d;--shadow-golden-pop:0 8px 24px #0006;--shadow-golden-dialog:0 16px 48px #00000080;--shadow-golden-toast:0 24px 64px #0009}.dark .shadow-golden{box-shadow:0 4px 16px #0000004d}.skip-to-content{z-index:9999;background:var(--primary);color:var(--primary-foreground);border-radius:0 0 .5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:400;position:absolute;top:0;left:-9999px}.skip-to-content:focus{left:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background-size:200% 100%;animation:2s ease-in-out infinite shimmer}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.3s ease-out both fade-in-up}@keyframes tree-row-reveal{0%{opacity:0;transform:translateY(-3px)}to{transform:translateY(0)}}.tree-row-reveal{animation:.16s ease-out both tree-row-reveal}@media (prefers-reduced-motion:reduce){.tree-row-reveal,[data-skin=editorial] main,[data-skin=editorial] .editorial-content-pane,[data-skin=editorial] .tiptap h1,[data-skin=editorial] .tiptap h2,[data-skin=editorial] .tiptap h3,[data-skin=editorial] .tiptap hr{animation:none}}[data-next-mark],nextjs-portal{display:none}.tiptap{letter-spacing:-.006em;hanging-punctuation:first last;outline:none;font-size:.9375rem;line-height:1.7}.tiptap p,.tiptap li,.tiptap h1,.tiptap h2,.tiptap h3,.tiptap h4{text-wrap:pretty}.tiptap :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:48px}.tiptap h1{letter-spacing:-.02em;margin:2rem 0 .6rem;font-size:1.6875rem;font-weight:650;line-height:1.2}.tiptap h2{letter-spacing:-.015em;margin:1.75rem 0 .5rem;font-size:1.3125rem;font-weight:650;line-height:1.3}.tiptap h3{letter-spacing:-.01em;margin:1.4rem 0 .4rem;font-size:1.0938rem;font-weight:650;line-height:1.4}.tiptap h4{margin:1.1rem 0 .3rem;font-size:.9688rem;font-weight:650;line-height:1.4}.tiptap p{margin-bottom:.7rem}.tiptap ul,.tiptap ol{margin-bottom:.6rem;padding-left:1.4rem}.tiptap ul{list-style:outside}.tiptap ol{list-style:decimal}.tiptap li p{margin-bottom:.2rem}.tiptap blockquote{border-left:2px solid var(--border);color:var(--muted-foreground);padding-left:.85rem;font-style:italic}.tiptap code{background:var(--muted);color:var(--foreground);border-radius:var(--radius);padding:.1rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.tiptap pre{background:var(--muted);color:var(--foreground);border-radius:calc(var(--radius) * 2);margin:.75rem 0;padding:.75rem .9rem;font-size:.8125rem;line-height:1.55;overflow-x:auto}.tiptap pre code{background:0 0;padding:0}.tiptap pre code .hljs-keyword,.tiptap pre code .hljs-selector-tag,.tiptap pre code .hljs-built_in{color:var(--accent-foreground);font-weight:500}.tiptap pre code .hljs-string,.tiptap pre code .hljs-attr{color:var(--success)}.tiptap pre code .hljs-number,.tiptap pre code .hljs-literal,.tiptap pre code .hljs-bullet,.tiptap pre code .hljs-symbol{color:var(--warning-ink)}.tiptap pre code .hljs-comment,.tiptap pre code .hljs-quote{color:var(--muted-foreground);font-style:italic}.tiptap pre code .hljs-function,.tiptap pre code .hljs-title,.tiptap pre code .hljs-section{color:var(--accent-foreground);font-weight:600}.tiptap pre code .hljs-type,.tiptap pre code .hljs-class .hljs-title,.tiptap pre code .hljs-name,.tiptap pre code .hljs-meta{color:var(--warning-ink)}.tiptap pre code .hljs-variable,.tiptap pre code .hljs-template-variable,.tiptap pre code .hljs-attribute{color:var(--foreground)}.tiptap pre code .hljs-tag,.tiptap pre code .hljs-regexp{color:var(--destructive)}.tiptap pre code .hljs-emphasis{font-style:italic}.tiptap pre code .hljs-strong{font-weight:600}.source-viewer-code .hljs-keyword,.source-viewer-code .hljs-selector-tag,.source-viewer-code .hljs-built_in{color:var(--accent-foreground);font-weight:500}.source-viewer-code .hljs-string,.source-viewer-code .hljs-attr{color:var(--success)}.source-viewer-code .hljs-number,.source-viewer-code .hljs-literal,.source-viewer-code .hljs-bullet,.source-viewer-code .hljs-symbol{color:var(--warning-ink)}.source-viewer-code .hljs-comment,.source-viewer-code .hljs-quote{color:var(--muted-foreground);font-style:italic}.source-viewer-code .hljs-function,.source-viewer-code .hljs-title,.source-viewer-code .hljs-section{color:var(--accent-foreground);font-weight:600}.source-viewer-code .hljs-type,.source-viewer-code .hljs-class .hljs-title,.source-viewer-code .hljs-name,.source-viewer-code .hljs-meta{color:var(--warning-ink)}.source-viewer-code .hljs-variable,.source-viewer-code .hljs-template-variable,.source-viewer-code .hljs-attribute{color:var(--foreground)}.source-viewer-code .hljs-tag,.source-viewer-code .hljs-regexp{color:var(--destructive)}.source-viewer-code .hljs-emphasis{font-style:italic}.source-viewer-code .hljs-strong{font-weight:600}.tiptap hr{border:0;border-top:1px solid var(--border);margin:1.25rem 0}.tiptap a{color:var(--accent-foreground);text-underline-offset:2px;text-decoration:underline}.tiptap strong{color:var(--foreground);font-weight:600}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted-foreground);float:left;pointer-events:none;height:0}.tiptap .tableWrapper{margin:.75rem 0;overflow-x:auto}.tiptap table{border-collapse:collapse;table-layout:fixed;border-radius:var(--radius);border:1px solid var(--border);width:100%;margin:.75rem 0;overflow:hidden}.tiptap th,.tiptap td{border:1px solid var(--border);vertical-align:top;padding:.4rem .6rem;position:relative}.tiptap th{background:var(--muted);text-align:left;font-weight:600}.tiptap td{background:0 0}.tiptap tr:hover td{background:color-mix(in srgb, var(--muted) 60%, transparent)}.tiptap .selectedCell{background:color-mix(in srgb, var(--accent-foreground) 10%, transparent);position:relative}.tiptap .selectedCell:after{content:"";pointer-events:none;background:color-mix(in srgb, var(--accent-foreground) 6%, transparent);position:absolute;inset:0}.tiptap .column-resize-handle{background:var(--accent-foreground);pointer-events:none;width:4px;position:absolute;top:0;bottom:-2px;right:-2px}.tiptap.resize-cursor{cursor:col-resize}.tiptap .task-list{padding-left:0;list-style:none}.tiptap .task-list li{align-items:flex-start;gap:.5rem;margin-bottom:.25rem;display:flex}.tiptap .task-list li>label{-webkit-user-select:none;user-select:none;flex-shrink:0;margin-top:.2rem}.tiptap .task-list li label input[type=checkbox]{appearance:none;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--background);cursor:pointer;width:.95rem;height:.95rem;transition:border-color .12s;position:relative}.tiptap .task-list li label input[type=checkbox]:checked{background:var(--accent-foreground);border-color:var(--accent-foreground)}.tiptap .task-list li label input[type=checkbox]:checked:after{content:"✓";color:var(--background);font-size:.7rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.tiptap .task-list li[data-checked=true]>div>p{color:var(--muted-foreground);text-decoration:line-through}.tiptap .callout-info{border-left:2px solid var(--accent-foreground);background:color-mix(in srgb, var(--accent-foreground) 10%, transparent)}.tiptap .callout-warning{border-left:2px solid var(--warning-ink);background:var(--warning-soft)}.tiptap .callout-success{border-left:2px solid var(--success);background:var(--success-soft)}.tiptap .callout-error{border-left:2px solid var(--destructive);background:var(--destructive-soft)}.tiptap .resizable-image{border-radius:var(--radius);max-width:100%;height:auto;margin:.75rem 0;display:block;position:relative}.tiptap .resizable-image[data-align=left]{margin-left:0;margin-right:auto}.tiptap .resizable-image[data-align=right]{margin-left:auto;margin-right:0}.tiptap .resizable-image[data-align=center]{margin-left:auto;margin-right:auto}.tiptap [style*="text-align: center"]{text-align:center}.tiptap [style*="text-align: right"]{text-align:right}.tiptap [style*="text-align: justify"]{text-align:justify}.tiptap a[href$=\.pdf]:after{content:"📄";color:var(--muted-foreground);margin-left:.25rem;font-size:.75em}#cabinet-drag-handle{font-family:var(--font-sans);background:var(--muted);color:var(--muted-foreground);border-radius:var(--radius)}#cabinet-drag-handle:hover{background:var(--accent);color:var(--accent-foreground)}#cabinet-drag-handle:active{cursor:grabbing}#cabinet-gutter-add{background:var(--muted);color:var(--muted-foreground);border-radius:var(--radius)}#cabinet-gutter-add:hover{background:var(--accent);color:var(--accent-foreground)}.tiptap :is(h1,h2,h3,h4)[id]{position:relative}.tiptap :is(h1,h2,h3,h4)[id]:before{content:"#";opacity:0;color:var(--muted-foreground);pointer-events:none;transition:opacity .12s,color .12s;position:absolute;left:-1em}.tiptap :is(h1,h2,h3,h4)[id]:hover:before{opacity:1;color:var(--accent-foreground)}.wiki-link{color:var(--accent-foreground);border-bottom:1px dotted var(--accent-foreground);cursor:pointer;padding:0 1px;text-decoration:none;transition:color .12s,background .12s}.wiki-link:hover{background:color-mix(in srgb, var(--accent-foreground) 10%, transparent);border-bottom-style:solid}.wiki-link[data-broken=true]{color:var(--destructive);opacity:.6;border-bottom:none;text-decoration:line-through}.wiki-link:has([data-broken=true]){color:var(--destructive);opacity:.6;border-bottom:none;text-decoration:line-through}.wiki-link [data-broken=true]{color:var(--destructive);text-decoration:line-through}.wiki-link[data-broken=true]:hover{opacity:1;background:color-mix(in srgb, var(--destructive) 10%, transparent)}.wiki-link:has([data-broken=true]):hover{opacity:1;background:color-mix(in srgb, var(--destructive) 10%, transparent)}proof-span.proof-span,.proof-span{cursor:pointer;background:linear-gradient(90deg,#a5b4fc14,#a5b4fc00);border-left:2px solid #a5b4fc;border-radius:2px;padding-left:4px;transition:background .12s}proof-span.proof-span[origin=human],.proof-span[origin=human]{background:linear-gradient(90deg,#6ee7b714,#6ee7b700);border-left-color:#6ee7b7}proof-span.proof-span:hover,.proof-span:hover{background:linear-gradient(90deg,#a5b4fc2e,#a5b4fc0a)}.dark proof-span.proof-span,.dark .proof-span{background:linear-gradient(90deg,#a5b4fc24,#a5b4fc00)}.md-pre{background:var(--muted);color:var(--foreground);border-radius:calc(var(--radius) * 2);margin:.75rem 0;padding:.75rem .9rem;font-size:.8125rem;line-height:1.55;overflow-x:auto}.md-pre .md-code,.md-pre code{color:inherit;font-size:inherit;white-space:pre;background:0 0;border-radius:0;padding:0;display:block}.md-code{background:var(--muted);color:var(--foreground);border-radius:var(--radius);padding:.1rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}[data-skin=editorial]{--background:#faf6f0;--foreground:#1a1714;--card:#fffdfa;--card-foreground:#1a1714;--popover:#fffdfa;--popover-foreground:#1a1714;--primary:#b54a1f;--primary-foreground:#fffdfa;--primary-soft:#f3e2d8;--secondary:#f1ebe1;--secondary-foreground:#1a1714;--muted:#f1ebe1;--muted-foreground:#756c5f;--accent:#f1ebe1;--accent-foreground:#b54a1f;--accent-soft:#f3e2d8;--destructive:#b3261e;--destructive-foreground:#fffdfa;--destructive-soft:#f7dcda;--success:#4a7c59;--success-soft:#dceadf;--warning:#b8860b;--warning-soft:#f5ecd2;--warning-ink:#8a6508;--info:#1a1714;--border:#ddd2c2;--input:#ccc0ad;--switch-checked:#b54a1f;--ring:#b54a1f;--overlay:#1a171466;--radius:4px;--sidebar-background:#f4eee4;--sidebar-foreground:#1a1714;--sidebar-primary:#b54a1f;--sidebar-primary-foreground:#fffdfa;--sidebar-accent:#faf6f0;--sidebar-accent-foreground:#b54a1f;--sidebar-border:#ddd2c2;--sidebar-ring:#b54a1f}[data-skin=editorial].dark{--background:#1a1714;--foreground:#ece4d8;--card:#221e1a;--card-foreground:#ece4d8;--popover:#221e1a;--popover-foreground:#ece4d8;--primary:#e8a07d;--primary-foreground:#1a1714;--primary-soft:#3a2c22;--secondary:#262019;--secondary-foreground:#ece4d8;--muted:#262019;--muted-foreground:#a89e8e;--accent:#2c2620;--accent-foreground:#e8a07d;--accent-soft:#3a2c22;--destructive:#e5544b;--destructive-foreground:#1a1714;--destructive-soft:#4a211d;--success:#7fae8c;--success-soft:#24341f;--warning:#d9a441;--warning-soft:#3a2e18;--warning-ink:#d9a441;--info:#ece4d8;--border:#382f26;--input:#4a3f33;--switch-checked:#e8a07d;--ring:#e8a07d;--overlay:#0009;--sidebar-background:#161310;--sidebar-foreground:#ece4d8;--sidebar-primary:#e8a07d;--sidebar-primary-foreground:#1a1714;--sidebar-accent:#221e1a;--sidebar-accent-foreground:#e8a07d;--sidebar-border:#382f26;--sidebar-ring:#e8a07d}[data-skin=editorial] body{font-family:var(--font-newsreader), Georgia, serif}[data-skin=editorial] .tiptap{font-family:var(--font-newsreader), Georgia, serif;letter-spacing:0;text-rendering:optimizelegibility;font-feature-settings:"liga", "kern";font-size:1.0625rem;line-height:1.65}[data-skin=editorial] .tiptap h1,[data-skin=editorial] .tiptap h2,[data-skin=editorial] .tiptap h3,[data-skin=editorial] .tiptap h4,[data-skin=editorial] .tiptap h5,[data-skin=editorial] .tiptap h6{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.01em}[data-skin=editorial] .tiptap h1{margin:0 0 .5rem;font-size:2.25rem;font-weight:600;line-height:1.15}[data-skin=editorial] .tiptap h2{margin:2em 0 .45rem;font-size:1.6rem;font-weight:600;line-height:1.2}[data-skin=editorial] .tiptap h3{margin:1.6em 0 .4rem;font-size:1.25rem;font-weight:600;line-height:1.3}[data-skin=editorial] .tiptap h4{font-variant:small-caps;margin:1.4em 0 .35rem;font-size:1.05rem;font-weight:600}[data-skin=editorial] .tiptap p{margin-bottom:.75rem}[data-skin=editorial] .tiptap blockquote{border-left:3px solid var(--primary);color:var(--foreground);background:0 0;border-radius:4px;margin:1.25rem 0;padding:.25rem 0 .25rem 1.1rem;font-size:1.15rem;font-style:italic}[data-skin=editorial] .tiptap code{font-family:var(--font-plex-mono), ui-monospace, Menlo, monospace;background:var(--muted);border:1px solid var(--border);border-radius:0;padding:.05rem .3rem;font-size:.85em}[data-skin=editorial] .tiptap pre{font-family:var(--font-plex-mono), ui-monospace, Menlo, monospace;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--muted);border-left:none;border-right:none;border-radius:0}[data-skin=editorial] .tiptap pre code{background:0 0;border:none;padding:0;font-family:inherit}[data-skin=editorial] .tiptap a{color:var(--primary);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}[data-skin=editorial] .tiptap ul{list-style-type:square}[data-skin=editorial] .tiptap ol{list-style-type:decimal}[data-skin=editorial] .tiptap hr{border:none;height:0;margin:2.5rem 0}[data-skin=editorial] .tiptap hr:before{content:"✳ ✳ ✳";text-align:center;font-family:var(--font-fraunces), Georgia, serif;color:var(--muted-foreground);letter-spacing:.4em;font-size:.9rem;display:block}[data-skin=editorial] .tiptap table{border-collapse:collapse;border-radius:4px}[data-skin=editorial] .tiptap th,[data-skin=editorial] .tiptap td{border:1px solid var(--border);border-radius:0}[data-skin=editorial] .tiptap th{font-family:var(--font-fraunces), Georgia, serif;font-variant:small-caps;letter-spacing:.06em;font-size:.9em}[data-skin=editorial] .bg-muted.border-b,[data-skin=editorial] .bg-muted\/50.border-b{background-color:var(--background)!important}[data-skin=editorial] .editorial-file-tree{font-family:var(--font-plex-mono), ui-monospace, Menlo, monospace;font-size:.8125rem}[data-skin=editorial] .editorial-file-tree .bg-accent-soft{border-left:2px solid var(--primary);color:var(--primary);background:0 0;border-radius:4px}[data-skin=editorial] .editorial-file-tree [role=treeitem]:hover,[data-skin=editorial] .editorial-file-tree .hover\:bg-muted:hover{background:var(--muted);border-radius:4px}[data-skin=editorial] h3.editorial-section-label{font-family:var(--font-fraunces), Georgia, serif;font-variant:small-caps;letter-spacing:.12em;padding-bottom:.25rem;position:relative}[data-skin=editorial] h3.editorial-section-label:after{content:"";background:var(--primary);width:1.5rem;height:1px;margin-top:.25rem;display:block}[data-skin=editorial] .editorial-doc-header{border-bottom:3px double var(--foreground)!important;background-color:var(--background)!important}[data-skin=editorial] .editorial-doc-header span{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.01em;font-size:.9375rem}[data-skin=editorial] .editorial-outline{font-family:var(--font-plex-mono), ui-monospace, Menlo, monospace;font-size:.8125rem}[data-skin=editorial] .editorial-outline .editorial-outline-heading{font-family:var(--font-fraunces), Georgia, serif;font-variant:small-caps;letter-spacing:.12em;color:var(--muted-foreground)}[data-skin=editorial] .editorial-outline a:hover,[data-skin=editorial] .editorial-outline .editorial-outline-active{color:var(--primary)}[data-skin=editorial] button,[data-skin=editorial] [role=button],[data-skin=editorial] input,[data-skin=editorial] textarea,[data-skin=editorial] select{border-radius:4px}[data-skin=editorial] .settings-section-label{font-family:var(--font-fraunces), Georgia, serif;font-variant:small-caps;letter-spacing:.1em}[data-skin=editorial] main,[data-skin=editorial] .editorial-content-pane{animation:.48s cubic-bezier(.16,1,.3,1) both editorial-rise}[data-skin=editorial] .tiptap h1{animation:.62s cubic-bezier(.16,1,.3,1) 90ms both editorial-bloom}[data-skin=editorial] .tiptap h2,[data-skin=editorial] .tiptap h3{animation:.56s cubic-bezier(.16,1,.3,1) .14s both editorial-bloom}[data-skin=editorial] .tiptap hr{transform-origin:50%;animation:.7s ease-out .2s both editorial-draw}@keyframes editorial-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes editorial-bloom{0%{opacity:0;letter-spacing:.02em}to{opacity:1;letter-spacing:-.01em}}@keyframes editorial-draw{0%{opacity:0;transform:scaleX(.5)}to{opacity:1;transform:scaleX(1)}}[data-skin=editorial] a,[data-skin=editorial] button{transition:color .12s,background-color .12s}[data-skin=editorial] .md-pre{font-family:var(--font-plex-mono), ui-monospace, Menlo, monospace;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--muted);border-radius:0}[data-skin=editorial] .md-code{font-family:var(--font-plex-mono), ui-monospace, Menlo, monospace;border:1px solid var(--border);border-radius:0}.editorial-tree-typeicon{display:contents}[data-skin=editorial] .editorial-tree-typeicon svg{stroke-width:1.75px;opacity:.85;color:var(--muted-foreground)!important}[data-skin=editorial] .bg-accent-soft .editorial-tree-typeicon svg{opacity:1;color:var(--primary)!important}@media (hover:none){.hover-reveal{opacity:1!important;max-width:none!important}}@media (hover:none) and (pointer:coarse){.touch-target{min-width:44px;min-height:44px}.resize-hit{width:1.5rem}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-normal::file-selector-button{font-weight:400}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\:border-0:last-child{border-width:0}.focus-within\:max-w-7:focus-within{max-width:1.75rem}.focus-within\:opacity-100:focus-within{opacity:1}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-amber-500\/15:hover{background-color:#f59e0b26}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-amber-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:text-destructive:focus{color:var(--destructive)}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-color:var(--primary)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:inline{display:inline}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:max-w-7{max-width:1.75rem}.group:hover .group-hover\:scale-\[1\.02\]{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-muted{background-color:var(--muted)}.group:hover .group-hover\:text-foreground{color:var(--foreground)}.group:hover .group-hover\:text-primary{color:var(--primary)}.group:hover .group-hover\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=checked\]\:bg-\[var\(--switch-checked\)\][data-state=checked]{background-color:var(--switch-checked)}.data-\[state\=on\]\:bg-background[data-state=on]{background-color:var(--background)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-transparent[data-state=open]{background-color:#0000}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[state\=active\]\:text-foreground[data-state=active],.data-\[state\=on\]\:text-foreground[data-state=on]{color:var(--foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-e-1[data-state=active],.data-\[state\=on\]\:shadow-e-1[data-state=on]{--tw-shadow:0 1px 2px 0 #0000000a;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[state\=closed\]\:duration-200[data-state=closed]{transition-duration:.2s}.data-\[state\=open\]\:duration-300[data-state=open]{transition-duration:.3s}.dark\:bg-yellow-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:m-0{margin:0}.sm\:block{display:block}.sm\:h-7{height:1.75rem}.sm\:w-7{width:1.75rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-0{gap:0}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:p-0\.5{padding:.125rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:relative{position:relative}.md\:z-auto{z-index:auto}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:w-80{width:20rem}.md\:w-auto{width:auto}.md\:max-w-none{max-width:none}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1280px){.xl\:block{display:block}.xl\:hidden{display:none}.xl\:pr-44{padding-right:11rem}}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-normal [cmdk-group-heading]{font-weight:400}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_a\:hover\]\:underline a:hover{text-decoration-line:underline}.\[\&_a\]\:text-\[\#8B5E3C\] a{--tw-text-opacity:1;color:rgb(139 94 60/var(--tw-text-opacity,1))}.\[\&_code\]\:rounded code{border-radius:.25rem}.\[\&_code\]\:bg-\[\#F5EEDC\] code{--tw-bg-opacity:1;background-color:rgb(245 238 220/var(--tw-bg-opacity,1))}.\[\&_code\]\:px-1\.5 code{padding-left:.375rem;padding-right:.375rem}.\[\&_code\]\:py-0\.5 code{padding-top:.125rem;padding-bottom:.125rem}.\[\&_code\]\:text-\[\#8B2E3E\] code{--tw-text-opacity:1;color:rgb(139 46 62/var(--tw-text-opacity,1))}.\[\&_h1\]\:font-serif h1,.\[\&_h2\]\:font-serif h2,.\[\&_h3\]\:font-serif h3{font-family:Waldenburg,EB Garamond,Times New Roman,serif}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,671485,e=>{"use strict";let t=["/api/wiki","/api/assets/","/api/upload/","/api/pdf/","/api/system/reveal"],s=["/api/agent/admin","/api/agent/register","/api/agents"];function n(){return new URLSearchParams(window.location.search).get("ws")}function r(e){let r=n();if(!r)return e;let a=e.indexOf("?"),i=-1===a?e:e.slice(0,a),l=-1===a?"":e.slice(a+1);if(!function(e){for(let t of s)if(e===t||e.startsWith(t+"/"))return!1;if(e.startsWith("/api/agent/"))return!0;for(let s of t)if(e.startsWith(s))return!0;return!1}(i))return e;let o=new URLSearchParams(l);return o.has("ws")?e:(o.set("ws",r),`${i}?${o.toString()}`)}e.s(["getActiveWorkspaceId",0,n,"withWs",0,r,"wsFetch",0,function(e,t){return fetch(r(e),t)}])},824627,e=>{"use strict";var t=function(e,s){return(t=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])})(e,s)},s=function(){return(s=Object.assign||function(e){for(var t,s=1,n=arguments.length;s<n;s++)for(var r in t=arguments[s])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError,e.s(["__assign",()=>s,"__awaiter",0,function(e,t,s,n){return new(s||(s=Promise))(function(r,a){function i(e){try{o(n.next(e))}catch(e){a(e)}}function l(e){try{o(n.throw(e))}catch(e){a(e)}}function o(e){var t;e.done?r(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(i,l)}o((n=n.apply(e,t||[])).next())})},"__extends",0,function(e,s){if("function"!=typeof s&&null!==s)throw TypeError("Class extends value "+String(s)+" is not a constructor or null");function n(){this.constructor=e}t(e,s),e.prototype=null===s?Object.create(s):(n.prototype=s.prototype,new n)},"__generator",0,function(e,t){var s,n,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=l(0),i.throw=l(1),i.return=l(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(l){return function(o){var c=[l,o];if(s)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(s=1,n&&(r=2&c[0]?n.return:c[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,c[1])).done)return r;switch(n=0,r&&(c=[2&c[0],r.value]),c[0]){case 0:case 1:r=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!r||c[1]>r[0]&&c[1]<r[3])){a.label=c[1];break}if(6===c[0]&&a.label<r[1]){a.label=r[1],r=c;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(c);break}r[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{s=r=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}},"__rest",0,function(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(s[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,n=Object.getOwnPropertySymbols(e);r<n.length;r++)0>t.indexOf(n[r])&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(s[n[r]]=e[n[r]]);return s},"__spreadArray",0,function(e,t,s){if(s||2==arguments.length)for(var n,r=0,a=t.length;r<a;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||Array.prototype.slice.call(t))}])},670977,e=>{"use strict";var t=e.i(44501),s=e.i(425732),n=e.i(301138),r=e.i(567776),a=e.i(691520),i=e.i(764143),l=e.i(391548),o=e.i(43240),c=e.i(367092),d=e.i(702166),m=e.i(406347),u=e.i(101685),x=e.i(519455),h=e.i(793479),p=e.i(515288),f=e.i(755146),w=e.i(427423),j=e.i(912235),g=e.i(96701),v=e.i(792934),y=e.i(395624);function b({className:e}){let s=(0,y.useViewWidthStore)(e=>e.width),n=(0,y.useViewWidthStore)(e=>e.setWidth),r=(0,y.useViewWidthStore)(e=>e.align),a=(0,y.useViewWidthStore)(e=>e.setAlign);return(0,t.jsxs)(f.DropdownMenu,{children:[(0,t.jsx)(f.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)(x.Button,{size:"sm",variant:"ghost",className:`h-7 w-7 p-0 ${e??""}`,title:`Content width: ${y.VIEW_WIDTH_LABEL[s]}`,children:(0,t.jsx)(v.AlignJustify,{className:"h-3.5 w-3.5"})})}),(0,t.jsxs)(f.DropdownMenuContent,{align:"end",className:"w-36",children:[(0,t.jsx)(f.DropdownMenuLabel,{className:"text-[11px] text-muted-foreground",children:"Width"}),y.VIEW_WIDTH_ORDER.map(e=>(0,t.jsxs)(f.DropdownMenuItem,{onClick:()=>n(e),className:"flex items-center justify-between text-xs",children:[y.VIEW_WIDTH_LABEL[e],e===s&&(0,t.jsx)(o.Check,{className:"h-3.5 w-3.5"})]},e)),(0,t.jsx)(f.DropdownMenuSeparator,{}),(0,t.jsx)(f.DropdownMenuLabel,{className:"text-[11px] text-muted-foreground",children:"Alignment"}),y.VIEW_ALIGN_ORDER.map(e=>(0,t.jsxs)(f.DropdownMenuItem,{onClick:()=>a(e),className:"flex items-center justify-between text-xs",children:[y.VIEW_ALIGN_LABEL[e],e===r&&(0,t.jsx)(o.Check,{className:"h-3.5 w-3.5"})]},e))]})]})}var N=e.i(409082),k=e.i(847463),C=e.i(917356);function S({className:e}){let{resolvedTheme:s,setTheme:n}=(0,C.useTheme)();return(0,t.jsx)(x.Button,{size:"sm",variant:"ghost",className:`h-7 w-7 p-0 ${e??""}`,title:"dark"===s?"Switch to light":"Switch to dark",onClick:()=>n("dark"===s?"light":"dark"),children:"dark"===s?(0,t.jsx)(k.Sun,{className:"h-3.5 w-3.5"}):(0,t.jsx)(N.Moon,{className:"h-3.5 w-3.5"})})}function _(e){let t=e.lastIndexOf(".");return t<0?"":e.slice(t+1).toLowerCase()}function T(e){let t=_(e);return["md","markdown"].includes(t)?"markdown":["csv","tsv"].includes(t)?"csv":["pdf"].includes(t)?"pdf":["html","htm"].includes(t)?"html":["png","jpg","jpeg","gif","webp","svg","avif","ico","bmp"].includes(t)?"image":["mp4","webm","mov","m4v","mp3","wav","ogg","m4a","aac"].includes(t)?"media":["txt","log","ini","env","conf"].includes(t)?"text":["py","js","ts","tsx","jsx","go","rs","java","c","cpp","h","sh","bash","zsh","rb","php","swift","kt","lua","sql","yaml","yml","toml","json","xml","css","scss","mmd","mermaid"].includes(t)?"source":"binary"}function O({kind:e,content:s,filename:n,token:r}){let a=`/api/share/${r}/asset`;switch(e){case"markdown":return(0,t.jsx)(j.KBEditor,{mode:"viewing"});case"image":return(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center p-8 bg-[repeating-conic-gradient(hsl(var(--muted))_0%_25%,transparent_0%_50%)] bg-[length:20px_20px]",children:(0,t.jsx)("img",{src:a,alt:n,className:"max-w-full max-h-[80vh] object-contain rounded-sm"})});case"pdf":return(0,t.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:(0,t.jsx)("iframe",{src:a,title:n,className:"flex-1 w-full border-0",style:{minHeight:"80vh"}})});case"media":{let e=["mp4","webm","mov","m4v"].includes(_(n));return(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center p-8",children:e?(0,t.jsx)("video",{controls:!0,className:"max-w-full max-h-[80vh] rounded-sm",src:a}):(0,t.jsxs)("div",{className:"w-full max-w-md",children:[(0,t.jsx)("audio",{controls:!0,className:"w-full",src:a}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-3",children:n})]})})}case"html":return(0,t.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:(0,t.jsx)("iframe",{srcDoc:s,title:n,className:"flex-1 w-full border-0 bg-white",style:{minHeight:"80vh"},sandbox:"allow-scripts allow-same-origin"})});case"csv":return(0,t.jsx)(I,{content:s});case"source":case"text":return(0,t.jsx)(D,{content:s,filename:n});case"binary":return(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 p-8",children:[(0,t.jsx)(i.FileText,{className:"h-12 w-12 text-muted-foreground"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n}),(0,t.jsx)("a",{href:a,download:n,children:(0,t.jsxs)(x.Button,{size:"sm",variant:"outline",className:"gap-1.5",children:[(0,t.jsx)(m.Download,{className:"h-3.5 w-3.5"}),"Download file"]})})]})}}function D({content:e,filename:s}){let n=e.split("\n"),r=n.length,[a,i]=(0,u.useState)(r<=500),l=a?n:n.slice(0,500);return(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsxs)("div",{className:"mx-auto max-w-4xl",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b bg-muted/30",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:s}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[r.toLocaleString()," lines"]})]}),(0,t.jsx)("pre",{className:"text-[13px] font-mono leading-relaxed",children:(0,t.jsx)("table",{className:"w-full border-collapse",children:(0,t.jsx)("tbody",{children:l.map((e,s)=>(0,t.jsxs)("tr",{className:"hover:bg-muted/50",children:[(0,t.jsx)("td",{className:"select-none text-right pr-4 pl-4 py-0 text-muted-foreground/50 text-xs w-[1%] whitespace-nowrap align-top",children:s+1}),(0,t.jsx)("td",{className:"pr-4 py-0 whitespace-pre-wrap break-all",children:e||" "})]},s))})})}),!a&&r>500&&(0,t.jsx)("div",{className:"flex justify-center py-4 border-t",children:(0,t.jsxs)(x.Button,{size:"sm",variant:"ghost",onClick:()=>i(!0),children:["Show all ",r.toLocaleString()," lines"]})})]})})}function I({content:e}){let s=(0,u.useMemo)(()=>e.split("\n").filter(Boolean).map(e=>{let t=[],s="",n=!1;for(let r=0;r<e.length;r++){let a=e[r];'"'===a?n=!n:","!==a&&" "!==a||n?s+=a:(t.push(s.trim()),s="")}return t.push(s.trim()),t}),[e]);if(0===s.length)return null;let n=s[0],r=s.slice(1);return(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)("div",{className:"mx-auto max-w-6xl p-4",children:(0,t.jsxs)("table",{className:"w-full text-sm border-collapse",children:[(0,t.jsx)("thead",{children:(0,t.jsx)("tr",{children:n.map((e,s)=>(0,t.jsx)("th",{className:"text-left px-3 py-2 border-b-2 border-border font-medium bg-muted/50 whitespace-nowrap",children:e},s))})}),(0,t.jsx)("tbody",{children:r.map((e,s)=>(0,t.jsx)("tr",{className:"hover:bg-muted/30",children:e.map((e,s)=>(0,t.jsx)("td",{className:"px-3 py-1.5 border-b border-border/50 whitespace-nowrap",children:e},s))},s))})]})})})}e.s(["default",0,function({params:m}){let[j,v]=(0,u.useState)(null),[y,N]=(0,u.useState)({kind:"loading"}),[k,C]=(0,u.useState)(""),[_,D]=(0,u.useState)(!1),[I,E]=(0,u.useState)(!1),[L,W]=(0,u.useState)(null),P=(0,u.useMemo)(()=>"content"!==y.kind?"markdown":T(y.filename),[y]),A="markdown"===P,M=["markdown","source","text","csv","html"].includes(P),B=async()=>{if("content"===y.kind)try{await navigator.clipboard.writeText(y.content),W("raw"),setTimeout(()=>W(null),2e3)}catch{}},$=async()=>{if("content"===y.kind)try{let{markdownToHtml:t}=await e.A(299765),s=await t(y.content);"ClipboardItem"in window&&navigator.clipboard.write?await navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([s],{type:"text/html"}),"text/plain":new Blob([y.content],{type:"text/plain"})})]):await navigator.clipboard.writeText(y.content),W("formatted"),setTimeout(()=>W(null),2e3)}catch{}},V=(0,u.useCallback)(e=>{let t=e.filename??"document";"markdown"===T(t)&&g.useEditorStore.setState({currentPath:`shared/${j}/${t}`,content:e.content,frontmatter:null,isLoading:!1,loadStatus:"ok",isDirty:!1,currentRevision:null,saveStatus:"saved"}),N({kind:"content",content:e.content,filename:t,filePath:e.filePath??t,viewCount:e.viewCount??0})},[j]),z=(0,u.useCallback)(async()=>{if(j){N({kind:"loading"});try{let e=await fetch(`/api/share/${j}`),t=await e.json();e.ok&&void 0!==t.content?V(t):401===e.status&&t.protected?N({kind:"password",message:t.message??""}):410===e.status?N({kind:"error",title:"Link unavailable",message:t.message??"This share link is no longer available."}):404===e.status?N({kind:"error",title:"Not found",message:"This share link does not exist."}):N({kind:"error",title:"Error",message:t.message??"Something went wrong. Try again later."})}catch{N({kind:"error",title:"Connection error",message:"Could not reach the server. Check your connection."})}}},[j,V]);(0,u.useEffect)(()=>{m.then(e=>v(e.token))},[m]),(0,u.useEffect)(()=>{j&&z()},[j,z]);let F=async e=>{if(e.preventDefault(),k.trim()&&j){D(!0),E(!1);try{let e=await fetch(`/api/share/${j}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:k.trim()})}),t=await e.json();e.ok&&void 0!==t.content?V(t):403===e.status?(E(!0),N({kind:"password",message:"Incorrect password"})):429===e.status?N({kind:"password",message:"Too many attempts. Try again later."}):N({kind:"error",title:"Error",message:t.message??"Something went wrong."})}catch{N({kind:"error",title:"Connection error",message:"Could not reach the server."})}D(!1)}};return(0,t.jsx)(w.ThemeProvider,{children:(0,t.jsxs)("div",{className:"min-h-screen flex flex-col bg-background text-foreground",children:[(0,t.jsx)("header",{className:"border-b border-border bg-muted/50",children:(0,t.jsx)("div",{className:"mx-auto flex max-w-4xl items-center gap-2 px-4 py-2",children:"content"===y.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-success shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-mono truncate",title:y.filename,children:y.filename})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,t.jsxs)(f.DropdownMenu,{children:[(0,t.jsx)(f.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)(x.Button,{size:"sm",variant:"ghost",className:"h-7 gap-1.5 px-2 text-xs data-[state=open]:bg-transparent",title:"Copy link, raw content, or formatted content",children:["link"===L?(0,t.jsx)(o.Check,{className:"h-3.5 w-3.5 text-success"}):(0,t.jsx)(l.Copy,{className:"h-3.5 w-3.5"}),"Copy",(0,t.jsx)(c.ChevronDown,{className:"h-3 w-3 opacity-60"})]})}),(0,t.jsxs)(f.DropdownMenuContent,{align:"end",className:"w-48",children:[(0,t.jsxs)(f.DropdownMenuItem,{onClick:()=>{if(!j)return;let e=`${window.location.origin}/s/${j}`;navigator.clipboard.writeText(e),W("link"),setTimeout(()=>W(null),2e3)},children:[(0,t.jsx)(d.Link,{className:"mr-2 h-3.5 w-3.5"}),"Copy share link"]}),M&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(f.DropdownMenuSeparator,{}),(0,t.jsxs)(f.DropdownMenuItem,{onClick:B,children:[(0,t.jsx)(i.FileText,{className:"mr-2 h-3.5 w-3.5"}),"Copy raw content"]}),A&&(0,t.jsxs)(f.DropdownMenuItem,{onClick:$,children:[(0,t.jsx)(i.FileText,{className:"mr-2 h-3.5 w-3.5"}),"Copy formatted content"]})]})]})]}),A&&(0,t.jsx)(b,{}),(0,t.jsx)(S,{}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[y.viewCount," view",1!==y.viewCount?"s":""]})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.Eye,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Shared document"})]})})}),"loading"===y.kind&&(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,t.jsx)(a.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}),"password"===y.kind&&(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center px-4",children:(0,t.jsx)(p.Card,{className:"max-w-sm w-full p-6",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center",children:[(0,t.jsx)("div",{className:"rounded-full bg-muted p-3",children:(0,t.jsx)(r.Lock,{className:"h-6 w-6 text-muted-foreground"})}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-base font-medium",children:"Password required"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:y.message||"This document is password-protected."})]}),(0,t.jsxs)("form",{onSubmit:F,className:"w-full space-y-3",children:[(0,t.jsx)(h.Input,{type:"password",placeholder:"Enter password",value:k,onChange:e=>{C(e.target.value),E(!1)},autoFocus:!0}),I&&(0,t.jsxs)("p",{className:"text-xs text-destructive flex items-center gap-1",children:[(0,t.jsx)(s.AlertCircle,{className:"h-3 w-3"}),"Wrong password. Try again."]}),(0,t.jsx)(x.Button,{type:"submit",className:"w-full",disabled:_||!k.trim(),children:_?(0,t.jsx)(a.Loader2,{className:"h-4 w-4 animate-spin"}):"View document"})]})]})})}),"error"===y.kind&&(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 px-4 text-center",children:[(0,t.jsx)("div",{className:"rounded-full bg-muted p-3",children:(0,t.jsx)(s.AlertCircle,{className:"h-6 w-6 text-muted-foreground"})}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-base font-medium",children:y.title}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:y.message})]})]}),"content"===y.kind&&(0,t.jsx)(O,{kind:P,content:y.content,filename:y.filename,token:j}),"content"===y.kind&&(0,t.jsx)("footer",{className:"border-t border-border bg-muted/30",children:(0,t.jsxs)("div",{className:"mx-auto flex max-w-4xl items-center gap-2 px-4 py-2",children:[(0,t.jsx)(i.FileText,{className:"h-3 w-3 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:y.filename})]})})]})})}],670977)},890793,e=>{e.v(t=>Promise.all(["static/chunks/0qiz7kkyaxa93.js","static/chunks/0~fvcxnmv6g_x.js","static/chunks/1674m~gp3w-8h.js","static/chunks/0~ikzdp3hga8n.js","static/chunks/0q0.5-57agpll.js","static/chunks/0q_xpywc4mr6r.js","static/chunks/0rldt2m_ic3fr.js","static/chunks/105.j2~dvdym3.js","static/chunks/0l4qtf8hgz.11.js"].map(t=>e.l(t))).then(()=>t(229414)))},299765,e=>{e.v(e=>Promise.resolve().then(()=>e(797715)))}]);
|
|
Binary file
|
|
@@ -15,7 +15,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
|
15
15
|
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
16
16
|
|
|
17
17
|
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
18
|
-
const nextConfig = {"env":{},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/
|
|
18
|
+
const nextConfig = {"env":{},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/sil/wiki-viewer","allowedDevOrigins":["devvm"],"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":false,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"partialFallbacks":false,"dynamicOnHover":false,"varyParams":false,"prefetchInlining":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/home/sil/wiki-viewer"},"distDirRoot":".next"}
|
|
19
19
|
|
|
20
20
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
21
21
|
|
package/package.json
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},959801,(e,t,r)=>{"use strict";t.exports=e.r(918622)},637142,(e,t,r)=>{"use strict";t.exports=e.r(959801).vendored["react-rsc"].React},186791,(e,t,r)=>{"use strict";var s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>g,ResponseCookies:()=>h,parseCookie:()=>p,parseSetCookie:()=>c,stringifyCookie:()=>d};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function d(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function p(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...s]=p(e),{domain:n,expires:i,httponly:a,maxage:o,path:l,samesite:u,secure:d,partitioned:c,priority:g}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var h,y,b={name:t,value:decodeURIComponent(r),domain:n,...i&&{expires:new Date(i)},...a&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:m.includes(h=(h=u).toLowerCase())?h:void 0},...d&&{secure:!0},...g&&{priority:f.includes(y=(y=g).toLowerCase())?y:void 0},...c&&{partitioned:!0}};let e={};for(let t in b)b[t]&&(e[t]=b[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of i(t))a.call(e,o)||void 0===o||s(e,o,{get:()=>t[o],enumerable:!(r=n(t,o))||r.enumerable});return e})(s({},"__esModule",{value:!0}),o);var m=["strict","lax","none"],f=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of p(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>d(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},h=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const n=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,s,n,i,a=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,i=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(i=!0,o=n,a.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!i||o>=e.length)&&a.push(e.substring(t,e.length))}return a}(n)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(d).join("; ")}}},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},286607,(e,t,r)=>{t.exports=e.x("better-sqlite3",()=>require("better-sqlite3"))},588772,e=>{"use strict";e.s(["DialectAdapterBase",0,class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}}])},733162,e=>{"use strict";var t=e.i(264116);let r=/"/g;class s extends t.DefaultQueryCompiler{visitOrAction(e){this.append("or "),this.append(e.action)}getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}sanitizeIdentifier(e){return e.replace(r,'""')}visitDefaultInsertValue(e){this.append("null")}}e.s(["SqliteQueryCompiler",0,s])},285675,e=>{"use strict";var t=e.i(588772);class r extends t.DialectAdapterBase{get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(e,t){}async releaseMigrationLock(e,t){}}e.s(["SqliteAdapter",0,r])},177730,e=>{"use strict";var t=e.i(563811),r=e.i(560912),s=e.i(877727),n=e.i(429513),i=e.i(169726),a=e.i(547756);let o={postgres:{string:["character varying","varchar","text","uuid"],number:["int4","integer","bigint","smallint","numeric","real","double precision"],boolean:["bool","boolean"],date:["timestamptz","timestamp","date"],json:["json","jsonb"]},mysql:{string:["varchar","text","uuid"],number:["integer","int","bigint","smallint","decimal","float","double"],boolean:["boolean","tinyint"],date:["timestamp","datetime","date"],json:["json"]},sqlite:{string:["TEXT"],number:["INTEGER","REAL"],boolean:["INTEGER","BOOLEAN"],date:["DATE","INTEGER"],json:["TEXT"]},mssql:{string:["varchar","nvarchar","uniqueidentifier"],number:["int","bigint","smallint","decimal","float","double"],boolean:["bit","smallint"],date:["datetime2","date","datetime"],json:["varchar","nvarchar"]}};function l(e,t,r){if("string[]"===t||"number[]"===t)return e.toLowerCase().includes("json");let s=o[r];return(Array.isArray(t)?s.string.map(e=>e.toLowerCase()):s[t].map(e=>e.toLowerCase())).includes(e.toLowerCase().split("(")[0].trim())}async function u(e){try{let t=await a.sql`SHOW search_path`.execute(e),r=t.rows[0]?.search_path??t.rows[0]?.searchPath;if(r)return r.split(",").map(e=>e.trim()).map(e=>e.replace(/^["']|["']$/g,"")).filter(e=>!e.startsWith("$")&&!e.startsWith("\\$"))[0]||"public"}catch{}return"public"}async function d(e){let o=function(e){let r=(0,t.getAuthTables)(e),s={};for(let e in r){let t=r[e],n=t.fields,i={};if(Object.entries(n).forEach(([e,t])=>{if(i[t.fieldName||e]=t,t.references){let s=r[t.references.model];s&&(i[t.fieldName||e].references={...t.references,model:s.modelName,field:t.references.field})}}),s[t.modelName]){s[t.modelName].fields={...s[t.modelName].fields,...i};continue}s[t.modelName]={fields:i,order:t.order||1/0}}return s}(e),d=(0,r.createLogger)(e.logger),{kysely:p,databaseType:c}=await (0,s.createKyselyAdapter)(e);c||(d.warn("Could not determine database type, defaulting to sqlite. Please provide a type in the database options to avoid this."),c="sqlite"),p||(d.error("Only kysely adapter is supported for migrations. You can use `generate` command to generate the schema, if you're using a different adapter."),process.exit(1));let m="public";if("postgres"===c){m=await u(p),d.debug(`PostgreSQL migration: Using schema '${m}' (from search_path)`);try{let e=await a.sql`
|
|
2
|
-
SELECT schema_name
|
|
3
|
-
FROM information_schema.schemata
|
|
4
|
-
WHERE schema_name = ${m}
|
|
5
|
-
`.execute(p);(e.rows[0]?.schema_name??e.rows[0]?.schemaName)||d.warn(`Schema '${m}' does not exist. Tables will be inspected from available schemas. Consider creating the schema first or checking your database configuration.`)}catch(e){d.debug(`Could not verify schema existence: ${e instanceof Error?e.message:String(e)}`)}}let f=await p.introspection.getTables(),g=f;if("postgres"===c)try{let e=await a.sql`
|
|
6
|
-
SELECT table_name
|
|
7
|
-
FROM information_schema.tables
|
|
8
|
-
WHERE table_schema = ${m}
|
|
9
|
-
AND table_type = 'BASE TABLE'
|
|
10
|
-
`.execute(p),t=new Set(e.rows.map(e=>e.table_name??e.tableName));g=f.filter(e=>e.schema===m&&t.has(e.name)),d.debug(`Found ${g.length} table(s) in schema '${m}': ${g.map(e=>e.name).join(", ")||"(none)"}`)}catch(e){d.warn(`Could not filter tables by schema. Using all discovered tables. Error: ${e instanceof Error?e.message:String(e)}`)}let h=[],y=[];for(let[e,t]of Object.entries(o)){let r=g.find(t=>t.name===e);if(!r){let r=h.findIndex(t=>t.table===e),s={table:e,fields:t.fields,order:t.order||1/0},n=h.findIndex(e=>(e.order||1/0)>s.order);-1===n?-1===r?h.push(s):h[r].fields={...h[r].fields,...t.fields}:h.splice(n,0,s);continue}let s={};for(let[n,i]of Object.entries(t.fields)){let t=r.columns.find(e=>e.name===n);if(!t){s[n]=i;continue}l(t.dataType,i.type,c)||d.warn(`Field ${n} in table ${e} has a different type in the database. Expected ${i.type} but got ${t.dataType}.`)}Object.keys(s).length>0&&y.push({table:e,fields:s,order:t.order||1/0})}let b=[],x=e.advanced?.database?.generateId==="uuid",q=e.advanced?.database?.generateId==="serial";function v(e,t){let r=e.type,s=c||"sqlite",n={string:{sqlite:"text",postgres:"text",mysql:e.unique?"varchar(255)":e.references?"varchar(36)":e.sortable||e.index?"varchar(255)":"text",mssql:e.unique||e.sortable?"varchar(255)":e.references?"varchar(36)":"varchar(8000)"},boolean:{sqlite:"integer",postgres:"boolean",mysql:"boolean",mssql:"smallint"},number:{sqlite:e.bigint?"bigint":"integer",postgres:e.bigint?"bigint":"integer",mysql:e.bigint?"bigint":"integer",mssql:e.bigint?"bigint":"integer"},date:{sqlite:"date",postgres:"timestamptz",mysql:"timestamp(3)",mssql:a.sql`datetime2(3)`},json:{sqlite:"text",postgres:"jsonb",mysql:"json",mssql:"varchar(8000)"},id:{postgres:q?a.sql`integer GENERATED BY DEFAULT AS IDENTITY`:x?"uuid":"text",mysql:q?"integer":"varchar(36)",mssql:q?"integer":"varchar(36)",sqlite:q?"integer":"text"},foreignKeyId:{postgres:q?"integer":x?"uuid":"text",mysql:q?"integer":"varchar(36)",mssql:q?"integer":"varchar(36)",sqlite:q?"integer":"text"},"string[]":{sqlite:"text",postgres:"jsonb",mysql:"json",mssql:"varchar(8000)"},"number[]":{sqlite:"text",postgres:"jsonb",mysql:"json",mssql:"varchar(8000)"}};if("id"===t||e.references?.field==="id")return"id"===t?n.id[s]:n.foreignKeyId[s];if(Array.isArray(r))return"text";if(!(r in n))throw Error(`Unsupported field type '${String(r)}' for field '${t}'. Allowed types are: string, number, boolean, date, string[], number[]. If you need to store structured data, store it as a JSON string (type: "string") or split it into primitive fields. See https://better-auth.com/docs/advanced/schema#additional-fields`);return n[r][s]}let _=(0,i.initGetModelName)({schema:(0,t.getAuthTables)(e),usePlural:!1}),A=(0,n.initGetFieldName)({schema:(0,t.getAuthTables)(e),usePlural:!1});function E(e,t){try{return`${_(e)}.${A({model:e,field:t})}`}catch{return`${e}.${t}`}}let T=[];if(y.length)for(let e of y)for(let[t,r]of Object.entries(e.fields)){let s=v(r,t),n=p.schema.alterTable(e.table);if(r.index){let s=`${e.table}_${t}_${r.unique?"uidx":"idx"}`,n=p.schema.createIndex(s).on(e.table).columns([t]);T.push(r.unique?n.unique():n)}let i=n.addColumn(t,s,e=>(e=!1!==r.required?e.notNull():e,r.references&&(e=e.references(E(r.references.model,r.references.field)).onDelete(r.references.onDelete||"cascade")),r.unique&&(e=e.unique()),"date"===r.type&&"function"==typeof r.defaultValue&&("postgres"===c||"mysql"===c||"mssql"===c)&&(e="mysql"===c?e.defaultTo(a.sql`CURRENT_TIMESTAMP(3)`):e.defaultTo(a.sql`CURRENT_TIMESTAMP`)),e));b.push(i)}if(h.length)for(let e of h){let t=v({type:q?"number":"string"},"id"),r=p.schema.createTable(e.table).addColumn("id",t,e=>{if(q)return"postgres"===c?e.primaryKey().notNull():"sqlite"===c?e.primaryKey().notNull():"mssql"===c?e.identity().primaryKey().notNull():e.autoIncrement().primaryKey().notNull();return x&&"postgres"===c?e.primaryKey().defaultTo(a.sql`pg_catalog.gen_random_uuid()`).notNull():e.primaryKey().notNull()});for(let[t,s]of Object.entries(e.fields)){let n=v(s,t);if(r=r.addColumn(t,n,e=>(e=!1!==s.required?e.notNull():e,s.references&&(e=e.references(E(s.references.model,s.references.field)).onDelete(s.references.onDelete||"cascade")),s.unique&&(e=e.unique()),"date"===s.type&&"function"==typeof s.defaultValue&&("postgres"===c||"mysql"===c||"mssql"===c)&&(e="mysql"===c?e.defaultTo(a.sql`CURRENT_TIMESTAMP(3)`):e.defaultTo(a.sql`CURRENT_TIMESTAMP`)),e)),s.index){let r=p.schema.createIndex(`${e.table}_${t}_${s.unique?"uidx":"idx"}`).on(e.table).columns([t]);T.push(s.unique?r.unique():r)}}b.push(r)}for(let e of T)b.push(e);return{toBeCreated:h,toBeAdded:y,runMigrations:async function(){for(let e of b)await e.execute()},compileMigrations:async function(){return b.map(e=>e.compile().sql).join(";\n\n")+";"}}}e.s(["getMigrations",0,d,"matchType",0,l],177730)}];
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__08n~vj1._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[583627,e=>{"use strict";var t=e.i(798003),s=e.i(254226);function r(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function n(e,s){if(s){let e=r();if(e.length>0&&e.includes(s.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function i(){return(await (0,t.readConfig)()).adminUserIds??[]}async function a(e){await (0,t.updateConfig)(t=>{let s=t.adminUserIds??[];return s.includes(e)?t:{...t,adminUserIds:[...s,e]}})}async function o(e){let s=r().length>0,n=!1;if(await (0,t.updateConfig)(t=>{let r=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==r.length||s?{...t,adminUserIds:r}:(n=!0,t)}),n)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function l(e){if(r().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let s=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(s=!0,{...t,adminUserIds:[e]})),s&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function u(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,s.requireUser)(e);return t.ok?await n(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,a,"ensureBootstrapAdmin",0,l,"isAdmin",0,n,"listAdmins",0,i,"removeAdmin",0,o,"requireAdmin",0,u])},874533,(e,t,s)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,s)=>{t.exports=e.x("node:util",()=>require("node:util"))},834938,e=>{"use strict";let t;var s=e.i(874533),r=e.i(812057),n=e.i(912714),i=e.i(750227),a=e.i(660526);let o=(0,r.promisify)(s.execFile),l=/[;|&$`<>(){}\n\r\0]/;function u(){return i.default.join(a.default.homedir(),".wiki-viewer","mounts")}async function c(){if(!0!==t)try{await o("sshfs",["--version"]),t=!0}catch{throw Error("sshfs binary not found. Install sshfs + FUSE (e.g. `apt install sshfs`, `brew install macfuse sshfs`) and ensure it is on PATH.")}}async function d(t){var s;let r=i.default.resolve(t),a=!1;try{a=(await (0,n.readFile)("/proc/mounts","utf8")).split("\n").some(e=>{let t=e.split(" ");return t[1]===r&&/fuse/.test(t[2]??"")})}catch{a=!1}return!!a&&(s=r,new Promise(t=>{let r=!1,n=setTimeout(()=>{r||(r=!0,t(!1))},4e3);e.A(687903).then(({readdir:e})=>e(s)).then(()=>{r||(r=!0,clearTimeout(n),t(!0))}).catch(()=>{r||(r=!0,clearTimeout(n),t(!1))})}))}async function f(e){await c(),await (0,n.mkdir)(e.mountpoint,{recursive:!0});let t=function(e){let{target:t,mountpoint:s,port:r,authMethod:n,keyPath:i,readOnly:a}=e,o=t.user?`${t.user}@`:"",l=[`${o}${t.host}:${t.remotePath}`,s];r&&Number.isInteger(r)&&r>0&&r<65536&&l.push("-p",String(r));let u=["reconnect","ServerAliveInterval=15","ServerAliveCountMax=3","compression=yes","cache=yes","kernel_cache","StrictHostKeyChecking=accept-new","BatchMode=yes"];if(a&&u.push("ro"),"keyfile"===n&&i&&(u.push(`IdentityFile=${i}`),u.push("IdentitiesOnly=yes")),"password"===n){let e=u.indexOf("BatchMode=yes");e>=0&&u.splice(e,1),u.push("password_stdin"),u.push("PreferredAuthentications=password,keyboard-interactive"),u.push("PubkeyAuthentication=no"),u.push("NumberOfPasswordPrompts=1")}return e.extraOptions&&u.push(...e.extraOptions),l.push("-o",u.join(",")),l}(e);if(await new Promise((r,n)=>{let i=(0,s.spawn)("sshfs",t,{stdio:["pipe","ignore","pipe"]}),a="",o=setTimeout(()=>{i.kill("SIGKILL"),n(Error("sshfs mount timed out after 25s."))},25e3);i.stderr?.on("data",e=>{a+=e.toString()}),i.on("error",e=>{clearTimeout(o),n(e.message.includes("ENOENT")?Error("sshfs binary not found on PATH."):e)}),i.on("close",e=>{clearTimeout(o),0===e?r():n(Error(`sshfs exited ${e}: ${a.trim()||"mount failed"}`))}),"password"===e.authMethod&&i.stdin?.write((e.password??"")+"\n"),i.stdin?.end()}),!await d(e.mountpoint))throw Error("sshfs reported success but the mount is not live.")}async function p(e){let t=i.default.resolve(e);for(let[e,s]of[["fusermount",["-u","-z",t]],["umount",[t]]])try{await o(e,s);break}catch{}try{await (0,n.rmdir)(t)}catch{}}e.s(["assertSshfsAvailable",0,c,"isMounted",0,d,"isValidKeyPath",0,function(e){return!(!e||l.test(e)||e.includes(".."))&&(e.startsWith("/")||e.startsWith("~/"))},"mountSshfs",0,f,"mountpointFor",0,function(e){return i.default.join(u(),e)},"mountsDir",0,u,"parseSshTarget",0,function(e){let t;if(!e||l.test(e))return null;let s=e.trim(),r=s.indexOf(":");if(r<=0)return null;let n=s.slice(0,r),i=s.slice(r+1);if(!i.startsWith("/")||i.includes(".."))return null;let a=n,o=n.indexOf("@");return o>=0&&(t=n.slice(0,o),a=n.slice(o+1),!t)?null:a&&/^[a-zA-Z0-9.\-]+$/.test(a)&&(!t||/^[a-zA-Z0-9._\-]+$/.test(t))?{user:t,host:a,remotePath:i}:null},"unmountSshfs",0,p])},504445,e=>{"use strict";var t=e.i(750227);let s=globalThis;!s.__wikiRootDir&&process.env.ROOT_DIR&&(s.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){s.__wikiRootDir=void 0},"getRootDir",0,function(){return s.__wikiRootDir??""},"isRootDirSet",0,function(){return!!s.__wikiRootDir},"setRootDir",0,function(e){s.__wikiRootDir=t.default.resolve(e)}])},660038,e=>{"use strict";var t=e.i(750227),s=e.i(254226),r=e.i(583627),n=e.i(504445),i=e.i(359211);async function a(e){let s;await (0,i.migrateConfigToWorkspaces)();let r=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(r)s=await (0,i.getWorkspace)(r)??null;else{let e=await (0,i.listWorkspaces)();if(0===e.length){let e;s=(e=(0,n.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}else s=e.slice().sort((e,t)=>{let s=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,r=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return r!==s?r-s:e.id<t.id?-1:+(e.id>t.id)})[0]}return s?.ssh&&await (0,i.ensureWorkspaceMounted)(s),s}async function o(e,t="read"){if("1"===process.env.WIKI_NO_AUTH){let s=await a(e);return s?"write"===t&&s.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:s,rootDir:s.rootDir,userId:"local",isAdmin:!0}:{ok:!1,status:400,code:"WORKSPACE_REQUIRED"}}let n=await (0,s.requireUser)(e);if(!n.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let l=await (0,r.isAdmin)(n.user.id,n.user.email),u=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,c=await a(e);return c?(0,i.userCanAccess)(c,n.user.id,l)?"write"===t&&c.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:c,rootDir:c.rootDir,userId:n.user.id,isAdmin:l}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}:{ok:!1,status:u?404:400,code:u?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function l(e,t="read"){let s=await a(e);if(!s){let t=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;return{ok:!1,status:t?404:400,code:t?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}return"write"===t&&s.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:s,rootDir:s.rootDir}}e.s(["resolveWorkspaceForAgent",0,l,"resolveWorkspaceForUser",0,o])},857764,(e,t,s)=>{t.exports=e.x("node:url",()=>require("node:url"))},59639,(e,t,s)=>{t.exports=e.x("node:process",()=>require("node:process"))},462711,651212,316552,e=>{"use strict";var t=e.i(750227);e.s(["minpath",()=>t.default],462711);var s=e.i(59639);e.s(["minproc",()=>s.default],651212);var r=e.i(857764);e.s(["urlToPath",()=>r.fileURLToPath],316552)},794776,e=>{"use strict";let t,s=Number.isFinite(t=parseInt(process.env.AGENT_RATE_LIMIT??"",10))&&t>0?t:60;e.s(["OPS_PER_MINUTE",0,s,"SIDECAR_EVENT_TRIM_SIZE",0,1e3,"SIDECAR_TRIM_EVERY_N_MUTATIONS",0,100])},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},224361,(e,t,s)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,s)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,s)=>{t.exports=e.x("events",()=>require("events"))},228064,e=>{"use strict";var t=e.i(666680),s=e.i(912714),r=e.i(660526),n=e.i(750227),i=e.i(832852);let a="__registry__",o=new Map;function l(){let e=process.env.HOME??r.default.homedir();return n.default.join(e,".wiki-viewer")}function u(){return n.default.join(l(),"agents.json")}function c(e){return(0,t.createHash)("sha256").update(e,"utf8").digest("hex")}async function d(){try{let e=await (0,s.readFile)(u(),"utf8"),t=JSON.parse(e);return{version:1,agents:Array.isArray(t.agents)?t.agents:[]}}catch{return null}}async function f(e){await (0,s.mkdir)(l(),{recursive:!0});let t=u()+".tmp";await (0,s.writeFile)(t,JSON.stringify(e,null,2),{encoding:"utf8",mode:384});try{await (0,s.chmod)(t,384)}catch{}await (0,s.rename)(t,u())}async function p(){let e=await d();if(e)return e;let t={version:1,agents:[]};return await f(t),t}async function h(e){let s=await d();if(!s)return null;let r=c(e);for(let e of s.agents)if(function(e,s){let r=Buffer.from(e.padEnd(64,"0"),"utf8"),n=Buffer.from(s.padEnd(64,"0"),"utf8");return r.length===n.length&&(0,t.timingSafeEqual)(r,n)&&e.length===s.length}(e.tokenHash,r))return e;return null}async function m(e){await (0,i.withFileMutex)(a,async()=>{let t=await p(),s=t.agents.findIndex(t=>t.id===e.id);s>=0?t.agents[s]=e:t.agents.push(e),await f(t)})}async function g(e){return(0,i.withFileMutex)(a,async()=>{let t=await d();if(!t)return!1;let s=t.agents.length;return t.agents=t.agents.filter(t=>t.id!==e),t.agents.length!==s&&(await f(t),!0)})}async function w(e){Date.now()-(o.get(e)??0)<3e4||await (0,i.withFileMutex)(a,async()=>{let t=await d();if(!t)return;let s=t.agents.find(t=>t.id===e);s&&(s.lastSeen=new Date().toISOString(),o.set(e,Date.now()),await f(t))})}e.s(["addAgent",0,m,"hashToken",0,c,"lookupAgentByToken",0,h,"readRegistry",0,d,"removeAgent",0,g,"updateLastSeen",0,w])},215043,552350,e=>{"use strict";var t=e.i(228064);function s(e,t){return(function(e){let t="^",s=0;for(;s<e.length;)"*"===e[s]&&"*"===e[s+1]?(t+=".*","/"===e[s+=2]&&(t+="(?:.+/)?",s++)):("*"===e[s]?t+="[^/]*":"?"===e[s]?t+="[^/]":t+=e[s].replace(/[.+^${}()|[\]\\]/g,"\\$&"),s++);return new RegExp(t+="$")})(e).test(t)}e.s(["matchGlob",0,s],552350);var r=e.i(254226);async function n(e){let s=await (0,r.getSessionFromRequest)(e);if(s?.user){let e=s.user;return{ok:!0,agent:{id:`user:${e.id}`,displayName:e.name,tokenHash:"",scope:{paths:["**/*"],ops:["read","mutate","delete"]},createdAt:"",lastSeen:""}}}let n=e.headers.get("authorization")??"",i=n.startsWith("Bearer ")?n.slice(7).trim():"";if(!i)return{ok:!1,code:"UNAUTHORIZED",message:"No credentials"};let a=await (0,t.lookupAgentByToken)(i);if(!a)return{ok:!1,code:"UNAUTHORIZED",message:"Unknown or invalid token"};let o=e.headers.get("x-agent-id")??"";return o?o!==a.id?{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id does not match token owner"}:((0,t.updateLastSeen)(a.id),{ok:!0,agent:a}):{ok:!1,code:"UNAUTHORIZED",message:"X-Agent-Id header required"}}process.env.AGENT_BEARER_TOKEN&&console.warn("[wiki-viewer] AGENT_BEARER_TOKEN is no longer used; manage agents via the AI Panel."),e.s(["checkAuth",0,n,"enforceScope",0,function(e,t){let{scope:r}=e;return void 0!==r.workspaceId&&void 0!==t.workspaceId&&r.workspaceId!==t.workspaceId?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover workspace "${t.workspaceId}" (granted: "${r.workspaceId}")`}:r.ops.includes(t.op)?t.filePath&&!r.paths.some(e=>s(e,t.filePath))?{ok:!1,code:"FORBIDDEN",message:`Agent scope does not cover path "${t.filePath}"`}:{ok:!0}:{ok:!1,code:"FORBIDDEN",message:`Agent scope does not allow "${t.op}"`}},"verifyBy",0,function(e,t){return e.id.startsWith("user:")?!t||"owner"===t||"human"===t||t.startsWith("human:")||t===e.id?{ok:!0}:{ok:!1,code:"FORBIDDEN",message:'User agent must use "human", "owner", or own id in "by" field'}:t!==e.id?{ok:!1,code:"FORBIDDEN",message:`"by" field must equal agent id "${e.id}"`}:{ok:!0}}],215043)},973909,e=>{"use strict";var t=e.i(912714),s=e.i(750227);function r(e,t){return s.default.join(e,".proof",t+".json")}async function n(e,s){let n=r(e,s);try{let e=await (0,t.readFile)(n,"utf-8"),s=JSON.parse(e);if(1!==s.schemaVersion)throw Error(`Sidecar schema version mismatch: expected 1, got ${s.schemaVersion}`);return s}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return null;throw e}}async function i(e,n,i){let a=r(e,n);await (0,t.mkdir)(s.default.dirname(a),{recursive:!0});let o=a+".tmp";await (0,t.writeFile)(o,JSON.stringify(i,null,2),"utf-8"),await (0,t.rename)(o,a)}async function a(e,n,i){let a=r(e,n),o=r(e,i);try{await (0,t.mkdir)(s.default.dirname(o),{recursive:!0}),await (0,t.rename)(a,o)}catch(e){if("ENOENT"===e.code)return;throw e}}async function o(e,s){let n=r(e,s);try{await (0,t.unlink)(n)}catch(e){if("ENOENT"===e.code)return;throw e}}e.s(["deleteSidecar",0,o,"emptySidecar",0,function(e){let t=new Date().toISOString();return{schemaVersion:1,path:e,revision:0,createdAt:t,updatedAt:t,refMap:{},refAliases:{},comments:[],suggestions:[],archivedSuggestions:[],events:[],nextEventId:1,lastAck:{},fingerprint:"",blockProvenance:{}}},"moveSidecar",0,a,"readSidecar",0,n,"writeSidecar",0,i])},307764,e=>{"use strict";e.s(["emitEvents",0,function(e,t){let s=[];for(let r of t){let t={...r,id:e.nextEventId++};e.events.push(t),s.push(t)}return s},"pollEvents",0,function(e,t,s){return e.events.filter(e=>e.id>t).slice(0,s)},"trimEvents",0,function(e,t){if(e.events.length<=t)return;let s=Object.values(e.lastAck),r=s.length>0?Math.min(...s):1/0,n=e.events.length-t,i=e.events.filter((e,t)=>t>=n||e.id>r);e.events=i}])},850948,e=>{"use strict";function t(e){return e.replace(/&/g,"&").replace(/"/g,""")}e.s(["newSpanId",0,function(){let e=Math.floor(65535*Math.random()).toString(16).padStart(4,"0");return`p${e}`},"revertProofSpan",0,function(e,t){let s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=RegExp(`<proof-span\\b[^>]*\\bid="${s}"[^>]*>[\\s\\S]*?<\\/proof-span>`,"g");return e.replace(r,"")},"wrapAsProofSpan",0,function(e,s){let r,n=(r=[`id="${t(s.spanId)}"`,`origin="${s.origin}"`],s.basis&&r.push(`basis="${t(s.basis)}"`),s.basisDetail&&r.push(`basis-detail="${t(s.basisDetail)}"`),r.push(`by="${t(s.by)}"`),r.push(`at="${t(s.at)}"`),s.inResponseTo&&r.push(`in-response-to="${t(s.inResponseTo)}"`),r.join(" ")),i=e.trim();if(i.startsWith("```")||i.startsWith("~~~")||i.startsWith("<")&&!i.startsWith("<proof-span")||/^[-*_]{3,}\s*$/.test(i))return null;let a=i.split("\n")[0];if(a.includes("|")&&/^\|.*\|/.test(a))return null;let o=i.match(/^(#{1,6})\s+(.+)$/);if(o){let e=o[1],t=o[2].trimEnd();return`${e} <proof-span ${n}>${t}</proof-span>`}return i.startsWith(">")?i.split("\n").map(e=>{let t=e.match(/^(>\s?)(.*)/);if(!t)return e;let s=t[1],r=t[2];return r.trim()?`${s}<proof-span ${n}>${r}</proof-span>`:e}).join("\n"):/^(\s*(?:[-*+]|\d+\.)\s+(?:\[[ xX]\]\s+)?)(.*)/.test(i.split("\n")[0])?i.split("\n").map(e=>{let t=e.match(/^(\s*(?:[-*+]|\d+\.)\s+(?:\[[ xX]\]\s+)?)(.*)/);if(!t)return e;let s=t[1],r=t[2];return r.trim()?`${s}<proof-span ${n}>${r}</proof-span>`:e}).join("\n"):`<proof-span ${n}>${i}</proof-span>`}])},517387,e=>{"use strict";var t=e.i(794776);let s=new Map;e.s(["checkAndConsume",0,function(e,r=1){let n=Date.now(),i=t.OPS_PER_MINUTE,a=s.get(e);a||(a={tokens:i,lastRefill:n},s.set(e,a));let o=Math.floor((n-a.lastRefill)/1e3);return(o>0&&(a.tokens=Math.min(i,a.tokens+o),a.lastRefill=a.lastRefill+1e3*o),a.tokens<r)?{ok:!1,retryAfterMs:Math.max(1,1e3*(r-a.tokens)-(n-a.lastRefill))}:(a.tokens-=r,{ok:!0})}])},889264,e=>{"use strict";let t=globalThis;function s(){return t.__wikiLeaseStore}function r(e,t){return`${e}\u0000${t}`}function n(e,t){let n=s(),i=r(e,t),a=n.leases.get(i);return!!a&&(!(Date.now()>=a.expiresAt)||(n.leases.delete(i),n.generations.set(i,(n.generations.get(i)??0)+1),!1))}t.__wikiLeaseStore||(t.__wikiLeaseStore={leases:new Map,generations:new Map}),e.s(["clearLease",0,function(e,t,n){let i=s(),a=r(e,t),o=i.leases.get(a);o&&o.userId===n&&(i.leases.delete(a),i.generations.set(a,(i.generations.get(a)??0)+1))},"hasActiveLease",0,function(e,t){return n(e,t)},"leaseGeneration",0,function(e,t){let n=r(e,t);return s().generations.get(n)??0},"setLease",0,function(e,t,i,a=9e4){let o=s(),l=r(e,t),u=n(e,t);o.leases.set(l,{userId:i,expiresAt:Date.now()+a}),u||o.generations.set(l,(o.generations.get(l)??0)+1)}])},400053,e=>{"use strict";var t=e.i(973909),s=e.i(889264);async function r(e,r){if(!(r.endsWith(".md")||r.endsWith(".markdown")))return{state:"not-markdown",revision:0,snapshotUrl:null};let n=`/api/agent/files/${r}`,i=await (0,t.readSidecar)(e,r),a=(0,s.leaseGeneration)(e,r),o=(i?.revision??0)+a,l=(0,s.hasActiveLease)(e,r);if(!i&&!l)return{state:"untracked",revision:o,snapshotUrl:n};if(l)return{state:"active",revision:o,snapshotUrl:n};let u=i.suggestions.filter(e=>"pending"===e.status&&!e.stale).length,c=i.comments.filter(e=>!e.resolved).length,d=Object.keys(i.blockProvenance??{}).length;return u>0||c>0||d>0?{state:"active",revision:o,snapshotUrl:n}:{state:"tracked",revision:o,snapshotUrl:n}}e.s(["computeCollabState",0,r])},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0d7zxm_._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0m6r9ip._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[583627,e=>{"use strict";var t=e.i(798003),s=e.i(254226);function r(){return(process.env.WIKI_ADMIN_EMAILS??"").split(",").map(e=>e.trim().toLowerCase()).filter(Boolean)}async function i(e,s){if(s){let e=r();if(e.length>0&&e.includes(s.toLowerCase()))return!0}return((await (0,t.readConfig)()).adminUserIds??[]).includes(e)}async function n(){return(await (0,t.readConfig)()).adminUserIds??[]}async function o(e){await (0,t.updateConfig)(t=>{let s=t.adminUserIds??[];return s.includes(e)?t:{...t,adminUserIds:[...s,e]}})}async function a(e){let s=r().length>0,i=!1;if(await (0,t.updateConfig)(t=>{let r=(t.adminUserIds??[]).filter(t=>t!==e);return 0!==r.length||s?{...t,adminUserIds:r}:(i=!0,t)}),i)throw Error("LAST_ADMIN: cannot remove the last admin with no WIKI_ADMIN_EMAILS configured")}async function u(e){if(r().length>0||((await (0,t.readConfig)()).adminUserIds??[]).length>0)return;let s=!1;await (0,t.updateConfig)(t=>(t.adminUserIds??[]).length>0?t:(s=!0,{...t,adminUserIds:[e]})),s&&console.log(`[wiki-viewer] Bootstrap: first user ${e} promoted to admin`)}async function l(e){if("1"===process.env.WIKI_NO_AUTH)return{ok:!0,user:{id:"local",email:"local@localhost",name:"local"}};let t=await (0,s.requireUser)(e);return t.ok?await i(t.user.id,t.user.email)?{ok:!0,user:t.user}:{ok:!1,status:403,code:"ADMIN_REQUIRED"}:{ok:!1,status:401,code:"UNAUTHORIZED"}}e.s(["addAdmin",0,o,"ensureBootstrapAdmin",0,u,"isAdmin",0,i,"listAdmins",0,n,"removeAdmin",0,a,"requireAdmin",0,l])},874533,(e,t,s)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,s)=>{t.exports=e.x("node:util",()=>require("node:util"))},834938,e=>{"use strict";let t;var s=e.i(874533),r=e.i(812057),i=e.i(912714),n=e.i(750227),o=e.i(660526);let a=(0,r.promisify)(s.execFile),u=/[;|&$`<>(){}\n\r\0]/;function l(){return n.default.join(o.default.homedir(),".wiki-viewer","mounts")}async function d(){if(!0!==t)try{await a("sshfs",["--version"]),t=!0}catch{throw Error("sshfs binary not found. Install sshfs + FUSE (e.g. `apt install sshfs`, `brew install macfuse sshfs`) and ensure it is on PATH.")}}async function c(t){var s;let r=n.default.resolve(t),o=!1;try{o=(await (0,i.readFile)("/proc/mounts","utf8")).split("\n").some(e=>{let t=e.split(" ");return t[1]===r&&/fuse/.test(t[2]??"")})}catch{o=!1}return!!o&&(s=r,new Promise(t=>{let r=!1,i=setTimeout(()=>{r||(r=!0,t(!1))},4e3);e.A(687903).then(({readdir:e})=>e(s)).then(()=>{r||(r=!0,clearTimeout(i),t(!0))}).catch(()=>{r||(r=!0,clearTimeout(i),t(!1))})}))}async function m(e){await d(),await (0,i.mkdir)(e.mountpoint,{recursive:!0});let t=function(e){let{target:t,mountpoint:s,port:r,authMethod:i,keyPath:n,readOnly:o}=e,a=t.user?`${t.user}@`:"",u=[`${a}${t.host}:${t.remotePath}`,s];r&&Number.isInteger(r)&&r>0&&r<65536&&u.push("-p",String(r));let l=["reconnect","ServerAliveInterval=15","ServerAliveCountMax=3","compression=yes","cache=yes","kernel_cache","StrictHostKeyChecking=accept-new","BatchMode=yes"];if(o&&l.push("ro"),"keyfile"===i&&n&&(l.push(`IdentityFile=${n}`),l.push("IdentitiesOnly=yes")),"password"===i){let e=l.indexOf("BatchMode=yes");e>=0&&l.splice(e,1),l.push("password_stdin"),l.push("PreferredAuthentications=password,keyboard-interactive"),l.push("PubkeyAuthentication=no"),l.push("NumberOfPasswordPrompts=1")}return e.extraOptions&&l.push(...e.extraOptions),u.push("-o",l.join(",")),u}(e);if(await new Promise((r,i)=>{let n=(0,s.spawn)("sshfs",t,{stdio:["pipe","ignore","pipe"]}),o="",a=setTimeout(()=>{n.kill("SIGKILL"),i(Error("sshfs mount timed out after 25s."))},25e3);n.stderr?.on("data",e=>{o+=e.toString()}),n.on("error",e=>{clearTimeout(a),i(e.message.includes("ENOENT")?Error("sshfs binary not found on PATH."):e)}),n.on("close",e=>{clearTimeout(a),0===e?r():i(Error(`sshfs exited ${e}: ${o.trim()||"mount failed"}`))}),"password"===e.authMethod&&n.stdin?.write((e.password??"")+"\n"),n.stdin?.end()}),!await c(e.mountpoint))throw Error("sshfs reported success but the mount is not live.")}async function h(e){let t=n.default.resolve(e);for(let[e,s]of[["fusermount",["-u","-z",t]],["umount",[t]]])try{await a(e,s);break}catch{}try{await (0,i.rmdir)(t)}catch{}}e.s(["assertSshfsAvailable",0,d,"isMounted",0,c,"isValidKeyPath",0,function(e){return!(!e||u.test(e)||e.includes(".."))&&(e.startsWith("/")||e.startsWith("~/"))},"mountSshfs",0,m,"mountpointFor",0,function(e){return n.default.join(l(),e)},"mountsDir",0,l,"parseSshTarget",0,function(e){let t;if(!e||u.test(e))return null;let s=e.trim(),r=s.indexOf(":");if(r<=0)return null;let i=s.slice(0,r),n=s.slice(r+1);if(!n.startsWith("/")||n.includes(".."))return null;let o=i,a=i.indexOf("@");return a>=0&&(t=i.slice(0,a),o=i.slice(a+1),!t)?null:o&&/^[a-zA-Z0-9.\-]+$/.test(o)&&(!t||/^[a-zA-Z0-9._\-]+$/.test(t))?{user:t,host:o,remotePath:n}:null},"unmountSshfs",0,h])},504445,e=>{"use strict";var t=e.i(750227);let s=globalThis;!s.__wikiRootDir&&process.env.ROOT_DIR&&(s.__wikiRootDir=t.default.resolve(process.env.ROOT_DIR)),e.s(["clearRootDir",0,function(){s.__wikiRootDir=void 0},"getRootDir",0,function(){return s.__wikiRootDir??""},"isRootDirSet",0,function(){return!!s.__wikiRootDir},"setRootDir",0,function(e){s.__wikiRootDir=t.default.resolve(e)}])},660038,e=>{"use strict";var t=e.i(750227),s=e.i(254226),r=e.i(583627),i=e.i(504445),n=e.i(359211);async function o(e){let s;await (0,n.migrateConfigToWorkspaces)();let r=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;if(r)s=await (0,n.getWorkspace)(r)??null;else{let e=await (0,n.listWorkspaces)();if(0===e.length){let e;s=(e=(0,i.getRootDir)())?{id:"ws_default",name:t.default.basename(e)||"workspace",rootDir:e,createdAt:new Date(0).toISOString()}:null}else s=e.slice().sort((e,t)=>{let s=e.lastOpenedAt?new Date(e.lastOpenedAt).getTime():0,r=t.lastOpenedAt?new Date(t.lastOpenedAt).getTime():0;return r!==s?r-s:e.id<t.id?-1:+(e.id>t.id)})[0]}return s?.ssh&&await (0,n.ensureWorkspaceMounted)(s),s}async function a(e,t="read"){if("1"===process.env.WIKI_NO_AUTH){let s=await o(e);return s?"write"===t&&s.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:s,rootDir:s.rootDir,userId:"local",isAdmin:!0}:{ok:!1,status:400,code:"WORKSPACE_REQUIRED"}}let i=await (0,s.requireUser)(e);if(!i.ok)return{ok:!1,status:401,code:"UNAUTHORIZED"};let u=await (0,r.isAdmin)(i.user.id,i.user.email),l=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null,d=await o(e);return d?(0,n.userCanAccess)(d,i.user.id,u)?"write"===t&&d.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:d,rootDir:d.rootDir,userId:i.user.id,isAdmin:u}:{ok:!1,status:403,code:"WORKSPACE_FORBIDDEN"}:{ok:!1,status:l?404:400,code:l?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}async function u(e,t="read"){let s=await o(e);if(!s){let t=new URL(e.url).searchParams.get("ws")??e.headers.get("x-workspace")??null;return{ok:!1,status:t?404:400,code:t?"WORKSPACE_NOT_FOUND":"WORKSPACE_REQUIRED"}}return"write"===t&&s.readOnly?{ok:!1,status:403,code:"WORKSPACE_READ_ONLY"}:{ok:!0,ws:s,rootDir:s.rootDir}}e.s(["resolveWorkspaceForAgent",0,u,"resolveWorkspaceForUser",0,a])},224361,(e,t,s)=>{t.exports=e.x("util",()=>require("util"))},688947,(e,t,s)=>{t.exports=e.x("stream",()=>require("stream"))},427699,(e,t,s)=>{t.exports=e.x("events",()=>require("events"))},81111,(e,t,s)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},500874,(e,t,s)=>{t.exports=e.x("buffer",()=>require("buffer"))},168315,e=>{e.v(t=>Promise.all(["server/chunks/0sag_@better-auth_memory-adapter_dist_index_mjs_0pvj6im._.js"].map(t=>e.l(t))).then(()=>t(862112)))},317691,e=>{e.v(t=>Promise.all(["server/chunks/0dhv_better-auth_dist_adapters_kysely-adapter_index_mjs_0t4t4z8._.js"].map(t=>e.l(t))).then(()=>t(833412)))},580632,e=>{e.v(e=>Promise.resolve().then(()=>e(270406)))},947559,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_bun-sqlite-dialect-DzNwOpKv_mjs_0z1z6m4._.js"].map(t=>e.l(t))).then(()=>t(495181)))},715018,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_node-sqlite-dialect_mjs_0qqlvhl._.js"].map(t=>e.l(t))).then(()=>t(698370)))},146843,e=>{e.v(t=>Promise.all(["server/chunks/0ugq_@better-auth_kysely-adapter_dist_d1-sqlite-dialect-C2B7YsIT_mjs_0wynrz3._.js"].map(t=>e.l(t))).then(()=>t(143740)))},84040,e=>{e.v(t=>Promise.all(["server/chunks/0p91_next_0h94sj1._.js"].map(t=>e.l(t))).then(()=>t(815068)))},427669,e=>{e.v(e=>Promise.resolve().then(()=>e(177730)))},687903,e=>{e.v(e=>Promise.resolve().then(()=>e(912714)))},754121,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__068ni_k._.js","server/chunks/src_lib_search_0ymmp0c._.js"].map(t=>e.l(t))).then(()=>t(437856)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0sfrx~.._.js.map
|