@fgbg/mdocs 1.3.27 → 1.3.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/agent-skills/changelog/SKILL.md +18 -1
- package/agent-skills/getting-started-installation/SKILL.md +1 -1
- package/dist/server/agent/Agent/session-manager.js +116 -8
- package/dist/server/agent/Agent/session-manager.js.map +1 -1
- package/dist/server/agent/Agent/session-manager.pin-rename.test.js +75 -0
- package/dist/server/agent/Agent/session-manager.pin-rename.test.js.map +1 -0
- package/dist/server/app.js +41 -2
- package/dist/server/app.js.map +1 -1
- package/dist/server/cli/self-update.js +18 -7
- package/dist/server/cli/self-update.js.map +1 -1
- package/dist/server/routes/agent.routes.js +62 -2
- package/dist/server/routes/agent.routes.js.map +1 -1
- package/dist/web/assets/AgentChatPanel-BD1oyUQ2.js +42 -0
- package/dist/web/assets/AiWriteWorkbench-B0r87dOu.js +7 -0
- package/dist/web/assets/{DiagramEditor-NtNY3sZL-CyddeNUo.js → DiagramEditor-NtNY3sZL-zENSuUSW.js} +1 -1
- package/dist/web/assets/{DocChrome-C5syeHbQ.js → DocChrome-B-5PeA3Z.js} +1 -1
- package/dist/web/assets/{DocumentEditor-mG7hvAWj.js → DocumentEditor-CeH1smor.js} +1 -1
- package/dist/web/assets/{HtmlEditor-DABDor1R.js → HtmlEditor-DEwBOS1N.js} +1 -1
- package/dist/web/assets/{MergeView-BczHMfos.js → MergeView-Bzk9R2GH.js} +1 -1
- package/dist/web/assets/{PlaygroundPage-zg5tjWQs.js → PlaygroundPage-Bmq4l_R3.js} +1 -1
- package/dist/web/assets/{SettingsPage-BU0is_e7.js → SettingsPage-B3-GANlD.js} +1 -1
- package/dist/web/assets/{SheetEditor-4nXVP3NN.js → SheetEditor-DYVKW2RD.js} +1 -1
- package/dist/web/assets/{Toolbar-xB4u1mY1.js → Toolbar-SoiYp0SC.js} +1 -1
- package/dist/web/assets/{VisitorPickerModal-Djpm5bTf.js → VisitorPickerModal-BTmTrqrT.js} +1 -1
- package/dist/web/assets/{check--tqH9AMO.js → check-CnsclxvV.js} +1 -1
- package/dist/web/assets/copy-CI3NmTJZ.js +11 -0
- package/dist/web/assets/{docPlainCharCount-CTaZfi-M.js → docPlainCharCount-C7aeeOM1.js} +1 -1
- package/dist/web/assets/index-CSZ-Z1RJ.css +1 -0
- package/dist/web/assets/{index-CINfyH_g.js → index-DNb6Q69l.js} +14 -14
- package/dist/web/assets/{italic-phhei7W3.js → italic-BljxX8Uj.js} +1 -1
- package/dist/web/assets/{meta2dEngine-BD2XbzaV-BDjANcdr.js → meta2dEngine-BD2XbzaV-BuKVYpuY.js} +1 -1
- package/dist/web/assets/{plus-BxZJ-Mya.js → plus-BAqdJ6N2.js} +1 -1
- package/dist/web/assets/{react-8gAAnUbI.js → react-C7YGEhUS.js} +129 -134
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/AgentChatPanel-TJVgAwlH.js +0 -22
- package/dist/web/assets/AgentSkillFormCard-3ZpgH1RY.js +0 -11
- package/dist/web/assets/AiWriteWorkbench-B9HrhEmd.js +0 -7
- package/dist/web/assets/copy-5mwMd6zK.js +0 -6
- package/dist/web/assets/index-DCgILSIv.css +0 -1
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-DNb6Q69l.js"></script>
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-BVS1XoFi.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/motion-BAXVQJfN.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/ui-CEFkTVnG.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/diagram-BF8g9yg4.js">
|
|
35
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
35
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CSZ-Z1RJ.css">
|
|
36
36
|
</head>
|
|
37
37
|
<body>
|
|
38
38
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/diagram-BF8g9yg4.js","assets/ui-CEFkTVnG.js","assets/react-vendor-BVS1XoFi.js","assets/motion-BAXVQJfN.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as o,j as e,_ as lt,b as dt}from"./react-vendor-BVS1XoFi.js";import{o as ae,N as Xe,C as ut,aO as Ke,X as ne,aP as Fe,aQ as mt,Z as Pe,aR as Be,aS as pt,aT as ft,aU as ht,aV as gt,aW as xt,aX as yt,aY as Ue,aZ as jt,a_ as kt,a$ as Nt}from"./index-CINfyH_g.js";import{H as bt,S as vt,A as wt,a as Ct}from"./AgentSkillFormCard-3ZpgH1RY.js";import{C as Ye}from"./check--tqH9AMO.js";import{C as Ge}from"./copy-5mwMd6zK.js";import{P as St}from"./plus-BxZJ-Mya.js";import{ar as _t,ah as At}from"./ui-CEFkTVnG.js";import"./diagram-BF8g9yg4.js";import"./motion-BAXVQJfN.js";/**
|
|
3
|
-
* @license lucide-react v0.562.0 - ISC
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the ISC license.
|
|
6
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/const It=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Mt=ae("maximize-2",It);/**
|
|
8
|
-
* @license lucide-react v0.562.0 - ISC
|
|
9
|
-
*
|
|
10
|
-
* This source code is licensed under the ISC license.
|
|
11
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
-
*/const Rt=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],Et=ae("minimize-2",Rt);/**
|
|
13
|
-
* @license lucide-react v0.562.0 - ISC
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the ISC license.
|
|
16
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/const $t=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],Tt=ae("zoom-in",$t);/**
|
|
18
|
-
* @license lucide-react v0.562.0 - ISC
|
|
19
|
-
*
|
|
20
|
-
* This source code is licensed under the ISC license.
|
|
21
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
22
|
-
*/const zt=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],Dt=ae("zoom-out",zt);function ke(s){var n;return s==null||typeof s=="boolean"?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)?s.map(ke).join(""):typeof s=="object"&&"props"in s?ke((n=s.props)==null?void 0:n.children):""}function qt(s){return s?/\blanguage-mermaid\b|\bmermaid\b/i.test(s):!1}function Ft(s){const n=Array.isArray(s)?s:[s];for(const a of n){if(a==null||typeof a!="object"||!("props"in a))continue;const l=a.props;if(!(!l||!qt(l.className)))return ke(l.children).replace(/\n$/,"")}return null}const Pt=.4,Bt=4,se=.2;let xe=null;function Lt(){return xe||(xe=lt(()=>import("./diagram-BF8g9yg4.js").then(s=>s.z),__vite__mapDeps([0,1,2,3])).then(s=>{const n=s.default;return n.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral",fontFamily:"ui-sans-serif, system-ui, sans-serif"}),n})),xe}const Ot=32,W=new Map;function Le(s){return W.get(s)??null}function Wt(s,n){for(W.has(s)&&W.delete(s),W.set(s,n);W.size>Ot;){const a=W.keys().next().value;if(a==null)break;W.delete(a)}}function ye(s){return Math.min(Bt,Math.max(Pt,s))}function Ht(s){const[n,a]=o.useState(1),[l,b]=o.useState({x:0,y:0}),g=o.useRef(null),[_,y]=o.useState(!1);o.useEffect(()=>{const u=I=>{I.key==="Escape"&&s.onClose()};window.addEventListener("keydown",u);const m=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",u),document.body.style.overflow=m}},[s.onClose]);function A(u){u.button===0&&(u.currentTarget.setPointerCapture(u.pointerId),g.current={pointerId:u.pointerId,startX:u.clientX,startY:u.clientY,originX:l.x,originY:l.y},y(!0))}function C(u){const m=g.current;!m||m.pointerId!==u.pointerId||b({x:m.originX+(u.clientX-m.startX),y:m.originY+(u.clientY-m.startY)})}function E(u){const m=g.current;if(!(!m||m.pointerId!==u.pointerId)){g.current=null,y(!1);try{u.currentTarget.releasePointerCapture(u.pointerId)}catch{}}}function N(u){u.preventDefault();const m=u.deltaY>0?-se:se;a(I=>ye(Number((I+m).toFixed(2))))}return dt.createPortal(e.jsxs("div",{className:"mdocs-agent-mermaid-float",role:"dialog","aria-modal":"true","aria-label":"Mermaid 图预览",children:[e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-backdrop","aria-label":"关闭预览",onClick:s.onClose}),e.jsxs("div",{className:"mdocs-agent-mermaid-float-chrome",children:[e.jsxs("div",{className:"mdocs-agent-mermaid-float-tools",children:[e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-btn",onClick:()=>a(u=>ye(Number((u-se).toFixed(2)))),title:"缩小","aria-label":"缩小",children:e.jsx(Dt,{size:16,"aria-hidden":!0})}),e.jsxs("span",{className:"mdocs-agent-mermaid-float-scale",children:[Math.round(n*100),"%"]}),e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-btn",onClick:()=>a(u=>ye(Number((u+se).toFixed(2)))),title:"放大","aria-label":"放大",children:e.jsx(Tt,{size:16,"aria-hidden":!0})}),e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-btn",onClick:()=>{a(1),b({x:0,y:0})},title:"重置",children:"重置"}),e.jsx("button",{type:"button",className:"mdocs-agent-mermaid-float-btn",onClick:s.onClose,title:"关闭","aria-label":"关闭",children:e.jsx(ne,{size:16,"aria-hidden":!0})})]}),e.jsx("div",{className:_?"mdocs-agent-mermaid-float-stage is-dragging":"mdocs-agent-mermaid-float-stage",onPointerDown:A,onPointerMove:C,onPointerUp:E,onPointerCancel:E,onWheel:N,children:e.jsx("div",{className:"mdocs-agent-mermaid-float-canvas",style:{transform:`translate(calc(-50% + ${l.x}px), calc(-50% + ${l.y}px)) scale(${n})`},dangerouslySetInnerHTML:{__html:s.svg}})}),e.jsx("p",{className:"mdocs-agent-mermaid-float-hint",children:"拖动平移 · 滚轮缩放 · Esc 关闭"})]})]}),document.body)}function Xt(s){const n=o.useId().replace(/:/g,""),[a,l]=o.useState("diagram"),[b,g]=o.useState(()=>Le(s.source.trim())),[_,y]=o.useState(null),[A,C]=o.useState(!1),[E,N]=o.useState(!1),u=o.useRef(null),m=s.source.trim(),I=o.useMemo(()=>m,[m]);o.useEffect(()=>()=>{u.current!=null&&window.clearTimeout(u.current)},[]),o.useEffect(()=>{if(a!=="diagram")return;if(!I){g(null),y(null);return}const j=Le(I);if(j){g(j),y(null);return}let M=!1;const P=window.setTimeout(()=>{(async()=>{try{const F=await Lt();if(M)return;const T=`mdocs-agent-mmd-${n}-${Date.now()}`,{svg:$}=await F.render(T,I);if(M)return;Wt(I,$),g($),y(null)}catch(F){if(M)return;g(null),y(F instanceof Error?F.message:"Mermaid 渲染失败")}})()},200);return()=>{M=!0,window.clearTimeout(P)}},[a,I,n]);async function H(){!m||!await Ke(m)||(C(!0),u.current!=null&&window.clearTimeout(u.current),u.current=window.setTimeout(()=>C(!1),1500))}return e.jsxs("div",{className:"mdocs-agent-mermaid",children:[e.jsxs("div",{className:"mdocs-agent-mermaid-toolbar",children:[e.jsxs("div",{className:"mdocs-agent-mermaid-toggle",role:"group","aria-label":"Mermaid 显示模式",children:[e.jsxs("button",{type:"button",className:a==="diagram"?"mdocs-agent-mermaid-toggle-btn is-active":"mdocs-agent-mermaid-toggle-btn",onClick:()=>l("diagram"),"aria-pressed":a==="diagram",title:"图谱",children:[e.jsx(Xe,{size:14,"aria-hidden":!0}),e.jsx("span",{children:"图谱"})]}),e.jsxs("button",{type:"button",className:a==="code"?"mdocs-agent-mermaid-toggle-btn is-active":"mdocs-agent-mermaid-toggle-btn",onClick:()=>l("code"),"aria-pressed":a==="code",title:"代码",children:[e.jsx(ut,{size:14,"aria-hidden":!0}),e.jsx("span",{children:"代码"})]})]}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-md-copy mdocs-agent-mermaid-copy",onClick:()=>void H(),"aria-label":A?"已复制":"复制代码",title:A?"已复制":"复制",children:A?e.jsx(Ye,{size:14,"aria-hidden":!0}):e.jsx(Ge,{size:14,"aria-hidden":!0})})]}),a==="diagram"?e.jsx("div",{className:"mdocs-agent-mermaid-diagram",children:_?e.jsxs("div",{className:"mdocs-agent-mermaid-error",role:"alert",children:[e.jsx("p",{children:"无法渲染该图,可切换到代码查看源码。"}),e.jsx("pre",{children:_})]}):b?e.jsx("div",{className:"mdocs-agent-mermaid-svg mdocs-agent-mermaid-svg-hit",role:"button",tabIndex:0,onClick:()=>N(!0),onKeyDown:j=>{(j.key==="Enter"||j.key===" ")&&(j.preventDefault(),N(!0))},title:"点击放大预览","aria-label":"点击放大预览 Mermaid 图",children:e.jsx("span",{className:"mdocs-agent-mermaid-svg-inner",dangerouslySetInnerHTML:{__html:b}})}):e.jsx("div",{className:"mdocs-agent-mermaid-loading",children:"渲染中…"})}):e.jsx("div",{className:"mdocs-agent-panel-md-pre-wrap mdocs-agent-mermaid-code",children:e.jsx("pre",{children:s.codeChildren??e.jsx("code",{className:"language-mermaid",children:m})})}),E&&b?e.jsx(Ht,{svg:b,onClose:()=>N(!1)}):null]})}const Kt=o.memo(Xt,(s,n)=>s.source===n.source);function Ne(s){var n;return s==null||typeof s=="boolean"?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)?s.map(Ne).join(""):typeof s=="object"&&"props"in s?Ne((n=s.props)==null?void 0:n.children):""}function Ut(s){const[n,a]=o.useState(!1),l=o.useRef(null),b=o.useRef(null),g=Ne(s.children).replace(/\n$/,"");o.useEffect(()=>()=>{l.current!=null&&window.clearTimeout(l.current)},[]);async function _(y){var N,u,m;y.preventDefault(),y.stopPropagation();const C=(((m=(u=(N=b.current)==null?void 0:N.querySelector("pre"))==null?void 0:u.innerText)==null?void 0:m.replace(/\n$/,""))??"")||g;!C||!await Ke(C)||(a(!0),l.current!=null&&window.clearTimeout(l.current),l.current=window.setTimeout(()=>a(!1),1500))}return e.jsxs("div",{className:"mdocs-agent-panel-md-pre-wrap",ref:b,children:[e.jsx("button",{type:"button",className:"mdocs-agent-panel-md-copy",onClick:y=>void _(y),"aria-label":n?"已复制":"复制代码",title:n?"已复制":"复制",children:n?e.jsx(Ye,{size:14,"aria-hidden":!0}):e.jsx(Ge,{size:14,"aria-hidden":!0})}),e.jsx("pre",{children:s.children})]})}function Yt(s){const n=Ft(s.children);return n!=null?e.jsx(Kt,{source:n,codeChildren:s.children}):e.jsx(Ut,{children:s.children})}const Gt={pre:({children:s})=>e.jsx(Yt,{children:s})},Oe=o.memo(function(n){return e.jsx("div",{className:"mdocs-agent-panel-md",children:e.jsx(_t,{remarkPlugins:[At],components:Gt,children:n.children})})}),Vt=["如何发布文档?","草稿是什么?","如何创建工作空间?"];function We(s,n){return n.map((a,l)=>{const b=a.skillNames&&a.skillNames.length>0?a.skillNames:a.skillIds&&a.skillIds.length>0?a.skillIds:void 0;return{id:`h-${s}-${l}-${a.role}`,role:a.role,content:a.content,skillNames:b}})}function Zt(s,n){const a=s.slice(),l=a[a.length-1];return(l==null?void 0:l.type)==="text"?a[a.length-1]={type:"text",text:l.text+n}:a.push({type:"text",text:n}),a}function Jt(s,n){const a=s.slice(),l=a[a.length-1];return(l==null?void 0:l.type)==="thinking"?a[a.length-1]={type:"thinking",text:l.text+n}:a.push({type:"thinking",text:n}),a}function je(s){return s!=null&&s.length?s.filter(n=>n.type==="text").map(n=>n.text).join(""):""}function Qt(s){return!!(s!=null&&s.some(n=>n.type==="thinking"&&n.text.length>0))}function es(s){const n=new Date(s);if(Number.isNaN(n.getTime()))return"";const a=new Date;return n.getFullYear()===a.getFullYear()&&n.getMonth()===a.getMonth()&&n.getDate()===a.getDate()?n.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):n.toLocaleDateString(void 0,{month:"2-digit",day:"2-digit"})}function He(s){if(s>=1e3){const n=s/1e3;return`${n>=10?Math.round(n):Math.round(n*10)/10}K`}return String(s)}function ts(s){const{block:n,onResolved:a}=s,[l,b]=o.useState(""),[g,_]=o.useState(!1),[y,A]=o.useState(1),C=o.useRef(!1),E=o.useRef(a);E.current=a;const N=n.status==="open",u=o.useRef(0);o.useEffect(()=>{if(!N)return;C.current=!1;const j=new Date(n.expiresAt).getTime(),M=Date.now(),P=Math.max(j-M,1);u.current=P,A(1);const F=()=>{const $=j-Date.now(),p=Math.max(0,Math.min(1,$/P));A(p),$<=0&&!C.current&&(C.current=!0,kt(n.requestId).catch(()=>{}).finally(()=>{E.current(n.requestId,"","expired")}))};F();const T=window.setInterval(F,100);return()=>window.clearInterval(T)},[N,n.expiresAt,n.requestId]);async function m(j){const M=j.trim();if(!(!M||g||!N)){_(!0);try{await Nt(n.requestId,M),a(n.requestId,M,"selected")}catch{a(n.requestId,M,"failed")}finally{_(!1)}}}async function I(){if(!(g||!N)){_(!0),C.current=!0;try{await Ue(n.requestId),a(n.requestId,"","cancelled")}catch{a(n.requestId,"","failed")}finally{_(!1)}}}const H=Math.max(0,Math.ceil(y*u.current/1e3));return e.jsxs("div",{className:"mdocs-agent-choice-card"+(N?"":" 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}),N?e.jsxs("span",{className:"mdocs-agent-choice-timer","aria-live":"polite",children:[H,"s"]}):null]}),N?e.jsx("div",{className:"mdocs-agent-choice-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(y*100),children:e.jsx("div",{className:"mdocs-agent-choice-progress-bar",style:{transform:`scaleX(${y})`}})}):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,N?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mdocs-agent-choice-options",children:n.options.map(j=>e.jsx("button",{type:"button",className:"mdocs-agent-choice-option",disabled:g,onClick:()=>void m(j),children:j},j))}),e.jsxs("div",{className:"mdocs-agent-choice-custom",children:[e.jsx("input",{value:l,disabled:g,placeholder:"或输入自己的内容…",onChange:j=>b(j.target.value),onKeyDown:j=>{j.key==="Enter"&&(j.preventDefault(),m(l))}}),e.jsx("button",{type:"button",disabled:g||!l.trim(),onClick:()=>void m(l),children:"提交"})]}),e.jsx("div",{className:"mdocs-agent-choice-footer",children:e.jsx("button",{type:"button",className:"mdocs-agent-choice-cancel",disabled:g,onClick:()=>void I(),children:"取消"})})]}):null]})}function ss(s){const b=2*Math.PI*8.75,g=Math.min(100,Math.max(0,s.percent)),_=b*(1-g/100),y=g>=90?"danger":g>=70?"warn":"ok",A=`上下文 ${g}% · 已用 ${He(s.used)} / ${He(s.limit)} tokens`;return e.jsx("span",{className:"mdocs-agent-panel-context mdocs-agent-panel-context-"+y,"data-tooltip":A,"aria-label":A,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:b,strokeDashoffset:_,transform:`rotate(-90 ${20/2} ${20/2})`})]})})}function ns(s){var n;for(const a of s)if(!(a.role!=="assistant"||!((n=a.blocks)!=null&&n.length))){for(const l of a.blocks)if((l.type==="choice_card"||l.type==="skill_form_card")&&l.status==="open")return!0}return!1}const ps=o.forwardRef(function(n,a){const{open:l,onClose:b,visitorName:g,anchorStyle:_,fullscreen:y,onToggleFullscreen:A,domainId:C,documentId:E,documentTitle:N,documentPath:u,graphFileId:m,graphLabel:I,onOpenDocument:H,onTreeChanged:j,onDocumentOverwritten:M,onOpenCoding:P}=n,F=((g==null?void 0:g.trim().charAt(0))||"我").toUpperCase(),[T,$]=o.useState(!1),[p,U]=o.useState(null),[Ve,Y]=o.useState(null),[z,w]=o.useState([]),[re,G]=o.useState(null),[be,Ze]=o.useState([]),[Je,ve]=o.useState(!1),[V,Z]=o.useState(""),[K,we]=o.useState([]),[Ce,ie]=o.useState(!1),[v,J]=o.useState(!1),[Se,B]=o.useState(null),[Q,_e]=o.useState(null),[oe,O]=o.useState(!1),[L,Ae]=o.useState(!1),Qe=o.useRef(null),ee=o.useRef(null),D=o.useRef(null),Ie=o.useRef(0),X=o.useRef(!0),[et,ce]=o.useState(!1),le=o.useRef(z);le.current=z;const Me=!!(E!=null&&E.trim())&&!Ce,tt=(N==null?void 0:N.trim())||"当前文档",Re=(u==null?void 0:u.trim())||"",de=!!(m!=null&&m.trim())&&!Ce,st=(I==null?void 0:I.trim())||"当前图谱";o.useEffect(()=>{ie(!1)},[E,m]);function Ee(t){return Ie.current+=1,`${t}-${Ie.current}`}const $e=120;function Te(t){return t.scrollHeight-t.scrollTop-t.clientHeight}function te(){const t=ee.current;t&&(t.scrollTop=t.scrollHeight,ce(!1))}function q(){X.current&&te()}function nt(){const t=ee.current;if(!t)return;const f=Te(t);X.current=f<=48,ce(f>$e)}function at(){X.current=!0,te()}o.useLayoutEffect(()=>{q();const t=ee.current;t&&ce(Te(t)>$e)},[z]);async function rt(){ve(!0);try{const t=await ht();Ze(t.sessions),re||G(t.lastOpenedSessionId)}catch{}finally{ve(!1)}}async function ue(){try{const t=await ft();_e(t)}catch{}}async function ze(){try{const t=await Fe();U(t),Y(null)}catch(t){U(null),Y(t instanceof Error?t.message:String(t))}}o.useEffect(()=>{var f;if(!l){$(!1),(f=D.current)==null||f.abort(),D.current=null,J(!1);return}let t=!1;return(async()=>{try{const c=await Fe();t||(U(c),Y(null))}catch(c){t||(U(null),Y(c instanceof Error?c.message:String(c)))}})(),ue(),()=>{t=!0}},[l]),o.useEffect(()=>{if(!l)return;let t=!1;return(async()=>{try{const f=await mt();if(t)return;G(f.sessionId),w(c=>c.length>0?c:We(f.sessionId,f.messages))}catch{}})(),()=>{t=!0}},[l]),o.useEffect(()=>{!l||!T||rt()},[l,T]);function me(){if(!L){if(ns(le.current)){O(!0);return}O(!1),b()}}async function it(){var c;if(L)return;Ae(!0);const t=le.current,f=[];for(const S of t)if(!(S.role!=="assistant"||!S.blocks))for(const x of S.blocks)x.type==="choice_card"&&x.status==="open"&&f.push(Ue(x.requestId).catch(()=>{})),x.type==="skill_form_card"&&x.status==="open"&&f.push(jt(x.requestId).catch(()=>{}));await Promise.all(f),(c=D.current)==null||c.abort(),w(S=>S.map(x=>x.role!=="assistant"||!x.blocks?x:{...x,blocks:x.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)})),O(!1),Ae(!1),b()}const pe=o.useRef(me);pe.current=me,o.useImperativeHandle(a,()=>({requestClose:()=>pe.current()}),[]),o.useEffect(()=>{if(!l){O(!1);return}const t=f=>{if(f.key==="Escape"){if(oe){L||O(!1);return}if(T){$(!1);return}pe.current()}};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[l,T,oe,L]);async function fe(t){var h;const f=t.trim();if(!f||v)return;if(!(p!=null&&p.enabled)){B((p==null?void 0:p.reason)==="missing_api_key"?"请先配置 API Key":(p==null?void 0:p.reason)==="skills_missing"?"手册 skills 未就绪,请确认已构建 agent-skills":"助手暂不可用");return}(h=D.current)==null||h.abort();const c=new AbortController;D.current=c;const S={id:Ee("u"),role:"user",content:f,skillNames:K.length>0?[...K]:void 0},x=Ee("a");X.current=!0,w(R=>[...R,S,{id:x,role:"assistant",content:""}]),Z(""),J(!0),B(null),$(!1),requestAnimationFrame(()=>{te(),requestAnimationFrame(te)});try{let R=!1;await yt(f,{skillNames:K.length>0?K:void 0,references:{domainId:(C==null?void 0:C.trim())||void 0,documentId:!de&&Me?E.trim():void 0,graphFileId:de?m.trim():void 0},signal:c.signal,onEvent:i=>{i.type==="text_delta"?(w(k=>k.map(r=>{if(r.id!==x)return r;const d=Zt(r.blocks??[],i.text);return{...r,blocks:d,content:je(d)}})),requestAnimationFrame(()=>q())):i.type==="thinking_delta"?(w(k=>k.map(r=>{if(r.id!==x)return r;const d=Jt(r.blocks??[],i.text);return{...r,blocks:d}})),requestAnimationFrame(()=>q())):i.type==="sources"?(w(k=>k.map(r=>{if(r.id!==x)return r;const d=(r.blocks??[]).slice(),ge=d[d.length-1];return(ge==null?void 0:ge.type)==="sources"?d[d.length-1]={type:"sources",items:i.items}:d.push({type:"sources",items:i.items}),{...r,blocks:d}})),requestAnimationFrame(()=>q())):i.type==="document_table"?(w(k=>k.map(r=>{if(r.id!==x)return r;const d=[...r.blocks??[],{type:"document_table",title:i.title,rows:i.rows}];return{...r,blocks:d}})),requestAnimationFrame(()=>q())):i.type==="document_card"?(w(k=>k.map(r=>{if(r.id!==x)return r;const d=[...r.blocks??[],{type:"document_card",documentId:i.documentId,title:i.title,path:i.path,preview:i.preview}];return{...r,blocks:d}})),requestAnimationFrame(()=>q())):i.type==="tool_notice"?(w(k=>k.map(r=>{if(r.id!==x)return r;const d=[...r.blocks??[],{type:"tool_notice",toolName:i.toolName,text:i.text}];return{...r,blocks:d}})),requestAnimationFrame(()=>q())):i.type==="choice_card"?(w(k=>k.map(r=>{if(r.id!==x)return r;const d=[...r.blocks??[],{type:"choice_card",requestId:i.requestId,title:i.title,options:i.options,expiresAt:i.expiresAt,status:"open"}];return{...r,blocks:d}})),requestAnimationFrame(()=>q())):i.type==="choice_expired"?w(k=>k.map(r=>r.id!==x||!r.blocks?r:{...r,blocks:r.blocks.map(d=>d.type==="choice_card"&&d.requestId===i.requestId&&d.status==="open"?{...d,status:"expired"}:d)})):i.type==="skill_form_card"?(w(k=>k.map(r=>{if(r.id!==x)return r;const d=[...r.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{...r,blocks:d}})),requestAnimationFrame(()=>q())):i.type==="skill_form_expired"?w(k=>k.map(r=>r.id!==x||!r.blocks?r:{...r,blocks:r.blocks.map(d=>d.type==="skill_form_card"&&d.requestId===i.requestId&&d.status==="open"?{...d,status:"expired"}:d)})):i.type==="tree_changed"?j==null||j():i.type==="document_overwritten"?M==null||M({documentId:i.documentId,headCommitId:i.headCommitId}):i.type==="open_coding"?P==null||P({documentId:i.documentId,displayName:i.displayName}):i.type==="context_usage"?_e({percent:i.percent,used:i.used,limit:i.limit}):i.type==="error"&&(R=!0,B(i.message))}}),!c.signal.aborted&&!R&&we([])}catch(R){if(c.signal.aborted)return;B(R instanceof Error?R.message:String(R))}finally{D.current===c&&(D.current=null),J(!1)}}async function ot(){var t;if(!v){(t=D.current)==null||t.abort(),B(null),$(!1),J(!1);try{const f=await gt();G(f.sessionId),w([]),Z(""),X.current=!0,ue()}catch(f){B(f instanceof Error?f.message:String(f))}}}async function ct(t){var f;if(!v){if(t===re){$(!1);return}(f=D.current)==null||f.abort(),B(null);try{const c=await xt(t);G(c.sessionId),w(We(c.sessionId,c.messages)),Z(""),$(!1),X.current=!0,requestAnimationFrame(()=>q()),ue()}catch(c){B(c instanceof Error?c.message:String(c))}}}function De(t){!t||!H||H(t)}if(!l)return null;const he=(p==null?void 0:p.reason)==="missing_api_key",qe=Ve??(p&&!p.enabled&&!he?p.reason==="skills_missing"?"skills 未就绪":"助手暂不可用":null);return e.jsxs("div",{ref:Qe,className:"mdocs-agent-panel"+(y?" mdocs-agent-panel--fullscreen":""),role:"dialog","aria-label":"mdocs 智能助手","aria-modal":y?!0:void 0,style:y?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:Pe,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:v,onClick:()=>void ot(),children:e.jsx(St,{size:16,strokeWidth:1.8})}),e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn"+(T?" active":""),title:"历史会话","aria-label":"历史会话",onClick:()=>$(t=>!t),children:e.jsx(bt,{size:16,strokeWidth:1.8})}),A?e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:y?"退出全屏":"全屏","aria-label":y?"退出全屏":"全屏",onClick:A,children:y?e.jsx(Et,{size:16,strokeWidth:1.8}):e.jsx(Mt,{size:16,strokeWidth:1.8})}):null,e.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"关闭","aria-label":"关闭",onClick:me,children:e.jsx(ne,{size:16,strokeWidth:1.8})})]})]}),T?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:()=>$(!1),children:"返回对话"})]}),Je?e.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"加载中…"}):be.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:be.map(t=>e.jsx("li",{children:e.jsxs("button",{type:"button",className:"mdocs-agent-panel-history-item"+(t.id===re?" active":""),disabled:v,onClick:()=>void ct(t.id),children:[e.jsx("span",{className:"mdocs-agent-panel-history-title",children:t.title}),e.jsx("span",{className:"mdocs-agent-panel-history-time",children:es(t.updatedAt)})]})},t.id))})]}):e.jsxs("div",{className:"mdocs-agent-panel-body",children:[e.jsxs("div",{className:"mdocs-agent-panel-scroll-wrap",children:[e.jsx("div",{className:"mdocs-agent-panel-welcome",ref:ee,onScroll:nt,children:z.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:"我能答疑、搜文档、整理结构,也能帮你写全文;需要精细改稿请点文档顶栏「帮写」。"}),he?e.jsx(Be,{onConfigured:ze}):qe?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:qe}):e.jsx("div",{className:"mdocs-agent-panel-chips",children:Vt.map(t=>e.jsx("button",{type:"button",className:"mdocs-agent-panel-chip",onClick:()=>void fe(t),disabled:v||!(p!=null&&p.enabled),children:t},t))})]}):e.jsx("div",{className:"mdocs-agent-panel-messages",children:z.map(t=>{var f;return e.jsxs("div",{className:"mdocs-agent-panel-msg"+(t.role==="user"?" mdocs-agent-panel-msg-user":" mdocs-agent-panel-msg-assistant"),children:[t.role==="assistant"?e.jsx("div",{className:"mdocs-agent-panel-avatar mdocs-agent-panel-avatar-ai","aria-hidden":!0,children:e.jsx("img",{src:Pe,alt:""})}):null,e.jsxs("div",{className:"mdocs-agent-panel-msg-bubble",children:[t.role==="user"&&t.skillNames&&t.skillNames.length>0?e.jsxs("div",{className:"mdocs-agent-msg-skills",children:["Skill ×",t.skillNames.length]}):null,t.role==="assistant"?t.blocks&&t.blocks.length>0?e.jsxs("div",{className:"mdocs-agent-panel-timeline",children:[t.blocks.map((c,S)=>{var x;if(c.type==="thinking"){if(!c.text)return null;const h=v&&t.id===((x=z[z.length-1])==null?void 0:x.id),R=!!je(t.blocks)||(t.blocks??[]).some(i=>i.type==="document_table"||i.type==="document_card"||i.type==="choice_card"||i.type==="tool_notice");return e.jsxs("details",{className:"mdocs-agent-panel-think-fold",open:h||!R,children:[e.jsx("summary",{children:h?"思考中...":"思考过程"}),e.jsx("pre",{className:"mdocs-agent-panel-think-body",children:c.text})]},`${t.id}-th-${S}`)}return c.type==="text"?c.text?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(Oe,{children:c.text})},`${t.id}-t-${S}`):null:c.type==="sources"?c.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:["已阅读 ",c.items.length," 个页面"]}),e.jsx("ol",{className:"mdocs-agent-panel-sources-list",children:c.items.map(h=>e.jsx("li",{children:e.jsx("a",{href:h.url,target:"_blank",rel:"noreferrer",children:h.name})},h.id))})]})},`${t.id}-s-${S}`):c.type==="tool_notice"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx("p",{className:"mdocs-agent-panel-tool-notice",children:c.text})},`${t.id}-n-${S}`):c.type==="choice_card"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(ts,{block:c,onResolved:(h,R,i)=>{w(k=>k.map(r=>r.id!==t.id||!r.blocks?r:{...r,blocks:r.blocks.map(d=>d.type==="choice_card"&&d.requestId===h?{...d,status:i,selected:i==="selected"?R:d.selected}:d)}))}})},`${t.id}-ch-${S}`):c.type==="skill_form_card"?e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsx(vt,{block:c,onResolved:(h,R,i)=>{w(k=>k.map(r=>r.id!==t.id||!r.blocks?r:{...r,blocks:r.blocks.map(d=>d.type==="skill_form_card"&&d.requestId===h?{...d,status:R,submittedName:R==="submitted"?i:d.submittedName}:d)}))}})},`${t.id}-sf-${S}`):c.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(),De(c.documentId)},children:["《",c.title,"》"]}),e.jsx("span",{className:"mdocs-agent-panel-tool-fold-hint",children:"文档预览"})]}),e.jsxs("div",{className:"mdocs-agent-panel-doc-card-body",children:[c.path?e.jsx("p",{className:"mdocs-agent-panel-doc-card-path",children:c.path}):null,c.preview?e.jsx("p",{className:"mdocs-agent-panel-doc-card-preview",children:c.preview}):e.jsx("p",{className:"mdocs-agent-panel-doc-card-preview muted",children:"(无正文预览)"})]})]})},`${t.id}-c-${S}`):e.jsx("div",{className:"mdocs-agent-panel-block",children:e.jsxs("details",{className:"mdocs-agent-panel-tool-fold",children:[e.jsxs("summary",{children:[c.title,e.jsx("span",{className:"mdocs-agent-panel-tool-fold-hint",children:c.rows.length===0?"无结果":`${c.rows.length} 条`})]}),e.jsx("div",{className:"mdocs-agent-panel-doc-table-wrap",children:c.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:c.rows.map(h=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx("button",{type:"button",className:"mdocs-agent-panel-doc-link",onClick:()=>De(h.documentId),children:h.title})}),e.jsx("td",{children:h.summary||"-"})]},h.documentId))})]})})]})},`${t.id}-d-${S}`)}),v&&t.id===((f=z[z.length-1])==null?void 0:f.id)&&!je(t.blocks)&&!Qt(t.blocks)?e.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}):null]}):t.content?e.jsx(Oe,{children:t.content}):v?e.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}):null:t.content]}),t.role==="user"?e.jsx("div",{className:"mdocs-agent-panel-avatar mdocs-agent-panel-avatar-user","aria-hidden":!0,children:F}):null]},t.id)})})}),et?e.jsxs("button",{type:"button",className:"mdocs-chat-jump-bottom",onClick:at,title:"回到底部","aria-label":"回到底部",children:[e.jsx(wt,{size:14,strokeWidth:2,"aria-hidden":!0}),e.jsx("span",{children:"置底"})]}):null]}),Se?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:Se}):null,he&&z.length>0?e.jsx(Be,{onConfigured:ze}):null,e.jsx(Ct,{selectedNames:K,onChange:we,disabled:v||!(p!=null&&p.enabled)}),e.jsxs("div",{className:"mdocs-agent-panel-input-wrap",children:[de?e.jsxs("div",{className:"mdocs-agent-doc-ref mdocs-agent-graph-ref",children:[e.jsx(Xe,{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:st}),e.jsx("span",{className:"mdocs-agent-doc-ref-path",children:"图谱(只读)"})]}),e.jsx("button",{type:"button",className:"mdocs-agent-doc-ref-unlink",title:"取消引用","aria-label":"取消引用当前图谱",disabled:v,onClick:()=>ie(!0),children:e.jsx(ne,{size:14,strokeWidth:2,"aria-hidden":!0})})]}):Me?e.jsxs("div",{className:"mdocs-agent-doc-ref",children:[e.jsx(pt,{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:tt}),Re?e.jsx("span",{className:"mdocs-agent-doc-ref-path",children:Re}):null]}),e.jsx("button",{type:"button",className:"mdocs-agent-doc-ref-unlink",title:"取消引用","aria-label":"取消引用当前文档",disabled:v,onClick:()=>ie(!0),children:e.jsx(ne,{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:p!=null&&p.enabled?"把你的问题告诉我…":"请先配置 API Key",value:V,disabled:v||!(p!=null&&p.enabled),onChange:t=>Z(t.target.value),onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),fe(V))}}),Q?e.jsx(ss,{percent:Q.percent,used:Q.used,limit:Q.limit}):null,e.jsx("button",{type:"button",className:v?"mdocs-agent-panel-send mdocs-agent-panel-send-stop":"mdocs-agent-panel-send",disabled:v?!1:!(p!=null&&p.enabled)||!V.trim(),onClick:()=>{var t;if(v){(t=D.current)==null||t.abort();return}fe(V)},title:v?"停止":"发送","aria-label":v?"停止":"发送",children:v?"■":"↑"})]})]}),e.jsx("p",{className:"mdocs-agent-panel-footnote",children:"内容由 AI 生成,仅供参考"})]}),oe?e.jsx("div",{className:"mdocs-agent-close-confirm-backdrop",role:"presentation",onClick:()=>{L||O(!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:t=>t.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:L,onClick:()=>O(!1),children:"继续等待"}),e.jsx("button",{type:"button",disabled:L,onClick:()=>void it(),children:L?"关闭中…":"强制关闭并退出"})]})]})}):null]})});export{ps as AgentChatPanel};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{o as E,av as L,b1 as D,aZ as _,b2 as F}from"./index-CINfyH_g.js";import{r as a,j as e}from"./react-vendor-BVS1XoFi.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 $=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],X=E("arrow-down",$);/**
|
|
7
|
-
* @license lucide-react v0.562.0 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const B=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Z=E("history",B),j=5;function K(i){const t=a.useRef(!0),r=a.useRef(null),[d,k]=a.useState([]),[u,p]=a.useState(!1),[h,v]=a.useState(null);a.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),a.useEffect(()=>{(async()=>{try{const s=await L();if(!t.current)return;k(s)}catch(s){if(!t.current)return;v(s instanceof Error?s.message:String(s))}})()},[]),a.useEffect(()=>{if(!u)return;function s(o){const g=r.current;!g||g.contains(o.target)||p(!1)}function n(o){o.key==="Escape"&&p(!1)}return document.addEventListener("mousedown",s),document.addEventListener("keydown",n),()=>{document.removeEventListener("mousedown",s),document.removeEventListener("keydown",n)}},[u]);const c=d.filter(s=>i.selectedNames.includes(s.name));function f(s){if(i.disabled)return;const n=new Set(i.selectedNames);if(n.has(s))n.delete(s);else{if(n.size>=j)return;n.add(s)}i.onChange([...n])}return d.length===0&&!h?null:e.jsxs("div",{className:"mdocs-agent-skill-ref",ref:r,children:[e.jsxs("div",{className:"mdocs-agent-skill-ref-bar",children:[e.jsxs("div",{className:"mdocs-agent-skill-ref-anchor",children:[u&&d.length>0?e.jsxs("div",{className:"mdocs-agent-skill-popover",role:"listbox","aria-label":"选择 Skill",children:[e.jsxs("div",{className:"mdocs-agent-skill-popover-hint",children:["选择要引用的 Skill(最多 ",j," 个)"]}),e.jsx("ul",{className:"mdocs-agent-skill-popover-list",children:d.map(s=>{const n=i.selectedNames.includes(s.name),o=!n&&i.selectedNames.length>=j;return e.jsx("li",{children:e.jsxs("button",{type:"button",role:"option","aria-selected":n,className:"mdocs-agent-skill-popover-item"+(n?" mdocs-agent-skill-popover-item-on":""),disabled:i.disabled||o,onClick:()=>f(s.name),children:[e.jsx("span",{className:"mdocs-agent-skill-popover-check","aria-hidden":!0,children:n?"✓":""}),e.jsxs("span",{className:"mdocs-agent-skill-popover-text",children:[e.jsx("span",{className:"mdocs-agent-skill-popover-name",children:s.name}),s.description?e.jsx("span",{className:"mdocs-agent-skill-popover-desc",children:s.description}):e.jsx("span",{className:"mdocs-agent-skill-popover-desc mdocs-agent-skill-popover-desc-muted",children:"无简介"})]})]})},s.id)})})]}):null,e.jsxs("button",{type:"button",className:"mdocs-agent-skill-ref-toggle"+(u?" mdocs-agent-skill-ref-toggle-open":""),disabled:i.disabled||d.length===0,onClick:()=>p(s=>!s),"aria-expanded":u,"aria-haspopup":"listbox",title:"引用 Skill",children:["Skill",c.length>0?` · ${c.length}`:""]})]}),c.map(s=>e.jsxs("button",{type:"button",className:"mdocs-agent-skill-chip mdocs-agent-skill-chip-on",disabled:i.disabled,onClick:()=>f(s.name),title:"移除引用",children:[s.name,e.jsx("span",{"aria-hidden":!0,children:" ×"})]},s.name))]}),h?e.jsx("p",{className:"mdocs-agent-panel-status-warn",children:h}):null]})}const z=/^[A-Za-z0-9_]+$/;function P(i){const{block:t,onResolved:r}=i,[d,k]=a.useState(t.initialName),[u,p]=a.useState(t.initialDescription),[h,v]=a.useState(t.initialBody),[c,f]=a.useState(!1),[s,n]=a.useState(null),[o,g]=a.useState(1),x=a.useRef(!1),N=a.useRef(r);N.current=r;const m=t.status==="open",b=a.useRef(0);a.useEffect(()=>{if(!m)return;x.current=!1;const l=new Date(t.expiresAt).getTime(),C=Date.now(),y=Math.max(l-C,1);b.current=y,g(1);const S=()=>{const w=l-Date.now(),q=Math.max(0,Math.min(1,w/y));g(q),w<=0&&!x.current&&(x.current=!0,D(t.requestId).catch(()=>{}).finally(()=>{N.current(t.requestId,"expired")}))};S();const I=window.setInterval(S,100);return()=>window.clearInterval(I)},[m,t.expiresAt,t.requestId]);async function R(){if(c||!m)return;const l=d.trim();if(!l){n("名称不能为空");return}if(!z.test(l)){n("名称仅允许英文、数字、下划线");return}if(!h.trim()){n("正文不能为空");return}f(!0),n(null);try{await F(t.requestId,{name:l,description:u.trim(),body:h}),r(t.requestId,"submitted",l)}catch{r(t.requestId,"failed")}finally{f(!1)}}async function A(){if(!(c||!m)){f(!0),n(null),x.current=!0;try{await _(t.requestId),r(t.requestId,"cancelled")}catch{r(t.requestId,"failed")}finally{f(!1)}}}const M=Math.max(0,Math.ceil(o*b.current/1e3));return e.jsxs("div",{className:"mdocs-agent-choice-card mdocs-agent-skill-form-card"+(m?"":" mdocs-agent-choice-card-done"),children:[e.jsxs("div",{className:"mdocs-agent-choice-head",children:[e.jsx("p",{className:"mdocs-agent-choice-title",children:t.title}),m?e.jsxs("span",{className:"mdocs-agent-choice-timer","aria-live":"polite",children:[M,"s"]}):null]}),m?e.jsx("div",{className:"mdocs-agent-choice-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(o*100),children:e.jsx("div",{className:"mdocs-agent-choice-progress-bar",style:{transform:`scaleX(${o})`}})}):null,t.status==="submitted"?e.jsxs("p",{className:"mdocs-agent-choice-result",children:["已提交",t.submittedName?`:${t.submittedName}`:""]}):null,t.status==="cancelled"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已取消"}):null,t.status==="expired"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已超时,表单已失效"}):null,t.status==="failed"?e.jsx("p",{className:"mdocs-agent-choice-result muted",children:"提交失败或已失效"}):null,m?e.jsxs("div",{className:"mdocs-agent-skill-form-fields",children:[e.jsxs("label",{className:"mdocs-agent-skill-form-field",children:[e.jsx("span",{children:"名称(英文数字下划线)"}),e.jsx("input",{type:"text",value:d,onChange:l=>k(l.target.value),maxLength:64,disabled:c,autoComplete:"off",spellCheck:!1})]}),e.jsxs("label",{className:"mdocs-agent-skill-form-field",children:[e.jsx("span",{children:"简介"}),e.jsx("input",{type:"text",value:u,onChange:l=>p(l.target.value),maxLength:200,disabled:c})]}),e.jsxs("label",{className:"mdocs-agent-skill-form-field",children:[e.jsx("span",{children:"正文"}),e.jsx("textarea",{value:h,onChange:l=>v(l.target.value),rows:8,disabled:c})]}),s?e.jsx("p",{className:"mdocs-agent-skill-form-error",children:s}):null,e.jsxs("div",{className:"mdocs-agent-skill-form-actions",children:[e.jsx("button",{type:"button",className:"mdocs-agent-skill-form-cancel",disabled:c,onClick:()=>void A(),children:"取消"}),e.jsx("button",{type:"button",disabled:c,onClick:()=>void R(),children:c?"提交中…":t.mode==="create"?"创建":"保存"})]})]}):null]})}export{X as A,Z as H,P as S,K as a};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{r as c,j as t}from"./react-vendor-BVS1XoFi.js";import{a_ as Me,a$ as Ae,aY as Le,aP as ue,aQ as Te,Z as $e,aR as me,ar as Re,aU as Ee,b0 as _e,aV as Pe,aW as qe,aX as De}from"./index-CINfyH_g.js";import{H as He,S as Be,A as Fe,a as Ke}from"./AgentSkillFormCard-3ZpgH1RY.js";import{P as Oe}from"./plus-BxZJ-Mya.js";import{ar as We,ah as ze}from"./ui-CEFkTVnG.js";import"./diagram-BF8g9yg4.js";import"./motion-BAXVQJfN.js";function Je(e){const{block:n,onResolved:i}=e,[a,x]=c.useState(""),[h,d]=c.useState(!1),[y,p]=c.useState(1),f=c.useRef(!1),N=c.useRef(i);N.current=i;const u=n.status==="open",_=c.useRef(0);c.useEffect(()=>{if(!u)return;f.current=!1;const g=new Date(n.expiresAt).getTime(),b=Date.now(),D=Math.max(g-b,1);_.current=D,p(1);const R=()=>{const K=g-Date.now(),L=Math.max(0,Math.min(1,K/D));p(L),K<=0&&!f.current&&(f.current=!0,Me(n.requestId).catch(()=>{}).finally(()=>{N.current(n.requestId,"","expired")}))};R();const F=window.setInterval(R,100);return()=>window.clearInterval(F)},[u,n.expiresAt,n.requestId]);async function w(g){const b=g.trim();if(!(!b||h||!u)){d(!0);try{await Ae(n.requestId,b),i(n.requestId,b,"selected")}catch{i(n.requestId,b,"failed")}finally{d(!1)}}}async function $(){if(!(h||!u)){d(!0),f.current=!0;try{await Le(n.requestId),i(n.requestId,"","cancelled")}catch{i(n.requestId,"","failed")}finally{d(!1)}}}const B=Math.max(0,Math.ceil(y*_.current/1e3));return t.jsxs("div",{className:"mdocs-agent-choice-card"+(u?"":" mdocs-agent-choice-card-done"),children:[t.jsxs("div",{className:"mdocs-agent-choice-head",children:[t.jsx("p",{className:"mdocs-agent-choice-title",children:n.title}),u?t.jsxs("span",{className:"mdocs-agent-choice-timer","aria-live":"polite",children:[B,"s"]}):null]}),u?t.jsx("div",{className:"mdocs-agent-choice-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(y*100),children:t.jsx("div",{className:"mdocs-agent-choice-progress-bar",style:{transform:`scaleX(${y})`}})}):null,n.status==="selected"&&n.selected?t.jsxs("p",{className:"mdocs-agent-choice-result",children:["已选择:",n.selected]}):null,n.status==="cancelled"?t.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已取消"}):null,n.status==="expired"?t.jsx("p",{className:"mdocs-agent-choice-result muted",children:"已超时,选择已失效"}):null,n.status==="failed"?t.jsx("p",{className:"mdocs-agent-choice-result muted",children:"提交失败或已失效"}):null,u?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"mdocs-agent-choice-options",children:n.options.map(g=>t.jsx("button",{type:"button",className:"mdocs-agent-choice-option",disabled:h,onClick:()=>void w(g),children:g},g))}),t.jsxs("div",{className:"mdocs-agent-choice-custom",children:[t.jsx("input",{value:a,disabled:h,placeholder:"或输入自己的内容…",onChange:g=>x(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),w(a))}}),t.jsx("button",{type:"button",disabled:h||!a.trim(),onClick:()=>void w(a),children:"提交"})]}),t.jsx("div",{className:"mdocs-agent-choice-footer",children:t.jsx("button",{type:"button",className:"mdocs-agent-choice-cancel",disabled:h,onClick:()=>void $(),children:"取消"})})]}):null]})}function se(e){return e===""?[]:e.split(`
|
|
2
|
-
`)}function Ue(e){return e.join(`
|
|
3
|
-
`)}function ie(e,n){const i=se(e),a=se(n),x=i.length,h=a.length,d=Array.from({length:x+1},()=>Array.from({length:h+1},()=>0));for(let w=x-1;w>=0;w--)for(let $=h-1;$>=0;$--)i[w]===a[$]?d[w][$]=d[w+1][$+1]+1:d[w][$]=Math.max(d[w+1][$],d[w][$+1]);const y=[];let p=0,f=0;for(;p<x||f<h;)if(p<x&&f<h&&i[p]===a[f])y.push({kind:"eq",oi:p,ni:f}),p++,f++;else if(f<h&&(p===x||d[p][f+1]>=d[p+1][f]))y.push({kind:"ins",oi:p,ni:f}),f++;else if(p<x)y.push({kind:"del",oi:p,ni:f}),p++;else break;const N=[];let u=0,_=0;for(;u<y.length;){if(y[u].kind==="eq"){u++;continue}const w=y[u].oi,$=y[u].ni,B=[],g=[];let b=w,D=$;for(;u<y.length&&y[u].kind!=="eq";){const R=y[u];R.kind==="del"?(B.push(i[R.oi]),b=R.oi+1):(g.push(a[R.ni]),D=R.ni+1),u++}N.push({id:`h${_++}`,oldStart:w,oldEnd:b,newStart:$,newEnd:D,oldLines:B,newLines:g})}return N}function Ve(e,n){const i=se(e);return Ue([...i.slice(0,n.oldStart),...n.newLines,...i.slice(n.oldEnd)])}function pe(e){const n=[];for(const i of e){const a=n[n.length-1];i.kind==="same"&&(a==null?void 0:a.kind)==="same"?n[n.length-1]={kind:"same",lines:[...a.lines,...i.lines],key:a.key}:n.push(i)}return n}function ye(e){let n=0;return e.map(i=>{if(i.kind!=="hunk")return i;const a={...i,hunkIndex:n,key:`h-${i.hunk.id}-${n}`};return n+=1,a})}function Ye(e,n){const i=e.map(a=>a.kind!=="hunk"||a.hunk.id!==n?a:{kind:"same",lines:a.hunk.oldLines.slice(),key:`s-rej-${a.hunk.id}`});return ye(pe(i))}function Ge(e,n,i){let a=0,x=!1;const h=[];for(const d of e){if(d.kind==="same"){h.push(d);continue}if(d.hunk.id===n){x=!0,a=i.length-d.hunk.oldLines.length,h.push({kind:"same",lines:i.slice(),key:`s-acc-${d.hunk.id}`});continue}if(!x||a===0){h.push(d);continue}h.push({...d,hunk:{...d.hunk,oldStart:d.hunk.oldStart+a,oldEnd:d.hunk.oldEnd+a}})}return ye(pe(h))}function X(e){return e===""?[]:e.split(`
|
|
4
|
-
`)}function U(e){return e.join(`
|
|
5
|
-
`)}function Xe(e,n){const i=X(e),a=[];let x=0;return n.forEach((h,d)=>{h.oldStart>x&&a.push({kind:"same",lines:i.slice(x,h.oldStart),key:`s-${x}-${h.oldStart}`}),a.push({kind:"hunk",hunk:h,hunkIndex:d,key:`h-${h.id}-${d}`}),x=h.oldEnd}),x<i.length?a.push({kind:"same",lines:i.slice(x),key:`s-${x}-end`}):n.length===0&&i.length===0&&a.push({kind:"same",lines:[],key:"s-empty"}),a}function ne(e){const n=[],i=[];for(const a of e)a.kind==="same"?n.push(U(a.lines)):i.push(U(a.hunk.newLines));return{sameTexts:n,newTexts:i}}function he(e,n){const i=[];let a=0,x=0;for(const h of e)if(h.kind==="same"){const d=n.sameTexts[a++]??"";i.push(...X(d))}else{const d=n.newTexts[x++]??"";i.push(...X(d))}return U(i)}function Qe(e){return e.oldLines.length===0?"add":e.newLines.length===0?"del":"mod"}function fe(e){const n=Math.max(1,X(e.value).length);return t.jsxs("div",{className:`mdocs-ai-write-line ${e.className}`,children:[t.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),t.jsx("textarea",{className:"mdocs-ai-write-inline-edit",value:e.value,rows:n,spellCheck:!1,"aria-label":e["aria-label"],onChange:i=>e.onChange(i.target.value),onBlur:()=>e.onBlurFlush()})]})}function Ze(e){const n=!!e.sending,[i,a]=c.useState(0),[x,h]=c.useState(null),[d,y]=c.useState({sameTexts:[],newTexts:[]}),[p,f]=c.useState([]),N=c.useRef(!1),u=c.useRef(!1),_=c.useRef([]),w=c.useRef(d);w.current=d,_.current=p;const $=c.useMemo(()=>e.proposedMd==null||e.proposedMd===e.currentMd?[]:ie(e.currentMd,e.proposedMd),[e.currentMd,e.proposedMd]),B=!n&&(p.length>0?p.some(l=>l.kind==="hunk"):$.length>0);c.useEffect(()=>{if(n){f([]),N.current=!1,u.current=!1;return}if(e.proposedMd==null||e.proposedMd===e.currentMd){f([]),N.current=!1,u.current=!1;return}if(u.current){u.current=!1;return}const l=ie(e.currentMd,e.proposedMd);if(l.length===0){f([]);return}const k=Xe(e.currentMd,l);f(k),N.current=!1,y(ne(k))},[n,e.proposedMd,e.currentMd]);const g=c.useMemo(()=>p.filter(l=>l.kind==="hunk").map(l=>l.hunk),[p]);c.useEffect(()=>{if(g.length===0){a(0);return}a(l=>Math.min(l,g.length-1))},[g.length]);const b=x??i;function D(){return he(_.current,w.current)}function R(){if(!B||_.current.length===0)return e.proposedMd;const l=D();return N.current=!1,l===e.currentMd?(u.current=!1,e.onProposedChange(null),null):(l!==e.proposedMd&&(u.current=!0,e.onProposedChange(l)),l)}function F(l){const k=_.current.find(W=>W.kind==="hunk"&&W.hunk.id===l.id);if(!k)return;const v=w.current.newTexts[k.hunkIndex],C=v!=null?X(v):l.newLines.slice(),A={...l,newLines:C},I=D();if(N.current=!1,I===e.currentMd){u.current=!1,f([]),e.onProposedChange(null);return}const E=Ve(e.currentMd,A),O=Ge(_.current,l.id,C),G=O.some(W=>W.kind==="hunk");u.current=!0,f(O),y(ne(O)),e.onCurrentChange(E),!G||I===E?(u.current=!1,e.onProposedChange(null)):e.onProposedChange(I)}function K(l){const k=_.current.find(E=>E.kind==="hunk"&&E.hunk.id===l.id);if(!k)return;const v={sameTexts:w.current.sameTexts.slice(),newTexts:w.current.newTexts.slice()};v.newTexts[k.hunkIndex]=U(l.oldLines);const C=he(_.current,v),A=Ye(_.current,l.id),I=A.some(E=>E.kind==="hunk");N.current=!1,u.current=!0,f(A),y(ne(A)),!I||C===e.currentMd?(u.current=!1,e.onProposedChange(null)):e.onProposedChange(C)}function L(){const l=D();N.current=!1,u.current=!1,e.onCurrentChange(l),e.onProposedChange(null)}function V(){N.current=!1,u.current=!1,e.onProposedChange(null)}function S(l){g.length!==0&&a(k=>{const v=(k+l+g.length)%g.length,C=document.getElementById(`mdocs-ai-hunk-${v}`);return C==null||C.scrollIntoView({block:"center",behavior:"smooth"}),v})}function J(l,k){N.current=!0,y(v=>{const C=v.sameTexts.slice();return C[l]=k,{...v,sameTexts:C}})}function Q(l,k){N.current=!0,y(v=>{const C=v.newTexts.slice();return C[l]=k,{...v,newTexts:C}})}const P=g[b]??null;let Y=0;return t.jsxs("div",{className:"mdocs-ai-write-md-pane",children:[t.jsxs("div",{className:"mdocs-ai-write-diff-toolbar",children:[t.jsx("span",{className:"mdocs-ai-write-diff-count",children:n?"接收中·编辑我的稿":g.length===0?e.proposedMd?"与提案一致(可编辑)":"Markdown 源码(可编辑)":`${g.length} 处变更(可改提案)`}),!n&&g.length>0?t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",className:"mdocs-ai-write-diff-accept-all",onClick:L,children:"全部接受"}),t.jsx("button",{type:"button",className:"mdocs-ai-write-diff-reject-all",onClick:V,children:"全部拒绝"})]}):null]}),B&&p.length>0?t.jsxs("div",{className:"mdocs-ai-write-inline",role:"document",children:[p.map(l=>{if(l.kind==="same"){const I=Y++,E=d.sameTexts[I]??U(l.lines);return t.jsx("div",{className:"mdocs-ai-write-inline-same",children:t.jsx(fe,{className:"ctx",value:E,"aria-label":"提案相同行",onChange:O=>J(I,O),onBlurFlush:()=>R()})},l.key)}const k=l.hunk,v=Qe(k),C=l.hunkIndex===b,A=d.newTexts[l.hunkIndex]??U(k.newLines);return t.jsxs("div",{id:`mdocs-ai-hunk-${l.hunkIndex}`,className:`mdocs-ai-write-inline-hunk mdocs-ai-write-inline-hunk-${v}`+(C?" is-active":""),onMouseEnter:()=>h(l.hunkIndex),onMouseLeave:()=>h(null),onClick:()=>a(l.hunkIndex),children:[t.jsxs("div",{className:"mdocs-ai-write-hunk-hover",hidden:x!==l.hunkIndex,children:[t.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:I=>{I.stopPropagation(),K(k)},children:"拒绝"}),t.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:I=>{I.stopPropagation(),F(k)},children:"接受"})]}),t.jsx("pre",{className:"mdocs-ai-write-hunk-pre",children:k.oldLines.map((I,E)=>t.jsxs("div",{className:"mdocs-ai-write-line del mdocs-ai-write-line-readonly",children:[t.jsx("span",{className:"mdocs-ai-write-rail","aria-hidden":!0}),t.jsx("span",{className:"mdocs-ai-write-code",children:I||" "})]},`o${E}`))}),k.newLines.length>0||A!==""||v!=="del"?t.jsx(fe,{className:"add",value:A,"aria-label":"提案新增行",onChange:I=>Q(l.hunkIndex,I),onBlurFlush:()=>R()}):null]},l.key)}),P?t.jsxs("div",{className:"mdocs-ai-write-float-nav",role:"toolbar","aria-label":"变更导航",children:[t.jsx("button",{type:"button","aria-label":"上一段",onClick:()=>S(-1),children:"↑"}),t.jsxs("span",{children:[b+1," / ",g.length]}),t.jsx("button",{type:"button","aria-label":"下一段",onClick:()=>S(1),children:"↓"}),t.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-reject",onClick:()=>K(P),children:"拒绝"}),t.jsx("button",{type:"button",className:"mdocs-ai-write-hunk-accept",onClick:()=>F(P),children:"接受"})]}):null]}):t.jsx("textarea",{className:"mdocs-ai-write-editor",value:e.currentMd,onChange:l=>e.onCurrentChange(l.target.value),spellCheck:!1,placeholder:`# 标题
|
|
6
|
-
|
|
7
|
-
在此编辑 Markdown 源码…`})]})}let ge=0;function xe(e){return ge+=1,`${e}-${Date.now()}-${ge}`}function et(e,n){const i=e.slice(),a=i[i.length-1];return(a==null?void 0:a.type)==="text"?i[i.length-1]={type:"text",text:a.text+n}:i.push({type:"text",text:n}),i}function tt(e,n){const i=e.slice(),a=i[i.length-1];return(a==null?void 0:a.type)==="thinking"?i[i.length-1]={type:"thinking",text:a.text+n}:i.push({type:"thinking",text:n}),i}function te(e,n){const i=n.trim();return i?[...e,{type:"tool",text:i}]:e}function nt(e){return e.some(n=>n.type==="text"||n.type==="thinking"?n.text.length>0:!0)}function st(e){const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const i=new Date;return n.getFullYear()===i.getFullYear()&&n.getMonth()===i.getMonth()&&n.getDate()===i.getDate()?n.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):n.toLocaleDateString(void 0,{month:"2-digit",day:"2-digit"})}function ke(e,n){return n.map((i,a)=>{const x=`h-${e}-${a}-${i.role}`;if(i.role==="user"){const h=i.skillNames&&i.skillNames.length>0?i.skillNames:i.skillIds&&i.skillIds.length>0?i.skillIds:void 0;return{id:x,role:"user",content:i.content,skillNames:h}}return{id:x,role:"assistant",blocks:i.content?[{type:"text",text:i.content}]:[]}})}function ut(e){const[n,i]=c.useState(e.initialMarkdown),[a,x]=c.useState(null),[h]=c.useState(e.initialMarkdown),[d,y]=c.useState(e.displayName||"未命名"),[p,f]=c.useState([]),[N,u]=c.useState(null),[_,w]=c.useState([]),[$,B]=c.useState(!1),[g,b]=c.useState(!1),[D,R]=c.useState(""),[F,K]=c.useState([]),[L,V]=c.useState(!1),[S,J]=c.useState(null),[Q,P]=c.useState(null),[Y,l]=c.useState(!1),[k,v]=c.useState(null),C=c.useRef(null),A=c.useRef(null),I=c.useRef(null),E=c.useRef(!0),[O,G]=c.useState(!1),W=120;function ae(s){return s.scrollHeight-s.scrollTop-s.clientHeight}function Z(){const s=I.current;s&&(s.scrollTop=s.scrollHeight,G(!1))}function we(){E.current&&Z()}function je(){const s=I.current;if(!s)return;const o=ae(s);E.current=o<=48,G(o>W)}function Ne(){E.current=!0,Z()}c.useLayoutEffect(()=>{if(!e.open)return;we();const s=I.current;s&&G(ae(s)>W)},[p,e.open]);async function ee(){B(!0);try{const s=await Ee("coding",e.documentId);w(s.sessions),N||u(s.lastOpenedSessionId)}catch{}finally{B(!1)}}async function le(){try{const s=await ue();J(s)}catch{J({enabled:!1,skillsReady:!1,model:null})}}if(c.useEffect(()=>{var o;if(!e.open){b(!1),(o=A.current)==null||o.abort();return}i(e.initialMarkdown),x(null),y(e.displayName||"未命名"),R(""),P(null),b(!1);let s=!1;return(async()=>{try{const j=await ue();s||J(j)}catch{s||J({enabled:!1,skillsReady:!1,model:null})}try{const j=await Te("coding",e.documentId);if(s)return;u(j.sessionId),f(ke(j.sessionId,j.messages))}catch{s||(u(null),f([]))}ee()})(),()=>{s=!0}},[e.open,e.initialMarkdown,e.displayName,e.documentId]),c.useEffect(()=>()=>{var s;return(s=A.current)==null?void 0:s.abort()},[]),c.useEffect(()=>{e.open&&g&&ee()},[g,e.open,e.documentId]),!e.open)return null;const re=(S==null?void 0:S.reason)==="missing_api_key",be=a!=null&&a!==n?ie(n,a):[];async function Se(){var s;if(!L){(s=A.current)==null||s.abort(),P(null),b(!1),V(!1);try{const o=await Pe("coding",e.documentId);u(o.sessionId),f([]),R(""),ee()}catch(o){P(o instanceof Error?o.message:String(o))}}}async function Ce(s){var o;if(!L){if(s===N){b(!1);return}(o=A.current)==null||o.abort(),P(null);try{const j=await qe(s,"coding",e.documentId);u(j.sessionId),f(ke(j.sessionId,j.messages)),R(""),b(!1)}catch(j){P(j instanceof Error?j.message:String(j))}}}async function oe(){var z;const s=D.trim();if(!s||L)return;if(!(S!=null&&S.enabled)){P("请先配置 API Key");return}(z=A.current)==null||z.abort();const o=new AbortController;A.current=o;const j=xe("u"),M=xe("a");E.current=!0,f(q=>[...q,{id:j,role:"user",content:s,skillNames:F.length>0?[...F]:void 0},{id:M,role:"assistant",blocks:[]}]),R(""),V(!0),P(null),requestAnimationFrame(()=>{Z(),requestAnimationFrame(Z)});const T=q=>{f(r=>r.map(m=>m.id===M&&m.role==="assistant"?{...m,blocks:q(m.blocks)}:m))};try{let q=!1;await De(s,{mode:"coding",skillNames:F.length>0?F:void 0,documentId:e.documentId,workingMarkdown:n,baseMarkdown:h,signal:o.signal,onEvent:r=>{r.type==="text_delta"?T(m=>et(m,r.text)):r.type==="thinking_delta"?T(m=>tt(m,r.text)):r.type==="markdown_set"?x(r.markdown):r.type==="tool_notice"?T(m=>te(m,r.text)):r.type==="document_table"?T(m=>te(m,r.title)):r.type==="document_card"?T(m=>te(m,`读取文档「${r.title}」`)):r.type==="sources"?r.items.length>0&&T(m=>te(m,`已阅读 ${r.items.length} 个手册页面`)):r.type==="skill_form_card"?T(m=>[...m,{type:"skill_form_card",requestId:r.requestId,mode:r.mode,title:r.title,currentName:r.currentName,initialName:r.initialName,initialDescription:r.initialDescription,initialBody:r.initialBody,expiresAt:r.expiresAt,status:"open"}]):r.type==="choice_card"?(E.current=!0,T(m=>[...m,{type:"choice_card",requestId:r.requestId,title:r.title,options:r.options,expiresAt:r.expiresAt,status:"open"}])):r.type==="choice_expired"?T(m=>m.map(H=>H.type==="choice_card"&&H.requestId===r.requestId&&H.status==="open"?{...H,status:"expired"}:H)):r.type==="skill_form_expired"?T(m=>m.map(H=>H.type==="skill_form_card"&&H.requestId===r.requestId&&H.status==="open"?{...H,status:"expired"}:H)):r.type==="error"&&(q=!0,P(r.message))}}),!o.signal.aborted&&!q&&K([]),ee()}catch(q){o.signal.aborted||P(q instanceof Error?q.message:String(q))}finally{A.current===o&&(A.current=null),V(!1)}}function ce(s){return new Promise(o=>{C.current=o,v({message:s.message,confirmLabel:s.confirmLabel??"确定",cancelLabel:s.cancelLabel??"返回",danger:s.danger??!1})})}function de(s){const o=C.current;C.current=null,v(null),o==null||o(s)}async function Ie(){if(!await ce({message:"是否回写",confirmLabel:"确认",cancelLabel:"返回"}))return;let o=n;be.length>0&&(o=a??n,i(o),x(null)),l(!0);const j=!e.documentId;try{const M=await e.onComplete({markdown:o,documentId:e.documentId,displayName:d.trim()||"未命名"}),T=M&&typeof M=="object"&&typeof M.documentId=="string"?M.documentId.trim():"";if(j&&T&&N)try{await _e(N,T)}catch{}e.onClose()}catch(M){if(M!=null&&M.silent||M instanceof Error&&M.message==="cancelled")return;P(M instanceof Error?M.message:String(M))}finally{l(!1)}}async function ve(){var s;(n!==h||a!=null)&&!await ce({message:"取消帮写?未写回的修改将丢失。",confirmLabel:"放弃修改",danger:!0})||((s=A.current)==null||s.abort(),e.onClose())}return t.jsxs("div",{className:"mdocs-ai-write-overlay",role:"dialog","aria-modal":"true","aria-label":"帮写",children:[t.jsxs("header",{className:"mdocs-ai-write-header",children:[t.jsxs("div",{className:"mdocs-ai-write-header-left",children:[t.jsx("img",{src:$e,alt:"",className:"mdocs-ai-write-title-logo"}),t.jsx("strong",{children:"帮写"}),t.jsx("input",{className:"mdocs-ai-write-title",value:d,onChange:s=>y(s.target.value),"aria-label":"文档标题"})]}),t.jsxs("div",{className:"mdocs-ai-write-header-actions",children:[t.jsx("button",{type:"button",onClick:()=>void ve(),disabled:Y||k!=null,children:"取消"}),t.jsx("button",{type:"button",className:"mdocs-ai-write-primary",onClick:()=>void Ie(),disabled:Y||k!=null,children:Y?"写回中…":"完成并写回"})]})]}),t.jsxs("div",{className:"mdocs-ai-write-body",children:[t.jsxs("section",{className:"mdocs-ai-write-chat",children:[t.jsxs("div",{className:"mdocs-ai-write-chat-toolbar",children:[t.jsx("span",{className:"mdocs-ai-write-chat-toolbar-label",children:"对话"}),t.jsxs("div",{className:"mdocs-ai-write-chat-toolbar-actions",children:[t.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn",title:"新会话","aria-label":"新会话",disabled:L,onClick:()=>void Se(),children:t.jsx(Oe,{size:16,strokeWidth:1.8})}),t.jsx("button",{type:"button",className:"mdocs-agent-panel-icon-btn"+(g?" active":""),title:"历史会话","aria-label":"历史会话",onClick:()=>b(s=>!s),children:t.jsx(He,{size:16,strokeWidth:1.8})})]})]}),g?t.jsxs("div",{className:"mdocs-ai-write-history mdocs-agent-panel-history",children:[t.jsxs("div",{className:"mdocs-agent-panel-history-head",children:[t.jsx("span",{children:"历史会话"}),t.jsx("button",{type:"button",className:"mdocs-agent-panel-history-back",onClick:()=>b(!1),children:"返回对话"})]}),$?t.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"加载中…"}):_.length===0?t.jsxs(t.Fragment,{children:[t.jsx("p",{className:"mdocs-agent-panel-history-empty",children:"暂无历史会话"}),t.jsx("p",{className:"mdocs-agent-panel-history-hint",children:"发一条消息后会出现在这里"})]}):t.jsx("ul",{className:"mdocs-agent-panel-history-list",children:_.map(s=>t.jsx("li",{children:t.jsxs("button",{type:"button",className:"mdocs-agent-panel-history-item"+(s.id===N?" active":""),disabled:L,onClick:()=>void Ce(s.id),children:[t.jsx("span",{className:"mdocs-agent-panel-history-title",children:s.title}),t.jsx("span",{className:"mdocs-agent-panel-history-time",children:st(s.updatedAt)})]})},s.id))})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"mdocs-ai-write-chat-scroll-wrap",children:[t.jsx("div",{className:"mdocs-ai-write-chat-messages",ref:I,onScroll:je,children:p.length===0?t.jsxs(t.Fragment,{children:[t.jsx("p",{className:"mdocs-ai-write-hint",children:"描述你想写或改的内容。助手可读取右侧当前稿与进场快照,再更新提案;请按段接受或拒绝后完成写回。"}),re?t.jsx(me,{onConfigured:le}):null]}):p.map(s=>t.jsx("div",{className:"mdocs-ai-write-msg"+(s.role==="user"?" mdocs-ai-write-msg-user":""),children:s.role==="user"?t.jsxs(t.Fragment,{children:[s.skillNames&&s.skillNames.length>0?t.jsxs("div",{className:"mdocs-agent-msg-skills",children:["Skill ×",s.skillNames.length]}):null,s.content]}):nt(s.blocks)?t.jsx("div",{className:"mdocs-ai-write-timeline",children:s.blocks.map((o,j)=>o.type==="thinking"?o.text?t.jsxs("details",{className:"mdocs-ai-write-thinking",open:L,children:[t.jsx("summary",{children:"思考中"}),t.jsx("pre",{className:"mdocs-ai-write-thinking-body",children:o.text})]},`${s.id}-think-${j}`):null:o.type==="tool"?t.jsx("p",{className:"mdocs-agent-panel-tool-notice",children:o.text},`${s.id}-tool-${j}`):o.type==="skill_form_card"?t.jsx(Be,{block:o,onResolved:(M,T,z)=>{f(q=>q.map(r=>r.id!==s.id||r.role!=="assistant"?r:{...r,blocks:r.blocks.map(m=>m.type==="skill_form_card"&&m.requestId===M?{...m,status:T,submittedName:T==="submitted"?z:m.submittedName}:m)}))}},`${s.id}-sf-${j}`):o.type==="choice_card"?t.jsx(Je,{block:o,onResolved:(M,T,z)=>{f(q=>q.map(r=>r.id!==s.id||r.role!=="assistant"?r:{...r,blocks:r.blocks.map(m=>m.type==="choice_card"&&m.requestId===M?{...m,status:z,selected:z==="selected"?T:m.selected}:m)}))}},`${s.id}-ch-${j}`):o.type==="text"&&o.text?t.jsx("div",{className:"mdocs-agent-panel-md",children:t.jsx(We,{remarkPlugins:[ze],children:o.text})},`${s.id}-text-${j}`):null)}):L?t.jsxs("span",{className:"mdocs-agent-panel-thinking","aria-label":"思考中",children:[t.jsx("span",{}),t.jsx("span",{}),t.jsx("span",{})]}):null},s.id))}),O?t.jsxs("button",{type:"button",className:"mdocs-chat-jump-bottom",onClick:Ne,title:"回到底部","aria-label":"回到底部",children:[t.jsx(Fe,{size:14,strokeWidth:2,"aria-hidden":!0}),t.jsx("span",{children:"置底"})]}):null]}),Q?t.jsx("p",{className:"mdocs-ai-write-error",children:Q}):null,re&&p.length>0?t.jsx(me,{onConfigured:le}):null,t.jsxs("div",{className:"mdocs-ai-write-input-row",children:[t.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[t.jsx(Ke,{selectedNames:F,onChange:K,disabled:L||!(S!=null&&S.enabled)}),t.jsx("textarea",{rows:2,value:D,disabled:L||!(S!=null&&S.enabled),placeholder:S!=null&&S.enabled?"说说要写什么…":"请先配置 API Key",onChange:s=>R(s.target.value),onKeyDown:s=>{s.key==="Enter"&&!s.shiftKey&&(s.preventDefault(),oe())}})]}),t.jsx("button",{type:"button",className:L?"mdocs-ai-write-stop":void 0,disabled:L?!1:!(S!=null&&S.enabled),onClick:()=>{var s;if(L){(s=A.current)==null||s.abort();return}oe()},children:L?"停止":"发送"})]})]})]}),t.jsx(Ze,{currentMd:n,proposedMd:a,sending:L,onCurrentChange:i,onProposedChange:x})]}),k?t.jsx(Re,{message:k.message,confirmLabel:k.confirmLabel,cancelLabel:k.cancelLabel,danger:k.danger,onConfirm:()=>de(!0),onCancel:()=>de(!1)}):null]})}export{ut as AiWriteWorkbench};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{o as c}from"./index-CINfyH_g.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 o=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],t=c("copy",o);export{t as C};
|
|
@@ -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:10px 16px;border-bottom:1px solid #e2e8f0;background:#fff;gap:12px;min-height:48px}.graph-toolbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;overflow:hidden}.graph-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.graph-desktop-actions{display:flex;align-items:center;gap:8px}.graph-mobile-toggle-wrap{display:none}.graph-icon{font-size:18px;flex-shrink:0}.graph-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:600}.graph-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap;height:32px}.graph-btn:hover{background:#f1f5f9}.graph-btn:disabled{opacity:.6;cursor:not-allowed}.graph-btn-ghost{border-color:transparent;background:transparent;color:#6366f1}.graph-btn-ghost:hover{background:#eef2ff}.graph-btn-primary{background:#6366f1;border-color:#6366f1;color:#fff}.graph-btn-primary:hover{background:#4f46e5}.graph-btn-danger{background:#ef4444;border-color:#ef4444;color:#fff;font-weight:500}.graph-btn-danger:hover{background:#dc2626}.graph-dropdown{position:relative}.graph-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:150px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:6px;z-index:20}.graph-dropdown-menu--right{left:auto;right:0}.graph-dropdown-item{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;border-radius:4px;font-size:13px;cursor:pointer;color:#334155;transition:background .1s}.graph-dropdown-item:hover{background:#f1f5f9}.graph-dropdown-item.active{background:#eef2ff;color:#4338ca;font-weight:600}.graph-dropdown-switch{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:#334155;cursor:pointer;white-space:nowrap}.graph-dropdown-switch:hover{background:#f1f5f9;border-radius:4px}.graph-dropdown-switch input[type=checkbox]{accent-color:#6366f1}.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-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,.graph-error 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}@media (max-width: 768px){.graph-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.graph-toolbar{flex-wrap:wrap;gap:6px;padding:8px 10px;position:relative;background:#fff;border-bottom:1px solid #e2e8f0}.graph-toolbar-left{flex:1;min-width:0}.graph-toolbar-right{width:auto;position:relative}.graph-desktop-actions{display:none}.graph-mobile-toggle-wrap{display:block;position:relative}.graph-mobile-toggle-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;flex-shrink:0}.graph-mobile-toggle-btn:hover{background:var(--mdocs-hover-bg, #f0f0f0)}.graph-mobile-actions{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;max-width:min(88vw,280px);padding:8px 0;z-index:120;box-shadow:0 4px 16px #0f172a1f;background:#fff;border:1px solid var(--mdocs-border, #e0e0e0);border-radius:12px;display:flex;flex-direction:column}.graph-mobile-action-group{padding:4px 0}.graph-mobile-action-label{padding:6px 16px 4px;font-size:11px;font-weight:600;color:var(--mdocs-text-muted, #616161);text-transform:uppercase;letter-spacing:.5px}.graph-mobile-action-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:transparent;font:inherit;font-size:14px;color:var(--mdocs-text);text-align:left;cursor:pointer;transition:background .1s}.graph-mobile-action-item:hover{background:var(--mdocs-hover-bg, #f5f5f5)}.graph-mobile-action-item.active{background:var(--mdocs-hover-bg, #f5f5f5);font-weight:600}.graph-mobile-action-item:disabled{opacity:.5;cursor:not-allowed}.graph-mobile-action-primary{color:#6366f1;font-weight:600;border-top:1px solid var(--mdocs-border, #e0e0e0);margin-top:4px;padding-top:12px}.graph-mobile-action-switch{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;color:var(--mdocs-text);cursor:pointer;transition:background .1s}.graph-mobile-action-switch:hover{background:var(--mdocs-hover-bg, #f5f5f5)}.graph-mobile-action-switch input[type=checkbox]{accent-color:#6366f1}.graph-btn{padding:5px 8px;font-size:12px;height:28px}.graph-detail-panel{top:0;right:0;left:0;bottom:0;width:100%;height:100%;border-left:none;box-shadow:none;border-radius:0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:40}.graph-detail-header{position:sticky;top:0;background:#fff;padding-bottom:8px;margin-bottom:8px;z-index:1}.graph-close-btn{width:40px;height:40px}.graph-detail-title{font-size:1.25rem;line-height:1.35;word-break:break-word}.graph-node-tooltip{max-width:min(280px,82vw)}.graph-progress-panel{width:calc(100% - 24px);max-width:none;padding:16px}}.mdocs-app-root{display:flex;flex-direction:column;height:100vh;max-height:100vh;min-height:0;overflow:hidden}.mdocs-shell{display:flex;flex-direction:column;flex:1 1 0;min-height:0;max-height:100%;overflow:hidden;position:relative}.mdocs-loading{height:100%;display:flex;align-items:center;justify-content:center}.mdocs-shell>.mdocs-layout,.mdocs-shell>.mdocs-main{flex:1 1 0;min-height:0;max-height:100%;height:100%;overflow:hidden}.mdocs-layout{display:flex;flex-direction:row;align-items:stretch;min-height:0;overflow:hidden}.mdocs-sidebar{background:#fafafa;border-right:1px solid var(--mdocs-border);display:flex;flex-direction:column;width:260px;flex:0 0 260px;height:100%;max-height:100%;min-width:0;min-height:0;align-self:stretch;overflow:hidden;transition:width .2s ease-out}.mdocs-sidebar-collapsed{width:64px;flex-basis: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:0 0 auto;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:8px 10px 8px 12px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;flex:0 0 auto;border-bottom:1px solid var(--mdocs-border);position:relative;min-width:0}.mdocs-sidebar-create-btn{display:inline-flex;align-items:center;gap:3px;height:28px;padding:0 6px;border:1px solid var(--mdocs-border);border-radius:6px;background:var(--mdocs-bg);color:var(--mdocs-text);font-size:12px;line-height:1;cursor:pointer;flex:0 1 auto;min-width:0;white-space:nowrap}.mdocs-sidebar-create-btn:hover{border-color:var(--mdocs-accent);color:var(--mdocs-accent)}.mdocs-create-dropdown{position:absolute;left:24px;top:100%;background:var(--mdocs-bg);border:1px solid var(--mdocs-border);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:100;min-width:160px;overflow:hidden}.mdocs-create-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--mdocs-text);text-align:left}.mdocs-create-dropdown-item:hover{background:var(--mdocs-accent-soft)}.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;flex:0 0 auto}.mdocs-sidebar-icon:hover{opacity:1;color:var(--mdocs-accent)}.mdocs-sidebar-list{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 8px 16px}.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:6px 12px;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:#f2f3f5;border-left:3px solid var(--mdocs-accent);border-top:none;border-right:none;border-bottom:none}.mdocs-tree-row--graph-focus{background:#8b5cf61a;border-color:#a78bfa;border-left:3px solid #8b5cf6}.mdocs-tree-row--graph-focus .mdocs-tree-label{color:#6d28d9;font-weight:600}.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:11px;color:var(--mdocs-text-muted);width:auto;min-width:24px;text-align:center;padding:2px 5px;border-radius:var(--mdocs-radius-sm);background:var(--mdocs-bg);white-space:nowrap;margin-right:4px}.mdocs-tree-icon-html{color:#16a34a}.mdocs-tree-icon-sheet{color:#2563eb;font-size:10px;font-weight:700;letter-spacing:-.02em}.mdocs-tree-html-bracket{font-size:12px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1}.mdocs-tree-icon-dir{color:#6b7280;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:0 0 auto;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-scroll-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.mdocs-agent-panel-welcome{flex:1;min-height:0;overflow-y:auto;padding-right:2px}.mdocs-chat-jump-bottom{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:3;display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#4e5969;font-size:12px;line-height:1;cursor:pointer;box-shadow:0 2px 8px #0f172a14}.mdocs-chat-jump-bottom:hover{color:#1f2329;border-color:#d0d5dd;background:#f8fafc}.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-mermaid{position:relative;margin:.65em 0;border:1px solid #e8eaed;border-radius:8px;background:#fafbfc;overflow:hidden}.mdocs-agent-mermaid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-bottom:1px solid #e8eaed;background:#f5f6f8}.mdocs-agent-mermaid-toggle{display:inline-flex;gap:2px;padding:2px;border-radius:6px;background:#e8eaed}.mdocs-agent-mermaid-toggle-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:none;border-radius:4px;background:transparent;color:#646a73;font-size:12px;line-height:1.2;cursor:pointer}.mdocs-agent-mermaid-toggle-btn.is-active{background:#fff;color:#1f2329;box-shadow:0 0 0 1px #d0d5dd}.mdocs-agent-mermaid-copy{position:static}.mdocs-agent-mermaid-diagram{padding:12px;overflow-x:auto;background:#fff}.mdocs-agent-mermaid-svg{display:flex;justify-content:center;line-height:0}.mdocs-agent-mermaid-svg-hit{width:100%;margin:0;padding:0;border:none;background:transparent;cursor:zoom-in;border-radius:4px}.mdocs-agent-mermaid-svg-hit:hover{outline:1px solid #d0d5dd;outline-offset:2px}.mdocs-agent-mermaid-svg-hit:focus-visible{outline:2px solid #3370ff;outline-offset:2px}.mdocs-agent-mermaid-svg-inner{display:flex;justify-content:center;line-height:0;pointer-events:none}.mdocs-agent-mermaid-svg svg,.mdocs-agent-mermaid-svg-inner svg{max-width:100%;height:auto}.mdocs-agent-mermaid-float{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center}.mdocs-agent-mermaid-float-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:none;background:#0f172a8c;cursor:pointer}.mdocs-agent-mermaid-float-chrome{position:relative;z-index:1;display:flex;flex-direction:column;width:min(96vw,1100px);height:min(88vh,800px);border-radius:12px;background:#fff;box-shadow:0 16px 48px #0f172a47;overflow:hidden}.mdocs-agent-mermaid-float-tools{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid #e8eaed;background:#f5f6f8}.mdocs-agent-mermaid-float-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid #e8eaed;border-radius:6px;background:#fff;color:#1f2329;font-size:12px;cursor:pointer}.mdocs-agent-mermaid-float-btn:hover{background:#f2f4f7}.mdocs-agent-mermaid-float-scale{min-width:48px;text-align:center;font-size:12px;color:#646a73;font-variant-numeric:tabular-nums}.mdocs-agent-mermaid-float-stage{flex:1;position:relative;overflow:hidden;touch-action:none;cursor:grab;background:linear-gradient(90deg,#f0f2f5 1px,transparent 1px) 0 0 / 16px 16px,linear-gradient(#f0f2f5 1px,transparent 1px) 0 0 / 16px 16px,#fafbfc}.mdocs-agent-mermaid-float-stage.is-dragging{cursor:grabbing}.mdocs-agent-mermaid-float-canvas{position:absolute;left:50%;top:50%;transform-origin:center center;line-height:0;-webkit-user-select:none;user-select:none;pointer-events:none}.mdocs-agent-mermaid-float-canvas svg{display:block;max-width:none;height:auto}.mdocs-agent-mermaid-float-hint{margin:0;padding:6px 10px;border-top:1px solid #e8eaed;background:#fafbfc;color:#8f959e;font-size:12px;text-align:center}.mdocs-agent-mermaid-loading{padding:16px 8px;text-align:center;color:#8f959e;font-size:12.5px}.mdocs-agent-mermaid-error{padding:8px;color:#a8071a;font-size:12.5px}.mdocs-agent-mermaid-error p{margin:0 0 6px}.mdocs-agent-mermaid-error pre{margin:0;padding:8px;border-radius:6px;background:#fff2f0;color:#cf1322;white-space:pre-wrap;word-break:break-word;font-size:11.5px}.mdocs-agent-mermaid-code{margin:0}.mdocs-agent-mermaid-code pre{margin:0;border-radius:0;background:#f5f6f8}.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;padding:0;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)}.mdocs-settings-table-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mdocs-settings-page-info{font-size:13px;color:var(--mdocs-text-muted);white-space:nowrap}.mdocs-settings-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0 8px}.mdocs-settings-pagination button:disabled{opacity:.4;cursor:not-allowed}.mdocs-my-docs .mdocs-settings-title{font-size:18px;font-weight:600;color:#111827}.mdocs-my-docs .mdocs-settings-card{padding:24px 28px;border-radius:12px;box-shadow:0 4px 12px #0000000d}.mdocs-my-docs-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.mdocs-my-docs-search{position:relative;flex:1 1 120px;min-width:0}.mdocs-my-docs-search svg{position:absolute;left:12px;top:50%;width:16px;height:16px;color:#9ca3af;transform:translateY(-50%);pointer-events:none}.mdocs-my-docs-search input,.mdocs-my-docs-select{height:36px;margin:0;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#111827;font-size:13px;outline:none;box-shadow:none}.mdocs-my-docs-search input{width:100%;padding:0 12px 0 36px}.mdocs-my-docs-select{flex:0 0 auto;width:auto;padding:0 28px 0 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2.2 4.3 6 8l3.8-3.7-.8-.8L6 6.4 3 3.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.mdocs-my-docs-search input:focus,.mdocs-my-docs-select:focus,.mdocs-my-docs-search input:focus-visible,.mdocs-my-docs-select:focus-visible{border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9811f}.mdocs-my-docs .mdocs-settings-table thead th{padding:8px 12px;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:#4b5563;background:#f9fafb;border-bottom:1px solid #f3f4f6}.mdocs-my-docs .mdocs-settings-table tbody td{padding:8px 12px;color:#6b7280;border-bottom:1px solid #f3f4f6;vertical-align:middle}.mdocs-my-docs .mdocs-settings-table tbody tr:hover td{background:#f3f4f6}.mdocs-my-docs-title{color:#111827;font-weight:600;cursor:pointer}.mdocs-my-docs-date{color:#9ca3af;font-variant-numeric:tabular-nums;white-space:nowrap}.mdocs-my-docs-search-meta{padding:4px 2px 10px;font-size:13px;color:#6b7280}.mdocs-embedding-index-snippet{margin-top:4px;font-size:12px;color:#6b7280;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mdocs-my-docs-group td{padding:6px 12px;font-size:12px;font-weight:600;color:#4b5563;background:#f9fafb}.mdocs-my-docs-group:hover td{background:#f9fafb}.mdocs-my-docs-actions{text-align:right;white-space:nowrap}.mdocs-my-docs-actions button.ghost.small{padding:4px 8px;font-size:12px;color:#6b7280;background:transparent;border-color:transparent}.mdocs-my-docs-actions button.ghost.small:hover{color:#111827;background:#f3f4f6;border-color:transparent}.mdocs-my-docs-actions button.primary.small{padding:4px 10px;font-size:12px;border-radius:6px;background:#10b981;border-color:#10b981}.mdocs-my-docs-actions button.primary.small:hover{background:#059669;border-color:#059669}.mdocs-my-docs-empty{padding:40px 0;text-align:center;color:#9ca3af}.mdocs-my-docs-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}.mdocs-my-docs-footer .mdocs-settings-pagination{padding:0;justify-content:flex-end}.mdocs-my-docs-footer button.secondary{border-color:#e5e7eb;color:#4b5563;background:#fff}.mdocs-my-docs-footer button.secondary:hover{background:#f9fafb;border-color:#d1d5db}.mdocs-my-docs-jump{display:inline-flex;align-items:center;gap:6px;color:#6b7280;font-size:13px}.mdocs-my-docs-jump input{width:56px;height:28px;margin:0;padding:0 6px;text-align:center;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827}.mdocs-my-docs-jump input:focus,.mdocs-my-docs-jump input:focus-visible{border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9811f}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-context-divider{height:1px;background:var(--mdocs-border);margin:4px 8px;flex-shrink:0}.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 1 0;min-width:0;min-height:0;max-height:100%;height:100%;overflow:hidden;position:relative;background:#fff}.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:5px;font-size:12px;font-weight:500;color:var(--mdocs-text-muted);flex-shrink:0;white-space:nowrap;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--mdocs-border, #e0e0e0) 45%,transparent)}.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:200;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-icon{display:flex;align-items:center;justify-content:center;color:var(--mdocs-text-disabled);margin-bottom:8px}.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-scroll-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.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-toolbar .mdocs-ai-write-diff-accept-all{background:#f6ffed;border:1px solid #b7eb8f;color:#389e0d;border-radius:6px;padding:4px 12px;cursor:pointer;font-weight:500}.mdocs-ai-write-diff-toolbar .mdocs-ai-write-diff-reject-all{background:#fff2f0;border:1px solid #ffccc7;color:#cf1322;border-radius:6px;padding:4px 12px;cursor:pointer;font-weight:500}.mdocs-ai-write-diff-toolbar .mdocs-ai-write-diff-accept-all:hover{background:#d9f7be;border-color:#95de64}.mdocs-ai-write-diff-toolbar .mdocs-ai-write-diff-reject-all:hover{background:#ffd8d2;border-color:#ffa39e}.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.mdocs-editor-toolbar--stacked,.mdocs-editor-toolbar--docked.mdocs-editor-toolbar--stacked{flex-direction:column;align-items:stretch;gap:0}.mdocs-editor-toolbar--float{position:absolute;top:0;left:0;right:0;z-index:30;padding:6px 8px;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--docked{position:sticky;top:0;left:0;z-index:30;padding:6px 8px;border:none;border-radius:0;border-bottom:1px solid var(--mdocs-border);background:var(--mdocs-surface);box-shadow:none;transform:none}.mdocs-reader-top-row{display:flex;align-items:center;gap:6px;width:100%}.mdocs-reader-actions-row{display:flex;align-items:center;gap:8px;padding:6px 0 2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.mdocs-editor-toolbar--float .mdocs-editor-toolbar-leading,.mdocs-editor-toolbar--docked .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--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-sync-btn{flex-shrink:0;width:32px;height:32px;padding:0;justify-content:center;border-radius:8px}.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-reader-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--mdocs-border);border-radius:6px;background:transparent;color:var(--mdocs-text-secondary);cursor:pointer;flex-shrink:0;transition:background .15s}.mdocs-reader-expand-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-layout--settings .mdocs-settings-card{padding:16px;border-radius:10px}.mdocs-my-docs .mdocs-settings-card{padding:16px}.mdocs-my-docs-toolbar{flex-wrap:wrap}.mdocs-my-docs-select{flex:1 1 140px;width:auto;min-width:0}.mdocs-layout--settings .mdocs-settings-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.mdocs-layout--settings .mdocs-settings-table{min-width:500px}.mdocs-layout--settings .mdocs-settings-item{flex-wrap:wrap;gap:8px}.mdocs-layout--settings .mdocs-settings-lang{flex-wrap:wrap}}.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,.mdocs-tree-row.active .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-doc-search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:flex;align-items:flex-start;justify-content:center;padding:min(18vh,120px) 16px 24px;background:#00000059;animation:backdrop-in .15s ease}.mdocs-doc-search-panel{width:min(560px,100%);max-height:min(70vh,520px);display:flex;flex-direction:column;background:var(--mdocs-surface, #fff);border:1px solid var(--mdocs-border, #e5e5e5);border-radius:10px;box-shadow:0 12px 40px #0000002e;overflow:visible;animation:dialog-in .18s ease}.mdocs-doc-search-bar{position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--mdocs-border, #e5e5e5);color:var(--mdocs-text-muted, #888);flex:0 0 auto;border-radius:10px 10px 0 0;background:var(--mdocs-surface, #fff)}.mdocs-doc-search-domain{position:relative;flex:0 0 auto}.mdocs-doc-search-mode{flex:0 0 auto;height:28px;padding:0 20px 0 8px;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:6px;background:transparent;color:var(--mdocs-text, #111);font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2.2 4.3 6 8l3.8-3.7-.8-.8L6 6.4 3 3.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;cursor:pointer}.mdocs-doc-search-mode:focus-visible{border-color:#10b981;outline:none}.mdocs-doc-search-domain-trigger{display:inline-flex;align-items:center;gap:4px;max-width:180px;min-width:108px;height:28px;padding:0 8px;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:6px;background:transparent;color:var(--mdocs-text);font-size:12px;cursor:pointer}.mdocs-doc-search-domain-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-doc-search-domain-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;width:min(280px,80vw);max-height:min(320px,50vh);overflow:auto;padding:6px;background:var(--mdocs-surface, #fff);border:1px solid var(--mdocs-border, #e5e5e5);border-radius:8px;box-shadow:0 8px 24px #00000029}.mdocs-doc-search-domain-filter{width:100%;box-sizing:border-box;margin-bottom:4px;padding:6px 8px;border:1px solid var(--mdocs-border, #e5e5e5);border-radius:6px;background:transparent;color:var(--mdocs-text);font-size:12px;outline:none}.mdocs-doc-search-domain-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 8px;border:none;border-radius:6px;background:transparent;color:var(--mdocs-text);font-size:13px;text-align:left;cursor:pointer}.mdocs-doc-search-domain-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdocs-doc-search-domain-option-tag{display:inline-flex;flex-shrink:0;align-items:center;color:var(--mdocs-text-muted, #888)}.mdocs-doc-search-domain-option:hover,.mdocs-doc-search-domain-option.active{background:var(--mdocs-accent-soft, #f0f4ff)}.mdocs-doc-search-domain-empty{margin:0;padding:8px;font-size:12px;color:var(--mdocs-text-muted, #888);text-align:center}.mdocs-doc-search-input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;font-size:16px;color:var(--mdocs-text)}.mdocs-doc-search-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--mdocs-text-muted, #888);cursor:pointer;padding:4px;border-radius:4px}.mdocs-doc-search-close:hover{color:var(--mdocs-text);background:color-mix(in srgb,var(--mdocs-text) 8%,transparent)}.mdocs-doc-search-results{flex:1 1 auto;min-height:120px;max-height:min(58vh,440px);overflow-y:auto;padding:6px;background:var(--mdocs-surface, #fff);border-radius:0 0 10px 10px}.mdocs-doc-search-hint,.mdocs-doc-search-error{margin:0;padding:16px 12px;font-size:13px;color:var(--mdocs-text-muted, #888);text-align:center}.mdocs-doc-search-error{color:var(--mdocs-danger, #c0392b)}.mdocs-doc-search-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:none;background:transparent;padding:10px 12px;border-radius:6px;cursor:pointer;color:var(--mdocs-text)}.mdocs-doc-search-row:hover,.mdocs-doc-search-row:focus-visible{background:var(--mdocs-accent-soft, #f0f4ff);outline:none}.mdocs-doc-search-row-title{font-weight:500;font-size:14px}.mdocs-doc-search-row-path,.mdocs-doc-search-row-snippet{font-size:12px;color:var(--mdocs-text-muted, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mdocs-doc-search-row-meta{font-size:12px;color:var(--mdocs-text-muted, #888)}.mdocs-doc-search-row-snippet{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mdocs-doc-search-row mark{background:#facc1573;color:inherit;border-radius:2px;padding:0 1px}.mdocs-doc-search-row-head{display:flex;align-items:center;gap:6px;max-width:100%}.mdocs-doc-search-row-sources{display:inline-flex;gap:4px;flex:0 0 auto}.mdocs-doc-search-row-source{font-size:10px;line-height:1;padding:3px 5px;border-radius:4px;background:var(--mdocs-accent-soft, #eef2f7);color:var(--mdocs-text-muted, #6b7280);white-space:nowrap}.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-force-hint{margin:-8px 0 16px;font-size:13px;color:#8c8c8c;line-height:1.45}.mdocs-conflict-modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.mdocs-conflict-force-btn{border:1px solid #cf1322;background:#fff;color:#cf1322;border-radius:6px;padding:6px 12px;cursor:pointer}.mdocs-conflict-force-btn:hover:not(:disabled){background:#fff1f0}.mdocs-conflict-force-btn:disabled{opacity:.55;cursor:not-allowed}.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:#047857;background:#d1fae5}.mdocs-domain-permission-badge[data-permission=restricted]{color:#a16207;background:#fef3c7}.mdocs-domain-permission-badge[data-permission=private]{color:#4b5563;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,.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:8px 14px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.mdocs-domain-table th{font-weight:600;font-size:13px;color:#4b5563;background:#f9fafb;padding-top:10px;padding-bottom:10px}.mdocs-domain-table tbody tr:hover td{background:#f9fafb}.mdocs-domain-table th.mdocs-domain-table-num,.mdocs-domain-table td.mdocs-domain-table-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:6rem;color:#6b7280}.mdocs-domain-table-row-builtin td{background:#fafafa}.mdocs-domain-table-name-cell{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mdocs-domain-table-name{font-weight:600;color:#111827}.mdocs-domain-table-type{display:inline-flex;align-items:center;gap:6px}.mdocs-domain-table-rename{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mdocs-domain-table-actions{min-width:14rem}.mdocs-domain-action-buttons{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px}.mdocs-domain-action{padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#4b5563;font-size:12px;line-height:1.4;box-shadow:none;cursor:pointer}.mdocs-domain-action:hover:not(:disabled){background:#f3f4f6;color:#111827;border-color:transparent}.mdocs-domain-action--primary{padding:4px 12px;color:#059669;background:#ecfdf5;border-radius:4px}.mdocs-domain-action--primary:hover:not(:disabled){background:#d1fae5;color:#047857}.mdocs-domain-action--danger{color:#4b5563}.mdocs-domain-action--danger:hover:not(:disabled){background:#fef2f2;color:#dc2626}.mdocs-domain-action:disabled,.mdocs-domain-action--primary:disabled,.mdocs-domain-action--danger:disabled{color:#9ca3af;background:#f9fafb;opacity:1;cursor:not-allowed}.mdocs-domain-change-type-panel{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.mdocs-domain-type-segment{display:inline-flex;align-items:center;padding:2px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.mdocs-domain-type-segment button{min-width:44px;padding:4px 10px;border:none;border-radius:6px;background:transparent;color:#6b7280;font-size:12px;line-height:1.4;box-shadow:none}.mdocs-domain-type-segment button:hover:not(:disabled){background:#f3f4f6;color:#111827}.mdocs-domain-type-segment button.active{background:#ecfdf5;color:#047857;font-weight:600}.mdocs-domain-type-segment button:disabled{opacity:.4;cursor:not-allowed}.mdocs-domain-type-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;box-shadow:none}.mdocs-domain-type-icon.confirm{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.mdocs-domain-type-icon.confirm:hover:not(:disabled){background:#d1fae5}.mdocs-domain-type-icon.cancel:hover{background:#f3f4f6;color:#111827}.mdocs-domain-type-icon:disabled{opacity:.4;cursor:not-allowed}.mdocs-domain-not-modifiable{display:inline-block;padding:4px 8px;border-radius:4px;color:#6b7280;background:#f3f4f6;font-size:12px;line-height:1.4}.mdocs-domain-not-creator-inline{font-size:12px;color:#6b7280;line-height:1.4;max-width:14rem}.mdocs-domain-table .mdocs-domain-item-actions button:disabled,.mdocs-domain-action-buttons button:disabled{cursor:not-allowed}.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;overflow:hidden}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:transparent;border-color:var(--mdocs-error);color:var(--mdocs-error-text, var(--mdocs-error))}button.danger:hover{background:var(--mdocs-error-soft);border-color:var(--mdocs-error);color:var(--mdocs-error-text, #c62828)}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}
|