zen-gitsync 2.17.46 → 2.17.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +16 -2
  2. package/package.json +2 -1
  3. package/src/cli/ai/agent.js +1342 -1342
  4. package/src/cli/ai/context.js +431 -253
  5. package/src/cli/ai/context.test.js +376 -258
  6. package/src/cli/ai/mcp.js +323 -27
  7. package/src/cli/ai/mcp.test.js +202 -2
  8. package/src/cli/ai/runtime.test.js +7 -4
  9. package/src/cli/ai/turn.js +166 -166
  10. package/src/config.js +906 -871
  11. package/src/ui/public/assets/{AgentEngineSelector-D6rlSfMD.js → AgentEngineSelector-B829U5mr.js} +1 -1
  12. package/src/ui/public/assets/AgentView-r3_ClUmr.js +1 -0
  13. package/src/ui/public/assets/{AgentView-h2YnbB7J.css → AgentView-uHf-KMCH.css} +1 -1
  14. package/src/ui/public/assets/{AppVersionBadge-BnPsn1X5.js → AppVersionBadge-NtghusOI.js} +2 -2
  15. package/src/ui/public/assets/{BranchSelector-D30GJwUl.js → BranchSelector-D0claXAs.js} +1 -1
  16. package/src/ui/public/assets/{CommitForm-Dvg-RUZI.js → CommitForm-BIq6-sqk.js} +1 -1
  17. package/src/ui/public/assets/{CommonDialog-BzLau2RJ.js → CommonDialog-NqZURH2F.js} +1 -1
  18. package/src/ui/public/assets/EditorView-0T5LR5Hz.css +1 -0
  19. package/src/ui/public/assets/EditorView-Cny0lDhG.js +1 -0
  20. package/src/ui/public/assets/{FlowExecutionViewer-VL-rUElj.js → FlowExecutionViewer-DxDKzmaP.js} +1 -1
  21. package/src/ui/public/assets/{FlowOrchestrationWorkspace-BPNlHRVu.js → FlowOrchestrationWorkspace-B3CAJZ-U.js} +1 -1
  22. package/src/ui/public/assets/{LogList-COwGjQl6.js → LogList-D5sS4Il3.js} +1 -1
  23. package/src/ui/public/assets/{MindmapView-BVuqPD_H.js → MindmapView-6bc0EAJM.js} +1 -1
  24. package/src/ui/public/assets/{MonitorView-hqe-4xd0.js → MonitorView-BnUV4RaV.js} +1 -1
  25. package/src/ui/public/assets/{ProjectStartupButton-RBc-DJBR.js → ProjectStartupButton-Cbw079DB.js} +1 -1
  26. package/src/ui/public/assets/RecentDirectoriesChat-BCZsJR7n.js +1 -0
  27. package/src/ui/public/assets/RecentDirectoriesChat-THkqWEtO.css +1 -0
  28. package/src/ui/public/assets/{RemoteManagerDialog-D6Rbjchl.js → RemoteManagerDialog-BWWPEnSd.js} +1 -1
  29. package/src/ui/public/assets/{RemoteRepoCard-l0NpXgvB.js → RemoteRepoCard-BhA3-4PZ.js} +1 -1
  30. package/src/ui/public/assets/{SourceMapView-CeVystt0.js → SourceMapView-DHDmNzSh.js} +1 -1
  31. package/src/ui/public/assets/{SvgIcon-B-xDJQA1.js → SvgIcon-DcVasCdo.js} +1 -1
  32. package/src/ui/public/assets/{UserInputNode-DJglU68l.js → UserInputNode-B313MadX.js} +1 -1
  33. package/src/ui/public/assets/WorkbenchView-NCE_bk5a.js +20 -0
  34. package/src/ui/public/assets/WorkbenchView-rscs76HF.css +1 -0
  35. package/src/ui/public/assets/_plugin-vue_export-helper-Bsx6Zj3t.js +19 -0
  36. package/src/ui/public/assets/agentConversations-BAhGYmeY.js +8 -0
  37. package/src/ui/public/assets/{configStore-CMlW8sMa.js → configStore-DQSKV2_Y.js} +1 -1
  38. package/src/ui/public/assets/{dagre-DyI0XLXY.js → dagre-BmYeUlEa.js} +3 -3
  39. package/src/ui/public/assets/{element-plus-DrCk0pcV.js → element-plus-DTtm3XCd.js} +1 -1
  40. package/src/ui/public/assets/{flow-mindmap-Cx5RNYN9.js → flow-mindmap-JxOspgwx.js} +1 -1
  41. package/src/ui/public/assets/{index-u9LyUFkr.css → index-BgN6Z2X9.css} +1 -1
  42. package/src/ui/public/assets/{index-BQxIFopZ.js → index-DQuqmPuL.js} +9 -9
  43. package/src/ui/public/assets/{monaco-Dfcwm1aX.js → monaco-D3R9OM26.js} +1 -1
  44. package/src/ui/public/assets/{office-docx-C0unxEAm.js → office-docx-CO7mIaWO.js} +1 -1
  45. package/src/ui/public/assets/{office-excel-DPdyr_DJ.js → office-excel-gA4KEkK4.js} +1 -1
  46. package/src/ui/public/assets/{office-pptx-eojGAs9D.js → office-pptx-CQK4l_1Q.js} +1 -1
  47. package/src/ui/public/assets/{vendor-yntih_em.js → vendor-O17eRefg.js} +222 -222
  48. package/src/ui/public/assets/vendor-U3ZXMgeO.css +1 -0
  49. package/src/ui/public/assets/{vue-flow-De8mr_Fv.js → vue-flow-BG6ZF1It.js} +1 -1
  50. package/src/ui/public/index.html +13 -13
  51. package/src/ui/server/routes/config.js +1321 -1314
  52. package/src/ui/server/routes/workbench/agentChat.js +594 -571
  53. package/src/ui/server/routes/workbench/agentChatShared.test.js +302 -233
  54. package/src/ui/server/routes/workbench/agentMarketplace.js +65 -30
  55. package/src/ui/server/routes/workbench/agentMarketplace.test.js +28 -4
  56. package/src/ui/server/routes/workbench/agentRoutes.js +631 -631
  57. package/src/ui/server/routes/workbench/liveJobs.js +4 -0
  58. package/src/ui/server/routes/workbench/liveJobs.test.js +11 -0
  59. package/src/ui/server/routes/workbench/taskRunner.js +44 -7
  60. package/src/ui/server/routes/workbench/taskRunner.thinking.test.js +115 -0
  61. package/src/ui/public/assets/AgentView-BFRGoIVb.js +0 -1
  62. package/src/ui/public/assets/EditorView-8Rb4n-Wh.css +0 -1
  63. package/src/ui/public/assets/EditorView-D4ZQutRw.js +0 -1
  64. package/src/ui/public/assets/RecentDirectoriesChat-BxbpKrXc.css +0 -1
  65. package/src/ui/public/assets/RecentDirectoriesChat-DFljcYFH.js +0 -1
  66. package/src/ui/public/assets/WorkbenchView-BSQ87CDi.css +0 -1
  67. package/src/ui/public/assets/WorkbenchView-BpH5kNht.js +0 -20
  68. package/src/ui/public/assets/_plugin-vue_export-helper-Dz1ARW9a.js +0 -19
  69. package/src/ui/public/assets/agentConversations-B8nY45V4.js +0 -7
  70. package/src/ui/public/assets/vendor-CP-WuGZG.css +0 -1
@@ -1,7 +0,0 @@
1
- import"./rolldown-runtime-C0FnF6B9.js";import{Cn as e,Rn as t,dr as n,gr as r,i,r as a,vr as o}from"./element-plus-DrCk0pcV.js";import{c as s,l as c,o as l,s as u}from"./vendor-yntih_em.js";import{n as d}from"./_plugin-vue_export-helper-Dz1ARW9a.js";import{a as f,i as p,t as m}from"./configStore-CMlW8sMa.js";import{f as h,g,h as _,n as v,t as y}from"./index-BQxIFopZ.js";function b(e,t=200){let n=typeof e==`string`?e:``;if(!n.trim())return``;let r=n.split(`
2
- `).map(e=>e.trim()).filter(Boolean),i=(r.length?r[r.length-1]:``).replace(/\s+/g,` `);return i.length>t?`${i.slice(0,t-1)}…`:i}function x(e){return d(e===`done`?`@AGENT:对话已完成`:`@AGENT:对话出错`)}function S(e){let t={page:!1,browser:!1,sound:!1};try{let e=m();t.page=!!e.notifyPageOnTaskDone,t.browser=!!e.notifyBrowserOnTaskDone,t.sound=!!e.notifySoundOnTaskDone}catch{}if(!y(t))return!1;let n=String(e.title||``).trim()||d(`@AGENT:无标题`),r=b(e.detail),a=e.tag||`zen-gitsync-agent`,o=r?`${n}\n${r}`:n;return t.sound&&v(e.kind),g(t)&&_({title:x(e.kind),body:o,tag:a})||!t.page||e.alreadyToast||(e.kind===`done`?i.success(d(`@AGENT:对话完成:{name}`,{name:n})):i.error(d(`@AGENT:对话出错:{name}`,{name:n}))),!0}var C=`g ai`,w=`g-ai`,T=[{id:`gai`,name:C},...p.map(e=>({id:e.id,name:e.name}))],E=`zen-gitsync-agent-engine`;function D(e){return e===`gai`||f(e)}function O(e){return T.find(t=>t.id===e)?.name||`g ai`}function k(e){return f(e)}function A(){try{let e=localStorage.getItem(E);if(D(e))return e}catch{}return`gai`}function j(e){try{localStorage.setItem(E,e)}catch{}}t(),n();var M=[`image/*`,`.pdf`,`.txt`,`.md`,`.json`,`.csv`,`.log`,`.yml`,`.yaml`,`.xml`,`.toml`,`.ini`,`.html`,`.css`,`.js`,`.ts`,`.tsx`,`.vue`,`.py`,`.java`,`.go`,`.rs`,`.sql`,`.sh`].join(`,`),N=65536,P=`local-`,F=0;function I(e){if(!e||!Array.isArray(e.messages))return[];let t=[],n=e.messages.length;for(let r=0;r<n;r++){let i=e.messages[r];if(i.role!==`system`){if(i.role===`user`){let e=``,n;if(typeof i.content==`string`)e=i.content;else if(Array.isArray(i.content)){e=i.content.filter(e=>e?.type===`text`).map(e=>e.text||``).join(` `);let t=i.content.filter(e=>e?.type===`image_url`&&typeof e.image_url?.url==`string`).map((e,t)=>({id:`att-${r}-${t}`,name:`image`,size:0,type:z(e.image_url?.url||``)||`image/*`,preview:e.image_url?.url}));t.length>0&&(n=t)}(e||n)&&t.push({id:`msg-${r}`,role:`user`,content:e,attachments:n,status:`done`,createdAt:Date.now()})}else if(i.role===`assistant`){let i=`msg-${r}`,a=``,o=[],c=r;for(;c<n;){let t=e.messages[c];if(t.role!==`assistant`&&t.role!==`tool`)break;if(t.role===`assistant`){if(typeof t.content==`string`&&(a+=t.content),t.tool_calls&&t.tool_calls.length>0)for(let e of t.tool_calls)o.push({id:e.id||e.function?.name||s(),name:e.function?.name||``,arguments:e.function?.arguments||``,argsPreview:L(e.function?.name||``,e.function?.arguments||``),status:`done`,result:``})}else{let e=t.tool_call_id||t.name||``,n=o.find(t=>t.id===e);if(n){let e;e=typeof t.content==`string`?t.content:Array.isArray(t.content)&&t.content.filter(e=>e?.type===`text`).map(e=>e.text||``).join(`
3
- `)||`(non-text result)`,e.length>N&&(e=`…(前文已截断)\n${e.slice(-65536)}`),n.result=e}}c++}r=c-1,a.length>N&&(a=`…(前文已截断)\n${a.slice(-65536)}`);let l=!!a,u=o.length>0;(l||u)&&t.push({id:i,role:`assistant`,content:a,toolCalls:u?o:void 0,status:`done`,createdAt:Date.now()})}}}return t}function L(e,t){try{let n=JSON.parse(t);switch(e){case`run_command`:return String(n.command||``).slice(0,200);case`read_file`:case`write_file`:case`edit_file`:return String(n.path||``);case`list_files`:return String(n.path||`.`);case`search_text`:return String(n.pattern||``);case`update_plan`:{let e=l(t,`update_plan`);if(!e)return``;let{total:r,done:i}=c(e),a=String(n.explanation||``).replace(/\s+/g,` `).trim();return[`${i}/${r}`,a].filter(Boolean).join(` — `).slice(0,200)}default:return JSON.stringify(n).slice(0,200)}}catch{return t.slice(0,200)}}function R(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error||Error(`FileReader failed`)),r.readAsDataURL(e)})}function z(e){let t=/^data:([^;,]+)/.exec(e);return t?t[1]:``}function B(){let t=m(),n=h(),c=++F,l=o([]),f=o(!1),p=o(A());function g(e){D(e)&&(p.value=e,j(e))}let _=r(new Map),v=o(null),y=o(!1),b=0,x=0,C=new Set;function w(e){return{key:e,sessionId:e.startsWith(P)?null:e,title:``,messages:[],isStreaming:!1,abortController:null,nonce:0,pendingQuestion:null,answeringQuestion:!1}}function T(e){let t=_.get(e);return t||=(_.set(e,w(e)),_.get(e)),t}let E=e(()=>v.value?_.get(v.value)??null:null),O=e(()=>E.value?.messages??[]),k=e(()=>E.value?.isStreaming??!1),M=e(()=>{let e=l.value.find(e=>e.sessionId===v.value);return D(e?.engine)?e.engine:p.value}),L=e(()=>l.value.some(e=>e.sessionId===v.value)),z=e(()=>E.value?.pendingQuestion??null),B=e(()=>E.value?.answeringQuestion??!1);function V(e){return!!_.get(e)?.isStreaming}function H(e){let n=[...e];for(let e of _.values()){if(!e.sessionId)continue;let r=n.findIndex(t=>t.sessionId===e.sessionId);if(r!==-1){C.delete(e.sessionId),e.isStreaming&&(n[r]={...n[r],isGenerating:!0});continue}if(!e.isStreaming&&!C.has(e.sessionId))continue;let i=new Date().toISOString();n.unshift({sessionId:e.sessionId,title:e.title||d(`@AGENT:无标题`),source:`web`,cwd:t.currentDirectory||``,model:``,engine:p.value,createdAt:i,updatedAt:i,messageCount:e.messages.filter(e=>e.role===`user`).length||1,size:0,isGenerating:e.isStreaming})}return n}async function U(){let e=++b,n=t.currentDirectory||``;if(!n){l.value=[],f.value=!1;return}f.value=!0;try{let t=`/api/agent/sessions?cwd=${encodeURIComponent(n)}`,r=await fetch(t).then(e=>e.json());if(e!==b)return;if(!r.success){i.error(r.error||d(`@AGENT:加载会话列表失败`));return}let a=Array.isArray(r.sessions)?r.sessions:[];l.value=H(a)}catch(t){if(e!==b)return;i.error(d(`@AGENT:加载会话列表失败`)+`: `+(t?.message||t))}finally{e===b&&(f.value=!1)}}function W(e,n){let r=new Date().toISOString(),i=l.value.find(t=>t.sessionId===e);if(i){i.isGenerating=!0,i.updatedAt=r;return}l.value=[{sessionId:e,title:n||d(`@AGENT:无标题`),source:`web`,cwd:t.currentDirectory||``,model:``,engine:p.value,createdAt:r,updatedAt:r,messageCount:1,size:0,isGenerating:!0},...l.value]}function G(e){let t=l.value.find(t=>t.sessionId===e);t&&(t.isGenerating=!1)}async function K(e){if(_.get(e)?.isStreaming){v.value=e;return}y.value=!0,v.value=e;try{let t=await fetch(`/api/agent/sessions/${encodeURIComponent(e)}`).then(e=>e.json());if(!t.success){i.error(t.error||d(`@AGENT:加载会话失败`));return}let n=T(e);n.sessionId=e,n.messages=I(t.session),t.session?.title&&(n.title=t.session.title)}catch(e){i.error(d(`@AGENT:加载会话失败`)+`: `+(e?.message||e))}finally{y.value=!1}}async function q(e){try{await a.confirm(d(`@AGENT:确认删除该会话`),d(`@AGENT:删除后无法恢复`),{type:`warning`})}catch{return}let t=_.get(e);if(t?.abortController)try{t.abortController.abort()}catch{}_.delete(e);try{let t=await fetch(`/api/agent/sessions/${encodeURIComponent(e)}`,{method:`DELETE`}).then(e=>e.json());if(!t.success){i.error(t.error||d(`@AGENT:删除失败`));return}l.value=l.value.filter(t=>t.sessionId!==e),v.value===e&&(v.value=null),i.success(d(`@AGENT:已删除`))}catch(e){i.error(d(`@AGENT:删除失败`)+`: `+(e?.message||e))}}async function J(e,t){try{let n=await fetch(`/api/agent/sessions/${encodeURIComponent(e)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({title:t})}).then(e=>e.json());if(!n.success){i.error(n.error||d(`@AGENT:重命名失败`));return}let r=l.value.find(t=>t.sessionId===e);r&&(r.title=t);let a=_.get(e);a&&(a.title=t),i.success(d(`@AGENT:已重命名`))}catch(e){i.error(d(`@AGENT:重命名失败`)+`: `+(e?.message||e))}}function Y(){v.value=null}async function X(e,a=[],o={}){let l=a.filter(e=>e?.file?.type?.startsWith(`image/`)),f=a.filter(e=>!e?.file?.type?.startsWith(`image/`)),p=[],m=0;for(let e of f){let t=e.file.size||0;if(!(t>10485760)){if(p.length>=10||m+t>20971520)break;m+=t,p.push(e)}}let h=f.filter(e=>!p.includes(e));h.length>0&&i.warning(`${d(`@AGENT:以下附件超过大小或数量上限,已忽略:`)}${h.map(e=>e.file.name).join(`、`)}`);let g=v.value||`${P}${Date.now()}-${++x}`,y=T(g);if(!e.trim()&&l.length===0&&p.length===0||y.isStreaming)return;let b=(await Promise.allSettled(l.map(e=>R(e.file)))).map(e=>e.status===`fulfilled`?e.value:``).filter(e=>e.startsWith(`data:image/`)),w=(await Promise.allSettled(p.map(async e=>({name:e.file.name||`file`,dataUrl:await R(e.file)})))).map(e=>e.status===`fulfilled`?e.value:null).filter(e=>!!e&&typeof e.dataUrl==`string`&&e.dataUrl.startsWith(`data:`));v.value=y.key,y.nonce+=1;let E=y.nonce;y.abortController=new AbortController;let D=y.abortController;y.pendingQuestion=null,y.answeringQuestion=!1;let O={id:s(),role:`user`,content:e,status:`done`,createdAt:Date.now()},k=[...l,...p];k.length>0&&(O.attachments=k.map(e=>({id:e.id,name:e.file.name||`image`,size:e.file.size||0,type:e.file.type||``,preview:e.preview}))),y.messages.push(O);let A=r({id:s(),role:`assistant`,content:``,status:`pending`,createdAt:Date.now()});y.messages.push(A),y.isStreaming=!0;let j=`${c}:${g}:${E}`;n.begin(j);let F=[],I=y.sessionId,L=!1;try{let n=await fetch(`/api/agent/chat`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`text/event-stream`},body:JSON.stringify({sessionId:y.sessionId||``,userMessage:e,cwd:t.currentDirectory||``,engine:o.engine??M.value,...b.length>0?{images:b}:{},...w.length>0?{attachments:w}:{},...o.openFilePath?{openFilePath:o.openFilePath}:{},...o.dirStatus?.length?{dirStatus:o.dirStatus}:{},...o.dirSummary?{dirSummary:o.dirSummary}:{},...o.allowDispatch?{allowDispatch:!0,dispatchExecutor:o.dispatchExecutor||``,dispatchUseDefaultPrompt:o.dispatchUseDefaultPrompt!==!1}:{}}),signal:D.signal});if(E!==y.nonce)return;if(!n.ok||!n.body){let e=await n.text().catch(()=>``);throw Error(e||`HTTP ${n.status}`)}let i=n.body.getReader(),a=new TextDecoder(`utf-8`),c=``;for(;;){let{value:t,done:n}=await i.read();if(E!==y.nonce)return;if(n)break;c+=a.decode(t,{stream:!0});let o=c.split(`
4
- `);c=o.pop()??``;for(let t of o){let n=t.trim();if(!n.startsWith(`data:`))continue;let i=n.slice(5).trim();if(!i)continue;let a;try{a=JSON.parse(i)}catch{continue}switch(a.type){case`meta`:if(a.sessionId){let t=String(a.sessionId);if(I=t,y.sessionId!==t){let e=y.key;y.sessionId=t,y.key=t,e!==t&&(_.delete(e),_.set(t,y),v.value===e&&(v.value=t))}let n=String(a.title||``).trim()||e.trim().split(`
5
- `)[0].trim().slice(0,40)||d(`@AGENT:无标题`);y.title||=n,W(t,n)}break;case`thinking`:A.reasoning||(A.reasoning=``,A.reasoningStatus=`streaming`),typeof A.reasoningStartedAt!=`number`&&(A.reasoningStartedAt=Date.now()),A.reasoningEndedAt=Date.now(),A.reasoning+=String(a.delta||``),A.status=`streaming`;break;case`content`:A.status===`pending`&&(A.status=`streaming`);{let e=String(a.delta||``);A.content+=e;let t=u(A.content);t.reasoning&&(A.reasoning||(A.reasoning=``,A.reasoningStatus=`streaming`),A.reasoning=t.reasoning,A.content=t.content)}break;case`tool_call_start`:{let e=r({id:a.toolCallId||s(),name:a.name||``,argsPreview:a.argsPreview||``,arguments:a.arguments||a.argsPreview||``,status:`running`,result:``});F.push(e),A.toolCalls||=[],A.toolCalls.push(e),A.status===`pending`&&(A.status=`streaming`);break}case`tool_output`:{let e=F.find(e=>e.id===a.toolCallId);if(e){let t=`${e.result||``}${String(a.chunk||``)}`;e.result=t.length>N?`…(前文已截断)\n${t.slice(-65536)}`:t}break}case`tool_result`:{let e=F.find(e=>e.id===a.toolCallId);e&&(e.result=String(a.result||``),e.status=`done`,e.name===`ask_user`&&(y.pendingQuestion=null));break}case`ask_user`:y.pendingQuestion={interactionId:String(a.interactionId||``),question:String(a.question||``),options:Array.isArray(a.options)?a.options.map(e=>String(e)):[],allowFreeText:a.allowFreeText!==!1,multiple:a.multiple===!0};break;case`done`:{let e=a.content||A.content,t=u(e);t.reasoning&&!A.reasoning&&(A.reasoning=t.reasoning),A.content=t.content,A.status=`done`,A.reasoningStatus===`streaming`&&(A.reasoningStatus=`done`);break}case`error`:A.status=`error`,A.error=String(a.error||d(`@AGENT:未知错误`)),A.reasoningStatus===`streaming`&&(A.reasoningStatus=`done`)}}}if(E!==y.nonce)return;A.status===`pending`&&(A.status=`done`)}catch(e){if(E!==y.nonce)return;e?.name===`AbortError`||D.signal.aborted?(L=!0,A.content=(A.content||``)+`
6
-
7
- [`+d(`@AGENT:已停止`)+`]`,A.status=`done`,A.reasoningStatus===`streaming`&&(A.reasoningStatus=`done`)):(A.status=`error`,A.error=e?.message||String(e),i.error(A.error||d(`@AGENT:对话失败`)))}finally{let e=!!y.pendingQuestion,t=A.status===`error`?`error`:`done`;n.end(j),E===y.nonce&&(y.isStreaming=!1,y.pendingQuestion=null,y.answeringQuestion=!1,y.abortController=null,!L&&!e&&S({kind:t,title:y.title,detail:t===`error`&&A.error||A.content,tag:`zen-gitsync-agent-${I||y.key}`,alreadyToast:t===`error`})),I&&(L&&C.add(I),G(I)),U().catch(()=>{})}}async function Z(e){let t=E.value,n=t?.pendingQuestion,r=t?.sessionId,a=(Array.isArray(e)?e:[e]).map(e=>String(e??``).trim()).filter(Boolean);if(!t||!n||!r||!a.length||t.answeringQuestion)return!1;t.answeringQuestion=!0;try{let e=await fetch(`/api/agent/respond`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:r,interactionId:n.interactionId,answer:n.multiple?a:a[0]})}).then(e=>e.json());if(!e.success)throw Error(e.error||d(`@AGENT:回答提交失败`));return t.pendingQuestion=null,!0}catch(e){return i.error(e?.message||d(`@AGENT:回答提交失败`)),!1}finally{t.answeringQuestion=!1}}function Q(){let e=E.value;e?.abortController&&(e.abortController.abort(),e.abortController=null)}return{sessions:l,sessionsLoading:f,currentSessionId:v,messages:O,isStreaming:k,sessionLoading:y,pendingQuestion:z,answeringQuestion:B,isSessionGenerating:V,currentEngine:M,pendingEngine:p,isEngineLocked:L,pickEngine:g,loadSessions:U,loadSession:K,deleteSession:q,renameSession:J,newSession:Y,sendMessage:X,answerQuestion:Z,stop:Q}}var V=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%20fill='none'%3e%3crect%20x='2'%20y='6'%20width='27'%20height='23'%20rx='6'%20fill='%235364E8'/%3e%3cpath%20d='M9.419%2012.581a1.3%201.3%200%200%200-1.838%201.838L11.162%2018l-3.581%203.581a1.3%201.3%200%200%200%201.838%201.838l4.5-4.5a1.3%201.3%200%200%200%200-1.838Z'%20fill='%23FFFFFF'/%3e%3crect%20x='15.7'%20y='21.2'%20width='7.6'%20height='2.6'%20rx='1.3'%20fill='%23FFFFFF'/%3e%3cpath%20d='M25%20.4%2027.115%204.885%2031.6%207l-4.485%202.115L25%2013.6l-2.115-4.485L18.4%207l4.485-2.115Z'%20fill='%23FFFFFF'/%3e%3cpath%20d='M25%202.5%2026.22%205.78%2029.5%207l-3.28%201.22L25%2011.5l-1.22-3.28L20.5%207l3.28-1.22Z'%20fill='%2339D7B5'/%3e%3c/svg%3e`;function H(e){if(!e)return``;try{let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=new Date,r=n.getTime()-t.getTime(),i=e=>String(e).padStart(2,`0`);if(t.toDateString()===n.toDateString())return`${i(t.getHours())}:${i(t.getMinutes())}`;if(r<6048e5){let e=Math.floor(r/864e5);return e===0?d(`@AGENT:今天`):`${e}${d(`@AGENT:天前`)}`}return`${t.getFullYear()}-${i(t.getMonth()+1)}-${i(t.getDate())}`}catch{return e}}function U(e,t){return e.map(e=>({id:e.sessionId,title:e.title||d(`@AGENT:无标题`),meta:`${H(e.updatedAt)} · ${e.messageCount??0} ${d(`@AGENT:条`)}`,generatingText:e.isGenerating||t(e.sessionId)?d(`@AGENT:正在生成中...`):``,badge:e.source===`cli`?`CLI`:``,searchText:e.model}))}function W(){return{newConversation:d(`@AGENT:新建会话`),searchPlaceholder:d(`@AGENT:搜索会话...`),empty:d(`@AGENT:暂无会话`),emptyHint:d(`@AGENT:点击上方按钮开始对话`),noResult:d(`@AGENT:未找到匹配的会话`),loading:d(`@AGENT:加载会话中...`),rename:d(`@AGENT:重命名`),delete:d(`@AGENT:删除`),untitled:d(`@AGENT:无标题`)}}var G=`g ai`,K=V;function q(){return{title:d(`@AGENT:等待你的回答`),placeholder:d(`@AGENT:输入回答`),submit:d(`@AGENT:提交回答`)}}export{U as a,T as c,k as d,q as i,w as l,G as n,M as o,W as r,B as s,K as t,O as u};
@@ -1 +0,0 @@
1
- .form-wrap[data-v-857572e3]{flex-direction:column;gap:18px;width:100%;display:flex}.field[data-v-857572e3]{flex-direction:column;gap:6px;display:flex}.field-label[data-v-857572e3]{color:var(--text);align-items:center;gap:4px;font-size:13px;font-weight:500;display:flex}.required[data-v-857572e3]{color:var(--error);font-size:12px}.input-wrap[data-v-857572e3]{align-items:center;display:flex;position:relative}.field-icon[data-v-857572e3]{pointer-events:none;flex-shrink:0;position:absolute;left:10px}.text-input[data-v-857572e3]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:38px;color:var(--text);font-family:var(--font);transition:border-color var(--t),box-shadow var(--t);outline:none;padding:0 36px 0 34px;font-size:13.5px}.text-input[data-v-857572e3]::placeholder{color:var(--text-muted)}.text-input[data-v-857572e3]:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-dim)}.eye-btn[data-v-857572e3]{cursor:pointer;color:var(--text-dim);transition:color var(--t);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.eye-btn[data-v-857572e3]:hover{color:var(--text)}.combobox[data-v-857572e3]{position:relative}.combo-input-row[data-v-857572e3]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--t),box-shadow var(--t);align-items:center;display:flex}.combobox.open .combo-input-row[data-v-857572e3],.combo-input-row[data-v-857572e3]:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-dim)}.combobox.error .combo-input-row[data-v-857572e3]{border-color:var(--error)}.combo-input[data-v-857572e3]{height:38px;color:var(--text);font-family:var(--font);background:0 0;border:none;outline:none;flex:1;padding:0 4px 0 34px;font-size:13.5px}.combo-input[data-v-857572e3]::placeholder{color:var(--text-muted)}.combo-arrow[data-v-857572e3]{cursor:pointer;height:38px;color:var(--text-dim);transition:color var(--t);border-radius:0 var(--radius) var(--radius) 0;background:0 0;border:none;align-items:center;padding:0 10px;display:flex}.combo-arrow[data-v-857572e3]:hover{color:var(--text)}.combo-clear[data-v-857572e3]{cursor:pointer;height:38px;color:var(--text-dim);transition:color var(--t);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 6px;display:flex}.combo-clear[data-v-857572e3]:hover{color:var(--text)}.text-input.has-two-right[data-v-857572e3]{padding-right:68px}.dropdown[data-v-857572e3]{z-index:200;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);max-height:220px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000073}.dropdown-item[data-v-857572e3]{cursor:pointer;text-align:left;width:100%;transition:background var(--t);background:0 0;border:none;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.dropdown-item.has-logo[data-v-857572e3]{grid-template-columns:20px 1fr auto auto}.dropdown-item[data-v-857572e3]:hover{background:var(--bg-surface)}.dropdown-item.active[data-v-857572e3]{background:var(--primary-dim)}.item-label[data-v-857572e3]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.item-url[data-v-857572e3]{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.item-check[data-v-857572e3]{flex-shrink:0}.item-logo[data-v-857572e3]{object-fit:contain;border-radius:3px;flex-shrink:0;width:16px;height:16px}.provider-logo[data-v-857572e3]{object-fit:contain;pointer-events:none;width:15px;height:15px}.dropdown-loading[data-v-857572e3]{color:var(--text-dim);align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.field-error[data-v-857572e3]{color:var(--error);align-items:center;gap:5px;font-size:12px;display:flex}.test-banner[data-v-857572e3]{border-radius:var(--radius);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.test-banner.ok[data-v-857572e3]{background:var(--success-dim);color:var(--success);border:1px solid #10b98140}.test-banner.fail[data-v-857572e3]{background:var(--error-dim);color:var(--error);border:1px solid #ef444440}.actions[data-v-857572e3]{justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.actions-right[data-v-857572e3]{gap:10px;display:flex}.btn[data-v-857572e3]{border-radius:var(--radius);height:36px;font-family:var(--font);cursor:pointer;transition:background var(--t),border-color var(--t),opacity var(--t),box-shadow var(--t);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.btn[data-v-857572e3]:disabled{opacity:.5;cursor:not-allowed}.btn-ghost[data-v-857572e3]{color:var(--text-dim);background:0 0;border-color:#0000}.btn-ghost[data-v-857572e3]:hover:not(:disabled){color:var(--text);background:var(--bg-elevated)}.btn-outline[data-v-857572e3]{color:var(--text);border-color:var(--border);background:0 0}.btn-outline[data-v-857572e3]:hover:not(:disabled){border-color:var(--border-focus);background:var(--primary-dim);color:var(--primary)}.btn-primary[data-v-857572e3]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-857572e3]:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-dim)}.banner-enter-active[data-v-857572e3],.banner-leave-active[data-v-857572e3]{transition:opacity .2s,transform .2s}.banner-enter-from[data-v-857572e3],.banner-leave-to[data-v-857572e3]{opacity:0;transform:translateY(-4px)}@keyframes spin-857572e3{to{transform:rotate(360deg)}}.spin[data-v-857572e3]{animation:.8s linear infinite spin-857572e3}.svg-icon[data-v-f85b4ad8]{vertical-align:middle;flex-shrink:0;display:inline-block}.modal-overlay[data-v-bea8e7a7]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container[data-v-bea8e7a7]{background:#1a1d27;border:1px solid #2d3348;border-radius:12px;flex-direction:column;width:860px;max-width:95vw;height:600px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.modal-header[data-v-bea8e7a7]{background:#222633;border-bottom:1px solid #2d3348;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-title[data-v-bea8e7a7]{color:#e4e7ef;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;display:flex}.close-btn[data-v-bea8e7a7]{color:#8b91a8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 8px;transition:all .15s;display:inline-flex}.close-btn[data-v-bea8e7a7]:hover{color:#f87171;background:#f871711a}.toolbar[data-v-bea8e7a7]{background:#1e2230;border-bottom:1px solid #2d3348;align-items:center;gap:6px;padding:10px 16px;display:flex}.tool-btn[data-v-bea8e7a7]{color:#e4e7ef;cursor:pointer;white-space:nowrap;background:#2d3348;border:1px solid #3a4160;border-radius:6px;align-items:center;gap:4px;padding:5px 12px;font-size:.82rem;transition:all .15s;display:inline-flex}.tool-btn[data-v-bea8e7a7]:hover:not(:disabled){background:#3a4160}.tool-btn[data-v-bea8e7a7]:disabled{opacity:.4;cursor:not-allowed}.tool-btn-icon[data-v-bea8e7a7]{justify-content:center;gap:0;padding:5px 8px}.address-bar[data-v-bea8e7a7]{background:#2d3348;border:1px solid #3a4160;border-radius:6px;flex:1;align-items:center;gap:6px;min-width:0;margin-left:8px;padding:2px 8px;transition:border-color .15s;display:flex}.address-bar[data-v-bea8e7a7]:focus-within{border-color:#6c8cff}.address-bar.has-error[data-v-bea8e7a7]{border-color:#f87171}.address-bar-icon[data-v-bea8e7a7]{flex-shrink:0}.address-bar-input[data-v-bea8e7a7]{color:#e4e7ef;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:4px 0;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.84rem;line-height:1.3}.address-bar-input[data-v-bea8e7a7]::placeholder{color:#5a6180;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.address-bar-clear[data-v-bea8e7a7]{color:#f87171;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.address-bar-clear[data-v-bea8e7a7]:hover{background:#f871711f}.search-bar[data-v-bea8e7a7]{background:#1e2230;border-bottom:1px solid #2d3348;align-items:center;gap:8px;padding:8px 16px;display:flex}.search-icon[data-v-bea8e7a7]{flex-shrink:0}.search-input[data-v-bea8e7a7]{color:#e4e7ef;background:#2d3348;border:1px solid #3a4160;border-radius:6px;outline:none;flex:1;padding:6px 10px;font-size:.85rem;transition:border-color .2s}.search-input[data-v-bea8e7a7]::placeholder{color:#5a6180}.search-input[data-v-bea8e7a7]:focus{border-color:#6c8cff}.clear-search[data-v-bea8e7a7]{color:#8b91a8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.clear-search[data-v-bea8e7a7]:hover{color:#f87171}.global-toggle[data-v-bea8e7a7]{flex-shrink:0;align-items:center;gap:6px;margin-left:4px;display:flex}.toggle-label[data-v-bea8e7a7]{color:#5a6180;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:.78rem}.toggle-switch[data-v-bea8e7a7]{cursor:pointer;background:#2d3348;border:1px solid #3a4160;border-radius:9px;flex-shrink:0;width:34px;height:18px;padding:0;transition:all .2s;position:relative}.toggle-switch.active[data-v-bea8e7a7]{background:#6c8cff;border-color:#6c8cff}.toggle-knob[data-v-bea8e7a7]{background:#8b91a8;border-radius:50%;width:12px;height:12px;transition:all .2s;position:absolute;top:2px;left:2px}.toggle-switch.active .toggle-knob[data-v-bea8e7a7]{background:#fff;left:18px}.index-status[data-v-bea8e7a7]{cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:2px 6px;transition:all .15s;display:flex}.index-status[data-v-bea8e7a7]:hover{background:#ffffff0d}.index-status.idle[data-v-bea8e7a7]{color:#f59e0b;background:#f59e0b0f;border:1px dashed #f59e0b80}.index-status.idle[data-v-bea8e7a7]:hover{background:#f59e0b24;border-color:#f59e0bd9;transform:translateY(-1px)}.index-status.idle .status-text[data-v-bea8e7a7]{color:#f59e0b;font-weight:500}.status-dot[data-v-bea8e7a7]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.index-status.ready .status-dot[data-v-bea8e7a7]{background:#34d399;box-shadow:0 0 4px #34d399}.index-status.indexing .status-dot[data-v-bea8e7a7]{background:#f59e0b;animation:1s ease-in-out infinite pulse-bea8e7a7}.index-status.idle .status-dot[data-v-bea8e7a7],.index-status.error .status-dot[data-v-bea8e7a7]{background:#6b7280}@keyframes pulse-bea8e7a7{0%,to{opacity:1}50%{opacity:.4}}.status-text[data-v-bea8e7a7]{color:#5a6180;white-space:nowrap;font-size:.72rem}.status-icon[data-v-bea8e7a7]{color:inherit;flex-shrink:0}.engine-badge[data-v-bea8e7a7]{white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:.72rem}.engine-badge.index[data-v-bea8e7a7]{color:#34d399;background:#34d39926}.engine-badge.walk[data-v-bea8e7a7]{color:#f59e0b;background:#f59e0b26}.modal-body[data-v-bea8e7a7]{flex:1;display:flex;overflow:hidden}.sidebar[data-v-bea8e7a7]{background:#1e2230;border-right:1px solid #2d3348;flex-shrink:0;width:160px;overflow-y:auto}.sidebar-section[data-v-bea8e7a7]{border-bottom:1px solid #2d3348;padding:10px 0}.sidebar-title[data-v-bea8e7a7]{color:#5a6180;text-transform:uppercase;letter-spacing:.5px;padding:0 14px 6px;font-size:.72rem;font-weight:600}.sidebar-item[data-v-bea8e7a7]{color:#c0c5d8;cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;transition:all .15s;display:flex}.sidebar-item[data-v-bea8e7a7]:hover{color:#6c8cff;background:#6c8cff14}.sidebar-item.active[data-v-bea8e7a7]{color:#6c8cff;background:#6c8cff26}.file-list-container[data-v-bea8e7a7]{flex:1;padding:4px 0;overflow-y:auto}.loading-state[data-v-bea8e7a7],.error-state[data-v-bea8e7a7],.empty-state[data-v-bea8e7a7]{color:#8b91a8;justify-content:center;align-items:center;gap:8px;height:200px;font-size:.9rem;display:flex}.error-state[data-v-bea8e7a7]{color:#f87171}.spinner[data-v-bea8e7a7]{vertical-align:middle;border:2px solid #2d3348;border-top-color:#6c8cff;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.6s linear infinite spin-bea8e7a7;display:inline-block}@keyframes spin-bea8e7a7{to{transform:rotate(360deg)}}.file-list[data-v-bea8e7a7]{padding:0}.search-results-info[data-v-bea8e7a7]{color:#8b91a8;background:#6c8cff0a;border-bottom:1px solid #2d3348;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;display:flex}.search-results-info strong[data-v-bea8e7a7]{color:#6c8cff}.truncated-hint[data-v-bea8e7a7]{color:#f59e0b;font-size:.76rem}.elapsed-hint[data-v-bea8e7a7]{color:#5a6180;margin-left:auto;font-size:.74rem}.file-parent-path[data-v-bea8e7a7]{color:#5a6180;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:200px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.76rem;overflow:hidden}.select-current-dir[data-v-bea8e7a7]{background:#a78bfa14;border-bottom:1px solid #a78bfa26}.select-current-dir[data-v-bea8e7a7]:hover{background:#a78bfa26}.select-current-dir.selected[data-v-bea8e7a7]{background:#a78bfa40}.file-path-hint[data-v-bea8e7a7]{color:#8b91a8;text-overflow:ellipsis;white-space:nowrap;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.78rem;overflow:hidden}.file-row[data-v-bea8e7a7]{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #2d33484d;align-items:center;gap:8px;padding:7px 16px;transition:background .1s;display:flex}.file-row[data-v-bea8e7a7]:hover{background:#6c8cff0f}.file-row.selected[data-v-bea8e7a7]{background:#6c8cff26;border-color:#6c8cff33}.file-row.is-directory .file-name[data-v-bea8e7a7]{font-weight:500}.file-icon[data-v-bea8e7a7]{flex-shrink:0;align-items:center;display:inline-flex}.file-name[data-v-bea8e7a7]{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.88rem;overflow:hidden}.file-size[data-v-bea8e7a7]{color:#8b91a8;white-space:nowrap;text-align:right;flex-shrink:0;width:70px;font-size:.78rem}.file-modified[data-v-bea8e7a7]{color:#5a6180;white-space:nowrap;text-align:right;flex-shrink:0;width:120px;font-size:.76rem}.modal-footer[data-v-bea8e7a7]{background:#222633;border-top:1px solid #2d3348;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.selected-info[data-v-bea8e7a7]{font-size:.85rem}.no-selection[data-v-bea8e7a7]{color:#5a6180}.has-selection[data-v-bea8e7a7]{color:#6c8cff}.single-path[data-v-bea8e7a7]{text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.82rem;display:block;overflow:hidden}.footer-actions[data-v-bea8e7a7]{gap:10px;display:flex}.btn[data-v-bea8e7a7]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px 20px;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.btn[data-v-bea8e7a7]:disabled{opacity:.4;cursor:not-allowed}.btn-cancel[data-v-bea8e7a7]{color:#c0c5d8;background:#2d3348}.btn-cancel[data-v-bea8e7a7]:hover:not(:disabled){background:#3a4160}.btn-confirm[data-v-bea8e7a7]{color:#fff;background:#6c8cff}.btn-confirm[data-v-bea8e7a7]:hover:not(:disabled){background:#5a7af0}.mkdir-overlay[data-v-bea8e7a7]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mkdir-dialog[data-v-bea8e7a7]{background:#1e2230;border:1px solid #3a4160;border-radius:10px;flex-direction:column;width:420px;max-width:90%;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000080}.mkdir-header[data-v-bea8e7a7]{background:#222633;border-bottom:1px solid #2d3348;align-items:center;gap:8px;padding:14px 18px;display:flex}.mkdir-title[data-v-bea8e7a7]{color:#e4e7ef;font-size:.95rem;font-weight:600}.mkdir-body[data-v-bea8e7a7]{flex-direction:column;gap:6px;padding:16px 18px;display:flex}.mkdir-label[data-v-bea8e7a7]{color:#8b91a8;margin-top:4px;font-size:.78rem}.mkdir-parent-path[data-v-bea8e7a7]{color:#c0c5d8;text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;background:#2d3348;border:1px solid #3a4160;border-radius:6px;padding:6px 10px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.82rem;overflow:hidden}.mkdir-input[data-v-bea8e7a7]{color:#e4e7ef;background:#2d3348;border:1px solid #3a4160;border-radius:6px;outline:none;padding:8px 10px;font-size:.9rem;transition:border-color .15s}.mkdir-input[data-v-bea8e7a7]::placeholder{color:#5a6180}.mkdir-input[data-v-bea8e7a7]:focus{border-color:#a78bfa}.mkdir-input.has-error[data-v-bea8e7a7]{border-color:#f87171}.mkdir-error[data-v-bea8e7a7]{color:#f87171;align-items:center;gap:4px;margin-top:4px;font-size:.78rem;display:flex}.mkdir-hint[data-v-bea8e7a7]{color:#5a6180;margin-top:4px;font-size:.76rem}.mkdir-footer[data-v-bea8e7a7]{background:#1a1d27;border-top:1px solid #2d3348;justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.modal-theme-light[data-v-bea8e7a7]{background:#fff;border-color:#e2e8f0;box-shadow:0 20px 60px #00000026}.modal-theme-light .modal-header[data-v-bea8e7a7]{background:#f8fafc;border-color:#e2e8f0}.modal-theme-light .modal-title[data-v-bea8e7a7]{color:#1e293b}.modal-theme-light .close-btn[data-v-bea8e7a7]{color:#64748b}.modal-theme-light .close-btn[data-v-bea8e7a7]:hover{color:#ef4444;background:#ef444414}.modal-theme-light .toolbar[data-v-bea8e7a7]{background:#f1f5f9;border-color:#e2e8f0}.modal-theme-light .tool-btn[data-v-bea8e7a7]{color:#1e293b;background:#e2e8f0;border-color:#cbd5e1}.modal-theme-light .tool-btn[data-v-bea8e7a7]:hover:not(:disabled){background:#cbd5e1}.modal-theme-light .address-bar[data-v-bea8e7a7]{background:#fff;border-color:#cbd5e1}.modal-theme-light .address-bar[data-v-bea8e7a7]:focus-within{border-color:#3b82f6}.modal-theme-light .address-bar.has-error[data-v-bea8e7a7]{border-color:#ef4444}.modal-theme-light .address-bar-input[data-v-bea8e7a7]{color:#1e293b}.modal-theme-light .address-bar-input[data-v-bea8e7a7]::placeholder{color:#94a3b8}.modal-theme-light .address-bar-clear[data-v-bea8e7a7]{color:#ef4444}.modal-theme-light .address-bar-clear[data-v-bea8e7a7]:hover{background:#ef444414}.modal-theme-light .search-bar[data-v-bea8e7a7]{background:#f1f5f9;border-color:#e2e8f0}.modal-theme-light .search-input[data-v-bea8e7a7]{color:#1e293b;background:#fff;border-color:#cbd5e1}.modal-theme-light .search-input[data-v-bea8e7a7]::placeholder{color:#94a3b8}.modal-theme-light .search-input[data-v-bea8e7a7]:focus{border-color:#3b82f6}.modal-theme-light .toggle-label[data-v-bea8e7a7]{color:#94a3b8}.modal-theme-light .toggle-switch[data-v-bea8e7a7]{background:#e2e8f0;border-color:#cbd5e1}.modal-theme-light .toggle-switch.active[data-v-bea8e7a7]{background:#3b82f6;border-color:#3b82f6}.modal-theme-light .toggle-knob[data-v-bea8e7a7]{background:#94a3b8}.modal-theme-light .sidebar[data-v-bea8e7a7]{background:#f8fafc;border-color:#e2e8f0}.modal-theme-light .sidebar-section[data-v-bea8e7a7]{border-color:#e2e8f0}.modal-theme-light .sidebar-title[data-v-bea8e7a7]{color:#94a3b8}.modal-theme-light .sidebar-item[data-v-bea8e7a7]{color:#475569}.modal-theme-light .sidebar-item[data-v-bea8e7a7]:hover{color:#3b82f6;background:#3b82f60f}.modal-theme-light .sidebar-item.active[data-v-bea8e7a7]{color:#3b82f6;background:#3b82f61a}.modal-theme-light .file-list-container[data-v-bea8e7a7]{background:#fff}.modal-theme-light .file-row[data-v-bea8e7a7]{color:#1e293b;border-color:#e2e8f099}.modal-theme-light .file-row[data-v-bea8e7a7]:hover{background:#3b82f60d}.modal-theme-light .file-row.selected[data-v-bea8e7a7]{background:#3b82f61a;border-color:#3b82f633}.modal-theme-light .file-row.is-directory .file-name[data-v-bea8e7a7]{color:#0f172a}.modal-theme-light .file-size[data-v-bea8e7a7]{color:#64748b}.modal-theme-light .file-modified[data-v-bea8e7a7]{color:#94a3b8}.modal-theme-light .file-path-hint[data-v-bea8e7a7]{color:#64748b}.modal-theme-light .file-parent-path[data-v-bea8e7a7]{color:#94a3b8}.modal-theme-light .select-current-dir[data-v-bea8e7a7]{background:#8b5cf60d;border-color:#8b5cf61a}.modal-theme-light .select-current-dir[data-v-bea8e7a7]:hover{background:#8b5cf61a}.modal-theme-light .select-current-dir.selected[data-v-bea8e7a7]{background:#8b5cf626}.modal-theme-light .search-results-info[data-v-bea8e7a7]{color:#64748b;background:#3b82f608;border-color:#e2e8f0}.modal-theme-light .loading-state[data-v-bea8e7a7],.modal-theme-light .empty-state[data-v-bea8e7a7]{color:#64748b}.modal-theme-light .error-state[data-v-bea8e7a7]{color:#ef4444}.modal-theme-light .modal-footer[data-v-bea8e7a7]{background:#f8fafc;border-color:#e2e8f0}.modal-theme-light .no-selection[data-v-bea8e7a7]{color:#94a3b8}.modal-theme-light .has-selection[data-v-bea8e7a7]{color:#3b82f6}.modal-theme-light .btn-cancel[data-v-bea8e7a7]{color:#475569;background:#e2e8f0}.modal-theme-light .btn-cancel[data-v-bea8e7a7]:hover:not(:disabled){background:#cbd5e1}.modal-theme-light .btn-confirm[data-v-bea8e7a7]{background:#3b82f6}.modal-theme-light .btn-confirm[data-v-bea8e7a7]:hover:not(:disabled){background:#2563eb}.modal-theme-light.mkdir-dialog[data-v-bea8e7a7],.mkdir-dialog.modal-theme-light[data-v-bea8e7a7]{background:#fff;border-color:#cbd5e1;box-shadow:0 16px 40px #00000026}.modal-theme-light .mkdir-header[data-v-bea8e7a7]{background:#f8fafc;border-color:#e2e8f0}.modal-theme-light .mkdir-title[data-v-bea8e7a7]{color:#1e293b}.modal-theme-light .mkdir-label[data-v-bea8e7a7]{color:#64748b}.modal-theme-light .mkdir-parent-path[data-v-bea8e7a7]{color:#1e293b;background:#f1f5f9;border-color:#cbd5e1}.modal-theme-light .mkdir-input[data-v-bea8e7a7]{color:#1e293b;background:#fff;border-color:#cbd5e1}.modal-theme-light .mkdir-input[data-v-bea8e7a7]:focus{border-color:#8b5cf6}.modal-theme-light .mkdir-footer[data-v-bea8e7a7]{background:#f8fafc;border-color:#e2e8f0}:root{--acu-overlay-scrim:#09090be0;--acu-overlay-surface:#ffffff1f;--acu-overlay-surface-hover:#ffffff3d;--acu-overlay-text:#fafafa;--acu-overlay-text-muted:#ffffffb8;--acu-overlay-ring:#ffffffb3;--acu-overlay-shadow:0 18px 60px #0000008c}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--acu-bg:#fcfcfd;--acu-surface:#f7f8fa;--acu-surface-2:#eef0f4;--acu-surface-hover:#f1f2f6;--acu-text:#18181b;--acu-text-secondary:#54545e;--acu-text-muted:#74747e;--acu-border:#e8e9ef;--acu-border-strong:#d6d8e0;--acu-card-bg:#fff;--acu-card-border:#dfe0e9;--acu-card-border-hover:#c3c5d4;--acu-primary:#6366f1;--acu-primary-hover:#5457e5;--acu-primary-active:#4f46e5;--acu-primary-contrast:#fff;--acu-primary-soft:#6366f117;--acu-primary-soft-hover:#6366f124;--acu-bubble-assistant-bg:transparent;--acu-bubble-assistant-text:#18181b;--acu-bubble-assistant-border:transparent;--acu-bubble-user-bg:#eceefe;--acu-bubble-user-text:#312e81;--acu-bubble-max-width:min(680px, 78%);--acu-thinking-bg:#f7f8fa;--acu-thinking-text:#55555f;--acu-thinking-border:#e8e9ef;--acu-thinking-icon:#74747e;--acu-code-bg:#f6f8fa;--acu-code-text:#24292f;--acu-code-border:#e4e4e7;--acu-code-inline-bg:#afb8c133;--acu-code-header-bg:#eceef1;--acu-error:#ef4444;--acu-error-soft:#ef44441a;--acu-error-soft-hover:#ef44442e;--acu-success:#10b981;--acu-warning:#f59e0b;--acu-shadow-sm:0 1px 1px #18182308, 0 1px 2px #1818230a;--acu-shadow:0 2px 4px #1818230a, 0 6px 16px #18182312;--acu-shadow-lg:0 8px 24px #18182312, 0 20px 48px #1818231a;--acu-radius-xs:4px;--acu-radius-sm:8px;--acu-radius:12px;--acu-radius-md:14px;--acu-radius-lg:18px;--acu-radius-xl:20px;--acu-radius-full:9999px;--acu-space-0-5:2px;--acu-space-1:4px;--acu-space-1-5:6px;--acu-space-2:8px;--acu-space-2-5:10px;--acu-space-3:12px;--acu-space-3-5:14px;--acu-space-4:16px;--acu-space-5:20px;--acu-space-6:24px;--acu-space-8:32px;--acu-turn-gap:var(--acu-space-4);--acu-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--acu-font-mono:"SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--acu-font-size-2xs:11px;--acu-font-size-xs:12px;--acu-font-size-sm:13px;--acu-font-size-base:14px;--acu-font-size-md:15px;--acu-font-size-lg:16px;--acu-font-size-xl:18px;--acu-font-size-2xl:22px;--acu-font-size-3xl:26px;--acu-line-height:1.65;--acu-line-height-heading:1.25;--acu-line-height-tight:1.5;--acu-line-height-relaxed:1.7;--acu-duration-fast:.15s;--acu-duration:.2s;--acu-easing:cubic-bezier(.22, 1, .36, 1);--acu-max-width:min(100%, 920px);--acu-avatar-size:32px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--acu-bg:#17171c;--acu-surface:#24242b;--acu-surface-2:#2f2f39;--acu-surface-hover:#2a2a32;--acu-text:#f4f4f5;--acu-text-secondary:#a5a5b0;--acu-text-muted:#93939f;--acu-border:#2b2b33;--acu-border-strong:#55555f;--acu-card-bg:#1e1e25;--acu-card-border:#2f2f39;--acu-card-border-hover:#454554;--acu-primary:#818cf8;--acu-primary-hover:#6366f1;--acu-primary-active:#5457e5;--acu-primary-contrast:#18181b;--acu-primary-soft:#818cf824;--acu-primary-soft-hover:#818cf838;--acu-bubble-user-bg:#2b2f52;--acu-bubble-user-text:#e4e7ff;--acu-bubble-assistant-bg:transparent;--acu-bubble-assistant-text:#f4f4f5;--acu-bubble-assistant-border:transparent;--acu-thinking-bg:#1c1c22;--acu-thinking-text:#a5a5b0;--acu-thinking-border:#2b2b33;--acu-thinking-icon:#93939f;--acu-code-bg:#0d1117;--acu-code-text:#e6edf3;--acu-code-border:#30363d;--acu-code-inline-bg:#6e768166;--acu-code-header-bg:#161b22;--acu-error:#f87171;--acu-error-soft:#f8717124;--acu-error-soft-hover:#f871713d;--acu-success:#34d399;--acu-warning:#fbbf24;--acu-shadow-sm:0 1px 1px #0003, 0 1px 2px #00000052;--acu-shadow:0 2px 4px #0000004d, 0 6px 16px #0006;--acu-shadow-lg:0 8px 24px #0006, 0 20px 48px #00000080}.acu-root,.acu-root *,.acu-root :before,.acu-root :after{box-sizing:border-box}.acu-root{font-family:var(--acu-font-sans);font-size:var(--acu-font-size-base);line-height:var(--acu-line-height);color:var(--acu-text);background:var(--acu-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}.acu-root a{color:var(--acu-primary);text-decoration:none}.acu-root a:hover{text-decoration:underline}.acu-transition{transition:all var(--acu-duration) var(--acu-easing)}.acu-cursor{vertical-align:text-bottom;background:var(--acu-primary);border-radius:1px;width:7px;height:1.05em;margin-left:2px;animation:1s steps(2,start) infinite acu-blink;display:inline-block}@keyframes acu-blink{to{opacity:0}}.acu-typing-dots{align-items:center;gap:4px;display:inline-flex}.acu-typing-dots span{background:var(--acu-thinking-icon);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both acu-bounce}.acu-typing-dots span:first-child{animation-delay:-.32s}.acu-typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes acu-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes acu-pulse{0%,to{opacity:.55}50%{opacity:1}}.acu-thinking{margin-bottom:var(--acu-space-3);border:1px solid var(--acu-thinking-border);border-radius:var(--acu-radius);background:var(--acu-thinking-bg);overflow:hidden}.acu-thinking.is-streaming{border-color:var(--acu-primary-soft)}.acu-thinking-header{align-items:center;gap:var(--acu-space-2);width:100%;padding:var(--acu-space-2) var(--acu-space-3);color:var(--acu-thinking-text);font-size:var(--acu-font-size-sm);cursor:pointer;transition:background-color var(--acu-duration-fast) var(--acu-easing);background:0 0;border:none;font-family:inherit;display:flex}.acu-thinking-header:hover{background:var(--acu-surface-hover)}.acu-thinking-icon{color:var(--acu-thinking-icon);flex-shrink:0;display:inline-flex}.is-streaming .acu-thinking-icon{color:var(--acu-primary);animation:2s ease-in-out infinite acu-pulse}.acu-thinking-title{letter-spacing:.01em;font-weight:500}.acu-thinking-chevron{color:var(--acu-text-muted);transition:transform var(--acu-duration) var(--acu-easing);flex-shrink:0;margin-left:auto}.acu-thinking-chevron.is-open{transform:rotate(180deg)}.acu-thinking-body{padding:0 var(--acu-space-3) var(--acu-space-3);border-top:1px solid var(--acu-thinking-border);color:var(--acu-thinking-text);font-size:var(--acu-font-size-sm);line-height:var(--acu-line-height-relaxed)}.acu-thinking-body.is-scrollable{max-height:var(--acu-thinking-max-height,320px);overscroll-behavior:contain;overflow-y:auto}.acu-thinking-body.is-scrollable::-webkit-scrollbar{width:6px;height:6px}.acu-thinking-body.is-scrollable::-webkit-scrollbar-track{background:0 0}.acu-thinking-body.is-scrollable::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:3px}.acu-thinking-body.is-scrollable::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-thinking-body.is-scrollable{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-thinking-body.is-scrollbar-hover::-webkit-scrollbar-thumb{background-color:#0000}.acu-thinking-body.is-scrollbar-hover.is-scrollbar-visible::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong)}@supports not selector(::-webkit-scrollbar){.acu-thinking-body.is-scrollbar-hover{scrollbar-color:transparent transparent}.acu-thinking-body.is-scrollbar-hover.is-scrollbar-visible{scrollbar-color:var(--acu-border-strong) transparent}}.acu-thinking-body.is-scrollbar-hidden{scrollbar-width:none}.acu-thinking-body.is-scrollbar-hidden::-webkit-scrollbar{display:none}.acu-thinking-md .acu-thinking-body{padding-top:var(--acu-space-2);border-top:none}@media (prefers-reduced-motion:reduce){.acu-root *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.acu-md{font-size:var(--acu-font-size-md);line-height:var(--acu-line-height);color:var(--acu-bubble-assistant-text);word-wrap:break-word;overflow-wrap:anywhere}.acu-md>:first-child{margin-top:0}.acu-md>:last-child{margin-bottom:0}.acu-md p{margin:0 0 var(--acu-space-3);text-wrap:pretty}.acu-md h1,.acu-md h2,.acu-md h3,.acu-md h4,.acu-md h5,.acu-md h6{margin:var(--acu-space-6) 0 var(--acu-space-3);text-wrap:balance;font-weight:650;line-height:1.3}.acu-md h1{font-size:1.5em}.acu-md h2{font-size:1.32em}.acu-md h3{font-size:1.18em}.acu-md h4{font-size:1.06em}.acu-md ul,.acu-md ol{margin:0 0 var(--acu-space-3);padding-left:1.5em}.acu-md li{margin:var(--acu-space-1) 0;text-wrap:pretty}.acu-md li::marker{color:var(--acu-text-muted)}.acu-md ul ul,.acu-md ol ol,.acu-md ul ol,.acu-md ol ul{margin:var(--acu-space-1) 0}.acu-md li.task-list-item{margin-left:-1.4em;list-style:none}.acu-md a{color:var(--acu-primary);border-bottom:1px solid var(--acu-primary-soft);transition:border-color var(--acu-duration) var(--acu-easing);text-decoration:none}.acu-md a:hover{border-bottom-color:var(--acu-primary)}.acu-md strong{font-weight:650}.acu-md em{font-style:italic}.acu-md del{color:var(--acu-text-muted)}.acu-md hr{margin:var(--acu-space-5) 0;border:none;border-top:1px solid var(--acu-border)}.acu-md blockquote{margin:0 0 var(--acu-space-3);padding:var(--acu-space-3) var(--acu-space-4);background:var(--acu-primary-soft);border-radius:var(--acu-radius);color:var(--acu-text-secondary)}.acu-md blockquote>:last-child{margin-bottom:0}.acu-md code:not(pre code){font-family:var(--acu-font-mono);background:var(--acu-code-inline-bg);color:var(--acu-text);border-radius:var(--acu-radius-xs);margin:0 .1em;padding:.15em .4em;font-size:.88em}.acu-md table{width:100%;margin:0 0 var(--acu-space-3);border-collapse:collapse;font-size:.95em}.acu-md th,.acu-md td{padding:var(--acu-space-2) var(--acu-space-3);border-bottom:1px solid var(--acu-border);text-align:left;overflow-wrap:anywhere}.acu-md th{background:var(--acu-surface);border-bottom-color:var(--acu-border-strong);font-weight:600}.acu-md tbody tr:last-child td{border-bottom:none}.acu-md img.acu-md-img{border-radius:var(--acu-radius-sm);vertical-align:middle;max-width:100%}.acu-md .acu-code-block{margin:0 0 var(--acu-space-3);border:1px solid var(--acu-code-border);border-radius:var(--acu-radius);background:var(--acu-code-bg);overflow:hidden}.acu-md .acu-code-header{padding:0 var(--acu-space-3);background:var(--acu-code-header-bg);border-bottom:1px solid var(--acu-code-border);justify-content:space-between;align-items:center;height:34px;display:flex}.acu-md .acu-code-lang{font-family:var(--acu-font-mono);font-size:var(--acu-font-size-xs);color:var(--acu-text-muted);text-transform:lowercase;letter-spacing:.02em}.acu-md .acu-code-copy{padding:var(--acu-space-1) var(--acu-space-2);color:var(--acu-text-muted);font-size:var(--acu-font-size-xs);border-radius:var(--acu-radius-xs);cursor:pointer;transition:background-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing);background:0 0;border:none;align-items:center;gap:4px;font-family:inherit;display:inline-flex}.acu-md .acu-code-copy svg{display:block}.acu-md .acu-code-copy:hover{background:var(--acu-surface-2);color:var(--acu-text)}.acu-md .acu-code-copy:active{background:var(--acu-surface-hover)}.acu-md .acu-code-copy.is-copied{color:var(--acu-success)}.acu-md .acu-code-copy.is-error{color:var(--acu-error)}.acu-md .shiki{padding:var(--acu-space-4);font-family:var(--acu-font-mono);font-size:var(--acu-font-size-sm);margin:0;line-height:1.6;overflow-x:auto;background:var(--acu-code-bg)!important}.acu-md .shiki::-webkit-scrollbar{width:8px;height:8px}.acu-md .shiki::-webkit-scrollbar-track{background:0 0}.acu-md .shiki::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:4px}.acu-md .shiki::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-md .shiki{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-md .shiki code{background:0 0;padding:0;font-family:inherit}.acu-md .shiki,.acu-md .shiki span{color:var(--shiki-light,inherit);font-style:var(--shiki-light-font-style,normal);font-weight:var(--shiki-light-font-weight,normal);-webkit-text-decoration:var(--shiki-light-text-decoration,none);text-decoration:var(--shiki-light-text-decoration,none)}[data-theme=dark] .acu-md .shiki,[data-theme=dark] .acu-md .shiki span{color:var(--shiki-dark,inherit);font-style:var(--shiki-dark-font-style,normal);font-weight:var(--shiki-dark-font-weight,normal);-webkit-text-decoration:var(--shiki-dark-text-decoration,none);text-decoration:var(--shiki-dark-text-decoration,none)}.acu-md .acu-code-fallback{color:var(--acu-code-text)}.acu-md .acu-mermaid{margin:0 0 var(--acu-space-3);border:1px solid var(--acu-border);border-radius:var(--acu-radius);background:var(--acu-card-bg);overflow:hidden}.acu-md .acu-mermaid-bar{justify-content:space-between;align-items:center;gap:var(--acu-space-2);height:34px;padding:0 var(--acu-space-3);background:var(--acu-code-header-bg);border-bottom:1px solid var(--acu-border);display:flex}.acu-md .acu-mermaid-type{font-size:var(--acu-font-size-xs);color:var(--acu-text-muted);letter-spacing:.02em}.acu-md .acu-mermaid-actions{align-items:center;gap:var(--acu-space-1);display:inline-flex}.acu-md .acu-mermaid-toggle{padding:var(--acu-space-1) var(--acu-space-2);color:var(--acu-text-muted);font-size:var(--acu-font-size-xs);border-radius:var(--acu-radius-xs);cursor:pointer;transition:background-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing);background:0 0;border:none;align-items:center;font-family:inherit;display:inline-flex}.acu-md .acu-mermaid-toggle:hover{background:var(--acu-surface-2);color:var(--acu-text)}.acu-md .acu-mermaid-toggle:active{background:var(--acu-surface-hover)}.acu-md .acu-mermaid-hint{align-items:center;gap:var(--acu-space-2);padding:var(--acu-space-4);color:var(--acu-text-muted);font-size:var(--acu-font-size-sm);display:none}.acu-md .acu-mermaid-canvas{padding:var(--acu-space-4);display:none;overflow-x:auto}.acu-md .acu-mermaid-canvas::-webkit-scrollbar{width:8px;height:8px}.acu-md .acu-mermaid-canvas::-webkit-scrollbar-track{background:0 0}.acu-md .acu-mermaid-canvas::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:4px}.acu-md .acu-mermaid-canvas::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-md .acu-mermaid-canvas{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-md .acu-mermaid-canvas svg{margin:0 auto;display:block}.acu-md .acu-mermaid-source{padding:var(--acu-space-4);background:var(--acu-code-bg);color:var(--acu-code-text);font-family:var(--acu-font-mono);font-size:var(--acu-font-size-sm);white-space:pre-wrap;margin:0;line-height:1.6;display:none;overflow-x:auto}.acu-md .acu-mermaid-source::-webkit-scrollbar{width:8px;height:8px}.acu-md .acu-mermaid-source::-webkit-scrollbar-track{background:0 0}.acu-md .acu-mermaid-source::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:4px}.acu-md .acu-mermaid-source::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-md .acu-mermaid-source{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-md .acu-mermaid-source code{background:0 0;padding:0;font-family:inherit}.acu-md .acu-mermaid[data-state=pending] .acu-mermaid-hint,.acu-md .acu-mermaid[data-state=streaming] .acu-mermaid-hint,.acu-md .acu-mermaid[data-state=rendering] .acu-mermaid-hint{display:flex}.acu-md .acu-mermaid[data-state=done] .acu-mermaid-canvas{display:block}.acu-md .acu-mermaid[data-state=error] .acu-mermaid-hint{display:flex}.acu-md .acu-mermaid[data-state=error] .acu-mermaid-hint .acu-typing-dots,.acu-md .acu-mermaid[data-view=source] .acu-mermaid-canvas{display:none}.acu-md .acu-mermaid[data-view=source] .acu-mermaid-source{display:block}.acu-md .acu-mermaid[data-state=pending] .acu-mermaid-toggle,.acu-md .acu-mermaid[data-state=streaming] .acu-mermaid-toggle,.acu-md .acu-mermaid[data-state=rendering] .acu-mermaid-toggle{display:none}.acu-thinking-header[data-v-e106b42c]{outline:none}.acu-thinking-header[data-v-e106b42c]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-collapse-enter-active[data-v-e106b42c],.acu-collapse-leave-active[data-v-e106b42c]{transition:opacity var(--acu-duration) var(--acu-easing),transform var(--acu-duration) var(--acu-easing)}.acu-collapse-enter-from[data-v-e106b42c],.acu-collapse-leave-to[data-v-e106b42c]{opacity:0;transform:translateY(-4px)}.acu-thinking-body[data-v-e106b42c] .acu-md{font-size:var(--acu-font-size-sm);color:var(--acu-thinking-text);opacity:.92}.acu-thinking-body[data-v-e106b42c] .acu-md p{margin-bottom:var(--acu-space-2)}.acu-plan[data-v-2b3b6bd7]{border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);background:var(--acu-surface);margin:var(--acu-space-1) 0;padding:var(--acu-space-2) var(--acu-space-2-5) var(--acu-space-2-5)}.acu-plan.is-running[data-v-2b3b6bd7]{border-color:var(--acu-border-strong)}.acu-plan-header[data-v-2b3b6bd7]{align-items:center;gap:var(--acu-space-2);text-align:left;width:100%;color:inherit;border-radius:var(--acu-radius-sm);background:0 0;border:none;padding:0;font-family:inherit;display:flex}.acu-plan-header button.acu-plan-header[data-v-2b3b6bd7]{cursor:pointer;outline:none}.acu-plan-header button.acu-plan-header[data-v-2b3b6bd7]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-plan-header button.acu-plan-header[data-v-2b3b6bd7]:hover{background:var(--acu-surface-hover)}.acu-plan-chevron[data-v-2b3b6bd7]{color:var(--acu-text-muted);transition:transform var(--acu-duration) var(--acu-easing);flex-shrink:0}.acu-plan-chevron.is-open[data-v-2b3b6bd7]{transform:rotate(180deg)}.acu-plan-icon[data-v-2b3b6bd7]{color:var(--acu-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.is-running .acu-plan-icon[data-v-2b3b6bd7]{color:var(--acu-primary)}.acu-plan-title[data-v-2b3b6bd7]{font-size:var(--acu-font-size-sm);color:var(--acu-text);font-weight:600}.acu-plan-count[data-v-2b3b6bd7]{font-size:var(--acu-font-size-2xs);font-family:var(--acu-font-mono);color:var(--acu-text-muted);flex-shrink:0;margin-left:auto}.acu-plan-bar[data-v-2b3b6bd7]{border-radius:var(--acu-radius-full);background:var(--acu-border);height:2px;margin-top:var(--acu-space-1-5);overflow:hidden}.acu-plan-bar-fill[data-v-2b3b6bd7]{border-radius:inherit;background:var(--acu-success);height:100%;transition:width var(--acu-duration) var(--acu-easing);display:block}.acu-plan-note[data-v-2b3b6bd7]{margin:var(--acu-space-1-5) 0 0;font-size:var(--acu-font-size-xs);line-height:var(--acu-line-height-tight);color:var(--acu-text-muted);word-break:break-word}.acu-plan-steps[data-v-2b3b6bd7]{margin:var(--acu-space-2) 0 0;gap:var(--acu-space-1-5);flex-direction:column;max-height:320px;padding:0;list-style:none;display:flex;overflow-y:auto}.acu-plan-steps[data-v-2b3b6bd7]::-webkit-scrollbar{width:5px;height:5px}.acu-plan-steps[data-v-2b3b6bd7]::-webkit-scrollbar-track{background:0 0}.acu-plan-steps[data-v-2b3b6bd7]::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:2.5px}.acu-plan-steps[data-v-2b3b6bd7]::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-plan-steps[data-v-2b3b6bd7]{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-plan-step[data-v-2b3b6bd7]{align-items:flex-start;gap:var(--acu-space-2);font-size:var(--acu-font-size-sm);line-height:var(--acu-line-height-tight);display:flex}.acu-plan-marker[data-v-2b3b6bd7]{border-radius:var(--acu-radius-full);border:1.5px solid var(--acu-border-strong);color:#0000;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;margin-top:3px;display:flex}.is-completed .acu-plan-marker[data-v-2b3b6bd7]{border-color:var(--acu-success);background:var(--acu-success);color:#fff}.is-in_progress .acu-plan-marker[data-v-2b3b6bd7]{border-color:var(--acu-primary)}.acu-plan-dot[data-v-2b3b6bd7]{border-radius:var(--acu-radius-full);background:var(--acu-primary);width:5px;height:5px;animation:1.4s ease-in-out infinite acu-plan-pulse-2b3b6bd7}.acu-plan-body[data-v-2b3b6bd7]{flex-direction:column;gap:2px;min-width:0;display:flex}.acu-plan-content[data-v-2b3b6bd7]{color:var(--acu-text-secondary);word-break:break-word}.is-completed .acu-plan-content[data-v-2b3b6bd7]{color:var(--acu-text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--acu-border-strong);text-decoration-color:var(--acu-border-strong)}.is-in_progress .acu-plan-content[data-v-2b3b6bd7]{color:var(--acu-text);font-weight:500}.acu-plan-step-note[data-v-2b3b6bd7]{font-size:var(--acu-font-size-2xs);color:var(--acu-text-muted);word-break:break-word}.acu-collapse-enter-active[data-v-2b3b6bd7],.acu-collapse-leave-active[data-v-2b3b6bd7]{transition:opacity var(--acu-duration-fast) var(--acu-easing),transform var(--acu-duration-fast) var(--acu-easing)}.acu-collapse-enter-from[data-v-2b3b6bd7],.acu-collapse-leave-to[data-v-2b3b6bd7]{opacity:0;transform:translateY(-4px)}@keyframes acu-plan-pulse-2b3b6bd7{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.acu-spin[data-v-2b3b6bd7]{animation:.8s linear infinite acu-plan-spin-2b3b6bd7}@keyframes acu-plan-spin-2b3b6bd7{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.acu-plan-dot[data-v-2b3b6bd7],.acu-plan-icon .acu-spin[data-v-2b3b6bd7]{animation:none}}.acu-plan-wrap[data-v-4e2618ea]{margin:var(--acu-space-1) 0}.acu-plan-raw[data-v-4e2618ea]{margin-top:calc(var(--acu-space-1) * -1 + 2px);padding-left:var(--acu-space-2-5);font-size:var(--acu-font-size-2xs);color:var(--acu-text-muted)}.acu-plan-raw summary[data-v-4e2618ea]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:2px 0;list-style:none;display:inline-flex}.acu-plan-raw summary[data-v-4e2618ea]::-webkit-details-marker{display:none}.acu-plan-raw summary[data-v-4e2618ea]:before{content:"▸";transition:transform var(--acu-duration-fast) var(--acu-easing)}.acu-plan-raw[open] summary[data-v-4e2618ea]:before{transform:rotate(90deg)}.acu-plan-raw pre[data-v-4e2618ea]{margin:var(--acu-space-1) 0 0;padding:var(--acu-space-2) var(--acu-space-2-5);background:var(--acu-surface);border:1px solid var(--acu-border);border-radius:var(--acu-radius-xs);font-family:var(--acu-font-mono);font-size:var(--acu-font-size-2xs);line-height:var(--acu-line-height-tight);white-space:pre-wrap;word-break:break-all;max-height:240px;color:var(--acu-text-secondary);overflow-y:auto}.acu-plan-raw pre[data-v-4e2618ea]::-webkit-scrollbar{width:5px;height:5px}.acu-plan-raw pre[data-v-4e2618ea]::-webkit-scrollbar-track{background:0 0}.acu-plan-raw pre[data-v-4e2618ea]::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:2.5px}.acu-plan-raw pre[data-v-4e2618ea]::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-plan-raw pre[data-v-4e2618ea]{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-toolcall[data-v-4e2618ea]{border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);margin:var(--acu-space-1) 0;background:var(--acu-surface);overflow:hidden}.acu-toolcall-header[data-v-4e2618ea]{align-items:center;gap:var(--acu-space-2);width:100%;padding:var(--acu-space-1-5) var(--acu-space-2-5);cursor:pointer;font-family:inherit;font-size:var(--acu-font-size-sm);color:var(--acu-text-secondary);transition:background var(--acu-duration-fast) var(--acu-easing);background:0 0;border:none;display:flex}.acu-toolcall-header[data-v-4e2618ea]:hover{background:var(--acu-surface-2)}.acu-toolcall-status[data-v-4e2618ea]{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.acu-toolcall-status.is-running[data-v-4e2618ea]{color:var(--acu-primary)}.acu-toolcall-status.is-done[data-v-4e2618ea]{color:var(--acu-success)}.acu-toolcall-status.is-error[data-v-4e2618ea]{color:var(--acu-error)}.acu-toolcall-status.is-pending[data-v-4e2618ea]{color:var(--acu-text-muted)}.acu-toolcall-icon[data-v-4e2618ea]{color:var(--acu-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.acu-toolcall-name[data-v-4e2618ea]{color:var(--acu-text);font-weight:600;font-family:var(--acu-font-mono);font-size:var(--acu-font-size-xs);flex-shrink:0}.acu-toolcall-args[data-v-4e2618ea]{color:var(--acu-text-muted);font-family:var(--acu-font-mono);font-size:var(--acu-font-size-xs);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.acu-toolcall-chevron[data-v-4e2618ea]{color:var(--acu-text-muted);transition:transform var(--acu-duration-fast) var(--acu-easing);flex-shrink:0;margin-left:auto}.acu-toolcall-chevron.expanded[data-v-4e2618ea]{transform:rotate(180deg)}.acu-toolcall-body[data-v-4e2618ea]{border-top:1px solid var(--acu-border);padding:var(--acu-space-2) var(--acu-space-3);background:var(--acu-surface-2)}.acu-toolcall-section+.acu-toolcall-section[data-v-4e2618ea]{margin-top:var(--acu-space-2)}.acu-toolcall-section-label[data-v-4e2618ea]{font-size:var(--acu-font-size-2xs);color:var(--acu-text-muted);margin-bottom:var(--acu-space-1);text-transform:uppercase;letter-spacing:.05em}.acu-toolcall-pre[data-v-4e2618ea]{padding:var(--acu-space-2) var(--acu-space-2-5);background:var(--acu-surface);border-radius:var(--acu-radius-xs);font-family:var(--acu-font-mono);font-size:var(--acu-font-size-xs);line-height:var(--acu-line-height-tight);white-space:pre-wrap;word-break:break-all;max-height:300px;color:var(--acu-text);margin:0;overflow-y:auto}.acu-toolcall-pre.is-error[data-v-4e2618ea]{color:var(--acu-error)}.acu-toolcall-slide-enter-active[data-v-4e2618ea],.acu-toolcall-slide-leave-active[data-v-4e2618ea]{transition:max-height var(--acu-duration-fast) var(--acu-easing),opacity var(--acu-duration-fast) var(--acu-easing),padding-top var(--acu-duration-fast) var(--acu-easing),padding-bottom var(--acu-duration-fast) var(--acu-easing);overflow:hidden}.acu-toolcall-slide-enter-from[data-v-4e2618ea],.acu-toolcall-slide-leave-to[data-v-4e2618ea]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.acu-spin[data-v-4e2618ea]{animation:.8s linear infinite acu-spin-4e2618ea}@keyframes acu-spin-4e2618ea{to{transform:rotate(360deg)}}.acu-toolgroup[data-v-fb2ce68c]{margin:var(--acu-space-1) 0}.acu-toolgroup-plan[data-v-fb2ce68c]{margin-top:var(--acu-space-1)}.acu-toolgroup-header[data-v-fb2ce68c]{align-items:center;gap:var(--acu-space-2);width:100%;padding:var(--acu-space-1-5) var(--acu-space-2-5);margin-bottom:var(--acu-space-1);border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);cursor:pointer;font-family:inherit;font-size:var(--acu-font-size-sm);color:var(--acu-text-secondary);text-align:left;transition:background var(--acu-duration-fast) var(--acu-easing),border-color var(--acu-duration-fast) var(--acu-easing);background:0 0;display:flex}.acu-toolgroup-header[data-v-fb2ce68c]:hover{background:var(--acu-surface-2);border-color:var(--acu-border-strong)}.acu-toolgroup-header.is-expanded[data-v-fb2ce68c]{background:var(--acu-surface-2)}.acu-toolgroup-status[data-v-fb2ce68c]{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.acu-toolgroup-status.is-running[data-v-fb2ce68c]{color:var(--acu-primary)}.acu-toolgroup-status.is-done[data-v-fb2ce68c]{color:var(--acu-success)}.acu-toolgroup-status.is-error[data-v-fb2ce68c]{color:var(--acu-error)}.acu-toolgroup-status.is-pending[data-v-fb2ce68c]{color:var(--acu-text-muted)}.acu-toolgroup-icon[data-v-fb2ce68c]{color:var(--acu-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.acu-toolgroup-label[data-v-fb2ce68c]{font-size:var(--acu-font-size-sm);color:var(--acu-text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.acu-toolgroup-hint[data-v-fb2ce68c]{font-size:var(--acu-font-size-xs);color:var(--acu-text-muted);flex-shrink:0;margin-left:auto}.acu-toolgroup-chevron[data-v-fb2ce68c]{color:var(--acu-text-muted);transition:transform var(--acu-duration-fast) var(--acu-easing);flex-shrink:0}.acu-toolgroup-chevron.expanded[data-v-fb2ce68c]{transform:rotate(180deg)}.acu-spin[data-v-fb2ce68c]{animation:.8s linear infinite acu-spin-fb2ce68c}@keyframes acu-spin-fb2ce68c{to{transform:rotate(360deg)}}.acu-message-actions[data-v-0ff48c42]{margin-top:var(--acu-space-1);align-items:center;gap:2px;display:flex}.acu-message-actions.is-user[data-v-0ff48c42]{justify-content:flex-end}.acu-action-btn[data-v-0ff48c42]{border-radius:var(--acu-radius-sm);width:26px;height:26px;color:var(--acu-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;outline:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.acu-action-btn[data-v-0ff48c42]:focus-visible{box-shadow:0 0 0 1px var(--acu-bg),0 0 0 3px var(--acu-primary)}.acu-action-btn[data-v-0ff48c42]{transition:color var(--acu-duration-fast) var(--acu-easing),background var(--acu-duration-fast) var(--acu-easing),border-color var(--acu-duration-fast) var(--acu-easing)}.acu-action-btn svg[data-v-0ff48c42]{flex-shrink:0}.acu-action-btn[data-v-0ff48c42]:hover{color:var(--acu-text);background:var(--acu-surface-2)}.acu-action-btn[data-v-0ff48c42]:active{color:var(--acu-text);background:var(--acu-surface-hover)}.acu-action-btn.is-done[data-v-0ff48c42]{color:var(--acu-success)}.acu-action-tip[data-v-0ff48c42]{padding:var(--acu-space-0-5) var(--acu-space-2);border-radius:var(--acu-radius-xs);background:var(--acu-text);color:var(--acu-bg);font-size:var(--acu-font-size-2xs);line-height:var(--acu-line-height-tight);white-space:nowrap;pointer-events:none;z-index:3;position:absolute;bottom:calc(100% + 4px);left:0}.is-user .acu-action-tip[data-v-0ff48c42]{left:auto;right:0}.acu-tip-enter-active[data-v-0ff48c42],.acu-tip-leave-active[data-v-0ff48c42]{transition:opacity var(--acu-duration-fast) var(--acu-easing),transform var(--acu-duration-fast) var(--acu-easing)}.acu-tip-enter-from[data-v-0ff48c42],.acu-tip-leave-to[data-v-0ff48c42]{opacity:0;transform:translateY(3px)}.acu-message-meta[data-v-fdde4322]{font-size:var(--acu-font-size-2xs);color:var(--acu-text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:0;line-height:1.6;display:flex}.acu-meta-item[data-v-fdde4322]{white-space:nowrap}.acu-meta-item+.acu-meta-item[data-v-fdde4322]:before{content:"·";color:var(--acu-border-strong);margin:0 5px}.acu-meta-item.is-tokens[data-v-fdde4322]{color:var(--acu-text-secondary)}.acu-image-preview[data-v-29df175b]{z-index:9999;background:var(--acu-overlay-scrim,#09090be0);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:contain;justify-content:center;align-items:center;padding:56px 64px;animation:.16s ease-out acu-ip-in-29df175b;display:flex;position:fixed;inset:0}@keyframes acu-ip-in-29df175b{0%{opacity:0}to{opacity:1}}.acu-image-preview-img[data-v-29df175b]{object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--acu-overlay-shadow,0 18px 60px #0000008c);cursor:default;border-radius:6px}.acu-ip-btn[data-v-29df175b]{border-radius:var(--acu-radius-full,999px);background:var(--acu-overlay-surface,#ffffff1f);color:var(--acu-overlay-text,#fafafa);cursor:pointer;transition:background var(--acu-duration-fast,.12s) ease;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.acu-ip-btn[data-v-29df175b]:hover{background:var(--acu-overlay-surface-hover,#ffffff3d)}.acu-ip-btn[data-v-29df175b]:focus-visible{outline:2px solid var(--acu-overlay-ring,#ffffffb3);outline-offset:2px}.acu-ip-btn svg[data-v-29df175b]{flex-shrink:0}.acu-ip-btn.is-close[data-v-29df175b]{width:36px;height:36px;top:16px;right:16px}.acu-ip-btn.is-prev[data-v-29df175b],.acu-ip-btn.is-next[data-v-29df175b]{width:40px;height:40px;top:50%;transform:translateY(-50%)}.acu-ip-btn.is-prev[data-v-29df175b]{left:16px}.acu-ip-btn.is-next[data-v-29df175b]{right:16px}.acu-ip-counter[data-v-29df175b],.acu-ip-name[data-v-29df175b]{text-overflow:ellipsis;white-space:nowrap;max-width:min(70vw,560px);font-size:var(--acu-font-size-xs,12px);color:var(--acu-overlay-text-muted,#ffffffb8);-webkit-user-select:none;user-select:none;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.acu-ip-counter[data-v-29df175b]{font-variant-numeric:tabular-nums;top:24px}.acu-ip-name[data-v-29df175b]{bottom:22px}.acu-bubble-row[data-v-c4b6bfb3]{gap:var(--acu-space-3);animation:acu-bubble-in-c4b6bfb3 .32s var(--acu-easing) both;align-items:flex-start;display:flex}.acu-bubble-row.is-user[data-v-c4b6bfb3]{justify-content:flex-end}.acu-bubble-row.is-user[data-v-c4b6bfb3]:not(:first-child){margin-top:var(--acu-space-2)}@keyframes acu-bubble-in-c4b6bfb3{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover){.acu-bubble-row[data-v-c4b6bfb3] .acu-message-actions,.acu-bubble-row.is-meta-hover[data-v-c4b6bfb3] .acu-message-meta{opacity:0;transition:opacity var(--acu-duration-fast) var(--acu-easing)}.acu-bubble-row[data-v-c4b6bfb3]:hover .acu-message-actions,.acu-bubble-row[data-v-c4b6bfb3]:focus-within .acu-message-actions,.acu-bubble-row.is-meta-hover[data-v-c4b6bfb3]:hover .acu-message-meta,.acu-bubble-row.is-meta-hover[data-v-c4b6bfb3]:focus-within .acu-message-meta{opacity:1}}.acu-bubble-footer[data-v-c4b6bfb3]{align-items:center;gap:var(--acu-space-3);max-width:100%;margin-top:var(--acu-space-2);flex-wrap:wrap;display:flex}.acu-bubble-footer.is-user[data-v-c4b6bfb3]{flex-direction:row-reverse}.acu-bubble-footer[data-v-c4b6bfb3] .acu-message-actions{flex:none;margin-top:0}.acu-bubble-footer.is-meta-below[data-v-c4b6bfb3]{flex-direction:column;align-items:flex-start;gap:2px}.acu-bubble-footer.is-meta-below.is-user[data-v-c4b6bfb3]{align-items:flex-end}.acu-avatar[data-v-c4b6bfb3]{width:var(--acu-avatar-size);height:var(--acu-avatar-size);border-radius:var(--acu-radius-full);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.acu-avatar img[data-v-c4b6bfb3]{object-fit:cover;width:100%;height:100%}.acu-avatar--left[data-v-c4b6bfb3]{background:var(--acu-surface);color:var(--acu-text-secondary)}.acu-avatar--right[data-v-c4b6bfb3]{background:var(--acu-primary-soft);color:var(--acu-primary)}.acu-bubble-main[data-v-c4b6bfb3]{min-width:0;max-width:var(--acu-bubble-max-width);flex-direction:column;display:flex}.is-user .acu-bubble-main[data-v-c4b6bfb3]{align-items:flex-end}.acu-bubble-name[data-v-c4b6bfb3]{font-size:var(--acu-font-size-xs);color:var(--acu-text-muted);margin-bottom:var(--acu-space-1)}.acu-bubble[data-v-c4b6bfb3]{padding:var(--acu-space-3) var(--acu-space-4);border-radius:var(--acu-radius-lg);font-size:var(--acu-font-size-md);line-height:var(--acu-line-height);word-break:break-word;max-width:100%;position:relative}.acu-bubble.is-assistant[data-v-c4b6bfb3]{background:var(--acu-bubble-assistant-bg);color:var(--acu-bubble-assistant-text);padding:var(--acu-space-1-5) 0;box-shadow:inset 0 0 0 1px var(--acu-bubble-assistant-border)}.acu-bubble.is-user[data-v-c4b6bfb3]{background:var(--acu-bubble-user-bg);color:var(--acu-bubble-user-text)}.acu-bubble-content[data-v-c4b6bfb3] .acu-md{color:inherit;font-size:var(--acu-font-size-md)}.acu-bubble-toolcalls[data-v-c4b6bfb3]{margin-bottom:var(--acu-space-2)}.acu-attachments[data-v-c4b6bfb3]{gap:var(--acu-space-2);margin-bottom:var(--acu-space-2);flex-wrap:wrap;display:flex}.acu-attachments.is-user[data-v-c4b6bfb3]{justify-content:flex-end}.acu-att-thumb[data-v-c4b6bfb3]{border-radius:var(--acu-radius);border:1px solid var(--acu-border);background:var(--acu-surface);cursor:zoom-in;outline:none;width:88px;height:88px;overflow:hidden}.acu-att-thumb[data-v-c4b6bfb3]:focus-visible{box-shadow:0 0 0 1px var(--acu-bg),0 0 0 3px var(--acu-primary)}.acu-att-thumb[data-v-c4b6bfb3]{transition:border-color var(--acu-duration-fast) var(--acu-easing),transform var(--acu-duration-fast) var(--acu-easing)}.acu-att-thumb[data-v-c4b6bfb3]:hover{border-color:var(--acu-primary);transform:translateY(-1px)}.acu-att-thumb img[data-v-c4b6bfb3]{object-fit:cover;width:100%;height:100%}.acu-att-file[data-v-c4b6bfb3]{align-items:center;gap:var(--acu-space-2);padding:var(--acu-space-2) var(--acu-space-3);background:var(--acu-surface);border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);max-width:220px;display:inline-flex}.acu-att-file-icon[data-v-c4b6bfb3]{color:var(--acu-text-muted);flex-shrink:0}.acu-att-file-info[data-v-c4b6bfb3]{flex-direction:column;min-width:0;display:flex}.acu-att-file-name[data-v-c4b6bfb3]{font-size:var(--acu-font-size-sm);color:var(--acu-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acu-att-file-size[data-v-c4b6bfb3]{font-size:var(--acu-font-size-xs);color:var(--acu-text-muted)}.acu-pending[data-v-c4b6bfb3]{padding:var(--acu-space-1) 0}.acu-bubble-error[data-v-c4b6bfb3]{align-items:center;gap:var(--acu-space-2);margin-top:var(--acu-space-2);padding:var(--acu-space-2) var(--acu-space-3);background:var(--acu-error-soft);color:var(--acu-error);border-radius:var(--acu-radius-sm);font-size:var(--acu-font-size-sm);display:flex}.acu-retry-btn[data-v-c4b6bfb3]{color:inherit;padding:var(--acu-space-0-5) var(--acu-space-2-5);border-radius:var(--acu-radius-xs);font-size:var(--acu-font-size-xs);cursor:pointer;transition:opacity var(--acu-duration-fast) var(--acu-easing);background:0 0;border:1px solid;margin-left:auto;font-family:inherit}.acu-retry-btn[data-v-c4b6bfb3]:hover{opacity:.75}.acu-retry-btn[data-v-c4b6bfb3]:active{opacity:.6}.acu-followup[data-v-3a8d51cc]{padding-left:calc(var(--acu-avatar-size) + var(--acu-space-3));margin-top:var(--acu-space-3);margin-bottom:var(--acu-space-2);width:fit-content;max-width:var(--acu-bubble-max-width);animation:acu-followup-in-3a8d51cc .28s var(--acu-easing) both;align-self:flex-start}.acu-followup-title[data-v-3a8d51cc]{font-size:var(--acu-font-size-xs);color:var(--acu-text-muted);margin-bottom:var(--acu-space-2);letter-spacing:.02em}.acu-followup-loading[data-v-3a8d51cc]{align-items:center;gap:4px;display:inline-flex}.acu-followup-dot[data-v-3a8d51cc]{background:var(--acu-primary);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite both acu-followup-bounce-3a8d51cc}.acu-followup-dot[data-v-3a8d51cc]:first-child{animation-delay:-.32s}.acu-followup-dot[data-v-3a8d51cc]:nth-child(2){animation-delay:-.16s}.acu-followup-list[data-v-3a8d51cc]{align-items:flex-start;gap:var(--acu-space-2);flex-direction:column;width:fit-content;max-width:100%;display:flex}.acu-followup-item[data-v-3a8d51cc]{align-items:center;gap:var(--acu-space-3);padding:var(--acu-space-2-5) var(--acu-space-3-5);font-family:inherit;font-size:var(--acu-font-size-sm);color:var(--acu-text-secondary);background:var(--acu-bg);border:1px solid var(--acu-border);border-radius:var(--acu-radius);cursor:pointer;text-align:left;width:auto;max-width:100%;transition:color var(--acu-duration) var(--acu-easing),background-color var(--acu-duration) var(--acu-easing),border-color var(--acu-duration) var(--acu-easing),transform var(--acu-duration) var(--acu-easing);outline:none;display:inline-flex}.acu-followup-item[data-v-3a8d51cc]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-followup-item[data-v-3a8d51cc]:hover{color:var(--acu-primary);background:var(--acu-primary-soft);border-color:var(--acu-primary)}.acu-followup-item:hover .acu-followup-item-arrow[data-v-3a8d51cc]{color:var(--acu-primary);transform:translate(2px,-2px)}.acu-followup-item[data-v-3a8d51cc]:active{background:var(--acu-primary-soft-hover);transform:translateY(.5px)}.acu-followup-item-label[data-v-3a8d51cc]{white-space:nowrap;text-overflow:ellipsis;max-width:540px;overflow:hidden}.acu-followup-item-arrow[data-v-3a8d51cc]{color:var(--acu-text-muted);transition:transform var(--acu-duration) var(--acu-easing),color var(--acu-duration) var(--acu-easing);flex-shrink:0}@keyframes acu-followup-in-3a8d51cc{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes acu-followup-bounce-3a8d51cc{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.acu-followup[data-v-3a8d51cc]{animation:none}}.acu-rail[data-v-38bee8ca]{left:max(6px,50% - var(--acu-max-width,100%) / 2 - 40px);z-index:3;padding:var(--acu-space-1-5);border-radius:var(--acu-radius);opacity:var(--acu-rail-idle,.3);transition:opacity var(--acu-duration) var(--acu-easing);flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.acu-rail[data-v-38bee8ca]:hover,.acu-rail[data-v-38bee8ca]:focus-within{opacity:1}.acu-rail-stack[data-v-38bee8ca]{scrollbar-width:none;flex-direction:column;align-items:flex-start;display:flex;overflow:hidden auto}.acu-rail-stack[data-v-38bee8ca]::-webkit-scrollbar{display:none}.acu-rail-bar[data-v-38bee8ca]{border-radius:var(--acu-radius-full);background:var(--acu-text-muted);cursor:pointer;transition:background-color var(--acu-duration) var(--acu-easing);border:none;outline:none;flex:none;padding:0}.acu-rail-bar[data-v-38bee8ca]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-rail-bar[data-v-38bee8ca]:hover,.acu-rail-bar.is-hot[data-v-38bee8ca]{background:var(--acu-text-secondary)}.acu-rail-bar.is-active[data-v-38bee8ca]{background:var(--acu-primary)}.acu-rail-bar.is-streaming[data-v-38bee8ca]{animation:1.2s ease-in-out infinite acu-rail-pulse-38bee8ca}@keyframes acu-rail-pulse-38bee8ca{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.acu-rail-bar.is-streaming[data-v-38bee8ca]{animation:none}}.acu-rail-tip[data-v-38bee8ca]{width:max-content;min-width:150px;max-width:260px;padding:var(--acu-space-1-5) var(--acu-space-2-5);background:var(--acu-text);color:var(--acu-bg);border-radius:var(--acu-radius-sm);font-size:var(--acu-font-size-xs);pointer-events:none;z-index:4;flex-direction:column;gap:3px;margin-left:8px;line-height:1.45;display:flex;position:absolute;left:100%;transform:translateY(-50%)}.acu-rail-tip-q[data-v-38bee8ca],.acu-rail-tip-a[data-v-38bee8ca]{word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.acu-rail-tip-q[data-v-38bee8ca]{-webkit-line-clamp:2;font-weight:600}.acu-rail-tip-a[data-v-38bee8ca]{-webkit-line-clamp:2;opacity:.68}.acu-message-list-wrap[data-v-7b7d2ff1]{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.acu-message-list[data-v-7b7d2ff1]{min-height:0;padding:0 var(--acu-space-4);flex:1;position:relative;overflow:hidden auto}.acu-message-list[data-v-7b7d2ff1]::-webkit-scrollbar{width:6px;height:6px}.acu-message-list[data-v-7b7d2ff1]::-webkit-scrollbar-track{background:0 0}.acu-message-list[data-v-7b7d2ff1]::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:3px}.acu-message-list[data-v-7b7d2ff1]::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-message-list[data-v-7b7d2ff1]{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-message-list[data-v-7b7d2ff1]{scroll-behavior:auto}.acu-message-list-inner[data-v-7b7d2ff1]{gap:var(--acu-turn-gap);max-width:var(--acu-max-width);width:100%;padding:var(--acu-space-6) 0 var(--acu-space-6);flex-direction:column;margin:0 auto;display:flex}.acu-scroll-btn[data-v-7b7d2ff1]{bottom:var(--acu-space-3);border:1px solid var(--acu-border);background:var(--acu-bg);width:36px;height:36px;color:var(--acu-text-secondary);border-radius:var(--acu-radius-full);cursor:pointer;box-shadow:var(--acu-shadow);transition:color var(--acu-duration) var(--acu-easing),border-color var(--acu-duration) var(--acu-easing),background-color var(--acu-duration) var(--acu-easing),transform var(--acu-duration) var(--acu-easing);z-index:2;justify-content:center;align-items:center;margin:0 auto;display:inline-flex;position:sticky;left:50%;transform:translate(-50%)}.acu-scroll-btn[data-v-7b7d2ff1]:hover{color:var(--acu-primary);border-color:var(--acu-primary)}.acu-scroll-btn[data-v-7b7d2ff1]:active{transform:translate(-50%)translateY(1px)}.acu-fade-enter-active[data-v-7b7d2ff1],.acu-fade-leave-active[data-v-7b7d2ff1]{transition:opacity var(--acu-duration) var(--acu-easing),transform var(--acu-duration) var(--acu-easing)}.acu-fade-enter-from[data-v-7b7d2ff1],.acu-fade-leave-to[data-v-7b7d2ff1]{opacity:0;transform:translate(-50%,6px)}.acu-welcome[data-v-1a6da807]{padding:var(--acu-space-8) var(--acu-space-4);flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.acu-welcome-inner[data-v-1a6da807]{box-sizing:border-box;text-align:center;width:100%;animation:acu-welcome-in-1a6da807 .36s var(--acu-easing) both;flex-direction:column;align-items:center;display:flex}@keyframes acu-welcome-in-1a6da807{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.acu-welcome-logo[data-v-1a6da807]{border-radius:var(--acu-radius-md);background:var(--acu-primary-soft);width:48px;height:48px;color:var(--acu-primary);box-shadow:inset 0 0 0 1px var(--acu-primary-soft-hover);margin-bottom:var(--acu-space-5);justify-content:center;align-items:center;display:inline-flex}.acu-welcome-title[data-v-1a6da807]{font-size:var(--acu-font-size-3xl);font-weight:600;line-height:var(--acu-line-height-heading);color:var(--acu-text);margin:0 0 var(--acu-space-1-5);letter-spacing:-.02em}.acu-welcome-desc[data-v-1a6da807]{font-size:var(--acu-font-size-base);line-height:var(--acu-line-height);color:var(--acu-text-secondary);margin:0 0 var(--acu-space-8);text-wrap:balance;max-width:420px}.acu-welcome-grid[data-v-1a6da807]{gap:var(--acu-space-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%;display:grid}.acu-preset-q[data-v-1a6da807]{align-items:flex-start;gap:var(--acu-space-2-5);padding:var(--acu-space-4);text-align:left;background:var(--acu-card-bg);border:1px solid var(--acu-card-border);border-radius:var(--acu-radius-md);cursor:pointer;transition:border-color var(--acu-duration) var(--acu-easing),box-shadow var(--acu-duration) var(--acu-easing),transform var(--acu-duration) var(--acu-easing);outline:none;font-family:inherit;display:flex}.acu-preset-q[data-v-1a6da807]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-preset-q[data-v-1a6da807]:hover{border-color:var(--acu-card-border-hover);box-shadow:var(--acu-shadow-sm);transform:translateY(-1px)}.acu-preset-q:hover .acu-preset-q-arrow[data-v-1a6da807]{color:var(--acu-primary);transform:translate(2px,-2px)}.acu-preset-q:hover .acu-preset-q-index[data-v-1a6da807]{color:var(--acu-text-secondary)}.acu-preset-q[data-v-1a6da807]:active{box-shadow:none;transform:translateY(0)}.acu-preset-q-index[data-v-1a6da807]{font-size:var(--acu-font-size-2xs);line-height:var(--acu-line-height-tight);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--acu-text-muted);transition:color var(--acu-duration) var(--acu-easing);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-top:3px}.acu-preset-q-body[data-v-1a6da807]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.acu-preset-q-label[data-v-1a6da807]{font-size:var(--acu-font-size-md);font-weight:600;line-height:var(--acu-line-height-tight);color:var(--acu-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.acu-preset-q-prompt[data-v-1a6da807]{font-size:var(--acu-font-size-xs);line-height:var(--acu-line-height-tight);color:var(--acu-text-muted);-webkit-line-clamp:2;line-clamp:2;min-height:calc(var(--acu-font-size-xs) * var(--acu-line-height-tight) * 2);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.acu-preset-q-arrow[data-v-1a6da807]{color:var(--acu-text-muted);transition:transform var(--acu-duration) var(--acu-easing),color var(--acu-duration) var(--acu-easing);flex-shrink:0;margin-top:3px}.acu-input-wrap[data-v-c985be88]{max-width:var(--acu-max-width);background:var(--acu-bg);border:1px solid var(--acu-border);border-radius:var(--acu-radius-lg);width:100%;padding:var(--acu-space-2);box-shadow:var(--acu-shadow-sm);transition:border-color var(--acu-duration) var(--acu-easing),box-shadow var(--acu-duration) var(--acu-easing),background-color var(--acu-duration) var(--acu-easing);margin:0 auto;position:relative}.acu-input-wrap[data-v-c985be88]:focus-within{border-color:var(--acu-primary);box-shadow:0 0 0 3px var(--acu-primary-soft),var(--acu-shadow-sm)}.acu-input-wrap.is-dragging[data-v-c985be88]{border-color:var(--acu-primary);background:var(--acu-primary-soft);box-shadow:0 0 0 3px var(--acu-primary-soft)}.acu-input-wrap.is-disabled[data-v-c985be88]{opacity:.6;pointer-events:none}.acu-input-wrap.is-disabled .acu-input-send.is-stop[data-v-c985be88]{pointer-events:auto}.acu-input-drop-hint[data-v-c985be88]{justify-content:center;align-items:center;gap:var(--acu-space-2);color:var(--acu-primary);font-size:var(--acu-font-size-sm);pointer-events:none;z-index:1;flex-direction:column;font-weight:500;display:flex;position:absolute;inset:0}.acu-input-attachments[data-v-c985be88]{gap:var(--acu-space-2);padding:var(--acu-space-2) var(--acu-space-2) 0;flex-wrap:wrap;display:flex}.acu-input-att[data-v-c985be88]{display:inline-flex;position:relative}.acu-input-att-thumb[data-v-c985be88]{border-radius:var(--acu-radius-sm);border:1px solid var(--acu-border);cursor:zoom-in;outline:none;width:56px;height:56px;overflow:hidden}.acu-input-att-thumb[data-v-c985be88]:focus-visible{box-shadow:0 0 0 1px var(--acu-bg),0 0 0 3px var(--acu-primary)}.acu-input-att-thumb img[data-v-c985be88]{object-fit:cover;width:100%;height:100%}.acu-input-att-file[data-v-c985be88]{align-items:center;gap:var(--acu-space-2);padding:var(--acu-space-2) var(--acu-space-3);background:var(--acu-bg);border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);color:var(--acu-text-secondary);max-width:180px;display:inline-flex}.acu-input-att-name[data-v-c985be88]{font-size:var(--acu-font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acu-input-att-remove[data-v-c985be88]{border-radius:var(--acu-radius-full);background:var(--acu-text);width:18px;height:18px;color:var(--acu-bg);cursor:pointer;box-shadow:var(--acu-shadow-sm);transition:transform var(--acu-duration-fast) var(--acu-easing);border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-6px;right:-6px}.acu-input-att-remove[data-v-c985be88]:hover{transform:scale(1.12)}.acu-input-att-remove[data-v-c985be88]:active{transform:scale(1.02)}.acu-input-row[data-v-c985be88]{align-items:flex-end;gap:var(--acu-space-2);padding:var(--acu-space-1) var(--acu-space-1) 0;display:flex}.acu-input-icon-btn[data-v-c985be88]{width:34px;height:34px;color:var(--acu-text-muted);border-radius:var(--acu-radius-full);cursor:pointer;transition:background-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing);background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.acu-input-icon-btn[data-v-c985be88]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-input-icon-btn[data-v-c985be88]:hover:not(:disabled){background:var(--acu-surface-2);color:var(--acu-text)}.acu-input-icon-btn[data-v-c985be88]:active:not(:disabled){background:var(--acu-surface-hover)}.acu-input-file[data-v-c985be88]{display:none}.acu-input-textarea[data-v-c985be88]{min-height:34px;max-height:200px;padding:var(--acu-space-2) var(--acu-space-1);resize:none;font-family:inherit;font-size:var(--acu-font-size-md);line-height:var(--acu-line-height-tight);color:var(--acu-text);background:0 0;border:none;outline:none;flex:1}.acu-input-textarea[data-v-c985be88]::-webkit-scrollbar{width:4px;height:4px}.acu-input-textarea[data-v-c985be88]::-webkit-scrollbar-track{background:0 0}.acu-input-textarea[data-v-c985be88]::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:2px}.acu-input-textarea[data-v-c985be88]::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-input-textarea[data-v-c985be88]{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-input-textarea[data-v-c985be88]::placeholder{color:var(--acu-text-muted)}.acu-input-textarea[data-v-c985be88]:disabled{cursor:not-allowed}.acu-input-send[data-v-c985be88]{background:var(--acu-primary);width:34px;height:34px;color:var(--acu-primary-contrast);border-radius:var(--acu-radius-full);cursor:pointer;transition:background-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing),transform var(--acu-duration-fast) var(--acu-easing);border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.acu-input-send[data-v-c985be88]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-input-send[data-v-c985be88]:hover:not(:disabled){background:var(--acu-primary-hover)}.acu-input-send[data-v-c985be88]:active:not(:disabled){background:var(--acu-primary-active);transform:scale(.94)}.acu-input-send[data-v-c985be88]:disabled{background:var(--acu-surface-2);color:var(--acu-text-muted);cursor:not-allowed}.acu-input-send.is-stop[data-v-c985be88]{background:var(--acu-error-soft);color:var(--acu-error)}.acu-input-send.is-stop[data-v-c985be88]:hover:not(:disabled),.acu-input-send.is-stop[data-v-c985be88]:active:not(:disabled){background:var(--acu-error-soft-hover)}.acu-ask-user[data-v-93230bbf]{background:var(--acu-surface);border:1px solid var(--acu-border);border-radius:var(--acu-radius);gap:var(--acu-space-2);padding:var(--acu-space-3) var(--acu-space-3-5);margin:var(--acu-space-2) 0;flex-direction:column;display:flex}.acu-ask-user-title[data-v-93230bbf]{align-items:center;gap:var(--acu-space-1-5);font-size:var(--acu-font-size-sm);color:var(--acu-primary);font-weight:600;display:flex}.acu-ask-user-icon[data-v-93230bbf]{flex-shrink:0;align-items:center;display:inline-flex}.acu-ask-user-question[data-v-93230bbf]{font-size:var(--acu-font-size-base);color:var(--acu-text);white-space:pre-wrap;word-break:break-word;line-height:1.5}.acu-ask-user-options[data-v-93230bbf]{gap:var(--acu-space-2);flex-wrap:wrap;display:flex}.acu-ask-user-option[data-v-93230bbf]{border-radius:var(--acu-radius-sm);cursor:pointer;font-family:inherit;font-size:var(--acu-font-size-base);transition:background-color var(--acu-duration-fast) var(--acu-easing),border-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing),opacity var(--acu-duration-fast) var(--acu-easing);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex}.acu-ask-user-option[data-v-93230bbf]:disabled{cursor:not-allowed;opacity:.5}.acu-ask-user-option[data-v-93230bbf]{outline:none}.acu-ask-user-option[data-v-93230bbf]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-ask-user-option[data-v-93230bbf]{gap:var(--acu-space-1-5);padding:var(--acu-space-2) var(--acu-space-3);background:var(--acu-bg);border-color:var(--acu-border);color:var(--acu-text);font-size:var(--acu-font-size-sm);text-align:left}.acu-ask-user-option[data-v-93230bbf]:hover:not(:disabled){background:var(--acu-primary-soft);border-color:var(--acu-primary);color:var(--acu-primary)}.acu-ask-user-option.is-checkbox[data-v-93230bbf]{cursor:pointer}.acu-ask-user-option.is-checkbox input[data-v-93230bbf]{accent-color:var(--acu-primary);cursor:inherit;margin:0}.acu-ask-user-option.is-checkbox.is-selected[data-v-93230bbf]{background:var(--acu-primary-soft);border-color:var(--acu-primary);color:var(--acu-primary)}.acu-ask-user-form[data-v-93230bbf]{align-items:center;gap:var(--acu-space-2);display:flex}.acu-ask-user-input[data-v-93230bbf]{min-width:0;padding:var(--acu-space-2) var(--acu-space-3);border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);background:var(--acu-bg);color:var(--acu-text);font-family:inherit;font-size:var(--acu-font-size-sm);outline:none;flex:1}.acu-ask-user-input[data-v-93230bbf]:focus-visible{box-shadow:0 0 0 1px var(--acu-bg),0 0 0 3px var(--acu-primary)}.acu-ask-user-input[data-v-93230bbf]::placeholder{color:var(--acu-text-muted)}.acu-ask-user-input[data-v-93230bbf]:disabled{cursor:not-allowed;opacity:.5}.acu-ask-user-submit[data-v-93230bbf]{border-radius:var(--acu-radius-sm);cursor:pointer;font-family:inherit;font-size:var(--acu-font-size-base);transition:background-color var(--acu-duration-fast) var(--acu-easing),border-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing),opacity var(--acu-duration-fast) var(--acu-easing);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex}.acu-ask-user-submit[data-v-93230bbf]:disabled{cursor:not-allowed;opacity:.5}.acu-ask-user-submit[data-v-93230bbf]{outline:none}.acu-ask-user-submit[data-v-93230bbf]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-ask-user-submit[data-v-93230bbf]{padding:var(--acu-space-2) var(--acu-space-3-5);background:var(--acu-primary);border-color:var(--acu-primary);color:var(--acu-primary-contrast);font-size:var(--acu-font-size-sm);flex-shrink:0}.acu-ask-user-submit[data-v-93230bbf]:hover:not(:disabled){background:var(--acu-primary-hover);border-color:var(--acu-primary-hover)}.acu-ask-user-submit.is-standalone[data-v-93230bbf]{align-self:flex-start}.acu-chat[data-v-df0fde54]{background:var(--acu-bg);flex-direction:column;height:100%;min-height:0;display:flex}.acu-chat-body[data-v-df0fde54]{flex-direction:column;flex:1;min-height:0;display:flex}.acu-chat-footer[data-v-df0fde54]{padding:var(--acu-space-3) var(--acu-space-4) var(--acu-space-4);background:linear-gradient(to top,var(--acu-bg) 70%,transparent);flex-shrink:0}.acu-chat-question[data-v-df0fde54]{width:100%;max-width:var(--acu-max-width);padding:0 var(--acu-space-4);flex-shrink:0;margin:0 auto}.acu-chat-question[data-v-df0fde54]:last-child{padding-bottom:var(--acu-space-3)}.acu-collapse-enter-active[data-v-df0fde54],.acu-collapse-leave-active[data-v-df0fde54]{transition:opacity var(--acu-duration) var(--acu-easing),transform var(--acu-duration) var(--acu-easing)}.acu-collapse-enter-from[data-v-df0fde54],.acu-collapse-leave-to[data-v-df0fde54]{opacity:0;transform:translateY(-4px)}.acu-conv[data-v-1b4656e1]{gap:var(--acu-space-2);height:100%;min-height:0;font-size:var(--acu-font-size-sm);color:var(--acu-text);flex-direction:column;display:flex}.acu-conv-toolbar[data-v-1b4656e1]{gap:var(--acu-space-1-5);flex-direction:column;flex-shrink:0;display:flex}.acu-conv-new[data-v-1b4656e1]{border-radius:var(--acu-radius-sm);cursor:pointer;font-family:inherit;font-size:var(--acu-font-size-base);transition:background-color var(--acu-duration-fast) var(--acu-easing),border-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing),opacity var(--acu-duration-fast) var(--acu-easing);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex}.acu-conv-new[data-v-1b4656e1]:disabled{cursor:not-allowed;opacity:.5}.acu-conv-new[data-v-1b4656e1]{outline:none}.acu-conv-new[data-v-1b4656e1]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-conv-new[data-v-1b4656e1]{width:100%;padding:var(--acu-space-2) var(--acu-space-2-5);background:var(--acu-primary-soft);color:var(--acu-primary);font-size:var(--acu-font-size-sm);justify-content:flex-start;font-weight:600}.acu-conv-new[data-v-1b4656e1]:hover:not(:disabled){background:var(--acu-primary-soft-hover)}.acu-conv-search[data-v-1b4656e1]{align-items:center;gap:var(--acu-space-1-5);padding:0 var(--acu-space-2);border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);background:var(--acu-surface);color:var(--acu-text-muted);outline:none;display:flex}.acu-conv-search[data-v-1b4656e1]:focus-visible{box-shadow:0 0 0 1px var(--acu-bg),0 0 0 3px var(--acu-primary)}.acu-conv-search[data-v-1b4656e1]:focus-within{border-color:var(--acu-primary)}.acu-conv-search-input[data-v-1b4656e1]{min-width:0;padding:var(--acu-space-1-5) 0;color:var(--acu-text);font-family:inherit;font-size:var(--acu-font-size-sm);background:0 0;border:none;outline:none;flex:1}.acu-conv-search-input[data-v-1b4656e1]::placeholder{color:var(--acu-text-muted)}.acu-conv-search-input[data-v-1b4656e1]::-webkit-search-cancel-button{display:none}.acu-conv-list[data-v-1b4656e1]{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.acu-conv-list[data-v-1b4656e1]::-webkit-scrollbar{width:6px;height:6px}.acu-conv-list[data-v-1b4656e1]::-webkit-scrollbar-track{background:0 0}.acu-conv-list[data-v-1b4656e1]::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:3px}.acu-conv-list[data-v-1b4656e1]::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}@supports not selector(::-webkit-scrollbar){.acu-conv-list[data-v-1b4656e1]{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent}}.acu-conv-item[data-v-1b4656e1]{border-radius:var(--acu-radius-sm);align-items:center;display:flex;position:relative}.acu-conv-item.is-active[data-v-1b4656e1]{background:var(--acu-primary-soft)}.acu-conv-item.is-active[data-v-1b4656e1]:before{content:"";left:0;top:var(--acu-space-1);bottom:var(--acu-space-1);border-radius:var(--acu-radius-full);background:var(--acu-primary);width:3px;position:absolute}.acu-conv-item.is-active .acu-conv-title[data-v-1b4656e1]{color:var(--acu-primary);font-weight:600}.acu-conv-main[data-v-1b4656e1]{border-radius:var(--acu-radius-sm);cursor:pointer;font-family:inherit;font-size:var(--acu-font-size-base);transition:background-color var(--acu-duration-fast) var(--acu-easing),border-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing),opacity var(--acu-duration-fast) var(--acu-easing);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex}.acu-conv-main[data-v-1b4656e1]:disabled{cursor:not-allowed;opacity:.5}.acu-conv-main[data-v-1b4656e1]{outline:none}.acu-conv-main[data-v-1b4656e1]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-conv-main[data-v-1b4656e1]{align-items:flex-start;gap:var(--acu-space-0-5);min-width:0;padding:var(--acu-space-2) var(--acu-space-2-5);color:inherit;text-align:left;font-size:var(--acu-font-size-sm);background:0 0;border-color:#0000;flex-direction:column;flex:1}.acu-conv-item:not(.is-active) .acu-conv-main[data-v-1b4656e1]:hover:not(:disabled){background:var(--acu-surface-hover)}.acu-conv-title[data-v-1b4656e1]{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.acu-conv-meta[data-v-1b4656e1]{align-items:center;gap:var(--acu-space-1);width:100%;min-width:0;font-size:var(--acu-font-size-2xs);color:var(--acu-text-muted);display:flex}.acu-conv-meta.is-generating[data-v-1b4656e1]{color:var(--acu-primary)}.acu-conv-meta-text[data-v-1b4656e1]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.acu-conv-badge[data-v-1b4656e1]{padding:0 var(--acu-space-1);border:1px solid var(--acu-border-strong);border-radius:var(--acu-radius-xs);font-size:var(--acu-font-size-2xs);flex-shrink:0;line-height:1.5}.acu-conv-dot[data-v-1b4656e1]{border-radius:var(--acu-radius-full);background:currentColor;flex-shrink:0;width:6px;height:6px;animation:1.2s ease-in-out infinite acu-conv-pulse-1b4656e1}@keyframes acu-conv-pulse-1b4656e1{0%,to{opacity:1}50%{opacity:.25}}.acu-conv-actions[data-v-1b4656e1]{align-items:center;gap:var(--acu-space-0-5);padding-right:var(--acu-space-1-5);opacity:0;transition:opacity var(--acu-duration-fast) var(--acu-easing);display:flex}.acu-conv-item:hover .acu-conv-actions[data-v-1b4656e1],.acu-conv-item:focus-within .acu-conv-actions[data-v-1b4656e1]{opacity:1}.acu-conv-action[data-v-1b4656e1]{border-radius:var(--acu-radius-sm);cursor:pointer;font-family:inherit;font-size:var(--acu-font-size-base);transition:background-color var(--acu-duration-fast) var(--acu-easing),border-color var(--acu-duration-fast) var(--acu-easing),color var(--acu-duration-fast) var(--acu-easing),opacity var(--acu-duration-fast) var(--acu-easing);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex}.acu-conv-action[data-v-1b4656e1]:disabled{cursor:not-allowed;opacity:.5}.acu-conv-action[data-v-1b4656e1]{outline:none}.acu-conv-action[data-v-1b4656e1]:focus-visible{box-shadow:0 0 0 1px var(--acu-bg),0 0 0 3px var(--acu-primary)}.acu-conv-action[data-v-1b4656e1]{padding:var(--acu-space-1);color:var(--acu-text-muted);background:0 0}.acu-conv-action[data-v-1b4656e1]:hover:not(:disabled){background:var(--acu-surface-2);color:var(--acu-text)}.acu-conv-rename[data-v-1b4656e1]{min-width:0;margin:var(--acu-space-1) var(--acu-space-2-5);padding:var(--acu-space-1) var(--acu-space-1-5);border:1px solid var(--acu-primary);border-radius:var(--acu-radius-xs);background:var(--acu-bg);color:var(--acu-text);font-family:inherit;font-size:var(--acu-font-size-sm);outline:none;flex:1}.acu-conv-empty[data-v-1b4656e1]{align-items:center;gap:var(--acu-space-1);margin:var(--acu-space-4) 0;color:var(--acu-text-muted);font-size:var(--acu-font-size-xs);text-align:center;flex-direction:column;display:flex}.acu-conv-empty-hint[data-v-1b4656e1]{font-size:var(--acu-font-size-2xs)}.acu-conv.is-compact[data-v-1b4656e1]{gap:var(--acu-space-1-5);font-size:var(--acu-font-size-xs)}.acu-conv.is-compact .acu-conv-main[data-v-1b4656e1]{padding:var(--acu-space-1-5) var(--acu-space-2);font-size:var(--acu-font-size-xs);gap:0}.acu-conv.is-compact .acu-conv-meta[data-v-1b4656e1]{font-size:var(--acu-font-size-2xs)}.acu-conv.is-compact .acu-conv-new[data-v-1b4656e1]{padding:var(--acu-space-1-5) var(--acu-space-2);font-size:var(--acu-font-size-xs)}