@fgbg/mdocs 0.8.21 → 0.8.22

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.
Files changed (35) hide show
  1. package/README.md +1 -1
  2. package/agent-skills/changelog/SKILL.md +9 -1
  3. package/agent-skills/index.json +1 -1
  4. package/bin/mdocs.js +1 -1
  5. package/dist/server/cli/main.js +22 -1
  6. package/dist/server/cli/main.js.map +1 -1
  7. package/dist/server/documents/tree-and-folders.test.js +54 -3
  8. package/dist/server/documents/tree-and-folders.test.js.map +1 -1
  9. package/dist/server/documents/tree.service.js +66 -5
  10. package/dist/server/documents/tree.service.js.map +1 -1
  11. package/dist/server/routes/documents.routes.js +16 -0
  12. package/dist/server/routes/documents.routes.js.map +1 -1
  13. package/dist/web/assets/{AgentChatPanel-D95hI02c.js → AgentChatPanel-IrNTGpzN.js} +1 -1
  14. package/dist/web/assets/{AgentSkillFormCard-BtJ0QjLG.js → AgentSkillFormCard-goRzD94F.js} +1 -1
  15. package/dist/web/assets/AiWriteWorkbench-CMe6iuR8.js +7 -0
  16. package/dist/web/assets/{DiagramEditor-BTRe45TX-Did98cnP.js → DiagramEditor-BTRe45TX-D1vc5s9F.js} +1 -1
  17. package/dist/web/assets/{DocumentEditor-DtSzkl6A.js → DocumentEditor-CbksWmYP.js} +1 -1
  18. package/dist/web/assets/{MergeView-DgFQHD5_.js → MergeView-CMQVyBUA.js} +1 -1
  19. package/dist/web/assets/{PlaygroundPage-Dg57Xxpl.js → PlaygroundPage-w1D9fzsK.js} +1 -1
  20. package/dist/web/assets/{SettingsPage-CkYpe5v7.js → SettingsPage-DzTINzaB.js} +1 -1
  21. package/dist/web/assets/{Toolbar-0Y2wmGwe.js → Toolbar-DylP9gFR.js} +1 -1
  22. package/dist/web/assets/{VisitorPickerModal-COxtOvc4.js → VisitorPickerModal-D0i7oxrW.js} +1 -1
  23. package/dist/web/assets/{copy-nOl0d3Th.js → copy-Ba87S6Rg.js} +1 -1
  24. package/dist/web/assets/{diagram-BJFhx-27.js → diagram-gfUK8OHx.js} +332 -332
  25. package/dist/web/assets/index-7HUca950.css +1 -0
  26. package/dist/web/assets/{index-B-XJ-ScV.js → index-DOrcbEeP.js} +3 -3
  27. package/dist/web/assets/{meta2dEngine-BD2XbzaV-e28q005B.js → meta2dEngine-BD2XbzaV-BFAQue19.js} +1 -1
  28. package/dist/web/assets/{motion-D-I76zAi.js → motion-C4pN8CfU.js} +1 -1
  29. package/dist/web/assets/{plus-DvBbg6jL.js → plus-BlTVBbk-.js} +1 -1
  30. package/dist/web/assets/{react-BsVOIHR8.js → react-DedaIFYc.js} +3 -3
  31. package/dist/web/assets/{ui-C3xtW1w8.js → ui-DxdLi_28.js} +3 -3
  32. package/dist/web/index.html +4 -4
  33. package/package.json +1 -1
  34. package/dist/web/assets/AiWriteWorkbench-Qam8cfY6.js +0 -6
  35. package/dist/web/assets/index-CGvsjO9f.css +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/html-GMplVEZG.js","assets/javascript-wDzz0qaB.js","assets/css-DPfMkruS.js","assets/scss-OYdSNvt2.js","assets/vue-DVfSmUF7.js","assets/typescript-BPQ3VLAy.js","assets/json-Cp-IABpG.js","assets/svelte-DZMnMd3x.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/cpp-BRuaLJcg.js","assets/c-BIGW1oBm.js","assets/sql-BLtJtn59.js","assets/ruby-BGX7qA9Y.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/tsx-COt5Ahok.js","assets/shellscript-Yzrsuije.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/php-Dhbhpdrm.js","assets/shellsession-BADoaaVG.js","assets/nginx-BpAMiNFr.js","assets/meta2dEngine-BD2XbzaV-e28q005B.js","assets/meta2d-C8Z4cn-d.js","assets/react-vendor-BNpqFP9B.js","assets/editor-ONzd_YnO.js","assets/ui-C3xtW1w8.js","assets/motion-D-I76zAi.js","assets/diagram-BJFhx-27.js","assets/index-B-XJ-ScV.js","assets/index-CGvsjO9f.css","assets/plus-DvBbg6jL.js","assets/copy-nOl0d3Th.js","assets/DiagramEditor-BTRe45TX-Did98cnP.js"])))=>i.map(i=>d[i]);
2
- var K8=Object.defineProperty;var V8=(e,t,n)=>t in e?K8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var An=(e,t,n)=>V8(e,typeof t!="symbol"?t+"":t,n);import{g as F4,_ as Pe,r as E,af as G8,ag as X8,ah as J8,ai as Nn,aj as zh,ak as lm,al as Y8,j as O,b as Pi,am as Z8,an as Q8,ao as e7,ap as t7,B as n7,d as Bh,aq as r7,ar as i7,as as s7,at as o7}from"./react-vendor-BNpqFP9B.js";import{P as Re,e as $h,A as nu,a as qt,b as O4,w as fe,c as fn,k as wn,n as ct,F as Hr,p as Ri,$ as le,O as Hn,G as dr,d as ps,l as sd,z as _r,r as bt,v as P4,B as je,X as Ln,T as R4,M as Dl,L as Ti,W as ml,f as li,g as ms,h as Co,C as jh,Y as z4,y as Ot,i as Il,H as We,j as a7,t as u7,m as Fo,J as bn,o as B4,R as ci,S as ru,Q as Yn,q as $4,s as l7,u as j4,x as gt,E as c7,D as bc,I as h7,K as f7,_ as d7,N as iu,U as od,Z as gs,a0 as _o,a1 as _t,a2 as q4,a3 as p7,a4 as m7,a5 as hi,a6 as Di,a7 as Ll,a8 as kn,a9 as Sn,aa as ad,ab as g7,ac as H4,ad as ud,ae as ld,af as Eo,V as hn,ag as U4,ah as b7,ai as W4,aj as y7,ak as x7,al as k7,am as w7,an as K4,ao as Zn,ap as S7,aq as v7,ar as $r,as as Qn,at as bs,au as cm,av as hm,aw as C7,ax as _7,ay as E7,az as T7,aA as Ma,aB as V4,aC as G4,aD as ua,aE as Na,aF as su,aG as A7,aH as M7,aI as X4,aJ as N7,aK as qh,aL as fm,aM as D7,aN as I7,aO as cd,aP as Pr,aQ as To,aR as hd,aS as ga,aT as cs,aU as Da,aV as Hh,aW as dm,aX as ba,aY as gl,aZ as Fl,a_ as L7,a$ as F7,b0 as O7,b1 as P7,b2 as R7,b3 as Rr,b4 as z7,b5 as B7,b6 as $7,b7 as pm,b8 as bl,b9 as mm,ba as j7,bb as q7,bc as H7,bd as U7,be as ys,bf as gm,bg as Uh,bh as W7,bi as K7,bj as V7,bk as G7,bl as bm,bm as ni,bn as Ia,bo as Wh,bp as X7,bq as la,br as J4,bs as Y4,bt as Z4,bu as Q4,bv as eb,bw as J7,bx as Y7,by as fd,bz as tb,bA as Z7,bB as Q7,bC as dd,bD as ek,bE as ym,bF as Kh,bG as nb,bH as rb,bI as tk,bJ as nk,bK as Ju,bL as ib,bM as rk,bN as ik,bO as sk,bP as sb,bQ as ok,bR as ak,bS as ob,bT as Ol,bU as uk,bV as lk,bW as ck}from"./editor-ONzd_YnO.js";import{q as nt,t as ut,v as hk,x as N0,y as fk,z as dk,D as pk,E as La,F as mk,G as Pl,I as gk,J as xi,K as Qo,L as bk,N as yk,O as xk,P as kk,Q as wk,R as Sk,S as vk,U as Ck,V as _k,B as pd,W as Ek,X as Nt,p as jr,Y as Vh,Z as Fa,_ as qe,$ as Rl,a0 as ab,a1 as Tk,a2 as ub,a3 as On,a4 as Ak,a5 as Mk,a6 as Nk,a7 as ou,a8 as md,a9 as Gh,aa as zl,ab as lb,ac as Dk,ad as xm,ae as Ik,af as Lk,ag as Xh,ah as cb,ai as Fk,aj as Ok,ak as hb,al as fb,am as Pk}from"./ui-C3xtW1w8.js";import{m as km,t as ea,s as Rk,y as zk,a as wm,b as Sm,i as Bk,l as $k,c as jk,o as qk,u as Hk}from"./diagram-BJFhx-27.js";import{c as Xt,at as Uk}from"./index-B-XJ-ScV.js";import{P as vm}from"./plus-DvBbg6jL.js";import{C as Wk,a as Kk}from"./copy-nOl0d3Th.js";/**
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/html-GMplVEZG.js","assets/javascript-wDzz0qaB.js","assets/css-DPfMkruS.js","assets/scss-OYdSNvt2.js","assets/vue-DVfSmUF7.js","assets/typescript-BPQ3VLAy.js","assets/json-Cp-IABpG.js","assets/svelte-DZMnMd3x.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/cpp-BRuaLJcg.js","assets/c-BIGW1oBm.js","assets/sql-BLtJtn59.js","assets/ruby-BGX7qA9Y.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/tsx-COt5Ahok.js","assets/shellscript-Yzrsuije.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/php-Dhbhpdrm.js","assets/shellsession-BADoaaVG.js","assets/nginx-BpAMiNFr.js","assets/meta2dEngine-BD2XbzaV-BFAQue19.js","assets/meta2d-C8Z4cn-d.js","assets/react-vendor-BNpqFP9B.js","assets/editor-ONzd_YnO.js","assets/ui-DxdLi_28.js","assets/motion-C4pN8CfU.js","assets/diagram-gfUK8OHx.js","assets/index-DOrcbEeP.js","assets/index-7HUca950.css","assets/plus-BlTVBbk-.js","assets/copy-Ba87S6Rg.js","assets/DiagramEditor-BTRe45TX-D1vc5s9F.js"])))=>i.map(i=>d[i]);
2
+ var K8=Object.defineProperty;var V8=(e,t,n)=>t in e?K8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var An=(e,t,n)=>V8(e,typeof t!="symbol"?t+"":t,n);import{g as F4,_ as Pe,r as E,af as G8,ag as X8,ah as J8,ai as Nn,aj as zh,ak as lm,al as Y8,j as O,b as Pi,am as Z8,an as Q8,ao as e7,ap as t7,B as n7,d as Bh,aq as r7,ar as i7,as as s7,at as o7}from"./react-vendor-BNpqFP9B.js";import{P as Re,e as $h,A as nu,a as qt,b as O4,w as fe,c as fn,k as wn,n as ct,F as Hr,p as Ri,$ as le,O as Hn,G as dr,d as ps,l as sd,z as _r,r as bt,v as P4,B as je,X as Ln,T as R4,M as Dl,L as Ti,W as ml,f as li,g as ms,h as Co,C as jh,Y as z4,y as Ot,i as Il,H as We,j as a7,t as u7,m as Fo,J as bn,o as B4,R as ci,S as ru,Q as Yn,q as $4,s as l7,u as j4,x as gt,E as c7,D as bc,I as h7,K as f7,_ as d7,N as iu,U as od,Z as gs,a0 as _o,a1 as _t,a2 as q4,a3 as p7,a4 as m7,a5 as hi,a6 as Di,a7 as Ll,a8 as kn,a9 as Sn,aa as ad,ab as g7,ac as H4,ad as ud,ae as ld,af as Eo,V as hn,ag as U4,ah as b7,ai as W4,aj as y7,ak as x7,al as k7,am as w7,an as K4,ao as Zn,ap as S7,aq as v7,ar as $r,as as Qn,at as bs,au as cm,av as hm,aw as C7,ax as _7,ay as E7,az as T7,aA as Ma,aB as V4,aC as G4,aD as ua,aE as Na,aF as su,aG as A7,aH as M7,aI as X4,aJ as N7,aK as qh,aL as fm,aM as D7,aN as I7,aO as cd,aP as Pr,aQ as To,aR as hd,aS as ga,aT as cs,aU as Da,aV as Hh,aW as dm,aX as ba,aY as gl,aZ as Fl,a_ as L7,a$ as F7,b0 as O7,b1 as P7,b2 as R7,b3 as Rr,b4 as z7,b5 as B7,b6 as $7,b7 as pm,b8 as bl,b9 as mm,ba as j7,bb as q7,bc as H7,bd as U7,be as ys,bf as gm,bg as Uh,bh as W7,bi as K7,bj as V7,bk as G7,bl as bm,bm as ni,bn as Ia,bo as Wh,bp as X7,bq as la,br as J4,bs as Y4,bt as Z4,bu as Q4,bv as eb,bw as J7,bx as Y7,by as fd,bz as tb,bA as Z7,bB as Q7,bC as dd,bD as ek,bE as ym,bF as Kh,bG as nb,bH as rb,bI as tk,bJ as nk,bK as Ju,bL as ib,bM as rk,bN as ik,bO as sk,bP as sb,bQ as ok,bR as ak,bS as ob,bT as Ol,bU as uk,bV as lk,bW as ck}from"./editor-ONzd_YnO.js";import{q as nt,t as ut,v as hk,x as N0,y as fk,z as dk,D as pk,E as La,F as mk,G as Pl,I as gk,J as xi,K as Qo,L as bk,N as yk,O as xk,P as kk,Q as wk,R as Sk,S as vk,U as Ck,V as _k,B as pd,W as Ek,X as Nt,p as jr,Y as Vh,Z as Fa,_ as qe,$ as Rl,a0 as ab,a1 as Tk,a2 as ub,a3 as On,a4 as Ak,a5 as Mk,a6 as Nk,a7 as ou,a8 as md,a9 as Gh,aa as zl,ab as lb,ac as Dk,ad as xm,ae as Ik,af as Lk,ag as Xh,ah as cb,ai as Fk,aj as Ok,ak as hb,al as fb,am as Pk}from"./ui-DxdLi_28.js";import{m as km,t as ea,s as Rk,y as zk,a as wm,b as Sm,i as Bk,l as $k,c as jk,o as qk,u as Hk}from"./diagram-gfUK8OHx.js";import{c as Xt,at as Uk}from"./index-DOrcbEeP.js";import{P as vm}from"./plus-BlTVBbk-.js";import{C as Wk,a as Kk}from"./copy-Ba87S6Rg.js";/**
3
3
  * @license lucide-react v0.562.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
@@ -1740,7 +1740,7 @@ ${this.__markdown}
1740
1740
  ## 分支 2`,style:{border:"none",flex:1,fontFamily:"monospace",fontSize:14,lineHeight:1.6,outline:"none",padding:16,resize:"none"},value:r})]}),O.jsx("div",{style:{display:"flex",flexDirection:"column",width:"50%"},children:O.jsx(_x,{markdown:r})})]})]})}function Zj({className:e,editor:t,node:n}){const[r,i]=E.useState(!1),s=n.__markdown;E.useLayoutEffect(()=>{const u=n.getKey();let l=!1;t.getEditorState().read(()=>{const h=Re(u);h&&w4(h)&&h.__autoOpenEditor&&(l=!0)}),l&&(i(!0),t.update(()=>{const h=Re(u);h&&w4(h)&&h.__autoOpenEditor&&h.clearAutoOpenEditor()}))},[t,n.getKey()]);const o=E.useCallback(()=>{t.update(()=>{const u=n.getLatest(),l=u.getNextSibling(),h=u.getPreviousSibling();if(u.remove(),l){l.selectStart();return}h&&h.selectEnd()})},[t,n]),a=E.useCallback(u=>{t.update(()=>{n.updateMarkdown(u)}),i(!1)},[t,n]);return r?O.jsx("div",{className:e,children:O.jsx(Yj,{markdown:s,onClose:()=>i(!1),onSave:a})}):O.jsxs("div",{className:e,style:{margin:"8px 0",position:"relative"},children:[O.jsxs("div",{style:{bottom:8,display:"flex",gap:4,position:"absolute",right:8,zIndex:10},children:[O.jsx("button",{onClick:()=>i(!0),style:{background:"rgba(0,0,0,0.5)",border:"none",borderRadius:4,color:"#fff",cursor:"pointer",fontSize:12,padding:"4px 8px"},type:"button",children:"编辑"}),O.jsx("button",{onClick:o,style:{background:"rgba(255,77,79,0.7)",border:"none",borderRadius:4,color:"#fff",cursor:"pointer",fontSize:12,padding:"4px 8px"},type:"button",children:"删除"})]}),O.jsx("div",{style:{border:"1px solid #f0f0f0",borderRadius:8,height:350},children:O.jsx(_x,{markdown:s})})]})}function LH({className:e,theme:t}){const[n]=vt(),r=E.useCallback((s,o)=>O.jsx(Zj,{className:e,editor:o,node:s}),[e]),i=E.useRef(!1);return i.current||(i.current=!0,n.registerPlugin(Jj,{decorator:r,theme:t})),null}const Qj=ct("INSERT_MATH_COMMAND"),Ex=ct("UPDATE_MATH_COMMAND"),Ml=ct("SELECT_MATH_SIDE_COMMAND");function eq(e){return bt(e.registerCommand(Qj,t=>{const{code:n}=t;return e.update(()=>{const r=lu(n);Sn([r]),Qn(r.getParentOrThrow())&&bs(r,hn).selectEnd()}),!0},Ln),e.registerCommand(Ex,t=>{const{code:n,key:r}=t;return e.update(()=>{const i=Re(r);i&&(i.updateCode(n),i.selectNext())}),!0},Ln),e.registerCommand(Ml,t=>{const{key:n,prev:r}=t;return e.update(()=>{const i=Re(n);i&&(r?i.selectPrevious():i.selectNext())}),!0},Ln))}function tq(e){const t=e.trim();return t?!!(/\\[A-Za-z]/.test(t)||/[\d!()*+,/<=>^_{|}-]/.test(t)||/^[A-Za-z]$/.test(t)):!1}nn();Pt();Lt();var So;const nq=(So=class extends Ft{constructor(t,n){super(),this.kernel=t,this.config=n,this.logger=Ze("plugin","math"),t.registerNodes([ka,Ii]),n!=null&&n.theme&&t.registerThemes(n==null?void 0:n.theme),this.registerDecorator(t,ka.getType(),(r,i)=>n!=null&&n.decorator?n.decorator(r,i):null),this.registerDecorator(t,Ii.getType(),(r,i)=>n!=null&&n.decorator?n.decorator(r,i):null)}onInit(t){this.register(eq(t)),this.registerMarkdown()}registerMarkdown(){const t=this.kernel.requireService(Dt);t==null||t.registerMarkdownShortCut({regExp:/\$([^\s$](?:[^$]*[^\s$])?)\$\s?$/,replace:(n,r)=>{const[,i]=r;if(!tq(i))return;const s=lu(i);this.logger.debug("Math node inserted:",s),n.insertBefore(s),n.setTextContent(""),n.select()},trigger:"$",type:"text-match"}),t==null||t.registerMarkdownShortCut({regExp:/^(\$\$)$/,replace:(n,r,i,s)=>{const o=kc();s||n.getNextSibling()?n.replace(o):n.insertBefore(o);const a=bn();a.add(o.getKey()),je(a)},trigger:"enter",type:"element"}),t==null||t.registerMarkdownWriter(ka.getType(),(n,r)=>(n.appendLine(r.getTextContent()),!0)),t==null||t.registerMarkdownWriter(Ii.getType(),(n,r)=>(n.appendLine(r.getTextContent()),!0)),t==null||t.registerMarkdownReader("inlineMath",n=>Se.createElementNode("math",{code:n.value,version:1})),t==null||t.registerMarkdownReader("math",n=>Se.createElementNode("mathBlock",{code:n.value,version:1}))}},So.pluginName="MathPlugin",So),Tx=E.memo(({children:e,isBlockMode:t,mathDOM:n,onFocus:r,prev:i})=>{const s=E.useRef(null),[o,a]=E.useState(void 0),u=E.useRef(void 0),l=E.useCallback(m=>{const y=typeof m=="number"?Math.round(m):void 0;u.current!==y&&(u.current=y,a(y))},[]),h=E.useCallback(()=>{if(!t){l(void 0);return}const m=n==null?void 0:n.closest('[contenteditable="true"]');m&&l(m.getBoundingClientRect().width)},[t,n,l]),d=E.useCallback(()=>Jc({callback:()=>{!s.current||!n||(r==null||r(),h())},floating:s.current,placement:t?"bottom-start":"bottom",reference:n}),[t,n,r,h]),g=E.useCallback(()=>{n&&d()},[n,d]);return E.useEffect(()=>{if(!n||!s.current)return;const m=s.current,y=new ResizeObserver(()=>{h()});y.observe(m);let w=null;return t&&(w=n.closest('[contenteditable="true"]'),w&&y.observe(w)),d(),window.addEventListener("resize",d),()=>{y.disconnect(),window.removeEventListener("resize",d)}},[n,i,t,d]),E.useEffect(()=>{n||!s.current||eu(s.current)},[n]),O.jsx(ou,{arrow:!1,content:O.jsx(Nt,{className:Fi.mathEditor,"data-math-editor-container":!0,style:o?{width:o}:void 0,children:e}),open:!!n,placement:t?"bottomLeft":"bottom",styles:{content:{borderRadius:"6px",padding:0}},children:O.jsx("span",{className:Fi.mathEditorAnchor,onClick:g,ref:s})})});Tx.displayName="MathEditorContainer";Cb();const Ax=E.memo(({focusRef:e,mathNode:t,onArrowLeft:n,onArrowRight:r,onCancel:i,onDelete:s,onSubmit:o,onValidationChange:a,onValueChange:u,value:l})=>{const h=nr(),d=E.useRef(null),[g,m]=E.useState("");E.useEffect(()=>{e==null||e(d.current)},[e]),E.useEffect(()=>{if(!t)return;if(!l.trim()){m(""),a==null||a(!0);return}const w=setTimeout(()=>{try{Ik(l,{displayMode:!0,throwOnError:!0}),m(""),a==null||a(!0)}catch(_){m(_ instanceof Error?_.message:"LaTeX Parse Error"),a==null||a(!1)}},50);return()=>clearTimeout(w)},[l,t,a]);const y=E.useCallback(w=>{if(t){if($4(w,vb)&&w.key==="Enter"){w.preventDefault(),o();return}if(w.key==="Escape"){w.preventDefault(),i();return}if(w.key==="Backspace"&&!l.trim()){w.preventDefault(),s();return}w.key==="ArrowLeft"&&w.currentTarget.selectionStart===0&&(w.preventDefault(),n()),w.key==="ArrowRight"&&w.currentTarget.selectionStart===w.currentTarget.value.length&&(w.preventDefault(),r())}},[t,o,i,s,n,r,l]);return O.jsxs(O.Fragment,{children:[O.jsx(Lk,{autoFocus:!0,autoSize:{maxRows:6,minRows:1},className:Fi.mathEditorTextArea,onChange:w=>{u(w.target.value)},onKeyDown:y,placeholder:`${h("math.placeholder")}...`,ref:d,resize:!1,value:l,variant:"borderless"}),g&&O.jsx(Nt,{className:Fi.mathEditorFooter,horizontal:!0,paddingBlock:4,paddingInline:12,width:"100%",children:O.jsx(jr,{fontSize:13,type:"danger",children:g})}),O.jsx(Nt,{className:Fi.mathEditorFooter,horizontal:!0,justify:"flex-end",padding:4,width:"100%",children:O.jsxs(Rl,{onClick:w=>{w.preventDefault(),o()},size:"small",type:"text",variant:"filled",children:[h("confirm"),O.jsx(ab,{compact:!0,keys:"mod+enter",variant:"borderless"})]})})]})});Ax.displayName="MathEditorContent";xr();const rq=E.memo(({renderComp:e})=>{const t=E.useRef(null),n=E.useRef(!1),[r,i]=E.useState(null),[s,o]=E.useState(""),a=E.useRef(""),u=E.useRef(!0),[l,h]=E.useState(null),[d,g]=E.useState(!1),[m,y]=E.useState(!1),[w,_]=E.useState(!1),[S]=vt();E.useEffect(()=>{if(!r||!u.current)return;const P=setTimeout(()=>{const G=S.getLexicalEditor();if(G&&!n.current){const Z=r.code;if(s&&Z&&Z===s)return;n.current=!0,G.update(()=>{if(G.getEditorState().read(()=>G.getElementByKey(r.getKey()))){const re=r.getWritable();re.__code=s}}),setTimeout(()=>{n.current=!1},50)}},50);return()=>clearTimeout(P)},[s,r,S]);const A=E.useCallback(()=>{if(!r)return;const P=S.getLexicalEditor();if(P){const G=u.current?s:a.current;P.dispatchCommand(Ex,{code:G,key:r.getKey()})}},[S,r,s]),T=E.useCallback(()=>{if(!r)return;const P=S.getLexicalEditor();P&&(P.dispatchCommand(Ml,{key:r.getKey(),prev:!1}),P.focus())},[r,S]),D=E.useCallback(()=>{if(!r)return;const P=S.getLexicalEditor();P&&P.update(()=>{r.remove()})},[r,S]),R=E.useCallback(()=>{r&&S.dispatchCommand(Ml,{key:r.getKey(),prev:!0})},[r,S]),F=E.useCallback(()=>{r&&S.dispatchCommand(Ml,{key:r.getKey(),prev:!1})},[r,S]),j=E.useCallback(()=>{var P,G,Z,re;(P=t.current)==null||P.focus(),d&&((re=(Z=(G=t.current)==null?void 0:G.resizableTextArea)==null?void 0:Z.textArea)==null||re.setSelectionRange(0,0))},[d]),q=E.useCallback(P=>{t.current=P},[]);gr(P=>bt(P.registerUpdateListener(({prevEditorState:G})=>{if(n.current)return;const Z=P.getEditorState().read(()=>{const re=le();if(!Hn(re))return!1;const te=re.getNodes()[0];if(!e3(te))return!1;const oe=r&&r.getKey()===te.getKey();return i(te),!oe&&te.code!==s&&(o(te.code),a.current=te.code,u.current=!0),h(P.getElementByKey(te.getKey())),y(te instanceof Ii),te});if(Z){const re=G.read(()=>{const te=G._selection;return fe(te)?te.anchor.key:!1});P.getEditorState().read(()=>{const te=re?Re(re):null;te&&q9(te,Z)<0?g(!0):g(!1)}),_(!0)}Z||(i(null),h(null),o(""),a.current="",u.current=!0,y(!1),_(!1))})),[r,s]);const U=O.jsx(Ax,{focusRef:q,mathNode:r,onArrowLeft:R,onArrowRight:F,onCancel:T,onDelete:D,onSubmit:A,onValidationChange:P=>{u.current=P,P&&(a.current=s)},onValueChange:o,value:s});return E.useEffect(()=>{if(!w)return;const P=G=>{const Z=G.target;Z&&(Array.from(document.querySelectorAll("[data-math-editor-container]")).some(re=>re&&re.contains(Z))||T())};return document.addEventListener("mousedown",P),document.addEventListener("touchstart",P),()=>{document.removeEventListener("mousedown",P),document.removeEventListener("touchstart",P)}},[w,T]),e?O.jsx(O.Fragment,{children:e({children:O.jsx("div",{"data-math-editor-container":!0,children:U}),open:w})}):O.jsx(Xc,{children:O.jsx(Tx,{isBlockMode:m,mathDOM:l,onFocus:j,prev:d,children:U})})}),iq=({mathBlock:e})=>{const t=nr(),n=O.jsx(jr,{as:"span",className:ut("katex",Fi.mathPlaceholder),fontSize:e?"1.2em":"1em",type:"secondary",children:t("math.placeholder")});return e?O.jsx(Gh,{padding:18,width:"100%",children:n}):n};Lt();const sq=Ze("plugin","math"),oq=({editor:e,node:t,className:n})=>{const r=E.useRef(null),[i,s,o]=Ro(t.getKey()),[a,u]=E.useState(!1),l=t instanceof Ii;return E.useEffect(()=>{r.current&&t.code&&Ak.render(t.code,r.current,{displayMode:t instanceof Ii,throwOnError:!1})},[t.code]),E.useEffect(()=>{const h=e.getElementByKey(t.getKey());if(h){const d=setTimeout(()=>{a?(qt(h,"editing"),la(h,"selected")):i?(qt(h,"selected"),la(h,"editing")):(la(h,"selected"),la(h,"editing"))},10);return()=>clearTimeout(d)}},[i,a,e,t]),gr(h=>h.registerUpdateListener(()=>{h.getEditorState().read(()=>{const d=le();if(!Hn(d)){u(!1);return}const g=d.getNodes()[0];if(!e3(g)){u(!1);return}g.getKey()===t.getKey()?u(!0):u(!1)})}),[t]),O.jsx("span",{className:n,onClick:E.useCallback(h=>{sq.debug("📊 Math click event:",h.target===r.current),h.preventDefault(),h.stopPropagation(),i&&o(),s(!0),e.focus()},[o,e,i,s]),ref:r,children:t.code?t.code:O.jsx(iq,{mathBlock:l})})},aq=({className:e,renderComp:t,theme:n})=>{const[r]=vt();return E.useLayoutEffect(()=>{r.registerPlugin(Ki),r.registerPlugin(nq,{decorator:(i,s)=>O.jsx(oq,{className:e,editor:s,node:i}),theme:n||Fi})},[r,e,n,Fi]),O.jsx(rq,{renderComp:t})};aq.displayName="ReactMathPlugin";var Xs=class Nl extends Hr{static getType(){return"meta2d"}static clone(t){return new Nl(t.__diagram,t.__svg,t.__key,t.__autoOpenEditor)}static importJSON(t){return new Nl(t.diagram,t.svg)}constructor(t="",n="",r,i=!1){super(r),this.__diagram=t,this.__svg=n,this.__autoOpenEditor=i}clearAutoOpenEditor(){const t=this.getWritable();t.__autoOpenEditor=!1}createDOM(t){const n=document.createElement("div");return qt(n,t.theme.meta2d??"editor-meta2d"),n}decorate(t){var r;const n=(r=ji(t))==null?void 0:r.getDecorator(Nl.getType());return n?typeof n=="function"?n(this,t):{queryDOM:n.queryDOM,render:n.render(this,t)}:null}exportJSON(){return{...super.exportJSON(),diagram:this.__diagram,svg:this.__svg}}getTextContent(){return`---meta2d---
1741
1741
  ${this.__diagram}
1742
1742
  ---/meta2d---
1743
- `}isInline(){return!1}updateDiagram(t,n){const r=this.getWritable();r.__diagram=t,r.__svg=n}updateDOM(){return!1}};function Mx(e="",t="",n){return wn(new Xs(e,t,void 0,(n==null?void 0:n.autoOpenEditor)??!1))}function v4(e){return e instanceof Xs}const uq=ct("INSERT_META2D_COMMAND");function lq(e){return e.registerCommand(uq,t=>(e.update(()=>{var n;Sn([Mx(((n=t==null?void 0:t.diagram)==null?void 0:n.trim())||vl,(t==null?void 0:t.svg)!==void 0&&t.svg.trim()!==""?t.svg:ec,{autoOpenEditor:(t==null?void 0:t.autoOpenEditor)??!0})])}),!0),_t)}nn();Pt();const cq=/^---meta2d---$/i,hq=/---meta2d---(\\n?)([\S\s]*?)\n?---\/meta2d---/i;function fq(e){return(e.children||[]).map(t=>"value"in t&&typeof t.value=="string"?t.value:"").join("")}var vo;const dq=(vo=class extends Ft{constructor(t,n){super(),this.kernel=t,this.config=n,t.registerNodes([Xs]),n!=null&&n.theme&&t.registerThemes(n.theme),this.registerDecorator(t,Xs.getType(),(r,i)=>n!=null&&n.decorator?n.decorator(r,i):null)}onInit(t){this.register(lq(t)),this.registerMarkdown()}registerMarkdown(){const t=this.kernel.requireService(Dt);t&&(t.registerMarkdownShortCut({regExp:cq,replace:n=>{const r=Mx(vl,ec,{autoOpenEditor:!0});n.replace(r);const i=bn();i.add(r.getKey()),je(i)},trigger:"enter",type:"element"}),t.registerMarkdownWriter(Xs.getType(),(n,r)=>{const i=r;return n.appendLine("---meta2d---"),n.appendLine(i.__diagram||vl),n.appendLine("---/meta2d---"),!0}),t.registerMarkdownReader("paragraph",n=>{var s;const r=fq(n).match(hq);if(!r)return!1;const i=((s=r[2])==null?void 0:s.trim())||vl;return Se.createTypeNode(Xs.getType(),{diagram:i,svg:ON(i)})},1))}},vo.pluginName="Meta2dPlugin",vo);let C4=null;function pq(){return C4??(C4=Pe(()=>import("./meta2dEngine-BD2XbzaV-e28q005B.js"),__vite__mapDeps([23,24,25,26,27,28,29,30,31,32,33]))),C4}async function mq(e){return(await pq()).generateSvgFromDiagram(e)}function gq(e){const t=e.trimStart();return t.startsWith("<svg")?t.replace(/^<svg\b/,'<svg style="max-width:100%;height:auto;display:block;margin:0 auto" '):e}function _4({color:e,label:t,onClick:n,title:r}){return O.jsx("button",{onClick:i=>{i.preventDefault(),i.stopPropagation(),n()},style:{alignItems:"center",background:"#fff",border:"1px solid #e5e5e5",borderRadius:6,color:e,cursor:"pointer",display:"inline-flex",height:28,justifyContent:"center",width:28},title:r,type:"button",children:t})}function bq({diagram:e,onDelete:t,onEdit:n,onSvgReady:r,svg:i}){const[s,o]=E.useState(!1),[a,u]=E.useState(null),[l,h]=E.useState(!1),[d,g]=E.useState(!1),m=E.useRef(null);return E.useEffect(()=>{u(null),g(!1)},[e]),E.useEffect(()=>{if(!e||d||s)return;if(i){m.current=e;return}let y=!0;const w=window.setTimeout(()=>{y&&(u("Preview timeout (still loading). Double-click to open editor."),g(!0),o(!1))},5e3);return o(!0),mq(e).then(_=>{if(y){if(window.clearTimeout(w),_){m.current=e,r(_);return}u("Preview generation failed. Double-click to open editor."),g(!0)}}).finally(()=>{y&&o(!1)}),()=>{y=!1,window.clearTimeout(w)}},[e,d,r,i]),O.jsxs("div",{onDoubleClick:y=>{y.stopPropagation(),n()},onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),style:{background:"#fff",border:"1px solid #efefef",borderRadius:10,cursor:"pointer",minHeight:140,overflow:"hidden",padding:10,position:"relative"},children:[l&&!!i&&O.jsxs("div",{style:{display:"flex",gap:8,position:"absolute",right:10,top:10,zIndex:1},children:[O.jsx(_4,{color:"#1677ff",label:"✎",onClick:n,title:"Edit diagram"}),O.jsx(_4,{color:"#ff4d4f",label:"🗑",onClick:t,title:"Delete diagram"})]}),i?O.jsx("div",{style:{alignItems:"center",display:"flex",justifyContent:"center",maxHeight:400,overflow:"auto",width:"100%"},children:O.jsx("div",{dangerouslySetInnerHTML:{__html:gq(i)},style:{lineHeight:0,maxWidth:"100%",width:"100%"}})}):O.jsx("div",{style:{alignItems:"center",color:a?"#cf1322":"#999",display:"flex",justifyContent:"center",minHeight:120,textAlign:"center"},children:s?"Generating preview...":a||"Double-click to edit diagram"})]})}const yq=E.memo(bq),xq=E.lazy(async()=>({default:(await Pe(async()=>{const{DiagramEditor:e}=await import("./DiagramEditor-BTRe45TX-Did98cnP.js");return{DiagramEditor:e}},__vite__mapDeps([34,25,23,24,26,27,28,29,30,31,32,33]))).DiagramEditor}));function kq({className:e,editor:t,node:n}){const[r,i]=E.useState(!1),s=n.__diagram,o=n.__svg;E.useLayoutEffect(()=>{const l=n.getKey();let h=!1;t.getEditorState().read(()=>{const d=Re(l);d&&v4(d)&&d.__autoOpenEditor&&(h=!0)}),h&&i(!0),h&&t.update(()=>{const d=Re(l);d&&v4(d)&&d.__autoOpenEditor&&d.clearAutoOpenEditor()})},[t,n.getKey()]);const a=E.useCallback(()=>{t.update(()=>{const l=n.getLatest(),h=l.getNextSibling(),d=l.getPreviousSibling();if(l.remove(),h){h.selectStart();return}d&&d.selectEnd()})},[t,n]),u=E.useCallback((l,h)=>{t.update(()=>{n.updateDiagram(l,h)}),i(!1)},[t,n]);return O.jsxs("div",{className:e,style:{margin:0},children:[O.jsx(yq,{diagram:s,onDelete:a,onEdit:()=>i(!0),onSvgReady:E.useCallback(l=>{t.update(()=>{n.updateDiagram(n.__diagram,l)})},[t,n]),svg:o}),r&&O.jsx(E.Suspense,{fallback:null,children:O.jsx(xq,{diagram:s,onClose:()=>i(!1),onSave:u})})]})}function FH({className:e,theme:t}){const[n]=vt(),r=E.useCallback((i,s)=>O.jsx(kq,{className:e,editor:s,node:i}),[e]);return E.useLayoutEffect(()=>{n.registerPlugin(dq,{decorator:r,theme:t})},[r,n,t]),null}const Nx=E.createContext(null),wq=({children:e,defaultVisible:t=!0})=>{const[n,r]=E.useState(t),i=E.useCallback(()=>r(o=>!o),[]),s=E.useMemo(()=>({setVisible:r,toggle:i,visible:n}),[i,n]);return O.jsx(Nx.Provider,{value:s,children:e})};wq.displayName="OutlineProvider";function $1(){return E.useContext(Nx)}function OH(){const e=$1();if(!e)throw new Error("useOutlineVisibility must be used within <OutlineProvider>.");return e}function Sq(e){const t=$1(),n=(e==null?void 0:e.visible)!==void 0&&(e==null?void 0:e.onVisibleChange)!==void 0;return E.useMemo(()=>n&&(e!=null&&e.onVisibleChange)?{ready:!0,toggle:()=>e.onVisibleChange(!e.visible),visible:e.visible}:t?{ready:!0,toggle:t.toggle,visible:t.visible}:{ready:!1},[e==null?void 0:e.onVisibleChange,e==null?void 0:e.visible,t,n])}xr();const PH=({editor:e,visible:t})=>{const n=$1(),r=E.useMemo(()=>t!==void 0?t:(n==null?void 0:n.visible)??!0,[t,n==null?void 0:n.visible]),[i,s]=E.useState([]),o=E.useCallback(()=>{const u=[],l=_r(),h=d=>{for(const g of d){if(Eo(g)){const m=g.getTextContent().trim();m&&u.push({key:g.getKey(),level:parseInt(g.getTag()[1],10),text:m})}if(fn(g)){const m=g.getChildren();m.length>0&&h(m)}}};h(l.getChildren()),s(u)},[]);E.useEffect(()=>{const u=e.getLexicalEditor();let l=Oo;const h=d=>(l=d.registerUpdateListener(({editorState:g})=>{g.read(o)}),d.getEditorState().read(o),l);return u?h(u):(e.on("initialized",h),()=>{l(),e.off("initialized",h)})},[e,o]);const a=E.useCallback(u=>{const l=e.getLexicalEditor();l&&(l.update(()=>{const h=bn();h.add(u),je(h)}),requestAnimationFrame(()=>{const h=l.getElementByKey(u);h&&h.scrollIntoView({behavior:"smooth",block:"center"})}))},[e]);return!r||i.length===0?null:O.jsxs("div",{style:{borderLeft:"1px solid rgba(0, 0, 0, 0.08)",paddingLeft:12},children:[O.jsx("div",{style:{color:"rgba(0,0,0,0.45)",fontSize:12,fontWeight:600,marginBottom:8},children:"OUTLINE"}),i.map(u=>O.jsx("div",{onClick:()=>a(u.key),onMouseEnter:l=>{l.currentTarget.style.background="rgba(0,0,0,0.04)"},onMouseLeave:l=>{l.currentTarget.style.background="transparent"},style:{borderRadius:4,color:"rgba(0,0,0,0.75)",cursor:"pointer",fontSize:13,lineHeight:"28px",overflow:"hidden",paddingLeft:(u.level-1)*16+8,textOverflow:"ellipsis",whiteSpace:"nowrap"},children:u.text},u.key))]})},vq="Hide outline",Cq="Show outline",_q="outline";function RH(e){const{collapseTitle:t=vq,expandTitle:n=Cq,onVisibleChange:r,visible:i}=e??{},s=Sq(i!==void 0&&r!==void 0?{onVisibleChange:r,visible:i}:void 0);return E.useMemo(()=>{if(!s.ready)return null;const{toggle:o,visible:a}=s;return{active:a,icon:a?bb:l9,key:_q,label:a?t:n,onClick:o}},[t,n,s])}xr();function Eq(e,t){const{domRows:n}=e;for(const[r,i]of n.entries())if(i)for(const[s,o]of i.entries()){if(!o)continue;const a=$r(o.elem);a!==null&&t(o,a,{x:s,y:r})}}function Tq(e,t){const n=t.elem,r=e._config.theme;yc(li($r(n)),"Expected to find LexicalNode from Table Cell DOMNode"),qt(n,r.tableCellSelected)}function Aq(e,t){const n=t.elem;yc(li($r(n)),"Expected to find LexicalNode from Table Cell DOMNode");const r=e._config.theme;la(n,r.tableCellSelected)}function Mq(e,t,n){const r=new Set(n?n.getNodes():[]);Eq(t,(i,s)=>{const o=i.elem;r.has(s)?(i.highlighted=!0,Tq(e,i)):(i.highlighted=!1,Aq(e,i),o.getAttribute("style")||o.removeAttribute("style"))})}function E4(e){const t=e.getShape();return{columns:t.toX-t.fromX+1,rows:t.toY-t.fromY+1}}function Nq(){const e=le();if(fe(e)&&!e.isCollapsed()||ci(e)&&!e.anchor.is(e.focus)||!fe(e)&&!ci(e))return!1;const[t]=sb(e.anchor);return t.__colSpan>1||t.__rowSpan>1}function Dq(e){const t=e.getLastDescendant();Ot(t)?t.select():fn(t)?t.selectEnd():t!==null&&t.selectNext()}function T4(e){return e.getEditorState().read(()=>{const t=le();if(fe(t)||ci(t)){const[n]=sb(t.anchor);if(li(n))return n.getBackgroundColor()}return null})}const Dx=E.memo(({editor:e,tableCellNode:t,cellMerge:n,children:r})=>{const[i,s]=E.useState(t),[o,a]=E.useState({columns:1,rows:1}),[u,l]=E.useState(!1),[h,d]=E.useState(!1),[,g]=E.useState(()=>T4(e)||""),m=nr();E.useEffect(()=>e.registerMutationListener(Uh,q=>{q.get(i.getKey())==="updated"&&(e.getEditorState().read(()=>{s(i.getLatest())}),g(T4(e)||""))},{skipInitialization:!0}),[e,i]),E.useEffect(()=>{e.getEditorState().read(()=>{const q=le();if(ci(q)){const U=E4(q);a(E4(q)),l(U.columns>1||U.rows>1)}d(Nq())})},[e]);const y=E.useCallback(()=>{e.update(()=>{if(i.isAttached()){const q=ni(i),U=Ia(q,e.getElementByKey(q.getKey()));if(U===null)throw new Error("TableActionMenu: Expected to find tableElement in DOM");const P=Wh(U);P!==null&&P.$clearHighlight(),q.markDirty(),s(i.getLatest())}je(null)})},[e,i]),w=()=>{e.update(()=>{const q=le();if(!ci(q))return;const U=ok(q.getNodes().filter(li));U&&Dq(U)})},_=()=>{e.update(()=>{ak()})},S=E.useCallback(q=>{e.update(()=>{for(let U=0;U<o.rows;U++)nb(q)})},[e,o.rows]),A=E.useCallback(q=>{e.update(()=>{for(let U=0;U<o.columns;U++)rb(q)})},[e,o.columns]),T=E.useCallback(()=>{e.update(()=>{tk()})},[e]),D=E.useCallback(()=>{e.update(()=>{ni(i).remove(),y()})},[e,i,y]),R=E.useCallback(()=>{e.update(()=>{nk()})},[e]),F=E.useCallback(()=>{e.update(()=>{const q=ni(i),U=dd(i),[P]=Kh(q,null,null),G=new Set,Z=i.getHeaderStyles()^Ju.ROW;for(let re=0;re<P[U].length;re++){const te=P[U][re];te!=null&&te.cell&&(G.has(te.cell)||(G.add(te.cell),te.cell.setHeaderStyles(Z,Ju.ROW)))}y()})},[e,i,y]),j=E.useCallback(()=>{e.update(()=>{const q=ni(i),U=ib(i),[P]=Kh(q,null,null),G=new Set,Z=i.getHeaderStyles()^Ju.COLUMN;for(const re of P){const te=re[U];te!=null&&te.cell&&(G.has(te.cell)||(G.add(te.cell),te.cell.setHeaderStyles(Z,Ju.COLUMN)))}y()})},[e,i,y]);return O.jsx(md,{menu:{items:E.useMemo(()=>[{icon:g9,key:"table-insert-row-above",label:m("table.insertRowAbove",{count:o.rows}),onClick:()=>S(!1)},{icon:d9,key:"table-insert-row-below",label:m("table.insertRowBelow",{count:o.rows}),onClick:()=>S(!0)},{type:"divider"},{icon:Uk,key:"table-insert-column-before",label:m("table.insertColumnLeft",{count:o.columns}),onClick:()=>A(!1)},{icon:bb,key:"table-insert-column-after",label:m("table.insertColumnRight",{count:o.columns}),onClick:()=>A(!0)},{type:"divider"},{icon:k9,key:"table-delete-columns",label:m("table.deleteColumn"),onClick:()=>R()},{icon:S9,key:"table-delete-rows",label:m("table.deleteRow"),onClick:()=>T()},{type:"divider"},{icon:o9,key:"table-delete",label:m("table.delete"),onClick:()=>D()}],[n,u,h,o.rows,o.columns,i.__headerState,w,_,S,A,R,T,D,F,j])},children:r})});Dx.displayName="TableActionMenu";const A4=nt(({css:e})=>({actionIcon:e`
1743
+ `}isInline(){return!1}updateDiagram(t,n){const r=this.getWritable();r.__diagram=t,r.__svg=n}updateDOM(){return!1}};function Mx(e="",t="",n){return wn(new Xs(e,t,void 0,(n==null?void 0:n.autoOpenEditor)??!1))}function v4(e){return e instanceof Xs}const uq=ct("INSERT_META2D_COMMAND");function lq(e){return e.registerCommand(uq,t=>(e.update(()=>{var n;Sn([Mx(((n=t==null?void 0:t.diagram)==null?void 0:n.trim())||vl,(t==null?void 0:t.svg)!==void 0&&t.svg.trim()!==""?t.svg:ec,{autoOpenEditor:(t==null?void 0:t.autoOpenEditor)??!0})])}),!0),_t)}nn();Pt();const cq=/^---meta2d---$/i,hq=/---meta2d---(\\n?)([\S\s]*?)\n?---\/meta2d---/i;function fq(e){return(e.children||[]).map(t=>"value"in t&&typeof t.value=="string"?t.value:"").join("")}var vo;const dq=(vo=class extends Ft{constructor(t,n){super(),this.kernel=t,this.config=n,t.registerNodes([Xs]),n!=null&&n.theme&&t.registerThemes(n.theme),this.registerDecorator(t,Xs.getType(),(r,i)=>n!=null&&n.decorator?n.decorator(r,i):null)}onInit(t){this.register(lq(t)),this.registerMarkdown()}registerMarkdown(){const t=this.kernel.requireService(Dt);t&&(t.registerMarkdownShortCut({regExp:cq,replace:n=>{const r=Mx(vl,ec,{autoOpenEditor:!0});n.replace(r);const i=bn();i.add(r.getKey()),je(i)},trigger:"enter",type:"element"}),t.registerMarkdownWriter(Xs.getType(),(n,r)=>{const i=r;return n.appendLine("---meta2d---"),n.appendLine(i.__diagram||vl),n.appendLine("---/meta2d---"),!0}),t.registerMarkdownReader("paragraph",n=>{var s;const r=fq(n).match(hq);if(!r)return!1;const i=((s=r[2])==null?void 0:s.trim())||vl;return Se.createTypeNode(Xs.getType(),{diagram:i,svg:ON(i)})},1))}},vo.pluginName="Meta2dPlugin",vo);let C4=null;function pq(){return C4??(C4=Pe(()=>import("./meta2dEngine-BD2XbzaV-BFAQue19.js"),__vite__mapDeps([23,24,25,26,27,28,29,30,31,32,33]))),C4}async function mq(e){return(await pq()).generateSvgFromDiagram(e)}function gq(e){const t=e.trimStart();return t.startsWith("<svg")?t.replace(/^<svg\b/,'<svg style="max-width:100%;height:auto;display:block;margin:0 auto" '):e}function _4({color:e,label:t,onClick:n,title:r}){return O.jsx("button",{onClick:i=>{i.preventDefault(),i.stopPropagation(),n()},style:{alignItems:"center",background:"#fff",border:"1px solid #e5e5e5",borderRadius:6,color:e,cursor:"pointer",display:"inline-flex",height:28,justifyContent:"center",width:28},title:r,type:"button",children:t})}function bq({diagram:e,onDelete:t,onEdit:n,onSvgReady:r,svg:i}){const[s,o]=E.useState(!1),[a,u]=E.useState(null),[l,h]=E.useState(!1),[d,g]=E.useState(!1),m=E.useRef(null);return E.useEffect(()=>{u(null),g(!1)},[e]),E.useEffect(()=>{if(!e||d||s)return;if(i){m.current=e;return}let y=!0;const w=window.setTimeout(()=>{y&&(u("Preview timeout (still loading). Double-click to open editor."),g(!0),o(!1))},5e3);return o(!0),mq(e).then(_=>{if(y){if(window.clearTimeout(w),_){m.current=e,r(_);return}u("Preview generation failed. Double-click to open editor."),g(!0)}}).finally(()=>{y&&o(!1)}),()=>{y=!1,window.clearTimeout(w)}},[e,d,r,i]),O.jsxs("div",{onDoubleClick:y=>{y.stopPropagation(),n()},onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),style:{background:"#fff",border:"1px solid #efefef",borderRadius:10,cursor:"pointer",minHeight:140,overflow:"hidden",padding:10,position:"relative"},children:[l&&!!i&&O.jsxs("div",{style:{display:"flex",gap:8,position:"absolute",right:10,top:10,zIndex:1},children:[O.jsx(_4,{color:"#1677ff",label:"✎",onClick:n,title:"Edit diagram"}),O.jsx(_4,{color:"#ff4d4f",label:"🗑",onClick:t,title:"Delete diagram"})]}),i?O.jsx("div",{style:{alignItems:"center",display:"flex",justifyContent:"center",maxHeight:400,overflow:"auto",width:"100%"},children:O.jsx("div",{dangerouslySetInnerHTML:{__html:gq(i)},style:{lineHeight:0,maxWidth:"100%",width:"100%"}})}):O.jsx("div",{style:{alignItems:"center",color:a?"#cf1322":"#999",display:"flex",justifyContent:"center",minHeight:120,textAlign:"center"},children:s?"Generating preview...":a||"Double-click to edit diagram"})]})}const yq=E.memo(bq),xq=E.lazy(async()=>({default:(await Pe(async()=>{const{DiagramEditor:e}=await import("./DiagramEditor-BTRe45TX-D1vc5s9F.js");return{DiagramEditor:e}},__vite__mapDeps([34,25,23,24,26,27,28,29,30,31,32,33]))).DiagramEditor}));function kq({className:e,editor:t,node:n}){const[r,i]=E.useState(!1),s=n.__diagram,o=n.__svg;E.useLayoutEffect(()=>{const l=n.getKey();let h=!1;t.getEditorState().read(()=>{const d=Re(l);d&&v4(d)&&d.__autoOpenEditor&&(h=!0)}),h&&i(!0),h&&t.update(()=>{const d=Re(l);d&&v4(d)&&d.__autoOpenEditor&&d.clearAutoOpenEditor()})},[t,n.getKey()]);const a=E.useCallback(()=>{t.update(()=>{const l=n.getLatest(),h=l.getNextSibling(),d=l.getPreviousSibling();if(l.remove(),h){h.selectStart();return}d&&d.selectEnd()})},[t,n]),u=E.useCallback((l,h)=>{t.update(()=>{n.updateDiagram(l,h)}),i(!1)},[t,n]);return O.jsxs("div",{className:e,style:{margin:0},children:[O.jsx(yq,{diagram:s,onDelete:a,onEdit:()=>i(!0),onSvgReady:E.useCallback(l=>{t.update(()=>{n.updateDiagram(n.__diagram,l)})},[t,n]),svg:o}),r&&O.jsx(E.Suspense,{fallback:null,children:O.jsx(xq,{diagram:s,onClose:()=>i(!1),onSave:u})})]})}function FH({className:e,theme:t}){const[n]=vt(),r=E.useCallback((i,s)=>O.jsx(kq,{className:e,editor:s,node:i}),[e]);return E.useLayoutEffect(()=>{n.registerPlugin(dq,{decorator:r,theme:t})},[r,n,t]),null}const Nx=E.createContext(null),wq=({children:e,defaultVisible:t=!0})=>{const[n,r]=E.useState(t),i=E.useCallback(()=>r(o=>!o),[]),s=E.useMemo(()=>({setVisible:r,toggle:i,visible:n}),[i,n]);return O.jsx(Nx.Provider,{value:s,children:e})};wq.displayName="OutlineProvider";function $1(){return E.useContext(Nx)}function OH(){const e=$1();if(!e)throw new Error("useOutlineVisibility must be used within <OutlineProvider>.");return e}function Sq(e){const t=$1(),n=(e==null?void 0:e.visible)!==void 0&&(e==null?void 0:e.onVisibleChange)!==void 0;return E.useMemo(()=>n&&(e!=null&&e.onVisibleChange)?{ready:!0,toggle:()=>e.onVisibleChange(!e.visible),visible:e.visible}:t?{ready:!0,toggle:t.toggle,visible:t.visible}:{ready:!1},[e==null?void 0:e.onVisibleChange,e==null?void 0:e.visible,t,n])}xr();const PH=({editor:e,visible:t})=>{const n=$1(),r=E.useMemo(()=>t!==void 0?t:(n==null?void 0:n.visible)??!0,[t,n==null?void 0:n.visible]),[i,s]=E.useState([]),o=E.useCallback(()=>{const u=[],l=_r(),h=d=>{for(const g of d){if(Eo(g)){const m=g.getTextContent().trim();m&&u.push({key:g.getKey(),level:parseInt(g.getTag()[1],10),text:m})}if(fn(g)){const m=g.getChildren();m.length>0&&h(m)}}};h(l.getChildren()),s(u)},[]);E.useEffect(()=>{const u=e.getLexicalEditor();let l=Oo;const h=d=>(l=d.registerUpdateListener(({editorState:g})=>{g.read(o)}),d.getEditorState().read(o),l);return u?h(u):(e.on("initialized",h),()=>{l(),e.off("initialized",h)})},[e,o]);const a=E.useCallback(u=>{const l=e.getLexicalEditor();l&&(l.update(()=>{const h=bn();h.add(u),je(h)}),requestAnimationFrame(()=>{const h=l.getElementByKey(u);h&&h.scrollIntoView({behavior:"smooth",block:"center"})}))},[e]);return!r||i.length===0?null:O.jsxs("div",{style:{borderLeft:"1px solid rgba(0, 0, 0, 0.08)",paddingLeft:12},children:[O.jsx("div",{style:{color:"rgba(0,0,0,0.45)",fontSize:12,fontWeight:600,marginBottom:8},children:"OUTLINE"}),i.map(u=>O.jsx("div",{onClick:()=>a(u.key),onMouseEnter:l=>{l.currentTarget.style.background="rgba(0,0,0,0.04)"},onMouseLeave:l=>{l.currentTarget.style.background="transparent"},style:{borderRadius:4,color:"rgba(0,0,0,0.75)",cursor:"pointer",fontSize:13,lineHeight:"28px",overflow:"hidden",paddingLeft:(u.level-1)*16+8,textOverflow:"ellipsis",whiteSpace:"nowrap"},children:u.text},u.key))]})},vq="Hide outline",Cq="Show outline",_q="outline";function RH(e){const{collapseTitle:t=vq,expandTitle:n=Cq,onVisibleChange:r,visible:i}=e??{},s=Sq(i!==void 0&&r!==void 0?{onVisibleChange:r,visible:i}:void 0);return E.useMemo(()=>{if(!s.ready)return null;const{toggle:o,visible:a}=s;return{active:a,icon:a?bb:l9,key:_q,label:a?t:n,onClick:o}},[t,n,s])}xr();function Eq(e,t){const{domRows:n}=e;for(const[r,i]of n.entries())if(i)for(const[s,o]of i.entries()){if(!o)continue;const a=$r(o.elem);a!==null&&t(o,a,{x:s,y:r})}}function Tq(e,t){const n=t.elem,r=e._config.theme;yc(li($r(n)),"Expected to find LexicalNode from Table Cell DOMNode"),qt(n,r.tableCellSelected)}function Aq(e,t){const n=t.elem;yc(li($r(n)),"Expected to find LexicalNode from Table Cell DOMNode");const r=e._config.theme;la(n,r.tableCellSelected)}function Mq(e,t,n){const r=new Set(n?n.getNodes():[]);Eq(t,(i,s)=>{const o=i.elem;r.has(s)?(i.highlighted=!0,Tq(e,i)):(i.highlighted=!1,Aq(e,i),o.getAttribute("style")||o.removeAttribute("style"))})}function E4(e){const t=e.getShape();return{columns:t.toX-t.fromX+1,rows:t.toY-t.fromY+1}}function Nq(){const e=le();if(fe(e)&&!e.isCollapsed()||ci(e)&&!e.anchor.is(e.focus)||!fe(e)&&!ci(e))return!1;const[t]=sb(e.anchor);return t.__colSpan>1||t.__rowSpan>1}function Dq(e){const t=e.getLastDescendant();Ot(t)?t.select():fn(t)?t.selectEnd():t!==null&&t.selectNext()}function T4(e){return e.getEditorState().read(()=>{const t=le();if(fe(t)||ci(t)){const[n]=sb(t.anchor);if(li(n))return n.getBackgroundColor()}return null})}const Dx=E.memo(({editor:e,tableCellNode:t,cellMerge:n,children:r})=>{const[i,s]=E.useState(t),[o,a]=E.useState({columns:1,rows:1}),[u,l]=E.useState(!1),[h,d]=E.useState(!1),[,g]=E.useState(()=>T4(e)||""),m=nr();E.useEffect(()=>e.registerMutationListener(Uh,q=>{q.get(i.getKey())==="updated"&&(e.getEditorState().read(()=>{s(i.getLatest())}),g(T4(e)||""))},{skipInitialization:!0}),[e,i]),E.useEffect(()=>{e.getEditorState().read(()=>{const q=le();if(ci(q)){const U=E4(q);a(E4(q)),l(U.columns>1||U.rows>1)}d(Nq())})},[e]);const y=E.useCallback(()=>{e.update(()=>{if(i.isAttached()){const q=ni(i),U=Ia(q,e.getElementByKey(q.getKey()));if(U===null)throw new Error("TableActionMenu: Expected to find tableElement in DOM");const P=Wh(U);P!==null&&P.$clearHighlight(),q.markDirty(),s(i.getLatest())}je(null)})},[e,i]),w=()=>{e.update(()=>{const q=le();if(!ci(q))return;const U=ok(q.getNodes().filter(li));U&&Dq(U)})},_=()=>{e.update(()=>{ak()})},S=E.useCallback(q=>{e.update(()=>{for(let U=0;U<o.rows;U++)nb(q)})},[e,o.rows]),A=E.useCallback(q=>{e.update(()=>{for(let U=0;U<o.columns;U++)rb(q)})},[e,o.columns]),T=E.useCallback(()=>{e.update(()=>{tk()})},[e]),D=E.useCallback(()=>{e.update(()=>{ni(i).remove(),y()})},[e,i,y]),R=E.useCallback(()=>{e.update(()=>{nk()})},[e]),F=E.useCallback(()=>{e.update(()=>{const q=ni(i),U=dd(i),[P]=Kh(q,null,null),G=new Set,Z=i.getHeaderStyles()^Ju.ROW;for(let re=0;re<P[U].length;re++){const te=P[U][re];te!=null&&te.cell&&(G.has(te.cell)||(G.add(te.cell),te.cell.setHeaderStyles(Z,Ju.ROW)))}y()})},[e,i,y]),j=E.useCallback(()=>{e.update(()=>{const q=ni(i),U=ib(i),[P]=Kh(q,null,null),G=new Set,Z=i.getHeaderStyles()^Ju.COLUMN;for(const re of P){const te=re[U];te!=null&&te.cell&&(G.has(te.cell)||(G.add(te.cell),te.cell.setHeaderStyles(Z,Ju.COLUMN)))}y()})},[e,i,y]);return O.jsx(md,{menu:{items:E.useMemo(()=>[{icon:g9,key:"table-insert-row-above",label:m("table.insertRowAbove",{count:o.rows}),onClick:()=>S(!1)},{icon:d9,key:"table-insert-row-below",label:m("table.insertRowBelow",{count:o.rows}),onClick:()=>S(!0)},{type:"divider"},{icon:Uk,key:"table-insert-column-before",label:m("table.insertColumnLeft",{count:o.columns}),onClick:()=>A(!1)},{icon:bb,key:"table-insert-column-after",label:m("table.insertColumnRight",{count:o.columns}),onClick:()=>A(!0)},{type:"divider"},{icon:k9,key:"table-delete-columns",label:m("table.deleteColumn"),onClick:()=>R()},{icon:S9,key:"table-delete-rows",label:m("table.deleteRow"),onClick:()=>T()},{type:"divider"},{icon:o9,key:"table-delete",label:m("table.delete"),onClick:()=>D()}],[n,u,h,o.rows,o.columns,i.__headerState,w,_,S,A,R,T,D,F,j])},children:r})});Dx.displayName="TableActionMenu";const A4=nt(({css:e})=>({actionIcon:e`
1744
1744
  transform: translateX(2px);
1745
1745
  `,root:e`
1746
1746
  will-change: transform;
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/diagram-BJFhx-27.js","assets/react-vendor-BNpqFP9B.js"])))=>i.map(i=>d[i]);
2
- var oS=Object.defineProperty;var iS=(e,t,r)=>t in e?oS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var he=(e,t,r)=>iS(e,typeof t!="symbol"?t+"":t,r);import{r as d,j as N,R as q,a as aS,b as _o,c as sS,g as Ml,d as Xi,m as Il,T as ou,e as C5,f as S5,h as k5,i as $5,k as D5,l as bb,n as lS,M as cS,o as uS,p as dS,q as vb,s as fS,t as pS,u as mS,v as hS,w as _5,S as gS,x as bS,y as vS,z as yS,A as nd,B as xS,_ as Th,C as wS,P as CS,D as iu,E as SS,F as kS,G as $S,H as DS,I as _S,J as ES,K as MS,L as yb,N as jh,O as IS,Q as FS,U as TS,V as jS,W as AS,X as RS,Y as zS,Z as BS,$ as PS,a0 as xb,a1 as wb,a2 as Cb,a3 as ma,a4 as NS,a5 as OS,a6 as LS,a7 as HS}from"./react-vendor-BNpqFP9B.js";import{c as qS,r as WS,g as VS,s as Ah,G as GS,m as il,u as US,C as qn,M as XS,a as YS,_ as Xt,b as E5,d as Rh,T as KS,e as ZS}from"./motion-D-I76zAi.js";const zh=d.createContext(null);d.memo(({children:e,motion:t})=>N.jsx(zh,{value:t,children:e}));const Dee=()=>{const e=d.use(zh);if(!e)throw new Error("Please wrap your app with <ConfigProvider> (or <MotionProvider>) and pass the motion component");return e};function QS(e){var t=[];if(e.length===0)return"";if(typeof e[0]!="string")throw new TypeError("Url must be a string. Received "+e[0]);if(e[0].match(/^[^/:]+:\/*$/)&&e.length>1){var r=e.shift();e[0]=r+e[0]}e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(var n=0;n<e.length;n++){var o=e[n];if(typeof o!="string")throw new TypeError("Url must be a string. Received "+o);o!==""&&(n>0&&(o=o.replace(/^[\/]+/,"")),n<e.length-1?o=o.replace(/[\/]+$/,""):o=o.replace(/[\/]+$/,"/"),t.push(o))}var i=t.join("/");i=i.replace(/\/(\?|&|#[^!])/g,"$1");var a=i.split("?");return i=a.shift()+(a.length>0?"?":"")+a.join("&"),i}function Sb(){var e;return typeof arguments[0]=="object"?e=arguments[0]:e=[].slice.call(arguments),QS(e)}const JS="https://unpkg.com",ek="https://registry.npmmirror.com",M5=({pkg:e,version:t="latest",path:r,proxy:n})=>{switch(n){case"unpkg":return Sb(JS,`${e}@${t}`,r);default:return Sb(ek,e,t,"files",r)}},Bh=d.createContext(null),I5=d.createContext({locale:"en",t:e=>e}),sc=e=>typeof(e==null?void 0:e.then)=="function",_ee=d.memo(({children:e,config:t,locale:r,resources:n,motion:o})=>{const i=r??"en",[a,s]=d.useState(()=>n&&!sc(n)?n:void 0),[l,c]=d.useState(i),u=d.useRef(0);d.useEffect(()=>{const m=++u.current;if(!n){s(void 0),c(i);return}if(sc(n)){const h=i;n.then(g=>{u.current===m&&(s(g),c(h))}).catch(()=>{u.current});return}s(n),c(i)},[i,n]);const f=sc(n)?a:n,p=sc(n)?l:i;return N.jsx(I5,{value:d.useMemo(()=>{const m=Array.isArray(f)?f:f?Object.values(f):[],h=Object.assign({},...m);return{locale:p,t:v=>h[v]||v}},[p,f]),children:N.jsx(Bh,{value:t??null,children:N.jsx(zh,{value:o,children:e})})})}),kb=({pkg:e,version:t,path:r})=>M5({path:r,pkg:e,proxy:"aliyun",version:t}),Ph=()=>{const e=d.use(Bh);return e?(e==null?void 0:e.proxy)!=="custom"?({pkg:t,version:r,path:n})=>M5({path:n,pkg:t,proxy:e.proxy,version:r}):(e==null?void 0:e.customCdnFn)||kb:kb},tk=()=>d.use(I5);function Fo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function cr(e){"@babel/helpers - typeof";return cr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cr(e)}function rk(e,t){if(cr(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(cr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function F5(e){var t=rk(e,"string");return cr(t)=="symbol"?t:t+""}function nk(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,F5(n.key),n)}}function To(e,t,r){return t&&nk(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Kt(e,t,r){return(t=F5(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ok=function(){function e(){Fo(this,e),Kt(this,"_cacheList",[qS])}return To(e,[{key:"add",value:function(r){var n=this.getCache(r.key);return n||(this._cacheList.push(r),r)}},{key:"delete",value:function(r){this._cacheList=this._cacheList.filter(function(n){return n.key!==r.key})}},{key:"hasCache",value:function(r){return this._cacheList.some(function(n){return n.key===r.key})}},{key:"getCache",value:function(r){return this._cacheList.find(function(n){return n.key===r})}},{key:"getCacheList",value:function(){return this._cacheList}}]),e}(),$b=typeof document<"u",T5=function(t,r){return"".concat(t,"-").concat(r)},ik=function(t,r,n,o){var i=o.hashPriority;WS(t,r,n);var a=".".concat(T5(t.key,r.name)),s=i==="low"?":where(".concat(a,")"):a;if(t.inserted[r.name]===void 0){var l="",c=r;do{var u=t.insert(r===c?s:"",c,t.sheet,!0);!$b&&u!==void 0&&(l+=u),c=c.next}while(c!==void 0);if(!$b&&l.length!==0)return l}},Nh=function(t){return cr(t)==="object"&&"styles"in t&&"name"in t&&"toString"in t},ak=function e(t){for(var r="",n=0;n<t.length;n++){var o=t[n];if(o!==null){var i=void 0;switch(cr(o)){case"boolean":break;case"object":{if(Array.isArray(o))i=e(o);else{i="";for(var a in o)o[a]&&a&&(i&&(i+=" "),i+=a)}break}default:i=o}i&&(r&&(r+=" "),r+=i)}}return r},sk=function(t,r,n){var o=[],i=VS(t,o,n);return o.length<2?n:i+r(o)},lk=function(t,r){return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];var a=Ah(o,t.registered,void 0);return ik(t,a,!1,r),T5(t.key,a.name)}},ck=function(t,r){return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];var a=o.map(function(s){return Nh(s)?r(s):s});return sk(t.registered,r,ak(a))}},Oh=function(t,r){var n=lk(t,{hashPriority:r.hashPriority||"high",label:r.label}),o=ck(t,n);return{css:n,cx:o}},Fl=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return Ah(r)},j5="acss";function Db(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function st(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Db(Object(r),!0).forEach(function(n){Kt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Db(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var uk=function(t){return d.createContext(t)},dk=function(t){return function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return d.memo(function(i){var a=t();return N.jsx(GS,{styles:Ah(n,void 0,st(st({},i),{},{theme:a}))})})}};const dt=e=>{const t=d.useRef(e);return t.current=e,d.useCallback((...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)},[])};function uo(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}const _b=uo()?d.useLayoutEffect:d.useEffect,Wt=(e,t)=>{const r=d.useRef(!0);_b(()=>e(r.current),t),_b(()=>(r.current=!1,()=>{r.current=!0}),[])},b0=(e,t)=>{Wt(r=>{if(!r)return e()},t)},fk=e=>{const t=d.useRef(!1),[r,n]=d.useState(e);d.useEffect(()=>(t.current=!1,()=>{t.current=!0}),[]);function o(i,a){a&&t.current||n(i)}return[r,o]};function er(e,t){const[r,n]=d.useState(e),o=t!==void 0?t:r;return Wt(i=>{i||n(t)},[t]),[o,n]}var A5={exports:{}},Zt={};/**
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/diagram-gfUK8OHx.js","assets/react-vendor-BNpqFP9B.js"])))=>i.map(i=>d[i]);
2
+ var oS=Object.defineProperty;var iS=(e,t,r)=>t in e?oS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var he=(e,t,r)=>iS(e,typeof t!="symbol"?t+"":t,r);import{r as d,j as N,R as q,a as aS,b as _o,c as sS,g as Ml,d as Xi,m as Il,T as ou,e as C5,f as S5,h as k5,i as $5,k as D5,l as bb,n as lS,M as cS,o as uS,p as dS,q as vb,s as fS,t as pS,u as mS,v as hS,w as _5,S as gS,x as bS,y as vS,z as yS,A as nd,B as xS,_ as Th,C as wS,P as CS,D as iu,E as SS,F as kS,G as $S,H as DS,I as _S,J as ES,K as MS,L as yb,N as jh,O as IS,Q as FS,U as TS,V as jS,W as AS,X as RS,Y as zS,Z as BS,$ as PS,a0 as xb,a1 as wb,a2 as Cb,a3 as ma,a4 as NS,a5 as OS,a6 as LS,a7 as HS}from"./react-vendor-BNpqFP9B.js";import{c as qS,r as WS,g as VS,s as Ah,G as GS,m as il,u as US,C as qn,M as XS,a as YS,_ as Xt,b as E5,d as Rh,T as KS,e as ZS}from"./motion-C4pN8CfU.js";const zh=d.createContext(null);d.memo(({children:e,motion:t})=>N.jsx(zh,{value:t,children:e}));const Dee=()=>{const e=d.use(zh);if(!e)throw new Error("Please wrap your app with <ConfigProvider> (or <MotionProvider>) and pass the motion component");return e};function QS(e){var t=[];if(e.length===0)return"";if(typeof e[0]!="string")throw new TypeError("Url must be a string. Received "+e[0]);if(e[0].match(/^[^/:]+:\/*$/)&&e.length>1){var r=e.shift();e[0]=r+e[0]}e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(var n=0;n<e.length;n++){var o=e[n];if(typeof o!="string")throw new TypeError("Url must be a string. Received "+o);o!==""&&(n>0&&(o=o.replace(/^[\/]+/,"")),n<e.length-1?o=o.replace(/[\/]+$/,""):o=o.replace(/[\/]+$/,"/"),t.push(o))}var i=t.join("/");i=i.replace(/\/(\?|&|#[^!])/g,"$1");var a=i.split("?");return i=a.shift()+(a.length>0?"?":"")+a.join("&"),i}function Sb(){var e;return typeof arguments[0]=="object"?e=arguments[0]:e=[].slice.call(arguments),QS(e)}const JS="https://unpkg.com",ek="https://registry.npmmirror.com",M5=({pkg:e,version:t="latest",path:r,proxy:n})=>{switch(n){case"unpkg":return Sb(JS,`${e}@${t}`,r);default:return Sb(ek,e,t,"files",r)}},Bh=d.createContext(null),I5=d.createContext({locale:"en",t:e=>e}),sc=e=>typeof(e==null?void 0:e.then)=="function",_ee=d.memo(({children:e,config:t,locale:r,resources:n,motion:o})=>{const i=r??"en",[a,s]=d.useState(()=>n&&!sc(n)?n:void 0),[l,c]=d.useState(i),u=d.useRef(0);d.useEffect(()=>{const m=++u.current;if(!n){s(void 0),c(i);return}if(sc(n)){const h=i;n.then(g=>{u.current===m&&(s(g),c(h))}).catch(()=>{u.current});return}s(n),c(i)},[i,n]);const f=sc(n)?a:n,p=sc(n)?l:i;return N.jsx(I5,{value:d.useMemo(()=>{const m=Array.isArray(f)?f:f?Object.values(f):[],h=Object.assign({},...m);return{locale:p,t:v=>h[v]||v}},[p,f]),children:N.jsx(Bh,{value:t??null,children:N.jsx(zh,{value:o,children:e})})})}),kb=({pkg:e,version:t,path:r})=>M5({path:r,pkg:e,proxy:"aliyun",version:t}),Ph=()=>{const e=d.use(Bh);return e?(e==null?void 0:e.proxy)!=="custom"?({pkg:t,version:r,path:n})=>M5({path:n,pkg:t,proxy:e.proxy,version:r}):(e==null?void 0:e.customCdnFn)||kb:kb},tk=()=>d.use(I5);function Fo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function cr(e){"@babel/helpers - typeof";return cr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cr(e)}function rk(e,t){if(cr(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(cr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function F5(e){var t=rk(e,"string");return cr(t)=="symbol"?t:t+""}function nk(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,F5(n.key),n)}}function To(e,t,r){return t&&nk(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Kt(e,t,r){return(t=F5(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ok=function(){function e(){Fo(this,e),Kt(this,"_cacheList",[qS])}return To(e,[{key:"add",value:function(r){var n=this.getCache(r.key);return n||(this._cacheList.push(r),r)}},{key:"delete",value:function(r){this._cacheList=this._cacheList.filter(function(n){return n.key!==r.key})}},{key:"hasCache",value:function(r){return this._cacheList.some(function(n){return n.key===r.key})}},{key:"getCache",value:function(r){return this._cacheList.find(function(n){return n.key===r})}},{key:"getCacheList",value:function(){return this._cacheList}}]),e}(),$b=typeof document<"u",T5=function(t,r){return"".concat(t,"-").concat(r)},ik=function(t,r,n,o){var i=o.hashPriority;WS(t,r,n);var a=".".concat(T5(t.key,r.name)),s=i==="low"?":where(".concat(a,")"):a;if(t.inserted[r.name]===void 0){var l="",c=r;do{var u=t.insert(r===c?s:"",c,t.sheet,!0);!$b&&u!==void 0&&(l+=u),c=c.next}while(c!==void 0);if(!$b&&l.length!==0)return l}},Nh=function(t){return cr(t)==="object"&&"styles"in t&&"name"in t&&"toString"in t},ak=function e(t){for(var r="",n=0;n<t.length;n++){var o=t[n];if(o!==null){var i=void 0;switch(cr(o)){case"boolean":break;case"object":{if(Array.isArray(o))i=e(o);else{i="";for(var a in o)o[a]&&a&&(i&&(i+=" "),i+=a)}break}default:i=o}i&&(r&&(r+=" "),r+=i)}}return r},sk=function(t,r,n){var o=[],i=VS(t,o,n);return o.length<2?n:i+r(o)},lk=function(t,r){return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];var a=Ah(o,t.registered,void 0);return ik(t,a,!1,r),T5(t.key,a.name)}},ck=function(t,r){return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];var a=o.map(function(s){return Nh(s)?r(s):s});return sk(t.registered,r,ak(a))}},Oh=function(t,r){var n=lk(t,{hashPriority:r.hashPriority||"high",label:r.label}),o=ck(t,n);return{css:n,cx:o}},Fl=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return Ah(r)},j5="acss";function Db(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function st(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Db(Object(r),!0).forEach(function(n){Kt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Db(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var uk=function(t){return d.createContext(t)},dk=function(t){return function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return d.memo(function(i){var a=t();return N.jsx(GS,{styles:Ah(n,void 0,st(st({},i),{},{theme:a}))})})}};const dt=e=>{const t=d.useRef(e);return t.current=e,d.useCallback((...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)},[])};function uo(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}const _b=uo()?d.useLayoutEffect:d.useEffect,Wt=(e,t)=>{const r=d.useRef(!0);_b(()=>e(r.current),t),_b(()=>(r.current=!1,()=>{r.current=!0}),[])},b0=(e,t)=>{Wt(r=>{if(!r)return e()},t)},fk=e=>{const t=d.useRef(!1),[r,n]=d.useState(e);d.useEffect(()=>(t.current=!1,()=>{t.current=!0}),[]);function o(i,a){a&&t.current||n(i)}return[r,o]};function er(e,t){const[r,n]=d.useState(e),o=t!==void 0?t:r;return Wt(i=>{i||n(t)},[t]),[o,n]}var A5={exports:{}},Zt={};/**
3
3
  * @license React
4
4
  * react-is.production.min.js
5
5
  *
@@ -2710,7 +2710,7 @@ l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
2710
2710
  overflow: hidden;
2711
2711
  max-width: 100%;
2712
2712
  height: auto;
2713
- `})),WG=fr(wn.root,{defaultVariants:{variant:"filled"},variants:{variant:{filled:wn.filled,outlined:wn.outlined,borderless:wn.borderless}}}),VG="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjM0IzQjNCIi8+CjxwYXRoIGQ9Ik0xNTYuODg4IDkxLjAwMkgxMDAuMTEyQzk1LjYzMjkgOTEuMDAyIDkyLjAwMTUgOTQuNjMzNCA5Mi4wMDE1IDk5LjExMjdWMTU1Ljg4OEM5Mi4wMDE1IDE2MC4zNjcgOTUuNjMyOSAxNjMuOTk5IDEwMC4xMTIgMTYzLjk5OUgxNTYuODg4QzE2MS4zNjcgMTYzLjk5OSAxNjQuOTk4IDE2MC4zNjcgMTY0Ljk5OCAxNTUuODg4Vjk5LjExMjdDMTY0Ljk5OCA5NC42MzM0IDE2MS4zNjcgOTEuMDAyIDE1Ni44ODggOTEuMDAyWiIgc3Ryb2tlPSIjNjI2MjYyIiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTY0Ljk5OCAxMzkuNjY4TDE1Mi40ODQgMTI3LjE1M0MxNTAuOTYyIDEyNS42MzIgMTQ4LjkgMTI0Ljc3OCAxNDYuNzQ5IDEyNC43NzhDMTQ0LjU5OSAxMjQuNzc4IDE0Mi41MzYgMTI1LjYzMiAxNDEuMDE1IDEyNy4xNTNMMTA0LjE2OCAxNjRNMTE2LjMzNCAxMjMuNDQ1QzEyMC44MTMgMTIzLjQ0NSAxMjQuNDQ1IDExOS44MTQgMTI0LjQ0NSAxMTUuMzM0QzEyNC40NDUgMTEwLjg1NSAxMjAuODEzIDEwNy4yMjQgMTE2LjMzNCAxMDcuMjI0QzExMS44NTUgMTA3LjIyNCAxMDguMjIzIDExMC44NTUgMTA4LjIyMyAxMTUuMzM0QzEwOC4yMjMgMTE5LjgxNCAxMTEuODU1IDEyMy40NDUgMTE2LjMzNCAxMjMuNDQ1WiIgc3Ryb2tlPSIjNjI2MjYyIiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",GG="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjRUNFQ0VDIi8+CjxwYXRoIGQ9Ik0xNTYuODg4IDkxLjAwMkgxMDAuMTEyQzk1LjYzMjkgOTEuMDAyIDkyLjAwMTUgOTQuNjMzNCA5Mi4wMDE1IDk5LjExMjdWMTU1Ljg4OEM5Mi4wMDE1IDE2MC4zNjcgOTUuNjMyOSAxNjMuOTk5IDEwMC4xMTIgMTYzLjk5OUgxNTYuODg4QzE2MS4zNjcgMTYzLjk5OSAxNjQuOTk4IDE2MC4zNjcgMTY0Ljk5OCAxNTUuODg4Vjk5LjExMjdDMTY0Ljk5OCA5NC42MzM0IDE2MS4zNjcgOTEuMDAyIDE1Ni44ODggOTEuMDAyWiIgc3Ryb2tlPSIjRDdEN0Q3IiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTY0Ljk5OCAxMzkuNjY4TDE1Mi40ODQgMTI3LjE1M0MxNTAuOTYyIDEyNS42MzIgMTQ4LjkgMTI0Ljc3OCAxNDYuNzQ5IDEyNC43NzhDMTQ0LjU5OSAxMjQuNzc4IDE0Mi41MzYgMTI1LjYzMiAxNDEuMDE1IDEyNy4xNTNMMTA0LjE2OCAxNjRNMTE2LjMzNCAxMjMuNDQ1QzEyMC44MTMgMTIzLjQ0NSAxMjQuNDQ1IDExOS44MTQgMTI0LjQ0NSAxMTUuMzM0QzEyNC40NDUgMTEwLjg1NSAxMjAuODEzIDEwNy4yMjQgMTE2LjMzNCAxMDcuMjI0QzExMS44NTUgMTA3LjIyNCAxMDguMjIzIDExMC44NTUgMTA4LjIyMyAxMTUuMzM0QzEwOC4yMjMgMTE5LjgxNCAxMTEuODU1IDEyMy40NDUgMTE2LjMzNCAxMjMuNDQ1WiIgc3Ryb2tlPSIjRDdEN0Q3IiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",GC=d.memo(({children:e,visible:t})=>{const r=d.useRef(null);return d.useEffect(()=>{if(!r.current)return;const n=o=>{o.preventDefault()};t?r.current.addEventListener("wheel",n,{passive:!1}):r.current.removeEventListener("wheel",n)},[t]),N.jsx("div",{ref:r,children:e})});var UG={"image.copy":"Copy","image.copyFailed":"Copy Failed","image.copySuccess":"Copy Success","image.download":"Download","image.downloadFailed":"Download Failed","image.downloadSuccess":"Download Success","image.flipHorizontal":"Flip Horizontal","image.flipVertical":"Flip Vertical","image.rotateLeft":"Rotate Left","image.rotateRight":"Rotate Right","image.zoomIn":"Zoom In","image.zoomOut":"Zoom Out"};const XG=e=>new Promise((t,r)=>{const n=new Image,o=URL.createObjectURL(e);n.onload=()=>{URL.revokeObjectURL(o);const i=document.createElement("canvas");i.width=n.naturalWidth,i.height=n.naturalHeight;const a=i.getContext("2d");if(!a){r(new Error("Canvas context not available"));return}a.drawImage(n,0,0),i.toBlob(s=>{s?t(s):r(new Error("Failed to convert to PNG"))},"image/png",1)},n.onerror=()=>{URL.revokeObjectURL(o),r(new Error("Failed to load image"))},n.src=o}),YG=async e=>{const t=(e.type||"").toLowerCase();return t==="image/png"||t==="image/svg+xml"?{[t]:e}:{"image/png":await XG(e)}},KG=e=>{try{const t=new URL(e).pathname.match(/\/([^/]+)$/);return t?decodeURIComponent(t[1]):"image"}catch{return"image"}},ZG=e=>{var t;return{"image/svg+xml":"svg","image/png":"png","image/jpeg":"jpg","image/jpg":"jpg","image/webp":"webp","image/gif":"gif"}[e==null?void 0:e.toLowerCase()]||((t=e==null?void 0:e.split("/")[1])==null?void 0:t.split("+")[0])||"png"},UC=d.memo(({children:e,info:t,minScale:r,maxScale:n})=>{const{t:o}=IW(UG),[i,a]=d.useState(null),[s,l]=d.useState(!1),[c,u]=d.useState(!1),{transform:{scale:f},actions:{onFlipY:p,onFlipX:m,onRotateLeft:h,onRotateRight:g,onZoomOut:v,onZoomIn:b},image:{url:y}}=t,x=d.useCallback(async()=>{u(!0);try{const S=await(await fetch(y,{mode:"cors"})).blob(),C=URL.createObjectURL(S);let k=KG(y);const D=ZG(S.type);k.includes(".")?k.endsWith(".svg+xml")&&(k=k.replace(/\.svg\+xml$/i,".svg")):k=`${k}.${D}`,await jW(C,k),URL.revokeObjectURL(C),La.success(o("image.downloadSuccess"))}catch{La.error(o("image.downloadFailed"))}finally{u(!1)}},[y,o]),w=d.useCallback(async()=>{l(!0);try{const S=await YG(await(await fetch(y,{mode:"cors"})).blob());await navigator.clipboard.write([new ClipboardItem(S)]),La.success(o("image.copySuccess"))}catch{La.error(o("image.copyFailed"))}finally{l(!1)}},[y,o]);return N.jsx(x1,{popupContainer:i??void 0,children:N.jsxs(ir,{horizontal:!0,className:wn.toolbar,gap:4,ref:a,children:[N.jsx(un,{icon:XH,title:o("image.flipHorizontal"),onClick:m}),N.jsx(un,{icon:GH,title:o("image.flipVertical"),onClick:p}),N.jsx(un,{icon:OH,title:o("image.rotateLeft"),onClick:h}),N.jsx(un,{icon:HH,title:o("image.rotateRight"),onClick:g}),N.jsx(un,{disabled:f===r,icon:tq,title:o("image.zoomOut"),onClick:v}),N.jsx(un,{disabled:f===n,icon:JH,title:o("image.zoomIn"),onClick:b}),N.jsx(un,{icon:qw,loading:s,title:o("image.copy"),onClick:w}),N.jsx(un,{icon:EH,loading:c,title:o("image.download"),onClick:x}),e]})})}),QG=e=>{const[t,r]=d.useState(!1);return d.useMemo(()=>{if(e===!1)return e;const{onVisibleChange:n,onOpenChange:o,minScale:i=.32,maxScale:a=32,toolbarAddon:s,rootClassName:l,imageRender:c,toolbarRender:u,...f}=e===!0?{}:e||{};return{actionsRender:(p,m)=>{const h=N.jsx(UC,{info:m,maxScale:a,minScale:i,children:s});return u?u(h,m):h},closeIcon:N.jsx(At,{color:"#fff",icon:Lu}),imageRender:(p,m)=>{const h=N.jsx(GC,{visible:t,children:p});return c?c(h,m):h},maxScale:a,minScale:i,onOpenChange:(p,m)=>{r(p),o==null||o(p,m),n==null||n(p,!p,m.current)},rootClassName:Fe(wn.preview,l),...f}},[e,t,wn])},{PreviewGroup:JG}=e1,XC=d.memo(({items:e,children:t,enable:r=!0,preview:n})=>{const o=QG(n);return r?N.jsx(JG,{items:e,preview:o,children:t}):t});XC.displayName="PreviewGroup";const eU=e=>{const[t,r]=d.useState(!1);return d.useMemo(()=>{if(e===!1)return e;const{onVisibleChange:n,onOpenChange:o,minScale:i=.32,maxScale:a=32,toolbarAddon:s,rootClassName:l,imageRender:c,toolbarRender:u,actionsRender:f,...p}=e===!0?{}:e||{};return{actionsRender:f||((m,h)=>{const g=N.jsx(UC,{info:h,maxScale:a,minScale:i,children:s});return u?u(g,h):g}),closeIcon:N.jsx(At,{color:"#fff",icon:Lu}),imageRender:(m,h)=>{const g=N.jsx(GC,{visible:t,children:m});return c?c(g,h):g},maxScale:a,minScale:i,onOpenChange:m=>{r(m),o==null||o(m),n==null||n(m,!m)},rootClassName:Fe(wn.preview,l),styles:{mask:{backdropFilter:"blur(8px)"}},...p}},[e,t,wn])},YC=d.memo(({ref:e,style:t,preview:r,isLoading:n,maxHeight:o="100%",maxWidth:i="100%",minHeight:a,minWidth:s,actions:l,className:c,alwaysShowActions:u,variant:f="filled",objectFit:p="cover",classNames:m,styles:h,onClick:g,width:v,height:b,...y})=>{const{isDarkMode:x}=En(),w=u?wn.actionsVisible:wn.actionsHidden,S=eU(r);return n?N.jsx("div",{onClick:g,children:N.jsx(oa.Avatar,{active:!0,style:{borderRadius:Ce.borderRadius,height:b,maxHeight:o,maxWidth:i,minHeight:a,minWidth:s,width:v}})}):N.jsxs(ir,{className:Fe(WG({variant:f}),c),ref:e,style:t,children:[l&&N.jsx("div",{className:Fe(w,u?"":"actions-hidden"),children:l}),N.jsx(e1,{className:Fe(wn.image,m==null?void 0:m.image),fallback:x?VG:GG,height:b,loading:"lazy",preview:r===!1?!1:S,width:v,classNames:{root:Fe(wn.wrapper,m==null?void 0:m.wrapper)},style:{maxHeight:o,maxWidth:i,minHeight:a,minWidth:s,objectFit:p||"cover",...h==null?void 0:h.image},styles:{root:h==null?void 0:h.wrapper},onClick:g,...y})]})});YC.displayName="Image";const G1=YC;G1.PreviewGroup=XC;const KC=[{displayName:"Lobe Theme",id:"lobe-theme"},{background:"#fbf9ff",displayName:"Mermaid Default",id:"default"},{background:"#fffcf8",displayName:"Mermaid Base",id:"base"},{background:"#000",displayName:"Mermaid Dark",id:"dark"},{background:"#f9ffeb",displayName:"Mermaid Forest",id:"forest"},{background:"#fff",displayName:"Mermaid Neutral",id:"neutral"}],Ko=new Map,_4=500,tU=()=>{if(Ko.size>_4){const e=Math.floor(_4*.2),t=Array.from(Ko.keys()).slice(0,e);for(const r of t)Ko.delete(r)}};let Bf=null;const ZC=()=>typeof window>"u"?Promise.resolve(null):(Bf||(Bf=Th(()=>import("./diagram-BJFhx-27.js").then(e=>e.d),__vite__mapDeps([0,1])).then(e=>e.default)),Bf),QC=(e,t,r="strict")=>({fontFamily:e.fontFamilyCode,gantt:{useWidth:1920},securityLevel:r,startOnLoad:!1,theme:t||(e.isDarkMode?"dark":"neutral"),themeVariables:t?void 0:{errorBkgColor:e.colorTextDescription,errorTextColor:e.colorTextDescription,fontFamily:e.fontFamily,lineColor:e.colorTextSecondary,mainBkg:e.colorBgContainer,noteBkgColor:e.colorInfoBg,noteTextColor:e.colorInfoText,pie1:e.geekblue,pie2:e.colorWarning,pie3:e.colorSuccess,pie4:e.colorError,primaryBorderColor:e.colorBorder,primaryColor:e.colorBgContainer,primaryTextColor:e.colorText,secondaryBorderColor:e.colorInfoBorder,secondaryColor:e.colorInfoBg,secondaryTextColor:e.colorInfoText,tertiaryBorderColor:e.colorSuccessBorder,tertiaryColor:e.colorSuccessBg,tertiaryTextColor:e.colorSuccessText,textColor:e.colorText}}),rU=(e,{id:t,theme:r,securityLevel:n})=>{const o=a1(),[i,a]=d.useState(""),s=d.useMemo(()=>QC(o,r,n),[o.fontFamilyCode,o.isDarkMode,o.colorTextDescription,o.fontFamily,o.colorTextSecondary,o.colorBgContainer,o.colorInfoBg,o.colorInfoText,o.geekblue,o.colorWarning,o.colorSuccess,o.colorError,o.colorBorder,o.colorInfoBorder,o.colorSuccessBorder,o.colorSuccessBg,o.colorSuccessText,o.colorText,r,n]),l=d.useMemo(()=>{const c=e.length<1e4?e:D1.hashStr(e);return[t,r||(o.isDarkMode?"d":"l"),c].filter(Boolean).join("-")},[e,t,o.isDarkMode,r]);return d.useEffect(()=>{const c=Ko.get(l);if(c){c.then(f=>{a(f)}).catch(()=>{});return}const u=(async()=>{try{const f=await ZC();if(!f)return"";if(await f.parse(e)){f.initialize(s);const{svg:p}=await f.render(t,e);return p}else throw new Error("Mermaid 语法无效")}catch(f){return console.error("Mermaid 解析错误:",f),""}})();Ko.set(l,u),tU(),u.then(f=>{Ko.get(l)===u&&a(f)}).catch(()=>{Ko.get(l)===u&&Ko.delete(l)})},[l,e,t,s]),i},JC=d.memo(({children:e,className:t,fallbackClassName:r,ref:n,style:o,theme:i,variant:a})=>{const s=e??"",l=i==="lobe-theme"||!i,c=d.useMemo(()=>{var g;if(!l)return(g=KC.find(v=>v.id===i))==null?void 0:g.background},[l,i]),u=rU(s,{id:Tw(`mermaid-${d.useId()}`),theme:l?void 0:i}),f=!u,[p,m]=d.useState();d.useEffect(()=>()=>{p&&URL.revokeObjectURL(p)},[p]),d.useEffect(()=>{if(f||!u)return;let g=u;if(typeof window<"u"&&typeof navigator<"u"&&navigator.userAgent.includes("Firefox")){const b=new DOMParser().parseFromString(u,"image/svg+xml"),y=b.documentElement;if(y&&y.hasAttribute("viewBox")){const x=y.getAttribute("viewBox").split(" ");Array.isArray(x)&&x.length===4&&(y.setAttribute("width",x[2]),y.setAttribute("height",x[3])),g=new XMLSerializer().serializeToString(b)}}const v=new Blob([g],{type:"image/svg+xml"});m(URL.createObjectURL(v))},[f,u]);const h={background:a==="filled"?c:void 0,margin:0,minWidth:300,padding:a==="borderless"?0:16,position:"relative",width:"100%",...o};return p?N.jsx(G1,{alt:"mermaid",className:t,maxHeight:480,minWidth:300,objectFit:"contain",ref:n,src:p,style:h,variant:"borderless",width:"100%"}):N.jsx("div",{className:r,style:o,children:N.jsx("div",{style:{padding:16},children:"Loading..."})})});JC.displayName="StaticMermaid";const nU=(e,{enabled:t=!0,id:r,theme:n})=>{const o=a1(),[i,a]=d.useState(""),s=d.useRef(""),l=d.useRef(e),c=d.useRef(void 0),u=d.useMemo(()=>QC(o,n),[o.fontFamilyCode,o.isDarkMode,o.colorTextDescription,o.fontFamily,o.colorTextSecondary,o.colorBgContainer,o.colorInfoBg,o.colorInfoText,o.geekblue,o.colorWarning,o.colorSuccess,o.colorError,o.colorBorder,o.colorInfoBorder,o.colorSuccessBorder,o.colorSuccessBg,o.colorSuccessText,o.colorText,n]);return d.useEffect(()=>{l.current=e},[e]),d.useEffect(()=>{if(!t){a(""),s.current="";const m=c.current;m&&clearTimeout(m);return}const f=l.current;if(f===s.current&&i)return;const p=c.current;return p&&clearTimeout(p),c.current=setTimeout(async()=>{const m=l.current;if(m===f)try{const h=await ZC();if(!h)return;if(await h.parse(m)){h.initialize(u);const{svg:g}=await h.render(r,m);l.current===m&&(a(g),s.current=m)}}catch(h){m===l.current&&console.error("Mermaid 解析错误:",h)}},300),()=>{const m=c.current;m&&clearTimeout(m)}},[t,e,r,u,i]),i},e9=d.memo(({children:e,className:t,fallbackClassName:r,ref:n,style:o,theme:i,variant:a})=>{const s=e??"",l=i==="lobe-theme"||!i,c=d.useMemo(()=>{var g;if(!l)return(g=KC.find(v=>v.id===i))==null?void 0:g.background},[l,i]),u=nU(s,{enabled:!0,id:Tw(`mermaid-${d.useId()}`),theme:l?void 0:i}),f=!u,[p,m]=d.useState();d.useEffect(()=>()=>{p&&URL.revokeObjectURL(p)},[p]),d.useEffect(()=>{if(f||!u){m(void 0);return}let g=u;if(typeof window<"u"&&typeof navigator<"u"&&navigator.userAgent.includes("Firefox")){const b=new DOMParser().parseFromString(u,"image/svg+xml"),y=b.documentElement;if(y&&y.hasAttribute("viewBox")){const x=y.getAttribute("viewBox").split(" ");Array.isArray(x)&&x.length===4&&(y.setAttribute("width",x[2]),y.setAttribute("height",x[3])),g=new XMLSerializer().serializeToString(b)}}const v=new Blob([g],{type:"image/svg+xml"});m(URL.createObjectURL(v))},[f,u]);const h={background:a==="filled"?c:void 0,margin:0,minWidth:300,padding:a==="borderless"?0:16,position:"relative",width:"100%",...o};return p?N.jsx(G1,{alt:"mermaid",className:t,maxHeight:480,minWidth:300,objectFit:"contain",ref:n,src:p,style:h,variant:"borderless",width:"100%"}):N.jsx("div",{className:r,style:o,children:N.jsx("div",{style:{padding:16},children:"Rendering..."})})});e9.displayName="StreamMermaid";const oU=Kl`
2713
+ `})),WG=fr(wn.root,{defaultVariants:{variant:"filled"},variants:{variant:{filled:wn.filled,outlined:wn.outlined,borderless:wn.borderless}}}),VG="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjM0IzQjNCIi8+CjxwYXRoIGQ9Ik0xNTYuODg4IDkxLjAwMkgxMDAuMTEyQzk1LjYzMjkgOTEuMDAyIDkyLjAwMTUgOTQuNjMzNCA5Mi4wMDE1IDk5LjExMjdWMTU1Ljg4OEM5Mi4wMDE1IDE2MC4zNjcgOTUuNjMyOSAxNjMuOTk5IDEwMC4xMTIgMTYzLjk5OUgxNTYuODg4QzE2MS4zNjcgMTYzLjk5OSAxNjQuOTk4IDE2MC4zNjcgMTY0Ljk5OCAxNTUuODg4Vjk5LjExMjdDMTY0Ljk5OCA5NC42MzM0IDE2MS4zNjcgOTEuMDAyIDE1Ni44ODggOTEuMDAyWiIgc3Ryb2tlPSIjNjI2MjYyIiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTY0Ljk5OCAxMzkuNjY4TDE1Mi40ODQgMTI3LjE1M0MxNTAuOTYyIDEyNS42MzIgMTQ4LjkgMTI0Ljc3OCAxNDYuNzQ5IDEyNC43NzhDMTQ0LjU5OSAxMjQuNzc4IDE0Mi41MzYgMTI1LjYzMiAxNDEuMDE1IDEyNy4xNTNMMTA0LjE2OCAxNjRNMTE2LjMzNCAxMjMuNDQ1QzEyMC44MTMgMTIzLjQ0NSAxMjQuNDQ1IDExOS44MTQgMTI0LjQ0NSAxMTUuMzM0QzEyNC40NDUgMTEwLjg1NSAxMjAuODEzIDEwNy4yMjQgMTE2LjMzNCAxMDcuMjI0QzExMS44NTUgMTA3LjIyNCAxMDguMjIzIDExMC44NTUgMTA4LjIyMyAxMTUuMzM0QzEwOC4yMjMgMTE5LjgxNCAxMTEuODU1IDEyMy40NDUgMTE2LjMzNCAxMjMuNDQ1WiIgc3Ryb2tlPSIjNjI2MjYyIiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",GG="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjRUNFQ0VDIi8+CjxwYXRoIGQ9Ik0xNTYuODg4IDkxLjAwMkgxMDAuMTEyQzk1LjYzMjkgOTEuMDAyIDkyLjAwMTUgOTQuNjMzNCA5Mi4wMDE1IDk5LjExMjdWMTU1Ljg4OEM5Mi4wMDE1IDE2MC4zNjcgOTUuNjMyOSAxNjMuOTk5IDEwMC4xMTIgMTYzLjk5OUgxNTYuODg4QzE2MS4zNjcgMTYzLjk5OSAxNjQuOTk4IDE2MC4zNjcgMTY0Ljk5OCAxNTUuODg4Vjk5LjExMjdDMTY0Ljk5OCA5NC42MzM0IDE2MS4zNjcgOTEuMDAyIDE1Ni44ODggOTEuMDAyWiIgc3Ryb2tlPSIjRDdEN0Q3IiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTY0Ljk5OCAxMzkuNjY4TDE1Mi40ODQgMTI3LjE1M0MxNTAuOTYyIDEyNS42MzIgMTQ4LjkgMTI0Ljc3OCAxNDYuNzQ5IDEyNC43NzhDMTQ0LjU5OSAxMjQuNzc4IDE0Mi41MzYgMTI1LjYzMiAxNDEuMDE1IDEyNy4xNTNMMTA0LjE2OCAxNjRNMTE2LjMzNCAxMjMuNDQ1QzEyMC44MTMgMTIzLjQ0NSAxMjQuNDQ1IDExOS44MTQgMTI0LjQ0NSAxMTUuMzM0QzEyNC40NDUgMTEwLjg1NSAxMjAuODEzIDEwNy4yMjQgMTE2LjMzNCAxMDcuMjI0QzExMS44NTUgMTA3LjIyNCAxMDguMjIzIDExMC44NTUgMTA4LjIyMyAxMTUuMzM0QzEwOC4yMjMgMTE5LjgxNCAxMTEuODU1IDEyMy40NDUgMTE2LjMzNCAxMjMuNDQ1WiIgc3Ryb2tlPSIjRDdEN0Q3IiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",GC=d.memo(({children:e,visible:t})=>{const r=d.useRef(null);return d.useEffect(()=>{if(!r.current)return;const n=o=>{o.preventDefault()};t?r.current.addEventListener("wheel",n,{passive:!1}):r.current.removeEventListener("wheel",n)},[t]),N.jsx("div",{ref:r,children:e})});var UG={"image.copy":"Copy","image.copyFailed":"Copy Failed","image.copySuccess":"Copy Success","image.download":"Download","image.downloadFailed":"Download Failed","image.downloadSuccess":"Download Success","image.flipHorizontal":"Flip Horizontal","image.flipVertical":"Flip Vertical","image.rotateLeft":"Rotate Left","image.rotateRight":"Rotate Right","image.zoomIn":"Zoom In","image.zoomOut":"Zoom Out"};const XG=e=>new Promise((t,r)=>{const n=new Image,o=URL.createObjectURL(e);n.onload=()=>{URL.revokeObjectURL(o);const i=document.createElement("canvas");i.width=n.naturalWidth,i.height=n.naturalHeight;const a=i.getContext("2d");if(!a){r(new Error("Canvas context not available"));return}a.drawImage(n,0,0),i.toBlob(s=>{s?t(s):r(new Error("Failed to convert to PNG"))},"image/png",1)},n.onerror=()=>{URL.revokeObjectURL(o),r(new Error("Failed to load image"))},n.src=o}),YG=async e=>{const t=(e.type||"").toLowerCase();return t==="image/png"||t==="image/svg+xml"?{[t]:e}:{"image/png":await XG(e)}},KG=e=>{try{const t=new URL(e).pathname.match(/\/([^/]+)$/);return t?decodeURIComponent(t[1]):"image"}catch{return"image"}},ZG=e=>{var t;return{"image/svg+xml":"svg","image/png":"png","image/jpeg":"jpg","image/jpg":"jpg","image/webp":"webp","image/gif":"gif"}[e==null?void 0:e.toLowerCase()]||((t=e==null?void 0:e.split("/")[1])==null?void 0:t.split("+")[0])||"png"},UC=d.memo(({children:e,info:t,minScale:r,maxScale:n})=>{const{t:o}=IW(UG),[i,a]=d.useState(null),[s,l]=d.useState(!1),[c,u]=d.useState(!1),{transform:{scale:f},actions:{onFlipY:p,onFlipX:m,onRotateLeft:h,onRotateRight:g,onZoomOut:v,onZoomIn:b},image:{url:y}}=t,x=d.useCallback(async()=>{u(!0);try{const S=await(await fetch(y,{mode:"cors"})).blob(),C=URL.createObjectURL(S);let k=KG(y);const D=ZG(S.type);k.includes(".")?k.endsWith(".svg+xml")&&(k=k.replace(/\.svg\+xml$/i,".svg")):k=`${k}.${D}`,await jW(C,k),URL.revokeObjectURL(C),La.success(o("image.downloadSuccess"))}catch{La.error(o("image.downloadFailed"))}finally{u(!1)}},[y,o]),w=d.useCallback(async()=>{l(!0);try{const S=await YG(await(await fetch(y,{mode:"cors"})).blob());await navigator.clipboard.write([new ClipboardItem(S)]),La.success(o("image.copySuccess"))}catch{La.error(o("image.copyFailed"))}finally{l(!1)}},[y,o]);return N.jsx(x1,{popupContainer:i??void 0,children:N.jsxs(ir,{horizontal:!0,className:wn.toolbar,gap:4,ref:a,children:[N.jsx(un,{icon:XH,title:o("image.flipHorizontal"),onClick:m}),N.jsx(un,{icon:GH,title:o("image.flipVertical"),onClick:p}),N.jsx(un,{icon:OH,title:o("image.rotateLeft"),onClick:h}),N.jsx(un,{icon:HH,title:o("image.rotateRight"),onClick:g}),N.jsx(un,{disabled:f===r,icon:tq,title:o("image.zoomOut"),onClick:v}),N.jsx(un,{disabled:f===n,icon:JH,title:o("image.zoomIn"),onClick:b}),N.jsx(un,{icon:qw,loading:s,title:o("image.copy"),onClick:w}),N.jsx(un,{icon:EH,loading:c,title:o("image.download"),onClick:x}),e]})})}),QG=e=>{const[t,r]=d.useState(!1);return d.useMemo(()=>{if(e===!1)return e;const{onVisibleChange:n,onOpenChange:o,minScale:i=.32,maxScale:a=32,toolbarAddon:s,rootClassName:l,imageRender:c,toolbarRender:u,...f}=e===!0?{}:e||{};return{actionsRender:(p,m)=>{const h=N.jsx(UC,{info:m,maxScale:a,minScale:i,children:s});return u?u(h,m):h},closeIcon:N.jsx(At,{color:"#fff",icon:Lu}),imageRender:(p,m)=>{const h=N.jsx(GC,{visible:t,children:p});return c?c(h,m):h},maxScale:a,minScale:i,onOpenChange:(p,m)=>{r(p),o==null||o(p,m),n==null||n(p,!p,m.current)},rootClassName:Fe(wn.preview,l),...f}},[e,t,wn])},{PreviewGroup:JG}=e1,XC=d.memo(({items:e,children:t,enable:r=!0,preview:n})=>{const o=QG(n);return r?N.jsx(JG,{items:e,preview:o,children:t}):t});XC.displayName="PreviewGroup";const eU=e=>{const[t,r]=d.useState(!1);return d.useMemo(()=>{if(e===!1)return e;const{onVisibleChange:n,onOpenChange:o,minScale:i=.32,maxScale:a=32,toolbarAddon:s,rootClassName:l,imageRender:c,toolbarRender:u,actionsRender:f,...p}=e===!0?{}:e||{};return{actionsRender:f||((m,h)=>{const g=N.jsx(UC,{info:h,maxScale:a,minScale:i,children:s});return u?u(g,h):g}),closeIcon:N.jsx(At,{color:"#fff",icon:Lu}),imageRender:(m,h)=>{const g=N.jsx(GC,{visible:t,children:m});return c?c(g,h):g},maxScale:a,minScale:i,onOpenChange:m=>{r(m),o==null||o(m),n==null||n(m,!m)},rootClassName:Fe(wn.preview,l),styles:{mask:{backdropFilter:"blur(8px)"}},...p}},[e,t,wn])},YC=d.memo(({ref:e,style:t,preview:r,isLoading:n,maxHeight:o="100%",maxWidth:i="100%",minHeight:a,minWidth:s,actions:l,className:c,alwaysShowActions:u,variant:f="filled",objectFit:p="cover",classNames:m,styles:h,onClick:g,width:v,height:b,...y})=>{const{isDarkMode:x}=En(),w=u?wn.actionsVisible:wn.actionsHidden,S=eU(r);return n?N.jsx("div",{onClick:g,children:N.jsx(oa.Avatar,{active:!0,style:{borderRadius:Ce.borderRadius,height:b,maxHeight:o,maxWidth:i,minHeight:a,minWidth:s,width:v}})}):N.jsxs(ir,{className:Fe(WG({variant:f}),c),ref:e,style:t,children:[l&&N.jsx("div",{className:Fe(w,u?"":"actions-hidden"),children:l}),N.jsx(e1,{className:Fe(wn.image,m==null?void 0:m.image),fallback:x?VG:GG,height:b,loading:"lazy",preview:r===!1?!1:S,width:v,classNames:{root:Fe(wn.wrapper,m==null?void 0:m.wrapper)},style:{maxHeight:o,maxWidth:i,minHeight:a,minWidth:s,objectFit:p||"cover",...h==null?void 0:h.image},styles:{root:h==null?void 0:h.wrapper},onClick:g,...y})]})});YC.displayName="Image";const G1=YC;G1.PreviewGroup=XC;const KC=[{displayName:"Lobe Theme",id:"lobe-theme"},{background:"#fbf9ff",displayName:"Mermaid Default",id:"default"},{background:"#fffcf8",displayName:"Mermaid Base",id:"base"},{background:"#000",displayName:"Mermaid Dark",id:"dark"},{background:"#f9ffeb",displayName:"Mermaid Forest",id:"forest"},{background:"#fff",displayName:"Mermaid Neutral",id:"neutral"}],Ko=new Map,_4=500,tU=()=>{if(Ko.size>_4){const e=Math.floor(_4*.2),t=Array.from(Ko.keys()).slice(0,e);for(const r of t)Ko.delete(r)}};let Bf=null;const ZC=()=>typeof window>"u"?Promise.resolve(null):(Bf||(Bf=Th(()=>import("./diagram-gfUK8OHx.js").then(e=>e.d),__vite__mapDeps([0,1])).then(e=>e.default)),Bf),QC=(e,t,r="strict")=>({fontFamily:e.fontFamilyCode,gantt:{useWidth:1920},securityLevel:r,startOnLoad:!1,theme:t||(e.isDarkMode?"dark":"neutral"),themeVariables:t?void 0:{errorBkgColor:e.colorTextDescription,errorTextColor:e.colorTextDescription,fontFamily:e.fontFamily,lineColor:e.colorTextSecondary,mainBkg:e.colorBgContainer,noteBkgColor:e.colorInfoBg,noteTextColor:e.colorInfoText,pie1:e.geekblue,pie2:e.colorWarning,pie3:e.colorSuccess,pie4:e.colorError,primaryBorderColor:e.colorBorder,primaryColor:e.colorBgContainer,primaryTextColor:e.colorText,secondaryBorderColor:e.colorInfoBorder,secondaryColor:e.colorInfoBg,secondaryTextColor:e.colorInfoText,tertiaryBorderColor:e.colorSuccessBorder,tertiaryColor:e.colorSuccessBg,tertiaryTextColor:e.colorSuccessText,textColor:e.colorText}}),rU=(e,{id:t,theme:r,securityLevel:n})=>{const o=a1(),[i,a]=d.useState(""),s=d.useMemo(()=>QC(o,r,n),[o.fontFamilyCode,o.isDarkMode,o.colorTextDescription,o.fontFamily,o.colorTextSecondary,o.colorBgContainer,o.colorInfoBg,o.colorInfoText,o.geekblue,o.colorWarning,o.colorSuccess,o.colorError,o.colorBorder,o.colorInfoBorder,o.colorSuccessBorder,o.colorSuccessBg,o.colorSuccessText,o.colorText,r,n]),l=d.useMemo(()=>{const c=e.length<1e4?e:D1.hashStr(e);return[t,r||(o.isDarkMode?"d":"l"),c].filter(Boolean).join("-")},[e,t,o.isDarkMode,r]);return d.useEffect(()=>{const c=Ko.get(l);if(c){c.then(f=>{a(f)}).catch(()=>{});return}const u=(async()=>{try{const f=await ZC();if(!f)return"";if(await f.parse(e)){f.initialize(s);const{svg:p}=await f.render(t,e);return p}else throw new Error("Mermaid 语法无效")}catch(f){return console.error("Mermaid 解析错误:",f),""}})();Ko.set(l,u),tU(),u.then(f=>{Ko.get(l)===u&&a(f)}).catch(()=>{Ko.get(l)===u&&Ko.delete(l)})},[l,e,t,s]),i},JC=d.memo(({children:e,className:t,fallbackClassName:r,ref:n,style:o,theme:i,variant:a})=>{const s=e??"",l=i==="lobe-theme"||!i,c=d.useMemo(()=>{var g;if(!l)return(g=KC.find(v=>v.id===i))==null?void 0:g.background},[l,i]),u=rU(s,{id:Tw(`mermaid-${d.useId()}`),theme:l?void 0:i}),f=!u,[p,m]=d.useState();d.useEffect(()=>()=>{p&&URL.revokeObjectURL(p)},[p]),d.useEffect(()=>{if(f||!u)return;let g=u;if(typeof window<"u"&&typeof navigator<"u"&&navigator.userAgent.includes("Firefox")){const b=new DOMParser().parseFromString(u,"image/svg+xml"),y=b.documentElement;if(y&&y.hasAttribute("viewBox")){const x=y.getAttribute("viewBox").split(" ");Array.isArray(x)&&x.length===4&&(y.setAttribute("width",x[2]),y.setAttribute("height",x[3])),g=new XMLSerializer().serializeToString(b)}}const v=new Blob([g],{type:"image/svg+xml"});m(URL.createObjectURL(v))},[f,u]);const h={background:a==="filled"?c:void 0,margin:0,minWidth:300,padding:a==="borderless"?0:16,position:"relative",width:"100%",...o};return p?N.jsx(G1,{alt:"mermaid",className:t,maxHeight:480,minWidth:300,objectFit:"contain",ref:n,src:p,style:h,variant:"borderless",width:"100%"}):N.jsx("div",{className:r,style:o,children:N.jsx("div",{style:{padding:16},children:"Loading..."})})});JC.displayName="StaticMermaid";const nU=(e,{enabled:t=!0,id:r,theme:n})=>{const o=a1(),[i,a]=d.useState(""),s=d.useRef(""),l=d.useRef(e),c=d.useRef(void 0),u=d.useMemo(()=>QC(o,n),[o.fontFamilyCode,o.isDarkMode,o.colorTextDescription,o.fontFamily,o.colorTextSecondary,o.colorBgContainer,o.colorInfoBg,o.colorInfoText,o.geekblue,o.colorWarning,o.colorSuccess,o.colorError,o.colorBorder,o.colorInfoBorder,o.colorSuccessBorder,o.colorSuccessBg,o.colorSuccessText,o.colorText,n]);return d.useEffect(()=>{l.current=e},[e]),d.useEffect(()=>{if(!t){a(""),s.current="";const m=c.current;m&&clearTimeout(m);return}const f=l.current;if(f===s.current&&i)return;const p=c.current;return p&&clearTimeout(p),c.current=setTimeout(async()=>{const m=l.current;if(m===f)try{const h=await ZC();if(!h)return;if(await h.parse(m)){h.initialize(u);const{svg:g}=await h.render(r,m);l.current===m&&(a(g),s.current=m)}}catch(h){m===l.current&&console.error("Mermaid 解析错误:",h)}},300),()=>{const m=c.current;m&&clearTimeout(m)}},[t,e,r,u,i]),i},e9=d.memo(({children:e,className:t,fallbackClassName:r,ref:n,style:o,theme:i,variant:a})=>{const s=e??"",l=i==="lobe-theme"||!i,c=d.useMemo(()=>{var g;if(!l)return(g=KC.find(v=>v.id===i))==null?void 0:g.background},[l,i]),u=nU(s,{enabled:!0,id:Tw(`mermaid-${d.useId()}`),theme:l?void 0:i}),f=!u,[p,m]=d.useState();d.useEffect(()=>()=>{p&&URL.revokeObjectURL(p)},[p]),d.useEffect(()=>{if(f||!u){m(void 0);return}let g=u;if(typeof window<"u"&&typeof navigator<"u"&&navigator.userAgent.includes("Firefox")){const b=new DOMParser().parseFromString(u,"image/svg+xml"),y=b.documentElement;if(y&&y.hasAttribute("viewBox")){const x=y.getAttribute("viewBox").split(" ");Array.isArray(x)&&x.length===4&&(y.setAttribute("width",x[2]),y.setAttribute("height",x[3])),g=new XMLSerializer().serializeToString(b)}}const v=new Blob([g],{type:"image/svg+xml"});m(URL.createObjectURL(v))},[f,u]);const h={background:a==="filled"?c:void 0,margin:0,minWidth:300,padding:a==="borderless"?0:16,position:"relative",width:"100%",...o};return p?N.jsx(G1,{alt:"mermaid",className:t,maxHeight:480,minWidth:300,objectFit:"contain",ref:n,src:p,style:h,variant:"borderless",width:"100%"}):N.jsx("div",{className:r,style:o,children:N.jsx("div",{style:{padding:16},children:"Rendering..."})})});e9.displayName="StreamMermaid";const oU=Kl`
2714
2714
  0% {
2715
2715
  opacity: 0;
2716
2716
  }
@@ -27,11 +27,11 @@
27
27
  opacity: 0.65;
28
28
  }
29
29
  </style>
30
- <script type="module" crossorigin src="/assets/index-B-XJ-ScV.js"></script>
30
+ <script type="module" crossorigin src="/assets/index-DOrcbEeP.js"></script>
31
31
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-BNpqFP9B.js">
32
- <link rel="modulepreload" crossorigin href="/assets/motion-D-I76zAi.js">
33
- <link rel="modulepreload" crossorigin href="/assets/ui-C3xtW1w8.js">
34
- <link rel="stylesheet" crossorigin href="/assets/index-CGvsjO9f.css">
32
+ <link rel="modulepreload" crossorigin href="/assets/motion-C4pN8CfU.js">
33
+ <link rel="modulepreload" crossorigin href="/assets/ui-DxdLi_28.js">
34
+ <link rel="stylesheet" crossorigin href="/assets/index-7HUca950.css">
35
35
  </head>
36
36
  <body>
37
37
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fgbg/mdocs",
3
- "version": "0.8.21",
3
+ "version": "0.8.22",
4
4
  "description": "A Markdown knowledge base for small teams",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,6 +0,0 @@
1
- import{r as m,j as e}from"./react-vendor-BNpqFP9B.js";import{aa as se,ab as ie,i as ae,ae as le,am as oe,af as re,ag as ce,ah as de}from"./index-B-XJ-ScV.js";import{H as ue,S as me,A as he}from"./AgentSkillFormCard-BtJ0QjLG.js";import{P as fe}from"./plus-DvBbg6jL.js";import{M as ge,r as xe}from"./ui-C3xtW1w8.js";import"./motion-D-I76zAi.js";function B(t){return t===""?[]:t.split(`
2
- `)}function X(t){return t.join(`
3
- `)}function K(t,i){const s=B(t),o=B(i),f=s.length,g=o.length,y=Array.from({length:f+1},()=>Array.from({length:g+1},()=>0));for(let w=f-1;w>=0;w--)for(let N=g-1;N>=0;N--)s[w]===o[N]?y[w][N]=y[w+1][N+1]+1:y[w][N]=Math.max(y[w+1][N],y[w][N+1]);const j=[];let r=0,x=0;for(;r<f||x<g;)if(r<f&&x<g&&s[r]===o[x])j.push({kind:"eq",oi:r,ni:x}),r++,x++;else if(x<g&&(r===f||y[r][x+1]>=y[r+1][x]))j.push({kind:"ins",oi:r,ni:x}),x++;else if(r<f)j.push({kind:"del",oi:r,ni:x}),r++;else break;const v=[];let p=0,P=0;for(;p<j.length;){if(j[p].kind==="eq"){p++;continue}const w=j[p].oi,N=j[p].ni,_=[],A=[];let S=w,d=N;for(;p<j.length&&j[p].kind!=="eq";){const h=j[p];h.kind==="del"?(_.push(s[h.oi]),S=h.oi+1):(A.push(o[h.ni]),d=h.ni+1),p++}v.push({id:`h${P++}`,oldStart:w,oldEnd:S,newStart:N,newEnd:d,oldLines:_,newLines:A})}return v}function ke(t,i){const s=B(t);return X([...s.slice(0,i.oldStart),...i.newLines,...s.slice(i.oldEnd)])}function pe(t,i){const s=B(t);return X([...s.slice(0,i.newStart),...i.oldLines,...s.slice(i.newEnd)])}function ye(t){return t===""?[]:t.split(`
4
- `)}function je(t,i){const s=ye(t),o=[];let f=0;return i.forEach((g,y)=>{g.oldStart>f&&o.push({kind:"same",lines:s.slice(f,g.oldStart),key:`s-${f}-${g.oldStart}`}),o.push({kind:"hunk",hunk:g,hunkIndex:y,key:`h-${g.id}-${y}`}),f=g.oldEnd}),f<s.length?o.push({kind:"same",lines:s.slice(f),key:`s-${f}-end`}):i.length===0&&s.length===0&&o.push({kind:"same",lines:[],key:"s-empty"}),o}function we(t){return t.oldLines.length===0?"add":t.newLines.length===0?"del":"mod"}function Ne(t){const i=!!t.sending,[s,o]=m.useState(!1),[f,g]=m.useState(0),[y,j]=m.useState(null),r=m.useMemo(()=>t.proposedMd==null||t.proposedMd===t.currentMd?[]:K(t.currentMd,t.proposedMd),[t.currentMd,t.proposedMd]),x=m.useMemo(()=>je(t.currentMd,r),[t.currentMd,r]);m.useEffect(()=>{if(r.length===0){g(0),o(!1);return}g(d=>Math.min(d,r.length-1))},[r.length]),m.useEffect(()=>{i&&o(!1)},[i]);const v=!i&&s&&r.length>0,p=y??f;function P(d){const h=ke(t.currentMd,d);t.onCurrentChange(h),t.proposedMd!=null&&K(h,t.proposedMd).length===0&&t.onProposedChange(null)}function w(d){if(t.proposedMd==null)return;const h=pe(t.proposedMd,d);h===t.currentMd?t.onProposedChange(null):t.onProposedChange(h)}function N(){t.proposedMd!=null&&(t.onCurrentChange(t.proposedMd),t.onProposedChange(null))}function _(){t.onProposedChange(null)}function A(d){r.length!==0&&g(h=>{const I=(h+d+r.length)%r.length,L=document.getElementById(`mdocs-ai-hunk-${I}`);return L==null||L.scrollIntoView({block:"center",behavior:"smooth"}),I})}const S=r[p]??null;return e.jsxs("div",{className:"mdocs-ai-write-md-pane",children:[e.jsxs("div",{className:"mdocs-ai-write-diff-toolbar",children:[e.jsx("span",{className:"mdocs-ai-write-diff-count",children:i?"接收中·编辑我的稿":r.length===0?t.proposedMd?"与提案一致(可编辑)":"Markdown 源码(可编辑)":s?`${r.length} 处变更`:`${r.length} 处变更(编辑中)`}),!i&&r.length>0?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:N,children:"全部接受"}),e.jsx("button",{type:"button",onClick:_,children:"全部拒绝"}),e.jsx("button",{type:"button",className:s?"active":"",onClick:()=>o(d=>!d),children:s?"编辑我的稿":"查看 diff"})]}):null]}),v?e.jsxs("div",{className:"mdocs-ai-write-inline",role:"document",children:[x.map(d=>{if(d.kind==="same")return e.jsx("pre",{className:"mdocs-ai-write-inline-same",children:d.lines.map((k,E)=>e.jsxs("div",{className:"mdocs-ai-write-line ctx",children:[e.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),e.jsx("span",{className:"mdocs-ai-write-code",children:k||" "})]},E))},d.key);const h=d.hunk,I=we(h),L=d.hunkIndex===p;return e.jsxs("div",{id:`mdocs-ai-hunk-${d.hunkIndex}`,className:`mdocs-ai-write-inline-hunk mdocs-ai-write-inline-hunk-${I}`+(L?" is-active":""),onMouseEnter:()=>j(d.hunkIndex),onMouseLeave:()=>j(null),onClick:()=>g(d.hunkIndex),children:[e.jsxs("div",{className:"mdocs-ai-write-hunk-hover",hidden:y!==d.hunkIndex,children:[e.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:k=>{k.stopPropagation(),w(h)},children:"拒绝"}),e.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:k=>{k.stopPropagation(),P(h)},children:"接受"})]}),e.jsxs("pre",{className:"mdocs-ai-write-hunk-pre",children:[h.oldLines.map((k,E)=>e.jsxs("div",{className:"mdocs-ai-write-line del",children:[e.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),e.jsx("span",{className:"mdocs-ai-write-code",children:k||" "})]},`o${E}`)),h.newLines.map((k,E)=>e.jsxs("div",{className:"mdocs-ai-write-line add",children:[e.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),e.jsx("span",{className:"mdocs-ai-write-code",children:k||" "})]},`n${E}`))]})]},d.key)}),S?e.jsxs("div",{className:"mdocs-ai-write-float-nav",role:"toolbar","aria-label":"变更导航",children:[e.jsx("button",{type:"button","aria-label":"上一段",onClick:()=>A(-1),children:"↑"}),e.jsxs("span",{children:[p+1," / ",r.length]}),e.jsx("button",{type:"button","aria-label":"下一段",onClick:()=>A(1),children:"↓"}),e.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:()=>w(S),children:"拒绝"}),e.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:()=>P(S),children:"接受"})]}):null]}):e.jsx("textarea",{className:"mdocs-ai-write-editor",value:t.currentMd,onChange:d=>t.onCurrentChange(d.target.value),spellCheck:!1,placeholder:`# 标题
5
-
6
- 在此编辑 Markdown 源码…`})]})}let U=0;function J(t){return U+=1,`${t}-${Date.now()}-${U}`}function be(t,i){const s=t.slice(),o=s[s.length-1];return(o==null?void 0:o.type)==="text"?s[s.length-1]={type:"text",text:o.text+i}:s.push({type:"text",text:i}),s}function Se(t,i){const s=t.slice(),o=s[s.length-1];return(o==null?void 0:o.type)==="thinking"?s[s.length-1]={type:"thinking",text:o.text+i}:s.push({type:"thinking",text:i}),s}function T(t,i){const s=i.trim();return s?[...t,{type:"tool",text:s}]:t}function Ce(t){return t.some(i=>i.type==="text"||i.type==="thinking"?i.text.length>0:!0)}function Ie(t){const i=new Date(t);if(Number.isNaN(i.getTime()))return"";const s=new Date;return i.getFullYear()===s.getFullYear()&&i.getMonth()===s.getMonth()&&i.getDate()===s.getDate()?i.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):i.toLocaleDateString(void 0,{month:"2-digit",day:"2-digit"})}function Q(t,i){return i.map((s,o)=>{const f=`h-${t}-${o}-${s.role}`;if(s.role==="user"){const g=s.skillNames&&s.skillNames.length>0?s.skillNames:s.skillIds&&s.skillIds.length>0?s.skillIds:void 0;return{id:f,role:"user",content:s.content,skillNames:g}}return{id:f,role:"assistant",blocks:s.content?[{type:"text",text:s.content}]:[]}})}function Le(t){const[i,s]=m.useState(t.initialMarkdown),[o,f]=m.useState(null),[g]=m.useState(t.initialMarkdown),[y,j]=m.useState(t.displayName||"未命名"),[r,x]=m.useState([]),[v,p]=m.useState(null),[P,w]=m.useState([]),[N,_]=m.useState(!1),[A,S]=m.useState(!1),[d,h]=m.useState(""),[I,L]=m.useState([]),[k,E]=m.useState(!1),[b,O]=m.useState(null),[z,$]=m.useState(null),[W,V]=m.useState(!1),D=m.useRef(null);async function F(){_(!0);try{const n=await le("coding",t.documentId);w(n.sessions),v||p(n.lastOpenedSessionId)}catch{}finally{_(!1)}}if(m.useEffect(()=>{var c;if(!t.open){S(!1),(c=D.current)==null||c.abort();return}s(t.initialMarkdown),f(null),j(t.displayName||"未命名"),h(""),$(null),S(!1);let n=!1;return(async()=>{try{const l=await se();n||O(l)}catch{n||O({enabled:!1,skillsReady:!1,model:null})}try{const l=await ie("coding",t.documentId);if(n)return;p(l.sessionId),x(Q(l.sessionId,l.messages))}catch{n||(p(null),x([]))}F()})(),()=>{n=!0}},[t.open,t.initialMarkdown,t.displayName,t.documentId]),m.useEffect(()=>()=>{var n;return(n=D.current)==null?void 0:n.abort()},[]),m.useEffect(()=>{t.open&&A&&F()},[A,t.open,t.documentId]),!t.open)return null;const Y=o!=null&&o!==i?K(i,o):[];async function Z(){var n;if(!k){(n=D.current)==null||n.abort(),$(null),S(!1),E(!1);try{const c=await re("coding",t.documentId);p(c.sessionId),x([]),h(""),F()}catch(c){$(c instanceof Error?c.message:String(c))}}}async function ee(n){var c;if(!k){if(n===v){S(!1);return}(c=D.current)==null||c.abort(),$(null);try{const l=await ce(n,"coding",t.documentId);p(l.sessionId),x(Q(l.sessionId,l.messages)),h(""),S(!1)}catch(l){$(l instanceof Error?l.message:String(l))}}}async function G(){var R;const n=d.trim();if(!n||k)return;if(!(b!=null&&b.enabled)){$("请先在设置 → AI 配置 API Key");return}(R=D.current)==null||R.abort();const c=new AbortController;D.current=c;const l=J("u"),H=J("a");x(C=>[...C,{id:l,role:"user",content:n,skillNames:I.length>0?[...I]:void 0},{id:H,role:"assistant",blocks:[]}]),h(""),E(!0),$(null);const M=C=>{x(a=>a.map(u=>u.id===H&&u.role==="assistant"?{...u,blocks:C(u.blocks)}:u))};try{let C=!1;await de(n,{mode:"coding",skillNames:I.length>0?I:void 0,documentId:t.documentId,workingMarkdown:i,baseMarkdown:g,signal:c.signal,onEvent:a=>{a.type==="text_delta"?M(u=>be(u,a.text)):a.type==="thinking_delta"?M(u=>Se(u,a.text)):a.type==="markdown_set"?f(a.markdown):a.type==="tool_notice"?M(u=>T(u,a.text)):a.type==="document_table"?M(u=>T(u,a.title)):a.type==="document_card"?M(u=>T(u,`读取文档「${a.title}」`)):a.type==="sources"?a.items.length>0&&M(u=>T(u,`已阅读 ${a.items.length} 个手册页面`)):a.type==="skill_form_card"?M(u=>[...u,{type:"skill_form_card",requestId:a.requestId,mode:a.mode,title:a.title,currentName:a.currentName,initialName:a.initialName,initialDescription:a.initialDescription,initialBody:a.initialBody,expiresAt:a.expiresAt,status:"open"}]):a.type==="skill_form_expired"?M(u=>u.map(q=>q.type==="skill_form_card"&&q.requestId===a.requestId&&q.status==="open"?{...q,status:"expired"}:q)):a.type==="error"&&(C=!0,$(a.message))}}),!c.signal.aborted&&!C&&L([]),F()}catch(C){c.signal.aborted||$(C instanceof Error?C.message:String(C))}finally{D.current===c&&(D.current=null),E(!1)}}async function te(){let n=i;if(Y.length>0){if(!window.confirm(`还有 ${Y.length} 段未审阅,将全部接受后写回。继续?`))return;n=o??i,s(n),f(null)}V(!0);const c=!t.documentId;try{const l=await t.onComplete({markdown:n,documentId:t.documentId,displayName:y.trim()||"未命名"}),H=l&&typeof l=="object"&&typeof l.documentId=="string"?l.documentId.trim():"";if(c&&H&&v)try{await oe(v,H)}catch{}t.onClose()}catch(l){if(l!=null&&l.silent||l instanceof Error&&l.message==="cancelled")return;$(l instanceof Error?l.message:String(l))}finally{V(!1)}}function ne(){var n;(i!==g||o!=null)&&!window.confirm("取消帮写?未写回的修改将丢失。")||((n=D.current)==null||n.abort(),t.onClose())}return e.jsxs("div",{className:"mdocs-ai-write-overlay",role:"dialog","aria-modal":"true","aria-label":"帮写",children:[e.jsxs("header",{className:"mdocs-ai-write-header",children:[e.jsxs("div",{className:"mdocs-ai-write-header-left",children:[e.jsx("img",{src:ae,alt:"",className:"mdocs-ai-write-title-logo"}),e.jsx("strong",{children:"帮写"}),e.jsx("input",{className:"mdocs-ai-write-title",value:y,onChange:n=>j(n.target.value),"aria-label":"文档标题"})]}),e.jsxs("div",{className:"mdocs-ai-write-header-actions",children:[e.jsx("button",{type:"button",onClick:ne,disabled:W,children:"取消"}),e.jsx("button",{type:"button",className:"mdocs-ai-write-primary",onClick:()=>void te(),disabled:W,children:W?"写回中…":"完成并写回"})]})]}),e.jsxs("div",{className:"mdocs-ai-write-body",children:[e.jsxs("section",{className:"mdocs-ai-write-chat",children:[e.jsxs("div",{className:"mdocs-ai-write-chat-toolbar",children:[e.jsx("span",{className:"mdocs-ai-write-chat-toolbar-label",children:"对话"}),e.jsxs("div",{className:"mdocs-ai-write-chat-toolbar-actions",children:[e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"新会话","aria-label":"新会话",disabled:k,onClick:()=>void Z(),children:e.jsx(fe,{size:16,strokeWidth:1.8})}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn"+(A?" active":""),title:"历史会话","aria-label":"历史会话",onClick:()=>S(n=>!n),children:e.jsx(ue,{size:16,strokeWidth:1.8})})]})]}),A?e.jsxs("div",{className:"mdocs-ai-write-history mdocs-agent-panel-history",children:[e.jsxs("div",{className:"mdocs-agent-panel-history-head",children:[e.jsx("span",{children:"历史会话"}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-history-back",onClick:()=>S(!1),children:"返回对话"})]}),N?e.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"加载中…"}):P.length===0?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mdocs-agent-panel-history-empty",children:"暂无历史会话"}),e.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"发一条消息后会出现在这里"})]}):e.jsx("ul",{className:"mdocs-agent-panel-history-list",children:P.map(n=>e.jsx("li",{children:e.jsxs("button",{type:"button",className:"mdocs-agent-panel-history-item"+(n.id===v?" active":""),disabled:k,onClick:()=>void ee(n.id),children:[e.jsx("span",{className:"mdocs-agent-panel-history-title",children:n.title}),e.jsx("span",{className:"mdocs-agent-panel-history-time",children:Ie(n.updatedAt)})]})},n.id))})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mdocs-ai-write-chat-messages",children:r.length===0?e.jsx("p",{className:"mdocs-ai-write-hint",children:"描述你想写或改的内容。助手可读取右侧当前稿与进场快照,再更新提案;请按段接受或拒绝后完成写回。"}):r.map(n=>e.jsx("div",{className:"mdocs-ai-write-msg"+(n.role==="user"?" mdocs-ai-write-msg-user":""),children:n.role==="user"?e.jsxs(e.Fragment,{children:[n.skillNames&&n.skillNames.length>0?e.jsxs("div",{className:"mdocs-agent-msg-skills",children:["Skill ×",n.skillNames.length]}):null,n.content]}):Ce(n.blocks)?e.jsx("div",{className:"mdocs-ai-write-timeline",children:n.blocks.map((c,l)=>c.type==="thinking"?c.text?e.jsxs("details",{className:"mdocs-ai-write-thinking",open:k,children:[e.jsx("summary",{children:"思考中"}),e.jsx("pre",{className:"mdocs-ai-write-thinking-body",children:c.text})]},`${n.id}-think-${l}`):null:c.type==="tool"?e.jsx("p",{className:"mdocs-agent-panel-tool-notice",children:c.text},`${n.id}-tool-${l}`):c.type==="skill_form_card"?e.jsx(me,{block:c,onResolved:(H,M,R)=>{x(C=>C.map(a=>a.id!==n.id||a.role!=="assistant"?a:{...a,blocks:a.blocks.map(u=>u.type==="skill_form_card"&&u.requestId===H?{...u,status:M,submittedName:M==="submitted"?R:u.submittedName}:u)}))}},`${n.id}-sf-${l}`):c.text?e.jsx("div",{className:"mdocs-agent-panel-md",children:e.jsx(ge,{remarkPlugins:[xe],children:c.text})},`${n.id}-text-${l}`):null)}):k?e.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}):null},n.id))}),z?e.jsx("p",{className:"mdocs-ai-write-error",children:z}):null,e.jsxs("div",{className:"mdocs-ai-write-input-row",children:[e.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[e.jsx(he,{selectedNames:I,onChange:L,disabled:k||!(b!=null&&b.enabled)}),e.jsx("textarea",{rows:2,value:d,disabled:k||!(b!=null&&b.enabled),placeholder:b!=null&&b.enabled?"说说要写什么…":"请先配置 API Key",onChange:n=>h(n.target.value),onKeyDown:n=>{n.key==="Enter"&&!n.shiftKey&&(n.preventDefault(),G())}})]}),e.jsx("button",{type:"button",disabled:k||!(b!=null&&b.enabled),onClick:()=>void G(),children:"发送"})]})]})]}),e.jsx(Ne,{currentMd:i,proposedMd:o,sending:k,onCurrentChange:s,onProposedChange:f})]})]})}export{Le as AiWriteWorkbench};
@@ -1 +0,0 @@
1
- .mdocs-app-root{display:flex;flex-direction:column;height:100vh;min-height:0}.mdocs-shell{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:1fr;flex:1;min-height:0}.mdocs-loading{height:100%;display:flex;align-items:center;justify-content:center}.mdocs-layout{display:flex;flex:1;min-height:0;overflow:hidden;grid-column:1 / -1}.mdocs-sidebar{background:var(--mdocs-surface);border-right:1px solid var(--mdocs-border);display:flex;flex-direction:column;min-width:0;overflow:hidden;width:240px;flex-shrink:0;transition:width .2s ease-out}.mdocs-sidebar-collapsed{width:64px}.mdocs-sidebar-collapsed .mdocs-brand span,.mdocs-sidebar-collapsed .mdocs-sidebar-actions,.mdocs-sidebar-collapsed .mdocs-sidebar-list,.mdocs-sidebar-collapsed .mdocs-visitor-footer-name{opacity:0;pointer-events:none}.mdocs-sidebar-collapsed .mdocs-sidebar-actions{display:none}.mdocs-sidebar-header{padding:8px 16px;border-bottom:1px solid var(--mdocs-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.mdocs-sidebar-collapsed .mdocs-sidebar-header{padding:8px 12px;justify-content:center}.mdocs-sidebar-collapsed .mdocs-brand-logo{margin-right:0}.mdocs-sidebar-collapsed .mdocs-brand span{display:none}.mdocs-brand{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:24px;letter-spacing:.2px}.mdocs-brand-logo{width:24px;height:24px;display:block;flex-shrink:0}.mdocs-visitor-line{margin-top:2px;font-size:12px}.mdocs-lang-switch{margin-top:6px;font-size:12px;display:flex;align-items:center;gap:4px}.mdocs-lang-switch button{background:none;border:none;padding:0;font-size:12px;color:var(--mdocs-text-muted);cursor:pointer}.mdocs-lang-switch button.active{color:var(--mdocs-text);font-weight:600}.mdocs-lang-switch span{color:var(--mdocs-border)}.mdocs-sidebar-actions{padding:4px 16px 4px 24px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;flex-shrink:0;border-bottom:1px solid var(--mdocs-border)}.mdocs-sidebar-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;cursor:pointer;opacity:.7;transition:opacity .15s,color .15s;border-radius:0;padding:0}.mdocs-sidebar-icon:hover{opacity:1;color:var(--mdocs-accent)}.mdocs-sidebar-list{flex:1;overflow-y:auto;padding:4px 8px 16px;min-height:0}.mdocs-doc-item{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:var(--mdocs-radius);background:transparent;border:1px solid transparent;color:var(--mdocs-text);margin-bottom:2px}.mdocs-doc-item:hover{background:var(--mdocs-bg)}.mdocs-doc-item.active{background:var(--mdocs-accent-soft);border-color:var(--mdocs-accent-secondary);border-left:3px solid var(--mdocs-accent)}.mdocs-doc-item-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mdocs-doc-item-path{font-size:12px;color:var(--mdocs-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mdocs-tree-row{display:grid;grid-template-columns:12px 22px minmax(0,1fr);column-gap:6px;align-items:center;width:100%;text-align:left;padding:4px 10px;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--mdocs-text);margin-bottom:1px;font-size:13px;box-sizing:border-box}.mdocs-tree-row:hover{background:var(--mdocs-bg)}.mdocs-tree-row.active{background:var(--mdocs-accent-soft);border-color:var(--mdocs-accent-secondary);border-left:3px solid var(--mdocs-accent)}.mdocs-tree-select-target{background:var(--mdocs-bg);border-color:var(--mdocs-border)}.mdocs-tree-dragging{color:var(--mdocs-text-muted)}.mdocs-tree-row.active.mdocs-tree-dragging{color:var(--mdocs-text)}.mdocs-tree-drop-target{background:var(--mdocs-accent-soft);border-color:var(--mdocs-accent);outline:1px dashed var(--mdocs-accent)}.mdocs-sidebar-list.mdocs-tree-drop-root{outline:1px dashed var(--mdocs-accent);outline-offset:-2px;background:color-mix(in srgb,var(--mdocs-accent-soft) 40%,transparent)}.mdocs-tree-caret{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--mdocs-text-muted);font-size:10px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--mdocs-radius-sm);transition:background .15s ease}.mdocs-tree-caret:hover{background:var(--mdocs-bg)}.mdocs-tree-caret-spacer{width:12px}.mdocs-tree-icon{justify-self:center;font-size:10px;color:var(--mdocs-text-muted);width:18px;text-align:center;padding:1px 3px;border-radius:var(--mdocs-radius-sm);background:var(--mdocs-bg)}.mdocs-tree-icon-dir{background:transparent;padding:0;justify-self:center;display:flex;align-items:center;justify-content:center}.mdocs-tree-icon-dir svg{display:block}.mdocs-sidebar-footer{padding:10px 16px;border-top:1px solid var(--mdocs-border);flex-shrink:0;display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.mdocs-sidebar-footer:hover{background:var(--mdocs-bg)}.mdocs-settings-sidebar-footer{padding:10px 16px;border-top:1px solid var(--mdocs-border);flex-shrink:0;font-size:13px;color:var(--mdocs-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.mdocs-settings-sidebar-footer:hover{background:var(--mdocs-bg);color:var(--mdocs-text)}.mdocs-agent-fab-wrap{position:fixed;z-index:200;width:36px;height:36px}.mdocs-agent-fab-wrap.dragging{z-index:220}.mdocs-agent-fab{width:36px;height:36px;border-radius:50%;background:var(--mdocs-surface, #fff);border:1px solid var(--mdocs-border, #e5e5e5);box-shadow:0 2px 8px #0000001f;display:flex;align-items:center;justify-content:center;cursor:grab;padding:0;touch-action:none;-webkit-user-select:none;user-select:none}.mdocs-agent-fab.dragging{cursor:grabbing;border-color:var(--mdocs-accent, #4d6bfe);box-shadow:0 4px 16px #4d6bfe4d}.mdocs-agent-fab:hover,.mdocs-agent-fab.open{border-color:var(--mdocs-accent, #4d6bfe);box-shadow:0 2px 12px #4d6bfe40}.mdocs-agent-fab img{width:20px;height:20px;display:block;pointer-events:none}.mdocs-agent-fab-reset{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);border:1px solid var(--mdocs-border, #e5e5e5);background:var(--mdocs-surface, #fff);color:var(--mdocs-text-muted, #666);font-size:11px;line-height:1;padding:4px 8px;border-radius:999px;cursor:pointer;box-shadow:0 1px 4px #00000014;white-space:nowrap}.mdocs-agent-fab-reset:hover{color:var(--mdocs-text);border-color:var(--mdocs-accent, #4d6bfe)}.mdocs-agent-panel{position:fixed;z-index:201;width:min(480px,calc(100vw - 72px));height:min(680px,calc(100vh - 80px));display:flex;flex-direction:column;background:#fff;border:1px solid #e8eaed;border-radius:14px;box-shadow:0 12px 40px #0f172a29;overflow:hidden}.mdocs-agent-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #eef0f3;background:#fff;flex-shrink:0}.mdocs-agent-panel-title{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#1f2329;min-width:0}.mdocs-agent-panel-title-logo{width:22px;height:22px;flex-shrink:0}.mdocs-agent-panel-context{position:absolute;right:50px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;cursor:help;z-index:1;outline:none}.mdocs-agent-panel-context:hover,.mdocs-agent-panel-context:focus-visible{background:#f2f4f7}.mdocs-agent-panel-context-track{stroke:#d0d5dd}.mdocs-agent-panel-context-value{stroke:#3370ff;transition:stroke-dashoffset .25s ease}.mdocs-agent-panel-context-warn .mdocs-agent-panel-context-value{stroke:#d97706}.mdocs-agent-panel-context-danger .mdocs-agent-panel-context-value{stroke:#e11d48}.mdocs-agent-panel-context:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 10px);padding:7px 10px;border-radius:8px;background:#1f2329;color:#fff;font-size:12px;font-weight:500;line-height:1.35;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;box-shadow:0 6px 16px #0f172a33}.mdocs-agent-panel-context:hover:after,.mdocs-agent-panel-context:focus-visible:after{opacity:1;transform:translateY(0)}.mdocs-agent-panel-actions{display:inline-flex;align-items:center;gap:4px}.mdocs-agent-panel-icon-btn{width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:#8a919f;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.mdocs-agent-panel-icon-btn:hover,.mdocs-agent-panel-icon-btn.active{background:#f2f4f7;color:#1f2329}.mdocs-agent-panel-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:18px 18px 12px;background:#fafbfc}.mdocs-agent-panel-welcome{flex:1;min-height:0;overflow-y:auto;padding-right:2px}.mdocs-agent-panel-hello{margin:12px 0 10px;font-size:22px;font-weight:600;line-height:1.35;color:#1f2329}.mdocs-agent-panel-desc{margin:0 0 18px;font-size:14px;line-height:1.6;color:#646a73}.mdocs-agent-panel-chips{display:flex;flex-direction:column;gap:10px}.mdocs-agent-panel-chip{display:block;width:100%;text-align:left;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #e8eaed;font-size:14px;color:#1f2329;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.mdocs-agent-panel-chip:hover:not(:disabled){border-color:#91b4ff;box-shadow:0 1px 4px #4080ff1f}.mdocs-agent-panel-chip:disabled{opacity:.6;cursor:not-allowed}.mdocs-agent-panel-status-warn{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:13px;line-height:1.45}.mdocs-agent-panel-messages{display:flex;flex-direction:column;gap:16px;padding:4px 0 12px}.mdocs-agent-panel-msg{display:flex;align-items:flex-start;gap:10px}.mdocs-agent-panel-msg-user{justify-content:flex-end}.mdocs-agent-panel-msg-assistant{justify-content:flex-start}.mdocs-agent-panel-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}.mdocs-agent-panel-avatar-ai{background:#f0f5ff;border:1px solid #d6e4ff}.mdocs-agent-panel-avatar-ai img{width:18px;height:18px;display:block}.mdocs-agent-panel-avatar-user{background:#3370ff;color:#fff;font-size:13px;font-weight:600;line-height:1}.mdocs-agent-panel-msg-bubble{max-width:calc(100% - 42px);font-size:14px;line-height:1.65;word-break:break-word;min-width:0}.mdocs-agent-panel-msg-user .mdocs-agent-panel-msg-bubble{padding:10px 14px;border-radius:12px 12px 4px;background:#e8f3ff;color:#1f2329;white-space:pre-wrap}.mdocs-agent-panel-msg-assistant .mdocs-agent-panel-msg-bubble{padding:0;background:transparent;border:none;color:#1f2329}.mdocs-agent-panel-think-fold{margin:0 0 .5rem;padding:.35rem .55rem;border-radius:6px;background:color-mix(in srgb,var(--mdocs-border, #e5e7eb) 45%,transparent);font-size:.8rem;color:var(--mdocs-muted, #6b7280)}.mdocs-agent-panel-think-fold>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.mdocs-agent-panel-think-fold>summary::-webkit-details-marker{display:none}.mdocs-agent-panel-think-fold>summary:before{content:"▸ ";display:inline-block;transition:transform .12s ease}.mdocs-agent-panel-think-fold[open]>summary:before{transform:rotate(90deg)}.mdocs-agent-panel-think-body{margin:.4rem 0 0;padding:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;line-height:1.45;max-height:12rem;overflow:auto}.mdocs-agent-panel-thinking{display:inline-flex;align-items:center;gap:5px;padding:6px 2px;min-height:24px}.mdocs-agent-panel-thinking span{width:6px;height:6px;border-radius:50%;background:#8a919f;animation:mdocs-agent-dot-bounce 1.2s ease-in-out infinite}.mdocs-agent-panel-thinking span:nth-child(2){animation-delay:.18s}.mdocs-agent-panel-thinking span:nth-child(3){animation-delay:.36s}@keyframes mdocs-agent-dot-bounce{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}.mdocs-agent-panel-md{color:#1f2329}.mdocs-agent-panel-timeline{display:flex;flex-direction:column;gap:10px;min-width:0}.mdocs-agent-panel-block{min-width:0}.mdocs-agent-panel-md>:first-child{margin-top:0}.mdocs-agent-panel-md>:last-child{margin-bottom:0}.mdocs-agent-panel-md h1,.mdocs-agent-panel-md h2,.mdocs-agent-panel-md h3,.mdocs-agent-panel-md h4{margin:.9em 0 .4em;font-weight:600;line-height:1.35;color:#1f2329}.mdocs-agent-panel-md h1{font-size:1.25em}.mdocs-agent-panel-md h2{font-size:1.15em}.mdocs-agent-panel-md h3,.mdocs-agent-panel-md h4{font-size:1.05em}.mdocs-agent-panel-md p{margin:.55em 0}.mdocs-agent-panel-md ul,.mdocs-agent-panel-md ol{margin:.45em 0;padding-left:1.35em}.mdocs-agent-panel-md li{margin:.25em 0}.mdocs-agent-panel-md li>p{margin:.2em 0}.mdocs-agent-panel-md strong{font-weight:600}.mdocs-agent-panel-md a{color:#3370ff;text-decoration:none}.mdocs-agent-panel-md a:hover{text-decoration:underline}.mdocs-agent-panel-md code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;padding:.1em .35em;border-radius:4px;background:#f2f4f7;color:#c41d7f}.mdocs-agent-panel-md pre{margin:0;padding:10px 12px;border-radius:8px;background:#f5f6f8;overflow-x:auto}.mdocs-agent-panel-md-pre-wrap{position:relative;margin:.65em 0}.mdocs-agent-panel-md-pre-wrap pre{padding-right:36px}.mdocs-agent-panel-md-copy{position:absolute;top:6px;right:6px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid #e8eaed;border-radius:6px;background:#fff;color:#646a73;cursor:pointer}.mdocs-agent-panel-md-copy:hover{color:#1f2329;background:#f2f4f7}.mdocs-agent-panel-md pre code{padding:0;background:transparent;color:#1f2329;font-size:12.5px;line-height:1.5}.mdocs-agent-panel-md blockquote{margin:.55em 0;padding:.2em 0 .2em 12px;border-left:3px solid #d0d5dd;color:#646a73}.mdocs-agent-panel-md hr{margin:.9em 0;border:none;border-top:1px solid #e8eaed}.mdocs-agent-panel-md table{width:100%;border-collapse:collapse;margin:.65em 0;font-size:13px}.mdocs-agent-panel-md th,.mdocs-agent-panel-md td{border:1px solid #e8eaed;padding:6px 8px;text-align:left}.mdocs-agent-panel-md th{background:#f5f6f8;font-weight:600}.mdocs-agent-panel-sources{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#f2f4f7;font-size:13px}.mdocs-agent-panel-sources summary{cursor:pointer;font-weight:500;color:#646a73;list-style:none}.mdocs-agent-panel-sources summary::-webkit-details-marker{display:none}.mdocs-agent-panel-sources ol{margin:8px 0 0;padding-left:1.25em}.mdocs-agent-panel-sources li{margin:4px 0}.mdocs-agent-panel-sources a{color:#3370ff;text-decoration:none}.mdocs-agent-panel-sources a:hover{text-decoration:underline}.mdocs-agent-panel-tool-fold{margin:0;padding:8px 12px;border:1px solid #e8eaed;border-radius:10px;background:#f8f9fb;font-size:13px}.mdocs-agent-panel-tool-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:500;color:#4e5969}.mdocs-agent-panel-tool-fold>summary::-webkit-details-marker{display:none}.mdocs-agent-panel-tool-fold>summary:before{content:"";width:0;height:0;border-left:5px solid #8a919f;border-top:4px solid transparent;border-bottom:4px solid transparent;flex-shrink:0}.mdocs-agent-panel-tool-fold[open]>summary:before{transform:rotate(90deg)}.mdocs-agent-panel-tool-fold-hint{margin-left:auto;font-size:12px;font-weight:400;color:#8a919f}.mdocs-agent-panel-sources-list{margin:8px 0 0;padding-left:1.25em}.mdocs-agent-panel-sources-list a{color:#3370ff;text-decoration:none}.mdocs-agent-panel-sources-list a:hover{text-decoration:underline}.mdocs-agent-panel-doc-table-wrap{margin:8px 0 0;padding:0;border:none;border-radius:0;background:transparent}.mdocs-agent-panel-doc-table-empty{margin:0;font-size:13px;color:#8a919f}.mdocs-agent-panel-doc-card-body{margin-top:8px}.mdocs-agent-panel-doc-card-path{margin:0;font-size:12px;color:#8a919f;word-break:break-all}.mdocs-agent-panel-doc-card-preview{margin:8px 0 0;font-size:13px;line-height:1.55;color:#4e5969;white-space:pre-wrap;word-break:break-word}.mdocs-agent-panel-doc-card-preview.muted{color:#8a919f}.mdocs-agent-panel-tool-notice{margin:0;padding:8px 12px;border-radius:8px;background:#f5f6f8;font-size:13px;color:#4e5969}.mdocs-agent-choice-card{padding:12px;border:1px solid #e8eaed;border-radius:10px;background:#fafbfc}.mdocs-agent-choice-card-done{opacity:.85}.mdocs-agent-choice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.mdocs-agent-choice-title{margin:0;font-size:14px;font-weight:600;color:#1f2329}.mdocs-agent-choice-timer{flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;color:#8a919f}.mdocs-agent-choice-progress{height:3px;border-radius:2px;background:#e8eaed;overflow:hidden;margin-bottom:10px}.mdocs-agent-choice-progress-bar{height:100%;width:100%;transform-origin:left center;background:#3370ff;transition:transform .1s linear}.mdocs-agent-choice-options{display:flex;flex-direction:column;gap:8px}.mdocs-agent-choice-option{text-align:left;border:1px solid #d0d3d9;background:#fff;border-radius:8px;padding:8px 12px;font:inherit;font-size:13px;color:#1f2329;cursor:pointer}.mdocs-agent-choice-option:hover:not(:disabled){border-color:#3370ff;color:#3370ff}.mdocs-agent-choice-option:disabled{cursor:not-allowed;opacity:.6}.mdocs-agent-choice-custom{display:flex;gap:8px;margin-top:10px}.mdocs-agent-choice-custom input{flex:1;min-width:0;border:1px solid #e8eaed;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px}.mdocs-agent-choice-custom button{flex-shrink:0;border:none;border-radius:8px;padding:8px 12px;background:#3370ff;color:#fff;font:inherit;font-size:13px;cursor:pointer}.mdocs-agent-choice-custom button:disabled{opacity:.5;cursor:not-allowed}.mdocs-agent-choice-footer{margin-top:10px;display:flex;justify-content:flex-end}.mdocs-agent-choice-cancel{border:1px solid #d0d5dd;border-radius:8px;padding:6px 12px;background:#fff;color:#344054;font:inherit;font-size:13px;cursor:pointer}.mdocs-agent-choice-cancel:hover:not(:disabled){background:#f9fafb}.mdocs-agent-choice-cancel:disabled{opacity:.55;cursor:not-allowed}.mdocs-agent-choice-result{margin:0 0 8px;font-size:13px;color:#4e5969}.mdocs-agent-choice-result.muted{color:#8a919f}.mdocs-agent-skill-form-fields{display:flex;flex-direction:column;gap:10px;margin-top:10px}.mdocs-agent-skill-form-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#646a73}.mdocs-agent-skill-form-field input,.mdocs-agent-skill-form-field textarea{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;font:inherit;color:#1f2329;background:#fff}.mdocs-agent-skill-form-field textarea{resize:vertical;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45}.mdocs-agent-skill-form-error{margin:0;font-size:12px;color:#c00}.mdocs-agent-skill-form-actions{display:flex;justify-content:flex-end;gap:8px}.mdocs-agent-skill-form-actions button{border:none;border-radius:8px;padding:8px 14px;background:#3370ff;color:#fff;font:inherit;cursor:pointer}.mdocs-agent-skill-form-actions button.mdocs-agent-skill-form-cancel{background:#fff;color:#344054;border:1px solid #d0d5dd}.mdocs-agent-skill-form-actions button.mdocs-agent-skill-form-cancel:hover:not(:disabled){background:#f9fafb}.mdocs-agent-skill-form-actions button:disabled{opacity:.55;cursor:not-allowed}.mdocs-agent-panel-doc-table-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#1f2329}.mdocs-agent-panel-doc-table{width:100%;border-collapse:collapse;font-size:13px}.mdocs-agent-panel-doc-table th,.mdocs-agent-panel-doc-table td{border:1px solid #e8eaed;padding:6px 8px;text-align:left;vertical-align:top}.mdocs-agent-panel-doc-table th{background:#f5f6f8;font-weight:600}.mdocs-agent-panel-doc-link{border:none;background:transparent;padding:0;color:#3370ff;text-decoration:none;font:inherit;cursor:pointer}.mdocs-agent-panel-doc-link:hover{text-decoration:underline}.mdocs-agent-panel-input-wrap{position:relative;margin-top:8px;flex-shrink:0;background:#fff;border:1px solid #e8eaed;border-radius:14px;box-shadow:0 1px 2px #0f172a0a}.mdocs-agent-skill-ref{margin-top:8px;flex-shrink:0}.mdocs-agent-skill-ref-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mdocs-agent-skill-ref-anchor{position:relative;display:inline-flex}.mdocs-agent-skill-ref-toggle{border:1px solid #d0d5dd;background:#f8fafc;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;color:#344054}.mdocs-agent-skill-ref-toggle:hover:not(:disabled),.mdocs-agent-skill-ref-toggle-open{border-color:#98a2b3;background:#fff}.mdocs-agent-skill-ref-toggle:disabled{opacity:.5;cursor:not-allowed}.mdocs-agent-skill-popover{position:absolute;left:0;bottom:calc(100% + 6px);z-index:40;min-width:260px;max-width:min(360px,85vw);max-height:280px;display:flex;flex-direction:column;background:#fff;border:1px solid #e4e7ec;border-radius:10px;box-shadow:0 8px 24px #0f172a1f;overflow:hidden}.mdocs-agent-skill-popover-hint{padding:8px 12px 4px;font-size:11px;color:#98a2b3;flex-shrink:0}.mdocs-agent-skill-popover-list{list-style:none;margin:0;padding:4px;overflow-y:auto}.mdocs-agent-skill-popover-item{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;border:none;background:transparent;border-radius:8px;padding:8px 10px;cursor:pointer;color:#1f2329}.mdocs-agent-skill-popover-item:hover:not(:disabled),.mdocs-agent-skill-popover-item:focus-visible{background:#f2f4f7;outline:none}.mdocs-agent-skill-popover-item-on{background:#eff8ff}.mdocs-agent-skill-popover-item-on:hover:not(:disabled){background:#e0f2fe}.mdocs-agent-skill-popover-item:disabled{opacity:.45;cursor:not-allowed}.mdocs-agent-skill-popover-check{width:14px;flex-shrink:0;font-size:12px;line-height:1.4;color:#175cd3}.mdocs-agent-skill-popover-text{display:flex;flex-direction:column;gap:2px;min-width:0}.mdocs-agent-skill-popover-name{font-size:13px;font-weight:600;color:#101828;line-height:1.3}.mdocs-agent-skill-popover-desc{font-size:12px;color:#667085;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mdocs-agent-skill-popover-desc-muted{color:#98a2b3}.mdocs-agent-skill-chip{border:1px solid #e4e7ec;background:#fff;border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;color:#475467}.mdocs-agent-skill-chip-on{border-color:#84caff;background:#eff8ff;color:#175cd3}.mdocs-agent-msg-skills{font-size:11px;color:#667085;margin-bottom:4px}.mdocs-agent-skills-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.mdocs-agent-skills-panel{margin-top:8px}.mdocs-agent-skills-count{display:inline-flex;align-items:center;justify-content:center;margin-left:10px;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#eef2f6;color:#475467;font-size:12px;font-weight:600;vertical-align:middle}.mdocs-agent-skills-lead{margin:0 0 16px}.mdocs-agent-skills-error{margin:0 0 12px;padding:8px 12px;border-radius:8px;background:#fef3f2;color:#b42318;font-size:13px}.mdocs-agent-skills-form{margin-bottom:16px;padding:16px;border:1px solid #e4e7ec;border-radius:10px;background:#f9fafb}.mdocs-agent-skills-form-head{margin-bottom:12px;font-size:14px;color:#1f2329}.mdocs-agent-skills-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;color:#344054}.mdocs-agent-skills-field input,.mdocs-agent-skills-field textarea{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;font:inherit;background:#fff;color:#1f2329}.mdocs-agent-skills-field textarea{resize:vertical;min-height:140px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.mdocs-agent-skills-input-invalid{border-color:#f97066!important;background:#fffbfa!important}.mdocs-agent-skills-hint{font-size:12px;color:#98a2b3}.mdocs-agent-skills-hint-bad{font-size:12px;color:#b42318}.mdocs-agent-skills-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:8px 0 4px}.mdocs-agent-skills-empty p{margin:0;color:#667085;font-size:13px}.mdocs-agent-skills-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 4px;border-top:1px solid #eef2f6}.mdocs-agent-skills-item:first-child{border-top:none;padding-top:4px}.mdocs-agent-skills-item-active{background:#f8fafc;margin:0 -8px;padding-left:12px;padding-right:12px;border-radius:8px}.mdocs-agent-skills-item-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.mdocs-agent-skills-item-title-row{display:flex;align-items:center;gap:8px;min-width:0}.mdocs-agent-skills-name{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:600;color:#175cd3;background:#eff8ff;border-radius:6px;padding:2px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-agent-skills-badge-warn{flex-shrink:0;font-size:11px;font-weight:600;color:#b54708;background:#fffaeb;border:1px solid #fedf89;border-radius:999px;padding:1px 8px}.mdocs-agent-skills-desc{font-size:13px;color:#667085;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mdocs-agent-skills-item-actions{display:flex;gap:8px;flex-shrink:0}.mdocs-agent-panel-input{width:100%;resize:none;border:none;border-radius:14px;padding:14px 92px 14px 14px;font:inherit;font-size:14px;line-height:1.5;background:transparent;color:#1f2329;box-sizing:border-box;outline:none;min-height:72px}.mdocs-agent-panel-input:disabled{opacity:.7;cursor:not-allowed}.mdocs-agent-panel-send{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border:none;border-radius:10px;background:#3370ff;color:#fff;cursor:pointer;font-size:15px;line-height:1}.mdocs-agent-panel-send:disabled{background:#c3d4ff;cursor:not-allowed}.mdocs-agent-panel-footnote{margin:10px 0 0;font-size:12px;color:#8a919f;text-align:center}.mdocs-agent-panel-history{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 14px 16px;gap:10px;background:#fafbfc;overflow:hidden}.mdocs-agent-panel-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;font-size:14px;font-weight:600;color:#1f2329}.mdocs-agent-panel-history-back{border:none;background:transparent;color:#3370ff;font-size:13px;cursor:pointer;padding:4px 0}.mdocs-agent-panel-history-back:hover{text-decoration:underline}.mdocs-agent-panel-history-empty{margin:24px 0 0;font-size:15px;color:#1f2329;text-align:center}.mdocs-agent-panel-history-hint{margin:0;font-size:13px;color:#8a919f;text-align:center}.mdocs-agent-panel-history-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.mdocs-agent-panel-history-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:10px 12px;border:1px solid #e8eaed;border-radius:10px;background:#fff;cursor:pointer;color:#1f2329}.mdocs-agent-panel-history-item:hover:not(:disabled){border-color:#91b4ff}.mdocs-agent-panel-history-item.active{border-color:#3370ff;background:#f0f5ff}.mdocs-agent-panel-history-item:disabled{opacity:.6;cursor:not-allowed}.mdocs-agent-panel-history-title{flex:1;min-width:0;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-agent-panel-history-time{flex-shrink:0;font-size:12px;color:#8a919f}.mdocs-visitor-avatar{width:26px;height:26px;border-radius:50%;background:var(--mdocs-accent);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mdocs-visitor-footer-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--mdocs-text)}.mdocs-config-tree{flex:1;padding:8px;overflow-y:auto}.mdocs-config-item{padding:8px 12px;border-radius:6px;font-size:13px;color:var(--mdocs-text);cursor:pointer;transition:background .12s ease}.mdocs-config-item:hover:not(.active){background:var(--mdocs-bg)}.mdocs-config-item.active{background:var(--mdocs-accent-soft);font-weight:500;cursor:default}.mdocs-settings{flex:1;min-height:0;overflow-y:auto;padding:32px 40px;background:#f9fafb;-webkit-overflow-scrolling:touch}.mdocs-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.mdocs-settings-title{margin:0;font-size:20px;font-weight:600}.mdocs-agent-config-title{display:inline-flex;align-items:center;gap:10px}.mdocs-agent-config-logo{width:28px;height:28px;display:block}.mdocs-agent-config-field .mdocs-settings-card-title{display:block;margin-bottom:6px}.mdocs-agent-config-select{width:100%;max-width:320px}.mdocs-agent-config-select .mdocs-mini-select,.mdocs-agent-config-select .mdocs-mini-select-trigger{width:100%}.mdocs-agent-config-select .mdocs-mini-select-trigger{justify-content:space-between;padding:6px 12px;font-size:inherit;min-width:0}.mdocs-agent-config-readonly{margin:6px 0 0;font-size:14px;color:var(--mdocs-text, #111827);word-break:break-all}.mdocs-agent-config-apikey{display:flex;align-items:center;gap:8px;margin-top:6px}.mdocs-agent-config-apikey input{flex:1;min-width:0}.mdocs-agent-config-eye{flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:var(--mdocs-radius, 6px);background:var(--mdocs-surface, #fff);color:var(--mdocs-text-muted, #6b7280);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.mdocs-agent-config-eye:hover{background:var(--mdocs-bg-hover, #f5f5f5)}.mdocs-agent-config-actions{display:flex;gap:8px;align-items:center}.mdocs-settings-cards{display:flex;flex-direction:column;gap:16px}.mdocs-settings-card{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #00000014}.mdocs-settings-secret-result{margin-top:16px;padding:14px 16px;border-radius:10px;border:1px solid transparent}.mdocs-settings-secret-result--ok{border-color:var(--mdocs-success, #4caf50);background:var(--mdocs-success-soft, #f1f8f1)}.mdocs-settings-secret-result--warn{border-color:#e67e22;background:#fef9f0}.mdocs-settings-secret-result-head{display:flex;flex-direction:column;gap:4px}.mdocs-settings-secret-value{margin-top:8px;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;color:var(--mdocs-text, #1f2937)}.mdocs-settings-secret-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.25rem;letter-spacing:.1em;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 14px;margin-top:8px;-webkit-user-select:all;user-select:all}.mdocs-settings-secret-result-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.mdocs-settings-copy-feedback{margin-top:10px;font-size:.875rem}.mdocs-settings-copy-feedback--ok{color:var(--mdocs-success-text, #2e7d32)}.mdocs-settings-copy-feedback--err{color:var(--mdocs-error-text, #c62828)}.mdocs-settings-search{width:100%;padding:10px 14px;border:1px solid var(--mdocs-border);border-radius:8px;font-size:14px;color:var(--mdocs-text);background:#fff;margin-bottom:16px;outline:none;transition:border-color .15s}.mdocs-settings-search:focus{border-color:var(--mdocs-primary)}.mdocs-settings-search::placeholder{color:var(--mdocs-text-muted)}.mdocs-settings-table{width:100%;border-collapse:collapse;font-size:14px}.mdocs-settings-table thead th{text-align:left;padding:12px 8px;font-weight:600;color:var(--mdocs-text-muted);border-bottom:1px solid var(--mdocs-border);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.mdocs-settings-table thead th:last-child{text-align:right}.mdocs-settings-table tbody td{padding:12px 8px;border-bottom:1px solid var(--mdocs-border-light);color:var(--mdocs-text)}.mdocs-settings-table tbody tr:last-child td{border-bottom:none}.mdocs-settings-table tbody tr:hover td{background:var(--mdocs-bg-hover)}button.small{padding:6px 12px;font-size:12px}.mdocs-settings-card-title{font-weight:600;font-size:14px;color:var(--mdocs-text);display:inline-flex;align-items:center;gap:8px}.mdocs-settings-hero{background:#f0fdf4;border-left:4px solid #22c55e;box-shadow:none}.mdocs-settings-hero-icon{font-size:16px;flex-shrink:0}.mdocs-settings-badge{display:inline-block;font-size:11px;font-weight:500;color:#16a34a;background:#dcfce7;padding:1px 8px;border-radius:9999px;line-height:1.6}.mdocs-settings-item{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;cursor:pointer}.mdocs-settings-item-info{display:flex;flex-direction:column;gap:6px;min-width:0}.mdocs-settings-item-desc{font-size:13px;color:#6b7280;line-height:1.5}.mdocs-settings-lang{display:flex;align-items:center;gap:4px;font-size:13px}.mdocs-settings-lang button{background:none;border:1px solid var(--mdocs-border);padding:6px 16px;font-size:13px;color:var(--mdocs-text-muted);cursor:pointer;border-radius:6px}.mdocs-settings-lang button.active{color:var(--mdocs-text);font-weight:600;border-color:var(--mdocs-accent);background:var(--mdocs-accent-soft)}.mdocs-settings-lang span{color:var(--mdocs-border)}.mdocs-settings-draft-link{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;cursor:pointer;text-align:left;font-size:14px;color:var(--mdocs-text);background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #00000014;transition:box-shadow .15s ease}.mdocs-settings-draft-link:hover{box-shadow:0 2px 8px #0000001f}.mdocs-settings-draft-link-text{font-weight:500}.mdocs-settings-draft-arrow{font-size:20px;color:var(--mdocs-text-muted);font-weight:300}.mdocs-settings-draft-empty{color:#9ca3af;font-size:13px;text-align:center;padding:16px 24px}.mdocs-tree-folder-row{box-sizing:border-box;cursor:pointer}.mdocs-tree-folder-select{min-width:0;margin:0;padding:0;text-align:left}.mdocs-tree-folder-row:hover .mdocs-tree-label{text-decoration:underline}.mdocs-tree-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mdocs-context-menu{position:fixed;min-width:200px;padding:4px;z-index:50;display:flex;flex-direction:column}.mdocs-context-item{text-align:left;border:none;background:transparent;padding:6px 10px;border-radius:6px;font-size:13px;color:var(--mdocs-text)}.mdocs-context-item:hover{background:var(--mdocs-bg)}.mdocs-context-item.danger{color:var(--mdocs-error)}.mdocs-context-item.danger:hover{background:var(--mdocs-error-soft)}.mdocs-document-editor-root{box-sizing:border-box;padding-left:50px;padding-right:50px;padding-top:20px;height:auto!important;min-height:100%}.mdocs-outline-siderail>div>div:first-child{border-left:1px solid var(--mdocs-border)!important;margin-top:24px!important;margin-bottom:24px!important;padding-left:16px!important;padding-right:16px!important;padding-top:20px!important}.mdocs-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;position:relative}.mdocs-empty{flex:1;display:flex;align-items:center;justify-content:center}.mdocs-editor{display:flex;flex-direction:column;flex:1;min-height:0}.mdocs-editor-toolbar{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--mdocs-border);background:var(--mdocs-surface);flex-shrink:0}.mdocs-editor-title-input{width:200px;max-width:32vw;flex:0 0 auto;min-width:0;box-sizing:border-box}.mdocs-editor-permission-select{max-width:160px;flex:0 1 auto;min-width:100px;height:35px;padding:0 8px;border:1px solid var(--mdocs-border);border-radius:6px;background:var(--mdocs-surface);font-size:13px;color:var(--mdocs-text)}.mdocs-editor-toolbar-spacer{flex:1;min-width:4px}.mdocs-editor-toolbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.mdocs-editor-content-area :focus-visible{outline:none}.mdocs-editor-content-area{min-width:0!important}.mdocs-editor-content-area .editor_table_scrollable_wrapper{min-width:0!important;max-width:100%!important}.mdocs-editor-content-area img{max-width:100%!important}.mdocs-editor-scroll-host{box-sizing:border-box;flex:1;min-width:0;min-height:0;overflow:auto;padding:16px 16px 0}.mdocs-editor-scroll-host:after{content:"";display:block;height:80px}.mdocs-editor-body{flex:1;display:grid;grid-template-columns:1fr;min-height:0}.mdocs-editor h1{font-size:24px;font-weight:700;margin-top:0;margin-bottom:.5em}.mdocs-editor h2{font-size:20px;font-weight:600;margin-top:1.5em;margin-bottom:.5em}.mdocs-editor h3{font-size:18px;font-weight:500;margin-top:1.2em;margin-bottom:.5em}.mdocs-editor p,.mdocs-editor li,.mdocs-editor blockquote{line-height:1.6;margin-bottom:1em}.mdocs-editor ol,.mdocs-editor ul{padding-left:24px;margin-bottom:1em}.mdocs-editor li{margin-bottom:.5em}strong.label{color:var(--mdocs-accent);font-weight:600;margin-right:8px}.mdocs-save-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;transition:background .3s ease}.mdocs-save-dot.saved{background:var(--mdocs-success)}.mdocs-save-dot.unsaved{background:var(--mdocs-warning)}.mdocs-save-dot.saving{background:var(--mdocs-warning);animation:save-dot-pulse 1s infinite}@keyframes save-dot-pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.mdocs-save-indicator{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--mdocs-text-muted)}.mdocs-settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;cursor:pointer}.mdocs-toggle{width:40px;height:22px;border-radius:11px;background:var(--mdocs-border);border:none;padding:2px;cursor:pointer;transition:background .2s ease;flex-shrink:0;position:relative}.mdocs-toggle.active{background:var(--mdocs-accent)}.mdocs-toggle-knob{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:var(--mdocs-shadow)}.mdocs-toggle.active .mdocs-toggle-knob{transform:translate(18px)}.mdocs-conflict-notice{position:fixed;bottom:20px;right:20px;max-width:360px;padding:12px 16px;background:var(--mdocs-warning-soft);border:1px solid var(--mdocs-warning);border-radius:var(--mdocs-radius-lg);box-shadow:var(--mdocs-shadow-md);z-index:30;font-size:13px;color:var(--mdocs-text)}.mdocs-conflict-notice-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mdocs-conflict-notice p{margin:0;font-size:12px;color:var(--mdocs-text-muted);line-height:1.5}.mdocs-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:30;animation:backdrop-in .2s ease}.mdocs-drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100vw;background:#fff;z-index:31;display:flex;flex-direction:column;box-shadow:-4px 0 16px #0000001a;animation:drawer-slide-in .25s ease}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.mdocs-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid var(--mdocs-border);flex-shrink:0}.mdocs-drawer-header-text{display:flex;flex-direction:column;gap:4px;min-width:0}.mdocs-drawer-title{margin:0;font-size:18px;font-weight:600;display:inline-flex;align-items:center;gap:8px}.mdocs-drawer-count-badge{display:inline-block;font-size:11px;font-weight:500;color:#16a34a;background:#dcfce7;padding:1px 8px;border-radius:9999px;line-height:1.6}.mdocs-drawer-subtitle{font-size:13px;color:var(--mdocs-text-muted)}.mdocs-drawer-close-btn{border:none;background:transparent;font-size:22px;color:var(--mdocs-text-muted);cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.mdocs-drawer-close-btn:hover{color:var(--mdocs-text)}.mdocs-drawer-body{flex:1;overflow-y:auto;min-height:0}.mdocs-drawer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;text-align:center}.mdocs-drawer-empty-icon{width:40px;height:40px;border-radius:50%;background:#dcfce7;color:#16a34a;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}.mdocs-drawer-empty-text{margin:0;font-size:14px;color:var(--mdocs-text-muted)}.mdocs-drawer-items{display:flex;flex-direction:column}.mdocs-drawer-item{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--mdocs-border)}.mdocs-drawer-item-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}.mdocs-drawer-item-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.mdocs-drawer-item-name{font-weight:500;font-size:14px;color:var(--mdocs-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mdocs-drawer-item-meta{font-size:12px;color:var(--mdocs-text-muted)}.mdocs-drawer-item-error{font-size:12px;color:var(--mdocs-danger)}.mdocs-drawer-item-failed{background:var(--mdocs-danger-bg, rgba(220, 38, 38, .04))}.mdocs-drawer-item-actions{display:flex;gap:6px;flex-shrink:0}.mdocs-btn-ghost{border:none;background:transparent;padding:4px 10px;font-size:13px;cursor:pointer;border-radius:6px;font-weight:500;transition:background .12s ease}.mdocs-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.mdocs-btn-ghost-primary{color:var(--mdocs-accent)}.mdocs-btn-ghost-primary:hover:not(:disabled){background:var(--mdocs-accent-soft)}.mdocs-btn-ghost-danger{color:var(--mdocs-error)}.mdocs-btn-ghost-danger:hover:not(:disabled){background:var(--mdocs-error-soft)}.mdocs-drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--mdocs-border);flex-shrink:0}.mdocs-drawer-toast{position:absolute;bottom:80px;left:24px;right:24px;padding:10px 16px;border-radius:var(--mdocs-radius);font-size:13px;z-index:1;animation:toast-in .3s ease}.mdocs-drawer-toast--success{background:var(--mdocs-success-soft);color:var(--mdocs-success-text)}.mdocs-drawer-toast--error{background:var(--mdocs-error-soft);color:var(--mdocs-error-text)}.mdocs-toast{position:absolute;right:20px;bottom:20px;padding:10px 14px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:10px;font-size:12px;z-index:20;animation:toast-in .3s ease;box-shadow:0 4px 12px #00000014}.mdocs-toast.success{background:var(--mdocs-success-soft);color:var(--mdocs-success-text)}.mdocs-toast.warning{background:var(--mdocs-warning-soft);color:var(--mdocs-warning-text)}.mdocs-toast.error{background:var(--mdocs-error-soft);color:var(--mdocs-error-text)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mdocs-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:24px;z-index:40;animation:backdrop-in .2s ease}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.mdocs-dialog{width:min(420px,100%);padding:24px;animation:dialog-in .3s ease}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mdocs-dialog h1{margin:0 0 4px;font-size:18px;font-weight:600}.mdocs-dialog p{margin:0 0 16px;color:var(--mdocs-text-muted);font-size:13px}.mdocs-dialog form,.mdocs-dialog-form{display:flex;flex-direction:column;gap:12px}.mdocs-dialog-label{display:flex;flex-direction:column;gap:6px;font-size:13px}.mdocs-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.mdocs-dialog-error{color:var(--mdocs-error);font-size:12px}.mdocs-message-dialog{width:min(360px,92vw);padding:20px 24px 16px}.mdocs-message-dialog-title{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--mdocs-text)}.mdocs-message-dialog-body{margin:0 0 16px;color:var(--mdocs-text-muted);font-size:14px;line-height:1.5;word-break:break-word}.mdocs-message-dialog-actions{display:flex;justify-content:flex-end}.mdocs-agent-close-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a59;border-radius:inherit}.mdocs-agent-close-confirm{width:min(320px,100%);background:#fff;border-radius:12px;box-shadow:0 12px 40px #0f172a2e}.mdocs-agent-close-confirm-actions{gap:8px}.mdocs-notice{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:10;max-width:560px;padding:12px 16px;display:flex;align-items:center;gap:10px}.mdocs-notice code{background:var(--mdocs-bg);padding:2px 6px;border-radius:6px;font-size:12px}.mdocs-shell-single{grid-template-columns:1fr}.mdocs-welcome{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px}.mdocs-welcome h1{margin:0;font-size:28px;font-weight:600;letter-spacing:.2px}.mdocs-welcome-lead{max-width:360px;text-align:center;line-height:1.45}.mdocs-welcome-domain{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.mdocs-welcome-domain-label{font-size:13px}.mdocs-welcome-actions{display:flex;gap:10px;margin-top:8px}.mdocs-welcome-recent{margin-top:24px;display:flex;flex-direction:column;gap:4px;min-width:240px;align-items:stretch}.mdocs-toolbar{position:sticky;top:0;z-index:10;background:var(--mdocs-surface);border-bottom:1px solid var(--mdocs-border)}.mdocs-sidebar-bookmark,.mdocs-sidebar-logout{transition:color .15s ease,background .15s ease}.mdocs-sidebar-bookmark:hover,.mdocs-sidebar-logout:hover{color:var(--mdocs-text, #111827)!important;background:var(--mdocs-bg-hover, #f3f4f6)!important}.mdocs-bookmark-btn{transition:transform .15s ease,opacity .15s ease}.mdocs-bookmark-btn:hover:not(:disabled){transform:scale(1.1)}.mdocs-tooltip{position:relative}.mdocs-tooltip:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;background:#000000d9;color:#fff;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;z-index:1000;pointer-events:none}.mdocs-tooltip:after{content:"";position:absolute;bottom:calc(100% + 1px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000000d9;opacity:0;visibility:hidden;z-index:1000;pointer-events:none}.mdocs-tooltip:hover:before,.mdocs-tooltip:hover:after{opacity:1;visibility:visible}.mdocs-tooltip-bottom:before{top:calc(100% + 8px);bottom:auto}.mdocs-tooltip-bottom:after{top:calc(100% + 1px);bottom:auto;border-top-color:transparent;border-bottom-color:#000000d9}.mdocs-bookmark-filterbar{display:flex;gap:8px;margin-bottom:12px}.mdocs-bookmark-filterbar input{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--mdocs-border, #e5e7eb);border-radius:6px;font-size:13px;background:var(--mdocs-bg, #f9fafb);color:var(--mdocs-text, #111827);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.mdocs-bookmark-filterbar input:focus{border-color:var(--mdocs-accent, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.mdocs-bookmark-filterbar select{padding:6px 10px;border:1px solid var(--mdocs-border, #e5e7eb);border-radius:6px;font-size:13px;background:var(--mdocs-bg, #f9fafb);color:var(--mdocs-text, #111827);outline:none;cursor:pointer;max-width:140px}.mdocs-bookmark-filterbar select:focus{border-color:var(--mdocs-accent, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.mdocs-mini-select-trigger{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:6px;font-size:12px;background:var(--mdocs-surface, #fff);color:var(--mdocs-text, #111827);cursor:pointer;min-width:72px;white-space:nowrap}.mdocs-mini-select-trigger:hover{background:var(--mdocs-bg-hover, #f5f5f5)}.mdocs-mini-select-chevron{transition:transform .15s ease}.mdocs-mini-select-chevron.open{transform:rotate(180deg)}.mdocs-mini-select-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:1000;min-width:100%;padding:4px}.mdocs-mini-select-option{width:100%;text-align:left;padding:6px 10px;border:none;background:transparent;border-radius:4px;font-size:12px;cursor:pointer}.mdocs-mini-select-option:hover{background:var(--mdocs-hover-bg, #f5f5f5)}.mdocs-mini-select-option.active{background:var(--mdocs-accent-bg, #eff6ff);color:var(--mdocs-accent, #3b82f6)}.mdocs-bookmark-table{width:100%;border-collapse:separate;border-spacing:0 2px;table-layout:fixed}.mdocs-bookmark-table th{padding:6px 12px;font-size:.75rem;color:var(--mdocs-text-muted, #999);font-weight:600;text-align:left;border-bottom:1px solid var(--mdocs-border, #eee)}.mdocs-bookmark-table td{padding:10px 12px;font-size:.8125rem;color:var(--mdocs-text-muted, #999);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mdocs-bookmark-table .mdocs-bookmark-col-title{color:var(--mdocs-text, #111827);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-bookmark-table .mdocs-bookmark-col-action{width:72px;white-space:nowrap;overflow:visible}.mdocs-bookmark-table tbody tr{border-radius:6px;transition:background .15s ease}.mdocs-bookmark-table tbody tr:hover td{background:var(--mdocs-hover-bg, #f5f5f5)}.mdocs-bookmark-removing{opacity:0;transform:translate(20px);transition:opacity .25s ease,transform .25s ease}.mdocs-recovery-dialog{width:min(520px,92vw)}.mdocs-recovery-tree-label{display:block}.mdocs-recovery-tree{max-height:180px;overflow-y:auto;border:1px solid var(--mdocs-border);border-radius:6px;padding:4px 0;background:var(--mdocs-bg, #fff)}.mdocs-recovery-tree .mdocs-sidebar-list{padding:0}.mdocs-ai-write-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;flex-direction:column;background:#fff;color:#1f2329}.mdocs-ai-write-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #e8eaed;flex-shrink:0}.mdocs-ai-write-header-left{display:flex;align-items:center;gap:12px;min-width:0}.mdocs-ai-write-title-logo{width:22px;height:22px;flex-shrink:0}.mdocs-ai-write-title{border:1px solid #e8eaed;border-radius:8px;padding:6px 10px;font:inherit;min-width:160px;max-width:360px}.mdocs-ai-write-header-actions{display:flex;gap:8px}.mdocs-ai-write-primary{background:#3370ff;color:#fff;border:none;border-radius:8px;padding:6px 12px;cursor:pointer}.mdocs-ai-write-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,38%) 1fr}.mdocs-ai-write-chat{display:flex;flex-direction:column;border-right:1px solid #e8eaed;min-width:0;min-height:0}.mdocs-ai-write-chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid #e8eaed;flex-shrink:0}.mdocs-ai-write-chat-toolbar-label{font-size:13px;font-weight:600;color:#4e5969}.mdocs-ai-write-chat-toolbar-actions{display:flex;align-items:center;gap:2px}.mdocs-ai-write-history{flex:1;min-height:0;position:relative;border-bottom:none}.mdocs-ai-write-chat-messages{flex:1;overflow:auto;padding:16px}.mdocs-ai-write-hint,.mdocs-ai-write-diff-empty{color:#8a919f;font-size:13px;line-height:1.55}.mdocs-ai-write-thinking{margin:0 0 .5rem;padding:.35rem .55rem;border-radius:6px;background:color-mix(in srgb,var(--mdocs-border, #e5e7eb) 45%,transparent);font-size:.8rem;color:var(--mdocs-muted, #6b7280)}.mdocs-ai-write-thinking>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.mdocs-ai-write-thinking>summary::-webkit-details-marker{display:none}.mdocs-ai-write-thinking>summary:before{content:"▸ ";display:inline-block;transition:transform .12s ease}.mdocs-ai-write-thinking[open]>summary:before{transform:rotate(90deg)}.mdocs-ai-write-thinking-body{margin:.4rem 0 0;padding:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;line-height:1.45;max-height:12rem;overflow:auto}.mdocs-ai-write-timeline{display:flex;flex-direction:column;gap:8px}.mdocs-ai-write-timeline .mdocs-agent-panel-tool-notice{align-self:flex-start}.mdocs-ai-write-msg{margin-bottom:12px;font-size:14px;line-height:1.6}.mdocs-ai-write-msg-user{padding:8px 12px;border-radius:10px;background:#e8f3ff;white-space:pre-wrap}.mdocs-ai-write-error{margin:0 16px 8px;color:#cf1322;font-size:13px}.mdocs-ai-write-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #e8eaed}.mdocs-ai-write-input-row textarea{flex:1;resize:none;border:1px solid #e8eaed;border-radius:10px;padding:10px 12px;font:inherit}.mdocs-ai-write-md-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.mdocs-ai-write-md-tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid #e8eaed}.mdocs-ai-write-md-tabs button{border:none;background:transparent;padding:6px 10px;border-radius:6px;cursor:pointer;color:#646a73}.mdocs-ai-write-md-tabs button.active{background:#f2f4f7;color:#1f2329;font-weight:600}.mdocs-ai-write-diff{flex:1;overflow:auto;padding:12px 16px}.mdocs-ai-write-diff-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.mdocs-ai-write-diff-count{margin-right:auto;font-size:13px;color:#646a73}.mdocs-ai-write-hunk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.mdocs-ai-write-hunk{border:1px solid #e8eaed;border-radius:10px;overflow:hidden;background:#fafbfc}.mdocs-ai-write-hunk-actions{display:flex;gap:8px;padding:8px 10px;border-bottom:1px solid #e8eaed;background:#fff}.mdocs-ai-write-hunk-accept{background:#f6ffed;border:1px solid #b7eb8f;color:#389e0d;border-radius:6px;padding:4px 10px;cursor:pointer}.mdocs-ai-write-hunk-reject{background:#fff2f0;border:1px solid #ffccc7;color:#cf1322;border-radius:6px;padding:4px 10px;cursor:pointer}.mdocs-ai-write-hunk-pre{margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;line-height:1.5;overflow-x:auto}.mdocs-ai-write-line.del{background:#fff1f0;color:#a8071a}.mdocs-ai-write-line.add{background:#f6ffed;color:#237804}.mdocs-ai-write-editor{flex:1;width:100%;border:none;resize:none;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;box-sizing:border-box}.mdocs-ai-write-inline{position:relative;flex:1;overflow:auto;padding:8px 0 72px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;line-height:1.55}.mdocs-ai-write-inline-same{margin:0;padding:0 16px 0 12px;white-space:pre-wrap;word-break:break-word}.mdocs-ai-write-inline-hunk{position:relative;margin:0;padding:0 16px 0 12px;border:none;border-radius:0;background:transparent}.mdocs-ai-write-inline-hunk-add .mdocs-ai-write-line.add{background:#2ea0431f}.mdocs-ai-write-inline-hunk-del .mdocs-ai-write-line.del{background:#f851491f}.mdocs-ai-write-inline-hunk-mod .mdocs-ai-write-line.del{background:#f851491a}.mdocs-ai-write-inline-hunk-mod .mdocs-ai-write-line.add{background:#2ea0431a}.mdocs-ai-write-inline-hunk.is-active{outline:1px solid rgba(51,112,255,.35);outline-offset:-1px;background:#3370ff08}.mdocs-ai-write-rail{flex:0 0 3px;align-self:stretch;border-radius:1px;margin-right:8px}.mdocs-ai-write-line.del .mdocs-ai-write-rail{background:#f85149}.mdocs-ai-write-line.add .mdocs-ai-write-rail{background:#2ea043}.mdocs-ai-write-line.ctx .mdocs-ai-write-rail{background:transparent}.mdocs-ai-write-line{display:flex;align-items:stretch;gap:0;min-height:1.55em;margin:0 -16px 0 -12px;padding:0 16px 0 12px}.mdocs-ai-write-code{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}.mdocs-ai-write-hunk-hover{position:absolute;top:6px;right:12px;z-index:2;display:flex;gap:6px;padding:4px;border-radius:8px;background:#ffffffeb;border:1px solid #e8eaed;box-shadow:0 4px 12px #0f172a14}.mdocs-ai-write-hunk-hover[hidden]{display:none!important}.mdocs-ai-write-hunk-accept{background:#1a7f37;border:none;color:#fff;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:12px}.mdocs-ai-write-hunk-reject{background:#fff;border:1px solid #d0d7de;color:#24292f;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:12px}.mdocs-ai-write-hunk-pre{margin:0;padding:0;font:inherit;background:transparent;overflow:visible}.mdocs-ai-write-float-nav{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;background:#fffffff5;border:1px solid #e8eaed;box-shadow:0 8px 24px #0f172a1f;z-index:3;font-size:12px;color:#4e5969}.mdocs-ai-write-float-nav button{border:1px solid #e8eaed;background:#fff;border-radius:6px;padding:4px 8px;cursor:pointer;font:inherit}.mdocs-ai-write-float-nav .mdocs-ai-write-hunk-accept,.mdocs-ai-write-float-nav .mdocs-ai-write-hunk-reject{border:none}.mdocs-ai-write-diff-toolbar button.active{background:#f2f4f7;font-weight:600}.mdocs-lexical-md-bridge{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;opacity:0}.mdocs-conflict-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#00000073;pointer-events:auto}.mdocs-conflict-modal-panel{width:min(440px,92vw);padding:20px 24px;border-radius:8px;background:#fff5f5;border:2px solid #cf1322;box-shadow:0 8px 24px #cf132240}.mdocs-conflict-modal-title{margin:0 0 8px;font-size:1.1rem;color:#cf1322}.mdocs-conflict-modal-body{margin:0 0 16px;color:#434343;line-height:1.5}.mdocs-conflict-modal-actions{display:flex;gap:8px;justify-content:flex-end}.mdocs-sync-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;border:1px solid var(--mdocs-border, #e5e5e5);background:transparent;cursor:pointer;font-size:13px}.mdocs-sync-btn.behind{border-color:#1677ff;color:#1677ff;box-shadow:0 0 0 2px #1677ff33;animation:mdocs-sync-pulse 1.5s ease-in-out infinite}@keyframes mdocs-sync-pulse{0%,to{box-shadow:0 0 0 2px #1677ff26}50%{box-shadow:0 0 0 4px #1677ff59}}.mdocs-merge-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;flex-direction:column;background:var(--mdocs-bg, #fff)}.mdocs-merge-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--mdocs-border, #e5e5e5)}.mdocs-merge-toolbar h2{margin:0;font-size:1rem}.mdocs-merge-toolbar-title{display:flex;align-items:center;gap:8px}.mdocs-merge-conflict-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.mdocs-merge-conflict-pill.pending{color:#ad6800;background:#fff7e6;border:1px solid #ffd591}.mdocs-merge-conflict-pill.resolved{color:#135200;background:#f6ffed;border:1px solid #b7eb8f}.mdocs-merge-toolbar-actions{display:flex;gap:8px}.mdocs-merge-body{flex:1;display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,1.4fr) minmax(180px,1fr);gap:1px;min-height:0;background:var(--mdocs-border, #e5e5e5)}.mdocs-merge-side,.mdocs-merge-center{min-height:0;background:var(--mdocs-bg, #fff)}.mdocs-merge-side .mdocs-merge-pane{height:100%}.mdocs-merge-center{display:flex;flex-direction:column;min-width:0;min-height:0}.mdocs-merge-cm-host{flex:1;min-height:0;overflow:hidden}.mdocs-merge-cm-side{height:100%}.mdocs-merge-result-cm{flex:1}.mdocs-merge-pane-header-static{padding:8px 12px;border-bottom:1px solid var(--mdocs-border, #e5e5e5);font-size:13px;font-weight:600}.mdocs-merge-base-warning{font-size:12px;color:#ad6800}.mdocs-merge-inline-conflict{box-sizing:border-box;width:100%;padding:8px;border:1px solid #ffa39e;border-radius:6px;background:#fff2f0}.mdocs-merge-inline-chunks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:8px}.mdocs-merge-chunk-base .mdocs-merge-chunk-body{background:#f5f5f5;border:1px solid #d9d9d9}.mdocs-merge-inline-actions{display:flex;flex-wrap:wrap;gap:6px}.mdocs-merge-inline-actions button{padding:4px 10px;font-size:12px;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:4px;background:#fff;cursor:pointer}.mdocs-merge-inline-actions button.active{border-color:#1677ff;color:#1677ff;background:#e6f4ff}.mdocs-merge-loading,.mdocs-merge-no-conflicts{margin:16px;color:var(--mdocs-muted, #666);font-size:13px}.mdocs-merge-conflicts-panel{flex:1;min-height:0;display:flex;flex-direction:column;border-bottom:1px solid var(--mdocs-border, #e5e5e5)}.mdocs-merge-conflicts-panel h3,.mdocs-merge-result-header h3{margin:0;font-size:13px;font-weight:600}.mdocs-merge-conflicts-panel h3{padding:8px 12px;border-bottom:1px solid var(--mdocs-border, #e5e5e5)}.mdocs-merge-conflict-list{flex:1;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.mdocs-merge-conflict-card{border:1px solid var(--mdocs-border, #e5e5e5);border-radius:6px;padding:8px;background:var(--mdocs-bg, #fff)}.mdocs-merge-conflict-card.pending{border-color:#ffa39e;background:#fff2f0}.mdocs-merge-conflict-card.resolved{border-color:#b7eb8f;background:#f6ffed}.mdocs-merge-conflict-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:600}.mdocs-merge-conflict-status{font-weight:500;color:var(--mdocs-muted, #666)}.mdocs-merge-conflict-chunks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mdocs-merge-chunk-label{font-size:11px;font-weight:600;margin-bottom:4px;color:var(--mdocs-muted, #666)}.mdocs-merge-chunk-body{margin:0;padding:8px;max-height:120px;overflow:auto;font-family:ui-monospace,monospace;font-size:12px;line-height:1.45;border-radius:4px;white-space:pre-wrap;word-break:break-word}.mdocs-merge-chunk-local .mdocs-merge-chunk-body{background:#e6f4ff;border:1px solid #91caff}.mdocs-merge-chunk-remote .mdocs-merge-chunk-body{background:#fff7e6;border:1px solid #ffd591}.mdocs-merge-manual-input{width:100%;min-height:64px;margin-top:8px;padding:8px;font-family:ui-monospace,monospace;font-size:12px;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:4px;resize:vertical}.mdocs-merge-conflict-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mdocs-merge-conflict-actions button{padding:4px 10px;font-size:12px;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:4px;background:var(--mdocs-bg, #fff);cursor:pointer}.mdocs-merge-conflict-actions button.active{border-color:#1677ff;color:#1677ff;background:#e6f4ff}.mdocs-merge-result-panel{flex:0 0 38%;min-height:140px;display:flex;flex-direction:column}.mdocs-merge-result-header{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-bottom:1px solid var(--mdocs-border, #e5e5e5)}.mdocs-merge-result-hint{font-size:11px;color:var(--mdocs-muted, #666)}.mdocs-merge-result-textarea{flex:1;min-height:0}.mdocs-merge-columns{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;min-height:0;background:var(--mdocs-border, #e5e5e5)}.mdocs-merge-pane{display:flex;flex-direction:column;min-height:0;background:var(--mdocs-bg, #fff)}.mdocs-merge-pane-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--mdocs-border, #e5e5e5);font-size:13px;font-weight:600}.mdocs-merge-pane-tabs button{margin-left:4px;padding:2px 8px;font-size:12px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer}.mdocs-merge-pane-tabs button.active{border-color:var(--mdocs-border, #e5e5e5);background:var(--mdocs-hover-bg, #f5f5f5)}.mdocs-merge-textarea,.mdocs-merge-readonly,.mdocs-merge-preview{flex:1;margin:0;padding:12px;overflow:auto;font-family:ui-monospace,monospace;font-size:13px;line-height:1.5;border:none;resize:none}.mdocs-merge-preview{font-family:inherit}.mdocs-merge-preview pre{white-space:pre-wrap}.mdocs-domain-lock{flex-shrink:0}.mdocs-domain-select-wrapper{position:relative;flex:0 1 auto;min-width:120px;max-width:200px}.mdocs-domain-select-trigger{width:100%;height:35px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--mdocs-border);border-radius:var(--mdocs-radius);background:var(--mdocs-surface);font-size:13px;color:var(--mdocs-text);cursor:pointer}.mdocs-domain-select-trigger:hover{border-color:var(--mdocs-border-hover)}.mdocs-domain-select-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mdocs-domain-select-chevron{flex-shrink:0;transition:transform .15s ease}.mdocs-domain-select-chevron.open{transform:rotate(180deg)}.mdocs-domain-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:160px;padding:4px;z-index:50;display:flex;flex-direction:column;gap:1px}.mdocs-domain-select-option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:none;border-radius:6px;background:transparent;font-size:13px;color:var(--mdocs-text);cursor:pointer;text-align:left}.mdocs-domain-select-option:hover{background:var(--mdocs-bg)}.mdocs-domain-select-option.active{background:var(--mdocs-accent-soft);font-weight:500}.mdocs-domain-create-form{display:flex;flex-direction:column;gap:12px}.mdocs-domain-create-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mdocs-domain-name-input{flex:1;min-width:140px;padding:8px 10px;border:1px solid var(--mdocs-border);border-radius:6px;font-size:13px;background:var(--mdocs-bg);color:var(--mdocs-text);outline:none}.mdocs-domain-name-input:focus{border-color:var(--mdocs-accent)}.mdocs-domain-permission-select{flex-shrink:0}.mdocs-domain-item{display:flex;flex-direction:column;gap:12px}.mdocs-domain-item-main{display:flex;flex-direction:column;gap:4px}.mdocs-domain-item-info{display:flex;align-items:center;gap:8px}.mdocs-domain-item-name{font-weight:600;font-size:14px;color:var(--mdocs-text)}.mdocs-domain-item-meta{display:flex;align-items:center;gap:12px;font-size:12px}.mdocs-domain-permission-badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:9999px;line-height:1.5}.mdocs-domain-permission-badge[data-permission=public]{color:#16a34a;background:#dcfce7}.mdocs-domain-permission-badge[data-permission=restricted]{color:#ca8a04;background:#fef9c3}.mdocs-domain-permission-badge[data-permission=private]{color:#6b7280;background:#f3f4f6}.mdocs-domain-doc-count{color:var(--mdocs-text-muted)}.mdocs-domain-item-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mdocs-domain-item-actions .mdocs-domain-permission-select button{font-size:12px;padding:4px 10px}.mdocs-domain-rename-row{display:flex;align-items:center;gap:6px}.mdocs-domain-locked-hint{font-size:12px;opacity:.6}.mdocs-domain-locked-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:-20px -24px 16px;background:#fff8e1;border-bottom:1px solid #ffecb3;border-radius:12px 12px 0 0;font-size:13px;color:#ff8f00;line-height:1.4}.mdocs-domain-locked-icon{font-size:15px;flex-shrink:0}.mdocs-domain-badge-builtin{display:inline-block;font-size:11px;font-weight:500;padding:1px 8px;border-radius:9999px;background:#e3f2fd;color:#1565c0;line-height:1.6;margin-left:8px}.mdocs-domain-badge-shared{display:inline-block;font-size:11px;font-weight:500;padding:1px 8px;border-radius:9999px;background:#f3f4f6;color:#6b7280;line-height:1.6;margin-left:8px}.mdocs-domain-not-creator{padding-top:8px;border-top:1px solid var(--mdocs-border);margin-top:4px}.mdocs-domain-error{border-left:3px solid var(--mdocs-error)}.mdocs-domain-item-actions button:disabled{pointer-events:none}.mdocs-domain-mgmt-create .mdocs-domain-mgmt-create-form{display:flex;flex-direction:column;gap:16px;margin-top:10px}.mdocs-domain-mgmt-field{display:flex;flex-direction:column;gap:6px}.mdocs-domain-mgmt-label{font-size:12px;font-weight:600;color:var(--mdocs-muted, #666)}.mdocs-domain-mgmt-fieldset{border:none;margin:0;padding:0}.mdocs-domain-mgmt-type-radios{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:6px}.mdocs-domain-mgmt-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:14px}.mdocs-domain-mgmt-radio input{accent-color:var(--mdocs-accent, #2563eb)}.mdocs-domain-mgmt-submit{align-self:flex-start}.mdocs-domain-mgmt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}.mdocs-domain-mgmt-search{flex:1;min-width:160px;max-width:320px;padding:8px 12px;border:1px solid var(--mdocs-border);border-radius:8px;font-size:14px;background:var(--mdocs-input-bg, var(--mdocs-surface));color:inherit}.mdocs-domain-mgmt-filters{display:flex;flex-wrap:wrap;gap:6px}.mdocs-domain-mgmt-filter{padding:6px 12px;border:1px solid var(--mdocs-border);border-radius:999px;background:var(--mdocs-surface);font-size:12px;cursor:pointer;color:inherit}.mdocs-domain-mgmt-filter:hover{border-color:var(--mdocs-muted)}.mdocs-domain-mgmt-filter.active{border-color:var(--mdocs-accent, #2563eb);background:color-mix(in srgb,var(--mdocs-accent, #2563eb) 12%,transparent)}.mdocs-domain-table-wrap{padding:0;overflow-x:auto}.mdocs-domain-table{width:100%;border-collapse:collapse;font-size:14px}.mdocs-domain-table th,.mdocs-domain-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--mdocs-border);vertical-align:middle}.mdocs-domain-table th{font-weight:600;font-size:12px;color:var(--mdocs-muted, #666);background:color-mix(in srgb,var(--mdocs-border) 35%,transparent)}.mdocs-domain-table-num{text-align:right;white-space:nowrap;width:6rem}.mdocs-domain-table-row-builtin{background:color-mix(in srgb,var(--mdocs-border) 25%,transparent)}.mdocs-domain-table-name-cell{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mdocs-domain-table-name{font-weight:500}.mdocs-domain-table-type{display:inline-flex;align-items:center;gap:6px}.mdocs-domain-type-lock{font-size:14px;opacity:.85}.mdocs-domain-table-rename{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mdocs-domain-table-actions{min-width:12rem}.mdocs-domain-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.mdocs-domain-change-type-panel{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.mdocs-domain-change-type-panel .mdocs-domain-permission-select{flex-wrap:wrap}.mdocs-domain-not-modifiable{color:var(--mdocs-muted, #666)}.mdocs-domain-not-creator-inline{font-size:12px;color:var(--mdocs-muted, #666);line-height:1.4;max-width:14rem}.mdocs-domain-table .mdocs-domain-item-actions button:disabled,.mdocs-domain-action-buttons button:disabled{pointer-events:none;opacity:.5}.mdocs-member-template-name-input{display:block;width:100%;max-width:28rem;margin-top:4px;padding:6px 0;border:none;border-bottom:1px solid var(--mdocs-border);border-radius:0;font-size:15px;font-weight:500;background:transparent;color:var(--mdocs-text);outline:none}.mdocs-member-template-name-input:focus{border-bottom-color:var(--mdocs-accent)}.mdocs-member-template-name-input:disabled{opacity:.6}.mdocs-member-template-intro,.mdocs-domain-mgmt-restricted-hint{margin:0 0 1rem;max-width:52rem;font-size:14px;color:var(--mdocs-muted, #666);line-height:1.5}.mdocs-member-template-form .mdocs-member-template-ids{width:100%;max-width:40rem;margin-top:6px;padding:10px 12px;font-family:ui-monospace,monospace;font-size:13px;border:1px solid var(--mdocs-border);border-radius:6px;background:var(--mdocs-surface, #fff);resize:vertical}.mdocs-member-template-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mdocs-member-template-list{list-style:none;margin:0;padding:0}.mdocs-member-template-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--mdocs-border) 50%,transparent)}.mdocs-member-template-row:last-child{border-bottom:none}.mdocs-member-template-row-head{display:flex;flex-direction:column;gap:4px}.mdocs-member-template-row-actions{display:flex;flex-wrap:wrap;gap:8px}.mdocs-domain-member-import-title{flex:1 1 100%;margin:0;font-size:12px;font-weight:600;color:var(--mdocs-text);letter-spacing:.02em}.mdocs-domain-member-import{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--mdocs-border) 60%,transparent)}.mdocs-domain-member-import select{min-width:10rem;padding:6px 8px;border-radius:6px;border:1px solid var(--mdocs-border)}.mdocs-domain-import-hint{font-size:12px;color:var(--mdocs-muted, #666)}.mdocs-domain-import-flash{font-size:13px;color:var(--mdocs-success, #0a7);margin-top:6px}.mdocs-member-template-members-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.mdocs-member-template-selected-count{font-size:14px;color:var(--mdocs-text)}.mdocs-wizard-card{display:flex;flex-direction:column}.mdocs-wizard-progress{margin-bottom:20px;padding:0 4px}.mdocs-wizard-progress-track{height:3px;background:color-mix(in srgb,var(--mdocs-border) 60%,transparent);border-radius:2px;margin-bottom:12px;position:relative}.mdocs-wizard-progress-fill{height:100%;background:var(--mdocs-accent, #2563eb);border-radius:2px;transition:width .3s ease}.mdocs-wizard-progress-steps{display:flex;justify-content:space-between;align-items:flex-start}.mdocs-wizard-step-indicator{display:flex;flex-direction:column;align-items:center;gap:6px}.mdocs-wizard-step-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;line-height:1;border:2px solid var(--mdocs-border);color:var(--mdocs-muted, #999);background:var(--mdocs-surface);transition:all .2s ease}.mdocs-wizard-step-circle.current{border-color:var(--mdocs-accent, #2563eb);background:var(--mdocs-accent, #2563eb);color:#fff}.mdocs-wizard-step-circle.done{border-color:#16a34a;background:#16a34a;color:#fff}.mdocs-wizard-step-label{font-size:11px;color:var(--mdocs-muted, #999);white-space:nowrap;transition:color .2s ease}.mdocs-wizard-step-label.current{color:var(--mdocs-text);font-weight:600}.mdocs-wizard-step-label.done{color:#16a34a}.mdocs-wizard-step-content{min-height:320px;display:flex;flex-direction:column;gap:14px;padding:4px 0}.mdocs-wizard-name-input{width:100%;padding:12px 14px;border:1px solid var(--mdocs-border);border-radius:8px;font-size:16px;background:var(--mdocs-surface);color:var(--mdocs-text);outline:none;transition:border-color .15s ease}.mdocs-wizard-name-input:focus{border-color:var(--mdocs-accent, #2563eb)}.mdocs-wizard-name-input[aria-invalid=true]{border-color:var(--mdocs-danger);box-shadow:0 0 0 1px var(--mdocs-danger)}.mdocs-wizard-name-input:disabled{opacity:.6}.mdocs-wizard-hint{margin:4px 0 0;font-size:12px;color:var(--mdocs-muted, #999);line-height:1.4}.mdocs-wizard-hint.danger{color:var(--mdocs-danger)}.mdocs-wizard-preview-card{border:1px solid var(--mdocs-border);border-radius:8px;padding:16px;background:var(--mdocs-bg);display:flex;flex-direction:column;gap:12px}.mdocs-wizard-preview-row{display:flex;align-items:center;gap:12px}.mdocs-wizard-preview-label{font-size:12px;font-weight:600;color:var(--mdocs-muted, #999);min-width:60px;flex-shrink:0}.mdocs-wizard-preview-value{font-size:14px;color:var(--mdocs-text);font-weight:500}.mdocs-wizard-preview-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.mdocs-wizard-preview-tag{display:inline-block;padding:3px 10px;font-size:12px;font-family:ui-monospace,monospace;background:color-mix(in srgb,var(--mdocs-accent, #2563eb) 12%,transparent);color:var(--mdocs-accent, #2563eb);border-radius:4px;line-height:1.5}.mdocs-wizard-preview-tag-more{background:color-mix(in srgb,var(--mdocs-border) 50%,transparent);color:var(--mdocs-muted, #666)}.mdocs-wizard-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--mdocs-border) 50%,transparent)}.mdocs-member-template-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mdocs-member-template-tags-scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.mdocs-member-template-tag{display:inline-block;padding:2px 8px;font-size:11px;background:color-mix(in srgb,var(--mdocs-accent, #2563eb) 12%,transparent);color:var(--mdocs-accent, #2563eb);border-radius:4px;line-height:1.6;white-space:nowrap}.mdocs-member-template-confirm-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:100%;padding:4px 0}.mdocs-member-template-confirm-text{font-size:13px;color:var(--mdocs-danger);line-height:1.4}.mdocs-member-template-confirm-actions{display:flex;gap:8px}.mdocs-member-template-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.mdocs-visitor-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:color-mix(in srgb,#000 45%,transparent);display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.mdocs-visitor-picker-dialog{width:min(960px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;background:var(--mdocs-surface, #fff);color:var(--mdocs-text);border-radius:12px;box-shadow:0 12px 48px color-mix(in srgb,#000 35%,transparent);border:1px solid var(--mdocs-border)}.mdocs-visitor-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--mdocs-border)}.mdocs-visitor-picker-title{margin:0;font-size:1.125rem;font-weight:600}.mdocs-visitor-picker-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--mdocs-muted, #666);padding:4px 8px;border-radius:6px}.mdocs-visitor-picker-close:hover{background:color-mix(in srgb,var(--mdocs-border) 40%,transparent)}.mdocs-visitor-picker-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid color-mix(in srgb,var(--mdocs-border) 60%,transparent)}.mdocs-visitor-picker-search{flex:1 1 100%;min-width:0;padding:6px 12px;border:1px solid var(--mdocs-border);border-radius:8px;font-size:14px}.mdocs-visitor-picker-template-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mdocs-template-picker{position:relative}.mdocs-template-picker-trigger{display:inline-flex;align-items:center;gap:6px;min-width:11rem;padding:8px 10px;border-radius:8px;border:1px solid var(--mdocs-border);background:var(--mdocs-surface);font-size:13px;color:var(--mdocs-text);cursor:pointer}.mdocs-template-picker-trigger:hover{border-color:var(--mdocs-border-hover)}.mdocs-template-picker-trigger:disabled{opacity:.5;cursor:default}.mdocs-template-picker-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mdocs-template-picker-chevron{flex-shrink:0;transition:transform .15s ease}.mdocs-template-picker-chevron.open{transform:rotate(180deg)}.mdocs-template-picker-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;padding:4px;z-index:60;display:flex;flex-direction:column;gap:1px}.mdocs-template-picker-option{display:flex;align-items:center;padding:6px 10px;border:none;border-radius:6px;background:transparent;font-size:13px;color:var(--mdocs-text);cursor:pointer;text-align:left;width:100%}.mdocs-template-picker-option:hover{background:var(--mdocs-bg)}.mdocs-template-picker-option.active{background:var(--mdocs-accent-soft);font-weight:500}.mdocs-visitor-picker-error,.mdocs-visitor-picker-loading{padding:8px 18px;font-size:14px}.mdocs-visitor-picker-error{color:var(--mdocs-danger);background:color-mix(in srgb,var(--mdocs-danger) 12%,transparent)}.mdocs-visitor-picker-columns{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:280px;max-height:50vh;overflow:hidden}@media (max-width: 720px){.mdocs-visitor-picker-columns{grid-template-columns:1fr;max-height:none}}.mdocs-visitor-picker-col{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--mdocs-border)}.mdocs-visitor-picker-col:last-child{border-right:none}.mdocs-visitor-picker-col-title{margin:0;padding:10px 14px;font-size:13px;font-weight:600;background:color-mix(in srgb,var(--mdocs-border) 22%,transparent);border-bottom:1px solid var(--mdocs-border)}.mdocs-visitor-picker-table-wrap{flex:1;overflow:auto}.mdocs-visitor-picker-table{width:100%;border-collapse:collapse;font-size:13px}.mdocs-visitor-picker-table th,.mdocs-visitor-picker-table td{padding:8px 12px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--mdocs-border) 55%,transparent);vertical-align:middle}.mdocs-visitor-picker-table th{position:sticky;top:0;background:var(--mdocs-surface, #fff);z-index:1;font-weight:600}.mdocs-visitor-picker-check-col{width:3rem;text-align:center;white-space:nowrap}.mdocs-visitor-picker-id-short{font-family:ui-monospace,monospace;font-size:12px}.mdocs-visitor-picker-id-full{font-family:ui-monospace,monospace;font-size:11px;word-break:break-all}.mdocs-visitor-picker-empty-cell{padding:24px!important;text-align:center;color:var(--mdocs-muted, #666)}.mdocs-visitor-picker-remove{border:none;background:transparent;color:var(--mdocs-danger);cursor:pointer;font-size:1.25rem;line-height:1;padding:0 4px}.mdocs-visitor-picker-locked{color:var(--mdocs-muted, #999);font-size:12px}.mdocs-visitor-picker-name-muted{color:var(--mdocs-muted, #666);font-style:italic}.mdocs-visitor-picker-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--mdocs-border)}.mdocs-visitor-picker-self-marker{color:#16a34a;font-weight:500;margin-left:4px}.mdocs-editor-with-comments{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden}.mdocs-editor-container{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column}.mdocs-comments-panel{width:360px;flex-shrink:0;border-left:1px solid var(--mdocs-border, #eee);background:var(--mdocs-bg-secondary, #fafafa);display:flex;flex-direction:column;overflow:hidden;position:relative}.mdocs-comments-resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;transition:background .2s;z-index:10}.mdocs-comments-resize-handle:hover,.mdocs-comments-resize-handle:active{background:var(--mdocs-primary, #1976d2)}.mdocs-comments-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--mdocs-border, #eee);background:#fff;flex-shrink:0}.mdocs-comments-error{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;color:#d32f2f;background:#fff5f5;border-bottom:1px solid #ffe0e0}.mdocs-comments-error button{background:none;border:none;color:#d32f2f;cursor:pointer;padding:2px;display:flex;align-items:center}.mdocs-comments-close-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#666;display:flex;align-items:center;justify-content:center}.mdocs-comments-close-btn:hover{background:var(--mdocs-hover-bg, #f0f0f0)}.mdocs-comments-list{flex:1;overflow-y:auto;padding:16px}.mdocs-comments-empty{text-align:center;color:#999;padding:2rem 0}.mdocs-comment-root{margin-bottom:16px;padding:12px;background:#fff;border-radius:8px;border:1px solid var(--mdocs-border, #eee)}.mdocs-comment-replies{margin-top:12px;margin-left:24px;padding-left:12px;border-left:2px solid var(--mdocs-border-light, #e8e8e8)}.mdocs-comment-reply{margin-bottom:8px;padding:8px;background:#fafafa;border-radius:6px}.mdocs-comment-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:.875rem}.mdocs-comment-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.75rem;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mdocs-comment-avatar-small{width:20px;height:20px;font-size:.7rem}.mdocs-comment-author{font-weight:500;color:#333}.mdocs-comment-time{color:#999;font-size:.8rem}.mdocs-comment-reply-to{color:var(--mdocs-primary, #1976d2);font-size:.8rem;font-weight:500}.mdocs-comment-reply-to:before{content:"↳ ";margin-right:2px;color:var(--mdocs-primary, #1976d2)}.mdocs-comment-content{font-size:.9rem;line-height:1.5;color:#333;word-break:break-word;white-space:pre-wrap}.mdocs-comment-reply-btn{background:none;border:none;color:#1976d2;cursor:pointer;font-size:.85rem;padding:0;margin-top:4px}.mdocs-comment-reply-btn:hover{text-decoration:underline}.mdocs-comment-delete{background:none;border:none;color:#999;cursor:pointer;padding:2px;margin-left:auto;border-radius:4px;display:flex;align-items:center;justify-content:center}.mdocs-comment-delete:hover{color:#d32f2f;background:#ffebee}.mdocs-comments-input-wrapper{padding:12px 16px;border-top:1px solid var(--mdocs-border, #eee);background:#fff;flex-shrink:0;position:relative}.mdocs-comments-input-drag-handle{width:32px;height:3px;background:#e0e0e0;border-radius:2px;margin:0 auto 8px;cursor:row-resize;transition:background .2s}.mdocs-comments-input-drag-handle:hover,.mdocs-comments-input-drag-handle:active{background:var(--mdocs-primary, #1976d2)}.mdocs-comment-reply-notice{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#666;margin-bottom:8px}.mdocs-comment-reply-notice button{background:none;border:none;cursor:pointer;color:#999;font-size:.8rem;display:flex;align-items:center;gap:2px}.mdocs-comment-reply-notice button:hover{color:#666}.mdocs-comment-reply-to-name{color:#1976d2;font-weight:500}.mdocs-comments-input{width:100%;padding:8px 12px 24px;border:1px solid #ddd;border-radius:6px;font-size:.9rem;font-family:inherit;resize:none;box-sizing:border-box;display:block}.mdocs-comments-char-count{position:absolute;right:22px;transform:translateY(-22px);font-size:.75rem;color:#999;padding:0 4px;background:linear-gradient(to bottom,transparent 0%,white 30%);pointer-events:none;z-index:1}.mdocs-comments-char-count.mdocs-char-count--warn{color:#d32f2f}.mdocs-comments-input:focus{outline:none;border-color:#1976d2}.mdocs-comments-input-actions{display:flex;justify-content:flex-end;margin-top:4px}.mdocs-btn-primary{background:#1976d2;color:#fff;border:none;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.9rem}.mdocs-btn-primary:hover{background:#1565c0}.mdocs-btn-primary:disabled{background:#90caf9;cursor:not-allowed}:root{--mdocs-accent: #4CAF50;--mdocs-accent-dark: #388E3C;--mdocs-accent-secondary: #81C784;--mdocs-accent-soft: #E8F5E9;--mdocs-accent-ring: rgba(76, 175, 80, .25);--mdocs-success: #66BB6A;--mdocs-success-soft: #E8F5E9;--mdocs-success-text: #2E7D32;--mdocs-warning: #FFB74D;--mdocs-warning-soft: #FFF3E0;--mdocs-warning-text: #EF6C00;--mdocs-error: #EF5350;--mdocs-error-soft: #FFEBEE;--mdocs-error-text: #C62828;--mdocs-danger: #E53935;--mdocs-bg: #F5F5F5;--mdocs-surface: #ffffff;--mdocs-border: #E0E0E0;--mdocs-border-hover: #BDBDBD;--mdocs-text: #212121;--mdocs-text-muted: #616161;--mdocs-text-disabled: #BDBDBD;--mdocs-radius-sm: 4px;--mdocs-radius: 8px;--mdocs-radius-lg: 12px;--mdocs-radius-xl: 16px;--mdocs-shadow: 0 1px 3px rgba(0, 0, 0, .1);--mdocs-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--mdocs-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;min-height:0;margin:0}body{font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--mdocs-bg);color:var(--mdocs-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--mdocs-accent);outline-offset:2px}button{font-family:inherit;font-size:inherit;border-radius:var(--mdocs-radius);border:1px solid var(--mdocs-border);background:var(--mdocs-surface);color:var(--mdocs-text);padding:6px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}button:hover{border-color:var(--mdocs-border-hover)}button:active{transform:scale(.98)}button:disabled{background:var(--mdocs-bg);border-color:var(--mdocs-border);color:var(--mdocs-text-disabled);cursor:not-allowed;transform:none}button.primary{background:var(--mdocs-accent);border-color:var(--mdocs-accent);color:#fff}button.primary:hover{background:var(--mdocs-accent-dark);border-color:var(--mdocs-accent-dark)}button.primary:active{background:var(--mdocs-accent-dark);transform:scale(.98)}button.primary:focus-visible{box-shadow:0 0 0 3px var(--mdocs-accent-ring)}button.secondary{background:transparent;border-color:var(--mdocs-accent);color:var(--mdocs-accent)}button.secondary:hover{background:var(--mdocs-accent-soft)}button.secondary:focus-visible{box-shadow:0 0 0 3px var(--mdocs-accent-ring)}button.danger{background:var(--mdocs-error);border-color:var(--mdocs-error);color:#fff}button.danger:hover{background:#d32f2f;border-color:#d32f2f}button.danger:focus-visible{box-shadow:0 0 0 3px #ef53504d}button.ghost{background:transparent;border-color:transparent;color:var(--mdocs-text-muted)}button.ghost:hover{background:var(--mdocs-bg);color:var(--mdocs-text)}input,textarea{font-family:inherit;font-size:inherit;border-radius:var(--mdocs-radius);border:1px solid var(--mdocs-border);background:var(--mdocs-surface);color:var(--mdocs-text);padding:8px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus{border-color:var(--mdocs-accent);box-shadow:0 0 0 3px var(--mdocs-accent-ring)}input:disabled,textarea:disabled{background:var(--mdocs-bg);color:var(--mdocs-text-disabled);cursor:not-allowed}select{font-family:inherit;font-size:inherit;border-radius:var(--mdocs-radius);border:1px solid var(--mdocs-border);background:var(--mdocs-surface);color:var(--mdocs-text);padding:6px 12px;outline:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}select:focus{border-color:var(--mdocs-accent);box-shadow:0 0 0 3px var(--mdocs-accent-ring)}a{color:var(--mdocs-accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--mdocs-text-muted)}.card{background:var(--mdocs-surface);border:1px solid var(--mdocs-border);border-radius:var(--mdocs-radius-lg);box-shadow:var(--mdocs-shadow)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--mdocs-bg)}::-webkit-scrollbar-thumb{background:var(--mdocs-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--mdocs-border-hover)}.mdocs-playground-page{box-sizing:border-box;height:100%;min-height:0;overflow-y:auto;padding:16px;background:var(--mdocs-bg);-webkit-overflow-scrolling:touch}.mdocs-playground-header{margin-bottom:12px}.mdocs-playground-back{color:var(--mdocs-accent);text-decoration:none;font-size:13px}.mdocs-playground-back:hover{text-decoration:underline}.mdocs-playground-editor{padding:16px}.mdocs-demo-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}.mdocs-demo-banner a{color:#ffffffe6;text-decoration:underline}