@fgbg/mdocs 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-skills/changelog/SKILL.md +27 -1
- package/agent-skills/index.json +1 -1
- package/agent-skills/usage-knowledge-graph/SKILL.md +0 -2
- package/dist/server/agent/Agent/run.js.map +1 -1
- package/dist/server/agent/Agent/system-prompt.js +13 -6
- package/dist/server/agent/Agent/system-prompt.js.map +1 -1
- package/dist/server/agent/Agent/tools-overwrite.js +10 -0
- package/dist/server/agent/Agent/tools-overwrite.js.map +1 -1
- package/dist/server/documents/document.service.js +16 -4
- package/dist/server/documents/document.service.js.map +1 -1
- package/dist/server/routes/agent.routes.js +3 -0
- package/dist/server/routes/agent.routes.js.map +1 -1
- package/dist/shared/file-type-policy.js +120 -0
- package/dist/shared/file-type-policy.js.map +1 -0
- package/dist/shared/file-types.js +4 -2
- package/dist/shared/file-types.js.map +1 -1
- package/dist/web/assets/AgentChatPanel-Dd8Xnyia.js +27 -0
- package/dist/web/assets/{AgentSkillFormCard-CP-HN--U.js → AgentSkillFormCard-dsAy12lL.js} +1 -1
- package/dist/web/assets/{AiWriteWorkbench-0wEf6qur.js → AiWriteWorkbench-i9ZoyX3p.js} +1 -1
- package/dist/web/assets/{DiagramEditor-NtNY3sZL-XBBS6Mu4.js → DiagramEditor-NtNY3sZL-CAQtZY2E.js} +1 -1
- package/dist/web/assets/{DocumentEditor-CeaspJgX.js → DocumentEditor-oFGmAxnV.js} +2 -2
- package/dist/web/assets/{MergeView-y24LKycd.js → MergeView-DgEbzTVh.js} +1 -1
- package/dist/web/assets/PlaygroundPage-BLEC6-Uf.js +8 -0
- package/dist/web/assets/{SettingsPage-Bor0wh4z.js → SettingsPage-BcCvamXH.js} +1 -1
- package/dist/web/assets/{Toolbar-uyj1sA_r.js → Toolbar-Dz9Cn_hv.js} +24 -29
- package/dist/web/assets/{VisitorPickerModal-DljB4USS.js → VisitorPickerModal-eagVdEZA.js} +1 -1
- package/dist/web/assets/code-xml-CZsyEkCa.js +6 -0
- package/dist/web/assets/{copy-DZj0Bj86.js → copy-BUUKT-QO.js} +1 -1
- package/dist/web/assets/{diagram-CT58wBdU.js → diagram-DtU2xxz3.js} +1081 -1081
- package/dist/web/assets/index-DI_31upJ.js +248 -0
- package/dist/web/assets/index-YRgNGXBI.css +1 -0
- package/dist/web/assets/{meta2dEngine-BD2XbzaV-D2yFsZ_P.js → meta2dEngine-BD2XbzaV-nAmL0RaW.js} +1 -1
- package/dist/web/assets/{motion-DX3HNq_4.js → motion-BgtuAqBE.js} +1 -1
- package/dist/web/assets/{plus-Bcg3ots1.js → plus-BkiPFt2u.js} +1 -1
- package/dist/web/assets/{react-kYvt_3tR.js → react--aHzEjEz.js} +3 -3
- package/dist/web/assets/{ui-BQStT3dY.js → ui-RahDNce8.js} +4 -4
- package/dist/web/index.html +5 -5
- package/package.json +2 -1
- package/dist/web/assets/AgentChatPanel-KiTv5uCF.js +0 -6
- package/dist/web/assets/PlaygroundPage-CYx8X23_.js +0 -8
- package/dist/web/assets/index-C4ESYs7f.css +0 -1
- package/dist/web/assets/index-CqUWQ28V.js +0 -248
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/diagram-
|
|
2
|
-
var gS=Object.defineProperty;var bS=(e,t,r)=>t in e?gS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var he=(e,t,r)=>bS(e,typeof t!="symbol"?t+"":t,r);import{r as u,j as N,R as q,a as vS,b as Eo,c as yS,m as Rl,T as su,d as T5,e as j5,f as A5,g as R5,h as z5,i as xb,k as xS,M as wS,l as CS,n as SS,o as wb,p as kS,q as $S,s as DS,t as _S,u as B5,S as ES,v as MS,w as IS,x as FS,y as ad,z as TS,_ as Nh,A as jS,B as Oh,C as cl,P as AS,D as lu,E as RS,F as zS,G as BS,H as PS,I as NS,J as OS,K as LS,L as Cb,N as Lh,O as HS,Q as qS,U as WS,V as VS,W as GS,X as US,Y as XS,Z as YS,$ as KS,a0 as Sb,a1 as kb,a2 as $b,a3 as ba,a4 as ZS,a5 as QS,a6 as JS,a7 as ek}from"./react-vendor-BuABiQkA.js";import{c as tk,r as rk,g as nk,s as Hh,G as ok,m as ul,u as ik,C as qn,M as ak,a as sk,b as P5,d as qh,T as lk,e as ck}from"./motion-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/diagram-DtU2xxz3.js","assets/react-vendor-BuABiQkA.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var gS=Object.defineProperty;var bS=(e,t,r)=>t in e?gS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var he=(e,t,r)=>bS(e,typeof t!="symbol"?t+"":t,r);import{r as u,j as N,R as q,a as vS,b as Eo,c as yS,m as Rl,T as su,d as T5,e as j5,f as A5,g as R5,h as z5,i as xb,k as xS,M as wS,l as CS,n as SS,o as wb,p as kS,q as $S,s as DS,t as _S,u as B5,S as ES,v as MS,w as IS,x as FS,y as ad,z as TS,_ as Nh,A as jS,B as Oh,C as cl,P as AS,D as lu,E as RS,F as zS,G as BS,H as PS,I as NS,J as OS,K as LS,L as Cb,N as Lh,O as HS,Q as qS,U as WS,V as VS,W as GS,X as US,Y as XS,Z as YS,$ as KS,a0 as Sb,a1 as kb,a2 as $b,a3 as ba,a4 as ZS,a5 as QS,a6 as JS,a7 as ek}from"./react-vendor-BuABiQkA.js";import{c as tk,r as rk,g as nk,s as Hh,G as ok,m as ul,u as ik,C as qn,M as ak,a as sk,b as P5,d as qh,T as lk,e as ck}from"./motion-BgtuAqBE.js";const Wh=u.createContext(null);u.memo(({children:e,motion:t})=>N.jsx(Wh,{value:t,children:e}));const dte=()=>{const e=u.use(Wh);if(!e)throw new Error("Please wrap your app with <ConfigProvider> (or <MotionProvider>) and pass the motion component");return e};function uk(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 Db(){var e;return typeof arguments[0]=="object"?e=arguments[0]:e=[].slice.call(arguments),uk(e)}const dk="https://unpkg.com",fk="https://registry.npmmirror.com",N5=({pkg:e,version:t="latest",path:r,proxy:n})=>{switch(n){case"unpkg":return Db(dk,`${e}@${t}`,r);default:return Db(fk,e,t,"files",r)}},Vh=u.createContext(null),O5=u.createContext({locale:"en",t:e=>e}),fc=e=>typeof(e==null?void 0:e.then)=="function",fte=u.memo(({children:e,config:t,locale:r,resources:n,motion:o})=>{const i=r??"en",[a,s]=u.useState(()=>n&&!fc(n)?n:void 0),[l,c]=u.useState(i),d=u.useRef(0);u.useEffect(()=>{const m=++d.current;if(!n){s(void 0),c(i);return}if(fc(n)){const h=i;n.then(g=>{d.current===m&&(s(g),c(h))}).catch(()=>{d.current});return}s(n),c(i)},[i,n]);const f=fc(n)?a:n,p=fc(n)?l:i;return N.jsx(O5,{value:u.useMemo(()=>{const m=Array.isArray(f)?f:f?Object.values(f):[],h=Object.assign({},...m);return{locale:p,t:y=>h[y]||y}},[p,f]),children:N.jsx(Vh,{value:t??null,children:N.jsx(Wh,{value:o,children:e})})})}),_b=({pkg:e,version:t,path:r})=>N5({path:r,pkg:e,proxy:"aliyun",version:t}),Gh=()=>{const e=u.use(Vh);return e?(e==null?void 0:e.proxy)!=="custom"?({pkg:t,version:r,path:n})=>N5({path:n,pkg:t,proxy:e.proxy,version:r}):(e==null?void 0:e.customCdnFn)||_b:_b},pk=()=>u.use(O5);function L5(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Mo(e){"@babel/helpers - typeof";return Mo=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},Mo(e)}function mk(e,t){if(Mo(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Mo(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function H5(e){var t=mk(e,"string");return Mo(t)=="symbol"?t:t+""}function hk(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,H5(n.key),n)}}function q5(e,t,r){return t&&hk(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function W5(e,t,r){return(t=H5(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var gk=function(){function e(){L5(this,e),W5(this,"_cacheList",[tk])}return q5(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}(),Eb=typeof document<"u",V5=function(t,r){return"".concat(t,"-").concat(r)},bk=function(t,r,n,o){var i=o.hashPriority;rk(t,r,n);var a=".".concat(V5(t.key,r.name)),s=i==="low"?":where(".concat(a,")"):a;if(t.inserted[r.name]===void 0){var l="",c=r;do{var d=t.insert(r===c?s:"",c,t.sheet,!0);!Eb&&d!==void 0&&(l+=d),c=c.next}while(c!==void 0);if(!Eb&&l.length!==0)return l}},Uh=function(t){return Mo(t)==="object"&&"styles"in t&&"name"in t&&"toString"in t},vk=function e(t){for(var r="",n=0;n<t.length;n++){var o=t[n];if(o!==null){var i=void 0;switch(Mo(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},yk=function(t,r,n){var o=[],i=nk(t,o,n);return o.length<2?n:i+r(o)},xk=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=Hh(o,t.registered,void 0);return bk(t,a,!1,r),V5(t.key,a.name)}},wk=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 Uh(s)?r(s):s});return yk(t.registered,r,vk(a))}},Xh=function(t,r){var n=xk(t,{hashPriority:r.hashPriority||"high",label:r.label}),o=wk(t,n);return{css:n,cx:o}},zl=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return Hh(r)},G5="acss";function Mb(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 Ot(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Mb(Object(r),!0).forEach(function(n){W5(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Mb(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Ck=function(t){return u.createContext(t)},Sk=function(t){return function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return u.memo(function(i){var a=t();return N.jsx(ok,{styles:Hh(n,void 0,Ot(Ot({},i),{},{theme:a}))})})}};const ut=e=>{const t=u.useRef(e);return t.current=e,u.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 Ib=uo()?u.useLayoutEffect:u.useEffect,Vt=(e,t)=>{const r=u.useRef(!0);Ib(()=>e(r.current),t),Ib(()=>(r.current=!1,()=>{r.current=!0}),[])},x0=(e,t)=>{Vt(r=>{if(!r)return e()},t)},kk=e=>{const t=u.useRef(!1),[r,n]=u.useState(e);u.useEffect(()=>(t.current=!1,()=>{t.current=!0}),[]);function o(i,a){a&&t.current||n(i)}return[r,o]};function Jt(e,t){const[r,n]=u.useState(e),o=t!==void 0?t:r;return Vt(i=>{i||n(t)},[t]),[o,n]}var U5={exports:{}},Kt={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-is.production.min.js
|
|
5
5
|
*
|
|
@@ -2444,7 +2444,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
2444
2444
|
overflow: hidden;
|
|
2445
2445
|
max-width: 100%;
|
|
2446
2446
|
height: auto;
|
|
2447
|
-
`})),RV=ur(Cn.root,{defaultVariants:{variant:"filled"},variants:{variant:{filled:Cn.filled,outlined:Cn.outlined,borderless:Cn.borderless}}}),zV="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjM0IzQjNCIi8+CjxwYXRoIGQ9Ik0xNTYuODg4IDkxLjAwMkgxMDAuMTEyQzk1LjYzMjkgOTEuMDAyIDkyLjAwMTUgOTQuNjMzNCA5Mi4wMDE1IDk5LjExMjdWMTU1Ljg4OEM5Mi4wMDE1IDE2MC4zNjcgOTUuNjMyOSAxNjMuOTk5IDEwMC4xMTIgMTYzLjk5OUgxNTYuODg4QzE2MS4zNjcgMTYzLjk5OSAxNjQuOTk4IDE2MC4zNjcgMTY0Ljk5OCAxNTUuODg4Vjk5LjExMjdDMTY0Ljk5OCA5NC42MzM0IDE2MS4zNjcgOTEuMDAyIDE1Ni44ODggOTEuMDAyWiIgc3Ryb2tlPSIjNjI2MjYyIiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTY0Ljk5OCAxMzkuNjY4TDE1Mi40ODQgMTI3LjE1M0MxNTAuOTYyIDEyNS42MzIgMTQ4LjkgMTI0Ljc3OCAxNDYuNzQ5IDEyNC43NzhDMTQ0LjU5OSAxMjQuNzc4IDE0Mi41MzYgMTI1LjYzMiAxNDEuMDE1IDEyNy4xNTNMMTA0LjE2OCAxNjRNMTE2LjMzNCAxMjMuNDQ1QzEyMC44MTMgMTIzLjQ0NSAxMjQuNDQ1IDExOS44MTQgMTI0LjQ0NSAxMTUuMzM0QzEyNC40NDUgMTEwLjg1NSAxMjAuODEzIDEwNy4yMjQgMTE2LjMzNCAxMDcuMjI0QzExMS44NTUgMTA3LjIyNCAxMDguMjIzIDExMC44NTUgMTA4LjIyMyAxMTUuMzM0QzEwOC4yMjMgMTE5LjgxNCAxMTEuODU1IDEyMy40NDUgMTE2LjMzNCAxMjMuNDQ1WiIgc3Ryb2tlPSIjNjI2MjYyIiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",BV="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjRUNFQ0VDIi8+CjxwYXRoIGQ9Ik0xNTYuODg4IDkxLjAwMkgxMDAuMTEyQzk1LjYzMjkgOTEuMDAyIDkyLjAwMTUgOTQuNjMzNCA5Mi4wMDE1IDk5LjExMjdWMTU1Ljg4OEM5Mi4wMDE1IDE2MC4zNjcgOTUuNjMyOSAxNjMuOTk5IDEwMC4xMTIgMTYzLjk5OUgxNTYuODg4QzE2MS4zNjcgMTYzLjk5OSAxNjQuOTk4IDE2MC4zNjcgMTY0Ljk5OCAxNTUuODg4Vjk5LjExMjdDMTY0Ljk5OCA5NC42MzM0IDE2MS4zNjcgOTEuMDAyIDE1Ni44ODggOTEuMDAyWiIgc3Ryb2tlPSIjRDdEN0Q3IiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTY0Ljk5OCAxMzkuNjY4TDE1Mi40ODQgMTI3LjE1M0MxNTAuOTYyIDEyNS42MzIgMTQ4LjkgMTI0Ljc3OCAxNDYuNzQ5IDEyNC43NzhDMTQ0LjU5OSAxMjQuNzc4IDE0Mi41MzYgMTI1LjYzMiAxNDEuMDE1IDEyNy4xNTNMMTA0LjE2OCAxNjRNMTE2LjMzNCAxMjMuNDQ1QzEyMC44MTMgMTIzLjQ0NSAxMjQuNDQ1IDExOS44MTQgMTI0LjQ0NSAxMTUuMzM0QzEyNC40NDUgMTEwLjg1NSAxMjAuODEzIDEwNy4yMjQgMTE2LjMzNCAxMDcuMjI0QzExMS44NTUgMTA3LjIyNCAxMDguMjIzIDExMC44NTUgMTA4LjIyMyAxMTUuMzM0QzEwOC4yMjMgMTE5LjgxNCAxMTEuODU1IDEyMy40NDUgMTE2LjMzNCAxMjMuNDQ1WiIgc3Ryb2tlPSIjRDdEN0Q3IiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",r9=u.memo(({children:e,visible:t})=>{const r=u.useRef(null);return u.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 PV={"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 NV=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}),OV=async e=>{const t=(e.type||"").toLowerCase();return t==="image/png"||t==="image/svg+xml"?{[t]:e}:{"image/png":await NV(e)}},LV=e=>{try{const t=new URL(e).pathname.match(/\/([^/]+)$/);return t?decodeURIComponent(t[1]):"image"}catch{return"image"}},HV=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"},n9=u.memo(({children:e,info:t,minScale:r,maxScale:n})=>{const{t:o}=IW(PV),[i,a]=u.useState(null),[s,l]=u.useState(!1),[c,d]=u.useState(!1),{transform:{scale:f},actions:{onFlipY:p,onFlipX:m,onRotateLeft:h,onRotateRight:g,onZoomOut:y,onZoomIn:b},image:{url:v}}=t,x=u.useCallback(async()=>{d(!0);try{const S=await(await fetch(v,{mode:"cors"})).blob(),C=URL.createObjectURL(S);let k=LV(v);const D=HV(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),Wa.success(o("image.downloadSuccess"))}catch{Wa.error(o("image.downloadFailed"))}finally{d(!1)}},[v,o]),w=u.useCallback(async()=>{l(!0);try{const S=await OV(await(await fetch(v,{mode:"cors"})).blob());await navigator.clipboard.write([new ClipboardItem(S)]),Wa.success(o("image.copySuccess"))}catch{Wa.error(o("image.copyFailed"))}finally{l(!1)}},[v,o]);return N.jsx(E1,{popupContainer:i??void 0,children:N.jsxs(or,{horizontal:!0,className:Cn.toolbar,gap:4,ref:a,children:[N.jsx(dn,{icon:XH,title:o("image.flipHorizontal"),onClick:m}),N.jsx(dn,{icon:GH,title:o("image.flipVertical"),onClick:p}),N.jsx(dn,{icon:OH,title:o("image.rotateLeft"),onClick:h}),N.jsx(dn,{icon:HH,title:o("image.rotateRight"),onClick:g}),N.jsx(dn,{disabled:f===r,icon:tq,title:o("image.zoomOut"),onClick:y}),N.jsx(dn,{disabled:f===n,icon:JH,title:o("image.zoomIn"),onClick:b}),N.jsx(dn,{icon:Zw,loading:s,title:o("image.copy"),onClick:w}),N.jsx(dn,{icon:EH,loading:c,title:o("image.download"),onClick:x}),e]})})}),qV=e=>{const[t,r]=u.useState(!1);return u.useMemo(()=>{if(e===!1)return e;const{onVisibleChange:n,onOpenChange:o,minScale:i=.32,maxScale:a=32,toolbarAddon:s,rootClassName:l,imageRender:c,toolbarRender:d,...f}=e===!0?{}:e||{};return{actionsRender:(p,m)=>{const h=N.jsx(n9,{info:m,maxScale:a,minScale:i,children:s});return d?d(h,m):h},closeIcon:N.jsx(jt,{color:"#fff",icon:Wu}),imageRender:(p,m)=>{const h=N.jsx(r9,{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(Cn.preview,l),...f}},[e,t,Cn])},{PreviewGroup:WV}=l1,o9=u.memo(({items:e,children:t,enable:r=!0,preview:n})=>{const o=qV(n);return r?N.jsx(WV,{items:e,preview:o,children:t}):t});o9.displayName="PreviewGroup";const VV=e=>{const[t,r]=u.useState(!1);return u.useMemo(()=>{if(e===!1)return e;const{onVisibleChange:n,onOpenChange:o,minScale:i=.32,maxScale:a=32,toolbarAddon:s,rootClassName:l,imageRender:c,toolbarRender:d,actionsRender:f,...p}=e===!0?{}:e||{};return{actionsRender:f||((m,h)=>{const g=N.jsx(n9,{info:h,maxScale:a,minScale:i,children:s});return d?d(g,h):g}),closeIcon:N.jsx(jt,{color:"#fff",icon:Wu}),imageRender:(m,h)=>{const g=N.jsx(r9,{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(Cn.preview,l),styles:{mask:{backdropFilter:"blur(8px)"}},...p}},[e,t,Cn])},i9=u.memo(({ref:e,style:t,preview:r,isLoading:n,maxHeight:o="100%",maxWidth:i="100%",minHeight:a,minWidth:s,actions:l,className:c,alwaysShowActions:d,variant:f="filled",objectFit:p="cover",classNames:m,styles:h,onClick:g,width:y,height:b,...v})=>{const{isDarkMode:x}=En(),w=d?Cn.actionsVisible:Cn.actionsHidden,S=VV(r);return n?N.jsx("div",{onClick:g,children:N.jsx(la.Avatar,{active:!0,style:{borderRadius:Ce.borderRadius,height:b,maxHeight:o,maxWidth:i,minHeight:a,minWidth:s,width:y}})}):N.jsxs(or,{className:Fe(RV({variant:f}),c),ref:e,style:t,children:[l&&N.jsx("div",{className:Fe(w,d?"":"actions-hidden"),children:l}),N.jsx(l1,{className:Fe(Cn.image,m==null?void 0:m.image),fallback:x?zV:BV,height:b,loading:"lazy",preview:r===!1?!1:S,width:y,classNames:{root:Fe(Cn.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,...v})]})});i9.displayName="Image";const B1=i9;B1.PreviewGroup=o9;const a9=[{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"}],Zo=new Map,Jy=500,GV=()=>{if(Zo.size>Jy){const e=Math.floor(Jy*.2),t=Array.from(Zo.keys()).slice(0,e);for(const r of t)Zo.delete(r)}};let Sf=null;const s9=()=>typeof window>"u"?Promise.resolve(null):(Sf||(Sf=Nh(()=>import("./diagram-CT58wBdU.js").then(e=>e.z),__vite__mapDeps([0,1])).then(e=>e.default)),Sf),l9=(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}}),UV=(e,{id:t,theme:r,securityLevel:n})=>{const o=m1(),[i,a]=u.useState(""),s=u.useMemo(()=>l9(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=u.useMemo(()=>{const c=e.length<1e4?e:Il.hashStr(e);return[t,r||(o.isDarkMode?"d":"l"),c].filter(Boolean).join("-")},[e,t,o.isDarkMode,r]);return u.useEffect(()=>{const c=Zo.get(l);if(c){c.then(f=>{a(f)}).catch(()=>{});return}const d=(async()=>{try{const f=await s9();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),""}})();Zo.set(l,d),GV(),d.then(f=>{Zo.get(l)===d&&a(f)}).catch(()=>{Zo.get(l)===d&&Zo.delete(l)})},[l,e,t,s]),i},c9=u.memo(({children:e,className:t,fallbackClassName:r,ref:n,style:o,theme:i,variant:a})=>{const s=e??"",l=i==="lobe-theme"||!i,c=u.useMemo(()=>{var g;if(!l)return(g=a9.find(y=>y.id===i))==null?void 0:g.background},[l,i]),d=UV(s,{id:Lw(`mermaid-${u.useId()}`),theme:l?void 0:i}),f=!d,[p,m]=u.useState();u.useEffect(()=>()=>{p&&URL.revokeObjectURL(p)},[p]),u.useEffect(()=>{if(f||!d)return;let g=d;if(typeof window<"u"&&typeof navigator<"u"&&navigator.userAgent.includes("Firefox")){const b=new DOMParser().parseFromString(d,"image/svg+xml"),v=b.documentElement;if(v&&v.hasAttribute("viewBox")){const x=v.getAttribute("viewBox").split(" ");Array.isArray(x)&&x.length===4&&(v.setAttribute("width",x[2]),v.setAttribute("height",x[3])),g=new XMLSerializer().serializeToString(b)}}const y=new Blob([g],{type:"image/svg+xml"});m(URL.createObjectURL(y))},[f,d]);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(B1,{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..."})})});c9.displayName="StaticMermaid";const XV=(e,{enabled:t=!0,id:r,theme:n})=>{const o=m1(),[i,a]=u.useState(""),s=u.useRef(""),l=u.useRef(e),c=u.useRef(void 0),d=u.useMemo(()=>l9(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 u.useEffect(()=>{l.current=e},[e]),u.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 s9();if(!h)return;if(await h.parse(m)){h.initialize(d);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,d,i]),i},u9=u.memo(({children:e,className:t,fallbackClassName:r,ref:n,style:o,theme:i,variant:a})=>{const s=e??"",l=i==="lobe-theme"||!i,c=u.useMemo(()=>{var g;if(!l)return(g=a9.find(y=>y.id===i))==null?void 0:g.background},[l,i]),d=XV(s,{enabled:!0,id:Lw(`mermaid-${u.useId()}`),theme:l?void 0:i}),f=!d,[p,m]=u.useState();u.useEffect(()=>()=>{p&&URL.revokeObjectURL(p)},[p]),u.useEffect(()=>{if(f||!d){m(void 0);return}let g=d;if(typeof window<"u"&&typeof navigator<"u"&&navigator.userAgent.includes("Firefox")){const b=new DOMParser().parseFromString(d,"image/svg+xml"),v=b.documentElement;if(v&&v.hasAttribute("viewBox")){const x=v.getAttribute("viewBox").split(" ");Array.isArray(x)&&x.length===4&&(v.setAttribute("width",x[2]),v.setAttribute("height",x[3])),g=new XMLSerializer().serializeToString(b)}}const y=new Blob([g],{type:"image/svg+xml"});m(URL.createObjectURL(y))},[f,d]);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(B1,{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..."})})});u9.displayName="StreamMermaid";const YV=tc`
|
|
2447
|
+
`})),RV=ur(Cn.root,{defaultVariants:{variant:"filled"},variants:{variant:{filled:Cn.filled,outlined:Cn.outlined,borderless:Cn.borderless}}}),zV="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjM0IzQjNCIi8+CjxwYXRoIGQ9Ik0xNTYuODg4IDkxLjAwMkgxMDAuMTEyQzk1LjYzMjkgOTEuMDAyIDkyLjAwMTUgOTQuNjMzNCA5Mi4wMDE1IDk5LjExMjdWMTU1Ljg4OEM5Mi4wMDE1IDE2MC4zNjcgOTUuNjMyOSAxNjMuOTk5IDEwMC4xMTIgMTYzLjk5OUgxNTYuODg4QzE2MS4zNjcgMTYzLjk5OSAxNjQuOTk4IDE2MC4zNjcgMTY0Ljk5OCAxNTUuODg4Vjk5LjExMjdDMTY0Ljk5OCA5NC42MzM0IDE2MS4zNjcgOTEuMDAyIDE1Ni44ODggOTEuMDAyWiIgc3Ryb2tlPSIjNjI2MjYyIiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTY0Ljk5OCAxMzkuNjY4TDE1Mi40ODQgMTI3LjE1M0MxNTAuOTYyIDEyNS42MzIgMTQ4LjkgMTI0Ljc3OCAxNDYuNzQ5IDEyNC43NzhDMTQ0LjU5OSAxMjQuNzc4IDE0Mi41MzYgMTI1LjYzMiAxNDEuMDE1IDEyNy4xNTNMMTA0LjE2OCAxNjRNMTE2LjMzNCAxMjMuNDQ1QzEyMC44MTMgMTIzLjQ0NSAxMjQuNDQ1IDExOS44MTQgMTI0LjQ0NSAxMTUuMzM0QzEyNC40NDUgMTEwLjg1NSAxMjAuODEzIDEwNy4yMjQgMTE2LjMzNCAxMDcuMjI0QzExMS44NTUgMTA3LjIyNCAxMDguMjIzIDExMC44NTUgMTA4LjIyMyAxMTUuMzM0QzEwOC4yMjMgMTE5LjgxNCAxMTEuODU1IDEyMy40NDUgMTE2LjMzNCAxMjMuNDQ1WiIgc3Ryb2tlPSIjNjI2MjYyIiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",BV="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjRUNFQ0VDIi8+CjxwYXRoIGQ9Ik0xNTYuODg4IDkxLjAwMkgxMDAuMTEyQzk1LjYzMjkgOTEuMDAyIDkyLjAwMTUgOTQuNjMzNCA5Mi4wMDE1IDk5LjExMjdWMTU1Ljg4OEM5Mi4wMDE1IDE2MC4zNjcgOTUuNjMyOSAxNjMuOTk5IDEwMC4xMTIgMTYzLjk5OUgxNTYuODg4QzE2MS4zNjcgMTYzLjk5OSAxNjQuOTk4IDE2MC4zNjcgMTY0Ljk5OCAxNTUuODg4Vjk5LjExMjdDMTY0Ljk5OCA5NC42MzM0IDE2MS4zNjcgOTEuMDAyIDE1Ni44ODggOTEuMDAyWiIgc3Ryb2tlPSIjRDdEN0Q3IiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTY0Ljk5OCAxMzkuNjY4TDE1Mi40ODQgMTI3LjE1M0MxNTAuOTYyIDEyNS42MzIgMTQ4LjkgMTI0Ljc3OCAxNDYuNzQ5IDEyNC43NzhDMTQ0LjU5OSAxMjQuNzc4IDE0Mi41MzYgMTI1LjYzMiAxNDEuMDE1IDEyNy4xNTNMMTA0LjE2OCAxNjRNMTE2LjMzNCAxMjMuNDQ1QzEyMC44MTMgMTIzLjQ0NSAxMjQuNDQ1IDExOS44MTQgMTI0LjQ0NSAxMTUuMzM0QzEyNC40NDUgMTEwLjg1NSAxMjAuODEzIDEwNy4yMjQgMTE2LjMzNCAxMDcuMjI0QzExMS44NTUgMTA3LjIyNCAxMDguMjIzIDExMC44NTUgMTA4LjIyMyAxMTUuMzM0QzEwOC4yMjMgMTE5LjgxNCAxMTEuODU1IDEyMy40NDUgMTE2LjMzNCAxMjMuNDQ1WiIgc3Ryb2tlPSIjRDdEN0Q3IiBzdHJva2Utd2lkdGg9IjguMTEwNzciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K",r9=u.memo(({children:e,visible:t})=>{const r=u.useRef(null);return u.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 PV={"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 NV=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}),OV=async e=>{const t=(e.type||"").toLowerCase();return t==="image/png"||t==="image/svg+xml"?{[t]:e}:{"image/png":await NV(e)}},LV=e=>{try{const t=new URL(e).pathname.match(/\/([^/]+)$/);return t?decodeURIComponent(t[1]):"image"}catch{return"image"}},HV=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"},n9=u.memo(({children:e,info:t,minScale:r,maxScale:n})=>{const{t:o}=IW(PV),[i,a]=u.useState(null),[s,l]=u.useState(!1),[c,d]=u.useState(!1),{transform:{scale:f},actions:{onFlipY:p,onFlipX:m,onRotateLeft:h,onRotateRight:g,onZoomOut:y,onZoomIn:b},image:{url:v}}=t,x=u.useCallback(async()=>{d(!0);try{const S=await(await fetch(v,{mode:"cors"})).blob(),C=URL.createObjectURL(S);let k=LV(v);const D=HV(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),Wa.success(o("image.downloadSuccess"))}catch{Wa.error(o("image.downloadFailed"))}finally{d(!1)}},[v,o]),w=u.useCallback(async()=>{l(!0);try{const S=await OV(await(await fetch(v,{mode:"cors"})).blob());await navigator.clipboard.write([new ClipboardItem(S)]),Wa.success(o("image.copySuccess"))}catch{Wa.error(o("image.copyFailed"))}finally{l(!1)}},[v,o]);return N.jsx(E1,{popupContainer:i??void 0,children:N.jsxs(or,{horizontal:!0,className:Cn.toolbar,gap:4,ref:a,children:[N.jsx(dn,{icon:XH,title:o("image.flipHorizontal"),onClick:m}),N.jsx(dn,{icon:GH,title:o("image.flipVertical"),onClick:p}),N.jsx(dn,{icon:OH,title:o("image.rotateLeft"),onClick:h}),N.jsx(dn,{icon:HH,title:o("image.rotateRight"),onClick:g}),N.jsx(dn,{disabled:f===r,icon:tq,title:o("image.zoomOut"),onClick:y}),N.jsx(dn,{disabled:f===n,icon:JH,title:o("image.zoomIn"),onClick:b}),N.jsx(dn,{icon:Zw,loading:s,title:o("image.copy"),onClick:w}),N.jsx(dn,{icon:EH,loading:c,title:o("image.download"),onClick:x}),e]})})}),qV=e=>{const[t,r]=u.useState(!1);return u.useMemo(()=>{if(e===!1)return e;const{onVisibleChange:n,onOpenChange:o,minScale:i=.32,maxScale:a=32,toolbarAddon:s,rootClassName:l,imageRender:c,toolbarRender:d,...f}=e===!0?{}:e||{};return{actionsRender:(p,m)=>{const h=N.jsx(n9,{info:m,maxScale:a,minScale:i,children:s});return d?d(h,m):h},closeIcon:N.jsx(jt,{color:"#fff",icon:Wu}),imageRender:(p,m)=>{const h=N.jsx(r9,{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(Cn.preview,l),...f}},[e,t,Cn])},{PreviewGroup:WV}=l1,o9=u.memo(({items:e,children:t,enable:r=!0,preview:n})=>{const o=qV(n);return r?N.jsx(WV,{items:e,preview:o,children:t}):t});o9.displayName="PreviewGroup";const VV=e=>{const[t,r]=u.useState(!1);return u.useMemo(()=>{if(e===!1)return e;const{onVisibleChange:n,onOpenChange:o,minScale:i=.32,maxScale:a=32,toolbarAddon:s,rootClassName:l,imageRender:c,toolbarRender:d,actionsRender:f,...p}=e===!0?{}:e||{};return{actionsRender:f||((m,h)=>{const g=N.jsx(n9,{info:h,maxScale:a,minScale:i,children:s});return d?d(g,h):g}),closeIcon:N.jsx(jt,{color:"#fff",icon:Wu}),imageRender:(m,h)=>{const g=N.jsx(r9,{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(Cn.preview,l),styles:{mask:{backdropFilter:"blur(8px)"}},...p}},[e,t,Cn])},i9=u.memo(({ref:e,style:t,preview:r,isLoading:n,maxHeight:o="100%",maxWidth:i="100%",minHeight:a,minWidth:s,actions:l,className:c,alwaysShowActions:d,variant:f="filled",objectFit:p="cover",classNames:m,styles:h,onClick:g,width:y,height:b,...v})=>{const{isDarkMode:x}=En(),w=d?Cn.actionsVisible:Cn.actionsHidden,S=VV(r);return n?N.jsx("div",{onClick:g,children:N.jsx(la.Avatar,{active:!0,style:{borderRadius:Ce.borderRadius,height:b,maxHeight:o,maxWidth:i,minHeight:a,minWidth:s,width:y}})}):N.jsxs(or,{className:Fe(RV({variant:f}),c),ref:e,style:t,children:[l&&N.jsx("div",{className:Fe(w,d?"":"actions-hidden"),children:l}),N.jsx(l1,{className:Fe(Cn.image,m==null?void 0:m.image),fallback:x?zV:BV,height:b,loading:"lazy",preview:r===!1?!1:S,width:y,classNames:{root:Fe(Cn.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,...v})]})});i9.displayName="Image";const B1=i9;B1.PreviewGroup=o9;const a9=[{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"}],Zo=new Map,Jy=500,GV=()=>{if(Zo.size>Jy){const e=Math.floor(Jy*.2),t=Array.from(Zo.keys()).slice(0,e);for(const r of t)Zo.delete(r)}};let Sf=null;const s9=()=>typeof window>"u"?Promise.resolve(null):(Sf||(Sf=Nh(()=>import("./diagram-DtU2xxz3.js").then(e=>e.z),__vite__mapDeps([0,1])).then(e=>e.default)),Sf),l9=(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}}),UV=(e,{id:t,theme:r,securityLevel:n})=>{const o=m1(),[i,a]=u.useState(""),s=u.useMemo(()=>l9(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=u.useMemo(()=>{const c=e.length<1e4?e:Il.hashStr(e);return[t,r||(o.isDarkMode?"d":"l"),c].filter(Boolean).join("-")},[e,t,o.isDarkMode,r]);return u.useEffect(()=>{const c=Zo.get(l);if(c){c.then(f=>{a(f)}).catch(()=>{});return}const d=(async()=>{try{const f=await s9();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),""}})();Zo.set(l,d),GV(),d.then(f=>{Zo.get(l)===d&&a(f)}).catch(()=>{Zo.get(l)===d&&Zo.delete(l)})},[l,e,t,s]),i},c9=u.memo(({children:e,className:t,fallbackClassName:r,ref:n,style:o,theme:i,variant:a})=>{const s=e??"",l=i==="lobe-theme"||!i,c=u.useMemo(()=>{var g;if(!l)return(g=a9.find(y=>y.id===i))==null?void 0:g.background},[l,i]),d=UV(s,{id:Lw(`mermaid-${u.useId()}`),theme:l?void 0:i}),f=!d,[p,m]=u.useState();u.useEffect(()=>()=>{p&&URL.revokeObjectURL(p)},[p]),u.useEffect(()=>{if(f||!d)return;let g=d;if(typeof window<"u"&&typeof navigator<"u"&&navigator.userAgent.includes("Firefox")){const b=new DOMParser().parseFromString(d,"image/svg+xml"),v=b.documentElement;if(v&&v.hasAttribute("viewBox")){const x=v.getAttribute("viewBox").split(" ");Array.isArray(x)&&x.length===4&&(v.setAttribute("width",x[2]),v.setAttribute("height",x[3])),g=new XMLSerializer().serializeToString(b)}}const y=new Blob([g],{type:"image/svg+xml"});m(URL.createObjectURL(y))},[f,d]);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(B1,{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..."})})});c9.displayName="StaticMermaid";const XV=(e,{enabled:t=!0,id:r,theme:n})=>{const o=m1(),[i,a]=u.useState(""),s=u.useRef(""),l=u.useRef(e),c=u.useRef(void 0),d=u.useMemo(()=>l9(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 u.useEffect(()=>{l.current=e},[e]),u.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 s9();if(!h)return;if(await h.parse(m)){h.initialize(d);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,d,i]),i},u9=u.memo(({children:e,className:t,fallbackClassName:r,ref:n,style:o,theme:i,variant:a})=>{const s=e??"",l=i==="lobe-theme"||!i,c=u.useMemo(()=>{var g;if(!l)return(g=a9.find(y=>y.id===i))==null?void 0:g.background},[l,i]),d=XV(s,{enabled:!0,id:Lw(`mermaid-${u.useId()}`),theme:l?void 0:i}),f=!d,[p,m]=u.useState();u.useEffect(()=>()=>{p&&URL.revokeObjectURL(p)},[p]),u.useEffect(()=>{if(f||!d){m(void 0);return}let g=d;if(typeof window<"u"&&typeof navigator<"u"&&navigator.userAgent.includes("Firefox")){const b=new DOMParser().parseFromString(d,"image/svg+xml"),v=b.documentElement;if(v&&v.hasAttribute("viewBox")){const x=v.getAttribute("viewBox").split(" ");Array.isArray(x)&&x.length===4&&(v.setAttribute("width",x[2]),v.setAttribute("height",x[3])),g=new XMLSerializer().serializeToString(b)}}const y=new Blob([g],{type:"image/svg+xml"});m(URL.createObjectURL(y))},[f,d]);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(B1,{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..."})})});u9.displayName="StreamMermaid";const YV=tc`
|
|
2448
2448
|
0% {
|
|
2449
2449
|
opacity: 0;
|
|
2450
2450
|
}
|
|
@@ -3113,4 +3113,4 @@ l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
|
3113
3113
|
`,viewportTopRight:e`
|
|
3114
3114
|
inset-block-start: 16px;
|
|
3115
3115
|
inset-inline-end: 16px;
|
|
3116
|
-
`})),Uee=ur(Nt.viewport,{defaultVariants:{position:"bottom-right"},variants:{position:{bottom:Nt.viewportBottom,"bottom-left":Nt.viewportBottomLeft,"bottom-right":Nt.viewportBottomRight,top:Nt.viewportTop,"top-left":Nt.viewportTopLeft,"top-right":Nt.viewportTopRight}}}),Xee=ur(Nt.root,{defaultVariants:{position:"bottom-right"},variants:{position:{bottom:Nt.rootBottom,"bottom-left":Nt.rootBottom,"bottom-right":Nt.rootBottom,top:Nt.rootTop,"top-left":Nt.rootTop,"top-right":Nt.rootTop}}}),F5=ur(Nt.action,{defaultVariants:{variant:"primary"},variants:{variant:{danger:Nt.actionDanger,ghost:Nt.actionGhost,primary:Nt.actionPrimary,secondary:Nt.actionSecondary,text:Nt.actionText}}}),Yee={default:Iy,error:xH,info:Iy,loading:Vd,success:vH,warning:KH},Kee={default:Ce.colorText,error:Ce.colorError,info:Ce.colorInfo,loading:Ce.colorPrimary,success:Ce.colorSuccess,warning:Ce.colorWarning},pS=u.memo(({toast:e,classNames:t,styles:r})=>{const{position:n,swipeDirection:o}=Gee(),i=e.data,a=(i==null?void 0:i.type)??"default",s=(i==null?void 0:i.closable)??!0,l=(i==null?void 0:i.hideCloseButton)??!1,c=s&&!l,d=i==null?void 0:i.icon,f=e.title??(i==null?void 0:i.title),p=e.description??(i==null?void 0:i.description),m=e.actionProps??(i==null?void 0:i.actionProps),h=i==null?void 0:i.actions,g=Kee[a],y=d??Yee[a],b=a==="loading",v=()=>y?N.jsx("div",{className:Fe(Nt.icon,t==null?void 0:t.icon),style:r==null?void 0:r.icon,children:N.jsx(jt,{color:g,icon:y,size:18,spin:b})}):null,x=()=>h&&h.length>0?N.jsx("div",{className:Fe(Nt.actions,t==null?void 0:t.actions),style:r==null?void 0:r.actions,children:h.map((w,S)=>N.jsx($b,{style:r==null?void 0:r.action,className:Fe(F5({variant:w.variant??"primary"}),t==null?void 0:t.action),onClick:w.onClick,...w.props,children:w.label},S))}):m?N.jsx($b,{className:Fe(F5({variant:"primary"}),t==null?void 0:t.action),style:r==null?void 0:r.action,...m}):null;return N.jsx(XS,{className:Fe(Xee({position:n}),t==null?void 0:t.root),swipeDirection:o,toast:e,style:{...r==null?void 0:r.root,...i==null?void 0:i.style},children:N.jsx(YS,{className:Fe(Nt.content,t==null?void 0:t.content),style:r==null?void 0:r.content,children:N.jsxs("div",{className:f?Nt.toastBody:Nt.toastBodyCenter,children:[v(),N.jsxs("div",{className:Nt.contentArea,children:[f?N.jsxs(N.Fragment,{children:[N.jsxs("div",{className:Nt.titleRow,children:[N.jsx(KS,{className:Fe(Nt.title,t==null?void 0:t.title),style:r==null?void 0:r.title,children:f}),c&&N.jsx(Sb,{"aria-label":"Close",className:Fe(Nt.close,t==null?void 0:t.close),style:r==null?void 0:r.close,children:N.jsx(Wu,{size:14})})]}),p&&N.jsx(kb,{className:Fe(Nt.description,t==null?void 0:t.description),style:{marginBlockStart:4,...r==null?void 0:r.description},children:p})]}):p&&N.jsxs("div",{className:Nt.titleRow,children:[N.jsx(kb,{className:Fe(Nt.description,t==null?void 0:t.description),style:r==null?void 0:r.description,children:p}),c&&N.jsx(Sb,{"aria-label":"Close",className:Fe(Nt.close,t==null?void 0:t.close),style:r==null?void 0:r.close,children:N.jsx(Wu,{size:14})})]}),x()]})]})})})});pS.displayName="ToastItem";const Zee=["top","top-left","top-right","bottom","bottom-left","bottom-right"];let Bh={duration:5e3,position:"bottom-right"};const Ph={bottom:ba(),"bottom-left":ba(),"bottom-right":ba(),top:ba(),"top-left":ba(),"top-right":ba()},ll={bottom:new Set,"bottom-left":new Set,"bottom-right":new Set,top:new Set,"top-left":new Set,"top-right":new Set},id=e=>Ph[e],uc=(e,t)=>typeof e=="string"?{description:e,type:t}:{...e,type:t},Qee=(e,t)=>({close:()=>id(t).close(e),id:e,update:r=>{id(t).update(e,{data:r,description:r.description,title:r.title})}}),_o=e=>{const t=e.placement??Bh.position,r=id(t),n=e.onRemove,o=r.add({data:e,description:e.description,onClose:e.onClose,onRemove:()=>{ll[t].delete(o),n==null||n()},timeout:e.duration??Bh.duration,title:e.title});return ll[t].add(o),Qee(o,t)},Jee=e=>{if(e)for(const[t,r]of Object.entries(Ph))ll[t].delete(e),r.close(e);else for(const[t,r]of Object.entries(Ph)){const n=Array.from(ll[t]);for(const o of n)r.close(o);ll[t].clear()}},ete=e=>_o(uc(e,"success")),tte=e=>_o(uc(e,"error")),rte=e=>_o(uc(e,"info")),nte=e=>_o(uc(e,"warning")),ote=e=>_o({duration:0,...uc(e,"loading")});async function ite(e,t){const r=_o({closable:!1,duration:0,type:"loading",...typeof t.loading=="string"?{description:t.loading}:t.loading});try{const n=await e;return r.close(),_o({type:"success",...typeof t.success=="string"?{description:t.success}:typeof t.success=="function"?{description:t.success(n)}:t.success}),n}catch(n){throw r.close(),_o({type:"error",...typeof t.error=="string"?{description:t.error}:typeof t.error=="function"?{description:t.error(n)}:t.error}),n}}const ate=e=>_o({type:"default",...e}),Lte=Object.assign(ate,{dismiss:Jee,error:tte,info:rte,loading:ote,promise:ite,success:ete,warning:nte}),mS=u.memo(()=>{const{toasts:e}=ek();return e.map(t=>N.jsx(pS,{toast:t},t.id))});mS.displayName="ToastList";const ste=u.memo(({root:e,className:t,duration:r=5e3,limit:n=5,position:o="bottom-right",swipeDirection:i=["down","right"]})=>{const a=_1(),s=nc();if(u.useEffect(()=>{Bh={duration:r,limit:n,position:o,swipeDirection:i}},[r,n,o,i]),!a)return null;const l=e??s??document.body;return Zee.map(c=>N.jsx(fS,{value:{position:c,swipeDirection:i},children:N.jsx(ZS,{limit:n,timeout:r,toastManager:id(c),children:N.jsx(QS,{container:l,children:N.jsx(JS,{className:Fe(Uee({position:c}),t),children:N.jsx(mS,{})})})})},c))});ste.displayName="ToastHost";u.createContext(null);export{m3 as $,
|
|
3116
|
+
`})),Uee=ur(Nt.viewport,{defaultVariants:{position:"bottom-right"},variants:{position:{bottom:Nt.viewportBottom,"bottom-left":Nt.viewportBottomLeft,"bottom-right":Nt.viewportBottomRight,top:Nt.viewportTop,"top-left":Nt.viewportTopLeft,"top-right":Nt.viewportTopRight}}}),Xee=ur(Nt.root,{defaultVariants:{position:"bottom-right"},variants:{position:{bottom:Nt.rootBottom,"bottom-left":Nt.rootBottom,"bottom-right":Nt.rootBottom,top:Nt.rootTop,"top-left":Nt.rootTop,"top-right":Nt.rootTop}}}),F5=ur(Nt.action,{defaultVariants:{variant:"primary"},variants:{variant:{danger:Nt.actionDanger,ghost:Nt.actionGhost,primary:Nt.actionPrimary,secondary:Nt.actionSecondary,text:Nt.actionText}}}),Yee={default:Iy,error:xH,info:Iy,loading:Vd,success:vH,warning:KH},Kee={default:Ce.colorText,error:Ce.colorError,info:Ce.colorInfo,loading:Ce.colorPrimary,success:Ce.colorSuccess,warning:Ce.colorWarning},pS=u.memo(({toast:e,classNames:t,styles:r})=>{const{position:n,swipeDirection:o}=Gee(),i=e.data,a=(i==null?void 0:i.type)??"default",s=(i==null?void 0:i.closable)??!0,l=(i==null?void 0:i.hideCloseButton)??!1,c=s&&!l,d=i==null?void 0:i.icon,f=e.title??(i==null?void 0:i.title),p=e.description??(i==null?void 0:i.description),m=e.actionProps??(i==null?void 0:i.actionProps),h=i==null?void 0:i.actions,g=Kee[a],y=d??Yee[a],b=a==="loading",v=()=>y?N.jsx("div",{className:Fe(Nt.icon,t==null?void 0:t.icon),style:r==null?void 0:r.icon,children:N.jsx(jt,{color:g,icon:y,size:18,spin:b})}):null,x=()=>h&&h.length>0?N.jsx("div",{className:Fe(Nt.actions,t==null?void 0:t.actions),style:r==null?void 0:r.actions,children:h.map((w,S)=>N.jsx($b,{style:r==null?void 0:r.action,className:Fe(F5({variant:w.variant??"primary"}),t==null?void 0:t.action),onClick:w.onClick,...w.props,children:w.label},S))}):m?N.jsx($b,{className:Fe(F5({variant:"primary"}),t==null?void 0:t.action),style:r==null?void 0:r.action,...m}):null;return N.jsx(XS,{className:Fe(Xee({position:n}),t==null?void 0:t.root),swipeDirection:o,toast:e,style:{...r==null?void 0:r.root,...i==null?void 0:i.style},children:N.jsx(YS,{className:Fe(Nt.content,t==null?void 0:t.content),style:r==null?void 0:r.content,children:N.jsxs("div",{className:f?Nt.toastBody:Nt.toastBodyCenter,children:[v(),N.jsxs("div",{className:Nt.contentArea,children:[f?N.jsxs(N.Fragment,{children:[N.jsxs("div",{className:Nt.titleRow,children:[N.jsx(KS,{className:Fe(Nt.title,t==null?void 0:t.title),style:r==null?void 0:r.title,children:f}),c&&N.jsx(Sb,{"aria-label":"Close",className:Fe(Nt.close,t==null?void 0:t.close),style:r==null?void 0:r.close,children:N.jsx(Wu,{size:14})})]}),p&&N.jsx(kb,{className:Fe(Nt.description,t==null?void 0:t.description),style:{marginBlockStart:4,...r==null?void 0:r.description},children:p})]}):p&&N.jsxs("div",{className:Nt.titleRow,children:[N.jsx(kb,{className:Fe(Nt.description,t==null?void 0:t.description),style:r==null?void 0:r.description,children:p}),c&&N.jsx(Sb,{"aria-label":"Close",className:Fe(Nt.close,t==null?void 0:t.close),style:r==null?void 0:r.close,children:N.jsx(Wu,{size:14})})]}),x()]})]})})})});pS.displayName="ToastItem";const Zee=["top","top-left","top-right","bottom","bottom-left","bottom-right"];let Bh={duration:5e3,position:"bottom-right"};const Ph={bottom:ba(),"bottom-left":ba(),"bottom-right":ba(),top:ba(),"top-left":ba(),"top-right":ba()},ll={bottom:new Set,"bottom-left":new Set,"bottom-right":new Set,top:new Set,"top-left":new Set,"top-right":new Set},id=e=>Ph[e],uc=(e,t)=>typeof e=="string"?{description:e,type:t}:{...e,type:t},Qee=(e,t)=>({close:()=>id(t).close(e),id:e,update:r=>{id(t).update(e,{data:r,description:r.description,title:r.title})}}),_o=e=>{const t=e.placement??Bh.position,r=id(t),n=e.onRemove,o=r.add({data:e,description:e.description,onClose:e.onClose,onRemove:()=>{ll[t].delete(o),n==null||n()},timeout:e.duration??Bh.duration,title:e.title});return ll[t].add(o),Qee(o,t)},Jee=e=>{if(e)for(const[t,r]of Object.entries(Ph))ll[t].delete(e),r.close(e);else for(const[t,r]of Object.entries(Ph)){const n=Array.from(ll[t]);for(const o of n)r.close(o);ll[t].clear()}},ete=e=>_o(uc(e,"success")),tte=e=>_o(uc(e,"error")),rte=e=>_o(uc(e,"info")),nte=e=>_o(uc(e,"warning")),ote=e=>_o({duration:0,...uc(e,"loading")});async function ite(e,t){const r=_o({closable:!1,duration:0,type:"loading",...typeof t.loading=="string"?{description:t.loading}:t.loading});try{const n=await e;return r.close(),_o({type:"success",...typeof t.success=="string"?{description:t.success}:typeof t.success=="function"?{description:t.success(n)}:t.success}),n}catch(n){throw r.close(),_o({type:"error",...typeof t.error=="string"?{description:t.error}:typeof t.error=="function"?{description:t.error(n)}:t.error}),n}}const ate=e=>_o({type:"default",...e}),Lte=Object.assign(ate,{dismiss:Jee,error:tte,info:rte,loading:ote,promise:ite,success:ete,warning:nte}),mS=u.memo(()=>{const{toasts:e}=ek();return e.map(t=>N.jsx(pS,{toast:t},t.id))});mS.displayName="ToastList";const ste=u.memo(({root:e,className:t,duration:r=5e3,limit:n=5,position:o="bottom-right",swipeDirection:i=["down","right"]})=>{const a=_1(),s=nc();if(u.useEffect(()=>{Bh={duration:r,limit:n,position:o,swipeDirection:i}},[r,n,o,i]),!a)return null;const l=e??s??document.body;return Zee.map(c=>N.jsx(fS,{value:{position:c,swipeDirection:i},children:N.jsx(ZS,{limit:n,timeout:r,toastManager:id(c),children:N.jsx(QS,{container:l,children:N.jsx(JS,{className:Fe(Uee({position:c}),t),children:N.jsx(mS,{})})})})},c))});ste.displayName="ToastHost";u.createContext(null);export{m3 as $,xV as A,yV as B,dV as C,mV as D,aV as E,bV as F,pV as G,$V as H,kV as I,SV as J,_V as K,DV as L,fV as M,vV as N,gV as O,hV as P,Fte as Q,kte as R,oV as S,nV as T,Ete as U,Ste as V,Tte as W,ml as X,B$ as Y,Ob as Z,qb as _,kk as a,mte as a0,hte as a1,k$ as a2,gte as a3,p3 as a4,fte as a5,PL as a6,ste as a7,MW as a8,AV as a9,jt as aA,Ce as aB,yte as aC,r7 as aD,Wa as aE,dn as aF,cX as aG,vL as aH,l1 as aI,QW as aJ,qW as aK,ci as aL,Ml as aM,Vee as aN,VW as aO,uw as aP,uC as aQ,GW as aR,Qm as aS,E1 as aT,vte as aU,dte as aV,TR as aW,Y8 as aX,Ate as aY,_W as aa,Nq as ab,_l as ac,bL as ad,Ote as ae,Nte as af,ir as ag,Fe as ah,tc as ai,Rte as aj,rr as ak,zte as al,Pte as am,Bte as an,Pn as ao,jte as ap,m0 as aq,kn as ar,Lte as as,Cq as at,T7 as au,QV as av,En as aw,Dq as ax,or as ay,WW as az,V as b,uo as c,Xr as d,es as e,wte as f,ia as g,Dte as h,Ite as i,$te as j,iV as k,Ho as l,uV as m,cV as n,sV as o,lV as p,Mte as q,J7 as r,Tk as s,Cte as t,ut as u,Q7 as v,_t as w,_te as x,CV as y,wV as z};
|
package/dist/web/index.html
CHANGED
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
opacity: 0.65;
|
|
28
28
|
}
|
|
29
29
|
</style>
|
|
30
|
-
<script type="module" crossorigin src="/assets/index-
|
|
30
|
+
<script type="module" crossorigin src="/assets/index-DI_31upJ.js"></script>
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-BuABiQkA.js">
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/assets/motion-
|
|
33
|
-
<link rel="modulepreload" crossorigin href="/assets/ui-
|
|
34
|
-
<link rel="modulepreload" crossorigin href="/assets/diagram-
|
|
35
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/assets/motion-BgtuAqBE.js">
|
|
33
|
+
<link rel="modulepreload" crossorigin href="/assets/ui-RahDNce8.js">
|
|
34
|
+
<link rel="modulepreload" crossorigin href="/assets/diagram-DtU2xxz3.js">
|
|
35
|
+
<link rel="stylesheet" crossorigin href="/assets/index-YRgNGXBI.css">
|
|
36
36
|
</head>
|
|
37
37
|
<body>
|
|
38
38
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fgbg/mdocs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A Markdown knowledge base for small teams",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"express": "^4.21.0",
|
|
57
57
|
"lexical": "0.42.0",
|
|
58
58
|
"lucide-react": "^0.562.0",
|
|
59
|
+
"mermaid": "11.14.0",
|
|
59
60
|
"motion": "^12.0.0",
|
|
60
61
|
"multer": "^2.1.1",
|
|
61
62
|
"node-diff3": "^3.2.0",
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{r as o,j as e}from"./react-vendor-BuABiQkA.js";import{c as Le,ag as be,ah as Ke,i as ve,ai as Se,aj as Oe,ak as Ue,al as We,am as Ge,an as Xe,ao as Re,ap as Ye,aq as Ve,ar as Je}from"./index-CqUWQ28V.js";import{H as Qe,A as we,S as Ze,a as es}from"./AgentSkillFormCard-CP-HN--U.js";import{P as ss}from"./plus-Bcg3ots1.js";import{ae as ts,af as ns}from"./ui-BQStT3dY.js";import{C as as,a as is}from"./copy-DZj0Bj86.js";import"./diagram-CT58wBdU.js";import"./motion-DX3HNq_4.js";/**
|
|
2
|
-
* @license lucide-react v0.562.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const rs=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],ls=Le("file-text",rs);function le(r){var n;return r==null||typeof r=="boolean"?"":typeof r=="string"||typeof r=="number"?String(r):Array.isArray(r)?r.map(le).join(""):typeof r=="object"&&"props"in r?le((n=r.props)==null?void 0:n.children):""}function cs(r){const[n,c]=o.useState(!1),d=o.useRef(null),v=le(r.children).replace(/\n$/,"");o.useEffect(()=>()=>{d.current!=null&&window.clearTimeout(d.current)},[]);async function x(){if(v)try{await navigator.clipboard.writeText(v),c(!0),d.current!=null&&window.clearTimeout(d.current),d.current=window.setTimeout(()=>c(!1),1500)}catch{}}return e.jsxs("div",{className:"mdocs-agent-panel-md-pre-wrap",children:[e.jsx("button",{type:"button",className:"mdocs-agent-panel-md-copy",onClick:()=>void x(),"aria-label":n?"已复制":"复制代码",title:n?"已复制":"复制",children:n?e.jsx(as,{size:14,"aria-hidden":!0}):e.jsx(is,{size:14,"aria-hidden":!0})}),e.jsx("pre",{children:r.children})]})}function Ae(r){return e.jsx("div",{className:"mdocs-agent-panel-md",children:e.jsx(ts,{remarkPlugins:[ns],components:{pre:({children:n})=>e.jsx(cs,{children:n})},children:r.children})})}const os=["如何发布文档?","草稿是什么?","如何创建域?"];function Ce(r,n){return n.map((c,d)=>{const v=c.skillNames&&c.skillNames.length>0?c.skillNames:c.skillIds&&c.skillIds.length>0?c.skillIds:void 0;return{id:`h-${r}-${d}-${c.role}`,role:c.role,content:c.content,skillNames:v}})}function ds(r,n){const c=r.slice(),d=c[c.length-1];return(d==null?void 0:d.type)==="text"?c[c.length-1]={type:"text",text:d.text+n}:c.push({type:"text",text:n}),c}function us(r,n){const c=r.slice(),d=c[c.length-1];return(d==null?void 0:d.type)==="thinking"?c[c.length-1]={type:"thinking",text:d.text+n}:c.push({type:"thinking",text:n}),c}function Ie(r){return r!=null&&r.length?r.filter(n=>n.type==="text").map(n=>n.text).join(""):""}function ms(r){return!!(r!=null&&r.some(n=>n.type==="thinking"&&n.text.length>0))}function ps(r){const n=new Date(r);if(Number.isNaN(n.getTime()))return"";const c=new Date;return n.getFullYear()===c.getFullYear()&&n.getMonth()===c.getMonth()&&n.getDate()===c.getDate()?n.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):n.toLocaleDateString(void 0,{month:"2-digit",day:"2-digit"})}function _e(r){if(r>=1e3){const n=r/1e3;return`${n>=10?Math.round(n):Math.round(n*10)/10}K`}return String(r)}function hs(r){const{block:n,onResolved:c}=r,[d,v]=o.useState(""),[x,$]=o.useState(!1),[_,R]=o.useState(1),A=o.useRef(!1),F=o.useRef(c);F.current=c;const S=n.status==="open",B=o.useRef(0);o.useEffect(()=>{if(!S)return;A.current=!1;const k=new Date(n.expiresAt).getTime(),N=Date.now(),w=Math.max(k-N,1);B.current=w,R(1);const u=()=>{const U=k-Date.now(),P=Math.max(0,Math.min(1,U/w));R(P),U<=0&&!A.current&&(A.current=!0,Ve(n.requestId).catch(()=>{}).finally(()=>{F.current(n.requestId,"","expired")}))};u();const T=window.setInterval(u,100);return()=>window.clearInterval(T)},[S,n.expiresAt,n.requestId]);async function D(k){const N=k.trim();if(!(!N||x||!S)){$(!0);try{await Je(n.requestId,N),c(n.requestId,N,"selected")}catch{c(n.requestId,N,"failed")}finally{$(!1)}}}async function H(){if(!(x||!S)){$(!0),A.current=!0;try{await Re(n.requestId),c(n.requestId,"","cancelled")}catch{c(n.requestId,"","failed")}finally{$(!1)}}}const L=Math.max(0,Math.ceil(_*B.current/1e3));return e.jsxs("div",{className:"mdocs-agent-choice-card"+(S?"":" mdocs-agent-choice-card-done"),children:[e.jsxs("div",{className:"mdocs-agent-choice-head",children:[e.jsx("p",{className:"mdocs-agent-choice-title",children:n.title}),S?e.jsxs("span",{className:"mdocs-agent-choice-timer","aria-live":"polite",children:[L,"s"]}):null]}),S?e.jsx("div",{className:"mdocs-agent-choice-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(_*100),children:e.jsx("div",{className:"mdocs-agent-choice-progress-bar",style:{transform:`scaleX(${_})`}})}):null,n.status==="selected"&&n.selected?e.jsxs("p",{className:"mdocs-agent-choice-result",children:["已选择:",n.selected]}):null,n.status==="cancelled"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已取消"}):null,n.status==="expired"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已超时,选择已失效"}):null,n.status==="failed"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"提交失败或已失效"}):null,S?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mdocs-agent-choice-options",children:n.options.map(k=>e.jsx("button",{type:"button",className:"mdocs-agent-choice-option",disabled:x,onClick:()=>void D(k),children:k},k))}),e.jsxs("div",{className:"mdocs-agent-choice-custom",children:[e.jsx("input",{value:d,disabled:x,placeholder:"或输入自己的内容…",onChange:k=>v(k.target.value),onKeyDown:k=>{k.key==="Enter"&&(k.preventDefault(),D(d))}}),e.jsx("button",{type:"button",disabled:x||!d.trim(),onClick:()=>void D(d),children:"提交"})]}),e.jsx("div",{className:"mdocs-agent-choice-footer",children:e.jsx("button",{type:"button",className:"mdocs-agent-choice-cancel",disabled:x,onClick:()=>void H(),children:"取消"})})]}):null]})}function fs(r){const v=2*Math.PI*8.75,x=Math.min(100,Math.max(0,r.percent)),$=v*(1-x/100),_=x>=90?"danger":x>=70?"warn":"ok",R=`上下文 ${x}% · 已用 ${_e(r.used)} / ${_e(r.limit)} tokens`;return e.jsx("span",{className:"mdocs-agent-panel-context mdocs-agent-panel-context-"+_,"data-tooltip":R,"aria-label":R,role:"img",tabIndex:0,children:e.jsxs("svg",{width:20,height:20,viewBox:"0 0 20 20","aria-hidden":!0,children:[e.jsx("circle",{className:"mdocs-agent-panel-context-track",cx:20/2,cy:20/2,r:8.75,fill:"none",strokeWidth:2.5}),e.jsx("circle",{className:"mdocs-agent-panel-context-value",cx:20/2,cy:20/2,r:8.75,fill:"none",strokeWidth:2.5,strokeLinecap:"round",strokeDasharray:v,strokeDashoffset:$,transform:`rotate(-90 ${20/2} ${20/2})`})]})})}function gs(r){var n;for(const c of r)if(!(c.role!=="assistant"||!((n=c.blocks)!=null&&n.length))){for(const d of c.blocks)if((d.type==="choice_card"||d.type==="skill_form_card")&&d.status==="open")return!0}return!1}const ws=o.forwardRef(function(n,c){const{open:d,onClose:v,visitorName:x,anchorStyle:$,fullscreen:_,domainId:R,documentId:A,documentTitle:F,documentPath:S,onOpenDocument:B,onTreeChanged:D,onDocumentOverwritten:H,onOpenCoding:L}=n,k=((x==null?void 0:x.trim().charAt(0))||"我").toUpperCase(),[N,w]=o.useState(!1),[u,T]=o.useState(null),[U,P]=o.useState(null),[q,y]=o.useState([]),[J,W]=o.useState(null),[ce,qe]=o.useState([]),[$e,oe]=o.useState(!1),[G,X]=o.useState(""),[K,de]=o.useState([]),[Ee,ue]=o.useState(!1),[g,Y]=o.useState(!1),[me,E]=o.useState(null),[V,pe]=o.useState(null),[Q,z]=o.useState(!1),[M,he]=o.useState(!1),Me=o.useRef(null),Z=o.useRef(null),C=o.useRef(null),fe=o.useRef(0),O=o.useRef(!0),ee=o.useRef(q);ee.current=q;const ge=!!(A!=null&&A.trim())&&!Ee,De=(F==null?void 0:F.trim())||"当前文档",xe=(S==null?void 0:S.trim())||"";o.useEffect(()=>{ue(!1)},[A]);function ye(s){return fe.current+=1,`${s}-${fe.current}`}function ze(s,m=48){return s.scrollHeight-s.scrollTop-s.clientHeight<=m}function I(){const s=Z.current;!s||!O.current||(s.scrollTop=s.scrollHeight)}function Fe(){const s=Z.current;s&&(O.current=ze(s))}async function Te(){oe(!0);try{const s=await Ue();qe(s.sessions),J||W(s.lastOpenedSessionId)}catch{}finally{oe(!1)}}async function se(){try{const s=await Oe();pe(s)}catch{}}async function je(){try{const s=await be();T(s),P(null)}catch(s){T(null),P(s instanceof Error?s.message:String(s))}}o.useEffect(()=>{var m;if(!d){w(!1),(m=C.current)==null||m.abort(),C.current=null,Y(!1);return}let s=!1;return(async()=>{try{const a=await be();s||(T(a),P(null))}catch(a){s||(T(null),P(a instanceof Error?a.message:String(a)))}})(),se(),()=>{s=!0}},[d]),o.useEffect(()=>{if(!d)return;let s=!1;return(async()=>{try{const m=await Ke();if(s)return;W(m.sessionId),y(a=>a.length>0?a:Ce(m.sessionId,m.messages))}catch{}})(),()=>{s=!0}},[d]),o.useEffect(()=>{!d||!N||Te()},[d,N]);function te(){if(!M){if(gs(ee.current)){z(!0);return}z(!1),v()}}async function Pe(){var a;if(M)return;he(!0);const s=ee.current,m=[];for(const j of s)if(!(j.role!=="assistant"||!j.blocks))for(const p of j.blocks)p.type==="choice_card"&&p.status==="open"&&m.push(Re(p.requestId).catch(()=>{})),p.type==="skill_form_card"&&p.status==="open"&&m.push(Ye(p.requestId).catch(()=>{}));await Promise.all(m),(a=C.current)==null||a.abort(),y(j=>j.map(p=>p.role!=="assistant"||!p.blocks?p:{...p,blocks:p.blocks.map(h=>h.type==="choice_card"&&h.status==="open"?{...h,status:"cancelled"}:h.type==="skill_form_card"&&h.status==="open"?{...h,status:"cancelled"}:h)})),z(!1),he(!1),v()}const ne=o.useRef(te);ne.current=te,o.useImperativeHandle(c,()=>({requestClose:()=>ne.current()}),[]),o.useEffect(()=>{if(!d){z(!1);return}const s=m=>{if(m.key==="Escape"){if(Q){M||z(!1);return}if(N){w(!1);return}ne.current()}};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[d,N,Q,M]);async function ae(s){var h;const m=s.trim();if(!m||g)return;if(!(u!=null&&u.enabled)){E((u==null?void 0:u.reason)==="missing_api_key"?"请先配置 API Key":(u==null?void 0:u.reason)==="skills_missing"?"手册 skills 未就绪,请确认已构建 agent-skills":"助手暂不可用");return}(h=C.current)==null||h.abort();const a=new AbortController;C.current=a;const j={id:ye("u"),role:"user",content:m,skillNames:K.length>0?[...K]:void 0},p=ye("a");O.current=!0,y(b=>[...b,j,{id:p,role:"assistant",content:""}]),X(""),Y(!0),E(null),w(!1),requestAnimationFrame(()=>I());try{let b=!1;await Xe(m,{skillNames:K.length>0?K:void 0,references:{domainId:(R==null?void 0:R.trim())||void 0,documentId:ge?A.trim():void 0},signal:a.signal,onEvent:i=>{i.type==="text_delta"?(y(f=>f.map(t=>{if(t.id!==p)return t;const l=ds(t.blocks??[],i.text);return{...t,blocks:l,content:Ie(l)}})),requestAnimationFrame(()=>I())):i.type==="thinking_delta"?(y(f=>f.map(t=>{if(t.id!==p)return t;const l=us(t.blocks??[],i.text);return{...t,blocks:l}})),requestAnimationFrame(()=>I())):i.type==="sources"?(y(f=>f.map(t=>{if(t.id!==p)return t;const l=(t.blocks??[]).slice(),re=l[l.length-1];return(re==null?void 0:re.type)==="sources"?l[l.length-1]={type:"sources",items:i.items}:l.push({type:"sources",items:i.items}),{...t,blocks:l}})),requestAnimationFrame(()=>I())):i.type==="document_table"?(y(f=>f.map(t=>{if(t.id!==p)return t;const l=[...t.blocks??[],{type:"document_table",title:i.title,rows:i.rows}];return{...t,blocks:l}})),requestAnimationFrame(()=>I())):i.type==="document_card"?(y(f=>f.map(t=>{if(t.id!==p)return t;const l=[...t.blocks??[],{type:"document_card",documentId:i.documentId,title:i.title,path:i.path,preview:i.preview}];return{...t,blocks:l}})),requestAnimationFrame(()=>I())):i.type==="tool_notice"?(y(f=>f.map(t=>{if(t.id!==p)return t;const l=[...t.blocks??[],{type:"tool_notice",toolName:i.toolName,text:i.text}];return{...t,blocks:l}})),requestAnimationFrame(()=>I())):i.type==="choice_card"?(y(f=>f.map(t=>{if(t.id!==p)return t;const l=[...t.blocks??[],{type:"choice_card",requestId:i.requestId,title:i.title,options:i.options,expiresAt:i.expiresAt,status:"open"}];return{...t,blocks:l}})),requestAnimationFrame(()=>I())):i.type==="choice_expired"?y(f=>f.map(t=>t.id!==p||!t.blocks?t:{...t,blocks:t.blocks.map(l=>l.type==="choice_card"&&l.requestId===i.requestId&&l.status==="open"?{...l,status:"expired"}:l)})):i.type==="skill_form_card"?(y(f=>f.map(t=>{if(t.id!==p)return t;const l=[...t.blocks??[],{type:"skill_form_card",requestId:i.requestId,mode:i.mode,title:i.title,currentName:i.currentName,initialName:i.initialName,initialDescription:i.initialDescription,initialBody:i.initialBody,expiresAt:i.expiresAt,status:"open"}];return{...t,blocks:l}})),requestAnimationFrame(()=>I())):i.type==="skill_form_expired"?y(f=>f.map(t=>t.id!==p||!t.blocks?t:{...t,blocks:t.blocks.map(l=>l.type==="skill_form_card"&&l.requestId===i.requestId&&l.status==="open"?{...l,status:"expired"}:l)})):i.type==="tree_changed"?D==null||D():i.type==="document_overwritten"?H==null||H({documentId:i.documentId,headCommitId:i.headCommitId}):i.type==="open_coding"?L==null||L({documentId:i.documentId,displayName:i.displayName}):i.type==="context_usage"?pe({percent:i.percent,used:i.used,limit:i.limit}):i.type==="error"&&(b=!0,E(i.message))}}),!a.signal.aborted&&!b&&de([])}catch(b){if(a.signal.aborted)return;E(b instanceof Error?b.message:String(b))}finally{C.current===a&&(C.current=null),Y(!1)}}async function Be(){var s;if(!g){(s=C.current)==null||s.abort(),E(null),w(!1),Y(!1);try{const m=await We();W(m.sessionId),y([]),X(""),O.current=!0,se()}catch(m){E(m instanceof Error?m.message:String(m))}}}async function He(s){var m;if(!g){if(s===J){w(!1);return}(m=C.current)==null||m.abort(),E(null);try{const a=await Ge(s);W(a.sessionId),y(Ce(a.sessionId,a.messages)),X(""),w(!1),O.current=!0,requestAnimationFrame(()=>I()),se()}catch(a){E(a instanceof Error?a.message:String(a))}}}function ke(s){!s||!B||B(s)}if(!d)return null;const ie=(u==null?void 0:u.reason)==="missing_api_key",Ne=U??(u&&!u.enabled&&!ie?u.reason==="skills_missing"?"skills 未就绪":"助手暂不可用":null);return e.jsxs("div",{ref:Me,className:"mdocs-agent-panel"+(_?" mdocs-agent-panel--fullscreen":""),role:"dialog","aria-label":"mdocs 智能助手","aria-modal":_?!0:void 0,style:_?void 0:$,children:[e.jsxs("header",{className:"mdocs-agent-panel-header",children:[e.jsxs("div",{className:"mdocs-agent-panel-title",children:[e.jsx("img",{src:ve,alt:"",className:"mdocs-agent-panel-title-logo"}),e.jsx("span",{children:"mdocs 智能助手"})]}),e.jsxs("div",{className:"mdocs-agent-panel-actions",children:[e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"新会话","aria-label":"新会话",disabled:g,onClick:()=>void Be(),children:e.jsx(ss,{size:16,strokeWidth:1.8})}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn"+(N?" active":""),title:"历史会话","aria-label":"历史会话",onClick:()=>w(s=>!s),children:e.jsx(Qe,{size:16,strokeWidth:1.8})}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"关闭","aria-label":"关闭",onClick:te,children:e.jsx(Se,{size:16,strokeWidth:1.8})})]})]}),N?e.jsxs("div",{className:"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:()=>w(!1),children:"返回对话"})]}),$e?e.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"加载中…"}):ce.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:ce.map(s=>e.jsx("li",{children:e.jsxs("button",{type:"button",className:"mdocs-agent-panel-history-item"+(s.id===J?" active":""),disabled:g,onClick:()=>void He(s.id),children:[e.jsx("span",{className:"mdocs-agent-panel-history-title",children:s.title}),e.jsx("span",{className:"mdocs-agent-panel-history-time",children:ps(s.updatedAt)})]})},s.id))})]}):e.jsxs("div",{className:"mdocs-agent-panel-body",children:[e.jsx("div",{className:"mdocs-agent-panel-welcome",ref:Z,onScroll:Fe,children:q.length===0?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mdocs-agent-panel-hello",children:"你好,我是 mdocs 智能助手"}),e.jsx("p",{className:"mdocs-agent-panel-desc",children:"我能答疑、搜文档、整理结构,也能帮你写全文;需要精细改稿请点文档顶栏「帮写」。"}),ie?e.jsx(we,{onConfigured:je}):Ne?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:Ne}):e.jsx("div",{className:"mdocs-agent-panel-chips",children:os.map(s=>e.jsx("button",{type:"button",className:"mdocs-agent-panel-chip",onClick:()=>void ae(s),disabled:g||!(u!=null&&u.enabled),children:s},s))})]}):e.jsx("div",{className:"mdocs-agent-panel-messages",children:q.map(s=>{var m;return e.jsxs("div",{className:"mdocs-agent-panel-msg"+(s.role==="user"?" mdocs-agent-panel-msg-user":" mdocs-agent-panel-msg-assistant"),children:[s.role==="assistant"?e.jsx("div",{className:"mdocs-agent-panel-avatar mdocs-agent-panel-avatar-ai","aria-hidden":!0,children:e.jsx("img",{src:ve,alt:""})}):null,e.jsxs("div",{className:"mdocs-agent-panel-msg-bubble",children:[s.role==="user"&&s.skillNames&&s.skillNames.length>0?e.jsxs("div",{className:"mdocs-agent-msg-skills",children:["Skill ×",s.skillNames.length]}):null,s.role==="assistant"?s.blocks&&s.blocks.length>0?e.jsxs("div",{className:"mdocs-agent-panel-timeline",children:[s.blocks.map((a,j)=>{var p;return a.type==="thinking"?a.text?e.jsxs("details",{className:"mdocs-agent-panel-think-fold",open:g&&s.id===((p=q[q.length-1])==null?void 0:p.id),children:[e.jsx("summary",{children:"思考中"}),e.jsx("pre",{className:"mdocs-agent-panel-think-body",children:a.text})]},`${s.id}-th-${j}`):null:a.type==="text"?a.text?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(Ae,{children:a.text})},`${s.id}-t-${j}`):null:a.type==="sources"?a.items.length===0?null:e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",children:[e.jsxs("summary",{children:["已阅读 ",a.items.length," 个页面"]}),e.jsx("ol",{className:"mdocs-agent-panel-sources-list",children:a.items.map(h=>e.jsx("li",{children:e.jsx("a",{href:h.url,target:"_blank",rel:"noreferrer",children:h.name})},h.id))})]})},`${s.id}-s-${j}`):a.type==="tool_notice"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx("p",{className:"mdocs-agent-panel-tool-notice",children:a.text})},`${s.id}-n-${j}`):a.type==="choice_card"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(hs,{block:a,onResolved:(h,b,i)=>{y(f=>f.map(t=>t.id!==s.id||!t.blocks?t:{...t,blocks:t.blocks.map(l=>l.type==="choice_card"&&l.requestId===h?{...l,status:i,selected:i==="selected"?b:l.selected}:l)}))}})},`${s.id}-ch-${j}`):a.type==="skill_form_card"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(Ze,{block:a,onResolved:(h,b,i)=>{y(f=>f.map(t=>t.id!==s.id||!t.blocks?t:{...t,blocks:t.blocks.map(l=>l.type==="skill_form_card"&&l.requestId===h?{...l,status:b,submittedName:b==="submitted"?i:l.submittedName}:l)}))}})},`${s.id}-sf-${j}`):a.type==="document_card"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",children:[e.jsxs("summary",{children:[e.jsxs("button",{type:"button",className:"mdocs-agent-panel-doc-link",onClick:h=>{h.preventDefault(),h.stopPropagation(),ke(a.documentId)},children:["《",a.title,"》"]}),e.jsx("span",{className:"mdocs-agent-panel-tool-fold-hint",children:"文档预览"})]}),e.jsxs("div",{className:"mdocs-agent-panel-doc-card-body",children:[a.path?e.jsx("p",{className:"mdocs-agent-panel-doc-card-path",children:a.path}):null,a.preview?e.jsx("p",{className:"mdocs-agent-panel-doc-card-preview",children:a.preview}):e.jsx("p",{className:"mdocs-agent-panel-doc-card-preview muted",children:"(无正文预览)"})]})]})},`${s.id}-c-${j}`):e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",children:[e.jsxs("summary",{children:[a.title,e.jsx("span",{className:"mdocs-agent-panel-tool-fold-hint",children:a.rows.length===0?"无结果":`${a.rows.length} 条`})]}),e.jsx("div",{className:"mdocs-agent-panel-doc-table-wrap",children:a.rows.length===0?e.jsx("p",{className:"mdocs-agent-panel-doc-table-empty",children:"无结果"}):e.jsxs("table",{className:"mdocs-agent-panel-doc-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"文章名字"}),e.jsx("th",{children:"文章内容"})]})}),e.jsx("tbody",{children:a.rows.map(h=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx("button",{type:"button",className:"mdocs-agent-panel-doc-link",onClick:()=>ke(h.documentId),children:h.title})}),e.jsx("td",{children:h.summary||"-"})]},h.documentId))})]})})]})},`${s.id}-d-${j}`)}),g&&s.id===((m=q[q.length-1])==null?void 0:m.id)&&!Ie(s.blocks)&&!ms(s.blocks)?e.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}):null]}):s.content?e.jsx(Ae,{children:s.content}):g?e.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}):null:s.content]}),s.role==="user"?e.jsx("div",{className:"mdocs-agent-panel-avatar mdocs-agent-panel-avatar-user","aria-hidden":!0,children:k}):null]},s.id)})})}),me?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:me}):null,ie&&q.length>0?e.jsx(we,{onConfigured:je}):null,e.jsx(es,{selectedNames:K,onChange:de,disabled:g||!(u!=null&&u.enabled)}),e.jsxs("div",{className:"mdocs-agent-panel-input-wrap",children:[ge?e.jsxs("div",{className:"mdocs-agent-doc-ref",children:[e.jsx(ls,{size:15,strokeWidth:1.75,className:"mdocs-agent-doc-ref-icon","aria-hidden":!0}),e.jsxs("div",{className:"mdocs-agent-doc-ref-text",children:[e.jsx("span",{className:"mdocs-agent-doc-ref-title",children:De}),xe?e.jsx("span",{className:"mdocs-agent-doc-ref-path",children:xe}):null]}),e.jsx("button",{type:"button",className:"mdocs-agent-doc-ref-unlink",title:"取消引用","aria-label":"取消引用当前文档",disabled:g,onClick:()=>ue(!0),children:e.jsx(Se,{size:14,strokeWidth:2,"aria-hidden":!0})})]}):null,e.jsxs("div",{className:"mdocs-agent-panel-input-body",children:[e.jsx("textarea",{className:"mdocs-agent-panel-input",rows:2,placeholder:u!=null&&u.enabled?"把你的问题告诉我…":"请先配置 API Key",value:G,disabled:g||!(u!=null&&u.enabled),onChange:s=>X(s.target.value),onKeyDown:s=>{s.key==="Enter"&&!s.shiftKey&&(s.preventDefault(),ae(G))}}),V?e.jsx(fs,{percent:V.percent,used:V.used,limit:V.limit}):null,e.jsx("button",{type:"button",className:g?"mdocs-agent-panel-send mdocs-agent-panel-send-stop":"mdocs-agent-panel-send",disabled:g?!1:!(u!=null&&u.enabled)||!G.trim(),onClick:()=>{var s;if(g){(s=C.current)==null||s.abort();return}ae(G)},title:g?"停止":"发送","aria-label":g?"停止":"发送",children:g?"■":"↑"})]})]}),e.jsx("p",{className:"mdocs-agent-panel-footnote",children:"内容由 AI 生成,仅供参考"})]}),Q?e.jsx("div",{className:"mdocs-agent-close-confirm-backdrop",role:"presentation",onClick:()=>{M||z(!1)},children:e.jsxs("div",{className:"mdocs-message-dialog mdocs-agent-close-confirm",role:"dialog","aria-modal":"true","aria-labelledby":"mdocs-agent-close-confirm-title",onClick:s=>s.stopPropagation(),children:[e.jsx("h3",{id:"mdocs-agent-close-confirm-title",className:"mdocs-message-dialog-title",children:"有待处理的倒计时"}),e.jsx("p",{className:"mdocs-message-dialog-body",children:"当前还有选择卡或 Skill 表单在倒计时。强制关闭会取消这些操作并退出助手;也可以继续等待完成后再关。"}),e.jsxs("div",{className:"mdocs-message-dialog-actions mdocs-agent-close-confirm-actions",children:[e.jsx("button",{type:"button",className:"secondary",disabled:M,onClick:()=>z(!1),children:"继续等待"}),e.jsx("button",{type:"button",disabled:M,onClick:()=>void Pe(),children:M?"关闭中…":"强制关闭并退出"})]})]})}):null]})});export{ws as AgentChatPanel};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{r as n,j as o,ad as C}from"./react-vendor-BuABiQkA.js";import{u as N,E as T,R as I,a as E,b as M,c as j,d as O,e as P,f as A,g as _,h as D,i as L,w as f,j as H,k as F,l as q,I as U,m as b,n as V,o as J,p as W,q as z,r as B,s as $,t as K,v as Y,x as G,y as Z}from"./react-kYvt_3tR.js";import{a7 as Q,a8 as X,a9 as ee,aa as te,ab as k,ac as oe}from"./ui-BQStT3dY.js";import{H as re,a as ae,b as ne,M as le,T as ie,S as se,W as de,c as R,o as ce}from"./Toolbar-uyj1sA_r.js";import{N as me}from"./index-CqUWQ28V.js";import"./editor-CL03se2B.js";import"./diagram-CT58wBdU.js";import"./plus-Bcg3ots1.js";import"./copy-DZj0Bj86.js";import"./motion-DX3HNq_4.js";const ue=({children:h,json:r,markdown:a,collapsible:m=!1,defaultActiveKey:y=["editor","text","json"],onJSONChange:p})=>{const[g,c]=n.useState(r),s=n.useRef(r);n.useEffect(()=>{r!==s.current&&(c(r),s.current=r)},[r]);const x=n.useCallback(d=>{s.current=d,c(d)},[]);return o.jsxs(o.Fragment,{children:[o.jsx(Q,{}),o.jsx(X,{collapsible:m,defaultActiveKey:y,items:[{children:h,key:"editor",label:"Playground"},{children:o.jsx(ee,{language:"markdown",style:{fontSize:12,padding:16},variant:"borderless",children:a}),key:"text",label:"Text Output"},{children:o.jsx(te,{language:"json",onBlur:()=>{if(r!==s.current)try{const d=JSON.parse(s.current||"");p==null||p(d)}catch(d){console.error("Invalid JSON:",d)}},onValueChange:x,value:g,variant:"borderless"}),key:"json",label:"JSON Output"}],padding:{body:0},style:{border:"none",borderRadius:0,width:"100%"},variant:"outlined"})]})},he={children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"Welcome to the Lobe Editor Demo!",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"heading",version:1,tag:"h1"},{children:[{detail:0,format:0,mode:"normal",style:"",text:"In case you were wondering what the black box at the bottom is – it's the debug view, showing the current state of the editor. You can disable it by pressing on the settings control in the bottom-left of your screen and toggling the debug view setting.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"quote",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"The playground is a demo environment built with ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:"@lobehub/editor",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"codeInline",version:1},{detail:0,format:0,mode:"normal",style:"",text:"\uFEFF",type:"cursor",version:1},{detail:0,format:0,mode:"normal",style:"",text:". Try typing in ",type:"text",version:1},{detail:0,format:1,mode:"normal",style:"",text:"some text",type:"text",version:1},{detail:0,format:0,mode:"normal",style:"",text:" with ",type:"text",version:1},{detail:0,format:2,mode:"normal",style:"",text:"different formats",type:"text",version:1},{detail:0,format:0,mode:"normal",style:"",text:".",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""},{children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"Visit the ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Lobe Editor website",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:"noreferrer",target:null,title:null,url:"https://editor.lobehub.com"},{detail:0,format:0,mode:"normal",style:"",text:" for documentation and more information.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Check out the code on our ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"GitHub repository",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:null,target:null,title:"https://github.com/lobehub/lobe-editor",url:"https://github.com/lobehub/lobe-editor"},{detail:0,format:0,mode:"normal",style:"",text:".",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:2},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Playground code ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Playground code",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:"noreferrer",target:null,title:null,url:"https://github.com/lobehub/lobe-editor/blob/master/src/react/Editor/demos/index.tsx"},{detail:0,format:0,mode:"normal",style:"",text:" can be found here.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:3},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Join our ",type:"text",version:1},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Discover Server",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"link",version:1,rel:null,target:null,title:"https://discord.gg/AYFPHvv2jT",url:"https://discord.gg/AYFPHvv2jT"},{detail:0,format:0,mode:"normal",style:"",text:" and chat with the team.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"listitem",version:1,value:4}],direction:"ltr",format:"",indent:0,type:"list",version:1,listType:"bullet",start:1,tag:"ul"},{children:[{detail:0,format:0,mode:"normal",style:"",text:"Lastly, we're constantly adding cool new features to this playground. So make sure you check back here when you next get a chance 🙂.",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""},{children:[{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"import",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"{",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-error);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:"Editor",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-error);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"}",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"from",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-text);",text:" ",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"'",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-success);",text:"@lobehub/editor",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:"'",type:"code-highlight",version:1},{detail:0,format:0,mode:"normal",style:"color: var(--ant-color-info);",text:";",type:"code-highlight",version:1}],direction:null,format:"",indent:0,type:"code",version:1,language:"typescript",theme:"lobe-theme"},{children:[],direction:null,format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1},ye={root:he};function S(h,r){let a;const m=(...y)=>{a!==void 0&&clearTimeout(a),a=setTimeout(()=>h(...y),r)};return m.cancel=()=>{a!==void 0&&(clearTimeout(a),a=void 0)},m}window.__scrollIntoView=Z;const pe=h=>{const r=N(),a=n.useRef([]),[m,y]=n.useState(""),[p,g]=n.useState(""),c=n.useMemo(()=>S(t=>{const e=t.getDocument("markdown"),l=t.getDocument("json");g(e||""),y(JSON.stringify(l||{},null,2))},200),[]),s=n.useMemo(()=>S(t=>{r&&(console.info("handleJSONChange",t),r.setDocument("json",t))},200),[r]),x=t=>{window.editor=t,c(t)};n.useEffect(()=>()=>{for(const t of a.current)URL.revokeObjectURL(t);a.current=[],c.cancel(),s.cancel(),delete window.editor,delete window.__scrollIntoView},[c,s]);const d=n.useMemo(()=>[{icon:o.jsx(k,{avatar:"💻",size:24}),key:"bot1",label:"前端研发专家",metadata:{id:"bot1"}},{icon:o.jsx(k,{avatar:"🌍",size:24}),key:"bot2",label:"中英文互译助手",metadata:{id:"bot2"}},{icon:o.jsx(k,{avatar:"📖",size:24}),key:"bot3",label:"学术写作增强专家",metadata:{id:"bot3"}}],[]),w=n.useMemo(()=>[{icon:re,key:"h1",label:"Heading 1",onSelect:e=>{e.dispatchCommand(b,{tag:"h1"})}},{icon:ae,key:"h2",label:"Heading 2",onSelect:e=>{e.dispatchCommand(b,{tag:"h2"})}},{icon:ne,key:"h3",label:"Heading 3",onSelect:e=>{e.dispatchCommand(b,{tag:"h3"})}},{type:"divider"},{icon:le,key:"hr",label:"Hr",onSelect:e=>{e.dispatchCommand(V,{})}},{icon:ie,key:"table",label:"Table",onSelect:e=>{e.dispatchCommand(J,{columns:"3",rows:"3"})}},{icon:se,key:"tex",label:"Tex",onSelect:e=>{e.dispatchCommand(W,{code:"x^2 + y^2 = z^2"}),queueMicrotask(()=>{e.focus()})}},{type:"divider"},{key:"file",label:"File",onSelect:e=>{ce(l=>{for(const u of l)e.dispatchCommand(z,{file:u})})}},{key:"set-text-content",label:"SetTextContent",onSelect:e=>{e.setDocument("text",`123
|
|
2
|
-
123`),queueMicrotask(()=>{e.focus()})}},{key:"insert-link",label:"InsertLink",onSelect:e=>{e.dispatchCommand(B,{url:"https://example.com"}),queueMicrotask(()=>{e.focus()})}},{key:"insert-codeInline",label:"InsertCodeInline",onSelect:e=>{e.dispatchCommand($,void 0),queueMicrotask(()=>{e.focus()})}},{key:"insert-codeBlock",label:"InsertCodeBlock",onSelect:e=>{e.dispatchCommand(K,void 0),queueMicrotask(()=>{e.focus()})}},{icon:de,key:"meta2d",label:"Meta2d",onSelect:e=>{e.dispatchCommand(Y,void 0),queueMicrotask(()=>{e.focus()})}},{icon:me,key:"markmap",label:"Markmap",onSelect:e=>{e.dispatchCommand(G,void 0),queueMicrotask(()=>{e.focus()})}}].map(e=>e.type==="divider"?e:{...e,extra:o.jsx(oe,{code:!0,fontSize:12,type:"secondary",children:e.key})}),[]);return o.jsxs(ue,{json:m,markdown:p,onJSONChange:s,...h,children:[o.jsx(R,{editor:r}),o.jsx(T,{className:"mdocs-playground-editor",content:ye,editor:r,lineEmptyPlaceholder:"Start typing here...",mentionOption:{items:d,markdownWriter:t=>{var e;return`
|
|
3
|
-
<mention>${t.label}[${((e=t.metadata)==null?void 0:e.id)||t.label}]</mention>
|
|
4
|
-
`},onSelect:(t,e)=>{t.dispatchCommand(U,{label:String(e.label),metadata:{id:e.key}})},searchKeys:["label"]},onInit:x,onTextChange:c,pasteVSCodeAsCodeBlock:!0,placeholder:"Type something...",plugins:[I,E,M,j,O,P,A,_,D,L,f(H,{children:o.jsx(R,{editor:r,floating:!0})}),f(F,{delay:1e3,onAutoComplete:async({input:t,afterText:e,selectionType:l,abortSignal:u})=>{console.log("Auto-complete triggered:",{afterText:e,input:t,selectionType:l});try{const v=await fetch(`${location.origin}/nodeserver/completion`,{body:JSON.stringify({prompt:`Please complete the following text:
|
|
5
|
-
|
|
6
|
-
${t}`}),headers:{"Content-Type":"application/json"},method:"POST",signal:u});if(u.aborted)return console.log("Auto-complete aborted"),null;const i=await v.json();if(i)return typeof i.content=="string"&&i.content.startsWith(t)?i.content.replace(t,""):i.content}catch{}return null}}),f(M,{defaultBlockImage:!0,handleRehost:async t=>{const l=await(await fetch(t)).blob();return await new Promise((u,v)=>{const i=new FileReader;i.onloadend=()=>u({url:i.result}),i.onerror=v,i.readAsDataURL(l)})},needRehost:t=>(console.debug("needRehost",t),t.startsWith("blob:"))}),f(q,{handleUpload:async t=>(console.debug("Files uploaded:",t),new Promise(e=>{setTimeout(()=>{const l=URL.createObjectURL(t);a.current.push(l),e({url:l})},1e3)})),markdownWriter:t=>`
|
|
7
|
-
<file>${t.fileUrl}</file>
|
|
8
|
-
`})],slashOption:{items:w}})]})};function Ce(){return o.jsxs("div",{className:"mdocs-playground-page",children:[o.jsx("header",{className:"mdocs-playground-header",children:o.jsx(C,{className:"mdocs-playground-back",to:"/",children:"← mdocs"})}),o.jsx(pe,{})]})}export{Ce as PlaygroundPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.graph-page{display:flex;flex-direction:column;height:100%;position:relative;background:#f8fafc}.graph-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #e2e8f0;background:#fff}.graph-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.graph-icon{font-size:20px}.graph-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.graph-depth-btns{display:flex;align-items:center;gap:6px}.graph-btn-active{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}.graph-node-tooltip{position:absolute;transform:translate(-50%,calc(-100% - 14px));padding:6px 10px;border-radius:6px;background:#0f172aeb;color:#fff;font-size:12px;line-height:1.35;max-width:280px;white-space:normal;word-break:break-word;pointer-events:none;z-index:20;box-shadow:0 4px 12px #0000002e}.graph-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.graph-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .15s}.graph-btn:hover{background:#f1f5f9}.graph-btn:disabled{opacity:.6;cursor:not-allowed}.graph-btn-primary{background:#6366f1;border-color:#6366f1;color:#fff}.graph-btn-primary:hover{background:#4f46e5}.graph-canvas-container{flex:1;position:relative;overflow:hidden}.graph-canvas-container canvas{display:block}.graph-loading,.graph-error,.graph-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#64748b}.graph-empty h3{margin:0;color:#334155}.muted{color:#94a3b8;font-size:13px}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.graph-detail-panel{position:absolute;top:0;right:0;width:360px;height:100%;background:#fff;border-left:1px solid #e2e8f0;box-shadow:-4px 0 16px #0000000d;padding:20px;overflow-y:auto;z-index:10}.graph-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.graph-node-type-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.graph-node-type-badge.concept{background:#eef2ff;color:#6366f1}.graph-node-type-badge.doc{background:#d1fae5;color:#059669}.graph-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#f8fafc;border-radius:6px;cursor:pointer;color:#334155;flex-shrink:0}.graph-close-btn:hover{background:#e2e8f0;border-color:#94a3b8;color:#0f172a}.graph-detail-title{margin:0 0 16px;font-size:18px;color:#0f172a}.graph-detail-section{margin-bottom:20px}.graph-detail-section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#475569}.graph-detail-section p{margin:0;font-size:14px;line-height:1.6;color:#334155}.graph-detail-meta{font-size:12px;color:#94a3b8;margin-bottom:16px}.graph-node-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.graph-node-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;font-size:13px;color:#334155;cursor:pointer;transition:background .15s}.graph-node-item:hover{background:#f1f5f9}.graph-node-item .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.graph-node-item.concept .dot{background:#6366f1}.graph-node-item.doc .dot{background:#10b981}.graph-doc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.graph-doc-item button{width:100%;text-align:left;padding:6px 10px;border:none;background:transparent;border-radius:4px;font-size:13px;color:#334155;cursor:pointer;transition:background .15s}.graph-doc-item button:hover{background:#f1f5f9}.graph-progress-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;width:420px;max-width:90%;box-shadow:0 10px 40px #0000001a;z-index:10}.graph-progress-header{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:#0f172a;margin-bottom:16px}.graph-progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:16px}.graph-progress-bar-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#06b6d4);border-radius:4px;transition:width .3s ease}.graph-progress-logs{max-height:240px;overflow-y:auto;font-size:13px;color:#475569;background:#f8fafc;border-radius:8px;padding:10px 12px}.graph-log-item{padding:4px 0;line-height:1.5;border-bottom:1px solid #e2e8f0}.graph-log-item:last-child{border-bottom:none}.graph-log-warn{color:#d97706}.graph-log-error{color:#dc2626}.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) auto;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--nodrag{cursor:pointer;touch-action:manipulation}.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--fullscreen{left:0;right:0;top:0;bottom:0;width:100%;height:100%;max-width:none;max-height:none;border:none;border-radius:0;box-shadow:none}.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-apikey-inline{margin:0 0 12px;padding:12px 14px;border-radius:10px;border:1px solid #fed7aa;background:#fff7ed}.mdocs-agent-apikey-inline-lead{margin:0 0 10px;font-size:13px;line-height:1.45;color:#9a3412}.mdocs-agent-apikey-inline-field{margin-bottom:10px}.mdocs-agent-apikey-inline-tabs{margin-bottom:12px}.mdocs-agent-apikey-inline-field.mdocs-agent-field span{display:block;margin-bottom:4px;font-size:12px;color:#9a3412;font-weight:500}.mdocs-agent-apikey-inline-field.mdocs-agent-field input{width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid #fdba74;border-radius:6px;font-size:13px;background:#fff;color:#1f2937}.mdocs-agent-apikey-inline-field.mdocs-agent-field input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 2px #f9731626}.mdocs-agent-apikey-inline-protocol{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:2px;border-radius:6px;background:#ffedd5;border:1px solid #fdba74}.mdocs-agent-apikey-inline-protocol button{border:none;background:transparent;padding:5px 8px;border-radius:5px;font-size:12px;font-weight:500;color:#9a3412;cursor:pointer;transition:background .15s,color .15s}.mdocs-agent-apikey-inline-protocol button.active{background:#fff;color:#7c2d12;box-shadow:0 1px 2px #7c2d121a}.mdocs-agent-apikey-inline-error{margin:0 0 8px;font-size:12px;color:var(--mdocs-danger, #c00)}.mdocs-agent-apikey-inline-save{padding:6px 14px;border:none;border-radius:6px;background:#6366f1;color:#fff;font-size:13px;cursor:pointer}.mdocs-agent-apikey-inline-save:hover:not(:disabled){background:#4f46e5}.mdocs-agent-apikey-inline-save:disabled{opacity:.55;cursor:not-allowed}.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{margin-top:8px;flex-shrink:0;background:#fff;border:1px solid #e8eaed;border-radius:14px;box-shadow:0 1px 2px #0f172a0a}.mdocs-agent-doc-ref{display:flex;align-items:center;gap:8px;margin:8px 8px 0;padding:8px 8px 8px 10px;border:1px solid #e4e7ec;border-radius:10px;background:#f9fafb}.mdocs-agent-doc-ref-icon{flex-shrink:0;color:#3370ff}.mdocs-agent-doc-ref-text{flex:1;min-width:0;line-height:1.3}.mdocs-agent-doc-ref-title{display:block;font-size:13px;font-weight:600;color:#1f2329;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-agent-doc-ref-path{display:block;margin-top:2px;font-size:11px;color:#98a2b3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-agent-doc-ref-unlink{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:4px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#667085;cursor:pointer}.mdocs-agent-doc-ref-unlink:hover:not(:disabled){border-color:#98a2b3;background:#f2f4f7;color:#344054}.mdocs-agent-doc-ref-unlink:disabled{opacity:.5;cursor:not-allowed}.mdocs-agent-panel-input-body{position:relative}.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{flex-shrink:0}.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:12px 92px 12px 12px;font:inherit;font-size:14px;line-height:1.5;background:transparent;color:#1f2329;box-sizing:border-box;outline:none;min-height:68px}.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-send-stop{background:#5c6570;font-size:11px}.mdocs-agent-panel-send-stop:hover{background:#3d4450}.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-panel{width:100%;flex-shrink:0}.mdocs-agent-config-card{width:100%;box-sizing:border-box}.mdocs-agent-config-lead{margin:0 0 20px;font-size:13px;line-height:1.55;color:var(--mdocs-text-muted, #64748b)}.mdocs-agent-config-muted{margin:0;font-size:14px;color:var(--mdocs-text-muted, #64748b)}.mdocs-agent-config-ok{margin:12px 0 0;font-size:13px;color:#16a34a}.mdocs-agent-config-error{margin:0;font-size:13px;color:var(--mdocs-danger, #dc2626)}.mdocs-agent-form{display:flex;flex-direction:column;gap:16px}.mdocs-agent-field{display:flex;flex-direction:column;gap:6px;margin:0}.mdocs-agent-field>span{font-size:13px;font-weight:600;color:var(--mdocs-text, #0f172a)}.mdocs-agent-field input,.mdocs-agent-field select,.mdocs-agent-field .mdocs-mini-select,.mdocs-agent-field .mdocs-mini-select-trigger{width:100%;box-sizing:border-box}.mdocs-agent-field .mdocs-mini-select{display:block}.mdocs-agent-field .mdocs-mini-select-trigger{min-width:0;min-height:38px;padding:8px 12px;font-size:inherit;justify-content:space-between;border-radius:var(--mdocs-radius, 6px)}.mdocs-agent-field .mdocs-mini-select-trigger:focus-visible{border-color:var(--mdocs-accent, #3b82f6);box-shadow:0 0 0 3px var(--mdocs-accent-ring, rgba(59, 130, 246, .15));outline:none}.mdocs-agent-field-hint{margin:0;font-size:12px;color:var(--mdocs-text-muted, #64748b);line-height:1.45}.mdocs-agent-kind-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:3px;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0}.mdocs-agent-kind-tabs button{border:none;background:transparent;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.mdocs-agent-kind-tabs button.active{background:#fff;color:#0f172a;box-shadow:0 1px 3px #0f172a14}.mdocs-agent-summary{margin:0;display:flex;flex-direction:column;gap:0}.mdocs-agent-summary-row{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9;align-items:baseline}.mdocs-agent-summary-row:last-child{border-bottom:none}.mdocs-agent-summary dt{margin:0;font-size:12px;font-weight:500;color:#64748b}.mdocs-agent-summary dd{margin:0;font-size:14px;color:#0f172a;word-break:break-word}.mdocs-agent-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:500;color:#6366f1;background:#eef2ff;vertical-align:middle}.mdocs-agent-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.mdocs-agent-advanced{border-top:1px solid #f1f5f9;padding-top:4px}.mdocs-agent-advanced summary{cursor:pointer;font-size:13px;font-weight:500;color:#64748b;padding:8px 0;list-style:none;-webkit-user-select:none;user-select:none}.mdocs-agent-advanced summary::-webkit-details-marker{display:none}.mdocs-agent-advanced[open] summary{margin-bottom:12px;color:#0f172a}.mdocs-agent-advanced .mdocs-agent-field+.mdocs-agent-field{margin-top:12px}.mdocs-agent-config-panel+.mdocs-agent-skills-panel{margin-top:28px}.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:stretch;gap:8px}.mdocs-agent-config-apikey input{flex:1;min-width:0;min-height:38px}.mdocs-agent-config-eye{flex-shrink:0;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:0 10px;border:1px solid var(--mdocs-border, #e2e8f0);border-radius:var(--mdocs-radius, 6px);background:var(--mdocs-surface, #fff);color:var(--mdocs-text-muted, #64748b);cursor:pointer;font-size:12px}.mdocs-agent-config-eye:hover{background:var(--mdocs-bg-hover, #f5f5f5)}.mdocs-agent-config-actions{display:flex;gap:8px;align-items:center}.mdocs-agent-config-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mdocs-agent-config-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc}.mdocs-agent-config-item-default{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.mdocs-agent-config-item-default input{margin:0;cursor:pointer}.mdocs-agent-config-item-main{min-width:0}.mdocs-agent-config-item-main strong{display:inline;font-size:14px;font-weight:600;color:#0f172a;word-break:break-word}.mdocs-agent-config-item-meta{margin:4px 0 0;font-size:12px;color:#64748b}.mdocs-agent-config-item-actions{display:flex;gap:6px;flex-shrink:0}.mdocs-agent-config-default-check{display:flex;align-items:center;gap:8px;font-size:13px;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none}.mdocs-agent-config-default-check input{margin:0}.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;overflow:hidden;margin:0;padding:0;text-align:left}.mdocs-tree-folder-row:hover .mdocs-tree-label{text-decoration:underline}.mdocs-tree-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mdocs-tree-row>.mdocs-tree-label,.mdocs-tree-row>.mdocs-tree-folder-select{min-width:0;overflow:hidden}.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-toolbar-leading{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:0}.mdocs-editor-toolbar-trailing{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0}.mdocs-doc-info-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;z-index:100;padding:8px 0;background:var(--mdocs-surface, #fff);border:1px solid var(--mdocs-border, #e5e5e5);border-radius:8px;box-shadow:0 2px 8px #00000026}.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-stop{background:#5c6570;color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer;align-self:flex-end;margin-bottom:2px}.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-line-readonly{-webkit-user-select:text;user-select:text;cursor:default}.mdocs-ai-write-inline-edit{flex:1;min-width:0;margin:0;padding:0;border:none;resize:none;outline:none;background:transparent;color:inherit;font:inherit;line-height:inherit;white-space:pre-wrap;word-break:break-word;overflow:hidden;field-sizing:content}.mdocs-ai-write-inline-edit:focus{outline:1px solid rgba(51,112,255,.35);outline-offset:1px;border-radius:2px}.mdocs-ai-write-line.add .mdocs-ai-write-inline-edit{background:#2ea0430f}.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}@media (max-width: 768px){.mdocs-layout--reader{position:relative}.mdocs-layout--reader .mdocs-mobile-nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;border:none;padding:0;margin:0;background:#0f172a59;cursor:pointer}.mdocs-layout--reader .mdocs-sidebar--drawer,.mdocs-layout--reader .mdocs-sidebar--drawer-open{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(86vw,300px);max-width:300px;flex-shrink:0;transition:transform .22s ease;box-shadow:8px 0 28px #0f172a24}.mdocs-layout--reader .mdocs-sidebar--drawer{transform:translate(-105%);pointer-events:none}.mdocs-layout--reader .mdocs-sidebar--drawer-open{transform:translate(0);pointer-events:auto}.mdocs-layout--reader .mdocs-main{width:100%}.mdocs-document-editor-root{padding-left:5px;padding-right:5px}.mdocs-editor-scroll-host{padding-left:0;padding-right:0}.mdocs-layout--reader .mdocs-editor-content-area>div{border:none!important;border-radius:0!important;box-shadow:none!important}.mdocs-layout--reader .mdocs-outline-siderail{display:none!important}.mdocs-editor--reader{position:relative}.mdocs-editor-toolbar--float,.mdocs-editor-toolbar--docked{display:flex;flex-direction:row;align-items:center;gap:6px;width:100%;box-sizing:border-box;overflow:visible}.mdocs-editor-toolbar--float{position:absolute;top:0;left:0;right:0;z-index:30;padding:8px 10px;border:none;border-bottom:1px solid color-mix(in srgb,var(--mdocs-border) 80%,transparent);border-radius:0;background:color-mix(in srgb,var(--mdocs-surface) 98%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0f172a0f}.mdocs-editor-toolbar--float .mdocs-editor-toolbar-leading{touch-action:none;cursor:grab;flex:1 1 auto;min-width:0;max-width:none;padding-right:0}.mdocs-editor-toolbar--float .mdocs-editor-toolbar-leading:active{cursor:grabbing}.mdocs-editor-toolbar--docked{position:sticky;top:0;left:0;z-index:30;padding:8px 12px;border:none;border-radius:0;border-bottom:1px solid var(--mdocs-border);background:var(--mdocs-surface);box-shadow:none;transform:none}.mdocs-editor-toolbar--docked .mdocs-editor-toolbar-leading{flex:1 1 auto;min-width:0;max-width:none;padding-right:0}.mdocs-editor-toolbar--float .mdocs-editor-title-input,.mdocs-editor-toolbar--docked .mdocs-editor-title-input{width:auto;max-width:none;flex:1 1 auto;min-width:0;border:none;background:transparent;box-shadow:none;padding:4px;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-editor-toolbar--float .mdocs-domain-select-wrapper,.mdocs-editor-toolbar--docked .mdocs-domain-select-wrapper{flex:0 1 auto;min-width:72px;max-width:min(26vw,108px)}.mdocs-editor-toolbar--float .mdocs-domain-select-trigger,.mdocs-editor-toolbar--docked .mdocs-domain-select-trigger{height:32px;padding:0 6px;font-size:12px}.mdocs-editor-toolbar--float .mdocs-reader-action-btn,.mdocs-editor-toolbar--docked .mdocs-reader-action-btn{padding:4px 10px;font-size:12px;line-height:1.2;white-space:nowrap;border-radius:999px;min-width:auto;flex-shrink:0}.mdocs-reader-more-menu{position:relative;flex-shrink:0}.mdocs-reader-more-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--mdocs-text-secondary, #6b7280);cursor:pointer}.mdocs-reader-more-btn:hover{background:var(--mdocs-hover-bg, #f0f0f0)}.mdocs-reader-more-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;max-width:min(88vw,300px);padding:8px 0;z-index:120;box-shadow:0 4px 16px #0f172a1f}.mdocs-reader-more-item{width:100%;display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:transparent;font:inherit;font-size:14px;color:var(--mdocs-text);text-align:left;cursor:pointer}.mdocs-reader-more-item:hover{background:var(--mdocs-hover-bg, #f5f5f5)}.mdocs-reader-more-item--danger{color:var(--mdocs-danger, #dc2626)}.mdocs-reader-more-divider{height:1px;margin:6px 0;background:var(--mdocs-border, #e5e5e5)}.mdocs-editor-toolbar--float .secondary,.mdocs-editor-toolbar--float .mdocs-reader-nav-btn,.mdocs-editor-toolbar--docked .secondary,.mdocs-editor-toolbar--docked .mdocs-reader-nav-btn{border:none;background:transparent;box-shadow:none}.mdocs-reader-nav-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:8px;color:var(--mdocs-text);cursor:pointer;flex-shrink:0}.mdocs-reader-nav-btn:hover{background:var(--mdocs-hover-bg, #f0f0f0)}.mdocs-editor--reader:not(.mdocs-editor--reader-docked) .mdocs-editor-content-area{padding-top:48px}.mdocs-editor--reader-docked .mdocs-editor-content-area{padding-top:0}.mdocs-reader-float-pill{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:20;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--mdocs-border);border-radius:999px;background:color-mix(in srgb,var(--mdocs-surface) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0f172a0f;color:var(--mdocs-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.mdocs-welcome{position:relative}.mdocs-layout--settings .mdocs-settings-mobile-bar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--mdocs-border);background:var(--mdocs-surface)}.mdocs-layout--settings .mdocs-settings-mobile-bar-title{font-size:15px;font-weight:600;color:var(--mdocs-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-layout--settings .mdocs-settings{padding:20px 16px}.mdocs-layout--settings .mdocs-settings-header{display:none}}.mdocs-tree-hover-actions{display:flex;align-items:center;gap:1px;justify-self:end;flex-shrink:0;width:46px;justify-content:flex-end;visibility:hidden;pointer-events:none}.mdocs-tree-row:hover .mdocs-tree-hover-actions,.mdocs-tree-row:focus-within .mdocs-tree-hover-actions{visibility:visible;pointer-events:auto}.mdocs-tree-icon-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:4px;cursor:pointer;padding:0;color:var(--mdocs-text-secondary, #6b7280);transition:color .15s,background .15s}.mdocs-tree-icon-btn:hover{color:var(--mdocs-text);background:color-mix(in srgb,var(--mdocs-text) 8%,transparent)}.mdocs-tree-icon-btn svg{display:block;flex-shrink:0}.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-merge-body--inline{display:flex;flex-direction:column;grid-template-columns:none;background:var(--mdocs-bg, #fff);gap:0}.mdocs-merge-inline-pane{display:flex;flex-direction:column;flex:1;min-height:0}.mdocs-merge-inline-toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 16px;border-bottom:1px solid var(--mdocs-border, #e5e5e5);background:var(--mdocs-surface, #fff)}.mdocs-merge-inline-hint{flex:1;min-width:0;font-size:12px;color:var(--mdocs-text-muted, #888)}.mdocs-merge-inline-toolbar button{font-size:12px;padding:4px 10px;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:6px;background:#fff;cursor:pointer}.mdocs-merge-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-merge-inline-same{margin:0;padding:0 16px 0 12px;white-space:pre-wrap;word-break:break-word}.mdocs-merge-inline-hunk{position:relative;margin:0;padding:0 16px 0 12px}.mdocs-merge-inline-hunk.is-active{outline:1px solid rgba(51,112,255,.35);outline-offset:-1px;background:#3370ff08}.mdocs-merge-inline-hunk.is-resolved{opacity:.72}.mdocs-merge-hunk-actions{position:absolute;top:6px;right:12px;z-index:2;display:flex;gap:6px}.mdocs-merge-hunk-resolved-tag{position:absolute;top:6px;right:12px;z-index:2;font-size:11px;color:var(--mdocs-text-muted, #888);background:#ffffffe6;padding:2px 8px;border-radius:6px;border:1px solid var(--mdocs-border, #e5e5e5)}.mdocs-merge-inline-editor{flex:1;width:100%;min-height:0;margin:0;padding:16px 20px;border:none;resize:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;box-sizing:border-box;background:var(--mdocs-bg, #fff);color:var(--mdocs-text)}.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}
|