ompchamber 0.3.0 → 0.5.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/README.md +17 -10
- package/dist/client/index.html +1 -1
- package/dist/client/static/css/index.5291f58223.css +2 -0
- package/dist/client/static/js/async/{1k.544adbf77d.js → 1k.5974df3b87.js} +2 -2
- package/dist/client/static/js/async/3j.357c80ff38.js +2 -0
- package/dist/client/static/js/async/{3y.22075aa079.js → 3y.ededeebde8.js} +5 -5
- package/dist/client/static/js/async/51.95bcae98af.js +2 -0
- package/dist/client/static/js/async/6.f034c9b528.js +1 -0
- package/dist/client/static/js/async/a.e05da304c8.js +10 -0
- package/dist/client/static/js/async/ar.1e14da5588.js +1 -0
- package/dist/client/static/js/async/ct.b74928f7a3.js +1 -0
- package/dist/client/static/js/async/dc.6dc4b0a04b.js +2 -0
- package/dist/client/static/js/async/fw.6a51998a8e.js +6 -0
- package/dist/client/static/js/async/g.7a4bbd4798.js +2 -0
- package/dist/client/static/js/async/g.7a4bbd4798.js.LICENSE.txt +11 -0
- package/dist/client/static/js/async/{k.e878dd350f.js → k.7466330d1a.js} +2 -2
- package/dist/client/static/js/async/katex-vendor.de6a87c308.js +1 -0
- package/dist/client/static/js/async/kc.bbdb35b771.js +1 -0
- package/dist/client/static/js/async/l6.c56640c205.js +1 -0
- package/dist/client/static/js/async/{m.3fc017a055.js → m.4b29d34f93.js} +3 -3
- package/dist/client/static/js/async/{og.ae7acf03ac.js → og.634fba99ac.js} +2 -2
- package/dist/client/static/js/async/q.7fb4d2f374.js +21 -0
- package/dist/client/static/js/async/rd.cb6bf495bb.js +2 -0
- package/dist/client/static/js/async/rf.d626afc367.js +2 -0
- package/dist/client/static/js/async/s.413c2a4683.js +2 -0
- package/dist/client/static/js/async/s.413c2a4683.js.LICENSE.txt +6 -0
- package/dist/client/static/js/async/sy.d16be843a7.js +94 -0
- package/dist/client/static/js/async/t.cb3fcf8615.js +1 -0
- package/dist/client/static/js/async/ud.3065bfee31.js +2 -0
- package/dist/client/static/js/async/uf.46ad6209fa.js +2 -0
- package/dist/client/static/js/async/uf.46ad6209fa.js.LICENSE.txt +6 -0
- package/dist/client/static/js/async/v.7d28d3c241.js +34 -0
- package/dist/client/static/js/async/v0.394ed37c6b.js +2 -0
- package/dist/client/static/js/async/v0.394ed37c6b.js.LICENSE.txt +6 -0
- package/dist/client/static/js/async/vt.42416b707d.js +1 -0
- package/dist/client/static/js/async/vy.bbe114c4e0.js +2 -0
- package/dist/client/static/js/async/vy.bbe114c4e0.js.LICENSE.txt +6 -0
- package/dist/client/static/js/async/xw.ae67ba06fd.js +31 -0
- package/dist/client/static/js/async/xw.ae67ba06fd.js.LICENSE.txt +4 -0
- package/dist/client/static/js/async/yg.35bebd6d0c.js +149 -0
- package/dist/client/static/js/async/yv.2fa22f009a.js +1 -0
- package/dist/client/static/js/index.0ac93ee878.js +33 -0
- package/dist/client/static/js/index.0ac93ee878.js.LICENSE.txt +4 -0
- package/dist/client/static/js/{markdown-vendor.9da142c67b.js → markdown-vendor.71e43278b3.js} +1 -1
- package/dist/client/static/js/uy.5f791144ce.js +139 -0
- package/package.json +2 -2
- package/src/cli/lib/args.js +1 -0
- package/src/cli/lib/commands/serve.js +7 -0
- package/src/client/App.tsx +22 -5
- package/src/client/components/common/MarkdownRenderer.tsx +36 -0
- package/src/client/components/layout/desktop-layout/index.tsx +1 -1
- package/src/client/components/layout/session-sidebar/Modals.tsx +1 -1
- package/src/client/components/mobile/LayoutWrapper.tsx +1 -1
- package/src/client/components/settings/LazyModal.tsx +46 -0
- package/src/client/components/settings/Modal.tsx +1 -1
- package/src/client/components/workspace/chat-timeline/EmptyWorkspacePrompt.tsx +43 -29
- package/src/client/components/workspace/chat-timeline/MessageItem.tsx +15 -69
- package/src/client/components/workspace/chat-timeline/MessageList.tsx +47 -66
- package/src/client/components/workspace/chat-timeline/RunFooter.tsx +60 -0
- package/src/client/components/workspace/chat-timeline/SubagentView.tsx +37 -21
- package/src/client/components/workspace/chat-timeline/ToolCallCard.tsx +22 -4
- package/src/client/components/workspace/chat-timeline/index.tsx +3 -6
- package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Edit.tsx +15 -19
- package/src/client/components/workspace/chat-timeline/tool-renderers/shared/EnvelopeHeader.tsx +46 -0
- package/src/client/components/workspace/chat-timeline/tool-renderers/shared/FallbackOutput.tsx +18 -68
- package/src/client/components/workspace/file-explorer/TreeItem.tsx +16 -4
- package/src/client/components/workspace/file-explorer/index.tsx +6 -0
- package/src/client/data/models/catalog.ts +8 -0
- package/src/client/data/samples/dialogue-session.ts +1 -1
- package/src/client/data/samples/sample-tools/other.ts +1 -1
- package/src/client/hooks/chat/omp/index.ts +9 -10
- package/src/client/hooks/chat/omp/revalidation-throttle.ts +6 -5
- package/src/client/hooks/chat/timeline/actions.ts +1 -2
- package/src/client/hooks/chat/timeline/index.ts +5 -0
- package/src/client/hooks/chat/timeline/send.ts +2 -3
- package/src/client/hooks/chat/timeline/session-load.ts +3 -4
- package/src/client/hooks/ui/syntax-ready.ts +16 -3
- package/src/client/main.tsx +2 -5
- package/src/client/stubs/elkjs.ts +37 -0
- package/src/client/tailwind.css +10 -0
- package/src/server/index.ts +53 -0
- package/src/server/lib/fs/git-ignore.ts +49 -0
- package/src/server/lib/models/provider-registry.server.ts +44 -20
- package/src/server/lib/omp/core/cli.ts +3 -2
- package/src/server/lib/omp/core/startup.ts +64 -0
- package/src/server/lib/omp/rpc/constants.ts +10 -0
- package/src/server/lib/omp/rpc/lifecycle.test.ts +138 -0
- package/src/server/lib/omp/rpc/manager.ts +32 -4
- package/src/server/lib/omp/rpc/process.ts +1 -1
- package/src/server/lib/omp/rpc/session-commands.ts +32 -9
- package/src/server/lib/omp/rpc/session-registry.ts +3 -2
- package/src/server/lib/omp/rpc/subagent-liveness.test.ts +62 -0
- package/src/server/lib/omp/rpc/subagent-liveness.ts +100 -0
- package/src/server/lib/omp/session/messages.test.ts +112 -0
- package/src/server/lib/omp/session/messages.ts +6 -5
- package/src/server/mock.server.ts +6 -12
- package/src/server/routes/agent/command.ts +34 -16
- package/src/server/routes/chat/stream.ts +13 -30
- package/src/server/routes/fs/read.ts +15 -7
- package/src/server/routes/models/root.ts +5 -1
- package/src/shared/lib/chat/notice-row.test.ts +89 -0
- package/src/shared/lib/chat/notice-row.ts +78 -0
- package/src/shared/lib/chat/omp/abort.ts +41 -0
- package/src/shared/lib/chat/stream-service.ts +0 -76
- package/src/shared/lib/chat/timeline/omp-callbacks.test.ts +154 -0
- package/src/shared/lib/chat/timeline/omp-callbacks.ts +36 -7
- package/src/shared/lib/chat/timeline/run-footer.test.ts +84 -0
- package/src/shared/lib/chat/timeline/run-footer.ts +96 -0
- package/src/shared/lib/chat/tool-output.test.ts +91 -0
- package/src/shared/lib/chat/tool-output.ts +54 -0
- package/src/shared/lib/chat/xml-envelope.ts +158 -0
- package/src/shared/lib/code/highlighter-lazy.ts +106 -0
- package/src/shared/lib/code/highlighter.ts +31 -52
- package/src/shared/lib/code/syntax-highlight.test.ts +36 -1
- package/src/shared/lib/code/syntax-highlight.ts +17 -3
- package/src/shared/lib/format/time.ts +19 -0
- package/src/shared/lib/fs/paths.ts +19 -0
- package/src/shared/lib/markdown/fira-code-fonts.css +51 -0
- package/src/shared/lib/markdown/katex-fonts.css +20 -0
- package/src/shared/lib/markdown/katex.ts +101 -0
- package/src/shared/lib/markdown/marked.ts +23 -14
- package/src/shared/lib/markdown/math.test.ts +109 -0
- package/src/shared/lib/markdown/mermaid.ts +6 -0
- package/src/shared/lib/markdown/sanitize.ts +48 -2
- package/src/shared/lib/omp/session/mapper.ts +11 -3
- package/src/shared/lib/omp/session/messages-map.ts +12 -12
- package/src/shared/types/chat.ts +3 -1
- package/src/shared/types/fs.ts +3 -0
- package/dist/client/static/css/g.f36aa429fa.css +0 -1
- package/dist/client/static/css/index.a0f07455bd.css +0 -2
- package/dist/client/static/css/katex-vendor.ca3a0600e8.css +0 -1
- package/dist/client/static/font/KaTeX_AMS-Regular.1608a09b4a.woff +0 -0
- package/dist/client/static/font/KaTeX_AMS-Regular.4aafdb685c.ttf +0 -0
- package/dist/client/static/font/KaTeX_Caligraphic-Bold.b67709187b.woff +0 -0
- package/dist/client/static/font/KaTeX_Caligraphic-Bold.cce5b8ecea.ttf +0 -0
- package/dist/client/static/font/KaTeX_Caligraphic-Regular.07ef19e7b0.ttf +0 -0
- package/dist/client/static/font/KaTeX_Caligraphic-Regular.dad44a7fc6.woff +0 -0
- package/dist/client/static/font/KaTeX_Fraktur-Bold.9f256b8593.woff +0 -0
- package/dist/client/static/font/KaTeX_Fraktur-Bold.b18f59e1d1.ttf +0 -0
- package/dist/client/static/font/KaTeX_Fraktur-Regular.7c1871215e.woff +0 -0
- package/dist/client/static/font/KaTeX_Fraktur-Regular.ed38e79f57.ttf +0 -0
- package/dist/client/static/font/KaTeX_Main-Bold.b74a1a8b2c.ttf +0 -0
- package/dist/client/static/font/KaTeX_Main-Bold.d181c4650d.woff +0 -0
- package/dist/client/static/font/KaTeX_Main-BoldItalic.70d8b0a530.ttf +0 -0
- package/dist/client/static/font/KaTeX_Main-BoldItalic.e3f82f9d27.woff +0 -0
- package/dist/client/static/font/KaTeX_Main-Italic.47373d1e51.ttf +0 -0
- package/dist/client/static/font/KaTeX_Main-Italic.9024d815ba.woff +0 -0
- package/dist/client/static/font/KaTeX_Main-Regular.7f51fe0340.woff +0 -0
- package/dist/client/static/font/KaTeX_Main-Regular.b7f8fe9b5f.ttf +0 -0
- package/dist/client/static/font/KaTeX_Math-BoldItalic.a879cf8383.ttf +0 -0
- package/dist/client/static/font/KaTeX_Math-BoldItalic.f1035d8d5d.woff +0 -0
- package/dist/client/static/font/KaTeX_Math-Italic.5295ba483a.woff +0 -0
- package/dist/client/static/font/KaTeX_Math-Italic.939bc64440.ttf +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Bold.94e1e8dc5f.ttf +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Bold.bf59d231c3.woff +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Italic.7c9bc82b17.woff +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Italic.b4c20c84d8.ttf +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Regular.740484788f.woff +0 -0
- package/dist/client/static/font/KaTeX_SansSerif-Regular.d4d7ba4804.ttf +0 -0
- package/dist/client/static/font/KaTeX_Script-Regular.0750571032.woff +0 -0
- package/dist/client/static/font/KaTeX_Script-Regular.fe9cbbe1a0.ttf +0 -0
- package/dist/client/static/font/KaTeX_Size1-Regular.e1e279cbdd.woff +0 -0
- package/dist/client/static/font/KaTeX_Size1-Regular.fabc004aab.ttf +0 -0
- package/dist/client/static/font/KaTeX_Size2-Regular.577270225e.woff +0 -0
- package/dist/client/static/font/KaTeX_Size2-Regular.d6b476ecd3.ttf +0 -0
- package/dist/client/static/font/KaTeX_Size3-Regular.9acaf01c64.woff +0 -0
- package/dist/client/static/font/KaTeX_Size3-Regular.a144ef5840.ttf +0 -0
- package/dist/client/static/font/KaTeX_Size4-Regular.7a996c9da2.woff +0 -0
- package/dist/client/static/font/KaTeX_Size4-Regular.fbccdabe0a.ttf +0 -0
- package/dist/client/static/font/KaTeX_Typewriter-Regular.6258592bdc.woff +0 -0
- package/dist/client/static/font/KaTeX_Typewriter-Regular.d97aaf4a1e.ttf +0 -0
- package/dist/client/static/font/fira-code-cyrillic-400-normal.5971438a4a.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-400-normal.9bb7bfea9c.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-500-normal.5486265b18.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-500-normal.89f92bfb31.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-600-normal.2805b497e5.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-600-normal.86e0df22a3.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-700-normal.505a88f22a.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-700-normal.76f5e8d2e2.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-400-normal.3c4b15e57d.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-400-normal.61323debaa.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-500-normal.0f34210f2a.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-500-normal.2497cfa1aa.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-600-normal.40fce94af9.woff2 +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-600-normal.6c8774b829.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-700-normal.4b742eb865.woff +0 -0
- package/dist/client/static/font/fira-code-cyrillic-ext-700-normal.e75eb4fccc.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-400-normal.bb900468b6.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-400-normal.be76e699ba.woff +0 -0
- package/dist/client/static/font/fira-code-greek-500-normal.176c9fb001.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-500-normal.d2c596136b.woff +0 -0
- package/dist/client/static/font/fira-code-greek-600-normal.490c3deed7.woff +0 -0
- package/dist/client/static/font/fira-code-greek-600-normal.7df14376d9.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-700-normal.c82b6072fc.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-700-normal.d5f2b2917b.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-400-normal.4849a79781.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-400-normal.7f5bfc4538.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-ext-500-normal.aaccca4075.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-ext-500-normal.e383181256.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-600-normal.78cb4bff8e.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-600-normal.d6c93d54f9.woff2 +0 -0
- package/dist/client/static/font/fira-code-greek-ext-700-normal.57ec7c92d9.woff +0 -0
- package/dist/client/static/font/fira-code-greek-ext-700-normal.8fafdae5e8.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-400-normal.973295532b.woff +0 -0
- package/dist/client/static/font/fira-code-latin-500-normal.7ae2be8fb8.woff +0 -0
- package/dist/client/static/font/fira-code-latin-600-normal.1dbbe5bc27.woff +0 -0
- package/dist/client/static/font/fira-code-latin-700-normal.497a70148b.woff +0 -0
- package/dist/client/static/font/fira-code-latin-ext-400-normal.9dfae29aaf.woff +0 -0
- package/dist/client/static/font/fira-code-latin-ext-400-normal.e534ae46e2.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-ext-500-normal.24c7b781b0.woff +0 -0
- package/dist/client/static/font/fira-code-latin-ext-500-normal.aad44ab072.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-ext-600-normal.7bed0f2f7e.woff +0 -0
- package/dist/client/static/font/fira-code-latin-ext-600-normal.c509a7c9f1.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-ext-700-normal.6c66c8b0a9.woff2 +0 -0
- package/dist/client/static/font/fira-code-latin-ext-700-normal.88f64e2822.woff +0 -0
- package/dist/client/static/font/fira-code-symbols2-400-normal.97d3f4b17c.woff +0 -0
- package/dist/client/static/font/fira-code-symbols2-500-normal.b06f1a06e4.woff +0 -0
- package/dist/client/static/font/fira-code-symbols2-600-normal.304b653b93.woff +0 -0
- package/dist/client/static/font/fira-code-symbols2-700-normal.d8ce0ad586.woff +0 -0
- package/dist/client/static/js/async/3j.a2fcea99be.js +0 -2
- package/dist/client/static/js/async/51.1938cec320.js +0 -2
- package/dist/client/static/js/async/6.7929428505.js +0 -1
- package/dist/client/static/js/async/69.a18a10882f.js +0 -1
- package/dist/client/static/js/async/a.bce4542392.js +0 -1
- package/dist/client/static/js/async/ar.9dc8b1992a.js +0 -2
- package/dist/client/static/js/async/bi.cbfe8eaa8e.js +0 -1
- package/dist/client/static/js/async/ct.38d9da8a5a.js +0 -1
- package/dist/client/static/js/async/fw.fb1a08b92d.js +0 -6
- package/dist/client/static/js/async/l6.45f3b62e15.js +0 -1
- package/dist/client/static/js/async/q.0b6fb9bf8d.js +0 -21
- package/dist/client/static/js/async/rd.b77011ab7f.js +0 -2
- package/dist/client/static/js/async/rf.cfbde7f744.js +0 -2
- package/dist/client/static/js/async/s.c7d521a8ae.js +0 -2
- package/dist/client/static/js/async/sy.7345abcd67.js +0 -94
- package/dist/client/static/js/async/t.0dcb01dfde.js +0 -1
- package/dist/client/static/js/async/v.5c7a4b087b.js +0 -1
- package/dist/client/static/js/async/vu.311f1d202c.js +0 -34
- package/dist/client/static/js/async/yg.9bd4e09ecb.js +0 -149
- package/dist/client/static/js/async/yv.593a3f7d54.js +0 -1
- package/dist/client/static/js/g.124fba0826.js +0 -139
- package/dist/client/static/js/index.907fd4670e.js +0 -68
- package/dist/client/static/js/katex-vendor.95e48cf65a.js +0 -1
- package/src/shared/lib/chat/order.ts +0 -40
- /package/dist/client/static/js/async/{1k.544adbf77d.js.LICENSE.txt → 1k.5974df3b87.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{3j.a2fcea99be.js.LICENSE.txt → 3j.357c80ff38.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{3y.22075aa079.js.LICENSE.txt → 3y.ededeebde8.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{51.1938cec320.js.LICENSE.txt → 51.95bcae98af.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{ar.9dc8b1992a.js.LICENSE.txt → a.e05da304c8.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{fw.fb1a08b92d.js.LICENSE.txt → dc.6dc4b0a04b.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{m.3fc017a055.js.LICENSE.txt → fw.6a51998a8e.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{q.0b6fb9bf8d.js.LICENSE.txt → m.4b29d34f93.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{rf.cfbde7f744.js.LICENSE.txt → q.7fb4d2f374.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{rd.b77011ab7f.js.LICENSE.txt → rd.cb6bf495bb.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/async/{s.c7d521a8ae.js.LICENSE.txt → rf.d626afc367.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/{index.907fd4670e.js.LICENSE.txt → async/ud.3065bfee31.js.LICENSE.txt} +0 -0
- /package/dist/client/static/js/{g.124fba0826.js.LICENSE.txt → uy.5f791144ce.js.LICENSE.txt} +0 -0
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<a href="https://elysiajs.com"><img alt="Server: Elysia 1.4" src="https://img.shields.io/badge/server-Elysia%201.4-6f42c1"></a>
|
|
15
15
|
<a href="https://preactjs.com"><img alt="UI: Preact 10" src="https://img.shields.io/badge/UI-Preact%2010-673ab7?logo=preact&logoColor=white"></a>
|
|
16
16
|
<a href="https://rsbuild.dev"><img alt="Build: Rsbuild 2" src="https://img.shields.io/badge/build-Rsbuild%202-eab308"></a>
|
|
17
|
-
<a href="package.json"><img alt="Version: 0.
|
|
17
|
+
<a href="package.json"><img alt="Version: 0.5.0" src="https://img.shields.io/badge/version-0.5.0-3f3f46"></a>
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
20
|
<p align="center">
|
|
@@ -67,8 +67,8 @@ ompchamber logs -f -n 200 # follow the server log
|
|
|
67
67
|
- **Full omp settings surface** — OMP Engine config keys, providers, agents, behavior
|
|
68
68
|
(`AGENTS.md` / `RULES.md`), slash commands, MCP servers with live connection tests, skills and
|
|
69
69
|
the skills catalog, token usage and notifications.
|
|
70
|
-
- **Two data modes** — `MOCK=
|
|
71
|
-
|
|
70
|
+
- **Two data modes** — `MOCK=false` (the default, also when unset) runs purely on the real SQLite
|
|
71
|
+
database and real workspace files; `MOCK=true` opts into demo datasets for previews.
|
|
72
72
|
- **Self-update** — `ompchamber update` installs the latest GitHub release (bun global or git
|
|
73
73
|
checkout) and restarts a running instance; **About → Updates** does the same from the console.
|
|
74
74
|
|
|
@@ -79,6 +79,10 @@ OMPChamber is published to npm. It needs a Bun runtime, not Node:
|
|
|
79
79
|
> **Bun only** — the server imports `bun:sqlite` and `Bun.YAML`, both of which Node cannot load.
|
|
80
80
|
> `bun` 1.4 or newer is required.
|
|
81
81
|
|
|
82
|
+
> **omp required** — every live capability (agent sessions, omp config, session state, updates)
|
|
83
|
+
> shells out to the `omp` binary, so `serve` refuses to start when it cannot be resolved on `PATH`
|
|
84
|
+
> (or via `OMPCHAMBER_OMP_BIN`). `MOCK=true` is the only mode that runs without a real omp install.
|
|
85
|
+
|
|
82
86
|
```bash
|
|
83
87
|
bun add -g ompchamber # puts the `ompchamber` command on your PATH
|
|
84
88
|
ompchamber serve --prod # start the server on :3000
|
|
@@ -159,7 +163,7 @@ Environment variables, read from `.env` (see [`.env.example`](.env.example)):
|
|
|
159
163
|
|---|---|---|
|
|
160
164
|
| `PORT` | `3000` | Server port |
|
|
161
165
|
| `HOST` | `localhost` | Server bind address |
|
|
162
|
-
| `MOCK` | `
|
|
166
|
+
| `MOCK` | `false` | `true` = demo datasets, `false` = real SQLite + workspace only |
|
|
163
167
|
| `SYNC_WORKSPACE` | `true` | Keep the workspace index in sync with disk |
|
|
164
168
|
| `OMPCHAMBER_DATA_DIR` | `~/.ompchamber` | CLI registry, logs and database root |
|
|
165
169
|
| `OMPCHAMBER_PORT` / `OMPCHAMBER_HOST` | — | Defaults for the CLI when no flag is passed |
|
|
@@ -167,7 +171,7 @@ Environment variables, read from `.env` (see [`.env.example`](.env.example)):
|
|
|
167
171
|
| `OMPCHAMBER_DEV_SERVER` | `http://localhost:3100` | Rsbuild asset origin used in dev |
|
|
168
172
|
| `OMPCHAMBER_BUN` | — | Explicit Bun binary for the CLI to spawn |
|
|
169
173
|
| `PI_CONFIG_DIR` / `PI_CODING_AGENT_DIR` | `~/.omp` | Oh-My-Pi config root overrides |
|
|
170
|
-
| `
|
|
174
|
+
| `OMPCHAMBER_OMP_BIN` | — | Explicit `omp` binary path |
|
|
171
175
|
| `SKILLS_API_URL` | `https://skills.sh` | Skills catalog source |
|
|
172
176
|
| `GITHUB_TOKEN` / `GH_TOKEN` | — | Raise the GitHub API rate limit for update checks |
|
|
173
177
|
|
|
@@ -230,16 +234,19 @@ Publishing is driven by **GitHub releases**, never by a push
|
|
|
230
234
|
([`.github/workflows/publish.yml`](.github/workflows/publish.yml)):
|
|
231
235
|
|
|
232
236
|
```bash
|
|
233
|
-
bun pm version minor -m "chore(release): v%s" # bump + commit + tag v0.
|
|
237
|
+
bun pm version minor -m "chore(release): v%s" # bump + commit + tag v0.5.0
|
|
234
238
|
git push origin main --tags
|
|
235
239
|
# then publish the release on GitHub → the workflow publishes to npm
|
|
236
240
|
```
|
|
237
241
|
|
|
238
|
-
The workflow checks out the released tag, installs,
|
|
239
|
-
|
|
242
|
+
The workflow checks out the released tag, installs, verifies the tag against the `package.json`
|
|
243
|
+
version, typechecks, runs `bun test`, builds `dist/client`, packs a dry run, then runs `bun publish`.
|
|
244
|
+
One thing to set up once:
|
|
240
245
|
|
|
241
|
-
-
|
|
242
|
-
|
|
246
|
+
- GitHub environment **`NPM_TOKEN`** with a secret of the same name — a granular npm access token
|
|
247
|
+
with read/write on `ompchamber`, 2FA bypass enabled, and the `publish and stage` action (a
|
|
248
|
+
stage-only token is rejected: Bun has no `npm stage publish`). The job declares that environment,
|
|
249
|
+
so the token is readable only by the publish workflow; add required reviewers there to gate a
|
|
243
250
|
publish behind an approval.
|
|
244
251
|
|
|
245
252
|
A failed publish is retried from **Actions → Publish → Run workflow**, which leaves the release
|
package/dist/client/index.html
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"
|
|
25
25
|
/>
|
|
26
26
|
<!--app-head-->
|
|
27
|
-
<script defer src="/static/js/
|
|
27
|
+
<script defer src="/static/js/markdown-vendor.71e43278b3.js"></script><script defer src="/static/js/shiki-vendor.cb8452ddcd.js"></script><script defer src="/static/js/uy.5f791144ce.js"></script><script defer src="/static/js/index.0ac93ee878.js"></script><link href="/static/css/index.5291f58223.css" rel="stylesheet"></head>
|
|
28
28
|
<body>
|
|
29
29
|
<div id="app"></div>
|
|
30
30
|
<!--app-bootstrap-->
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-orange-600:#f05100;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-amber-600:#dd7400;--color-amber-900:#7b3306;--color-amber-950:#461901;--color-yellow-500:#edb200;--color-lime-500:#80cd00;--color-green-500:#00c758;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-teal-500:#00baa7;--color-cyan-500:#00b7d7;--color-cyan-600:#0092b5;--color-sky-400:#00bcfe;--color-sky-500:#00a5ef;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-indigo-500:#625fff;--color-violet-400:#a685ff;--color-violet-500:#8d54ff;--color-violet-600:#7f22fe;--color-purple-500:#ac4bff;--color-fuchsia-500:#e12afb;--color-pink-500:#f6339a;--color-rose-400:#ff667f;--color-rose-500:#ff2357;--color-slate-400:#90a1b9;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:var(--theme-ink);--color-paper:var(--theme-paper);--color-canvas:var(--theme-canvas);--color-error:var(--theme-error);--color-success:var(--theme-success);--color-meta:var(--theme-meta);--color-info:var(--theme-info);--color-warning:var(--theme-warning)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-orange-600:lab(57.1026% 64.2584 89.8886);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-600:lab(60.3514% 40.5624 87.1228);--color-amber-900:lab(31.2288% 30.2627 40.0378);--color-amber-950:lab(15.8111% 20.9107 23.3752);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-lime-500:lab(75.3197% -46.6547 86.1778);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-teal-500:lab(67.3859% -49.0983 -2.63511);--color-cyan-500:lab(67.805% -35.3952 -30.2018);--color-cyan-600:lab(55.1767% -26.7496 -30.5139);--color-sky-400:lab(70.687% -23.6078 -45.9483);--color-sky-500:lab(63.3038% -18.433 -51.0407);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-indigo-500:lab(48.295% 38.3129 -81.9673);--color-violet-400:lab(62.8239% 34.9159 -60.0512);--color-violet-500:lab(49.9355% 55.1776 -81.8963);--color-violet-600:lab(41.088% 68.9966 -91.995);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-fuchsia-500:lab(56.4256% 83.132 -64.639);--color-pink-500:lab(56.9303% 76.8162 -8.07021);--color-rose-400:lab(64.4125% 63.0291 19.2068);--color-rose-500:lab(56.101% 79.4328 31.4532);--color-slate-400:lab(65.5349% -2.25151 -14.5072)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--theme-paper:#faf8f3;--theme-canvas:#f4f1ea;--theme-ink:#141310;--theme-error:#c8321e;--theme-success:#047857;--theme-success-bg:#ecfdf5;--theme-success-border:#a7f3d0;--theme-meta:#4f46e5;--theme-info:#0284c7;--theme-info-hover:#0369a1;--theme-warning:#c2410c;--theme-warning-hover:#9a3412;--paper-bg:var(--theme-canvas);--paper-raised:var(--theme-paper);--paper-card:var(--theme-paper);--ink-primary:var(--theme-ink);--ink-secondary:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-secondary:color-mix(in srgb, var(--theme-ink) 62%, transparent)}}:root{--ink-muted:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-muted:color-mix(in srgb, var(--theme-ink) 42%, transparent)}}:root{--ink-hairline:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){:root{--ink-hairline:color-mix(in srgb, var(--theme-ink) 14%, transparent)}}:root{--signal-red:var(--theme-error)}[data-theme=contrast]{--theme-paper:#fff;--theme-canvas:#f4f4f4;--theme-ink:#111;--theme-error:#b42318;--theme-success:#067647;--theme-success-bg:#ecfdf3;--theme-success-border:#abefc6;--theme-meta:#4338ca;--theme-info:#0369a1;--theme-info-hover:#075985;--theme-warning:#b54708;--theme-warning-hover:#93370d}[data-theme=noir],[data-theme=one-dark-pro-soft]{--theme-paper:#282c34;--theme-canvas:#21252b;--theme-ink:#abb2bf;--theme-error:#e06c75;--theme-success:#34d399;--theme-success-bg:#05966926;--theme-success-border:#10b98133;--theme-meta:#818cf8;--theme-info:#61afef;--theme-info-hover:#8ec7ff;--theme-warning:#fb923c;--theme-warning-hover:#fdba74}body{background-color:var(--theme-canvas);color:var(--theme-ink);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.font-mono,code,pre,kbd,.tabular-nums{font-variant-numeric:tabular-nums;font-family:Fira Code,monospace}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-\[1\.5px\]{inset:-1.5px}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-10{top:calc(var(--spacing) * -10)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-6{top:calc(var(--spacing) * 6)}.top-12{top:calc(var(--spacing) * 12)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-1{right:var(--spacing)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-10{left:calc(var(--spacing) * 10)}.left-\[18px\]{left:18px}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-6{margin-inline:calc(var(--spacing) * 6)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-auto{margin-block:auto}.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:#364153;--tw-prose-headings:#101828;--tw-prose-lead:#4a5565;--tw-prose-links:#101828;--tw-prose-bold:#101828;--tw-prose-counters:#6a7282;--tw-prose-bullets:#d1d5dc;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#101828;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6a7282;--tw-prose-kbd:#101828;--tw-prose-kbd-shadows:#1018281a;--tw-prose-code:#101828;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1e2939;--tw-prose-th-borders:#d1d5dc;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5dc;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#99a1af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#99a1af;--tw-prose-invert-bullets:#4a5565;--tw-prose-invert-hr:#364153;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#364153;--tw-prose-invert-captions:#99a1af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5dc;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4a5565;--tw-prose-invert-td-borders:#364153;font-size:1rem;line-height:1.75}@supports (color:lab(0% 0 0)){.prose{--tw-prose-body:lab(27.1134% -.956401 -12.3224);--tw-prose-headings:lab(8.11897% .811279 -12.254);--tw-prose-lead:lab(35.6337% -1.58697 -10.8425);--tw-prose-links:lab(8.11897% .811279 -12.254);--tw-prose-bold:lab(8.11897% .811279 -12.254);--tw-prose-counters:lab(47.7841% -.393182 -10.0268);--tw-prose-bullets:lab(85.1236% -.612259 -3.7138);--tw-prose-hr:lab(91.6229% -.159115 -2.26791);--tw-prose-quotes:lab(8.11897% .811279 -12.254);--tw-prose-quote-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-captions:lab(47.7841% -.393182 -10.0268);--tw-prose-kbd:lab(8.11897% .811279 -12.254);--tw-prose-kbd-shadows:lab(8.11897% .811279 -12.254/.1);--tw-prose-code:lab(8.11897% .811279 -12.254);--tw-prose-pre-code:lab(91.6229% -.159115 -2.26791);--tw-prose-pre-bg:lab(16.1051% -1.18239 -11.7533);--tw-prose-th-borders:lab(85.1236% -.612259 -3.7138);--tw-prose-td-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-invert-body:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-lead:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-counters:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-bullets:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-hr:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-quotes:lab(96.1596% -.0823438 -1.13575);--tw-prose-invert-quote-borders:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-captions:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-pre-code:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-th-borders:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-td-borders:lab(27.1134% -.956401 -12.3224)}}.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}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-\[1px\]{margin-left:1px}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-9\.5{height:calc(var(--spacing) * 9.5)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-28{height:calc(var(--spacing) * 28)}.h-40{height:calc(var(--spacing) * 40)}.h-\[2px\]{height:2px}.h-\[15px\]{height:15px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[667px\]{height:667px}.h-\[768px\]{height:768px}.h-\[896px\]{height:896px}.h-\[1024px\]{height:1024px}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-28{max-height:calc(var(--spacing) * 28)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[65vh\]{max-height:65vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[82vh\]{max-height:82vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[150px\]{max-height:150px}.max-h-\[200px\]{max-height:200px}.max-h-\[360px\]{max-height:360px}.max-h-\[460px\]{max-height:460px}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[30px\]{min-height:30px}.min-h-\[68px\]{min-height:68px}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[140px\]{min-height:140px}.min-h-\[240px\]{min-height:240px}.min-h-full{min-height:100%}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-9\.5{width:calc(var(--spacing) * 9.5)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-84{width:calc(var(--spacing) * 84)}.w-96{width:calc(var(--spacing) * 96)}.w-\[1px\]{width:1px}.w-\[15px\]{width:15px}.w-\[375px\]{width:375px}.w-\[414px\]{width:414px}.w-\[768px\]{width:768px}.w-\[1024px\]{width:1024px}.w-\[min\(94vw\,420px\)\]{width:min(94vw,420px)}.w-\[min\(94vw\,680px\)\]{width:min(94vw,680px)}.w-full{width:100%}.w-max{width:max-content}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-72{max-width:calc(var(--spacing) * 72)}.max-w-\[58\%\]{max-width:58%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[92\%\]{max-width:92%}.max-w-\[100px\]{max-width:100px}.max-w-\[110px\]{max-width:110px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[210px\]{max-width:210px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[320px\]{max-width:320px}.max-w-\[340px\]{max-width:340px}.max-w-\[560px\]{max-width:560px}.max-w-\[970px\]{max-width:970px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[calc\(100vw-1\.5rem\)\]{max-width:calc(100vw - 1.5rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[22px\]{min-width:22px}.min-w-\[120px\]{min-width:120px}.min-w-\[185px\]{min-width:185px}.min-w-\[260px\]{min-width:260px}.min-w-\[320px\]{min-width:320px}.min-w-\[700px\]{min-width:700px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-150{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-0\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * .5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-ink\/5>:not(:last-child)){border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){:where(.divide-ink\/5>:not(:last-child)){border-color:color-mix(in oklab, var(--color-ink) 5%, transparent)}}:where(.divide-ink\/6>:not(:last-child)){border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){:where(.divide-ink\/6>:not(:last-child)){border-color:color-mix(in oklab, var(--color-ink) 6%, transparent)}}:where(.divide-ink\/8>:not(:last-child)){border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){:where(.divide-ink\/8>:not(:last-child)){border-color:color-mix(in oklab, var(--color-ink) 8%, transparent)}}:where(.divide-ink\/10>:not(:last-child)){border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){:where(.divide-ink\/10>:not(:last-child)){border-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}:where(.divide-ink\/\[0\.04\]>:not(:last-child)){border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){:where(.divide-ink\/\[0\.04\]>:not(:last-child)){border-color:color-mix(in oklab, var(--color-ink) 4%, transparent)}}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[3px\]{border-radius:3px}.rounded-\[5px\]{border-radius:5px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-tl{border-top-left-radius:.25rem}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-tr{border-top-right-radius:.25rem}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/25{border-color:color-mix(in oklab, var(--color-amber-500) 25%, transparent)}}.border-error,.border-error\/15{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.border-error\/15{border-color:color-mix(in oklab, var(--color-error) 15%, transparent)}}.border-error\/20{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.border-error\/20{border-color:color-mix(in oklab, var(--color-error) 20%, transparent)}}.border-error\/25{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.border-error\/25{border-color:color-mix(in oklab, var(--color-error) 25%, transparent)}}.border-error\/30{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.border-error\/30{border-color:color-mix(in oklab, var(--color-error) 30%, transparent)}}.border-error\/40{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.border-error\/40{border-color:color-mix(in oklab, var(--color-error) 40%, transparent)}}.border-info\/25{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.border-info\/25{border-color:color-mix(in oklab, var(--color-info) 25%, transparent)}}.border-ink,.border-ink\/5{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/5{border-color:color-mix(in oklab, var(--color-ink) 5%, transparent)}}.border-ink\/6{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/6{border-color:color-mix(in oklab, var(--color-ink) 6%, transparent)}}.border-ink\/8{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/8{border-color:color-mix(in oklab, var(--color-ink) 8%, transparent)}}.border-ink\/10{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/10{border-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}.border-ink\/12{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/12{border-color:color-mix(in oklab, var(--color-ink) 12%, transparent)}}.border-ink\/15{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/15{border-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.border-ink\/20{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/20{border-color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.border-ink\/25{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/25{border-color:color-mix(in oklab, var(--color-ink) 25%, transparent)}}.border-ink\/30{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/30{border-color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.border-ink\/40{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/40{border-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.border-ink\/50{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/50{border-color:color-mix(in oklab, var(--color-ink) 50%, transparent)}}.border-ink\/60{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/60{border-color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.border-ink\/\[0\.04\]{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/\[0\.04\]{border-color:color-mix(in oklab, var(--color-ink) 4%, transparent)}}.border-meta\/25{border-color:var(--color-meta)}@supports (color:color-mix(in lab, red, red)){.border-meta\/25{border-color:color-mix(in oklab, var(--color-meta) 25%, transparent)}}.border-paper{border-color:var(--color-paper)}.border-success\/20{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.border-success\/20{border-color:color-mix(in oklab, var(--color-success) 20%, transparent)}}.border-success\/25{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.border-success\/25{border-color:color-mix(in oklab, var(--color-success) 25%, transparent)}}.border-transparent{border-color:#0000}.border-warning\/15{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.border-warning\/15{border-color:color-mix(in oklab, var(--color-warning) 15%, transparent)}}.border-warning\/20{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.border-warning\/20{border-color:color-mix(in oklab, var(--color-warning) 20%, transparent)}}.border-warning\/25{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.border-warning\/25{border-color:color-mix(in oklab, var(--color-warning) 25%, transparent)}}.border-t-ink{border-top-color:var(--color-ink)}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--theme-ink\)\],.bg-\[var\(--theme-ink\)\]\/20{background-color:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--theme-ink\)\]\/20{background-color:color-mix(in oklab, var(--theme-ink) 20%, transparent)}}.bg-\[var\(--theme-ink\)\]\/35{background-color:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--theme-ink\)\]\/35{background-color:color-mix(in oklab, var(--theme-ink) 35%, transparent)}}.bg-\[var\(--theme-ink\)\]\/50{background-color:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--theme-ink\)\]\/50{background-color:color-mix(in oklab, var(--theme-ink) 50%, transparent)}}.bg-\[var\(--theme-ink\)\]\/70{background-color:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--theme-ink\)\]\/70{background-color:color-mix(in oklab, var(--theme-ink) 70%, transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-amber-600{background-color:var(--color-amber-600)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-canvas,.bg-canvas\/5{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/5{background-color:color-mix(in oklab, var(--color-canvas) 5%, transparent)}}.bg-canvas\/20{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/20{background-color:color-mix(in oklab, var(--color-canvas) 20%, transparent)}}.bg-canvas\/30{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/30{background-color:color-mix(in oklab, var(--color-canvas) 30%, transparent)}}.bg-canvas\/40{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/40{background-color:color-mix(in oklab, var(--color-canvas) 40%, transparent)}}.bg-canvas\/50{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/50{background-color:color-mix(in oklab, var(--color-canvas) 50%, transparent)}}.bg-canvas\/60{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/60{background-color:color-mix(in oklab, var(--color-canvas) 60%, transparent)}}.bg-canvas\/80{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/80{background-color:color-mix(in oklab, var(--color-canvas) 80%, transparent)}}.bg-canvas\/90{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/90{background-color:color-mix(in oklab, var(--color-canvas) 90%, transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-error,.bg-error\/5{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/5{background-color:color-mix(in oklab, var(--color-error) 5%, transparent)}}.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-error\/15{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/15{background-color:color-mix(in oklab, var(--color-error) 15%, transparent)}}.bg-error\/\[0\.03\]{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-error) 3%, transparent)}}.bg-error\/\[0\.04\]{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-error) 4%, transparent)}}.bg-error\/\[0\.06\]{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-error) 6%, transparent)}}.bg-error\/\[0\.07\]{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/\[0\.07\]{background-color:color-mix(in oklab, var(--color-error) 7.0%, transparent)}}.bg-fuchsia-500{background-color:var(--color-fuchsia-500)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-info,.bg-info\/10{background-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.bg-info\/10{background-color:color-mix(in oklab, var(--color-info) 10%, transparent)}}.bg-inherit{background-color:inherit}.bg-ink,.bg-ink\/5{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/5{background-color:color-mix(in oklab, var(--color-ink) 5%, transparent)}}.bg-ink\/8{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/8{background-color:color-mix(in oklab, var(--color-ink) 8%, transparent)}}.bg-ink\/10{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/10{background-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}.bg-ink\/15{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/15{background-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.bg-ink\/20{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/20{background-color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.bg-ink\/25{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/25{background-color:color-mix(in oklab, var(--color-ink) 25%, transparent)}}.bg-ink\/30{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/30{background-color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.bg-ink\/40{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/40{background-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.bg-ink\/45{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/45{background-color:color-mix(in oklab, var(--color-ink) 45%, transparent)}}.bg-ink\/50{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/50{background-color:color-mix(in oklab, var(--color-ink) 50%, transparent)}}.bg-ink\/60{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/60{background-color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.bg-ink\/70{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/70{background-color:color-mix(in oklab, var(--color-ink) 70%, transparent)}}.bg-ink\/80{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/80{background-color:color-mix(in oklab, var(--color-ink) 80%, transparent)}}.bg-ink\/\[0\.02\]{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/\[0\.02\]{background-color:color-mix(in oklab, var(--color-ink) 2%, transparent)}}.bg-ink\/\[0\.03\]{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-ink) 3%, transparent)}}.bg-ink\/\[0\.04\]{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-ink) 4%, transparent)}}.bg-lime-500{background-color:var(--color-lime-500)}.bg-meta\/10{background-color:var(--color-meta)}@supports (color:color-mix(in lab, red, red)){.bg-meta\/10{background-color:color-mix(in oklab, var(--color-meta) 10%, transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-paper,.bg-paper\/10{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/10{background-color:color-mix(in oklab, var(--color-paper) 10%, transparent)}}.bg-paper\/50{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/50{background-color:color-mix(in oklab, var(--color-paper) 50%, transparent)}}.bg-paper\/60{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/60{background-color:color-mix(in oklab, var(--color-paper) 60%, transparent)}}.bg-paper\/80{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/80{background-color:color-mix(in oklab, var(--color-paper) 80%, transparent)}}.bg-paper\/90{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/90{background-color:color-mix(in oklab, var(--color-paper) 90%, transparent)}}.bg-paper\/95{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/95{background-color:color-mix(in oklab, var(--color-paper) 95%, transparent)}}.bg-pink-500{background-color:var(--color-pink-500)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-success\/15{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/15{background-color:color-mix(in oklab, var(--color-success) 15%, transparent)}}.bg-success\/\[0\.04\]{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-success) 4%, transparent)}}.bg-success\/\[0\.05\]{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/\[0\.05\]{background-color:color-mix(in oklab, var(--color-success) 5%, transparent)}}.bg-success\/\[0\.07\]{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/\[0\.07\]{background-color:color-mix(in oklab, var(--color-success) 7.0%, transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-600{background-color:var(--color-violet-600)}.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-warning\/15{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/15{background-color:color-mix(in oklab, var(--color-warning) 15%, transparent)}}.bg-warning\/\[0\.03\]{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-warning) 3%, transparent)}}.bg-warning\/\[0\.06\]{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-warning) 6%, transparent)}}.bg-warning\/\[0\.08\]{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/\[0\.08\]{background-color:color-mix(in oklab, var(--color-warning) 8%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-orange-600{--tw-gradient-from:var(--color-orange-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.fill-sky-400{fill:var(--color-sky-400)}.stroke-\[2\.5\]{stroke-width:2.5px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-\[3px\]{padding-block:3px}.py-px{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-\[env\(safe-area-inset-top\,0px\)\]{padding-top:env(safe-area-inset-top,0px)}.pr-0{padding-right:0}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-\[max\(0\.75rem\,env\(safe-area-inset-right\,0px\)\)\]{padding-right:max(.75rem, env(safe-area-inset-right,0px))}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-\[max\(0\.75rem\,env\(safe-area-inset-bottom\,0px\)\)\]{padding-bottom:max(.75rem, env(safe-area-inset-bottom,0px))}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-5\.5{padding-left:calc(var(--spacing) * 5.5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-\[18px\]{padding-left:18px}.pl-\[22px\]{padding-left:22px}.pl-\[max\(0\.75rem\,env\(safe-area-inset-left\,0px\)\)\]{padding-left:max(.75rem, env(safe-area-inset-left,0px))}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8\.5px\]{font-size:8.5px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\!break-normal{overflow-wrap:normal!important;word-break:normal!important}.break-normal{overflow-wrap:normal;word-break:normal}.\!break-words{overflow-wrap:break-word!important}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!whitespace-pre{white-space:pre!important}.\!whitespace-pre-wrap{white-space:pre-wrap!important}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-900{color:var(--color-amber-900)}.text-amber-950{color:var(--color-amber-950)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-canvas,.text-canvas\/80{color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.text-canvas\/80{color:color-mix(in oklab, var(--color-canvas) 80%, transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-error,.text-error\/70{color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.text-error\/70{color:color-mix(in oklab, var(--color-error) 70%, transparent)}}.text-error\/80{color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.text-error\/80{color:color-mix(in oklab, var(--color-error) 80%, transparent)}}.text-error\/90{color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.text-error\/90{color:color-mix(in oklab, var(--color-error) 90%, transparent)}}.text-info{color:var(--color-info)}.text-ink,.text-ink\/20{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/20{color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.text-ink\/25{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/25{color:color-mix(in oklab, var(--color-ink) 25%, transparent)}}.text-ink\/30{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/30{color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.text-ink\/35{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/35{color:color-mix(in oklab, var(--color-ink) 35%, transparent)}}.text-ink\/40{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/40{color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.text-ink\/45{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/45{color:color-mix(in oklab, var(--color-ink) 45%, transparent)}}.text-ink\/50{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/50{color:color-mix(in oklab, var(--color-ink) 50%, transparent)}}.text-ink\/55{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/55{color:color-mix(in oklab, var(--color-ink) 55%, transparent)}}.text-ink\/60{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/60{color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.text-ink\/65{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/65{color:color-mix(in oklab, var(--color-ink) 65%, transparent)}}.text-ink\/70{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/70{color:color-mix(in oklab, var(--color-ink) 70%, transparent)}}.text-ink\/75{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/75{color:color-mix(in oklab, var(--color-ink) 75%, transparent)}}.text-ink\/80{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/80{color:color-mix(in oklab, var(--color-ink) 80%, transparent)}}.text-ink\/85{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/85{color:color-mix(in oklab, var(--color-ink) 85%, transparent)}}.text-ink\/90{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/90{color:color-mix(in oklab, var(--color-ink) 90%, transparent)}}.text-meta{color:var(--color-meta)}.text-orange-400{color:var(--color-orange-400)}.text-paper{color:var(--color-paper)}.text-red-600{color:var(--color-red-600)}.text-rose-400{color:var(--color-rose-400)}.text-sky-400{color:var(--color-sky-400)}.text-slate-400{color:var(--color-slate-400)}.text-success,.text-success\/70{color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.text-success\/70{color:color-mix(in oklab, var(--color-success) 70%, transparent)}}.text-success\/90{color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.text-success\/90{color:color-mix(in oklab, var(--color-success) 90%, transparent)}}.text-transparent{color:#0000}.text-violet-400{color:var(--color-violet-400)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.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, )}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-ink\/40{-webkit-text-decoration-color:var(--color-ink);-webkit-text-decoration-color:var(--color-ink);-webkit-text-decoration-color:var(--color-ink);-webkit-text-decoration-color:var(--color-ink);text-decoration-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.decoration-ink\/40{-webkit-text-decoration-color:color-mix(in oklab, var(--color-ink) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-ink) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-ink) 40%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-ink) 40%, transparent);text-decoration-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.underline-offset-2{text-underline-offset:2px}.placeholder-ink\/30::placeholder{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.placeholder-ink\/30::placeholder{color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.placeholder-ink\/40::placeholder{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.placeholder-ink\/40::placeholder{color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.accent-ink{accent-color:var(--color-ink)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-ink,.ring-ink\/10{--tw-ring-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.ring-ink\/10{--tw-ring-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}.ring-ink\/20{--tw-ring-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.ring-ink\/20{--tw-ring-color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.ring-ink\/30{--tw-ring-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.ring-ink\/30{--tw-ring-color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-paper{--tw-ring-offset-color:var(--color-paper)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.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-\[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-\[2px\]{--tw-backdrop-blur:blur(2px);-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(var(--blur-sm));-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-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}@media (hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:w-0\.5:is(:where(.group):hover *){width:calc(var(--spacing) * .5)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:border-ink\/30:is(:where(.group):hover *){border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.group-hover\:border-ink\/30:is(:where(.group):hover *){border-color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.group-hover\:bg-ink\/8:is(:where(.group):hover *){background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-ink\/8:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-ink) 8%, transparent)}}.group-hover\:bg-ink\/40:is(:where(.group):hover *){background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-ink\/40:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.group-hover\:text-ink:is(:where(.group):hover *),.group-hover\:text-ink\/40:is(:where(.group):hover *){color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-ink\/40:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.group-hover\:text-ink\/50:is(:where(.group):hover *){color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-ink\/50:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-ink) 50%, transparent)}}.group-hover\:text-ink\/70:is(:where(.group):hover *){color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-ink\/70:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-ink) 70%, transparent)}}.group-hover\:text-ink\/80:is(:where(.group):hover *){color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-ink\/80:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-ink) 80%, transparent)}}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/item\:pointer-events-auto:is(:where(.group\/item):hover *){pointer-events:auto}.group-hover\/item\:opacity-0:is(:where(.group\/item):hover *){opacity:0}.group-hover\/item\:opacity-100:is(:where(.group\/item):hover *){opacity:1}}.group-active\:bg-ink\/60:is(:where(.group):active *){background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.group-active\:bg-ink\/60:is(:where(.group):active *){background-color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.peer-focus-visible\:opacity-0:is(:where(.peer):focus-visible~*){opacity:0}.selection\:bg-error\/30 ::selection{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.selection\:bg-error\/30 ::selection{background-color:color-mix(in oklab, var(--color-error) 30%, transparent)}}.selection\:bg-error\/30::selection{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.selection\:bg-error\/30::selection{background-color:color-mix(in oklab, var(--color-error) 30%, transparent)}}.selection\:bg-ink ::selection,.selection\:bg-ink::selection,.selection\:bg-ink\/15 ::selection{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.selection\:bg-ink\/15 ::selection{background-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.selection\:bg-ink\/15::selection{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.selection\:bg-ink\/15::selection{background-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.selection\:text-canvas ::selection,.selection\:text-canvas::selection{color:var(--color-canvas)}.placeholder\:text-ink\/30::placeholder{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-ink\/30::placeholder{color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.placeholder\:text-ink\/35::placeholder{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-ink\/35::placeholder{color:color-mix(in oklab, var(--color-ink) 35%, transparent)}}.placeholder\:text-ink\/40::placeholder{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-ink\/40::placeholder{color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:border-ink:focus-within,.focus-within\:border-ink\/40:focus-within{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus-within\:border-ink\/40:focus-within{border-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.focus-within\:border-ink\/50:focus-within{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus-within\:border-ink\/50:focus-within{border-color:color-mix(in oklab, var(--color-ink) 50%, transparent)}}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ink\/10:focus-within{--tw-ring-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ink\/10:focus-within{--tw-ring-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-error:hover{border-color:var(--color-error)}.hover\:border-ink:hover,.hover\:border-ink\/10:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ink\/10:hover{border-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}.hover\:border-ink\/15:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ink\/15:hover{border-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.hover\:border-ink\/20:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ink\/20:hover{border-color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.hover\:border-ink\/25:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ink\/25:hover{border-color:color-mix(in oklab, var(--color-ink) 25%, transparent)}}.hover\:border-ink\/30:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ink\/30:hover{border-color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.hover\:border-ink\/35:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ink\/35:hover{border-color:color-mix(in oklab, var(--color-ink) 35%, transparent)}}.hover\:border-ink\/40:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ink\/40:hover{border-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.hover\:border-ink\/50:hover{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:border-ink\/50:hover{border-color:color-mix(in oklab, var(--color-ink) 50%, transparent)}}.hover\:bg-canvas:hover,.hover\:bg-canvas\/50:hover{background-color:var(--color-canvas)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-canvas\/50:hover{background-color:color-mix(in oklab, var(--color-canvas) 50%, transparent)}}.hover\:bg-error:hover,.hover\:bg-error\/5:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/5:hover{background-color:color-mix(in oklab, var(--color-error) 5%, transparent)}}.hover\:bg-error\/10:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/10:hover{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.hover\:bg-error\/15:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/15:hover{background-color:color-mix(in oklab, var(--color-error) 15%, transparent)}}.hover\:bg-error\/90:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/90:hover{background-color:color-mix(in oklab, var(--color-error) 90%, transparent)}}.hover\:bg-ink\/5:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/5:hover{background-color:color-mix(in oklab, var(--color-ink) 5%, transparent)}}.hover\:bg-ink\/10:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/10:hover{background-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}.hover\:bg-ink\/15:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/15:hover{background-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.hover\:bg-ink\/20:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/20:hover{background-color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.hover\:bg-ink\/80:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/80:hover{background-color:color-mix(in oklab, var(--color-ink) 80%, transparent)}}.hover\:bg-ink\/85:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/85:hover{background-color:color-mix(in oklab, var(--color-ink) 85%, transparent)}}.hover\:bg-ink\/90:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/90:hover{background-color:color-mix(in oklab, var(--color-ink) 90%, transparent)}}.hover\:bg-ink\/\[0\.02\]:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/\[0\.02\]:hover{background-color:color-mix(in oklab, var(--color-ink) 2%, transparent)}}.hover\:bg-ink\/\[0\.03\]:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/\[0\.03\]:hover{background-color:color-mix(in oklab, var(--color-ink) 3%, transparent)}}.hover\:bg-ink\/\[0\.015\]:hover{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-ink\/\[0\.015\]:hover{background-color:color-mix(in oklab, var(--color-ink) 1.5%, transparent)}}.hover\:bg-paper:hover,.hover\:bg-paper\/20:hover{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-paper\/20:hover{background-color:color-mix(in oklab, var(--color-paper) 20%, transparent)}}.hover\:bg-paper\/50:hover{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-paper\/50:hover{background-color:color-mix(in oklab, var(--color-paper) 50%, transparent)}}.hover\:bg-success\/15:hover{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-success\/15:hover{background-color:color-mix(in oklab, var(--color-success) 15%, transparent)}}.hover\:text-amber-950:hover{color:var(--color-amber-950)}.hover\:text-canvas:hover{color:var(--color-canvas)}.hover\:text-error:hover{color:var(--color-error)}.hover\:text-ink:hover,.hover\:text-ink\/60:hover{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:text-ink\/60:hover{color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.hover\:text-ink\/70:hover{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:text-ink\/70:hover{color:color-mix(in oklab, var(--color-ink) 70%, transparent)}}.hover\:text-ink\/80:hover{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.hover\:text-ink\/80:hover{color:color-mix(in oklab, var(--color-ink) 80%, transparent)}}.hover\:text-sky-400:hover{color:var(--color-sky-400)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-ink:focus,.focus\:border-ink\/30:focus{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus\:border-ink\/30:focus{border-color:color-mix(in oklab, var(--color-ink) 30%, transparent)}}.focus\:border-ink\/40:focus{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus\:border-ink\/40:focus{border-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.focus\:border-ink\/50:focus{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus\:border-ink\/50:focus{border-color:color-mix(in oklab, var(--color-ink) 50%, transparent)}}.focus\:border-ink\/60:focus{border-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus\:border-ink\/60:focus{border-color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.focus\:bg-paper:focus{background-color:var(--color-paper)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ink\/10:focus{--tw-ring-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-ink\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}.focus\:ring-ink\/15:focus{--tw-ring-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-ink\/15:focus{--tw-ring-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:bg-ink\/5:focus-visible{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-ink\/5:focus-visible{background-color:color-mix(in oklab, var(--color-ink) 5%, transparent)}}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ink\/20:focus-visible{--tw-ring-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ink\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-98:active{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.active\:bg-ink\/10:active{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.active\:bg-ink\/10:active{background-color:color-mix(in oklab, var(--color-ink) 10%, transparent)}}.active\:bg-ink\/15:active{background-color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.active\:bg-ink\/15:active{background-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-25:disabled{opacity:.25}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-ink\/40:disabled:hover{color:var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.disabled\:hover\:text-ink\/40:disabled:hover{color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width:40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:inline-block{display:inline-block}.sm\:inline-flex{display:inline-flex}.sm\:w-64{width:calc(var(--spacing) * 64)}.sm\:w-96{width:calc(var(--spacing) * 96)}.sm\:max-w-\[85\%\]{max-width:85%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:self-center{align-self:center}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:pt-1{padding-top:var(--spacing)}.sm\:pb-10{padding-bottom:calc(var(--spacing) * 10)}}@media (min-width:48rem){.md\:mx-8{margin-inline:calc(var(--spacing) * 8)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-\[782px\]{height:782px}.md\:max-h-\[92vh\]{max-height:92vh}.md\:max-w-4xl{max-width:var(--container-4xl)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:rounded-2xl{border-radius:var(--radius-2xl)}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:64rem){.lg\:block{display:block}.lg\:inline{display:inline}.lg\:h-\[88vh\]{height:88vh}.lg\:w-\[min\(96vw\,980px\)\]{width:min(96vw,980px)}.lg\:max-w-5xl{max-width:var(--container-5xl)}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-2{gap:calc(var(--spacing) * 2)}.lg\:gap-4{gap:calc(var(--spacing) * 4)}.lg\:rounded-xl{border-radius:var(--radius-xl)}.lg\:border{border-style:var(--tw-border-style);border-width:1px}.lg\:p-5{padding:calc(var(--spacing) * 5)}.lg\:px-5{padding-inline:calc(var(--spacing) * 5)}.lg\:pt-0{padding-top:0}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:max-w-\[1150px\]{max-width:1150px}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width>=540px){.\@\[540px\]\:col-span-1{grid-column:span 1/span 1}.\@\[540px\]\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-warning{color:var(--color-warning)}}.\[\&_\.code-block\]\:my-2 .code-block{margin-block:calc(var(--spacing) * 2)}.\[\&_ol\]\:my-1\.5 ol,.\[\&_p\]\:my-1\.5 p,.\[\&_ul\]\:my-1\.5 ul{margin-block:calc(var(--spacing) * 1.5)}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.dot-grain-texture{background-image:radial-gradient(var(--theme-ink) .65px, transparent .65px)}@supports (color:color-mix(in lab, red, red)){.dot-grain-texture{background-image:radial-gradient(color-mix(in srgb, var(--theme-ink) 6%, transparent) .65px, transparent .65px)}}.dot-grain-texture{background-size:4px 4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--theme-canvas)}::-webkit-scrollbar-thumb{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--theme-ink) 20%, transparent)}}::-webkit-scrollbar-thumb{border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--theme-ink) 40%, transparent)}}.timeline-scrollbar-hidden::-webkit-scrollbar-thumb{background:0 0}.timeline-scrollbar-visible::-webkit-scrollbar-thumb{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.timeline-scrollbar-visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--theme-ink) 20%, transparent)}}.timeline-scrollbar-visible::-webkit-scrollbar-thumb{border-radius:3px}.timeline-scrollbar-visible::-webkit-scrollbar-thumb:hover{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.timeline-scrollbar-visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--theme-ink) 40%, transparent)}}.scrollbar-overlay-container{overflow-y:overlay}.scrollbar-overlay::-webkit-scrollbar-thumb{background:0 0;border-radius:3px}.scrollbar-overlay::-webkit-scrollbar-track{background:0 0}.scrollbar-overlay-scrolling::-webkit-scrollbar-track{background:0 0}.scrollbar-overlay-scrolling::-webkit-scrollbar-thumb{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.scrollbar-overlay-scrolling::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--theme-ink) 20%, transparent)}}.scrollbar-overlay-scrolling::-webkit-scrollbar-thumb:hover{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.scrollbar-overlay-scrolling::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--theme-ink) 40%, transparent)}}.scrollbar-overlay-static::-webkit-scrollbar-thumb{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.scrollbar-overlay-static::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--theme-ink) 20%, transparent)}}.scrollbar-overlay-static::-webkit-scrollbar-thumb{border-radius:3px}.scrollbar-overlay-static::-webkit-scrollbar-thumb:hover{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.scrollbar-overlay-static::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--theme-ink) 40%, transparent)}}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.xterm .xterm-viewport::-webkit-scrollbar{width:8px!important;height:8px!important}.xterm .xterm-viewport::-webkit-scrollbar-track{background:var(--theme-canvas)!important}.xterm .xterm-viewport::-webkit-scrollbar-thumb{background:var(--theme-ink)!important}@supports (color:color-mix(in lab, red, red)){.xterm .xterm-viewport::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--theme-ink) 22%, transparent)!important}}.xterm .xterm-viewport::-webkit-scrollbar-thumb{border-radius:4px!important}.xterm .xterm-viewport::-webkit-scrollbar-thumb:hover{background:var(--theme-ink)!important}@supports (color:color-mix(in lab, red, red)){.xterm .xterm-viewport::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--theme-ink) 42%, transparent)!important}}.xterm .xterm-viewport{touch-action:pan-y;-webkit-overflow-scrolling:touch}:root{--markdown-body-line-height:1.5rem;--markdown-list-line-height:1.375rem;--markdown-code-block-line-height:1rem}.prose-content{line-height:var(--markdown-body-line-height);white-space:normal}.prose-content>:first-child{margin-top:0}.prose-content>:last-child{margin-bottom:0}.prose-content p:not(:last-child){line-height:inherit;overflow-wrap:break-word;margin:0 0 .75rem}.prose-content h1{margin:1em 0 .5em;font-size:1rem;font-weight:700;line-height:1.25rem}.prose-content h2{margin:.875em 0 .375em;font-size:.9375rem;font-weight:700;line-height:1.25rem}.prose-content h3{margin:.75em 0 .25em;font-size:.875rem;font-weight:600;line-height:1.5rem}.prose-content h4,.prose-content h5,.prose-content h6{margin:.625em 0 .25em;font-size:.8125rem;font-weight:600;line-height:1.5rem}.prose-content ul{margin:.5rem 0;padding-left:2em;line-height:1.375rem;list-style:outside;position:relative}.prose-content ol{margin:.5rem 0;padding-left:2em;line-height:1.375rem;list-style:decimal;position:relative}.prose-content li{line-height:inherit;position:relative}.prose-content li+li{margin-top:.375rem}.prose-content li p{margin:.25rem 0}.prose-content ul>li:before{content:"";display:block;position:absolute;top:0;left:-1.25em}.prose-content blockquote{border-left:2px solid var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content blockquote{border-left:2px solid color-mix(in srgb, var(--theme-ink) 30%, transparent)}}.prose-content blockquote{color:var(--theme-ink);margin:.5rem 0;padding-left:.75rem}@supports (color:color-mix(in lab, red, red)){.prose-content blockquote{color:color-mix(in srgb, var(--theme-ink) 80%, transparent)}}.prose-content blockquote{font-style:italic;line-height:inherit}.prose-content a{text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--theme-ink);-webkit-text-decoration-color:var(--theme-ink);-webkit-text-decoration-color:var(--theme-ink);-webkit-text-decoration-color:var(--theme-ink);text-decoration-color:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content a{-webkit-text-decoration-color:color-mix(in srgb, var(--theme-ink) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--theme-ink) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--theme-ink) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--theme-ink) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--theme-ink) 40%, transparent)}}.prose-content a{color:var(--theme-ink);font-weight:500}.prose-content hr{border-top:1px solid var(--theme-ink);margin:.75rem 0}@supports (color:color-mix(in lab, red, red)){.prose-content hr{border-top:1px solid color-mix(in srgb, var(--theme-ink) 15%, transparent)}}.prose-content table{border-collapse:collapse;border:1px solid var(--theme-ink);width:100%;margin:.625rem 0;font-size:.75rem}@supports (color:color-mix(in lab, red, red)){.prose-content table{border:1px solid color-mix(in srgb, var(--theme-ink) 15%, transparent)}}.prose-content td,.prose-content th{line-height:inherit}.prose-content th{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content th{background:color-mix(in srgb, var(--theme-ink) 5%, transparent)}}.prose-content th{border-bottom:1px solid var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content th{border-bottom:1px solid color-mix(in srgb, var(--theme-ink) 15%, transparent)}}.prose-content th{padding:.375rem .75rem;font-weight:600}.prose-content td{border-bottom:1px solid var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content td{border-bottom:1px solid color-mix(in srgb, var(--theme-ink) 10%, transparent)}}.prose-content td{padding:.375rem .75rem}.prose-content code.inline-code{background:var(--theme-ink);border-radius:.375rem;padding:.0125rem .275rem;font-family:Fira Code,monospace;font-size:.75rem}@supports (color:color-mix(in lab, red, red)){.prose-content code.inline-code{background:color-mix(in srgb, var(--theme-ink) 8%, transparent)}}.prose-content code.inline-code{color:var(--theme-ink);overflow-wrap:break-word}.prose-content .code-block{border:1px solid var(--theme-ink);border-radius:.5rem;margin:.5rem 0}@supports (color:color-mix(in lab, red, red)){.prose-content .code-block{border:1px solid color-mix(in srgb, var(--theme-ink) 15%, transparent)}}.prose-content .code-block{background:var(--theme-canvas);font-family:Fira Code,monospace;font-size:.75rem;position:relative}.prose-content .code-copy-float{width:1.5rem;height:1.5rem;color:var(--theme-ink);border-radius:.25rem;justify-content:center;align-items:center;display:flex;position:absolute;top:.375rem;right:.375rem}@supports (color:color-mix(in lab, red, red)){.prose-content .code-copy-float{color:color-mix(in srgb, var(--theme-ink) 50%, transparent)}}.prose-content .code-copy-float{background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content .code-copy-float{background:color-mix(in srgb, var(--theme-ink) 5%, transparent)}}.prose-content .code-copy-float{border:1px solid var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content .code-copy-float{border:1px solid color-mix(in srgb, var(--theme-ink) 10%, transparent)}}.prose-content .code-copy-float{cursor:pointer;opacity:.7;transition:opacity .15s,color .15s,background .15s}.prose-content .code-copy-float:hover{opacity:1;color:var(--theme-ink);background:var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content .code-copy-float:hover{background:color-mix(in srgb, var(--theme-ink) 10%, transparent)}}.prose-content .code-block pre{line-height:var(--markdown-code-block-line-height);margin:0;padding:.75rem;overflow-x:auto}.prose-content .code-block code{font-family:Fira Code,monospace;font-size:.75rem;line-height:var(--markdown-code-block-line-height)}.prose-content .code-block pre code{text-shadow:none;background:0 0}.shiki span{color:var(--shiki-light)}[data-theme=noir] .shiki span,[data-theme=one-dark-pro-soft] .shiki span{color:var(--shiki-dark)}.prose-content .katex-display{overflow:auto hidden}.prose-content .math-pending:before{content:"…";opacity:.35}.prose-content p:has(>.math-pending[data-math-display="1"]){min-height:2.5rem}.prose-content .md-incomplete-link{opacity:.45;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.prose-content .mermaid-block{margin:.5rem 0}.prose-content .mermaid-block[data-mermaid-state=pending],.prose-content .mermaid-block[data-mermaid-state=rendering]{min-height:4.5rem}.prose-content .mermaid-block[data-mermaid-state=pending] pre,.prose-content .mermaid-block[data-mermaid-state=rendering] pre{visibility:hidden}.prose-content .mermaid-block[data-mermaid-state=done]{border:1px solid var(--theme-ink)}@supports (color:color-mix(in lab, red, red)){.prose-content .mermaid-block[data-mermaid-state=done]{border:1px solid color-mix(in srgb, var(--theme-ink) 15%, transparent)}}.prose-content .mermaid-block[data-mermaid-state=done]{background:var(--theme-paper);border-radius:.5rem;padding:.75rem}.prose-content .mermaid-block>svg{max-width:min(100%, var(--mermaid-diagram-max,100%));height:auto;margin:0 auto;display:block}.prose-content .mermaid-block .code-copy-float{z-index:1}.prose-content .mermaid-block[data-mermaid-state=error] pre{color:var(--theme-error)}.titlebar-drag-region{-webkit-app-region:drag;app-region:drag}.titlebar-no-drag{-webkit-app-region:no-drag;app-region:no-drag}@keyframes ask-dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes ask-dialog-panel-in{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:none}}.ask-dialog-backdrop{animation:.15s ease-out ask-dialog-backdrop-in}.ask-dialog-panel{animation:.18s ease-out ask-dialog-panel-in}@media (prefers-reduced-motion:reduce){.ask-dialog-backdrop,.ask-dialog-panel{animation:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_AMS-Regular.a79f1c3119.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/font/KaTeX_Caligraphic-Bold.ec17d13264.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_Caligraphic-Regular.55fac25845.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/font/KaTeX_Fraktur-Bold.d42a5579b0.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_Fraktur-Regular.d3c882a649.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/font/KaTeX_Main-Bold.c3fb5ac22f.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/font/KaTeX_Main-BoldItalic.6f2bb1dff2.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/font/KaTeX_Main-Italic.8916142bec.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_Main-Regular.0462f03bdf.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/font/KaTeX_Math-BoldItalic.572d331f69.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/font/KaTeX_Math-Italic.f28c23acad.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/static/font/KaTeX_SansSerif-Bold.8c5b5494b6.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/static/font/KaTeX_SansSerif-Italic.3b1e59b3ba.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_SansSerif-Regular.ba21ed5f84.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_Script-Regular.03e9641d6f.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_Size1-Regular.eae34984b3.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_Size2-Regular.5916a24fa3.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_Size4-Regular.10d95fd3a2.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/font/KaTeX_Typewriter-Regular.a8709e3622.woff2)format("woff2")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.7"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/static/font/fira-code-latin-400-normal.2655b10c55.woff2)format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url(/static/font/fira-code-latin-500-normal.92a991f204.woff2)format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/static/font/fira-code-latin-600-normal.43788eb7f1.woff2)format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/static/font/fira-code-latin-700-normal.2667215d33.woff2)format("woff2")}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! LICENSE: 1k.
|
|
2
|
-
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["1k"],{X8(e,t,r){r.d(t,{SearchPanel:()=>w});var a=r("j"),n=r("H"),i=r("Sj"),l=r("z"),s=r("t"),c=r("y");let o=(0,c.A)({name:"case-sensitive",size:24,node:[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]]}),d=(0,c.A)({name:"whole-word",size:24,node:[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]]}),h=(0,c.A)({name:"regex",size:24,node:[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]]}),p=(0,c.A)({name:"replace-all",size:24,node:[["path",{d:"M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"zg1ipl"}],["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"txt6k4"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]}),u=(0,c.A)({name:"replace",size:24,node:[["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]});var x=r("cx"),k=r("Xk"),m=r("wA"),y=r("jo"),f=r("FL"),b=r("G1"),g=r("oj"),v=r("qg"),N=r("Po");function w(e){let{className:t="",enabled:r=!0,rootPath:c}=e;(0,N.w)();let[w,Y]=(0,f.bL)("search.query",""),[z,S]=(0,f.bL)("search.replaceQuery",""),[F,A]=(0,f.bL)("search.matchCase",!1),[C,M]=(0,f.bL)("search.wholeWord",!1),[j,D]=(0,f.bL)("search.useRegex",!1),[L,J]=(0,f.bL)("search.includeFiles",""),[R,P]=(0,n.J0)(!1),[T,q]=(0,f.bL)("search.showIncludeField",!1),[O,$]=(0,f.bL)("search.activeRepo","."),W=(0,n.li)(null),{isScrolling:H,handleScroll:I}=(0,y.K)(),U=(0,k.L)(),{results:V,isSearching:G,start:Q}=function(){let[e,t]=(0,n.J0)([]),[r,a]=(0,n.J0)(!1),i=(0,n.li)(null),l=(0,n.li)(!0);return(0,n.vJ)(()=>(l.current=!0,()=>{l.current=!1,i.current?.abort(),i.current=null}),[]),{results:e,isSearching:r,start:(0,n.hb)(async e=>{i.current?.abort();let r=new AbortController;i.current=r,t([]),a(!0);try{let a=await fetch("/api/fs/search",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams(e),signal:r.signal});await (0,b.o)(a,(e,r)=>{if("matches"===e)try{let e=JSON.parse(r);Array.isArray(e)&&t(t=>[...t,...e])}catch{}},r.signal)}catch{}finally{l.current&&i.current===r&&(i.current=null,a(!1))}},[])}}();(0,g.W)(W,()=>P(!1));let X=()=>{if(r&&w.trim().length>2)return Q({q:w,matchCase:String(F),wholeWord:String(C),useRegex:String(j),includeFiles:T?L:"",...c?{root:c}:{},..."."!==O?{repo:O}:{}})};(0,n.vJ)(()=>{let e=setTimeout(()=>{X()},300);return()=>clearTimeout(e)},[w,F,C,j,L,T,c,r,O]);let _=e=>{if(!w)return;let t=e?[e]:Object.keys(B);0!==t.length&&U.submit({q:w,replaceWith:z,matchCase:String(F),wholeWord:String(C),useRegex:String(j),files:JSON.stringify(t),...c?{root:c}:{},..."."!==O?{repo:O}:{}},{method:"POST",action:"/api/fs/replace"})};if((0,n.vJ)(()=>{"idle"===U.state&&U.data?.success&&X()},[U.state,U.data]),!r)return(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"No session selected"})});let B=V.reduce((e,t)=>(e[t.file]||(e[t.file]=[]),e[t.file].push(t),e),{});return(0,a.FD)("div",{className:`flex flex-col h-full bg-paper ${t}`,children:[(0,a.FD)("div",{className:"p-3 border-b border-ink/10 flex items-center justify-between",children:[(0,a.FD)("div",{className:"flex items-center space-x-2 min-w-0",children:[(0,a.Y)("h2",{className:"text-xs font-semibold text-ink uppercase tracking-wider",children:"Search"}),(0,a.Y)(m.I,{rootPath:c,activeRepo:O,onSelectRepo:$})]}),(0,a.FD)("div",{className:"relative",ref:W,children:[(0,a.Y)("button",{onClick:()=>P(!R),className:`p-1 rounded hover:bg-ink/5 transition-colors ${R||T?"text-ink":"text-ink/40"}`,title:"Search Options",children:(0,a.Y)(i.A,{size:14})}),R&&(0,a.Y)("div",{className:"absolute right-0 top-full mt-1 w-48 bg-paper border border-ink/10 rounded shadow-lg z-10 py-1",children:(0,a.FD)("button",{onClick:()=>{q(!T),T&&J(""),P(!1)},className:"w-full px-3 py-1.5 text-left text-xs text-ink hover:bg-ink/5 flex items-center justify-between",children:[(0,a.Y)("span",{children:"Files to include"}),T&&(0,a.Y)(l.A,{size:12,className:"text-ink/60"})]})})]})]}),(0,a.FD)("div",{className:"p-3 flex flex-col gap-2.5 border-b border-ink/10",children:[(0,a.Y)("div",{className:"relative",children:(0,a.FD)("div",{className:"flex items-center border border-ink/20 rounded bg-paper focus-within:border-ink/40 focus-within:ring-1 focus-within:ring-ink/10 transition-all",children:[(0,a.Y)(s.A,{size:14,className:"ml-2 text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",placeholder:"Search",value:w,onChange:e=>Y(e.currentTarget.value),className:"w-full bg-transparent border-none text-xs px-2 py-1.5 focus:outline-none text-ink placeholder-ink/30 min-w-0"}),(0,a.FD)("div",{className:"flex items-center space-x-0.5 pr-1 text-ink/40 flex-shrink-0",children:[(0,a.Y)("button",{onClick:()=>A(!F),className:`p-1 rounded hover:text-ink ${F?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Match Case",children:(0,a.Y)(o,{size:14})}),(0,a.Y)("button",{onClick:()=>M(!C),className:`p-1 rounded hover:text-ink ${C?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Match Whole Word",children:(0,a.Y)(d,{size:14})}),(0,a.Y)("button",{onClick:()=>D(!j),className:`p-1 rounded hover:text-ink ${j?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Use Regular Expression",children:(0,a.Y)(h,{size:14})})]})]})}),(0,a.FD)("div",{className:"relative flex items-center space-x-1",children:[(0,a.Y)("input",{type:"text",placeholder:"Replace",value:z,onChange:e=>S(e.currentTarget.value),className:"flex-1 min-w-0 bg-paper border border-ink/20 rounded text-xs px-2 py-1.5 focus:outline-none focus:border-ink/40 focus:ring-1 focus:ring-ink/10 transition-all text-ink placeholder-ink/30"}),(0,a.Y)("button",{onClick:()=>_(),disabled:0===V.length||"idle"!==U.state,className:"p-1.5 rounded border border-ink/20 text-ink/60 hover:text-ink hover:bg-ink/5 disabled:opacity-50 disabled:cursor-not-allowed bg-paper",title:"Replace All",children:(0,a.Y)(p,{size:14})})]}),T&&(0,a.Y)("div",{className:"relative",children:(0,a.Y)("input",{type:"text",value:L,onChange:e=>J(e.currentTarget.value),placeholder:"Files to include (e.g. *.js, src/*)",className:"w-full bg-paper border border-ink/20 rounded text-xs px-2 py-1.5 focus:outline-none focus:border-ink/40 focus:ring-1 focus:ring-ink/10 transition-all text-ink placeholder-ink/40"})})]}),(0,a.Y)("div",{onScroll:I,className:`flex-1 scrollbar-overlay-container px-3 py-2 text-xs ${(0,y.p)(H)}`,children:G&&0===V.length?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"Searching..."}):w.trim().length<=2?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"Type at least 3 characters to search."}):0===V.length?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"No results found."}):(0,a.FD)("div",{className:"space-y-4",children:[G&&(0,a.Y)("div",{className:"text-ink/40 italic",children:"Searching…"}),Object.entries(B).map(e=>{let[t,r]=e;return(0,a.FD)("div",{children:[(0,a.FD)("div",{className:"font-semibold text-ink/80 flex items-center justify-between mb-1 group",children:[(0,a.FD)("div",{className:"flex items-center min-w-0",children:[(0,a.Y)(x.o,{name:t,size:12,className:"mr-1.5 flex-shrink-0"}),(0,a.Y)("span",{className:"truncate",children:t}),(0,a.Y)("span",{className:"ml-2 bg-ink/10 text-[9px] px-1.5 py-0.5 rounded-full flex-shrink-0",children:r.length})]}),(0,a.Y)("button",{onClick:()=>_(t),disabled:"idle"!==U.state,className:"opacity-0 group-hover:opacity-100 p-1 text-ink/40 hover:text-ink rounded hover:bg-ink/5 disabled:opacity-50 flex-shrink-0",title:"Replace in this file",children:(0,a.Y)(u,{size:12})})]}),(0,a.Y)("div",{className:"space-y-1",children:r.map((e,r)=>(0,a.FD)("div",{className:"flex hover:bg-ink/5 cursor-pointer rounded px-1 py-0.5",children:[(0,a.Y)("span",{className:"text-ink/40 w-6 flex-shrink-0 text-right mr-2",children:e.line}),(0,a.Y)("span",{className:"truncate text-ink",dangerouslySetInnerHTML:{__html:(0,v.wY)(e.content.trim(),(0,v.sQ)(t))}})]},r))})]},t)})]})})]})}},wA(e,t,r){var a=r("j"),n=r("H"),i=r("rm"),l=r("Go"),s=r("t"),c=r("I"),o=r("z"),d=r("oj");function h(e){let{rootPath:t,activeRepo:r,onSelectRepo:h}=e,[p,u]=(0,n.J0)(!1),[x,k]=(0,n.J0)(["."]),[m,y]=(0,n.J0)(!1),[f,b]=(0,n.J0)(""),g=(0,n.li)(null),v=function(e){if(!e)return"workspace root";let t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t.length>0?t[t.length-1]:"workspace root"}(t),N=e=>"."===e?v:e,w=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=new URLSearchParams({reposOnly:"1"});t&&r.set("root",t),e&&r.set("rescan","1"),r.set("t",String(Date.now()));let a=await fetch(`/api/fs/git?${r.toString()}`).then(e=>e.json()).catch(()=>null);a&&Array.isArray(a.repos)&&(k(a.repos),a.reposPending?y(!0):y(!1))};(0,n.vJ)(()=>{p&&w()},[p,t]),(0,n.vJ)(()=>{if(!m)return;let e=new URLSearchParams({reposOnly:"1"});t&&e.set("root",t);let r=setInterval(async()=>{let t=await fetch(`/api/fs/git?${e.toString()}`).then(e=>e.json()).catch(()=>null);t&&!t.reposPending&&Array.isArray(t.repos)&&(k(t.repos),y(!1))},1500);return()=>clearInterval(r)},[m,t]),(0,d.W)(g,()=>u(!1));let Y=x.filter(e=>!f.trim()||N(e).toLowerCase().includes(f.toLowerCase()));return(0,a.FD)("div",{className:"relative",ref:g,children:[(0,a.FD)("button",{type:"button",onClick:()=>u(!p),title:"Switch git project",className:"flex items-center space-x-1.5 hover:bg-ink/5 px-2 py-1 rounded transition-colors text-xs text-ink/80 font-medium",children:[(0,a.Y)(i.A,{size:12,className:"text-ink/60"}),(0,a.Y)("span",{className:"truncate max-w-[110px]",children:"."===r?v:r.split("/").pop()}),(0,a.Y)(l.A,{size:12,className:"text-ink/40"})]}),p&&(0,a.FD)("div",{className:"absolute top-full left-0 mt-1 w-52 bg-paper border border-ink/20 rounded-md shadow-lg z-50 flex flex-col overflow-hidden text-xs",children:[(0,a.FD)("div",{className:"px-2 py-1.5 border-b border-ink/10 flex items-center space-x-1.5",children:[(0,a.Y)(s.A,{size:11,className:"text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",value:f,onChange:e=>b(e.currentTarget.value),placeholder:"Search repos...",title:"Search repositories",className:"w-full bg-transparent outline-none text-xs text-ink placeholder-ink/40",autoFocus:!0}),f&&(0,a.Y)("button",{type:"button",onClick:()=>b(""),title:"Clear search",className:"text-ink/40 hover:text-ink flex-shrink-0",children:"×"}),(0,a.Y)("button",{type:"button",onClick:()=>void w(!0),title:"Refresh nested repos",disabled:m,className:"text-ink/40 hover:text-ink flex-shrink-0 transition-colors disabled:opacity-40 disabled:hover:text-ink/40",children:(0,a.Y)(c.A,{size:11,className:m?"animate-spin":""})})]}),(0,a.Y)("div",{className:"max-h-48 scrollbar-overlay-container scrollbar-overlay-static py-1",children:0===Y.length?(0,a.Y)("div",{className:"px-3 py-2 text-ink/40 italic",children:"No repos found"}):Y.map(e=>(0,a.FD)("button",{type:"button",onClick:()=>{h(e),u(!1),b("")},title:N(e),className:"w-full text-left px-3 py-2 hover:bg-ink/5 flex items-center justify-between transition-colors",children:[(0,a.Y)("span",{className:"truncate",children:N(e)}),r===e&&(0,a.Y)(o.A,{size:12,className:"text-ink"})]},e))})]})]})}r.d(t,{I:()=>h})},rm(e,t,r){let a=(0,r("y").A)({name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]});r.d(t,{},{A:a})}}]);
|
|
1
|
+
/*! LICENSE: 1k.5974df3b87.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["1k"],{X8(e,t,r){r.d(t,{SearchPanel:()=>w});var a=r("j"),n=r("H"),i=r("Sj"),l=r("z"),s=r("t3"),c=r("y");let o=(0,c.A)({name:"case-sensitive",size:24,node:[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]]}),d=(0,c.A)({name:"whole-word",size:24,node:[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]]}),h=(0,c.A)({name:"regex",size:24,node:[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]]}),p=(0,c.A)({name:"replace-all",size:24,node:[["path",{d:"M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"zg1ipl"}],["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1",key:"txt6k4"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]}),u=(0,c.A)({name:"replace",size:24,node:[["path",{d:"M14 4a1 1 0 0 1 1-1",key:"dhj8ez"}],["path",{d:"M15 10a1 1 0 0 1-1-1",key:"1mnyi5"}],["path",{d:"M21 4a1 1 0 0 0-1-1",key:"sfs9ap"}],["path",{d:"M21 9a1 1 0 0 1-1 1",key:"mp6qeo"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a2 2 0 0 1 2-2h2",key:"15xut4"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}]]});var x=r("ob"),k=r("X"),m=r("wA"),y=r("jo"),f=r("FL"),b=r("G1"),g=r("oj"),v=r("DU"),N=r("Po");function w(e){let{className:t="",enabled:r=!0,rootPath:c}=e;(0,N.w)();let[w,Y]=(0,f.bL)("search.query",""),[z,S]=(0,f.bL)("search.replaceQuery",""),[F,A]=(0,f.bL)("search.matchCase",!1),[C,M]=(0,f.bL)("search.wholeWord",!1),[j,D]=(0,f.bL)("search.useRegex",!1),[L,J]=(0,f.bL)("search.includeFiles",""),[R,P]=(0,n.J0)(!1),[T,O]=(0,f.bL)("search.showIncludeField",!1),[$,q]=(0,f.bL)("search.activeRepo","."),W=(0,n.li)(null),{isScrolling:H,handleScroll:I}=(0,y.K)(),U=(0,k.L)(),{results:V,isSearching:G,start:Q}=function(){let[e,t]=(0,n.J0)([]),[r,a]=(0,n.J0)(!1),i=(0,n.li)(null),l=(0,n.li)(!0);return(0,n.vJ)(()=>(l.current=!0,()=>{l.current=!1,i.current?.abort(),i.current=null}),[]),{results:e,isSearching:r,start:(0,n.hb)(async e=>{i.current?.abort();let r=new AbortController;i.current=r,t([]),a(!0);try{let a=await fetch("/api/fs/search",{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams(e),signal:r.signal});await (0,b.o)(a,(e,r)=>{if("matches"===e)try{let e=JSON.parse(r);Array.isArray(e)&&t(t=>[...t,...e])}catch{}},r.signal)}catch{}finally{l.current&&i.current===r&&(i.current=null,a(!1))}},[])}}();(0,g.W)(W,()=>P(!1));let X=()=>{if(r&&w.trim().length>2)return Q({q:w,matchCase:String(F),wholeWord:String(C),useRegex:String(j),includeFiles:T?L:"",...c?{root:c}:{},..."."!==$?{repo:$}:{}})};(0,n.vJ)(()=>{let e=setTimeout(()=>{X()},300);return()=>clearTimeout(e)},[w,F,C,j,L,T,c,r,$]);let _=e=>{if(!w)return;let t=e?[e]:Object.keys(B);0!==t.length&&U.submit({q:w,replaceWith:z,matchCase:String(F),wholeWord:String(C),useRegex:String(j),files:JSON.stringify(t),...c?{root:c}:{},..."."!==$?{repo:$}:{}},{method:"POST",action:"/api/fs/replace"})};if((0,n.vJ)(()=>{"idle"===U.state&&U.data?.success&&X()},[U.state,U.data]),!r)return(0,a.Y)("div",{className:`flex flex-col h-full bg-paper items-center justify-center text-ink/40 ${t}`,children:(0,a.Y)("span",{className:"text-xs font-mono",children:"No session selected"})});let B=V.reduce((e,t)=>(e[t.file]||(e[t.file]=[]),e[t.file].push(t),e),{});return(0,a.FD)("div",{className:`flex flex-col h-full bg-paper ${t}`,children:[(0,a.FD)("div",{className:"p-3 border-b border-ink/10 flex items-center justify-between",children:[(0,a.FD)("div",{className:"flex items-center space-x-2 min-w-0",children:[(0,a.Y)("h2",{className:"text-xs font-semibold text-ink uppercase tracking-wider",children:"Search"}),(0,a.Y)(m.I,{rootPath:c,activeRepo:$,onSelectRepo:q})]}),(0,a.FD)("div",{className:"relative",ref:W,children:[(0,a.Y)("button",{onClick:()=>P(!R),className:`p-1 rounded hover:bg-ink/5 transition-colors ${R||T?"text-ink":"text-ink/40"}`,title:"Search Options",children:(0,a.Y)(i.A,{size:14})}),R&&(0,a.Y)("div",{className:"absolute right-0 top-full mt-1 w-48 bg-paper border border-ink/10 rounded shadow-lg z-10 py-1",children:(0,a.FD)("button",{onClick:()=>{O(!T),T&&J(""),P(!1)},className:"w-full px-3 py-1.5 text-left text-xs text-ink hover:bg-ink/5 flex items-center justify-between",children:[(0,a.Y)("span",{children:"Files to include"}),T&&(0,a.Y)(l.A,{size:12,className:"text-ink/60"})]})})]})]}),(0,a.FD)("div",{className:"p-3 flex flex-col gap-2.5 border-b border-ink/10",children:[(0,a.Y)("div",{className:"relative",children:(0,a.FD)("div",{className:"flex items-center border border-ink/20 rounded bg-paper focus-within:border-ink/40 focus-within:ring-1 focus-within:ring-ink/10 transition-all",children:[(0,a.Y)(s.A,{size:14,className:"ml-2 text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",placeholder:"Search",value:w,onChange:e=>Y(e.currentTarget.value),className:"w-full bg-transparent border-none text-xs px-2 py-1.5 focus:outline-none text-ink placeholder-ink/30 min-w-0"}),(0,a.FD)("div",{className:"flex items-center space-x-0.5 pr-1 text-ink/40 flex-shrink-0",children:[(0,a.Y)("button",{onClick:()=>A(!F),className:`p-1 rounded hover:text-ink ${F?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Match Case",children:(0,a.Y)(o,{size:14})}),(0,a.Y)("button",{onClick:()=>M(!C),className:`p-1 rounded hover:text-ink ${C?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Match Whole Word",children:(0,a.Y)(d,{size:14})}),(0,a.Y)("button",{onClick:()=>D(!j),className:`p-1 rounded hover:text-ink ${j?"bg-ink/10 text-ink":"hover:bg-ink/5"}`,title:"Use Regular Expression",children:(0,a.Y)(h,{size:14})})]})]})}),(0,a.FD)("div",{className:"relative flex items-center space-x-1",children:[(0,a.Y)("input",{type:"text",placeholder:"Replace",value:z,onChange:e=>S(e.currentTarget.value),className:"flex-1 min-w-0 bg-paper border border-ink/20 rounded text-xs px-2 py-1.5 focus:outline-none focus:border-ink/40 focus:ring-1 focus:ring-ink/10 transition-all text-ink placeholder-ink/30"}),(0,a.Y)("button",{onClick:()=>_(),disabled:0===V.length||"idle"!==U.state,className:"p-1.5 rounded border border-ink/20 text-ink/60 hover:text-ink hover:bg-ink/5 disabled:opacity-50 disabled:cursor-not-allowed bg-paper",title:"Replace All",children:(0,a.Y)(p,{size:14})})]}),T&&(0,a.Y)("div",{className:"relative",children:(0,a.Y)("input",{type:"text",value:L,onChange:e=>J(e.currentTarget.value),placeholder:"Files to include (e.g. *.js, src/*)",className:"w-full bg-paper border border-ink/20 rounded text-xs px-2 py-1.5 focus:outline-none focus:border-ink/40 focus:ring-1 focus:ring-ink/10 transition-all text-ink placeholder-ink/40"})})]}),(0,a.Y)("div",{onScroll:I,className:`flex-1 scrollbar-overlay-container px-3 py-2 text-xs ${(0,y.p)(H)}`,children:G&&0===V.length?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"Searching..."}):w.trim().length<=2?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"Type at least 3 characters to search."}):0===V.length?(0,a.Y)("div",{className:"text-ink/40 italic text-center py-4",children:"No results found."}):(0,a.FD)("div",{className:"space-y-4",children:[G&&(0,a.Y)("div",{className:"text-ink/40 italic",children:"Searching…"}),Object.entries(B).map(e=>{let[t,r]=e;return(0,a.FD)("div",{children:[(0,a.FD)("div",{className:"font-semibold text-ink/80 flex items-center justify-between mb-1 group",children:[(0,a.FD)("div",{className:"flex items-center min-w-0",children:[(0,a.Y)(x.o,{name:t,size:12,className:"mr-1.5 flex-shrink-0"}),(0,a.Y)("span",{className:"truncate",children:t}),(0,a.Y)("span",{className:"ml-2 bg-ink/10 text-[9px] px-1.5 py-0.5 rounded-full flex-shrink-0",children:r.length})]}),(0,a.Y)("button",{onClick:()=>_(t),disabled:"idle"!==U.state,className:"opacity-0 group-hover:opacity-100 p-1 text-ink/40 hover:text-ink rounded hover:bg-ink/5 disabled:opacity-50 flex-shrink-0",title:"Replace in this file",children:(0,a.Y)(u,{size:12})})]}),(0,a.Y)("div",{className:"space-y-1",children:r.map((e,r)=>(0,a.FD)("div",{className:"flex hover:bg-ink/5 cursor-pointer rounded px-1 py-0.5",children:[(0,a.Y)("span",{className:"text-ink/40 w-6 flex-shrink-0 text-right mr-2",children:e.line}),(0,a.Y)("span",{className:"truncate text-ink",dangerouslySetInnerHTML:{__html:(0,v.wY)(e.content.trim(),(0,v.sQ)(t))}})]},r))})]},t)})]})})]})}},wA(e,t,r){var a=r("j"),n=r("H"),i=r("rm"),l=r("Go"),s=r("t3"),c=r("Ir"),o=r("z"),d=r("oj");function h(e){let{rootPath:t,activeRepo:r,onSelectRepo:h}=e,[p,u]=(0,n.J0)(!1),[x,k]=(0,n.J0)(["."]),[m,y]=(0,n.J0)(!1),[f,b]=(0,n.J0)(""),g=(0,n.li)(null),v=function(e){if(!e)return"workspace root";let t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t.length>0?t[t.length-1]:"workspace root"}(t),N=e=>"."===e?v:e,w=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=new URLSearchParams({reposOnly:"1"});t&&r.set("root",t),e&&r.set("rescan","1"),r.set("t",String(Date.now()));let a=await fetch(`/api/fs/git?${r.toString()}`).then(e=>e.json()).catch(()=>null);a&&Array.isArray(a.repos)&&(k(a.repos),a.reposPending?y(!0):y(!1))};(0,n.vJ)(()=>{p&&w()},[p,t]),(0,n.vJ)(()=>{if(!m)return;let e=new URLSearchParams({reposOnly:"1"});t&&e.set("root",t);let r=setInterval(async()=>{let t=await fetch(`/api/fs/git?${e.toString()}`).then(e=>e.json()).catch(()=>null);t&&!t.reposPending&&Array.isArray(t.repos)&&(k(t.repos),y(!1))},1500);return()=>clearInterval(r)},[m,t]),(0,d.W)(g,()=>u(!1));let Y=x.filter(e=>!f.trim()||N(e).toLowerCase().includes(f.toLowerCase()));return(0,a.FD)("div",{className:"relative",ref:g,children:[(0,a.FD)("button",{type:"button",onClick:()=>u(!p),title:"Switch git project",className:"flex items-center space-x-1.5 hover:bg-ink/5 px-2 py-1 rounded transition-colors text-xs text-ink/80 font-medium",children:[(0,a.Y)(i.A,{size:12,className:"text-ink/60"}),(0,a.Y)("span",{className:"truncate max-w-[110px]",children:"."===r?v:r.split("/").pop()}),(0,a.Y)(l.A,{size:12,className:"text-ink/40"})]}),p&&(0,a.FD)("div",{className:"absolute top-full left-0 mt-1 w-52 bg-paper border border-ink/20 rounded-md shadow-lg z-50 flex flex-col overflow-hidden text-xs",children:[(0,a.FD)("div",{className:"px-2 py-1.5 border-b border-ink/10 flex items-center space-x-1.5",children:[(0,a.Y)(s.A,{size:11,className:"text-ink/40 flex-shrink-0"}),(0,a.Y)("input",{type:"text",value:f,onChange:e=>b(e.currentTarget.value),placeholder:"Search repos...",title:"Search repositories",className:"w-full bg-transparent outline-none text-xs text-ink placeholder-ink/40",autoFocus:!0}),f&&(0,a.Y)("button",{type:"button",onClick:()=>b(""),title:"Clear search",className:"text-ink/40 hover:text-ink flex-shrink-0",children:"×"}),(0,a.Y)("button",{type:"button",onClick:()=>void w(!0),title:"Refresh nested repos",disabled:m,className:"text-ink/40 hover:text-ink flex-shrink-0 transition-colors disabled:opacity-40 disabled:hover:text-ink/40",children:(0,a.Y)(c.A,{size:11,className:m?"animate-spin":""})})]}),(0,a.Y)("div",{className:"max-h-48 scrollbar-overlay-container scrollbar-overlay-static py-1",children:0===Y.length?(0,a.Y)("div",{className:"px-3 py-2 text-ink/40 italic",children:"No repos found"}):Y.map(e=>(0,a.FD)("button",{type:"button",onClick:()=>{h(e),u(!1),b("")},title:N(e),className:"w-full text-left px-3 py-2 hover:bg-ink/5 flex items-center justify-between transition-colors",children:[(0,a.Y)("span",{className:"truncate",children:N(e)}),r===e&&(0,a.Y)(o.A,{size:12,className:"text-ink"})]},e))})]})]})}r.d(t,{I:()=>h})},rm(e,t,r){let a=(0,r("y").A)({name:"folder-git-2",size:24,node:[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]});r.d(t,{},{A:a})}}]);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! LICENSE: 3j.357c80ff38.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([["3j"],{nTz(e,t,i){i.d(t,{},{I:{"desktop-16-9":"w-full max-w-[1280px] aspect-video max-h-full border border-ink/20 rounded-lg shadow-md overflow-hidden my-auto",laptop:"w-[1024px] max-w-full h-[768px] max-h-full border border-ink/20 rounded-lg shadow-md overflow-hidden my-auto",tablet:"w-[768px] max-w-full h-[1024px] max-h-full border border-ink/20 rounded-lg shadow-md overflow-hidden my-auto",mobile:"w-[375px] max-w-full h-[667px] max-h-full border border-ink/20 rounded-xl shadow-md overflow-hidden my-auto","mobile-lg":"w-[414px] max-w-full h-[896px] max-h-full border border-ink/20 rounded-xl shadow-md overflow-hidden my-auto",responsive:"w-full h-full border-0"}})},bu(e,t,i){i.d(t,{K:()=>N,B:()=>w});var n=i("j"),o=i("H"),r=i("z"),l=i("J"),a=i("b0"),s=i("q"),d=i("mX"),c=i("y");let p=(0,c.A)({name:"ratio",size:24,node:[["rect",{width:"12",height:"20",x:"6",y:"2",rx:"2",key:"1oxtiu"}],["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}]]}),x=(0,c.A)({name:"laptop",size:24,node:[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]]}),m=(0,c.A)({name:"tablet",size:24,node:[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]]});var b=i("f"),u=i("Go"),h=i("oj");let k=[{id:"responsive",label:"Responsive (100% Fluid)",category:"responsive",icon:d.A},{id:"desktop-16-9",label:"Desktop 16:9 (Auto H:W)",category:"responsive",icon:p},{id:"laptop",label:"Laptop (1024 × 768)",category:"responsive",icon:x},{id:"tablet",label:"Tablet (768 × 1024)",category:"mobile",icon:m},{id:"mobile",label:"Mobile Phone (375 × 667)",category:"mobile",icon:b.A},{id:"mobile-lg",label:"Mobile Large (414 × 896)",category:"mobile",icon:b.A}];function y(e){let{viewportMode:t,onChangeViewport:i,zoomLevel:l=100,onSetZoom:a}=e,[s,c]=(0,o.J0)(!1),x=(0,o.li)(null);return(0,h.W)(x,()=>c(!1)),(0,n.FD)("div",{className:"flex items-center space-x-1.5 flex-shrink-0",children:[(0,n.FD)("div",{className:"hidden sm:flex items-center bg-canvas border border-ink/10 rounded-md p-0.5",children:[(0,n.Y)("button",{type:"button",onClick:()=>i("responsive"),className:`p-1 rounded text-xs transition-colors cursor-pointer ${"responsive"===t?"bg-ink text-canvas font-medium":"text-ink/50 hover:text-ink"}`,title:"Responsive (100% Fluid)",children:(0,n.Y)(d.A,{size:12})}),(0,n.Y)("button",{type:"button",onClick:()=>i("desktop-16-9"),className:`p-1 rounded text-xs transition-colors cursor-pointer ${"desktop-16-9"===t?"bg-ink text-canvas font-medium":"text-ink/50 hover:text-ink"}`,title:"Desktop 16:9 (Auto Height following Width)",children:(0,n.Y)(p,{size:12})}),(0,n.Y)("button",{type:"button",onClick:()=>i("tablet"),className:`p-1 rounded text-xs transition-colors cursor-pointer ${"tablet"===t?"bg-ink text-canvas font-medium":"text-ink/50 hover:text-ink"}`,title:"Tablet (768px)",children:(0,n.Y)(m,{size:12})}),(0,n.Y)("button",{type:"button",onClick:()=>i("mobile"),className:`p-1 rounded text-xs transition-colors cursor-pointer ${"mobile"===t?"bg-ink text-canvas font-medium":"text-ink/50 hover:text-ink"}`,title:"Mobile (375px)",children:(0,n.Y)(b.A,{size:12})})]}),(0,n.FD)("div",{className:"relative",ref:x,children:[(0,n.FD)("button",{type:"button",onClick:()=>c(e=>!e),className:"flex items-center space-x-1 px-2 py-1 rounded bg-canvas border border-ink/15 hover:border-ink/30 text-ink text-[11px] font-mono transition-colors cursor-pointer",title:"Device & Responsive Testing Menu",children:[(0,n.Y)("span",{className:"hidden md:inline text-[10px] font-medium",children:(e=>{switch(e){case"desktop-16-9":return"Desktop 16:9";case"laptop":return"Laptop 1024p";case"tablet":return"Tablet 768p";case"mobile":return"Mobile 375p";case"mobile-lg":return"Mobile Lg 414p";default:return"Responsive"}})(t)}),(0,n.Y)(u.A,{size:11,className:"text-ink/60"})]}),s&&(0,n.FD)("div",{className:"absolute right-0 top-full mt-1 w-56 bg-paper border border-ink/15 rounded-lg shadow-xl py-1 z-50 text-xs font-mono",children:[(0,n.Y)("div",{className:"px-2.5 py-1 text-[10px] text-ink/40 uppercase tracking-wider font-semibold",children:"Responsive Testing"}),k.filter(e=>"responsive"===e.category).map(e=>{let o=e.icon,l=t===e.id;return(0,n.FD)("button",{type:"button",onClick:()=>{i(e.id),c(!1)},className:`w-full px-2.5 py-1.5 flex items-center justify-between text-left hover:bg-ink/5 cursor-pointer ${l?"bg-ink/10 font-semibold text-ink":"text-ink/75"}`,children:[(0,n.FD)("div",{className:"flex items-center space-x-2",children:[(0,n.Y)(o,{size:13,className:"text-ink/60"}),(0,n.Y)("span",{children:e.label})]}),l&&(0,n.Y)(r.A,{size:12,className:"text-success"})]},e.id)}),(0,n.Y)("div",{className:"mt-1 pt-1 border-t border-ink/10 px-2.5 py-1 text-[10px] text-ink/40 uppercase tracking-wider font-semibold",children:"Mobile Testing"}),k.filter(e=>"mobile"===e.category).map(e=>{let o=e.icon,l=t===e.id;return(0,n.FD)("button",{type:"button",onClick:()=>{i(e.id),c(!1)},className:`w-full px-2.5 py-1.5 flex items-center justify-between text-left hover:bg-ink/5 cursor-pointer ${l?"bg-ink/10 font-semibold text-ink":"text-ink/75"}`,children:[(0,n.FD)("div",{className:"flex items-center space-x-2",children:[(0,n.Y)(o,{size:13,className:"text-ink/60"}),(0,n.Y)("span",{children:e.label})]}),l&&(0,n.Y)(r.A,{size:12,className:"text-success"})]},e.id)}),a&&(0,n.FD)(n.FK,{children:[(0,n.FD)("div",{className:"mt-1 pt-1 border-t border-ink/10 px-2.5 py-1 text-[10px] text-ink/40 uppercase tracking-wider font-semibold",children:["Zoom Scale (",l,"%)"]}),(0,n.Y)("div",{className:"grid grid-cols-3 gap-1 px-2 py-1",children:[50,75,100,125,150,200].map(e=>(0,n.FD)("button",{type:"button",onClick:()=>{a(e),c(!1)},className:`px-1.5 py-1 text-center rounded text-[11px] font-mono cursor-pointer transition-colors ${l===e?"bg-ink text-canvas font-semibold":"bg-canvas border border-ink/10 text-ink/75 hover:bg-ink/5"}`,children:[e,"%"]},e))})]})]})]})]})}var v=i("hj"),f=i("na");function g(e){let{zoomLevel:t,onZoomIn:i,onZoomOut:o,onResetZoom:r}=e;return(0,n.FD)("div",{className:"flex items-center bg-canvas border border-ink/10 rounded-md p-0.5 space-x-0.5 text-xs font-mono",children:[(0,n.Y)("button",{type:"button",onClick:o,disabled:t<=50,"aria-label":"Perkecil tampilan",title:"Zoom Out (-10%)",className:"p-1 rounded hover:bg-ink/5 disabled:opacity-25 disabled:hover:bg-transparent text-ink/70 hover:text-ink cursor-pointer disabled:cursor-not-allowed transition-colors",children:(0,n.Y)(v.A,{size:12})}),(0,n.FD)("button",{type:"button",onClick:r,className:"px-1 text-[10px] font-medium text-ink/75 hover:text-ink hover:underline cursor-pointer select-none",title:"Reset Zoom (100%)",children:[t,"%"]}),(0,n.Y)("button",{type:"button",onClick:i,disabled:t>=200,"aria-label":"Perbesar tampilan",title:"Zoom In (+10%)",className:"p-1 rounded hover:bg-ink/5 disabled:opacity-25 disabled:hover:bg-transparent text-ink/70 hover:text-ink cursor-pointer disabled:cursor-not-allowed transition-colors",children:(0,n.Y)(f.A,{size:12})})]})}let w="p-1.5 rounded hover:bg-ink/5 disabled:opacity-25 disabled:hover:bg-transparent text-ink/70 hover:text-ink transition-colors cursor-pointer disabled:cursor-not-allowed";function N(e){let{url:t,statusDotClass:i,statusLabel:d,viewportMode:c,zoomLevel:p,onChangeViewport:x,onZoomIn:m,onZoomOut:b,onResetZoom:u,onSetZoom:h,onIncludeInChat:k,onOpenExternal:v,trailingControls:f,openExternalLabel:N,openExternalTitle:Y,children:z}=e,[A,D]=(0,o.J0)(!1),[F,C]=(0,o.J0)(!1);return(0,n.FD)("div",{className:"h-10 px-2.5 border-b border-ink/10 bg-paper flex items-center justify-between flex-shrink-0 select-none space-x-2",children:[(0,n.FD)("div",{className:"flex items-center space-x-1.5 flex-shrink-0",title:d,children:[(0,n.Y)("span",{className:`w-1.5 h-1.5 rounded-full ${i}`}),(0,n.Y)("span",{className:"text-[10px] font-mono uppercase tracking-wide text-ink/60",children:d})]}),z,(0,n.FD)("div",{className:"flex items-center space-x-1.5 flex-shrink-0",children:[(0,n.Y)(y,{viewportMode:c,onChangeViewport:x,zoomLevel:p,onSetZoom:h}),(0,n.Y)(g,{zoomLevel:p,onZoomIn:m,onZoomOut:b,onResetZoom:u}),(0,n.Y)("button",{type:"button",onClick:()=>{k(),C(!0),setTimeout(()=>C(!1),2500)},disabled:!t,"aria-label":"Sertakan halaman ini di draft chat",title:F?"Konteks halaman ditambahkan ke draft":"Sertakan halaman ini di draft chat",className:w,children:F?(0,n.Y)(r.A,{size:14,className:"text-success"}):(0,n.Y)(l.A,{size:14})}),(0,n.Y)("button",{type:"button",onClick:()=>{t&&navigator.clipboard.writeText(t).then(()=>{D(!0),setTimeout(()=>D(!1),2e3)}).catch(()=>{})},disabled:!t,"aria-label":"Salin URL",title:A?"Copied URL!":"Copy URL",className:w,children:A?(0,n.Y)(r.A,{size:14,className:"text-success"}):(0,n.Y)(a.A,{size:14})}),f,(0,n.Y)("button",{type:"button",onClick:v,disabled:!t,"aria-label":N,title:Y,className:w,children:(0,n.Y)(s.A,{size:14})})]})]})}},mX(e,t,i){let n=(0,i("y").A)({name:"monitor",size:24,node:[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]});i.d(t,{},{A:n})},na(e,t,i){let n=(0,i("y").A)({name:"zoom-in",size:24,node:[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]});i.d(t,{},{A:n})},hj(e,t,i){let n=(0,i("y").A)({name:"zoom-out",size:24,node:[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]});i.d(t,{},{A:n})}}]);
|