@forsion/unit 2.13.0 → 2.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/main.mjs +23 -3
  2. package/package.json +1 -1
  3. package/release.json +5 -5
  4. package/web/assets/{ArtificialView-BSv3Mx5C.js → ArtificialView-Bs_6B211.js} +1 -1
  5. package/web/assets/{AutomationBuilder-BuiHtVB-.js → AutomationBuilder-C-IFaaBp.js} +1 -1
  6. package/web/assets/CalendarConfigView-DEsNvVkD.js +1 -0
  7. package/web/assets/CalendarView-D7ZUE_dr.js +1 -0
  8. package/web/assets/{CapabilityMenu-kx1TIJYN.js → CapabilityMenu-CrsaTtDe.js} +1 -1
  9. package/web/assets/{CheckboxInput-eW7xdiRS.js → CheckboxInput-DVO2-1J7.js} +1 -1
  10. package/web/assets/{Chrome-B77-lQyh.js → Chrome-BvpbCvo1.js} +1 -1
  11. package/web/assets/{CodeView-Df3AiSIi.js → CodeView-CB4kG7Y6.js} +3 -3
  12. package/web/assets/DashboardGridView-hpRmBr9B.css +1 -0
  13. package/web/assets/DashboardGridView-tgaj9-SM.js +17 -0
  14. package/web/assets/{EventCard-CDmeCbI8.js → EventCard-c6s4uGBu.js} +1 -1
  15. package/web/assets/ExcalidrawCanvas-NdV86AR3.js +1 -0
  16. package/web/assets/{FloatingToc-tART_jC4.js → FloatingToc-ldOYWe2C.js} +1 -1
  17. package/web/assets/HomepageView-4joJWYlg.js +1 -0
  18. package/web/assets/HomepageView-Cxf3AWBu.css +1 -0
  19. package/web/assets/ImageStudioPanels-DgMYAsHj.js +3 -0
  20. package/web/assets/{ImageStudioView-KJhx0wJk.js → ImageStudioView-_CYHoOoG.js} +1 -1
  21. package/web/assets/InlineFiles-BIfsx3R-.js +1 -0
  22. package/web/assets/MarkdownBlock-wYEaBBOr.js +58 -0
  23. package/web/assets/ModelPill-DveHcLqq.js +2 -0
  24. package/web/assets/MuseLibraryView-Do9RnKiq.js +2 -0
  25. package/web/assets/{MuseView-Cb6R_l4i.js → MuseView-3GL4Ltoj.js} +2 -2
  26. package/web/assets/{PageHistoryPanel-BQs9IWTP.js → PageHistoryPanel-BMQC-V_l.js} +2 -2
  27. package/web/assets/{PdfAnnotator-BFTBkxvO.js → PdfAnnotator-CyAw8sgq.js} +1 -1
  28. package/web/assets/PenRow-BSB-h5Pb.js +1 -0
  29. package/web/assets/{ProductView-mB-S0j81.js → ProductView-B96OeHOP.js} +1 -1
  30. package/web/assets/{RightPanel-BVZeVO3c.js → RightPanel-BgSeCLnw.js} +3 -3
  31. package/web/assets/RunLocationPicker-CEmFio4n.css +1 -0
  32. package/web/assets/RunLocationPicker-M1UoJyjf.js +38 -0
  33. package/web/assets/{SketchCard-CAAr_cqF.js → SketchCard-DAD0jR0i.js} +212 -8
  34. package/web/assets/{StudioGuestSurface-DthpuVGg.js → StudioGuestSurface-DlUKXBXv.js} +1 -1
  35. package/web/assets/TodoListView-_yFkPUrw.js +1 -0
  36. package/web/assets/{Tooltip-D9Dt9ZTr.js → Tooltip-DXuy9-1_.js} +1 -1
  37. package/web/assets/UnifiedPage-EJNWKzxN.js +68 -0
  38. package/web/assets/{amadeus-manual.en-D5wZKuag.js → amadeus-manual.en-DzRWr4BL.js} +15 -15
  39. package/web/assets/{amadeus-manual.zh-Br5fidrj.js → amadeus-manual.zh-DW32DkL7.js} +15 -15
  40. package/web/assets/{appStore-B1ynyt42.js → appStore-CidPWYa0.js} +242 -134
  41. package/web/assets/appStore-DeaC1U32.css +1 -0
  42. package/web/assets/{arrow-up-right-R10mR2I6.js → arrow-up-right-KPFbRA41.js} +1 -1
  43. package/web/assets/{astryxBridge-CU_kQTEl.js → astryxBridge-Bupzouso.js} +3 -3
  44. package/web/assets/{automationListSource-B8EIRmDW.js → automationListSource-1aOVKBLw.js} +1 -1
  45. package/web/assets/boardSurface-BHuMoQN-.js +1 -0
  46. package/web/assets/{book-open-DBJ3dDpw.js → book-open-CBeNsIpo.js} +1 -1
  47. package/web/assets/{calendarNavStore-DGvUlU5N.js → calendarNavStore-Duyhbmm_.js} +1 -1
  48. package/web/assets/{canvasPrefs-DwL_OAAo.js → canvasPrefs-CxfyDTMT.js} +1 -1
  49. package/web/assets/{chatBoxSurface-Lq-2qfd3.js → chatBoxSurface-OBzO1Z5E.js} +1 -1
  50. package/web/assets/{circle-question-mark-HPZpZQxd.js → circle-question-mark-M8QUJJYk.js} +1 -1
  51. package/web/assets/{circle-x-BZfe7d6S.js → circle-x-Szwop5L_.js} +1 -1
  52. package/web/assets/{client-DxGbwZLy.js → client-CPUljePZ.js} +1 -1
  53. package/web/assets/{code-xml-joKQ-qGS.js → code-xml-n9mgGgkv.js} +1 -1
  54. package/web/assets/{codeStudioStore-C7rGKlOC.js → codeStudioStore-DXMQwRzG.js} +1 -1
  55. package/web/assets/codingNavigation-CCjs1kon.js +53 -0
  56. package/web/assets/codingNavigation-yp19w6uu.css +1 -0
  57. package/web/assets/{create-BjBRKATq.js → create-C19zqt5N.js} +2 -2
  58. package/web/assets/dashboardSurface-BwcH16Qc.js +1 -0
  59. package/web/assets/{deskCapture-DnGWk1iq.js → deskCapture-B_LKZSPt.js} +1 -1
  60. package/web/assets/{diff2html-Cd1rVi_Z.js → diff2html-DrCCWvpR.js} +1 -1
  61. package/web/assets/{docx-preview-CK0k1mUD.js → docx-preview-Bi7wekSM.js} +1 -1
  62. package/web/assets/{emoji-Cjm3bKiF.js → emoji-DczIG8SO.js} +1 -1
  63. package/web/assets/{floatingTocSurface-Dd1pT5j5.js → floatingTocSurface-rc1ZC7-I.js} +1 -1
  64. package/web/assets/foldActions-BGocXE-o.js +1 -0
  65. package/web/assets/{folder-CvZyHIgb.js → folder-CoOsfQ64.js} +1 -1
  66. package/web/assets/{folder-plus-BRScGQ9m.js → folder-plus-d5MwIMlf.js} +1 -1
  67. package/web/assets/{gestures-CZQVefU0.js → gestures-CXFaEydn.js} +1 -1
  68. package/web/assets/{hand-D3QspKYq.js → hand-fuehbnkI.js} +1 -1
  69. package/web/assets/{hard-drive-BQsHSala.js → hard-drive-Bh1DmZg0.js} +1 -1
  70. package/web/assets/i18n-DjziAw8r.css +1 -0
  71. package/web/assets/{i18n.generated-BZRHO2Nc.js → i18n.generated-BiQFRL2U.js} +1 -1
  72. package/web/assets/{imageStudio-Cy3_437s.js → imageStudio-Dgl1wZNB.js} +2 -2
  73. package/web/assets/{index-0AYHATDX.js → index-2tD0kijW.js} +1 -1
  74. package/web/assets/{index-DJLWTPtq.js → index-38xsQSS9.js} +1 -1
  75. package/web/assets/{index-B5GxvbNm.js → index-7kdR1oL8.js} +1 -1
  76. package/web/assets/index-B5UW6SaE.js +297 -0
  77. package/web/assets/{index-D6mpAJ9S.js → index-B8Co6KG3.js} +1 -1
  78. package/web/assets/{index-C9yo04Ck.js → index-BCG8Wnc4.js} +1 -1
  79. package/web/assets/{index-Bpc3R3DS.js → index-BPqoEOV_.js} +1 -1
  80. package/web/assets/{index-BaRySZ-M.js → index-BqGpbntz.js} +1 -1
  81. package/web/assets/{index-Dj-PygjB.js → index-CPLtf9Vc.js} +1 -1
  82. package/web/assets/{index-8ag1K7AZ.js → index-Ce1sNSS8.js} +1 -1
  83. package/web/assets/{index-BgDZGDqt.js → index-Ch0FIsJX.js} +1 -1
  84. package/web/assets/{index-CcOag8eb.js → index-CnDAYLti.js} +1 -1
  85. package/web/assets/{index-Dkd-nl1u.js → index-D4CSH-v1.js} +1 -1
  86. package/web/assets/{index-BnWj6ggb.js → index-Dc8iMctf.js} +1 -1
  87. package/web/assets/{index-D0FLFLfh.js → index-DcRyQ3eU.js} +1 -1
  88. package/web/assets/{index-DElrDw66.js → index-Df9jregv.js} +1 -1
  89. package/web/assets/{index-4E9nrhwf.js → index-Dff-DL1v.js} +1 -1
  90. package/web/assets/{index-BdZaheMZ.js → index-DvOrTnw2.js} +1 -1
  91. package/web/assets/{index-BPhwi4-v.js → index-Dx9aIoyo.js} +1 -1
  92. package/web/assets/{index-BcVGjCAJ.js → index-Dy07SBfH.js} +1 -1
  93. package/web/assets/{index-GjLSlygt.js → index-QjVOA7QM.js} +1 -1
  94. package/web/assets/{index-BgtO11q8.js → index-YRWOePBS.js} +1 -1
  95. package/web/assets/{index-9BmmlTjY.js → index-e-MxdHFO.js} +1 -1
  96. package/web/assets/{index-DNE_PBJt.js → index-fViJsYjM.js} +1 -1
  97. package/web/assets/{index-1FhRiJ_X.js → index-lfow5R3O.js} +1 -1
  98. package/web/assets/{invitePage-B4gMvEKi.js → invitePage-Dgl3-c_m.js} +1 -1
  99. package/web/assets/{ipc-CPhL3bPp.js → ipc-CNlIRMtU.js} +1 -1
  100. package/web/assets/{jszip.min-DAJT9RUA.js → jszip.min-tyV0GaJg.js} +1 -1
  101. package/web/assets/{layout-grid-DfUfnvDS.js → layout-grid-DFmwM9NU.js} +1 -1
  102. package/web/assets/linkFollow-iP2zfbA3.js +8 -0
  103. package/web/assets/{list-tree-DaGpnIYu.js → list-tree-i07HsP3D.js} +1 -1
  104. package/web/assets/{listFold-Q_8mh5ZG.js → listFold-Aea6I0Sa.js} +1 -1
  105. package/web/assets/{lock-DQ_yL4nF.js → lock-TSDKuCod.js} +1 -1
  106. package/web/assets/{log-out-DFwTeh2X.js → log-out-DK84lW5n.js} +1 -1
  107. package/web/assets/{main-NgUPPqDn.css → main-BiS_5wrB.css} +1 -1
  108. package/web/assets/main-D7CEGndC.js +20 -0
  109. package/web/assets/markdownEditorSurface-DISu_twy.js +3 -0
  110. package/web/assets/{message-square-plus-CEHkduIL.js → message-square-plus-3wFslIMY.js} +1 -1
  111. package/web/assets/{messages-CBtmbpur.js → messages-DEAGRsC3.js} +1 -1
  112. package/web/assets/minus-BBdfT_sc.js +1 -0
  113. package/web/assets/mobileEntry-5UaAITwY.js +13 -0
  114. package/web/assets/{nativeDownload-CziEyW_p.js → nativeDownload-B3JGkABw.js} +1 -1
  115. package/web/assets/pageChrome-BDHHmRnt.css +1 -0
  116. package/web/assets/{pageChrome-DFz_AAzZ.js → pageChrome-DFi9zs6F.js} +1 -1
  117. package/web/assets/{pageTree-yVO1_fSy.js → pageTree-DZ7Eiro-.js} +4 -4
  118. package/web/assets/{pen-tool-uxsFELYC.js → pen-tool-ChGmX6g_.js} +1 -1
  119. package/web/assets/{pencil-BSbra1Ra.js → pencil-CJsJD7M_.js} +1 -1
  120. package/web/assets/phoneList-DrxIwJxQ.js +9 -0
  121. package/web/assets/phoneList-DvpzD3zT.css +1 -0
  122. package/web/assets/pluginChat-0QI9a8Q1.js +2 -0
  123. package/web/assets/{redo-2-BK5LMNa5.js → redo-2-CI57sDFr.js} +1 -1
  124. package/web/assets/{rotate-ccw-HedfU4na.js → rotate-ccw-xgT_0UN9.js} +1 -1
  125. package/web/assets/{sharePage-CpzDpuU1.js → sharePage-C2Yqx0NQ.js} +2 -2
  126. package/web/assets/{shareViewer-BwzH2bIs.js → shareViewer-DKPWhTJv.js} +2 -2
  127. package/web/assets/{star-CgYon3z4.js → star-C9KTji9N.js} +1 -1
  128. package/web/assets/tableSurface-cYs6dX6B.js +1 -0
  129. package/web/assets/{terminal-krsPf1mc.js → terminal-DPZazOQ2.js} +1 -1
  130. package/web/assets/{terminalView-4e2_u5_I.js → terminalView-CsJmxE_m.js} +1 -1
  131. package/web/assets/{theme-C6D3tMGV.css → theme-Dgqst5S9.css} +1 -1
  132. package/web/assets/{type-GJYLEhY-.js → type-C5J875vb.js} +1 -1
  133. package/web/assets/{undo-2-DCTs4Ro4.js → undo-2-BOUt5qks.js} +1 -1
  134. package/web/assets/{unitAccount-D3xjX3cu.js → unitAccount-BIAIxKNp.js} +1 -1
  135. package/web/assets/unitBridge-b2C6zb3a.js +1 -0
  136. package/web/assets/{unitCloudTransport-B44L3x6M.js → unitCloudTransport-NGtDDKWo.js} +1 -1
  137. package/web/assets/{unitOwnerAccess-CRUHWGpf.js → unitOwnerAccess-CwH9ApZT.js} +1 -1
  138. package/web/assets/{unitShim-_VzxvdEG.js → unitShim-CY8EVkKD.js} +3 -3
  139. package/web/assets/{upload-MVVRQtkj.js → upload-CrbEAW8C.js} +1 -1
  140. package/web/assets/userSpaces-B_Njvel_.js +1 -0
  141. package/web/assets/viewportLock-Bi3orrUs.css +1 -0
  142. package/web/assets/viewportLock-DZ927PNz.js +629 -0
  143. package/web/assets/{workflow-DzeW9OXR.js → workflow-DY2Cnaei.js} +1 -1
  144. package/web/assets/{zoom-in-CovPsw4g.js → zoom-in-BcuPvIYd.js} +1 -1
  145. package/web/index.html +28 -11
  146. package/web/assets/CalendarConfigView-BJtG6cqN.js +0 -1
  147. package/web/assets/CalendarView-C-FX1RED.js +0 -1
  148. package/web/assets/DashboardGridView-Ck3LKkOb.css +0 -1
  149. package/web/assets/DashboardGridView-MlO1dpuo.js +0 -17
  150. package/web/assets/ExcalidrawCanvas-D9vkBh_5.js +0 -1
  151. package/web/assets/HomepageView-BNabJQfP.css +0 -1
  152. package/web/assets/HomepageView-Trqmd3RV.js +0 -1
  153. package/web/assets/ImageStudioPanels-BfCVTnKC.js +0 -3
  154. package/web/assets/InlineFiles-BHwivGbQ.js +0 -1
  155. package/web/assets/MarkdownBlock-D8LgHFYY.js +0 -58
  156. package/web/assets/ModelPill-DrW2cG0l.js +0 -2
  157. package/web/assets/MuseLibraryView-CW78Uivf.js +0 -2
  158. package/web/assets/RunLocationPicker-BE5mxnab.css +0 -1
  159. package/web/assets/RunLocationPicker-CyVa0RJa.js +0 -38
  160. package/web/assets/SidebarRow-CsWEqPKX.css +0 -1
  161. package/web/assets/SidebarRow-D77yrSLf.js +0 -9
  162. package/web/assets/TodoListView-C3ZkMIIf.js +0 -1
  163. package/web/assets/UnifiedPage-C75y-MKT.js +0 -68
  164. package/web/assets/appStore-BC_CQv-L.css +0 -1
  165. package/web/assets/codingNavigation-CZB4v1ZW.css +0 -1
  166. package/web/assets/codingNavigation-CjeWG4xm.js +0 -47
  167. package/web/assets/dashboardSurface-Cojgf_-U.js +0 -1
  168. package/web/assets/foldActions-Dm-uAt3L.js +0 -1
  169. package/web/assets/i18n-ecQQxiMQ.css +0 -1
  170. package/web/assets/index-Bh_nLVTc.js +0 -298
  171. package/web/assets/linkFollow-C6PHGUxk.js +0 -8
  172. package/web/assets/main-CwqZ_ymb.js +0 -19
  173. package/web/assets/markdownEditorSurface-e_oMhqx-.js +0 -3
  174. package/web/assets/mdMarkStore-DjN4bf1T.js +0 -2
  175. package/web/assets/mdMarks-cmL6vzR-.js +0 -1
  176. package/web/assets/minus-BUT48dAC.js +0 -1
  177. package/web/assets/mobileEntry-qR7BAROr.js +0 -13
  178. package/web/assets/pageChrome-CovzZPdb.css +0 -1
  179. package/web/assets/pluginChat-BMFnf_j2.js +0 -2
  180. package/web/assets/tableSurface-CmDwnKnd.js +0 -1
  181. package/web/assets/unitBridge-D5JcIkAP.js +0 -1
  182. package/web/assets/userSpaces-CI4eqEgh.js +0 -1
  183. package/web/assets/viewportLock-BH26xHQO.js +0 -611
  184. package/web/assets/viewportLock-IP1zaVkz.css +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./unitAccount-D3xjX3cu.js","./index-Bh_nLVTc.js","./unitOwnerAccess-CRUHWGpf.js","./unitCloudTransport-B44L3x6M.js","./unitBridge-D5JcIkAP.js","./ipc-CPhL3bPp.js","./nativeDownload-CziEyW_p.js"])))=>i.map(i=>d[i]);
2
- import{_ as y}from"./index-Bh_nLVTc.js";const r=()=>new URL(".",document.baseURI);async function R(o){const c=document.createElement("div");c.setAttribute("style","position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#f7f6f4;font-family:system-ui;z-index:99999");const l=document.createElement("div");l.setAttribute("style","max-width:380px;padding:32px;border-radius:16px;background:#fff;box-shadow:0 8px 40px rgba(0,0,0,.08);text-align:center"),c.appendChild(l),document.body.appendChild(c);const d=n=>{l.innerHTML=n},s=n=>n.replace(/[&<>"]/g,i=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[i]);try{for(;;){d(`<h3 style="margin:0 0 8px">连接「${s(o.name)}」</h3><p style="color:#777;font-size:13px">正在请求配对…</p>`);let n=null;try{const i=await fetch(new URL("unit/pair/request",r()),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"来访设备"})});if(i.status===429){d('<h3 style="margin:0 0 8px">稍等一下</h3><p style="color:#777;font-size:13px">对方还有一个待确认的配对请求,请稍后重试。</p><button id="up-retry" style="margin-top:12px;padding:8px 20px;border-radius:999px;border:1px solid #ddd;background:#fff;cursor:pointer">重试</button>'),await new Promise(a=>{l.querySelector("#up-retry")?.addEventListener("click",()=>a())});continue}n=await i.json()}catch{}if(!n?.requestId||!n.code){d('<h3 style="margin:0 0 8px">连接失败</h3><p style="color:#777;font-size:13px">联系不上对方设备,确认它开着 Forsion 并启用了互联。</p><button id="up-retry" style="margin-top:12px;padding:8px 20px;border-radius:999px;border:1px solid #ddd;background:#fff;cursor:pointer">重试</button>'),await new Promise(i=>{l.querySelector("#up-retry")?.addEventListener("click",()=>i())});continue}for(d(`<h3 style="margin:0 0 8px">在「${s(o.name)}」上确认</h3>
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./unitAccount-BIAIxKNp.js","./index-B5UW6SaE.js","./unitOwnerAccess-CwH9ApZT.js","./unitCloudTransport-NGtDDKWo.js","./unitBridge-b2C6zb3a.js","./ipc-CNlIRMtU.js","./nativeDownload-B3JGkABw.js"])))=>i.map(i=>d[i]);
2
+ import{_ as y}from"./index-B5UW6SaE.js";const r=()=>new URL(".",document.baseURI);async function R(o){const c=document.createElement("div");c.setAttribute("style","position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#f7f6f4;font-family:system-ui;z-index:99999");const l=document.createElement("div");l.setAttribute("style","max-width:380px;padding:32px;border-radius:16px;background:#fff;box-shadow:0 8px 40px rgba(0,0,0,.08);text-align:center"),c.appendChild(l),document.body.appendChild(c);const d=n=>{l.innerHTML=n},s=n=>n.replace(/[&<>"]/g,i=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[i]);try{for(;;){d(`<h3 style="margin:0 0 8px">连接「${s(o.name)}」</h3><p style="color:#777;font-size:13px">正在请求配对…</p>`);let n=null;try{const i=await fetch(new URL("unit/pair/request",r()),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"来访设备"})});if(i.status===429){d('<h3 style="margin:0 0 8px">稍等一下</h3><p style="color:#777;font-size:13px">对方还有一个待确认的配对请求,请稍后重试。</p><button id="up-retry" style="margin-top:12px;padding:8px 20px;border-radius:999px;border:1px solid #ddd;background:#fff;cursor:pointer">重试</button>'),await new Promise(a=>{l.querySelector("#up-retry")?.addEventListener("click",()=>a())});continue}n=await i.json()}catch{}if(!n?.requestId||!n.code){d('<h3 style="margin:0 0 8px">连接失败</h3><p style="color:#777;font-size:13px">联系不上对方设备,确认它开着 Forsion 并启用了互联。</p><button id="up-retry" style="margin-top:12px;padding:8px 20px;border-radius:999px;border:1px solid #ddd;background:#fff;cursor:pointer">重试</button>'),await new Promise(i=>{l.querySelector("#up-retry")?.addEventListener("click",()=>i())});continue}for(d(`<h3 style="margin:0 0 8px">在「${s(o.name)}」上确认</h3>
3
3
  <p style="color:#777;font-size:13px">对方屏幕会弹出同一组配对码,核对一致后点「允许」:</p>
4
4
  <div style="font-size:34px;letter-spacing:8px;font-weight:700;margin:16px 0">${s(n.code)}</div>
5
- <p style="color:#aaa;font-size:12px">等待对方确认…(2 分钟内有效)</p>`);;){await new Promise(a=>setTimeout(a,1500));let i={};try{i=await(await fetch(new URL(`unit/pair/poll?id=${n.requestId}`,r()))).json()}catch{}if(i.status==="approved"&&i.token)return i.token;if(i.status==="denied"||i.status==="expired"){d(`<h3 style="margin:0 0 8px">${i.status==="denied"?"对方拒绝了连接":"配对超时"}</h3><button id="up-retry" style="margin-top:12px;padding:8px 20px;border-radius:999px;border:1px solid #ddd;background:#fff;cursor:pointer">重新配对</button>`),await new Promise(a=>{l.querySelector("#up-retry")?.addEventListener("click",()=>a())});break}}}}finally{c.remove()}}async function L(){const o=window.__FORSION_UNIT_PAGE__;if(!o)return!1;const c=o.projection==="local",l=c?`unit_owner_${o.instanceId}`:`unit_pair_${o.instanceId}`;let d;try{d=c?sessionStorage:localStorage}catch{}const s=o.projection==="public",n=s&&o.account?await(await y(async()=>{const{installUnitAccount:t}=await import("./unitAccount-D3xjX3cu.js");return{installUnitAccount:t}},__vite__mapDeps([0,1]),import.meta.url)).installUnitAccount({...o,account:o.account},r()):null,i=s&&!!(o.capabilities?.amadeus||o.capabilities?.tangu);if(i&&!n)throw new Error("Cloud services require the Unit account provider");if(i&&!n.account.getIdentity())return await n.login(),!1;let a="";try{a=d?.getItem(l)||""}catch{}c&&location.hash.startsWith("#unit-owner=")&&(a=new URLSearchParams(location.hash.slice(1)).get("unit-owner")||"",history.replaceState(null,"",location.pathname+location.search));const m=await fetch(new URL("unit/whoami",r()),{headers:a?{Authorization:`Bearer ${a}`}:void 0}).catch(()=>null);if(s&&!m?.ok)throw new Error("Unit projection is unavailable");if(!s&&(!m||m.status===401)){const t=c?await(await y(async()=>{const{ownerAccess:e}=await import("./unitOwnerAccess-CRUHWGpf.js");return{ownerAccess:e}},__vite__mapDeps([2,1]),import.meta.url)).ownerAccess(o.name,r()):await R(o);if(!t)return!1;a=t;try{d?.setItem(l,a)}catch{}}if(c&&a)try{d?.setItem(l,a)}catch{}a||(a="tunnel"),window.__FORSION_UNIT_TOKEN__=a;const p=a,b=n?{read:async t=>{if(!n.account.getIdentity())return null;const e=await n.request(`unit/plugin-data/${encodeURIComponent(t)}`);if(!e.ok)throw new Error(`Plugin data HTTP ${e.status}`);return(await e.json()).data},write:async(t,e)=>{if(!n.account.getIdentity())throw new Error("Sign in to save plugin data");const f=await n.request(`unit/plugin-data/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:e})});if(!f.ok)throw new Error(`Plugin data HTTP ${f.status}`);await f.json()}}:void 0,g=i?(await y(async()=>{const{installUnitCloudTransport:t}=await import("./unitCloudTransport-B44L3x6M.js");return{installUnitCloudTransport:t}},__vite__mapDeps([3,1]),import.meta.url)).installUnitCloudTransport({capabilities:o.capabilities,accountApiBase:o.account.apiBase,projectionBase:r().href,visitor:n,pluginData:b}):null;if(g?.amadeus)window.amadeus=g.amadeus;else{const{createUnitAmadeusBridge:t}=await y(async()=>{const{createUnitAmadeusBridge:e}=await import("./unitBridge-D5JcIkAP.js");return{createUnitAmadeusBridge:e}},__vite__mapDeps([4,1,5]),import.meta.url);window.amadeus=await t({base:r().href,browserStorage:s||c&&!o.localCapabilities?.vault?n?.scope||o.instanceId:void 0,pluginData:b,getToken:()=>p,onAuthError:()=>{try{d?.removeItem(l)}catch{}location.reload()}})}const x=new URL("engine",r()).href,U=g?.config??{mode:"external",backendUrl:x,token:s?"":a,cloudUrl:"",cloudApiBase:"",sandbox:"none"},w=()=>p&&p!=="tunnel"?{Authorization:`Bearer ${p}`}:void 0;let u={};const _=async()=>{if(n){if(!n.account.getIdentity()){u={};return}const e=await n.request("unit/config");if(!e.ok)throw new Error(`Preferences HTTP ${e.status}`);u=(await e.json()).config||{};return}if(s){u=JSON.parse(sessionStorage.getItem(`unit:${o.instanceId}:preferences`)||"{}");return}const t=await fetch(new URL("unit/config",r()),{headers:w()});t.ok&&(u=(await t.json()).config||{})};try{await _()}catch{}const h=()=>({modelId:"",...u,...U}),v=window;return v.tangu={unitPage:!0,remoteCaller:!c,hostFiles:!s,executionCapabilities:{host:c?!!o.localCapabilities?.host:!s},...g?{cloudWeb:!0}:{},initialConfig:h(),...n?{account:n.capability,forsionLogin:n.login,forsionLogout:async()=>(await n.account.logout(),{ok:!0}),onAuthChanged:n.capability.subscribe,onAuthWillChange:n.onAuthWillChange}:{},...c?{backendStatus:async()=>{const t=await fetch(new URL("unit/meta",r()));if(!t.ok)throw new Error("Unit status unavailable");const e=await t.json();return{state:e.localCapabilities?.engine?"ready":"stopped",url:e.localCapabilities?.engine?x:null,pid:null,lastError:null}}}:{},appVersion:async()=>o.version,platform:void 0,getConfig:async()=>{try{await _()}catch{}return h()},setConfig:async t=>{if(n){if(!n.account.getIdentity())return h();const e=await n.request("unit/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!e.ok)throw new Error(`Preferences HTTP ${e.status}`);return u=(await e.json()).config||{},h()}if(s)return u={...u,...t},sessionStorage.setItem(`unit:${o.instanceId}:preferences`,JSON.stringify(u)),h();try{const e=await fetch(new URL("unit/config",r()),{method:"PUT",headers:{"Content-Type":"application/json",...w()||{}},body:JSON.stringify(t||{})});e.ok&&(u=(await e.json()).config||u)}catch{u={...u,...t}}return h()},authStatus:n?.account.authStatus||(async()=>({loggedIn:!1,cloudUrl:"",username:o.name,nickname:o.name,tokenSource:null})),...s?{}:{listProviders:async()=>{const t=await fetch(new URL("unit/providers",r()),{headers:w()});if(!t.ok)throw new Error(`unit providers HTTP ${t.status}`);return(await t.json()).providers||[]},readHostFile:async t=>{const e=await fetch(new URL(`unit/hostfile?path=${encodeURIComponent(t)}`,r()),{headers:w()});if(!e.ok)throw new Error(`hostfile HTTP ${e.status}`);return e.json()},downloadHostFile:async(t,e)=>{const f=await fetch(new URL(`unit/hostfile/download?path=${encodeURIComponent(t)}`,r()),{headers:w()}),{hostDownloadError:k,saveResponseAs:I}=await y(async()=>{const{hostDownloadError:T,saveResponseAs:E}=await import("./nativeDownload-CziEyW_p.js").then(P=>P.b);return{hostDownloadError:T,saveResponseAs:E}},__vite__mapDeps([6,1]),import.meta.url);if(!f.ok)throw await k(f);await I(e,f)},listDir:async t=>{try{const e=await fetch(new URL(`unit/hostdir?path=${encodeURIComponent(t)}`,r()),{headers:w()});return e.ok?(await e.json()).entries||[]:[]}catch{return[]}},statPath:async t=>{try{const e=await fetch(new URL(`unit/hoststat?path=${encodeURIComponent(t)}`,r()),{headers:w()});return e.ok?e.json():null}catch{return null}}},spacesList:async()=>{const t=await fetch(new URL("unit/spaces",r()),{headers:p&&p!=="tunnel"?{Authorization:`Bearer ${p}`}:void 0});if(!t.ok)throw new Error(`unit spaces HTTP ${t.status}`);return(await t.json()).spaces||[]}},document.title=`${o.name} · Forsion`,!0}export{L as installUnitShim};
5
+ <p style="color:#aaa;font-size:12px">等待对方确认…(2 分钟内有效)</p>`);;){await new Promise(a=>setTimeout(a,1500));let i={};try{i=await(await fetch(new URL(`unit/pair/poll?id=${n.requestId}`,r()))).json()}catch{}if(i.status==="approved"&&i.token)return i.token;if(i.status==="denied"||i.status==="expired"){d(`<h3 style="margin:0 0 8px">${i.status==="denied"?"对方拒绝了连接":"配对超时"}</h3><button id="up-retry" style="margin-top:12px;padding:8px 20px;border-radius:999px;border:1px solid #ddd;background:#fff;cursor:pointer">重新配对</button>`),await new Promise(a=>{l.querySelector("#up-retry")?.addEventListener("click",()=>a())});break}}}}finally{c.remove()}}async function L(){const o=window.__FORSION_UNIT_PAGE__;if(!o)return!1;const c=o.projection==="local",l=c?`unit_owner_${o.instanceId}`:`unit_pair_${o.instanceId}`;let d;try{d=c?sessionStorage:localStorage}catch{}const s=o.projection==="public",n=s&&o.account?await(await y(async()=>{const{installUnitAccount:t}=await import("./unitAccount-BIAIxKNp.js");return{installUnitAccount:t}},__vite__mapDeps([0,1]),import.meta.url)).installUnitAccount({...o,account:o.account},r()):null,i=s&&!!(o.capabilities?.amadeus||o.capabilities?.tangu);if(i&&!n)throw new Error("Cloud services require the Unit account provider");if(i&&!n.account.getIdentity())return await n.login(),!1;let a="";try{a=d?.getItem(l)||""}catch{}c&&location.hash.startsWith("#unit-owner=")&&(a=new URLSearchParams(location.hash.slice(1)).get("unit-owner")||"",history.replaceState(null,"",location.pathname+location.search));const m=await fetch(new URL("unit/whoami",r()),{headers:a?{Authorization:`Bearer ${a}`}:void 0}).catch(()=>null);if(s&&!m?.ok)throw new Error("Unit projection is unavailable");if(!s&&(!m||m.status===401)){const t=c?await(await y(async()=>{const{ownerAccess:e}=await import("./unitOwnerAccess-CwH9ApZT.js");return{ownerAccess:e}},__vite__mapDeps([2,1]),import.meta.url)).ownerAccess(o.name,r()):await R(o);if(!t)return!1;a=t;try{d?.setItem(l,a)}catch{}}if(c&&a)try{d?.setItem(l,a)}catch{}a||(a="tunnel"),window.__FORSION_UNIT_TOKEN__=a;const p=a,b=n?{read:async t=>{if(!n.account.getIdentity())return null;const e=await n.request(`unit/plugin-data/${encodeURIComponent(t)}`);if(!e.ok)throw new Error(`Plugin data HTTP ${e.status}`);return(await e.json()).data},write:async(t,e)=>{if(!n.account.getIdentity())throw new Error("Sign in to save plugin data");const f=await n.request(`unit/plugin-data/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:e})});if(!f.ok)throw new Error(`Plugin data HTTP ${f.status}`);await f.json()}}:void 0,g=i?(await y(async()=>{const{installUnitCloudTransport:t}=await import("./unitCloudTransport-NGtDDKWo.js");return{installUnitCloudTransport:t}},__vite__mapDeps([3,1]),import.meta.url)).installUnitCloudTransport({capabilities:o.capabilities,accountApiBase:o.account.apiBase,projectionBase:r().href,visitor:n,pluginData:b}):null;if(g?.amadeus)window.amadeus=g.amadeus;else{const{createUnitAmadeusBridge:t}=await y(async()=>{const{createUnitAmadeusBridge:e}=await import("./unitBridge-b2C6zb3a.js");return{createUnitAmadeusBridge:e}},__vite__mapDeps([4,1,5]),import.meta.url);window.amadeus=await t({base:r().href,browserStorage:s||c&&!o.localCapabilities?.vault?n?.scope||o.instanceId:void 0,pluginData:b,getToken:()=>p,onAuthError:()=>{try{d?.removeItem(l)}catch{}location.reload()}})}const x=new URL("engine",r()).href,U=g?.config??{mode:"external",backendUrl:x,token:s?"":a,cloudUrl:"",cloudApiBase:"",sandbox:"none"},w=()=>p&&p!=="tunnel"?{Authorization:`Bearer ${p}`}:void 0;let u={};const _=async()=>{if(n){if(!n.account.getIdentity()){u={};return}const e=await n.request("unit/config");if(!e.ok)throw new Error(`Preferences HTTP ${e.status}`);u=(await e.json()).config||{};return}if(s){u=JSON.parse(sessionStorage.getItem(`unit:${o.instanceId}:preferences`)||"{}");return}const t=await fetch(new URL("unit/config",r()),{headers:w()});t.ok&&(u=(await t.json()).config||{})};try{await _()}catch{}const h=()=>({modelId:"",...u,...U}),v=window;return v.tangu={unitPage:!0,remoteCaller:!c,hostFiles:!s,executionCapabilities:{host:c?!!o.localCapabilities?.host:!s},...g?{cloudWeb:!0}:{},initialConfig:h(),...n?{account:n.capability,forsionLogin:n.login,forsionLogout:async()=>(await n.account.logout(),{ok:!0}),onAuthChanged:n.capability.subscribe,onAuthWillChange:n.onAuthWillChange}:{},...c?{backendStatus:async()=>{const t=await fetch(new URL("unit/meta",r()));if(!t.ok)throw new Error("Unit status unavailable");const e=await t.json();return{state:e.localCapabilities?.engine?"ready":"stopped",url:e.localCapabilities?.engine?x:null,pid:null,lastError:null}}}:{},appVersion:async()=>o.version,platform:void 0,getConfig:async()=>{try{await _()}catch{}return h()},setConfig:async t=>{if(n){if(!n.account.getIdentity())return h();const e=await n.request("unit/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!e.ok)throw new Error(`Preferences HTTP ${e.status}`);return u=(await e.json()).config||{},h()}if(s)return u={...u,...t},sessionStorage.setItem(`unit:${o.instanceId}:preferences`,JSON.stringify(u)),h();try{const e=await fetch(new URL("unit/config",r()),{method:"PUT",headers:{"Content-Type":"application/json",...w()||{}},body:JSON.stringify(t||{})});e.ok&&(u=(await e.json()).config||u)}catch{u={...u,...t}}return h()},authStatus:n?.account.authStatus||(async()=>({loggedIn:!1,cloudUrl:"",username:o.name,nickname:o.name,tokenSource:null})),...s?{}:{listProviders:async()=>{const t=await fetch(new URL("unit/providers",r()),{headers:w()});if(!t.ok)throw new Error(`unit providers HTTP ${t.status}`);return(await t.json()).providers||[]},readHostFile:async t=>{const e=await fetch(new URL(`unit/hostfile?path=${encodeURIComponent(t)}`,r()),{headers:w()});if(!e.ok)throw new Error(`hostfile HTTP ${e.status}`);return e.json()},downloadHostFile:async(t,e)=>{const f=await fetch(new URL(`unit/hostfile/download?path=${encodeURIComponent(t)}`,r()),{headers:w()}),{hostDownloadError:k,saveResponseAs:I}=await y(async()=>{const{hostDownloadError:T,saveResponseAs:E}=await import("./nativeDownload-B3JGkABw.js").then(P=>P.b);return{hostDownloadError:T,saveResponseAs:E}},__vite__mapDeps([6,1]),import.meta.url);if(!f.ok)throw await k(f);await I(e,f)},listDir:async t=>{try{const e=await fetch(new URL(`unit/hostdir?path=${encodeURIComponent(t)}`,r()),{headers:w()});return e.ok?(await e.json()).entries||[]:[]}catch{return[]}},statPath:async t=>{try{const e=await fetch(new URL(`unit/hoststat?path=${encodeURIComponent(t)}`,r()),{headers:w()});return e.ok?e.json():null}catch{return null}}},spacesList:async()=>{const t=await fetch(new URL("unit/spaces",r()),{headers:p&&p!=="tunnel"?{Authorization:`Bearer ${p}`}:void 0});if(!t.ok)throw new Error(`unit spaces HTTP ${t.status}`);return(await t.json()).spaces||[]}},document.title=`${o.name} · Forsion`,!0}export{L as installUnitShim};
@@ -1 +1 @@
1
- import{F as a}from"./appStore-B1ynyt42.js";const o=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],t=a("upload",o);export{t as U};
1
+ import{G as a}from"./appStore-CidPWYa0.js";const o=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],t=a("upload",o);export{t as U};
@@ -0,0 +1 @@
1
+ import{b as re,r as Q,j as y,d as le,u as nt,K as it}from"./index-B5UW6SaE.js";import{G as k,oA as ot,oB as st,oC as rt,oD as lt,a6 as m,d4 as v,m as ct,a as q,oE as V,bq as dt,ai as ft,af as ce,ap as Ae,aK as ut,de as b,oF as gt,I as _e,oG as pt,J as Ie,U as ht,oH as mt,oI as yt,oJ as St,oK as vt,oL as M,g as xe,oM as kt,j1 as Pt,oN as bt,oO as wt,it as zt,q as ee,u as Me,oP as te,a$ as De,b2 as H,oQ as de,oR as I,oS as E,oT as At,cO as Ce,f8 as Ee,ab as L,cZ as _t,d0 as It,oU as Oe,oV as Te,ay as xt,oW as Mt,aD as fe,b9 as Dt,oX as Ct,oY as Et,cW as Ot,oZ as Tt,aI as Ve,j3 as Vt,ba as ae,N as Lt,Z as Nt,X as jt,a3 as $t,a4 as Ut,_ as Rt,a5 as Ft,V as Ht,gQ as Wt,o_ as Bt,aC as Gt,o$ as qt}from"./appStore-CidPWYa0.js";import"./client-CPUljePZ.js";import{A as Le}from"./automationListSource-1aOVKBLw.js";import{C as Kt}from"./code-xml-n9mgGgkv.js";import{W as Jt}from"./workflow-DY2Cnaei.js";import{L as Xt}from"./list-tree-i07HsP3D.js";import{L as Yt}from"./layout-grid-DFmwM9NU.js";import{T as Zt}from"./terminal-DPZazOQ2.js";import{S as Qt}from"./star-C9KTji9N.js";import{F as ea}from"./folder-CoOsfQ64.js";import{B as ta}from"./book-open-CBeNsIpo.js";const aa=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]],Ne=k("boxes",aa);const na=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],ia=k("briefcase",na);const oa=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],sa=k("code",oa);const ra=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],la=k("heart",ra);const ca=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],da=k("mail",ca);const fa=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],ua=k("music",fa);const ga=[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M9.5 8h5",key:"11mslq"}],["path",{d:"M9.5 12H16",key:"ktog6x"}],["path",{d:"M9.5 16H14",key:"p1seyn"}]],je=k("notebook-text",ga);const pa=[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]],ha=k("rocket",pa);const ma=[["path",{d:"m10.852 14.772-.383.923",key:"11vil6"}],["path",{d:"M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923",key:"1v3clb"}],["path",{d:"m13.148 9.228.383-.923",key:"t2zzyc"}],["path",{d:"m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544",key:"1bxfiv"}],["path",{d:"m14.772 10.852.923-.383",key:"k9m8cz"}],["path",{d:"m14.772 13.148.923.383",key:"1xvhww"}],["path",{d:"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5",key:"tn8das"}],["path",{d:"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5",key:"1g2pve"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M6 6h.01",key:"1utrut"}],["path",{d:"m9.228 10.852-.923-.383",key:"1wtb30"}],["path",{d:"m9.228 13.148-.923.383",key:"1a830x"}]],ya=k("server-cog",ma);const Sa=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],va=k("server",Sa);const ka=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],Pa=k("target",ka);const ba=[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]],wa=k("video",ba),ue=["right","left","full","main"],$e=/^[a-z0-9][a-z0-9-]{0,63}$/;function za(e,t){const n=e.replace(/^v/i,"").split("."),a=t.replace(/^v/i,"").split(".");for(let o=0;o<Math.max(n.length,a.length);o++){const s=parseInt(n[o]??"0",10)||0,i=parseInt(a[o]??"0",10)||0;if(s!==i)return s<i?-1:1}return 0}function _(e,t){if(e===void 0)return[];if(!Array.isArray(e))return`layout.${t} 必须是数组`;const n=[];for(const a of e){if(!a||typeof a!="object"||typeof a.type!="string"||!a.type)return`layout.${t} 的条目必须是 { type: string }`;const o=a.params;if(o!==void 0&&(typeof o!="object"||o===null||Array.isArray(o)))return`layout.${t} 的 params 必须是对象`;const s=a.split,i=a.splitFrom;if(s!==void 0&&s!=="right"&&s!=="down")return`layout.${t} 的 split 必须是 right 或 down`;if(i!==void 0&&(t!=="main"||!s||!Number.isInteger(i)||i<0||i>=n.length))return`layout.${t} 的 splitFrom 必须指向此前的 main 条目(从 0 开始),且同时声明 split`;const d=a.pinned;if(d!==void 0&&(typeof d!="boolean"||d&&t==="bottom"))return`layout.${t} 的 pinned 必须是布尔值,且底部面板不支持固定`;n.push({type:a.type,...o?{params:o}:{},...s?{split:s}:{},...i!==void 0?{splitFrom:i}:{},...d?{pinned:!0}:{}})}return n}function Aa(e){return e.map((t,n)=>n===0?{panel:t,mode:"first"}:t.split?{panel:t,mode:"split",direction:t.split,from:t.splitFrom??n-1}:{panel:t,mode:"tab"})}function _a(e,t){let n;try{n=JSON.parse(e)}catch{return{ok:!1,error:"space.json 不是合法 JSON"}}if(!n||typeof n!="object")return{ok:!1,error:"space.json 必须是对象"};const a=n,o=a.id;if(typeof o!="string"||!$e.test(o))return{ok:!1,error:"id 必须是 kebab-case(a-z0-9-)"};if(t.reservedIds.includes(o))return{ok:!1,error:`id "${o}" 是内置 Space 保留名`};const s=a.name;if(!(typeof s=="string"&&s.trim()||!!s&&typeof s=="object"&&!Array.isArray(s)&&(typeof s.zh=="string"||typeof s.en=="string")))return{ok:!1,error:"name 必须是非空字符串或 {zh?,en?}"};if(a.icon!==void 0&&typeof a.icon!="string")return{ok:!1,error:"icon 必须是字符串"};if(a.minAppVersion!==void 0&&typeof a.minAppVersion!="string")return{ok:!1,error:"minAppVersion 必须是字符串"};if(typeof a.minAppVersion=="string"&&t.appVersion&&za(t.appVersion,a.minAppVersion)<0)return{ok:!1,error:`需要应用版本 ≥ ${a.minAppVersion}(当前 ${t.appVersion})`,code:"min-app-version",id:o,name:s,need:a.minAppVersion};if(!a.layout||typeof a.layout!="object")return{ok:!1,error:"缺少 layout"};const d=a.layout,l=_(d.main,"main"),c=_(d.left,"left"),u=_(d.right,"right"),h=_(d.bottom,"bottom");for(const p of[l,c,u,h])if(typeof p=="string")return{ok:!1,error:p};if(!l.length)return{ok:!1,error:"layout.main 至少要有一个视图"};if(l[0].split)return{ok:!1,error:"layout.main 第一项不能声明 split"};if([c,u,h].some(p=>p.some(A=>A.split)))return{ok:!1,error:"split 只适用于 layout.main"};if(d.bottomSpan!==void 0&&!ue.includes(d.bottomSpan))return{ok:!1,error:`layout.bottomSpan 必须是 ${ue.join(" / ")} 之一`};let P;if(a.mini!==void 0){if(!a.mini||typeof a.mini!="object"||Array.isArray(a.mini))return{ok:!1,error:"mini 必须是 {view, mainView} 对象"};const p=a.mini,A=_([p.view],"mini.view"),N=_([p.mainView],"mini.mainView");if(typeof A=="string")return{ok:!1,error:A};if(typeof N=="string")return{ok:!1,error:N};if(A[0].type===N[0].type)return{ok:!1,error:"mini.view 必须单独适配,不能复用 mainView 的视图类型"};if(p.name!==void 0&&!(typeof p.name=="string"&&p.name.trim())&&!(p.name&&typeof p.name=="object"&&!Array.isArray(p.name)&&Object.values(p.name).some(se=>typeof se=="string"&&se.trim())))return{ok:!1,error:"mini.name 必须是名称或双语对象"};P={view:A[0],mainView:N[0],name:p.name}}const r=a.requires,S=Array.isArray(r?.views)?r.views.filter(p=>typeof p=="string"):[],at=[l,c,u,h].flatMap(p=>p).map(p=>p.type).concat(S),K=[...new Set(at.filter(p=>!t.isViewRegistered(p)))];return K.length?{ok:!1,error:`引用了未注册的视图: ${K.join(", ")}(可能需要升级应用或安装对应 Space App)`,code:"missing-views",id:o,name:s,views:K}:{ok:!0,spec:{id:o,name:s,icon:typeof a.icon=="string"?a.icon:void 0,iconFile:typeof a.iconFile=="string"?a.iconFile:void 0,version:typeof a.version=="string"?a.version:void 0,mini:P,minAppVersion:typeof a.minAppVersion=="string"?a.minAppVersion:void 0,layout:{main:l,left:c,right:u,...h.length?{bottom:h}:{},...d.bottomSpan?{bottomSpan:d.bottomSpan}:{}},requires:S.length?{views:S}:void 0}}}function Ue(e){const t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48);return $e.test(t)?t:"space"}function Re(e,t){if(!t.has(e))return e;for(let n=2;;n++)if(!t.has(`${e}-${n}`))return`${e}-${n}`}function Ia(e){return e==="bottom"?null:e==="left"||e==="right"?e:"main"}const Fe="plugin:inbox:messages",xa=new Set(["amadeus-editor","amadeus-drawing","dashboard","amadeus-dashboard","amadeus-db","amadeus-pdf"]);function mn(e,t,n="sessions",a){return e!=="right"&&a?a:t==="chat"?e==="right"?"files":"sessions":t&&xa.has(t)?e==="right"?"files":"notes":t==="code-studio"||e==="right"?"files":n}function yn(e,t,n){const a=t==="notes"&&!n?"files":t;return{automatic:a,active:e==="auto"?a:e}}function Sn(e,t){if(!t)return null;const n=s=>s.replace(/\\/g,"/").replace(/\/+$/,""),a=n(t);let o=null;for(const s of e){const i=s.path?n(s.path):"";!i||a!==i&&!a.startsWith(`${i}/`)||(!o||i.length>o.len)&&(o={key:s.key,len:i.length})}return o?.key??null}function ge(e){const t=structuredClone(e),n=new Set(["chat-panel","memory","subchats"]),a=t.sidebars.right.stash.filter(r=>!n.has(r.type)&&r.type!=="tangu-details");t.sidebars.right.stash=[{type:"tangu-details",params:{}},...a];const o=t.dockview;if(!o?.panels)return t;const s=Object.entries(o.panels).filter(([,r])=>r.params?.__loc==="right"&&n.has(r.params?.__type)),d=Object.entries(o.panels).find(([,r])=>r.params?.__loc==="right"&&r.params?.__type==="tangu-details")?.[0]||s[0]?.[0];if(!d)return t;const l=o.panels[d];l.params={__type:"tangu-details",__loc:"right"},l.contentComponent="tangu-details";const c=new Set(s.map(([r])=>r).filter(r=>r!==d));for(const r of c)delete o.panels[r];const u=r=>{if(!(!r||typeof r!="object")){Array.isArray(r.views)&&(r.views=r.views.filter(S=>!c.has(S)),c.has(r.activeView)&&(r.activeView=r.views[0]));for(const S of Object.values(r))Array.isArray(S)?S.forEach(u):S&&typeof S=="object"&&u(S)}};u(o.grid);const h=new Set,P=r=>{if(Array.isArray(r?.data?.views)){if(!r.data.views.length)return!1;r.data.id&&h.add(r.data.id)}return Array.isArray(r?.data)?(r.data=r.data.filter(P),r.data.length>0):!0};return P(o.grid?.root),o.activeGroup&&h.size&&!h.has(o.activeGroup)&&(o.activeGroup=[...h][0]),t}function Ma(){try{if(localStorage.getItem(re("tangu_details_layout_v1"))==="1")return;const e=ot("space:tangu");if(e&&st("space:tangu",ge(e)),(localStorage.getItem("forsion_tangu_active_space")||"tangu")==="tangu"){const t=rt();t&&lt(ge(t))}localStorage.setItem(re("tangu_details_layout_v1"),"1")}catch{}}Q({"agentProfile.title":{zh:"Tangu 详情",en:"Tangu details"},"agentProfile.space":{zh:"Agents",en:"Agents"},"agentProfile.roster":{zh:"Agent 名册",en:"Agent roster"},"agentProfile.search":{zh:"搜索 Agent",en:"Search agents"},"agentProfile.skills":{zh:"技能",en:"Skills"},"agentProfile.mcp":{zh:"MCP",en:"MCP"},"agentProfile.memory":{zh:"记忆",en:"Memory"},"agentProfile.evolution":{zh:"进化",en:"Evolution"},"agentProfile.config":{zh:"配置",en:"Settings"},"agentProfile.full":{zh:"在 Agents 中打开",en:"Open in Agents"},"agentProfile.session":{zh:"当前会话",en:"Current conversation"},"agentProfile.project":{zh:"项目",en:"Project"},"agentProfile.model":{zh:"模型",en:"Model"},"agentProfile.default":{zh:"跟随默认设置",en:"Use default settings"},"agentProfile.standby":{zh:"待命",en:"Standby"},"agentProfile.working":{zh:"工作中",en:"Working"},"agentProfile.waiting":{zh:"等待你的回应",en:"Waiting for your response"},"agentProfile.offline":{zh:"离线",en:"Offline"},"agentProfile.all":{zh:"全部可用",en:"All available"},"agentProfile.selected":{zh:"仅选中的装备",en:"Selected only"},"agentProfile.none":{zh:"尚无可用项目",en:"Nothing available yet"},"agentProfile.manageSkills":{zh:"管理技能库",en:"Manage skill library"},"agentProfile.manageMcp":{zh:"管理 MCP 连接",en:"Manage MCP connections"},"agentProfile.saved":{zh:"已保存,将在下一次运行生效",en:"Saved. Changes apply to the next run."},"agentProfile.save":{zh:"保存配置",en:"Save configuration"},"agentProfile.cancel":{zh:"放弃修改",en:"Discard changes"},"agentProfile.edit":{zh:"编辑",en:"Edit"},"agentProfile.name":{zh:"名称",en:"Name"},"agentProfile.description":{zh:"简介",en:"Description"},"agentProfile.descriptionPlaceholder":{zh:"添加简介…",en:"Add a description…"},"agentProfile.avatarChange":{zh:"更换头像",en:"Change avatar"},"agentProfile.avatarRemove":{zh:"移除头像",en:"Remove avatar"},"agentProfile.avatarHint":{zh:"PNG、JPEG、GIF 或 WebP,不超过 1 MB;头像修改会立即保存。",en:"PNG, JPEG, GIF or WebP, up to 1 MB. Avatar changes are saved immediately."},"agentProfile.avatarTooLarge":{zh:"头像不能超过 1 MB。",en:"The avatar must be no larger than 1 MB."},"agentProfile.avatarReadFailed":{zh:"读取头像失败。",en:"Could not read the avatar."},"agentProfile.avatarSaved":{zh:"头像已保存",en:"Avatar saved"},"agentProfile.avatarRemoved":{zh:"头像已移除",en:"Avatar removed"},"agentProfile.prompt":{zh:"工作指令",en:"Instructions"},"agentProfile.soul":{zh:"人格",en:"Persona"},"agentProfile.thinking":{zh:"思考档位",en:"Thinking effort"},"agentProfile.approval":{zh:"审批模式",en:"Approval mode"},"agentProfile.readonly":{zh:"只读",en:"Read only"},"agentProfile.autoEdit":{zh:"自动编辑",en:"Auto edit"},"agentProfile.fullAuto":{zh:"完全自动",en:"Full auto"},"agentProfile.custom":{zh:"自定义",en:"Custom"},"agentProfile.sharedMemory":{zh:"共用默认 Agent 的记忆",en:"Share the default agent’s memory"},"agentProfile.privateMemory":{zh:"独立记忆",en:"Private memory"},"agentProfile.scopeHint":{zh:"修改此 Agent 的默认配置,适用于独立会话与项目会话;会话自身的设置优先。",en:"Edit defaults for this agent across independent and project sessions. Session overrides take precedence."},"agentProfile.noAgent":{zh:"选择或创建一个 Agent,查看它的状态与装备。",en:"Select or create an agent to inspect its status and capabilities."},"agentProfile.create":{zh:"创建 Agent",en:"Create agent"},"agentProfile.createHint":{zh:"先写下它的用途和工作指令,创建后可以在档案里继续完善能力。",en:"Give this agent a purpose and instructions. You can refine its capabilities in the profile."},"agentProfile.createInstructionsPlaceholder":{zh:"描述它如何协助你、做事时应遵守什么原则…",en:"Describe how it should help and the principles it should follow…"},"agentProfile.isDefault":{zh:"默认 Agent",en:"Default agent"},"agentProfile.actionsFor":{zh:"{name} 的操作",en:"Actions for {name}"},"agentProfile.reorder":{zh:"调整顺序",en:"Reorder"},"agentProfile.moveUp":{zh:"上移",en:"Move up"},"agentProfile.moveDown":{zh:"下移",en:"Move down"},"agentProfile.makeDefault":{zh:"设为默认",en:"Set as default"},"agentProfile.delete":{zh:"删除 Agent",en:"Delete agent"},"agentProfile.backToCurrent":{zh:"回到当前会话",en:"Back to current session"},"agentProfile.deleteFailed":{zh:"无法删除此 Agent。请检查它是否仍在运行或被设为默认。",en:"Could not delete this agent. Check whether it is running or set as default."},"agentProfile.team":{zh:"团队",en:"Team"},"agentProfile.context":{zh:"上下文",en:"Context"},"agentProfile.maxIterations":{zh:"最大运行轮数",en:"Maximum iterations"},"agentProfile.tools":{zh:"内置工具",en:"Built-in tools"},"agentProfile.denyTools":{zh:"禁用选中的工具",en:"Disable selected tools"},"agentProfile.allowTools":{zh:"仅允许选中的工具",en:"Allow selected tools only"},"agentProfile.activityAccess":{zh:"允许读取活动日志",en:"Allow activity log access"},"agentProfile.cloudSync":{zh:"跨设备同步此 Agent",en:"Sync this agent across devices"},"agentProfile.teamContext":{zh:"成员各自保留独立上下文,可在 Pin Summary 中打开子会话继续交流。",en:"Members retain their own context. Open a member in Pin Summary to continue its conversation."},"agentProfile.library":{zh:"记忆、日志与资料库",en:"Memory, journal and library"},"agentProfile.searchModels":{zh:"搜索模型或输入模型 ID",en:"Search models or enter a model ID"},"agentProfile.useModelId":{zh:"使用模型 ID:{id}",en:"Use model ID: {id}"},"agentProfile.customModelId":{zh:"自定义 ID",en:"Custom ID"},"agentProfile.noResults":{zh:"没有匹配的结果",en:"No matching results"},"agentProfile.preview":{zh:"阅读预览",en:"Preview"},"agentProfile.emptyText":{zh:"尚未填写内容",en:"No content yet"},"agentProfile.characters":{zh:"{count} 字符",en:"{count} characters"},"agentProfile.quickSettings":{zh:"运行设置",en:"Run settings"},"agentProfile.agentDefaults":{zh:"Agent 默认配置",en:"Agent defaults"},"agentProfile.sessionModel":{zh:"当前会话模型",en:"Conversation model"},"agentProfile.sessionModelHint":{zh:"此项立即保存,仅影响当前会话。",en:"Saved immediately for this conversation only."},"agentProfile.defaultsHint":{zh:"设置此 Agent 的默认行为;已有会话的单独设置优先。",en:"Set this agent’s defaults. Existing session overrides take precedence."},"agentProfile.identity":{zh:"基本信息",en:"Identity"},"agentProfile.instructions":{zh:"指令与人格",en:"Instructions and persona"},"agentProfile.permissions":{zh:"权限与工具",en:"Permissions and tools"},"agentProfile.advanced":{zh:"高级设置",en:"Advanced settings"},"agentProfile.instructionsHint":{zh:"工作指令定义任务与边界,人格定义表达方式。支持 Markdown 预览。",en:"Instructions define tasks and boundaries; persona defines communication style. Markdown preview is available."},"agentProfile.searchEquipment":{zh:"搜索名称或描述",en:"Search names or descriptions"},"agentProfile.enabledOnly":{zh:"仅看已启用",en:"Enabled only"},"agentProfile.selectedCount":{zh:"已启用 {count} / {total}",en:"{count} of {total} enabled"},"agentProfile.selectAll":{zh:"全部启用",en:"Enable all"},"agentProfile.clearAll":{zh:"全部停用",en:"Disable all"},"agentProfile.loadoutHint":{zh:"全部可用会自动包含未来新增的项目;手动勾选后仅使用选中的项目。",en:"All available includes future additions. Manual selection uses only the items you choose."},"agentProfile.loading":{zh:"正在加载能力…",en:"Loading capabilities…"},"agentProfile.unavailable":{zh:"当前不可用,保留原有选择",en:"Unavailable; existing selection retained"},"agentProfile.retry":{zh:"重新加载",en:"Retry"},"agentProfile.memoryScope":{zh:"记忆归属",en:"Memory scope"},"agentProfile.memoryScopeHint":{zh:"更改归属后保存配置,再查看对应的记忆。",en:"Save scope changes to view the corresponding memory."},"agentProfile.unsaved":{zh:"有未保存的修改",en:"Unsaved changes"},"agentProfile.saving":{zh:"正在保存…",en:"Saving…"},"agentProfile.savedShort":{zh:"配置已保存",en:"Configuration saved"},"agentProfile.currentSection":{zh:"配置分区",en:"Configuration sections"},"agentProfile.nameRequired":{zh:"请填写 Agent 名称。",en:"Enter an agent name."},"agentProfile.loadoutMode":{zh:"启用方式",en:"Availability"},"agentProfile.skillPolicy":{zh:"技能使用方式",en:"Skill use"},"agentProfile.skillPolicyHint":{zh:"自动包含新技能;自选只使用选中的技能;关闭则不使用。",en:"Automatic includes new skills. Selected uses only chosen skills. Off uses none."},"agentProfile.skillPolicy.auto":{zh:"自动使用适用技能,新技能也会加入。可为此 Agent 单独停用某项。",en:"Use relevant skills automatically, including future additions. You can disable any skill for this agent."},"agentProfile.skillPolicy.selected":{zh:"只使用勾选的技能。新技能需手动加入。",en:"Use checked skills only. Add new skills manually."},"agentProfile.skillPolicy.off":{zh:"此 Agent 暂不使用技能。",en:"This agent does not use skills."},"agentProfile.skillLegacyHint":{zh:"当前引擎只提供旧版技能清单。手动取消勾选会切换为自选;新技能不会自动加入。",en:"This engine provides the older skill list. Unchecking switches to a selected list; new skills will need to be added manually."},"agentProfile.skillCatalogUnavailable":{zh:"此引擎暂不提供技能目录。",en:"The skill catalog is unavailable on this engine."},"agentProfile.skillAuto":{zh:"自动",en:"Automatic"},"agentProfile.skillSelected":{zh:"自选",en:"Selected"},"agentProfile.skillOff":{zh:"全部关闭",en:"Off"},"agentProfile.agentSkills":{zh:"此 Agent 专属",en:"For this agent"},"agentProfile.agentSkillsHint":{zh:"只属于这个 Agent,可在此创建和编辑。",en:"Belongs to this agent. Create and edit it here."},"agentProfile.inheritedSkills":{zh:"继承自全局",en:"Inherited from global"},"agentProfile.inheritedSkillsHint":{zh:"全局原件由设置管理;这里的开关只影响此 Agent。",en:"Manage originals in Settings. Switches here affect this agent only."},"agentProfile.otherSkills":{zh:"其他可选技能",en:"Other skills"},"agentProfile.otherSkillsHint":{zh:"云端与跨 Agent 共享技能不属于本机全局原件;原有但当前未找到的选择也会保留。",en:"Cloud and shared skills are separate from local global originals. Existing selections that are currently missing are retained."},"agentProfile.sharedAgentSkill":{zh:"其他 Agent 共享",en:"Shared by another agent"},"agentProfile.localExtraSkill":{zh:"本机其他来源",en:"Other local source"},"agentProfile.cloudExtraSkill":{zh:"云端技能",en:"Cloud skill"},"agentProfile.extraChoose":{zh:"切换为自选后可单独调整",en:"Switch to selected mode to change"},"agentProfile.skillUnavailableKept":{zh:"当前目录不可见;保留原有选择。取消勾选才会移除。",en:"Not in the current catalog. Existing selection is kept until you uncheck it."},"agentProfile.addSkill":{zh:"新建技能",en:"New skill"},"agentProfile.importAgentSkill":{zh:"导入文件夹到此 Agent",en:"Import folder for this agent"},"agentProfile.noAgentSkills":{zh:"还没有专属技能。",en:"No skills for this agent yet."},"agentProfile.noGlobalSkills":{zh:"还没有可继承的全局技能。",en:"No global skills to inherit yet."},"agentProfile.skillForAgent":{zh:"{name} 对此 Agent 可用",en:"Make {name} available to this agent"},"agentProfile.skillAvailable":{zh:"可用",en:"Available"},"agentProfile.skillAgentOff":{zh:"已为此 Agent 停用",en:"Disabled for this agent"},"agentProfile.skillGlobalOff":{zh:"全局已停用",en:"Disabled globally"},"agentProfile.skillShadowed":{zh:"被此 Agent 的专属版本覆盖",en:"Overridden by this agent’s copy"},"agentProfile.skillPolicyOff":{zh:"此 Agent 的技能已关闭",en:"Skills are off for this agent"},"agentProfile.skillNotSelected":{zh:"未加入自选清单",en:"Not in the selected list"},"agentProfile.skillReadOnly":{zh:"原件只读",en:"Original is read only"},"agentProfile.skillLegacyDirectory":{zh:"旧目录名只读;可复制为合法名称的新技能",en:"Legacy folder name is read only. Copy it with a valid new name."},"agentProfile.skillFolder":{zh:"文件夹名",en:"Folder name"},"agentProfile.skillInstructions":{zh:"技能说明",en:"Skill instructions"},"agentProfile.skillFiles":{zh:"附属文件({count})",en:"Attached files ({count})"},"agentProfile.skillDetail":{zh:"技能详情",en:"Skill details"},"agentProfile.copyToAgent":{zh:"复制为此 Agent 专属",en:"Copy for this agent"},"agentProfile.copySkillHint":{zh:"复制后可独立编辑。若已有同名专属技能,请给新副本换一个文件夹名。",en:"Edit the copy independently. Choose a different folder name if this agent already has one with the same name."},"agentProfile.editGlobalSkill":{zh:"在设置中编辑全局原件",en:"Edit global original in Settings"},"agentProfile.skillDelete":{zh:"删除技能",en:"Delete skill"},"agentProfile.skillDeleteConfirm":{zh:"删除此 Agent 的「{name}」技能文件夹?若有同名全局技能,删除后将重新使用全局版本。文件夹会先备份。",en:"Delete this agent’s “{name}” skill folder? A global skill with the same name will become available again. The folder will be backed up first."},"agentProfile.skillDeleteFailed":{zh:"技能未删除。",en:"The skill was not deleted."},"agentProfile.skillEditConflict":{zh:"这份技能已在另一处修改。请关闭编辑并重新打开,避免覆盖新内容。",en:"This skill changed elsewhere. Close and reopen the editor to avoid overwriting the new content."},"agentProfile.skillRemovedElsewhere":{zh:"这份技能已在另一处删除,目录已刷新。",en:"This skill was deleted elsewhere. The catalog has been refreshed."},"agentProfile.skillEnabled":{zh:"此 Agent 现在可使用该技能",en:"This agent can now use the skill"},"agentProfile.skillDisabled":{zh:"已为此 Agent 停用该技能",en:"Skill disabled for this agent"},"agentProfile.skillCreated":{zh:"专属技能已创建",en:"Agent skill created"},"agentProfile.skillImported":{zh:"技能文件夹已导入",en:"Skill folder imported"},"agentProfile.skillSaved":{zh:"技能已保存",en:"Skill saved"},"agentProfile.skillDeleted":{zh:"技能已删除",en:"Skill deleted"},"agentProfile.skillDeletedBackup":{zh:"技能已删除;备份位于 {path}",en:"Skill deleted. Backup: {path}"},"agentProfile.skillCopied":{zh:"已复制到此 Agent",en:"Copied to this agent"},"agentProfile.saveConflict":{zh:"此 Agent 的相同设置已在另一处改变。请放弃本次草稿并重试,避免覆盖新值。",en:"The same setting changed elsewhere. Discard this draft and try again to avoid overwriting the new value."},"agentProfile.allSelectionHint":{zh:"自动包含以后新增的项目。",en:"Includes future additions automatically."},"agentProfile.manualSelectionHint":{zh:"仅使用勾选的项目。",en:"Only checked items are available."},"agentProfile.growth":{zh:"成长",en:"Growth"},"agentProfile.schedule":{zh:"日程",en:"Schedule"},"agentProfile.memoryCaption":{zh:"它记住的事实",en:"What it knows"},"agentProfile.evolutionCaption":{zh:"它总结的做法",en:"How it works"},"agentProfile.builtinSkills":{zh:"内置技能",en:"Built-in skills"},"agentProfile.scheduleLoading":{zh:"正在读取日程…",en:"Loading schedule…"},"agentProfile.scheduleLocalOnly":{zh:"日程只在本地引擎上可用。",en:"Schedules are available on the local engine only."},"agentProfile.scheduleCount":{zh:"{count} 条日程",en:"Schedule entries: {count}"},"agentProfile.scheduleAuto":{zh:"自动执行",en:"Automatic"},"agentProfile.schedulePlan":{zh:"仅规划",en:"Plan only"},"agentProfile.scheduleNoDate":{zh:"未定日期",en:"No date"},"agentProfile.scheduleLastRun":{zh:"上次执行 {time}",en:"Last run {time}"},"agentProfile.schedulePast":{zh:"已过期或未定日期({count})",en:"Past or undated ({count})"},"agentProfile.scheduleRules":{zh:"会唤醒它的自动化规则({count})",en:"Automation rules that wake it ({count})"},"agentProfile.scheduleRuleOff":{zh:"已停用",en:"Disabled"},"agentProfile.scheduleOpenCalendar":{zh:"在日历中查看",en:"View in Calendar"},"agentProfile.scheduleOpenAutomation":{zh:"在自动化中管理",en:"Manage in Automation"},"agentProfile.scheduleDeleteConfirm":{zh:"删除日程「{name}」?到点将不再执行。",en:'Delete the schedule entry "{name}"? It will no longer run.'},"agentProfile.scheduleEmpty":{zh:"还没有日程。在对话里告诉它「每天 9 点帮我整理新闻」这类定时的事,它会自己排进这里,并显示在日历上。",en:'No schedule yet. Ask it in a conversation for something timed, such as "summarize the news every day at 9", and it will add the entry here and to your Calendar.'},"agentProfile.scheduleEmptyMuse":{zh:"还没有日程。Muse 为自己安排的后续跟进会出现在这里;把它的待办交给它执行,也会排进来。两者都会显示在日历上。",en:"No schedule yet. Follow-ups Muse plans for itself appear here, and so do todos you hand over for it to carry out. Both show up in your Calendar."},"agentProfile.folder":{zh:"文件夹名",en:"Folder name"},"agentProfile.folderHint":{zh:"文件夹名也是这个 Agent 的 ID,回车改名",en:"The folder name is also this agent ID. Press Enter to rename"},"agentProfile.folderFixed":{zh:"这个 Agent 的文件夹名不可改",en:"This agent keeps its folder name"},"agentProfile.renamed":{zh:"已改名为 {slug}",en:"Renamed to {slug}"},"agentProfile.renameInvalid":{zh:"只能用小写字母、数字和连字符,且以字母或数字开头",en:"Use lowercase letters, digits and hyphens, starting with a letter or digit"},"agentProfile.renameExists":{zh:"已有同名文件夹",en:"That folder name is already taken"},"agentProfile.renameCloudSynced":{zh:"这个 Agent 同步过云端,改名会在云端留下旧文件夹;请新建一个 Agent 代替",en:"This agent has been synced to the cloud, so renaming would leave the old folder there. Create a new agent instead"},"agentProfile.renamePluginSeeded":{zh:"插件安装的 Agent 不能改文件夹名",en:"Agents installed by a plugin keep their folder name"},"agentProfile.renameBusy":{zh:"它正在会话里工作,等这轮结束再改名",en:"It is busy in a session. Rename once that run finishes"},"agentProfile.renameWarnings":{zh:"已改名为 {slug},但有几处引用没更新:{detail}",en:"Renamed to {slug}, but some references were not updated: {detail}"}});Q({"homeSlot.menuHead":{zh:"主位放哪个 Space",en:"Space in the home slot"},"homeSlot.openInNewWindow":{zh:"在新窗口中打开",en:"Open in new window"}});const He="forsion_home_slot_space",We="home";function Be(){try{return localStorage.getItem(He)||null}catch{return null}}function Da(){return Be()??We}function Ge(){const e=m.getState().spaces,t=n=>e.some(a=>a.id===n);for(const n of[Da(),We,v.defaultSpace])if(n&&t(n))return n;return e[0]?.id??null}function Ca(e){try{localStorage.setItem(He,e)}catch{}Y()}function Ea({space:e,expanded:t}){const n=m(i=>i.spaces),[a,o]=le.useState(null),{t:s}=nt();return le.useEffect(()=>{if(!a)return;const i=()=>o(null);return window.addEventListener("click",i),window.addEventListener("contextmenu",i),()=>{window.removeEventListener("click",i),window.removeEventListener("contextmenu",i)}},[a]),y.jsxs("span",{className:"rb-homeslot",onContextMenu:i=>{i.preventDefault(),i.stopPropagation(),o({x:i.clientX,y:i.clientY})},children:[y.jsx(V,{space:e,expanded:t}),a&&dt.createPortal(y.jsxs(ft,{className:"ctx-menu",x:a.x,y:a.y,onClick:i=>i.stopPropagation(),children:[ce()?.openSpace&&y.jsx("button",{onClick:()=>{ce()?.openSpace?.(e.id),o(null)},children:s("homeSlot.openInNewWindow")}),y.jsx("div",{className:"ctx-head",children:s("homeSlot.menuHead")}),n.map(i=>y.jsxs("button",{onClick:()=>{Ca(i.id),o(null)},children:[i.icon?y.jsx(i.icon,{size:13}):y.jsx("span",{style:{width:13}}),Ae(i.name),i.id===e.id&&y.jsx(ut,{size:12,style:{marginLeft:"auto",opacity:.7}})]},i.id))]}),document.body)]})}function Y(){const e=Ge(),t=ct.getState().items;for(const n of m.getState().spaces){const a=`space:${n.id}`,o=n.id===e?"home":"top",s=t.find(i=>i.id===a);!s||s.side===o||q({...s,side:o,component:o==="home"?({expanded:i})=>y.jsx(Ea,{space:n,expanded:i}):({expanded:i})=>y.jsx(V,{space:n,expanded:i})})}}let pe=!1;function Oa(){Y(),!pe&&(pe=!0,m.subscribe((e,t)=>{e.spaces!==t.spaces&&Y()}))}const f=()=>ee.getState(),w=()=>Me.getState(),Ta="forsion_default_space",W="__last__",B="__home__";function G(){try{return localStorage.getItem(Ta)||B}catch{return B}}function Va(e){const t=G();return t===B?Ge()??v.defaultSpace:t===W?e:m.getState().spaces.some(n=>n.id===t)?t:v.defaultSpace}function La(){const e=G();if(e===W)return null;const t=e===B?Be():e;return t&&!m.getState().spaces.some(n=>n.id===t)?t:null}const ne={type:"workspace",params:{mode:"files"}},J={type:"chat",params:{followActive:!0,reuseKey:"primary"}},j={type:"workspace",params:{mode:"orbits"}},he={left:[j],right:[{type:"tangu-details",params:{}},ne,{type:"outline",params:{}}],bottom:[{type:"terminal",params:{}}]},Na={id:"tangu",mini:{name:"Tangu",view:{type:"mini-tangu",params:{followActive:!0}},mainView:{type:"chat"}},name:()=>w().tr("space.tangu"),icon:_e,autoWorkspaceMode:"orbits",sidebarDefaults:he,pinned:{main:[J],left:[j],right:[{type:"tangu-details",params:{}}]},build(){f().setSidebarDefaults(he),f().openView(J.type,J.params,"main"),f().openView(j.type,j.params,"left"),f().initializeSidebar("right",!1),f().initializeSidebar("bottom",!1)}},ja={id:"agents",name:()=>w().tr("agentProfile.space"),icon:ht,sidebarDefaults:{left:[{type:"agents-roster",params:{}}],right:[],bottom:[]},pinned:{main:[{type:"agent-profile",params:{}}],left:[{type:"agents-roster",params:{}}]},build(){f().setSidebarDefaults({left:[{type:"agents-roster",params:{}}],right:[],bottom:[]}),f().openView("agent-profile",{},"main"),f().openView("agents-roster",{},"left"),f().initializeSidebar("bottom",!1),f().initializeSidebar("right",!1)}},$={type:"workspace",params:{mode:Fe}},me={left:[$],right:[ne]},$a={id:"inbox",name:()=>w().tr("space.inbox"),icon:Ie,sidebarDefaults:me,pinned:{main:[{type:"inbox-reader",params:{}}],left:[$]},autoWorkspaceMode:Fe,resizableSides:{left:!0},sideDefaultScale:{left:1.3},build(){f().setSidebarDefaults(me),f().openView("inbox-reader",{},"main"),f().openView($.type,$.params,"left"),f().initializeSidebar("right",!1)}},qe=b("tangu"),U={type:"workspace",params:{mode:"notes"}},ye={left:[U,{type:"amadeus-search",params:{}},{type:"amadeus-tags",params:{}}],right:[...qe?[{type:"chat-panel",params:{followActive:!0}}]:[],{type:"outline",params:{}},{type:"amadeus-backlinks",params:{}},{type:"amadeus-graph",params:{}}]},Ua={id:"amadeus",mini:{name:"Amadeus",view:{type:"mini-amadeus"},mainView:{type:"amadeus-editor"}},name:()=>w().tr("space.amadeus"),icon:je,sidebarDefaults:ye,pinned:{left:[U]},resizableSides:{left:!0},autoWorkspaceMode:"notes",build(){f().setSidebarDefaults(ye),f().openView("amadeus-editor",{},"main");const e=f().openView(U.type,U.params,"left");f().openView("amadeus-search",{},"left"),f().openView("amadeus-tags",{},"left"),f().initializeSidebar("right",!1),e&&f().activateLeaf(e.id)}},Se={left:[{type:"coding-navigation",params:{}}],right:[ne],bottom:[{type:"terminal",params:{}}]},Ra={id:"coding",name:()=>w().tr("space.coding"),icon:Kt,sidebarDefaults:Se,pinned:{main:[{type:"code-studio",params:{}}],left:[{type:"coding-navigation",params:{}}]},resizableSides:{left:!0},sideDefaultScale:{left:1},build(){f().setSidebarDefaults(Se),w().selectNewChatAgent?.("coding"),f().openView("code-studio",{},"main"),f().openView("coding-navigation",{},"left"),f().initializeSidebar("right",!1),f().initializeSidebar("bottom",!1)}},R={type:"workspace",params:{mode:Le}},ve={left:[R],right:[]},Fa={id:"automation",autoWorkspaceMode:Le,name:()=>w().tr("space.automation"),icon:Jt,sidebarDefaults:ve,pinned:{main:[{type:"automation-detail",params:{}}],left:[R]},resizableSides:{left:!0,right:!0},build(){f().setSidebarDefaults(ve),f().openView("automation-detail",{},"main"),f().openView(R.type,R.params,"left")}},ke={left:[],right:[]},Ha={id:"public",name:()=>w().tr("space.public"),icon:ha,sidebarDefaults:ke,pinned:{main:[{type:"public-view",params:{}}]},build(){f().setSidebarDefaults(ke),f().openView("public-view",{},"main")}},Ke=v.nativeFeatures===void 0||b("amadeus"),D=[...vt()&&M("home")?[gt]:[],...b("tangu")?[Na]:[],...b("amadeus")&&xe()&&Ke?[Ua]:[],...kt()&&M("calendar")?[pt]:[],...Pt()?[$a]:[],...b("tangu")?[ja]:[],...v.nativeFeatures===void 0&&v.spaces.includes("coding")&&window.tangu?.codePreviewServe?[Ra]:[],...bt()&&M("image-studio")?[mt]:[],...wt()&&M("artificial")?[yt]:[],...b("automation")&&window.tangu?.backendStatus?[Fa]:[],...zt()&&M("muse")?[St]:[],...b("public")&&(window.tangu?.connectPublish||window.amadeusCollab)?[Ha]:[]];function vn(){b("tangu")&&Ma();for(const t of D)te(t),q({id:`space:${t.id}`,side:"top",component:({expanded:n})=>y.jsx(V,{space:t,expanded:n})});if(Oa(),new URLSearchParams(location.search).get("window")==="mini")return;const e=m.getState().activeSpaceId;if(!De&&D.length&&!D.some(t=>t.id===e)){const t=D.some(n=>n.id===v.defaultSpace)?v.defaultSpace:D[0].id;m.setState({activeSpaceId:t})}try{H()==="main"&&localStorage.getItem("forsion_pinned_layout_v1")!=="1"&&(de(),localStorage.setItem("forsion_pinned_layout_v1","1"))}catch{}try{H()==="main"&&localStorage.getItem("forsion_image_studio_layout_v2")!=="1"&&(de("image-studio"),localStorage.setItem("forsion_image_studio_layout_v2","1"))}catch{}try{if(localStorage.getItem("forsion_rightpanel_collapse_v1")!=="1"){I("space:amadeus"),I("space:tangu");const t=localStorage.getItem("forsion_tangu_active_space");(t==="amadeus"||t==="tangu")&&E(),localStorage.setItem("forsion_rightpanel_collapse_v1","1")}}catch{}if(xe()&&Ke){At();try{localStorage.getItem("amadeus_layout_v2")!=="1"&&(I("space:amadeus"),localStorage.getItem("forsion_tangu_active_space")==="amadeus"&&E(),localStorage.setItem("amadeus_layout_v2","1")),qe&&localStorage.getItem("amadeus_layout_v3")!=="1"&&(I("space:amadeus"),localStorage.getItem("forsion_tangu_active_space")==="amadeus"&&E(),localStorage.setItem("amadeus_layout_v3","1"))}catch{}}}Q({"spaces.delete":{zh:"删除 Space…",en:"Delete Space…"}});const ie=["tangu","inbox","amadeus","calendar","muse"],Wa={bot:_e,inbox:Ie,mail:da,"notebook-text":je,"book-open":ta,briefcase:ia,"calendar-days":Wt,"message-circle":Ht,folder:ea,"folder-open":Ft,"file-text":Rt,star:Qt,heart:la,home:Ut,target:Pa,zap:$t,globe:jt,music:ua,image:Nt,video:wa,code:sa,terminal:Zt,"layout-grid":Yt,sparkles:Lt,boxes:Ne,"list-tree":Xt,server:va,"server-cog":ya},Ba=/^data:image\/(png|svg\+xml);base64,[A-Za-z0-9+/=]+$/;function Je(e,t){const n=`url("${e}") center / contain no-repeat`,a=e.startsWith("data:image/svg+xml")?({size:o=18})=>y.jsx("span",{"aria-hidden":"true",style:{display:"inline-block",flex:"none",width:o,height:o,background:"currentColor",mask:n,WebkitMask:n}}):({size:o=18})=>y.jsx("img",{"aria-hidden":"true",alt:"",src:e,width:o,height:o,draggable:!1,style:{flex:"none",borderRadius:"22%",objectFit:"cover"}});return a.imageUrl=e,a.nativeFallback=t,a}const g=()=>ee.getState(),x=()=>Me.getState(),O=new Map,T=new Map,Z=new Map,F=new Map;let Pe=!1;const Xe=new Set;let C=!1,Ye=!1;const Ga=e=>O.has(e),qa=e=>T.get(e);function Ka(){Ye=!0;const e=m.subscribe((t,n)=>{t.activeSpaceId!==n.activeSpaceId&&(e(),C=!0)})}function be(e){return()=>typeof e.name=="string"?e.name:(it()==="zh"?e.name.zh??e.name.en:e.name.en??e.name.zh)??e.id}const z=e=>e.map(t=>({type:t.type,params:t.params??{}})),we="forsion_space_recipe_ver";function Ze(e){if(H()==="mini"||!e.version)return;let t={};try{t=JSON.parse(localStorage.getItem(we)||"{}")}catch{}if((typeof t!="object"||!t)&&(t={}),t[e.id]!==e.version){I(ae(e.id)),Xe.add(e.id),De===e.id?E():m.getState().activeSpaceId===e.id&&ee.getState().resetLayout(),t[e.id]=e.version;try{localStorage.setItem(we,JSON.stringify(t))}catch{}}}function Qe(e,t){const n={left:z(e.layout.left),right:z(e.layout.right),bottom:z(e.layout.bottom??[])},a=Wa[e.icon??""]??Ne;return{id:e.id,mini:e.mini?{...e.mini,name:e.mini.name?be({...e,name:e.mini.name}):void 0}:void 0,name:be(e),icon:t?Je(t,a):a,listFirst:!1,sidebarDefaults:n,pinned:{main:z(e.layout.main.filter(o=>o.pinned)),left:z(e.layout.left.filter(o=>o.pinned)),right:z(e.layout.right.filter(o=>o.pinned))},launcherViews:z(e.layout.main),bottomSpan:e.layout.bottomSpan,build(){g().setSidebarDefaults(n);const o=[];for(const s of Aa(e.layout.main)){let i=null;if(s.mode==="first")i=g().openView(s.panel.type,s.panel.params??{},"main");else if(s.mode==="tab")i=g().openView(s.panel.type,s.panel.params??{},"main",{newTab:!0});else{const d=o[s.from];d&&g().activateLeaf(d.id);const l=d?g().splitActive(s.direction):null;i=l?g().navigateLeaf(l.id,s.panel.type,s.panel.params??{}):g().openView(s.panel.type,s.panel.params??{},"main",{newTab:!0})}i&&o.push(i)}o.length>1&&o[0]&&g().activateLeaf(o[0].id);for(const s of["left","right"]){for(const i of n[s])g().openView(i.type,i.params,s);n[s].length||g().initializeSidebar(s,!1)}if(Bt())for(const s of n.bottom??[])g().openView(s.type,s.params,"bottom")}}}function oe(e,t=e.id,n){Ze(e);const a=Qe(e,n);te(a),O.set(e.id,t),q({id:`space:${e.id}`,side:"top",component:({expanded:o})=>y.jsx(V,{space:a,expanded:o}),menu:()=>[{label:x().tr("spaces.delete"),onClick:()=>{window.confirm(x().tr("spaces.deleteConfirm",{name:Ae(a.name)}))&&et(e.id)}}]})}function ze(e,t,n){Ze(e);const a=Qe(e,n);te(a),T.set(e.id,t),q({id:`space:${e.id}`,side:"top",component:({expanded:o})=>y.jsx(V,{space:a,expanded:o})})}function Ja(e){m.getState().activeSpaceId===e&&L("tangu"),Oe(e),Te(`space:${e}`),T.delete(e),Z.delete(e),F.delete(e)}let X=Promise.resolve();function Xa(){return X=X.catch(()=>{}).then(Za),X}function Ya(){if(C||H()!=="main"||xt==="mobile")return;const e=Va(Vt),t=m.getState();if(!t.spaces.some(i=>i.id===e))return;const n=La()===null,a=n&&Ye&&!!g().api;if(G()===W){let i=null;try{i=localStorage.getItem("forsion_tangu_active_space")}catch{}if(i!==null&&i!==e){C=!0;return}}const o=Xe.delete(e)||Mt()&&t.activeSpaceId!==e,s=()=>{const i=Ve();i&&(g().setSidebarDefaults(i.sidebarDefaults),g().setSideProfile(i.id,i.resizableSides??{},i.sideDefaultScale,i.bottomSpan),g().setPinned(i.pinned))};if(o&&!a){E(),t.activeSpaceId!==e&&fe(e),s(),g().resetLayout(),n&&(C=!0);return}if(t.activeSpaceId!==e)if(G()===W&&!a){const i=Dt();if(fe(e),s(),qt()||i!==null&&i!==e){const d=ae(e);Ct(d)&&g().applyNamed(d)?(g().ensurePinned(),g().saveCurrent()):g().resetLayout()}else g().realignRegions?.()}else L(e);else g().sideProfileKey!==e&&(s(),g().realignRegions?.());n&&(C=!0)}async function Za(){const e=await window.tangu?.spacesList?.().catch(()=>null);if(!e)return;const t=await window.tangu?.appVersion?.().catch(()=>null)??null,n=new Set(Et()),a=new Map,o={},s=new Set(Ot.getState().activeIds);for(const{slug:l,json:c,plugin:u,iconUrl:h}of e){const P=typeof h=="string"&&Ba.test(h)?h:void 0;if(u&&n.has(u))continue;const r=_a(c,{isViewRegistered:S=>!!Gt(S),appVersion:t,reservedIds:ie});if(!r.ok){console.warn(`[spaces] 跳过 ${l}: ${r.error}`),u&&s.has(u)&&(o[u]??=[]).push({slug:l,id:r.id,name:r.name,code:r.code??"invalid",views:r.views,need:r.need,...r.code==="min-app-version"?{have:t}:{},detail:r.error});continue}a.has(r.spec.id)||a.set(r.spec.id,{spec:r.spec,dirSlug:l,plugin:u,raw:c,iconUrl:P})}Tt(o);for(const[l,c]of[...T]){const u=a.get(l);(!u||u.plugin!==c||Z.get(l)!==u.raw)&&Ja(l)}const i=new Set(m.getState().spaces.map(l=>l.id));for(const[l,c]of a){if(i.has(l)){c.plugin&&T.get(l)===c.plugin&&F.get(l)!==c.iconUrl&&(ze(c.spec,c.plugin,c.iconUrl),F.set(l,c.iconUrl));continue}i.add(l),c.plugin?(ze(c.spec,c.plugin,c.iconUrl),Z.set(l,c.raw),F.set(l,c.iconUrl)):oe(c.spec,c.dirSlug,c.iconUrl)}!Pe&&v.spaces.length===0&&m.getState().spaces.some(l=>l.id===v.defaultSpace)&&(Pe=!0,m.getState().activeSpaceId!==v.defaultSpace?L(v.defaultSpace):g().mainTabs.length===0&&g().resetLayout());const d=Ve();d&&g().setSidebarDefaults(d.sidebarDefaults)}const Qa={workspace:["mode"],chat:["followActive","reuseKey"]},en=new Set(["launcher","wsfile","sidebar-empty","home"]);async function tn(e){const t=g().api;if(!t||!window.tangu?.spacesSave)return;const n={main:[],left:[],right:[]},a=new Set;for(const d of t.panels){const l=d.params??{},c=Ia(l.__loc);if(!c)continue;const u=typeof l.__type=="string"?l.__type:"";if(!u||en.has(u)||a.has(`${c}:${u}`))continue;a.add(`${c}:${u}`);const h={};for(const P of Qa[u]??[])l[P]!==void 0&&(h[P]=l[P]);n[c].push(Object.keys(h).length?{type:u,params:h}:{type:u})}n.main.length||n.main.push({type:"chat",params:{followActive:!0,reuseKey:"primary"}});const o=new Set([...ie,...m.getState().spaces.map(d=>d.id)]),s=Re(Ue(e),o),i={id:s,name:e,icon:"boxes",layout:n};await window.tangu.spacesSave(s,JSON.stringify(i,null,2)),Ce("space.save"),Ee("space.save",{id:s}),oe(i),x().toast(x().tr("spaces.saved",{name:e}))}async function an(e){if(!window.tangu?.spacesSave)return;const t=new Set([...ie,...m.getState().spaces.map(o=>o.id)]),n=Re(Ue(e)||"space",t),a={id:n,name:e,icon:"boxes",layout:{main:[{type:"launcher"}],left:[],right:[]}};await window.tangu.spacesSave(n,JSON.stringify(a,null,2)),Ce("space.save"),Ee("space.save",{id:n,blank:!0}),oe(a),L(n),x().toast(x().tr("spaces.saved",{name:e}))}async function et(e){const t=O.get(e);if(!t)return!1;try{await window.tangu?.spacesDelete?.(t)}catch(n){return _t(It(n),!0),!1}return tt(e),window.tangu?.requestMainAction?.("space-removed",e),!0}function tt(e){O.has(e)&&(m.getState().activeSpaceId===e&&L("tangu"),Oe(e),Te(`space:${e}`),I(ae(e)),O.delete(e))}const kn=Object.freeze(Object.defineProperty({__proto__:null,createBlankSpace:an,deleteUserSpace:et,forgetUserSpace:tt,imageIcon:Je,isUserSpace:Ga,loadUserSpaces:Xa,parkOnStartupFallback:Ka,pluginOfSpace:qa,saveCurrentAsSpace:tn,settleAsyncStartupSpace:Ya},Symbol.toStringTag,{value:"Module"}));export{Ke as A,sa as C,Ta as D,la as H,Fe as I,W as L,da as M,je as N,ha as R,va as S,Pa as T,wa as V,ua as a,B as b,Ca as c,et as d,mn as e,tt as f,vn as g,Ge as h,Ga as i,Va as j,La as k,Xa as l,Ka as m,Ya as n,an as o,qa as p,tn as q,yn as r,G as s,kn as u,Sn as w};
@@ -0,0 +1 @@
1
+ @property --space-ambient-top{syntax: "<color>"; inherits: true; initial-value: transparent;}@property --space-ambient-middle{syntax: "<color>"; inherits: true; initial-value: transparent;}@property --space-ambient-bottom{syntax: "<color>"; inherits: true; initial-value: transparent;}:root[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]){--space-ambient-lightness: 90%;--space-ambient-tint-top: oklch(from var(--space-ambient-top) var(--space-ambient-lightness) min(c, .12) h);--space-ambient-tint-middle: oklch(from var(--space-ambient-middle) var(--space-ambient-lightness) min(c, .12) h);--space-ambient-tint-bottom: oklch(from var(--space-ambient-bottom) var(--space-ambient-lightness) min(c, .12) h);transition:--space-ambient-top .7s ease,--space-ambient-middle .7s ease,--space-ambient-bottom .7s ease}:root.dark[data-theme=lovable]{--space-ambient-lightness: 27%}[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .shell{position:relative;isolation:isolate;background:var(--sidebar-bg)}[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .shell:before{content:"";position:absolute;inset:-36px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 5% 5%,var(--space-ambient-tint-top),transparent 65%),radial-gradient(ellipse at 95% 50%,var(--space-ambient-tint-middle),transparent 65%),radial-gradient(ellipse at 15% 100%,var(--space-ambient-tint-bottom),transparent 65%);filter:blur(32px) saturate(140%);opacity:.7}[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .shell:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-card) 34%,transparent),color-mix(in srgb,var(--sidebar-bg) 58%,transparent));-webkit-backdrop-filter:blur(28px) saturate(125%);backdrop-filter:blur(28px) saturate(125%)}.dark[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .shell:after{background:linear-gradient(135deg,color-mix(in srgb,var(--sidebar-bg) 46%,transparent),color-mix(in srgb,var(--sidebar-bg) 58%,transparent))}[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .rb,[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .shell-top,[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .shell-work,[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .t2s-side,[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .dockview-theme-lcl .dv-groupview,[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .dockview-theme-lcl .dv-groupview:not(:has(.wb-tab--icon)) .dv-content-container{background:transparent}[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .dockview-theme-lcl{--dv-background-color: transparent;--dv-group-view-background-color: transparent;--dv-tabs-and-actions-container-background-color: transparent}.space-appearance-color{width:100%;display:flex;align-items:center;gap:8px;min-width:0}.space-appearance-color select{flex:1;min-width:0}.space-appearance-color input[type=color]{width:32px;min-width:32px;padding:2px}@media(prefers-reduced-motion:reduce){:root[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]){transition:none}}[data-theme=lovable]:where([data-ambient=on]):not([data-glass=off]) .mb-shell:not(.mini-shell) .mb-cap:not(:has(>.mb-icon-btn--ghost:only-child)){background:color-mix(in srgb,var(--space-ambient-tint-top) 22%,var(--bg-card));-webkit-backdrop-filter:blur(28px) saturate(125%);backdrop-filter:blur(28px) saturate(125%)}.settings-sub--theme>.startup-appearance{grid-column:1 / -1}.startup-appearance .settings-panel-actions .btn{width:30px;padding:0}.startup-appearance-fields{border:0;padding:0;margin:0;min-width:0}.startup-appearance .settings-control-row{flex-direction:row;align-items:center}.startup-appearance .settings-control-copy{flex:1 1 120px}.startup-appearance .settings-row-control{flex:0 1 220px;width:auto;justify-content:flex-end}.startup-appearance .startup-appearance-switch-row .settings-row-control{flex:0 0 auto}.startup-appearance-icon-label{display:flex;align-items:center;gap:9px}.startup-appearance-icon-label img{flex-shrink:0}.startup-appearance-picker{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.startup-appearance-picker select{flex:1;width:0;min-width:0}.startup-appearance .startup-appearance-upload{position:relative;overflow:hidden;flex:0 0 30px;width:30px;height:30px;padding:0;justify-content:center}.startup-appearance-upload>svg{flex-shrink:0}.startup-appearance-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.startup-appearance-upload:focus-within{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:2px}.startup-appearance-help{border-top:var(--border-width) solid var(--border);padding:10px 15px;color:var(--text-faint);font-size:var(--ui-font-caption);line-height:var(--ui-line-caption)}.startup-appearance-help summary{display:flex;align-items:center;gap:5px;width:fit-content;cursor:pointer;list-style:none}.startup-appearance-help summary::-webkit-details-marker{display:none}.startup-appearance-help[open] summary>svg{transform:rotate(90deg)}.startup-appearance-help summary:focus-visible{outline-offset:3px}.startup-appearance-help p{margin:8px 0 0}.startup-appearance-error{margin:0;padding:0 15px 12px;color:var(--danger);font-size:var(--ui-font-meta)}.startup-appearance-preview{position:fixed;inset:0;z-index:100000;width:min(520px,90vw);padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--card-shadow)}.startup-appearance-preview>button{display:flex;margin-left:auto}.startup-appearance-preview iframe{display:block;width:100%;height:300px;border:0;margin-top:10px;border-radius:var(--radius-md)}.appearance-import{position:fixed;inset:0;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;overflow:auto;border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text);box-shadow:var(--card-shadow)}.appearance-import::backdrop{background:var(--overlay-scrim)}.appearance-import-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:var(--border-width) solid var(--border)}.appearance-import-head>div{flex:1;min-width:0}.appearance-import-head strong{font-size:var(--ui-font-heading)}.appearance-import-head p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;color:var(--text-faint);font-size:var(--ui-font-caption)}.appearance-import-body{display:grid;gap:12px;min-width:0;border:0;margin:0;padding:16px}.appearance-import-modes{justify-self:center}.appearance-import-stage{position:relative;width:min(100%,264px);aspect-ratio:1;justify-self:center;overflow:hidden;border-radius:var(--radius-sm);background:repeating-conic-gradient(var(--overlay-light) 0% 25%,transparent 0% 50%) 50% / 16px 16px;-webkit-user-select:none;user-select:none;touch-action:none}.appearance-import-stage>canvas{display:block;width:100%;height:100%}.appearance-import-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.appearance-import-stage.is-cropping{cursor:grab}.appearance-import-stage.is-cropping:active{cursor:grabbing}.appearance-import-stage:focus-visible{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:3px}.appearance-import-grid{position:absolute;inset:0;pointer-events:none;border:1px solid var(--overlay-strong);background-image:linear-gradient(to right,transparent 33.1%,#ffffff60 33.1%,#ffffff60 33.5%,transparent 33.5%,transparent 66.4%,#ffffff60 66.4%,#ffffff60 66.8%,transparent 66.8%),linear-gradient(to bottom,transparent 33.1%,#ffffff60 33.1%,#ffffff60 33.5%,transparent 33.5%,transparent 66.4%,#ffffff60 66.4%,#ffffff60 66.8%,transparent 66.8%)}.appearance-import-zoom{display:flex;gap:10px;align-items:center;font-size:var(--ui-font-meta)}.appearance-import-zoom input{flex:1;min-width:0;accent-color:var(--accent-ink)}.appearance-import-hint{margin:0;color:var(--text-faint);font-size:var(--ui-font-caption);line-height:var(--ui-line-caption)}.appearance-import-result{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:var(--border-width) solid var(--border)}.appearance-import-result>canvas{flex:none;width:32px;height:32px}.appearance-import-result p{margin:0;color:var(--text-faint);font-size:var(--ui-font-caption);line-height:var(--ui-line-caption)}.appearance-import-result span{display:block;margin-top:3px;color:var(--text)}.appearance-import footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:var(--border-width) solid var(--border)}.appearance-import-error{margin:0;padding:0 16px 12px;color:var(--danger);font-size:var(--ui-font-meta)}.settings-body .agso-overview{width:100%;max-width:840px;margin-inline:auto}.agso-overview{display:flex;flex-direction:column;gap:10px}.agso-panel{margin:0}.agso-default{display:flex;align-items:center;gap:14px;padding:12px 15px;border-top:var(--border-width) solid var(--overlay-medium)}.agso-default>span{flex:0 0 120px;color:var(--text-muted);font-size:var(--ui-font-meta)}.agso-default>button{display:flex;align-items:center;gap:8px;min-width:0;flex:1;padding:6px 9px;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-sm);background:var(--overlay-subtle);color:var(--text);text-align:left;font:inherit;cursor:pointer}.agso-default>button:hover{border-color:var(--accent-ink)}.agso-default>button strong{font-size:var(--ui-font-body);font-weight:600}.agso-default>button small{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--ui-font-meta)}.agso-default>p{margin:0;color:var(--text-muted);font-size:var(--ui-font-meta)}.agso-actions{padding:0 15px 13px}.agso-actions .btn{gap:6px}.agso-profile{padding:13px 15px;border-top:var(--border-width) solid var(--overlay-medium)}.agso-profile textarea{width:100%;padding:10px;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--ui-font-body);line-height:1.55;resize:vertical}.agso-profile textarea:focus{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:0}.agso-profile>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:9px}.agso-profile>div span{color:var(--text-muted);font-size:var(--ui-font-meta)}@media(max-width:620px){.agso-default{align-items:flex-start;flex-direction:column}.agso-default>span{flex-basis:auto}.agso-default>button{width:100%}}.settings-body .gsk-library{width:100%;max-width:1000px;margin-inline:auto}.gsk-library{color:var(--text);font-family:var(--font-ui);container-type:inline-size}.gsk-toolbar{display:flex;align-items:center;gap:7px;margin-bottom:8px}.gsk-search{display:flex;align-items:center;gap:8px;min-width:150px;flex:1;height:var(--control-height, 32px);padding-inline:10px;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-faint)}.gsk-search:focus-within{border-color:var(--accent-ink)}.gsk-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:var(--ui-font-body)}.gsk-search input::placeholder{color:var(--text-faint)}.gsk-toolbar>.icon-btn{flex:0 0 auto}.gsk-host-note{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 13px;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.gsk-host-note button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:3px 0;border:0;background:transparent;color:var(--accent-ink);font:inherit;cursor:pointer}.gsk-host-note button:hover{text-decoration:underline}.gsk-columns{display:grid;grid-template-columns:minmax(248px,.43fr) minmax(0,.57fr);gap:12px;align-items:start}.gsk-list,.gsk-detail{min-width:0;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-md);background:var(--bg-card)}.gsk-list{overflow:hidden}.gsk-group+.gsk-group{border-top:var(--border-width) solid var(--overlay-medium)}.gsk-group-head{display:flex;align-items:center;gap:7px;width:100%;min-height:37px;padding:9px 12px 7px;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.gsk-group-head strong{flex:1;font-weight:620}.gsk-group-head span{color:var(--text-faint);font-size:var(--ui-font-caption)}.gsk-group-toggle{border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}.gsk-group-toggle:hover{background:var(--overlay-subtle)}.gsk-row{display:flex;align-items:center;gap:8px;width:100%;min-height:53px;padding:8px 12px;border:0;border-top:var(--border-width) solid var(--overlay-subtle);background:transparent;text-align:left;color:var(--text);font:inherit;cursor:pointer}.gsk-row:hover{background:var(--overlay-subtle)}.gsk-row.selected{background:var(--accent-light)}.gsk-row:focus-visible{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:-2px}.gsk-row-icon{display:grid;place-items:center;width:27px;height:27px;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--overlay-light);color:var(--text-muted)}.gsk-row.selected .gsk-row-icon{color:var(--accent-ink)}.gsk-row-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gsk-row-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-font-body);line-height:var(--ui-line-body);font-weight:600}.gsk-row-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.gsk-state{color:var(--text-faint);font-size:var(--ui-font-caption);white-space:nowrap}.gsk-state.paused{color:var(--text-muted)}.gsk-chevron{flex:0 0 auto;color:var(--text-faint)}.gsk-empty,.gsk-list-message{margin:0;padding:16px 13px;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.gsk-detail{min-height:350px;padding:16px}.gsk-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.gsk-detail-head>div{min-width:0}.gsk-detail-head span{color:var(--text-faint);font-size:var(--ui-font-meta)}.gsk-detail-head h3{margin:4px 0;color:var(--text);font-size:var(--ui-font-title);line-height:var(--ui-line-title);font-weight:660;overflow-wrap:anywhere}.gsk-detail-head p{margin:4px 0 0;color:var(--text-muted);font-size:var(--ui-font-body);line-height:var(--ui-line-body)}.gsk-detail-status{flex:0 0 auto;padding:3px 7px;border-radius:var(--radius-pill);background:var(--overlay-light);color:var(--text-muted)!important;font-size:var(--ui-font-caption)!important}.gsk-detail-status.paused{background:var(--overlay-medium)}.gsk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:14px 0}.gsk-actions .btn{gap:5px}.gsk-more{position:relative;margin-left:auto}.gsk-readonly{display:flex;align-items:center;gap:6px;margin:10px 0;color:var(--text-muted);font-size:var(--ui-font-meta)}.gsk-meta{display:flex;flex-direction:column;gap:5px;padding:11px 0;border-top:var(--border-width) solid var(--overlay-medium)}.gsk-meta>span,.gsk-content h4,.gsk-files h4{margin:0;color:var(--text-muted);font-size:var(--ui-font-meta);font-weight:620}.gsk-meta code{overflow-wrap:anywhere;color:var(--text-faint);font-family:var(--font-mono);font-size:var(--ui-font-meta)}.gsk-content,.gsk-files{padding:11px 0;border-top:var(--border-width) solid var(--overlay-medium)}.gsk-content-body{max-height:360px;overflow:auto;margin-top:9px;padding:11px;border-radius:var(--radius-sm);background:var(--overlay-subtle);overflow-wrap:anywhere}.gsk-files>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.gsk-files>div span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 7px;border-radius:var(--radius-sm);background:var(--overlay-subtle);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--ui-font-caption);overflow-wrap:anywhere}.gsk-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:310px;gap:10px;color:var(--text-faint);text-align:center}.gsk-placeholder p{max-width:24ch;margin:0;font-size:var(--ui-font-body);line-height:var(--ui-line-body)}.gsk-cloud-note{margin:13px 0;color:var(--text-muted);font-size:var(--ui-font-body);line-height:var(--ui-line-body)}.gsk-detail-loading{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:var(--ui-font-meta)}.gsk-message{margin:10px 0 0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--overlay-subtle);color:var(--text);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.gsk-form{display:flex;flex-direction:column;gap:11px;margin-top:14px}.gsk-form label{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:var(--ui-font-meta);font-weight:600}.gsk-form input,.gsk-form select,.gsk-form textarea{width:100%;min-height:var(--control-height, 32px);padding:7px 9px;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit;font-size:var(--ui-font-body);font-weight:400}.gsk-form textarea{resize:vertical;font-family:var(--font-mono);line-height:1.55}.gsk-form input:focus,.gsk-form select:focus,.gsk-form textarea:focus{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:0}.gsk-form p{margin:0;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.gsk-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:3px}@media(max-width:900px){.gsk-columns{grid-template-columns:minmax(220px,.45fr) minmax(0,.55fr)}.gsk-state{display:none}}@container (max-width: 600px){.gsk-toolbar{flex-wrap:wrap}.gsk-search{flex-basis:100%}.gsk-columns{grid-template-columns:1fr}.gsk-detail{min-height:240px}.gsk-placeholder{min-height:190px}.gsk-host-note{align-items:flex-start;flex-wrap:wrap}}@media(max-width:680px){.gsk-toolbar{flex-wrap:wrap}.gsk-search{flex-basis:100%}.gsk-columns{grid-template-columns:1fr}.gsk-detail{min-height:240px}.gsk-placeholder{min-height:190px}.gsk-host-note{align-items:flex-start;flex-wrap:wrap}}.gsk-toolbar>.capability-menu-trigger{max-width:170px;flex:0 1 auto}.gsk-toolbar>.btn{gap:6px;flex-shrink:0}.gsk-search{transition:border-color .14s ease,background .14s ease}.gsk-search input{padding:0;box-shadow:none}.gsk-row,.gsk-row-icon,.gsk-group-toggle{transition:background .14s ease,color .14s ease}.gsk-detail{animation:capability-detail-enter .16s ease-out}.gsk-detail-head p{max-width:60ch}.gsk-group-toggle{font-size:var(--ui-font-meta)}.gsk-library .btn,.gsk-form-actions .btn{font-size:var(--ui-font-body)}.gsk-group-toggle svg{transition:rotate .16s ease}@keyframes capability-detail-enter{0%{opacity:.3;translate:0 3px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.gsk-detail{animation:none}.gsk-row,.gsk-row-icon,.gsk-group-toggle,.gsk-group-toggle svg,.gsk-search{transition:none}}.special-agents{width:100%;max-width:760px;margin-inline:auto;container:special-settings / inline-size;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body)}.special-intro{margin:0 0 16px;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.special-agent-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}.special-agent-nav>button,.special-agent-nav>.special-agent-status{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:0;border-radius:var(--radius-md);background:var(--overlay-light);text-align:left;color:var(--text-muted)}.special-agent-nav>button{cursor:pointer;transition:background .16s ease,color .16s ease}.special-agent-nav>button:hover{background:var(--overlay-medium)}.special-agent-nav>button[aria-selected=true]{background:var(--accent-light);color:var(--accent-ink)}.special-agent-nav>button>svg,.special-agent-nav>.special-agent-status>svg{flex-shrink:0}.special-agent-nav>button>span,.special-agent-nav>.special-agent-status>span{display:grid;flex:1;min-width:0;gap:3px}.special-agent-nav strong{font-size:var(--ui-font-body);font-weight:600}.special-agent-nav small{font-size:var(--ui-font-meta);line-height:var(--ui-line-meta);color:var(--text-muted)}.special-agent-nav i{font-size:var(--ui-font-caption);font-style:normal;white-space:nowrap;color:var(--text-muted)}.special-agent-nav i.on{color:var(--accent-ink)}.special-editor{min-width:0;padding:0;border:0;margin:0}.special-editor:disabled{opacity:.65}.special-agent-content{display:grid;min-width:0;gap:20px;animation:special-content-enter .16s ease-out}.special-agent-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.special-agent-heading h3{margin:0 0 6px;font-size:var(--ui-font-title);line-height:var(--ui-line-title);font-weight:600}.special-agent-heading p{max-width:64ch;margin:0;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.special-toggle{flex:0 0 32px;width:32px;height:19px;padding:3px;border:0;border-radius:var(--radius-pill);background:var(--overlay-strong);cursor:pointer;transition:background .15s ease}.special-toggle>span{display:block;width:13px;height:13px;border-radius:50%;background:var(--text-muted);transition:translate .15s ease,background .15s ease}.special-toggle[aria-checked=true]{background:var(--accent)}.special-toggle[aria-checked=true]>span{translate:13px 0;background:var(--bg-card)}.special-toggle-row{display:flex;align-items:center;gap:24px}.special-toggle-row>div{flex:1}.special-toggle-row strong{font-size:var(--ui-font-body);font-weight:500}.special-toggle-row p,.special-field>p{color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta);margin:4px 0 0}.special-field{min-width:0;display:grid;align-content:start;gap:7px}.special-field>span{color:var(--text-muted);font-size:var(--ui-font-meta)}.special-field input,.special-field textarea{min-width:0;width:100%;font:inherit;color:var(--text)}.special-field input[type=number]{max-width:140px}.special-field textarea{resize:vertical;line-height:1.65}.special-field>.capability-menu-trigger{width:100%;max-width:460px}.special-field>.capability-menu-trigger svg{rotate:90deg}.special-choices{display:flex;flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;border-radius:var(--radius-sm);background:var(--overlay-light)}.special-choices>button{padding:6px 12px;min-height:var(--control-height-sm);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;cursor:pointer;transition:background .14s ease,color .14s ease}.special-choices>button[aria-pressed=true]{color:var(--accent-ink);background:var(--bg-card)}.special-field-grid,.special-hours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.special-section-title{color:var(--text);font-size:var(--ui-font-heading);font-weight:600;padding-top:6px}.special-disclosure{border-top:var(--border-width) solid var(--overlay-medium)}.special-disclosure>summary{display:flex;align-items:center;gap:7px;padding:13px 0;cursor:pointer;color:var(--text);font-size:var(--ui-font-body);list-style:none}.special-disclosure>summary::-webkit-details-marker{display:none}.special-disclosure>summary:before{content:"›";display:inline-block;color:var(--text-muted);transition:rotate .14s ease}.special-disclosure[open]>summary:before{rotate:90deg}.special-disclosure[open]>:not(summary){animation:special-content-enter .16s ease-out}.special-text-action{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:0;background:transparent;color:var(--accent-ink);font:inherit;font-size:var(--ui-font-meta);cursor:pointer}.special-text-action:hover{text-decoration:underline}.special-footnote{margin:0;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.special-save{position:sticky;bottom:-1px;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;padding:12px 0;background:var(--bg-card);border-top:var(--border-width) solid var(--overlay-medium)}.special-save>div{flex:1;min-width:140px;color:var(--text-muted);font-size:var(--ui-font-meta)}.special-save span,.special-save .btn{display:inline-flex;align-items:center;gap:6px}.special-save .special-error{color:var(--danger);margin:0;overflow-wrap:anywhere}.special-loading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--text-muted);font-size:var(--ui-font-body)}.special-bgquota{display:grid;gap:12px}.special-bgquota>.btn{justify-self:start}.special-bgquota-lead{margin:0;color:var(--text-muted);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.special-bgquota-warn{margin:0;color:var(--warning);font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}@container special-settings (max-width: 480px){.special-agent-nav,.special-field-grid{grid-template-columns:1fr}.special-agent-nav>button,.special-agent-nav>.special-agent-status{padding-block:10px}}@keyframes special-content-enter{0%{opacity:.3;translate:0 3px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.special-agent-content,.special-disclosure[open]>:not(summary){animation:none}.special-agent-nav>button,.special-toggle,.special-toggle>span,.special-choices>button,.special-disclosure>summary:before{transition:none}}.settings-body:has(.special-agents){padding-bottom:0}.settings-page--mobile .special-save{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.ch-alert{margin-bottom:12px;padding:8px 12px;border-radius:var(--radius-md);background:var(--danger-light);color:var(--danger);font-size:var(--ui-font-meta, 12px);line-height:1.5;overflow-wrap:anywhere}.ch-status{display:inline-flex;align-items:center;gap:8px}.ch-status .settings-status-dot.warn{background:var(--warning)}.ch-btn-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ch-btn-row .btn,.ch-clear .btn,.ch-confirm-actions .btn{white-space:nowrap}.ch-about{display:flex;flex-direction:column;margin:0}.ch-about-row{display:grid;grid-template-columns:minmax(84px,7.5em) minmax(0,1fr);gap:4px 14px;padding:10px 15px}.ch-about-row+.ch-about-row{border-top:var(--border-width) solid var(--border)}.ch-about-row>dt{color:var(--text);font-size:var(--ui-font-meta, 12px);font-weight:620}.ch-about-row>dd{margin:0;min-width:0;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.55;overflow-wrap:anywhere}.ch-tip{margin:0;padding:9px 15px 12px;border-top:var(--border-width) solid var(--border);color:var(--text-faint);font-size:var(--ui-font-caption, 11px);line-height:1.5}.ch-timeline{list-style:none;margin:0;padding:6px 0}.ch-day-row{display:flex;align-items:center;gap:6px}.ch-day-row>.ch-day{padding:4px 8px;border-color:var(--overlay-strong);font-size:var(--ui-font-meta, 12px)}.ch-block{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:12px;padding:0 15px}.ch-block-time{padding-top:10px;color:var(--text-faint);font-size:var(--ui-font-caption, 11px);font-variant-numeric:tabular-nums;text-align:right}.ch-block-body{position:relative;min-width:0;padding:8px 0 14px 18px;border-left:var(--border-width) solid var(--border)}.ch-block-body:before{content:"";position:absolute;top:14px;left:-4px;width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.ch-block-title{display:flex;align-items:baseline;gap:8px;min-width:0;margin:0}.ch-block-title>strong{min-width:0;overflow:hidden;color:var(--text);font-size:var(--ui-font-body, 13px);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ch-host{flex:0 1 auto;min-width:0;max-width:40%;overflow:hidden;color:var(--text-faint);font-size:var(--ui-font-caption, 11px);text-overflow:ellipsis;white-space:nowrap}.ch-block-items{list-style:none;margin:4px 0 0;padding:0}.ch-block-items>li{display:flex;align-items:baseline;gap:8px;min-width:0;padding:1px 0;font-size:var(--ui-font-meta, 12px)}.ch-item-app{flex:0 0 auto;max-width:30%;overflow:hidden;color:var(--text-light);text-overflow:ellipsis;white-space:nowrap}.ch-item-title{min-width:0;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.ch-apps{display:flex;flex-wrap:wrap;gap:4px 12px;list-style:none;margin:8px 0 0;padding:0}.ch-app{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.ch-app-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-app-icon{flex:0 0 auto;width:18px;height:18px}.ch-app-icon--letter{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--overlay-medium);color:var(--text-muted);font-size:var(--ui-font-caption, 11px);font-weight:600}.ch-chips{display:flex;flex-wrap:wrap;gap:6px;padding:12px 15px 10px}.ch-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:2px 3px 2px 10px;border:var(--border-width) solid var(--overlay-strong);border-radius:var(--radius-pill, 999px);color:var(--text);font-size:var(--ui-font-meta, 12px)}.ch-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-chip>button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border-radius:var(--radius-pill, 999px);color:var(--text-faint);cursor:pointer}.ch-chip>button:hover{background:var(--overlay-medium);color:var(--danger)}.ch-chip>button:disabled{cursor:not-allowed;opacity:.5}.ch-empty{color:var(--text-faint);font-size:var(--ui-font-meta, 12px)}.ch-add{padding:0 15px 13px}.ch-add>select,.ch-add>input{max-width:360px}.ch-field-error{margin:0;padding:0 15px 12px;color:var(--danger);font-size:var(--ui-font-caption, 11px)}.ch-clear{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:12px 15px 13px}.ch-cleared{margin-left:4px;color:var(--text-faint);font-size:var(--ui-font-meta, 12px)}.ch-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:12px 15px 13px;padding:10px 12px;border-radius:var(--radius-md);background:var(--danger-light)}.ch-confirm>div:first-child{flex:1 1 240px;min-width:0}.ch-confirm strong{display:block;color:var(--text);font-size:var(--ui-font-meta, 12px);font-weight:620}.ch-confirm p{margin:3px 0 0;color:var(--text-light);font-size:var(--ui-font-caption, 11px);line-height:1.5}.ch-confirm-actions{display:flex;gap:6px;margin-left:auto}.ch-confirm--consent{background:var(--overlay-medium)}.ch-page .settings-panel-head--actions{padding-right:15px}.ch-add.settings-inline-row{align-items:stretch}@media(max-width:600px){.ch-about-row{grid-template-columns:minmax(0,1fr)}.ch-block{grid-template-columns:34px minmax(0,1fr);column-gap:8px}.ch-block-items>li{flex-wrap:wrap;row-gap:0}}.rsf-row .settings-control-copy{max-width:100%}.rsf-row-title{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%}.rsf-row-title>svg{flex:0 0 auto;color:var(--text-faint)}.rsf-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rsf-meta{display:block;margin-top:2px}.rsf-danger{color:var(--danger)}.rsf-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.rsf-actions .btn{white-space:nowrap}.rsf-kbd{display:inline-flex;align-items:center;height:26px;padding:0 9px;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-sm);background:transparent;color:var(--text);font-family:inherit;font-size:var(--ui-font-meta, 12px);letter-spacing:.04em;white-space:nowrap}.rsf-kbd--off{color:var(--text-faint);text-decoration:line-through}.rsf-kbd--recording{border-color:var(--accent);color:var(--accent);cursor:text;letter-spacing:0}.rsf-kbd--recording:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rsf-badge{display:inline-flex;align-items:center;height:18px;margin-left:8px;padding:0 7px;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-pill, 999px);color:var(--text-muted);font-size:var(--ui-font-caption, 11px);vertical-align:1px;white-space:nowrap}.rsf-note{margin:0;padding:11px 15px 12px;color:var(--text-faint);font-size:var(--ui-font-caption, 11px);line-height:1.5}.rsf-note.rsf-danger{color:var(--danger)}.rsf-sub{padding-top:4px}.rsf-sub-title{display:block;padding:10px 15px 2px;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);font-weight:620}.rs-alert{margin-bottom:12px;padding:8px 12px;border-radius:var(--radius-md);background:var(--danger-light);color:var(--danger);font-size:var(--ui-font-meta, 12px);line-height:1.5;overflow-wrap:anywhere}.rs-note,.rs-scope{margin:0;padding:11px 15px 12px;color:var(--text-faint);font-size:var(--ui-font-caption, 11px);line-height:1.5}.rs-note{color:var(--text-light)}.rs-note+.rs-scope,.rs-secrets+.rs-scope,.rs-note+.rs-secrets .rs-note{padding-top:0}.rs-secrets .secnotice.secnotice-inpanel{margin:0 15px 12px}.settings-choice-grid.rs-cap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rs-confirm,.rs-warn{display:flex;gap:10px 14px;margin:0 15px 15px;padding:10px 12px;border-radius:var(--radius-md);background:var(--danger-light)}.rs-confirm{flex-wrap:wrap;align-items:flex-end}.rs-confirm>div:first-child{flex:1 1 280px;min-width:0}.rs-warn{align-items:flex-start;color:var(--danger)}.rs-warn>svg{flex:0 0 auto;margin-top:1px}.rs-confirm strong,.rs-warn strong{display:block;color:var(--text);font-size:var(--ui-font-meta, 12px);font-weight:620}.rs-confirm p,.rs-warn p{margin:3px 0 0;color:var(--text-light);font-size:var(--ui-font-caption, 11px);line-height:1.5}.rs-ack{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--text);font-size:var(--ui-font-meta, 12px);cursor:pointer}.rs-ack>input{margin:0}.rs-confirm-actions{display:flex;gap:6px;margin-left:auto}.rs-confirm-actions .btn{white-space:nowrap}.rs-row .settings-control-copy{max-width:100%}.rs-row-title{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%}.rs-row-title>svg{flex:0 0 auto;color:var(--text-faint)}.rs-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-meta{display:block;margin-top:2px}.rs-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-pill, 999px);color:var(--text-muted);font-size:var(--ui-font-caption, 11px);white-space:nowrap}.rs-page .settings-panel-head--actions{padding-right:15px}@media(max-width:820px){.settings-choice-grid.rs-cap-grid{grid-template-columns:minmax(0,1fr)}}.settings-status-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px;padding:10px 14px;border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--card-shadow)}.settings-status-strip>strong{color:var(--text);font-size:var(--ui-font-body, 13px);font-weight:650}.settings-status-strip-meta{flex:1;min-width:0;display:inline-flex;flex-wrap:wrap;gap:4px 12px;color:var(--text-muted);font-size:var(--ui-font-meta, 12px)}.settings-status-strip .btn{display:inline-flex;align-items:center;gap:5px}.settings-mode-panel .settings-mode-desc{margin:0;padding:12px 15px 0;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.5}.settings-mode-panel .settings-mode-pending{margin:0 15px 15px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--sel-fill, var(--overlay-light));color:var(--text);font-size:var(--ui-font-meta, 12px);line-height:1.5}.settings-body .settings-panel:has(>.settings-save-bar){overflow:clip}.settings-panel>.special-save.settings-save-bar{margin:16px 0 0;padding-inline:15px}.settings-nav-list .settings-nav-results{margin-bottom:14px}.settings-nav-list .settings-nav-result{align-items:flex-start;min-height:40px}.settings-nav-list .settings-nav-result .settings-nav-subitem-mark{margin-top:6px}.settings-nav-result-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.settings-nav-result-copy>span{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.settings-nav-result-copy>small{overflow:hidden;color:var(--text-faint);font-size:var(--ui-font-caption, 11px);text-overflow:ellipsis;white-space:nowrap}.settings-nav-empty{padding:18px 10px;color:var(--text-faint);font-size:var(--ui-font-meta, 12px);text-align:center}.settings-body [data-setting-anchor].is-anchor-flash{border-radius:var(--radius-md);animation:settings-anchor-flash 1.6s ease-out}@keyframes settings-anchor-flash{0%,35%{background-color:var(--sel-fill, var(--accent-light))}}@media(prefers-reduced-motion:reduce){.settings-body [data-setting-anchor].is-anchor-flash{animation-duration:.01s}}[data-platform=mac] .floating-native-root .settings-nav-top{padding-top:14px}[data-platform=mac] .floating-native-root .settings-nav-brand{display:none}.settings-nav .settings-nav-list[data-overflow=bottom]{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent 100%)}.settings-nav .settings-nav-list{scroll-padding:12px 0 36px}.theme-card .theme-preview .theme-preview-sheet small{text-transform:none;letter-spacing:.02em}.theme-card .theme-preview[data-font=serif] .theme-preview-sheet{font-family:ui-serif,Songti SC,"Noto Serif SC",Georgia,serif}.theme-card .theme-preview[data-font=mono] .theme-preview-sheet{font-family:var(--font-mono, ui-monospace, monospace)}.theme-card .theme-preview[data-shape=glass]{position:relative;isolation:isolate}.theme-card .theme-preview[data-shape=glass]:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 16% 30%,color-mix(in srgb,var(--theme-preview-accent) 55%,transparent) 0 13%,transparent 14%),radial-gradient(circle at 26% 78%,color-mix(in srgb,var(--theme-preview-accent) 34%,transparent) 0 11%,transparent 12%),radial-gradient(circle at 80% 18%,color-mix(in srgb,var(--theme-preview-accent) 20%,transparent) 0 16%,transparent 17%)}.theme-card .theme-preview[data-shape=glass] .theme-preview-window{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-card .theme-preview[data-shape=glass] .theme-preview-rail{background:color-mix(in srgb,var(--theme-preview-surface) 48%,transparent);-webkit-backdrop-filter:blur(6px) saturate(160%);backdrop-filter:blur(6px) saturate(160%)}.mk-auto-update{margin-top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:var(--ui-font-meta);line-height:var(--ui-line-meta)}.mk-auto-update label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text);min-height:var(--ui-control-height)}.mk-auto-update input{margin:0;accent-color:var(--accent)}.mk-auto-update small{font-size:var(--ui-font-meta);color:var(--text-muted);overflow-wrap:anywhere}.mk-auto-update small.is-error{color:var(--danger)}.mk-detail-actions .mk-auto-update{margin-top:2px}.ach-toast{position:fixed;left:50%;bottom:128px;transform:translate(-50%);z-index:90;pointer-events:none;-webkit-app-region:no-drag;width:340px;height:52px;animation:ach-t-wrap 4.6s var(--ease-out) both}.ach-toast[data-tier=off]{--medal-bg: var(--bg-card);--medal-fx: var(--accent-ink);--medal-ink: var(--text-muted)}.ach-toast[data-tier=bronze]{--medal-bg: #b87333;--medal-fx: #c98a4b;--medal-ink: #fff}.ach-toast[data-tier=silver]{--medal-bg: #a9a9a9;--medal-fx: #c4c4c4;--medal-ink: #fff}.ach-toast[data-tier=gold]{--medal-bg: #d4af37;--medal-fx: #e2c35b;--medal-ink: #fff}.ach-toast-body{position:absolute;inset:0 0 0 26px;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0 16px 0 40px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);box-shadow:var(--card-shadow);animation:ach-t-body 4.6s var(--ease-out) both}.ach-toast-sub{font-size:var(--ui-font-caption, 11px);color:var(--text-muted);letter-spacing:.02em;animation:ach-t-sub 4.6s var(--ease-out) both}.ach-toast-title{font-size:var(--ui-font-body, 13px);font-weight:600;color:var(--text);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:ach-t-title 4.6s var(--ease-out) both}.ach-toast-badge{position:absolute;left:0;top:0;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--medal-bg);color:var(--medal-ink);border:1px solid var(--border);box-shadow:var(--card-shadow);animation:ach-t-badge 4.6s cubic-bezier(.22,.9,.32,1) both;will-change:transform}.ach-toast-badge>svg{width:22px;height:22px;position:relative;z-index:1}.ach-toast-hit{position:absolute;inset:0;z-index:2;padding:0;border:0;background:none;border-radius:var(--radius-lg, 16px);cursor:pointer;pointer-events:auto;animation:ach-t-hit 4.6s step-end both}.ach-toast-hit:focus-visible{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:2px}.ach-toast:hover,.ach-toast:focus-within{animation-play-state:paused}@keyframes ach-t-hit{0%,30%{pointer-events:none}31%,to{pointer-events:auto}}.ach-toast-badge:before{content:"";position:absolute;left:50%;bottom:62%;width:7px;height:88px;margin-left:-3.5px;border-radius:4px;background:linear-gradient(to top,color-mix(in srgb,var(--medal-fx) 60%,transparent),transparent);animation:ach-t-trail 4.6s linear both}.ach-toast-ring{position:absolute;inset:-4px;border:2px solid var(--medal-fx);border-radius:50%;opacity:.35;animation:ach-t-ring 4.6s var(--ease-out) both}.ach-toast-flash{position:absolute;inset:13px;border-radius:50%;background:#fff;opacity:0;animation:ach-t-flash 4.6s var(--ease-out) both}.ach-toast-glow{position:absolute;inset:-34px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--medal-fx) 50%,transparent),transparent 68%);opacity:0;animation:ach-t-glow 4.6s var(--ease-out) both}.ach-toast-spark{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--medal-fx);opacity:0}.ach-toast-spark.s1{--sx: -8px;--sy: -34px;opacity:.35;animation:ach-t-spark-stay 4.6s var(--ease-out) both}.ach-toast-spark.s2{--sx: 32px;--sy: -24px;opacity:.35;animation:ach-t-spark-stay 4.6s var(--ease-out) both}.ach-toast-spark.s3{--sx: -32px;--sy: 12px;animation:ach-t-spark-fade 4.6s var(--ease-out) both}.ach-toast-spark.s4{--sx: 26px;--sy: 30px;animation:ach-t-spark-fade 4.6s var(--ease-out) both}@keyframes ach-t-wrap{0%,91%{opacity:1;filter:none}to{opacity:0;filter:blur(3px)}}@keyframes ach-t-badge{0%{transform:translate(118px,-104px) rotate(-9deg) scaleY(1.22);opacity:0}2%{opacity:1}9%{transform:translate(118px) rotate(-4deg) scale(1)}13%{transform:translate(118px) rotate(0)}21%{transform:translate(118px)}29%{transform:translate(0)}to{transform:translate(0)}}@keyframes ach-t-trail{0%{opacity:.9}8%{opacity:.7}12%,to{opacity:0}}@keyframes ach-t-ring{0%,9%{transform:scale(.4);opacity:0}13%{transform:scale(1.12);opacity:1}19%{transform:scale(1);opacity:.9}32%,to{transform:scale(1);opacity:.35}}@keyframes ach-t-flash{0%,9.5%{transform:scale(0);opacity:0}12%{transform:scale(1);opacity:.95}17%,to{transform:scale(1.65);opacity:0}}@keyframes ach-t-glow{0%,9.5%{opacity:0}13%{opacity:.7}24%,to{opacity:0}}@keyframes ach-t-spark-stay{0%,10%{transform:translate(0) scale(0);opacity:0}14%{opacity:1}22%{transform:translate(var(--sx),var(--sy)) scale(1);opacity:.7}32%,to{transform:translate(var(--sx),var(--sy)) scale(1);opacity:.35}}@keyframes ach-t-spark-fade{0%,10%{transform:translate(0) scale(0);opacity:0}13%{opacity:1}24%,to{transform:translate(var(--sx),var(--sy)) scale(.6);opacity:0}}@keyframes ach-t-body{0%,20%{clip-path:inset(0 100% 0 0 round 26px)}31%,to{clip-path:inset(0 0 0 0 round 26px)}}@keyframes ach-t-sub{0%,27%{opacity:0;transform:translateY(7px)}33%,to{opacity:1;transform:translateY(0)}}@keyframes ach-t-title{0%,30%{opacity:0;transform:translateY(7px)}36%,to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ach-toast,.ach-toast *{animation:none!important}}.ach-serieshead{display:flex;align-items:center;gap:24px;padding:4px 0 16px;border-bottom:1px solid var(--border);margin-bottom:6px}.ach-serieshead-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.ach-serieshead-pts{font-size:var(--ui-font-meta, 12px);color:var(--text-muted);display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.ach-tier-tag{font-size:var(--ui-font-caption, 11px);font-weight:600;padding:1px 7px;border-radius:var(--radius-pill, 999px);color:#fff}.ach-tier-tag[data-tier=bronze]{background:#b87333}.ach-tier-tag[data-tier=silver]{background:#a9a9a9}.ach-tier-tag[data-tier=gold]{background:#d4af37}.ach-progressbar{height:6px;border-radius:3px;background:var(--overlay-light);overflow:hidden}.ach-progressbar i{display:block;height:100%;border-radius:3px;background:var(--accent-ink);transition:width var(--duration-slow) var(--ease-out)}.ach-medal{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;border:1px solid var(--border);transition:background var(--duration-slow) var(--ease-out)}.ach-medal>svg{width:20px;height:20px}.ach-medal[data-tier=bronze]{background:#b87333}.ach-medal[data-tier=silver]{background:#a9a9a9}.ach-medal[data-tier=gold]{background:#d4af37}.ach-medal.off{background:var(--overlay-light);color:var(--text-faint)}.ach-row{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid var(--border)}.ach-row:last-child{border-bottom:none}.ach-row.claimed{opacity:.55}.ach-row>svg{width:18px;height:18px;color:var(--text-muted);flex:none}.ach-row-main{flex:1;min-width:0}.ach-row-title{font-size:var(--ui-font-body, 13px);font-weight:600;color:var(--text)}.ach-row-desc{font-size:var(--ui-font-meta, 12px);color:var(--text-muted);margin-top:2px}.ach-row-pts,.ach-row-prog{font-size:var(--ui-font-meta, 12px);color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none}.ach-row-got{color:var(--accent-ink);display:grid;place-items:center;width:26px;flex:none}.ach-claim{height:26px;padding:0 12px;flex:none;border:1px solid var(--action-fill);border-radius:var(--radius-sm);background:var(--action-fill);color:var(--on-action);font-size:var(--ui-font-meta, 12px);font-weight:600;cursor:pointer;transition:filter var(--duration-fast) var(--ease-out);-webkit-app-region:no-drag}.ach-claim:hover{filter:brightness(1.06)}.btw-panel{flex:1;width:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.btw-bar{display:flex;align-items:flex-start;gap:8px;box-sizing:border-box;min-height:76px;padding:14px 14px 12px 18px;border-bottom:var(--border-width, 1px) solid var(--border)}.btw-bar-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.btw-context{display:flex;align-items:baseline;gap:8px;min-width:0;color:var(--text);font-size:var(--ui-font-heading, 14px);line-height:1.35}.btw-context>span{flex:none;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);font-weight:400}.btw-context>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.btw-hint{color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.45}.btw-bar>.icon-btn{flex:none;margin-top:-4px}.btw-body{flex:1;min-height:0;overflow-y:auto;padding:18px 18px 12px;display:flex;flex-direction:column;gap:20px}.btw-empty{margin:auto 12px;text-align:center;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.6}.btw-turn{flex:none;display:flex;flex-direction:column;gap:8px;min-width:0}.btw-body>.btw-turn:first-child{margin-top:auto}.btw-turn-quote{margin:0;padding:1px 0 1px 10px;border-left:2px solid var(--border);color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.55;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.btw-turn-q{align-self:flex-end;max-width:88%;padding:6px 11px;border-radius:var(--radius-md, 10px);background:var(--overlay-light);color:var(--text);font-size:var(--ui-font-body, 13px);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.btw-turn .btw-turn-a{max-width:none}.btw-note{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.5}.btw-error{color:var(--danger, #e0564b);font-size:var(--ui-font-meta, 12px);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.btw-turn-actions{display:flex;flex-wrap:wrap;gap:2px;margin-left:-6px}.btw-act{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 6px;border:var(--border-width, 1px) solid transparent;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);cursor:pointer}.btw-act:hover{background:var(--overlay-light);color:var(--text)}.btw-act:focus-visible{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:1px}.btw-compose{padding:10px 14px 14px;display:flex;flex-direction:column;gap:8px;border-top:var(--border-width, 1px) solid var(--border)}.btw-quote-chip{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:var(--radius-sm, 6px);background:var(--overlay-light);color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.5}.btw-quote-chip>svg{flex:none;margin-top:3px}.btw-quote-chip>span{flex:1;min-width:0;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.btw-quote-chip>button{flex:none;display:inline-flex;padding:2px;border:0;background:transparent;color:inherit;cursor:pointer}.btw-input{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 12px;background:var(--bg-card, var(--bg));border:var(--border-width, 1px) solid transparent;border-radius:var(--radius-lg, 14px);box-shadow:var(--card-shadow, 0 6px 22px rgba(0, 0, 0, .08))}.btw-input:focus-within{border-color:var(--border)}.btw-input textarea{flex:1;min-width:0;max-height:160px;padding:4px 0;border:0;border-radius:0;outline:none;resize:none;background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);line-height:1.55}.btw-send{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill, 999px);background:var(--action-fill);color:var(--on-action, #fff);cursor:pointer}.btw-send:disabled{opacity:.35;cursor:default;background:var(--overlay-medium, var(--overlay-light, rgba(127, 127, 127, .25)));color:var(--text-faint, var(--text-muted))}.btw-send.stop{background:color-mix(in srgb,var(--danger, #e0564b) 14%,transparent);color:var(--danger, #e0564b)}.btw-page{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.btw-page-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 10px) 10px 8px 16px;border-bottom:var(--border-width, 1px) solid var(--border);font-size:var(--ui-font-heading, 14px);font-weight:600;color:var(--text)}.btw-page-head>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-call{justify-content:space-between;padding-bottom:14px}.vc-stage{display:flex;flex-direction:column;align-items:center;gap:2px;padding:28px 16px 4px;min-height:0}.vc-portrait{--vc-level: 0;position:relative;width:84px;height:84px;margin-bottom:20px}.vc-halo{position:absolute;inset:-14px;border-radius:50%;background:rgba(var(--accent-rgb),.12);transform:scale(calc(.9 + var(--vc-level) * .3));opacity:calc(.35 + var(--vc-level) * .65);transition:transform 90ms linear,opacity 90ms linear}.voice-call[data-phase=thinking] .vc-halo,.voice-call[data-phase=working] .vc-halo,.voice-call[data-phase=connecting] .vc-halo,.voice-call[data-phase=reconnecting] .vc-halo{animation:vc-breathe 1.6s ease-in-out infinite}.voice-call[data-phase=muted] .vc-halo,.voice-call[data-phase=idle] .vc-halo{opacity:0}@keyframes vc-breathe{0%,to{transform:scale(.92);opacity:.5}50%{transform:scale(1.1);opacity:1}}@media(prefers-reduced-motion:reduce){.vc-halo{transition:none}.voice-call .vc-halo{animation:none}}.vc-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid var(--border);border-radius:50%;object-fit:cover;background:var(--bg-card)}.voice-call[data-phase=muted] .vc-avatar{opacity:.6}.vc-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-font-heading, 15px);line-height:var(--ui-line-heading, 1.4);font-weight:600;color:var(--text)}.vc-status{display:flex;gap:6px;justify-content:center;max-width:100%;min-height:var(--ui-line-meta, 18px);font-size:var(--ui-font-meta, 12px);line-height:var(--ui-line-meta, 1.5);color:var(--text-muted)}.vc-status-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vc-status.is-error{color:var(--danger)}.vc-status.is-error .vc-status-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;text-align:center}.vc-timer{font-variant-numeric:tabular-nums;color:var(--text-faint)}.vc-settings{display:flex;flex-direction:column;padding:0 8px}.vc-row{flex-basis:32px;color:var(--text-muted)}.vc-row>svg{flex:0 0 auto}.vc-controls{display:flex;justify-content:center;gap:28px;padding-top:10px}.vc-btn{display:grid;place-items:center;width:48px;height:48px;border:1px solid transparent;border-radius:50%;cursor:pointer;transition:background var(--duration-fast, .12s),color var(--duration-fast, .12s)}.vc-mute{background:var(--overlay-medium);color:var(--text)}.vc-mute:hover:not(:disabled){background:var(--overlay-strong)}.vc-mute[aria-pressed=true]{background:var(--text);color:var(--bg)}.vc-mute:disabled{opacity:.45;cursor:default}.vc-hangup{background:var(--danger);color:var(--on-danger)}.vc-hangup:hover{filter:brightness(1.08)}.vc-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vc-bar{position:fixed;z-index:40;top:calc(64px + env(safe-area-inset-top));left:12px;right:12px;display:flex;align-items:center;justify-content:flex-start;gap:10px;max-width:460px;margin:0 auto;padding:8px 10px 8px 12px;border:1px solid var(--border);border-radius:var(--radius-pill, 999px);background:color-mix(in srgb,var(--bg-card, var(--bg)) 74%,transparent);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(calc(18px / var(--uiz, 1))) saturate(1.8);backdrop-filter:blur(calc(18px / var(--uiz, 1))) saturate(1.8);animation:vc-bar-in var(--menu-enter-duration, .14s) var(--menu-enter-ease, ease-out) both}body:has(.mb-shell[data-native-chrome]) .vc-bar{top:calc(var(--nc-top, 0) * 1px / var(--uiz, 1) + 6px)}:root[data-glass=off] .vc-bar{background:var(--bg-card, var(--bg));-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes vc-bar-in{0%{opacity:0;scale:.96}}@media(prefers-reduced-motion:reduce){.vc-bar{animation:none}}.vc-bar .vc-portrait{flex:0 0 auto;width:36px;height:36px;margin-bottom:0}.vc-bar .vc-halo{inset:-6px}.vc-bar-text{flex:1 1 auto;min-width:0}.vc-bar .vc-name{font-size:var(--ui-font-body, 14px);line-height:var(--ui-line-body, 1.45)}.vc-bar .vc-status{justify-content:flex-start}.vc-bar .vc-status.is-error .vc-status-text{text-align:left}.vc-bar .vc-btn{flex:0 0 auto;width:40px;height:40px}body:has(.vc-bar) .mb-shell:not(.mini-shell){--mb-top-extra: 70px}body:has(.vc-bar) .mb-shell:not(.mini-shell):not([data-native-chrome]) :is(.mb-drawer,.mb-sidecol){padding-top:var(--mb-top)}.dash2{display:flex;flex-direction:column;min-height:0}.dash2-mode-btn{padding-inline:8px;font-weight:550}.dash2-host{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;cursor:grab;touch-action:none;background:color-mix(in srgb,var(--bg) 96%,var(--text) 4%)}.dash2-host:not([data-locked]):active{cursor:grabbing}.dash2-space{position:absolute;inset:0}.dash2-board{position:absolute;box-sizing:border-box;overflow:hidden;z-index:0;pointer-events:none;border:var(--border-width, 1px) solid var(--overlay-medium, rgba(127, 127, 127, .18));border-radius:var(--radius-lg, 16px);background:var(--bg);box-shadow:var(--card-shadow)}.dash2-board-grid{z-index:0}.dash2-stage{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0}.dash2-stage--responsive{inset:0;width:auto;height:auto;transform:none}.dash2-card{position:absolute;display:flex;flex-direction:column;min-width:0;min-height:0;z-index:1;border:var(--border-width, 1px) solid transparent;border-radius:var(--radius-md, 10px)}.dash2-host:not([data-locked]) .dash2-card{border:1px solid var(--border);border-radius:var(--radius-md, 12px);background:var(--bg);box-shadow:var(--card-shadow)}.dash2-host:not([data-locked]) .dash2-card{touch-action:none}.dash2-host[data-locked] .dash2-card,.dash2-host[data-locked] .dash2-card *{touch-action:auto}.dash2-card[data-selected]{outline:2px solid var(--primary);outline-offset:1px;transition:outline-offset .14s ease,outline-color .14s ease,box-shadow .14s ease}.dash2-card[data-interact]{outline:2px solid color-mix(in srgb,var(--primary) 72%,transparent);outline-offset:5px;box-shadow:var(--card-shadow)}.dash2-card[data-dragging]{z-index:5;opacity:.94;box-shadow:var(--card-shadow)}.dash2-host:not([data-locked]) .dash2-card:not([data-interact]){cursor:grab}.dash2-host:not([data-locked]) .dash2-card[data-dragging]{cursor:grabbing}.dash2-card-body{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;border-radius:inherit}.dash2-del{position:absolute;top:4px;right:4px;z-index:2;border:none;background:var(--overlay-light, rgba(127, 127, 127, .1));color:var(--text-faint, var(--text-muted));cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm, 6px);display:inline-flex;opacity:0}.dash2-card:hover .dash2-del{opacity:1}.dash2-del:hover{color:var(--danger, #e5484d);background:var(--overlay-light, rgba(127, 127, 127, .16))}.dash2-card .amx-card-size-grip{touch-action:none}.dash2-empty{color:var(--text-faint, var(--text-muted));font-size:var(--ui-font-body, 13px);padding:24px}.dash2-empty-stage{position:absolute;left:24px;top:24px;white-space:nowrap}.dash2-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:10px}.dash2-list-card{border:var(--border-width, 1px) solid var(--overlay-medium, rgba(127, 127, 127, .18));border-radius:var(--radius-md, 10px);background:var(--bg-card, var(--bg));overflow:hidden;min-height:120px;max-height:420px;display:flex;flex-direction:column}.dash2-list-card>*{flex:1 1 auto;min-height:0;overflow:auto}.dash2-host[data-locked]{overflow:hidden;cursor:default;touch-action:auto;background:var(--bg-card, var(--bg))}.dash2-host[data-locked] .dash2-card{border-color:transparent;border-radius:0;background:transparent;cursor:default}.dash2-host[data-locked] .dash2-card-body{border-radius:0}.dash2-host[data-narrow]{overflow:hidden;cursor:default;touch-action:auto;background:transparent}.dash2-host[data-narrow][data-locked]{background:var(--bg-card, var(--bg))}.dash2-list[data-locked]{gap:0;padding:0}.dash2-list[data-locked] .dash2-list-card{border-color:transparent;border-bottom-color:var(--overlay-medium, rgba(127, 127, 127, .18));border-radius:0;background:transparent}.agents-space{display:flex;width:100%;height:100%;min-height:0;color:var(--text);container-type:inline-size}.agents-roster{width:216px;flex-shrink:0;display:flex;flex-direction:column;padding:22px 12px;gap:18px;background:var(--overlay-light)}.agents-roster-heading{display:flex;justify-content:space-between;padding-inline:8px;color:var(--text-muted);font-size:var(--ui-font-meta, 12px)}.agents-roster-heading>span{display:inline-flex;align-items:baseline;gap:6px}.agents-roster-heading small{font-size:var(--ui-font-caption, 11px);color:var(--text-faint)}.agents-roster-heading>button{display:grid;place-items:center;width:24px;height:24px;margin:-4px 0;border:0;border-radius:var(--radius-sm, 8px);background:transparent;color:var(--text-muted);cursor:pointer}.agents-roster-heading>button:hover{background:var(--overlay-medium);color:var(--text)}.agents-search,.profile-search{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius-sm, 8px);background:var(--overlay-light);color:var(--text-muted)}.agents-search input,.profile-search input{width:100%;min-width:0;border:0;background:transparent;outline:none;padding:0;box-shadow:none;font-size:var(--ui-font-meta, 12px);color:var(--text)}.profile-search:focus-within{outline:var(--focus-ring) solid var(--accent);outline-offset:-2px}.agents-roster-list{overflow:auto;flex:1;min-height:0}.agents-roster-row{position:relative}.agents-roster-row.dragging{opacity:.5}.agents-roster-item{width:100%;display:flex;gap:10px;align-items:center;border:0;background:transparent;padding:12px 8px;text-align:left;border-radius:var(--radius-sm, 8px);color:var(--text);cursor:pointer}.agents-roster-item:hover,.agents-roster-item.selected{background:var(--overlay-medium)}.agents-roster-item>span:last-child{min-width:0;display:grid;gap:4px;padding-right:16px}.agents-roster-item strong{font-size:var(--ui-font-body, 13px);font-weight:600}.agents-roster-item strong svg{display:inline;margin-left:5px;vertical-align:-1px;color:var(--accent-ink)}.agents-roster-item small{color:var(--text-muted);font-size:var(--ui-font-caption, 11px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agents-roster-more{position:absolute;right:3px;top:16px;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:var(--radius-sm, 8px);background:transparent;color:var(--text-muted);cursor:pointer;opacity:0}.agents-roster-row:hover .agents-roster-more,.agents-roster-more:focus-visible,.agents-roster-more[aria-expanded=true]{opacity:1}.agents-roster-more:hover{background:var(--overlay-medium);color:var(--text)}.agents-roster-actions{display:flex;flex-wrap:wrap;gap:2px 8px;margin:2px 4px 8px;padding:7px;border-radius:var(--radius-sm, 8px);background:var(--overlay-medium)}.agents-roster-actions>span{display:inline-flex;align-items:center;gap:4px;width:100%;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.agents-roster-actions>button{display:inline-flex;align-items:center;gap:5px;padding:5px;border:0;border-radius:var(--radius-sm, 8px);background:transparent;color:var(--text);font-size:var(--ui-font-caption, 11px);cursor:pointer}.agents-roster-actions>button:hover{background:var(--overlay-strong)}.agents-roster-actions>button.danger{color:var(--danger)}.agents-roster-actions>button:disabled{opacity:.45;cursor:default}.agents-roster-create{justify-content:flex-start;gap:8px;padding-inline:8px;margin-top:0}.agents-character{flex:1;min-width:0;min-height:0;overflow:hidden}.agent-create-form{display:grid;align-content:start;gap:20px;width:min(100% - 48px,590px);height:100%;overflow:auto;margin:0 auto;padding:48px 0}.agent-create-form>header{display:flex;align-items:flex-start;gap:14px}.agent-create-form>header>svg{color:var(--accent-ink);margin-top:5px}.agent-create-form h2{margin:0 0 5px;color:var(--text);font-size:var(--ui-font-title, 16px)}.agent-create-form p{margin:0;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.6}.agent-create-form>div:last-child{display:flex;justify-content:flex-end;gap:8px}.agent-profile{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;max-width:1000px;margin:0 auto;padding:0 32px;color:var(--text)}.agent-profile [hidden]{display:none!important}.agent-character-hero{display:flex;align-items:center;gap:22px;padding:24px 0;min-width:0}.agent-portrait{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:96px;height:104px;color:var(--accent-ink);border-radius:var(--radius-lg, 20px);background:var(--overlay-light);overflow:hidden}.agent-portrait img{width:100%;height:100%;object-fit:cover}.agent-portrait.small{width:36px;height:40px;border-radius:var(--radius-sm, 8px)}.agent-character-id{display:block;width:calc(100% + 7px);min-width:0;margin-left:-7px;padding:1px 6px;font-size:var(--ui-font-caption, 11px);color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 8px);text-overflow:ellipsis;transition:background .16s ease,border-color .16s ease}.agent-character-id:not([readonly]):hover{background:var(--overlay-light)}.agent-character-id:not([readonly]):focus{color:var(--text);background:var(--bg-card);border-color:var(--accent-ink)}.agent-character-id[readonly]{cursor:default}.agent-character-identity{min-width:0;flex:1}.agent-portrait-slot{position:relative;flex-shrink:0}.agent-portrait-edit{position:relative;cursor:pointer}.agent-portrait-edit input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.agent-portrait-edit:has(input:focus-visible){outline:var(--focus-ring) solid var(--accent-ink);outline-offset:2px}.agent-portrait-badge,.agent-portrait-remove{position:absolute;display:grid;place-items:center;padding:0;color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:50%;opacity:0;transition:opacity .16s ease}.agent-portrait-badge{right:5px;bottom:5px;width:24px;height:24px;pointer-events:none}.agent-portrait-remove{top:-6px;right:-6px;width:20px;height:20px;color:var(--text-muted);cursor:pointer}.agent-portrait-remove:hover{color:var(--text)}.agent-portrait-slot:hover .agent-portrait-badge,.agent-portrait-slot:hover .agent-portrait-remove,.agent-portrait-edit:has(input:focus-visible) .agent-portrait-badge,.agent-portrait-edit[aria-busy=true] .agent-portrait-badge,.agent-portrait-remove:focus-visible{opacity:1}@media(hover:none){.agent-portrait-badge,.agent-portrait-remove{opacity:1}}.agent-character-name,.agent-character-desc{display:block;width:calc(100% + 7px);min-width:0;margin-left:-7px;padding:1px 6px;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 8px);transition:background .16s ease,border-color .16s ease}.agent-character-name:hover,.agent-character-desc:hover{background:var(--overlay-light)}.agent-character-name:focus,.agent-character-desc:focus{color:var(--text);background:var(--bg-card);border-color:var(--accent-ink)}.agent-character-name{margin-block:3px 4px;font-size:var(--ui-font-display, 20px);font-weight:600;line-height:1.25;letter-spacing:-.025em;text-overflow:ellipsis}.agent-character-desc{max-width:547px;margin-block:0 6px;font-size:var(--ui-font-meta, 12px);line-height:1.6;color:var(--text-muted);resize:none;field-sizing:content;min-height:calc(1.6em + 4px);max-height:calc(4.8em + 4px)}.agent-state{display:inline-flex;align-items:center;gap:6px;font-size:var(--ui-font-caption, 11px);color:var(--text-muted)}.agent-state i{width:5px;height:5px;border-radius:50%;background:var(--text-muted)}.agent-state.working{color:var(--accent-ink)}.agent-state.working i{background:var(--accent)}.profile-expand{flex-shrink:0;align-self:flex-start;display:grid;place-items:center;width:30px;height:30px;padding:0;background:transparent;border:0;border-radius:var(--radius-sm, 8px);color:var(--text-muted);cursor:pointer}.profile-expand:hover{background:var(--overlay-medium);color:var(--text)}.agent-section-nav{--profile-nav-gap: 4px;--profile-nav-padding: 5px;position:relative;isolation:isolate;display:flex;gap:var(--profile-nav-gap);padding:var(--profile-nav-padding);background:var(--overlay-light);border-radius:var(--radius-md, 12px);min-width:0}.agent-section-nav:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset-block:var(--profile-nav-padding);left:var(--profile-nav-padding);width:calc((100% - 2 * var(--profile-nav-padding) - (var(--profile-tab-count, 5) - 1) * var(--profile-nav-gap)) / var(--profile-tab-count, 5));border-radius:var(--radius-sm, 8px);background:var(--bg);box-shadow:var(--btn-shadow);transform:translate(calc(var(--profile-tab-index, 0) * (100% + var(--profile-nav-gap))));transition:transform .2s cubic-bezier(.2,.8,.2,1)}.agent-section-nav button{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 10px;border:0;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm, 8px);cursor:pointer;white-space:nowrap;font-size:var(--ui-font-meta, 12px);transition:background .16s ease,color .16s ease}.agent-section-nav button svg{flex-shrink:0}.agent-section-nav button span{overflow:hidden;text-overflow:ellipsis}.agent-section-nav button:hover{color:var(--text);background:var(--overlay-medium)}.agent-section-nav button.selected{color:var(--accent-ink);background:transparent}.agent-profile-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 2px;scrollbar-width:thin}.agent-profile-content:focus{outline:none}.agent-profile-content:focus-visible{outline:var(--focus-ring) solid var(--accent);outline-offset:-2px}.profile-edit-fields{border:0;margin:0;padding:0;min-width:0}.profile-edit-fields:disabled{opacity:.7}.agent-profile-content h3{font-size:var(--ui-font-meta, 12px);color:var(--text-muted);font-weight:500;margin:24px 0 12px}.agent-current-session{display:grid;gap:8px;margin-bottom:24px;padding:16px;background:var(--overlay-light);border-radius:var(--radius-md, 12px);overflow-wrap:anywhere}.agent-current-session small,.agent-current-session>span{font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-muted)}.agent-current-session>strong{font-size:var(--ui-font-body, 13px);font-weight:600}.agent-current-session .profile-model-field{margin-top:6px}.agent-profile-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:16px;min-height:36px;padding:8px 0;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);background:transparent;border:0;cursor:pointer;text-align:left}.agent-profile-link:hover{color:var(--accent-ink)}.agent-profile-link svg{flex-shrink:0}.agent-profile-muted{color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.65;overflow-wrap:anywhere}.agent-profile-error{color:var(--danger);font-size:var(--ui-font-meta, 12px);line-height:1.6;overflow-wrap:anywhere;margin:0}.profile-config-group{margin-bottom:26px}.profile-config-group>h2{font-size:var(--ui-font-body, 13px);font-weight:600;margin:0 0 10px}.profile-config-group>p{margin:0 0 16px}.agent-config-fields{display:grid;gap:18px}.agent-field{display:grid;gap:8px;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);min-width:0}.agent-field input,.agent-field select,.agent-field textarea{width:100%;min-width:0;color:var(--text);font-size:var(--ui-font-body, 13px)}.agent-field input:not([type=checkbox]),.agent-field select{min-height:36px}.agent-field textarea{resize:vertical;line-height:1.65}.agent-avatar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}.agent-avatar-actions label,.agent-avatar-actions button{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.agent-avatar-actions label[aria-disabled=true]{opacity:.55;cursor:default}.agent-avatar-actions input[type=file]{display:none}.agent-avatar-actions small{flex-basis:100%;color:var(--text-muted);font-size:10px;line-height:1.5}.profile-list-toolbar{display:grid;gap:6px}.profile-list-controls{display:flex;gap:8px;min-width:0}.profile-list-controls>.profile-search{flex:1 1 0;min-width:0}.profile-list-controls>select{flex:0 1 auto;min-width:0;max-width:46%;min-height:36px;font-size:var(--ui-font-meta, 12px);color:var(--text)}.profile-list-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 12px;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);line-height:1.6}.profile-list-actions{display:flex;flex-wrap:wrap;gap:0 12px}.agent-skills-panel{display:grid;gap:8px;min-width:0}.agent-skills-panel .profile-save-notice{overflow-wrap:anywhere}.agent-skills-panel .profile-list-toolbar{margin-bottom:4px}.agent-skills-policy-hint{margin:0;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);line-height:1.55}.agent-skill-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:20px;min-width:0}.agent-skill-section-head:first-of-type{margin-top:8px}.agent-skill-section-head>div{min-width:0}.agent-skill-section-head h3{margin:0 0 3px;color:var(--text);font-size:var(--ui-font-body, 13px);font-weight:600}.agent-skill-section-head p{margin:0;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);line-height:1.5}.agent-skill-section-head .btn{flex-shrink:0;display:inline-flex;align-items:center;gap:5px}.agent-skill-list{display:grid;gap:4px;min-width:0}.agent-skill-row{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:10px 11px;border-radius:var(--radius-sm, 8px);background:var(--overlay-light)}.agent-skill-row.enabled{background:var(--overlay-medium)}.agent-skill-row>label{display:grid;place-items:center;width:20px;height:22px;flex-shrink:0;cursor:pointer}.agent-skill-row input{accent-color:var(--accent)}.agent-skill-row>svg{flex-shrink:0;align-self:center;color:var(--text-muted);transition:transform .16s ease}.agent-skill-row>svg.open{transform:rotate(90deg)}.agent-skill-summary{display:grid;gap:2px;flex:1;min-width:0;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.agent-skill-summary strong{font-size:var(--ui-font-body, 13px);font-weight:500;overflow-wrap:anywhere}.agent-skill-summary span{color:var(--text-muted);font-size:var(--ui-font-meta, 12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-skill-summary small{color:var(--text-faint, var(--text-muted));font-size:var(--ui-font-caption, 11px)}.agent-skill-summary:hover strong{color:var(--accent-ink)}.agent-skill-editor{display:grid;gap:10px;min-width:0;padding:14px;border-radius:var(--radius-md, 12px);background:var(--overlay-light)}.agent-skill-editor>label{display:grid;gap:5px;color:var(--text-muted);font-size:var(--ui-font-meta, 12px)}.agent-skill-editor input,.agent-skill-editor textarea{width:100%;min-width:0;color:var(--text);font-size:var(--ui-font-body, 13px)}.agent-skill-editor textarea{line-height:1.6;resize:vertical}.agent-skill-editor>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}.agent-skill-detail{display:grid;gap:10px;min-width:0;margin-top:12px;padding:14px;border-radius:var(--radius-md, 12px);background:var(--overlay-light)}.agent-skill-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.agent-skill-detail-head strong{font-size:var(--ui-font-body, 13px)}.agent-skill-detail>p{margin:0;font-size:var(--ui-font-meta, 12px);line-height:1.6;color:var(--text-muted)}.agent-skill-detail>small{font-size:var(--ui-font-caption, 11px);line-height:1.5;color:var(--text-faint, var(--text-muted));overflow-wrap:anywhere}.agent-skill-content{min-width:0;max-height:320px;overflow:auto;padding:12px;border-radius:var(--radius-sm, 8px);background:var(--bg);overflow-wrap:anywhere}.agent-skill-detail details{color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.agent-skill-detail details>summary{cursor:pointer}.agent-skill-detail ul{margin:8px 0 0;padding-left:20px;overflow-wrap:anywhere}.agent-skill-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.agent-skill-detail-actions .btn{display:inline-flex;align-items:center;gap:5px}.agent-skill-detail-actions .danger{color:var(--danger)}.profile-text-action{color:var(--text-muted);font-size:var(--ui-font-caption, 11px);background:transparent;border:0;padding:6px 0;cursor:pointer}.profile-text-action:hover,.profile-text-action[aria-pressed=true]{color:var(--accent-ink)}.profile-text-action[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.profile-text-action:disabled{opacity:.45;cursor:default}.agent-equipment-list{margin-top:10px;display:grid;gap:3px}.agent-equipment-item{display:flex;gap:10px;align-items:flex-start;padding:12px 10px;border-radius:var(--radius-sm, 8px);font-size:var(--ui-font-meta, 12px);line-height:1.6;cursor:pointer;transition:background .16s ease}.agent-equipment-item:hover,.agent-equipment-item.enabled{background:var(--overlay-light)}.agent-equipment-item:has(input:focus-visible){outline:var(--focus-ring) solid var(--accent);outline-offset:-2px}.agent-equipment-item input{flex-shrink:0;margin-top:3px;accent-color:var(--accent)}.agent-equipment-item strong{font-size:var(--ui-font-body, 13px);font-weight:500;overflow-wrap:anywhere}div.agent-equipment-item{display:grid;gap:1px;padding:7px 10px;cursor:default}div.agent-equipment-item>label{display:flex;align-items:flex-start;gap:10px;min-width:0;cursor:pointer}.equipment-desc{display:block;width:calc(100% - 23px);min-width:0;margin-left:23px;padding:0;text-align:left;font-size:var(--ui-font-meta, 12px);line-height:1.6;color:var(--text-muted);background:transparent;border:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-desc:hover{color:var(--text)}.equipment-desc:focus-visible{outline:var(--focus-ring) solid var(--accent);outline-offset:1px;border-radius:4px}.equipment-desc[aria-expanded=true]{white-space:normal;overflow-wrap:anywhere}.equipment-group{margin-top:10px;border-radius:var(--radius-sm, 8px);background:var(--overlay-light)}.equipment-group>summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px;font-size:var(--ui-font-meta, 12px);font-weight:500;cursor:pointer;border-radius:var(--radius-sm, 8px)}.equipment-group>summary:hover{background:var(--overlay-light)}.equipment-group>summary:before{content:"";flex-shrink:0;align-self:center;width:0;height:0;border-block:4px solid transparent;border-left:6px solid currentColor;opacity:.7;transition:transform .16s ease}.equipment-group[open]>summary:before{transform:rotate(90deg)}.equipment-group>summary::-webkit-details-marker{display:none}.equipment-group>summary>span{flex:1;min-width:0}.equipment-group>summary>small{font-size:var(--ui-font-caption, 11px);font-weight:400;color:var(--text-muted);white-space:nowrap}.equipment-group>.agent-equipment-list{margin-top:0;padding:0 4px 6px}.equipment-group .agent-equipment-item.enabled{background:transparent}.equipment-group .agent-equipment-item:hover{background:var(--overlay-light)}.profile-empty{padding:26px 12px;text-align:center;font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.agent-profile-save{flex-shrink:0;padding:12px 0;border-top:1px solid var(--border);display:grid;gap:8px;min-width:0}.agent-profile-save:empty{display:none}.agent-profile-save small{color:var(--text-muted);font-size:var(--ui-font-caption, 11px);line-height:1.6;overflow-wrap:anywhere}.agent-profile-save.is-dirty>small{color:var(--accent-ink)}.agent-profile-save>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.agent-profile-save button{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:34px;font-size:var(--ui-font-meta, 12px)}.profile-save-notice{margin:0;display:flex;align-items:center;gap:7px;font-size:var(--ui-font-caption, 11px);color:var(--accent-ink);line-height:1.6}.profile-save-notice svg{flex-shrink:0}.agent-profile-panel{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;color:var(--text)}.agent-profile-panel-title{padding:12px 16px 0;font-size:var(--ui-font-caption, 11px);color:var(--text-muted);flex-shrink:0}.agent-profile-panel-title:has(>button){display:flex;align-items:baseline;justify-content:space-between;gap:8px}.agent-profile-panel>.agent-profile{flex:1;height:auto}.agent-profile.compact{padding:0 16px}.compact .agent-character-hero{gap:12px;padding:16px 0;align-items:center}.compact .agent-portrait{width:48px;height:54px;border-radius:var(--radius-md, 12px)}.compact .agent-character-name{font-size:var(--ui-font-title, 16px);margin-block:2px 3px}.compact .agent-character-desc{font-size:var(--ui-font-caption, 11px);margin-bottom:4px}.compact .agent-portrait-badge{right:3px;bottom:3px;width:18px;height:18px}.compact .agent-portrait-remove{top:-5px;right:-5px;width:17px;height:17px}.compact .agent-section-nav{--profile-nav-gap: 2px;--profile-nav-padding: 4px}.compact .agent-section-nav button{flex-direction:column;gap:5px;font-size:var(--ui-font-caption, 11px);padding:7px 2px}.compact .agent-profile-content{padding-block:18px}.compact .agent-current-session{padding:12px}.agent-profile-team{padding:12px 18px}.agent-profile-team h3{display:flex;align-items:center;gap:8px;font-size:var(--ui-font-body, 13px)}.profile-model-trigger{display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:38px;padding:9px 11px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);background:var(--bg);color:var(--text);cursor:pointer}.profile-model-trigger>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-model-trigger svg{flex-shrink:0;transition:transform .16s ease}.profile-model-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.profile-model-options{padding:8px;background:var(--overlay-light);border-radius:var(--radius-sm, 8px);animation:profile-enter .16s ease both}.profile-model-results{max-height:220px;overflow:auto;margin-top:6px}.profile-model-results button{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:9px 8px;color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm, 8px);text-align:left;cursor:pointer;font-size:var(--ui-font-meta, 12px);overflow-wrap:anywhere}.profile-model-results button:hover,.profile-model-results button[aria-pressed=true]{background:var(--overlay-medium)}.profile-model-results button>span{flex:1;min-width:0;display:grid;gap:3px}.profile-model-results strong{font-size:var(--ui-font-meta, 12px);font-weight:500}.profile-model-results small{color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.profile-model-results svg{flex-shrink:0;color:var(--accent-ink)}.profile-text-editor{display:grid;gap:8px;min-width:0}.profile-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.profile-text-editor>textarea{width:100%;min-width:0;min-height:150px;padding:12px;resize:vertical;font-size:var(--ui-font-body, 13px);line-height:1.75;tab-size:2}.profile-text-preview{min-height:150px;padding:12px;background:var(--overlay-light);border-radius:var(--radius-sm, 8px);overflow-wrap:anywhere}.profile-editor-hint{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-muted)}.profile-editor-hint>span{margin-left:auto;font-variant-numeric:tabular-nums}.profile-disclosure{margin-bottom:16px;padding:12px;background:var(--overlay-light);border-radius:var(--radius-sm, 8px)}.profile-disclosure>summary{cursor:pointer;padding-block:3px;color:var(--text);font-size:var(--ui-font-meta, 12px);font-weight:500}.profile-disclosure[open]>summary{margin-bottom:14px}.profile-memory{font-size:var(--ui-font-body, 13px);line-height:1.7}.profile-memory [hidden]{display:none!important}.profile-memory textarea{width:100%;min-width:0;padding:10px;font-size:var(--ui-font-body, 13px);line-height:1.75;resize:vertical}.profile-memory summary{cursor:pointer;padding-block:6px;font-size:var(--ui-font-meta, 12px)}.profile-memory li{padding-bottom:12px}.profile-memory,.memory-list,.profile-growth-memory{display:grid;gap:10px;min-width:0}.profile-growth-memory>.agent-profile-link{margin-top:0}.profile-growth-memory .profile-disclosure,.agent-schedule .profile-disclosure{margin-bottom:0;padding:8px 12px}.profile-growth-memory .profile-disclosure[open]>summary,.agent-schedule .profile-disclosure[open]>summary{margin-bottom:10px}.profile-disclosure>summary>small{float:right;margin-left:10px;font-size:var(--ui-font-caption, 11px);font-weight:400;color:var(--text-muted)}.memory-add>summary{display:inline-flex;align-items:center;gap:6px;padding-block:2px;font-size:var(--ui-font-meta, 12px);color:var(--accent-ink);list-style:none}.memory-add>summary::-webkit-details-marker{display:none}.memory-add>summary:hover{text-decoration:underline;text-underline-offset:3px}.memory-entry>p{margin:0;font-size:var(--ui-font-body, 13px);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.memory-entry-meta{display:flex;align-items:flex-start;gap:2px;min-width:0;margin-bottom:-4px}.memory-entry-meta>details{flex:1;min-width:0;font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-muted);overflow-wrap:anywhere}.memory-entry-meta>details>summary{padding-block:3px;font-size:var(--ui-font-caption, 11px)}.memory-entry-meta>.harness-undo{margin:0}.memory-footnote{margin:0;font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-faint, var(--text-muted))}.profile-segment{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px}.profile-segment>button{display:grid;gap:2px;min-width:0;padding:10px 12px;text-align:left;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:background .16s ease,color .16s ease}.profile-segment>button:hover{background:var(--overlay-light);color:var(--text)}.profile-segment>button[aria-pressed=true]{color:var(--accent-ink);background:var(--overlay-medium)}.profile-segment strong{display:flex;align-items:center;gap:6px;font-size:var(--ui-font-body, 13px);font-weight:600}.profile-segment small{font-size:var(--ui-font-caption, 11px);line-height:1.5;color:var(--text-muted);overflow-wrap:anywhere}.profile-segment .profile-tab-badge{position:static;margin-left:auto}.schedule-entry,.schedule-rule{display:grid;gap:6px;min-width:0;padding:12px;border-radius:var(--radius-sm, 8px);background:var(--overlay-light)}.schedule-entry.is-past,.schedule-rule.is-past{opacity:.62}.schedule-entry>p{margin:0;font-size:var(--ui-font-meta, 12px);line-height:1.6;color:var(--text-muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.schedule-when{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:var(--ui-font-meta, 12px);line-height:1.6;color:var(--text-muted);font-variant-numeric:tabular-nums}.schedule-when>.harness-kind{margin-right:0}.schedule-when>time{color:var(--text)}.schedule-rule{grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:start}.schedule-rule>svg{margin-top:3px;color:var(--text-muted)}.schedule-rule>span{display:grid;gap:2px;min-width:0}.schedule-rule strong{font-size:var(--ui-font-body, 13px);font-weight:500;overflow-wrap:anywhere}.schedule-rule small{font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-muted);overflow-wrap:anywhere}.schedule-rules>h3{margin:10px 0 8px;font-size:var(--ui-font-meta, 12px);font-weight:500;color:var(--text-muted)}.schedule-past{margin-bottom:0}.schedule-past>.harness-entries{margin-top:0}.agent-schedule .harness-summary .profile-text-action,.profile-memory .harness-summary .profile-text-action{color:var(--text-muted)}.agent-schedule .harness-summary .profile-text-action:hover,.profile-memory .harness-summary .profile-text-action:hover{color:var(--accent-ink)}.agent-harness{display:grid;gap:14px;min-width:0}.agent-harness>p{margin:0}.harness-summary{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:var(--ui-font-meta, 12px);line-height:1.6;color:var(--text-muted)}.harness-summary time{white-space:nowrap}.harness-summary .profile-text-action{display:inline-flex;align-items:center;gap:6px;padding:0;color:var(--accent-ink)}.harness-summary .profile-text-action:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.harness-entries{list-style:none;margin:0;padding:0;display:grid;gap:6px}.harness-entry{display:grid;gap:6px;min-width:0;padding:12px;border-radius:var(--radius-sm, 8px);background:var(--overlay-light)}.harness-entry-head{display:flex;align-items:flex-start;gap:8px;min-width:0}.harness-entry-head strong{flex:1;min-width:0;font-size:var(--ui-font-body, 13px);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.harness-kind{display:inline-block;margin-right:8px;padding:0 7px;vertical-align:1px;font-size:var(--ui-font-caption, 11px);font-weight:500;line-height:17px;white-space:nowrap;color:var(--text-muted);border:1px solid var(--overlay-strong);border-radius:var(--radius-pill, 999px)}.harness-kind.recipe{color:var(--accent-ink)}.harness-undo{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;margin:-2px -4px 0 0;padding:0;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm, 8px);cursor:pointer}.harness-undo:hover{color:var(--text);background:var(--overlay-medium)}.harness-undo:disabled{opacity:.45;cursor:default}.harness-entry>p{margin:0;font-size:var(--ui-font-meta, 12px);line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.harness-evidence,.harness-meta{font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-muted);overflow-wrap:anywhere}.harness-meta{color:var(--text-faint, var(--text-muted));font-variant-numeric:tabular-nums}.harness-empty{display:grid;justify-items:center;gap:10px;padding:32px 16px;text-align:center;color:var(--text-muted);background:var(--overlay-light);border-radius:var(--radius-md, 12px)}.harness-empty>svg{color:var(--accent-ink)}.harness-empty>p{max-width:34em;margin:0;font-size:var(--ui-font-meta, 12px);line-height:1.65}.harness-empty>.btn{display:inline-flex;align-items:center;gap:6px}.harness-candidates>h3{margin:10px 0 8px;font-size:var(--ui-font-meta, 12px);font-weight:500;color:var(--accent-ink)}.harness-candidates>ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.harness-candidate{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;padding:8px 12px;font-size:var(--ui-font-meta, 12px);line-height:1.6;border-radius:var(--radius-sm, 8px);background:var(--overlay-light);overflow-wrap:anywhere}.harness-candidate>time{color:var(--text-faint, var(--text-muted));font-variant-numeric:tabular-nums;white-space:nowrap}.harness-candidate-actions{grid-column:2;display:flex;gap:14px}.harness-candidate-actions .profile-text-action{padding:2px 0}.harness-candidate-actions .profile-text-action.adopt{color:var(--accent-ink)}.harness-candidate-actions .profile-text-action:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.harness-candidates>small{display:block;margin-top:8px;font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-muted)}.agent-section-nav button{position:relative}.profile-tab-badge{position:absolute;top:2px;right:2px;display:inline-grid;place-items:center;min-width:14px;height:14px;padding:0 3px;font-size:var(--ui-font-caption, 11px);font-style:normal;font-weight:600;line-height:1;color:var(--accent-ink);background:var(--overlay-medium);border-radius:var(--radius-pill, 999px)}.harness-history>h3{margin:10px 0 12px;font-size:var(--ui-font-meta, 12px);font-weight:500;color:var(--text-muted)}.harness-history>ol{list-style:none;display:grid;gap:12px;margin:0 0 0 4px;padding:0 0 0 14px;border-left:1px solid var(--border)}.harness-event{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;font-size:var(--ui-font-meta, 12px);line-height:1.5}.harness-event:before{content:"";position:absolute;left:-18px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.harness-event.upsert:before{background:var(--accent)}.harness-event>span{min-width:0;overflow-wrap:anywhere}.harness-event b{margin-right:6px;font-weight:500;color:var(--text-muted)}.harness-event>.profile-text-action{grid-column:2;grid-row:1 / span 2;align-self:center;padding:0}.harness-event>time{grid-column:1;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted));font-variant-numeric:tabular-nums}.harness-history>.profile-text-action{margin-top:8px}.profile-section-enter{animation:profile-enter .18s ease both}@keyframes profile-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(hover:none){.agents-roster-more{opacity:1}}@media(prefers-reduced-motion:reduce){.profile-section-enter,.profile-model-options{animation:none}.agent-section-nav:before,.agent-section-nav button,.agent-equipment-item,.profile-segment>button,.equipment-group>summary:before,.profile-model-trigger svg,.agent-portrait-badge,.agent-portrait-remove,.agent-character-name,.agent-character-desc{transition:none}}.agents-roster{width:100%;height:100%;min-width:0;min-height:0;padding:16px 12px 10px;gap:12px;background:transparent}.agents-roster-heading{align-items:center;min-height:24px}.agents-roster-item{padding-block:10px;transition:background .14s ease}.agents-roster-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agents-roster-item>span:last-child{flex:1}.agents-roster-more{right:3px;top:15px}.agents-roster-create{flex-shrink:0}.agents-character,.agent-profile-panel{container:agent-detail / inline-size}.agent-profile{max-width:760px;padding-inline:28px}.agent-character-hero{gap:18px;padding-block:22px}.agent-portrait{width:68px;height:76px;border-radius:var(--radius-md)}.agent-profile-content{padding-block:20px}.agent-profile .agent-field>input:not([type=checkbox]),.agent-profile .agent-field>select{max-width:460px}.agent-skill-summary,.agent-skill-row,.profile-model-trigger{transition:background .14s ease,color .14s ease}.agent-skill-detail,.agent-skill-editor{animation:profile-enter .16s ease}@container agent-detail (max-width: 540px){.agent-profile{padding-inline:16px}.agent-character-hero{gap:12px;padding-block:16px}.agent-portrait{width:48px;height:54px}.agent-character-name{font-size:var(--ui-font-title)}.agent-section-nav{--profile-nav-gap: 2px;--profile-nav-padding: 4px}.agent-section-nav button{flex-direction:column;gap:5px;padding:7px 2px;font-size:var(--ui-font-meta)}.agent-profile-content{padding-block:18px}}@media(prefers-reduced-motion:reduce){.agent-skill-detail,.agent-skill-editor{animation:none}.agents-roster-item,.agent-skill-summary,.agent-skill-row,.profile-model-trigger{transition:none}}.profile-list-controls>.capability-menu-trigger{flex:0 1 auto;max-width:46%;font-size:var(--ui-font-meta)}.profile-model-results button{font-size:var(--menu-text-size);line-height:var(--menu-line-height)}.agents-roster .agents-roster-create{justify-content:flex-start}.agent-profile .profile-model-field{max-width:460px}.agent-skill-extend{padding:14px 16px 20px}.agent-skill-extend>.agent-skill-detail{margin:0;padding:0;border-radius:0;background:none}.agent-skill-extend .agent-skill-content{max-height:none}.agent-skill-row.current{box-shadow:inset 0 0 0 1px var(--accent),0 0 0 .5px var(--accent)}.agent-skill-row.current>svg{color:var(--accent-ink)}.compact .agent-section-nav button span{max-width:100%;min-width:0}.profile-model-trigger .profile-model-custom{margin-left:6px;color:var(--text-faint);font-size:var(--ui-font-caption, 11px)}.team-profile{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 16px;min-width:0}.team-profile [hidden]{display:none!important}.team-profile-main{display:flex;flex-direction:column;flex:1;min-height:0}.team-profile-hero{display:flex;align-items:center;gap:12px;padding-block:16px;flex-shrink:0}.team-profile-emblem{width:48px;height:54px;display:grid;place-items:center;flex-shrink:0;padding:0;font-size:26px;color:var(--accent-ink);background:var(--overlay-light);border:0;border-radius:var(--radius-md, 12px)}.team-profile-emblem>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.team-profile-emblem.agent-portrait-edit{transition:background .16s ease,color .16s ease}.team-profile-emblem.agent-portrait-edit:hover{color:var(--text);background:var(--overlay-medium)}.team-profile-hero>div{min-width:0}.team-profile-hero .team-profile-identity{flex:1}.team-profile-hero h3{margin:0 0 5px;font-size:var(--ui-font-caption, 11px);font-weight:400;color:var(--text-muted)}.team-profile-hero .team-profile-name{margin-block:0 3px;font-size:var(--ui-font-title, 16px);letter-spacing:-.02em}.team-profile-hero .team-profile-desc{margin-bottom:4px;font-size:var(--ui-font-caption, 11px)}.team-profile-hero .agent-portrait-badge{right:3px;bottom:3px;width:18px;height:18px}.team-profile-hero .agent-portrait-remove{top:-5px;right:-5px;width:17px;height:17px}.team-emblem-emoji{width:100%;height:100%;padding:0;font-size:26px;line-height:1;text-align:center;color:var(--text);background:var(--bg-card);border:1px solid var(--accent-ink);border-radius:inherit}.team-profile-hero .agent-state{flex-wrap:wrap;row-gap:5px}.team-profile-location{flex-shrink:0;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);overflow-wrap:anywhere;margin:0 0 14px}.team-profile .agent-section-nav{flex-shrink:0}.team-profile-fields{flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border:0;margin:0;padding:0 2px 18px;min-width:0;min-height:0;animation:profile-enter .18s ease both}.team-profile-caption{margin:0;color:var(--text-muted);font-size:var(--ui-font-meta, 12px);line-height:1.6}.team-lineup-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;padding-block:16px}.team-lineup-toolbar .team-profile-caption{flex:1;min-width:110px}.team-lineup-toolbar .team-member-add{min-height:32px;padding:6px 9px;flex-shrink:0;font-size:var(--ui-font-caption, 11px)}.team-lineup{display:grid;gap:10px}.team-member{min-width:0;border:1px solid transparent;border-radius:var(--radius-md, 12px);padding:12px;background:var(--overlay-light)}.team-member-open{display:grid;grid-template-columns:40px minmax(0,1fr) 14px;gap:3px 10px;align-items:center;width:100%;padding:0;text-align:left;border:0;background:transparent;color:var(--text);cursor:pointer}.team-member-open:hover{color:var(--accent-ink)}.team-member-open>strong,.team-member-status{grid-column:2}.team-member-open>strong{font-size:var(--ui-font-body, 13px);font-weight:600;overflow-wrap:anywhere}.team-member-portrait{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;grid-row:1 / 3;color:var(--accent-ink);background:var(--overlay-light);border-radius:var(--radius-sm, 8px);overflow:hidden}.team-member-portrait>svg:first-child{width:26px;height:26px}.team-member-portrait img{width:100%;height:100%;object-fit:cover}.team-member-chevron{grid-column:3;grid-row:1 / 3;color:var(--text-muted)}.team-member-status{color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.team-member-status.working,.team-member-status.waiting{color:var(--accent-ink)}.team-member-status.failed,.team-member.unavailable .team-member-status{color:var(--danger)}.team-member-tuning{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding-top:10px}.team-member-tuning-k{flex:0 0 100%;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.team-member-tuning .model-select{flex:1 1 104px;min-width:0}.team-member-tuning .model-select-btn{padding:5px 8px;font-size:var(--ui-font-meta, 12px)}.team-member-effort{flex:0 1 88px;min-width:0;padding:5px 6px;font-size:var(--ui-font-meta, 12px)}.team-member-role{display:grid;gap:6px;padding-top:12px;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.team-member-role textarea{min-width:0;width:100%;padding:8px;font-size:var(--ui-font-meta, 12px);line-height:1.6;resize:vertical}.team-member-actions{display:flex;gap:4px;padding-top:8px}.team-member-actions button{border:0;background:transparent;color:var(--text-muted);width:30px;height:30px;display:grid;place-items:center;cursor:pointer;border-radius:var(--radius-sm, 8px);transition:background .16s ease,color .16s ease}.team-member-actions button:last-child{margin-left:auto}.team-member-actions button:hover:not(:disabled){background:var(--overlay-medium);color:var(--text)}.team-member-actions button:last-child:hover:not(:disabled){color:var(--danger)}.team-member-actions button:disabled{opacity:.35;cursor:default}.team-member-add{display:flex;align-items:center;justify-content:center;min-height:44px;gap:8px;color:var(--accent-ink);border:1px solid var(--border);border-radius:var(--radius-sm, 8px);background:transparent;cursor:pointer;font-size:var(--ui-font-meta, 12px)}.team-member-add svg{width:16px;height:16px}.team-member-add:hover{background:var(--overlay-light)}.team-candidate-picker{padding:12px;margin-bottom:12px;background:var(--overlay-light);border-radius:var(--radius-md, 12px);animation:profile-enter .16s ease both}.team-candidate-heading{display:flex;align-items:center;gap:6px}.team-candidate-heading .agents-search{flex:1;min-width:0}.team-candidate-heading>button{padding:7px;border:0;background:transparent;color:var(--text-muted)}.team-candidates{max-height:220px;overflow:auto;margin-top:8px}.team-candidates>button{display:flex;align-items:center;gap:8px;padding:10px 4px;width:100%;text-align:left;border:0;background:transparent;color:var(--text);cursor:pointer}.team-candidates>button:hover{color:var(--accent-ink)}.team-candidates>button>span{flex:1;min-width:0;display:grid;gap:4px}.team-candidates strong{font-size:var(--ui-font-meta, 12px);font-weight:500}.team-candidates small{color:var(--text-muted);font-size:var(--ui-font-caption, 11px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-config-fields{padding-top:20px}.team-config-fields>.profile-config-group{margin:0}.team-member-heading{flex-shrink:0;display:grid;gap:8px;padding-block:14px 10px;border-bottom:1px solid var(--border)}.team-member-heading>button{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:var(--ui-font-meta, 12px);color:var(--text-muted);background:transparent;border:0;cursor:pointer}.team-member-heading>small{color:var(--text-muted);font-size:var(--ui-font-caption, 11px);overflow-wrap:anywhere;line-height:1.6}.team-draft-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.team-detail-pane{flex:1;min-height:0}.team-profile .agent-profile.compact{padding-inline:0}.team-temp-member{height:100%;overflow:auto;padding-block:15px}.team-temp-member .agent-character-hero{gap:12px;padding:0}.team-temp-member h2{font-size:var(--ui-font-title, 16px);font-weight:500;overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.team-profile-fields,.team-candidate-picker{animation:none}.team-member-actions button,.team-profile-emblem.agent-portrait-edit{transition:none}}.project-profile-path{display:flex;align-items:center;gap:6px;min-width:0}.project-profile-path>button{min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;transition:color .16s ease}.project-profile-path>button:hover{color:var(--accent-ink)}.project-profile-path>.project-creation-action{flex:none;margin-left:auto;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.project-profile-path>.project-creation-action:disabled{opacity:.45;cursor:default}.project-profile .agent-section-nav{--profile-nav-gap: 2px;--profile-nav-padding: 4px}.project-profile .agent-section-nav button{flex-direction:column;gap:5px;font-size:var(--ui-font-caption, 11px);padding:7px 2px}.project-branch{display:inline-flex;align-items:center;gap:3px;min-width:0;max-width:100%;padding:1px 7px;border-radius:999px;background:var(--overlay-medium)}.project-branch>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-section{display:grid;gap:10px;padding-top:16px}.project-card{display:grid;gap:10px;padding:12px;background:var(--overlay-light);border-radius:var(--radius-md, 12px);min-width:0}.project-card-head{display:flex;align-items:flex-start;gap:8px;min-width:0}.project-card-head>div{flex:1;min-width:0;display:grid;gap:3px}.project-card-head h3{margin:0;font-size:var(--ui-font-body, 13px);font-weight:600}.project-card-head small{font-size:var(--ui-font-caption, 11px);color:var(--text-muted);overflow-wrap:anywhere}.project-card-head>button{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:var(--radius-sm, 8px);background:transparent;color:var(--text-muted);cursor:pointer}.project-card-head>button:hover{background:var(--overlay-medium);color:var(--text)}.project-card-actions{display:flex;flex-wrap:wrap;gap:6px}.project-card-actions .btn{display:inline-flex;align-items:center;gap:5px;min-height:28px}.project-chips{display:flex;flex-wrap:wrap;gap:4px}.project-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:var(--overlay-medium);color:var(--text-muted);font-size:var(--ui-font-caption, 11px);line-height:1.5}.project-chip.ok{color:var(--accent-ink)}.project-chip.warn{color:var(--danger)}.project-list{display:grid;gap:2px}.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;width:100%;padding:7px 8px;border:0;border-radius:var(--radius-sm, 8px);background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:background .16s ease}.project-row:hover{background:var(--overlay-medium)}.project-memory-list{margin:0;padding:0;list-style:none}.project-memory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:7px 8px;border-radius:var(--radius-sm, 8px);color:var(--text);font-size:var(--ui-font-meta, 12px);line-height:1.55}.project-memory-row:hover{background:var(--overlay-medium)}.project-memory-row span{min-width:0;overflow-wrap:anywhere}.project-memory-row button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:var(--radius-sm, 8px);background:transparent;color:var(--text-muted);cursor:pointer}.project-memory-row button:hover:not(:disabled){background:var(--overlay-strong, var(--overlay-medium));color:var(--danger)}.project-memory-row button:disabled{opacity:.5;cursor:default}.project-memory-pending{display:grid;gap:6px;margin-top:6px}.project-memory-pending>strong{padding:0 8px;font-size:var(--ui-font-meta, 12px);font-weight:500;color:var(--accent-ink)}.project-memory-pending>ul{display:grid;gap:6px}.project-memory-pending>small{padding:0 8px;font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-muted)}.project-memory-candidate{display:grid;gap:2px;padding:7px 8px;border-radius:var(--radius-sm, 8px);background:var(--overlay-light);color:var(--text);font-size:var(--ui-font-meta, 12px);line-height:1.55;overflow-wrap:anywhere}.project-memory-candidate>div{display:flex;gap:14px}.project-memory-candidate .profile-text-action{padding:2px 0}.project-memory-candidate .profile-text-action.adopt{color:var(--accent-ink)}.project-memory-candidate .profile-text-action:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.project-memory-compacted{margin-top:6px}.project-memory-compacted>summary{padding:0 8px;font-size:var(--ui-font-meta, 12px);color:var(--text-muted);cursor:pointer}.project-memory-compacted>ul{display:grid;gap:6px;margin-top:6px}.project-memory-compacted>small{display:block;margin-top:6px;padding:0 8px;font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--text-muted)}.project-row strong{font-size:var(--ui-font-meta, 12px);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row span,.project-row small{min-width:0;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row code{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--ui-font-caption, 11px);color:var(--text-muted)}.project-row-static{cursor:default}.project-row-static:hover{background:transparent}.project-git-change{grid-template-columns:22px minmax(0,1fr)}.project-git-change code.staged{color:var(--accent-ink)}.project-git-change code.untracked{color:var(--text-faint)}.project-git-commit strong{grid-column:1}.project-git-commit small{grid-column:2;grid-row:1}.project-git-commit code{grid-column:1 / -1;grid-row:2}.project-git-summary{display:grid;gap:6px}.project-git-summary>div{display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--ui-font-meta, 12px)}.project-git-summary>div>span:first-child{flex:0 0 44px;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.project-git-summary>div>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.project-executor .team-member-open>strong{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;min-width:0}.project-executor .team-member-open>strong>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-executor-tags{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.project-executor-tag{flex-shrink:0;padding:1px 6px;border-radius:999px;background:var(--overlay-medium);color:var(--accent-ink);font-size:var(--ui-font-caption, 11px);font-weight:400}.project-executor-tag.is-text{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-inline-actions{display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;padding-top:6px}.project-inline-actions.start{justify-content:flex-start;padding-top:0;margin:0 -7px}.project-inline-actions button{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:0;border-radius:var(--radius-sm, 8px);background:transparent;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);cursor:pointer;transition:background .16s ease,color .16s ease}.project-inline-actions button:hover:not(:disabled){background:var(--overlay-medium);color:var(--text)}.project-inline-actions button:disabled{opacity:.45;cursor:default}.project-inline-actions button.is-default{color:var(--accent-ink)}.project-field{display:grid;gap:6px;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.project-field select{width:100%;min-width:0;padding:6px 8px;font-size:var(--ui-font-meta, 12px);color:var(--text)}.project-card .profile-model-field{margin:0}.project-skill-form{display:grid;gap:8px;animation:profile-enter .16s ease both}.project-skill-form label{display:grid;gap:4px;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.project-skill-form input,.project-skill-form textarea{width:100%;min-width:0;padding:7px 8px;font-size:var(--ui-font-meta, 12px)}.project-skill-form>div{display:flex;justify-content:flex-end;gap:6px}.project-candidates optgroup,.project-field optgroup{color:var(--text-muted)}.project-git-empty{display:grid;gap:8px}.project-git-empty p{margin:0}.project-git-commit-confirm{display:flex;gap:6px;margin-left:auto}.project-git-commit-form{animation:profile-enter .16s ease both}.project-git-message{width:100%;min-width:0;padding:7px 8px;font-size:var(--ui-font-meta, 12px);line-height:1.6;resize:vertical}.project-git-error{display:grid;gap:6px;color:var(--danger);font-size:var(--ui-font-meta, 12px)}.project-git-error p{margin:0}.project-git-trust{display:grid;gap:6px;padding:8px 10px;border-radius:var(--radius-sm, 8px);background:var(--overlay-medium);font-size:var(--ui-font-meta, 12px)}.project-git-trust p{margin:0}.project-git-trust pre,.project-git-files ul{margin:0;max-height:140px;overflow:auto;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--ui-font-caption, 11px)}.project-git-trust pre{color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.project-git-files{display:grid;gap:4px;min-width:0}.project-git-files small{color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.project-git-files ul{display:grid;gap:2px;padding:6px 8px;list-style:none;border-radius:var(--radius-sm, 8px);background:var(--overlay-medium)}.project-git-files li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px;min-width:0}.project-git-files li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-git-files li code{color:var(--text-muted)}.project-git-error pre{margin:0;max-height:140px;overflow:auto;padding:6px 8px;border-radius:var(--radius-sm, 8px);background:var(--overlay-medium);color:var(--text-muted);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--ui-font-caption, 11px);white-space:pre-wrap;overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.project-skill-form,.project-git-commit-form{animation:none}.project-row,.project-inline-actions button,.project-profile-path>button{transition:none}}.t2o{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;background:transparent;font-family:var(--font-ui);color:var(--text);-webkit-app-region:no-drag}.t2o-head{padding-inline:6px}.t2o-projects{display:flex;flex:1 1 auto;min-height:96px;min-width:0}.t2o{--t2s-icon: 16.9px}.t2o .t2s-special-ic>svg{width:var(--t2s-icon);height:var(--t2s-icon)}.t2o .t2s-vaultseg.t2s-mode{width:94px;height:26px;flex-shrink:0;margin-block:0;margin-inline:0 4px}.t2o .t2s-vaultseg.t2s-mode button{padding:0;font-size:var(--ui-font-caption, 11px);line-height:16px}.t2o-plus{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border:none;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2o-plus:hover{background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text)}.t2o-row{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding-block:5px;padding-inline:14px 6px;border:none;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);text-align:left;cursor:pointer;transition:background var(--duration-fast, .15s);--t2s-icon: 28.5px}.t2o-row:hover{background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2o-row.active{background:color-mix(in srgb,var(--accent-ink) 12%,transparent)}.t2o-row.active:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--accent-ink)}.t2o-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-font-body, 13px);font-weight:400;line-height:1.4}.t2o-row.active .t2o-name{font-weight:500}.t2o-pin-mark{width:12px;height:12px;flex-shrink:0;color:var(--accent-ink);opacity:.72}.t2o-row .t2o-lead{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0}.t2o-lead-box{border-radius:50%;background:var(--overlay-light, rgba(127, 127, 127, .08));color:var(--text-muted)}.t2o-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;display:block;flex-shrink:0}.t2o-avatar-text{display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;line-height:1;background:var(--overlay-medium);color:var(--text-muted)}.t2o-avatar-text.t2o-avatar-gone{color:var(--text-faint, var(--text-muted))}.t2o-lead .t2s-dot{position:absolute;right:-1px;bottom:-1px;box-shadow:0 0 0 1.5px var(--sidebar-bg)}.t2o-lead .t2s-dot.proactive{top:-1px;bottom:auto;background:var(--accent-ink)}.t2o-tail{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:var(--radius-sm, 6px);color:var(--text-faint, var(--text-muted));cursor:pointer;opacity:1;transition:opacity var(--duration-fast, .15s),background var(--duration-fast, .15s)}@media(hover:hover){.t2o-tail{opacity:0}.t2o-row:hover .t2o-tail,.t2o-row:focus-within .t2o-tail{opacity:.7}.t2o-row .t2o-tail:hover{opacity:1;background:var(--overlay-light, rgba(127, 127, 127, .12))}}.t2o-badge{flex-shrink:0;padding-block:1px;padding-inline:6px;border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-pill, 999px);color:var(--text-faint, var(--text-muted));font-size:var(--ui-font-caption, 11px);line-height:1.5;white-space:nowrap}.t2o-item-off{opacity:.45;cursor:default}.t2o-item-off.t2o-item-off:hover{background:transparent;color:var(--text-light)}.t2o .t2o-projects>.t2s-side{background:transparent}.t2o .t2s-group .t2s-folder-row{gap:8px;padding-block:5px;padding-inline:4.5px}.t2o .t2s-group .t2s-folder-row .t2s-lead{width:30px;height:30px;border-radius:var(--radius-sm, 6px);background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2o .t2s-group .t2s-folder-row .t2s-lead img.t2s-project-icon{width:100%;height:100%;border-radius:inherit}.t2o .t2s-group .t2s-folder-row .t2s-lead-chev>svg{width:16px;height:16px}.t2-chat-body>.t2o-bar{position:absolute;top:0;left:0;right:0;z-index:3}.t2-chat-body:has(>.t2o-bar) .t2-stream{padding-top:36px}.t2o-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:32px;padding:4px 10px;background:var(--overlay-light, rgba(127, 127, 127, .08));border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;font-size:var(--ui-font-caption, 11px);color:var(--text-muted)}.t2o-bar-lead{display:inline-flex;align-items:center;width:18px;height:18px;flex-shrink:0}.t2o-bar-title{font-size:var(--ui-font-body, 13px);font-weight:600;color:var(--text);white-space:nowrap}.t2o-bar-sub{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.t2o-bar-avatars{display:inline-flex;align-items:center;gap:2px}.t2o-bar-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center}.t2o-bar-avatar-text{font-size:var(--ui-font-caption, 11px);font-weight:600;color:var(--text-muted);background:var(--overlay-medium)}.t2o-bar-acts{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.t2o-bar-chip{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:var(--ui-font-caption, 11px);font-weight:600;line-height:1;color:var(--text);padding:4px 9px;border-radius:var(--radius-pill, 999px);border:1px solid var(--border);background:transparent;cursor:pointer}.t2o-bar-chip:hover{background:var(--overlay-light, rgba(127, 127, 127, .08))}.t2o-bar-chip:disabled{opacity:.5;cursor:default}.t2o-bar-note{flex-basis:100%;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted))}@media(max-width:360px){.t2o-bar-sub:not([role=status]),.t2o-bar-title{display:none}.t2o-bar-sub[role=status]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;flex:none}}.t2o-row-gone .t2o-name{color:var(--text-muted);font-weight:400}.t2o-desk-rows{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:2px;padding:4px 6px 6px;pointer-events:none}.t2o-desk-row{display:flex;align-items:center;gap:8px;min-height:26px;font-size:var(--ui-font-meta, 12px);color:var(--text)}.t2o-desk-row>.t2o-bar-avatar{flex-shrink:0}.t2o-desk-name{flex-shrink:0;max-width:42%;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2o-desk-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--text-muted);opacity:.45}.t2o-desk-dot[data-status=working]{background:var(--accent-ink);opacity:1;animation:t2o-pulse 1.2s ease-in-out infinite}.t2o-desk-dot[data-status=waiting]{background:var(--warning);opacity:1}.t2o-desk-dot[data-status=done]{background:var(--accent-ink);opacity:.9}.t2o-desk-dot[data-status=failed]{background:var(--danger);opacity:1}.t2o-desk-activity{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.t2o-desk-strip{display:flex;gap:4px;padding:6px 8px;border-bottom:var(--border-width) solid var(--border);overflow:auto;flex-shrink:0}.t2o-desk-tab{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 5px;border-radius:var(--radius-pill, 999px);border:1px solid var(--border);background:transparent;color:var(--text);font-size:var(--ui-font-meta, 12px);cursor:pointer;white-space:nowrap}.t2o-desk-tab[aria-selected=true]{border-color:var(--accent-ink);background:color-mix(in srgb,var(--accent-ink) 10%,transparent)}.t2o-desk-work{flex:1;min-height:0;overflow:auto;padding:8px 10px;font-size:var(--ui-font-meta, 12px)}.t2o-desk-task{font-size:var(--ui-font-caption, 11px);color:var(--text-muted);margin-bottom:8px}.t2o-desk-empty{color:var(--text-muted);font-size:var(--ui-font-meta, 12px);padding:12px 10px}.t2o-bar-avatar.is-working{box-shadow:0 0 0 1.5px var(--accent-ink);animation:t2o-pulse 1.2s ease-in-out infinite}.t2o-bar-avatar.is-waiting{box-shadow:0 0 0 1.5px var(--warning)}.t2-team-done{font-size:var(--ui-font-caption, 11px);margin-top:4px;color:var(--accent-ink);opacity:.85}@keyframes t2o-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.t2o-desk-dot,.t2o-bar-avatar.is-working{animation:none}}.t2o-team-status{margin-top:8px}.t2o-team-status .t2o-desk-row{width:100%;text-align:left;border:0;background:transparent;padding:5px 0;cursor:pointer}.t2o-team-status .t2o-desk-row:hover{color:var(--accent-ink)}.t2o-team-status .t2o-desk-work{max-height:280px;padding:8px 0}.t2-team-summary{margin:16px 0;padding:12px 16px;border-radius:var(--radius-md, 12px);background:var(--overlay-light, rgba(127,127,127,.06));color:var(--text-muted);font-size:var(--ui-font-meta, 12px)}.t2-team-summary>summary{cursor:pointer;font-weight:600}.t2-team-summary .md-body{margin-top:12px;color:var(--text)}.t2o-head .t2s-special{padding-inline:14px 6px;gap:8px;min-height:40px}.t2o-head .t2s-special-ic{width:30px;height:30px;align-items:center;justify-content:center}.t2o-filters.t2s-vaultseg{width:auto;height:28px;margin:0 20px 8px;flex-shrink:0}.t2o-filters.t2s-vaultseg button{flex:1;min-width:0;padding-inline:3px;font-size:var(--ui-font-caption, 11px)}.t2o-filters .t2s-vaultseg-thumb{width:calc((100% - 4px)/4)}.t2o-historian-event{margin-block:6px;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);overflow-wrap:anywhere}.historian-working{animation:t2o-pulse 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.historian-working{animation:none}}.t2o-bar-note:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.auto-detail{height:100%;overflow-y:auto;padding:18px 22px}.auto-detail-empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:var(--ui-font-body, 13px)}.auto-card{max-width:900px;margin:0 auto 16px;padding:0;border:0;background:transparent;display:flex;flex-direction:column;gap:8px}.auto-card .auto-card-head{display:flex;align-items:center;gap:10px}.auto-card .auto-card-title{font-size:var(--ui-font-heading, 14px);font-weight:600;flex:1;min-width:0}.auto-facts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--ui-font-meta, 12px);color:var(--text-light)}.auto-facts .auto-fact{display:flex;align-items:center;gap:5px;min-width:0}.auto-facts .auto-fact b{font-weight:500;color:var(--text-faint)}.auto-facts .auto-fact-warn{color:var(--warning)}.auto-transcript-head{font-size:var(--ui-font-caption, 11px);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:4px 0 10px}.auto-msg{margin-bottom:14px}.auto-msg .auto-msg-role{font-size:var(--ui-font-caption, 11px);font-weight:600;color:var(--text-faint);margin-bottom:3px}.auto-msg .auto-msg-body{font-size:var(--ui-font-body, 13px);line-height:1.6}.auto-msg .auto-msg-body.user{background:var(--bg-hover, rgba(128, 128, 128, .08));border-radius:var(--radius-md, 12px);padding:8px 12px}.auto-msg .auto-msg-tools{font-size:var(--ui-font-caption, 11px);color:var(--text-faint);margin-top:4px}.auto-runs{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:10px;gap:2px}.auto-run-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm, 6px);cursor:default;font-size:var(--ui-font-meta, 12px);min-width:0}.auto-run-row:hover{background:var(--bg-hover, rgba(128, 128, 128, .08))}.auto-run-row .auto-run-time{color:var(--text-light);flex-shrink:0}.auto-run-row .auto-run-meta{flex:1;min-width:0;color:var(--text-faint);font-size:var(--ui-font-caption, 11px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.auto-runs-empty{color:var(--text-faint);font-size:var(--ui-font-meta, 12px);padding:14px 8px;text-align:center}.auto-node .auto-node-head{display:flex;align-items:center;gap:8px;font-size:var(--ui-font-body, 13px);font-weight:600;margin-bottom:10px}.auto-node .auto-node-head .auto-ic{color:var(--accent-ink, var(--accent));display:flex}.auto-node .field{margin-bottom:10px}.auto-node .field:last-child{margin-bottom:0}.auto-node label{display:block;font-size:var(--ui-font-caption, 11px);color:var(--text-faint);margin-bottom:4px}.auto-node input[type=text],.auto-node input[type=number],.auto-node input[type=time],.auto-node select,.auto-node textarea{width:100%;box-sizing:border-box;font-size:var(--ui-font-meta, 12px);padding:6px 9px;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg-input, transparent);color:var(--text)}.auto-node textarea{min-height:68px;resize:vertical;font-family:inherit}.auto-seg{display:flex;gap:6px}.auto-seg button{flex:1;padding:6px 4px;border-radius:var(--radius-sm, 6px);border:var(--border-width) solid var(--border);background:none;color:var(--text-light);font-size:var(--ui-font-meta, 12px);cursor:pointer}.auto-seg button.active{border-color:var(--accent-ink, var(--accent));color:var(--accent-ink, var(--accent));font-weight:500}.auto-builder-actions{display:flex;gap:10px;margin-top:22px;justify-content:flex-end}.auto-node input[type=datetime-local]{width:100%;box-sizing:border-box;font-size:var(--ui-font-meta, 12px);padding:6px 9px;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg-input, transparent);color:var(--text)}.auto-hint{font-size:var(--ui-font-caption, 11px);color:var(--text-faint);margin-top:4px;line-height:1.5}.auto-inline{display:flex;gap:6px;align-items:center}.auto-inline select{width:auto}.auto-check{display:flex;align-items:center;gap:6px;font-size:var(--ui-font-meta, 12px);color:var(--text-light)}.auto-check input[type=checkbox]{width:auto}.auto-node-head .auto-step-tools{margin-left:auto;display:flex;gap:2px}.auto-node-head .auto-step-tools .icon-btn{opacity:.55}.auto-node-head .auto-step-tools .icon-btn:hover{opacity:1}.auto-node-muse{border-style:dashed}.auto-guard{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:var(--ui-font-meta, 12px);color:var(--text-light)}.auto-guard label{font-size:var(--ui-font-caption, 11px);color:var(--text-faint)}.auto-guard input[type=number]{width:80px;font-size:var(--ui-font-meta, 12px);padding:5px 8px;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg-input, transparent);color:var(--text)}.auto-fire-result{font-size:var(--ui-font-caption, 11px);color:var(--text-faint)}.auto-canvas-world{position:absolute;top:0;left:0;transform-origin:0 0}.auto-canvas-edges{position:absolute;width:1px;height:1px;overflow:visible;color:var(--text-faint);pointer-events:none}.auto-canvas-edges>path{fill:none;stroke:currentColor;stroke-width:1.5}.auto-flow-node{position:absolute;display:grid;grid-template-columns:26px minmax(0,1fr) 16px;grid-template-rows:24px 1fr;column-gap:9px;padding:13px;border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);text-align:left;font:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.auto-flow-node.selected{border-color:var(--accent-ink, var(--accent));outline:1px solid var(--accent-ink, var(--accent))}.auto-flow-icon{display:flex;align-items:center;justify-content:center;color:var(--accent-ink, var(--accent))}.auto-flow-node strong{font-size:var(--ui-font-body);font-weight:600;align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auto-flow-status{align-self:center;color:var(--text-faint)}.auto-flow-subtitle{grid-column:2 / -1;font-size:var(--ui-font-meta);line-height:1.5;color:var(--text-light);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.auto-field-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.auto-field-heading label{margin-bottom:0}.auto-node .auto-field-heading select{width:auto;max-width:60%;padding:3px 5px;font-size:var(--ui-font-caption)}.auto-validation{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-size:var(--ui-font-meta)}.auto-validation strong{font-weight:500}.auto-validation button,.auto-save-status button{border:0;background:none;color:var(--accent-ink, var(--accent));text-align:left;font:inherit;cursor:pointer;padding:0}.auto-ready{display:flex;align-items:center;gap:7px;color:var(--ok);font-size:var(--ui-font-meta)}.auto-executions{display:flex;flex-direction:column;gap:8px}.auto-execution{border-bottom:var(--border-width) solid var(--border);padding-bottom:8px;font-size:var(--ui-font-meta)}.auto-execution summary{display:flex;flex-wrap:wrap;align-items:center;gap:7px;cursor:pointer;padding:8px 0}.auto-execution summary:before{content:"›";color:var(--text-faint)}.auto-execution[open] summary:before{transform:rotate(90deg)}.auto-execution-status{margin-left:auto;color:var(--text-light)}.auto-execution ol{list-style:none;padding:4px 0 0 14px;margin:0}.auto-execution li{display:flex;gap:8px;align-items:flex-start;padding:8px 0}.auto-execution li>svg{flex-shrink:0;margin-top:2px;color:var(--text-faint)}.auto-execution strong{font-weight:500}.auto-execution p{margin:5px 0;line-height:1.6;color:var(--text-light);white-space:pre-wrap;overflow-wrap:anywhere}.auto-execution .auto-execution-error{color:var(--warning)}.auto-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--text-faint)}.auto-dot.on{background:var(--ok)}.auto-detail{container-type:inline-size}.auto-detail-owner{height:100%;min-height:0}.auto-card .auto-card-head{flex-wrap:wrap;gap:8px}.auto-detail-flow{max-width:900px;margin:28px auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:var(--ui-font-body);color:var(--text-light)}.auto-detail-flow>span{display:inline-flex;align-items:center;gap:6px}.auto-detail>.auto-hint{max-width:900px;margin-inline:auto}.auto-properties{margin-top:18px;font-size:var(--ui-font-meta)}.auto-properties summary{cursor:pointer;color:var(--text-light);padding-block:6px}.auto-properties .auto-facts{flex-direction:column;align-items:flex-start;padding-block:10px;gap:10px}.auto-status-label{color:var(--text-faint);font-size:var(--ui-font-caption)}.auto-status-label.on{color:var(--ok)}.auto-home{max-width:620px;margin:36px auto;font-size:var(--ui-font-body)}.auto-home-kicker{display:flex;gap:8px;align-items:center;color:var(--text-faint);font-size:var(--ui-font-meta)}.auto-home h1{font-size:var(--ui-font-title);font-weight:600;margin:14px 0 8px}.auto-home-lead{color:var(--text-light);line-height:1.6}.auto-home-help{margin:16px 0 26px;color:var(--text-light);font-size:var(--ui-font-meta)}.auto-home-help summary{cursor:pointer}.auto-guide{list-style:none;padding:0;line-height:1.6}.auto-guide li{display:flex;gap:10px;margin-top:12px}.auto-guide strong{font-weight:500}.auto-guide p{margin:4px 0;color:var(--text-faint)}.auto-home-section{display:flex;align-items:center;justify-content:space-between;gap:8px}.auto-home h2{font-size:var(--ui-font-body);font-weight:500;margin:0}.auto-starters{margin-top:8px}.auto-starter{display:grid;width:100%;grid-template-columns:20px minmax(0,1fr);gap:4px 12px;padding:14px 8px;text-align:left;color:var(--text);background:transparent;border:0;border-bottom:var(--border-width) solid var(--border);cursor:pointer;font:inherit}.auto-starter>svg{grid-row:span 2;color:var(--text-light)}.auto-starter strong{font-size:var(--ui-font-body);font-weight:500}.auto-starter>span{font-size:var(--ui-font-meta);color:var(--text-faint);line-height:1.5}.auto-starter small{display:none}.auto-starter:hover{background:var(--bg-hover)}.auto-home-note{font-size:var(--ui-font-caption);color:var(--text-faint);margin-top:16px}.auto-editor-detail{padding:0;overflow:hidden}.auto-workflow-builder{height:100%;display:flex;flex-direction:column;min-height:0}.auto-builder-title{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:var(--ui-font-body);border-bottom:var(--border-width) solid var(--border)}.auto-builder-title>span{flex:1}.auto-builder-workspace{display:flex;flex:1;min-height:0}.auto-builder-workspace[hidden],.auto-detail-owner[hidden]{display:none}.auto-canvas-shell{flex:1;min-height:0;min-width:0}.auto-canvas-shell.am-app .auto-canvas{border:0;border-radius:0;overflow:clip}.auto-canvas-shell.am-app .auto-canvas-tools{left:12px;top:12px;bottom:auto;transform:none}.auto-canvas-shell.am-app .auto-canvas-tools button{width:auto;min-width:28px;gap:6px;padding-inline:8px;font-size:var(--ui-font-meta);white-space:nowrap}.auto-extension{display:flex;flex-direction:column;height:100%;min-height:0}.auto-extension-inline{flex:1;overflow:auto}.auto-inline-back{flex-shrink:0;align-self:flex-start;margin:8px}.auto-inspector{flex:1;min-height:0;overflow:auto;padding:16px}.auto-inspector .auto-node{margin:0;padding:0;border:0;background:transparent}.auto-inspector .auto-node[hidden]{display:none}.auto-inspector .auto-node-head{margin-bottom:16px;flex-wrap:wrap;white-space:nowrap}.auto-inspector .field{margin-bottom:14px}.auto-inspector .auto-seg,.auto-inspector .auto-inline,.auto-inspector .auto-guard{flex-wrap:wrap}.auto-inspector .auto-seg button{flex:1 0 72px}.auto-inspector .auto-inline>input{min-width:0;flex:1 1 85px}.auto-checks{display:flex;flex-wrap:wrap;gap:4px 14px}.auto-node label.auto-check{display:flex;align-items:center;gap:7px}.auto-step-tools .icon-btn{padding:5px}.auto-builder-actions.auto-builder-footer{flex-wrap:wrap;flex-shrink:0;margin:0;padding:10px 14px;border-top:var(--border-width) solid var(--border)}.auto-save-status{flex:1;min-width:130px;color:var(--text-light);font-size:var(--ui-font-meta);overflow-wrap:anywhere}.auto-save-status [role=alert]{color:var(--warning)}.auto-builder-embedded{min-height:480px;height:min(680px,75vh)}@container (max-width: 500px){.auto-home{margin-block:16px}.auto-card .auto-card-head{align-items:flex-start}}.auto-runs-loading{padding:4px 0}.auto-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mini-panel-view,.mini-native{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;height:100%}.mini-panel-empty{display:grid;flex:1;place-content:center;padding:20px;font-size:var(--ui-font-body, 13px);color:var(--text-muted)}.mini-native-bar{display:flex;flex:0 0 34px;gap:6px;align-items:center;padding:0 10px}.mini-native-bar select{flex:1;min-width:0;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px;background:var(--bg);color:var(--text-muted);font:inherit;font-size:var(--ui-font-meta, 12px)}.mini-native-bar button{display:grid;place-items:center;width:26px;height:26px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.mini-native-bar button:hover{background:var(--menu-hover);color:var(--text)}.mini-native-bar button:disabled{opacity:.45;cursor:default}.mini-native-error{padding:8px 12px;font-size:var(--ui-font-meta, 12px);color:var(--danger)}.mini-tangu .t2-empty{font-size:var(--ui-font-body, 13px);color:var(--text-muted)}.mini-amadeus .amx-editor{padding-bottom:16px}.mini-amadeus .amx-doc,.mini-amadeus .am-app .page-view{padding-inline:24px}.mini-amadeus .amx-title-input{font-size:18px;margin-top:6px}.mini-todo .amx-todo{padding:8px 12px}.mini-todo .amx-todo-bar{display:none}.rb-btn.rb-restart-update{color:var(--accent-ink, var(--accent));background:var(--accent-dim);min-height:var(--ui-control-h, 32px)}.rb-restart-update-icon{position:relative;display:inline-flex;flex:none}.rb-restart-update-dot{position:absolute;width:5px;height:5px;border-radius:var(--radius-pill);background:currentColor;right:-3px;top:-3px}.rb-restart-update-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:var(--ui-line-body)}.rb-restart-update-copy>span{font-size:var(--ui-font-body)}.rb-restart-update-copy>small{font-size:var(--ui-font-caption);color:var(--text-muted)}.rb-btn.rb-restart-update:disabled{cursor:wait;opacity:.65}.rb-btn.rb-restart-update:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ibx-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm, 6px);cursor:pointer}.ibx-iconbtn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.ibx-iconbtn:disabled{opacity:.4;cursor:default}.ibx-iconbtn .spin{animation:ibx-spin .9s linear infinite}@keyframes ibx-spin{to{transform:rotate(360deg)}}.ibx-ava{width:28px;height:28px;border-radius:var(--radius-sm, 6px);flex-shrink:0;object-fit:cover;margin-top:1px}.ibx-ava-fallback{width:28px;height:28px;border-radius:var(--radius-sm, 6px);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--ui-font-meta, 12px);font-weight:600;color:var(--accent-ink);background:color-mix(in srgb,var(--accent-ink) 14%,transparent);margin-top:1px}.ibx-sender{font-size:var(--ui-font-meta, 12px);font-weight:600;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibx-time{font-size:var(--ui-font-caption, 11px);color:var(--text-faint);flex-shrink:0;display:inline-flex;align-items:center;gap:3px}.ibx-reader{height:100%;overflow-y:auto;background:var(--bg, var(--surface))}.ibx-reader-wrap{max-width:760px;margin:0 auto;padding:28px 32px 60px}.ibx-reader-head{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:18px}.ibx-reader-title{font-size:var(--ui-font-title, 16px);font-weight:600;color:var(--text);margin:0 0 12px;line-height:1.35;overflow-wrap:anywhere}.ibx-reader-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ibx-reader-meta .ibx-sender{flex:none;font-size:var(--ui-font-body, 13px)}.ibx-reader-meta .ibx-time{font-size:var(--ui-font-caption, 11px)}.ibx-reader-actions{margin-left:auto;display:flex;gap:4px;align-items:center}.ibx-reader-body{font-size:var(--ui-font-body, 13px);line-height:1.65;color:var(--text-light, var(--text))}.ibx-reader-body .amx-title-wrap{display:none}.ibx-reader-body .ibx-amadeus .amx-doc.unified-page{padding-top:0}.ibx-reader-body .ibx-amadeus .amx-doc,.ibx-reader-body .ibx-amadeus .page-view{padding-left:0;padding-right:0}.ibx-body-plain{white-space:pre-wrap;overflow-wrap:anywhere}.ibx-cards{display:flex;flex-direction:column;gap:8px;margin-top:16px}.ibx-approval-preview{font-family:var(--font-mono, monospace);font-size:var(--ui-font-meta, 12px);overflow-wrap:anywhere;white-space:pre-wrap;max-height:320px;overflow:auto}.ibx-approval-meta{color:var(--text-muted);font-size:var(--ui-font-meta, 12px);overflow-wrap:anywhere}.ibx-approval-result{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--ui-font-meta, 12px);max-height:160px;overflow:auto;color:var(--text-muted)}.ibx-approval-err{color:var(--danger);font-size:var(--ui-font-meta, 12px)}.ibx-reader-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-faint);font-size:var(--ui-font-body, 13px)}.ibx-reader-empty-title{color:var(--text);font-size:var(--ui-font-heading, 14px);font-weight:600}.ibx-reader-empty-hint{font-size:var(--ui-font-meta, 12px)}.ibx-reader-empty-actions{display:flex;align-items:center;gap:8px;margin-top:2px}.ibx-expire{font-size:var(--ui-font-caption, 11px);color:var(--text-faint)}.ibx-expire.expired{color:var(--danger, #c4554d)}.ibx-attach{margin-top:18px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md, 12px);background:var(--bg-secondary, transparent)}.ibx-attach-title{font-size:var(--ui-font-meta, 12px);font-weight:600;color:var(--text-muted, var(--text-faint));margin-bottom:10px}.ibx-attach-items{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ibx-attach-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);font-size:var(--ui-font-meta, 12px);color:var(--text);background:var(--bg, transparent)}.ibx-claim-btn{padding:6px 18px;border:none;border-radius:var(--radius-sm, 6px);font-size:var(--ui-font-meta, 12px);font-weight:600;cursor:pointer;background:var(--action-fill);color:var(--on-action, #fff)}.ibx-claim-btn:disabled{cursor:default;opacity:.55}.ibx-claim-btn.done{background:var(--bg-secondary, transparent);color:var(--text-faint);border:1px solid var(--border);opacity:1}.ibx-req{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-2px 0 12px;font-size:var(--ui-font-meta, 12px)}.ibx-req-label{color:var(--text-faint);margin-right:2px}.ibx-req-chip{padding:2px 9px;border:1px solid var(--border);border-radius:var(--radius-pill, 999px);color:var(--text-muted, var(--text-faint))}.ibx-req-chip.ok{color:var(--text)}.ibx-req-chip.ok:before{content:"✓ "}.ibx-req-chip.bad{color:var(--danger, #c4554d);border-color:color-mix(in srgb,var(--danger, #c4554d) 45%,transparent)}.ibx-req-chip.bad:before{content:"✗ "}.ibx-fb{margin-top:18px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md, 12px);background:var(--bg-secondary, transparent)}.ibx-fb-head{display:flex;align-items:center;gap:8px;font-size:var(--ui-font-meta, 12px);font-weight:600;color:var(--text-muted, var(--text-faint));margin-bottom:12px}.ibx-fb-event{font-weight:400;color:var(--text-faint)}.ibx-fb-status{margin-left:auto;padding:1px 8px;border:1px solid var(--border);border-radius:var(--radius-pill, 999px);font-weight:500;color:var(--text-muted, var(--text-faint))}.ibx-fb-status.st-resolved,.ibx-fb-status.st-closed{color:var(--text-faint)}.ibx-fb-status.st-in_progress{color:var(--accent-ink, var(--accent));border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.ibx-fb-note{font-size:var(--ui-font-meta, 12px);color:var(--text-muted, var(--text-faint));display:flex;gap:8px;align-items:center}.ibx-fb-msgs{display:flex;flex-direction:column;gap:8px;max-height:48vh;overflow:auto;margin-bottom:12px}.ibx-fb-msg{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md, 12px);background:var(--bg, transparent);max-width:92%;align-self:flex-start}.ibx-fb-msg.me{align-self:flex-end;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.ibx-fb-meta{display:flex;gap:8px;align-items:baseline;font-size:var(--ui-font-caption, 11px);color:var(--text-faint);margin-bottom:4px}.ibx-fb-meta b{color:var(--text);font-weight:600}.ibx-fb-text{font-size:var(--ui-font-body, 13px);line-height:1.6;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.ibx-fb-atts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}.ibx-fb-img{max-height:160px;max-width:100%;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);cursor:zoom-in}.ibx-fb-img.big{max-height:none;cursor:zoom-out}.ibx-fb-file,.ibx-fb-link{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-muted, var(--text));font-size:var(--ui-font-meta, 12px);cursor:pointer}.ibx-fb-file:hover,.ibx-fb-link:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.ibx-fb-composer{display:flex;flex-direction:column;gap:8px}.ibx-fb-input{width:100%;box-sizing:border-box;resize:vertical;min-height:64px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg, transparent);color:var(--text);font:inherit;font-size:var(--ui-font-body, 13px);line-height:1.5}.ibx-fb-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.ibx-fb-chips{display:flex;flex-wrap:wrap;gap:6px}.ibx-fb-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-pill, 999px);font-size:var(--ui-font-caption, 11px);color:var(--text-muted, var(--text))}.ibx-fb-chip button{border:none;background:transparent;color:inherit;cursor:pointer;display:inline-flex;padding:0}.ibx-fb-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ibx-fb-spacer{flex:1}.ibx-fb-err{font-size:var(--ui-font-caption, 11px);color:var(--danger, #c4554d)}.ibx-fb-send{display:inline-flex;align-items:center;gap:5px}.ibx-approval-open{margin-top:18px;display:flex;gap:8px}.cs-editor{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;color:var(--text);background:transparent}.cs-editor-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:9px 14px;font-size:12px;background:var(--overlay-subtle)}.cs-editor-status,.cs-editor-actions,.cs-editor-recovery-actions{display:flex;align-items:center;gap:8px}.cs-editor-status{min-width:0;color:var(--text-muted)}.cs-editor[data-status=conflict] .cs-editor-status,.cs-editor[data-status=error] .cs-editor-status{color:var(--danger)}.cs-editor button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:transparent;font:inherit;font-size:12px;cursor:pointer}.cs-editor button:hover,.cs-editor button[aria-pressed=true]{background:var(--overlay-medium)}.cs-editor button:focus-visible,.cs-editor summary:focus-visible{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:2px}.cs-editor-actions{margin-left:auto;flex-wrap:wrap}.cs-editor-notice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 14px;background:var(--warning-light);color:var(--text);font-size:12px;line-height:1.6}.cs-editor-notice>span{flex:1;min-width:min(200px,100%)}.cs-editor-notice>button{flex-shrink:0}.cs-editor-recovery{padding:9px 14px;max-height:40%;overflow:auto;flex-shrink:0;font-size:12px;background:var(--overlay-subtle)}.cs-editor-recovery>summary{cursor:pointer;color:var(--accent-ink)}.cs-editor-recovery p{margin:9px 0;color:var(--text-muted);line-height:1.6}.cs-editor-recovery-actions{margin-block:8px;flex-wrap:wrap}.cs-editor-recovery textarea{width:100%;height:120px;resize:vertical;padding:10px;font-family:var(--font-mono);font-size:11px;color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.cs-editor-code{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden}.cs-editor-code>.wsfile-cm{height:100%}.cs-editor-placeholder{display:grid;place-items:center;height:100%;padding:24px;color:var(--text-muted);font-size:13px;text-align:center}.cs-editor-footer{display:flex;align-items:center;gap:14px;min-height:28px;padding:5px 14px;color:var(--text-faint);font-size:11px}.cs-editor-footer>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-editor-spin{animation:cs-editor-spin 1s linear infinite}@keyframes cs-editor-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.cs-editor-spin{animation:none}}.csu-launch-root{display:flex;flex:1;min-height:0;flex-direction:column;overflow:auto}.csx.csu{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;height:100%;color:var(--text);position:relative;overflow:hidden;container-type:inline-size;container-name:studio}.csu button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 9px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--ui-font-meta, 12px);color:var(--text-light);background:transparent;cursor:pointer;white-space:nowrap;transition:background .16s ease,color .16s ease,transform .16s var(--ease-out)}.csu button svg{flex-shrink:0}.csu button:hover:not(:disabled){color:var(--text);background:var(--overlay-light)}.csu button:disabled{opacity:.42;cursor:default}.csu button:focus-visible,.csu input:focus-visible,.csu textarea:focus-visible,.csu select:focus-visible{outline:var(--focus-ring, 1px) solid var(--accent-ink);outline-offset:2px}.csu button[aria-pressed=true]{color:var(--accent-ink);background:var(--overlay-medium)}.csu .csu-primary{color:var(--on-action);background:var(--action-fill);border-color:transparent;padding-inline:13px}.csu .csu-primary:hover:not(:disabled){color:var(--on-action);background:var(--action-fill);filter:brightness(.96)}.csu .csu-head{display:grid;grid-template-columns:minmax(80px,1fr) auto minmax(70px,1fr);border-bottom-color:transparent;min-height:60px;padding:12px 16px;gap:14px;flex-shrink:0}.csu .csu-project{font-size:var(--ui-font-body, 13px);font-weight:600;color:var(--text);min-width:0;max-width:100%;padding-left:0;justify-self:start}.csu-project span{overflow:hidden;text-overflow:ellipsis}.csu-modes{display:grid;grid-template-columns:repeat(3,1fr);position:relative;isolation:isolate;padding:3px;background:var(--overlay-light);border-radius:var(--radius-sm)}.csu-modes button{padding:5px 9px}.csu-modes button[aria-pressed=true]{color:var(--text);background:transparent}.csu-head-actions{display:flex;align-items:center;margin-left:auto;gap:2px}.csu-tools{display:flex;align-items:center;gap:3px;padding:4px 12px 8px;flex-shrink:0}.csu-device{display:inline-flex;gap:1px}.csu-tools button{padding:6px}.csu-tools .csu-address{margin-inline:6px;flex:1;min-width:50px;justify-content:space-between;background:var(--overlay-light);padding:7px 10px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--ui-font-caption, 11px)}.csu-address span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csu-status{display:flex;align-items:center;min-width:0;min-height:28px;gap:10px;font-size:var(--ui-font-caption, 11px);color:var(--text-muted);flex-wrap:wrap}.csu-status>span{display:inline-flex;align-items:center;gap:6px}.csu-status .csu-status-running{color:var(--accent-ink)}.csu-status button{font-size:var(--ui-font-caption, 11px);padding:2px 4px}.csu-status .csu-issue-count{color:var(--danger)}.csu-grow{flex:1}.csu-live{display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.csu input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent-ink);margin:0}.csu-workspace{display:flex;flex:1;min-height:0;min-width:0;position:relative;padding:0 12px}.csu-edit-preview{flex:1;display:grid;grid-template-columns:0fr 1fr;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius-md);transition:grid-template-columns .28s var(--ease-out)}.csu-code-pane,.csu-preview-pane{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.csu [hidden]{display:none!important}.csu-code-pane{background:var(--bg-card);border-right:1px solid transparent}.csu[data-mode=split] .csu-code-pane{border-right-color:var(--border)}.csu-filebar{min-height:35px;display:flex;align-items:center;gap:7px;padding:4px 12px;color:var(--text-muted);background:var(--overlay-light)}.csu-filebar select{flex:1;width:0;min-width:0;font-size:var(--ui-font-caption, 11px);font-family:var(--font-mono);background:transparent;color:var(--text);border-color:transparent}.csu-writing{display:flex;align-items:center;gap:6px;padding:7px 12px;color:var(--accent-ink);font-size:var(--ui-font-caption, 11px)}.csu-code-pane>.wsfile-cm,.csu-code-pane .cm-editor{height:100%;min-height:0}.csu-first-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;gap:15px}.csu-first-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:var(--radius-md);background:var(--overlay-light);color:var(--accent-ink)}.csu-first-page h2{font-size:var(--ui-font-display, 20px);font-weight:550;letter-spacing:-.025em;line-height:1.35;margin:0}.csu-first-page p{max-width:360px;font-size:var(--ui-font-body, 13px);line-height:1.8;color:var(--text-muted);margin:0 0 7px}.csp-stage{flex:1;display:flex;min-height:0;min-width:0;overflow:auto;position:relative;background:var(--overlay-light);transition:padding .28s var(--ease-out)}.csp-anchor{display:flex;flex:1;min-height:0;min-width:0}.csu-guest-content{display:flex;flex:1;min-height:0;min-width:0;height:100%;overflow:hidden;border-radius:var(--radius-md)}.csp-viewport{flex:0 0 100%;width:100%;min-width:0;min-height:100%;margin-inline:auto;display:flex;background:#fff;transition:flex-basis .28s var(--ease-out),width .28s var(--ease-out),border-radius .28s var(--ease-out)}.csp-viewport .csx-frame{flex:1;min-width:0;min-height:0;width:100%;height:100%}.csp-stage[data-device=tablet],.csp-stage[data-device=phone]{padding:18px}.csp-stage[data-device=tablet] .csp-viewport{flex:0 0 768px;width:768px;min-height:100%;margin-inline:auto;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--card-shadow)}.csp-stage[data-device=phone] .csp-viewport{flex:0 0 390px;width:390px;min-height:100%;margin-inline:auto;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--card-shadow)}.csp-loading{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:2;padding:7px 12px;border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);box-shadow:var(--card-shadow);display:flex;align-items:center;gap:7px;font-size:var(--ui-font-meta, 12px);white-space:nowrap;pointer-events:none}.csp-inspect-hint{position:absolute;top:8px;left:8px;right:8px;z-index:3;background:var(--bg-card);padding:10px 12px;border-radius:var(--radius-sm);box-shadow:var(--card-shadow);color:var(--accent-ink);font-size:var(--ui-font-meta, 12px);display:flex;gap:8px;pointer-events:none}.csp-failure{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--bg-card);color:var(--text)}.csp-failure code{color:var(--danger);font-size:var(--ui-font-meta, 12px)}.csu-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;flex-shrink:0}.csu-panel-head strong{font-size:var(--ui-font-body, 13px);font-weight:600}.csu-panel-body{flex:1;min-height:0;overflow:auto;padding:12px 20px 20px;display:flex;flex-direction:column;gap:15px;font-size:var(--ui-font-meta, 12px)}.csu-panel-body h3{margin:8px 0 0;font-size:var(--ui-font-body, 13px)}.csu-hint{display:flex;gap:6px;margin:0;line-height:1.7;font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.csu-field{display:flex;flex-direction:column;gap:7px;font-size:var(--ui-font-meta, 12px);color:var(--text-light)}.csu-field textarea,.csu-field input,.csu-field select,.csu-version-create input,.csu-selection input{width:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);padding:9px 10px;font:inherit;line-height:1.6}.csu-field textarea{resize:vertical;min-height:70px}.csu-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.csu-error{color:var(--danger);font-size:var(--ui-font-meta, 12px);padding:10px 14px;margin:0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.csu-error button{margin-left:8px;text-decoration:underline}.csu-version-create{display:flex;flex-direction:column;gap:8px}.csu-version-create>button{align-self:flex-start}.csu-versions{display:flex;flex-direction:column;gap:4px}.csu-version{display:flex;align-items:flex-start;gap:9px;padding:12px 0}.csu-version>svg{margin-top:3px;color:var(--text-muted);flex-shrink:0}.csu-version>div{flex:1;min-width:0}.csu-version strong{display:block;font-size:var(--ui-font-meta, 12px);font-weight:550;overflow-wrap:anywhere}.csu-version small{display:block;margin-top:5px;color:var(--text-muted);line-height:1.6;font-size:var(--ui-font-caption, 11px)}.csu-restore-confirm{margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.csu-restore-confirm p{font-size:var(--ui-font-meta, 12px);line-height:1.6;margin:0 0 8px}.csu-check-list{display:flex;flex-direction:column;gap:18px;padding:10px 0}.csu-check-list label{display:flex;align-items:flex-start;gap:9px;font-size:var(--ui-font-meta, 12px);line-height:1.6;cursor:pointer}.csu-check-list input{flex-shrink:0;margin-top:3px}.csu-issue{display:flex;gap:8px;padding:12px;background:var(--overlay-light);border-radius:var(--radius-sm);color:var(--danger)}.csu-issue>svg{margin-top:2px;flex-shrink:0}.csu-issue>div{min-width:0}.csu-issue pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--ui-font-caption, 11px);line-height:1.65}.csu-issue small{display:block;margin-top:7px;color:var(--text-muted);overflow-wrap:anywhere;font-size:var(--ui-font-caption, 11px)}.csu-issue-evidence,.csu-issue-request{display:flex;flex-direction:column;gap:12px;min-width:0}.csu-selection{flex-shrink:0;padding:12px 16px;background:var(--overlay-light);border-top:1px solid transparent;display:flex;flex-direction:column;gap:8px}.csu-selection-head{display:flex;align-items:center;gap:8px;font-size:var(--ui-font-meta, 12px)}.csu-selection-head>svg{color:var(--accent-ink)}.csu-selection-head strong{white-space:nowrap}.csu-selection-head code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.csu-selection p{font-size:var(--ui-font-meta, 12px);color:var(--text-muted);margin:0;max-height:38px;overflow:hidden}.csu-selection .csu-actions{flex-wrap:nowrap}.csu-selection input{flex:1;font-size:var(--ui-font-meta, 12px)}.csu[data-mode=split] .csu-edit-preview{grid-template-columns:1fr 1fr}.csu[data-mode=code] .csu-edit-preview{grid-template-columns:1fr 0fr}.csu-code-pane,.csu-preview-pane{transition:opacity .22s ease,visibility 0s linear}.csu-code-pane[aria-hidden=true],.csu-preview-pane[aria-hidden=true]{opacity:0;visibility:hidden;transition:opacity .22s ease,visibility 0s linear .28s}.csu-modes:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);z-index:-1;border-radius:calc(var(--radius-sm) - 2px);background:var(--bg-card);box-shadow:var(--btn-shadow);transform:translate(0);transition:transform .26s var(--ease-out)}.csu[data-mode=code] .csu-modes:before{transform:translate(100%)}.csu[data-mode=split] .csu-modes:before{transform:translate(200%)}.csu button:active:not(:disabled){transform:translateY(1px)}.csu-footer{display:flex;flex-direction:column;flex-shrink:0;gap:2px;padding:6px 16px 8px}.csu-tool-nav{display:flex;gap:3px;align-items:center;min-height:32px}.csu-tool-nav button{font-size:var(--ui-font-caption, 11px);padding:6px 8px}.csu-tool-divider{height:14px;width:1px;background:var(--border);margin-inline:5px}.csu-status .csu-issue-count{background:color-mix(in srgb,var(--danger) 9%,transparent);border-radius:var(--radius-sm)}.csu-tool-view{display:flex;flex:1;flex-direction:column;width:100%;height:100%;min-height:0;min-width:0;color:var(--text);container-type:inline-size;container-name:studio-tool}.csu-tool-slot{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.csu-embedded-tool{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;min-height:0;background:var(--bg-card);animation:csu-content-enter .24s var(--ease-out)}.csu-embedded-tool-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:var(--ui-font-body, 13px)}.csu-embedded-tool-body{display:flex;flex:1;min-height:0;min-width:0}.csu-embedded-tool .csu-tool-placement>div{display:none}.csu-tool-placement{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:8px 16px 2px;color:var(--text-muted)}.csu-tool-placement>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-font-caption, 11px)}.csu-tool-placement>div{display:flex;gap:1px}.csu-tool-placement button{padding:5px}.csu-tool-view .csu-panel-body{scrollbar-gutter:stable}.csu-tool-view .csu-actions{position:sticky;bottom:-20px;margin-top:auto;margin-inline:-4px;padding:12px 4px;background:var(--bg-card)}.csu-reveal{display:grid;grid-template-rows:0fr;flex-shrink:0;opacity:0;visibility:hidden;transition:grid-template-rows .26s var(--ease-out),opacity .2s ease,visibility 0s linear .26s}.csu-reveal[data-open=true]{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}.csu-reveal-body{min-height:0;overflow:hidden}.csu-selection{border-color:transparent;border-radius:var(--radius-md);margin:10px 12px 2px}.csu-first-page{animation:csu-content-enter .3s var(--ease-out) both}.csu-tool-view .csu-panel-body{animation:csu-content-enter .24s var(--ease-out) both}.csp-inspect-hint,.csp-loading{animation:csu-feedback-enter .18s var(--ease-out) both}@keyframes csu-content-enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes csu-feedback-enter{0%{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}@container studio (min-width: 1100px){.csu-footer{flex-direction:row;align-items:center;gap:18px}.csu-status{flex:1}}@container studio (max-width: 650px){.csu .csu-head{gap:8px;padding-inline:10px;grid-template-columns:minmax(50px,1fr) auto auto}.csu-modes button{padding:6px 8px}.csu-modes button>span,.csu-inspect>span{display:none}.csu-tools{padding-inline:8px}.csu-workspace{padding-inline:6px}.csu-footer{padding-inline:10px}.csu-status .csu-changed{display:none}}@container studio (max-width: 360px){.csu-tool-nav button>span{display:none}.csu-head-actions .csu-primary>span{display:none}.csu-status{gap:6px;font-size:var(--ui-font-caption, 11px)}}@container studio-tool (min-width: 620px){.csu-issues-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:24px;overflow:hidden}.csu-issue-evidence,.csu-issue-request{min-height:0;overflow:auto}.csu-issue-request .csu-field{flex:1}.csu-issue-request textarea{flex:1;resize:none;min-height:70px}.csu-issue-request .csu-actions{bottom:0;margin:0;padding-block:6px 0}.csu-tool-view[data-tool=brief] .csu-panel-body{display:grid;grid-template-columns:1.35fr 1fr 1fr;align-content:start}.csu-tool-view[data-tool=brief] .csu-actions,.csu-tool-view[data-tool=brief] .csu-hint,.csu-tool-view[data-tool=brief] .csu-error{grid-column:1 / -1}.csu-version-create{flex-direction:row;align-items:center}.csu-version-create input{max-width:360px}.csu-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}}@media(prefers-reduced-motion:reduce){.csu *,.csu *:before,.csu *:after{animation:none!important;transition-duration:0s!important;transition-delay:0s!important}}.csu-git-install{display:flex;flex-direction:column;gap:10px}.csu-git-cmd{align-self:flex-start;max-width:100%;padding:7px 10px;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-family:var(--font-mono);font-size:var(--ui-font-caption, 11px);line-height:1.5;overflow-wrap:anywhere}.csu-git-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.csu-version-auto{margin-left:8px;padding:1px 6px;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted);font-size:var(--ui-font-caption, 11px);letter-spacing:.04em}.csu-legacy>summary{cursor:pointer;padding:6px 0;font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.csu-history-foot{font-size:var(--ui-font-caption, 11px);opacity:.85}.csu-sandbox{gap:14px}.csu-sandbox-head{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.csu-sandbox-status{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0;font-size:var(--ui-font-meta, 12px);line-height:1.7}.csu-sandbox-status strong{flex-shrink:0;font-size:var(--ui-font-meta, 12px);font-weight:600}.csu-sandbox-status span{color:var(--text-muted)}.csu-sandbox[data-sandbox-state=active] .csu-sandbox-status strong{color:var(--green)}.csu-sandbox[data-sandbox-state=failed] .csu-sandbox-status strong,.csu-sandbox[data-sandbox-state=blocked] .csu-sandbox-status strong{color:var(--danger)}.csu-sandbox-trust{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--overlay-light);color:var(--text-light);font-size:var(--ui-font-caption, 11px);line-height:1.7}.csu-sandbox-trust>svg{flex-shrink:0;margin-top:2px;color:var(--danger)}.csu-sandbox-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.csu-sandbox-evidence{display:flex;flex:1;flex-direction:column;gap:12px;min-height:0}.csu-sandbox-block{display:flex;flex-direction:column;gap:6px;min-height:0}.csu-sandbox-block h3{margin:0;font-size:var(--ui-font-caption, 11px);font-weight:600;color:var(--text-muted)}.csu-sandbox-block pre{margin:0;max-height:180px;overflow:auto;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--danger);font-family:var(--font-mono);font-size:var(--ui-font-caption, 11px);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.csu-sandbox-block ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.csu-sandbox-block ul li{display:flex;align-items:flex-start;gap:7px;font-size:var(--ui-font-caption, 11px);line-height:1.6;color:var(--danger);overflow-wrap:anywhere}.csu-sandbox-block ul li>svg{flex-shrink:0;margin-top:2px}.csu-sandbox-block ul li code{flex-shrink:0;font-family:var(--font-mono)}.csu-sandbox-logs{flex:1}.csu-sandbox-logs ol{flex:1;min-height:72px;max-height:320px;overflow:auto;margin:0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-input);list-style:none;font-family:var(--font-mono);font-size:var(--ui-font-caption, 11px);line-height:1.6}.csu-sandbox-logs li{display:flex;gap:8px;padding:2px 0;overflow-wrap:anywhere}.csu-sandbox-logs li>span:first-child{flex-shrink:0;width:38px;color:var(--text-ghost);text-transform:uppercase;font-size:var(--ui-font-caption, 11px);letter-spacing:.04em;padding-top:2px}.csu-sandbox-logs li>span:last-child{flex:1;min-width:0;white-space:pre-wrap}.csu-sandbox-logs li[data-level=error]>span:last-child{color:var(--danger)}.csu-sandbox-logs li[data-level=warn]>span:last-child{color:color-mix(in srgb,var(--danger) 55%,var(--text-muted))}.csu-sandbox-logs li[data-level=debug]>span:last-child{color:var(--text-muted)}.csu-sandbox-send{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex-shrink:0}.csu-sandbox-send input{flex:1;min-width:140px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);padding:8px 10px;font:inherit;font-size:var(--ui-font-meta, 12px)}.csu-sandbox-evidence{flex:none}.csu-sandbox-evidence>.csu-sandbox-block{flex-shrink:0}.csu-sandbox-logs,.csu-sandbox-logs ol{flex:none}@container studio-tool (min-width: 620px){.csu-sandbox{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;column-gap:24px;row-gap:10px;overflow:hidden}.csu-sandbox-head{grid-column:1;grid-row:1 / span 2;min-height:0;overflow:auto}.csu-sandbox-head{gap:7px}.csu-sandbox-head .csu-sandbox-trust{padding:7px 11px;line-height:1.6}.csu-tool-view[data-tool=sandbox] .csu-panel-body{padding-top:4px;padding-bottom:8px}.csu-sandbox-head .csu-sandbox-status{line-height:1.45;row-gap:0}.csu-sandbox-evidence{grid-column:2;grid-row:1;min-height:0;overflow:auto}.csu-sandbox-send{grid-column:2;grid-row:2}}