cc-viewer 1.6.255 → 1.6.257
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/App-CEytutAo.js +1 -0
- package/dist/assets/{MdxEditorPanel-CfwOM0KR.js → MdxEditorPanel-D7jwT3Rc.js} +1 -1
- package/dist/assets/Mobile-wOi5_C0e.js +1 -0
- package/dist/assets/{ProxyModal-CNPuwcCz.css → ProxyModal-DzTu4uGE.css} +1 -1
- package/dist/assets/ProxyModal-I50f-Uhc.js +2 -0
- package/dist/assets/{_baseUniq-Ck0avQQW.js → _baseUniq-DXjKWfhk.js} +1 -1
- package/dist/assets/{arc-DoPSafE-.js → arc-DsQxkW5T.js} +1 -1
- package/dist/assets/{architectureDiagram-Q4EWVU46-CXwNDWVJ.js → architectureDiagram-Q4EWVU46-D24v83bq.js} +1 -1
- package/dist/assets/{blockDiagram-DXYQGD6D-DqcTnX5B.js → blockDiagram-DXYQGD6D-D5ezdfnY.js} +1 -1
- package/dist/assets/{c4Diagram-AHTNJAMY-CzZqJcRw.js → c4Diagram-AHTNJAMY-g5VhpI4X.js} +1 -1
- package/dist/assets/{channel-BPHggAg1.js → channel-Bohj9Wcp.js} +1 -1
- package/dist/assets/{chunk-4BX2VUAB-_j7urp68.js → chunk-4BX2VUAB-5LFKrDPS.js} +1 -1
- package/dist/assets/{chunk-4TB4RGXK-DSm-83N3.js → chunk-4TB4RGXK-B7I8vecx.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-vMas_Dfs.js → chunk-55IACEB6-BBIiUctL.js} +1 -1
- package/dist/assets/{chunk-EDXVE4YY-DJmHQIxZ.js → chunk-EDXVE4YY-BYpcDSKa.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-C6U6noME.js → chunk-FMBD7UC4-Dpw6TUJP.js} +1 -1
- package/dist/assets/{chunk-OYMX7WX6-DV09n2XA.js → chunk-OYMX7WX6-1R1GcGjy.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-Bwa__aOF.js → chunk-QZHKN3VN-B43hQ2vS.js} +1 -1
- package/dist/assets/{chunk-YZCP3GAM-CBRCt3K4.js → chunk-YZCP3GAM-1IZth8n2.js} +1 -1
- package/dist/assets/{classDiagram-6PBFFD2Q-DKCDn4jL.js → classDiagram-6PBFFD2Q-BBoAxatM.js} +1 -1
- package/dist/assets/{classDiagram-v2-HSJHXN6E-DKCDn4jL.js → classDiagram-v2-HSJHXN6E-BBoAxatM.js} +1 -1
- package/dist/assets/clone-Cc7ofJ6W.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-BwOVr318.js → cose-bilkent-S5V4N54A-D05nug0R.js} +1 -1
- package/dist/assets/{dagre-KV5264BT-BrIcbm5i.js → dagre-KV5264BT-DZ9d_ZUE.js} +1 -1
- package/dist/assets/{diagram-5BDNPKRD-C5qxQhGg.js → diagram-5BDNPKRD-DdyX_gXl.js} +1 -1
- package/dist/assets/{diagram-G4DWMVQ6-DsH7kdR2.js → diagram-G4DWMVQ6-cjq8tNSZ.js} +1 -1
- package/dist/assets/{diagram-MMDJMWI5-RE-fR3Cz.js → diagram-MMDJMWI5-NiKFms6e.js} +1 -1
- package/dist/assets/{diagram-TYMM5635-voZ1zyYa.js → diagram-TYMM5635-Dpig5X9-.js} +1 -1
- package/dist/assets/{erDiagram-SMLLAGMA-PrA2wCsY.js → erDiagram-SMLLAGMA-D2sWo3Zv.js} +1 -1
- package/dist/assets/{flowDiagram-DWJPFMVM-Ce7hKuco.js → flowDiagram-DWJPFMVM-D85Dj_yq.js} +1 -1
- package/dist/assets/{ganttDiagram-T4ZO3ILL-CDVZdk1O.js → ganttDiagram-T4ZO3ILL-DxAjpfgn.js} +1 -1
- package/dist/assets/{gitGraphDiagram-UUTBAWPF-ud920O99.js → gitGraphDiagram-UUTBAWPF-BO9g8cL0.js} +1 -1
- package/dist/assets/{graph-S7ZyOMd5.js → graph-BfcDIvNk.js} +1 -1
- package/dist/assets/index-CyW7-jqU.js +2 -0
- package/dist/assets/{infoDiagram-42DDH7IO-DqmBGCgd.js → infoDiagram-42DDH7IO-BnOW3PpN.js} +1 -1
- package/dist/assets/{ishikawaDiagram-UXIWVN3A-TF8Q_01t.js → ishikawaDiagram-UXIWVN3A-BdRWHTx5.js} +1 -1
- package/dist/assets/{journeyDiagram-VCZTEJTY-y5GmBD-h.js → journeyDiagram-VCZTEJTY-6-pOxb-c.js} +1 -1
- package/dist/assets/{kanban-definition-6JOO6SKY-B-VIbcAu.js → kanban-definition-6JOO6SKY-BBX4NlcN.js} +1 -1
- package/dist/assets/{layout-Ye8iwdjE.js → layout-DtQNOuH0.js} +1 -1
- package/dist/assets/{linear-B6rvw7LC.js → linear-6Y3OZ7u2.js} +1 -1
- package/dist/assets/{mermaid.core-BeZMQR0-.js → mermaid.core-CAsnLdlL.js} +2 -2
- package/dist/assets/{min-Ckbo1P6U.js → min-BRPZJLHh.js} +1 -1
- package/dist/assets/{mindmap-definition-QFDTVHPH-CnCiGofR.js → mindmap-definition-QFDTVHPH-BkmfcnFE.js} +1 -1
- package/dist/assets/{pieDiagram-DEJITSTG-BqIhPE7F.js → pieDiagram-DEJITSTG-D4a_1EvH.js} +1 -1
- package/dist/assets/{quadrantDiagram-34T5L4WZ-BUUOld6m.js → quadrantDiagram-34T5L4WZ-kKniISLU.js} +1 -1
- package/dist/assets/{requirementDiagram-MS252O5E-nXIfCEms.js → requirementDiagram-MS252O5E-DPikXO53.js} +1 -1
- package/dist/assets/{sankeyDiagram-XADWPNL6-DJThfilj.js → sankeyDiagram-XADWPNL6--rY8uDK7.js} +1 -1
- package/dist/assets/{sequenceDiagram-FGHM5R23-CQiVWsC6.js → sequenceDiagram-FGHM5R23-C57z6bd_.js} +1 -1
- package/dist/assets/{stateDiagram-FHFEXIEX-CxsMHyky.js → stateDiagram-FHFEXIEX-D7q_cBTL.js} +1 -1
- package/dist/assets/{stateDiagram-v2-QKLJ7IA2-Byzz6ymQ.js → stateDiagram-v2-QKLJ7IA2-Co3EU6Nf.js} +1 -1
- package/dist/assets/{timeline-definition-GMOUNBTQ-CkQgIeyQ.js → timeline-definition-GMOUNBTQ-DBV-lv69.js} +1 -1
- package/dist/assets/vendor-markdown-BFrYfpb0.js +1 -0
- package/dist/assets/{vennDiagram-DHZGUBPP-CPS3ODG3.js → vennDiagram-DHZGUBPP-ngWDn_ip.js} +1 -1
- package/dist/assets/{wardley-RL74JXVD-D6zaNgzM.js → wardley-RL74JXVD-BhMXVlU_.js} +1 -1
- package/dist/assets/{wardleyDiagram-NUSXRM2D-Bzaw757Q.js → wardleyDiagram-NUSXRM2D-lpdygHK-.js} +1 -1
- package/dist/assets/{xychartDiagram-5P7HB3ND-DCZ9r4uS.js → xychartDiagram-5P7HB3ND-DVafENtB.js} +1 -1
- package/dist/index.html +1 -1
- package/interceptor.js +4 -2
- package/lib/file-api.js +9 -9
- package/lib/git-diff.js +2 -1
- package/lib/log-watcher.js +3 -1
- package/package.json +3 -3
- package/server.js +44 -19
- package/dist/assets/App-BhRbMy4X.js +0 -1
- package/dist/assets/Mobile-COrr8adp.js +0 -1
- package/dist/assets/ProxyModal-C-2vWlT8.js +0 -2
- package/dist/assets/clone-BbE0e7rU.js +0 -1
- package/dist/assets/index-mBNBJDft.js +0 -2
- package/dist/assets/vendor-markdown-Bpu4AByL.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var __defProp=Object.defineProperty,__publicField=(obj,key,value)=>((obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value:value}):obj[key]=value)(obj,"symbol"!=typeof key?key+"":key,value);import{j as jsxRuntimeExports}from"./vendor-codemirror-2nbmPewy.js";import{a as reactExports,I as Icon,b as _extends,R as React__default,s as staticMethods,M as Modal,C as ConfigProvider,B as Badge,i as Button,j as RefIcon$3,k as RefIcon$4,S as Spin,l as Select,m as Switch,n as Radio,o as RefIcon$5}from"./vendor-antd-BeN8xqGk.js";import{f as fetchAllRepos,b as buildGitTree,i as isImageFile,I as ImageLightbox,F as FullFileDiffView,u as useSessionStoragePersistedSet,a as ImageViewer,c as FileContentView,l as loadExpandedPaths,s as saveExpandedPaths,d as computeTokenStats,e as computeToolUsageStats,g as computeSkillUsageStats,h as computeCacheRebuildStats,j as classifyRequest,k as styles$3,C as ConceptHelp,m as formatTokenCount,A as AppBase,n as appConfig,o as isSystemText,p as classifyUserContent,q as isMainAgent,r as styles$4,t as uploadFileAndGetPath,v as getEffectiveModel,w as AUTO_COMPACT_USABLE_RATIO,x as getModelMaxTokens,O as OPTIMISTIC_CLEAR_PERCENT,T as TerminalWsProvider,y as ApprovalModal,R as RefIcon$1,z as RefIcon$2,B as ChatView,D as TerminalPanel,E as CachePopoverContent,M as MemoryDetailModal,S as SkillsManagerModal,P as PluginModal,G as ProcessModal,H as ProxyModal,J as OpenFolderIcon,K as ToolApprovalPanel}from"./ProxyModal-I50f-Uhc.js";import{a as apiUrl,t,i as isIOS,b as isPad,s as setViewMode,L as LANG_OPTIONS,c as setLang,g as getLang}from"./index-CyW7-jqU.js";import"./vendor-mdxeditor-C7DYEBoH.js";import"./vendor-xterm-DckPrCx1.js";import"./vendor-markdown-BFrYfpb0.js";import"./vendor-highlight-IFTJ9nxW.js";import"./vendor-virtuoso-COKXGpsa.js";var RollbackOutlined$1={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112a8 8 0 000 12.6l142 112c5.2 4.1 12.9.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z"}}]},name:"rollback",theme:"outlined"},RollbackOutlined=function(props,ref){return reactExports.createElement(Icon,_extends({},props,{ref:ref,icon:RollbackOutlined$1}))},RefIcon=reactExports.forwardRef(RollbackOutlined);const styles$2_container="_container_tjqxo_1",styles$2_fileListSection="_fileListSection_tjqxo_10",styles$2_header="_header_tjqxo_19",styles$2_headerLeft="_headerLeft_tjqxo_28",styles$2_headerTitle="_headerTitle_tjqxo_34",styles$2_fileCount="_fileCount_tjqxo_42",styles$2_closeBtn="_closeBtn_tjqxo_50",styles$2_changesContainer="_changesContainer_tjqxo_66",styles$2_changeItem="_changeItem_tjqxo_73",styles$2_changeItemActive="_changeItemActive_tjqxo_90",styles$2_dirItem="_dirItem_tjqxo_99",styles$2_dirArrow="_dirArrow_tjqxo_110",styles$2_dirName="_dirName_tjqxo_119",styles$2_status="_status_tjqxo_124",styles$2_icon="_icon_tjqxo_133",styles$2_fileName="_fileName_tjqxo_142",styles$2_diffSection="_diffSection_tjqxo_149",styles$2_diffHeader="_diffHeader_tjqxo_157",styles$2_diffFilePath="_diffFilePath_tjqxo_167",styles$2_diffBadge="_diffBadge_tjqxo_177",styles$2_diffContent="_diffContent_tjqxo_189",styles$2_diffPlaceholder="_diffPlaceholder_tjqxo_195",styles$2_statusText="_statusText_tjqxo_206",styles$2_errorText="_errorText_tjqxo_213",styles$2_emptyText="_emptyText_tjqxo_220",styles$2_warningText="_warningText_tjqxo_227",styles$2_fileSizeNote="_fileSizeNote_tjqxo_239",styles$2_statusTextItalic="_statusTextItalic_tjqxo_244",styles$2_imagePreviewWrap="_imagePreviewWrap_tjqxo_248",styles$2_imagePreview="_imagePreview_tjqxo_248",styles$2_rotated90="_rotated90_tjqxo_264",styles$2_repoHeader="_repoHeader_tjqxo_269",styles$2_repoArrow="_repoArrow_tjqxo_288",styles$2_repoArrowExpanded="_repoArrowExpanded_tjqxo_299",styles$2_repoName="_repoName_tjqxo_303",styles$2_repoBadge="_repoBadge_tjqxo_310",STATUS_COLORS={M:"#e2c08d",A:"#73c991",D:"#f14c4c",R:"#73c991",C:"#73c991",U:"#e2c08d","?":"#73c991","??":"#73c991"},STATUS_LABELS={"??":"U"},EXT_COLORS$1={js:"#e8d44d",jsx:"#61dafb",ts:"#3178c6",tsx:"#3178c6",json:"#999",md:"#519aba",css:"#a86fd9",scss:"#cd6799",html:"#e34c26",py:"#3572a5",go:"#00add8",rs:"#dea584"};function getFileIcon$1(name){const ext=name.includes(".")?name.split(".").pop().toLowerCase():"",color=EXT_COLORS$1[ext]||"#888";return jsxRuntimeExports.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:color,strokeWidth:"1.5",children:[jsxRuntimeExports.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),jsxRuntimeExports.jsx("polyline",{points:"14 2 14 8 20 8"})]})}function TreeDir({name:name,node:node,depth:depth,selectedFile:selectedFile,selectedRepo:selectedRepo,repoPath:repoPath,onFileClick:onFileClick}){const dirNames=Object.keys(node.dirs).sort(),files=[...node.files].sort((a,b)=>a.name.localeCompare(b.name));return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[name&&jsxRuntimeExports.jsxs("div",{className:styles$2_dirItem,style:{paddingLeft:8+16*depth},children:[jsxRuntimeExports.jsx("span",{className:styles$2_dirArrow,children:jsxRuntimeExports.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:styles$2_rotated90,children:jsxRuntimeExports.jsx("polyline",{points:"9 6 15 12 9 18"})})}),jsxRuntimeExports.jsx("span",{className:styles$2_icon,children:jsxRuntimeExports.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"#c09553",stroke:"none",children:jsxRuntimeExports.jsx("path",{d:"M2 6c0-1.1.9-2 2-2h5l2 2h9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"})})}),jsxRuntimeExports.jsx("span",{className:styles$2_dirName,children:name})]}),dirNames.map(dir=>jsxRuntimeExports.jsx(TreeDir,{name:dir,node:node.dirs[dir],depth:name?depth+1:depth,selectedFile:selectedFile,selectedRepo:selectedRepo,repoPath:repoPath,onFileClick:onFileClick},dir)),files.map(file=>jsxRuntimeExports.jsxs("div",{className:`${styles$2_changeItem} ${selectedFile===file.fullPath&&selectedRepo===repoPath?styles$2_changeItemActive:""}`,style:{paddingLeft:8+16*(name?depth+1:depth)},onClick:()=>onFileClick&&onFileClick(repoPath,file.fullPath),children:[jsxRuntimeExports.jsx("span",{className:styles$2_icon,children:getFileIcon$1(file.name)}),jsxRuntimeExports.jsx("span",{className:styles$2_fileName,children:file.name}),jsxRuntimeExports.jsx("span",{className:styles$2_status,style:{color:STATUS_COLORS[file.status]||"#888"},children:STATUS_LABELS[file.status]||file.status})]},file.fullPath))]})}function MobileGitDiff({visible:visible,onClose:onClose}){const[repos,setRepos]=reactExports.useState(null),[error,setError]=reactExports.useState(null),[loading,setLoading]=reactExports.useState(!0),[selectedFile,setSelectedFile]=reactExports.useState(null),[selectedRepo,setSelectedRepo]=reactExports.useState(null),[collapsedRepos,setCollapsedRepos]=reactExports.useState(new Set),[diffData,setDiffData]=reactExports.useState(null),[diffError,setDiffError]=reactExports.useState(null),[diffLoading,setDiffLoading]=reactExports.useState(!1),[lightboxOpen,setLightboxOpen]=reactExports.useState(!1),mounted=reactExports.useRef(!0);reactExports.useEffect(()=>{if(mounted.current=!0,visible)return setLoading(!0),setError(null),fetchAllRepos().then(results=>{mounted.current&&(setRepos(results),setLoading(!1))}).catch(()=>{mounted.current&&(setError("Failed to load git status"),setLoading(!1))}),()=>{mounted.current=!1}},[visible]),reactExports.useEffect(()=>{if(!selectedFile||!selectedRepo)return setDiffData(null),void setDiffError(null);setDiffLoading(!0),setDiffData(null),setDiffError(null);const repoParam=selectedRepo&&"."!==selectedRepo?`&repo=${encodeURIComponent(selectedRepo)}`:"";fetch(apiUrl(`/api/git-diff?files=${encodeURIComponent(selectedFile)}${repoParam}`)).then(r=>{if(!r.ok)throw new Error(`HTTP ${r.status}`);return r.json()}).then(data=>{mounted.current&&(data.diffs&&data.diffs[0]?setDiffData(data.diffs[0]):setDiffError("No diff data available"),setDiffLoading(!1))}).catch(err=>{mounted.current&&(setDiffError(`${t("ui.fileLoadError")}: ${err.message}`),setDiffLoading(!1))})},[selectedFile,selectedRepo]);const totalChanges=reactExports.useMemo(()=>repos?repos.reduce((sum,r)=>sum+r.changes.length,0):0,[repos]),isSingleRepo=!repos||repos.length<=1,handleFileClick=(repoPath,filePath)=>{setSelectedFile(filePath),setSelectedRepo(repoPath)},diffDisplayPath=selectedFile&&selectedRepo&&"."!==selectedRepo?`${selectedRepo}/${selectedFile}`:selectedFile;return jsxRuntimeExports.jsxs("div",{className:styles$2_container,children:[jsxRuntimeExports.jsxs("div",{className:styles$2_fileListSection,children:[jsxRuntimeExports.jsxs("div",{className:styles$2_header,children:[jsxRuntimeExports.jsxs("div",{className:styles$2_headerLeft,children:[jsxRuntimeExports.jsx("span",{className:styles$2_headerTitle,children:t("ui.gitChanges")}),jsxRuntimeExports.jsx("span",{className:styles$2_fileCount,children:totalChanges})]}),onClose&&jsxRuntimeExports.jsx("button",{className:styles$2_closeBtn,onClick:onClose,children:jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[jsxRuntimeExports.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntimeExports.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$2_changesContainer,children:[loading&&jsxRuntimeExports.jsx("div",{className:styles$2_statusText,children:"Loading..."}),error&&jsxRuntimeExports.jsx("div",{className:styles$2_errorText,children:error}),!loading&&!error&&(!repos||0===repos.length)&&jsxRuntimeExports.jsx("div",{className:styles$2_emptyText,children:"No changes"}),!loading&&!error&&repos&&repos.map(repo=>{const collapsed=collapsedRepos.has(repo.path);return isSingleRepo?jsxRuntimeExports.jsx(TreeDir,{name:"",node:buildGitTree(repo.changes),depth:0,selectedFile:selectedFile,selectedRepo:selectedRepo,repoPath:repo.path,onFileClick:handleFileClick},repo.path):jsxRuntimeExports.jsxs(React__default.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:styles$2_repoHeader,onClick:()=>setCollapsedRepos(prev=>{const next=new Set(prev);return collapsed?next.delete(repo.path):next.add(repo.path),next}),children:[jsxRuntimeExports.jsx("span",{className:`${styles$2_repoArrow} ${collapsed?"":styles$2_repoArrowExpanded}`,children:jsxRuntimeExports.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntimeExports.jsx("polyline",{points:"9 6 15 12 9 18"})})}),jsxRuntimeExports.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-muted)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[jsxRuntimeExports.jsx("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),jsxRuntimeExports.jsx("circle",{cx:"18",cy:"6",r:"3"}),jsxRuntimeExports.jsx("circle",{cx:"6",cy:"18",r:"3"}),jsxRuntimeExports.jsx("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),jsxRuntimeExports.jsx("span",{className:styles$2_repoName,children:repo.name}),jsxRuntimeExports.jsx("span",{className:styles$2_repoBadge,children:repo.changes.length})]}),!collapsed&&jsxRuntimeExports.jsx(TreeDir,{name:"",node:buildGitTree(repo.changes),depth:1,selectedFile:selectedFile,selectedRepo:selectedRepo,repoPath:repo.path,onFileClick:handleFileClick})]},repo.path)})]})]}),jsxRuntimeExports.jsx("div",{className:styles$2_diffSection,children:selectedFile?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:styles$2_diffHeader,children:[jsxRuntimeExports.jsx("span",{className:styles$2_diffFilePath,children:diffDisplayPath}),jsxRuntimeExports.jsx("span",{className:styles$2_diffBadge,children:"DIFF"})]}),jsxRuntimeExports.jsxs("div",{className:styles$2_diffContent,children:[diffLoading&&jsxRuntimeExports.jsx("div",{className:styles$2_statusText,children:t("ui.loading")}),diffError&&jsxRuntimeExports.jsx("div",{className:styles$2_errorText,children:diffError}),!diffLoading&&!diffError&&diffData&&jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:diffData.is_large?jsxRuntimeExports.jsxs("div",{className:styles$2_warningText,children:[jsxRuntimeExports.jsx("p",{children:t("ui.largeFileWarning")}),jsxRuntimeExports.jsxs("p",{className:styles$2_fileSizeNote,children:[t("ui.fileSize"),": ",(diffData.size/1048576).toFixed(2)," MB"]})]}):isImageFile(selectedFile)&&!diffData.is_deleted?jsxRuntimeExports.jsxs("div",{className:styles$2_imagePreviewWrap,children:[jsxRuntimeExports.jsx("img",{className:styles$2_imagePreview,src:apiUrl(`/api/file-raw?path=${encodeURIComponent(diffDisplayPath)}`),alt:selectedFile,onClick:()=>setLightboxOpen(!0)}),lightboxOpen&&jsxRuntimeExports.jsx(ImageLightbox,{src:apiUrl(`/api/file-raw?path=${encodeURIComponent(diffDisplayPath)}`),alt:selectedFile,onClose:()=>setLightboxOpen(!1)})]}):diffData.is_binary?jsxRuntimeExports.jsx("div",{className:`${styles$2_statusText} ${styles$2_statusTextItalic}`,children:t("ui.binaryFileNotice")}):jsxRuntimeExports.jsx(FullFileDiffView,{file_path:selectedFile,old_string:diffData.old_content,new_string:diffData.new_content})})]})]}):jsxRuntimeExports.jsxs("div",{className:styles$2_diffPlaceholder,children:[jsxRuntimeExports.jsxs("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"#333",strokeWidth:"1.5",children:[jsxRuntimeExports.jsx("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),jsxRuntimeExports.jsx("circle",{cx:"18",cy:"6",r:"3"}),jsxRuntimeExports.jsx("circle",{cx:"6",cy:"18",r:"3"}),jsxRuntimeExports.jsx("path",{d:"M18 9a9 9 0 0 1-9 9"})]}),jsxRuntimeExports.jsx("span",{children:t("ui.mobileGitDiffHint")})]})})]})}const styles$1_container="_container_1hzyt_1",styles$1_fileListSection="_fileListSection_1hzyt_10",styles$1_header="_header_1hzyt_19",styles$1_headerLeft="_headerLeft_1hzyt_28",styles$1_headerTitle="_headerTitle_1hzyt_34",styles$1_fileCount="_fileCount_1hzyt_42",styles$1_closeBtn="_closeBtn_1hzyt_50",styles$1_treeContainer="_treeContainer_1hzyt_66",styles$1_treeItem="_treeItem_1hzyt_73",styles$1_treeItemActive="_treeItemActive_1hzyt_90",styles$1_treeItemIgnored="_treeItemIgnored_1hzyt_99",styles$1_arrow="_arrow_1hzyt_103",styles$1_arrowExpanded="_arrowExpanded_1hzyt_113",styles$1_icon="_icon_1hzyt_117",styles$1_fileName="_fileName_1hzyt_126",styles$1_contentSection="_contentSection_1hzyt_133",styles$1_contentPlaceholder="_contentPlaceholder_1hzyt_141",styles$1_statusText="_statusText_1hzyt_152",styles$1_errorText="_errorText_1hzyt_159",styles$1_emptyText="_emptyText_1hzyt_166",EXT_COLORS={js:"#e8d44d",jsx:"#61dafb",ts:"#3178c6",tsx:"#3178c6",json:"#999",md:"#519aba",css:"#a86fd9",scss:"#cd6799",html:"#e34c26",py:"#3572a5",go:"#00add8",rs:"#dea584"};function getFileIcon(name){const ext=name.includes(".")?name.split(".").pop().toLowerCase():"",color=EXT_COLORS[ext]||"#888";return jsxRuntimeExports.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:color,strokeWidth:"1.5",children:[jsxRuntimeExports.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),jsxRuntimeExports.jsx("polyline",{points:"14 2 14 8 20 8"})]})}function MobileTreeNode({item:item,path:path,depth:depth,expandedPaths:expandedPaths,onToggleExpand:onToggleExpand,currentFile:currentFile,onFileClick:onFileClick}){const[children,setChildren]=reactExports.useState(null),[loading,setLoading]=reactExports.useState(!1),childPath=path?`${path}/${item.name}`:item.name,expanded=expandedPaths.has(childPath),isDir="directory"===item.type,isSelected=!isDir&¤tFile===childPath,isGitIgnored=item.gitIgnored||!1;reactExports.useEffect(()=>{isDir&&expanded&&null===children&&!loading&&(setLoading(!0),fetch(apiUrl(`/api/files?path=${encodeURIComponent(childPath)}`)).then(r=>r.ok?r.json():Promise.reject()).then(data=>{setChildren(data),setLoading(!1)}).catch(()=>{setLoading(!1)}))},[expanded]);const handleClick=reactExports.useCallback(()=>{isDir?onToggleExpand(childPath):onFileClick(childPath)},[isDir,childPath,onToggleExpand,onFileClick]);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:`${styles$1_treeItem} ${isSelected?styles$1_treeItemActive:""} ${isGitIgnored?styles$1_treeItemIgnored:""}`,style:{paddingLeft:8+16*depth},onClick:handleClick,children:[isDir?jsxRuntimeExports.jsx("span",{className:`${styles$1_arrow} ${expanded?styles$1_arrowExpanded:""}`,children:jsxRuntimeExports.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntimeExports.jsx("polyline",{points:"9 6 15 12 9 18"})})}):jsxRuntimeExports.jsx("span",{style:{width:16,flexShrink:0}}),jsxRuntimeExports.jsx("span",{className:styles$1_icon,children:isDir?jsxRuntimeExports.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"#c09553",stroke:"none",children:jsxRuntimeExports.jsx("path",{d:"M2 6c0-1.1.9-2 2-2h5l2 2h9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"})}):getFileIcon(item.name)}),jsxRuntimeExports.jsx("span",{className:styles$1_fileName,children:item.name}),loading&&jsxRuntimeExports.jsx("span",{style:{fontSize:10,color:"var(--text-disabled)"},children:"..."})]}),isDir&&expanded&&children&&children.map(child=>jsxRuntimeExports.jsx(MobileTreeNode,{item:child,path:childPath,depth:depth+1,expandedPaths:expandedPaths,onToggleExpand:onToggleExpand,currentFile:currentFile,onFileClick:onFileClick},child.name))]})}function MobileFileExplorer({visible:visible,onClose:onClose,targetFile:targetFile,projectName:projectName}){const[items,setItems]=reactExports.useState(null),[loading,setLoading]=reactExports.useState(!0),[error,setError]=reactExports.useState(null),[expandedPaths,setExpandedPaths]=useSessionStoragePersistedSet({projectName:projectName,load:loadExpandedPaths,save:saveExpandedPaths}),[currentFile,setCurrentFile]=reactExports.useState(null),mounted=reactExports.useRef(!0),lastTargetRef=reactExports.useRef(null);reactExports.useEffect(()=>(mounted.current=!0,visible?(setLoading(!0),setError(null),fetch(apiUrl("/api/files?path=")).then(r=>r.ok?r.json():Promise.reject()).then(data=>{mounted.current&&(setItems(data),setLoading(!1))}).catch(()=>{mounted.current&&(setError(t("ui.fileLoadError")),setLoading(!1))}),()=>{mounted.current=!1}):(setCurrentFile(null),void(lastTargetRef.current=null))),[visible]),reactExports.useEffect(()=>{targetFile&&visible&&lastTargetRef.current!==targetFile.file&&(lastTargetRef.current=targetFile.file,setCurrentFile(targetFile.file),targetFile.ancestors&&targetFile.ancestors.length>0&&setExpandedPaths(prev=>{const next=new Set(prev);return targetFile.ancestors.forEach(p=>next.add(p)),next}))},[targetFile,visible]);const handleToggleExpand=reactExports.useCallback(path=>{setExpandedPaths(prev=>{const next=new Set(prev);return next.has(path)?next.delete(path):next.add(path),next})},[]),handleFileClick=reactExports.useCallback(path=>{setCurrentFile(path)},[]),handleFileClose=reactExports.useCallback(()=>{setCurrentFile(null)},[]),itemCount=items?items.length:0;return jsxRuntimeExports.jsxs("div",{className:styles$1_container,children:[jsxRuntimeExports.jsxs("div",{className:styles$1_fileListSection,children:[jsxRuntimeExports.jsxs("div",{className:styles$1_header,children:[jsxRuntimeExports.jsxs("div",{className:styles$1_headerLeft,children:[jsxRuntimeExports.jsx("span",{className:styles$1_headerTitle,children:t("ui.projectFolder")}),jsxRuntimeExports.jsx("span",{className:styles$1_fileCount,children:itemCount})]}),onClose&&jsxRuntimeExports.jsx("button",{className:styles$1_closeBtn,onClick:onClose,children:jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[jsxRuntimeExports.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntimeExports.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$1_treeContainer,children:[loading&&jsxRuntimeExports.jsx("div",{className:styles$1_statusText,children:t("ui.loading")}),error&&jsxRuntimeExports.jsx("div",{className:styles$1_errorText,children:t("ui.fileLoadError")}),!loading&&!error&&(!items||0===items.length)&&jsxRuntimeExports.jsx("div",{className:styles$1_emptyText,children:t("ui.mobileFileExplorerHint")}),!loading&&!error&&items&&items.map(item=>jsxRuntimeExports.jsx(MobileTreeNode,{item:item,path:"",depth:0,expandedPaths:expandedPaths,onToggleExpand:handleToggleExpand,currentFile:currentFile,onFileClick:handleFileClick},item.name))]})]}),jsxRuntimeExports.jsx("div",{className:styles$1_contentSection,children:currentFile?isImageFile(currentFile)?jsxRuntimeExports.jsx(ImageViewer,{filePath:currentFile,onClose:handleFileClose}):jsxRuntimeExports.jsx(FileContentView,{filePath:currentFile,onClose:handleFileClose}):jsxRuntimeExports.jsxs("div",{className:styles$1_contentPlaceholder,children:[jsxRuntimeExports.jsx("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:jsxRuntimeExports.jsx("path",{d:"M2 6c0-1.1.9-2 2-2h5l2 2h9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6z"})}),jsxRuntimeExports.jsx("span",{children:t("ui.mobileFileExplorerHint")})]})})]})}const styles_container="_container_1bb9n_1",styles_header="_header_1bb9n_9",styles_headerTitle="_headerTitle_1bb9n_18",styles_closeBtn="_closeBtn_1bb9n_24",styles_content="_content_1bb9n_38",styles_empty="_empty_1bb9n_47",styles_fixedTable="_fixedTable_1bb9n_54",styles_ellipsisCell="_ellipsisCell_1bb9n_58",styles_thLeft="_thLeft_1bb9n_65",styles_colWide="_colWide_1bb9n_69",styles_colNarrow="_colNarrow_1bb9n_73",REASON_KEYS=["ttl","system_change","tools_change","model_change","msg_truncated","msg_modified","key_change"],I18N_MAP={ttl:"cacheLoss.ttl",system_change:"cacheLoss.systemChange",tools_change:"cacheLoss.toolsChange",model_change:"cacheLoss.modelChange",msg_truncated:"cacheLoss.msgTruncated",msg_modified:"cacheLoss.msgModified",key_change:"cacheLoss.keyChange"};function MobileStats({requests:requests=[],visible:visible,onClose:onClose}){const{byModel:byModel,models:models,toolStats:toolStats,skillStats:skillStats,cacheStats:cacheStats,activeReasons:activeReasons,totalCount:totalCount,totalCache:totalCache,hasCacheStats:hasCacheStats,subAgentEntries:subAgentEntries,hasSubAgentStats:hasSubAgentStats,teammateEntries:teammateEntries,hasTeammateStats:hasTeammateStats,isEmpty:isEmpty}=reactExports.useMemo(()=>{const byModel2=computeTokenStats(requests),models2=Object.keys(byModel2),toolStats2=computeToolUsageStats(requests),skillStats2=computeSkillUsageStats(requests),cacheStats2=computeCacheRebuildStats(requests),activeReasons2=REASON_KEYS.filter(k=>cacheStats2[k].count>0),totalCount2=activeReasons2.reduce((sum,k)=>sum+cacheStats2[k].count,0),totalCache2=activeReasons2.reduce((sum,k)=>sum+cacheStats2[k].cacheCreate,0),hasCacheStats2=activeReasons2.length>0,subAgentCounts={},teammateCounts={};for(let i=0;i<requests.length;i++){const cls=classifyRequest(requests[i],requests[i+1]);if("SubAgent"===cls.type){const label=cls.subType||"Other";subAgentCounts[label]=(subAgentCounts[label]||0)+1}else if("Teammate"===cls.type){const label=cls.subType||"Teammate";teammateCounts[label]=(teammateCounts[label]||0)+1}}const subAgentEntries2=Object.entries(subAgentCounts).sort((a,b)=>b[1]-a[1]),hasSubAgentStats2=subAgentEntries2.length>0,teammateEntries2=Object.entries(teammateCounts).sort((a,b)=>b[1]-a[1]),hasTeammateStats2=teammateEntries2.length>0,isEmpty2=0===models2.length&&0===toolStats2.length&&!hasCacheStats2&&!hasSubAgentStats2&&!hasTeammateStats2&&0===skillStats2.length;return{byModel:byModel2,models:models2,toolStats:toolStats2,skillStats:skillStats2,cacheStats:cacheStats2,activeReasons:activeReasons2,totalCount:totalCount2,totalCache:totalCache2,hasCacheStats:hasCacheStats2,subAgentEntries:subAgentEntries2,hasSubAgentStats:hasSubAgentStats2,teammateEntries:teammateEntries2,hasTeammateStats:hasTeammateStats2,isEmpty:isEmpty2}},[requests]);return visible?jsxRuntimeExports.jsxs("div",{className:styles_container,children:[jsxRuntimeExports.jsxs("div",{className:styles_header,children:[jsxRuntimeExports.jsx("span",{className:styles_headerTitle,children:t("ui.tokenStats")}),jsxRuntimeExports.jsx("button",{className:styles_closeBtn,onClick:onClose,children:jsxRuntimeExports.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[jsxRuntimeExports.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntimeExports.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntimeExports.jsx("div",{className:styles_content,children:isEmpty?jsxRuntimeExports.jsx("div",{className:styles_empty,children:"—"}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[skillStats.length>0&&jsxRuntimeExports.jsxs("div",{className:styles$3.modelCard,children:[jsxRuntimeExports.jsx("div",{className:styles$3.modelName,children:t("ui.skillUsageStats")}),jsxRuntimeExports.jsxs("table",{className:styles$3.statsTable,children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:`${styles$3.th} ${styles_thLeft}`,children:"Skill"}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:t("ui.cacheRebuild.count")})]})}),jsxRuntimeExports.jsxs("tbody",{children:[skillStats.map(([name,count])=>jsxRuntimeExports.jsxs("tr",{className:styles$3.rowBorder,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:name}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:count})]},name)),skillStats.length>1&&jsxRuntimeExports.jsxs("tr",{className:styles$3.rebuildTotalRow,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:"Total"}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:skillStats.reduce((s,e)=>s+e[1],0)})]})]})]})]}),hasSubAgentStats&&jsxRuntimeExports.jsxs("div",{className:styles$3.modelCard,children:[jsxRuntimeExports.jsx("div",{className:styles$3.modelName,children:t("ui.subAgentStats")}),jsxRuntimeExports.jsxs("table",{className:styles$3.statsTable,children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:`${styles$3.th} ${styles_thLeft}`,children:"SubAgent"}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:t("ui.cacheRebuild.count")})]})}),jsxRuntimeExports.jsxs("tbody",{children:[subAgentEntries.map(([name,count])=>jsxRuntimeExports.jsxs("tr",{className:styles$3.rowBorder,children:[jsxRuntimeExports.jsxs("td",{className:styles$3.label,children:[name," ",jsxRuntimeExports.jsx(ConceptHelp,{doc:`SubAgent-${name}`})]}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:count})]},name)),subAgentEntries.length>1&&jsxRuntimeExports.jsxs("tr",{className:styles$3.rebuildTotalRow,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:"Total"}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:subAgentEntries.reduce((s,e)=>s+e[1],0)})]})]})]})]}),hasTeammateStats&&jsxRuntimeExports.jsxs("div",{className:styles$3.modelCard,children:[jsxRuntimeExports.jsx("div",{className:styles$3.modelName,children:"Teammate"}),jsxRuntimeExports.jsxs("table",{className:styles$3.statsTable,children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:`${styles$3.th} ${styles_thLeft}`,children:"Name"}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:t("ui.cacheRebuild.count")})]})}),jsxRuntimeExports.jsxs("tbody",{children:[teammateEntries.map(([name,count])=>jsxRuntimeExports.jsxs("tr",{className:styles$3.rowBorder,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:name}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:count})]},name)),teammateEntries.length>1&&jsxRuntimeExports.jsxs("tr",{className:styles$3.rebuildTotalRow,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:"Total"}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:teammateEntries.reduce((s,e)=>s+e[1],0)})]})]})]})]}),toolStats.length>0&&jsxRuntimeExports.jsxs("div",{className:styles$3.modelCard,children:[jsxRuntimeExports.jsx("div",{className:styles$3.modelName,children:t("ui.toolUsageStats")}),jsxRuntimeExports.jsxs("table",{className:styles$3.statsTable,children:[jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:`${styles$3.th} ${styles_thLeft}`,children:"Tool"}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:t("ui.cacheRebuild.count")})]})}),jsxRuntimeExports.jsxs("tbody",{children:[toolStats.map(([name,count])=>jsxRuntimeExports.jsxs("tr",{className:styles$3.rowBorder,children:[jsxRuntimeExports.jsxs("td",{className:styles$3.label,children:[name," ",jsxRuntimeExports.jsx(ConceptHelp,{doc:`Tool-${name}`})]}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:count})]},name)),toolStats.length>1&&jsxRuntimeExports.jsxs("tr",{className:styles$3.rebuildTotalRow,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:"Total"}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:toolStats.reduce((s,e)=>s+e[1],0)})]})]})]})]}),hasCacheStats&&jsxRuntimeExports.jsxs("div",{className:styles$3.modelCard,children:[jsxRuntimeExports.jsxs("div",{className:styles$3.modelName,children:["MainAgent",jsxRuntimeExports.jsx(ConceptHelp,{doc:"MainAgent"})," ",t("ui.cacheRebuildStats"),jsxRuntimeExports.jsx(ConceptHelp,{doc:"CacheRebuild"})]}),jsxRuntimeExports.jsxs("table",{className:`${styles$3.statsTable} ${styles_fixedTable}`,children:[jsxRuntimeExports.jsxs("colgroup",{children:[jsxRuntimeExports.jsx("col",{className:styles_colWide}),jsxRuntimeExports.jsx("col",{className:styles_colNarrow}),jsxRuntimeExports.jsx("col",{className:styles_colNarrow})]}),jsxRuntimeExports.jsx("thead",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:`${styles$3.th} ${styles_thLeft}`,children:t("ui.cacheRebuild.reason")}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:t("ui.cacheRebuild.count")}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:t("ui.cacheRebuild.cacheCreate")})]})}),jsxRuntimeExports.jsxs("tbody",{children:[activeReasons.map(k=>jsxRuntimeExports.jsxs("tr",{className:styles$3.rowBorder,children:[jsxRuntimeExports.jsx("td",{className:`${styles$3.label} ${styles_ellipsisCell}`,title:t(`ui.${I18N_MAP[k]}`),children:t(`ui.${I18N_MAP[k]}`)}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:cacheStats[k].count}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:formatTokenCount(cacheStats[k].cacheCreate)})]},k)),activeReasons.length>1&&jsxRuntimeExports.jsxs("tr",{className:styles$3.rebuildTotalRow,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:"Total"}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:totalCount}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:formatTokenCount(totalCache)})]})]})]})]}),models.map(model=>{const s=byModel[model],totalInput=s.input+s.cacheCreation+s.cacheRead,cacheHitRate=totalInput>0?(s.cacheRead/totalInput*100).toFixed(1):"0.0";return jsxRuntimeExports.jsxs("div",{className:styles$3.modelCard,children:[jsxRuntimeExports.jsx("div",{className:styles$3.modelName,children:model}),jsxRuntimeExports.jsx("table",{className:styles$3.statsTable,children:jsxRuntimeExports.jsxs("tbody",{children:[jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:"Token"}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:"input"}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:"output"})]}),jsxRuntimeExports.jsxs("tr",{className:styles$3.rowBorder,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:formatTokenCount(totalInput)}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:formatTokenCount(s.output)})]}),jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:"Cache"}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:"create"}),jsxRuntimeExports.jsx("td",{className:styles$3.th,children:"read"})]}),jsxRuntimeExports.jsxs("tr",{className:styles$3.rowBorder,children:[jsxRuntimeExports.jsx("td",{className:styles$3.label}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:formatTokenCount(s.cacheCreation)}),jsxRuntimeExports.jsx("td",{className:styles$3.td,children:formatTokenCount(s.cacheRead)})]}),jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:styles$3.label,children:t("ui.hitRate")}),jsxRuntimeExports.jsxs("td",{colSpan:2,className:styles$3.td,children:[cacheHitRate,"%"]})]})]})})]},model)})]})})]}):null}const CALIBRATION_MODELS=appConfig.calibrationModels,_Mobile=class _Mobile extends AppBase{constructor(props){var v;super(props),__publicField(this,"handleCalibrationModelChange",value=>{this.setState({calibrationModel:value}),localStorage.setItem("ccv_calibrationModel",value)}),__publicField(this,"reloadFsSkills",async()=>{if(this._isLocalLog)return{ok:!1,reason:"local_log"};const seq=++this._fsSkillsSeq;try{const r=await fetch(apiUrl("/api/skills")),data=await r.json();if(seq!==this._fsSkillsSeq)return{ok:!1,reason:"stale"};if(!r.ok||!data.ok||!Array.isArray(data.skills)){const reason=data&&data.error||`http:${r.status}`;return this.setState(prev=>({_fsSkills:!!Array.isArray(prev._fsSkills)&&prev._fsSkills})),{ok:!1,reason:reason}}return this.setState({_fsSkills:data.skills}),{ok:!0,skills:data.skills}}catch(e){return seq===this._fsSkillsSeq&&this.setState(prev=>({_fsSkills:!!Array.isArray(prev._fsSkills)&&prev._fsSkills})),{ok:!1,reason:e.message||"network"}}}),__publicField(this,"handleOpenSkillsModal",async()=>{const cached=this.state._fsSkills,needFetch=!Array.isArray(cached);if(this.setState(prev=>{var _a;return{_skillsModal:{open:!0,loading:needFetch,skills:Array.isArray(cached)?cached:[],error:null,toggling:(null==(_a=prev._skillsModal)?void 0:_a.toggling)||new Set},mobileCachePanelVisible:!1}},()=>this._onCachePanelOpenChange(!1)),needFetch){const result=await this.reloadFsSkills();this.setState(prev=>({_skillsModal:{...prev._skillsModal,loading:!1,skills:result.ok?result.skills:[],error:result.ok?null:result.reason}}))}}),__publicField(this,"handleToggleSkill",async skill=>{var _a,_b;const key=`${skill.source}-${skill.name}`;if(null==(_b=null==(_a=this.state._skillsModal)?void 0:_a.toggling)?void 0:_b.has(key))return;const enable=!skill.enabled,flipEnabled=target=>s=>s.source===skill.source&&s.name===skill.name?{...s,enabled:target}:s;this.setState(prev=>{const next=new Set(prev._skillsModal.toggling);return next.add(key),{_skillsModal:{...prev._skillsModal,toggling:next,skills:prev._skillsModal.skills.map(flipEnabled(enable))}}});try{const r=await fetch(apiUrl("/api/skills/toggle"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:skill.source,name:skill.name,enable:enable})}),data=await r.json();if(!r.ok)return this.setState(prev=>({_skillsModal:{...prev._skillsModal,skills:prev._skillsModal.skills.map(flipEnabled(!enable))}})),void("DEST_CONFLICT"===data.code?staticMethods.error(t("ui.skillToggleConflict",{name:skill.name})):staticMethods.error(t("ui.skillToggleFailed",{reason:data.error||"unknown"})));this.setState(prev=>({_fsSkills:Array.isArray(prev._fsSkills)?prev._fsSkills.map(s=>s.source===skill.source&&s.name===skill.name?{...s,enabled:enable}:s):prev._fsSkills}));const result=await this.reloadFsSkills();result.ok&&this.setState(prev=>{const orderMap=new Map(prev._skillsModal.skills.map((s,i)=>[`${s.source}-${s.name}`,i])),merged=[...result.skills].sort((a,b)=>{const ai=orderMap.get(`${a.source}-${a.name}`),bi=orderMap.get(`${b.source}-${b.name}`);return void 0===ai&&void 0===bi?0:void 0===ai?1:void 0===bi?-1:ai-bi});return{_skillsModal:{...prev._skillsModal,skills:merged}}})}catch(e){this.setState(prev=>({_skillsModal:{...prev._skillsModal,skills:prev._skillsModal.skills.map(flipEnabled(!enable))}})),staticMethods.error(t("ui.skillToggleFailed",{reason:e.message}))}finally{this.setState(prev=>{const next=new Set(prev._skillsModal.toggling);return next.delete(key),{_skillsModal:{...prev._skillsModal,toggling:next}}})}}),__publicField(this,"loadMemory",async()=>{const seq=++this._memorySeq;try{const r=await fetch(apiUrl("/api/project-memory")),data=await r.json();if(seq!==this._memorySeq)return;if(!r.ok)return void this.setState({_memory:!1});this.setState({_memory:data})}catch{seq===this._memorySeq&&this.setState({_memory:!1})}}),__publicField(this,"handleRefreshMemory",async()=>{if(this.state._memoryRefreshing)return;this.setState({_memoryRefreshing:!0});const seq=++this._memorySeq;let ok=!1,stale=!1;try{const r=await fetch(apiUrl("/api/project-memory")),data=await r.json();seq!==this._memorySeq?stale=!0:r.ok?(this.setState({_memory:data}),ok=!0):this.setState({_memory:!1})}catch{seq!==this._memorySeq?stale=!0:this.setState({_memory:!1})}finally{stale||this.setState({_memoryRefreshing:!1})}stale||(ok?staticMethods.success(t("ui.memoryRefreshSuccess")):staticMethods.error(t("ui.memoryRefreshFailed"),5))}),__publicField(this,"loadMemoryDetail",async name=>{const seq=++this._memoryDetailSeq;this.setState({_memoryDetail:{name:name,loading:!0}});try{const r=await fetch(apiUrl(`/api/project-memory?file=${encodeURIComponent(name)}`)),data=await r.json();if(seq!==this._memoryDetailSeq)return;if(!r.ok)return void this.setState({_memoryDetail:{name:name,error:data.error||`http:${r.status}`}});this.setState({_memoryDetail:{name:name,content:data.content||""}})}catch(e){seq===this._memoryDetailSeq&&this.setState({_memoryDetail:{name:name,error:e.message||"network"}})}}),__publicField(this,"_onCachePanelOpenChange",open=>{open&&null===this.state._fsSkills&&!this._isLocalLog&&this.reloadFsSkills(),open&&null===this.state._memory&&this.loadMemory(),open&&null===this.state._claudeMd&&this.loadClaudeMdList()}),__publicField(this,"loadClaudeMdList",async()=>{const seq=++this._claudeMdSeq;try{const r=await fetch(apiUrl("/api/claude-md")),data=await r.json();if(seq!==this._claudeMdSeq)return;if(!r.ok||!Array.isArray(data.entries))return void this.setState({_claudeMd:!1});this.setState({_claudeMd:data.entries})}catch{seq===this._claudeMdSeq&&this.setState({_claudeMd:!1})}}),__publicField(this,"loadClaudeMdDetail",async(id,tail,scope)=>{const seq=++this._claudeMdDetailSeq,title=`${t("global"===scope?"ui.claudeMdScopeGlobal":"ui.claudeMdScopeProject")} · ${tail}`;this.setState({_claudeMdDetail:{name:title,loading:!0}});try{const r=await fetch(apiUrl(`/api/claude-md?id=${encodeURIComponent(id)}`)),data=await r.json();if(seq!==this._claudeMdDetailSeq)return;if(!r.ok)return void this.setState({_claudeMdDetail:{name:title,error:data.error||`http:${r.status}`}});this.setState({_claudeMdDetail:{name:title,content:data.content||""}})}catch(e){seq===this._claudeMdDetailSeq&&this.setState({_claudeMdDetail:{name:title,error:e.message||"network"}})}}),__publicField(this,"_handleMobileOpenFile",(filePath,ancestors)=>{this.state.localLogFile||this.setState({...this._closeAllMobileOverlays(),mobileFileExplorerVisible:!0,mobileFileExplorerTarget:{file:filePath,ancestors:ancestors||[]}})}),__publicField(this,"handleExportPromptsTxt",prompts=>{if(!prompts||0===prompts.length)return;const blocks=[];for(const p of prompts){const lines=[],ts=p.timestamp?new Date(p.timestamp).toLocaleString():"";ts&&lines.push(`${ts}:\n`);const textParts=(p.segments||[]).filter(seg=>"text"===seg.type).map(seg=>seg.content);textParts.length>0&&lines.push(textParts.join("\n")),blocks.push(lines.join("\n"))}if(0===blocks.length)return;const blob=new Blob([blocks.join("\n\n\n\n")],{type:"text/plain;charset=utf-8"}),url=URL.createObjectURL(blob),a=document.createElement("a");a.href=url,a.download=`user-prompts-${(new Date).toISOString().slice(0,10)}.txt`,a.click(),URL.revokeObjectURL(url)}),__publicField(this,"handlePendingPermission",data=>{this.setState({globalPermission:data})}),__publicField(this,"handlePendingPlanApproval",data=>{this.setState({globalPlanApproval:data})}),__publicField(this,"handleAutoApproveChange",seconds=>{this.setState({autoApproveSeconds:seconds}),this.context.updatePreferences({autoApproveSeconds:seconds})}),__publicField(this,"_isInternalDrag",e=>e.dataTransfer.types.includes("text/x-preset-reorder")),__publicField(this,"_onDragOver",e=>{if(e.preventDefault(),this._isInternalDrag(e))return;e.target.closest&&e.target.closest("[data-file-explorer]")?this.state.isDragging&&this.setState({isDragging:!1}):this.state.isDragging||this.setState({isDragging:!0})}),__publicField(this,"_onDragLeave",e=>{const layout=this._layoutRef.current;layout&&!layout.contains(e.relatedTarget)&&this.setState({isDragging:!1})}),__publicField(this,"_onDrop",e=>{if(e.preventDefault(),this._isInternalDrag(e))return;this.setState({isDragging:!1});const files=Array.from(e.dataTransfer.files);if(!files.length)return;const toTerminal=this.state.mobileTerminalVisible;Promise.all(files.map(file=>uploadFileAndGetPath(file).then(path=>({name:file.name,path:path})).catch(err=>(staticMethods.error(`${file.name}: ${err.message}`),null)))).then(results=>{const uploaded=results.filter(Boolean);uploaded.length&&(toTerminal?this.setState(prev=>({terminalPendingImages:[...prev.terminalPendingImages,...uploaded.map(r=>({path:r.path,source:"drop"}))]})):this.setState(prev=>({pendingUploadPaths:[...prev.pendingUploadPaths||[],...uploaded.map(r=>`"${r.path}"`)]})))})}),__publicField(this,"handleUploadPathsConsumed",()=>{this.setState({pendingUploadPaths:[]})}),__publicField(this,"_handleTerminalFilePath",path=>{this.setState(prev=>({terminalPendingImages:[...prev.terminalPendingImages,{path:path,source:"terminal"}]}))}),__publicField(this,"_handleRemoveTerminalImage",idx=>{this.setState(prev=>({terminalPendingImages:prev.terminalPendingImages.filter((_,i)=>i!==idx)}))}),__publicField(this,"_handleClearTerminalImages",()=>{this.setState({terminalPendingImages:[]})}),Object.assign(this.state,{mobileMenuVisible:!1,mobileStatsVisible:!1,mobileGitDiffVisible:!1,mobileChatVisible:!1,mobileLogMgmtVisible:!1,mobileSettingsVisible:!1,mobilePromptVisible:!1,mobileTerminalVisible:!1,mobileFileExplorerVisible:!1,mobileCachePanelVisible:!1,globalPermission:null,globalPlanApproval:null,autoApproveSeconds:0,hasGit:!0,terminalPendingImages:[],_fsSkills:null,_memory:null,_memoryRefreshing:!1,_memoryDetail:null,_claudeMd:null,_claudeMdDetail:null,pluginModalVisible:!1,processModalVisible:!1,proxyModalVisible:!1,_skillsModal:{open:!1,loading:!1,skills:[],error:null,toggling:new Set},calibrationModel:(v=localStorage.getItem("ccv_calibrationModel")||"auto",CALIBRATION_MODELS.some(m=>m.value===v)?v:"auto")}),this._lastContextPercent=0,this._fsSkillsSeq=0,this._memorySeq=0,this._memoryDetailSeq=0,this._claudeMdSeq=0,this._claudeMdDetailSeq=0}_closeAllMobileOverlays(){return{mobileMenuVisible:!1,mobileStatsVisible:!1,mobileGitDiffVisible:!1,mobileChatVisible:!1,mobileLogMgmtVisible:!1,mobileSettingsVisible:!1,mobilePromptVisible:!1,mobileTerminalVisible:!1,mobileFileExplorerVisible:!1,mobileCachePanelVisible:!1,pluginModalVisible:!1,processModalVisible:!1,proxyModalVisible:!1}}componentDidMount(){super.componentDidMount(),fetch(apiUrl("/api/git-repos")).then(r=>r.ok?r.json():Promise.reject()).then(data=>{var _a;(null==(_a=data.repos)?void 0:_a.length)||this.setState({hasGit:!1,mobileGitDiffVisible:!1})}).catch(()=>{fetch(apiUrl("/api/git-status")).then(r=>{r.ok||this.setState({hasGit:!1,mobileGitDiffVisible:!1})}).catch(()=>this.setState({hasGit:!1,mobileGitDiffVisible:!1}))}),isIOS&&!isPad&&window.visualViewport&&(this._onVisualViewportChange=()=>{const el=this._layoutRef.current;if(!el)return;const vv=window.visualViewport;el.style.position="fixed",el.style.top=`${vv.offsetTop}px`,el.style.height=`${vv.height}px`,el.style.width="100%",el.style.left="0"},window.visualViewport.addEventListener("resize",this._onVisualViewportChange),window.visualViewport.addEventListener("scroll",this._onVisualViewportChange),this._onVisualViewportChange()),isPad&&(this._mqlWide=window.matchMedia("(min-width: 1400px)"),this._modeSwitchDialog=null,this._onWideChange=e=>{e.matches?this._modeSwitchDialog=Modal.confirm({title:t("ui.modeSwitchTitle"),content:t("ui.modeSwitchToFullView"),okText:t("ui.ok"),onOk:()=>{this._modeSwitchDialog=null,setViewMode("pc")},onCancel:()=>{this._modeSwitchDialog=null}}):this._modeSwitchDialog&&(this._modeSwitchDialog.destroy(),this._modeSwitchDialog=null)},this._mqlWide.addEventListener("change",this._onWideChange))}componentWillUnmount(){this._onVisualViewportChange&&window.visualViewport&&(window.visualViewport.removeEventListener("resize",this._onVisualViewportChange),window.visualViewport.removeEventListener("scroll",this._onVisualViewportChange)),this._mqlWide&&this._mqlWide.removeEventListener("change",this._onWideChange),this._modeSwitchDialog&&(this._modeSwitchDialog.destroy(),this._modeSwitchDialog=null),this._fsSkillsSeq++,this._memorySeq++,this._memoryDetailSeq++,this._claudeMdSeq++,this._claudeMdDetailSeq++,super.componentWillUnmount()}componentDidUpdate(prevProps,prevState){super.componentDidUpdate&&super.componentDidUpdate(prevProps,prevState),prevState.projectName!==this.state.projectName&&(this._fsSkillsSeq++,this._memorySeq++,this._claudeMdSeq++,this._claudeMdDetailSeq++,this.setState({_fsSkills:null,_memory:null,_memoryDetail:null,_memoryRefreshing:!1,_claudeMd:null,_claudeMdDetail:null}))}static parseSegments(text){const segments=[],regex=/<([a-zA-Z_][\w-]*)(?:\s[^>]*)?>[\s\S]*?<\/\1>/g;let match,lastIndex=0;for(;null!==(match=regex.exec(text));){const before=text.slice(lastIndex,match.index).trim();before&&segments.push({type:"text",content:before});const tagName=match[1];if(lastIndex=match.index+match[0].length,_Mobile.COMMAND_TAGS.has(tagName))continue;const innerRegex=new RegExp(`^<${tagName}(?:\\s[^>]*)?>([\\s\\S]*)<\\/${tagName}>$`),innerMatch=match[0].match(innerRegex),content2=innerMatch?innerMatch[1].trim():match[0].trim();segments.push({type:"system",content:content2,label:tagName})}const after=text.slice(lastIndex).trim();return after&&segments.push({type:"text",content:after}),segments}static extractUserTexts(messages){const userMsgs=[],fullTexts=[];let slashCmd=null;for(const msg of messages)if("user"===msg.role)if("string"==typeof msg.content){const text=msg.content.trim();if(!text)continue;if(!isSystemText(text)){if(/Implement the following plan:/i.test(text))continue;userMsgs.push(text),fullTexts.push(text)}}else if(Array.isArray(msg.content)){const{commands:commands,textBlocks:textBlocks}=classifyUserContent(msg.content);commands.length>0&&(slashCmd=commands[commands.length-1]);const userParts=[];for(const b of textBlocks)/Implement the following plan:/i.test((b.text||"").trim())||userParts.push(b.text.trim());const allParts=msg.content.filter(b=>{var _a;return"text"===b.type&&(null==(_a=b.text)?void 0:_a.trim())}).map(b=>b.text.trim());userParts.length>0&&(userMsgs.push(userParts.join("\n")),fullTexts.push(allParts.join("\n")))}return{userMsgs:userMsgs,fullTexts:fullTexts,slashCmd:slashCmd}}extractUserPrompts(requests){var _a;const prompts=[],seen=new Set;let prevSlashCmd=null;const mainAgentRequests=requests.filter(r=>isMainAgent(r));for(let ri=0;ri<mainAgentRequests.length;ri++){const req=mainAgentRequests[ri],messages=(null==(_a=req.body)?void 0:_a.messages)||[],timestamp=req.timestamp||"",{userMsgs:userMsgs,fullTexts:fullTexts,slashCmd:slashCmd}=_Mobile.extractUserTexts(messages);slashCmd&&"/compact"!==slashCmd&&slashCmd!==prevSlashCmd&&prompts.push({type:"prompt",segments:[{type:"text",content:slashCmd}],timestamp:timestamp}),prevSlashCmd=slashCmd;for(let i=0;i<userMsgs.length;i++){const key=userMsgs[i];if(seen.has(key))continue;seen.add(key);const raw=fullTexts[i]||key;prompts.push({type:"prompt",segments:_Mobile.parseSegments(raw),timestamp:timestamp})}}return prompts}renderOriginalPrompt(p){const textSegments=p.segments.filter(seg=>"text"===seg.type);return 0===textSegments.length?null:jsxRuntimeExports.jsx("div",{className:styles$4.mobilePromptCard,children:textSegments.map((seg,j)=>jsxRuntimeExports.jsx("pre",{className:styles$4.mobilePromptPreText,children:seg.content},j))})}render(){var _a,_b,_c,_d,_e,_f,_g;const{filteredRequests:filteredRequests,fileLoading:fileLoading,fileLoadingCount:fileLoadingCount,mainAgentSessions:mainAgentSessions}=this.renderPrepare();if(this.state.workspaceMode)return this.renderWorkspaceMode();const mobileIsLocalLog=!!this._isLocalLog;let mobileModelName=null;for(let i=filteredRequests.length-1;i>=0;i--){const effective=getEffectiveModel(filteredRequests[i]);if(isMainAgent(filteredRequests[i])&&effective){mobileModelName=effective;break}}let mobileContextPercent=0,mobileContextTokens=0;if(!mobileIsLocalLog){const contextWindow=this.state.contextWindow;let lastMainAgent=null;if(filteredRequests.length>0)for(let i=filteredRequests.length-1;i>=0;i--)if(isMainAgent(filteredRequests[i])&&(null==(_b=null==(_a=filteredRequests[i].response)?void 0:_a.body)?void 0:_b.usage)){lastMainAgent=filteredRequests[i];const u=lastMainAgent.response.body.usage;mobileContextTokens=(u.input_tokens||0)+(u.cache_creation_input_tokens||0)+(u.cache_read_input_tokens||0);break}if(null!=(null==contextWindow?void 0:contextWindow.used_percentage))mobileContextPercent=Math.min(100,Math.max(0,Math.round(contextWindow.used_percentage/AUTO_COMPACT_USABLE_RATIO)));else if(lastMainAgent){const usable=((null==contextWindow?void 0:contextWindow.context_window_size)||getModelMaxTokens(getEffectiveModel(lastMainAgent)||this.state.settingsModel))*AUTO_COMPACT_USABLE_RATIO;usable>0&&mobileContextTokens>0&&(mobileContextPercent=Math.min(100,Math.max(0,Math.round(mobileContextTokens/usable*100))))}0===mobileContextPercent&&this._lastContextPercent>0?mobileContextPercent=this._lastContextPercent:this._lastContextPercent=mobileContextPercent,this.state.contextBarOptimistic&&(mobileContextPercent=OPTIMISTIC_CLEAR_PERCENT)}const wsOpen=!mobileIsLocalLog&&!this.state.sdkMode;return jsxRuntimeExports.jsx(TerminalWsProvider,{open:wsOpen,children:jsxRuntimeExports.jsx(ApprovalModal,{enabled:isPad&&this.state.approvalPrefs.modalEnabled,soundEnabled:this.state.approvalPrefs.soundEnabled,approvalGlobal:this.state.approvalGlobal,dismissedIds:this.state.approvalDismissedIds,onDismiss:this.handleApprovalDismiss,onJumpTab:this.handleApprovalJumpTab,otherTabs:this.state.approvalOtherTabs,children:jsxRuntimeExports.jsx(ConfigProvider,{theme:this.themeConfig,children:jsxRuntimeExports.jsxs("div",{className:styles$4.mobileCLIRoot,ref:this._layoutRef,onDragOver:this._onDragOver,onDragLeave:this._onDragLeave,onDrop:this._onDrop,children:[this.state.isDragging&&jsxRuntimeExports.jsx("div",{className:styles$4.dragOverlay,children:jsxRuntimeExports.jsxs("div",{className:styles$4.dragOverlayContent,children:[jsxRuntimeExports.jsx(RefIcon$1,{className:styles$4.dragIcon}),jsxRuntimeExports.jsx("p",{children:t("ui.dragDropHint")})]})}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileCLIHeader,children:[jsxRuntimeExports.jsxs("div",{className:styles$4.mobileCLIHeaderLeft,children:[jsxRuntimeExports.jsx("button",{className:styles$4.mobileMenuBtn,onClick:()=>this.setState(prev=>({mobileMenuVisible:!prev.mobileMenuVisible})),"aria-label":t("ui.mobileMenu"),"aria-expanded":this.state.mobileMenuVisible,"aria-haspopup":"menu",children:jsxRuntimeExports.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[jsxRuntimeExports.jsx("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),jsxRuntimeExports.jsx("line",{x1:"3",y1:"12",x2:"21",y2:"12"}),jsxRuntimeExports.jsx("line",{x1:"3",y1:"18",x2:"21",y2:"18"})]})}),mobileIsLocalLog?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Badge,{status:"processing",color:"green"}),jsxRuntimeExports.jsx("span",{className:styles$4.mobileCLIStatusLabel,children:t("ui.historyLog",{file:this._localLogFile})})]}):(()=>{const contextPercent=mobileContextPercent,ctxColor=contextPercent>=80?"var(--color-error-light)":contextPercent>=60?"var(--color-warning-light)":"var(--color-success)",ctxLabel=`${t("ui.liveMonitoring")}${this.state.projectName?`: ${this.state.projectName}`:""}`;return jsxRuntimeExports.jsxs("span",{className:styles$4.mobileCtxTag,style:{borderColor:ctxColor,color:ctxColor,cursor:"pointer"},title:ctxLabel,role:"button",tabIndex:0,"aria-label":t("ui.openCachePanel"),onClick:()=>this.setState(prev=>({...this._closeAllMobileOverlays(),mobileCachePanelVisible:!prev.mobileCachePanelVisible}),()=>this._onCachePanelOpenChange(this.state.mobileCachePanelVisible)),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.setState(prev=>({...this._closeAllMobileOverlays(),mobileCachePanelVisible:!prev.mobileCachePanelVisible}),()=>this._onCachePanelOpenChange(this.state.mobileCachePanelVisible)))},children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileCtxTagFill,style:{width:`${contextPercent}%`,backgroundColor:ctxColor}}),jsxRuntimeExports.jsx("span",{className:styles$4.mobileCtxTagContent,children:ctxLabel})]})})()]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileCLIHeaderRight,children:[mobileIsLocalLog?jsxRuntimeExports.jsx(Button,{type:"text",size:"small",icon:jsxRuntimeExports.jsx(RefIcon,{}),onClick:()=>history.back(),className:styles$4.mobileNavBtn,children:t("ui.mobileGoBack")}):this.state.hasGit?jsxRuntimeExports.jsx(Button,{type:"text",size:"small",icon:jsxRuntimeExports.jsx(RefIcon$2,{}),onClick:()=>this.setState(prev=>({...this._closeAllMobileOverlays(),mobileGitDiffVisible:!prev.mobileGitDiffVisible})),style:{color:this.state.mobileGitDiffVisible?"var(--color-primary)":"var(--text-tertiary)",fontSize:12},children:this.state.mobileGitDiffVisible?t("ui.mobileGitDiffExit"):t("ui.mobileGitDiffBrowse")}):null,!mobileIsLocalLog&&jsxRuntimeExports.jsx(Button,{type:"text",size:"small",icon:jsxRuntimeExports.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntimeExports.jsx("polyline",{points:"4 17 10 11 4 5"}),jsxRuntimeExports.jsx("line",{x1:"12",y1:"19",x2:"20",y2:"19"})]}),onClick:()=>this.setState(prev=>({...this._closeAllMobileOverlays(),mobileTerminalVisible:!prev.mobileTerminalVisible})),style:{color:this.state.mobileTerminalVisible?"var(--color-primary)":"var(--text-tertiary)",fontSize:12},children:this.state.mobileTerminalVisible?t("ui.mobileTerminalExit"):t("ui.mobileTerminalBrowse")})]}),this.state.mobileMenuVisible&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:styles$4.mobileMenuOverlay,onClick:()=>this.setState({mobileMenuVisible:!1})}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileMenuDropdown,children:[!mobileIsLocalLog&&jsxRuntimeExports.jsxs("button",{className:styles$4.mobileMenuItem,onClick:()=>{this.setState({...this._closeAllMobileOverlays(),mobileFileExplorerVisible:!0})},children:[jsxRuntimeExports.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntimeExports.jsx("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),t("ui.projectFolder")]}),jsxRuntimeExports.jsxs("button",{className:styles$4.mobileMenuItem,onClick:()=>{this.setState({...this._closeAllMobileOverlays(),mobileLogMgmtVisible:!0}),this.handleImportLocalLogs()},children:[jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntimeExports.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),jsxRuntimeExports.jsx("polyline",{points:"14 2 14 8 20 8"}),jsxRuntimeExports.jsx("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),jsxRuntimeExports.jsx("line",{x1:"16",y1:"17",x2:"8",y2:"17"})]}),t("ui.logManagement")]}),jsxRuntimeExports.jsxs("button",{className:styles$4.mobileMenuItem,onClick:()=>{this.setState({...this._closeAllMobileOverlays(),mobilePromptVisible:!0})},children:[jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntimeExports.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),jsxRuntimeExports.jsx("polyline",{points:"14 2 14 8 20 8"}),jsxRuntimeExports.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"12"}),jsxRuntimeExports.jsx("line",{x1:"12",y1:"12",x2:"9",y2:"15"}),jsxRuntimeExports.jsx("line",{x1:"12",y1:"12",x2:"15",y2:"15"})]}),t("ui.userPrompt")]}),jsxRuntimeExports.jsxs("button",{className:styles$4.mobileMenuItem,onClick:()=>{this.setState({...this._closeAllMobileOverlays(),pluginModalVisible:!0})},children:[jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntimeExports.jsx("rect",{x:"9",y:"2",width:"6",height:"6",rx:"1"}),jsxRuntimeExports.jsx("rect",{x:"2",y:"9",width:"6",height:"6",rx:"1"}),jsxRuntimeExports.jsx("rect",{x:"16",y:"9",width:"6",height:"6",rx:"1"}),jsxRuntimeExports.jsx("rect",{x:"9",y:"16",width:"6",height:"6",rx:"1"})]}),t("ui.pluginManagement")]}),jsxRuntimeExports.jsxs("button",{className:styles$4.mobileMenuItem,onClick:()=>{this.setState({...this._closeAllMobileOverlays(),processModalVisible:!0})},children:[jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntimeExports.jsx("path",{d:"M12 2v4"}),jsxRuntimeExports.jsx("path",{d:"M12 18v4"}),jsxRuntimeExports.jsx("path",{d:"m4.93 4.93 2.83 2.83"}),jsxRuntimeExports.jsx("path",{d:"m16.24 16.24 2.83 2.83"}),jsxRuntimeExports.jsx("path",{d:"M2 12h4"}),jsxRuntimeExports.jsx("path",{d:"M18 12h4"}),jsxRuntimeExports.jsx("path",{d:"m4.93 19.07 2.83-2.83"}),jsxRuntimeExports.jsx("path",{d:"m16.24 7.76 2.83-2.83"})]}),t("ui.processManagement")]}),jsxRuntimeExports.jsxs("button",{className:styles$4.mobileMenuItem,onClick:()=>{this.setState({...this._closeAllMobileOverlays(),proxyModalVisible:!0})},children:[jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntimeExports.jsx("polyline",{points:"17 1 21 5 17 9"}),jsxRuntimeExports.jsx("path",{d:"M3 11V9a4 4 0 0 1 4-4h14"}),jsxRuntimeExports.jsx("polyline",{points:"7 23 3 19 7 15"}),jsxRuntimeExports.jsx("path",{d:"M21 13v2a4 4 0 0 1-4 4H3"})]}),t("ui.proxySwitch")]}),jsxRuntimeExports.jsx("div",{className:styles$4.mobileMenuDivider}),jsxRuntimeExports.jsxs("button",{className:styles$4.mobileMenuItem,onClick:()=>{this.setState({...this._closeAllMobileOverlays(),mobileStatsVisible:!0})},children:[jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntimeExports.jsx("rect",{x:"3",y:"3",width:"7",height:"7"}),jsxRuntimeExports.jsx("rect",{x:"14",y:"3",width:"7",height:"7"}),jsxRuntimeExports.jsx("rect",{x:"3",y:"14",width:"7",height:"7"}),jsxRuntimeExports.jsx("rect",{x:"14",y:"14",width:"7",height:"7"})]}),t("ui.tokenStats")]}),jsxRuntimeExports.jsxs("button",{className:styles$4.mobileMenuItem,onClick:()=>{this.setState({...this._closeAllMobileOverlays(),mobileSettingsVisible:!0})},children:[jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntimeExports.jsx("circle",{cx:"12",cy:"12",r:"3"}),jsxRuntimeExports.jsx("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]}),t("ui.settings")]})]})]})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileCLIBody,children:[!mobileIsLocalLog&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[fileLoading&&jsxRuntimeExports.jsxs("div",{className:styles$4.mobileLoadingOverlay,children:[jsxRuntimeExports.jsx("div",{className:styles$4.mobileLoadingSpinner}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileLoadingLabel,children:[t("ui.loadingChat"),fileLoadingCount>0?` (${fileLoadingCount})`:""]})]}),jsxRuntimeExports.jsx("div",{className:styles$4.mobileChatInner,children:jsxRuntimeExports.jsx(ChatView,{...this._settingsProps(),requests:filteredRequests,mainAgentSessions:mainAgentSessions,streamingLatest:this.state.streamingLatest,userProfile:this.state.userProfile,collapseToolResults:this.state.collapseToolResults,expandThinking:this.state.expandThinking,showFullToolContent:this.state.showFullToolContent,showThinkingSummaries:this.state.showThinkingSummaries,onViewRequest:null,scrollToTimestamp:null,onScrollTsDone:()=>{},cliMode:this.state.cliMode,sdkMode:this.state.sdkMode,terminalVisible:this.state.mobileTerminalVisible,mobileChatVisible:!0,fileLoading:this.state.fileLoading,isStreaming:this.state.isStreaming,hasMoreHistory:this.state.hasMoreHistory,loadingMore:this.state.loadingMore,onLoadMoreHistory:()=>this.loadMoreHistory(),loadingSessionId:this.state.loadingSessionId,onLoadSession:sid=>this.loadSession(sid),onPendingPermission:this.handlePendingPermission,onPendingPlanApproval:this.handlePendingPlanApproval,onPendingAsk:this.handleApprovalAsk,onPendingPtyPlan:this.handleApprovalPtyPlan,ownTabId:this.state.ownTabId,projectName:this.state.projectName,suppressInlineApprovalPanels:!0,pendingUploadPaths:this.state.pendingUploadPaths,onUploadPathsConsumed:this.handleUploadPathsConsumed,onMobileOpenFile:this._handleMobileOpenFile,onClearContextOptimistic:this.handleClearContextOptimistic})})]}),!mobileIsLocalLog&&jsxRuntimeExports.jsx("div",{className:`${styles$4.mobileChatOverlay} ${this.state.mobileTerminalVisible?styles$4.mobileChatOverlayVisible:""}`,children:jsxRuntimeExports.jsx(TerminalPanel,{...this._settingsProps(),modelName:mobileModelName,onFilePath:this._handleTerminalFilePath,pendingImages:this.state.terminalPendingImages,onRemovePendingImage:this._handleRemoveTerminalImage,onClearPendingImages:this._handleClearTerminalImages,onClearContextOptimistic:this.handleClearContextOptimistic})}),jsxRuntimeExports.jsx("div",{className:`${styles$4.mobileGitDiffOverlay} ${this.state.mobileGitDiffVisible?styles$4.mobileGitDiffOverlayVisible:""}`,children:jsxRuntimeExports.jsx("div",{className:styles$4.mobileGitDiffInner,children:jsxRuntimeExports.jsx(MobileGitDiff,{visible:this.state.mobileGitDiffVisible,onClose:()=>this.setState({mobileGitDiffVisible:!1})})})}),jsxRuntimeExports.jsx("div",{className:`${styles$4.mobileCachePanelOverlay} ${this.state.mobileCachePanelVisible?styles$4.mobileCachePanelOverlayVisible:""}`,children:jsxRuntimeExports.jsxs("div",{className:styles$4.mobileCachePanelInner,children:[jsxRuntimeExports.jsxs("div",{className:styles$4.mobileCachePanelHeader,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileCachePanelTitle,children:t("ui.contextManagement")}),jsxRuntimeExports.jsx("button",{className:styles$4.mobileCachePanelClose,onClick:()=>this.setState({mobileCachePanelVisible:!1},()=>this._onCachePanelOpenChange(!1)),"aria-label":t("ui.closeCachePanel"),children:jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[jsxRuntimeExports.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntimeExports.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntimeExports.jsx("div",{className:styles$4.mobileCachePanelBody,children:this.state.mobileCachePanelVisible&&jsxRuntimeExports.jsx(CachePopoverContent,{requests:filteredRequests,serverCachedContent:this.state.serverCachedContent,contextPercent:mobileContextPercent,contextTokens:mobileContextTokens,fsSkills:this.state._fsSkills,onSkillImported:this.reloadFsSkills,onOpenSkillsModal:this.handleOpenSkillsModal,memory:this.state._memory,memoryRefreshing:this.state._memoryRefreshing,claudeMd:this.state._claudeMd,calibrationModel:this.state.calibrationModel,onCalibrationModelChange:this.handleCalibrationModelChange,onOpenMemoryDetail:this.loadMemoryDetail,onOpenClaudeMd:this.loadClaudeMdDetail,onRefreshMemory:this.handleRefreshMemory})})]})}),jsxRuntimeExports.jsx(MemoryDetailModal,{detail:this.state._memoryDetail,onClose:()=>this.setState({_memoryDetail:null}),onOpenMemoryDetail:this.loadMemoryDetail}),jsxRuntimeExports.jsx(MemoryDetailModal,{detail:this.state._claudeMdDetail,onClose:()=>this.setState({_claudeMdDetail:null}),linkMode:"passthrough"}),jsxRuntimeExports.jsx(SkillsManagerModal,{open:(null==(_c=this.state._skillsModal)?void 0:_c.open)||!1,loading:(null==(_d=this.state._skillsModal)?void 0:_d.loading)||!1,error:(null==(_e=this.state._skillsModal)?void 0:_e.error)||null,skills:(null==(_f=this.state._skillsModal)?void 0:_f.skills)||[],toggling:null==(_g=this.state._skillsModal)?void 0:_g.toggling,onToggle:s=>this.handleToggleSkill(s),onClose:()=>this.setState(prev=>({_skillsModal:{...prev._skillsModal,open:!1}}))}),jsxRuntimeExports.jsx(PluginModal,{open:this.state.pluginModalVisible,onClose:()=>this.setState({pluginModalVisible:!1})}),jsxRuntimeExports.jsx(ProcessModal,{open:this.state.processModalVisible,onClose:()=>this.setState({processModalVisible:!1})}),jsxRuntimeExports.jsx(ProxyModal,{open:this.state.proxyModalVisible,onClose:()=>this.setState({proxyModalVisible:!1}),proxyProfiles:this.state.proxyProfiles,activeProxyId:this.state.activeProxyId,defaultConfig:this.state.defaultConfig,onProxyProfileChange:this.handleProxyProfileChange}),jsxRuntimeExports.jsx("div",{className:`${styles$4.mobileFileExplorerOverlay} ${this.state.mobileFileExplorerVisible?styles$4.mobileFileExplorerOverlayVisible:""}`,children:jsxRuntimeExports.jsx("div",{className:styles$4.mobileFileExplorerInner,children:jsxRuntimeExports.jsx(MobileFileExplorer,{visible:this.state.mobileFileExplorerVisible,onClose:()=>this.setState({mobileFileExplorerVisible:!1,mobileFileExplorerTarget:null}),targetFile:this.state.mobileFileExplorerTarget,projectName:this.state.projectName})})}),jsxRuntimeExports.jsx("div",{className:`${styles$4.mobileStatsOverlay} ${this.state.mobileStatsVisible?styles$4.mobileStatsOverlayVisible:""}`,children:jsxRuntimeExports.jsx("div",{className:styles$4.mobileStatsInner,children:jsxRuntimeExports.jsx(MobileStats,{requests:filteredRequests,visible:this.state.mobileStatsVisible,onClose:()=>this.setState({mobileStatsVisible:!1})})})}),jsxRuntimeExports.jsxs("div",{className:`${styles$4.mobileLogMgmtOverlay} ${this.state.mobileLogMgmtVisible?styles$4.mobileLogMgmtOverlayVisible:""}`,children:[jsxRuntimeExports.jsxs("div",{className:styles$4.mobileLogMgmtHeader,children:[jsxRuntimeExports.jsxs("span",{className:styles$4.mobileLogMgmtTitle,children:[jsxRuntimeExports.jsx(OpenFolderIcon,{apiEndpoint:apiUrl("/api/open-log-dir"),title:t("ui.openLogDir"),size:14}),t("ui.importLocalLogs")]}),jsxRuntimeExports.jsx("button",{className:styles$4.mobileLogMgmtClose,onClick:()=>this.setState({mobileLogMgmtVisible:!1,selectedLogs:new Set}),children:jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[jsxRuntimeExports.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntimeExports.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileLogMgmtActions,children:[jsxRuntimeExports.jsx(Button,{size:"small",type:this.state.selectedLogs.size>=2?"primary":"default",disabled:this.state.selectedLogs.size<2,onClick:this.handleMergeLogs,style:this.state.selectedLogs.size<2?{color:"var(--text-muted)",borderColor:"var(--border-light)"}:void 0,children:t("ui.mergeLogs")}),jsxRuntimeExports.jsx(Button,{size:"small",icon:jsxRuntimeExports.jsx(RefIcon$3,{}),disabled:0===this.state.selectedLogs.size,onClick:this.handleDeleteLogs,style:0===this.state.selectedLogs.size?{color:"var(--text-muted)",borderColor:"var(--border-light)"}:{color:"var(--color-error-light)",borderColor:"var(--color-error-light)"},children:t("ui.deleteLogs")}),jsxRuntimeExports.jsx(Button,{size:"small",icon:jsxRuntimeExports.jsx(RefIcon$4,{spin:this.state.refreshingStats}),loading:this.state.refreshingStats,onClick:this.handleRefreshStats,children:t("ui.refreshStats")})]}),jsxRuntimeExports.jsx("div",{className:styles$4.mobileLogMgmtBody,children:this.state.localLogsLoading?jsxRuntimeExports.jsx("div",{className:styles$4.spinCenter,children:jsxRuntimeExports.jsx(Spin,{})}):(()=>{const currentLogs=this.state.localLogs[this.state.currentProject];return currentLogs&&0!==currentLogs.length?jsxRuntimeExports.jsx("div",{className:styles$4.logListContainer,children:this.renderLogTable(currentLogs,!0)}):jsxRuntimeExports.jsx("div",{className:styles$4.emptyCenter,children:t("ui.noLogs")})})()})]}),jsxRuntimeExports.jsxs("div",{className:`${styles$4.mobileSettingsOverlay} ${this.state.mobileSettingsVisible?styles$4.mobileSettingsOverlayVisible:""}`,children:[jsxRuntimeExports.jsxs("div",{className:styles$4.mobileLogMgmtHeader,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileLogMgmtTitle,children:t("ui.settings")}),jsxRuntimeExports.jsx("button",{className:styles$4.mobileLogMgmtClose,onClick:()=>this.setState({mobileSettingsVisible:!1}),children:jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[jsxRuntimeExports.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntimeExports.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsBody,children:[jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsGroup,children:[jsxRuntimeExports.jsx("div",{className:styles$4.mobileSettingsSectionTitle,children:t("ui.chatDisplay")}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.permission.autoApprove.setting")}),jsxRuntimeExports.jsx(Select,{size:"small",value:this.state.autoApproveSeconds||0,onChange:this.handleAutoApproveChange,options:[{label:t("ui.permission.autoApprove.off"),value:0},{label:"3s",value:3},{label:"5s",value:5},{label:"10s",value:10},{label:"15s",value:15},{label:"20s",value:20},{label:"30s",value:30},{label:"60s",value:60}],style:{width:100}})]}),isPad&&this.state.approvalPrefs&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.approval.settings.modalEnabled")}),jsxRuntimeExports.jsx(Switch,{checked:!1!==this.state.approvalPrefs.modalEnabled,onChange:checked=>this.handleApprovalPrefsChange({modalEnabled:checked})})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.approval.settings.soundEnabled")}),jsxRuntimeExports.jsx(Switch,{checked:!!this.state.approvalPrefs.soundEnabled,onChange:checked=>this.handleApprovalPrefsChange({soundEnabled:checked})})]}),"undefined"!=typeof window&&window.tabBridge&&jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.approval.settings.notifyOnlyWhenHidden")}),jsxRuntimeExports.jsx(Switch,{checked:!1!==this.state.approvalPrefs.notifyOnlyWhenHidden,onChange:checked=>this.handleApprovalPrefsChange({notifyOnlyWhenHidden:checked})})]})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.expandThinking")}),jsxRuntimeExports.jsx(Switch,{checked:!!this.state.expandThinking,onChange:this.handleExpandThinkingChange})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.showFullToolContent")}),jsxRuntimeExports.jsx(Switch,{checked:!!this.state.showFullToolContent,onChange:this.handleShowFullToolContentChange})]}),this.state.showFullToolContent&&jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.collapseToolResults")}),jsxRuntimeExports.jsx(Switch,{checked:!!this.state.collapseToolResults,onChange:this.handleCollapseToolResultsChange})]})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsGroup,children:[jsxRuntimeExports.jsx("div",{className:styles$4.mobileSettingsSectionTitle,children:t("ui.logSettings")}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.resumeAutoChoice")}),jsxRuntimeExports.jsx(Switch,{checked:!!this.state.resumeAutoChoice,onChange:this.handleResumeAutoChoiceToggle})]}),this.state.resumeAutoChoice&&jsxRuntimeExports.jsx("div",{className:styles$4.mobileSettingsRow,children:jsxRuntimeExports.jsxs(Radio.Group,{value:this.state.resumeAutoChoice,onChange:e=>this.handleResumeAutoChoiceChange(e.target.value),size:"small",children:[jsxRuntimeExports.jsx(Radio,{value:"continue",children:t("ui.resumeAutoChoice.continue")}),jsxRuntimeExports.jsx(Radio,{value:"new",children:t("ui.resumeAutoChoice.new")})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsGroup,children:[jsxRuntimeExports.jsx("div",{className:styles$4.mobileSettingsSectionTitle,children:t("ui.themeStyle")}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.themeColor")}),jsxRuntimeExports.jsx(Select,{size:"small",value:this.state.themeColor||"light",onChange:this.handleThemeColorChange,options:[{label:t("ui.themeColor.dark"),value:"dark"},{label:t("ui.themeColor.light"),value:"light"}],style:{width:140}})]}),jsxRuntimeExports.jsxs("div",{className:styles$4.mobileSettingsRow,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileSettingsLabel,children:t("ui.languageSettings")}),jsxRuntimeExports.jsx(Select,{size:"small",value:getLang(),onChange:value=>{setLang(value),this.handleLangChange()},options:LANG_OPTIONS.map(o=>({label:o.label,value:o.value})),style:{width:140}})]})]})]})]}),jsxRuntimeExports.jsxs("div",{className:`${styles$4.mobilePromptOverlay} ${this.state.mobilePromptVisible?styles$4.mobilePromptOverlayVisible:""}`,children:[jsxRuntimeExports.jsxs("div",{className:styles$4.mobileLogMgmtHeader,children:[jsxRuntimeExports.jsx("span",{className:styles$4.mobileLogMgmtTitle,children:t("ui.userPrompt")}),jsxRuntimeExports.jsx("button",{className:styles$4.mobileLogMgmtClose,onClick:()=>this.setState({mobilePromptVisible:!1}),children:jsxRuntimeExports.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[jsxRuntimeExports.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),jsxRuntimeExports.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),jsxRuntimeExports.jsx("div",{className:styles$4.mobilePromptBody,children:(()=>{const prompts=this.extractUserPrompts(filteredRequests);return 0===prompts.length?jsxRuntimeExports.jsx("div",{className:styles$4.mobilePromptEmpty,children:t("ui.noPrompt")}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:styles$4.mobilePromptHeader,children:[jsxRuntimeExports.jsxs("span",{className:styles$4.mobilePromptCount,children:[prompts.length," ",t("ui.promptCountUnit")]}),jsxRuntimeExports.jsx(Button,{size:"small",icon:jsxRuntimeExports.jsx(RefIcon$5,{}),onClick:()=>this.handleExportPromptsTxt(prompts),children:t("ui.exportPromptsTxt")})]}),jsxRuntimeExports.jsx("div",{className:styles$4.mobilePromptList,children:prompts.map((p,i)=>jsxRuntimeExports.jsxs("div",{className:styles$4.mobilePromptItem,children:[p.timestamp&&jsxRuntimeExports.jsx("div",{className:styles$4.mobilePromptTimestamp,children:new Date(p.timestamp).toLocaleString()}),this.renderOriginalPrompt(p)]},i))})]})})()})]})]}),this.state.globalPermission&&jsxRuntimeExports.jsx(ToolApprovalPanel,{toolName:this.state.globalPermission.permission.toolName,toolInput:this.state.globalPermission.permission.input,requestId:this.state.globalPermission.permission.id,onAllow:this.state.globalPermission.handlers.allow,onAllowSession:this.state.globalPermission.handlers.allowSession,onDeny:this.state.globalPermission.handlers.deny,visible:!0,global:!0,autoApproveSeconds:this.state.autoApproveSeconds,onAutoApproveChange:this.handleAutoApproveChange,modelName:this.state.globalPermission.modelName}),this.state.globalPlanApproval&&jsxRuntimeExports.jsx(ToolApprovalPanel,{toolName:"ExitPlanMode",toolInput:this.state.globalPlanApproval.plan.input,requestId:this.state.globalPlanApproval.plan.id,onAllow:this.state.globalPlanApproval.handlers.approve,onDeny:id=>this.state.globalPlanApproval.handlers.reject(id,""),visible:!0,global:!0})]})})})})}};__publicField(_Mobile,"COMMAND_TAGS",new Set(["command-name","command-message","command-args","local-command-caveat","local-command-stdout"]));let Mobile=_Mobile;export{Mobile as default};
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* The original design remains. The terminal itself
|
|
30
30
|
* has been extended to include xterm CSI codes, among
|
|
31
31
|
* other features.
|
|
32
|
-
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}._terminalPanel_1hkbt_1{height:100%;min-height:0;display:flex;flex-direction:column;background:var(--bg-base-alt)}._terminalContainer_1hkbt_4{flex:1;min-height:0;overflow:hidden;padding:4px 8px;display:flex;flex-direction:column;transition:box-shadow .3s ease-out;touch-action:none;overscroll-behavior:contain}._terminalHost_1hkbt_23{flex:1;min-height:0;margin-bottom:4px;overflow:hidden}._terminalContainerFocused_1hkbt_43{box-shadow:inset 0 0 0 4px var(--border-secondary),0 0 8px var(--color-primary-bg-light)}[data-theme=light] ._terminalContainerFocused_1hkbt_43{box-shadow:inset 0 0 0 4px #d9775726,0 0 6px #d9775714}[data-theme=light] ._terminalContainer_1hkbt_4{background:#fff}[data-theme=dark] ._terminalContainer_1hkbt_4{background:#000}._terminalContainer_1hkbt_4 .xterm-helper-textarea{caret-color:#0000!important}._pendingFileStrip_1hkbt_59{display:flex;gap:6px;padding:4px 8px;flex-wrap:wrap;flex-shrink:0}._pendingFileTag_1hkbt_67{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:4px;color:var(--text-secondary);font-size:12px;transition:border-color .15s}._pendingFileTag_1hkbt_67:hover{border-color:var(--color-primary-pale)}._pendingFileName_1hkbt_84{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._pendingFileClose_1hkbt_91{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0;line-height:1}._pendingFileClose_1hkbt_91:hover{color:var(--text-primary)}._pendingImageItem_1hkbt_105{position:relative;width:40px;height:40px;border-radius:4px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-hover);transition:border-color .15s}._pendingImageItem_1hkbt_105:hover{border-color:var(--color-primary-pale)}._pendingImageThumb_1hkbt_120{width:100%;height:100%;object-fit:cover;cursor:pointer}._pendingImageRemove_1hkbt_127{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:11px;line-height:12px;text-align:center;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}._pendingImageItem_1hkbt_105:hover ._pendingImageRemove_1hkbt_127{opacity:1}@media(hover:none){._pendingImageRemove_1hkbt_127,._pendingFileClose_1hkbt_91{opacity:1;min-width:22px;min-height:22px}}._terminalToolbar_1hkbt_162{height:35px;flex-shrink:0;display:flex;align-items:center;padding:0 8px;gap:4px;border-top:1px solid var(--border-primary);background:var(--bg-base-alt);position:relative;z-index:1}._toolbarBtn_1hkbt_177{display:flex;align-items:center;gap:4px;height:26px;padding:0 10px;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-elevated);color:var(--text-light);font-size:12px;cursor:pointer;white-space:nowrap}._toolbarBtn_1hkbt_177:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-disabled)}._toolbarBtnDisabled_1hkbt_198{opacity:.4;cursor:not-allowed}._toolbarBtnDisabled_1hkbt_198:hover{background:var(--bg-elevated);color:var(--text-light);border-color:var(--border-secondary)}._toolbarBtn_1hkbt_177 svg{width:14px;height:14px}._virtualKeybar_1hkbt_213{display:flex;gap:6px;padding:8px 10px;background:var(--bg-container);border-top:1px solid var(--border-primary);overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch}._virtualKey_1hkbt_213{flex-shrink:0;padding:12px 20px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);font-size:15px;font-family:Menlo,Monaco,monospace;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#00000000;touch-action:pan-x;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}._virtualKeyPressed_1hkbt_244{background:var(--border-secondary);border-color:var(--text-disabled);color:var(--text-white)}._vkSeparator_1hkbt_251{flex-shrink:0;width:1px;align-self:stretch;margin:4px 2px;background:var(--border-secondary)}._vkAction_1hkbt_260{padding:8px 14px;gap:6px;min-height:44px}._vkAction_1hkbt_260 svg{width:16px;height:16px;flex-shrink:0}._vkTeamLabel_1hkbt_272{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;font-size:13px}._vkTeamPreset_1hkbt_281{border-color:var(--color-green-border)}._vkDisabled_1hkbt_286{opacity:.5;border-style:dashed}._presetList_1hkbt_292{background:var(--bg-base-alt);border:1px solid var(--border-secondary);border-radius:6px;max-height:260px;overflow-y:auto}._presetRow_1hkbt_300{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-primary)}._presetRow_1hkbt_300:last-child{border-bottom:none}._presetRowDragging_1hkbt_312{opacity:.4}._presetRowDragOver_1hkbt_316{border-top:2px solid var(--color-primary);padding-top:6px}._dragHandle_1hkbt_321{cursor:grab;color:var(--border-light);flex-shrink:0;display:flex;align-items:center;padding:0 2px;transition:color .15s}._dragHandle_1hkbt_321:hover{color:var(--text-tertiary)}._dragHandle_1hkbt_321:active{cursor:grabbing}._presetText_1hkbt_339{flex:1;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}._presetMenu_1hkbt_349{display:flex;flex-direction:column}._presetMenuItem_1hkbt_354{background:none;border:none;color:var(--text-primary);font-size:13px;padding:6px 12px;text-align:left;cursor:pointer;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}._presetMenuItem_1hkbt_354:hover{background:var(--border-secondary)}._presetMenuItemMuted_1hkbt_373{color:var(--text-tertiary);border-bottom:1px solid var(--border-light);margin-bottom:2px}._presetMenuItemMuted_1hkbt_373:hover{color:var(--text-primary)}._presetMenuItemMuted_1hkbt_373 svg{stroke:var(--text-tertiary);transition:stroke .15s}._presetMenuItemMuted_1hkbt_373:hover svg{stroke:var(--text-primary)}._presetName_1hkbt_392{width:100px;flex-shrink:0;font-size:13px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._presetInput_1hkbt_402{width:min(600px,80vw);background:var(--bg-container);border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-primary);font-size:13px;padding:6px 12px;outline:none;box-sizing:border-box}._presetInput_1hkbt_402:focus{border-color:var(--color-primary)}._presetTextarea_1hkbt_418{width:min(600px,80vw);background:var(--bg-container);border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-primary);font-size:13px;padding:8px 12px;resize:none;outline:none;box-sizing:border-box}._presetTextarea_1hkbt_418:focus{border-color:var(--color-primary)}._hiddenFileInput_1hkbt_435{display:none}._popoverEmptyHint_1hkbt_439{color:var(--text-muted);font-size:13px;padding:8px 12px;text-align:center}._agentTeamDisabledTip_1hkbt_446{color:var(--text-secondary);font-size:13px;margin-bottom:10px}._toolbarLeft_1hkbt_453,._toolbarRight_1hkbt_455{display:flex;align-items:center;gap:4px;flex:0 0 auto}._toolbarRight_1hkbt_455{margin-left:auto}._ctxBarSlot_1hkbt_454{flex:0 1 200px;max-width:200px;min-width:0;display:flex;align-items:stretch;height:26px}._ctxBarSlot_1hkbt_454>*{flex:1 1 0;min-width:0}._toolbarBtnActive_1hkbt_480,._toolbarBtnActive_1hkbt_480:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}._scratchWrap_1hkbt_494{flex-shrink:0;min-height:100px;max-height:600px;overflow:hidden;display:flex;flex-direction:row}._scratchTabs_1hkbt_492{flex-shrink:0;width:95px;display:flex;flex-direction:column;background:var(--bg-base-alt);border-right:1px solid var(--border-primary);overflow-y:auto;padding:4px;gap:2px}._scratchTab_1hkbt_492{display:flex;align-items:center;gap:6px;height:26px;padding:0 6px;border-radius:4px;cursor:pointer;color:var(--text-secondary);font-size:12px;-webkit-user-select:none;user-select:none;flex-shrink:0}._scratchTab_1hkbt_492:hover{background:var(--bg-elevated);color:var(--text-primary)}._scratchTabActive_1hkbt_533{background:var(--color-primary-bg-light);color:var(--text-primary)}._scratchTabActive_1hkbt_533:hover{background:var(--color-primary-bg-light)}._scratchTabIcon_1hkbt_541{display:inline-flex;flex-shrink:0}._scratchTabIcon_1hkbt_541 svg{width:14px;height:14px}._scratchTabLabel_1hkbt_550{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._scratchTabClose_1hkbt_557{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:3px;padding:0;opacity:0;transition:opacity .15s,background .15s}._scratchTab_1hkbt_492:hover ._scratchTabClose_1hkbt_557,._scratchTabActive_1hkbt_533 ._scratchTabClose_1hkbt_557{opacity:1}._scratchTabClose_1hkbt_557:hover{background:var(--bg-surface);color:var(--text-primary)}@media(hover:none){._scratchTabClose_1hkbt_557{opacity:1}}._scratchTabAdd_1hkbt_588{display:flex;align-items:center;justify-content:center;height:26px;margin-top:2px;border:1px dashed var(--border-secondary);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}._scratchTabAdd_1hkbt_588:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--text-disabled)}._scratchTabAdd_1hkbt_588:disabled{opacity:.4;cursor:not-allowed}._scratchPanes_1hkbt_492{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;transition:box-shadow .3s ease-out}._scratchPanesFocused_1hkbt_625{box-shadow:0 0 8px var(--color-primary-bg-light)}[data-theme=light] ._scratchPanesFocused_1hkbt_625{box-shadow:none}._scratchPane_1hkbt_492{flex:1;min-height:0;display:none;flex-direction:column}._scratchPaneActive_1hkbt_639{display:flex}._scratchResizer_1hkbt_645{flex-shrink:0;height:5px;cursor:row-resize;background:var(--bg-elevated);border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary);transition:background .15s;touch-action:none}._scratchResizer_1hkbt_645:hover,._scratchResizerDragging_1hkbt_658{background:var(--border-secondary)}[data-theme=light] ._scratchWrap_1hkbt_494{background:#fff}[data-theme=dark] ._scratchWrap_1hkbt_494{background:#000}._scratchInner_1hkbt_35{flex:1;min-height:0;overflow:hidden;border:4px solid transparent;display:flex;flex-direction:column;touch-action:none;overscroll-behavior:contain;transition:border-color .3s ease-out}._scratchHost_1hkbt_35{flex:1;min-height:0;margin-bottom:4px;overflow:hidden}._scratchPanesFocused_1hkbt_625 ._scratchPane_1hkbt_492._scratchPaneActive_1hkbt_639 ._scratchInner_1hkbt_35{border-color:var(--border-secondary)}[data-theme=light] ._scratchPanesFocused_1hkbt_625 ._scratchPane_1hkbt_492._scratchPaneActive_1hkbt_639 ._scratchInner_1hkbt_35{border-color:#d9775726}._scratchInner_1hkbt_35 .xterm-helper-textarea{caret-color:#0000}._presetSectionHeader_1hkbt_705{margin-bottom:8px}._presetSectionTitle_1hkbt_709{font-size:14px;font-weight:600;color:var(--text-primary)}._presetListEmptyHint_1hkbt_715{color:var(--text-muted);font-size:13px;padding:12px 0;text-align:center}._presetActions_1hkbt_722{margin-top:10px;display:flex;gap:8px}._presetFormField_1hkbt_728{margin-bottom:8px}._presetFormLabel_1hkbt_732{font-size:13px;color:var(--text-light);display:block;margin-bottom:4px}._ultraplanPanel_1hkbt_740{display:flex;flex-direction:column;gap:0}._ultraplanHeader_1hkbt_746{padding:10px 14px 6px;font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:8px}._ultraplanHeaderTitle_1hkbt_757{display:inline-flex;align-items:center;gap:2px}._ultraplanCloseBtn_1hkbt_763{width:22px;height:22px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0}._ultraplanCloseBtn_1hkbt_763:hover{background:var(--bg-surface);color:var(--text-primary)}._ultraplanCustomWrap_1hkbt_782{position:relative;display:inline-flex;align-items:center}._ultraplanCustomTitle_1hkbt_788{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._ultraplanEditPencil_1hkbt_795{position:absolute;top:-4px;inset-inline-end:-4px;width:14px;height:14px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s}._ultraplanCustomWrap_1hkbt_782:hover ._ultraplanEditPencil_1hkbt_795{opacity:1}._ultraplanEditPencil_1hkbt_795:hover{color:var(--color-primary);border-color:var(--color-primary)}@media(max-width:768px){._ultraplanEditPencil_1hkbt_795{opacity:1}}._ultraplanVariantRow_1hkbt_826{display:flex;align-items:center;gap:6px;padding:0 14px 8px;flex-wrap:wrap}._ultraplanRoleBtn_1hkbt_834{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;line-height:1.6;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-main);color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;white-space:nowrap}._ultraplanRoleBtn_1hkbt_834:hover{border-color:var(--color-primary);color:var(--color-primary)}._ultraplanRoleBtn_1hkbt_834:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}._ultraplanAddExpertBtn_1hkbt_859{width:26px;height:26px;margin-left:2px;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--border-primary);border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s;padding:0}._ultraplanAddExpertBtn_1hkbt_859:hover{border-style:solid;border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-surface)}._ultraplanRoleBtnActive_1hkbt_882{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}._ultraplanRoleBtnActive_1hkbt_882:hover{color:#fff}._ultraplanTextarea_1hkbt_891{margin:0 14px;padding:8px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-container);color:var(--text-primary);font-size:13px;line-height:1.5;font-family:inherit;resize:vertical;outline:none;min-height:100px;max-height:300px}._ultraplanTextarea_1hkbt_891:focus{border-color:var(--color-primary-pale)}._ultraplanTextarea_1hkbt_891::placeholder{color:var(--text-disabled)}._ultraplanFooter_1hkbt_915{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 10px}._ultraplanSendBtn_1hkbt_922{height:26px;padding:0 16px;border:none;border-radius:4px;background:var(--color-primary);color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:opacity .15s}._ultraplanSendBtn_1hkbt_922:hover{opacity:.85}._ultraplanSendBtn_1hkbt_922:disabled{opacity:.4;cursor:not-allowed}._ultraplanUploadBtn_1hkbt_944{display:flex;align-items:center;gap:4px;height:26px;padding:0 12px;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-elevated);color:var(--text-light);font-size:12px;cursor:pointer;white-space:nowrap;transition:background .15s}._ultraplanUploadBtn_1hkbt_944:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-disabled)}._ultraplanFileList_1hkbt_966{display:flex;flex-wrap:wrap;gap:4px;padding:0 14px 8px}._ultraplanFileChip_1hkbt_973{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:var(--bg-container);border:1px solid var(--border-primary);font-size:11px;color:var(--text-secondary);max-width:180px;white-space:nowrap;transition:border-color .15s}._ultraplanFileChip_1hkbt_973:hover{border-color:var(--color-primary-pale)}._ultraplanFileChip_1hkbt_973 svg{flex-shrink:0}._ultraplanFileName_1hkbt_996{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}._ultraplanFileRemove_1hkbt_1003{flex-shrink:0;cursor:pointer;color:var(--text-disabled);font-size:14px;line-height:1;margin-left:2px}._ultraplanFileRemove_1hkbt_1003:hover{color:var(--color-error)}._ultraplanImageItem_1hkbt_1016{position:relative;width:48px;height:48px;border-radius:6px;overflow:hidden;border:1px solid var(--border-light);transition:border-color .15s;cursor:pointer}._ultraplanImageItem_1hkbt_1016:hover{border-color:var(--color-primary-pale)}._ultraplanImageThumb_1hkbt_1031{width:100%;height:100%;object-fit:cover;cursor:pointer}._ultraplanImageRemove_1hkbt_1038{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#0000008c;color:#fff;border:none;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}._ultraplanImageItem_1hkbt_1016:hover ._ultraplanImageRemove_1hkbt_1038{opacity:1}@media(hover:none){._ultraplanImageRemove_1hkbt_1038,._ultraplanFileRemove_1hkbt_1003{opacity:1;min-width:22px;min-height:22px}}._helpBtn_19lpl_1{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-light);color:var(--text-light);font-size:11px;line-height:1;cursor:pointer;margin-left:4px;vertical-align:middle;transition:background .2s;-webkit-user-select:none;user-select:none}._helpBtn_19lpl_1:hover{background:var(--border-secondary)}._modalBody_19lpl_25{max-height:60vh;overflow-y:auto;overflow-x:hidden;padding:4px 12px;color:var(--text-primary);font-size:14px;line-height:1.75;word-break:break-word}._modalBody_19lpl_25 h1,._modalBody_19lpl_25 h2,._modalBody_19lpl_25 h3,._modalBody_19lpl_25 h4,._modalBody_19lpl_25 h5,._modalBody_19lpl_25 h6{color:var(--text-primary);margin:1.2em 0 .6em;line-height:1.3}._modalBody_19lpl_25 h1{font-size:1.8em;border-bottom:1px solid var(--border-secondary);padding-bottom:.3em}._modalBody_19lpl_25 h2{font-size:1.5em;border-bottom:1px solid var(--border-primary);padding-bottom:.25em}._modalBody_19lpl_25 h3{font-size:1.25em}._modalBody_19lpl_25 p{margin:.8em 0}._modalBody_19lpl_25 a{color:var(--color-primary-pale);text-decoration:none}._modalBody_19lpl_25 a:hover{text-decoration:underline}._modalBody_19lpl_25 code{background:var(--bg-elevated);color:var(--code-error);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}._modalBody_19lpl_25 pre{background:var(--bg-container);border:1px solid var(--border-primary);border-radius:8px;padding:14px 18px;overflow-x:auto;margin:1em 0;max-width:100%;box-sizing:border-box}._modalBody_19lpl_25 pre code{background:none;color:var(--text-primary);padding:0;font-size:13px}._modalBody_19lpl_25 blockquote{border-left:3px solid var(--color-primary-pale);margin:1em 0;padding:.5em 1em;color:var(--text-light);background:var(--color-primary-bg-extra-faint);border-radius:0 6px 6px 0}._modalBody_19lpl_25 table{border-collapse:collapse;width:100%;margin:1em 0}._modalBody_19lpl_25 th,._modalBody_19lpl_25 td{border:1px solid var(--border-secondary);padding:8px 12px;text-align:left}._modalBody_19lpl_25 th{background:var(--bg-elevated);color:var(--text-primary);font-weight:600}._modalBody_19lpl_25 tr:nth-child(2n){background:var(--overlay-light-faint)}._modalBody_19lpl_25 ul,._modalBody_19lpl_25 ol{padding-left:2em;margin:.8em 0}._modalBody_19lpl_25 li{margin:.3em 0}._modalBody_19lpl_25 hr{border:none;border-top:1px solid var(--border-secondary);margin:1.5em 0}._modalBody_19lpl_25 img{max-width:100%;height:auto;border-radius:6px}._modalBody_19lpl_25 strong{color:var(--text-primary)}._modalBody_19lpl_25 textarea{width:100%;min-height:200px;background:var(--bg-elevated);color:var(--text-primary);font-family:monospace;font-size:13px;line-height:1.6;border:1px solid var(--border-secondary);border-radius:6px;padding:10px 14px;resize:vertical;outline:none;box-sizing:border-box}._spinWrap_19lpl_124{display:flex;justify-content:center;padding:40px 0}@media(max-width:768px){._modalBody_19lpl_25{font-size:13px;line-height:1.6;max-height:75vh}._modalBody_19lpl_25 h1{font-size:18px}._modalBody_19lpl_25 h2{font-size:16px}._modalBody_19lpl_25 h3{font-size:14px}._modalBody_19lpl_25 pre{font-size:12px;padding:8px}._modalBody_19lpl_25 code,._modalBody_19lpl_25 textarea{font-size:12px}}html.pad-mode ._modalBody_19lpl_25{font-size:14px;line-height:1.75;max-height:60vh}html.pad-mode ._modalBody_19lpl_25 h1{font-size:1.8em}html.pad-mode ._modalBody_19lpl_25 h2{font-size:1.5em}html.pad-mode ._modalBody_19lpl_25 h3{font-size:1.25em}html.pad-mode ._modalBody_19lpl_25 pre{font-size:13px;padding:14px 18px}html.pad-mode ._modalBody_19lpl_25 code{font-size:.9em}html.pad-mode ._modalBody_19lpl_25 textarea{font-size:13px}._titleRow_mfv69_1{display:inline-flex;align-items:center;gap:2px}._field_mfv69_7{margin-bottom:12px}._titleInput_mfv69_11{width:100%;padding:8px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-container);color:var(--text-primary);font-size:14px;outline:none;box-sizing:border-box}._titleInput_mfv69_11:focus{border-color:var(--color-primary)}._contentTextarea_mfv69_27{width:100%;padding:10px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-container);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical;outline:none;box-sizing:border-box;min-height:180px;max-height:50vh}._contentTextarea_mfv69_27:focus{border-color:var(--color-primary)}._footer_mfv69_48{display:flex;justify-content:space-between;align-items:center;gap:8px}._footerRight_mfv69_55{display:flex;gap:8px}._fileExplorer_11rd4_1{flex-shrink:0;background:var(--bg-container);display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}._header_11rd4_10{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:41px;border-bottom:1px solid var(--border-primary);flex-shrink:0}._headerTitle_11rd4_20{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:5px}._collapseBtn_11rd4_31{width:20px;height:20px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0}._collapseBtn_11rd4_31:hover{color:var(--text-secondary);background:var(--bg-surface)}._treeContainer_11rd4_50{flex:1;overflow:auto;padding:4px 0}._treeItem_11rd4_56{display:flex;align-items:center;height:26px;padding:0 8px;cursor:pointer;color:var(--text-secondary);font-size:13px;white-space:nowrap;transition:background .1s}._treeItem_11rd4_56:hover{background:var(--bg-elevated)}._treeItem_11rd4_56._treeItemSelected_11rd4_72{background:var(--color-tree-selected)}._arrow_11rd4_76{width:16px;flex-shrink:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center}._icon_11rd4_85{width:16px;height:16px;flex-shrink:0;margin-right:6px;display:flex;align-items:center;justify-content:center}._fileName_11rd4_95{overflow:hidden;text-overflow:ellipsis}._fileNameInput_11rd4_100{background:#0000;border:none;border-bottom:1px solid var(--color-primary-pale);color:var(--text-secondary);font-size:13px;font-family:inherit;padding:0;margin:0;outline:none;width:100%;min-width:40px;height:20px;line-height:20px}._loading_11rd4_116{color:var(--text-disabled);font-size:12px;padding:4px 8px}._error_11rd4_122{color:var(--color-error-light);font-size:12px;padding:4px 8px}._treeItemGitIgnored_11rd4_128{opacity:.4}._treeItemDragging_11rd4_132{opacity:.5}._treeItemDragOver_11rd4_136{background:var(--color-primary-bg-light);outline:2px dashed var(--color-primary)}._arrowIcon_11rd4_141{transition:transform .15s}._fileExplorerDragOver_11rd4_145{outline:2px dashed var(--color-success);outline-offset:-2px}._importOverlay_11rd4_150{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 8px;color:var(--color-success);font-size:12px;font-weight:500;background:var(--color-success-bg-light);border-bottom:1px solid var(--border-primary);pointer-events:none}._fileContentView_16e92_1{display:flex;flex-direction:column;height:100%;background:var(--bg-base-alt);animation:_slideInFromRight_16e92_1 .25s ease-out}@keyframes _slideInFromRight_16e92_1{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}._closing_16e92_20{animation:_slideOutToRight_16e92_1 .2s ease-in forwards}@keyframes _slideOutToRight_16e92_1{0%{transform:translate(0);opacity:1}to{transform:translate(-40px);opacity:0}}._editorBanner_16e92_35{padding:6px 16px;background:var(--color-green-bg);color:var(--color-success-light);font-size:12px;text-align:center;flex-shrink:0;border-bottom:1px solid var(--color-green-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}._editorBanner_16e92_35:hover{background:var(--color-green-border)}._header_16e92_52{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-container);flex-shrink:0}._headerLeft_16e92_62{display:flex;align-items:center;gap:8px;flex:1;min-width:0}._headerRight_16e92_70{display:flex;align-items:center;gap:10px;flex-shrink:0}._backBtn_16e92_77{width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;flex-shrink:0;transition:background .15s,color .15s}._backBtn_16e92_77:hover{color:var(--text-secondary);background:var(--bg-elevated)}._filePath_16e92_98{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._fileSize_16e92_106{font-size:11px;color:var(--text-muted);flex-shrink:0;margin-left:8px}._closeBtn_16e92_113{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-tertiary);border-radius:6px;cursor:pointer;transition:background .15s,color .15s}._closeBtn_16e92_113:hover{background:var(--overlay-light-medium);color:var(--text-primary)}._viewToggleBtn_16e92_133{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;border:1px solid var(--border-hover);background:var(--bg-elevated);color:var(--text-tertiary);font-size:12px;line-height:18px;min-height:28px;box-sizing:border-box;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}._viewToggleBtn_16e92_133 .anticon{font-size:14px;line-height:1}._viewToggleBtn_16e92_133:hover{background:var(--bg-surface);color:var(--text-white);border-color:var(--border-light)}._viewToggleActive_16e92_161{color:var(--color-primary-pale);border-color:var(--color-primary-pale)}._downloadWrap_16e92_167{position:relative;display:inline-flex}._downloadMenu_16e92_172{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:6px;box-shadow:0 4px 12px var(--overlay-dark-light);padding:4px;z-index:20}._downloadMenuItem_16e92_185{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;background:none;color:var(--text-secondary);font-size:12px;cursor:pointer;border-radius:4px;white-space:nowrap;text-align:left}._downloadMenuItem_16e92_185:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}._downloadMenuItem_16e92_185:disabled{opacity:.4;cursor:not-allowed}._markdownPreview_16e92_211{flex:1;overflow-y:auto;padding:24px 36px;color:var(--text-primary);font-size:14px;line-height:1.75;background:var(--bg-container)}._markdownPreview_16e92_211 h1,._markdownPreview_16e92_211 h2,._markdownPreview_16e92_211 h3,._markdownPreview_16e92_211 h4,._markdownPreview_16e92_211 h5,._markdownPreview_16e92_211 h6{color:var(--text-primary);margin:1.2em 0 .6em;line-height:1.3}._markdownPreview_16e92_211 h1{font-size:1.8em;border-bottom:1px solid var(--border-secondary);padding-bottom:.3em}._markdownPreview_16e92_211 h2{font-size:1.5em;border-bottom:1px solid var(--border-primary);padding-bottom:.25em}._markdownPreview_16e92_211 h3{font-size:1.25em}._markdownPreview_16e92_211 p{margin:.8em 0}._markdownPreview_16e92_211 a{color:var(--color-primary-pale);text-decoration:none}._markdownPreview_16e92_211 a:hover{text-decoration:underline}._markdownPreview_16e92_211 code{background:var(--bg-elevated);color:var(--code-error);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}._markdownPreview_16e92_211 pre{background:var(--bg-container);border:1px solid var(--border-primary);border-radius:8px;padding:14px 18px;overflow-x:auto;margin:1em 0}._markdownPreview_16e92_211 pre code{background:none;color:var(--text-primary);padding:0;font-size:13px}._markdownPreview_16e92_211 blockquote{border-left:3px solid var(--color-primary-pale);margin:1em 0;padding:.5em 1em;color:var(--text-light);background:var(--color-primary-bg-extra-faint);border-radius:0 6px 6px 0}._markdownPreview_16e92_211 table{border-collapse:collapse;width:100%;margin:1em 0}._markdownPreview_16e92_211 th,._markdownPreview_16e92_211 td{border:1px solid var(--border-secondary);padding:8px 12px;text-align:left}._markdownPreview_16e92_211 th{background:var(--bg-elevated);color:var(--text-primary);font-weight:600}._markdownPreview_16e92_211 tr:nth-child(2n){background:var(--overlay-light-faint)}._markdownPreview_16e92_211 ul,._markdownPreview_16e92_211 ol{padding-left:2em;margin:.8em 0}._markdownPreview_16e92_211 li{margin:.3em 0}._markdownPreview_16e92_211 hr{border:none;border-top:1px solid var(--border-secondary);margin:1.5em 0}._markdownPreview_16e92_211 img{max-width:100%;height:auto;border-radius:6px}._markdownPreview_16e92_211 input[type=checkbox]{margin-right:6px}._saveBtn_16e92_293{display:flex;align-items:center;gap:4px;padding:4px 10px;min-height:28px;box-sizing:border-box;border:1px solid var(--border-hover);background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;line-height:18px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}._saveBtn_16e92_293:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}._saveBtn_16e92_293:hover:not(:disabled){background:var(--color-primary-bg-light);color:var(--color-primary-dark);border-color:var(--color-primary)}._saveBtn_16e92_293:disabled{opacity:.4;cursor:not-allowed}._saveStatus_16e92_329{font-size:11px;color:var(--text-tertiary);white-space:nowrap}._saveStatusSaved_16e92_335{color:var(--color-success)}._saveStatusFailed_16e92_339{color:var(--color-error-light)}._contentContainer_16e92_343{flex:1;overflow:hidden;background:var(--bg-base-alt);display:flex;min-height:0;min-width:0}._editorWrapper_16e92_352{flex:1;display:flex;min-height:0;min-width:0;overflow:hidden}._lineNumCol_16e92_360{flex-shrink:0;width:56px;overflow:hidden;background:var(--bg-base-alt);border-right:1px solid var(--border-primary);-webkit-user-select:none;user-select:none;padding-top:4px}._lineNumRow_16e92_370{padding:0 16px;text-align:right;color:var(--text-disabled);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.5;white-space:nowrap}._editorCol_16e92_380{flex:1;min-width:0;min-height:0;display:flex}._editorCol_16e92_380 .cm-theme{flex:1;display:flex;min-height:0;min-width:0}._editorCol_16e92_380 .cm-editor{flex:1;min-width:0;min-height:0}._loading_16e92_400{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--text-muted);font-size:14px}._error_16e92_410{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--color-error-light);font-size:14px}._imageViewer_cvqfs_1{display:flex;flex-direction:column;height:100%;background:var(--bg-base-alt)}._header_cvqfs_8{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-container);flex-shrink:0}._headerLeft_cvqfs_18{display:flex;align-items:center;gap:8px;flex:1;min-width:0}._headerRight_cvqfs_26{display:flex;align-items:center;gap:10px;flex-shrink:0}._backBtn_cvqfs_33{width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;flex-shrink:0;transition:background .15s,color .15s}._backBtn_cvqfs_33:hover{color:var(--text-secondary);background:var(--bg-elevated)}._closeBtn_cvqfs_54{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:#00000040;color:#fff;border-radius:6px;cursor:pointer;transition:background .15s}._closeBtn_cvqfs_54:hover{background:#0006}._filePath_cvqfs_73{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._fileSize_cvqfs_81{font-size:11px;color:var(--text-muted);flex-shrink:0}._toolbar_cvqfs_87{display:flex;align-items:center;gap:4px;padding:6px 16px;background:var(--bg-container);border-bottom:1px solid var(--border-primary);flex-shrink:0}._toolBtn_cvqfs_97{width:28px;height:28px;border:1px solid var(--border-hover);background:var(--bg-elevated);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;transition:background .15s,color .15s,border-color .15s}._toolBtn_cvqfs_97:hover{background:var(--bg-surface);color:var(--text-white);border-color:var(--border-light)}._zoomLabel_cvqfs_118{font-size:11px;color:var(--text-tertiary);min-width:42px;text-align:center;-webkit-user-select:none;user-select:none}._canvasArea_cvqfs_126{flex:1;overflow:hidden;position:relative;cursor:grab;background-color:var(--bg-elevated);background-image:linear-gradient(45deg,rgba(0,0,0,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.08) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}._canvasArea_cvqfs_126._dragging_cvqfs_141{cursor:grabbing}._imageWrap_cvqfs_145{position:absolute;top:0;left:0;transform-origin:0 0}._imageWrap_cvqfs_145 img{display:block;max-width:none;image-rendering:auto}._svgInline_cvqfs_158{background:var(--bg-elevated);border-radius:8px;padding:24px;display:inline-flex;align-items:center;justify-content:center}._svgInline_cvqfs_158 svg{display:block;height:200px;width:auto}._statusBar_cvqfs_173{display:flex;align-items:center;gap:16px;padding:4px 16px;background:var(--bg-container);border-top:1px solid var(--border-primary);flex-shrink:0;font-size:11px;color:var(--text-muted)}._loading_cvqfs_185{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--text-muted);font-size:14px}._error_cvqfs_195{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--color-error-light);font-size:14px}._gitChanges_255od_1{flex-shrink:0;background:var(--bg-container);display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}._header_255od_10{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-primary);flex-shrink:0}._headerTitle_255od_19{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}._collapseBtn_255od_27{width:20px;height:20px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0}._collapseBtn_255od_27:hover{color:var(--text-secondary);background:var(--bg-surface)}._changesContainer_255od_46{flex:1;overflow:auto;padding:4px 0}._changeItem_255od_52{display:flex;align-items:center;height:26px;padding:0 8px;cursor:pointer;color:var(--text-secondary);font-size:13px;white-space:nowrap;transition:background .1s;gap:6px}._changeItem_255od_52:hover{background:var(--bg-elevated)}._changeItem_255od_52._changeItemSelected_255od_69{background:var(--color-tree-selected)}._dirItem_255od_73{display:flex;align-items:center;height:26px;padding:0 8px;color:var(--text-tertiary);font-size:13px;white-space:nowrap;gap:6px}._dirArrow_255od_84{width:16px;flex-shrink:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center}._dirName_255od_93{overflow:hidden;text-overflow:ellipsis}._status_255od_98{width:16px;flex-shrink:0;font-size:11px;font-weight:600;text-align:center;margin-left:auto}._icon_255od_107{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}._fileName_255od_116{overflow:hidden;text-overflow:ellipsis;flex:1}._actions_255od_122{display:none;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}._actions_255od_122 span{color:var(--text-muted);cursor:pointer;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px}._actions_255od_122 span:hover{color:var(--text-secondary);background:var(--border-light)}._changeItem_255od_52:hover ._actions_255od_122{display:flex}._loading_255od_150{color:var(--text-disabled);font-size:12px;padding:8px 12px}._error_255od_156{color:var(--color-error-light);font-size:12px;padding:8px 12px}._empty_255od_162{color:var(--text-muted);font-size:12px;padding:8px 12px;text-align:center}._rotated90_255od_169{transform:rotate(90deg)}._repoHeader_255od_174{display:flex;align-items:center;height:28px;padding:0 8px;cursor:pointer;color:var(--text-primary);font-size:12px;white-space:nowrap;gap:6px;background:var(--bg-surface);border-bottom:1px solid var(--border-light);-webkit-user-select:none;user-select:none}._repoHeader_255od_174:hover{background:var(--bg-elevated)}._repoArrow_255od_193,._commitArrow_255od_194{width:14px;flex-shrink:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:transform .15s;transform:rotate(0)}._repoArrowExpanded_255od_205,._commitArrowExpanded_255od_206{transform:rotate(90deg)}._repoName_255od_210{overflow:hidden;text-overflow:ellipsis;flex:1;font-weight:600}._repoBadge_255od_217{font-size:10px;color:var(--text-disabled);background:var(--bg-elevated);padding:1px 6px;border-radius:8px;flex-shrink:0}._statBadge_255od_226{font-size:10px;padding:1px 5px;border-radius:8px;flex-shrink:0;font-family:var(--font-mono, monospace)}._statInsert_255od_234{color:#73c991}._statDelete_255od_238{color:#f14c4c}._unpushedSeparator_255od_243{margin:6px 8px;border-top:1px dashed var(--border-primary);opacity:.7}._unpushedHeader_255od_249{display:flex;align-items:center;height:26px;padding:0 8px;cursor:pointer;color:var(--text-secondary);font-size:12px;white-space:nowrap;gap:6px;-webkit-user-select:none;user-select:none}._unpushedHeader_255od_249:hover{background:var(--bg-elevated)}._unpushedTitle_255od_266{flex:1;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.4px;color:var(--text-tertiary)}._commitItem_255od_275{display:flex;align-items:center;height:26px;padding:0 8px;cursor:pointer;color:var(--text-secondary);font-size:12px;white-space:nowrap;gap:6px;transition:background .1s}._commitItem_255od_275:hover{background:var(--bg-elevated)}._commitHash_255od_292{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-tertiary);background:var(--bg-elevated);padding:1px 5px;border-radius:3px;flex-shrink:0}._commitSubject_255od_302{flex:1;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}._commitMeta_255od_309{font-size:10px;color:var(--text-muted);flex-shrink:0}._commitFileBadge_255od_315{font-size:10px;color:var(--text-disabled);background:var(--bg-elevated);padding:1px 6px;border-radius:8px;flex-shrink:0}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
32
|
+
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}._terminalPanel_1hkbt_1{height:100%;min-height:0;display:flex;flex-direction:column;background:var(--bg-base-alt)}._terminalContainer_1hkbt_4{flex:1;min-height:0;overflow:hidden;padding:4px 8px;display:flex;flex-direction:column;transition:box-shadow .3s ease-out;touch-action:none;overscroll-behavior:contain}._terminalHost_1hkbt_23{flex:1;min-height:0;margin-bottom:4px;overflow:hidden}._terminalContainerFocused_1hkbt_43{box-shadow:inset 0 0 0 4px var(--border-secondary),0 0 8px var(--color-primary-bg-light)}[data-theme=light] ._terminalContainerFocused_1hkbt_43{box-shadow:inset 0 0 0 4px #d9775726,0 0 6px #d9775714}[data-theme=light] ._terminalContainer_1hkbt_4{background:#fff}[data-theme=dark] ._terminalContainer_1hkbt_4{background:#000}._terminalContainer_1hkbt_4 .xterm-helper-textarea{caret-color:#0000!important}._pendingFileStrip_1hkbt_59{display:flex;gap:6px;padding:4px 8px;flex-wrap:wrap;flex-shrink:0}._pendingFileTag_1hkbt_67{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:4px;color:var(--text-secondary);font-size:12px;transition:border-color .15s}._pendingFileTag_1hkbt_67:hover{border-color:var(--color-primary-pale)}._pendingFileName_1hkbt_84{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._pendingFileClose_1hkbt_91{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0;line-height:1}._pendingFileClose_1hkbt_91:hover{color:var(--text-primary)}._pendingImageItem_1hkbt_105{position:relative;width:40px;height:40px;border-radius:4px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-hover);transition:border-color .15s}._pendingImageItem_1hkbt_105:hover{border-color:var(--color-primary-pale)}._pendingImageThumb_1hkbt_120{width:100%;height:100%;object-fit:cover;cursor:pointer}._pendingImageRemove_1hkbt_127{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:11px;line-height:12px;text-align:center;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}._pendingImageItem_1hkbt_105:hover ._pendingImageRemove_1hkbt_127{opacity:1}@media(hover:none){._pendingImageRemove_1hkbt_127,._pendingFileClose_1hkbt_91{opacity:1;min-width:22px;min-height:22px}}._terminalToolbar_1hkbt_162{height:35px;flex-shrink:0;display:flex;align-items:center;padding:0 8px;gap:4px;border-top:1px solid var(--border-primary);background:var(--bg-base-alt);position:relative;z-index:1}._toolbarBtn_1hkbt_177{display:flex;align-items:center;gap:4px;height:26px;padding:0 10px;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-elevated);color:var(--text-light);font-size:12px;cursor:pointer;white-space:nowrap}._toolbarBtn_1hkbt_177:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-disabled)}._toolbarBtnDisabled_1hkbt_198{opacity:.4;cursor:not-allowed}._toolbarBtnDisabled_1hkbt_198:hover{background:var(--bg-elevated);color:var(--text-light);border-color:var(--border-secondary)}._toolbarBtn_1hkbt_177 svg{width:14px;height:14px}._virtualKeybar_1hkbt_213{display:flex;gap:6px;padding:8px 10px;background:var(--bg-container);border-top:1px solid var(--border-primary);overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch}._virtualKey_1hkbt_213{flex-shrink:0;padding:12px 20px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);font-size:15px;font-family:Menlo,Monaco,monospace;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#00000000;touch-action:pan-x;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}._virtualKeyPressed_1hkbt_244{background:var(--border-secondary);border-color:var(--text-disabled);color:var(--text-white)}._vkSeparator_1hkbt_251{flex-shrink:0;width:1px;align-self:stretch;margin:4px 2px;background:var(--border-secondary)}._vkAction_1hkbt_260{padding:8px 14px;gap:6px;min-height:44px}._vkAction_1hkbt_260 svg{width:16px;height:16px;flex-shrink:0}._vkTeamLabel_1hkbt_272{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;font-size:13px}._vkTeamPreset_1hkbt_281{border-color:var(--color-green-border)}._vkDisabled_1hkbt_286{opacity:.5;border-style:dashed}._presetList_1hkbt_292{background:var(--bg-base-alt);border:1px solid var(--border-secondary);border-radius:6px;max-height:260px;overflow-y:auto}._presetRow_1hkbt_300{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-primary)}._presetRow_1hkbt_300:last-child{border-bottom:none}._presetRowDragging_1hkbt_312{opacity:.4}._presetRowDragOver_1hkbt_316{border-top:2px solid var(--color-primary);padding-top:6px}._dragHandle_1hkbt_321{cursor:grab;color:var(--border-light);flex-shrink:0;display:flex;align-items:center;padding:0 2px;transition:color .15s}._dragHandle_1hkbt_321:hover{color:var(--text-tertiary)}._dragHandle_1hkbt_321:active{cursor:grabbing}._presetText_1hkbt_339{flex:1;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}._presetMenu_1hkbt_349{display:flex;flex-direction:column}._presetMenuItem_1hkbt_354{background:none;border:none;color:var(--text-primary);font-size:13px;padding:6px 12px;text-align:left;cursor:pointer;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}._presetMenuItem_1hkbt_354:hover{background:var(--border-secondary)}._presetMenuItemMuted_1hkbt_373{color:var(--text-tertiary);border-bottom:1px solid var(--border-light);margin-bottom:2px}._presetMenuItemMuted_1hkbt_373:hover{color:var(--text-primary)}._presetMenuItemMuted_1hkbt_373 svg{stroke:var(--text-tertiary);transition:stroke .15s}._presetMenuItemMuted_1hkbt_373:hover svg{stroke:var(--text-primary)}._presetName_1hkbt_392{width:100px;flex-shrink:0;font-size:13px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._presetInput_1hkbt_402{width:min(600px,80vw);background:var(--bg-container);border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-primary);font-size:13px;padding:6px 12px;outline:none;box-sizing:border-box}._presetInput_1hkbt_402:focus{border-color:var(--color-primary)}._presetTextarea_1hkbt_418{width:min(600px,80vw);background:var(--bg-container);border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-primary);font-size:13px;padding:8px 12px;resize:none;outline:none;box-sizing:border-box}._presetTextarea_1hkbt_418:focus{border-color:var(--color-primary)}._hiddenFileInput_1hkbt_435{display:none}._popoverEmptyHint_1hkbt_439{color:var(--text-muted);font-size:13px;padding:8px 12px;text-align:center}._agentTeamDisabledTip_1hkbt_446{color:var(--text-secondary);font-size:13px;margin-bottom:10px}._toolbarLeft_1hkbt_453,._toolbarRight_1hkbt_455{display:flex;align-items:center;gap:4px;flex:0 0 auto}._toolbarRight_1hkbt_455{margin-left:auto}._ctxBarSlot_1hkbt_454{flex:0 1 200px;max-width:200px;min-width:0;display:flex;align-items:stretch;height:26px}._ctxBarSlot_1hkbt_454>*{flex:1 1 0;min-width:0}._toolbarBtnActive_1hkbt_480,._toolbarBtnActive_1hkbt_480:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}._scratchWrap_1hkbt_494{flex-shrink:0;min-height:100px;max-height:600px;overflow:hidden;display:flex;flex-direction:row}._scratchTabs_1hkbt_492{flex-shrink:0;width:95px;display:flex;flex-direction:column;background:var(--bg-base-alt);border-right:1px solid var(--border-primary);overflow-y:auto;padding:4px;gap:2px}._scratchTab_1hkbt_492{display:flex;align-items:center;gap:6px;height:26px;padding:0 6px;border-radius:4px;cursor:pointer;color:var(--text-secondary);font-size:12px;-webkit-user-select:none;user-select:none;flex-shrink:0}._scratchTab_1hkbt_492:hover{background:var(--bg-elevated);color:var(--text-primary)}._scratchTabActive_1hkbt_533{background:var(--color-primary-bg-light);color:var(--text-primary)}._scratchTabActive_1hkbt_533:hover{background:var(--color-primary-bg-light)}._scratchTabIcon_1hkbt_541{display:inline-flex;flex-shrink:0}._scratchTabIcon_1hkbt_541 svg{width:14px;height:14px}._scratchTabLabel_1hkbt_550{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._scratchTabClose_1hkbt_557{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:3px;padding:0;opacity:0;transition:opacity .15s,background .15s}._scratchTab_1hkbt_492:hover ._scratchTabClose_1hkbt_557,._scratchTabActive_1hkbt_533 ._scratchTabClose_1hkbt_557{opacity:1}._scratchTabClose_1hkbt_557:hover{background:var(--bg-surface);color:var(--text-primary)}@media(hover:none){._scratchTabClose_1hkbt_557{opacity:1}}._scratchTabAdd_1hkbt_588{display:flex;align-items:center;justify-content:center;height:26px;margin-top:2px;border:1px dashed var(--border-secondary);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}._scratchTabAdd_1hkbt_588:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--text-disabled)}._scratchTabAdd_1hkbt_588:disabled{opacity:.4;cursor:not-allowed}._scratchPanes_1hkbt_492{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;transition:box-shadow .3s ease-out}._scratchPanesFocused_1hkbt_625{box-shadow:0 0 8px var(--color-primary-bg-light)}[data-theme=light] ._scratchPanesFocused_1hkbt_625{box-shadow:none}._scratchPane_1hkbt_492{flex:1;min-height:0;display:none;flex-direction:column}._scratchPaneActive_1hkbt_639{display:flex}._scratchResizer_1hkbt_645{flex-shrink:0;height:5px;cursor:row-resize;background:var(--bg-elevated);border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary);transition:background .15s;touch-action:none}._scratchResizer_1hkbt_645:hover,._scratchResizerDragging_1hkbt_658{background:var(--border-secondary)}[data-theme=light] ._scratchWrap_1hkbt_494{background:#fff}[data-theme=dark] ._scratchWrap_1hkbt_494{background:#000}._scratchInner_1hkbt_35{flex:1;min-height:0;overflow:hidden;border:4px solid transparent;display:flex;flex-direction:column;touch-action:none;overscroll-behavior:contain;transition:border-color .3s ease-out}._scratchHost_1hkbt_35{flex:1;min-height:0;margin-bottom:4px;overflow:hidden}._scratchPanesFocused_1hkbt_625 ._scratchPane_1hkbt_492._scratchPaneActive_1hkbt_639 ._scratchInner_1hkbt_35{border-color:var(--border-secondary)}[data-theme=light] ._scratchPanesFocused_1hkbt_625 ._scratchPane_1hkbt_492._scratchPaneActive_1hkbt_639 ._scratchInner_1hkbt_35{border-color:#d9775726}._scratchInner_1hkbt_35 .xterm-helper-textarea{caret-color:#0000}._presetSectionHeader_1hkbt_705{margin-bottom:8px}._presetSectionTitle_1hkbt_709{font-size:14px;font-weight:600;color:var(--text-primary)}._presetListEmptyHint_1hkbt_715{color:var(--text-muted);font-size:13px;padding:12px 0;text-align:center}._presetActions_1hkbt_722{margin-top:10px;display:flex;gap:8px}._presetFormField_1hkbt_728{margin-bottom:8px}._presetFormLabel_1hkbt_732{font-size:13px;color:var(--text-light);display:block;margin-bottom:4px}._ultraplanPanel_1hkbt_740{display:flex;flex-direction:column;gap:0}._ultraplanHeader_1hkbt_746{padding:10px 14px 6px;font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:8px}._ultraplanHeaderTitle_1hkbt_757{display:inline-flex;align-items:center;gap:2px}._ultraplanCloseBtn_1hkbt_763{width:22px;height:22px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0}._ultraplanCloseBtn_1hkbt_763:hover{background:var(--bg-surface);color:var(--text-primary)}._ultraplanCustomWrap_1hkbt_782{position:relative;display:inline-flex;align-items:center}._ultraplanCustomTitle_1hkbt_788{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._ultraplanEditPencil_1hkbt_795{position:absolute;top:-4px;inset-inline-end:-4px;width:14px;height:14px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s}._ultraplanCustomWrap_1hkbt_782:hover ._ultraplanEditPencil_1hkbt_795{opacity:1}._ultraplanEditPencil_1hkbt_795:hover{color:var(--color-primary);border-color:var(--color-primary)}@media(max-width:768px){._ultraplanEditPencil_1hkbt_795{opacity:1}}._ultraplanVariantRow_1hkbt_826{display:flex;align-items:center;gap:6px;padding:0 14px 8px;flex-wrap:wrap}._ultraplanRoleBtn_1hkbt_834{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;line-height:1.6;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-main);color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;white-space:nowrap}._ultraplanRoleBtn_1hkbt_834:hover{border-color:var(--color-primary);color:var(--color-primary)}._ultraplanRoleBtn_1hkbt_834:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}._ultraplanAddExpertBtn_1hkbt_859{width:26px;height:26px;margin-left:2px;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--border-primary);border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s;padding:0}._ultraplanAddExpertBtn_1hkbt_859:hover{border-style:solid;border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-surface)}._ultraplanRoleBtnActive_1hkbt_882{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}._ultraplanRoleBtnActive_1hkbt_882:hover{color:#fff}._ultraplanTextarea_1hkbt_891{margin:0 14px;padding:8px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-container);color:var(--text-primary);font-size:13px;line-height:1.5;font-family:inherit;resize:vertical;outline:none;min-height:100px;max-height:300px}._ultraplanTextarea_1hkbt_891:focus{border-color:var(--color-primary-pale)}._ultraplanTextarea_1hkbt_891::placeholder{color:var(--text-disabled)}._ultraplanFooter_1hkbt_915{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 10px}._ultraplanSendBtn_1hkbt_922{height:26px;padding:0 16px;border:none;border-radius:4px;background:var(--color-primary);color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:opacity .15s}._ultraplanSendBtn_1hkbt_922:hover{opacity:.85}._ultraplanSendBtn_1hkbt_922:disabled{opacity:.4;cursor:not-allowed}._ultraplanUploadBtn_1hkbt_944{display:flex;align-items:center;gap:4px;height:26px;padding:0 12px;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-elevated);color:var(--text-light);font-size:12px;cursor:pointer;white-space:nowrap;transition:background .15s}._ultraplanUploadBtn_1hkbt_944:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-disabled)}._ultraplanFileList_1hkbt_966{display:flex;flex-wrap:wrap;gap:4px;padding:0 14px 8px}._ultraplanFileChip_1hkbt_973{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:var(--bg-container);border:1px solid var(--border-primary);font-size:11px;color:var(--text-secondary);max-width:180px;white-space:nowrap;transition:border-color .15s}._ultraplanFileChip_1hkbt_973:hover{border-color:var(--color-primary-pale)}._ultraplanFileChip_1hkbt_973 svg{flex-shrink:0}._ultraplanFileName_1hkbt_996{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}._ultraplanFileRemove_1hkbt_1003{flex-shrink:0;cursor:pointer;color:var(--text-disabled);font-size:14px;line-height:1;margin-left:2px}._ultraplanFileRemove_1hkbt_1003:hover{color:var(--color-error)}._ultraplanImageItem_1hkbt_1016{position:relative;width:48px;height:48px;border-radius:6px;overflow:hidden;border:1px solid var(--border-light);transition:border-color .15s;cursor:pointer}._ultraplanImageItem_1hkbt_1016:hover{border-color:var(--color-primary-pale)}._ultraplanImageThumb_1hkbt_1031{width:100%;height:100%;object-fit:cover;cursor:pointer}._ultraplanImageRemove_1hkbt_1038{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#0000008c;color:#fff;border:none;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}._ultraplanImageItem_1hkbt_1016:hover ._ultraplanImageRemove_1hkbt_1038{opacity:1}@media(hover:none){._ultraplanImageRemove_1hkbt_1038,._ultraplanFileRemove_1hkbt_1003{opacity:1;min-width:22px;min-height:22px}}._helpBtn_19lpl_1{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-light);color:var(--text-light);font-size:11px;line-height:1;cursor:pointer;margin-left:4px;vertical-align:middle;transition:background .2s;-webkit-user-select:none;user-select:none}._helpBtn_19lpl_1:hover{background:var(--border-secondary)}._modalBody_19lpl_25{max-height:60vh;overflow-y:auto;overflow-x:hidden;padding:4px 12px;color:var(--text-primary);font-size:14px;line-height:1.75;word-break:break-word}._modalBody_19lpl_25 h1,._modalBody_19lpl_25 h2,._modalBody_19lpl_25 h3,._modalBody_19lpl_25 h4,._modalBody_19lpl_25 h5,._modalBody_19lpl_25 h6{color:var(--text-primary);margin:1.2em 0 .6em;line-height:1.3}._modalBody_19lpl_25 h1{font-size:1.8em;border-bottom:1px solid var(--border-secondary);padding-bottom:.3em}._modalBody_19lpl_25 h2{font-size:1.5em;border-bottom:1px solid var(--border-primary);padding-bottom:.25em}._modalBody_19lpl_25 h3{font-size:1.25em}._modalBody_19lpl_25 p{margin:.8em 0}._modalBody_19lpl_25 a{color:var(--color-primary-pale);text-decoration:none}._modalBody_19lpl_25 a:hover{text-decoration:underline}._modalBody_19lpl_25 code{background:var(--bg-elevated);color:var(--code-error);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}._modalBody_19lpl_25 pre{background:var(--bg-container);border:1px solid var(--border-primary);border-radius:8px;padding:14px 18px;overflow-x:auto;margin:1em 0;max-width:100%;box-sizing:border-box}._modalBody_19lpl_25 pre code{background:none;color:var(--text-primary);padding:0;font-size:13px}._modalBody_19lpl_25 blockquote{border-left:3px solid var(--color-primary-pale);margin:1em 0;padding:.5em 1em;color:var(--text-light);background:var(--color-primary-bg-extra-faint);border-radius:0 6px 6px 0}._modalBody_19lpl_25 table{border-collapse:collapse;width:100%;margin:1em 0}._modalBody_19lpl_25 th,._modalBody_19lpl_25 td{border:1px solid var(--border-secondary);padding:8px 12px;text-align:left}._modalBody_19lpl_25 th{background:var(--bg-elevated);color:var(--text-primary);font-weight:600}._modalBody_19lpl_25 tr:nth-child(2n){background:var(--overlay-light-faint)}._modalBody_19lpl_25 ul,._modalBody_19lpl_25 ol{padding-left:2em;margin:.8em 0}._modalBody_19lpl_25 li{margin:.3em 0}._modalBody_19lpl_25 hr{border:none;border-top:1px solid var(--border-secondary);margin:1.5em 0}._modalBody_19lpl_25 img{max-width:100%;height:auto;border-radius:6px}._modalBody_19lpl_25 strong{color:var(--text-primary)}._modalBody_19lpl_25 textarea{width:100%;min-height:200px;background:var(--bg-elevated);color:var(--text-primary);font-family:monospace;font-size:13px;line-height:1.6;border:1px solid var(--border-secondary);border-radius:6px;padding:10px 14px;resize:vertical;outline:none;box-sizing:border-box}._spinWrap_19lpl_124{display:flex;justify-content:center;padding:40px 0}@media(max-width:768px){._modalBody_19lpl_25{font-size:13px;line-height:1.6;max-height:75vh}._modalBody_19lpl_25 h1{font-size:18px}._modalBody_19lpl_25 h2{font-size:16px}._modalBody_19lpl_25 h3{font-size:14px}._modalBody_19lpl_25 pre{font-size:12px;padding:8px}._modalBody_19lpl_25 code,._modalBody_19lpl_25 textarea{font-size:12px}}html.pad-mode ._modalBody_19lpl_25{font-size:14px;line-height:1.75;max-height:60vh}html.pad-mode ._modalBody_19lpl_25 h1{font-size:1.8em}html.pad-mode ._modalBody_19lpl_25 h2{font-size:1.5em}html.pad-mode ._modalBody_19lpl_25 h3{font-size:1.25em}html.pad-mode ._modalBody_19lpl_25 pre{font-size:13px;padding:14px 18px}html.pad-mode ._modalBody_19lpl_25 code{font-size:.9em}html.pad-mode ._modalBody_19lpl_25 textarea{font-size:13px}._titleRow_mfv69_1{display:inline-flex;align-items:center;gap:2px}._field_mfv69_7{margin-bottom:12px}._titleInput_mfv69_11{width:100%;padding:8px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-container);color:var(--text-primary);font-size:14px;outline:none;box-sizing:border-box}._titleInput_mfv69_11:focus{border-color:var(--color-primary)}._contentTextarea_mfv69_27{width:100%;padding:10px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-container);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical;outline:none;box-sizing:border-box;min-height:180px;max-height:50vh}._contentTextarea_mfv69_27:focus{border-color:var(--color-primary)}._footer_mfv69_48{display:flex;justify-content:space-between;align-items:center;gap:8px}._footerRight_mfv69_55{display:flex;gap:8px}._btn_1pmp5_2{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;cursor:pointer;color:var(--text-muted);opacity:.7;border-radius:3px;transition:opacity .15s,color .15s,transform .4s}._btn_1pmp5_2:hover{opacity:1;color:var(--text-secondary)}._btnBusy_1pmp5_22{pointer-events:none;cursor:progress;transform:rotate(360deg)}._fileExplorer_1qpxp_1{flex-shrink:0;background:var(--bg-container);display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}._header_1qpxp_10{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:41px;border-bottom:1px solid var(--border-primary);flex-shrink:0}._headerTitle_1qpxp_20{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:5px}._headerCloseBtn_1qpxp_31{width:20px;height:20px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0}._headerCloseBtn_1qpxp_31:hover{color:var(--text-secondary);background:var(--bg-surface)}._treeContainer_1qpxp_52{flex:1;overflow:auto;padding:4px 0}._treeItem_1qpxp_58{display:flex;align-items:center;height:26px;padding:0 8px;cursor:pointer;color:var(--text-secondary);font-size:13px;white-space:nowrap;transition:background .1s}._treeItem_1qpxp_58:hover{background:var(--bg-elevated)}._treeItem_1qpxp_58._treeItemSelected_1qpxp_74{background:var(--color-tree-selected)}._arrow_1qpxp_78{width:16px;flex-shrink:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center}._icon_1qpxp_31{width:16px;height:16px;flex-shrink:0;margin-right:6px;display:flex;align-items:center;justify-content:center}._fileName_1qpxp_97{overflow:hidden;text-overflow:ellipsis}._fileNameInput_1qpxp_102{background:#0000;border:none;border-bottom:1px solid var(--color-primary-pale);color:var(--text-secondary);font-size:13px;font-family:inherit;padding:0;margin:0;outline:none;width:100%;min-width:40px;height:20px;line-height:20px}._loading_1qpxp_118{color:var(--text-disabled);font-size:12px;padding:4px 8px}._error_1qpxp_124{color:var(--color-error-light);font-size:12px;padding:4px 8px}._treeItemGitIgnored_1qpxp_130{opacity:.4}._treeItemDragging_1qpxp_134{opacity:.5}._treeItemDragOver_1qpxp_138{background:var(--color-primary-bg-light);outline:2px dashed var(--color-primary)}._arrowIcon_1qpxp_143{transition:transform .15s}._fileExplorerDragOver_1qpxp_147{outline:2px dashed var(--color-success);outline-offset:-2px}._importOverlay_1qpxp_152{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 8px;color:var(--color-success);font-size:12px;font-weight:500;background:var(--color-success-bg-light);border-bottom:1px solid var(--border-primary);pointer-events:none}._fileContentView_16e92_1{display:flex;flex-direction:column;height:100%;background:var(--bg-base-alt);animation:_slideInFromRight_16e92_1 .25s ease-out}@keyframes _slideInFromRight_16e92_1{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}._closing_16e92_20{animation:_slideOutToRight_16e92_1 .2s ease-in forwards}@keyframes _slideOutToRight_16e92_1{0%{transform:translate(0);opacity:1}to{transform:translate(-40px);opacity:0}}._editorBanner_16e92_35{padding:6px 16px;background:var(--color-green-bg);color:var(--color-success-light);font-size:12px;text-align:center;flex-shrink:0;border-bottom:1px solid var(--color-green-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}._editorBanner_16e92_35:hover{background:var(--color-green-border)}._header_16e92_52{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-container);flex-shrink:0}._headerLeft_16e92_62{display:flex;align-items:center;gap:8px;flex:1;min-width:0}._headerRight_16e92_70{display:flex;align-items:center;gap:10px;flex-shrink:0}._backBtn_16e92_77{width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;flex-shrink:0;transition:background .15s,color .15s}._backBtn_16e92_77:hover{color:var(--text-secondary);background:var(--bg-elevated)}._filePath_16e92_98{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._fileSize_16e92_106{font-size:11px;color:var(--text-muted);flex-shrink:0;margin-left:8px}._closeBtn_16e92_113{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-tertiary);border-radius:6px;cursor:pointer;transition:background .15s,color .15s}._closeBtn_16e92_113:hover{background:var(--overlay-light-medium);color:var(--text-primary)}._viewToggleBtn_16e92_133{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;border:1px solid var(--border-hover);background:var(--bg-elevated);color:var(--text-tertiary);font-size:12px;line-height:18px;min-height:28px;box-sizing:border-box;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}._viewToggleBtn_16e92_133 .anticon{font-size:14px;line-height:1}._viewToggleBtn_16e92_133:hover{background:var(--bg-surface);color:var(--text-white);border-color:var(--border-light)}._viewToggleActive_16e92_161{color:var(--color-primary-pale);border-color:var(--color-primary-pale)}._downloadWrap_16e92_167{position:relative;display:inline-flex}._downloadMenu_16e92_172{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:6px;box-shadow:0 4px 12px var(--overlay-dark-light);padding:4px;z-index:20}._downloadMenuItem_16e92_185{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;background:none;color:var(--text-secondary);font-size:12px;cursor:pointer;border-radius:4px;white-space:nowrap;text-align:left}._downloadMenuItem_16e92_185:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}._downloadMenuItem_16e92_185:disabled{opacity:.4;cursor:not-allowed}._markdownPreview_16e92_211{flex:1;overflow-y:auto;padding:24px 36px;color:var(--text-primary);font-size:14px;line-height:1.75;background:var(--bg-container)}._markdownPreview_16e92_211 h1,._markdownPreview_16e92_211 h2,._markdownPreview_16e92_211 h3,._markdownPreview_16e92_211 h4,._markdownPreview_16e92_211 h5,._markdownPreview_16e92_211 h6{color:var(--text-primary);margin:1.2em 0 .6em;line-height:1.3}._markdownPreview_16e92_211 h1{font-size:1.8em;border-bottom:1px solid var(--border-secondary);padding-bottom:.3em}._markdownPreview_16e92_211 h2{font-size:1.5em;border-bottom:1px solid var(--border-primary);padding-bottom:.25em}._markdownPreview_16e92_211 h3{font-size:1.25em}._markdownPreview_16e92_211 p{margin:.8em 0}._markdownPreview_16e92_211 a{color:var(--color-primary-pale);text-decoration:none}._markdownPreview_16e92_211 a:hover{text-decoration:underline}._markdownPreview_16e92_211 code{background:var(--bg-elevated);color:var(--code-error);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}._markdownPreview_16e92_211 pre{background:var(--bg-container);border:1px solid var(--border-primary);border-radius:8px;padding:14px 18px;overflow-x:auto;margin:1em 0}._markdownPreview_16e92_211 pre code{background:none;color:var(--text-primary);padding:0;font-size:13px}._markdownPreview_16e92_211 blockquote{border-left:3px solid var(--color-primary-pale);margin:1em 0;padding:.5em 1em;color:var(--text-light);background:var(--color-primary-bg-extra-faint);border-radius:0 6px 6px 0}._markdownPreview_16e92_211 table{border-collapse:collapse;width:100%;margin:1em 0}._markdownPreview_16e92_211 th,._markdownPreview_16e92_211 td{border:1px solid var(--border-secondary);padding:8px 12px;text-align:left}._markdownPreview_16e92_211 th{background:var(--bg-elevated);color:var(--text-primary);font-weight:600}._markdownPreview_16e92_211 tr:nth-child(2n){background:var(--overlay-light-faint)}._markdownPreview_16e92_211 ul,._markdownPreview_16e92_211 ol{padding-left:2em;margin:.8em 0}._markdownPreview_16e92_211 li{margin:.3em 0}._markdownPreview_16e92_211 hr{border:none;border-top:1px solid var(--border-secondary);margin:1.5em 0}._markdownPreview_16e92_211 img{max-width:100%;height:auto;border-radius:6px}._markdownPreview_16e92_211 input[type=checkbox]{margin-right:6px}._saveBtn_16e92_293{display:flex;align-items:center;gap:4px;padding:4px 10px;min-height:28px;box-sizing:border-box;border:1px solid var(--border-hover);background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;line-height:18px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}._saveBtn_16e92_293:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}._saveBtn_16e92_293:hover:not(:disabled){background:var(--color-primary-bg-light);color:var(--color-primary-dark);border-color:var(--color-primary)}._saveBtn_16e92_293:disabled{opacity:.4;cursor:not-allowed}._saveStatus_16e92_329{font-size:11px;color:var(--text-tertiary);white-space:nowrap}._saveStatusSaved_16e92_335{color:var(--color-success)}._saveStatusFailed_16e92_339{color:var(--color-error-light)}._contentContainer_16e92_343{flex:1;overflow:hidden;background:var(--bg-base-alt);display:flex;min-height:0;min-width:0}._editorWrapper_16e92_352{flex:1;display:flex;min-height:0;min-width:0;overflow:hidden}._lineNumCol_16e92_360{flex-shrink:0;width:56px;overflow:hidden;background:var(--bg-base-alt);border-right:1px solid var(--border-primary);-webkit-user-select:none;user-select:none;padding-top:4px}._lineNumRow_16e92_370{padding:0 16px;text-align:right;color:var(--text-disabled);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.5;white-space:nowrap}._editorCol_16e92_380{flex:1;min-width:0;min-height:0;display:flex}._editorCol_16e92_380 .cm-theme{flex:1;display:flex;min-height:0;min-width:0}._editorCol_16e92_380 .cm-editor{flex:1;min-width:0;min-height:0}._loading_16e92_400{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--text-muted);font-size:14px}._error_16e92_410{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--color-error-light);font-size:14px}._imageViewer_cvqfs_1{display:flex;flex-direction:column;height:100%;background:var(--bg-base-alt)}._header_cvqfs_8{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-container);flex-shrink:0}._headerLeft_cvqfs_18{display:flex;align-items:center;gap:8px;flex:1;min-width:0}._headerRight_cvqfs_26{display:flex;align-items:center;gap:10px;flex-shrink:0}._backBtn_cvqfs_33{width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;flex-shrink:0;transition:background .15s,color .15s}._backBtn_cvqfs_33:hover{color:var(--text-secondary);background:var(--bg-elevated)}._closeBtn_cvqfs_54{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:#00000040;color:#fff;border-radius:6px;cursor:pointer;transition:background .15s}._closeBtn_cvqfs_54:hover{background:#0006}._filePath_cvqfs_73{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._fileSize_cvqfs_81{font-size:11px;color:var(--text-muted);flex-shrink:0}._toolbar_cvqfs_87{display:flex;align-items:center;gap:4px;padding:6px 16px;background:var(--bg-container);border-bottom:1px solid var(--border-primary);flex-shrink:0}._toolBtn_cvqfs_97{width:28px;height:28px;border:1px solid var(--border-hover);background:var(--bg-elevated);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;transition:background .15s,color .15s,border-color .15s}._toolBtn_cvqfs_97:hover{background:var(--bg-surface);color:var(--text-white);border-color:var(--border-light)}._zoomLabel_cvqfs_118{font-size:11px;color:var(--text-tertiary);min-width:42px;text-align:center;-webkit-user-select:none;user-select:none}._canvasArea_cvqfs_126{flex:1;overflow:hidden;position:relative;cursor:grab;background-color:var(--bg-elevated);background-image:linear-gradient(45deg,rgba(0,0,0,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.08) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}._canvasArea_cvqfs_126._dragging_cvqfs_141{cursor:grabbing}._imageWrap_cvqfs_145{position:absolute;top:0;left:0;transform-origin:0 0}._imageWrap_cvqfs_145 img{display:block;max-width:none;image-rendering:auto}._svgInline_cvqfs_158{background:var(--bg-elevated);border-radius:8px;padding:24px;display:inline-flex;align-items:center;justify-content:center}._svgInline_cvqfs_158 svg{display:block;height:200px;width:auto}._statusBar_cvqfs_173{display:flex;align-items:center;gap:16px;padding:4px 16px;background:var(--bg-container);border-top:1px solid var(--border-primary);flex-shrink:0;font-size:11px;color:var(--text-muted)}._loading_cvqfs_185{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--text-muted);font-size:14px}._error_cvqfs_195{display:flex;align-items:center;justify-content:center;height:100%;width:100%;color:var(--color-error-light);font-size:14px}._gitChanges_1tvj9_1{flex-shrink:0;background:var(--bg-container);display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}._header_1tvj9_10{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-primary);flex-shrink:0}._headerTitle_1tvj9_19{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}._collapseBtn_1tvj9_27{width:20px;height:20px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0}._collapseBtn_1tvj9_27:hover{color:var(--text-secondary);background:var(--bg-surface)}._changesContainer_1tvj9_46{flex:1;overflow:auto;padding:4px 0}._changeItem_1tvj9_52{display:flex;align-items:center;height:26px;padding:0 8px;cursor:pointer;color:var(--text-secondary);font-size:13px;white-space:nowrap;transition:background .1s;gap:6px}._changeItem_1tvj9_52:hover{background:var(--bg-elevated)}._changeItem_1tvj9_52._changeItemSelected_1tvj9_69{background:var(--color-tree-selected)}._dirItem_1tvj9_73{display:flex;align-items:center;height:26px;padding:0 8px;color:var(--text-tertiary);font-size:13px;white-space:nowrap;gap:6px}._dirItemClickable_1tvj9_85{cursor:pointer;transition:background .1s}._dirItemClickable_1tvj9_85:hover{background:var(--bg-elevated)}._dirArrow_1tvj9_94{width:16px;flex-shrink:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center}._dirName_1tvj9_103{overflow:hidden;text-overflow:ellipsis}._status_1tvj9_108{width:16px;flex-shrink:0;font-size:11px;font-weight:600;text-align:center;margin-left:auto}._icon_1tvj9_117{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}._fileName_1tvj9_126{overflow:hidden;text-overflow:ellipsis;flex:1}._actions_1tvj9_132{display:none;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}._actions_1tvj9_132 span{color:var(--text-muted);cursor:pointer;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px}._actions_1tvj9_132 span:hover{color:var(--text-secondary);background:var(--border-light)}._changeItem_1tvj9_52:hover ._actions_1tvj9_132{display:flex}._loading_1tvj9_160{color:var(--text-disabled);font-size:12px;padding:8px 12px}._error_1tvj9_166{color:var(--color-error-light);font-size:12px;padding:8px 12px}._empty_1tvj9_172{color:var(--text-muted);font-size:12px;padding:8px 12px;text-align:center}._rotated90_1tvj9_179{transform:rotate(90deg)}._repoHeader_1tvj9_184{display:flex;align-items:center;height:28px;padding:0 8px;cursor:pointer;color:var(--text-primary);font-size:12px;white-space:nowrap;gap:6px;background:var(--bg-surface);border-bottom:1px solid var(--border-light);-webkit-user-select:none;user-select:none}._repoHeader_1tvj9_184:hover{background:var(--bg-elevated)}._repoArrow_1tvj9_203,._commitArrow_1tvj9_204{width:14px;flex-shrink:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:transform .15s;transform:rotate(0)}._repoArrowExpanded_1tvj9_215,._commitArrowExpanded_1tvj9_216{transform:rotate(90deg)}._repoName_1tvj9_220{overflow:hidden;text-overflow:ellipsis;flex:1;font-weight:600}._repoBadge_1tvj9_227{font-size:10px;color:var(--text-disabled);background:var(--bg-elevated);padding:1px 6px;border-radius:8px;flex-shrink:0}._statBadge_1tvj9_236{font-size:10px;padding:1px 5px;border-radius:8px;flex-shrink:0;font-family:var(--font-mono, monospace)}._statInsert_1tvj9_244{color:#73c991}._statDelete_1tvj9_248{color:#f14c4c}._unpushedSeparator_1tvj9_253{margin:6px 8px;border-top:1px dashed var(--border-primary);opacity:.7}._unpushedHeader_1tvj9_259{display:flex;align-items:center;height:26px;padding:0 8px;cursor:pointer;color:var(--text-secondary);font-size:12px;white-space:nowrap;gap:6px;-webkit-user-select:none;user-select:none}._unpushedHeader_1tvj9_259:hover{background:var(--bg-elevated)}._unpushedTitle_1tvj9_276{flex:1;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.4px;color:var(--text-tertiary)}._commitItem_1tvj9_285{display:flex;align-items:center;height:26px;padding:0 8px;cursor:pointer;color:var(--text-secondary);font-size:12px;white-space:nowrap;gap:6px;transition:background .1s}._commitItem_1tvj9_285:hover{background:var(--bg-elevated)}._commitHash_1tvj9_302{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-tertiary);background:var(--bg-elevated);padding:1px 5px;border-radius:3px;flex-shrink:0}._commitSubject_1tvj9_312{flex:1;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}._commitMeta_1tvj9_319{font-size:10px;color:var(--text-muted);flex-shrink:0}._commitFileBadge_1tvj9_325{font-size:10px;color:var(--text-disabled);background:var(--bg-elevated);padding:1px 6px;border-radius:8px;flex-shrink:0}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
33
33
|
Theme: GitHub Dark
|
|
34
34
|
Description: Dark theme as seen on github.com
|
|
35
35
|
Author: github.com
|